<?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>223783</bug_id>
          
          <creation_ts>2021-03-25 23:11:13 -0700</creation_ts>
          <short_desc>[JSC] Use new Apple ICU APIs to avoid C++ ICU API usage</short_desc>
          <delta_ts>2021-04-18 02:33:41 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</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>1744074</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-25 23:11:13 -0700</bug_when>
    <thetext>[JSC] Use new Apple ICU APIs to avoid C++ ICU API usage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744075</commentid>
    <comment_count>1</comment_count>
      <attachid>424320</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-25 23:12:41 -0700</bug_when>
    <thetext>Created attachment 424320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744076</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-25 23:12:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/75060240&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744077</commentid>
    <comment_count>3</comment_count>
      <attachid>424321</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-25 23:17:11 -0700</bug_when>
    <thetext>Created attachment 424321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744112</commentid>
    <comment_count>4</comment_count>
      <attachid>424321</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-03-26 02:09:17 -0700</bug_when>
    <thetext>Comment on attachment 424321
Patch

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

&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:107
&gt; +#endif

Why not just have an #else
    using OpaqueICUTimeZone = icu::Timezone;
here and avoid all the bitwise_cast, as well as remove some of the #if HAVE(ICU_C_TIMEZONE_API) below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744121</commentid>
    <comment_count>5</comment_count>
      <attachid>424321</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-26 02:38:25 -0700</bug_when>
    <thetext>Comment on attachment 424321
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:107
&gt;&gt; +#endif
&gt; 
&gt; Why not just have an #else
&gt;     using OpaqueICUTimeZone = icu::Timezone;
&gt; here and avoid all the bitwise_cast, as well as remove some of the #if HAVE(ICU_C_TIMEZONE_API) below?

That sounds nice. Changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744124</commentid>
    <comment_count>6</comment_count>
      <attachid>424337</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-26 02:40:35 -0700</bug_when>
    <thetext>Created attachment 424337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744127</commentid>
    <comment_count>7</comment_count>
      <attachid>424321</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-26 02:50:07 -0700</bug_when>
    <thetext>Comment on attachment 424321
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:107
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; Why not just have an #else
&gt;&gt;     using OpaqueICUTimeZone = icu::Timezone;
&gt;&gt; here and avoid all the bitwise_cast, as well as remove some of the #if HAVE(ICU_C_TIMEZONE_API) below?
&gt; 
&gt; That sounds nice. Changed.

Ah, this does not work. using (typedef) and class forward declaration are different.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744128</commentid>
    <comment_count>8</comment_count>
      <attachid>424339</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-26 02:51:37 -0700</bug_when>
    <thetext>Created attachment 424339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744192</commentid>
    <comment_count>9</comment_count>
      <attachid>424339</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-03-26 08:55:37 -0700</bug_when>
    <thetext>Comment on attachment 424339
Patch

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

r=me.  Please make sure that the mac-AS-debug-wk2 bot failure is not real.

&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:133
&gt; +    // The above can fail if input date is invalid: NaN etc.
&gt; +    // We can return any values in this case since later we fail when computing non timezone offset part anyway.
&gt; +    constexpr LocalTimeOffset failed { false, 0 };

&quot;The above&quot; sounds wrong since there&apos;s no code that has any effect above.  How about changing it to &quot;This function&quot;?

This failed return value also seem to contradict the comment above the function which states that &quot;If this function is called with NaN it returns NaN.&quot;  Maybe remove the comment above the function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744292</commentid>
    <comment_count>10</comment_count>
      <attachid>424339</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-26 13:04:52 -0700</bug_when>
    <thetext>Comment on attachment 424339
Patch

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

Thanks. And AS fail is media/media-fragments/TC0051.html, which is known flaky these days.

&gt;&gt; Source/JavaScriptCore/runtime/JSDateMath.cpp:133
&gt;&gt; +    constexpr LocalTimeOffset failed { false, 0 };
&gt; 
&gt; &quot;The above&quot; sounds wrong since there&apos;s no code that has any effect above.  How about changing it to &quot;This function&quot;?
&gt; 
&gt; This failed return value also seem to contradict the comment above the function which states that &quot;If this function is called with NaN it returns NaN.&quot;  Maybe remove the comment above the function?

Yes, I&apos;ve changed them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744294</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-26 13:07:45 -0700</bug_when>
    <thetext>Committed r275109 (235817@main): &lt;https://commits.webkit.org/235817@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751595</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-18 02:33:41 -0700</bug_when>
    <thetext>*** Bug 222160 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424320</attachid>
            <date>2021-03-25 23:12:41 -0700</date>
            <delta_ts>2021-03-25 23:17:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223783-20210325231240.patch</filename>
            <type>text/plain</type>
            <size>11815</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
Mjg5M2FmYjVjZmM1YzMxNGEyOGJjZDBlZGZmM2FhOTlkZDA0MmQ4Li41OWJlMmM3YmY5NDg4ZWM5
ODEyMTAwNmU1MWM0M2U2MmJhNjJjNTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMS0wMy0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFVzZSBuZXcgQXBwbGUgSUNVIEFQSXMgdG8gYXZvaWQgQysrIElD
VSBBUEkgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzc4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzUwNjAyNDA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZG9wdHMg
SUNVIDY5J3MgZHJhZnQgQVBJcyB0byBhdm9pZCB1c2luZyBJQ1UgQysrIEFQSXMgaW4gbmV3ZXIg
bWFjT1MgYnVpbGQuCisgICAgICAgIEFwcGxlSUNVIGFkb3B0cyB0aGVzZSBkcmFmdCBBUElzIHNv
IHRoYXQgd2UgY2FuIHVzZSBpdCBldmVuIGluIElDVSA2OCBpZiBJQ1UgaXMgQXBwbGVJQ1UuCisK
KyAgICAgICAgKiBydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHA6CisgICAgICAgICogcnVu
dGltZS9KU0RhdGVNYXRoLmNwcDoKKyAgICAgICAgKEpTQzo6T3BhcXVlSUNVVGltZVpvbmVEZWxl
dGVyOjpvcGVyYXRvcigpKToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpjYWxjdWxhdGVMb2Nh
bFRpbWVPZmZzZXQpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6OmRlZmF1bHRUaW1lWm9uZSk6
CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6dGltZVpvbmVDYWNoZVNsb3cpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNEYXRlTWF0aC5oOgorCiAyMDIxLTAzLTI1ICBKZXNzaWUgQmVybGluICA8amJl
cmxpbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSAxMC4xMyBERVBMT1lNRU5UX1RBUkdF
VHMgYW5kIFNZU1RFTV9WRVJTSU9OX1BSRUZJWHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggNTIxZWFmZTAwNDdjMjcwMzMzZTE2
ZmYyZjA5YjdmOTEwZTFmZTA3ZC4uOTY2YjRmZjQ3YjVhM2JiNWEzNmYwNWI3MjcxYzQ3YmEzOTlk
NTBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0yNSAgWXVzdWtlIFN1enVraSAgPHlz
dXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIFVzZSBuZXcgQXBwbGUgSUNVIEFQSXMg
dG8gYXZvaWQgQysrIElDVSBBUEkgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMzc4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzUwNjAy
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
dGYvRGF0ZU1hdGguaDoKKyAgICAgICAgKFdURjo6TG9jYWxUaW1lT2Zmc2V0OjpMb2NhbFRpbWVP
ZmZzZXQpOgorCiAyMDIxLTAzLTI1ICBKZXNzaWUgQmVybGluICA8amJlcmxpbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlbW92ZSAxMC4xMyBERVBMT1lNRU5UX1RBUkdFVHMgYW5kIFNZU1RFTV9W
RVJTSU9OX1BSRUZJWHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxEYXRlVGltZUZvcm1hdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsRGF0ZVRpbWVGb3JtYXQuY3BwCmluZGV4IGExN2E5YzIwNDkyNWIwNzdjMmMzZjhlZjk3M2E5
OTZiY2FlMjcxOWIuLmY1MmViYjIyMmIzNGJkNmMwZDQzODI5YjUzYjk3NTdiOWExZmMzYjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1h
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9y
bWF0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkludGxPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgor
I2luY2x1ZGUgIkpTRGF0ZU1hdGguaCIKICNpbmNsdWRlICJPYmplY3RDb25zdHJ1Y3Rvci5oIgog
I2luY2x1ZGUgPHVuaWNvZGUvdWNhbC5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdWVudW0uaD4KQEAg
LTU5LDggKzYwLDYgQEAgdm9pZCBVRGF0ZUludGVydmFsRm9ybWF0RGVsZXRlcjo6b3BlcmF0b3Io
KShVRGF0ZUludGVydmFsRm9ybWF0KiBmb3JtYXR0ZXIpCiAgICAgICAgIHVkdGl0dmZtdF9jbG9z
ZShmb3JtYXR0ZXIpOwogfQogCi1zdGF0aWMgY29uc3RleHByIGRvdWJsZSBtaW5FQ01BU2NyaXB0
VGltZSA9IC04LjY0RTE1OwotCiBjb25zdCBDbGFzc0luZm8gSW50bERhdGVUaW1lRm9ybWF0Ojpz
X2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEludGxEYXRlVGltZUZvcm1hdCkgfTsKIAogbmFtZXNwYWNlIEludGxE
YXRlVGltZUZvcm1hdEludGVybmFsIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNEYXRlTWF0aC5jcHAKaW5kZXggMGRmNGJhMGIwNzhhMTIyZTMzYjhiZmY3MDdhZTgwOGU1NTI4
NDU4NC4uNTJhYzdhYWIzYTIzMDdkNDgwODI5ZDY0ODBjZWM0NzRjMDhkMDhiNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5jcHAKQEAgLTc1LDcgKzc1LDE1
IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5j
bHVkZSA8bGltaXRzPgotCisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvaWN1L0lDVUhlbHBlcnMuaD4K
KworI2lmIFVfSUNVX1ZFUlNJT05fTUFKT1JfTlVNID49IDY4ICYmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisjZGVmaW5lIEhBVkVfSUNVX0NfVElNRVpPTkVfQVBJIDEKKyNpZmRlZiBVX0hJREVf
RFJBRlRfQVBJCisjdW5kZWYgVV9ISURFX0RSQUZUX0FQSQorI2VuZGlmCisjaW5jbHVkZSA8dW5p
Y29kZS91Y2FsLmg+CisjZWxzZQogLy8gaWN1OjpUaW1lWm9uZSBhbmQgaWN1OjpCYXNpY1RpbWVa
b25lIGZlYXR1cmVzIGFyZSBvbmx5IGF2YWlsYWJsZSBpbiBJQ1UgQysrIEFQSXMuCiAvLyBXZSB1
c2UgdGhlc2UgQysrIEFQSXMgYXMgYW4gZXhjZXB0aW9uLgogI3VuZGVmIFVfU0hPV19DUExVU1BM
VVNfQVBJCkBAIC04NSwxMyArOTMsMjggQEAKICNpbmNsdWRlIDx1bmljb2RlL3VuaXN0ci5oPgog
I3VuZGVmIFVfU0hPV19DUExVU1BMVVNfQVBJCiAjZGVmaW5lIFVfU0hPV19DUExVU1BMVVNfQVBJ
IDAKKyNlbmRpZgogCiBuYW1lc3BhY2UgSlNDIHsKIAorCisjaWYgSEFWRShJQ1VfQ19USU1FWk9O
RV9BUEkpCitjbGFzcyBPcGFxdWVJQ1VUaW1lWm9uZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQoT3BhcXVlSUNVVGltZVpvbmUpOworcHVibGljOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxV
Q2FsZW5kYXIsIElDVURlbGV0ZXI8dWNhbF9jbG9zZT4+IG1fY2FsZW5kYXI7Cit9OworI2VuZGlm
CisKIHZvaWQgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyOjpvcGVyYXRvcigpKE9wYXF1ZUlDVVRp
bWVab25lKiB0aW1lWm9uZSkKIHsKLSAgICBpZiAodGltZVpvbmUpCisgICAgaWYgKHRpbWVab25l
KSB7CisjaWYgSEFWRShJQ1VfQ19USU1FWk9ORV9BUEkpCisgICAgICAgIGRlbGV0ZSB0aW1lWm9u
ZTsKKyNlbHNlCiAgICAgICAgIGRlbGV0ZSBiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KHRp
bWVab25lKTsKKyNlbmRpZgorICAgIH0KIH0KIAogLy8gR2V0IHRoZSBjb21iaW5lZCBVVEMgKyBE
U1Qgb2Zmc2V0IGZvciB0aGUgdGltZSBwYXNzZWQgaW4uCkBAIC0xMDEsMjIgKzEyNCw0OCBAQCB2
b2lkIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcjo6b3BlcmF0b3IoKShPcGFxdWVJQ1VUaW1lWm9u
ZSogdGltZVpvbmUpCiAvLyBJZiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIE5hTiBpdCBy
ZXR1cm5zIE5hTi4KIExvY2FsVGltZU9mZnNldCBEYXRlQ2FjaGU6OmNhbGN1bGF0ZUxvY2FsVGlt
ZU9mZnNldChkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVUeXBlIGlucHV0
VGltZVR5cGUpCiB7Ci0gICAgYXV0byYgdGltZVpvbmVDYWNoZSA9ICpiaXR3aXNlX2Nhc3Q8aWN1
OjpUaW1lWm9uZSo+KHRoaXMtPnRpbWVab25lQ2FjaGUoKSk7CiAgICAgaW50MzJfdCByYXdPZmZz
ZXQgPSAwOwogICAgIGludDMyX3QgZHN0T2Zmc2V0ID0gMDsKICAgICBVRXJyb3JDb2RlIHN0YXR1
cyA9IFVfWkVST19FUlJPUjsKKworICAgIC8vIFRoZSBhYm92ZSBjYW4gZmFpbCBpZiBpbnB1dCBk
YXRlIGlzIGludmFsaWQ6IE5hTiBldGMuCisgICAgLy8gV2UgY2FuIHJldHVybiBhbnkgdmFsdWVz
IGluIHRoaXMgY2FzZSBzaW5jZSBsYXRlciB3ZSBmYWlsIHdoZW4gY29tcHV0aW5nIG5vbiB0aW1l
em9uZSBvZmZzZXQgcGFydCBhbnl3YXkuCisgICAgY29uc3RleHByIExvY2FsVGltZU9mZnNldCBm
YWlsZWQgeyBmYWxzZSwgMCB9OworCisjaWYgSEFWRShJQ1VfQ19USU1FWk9ORV9BUEkpCisgICAg
YXV0byYgdGltZVpvbmVDYWNoZSA9ICp0aGlzLT50aW1lWm9uZUNhY2hlKCk7CisgICAgdWNhbF9z
ZXRNaWxsaXModGltZVpvbmVDYWNoZS5tX2NhbGVuZGFyLmdldCgpLCBtaWxsaXNlY29uZHNGcm9t
RXBvY2gsICZzdGF0dXMpOworICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKKyAgICAgICAgcmV0
dXJuIGZhaWxlZDsKKworICAgIGlmIChpbnB1dFRpbWVUeXBlICE9IFdURjo6TG9jYWxUaW1lKSB7
CisgICAgICAgIHJhd09mZnNldCA9IHVjYWxfZ2V0KHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5n
ZXQoKSwgVUNBTF9aT05FX09GRlNFVCwgJnN0YXR1cyk7CisgICAgICAgIGlmIChVX0ZBSUxVUkUo
c3RhdHVzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWlsZWQ7CisgICAgICAgIGRzdE9mZnNldCA9
IHVjYWxfZ2V0KHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5nZXQoKSwgVUNBTF9EU1RfT0ZGU0VU
LCAmc3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorICAgICAgICAgICAg
cmV0dXJuIGZhaWxlZDsKKyAgICB9IGVsc2UgeworICAgICAgICB1Y2FsX2dldFRpbWVab25lT2Zm
c2V0RnJvbUxvY2FsKHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5nZXQoKSwgVUNBTF9UWl9MT0NB
TF9GT1JNRVIsIFVDQUxfVFpfTE9DQUxfRk9STUVSLCAmcmF3T2Zmc2V0LCAmZHN0T2Zmc2V0LCAm
c3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorICAgICAgICAgICAgcmV0
dXJuIGZhaWxlZDsKKyAgICB9CisjZWxzZQorICAgIGF1dG8mIHRpbWVab25lQ2FjaGUgPSAqYml0
d2lzZV9jYXN0PGljdTo6VGltZVpvbmUqPih0aGlzLT50aW1lWm9uZUNhY2hlKCkpOwogICAgIGlm
IChpbnB1dFRpbWVUeXBlICE9IFdURjo6TG9jYWxUaW1lKSB7CiAgICAgICAgIGNvbnN0ZXhwciBi
b29sIGlzTG9jYWxUaW1lID0gZmFsc2U7CiAgICAgICAgIHRpbWVab25lQ2FjaGUuZ2V0T2Zmc2V0
KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaXNMb2NhbFRpbWUsIHJhd09mZnNldCwgZHN0T2Zmc2V0
LCBzdGF0dXMpOworICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAgICAgICAgICBy
ZXR1cm4gZmFpbGVkOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGljdTo6VGltZVpvbmUgaXMg
YSB0aW1lem9uZSBpbnN0YW5jZSB3aGljaCBpbmhlcml0cyBpY3U6OkJhc2ljVGltZVpvbmUuCiAg
ICAgICAgIC8vIGh0dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5ldC9icm93c2UvSUNVLTEz
NzA1IHdpbGwgbW92ZSBnZXRPZmZzZXRGcm9tTG9jYWwgdG8gaWN1OjpUaW1lWm9uZS4KICAgICAg
ICAgc3RhdGljX2Nhc3Q8Y29uc3QgaWN1OjpCYXNpY1RpbWVab25lJj4odGltZVpvbmVDYWNoZSku
Z2V0T2Zmc2V0RnJvbUxvY2FsKG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaWN1OjpCYXNpY1RpbWVa
b25lOjprRm9ybWVyLCBpY3U6OkJhc2ljVGltZVpvbmU6OmtGb3JtZXIsIHJhd09mZnNldCwgZHN0
T2Zmc2V0LCBzdGF0dXMpOworICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAgICAg
ICAgICByZXR1cm4gZmFpbGVkOwogICAgIH0KLSAgICAvLyBUaGUgYWJvdmUgY2FuIGZhaWwgaWYg
aW5wdXQgZGF0ZSBpcyBpbnZhbGlkOiBOYU4gZXRjLgotICAgIC8vIFdlIGNhbiByZXR1cm4gYW55
IHZhbHVlcyBpbiB0aGlzIGNhc2Ugc2luY2UgbGF0ZXIgd2UgZmFpbCB3aGVuIGNvbXB1dGluZyBu
b24gdGltZXpvbmUgb2Zmc2V0IHBhcnQgYW55d2F5LgotICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVz
KSkKLSAgICAgICAgcmV0dXJuIHsgZmFsc2UsIDAgfTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIHsg
ISFkc3RPZmZzZXQsIHJhd09mZnNldCArIGRzdE9mZnNldCB9OwogfQogCkBAIC0yODQsNiArMzMz
LDI0IEBAIGRvdWJsZSBEYXRlQ2FjaGU6OnBhcnNlRGF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBWTSYgdm0sIGNvbnN0IFN0cmluZyYKIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAy
LyNzZWMtZGVmYXVsdHRpbWV6b25lCiBTdHJpbmcgRGF0ZUNhY2hlOjpkZWZhdWx0VGltZVpvbmUo
KQogeworI2lmIEhBVkUoSUNVX0NfVElNRVpPTkVfQVBJKQorICAgIGF1dG8mIHRpbWVab25lID0g
KnRpbWVab25lQ2FjaGUoKTsKKyAgICBWZWN0b3I8VUNoYXIsIDMyPiBidWZmZXI7CisgICAgYXV0
byBzdGF0dXMgPSBjYWxsQnVmZmVyUHJvZHVjaW5nRnVuY3Rpb24odWNhbF9nZXRUaW1lWm9uZUlE
LCB0aW1lWm9uZS5tX2NhbGVuZGFyLmdldCgpLCBidWZmZXIpOworICAgIGlmIChVX0ZBSUxVUkUo
c3RhdHVzKSkKKyAgICAgICAgcmV0dXJuICJVVEMiX3M7CisKKyAgICBWZWN0b3I8VUNoYXIsIDMy
PiBjYW5vbmljYWxCdWZmZXI7CisgICAgc3RhdHVzID0gY2FsbEJ1ZmZlclByb2R1Y2luZ0Z1bmN0
aW9uKHVjYWxfZ2V0Q2Fub25pY2FsVGltZVpvbmVJRCwgYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNp
emUoKSwgY2Fub25pY2FsQnVmZmVyLCBudWxscHRyKTsKKyAgICBpZiAoVV9GQUlMVVJFKHN0YXR1
cykpCisgICAgICAgIHJldHVybiAiVVRDIl9zOworCisgICAgU3RyaW5nIGNhbm9uaWNhbCA9IFN0
cmluZyhjYW5vbmljYWxCdWZmZXIpOworICAgIGlmIChpc1VUQ0VxdWl2YWxlbnQoY2Fub25pY2Fs
KSkKKyAgICAgICAgcmV0dXJuICJVVEMiX3M7CisKKyAgICByZXR1cm4gY2Fub25pY2FsOworI2Vs
c2UKICAgICBpY3U6OlVuaWNvZGVTdHJpbmcgdGltZVpvbmVJRDsKICAgICBpY3U6OlVuaWNvZGVT
dHJpbmcgY2Fub25pY2FsVGltZVpvbmVJRDsKICAgICBhdXRvJiB0aW1lWm9uZSA9ICpiaXR3aXNl
X2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KHRpbWVab25lQ2FjaGUoKSk7CkBAIC0zMDAsNiArMzY3LDcg
QEAgU3RyaW5nIERhdGVDYWNoZTo6ZGVmYXVsdFRpbWVab25lKCkKICAgICAgICAgcmV0dXJuICJV
VEMiX3M7CiAKICAgICByZXR1cm4gY2Fub25pY2FsOworI2VuZGlmCiB9CiAKIC8vIFRvIGNvbmZp
bmUgaWN1OjpUaW1lWm9uZSBkZXN0cnVjdG9yIGludm9jYXRpb24gaW4gdGhpcyBmaWxlLgpAQCAt
MzEzLDkgKzM4MSwyMCBAQCBSZWY8RGF0ZUluc3RhbmNlRGF0YT4gRGF0ZUNhY2hlOjpjYWNoZWRE
YXRlSW5zdGFuY2VEYXRhKGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tRQogCiB2b2lkIERhdGVDYWNo
ZTo6dGltZVpvbmVDYWNoZVNsb3coKQogewotICAgIC8vIERvIG5vdCB1c2UgaWN1OjpUaW1lWm9u
ZTo6Y3JlYXRlRGVmYXVsdC4gSUNVIGludGVybmFsbHkgaGFzIGEgY2FjaGUgZm9yIHRpbWV6b25l
IGFuZCBjcmVhdGVEZWZhdWx0IHJldHVybnMgdGhpcyBjYWNoZWQgdmFsdWUuCiAgICAgQVNTRVJU
KCFtX3RpbWVab25lQ2FjaGUpOworI2lmIEhBVkUoSUNVX0NfVElNRVpPTkVfQVBJKQorICAgIGF1
dG8qIGNhY2hlID0gbmV3IE9wYXF1ZUlDVVRpbWVab25lOworICAgIFZlY3RvcjxVQ2hhciwgMzI+
IHRpbWVab25lSUQ7CisgICAgYXV0byBzdGF0dXMgPSBjYWxsQnVmZmVyUHJvZHVjaW5nRnVuY3Rp
b24odWNhbF9nZXRIb3N0VGltZVpvbmUsIHRpbWVab25lSUQpOworICAgIEFTU0VSVF9VTlVTRUQo
c3RhdHVzLCBVX1NVQ0NFU1Moc3RhdHVzKSk7CisgICAgY2FjaGUtPm1fY2FsZW5kYXIgPSBzdGQ6
OnVuaXF1ZV9wdHI8VUNhbGVuZGFyLCBJQ1VEZWxldGVyPHVjYWxfY2xvc2U+Pih1Y2FsX29wZW4o
dGltZVpvbmVJRC5kYXRhKCksIHRpbWVab25lSUQuc2l6ZSgpLCAiIiwgVUNBTF9ERUZBVUxULCAm
c3RhdHVzKSk7CisgICAgQVNTRVJUX1VOVVNFRChzdGF0dXMsIFVfU1VDQ0VTUyhzdGF0dXMpKTsK
KyAgICB1Y2FsX3NldEdyZWdvcmlhbkNoYW5nZShjYWNoZS0+bV9jYWxlbmRhci5nZXQoKSwgbWlu
RUNNQVNjcmlwdFRpbWUsICZzdGF0dXMpOyAvLyBJZ25vcmUgInVuc3VwcG9ydGVkIiBlcnJvci4K
KyAgICBtX3RpbWVab25lQ2FjaGUgPSBzdGQ6OnVuaXF1ZV9wdHI8T3BhcXVlSUNVVGltZVpvbmUs
IE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcj4oY2FjaGUpOworI2Vsc2UKKyAgICAvLyBEbyBub3Qg
dXNlIGljdTo6VGltZVpvbmU6OmNyZWF0ZURlZmF1bHQuIElDVSBpbnRlcm5hbGx5IGhhcyBhIGNh
Y2hlIGZvciB0aW1lem9uZSBhbmQgY3JlYXRlRGVmYXVsdCByZXR1cm5zIHRoaXMgY2FjaGVkIHZh
bHVlLgogICAgIG1fdGltZVpvbmVDYWNoZSA9IHN0ZDo6dW5pcXVlX3B0cjxPcGFxdWVJQ1VUaW1l
Wm9uZSwgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyPihiaXR3aXNlX2Nhc3Q8T3BhcXVlSUNVVGlt
ZVpvbmUqPihpY3U6OlRpbWVab25lOjpkZXRlY3RIb3N0VGltZVpvbmUoKSkpOworI2VuZGlmCiB9
CiAKIHZvaWQgRGF0ZUNhY2hlOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0RhdGVNYXRoLmgKaW5kZXggMTE2MzZhYmU0NDJlYzlmZWMwZWI4MjdlOTQ1MDFjMjVmZTdk
YzhmNy4uMmZkNjhjZTQ2OTc1Yjg1OGJiZGNlNDBkZTY1OGEyZjI3Y2VhMTA3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaApAQCAtNTIsNiArNTIsOCBAQCBj
bGFzcyBKU0dsb2JhbE9iamVjdDsKIGNsYXNzIE9wYXF1ZUlDVVRpbWVab25lOwogY2xhc3MgVk07
CiAKK3N0YXRpYyBjb25zdGV4cHIgZG91YmxlIG1pbkVDTUFTY3JpcHRUaW1lID0gLTguNjRFMTU7
CisKIC8vIFdlIGRvIG5vdCBleHBvc2UgaWN1OjpUaW1lWm9uZSBpbiB0aGlzIGhlYWRlciBmaWxl
LiBBbmQgd2UgY2Fubm90IHVzZSBpY3U6OlRpbWVab25lIGZvcndhcmQgZGVjbGFyYXRpb24KIC8v
IGJlY2F1c2UgaWN1IG5hbWVzcGFjZSBjYW4gYmUgYW4gYWxpYXMgdG8gaWN1JHZlck51bSBuYW1l
c3BhY2UuCiBzdHJ1Y3QgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oCmluZGV4
IDYwNDM4NTVlMzU1NGY5MWM2MWI5YjRkNTFhMjU1YWJmY2I0NDQxZDIuLmRlMGI0NWJkMGE4OGVh
YmE0NjZiNmU2YzBhZDY2ZGMwMmY1MjU3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Rh
dGVNYXRoLmgKKysrIGIvU291cmNlL1dURi93dGYvRGF0ZU1hdGguaApAQCAtNjAsNyArNjAsNyBA
QCBzdHJ1Y3QgTG9jYWxUaW1lT2Zmc2V0IHsKICAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExP
Q0FURUQ7CiAKICAgICBMb2NhbFRpbWVPZmZzZXQoKSA9IGRlZmF1bHQ7Ci0gICAgTG9jYWxUaW1l
T2Zmc2V0KGJvb2wgaXNEU1QsIGludCBvZmZzZXQpCisgICAgY29uc3RleHByIExvY2FsVGltZU9m
ZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQogICAgICAgICA6IGlzRFNUKGlzRFNUKQogICAg
ICAgICAsIG9mZnNldChvZmZzZXQpCiAgICAgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VM
b2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBmN2FmYTY4MmQ4NzI5NDBiNjU1NDM2ZTZiZGNm
YTc4YzI4ZDExNDY4Li5iOTljZTY5NDZiZTI1OGUxY2E5NTM1NjVhODNjYjRkMjBkYjU4ZjQ4IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIxLTAzLTI1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5j
b20+CisKKyAgICAgICAgW0pTQ10gVXNlIG5ldyBBcHBsZSBJQ1UgQVBJcyB0byBhdm9pZCBDKysg
SUNVIEFQSSB1c2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzNzgzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTA2MDI0MD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9pbnRsLWRh
dGV0aW1lZm9ybWF0LWZvcm1hdHJhbmdldG9wYXJ0cy1zaG91bGQtbm90LWhhbmRsZS1ncmVnb3Jp
YW4tY2hhbmdlLWRhdGUuanM6CisgICAgICAgIChzaG91bGRCZSk6CisKIDIwMjEtMDMtMjUgIFRy
dWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
ZXZlcnRpbmcgcjI3NTA1Ni4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2ludGwtZGF0ZXRp
bWVmb3JtYXQtZm9ybWF0cmFuZ2V0b3BhcnRzLXNob3VsZC1ub3QtaGFuZGxlLWdyZWdvcmlhbi1j
aGFuZ2UtZGF0ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2ludGwtZGF0ZXRpbWVmb3JtYXQtZm9ybWF0
cmFuZ2V0b3BhcnRzLXNob3VsZC1ub3QtaGFuZGxlLWdyZWdvcmlhbi1jaGFuZ2UtZGF0ZS5qcwpp
bmRleCBmN2ExYjk4MDI2M2EyNTFmMDIwMGI3ZDg2ODA4NDEwZmUwOWQ5MTczLi44YmU0ZWNhNGY2
NTFhZjEwOTdlYWRkYTExZjY2ZGJjOWU4MDAwYmM5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVz
cy9pbnRsLWRhdGV0aW1lZm9ybWF0LWZvcm1hdHJhbmdldG9wYXJ0cy1zaG91bGQtbm90LWhhbmRs
ZS1ncmVnb3JpYW4tY2hhbmdlLWRhdGUuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvaW50bC1kYXRl
dGltZWZvcm1hdC1mb3JtYXRyYW5nZXRvcGFydHMtc2hvdWxkLW5vdC1oYW5kbGUtZ3JlZ29yaWFu
LWNoYW5nZS1kYXRlLmpzCkBAIC00LDcgKzQsNyBAQAogCiBmdW5jdGlvbiBzaG91bGRCZShhY3R1
YWwsIGV4cGVjdGVkKSB7CiAgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCi0gICAgICAgIHRo
cm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwgKyAiIGV4cGVjdGVkOiAiICsgZXhwZWN0ZWQp
OwogfQogCiBmdW5jdGlvbiBjb21wYXJlUGFydHMoYWN0dWFsLCBleHBlY3RlZCwgYWN0dWFsU291
cmNlVW5kZWZpbmVkKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424321</attachid>
            <date>2021-03-25 23:17:11 -0700</date>
            <delta_ts>2021-03-26 02:40:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223783-20210325231710.patch</filename>
            <type>text/plain</type>
            <size>10638</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
Mjg5M2FmYjVjZmM1YzMxNGEyOGJjZDBlZGZmM2FhOTlkZDA0MmQ4Li4yODBlZWFmMTYxNjA5NTIw
ZjNiZjgzYzQ5MWRkNDQ1MGE1Y2UzNmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wMy0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFVzZSBuZXcgQXBwbGUgSUNVIEFQSXMgdG8gYXZvaWQgQysrIElD
VSBBUEkgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzc4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzUwNjAyNDA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZG9wdHMg
SUNVIDY5J3MgZHJhZnQgQVBJcyB0byBhdm9pZCB1c2luZyBJQ1UgQysrIEFQSXMgaW4gbmV3ZXIg
bWFjT1MgYnVpbGQuCisgICAgICAgIEFwcGxlSUNVIGFkb3B0cyB0aGVzZSBkcmFmdCBBUElzIHNv
IHRoYXQgd2UgY2FuIHVzZSBpdCBldmVuIGluIElDVSA2OCBpZiBJQ1UgaXMgQXBwbGVJQ1UuCisg
ICAgICAgIFRoZSBBUEkgaXMgdWNhbF9nZXRUaW1lWm9uZU9mZnNldEZyb21Mb2NhbCwgd2hpY2gg
aXMgYmFjay1wb3J0ZWQgZnJvbSBJQ1UgNjlbMV0uCisgICAgICAgIFRoZSBwdXJwb3NlIG9mIHRo
aXMgQVBJIGlzIHRoYXQgY2FsY3VsYXRpbmcgdGltZXpvbmUgb2Zmc2V0IGFuZCBkc3Qgb2Zmc2V0
IGZyb20gKmxvY2FsKiB0aW1lLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9naXRodWIuY29tL3Vu
aWNvZGUtb3JnL2ljdS9jb21taXQvNTNhYTA1MDVjNWY5NWE4Y2ViYmQ3YjQ0MjFkNDc0ZmQyYTc5
MGI4MAorCisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNEYXRlTWF0aC5jcHA6CisgICAgICAgIChKU0M6Ok9wYXF1ZUlDVVRpbWVa
b25lRGVsZXRlcjo6b3BlcmF0b3IoKSk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6Y2FsY3Vs
YXRlTG9jYWxUaW1lT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpkZWZhdWx0VGlt
ZVpvbmUpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVTbG93KToKKyAg
ICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguaDoKKwogMjAyMS0wMy0yNSAgSmVzc2llIEJlcmxp
biAgPGpiZXJsaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgMTAuMTMgREVQTE9ZTUVO
VF9UQVJHRVRzIGFuZCBTWVNURU1fVkVSU0lPTl9QUkVGSVhzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDUyMWVhZmUwMDQ3YzI3
MDMzM2UxNmZmMmYwOWI3ZjkxMGUxZmUwN2QuLjk2NmI0ZmY0N2I1YTNiYjVhMzZmMDViNzI3MWM0
N2JhMzk5ZDUwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDMtMjUgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBVc2UgbmV3IEFwcGxlIElD
VSBBUElzIHRvIGF2b2lkIEMrKyBJQ1UgQVBJIHVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc1MDYwMjQwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd3RmL0RhdGVNYXRoLmg6CisgICAgICAgIChXVEY6OkxvY2FsVGltZU9mZnNldDo6TG9j
YWxUaW1lT2Zmc2V0KToKKwogMjAyMS0wMy0yNSAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgMTAuMTMgREVQTE9ZTUVOVF9UQVJHRVRzIGFuZCBT
WVNURU1fVkVSU0lPTl9QUkVGSVhzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmNwcAppbmRleCBhMTdhOWMyMDQ5MjViMDc3YzJjM2Y4
ZWY5NzNhOTk2YmNhZTI3MTliLi5mNTJlYmIyMjJiMzRiZDZjMGQ0MzgyOWI1M2I5NzU3YjlhMWZj
M2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRp
bWVGb3JtYXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRl
VGltZUZvcm1hdC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbnRsT2JqZWN0SW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKKyNpbmNsdWRlICJKU0RhdGVNYXRoLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0
b3IuaCIKICNpbmNsdWRlIDx1bmljb2RlL3VjYWwuaD4KICNpbmNsdWRlIDx1bmljb2RlL3VlbnVt
Lmg+CkBAIC01OSw4ICs2MCw2IEBAIHZvaWQgVURhdGVJbnRlcnZhbEZvcm1hdERlbGV0ZXI6Om9w
ZXJhdG9yKCkoVURhdGVJbnRlcnZhbEZvcm1hdCogZm9ybWF0dGVyKQogICAgICAgICB1ZHRpdHZm
bXRfY2xvc2UoZm9ybWF0dGVyKTsKIH0KIAotc3RhdGljIGNvbnN0ZXhwciBkb3VibGUgbWluRUNN
QVNjcmlwdFRpbWUgPSAtOC42NEUxNTsKLQogY29uc3QgQ2xhc3NJbmZvIEludGxEYXRlVGltZUZv
cm1hdDo6c19pbmZvID0geyAiT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0
ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShJbnRsRGF0ZVRpbWVGb3JtYXQpIH07CiAKIG5hbWVzcGFj
ZSBJbnRsRGF0ZVRpbWVGb3JtYXRJbnRlcm5hbCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRGF0ZU1hdGguY3BwCmluZGV4IDBkZjRiYTBiMDc4YTEyMmUzM2I4YmZmNzA3YWU4
MDhlNTUyODQ1ODQuLjUyYWM3YWFiM2EyMzA3ZDQ4MDgyOWQ2NDgwY2VjNDc0YzA4ZDA4YjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC03NSw3
ICs3NSwxNSBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJWTS5o
IgogI2luY2x1ZGUgPGxpbWl0cz4KLQorI2luY2x1ZGUgPHd0Zi91bmljb2RlL2ljdS9JQ1VIZWxw
ZXJzLmg+CisKKyNpZiBVX0lDVV9WRVJTSU9OX01BSk9SX05VTSA+PSA2OCAmJiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorI2RlZmluZSBIQVZFX0lDVV9DX1RJTUVaT05FX0FQSSAxCisjaWZkZWYg
VV9ISURFX0RSQUZUX0FQSQorI3VuZGVmIFVfSElERV9EUkFGVF9BUEkKKyNlbmRpZgorI2luY2x1
ZGUgPHVuaWNvZGUvdWNhbC5oPgorI2Vsc2UKIC8vIGljdTo6VGltZVpvbmUgYW5kIGljdTo6QmFz
aWNUaW1lWm9uZSBmZWF0dXJlcyBhcmUgb25seSBhdmFpbGFibGUgaW4gSUNVIEMrKyBBUElzLgog
Ly8gV2UgdXNlIHRoZXNlIEMrKyBBUElzIGFzIGFuIGV4Y2VwdGlvbi4KICN1bmRlZiBVX1NIT1df
Q1BMVVNQTFVTX0FQSQpAQCAtODUsMTMgKzkzLDI4IEBACiAjaW5jbHVkZSA8dW5pY29kZS91bmlz
dHIuaD4KICN1bmRlZiBVX1NIT1dfQ1BMVVNQTFVTX0FQSQogI2RlZmluZSBVX1NIT1dfQ1BMVVNQ
TFVTX0FQSSAwCisjZW5kaWYKIAogbmFtZXNwYWNlIEpTQyB7CiAKKworI2lmIEhBVkUoSUNVX0Nf
VElNRVpPTkVfQVBJKQorY2xhc3MgT3BhcXVlSUNVVGltZVpvbmUgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEKE9wYXF1ZUlDVVRpbWVab25lKTsKK3B1YmxpYzoKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8VUNhbGVuZGFyLCBJQ1VEZWxldGVyPHVjYWxfY2xvc2U+PiBtX2NhbGVuZGFyOworfTsK
KyNlbmRpZgorCiB2b2lkIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcjo6b3BlcmF0b3IoKShPcGFx
dWVJQ1VUaW1lWm9uZSogdGltZVpvbmUpCiB7Ci0gICAgaWYgKHRpbWVab25lKQorICAgIGlmICh0
aW1lWm9uZSkgeworI2lmIEhBVkUoSUNVX0NfVElNRVpPTkVfQVBJKQorICAgICAgICBkZWxldGUg
dGltZVpvbmU7CisjZWxzZQogICAgICAgICBkZWxldGUgYml0d2lzZV9jYXN0PGljdTo6VGltZVpv
bmUqPih0aW1lWm9uZSk7CisjZW5kaWYKKyAgICB9CiB9CiAKIC8vIEdldCB0aGUgY29tYmluZWQg
VVRDICsgRFNUIG9mZnNldCBmb3IgdGhlIHRpbWUgcGFzc2VkIGluLgpAQCAtMTAxLDIyICsxMjQs
NDggQEAgdm9pZCBPcGFxdWVJQ1VUaW1lWm9uZURlbGV0ZXI6Om9wZXJhdG9yKCkoT3BhcXVlSUNV
VGltZVpvbmUqIHRpbWVab25lKQogLy8gSWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBO
YU4gaXQgcmV0dXJucyBOYU4uCiBMb2NhbFRpbWVPZmZzZXQgRGF0ZUNhY2hlOjpjYWxjdWxhdGVM
b2NhbFRpbWVPZmZzZXQoZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgV1RGOjpUaW1lVHlw
ZSBpbnB1dFRpbWVUeXBlKQogewotICAgIGF1dG8mIHRpbWVab25lQ2FjaGUgPSAqYml0d2lzZV9j
YXN0PGljdTo6VGltZVpvbmUqPih0aGlzLT50aW1lWm9uZUNhY2hlKCkpOwogICAgIGludDMyX3Qg
cmF3T2Zmc2V0ID0gMDsKICAgICBpbnQzMl90IGRzdE9mZnNldCA9IDA7CiAgICAgVUVycm9yQ29k
ZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CisKKyAgICAvLyBUaGUgYWJvdmUgY2FuIGZhaWwgaWYg
aW5wdXQgZGF0ZSBpcyBpbnZhbGlkOiBOYU4gZXRjLgorICAgIC8vIFdlIGNhbiByZXR1cm4gYW55
IHZhbHVlcyBpbiB0aGlzIGNhc2Ugc2luY2UgbGF0ZXIgd2UgZmFpbCB3aGVuIGNvbXB1dGluZyBu
b24gdGltZXpvbmUgb2Zmc2V0IHBhcnQgYW55d2F5LgorICAgIGNvbnN0ZXhwciBMb2NhbFRpbWVP
ZmZzZXQgZmFpbGVkIHsgZmFsc2UsIDAgfTsKKworI2lmIEhBVkUoSUNVX0NfVElNRVpPTkVfQVBJ
KQorICAgIGF1dG8mIHRpbWVab25lQ2FjaGUgPSAqdGhpcy0+dGltZVpvbmVDYWNoZSgpOworICAg
IHVjYWxfc2V0TWlsbGlzKHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5nZXQoKSwgbWlsbGlzZWNv
bmRzRnJvbUVwb2NoLCAmc3RhdHVzKTsKKyAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAg
ICAgIHJldHVybiBmYWlsZWQ7CisKKyAgICBpZiAoaW5wdXRUaW1lVHlwZSAhPSBXVEY6OkxvY2Fs
VGltZSkgeworICAgICAgICByYXdPZmZzZXQgPSB1Y2FsX2dldCh0aW1lWm9uZUNhY2hlLm1fY2Fs
ZW5kYXIuZ2V0KCksIFVDQUxfWk9ORV9PRkZTRVQsICZzdGF0dXMpOworICAgICAgICBpZiAoVV9G
QUlMVVJFKHN0YXR1cykpCisgICAgICAgICAgICByZXR1cm4gZmFpbGVkOworICAgICAgICBkc3RP
ZmZzZXQgPSB1Y2FsX2dldCh0aW1lWm9uZUNhY2hlLm1fY2FsZW5kYXIuZ2V0KCksIFVDQUxfRFNU
X09GRlNFVCwgJnN0YXR1cyk7CisgICAgICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWlsZWQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdWNhbF9nZXRUaW1l
Wm9uZU9mZnNldEZyb21Mb2NhbCh0aW1lWm9uZUNhY2hlLm1fY2FsZW5kYXIuZ2V0KCksIFVDQUxf
VFpfTE9DQUxfRk9STUVSLCBVQ0FMX1RaX0xPQ0FMX0ZPUk1FUiwgJnJhd09mZnNldCwgJmRzdE9m
ZnNldCwgJnN0YXR1cyk7CisgICAgICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWlsZWQ7CisgICAgfQorI2Vsc2UKKyAgICBhdXRvJiB0aW1lWm9uZUNhY2hl
ID0gKmJpdHdpc2VfY2FzdDxpY3U6OlRpbWVab25lKj4odGhpcy0+dGltZVpvbmVDYWNoZSgpKTsK
ICAgICBpZiAoaW5wdXRUaW1lVHlwZSAhPSBXVEY6OkxvY2FsVGltZSkgewogICAgICAgICBjb25z
dGV4cHIgYm9vbCBpc0xvY2FsVGltZSA9IGZhbHNlOwogICAgICAgICB0aW1lWm9uZUNhY2hlLmdl
dE9mZnNldChtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGlzTG9jYWxUaW1lLCByYXdPZmZzZXQsIGRz
dE9mZnNldCwgc3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhaWxlZDsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBpY3U6OlRpbWVa
b25lIGlzIGEgdGltZXpvbmUgaW5zdGFuY2Ugd2hpY2ggaW5oZXJpdHMgaWN1OjpCYXNpY1RpbWVa
b25lLgogICAgICAgICAvLyBodHRwczovL3VuaWNvZGUtb3JnLmF0bGFzc2lhbi5uZXQvYnJvd3Nl
L0lDVS0xMzcwNSB3aWxsIG1vdmUgZ2V0T2Zmc2V0RnJvbUxvY2FsIHRvIGljdTo6VGltZVpvbmUu
CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IGljdTo6QmFzaWNUaW1lWm9uZSY+KHRpbWVab25l
Q2FjaGUpLmdldE9mZnNldEZyb21Mb2NhbChtaWxsaXNlY29uZHNGcm9tRXBvY2gsIGljdTo6QmFz
aWNUaW1lWm9uZTo6a0Zvcm1lciwgaWN1OjpCYXNpY1RpbWVab25lOjprRm9ybWVyLCByYXdPZmZz
ZXQsIGRzdE9mZnNldCwgc3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhaWxlZDsKICAgICB9Ci0gICAgLy8gVGhlIGFib3ZlIGNhbiBm
YWlsIGlmIGlucHV0IGRhdGUgaXMgaW52YWxpZDogTmFOIGV0Yy4KLSAgICAvLyBXZSBjYW4gcmV0
dXJuIGFueSB2YWx1ZXMgaW4gdGhpcyBjYXNlIHNpbmNlIGxhdGVyIHdlIGZhaWwgd2hlbiBjb21w
dXRpbmcgbm9uIHRpbWV6b25lIG9mZnNldCBwYXJ0IGFueXdheS4KLSAgICBpZiAoVV9GQUlMVVJF
KHN0YXR1cykpCi0gICAgICAgIHJldHVybiB7IGZhbHNlLCAwIH07CisjZW5kaWYKKwogICAgIHJl
dHVybiB7ICEhZHN0T2Zmc2V0LCByYXdPZmZzZXQgKyBkc3RPZmZzZXQgfTsKIH0KIApAQCAtMjg0
LDYgKzMzMywyNCBAQCBkb3VibGUgRGF0ZUNhY2hlOjpwYXJzZURhdGUoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVk0mIHZtLCBjb25zdCBTdHJpbmcmCiAvLyBodHRwczovL3RjMzkuZXMv
ZWNtYTQwMi8jc2VjLWRlZmF1bHR0aW1lem9uZQogU3RyaW5nIERhdGVDYWNoZTo6ZGVmYXVsdFRp
bWVab25lKCkKIHsKKyNpZiBIQVZFKElDVV9DX1RJTUVaT05FX0FQSSkKKyAgICBhdXRvJiB0aW1l
Wm9uZSA9ICp0aW1lWm9uZUNhY2hlKCk7CisgICAgVmVjdG9yPFVDaGFyLCAzMj4gYnVmZmVyOwor
ICAgIGF1dG8gc3RhdHVzID0gY2FsbEJ1ZmZlclByb2R1Y2luZ0Z1bmN0aW9uKHVjYWxfZ2V0VGlt
ZVpvbmVJRCwgdGltZVpvbmUubV9jYWxlbmRhci5nZXQoKSwgYnVmZmVyKTsKKyAgICBpZiAoVV9G
QUlMVVJFKHN0YXR1cykpCisgICAgICAgIHJldHVybiAiVVRDIl9zOworCisgICAgVmVjdG9yPFVD
aGFyLCAzMj4gY2Fub25pY2FsQnVmZmVyOworICAgIHN0YXR1cyA9IGNhbGxCdWZmZXJQcm9kdWNp
bmdGdW5jdGlvbih1Y2FsX2dldENhbm9uaWNhbFRpbWVab25lSUQsIGJ1ZmZlci5kYXRhKCksIGJ1
ZmZlci5zaXplKCksIGNhbm9uaWNhbEJ1ZmZlciwgbnVsbHB0cik7CisgICAgaWYgKFVfRkFJTFVS
RShzdGF0dXMpKQorICAgICAgICByZXR1cm4gIlVUQyJfczsKKworICAgIFN0cmluZyBjYW5vbmlj
YWwgPSBTdHJpbmcoY2Fub25pY2FsQnVmZmVyKTsKKyAgICBpZiAoaXNVVENFcXVpdmFsZW50KGNh
bm9uaWNhbCkpCisgICAgICAgIHJldHVybiAiVVRDIl9zOworCisgICAgcmV0dXJuIGNhbm9uaWNh
bDsKKyNlbHNlCiAgICAgaWN1OjpVbmljb2RlU3RyaW5nIHRpbWVab25lSUQ7CiAgICAgaWN1OjpV
bmljb2RlU3RyaW5nIGNhbm9uaWNhbFRpbWVab25lSUQ7CiAgICAgYXV0byYgdGltZVpvbmUgPSAq
Yml0d2lzZV9jYXN0PGljdTo6VGltZVpvbmUqPih0aW1lWm9uZUNhY2hlKCkpOwpAQCAtMzAwLDYg
KzM2Nyw3IEBAIFN0cmluZyBEYXRlQ2FjaGU6OmRlZmF1bHRUaW1lWm9uZSgpCiAgICAgICAgIHJl
dHVybiAiVVRDIl9zOwogCiAgICAgcmV0dXJuIGNhbm9uaWNhbDsKKyNlbmRpZgogfQogCiAvLyBU
byBjb25maW5lIGljdTo6VGltZVpvbmUgZGVzdHJ1Y3RvciBpbnZvY2F0aW9uIGluIHRoaXMgZmls
ZS4KQEAgLTMxMyw5ICszODEsMjAgQEAgUmVmPERhdGVJbnN0YW5jZURhdGE+IERhdGVDYWNoZTo6
Y2FjaGVkRGF0ZUluc3RhbmNlRGF0YShkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUUKIAogdm9pZCBE
YXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVTbG93KCkKIHsKLSAgICAvLyBEbyBub3QgdXNlIGljdTo6
VGltZVpvbmU6OmNyZWF0ZURlZmF1bHQuIElDVSBpbnRlcm5hbGx5IGhhcyBhIGNhY2hlIGZvciB0
aW1lem9uZSBhbmQgY3JlYXRlRGVmYXVsdCByZXR1cm5zIHRoaXMgY2FjaGVkIHZhbHVlLgogICAg
IEFTU0VSVCghbV90aW1lWm9uZUNhY2hlKTsKKyNpZiBIQVZFKElDVV9DX1RJTUVaT05FX0FQSSkK
KyAgICBhdXRvKiBjYWNoZSA9IG5ldyBPcGFxdWVJQ1VUaW1lWm9uZTsKKyAgICBWZWN0b3I8VUNo
YXIsIDMyPiB0aW1lWm9uZUlEOworICAgIGF1dG8gc3RhdHVzID0gY2FsbEJ1ZmZlclByb2R1Y2lu
Z0Z1bmN0aW9uKHVjYWxfZ2V0SG9zdFRpbWVab25lLCB0aW1lWm9uZUlEKTsKKyAgICBBU1NFUlRf
VU5VU0VEKHN0YXR1cywgVV9TVUNDRVNTKHN0YXR1cykpOworICAgIGNhY2hlLT5tX2NhbGVuZGFy
ID0gc3RkOjp1bmlxdWVfcHRyPFVDYWxlbmRhciwgSUNVRGVsZXRlcjx1Y2FsX2Nsb3NlPj4odWNh
bF9vcGVuKHRpbWVab25lSUQuZGF0YSgpLCB0aW1lWm9uZUlELnNpemUoKSwgIiIsIFVDQUxfREVG
QVVMVCwgJnN0YXR1cykpOworICAgIEFTU0VSVF9VTlVTRUQoc3RhdHVzLCBVX1NVQ0NFU1Moc3Rh
dHVzKSk7CisgICAgdWNhbF9zZXRHcmVnb3JpYW5DaGFuZ2UoY2FjaGUtPm1fY2FsZW5kYXIuZ2V0
KCksIG1pbkVDTUFTY3JpcHRUaW1lLCAmc3RhdHVzKTsgLy8gSWdub3JlICJ1bnN1cHBvcnRlZCIg
ZXJyb3IuCisgICAgbV90aW1lWm9uZUNhY2hlID0gc3RkOjp1bmlxdWVfcHRyPE9wYXF1ZUlDVVRp
bWVab25lLCBPcGFxdWVJQ1VUaW1lWm9uZURlbGV0ZXI+KGNhY2hlKTsKKyNlbHNlCisgICAgLy8g
RG8gbm90IHVzZSBpY3U6OlRpbWVab25lOjpjcmVhdGVEZWZhdWx0LiBJQ1UgaW50ZXJuYWxseSBo
YXMgYSBjYWNoZSBmb3IgdGltZXpvbmUgYW5kIGNyZWF0ZURlZmF1bHQgcmV0dXJucyB0aGlzIGNh
Y2hlZCB2YWx1ZS4KICAgICBtX3RpbWVab25lQ2FjaGUgPSBzdGQ6OnVuaXF1ZV9wdHI8T3BhcXVl
SUNVVGltZVpvbmUsIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcj4oYml0d2lzZV9jYXN0PE9wYXF1
ZUlDVVRpbWVab25lKj4oaWN1OjpUaW1lWm9uZTo6ZGV0ZWN0SG9zdFRpbWVab25lKCkpKTsKKyNl
bmRpZgogfQogCiB2b2lkIERhdGVDYWNoZTo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNEYXRlTWF0aC5oCmluZGV4IDExNjM2YWJlNDQyZWM5ZmVjMGViODI3ZTk0NTAx
YzI1ZmU3ZGM4ZjcuLjJmZDY4Y2U0Njk3NWI4NThiYmRjZTQwZGU2NThhMmYyN2NlYTEwN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmgKQEAgLTUyLDYgKzUy
LDggQEAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiBjbGFzcyBPcGFxdWVJQ1VUaW1lWm9uZTsKIGNs
YXNzIFZNOwogCitzdGF0aWMgY29uc3RleHByIGRvdWJsZSBtaW5FQ01BU2NyaXB0VGltZSA9IC04
LjY0RTE1OworCiAvLyBXZSBkbyBub3QgZXhwb3NlIGljdTo6VGltZVpvbmUgaW4gdGhpcyBoZWFk
ZXIgZmlsZS4gQW5kIHdlIGNhbm5vdCB1c2UgaWN1OjpUaW1lWm9uZSBmb3J3YXJkIGRlY2xhcmF0
aW9uCiAvLyBiZWNhdXNlIGljdSBuYW1lc3BhY2UgY2FuIGJlIGFuIGFsaWFzIHRvIGljdSR2ZXJO
dW0gbmFtZXNwYWNlLgogc3RydWN0IE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlciB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oIGIvU291cmNlL1dURi93dGYvRGF0ZU1hdGgu
aAppbmRleCA2MDQzODU1ZTM1NTRmOTFjNjFiOWI0ZDUxYTI1NWFiZmNiNDQ0MWQyLi5kZTBiNDVi
ZDBhODhlYWJhNDY2YjZlNmMwYWQ2NmRjMDJmNTI1NzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmgKQEAgLTYwLDcg
KzYwLDcgQEAgc3RydWN0IExvY2FsVGltZU9mZnNldCB7CiAgICAgV1RGX01BS0VfU1RSVUNUX0ZB
U1RfQUxMT0NBVEVEOwogCiAgICAgTG9jYWxUaW1lT2Zmc2V0KCkgPSBkZWZhdWx0OwotICAgIExv
Y2FsVGltZU9mZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQorICAgIGNvbnN0ZXhwciBMb2Nh
bFRpbWVPZmZzZXQoYm9vbCBpc0RTVCwgaW50IG9mZnNldCkKICAgICAgICAgOiBpc0RTVChpc0RT
VCkKICAgICAgICAgLCBvZmZzZXQob2Zmc2V0KQogICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424337</attachid>
            <date>2021-03-26 02:40:35 -0700</date>
            <delta_ts>2021-03-26 02:55:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223783-20210326024034.patch</filename>
            <type>text/plain</type>
            <size>11616</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
N2M4NmQ0MTU1YjUzZjVlZjg3OGZjNjM3NmQ0YTQwMTBmYWI2NDg5Li5mNjU2MzIxYzcxZGQyYWE0
M2M0YmQzMDZkZTU4NGM5YjM0OWU0OGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wMy0yNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFVzZSBuZXcgQXBwbGUgSUNVIEFQSXMgdG8gYXZvaWQgQysrIElD
VSBBUEkgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzc4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzUwNjAyNDA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZG9wdHMg
SUNVIDY5J3MgZHJhZnQgQVBJcyB0byBhdm9pZCB1c2luZyBJQ1UgQysrIEFQSXMgaW4gbmV3ZXIg
bWFjT1MgYnVpbGQuCisgICAgICAgIEFwcGxlSUNVIGFkb3B0cyB0aGVzZSBkcmFmdCBBUElzIHNv
IHRoYXQgd2UgY2FuIHVzZSBpdCBldmVuIGluIElDVSA2OCBpZiBJQ1UgaXMgQXBwbGVJQ1UuCisg
ICAgICAgIFRoZSBBUEkgaXMgdWNhbF9nZXRUaW1lWm9uZU9mZnNldEZyb21Mb2NhbCwgd2hpY2gg
aXMgYmFjay1wb3J0ZWQgZnJvbSBJQ1UgNjlbMV0uCisgICAgICAgIFRoZSBwdXJwb3NlIG9mIHRo
aXMgQVBJIGlzIHRoYXQgY2FsY3VsYXRpbmcgdGltZXpvbmUgb2Zmc2V0IGFuZCBkc3Qgb2Zmc2V0
IGZyb20gKmxvY2FsKiB0aW1lLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9naXRodWIuY29tL3Vu
aWNvZGUtb3JnL2ljdS9jb21taXQvNTNhYTA1MDVjNWY5NWE4Y2ViYmQ3YjQ0MjFkNDc0ZmQyYTc5
MGI4MAorCisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNEYXRlTWF0aC5jcHA6CisgICAgICAgIChKU0M6Ok9wYXF1ZUlDVVRpbWVa
b25lRGVsZXRlcjo6b3BlcmF0b3IoKSk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6Y2FsY3Vs
YXRlTG9jYWxUaW1lT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpkZWZhdWx0VGlt
ZVpvbmUpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVTbG93KToKKyAg
ICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguaDoKKwogMjAyMS0wMy0yNiAgSmVzc2llIEJlcmxp
biAgPGpiZXJsaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgdGhlIEJFRk9SRS9TSU5D
RSwgU1lTVEVNX1ZFUlNJT05fUFJFRklYLCBhbmQgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIGZs
YWdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCmluZGV4IDMxYjI0ZWNjZDZhZGI2NWQ3OTYzMzJkNmEwYjE3NzNiN2NmMmEzNjcuLjA5ZTNk
NmY4ZTJjMjViOTU1ZWJlOGEyNzRkNTY5ZDk3MGQyZWRiYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMDMtMjYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAg
ICBbSlNDXSBVc2UgbmV3IEFwcGxlIElDVSBBUElzIHRvIGF2b2lkIEMrKyBJQ1UgQVBJIHVzYWdl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3ODMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1MDYwMjQwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0RhdGVNYXRoLmg6CisgICAgICAgIChX
VEY6OkxvY2FsVGltZU9mZnNldDo6TG9jYWxUaW1lT2Zmc2V0KToKKwogMjAyMS0wMy0yNiAgSmVz
c2llIEJlcmxpbiAgPGpiZXJsaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgdGhlIEJF
Rk9SRS9TSU5DRSwgU1lTVEVNX1ZFUlNJT05fUFJFRklYLCBhbmQgTUFDT1NYX0RFUExPWU1FTlRf
VEFSR0VUIGZsYWdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsRGF0ZVRpbWVGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bERhdGVUaW1lRm9ybWF0LmNwcAppbmRleCBhMTdhOWMyMDQ5MjViMDc3YzJjM2Y4ZWY5NzNhOTk2
YmNhZTI3MTliLi5mNTJlYmIyMjJiMzRiZDZjMGQ0MzgyOWI1M2I5NzU3YjlhMWZjM2I5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1h
dC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbnRsT2JqZWN0SW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNp
bmNsdWRlICJKU0RhdGVNYXRoLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKICNp
bmNsdWRlIDx1bmljb2RlL3VjYWwuaD4KICNpbmNsdWRlIDx1bmljb2RlL3VlbnVtLmg+CkBAIC01
OSw4ICs2MCw2IEBAIHZvaWQgVURhdGVJbnRlcnZhbEZvcm1hdERlbGV0ZXI6Om9wZXJhdG9yKCko
VURhdGVJbnRlcnZhbEZvcm1hdCogZm9ybWF0dGVyKQogICAgICAgICB1ZHRpdHZmbXRfY2xvc2Uo
Zm9ybWF0dGVyKTsKIH0KIAotc3RhdGljIGNvbnN0ZXhwciBkb3VibGUgbWluRUNNQVNjcmlwdFRp
bWUgPSAtOC42NEUxNTsKLQogY29uc3QgQ2xhc3NJbmZvIEludGxEYXRlVGltZUZvcm1hdDo6c19p
bmZvID0geyAiT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShJbnRsRGF0ZVRpbWVGb3JtYXQpIH07CiAKIG5hbWVzcGFjZSBJbnRsRGF0
ZVRpbWVGb3JtYXRJbnRlcm5hbCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RGF0ZU1hdGguY3BwCmluZGV4IDBkZjRiYTBiMDc4YTEyMmUzM2I4YmZmNzA3YWU4MDhlNTUyODQ1
ODQuLmU0MWE4OGYwMDVhN2YwOGU2N2UwMGM4YmU3NTk4ZmNjZDM0YTg3NTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC0xLDYgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMTk5OS0yMDAwIEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5v
cmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgog
ICogQ29weXJpZ2h0IChDKSAyMDEwICZ5ZXQsIExMQy4gKG5hdGVAYW5keWV0Lm5ldCkKQEAgLTc1
LDcgKzc1LDE1IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIlZN
LmgiCiAjaW5jbHVkZSA8bGltaXRzPgotCisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvaWN1L0lDVUhl
bHBlcnMuaD4KKworI2lmIFVfSUNVX1ZFUlNJT05fTUFKT1JfTlVNID49IDY4ICYmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisjZGVmaW5lIEhBVkVfSUNVX0NfVElNRVpPTkVfQVBJIDEKKyNpZmRl
ZiBVX0hJREVfRFJBRlRfQVBJCisjdW5kZWYgVV9ISURFX0RSQUZUX0FQSQorI2VuZGlmCisjaW5j
bHVkZSA8dW5pY29kZS91Y2FsLmg+CisjZWxzZQogLy8gaWN1OjpUaW1lWm9uZSBhbmQgaWN1OjpC
YXNpY1RpbWVab25lIGZlYXR1cmVzIGFyZSBvbmx5IGF2YWlsYWJsZSBpbiBJQ1UgQysrIEFQSXMu
CiAvLyBXZSB1c2UgdGhlc2UgQysrIEFQSXMgYXMgYW4gZXhjZXB0aW9uLgogI3VuZGVmIFVfU0hP
V19DUExVU1BMVVNfQVBJCkBAIC04NSwxNCArOTMsMjAgQEAKICNpbmNsdWRlIDx1bmljb2RlL3Vu
aXN0ci5oPgogI3VuZGVmIFVfU0hPV19DUExVU1BMVVNfQVBJCiAjZGVmaW5lIFVfU0hPV19DUExV
U1BMVVNfQVBJIDAKKyNlbmRpZgogCiBuYW1lc3BhY2UgSlNDIHsKIAotdm9pZCBPcGFxdWVJQ1VU
aW1lWm9uZURlbGV0ZXI6Om9wZXJhdG9yKCkoT3BhcXVlSUNVVGltZVpvbmUqIHRpbWVab25lKQot
ewotICAgIGlmICh0aW1lWm9uZSkKLSAgICAgICAgZGVsZXRlIGJpdHdpc2VfY2FzdDxpY3U6OlRp
bWVab25lKj4odGltZVpvbmUpOwotfQorCisjaWYgSEFWRShJQ1VfQ19USU1FWk9ORV9BUEkpCitj
bGFzcyBPcGFxdWVJQ1VUaW1lWm9uZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQoT3Bh
cXVlSUNVVGltZVpvbmUpOworcHVibGljOgorICAgIHN0ZDo6dW5pcXVlX3B0cjxVQ2FsZW5kYXIs
IElDVURlbGV0ZXI8dWNhbF9jbG9zZT4+IG1fY2FsZW5kYXI7Cit9OworI2Vsc2UKK3VzaW5nIE9w
YXF1ZUlDVVRpbWVab25lID0gaWN1OjpUaW1lWm9uZTsKKyNlbmRpZgogCiAvLyBHZXQgdGhlIGNv
bWJpbmVkIFVUQyArIERTVCBvZmZzZXQgZm9yIHRoZSB0aW1lIHBhc3NlZCBpbi4KIC8vCkBAIC0x
MDEsMjIgKzExNSw0OCBAQCB2b2lkIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcjo6b3BlcmF0b3Io
KShPcGFxdWVJQ1VUaW1lWm9uZSogdGltZVpvbmUpCiAvLyBJZiB0aGlzIGZ1bmN0aW9uIGlzIGNh
bGxlZCB3aXRoIE5hTiBpdCByZXR1cm5zIE5hTi4KIExvY2FsVGltZU9mZnNldCBEYXRlQ2FjaGU6
OmNhbGN1bGF0ZUxvY2FsVGltZU9mZnNldChkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBX
VEY6OlRpbWVUeXBlIGlucHV0VGltZVR5cGUpCiB7Ci0gICAgYXV0byYgdGltZVpvbmVDYWNoZSA9
ICpiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KHRoaXMtPnRpbWVab25lQ2FjaGUoKSk7CiAg
ICAgaW50MzJfdCByYXdPZmZzZXQgPSAwOwogICAgIGludDMyX3QgZHN0T2Zmc2V0ID0gMDsKICAg
ICBVRXJyb3JDb2RlIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKKworICAgIC8vIFRoZSBhYm92ZSBj
YW4gZmFpbCBpZiBpbnB1dCBkYXRlIGlzIGludmFsaWQ6IE5hTiBldGMuCisgICAgLy8gV2UgY2Fu
IHJldHVybiBhbnkgdmFsdWVzIGluIHRoaXMgY2FzZSBzaW5jZSBsYXRlciB3ZSBmYWlsIHdoZW4g
Y29tcHV0aW5nIG5vbiB0aW1lem9uZSBvZmZzZXQgcGFydCBhbnl3YXkuCisgICAgY29uc3RleHBy
IExvY2FsVGltZU9mZnNldCBmYWlsZWQgeyBmYWxzZSwgMCB9OworCisjaWYgSEFWRShJQ1VfQ19U
SU1FWk9ORV9BUEkpCisgICAgYXV0byYgdGltZVpvbmVDYWNoZSA9ICp0aGlzLT50aW1lWm9uZUNh
Y2hlKCk7CisgICAgdWNhbF9zZXRNaWxsaXModGltZVpvbmVDYWNoZS5tX2NhbGVuZGFyLmdldCgp
LCBtaWxsaXNlY29uZHNGcm9tRXBvY2gsICZzdGF0dXMpOworICAgIGlmIChVX0ZBSUxVUkUoc3Rh
dHVzKSkKKyAgICAgICAgcmV0dXJuIGZhaWxlZDsKKworICAgIGlmIChpbnB1dFRpbWVUeXBlICE9
IFdURjo6TG9jYWxUaW1lKSB7CisgICAgICAgIHJhd09mZnNldCA9IHVjYWxfZ2V0KHRpbWVab25l
Q2FjaGUubV9jYWxlbmRhci5nZXQoKSwgVUNBTF9aT05FX09GRlNFVCwgJnN0YXR1cyk7CisgICAg
ICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWlsZWQ7Cisg
ICAgICAgIGRzdE9mZnNldCA9IHVjYWxfZ2V0KHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5nZXQo
KSwgVUNBTF9EU1RfT0ZGU0VULCAmc3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0
dXMpKQorICAgICAgICAgICAgcmV0dXJuIGZhaWxlZDsKKyAgICB9IGVsc2UgeworICAgICAgICB1
Y2FsX2dldFRpbWVab25lT2Zmc2V0RnJvbUxvY2FsKHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5n
ZXQoKSwgVUNBTF9UWl9MT0NBTF9GT1JNRVIsIFVDQUxfVFpfTE9DQUxfRk9STUVSLCAmcmF3T2Zm
c2V0LCAmZHN0T2Zmc2V0LCAmc3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMp
KQorICAgICAgICAgICAgcmV0dXJuIGZhaWxlZDsKKyAgICB9CisjZWxzZQorICAgIGF1dG8mIHRp
bWVab25lQ2FjaGUgPSAqdGhpcy0+dGltZVpvbmVDYWNoZSgpOwogICAgIGlmIChpbnB1dFRpbWVU
eXBlICE9IFdURjo6TG9jYWxUaW1lKSB7CiAgICAgICAgIGNvbnN0ZXhwciBib29sIGlzTG9jYWxU
aW1lID0gZmFsc2U7CiAgICAgICAgIHRpbWVab25lQ2FjaGUuZ2V0T2Zmc2V0KG1pbGxpc2Vjb25k
c0Zyb21FcG9jaCwgaXNMb2NhbFRpbWUsIHJhd09mZnNldCwgZHN0T2Zmc2V0LCBzdGF0dXMpOwor
ICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAgICAgICAgICByZXR1cm4gZmFpbGVk
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGljdTo6VGltZVpvbmUgaXMgYSB0aW1lem9uZSBp
bnN0YW5jZSB3aGljaCBpbmhlcml0cyBpY3U6OkJhc2ljVGltZVpvbmUuCiAgICAgICAgIC8vIGh0
dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5ldC9icm93c2UvSUNVLTEzNzA1IHdpbGwgbW92
ZSBnZXRPZmZzZXRGcm9tTG9jYWwgdG8gaWN1OjpUaW1lWm9uZS4KICAgICAgICAgc3RhdGljX2Nh
c3Q8Y29uc3QgaWN1OjpCYXNpY1RpbWVab25lJj4odGltZVpvbmVDYWNoZSkuZ2V0T2Zmc2V0RnJv
bUxvY2FsKG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaWN1OjpCYXNpY1RpbWVab25lOjprRm9ybWVy
LCBpY3U6OkJhc2ljVGltZVpvbmU6OmtGb3JtZXIsIHJhd09mZnNldCwgZHN0T2Zmc2V0LCBzdGF0
dXMpOworICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAgICAgICAgICByZXR1cm4g
ZmFpbGVkOwogICAgIH0KLSAgICAvLyBUaGUgYWJvdmUgY2FuIGZhaWwgaWYgaW5wdXQgZGF0ZSBp
cyBpbnZhbGlkOiBOYU4gZXRjLgotICAgIC8vIFdlIGNhbiByZXR1cm4gYW55IHZhbHVlcyBpbiB0
aGlzIGNhc2Ugc2luY2UgbGF0ZXIgd2UgZmFpbCB3aGVuIGNvbXB1dGluZyBub24gdGltZXpvbmUg
b2Zmc2V0IHBhcnQgYW55d2F5LgotICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKLSAgICAgICAg
cmV0dXJuIHsgZmFsc2UsIDAgfTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIHsgISFkc3RPZmZzZXQs
IHJhd09mZnNldCArIGRzdE9mZnNldCB9OwogfQogCkBAIC0yODQsOSArMzI0LDI3IEBAIGRvdWJs
ZSBEYXRlQ2FjaGU6OnBhcnNlRGF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYg
dm0sIGNvbnN0IFN0cmluZyYKIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtZGVmYXVs
dHRpbWV6b25lCiBTdHJpbmcgRGF0ZUNhY2hlOjpkZWZhdWx0VGltZVpvbmUoKQogeworI2lmIEhB
VkUoSUNVX0NfVElNRVpPTkVfQVBJKQorICAgIGF1dG8mIHRpbWVab25lID0gKnRpbWVab25lQ2Fj
aGUoKTsKKyAgICBWZWN0b3I8VUNoYXIsIDMyPiBidWZmZXI7CisgICAgYXV0byBzdGF0dXMgPSBj
YWxsQnVmZmVyUHJvZHVjaW5nRnVuY3Rpb24odWNhbF9nZXRUaW1lWm9uZUlELCB0aW1lWm9uZS5t
X2NhbGVuZGFyLmdldCgpLCBidWZmZXIpOworICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKKyAg
ICAgICAgcmV0dXJuICJVVEMiX3M7CisKKyAgICBWZWN0b3I8VUNoYXIsIDMyPiBjYW5vbmljYWxC
dWZmZXI7CisgICAgc3RhdHVzID0gY2FsbEJ1ZmZlclByb2R1Y2luZ0Z1bmN0aW9uKHVjYWxfZ2V0
Q2Fub25pY2FsVGltZVpvbmVJRCwgYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSwgY2Fub25p
Y2FsQnVmZmVyLCBudWxscHRyKTsKKyAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAgICAg
IHJldHVybiAiVVRDIl9zOworCisgICAgU3RyaW5nIGNhbm9uaWNhbCA9IFN0cmluZyhjYW5vbmlj
YWxCdWZmZXIpOworICAgIGlmIChpc1VUQ0VxdWl2YWxlbnQoY2Fub25pY2FsKSkKKyAgICAgICAg
cmV0dXJuICJVVEMiX3M7CisKKyAgICByZXR1cm4gY2Fub25pY2FsOworI2Vsc2UKICAgICBpY3U6
OlVuaWNvZGVTdHJpbmcgdGltZVpvbmVJRDsKICAgICBpY3U6OlVuaWNvZGVTdHJpbmcgY2Fub25p
Y2FsVGltZVpvbmVJRDsKLSAgICBhdXRvJiB0aW1lWm9uZSA9ICpiaXR3aXNlX2Nhc3Q8aWN1OjpU
aW1lWm9uZSo+KHRpbWVab25lQ2FjaGUoKSk7CisgICAgYXV0byYgdGltZVpvbmUgPSAqdGltZVpv
bmVDYWNoZSgpOwogICAgIHRpbWVab25lLmdldElEKHRpbWVab25lSUQpOwogCiAgICAgVUVycm9y
Q29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CkBAIC0zMDAsNiArMzU4LDcgQEAgU3RyaW5nIERh
dGVDYWNoZTo6ZGVmYXVsdFRpbWVab25lKCkKICAgICAgICAgcmV0dXJuICJVVEMiX3M7CiAKICAg
ICByZXR1cm4gY2Fub25pY2FsOworI2VuZGlmCiB9CiAKIC8vIFRvIGNvbmZpbmUgaWN1OjpUaW1l
Wm9uZSBkZXN0cnVjdG9yIGludm9jYXRpb24gaW4gdGhpcyBmaWxlLgpAQCAtMzEzLDkgKzM3Miwy
MCBAQCBSZWY8RGF0ZUluc3RhbmNlRGF0YT4gRGF0ZUNhY2hlOjpjYWNoZWREYXRlSW5zdGFuY2VE
YXRhKGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tRQogCiB2b2lkIERhdGVDYWNoZTo6dGltZVpvbmVD
YWNoZVNsb3coKQogewotICAgIC8vIERvIG5vdCB1c2UgaWN1OjpUaW1lWm9uZTo6Y3JlYXRlRGVm
YXVsdC4gSUNVIGludGVybmFsbHkgaGFzIGEgY2FjaGUgZm9yIHRpbWV6b25lIGFuZCBjcmVhdGVE
ZWZhdWx0IHJldHVybnMgdGhpcyBjYWNoZWQgdmFsdWUuCiAgICAgQVNTRVJUKCFtX3RpbWVab25l
Q2FjaGUpOwotICAgIG1fdGltZVpvbmVDYWNoZSA9IHN0ZDo6dW5pcXVlX3B0cjxPcGFxdWVJQ1VU
aW1lWm9uZSwgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyPihiaXR3aXNlX2Nhc3Q8T3BhcXVlSUNV
VGltZVpvbmUqPihpY3U6OlRpbWVab25lOjpkZXRlY3RIb3N0VGltZVpvbmUoKSkpOworI2lmIEhB
VkUoSUNVX0NfVElNRVpPTkVfQVBJKQorICAgIGF1dG8gY2FjaGUgPSBtYWtlVW5pcXVlPE9wYXF1
ZUlDVVRpbWVab25lPigpOworICAgIFZlY3RvcjxVQ2hhciwgMzI+IHRpbWVab25lSUQ7CisgICAg
YXV0byBzdGF0dXMgPSBjYWxsQnVmZmVyUHJvZHVjaW5nRnVuY3Rpb24odWNhbF9nZXRIb3N0VGlt
ZVpvbmUsIHRpbWVab25lSUQpOworICAgIEFTU0VSVF9VTlVTRUQoc3RhdHVzLCBVX1NVQ0NFU1Mo
c3RhdHVzKSk7CisgICAgY2FjaGUtPm1fY2FsZW5kYXIgPSBzdGQ6OnVuaXF1ZV9wdHI8VUNhbGVu
ZGFyLCBJQ1VEZWxldGVyPHVjYWxfY2xvc2U+Pih1Y2FsX29wZW4odGltZVpvbmVJRC5kYXRhKCks
IHRpbWVab25lSUQuc2l6ZSgpLCAiIiwgVUNBTF9ERUZBVUxULCAmc3RhdHVzKSk7CisgICAgQVNT
RVJUX1VOVVNFRChzdGF0dXMsIFVfU1VDQ0VTUyhzdGF0dXMpKTsKKyAgICB1Y2FsX3NldEdyZWdv
cmlhbkNoYW5nZShjYWNoZS0+bV9jYWxlbmRhci5nZXQoKSwgbWluRUNNQVNjcmlwdFRpbWUsICZz
dGF0dXMpOyAvLyBJZ25vcmUgInVuc3VwcG9ydGVkIiBlcnJvci4KKyAgICBtX3RpbWVab25lQ2Fj
aGUgPSBXVEZNb3ZlKGNhY2hlKTsKKyNlbHNlCisgICAgLy8gRG8gbm90IHVzZSBpY3U6OlRpbWVa
b25lOjpjcmVhdGVEZWZhdWx0LiBJQ1UgaW50ZXJuYWxseSBoYXMgYSBjYWNoZSBmb3IgdGltZXpv
bmUgYW5kIGNyZWF0ZURlZmF1bHQgcmV0dXJucyB0aGlzIGNhY2hlZCB2YWx1ZS4KKyAgICBtX3Rp
bWVab25lQ2FjaGUgPSBzdGQ6OnVuaXF1ZV9wdHI8T3BhcXVlSUNVVGltZVpvbmU+KGljdTo6VGlt
ZVpvbmU6OmRldGVjdEhvc3RUaW1lWm9uZSgpKTsKKyNlbmRpZgogfQogCiB2b2lkIERhdGVDYWNo
ZTo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNE
YXRlTWF0aC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCmlu
ZGV4IDExNjM2YWJlNDQyZWM5ZmVjMGViODI3ZTk0NTAxYzI1ZmU3ZGM4ZjcuLjk5MzdjNzRmMWRl
ZThkNGZhYWFhOWJlZmY0ZTQ2YTcwOTY3ZGU1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGVNYXRoLmgKQEAgLTUyLDExICs1Miw3IEBAIGNsYXNzIEpTR2xvYmFsT2Jq
ZWN0OwogY2xhc3MgT3BhcXVlSUNVVGltZVpvbmU7CiBjbGFzcyBWTTsKIAotLy8gV2UgZG8gbm90
IGV4cG9zZSBpY3U6OlRpbWVab25lIGluIHRoaXMgaGVhZGVyIGZpbGUuIEFuZCB3ZSBjYW5ub3Qg
dXNlIGljdTo6VGltZVpvbmUgZm9yd2FyZCBkZWNsYXJhdGlvbgotLy8gYmVjYXVzZSBpY3UgbmFt
ZXNwYWNlIGNhbiBiZSBhbiBhbGlhcyB0byBpY3UkdmVyTnVtIG5hbWVzcGFjZS4KLXN0cnVjdCBP
cGFxdWVJQ1VUaW1lWm9uZURlbGV0ZXIgewotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgb3Bl
cmF0b3IoKShPcGFxdWVJQ1VUaW1lWm9uZSopOwotfTsKK3N0YXRpYyBjb25zdGV4cHIgZG91Ymxl
IG1pbkVDTUFTY3JpcHRUaW1lID0gLTguNjRFMTU7CiAKIHN0cnVjdCBMb2NhbFRpbWVPZmZzZXRD
YWNoZSB7CiAgICAgTG9jYWxUaW1lT2Zmc2V0Q2FjaGUoKSA9IGRlZmF1bHQ7CkBAIC05Nyw3ICs5
Myw3IEBAIGNsYXNzIERhdGVDYWNoZSB7CiAgICAgICAgIHJldHVybiBtX3RpbWVab25lQ2FjaGUu
Z2V0KCk7CiAgICAgfQogCi0gICAgc3RkOjp1bmlxdWVfcHRyPE9wYXF1ZUlDVVRpbWVab25lLCBP
cGFxdWVJQ1VUaW1lWm9uZURlbGV0ZXI+IG1fdGltZVpvbmVDYWNoZTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8T3BhcXVlSUNVVGltZVpvbmU+IG1fdGltZVpvbmVDYWNoZTsKICAgICBMb2NhbFRpbWVP
ZmZzZXRDYWNoZSBtX3V0Y1RpbWVPZmZzZXRDYWNoZTsKICAgICBMb2NhbFRpbWVPZmZzZXRDYWNo
ZSBtX2xvY2FsVGltZU9mZnNldENhY2hlOwogICAgIFN0cmluZyBtX2NhY2hlZERhdGVTdHJpbmc7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oIGIvU291cmNlL1dURi93dGYv
RGF0ZU1hdGguaAppbmRleCA2MDQzODU1ZTM1NTRmOTFjNjFiOWI0ZDUxYTI1NWFiZmNiNDQ0MWQy
Li5kZTBiNDViZDBhODhlYWJhNDY2YjZlNmMwYWQ2NmRjMDJmNTI1NzQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmgK
QEAgLTYwLDcgKzYwLDcgQEAgc3RydWN0IExvY2FsVGltZU9mZnNldCB7CiAgICAgV1RGX01BS0Vf
U1RSVUNUX0ZBU1RfQUxMT0NBVEVEOwogCiAgICAgTG9jYWxUaW1lT2Zmc2V0KCkgPSBkZWZhdWx0
OwotICAgIExvY2FsVGltZU9mZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQorICAgIGNvbnN0
ZXhwciBMb2NhbFRpbWVPZmZzZXQoYm9vbCBpc0RTVCwgaW50IG9mZnNldCkKICAgICAgICAgOiBp
c0RTVChpc0RTVCkKICAgICAgICAgLCBvZmZzZXQob2Zmc2V0KQogICAgIHsK
</data>
<flag name="commit-queue"
          id="443981"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424339</attachid>
            <date>2021-03-26 02:51:37 -0700</date>
            <delta_ts>2021-03-26 08:55:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223783-20210326025136.patch</filename>
            <type>text/plain</type>
            <size>11039</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
N2M4NmQ0MTU1YjUzZjVlZjg3OGZjNjM3NmQ0YTQwMTBmYWI2NDg5Li5mNjU2MzIxYzcxZGQyYWE0
M2M0YmQzMDZkZTU4NGM5YjM0OWU0OGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wMy0yNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFVzZSBuZXcgQXBwbGUgSUNVIEFQSXMgdG8gYXZvaWQgQysrIElD
VSBBUEkgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzc4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzUwNjAyNDA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZG9wdHMg
SUNVIDY5J3MgZHJhZnQgQVBJcyB0byBhdm9pZCB1c2luZyBJQ1UgQysrIEFQSXMgaW4gbmV3ZXIg
bWFjT1MgYnVpbGQuCisgICAgICAgIEFwcGxlSUNVIGFkb3B0cyB0aGVzZSBkcmFmdCBBUElzIHNv
IHRoYXQgd2UgY2FuIHVzZSBpdCBldmVuIGluIElDVSA2OCBpZiBJQ1UgaXMgQXBwbGVJQ1UuCisg
ICAgICAgIFRoZSBBUEkgaXMgdWNhbF9nZXRUaW1lWm9uZU9mZnNldEZyb21Mb2NhbCwgd2hpY2gg
aXMgYmFjay1wb3J0ZWQgZnJvbSBJQ1UgNjlbMV0uCisgICAgICAgIFRoZSBwdXJwb3NlIG9mIHRo
aXMgQVBJIGlzIHRoYXQgY2FsY3VsYXRpbmcgdGltZXpvbmUgb2Zmc2V0IGFuZCBkc3Qgb2Zmc2V0
IGZyb20gKmxvY2FsKiB0aW1lLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9naXRodWIuY29tL3Vu
aWNvZGUtb3JnL2ljdS9jb21taXQvNTNhYTA1MDVjNWY5NWE4Y2ViYmQ3YjQ0MjFkNDc0ZmQyYTc5
MGI4MAorCisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNEYXRlTWF0aC5jcHA6CisgICAgICAgIChKU0M6Ok9wYXF1ZUlDVVRpbWVa
b25lRGVsZXRlcjo6b3BlcmF0b3IoKSk6CisgICAgICAgIChKU0M6OkRhdGVDYWNoZTo6Y2FsY3Vs
YXRlTG9jYWxUaW1lT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6RGF0ZUNhY2hlOjpkZWZhdWx0VGlt
ZVpvbmUpOgorICAgICAgICAoSlNDOjpEYXRlQ2FjaGU6OnRpbWVab25lQ2FjaGVTbG93KToKKyAg
ICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguaDoKKwogMjAyMS0wMy0yNiAgSmVzc2llIEJlcmxp
biAgPGpiZXJsaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgdGhlIEJFRk9SRS9TSU5D
RSwgU1lTVEVNX1ZFUlNJT05fUFJFRklYLCBhbmQgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIGZs
YWdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCmluZGV4IDMxYjI0ZWNjZDZhZGI2NWQ3OTYzMzJkNmEwYjE3NzNiN2NmMmEzNjcuLjA5ZTNk
NmY4ZTJjMjViOTU1ZWJlOGEyNzRkNTY5ZDk3MGQyZWRiYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMDMtMjYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAg
ICBbSlNDXSBVc2UgbmV3IEFwcGxlIElDVSBBUElzIHRvIGF2b2lkIEMrKyBJQ1UgQVBJIHVzYWdl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3ODMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1MDYwMjQwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0RhdGVNYXRoLmg6CisgICAgICAgIChX
VEY6OkxvY2FsVGltZU9mZnNldDo6TG9jYWxUaW1lT2Zmc2V0KToKKwogMjAyMS0wMy0yNiAgSmVz
c2llIEJlcmxpbiAgPGpiZXJsaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgdGhlIEJF
Rk9SRS9TSU5DRSwgU1lTVEVNX1ZFUlNJT05fUFJFRklYLCBhbmQgTUFDT1NYX0RFUExPWU1FTlRf
VEFSR0VUIGZsYWdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsRGF0ZVRpbWVGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bERhdGVUaW1lRm9ybWF0LmNwcAppbmRleCBhMTdhOWMyMDQ5MjViMDc3YzJjM2Y4ZWY5NzNhOTk2
YmNhZTI3MTliLi5mNTJlYmIyMjJiMzRiZDZjMGQ0MzgyOWI1M2I5NzU3YjlhMWZjM2I5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1h
dC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbnRsT2JqZWN0SW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNp
bmNsdWRlICJKU0RhdGVNYXRoLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKICNp
bmNsdWRlIDx1bmljb2RlL3VjYWwuaD4KICNpbmNsdWRlIDx1bmljb2RlL3VlbnVtLmg+CkBAIC01
OSw4ICs2MCw2IEBAIHZvaWQgVURhdGVJbnRlcnZhbEZvcm1hdERlbGV0ZXI6Om9wZXJhdG9yKCko
VURhdGVJbnRlcnZhbEZvcm1hdCogZm9ybWF0dGVyKQogICAgICAgICB1ZHRpdHZmbXRfY2xvc2Uo
Zm9ybWF0dGVyKTsKIH0KIAotc3RhdGljIGNvbnN0ZXhwciBkb3VibGUgbWluRUNNQVNjcmlwdFRp
bWUgPSAtOC42NEUxNTsKLQogY29uc3QgQ2xhc3NJbmZvIEludGxEYXRlVGltZUZvcm1hdDo6c19p
bmZvID0geyAiT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShJbnRsRGF0ZVRpbWVGb3JtYXQpIH07CiAKIG5hbWVzcGFjZSBJbnRsRGF0
ZVRpbWVGb3JtYXRJbnRlcm5hbCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RGF0ZU1hdGguY3BwCmluZGV4IDBkZjRiYTBiMDc4YTEyMmUzM2I4YmZmNzA3YWU4MDhlNTUyODQ1
ODQuLjM0MGI3MjQ5MjY5MTAwZmJkMDcyNmI4NDNmMDk0ZmNhYWJlZjQ4YmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC0xLDYgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMTk5OS0yMDAwIEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5v
cmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgog
ICogQ29weXJpZ2h0IChDKSAyMDEwICZ5ZXQsIExMQy4gKG5hdGVAYW5keWV0Lm5ldCkKQEAgLTc1
LDcgKzc1LDE1IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIlZN
LmgiCiAjaW5jbHVkZSA8bGltaXRzPgotCisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvaWN1L0lDVUhl
bHBlcnMuaD4KKworI2lmIFVfSUNVX1ZFUlNJT05fTUFKT1JfTlVNID49IDY4ICYmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisjZGVmaW5lIEhBVkVfSUNVX0NfVElNRVpPTkVfQVBJIDEKKyNpZmRl
ZiBVX0hJREVfRFJBRlRfQVBJCisjdW5kZWYgVV9ISURFX0RSQUZUX0FQSQorI2VuZGlmCisjaW5j
bHVkZSA8dW5pY29kZS91Y2FsLmg+CisjZWxzZQogLy8gaWN1OjpUaW1lWm9uZSBhbmQgaWN1OjpC
YXNpY1RpbWVab25lIGZlYXR1cmVzIGFyZSBvbmx5IGF2YWlsYWJsZSBpbiBJQ1UgQysrIEFQSXMu
CiAvLyBXZSB1c2UgdGhlc2UgQysrIEFQSXMgYXMgYW4gZXhjZXB0aW9uLgogI3VuZGVmIFVfU0hP
V19DUExVU1BMVVNfQVBJCkBAIC04NSwxMyArOTMsMjggQEAKICNpbmNsdWRlIDx1bmljb2RlL3Vu
aXN0ci5oPgogI3VuZGVmIFVfU0hPV19DUExVU1BMVVNfQVBJCiAjZGVmaW5lIFVfU0hPV19DUExV
U1BMVVNfQVBJIDAKKyNlbmRpZgogCiBuYW1lc3BhY2UgSlNDIHsKIAorCisjaWYgSEFWRShJQ1Vf
Q19USU1FWk9ORV9BUEkpCitjbGFzcyBPcGFxdWVJQ1VUaW1lWm9uZSB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQoT3BhcXVlSUNVVGltZVpvbmUpOworcHVibGljOgorICAgIHN0ZDo6dW5p
cXVlX3B0cjxVQ2FsZW5kYXIsIElDVURlbGV0ZXI8dWNhbF9jbG9zZT4+IG1fY2FsZW5kYXI7Cit9
OworI2VuZGlmCisKIHZvaWQgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyOjpvcGVyYXRvcigpKE9w
YXF1ZUlDVVRpbWVab25lKiB0aW1lWm9uZSkKIHsKLSAgICBpZiAodGltZVpvbmUpCisgICAgaWYg
KHRpbWVab25lKSB7CisjaWYgSEFWRShJQ1VfQ19USU1FWk9ORV9BUEkpCisgICAgICAgIGRlbGV0
ZSB0aW1lWm9uZTsKKyNlbHNlCiAgICAgICAgIGRlbGV0ZSBiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1l
Wm9uZSo+KHRpbWVab25lKTsKKyNlbmRpZgorICAgIH0KIH0KIAogLy8gR2V0IHRoZSBjb21iaW5l
ZCBVVEMgKyBEU1Qgb2Zmc2V0IGZvciB0aGUgdGltZSBwYXNzZWQgaW4uCkBAIC0xMDEsMjIgKzEy
NCw0OCBAQCB2b2lkIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcjo6b3BlcmF0b3IoKShPcGFxdWVJ
Q1VUaW1lWm9uZSogdGltZVpvbmUpCiAvLyBJZiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRo
IE5hTiBpdCByZXR1cm5zIE5hTi4KIExvY2FsVGltZU9mZnNldCBEYXRlQ2FjaGU6OmNhbGN1bGF0
ZUxvY2FsVGltZU9mZnNldChkb3VibGUgbWlsbGlzZWNvbmRzRnJvbUVwb2NoLCBXVEY6OlRpbWVU
eXBlIGlucHV0VGltZVR5cGUpCiB7Ci0gICAgYXV0byYgdGltZVpvbmVDYWNoZSA9ICpiaXR3aXNl
X2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KHRoaXMtPnRpbWVab25lQ2FjaGUoKSk7CiAgICAgaW50MzJf
dCByYXdPZmZzZXQgPSAwOwogICAgIGludDMyX3QgZHN0T2Zmc2V0ID0gMDsKICAgICBVRXJyb3JD
b2RlIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKKworICAgIC8vIFRoZSBhYm92ZSBjYW4gZmFpbCBp
ZiBpbnB1dCBkYXRlIGlzIGludmFsaWQ6IE5hTiBldGMuCisgICAgLy8gV2UgY2FuIHJldHVybiBh
bnkgdmFsdWVzIGluIHRoaXMgY2FzZSBzaW5jZSBsYXRlciB3ZSBmYWlsIHdoZW4gY29tcHV0aW5n
IG5vbiB0aW1lem9uZSBvZmZzZXQgcGFydCBhbnl3YXkuCisgICAgY29uc3RleHByIExvY2FsVGlt
ZU9mZnNldCBmYWlsZWQgeyBmYWxzZSwgMCB9OworCisjaWYgSEFWRShJQ1VfQ19USU1FWk9ORV9B
UEkpCisgICAgYXV0byYgdGltZVpvbmVDYWNoZSA9ICp0aGlzLT50aW1lWm9uZUNhY2hlKCk7Cisg
ICAgdWNhbF9zZXRNaWxsaXModGltZVpvbmVDYWNoZS5tX2NhbGVuZGFyLmdldCgpLCBtaWxsaXNl
Y29uZHNGcm9tRXBvY2gsICZzdGF0dXMpOworICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkKKyAg
ICAgICAgcmV0dXJuIGZhaWxlZDsKKworICAgIGlmIChpbnB1dFRpbWVUeXBlICE9IFdURjo6TG9j
YWxUaW1lKSB7CisgICAgICAgIHJhd09mZnNldCA9IHVjYWxfZ2V0KHRpbWVab25lQ2FjaGUubV9j
YWxlbmRhci5nZXQoKSwgVUNBTF9aT05FX09GRlNFVCwgJnN0YXR1cyk7CisgICAgICAgIGlmIChV
X0ZBSUxVUkUoc3RhdHVzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWlsZWQ7CisgICAgICAgIGRz
dE9mZnNldCA9IHVjYWxfZ2V0KHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5nZXQoKSwgVUNBTF9E
U1RfT0ZGU0VULCAmc3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhaWxlZDsKKyAgICB9IGVsc2UgeworICAgICAgICB1Y2FsX2dldFRp
bWVab25lT2Zmc2V0RnJvbUxvY2FsKHRpbWVab25lQ2FjaGUubV9jYWxlbmRhci5nZXQoKSwgVUNB
TF9UWl9MT0NBTF9GT1JNRVIsIFVDQUxfVFpfTE9DQUxfRk9STUVSLCAmcmF3T2Zmc2V0LCAmZHN0
T2Zmc2V0LCAmc3RhdHVzKTsKKyAgICAgICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhaWxlZDsKKyAgICB9CisjZWxzZQorICAgIGF1dG8mIHRpbWVab25lQ2Fj
aGUgPSAqYml0d2lzZV9jYXN0PGljdTo6VGltZVpvbmUqPih0aGlzLT50aW1lWm9uZUNhY2hlKCkp
OwogICAgIGlmIChpbnB1dFRpbWVUeXBlICE9IFdURjo6TG9jYWxUaW1lKSB7CiAgICAgICAgIGNv
bnN0ZXhwciBib29sIGlzTG9jYWxUaW1lID0gZmFsc2U7CiAgICAgICAgIHRpbWVab25lQ2FjaGUu
Z2V0T2Zmc2V0KG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaXNMb2NhbFRpbWUsIHJhd09mZnNldCwg
ZHN0T2Zmc2V0LCBzdGF0dXMpOworICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAg
ICAgICAgICByZXR1cm4gZmFpbGVkOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGljdTo6VGlt
ZVpvbmUgaXMgYSB0aW1lem9uZSBpbnN0YW5jZSB3aGljaCBpbmhlcml0cyBpY3U6OkJhc2ljVGlt
ZVpvbmUuCiAgICAgICAgIC8vIGh0dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5ldC9icm93
c2UvSUNVLTEzNzA1IHdpbGwgbW92ZSBnZXRPZmZzZXRGcm9tTG9jYWwgdG8gaWN1OjpUaW1lWm9u
ZS4KICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgaWN1OjpCYXNpY1RpbWVab25lJj4odGltZVpv
bmVDYWNoZSkuZ2V0T2Zmc2V0RnJvbUxvY2FsKG1pbGxpc2Vjb25kc0Zyb21FcG9jaCwgaWN1OjpC
YXNpY1RpbWVab25lOjprRm9ybWVyLCBpY3U6OkJhc2ljVGltZVpvbmU6OmtGb3JtZXIsIHJhd09m
ZnNldCwgZHN0T2Zmc2V0LCBzdGF0dXMpOworICAgICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykp
CisgICAgICAgICAgICByZXR1cm4gZmFpbGVkOwogICAgIH0KLSAgICAvLyBUaGUgYWJvdmUgY2Fu
IGZhaWwgaWYgaW5wdXQgZGF0ZSBpcyBpbnZhbGlkOiBOYU4gZXRjLgotICAgIC8vIFdlIGNhbiBy
ZXR1cm4gYW55IHZhbHVlcyBpbiB0aGlzIGNhc2Ugc2luY2UgbGF0ZXIgd2UgZmFpbCB3aGVuIGNv
bXB1dGluZyBub24gdGltZXpvbmUgb2Zmc2V0IHBhcnQgYW55d2F5LgotICAgIGlmIChVX0ZBSUxV
UkUoc3RhdHVzKSkKLSAgICAgICAgcmV0dXJuIHsgZmFsc2UsIDAgfTsKKyNlbmRpZgorCiAgICAg
cmV0dXJuIHsgISFkc3RPZmZzZXQsIHJhd09mZnNldCArIGRzdE9mZnNldCB9OwogfQogCkBAIC0y
ODQsNiArMzMzLDI0IEBAIGRvdWJsZSBEYXRlQ2FjaGU6OnBhcnNlRGF0ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIGNvbnN0IFN0cmluZyYKIC8vIGh0dHBzOi8vdGMzOS5l
cy9lY21hNDAyLyNzZWMtZGVmYXVsdHRpbWV6b25lCiBTdHJpbmcgRGF0ZUNhY2hlOjpkZWZhdWx0
VGltZVpvbmUoKQogeworI2lmIEhBVkUoSUNVX0NfVElNRVpPTkVfQVBJKQorICAgIGF1dG8mIHRp
bWVab25lID0gKnRpbWVab25lQ2FjaGUoKTsKKyAgICBWZWN0b3I8VUNoYXIsIDMyPiBidWZmZXI7
CisgICAgYXV0byBzdGF0dXMgPSBjYWxsQnVmZmVyUHJvZHVjaW5nRnVuY3Rpb24odWNhbF9nZXRU
aW1lWm9uZUlELCB0aW1lWm9uZS5tX2NhbGVuZGFyLmdldCgpLCBidWZmZXIpOworICAgIGlmIChV
X0ZBSUxVUkUoc3RhdHVzKSkKKyAgICAgICAgcmV0dXJuICJVVEMiX3M7CisKKyAgICBWZWN0b3I8
VUNoYXIsIDMyPiBjYW5vbmljYWxCdWZmZXI7CisgICAgc3RhdHVzID0gY2FsbEJ1ZmZlclByb2R1
Y2luZ0Z1bmN0aW9uKHVjYWxfZ2V0Q2Fub25pY2FsVGltZVpvbmVJRCwgYnVmZmVyLmRhdGEoKSwg
YnVmZmVyLnNpemUoKSwgY2Fub25pY2FsQnVmZmVyLCBudWxscHRyKTsKKyAgICBpZiAoVV9GQUlM
VVJFKHN0YXR1cykpCisgICAgICAgIHJldHVybiAiVVRDIl9zOworCisgICAgU3RyaW5nIGNhbm9u
aWNhbCA9IFN0cmluZyhjYW5vbmljYWxCdWZmZXIpOworICAgIGlmIChpc1VUQ0VxdWl2YWxlbnQo
Y2Fub25pY2FsKSkKKyAgICAgICAgcmV0dXJuICJVVEMiX3M7CisKKyAgICByZXR1cm4gY2Fub25p
Y2FsOworI2Vsc2UKICAgICBpY3U6OlVuaWNvZGVTdHJpbmcgdGltZVpvbmVJRDsKICAgICBpY3U6
OlVuaWNvZGVTdHJpbmcgY2Fub25pY2FsVGltZVpvbmVJRDsKICAgICBhdXRvJiB0aW1lWm9uZSA9
ICpiaXR3aXNlX2Nhc3Q8aWN1OjpUaW1lWm9uZSo+KHRpbWVab25lQ2FjaGUoKSk7CkBAIC0zMDAs
NiArMzY3LDcgQEAgU3RyaW5nIERhdGVDYWNoZTo6ZGVmYXVsdFRpbWVab25lKCkKICAgICAgICAg
cmV0dXJuICJVVEMiX3M7CiAKICAgICByZXR1cm4gY2Fub25pY2FsOworI2VuZGlmCiB9CiAKIC8v
IFRvIGNvbmZpbmUgaWN1OjpUaW1lWm9uZSBkZXN0cnVjdG9yIGludm9jYXRpb24gaW4gdGhpcyBm
aWxlLgpAQCAtMzEzLDkgKzM4MSwyMCBAQCBSZWY8RGF0ZUluc3RhbmNlRGF0YT4gRGF0ZUNhY2hl
OjpjYWNoZWREYXRlSW5zdGFuY2VEYXRhKGRvdWJsZSBtaWxsaXNlY29uZHNGcm9tRQogCiB2b2lk
IERhdGVDYWNoZTo6dGltZVpvbmVDYWNoZVNsb3coKQogewotICAgIC8vIERvIG5vdCB1c2UgaWN1
OjpUaW1lWm9uZTo6Y3JlYXRlRGVmYXVsdC4gSUNVIGludGVybmFsbHkgaGFzIGEgY2FjaGUgZm9y
IHRpbWV6b25lIGFuZCBjcmVhdGVEZWZhdWx0IHJldHVybnMgdGhpcyBjYWNoZWQgdmFsdWUuCiAg
ICAgQVNTRVJUKCFtX3RpbWVab25lQ2FjaGUpOworI2lmIEhBVkUoSUNVX0NfVElNRVpPTkVfQVBJ
KQorICAgIGF1dG8qIGNhY2hlID0gbmV3IE9wYXF1ZUlDVVRpbWVab25lOworICAgIFZlY3RvcjxV
Q2hhciwgMzI+IHRpbWVab25lSUQ7CisgICAgYXV0byBzdGF0dXMgPSBjYWxsQnVmZmVyUHJvZHVj
aW5nRnVuY3Rpb24odWNhbF9nZXRIb3N0VGltZVpvbmUsIHRpbWVab25lSUQpOworICAgIEFTU0VS
VF9VTlVTRUQoc3RhdHVzLCBVX1NVQ0NFU1Moc3RhdHVzKSk7CisgICAgY2FjaGUtPm1fY2FsZW5k
YXIgPSBzdGQ6OnVuaXF1ZV9wdHI8VUNhbGVuZGFyLCBJQ1VEZWxldGVyPHVjYWxfY2xvc2U+Pih1
Y2FsX29wZW4odGltZVpvbmVJRC5kYXRhKCksIHRpbWVab25lSUQuc2l6ZSgpLCAiIiwgVUNBTF9E
RUZBVUxULCAmc3RhdHVzKSk7CisgICAgQVNTRVJUX1VOVVNFRChzdGF0dXMsIFVfU1VDQ0VTUyhz
dGF0dXMpKTsKKyAgICB1Y2FsX3NldEdyZWdvcmlhbkNoYW5nZShjYWNoZS0+bV9jYWxlbmRhci5n
ZXQoKSwgbWluRUNNQVNjcmlwdFRpbWUsICZzdGF0dXMpOyAvLyBJZ25vcmUgInVuc3VwcG9ydGVk
IiBlcnJvci4KKyAgICBtX3RpbWVab25lQ2FjaGUgPSBzdGQ6OnVuaXF1ZV9wdHI8T3BhcXVlSUNV
VGltZVpvbmUsIE9wYXF1ZUlDVVRpbWVab25lRGVsZXRlcj4oY2FjaGUpOworI2Vsc2UKKyAgICAv
LyBEbyBub3QgdXNlIGljdTo6VGltZVpvbmU6OmNyZWF0ZURlZmF1bHQuIElDVSBpbnRlcm5hbGx5
IGhhcyBhIGNhY2hlIGZvciB0aW1lem9uZSBhbmQgY3JlYXRlRGVmYXVsdCByZXR1cm5zIHRoaXMg
Y2FjaGVkIHZhbHVlLgogICAgIG1fdGltZVpvbmVDYWNoZSA9IHN0ZDo6dW5pcXVlX3B0cjxPcGFx
dWVJQ1VUaW1lWm9uZSwgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyPihiaXR3aXNlX2Nhc3Q8T3Bh
cXVlSUNVVGltZVpvbmUqPihpY3U6OlRpbWVab25lOjpkZXRlY3RIb3N0VGltZVpvbmUoKSkpOwor
I2VuZGlmCiB9CiAKIHZvaWQgRGF0ZUNhY2hlOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0RhdGVNYXRoLmgKaW5kZXggMTE2MzZhYmU0NDJlYzlmZWMwZWI4MjdlOTQ1
MDFjMjVmZTdkYzhmNy4uMmZkNjhjZTQ2OTc1Yjg1OGJiZGNlNDBkZTY1OGEyZjI3Y2VhMTA3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaApAQCAtNTIsNiAr
NTIsOCBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIGNsYXNzIE9wYXF1ZUlDVVRpbWVab25lOwog
Y2xhc3MgVk07CiAKK3N0YXRpYyBjb25zdGV4cHIgZG91YmxlIG1pbkVDTUFTY3JpcHRUaW1lID0g
LTguNjRFMTU7CisKIC8vIFdlIGRvIG5vdCBleHBvc2UgaWN1OjpUaW1lWm9uZSBpbiB0aGlzIGhl
YWRlciBmaWxlLiBBbmQgd2UgY2Fubm90IHVzZSBpY3U6OlRpbWVab25lIGZvcndhcmQgZGVjbGFy
YXRpb24KIC8vIGJlY2F1c2UgaWN1IG5hbWVzcGFjZSBjYW4gYmUgYW4gYWxpYXMgdG8gaWN1JHZl
ck51bSBuYW1lc3BhY2UuCiBzdHJ1Y3QgT3BhcXVlSUNVVGltZVpvbmVEZWxldGVyIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0
aC5oCmluZGV4IDYwNDM4NTVlMzU1NGY5MWM2MWI5YjRkNTFhMjU1YWJmY2I0NDQxZDIuLmRlMGI0
NWJkMGE4OGVhYmE0NjZiNmU2YzBhZDY2ZGMwMmY1MjU3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0RhdGVNYXRoLmgKKysrIGIvU291cmNlL1dURi93dGYvRGF0ZU1hdGguaApAQCAtNjAs
NyArNjAsNyBAQCBzdHJ1Y3QgTG9jYWxUaW1lT2Zmc2V0IHsKICAgICBXVEZfTUFLRV9TVFJVQ1Rf
RkFTVF9BTExPQ0FURUQ7CiAKICAgICBMb2NhbFRpbWVPZmZzZXQoKSA9IGRlZmF1bHQ7Ci0gICAg
TG9jYWxUaW1lT2Zmc2V0KGJvb2wgaXNEU1QsIGludCBvZmZzZXQpCisgICAgY29uc3RleHByIExv
Y2FsVGltZU9mZnNldChib29sIGlzRFNULCBpbnQgb2Zmc2V0KQogICAgICAgICA6IGlzRFNUKGlz
RFNUKQogICAgICAgICAsIG9mZnNldChvZmZzZXQpCiAgICAgewo=
</data>
<flag name="review"
          id="443980"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
    <flag name="commit-queue"
          id="444002"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>