<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>215839</bug_id>
          
          <creation_ts>2020-08-25 23:15:44 -0700</creation_ts>
          <short_desc>[JSC] Implement Intl.DateTimeFormat dayPeriod</short_desc>
          <delta_ts>2020-08-29 01:33:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213425</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1682920</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-25 23:15:44 -0700</bug_when>
    <thetext>https://github.com/tc39/ecma402/pull/346</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682922</commentid>
    <comment_count>1</comment_count>
      <attachid>407275</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-25 23:19:11 -0700</bug_when>
    <thetext>Created attachment 407275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683163</commentid>
    <comment_count>2</comment_count>
      <attachid>407275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-26 15:15:09 -0700</bug_when>
    <thetext>Comment on attachment 407275
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=407275&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        and it shows how &quot;AM&quot; etc. is represented.

&quot;it shows&quot; -&gt; &quot;it determines&quot;

&gt; Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp:633
&gt; +            skeletonBuilder.appendLiteral(&quot;B&quot;);

Slightly more efficient to append &apos;B&apos; than &quot;B&quot;.

Also, we should get rid of StringBuilder::appendLiteral. For one thing, the syntax for that optimization should just be append(&quot;this is a literal&quot;_s). But for another, the &quot;literal&quot; optimization only affects cases where it’s the first thing appended to a string builder. Otherwise, it’s no different from append(&quot;this is a literal&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683882</commentid>
    <comment_count>3</comment_count>
      <attachid>407275</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-28 23:22:15 -0700</bug_when>
    <thetext>Comment on attachment 407275
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=407275&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp:633
&gt;&gt; +            skeletonBuilder.appendLiteral(&quot;B&quot;);
&gt; 
&gt; Slightly more efficient to append &apos;B&apos; than &quot;B&quot;.
&gt; 
&gt; Also, we should get rid of StringBuilder::appendLiteral. For one thing, the syntax for that optimization should just be append(&quot;this is a literal&quot;_s). But for another, the &quot;literal&quot; optimization only affects cases where it’s the first thing appended to a string builder. Otherwise, it’s no different from append(&quot;this is a literal&quot;).

Changed to `append(&apos;B&apos;)`. For now, using appendLiteral, but I agree. append(&quot;...&quot;) would be the same because `strlen()` will be constant-folded anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683884</commentid>
    <comment_count>4</comment_count>
      <attachid>407275</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-28 23:42:25 -0700</bug_when>
    <thetext>Comment on attachment 407275
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=407275&amp;action=review

&gt;&gt; Source/JavaScriptCore/ChangeLog:9
&gt;&gt; +        and it shows how &quot;AM&quot; etc. is represented.
&gt; 
&gt; &quot;it shows&quot; -&gt; &quot;it determines&quot;

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683885</commentid>
    <comment_count>5</comment_count>
      <attachid>407532</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-28 23:42:37 -0700</bug_when>
    <thetext>Created attachment 407532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683886</commentid>
    <comment_count>6</comment_count>
      <attachid>407533</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-28 23:43:44 -0700</bug_when>
    <thetext>Created attachment 407533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683892</commentid>
    <comment_count>7</comment_count>
      <attachid>407533</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-08-29 00:01:45 -0700</bug_when>
    <thetext>Comment on attachment 407533
Patch

r=me, though the flag intrinsic makes me super sad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683899</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-08-29 01:32:50 -0700</bug_when>
    <thetext>Committed r266323: &lt;https://trac.webkit.org/changeset/266323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683900</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-29 01:33:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/67985176&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407275</attachid>
            <date>2020-08-25 23:19:11 -0700</date>
            <delta_ts>2020-08-28 23:42:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215839-20200825231910.patch</filename>
            <type>text/plain</type>
            <size>14865</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
M2FiZTlhMzhjZGJkZDM4MjFkMWM4OTM4ZjE3NTUzMWY3Y2Q5OWJhLi4zZDU5NjY2YjlkOWZlMmM1
YzMzZTcxMWI2ZjA3NDk3YjE5MTIwZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMC0wOC0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBJbnRsLkRhdGVUaW1lRm9ybWF0IGRheVBlcmlv
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1ODM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbXBsZW1lbnRzIEludGwuRGF0ZVRpbWVGb3JtYXQgZGF5UGVyaW9kIG9wdGlvbi4gV2Ug
Y2FuIHVzZSAibmFycm93IiwgInNob3J0Iiwgb3IgImxvbmciIGZvciBkYXlQZXJpb2QsCisgICAg
ICAgIGFuZCBpdCBzaG93cyBob3cgIkFNIiBldGMuIGlzIHJlcHJlc2VudGVkLgorCisgICAgICAg
ICogYnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qczoKKyAgICAgICAgKHRvTG9jYWxlU3RyaW5nLnRv
RGF0ZVRpbWVPcHRpb25zQW55QWxsKToKKyAgICAgICAgKHRvTG9jYWxlU3RyaW5nKToKKyAgICAg
ICAgKHRvTG9jYWxlVGltZVN0cmluZy50b0RhdGVUaW1lT3B0aW9uc1RpbWVUaW1lKToKKyAgICAg
ICAgKHRvTG9jYWxlVGltZVN0cmluZyk6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVJbnRy
aW5zaWNSZWdpc3RyeS5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlSW50cmluc2ljUmVnaXN0
cnk6OkJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkpOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVj
b2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmg6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwOgorICAgICAg
ICAoSlNDOjp0b0RhdGVUaW1lT3B0aW9uc0FueURhdGUpOgorICAgICAgICAoSlNDOjpJbnRsRGF0
ZVRpbWVGb3JtYXQ6OnNldEZvcm1hdHNGcm9tUGF0dGVybik6CisgICAgICAgIChKU0M6OkludGxE
YXRlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KToKKyAgICAgICAgKEpTQzo6
SW50bERhdGVUaW1lRm9ybWF0OjpkYXlQZXJpb2RTdHJpbmcpOgorICAgICAgICAoSlNDOjpJbnRs
RGF0ZVRpbWVGb3JtYXQ6OnJlc29sdmVkT3B0aW9ucyBjb25zdCk6CisgICAgICAgICogcnVudGlt
ZS9JbnRsRGF0ZVRpbWVGb3JtYXQuaDoKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnNMaXN0Lmg6
CisKIDIwMjAtMDgtMjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGJyZWFrcG9pbnQgY29uZGl0aW9uIHNob3VsZCBiZSBldmFsdWF0
ZWQgYmVmb3JlIHRoZSBpZ25vcmUgY291bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9EYXRlUHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0RhdGVQcm90b3R5cGUuanMKaW5kZXggNDY4Zjg2Mzk0ZTYxYmFkMWU0YmI4MmYzODlm
YjgwYmE3MDIxMzQ4Zi4uNmNkZTc2ZTc2MWY2Y2EzNDMzMmQzMjMzNDFlN2Y2OGNkY2Y1MjZiNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0RhdGVQcm90b3R5cGUu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0RhdGVQcm90b3R5cGUuanMK
QEAgLTQ2LDYgKzQ2LDcgQEAgZWxzZSBpZiAob3B0cyA9PT0gbnVsbCkKICAgICAgICAgICAgIG9w
dGlvbnMueWVhciA9PT0gQHVuZGVmaW5lZCAmJgogICAgICAgICAgICAgb3B0aW9ucy5tb250aCA9
PT0gQHVuZGVmaW5lZCAmJgogICAgICAgICAgICAgb3B0aW9ucy5kYXkgPT09IEB1bmRlZmluZWQg
JiYKKyAgICAgICAgICAgICghQHVzZUludGxEYXRlVGltZUZvcm1hdERheVBlcmlvZCB8fCBvcHRp
b25zLmRheVBlcmlvZCA9PT0gQHVuZGVmaW5lZCkgJiYKICAgICAgICAgICAgIG9wdGlvbnMuaG91
ciA9PT0gQHVuZGVmaW5lZCAmJgogICAgICAgICAgICAgb3B0aW9ucy5taW51dGUgPT09IEB1bmRl
ZmluZWQgJiYKICAgICAgICAgICAgIG9wdGlvbnMuc2Vjb25kID09PSBAdW5kZWZpbmVkCkBAIC0x
NjEsNiArMTYyLDcgQEAgZWxzZSBpZiAob3B0cyA9PT0gbnVsbCkKIAogICAgICAgICAvLyBDaGVj
ayBvcmlnaW5hbCBpbnN0ZWFkIG9mIGRlc2NlbmRhbnQgdG8gcmVkdWNlIGxvb2t1cHMgdXAgdGhl
IHByb3RvdHlwZSBjaGFpbi4KICAgICAgICAgdmFyIG5lZWRzRGVmYXVsdHMgPSAhb3B0aW9ucyB8
fCAoCisgICAgICAgICAgICAoIUB1c2VJbnRsRGF0ZVRpbWVGb3JtYXREYXlQZXJpb2QgfHwgb3B0
aW9ucy5kYXlQZXJpb2QgPT09IEB1bmRlZmluZWQpICYmCiAgICAgICAgICAgICBvcHRpb25zLmhv
dXIgPT09IEB1bmRlZmluZWQgJiYKICAgICAgICAgICAgIG9wdGlvbnMubWludXRlID09PSBAdW5k
ZWZpbmVkICYmCiAgICAgICAgICAgICBvcHRpb25zLnNlY29uZCA9PT0gQHVuZGVmaW5lZApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2lj
UmVnaXN0cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50
cmluc2ljUmVnaXN0cnkuY3BwCmluZGV4IDMwYTJkNTdiNTY5ZWNlMjIyYjFiNjU2N2E4NTk2YzNj
NTk4N2ZhZGMuLjVjYTM2NDlhN2MxZmM0Nzc1Nzk5NmYzYzMyMjAyOGNmNDVlMDVjMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1Jl
Z2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJ
bnRyaW5zaWNSZWdpc3RyeS5jcHAKQEAgLTExMSw2ICsxMTEsNyBAQCBCeXRlY29kZUludHJpbnNp
Y1JlZ2lzdHJ5OjpCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5KFZNJiB2bSkKICAgICBtX0FzeW5j
R2VuZXJhdG9yU3VzcGVuZFJlYXNvbllpZWxkLnNldChtX3ZtLCBqc051bWJlcihzdGF0aWNfY2Fz
dDxpbnQzMl90PihKU0FzeW5jR2VuZXJhdG9yOjpBc3luY0dlbmVyYXRvclN1c3BlbmRSZWFzb246
OllpZWxkKSkpOwogICAgIG1fQXN5bmNHZW5lcmF0b3JTdXNwZW5kUmVhc29uQXdhaXQuc2V0KG1f
dm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXN5bmNHZW5lcmF0b3I6OkFzeW5j
R2VuZXJhdG9yU3VzcGVuZFJlYXNvbjo6QXdhaXQpKSk7CiAgICAgbV9Bc3luY0dlbmVyYXRvclN1
c3BlbmRSZWFzb25Ob25lLnNldChtX3ZtLCBqc051bWJlcihzdGF0aWNfY2FzdDxpbnQzMl90PihK
U0FzeW5jR2VuZXJhdG9yOjpBc3luY0dlbmVyYXRvclN1c3BlbmRSZWFzb246Ok5vbmUpKSk7Cisg
ICAgbV91c2VJbnRsRGF0ZVRpbWVGb3JtYXREYXlQZXJpb2Quc2V0KG1fdm0sIGpzQm9vbGVhbihP
cHRpb25zOjp1c2VJbnRsRGF0ZVRpbWVGb3JtYXREYXlQZXJpb2QoKSkpOwogfQogCiBPcHRpb25h
bDxCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5OjpFbnRyeT4gQnl0ZWNvZGVJbnRyaW5zaWNSZWdp
c3RyeTo6bG9va3VwKGNvbnN0IElkZW50aWZpZXImIGlkZW50KSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnku
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lz
dHJ5LmgKaW5kZXggNzE5MTE4ZDM0NjU4MjE0ZGQxNDMxNjMwNWFjOTA0NzBjZTljMDJkYS4uOTg1
NjdlMDE4ZGJiNmE2ZDhkNDIxZjRkNWFmNjUxZDA0ZDE3MTFiZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3Ry
eS5oCkBAIC0xNTEsNiArMTUxLDcgQEAgZW51bSBjbGFzcyBMaW5rVGltZUNvbnN0YW50IDogaW50
MzJfdDsKICAgICBtYWNybyhBc3luY0dlbmVyYXRvclN1c3BlbmRSZWFzb25ZaWVsZCkgXAogICAg
IG1hY3JvKEFzeW5jR2VuZXJhdG9yU3VzcGVuZFJlYXNvbkF3YWl0KSBcCiAgICAgbWFjcm8oQXN5
bmNHZW5lcmF0b3JTdXNwZW5kUmVhc29uTm9uZSkgXAorICAgIG1hY3JvKHVzZUludGxEYXRlVGlt
ZUZvcm1hdERheVBlcmlvZCkgXAogCiAjZGVmaW5lIEpTQ19DT01NT05fQllURUNPREVfSU5UUklO
U0lDX0NPTlNUQU5UU19DVVNUT01fRUFDSF9OQU1FKG1hY3JvKSBcCiAgICAgbWFjcm8oc2VudGlu
ZWxNYXBCdWNrZXQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oCmluZGV4IDg2YWNhMGJhMjcwNWVjNTc3MmZmYzcxZTNlMzBlOTVlOGVl
ZWI0NjkuLmY1ZDczMTk0Zjg0YjI4NjI2NWIwMTRhMDA5MmZmYWI3MTI1ZTJmMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAt
OTUsNiArOTUsNyBAQAogICAgIG1hY3JvKGNvdW50ZXJzKSBcCiAgICAgbWFjcm8oZGF0ZVN0eWxl
KSBcCiAgICAgbWFjcm8oZGF5KSBcCisgICAgbWFjcm8oZGF5UGVyaW9kKSBcCiAgICAgbWFjcm8o
ZGVmaW5lUHJvcGVydHkpIFwKICAgICBtYWNybyhkZXJlZikgXAogICAgIG1hY3JvKGRlc2NyaXB0
aW9uKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0
ZVRpbWVGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVU
aW1lRm9ybWF0LmNwcAppbmRleCAxNDk0YWE1N2MzN2NhMjZhNjRmMjM0NTNkZGViOWUwYTVjMjdh
MGE2Li5jYTFlZjEzNTQ4YTY5NDQ4MWZhODdkNThiNDQxZDcyZTYyZTZiMDYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHAK
QEAgLTI0OCwxMSArMjQ4LDE4IEBAIHN0YXRpYyBKU09iamVjdCogdG9EYXRlVGltZU9wdGlvbnNB
bnlEYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUKICAgICAvLyA2LiBJ
ZiByZXF1aXJlZCBpcyAidGltZSIgb3IgImFueSIsCiAgICAgLy8gQWx3YXlzICJhbnkiLgogCi0g
ICAgLy8gYS4gRm9yIGVhY2ggb2YgdGhlIHByb3BlcnR5IG5hbWVzICJob3VyIiwgIm1pbnV0ZSIs
ICJzZWNvbmQiOgorICAgIC8vIGEuIEZvciBlYWNoIG9mIHRoZSBwcm9wZXJ0eSBuYW1lcyAiZGF5
UGVyaW9kIiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCI6CiAgICAgLy8gaS4gTGV0IHByb3Ag
YmUgdGhlIHByb3BlcnR5IG5hbWUuCiAgICAgLy8gaWkuIExldCB2YWx1ZSBiZSBHZXQob3B0aW9u
cywgcHJvcCkuCiAgICAgLy8gaWlpLiBSZXR1cm5JZkFicnVwdCh2YWx1ZSkuCiAgICAgLy8gaXYu
IElmIHZhbHVlIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4gbGV0IG5lZWREZWZhdWx0cyBiZSBmYWxz
ZS4KKyAgICBpZiAoT3B0aW9uczo6dXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kKCkpIHsK
KyAgICAgICAgSlNWYWx1ZSBkYXlQZXJpb2QgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2
bS5wcm9wZXJ0eU5hbWVzLT5kYXlQZXJpb2QpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCBudWxscHRyKTsKKyAgICAgICAgaWYgKCFkYXlQZXJpb2QuaXNVbmRlZmluZWQoKSkK
KyAgICAgICAgICAgIG5lZWREZWZhdWx0cyA9IGZhbHNlOworICAgIH0KKwogICAgIEpTVmFsdWUg
aG91ciA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPmhvdXIp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogICAgIGlmICghaG91
ci5pc1VuZGVmaW5lZCgpKQpAQCAtMzczLDYgKzM4MCwxNiBAQCB2b2lkIEludGxEYXRlVGltZUZv
cm1hdDo6c2V0Rm9ybWF0c0Zyb21QYXR0ZXJuKGNvbnN0IFN0cmluZ1ZpZXcmIHBhdHRlcm4pCiAg
ICAgICAgICAgICBlbHNlIGlmIChjb3VudCA9PSAyKQogICAgICAgICAgICAgICAgIG1fZGF5ID0g
RGF5OjpUd29EaWdpdDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICdhJzoKKyAg
ICAgICAgY2FzZSAnYic6CisgICAgICAgIGNhc2UgJ0InOgorICAgICAgICAgICAgaWYgKGNvdW50
IDw9IDMpCisgICAgICAgICAgICAgICAgbV9kYXlQZXJpb2QgPSBEYXlQZXJpb2Q6OlNob3J0Owor
ICAgICAgICAgICAgZWxzZSBpZiAoY291bnQgPT0gNCkKKyAgICAgICAgICAgICAgICBtX2RheVBl
cmlvZCA9IERheVBlcmlvZDo6TG9uZzsKKyAgICAgICAgICAgIGVsc2UgaWYgKGNvdW50ID09IDUp
CisgICAgICAgICAgICAgICAgbV9kYXlQZXJpb2QgPSBEYXlQZXJpb2Q6Ok5hcnJvdzsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICdoJzoKICAgICAgICAgY2FzZSAnSCc6CiAgICAg
ICAgIGNhc2UgJ2snOgpAQCAtNTc2LDYgKzU5MywxMiBAQCB2b2lkIEludGxEYXRlVGltZUZvcm1h
dDo6aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIERheVBlcmlvZCBkYXlQZXJpb2QgPSBEYXlQ
ZXJpb2Q6Ok5vbmU7CisgICAgaWYgKE9wdGlvbnM6OnVzZUludGxEYXRlVGltZUZvcm1hdERheVBl
cmlvZCgpKSB7CisgICAgICAgIGRheVBlcmlvZCA9IGludGxPcHRpb248RGF5UGVyaW9kPihnbG9i
YWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPmRheVBlcmlvZCwgeyB7ICJuYXJy
b3ciX3MsIERheVBlcmlvZDo6TmFycm93IH0sIHsgInNob3J0Il9zLCBEYXlQZXJpb2Q6OlNob3J0
IH0sIHsgImxvbmciX3MsIERheVBlcmlvZDo6TG9uZyB9IH0sICJkYXlQZXJpb2QgbXVzdCBiZSBc
Im5hcnJvd1wiLCBcInNob3J0XCIsIG9yIFwibG9uZ1wiIl9zLCBEYXlQZXJpb2Q6Ok5vbmUpOwor
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworICAgIH0KKwogICAg
IEhvdXIgaG91ciA9IGludGxPcHRpb248SG91cj4oZ2xvYmFsT2JqZWN0LCBvcHRpb25zLCB2bS5w
cm9wZXJ0eU5hbWVzLT5ob3VyLCB7IHsgIjItZGlnaXQiX3MsIEhvdXI6OlR3b0RpZ2l0IH0sIHsg
Im51bWVyaWMiX3MsIEhvdXI6Ok51bWVyaWMgfSB9LCAiaG91ciBtdXN0IGJlIFwiMi1kaWdpdFwi
IG9yIFwibnVtZXJpY1wiIl9zLCBIb3VyOjpOb25lKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB2b2lkKCkpOwogICAgIHN3aXRjaCAoaG91cikgewpAQCAtNTk5LDYgKzYyMiwyNCBA
QCB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGlm
IChPcHRpb25zOjp1c2VJbnRsRGF0ZVRpbWVGb3JtYXREYXlQZXJpb2QoKSkgeworICAgICAgICAv
LyBkYXlQZXJpb2QgbXVzdCBiZSBzZXQgYWZ0ZXIgc2V0dGluZyBob3VyLgorICAgICAgICAvLyBo
dHRwczovL3VuaWNvZGUtb3JnLmF0bGFzc2lhbi5uZXQvYnJvd3NlL0lDVS0yMDczMQorICAgICAg
ICBzd2l0Y2ggKGRheVBlcmlvZCkgeworICAgICAgICBjYXNlIERheVBlcmlvZDo6TmFycm93Ogor
ICAgICAgICAgICAgc2tlbGV0b25CdWlsZGVyLmFwcGVuZExpdGVyYWwoIkJCQkJCIik7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBEYXlQZXJpb2Q6OlNob3J0OgorICAgICAgICAg
ICAgc2tlbGV0b25CdWlsZGVyLmFwcGVuZExpdGVyYWwoIkIiKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIERheVBlcmlvZDo6TG9uZzoKKyAgICAgICAgICAgIHNrZWxldG9uQnVp
bGRlci5hcHBlbmRMaXRlcmFsKCJCQkJCIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBEYXlQZXJpb2Q6Ok5vbmU6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
IH0KKwogICAgIE1pbnV0ZSBtaW51dGUgPSBpbnRsT3B0aW9uPE1pbnV0ZT4oZ2xvYmFsT2JqZWN0
LCBvcHRpb25zLCB2bS5wcm9wZXJ0eU5hbWVzLT5taW51dGUsIHsgeyAiMi1kaWdpdCJfcywgTWlu
dXRlOjpUd29EaWdpdCB9LCB7ICJudW1lcmljIl9zLCBNaW51dGU6Ok51bWVyaWMgfSB9LCAibWlu
dXRlIG11c3QgYmUgXCIyLWRpZ2l0XCIgb3IgXCJudW1lcmljXCIiX3MsIE1pbnV0ZTo6Tm9uZSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICBzd2l0Y2ggKG1p
bnV0ZSkgewpAQCAtNjU1LDcgKzY5Niw3IEBAIHZvaWQgSW50bERhdGVUaW1lRm9ybWF0Ojppbml0
aWFsaXplRGF0ZVRpbWVGb3JtYXQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwKICAgICAg
ICAgLy8gICAgIGlpLiBMZXQgcCBiZSBvcHQuW1s8cHJvcD5dXS4KICAgICAgICAgLy8gICAgIGlp
aS4gSWYgcCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCiAgICAgICAgIC8vICAgICAgICAgMS4gVGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgotICAgICAgICBpZiAod2Vla2RheSAhPSBXZWVrZGF5
OjpOb25lIHx8IGVyYSAhPSBFcmE6Ok5vbmUgfHwgeWVhciAhPSBZZWFyOjpOb25lIHx8IG1vbnRo
ICE9IE1vbnRoOjpOb25lIHx8IGRheSAhPSBEYXk6Ok5vbmUgfHwgaG91ciAhPSBIb3VyOjpOb25l
IHx8IG1pbnV0ZSAhPSBNaW51dGU6Ok5vbmUgfHwgc2Vjb25kICE9IFNlY29uZDo6Tm9uZSB8fCB0
aW1lWm9uZU5hbWUgIT0gVGltZVpvbmVOYW1lOjpOb25lKSB7CisgICAgICAgIGlmICh3ZWVrZGF5
ICE9IFdlZWtkYXk6Ok5vbmUgfHwgZXJhICE9IEVyYTo6Tm9uZSB8fCB5ZWFyICE9IFllYXI6Ok5v
bmUgfHwgbW9udGggIT0gTW9udGg6Ok5vbmUgfHwgZGF5ICE9IERheTo6Tm9uZSB8fCBkYXlQZXJp
b2QgIT0gRGF5UGVyaW9kOjpOb25lIHx8IGhvdXIgIT0gSG91cjo6Tm9uZSB8fCBtaW51dGUgIT0g
TWludXRlOjpOb25lIHx8IHNlY29uZCAhPSBTZWNvbmQ6Ok5vbmUgfHwgdGltZVpvbmVOYW1lICE9
IFRpbWVab25lTmFtZTo6Tm9uZSkgewogICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFs
T2JqZWN0LCBzY29wZSwgImRhdGVTdHlsZSBhbmQgdGltZVN0eWxlIG1heSBub3QgYmUgdXNlZCB3
aXRoIG90aGVyIERhdGVUaW1lRm9ybWF0IG9wdGlvbnMiX3MpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CkBAIC04NzksNiArOTIwLDIzIEBAIEFTQ0lJTGl0ZXJhbCBJbnRsRGF0ZVRp
bWVGb3JtYXQ6OmRheVN0cmluZyhEYXkgZGF5KQogICAgIHJldHVybiBBU0NJSUxpdGVyYWw6Om51
bGwoKTsKIH0KIAorQVNDSUlMaXRlcmFsIEludGxEYXRlVGltZUZvcm1hdDo6ZGF5UGVyaW9kU3Ry
aW5nKERheVBlcmlvZCBkYXlQZXJpb2QpCit7CisgICAgc3dpdGNoIChkYXlQZXJpb2QpIHsKKyAg
ICBjYXNlIERheVBlcmlvZDo6TmFycm93OgorICAgICAgICByZXR1cm4gIm5hcnJvdyJfczsKKyAg
ICBjYXNlIERheVBlcmlvZDo6U2hvcnQ6CisgICAgICAgIHJldHVybiAic2hvcnQiX3M7CisgICAg
Y2FzZSBEYXlQZXJpb2Q6Okxvbmc6CisgICAgICAgIHJldHVybiAibG9uZyJfczsKKyAgICBjYXNl
IERheVBlcmlvZDo6Tm9uZToKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IHJldHVybiBBU0NJSUxpdGVyYWw6Om51bGwoKTsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbDo6bnVsbCgpOworfQorCiBBU0NJSUxpdGVy
YWwgSW50bERhdGVUaW1lRm9ybWF0Ojpob3VyU3RyaW5nKEhvdXIgaG91cikKIHsKICAgICBzd2l0
Y2ggKGhvdXIpIHsKQEAgLTk4OSw2ICsxMDQ3LDExIEBAIEpTT2JqZWN0KiBJbnRsRGF0ZVRpbWVG
b3JtYXQ6OnJlc29sdmVkT3B0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25z
CiAgICAgaWYgKG1fZGF5ICE9IERheTo6Tm9uZSkKICAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5kYXksIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgZGF5U3Ry
aW5nKG1fZGF5KSkpOwogCisgICAgaWYgKE9wdGlvbnM6OnVzZUludGxEYXRlVGltZUZvcm1hdERh
eVBlcmlvZCgpKSB7CisgICAgICAgIGlmIChtX2RheVBlcmlvZCAhPSBEYXlQZXJpb2Q6Ok5vbmUp
CisgICAgICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmRh
eVBlcmlvZCwganNOb250cml2aWFsU3RyaW5nKHZtLCBkYXlQZXJpb2RTdHJpbmcobV9kYXlQZXJp
b2QpKSk7CisgICAgfQorCiAgICAgaWYgKG1faG91ciAhPSBIb3VyOjpOb25lKQogICAgICAgICBv
cHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmhvdXIsIGpzTm9udHJpdmlh
bFN0cmluZyh2bSwgaG91clN0cmluZyhtX2hvdXIpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKaW5kZXggOTJiMjAwNTEwOTc5
NzAwOTM0ZjdkN2QzZTVjYmViYjAzODk2NDI4Ni4uNTM0MDJkNzNiNTJkNGU4NGI4ZmE1ZDBiN2Rk
M2U1NTQyYjU0Y2FhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bERhdGVUaW1lRm9ybWF0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bERhdGVUaW1lRm9ybWF0LmgKQEAgLTgxLDYgKzgxLDcgQEAgY2xhc3MgSW50bERhdGVUaW1l
Rm9ybWF0IGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIGVudW0gY2xhc3Mg
WWVhciA6IHVpbnQ4X3QgeyBOb25lLCBUd29EaWdpdCwgTnVtZXJpYyB9OwogICAgIGVudW0gY2xh
c3MgTW9udGggOiB1aW50OF90IHsgTm9uZSwgVHdvRGlnaXQsIE51bWVyaWMsIE5hcnJvdywgU2hv
cnQsIExvbmcgfTsKICAgICBlbnVtIGNsYXNzIERheSA6IHVpbnQ4X3QgeyBOb25lLCBUd29EaWdp
dCwgTnVtZXJpYyB9OworICAgIGVudW0gY2xhc3MgRGF5UGVyaW9kIDogdWludDhfdCB7IE5vbmUs
IE5hcnJvdywgU2hvcnQsIExvbmcgfTsKICAgICBlbnVtIGNsYXNzIEhvdXIgOiB1aW50OF90IHsg
Tm9uZSwgVHdvRGlnaXQsIE51bWVyaWMgfTsKICAgICBlbnVtIGNsYXNzIE1pbnV0ZSA6IHVpbnQ4
X3QgeyBOb25lLCBUd29EaWdpdCwgTnVtZXJpYyB9OwogICAgIGVudW0gY2xhc3MgU2Vjb25kIDog
dWludDhfdCB7IE5vbmUsIFR3b0RpZ2l0LCBOdW1lcmljIH07CkBAIC05Myw2ICs5NCw3IEBAIGNs
YXNzIEludGxEYXRlVGltZUZvcm1hdCBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsK
ICAgICBzdGF0aWMgQVNDSUlMaXRlcmFsIHllYXJTdHJpbmcoWWVhcik7CiAgICAgc3RhdGljIEFT
Q0lJTGl0ZXJhbCBtb250aFN0cmluZyhNb250aCk7CiAgICAgc3RhdGljIEFTQ0lJTGl0ZXJhbCBk
YXlTdHJpbmcoRGF5KTsKKyAgICBzdGF0aWMgQVNDSUlMaXRlcmFsIGRheVBlcmlvZFN0cmluZyhE
YXlQZXJpb2QpOwogICAgIHN0YXRpYyBBU0NJSUxpdGVyYWwgaG91clN0cmluZyhIb3VyKTsKICAg
ICBzdGF0aWMgQVNDSUlMaXRlcmFsIG1pbnV0ZVN0cmluZyhNaW51dGUpOwogICAgIHN0YXRpYyBB
U0NJSUxpdGVyYWwgc2Vjb25kU3RyaW5nKFNlY29uZCk7CkBAIC0xMTcsNiArMTE5LDcgQEAgY2xh
c3MgSW50bERhdGVUaW1lRm9ybWF0IGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qgewog
ICAgIFllYXIgbV95ZWFyIHsgWWVhcjo6Tm9uZSB9OwogICAgIE1vbnRoIG1fbW9udGggeyBNb250
aDo6Tm9uZSB9OwogICAgIERheSBtX2RheSB7IERheTo6Tm9uZSB9OworICAgIERheVBlcmlvZCBt
X2RheVBlcmlvZCB7IERheVBlcmlvZDo6Tm9uZSB9OwogICAgIEhvdXIgbV9ob3VyIHsgSG91cjo6
Tm9uZSB9OwogICAgIE1pbnV0ZSBtX21pbnV0ZSB7IE1pbnV0ZTo6Tm9uZSB9OwogICAgIFNlY29u
ZCBtX3NlY29uZCB7IFNlY29uZDo6Tm9uZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09wdGlvbnNMaXN0LmgKaW5kZXggMmM2YjUxODMxNmZjNGYzMzM0YjRmMzQ0M2M3ZTY0Yjcw
ZjU2YzExYS4uMDJiMzM3ZmExNjI4NTgwODkyODAxZjFkYzU5NmE2MDIyYTI5YjUwYyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCkBAIC00OTAsNiArNDkw
LDcgQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2ViQXNzZW1ibHlTdHJlYW1pbmdBcGkgPSBmYWxz
ZTsKICAgICB2KEJvb2wsIHVzZVdlYWtSZWZzLCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBX
ZWFrUmVmIGNvbnN0cnVjdG9yLiIpIFwKICAgICB2KEJvb2wsIHVzZUJpZ0ludCwgdHJ1ZSwgTm9y
bWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFibGUgQmlnSW50IHN1cHBvcnQuIikgXAogICAgIHYo
Qm9vbCwgdXNlSW50bFNlZ21lbnRlciwgZmFsc2UsIE5vcm1hbCwgIkV4cG9zZSB0aGUgSW50bC5T
ZWdtZW50ZXIgY29uc3RydWN0b3IuIikgXAorICAgIHYoQm9vbCwgdXNlSW50bERhdGVUaW1lRm9y
bWF0RGF5UGVyaW9kLCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBJbnRsLkRhdGVUaW1lRm9y
bWF0IGRheVBlcmlvZCBmZWF0dXJlLiIpIFwKICAgICB2KEJvb2wsIHVzZUFycmF5QWxsb2NhdGlv
blByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1h
bCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHBy
b2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpIFwKICAgICB2KEJvb2ws
IGZvcmNlUG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2ls
bCBhbHdheXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikg
XAogICAgIHYoQm9vbCwgZm9yY2VNaW5pVk1Nb2RlLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwg
aXQgd2lsbCBmb3JjZSBtaW5pIFZNIG1vZGUgb24uIikgXApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9D
aGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA4YTRmOWJlMjFjNWFhYjZkMWFhYmQw
MDVkODJmZjczNDBhMmNhMGFlLi4yMzFiYTg2ZTE3MDIxODJlODBlYzA1ZDc4NDRmZTg4MzQ2MjA4
ZjhiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTI1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBh
cHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IEludGwuRGF0ZVRpbWVGb3JtYXQg
ZGF5UGVyaW9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTU4MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHRlc3QyNjIvY29uZmlnLnlhbWw6CisKIDIwMjAtMDgtMjUgIEFsZXhleSBTaHZheWthICA8
c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIEludmFsaWQgZWFybHkgZXJyb3IgZm9y
IG9iamVjdCBsaXRlcmFsIG1ldGhvZCBuYW1lZCAiX19wcm90b19fIgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCmlu
ZGV4IDE0ZjczOTMyNGYyYTI1ODFmMDJlOGJhMDY3ODQyMGQyNzkzOWZlYzkuLjkyNzE1OWQ0NjM5
NDNkZGY5ODY2Mjc0M2QwMTkzMGI3MThjZWU3NmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi9jb25maWcueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKQEAgLTcsNiAr
Nyw3IEBAIGZsYWdzOgogICBjbGFzcy1maWVsZHMtcHVibGljOiB1c2VQdWJsaWNDbGFzc0ZpZWxk
cwogICBjbGFzcy1maWVsZHMtcHJpdmF0ZTogdXNlUHJpdmF0ZUNsYXNzRmllbGRzCiAgIEludGwu
U2VnbWVudGVyOiB1c2VJbnRsU2VnbWVudGVyCisgIEludGwuRGF0ZVRpbWVGb3JtYXQtZGF5UGVy
aW9kOiB1c2VJbnRsRGF0ZVRpbWVGb3JtYXREYXlQZXJpb2QKIHNraXA6CiAgIGZlYXR1cmVzOgog
ICAgIC0gU2hhcmVkQXJyYXlCdWZmZXIKQEAgLTI0LDcgKzI1LDYgQEAgc2tpcDoKICAgICAjIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0NzUKICAgICAtIHJlZ2V4
cC1tYXRjaC1pbmRpY2VzCiAgICAgLSB0b3AtbGV2ZWwtYXdhaXQKLSAgICAtIEludGwuRGF0ZVRp
bWVGb3JtYXQtZGF5UGVyaW9kCiAgICAgLSBJbnRsLkRhdGVUaW1lRm9ybWF0LWZyYWN0aW9uYWxT
ZWNvbmREaWdpdHMKICAgICAtIEludGwuTGlzdEZvcm1hdAogICBwYXRoczoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407532</attachid>
            <date>2020-08-28 23:42:37 -0700</date>
            <delta_ts>2020-08-28 23:43:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215839-20200828234237.patch</filename>
            <type>text/plain</type>
            <size>17761</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
OTBiZjQyOWNlM2FmOWY0MWIxYTJjNTExYTYzZGUzOWMxYjAzMzNkLi5kMjZhMDUxMjM2YjNkNDQ1
NDlhMGM0MWJlYmNiM2M5NTg2MDA4NGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMC0wOC0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBJbnRsLkRhdGVUaW1lRm9ybWF0IGRheVBlcmlv
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1ODM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbXBsZW1lbnRzIEludGwuRGF0ZVRpbWVGb3JtYXQgZGF5UGVyaW9kIG9wdGlvbi4gV2Ug
Y2FuIHVzZSAibmFycm93IiwgInNob3J0Iiwgb3IgImxvbmciIGZvciBkYXlQZXJpb2QsCisgICAg
ICAgIGFuZCBpdCBkZXRlcm1pbmVzIGhvdyAiQU0iIGV0Yy4gaXMgcmVwcmVzZW50ZWQuCisKKyAg
ICAgICAgKiBidWlsdGlucy9EYXRlUHJvdG90eXBlLmpzOgorICAgICAgICAodG9Mb2NhbGVTdHJp
bmcudG9EYXRlVGltZU9wdGlvbnNBbnlBbGwpOgorICAgICAgICAodG9Mb2NhbGVTdHJpbmcpOgor
ICAgICAgICAodG9Mb2NhbGVUaW1lU3RyaW5nLnRvRGF0ZVRpbWVPcHRpb25zVGltZVRpbWUpOgor
ICAgICAgICAodG9Mb2NhbGVUaW1lU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29k
ZUludHJpbnNpY1JlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVJbnRyaW5zaWNS
ZWdpc3RyeTo6Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeSk6CisgICAgICAgICogYnl0ZWNvZGUv
Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHA6Cisg
ICAgICAgIChKU0M6OnRvRGF0ZVRpbWVPcHRpb25zQW55RGF0ZSk6CisgICAgICAgIChKU0M6Oklu
dGxEYXRlVGltZUZvcm1hdDo6c2V0Rm9ybWF0c0Zyb21QYXR0ZXJuKToKKyAgICAgICAgKEpTQzo6
SW50bERhdGVUaW1lRm9ybWF0Ojppbml0aWFsaXplRGF0ZVRpbWVGb3JtYXQpOgorICAgICAgICAo
SlNDOjpJbnRsRGF0ZVRpbWVGb3JtYXQ6OmRheVBlcmlvZFN0cmluZyk6CisgICAgICAgIChKU0M6
OkludGxEYXRlVGltZUZvcm1hdDo6cmVzb2x2ZWRPcHRpb25zIGNvbnN0KToKKyAgICAgICAgKiBy
dW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5oOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9uc0xp
c3QuaDoKKwogMjAyMC0wOC0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgog
CiAgICAgICAgIFtKU0NdIGBuZXcgaW1wb3J0Lm1ldGEoKWAgaXMgYWNjZXB0YWJsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0RhdGVQcm90b3R5cGUuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qcwppbmRleCBhNjJi
MzYyYzNlZjhlOTIyNTg0YjkxN2ZiMDY4NWU1NTAxZjQ4OWY4Li4zMDBmYTJhMWMwYTk3NmExYTJh
YzRiZDlhZGJkMjA3NzM5ZGUwZmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvRGF0ZVByb3RvdHlwZS5qcwpAQCAtNDYsNiArNDYsNyBAQCBlbHNlIGlmIChvcHRzID09
PSBudWxsKQogICAgICAgICAgICAgb3B0aW9ucy55ZWFyID09PSBAdW5kZWZpbmVkICYmCiAgICAg
ICAgICAgICBvcHRpb25zLm1vbnRoID09PSBAdW5kZWZpbmVkICYmCiAgICAgICAgICAgICBvcHRp
b25zLmRheSA9PT0gQHVuZGVmaW5lZCAmJgorICAgICAgICAgICAgKCFAdXNlSW50bERhdGVUaW1l
Rm9ybWF0RGF5UGVyaW9kIHx8IG9wdGlvbnMuZGF5UGVyaW9kID09PSBAdW5kZWZpbmVkKSAmJgog
ICAgICAgICAgICAgb3B0aW9ucy5ob3VyID09PSBAdW5kZWZpbmVkICYmCiAgICAgICAgICAgICBv
cHRpb25zLm1pbnV0ZSA9PT0gQHVuZGVmaW5lZCAmJgogICAgICAgICAgICAgb3B0aW9ucy5zZWNv
bmQgPT09IEB1bmRlZmluZWQgJiYKQEAgLTE2Miw2ICsxNjMsNyBAQCBlbHNlIGlmIChvcHRzID09
PSBudWxsKQogCiAgICAgICAgIC8vIENoZWNrIG9yaWdpbmFsIGluc3RlYWQgb2YgZGVzY2VuZGFu
dCB0byByZWR1Y2UgbG9va3VwcyB1cCB0aGUgcHJvdG90eXBlIGNoYWluLgogICAgICAgICB2YXIg
bmVlZHNEZWZhdWx0cyA9ICFvcHRpb25zIHx8ICgKKyAgICAgICAgICAgICghQHVzZUludGxEYXRl
VGltZUZvcm1hdERheVBlcmlvZCB8fCBvcHRpb25zLmRheVBlcmlvZCA9PT0gQHVuZGVmaW5lZCkg
JiYKICAgICAgICAgICAgIG9wdGlvbnMuaG91ciA9PT0gQHVuZGVmaW5lZCAmJgogICAgICAgICAg
ICAgb3B0aW9ucy5taW51dGUgPT09IEB1bmRlZmluZWQgJiYKICAgICAgICAgICAgIG9wdGlvbnMu
c2Vjb25kID09PSBAdW5kZWZpbmVkICYmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5jcHAKaW5kZXggMzBh
MmQ1N2I1NjllY2UyMjJiMWI2NTY3YTg1OTZjM2M1OTg3ZmFkYy4uNWNhMzY0OWE3YzFmYzQ3NzU3
OTk2ZjNjMzIyMDI4Y2Y0NWUwNWMzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcApAQCAtMTEx
LDYgKzExMSw3IEBAIEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnk6OkJ5dGVjb2RlSW50cmluc2lj
UmVnaXN0cnkoVk0mIHZtKQogICAgIG1fQXN5bmNHZW5lcmF0b3JTdXNwZW5kUmVhc29uWWllbGQu
c2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXN5bmNHZW5lcmF0b3I6
OkFzeW5jR2VuZXJhdG9yU3VzcGVuZFJlYXNvbjo6WWllbGQpKSk7CiAgICAgbV9Bc3luY0dlbmVy
YXRvclN1c3BlbmRSZWFzb25Bd2FpdC5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8aW50
MzJfdD4oSlNBc3luY0dlbmVyYXRvcjo6QXN5bmNHZW5lcmF0b3JTdXNwZW5kUmVhc29uOjpBd2Fp
dCkpKTsKICAgICBtX0FzeW5jR2VuZXJhdG9yU3VzcGVuZFJlYXNvbk5vbmUuc2V0KG1fdm0sIGpz
TnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXN5bmNHZW5lcmF0b3I6OkFzeW5jR2VuZXJh
dG9yU3VzcGVuZFJlYXNvbjo6Tm9uZSkpKTsKKyAgICBtX3VzZUludGxEYXRlVGltZUZvcm1hdERh
eVBlcmlvZC5zZXQobV92bSwganNCb29sZWFuKE9wdGlvbnM6OnVzZUludGxEYXRlVGltZUZvcm1h
dERheVBlcmlvZCgpKSk7CiB9CiAKIE9wdGlvbmFsPEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnk6
OkVudHJ5PiBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5Ojpsb29rdXAoY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAppbmRleCA3MTkxMThkMzQ2NTgyMTRk
ZDE0MzE2MzA1YWM5MDQ3MGNlOWMwMmRhLi45ODU2N2UwMThkYmI2YTZkOGQ0MjFmNGQ1YWY2NTFk
MDRkMTcxMWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBlbnVt
IGNsYXNzIExpbmtUaW1lQ29uc3RhbnQgOiBpbnQzMl90OwogICAgIG1hY3JvKEFzeW5jR2VuZXJh
dG9yU3VzcGVuZFJlYXNvbllpZWxkKSBcCiAgICAgbWFjcm8oQXN5bmNHZW5lcmF0b3JTdXNwZW5k
UmVhc29uQXdhaXQpIFwKICAgICBtYWNybyhBc3luY0dlbmVyYXRvclN1c3BlbmRSZWFzb25Ob25l
KSBcCisgICAgbWFjcm8odXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kKSBcCiAKICNkZWZp
bmUgSlNDX0NPTU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNfQ09OU1RBTlRTX0NVU1RPTV9FQUNIX05B
TUUobWFjcm8pIFwKICAgICBtYWNybyhzZW50aW5lbE1hcEJ1Y2tldCkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggMzY5NjE5
NTAyNDQ1OGQ3YjRkMDRmMzQ5N2E4NWQ2NGMzODkxNmRiYS4uYTk5NTRiMTI4OWRjN2VmOTZhZGU0
YjhkNjdmNjEwMmZjMGM2YWM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC05NSw2ICs5NSw3IEBACiAgICAgbWFjcm8oY291
bnRlcnMpIFwKICAgICBtYWNybyhkYXRlU3R5bGUpIFwKICAgICBtYWNybyhkYXkpIFwKKyAgICBt
YWNybyhkYXlQZXJpb2QpIFwKICAgICBtYWNybyhkZWZpbmVQcm9wZXJ0eSkgXAogICAgIG1hY3Jv
KGRlcmVmKSBcCiAgICAgbWFjcm8oZGVzY3JpcHRpb24pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwCmluZGV4IDYzOGY2Mjk4
MmZjODM4YmQzMTIyODkzZTE4YTcwNWVkNGZiODg3ODIuLjI5NzY0NTllMTVmYmFmMzNlMWFhNWVh
MjU0ODg0ZGI4OGZiZTY5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmNwcApAQCAtMjQ4LDExICsyNDgsMTggQEAgc3RhdGlj
IEpTT2JqZWN0KiB0b0RhdGVUaW1lT3B0aW9uc0FueURhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZQogICAgIC8vIDYuIElmIHJlcXVpcmVkIGlzICJ0aW1lIiBvciAiYW55
IiwKICAgICAvLyBBbHdheXMgImFueSIuCiAKLSAgICAvLyBhLiBGb3IgZWFjaCBvZiB0aGUgcHJv
cGVydHkgbmFtZXMgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJmcmFjdGlvbmFsU2Vjb25k
RGlnaXRzIjoKKyAgICAvLyBhLiBGb3IgZWFjaCBvZiB0aGUgcHJvcGVydHkgbmFtZXMgIiJkYXlQ
ZXJpb2QiLCBob3VyIiwgIm1pbnV0ZSIsICJzZWNvbmQiLCAiZnJhY3Rpb25hbFNlY29uZERpZ2l0
cyI6CiAgICAgLy8gaS4gTGV0IHByb3AgYmUgdGhlIHByb3BlcnR5IG5hbWUuCiAgICAgLy8gaWku
IExldCB2YWx1ZSBiZSBHZXQob3B0aW9ucywgcHJvcCkuCiAgICAgLy8gaWlpLiBSZXR1cm5JZkFi
cnVwdCh2YWx1ZSkuCiAgICAgLy8gaXYuIElmIHZhbHVlIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4g
bGV0IG5lZWREZWZhdWx0cyBiZSBmYWxzZS4KKyAgICBpZiAoT3B0aW9uczo6dXNlSW50bERhdGVU
aW1lRm9ybWF0RGF5UGVyaW9kKCkpIHsKKyAgICAgICAgSlNWYWx1ZSBkYXlQZXJpb2QgPSBvcHRp
b25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5kYXlQZXJpb2QpOworICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICAgICAgaWYgKCFk
YXlQZXJpb2QuaXNVbmRlZmluZWQoKSkKKyAgICAgICAgICAgIG5lZWREZWZhdWx0cyA9IGZhbHNl
OworICAgIH0KKwogICAgIEpTVmFsdWUgaG91ciA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3Qs
IHZtLnByb3BlcnR5TmFtZXMtPmhvdXIpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IG51bGxwdHIpOwogICAgIGlmICghaG91ci5pc1VuZGVmaW5lZCgpKQpAQCAtMzc4LDYgKzM4NSwx
NiBAQCB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6c2V0Rm9ybWF0c0Zyb21QYXR0ZXJuKGNvbnN0
IFN0cmluZ1ZpZXcmIHBhdHRlcm4pCiAgICAgICAgICAgICBlbHNlIGlmIChjb3VudCA9PSAyKQog
ICAgICAgICAgICAgICAgIG1fZGF5ID0gRGF5OjpUd29EaWdpdDsKICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlICdhJzoKKyAgICAgICAgY2FzZSAnYic6CisgICAgICAgIGNhc2UgJ0In
OgorICAgICAgICAgICAgaWYgKGNvdW50IDw9IDMpCisgICAgICAgICAgICAgICAgbV9kYXlQZXJp
b2QgPSBEYXlQZXJpb2Q6OlNob3J0OworICAgICAgICAgICAgZWxzZSBpZiAoY291bnQgPT0gNCkK
KyAgICAgICAgICAgICAgICBtX2RheVBlcmlvZCA9IERheVBlcmlvZDo6TG9uZzsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKGNvdW50ID09IDUpCisgICAgICAgICAgICAgICAgbV9kYXlQZXJpb2QgPSBE
YXlQZXJpb2Q6Ok5hcnJvdzsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICdoJzoK
ICAgICAgICAgY2FzZSAnSCc6CiAgICAgICAgIGNhc2UgJ2snOgpAQCAtNTg0LDYgKzYwMSwxMiBA
QCB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIERh
eVBlcmlvZCBkYXlQZXJpb2QgPSBEYXlQZXJpb2Q6Ok5vbmU7CisgICAgaWYgKE9wdGlvbnM6OnVz
ZUludGxEYXRlVGltZUZvcm1hdERheVBlcmlvZCgpKSB7CisgICAgICAgIGRheVBlcmlvZCA9IGlu
dGxPcHRpb248RGF5UGVyaW9kPihnbG9iYWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFt
ZXMtPmRheVBlcmlvZCwgeyB7ICJuYXJyb3ciX3MsIERheVBlcmlvZDo6TmFycm93IH0sIHsgInNo
b3J0Il9zLCBEYXlQZXJpb2Q6OlNob3J0IH0sIHsgImxvbmciX3MsIERheVBlcmlvZDo6TG9uZyB9
IH0sICJkYXlQZXJpb2QgbXVzdCBiZSBcIm5hcnJvd1wiLCBcInNob3J0XCIsIG9yIFwibG9uZ1wi
Il9zLCBEYXlQZXJpb2Q6Ok5vbmUpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOworICAgIH0KKwogICAgIEhvdXIgaG91ciA9IGludGxPcHRpb248SG91cj4oZ2xv
YmFsT2JqZWN0LCBvcHRpb25zLCB2bS5wcm9wZXJ0eU5hbWVzLT5ob3VyLCB7IHsgIjItZGlnaXQi
X3MsIEhvdXI6OlR3b0RpZ2l0IH0sIHsgIm51bWVyaWMiX3MsIEhvdXI6Ok51bWVyaWMgfSB9LCAi
aG91ciBtdXN0IGJlIFwiMi1kaWdpdFwiIG9yIFwibnVtZXJpY1wiIl9zLCBIb3VyOjpOb25lKTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIHN3aXRjaCAoaG91
cikgewpAQCAtNjA3LDYgKzYzMCwyNCBAQCB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6aW5pdGlh
bGl6ZURhdGVUaW1lRm9ybWF0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgICAg
IGJyZWFrOwogICAgIH0KIAorICAgIGlmIChPcHRpb25zOjp1c2VJbnRsRGF0ZVRpbWVGb3JtYXRE
YXlQZXJpb2QoKSkgeworICAgICAgICAvLyBkYXlQZXJpb2QgbXVzdCBiZSBzZXQgYWZ0ZXIgc2V0
dGluZyBob3VyLgorICAgICAgICAvLyBodHRwczovL3VuaWNvZGUtb3JnLmF0bGFzc2lhbi5uZXQv
YnJvd3NlL0lDVS0yMDczMQorICAgICAgICBzd2l0Y2ggKGRheVBlcmlvZCkgeworICAgICAgICBj
YXNlIERheVBlcmlvZDo6TmFycm93OgorICAgICAgICAgICAgc2tlbGV0b25CdWlsZGVyLmFwcGVu
ZExpdGVyYWwoIkJCQkJCIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBEYXlQ
ZXJpb2Q6OlNob3J0OgorICAgICAgICAgICAgc2tlbGV0b25CdWlsZGVyLmFwcGVuZCgnQicpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRGF5UGVyaW9kOjpMb25nOgorICAgICAg
ICAgICAgc2tlbGV0b25CdWlsZGVyLmFwcGVuZExpdGVyYWwoIkJCQkIiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIERheVBlcmlvZDo6Tm9uZToKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisgICAgfQorCiAgICAgTWludXRlIG1pbnV0ZSA9IGludGxPcHRpb248TWlu
dXRlPihnbG9iYWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPm1pbnV0ZSwgeyB7
ICIyLWRpZ2l0Il9zLCBNaW51dGU6OlR3b0RpZ2l0IH0sIHsgIm51bWVyaWMiX3MsIE1pbnV0ZTo6
TnVtZXJpYyB9IH0sICJtaW51dGUgbXVzdCBiZSBcIjItZGlnaXRcIiBvciBcIm51bWVyaWNcIiJf
cywgTWludXRlOjpOb25lKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkp
OwogICAgIHN3aXRjaCAobWludXRlKSB7CkBAIC02NjgsNyArNzA5LDcgQEAgdm9pZCBJbnRsRGF0
ZVRpbWVGb3JtYXQ6OmluaXRpYWxpemVEYXRlVGltZUZvcm1hdChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LAogICAgICAgICAvLyAgICAgaWkuIExldCBwIGJlIG9wdC5bWzxwcm9wPl1dLgog
ICAgICAgICAvLyAgICAgaWlpLiBJZiBwIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KICAgICAgICAg
Ly8gICAgICAgICAxLiBUaHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gICAgICAgIGlmICh3
ZWVrZGF5ICE9IFdlZWtkYXk6Ok5vbmUgfHwgZXJhICE9IEVyYTo6Tm9uZSB8fCB5ZWFyICE9IFll
YXI6Ok5vbmUgfHwgbW9udGggIT0gTW9udGg6Ok5vbmUgfHwgZGF5ICE9IERheTo6Tm9uZSB8fCBo
b3VyICE9IEhvdXI6Ok5vbmUgfHwgbWludXRlICE9IE1pbnV0ZTo6Tm9uZSB8fCBzZWNvbmQgIT0g
U2Vjb25kOjpOb25lIHx8IGZyYWN0aW9uYWxTZWNvbmREaWdpdHMgIT0gMCB8fCB0aW1lWm9uZU5h
bWUgIT0gVGltZVpvbmVOYW1lOjpOb25lKSB7CisgICAgICAgIGlmICh3ZWVrZGF5ICE9IFdlZWtk
YXk6Ok5vbmUgfHwgZXJhICE9IEVyYTo6Tm9uZSB8fCB5ZWFyICE9IFllYXI6Ok5vbmUgfHwgbW9u
dGggIT0gTW9udGg6Ok5vbmUgfHwgZGF5ICE9IERheTo6Tm9uZSB8fCBkYXlQZXJpb2QgIT0gRGF5
UGVyaW9kOjpOb25lIHx8IGhvdXIgIT0gSG91cjo6Tm9uZSB8fCBtaW51dGUgIT0gTWludXRlOjpO
b25lIHx8IHNlY29uZCAhPSBTZWNvbmQ6Ok5vbmUgfHwgZnJhY3Rpb25hbFNlY29uZERpZ2l0cyAh
PSAwIHx8IHRpbWVab25lTmFtZSAhPSBUaW1lWm9uZU5hbWU6Ok5vbmUpIHsKICAgICAgICAgICAg
IHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJkYXRlU3R5bGUgYW5kIHRpbWVT
dHlsZSBtYXkgbm90IGJlIHVzZWQgd2l0aCBvdGhlciBEYXRlVGltZUZvcm1hdCBvcHRpb25zIl9z
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtODkyLDYgKzkzMywyMyBAQCBB
U0NJSUxpdGVyYWwgSW50bERhdGVUaW1lRm9ybWF0OjpkYXlTdHJpbmcoRGF5IGRheSkKICAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsOjpudWxsKCk7CiB9CiAKK0FTQ0lJTGl0ZXJhbCBJbnRsRGF0ZVRp
bWVGb3JtYXQ6OmRheVBlcmlvZFN0cmluZyhEYXlQZXJpb2QgZGF5UGVyaW9kKQoreworICAgIHN3
aXRjaCAoZGF5UGVyaW9kKSB7CisgICAgY2FzZSBEYXlQZXJpb2Q6Ok5hcnJvdzoKKyAgICAgICAg
cmV0dXJuICJuYXJyb3ciX3M7CisgICAgY2FzZSBEYXlQZXJpb2Q6OlNob3J0OgorICAgICAgICBy
ZXR1cm4gInNob3J0Il9zOworICAgIGNhc2UgRGF5UGVyaW9kOjpMb25nOgorICAgICAgICByZXR1
cm4gImxvbmciX3M7CisgICAgY2FzZSBEYXlQZXJpb2Q6Ok5vbmU6CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsOjpudWxsKCk7CisgICAg
fQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBBU0NJSUxpdGVyYWw6Om51
bGwoKTsKK30KKwogQVNDSUlMaXRlcmFsIEludGxEYXRlVGltZUZvcm1hdDo6aG91clN0cmluZyhI
b3VyIGhvdXIpCiB7CiAgICAgc3dpdGNoIChob3VyKSB7CkBAIC0xMDAyLDYgKzEwNjAsMTEgQEAg
SlNPYmplY3QqIEludGxEYXRlVGltZUZvcm1hdDo6cmVzb2x2ZWRPcHRpb25zKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpIGNvbnMKICAgICBpZiAobV9kYXkgIT0gRGF5OjpOb25lKQogICAg
ICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmRheSwganNOb250
cml2aWFsU3RyaW5nKHZtLCBkYXlTdHJpbmcobV9kYXkpKSk7CiAKKyAgICBpZiAoT3B0aW9uczo6
dXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kKCkpIHsKKyAgICAgICAgaWYgKG1fZGF5UGVy
aW9kICE9IERheVBlcmlvZDo6Tm9uZSkKKyAgICAgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+ZGF5UGVyaW9kLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sIGRh
eVBlcmlvZFN0cmluZyhtX2RheVBlcmlvZCkpKTsKKyAgICB9CisKICAgICBpZiAobV9ob3VyICE9
IEhvdXI6Ok5vbmUpCiAgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+aG91ciwganNOb250cml2aWFsU3RyaW5nKHZtLCBob3VyU3RyaW5nKG1faG91cikpKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1l
Rm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3Jt
YXQuaAppbmRleCA4YjhlMDU1MWMwMTZiMzE4MGVkNzIwYmQzYzgwMTdlN2NmYzM3NmIwLi45YjRj
MDZjNDliYmY3YzU4ZmRmNjVkMmI1MTM1OGEyOTkwNDdkZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuaApAQCAtODEsNiArODEs
NyBAQCBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9i
amVjdCB7CiAgICAgZW51bSBjbGFzcyBZZWFyIDogdWludDhfdCB7IE5vbmUsIFR3b0RpZ2l0LCBO
dW1lcmljIH07CiAgICAgZW51bSBjbGFzcyBNb250aCA6IHVpbnQ4X3QgeyBOb25lLCBUd29EaWdp
dCwgTnVtZXJpYywgTmFycm93LCBTaG9ydCwgTG9uZyB9OwogICAgIGVudW0gY2xhc3MgRGF5IDog
dWludDhfdCB7IE5vbmUsIFR3b0RpZ2l0LCBOdW1lcmljIH07CisgICAgZW51bSBjbGFzcyBEYXlQ
ZXJpb2QgOiB1aW50OF90IHsgTm9uZSwgTmFycm93LCBTaG9ydCwgTG9uZyB9OwogICAgIGVudW0g
Y2xhc3MgSG91ciA6IHVpbnQ4X3QgeyBOb25lLCBUd29EaWdpdCwgTnVtZXJpYyB9OwogICAgIGVu
dW0gY2xhc3MgTWludXRlIDogdWludDhfdCB7IE5vbmUsIFR3b0RpZ2l0LCBOdW1lcmljIH07CiAg
ICAgZW51bSBjbGFzcyBTZWNvbmQgOiB1aW50OF90IHsgTm9uZSwgVHdvRGlnaXQsIE51bWVyaWMg
fTsKQEAgLTkzLDYgKzk0LDcgQEAgY2xhc3MgSW50bERhdGVUaW1lRm9ybWF0IGZpbmFsIDogcHVi
bGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHN0YXRpYyBBU0NJSUxpdGVyYWwgeWVhclN0cmlu
ZyhZZWFyKTsKICAgICBzdGF0aWMgQVNDSUlMaXRlcmFsIG1vbnRoU3RyaW5nKE1vbnRoKTsKICAg
ICBzdGF0aWMgQVNDSUlMaXRlcmFsIGRheVN0cmluZyhEYXkpOworICAgIHN0YXRpYyBBU0NJSUxp
dGVyYWwgZGF5UGVyaW9kU3RyaW5nKERheVBlcmlvZCk7CiAgICAgc3RhdGljIEFTQ0lJTGl0ZXJh
bCBob3VyU3RyaW5nKEhvdXIpOwogICAgIHN0YXRpYyBBU0NJSUxpdGVyYWwgbWludXRlU3RyaW5n
KE1pbnV0ZSk7CiAgICAgc3RhdGljIEFTQ0lJTGl0ZXJhbCBzZWNvbmRTdHJpbmcoU2Vjb25kKTsK
QEAgLTExNyw2ICsxMTksNyBAQCBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQgZmluYWwgOiBwdWJs
aWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgWWVhciBtX3llYXIgeyBZZWFyOjpOb25lIH07CiAg
ICAgTW9udGggbV9tb250aCB7IE1vbnRoOjpOb25lIH07CiAgICAgRGF5IG1fZGF5IHsgRGF5OjpO
b25lIH07CisgICAgRGF5UGVyaW9kIG1fZGF5UGVyaW9kIHsgRGF5UGVyaW9kOjpOb25lIH07CiAg
ICAgSG91ciBtX2hvdXIgeyBIb3VyOjpOb25lIH07CiAgICAgTWludXRlIG1fbWludXRlIHsgTWlu
dXRlOjpOb25lIH07CiAgICAgU2Vjb25kIG1fc2Vjb25kIHsgU2Vjb25kOjpOb25lIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAppbmRleCBlNGJhMWVlNTg1
NjQyNDA1YzY4ZmY4ZTE1NzI3OGFjMmQxMjgzZGM0Li4zZjUxY2IxOWFmZWMwYTJmZjFkNWI3ZGVi
NzUwMGI3MjIwOTU5YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zTGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnNMaXN0LmgKQEAgLTQ5MCw2ICs0OTAsNyBAQCBjb25zdGV4cHIgYm9vbCBlbmFibGVXZWJBc3Nl
bWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIC8qIEZJWE1FOiBXZSBzaG91bGQgbWFrZSBz
dXJlIGZpbmFsaXplcnMgZG9uJ3QgcnVuIGZvciBkZXRhY2hlZCB3aW5kb3dzIGJlZm9yZSBlbmFi
bGluZyBXZWFrUmVmcyBieSBkZWZhdWx0LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE0NTA4ICovIFwKICAgICB2KEJvb2wsIHVzZVdlYWtSZWZzLCBmYWxzZSwgTm9y
bWFsLCAiRXhwb3NlIHRoZSBXZWFrUmVmIGNvbnN0cnVjdG9yLiIpIFwKICAgICB2KEJvb2wsIHVz
ZUJpZ0ludCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFibGUgQmlnSW50IHN1
cHBvcnQuIikgXAorICAgIHYoQm9vbCwgdXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kLCBm
YWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0IGRheVBlcmlvZCBm
ZWF0dXJlLiIpIFwKICAgICB2KEJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1
ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0
aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdh
eXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpIFwKICAgICB2KEJvb2wsIGZvcmNlUG9seVByb3Rv
LCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRl
IGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikgXAogICAgIHYoQm9vbCwg
Zm9yY2VNaW5pVk1Nb2RlLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgaXQgd2lsbCBmb3JjZSBt
aW5pIFZNIG1vZGUgb24uIikgXApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rl
c3RzL0NoYW5nZUxvZwppbmRleCAxNmEzZTIyMzYwNjA5NjY4MTliNDQ4OTU3NTdiN2YyMWQwYTg0
Njc5Li5hYzVmYzMwMjVlYTU4MmU4OTE5ZDI3NTdkMDUxYmE0ZmQ1NzMwM2FmIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDIwLTA4LTI4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0pTQ10gSW1wbGVtZW50IEludGwuRGF0ZVRpbWVGb3JtYXQgZGF5UGVyaW9kCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU4MzkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9pbnRs
LWRhdGV0aW1lZm9ybWF0LWRheS1wZXJpb2QuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUp
OgorICAgICAgICAodGhyb3cubmV3LkVycm9yKToKKyAgICAgICAgKiB0ZXN0MjYyL2NvbmZpZy55
YW1sOgorCiAyMDIwLTA4LTI4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0pTQ10gYG5ldyBpbXBvcnQubWV0YSgpYCBpcyBhY2NlcHRhYmxlCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3N0cmVzcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWRheS1wZXJpb2QuanMgYi9K
U1Rlc3RzL3N0cmVzcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWRheS1wZXJpb2QuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTEzNmVjMTUyNTNhMTgzYzE5ZjlkNTY0Nzg2NWYxZThjNGIyYTE5YgotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvc3RyZXNzL2ludGwtZGF0ZXRpbWVmb3JtYXQtZGF5LXBlcmlvZC5qcwpA
QCAtMCwwICsxLDUyIEBACisvL0AgcnVuRGVmYXVsdCgiLS11c2VJbnRsRGF0ZVRpbWVGb3JtYXRE
YXlQZXJpb2Q9MSIpCisKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAg
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBleHBl
Y3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0dWFsfWApOworfQorCit7CisgICAgbGV0IGR0
ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbiIsIHtob3VyOiAibnVtZXJpYyIsIGRheVBl
cmlvZDogInNob3J0In0pOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIwMTkt
MDUtMjBUMDc6MDA6MDAiKSksICI3IGluIHRoZSBtb3JuaW5nIik7CisKKyAgICB7CisgICAgICAg
IGxldCBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgIHt0eXBlOiAiaG91ciIsIHZhbHVlOiAiNyJ9
LAorICAgICAgICAgICAge3R5cGU6ICJsaXRlcmFsIiwgdmFsdWU6ICIgIn0sCisgICAgICAgICAg
ICB7dHlwZTogImRheVBlcmlvZCIsIHZhbHVlOiAiaW4gdGhlIG1vcm5pbmcifQorICAgICAgICBd
OworICAgICAgICBsZXQgYWN0dWFsID0gZHRmLmZvcm1hdFRvUGFydHMobmV3IERhdGUoIjIwMTkt
MDUtMjBUMDc6MDA6MDAiKSk7CisgICAgICAgIHNob3VsZEJlKGFjdHVhbC5sZW5ndGgsIGV4cGVj
dGVkLmxlbmd0aCk7CisgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBleHBlY3Rl
ZC5sZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKGFjdHVhbFtpbmRleF0u
dHlwZSwgZXhwZWN0ZWRbaW5kZXhdLnR5cGUpOworICAgICAgICAgICAgc2hvdWxkQmUoYWN0dWFs
W2luZGV4XS52YWx1ZSwgZXhwZWN0ZWRbaW5kZXhdLnZhbHVlKTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIwMTktMDUtMjBUMTE6NTk6MDAi
KSksICIxMSBpbiB0aGUgbW9ybmluZyIpOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERh
dGUoIjIwMTktMDUtMjBUMTI6MDA6MDAiKSksICIxMiBub29uIik7CisgICAgc2hvdWxkQmUoZHRm
LmZvcm1hdChuZXcgRGF0ZSgiMjAxOS0wNS0yMFQxMzowMDowMCIpKSwgIjEgaW4gdGhlIGFmdGVy
bm9vbiIpOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIwMTktMDUtMjBUMTg6
MDA6MDAiKSksICI2IGluIHRoZSBldmVuaW5nIik7CisgICAgc2hvdWxkQmUoZHRmLmZvcm1hdChu
ZXcgRGF0ZSgiMjAxOS0wNS0yMFQyMjowMDowMCIpKSwgIjEwIGF0IG5pZ2h0Iik7CisKKyAgICBk
dGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiemgtSGFudCIsIHtob3VyOiAibnVtZXJpYyIs
IGRheVBlcmlvZDogInNob3J0In0pOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUo
IjIwMTktMDUtMjBUMDc6MDA6MDAiKSksICLmuIXmmag35pmCIik7CisgICAgeworICAgICAgICBs
ZXQgZXhwZWN0ZWQgPSBbCisgICAgICAgICAgICB7dHlwZTogImRheVBlcmlvZCIsIHZhbHVlOiAi
5riF5pmoIn0sCisgICAgICAgICAgICB7dHlwZTogImhvdXIiLCB2YWx1ZTogIjcifSwKKyAgICAg
ICAgICAgIHt0eXBlOiAibGl0ZXJhbCIsIHZhbHVlOiAi5pmCIn0KKyAgICAgICAgXTsKKyAgICAg
ICAgbGV0IGFjdHVhbCA9IGR0Zi5mb3JtYXRUb1BhcnRzKG5ldyBEYXRlKCIyMDE5LTA1LTIwVDA3
OjAwOjAwIikpOworICAgICAgICBzaG91bGRCZShhY3R1YWwubGVuZ3RoLCBleHBlY3RlZC5sZW5n
dGgpOworICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZXhwZWN0ZWQubGVuZ3Ro
OyArK2luZGV4KSB7CisgICAgICAgICAgICBzaG91bGRCZShhY3R1YWxbaW5kZXhdLnR5cGUsIGV4
cGVjdGVkW2luZGV4XS50eXBlKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGFjdHVhbFtpbmRleF0u
dmFsdWUsIGV4cGVjdGVkW2luZGV4XS52YWx1ZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgc2hv
dWxkQmUoZHRmLmZvcm1hdChuZXcgRGF0ZSgiMjAxOS0wNS0yMFQxMTo1OTowMCIpKSwgIuS4iuWN
iDEx5pmCIik7CisgICAgc2hvdWxkQmUoZHRmLmZvcm1hdChuZXcgRGF0ZSgiMjAxOS0wNS0yMFQx
MjowMDowMCIpKSwgIuS4reWNiDEy5pmCIik7CisgICAgc2hvdWxkQmUoZHRmLmZvcm1hdChuZXcg
RGF0ZSgiMjAxOS0wNS0yMFQxMzowMDowMCIpKSwgIuS4i+WNiDHmmYIiKTsKKyAgICBzaG91bGRC
ZShkdGYuZm9ybWF0KG5ldyBEYXRlKCIyMDE5LTA1LTIwVDE4OjAwOjAwIikpLCAi5LiL5Y2INuaZ
giIpOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIwMTktMDUtMjBUMjI6MDA6
MDAiKSksICLmmZrkuIoxMOaZgiIpOworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2Nv
bmZpZy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCmluZGV4IDg4OGQxMTI4NTBl
NDliNDQzMjg5NjlkNWM1YzI0M2QzMjg5Y2I2MDQuLmZjZGJjZDg3ZGQxZjY4YWEwMWIwMmUzZGMy
ZDJmZmI4Yzg0YmFhOWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKQEAgLTYsNiArNiw3IEBAIGZsYWdzOgog
ICBGaW5hbGl6YXRpb25SZWdpc3RyeTogdXNlV2Vha1JlZnMKICAgY2xhc3MtZmllbGRzLXB1Ymxp
YzogdXNlUHVibGljQ2xhc3NGaWVsZHMKICAgY2xhc3MtZmllbGRzLXByaXZhdGU6IHVzZVByaXZh
dGVDbGFzc0ZpZWxkcworICBJbnRsLkRhdGVUaW1lRm9ybWF0LWRheVBlcmlvZDogdXNlSW50bERh
dGVUaW1lRm9ybWF0RGF5UGVyaW9kCiBza2lwOgogICBmZWF0dXJlczoKICAgICAtIFNoYXJlZEFy
cmF5QnVmZmVyCkBAIC0yMyw3ICsyNCw2IEBAIHNraXA6CiAgICAgIyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDc1CiAgICAgLSByZWdleHAtbWF0Y2gtaW5kaWNl
cwogICAgIC0gdG9wLWxldmVsLWF3YWl0Ci0gICAgLSBJbnRsLkRhdGVUaW1lRm9ybWF0LWRheVBl
cmlvZAogICAgIC0gSW50bC5MaXN0Rm9ybWF0CiAgIHBhdGhzOgogICAgIC0gdGVzdC9idWlsdC1p
bnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJpZ0ludDY0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407533</attachid>
            <date>2020-08-28 23:43:44 -0700</date>
            <delta_ts>2020-08-29 00:01:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215839-20200828234343.patch</filename>
            <type>text/plain</type>
            <size>17821</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
OTBiZjQyOWNlM2FmOWY0MWIxYTJjNTExYTYzZGUzOWMxYjAzMzNkLi4zZTExMmEyMzU4Mzg4MzM3
NWNkMTk1OWIyOTgxNjM4OTNjODlmNDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMC0wOC0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBJbnRsLkRhdGVUaW1lRm9ybWF0IGRheVBlcmlv
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1ODM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbXBsZW1lbnRzIEludGwuRGF0ZVRpbWVGb3JtYXQgZGF5UGVyaW9kIG9wdGlvblsxXS4g
V2UgY2FuIHVzZSAibmFycm93IiwgInNob3J0Iiwgb3IgImxvbmciIGZvciBkYXlQZXJpb2QsCisg
ICAgICAgIGFuZCBpdCBkZXRlcm1pbmVzIGhvdyAiQU0iIGV0Yy4gaXMgcmVwcmVzZW50ZWQuCisK
KyAgICAgICAgWzFdOiBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9lY21hNDAyL3B1bGwvMzQ2CisK
KyAgICAgICAgKiBidWlsdGlucy9EYXRlUHJvdG90eXBlLmpzOgorICAgICAgICAodG9Mb2NhbGVT
dHJpbmcudG9EYXRlVGltZU9wdGlvbnNBbnlBbGwpOgorICAgICAgICAodG9Mb2NhbGVTdHJpbmcp
OgorICAgICAgICAodG9Mb2NhbGVUaW1lU3RyaW5nLnRvRGF0ZVRpbWVPcHRpb25zVGltZVRpbWUp
OgorICAgICAgICAodG9Mb2NhbGVUaW1lU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9CeXRl
Y29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVJbnRyaW5z
aWNSZWdpc3RyeTo6Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeSk6CisgICAgICAgICogYnl0ZWNv
ZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9u
SWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHA6
CisgICAgICAgIChKU0M6OnRvRGF0ZVRpbWVPcHRpb25zQW55RGF0ZSk6CisgICAgICAgIChKU0M6
OkludGxEYXRlVGltZUZvcm1hdDo6c2V0Rm9ybWF0c0Zyb21QYXR0ZXJuKToKKyAgICAgICAgKEpT
Qzo6SW50bERhdGVUaW1lRm9ybWF0Ojppbml0aWFsaXplRGF0ZVRpbWVGb3JtYXQpOgorICAgICAg
ICAoSlNDOjpJbnRsRGF0ZVRpbWVGb3JtYXQ6OmRheVBlcmlvZFN0cmluZyk6CisgICAgICAgIChK
U0M6OkludGxEYXRlVGltZUZvcm1hdDo6cmVzb2x2ZWRPcHRpb25zIGNvbnN0KToKKyAgICAgICAg
KiBydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5oOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9u
c0xpc3QuaDoKKwogMjAyMC0wOC0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgogCiAgICAgICAgIFtKU0NdIGBuZXcgaW1wb3J0Lm1ldGEoKWAgaXMgYWNjZXB0YWJsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0RhdGVQcm90b3R5cGUuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qcwppbmRleCBh
NjJiMzYyYzNlZjhlOTIyNTg0YjkxN2ZiMDY4NWU1NTAxZjQ4OWY4Li4zMDBmYTJhMWMwYTk3NmEx
YTJhYzRiZDlhZGJkMjA3NzM5ZGUwZmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvRGF0ZVByb3RvdHlwZS5qcwpAQCAtNDYsNiArNDYsNyBAQCBlbHNlIGlmIChvcHRz
ID09PSBudWxsKQogICAgICAgICAgICAgb3B0aW9ucy55ZWFyID09PSBAdW5kZWZpbmVkICYmCiAg
ICAgICAgICAgICBvcHRpb25zLm1vbnRoID09PSBAdW5kZWZpbmVkICYmCiAgICAgICAgICAgICBv
cHRpb25zLmRheSA9PT0gQHVuZGVmaW5lZCAmJgorICAgICAgICAgICAgKCFAdXNlSW50bERhdGVU
aW1lRm9ybWF0RGF5UGVyaW9kIHx8IG9wdGlvbnMuZGF5UGVyaW9kID09PSBAdW5kZWZpbmVkKSAm
JgogICAgICAgICAgICAgb3B0aW9ucy5ob3VyID09PSBAdW5kZWZpbmVkICYmCiAgICAgICAgICAg
ICBvcHRpb25zLm1pbnV0ZSA9PT0gQHVuZGVmaW5lZCAmJgogICAgICAgICAgICAgb3B0aW9ucy5z
ZWNvbmQgPT09IEB1bmRlZmluZWQgJiYKQEAgLTE2Miw2ICsxNjMsNyBAQCBlbHNlIGlmIChvcHRz
ID09PSBudWxsKQogCiAgICAgICAgIC8vIENoZWNrIG9yaWdpbmFsIGluc3RlYWQgb2YgZGVzY2Vu
ZGFudCB0byByZWR1Y2UgbG9va3VwcyB1cCB0aGUgcHJvdG90eXBlIGNoYWluLgogICAgICAgICB2
YXIgbmVlZHNEZWZhdWx0cyA9ICFvcHRpb25zIHx8ICgKKyAgICAgICAgICAgICghQHVzZUludGxE
YXRlVGltZUZvcm1hdERheVBlcmlvZCB8fCBvcHRpb25zLmRheVBlcmlvZCA9PT0gQHVuZGVmaW5l
ZCkgJiYKICAgICAgICAgICAgIG9wdGlvbnMuaG91ciA9PT0gQHVuZGVmaW5lZCAmJgogICAgICAg
ICAgICAgb3B0aW9ucy5taW51dGUgPT09IEB1bmRlZmluZWQgJiYKICAgICAgICAgICAgIG9wdGlv
bnMuc2Vjb25kID09PSBAdW5kZWZpbmVkICYmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5jcHAKaW5kZXgg
MzBhMmQ1N2I1NjllY2UyMjJiMWI2NTY3YTg1OTZjM2M1OTg3ZmFkYy4uNWNhMzY0OWE3YzFmYzQ3
NzU3OTk2ZjNjMzIyMDI4Y2Y0NWUwNWMzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcApAQCAt
MTExLDYgKzExMSw3IEBAIEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnk6OkJ5dGVjb2RlSW50cmlu
c2ljUmVnaXN0cnkoVk0mIHZtKQogICAgIG1fQXN5bmNHZW5lcmF0b3JTdXNwZW5kUmVhc29uWWll
bGQuc2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXN5bmNHZW5lcmF0
b3I6OkFzeW5jR2VuZXJhdG9yU3VzcGVuZFJlYXNvbjo6WWllbGQpKSk7CiAgICAgbV9Bc3luY0dl
bmVyYXRvclN1c3BlbmRSZWFzb25Bd2FpdC5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8
aW50MzJfdD4oSlNBc3luY0dlbmVyYXRvcjo6QXN5bmNHZW5lcmF0b3JTdXNwZW5kUmVhc29uOjpB
d2FpdCkpKTsKICAgICBtX0FzeW5jR2VuZXJhdG9yU3VzcGVuZFJlYXNvbk5vbmUuc2V0KG1fdm0s
IGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXN5bmNHZW5lcmF0b3I6OkFzeW5jR2Vu
ZXJhdG9yU3VzcGVuZFJlYXNvbjo6Tm9uZSkpKTsKKyAgICBtX3VzZUludGxEYXRlVGltZUZvcm1h
dERheVBlcmlvZC5zZXQobV92bSwganNCb29sZWFuKE9wdGlvbnM6OnVzZUludGxEYXRlVGltZUZv
cm1hdERheVBlcmlvZCgpKSk7CiB9CiAKIE9wdGlvbmFsPEJ5dGVjb2RlSW50cmluc2ljUmVnaXN0
cnk6OkVudHJ5PiBCeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5Ojpsb29rdXAoY29uc3QgSWRlbnRp
ZmllciYgaWRlbnQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaAppbmRleCA3MTkxMThkMzQ2NTgy
MTRkZDE0MzE2MzA1YWM5MDQ3MGNlOWMwMmRhLi45ODU2N2UwMThkYmI2YTZkOGQ0MjFmNGQ1YWY2
NTFkMDRkMTcxMWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBl
bnVtIGNsYXNzIExpbmtUaW1lQ29uc3RhbnQgOiBpbnQzMl90OwogICAgIG1hY3JvKEFzeW5jR2Vu
ZXJhdG9yU3VzcGVuZFJlYXNvbllpZWxkKSBcCiAgICAgbWFjcm8oQXN5bmNHZW5lcmF0b3JTdXNw
ZW5kUmVhc29uQXdhaXQpIFwKICAgICBtYWNybyhBc3luY0dlbmVyYXRvclN1c3BlbmRSZWFzb25O
b25lKSBcCisgICAgbWFjcm8odXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kKSBcCiAKICNk
ZWZpbmUgSlNDX0NPTU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNfQ09OU1RBTlRTX0NVU1RPTV9FQUNI
X05BTUUobWFjcm8pIFwKICAgICBtYWNybyhzZW50aW5lbE1hcEJ1Y2tldCkgXApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggMzY5
NjE5NTAyNDQ1OGQ3YjRkMDRmMzQ5N2E4NWQ2NGMzODkxNmRiYS4uYTk5NTRiMTI4OWRjN2VmOTZh
ZGU0YjhkNjdmNjEwMmZjMGM2YWM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC05NSw2ICs5NSw3IEBACiAgICAgbWFjcm8o
Y291bnRlcnMpIFwKICAgICBtYWNybyhkYXRlU3R5bGUpIFwKICAgICBtYWNybyhkYXkpIFwKKyAg
ICBtYWNybyhkYXlQZXJpb2QpIFwKICAgICBtYWNybyhkZWZpbmVQcm9wZXJ0eSkgXAogICAgIG1h
Y3JvKGRlcmVmKSBcCiAgICAgbWFjcm8oZGVzY3JpcHRpb24pIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwCmluZGV4IDYzOGY2
Mjk4MmZjODM4YmQzMTIyODkzZTE4YTcwNWVkNGZiODg3ODIuLjI5NzY0NTllMTVmYmFmMzNlMWFh
NWVhMjU0ODg0ZGI4OGZiZTY5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmNwcApAQCAtMjQ4LDExICsyNDgsMTggQEAgc3Rh
dGljIEpTT2JqZWN0KiB0b0RhdGVUaW1lT3B0aW9uc0FueURhdGUoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNWYWx1ZQogICAgIC8vIDYuIElmIHJlcXVpcmVkIGlzICJ0aW1lIiBvciAi
YW55IiwKICAgICAvLyBBbHdheXMgImFueSIuCiAKLSAgICAvLyBhLiBGb3IgZWFjaCBvZiB0aGUg
cHJvcGVydHkgbmFtZXMgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJmcmFjdGlvbmFsU2Vj
b25kRGlnaXRzIjoKKyAgICAvLyBhLiBGb3IgZWFjaCBvZiB0aGUgcHJvcGVydHkgbmFtZXMgIiJk
YXlQZXJpb2QiLCBob3VyIiwgIm1pbnV0ZSIsICJzZWNvbmQiLCAiZnJhY3Rpb25hbFNlY29uZERp
Z2l0cyI6CiAgICAgLy8gaS4gTGV0IHByb3AgYmUgdGhlIHByb3BlcnR5IG5hbWUuCiAgICAgLy8g
aWkuIExldCB2YWx1ZSBiZSBHZXQob3B0aW9ucywgcHJvcCkuCiAgICAgLy8gaWlpLiBSZXR1cm5J
ZkFicnVwdCh2YWx1ZSkuCiAgICAgLy8gaXYuIElmIHZhbHVlIGlzIG5vdCB1bmRlZmluZWQsIHRo
ZW4gbGV0IG5lZWREZWZhdWx0cyBiZSBmYWxzZS4KKyAgICBpZiAoT3B0aW9uczo6dXNlSW50bERh
dGVUaW1lRm9ybWF0RGF5UGVyaW9kKCkpIHsKKyAgICAgICAgSlNWYWx1ZSBkYXlQZXJpb2QgPSBv
cHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5kYXlQZXJpb2QpOwor
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICAgICAgaWYg
KCFkYXlQZXJpb2QuaXNVbmRlZmluZWQoKSkKKyAgICAgICAgICAgIG5lZWREZWZhdWx0cyA9IGZh
bHNlOworICAgIH0KKwogICAgIEpTVmFsdWUgaG91ciA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmpl
Y3QsIHZtLnByb3BlcnR5TmFtZXMtPmhvdXIpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIG51bGxwdHIpOwogICAgIGlmICghaG91ci5pc1VuZGVmaW5lZCgpKQpAQCAtMzc4LDYgKzM4
NSwxNiBAQCB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6c2V0Rm9ybWF0c0Zyb21QYXR0ZXJuKGNv
bnN0IFN0cmluZ1ZpZXcmIHBhdHRlcm4pCiAgICAgICAgICAgICBlbHNlIGlmIChjb3VudCA9PSAy
KQogICAgICAgICAgICAgICAgIG1fZGF5ID0gRGF5OjpUd29EaWdpdDsKICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlICdhJzoKKyAgICAgICAgY2FzZSAnYic6CisgICAgICAgIGNhc2Ug
J0InOgorICAgICAgICAgICAgaWYgKGNvdW50IDw9IDMpCisgICAgICAgICAgICAgICAgbV9kYXlQ
ZXJpb2QgPSBEYXlQZXJpb2Q6OlNob3J0OworICAgICAgICAgICAgZWxzZSBpZiAoY291bnQgPT0g
NCkKKyAgICAgICAgICAgICAgICBtX2RheVBlcmlvZCA9IERheVBlcmlvZDo6TG9uZzsKKyAgICAg
ICAgICAgIGVsc2UgaWYgKGNvdW50ID09IDUpCisgICAgICAgICAgICAgICAgbV9kYXlQZXJpb2Qg
PSBEYXlQZXJpb2Q6Ok5hcnJvdzsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICdo
JzoKICAgICAgICAgY2FzZSAnSCc6CiAgICAgICAgIGNhc2UgJ2snOgpAQCAtNTg0LDYgKzYwMSwx
MiBAQCB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAg
IERheVBlcmlvZCBkYXlQZXJpb2QgPSBEYXlQZXJpb2Q6Ok5vbmU7CisgICAgaWYgKE9wdGlvbnM6
OnVzZUludGxEYXRlVGltZUZvcm1hdERheVBlcmlvZCgpKSB7CisgICAgICAgIGRheVBlcmlvZCA9
IGludGxPcHRpb248RGF5UGVyaW9kPihnbG9iYWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5
TmFtZXMtPmRheVBlcmlvZCwgeyB7ICJuYXJyb3ciX3MsIERheVBlcmlvZDo6TmFycm93IH0sIHsg
InNob3J0Il9zLCBEYXlQZXJpb2Q6OlNob3J0IH0sIHsgImxvbmciX3MsIERheVBlcmlvZDo6TG9u
ZyB9IH0sICJkYXlQZXJpb2QgbXVzdCBiZSBcIm5hcnJvd1wiLCBcInNob3J0XCIsIG9yIFwibG9u
Z1wiIl9zLCBEYXlQZXJpb2Q6Ok5vbmUpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOworICAgIH0KKwogICAgIEhvdXIgaG91ciA9IGludGxPcHRpb248SG91cj4o
Z2xvYmFsT2JqZWN0LCBvcHRpb25zLCB2bS5wcm9wZXJ0eU5hbWVzLT5ob3VyLCB7IHsgIjItZGln
aXQiX3MsIEhvdXI6OlR3b0RpZ2l0IH0sIHsgIm51bWVyaWMiX3MsIEhvdXI6Ok51bWVyaWMgfSB9
LCAiaG91ciBtdXN0IGJlIFwiMi1kaWdpdFwiIG9yIFwibnVtZXJpY1wiIl9zLCBIb3VyOjpOb25l
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIHN3aXRjaCAo
aG91cikgewpAQCAtNjA3LDYgKzYzMCwyNCBAQCB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6aW5p
dGlhbGl6ZURhdGVUaW1lRm9ybWF0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KIAorICAgIGlmIChPcHRpb25zOjp1c2VJbnRsRGF0ZVRpbWVGb3Jt
YXREYXlQZXJpb2QoKSkgeworICAgICAgICAvLyBkYXlQZXJpb2QgbXVzdCBiZSBzZXQgYWZ0ZXIg
c2V0dGluZyBob3VyLgorICAgICAgICAvLyBodHRwczovL3VuaWNvZGUtb3JnLmF0bGFzc2lhbi5u
ZXQvYnJvd3NlL0lDVS0yMDczMQorICAgICAgICBzd2l0Y2ggKGRheVBlcmlvZCkgeworICAgICAg
ICBjYXNlIERheVBlcmlvZDo6TmFycm93OgorICAgICAgICAgICAgc2tlbGV0b25CdWlsZGVyLmFw
cGVuZExpdGVyYWwoIkJCQkJCIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBE
YXlQZXJpb2Q6OlNob3J0OgorICAgICAgICAgICAgc2tlbGV0b25CdWlsZGVyLmFwcGVuZCgnQicp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRGF5UGVyaW9kOjpMb25nOgorICAg
ICAgICAgICAgc2tlbGV0b25CdWlsZGVyLmFwcGVuZExpdGVyYWwoIkJCQkIiKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIERheVBlcmlvZDo6Tm9uZToKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisgICAgfQorCiAgICAgTWludXRlIG1pbnV0ZSA9IGludGxPcHRpb248
TWludXRlPihnbG9iYWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPm1pbnV0ZSwg
eyB7ICIyLWRpZ2l0Il9zLCBNaW51dGU6OlR3b0RpZ2l0IH0sIHsgIm51bWVyaWMiX3MsIE1pbnV0
ZTo6TnVtZXJpYyB9IH0sICJtaW51dGUgbXVzdCBiZSBcIjItZGlnaXRcIiBvciBcIm51bWVyaWNc
IiJfcywgTWludXRlOjpOb25lKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOwogICAgIHN3aXRjaCAobWludXRlKSB7CkBAIC02NjgsNyArNzA5LDcgQEAgdm9pZCBJbnRs
RGF0ZVRpbWVGb3JtYXQ6OmluaXRpYWxpemVEYXRlVGltZUZvcm1hdChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LAogICAgICAgICAvLyAgICAgaWkuIExldCBwIGJlIG9wdC5bWzxwcm9wPl1d
LgogICAgICAgICAvLyAgICAgaWlpLiBJZiBwIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KICAgICAg
ICAgLy8gICAgICAgICAxLiBUaHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gICAgICAgIGlm
ICh3ZWVrZGF5ICE9IFdlZWtkYXk6Ok5vbmUgfHwgZXJhICE9IEVyYTo6Tm9uZSB8fCB5ZWFyICE9
IFllYXI6Ok5vbmUgfHwgbW9udGggIT0gTW9udGg6Ok5vbmUgfHwgZGF5ICE9IERheTo6Tm9uZSB8
fCBob3VyICE9IEhvdXI6Ok5vbmUgfHwgbWludXRlICE9IE1pbnV0ZTo6Tm9uZSB8fCBzZWNvbmQg
IT0gU2Vjb25kOjpOb25lIHx8IGZyYWN0aW9uYWxTZWNvbmREaWdpdHMgIT0gMCB8fCB0aW1lWm9u
ZU5hbWUgIT0gVGltZVpvbmVOYW1lOjpOb25lKSB7CisgICAgICAgIGlmICh3ZWVrZGF5ICE9IFdl
ZWtkYXk6Ok5vbmUgfHwgZXJhICE9IEVyYTo6Tm9uZSB8fCB5ZWFyICE9IFllYXI6Ok5vbmUgfHwg
bW9udGggIT0gTW9udGg6Ok5vbmUgfHwgZGF5ICE9IERheTo6Tm9uZSB8fCBkYXlQZXJpb2QgIT0g
RGF5UGVyaW9kOjpOb25lIHx8IGhvdXIgIT0gSG91cjo6Tm9uZSB8fCBtaW51dGUgIT0gTWludXRl
OjpOb25lIHx8IHNlY29uZCAhPSBTZWNvbmQ6Ok5vbmUgfHwgZnJhY3Rpb25hbFNlY29uZERpZ2l0
cyAhPSAwIHx8IHRpbWVab25lTmFtZSAhPSBUaW1lWm9uZU5hbWU6Ok5vbmUpIHsKICAgICAgICAg
ICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJkYXRlU3R5bGUgYW5kIHRp
bWVTdHlsZSBtYXkgbm90IGJlIHVzZWQgd2l0aCBvdGhlciBEYXRlVGltZUZvcm1hdCBvcHRpb25z
Il9zKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtODkyLDYgKzkzMywyMyBA
QCBBU0NJSUxpdGVyYWwgSW50bERhdGVUaW1lRm9ybWF0OjpkYXlTdHJpbmcoRGF5IGRheSkKICAg
ICByZXR1cm4gQVNDSUlMaXRlcmFsOjpudWxsKCk7CiB9CiAKK0FTQ0lJTGl0ZXJhbCBJbnRsRGF0
ZVRpbWVGb3JtYXQ6OmRheVBlcmlvZFN0cmluZyhEYXlQZXJpb2QgZGF5UGVyaW9kKQoreworICAg
IHN3aXRjaCAoZGF5UGVyaW9kKSB7CisgICAgY2FzZSBEYXlQZXJpb2Q6Ok5hcnJvdzoKKyAgICAg
ICAgcmV0dXJuICJuYXJyb3ciX3M7CisgICAgY2FzZSBEYXlQZXJpb2Q6OlNob3J0OgorICAgICAg
ICByZXR1cm4gInNob3J0Il9zOworICAgIGNhc2UgRGF5UGVyaW9kOjpMb25nOgorICAgICAgICBy
ZXR1cm4gImxvbmciX3M7CisgICAgY2FzZSBEYXlQZXJpb2Q6Ok5vbmU6CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsOjpudWxsKCk7Cisg
ICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBBU0NJSUxpdGVyYWw6
Om51bGwoKTsKK30KKwogQVNDSUlMaXRlcmFsIEludGxEYXRlVGltZUZvcm1hdDo6aG91clN0cmlu
ZyhIb3VyIGhvdXIpCiB7CiAgICAgc3dpdGNoIChob3VyKSB7CkBAIC0xMDAyLDYgKzEwNjAsMTEg
QEAgSlNPYmplY3QqIEludGxEYXRlVGltZUZvcm1hdDo6cmVzb2x2ZWRPcHRpb25zKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnMKICAgICBpZiAobV9kYXkgIT0gRGF5OjpOb25lKQog
ICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmRheSwganNO
b250cml2aWFsU3RyaW5nKHZtLCBkYXlTdHJpbmcobV9kYXkpKSk7CiAKKyAgICBpZiAoT3B0aW9u
czo6dXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kKCkpIHsKKyAgICAgICAgaWYgKG1fZGF5
UGVyaW9kICE9IERheVBlcmlvZDo6Tm9uZSkKKyAgICAgICAgICAgIG9wdGlvbnMtPnB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+ZGF5UGVyaW9kLCBqc05vbnRyaXZpYWxTdHJpbmcodm0s
IGRheVBlcmlvZFN0cmluZyhtX2RheVBlcmlvZCkpKTsKKyAgICB9CisKICAgICBpZiAobV9ob3Vy
ICE9IEhvdXI6Ok5vbmUpCiAgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+aG91ciwganNOb250cml2aWFsU3RyaW5nKHZtLCBob3VyU3RyaW5nKG1faG91cikp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVU
aW1lRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVG
b3JtYXQuaAppbmRleCA4YjhlMDU1MWMwMTZiMzE4MGVkNzIwYmQzYzgwMTdlN2NmYzM3NmIwLi45
YjRjMDZjNDliYmY3YzU4ZmRmNjVkMmI1MTM1OGEyOTkwNDdkZDJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuaApAQCAtODEsNiAr
ODEsNyBAQCBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiAgICAgZW51bSBjbGFzcyBZZWFyIDogdWludDhfdCB7IE5vbmUsIFR3b0RpZ2l0
LCBOdW1lcmljIH07CiAgICAgZW51bSBjbGFzcyBNb250aCA6IHVpbnQ4X3QgeyBOb25lLCBUd29E
aWdpdCwgTnVtZXJpYywgTmFycm93LCBTaG9ydCwgTG9uZyB9OwogICAgIGVudW0gY2xhc3MgRGF5
IDogdWludDhfdCB7IE5vbmUsIFR3b0RpZ2l0LCBOdW1lcmljIH07CisgICAgZW51bSBjbGFzcyBE
YXlQZXJpb2QgOiB1aW50OF90IHsgTm9uZSwgTmFycm93LCBTaG9ydCwgTG9uZyB9OwogICAgIGVu
dW0gY2xhc3MgSG91ciA6IHVpbnQ4X3QgeyBOb25lLCBUd29EaWdpdCwgTnVtZXJpYyB9OwogICAg
IGVudW0gY2xhc3MgTWludXRlIDogdWludDhfdCB7IE5vbmUsIFR3b0RpZ2l0LCBOdW1lcmljIH07
CiAgICAgZW51bSBjbGFzcyBTZWNvbmQgOiB1aW50OF90IHsgTm9uZSwgVHdvRGlnaXQsIE51bWVy
aWMgfTsKQEAgLTkzLDYgKzk0LDcgQEAgY2xhc3MgSW50bERhdGVUaW1lRm9ybWF0IGZpbmFsIDog
cHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHN0YXRpYyBBU0NJSUxpdGVyYWwgeWVhclN0
cmluZyhZZWFyKTsKICAgICBzdGF0aWMgQVNDSUlMaXRlcmFsIG1vbnRoU3RyaW5nKE1vbnRoKTsK
ICAgICBzdGF0aWMgQVNDSUlMaXRlcmFsIGRheVN0cmluZyhEYXkpOworICAgIHN0YXRpYyBBU0NJ
SUxpdGVyYWwgZGF5UGVyaW9kU3RyaW5nKERheVBlcmlvZCk7CiAgICAgc3RhdGljIEFTQ0lJTGl0
ZXJhbCBob3VyU3RyaW5nKEhvdXIpOwogICAgIHN0YXRpYyBBU0NJSUxpdGVyYWwgbWludXRlU3Ry
aW5nKE1pbnV0ZSk7CiAgICAgc3RhdGljIEFTQ0lJTGl0ZXJhbCBzZWNvbmRTdHJpbmcoU2Vjb25k
KTsKQEAgLTExNyw2ICsxMTksNyBAQCBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQgZmluYWwgOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgWWVhciBtX3llYXIgeyBZZWFyOjpOb25lIH07
CiAgICAgTW9udGggbV9tb250aCB7IE1vbnRoOjpOb25lIH07CiAgICAgRGF5IG1fZGF5IHsgRGF5
OjpOb25lIH07CisgICAgRGF5UGVyaW9kIG1fZGF5UGVyaW9kIHsgRGF5UGVyaW9kOjpOb25lIH07
CiAgICAgSG91ciBtX2hvdXIgeyBIb3VyOjpOb25lIH07CiAgICAgTWludXRlIG1fbWludXRlIHsg
TWludXRlOjpOb25lIH07CiAgICAgU2Vjb25kIG1fc2Vjb25kIHsgU2Vjb25kOjpOb25lIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAppbmRleCBlNGJhMWVl
NTg1NjQyNDA1YzY4ZmY4ZTE1NzI3OGFjMmQxMjgzZGM0Li4zZjUxY2IxOWFmZWMwYTJmZjFkNWI3
ZGViNzUwMGI3MjIwOTU5YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PcHRpb25zTGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnNMaXN0LmgKQEAgLTQ5MCw2ICs0OTAsNyBAQCBjb25zdGV4cHIgYm9vbCBlbmFibGVXZWJB
c3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIC8qIEZJWE1FOiBXZSBzaG91bGQgbWFr
ZSBzdXJlIGZpbmFsaXplcnMgZG9uJ3QgcnVuIGZvciBkZXRhY2hlZCB3aW5kb3dzIGJlZm9yZSBl
bmFibGluZyBXZWFrUmVmcyBieSBkZWZhdWx0LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0NTA4ICovIFwKICAgICB2KEJvb2wsIHVzZVdlYWtSZWZzLCBmYWxzZSwg
Tm9ybWFsLCAiRXhwb3NlIHRoZSBXZWFrUmVmIGNvbnN0cnVjdG9yLiIpIFwKICAgICB2KEJvb2ws
IHVzZUJpZ0ludCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFibGUgQmlnSW50
IHN1cHBvcnQuIikgXAorICAgIHYoQm9vbCwgdXNlSW50bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9k
LCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0IGRheVBlcmlv
ZCBmZWF0dXJlLiIpIFwKICAgICB2KEJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywg
dHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxv
Y2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBh
bHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpIFwKICAgICB2KEJvb2wsIGZvcmNlUG9seVBy
b3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3Jl
YXRlIGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikgXAogICAgIHYoQm9v
bCwgZm9yY2VNaW5pVk1Nb2RlLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgaXQgd2lsbCBmb3Jj
ZSBtaW5pIFZNIG1vZGUgb24uIikgXApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9K
U1Rlc3RzL0NoYW5nZUxvZwppbmRleCAxNmEzZTIyMzYwNjA5NjY4MTliNDQ4OTU3NTdiN2YyMWQw
YTg0Njc5Li5hYzVmYzMwMjVlYTU4MmU4OTE5ZDI3NTdkMDUxYmE0ZmQ1NzMwM2FmIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDIwLTA4LTI4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisK
KyAgICAgICAgW0pTQ10gSW1wbGVtZW50IEludGwuRGF0ZVRpbWVGb3JtYXQgZGF5UGVyaW9kCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU4MzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9p
bnRsLWRhdGV0aW1lZm9ybWF0LWRheS1wZXJpb2QuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxk
QmUpOgorICAgICAgICAodGhyb3cubmV3LkVycm9yKToKKyAgICAgICAgKiB0ZXN0MjYyL2NvbmZp
Zy55YW1sOgorCiAyMDIwLTA4LTI4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0pTQ10gYG5ldyBpbXBvcnQubWV0YSgpYCBpcyBhY2NlcHRhYmxlCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWRheS1wZXJpb2QuanMg
Yi9KU1Rlc3RzL3N0cmVzcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWRheS1wZXJpb2QuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTEzNmVjMTUyNTNhMTgzYzE5ZjlkNTY0Nzg2NWYxZThjNGIyYTE5YgotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2ludGwtZGF0ZXRpbWVmb3JtYXQtZGF5LXBlcmlvZC5q
cwpAQCAtMCwwICsxLDUyIEBACisvL0AgcnVuRGVmYXVsdCgiLS11c2VJbnRsRGF0ZVRpbWVGb3Jt
YXREYXlQZXJpb2Q9MSIpCisKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsK
KyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBl
eHBlY3RlZCAke2V4cGVjdGVkfSBidXQgZ290ICR7YWN0dWFsfWApOworfQorCit7CisgICAgbGV0
IGR0ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbiIsIHtob3VyOiAibnVtZXJpYyIsIGRh
eVBlcmlvZDogInNob3J0In0pOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIw
MTktMDUtMjBUMDc6MDA6MDAiKSksICI3IGluIHRoZSBtb3JuaW5nIik7CisKKyAgICB7CisgICAg
ICAgIGxldCBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgIHt0eXBlOiAiaG91ciIsIHZhbHVlOiAi
NyJ9LAorICAgICAgICAgICAge3R5cGU6ICJsaXRlcmFsIiwgdmFsdWU6ICIgIn0sCisgICAgICAg
ICAgICB7dHlwZTogImRheVBlcmlvZCIsIHZhbHVlOiAiaW4gdGhlIG1vcm5pbmcifQorICAgICAg
ICBdOworICAgICAgICBsZXQgYWN0dWFsID0gZHRmLmZvcm1hdFRvUGFydHMobmV3IERhdGUoIjIw
MTktMDUtMjBUMDc6MDA6MDAiKSk7CisgICAgICAgIHNob3VsZEJlKGFjdHVhbC5sZW5ndGgsIGV4
cGVjdGVkLmxlbmd0aCk7CisgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBleHBl
Y3RlZC5sZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKGFjdHVhbFtpbmRl
eF0udHlwZSwgZXhwZWN0ZWRbaW5kZXhdLnR5cGUpOworICAgICAgICAgICAgc2hvdWxkQmUoYWN0
dWFsW2luZGV4XS52YWx1ZSwgZXhwZWN0ZWRbaW5kZXhdLnZhbHVlKTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIwMTktMDUtMjBUMTE6NTk6
MDAiKSksICIxMSBpbiB0aGUgbW9ybmluZyIpOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3
IERhdGUoIjIwMTktMDUtMjBUMTI6MDA6MDAiKSksICIxMiBub29uIik7CisgICAgc2hvdWxkQmUo
ZHRmLmZvcm1hdChuZXcgRGF0ZSgiMjAxOS0wNS0yMFQxMzowMDowMCIpKSwgIjEgaW4gdGhlIGFm
dGVybm9vbiIpOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIwMTktMDUtMjBU
MTg6MDA6MDAiKSksICI2IGluIHRoZSBldmVuaW5nIik7CisgICAgc2hvdWxkQmUoZHRmLmZvcm1h
dChuZXcgRGF0ZSgiMjAxOS0wNS0yMFQyMjowMDowMCIpKSwgIjEwIGF0IG5pZ2h0Iik7CisKKyAg
ICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiemgtSGFudCIsIHtob3VyOiAibnVtZXJp
YyIsIGRheVBlcmlvZDogInNob3J0In0pOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERh
dGUoIjIwMTktMDUtMjBUMDc6MDA6MDAiKSksICLmuIXmmag35pmCIik7CisgICAgeworICAgICAg
ICBsZXQgZXhwZWN0ZWQgPSBbCisgICAgICAgICAgICB7dHlwZTogImRheVBlcmlvZCIsIHZhbHVl
OiAi5riF5pmoIn0sCisgICAgICAgICAgICB7dHlwZTogImhvdXIiLCB2YWx1ZTogIjcifSwKKyAg
ICAgICAgICAgIHt0eXBlOiAibGl0ZXJhbCIsIHZhbHVlOiAi5pmCIn0KKyAgICAgICAgXTsKKyAg
ICAgICAgbGV0IGFjdHVhbCA9IGR0Zi5mb3JtYXRUb1BhcnRzKG5ldyBEYXRlKCIyMDE5LTA1LTIw
VDA3OjAwOjAwIikpOworICAgICAgICBzaG91bGRCZShhY3R1YWwubGVuZ3RoLCBleHBlY3RlZC5s
ZW5ndGgpOworICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZXhwZWN0ZWQubGVu
Z3RoOyArK2luZGV4KSB7CisgICAgICAgICAgICBzaG91bGRCZShhY3R1YWxbaW5kZXhdLnR5cGUs
IGV4cGVjdGVkW2luZGV4XS50eXBlKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGFjdHVhbFtpbmRl
eF0udmFsdWUsIGV4cGVjdGVkW2luZGV4XS52YWx1ZSk7CisgICAgICAgIH0KKyAgICB9CisgICAg
c2hvdWxkQmUoZHRmLmZvcm1hdChuZXcgRGF0ZSgiMjAxOS0wNS0yMFQxMTo1OTowMCIpKSwgIuS4
iuWNiDEx5pmCIik7CisgICAgc2hvdWxkQmUoZHRmLmZvcm1hdChuZXcgRGF0ZSgiMjAxOS0wNS0y
MFQxMjowMDowMCIpKSwgIuS4reWNiDEy5pmCIik7CisgICAgc2hvdWxkQmUoZHRmLmZvcm1hdChu
ZXcgRGF0ZSgiMjAxOS0wNS0yMFQxMzowMDowMCIpKSwgIuS4i+WNiDHmmYIiKTsKKyAgICBzaG91
bGRCZShkdGYuZm9ybWF0KG5ldyBEYXRlKCIyMDE5LTA1LTIwVDE4OjAwOjAwIikpLCAi5LiL5Y2I
NuaZgiIpOworICAgIHNob3VsZEJlKGR0Zi5mb3JtYXQobmV3IERhdGUoIjIwMTktMDUtMjBUMjI6
MDA6MDAiKSksICLmmZrkuIoxMOaZgiIpOworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L2NvbmZpZy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCmluZGV4IDg4OGQxMTI4
NTBlNDliNDQzMjg5NjlkNWM1YzI0M2QzMjg5Y2I2MDQuLmZjZGJjZDg3ZGQxZjY4YWEwMWIwMmUz
ZGMyZDJmZmI4Yzg0YmFhOWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFt
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKQEAgLTYsNiArNiw3IEBAIGZsYWdz
OgogICBGaW5hbGl6YXRpb25SZWdpc3RyeTogdXNlV2Vha1JlZnMKICAgY2xhc3MtZmllbGRzLXB1
YmxpYzogdXNlUHVibGljQ2xhc3NGaWVsZHMKICAgY2xhc3MtZmllbGRzLXByaXZhdGU6IHVzZVBy
aXZhdGVDbGFzc0ZpZWxkcworICBJbnRsLkRhdGVUaW1lRm9ybWF0LWRheVBlcmlvZDogdXNlSW50
bERhdGVUaW1lRm9ybWF0RGF5UGVyaW9kCiBza2lwOgogICBmZWF0dXJlczoKICAgICAtIFNoYXJl
ZEFycmF5QnVmZmVyCkBAIC0yMyw3ICsyNCw2IEBAIHNraXA6CiAgICAgIyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDc1CiAgICAgLSByZWdleHAtbWF0Y2gtaW5k
aWNlcwogICAgIC0gdG9wLWxldmVsLWF3YWl0Ci0gICAgLSBJbnRsLkRhdGVUaW1lRm9ybWF0LWRh
eVBlcmlvZAogICAgIC0gSW50bC5MaXN0Rm9ybWF0CiAgIHBhdGhzOgogICAgIC0gdGVzdC9idWls
dC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJpZ0ludDY0Cg==
</data>
<flag name="review"
          id="422907"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
      

    </bug>

</bugzilla>