<?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>164991</bug_id>
          
          <creation_ts>2016-11-19 11:41:07 -0800</creation_ts>
          <short_desc>std::isnan/isinf/isfinite should work with WTF time classes</short_desc>
          <delta_ts>2017-03-09 13:19:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>koivisto</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1253096</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-19 11:41:07 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253097</commentid>
    <comment_count>1</comment_count>
      <attachid>295266</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-19 11:44:12 -0800</bug_when>
    <thetext>Created attachment 295266
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253101</commentid>
    <comment_count>2</comment_count>
      <attachid>295266</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-11-19 12:40:32 -0800</bug_when>
    <thetext>Comment on attachment 295266
the patch

Maybe isfinite too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265566</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-10 15:48:54 -0800</bug_when>
    <thetext>Dropped this one on the floor.  Coming back to it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265577</commentid>
    <comment_count>4</comment_count>
      <attachid>298520</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-10 16:12:13 -0800</bug_when>
    <thetext>Created attachment 298520
possible alternate approach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265578</commentid>
    <comment_count>5</comment_count>
      <attachid>298520</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-10 16:17:34 -0800</bug_when>
    <thetext>Comment on attachment 298520
possible alternate approach

Clear r? to reflect the fact that I still need to add unit tests, and doing so will probably unearth bugs in how I wrote my enable_if constraints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265678</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-10 21:07:30 -0800</bug_when>
    <thetext>I like both of these.

I normally judge such things by how good they look at call sites, how good the error messages are when you use them wrong, whether there are any cases where they do something surprising when you use them wrong, and how portable the technique is. I don’t have a preference between the two approaches in this bug given these criteria, so I would be tempted to use the more straightforward approach until things got complex enough that the traits solution really started to pay off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285473</commentid>
    <comment_count>7</comment_count>
      <attachid>298520</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-09 12:46:00 -0800</bug_when>
    <thetext>Comment on attachment 298520
possible alternate approach

I&apos;ll go with my original approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285481</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-09 12:53:17 -0800</bug_when>
    <thetext>I&apos;m going to land this with isfinite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285529</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-03-09 13:19:02 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/213659</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295266</attachid>
            <date>2016-11-19 11:44:12 -0800</date>
            <delta_ts>2016-11-19 12:40:32 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>4904</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4OTI3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDE2LTExLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
c3RkOjppc25hbi9pc2luZiBzaG91bGQgd29yayB3aXRoIFdURiB0aW1lIGNsYXNzZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDk5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQ2hhbmdl
cyBBdG9taWNzT2JqZWN0IHRvIHVzZSBzdGQ6OmlzbmFuKCkgaW5zdGVhZCBvZiBvcGVyYXRvcj09
IHRvIGRldGVjdCBOYU4uCisKKyAgICAgICAgKiBydW50aW1lL0F0b21pY3NPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjphdG9taWNzRnVuY1dhaXQpOgorCiAyMDE2LTExLTE5ICBNYXJrIExhbSAg
PG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgLS10aW1lb3V0TXVsdGlwbGllciBv
cHRpb24gdG8gYWxsb3cgc29tZSB0ZXN0cyBtb3JlIHRpbWUgdG8gcnVuLgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5jcHAJKHJldmlzaW9u
IDIwODg0NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTQsNyArMzE0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBhdG9taWNzRnVuYwogICAgIC8vCiAgICAgLy8gZXhlYy0+YXJndW1lbnQoMykg
cmV0dXJucyB1bmRlZmluZWQgaWYgaXQncyBub3QgcHJvdmlkZWQgYW5kIFRvTnVtYmVyKHVuZGVm
aW5lZCkgcmV0dXJucyBOYU4sCiAgICAgLy8gc28gTmFOIGlzIHRoZSBvbmx5IHNwZWNpYWwgY2Fz
ZS4KLSAgICBpZiAodGltZW91dCA9PSB0aW1lb3V0KQorICAgIGlmICghc3RkOjppc25hbih0aW1l
b3V0KSkKICAgICAgICAgdGltZW91dCA9IHN0ZDo6bWF4KFNlY29uZHMoMCksIHRpbWVvdXQpOwog
ICAgIGVsc2UKICAgICAgICAgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCk7CkluZGV4OiBT
b3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwko
cmV2aXNpb24gMjA4ODQ3KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyOCBAQAorMjAxNi0xMS0xOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgorCisgICAgICAgIHN0ZDo6aXNuYW4vaXNpbmYgc2hvdWxkIHdvcmsgd2l0aCBXVEYgdGlt
ZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjQ5OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIFRoZSBjb25zZW5zdXMgdmlldyAoc2VlIGNvbW1lbnRzIGluIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTIwNDUpIG9mIGhvdworICAgICAgICB0byBj
aGVjayBpZiBzb21ldGhpbmcgaXMgTmFOIGlzIHRvIHVzZSBzdGQ6OmlzbmFuKCkuIFRvIGJlIGFi
bGUgdG8gZG8gdGhhdCBmb3IgdGltZQorICAgICAgICBjbGFzc2VzLCB0aGV5IG5lZWQgdG8gcHJv
dmlkZSB0aGVpciBvd24gaXNuYW4oKSBvdmVyaGxvYWQuIFRoaXMgYWxzbyBwcm92aWRlcyBpc2lu
ZigpCisgICAgICAgIG92ZXJsb2Fkcy4KKworICAgICAgICAqIHd0Zi9Nb25vdG9uaWNUaW1lLmg6
CisgICAgICAgIChzdGQ6OmlzbmFuKToKKyAgICAgICAgKHN0ZDo6aXNpbmYpOgorICAgICAgICAq
IHd0Zi9TZWNvbmRzLmg6CisgICAgICAgIChzdGQ6OmlzbmFuKToKKyAgICAgICAgKHN0ZDo6aXNp
bmYpOgorICAgICAgICAqIHd0Zi9UaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUuaDoKKyAgICAgICAg
KHN0ZDo6aXNuYW4pOgorICAgICAgICAoc3RkOjppc2luZik6CisgICAgICAgICogd3RmL1dhbGxU
aW1lLmg6CisgICAgICAgIChzdGQ6OmlzbmFuKToKKyAgICAgICAgKHN0ZDo6aXNpbmYpOgorCiAy
MDE2LTExLTE3ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSBhc3luYy9hd2FpdCBjb21waWxlIHRpbWUgZmxhZyBhbmQgZW5hYmxlIHRlc3RzCkluZGV4
OiBTb3VyY2UvV1RGL3d0Zi9Nb25vdG9uaWNUaW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvTW9ub3RvbmljVGltZS5oCShyZXZpc2lvbiAyMDg4NDcpCisrKyBTb3VyY2UvV1RGL3d0
Zi9Nb25vdG9uaWNUaW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw2ICsxMzksMjAgQEAgcHJp
dmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKK25hbWVzcGFjZSBzdGQgeworCitpbmxpbmUg
Ym9vbCBpc25hbihXVEY6Ok1vbm90b25pY1RpbWUgdGltZSkKK3sKKyAgICByZXR1cm4gc3RkOjpp
c25hbih0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSk7Cit9CisKK2lubGluZSBib29s
IGlzaW5mKFdURjo6TW9ub3RvbmljVGltZSB0aW1lKQoreworICAgIHJldHVybiBzdGQ6OmlzaW5m
KHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
c3RkCisKIHVzaW5nIFdURjo6TW9ub3RvbmljVGltZTsKIAogI2VuZGlmIC8vIFdURl9Nb25vdG9u
aWNUaW1lX2gKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1NlY29uZHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL3d0Zi9TZWNvbmRzLmgJKHJldmlzaW9uIDIwODg0NykKKysrIFNvdXJjZS9XVEYv
d3RmL1NlY29uZHMuaAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDYgKzE5OSwyMCBAQCBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBzbGVlcChTZWNvbmRzKTsKIAogfSAvLyBuYW1lc3BhZSBXVEYKIAor
bmFtZXNwYWNlIHN0ZCB7CisKK2lubGluZSBib29sIGlzbmFuKFdURjo6U2Vjb25kcyBzZWNvbmRz
KQoreworICAgIHJldHVybiBzdGQ6OmlzbmFuKHNlY29uZHMudmFsdWUoKSk7Cit9CisKK2lubGlu
ZSBib29sIGlzaW5mKFdURjo6U2Vjb25kcyBzZWNvbmRzKQoreworICAgIHJldHVybiBzdGQ6Omlz
aW5mKHNlY29uZHMudmFsdWUoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIHN0ZAorCiB1c2luZyBX
VEY6OlNlY29uZHM7CiAKICNlbmRpZiAvLyBXVEZfU2Vjb25kc19oCkluZGV4OiBTb3VyY2UvV1RG
L3d0Zi9UaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RG
L3d0Zi9UaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUuaAkocmV2aXNpb24gMjA4ODQ3KQorKysgU291
cmNlL1dURi93dGYvVGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEzOCw2ICsxMzgsMjAgQEAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaGFzRWxhcHNlZChjb25z
dAogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAorbmFtZXNwYWNlIHN0ZCB7CisKK2lubGluZSBib29s
IGlzbmFuKFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIHRpbWUpCit7CisgICAgcmV0dXJu
IHN0ZDo6aXNuYW4odGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpOworfQorCitpbmxp
bmUgYm9vbCBpc2luZihXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSB0aW1lKQoreworICAg
IHJldHVybiBzdGQ6OmlzaW5mKHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKTsKK30K
KworfSAvLyBuYW1lc3BhY2Ugc3RkCisKIHVzaW5nIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tU
eXBlOwogdXNpbmcgV1RGOjpoYXNFbGFwc2VkOwogdXNpbmcgV1RGOjpzbGVlcDsKSW5kZXg6IFNv
dXJjZS9XVEYvd3RmL1dhbGxUaW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV2Fs
bFRpbWUuaAkocmV2aXNpb24gMjA4ODQ3KQorKysgU291cmNlL1dURi93dGYvV2FsbFRpbWUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTM4LDYgKzEzOCwyMCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzbGVlcChXYWxsVGltZSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCituYW1lc3BhY2Ugc3Rk
IHsKKworaW5saW5lIGJvb2wgaXNuYW4oV1RGOjpXYWxsVGltZSB0aW1lKQoreworICAgIHJldHVy
biBzdGQ6OmlzbmFuKHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKTsKK30KKworaW5s
aW5lIGJvb2wgaXNpbmYoV1RGOjpXYWxsVGltZSB0aW1lKQoreworICAgIHJldHVybiBzdGQ6Omlz
aW5mKHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2Ugc3RkCisKIHVzaW5nIFdURjo6V2FsbFRpbWU7CiAKICNlbmRpZiAvLyBXVEZfV2FsbFRpbWVf
aAo=
</data>
<flag name="review"
          id="317885"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298520</attachid>
            <date>2017-01-10 16:12:13 -0800</date>
            <delta_ts>2017-03-09 12:46:00 -0800</delta_ts>
            <desc>possible alternate approach</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>17601</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEwNTY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE3LTAxLTEwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
c3RkOjppc25hbi9pc2luZiBzaG91bGQgd29yayB3aXRoIFdURiB0aW1lIGNsYXNzZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDk5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGltZS9BdG9t
aWNzT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6YXRvbWljc0Z1bmNXYWl0KTogVXNlIHN0ZDo6
aXNuYW4gb24gU2Vjb25kcyBiZWNhdXNlIG5vdyB3ZSBjYW4uCisKIDIwMTctMDEtMDkgIEZpbGlw
IFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBTdHJlYW1saW5lIHRoZSBHQyBi
YXJyaWVyIHNsb3dwYXRoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9t
aWNzT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BdG9taWNzT2JqZWN0LmNwcAkocmV2aXNpb24gMjEwNTY2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNCw3
ICszMTQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGF0b21pY3NGdW5jCiAgICAg
Ly8KICAgICAvLyBleGVjLT5hcmd1bWVudCgzKSByZXR1cm5zIHVuZGVmaW5lZCBpZiBpdCdzIG5v
dCBwcm92aWRlZCBhbmQgVG9OdW1iZXIodW5kZWZpbmVkKSByZXR1cm5zIE5hTiwKICAgICAvLyBz
byBOYU4gaXMgdGhlIG9ubHkgc3BlY2lhbCBjYXNlLgotICAgIGlmICh0aW1lb3V0ID09IHRpbWVv
dXQpCisgICAgaWYgKCFzdGQ6OmlzbmFuKHRpbWVvdXQpKQogICAgICAgICB0aW1lb3V0ID0gc3Rk
OjptYXgoMF9zLCB0aW1lb3V0KTsKICAgICBlbHNlCiAgICAgICAgIHRpbWVvdXQgPSBTZWNvbmRz
OjppbmZpbml0eSgpOwpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDU2NikKKysrIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzEgQEAKKzIwMTctMDEtMTAgIEZpbGlw
IFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBzdGQ6OmlzbmFuL2lzaW5mIHNo
b3VsZCB3b3JrIHdpdGggV1RGIHRpbWUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXVEYgdGltZSBjbGFzc2VzIGFyZSBtZWFu
dCB0byB3b3JrIGxpa2UgZG91Ymxlcy4gQnV0IEMrKyBkb2Vzbid0IHJlYWxseSByZWNvZ25pemUg
c3VjaCBhCisgICAgICAgIGNvbmNlcHQuIEkndmUgbm93IGVuY291bnRlcmVkIHRoZSBuZWVkIGZv
ciB0aGlzIGluIHRoZSBmb2xsb3dpbmcgd2F5czoKKyAgICAgICAgCisgICAgICAgIC0gc3RkOjpp
c25hbi9pc2luZiBmb3IgdGltZSBjbGFzc2VzLiBUaGF0J3Mgd2hhdCB0aGlzIGJ1ZyB3YXMgb3Jp
Z2luYWxseSBhYm91dC4KKyAgICAgICAgCisgICAgICAgIC0gY2VpbC9mbG9vci4gVGhlIEdDIHNj
aGVkdWxlciBjb3VsZCBiZW5lZml0IGZyb20gYSByaWNoZXIgc2V0IG9mIG1hdGggZnVuY3Rpb25z
IGZvciB0aW1lLAorICAgICAgICAgIGFuZCBjZWlsL2Zsb29yIGFyZSB1c2VmdWwgZm9yIHJlYXNv
bmluZyBhYm91dCB0aW1lc2xpY2VzLiBTaW5jZSB0aGVyZSBhcmUgNCB0aW1lIGNsYXNzZXMsCisg
ICAgICAgICAgYWRkaW5nIHRoZXNlIGZ1bmN0aW9ucyB3b3VsZCBiZSA0eCB3b3JrIGlmIGRvbmUg
dGhlIG5haXZlIHdheS4KKyAgICAgICAgCisgICAgICAgIE9uZSBwb3NzaWJsZSBzb2x1dGlvbiB3
b3VsZCBiZSB0byBqdXN0IHByb3ZpZGUgb3ZlcmxvYWRzIGZvciB0aGVzZSB0aGluZ3MgZm9yIG91
ciBuZXcgdGltZQorICAgICAgICBjbGFzc2VzLCBidXQgdGhhdCBkb2Vzbid0IHNjYWxlLiBBbHNv
LCB3ZSdkIGV2ZW50dWFsbHkgd2FudCB0byB1c2UgdGVtcGxhdGVkIG1hdGggdGhhdAorICAgICAg
ICBjdXJyZW50bHkgcHJlZGljYXRlcyBpdHNlbGYgb24gaXNfZmxvYXRpbmdfcG9pbnQsIHNvIHRo
ZW4gd2Ugd291bGQgZmluZCBvdXJzZWx2ZXMgd2FudGluZyB0bworICAgICAgICBwcm92aWRlIGEg
aXNfZmxvYXRpbmdfcG9pbnQgb3ZlcnJpZGUgZm9yIFdURiB0aW1lIGNsYXNzZXMuIFRoaXMgc2Vl
bXMgZGFuZ2Vyb3VzIC0gaW4KKyAgICAgICAgcGFydGljdWxhciwgSSBkb24ndCB3YW50IHRvIGJy
ZWFrIGV4aXN0aW5nIGNsaWVudHMgb2YgaXNfZmxvYXRpbmdfcG9pbnQsIHdobyB3b3VsZCBiZSBy
aWdodAorICAgICAgICB0byBhc3N1bWUgdGhhdCBpdCBvbmx5IHJldHVybnMgdHJ1ZSBmb3IgcHJp
bWl0aXZlIHR5cGVzLi4KKyAgICAgICAgCisgICAgICAgIFRoaXMgZG9lcyBzb21ldGhpbmcgdGhh
dCBhbGxvd3MgYW55IGN1c3RvbSBtYXRoIGNsYXNzIHRvIG9wdCBpbnRvIGEgcmljaGVyIEFQSSBv
ZiBtYXRoCisgICAgICAgIGZ1bmN0aW9ucyB3aXRob3V0IGJlaW5nIHRvbyBpbnRydXNpdmUgaW50
byB0aGUgc3RkIG5hbWVzcGFjZSdzIG1hdGggY29kZS4gV1RGIG5vdyBoYXMgYSBuZXcKKyAgICAg
ICAgYWRhcHRlci90cmFpdHMgdGVtcGxhdGUgY2FsbGVkIEZsb2F0QWRhcHRlci4gQnkgZGVmYXVs
dCBpdCdzIGp1c3QgYSB3cmFwcGVyIGZvcgorICAgICAgICBpc19mbG9hdGluZ19wb2ludC4gQnV0
IHlvdSBjYW4gb3ZlcnJpZGUgaXQgZm9yIGN1c3RvbSBmbG9hdC1saWtlIGNsYXNzZXMsIGFuZCBk
b2luZyBzbworICAgICAgICB1bmxvY2tzIGEgYnVuY2ggb2YgbWF0aCBmdW5jdGlvbnMgZGVmaW5l
ZCBpbiBGbG9hdEFkYXB0ZXIuaC4gVGhvc2UgZnVuY3Rpb25zIHVzZSBlbmFibGVfaWYgc28KKyAg
ICAgICAgdGhhdCB0aGV5IGFyZSBvbmx5IGNob3NlbiBpZiB0aGUgdHlwZSBpbiBxdWVzdGlvbiBp
cyBhIGN1c3RvbSBtYXRoIHR5cGUgdGhhdCBvdmVycmlkZXMKKyAgICAgICAgRmxvYXRBZGFwdGVy
LiBJIGJlbGlldmUgdGhpcyBlbnN1cmVzIHRoYXQgY2xpZW50cyB3aG8gZG9uJ3QgY2FyZSBhYm91
dCBjbGFzc2VzIHRoYXQgb3ZlcnJpZGUKKyAgICAgICAgRmxvYXRBZGFwdGVyIHdpbGwgbmV2ZXIg
aGF2ZSB0aGVpciBzdGQgbWF0aCBmdW5jdGlvbiBjYWxscyBhY2NpZGVudGFsbHkgcmVzb2x2ZSB0
byBvbmUgb2YKKyAgICAgICAgb3VyIGFkZGVkIG92ZXJsb2Fkcy4KKworICAgICAgICBOb3csIGlm
IHlvdSB3YW50IHRvIGV4dGVuZCBzb21lIG1hdGggZnVuY3Rpb25zIHRvIHdvcmsgd2l0aCBjdXN0
b20gbWF0aCB0eXBlcywgeW91IGNhbiBkbyBpdAorICAgICAgICBlaXRoZXIgYnk6CisgICAgICAg
IAorICAgICAgICAtIEFkZGluZyBhbiBvdmVybG9hZCBvZiB0aGF0IGZ1bmN0aW9uIHRvIEZsb2F0
QWRhcHRlci5oLgorCisgICAgICAgIC0gSWYgdGhlIGZ1bmN0aW9uIHdhcyBhbHJlYWR5IHRlbXBs
YXRpemVkIGFuZCBhbHJlYWR5IHVzZWQgaXNfZmxvYXRpbmdfcG9pbnQsIGp1c3Qgc3dpdGNoCisg
ICAgICAgICAgdGhlIHRlbXBsYXRlIHRvIHVzZSBlbmFibGVfaWY8RmxvYXRBZGFwdGVyPC4uLj46
OmNhbkNvbnZlcnRUb0Zsb2F0PiBpbnN0ZWFkLiBUaGVyZSBpcyBzdHVmZgorICAgICAgICAgIGlu
IE1hdGhFeHRyYXMuaCB0aGF0IHdlIGNvdWxkIGNvbnZlcnQgdGhpcyB3YXkgaWYgd2Ugd2FudGVk
IHRvLCBidXQgdGhpcyBwYXRjaCBkb2VzIG5vdCBkbworICAgICAgICAgIGl0IHlldC4KKyAgICAg
ICAgCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0Zi9GbG9hdEFkYXB0ZXIuaDogQWRkZWQu
CisgICAgICAgIChXVEY6OkZsb2F0QWRhcHRlcjo6dG9VbmRlcmx5aW5nVHlwZSk6CisgICAgICAg
IChXVEY6OkZsb2F0QWRhcHRlcjo6ZnJvbVVuZGVybHlpbmdUeXBlKToKKyAgICAgICAgKHN0ZDo6
aXNuYW4pOgorICAgICAgICAoc3RkOjppc2luZik6CisgICAgICAgIChzdGQ6OmlzZmluaXRlKToK
KyAgICAgICAgKHN0ZDo6c2lnbmJpdCk6CisgICAgICAgIChzdGQ6OmNlaWwpOgorICAgICAgICAo
c3RkOjpmbG9vcik6CisgICAgICAgIChzdGQ6OnRydW5jKToKKyAgICAgICAgKHN0ZDo6cm91bmQp
OgorICAgICAgICAqIHd0Zi9Nb25vdG9uaWNUaW1lLmg6CisgICAgICAgIChXVEY6OkZsb2F0QWRh
cHRlcjxNb25vdG9uaWNUaW1lPjo6dG9VbmRlcmx5aW5nVHlwZSk6CisgICAgICAgIChXVEY6OkZs
b2F0QWRhcHRlcjxNb25vdG9uaWNUaW1lPjo6ZnJvbVVuZGVybHlpbmdUeXBlKToKKyAgICAgICAg
KiB3dGYvU2Vjb25kcy5oOgorICAgICAgICAoV1RGOjpGbG9hdEFkYXB0ZXI8U2Vjb25kcz46OnRv
VW5kZXJseWluZ1R5cGUpOgorICAgICAgICAoV1RGOjpGbG9hdEFkYXB0ZXI8U2Vjb25kcz46OmZy
b21VbmRlcmx5aW5nVHlwZSk6CisgICAgICAgICogd3RmL1RpbWVXaXRoRHluYW1pY0Nsb2NrVHlw
ZS5oOgorICAgICAgICAoV1RGOjpGbG9hdEFkYXB0ZXI8VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBl
Pjo6dG9VbmRlcmx5aW5nVHlwZSk6CisgICAgICAgICogd3RmL1dhbGxUaW1lLmg6CisgICAgICAg
IChXVEY6OkZsb2F0QWRhcHRlcjxXYWxsVGltZT46OnRvVW5kZXJseWluZ1R5cGUpOgorICAgICAg
ICAoV1RGOjpGbG9hdEFkYXB0ZXI8V2FsbFRpbWU+Ojpmcm9tVW5kZXJseWluZ1R5cGUpOgorCiAy
MDE3LTAxLTA2ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFi
b3JhLmNvLnVrPgogCiAgICAgICAgIFtHVEtdIFNob3VsZCBzdXBwb3J0IGtleSBhbmQgY29kZSBw
cm9wZXJ0aWVzIG9uIGtleWJvYXJkIGV2ZW50cwpJbmRleDogU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL1dURi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTA1NjYpCisrKyBTb3VyY2UvV1RGL1dURi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBA
CiAJCTBGODI0QTY4MUI3NDQzQTAwMDJFMzQ1RCAvKiBQYXJraW5nTG90LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGODI0QTY0MUI3NDQzQTAwMDJF
MzQ1RCAvKiBQYXJraW5nTG90LmNwcCAqLzsgfTsKIAkJMEY4MjRBNjkxQjc0NDNBMDAwMkUzNDVE
IC8qIFBhcmtpbmdMb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGODI0QTY1MUI3NDQzQTAwMDJFMzQ1RCAvKiBQYXJraW5nTG90LmggKi87IH07CiAJ
CTBGODcxMDVBMTY2NDNGMTkwMDkwQjBBRCAvKiBSYXdQb2ludGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjg3MTA1OTE2NjQzRjE5MDA5MEIwQUQg
LyogUmF3UG9pbnRlci5oICovOyB9OworCQkwRjg3OUVENzFFMjVBQTNBMDA3MjFBRkUgLyogRmxv
YXRBZGFwdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjg3OUVENjFFMjVBQTNBMDA3MjFBRkUgLyogRmxvYXRBZGFwdGVyLmggKi87IH07CiAJCTBG
OEYyQjkxMTcyRTAwRkMwMDdEQkRBNSAvKiBDb21waWxhdGlvblRocmVhZC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4RjJCOTAxNzJFMDBGMDAwN0RC
REE1IC8qIENvbXBpbGF0aW9uVGhyZWFkLmggKi87IH07CiAJCTBGOEYyQjkyMTcyRTAxMDMwMDdE
QkRBNSAvKiBDb21waWxhdGlvblRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjhGMkI4RjE3MkUwMEYwMDA3REJEQTUgLyogQ29tcGlsYXRp
b25UaHJlYWQuY3BwICovOyB9OwogCQkwRjhGMkI5QzE3MkYyNTk2MDA3REJEQTUgLyogQ29udmVy
c2lvbk1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGOEYyQjlCMTcyRjI1OTQwMDdEQkRBNSAvKiBDb252ZXJzaW9uTW9kZS5oICovOyB9OwpAQCAt
NDE1LDYgKzQxNiw3IEBACiAJCTBGODI0QTY0MUI3NDQzQTAwMDJFMzQ1RCAvKiBQYXJraW5nTG90
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcmtpbmdMb3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjgyNEE2NTFCNzQ0M0EwMDAyRTM0NUQg
LyogUGFya2luZ0xvdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJraW5n
TG90Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGODcxMDU5MTY2NDNGMTkwMDkw
QjBBRCAvKiBSYXdQb2ludGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJh
d1BvaW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4NzlFRDYxRTI1QUEz
QTAwNzIxQUZFIC8qIEZsb2F0QWRhcHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBGbG9hdEFkYXB0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4RjJC
OEYxNzJFMDBGMDAwN0RCREE1IC8qIENvbXBpbGF0aW9uVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvbXBpbGF0aW9uVGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEY4RjJCOTAxNzJFMDBGMDAwN0RCREE1IC8qIENvbXBpbGF0aW9uVGhyZWFkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvbXBpbGF0aW9uVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGOEYyQjlCMTcyRjI1OTQwMDdEQkRBNSAvKiBDb252ZXJzaW9uTW9kZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb252ZXJzaW9uTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
OTU2LDYgKzk1OCw3IEBACiAJCQkJMEY5RDMzNUIxNjVEQkE3MzAwNUFEMzg3IC8qIEZpbGVQcmlu
dFN0cmVhbS5jcHAgKi8sCiAJCQkJMEY5RDMzNUMxNjVEQkE3MzAwNUFEMzg3IC8qIEZpbGVQcmlu
dFN0cmVhbS5oICovLAogCQkJCTBGMkI2NkE1MTdCNkI0RjcwMEE3QUUzRiAvKiBGbGlwQnl0ZXMu
aCAqLywKKwkJCQkwRjg3OUVENjFFMjVBQTNBMDA3MjFBRkUgLyogRmxvYXRBZGFwdGVyLmggKi8s
CiAJCQkJQThBNDcyQTYxNTFBODI1QTAwNDEyM0ZGIC8qIEZvcndhcmQuaCAqLywKIAkJCQk4M0Yy
QkFERTFDRjk1MjRFMDAzRTk5QzMgLyogRnVuY3Rpb24uaCAqLywKIAkJCQkxQTFEOEI5RDE3MzE4
Nzk4MDAxNDFEQTQgLyogRnVuY3Rpb25EaXNwYXRjaGVyLmNwcCAqLywKQEAgLTE1NjQsNiArMTU2
Nyw3IEBACiAJCQkJMUZBNDdDOEIxNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGRTQ0NzlEMUI3QUFBMDMwMDk0OThFQiAvKiBXb3JkTG9jay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTRBMEFEM0ExQTk2MjQ1NTAwNTM2REY2IC8qIFdvcmtRdWV1
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY4NzlFRDcxRTI1QUEzQTAwNzIxQUZFIC8qIEZsb2F0
QWRhcHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NDYxNTFBODI1QjAwNDEyM0ZGIC8q
IFdURlN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0ODcxNTFBODI1QjAwNDEyM0ZG
IC8qIFdURlRocmVhZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFNzNFMDI1MTlEQ0I3QUIw
MDU4MEQ1QyAvKiBYUENTUEkuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dURi93dGYv
Q01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQJKHJldmlzaW9uIDIxMDU2NikKKysrIFNvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBAIHNldChXVEZfSEVBREVSUwogICAgIEZlYXR1
cmVEZWZpbmVzLmgKICAgICBGaWxlUHJpbnRTdHJlYW0uaAogICAgIEZsaXBCeXRlcy5oCisgICAg
RmxvYXRBZGFwdGVyLmgKICAgICBGb3J3YXJkLmgKICAgICBGdW5jdGlvbkRpc3BhdGNoZXIuaAog
ICAgIEdldFB0ci5oCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9GbG9hdEFkYXB0ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9GbG9hdEFkYXB0ZXIuaAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV1RGL3d0Zi9GbG9hdEFkYXB0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEw
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXVEYg
eworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IEZsb2F0QWRhcHRlciB7CisgICAgc3Rh
dGljIGNvbnN0IGJvb2wgY2FuQ29udmVydFRvRmxvYXQgPSBzdGQ6OmlzX2Zsb2F0aW5nX3BvaW50
PFQ+Ojp2YWx1ZTsKKyAgICBzdGF0aWMgY29uc3QgYm9vbCBjYW5Db252ZXJ0RnJvbUZsb2F0ID0g
c3RkOjppc19mbG9hdGluZ19wb2ludDxUPjo6dmFsdWU7CisgICAgdHlwZWRlZiBUIFVuZGVybHlp
bmdUeXBlOworICAgIHN0YXRpYyBVbmRlcmx5aW5nVHlwZSB0b1VuZGVybHlpbmdUeXBlKFQgdmFs
dWUpIHsgcmV0dXJuIHZhbHVlOyB9CisgICAgc3RhdGljIFQgZnJvbVVuZGVybHlpbmdUeXBlKFVu
ZGVybHlpbmdUeXBlIHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV1RGCisKK3VzaW5nIFdURjo6RmxvYXRBZGFwdGVyOworCituYW1lc3BhY2Ugc3RkIHsKKwor
Ly8gRklYTUU6IEZpbGwgdGhpcyBpbiB3aXRoIG90aGVyIG9wZXJhdGlvbnMgdGhhdCBzaG91bGQg
YmUgbGVnYWwgZm9yIGZsb2F0LWxpa2UgY3VzdG9tIHR5cGVzLiBOb3RlCisvLyB0aGF0IGN1c3Rv
bSB0eXBlcyBtYXkgYmUgdXNlZCB0byBkZXNjcmliZSB1bml0cywgc28gaXQncyBwcm9iYWJseSBh
IGJhZCBpZGVhIHRvIGRlZmluZSBmdW5jdGlvbnMKKy8vIGhlcmUgdGhhdCBjaGFuZ2UgdW5pdCBp
biBhIG5vbi1vYnZpb3VzIHdheS4gRm9yIGV4YW1wbGUsIGlmIHRoZSB0eXBlIG9mIHYgaXMgVCB0
aGVuIHRoZSB0eXBlIG9mCisvLyBzcXJ0KHYpIGlzIHNxcnQoVCksIGJ1dCB3ZSBoYXZlIG5vIHdh
eSBvZiBrbm93aW5nIHdoYXQgc3FydChUKSBpcy4gSW4gdGhlIGNhc2Ugb2Ygc29tZXRoaW5nIGxp
a2UKKy8vIFNlY29uZHMgKHNlZSA8d3RmL1NlY29uZHMuaD4pLCB0aGVyZSBkb2VzIG5vdCBleGlz
dCBhIHR5cGUgZm9yIHNxcnQoU2Vjb25kcykgc28gd2Ugd2FudCB0byByZXF1aXJlCisvLyB0aGF0
IGFueW9uZSB3aG8gZG9lcyBzcXJ0KFNlY29uZHMpIGZpcnN0IGNvbnZlcnRzIHRoZSBzZWNvbmRz
IHRvIGEgZG91YmxlLgorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIHR5cGVuYW1lIHN0
ZDo6ZW5hYmxlX2lmPEZsb2F0QWRhcHRlcjxUPjo6Y2FuQ29udmVydFRvRmxvYXQgJiYgIXN0ZDo6
aXNfZmxvYXRpbmdfcG9pbnQ8VD46OnZhbHVlLCBib29sPjo6dHlwZSBpc25hbihUIHZhbHVlKQor
eworICAgIHJldHVybiBpc25hbihGbG9hdEFkYXB0ZXI8VD46OnRvVW5kZXJseWluZ1R5cGUodmFs
dWUpKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSBib29sIGlzaW5mKHR5cGVu
YW1lIHN0ZDo6ZW5hYmxlX2lmPEZsb2F0QWRhcHRlcjxUPjo6Y2FuQ29udmVydFRvRmxvYXQgJiYg
IXN0ZDo6aXNfZmxvYXRpbmdfcG9pbnQ8VD46OnZhbHVlLCBUPjo6dHlwZSB2YWx1ZSkKK3sKKyAg
ICByZXR1cm4gaXNpbmYoRmxvYXRBZGFwdGVyPFQ+Ojp0b1VuZGVybHlpbmdUeXBlKHZhbHVlKSk7
Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUgYm9vbCBpc2Zpbml0ZSh0eXBlbmFt
ZSBzdGQ6OmVuYWJsZV9pZjxGbG9hdEFkYXB0ZXI8VD46OmNhbkNvbnZlcnRUb0Zsb2F0ICYmICFz
dGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFQ+Ojp2YWx1ZSwgVD46OnR5cGUgdmFsdWUpCit7CisgICAg
cmV0dXJuIGlzZmluaXRlKEZsb2F0QWRhcHRlcjxUPjo6dG9VbmRlcmx5aW5nVHlwZSh2YWx1ZSkp
OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIGJvb2wgc2lnbmJpdCh0eXBlbmFt
ZSBzdGQ6OmVuYWJsZV9pZjxGbG9hdEFkYXB0ZXI8VD46OmNhbkNvbnZlcnRUb0Zsb2F0ICYmICFz
dGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFQ+Ojp2YWx1ZSwgVD46OnR5cGUgdmFsdWUpCit7CisgICAg
cmV0dXJuIHNpZ25iaXQoRmxvYXRBZGFwdGVyPFQ+Ojp0b1VuZGVybHlpbmdUeXBlKHZhbHVlKSk7
Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUgVCBjZWlsKHR5cGVuYW1lIHN0ZDo6
ZW5hYmxlX2lmPEZsb2F0QWRhcHRlcjxUPjo6Y2FuQ29udmVydFRvRmxvYXQgJiYgRmxvYXRBZGFw
dGVyPFQ+OjpjYW5Db252ZXJ0RnJvbUZsb2F0ICYmICFzdGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFQ+
Ojp2YWx1ZSwgVD46OnR5cGUgdmFsdWUpCit7CisgICAgcmV0dXJuIEZsb2F0QWRhcHRlcjxUPjo6
ZnJvbVVuZGVybHlpbmdUeXBlKGNlaWwoRmxvYXRBZGFwdGVyPFQ+Ojp0b1VuZGVybHlpbmdUeXBl
KHZhbHVlKSkpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIFQgZmxvb3IodHlw
ZW5hbWUgc3RkOjplbmFibGVfaWY8RmxvYXRBZGFwdGVyPFQ+OjpjYW5Db252ZXJ0VG9GbG9hdCAm
JiBGbG9hdEFkYXB0ZXI8VD46OmNhbkNvbnZlcnRGcm9tRmxvYXQgJiYgIXN0ZDo6aXNfZmxvYXRp
bmdfcG9pbnQ8VD46OnZhbHVlLCBUPjo6dHlwZSB2YWx1ZSkKK3sKKyAgICByZXR1cm4gRmxvYXRB
ZGFwdGVyPFQ+Ojpmcm9tVW5kZXJseWluZ1R5cGUoZmxvb3IoRmxvYXRBZGFwdGVyPFQ+Ojp0b1Vu
ZGVybHlpbmdUeXBlKHZhbHVlKSkpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5l
IFQgdHJ1bmModHlwZW5hbWUgc3RkOjplbmFibGVfaWY8RmxvYXRBZGFwdGVyPFQ+OjpjYW5Db252
ZXJ0VG9GbG9hdCAmJiBGbG9hdEFkYXB0ZXI8VD46OmNhbkNvbnZlcnRGcm9tRmxvYXQgJiYgIXN0
ZDo6aXNfZmxvYXRpbmdfcG9pbnQ8VD46OnZhbHVlLCBUPjo6dHlwZSB2YWx1ZSkKK3sKKyAgICBy
ZXR1cm4gRmxvYXRBZGFwdGVyPFQ+Ojpmcm9tVW5kZXJseWluZ1R5cGUodHJ1bmMoRmxvYXRBZGFw
dGVyPFQ+Ojp0b1VuZGVybHlpbmdUeXBlKHZhbHVlKSkpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgoraW5saW5lIFQgcm91bmQodHlwZW5hbWUgc3RkOjplbmFibGVfaWY8RmxvYXRBZGFwdGVy
PFQ+OjpjYW5Db252ZXJ0VG9GbG9hdCAmJiBGbG9hdEFkYXB0ZXI8VD46OmNhbkNvbnZlcnRGcm9t
RmxvYXQgJiYgIXN0ZDo6aXNfZmxvYXRpbmdfcG9pbnQ8VD46OnZhbHVlLCBUPjo6dHlwZSB2YWx1
ZSkKK3sKKyAgICByZXR1cm4gRmxvYXRBZGFwdGVyPFQ+Ojpmcm9tVW5kZXJseWluZ1R5cGUocm91
bmQoRmxvYXRBZGFwdGVyPFQ+Ojp0b1VuZGVybHlpbmdUeXBlKHZhbHVlKSkpOworfQorCit0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIFQgYWJzKHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEZs
b2F0QWRhcHRlcjxUPjo6Y2FuQ29udmVydFRvRmxvYXQgJiYgRmxvYXRBZGFwdGVyPFQ+OjpjYW5D
b252ZXJ0RnJvbUZsb2F0ICYmICFzdGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFQ+Ojp2YWx1ZSwgVD46
OnR5cGUgdmFsdWUpCit7CisgICAgcmV0dXJuIEZsb2F0QWRhcHRlcjxUPjo6ZnJvbVVuZGVybHlp
bmdUeXBlKGFicyhGbG9hdEFkYXB0ZXI8VD46OnRvVW5kZXJseWluZ1R5cGUodmFsdWUpKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIHN0ZAorCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Nb25vdG9uaWNU
aW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvTW9ub3RvbmljVGltZS5oCShyZXZp
c2lvbiAyMTA1NjYpCisrKyBTb3VyY2UvV1RGL3d0Zi9Nb25vdG9uaWNUaW1lLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgV1RGX01vbm90b25pY1RpbWVfaAogCiAj
aW5jbHVkZSA8d3RmL0Nsb2NrVHlwZS5oPgorI2luY2x1ZGUgPHd0Zi9GbG9hdEFkYXB0ZXIuaD4K
ICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTEzNyw2ICsx
MzgsMTUgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV92YWx1ZSB7IDAgfTsKIH07CiAKK3RlbXBs
YXRlPD4KK3N0cnVjdCBGbG9hdEFkYXB0ZXI8TW9ub3RvbmljVGltZT4geworICAgIHN0YXRpYyBj
b25zdCBib29sIGNhbkNvbnZlcnRUb0Zsb2F0ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3QgYm9v
bCBjYW5Db252ZXJ0RnJvbUZsb2F0ID0gdHJ1ZTsKKyAgICB0eXBlZGVmIGRvdWJsZSBVbmRlcmx5
aW5nVHlwZTsKKyAgICBzdGF0aWMgZG91YmxlIHRvVW5kZXJseWluZ1R5cGUoTW9ub3RvbmljVGlt
ZSB2YWx1ZSkgeyByZXR1cm4gdmFsdWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOyB9Cisg
ICAgc3RhdGljIE1vbm90b25pY1RpbWUgZnJvbVVuZGVybHlpbmdUeXBlKGRvdWJsZSB2YWx1ZSkg
eyByZXR1cm4gTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOyB9Cit9OworCiB9
IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpNb25vdG9uaWNUaW1lOwpJbmRleDogU291
cmNlL1dURi93dGYvU2Vjb25kcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1NlY29u
ZHMuaAkocmV2aXNpb24gMjEwNTY2KQorKysgU291cmNlL1dURi93dGYvU2Vjb25kcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFdURl9TZWNvbmRzX2gKICNkZWZp
bmUgV1RGX1NlY29uZHNfaAogCisjaW5jbHVkZSA8d3RmL0Zsb2F0QWRhcHRlci5oPgogI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtMjU3LDYgKzI1OCwx
NSBAQCBjb25zdGV4cHIgU2Vjb25kcyBvcGVyYXRvciIiIF9ucyh1bnNpZ25lCiAKIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHNsZWVwKFNlY29uZHMpOwogCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgRmxv
YXRBZGFwdGVyPFNlY29uZHM+IHsKKyAgICBzdGF0aWMgY29uc3QgYm9vbCBjYW5Db252ZXJ0VG9G
bG9hdCA9IHRydWU7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgY2FuQ29udmVydEZyb21GbG9hdCA9
IHRydWU7CisgICAgdHlwZWRlZiBkb3VibGUgVW5kZXJseWluZ1R5cGU7CisgICAgc3RhdGljIGRv
dWJsZSB0b1VuZGVybHlpbmdUeXBlKFNlY29uZHMgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLnNlY29u
ZHMoKTsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGZyb21VbmRlcmx5aW5nVHlwZShkb3VibGUgdmFs
dWUpIHsgcmV0dXJuIFNlY29uZHModmFsdWUpOyB9Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYK
IAogdXNpbmcgbmFtZXNwYWNlIFdURjo6c2Vjb25kc19saXRlcmFsczsKSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL1RpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
VEYvd3RmL1RpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZS5oCShyZXZpc2lvbiAyMTA1NjYpCisrKyBT
b3VyY2UvV1RGL3d0Zi9UaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBXVEZfVGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlX2gK
IAogI2luY2x1ZGUgPHd0Zi9DbG9ja1R5cGUuaD4KKyNpbmNsdWRlIDx3dGYvRmxvYXRBZGFwdGVy
Lmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvV2FsbFRp
bWUuaD4KIApAQCAtMTM2LDYgKzEzNywxNCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzbGVl
cChjb25zdCBUaW1lCiAKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGhhc0VsYXBzZWQoY29uc3Qg
VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlJik7CiAKK3RlbXBsYXRlPD4KK3N0cnVjdCBGbG9hdEFk
YXB0ZXI8VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
Y2FuQ29udmVydFRvRmxvYXQgPSB0cnVlOworICAgIHN0YXRpYyBjb25zdCBib29sIGNhbkNvbnZl
cnRGcm9tRmxvYXQgPSBmYWxzZTsKKyAgICB0eXBlZGVmIGRvdWJsZSBVbmRlcmx5aW5nVHlwZTsK
KyAgICBzdGF0aWMgZG91YmxlIHRvVW5kZXJseWluZ1R5cGUoTW9ub3RvbmljVGltZSB2YWx1ZSkg
eyByZXR1cm4gdmFsdWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOyB9Cit9OworCiB9IC8v
IG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGU7Cklu
ZGV4OiBTb3VyY2UvV1RGL3d0Zi9XYWxsVGltZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYv
d3RmL1dhbGxUaW1lLmgJKHJldmlzaW9uIDIxMDU2NikKKysrIFNvdXJjZS9XVEYvd3RmL1dhbGxU
aW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgV1RGX1dhbGxU
aW1lX2gKIAogI2luY2x1ZGUgPHd0Zi9DbG9ja1R5cGUuaD4KKyNpbmNsdWRlIDx3dGYvRmxvYXRB
ZGFwdGVyLmg+CiAjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBA
IC0xMzYsNiArMTM3LDE1IEBAIHByaXZhdGU6CiAKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNs
ZWVwKFdhbGxUaW1lKTsKIAordGVtcGxhdGU8Pgorc3RydWN0IEZsb2F0QWRhcHRlcjxXYWxsVGlt
ZT4geworICAgIHN0YXRpYyBjb25zdCBib29sIGNhbkNvbnZlcnRUb0Zsb2F0ID0gdHJ1ZTsKKyAg
ICBzdGF0aWMgY29uc3QgYm9vbCBjYW5Db252ZXJ0RnJvbUZsb2F0ID0gdHJ1ZTsKKyAgICB0eXBl
ZGVmIGRvdWJsZSBVbmRlcmx5aW5nVHlwZTsKKyAgICBzdGF0aWMgZG91YmxlIHRvVW5kZXJseWlu
Z1R5cGUoV2FsbFRpbWUgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLnNlY29uZHNTaW5jZUVwb2NoKCku
dmFsdWUoKTsgfQorICAgIHN0YXRpYyBXYWxsVGltZSBmcm9tVW5kZXJseWluZ1R5cGUoZG91Ymxl
IHZhbHVlKSB7IHJldHVybiBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOyB9Cit9Owor
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpXYWxsVGltZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>