<?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>119958</bug_id>
          
          <creation_ts>2013-08-17 12:30:04 -0700</creation_ts>
          <short_desc>Replace currentTime() with monotonicallyIncreasingTime() in WebCore</short_desc>
          <delta_ts>2013-08-27 13:46:26 -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>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>119785</dependson>
          <blocked>119761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Arunprasad Rajkumar">arurajku</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>apavlov</cc>
    
    <cc>ararunprasad</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>d-r</cc>
    
    <cc>dstockwell</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>918337</commentid>
    <comment_count>0</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-17 12:30:04 -0700</bug_when>
    <thetext>This bug is a continuation of http://trac.webkit.org/changeset/154201 to replace currentTime() with monotonicallyIncreasingTime() in WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918342</commentid>
    <comment_count>1</comment_count>
      <attachid>209006</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-17 13:38:19 -0700</bug_when>
    <thetext>Created attachment 209006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918459</commentid>
    <comment_count>2</comment_count>
      <attachid>209037</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-18 10:44:49 -0700</bug_when>
    <thetext>Created attachment 209037
List of places in WebCore where still currentTime() lives

List of places in WebCore where still currentTime() lives

1. Geolocation(Refer Geolocation.cpp#416)
2. Memory Cache
3. Events(where the DOM time stamp should be in epoch since 01/01/1970,00:00)
4. WorkerRunLoop(mutex needs absolute time - https://bugs.webkit.org/show_bug.cgi?id=114826).
5. Blackberry&apos;s platform/network - (we can address this in https://bugs.webkit.org/show_bug.cgi?id=114696).
6. Some of the Inspector Files(I think inspector front-end  don&apos;t have access to monotonic time)

Please correct me if my assumptions were wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918488</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-18 19:27:24 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; 2. Memory Cache

This might require some thinking. We don’t want changes to the system clock to affect cache expiration.

&gt; 6. Some of the Inspector Files(I think inspector front-end  don&apos;t have access to monotonic time)

That does not sound right. Since the inspector front end is not necessarily on the same computer, it won’t necessarily have access to the same current time either. We don’t intend to require that the two computers have synchronized clocks to make the inspector work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918504</commentid>
    <comment_count>4</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-18 21:11:24 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; 2. Memory Cache
&gt; 
&gt; This might require some thinking. We don’t want changes to the system clock to affect cache expiration.
&gt; 
&gt; &gt; 6. Some of the Inspector Files(I think inspector front-end  don&apos;t have access to monotonic time)
&gt; 
&gt; That does not sound right. Since the inspector front end is not necessarily on the same computer, it won’t necessarily have access to the same current time either. We don’t intend to require that the two computers have synchronized clocks to make the inspector work.

Darin, I was about to say &quot;The list of places where we can&apos;t change currentTime() to monotonicallyIncreasingTime()&quot; :)

(That attachment includes list of places where currentTime() would live even after all patches gets landed, I didn&apos;t mentioned like we have to replace those stuffs :) )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918536</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-18 23:10:45 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Darin, I was about to say &quot;The list of places where we can&apos;t change currentTime() to monotonicallyIncreasingTime()&quot; :)
&gt; 
&gt; (That attachment includes list of places where currentTime() would live even after all patches gets landed, I didn&apos;t mentioned like we have to replace those stuffs :) )

Yes, and my point is that given what I can see these two should be changed to use monotonicallyIncreasingTime. I don’t understand the arguments above for why they need to stay on currentTime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918545</commentid>
    <comment_count>6</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-18 23:36:40 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Darin, I was about to say &quot;The list of places where we can&apos;t change currentTime() to monotonicallyIncreasingTime()&quot; :)
&gt; &gt; 
&gt; &gt; (That attachment includes list of places where currentTime() would live even after all patches gets landed, I didn&apos;t mentioned like we have to replace those stuffs :) )
&gt; 
&gt; Yes, and my point is that given what I can see these two should be changed to use monotonicallyIncreasingTime. I don’t understand the arguments above for why they need to stay on currentTime.

Sorry for the misinterpretation.

&gt;&gt;2. Memory Cache
Cached Resource Age calculation also includes HTTP response header field &quot;date&quot;(CachedResource::currentAge()).

&gt;&gt;6. Some of the Inspector Files(I think inspector front-end  don&apos;t have access to monotonic time)
Frankly I don&apos;t know much details about inspector, will check &amp; let you know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918697</commentid>
    <comment_count>7</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-19 11:07:01 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; Darin, I was about to say &quot;The list of places where we can&apos;t change currentTime() to monotonicallyIncreasingTime()&quot; :)
&gt; &gt; &gt; 
&gt; &gt; &gt; (That attachment includes list of places where currentTime() would live even after all patches gets landed, I didn&apos;t mentioned like we have to replace those stuffs :) )
&gt; &gt; 
&gt; &gt; Yes, and my point is that given what I can see these two should be changed to use monotonicallyIncreasingTime. I don’t understand the arguments above for why they need to stay on currentTime.
&gt; 
&gt; Sorry for the misinterpretation.
&gt; 
&gt; &gt;&gt;2. Memory Cache
&gt; Cached Resource Age calculation also includes HTTP response header field &quot;date&quot;(CachedResource::currentAge()).
&gt; 
&gt; &gt;&gt;6. Some of the Inspector Files(I think inspector front-end  don&apos;t have access to monotonic time)
&gt; Frankly I don&apos;t know much details about inspector, will check &amp; let you know.

Guys anyone pls review the attached patch? I&apos;m checking the possibilities to change the same for MemoryCache &amp; Inspector related stuffs &amp; if possible will do it as a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918715</commentid>
    <comment_count>8</comment_count>
      <attachid>209006</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-08-19 11:49:27 -0700</bug_when>
    <thetext>Comment on attachment 209006
Patch

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

&gt; Source/WTF/wtf/CurrentTime.h:55
&gt; +// NTP or manual adjustments , so it better suits for elapsed time measurement.

&quot;it is better suited for&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918720</commentid>
    <comment_count>9</comment_count>
      <attachid>209104</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-19 12:02:54 -0700</bug_when>
    <thetext>Created attachment 209104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918724</commentid>
    <comment_count>10</comment_count>
      <attachid>209105</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-19 12:10:57 -0700</bug_when>
    <thetext>Created attachment 209105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920374</commentid>
    <comment_count>11</comment_count>
      <attachid>209493</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-23 12:47:23 -0700</bug_when>
    <thetext>Created attachment 209493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920377</commentid>
    <comment_count>12</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-23 12:48:18 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=209493) [details]
&gt; Patch

It is just a ChangeLog format correction as per rniwa mail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921616</commentid>
    <comment_count>13</comment_count>
      <attachid>209790</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-27 12:12:26 -0700</bug_when>
    <thetext>Created attachment 209790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921617</commentid>
    <comment_count>14</comment_count>
      <attachid>209790</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-08-27 12:13:53 -0700</bug_when>
    <thetext>Comment on attachment 209790
Patch

Looks good to me. I don&apos;t understand mediaTime changes well, but Eric and Jer can comment if these are wrong.

Waiting a little bit for EWS to start providing results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921635</commentid>
    <comment_count>15</comment_count>
      <attachid>209790</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-08-27 13:22:10 -0700</bug_when>
    <thetext>Comment on attachment 209790
Patch

Mac WK1 EWS seems to be in a pretty bad shape now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921636</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-08-27 13:24:57 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 209790 [details])
&gt; Looks good to me. I don&apos;t understand mediaTime changes well, but Eric and Jer can comment if these are wrong.
&gt; 
The media changes look fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921647</commentid>
    <comment_count>17</comment_count>
      <attachid>209790</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-27 13:46:21 -0700</bug_when>
    <thetext>Comment on attachment 209790
Patch

Clearing flags on attachment: 209790

Committed r154706: &lt;http://trac.webkit.org/changeset/154706&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921648</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-27 13:46:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209006</attachid>
            <date>2013-08-17 13:38:19 -0700</date>
            <delta_ts>2013-08-19 12:02:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119958-20130818020751.patch</filename>
            <type>text/plain</type>
            <size>39287</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiMGFjMjkxMWI3YWYyNGI4MDE5NDEx
NzQ0NmE5Zjg1MWVlYTY1YWMuLjY4YzcxNzdiMzZjYWIyYjE0ZWNjMjNlMDNiMWMzODk5MzZmNjI3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTMtMDgtMTcgIEFydW5wcmFzYWQgUmFqa3VtYXIg
IDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEx
OTk1OD4gQ09OVElOVUFUSU9OKHIxNTQyMDEpOiBSZXBsYWNlIGN1cnJlbnRUaW1lKCkgd2l0aCBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSBpbiBXZWJDb3JlCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvQ3VycmVudFRpbWUuaDogRWRp
dGVkIGNvbW1lbnQuCisKIDIwMTMtMDgtMTYgIEFydW5wcmFzYWQgUmFqa3VtYXIgIDxhcnVyYWpr
dUBjaXNjby5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzExOTc4NT4gUmVw
bGFjZSBjdXJyZW50VGltZSgpIHdpdGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgaW4g
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ1ZGFjNDQ0NTBhZDQzMmQ2MTlmZGQ4MTgyMTE0MGMzYTdm
YmJiZjQuLmFiYTRiZjNkODlmOGIyNzcwNjM3ODEwZjgzZTU0NzQyNDMwY2U4NDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw4NiBAQAorMjAxMy0wOC0xNyAgQXJ1bnByYXNhZCBSYWprdW1hciAgPGFy
dXJhamt1QGNpc2NvLmNvbT4KKworICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5OTU4
PiBDT05USU5VQVRJT04ocjE1NDIwMSk6IFJlcGxhY2UgY3VycmVudFRpbWUoKSB3aXRoIG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGluIFdlYkNvcmUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXVEY6OmN1cnJlbnRUaW1lKCkgaXMgcHJvbmUg
dG8gTlRQIGFuZCBtYW51YWwgYWRqdXN0bWVudHMsIHNvIHVzZQorICAgICAgICBXVEY6Om1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIHRvIG1lYXN1cmUgZWxhcHNlZCB0aW1lLgorCisgICAg
ICAgICogaGlzdG9yeS9DYWNoZWRQYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFBh
Z2U6OkNhY2hlZFBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6aGFzRXhwaXJl
ZCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6Y2hlY2tGb3JZaWVsZEJlZm9yZVRva2Vu
KToKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6
cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZUl0ZW06OmFsbG93c1JlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0U3RhdGUpOgorICAgICAgICAqIGxv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFj
a2VyOjppbmNyZW1lbnRQcm9ncmVzcyk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZENT
U1N0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkQ1NTU3R5bGVTaGVldDo6
cmVzdG9yZVBhcnNlZFN0eWxlU2hlZXQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6ZGlkRHJhdyk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZUxpdmVSZXNvdXJjZXNUb1NpemUpOgorICAgICAgICAqIGxvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uRGF0YWJhc2U6Omlj
b25EYXRhYmFzZVN5bmNUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjpz
eW5jVGhyZWFkTWFpbkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjpyZWFk
RnJvbURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6d3JpdGVUb0Rh
dGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6Y2xlYW51cFN5bmNUaHJl
YWQpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1lKToKKyAgICAgICAgKiBwYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbjo6Y29tcHV0ZVRvdGFsUnVubmlu
Z1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbjo6cmVzdW1l
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVZGV3JhcHBl
cjo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBpeGVsQnVmZmVyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllckNBOjpzdXNwZW5kQW5pbWF0aW9ucyk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybUNBTGF5ZXI6OmN1cnJlbnRUaW1lVG9NZWRpYVRpbWUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhL21hYy9MYXllclBvb2wubW06CisgICAgICAgIChXZWJDb3JlOjpMYXllclBv
b2w6OmFkZExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6ZGVjYXllZENhcGFj
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6cHJ1bmVUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tOgor
ICAgICAgICAobWVkaWFUaW1lVG9DdXJyZW50VGltZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNB
Q0ZMYXllclRyZWVIb3N0Ojpub3RpZnlBbmltYXRpb25zU3RhcnRlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHA6CisgICAgICAgIChQ
bGF0Zm9ybUNBTGF5ZXI6OnByaW50VHJlZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291bnRlcjo6VGV4dHVyZU1hcHBlckZQU0Nv
dW50ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OnVwZGF0
ZUZQU0FuZERpc3BsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jl
c29sdmVRdWV1ZTo6aXNVc2luZ1Byb3h5KToKKyAgICAgICAgKiBwbHVnaW5zL3dpbi9QbHVnaW5N
ZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VU
aHJvdHRsZXJXaW46OmFwcGVuZE1lc3NhZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpkaWRQYWludEJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclByb2dyZXNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjphbmlt
YXRpb25Qcm9ncmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRl
QW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OmVsYXBzZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OmJlZ2luKToKKyAgICAgICAgKFdl
YkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpwYXVzZSk6CisgICAgICAgIChXZWJDb3JlOjpTTUlM
VGltZUNvbnRhaW5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFp
bmVyOjpzZXRFbGFwc2VkKToKKwogMjAxMy0wOC0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5NTM2PiBSZWZhY3Rv
ciBoaWdoZXN0RWRpdGFibGVSb290IHRvIGF2b2lkIGEgcmVkdW5kYW50IGNhbGwgdG8gcmVuZGVy
ZXJJc0VkaXRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5oIGIv
U291cmNlL1dURi93dGYvQ3VycmVudFRpbWUuaAppbmRleCAyNGIyYTMwYjRkOWQ5MzNkMTZkNDcz
ZmNkZjg2MTIwYTgzYmZkYzVhLi4wZGZjZjBlNWUzYWMwMjIwMDYxMjExZjNhNmRkMTA2NTk5YTZi
MjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmgKQEAgLTUyLDcgKzUyLDcgQEAgaW5saW5lIGRvdWJsZSBj
dXJyZW50VGltZU1TKCkKIC8vIFByb3ZpZGVzIGEgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHRp
bWUgaW4gc2Vjb25kcyBzaW5jZSBhbiBhcmJpdHJhcnkgcG9pbnQgaW4gdGhlIHBhc3QuCiAvLyBP
biB1bnN1cHBvcnRlZCBwbGF0Zm9ybXMsIHRoaXMgZnVuY3Rpb24gb25seSBndWFyYW50ZWVzIHRo
ZSByZXN1bHQgd2lsbCBiZSBub24tZGVjcmVhc2luZy4KIC8vIFJlc3VsdCBvZiB0aGlzIGZ1bmN0
aW9uIGluY3JlYXNlcyBtb25vdG9uaWNhbGx5IGV2ZW4gd2hlbiBjbG9jayB0aW1lIGdvZXMgYmFj
ayBkdWUgdG8KLS8vIERTVCBjaGFuZ2VzIG9yIE5UUCBhZGp1c3RtZW50cywgc28gaXQgYmV0dGVy
IHN1aXRzIGZvciBlbGFwc2VkIHRpbWUgbWVhc3VyZW1lbnQuCisvLyBOVFAgb3IgbWFudWFsIGFk
anVzdG1lbnRzICwgc28gaXQgYmV0dGVyIHN1aXRzIGZvciBlbGFwc2VkIHRpbWUgbWVhc3VyZW1l
bnQuCiBXVEZfRVhQT1JUX1BSSVZBVEUgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogCiBpbmxpbmUgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCmluZGV4IGVmMmUyOTQzYTRhZjlkNzJlMWRm
MjMwZDc4N2YzMDJlNDY3NGNiZjEuLjAzZjBkOThhMWZmNzNjODY2ODk3MTI5NDMwNzU4OGY3ZDVi
NDZjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcApAQCAtNTEsNyArNTEs
NyBAQCBQYXNzUmVmUHRyPENhY2hlZFBhZ2U+IENhY2hlZFBhZ2U6OmNyZWF0ZShQYWdlKiBwYWdl
KQogfQogCiBDYWNoZWRQYWdlOjpDYWNoZWRQYWdlKFBhZ2UqIHBhZ2UpCi0gICAgOiBtX3RpbWVT
dGFtcChjdXJyZW50VGltZSgpKQorICAgIDogbV90aW1lU3RhbXAobW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkpCiAgICAgLCBtX2V4cGlyYXRpb25UaW1lKG1fdGltZVN0YW1wICsgcGFnZS0+
c2V0dGluZ3MoKS5iYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVydmFsKCkpCiAgICAgLCBt
X2NhY2hlZE1haW5GcmFtZShDYWNoZWRGcmFtZTo6Y3JlYXRlKHBhZ2UtPm1haW5GcmFtZSgpKSkK
ICAgICAsIG1fbmVlZFN0eWxlUmVjYWxjRm9yVmlzaXRlZExpbmtzKGZhbHNlKQpAQCAtMTMwLDcg
KzEzMCw3IEBAIHZvaWQgQ2FjaGVkUGFnZTo6ZGVzdHJveSgpCiAKIGJvb2wgQ2FjaGVkUGFnZTo6
aGFzRXhwaXJlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGN1cnJlbnRUaW1lKCkgPiBtX2V4cGly
YXRpb25UaW1lOworICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSA+IG1f
ZXhwaXJhdGlvblRpbWU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCAyY2E3MjIy
NDAwNDIzN2E1MjIxZmUwMDkzZjE5NjFjZTJkNTYyZTk3Li5jMjE1Y2IwOGVhNWRiZWQwYTBiNmMx
ZGUyN2E4MjNlYTY3OTg1OTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC03MCw4ICs3MCw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IGNoZWNrRm9yWWllbGRCZWZvcmVUb2tlbihQdW1wU2Vzc2lvbiYgc2Vzc2lvbikKICAgICB7CiAg
ICAgICAgIGlmIChzZXNzaW9uLnByb2Nlc3NlZFRva2VucyA+IG1fcGFyc2VyQ2h1bmtTaXplIHx8
IHNlc3Npb24uZGlkU2VlU2NyaXB0KSB7Ci0gICAgICAgICAgICAvLyBjdXJyZW50VGltZSgpIGNh
biBiZSBleHBlbnNpdmUuICBCeSBkZWxheWluZywgd2UgYXZvaWRlZCBjYWxsaW5nCi0gICAgICAg
ICAgICAvLyBjdXJyZW50VGltZSgpIHdoZW4gY29uc3RydWN0aW5nIG5vbi15aWVsZGluZyBQdW1w
U2Vzc2lvbnMuCisgICAgICAgICAgICAvLyBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSBj
YW4gYmUgZXhwZW5zaXZlLiBCeSBkZWxheWluZywgd2UgYXZvaWRlZCBjYWxsaW5nCisgICAgICAg
ICAgICAvLyBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB3aGVuIGNvbnN0cnVjdGluZyBu
b24teWllbGRpbmcgUHVtcFNlc3Npb25zLgogICAgICAgICAgICAgaWYgKCFzZXNzaW9uLnN0YXJ0
VGltZSkKICAgICAgICAgICAgICAgICBzZXNzaW9uLnN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAKaW5kZXggOWQ1MWM4N2ZlNmM0ZTdk
NDM5MzNlNDVlZWY3ZDVjMTliZDVlMjA4NC4uNGExN2RmZGRmZDFhNTk3MzQ1Y2UyNGQxZmQwMGY5
YWJiMjlhMWEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIGJvb2wg
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNlKGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlCiAgICAgfSBlbHNlCiAgICAgICAgIGV4cGlyeURlbHRhID0gZGVm
YXVsdFByZWZsaWdodENhY2hlVGltZW91dFNlY29uZHM7CiAKLSAgICBtX2Fic29sdXRlRXhwaXJ5
VGltZSA9IGN1cnJlbnRUaW1lKCkgKyBleHBpcnlEZWx0YTsKKyAgICBtX2Fic29sdXRlRXhwaXJ5
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgZXhwaXJ5RGVsdGE7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKQEAgLTEzNiw3ICsxMzYsNyBAQCBib29sIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxvd3NDcm9zc09yaWdpbkhlYWRlcnMoY29uc3QgSFRU
UEhlYQogYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6YWxsb3dzUmVx
dWVzdChTdG9yZWRDcmVkZW50aWFscyBpbmNsdWRlQ3JlZGVudGlhbHMsIGNvbnN0IFN0cmluZyYg
bWV0aG9kLCBjb25zdCBIVFRQSGVhZGVyTWFwJiByZXF1ZXN0SGVhZGVycykgY29uc3QKIHsKICAg
ICBTdHJpbmcgaWdub3JlZEV4cGxhbmF0aW9uOwotICAgIGlmIChtX2Fic29sdXRlRXhwaXJ5VGlt
ZSA8IGN1cnJlbnRUaW1lKCkpCisgICAgaWYgKG1fYWJzb2x1dGVFeHBpcnlUaW1lIDwgbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAo
aW5jbHVkZUNyZWRlbnRpYWxzID09IEFsbG93U3RvcmVkQ3JlZGVudGlhbHMgJiYgbV9jcmVkZW50
aWFscyA9PSBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDE5N2EzMDkzZmE5MTEw
MTA2YzRhYzZlMTU2ZTA0NDk5MGMwZTBkYTMuLjhhNzFiZjExYWYyNzVkMjFmMmEzMTI2MDc5YjVi
ODdlYjFjOWI4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTY4
NSw3ICsxNjg1LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0U3RhdGUoRnJhbWVTdGF0ZSBuZXdT
dGF0ZSkKICAgICAgICAgcHJvdmlzaW9uYWxMb2FkU3RhcnRlZCgpOwogICAgIGVsc2UgaWYgKG5l
d1N0YXRlID09IEZyYW1lU3RhdGVDb21wbGV0ZSkgewogICAgICAgICBmcmFtZUxvYWRDb21wbGV0
ZWQoKTsKLSAgICAgICAgc3RvcmVkVGltZU9mTGFzdENvbXBsZXRlZExvYWQgPSBjdXJyZW50VGlt
ZSgpOworICAgICAgICBzdG9yZWRUaW1lT2ZMYXN0Q29tcGxldGVkTG9hZCA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBpZiAobV9kb2N1bWVudExvYWRlcikKICAgICAg
ICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPnN0b3BSZWNvcmRpbmdSZXNwb25zZXMoKTsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IDJjODQyM2I3
NjU4ZTEzZTY2N2YwMDM0OWFkMWU2ODQ5YjdiYTJiYWEuLjNiODU2OGU1YTA3NjM5MDVhMGRjYjE5
NjFkMDkyMmYxNzUxNzVmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9n
cmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBQcm9ncmVzc1RyYWNrZXI6OmluY3JlbWVu
dFByb2dyZXNzKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgY2hhciosIGkKICAgICAK
ICAgICBtX3RvdGFsQnl0ZXNSZWNlaXZlZCArPSBieXRlc1JlY2VpdmVkOwogICAgIAotICAgIGRv
dWJsZSBub3cgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKICAgICBkb3VibGUgbm90aWZpZWRQcm9ncmVzc1RpbWVEZWx0YSA9
IG5vdyAtIG1fbGFzdE5vdGlmaWVkUHJvZ3Jlc3NUaW1lOwogICAgIAogICAgIExPRyhQcm9ncmVz
cywgIlByb2dyZXNzIGluY3JlbWVudGVkICglcCkgLSB2YWx1ZSAlZiwgdHJhY2tlZCBmcmFtZXMg
JWQiLCB0aGlzLCBtX3Byb2dyZXNzVmFsdWUsIG1fbnVtUHJvZ3Jlc3NUcmFja2VkRnJhbWVzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNo
ZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0
LmNwcAppbmRleCA0MzY3NzdlNjk5NGU1MjI0N2FlNmZkZjAyZmNjYjUxMTA1YWJmMzMyLi42OTNh
YjAwODU4Zjk4ODBiODE3MTAwYmU2ZjFkN2E1OTk1YTlkNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCkBAIC0xNzMsNyAr
MTczLDcgQEAgUGFzc1JlZlB0cjxTdHlsZVNoZWV0Q29udGVudHM+IENhY2hlZENTU1N0eWxlU2hl
ZXQ6OnJlc3RvcmVQYXJzZWRTdHlsZVNoZWV0KGNvbnMKICAgICBpZiAobV9wYXJzZWRTdHlsZVNo
ZWV0Q2FjaGUtPnBhcnNlckNvbnRleHQoKSAhPSBjb250ZXh0KQogICAgICAgICByZXR1cm4gMDsK
IAotICAgIGRpZEFjY2Vzc0RlY29kZWREYXRhKGN1cnJlbnRUaW1lKCkpOworICAgIGRpZEFjY2Vz
c0RlY29kZWREYXRhKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKIAogICAgIHJldHVy
biBtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDc3MTU4ZmVlZTNiNTUzZTJlZWQ3M2VmZGM2NmM1MThm
NjIxMDg3NzIuLmJhNWE5MjUyNzA5ZTQ4YTg4MTRkOWY1ZTE1Y2NlZjY5M2E0OGFlNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcApAQCAtNDcyLDcgKzQ3
Miw3IEBAIHZvaWQgQ2FjaGVkSW1hZ2U6OmRpZERyYXcoY29uc3QgSW1hZ2UqIGltYWdlKQogICAg
IAogICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBGcmFtZVZpZXc6OmN1cnJlbnRQYWludFRpbWVTdGFt
cCgpOwogICAgIGlmICghdGltZVN0YW1wKSAvLyBJZiBkaWREcmF3IGlzIGNhbGxlZCBvdXRzaWRl
IG9mIGEgRnJhbWUgcGFpbnQuCi0gICAgICAgIHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7Cisg
ICAgICAgIHRpbWVTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIAog
ICAgIENhY2hlZFJlc291cmNlOjpkaWRBY2Nlc3NEZWNvZGVkRGF0YSh0aW1lU3RhbXApOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggMjkyZmEy
Zjk0OWIwYjFjNTNjYTc1NjliN2JhY2IzMjBjYWUwODY4ZS4uYjY3MjMzODZhMjE4YjE5MzhjNzk2
NTM3MGJmZWQ0NTEzOGE3NzM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVt
b3J5Q2FjaGUuY3BwCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmVM
aXZlUmVzb3VyY2VzVG9TaXplKHVuc2lnbmVkIHRhcmdldFNpemUpCiAKICAgICBkb3VibGUgY3Vy
cmVudFRpbWUgPSBGcmFtZVZpZXc6OmN1cnJlbnRQYWludFRpbWVTdGFtcCgpOwogICAgIGlmICgh
Y3VycmVudFRpbWUpIC8vIEluIGNhc2UgcHJ1bmUgaXMgY2FsbGVkIGRpcmVjdGx5LCBvdXRzaWRl
IG9mIGEgRnJhbWUgcGFpbnQuCi0gICAgICAgIGN1cnJlbnRUaW1lID0gV1RGOjpjdXJyZW50VGlt
ZSgpOworICAgICAgICBjdXJyZW50VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwogICAgIAogICAgIC8vIERlc3Ryb3kgYW55IGRlY29kZWQgZGF0YSBpbiBsaXZlIG9iamVjdHMg
dGhhdCB3ZSBjYW4uCiAgICAgLy8gU3RhcnQgZnJvbSB0aGUgdGFpbCwgc2luY2UgdGhpcyBpcyB0
aGUgbGVhc3QgcmVjZW50bHkgYWNjZXNzZWQgb2YgdGhlIG9iamVjdHMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCAwYWNhMDQ1MWRlZjc3ODE3Zjhi
NzA1MmNkNDBiN2RiMzYzZDQ2ZTAzLi5lMDVlYmRlYjQ4YzVlODNmYzhmYWZiM2ZkMTZlYTA1Mjhm
MjE5NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAK
QEAgLTk4OSw3ICs5ODksNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1Ro
cmVhZCgpCiAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIEljb25EYXRhYmFzZSBzeW5j
IHRocmVhZCBzdGFydGVkIik7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHN0YXJ0
VGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHN0YXJ0VGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKICAgICAvLyBOZWVkIHRvIGNyZWF0ZSB0aGUg
ZGF0YWJhc2UgcGF0aCBpZiBpdCBkb2Vzbid0IGFscmVhZHkgZXhpc3QKQEAgLTEwMTcsNyArMTAx
Nyw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKCkKICAgICB9
CiAgICAgICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgdGltZVN0YW1wID0gY3Vy
cmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZVN0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIE9wZW4gdG9vayAlLjRm
IHNlY29uZHMiLCB0aW1lU3RhbXAgLSBzdGFydFRpbWUpOwogI2VuZGlmICAgIAogCkBAIC0xMDI4
LDEzICsxMDI4LDEzIEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFk
KCkKICAgICB9CiAgICAgICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgbmV3U3Rh
bXAgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBuZXdTdGFtcCA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBwZXJmb3Jt
T3BlbkluaXRpYWxpemF0aW9uKCkgdG9vayAlLjRmIHNlY29uZHMsIG5vdyAlLjRmIHNlY29uZHMg
ZnJvbSB0aHJlYWQgc3RhcnQiLCBuZXdTdGFtcCAtIHRpbWVTdGFtcCwgbmV3U3RhbXAgLSBzdGFy
dFRpbWUpOwogICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwogI2VuZGlmIAogICAgICAgICAKICAg
ICAvLyBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHNpbXVsYXRlIGEgbG9uZyBsYXN0
aW5nIFVSTCBpbXBvcnQgKCpIVUdFKiBpY29uIGRhdGFiYXNlcywgb3IgbmV0d29yayBob21lIGRp
cmVjdG9yaWVzKQotICAgIC8vIHdoaWxlIChjdXJyZW50VGltZSgpIC0gdGltZVN0YW1wIDwgMTAp
OworICAgIC8vIHdoaWxlIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHRpbWVTdGFt
cCA8IDEwKTsKIAogICAgIC8vIFJlYWQgaW4gVVJMIG1hcHBpbmdzIGZyb20gdGhlIGRhdGFiYXNl
ICAgICAgICAgIAogICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBTdGFydGluZyBpY29u
VVJMIGltcG9ydCIpOwpAQCAtMTA0Niw3ICsxMDQ2LDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6Omlj
b25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgIH0KIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBu
ZXdTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgbmV3U3RhbXAgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgcGVyZm9ybVVS
TEltcG9ydCgpIHRvb2sgJS40ZiBzZWNvbmRzLiAgRW50ZXJpbmcgbWFpbiBsb29wICUuNGYgc2Vj
b25kcyBmcm9tIHRocmVhZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdTdGFtcCAt
IHN0YXJ0VGltZSk7CiAjZW5kaWYgCiAKQEAgLTEzNzQsNyArMTM3NCw3IEBAIHZvaWQgSWNvbkRh
dGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICBtX3N5bmNMb2NrLnVubG9jaygp
OwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgICAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVu
dFRpbWUoKTsKKyAgICAgICAgZG91YmxlIHRpbWVTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogI2VuZGlmCiAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBN
YWluIHdvcmsgbG9vcCBzdGFydGluZyIpOwogCkBAIC0xNDEyLDEzICsxNDEyLDEzIEBAIHZvaWQg
SWNvbkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICAgICAgc3RhdGljIGJv
b2wgcHJ1bmVkVW5yZXRhaW5lZEljb25zID0gZmFsc2U7CiAgICAgICAgICAgICBpZiAoZGlkV3Jp
dGUgJiYgIW1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCAmJiAhcHJ1bmVkVW5yZXRhaW5lZEljb25z
ICYmICFkYXRhYmFzZUNsZWFudXBDb3VudGVyKSB7CiAjaWYgIUxPR19ESVNBQkxFRAotICAgICAg
ICAgICAgICAgIGRvdWJsZSB0aW1lID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgICAgICAgICBk
b3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAgICAg
ICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIFN0YXJ0aW5nIHBydW5lVW5y
ZXRhaW5lZEljb25zKCkiKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBwcnVu
ZVVucmV0YWluZWRJY29ucygpOwogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIExP
RyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBwcnVuZVVucmV0YWluZWRJY29ucygpIHRvb2sgJS40
ZiBzZWNvbmRzIiwgY3VycmVudFRpbWUoKSAtIHRpbWUpOworICAgICAgICAgICAgICAgIExPRyhJ
Y29uRGF0YWJhc2UsICIoVEhSRUFEKSBwcnVuZVVucmV0YWluZWRJY29ucygpIHRvb2sgJS40ZiBz
ZWNvbmRzIiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aW1lKTsKICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAvLyBJZiBwcnVuZVVucmV0YWluZWRJY29ucygpIHJl
dHVybmVkIGVhcmx5IGR1ZSB0byByZXF1ZXN0ZWQgdGhyZWFkIHRlcm1pbmF0aW9uLCBpdHMgc3Rp
bGwgb2theQogICAgICAgICAgICAgICAgIC8vIHRvIG1hcmsgcHJ1bmVkVW5yZXRhaW5lZEljb25z
IHRydWUgYmVjYXVzZSB3ZSdyZSBhYm91dCB0byB0ZXJtaW5hdGUgYW55d2F5CkBAIC0xNDMxLDcg
KzE0MzEsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkKICAgICAg
ICAgfQogICAgICAgICAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgICAgIGRvdWJsZSBuZXdzdGFt
cCA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIGRvdWJsZSBuZXdzdGFtcCA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkg
TWFpbiB3b3JrIGxvb3AgcmFuIGZvciAlLjRmIHNlY29uZHMsICVzIHJlcXVlc3RlZCB0byB0ZXJt
aW5hdGUiLCBuZXdzdGFtcCAtIHRpbWVTdGFtcCwgc2hvdWxkU3RvcFRocmVhZEFjdGl2aXR5KCkg
PyAid2FzIiA6ICJ3YXMgbm90Iik7CiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAgCkBAIC0x
NTEzLDcgKzE1MTMsNyBAQCBib29sIEljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSgpCiAg
ICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKICAgICAKICNpZiAhTE9HX0RJU0FCTEVECi0g
ICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHRpbWVTdGFt
cCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKICAgICBib29sIGRp
ZEFueVdvcmsgPSBmYWxzZTsKQEAgLTE2MDcsNyArMTYwNyw3IEBAIGJvb2wgSWNvbkRhdGFiYXNl
OjpyZWFkRnJvbURhdGFiYXNlKCkKICAgICAgICAgICAgIHJldHVybiBkaWRBbnlXb3JrOwogICAg
IH0KIAotICAgIExPRyhJY29uRGF0YWJhc2UsICJSZWFkaW5nIGZyb20gZGF0YWJhc2UgdG9vayAl
LjRmIHNlY29uZHMiLCBjdXJyZW50VGltZSgpIC0gdGltZVN0YW1wKTsKKyAgICBMT0coSWNvbkRh
dGFiYXNlLCAiUmVhZGluZyBmcm9tIGRhdGFiYXNlIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogCiAgICAgcmV0dXJuIGRpZEFu
eVdvcms7CiB9CkBAIC0xNjE3LDcgKzE2MTcsNyBAQCBib29sIEljb25EYXRhYmFzZTo6d3JpdGVU
b0RhdGFiYXNlKCkKICAgICBBU1NFUlRfSUNPTl9TWU5DX1RIUkVBRCgpOwogCiAjaWYgIUxPR19E
SVNBQkxFRAotICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJs
ZSB0aW1lU3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogCiAg
ICAgYm9vbCBkaWRBbnlXb3JrID0gZmFsc2U7CkBAIC0xNjY3LDcgKzE2NjcsNyBAQCBib29sIElj
b25EYXRhYmFzZTo6d3JpdGVUb0RhdGFiYXNlKCkKICAgICBpZiAoZGlkQW55V29yaykKICAgICAg
ICAgY2hlY2tGb3JEYW5nbGluZ1BhZ2VVUkxzKGZhbHNlKTsKIAotICAgIExPRyhJY29uRGF0YWJh
c2UsICJVcGRhdGluZyB0aGUgZGF0YWJhc2UgdG9vayAlLjRmIHNlY29uZHMiLCBjdXJyZW50VGlt
ZSgpIC0gdGltZVN0YW1wKTsKKyAgICBMT0coSWNvbkRhdGFiYXNlLCAiVXBkYXRpbmcgdGhlIGRh
dGFiYXNlIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkg
LSB0aW1lU3RhbXApOwogCiAgICAgcmV0dXJuIGRpZEFueVdvcms7CiB9CkBAIC0xODIyLDcgKzE4
MjIsNyBAQCB2b2lkKiBJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKCkKICAgICBBU1NF
UlRfSUNPTl9TWU5DX1RIUkVBRCgpOwogICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3Vi
bGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZVN0YW1wID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYgCiAKICAgICAvLyBJZiB0aGUgcmVt
b3ZlSWNvbnMgZmxhZyBpcyBzZXQsIHJlbW92ZSBhbGwgaWNvbnMgZnJvbSB0aGUgZGIuCkBAIC0x
ODQyLDcgKzE4NDIsNyBAQCB2b2lkKiBJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKCkK
ICAgICBtX3N5bmNEQi5jbG9zZSgpOwogICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBMT0co
SWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgRmluYWwgY2xvc3VyZSB0b29rICUuNGYgc2Vjb25kcyIs
IGN1cnJlbnRUaW1lKCkgLSB0aW1lU3RhbXApOworICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhS
RUFEKSBGaW5hbCBjbG9zdXJlIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogI2VuZGlmCiAgICAgCiAgICAgbV9zeW5jVGhyZWFk
UnVubmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmNwcAppbmRleCA4ZGE2NzhiNDkyYTYwMDRhZjQxOWI3Y2U0OWFhMTMzOTRjOWMx
ZTc0Li45MzE4NGJmMzIyMjk0Yjc0MjY5ZTk4ODg1MWE5MjQyNjhlYjU4MWRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcApAQCAtNjUwLDcg
KzY1MCw3IEBAIHZvaWQgQW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1lKGRvdWJsZSB0KQogICAg
ICAgICAvLyBJZiB3ZSBoYXZlbid0IHN0YXJ0ZWQgeWV0LCBtYWtlIGl0IGFzIGlmIHdlIHN0YXJ0
ZWQuCiAgICAgICAgIExPRyhBbmltYXRpb25zLCAiJXAgQW5pbWF0aW9uU3RhdGUgJXMgLT4gU3Rh
cnRXYWl0UmVzcG9uc2UiLCB0aGlzLCBuYW1lRm9yU3RhdGUobV9hbmltU3RhdGUpKTsKICAgICAg
ICAgbV9hbmltU3RhdGUgPSBBbmltYXRpb25TdGF0ZVN0YXJ0V2FpdFJlc3BvbnNlOwotICAgICAg
ICBvbkFuaW1hdGlvblN0YXJ0UmVzcG9uc2UoY3VycmVudFRpbWUoKSk7CisgICAgICAgIG9uQW5p
bWF0aW9uU3RhcnRSZXNwb25zZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CiAgICAg
fQogCiAgICAgQVNTRVJUKG1fc3RhcnRUaW1lKTsgICAgICAgIC8vIGlmIG1fc3RhcnRUaW1lIGlz
IHplcm8sIHdlIGhhdmVuJ3Qgc3RhcnRlZCB5ZXQsIHNvIHdlJ2xsIGdldCBhIGJhZCBwYXVzZSB0
aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmNwcAppbmRleCA1MjBhMzk2ZWQyMTEwYWQ3MDUzMTZmNWYxNGM4ODkyOWU1MzRh
ZjM5Li5hYzZiYjk0YTMxOTFiZTdhMzdmM2M1NDVlYzMzZGUzMjIyMGEwYjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNw
cApAQCAtMzY1LDcgKzM2NSw3IEBAIGJvb2wgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnBh
dXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjCiBkb3VibGUgQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpCiB7CiAg
ICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGNCZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWVOb3RTZXQpCi0gICAgICAgIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID0gY3VycmVu
dFRpbWUoKTsKKyAgICAgICAgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICByZXR1cm4gbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKaW5kZXggMjA2ZDcwN2IzYWQxNTAxYWU1MWIz
MWQ1NjI0ODBkYmE2MmUwNWZlZS4uMDkzYmYxNjgwMTA2MzViNjEwY2Q2ODY3OTJjNWI3ZWM3N2Fl
OTg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllckFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKQEAgLTMyMyw3ICszMjMsNyBAQCBkb3VibGUg
R3JhcGhpY3NMYXllckFuaW1hdGlvbjo6Y29tcHV0ZVRvdGFsUnVubmluZ1RpbWUoKQogICAgICAg
ICByZXR1cm4gbV9wYXVzZVRpbWU7CiAKICAgICBkb3VibGUgb2xkTGFzdFJlZnJlc2hlZFRpbWUg
PSBtX2xhc3RSZWZyZXNoZWRUaW1lOwotICAgIG1fbGFzdFJlZnJlc2hlZFRpbWUgPSBXVEY6OmN1
cnJlbnRUaW1lKCk7CisgICAgbV9sYXN0UmVmcmVzaGVkVGltZSA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpOwogICAgIG1fdG90YWxSdW5uaW5nVGltZSArPSBtX2xhc3RSZWZyZXNoZWRU
aW1lIC0gb2xkTGFzdFJlZnJlc2hlZFRpbWU7CiAgICAgcmV0dXJuIG1fdG90YWxSdW5uaW5nVGlt
ZTsKIH0KQEAgLTMzOCw3ICszMzgsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJBbmltYXRpb246OnJl
c3VtZSgpCiB7CiAgICAgc2V0U3RhdGUoUGxheWluZ1N0YXRlKTsKICAgICBtX3RvdGFsUnVubmlu
Z1RpbWUgPSBtX3BhdXNlVGltZTsKLSAgICBtX2xhc3RSZWZyZXNoZWRUaW1lID0gV1RGOjpjdXJy
ZW50VGltZSgpOworICAgIG1fbGFzdFJlZnJlc2hlZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQW5pbWF0aW9uczo6YWRkKGNvbnN0
IEdyYXBoaWNzTGF5ZXJBbmltYXRpb24mIGFuaW1hdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCmluZGV4
IDM2YTFjNmQ0YTY3ZGY1YTgwNzg1M2QxZGM1OTBmMDNkNjZmNDhiMDcuLjJlOGZiNDQ5ZmQwNDQ0
OWYyNWQ4MjY3N2UyM2IzZWQ4NDYxM2U4YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcApAQCAtMTYyMiwx
NCArMTYyMiwxNCBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gQVZGV3JhcHBlcjo6Y3JlYXRlSW1h
Z2VGb3JUaW1lSW5SZWN0KGZsb2F0IHRpbWUsIGNvbnN0IEludAogICAgICAgICByZXR1cm4gMDsK
IAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJlbnRUaW1l
KCk7CisgICAgZG91YmxlIHN0YXJ0ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAj
ZW5kaWYKIAogICAgIEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yU2V0TWF4aW11bVNpemUobV9pbWFn
ZUdlbmVyYXRvci5nZXQoKSwgQ0dTaXplKHJlY3Quc2l6ZSgpKSk7CiAgICAgQ0dJbWFnZVJlZiBp
bWFnZSA9IEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yQ29weUNHSW1hZ2VBdFRpbWUobV9pbWFnZUdl
bmVyYXRvci5nZXQoKSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUsIDYwMCksIDAsIDApOwog
CiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IFdURjo6Y3VycmVudFRp
bWUoKSAtIHN0YXJ0OworICAgIGRvdWJsZSBkdXJhdGlvbiA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAiQVZGV3JhcHBlcjo6Y3JlYXRlSW1h
Z2VGb3JUaW1lSW5SZWN0KCVwKSAtIGNyZWF0aW5nIGltYWdlIHRvb2sgJS40ZiIsIHRoaXMsIG5h
cnJvd1ByZWNpc2lvblRvRmxvYXQoZHVyYXRpb24pKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5tbQppbmRleCAxNjE1MzQwZWVjMTE1MmMzMzY2NjM5YjQxZmNjNWI0ZTg1ZGU5ZTJjLi41
MDI0NjI5ZGZkY2YzNzRkZjFhYTNlMWE3MGI5MmZlYWM3NjI4MTRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMubW0KQEAgLTg1MCwxNCArODUwLDE0IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlCiAg
ICAgQVNTRVJUKG1faW1hZ2VHZW5lcmF0b3IpOwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRv
dWJsZSBzdGFydCA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgc3RhcnQgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogCiAgICAgW21faW1hZ2VHZW5lcmF0
b3IuZ2V0KCkgc2V0TWF4aW11bVNpemU6Q0dTaXplKHJlY3Quc2l6ZSgpKV07CiAgICAgUmV0YWlu
UHRyPENHSW1hZ2VSZWY+IGltYWdlID0gYWRvcHRDRihbbV9pbWFnZUdlbmVyYXRvci5nZXQoKSBj
b3B5Q0dJbWFnZUF0VGltZTpDTVRpbWVNYWtlV2l0aFNlY29uZHModGltZSwgNjAwKSBhY3R1YWxU
aW1lOm5pbCBlcnJvcjpuaWxdKTsKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgZHVy
YXRpb24gPSBXVEY6OmN1cnJlbnRUaW1lKCkgLSBzdGFydDsKKyAgICBkb3VibGUgZHVyYXRpb24g
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHN0YXJ0OwogICAgIExPRyhNZWRpYSwg
Ik1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUlu
UmVjdCglcCkgLSBjcmVhdGluZyBpbWFnZSB0b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNp
b25Ub0Zsb2F0KGR1cmF0aW9uKSk7CiAjZW5kaWYKIApAQCAtMTEzNSw3ICsxMTM1LDcgQEAgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OmNyZWF0ZVBpeGVsQnVmZmUKICAgICBBU1NFUlQobV92aWRlb091dHB1dCk7CiAKICNpZiAh
TE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHN0YXJ0ID0gV1RGOjpjdXJyZW50VGltZSgpOworICAg
IGRvdWJsZSBzdGFydCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAK
ICAgICBDTVRpbWUgY3VycmVudFRpbWUgPSBbbV9hdlBsYXllckl0ZW0uZ2V0KCkgY3VycmVudFRp
bWVdOwpAQCAtMTE2Miw3ICsxMTYyLDcgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBpeGVsQnVmZmUKICNlbmRp
ZgogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IFdURjo6Y3VycmVu
dFRpbWUoKSAtIHN0YXJ0OworICAgIGRvdWJsZSBkdXJhdGlvbiA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlUGl4ZWxCdWZmZXIoKSAtIGNyZWF0aW5nIGJ1ZmZlciB0
b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9uKSk7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3Jh
cGhpY3NMYXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dy
YXBoaWNzTGF5ZXJDQS5jcHAKaW5kZXggMjdhNjVjOGUxNGVjNjBiZTRhYWQxYzgyODJmNmRiNzRi
MTYzM2JlNC4uNWQ0Mjc0ZjA2MmRlNmI2MDlkYWEwMGNmZTQ0ODNkOGMwNjg2MmU3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNB
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xh
eWVyQ0EuY3BwCkBAIC0yNTI2LDcgKzI1MjYsNyBAQCBib29sIEdyYXBoaWNzTGF5ZXJDQTo6c2V0
RmlsdGVyQW5pbWF0aW9uS2V5ZnJhbWVzKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZQog
CiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c3VzcGVuZEFuaW1hdGlvbnMoZG91YmxlIHRpbWUpCiB7
Ci0gICAgZG91YmxlIHQgPSBQbGF0Zm9ybUNBTGF5ZXI6OmN1cnJlbnRUaW1lVG9NZWRpYVRpbWUo
dGltZSA/IHRpbWUgOiBjdXJyZW50VGltZSgpKTsKKyAgICBkb3VibGUgdCA9IFBsYXRmb3JtQ0FM
YXllcjo6Y3VycmVudFRpbWVUb01lZGlhVGltZSh0aW1lID8gdGltZSA6IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpKTsKICAgICBwcmltYXJ5TGF5ZXIoKS0+c2V0U3BlZWQoMCk7CiAgICAg
cHJpbWFyeUxheWVyKCktPnNldFRpbWVPZmZzZXQodCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKaW5kZXggY2M5NjA5
NGNmYjYwZDk1MzJmNWE0YWZlYjY0YzliYzRhNGFlYzQzMC4uNjk4ODM1ZTA5MjZmYzQ1MTJiZWQ5
ZWM5ZGQxZmZjOTFiODM3ZGU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTUxLDcgKzUxLDcgQEAgdHlwZWRl
ZiBWZWN0b3I8UmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gPiBQbGF0Zm9ybUNBTGF5ZXJMaXN0Owog
CiBjbGFzcyBQbGF0Zm9ybUNBTGF5ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxQbGF0Zm9ybUNBTGF5
ZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgQ0ZUaW1lSW50ZXJ2YWwgY3VycmVudFRpbWVUb01l
ZGlhVGltZShkb3VibGUgdCkgeyByZXR1cm4gQ0FDdXJyZW50TWVkaWFUaW1lKCkgKyB0IC0gV1RG
OjpjdXJyZW50VGltZSgpOyB9CisgICAgc3RhdGljIENGVGltZUludGVydmFsIGN1cnJlbnRUaW1l
VG9NZWRpYVRpbWUoZG91YmxlIHQpIHsgcmV0dXJuIENBQ3VycmVudE1lZGlhVGltZSgpICsgdCAt
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOyB9CiAKICAgICAvLyBMYXllclR5cGVSb290
TGF5ZXIgaXMgdXNlZCBvbiBzb21lIHBsYXRmb3Jtcy4gSXQgaGFzIG5vIGJhY2tpbmcgc3RvcmUs
IHNvIHNldE5lZWRzRGlzcGxheQogICAgIC8vIHNob3VsZCBub3QgY2FsbCBDQUNGTGF5ZXJTZXRO
ZWVkc0Rpc3BsYXksIGJ1dCByYXRoZXIganVzdCBub3RpZnkgdGhlIHJlbmRlcmVyIHRoYXQgaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9MYXll
clBvb2wubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvTGF5ZXJQ
b29sLm1tCmluZGV4IDFlMTM0NWI3NTlkOWJjNTgxMGUyNDBhYzBlODhkYTJiYjBhZjA4ZTQuLjZm
ZjFlYzg0YzI2MmZkMzBhYjk5NzVhMjZjNzEzMzE3YzQ0ZjQyZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9MYXllclBvb2wubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVyUG9vbC5tbQpAQCAtNzUs
NyArNzUsNyBAQCB2b2lkIExheWVyUG9vbDo6YWRkTGF5ZXIoY29uc3QgUmV0YWluUHRyPFdlYlRp
bGVMYXllcj4mIGxheWVyKQogICAgIGxpc3RPZkxheWVyc1dpdGhTaXplKGxheWVyU2l6ZSkucHJl
cGVuZChsYXllcik7CiAgICAgbV90b3RhbEJ5dGVzICs9IGJhY2tpbmdTdG9yZUJ5dGVzRm9yU2l6
ZShsYXllclNpemUpOwogICAgIAotICAgIG1fbGFzdEFkZFRpbWUgPSBjdXJyZW50VGltZSgpOwor
ICAgIG1fbGFzdEFkZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBz
Y2hlZHVsZVBydW5lKCk7CiB9CiAKQEAgLTkzLDcgKzkzLDcgQEAgUmV0YWluUHRyPFdlYlRpbGVM
YXllcj4gTGF5ZXJQb29sOjp0YWtlTGF5ZXJXaXRoU2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQog
dW5zaWduZWQgTGF5ZXJQb29sOjpkZWNheWVkQ2FwYWNpdHkoKSBjb25zdAogewogICAgIC8vIERl
Y2F5IHRvIG9uZSBxdWFydGVyIG92ZXIgY2FwYWNpdHlEZWNheVRpbWUKLSAgICBkb3VibGUgdGlt
ZVNpbmNlTGFzdEFkZCA9IGN1cnJlbnRUaW1lKCkgLSBtX2xhc3RBZGRUaW1lOworICAgIGRvdWJs
ZSB0aW1lU2luY2VMYXN0QWRkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX2xh
c3RBZGRUaW1lOwogICAgIGlmICh0aW1lU2luY2VMYXN0QWRkID4gY2FwYWNpdHlEZWNheVRpbWUp
CiAgICAgICAgIHJldHVybiBtX21heEJ5dGVzRm9yUG9vbCAvIDQ7CiAgICAgZmxvYXQgZGVjYXlQ
cm9nZXNzID0gZmxvYXQodGltZVNpbmNlTGFzdEFkZCAvIGNhcGFjaXR5RGVjYXlUaW1lKTsKQEAg
LTEyNSw3ICsxMjUsNyBAQCB2b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1lckZpcmVkKFRpbWVyPExh
eWVyUG9vbD4qKQogICAgICAgICAvLyBzdGlsbCBoYXZlIGEgYmFja2luZyBzdG9yZS4KICAgICAg
ICAgb2xkZXN0UmV1c2VMaXN0LnJlbW92ZSgtLW9sZGVzdFJldXNlTGlzdC5lbmQoKSk7CiAgICAg
fQotICAgIGlmIChjdXJyZW50VGltZSgpIC0gbV9sYXN0QWRkVGltZSA8PSBjYXBhY2l0eURlY2F5
VGltZSkKKyAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX2xhc3RBZGRU
aW1lIDw9IGNhcGFjaXR5RGVjYXlUaW1lKQogICAgICAgICBzY2hlZHVsZVBydW5lKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0
Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9t
YWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCmluZGV4IGI3MDA0NjEzZGFlNjgzMTA2NjRjNmJmNzM0
NWRiOTVjMWUwNzk1ZDEuLmZiY2FhNzllMTQ1ZmU2MWVmMzgxMjc2NDJhODgzZGRiZDJjZjcyOTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0
Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQpAQCAtNjEsNyArNjEsNyBAQCBzdGF0aWMgTlNT
dHJpbmcgKiBjb25zdCBXS05vblplcm9CZWdpblRpbWVGbGFnID0gQCJXS1BsYXRmb3JtQ0FBbmlt
YXRpb25Ob25aZXJvQgogCiBzdGF0aWMgZG91YmxlIG1lZGlhVGltZVRvQ3VycmVudFRpbWUoQ0ZU
aW1lSW50ZXJ2YWwgdCkKIHsKLSAgICByZXR1cm4gV1RGOjpjdXJyZW50VGltZSgpICsgdCAtIENB
Q3VycmVudE1lZGlhVGltZSgpOworICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSArIHQgLSBDQUN1cnJlbnRNZWRpYVRpbWUoKTsKIH0KIAogLy8gRGVsZWdhdGUgZm9yIGFu
aW1hdGlvbkRpZFN0YXJ0IGNhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmNwcAppbmRleCAy
ZTRlYzVlZDZlNTlkNzIwMzUzMDI2NTZjNWVmNDc0NDgyNjdlZjRlLi42N2ZhYTBhZTg1NWM3ODZh
NDg3Njc2YTIyOTQxYjhmYWNiNzFhZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJUcmVlSG9zdC5jcHAKQEAg
LTMwOSw3ICszMDksNyBAQCB2b2lkIENBQ0ZMYXllclRyZWVIb3N0Ojpub3RpZnlBbmltYXRpb25z
U3RhcnRlZCgpCiAgICAgLy8gU2VuZCBjdXJyZW50VGltZSB0byB0aGUgcGVuZGluZyBhbmltYXRp
b25zLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBDQUNGIGluIGEgY2FsbGJhY2sKICAgICAv
LyB3aGljaCBvY2N1cnMgYWZ0ZXIgdGhlIGRyYXdJbkNvbnRleHQgY2FsbHMuIFNvIGN1cnJlbnRU
aW1lIGlzIHZlcnkgY2xvc2UgdG8gdGhlIHRpbWUKICAgICAvLyB0aGUgYW5pbWF0aW9ucyBhY3R1
YWxseSBzdGFydAotICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsK
KyAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
IAogICAgIEhhc2hTZXQ8UmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gPjo6aXRlcmF0b3IgZW5kID0g
bV9wZW5kaW5nQW5pbWF0ZWRMYXllcnMuZW5kKCk7CiAgICAgZm9yIChIYXNoU2V0PFJlZlB0cjxQ
bGF0Zm9ybUNBTGF5ZXI+ID46Oml0ZXJhdG9yIGl0ID0gbV9wZW5kaW5nQW5pbWF0ZWRMYXllcnMu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmNwcAppbmRl
eCBmNWI3YzZmYTIzMWViN2Q0MGIwOGUyNWJhNzVmYmQwY2M2YzcwOTA3Li41ZjcxZGRmNDE2ZjE0
NDliMTU1OTYwZTM4MWExNTY2MjBmZTA3NjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmNw
cApAQCAtNzcxLDcgKzc3MSw3IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVyOjpwcmludFRyZWUoKSBj
b25zdAogICAgIC8vIFByaW50IGhlYWRpbmcgaW5mbwogICAgIENHUmVjdCByb290Qm91bmRzID0g
Ym91bmRzKCk7CiAgICAgZnByaW50ZihzdGRlcnIsICJcblxuKiogUmVuZGVyIHRyZWUgYXQgdGlt
ZSAlZyAoYm91bmRzICVnLCAlZyAlZ3glZykgKipcblxuIiwgCi0gICAgICAgIGN1cnJlbnRUaW1l
KCksIHJvb3RCb3VuZHMub3JpZ2luLngsIHJvb3RCb3VuZHMub3JpZ2luLnksIHJvb3RCb3VuZHMu
c2l6ZS53aWR0aCwgcm9vdEJvdW5kcy5zaXplLmhlaWdodCk7CisgICAgICAgIG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpLCByb290Qm91bmRzLm9yaWdpbi54LCByb290Qm91bmRzLm9yaWdp
bi55LCByb290Qm91bmRzLnNpemUud2lkdGgsIHJvb3RCb3VuZHMuc2l6ZS5oZWlnaHQpOwogCiAg
ICAgLy8gUHJpbnQgbGF5ZXIgdHJlZSBmcm9tIHRoZSByb290CiAgICAgcHJpbnRMYXllcih0aGlz
LCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCmluZGV4IGYx
MjgwN2JlNjM2NmU2NWQ1ZmZjY2Q4NzJlOWQzOTdkMzkzZmEwNGEuLmM5OWM4MDgwZDdmZjMyOTEy
OGU2NzkyYTc2MGViNjI5NzhhOGM3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0
dXJlTWFwcGVyLmNwcApAQCAtNjM4LDcgKzYzOCw3IEBAIGJvb2wgR3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXI6OmFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVMaXN0
CiAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlXZWJraXRU
cmFuc2Zvcm0pCiAgICAgICAgIGxpc3RzTWF0Y2ggPSB2YWxpZGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bnModmFsdWVMaXN0LCBoYXNCaWdSb3RhdGlvbikgPj0gMDsKIAotICAgIGNvbnN0IGRvdWJsZSBj
dXJyZW50VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBjb25zdCBkb3VibGUgY3VycmVu
dFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBtX2FuaW1hdGlvbnMu
YWRkKEdyYXBoaWNzTGF5ZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0LCBib3hT
aXplLCBhbmltLCBjdXJyZW50VGltZSAtIHRpbWVPZmZzZXQsIGxpc3RzTWF0Y2gpKTsKICAgICAv
LyBtX2FuaW1hdGlvblN0YXJ0VGltZSBpcyB0aGUgdGltZSBvZiB0aGUgZmlyc3QgcmVhbCBmcmFt
ZSBvZiBhbmltYXRpb24sIG5vdyBvciBkZWxheWVkIGJ5IGEgbmVnYXRpdmUgb2Zmc2V0LgogICAg
IGlmICh0aW1lT2Zmc2V0ID4gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3Bw
CmluZGV4IDE3MDRmNDc3ZDE4OTJjMTk4OTk2NWZiOWJmYWQwM2RhZWNkNzNlMjUuLmQ3NDQ3NzAx
MGEzOGIzYjEwOGZkYzk3ODk2ZDY5YjBjN2M5NzUzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJGUFNDb3VudGVyLmNwcApAQCAtNDIsNyArNDIsNyBAQCBUZXh0dXJlTWFwcGVyRlBTQ291bnRl
cjo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIoKQogICAgIG1fZnBzSW50ZXJ2YWwgPSBzaG93RlBT
RW52aXJvbm1lbnQudG9Eb3VibGUoJm9rKTsKICAgICBpZiAob2sgJiYgbV9mcHNJbnRlcnZhbCkg
ewogICAgICAgICBtX2lzU2hvd2luZ0ZQUyA9IHRydWU7Ci0gICAgICAgIG1fZnBzVGltZXN0YW1w
ID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgICAgICBtX2Zwc1RpbWVzdGFtcCA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIH0KIH0KIApAQCAtNTIsNyArNTIsNyBAQCB2b2lk
IFRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjp1cGRhdGVGUFNBbmREaXNwbGF5KFRleHR1cmVNYXBw
ZXIqIHRleHR1cmVNYXBwZXIsCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fZnJhbWVDb3VudCsr
OwotICAgIGRvdWJsZSBkZWx0YSA9IFdURjo6Y3VycmVudFRpbWUoKSAtIG1fZnBzVGltZXN0YW1w
OworICAgIGRvdWJsZSBkZWx0YSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9m
cHNUaW1lc3RhbXA7CiAgICAgaWYgKGRlbHRhID49IG1fZnBzSW50ZXJ2YWwpIHsKICAgICAgICAg
bV9sYXN0RlBTID0gaW50KG1fZnJhbWVDb3VudCAvIGRlbHRhKTsKICAgICAgICAgbV9mcmFtZUNv
dW50ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKaW5kZXggN2U3MGJiYjBkNGFjZTQ0ODk3MTZiNDhhODZiNDNlOTM2OTIz
ZTI3My4uNzdkYzBlMWU5YjUwZTYxNjExNTI2MTBlNGM4NWQ1NzA2YmQzNWY0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAK
QEAgLTEyMTYsNyArMTIxNiw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRB
bmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwKICAgICBpZiAodmFs
dWVMaXN0LnByb3BlcnR5KCkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkKICAg
ICAgICAgbGlzdHNNYXRjaCA9IHZhbGlkYXRlVHJhbnNmb3JtT3BlcmF0aW9ucyh2YWx1ZUxpc3Qs
IGlnbm9yZWRIYXNCaWdSb3RhdGlvbikgPj0gMDsKIAotICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0
VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKSAtIGRlbGF5QXNOZWdhdGl2ZVRpbWVPZmZzZXQ7Cisg
ICAgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCkgLSBkZWxheUFzTmVnYXRpdmVUaW1lT2Zmc2V0OwogICAgIG1fYW5pbWF0aW9ucy5hZGQoR3Jh
cGhpY3NMYXllckFuaW1hdGlvbihrZXlmcmFtZXNOYW1lLCB2YWx1ZUxpc3QsIGJveFNpemUsIGFu
aW0sIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSwgbGlzdHNNYXRjaCkpOwogICAgIG1fYW5pbWF0
aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25z
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVR
dWV1ZS5jcHAKaW5kZXggMGVmMjA0OWVlOTkzNmY1MGM0NTNhMWMzYzk0ZGEwMjM0YzQ1N2Q1OS4u
OThhNWViN2Y1MWQ0NTYyNjc3YWZiZjhhOWE0NzM1ZTM4N2M2MjRkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcApAQCAtNTgs
NyArNTgsNyBAQCBETlNSZXNvbHZlUXVldWU6OkROU1Jlc29sdmVRdWV1ZSgpCiAKIGJvb2wgRE5T
UmVzb2x2ZVF1ZXVlOjppc1VzaW5nUHJveHkoKQogewotICAgIGRvdWJsZSB0aW1lID0gY3VycmVu
dFRpbWUoKTsKKyAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb3h5Q2hlY2tEZWxheSA9IDU7CiAg
ICAgaWYgKHRpbWUgLSBtX2xhc3RQcm94eUVuYWJsZWRTdGF0dXNDaGVja1RpbWUgPiBtaW5pbXVt
UHJveHlDaGVja0RlbGF5KSB7CiAgICAgICAgIG1fbGFzdFByb3h5RW5hYmxlZFN0YXR1c0NoZWNr
VGltZSA9IHRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVn
aW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2luL1Bs
dWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCmluZGV4IGM1ZjMwODFjMGQ2NDdjZDJjMjZjNThk
ZWUzMzkxZjg1ZWUyMjEwOWUuLmIzMjcyODk4MGVmMDY0NDIxNGYwNzFmOTI3MmY0MmJhMThjN2Mz
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VU
aHJvdHRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbk1l
c3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgUGx1Z2luTWVzc2Fn
ZVRocm90dGxlcldpbjo6YXBwZW5kTWVzc2FnZShIV05EIGhXbmQsIFVJTlQgbXNnLCBXUEFSQU0g
d1BhcmFtCiAKICAgICAvLyBJZiBpdCBoYXMgYmVlbiBtb3JlIHRoYW4gTWVzc2FnZURpcmVjdFBy
b2Nlc3NpbmdJbnRlcnZhbCBiZXR3ZWVuIHRocm90dGxlZCBtZXNzYWdlcywKICAgICAvLyBnbyBh
aGVhZCBhbmQgcHJvY2VzcyBhIG1lc3NhZ2UgZGlyZWN0bHkuCi0gICAgZG91YmxlIGN1cnJlbnRU
aW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIGlmIChjdXJyZW50VGltZSAtIG1fbGFzdE1l
c3NhZ2VUaW1lID4gTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZhbCkgewogICAgICAgICBw
cm9jZXNzUXVldWVkTWVzc2FnZSgpOwogICAgICAgICBtX2xhc3RNZXNzYWdlVGltZSA9IGN1cnJl
bnRUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcAppbmRleCA4M2VkYmY5ZWFjZjEyMzY4YTY1NzEyNGM4ZGFjZjAwMmZhMjA5YjRh
Li40YWJhNGI3NGE2ZGRmZDgzZGU0MGE3OWZjOGM0MzFiMDVmNTZiZDVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNDI0
LDcgKzQyNCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkaWRQYWludEJhY2tpbmco
UmVuZGVyTGF5ZXJCYWNraW5nKikKIHsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fcmVu
ZGVyVmlldy0+ZnJhbWVWaWV3KCk7CiAgICAgCi0gICAgZnJhbWVWaWV3LT5zZXRMYXN0UGFpbnRU
aW1lKGN1cnJlbnRUaW1lKCkpOworICAgIGZyYW1lVmlldy0+c2V0TGFzdFBhaW50VGltZShtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CiAgICAgCiAgICAgaWYgKGZyYW1lVmlldy0+bWls
ZXN0b25lc1BlbmRpbmdQYWludCgpICYmICFtX3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICBtX3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CkBAIC01NjIsNyArNTYyLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRlVHlwZSB1cGRhdGUKICAg
ICBkb3VibGUgc3RhcnRUaW1lID0gMDsKICAgICBpZiAoY29tcG9zaXRpbmdMb2dFbmFibGVkKCkp
IHsKICAgICAgICAgKyttX3Jvb3RMYXllclVwZGF0ZUNvdW50OwotICAgICAgICBzdGFydFRpbWUg
PSBjdXJyZW50VGltZSgpOworICAgICAgICBzdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKICAgICB9CiAjZW5kaWYKIApAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1Vw
ZGF0ZVR5cGUgdXBkYXRlCiAgICAgCiAjaWYgIUxPR19ESVNBQkxFRAogICAgIGlmIChjb21wb3Np
dGluZ0xvZ0VuYWJsZWQoKSAmJiBpc0Z1bGxVcGRhdGUgJiYgKG5lZWRIaWVyYXJjaHlVcGRhdGUg
fHwgbmVlZEdlb21ldHJ5VXBkYXRlKSkgewotICAgICAgICBkb3VibGUgZW5kVGltZSA9IGN1cnJl
bnRUaW1lKCk7CisgICAgICAgIGRvdWJsZSBlbmRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiAgICAgICAgIExPRyhDb21wb3NpdGluZywgIlRvdGFsIGxheWVycyAgIHByaW1h
cnkgICBzZWNvbmRhcnkgICBvYmxpZ2F0b3J5IGJhY2tpbmcgKEtCKSAgIHNlY29uZGFyeSBiYWNr
aW5nKEtCKSAgIHRvdGFsIGJhY2tpbmcgKEtCKSAgdXBkYXRlIHRpbWUgKG1zKVxuIik7CiAKICAg
ICAgICAgTE9HKENvbXBvc2l0aW5nLCAiJThkICUxMWQgJTlkICUyMC4yZiAlMjIuMmYgJTIyLjJm
ICUxOC4yZlxuIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3Bw
CmluZGV4IGFkMWIzMzhhZDAzMDhmOTk5ZTYyNWNiNDk4MDg0MzM2ODgzNDg5NmIuLmRjODE0YTA0
MmZlYTQ4NDliNjFiNGZhMjk4ODViYzg3MjkwNjAyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtNjcsNyArNjcsNyBAQCBib29sIFJlbmRlclBy
b2dyZXNzOjpjYW5CZVJlcGxhY2VkV2l0aElubGluZVJ1bkluKCkgY29uc3QKIAogZG91YmxlIFJl
bmRlclByb2dyZXNzOjphbmltYXRpb25Qcm9ncmVzcygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1f
YW5pbWF0aW5nID8gKGZtb2QoKGN1cnJlbnRUaW1lKCkgLSBtX2FuaW1hdGlvblN0YXJ0VGltZSks
IG1fYW5pbWF0aW9uRHVyYXRpb24pIC8gbV9hbmltYXRpb25EdXJhdGlvbikgOiAwOworICAgIHJl
dHVybiBtX2FuaW1hdGluZyA/IChmbW9kKChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IG1fYW5pbWF0aW9uU3RhcnRUaW1lKSwgbV9hbmltYXRpb25EdXJhdGlvbikgLyBtX2FuaW1hdGlv
bkR1cmF0aW9uKSA6IDA7CiB9CiAKIGJvb2wgUmVuZGVyUHJvZ3Jlc3M6OmlzRGV0ZXJtaW5hdGUo
KSBjb25zdApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmlt
YXRpb25TdGF0ZSgpCiAKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGluZzsKICAgICBpZiAobV9h
bmltYXRpbmcpIHsKLSAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUgPSBjdXJyZW50VGltZSgp
OworICAgICAgICBtX2FuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOwogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlv
blJlcGVhdEludGVydmFsKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9hbmltYXRpb25UaW1lci5z
dG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1l
Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250
YWluZXIuY3BwCmluZGV4IGU2M2JkNDgxMzI3ZjE5MzNjMDA1NmIxNWE1NTA5ODcyY2UzZTgxM2Qu
LmM0NzliZjNlMDEzNjQxNTcyMjJjZmM3Y2QxZDg2ZjI2Y2EzNzU0OTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0xMTAs
NyArMTEwLDcgQEAgU01JTFRpbWUgU01JTFRpbWVDb250YWluZXI6OmVsYXBzZWQoKSBjb25zdAog
ewogICAgIGlmICghbV9iZWdpblRpbWUpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBj
dXJyZW50VGltZSgpIC0gbV9iZWdpblRpbWUgLSBtX2FjY3VtdWxhdGVkUGF1c2VUaW1lOworICAg
IHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fYmVnaW5UaW1lIC0gbV9h
Y2N1bXVsYXRlZFBhdXNlVGltZTsKIH0KIAogYm9vbCBTTUlMVGltZUNvbnRhaW5lcjo6aXNBY3Rp
dmUoKSBjb25zdApAQCAtMTMxLDcgKzEzMSw3IEBAIGJvb2wgU01JTFRpbWVDb250YWluZXI6Omlz
U3RhcnRlZCgpIGNvbnN0CiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpiZWdpbigpCiB7CiAgICAg
QVNTRVJUKCFtX2JlZ2luVGltZSk7Ci0gICAgZG91YmxlIG5vdyA9IGN1cnJlbnRUaW1lKCk7Cisg
ICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgLy8g
SWYgJ21fcHJlc2V0U3RhcnRUaW1lJyBpcyBzZXQsIHRoZSB0aW1lbGluZSB3YXMgbW9kaWZpZWQg
dmlhIHNldEVsYXBzZWQoKSBiZWZvcmUgdGhlIGRvY3VtZW50IGJlZ2FuLgogICAgIC8vIEluIHRo
aXMgY2FzZSBwYXNzIG9uICdzZWVrVG9UaW1lPXRydWUnIHRvIHVwZGF0ZUFuaW1hdGlvbnMoKS4K
QEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpiZWdpbigpCiB2b2lk
IFNNSUxUaW1lQ29udGFpbmVyOjpwYXVzZSgpCiB7CiAgICAgQVNTRVJUKCFpc1BhdXNlZCgpKTsK
LSAgICBtX3BhdXNlVGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgbV9wYXVzZVRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIAogICAgIGlmIChtX2JlZ2luVGltZSkKICAgICAg
ICAgbV90aW1lci5zdG9wKCk7CkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBTTUlMVGltZUNvbnRh
aW5lcjo6cmVzdW1lKCkKICAgICBBU1NFUlQoaXNQYXVzZWQoKSk7CiAKICAgICBpZiAobV9iZWdp
blRpbWUpCi0gICAgICAgIG1fYWNjdW11bGF0ZWRQYXVzZVRpbWUgKz0gY3VycmVudFRpbWUoKSAt
IG1fcGF1c2VUaW1lOworICAgICAgICBtX2FjY3VtdWxhdGVkUGF1c2VUaW1lICs9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9wYXVzZVRpbWU7CiAKICAgICBtX3BhdXNlVGltZSA9
IDA7CiAgICAgc3RhcnRUaW1lcigwKTsKQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lkIFNNSUxUaW1l
Q29udGFpbmVyOjpzZXRFbGFwc2VkKFNNSUxUaW1lIHRpbWUpCiAgICAgaWYgKG1fYmVnaW5UaW1l
KQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIGRvdWJsZSBub3cgPSBjdXJyZW50VGlt
ZSgpOworICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAg
ICBtX2JlZ2luVGltZSA9IG5vdyAtIHRpbWUudmFsdWUoKTsKIAogICAgIG1fYWNjdW11bGF0ZWRQ
YXVzZVRpbWUgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>209037</attachid>
            <date>2013-08-18 10:44:49 -0700</date>
            <delta_ts>2013-08-18 10:44:49 -0700</delta_ts>
            <desc>List of places in WebCore where still currentTime() lives</desc>
            <filename>currentTime() - not replaced areas.txt</filename>
            <type>text/plain</type>
            <size>21861</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U2VhcmNoaW5nIDc4ODAgZmlsZXMgZm9yICJjdXJyZW50VGltZSgpIiAoY2FzZSBzZW5zaXRpdmUp
CgovaG9tZS9hcnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvbi5jcHA6CiAgNDE0ICAgICAgaWYgKCFvcHRpb25zLT5tYXhpbXVtQWdl
KCkpCiAgNDE1ICAgICAgICAgIHJldHVybiBmYWxzZTsKICA0MTY6ICAgICBET01UaW1lU3RhbXAg
Y3VycmVudFRpbWVNaWxsaXMgPSBjb252ZXJ0U2Vjb25kc1RvRE9NVGltZVN0YW1wKGN1cnJlbnRU
aW1lKCkpOwogIDQxNyAgICAgIHJldHVybiBjYWNoZWRQb3NpdGlvbi0+dGltZXN0YW1wKCkgPiBj
dXJyZW50VGltZU1pbGxpcyAtIG9wdGlvbnMtPm1heGltdW1BZ2UoKTsKICA0MTggIH0KCi9ob21l
L2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwOgogICA1NSAg
ICAgICwgbV9ldmVudFBoYXNlKDApCiAgIDU2ICAgICAgLCBtX2N1cnJlbnRUYXJnZXQoMCkKICAg
NTc6ICAgICAsIG1fY3JlYXRlVGltZShjb252ZXJ0U2Vjb25kc1RvRE9NVGltZVN0YW1wKGN1cnJl
bnRUaW1lKCkpKQogICA1OCAgewogICA1OSAgfQogICAuLgogICA3MCAgICAgICwgbV9ldmVudFBo
YXNlKDApCiAgIDcxICAgICAgLCBtX2N1cnJlbnRUYXJnZXQoMCkKICAgNzI6ICAgICAsIG1fY3Jl
YXRlVGltZShjb252ZXJ0U2Vjb25kc1RvRE9NVGltZVN0YW1wKGN1cnJlbnRUaW1lKCkpKQogICA3
MyAgewogICA3NCAgfQogICAuLgogIDEwMCAgICAgICwgbV9ldmVudFBoYXNlKDApCiAgMTAxICAg
ICAgLCBtX2N1cnJlbnRUYXJnZXQoMCkKICAxMDI6ICAgICAsIG1fY3JlYXRlVGltZShjb252ZXJ0
U2Vjb25kc1RvRE9NVGltZVN0YW1wKGN1cnJlbnRUaW1lKCkpKQogIDEwMyAgewogIDEwNCAgfQoK
L2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNw
cDoKICAxMzMgIAogIDEzNCAgTW91c2VFdmVudDo6TW91c2VFdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSwgY29uc3QgTW91c2VFdmVudEluaXQmIGluaXRpYWxpemVyKQogIDEzNTog
ICAgIDogTW91c2VSZWxhdGVkRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplci5idWJibGVzLCBp
bml0aWFsaXplci5jYW5jZWxhYmxlLCBjdXJyZW50VGltZSgpLCBpbml0aWFsaXplci52aWV3LCBp
bml0aWFsaXplci5kZXRhaWwsIEludFBvaW50KGluaXRpYWxpemVyLnNjcmVlblgsIGluaXRpYWxp
emVyLnNjcmVlblkpLAogIDEzNiAgICAgICAgICBJbnRQb2ludCgwIC8qIHBhZ2VYICovLCAwIC8q
IHBhZ2VZICovKSwKICAxMzcgICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogIC4uLgogIDI2MSAg
CiAgMjYyICBTaW11bGF0ZWRNb3VzZUV2ZW50OjpTaW11bGF0ZWRNb3VzZUV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgUGFz
c1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KQogIDI2MzogICAgIDogTW91c2VFdmVudChl
dmVudFR5cGUsIHRydWUsIHRydWUsIHVuZGVybHlpbmdFdmVudCA/IHVuZGVybHlpbmdFdmVudC0+
dGltZVN0YW1wKCkgOiBjdXJyZW50VGltZSgpLCB2aWV3LCAwLCAwLCAwLCAwLCAwLAogIDI2NCAg
I2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgMjY1ICAgICAgICAgICAgICAgICAgIDAsIDAsCgov
aG9tZS9hcnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvZG9tL1RvdWNoRXZlbnQuY3Bw
OgogICA0NyAgICAgICAgICBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IHNjcmVl
blgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwKICAgNDggICAgICAgICAgYm9v
bCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9vbCBzaGlmdEtleSwgYm9vbCBtZXRhS2V5KQogICA0
OTogICAgIDogTW91c2VSZWxhdGVkRXZlbnQodHlwZSwgdHJ1ZSwgdHJ1ZSwgY3VycmVudFRpbWUo
KSwgdmlldywgMCwgSW50UG9pbnQoc2NyZWVuWCwgc2NyZWVuWSksCiAgIDUwICAgICAgICAgICAg
ICAgICAgICAgICAgICBJbnRQb2ludChwYWdlWCwgcGFnZVkpLAogICA1MSAgI2lmIEVOQUJMRShQ
T0lOVEVSX0xPQ0spCgovaG9tZS9hcnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlLmNwcDoKICAxNjMgICAgICAgICAgcmV0dXJuIG1vZGlmaWNhdGlvblRpbWUgKiBt
c1BlclNlY29uZDsKICAxNjQgIAogIDE2NTogICAgIHJldHVybiBjdXJyZW50VGltZSgpICogbXNQ
ZXJTZWNvbmQ7CiAgMTY2ICB9CiAgMTY3ICAKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcDoKICAgNDggICAgICAvLyBJbml0aWFs
aXplIHRvIHRoZSBjdXJyZW50IHRpbWUgdG8gcmVkdWNlIHRoZSBsaWtlbGlob29kIG9mIGdlbmVy
YXRpbmcKICAgNDkgICAgICAvLyBpZGVudGlmaWVycyB0aGF0IG92ZXJsYXAgd2l0aCB0aG9zZSBm
cm9tIHBhc3QvZnV0dXJlIGJyb3dzZXIgc2Vzc2lvbnMuCiAgIDUwOiAgICAgc3RhdGljIGxvbmcg
bG9uZyBuZXh0ID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihjdXJyZW50VGltZSgpICogMTAwMDAw
MC4wKTsKICAgNTEgICAgICByZXR1cm4gKytuZXh0OwogICA1MiAgfQoKL2hvbWUvYXJ1bi93ZWJr
aXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNw
cDoKICAgOTAgICAgICAgICAgaXNTeXN0ZW1LZXkgPyAqaXNTeXN0ZW1LZXkgOiBmYWxzZSwKICAg
OTEgICAgICAgICAgc3RhdGljX2Nhc3Q8UGxhdGZvcm1FdmVudDo6TW9kaWZpZXJzPihtb2RpZmll
cnMgPyAqbW9kaWZpZXJzIDogMCksCiAgIDkyOiAgICAgICAgIHRpbWVzdGFtcCA/ICp0aW1lc3Rh
bXAgOiBjdXJyZW50VGltZSgpKTsKICAgOTMgICAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLT5ldmVu
dEhhbmRsZXIoKS5rZXlFdmVudChldmVudCk7CiAgIDk0ICB9CiAgIC4uCiAgMTM5ICAgICAgICAg
IGNvbnZlcnRlZE1vZGlmaWVycyAmIFBsYXRmb3JtRXZlbnQ6OkFsdEtleSwKICAxNDAgICAgICAg
ICAgY29udmVydGVkTW9kaWZpZXJzICYgUGxhdGZvcm1FdmVudDo6TWV0YUtleSwKICAxNDE6ICAg
ICAgICAgdGltZXN0YW1wID8gKnRpbWVzdGFtcCA6IGN1cnJlbnRUaW1lKCkpOwogIDE0MiAgCiAg
MTQzICAgICAgRXZlbnRIYW5kbGVyJiBldmVudEhhbmRsZXIgPSBtX3BhZ2UtPm1haW5GcmFtZSgp
LT5ldmVudEhhbmRsZXIoKTsKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKICA4OTcgIHsKICA4OTggICAgICBt
X2lzRmlyc3RMYXlvdXRBZnRlck9uTG9hZCA9IHRydWU7CiAgODk5OiAgICAgbV9mcm9udGVuZC0+
ZG9tQ29udGVudEV2ZW50RmlyZWQoY3VycmVudFRpbWUoKSk7CiAgOTAwICB9CiAgOTAxICAKICA5
MDIgIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50Ojpsb2FkRXZlbnRGaXJlZCgpCiAgOTAzICB7CiAg
OTA0OiAgICAgbV9mcm9udGVuZC0+bG9hZEV2ZW50RmlyZWQoY3VycmVudFRpbWUoKSk7CiAgOTA1
ICB9CiAgOTA2ICAKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CiAgMjMxICAKICAyMzIgICAgICBSZWZQ
dHI8VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcj4gaW5pdGlhdG9yT2JqZWN0ID0gYnVp
bGRJbml0aWF0b3JPYmplY3QobG9hZGVyLT5mcmFtZSgpID8gbG9hZGVyLT5mcmFtZSgpLT5kb2N1
bWVudCgpIDogMCk7CiAgMjMzOiAgICAgbV9mcm9udGVuZC0+cmVxdWVzdFdpbGxCZVNlbnQocmVx
dWVzdElkLCBtX3BhZ2VBZ2VudC0+ZnJhbWVJZChsb2FkZXItPmZyYW1lKCkpLCBtX3BhZ2VBZ2Vu
dC0+bG9hZGVySWQobG9hZGVyKSwgbG9hZGVyLT51cmwoKS5zdHJpbmcoKSwgYnVpbGRPYmplY3RG
b3JSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCksIGN1cnJlbnRUaW1lKCksIGluaXRpYXRvck9iamVj
dCwgYnVpbGRPYmplY3RGb3JSZXNvdXJjZVJlc3BvbnNlKHJlZGlyZWN0UmVzcG9uc2UsIGxvYWRl
ciksIHR5cGUgIT0gSW5zcGVjdG9yUGFnZUFnZW50OjpPdGhlclJlc291cmNlID8gJnJlc291cmNl
VHlwZSA6IDApOwogIDIzNCAgfQogIDIzNSAgCiAgLi4uCiAgMjcwICAgICAgbV9yZXNvdXJjZXNE
YXRhLT5zZXRSZXNvdXJjZVR5cGUocmVxdWVzdElkLCB0eXBlKTsKICAyNzEgIAogIDI3MjogICAg
IG1fZnJvbnRlbmQtPnJlc3BvbnNlUmVjZWl2ZWQocmVxdWVzdElkLCBtX3BhZ2VBZ2VudC0+ZnJh
bWVJZChsb2FkZXItPmZyYW1lKCkpLCBtX3BhZ2VBZ2VudC0+bG9hZGVySWQobG9hZGVyKSwgY3Vy
cmVudFRpbWUoKSwgSW5zcGVjdG9yUGFnZUFnZW50OjpyZXNvdXJjZVR5cGVKc29uKHR5cGUpLCBy
ZXNvdXJjZVJlc3BvbnNlKTsKICAyNzMgIAogIDI3NCAgICAgIC8vIElmIHdlIHJldmFsaWRhdGVk
IHRoZSByZXNvdXJjZSBhbmQgZ290IE5vdCBtb2RpZmllZCwgc2VuZCBjb250ZW50IGxlbmd0aCBm
b2xsb3dpbmcgZGlkUmVjZWl2ZVJlc3BvbnNlCiAgLi4uCiAgMjkzICAgICAgfQogIDI5NCAgCiAg
Mjk1OiAgICAgbV9mcm9udGVuZC0+ZGF0YVJlY2VpdmVkKHJlcXVlc3RJZCwgY3VycmVudFRpbWUo
KSwgZGF0YUxlbmd0aCwgZW5jb2RlZERhdGFMZW5ndGgpOwogIDI5NiAgfQogIDI5NyAgCiAgLi4u
CiAgMzA3ICAKICAzMDggICAgICBpZiAoIWZpbmlzaFRpbWUpCiAgMzA5OiAgICAgICAgIGZpbmlz
aFRpbWUgPSBjdXJyZW50VGltZSgpOwogIDMxMCAgCiAgMzExICAgICAgU3RyaW5nIHNvdXJjZU1h
cHBpbmdVUkw7CiAgLi4uCiAgMzMwICAKICAzMzEgICAgICBib29sIGNhbmNlbGVkID0gZXJyb3Iu
aXNDYW5jZWxsYXRpb24oKTsKICAzMzI6ICAgICBtX2Zyb250ZW5kLT5sb2FkaW5nRmFpbGVkKHJl
cXVlc3RJZCwgY3VycmVudFRpbWUoKSwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSwgY2Fu
Y2VsZWQgPyAmY2FuY2VsZWQgOiAwKTsKICAzMzMgIH0KICAzMzQgIAogIC4uLgogIDM0OSAgICAg
IFJlZlB0cjxUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yPiBpbml0aWF0b3JPYmplY3Qg
PSBidWlsZEluaXRpYXRvck9iamVjdChsb2FkZXItPmZyYW1lKCkgPyBsb2FkZXItPmZyYW1lKCkt
PmRvY3VtZW50KCkgOiAwKTsKICAzNTAgIAogIDM1MTogICAgIG1fZnJvbnRlbmQtPnJlcXVlc3RT
ZXJ2ZWRGcm9tTWVtb3J5Q2FjaGUocmVxdWVzdElkLCBmcmFtZUlkLCBsb2FkZXJJZCwgbG9hZGVy
LT51cmwoKS5zdHJpbmcoKSwgY3VycmVudFRpbWUoKSwgaW5pdGlhdG9yT2JqZWN0LCBidWlsZE9i
amVjdEZvckNhY2hlZFJlc291cmNlKHJlc291cmNlLCBsb2FkZXIpKTsKICAzNTIgIH0KICAzNTMg
IAogIC4uLgogIDQ5MCAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6TmV0d29yazo6V2ViU29ja2V0
UmVxdWVzdD4gcmVxdWVzdE9iamVjdCA9IFR5cGVCdWlsZGVyOjpOZXR3b3JrOjpXZWJTb2NrZXRS
ZXF1ZXN0OjpjcmVhdGUoKQogIDQ5MSAgICAgICAgICAuc2V0SGVhZGVycyhidWlsZE9iamVjdEZv
ckhlYWRlcnMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpKTsKICA0OTI6ICAgICBtX2Zyb250
ZW5kLT53ZWJTb2NrZXRXaWxsU2VuZEhhbmRzaGFrZVJlcXVlc3QoSWRlbnRpZmllcnNGYWN0b3J5
OjpyZXF1ZXN0SWQoaWRlbnRpZmllciksIGN1cnJlbnRUaW1lKCksIHJlcXVlc3RPYmplY3QpOwog
IDQ5MyAgfQogIDQ5NCAgCiAgLi4uCiAgNDk5ICAgICAgICAgIC5zZXRTdGF0dXNUZXh0KHJlc3Bv
bnNlLmh0dHBTdGF0dXNUZXh0KCkpCiAgNTAwICAgICAgICAgIC5zZXRIZWFkZXJzKGJ1aWxkT2Jq
ZWN0Rm9ySGVhZGVycyhyZXNwb25zZS5odHRwSGVhZGVyRmllbGRzKCkpKTsKICA1MDE6ICAgICBt
X2Zyb250ZW5kLT53ZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZVJlY2VpdmVkKElkZW50aWZpZXJz
RmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpLCBjdXJyZW50VGltZSgpLCByZXNwb25zZU9i
amVjdCk7CiAgNTAyICB9CiAgNTAzICAKICA1MDQgIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6ZGlkQ2xvc2VXZWJTb2NrZXQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogIDUwNSAgewog
IDUwNjogICAgIG1fZnJvbnRlbmQtPndlYlNvY2tldENsb3NlZChJZGVudGlmaWVyc0ZhY3Rvcnk6
OnJlcXVlc3RJZChpZGVudGlmaWVyKSwgY3VycmVudFRpbWUoKSk7CiAgNTA3ICB9CiAgNTA4ICAK
ICAuLi4KICA1MTMgICAgICAgICAgLnNldE1hc2soZnJhbWUubWFza2VkKQogIDUxNCAgICAgICAg
ICAuc2V0UGF5bG9hZERhdGEoU3RyaW5nKGZyYW1lLnBheWxvYWQsIGZyYW1lLnBheWxvYWRMZW5n
dGgpKTsKICA1MTU6ICAgICBtX2Zyb250ZW5kLT53ZWJTb2NrZXRGcmFtZVJlY2VpdmVkKElkZW50
aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpLCBjdXJyZW50VGltZSgpLCBmcmFt
ZU9iamVjdCk7CiAgNTE2ICB9CiAgNTE3ICAKICAuLi4KICA1MjIgICAgICAgICAgLnNldE1hc2so
ZnJhbWUubWFza2VkKQogIDUyMyAgICAgICAgICAuc2V0UGF5bG9hZERhdGEoU3RyaW5nKGZyYW1l
LnBheWxvYWQsIGZyYW1lLnBheWxvYWRMZW5ndGgpKTsKICA1MjQ6ICAgICBtX2Zyb250ZW5kLT53
ZWJTb2NrZXRGcmFtZVNlbnQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmll
ciksIGN1cnJlbnRUaW1lKCksIGZyYW1lT2JqZWN0KTsKICA1MjUgIH0KICA1MjYgIAogIDUyNyAg
dm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJv
cih1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQog
IDUyOCAgewogIDUyOTogICAgIG1fZnJvbnRlbmQtPndlYlNvY2tldEZyYW1lRXJyb3IoSWRlbnRp
ZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllciksIGN1cnJlbnRUaW1lKCksIGVycm9y
TWVzc2FnZSk7CiAgNTMwICB9CiAgNTMxICAKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CiAgMTI0ICB2
b2lkIFRpbWVsaW5lVGltZUNvbnZlcnRlcjo6cmVzZXQoKQogIDEyNSAgewogIDEyNjogICAgIG1f
c3RhcnRPZmZzZXQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1l
KCk7CiAgMTI3ICB9CiAgMTI4ICAKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkVGltaW5nLmNwcDoKICAgNzQgIAogICA3NSAgICAgIG1f
bmF2aWdhdGlvblN0YXJ0ID0gbV9yZWZlcmVuY2VNb25vdG9uaWNUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CiAgIDc2OiAgICAgbV9yZWZlcmVuY2VXYWxsVGltZSA9IGN1cnJl
bnRUaW1lKCk7CiAgIDc3ICB9CiAgIDc4ICAKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgogICA1OCAgICAgIC8vIEluaXRp
YWxpemUgdG8gdGhlIGN1cnJlbnQgdGltZSB0byByZWR1Y2UgdGhlIGxpa2VsaWhvb2Qgb2YgZ2Vu
ZXJhdGluZwogICA1OSAgICAgIC8vIGlkZW50aWZpZXJzIHRoYXQgb3ZlcmxhcCB3aXRoIHRob3Nl
IGZyb20gcGFzdC9mdXR1cmUgYnJvd3NlciBzZXNzaW9ucy4KICAgNjA6ICAgICBzdGF0aWMgaW50
NjRfdCBuZXh0SWRlbnRpZmllciA9IHN0YXRpY19jYXN0PGludDY0X3Q+KGN1cnJlbnRUaW1lKCkg
KiAxMDAwMDAwLjApOwogICA2MSAgICAgIHJldHVybiArK25leHRJZGVudGlmaWVyOwogICA2MiAg
fQoKL2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcDoKICAxMTkgIAogIDEyMCAgICAgICAgICBVc2VyR2VzdHVyZUluZGlj
YXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vz
c2luZ1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAg
MTIxOiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCBtX3VybCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci0+bmV4dEZp
cmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogIDEyMiAgICAgIH0KICAxMjMg
IAogIC4uLgogIDI0NSAgCiAgMjQ2ICAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1
cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdl
c3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAyNDc6ICAgICAg
ICAgZnJhbWUtPmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0
VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci0+bmV4dEZpcmVJbnRlcnZhbCgp
LCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogIDI0OCAgICAgIH0KICAyNDkgIAoKL2hvbWUvYXJ1
bi93ZWJraXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5jcHA6CiAgMTk1ICAgICAgOiBtX3Jlc291cmNlUmVxdWVzdChyZXF1ZXN0KQogIDE5NiAgICAg
ICwgbV9sb2FkUHJpb3JpdHkoZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKHR5cGUpKQog
IDE5NzogICAgICwgbV9yZXNwb25zZVRpbWVzdGFtcChjdXJyZW50VGltZSgpKQogIDE5OCAgICAg
ICwgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIodGhpcywgJkNhY2hlZFJlc291cmNlOjpkZWNv
ZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZCwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bEZvclJlc291cmNlVHlwZSh0eXBlKSkKICAxOTkgICAgICAsIG1fbGFzdERlY29kZWRBY2Nlc3NU
aW1lKDApCiAgLi4uCiAgNDM0ICAgICAgZG91YmxlIGFnZVZhbHVlID0gbV9yZXNwb25zZS5hZ2Uo
KTsKICA0MzUgICAgICBkb3VibGUgY29ycmVjdGVkUmVjZWl2ZWRBZ2UgPSBzdGQ6OmlzZmluaXRl
KGFnZVZhbHVlKSA/IHN0ZDo6bWF4KGFwcGFyZW50QWdlLCBhZ2VWYWx1ZSkgOiBhcHBhcmVudEFn
ZTsKICA0MzY6ICAgICBkb3VibGUgcmVzaWRlbnRUaW1lID0gY3VycmVudFRpbWUoKSAtIG1fcmVz
cG9uc2VUaW1lc3RhbXA7CiAgNDM3ICAgICAgcmV0dXJuIGNvcnJlY3RlZFJlY2VpdmVkQWdlICsg
cmVzaWRlbnRUaW1lOwogIDQzOCAgfQogIC4uLgogIDQ2OSAgewogIDQ3MCAgICAgIHNldFJlc3Bv
bnNlKHJlc3BvbnNlKTsKICA0NzE6ICAgICBtX3Jlc3BvbnNlVGltZXN0YW1wID0gY3VycmVudFRp
bWUoKTsKICA0NzIgICAgICBTdHJpbmcgZW5jb2RpbmcgPSByZXNwb25zZS50ZXh0RW5jb2RpbmdO
YW1lKCk7CiAgNDczICAgICAgaWYgKCFlbmNvZGluZy5pc051bGwoKSkKICAuLi4KICA3NDkgIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0ZVJlc3BvbnNlQWZ0ZXJSZXZhbGlkYXRpb24oY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKQogIDc1MCAgewogIDc1MTogICAg
IG1fcmVzcG9uc2VUaW1lc3RhbXAgPSBjdXJyZW50VGltZSgpOwogIDc1MiAgCiAgNzUzICAgICAg
Ly8gUkZDMjYxNiAxMC4zLjUKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwOgogIDU2MiAgICAgICAgICAvLyBVcGRhdGUg
dGhlIGRhdGEgYW5kIHNldCB0aGUgdGltZSBzdGFtcAogIDU2MyAgICAgICAgICBpY29uLT5zZXRJ
bWFnZURhdGEoZGF0YS5yZWxlYXNlKCkpOwogIDU2NDogICAgICAgICBpY29uLT5zZXRUaW1lc3Rh
bXAoKGludCljdXJyZW50VGltZSgpKTsKICA1NjUgICAgICAgICAgCiAgNTY2ICAgICAgICAgIC8v
IENvcHkgdGhlIGN1cnJlbnQgcmV0YWluaW5nIHBhZ2VVUkxzIC0gaWYgYW55IC0gdG8gbm90aWZ5
IHRoZW0gb2YgdGhlIGNoYW5nZQogIC4uLgogIDY3OSAgICAgICAgICBpZiAoSWNvblJlY29yZCog
aWNvbiA9IG1faWNvblVSTFRvUmVjb3JkTWFwLmdldChpY29uVVJMKSkgewogIDY4MCAgICAgICAg
ICAgICAgTE9HKEljb25EYXRhYmFzZSwgIkZvdW5kIGV4cGlyYXRpb24gdGltZSBvbiBhIHByZXNl
bnQgaWNvbiBiYXNlZCBvbiBleGlzdGluZyBJY29uUmVjb3JkIik7CiAgNjgxOiAgICAgICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihjdXJyZW50VGltZSgpKSAtIHN0YXRpY19jYXN0PGlu
dD4oaWNvbi0+Z2V0VGltZXN0YW1wKCkpID4gaWNvbkV4cGlyYXRpb25UaW1lID8gSWNvbkxvYWRZ
ZXMgOiBJY29uTG9hZE5vOwogIDY4MiAgICAgICAgICB9CiAgNjgzICAgICAgfQogIC4uLgogMTIx
NiAgICAgIC8vIHdlIHVzZSBpdCBvciBub3QpLiBUaGlzIGNvZGUgd29ya3MgYW55d2F5IGJlY2F1
c2UgdGhlIEljb25EYXRhYmFzZSBkb3dubG9hZHMgaWNvbnMgYWdhaW4gaWYgdGhleSBhcmUgb2xk
ZXIgdGhhbiA0IGRheXMsCiAxMjE3ICAgICAgLy8gc28gaWYgdGhlIHRpbWVzdGFtcCBnb2VzIGJh
Y2sgaW4gdGltZSBtb3JlIHRoYW4gdGhvc2UgMzAgZGF5cyB3ZSBjYW4gYmUgc3VyZSB0aGF0IHRo
ZSBpY29uIHdhcyBub3QgdXNlZCBhdCBhbGwuCiAxMjE4OiAgICAgU3RyaW5nIGltcG9ydFF1ZXJ5
ID0gU3RyaW5nOjpmb3JtYXQoIlNFTEVDVCBQYWdlVVJMLnVybCwgSWNvbkluZm8udXJsLCBJY29u
SW5mby5zdGFtcCBGUk9NIFBhZ2VVUkwgSU5ORVIgSk9JTiBJY29uSW5mbyBPTiBQYWdlVVJMLmlj
b25JRD1JY29uSW5mby5pY29uSUQgV0hFUkUgSWNvbkluZm8uc3RhbXAgPiAlLjBmOyIsIGZsb29y
KGN1cnJlbnRUaW1lKCkgLSBub3RVc2VkSWNvbkV4cGlyYXRpb25UaW1lKSk7CiAxMjE5ICAjZWxz
ZQogMTIyMCAgICAgIFN0cmluZyBpbXBvcnRRdWVyeSgiU0VMRUNUIFBhZ2VVUkwudXJsLCBJY29u
SW5mby51cmwsIEljb25JbmZvLnN0YW1wIEZST00gUGFnZVVSTCBJTk5FUiBKT0lOIEljb25JbmZv
IE9OIFBhZ2VVUkwuaWNvbklEPUljb25JbmZvLmljb25JRDsiKTsKCi9ob21lL2FydW4vd2Via2l0
L3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKICAy
NDkgICAgICBzd2l0Y2ggKG1fYXV0b3Njcm9sbFR5cGUpIHsKICAyNTAgICAgICBjYXNlIEF1dG9z
Y3JvbGxGb3JEcmFnQW5kRHJvcDoKICAyNTE6ICAgICAgICAgaWYgKFdURjo6Y3VycmVudFRpbWUo
KSAtIG1fZHJhZ0FuZERyb3BBdXRvc2Nyb2xsU3RhcnRUaW1lID4gYXV0b3Njcm9sbERlbGF5KQog
IDI1MiAgICAgICAgICAgICAgbV9hdXRvc2Nyb2xsUmVuZGVyZXItPmF1dG9zY3JvbGwobV9kcmFn
QW5kRHJvcEF1dG9zY3JvbGxSZWZlcmVuY2VQb3NpdGlvbik7CiAgMjUzICAgICAgICAgIGJyZWFr
OwoKL2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcDoKIDE0NDUgIHsKIDE0NDYgICAgICAvLyBTaW11bGF0ZSBhIGNsaWNr
IGluIHRoZSBtaWRkbGUgb2YgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0LgogMTQ0NzogICAgIFBs
YXRmb3JtTW91c2VFdmVudCBtb3VzZUV2ZW50KGNsaWNrUG9pbnQsIGNsaWNrUG9pbnQsIFJpZ2h0
QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIDEsIGZhbHNlLCBmYWxzZSwgZmFs
c2UsIGZhbHNlLCBjdXJyZW50VGltZSgpKTsKIDE0NDggICAgICBib29sIGhhbmRsZWQgPSBmcmFt
ZS0+ZXZlbnRIYW5kbGVyKCkuc2VuZENvbnRleHRNZW51RXZlbnQobW91c2VFdmVudCk7CiAxNDQ5
ICAgICAgaWYgKGhhbmRsZWQgJiYgY2xpZW50KCkpCgovaG9tZS9hcnVuL3dlYmtpdC93ZWJraXQv
U291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6CiAgIDk1ICAgICAgcmV0dXJu
IFBsYXRmb3JtTW91c2VFdmVudChkcmFnRGF0YS0+Y2xpZW50UG9zaXRpb24oKSwgZHJhZ0RhdGEt
Pmdsb2JhbFBvc2l0aW9uKCksCiAgIDk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM
ZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCAwLCBzaGlmdEtleSwgY3RybEtl
eSwgYWx0S2V5LAogICA5NzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YUtleSwg
Y3VycmVudFRpbWUoKSk7CiAgIDk4ICB9CiAgIDk5ICAKCi9ob21lL2FydW4vd2Via2l0L3dlYmtp
dC9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHA6CiAyNjQxICAgICAgICAgIGFk
anVzdEdlc3R1cmVQb3NpdGlvbihnZXN0dXJlRXZlbnQsIGFkanVzdGVkUG9pbnQpOwogMjY0MiAg
I2VuZGlmCiAyNjQzOiAgICAgICAgIFBsYXRmb3JtTW91c2VFdmVudCBtb3VzZURvd25FdmVudChh
ZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgTGVmdEJ1dHRvbiwg
UGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxz
ZSwgV1RGOjpjdXJyZW50VGltZSgpKTsKIDI2NDQgICAgICAgICAgaGFuZGxlTW91c2VQcmVzc0V2
ZW50KG1vdXNlRG93bkV2ZW50KTsKIDI2NDU6ICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1v
dXNlRHJhZ0V2ZW50KGFkanVzdGVkUG9pbnQsIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigp
LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCAwLCBmYWxzZSwgZmFsc2Us
IGZhbHNlLCBmYWxzZSwgV1RGOjpjdXJyZW50VGltZSgpKTsKIDI2NDYgICAgICAgICAgSGl0VGVz
dFJlcXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVxdWVz
dDo6RGlzYWxsb3dTaGFkb3dDb250ZW50KTsKIDI2NDcgICAgICAgICAgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cyBtZXYgPSBwcmVwYXJlTW91c2VFdmVudChyZXF1ZXN0LCBtb3VzZURyYWdF
dmVudCk7CiAuLi4uCiAyOTgyICAjZW5kaWYKIDI5ODMgIAogMjk4NDogICAgIFBsYXRmb3JtTW91
c2VFdmVudCBtb3VzZUV2ZW50KHBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgUmlnaHRCdXR0b24s
IGV2ZW50VHlwZSwgMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIFdURjo6Y3VycmVudFRp
bWUoKSk7CiAyOTg1ICAKIDI5ODYgICAgICByZXR1cm4gIWRpc3BhdGNoTW91c2VFdmVudChldmVu
dE5hbWVzKCkuY29udGV4dG1lbnVFdmVudCwgdGFyZ2V0Tm9kZSwgdHJ1ZSwgMCwgbW91c2VFdmVu
dCwgZmFsc2UpOwogLi4uLgogMzAwMCAgICAgIGFkanVzdEdlc3R1cmVQb3NpdGlvbihldmVudCwg
YWRqdXN0ZWRQb2ludCk7CiAzMDAxICAjZW5kaWYKIDMwMDI6ICAgICBQbGF0Zm9ybU1vdXNlRXZl
bnQgbW91c2VFdmVudChhZGp1c3RlZFBvaW50LCBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBSaWdo
dEJ1dHRvbiwgZXZlbnRUeXBlLCAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgV1RGOjpj
dXJyZW50VGltZSgpKTsKIDMwMDMgICAgICAvLyBUbyBzaW11bGF0ZSByaWdodC1jbGljayBiZWhh
dmlvciwgd2Ugc2VuZCBhIHJpZ2h0IG1vdXNlIGRvd24gYW5kIHRoZW4KIDMwMDQgICAgICAvLyBj
b250ZXh0IG1lbnUgZXZlbnQuCiAuLi4uCiAzMDg3ICAgICAgYm9vbCBtZXRhS2V5OwogMzA4OCAg
ICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6Z2V0Q3VycmVudE1vZGlmaWVyU3RhdGUoc2hpZnRL
ZXksIGN0cmxLZXksIGFsdEtleSwgbWV0YUtleSk7CiAzMDg5OiAgICAgUGxhdGZvcm1Nb3VzZUV2
ZW50IGZha2VNb3VzZU1vdmVFdmVudChtX2xhc3RLbm93bk1vdXNlUG9zaXRpb24sIG1fbGFzdEtu
b3duTW91c2VHbG9iYWxQb3NpdGlvbiwgTm9CdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92
ZWQsIDAsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIGN1cnJlbnRUaW1lKCkp
OwogMzA5MCAgICAgIG1vdXNlTW92ZWQoZmFrZU1vdXNlTW92ZUV2ZW50KTsKIDMwOTEgIH0KCgov
aG9tZS9hcnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9Db29raWVNYW5hZ2VyLmNwcDoKICAzMzggICAgICAgICAgaWYgKHJlcXVlc3RVUkwucGF0aCgp
LnN0YXJ0c1dpdGgocGF0aCwgZmFsc2UpICYmIChpc0Nvbm5lY3Rpb25TZWN1cmUgfHwgIWNvb2tp
ZS0+aXNTZWN1cmUoKSkgJiYgKGZpbHRlciA9PSBXaXRoSHR0cE9ubHlDb29raWVzIHx8ICFjb29r
aWUtPmlzSHR0cE9ubHkoKSkpIHsKICAzMzkgICAgICAgICAgICAgIENvb2tpZUxvZygiQ29va2ll
TWFuYWdlciAtIGNvb2tpZSBjaG9zZW4gLSAlc1xuIiwgY29va2llLT50b1N0cmluZygpLnV0Zjgo
KS5kYXRhKCkpOwogIDM0MDogICAgICAgICAgICAgY29va2llLT5zZXRMYXN0QWNjZXNzZWQoY3Vy
cmVudFRpbWUoKSk7CiAgMzQxICAgICAgICAgICAgICBzdGFja09mQ29va2llcy5hcHBlbmQoY29v
a2llKTsKICAzNDIgICAgICAgICAgfQoKL2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0L1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ29va2llUGFyc2VyLmNwcDoKICAgNzIgIHsKICAg
NzMgICAgICB1bnNpZ25lZCBjb29raWVTdGFydCwgY29va2llRW5kID0gMDsKICAgNzQ6ICAgICBk
b3VibGUgY3VyVGltZSA9IGN1cnJlbnRUaW1lKCk7CiAgIDc1ICAgICAgVmVjdG9yPFJlZlB0cjxQ
YXJzZWRDb29raWU+LCA0PiBwYXJzZWRDb29raWVzOwogICA3NiAgCiAgIC4uCiAgMTA1ICBQYXNz
UmVmUHRyPFBhcnNlZENvb2tpZT4gQ29va2llUGFyc2VyOjpwYXJzZU9uZUNvb2tpZShjb25zdCBT
dHJpbmcmIGNvb2tpZSkKICAxMDYgIHsKICAxMDc6ICAgICByZXR1cm4gcGFyc2VPbmVDb29raWUo
Y29va2llLCAwLCBjb29raWUubGVuZ3RoKCkgLSAxLCBjdXJyZW50VGltZSgpKTsKICAxMDggIH0K
ICAxMDkgIAoKL2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2JsYWNrYmVycnkvUGFyc2VkQ29va2llLmNwcDoKICAxMDcgICAgICAvLyBJZiBtYXhBZ2UgdmFs
dWUgaXMgbm90IHBvc2l0aXZlLCBsZXQgZXhwaXJ5LXRpbWUgYmUgdGhlIGVhcmxpZXN0IHJlcHJl
c2VudGFibGUgdGltZS4KICAxMDggICAgICBpZiAobV9leHBpcnkgPiAwKQogIDEwOTogICAgICAg
ICBtX2V4cGlyeSArPSBjdXJyZW50VGltZSgpOwogIDExMCAgICAgIGVsc2UKICAxMTEgICAgICAg
ICAgbV9leHBpcnkgPSAwOwogIC4uLgogIDExNSAgewogIDExNiAgICAgIC8vIFNlc3Npb24gY29v
a2llcyBkbyBub3QgZXhwaXJlLCB0aGV5IHdpbGwganVzdCBub3QgYmUgc2F2ZWQgdG8gdGhlIGJh
Y2tpbmcgc3RvcmUuCiAgMTE3OiAgICAgcmV0dXJuICFtX2lzU2Vzc2lvbiAmJiAobV9pc0ZvcmNl
RXhwaXJlZCB8fCBtX2V4cGlyeSA8IGN1cnJlbnRUaW1lKCkpOwogIDExOCAgfQogIDExOSAgCgov
aG9tZS9hcnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9QbGF0Zm9ybUtleWJvYXJkRXZlbnRCbGFja0JlcnJ5LmNwcDoKICA0NDAgIAogIDQ0MSAgUGxh
dGZvcm1LZXlib2FyZEV2ZW50OjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQoY29uc3QgQmxhY2tCZXJy
eTo6UGxhdGZvcm06OktleWJvYXJkRXZlbnQmIGV2ZW50KQogIDQ0MjogICAgIDogUGxhdGZvcm1F
dmVudCh0b1dlYkNvcmVQbGF0Zm9ybUtleWJvYXJkRXZlbnRUeXBlKGV2ZW50LnR5cGUoKSksIGV2
ZW50LnNoaWZ0QWN0aXZlKCkgfHwgKGV2ZW50LmNoYXJhY3RlcigpID09IEtFWUNPREVfQkFDS19U
QUIpLCBldmVudC5jdHJsQWN0aXZlKCksIGV2ZW50LmFsdEFjdGl2ZSgpLCBldmVudC5tZXRhQWN0
aXZlKCksIGN1cnJlbnRUaW1lKCkpCiAgNDQzICAgICAgLCBtX2tleUlkZW50aWZpZXIoa2V5SWRl
bnRpZmllckZvckJsYWNrQmVycnlDaGFyYWN0ZXIoZXZlbnQuY2hhcmFjdGVyKCkpKQogIDQ0NCAg
ICAgICwgbV93aW5kb3dzVmlydHVhbEtleUNvZGUod2luZG93c0tleUNvZGVGb3JCbGFja0JlcnJ5
S2V5Y29kZShldmVudC5rZXljb2RlKCkgPyBldmVudC5rZXljb2RlKCkgOiBldmVudC5jaGFyYWN0
ZXIoKSkpIC8vIGlmIGtleWNvZGUgaXNuJ3QgdmFsaWQsIHVzZSBjaGFyYWN0ZXIgYXMgaXQncyB1
bmNvbnZlcnRlZC4KCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtTW91c2VFdmVudEJsYWNrQmVycnkuY3BwOgogICAyNSAg
CiAgIDI2ICBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChjb25zdCBJbnRQ
b2ludCYgZXZlbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25z
dCBQbGF0Zm9ybUV2ZW50OjpUeXBlIHR5cGUsIGludCBjbGlja0NvdW50LCBNb3VzZUJ1dHRvbiBi
dXR0b24sIGJvb2wgc2hpZnRLZXksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRLZXksIE1vdXNlSW5w
dXRNZXRob2QgbWV0aG9kKQogICAyNzogICAgIDogUGxhdGZvcm1FdmVudCh0eXBlLCBzaGlmdEtl
eSwgY3RybEtleSwgYWx0S2V5LCBmYWxzZSwgY3VycmVudFRpbWUoKSkKICAgMjggICAgICAsIG1f
cG9zaXRpb24oZXZlbnRQb3NpdGlvbikKICAgMjkgICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xv
YmFsUG9zaXRpb24pCgovaG9tZS9hcnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYmxhY2tiZXJyeS9QbGF0Zm9ybVRvdWNoRXZlbnRCbGFja0JlcnJ5LmNwcDoKICAgNTMg
IAogICA1NCAgUGxhdGZvcm1Ub3VjaEV2ZW50OjpQbGF0Zm9ybVRvdWNoRXZlbnQoQmxhY2tCZXJy
eTo6UGxhdGZvcm06OlRvdWNoRXZlbnQqIGV2ZW50KQogICA1NTogICAgIDogUGxhdGZvcm1FdmVu
dCh0b3VjaEV2ZW50VHlwZShldmVudCksIGV2ZW50LT5zaGlmdEFjdGl2ZSgpLCBldmVudC0+Y3Ry
bEFjdGl2ZSgpLCBldmVudC0+YWx0QWN0aXZlKCksIGZhbHNlLCBjdXJyZW50VGltZSgpKQogICA1
NiAgICAgICwgbV9yb3RhdGlvbigwKQogICA1NyAgICAgICwgbV9zY2FsZSgxKQoKL2hvbWUvYXJ1
bi93ZWJraXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybU1vdXNl
RXZlbnRFZmwuY3BwOgogICA0OSAgCiAgIDUwICBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3Jt
TW91c2VFdmVudChjb25zdCBFdmFzX0V2ZW50X01vdXNlX0Rvd24qIGV2ZW50LCBJbnRQb2ludCBw
b3NpdGlvbikKICAgNTE6ICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6TW91c2VQ
cmVzc2VkLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0
IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIp
LCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFz
X2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRp
bWUoKSkKICAgNTIgICAgICAsIG1fcG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmNhbnZhcy54IC0g
cG9zaXRpb24ueCgpLCBldmVudC0+Y2FudmFzLnkgLSBwb3NpdGlvbi55KCkpKQogICA1MyAgICAg
ICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2ludChldmVudC0+Y2FudmFzLngsIGV2ZW50LT5jYW52
YXMueSkpCiAgIC4uCiAgIDU4ICAKICAgNTkgIFBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1N
b3VzZUV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfVXAqIGV2ZW50LCBJbnRQb2ludCBwb3Np
dGlvbikKICAgNjA6ICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6TW91c2VSZWxl
YXNlZCwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJTaGlmdCIp
LCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkNvbnRyb2wiKSwg
ZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJBbHQiKSwgZXZhc19r
ZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJNZXRhIiksIGN1cnJlbnRUaW1l
KCkpCiAgIDYxICAgICAgLCBtX3Bvc2l0aW9uKEludFBvaW50KGV2ZW50LT5jYW52YXMueCAtIHBv
c2l0aW9uLngoKSwgZXZlbnQtPmNhbnZhcy55IC0gcG9zaXRpb24ueSgpKSkKICAgNjIgICAgICAs
IG1fZ2xvYmFsUG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmNhbnZhcy54LCBldmVudC0+Y2FudmFz
LnkpKQogICAuLgogICA2NyAgCiAgIDY4ICBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91
c2VFdmVudChjb25zdCBFdmFzX0V2ZW50X01vdXNlX01vdmUqIGV2ZW50LCBJbnRQb2ludCBwb3Np
dGlvbikKICAgNjk6ICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6TW91c2VNb3Zl
ZCwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJTaGlmdCIpLCBl
dmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkNvbnRyb2wiKSwgZXZh
c19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJBbHQiKSwgZXZhc19rZXlf
bW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJNZXRhIiksIGN1cnJlbnRUaW1lKCkp
CiAgIDcwICAgICAgLCBtX3Bvc2l0aW9uKEludFBvaW50KGV2ZW50LT5jdXIuY2FudmFzLnggLSBw
b3NpdGlvbi54KCksIGV2ZW50LT5jdXIuY2FudmFzLnkgLSBwb3NpdGlvbi55KCkpKQogICA3MSAg
ICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2ludChldmVudC0+Y3VyLmNhbnZhcy54LCBldmVu
dC0+Y3VyLmNhbnZhcy55KSkKCi9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1XaGVlbEV2ZW50RWZsLmNwcDoKICAgNDUgIAogICA0NiAg
UGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoY29uc3QgRXZhc19FdmVudF9N
b3VzZV9XaGVlbCogZXYpCiAgIDQ3OiAgICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6
OldoZWVsLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXYtPm1vZGlmaWVycywgIlNoaWZ0Iiks
IGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFz
X2tleV9tb2RpZmllcl9pc19zZXQoZXYtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2Rp
Zmllcl9pc19zZXQoZXYtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRpbWUoKSkKICAgNDgg
ICAgICAsIG1fcG9zaXRpb24oSW50UG9pbnQoZXYtPmNhbnZhcy54LCBldi0+Y2FudmFzLnkpKQog
ICA0OSAgICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2ludChldi0+Y2FudmFzLngsIGV2LT5j
YW52YXMueSkpCgovaG9tZS9hcnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1BsYXRmb3JtS2V5Ym9hcmRFdmVudEd0ay5jcHA6CiAgNTcyICAvLyBLZWVwIHRoaXMg
aW4gc3luYyB3aXRoIHRoZSBvdGhlciBwbGF0Zm9ybSBldmVudCBjb25zdHJ1Y3RvcnMKICA1NzMg
IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KEdka0V2ZW50S2V5
KiBldmVudCwgY29uc3QgQ29tcG9zaXRpb25SZXN1bHRzJiBjb21wb3NpdGlvblJlc3VsdHMpCiAg
NTc0OiAgICAgOiBQbGF0Zm9ybUV2ZW50KGV2ZW50VHlwZUZvckdka0tleUV2ZW50KGV2ZW50KSwg
bW9kaWZpZXJzRm9yR2RrS2V5RXZlbnQoZXZlbnQpLCBjdXJyZW50VGltZSgpKQogIDU3NSAgICAg
ICwgbV90ZXh0KGNvbXBvc2l0aW9uUmVzdWx0cy5zaW1wbGVTdHJpbmcubGVuZ3RoKCkgPyBjb21w
b3NpdGlvblJlc3VsdHMuc2ltcGxlU3RyaW5nIDogc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGV2ZW50
LT5rZXl2YWwpKQogIDU3NiAgICAgICwgbV91bm1vZGlmaWVkVGV4dChtX3RleHQpCgovaG9tZS9h
cnVuL3dlYmtpdC93ZWJraXQvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hl
ZWxFdmVudEd0ay5jcHA6CiAgIDQyICAKICAgNDMgICAgICBtX3R5cGUgPSBQbGF0Zm9ybUV2ZW50
OjpXaGVlbDsKICAgNDQ6ICAgICBtX3RpbWVzdGFtcCA9IGN1cnJlbnRUaW1lKCk7CiAgIDQ1ICAK
ICAgNDYgICAgICBtX21vZGlmaWVycyA9IDA7CgoKL2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0L1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJjZUhhbmRsZUJs
YWNrQmVycnkuY3BwOgogIDE2OSAgICAgIGNvbnN0IGRvdWJsZSBzeW5jTG9hZFRpbWVPdXQgPSA2
MDsgLy8gc2Vjb25kcwogIDE3MCAgCiAgMTcxOiAgICAgZG91YmxlIHN0YXJ0VGltZSA9IGN1cnJl
bnRUaW1lKCk7CiAgMTcyICAgICAgRXZlbnRMb29wIGxvb3A7CiAgMTczICAgICAgd2hpbGUgKCFz
eW5jTG9hZGVyLmlzRG9uZSgpICYmICFsb29wLmVuZGVkKCkpIHsKICAxNzQgICAgICAgICAgbG9v
cC5jeWNsZSgpOwogIDE3NTogICAgICAgICBpZiAoY3VycmVudFRpbWUoKSAtIHN0YXJ0VGltZSA+
IHN5bmNMb2FkVGltZU91dCkgewogIDE3NiAgICAgICAgICAgICAgaGFuZGxlLT5jYW5jZWwoKTsK
ICAxNzcgICAgICAgICAgICAgIGVycm9yID0gUmVzb3VyY2VFcnJvcihSZXNvdXJjZUVycm9yOjpw
bGF0Zm9ybUVycm9yRG9tYWluLCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RmlsdGVyU3RyZWFtOjpT
dGF0dXNOZXR3b3JrRXJyb3IsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJUaW1lIG91dCIpOwoK
L2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRm
b3JtS2V5Ym9hcmRFdmVudFF0LmNwcDoKICA4NDggICAgICBtX21hY0NoYXJDb2RlID0gMDsKICA4
NDkgICAgICBtX3F0RXZlbnQgPSBldmVudDsKICA4NTA6ICAgICBtX3RpbWVzdGFtcCA9IFdURjo6
Y3VycmVudFRpbWUoKTsKICA4NTEgIH0KICA4NTIgIAoKL2hvbWUvYXJ1bi93ZWJraXQvd2Via2l0
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QbGF0Zm9ybU1vdXNlRXZlbnRXaW4uY3BwOgog
ICA4MSAgCiAgIDgyICBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChIV05E
IGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCBk
aWRBY3RpdmF0ZVdlYlZpZXcpCiAgIDgzOiAgICAgOiBQbGF0Zm9ybUV2ZW50KG1lc3NhZ2VUb0V2
ZW50VHlwZShtZXNzYWdlKSwgd1BhcmFtICYgTUtfU0hJRlQsIHdQYXJhbSAmIE1LX0NPTlRST0ws
IEdldEtleVN0YXRlKFZLX01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5U3RhdGUo
VktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCBjdXJyZW50VGltZSgpKQogICA4NCAgICAg
ICwgbV9wb3NpdGlvbihwb3NpdGlvbkZvckV2ZW50KGhXbmQsIGxQYXJhbSkpCiAgIDg1ICAgICAg
LCBtX2dsb2JhbFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uRm9yRXZlbnQoaFduZCwgbFBhcmFtKSkK
Ci9ob21lL2FydW4vd2Via2l0L3dlYmtpdC9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1
bkxvb3AuY3BwOgogICA1NCAgICAgIC8vIFNoYXJlZFRpbWVyIGludGVyZmFjZS4KICAgNTUgICAg
ICB2aXJ0dWFsIHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqZnVuY3Rpb24pKCkpIHsgbV9z
aGFyZWRUaW1lckZ1bmN0aW9uID0gZnVuY3Rpb247IH0KICAgNTY6ICAgICB2aXJ0dWFsIHZvaWQg
c2V0RmlyZUludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkgeyBtX25leHRGaXJlVGltZSA9IGludGVy
dmFsICsgY3VycmVudFRpbWUoKTsgfQogICA1NyAgICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgeyBt
X25leHRGaXJlVGltZSA9IDA7IH0KICAgNTggIAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209104</attachid>
            <date>2013-08-19 12:02:54 -0700</date>
            <delta_ts>2013-08-19 12:09:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>39268</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiMGFjMjkxMWI3YWYyNGI4MDE5NDEx
NzQ0NmE5Zjg1MWVlYTY1YWMuLjY4YzcxNzdiMzZjYWIyYjE0ZWNjMjNlMDNiMWMzODk5MzZmNjI3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTMtMDgtMTcgIEFydW5wcmFzYWQgUmFqa3VtYXIg
IDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEx
OTk1OD4gQ09OVElOVUFUSU9OKHIxNTQyMDEpOiBSZXBsYWNlIGN1cnJlbnRUaW1lKCkgd2l0aCBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSBpbiBXZWJDb3JlCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvQ3VycmVudFRpbWUuaDogRWRp
dGVkIGNvbW1lbnQuCisKIDIwMTMtMDgtMTYgIEFydW5wcmFzYWQgUmFqa3VtYXIgIDxhcnVyYWpr
dUBjaXNjby5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzExOTc4NT4gUmVw
bGFjZSBjdXJyZW50VGltZSgpIHdpdGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgaW4g
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ1ZGFjNDQ0NTBhZDQzMmQ2MTlmZGQ4MTgyMTE0MGMzYTdm
YmJiZjQuLmFiYTRiZjNkODlmOGIyNzcwNjM3ODEwZjgzZTU0NzQyNDMwY2U4NDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw4NiBAQAorMjAxMy0wOC0xNyAgQXJ1bnByYXNhZCBSYWprdW1hciAgPGFy
dXJhamt1QGNpc2NvLmNvbT4KKworICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5OTU4
PiBSZXBsYWNlIGN1cnJlbnRUaW1lKCkgd2l0aCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KSBpbiBXZWJDb3JlCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV1RGOjpjdXJyZW50VGltZSgpIGlzIHByb25lIHRvIE5UUCBhbmQgbWFudWFsIGFkanVz
dG1lbnRzLCBzbyB1c2UKKyAgICAgICAgV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KSB0byBtZWFzdXJlIGVsYXBzZWQgdGltZS4KKworICAgICAgICAqIGhpc3RvcnkvQ2FjaGVkUGFn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRQYWdlOjpDYWNoZWRQYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFBhZ2U6Omhhc0V4cGlyZWQpOgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJT
Y2hlZHVsZXI6OmNoZWNrRm9yWWllbGRCZWZvcmVUb2tlbik6CisgICAgICAgICogbG9hZGVyL0Ny
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxvd3NSZXF1ZXN0KToK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OnNldFN0YXRlKToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzVHJhY2tlcjo6aW5jcmVtZW50UHJvZ3Jlc3Mp
OgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZENTU1N0eWxlU2hlZXQ6OnJlc3RvcmVQYXJzZWRTdHlsZVNoZWV0
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkSW1hZ2U6OmRpZERyYXcpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cHJ1bmVMaXZlUmVz
b3VyY2VzVG9TaXplKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKToK
KyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKToKKyAg
ICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSk6CisgICAgICAg
IChXZWJDb3JlOjpJY29uRGF0YWJhc2U6OndyaXRlVG9EYXRhYmFzZSk6CisgICAgICAgIChXZWJD
b3JlOjpJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKToKKyAgICAgICAgKiBwYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJh
c2U6OmZyZWV6ZUF0VGltZSk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0xheWVyQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJBbmltYXRpb246OmNvbXB1dGVUb3RhbFJ1bm5pbmdUaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJBbmltYXRpb246OnJlc3VtZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNG
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFWRldyYXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUlu
UmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
OjpjcmVhdGVQaXhlbEJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3Jh
cGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c3Vz
cGVuZEFuaW1hdGlvbnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3Jt
Q0FMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpjdXJyZW50VGlt
ZVRvTWVkaWFUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvTGF5ZXJQ
b29sLm1tOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjphZGRMYXllcik6CisgICAgICAg
IChXZWJDb3JlOjpMYXllclBvb2w6OmRlY2F5ZWRDYXBhY2l0eSk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbToKKyAgICAgICAgKG1lZGlhVGltZVRvQ3Vy
cmVudFRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJU
cmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQUNGTGF5ZXJUcmVlSG9zdDo6bm90aWZ5
QW5pbWF0aW9uc1N0YXJ0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9Q
bGF0Zm9ybUNBTGF5ZXJXaW4uY3BwOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpwcmludFRy
ZWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4
dHVyZU1hcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlcjo6YWRkQW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1h
cHBlckZQU0NvdW50ZXI6OlRleHR1cmVNYXBwZXJGUFNDb3VudGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjp1cGRhdGVGUFNBbmREaXNwbGF5KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXll
cjo6YWRkQW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVR
dWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OmlzVXNpbmdQcm94
eSk6CisgICAgICAgICogcGx1Z2lucy93aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBlbmRNZXNz
YWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZGlkUGFpbnRCYWNraW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRp
bmdMYXllcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uUHJvZ3Jlc3MpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKToKKyAgICAg
ICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNNSUxUaW1lQ29udGFpbmVyOjplbGFwc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxU
aW1lQ29udGFpbmVyOjpiZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5l
cjo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OnJlc3VtZSk6
CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c2V0RWxhcHNlZCk6CisKIDIw
MTMtMDgtMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzExOTUzNj4gUmVmYWN0b3IgaGlnaGVzdEVkaXRhYmxlUm9vdCB0
byBhdm9pZCBhIHJlZHVuZGFudCBjYWxsIHRvIHJlbmRlcmVySXNFZGl0YWJsZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvQ3VycmVudFRpbWUuaCBiL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRU
aW1lLmgKaW5kZXggMjRiMmEzMGI0ZDlkOTMzZDE2ZDQ3M2ZjZGY4NjEyMGE4M2JmZGM1YS4uMGRm
Y2YwZTVlM2FjMDIyMDA2MTIxMWYzYTZkZDEwNjU5OWE2YjI0NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvQ3VycmVudFRpbWUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5o
CkBAIC01Miw3ICs1Miw3IEBAIGlubGluZSBkb3VibGUgY3VycmVudFRpbWVNUygpCiAvLyBQcm92
aWRlcyBhIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB0aW1lIGluIHNlY29uZHMgc2luY2UgYW4g
YXJiaXRyYXJ5IHBvaW50IGluIHRoZSBwYXN0LgogLy8gT24gdW5zdXBwb3J0ZWQgcGxhdGZvcm1z
LCB0aGlzIGZ1bmN0aW9uIG9ubHkgZ3VhcmFudGVlcyB0aGUgcmVzdWx0IHdpbGwgYmUgbm9uLWRl
Y3JlYXNpbmcuCiAvLyBSZXN1bHQgb2YgdGhpcyBmdW5jdGlvbiBpbmNyZWFzZXMgbW9ub3Rvbmlj
YWxseSBldmVuIHdoZW4gY2xvY2sgdGltZSBnb2VzIGJhY2sgZHVlIHRvCi0vLyBEU1QgY2hhbmdl
cyBvciBOVFAgYWRqdXN0bWVudHMsIHNvIGl0IGJldHRlciBzdWl0cyBmb3IgZWxhcHNlZCB0aW1l
IG1lYXN1cmVtZW50LgorLy8gTlRQIG9yIG1hbnVhbCBhZGp1c3RtZW50cyAsIHNvIGl0IGlzIGJl
dHRlciBzdWl0ZWQgZm9yIGVsYXBzZWQgdGltZSBtZWFzdXJlbWVudC4KIFdURl9FWFBPUlRfUFJJ
VkFURSBkb3VibGUgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAKIGlubGluZSBkb3Vi
bGUgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2Fj
aGVkUGFnZS5jcHAKaW5kZXggZWYyZTI5NDNhNGFmOWQ3MmUxZGYyMzBkNzg3ZjMwMmU0Njc0Y2Jm
MS4uMDNmMGQ5OGExZmY3M2M4NjY4OTcxMjk0MzA3NTg4ZjdkNWI0NmNlZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCkBAIC01MSw3ICs1MSw3IEBAIFBhc3NSZWZQdHI8Q2Fj
aGVkUGFnZT4gQ2FjaGVkUGFnZTo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiB9CiAKIENhY2hlZFBhZ2U6
OkNhY2hlZFBhZ2UoUGFnZSogcGFnZSkKLSAgICA6IG1fdGltZVN0YW1wKGN1cnJlbnRUaW1lKCkp
CisgICAgOiBtX3RpbWVTdGFtcChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKICAgICAs
IG1fZXhwaXJhdGlvblRpbWUobV90aW1lU3RhbXAgKyBwYWdlLT5zZXR0aW5ncygpLmJhY2tGb3J3
YXJkQ2FjaGVFeHBpcmF0aW9uSW50ZXJ2YWwoKSkKICAgICAsIG1fY2FjaGVkTWFpbkZyYW1lKENh
Y2hlZEZyYW1lOjpjcmVhdGUocGFnZS0+bWFpbkZyYW1lKCkpKQogICAgICwgbV9uZWVkU3R5bGVS
ZWNhbGNGb3JWaXNpdGVkTGlua3MoZmFsc2UpCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBDYWNo
ZWRQYWdlOjpkZXN0cm95KCkKIAogYm9vbCBDYWNoZWRQYWdlOjpoYXNFeHBpcmVkKCkgY29uc3QK
IHsKLSAgICByZXR1cm4gY3VycmVudFRpbWUoKSA+IG1fZXhwaXJhdGlvblRpbWU7CisgICAgcmV0
dXJuIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpID4gbV9leHBpcmF0aW9uVGltZTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDJjYTcyMjI0MDA0MjM3YTUyMjFmZTAwOTNm
MTk2MWNlMmQ1NjJlOTcuLmMyMTVjYjA4ZWE1ZGJlZDBhMGI2YzFkZTI3YTgyM2VhNjc5ODU5NDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVy
LmgKQEAgLTcwLDggKzcwLDggQEAgcHVibGljOgogICAgIHZvaWQgY2hlY2tGb3JZaWVsZEJlZm9y
ZVRva2VuKFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogICAgIHsKICAgICAgICAgaWYgKHNlc3Npb24u
cHJvY2Vzc2VkVG9rZW5zID4gbV9wYXJzZXJDaHVua1NpemUgfHwgc2Vzc2lvbi5kaWRTZWVTY3Jp
cHQpIHsKLSAgICAgICAgICAgIC8vIGN1cnJlbnRUaW1lKCkgY2FuIGJlIGV4cGVuc2l2ZS4gIEJ5
IGRlbGF5aW5nLCB3ZSBhdm9pZGVkIGNhbGxpbmcKLSAgICAgICAgICAgIC8vIGN1cnJlbnRUaW1l
KCkgd2hlbiBjb25zdHJ1Y3Rpbmcgbm9uLXlpZWxkaW5nIFB1bXBTZXNzaW9ucy4KKyAgICAgICAg
ICAgIC8vIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGNhbiBiZSBleHBlbnNpdmUuIEJ5
IGRlbGF5aW5nLCB3ZSBhdm9pZGVkIGNhbGxpbmcKKyAgICAgICAgICAgIC8vIG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpIHdoZW4gY29uc3RydWN0aW5nIG5vbi15aWVsZGluZyBQdW1wU2Vz
c2lvbnMuCiAgICAgICAgICAgICBpZiAoIXNlc3Npb24uc3RhcnRUaW1lKQogICAgICAgICAgICAg
ICAgIHNlc3Npb24uc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlLmNwcAppbmRleCA5ZDUxYzg3ZmU2YzRlN2Q0MzkzM2U0NWVlZjdkNWMxOWJk
NWUyMDg0Li40YTE3ZGZkZGZkMWE1OTczNDVjZTI0ZDFmZDAwZjlhYmIyOWExYTJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgYm9vbCBDcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlSXRlbTo6cGFyc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UK
ICAgICB9IGVsc2UKICAgICAgICAgZXhwaXJ5RGVsdGEgPSBkZWZhdWx0UHJlZmxpZ2h0Q2FjaGVU
aW1lb3V0U2Vjb25kczsKIAotICAgIG1fYWJzb2x1dGVFeHBpcnlUaW1lID0gY3VycmVudFRpbWUo
KSArIGV4cGlyeURlbHRhOworICAgIG1fYWJzb2x1dGVFeHBpcnlUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgKyBleHBpcnlEZWx0YTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApA
QCAtMTM2LDcgKzEzNiw3IEBAIGJvb2wgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0
ZW06OmFsbG93c0Nyb3NzT3JpZ2luSGVhZGVycyhjb25zdCBIVFRQSGVhCiBib29sIENyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxvd3NSZXF1ZXN0KFN0b3JlZENyZWRlbnRp
YWxzIGluY2x1ZGVDcmVkZW50aWFscywgY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEhUVFBI
ZWFkZXJNYXAmIHJlcXVlc3RIZWFkZXJzKSBjb25zdAogewogICAgIFN0cmluZyBpZ25vcmVkRXhw
bGFuYXRpb247Ci0gICAgaWYgKG1fYWJzb2x1dGVFeHBpcnlUaW1lIDwgY3VycmVudFRpbWUoKSkK
KyAgICBpZiAobV9hYnNvbHV0ZUV4cGlyeVRpbWUgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpbmNsdWRlQ3JlZGVudGlhbHMg
PT0gQWxsb3dTdG9yZWRDcmVkZW50aWFscyAmJiBtX2NyZWRlbnRpYWxzID09IERvTm90QWxsb3dT
dG9yZWRDcmVkZW50aWFscykKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMTk3YTMwOTNmYTkxMTAxMDZjNGFjNmUxNTZlMDQ0OTkw
YzBlMGRhMy4uOGE3MWJmMTFhZjI3NWQyMWYyYTMxMjYwNzliNWI4N2ViMWM5Yjg1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0xNjg1LDcgKzE2ODUsNyBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpzZXRTdGF0ZShGcmFtZVN0YXRlIG5ld1N0YXRlKQogICAgICAgICBwcm92
aXNpb25hbExvYWRTdGFydGVkKCk7CiAgICAgZWxzZSBpZiAobmV3U3RhdGUgPT0gRnJhbWVTdGF0
ZUNvbXBsZXRlKSB7CiAgICAgICAgIGZyYW1lTG9hZENvbXBsZXRlZCgpOwotICAgICAgICBzdG9y
ZWRUaW1lT2ZMYXN0Q29tcGxldGVkTG9hZCA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIHN0b3Jl
ZFRpbWVPZkxhc3RDb21wbGV0ZWRMb2FkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
CiAgICAgICAgIGlmIChtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICAgICAgbV9kb2N1bWVudExv
YWRlci0+c3RvcFJlY29yZGluZ1Jlc3BvbnNlcygpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggMmM4NDIzYjc2NThlMTNlNjY3ZjAwMzQ5YWQx
ZTY4NDliN2JhMmJhYS4uM2I4NTY4ZTVhMDc2MzkwNWEwZGNiMTk2MWQwOTIyZjE3NTE3NWY0ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTI0MSw3ICsy
NDEsNyBAQCB2b2lkIFByb2dyZXNzVHJhY2tlcjo6aW5jcmVtZW50UHJvZ3Jlc3ModW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiwgaQogICAgIAogICAgIG1fdG90YWxCeXRlc1Jl
Y2VpdmVkICs9IGJ5dGVzUmVjZWl2ZWQ7CiAgICAgCi0gICAgZG91YmxlIG5vdyA9IGN1cnJlbnRU
aW1lKCk7CisgICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwog
ICAgIGRvdWJsZSBub3RpZmllZFByb2dyZXNzVGltZURlbHRhID0gbm93IC0gbV9sYXN0Tm90aWZp
ZWRQcm9ncmVzc1RpbWU7CiAgICAgCiAgICAgTE9HKFByb2dyZXNzLCAiUHJvZ3Jlc3MgaW5jcmVt
ZW50ZWQgKCVwKSAtIHZhbHVlICVmLCB0cmFja2VkIGZyYW1lcyAlZCIsIHRoaXMsIG1fcHJvZ3Jl
c3NWYWx1ZSwgbV9udW1Qcm9ncmVzc1RyYWNrZWRGcmFtZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDQzNjc3N2U2
OTk0ZTUyMjQ3YWU2ZmRmMDJmY2NiNTExMDVhYmYzMzIuLjY5M2FiMDA4NThmOTg4MGI4MTcxMDBi
ZTZmMWQ3YTU5OTVhOWQ3MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBQYXNzUmVmUHRy
PFN0eWxlU2hlZXRDb250ZW50cz4gQ2FjaGVkQ1NTU3R5bGVTaGVldDo6cmVzdG9yZVBhcnNlZFN0
eWxlU2hlZXQoY29ucwogICAgIGlmIChtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZS0+cGFyc2VyQ29u
dGV4dCgpICE9IGNvbnRleHQpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgZGlkQWNjZXNzRGVj
b2RlZERhdGEoY3VycmVudFRpbWUoKSk7CisgICAgZGlkQWNjZXNzRGVjb2RlZERhdGEobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkpOwogCiAgICAgcmV0dXJuIG1fcGFyc2VkU3R5bGVTaGVl
dENhY2hlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAK
aW5kZXggNzcxNThmZWVlM2I1NTNlMmVlZDczZWZkYzY2YzUxOGY2MjEwODc3Mi4uYmE1YTkyNTI3
MDllNDhhODgxNGQ5ZjVlMTVjY2VmNjkzYTQ4YWU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBDYWNoZWRJ
bWFnZTo6ZGlkRHJhdyhjb25zdCBJbWFnZSogaW1hZ2UpCiAgICAgCiAgICAgZG91YmxlIHRpbWVT
dGFtcCA9IEZyYW1lVmlldzo6Y3VycmVudFBhaW50VGltZVN0YW1wKCk7CiAgICAgaWYgKCF0aW1l
U3RhbXApIC8vIElmIGRpZERyYXcgaXMgY2FsbGVkIG91dHNpZGUgb2YgYSBGcmFtZSBwYWludC4K
LSAgICAgICAgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgdGltZVN0YW1wID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgCiAgICAgQ2FjaGVkUmVzb3VyY2U6
OmRpZEFjY2Vzc0RlY29kZWREYXRhKHRpbWVTdGFtcCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCAyOTJmYTJmOTQ5YjBiMWM1M2NhNzU2OWI3
YmFjYjMyMGNhZTA4NjhlLi5iNjcyMzM4NmEyMThiMTkzOGM3OTY1MzcwYmZlZDQ1MTM4YTc3Mzg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTI0
Myw3ICsyNDMsNyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZUxpdmVSZXNvdXJjZXNUb1NpemUo
dW5zaWduZWQgdGFyZ2V0U2l6ZSkKIAogICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IEZyYW1lVmll
dzo6Y3VycmVudFBhaW50VGltZVN0YW1wKCk7CiAgICAgaWYgKCFjdXJyZW50VGltZSkgLy8gSW4g
Y2FzZSBwcnVuZSBpcyBjYWxsZWQgZGlyZWN0bHksIG91dHNpZGUgb2YgYSBGcmFtZSBwYWludC4K
LSAgICAgICAgY3VycmVudFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisgICAgICAgIGN1cnJl
bnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgCiAgICAgLy8gRGVz
dHJveSBhbnkgZGVjb2RlZCBkYXRhIGluIGxpdmUgb2JqZWN0cyB0aGF0IHdlIGNhbi4KICAgICAv
LyBTdGFydCBmcm9tIHRoZSB0YWlsLCBzaW5jZSB0aGlzIGlzIHRoZSBsZWFzdCByZWNlbnRseSBh
Y2Nlc3NlZCBvZiB0aGUgb2JqZWN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuY3BwCmluZGV4IDBhY2EwNDUxZGVmNzc4MTdmOGI3MDUyY2Q0MGI3ZGIzNjNkNDZl
MDMuLmUwNWViZGViNDhjNWU4M2ZjOGZhZmIzZmQxNmVhMDUyOGYyMTk2YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtOTg5LDcgKzk4OSw3IEBA
IHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKCkKICAgICBMT0coSWNv
bkRhdGFiYXNlLCAiKFRIUkVBRCkgSWNvbkRhdGFiYXNlIHN5bmMgdGhyZWFkIHN0YXJ0ZWQiKTsK
IAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgc3RhcnRUaW1lID0gY3VycmVudFRpbWUo
KTsKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
CiAjZW5kaWYKIAogICAgIC8vIE5lZWQgdG8gY3JlYXRlIHRoZSBkYXRhYmFzZSBwYXRoIGlmIGl0
IGRvZXNuJ3QgYWxyZWFkeSBleGlzdApAQCAtMTAxNyw3ICsxMDE3LDcgQEAgdm9pZCBJY29uRGF0
YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgIH0KICAgICAgICAgCiAjaWYgIUxP
R19ESVNBQkxFRAotICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBjdXJyZW50VGltZSgpOworICAgIGRv
dWJsZSB0aW1lU3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBMT0co
SWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgT3BlbiB0b29rICUuNGYgc2Vjb25kcyIsIHRpbWVTdGFt
cCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgICAgCiAKQEAgLTEwMjgsMTMgKzEwMjgsMTMgQEAgdm9p
ZCBJY29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgIH0KICAgICAgICAg
CiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBuZXdTdGFtcCA9IGN1cnJlbnRUaW1lKCk7
CisgICAgZG91YmxlIG5ld1N0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAg
ICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIHBlcmZvcm1PcGVuSW5pdGlhbGl6YXRpb24o
KSB0b29rICUuNGYgc2Vjb25kcywgbm93ICUuNGYgc2Vjb25kcyBmcm9tIHRocmVhZCBzdGFydCIs
IG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdTdGFtcCAtIHN0YXJ0VGltZSk7CiAgICAgdGltZVN0
YW1wID0gbmV3U3RhbXA7CiAjZW5kaWYgCiAgICAgICAgIAogICAgIC8vIFVuY29tbWVudCB0aGUg
Zm9sbG93aW5nIGxpbmUgdG8gc2ltdWxhdGUgYSBsb25nIGxhc3RpbmcgVVJMIGltcG9ydCAoKkhV
R0UqIGljb24gZGF0YWJhc2VzLCBvciBuZXR3b3JrIGhvbWUgZGlyZWN0b3JpZXMpCi0gICAgLy8g
d2hpbGUgKGN1cnJlbnRUaW1lKCkgLSB0aW1lU3RhbXAgPCAxMCk7CisgICAgLy8gd2hpbGUgKG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gdGltZVN0YW1wIDwgMTApOwogCiAgICAgLy8g
UmVhZCBpbiBVUkwgbWFwcGluZ3MgZnJvbSB0aGUgZGF0YWJhc2UgICAgICAgICAgCiAgICAgTE9H
KEljb25EYXRhYmFzZSwgIihUSFJFQUQpIFN0YXJ0aW5nIGljb25VUkwgaW1wb3J0Iik7CkBAIC0x
MDQ2LDcgKzEwNDYsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVh
ZCgpCiAgICAgfQogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIG5ld1N0YW1wID0gY3VycmVudFRp
bWUoKTsKKyAgICBuZXdTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAg
IExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBwZXJmb3JtVVJMSW1wb3J0KCkgdG9vayAlLjRm
IHNlY29uZHMuICBFbnRlcmluZyBtYWluIGxvb3AgJS40ZiBzZWNvbmRzIGZyb20gdGhyZWFkIHN0
YXJ0IiwgbmV3U3RhbXAgLSB0aW1lU3RhbXAsIG5ld1N0YW1wIC0gc3RhcnRUaW1lKTsKICNlbmRp
ZiAKIApAQCAtMTM3NCw3ICsxMzc0LDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6OnN5bmNUaHJlYWRN
YWluTG9vcCgpCiAgICAgICAgIG1fc3luY0xvY2sudW5sb2NrKCk7CiAKICNpZiAhTE9HX0RJU0FC
TEVECi0gICAgICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBjdXJyZW50VGltZSgpOworICAgICAgICBk
b3VibGUgdGltZVN0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYK
ICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIE1haW4gd29yayBsb29wIHN0YXJ0
aW5nIik7CiAKQEAgLTE0MTIsMTMgKzE0MTIsMTMgQEAgdm9pZCBJY29uRGF0YWJhc2U6OnN5bmNU
aHJlYWRNYWluTG9vcCgpCiAgICAgICAgICAgICBzdGF0aWMgYm9vbCBwcnVuZWRVbnJldGFpbmVk
SWNvbnMgPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChkaWRXcml0ZSAmJiAhbV9wcml2YXRlQnJv
d3NpbmdFbmFibGVkICYmICFwcnVuZWRVbnJldGFpbmVkSWNvbnMgJiYgIWRhdGFiYXNlQ2xlYW51
cENvdW50ZXIpIHsKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgICAgICAgICAgICAgZG91YmxlIHRp
bWUgPSBjdXJyZW50VGltZSgpOworICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYKICAgICAgICAgICAgICAgICBMT0coSWNv
bkRhdGFiYXNlLCAiKFRIUkVBRCkgU3RhcnRpbmcgcHJ1bmVVbnJldGFpbmVkSWNvbnMoKSIpOwog
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHBydW5lVW5yZXRhaW5lZEljb25zKCk7
CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihU
SFJFQUQpIHBydW5lVW5yZXRhaW5lZEljb25zKCkgdG9vayAlLjRmIHNlY29uZHMiLCBjdXJyZW50
VGltZSgpIC0gdGltZSk7CisgICAgICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJF
QUQpIHBydW5lVW5yZXRhaW5lZEljb25zKCkgdG9vayAlLjRmIHNlY29uZHMiLCBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSAtIHRpbWUpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgIC8vIElmIHBydW5lVW5yZXRhaW5lZEljb25zKCkgcmV0dXJuZWQgZWFybHkgZHVlIHRv
IHJlcXVlc3RlZCB0aHJlYWQgdGVybWluYXRpb24sIGl0cyBzdGlsbCBva2F5CiAgICAgICAgICAg
ICAgICAgLy8gdG8gbWFyayBwcnVuZWRVbnJldGFpbmVkSWNvbnMgdHJ1ZSBiZWNhdXNlIHdlJ3Jl
IGFib3V0IHRvIHRlcm1pbmF0ZSBhbnl3YXkKQEAgLTE0MzEsNyArMTQzMSw3IEBAIHZvaWQgSWNv
bkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICB9CiAgICAgICAgIAogI2lm
ICFMT0dfRElTQUJMRUQKLSAgICAgICAgZG91YmxlIG5ld3N0YW1wID0gY3VycmVudFRpbWUoKTsK
KyAgICAgICAgZG91YmxlIG5ld3N0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
CiAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBNYWluIHdvcmsgbG9vcCByYW4g
Zm9yICUuNGYgc2Vjb25kcywgJXMgcmVxdWVzdGVkIHRvIHRlcm1pbmF0ZSIsIG5ld3N0YW1wIC0g
dGltZVN0YW1wLCBzaG91bGRTdG9wVGhyZWFkQWN0aXZpdHkoKSA/ICJ3YXMiIDogIndhcyBub3Qi
KTsKICNlbmRpZgogICAgICAgICAgICAgICAgICAgICAKQEAgLTE1MTMsNyArMTUxMyw3IEBAIGJv
b2wgSWNvbkRhdGFiYXNlOjpyZWFkRnJvbURhdGFiYXNlKCkKICAgICBBU1NFUlRfSUNPTl9TWU5D
X1RIUkVBRCgpOwogICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgdGltZVN0YW1w
ID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZVN0YW1wID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYKIAogICAgIGJvb2wgZGlkQW55V29yayA9IGZhbHNlOwpA
QCAtMTYwNyw3ICsxNjA3LDcgQEAgYm9vbCBJY29uRGF0YWJhc2U6OnJlYWRGcm9tRGF0YWJhc2Uo
KQogICAgICAgICAgICAgcmV0dXJuIGRpZEFueVdvcms7CiAgICAgfQogCi0gICAgTE9HKEljb25E
YXRhYmFzZSwgIlJlYWRpbmcgZnJvbSBkYXRhYmFzZSB0b29rICUuNGYgc2Vjb25kcyIsIGN1cnJl
bnRUaW1lKCkgLSB0aW1lU3RhbXApOworICAgIExPRyhJY29uRGF0YWJhc2UsICJSZWFkaW5nIGZy
b20gZGF0YWJhc2UgdG9vayAlLjRmIHNlY29uZHMiLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIHRpbWVTdGFtcCk7CiAKICAgICByZXR1cm4gZGlkQW55V29yazsKIH0KQEAgLTE2MTcs
NyArMTYxNyw3IEBAIGJvb2wgSWNvbkRhdGFiYXNlOjp3cml0ZVRvRGF0YWJhc2UoKQogICAgIEFT
U0VSVF9JQ09OX1NZTkNfVEhSRUFEKCk7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgZG91Ymxl
IHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHRpbWVTdGFtcCA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKICAgICBib29sIGRpZEFueVdvcmsg
PSBmYWxzZTsKQEAgLTE2NjcsNyArMTY2Nyw3IEBAIGJvb2wgSWNvbkRhdGFiYXNlOjp3cml0ZVRv
RGF0YWJhc2UoKQogICAgIGlmIChkaWRBbnlXb3JrKQogICAgICAgICBjaGVja0ZvckRhbmdsaW5n
UGFnZVVSTHMoZmFsc2UpOwogCi0gICAgTE9HKEljb25EYXRhYmFzZSwgIlVwZGF0aW5nIHRoZSBk
YXRhYmFzZSB0b29rICUuNGYgc2Vjb25kcyIsIGN1cnJlbnRUaW1lKCkgLSB0aW1lU3RhbXApOwor
ICAgIExPRyhJY29uRGF0YWJhc2UsICJVcGRhdGluZyB0aGUgZGF0YWJhc2UgdG9vayAlLjRmIHNl
Y29uZHMiLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHRpbWVTdGFtcCk7CiAKICAg
ICByZXR1cm4gZGlkQW55V29yazsKIH0KQEAgLTE4MjIsNyArMTgyMiw3IEBAIHZvaWQqIEljb25E
YXRhYmFzZTo6Y2xlYW51cFN5bmNUaHJlYWQoKQogICAgIEFTU0VSVF9JQ09OX1NZTkNfVEhSRUFE
KCk7CiAgICAgCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBjdXJy
ZW50VGltZSgpOworICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKICNlbmRpZiAKIAogICAgIC8vIElmIHRoZSByZW1vdmVJY29ucyBmbGFnIGlzIHNl
dCwgcmVtb3ZlIGFsbCBpY29ucyBmcm9tIHRoZSBkYi4KQEAgLTE4NDIsNyArMTg0Miw3IEBAIHZv
aWQqIEljb25EYXRhYmFzZTo6Y2xlYW51cFN5bmNUaHJlYWQoKQogICAgIG1fc3luY0RCLmNsb3Nl
KCk7CiAgICAgCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhS
RUFEKSBGaW5hbCBjbG9zdXJlIHRvb2sgJS40ZiBzZWNvbmRzIiwgY3VycmVudFRpbWUoKSAtIHRp
bWVTdGFtcCk7CisgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIEZpbmFsIGNsb3N1cmUg
dG9vayAlLjRmIHNlY29uZHMiLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHRpbWVT
dGFtcCk7CiAjZW5kaWYKICAgICAKICAgICBtX3N5bmNUaHJlYWRSdW5uaW5nID0gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4
IDhkYTY3OGI0OTJhNjAwNGFmNDE5YjdjZTQ5YWExMzM5NGM5YzFlNzQuLjkzMTg0YmYzMjIyOTRi
NzQyNjllOTg4ODUxYTkyNDI2OGViNTgxZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC02NTAsNyArNjUwLDcgQEAgdm9pZCBBbmlt
YXRpb25CYXNlOjpmcmVlemVBdFRpbWUoZG91YmxlIHQpCiAgICAgICAgIC8vIElmIHdlIGhhdmVu
J3Qgc3RhcnRlZCB5ZXQsIG1ha2UgaXQgYXMgaWYgd2Ugc3RhcnRlZC4KICAgICAgICAgTE9HKEFu
aW1hdGlvbnMsICIlcCBBbmltYXRpb25TdGF0ZSAlcyAtPiBTdGFydFdhaXRSZXNwb25zZSIsIHRo
aXMsIG5hbWVGb3JTdGF0ZShtX2FuaW1TdGF0ZSkpOwogICAgICAgICBtX2FuaW1TdGF0ZSA9IEFu
aW1hdGlvblN0YXRlU3RhcnRXYWl0UmVzcG9uc2U7Ci0gICAgICAgIG9uQW5pbWF0aW9uU3RhcnRS
ZXNwb25zZShjdXJyZW50VGltZSgpKTsKKyAgICAgICAgb25BbmltYXRpb25TdGFydFJlc3BvbnNl
KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKICAgICB9CiAKICAgICBBU1NFUlQobV9z
dGFydFRpbWUpOyAgICAgICAgLy8gaWYgbV9zdGFydFRpbWUgaXMgemVybywgd2UgaGF2ZW4ndCBz
dGFydGVkIHlldCwgc28gd2UnbGwgZ2V0IGEgYmFkIHBhdXNlIHRpbWUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4
IDUyMGEzOTZlZDIxMTBhZDcwNTMxNmY1ZjE0Yzg4OTI5ZTUzNGFmMzkuLmFjNmJiOTRhMzE5MWJl
N2EzN2YzYzU0NWVjMzNkZTMyMjIwYTBiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0zNjUsNyArMzY1LDcg
QEAgYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6cGF1c2VUcmFuc2l0aW9uQXRUaW1l
KFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGMKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHsKICAgICBpZiAobV9iZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKLSAgICAg
ICAgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPSBjdXJyZW50VGltZSgpOworICAgICAgICBt
X2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwogICAgIHJldHVybiBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQW5p
bWF0aW9uLmNwcAppbmRleCAyMDZkNzA3YjNhZDE1MDFhZTUxYjMxZDU2MjQ4MGRiYTYyZTA1ZmVl
Li4wOTNiZjE2ODAxMDYzNWI2MTBjZDY4Njc5MmM1YjdlYzc3YWU5ODQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQW5pbWF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQW5p
bWF0aW9uLmNwcApAQCAtMzIzLDcgKzMyMyw3IEBAIGRvdWJsZSBHcmFwaGljc0xheWVyQW5pbWF0
aW9uOjpjb21wdXRlVG90YWxSdW5uaW5nVGltZSgpCiAgICAgICAgIHJldHVybiBtX3BhdXNlVGlt
ZTsKIAogICAgIGRvdWJsZSBvbGRMYXN0UmVmcmVzaGVkVGltZSA9IG1fbGFzdFJlZnJlc2hlZFRp
bWU7Ci0gICAgbV9sYXN0UmVmcmVzaGVkVGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBt
X2xhc3RSZWZyZXNoZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAg
bV90b3RhbFJ1bm5pbmdUaW1lICs9IG1fbGFzdFJlZnJlc2hlZFRpbWUgLSBvbGRMYXN0UmVmcmVz
aGVkVGltZTsKICAgICByZXR1cm4gbV90b3RhbFJ1bm5pbmdUaW1lOwogfQpAQCAtMzM4LDcgKzMz
OCw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckFuaW1hdGlvbjo6cmVzdW1lKCkKIHsKICAgICBzZXRT
dGF0ZShQbGF5aW5nU3RhdGUpOwogICAgIG1fdG90YWxSdW5uaW5nVGltZSA9IG1fcGF1c2VUaW1l
OwotICAgIG1fbGFzdFJlZnJlc2hlZFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisgICAgbV9s
YXN0UmVmcmVzaGVkVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogfQogCiB2
b2lkIEdyYXBoaWNzTGF5ZXJBbmltYXRpb25zOjphZGQoY29uc3QgR3JhcGhpY3NMYXllckFuaW1h
dGlvbiYgYW5pbWF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKaW5kZXggMzZhMWM2ZDRhNjdkZjVhODA3
ODUzZDFkYzU5MGYwM2Q2NmY0OGIwNy4uMmU4ZmI0NDlmZDA0NDQ5ZjI1ZDgyNjc3ZTIzYjNlZDg0
NjEzZThhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCkBAIC0xNjIyLDE0ICsxNjIyLDE0IEBAIFJldGFp
blB0cjxDR0ltYWdlUmVmPiBBVkZXcmFwcGVyOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoZmxv
YXQgdGltZSwgY29uc3QgSW50CiAgICAgICAgIHJldHVybiAwOwogCiAjaWYgIUxPR19ESVNBQkxF
RAotICAgIGRvdWJsZSBzdGFydCA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgc3Rh
cnQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogCiAgICAgQVZDRkFz
c2V0SW1hZ2VHZW5lcmF0b3JTZXRNYXhpbXVtU2l6ZShtX2ltYWdlR2VuZXJhdG9yLmdldCgpLCBD
R1NpemUocmVjdC5zaXplKCkpKTsKICAgICBDR0ltYWdlUmVmIGltYWdlID0gQVZDRkFzc2V0SW1h
Z2VHZW5lcmF0b3JDb3B5Q0dJbWFnZUF0VGltZShtX2ltYWdlR2VuZXJhdG9yLmdldCgpLCBDTVRp
bWVNYWtlV2l0aFNlY29uZHModGltZSwgNjAwKSwgMCwgMCk7CiAKICNpZiAhTE9HX0RJU0FCTEVE
Ci0gICAgZG91YmxlIGR1cmF0aW9uID0gV1RGOjpjdXJyZW50VGltZSgpIC0gc3RhcnQ7CisgICAg
ZG91YmxlIGR1cmF0aW9uID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFydDsK
ICAgICBMT0coTWVkaWEsICJBVkZXcmFwcGVyOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoJXAp
IC0gY3JlYXRpbmcgaW1hZ2UgdG9vayAlLjRmIiwgdGhpcywgbmFycm93UHJlY2lzaW9uVG9GbG9h
dChkdXJhdGlvbikpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDE2MTUz
NDBlZWMxMTUyYzMzNjY2MzliNDFmY2M1YjRlODVkZTllMmMuLjUwMjQ2MjlkZmRjZjM3NGRmMWFh
M2UxYTcwYjkyZmVhYzc2MjgxNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtODUwLDE0
ICs4NTAsMTQgQEAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmUKICAgICBBU1NFUlQobV9pbWFnZUdl
bmVyYXRvcik7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHN0YXJ0ID0gV1RGOjpj
dXJyZW50VGltZSgpOworICAgIGRvdWJsZSBzdGFydCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOwogI2VuZGlmCiAKICAgICBbbV9pbWFnZUdlbmVyYXRvci5nZXQoKSBzZXRNYXhpbXVt
U2l6ZTpDR1NpemUocmVjdC5zaXplKCkpXTsKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1h
Z2UgPSBhZG9wdENGKFttX2ltYWdlR2VuZXJhdG9yLmdldCgpIGNvcHlDR0ltYWdlQXRUaW1lOkNN
VGltZU1ha2VXaXRoU2Vjb25kcyh0aW1lLCA2MDApIGFjdHVhbFRpbWU6bmlsIGVycm9yOm5pbF0p
OwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IFdURjo6Y3VycmVu
dFRpbWUoKSAtIHN0YXJ0OworICAgIGRvdWJsZSBkdXJhdGlvbiA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KCVwKSAtIGNyZWF0aW5n
IGltYWdlIHRvb2sgJS40ZiIsIHRoaXMsIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoZHVyYXRpb24p
KTsKICNlbmRpZgogCkBAIC0xMTM1LDcgKzExMzUsNyBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlUGl4ZWxCdWZm
ZQogICAgIEFTU0VSVChtX3ZpZGVvT3V0cHV0KTsKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBk
b3VibGUgc3RhcnQgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHN0YXJ0ID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYKIAogICAgIENNVGltZSBjdXJyZW50
VGltZSA9IFttX2F2UGxheWVySXRlbS5nZXQoKSBjdXJyZW50VGltZV07CkBAIC0xMTYyLDcgKzEx
NjIsNyBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6Y3JlYXRlUGl4ZWxCdWZmZQogI2VuZGlmCiAKICNpZiAhTE9HX0RJU0FC
TEVECi0gICAgZG91YmxlIGR1cmF0aW9uID0gV1RGOjpjdXJyZW50VGltZSgpIC0gc3RhcnQ7Cisg
ICAgZG91YmxlIGR1cmF0aW9uID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBzdGFy
dDsKICAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpj
cmVhdGVQaXhlbEJ1ZmZlcigpIC0gY3JlYXRpbmcgYnVmZmVyIHRvb2sgJS40ZiIsIHRoaXMsIG5h
cnJvd1ByZWNpc2lvblRvRmxvYXQoZHVyYXRpb24pKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApp
bmRleCAyN2E2NWM4ZTE0ZWM2MGJlNGFhZDFjODI4MmY2ZGI3NGIxNjMzYmU0Li41ZDQyNzRmMDYy
ZGU2YjYwOWRhYTAwY2ZlNDQ4M2Q4YzA2ODYyZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTI1MjYs
NyArMjUyNiw3IEBAIGJvb2wgR3JhcGhpY3NMYXllckNBOjpzZXRGaWx0ZXJBbmltYXRpb25LZXlm
cmFtZXMoY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlCiAKIHZvaWQgR3JhcGhpY3NMYXll
ckNBOjpzdXNwZW5kQW5pbWF0aW9ucyhkb3VibGUgdGltZSkKIHsKLSAgICBkb3VibGUgdCA9IFBs
YXRmb3JtQ0FMYXllcjo6Y3VycmVudFRpbWVUb01lZGlhVGltZSh0aW1lID8gdGltZSA6IGN1cnJl
bnRUaW1lKCkpOworICAgIGRvdWJsZSB0ID0gUGxhdGZvcm1DQUxheWVyOjpjdXJyZW50VGltZVRv
TWVkaWFUaW1lKHRpbWUgPyB0aW1lIDogbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpOwog
ICAgIHByaW1hcnlMYXllcigpLT5zZXRTcGVlZCgwKTsKICAgICBwcmltYXJ5TGF5ZXIoKS0+c2V0
VGltZU9mZnNldCh0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAppbmRleCBjYzk2MDk0Y2ZiNjBkOTUzMmY1YTRhZmVi
NjRjOWJjNGE0YWVjNDMwLi42OTg4MzVlMDkyNmZjNDUxMmJlZDllYzlkZDFmZmM5MWI4MzdkZTQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9y
bUNBTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0
Zm9ybUNBTGF5ZXIuaApAQCAtNTEsNyArNTEsNyBAQCB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8UGxh
dGZvcm1DQUxheWVyPiA+IFBsYXRmb3JtQ0FMYXllckxpc3Q7CiAKIGNsYXNzIFBsYXRmb3JtQ0FM
YXllciA6IHB1YmxpYyBSZWZDb3VudGVkPFBsYXRmb3JtQ0FMYXllcj4gewogcHVibGljOgotICAg
IHN0YXRpYyBDRlRpbWVJbnRlcnZhbCBjdXJyZW50VGltZVRvTWVkaWFUaW1lKGRvdWJsZSB0KSB7
IHJldHVybiBDQUN1cnJlbnRNZWRpYVRpbWUoKSArIHQgLSBXVEY6OmN1cnJlbnRUaW1lKCk7IH0K
KyAgICBzdGF0aWMgQ0ZUaW1lSW50ZXJ2YWwgY3VycmVudFRpbWVUb01lZGlhVGltZShkb3VibGUg
dCkgeyByZXR1cm4gQ0FDdXJyZW50TWVkaWFUaW1lKCkgKyB0IC0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7IH0KIAogICAgIC8vIExheWVyVHlwZVJvb3RMYXllciBpcyB1c2VkIG9uIHNv
bWUgcGxhdGZvcm1zLiBJdCBoYXMgbm8gYmFja2luZyBzdG9yZSwgc28gc2V0TmVlZHNEaXNwbGF5
CiAgICAgLy8gc2hvdWxkIG5vdCBjYWxsIENBQ0ZMYXllclNldE5lZWRzRGlzcGxheSwgYnV0IHJh
dGhlciBqdXN0IG5vdGlmeSB0aGUgcmVuZGVyZXIgdGhhdCBpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVyUG9vbC5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9MYXllclBvb2wubW0KaW5kZXggMWUxMzQ1
Yjc1OWQ5YmM1ODEwZTI0MGFjMGU4OGRhMmJiMGFmMDhlNC4uNmZmMWVjODRjMjYyZmQzMGFiOTk3
NWEyNmM3MTMzMTdjNDRmNDJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvbWFjL0xheWVyUG9vbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9tYWMvTGF5ZXJQb29sLm1tCkBAIC03NSw3ICs3NSw3IEBAIHZvaWQgTGF5
ZXJQb29sOjphZGRMYXllcihjb25zdCBSZXRhaW5QdHI8V2ViVGlsZUxheWVyPiYgbGF5ZXIpCiAg
ICAgbGlzdE9mTGF5ZXJzV2l0aFNpemUobGF5ZXJTaXplKS5wcmVwZW5kKGxheWVyKTsKICAgICBt
X3RvdGFsQnl0ZXMgKz0gYmFja2luZ1N0b3JlQnl0ZXNGb3JTaXplKGxheWVyU2l6ZSk7CiAgICAg
Ci0gICAgbV9sYXN0QWRkVGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgbV9sYXN0QWRkVGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIHNjaGVkdWxlUHJ1bmUoKTsKIH0K
IApAQCAtOTMsNyArOTMsNyBAQCBSZXRhaW5QdHI8V2ViVGlsZUxheWVyPiBMYXllclBvb2w6OnRh
a2VMYXllcldpdGhTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiB1bnNpZ25lZCBMYXllclBvb2w6
OmRlY2F5ZWRDYXBhY2l0eSgpIGNvbnN0CiB7CiAgICAgLy8gRGVjYXkgdG8gb25lIHF1YXJ0ZXIg
b3ZlciBjYXBhY2l0eURlY2F5VGltZQotICAgIGRvdWJsZSB0aW1lU2luY2VMYXN0QWRkID0gY3Vy
cmVudFRpbWUoKSAtIG1fbGFzdEFkZFRpbWU7CisgICAgZG91YmxlIHRpbWVTaW5jZUxhc3RBZGQg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fbGFzdEFkZFRpbWU7CiAgICAgaWYg
KHRpbWVTaW5jZUxhc3RBZGQgPiBjYXBhY2l0eURlY2F5VGltZSkKICAgICAgICAgcmV0dXJuIG1f
bWF4Qnl0ZXNGb3JQb29sIC8gNDsKICAgICBmbG9hdCBkZWNheVByb2dlc3MgPSBmbG9hdCh0aW1l
U2luY2VMYXN0QWRkIC8gY2FwYWNpdHlEZWNheVRpbWUpOwpAQCAtMTI1LDcgKzEyNSw3IEBAIHZv
aWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoVGltZXI8TGF5ZXJQb29sPiopCiAgICAgICAg
IC8vIHN0aWxsIGhhdmUgYSBiYWNraW5nIHN0b3JlLgogICAgICAgICBvbGRlc3RSZXVzZUxpc3Qu
cmVtb3ZlKC0tb2xkZXN0UmV1c2VMaXN0LmVuZCgpKTsKICAgICB9Ci0gICAgaWYgKGN1cnJlbnRU
aW1lKCkgLSBtX2xhc3RBZGRUaW1lIDw9IGNhcGFjaXR5RGVjYXlUaW1lKQorICAgIGlmIChtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fbGFzdEFkZFRpbWUgPD0gY2FwYWNpdHlEZWNh
eVRpbWUpCiAgICAgICAgIHNjaGVkdWxlUHJ1bmUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJN
YWMubW0KaW5kZXggYjcwMDQ2MTNkYWU2ODMxMDY2NGM2YmY3MzQ1ZGI5NWMxZTA3OTVkMS4uZmJj
YWE3OWUxNDVmZTYxZWYzODEyNzY0MmE4ODNkZGJkMmNmNzI5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxh
eWVyTWFjLm1tCkBAIC02MSw3ICs2MSw3IEBAIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IFdLTm9u
WmVyb0JlZ2luVGltZUZsYWcgPSBAIldLUGxhdGZvcm1DQUFuaW1hdGlvbk5vblplcm9CCiAKIHN0
YXRpYyBkb3VibGUgbWVkaWFUaW1lVG9DdXJyZW50VGltZShDRlRpbWVJbnRlcnZhbCB0KQogewot
ICAgIHJldHVybiBXVEY6OmN1cnJlbnRUaW1lKCkgKyB0IC0gQ0FDdXJyZW50TWVkaWFUaW1lKCk7
CisgICAgcmV0dXJuIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgdCAtIENBQ3VycmVu
dE1lZGlhVGltZSgpOwogfQogCiAvLyBEZWxlZ2F0ZSBmb3IgYW5pbWF0aW9uRGlkU3RhcnQgY2Fs
bGJhY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dp
bi9DQUNGTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3BwCmluZGV4IDJlNGVjNWVkNmU1OWQ3MjAzNTMw
MjY1NmM1ZWY0NzQ0ODI2N2VmNGUuLjY3ZmFhMGFlODU1Yzc4NmE0ODc2NzZhMjI5NDFiOGZhY2I3
MWFkMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dp
bi9DQUNGTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmNwcApAQCAtMzA5LDcgKzMwOSw3IEBAIHZv
aWQgQ0FDRkxheWVyVHJlZUhvc3Q6Om5vdGlmeUFuaW1hdGlvbnNTdGFydGVkKCkKICAgICAvLyBT
ZW5kIGN1cnJlbnRUaW1lIHRvIHRoZSBwZW5kaW5nIGFuaW1hdGlvbnMuIFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGJ5IENBQ0YgaW4gYSBjYWxsYmFjawogICAgIC8vIHdoaWNoIG9jY3VycyBhZnRl
ciB0aGUgZHJhd0luQ29udGV4dCBjYWxscy4gU28gY3VycmVudFRpbWUgaXMgdmVyeSBjbG9zZSB0
byB0aGUgdGltZQogICAgIC8vIHRoZSBhbmltYXRpb25zIGFjdHVhbGx5IHN0YXJ0Ci0gICAgZG91
YmxlIGN1cnJlbnRUaW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBjdXJyZW50
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgSGFzaFNldDxSZWZQ
dHI8UGxhdGZvcm1DQUxheWVyPiA+OjppdGVyYXRvciBlbmQgPSBtX3BlbmRpbmdBbmltYXRlZExh
eWVycy5lbmQoKTsKICAgICBmb3IgKEhhc2hTZXQ8UmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gPjo6
aXRlcmF0b3IgaXQgPSBtX3BlbmRpbmdBbmltYXRlZExheWVycy5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93
aW4vUGxhdGZvcm1DQUxheWVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCmluZGV4IGY1YjdjNmZhMjMxZWI3ZDQw
YjA4ZTI1YmE3NWZiZDBjYzZjNzA5MDcuLjVmNzFkZGY0MTZmMTQ0OWIxNTU5NjBlMzgxYTE1NjYy
MGZlMDc2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwCkBAIC03NzEsNyArNzcxLDcg
QEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OnByaW50VHJlZSgpIGNvbnN0CiAgICAgLy8gUHJpbnQg
aGVhZGluZyBpbmZvCiAgICAgQ0dSZWN0IHJvb3RCb3VuZHMgPSBib3VuZHMoKTsKICAgICBmcHJp
bnRmKHN0ZGVyciwgIlxuXG4qKiBSZW5kZXIgdHJlZSBhdCB0aW1lICVnIChib3VuZHMgJWcsICVn
ICVneCVnKSAqKlxuXG4iLCAKLSAgICAgICAgY3VycmVudFRpbWUoKSwgcm9vdEJvdW5kcy5vcmln
aW4ueCwgcm9vdEJvdW5kcy5vcmlnaW4ueSwgcm9vdEJvdW5kcy5zaXplLndpZHRoLCByb290Qm91
bmRzLnNpemUuaGVpZ2h0KTsKKyAgICAgICAgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCks
IHJvb3RCb3VuZHMub3JpZ2luLngsIHJvb3RCb3VuZHMub3JpZ2luLnksIHJvb3RCb3VuZHMuc2l6
ZS53aWR0aCwgcm9vdEJvdW5kcy5zaXplLmhlaWdodCk7CiAKICAgICAvLyBQcmludCBsYXllciB0
cmVlIGZyb20gdGhlIHJvb3QKICAgICBwcmludExheWVyKHRoaXMsIDApOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0
dXJlTWFwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9H
cmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAKaW5kZXggZjEyODA3YmU2MzY2ZTY1ZDVmZmNj
ZDg3MmU5ZDM5N2QzOTNmYTA0YS4uYzk5YzgwODBkN2ZmMzI5MTI4ZTY3OTJhNzYwZWI2Mjk3OGE4
YzcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCkBAIC02
MzgsNyArNjM4LDcgQEAgYm9vbCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6YWRkQW5pbWF0
aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QKICAgICBpZiAodmFsdWVMaXN0
LnByb3BlcnR5KCkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkKICAgICAgICAg
bGlzdHNNYXRjaCA9IHZhbGlkYXRlVHJhbnNmb3JtT3BlcmF0aW9ucyh2YWx1ZUxpc3QsIGhhc0Jp
Z1JvdGF0aW9uKSA+PSAwOwogCi0gICAgY29uc3QgZG91YmxlIGN1cnJlbnRUaW1lID0gV1RGOjpj
dXJyZW50VGltZSgpOworICAgIGNvbnN0IGRvdWJsZSBjdXJyZW50VGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwogICAgIG1fYW5pbWF0aW9ucy5hZGQoR3JhcGhpY3NMYXllckFu
aW1hdGlvbihrZXlmcmFtZXNOYW1lLCB2YWx1ZUxpc3QsIGJveFNpemUsIGFuaW0sIGN1cnJlbnRU
aW1lIC0gdGltZU9mZnNldCwgbGlzdHNNYXRjaCkpOwogICAgIC8vIG1fYW5pbWF0aW9uU3RhcnRU
aW1lIGlzIHRoZSB0aW1lIG9mIHRoZSBmaXJzdCByZWFsIGZyYW1lIG9mIGFuaW1hdGlvbiwgbm93
IG9yIGRlbGF5ZWQgYnkgYSBuZWdhdGl2ZSBvZmZzZXQuCiAgICAgaWYgKHRpbWVPZmZzZXQgPiAw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKaW5kZXggMTcwNGY0NzdkMTg5
MmMxOTg5OTY1ZmI5YmZhZDAzZGFlY2Q3M2UyNS4uZDc0NDc3MDEwYTM4YjNiMTA4ZmRjOTc4OTZk
NjliMGM3Yzk3NTM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwCkBA
IC00Miw3ICs0Miw3IEBAIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjpUZXh0dXJlTWFwcGVyRlBT
Q291bnRlcigpCiAgICAgbV9mcHNJbnRlcnZhbCA9IHNob3dGUFNFbnZpcm9ubWVudC50b0RvdWJs
ZSgmb2spOwogICAgIGlmIChvayAmJiBtX2Zwc0ludGVydmFsKSB7CiAgICAgICAgIG1faXNTaG93
aW5nRlBTID0gdHJ1ZTsKLSAgICAgICAgbV9mcHNUaW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1l
KCk7CisgICAgICAgIG1fZnBzVGltZXN0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CiAgICAgfQogfQogCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckZQU0Nv
dW50ZXI6OnVwZGF0ZUZQU0FuZERpc3BsYXkoVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciwK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9mcmFtZUNvdW50Kys7Ci0gICAgZG91YmxlIGRlbHRh
ID0gV1RGOjpjdXJyZW50VGltZSgpIC0gbV9mcHNUaW1lc3RhbXA7CisgICAgZG91YmxlIGRlbHRh
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX2Zwc1RpbWVzdGFtcDsKICAgICBp
ZiAoZGVsdGEgPj0gbV9mcHNJbnRlcnZhbCkgewogICAgICAgICBtX2xhc3RGUFMgPSBpbnQobV9m
cmFtZUNvdW50IC8gZGVsdGEpOwogICAgICAgICBtX2ZyYW1lQ291bnQgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAppbmRl
eCA3ZTcwYmJiMGQ0YWNlNDQ4OTcxNmI0OGE4NmI0M2U5MzY5MjNlMjczLi43N2RjMGUxZTliNTBl
NjE2MTE1MjYxMGU0Yzg1ZDU3MDZiZDM1ZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcApAQCAtMTIxNiw3ICsxMjE2LDcg
QEAgYm9vbCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFkZEFuaW1hdGlvbihjb25zdCBLZXlm
cmFtZVZhbHVlTGlzdCYgdmFsdWVMaXN0LAogICAgIGlmICh2YWx1ZUxpc3QucHJvcGVydHkoKSA9
PSBBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtKQogICAgICAgICBsaXN0c01hdGNoID0g
dmFsaWRhdGVUcmFuc2Zvcm1PcGVyYXRpb25zKHZhbHVlTGlzdCwgaWdub3JlZEhhc0JpZ1JvdGF0
aW9uKSA+PSAwOwogCi0gICAgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lID0gV1RGOjpjdXJyZW50
VGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKKyAgICBtX2xhc3RBbmltYXRpb25T
dGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGRlbGF5QXNOZWdhdGl2
ZVRpbWVPZmZzZXQ7CiAgICAgbV9hbmltYXRpb25zLmFkZChHcmFwaGljc0xheWVyQW5pbWF0aW9u
KGtleWZyYW1lc05hbWUsIHZhbHVlTGlzdCwgYm94U2l6ZSwgYW5pbSwgbV9sYXN0QW5pbWF0aW9u
U3RhcnRUaW1lLCBsaXN0c01hdGNoKSk7CiAgICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIuc3Rh
cnRPbmVTaG90KDApOwogICAgIGRpZENoYW5nZUFuaW1hdGlvbnMoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCAwZWYy
MDQ5ZWU5OTM2ZjUwYzQ1M2ExYzNjOTRkYTAyMzRjNDU3ZDU5Li45OGE1ZWI3ZjUxZDQ1NjI2Nzdh
ZmJmOGE5YTQ3MzVlMzg3YzYyNGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC01OCw3ICs1OCw3IEBAIEROU1Jlc29s
dmVRdWV1ZTo6RE5TUmVzb2x2ZVF1ZXVlKCkKIAogYm9vbCBETlNSZXNvbHZlUXVldWU6OmlzVXNp
bmdQcm94eSgpCiB7Ci0gICAgZG91YmxlIHRpbWUgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJs
ZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBtaW5pbXVtUHJveHlDaGVja0RlbGF5ID0gNTsKICAgICBpZiAodGltZSAtIG1fbGFz
dFByb3h5RW5hYmxlZFN0YXR1c0NoZWNrVGltZSA+IG1pbmltdW1Qcm94eUNoZWNrRGVsYXkpIHsK
ICAgICAgICAgbV9sYXN0UHJveHlFbmFibGVkU3RhdHVzQ2hlY2tUaW1lID0gdGltZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJX
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luTWVzc2FnZVRocm90dGxl
cldpbi5jcHAKaW5kZXggYzVmMzA4MWMwZDY0N2NkMmMyNmM1OGRlZTMzOTFmODVlZTIyMTA5ZS4u
YjMyNzI4OTgwZWYwNjQ0MjE0ZjA3MWY5MjcyZjQyYmExOGM3YzMxOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5j
cHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjphcHBl
bmRNZXNzYWdlKEhXTkQgaFduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0KIAogICAgIC8vIElm
IGl0IGhhcyBiZWVuIG1vcmUgdGhhbiBNZXNzYWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsIGJl
dHdlZW4gdGhyb3R0bGVkIG1lc3NhZ2VzLAogICAgIC8vIGdvIGFoZWFkIGFuZCBwcm9jZXNzIGEg
bWVzc2FnZSBkaXJlY3RseS4KLSAgICBkb3VibGUgY3VycmVudFRpbWUgPSBXVEY6OmN1cnJlbnRU
aW1lKCk7CisgICAgZG91YmxlIGN1cnJlbnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CiAgICAgaWYgKGN1cnJlbnRUaW1lIC0gbV9sYXN0TWVzc2FnZVRpbWUgPiBNZXNzYWdl
RGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsKSB7CiAgICAgICAgIHByb2Nlc3NRdWV1ZWRNZXNzYWdl
KCk7CiAgICAgICAgIG1fbGFzdE1lc3NhZ2VUaW1lID0gY3VycmVudFRpbWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDgz
ZWRiZjllYWNmMTIzNjhhNjU3MTI0YzhkYWNmMDAyZmEyMDliNGEuLjRhYmE0Yjc0YTZkZGZkODNk
ZTQwYTc5ZmM4YzQzMWIwNWY1NmJkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC00MjQsNyArNDI0LDcgQEAgdm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmRpZFBhaW50QmFja2luZyhSZW5kZXJMYXllckJhY2tpbmcq
KQogewogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXco
KTsKICAgICAKLSAgICBmcmFtZVZpZXctPnNldExhc3RQYWludFRpbWUoY3VycmVudFRpbWUoKSk7
CisgICAgZnJhbWVWaWV3LT5zZXRMYXN0UGFpbnRUaW1lKG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpKTsKICAgICAKICAgICBpZiAoZnJhbWVWaWV3LT5taWxlc3RvbmVzUGVuZGluZ1BhaW50
KCkgJiYgIW1fcGFpbnRSZWxhdGVkTWlsZXN0b25lc1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IG1fcGFpbnRSZWxhdGVkTWlsZXN0b25lc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKQEAgLTU2Miw3
ICs1NjIsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdM
YXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQogICAgIGRvdWJsZSBzdGFydFRpbWUg
PSAwOwogICAgIGlmIChjb21wb3NpdGluZ0xvZ0VuYWJsZWQoKSkgewogICAgICAgICArK21fcm9v
dExheWVyVXBkYXRlQ291bnQ7Ci0gICAgICAgIHN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7Cisg
ICAgICAgIHN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIH0K
ICNlbmRpZgogCkBAIC02MTQsNyArNjE0LDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRlVHlwZSB1cGRhdGUKICAg
ICAKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgaWYgKGNvbXBvc2l0aW5nTG9nRW5hYmxlZCgpICYm
IGlzRnVsbFVwZGF0ZSAmJiAobmVlZEhpZXJhcmNoeVVwZGF0ZSB8fCBuZWVkR2VvbWV0cnlVcGRh
dGUpKSB7Ci0gICAgICAgIGRvdWJsZSBlbmRUaW1lID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAg
ZG91YmxlIGVuZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAgICAg
TE9HKENvbXBvc2l0aW5nLCAiVG90YWwgbGF5ZXJzICAgcHJpbWFyeSAgIHNlY29uZGFyeSAgIG9i
bGlnYXRvcnkgYmFja2luZyAoS0IpICAgc2Vjb25kYXJ5IGJhY2tpbmcoS0IpICAgdG90YWwgYmFj
a2luZyAoS0IpICB1cGRhdGUgdGltZSAobXMpXG4iKTsKIAogICAgICAgICBMT0coQ29tcG9zaXRp
bmcsICIlOGQgJTExZCAlOWQgJTIwLjJmICUyMi4yZiAlMjIuMmYgJTE4LjJmXG4iLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggYWQxYjMzOGFkMDMw
OGY5OTllNjI1Y2I0OTgwODQzMzY4ODM0ODk2Yi4uZGM4MTRhMDQyZmVhNDg0OWI2MWI0ZmEyOTg4
NWJjODcyOTA2MDJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jl
c3MuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIGJvb2wgUmVuZGVyUHJvZ3Jlc3M6OmNhbkJlUmVwbGFj
ZWRXaXRoSW5saW5lUnVuSW4oKSBjb25zdAogCiBkb3VibGUgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1h
dGlvblByb2dyZXNzKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9hbmltYXRpbmcgPyAoZm1vZCgo
Y3VycmVudFRpbWUoKSAtIG1fYW5pbWF0aW9uU3RhcnRUaW1lKSwgbV9hbmltYXRpb25EdXJhdGlv
bikgLyBtX2FuaW1hdGlvbkR1cmF0aW9uKSA6IDA7CisgICAgcmV0dXJuIG1fYW5pbWF0aW5nID8g
KGZtb2QoKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9hbmltYXRpb25TdGFydFRp
bWUpLCBtX2FuaW1hdGlvbkR1cmF0aW9uKSAvIG1fYW5pbWF0aW9uRHVyYXRpb24pIDogMDsKIH0K
IAogYm9vbCBSZW5kZXJQcm9ncmVzczo6aXNEZXRlcm1pbmF0ZSgpIGNvbnN0CkBAIC05NCw3ICs5
NCw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKIAogICAg
IG1fYW5pbWF0aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewotICAgICAg
ICBtX2FuaW1hdGlvblN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIG1fYW5pbWF0
aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1f
YW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpOwog
ICAgIH0gZWxzZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggZTYz
YmQ0ODEzMjdmMTkzM2MwMDU2YjE1YTU1MDk4NzJjZTNlODEzZC4uYzQ3OWJmM2UwMTM2NDE1NzIy
MmNmYzdjZDFkODZmMjZjYTM3NTQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCBTTUlMVGlt
ZSBTTUlMVGltZUNvbnRhaW5lcjo6ZWxhcHNlZCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2JlZ2lu
VGltZSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGN1cnJlbnRUaW1lKCkgLSBtX2Jl
Z2luVGltZSAtIG1fYWNjdW11bGF0ZWRQYXVzZVRpbWU7CisgICAgcmV0dXJuIG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpIC0gbV9iZWdpblRpbWUgLSBtX2FjY3VtdWxhdGVkUGF1c2VUaW1l
OwogfQogCiBib29sIFNNSUxUaW1lQ29udGFpbmVyOjppc0FjdGl2ZSgpIGNvbnN0CkBAIC0xMzEs
NyArMTMxLDcgQEAgYm9vbCBTTUlMVGltZUNvbnRhaW5lcjo6aXNTdGFydGVkKCkgY29uc3QKIHZv
aWQgU01JTFRpbWVDb250YWluZXI6OmJlZ2luKCkKIHsKICAgICBBU1NFUlQoIW1fYmVnaW5UaW1l
KTsKLSAgICBkb3VibGUgbm93ID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgbm93ID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAKICAgICAvLyBJZiAnbV9wcmVzZXRTdGFydFRp
bWUnIGlzIHNldCwgdGhlIHRpbWVsaW5lIHdhcyBtb2RpZmllZCB2aWEgc2V0RWxhcHNlZCgpIGJl
Zm9yZSB0aGUgZG9jdW1lbnQgYmVnYW4uCiAgICAgLy8gSW4gdGhpcyBjYXNlIHBhc3Mgb24gJ3Nl
ZWtUb1RpbWU9dHJ1ZScgdG8gdXBkYXRlQW5pbWF0aW9ucygpLgpAQCAtMTQ4LDcgKzE0OCw3IEBA
IHZvaWQgU01JTFRpbWVDb250YWluZXI6OmJlZ2luKCkKIHZvaWQgU01JTFRpbWVDb250YWluZXI6
OnBhdXNlKCkKIHsKICAgICBBU1NFUlQoIWlzUGF1c2VkKCkpOwotICAgIG1fcGF1c2VUaW1lID0g
Y3VycmVudFRpbWUoKTsKKyAgICBtX3BhdXNlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOwogCiAgICAgaWYgKG1fYmVnaW5UaW1lKQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsK
QEAgLTE1OSw3ICsxNTksNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpyZXN1bWUoKQogICAg
IEFTU0VSVChpc1BhdXNlZCgpKTsKIAogICAgIGlmIChtX2JlZ2luVGltZSkKLSAgICAgICAgbV9h
Y2N1bXVsYXRlZFBhdXNlVGltZSArPSBjdXJyZW50VGltZSgpIC0gbV9wYXVzZVRpbWU7CisgICAg
ICAgIG1fYWNjdW11bGF0ZWRQYXVzZVRpbWUgKz0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCkgLSBtX3BhdXNlVGltZTsKIAogICAgIG1fcGF1c2VUaW1lID0gMDsKICAgICBzdGFydFRpbWVy
KDApOwpAQCAtMTc2LDcgKzE3Niw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnNldEVsYXBz
ZWQoU01JTFRpbWUgdGltZSkKICAgICBpZiAobV9iZWdpblRpbWUpCiAgICAgICAgIG1fdGltZXIu
c3RvcCgpOwogCi0gICAgZG91YmxlIG5vdyA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIG5v
dyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIG1fYmVnaW5UaW1lID0gbm93
IC0gdGltZS52YWx1ZSgpOwogCiAgICAgbV9hY2N1bXVsYXRlZFBhdXNlVGltZSA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209105</attachid>
            <date>2013-08-19 12:10:57 -0700</date>
            <delta_ts>2013-08-23 12:47:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>39245</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiMGFjMjkxMWI3YWYyNGI4MDE5NDEx
NzQ0NmE5Zjg1MWVlYTY1YWMuLjY4YzcxNzdiMzZjYWIyYjE0ZWNjMjNlMDNiMWMzODk5MzZmNjI3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMTMtMDgtMTcgIEFydW5wcmFzYWQgUmFqa3VtYXIg
IDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEx
OTk1OD4gUmVwbGFjZSBjdXJyZW50VGltZSgpIHdpdGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCkgaW4gV2ViQ29yZQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0N1cnJlbnRUaW1lLmg6IEVkaXRlZCBjb21tZW50LgorCiAyMDEzLTA4
LTE2ICBBcnVucHJhc2FkIFJhamt1bWFyICA8YXJ1cmFqa3VAY2lzY28uY29tPgogCiAgICAgICAg
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xMTk3ODU+IFJlcGxhY2UgY3VycmVudFRpbWUoKSB3aXRo
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGluIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0
NWRhYzQ0NDUwYWQ0MzJkNjE5ZmRkODE4MjExNDBjM2E3ZmJiYmY0Li5hYmE0YmYzZDg5ZjhiMjc3
MDYzNzgxMGY4M2U1NDc0MjQzMGNlODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODYgQEAKKzIw
MTMtMDgtMTcgIEFydW5wcmFzYWQgUmFqa3VtYXIgIDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzExOTk1OD4gUmVwbGFjZSBjdXJyZW50VGltZSgp
IHdpdGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgaW4gV2ViQ29yZQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdURjo6Y3VycmVudFRpbWUo
KSBpcyBwcm9uZSB0byBOVFAgYW5kIG1hbnVhbCBhZGp1c3RtZW50cywgc28gdXNlCisgICAgICAg
IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgdG8gbWVhc3VyZSBlbGFwc2VkIHRp
bWUuCisKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZFBhZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUGFnZTo6Q2FjaGVkUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRQYWdl
OjpoYXNFeHBpcmVkKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjaGVja0ZvcllpZWxk
QmVmb3JlVG9rZW4pOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0
Q2FjaGVJdGVtOjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpDcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlSXRlbTo6YWxsb3dzUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzZXRTdGF0ZSk6Cisg
ICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
cm9ncmVzc1RyYWNrZXI6OmluY3JlbWVudFByb2dyZXNzKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NT
dHlsZVNoZWV0OjpyZXN0b3JlUGFyc2VkU3R5bGVTaGVldCk6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpkaWRE
cmF3KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lTGl2ZVJlc291cmNlc1RvU2l6ZSk6CisgICAgICAg
ICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25E
YXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpJY29u
RGF0YWJhc2U6OnN5bmNUaHJlYWRNYWluTG9vcCk6CisgICAgICAgIChXZWJDb3JlOjpJY29uRGF0
YWJhc2U6OnJlYWRGcm9tRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNl
Ojp3cml0ZVRvRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjpjbGVh
bnVwU3luY1RocmVhZCk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25CYXNlOjpmcmVlemVBdFRpbWUpOgorICAg
ICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRl
VGltZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQW5pbWF0aW9uOjpjb21wdXRl
VG90YWxSdW5uaW5nVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQW5pbWF0
aW9uOjpyZXN1bWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9j
Zi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBVkZXcmFwcGVyOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlUGl4ZWxCdWZmZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnN1c3BlbmRBbmltYXRpb25zKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6Y3VycmVudFRpbWVUb01lZGlhVGltZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVyUG9vbC5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkxheWVyUG9vbDo6YWRkTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpk
ZWNheWVkQ2FwYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpwcnVuZVRpbWVy
RmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5
ZXJNYWMubW06CisgICAgICAgIChtZWRpYVRpbWVUb0N1cnJlbnRUaW1lKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0FDRkxheWVyVHJlZUhvc3Q6Om5vdGlmeUFuaW1hdGlvbnNTdGFydGVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmNwcDoK
KyAgICAgICAgKFBsYXRmb3JtQ0FMYXllcjo6cHJpbnRUcmVlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OmFkZEFuaW1hdGlvbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjpUZXh0dXJl
TWFwcGVyRlBTQ291bnRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291
bnRlcjo6dXBkYXRlRlBTQW5kRGlzcGxheSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFkZEFuaW1hdGlvbik6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjppc1VzaW5nUHJveHkpOgorICAgICAgICAqIHBsdWdpbnMv
d2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1
Z2luTWVzc2FnZVRocm90dGxlcldpbjo6YXBwZW5kTWVzc2FnZSk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmRpZFBhaW50QmFja2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJv
Z3Jlc3M6OmFuaW1hdGlvblByb2dyZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dy
ZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlM
VGltZUNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6
ZWxhcHNlZCk6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6YmVnaW4pOgor
ICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OnBhdXNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U01J
TFRpbWVDb250YWluZXI6OnNldEVsYXBzZWQpOgorCiAyMDEzLTA4LTE2ICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMTk1
MzY+IFJlZmFjdG9yIGhpZ2hlc3RFZGl0YWJsZVJvb3QgdG8gYXZvaWQgYSByZWR1bmRhbnQgY2Fs
bCB0byByZW5kZXJlcklzRWRpdGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0N1cnJl
bnRUaW1lLmggYi9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5oCmluZGV4IDI0YjJhMzBiNGQ5
ZDkzM2QxNmQ0NzNmY2RmODYxMjBhODNiZmRjNWEuLjBkZmNmMGU1ZTNhYzAyMjAwNjEyMTFmM2E2
ZGQxMDY1OTlhNmIyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmgK
KysrIGIvU291cmNlL1dURi93dGYvQ3VycmVudFRpbWUuaApAQCAtNTIsNyArNTIsNyBAQCBpbmxp
bmUgZG91YmxlIGN1cnJlbnRUaW1lTVMoKQogLy8gUHJvdmlkZXMgYSBtb25vdG9uaWNhbGx5IGlu
Y3JlYXNpbmcgdGltZSBpbiBzZWNvbmRzIHNpbmNlIGFuIGFyYml0cmFyeSBwb2ludCBpbiB0aGUg
cGFzdC4KIC8vIE9uIHVuc3VwcG9ydGVkIHBsYXRmb3JtcywgdGhpcyBmdW5jdGlvbiBvbmx5IGd1
YXJhbnRlZXMgdGhlIHJlc3VsdCB3aWxsIGJlIG5vbi1kZWNyZWFzaW5nLgogLy8gUmVzdWx0IG9m
IHRoaXMgZnVuY3Rpb24gaW5jcmVhc2VzIG1vbm90b25pY2FsbHkgZXZlbiB3aGVuIGNsb2NrIHRp
bWUgZ29lcyBiYWNrIGR1ZSB0bwotLy8gRFNUIGNoYW5nZXMgb3IgTlRQIGFkanVzdG1lbnRzLCBz
byBpdCBiZXR0ZXIgc3VpdHMgZm9yIGVsYXBzZWQgdGltZSBtZWFzdXJlbWVudC4KKy8vIE5UUCBv
ciBtYW51YWwgYWRqdXN0bWVudHMgLCBzbyBpdCBpcyBiZXR0ZXIgc3VpdGVkIGZvciBlbGFwc2Vk
IHRpbWUgbWVhc3VyZW1lbnQuCiBXVEZfRVhQT1JUX1BSSVZBVEUgZG91YmxlIG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwogCiBpbmxpbmUgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZU1TKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCmluZGV4IGVmMmUy
OTQzYTRhZjlkNzJlMWRmMjMwZDc4N2YzMDJlNDY3NGNiZjEuLjAzZjBkOThhMWZmNzNjODY2ODk3
MTI5NDMwNzU4OGY3ZDViNDZjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
Q2FjaGVkUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNw
cApAQCAtNTEsNyArNTEsNyBAQCBQYXNzUmVmUHRyPENhY2hlZFBhZ2U+IENhY2hlZFBhZ2U6OmNy
ZWF0ZShQYWdlKiBwYWdlKQogfQogCiBDYWNoZWRQYWdlOjpDYWNoZWRQYWdlKFBhZ2UqIHBhZ2Up
Ci0gICAgOiBtX3RpbWVTdGFtcChjdXJyZW50VGltZSgpKQorICAgIDogbV90aW1lU3RhbXAobW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCiAgICAgLCBtX2V4cGlyYXRpb25UaW1lKG1fdGlt
ZVN0YW1wICsgcGFnZS0+c2V0dGluZ3MoKS5iYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsKCkpCiAgICAgLCBtX2NhY2hlZE1haW5GcmFtZShDYWNoZWRGcmFtZTo6Y3JlYXRlKHBhZ2Ut
Pm1haW5GcmFtZSgpKSkKICAgICAsIG1fbmVlZFN0eWxlUmVjYWxjRm9yVmlzaXRlZExpbmtzKGZh
bHNlKQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgQ2FjaGVkUGFnZTo6ZGVzdHJveSgpCiAKIGJv
b2wgQ2FjaGVkUGFnZTo6aGFzRXhwaXJlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGN1cnJlbnRU
aW1lKCkgPiBtX2V4cGlyYXRpb25UaW1lOworICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSA+IG1fZXhwaXJhdGlvblRpbWU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hl
ZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIu
aAppbmRleCAyY2E3MjIyNDAwNDIzN2E1MjIxZmUwMDkzZjE5NjFjZTJkNTYyZTk3Li5jMjE1Y2Iw
OGVhNWRiZWQwYTBiNmMxZGUyN2E4MjNlYTY3OTg1OTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC03MCw4ICs3MCw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNoZWNrRm9yWWllbGRCZWZvcmVUb2tlbihQdW1wU2Vzc2lvbiYgc2Vz
c2lvbikKICAgICB7CiAgICAgICAgIGlmIChzZXNzaW9uLnByb2Nlc3NlZFRva2VucyA+IG1fcGFy
c2VyQ2h1bmtTaXplIHx8IHNlc3Npb24uZGlkU2VlU2NyaXB0KSB7Ci0gICAgICAgICAgICAvLyBj
dXJyZW50VGltZSgpIGNhbiBiZSBleHBlbnNpdmUuICBCeSBkZWxheWluZywgd2UgYXZvaWRlZCBj
YWxsaW5nCi0gICAgICAgICAgICAvLyBjdXJyZW50VGltZSgpIHdoZW4gY29uc3RydWN0aW5nIG5v
bi15aWVsZGluZyBQdW1wU2Vzc2lvbnMuCisgICAgICAgICAgICAvLyBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSBjYW4gYmUgZXhwZW5zaXZlLiBCeSBkZWxheWluZywgd2UgYXZvaWRlZCBj
YWxsaW5nCisgICAgICAgICAgICAvLyBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB3aGVu
IGNvbnN0cnVjdGluZyBub24teWllbGRpbmcgUHVtcFNlc3Npb25zLgogICAgICAgICAgICAgaWYg
KCFzZXNzaW9uLnN0YXJ0VGltZSkKICAgICAgICAgICAgICAgICBzZXNzaW9uLnN0YXJ0VGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAKaW5kZXgg
OWQ1MWM4N2ZlNmM0ZTdkNDM5MzNlNDVlZWY3ZDVjMTliZDVlMjA4NC4uNGExN2RmZGRmZDFhNTk3
MzQ1Y2UyNGQxZmQwMGY5YWJiMjlhMWEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcApAQCAtMTA4LDcg
KzEwOCw3IEBAIGJvb2wgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNl
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlCiAgICAgfSBlbHNlCiAgICAgICAgIGV4
cGlyeURlbHRhID0gZGVmYXVsdFByZWZsaWdodENhY2hlVGltZW91dFNlY29uZHM7CiAKLSAgICBt
X2Fic29sdXRlRXhwaXJ5VGltZSA9IGN1cnJlbnRUaW1lKCkgKyBleHBpcnlEZWx0YTsKKyAgICBt
X2Fic29sdXRlRXhwaXJ5VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgZXhw
aXJ5RGVsdGE7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTEzNiw3ICsxMzYsNyBAQCBib29s
IENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxvd3NDcm9zc09yaWdpbkhl
YWRlcnMoY29uc3QgSFRUUEhlYQogYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
SXRlbTo6YWxsb3dzUmVxdWVzdChTdG9yZWRDcmVkZW50aWFscyBpbmNsdWRlQ3JlZGVudGlhbHMs
IGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBIVFRQSGVhZGVyTWFwJiByZXF1ZXN0SGVhZGVy
cykgY29uc3QKIHsKICAgICBTdHJpbmcgaWdub3JlZEV4cGxhbmF0aW9uOwotICAgIGlmIChtX2Fi
c29sdXRlRXhwaXJ5VGltZSA8IGN1cnJlbnRUaW1lKCkpCisgICAgaWYgKG1fYWJzb2x1dGVFeHBp
cnlUaW1lIDwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAoaW5jbHVkZUNyZWRlbnRpYWxzID09IEFsbG93U3RvcmVkQ3JlZGVudGlh
bHMgJiYgbV9jcmVkZW50aWFscyA9PSBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4
IDE5N2EzMDkzZmE5MTEwMTA2YzRhYzZlMTU2ZTA0NDk5MGMwZTBkYTMuLjhhNzFiZjExYWYyNzVk
MjFmMmEzMTI2MDc5YjViODdlYjFjOWI4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcApAQCAtMTY4NSw3ICsxNjg1LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0U3RhdGUo
RnJhbWVTdGF0ZSBuZXdTdGF0ZSkKICAgICAgICAgcHJvdmlzaW9uYWxMb2FkU3RhcnRlZCgpOwog
ICAgIGVsc2UgaWYgKG5ld1N0YXRlID09IEZyYW1lU3RhdGVDb21wbGV0ZSkgewogICAgICAgICBm
cmFtZUxvYWRDb21wbGV0ZWQoKTsKLSAgICAgICAgc3RvcmVkVGltZU9mTGFzdENvbXBsZXRlZExv
YWQgPSBjdXJyZW50VGltZSgpOworICAgICAgICBzdG9yZWRUaW1lT2ZMYXN0Q29tcGxldGVkTG9h
ZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBpZiAobV9kb2N1bWVu
dExvYWRlcikKICAgICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPnN0b3BSZWNvcmRpbmdSZXNw
b25zZXMoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3Bw
CmluZGV4IDJjODQyM2I3NjU4ZTEzZTY2N2YwMDM0OWFkMWU2ODQ5YjdiYTJiYWEuLjNiODU2OGU1
YTA3NjM5MDVhMGRjYjE5NjFkMDkyMmYxNzUxNzVmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBQcm9ncmVzc1Ry
YWNrZXI6OmluY3JlbWVudFByb2dyZXNzKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
Y2hhciosIGkKICAgICAKICAgICBtX3RvdGFsQnl0ZXNSZWNlaXZlZCArPSBieXRlc1JlY2VpdmVk
OwogICAgIAotICAgIGRvdWJsZSBub3cgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBub3cg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBkb3VibGUgbm90aWZpZWRQcm9n
cmVzc1RpbWVEZWx0YSA9IG5vdyAtIG1fbGFzdE5vdGlmaWVkUHJvZ3Jlc3NUaW1lOwogICAgIAog
ICAgIExPRyhQcm9ncmVzcywgIlByb2dyZXNzIGluY3JlbWVudGVkICglcCkgLSB2YWx1ZSAlZiwg
dHJhY2tlZCBmcmFtZXMgJWQiLCB0aGlzLCBtX3Byb2dyZXNzVmFsdWUsIG1fbnVtUHJvZ3Jlc3NU
cmFja2VkRnJhbWVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRDU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRDU1NTdHlsZVNoZWV0LmNwcAppbmRleCA0MzY3NzdlNjk5NGU1MjI0N2FlNmZkZjAyZmNjYjUx
MTA1YWJmMzMyLi42OTNhYjAwODU4Zjk4ODBiODE3MTAwYmU2ZjFkN2E1OTk1YTlkNzFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQu
Y3BwCkBAIC0xNzMsNyArMTczLDcgQEAgUGFzc1JlZlB0cjxTdHlsZVNoZWV0Q29udGVudHM+IENh
Y2hlZENTU1N0eWxlU2hlZXQ6OnJlc3RvcmVQYXJzZWRTdHlsZVNoZWV0KGNvbnMKICAgICBpZiAo
bV9wYXJzZWRTdHlsZVNoZWV0Q2FjaGUtPnBhcnNlckNvbnRleHQoKSAhPSBjb250ZXh0KQogICAg
ICAgICByZXR1cm4gMDsKIAotICAgIGRpZEFjY2Vzc0RlY29kZWREYXRhKGN1cnJlbnRUaW1lKCkp
OworICAgIGRpZEFjY2Vzc0RlY29kZWREYXRhKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
KTsKIAogICAgIHJldHVybiBtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDc3MTU4ZmVlZTNiNTUzZTJl
ZWQ3M2VmZGM2NmM1MThmNjIxMDg3NzIuLmJhNWE5MjUyNzA5ZTQ4YTg4MTRkOWY1ZTE1Y2NlZjY5
M2E0OGFlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNw
cApAQCAtNDcyLDcgKzQ3Miw3IEBAIHZvaWQgQ2FjaGVkSW1hZ2U6OmRpZERyYXcoY29uc3QgSW1h
Z2UqIGltYWdlKQogICAgIAogICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBGcmFtZVZpZXc6OmN1cnJl
bnRQYWludFRpbWVTdGFtcCgpOwogICAgIGlmICghdGltZVN0YW1wKSAvLyBJZiBkaWREcmF3IGlz
IGNhbGxlZCBvdXRzaWRlIG9mIGEgRnJhbWUgcGFpbnQuCi0gICAgICAgIHRpbWVTdGFtcCA9IGN1
cnJlbnRUaW1lKCk7CisgICAgICAgIHRpbWVTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOwogICAgIAogICAgIENhY2hlZFJlc291cmNlOjpkaWRBY2Nlc3NEZWNvZGVkRGF0YSh0
aW1lU3RhbXApOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5j
cHAKaW5kZXggMjkyZmEyZjk0OWIwYjFjNTNjYTc1NjliN2JhY2IzMjBjYWUwODY4ZS4uYjY3MjMz
ODZhMjE4YjE5MzhjNzk2NTM3MGJmZWQ0NTEzOGE3NzM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBNZW1v
cnlDYWNoZTo6cHJ1bmVMaXZlUmVzb3VyY2VzVG9TaXplKHVuc2lnbmVkIHRhcmdldFNpemUpCiAK
ICAgICBkb3VibGUgY3VycmVudFRpbWUgPSBGcmFtZVZpZXc6OmN1cnJlbnRQYWludFRpbWVTdGFt
cCgpOwogICAgIGlmICghY3VycmVudFRpbWUpIC8vIEluIGNhc2UgcHJ1bmUgaXMgY2FsbGVkIGRp
cmVjdGx5LCBvdXRzaWRlIG9mIGEgRnJhbWUgcGFpbnQuCi0gICAgICAgIGN1cnJlbnRUaW1lID0g
V1RGOjpjdXJyZW50VGltZSgpOworICAgICAgICBjdXJyZW50VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogICAgIAogICAgIC8vIERlc3Ryb3kgYW55IGRlY29kZWQgZGF0YSBp
biBsaXZlIG9iamVjdHMgdGhhdCB3ZSBjYW4uCiAgICAgLy8gU3RhcnQgZnJvbSB0aGUgdGFpbCwg
c2luY2UgdGhpcyBpcyB0aGUgbGVhc3QgcmVjZW50bHkgYWNjZXNzZWQgb2YgdGhlIG9iamVjdHMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCAwYWNh
MDQ1MWRlZjc3ODE3ZjhiNzA1MmNkNDBiN2RiMzYzZDQ2ZTAzLi5lMDVlYmRlYjQ4YzVlODNmYzhm
YWZiM2ZkMTZlYTA1MjhmMjE5NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5jcHAKQEAgLTk4OSw3ICs5ODksNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNv
bkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIElj
b25EYXRhYmFzZSBzeW5jIHRocmVhZCBzdGFydGVkIik7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0g
ICAgZG91YmxlIHN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHN0YXJ0VGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKICAgICAvLyBOZWVk
IHRvIGNyZWF0ZSB0aGUgZGF0YWJhc2UgcGF0aCBpZiBpdCBkb2Vzbid0IGFscmVhZHkgZXhpc3QK
QEAgLTEwMTcsNyArMTAxNyw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5j
VGhyZWFkKCkKICAgICB9CiAgICAgICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUg
dGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZVN0YW1wID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQp
IE9wZW4gdG9vayAlLjRmIHNlY29uZHMiLCB0aW1lU3RhbXAgLSBzdGFydFRpbWUpOwogI2VuZGlm
ICAgIAogCkBAIC0xMDI4LDEzICsxMDI4LDEzIEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0
YWJhc2VTeW5jVGhyZWFkKCkKICAgICB9CiAgICAgICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAg
ICBkb3VibGUgbmV3U3RhbXAgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBuZXdTdGFtcCA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIExPRyhJY29uRGF0YWJhc2UsICIo
VEhSRUFEKSBwZXJmb3JtT3BlbkluaXRpYWxpemF0aW9uKCkgdG9vayAlLjRmIHNlY29uZHMsIG5v
dyAlLjRmIHNlY29uZHMgZnJvbSB0aHJlYWQgc3RhcnQiLCBuZXdTdGFtcCAtIHRpbWVTdGFtcCwg
bmV3U3RhbXAgLSBzdGFydFRpbWUpOwogICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwogI2VuZGlm
IAogICAgICAgICAKICAgICAvLyBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHNpbXVs
YXRlIGEgbG9uZyBsYXN0aW5nIFVSTCBpbXBvcnQgKCpIVUdFKiBpY29uIGRhdGFiYXNlcywgb3Ig
bmV0d29yayBob21lIGRpcmVjdG9yaWVzKQotICAgIC8vIHdoaWxlIChjdXJyZW50VGltZSgpIC0g
dGltZVN0YW1wIDwgMTApOworICAgIC8vIHdoaWxlIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIHRpbWVTdGFtcCA8IDEwKTsKIAogICAgIC8vIFJlYWQgaW4gVVJMIG1hcHBpbmdzIGZy
b20gdGhlIGRhdGFiYXNlICAgICAgICAgIAogICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFE
KSBTdGFydGluZyBpY29uVVJMIGltcG9ydCIpOwpAQCAtMTA0Niw3ICsxMDQ2LDcgQEAgdm9pZCBJ
Y29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgIH0KIAogI2lmICFMT0df
RElTQUJMRUQKLSAgICBuZXdTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgbmV3U3RhbXAgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRI
UkVBRCkgcGVyZm9ybVVSTEltcG9ydCgpIHRvb2sgJS40ZiBzZWNvbmRzLiAgRW50ZXJpbmcgbWFp
biBsb29wICUuNGYgc2Vjb25kcyBmcm9tIHRocmVhZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0
YW1wLCBuZXdTdGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgCiAKQEAgLTEzNzQsNyArMTM3NCw3
IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICBtX3N5
bmNMb2NrLnVubG9jaygpOwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgICAgICBkb3VibGUgdGlt
ZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgZG91YmxlIHRpbWVTdGFtcCA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAgICAgICAgIExPRyhJY29uRGF0YWJh
c2UsICIoVEhSRUFEKSBNYWluIHdvcmsgbG9vcCBzdGFydGluZyIpOwogCkBAIC0xNDEyLDEzICsx
NDEyLDEzIEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAg
ICAgICAgc3RhdGljIGJvb2wgcHJ1bmVkVW5yZXRhaW5lZEljb25zID0gZmFsc2U7CiAgICAgICAg
ICAgICBpZiAoZGlkV3JpdGUgJiYgIW1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCAmJiAhcHJ1bmVk
VW5yZXRhaW5lZEljb25zICYmICFkYXRhYmFzZUNsZWFudXBDb3VudGVyKSB7CiAjaWYgIUxPR19E
SVNBQkxFRAotICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lID0gY3VycmVudFRpbWUoKTsKKyAg
ICAgICAgICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwogI2VuZGlmCiAgICAgICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIFN0
YXJ0aW5nIHBydW5lVW5yZXRhaW5lZEljb25zKCkiKTsKICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICBwcnVuZVVucmV0YWluZWRJY29ucygpOwogICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBwcnVuZVVucmV0YWluZWRJ
Y29ucygpIHRvb2sgJS40ZiBzZWNvbmRzIiwgY3VycmVudFRpbWUoKSAtIHRpbWUpOworICAgICAg
ICAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBwcnVuZVVucmV0YWluZWRJY29u
cygpIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0
aW1lKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAvLyBJZiBwcnVuZVVucmV0
YWluZWRJY29ucygpIHJldHVybmVkIGVhcmx5IGR1ZSB0byByZXF1ZXN0ZWQgdGhyZWFkIHRlcm1p
bmF0aW9uLCBpdHMgc3RpbGwgb2theQogICAgICAgICAgICAgICAgIC8vIHRvIG1hcmsgcHJ1bmVk
VW5yZXRhaW5lZEljb25zIHRydWUgYmVjYXVzZSB3ZSdyZSBhYm91dCB0byB0ZXJtaW5hdGUgYW55
d2F5CkBAIC0xNDMxLDcgKzE0MzEsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1h
aW5Mb29wKCkKICAgICAgICAgfQogICAgICAgICAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgICAg
IGRvdWJsZSBuZXdzdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIGRvdWJsZSBuZXdzdGFt
cCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBMT0coSWNvbkRhdGFi
YXNlLCAiKFRIUkVBRCkgTWFpbiB3b3JrIGxvb3AgcmFuIGZvciAlLjRmIHNlY29uZHMsICVzIHJl
cXVlc3RlZCB0byB0ZXJtaW5hdGUiLCBuZXdzdGFtcCAtIHRpbWVTdGFtcCwgc2hvdWxkU3RvcFRo
cmVhZEFjdGl2aXR5KCkgPyAid2FzIiA6ICJ3YXMgbm90Iik7CiAjZW5kaWYKICAgICAgICAgICAg
ICAgICAgICAgCkBAIC0xNTEzLDcgKzE1MTMsNyBAQCBib29sIEljb25EYXRhYmFzZTo6cmVhZEZy
b21EYXRhYmFzZSgpCiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKICAgICAKICNpZiAh
TE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAg
ZG91YmxlIHRpbWVTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlm
CiAKICAgICBib29sIGRpZEFueVdvcmsgPSBmYWxzZTsKQEAgLTE2MDcsNyArMTYwNyw3IEBAIGJv
b2wgSWNvbkRhdGFiYXNlOjpyZWFkRnJvbURhdGFiYXNlKCkKICAgICAgICAgICAgIHJldHVybiBk
aWRBbnlXb3JrOwogICAgIH0KIAotICAgIExPRyhJY29uRGF0YWJhc2UsICJSZWFkaW5nIGZyb20g
ZGF0YWJhc2UgdG9vayAlLjRmIHNlY29uZHMiLCBjdXJyZW50VGltZSgpIC0gdGltZVN0YW1wKTsK
KyAgICBMT0coSWNvbkRhdGFiYXNlLCAiUmVhZGluZyBmcm9tIGRhdGFiYXNlIHRvb2sgJS40ZiBz
ZWNvbmRzIiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogCiAg
ICAgcmV0dXJuIGRpZEFueVdvcms7CiB9CkBAIC0xNjE3LDcgKzE2MTcsNyBAQCBib29sIEljb25E
YXRhYmFzZTo6d3JpdGVUb0RhdGFiYXNlKCkKICAgICBBU1NFUlRfSUNPTl9TWU5DX1RIUkVBRCgp
OwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBjdXJyZW50VGlt
ZSgpOworICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKICNlbmRpZgogCiAgICAgYm9vbCBkaWRBbnlXb3JrID0gZmFsc2U7CkBAIC0xNjY3LDcgKzE2
NjcsNyBAQCBib29sIEljb25EYXRhYmFzZTo6d3JpdGVUb0RhdGFiYXNlKCkKICAgICBpZiAoZGlk
QW55V29yaykKICAgICAgICAgY2hlY2tGb3JEYW5nbGluZ1BhZ2VVUkxzKGZhbHNlKTsKIAotICAg
IExPRyhJY29uRGF0YWJhc2UsICJVcGRhdGluZyB0aGUgZGF0YWJhc2UgdG9vayAlLjRmIHNlY29u
ZHMiLCBjdXJyZW50VGltZSgpIC0gdGltZVN0YW1wKTsKKyAgICBMT0coSWNvbkRhdGFiYXNlLCAi
VXBkYXRpbmcgdGhlIGRhdGFiYXNlIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogCiAgICAgcmV0dXJuIGRpZEFueVdvcms7CiB9
CkBAIC0xODIyLDcgKzE4MjIsNyBAQCB2b2lkKiBJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhy
ZWFkKCkKICAgICBBU1NFUlRfSUNPTl9TWU5DX1RIUkVBRCgpOwogICAgIAogI2lmICFMT0dfRElT
QUJMRUQKLSAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUg
dGltZVN0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYgCiAKICAg
ICAvLyBJZiB0aGUgcmVtb3ZlSWNvbnMgZmxhZyBpcyBzZXQsIHJlbW92ZSBhbGwgaWNvbnMgZnJv
bSB0aGUgZGIuCkBAIC0xODQyLDcgKzE4NDIsNyBAQCB2b2lkKiBJY29uRGF0YWJhc2U6OmNsZWFu
dXBTeW5jVGhyZWFkKCkKICAgICBtX3N5bmNEQi5jbG9zZSgpOwogICAgIAogI2lmICFMT0dfRElT
QUJMRUQKLSAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgRmluYWwgY2xvc3VyZSB0b29r
ICUuNGYgc2Vjb25kcyIsIGN1cnJlbnRUaW1lKCkgLSB0aW1lU3RhbXApOworICAgIExPRyhJY29u
RGF0YWJhc2UsICIoVEhSRUFEKSBGaW5hbCBjbG9zdXJlIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogI2VuZGlmCiAgICAgCiAg
ICAgbV9zeW5jVGhyZWFkUnVubmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAppbmRleCA4ZGE2NzhiNDkyYTYwMDRhZjQxOWI3
Y2U0OWFhMTMzOTRjOWMxZTc0Li45MzE4NGJmMzIyMjk0Yjc0MjY5ZTk4ODg1MWE5MjQyNjhlYjU4
MWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25C
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNl
LmNwcApAQCAtNjUwLDcgKzY1MCw3IEBAIHZvaWQgQW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1l
KGRvdWJsZSB0KQogICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IHN0YXJ0ZWQgeWV0LCBtYWtlIGl0
IGFzIGlmIHdlIHN0YXJ0ZWQuCiAgICAgICAgIExPRyhBbmltYXRpb25zLCAiJXAgQW5pbWF0aW9u
U3RhdGUgJXMgLT4gU3RhcnRXYWl0UmVzcG9uc2UiLCB0aGlzLCBuYW1lRm9yU3RhdGUobV9hbmlt
U3RhdGUpKTsKICAgICAgICAgbV9hbmltU3RhdGUgPSBBbmltYXRpb25TdGF0ZVN0YXJ0V2FpdFJl
c3BvbnNlOwotICAgICAgICBvbkFuaW1hdGlvblN0YXJ0UmVzcG9uc2UoY3VycmVudFRpbWUoKSk7
CisgICAgICAgIG9uQW5pbWF0aW9uU3RhcnRSZXNwb25zZShtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSk7CiAgICAgfQogCiAgICAgQVNTRVJUKG1fc3RhcnRUaW1lKTsgICAgICAgIC8vIGlm
IG1fc3RhcnRUaW1lIGlzIHplcm8sIHdlIGhhdmVuJ3Qgc3RhcnRlZCB5ZXQsIHNvIHdlJ2xsIGdl
dCBhIGJhZCBwYXVzZSB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA1MjBhMzk2ZWQyMTEwYWQ3MDUzMTZm
NWYxNGM4ODkyOWU1MzRhZjM5Li5hYzZiYjk0YTMxOTFiZTdhMzdmM2M1NDVlYzMzZGUzMjIyMGEw
YjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25Db250cm9sbGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIGJvb2wgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJPYmplY3QqIHJlbmRlcmVy
LCBjCiBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZSgpCiB7CiAgICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGNCZWdp
bkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCi0gICAgICAgIG1fYmVnaW5BbmltYXRpb25VcGRh
dGVUaW1lID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICByZXR1cm4gbV9iZWdpbkFu
aW1hdGlvblVwZGF0ZVRpbWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKaW5kZXggMjA2ZDcw
N2IzYWQxNTAxYWU1MWIzMWQ1NjI0ODBkYmE2MmUwNWZlZS4uMDkzYmYxNjgwMTA2MzViNjEwY2Q2
ODY3OTJjNWI3ZWM3N2FlOTg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKQEAgLTMyMyw3ICsz
MjMsNyBAQCBkb3VibGUgR3JhcGhpY3NMYXllckFuaW1hdGlvbjo6Y29tcHV0ZVRvdGFsUnVubmlu
Z1RpbWUoKQogICAgICAgICByZXR1cm4gbV9wYXVzZVRpbWU7CiAKICAgICBkb3VibGUgb2xkTGFz
dFJlZnJlc2hlZFRpbWUgPSBtX2xhc3RSZWZyZXNoZWRUaW1lOwotICAgIG1fbGFzdFJlZnJlc2hl
ZFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisgICAgbV9sYXN0UmVmcmVzaGVkVGltZSA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIG1fdG90YWxSdW5uaW5nVGltZSArPSBt
X2xhc3RSZWZyZXNoZWRUaW1lIC0gb2xkTGFzdFJlZnJlc2hlZFRpbWU7CiAgICAgcmV0dXJuIG1f
dG90YWxSdW5uaW5nVGltZTsKIH0KQEAgLTMzOCw3ICszMzgsNyBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXJBbmltYXRpb246OnJlc3VtZSgpCiB7CiAgICAgc2V0U3RhdGUoUGxheWluZ1N0YXRlKTsKICAg
ICBtX3RvdGFsUnVubmluZ1RpbWUgPSBtX3BhdXNlVGltZTsKLSAgICBtX2xhc3RSZWZyZXNoZWRU
aW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIG1fbGFzdFJlZnJlc2hlZFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQW5pbWF0
aW9uczo6YWRkKGNvbnN0IEdyYXBoaWNzTGF5ZXJBbmltYXRpb24mIGFuaW1hdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uQ0YuY3BwCmluZGV4IDM2YTFjNmQ0YTY3ZGY1YTgwNzg1M2QxZGM1OTBmMDNkNjZmNDhiMDcu
LjJlOGZiNDQ5ZmQwNDQ0OWYyNWQ4MjY3N2UyM2IzZWQ4NDYxM2U4YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNG
LmNwcApAQCAtMTYyMiwxNCArMTYyMiwxNCBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gQVZGV3Jh
cHBlcjo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZsb2F0IHRpbWUsIGNvbnN0IEludAogICAg
ICAgICByZXR1cm4gMDsKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgc3RhcnQgPSBX
VEY6OmN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHN0YXJ0ID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CiAjZW5kaWYKIAogICAgIEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yU2V0TWF4
aW11bVNpemUobV9pbWFnZUdlbmVyYXRvci5nZXQoKSwgQ0dTaXplKHJlY3Quc2l6ZSgpKSk7CiAg
ICAgQ0dJbWFnZVJlZiBpbWFnZSA9IEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yQ29weUNHSW1hZ2VB
dFRpbWUobV9pbWFnZUdlbmVyYXRvci5nZXQoKSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUs
IDYwMCksIDAsIDApOwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlvbiA9
IFdURjo6Y3VycmVudFRpbWUoKSAtIHN0YXJ0OworICAgIGRvdWJsZSBkdXJhdGlvbiA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAiQVZGV3Jh
cHBlcjo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KCVwKSAtIGNyZWF0aW5nIGltYWdlIHRvb2sg
JS40ZiIsIHRoaXMsIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoZHVyYXRpb24pKTsKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCAxNjE1MzQwZWVjMTE1MmMzMzY2NjM5YjQxZmNj
NWI0ZTg1ZGU5ZTJjLi41MDI0NjI5ZGZkY2YzNzRkZjFhYTNlMWE3MGI5MmZlYWM3NjI4MTRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTg1MCwxNCArODUwLDE0IEBAIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVJbWFn
ZUZvclRpbWVJblJlCiAgICAgQVNTRVJUKG1faW1hZ2VHZW5lcmF0b3IpOwogCiAjaWYgIUxPR19E
SVNBQkxFRAotICAgIGRvdWJsZSBzdGFydCA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBkb3Vi
bGUgc3RhcnQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogCiAgICAg
W21faW1hZ2VHZW5lcmF0b3IuZ2V0KCkgc2V0TWF4aW11bVNpemU6Q0dTaXplKHJlY3Quc2l6ZSgp
KV07CiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlID0gYWRvcHRDRihbbV9pbWFnZUdl
bmVyYXRvci5nZXQoKSBjb3B5Q0dJbWFnZUF0VGltZTpDTVRpbWVNYWtlV2l0aFNlY29uZHModGlt
ZSwgNjAwKSBhY3R1YWxUaW1lOm5pbCBlcnJvcjpuaWxdKTsKIAogI2lmICFMT0dfRElTQUJMRUQK
LSAgICBkb3VibGUgZHVyYXRpb24gPSBXVEY6OmN1cnJlbnRUaW1lKCkgLSBzdGFydDsKKyAgICBk
b3VibGUgZHVyYXRpb24gPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHN0YXJ0Owog
ICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0
ZUltYWdlRm9yVGltZUluUmVjdCglcCkgLSBjcmVhdGluZyBpbWFnZSB0b29rICUuNGYiLCB0aGlz
LCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9uKSk7CiAjZW5kaWYKIApAQCAtMTEzNSw3
ICsxMTM1LDcgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBpeGVsQnVmZmUKICAgICBBU1NFUlQobV92aWRlb091
dHB1dCk7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHN0YXJ0ID0gV1RGOjpjdXJy
ZW50VGltZSgpOworICAgIGRvdWJsZSBzdGFydCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogI2VuZGlmCiAKICAgICBDTVRpbWUgY3VycmVudFRpbWUgPSBbbV9hdlBsYXllckl0ZW0u
Z2V0KCkgY3VycmVudFRpbWVdOwpAQCAtMTE2Miw3ICsxMTYyLDcgQEAgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBp
eGVsQnVmZmUKICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IFdURjo6Y3VycmVudFRpbWUoKSAtIHN0YXJ0OworICAgIGRvdWJsZSBkdXJhdGlvbiA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAiTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlUGl4ZWxCdWZmZXIoKSAtIGNy
ZWF0aW5nIGJ1ZmZlciB0b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1
cmF0aW9uKSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKaW5kZXggMjdhNjVjOGUxNGVjNjBiZTRh
YWQxYzgyODJmNmRiNzRiMTYzM2JlNC4uNWQ0Mjc0ZjA2MmRlNmI2MDlkYWEwMGNmZTQ0ODNkOGMw
Njg2MmU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0yNTI2LDcgKzI1MjYsNyBAQCBib29sIEdyYXBo
aWNzTGF5ZXJDQTo6c2V0RmlsdGVyQW5pbWF0aW9uS2V5ZnJhbWVzKGNvbnN0IEtleWZyYW1lVmFs
dWVMaXN0JiB2YWx1ZQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c3VzcGVuZEFuaW1hdGlvbnMo
ZG91YmxlIHRpbWUpCiB7Ci0gICAgZG91YmxlIHQgPSBQbGF0Zm9ybUNBTGF5ZXI6OmN1cnJlbnRU
aW1lVG9NZWRpYVRpbWUodGltZSA/IHRpbWUgOiBjdXJyZW50VGltZSgpKTsKKyAgICBkb3VibGUg
dCA9IFBsYXRmb3JtQ0FMYXllcjo6Y3VycmVudFRpbWVUb01lZGlhVGltZSh0aW1lID8gdGltZSA6
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKICAgICBwcmltYXJ5TGF5ZXIoKS0+c2V0
U3BlZWQoMCk7CiAgICAgcHJpbWFyeUxheWVyKCktPnNldFRpbWVPZmZzZXQodCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVy
LmgKaW5kZXggY2M5NjA5NGNmYjYwZDk1MzJmNWE0YWZlYjY0YzliYzRhNGFlYzQzMC4uNjk4ODM1
ZTA5MjZmYzQ1MTJiZWQ5ZWM5ZGQxZmZjOTFiODM3ZGU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTUxLDcg
KzUxLDcgQEAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gPiBQbGF0Zm9y
bUNBTGF5ZXJMaXN0OwogCiBjbGFzcyBQbGF0Zm9ybUNBTGF5ZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQbGF0Zm9ybUNBTGF5ZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgQ0ZUaW1lSW50ZXJ2YWwg
Y3VycmVudFRpbWVUb01lZGlhVGltZShkb3VibGUgdCkgeyByZXR1cm4gQ0FDdXJyZW50TWVkaWFU
aW1lKCkgKyB0IC0gV1RGOjpjdXJyZW50VGltZSgpOyB9CisgICAgc3RhdGljIENGVGltZUludGVy
dmFsIGN1cnJlbnRUaW1lVG9NZWRpYVRpbWUoZG91YmxlIHQpIHsgcmV0dXJuIENBQ3VycmVudE1l
ZGlhVGltZSgpICsgdCAtIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOyB9CiAKICAgICAv
LyBMYXllclR5cGVSb290TGF5ZXIgaXMgdXNlZCBvbiBzb21lIHBsYXRmb3Jtcy4gSXQgaGFzIG5v
IGJhY2tpbmcgc3RvcmUsIHNvIHNldE5lZWRzRGlzcGxheQogICAgIC8vIHNob3VsZCBub3QgY2Fs
bCBDQUNGTGF5ZXJTZXROZWVkc0Rpc3BsYXksIGJ1dCByYXRoZXIganVzdCBub3RpZnkgdGhlIHJl
bmRlcmVyIHRoYXQgaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9MYXllclBvb2wubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvTGF5ZXJQb29sLm1tCmluZGV4IDFlMTM0NWI3NTlkOWJjNTgxMGUyNDBhYzBlODhk
YTJiYjBhZjA4ZTQuLjZmZjFlYzg0YzI2MmZkMzBhYjk5NzVhMjZjNzEzMzE3YzQ0ZjQyZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9MYXllclBv
b2wubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVy
UG9vbC5tbQpAQCAtNzUsNyArNzUsNyBAQCB2b2lkIExheWVyUG9vbDo6YWRkTGF5ZXIoY29uc3Qg
UmV0YWluUHRyPFdlYlRpbGVMYXllcj4mIGxheWVyKQogICAgIGxpc3RPZkxheWVyc1dpdGhTaXpl
KGxheWVyU2l6ZSkucHJlcGVuZChsYXllcik7CiAgICAgbV90b3RhbEJ5dGVzICs9IGJhY2tpbmdT
dG9yZUJ5dGVzRm9yU2l6ZShsYXllclNpemUpOwogICAgIAotICAgIG1fbGFzdEFkZFRpbWUgPSBj
dXJyZW50VGltZSgpOworICAgIG1fbGFzdEFkZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKICAgICBzY2hlZHVsZVBydW5lKCk7CiB9CiAKQEAgLTkzLDcgKzkzLDcgQEAgUmV0
YWluUHRyPFdlYlRpbGVMYXllcj4gTGF5ZXJQb29sOjp0YWtlTGF5ZXJXaXRoU2l6ZShjb25zdCBJ
bnRTaXplJiBzaXplKQogdW5zaWduZWQgTGF5ZXJQb29sOjpkZWNheWVkQ2FwYWNpdHkoKSBjb25z
dAogewogICAgIC8vIERlY2F5IHRvIG9uZSBxdWFydGVyIG92ZXIgY2FwYWNpdHlEZWNheVRpbWUK
LSAgICBkb3VibGUgdGltZVNpbmNlTGFzdEFkZCA9IGN1cnJlbnRUaW1lKCkgLSBtX2xhc3RBZGRU
aW1lOworICAgIGRvdWJsZSB0aW1lU2luY2VMYXN0QWRkID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBtX2xhc3RBZGRUaW1lOwogICAgIGlmICh0aW1lU2luY2VMYXN0QWRkID4gY2Fw
YWNpdHlEZWNheVRpbWUpCiAgICAgICAgIHJldHVybiBtX21heEJ5dGVzRm9yUG9vbCAvIDQ7CiAg
ICAgZmxvYXQgZGVjYXlQcm9nZXNzID0gZmxvYXQodGltZVNpbmNlTGFzdEFkZCAvIGNhcGFjaXR5
RGVjYXlUaW1lKTsKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1l
ckZpcmVkKFRpbWVyPExheWVyUG9vbD4qKQogICAgICAgICAvLyBzdGlsbCBoYXZlIGEgYmFja2lu
ZyBzdG9yZS4KICAgICAgICAgb2xkZXN0UmV1c2VMaXN0LnJlbW92ZSgtLW9sZGVzdFJldXNlTGlz
dC5lbmQoKSk7CiAgICAgfQotICAgIGlmIChjdXJyZW50VGltZSgpIC0gbV9sYXN0QWRkVGltZSA8
PSBjYXBhY2l0eURlY2F5VGltZSkKKyAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCkgLSBtX2xhc3RBZGRUaW1lIDw9IGNhcGFjaXR5RGVjYXlUaW1lKQogICAgICAgICBzY2hlZHVs
ZVBydW5lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCmluZGV4IGI3MDA0NjEzZGFl
NjgzMTA2NjRjNmJmNzM0NWRiOTVjMWUwNzk1ZDEuLmZiY2FhNzllMTQ1ZmU2MWVmMzgxMjc2NDJh
ODgzZGRiZDJjZjcyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQpAQCAtNjEsNyArNjEs
NyBAQCBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXS05vblplcm9CZWdpblRpbWVGbGFnID0gQCJX
S1BsYXRmb3JtQ0FBbmltYXRpb25Ob25aZXJvQgogCiBzdGF0aWMgZG91YmxlIG1lZGlhVGltZVRv
Q3VycmVudFRpbWUoQ0ZUaW1lSW50ZXJ2YWwgdCkKIHsKLSAgICByZXR1cm4gV1RGOjpjdXJyZW50
VGltZSgpICsgdCAtIENBQ3VycmVudE1lZGlhVGltZSgpOworICAgIHJldHVybiBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSArIHQgLSBDQUN1cnJlbnRNZWRpYVRpbWUoKTsKIH0KIAogLy8g
RGVsZWdhdGUgZm9yIGFuaW1hdGlvbkRpZFN0YXJ0IGNhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVI
b3N0LmNwcAppbmRleCAyZTRlYzVlZDZlNTlkNzIwMzUzMDI2NTZjNWVmNDc0NDgyNjdlZjRlLi42
N2ZhYTBhZTg1NWM3ODZhNDg3Njc2YTIyOTQxYjhmYWNiNzFhZDJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJU
cmVlSG9zdC5jcHAKQEAgLTMwOSw3ICszMDksNyBAQCB2b2lkIENBQ0ZMYXllclRyZWVIb3N0Ojpu
b3RpZnlBbmltYXRpb25zU3RhcnRlZCgpCiAgICAgLy8gU2VuZCBjdXJyZW50VGltZSB0byB0aGUg
cGVuZGluZyBhbmltYXRpb25zLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBDQUNGIGluIGEg
Y2FsbGJhY2sKICAgICAvLyB3aGljaCBvY2N1cnMgYWZ0ZXIgdGhlIGRyYXdJbkNvbnRleHQgY2Fs
bHMuIFNvIGN1cnJlbnRUaW1lIGlzIHZlcnkgY2xvc2UgdG8gdGhlIHRpbWUKICAgICAvLyB0aGUg
YW5pbWF0aW9ucyBhY3R1YWxseSBzdGFydAotICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IFdURjo6
Y3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKIAogICAgIEhhc2hTZXQ8UmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gPjo6
aXRlcmF0b3IgZW5kID0gbV9wZW5kaW5nQW5pbWF0ZWRMYXllcnMuZW5kKCk7CiAgICAgZm9yIChI
YXNoU2V0PFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+ID46Oml0ZXJhdG9yIGl0ID0gbV9wZW5kaW5n
QW5pbWF0ZWRMYXllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxh
eWVyV2luLmNwcAppbmRleCBmNWI3YzZmYTIzMWViN2Q0MGIwOGUyNWJhNzVmYmQwY2M2YzcwOTA3
Li41ZjcxZGRmNDE2ZjE0NDliMTU1OTYwZTM4MWExNTY2MjBmZTA3NjI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZv
cm1DQUxheWVyV2luLmNwcApAQCAtNzcxLDcgKzc3MSw3IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVy
OjpwcmludFRyZWUoKSBjb25zdAogICAgIC8vIFByaW50IGhlYWRpbmcgaW5mbwogICAgIENHUmVj
dCByb290Qm91bmRzID0gYm91bmRzKCk7CiAgICAgZnByaW50ZihzdGRlcnIsICJcblxuKiogUmVu
ZGVyIHRyZWUgYXQgdGltZSAlZyAoYm91bmRzICVnLCAlZyAlZ3glZykgKipcblxuIiwgCi0gICAg
ICAgIGN1cnJlbnRUaW1lKCksIHJvb3RCb3VuZHMub3JpZ2luLngsIHJvb3RCb3VuZHMub3JpZ2lu
LnksIHJvb3RCb3VuZHMuc2l6ZS53aWR0aCwgcm9vdEJvdW5kcy5zaXplLmhlaWdodCk7CisgICAg
ICAgIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLCByb290Qm91bmRzLm9yaWdpbi54LCBy
b290Qm91bmRzLm9yaWdpbi55LCByb290Qm91bmRzLnNpemUud2lkdGgsIHJvb3RCb3VuZHMuc2l6
ZS5oZWlnaHQpOwogCiAgICAgLy8gUHJpbnQgbGF5ZXIgdHJlZSBmcm9tIHRoZSByb290CiAgICAg
cHJpbnRMYXllcih0aGlzLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBw
ZXIuY3BwCmluZGV4IGYxMjgwN2JlNjM2NmU2NWQ1ZmZjY2Q4NzJlOWQzOTdkMzkzZmEwNGEuLmM5
OWM4MDgwZDdmZjMyOTEyOGU2NzkyYTc2MGViNjI5NzhhOGM3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcApAQCAtNjM4LDcgKzYzOCw3IEBAIGJvb2wgR3Jh
cGhpY3NMYXllclRleHR1cmVNYXBwZXI6OmFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVl
TGlzdCYgdmFsdWVMaXN0CiAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVk
UHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pCiAgICAgICAgIGxpc3RzTWF0Y2ggPSB2YWxpZGF0ZVRy
YW5zZm9ybU9wZXJhdGlvbnModmFsdWVMaXN0LCBoYXNCaWdSb3RhdGlvbikgPj0gMDsKIAotICAg
IGNvbnN0IGRvdWJsZSBjdXJyZW50VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBjb25z
dCBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAg
ICBtX2FuaW1hdGlvbnMuYWRkKEdyYXBoaWNzTGF5ZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwg
dmFsdWVMaXN0LCBib3hTaXplLCBhbmltLCBjdXJyZW50VGltZSAtIHRpbWVPZmZzZXQsIGxpc3Rz
TWF0Y2gpKTsKICAgICAvLyBtX2FuaW1hdGlvblN0YXJ0VGltZSBpcyB0aGUgdGltZSBvZiB0aGUg
Zmlyc3QgcmVhbCBmcmFtZSBvZiBhbmltYXRpb24sIG5vdyBvciBkZWxheWVkIGJ5IGEgbmVnYXRp
dmUgb2Zmc2V0LgogICAgIGlmICh0aW1lT2Zmc2V0ID4gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckZQU0NvdW50ZXIuY3BwCmluZGV4IDE3MDRmNDc3ZDE4OTJjMTk4OTk2NWZiOWJmYWQwM2RhZWNk
NzNlMjUuLmQ3NDQ3NzAxMGEzOGIzYjEwOGZkYzk3ODk2ZDY5YjBjN2M5NzUzNTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
RlBTQ291bnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcApAQCAtNDIsNyArNDIsNyBAQCBUZXh0dXJl
TWFwcGVyRlBTQ291bnRlcjo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIoKQogICAgIG1fZnBzSW50
ZXJ2YWwgPSBzaG93RlBTRW52aXJvbm1lbnQudG9Eb3VibGUoJm9rKTsKICAgICBpZiAob2sgJiYg
bV9mcHNJbnRlcnZhbCkgewogICAgICAgICBtX2lzU2hvd2luZ0ZQUyA9IHRydWU7Ci0gICAgICAg
IG1fZnBzVGltZXN0YW1wID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgICAgICBtX2Zwc1RpbWVz
dGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIH0KIH0KIApAQCAtNTIs
NyArNTIsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjp1cGRhdGVGUFNBbmREaXNw
bGF5KFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fZnJhbWVDb3VudCsrOwotICAgIGRvdWJsZSBkZWx0YSA9IFdURjo6Y3VycmVudFRpbWUoKSAt
IG1fZnBzVGltZXN0YW1wOworICAgIGRvdWJsZSBkZWx0YSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIC0gbV9mcHNUaW1lc3RhbXA7CiAgICAgaWYgKGRlbHRhID49IG1fZnBzSW50ZXJ2
YWwpIHsKICAgICAgICAgbV9sYXN0RlBTID0gaW50KG1fZnJhbWVDb3VudCAvIGRlbHRhKTsKICAg
ICAgICAgbV9mcmFtZUNvdW50ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggN2U3MGJiYjBkNGFjZTQ0ODk3MTZi
NDhhODZiNDNlOTM2OTIzZTI3My4uNzdkYzBlMWU5YjUwZTYxNjExNTI2MTBlNGM4NWQ1NzA2YmQz
NWY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKQEAgLTEyMTYsNyArMTIxNiw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlz
dCwKICAgICBpZiAodmFsdWVMaXN0LnByb3BlcnR5KCkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVdlYmtp
dFRyYW5zZm9ybSkKICAgICAgICAgbGlzdHNNYXRjaCA9IHZhbGlkYXRlVHJhbnNmb3JtT3BlcmF0
aW9ucyh2YWx1ZUxpc3QsIGlnbm9yZWRIYXNCaWdSb3RhdGlvbikgPj0gMDsKIAotICAgIG1fbGFz
dEFuaW1hdGlvblN0YXJ0VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKSAtIGRlbGF5QXNOZWdhdGl2
ZVRpbWVPZmZzZXQ7CisgICAgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgLSBkZWxheUFzTmVnYXRpdmVUaW1lT2Zmc2V0OwogICAgIG1fYW5p
bWF0aW9ucy5hZGQoR3JhcGhpY3NMYXllckFuaW1hdGlvbihrZXlmcmFtZXNOYW1lLCB2YWx1ZUxp
c3QsIGJveFNpemUsIGFuaW0sIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSwgbGlzdHNNYXRjaCkp
OwogICAgIG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKICAgICBkaWRD
aGFuZ2VBbmltYXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggMGVmMjA0OWVlOTkzNmY1MGM0NTNhMWMzYzk0
ZGEwMjM0YzQ1N2Q1OS4uOThhNWViN2Y1MWQ0NTYyNjc3YWZiZjhhOWE0NzM1ZTM4N2M2MjRkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVl
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1
ZXVlLmNwcApAQCAtNTgsNyArNTgsNyBAQCBETlNSZXNvbHZlUXVldWU6OkROU1Jlc29sdmVRdWV1
ZSgpCiAKIGJvb2wgRE5TUmVzb2x2ZVF1ZXVlOjppc1VzaW5nUHJveHkoKQogewotICAgIGRvdWJs
ZSB0aW1lID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb3h5Q2hl
Y2tEZWxheSA9IDU7CiAgICAgaWYgKHRpbWUgLSBtX2xhc3RQcm94eUVuYWJsZWRTdGF0dXNDaGVj
a1RpbWUgPiBtaW5pbXVtUHJveHlDaGVja0RlbGF5KSB7CiAgICAgICAgIG1fbGFzdFByb3h5RW5h
YmxlZFN0YXR1c0NoZWNrVGltZSA9IHRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCmluZGV4IGM1ZjMwODFj
MGQ2NDdjZDJjMjZjNThkZWUzMzkxZjg1ZWUyMjEwOWUuLmIzMjcyODk4MGVmMDY0NDIxNGYwNzFm
OTI3MmY0MmJhMThjN2MzMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2lu
L1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZv
aWQgUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6YXBwZW5kTWVzc2FnZShIV05EIGhXbmQsIFVJ
TlQgbXNnLCBXUEFSQU0gd1BhcmFtCiAKICAgICAvLyBJZiBpdCBoYXMgYmVlbiBtb3JlIHRoYW4g
TWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZhbCBiZXR3ZWVuIHRocm90dGxlZCBtZXNzYWdl
cywKICAgICAvLyBnbyBhaGVhZCBhbmQgcHJvY2VzcyBhIG1lc3NhZ2UgZGlyZWN0bHkuCi0gICAg
ZG91YmxlIGN1cnJlbnRUaW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBjdXJy
ZW50VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIGlmIChjdXJyZW50
VGltZSAtIG1fbGFzdE1lc3NhZ2VUaW1lID4gTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZh
bCkgewogICAgICAgICBwcm9jZXNzUXVldWVkTWVzc2FnZSgpOwogICAgICAgICBtX2xhc3RNZXNz
YWdlVGltZSA9IGN1cnJlbnRUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA4M2VkYmY5ZWFjZjEyMzY4YTY1NzEyNGM4
ZGFjZjAwMmZhMjA5YjRhLi40YWJhNGI3NGE2ZGRmZDgzZGU0MGE3OWZjOGM0MzFiMDVmNTZiZDVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcApAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpk
aWRQYWludEJhY2tpbmcoUmVuZGVyTGF5ZXJCYWNraW5nKikKIHsKICAgICBGcmFtZVZpZXcqIGZy
YW1lVmlldyA9IG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCk7CiAgICAgCi0gICAgZnJhbWVWaWV3
LT5zZXRMYXN0UGFpbnRUaW1lKGN1cnJlbnRUaW1lKCkpOworICAgIGZyYW1lVmlldy0+c2V0TGFz
dFBhaW50VGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CiAgICAgCiAgICAgaWYg
KGZyYW1lVmlldy0+bWlsZXN0b25lc1BlbmRpbmdQYWludCgpICYmICFtX3BhaW50UmVsYXRlZE1p
bGVzdG9uZXNUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3BhaW50UmVsYXRlZE1pbGVzdG9u
ZXNUaW1lci5zdGFydE9uZVNob3QoMCk7CkBAIC01NjIsNyArNTYyLDcgQEAgdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRl
VHlwZSB1cGRhdGUKICAgICBkb3VibGUgc3RhcnRUaW1lID0gMDsKICAgICBpZiAoY29tcG9zaXRp
bmdMb2dFbmFibGVkKCkpIHsKICAgICAgICAgKyttX3Jvb3RMYXllclVwZGF0ZUNvdW50OwotICAg
ICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgICAgICBzdGFydFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICB9CiAjZW5kaWYKIApAQCAtNjE0LDcgKzYx
NCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVy
cyhDb21wb3NpdGluZ1VwZGF0ZVR5cGUgdXBkYXRlCiAgICAgCiAjaWYgIUxPR19ESVNBQkxFRAog
ICAgIGlmIChjb21wb3NpdGluZ0xvZ0VuYWJsZWQoKSAmJiBpc0Z1bGxVcGRhdGUgJiYgKG5lZWRI
aWVyYXJjaHlVcGRhdGUgfHwgbmVlZEdlb21ldHJ5VXBkYXRlKSkgewotICAgICAgICBkb3VibGUg
ZW5kVGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIGRvdWJsZSBlbmRUaW1lID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIExPRyhDb21wb3NpdGluZywgIlRvdGFs
IGxheWVycyAgIHByaW1hcnkgICBzZWNvbmRhcnkgICBvYmxpZ2F0b3J5IGJhY2tpbmcgKEtCKSAg
IHNlY29uZGFyeSBiYWNraW5nKEtCKSAgIHRvdGFsIGJhY2tpbmcgKEtCKSAgdXBkYXRlIHRpbWUg
KG1zKVxuIik7CiAKICAgICAgICAgTE9HKENvbXBvc2l0aW5nLCAiJThkICUxMWQgJTlkICUyMC4y
ZiAlMjIuMmYgJTIyLjJmICUxOC4yZlxuIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IGFkMWIzMzhhZDAzMDhmOTk5ZTYyNWNiNDk4MDg0MzM2ODgz
NDg5NmIuLmRjODE0YTA0MmZlYTQ4NDliNjFiNGZhMjk4ODViYzg3MjkwNjAyZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBib29sIFJlbmRlclByb2dyZXNzOjpjYW5CZVJlcGxhY2VkV2l0aElubGluZVJ1bkluKCkgY29u
c3QKIAogZG91YmxlIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25Qcm9ncmVzcygpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIG1fYW5pbWF0aW5nID8gKGZtb2QoKGN1cnJlbnRUaW1lKCkgLSBtX2FuaW1h
dGlvblN0YXJ0VGltZSksIG1fYW5pbWF0aW9uRHVyYXRpb24pIC8gbV9hbmltYXRpb25EdXJhdGlv
bikgOiAwOworICAgIHJldHVybiBtX2FuaW1hdGluZyA/IChmbW9kKChtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAtIG1fYW5pbWF0aW9uU3RhcnRUaW1lKSwgbV9hbmltYXRpb25EdXJhdGlv
bikgLyBtX2FuaW1hdGlvbkR1cmF0aW9uKSA6IDA7CiB9CiAKIGJvb2wgUmVuZGVyUHJvZ3Jlc3M6
OmlzRGV0ZXJtaW5hdGUoKSBjb25zdApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIFJlbmRlclByb2dy
ZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCiAKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGlu
ZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKLSAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUg
PSBjdXJyZW50VGltZSgpOworICAgICAgICBtX2FuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9h
bmltYXRpb25UaW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5p
bWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRp
b24vU01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4IGU2M2JkNDgxMzI3ZjE5MzNjMDA1NmIxNWE1
NTA5ODcyY2UzZTgxM2QuLmM0NzliZjNlMDEzNjQxNTcyMjJjZmM3Y2QxZDg2ZjI2Y2EzNzU0OTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgU01JTFRpbWUgU01JTFRpbWVDb250YWluZXI6OmVs
YXBzZWQoKSBjb25zdAogewogICAgIGlmICghbV9iZWdpblRpbWUpCiAgICAgICAgIHJldHVybiAw
OwotICAgIHJldHVybiBjdXJyZW50VGltZSgpIC0gbV9iZWdpblRpbWUgLSBtX2FjY3VtdWxhdGVk
UGF1c2VUaW1lOworICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1f
YmVnaW5UaW1lIC0gbV9hY2N1bXVsYXRlZFBhdXNlVGltZTsKIH0KIAogYm9vbCBTTUlMVGltZUNv
bnRhaW5lcjo6aXNBY3RpdmUoKSBjb25zdApAQCAtMTMxLDcgKzEzMSw3IEBAIGJvb2wgU01JTFRp
bWVDb250YWluZXI6OmlzU3RhcnRlZCgpIGNvbnN0CiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpi
ZWdpbigpCiB7CiAgICAgQVNTRVJUKCFtX2JlZ2luVGltZSk7Ci0gICAgZG91YmxlIG5vdyA9IGN1
cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogCiAgICAgLy8gSWYgJ21fcHJlc2V0U3RhcnRUaW1lJyBpcyBzZXQsIHRoZSB0aW1lbGlu
ZSB3YXMgbW9kaWZpZWQgdmlhIHNldEVsYXBzZWQoKSBiZWZvcmUgdGhlIGRvY3VtZW50IGJlZ2Fu
LgogICAgIC8vIEluIHRoaXMgY2FzZSBwYXNzIG9uICdzZWVrVG9UaW1lPXRydWUnIHRvIHVwZGF0
ZUFuaW1hdGlvbnMoKS4KQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVy
OjpiZWdpbigpCiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpwYXVzZSgpCiB7CiAgICAgQVNTRVJU
KCFpc1BhdXNlZCgpKTsKLSAgICBtX3BhdXNlVGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgbV9w
YXVzZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIAogICAgIGlmIChtX2Jl
Z2luVGltZSkKICAgICAgICAgbV90aW1lci5zdG9wKCk7CkBAIC0xNTksNyArMTU5LDcgQEAgdm9p
ZCBTTUlMVGltZUNvbnRhaW5lcjo6cmVzdW1lKCkKICAgICBBU1NFUlQoaXNQYXVzZWQoKSk7CiAK
ICAgICBpZiAobV9iZWdpblRpbWUpCi0gICAgICAgIG1fYWNjdW11bGF0ZWRQYXVzZVRpbWUgKz0g
Y3VycmVudFRpbWUoKSAtIG1fcGF1c2VUaW1lOworICAgICAgICBtX2FjY3VtdWxhdGVkUGF1c2VU
aW1lICs9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9wYXVzZVRpbWU7CiAKICAg
ICBtX3BhdXNlVGltZSA9IDA7CiAgICAgc3RhcnRUaW1lcigwKTsKQEAgLTE3Niw3ICsxNzYsNyBA
QCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzZXRFbGFwc2VkKFNNSUxUaW1lIHRpbWUpCiAgICAg
aWYgKG1fYmVnaW5UaW1lKQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIGRvdWJsZSBu
b3cgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKICAgICBtX2JlZ2luVGltZSA9IG5vdyAtIHRpbWUudmFsdWUoKTsKIAogICAg
IG1fYWNjdW11bGF0ZWRQYXVzZVRpbWUgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209493</attachid>
            <date>2013-08-23 12:47:23 -0700</date>
            <delta_ts>2013-08-27 12:12:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119958-20130824011652.patch</filename>
            <type>text/plain</type>
            <size>39530</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZiMGFjMjkxMWI3YWYyNGI4MDE5NDEx
NzQ0NmE5Zjg1MWVlYTY1YWMuLjRhNjZkMTM1ZTBlNTcxNTcyNTg5M2Y5MGQ1ZjNiMmEyNWJjNjcz
MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDgtMTcgIEFydW5wcmFzYWQgUmFqa3VtYXIg
IDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAgICAgICAgUmVwbGFjZSBjdXJyZW50VGltZSgpIHdp
dGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgaW4gV2ViQ29yZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5OTU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1RGOjpjdXJyZW50VGltZSgpIGlz
IHByb25lIHRvIE5UUCBhbmQgbWFudWFsIGFkanVzdG1lbnRzLCBzbyB1c2UKKyAgICAgICAgV1RG
Ojptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB0byBtZWFzdXJlIGVsYXBzZWQgdGltZS4K
KworICAgICAgICBJdCBpcyBhIGNvbnRpbnVhdGlvbiBvZiByMTU0MjAxLgorCisgICAgICAgICog
d3RmL0N1cnJlbnRUaW1lLmg6IEVkaXRlZCBjb21tZW50LgorCiAyMDEzLTA4LTE2ICBBcnVucHJh
c2FkIFJhamt1bWFyICA8YXJ1cmFqa3VAY2lzY28uY29tPgogCiAgICAgICAgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xMTk3ODU+IFJlcGxhY2UgY3VycmVudFRpbWUoKSB3aXRoIG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpIGluIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0NWRhYzQ0NDUwYWQ0
MzJkNjE5ZmRkODE4MjExNDBjM2E3ZmJiYmY0Li5iODRjYjUyMDY2YmIxMTk3MGNkNjdkZWE4ZjY1
NzRlZGI1OGVlOTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODkgQEAKKzIwMTMtMDgtMTcgIEFy
dW5wcmFzYWQgUmFqa3VtYXIgIDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAgICAgICAgUmVwbGFj
ZSBjdXJyZW50VGltZSgpIHdpdGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgaW4gV2Vi
Q29yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5
OTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1RG
OjpjdXJyZW50VGltZSgpIGlzIHByb25lIHRvIE5UUCBhbmQgbWFudWFsIGFkanVzdG1lbnRzLCBz
byB1c2UKKyAgICAgICAgV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB0byBtZWFz
dXJlIGVsYXBzZWQgdGltZS4KKworICAgICAgICBJdCBpcyBhIGNvbnRpbnVhdGlvbiBvZiByMTU0
MjAxLgorCisgICAgICAgICogaGlzdG9yeS9DYWNoZWRQYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFBhZ2U6OkNhY2hlZFBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFn
ZTo6aGFzRXhwaXJlZCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6Y2hlY2tGb3JZaWVs
ZEJlZm9yZVRva2VuKToKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlSXRlbTo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6Q3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZUl0ZW06OmFsbG93c1JlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9GcmFt
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0U3RhdGUpOgor
ICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UHJvZ3Jlc3NUcmFja2VyOjppbmNyZW1lbnRQcm9ncmVzcyk6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkQ1NT
U3R5bGVTaGVldDo6cmVzdG9yZVBhcnNlZFN0eWxlU2hlZXQpOgorICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6ZGlk
RHJhdyk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpwcnVuZUxpdmVSZXNvdXJjZXNUb1NpemUpOgorICAgICAg
ICAqIGxvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29u
RGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SWNv
bkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRh
dGFiYXNlOjpyZWFkRnJvbURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFz
ZTo6d3JpdGVUb0RhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6Y2xl
YW51cFN5bmNUaHJlYWQpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1lKToKKyAg
ICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbjo6Y29tcHV0
ZVRvdGFsUnVubmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1h
dGlvbjo6cmVzdW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
Y2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QVZGV3JhcHBlcjo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBpeGVsQnVmZmVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpzdXNwZW5kQW5pbWF0aW9ucyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OmN1cnJlbnRUaW1lVG9NZWRpYVRpbWUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9MYXllclBvb2wubW06CisgICAgICAgIChXZWJD
b3JlOjpMYXllclBvb2w6OmFkZExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6
ZGVjYXllZENhcGFjaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6cHJ1bmVUaW1l
ckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxh
eWVyTWFjLm1tOgorICAgICAgICAobWVkaWFUaW1lVG9DdXJyZW50VGltZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNBQ0ZMYXllclRyZWVIb3N0Ojpub3RpZnlBbmltYXRpb25zU3RhcnRlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHA6
CisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXI6OnByaW50VHJlZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjphZGRBbmltYXRpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291bnRlcjo6VGV4dHVy
ZU1hcHBlckZQU0NvdW50ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0Nv
dW50ZXI6OnVwZGF0ZUZQU0FuZERpc3BsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6aXNVc2luZ1Byb3h5KToKKyAgICAgICAgKiBwbHVnaW5z
L3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
dWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46OmFwcGVuZE1lc3NhZ2UpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpkaWRQYWludEJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBy
b2dyZXNzOjphbmltYXRpb25Qcm9ncmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9n
cmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU01J
TFRpbWVDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6
OmVsYXBzZWQpOgorICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OmJlZ2luKToK
KyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpwYXVzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNN
SUxUaW1lQ29udGFpbmVyOjpzZXRFbGFwc2VkKToKKwogMjAxMy0wOC0xNiAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
NTM2PiBSZWZhY3RvciBoaWdoZXN0RWRpdGFibGVSb290IHRvIGF2b2lkIGEgcmVkdW5kYW50IGNh
bGwgdG8gcmVuZGVyZXJJc0VkaXRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DdXJy
ZW50VGltZS5oIGIvU291cmNlL1dURi93dGYvQ3VycmVudFRpbWUuaAppbmRleCAyNGIyYTMwYjRk
OWQ5MzNkMTZkNDczZmNkZjg2MTIwYTgzYmZkYzVhLi5iZjlmYjMzYWZmYjkzY2UzN2RjZDViNWI3
ZTVlZTViM2EzZTMzMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmgKQEAgLTUyLDcgKzUyLDcgQEAgaW5s
aW5lIGRvdWJsZSBjdXJyZW50VGltZU1TKCkKIC8vIFByb3ZpZGVzIGEgbW9ub3RvbmljYWxseSBp
bmNyZWFzaW5nIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSBhbiBhcmJpdHJhcnkgcG9pbnQgaW4gdGhl
IHBhc3QuCiAvLyBPbiB1bnN1cHBvcnRlZCBwbGF0Zm9ybXMsIHRoaXMgZnVuY3Rpb24gb25seSBn
dWFyYW50ZWVzIHRoZSByZXN1bHQgd2lsbCBiZSBub24tZGVjcmVhc2luZy4KIC8vIFJlc3VsdCBv
ZiB0aGlzIGZ1bmN0aW9uIGluY3JlYXNlcyBtb25vdG9uaWNhbGx5IGV2ZW4gd2hlbiBjbG9jayB0
aW1lIGdvZXMgYmFjayBkdWUgdG8KLS8vIERTVCBjaGFuZ2VzIG9yIE5UUCBhZGp1c3RtZW50cywg
c28gaXQgYmV0dGVyIHN1aXRzIGZvciBlbGFwc2VkIHRpbWUgbWVhc3VyZW1lbnQuCisvLyBOVFAg
b3IgbWFudWFsIGFkanVzdG1lbnRzLCBzbyBpdCBpcyBiZXR0ZXIgc3VpdGVkIGZvciBlbGFwc2Vk
IHRpbWUgbWVhc3VyZW1lbnQuCiBXVEZfRVhQT1JUX1BSSVZBVEUgZG91YmxlIG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwogCiBpbmxpbmUgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZU1TKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCmluZGV4IGVmMmUy
OTQzYTRhZjlkNzJlMWRmMjMwZDc4N2YzMDJlNDY3NGNiZjEuLjAzZjBkOThhMWZmNzNjODY2ODk3
MTI5NDMwNzU4OGY3ZDViNDZjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
Q2FjaGVkUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdlLmNw
cApAQCAtNTEsNyArNTEsNyBAQCBQYXNzUmVmUHRyPENhY2hlZFBhZ2U+IENhY2hlZFBhZ2U6OmNy
ZWF0ZShQYWdlKiBwYWdlKQogfQogCiBDYWNoZWRQYWdlOjpDYWNoZWRQYWdlKFBhZ2UqIHBhZ2Up
Ci0gICAgOiBtX3RpbWVTdGFtcChjdXJyZW50VGltZSgpKQorICAgIDogbV90aW1lU3RhbXAobW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCiAgICAgLCBtX2V4cGlyYXRpb25UaW1lKG1fdGlt
ZVN0YW1wICsgcGFnZS0+c2V0dGluZ3MoKS5iYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsKCkpCiAgICAgLCBtX2NhY2hlZE1haW5GcmFtZShDYWNoZWRGcmFtZTo6Y3JlYXRlKHBhZ2Ut
Pm1haW5GcmFtZSgpKSkKICAgICAsIG1fbmVlZFN0eWxlUmVjYWxjRm9yVmlzaXRlZExpbmtzKGZh
bHNlKQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgQ2FjaGVkUGFnZTo6ZGVzdHJveSgpCiAKIGJv
b2wgQ2FjaGVkUGFnZTo6aGFzRXhwaXJlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGN1cnJlbnRU
aW1lKCkgPiBtX2V4cGlyYXRpb25UaW1lOworICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSA+IG1fZXhwaXJhdGlvblRpbWU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hl
ZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIu
aAppbmRleCAyY2E3MjIyNDAwNDIzN2E1MjIxZmUwMDkzZjE5NjFjZTJkNTYyZTk3Li5jMjE1Y2Iw
OGVhNWRiZWQwYTBiNmMxZGUyN2E4MjNlYTY3OTg1OTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC03MCw4ICs3MCw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNoZWNrRm9yWWllbGRCZWZvcmVUb2tlbihQdW1wU2Vzc2lvbiYgc2Vz
c2lvbikKICAgICB7CiAgICAgICAgIGlmIChzZXNzaW9uLnByb2Nlc3NlZFRva2VucyA+IG1fcGFy
c2VyQ2h1bmtTaXplIHx8IHNlc3Npb24uZGlkU2VlU2NyaXB0KSB7Ci0gICAgICAgICAgICAvLyBj
dXJyZW50VGltZSgpIGNhbiBiZSBleHBlbnNpdmUuICBCeSBkZWxheWluZywgd2UgYXZvaWRlZCBj
YWxsaW5nCi0gICAgICAgICAgICAvLyBjdXJyZW50VGltZSgpIHdoZW4gY29uc3RydWN0aW5nIG5v
bi15aWVsZGluZyBQdW1wU2Vzc2lvbnMuCisgICAgICAgICAgICAvLyBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSBjYW4gYmUgZXhwZW5zaXZlLiBCeSBkZWxheWluZywgd2UgYXZvaWRlZCBj
YWxsaW5nCisgICAgICAgICAgICAvLyBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB3aGVu
IGNvbnN0cnVjdGluZyBub24teWllbGRpbmcgUHVtcFNlc3Npb25zLgogICAgICAgICAgICAgaWYg
KCFzZXNzaW9uLnN0YXJ0VGltZSkKICAgICAgICAgICAgICAgICBzZXNzaW9uLnN0YXJ0VGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHAKaW5kZXgg
OWQ1MWM4N2ZlNmM0ZTdkNDM5MzNlNDVlZWY3ZDVjMTliZDVlMjA4NC4uNGExN2RmZGRmZDFhNTk3
MzQ1Y2UyNGQxZmQwMGY5YWJiMjlhMWEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcApAQCAtMTA4LDcg
KzEwOCw3IEBAIGJvb2wgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06OnBhcnNl
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlCiAgICAgfSBlbHNlCiAgICAgICAgIGV4
cGlyeURlbHRhID0gZGVmYXVsdFByZWZsaWdodENhY2hlVGltZW91dFNlY29uZHM7CiAKLSAgICBt
X2Fic29sdXRlRXhwaXJ5VGltZSA9IGN1cnJlbnRUaW1lKCkgKyBleHBpcnlEZWx0YTsKKyAgICBt
X2Fic29sdXRlRXhwaXJ5VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgZXhw
aXJ5RGVsdGE7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTEzNiw3ICsxMzYsNyBAQCBib29s
IENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtOjphbGxvd3NDcm9zc09yaWdpbkhl
YWRlcnMoY29uc3QgSFRUUEhlYQogYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
SXRlbTo6YWxsb3dzUmVxdWVzdChTdG9yZWRDcmVkZW50aWFscyBpbmNsdWRlQ3JlZGVudGlhbHMs
IGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBIVFRQSGVhZGVyTWFwJiByZXF1ZXN0SGVhZGVy
cykgY29uc3QKIHsKICAgICBTdHJpbmcgaWdub3JlZEV4cGxhbmF0aW9uOwotICAgIGlmIChtX2Fi
c29sdXRlRXhwaXJ5VGltZSA8IGN1cnJlbnRUaW1lKCkpCisgICAgaWYgKG1fYWJzb2x1dGVFeHBp
cnlUaW1lIDwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAoaW5jbHVkZUNyZWRlbnRpYWxzID09IEFsbG93U3RvcmVkQ3JlZGVudGlh
bHMgJiYgbV9jcmVkZW50aWFscyA9PSBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4
IDE5N2EzMDkzZmE5MTEwMTA2YzRhYzZlMTU2ZTA0NDk5MGMwZTBkYTMuLjhhNzFiZjExYWYyNzVk
MjFmMmEzMTI2MDc5YjViODdlYjFjOWI4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcApAQCAtMTY4NSw3ICsxNjg1LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0U3RhdGUo
RnJhbWVTdGF0ZSBuZXdTdGF0ZSkKICAgICAgICAgcHJvdmlzaW9uYWxMb2FkU3RhcnRlZCgpOwog
ICAgIGVsc2UgaWYgKG5ld1N0YXRlID09IEZyYW1lU3RhdGVDb21wbGV0ZSkgewogICAgICAgICBm
cmFtZUxvYWRDb21wbGV0ZWQoKTsKLSAgICAgICAgc3RvcmVkVGltZU9mTGFzdENvbXBsZXRlZExv
YWQgPSBjdXJyZW50VGltZSgpOworICAgICAgICBzdG9yZWRUaW1lT2ZMYXN0Q29tcGxldGVkTG9h
ZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBpZiAobV9kb2N1bWVu
dExvYWRlcikKICAgICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPnN0b3BSZWNvcmRpbmdSZXNw
b25zZXMoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3Bw
CmluZGV4IDJjODQyM2I3NjU4ZTEzZTY2N2YwMDM0OWFkMWU2ODQ5YjdiYTJiYWEuLjNiODU2OGU1
YTA3NjM5MDVhMGRjYjE5NjFkMDkyMmYxNzUxNzVmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBQcm9ncmVzc1Ry
YWNrZXI6OmluY3JlbWVudFByb2dyZXNzKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
Y2hhciosIGkKICAgICAKICAgICBtX3RvdGFsQnl0ZXNSZWNlaXZlZCArPSBieXRlc1JlY2VpdmVk
OwogICAgIAotICAgIGRvdWJsZSBub3cgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBub3cg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBkb3VibGUgbm90aWZpZWRQcm9n
cmVzc1RpbWVEZWx0YSA9IG5vdyAtIG1fbGFzdE5vdGlmaWVkUHJvZ3Jlc3NUaW1lOwogICAgIAog
ICAgIExPRyhQcm9ncmVzcywgIlByb2dyZXNzIGluY3JlbWVudGVkICglcCkgLSB2YWx1ZSAlZiwg
dHJhY2tlZCBmcmFtZXMgJWQiLCB0aGlzLCBtX3Byb2dyZXNzVmFsdWUsIG1fbnVtUHJvZ3Jlc3NU
cmFja2VkRnJhbWVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRDU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRDU1NTdHlsZVNoZWV0LmNwcAppbmRleCA0MzY3NzdlNjk5NGU1MjI0N2FlNmZkZjAyZmNjYjUx
MTA1YWJmMzMyLi42OTNhYjAwODU4Zjk4ODBiODE3MTAwYmU2ZjFkN2E1OTk1YTlkNzFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQu
Y3BwCkBAIC0xNzMsNyArMTczLDcgQEAgUGFzc1JlZlB0cjxTdHlsZVNoZWV0Q29udGVudHM+IENh
Y2hlZENTU1N0eWxlU2hlZXQ6OnJlc3RvcmVQYXJzZWRTdHlsZVNoZWV0KGNvbnMKICAgICBpZiAo
bV9wYXJzZWRTdHlsZVNoZWV0Q2FjaGUtPnBhcnNlckNvbnRleHQoKSAhPSBjb250ZXh0KQogICAg
ICAgICByZXR1cm4gMDsKIAotICAgIGRpZEFjY2Vzc0RlY29kZWREYXRhKGN1cnJlbnRUaW1lKCkp
OworICAgIGRpZEFjY2Vzc0RlY29kZWREYXRhKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
KTsKIAogICAgIHJldHVybiBtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDc3MTU4ZmVlZTNiNTUzZTJl
ZWQ3M2VmZGM2NmM1MThmNjIxMDg3NzIuLmJhNWE5MjUyNzA5ZTQ4YTg4MTRkOWY1ZTE1Y2NlZjY5
M2E0OGFlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNw
cApAQCAtNDcyLDcgKzQ3Miw3IEBAIHZvaWQgQ2FjaGVkSW1hZ2U6OmRpZERyYXcoY29uc3QgSW1h
Z2UqIGltYWdlKQogICAgIAogICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBGcmFtZVZpZXc6OmN1cnJl
bnRQYWludFRpbWVTdGFtcCgpOwogICAgIGlmICghdGltZVN0YW1wKSAvLyBJZiBkaWREcmF3IGlz
IGNhbGxlZCBvdXRzaWRlIG9mIGEgRnJhbWUgcGFpbnQuCi0gICAgICAgIHRpbWVTdGFtcCA9IGN1
cnJlbnRUaW1lKCk7CisgICAgICAgIHRpbWVTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOwogICAgIAogICAgIENhY2hlZFJlc291cmNlOjpkaWRBY2Nlc3NEZWNvZGVkRGF0YSh0
aW1lU3RhbXApOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5j
cHAKaW5kZXggMjkyZmEyZjk0OWIwYjFjNTNjYTc1NjliN2JhY2IzMjBjYWUwODY4ZS4uYjY3MjMz
ODZhMjE4YjE5MzhjNzk2NTM3MGJmZWQ0NTEzOGE3NzM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBNZW1v
cnlDYWNoZTo6cHJ1bmVMaXZlUmVzb3VyY2VzVG9TaXplKHVuc2lnbmVkIHRhcmdldFNpemUpCiAK
ICAgICBkb3VibGUgY3VycmVudFRpbWUgPSBGcmFtZVZpZXc6OmN1cnJlbnRQYWludFRpbWVTdGFt
cCgpOwogICAgIGlmICghY3VycmVudFRpbWUpIC8vIEluIGNhc2UgcHJ1bmUgaXMgY2FsbGVkIGRp
cmVjdGx5LCBvdXRzaWRlIG9mIGEgRnJhbWUgcGFpbnQuCi0gICAgICAgIGN1cnJlbnRUaW1lID0g
V1RGOjpjdXJyZW50VGltZSgpOworICAgICAgICBjdXJyZW50VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogICAgIAogICAgIC8vIERlc3Ryb3kgYW55IGRlY29kZWQgZGF0YSBp
biBsaXZlIG9iamVjdHMgdGhhdCB3ZSBjYW4uCiAgICAgLy8gU3RhcnQgZnJvbSB0aGUgdGFpbCwg
c2luY2UgdGhpcyBpcyB0aGUgbGVhc3QgcmVjZW50bHkgYWNjZXNzZWQgb2YgdGhlIG9iamVjdHMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCAwYWNh
MDQ1MWRlZjc3ODE3ZjhiNzA1MmNkNDBiN2RiMzYzZDQ2ZTAzLi5lMDVlYmRlYjQ4YzVlODNmYzhm
YWZiM2ZkMTZlYTA1MjhmMjE5NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5jcHAKQEAgLTk4OSw3ICs5ODksNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNv
bkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIElj
b25EYXRhYmFzZSBzeW5jIHRocmVhZCBzdGFydGVkIik7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0g
ICAgZG91YmxlIHN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHN0YXJ0VGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKICAgICAvLyBOZWVk
IHRvIGNyZWF0ZSB0aGUgZGF0YWJhc2UgcGF0aCBpZiBpdCBkb2Vzbid0IGFscmVhZHkgZXhpc3QK
QEAgLTEwMTcsNyArMTAxNyw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5j
VGhyZWFkKCkKICAgICB9CiAgICAgICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUg
dGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZVN0YW1wID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQp
IE9wZW4gdG9vayAlLjRmIHNlY29uZHMiLCB0aW1lU3RhbXAgLSBzdGFydFRpbWUpOwogI2VuZGlm
ICAgIAogCkBAIC0xMDI4LDEzICsxMDI4LDEzIEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0
YWJhc2VTeW5jVGhyZWFkKCkKICAgICB9CiAgICAgICAgIAogI2lmICFMT0dfRElTQUJMRUQKLSAg
ICBkb3VibGUgbmV3U3RhbXAgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBuZXdTdGFtcCA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIExPRyhJY29uRGF0YWJhc2UsICIo
VEhSRUFEKSBwZXJmb3JtT3BlbkluaXRpYWxpemF0aW9uKCkgdG9vayAlLjRmIHNlY29uZHMsIG5v
dyAlLjRmIHNlY29uZHMgZnJvbSB0aHJlYWQgc3RhcnQiLCBuZXdTdGFtcCAtIHRpbWVTdGFtcCwg
bmV3U3RhbXAgLSBzdGFydFRpbWUpOwogICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwogI2VuZGlm
IAogICAgICAgICAKICAgICAvLyBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHNpbXVs
YXRlIGEgbG9uZyBsYXN0aW5nIFVSTCBpbXBvcnQgKCpIVUdFKiBpY29uIGRhdGFiYXNlcywgb3Ig
bmV0d29yayBob21lIGRpcmVjdG9yaWVzKQotICAgIC8vIHdoaWxlIChjdXJyZW50VGltZSgpIC0g
dGltZVN0YW1wIDwgMTApOworICAgIC8vIHdoaWxlIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIHRpbWVTdGFtcCA8IDEwKTsKIAogICAgIC8vIFJlYWQgaW4gVVJMIG1hcHBpbmdzIGZy
b20gdGhlIGRhdGFiYXNlICAgICAgICAgIAogICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFE
KSBTdGFydGluZyBpY29uVVJMIGltcG9ydCIpOwpAQCAtMTA0Niw3ICsxMDQ2LDcgQEAgdm9pZCBJ
Y29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgIH0KIAogI2lmICFMT0df
RElTQUJMRUQKLSAgICBuZXdTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgbmV3U3RhbXAgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRI
UkVBRCkgcGVyZm9ybVVSTEltcG9ydCgpIHRvb2sgJS40ZiBzZWNvbmRzLiAgRW50ZXJpbmcgbWFp
biBsb29wICUuNGYgc2Vjb25kcyBmcm9tIHRocmVhZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0
YW1wLCBuZXdTdGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgCiAKQEAgLTEzNzQsNyArMTM3NCw3
IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICBtX3N5
bmNMb2NrLnVubG9jaygpOwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgICAgICBkb3VibGUgdGlt
ZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgZG91YmxlIHRpbWVTdGFtcCA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAgICAgICAgIExPRyhJY29uRGF0YWJh
c2UsICIoVEhSRUFEKSBNYWluIHdvcmsgbG9vcCBzdGFydGluZyIpOwogCkBAIC0xNDEyLDEzICsx
NDEyLDEzIEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAg
ICAgICAgc3RhdGljIGJvb2wgcHJ1bmVkVW5yZXRhaW5lZEljb25zID0gZmFsc2U7CiAgICAgICAg
ICAgICBpZiAoZGlkV3JpdGUgJiYgIW1fcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCAmJiAhcHJ1bmVk
VW5yZXRhaW5lZEljb25zICYmICFkYXRhYmFzZUNsZWFudXBDb3VudGVyKSB7CiAjaWYgIUxPR19E
SVNBQkxFRAotICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lID0gY3VycmVudFRpbWUoKTsKKyAg
ICAgICAgICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwogI2VuZGlmCiAgICAgICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIFN0
YXJ0aW5nIHBydW5lVW5yZXRhaW5lZEljb25zKCkiKTsKICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICBwcnVuZVVucmV0YWluZWRJY29ucygpOwogICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBwcnVuZVVucmV0YWluZWRJ
Y29ucygpIHRvb2sgJS40ZiBzZWNvbmRzIiwgY3VycmVudFRpbWUoKSAtIHRpbWUpOworICAgICAg
ICAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBwcnVuZVVucmV0YWluZWRJY29u
cygpIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0
aW1lKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAvLyBJZiBwcnVuZVVucmV0
YWluZWRJY29ucygpIHJldHVybmVkIGVhcmx5IGR1ZSB0byByZXF1ZXN0ZWQgdGhyZWFkIHRlcm1p
bmF0aW9uLCBpdHMgc3RpbGwgb2theQogICAgICAgICAgICAgICAgIC8vIHRvIG1hcmsgcHJ1bmVk
VW5yZXRhaW5lZEljb25zIHRydWUgYmVjYXVzZSB3ZSdyZSBhYm91dCB0byB0ZXJtaW5hdGUgYW55
d2F5CkBAIC0xNDMxLDcgKzE0MzEsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1h
aW5Mb29wKCkKICAgICAgICAgfQogICAgICAgICAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgICAg
IGRvdWJsZSBuZXdzdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIGRvdWJsZSBuZXdzdGFt
cCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBMT0coSWNvbkRhdGFi
YXNlLCAiKFRIUkVBRCkgTWFpbiB3b3JrIGxvb3AgcmFuIGZvciAlLjRmIHNlY29uZHMsICVzIHJl
cXVlc3RlZCB0byB0ZXJtaW5hdGUiLCBuZXdzdGFtcCAtIHRpbWVTdGFtcCwgc2hvdWxkU3RvcFRo
cmVhZEFjdGl2aXR5KCkgPyAid2FzIiA6ICJ3YXMgbm90Iik7CiAjZW5kaWYKICAgICAgICAgICAg
ICAgICAgICAgCkBAIC0xNTEzLDcgKzE1MTMsNyBAQCBib29sIEljb25EYXRhYmFzZTo6cmVhZEZy
b21EYXRhYmFzZSgpCiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKICAgICAKICNpZiAh
TE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAg
ZG91YmxlIHRpbWVTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlm
CiAKICAgICBib29sIGRpZEFueVdvcmsgPSBmYWxzZTsKQEAgLTE2MDcsNyArMTYwNyw3IEBAIGJv
b2wgSWNvbkRhdGFiYXNlOjpyZWFkRnJvbURhdGFiYXNlKCkKICAgICAgICAgICAgIHJldHVybiBk
aWRBbnlXb3JrOwogICAgIH0KIAotICAgIExPRyhJY29uRGF0YWJhc2UsICJSZWFkaW5nIGZyb20g
ZGF0YWJhc2UgdG9vayAlLjRmIHNlY29uZHMiLCBjdXJyZW50VGltZSgpIC0gdGltZVN0YW1wKTsK
KyAgICBMT0coSWNvbkRhdGFiYXNlLCAiUmVhZGluZyBmcm9tIGRhdGFiYXNlIHRvb2sgJS40ZiBz
ZWNvbmRzIiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogCiAg
ICAgcmV0dXJuIGRpZEFueVdvcms7CiB9CkBAIC0xNjE3LDcgKzE2MTcsNyBAQCBib29sIEljb25E
YXRhYmFzZTo6d3JpdGVUb0RhdGFiYXNlKCkKICAgICBBU1NFUlRfSUNPTl9TWU5DX1RIUkVBRCgp
OwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBjdXJyZW50VGlt
ZSgpOworICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKICNlbmRpZgogCiAgICAgYm9vbCBkaWRBbnlXb3JrID0gZmFsc2U7CkBAIC0xNjY3LDcgKzE2
NjcsNyBAQCBib29sIEljb25EYXRhYmFzZTo6d3JpdGVUb0RhdGFiYXNlKCkKICAgICBpZiAoZGlk
QW55V29yaykKICAgICAgICAgY2hlY2tGb3JEYW5nbGluZ1BhZ2VVUkxzKGZhbHNlKTsKIAotICAg
IExPRyhJY29uRGF0YWJhc2UsICJVcGRhdGluZyB0aGUgZGF0YWJhc2UgdG9vayAlLjRmIHNlY29u
ZHMiLCBjdXJyZW50VGltZSgpIC0gdGltZVN0YW1wKTsKKyAgICBMT0coSWNvbkRhdGFiYXNlLCAi
VXBkYXRpbmcgdGhlIGRhdGFiYXNlIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogCiAgICAgcmV0dXJuIGRpZEFueVdvcms7CiB9
CkBAIC0xODIyLDcgKzE4MjIsNyBAQCB2b2lkKiBJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhy
ZWFkKCkKICAgICBBU1NFUlRfSUNPTl9TWU5DX1RIUkVBRCgpOwogICAgIAogI2lmICFMT0dfRElT
QUJMRUQKLSAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUg
dGltZVN0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYgCiAKICAg
ICAvLyBJZiB0aGUgcmVtb3ZlSWNvbnMgZmxhZyBpcyBzZXQsIHJlbW92ZSBhbGwgaWNvbnMgZnJv
bSB0aGUgZGIuCkBAIC0xODQyLDcgKzE4NDIsNyBAQCB2b2lkKiBJY29uRGF0YWJhc2U6OmNsZWFu
dXBTeW5jVGhyZWFkKCkKICAgICBtX3N5bmNEQi5jbG9zZSgpOwogICAgIAogI2lmICFMT0dfRElT
QUJMRUQKLSAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgRmluYWwgY2xvc3VyZSB0b29r
ICUuNGYgc2Vjb25kcyIsIGN1cnJlbnRUaW1lKCkgLSB0aW1lU3RhbXApOworICAgIExPRyhJY29u
RGF0YWJhc2UsICIoVEhSRUFEKSBGaW5hbCBjbG9zdXJlIHRvb2sgJS40ZiBzZWNvbmRzIiwgbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXApOwogI2VuZGlmCiAgICAgCiAg
ICAgbV9zeW5jVGhyZWFkUnVubmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAppbmRleCA4ZGE2NzhiNDkyYTYwMDRhZjQxOWI3
Y2U0OWFhMTMzOTRjOWMxZTc0Li45MzE4NGJmMzIyMjk0Yjc0MjY5ZTk4ODg1MWE5MjQyNjhlYjU4
MWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25C
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNl
LmNwcApAQCAtNjUwLDcgKzY1MCw3IEBAIHZvaWQgQW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1l
KGRvdWJsZSB0KQogICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IHN0YXJ0ZWQgeWV0LCBtYWtlIGl0
IGFzIGlmIHdlIHN0YXJ0ZWQuCiAgICAgICAgIExPRyhBbmltYXRpb25zLCAiJXAgQW5pbWF0aW9u
U3RhdGUgJXMgLT4gU3RhcnRXYWl0UmVzcG9uc2UiLCB0aGlzLCBuYW1lRm9yU3RhdGUobV9hbmlt
U3RhdGUpKTsKICAgICAgICAgbV9hbmltU3RhdGUgPSBBbmltYXRpb25TdGF0ZVN0YXJ0V2FpdFJl
c3BvbnNlOwotICAgICAgICBvbkFuaW1hdGlvblN0YXJ0UmVzcG9uc2UoY3VycmVudFRpbWUoKSk7
CisgICAgICAgIG9uQW5pbWF0aW9uU3RhcnRSZXNwb25zZShtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSk7CiAgICAgfQogCiAgICAgQVNTRVJUKG1fc3RhcnRUaW1lKTsgICAgICAgIC8vIGlm
IG1fc3RhcnRUaW1lIGlzIHplcm8sIHdlIGhhdmVuJ3Qgc3RhcnRlZCB5ZXQsIHNvIHdlJ2xsIGdl
dCBhIGJhZCBwYXVzZSB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA1MjBhMzk2ZWQyMTEwYWQ3MDUzMTZm
NWYxNGM4ODkyOWU1MzRhZjM5Li5hYzZiYjk0YTMxOTFiZTdhMzdmM2M1NDVlYzMzZGUzMjIyMGEw
YjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25Db250cm9sbGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIGJvb2wgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJPYmplY3QqIHJlbmRlcmVy
LCBjCiBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZSgpCiB7CiAgICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGNCZWdp
bkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCi0gICAgICAgIG1fYmVnaW5BbmltYXRpb25VcGRh
dGVUaW1lID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICByZXR1cm4gbV9iZWdpbkFu
aW1hdGlvblVwZGF0ZVRpbWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKaW5kZXggMjA2ZDcw
N2IzYWQxNTAxYWU1MWIzMWQ1NjI0ODBkYmE2MmUwNWZlZS4uMDkzYmYxNjgwMTA2MzViNjEwY2Q2
ODY3OTJjNWI3ZWM3N2FlOTg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckFuaW1hdGlvbi5jcHAKQEAgLTMyMyw3ICsz
MjMsNyBAQCBkb3VibGUgR3JhcGhpY3NMYXllckFuaW1hdGlvbjo6Y29tcHV0ZVRvdGFsUnVubmlu
Z1RpbWUoKQogICAgICAgICByZXR1cm4gbV9wYXVzZVRpbWU7CiAKICAgICBkb3VibGUgb2xkTGFz
dFJlZnJlc2hlZFRpbWUgPSBtX2xhc3RSZWZyZXNoZWRUaW1lOwotICAgIG1fbGFzdFJlZnJlc2hl
ZFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisgICAgbV9sYXN0UmVmcmVzaGVkVGltZSA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIG1fdG90YWxSdW5uaW5nVGltZSArPSBt
X2xhc3RSZWZyZXNoZWRUaW1lIC0gb2xkTGFzdFJlZnJlc2hlZFRpbWU7CiAgICAgcmV0dXJuIG1f
dG90YWxSdW5uaW5nVGltZTsKIH0KQEAgLTMzOCw3ICszMzgsNyBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXJBbmltYXRpb246OnJlc3VtZSgpCiB7CiAgICAgc2V0U3RhdGUoUGxheWluZ1N0YXRlKTsKICAg
ICBtX3RvdGFsUnVubmluZ1RpbWUgPSBtX3BhdXNlVGltZTsKLSAgICBtX2xhc3RSZWZyZXNoZWRU
aW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIG1fbGFzdFJlZnJlc2hlZFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQW5pbWF0
aW9uczo6YWRkKGNvbnN0IEdyYXBoaWNzTGF5ZXJBbmltYXRpb24mIGFuaW1hdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uQ0YuY3BwCmluZGV4IDM2YTFjNmQ0YTY3ZGY1YTgwNzg1M2QxZGM1OTBmMDNkNjZmNDhiMDcu
LjJlOGZiNDQ5ZmQwNDQ0OWYyNWQ4MjY3N2UyM2IzZWQ4NDYxM2U4YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNG
LmNwcApAQCAtMTYyMiwxNCArMTYyMiwxNCBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gQVZGV3Jh
cHBlcjo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZsb2F0IHRpbWUsIGNvbnN0IEludAogICAg
ICAgICByZXR1cm4gMDsKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgc3RhcnQgPSBX
VEY6OmN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHN0YXJ0ID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CiAjZW5kaWYKIAogICAgIEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yU2V0TWF4
aW11bVNpemUobV9pbWFnZUdlbmVyYXRvci5nZXQoKSwgQ0dTaXplKHJlY3Quc2l6ZSgpKSk7CiAg
ICAgQ0dJbWFnZVJlZiBpbWFnZSA9IEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yQ29weUNHSW1hZ2VB
dFRpbWUobV9pbWFnZUdlbmVyYXRvci5nZXQoKSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUs
IDYwMCksIDAsIDApOwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlvbiA9
IFdURjo6Y3VycmVudFRpbWUoKSAtIHN0YXJ0OworICAgIGRvdWJsZSBkdXJhdGlvbiA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAiQVZGV3Jh
cHBlcjo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KCVwKSAtIGNyZWF0aW5nIGltYWdlIHRvb2sg
JS40ZiIsIHRoaXMsIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoZHVyYXRpb24pKTsKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCAxNjE1MzQwZWVjMTE1MmMzMzY2NjM5YjQxZmNj
NWI0ZTg1ZGU5ZTJjLi41MDI0NjI5ZGZkY2YzNzRkZjFhYTNlMWE3MGI5MmZlYWM3NjI4MTRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTg1MCwxNCArODUwLDE0IEBAIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVJbWFn
ZUZvclRpbWVJblJlCiAgICAgQVNTRVJUKG1faW1hZ2VHZW5lcmF0b3IpOwogCiAjaWYgIUxPR19E
SVNBQkxFRAotICAgIGRvdWJsZSBzdGFydCA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBkb3Vi
bGUgc3RhcnQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogCiAgICAg
W21faW1hZ2VHZW5lcmF0b3IuZ2V0KCkgc2V0TWF4aW11bVNpemU6Q0dTaXplKHJlY3Quc2l6ZSgp
KV07CiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlID0gYWRvcHRDRihbbV9pbWFnZUdl
bmVyYXRvci5nZXQoKSBjb3B5Q0dJbWFnZUF0VGltZTpDTVRpbWVNYWtlV2l0aFNlY29uZHModGlt
ZSwgNjAwKSBhY3R1YWxUaW1lOm5pbCBlcnJvcjpuaWxdKTsKIAogI2lmICFMT0dfRElTQUJMRUQK
LSAgICBkb3VibGUgZHVyYXRpb24gPSBXVEY6OmN1cnJlbnRUaW1lKCkgLSBzdGFydDsKKyAgICBk
b3VibGUgZHVyYXRpb24gPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHN0YXJ0Owog
ICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0
ZUltYWdlRm9yVGltZUluUmVjdCglcCkgLSBjcmVhdGluZyBpbWFnZSB0b29rICUuNGYiLCB0aGlz
LCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9uKSk7CiAjZW5kaWYKIApAQCAtMTEzNSw3
ICsxMTM1LDcgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBpeGVsQnVmZmUKICAgICBBU1NFUlQobV92aWRlb091
dHB1dCk7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHN0YXJ0ID0gV1RGOjpjdXJy
ZW50VGltZSgpOworICAgIGRvdWJsZSBzdGFydCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogI2VuZGlmCiAKICAgICBDTVRpbWUgY3VycmVudFRpbWUgPSBbbV9hdlBsYXllckl0ZW0u
Z2V0KCkgY3VycmVudFRpbWVdOwpAQCAtMTE2Miw3ICsxMTYyLDcgQEAgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBp
eGVsQnVmZmUKICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IFdURjo6Y3VycmVudFRpbWUoKSAtIHN0YXJ0OworICAgIGRvdWJsZSBkdXJhdGlvbiA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAiTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlUGl4ZWxCdWZmZXIoKSAtIGNy
ZWF0aW5nIGJ1ZmZlciB0b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1
cmF0aW9uKSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKaW5kZXggMjdhNjVjOGUxNGVjNjBiZTRh
YWQxYzgyODJmNmRiNzRiMTYzM2JlNC4uNWQ0Mjc0ZjA2MmRlNmI2MDlkYWEwMGNmZTQ0ODNkOGMw
Njg2MmU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0yNTI2LDcgKzI1MjYsNyBAQCBib29sIEdyYXBo
aWNzTGF5ZXJDQTo6c2V0RmlsdGVyQW5pbWF0aW9uS2V5ZnJhbWVzKGNvbnN0IEtleWZyYW1lVmFs
dWVMaXN0JiB2YWx1ZQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c3VzcGVuZEFuaW1hdGlvbnMo
ZG91YmxlIHRpbWUpCiB7Ci0gICAgZG91YmxlIHQgPSBQbGF0Zm9ybUNBTGF5ZXI6OmN1cnJlbnRU
aW1lVG9NZWRpYVRpbWUodGltZSA/IHRpbWUgOiBjdXJyZW50VGltZSgpKTsKKyAgICBkb3VibGUg
dCA9IFBsYXRmb3JtQ0FMYXllcjo6Y3VycmVudFRpbWVUb01lZGlhVGltZSh0aW1lID8gdGltZSA6
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKICAgICBwcmltYXJ5TGF5ZXIoKS0+c2V0
U3BlZWQoMCk7CiAgICAgcHJpbWFyeUxheWVyKCktPnNldFRpbWVPZmZzZXQodCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVy
LmgKaW5kZXggY2M5NjA5NGNmYjYwZDk1MzJmNWE0YWZlYjY0YzliYzRhNGFlYzQzMC4uNjk4ODM1
ZTA5MjZmYzQ1MTJiZWQ5ZWM5ZGQxZmZjOTFiODM3ZGU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTUxLDcg
KzUxLDcgQEAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gPiBQbGF0Zm9y
bUNBTGF5ZXJMaXN0OwogCiBjbGFzcyBQbGF0Zm9ybUNBTGF5ZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQbGF0Zm9ybUNBTGF5ZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgQ0ZUaW1lSW50ZXJ2YWwg
Y3VycmVudFRpbWVUb01lZGlhVGltZShkb3VibGUgdCkgeyByZXR1cm4gQ0FDdXJyZW50TWVkaWFU
aW1lKCkgKyB0IC0gV1RGOjpjdXJyZW50VGltZSgpOyB9CisgICAgc3RhdGljIENGVGltZUludGVy
dmFsIGN1cnJlbnRUaW1lVG9NZWRpYVRpbWUoZG91YmxlIHQpIHsgcmV0dXJuIENBQ3VycmVudE1l
ZGlhVGltZSgpICsgdCAtIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOyB9CiAKICAgICAv
LyBMYXllclR5cGVSb290TGF5ZXIgaXMgdXNlZCBvbiBzb21lIHBsYXRmb3Jtcy4gSXQgaGFzIG5v
IGJhY2tpbmcgc3RvcmUsIHNvIHNldE5lZWRzRGlzcGxheQogICAgIC8vIHNob3VsZCBub3QgY2Fs
bCBDQUNGTGF5ZXJTZXROZWVkc0Rpc3BsYXksIGJ1dCByYXRoZXIganVzdCBub3RpZnkgdGhlIHJl
bmRlcmVyIHRoYXQgaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9MYXllclBvb2wubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvTGF5ZXJQb29sLm1tCmluZGV4IDFlMTM0NWI3NTlkOWJjNTgxMGUyNDBhYzBlODhk
YTJiYjBhZjA4ZTQuLjZmZjFlYzg0YzI2MmZkMzBhYjk5NzVhMjZjNzEzMzE3YzQ0ZjQyZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9MYXllclBv
b2wubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVy
UG9vbC5tbQpAQCAtNzUsNyArNzUsNyBAQCB2b2lkIExheWVyUG9vbDo6YWRkTGF5ZXIoY29uc3Qg
UmV0YWluUHRyPFdlYlRpbGVMYXllcj4mIGxheWVyKQogICAgIGxpc3RPZkxheWVyc1dpdGhTaXpl
KGxheWVyU2l6ZSkucHJlcGVuZChsYXllcik7CiAgICAgbV90b3RhbEJ5dGVzICs9IGJhY2tpbmdT
dG9yZUJ5dGVzRm9yU2l6ZShsYXllclNpemUpOwogICAgIAotICAgIG1fbGFzdEFkZFRpbWUgPSBj
dXJyZW50VGltZSgpOworICAgIG1fbGFzdEFkZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKICAgICBzY2hlZHVsZVBydW5lKCk7CiB9CiAKQEAgLTkzLDcgKzkzLDcgQEAgUmV0
YWluUHRyPFdlYlRpbGVMYXllcj4gTGF5ZXJQb29sOjp0YWtlTGF5ZXJXaXRoU2l6ZShjb25zdCBJ
bnRTaXplJiBzaXplKQogdW5zaWduZWQgTGF5ZXJQb29sOjpkZWNheWVkQ2FwYWNpdHkoKSBjb25z
dAogewogICAgIC8vIERlY2F5IHRvIG9uZSBxdWFydGVyIG92ZXIgY2FwYWNpdHlEZWNheVRpbWUK
LSAgICBkb3VibGUgdGltZVNpbmNlTGFzdEFkZCA9IGN1cnJlbnRUaW1lKCkgLSBtX2xhc3RBZGRU
aW1lOworICAgIGRvdWJsZSB0aW1lU2luY2VMYXN0QWRkID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBtX2xhc3RBZGRUaW1lOwogICAgIGlmICh0aW1lU2luY2VMYXN0QWRkID4gY2Fw
YWNpdHlEZWNheVRpbWUpCiAgICAgICAgIHJldHVybiBtX21heEJ5dGVzRm9yUG9vbCAvIDQ7CiAg
ICAgZmxvYXQgZGVjYXlQcm9nZXNzID0gZmxvYXQodGltZVNpbmNlTGFzdEFkZCAvIGNhcGFjaXR5
RGVjYXlUaW1lKTsKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1l
ckZpcmVkKFRpbWVyPExheWVyUG9vbD4qKQogICAgICAgICAvLyBzdGlsbCBoYXZlIGEgYmFja2lu
ZyBzdG9yZS4KICAgICAgICAgb2xkZXN0UmV1c2VMaXN0LnJlbW92ZSgtLW9sZGVzdFJldXNlTGlz
dC5lbmQoKSk7CiAgICAgfQotICAgIGlmIChjdXJyZW50VGltZSgpIC0gbV9sYXN0QWRkVGltZSA8
PSBjYXBhY2l0eURlY2F5VGltZSkKKyAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCkgLSBtX2xhc3RBZGRUaW1lIDw9IGNhcGFjaXR5RGVjYXlUaW1lKQogICAgICAgICBzY2hlZHVs
ZVBydW5lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCmluZGV4IGI3MDA0NjEzZGFl
NjgzMTA2NjRjNmJmNzM0NWRiOTVjMWUwNzk1ZDEuLmZiY2FhNzllMTQ1ZmU2MWVmMzgxMjc2NDJh
ODgzZGRiZDJjZjcyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQpAQCAtNjEsNyArNjEs
NyBAQCBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXS05vblplcm9CZWdpblRpbWVGbGFnID0gQCJX
S1BsYXRmb3JtQ0FBbmltYXRpb25Ob25aZXJvQgogCiBzdGF0aWMgZG91YmxlIG1lZGlhVGltZVRv
Q3VycmVudFRpbWUoQ0ZUaW1lSW50ZXJ2YWwgdCkKIHsKLSAgICByZXR1cm4gV1RGOjpjdXJyZW50
VGltZSgpICsgdCAtIENBQ3VycmVudE1lZGlhVGltZSgpOworICAgIHJldHVybiBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSArIHQgLSBDQUN1cnJlbnRNZWRpYVRpbWUoKTsKIH0KIAogLy8g
RGVsZWdhdGUgZm9yIGFuaW1hdGlvbkRpZFN0YXJ0IGNhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVI
b3N0LmNwcAppbmRleCAyZTRlYzVlZDZlNTlkNzIwMzUzMDI2NTZjNWVmNDc0NDgyNjdlZjRlLi42
N2ZhYTBhZTg1NWM3ODZhNDg3Njc2YTIyOTQxYjhmYWNiNzFhZDJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJU
cmVlSG9zdC5jcHAKQEAgLTMwOSw3ICszMDksNyBAQCB2b2lkIENBQ0ZMYXllclRyZWVIb3N0Ojpu
b3RpZnlBbmltYXRpb25zU3RhcnRlZCgpCiAgICAgLy8gU2VuZCBjdXJyZW50VGltZSB0byB0aGUg
cGVuZGluZyBhbmltYXRpb25zLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBDQUNGIGluIGEg
Y2FsbGJhY2sKICAgICAvLyB3aGljaCBvY2N1cnMgYWZ0ZXIgdGhlIGRyYXdJbkNvbnRleHQgY2Fs
bHMuIFNvIGN1cnJlbnRUaW1lIGlzIHZlcnkgY2xvc2UgdG8gdGhlIHRpbWUKICAgICAvLyB0aGUg
YW5pbWF0aW9ucyBhY3R1YWxseSBzdGFydAotICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IFdURjo6
Y3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKIAogICAgIEhhc2hTZXQ8UmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gPjo6
aXRlcmF0b3IgZW5kID0gbV9wZW5kaW5nQW5pbWF0ZWRMYXllcnMuZW5kKCk7CiAgICAgZm9yIChI
YXNoU2V0PFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+ID46Oml0ZXJhdG9yIGl0ID0gbV9wZW5kaW5n
QW5pbWF0ZWRMYXllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxh
eWVyV2luLmNwcAppbmRleCBmNWI3YzZmYTIzMWViN2Q0MGIwOGUyNWJhNzVmYmQwY2M2YzcwOTA3
Li41ZjcxZGRmNDE2ZjE0NDliMTU1OTYwZTM4MWExNTY2MjBmZTA3NjI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZv
cm1DQUxheWVyV2luLmNwcApAQCAtNzcxLDcgKzc3MSw3IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVy
OjpwcmludFRyZWUoKSBjb25zdAogICAgIC8vIFByaW50IGhlYWRpbmcgaW5mbwogICAgIENHUmVj
dCByb290Qm91bmRzID0gYm91bmRzKCk7CiAgICAgZnByaW50ZihzdGRlcnIsICJcblxuKiogUmVu
ZGVyIHRyZWUgYXQgdGltZSAlZyAoYm91bmRzICVnLCAlZyAlZ3glZykgKipcblxuIiwgCi0gICAg
ICAgIGN1cnJlbnRUaW1lKCksIHJvb3RCb3VuZHMub3JpZ2luLngsIHJvb3RCb3VuZHMub3JpZ2lu
LnksIHJvb3RCb3VuZHMuc2l6ZS53aWR0aCwgcm9vdEJvdW5kcy5zaXplLmhlaWdodCk7CisgICAg
ICAgIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLCByb290Qm91bmRzLm9yaWdpbi54LCBy
b290Qm91bmRzLm9yaWdpbi55LCByb290Qm91bmRzLnNpemUud2lkdGgsIHJvb3RCb3VuZHMuc2l6
ZS5oZWlnaHQpOwogCiAgICAgLy8gUHJpbnQgbGF5ZXIgdHJlZSBmcm9tIHRoZSByb290CiAgICAg
cHJpbnRMYXllcih0aGlzLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBw
ZXIuY3BwCmluZGV4IGYxMjgwN2JlNjM2NmU2NWQ1ZmZjY2Q4NzJlOWQzOTdkMzkzZmEwNGEuLmM5
OWM4MDgwZDdmZjMyOTEyOGU2NzkyYTc2MGViNjI5NzhhOGM3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcApAQCAtNjM4LDcgKzYzOCw3IEBAIGJvb2wgR3Jh
cGhpY3NMYXllclRleHR1cmVNYXBwZXI6OmFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVl
TGlzdCYgdmFsdWVMaXN0CiAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVk
UHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pCiAgICAgICAgIGxpc3RzTWF0Y2ggPSB2YWxpZGF0ZVRy
YW5zZm9ybU9wZXJhdGlvbnModmFsdWVMaXN0LCBoYXNCaWdSb3RhdGlvbikgPj0gMDsKIAotICAg
IGNvbnN0IGRvdWJsZSBjdXJyZW50VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBjb25z
dCBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAg
ICBtX2FuaW1hdGlvbnMuYWRkKEdyYXBoaWNzTGF5ZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwg
dmFsdWVMaXN0LCBib3hTaXplLCBhbmltLCBjdXJyZW50VGltZSAtIHRpbWVPZmZzZXQsIGxpc3Rz
TWF0Y2gpKTsKICAgICAvLyBtX2FuaW1hdGlvblN0YXJ0VGltZSBpcyB0aGUgdGltZSBvZiB0aGUg
Zmlyc3QgcmVhbCBmcmFtZSBvZiBhbmltYXRpb24sIG5vdyBvciBkZWxheWVkIGJ5IGEgbmVnYXRp
dmUgb2Zmc2V0LgogICAgIGlmICh0aW1lT2Zmc2V0ID4gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckZQU0NvdW50ZXIuY3BwCmluZGV4IDE3MDRmNDc3ZDE4OTJjMTk4OTk2NWZiOWJmYWQwM2RhZWNk
NzNlMjUuLmQ3NDQ3NzAxMGEzOGIzYjEwOGZkYzk3ODk2ZDY5YjBjN2M5NzUzNTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
RlBTQ291bnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcApAQCAtNDIsNyArNDIsNyBAQCBUZXh0dXJl
TWFwcGVyRlBTQ291bnRlcjo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIoKQogICAgIG1fZnBzSW50
ZXJ2YWwgPSBzaG93RlBTRW52aXJvbm1lbnQudG9Eb3VibGUoJm9rKTsKICAgICBpZiAob2sgJiYg
bV9mcHNJbnRlcnZhbCkgewogICAgICAgICBtX2lzU2hvd2luZ0ZQUyA9IHRydWU7Ci0gICAgICAg
IG1fZnBzVGltZXN0YW1wID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgICAgICBtX2Zwc1RpbWVz
dGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIH0KIH0KIApAQCAtNTIs
NyArNTIsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjp1cGRhdGVGUFNBbmREaXNw
bGF5KFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fZnJhbWVDb3VudCsrOwotICAgIGRvdWJsZSBkZWx0YSA9IFdURjo6Y3VycmVudFRpbWUoKSAt
IG1fZnBzVGltZXN0YW1wOworICAgIGRvdWJsZSBkZWx0YSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIC0gbV9mcHNUaW1lc3RhbXA7CiAgICAgaWYgKGRlbHRhID49IG1fZnBzSW50ZXJ2
YWwpIHsKICAgICAgICAgbV9sYXN0RlBTID0gaW50KG1fZnJhbWVDb3VudCAvIGRlbHRhKTsKICAg
ICAgICAgbV9mcmFtZUNvdW50ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggN2U3MGJiYjBkNGFjZTQ0ODk3MTZi
NDhhODZiNDNlOTM2OTIzZTI3My4uNzdkYzBlMWU5YjUwZTYxNjExNTI2MTBlNGM4NWQ1NzA2YmQz
NWY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKQEAgLTEyMTYsNyArMTIxNiw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlz
dCwKICAgICBpZiAodmFsdWVMaXN0LnByb3BlcnR5KCkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVdlYmtp
dFRyYW5zZm9ybSkKICAgICAgICAgbGlzdHNNYXRjaCA9IHZhbGlkYXRlVHJhbnNmb3JtT3BlcmF0
aW9ucyh2YWx1ZUxpc3QsIGlnbm9yZWRIYXNCaWdSb3RhdGlvbikgPj0gMDsKIAotICAgIG1fbGFz
dEFuaW1hdGlvblN0YXJ0VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKSAtIGRlbGF5QXNOZWdhdGl2
ZVRpbWVPZmZzZXQ7CisgICAgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgLSBkZWxheUFzTmVnYXRpdmVUaW1lT2Zmc2V0OwogICAgIG1fYW5p
bWF0aW9ucy5hZGQoR3JhcGhpY3NMYXllckFuaW1hdGlvbihrZXlmcmFtZXNOYW1lLCB2YWx1ZUxp
c3QsIGJveFNpemUsIGFuaW0sIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSwgbGlzdHNNYXRjaCkp
OwogICAgIG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKICAgICBkaWRD
aGFuZ2VBbmltYXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggMGVmMjA0OWVlOTkzNmY1MGM0NTNhMWMzYzk0
ZGEwMjM0YzQ1N2Q1OS4uOThhNWViN2Y1MWQ0NTYyNjc3YWZiZjhhOWE0NzM1ZTM4N2M2MjRkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVl
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1
ZXVlLmNwcApAQCAtNTgsNyArNTgsNyBAQCBETlNSZXNvbHZlUXVldWU6OkROU1Jlc29sdmVRdWV1
ZSgpCiAKIGJvb2wgRE5TUmVzb2x2ZVF1ZXVlOjppc1VzaW5nUHJveHkoKQogewotICAgIGRvdWJs
ZSB0aW1lID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb3h5Q2hl
Y2tEZWxheSA9IDU7CiAgICAgaWYgKHRpbWUgLSBtX2xhc3RQcm94eUVuYWJsZWRTdGF0dXNDaGVj
a1RpbWUgPiBtaW5pbXVtUHJveHlDaGVja0RlbGF5KSB7CiAgICAgICAgIG1fbGFzdFByb3h5RW5h
YmxlZFN0YXR1c0NoZWNrVGltZSA9IHRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCmluZGV4IGM1ZjMwODFj
MGQ2NDdjZDJjMjZjNThkZWUzMzkxZjg1ZWUyMjEwOWUuLmIzMjcyODk4MGVmMDY0NDIxNGYwNzFm
OTI3MmY0MmJhMThjN2MzMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvd2lu
L1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZv
aWQgUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6YXBwZW5kTWVzc2FnZShIV05EIGhXbmQsIFVJ
TlQgbXNnLCBXUEFSQU0gd1BhcmFtCiAKICAgICAvLyBJZiBpdCBoYXMgYmVlbiBtb3JlIHRoYW4g
TWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZhbCBiZXR3ZWVuIHRocm90dGxlZCBtZXNzYWdl
cywKICAgICAvLyBnbyBhaGVhZCBhbmQgcHJvY2VzcyBhIG1lc3NhZ2UgZGlyZWN0bHkuCi0gICAg
ZG91YmxlIGN1cnJlbnRUaW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBjdXJy
ZW50VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIGlmIChjdXJyZW50
VGltZSAtIG1fbGFzdE1lc3NhZ2VUaW1lID4gTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZh
bCkgewogICAgICAgICBwcm9jZXNzUXVldWVkTWVzc2FnZSgpOwogICAgICAgICBtX2xhc3RNZXNz
YWdlVGltZSA9IGN1cnJlbnRUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA4M2VkYmY5ZWFjZjEyMzY4YTY1NzEyNGM4
ZGFjZjAwMmZhMjA5YjRhLi40YWJhNGI3NGE2ZGRmZDgzZGU0MGE3OWZjOGM0MzFiMDVmNTZiZDVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcApAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpk
aWRQYWludEJhY2tpbmcoUmVuZGVyTGF5ZXJCYWNraW5nKikKIHsKICAgICBGcmFtZVZpZXcqIGZy
YW1lVmlldyA9IG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCk7CiAgICAgCi0gICAgZnJhbWVWaWV3
LT5zZXRMYXN0UGFpbnRUaW1lKGN1cnJlbnRUaW1lKCkpOworICAgIGZyYW1lVmlldy0+c2V0TGFz
dFBhaW50VGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CiAgICAgCiAgICAgaWYg
KGZyYW1lVmlldy0+bWlsZXN0b25lc1BlbmRpbmdQYWludCgpICYmICFtX3BhaW50UmVsYXRlZE1p
bGVzdG9uZXNUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3BhaW50UmVsYXRlZE1pbGVzdG9u
ZXNUaW1lci5zdGFydE9uZVNob3QoMCk7CkBAIC01NjIsNyArNTYyLDcgQEAgdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRl
VHlwZSB1cGRhdGUKICAgICBkb3VibGUgc3RhcnRUaW1lID0gMDsKICAgICBpZiAoY29tcG9zaXRp
bmdMb2dFbmFibGVkKCkpIHsKICAgICAgICAgKyttX3Jvb3RMYXllclVwZGF0ZUNvdW50OwotICAg
ICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgICAgICBzdGFydFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICB9CiAjZW5kaWYKIApAQCAtNjE0LDcgKzYx
NCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVy
cyhDb21wb3NpdGluZ1VwZGF0ZVR5cGUgdXBkYXRlCiAgICAgCiAjaWYgIUxPR19ESVNBQkxFRAog
ICAgIGlmIChjb21wb3NpdGluZ0xvZ0VuYWJsZWQoKSAmJiBpc0Z1bGxVcGRhdGUgJiYgKG5lZWRI
aWVyYXJjaHlVcGRhdGUgfHwgbmVlZEdlb21ldHJ5VXBkYXRlKSkgewotICAgICAgICBkb3VibGUg
ZW5kVGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIGRvdWJsZSBlbmRUaW1lID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIExPRyhDb21wb3NpdGluZywgIlRvdGFs
IGxheWVycyAgIHByaW1hcnkgICBzZWNvbmRhcnkgICBvYmxpZ2F0b3J5IGJhY2tpbmcgKEtCKSAg
IHNlY29uZGFyeSBiYWNraW5nKEtCKSAgIHRvdGFsIGJhY2tpbmcgKEtCKSAgdXBkYXRlIHRpbWUg
KG1zKVxuIik7CiAKICAgICAgICAgTE9HKENvbXBvc2l0aW5nLCAiJThkICUxMWQgJTlkICUyMC4y
ZiAlMjIuMmYgJTIyLjJmICUxOC4yZlxuIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IGFkMWIzMzhhZDAzMDhmOTk5ZTYyNWNiNDk4MDg0MzM2ODgz
NDg5NmIuLmRjODE0YTA0MmZlYTQ4NDliNjFiNGZhMjk4ODViYzg3MjkwNjAyZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtNjcsNyArNjcsNyBA
QCBib29sIFJlbmRlclByb2dyZXNzOjpjYW5CZVJlcGxhY2VkV2l0aElubGluZVJ1bkluKCkgY29u
c3QKIAogZG91YmxlIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25Qcm9ncmVzcygpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIG1fYW5pbWF0aW5nID8gKGZtb2QoKGN1cnJlbnRUaW1lKCkgLSBtX2FuaW1h
dGlvblN0YXJ0VGltZSksIG1fYW5pbWF0aW9uRHVyYXRpb24pIC8gbV9hbmltYXRpb25EdXJhdGlv
bikgOiAwOworICAgIHJldHVybiBtX2FuaW1hdGluZyA/IChmbW9kKChtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAtIG1fYW5pbWF0aW9uU3RhcnRUaW1lKSwgbV9hbmltYXRpb25EdXJhdGlv
bikgLyBtX2FuaW1hdGlvbkR1cmF0aW9uKSA6IDA7CiB9CiAKIGJvb2wgUmVuZGVyUHJvZ3Jlc3M6
OmlzRGV0ZXJtaW5hdGUoKSBjb25zdApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIFJlbmRlclByb2dy
ZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCiAKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGlu
ZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKLSAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUg
PSBjdXJyZW50VGltZSgpOworICAgICAgICBtX2FuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9h
bmltYXRpb25UaW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5p
bWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRp
b24vU01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4IGU2M2JkNDgxMzI3ZjE5MzNjMDA1NmIxNWE1
NTA5ODcyY2UzZTgxM2QuLmM0NzliZjNlMDEzNjQxNTcyMjJjZmM3Y2QxZDg2ZjI2Y2EzNzU0OTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWlu
ZXIuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgU01JTFRpbWUgU01JTFRpbWVDb250YWluZXI6OmVs
YXBzZWQoKSBjb25zdAogewogICAgIGlmICghbV9iZWdpblRpbWUpCiAgICAgICAgIHJldHVybiAw
OwotICAgIHJldHVybiBjdXJyZW50VGltZSgpIC0gbV9iZWdpblRpbWUgLSBtX2FjY3VtdWxhdGVk
UGF1c2VUaW1lOworICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1f
YmVnaW5UaW1lIC0gbV9hY2N1bXVsYXRlZFBhdXNlVGltZTsKIH0KIAogYm9vbCBTTUlMVGltZUNv
bnRhaW5lcjo6aXNBY3RpdmUoKSBjb25zdApAQCAtMTMxLDcgKzEzMSw3IEBAIGJvb2wgU01JTFRp
bWVDb250YWluZXI6OmlzU3RhcnRlZCgpIGNvbnN0CiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpi
ZWdpbigpCiB7CiAgICAgQVNTRVJUKCFtX2JlZ2luVGltZSk7Ci0gICAgZG91YmxlIG5vdyA9IGN1
cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogCiAgICAgLy8gSWYgJ21fcHJlc2V0U3RhcnRUaW1lJyBpcyBzZXQsIHRoZSB0aW1lbGlu
ZSB3YXMgbW9kaWZpZWQgdmlhIHNldEVsYXBzZWQoKSBiZWZvcmUgdGhlIGRvY3VtZW50IGJlZ2Fu
LgogICAgIC8vIEluIHRoaXMgY2FzZSBwYXNzIG9uICdzZWVrVG9UaW1lPXRydWUnIHRvIHVwZGF0
ZUFuaW1hdGlvbnMoKS4KQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVy
OjpiZWdpbigpCiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpwYXVzZSgpCiB7CiAgICAgQVNTRVJU
KCFpc1BhdXNlZCgpKTsKLSAgICBtX3BhdXNlVGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgbV9w
YXVzZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIAogICAgIGlmIChtX2Jl
Z2luVGltZSkKICAgICAgICAgbV90aW1lci5zdG9wKCk7CkBAIC0xNTksNyArMTU5LDcgQEAgdm9p
ZCBTTUlMVGltZUNvbnRhaW5lcjo6cmVzdW1lKCkKICAgICBBU1NFUlQoaXNQYXVzZWQoKSk7CiAK
ICAgICBpZiAobV9iZWdpblRpbWUpCi0gICAgICAgIG1fYWNjdW11bGF0ZWRQYXVzZVRpbWUgKz0g
Y3VycmVudFRpbWUoKSAtIG1fcGF1c2VUaW1lOworICAgICAgICBtX2FjY3VtdWxhdGVkUGF1c2VU
aW1lICs9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9wYXVzZVRpbWU7CiAKICAg
ICBtX3BhdXNlVGltZSA9IDA7CiAgICAgc3RhcnRUaW1lcigwKTsKQEAgLTE3Niw3ICsxNzYsNyBA
QCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzZXRFbGFwc2VkKFNNSUxUaW1lIHRpbWUpCiAgICAg
aWYgKG1fYmVnaW5UaW1lKQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIGRvdWJsZSBu
b3cgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKICAgICBtX2JlZ2luVGltZSA9IG5vdyAtIHRpbWUudmFsdWUoKTsKIAogICAg
IG1fYWNjdW11bGF0ZWRQYXVzZVRpbWUgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209790</attachid>
            <date>2013-08-27 12:12:26 -0700</date>
            <delta_ts>2013-08-27 13:46:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119958-20130828004220.patch</filename>
            <type>text/plain</type>
            <size>39612</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUyYjc0YmQ5MzI2ZjU0NGVkNTRhNzM0
YjJkMmZlYTM2MDczODRhNWMuLmUxZTY3ZjVhYWIwZmQ1MTI4NTliMDhjNGViYjk2MzIyNzdhNDU4
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDgtMjcgIEFydW5wcmFzYWQgUmFqa3VtYXIg
IDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAgICAgICAgUmVwbGFjZSBjdXJyZW50VGltZSgpIHdp
dGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgaW4gV2ViQ29yZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5OTU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1RGOjpjdXJyZW50VGltZSgpIGlz
IHByb25lIHRvIE5UUCBhbmQgbWFudWFsIGFkanVzdG1lbnRzLCBzbyB1c2UKKyAgICAgICAgV1RG
Ojptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB0byBtZWFzdXJlIGVsYXBzZWQgdGltZS4K
KworICAgICAgICBJdCBpcyBhIGNvbnRpbnVhdGlvbiBvZiByMTU0MjAxLgorCisgICAgICAgICog
d3RmL0N1cnJlbnRUaW1lLmg6IEVkaXRlZCBjb21tZW50LgorCiAyMDEzLTA4LTI3ICBBbmRyZSBN
b3JlaXJhIE1hZ2FsaGFlcyAgIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgogCiAg
ICAgICAgIFtnc3RyZWFtZXJdIE1ha2Ugc3VyZSBnc3RyZWFtZXIgc291cmNlIGVsZW1lbnQgaXMg
dGhyZWFkLXNhZmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyOWRkMmQ5ZDE0Njc3ZTVmNTA3MjA4NWZkMmIwNjVl
Njc1ZWRjNzRmLi41ZTM1OTdhZTI5ZDQ4MzY2ZmNkNzFjNmE5ZjNiMjI1ZGE5YmVhMjk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsODkgQEAKKzIwMTMtMDgtMjcgIEFydW5wcmFzYWQgUmFqa3VtYXIg
IDxhcnVyYWprdUBjaXNjby5jb20+CisKKyAgICAgICAgUmVwbGFjZSBjdXJyZW50VGltZSgpIHdp
dGggbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgaW4gV2ViQ29yZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5OTU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1RGOjpjdXJyZW50VGltZSgpIGlz
IHByb25lIHRvIE5UUCBhbmQgbWFudWFsIGFkanVzdG1lbnRzLCBzbyB1c2UKKyAgICAgICAgV1RG
Ojptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB0byBtZWFzdXJlIGVsYXBzZWQgdGltZS4K
KworICAgICAgICBJdCBpcyBhIGNvbnRpbnVhdGlvbiBvZiByMTU0MjAxLgorCisgICAgICAgICog
aGlzdG9yeS9DYWNoZWRQYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFBhZ2U6OkNh
Y2hlZFBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUGFnZTo6aGFzRXhwaXJlZCk6Cisg
ICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6Y2hlY2tGb3JZaWVsZEJlZm9yZVRva2VuKToKKyAg
ICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6cGFyc2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW06
OmFsbG93c1JlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0U3RhdGUpOgorICAgICAgICAqIGxvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyOjpp
bmNyZW1lbnRQcm9ncmVzcyk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxl
U2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkQ1NTU3R5bGVTaGVldDo6cmVzdG9y
ZVBhcnNlZFN0eWxlU2hlZXQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6ZGlkRHJhdyk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNh
Y2hlOjpwcnVuZUxpdmVSZXNvdXJjZXNUb1NpemUpOgorICAgICAgICAqIGxvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uRGF0YWJhc2U6Omljb25EYXRh
YmFzZVN5bmNUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjpzeW5jVGhy
ZWFkTWFpbkxvb3ApOgorICAgICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjpyZWFkRnJvbURh
dGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6d3JpdGVUb0RhdGFiYXNl
KToKKyAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6Y2xlYW51cFN5bmNUaHJlYWQpOgor
ICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1lKToKKyAgICAgICAgKiBwYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbjo6Y29tcHV0ZVRvdGFsUnVubmluZ1RpbWUp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbjo6cmVzdW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVZGV3JhcHBlcjo6Y3Jl
YXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRl
SW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBpeGVsQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjpzdXNwZW5kQW5pbWF0aW9ucyk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNB
TGF5ZXI6OmN1cnJlbnRUaW1lVG9NZWRpYVRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9MYXllclBvb2wubW06CisgICAgICAgIChXZWJDb3JlOjpMYXllclBvb2w6OmFk
ZExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6ZGVjYXllZENhcGFjaXR5KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6cHJ1bmVUaW1lckZpcmVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tOgorICAgICAg
ICAobWVkaWFUaW1lVG9DdXJyZW50VGltZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNBQ0ZMYXll
clRyZWVIb3N0Ojpub3RpZnlBbmltYXRpb25zU3RhcnRlZCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHA6CisgICAgICAgIChQbGF0Zm9y
bUNBTGF5ZXI6OnByaW50VHJlZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291bnRlcjo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OnVwZGF0ZUZQU0Fu
ZERpc3BsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6aXNVc2luZ1Byb3h5KToKKyAgICAgICAgKiBwbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdl
VGhyb3R0bGVyV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpbk1lc3NhZ2VUaHJvdHRs
ZXJXaW46OmFwcGVuZE1lc3NhZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpk
aWRQYWludEJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9y
Ojp1cGRhdGVDb21wb3NpdGluZ0xheWVycyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclBy
b2dyZXNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjphbmltYXRpb25Q
cm9ncmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0
aW9uU3RhdGUpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OmVsYXBzZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6
OlNNSUxUaW1lQ29udGFpbmVyOjpwYXVzZSk6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNv
bnRhaW5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpz
ZXRFbGFwc2VkKToKKwogMjAxMy0wOC0yNyAgSmFja3kgSmlhbmcgIDx6aGFqaWFuZ0BibGFja2Jl
cnJ5LmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gUm90YXRlIGRldmljZSBmcm9tIGxhbmRz
Y2FwZSB0byBwb3J0cmFpdCBkdXJpbmcgeW91dHViZSBzdHJlYW1pbmcgd2lsbCBjYXVzZSBkZXZp
Y2Ugc2NyZWVuIGZsYXNoIHdpdGggdmlkZW8gbGlzdCBwYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9DdXJyZW50VGltZS5oIGIvU291cmNlL1dURi93dGYvQ3VycmVudFRpbWUuaAppbmRl
eCAyNGIyYTMwYjRkOWQ5MzNkMTZkNDczZmNkZjg2MTIwYTgzYmZkYzVhLi5iZjlmYjMzYWZmYjkz
Y2UzN2RjZDViNWI3ZTVlZTViM2EzZTMzMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9D
dXJyZW50VGltZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmgKQEAgLTUyLDcg
KzUyLDcgQEAgaW5saW5lIGRvdWJsZSBjdXJyZW50VGltZU1TKCkKIC8vIFByb3ZpZGVzIGEgbW9u
b3RvbmljYWxseSBpbmNyZWFzaW5nIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSBhbiBhcmJpdHJhcnkg
cG9pbnQgaW4gdGhlIHBhc3QuCiAvLyBPbiB1bnN1cHBvcnRlZCBwbGF0Zm9ybXMsIHRoaXMgZnVu
Y3Rpb24gb25seSBndWFyYW50ZWVzIHRoZSByZXN1bHQgd2lsbCBiZSBub24tZGVjcmVhc2luZy4K
IC8vIFJlc3VsdCBvZiB0aGlzIGZ1bmN0aW9uIGluY3JlYXNlcyBtb25vdG9uaWNhbGx5IGV2ZW4g
d2hlbiBjbG9jayB0aW1lIGdvZXMgYmFjayBkdWUgdG8KLS8vIERTVCBjaGFuZ2VzIG9yIE5UUCBh
ZGp1c3RtZW50cywgc28gaXQgYmV0dGVyIHN1aXRzIGZvciBlbGFwc2VkIHRpbWUgbWVhc3VyZW1l
bnQuCisvLyBOVFAgb3IgbWFudWFsIGFkanVzdG1lbnRzLCBzbyBpdCBpcyBiZXR0ZXIgc3VpdGVk
IGZvciBlbGFwc2VkIHRpbWUgbWVhc3VyZW1lbnQuCiBXVEZfRVhQT1JUX1BSSVZBVEUgZG91Ymxl
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiBpbmxpbmUgZG91YmxlIG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZU1TKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvQ2FjaGVkUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3Bw
CmluZGV4IDU0MDBhZjRiMmM1NDdjMzI5ZTQwMTA1MGM0MDVlMjQxNGIxOTMwMjguLmI2ZDQ2Njg3
ZDVhMTg4OGM1YzgxMmY0ZjRiN2VjNjI2YzA3ZmVkNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvQ2FjaGVkUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9D
YWNoZWRQYWdlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBQYXNzUmVmUHRyPENhY2hlZFBhZ2U+IENh
Y2hlZFBhZ2U6OmNyZWF0ZShQYWdlKiBwYWdlKQogfQogCiBDYWNoZWRQYWdlOjpDYWNoZWRQYWdl
KFBhZ2UqIHBhZ2UpCi0gICAgOiBtX3RpbWVTdGFtcChjdXJyZW50VGltZSgpKQorICAgIDogbV90
aW1lU3RhbXAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCiAgICAgLCBtX2V4cGlyYXRp
b25UaW1lKG1fdGltZVN0YW1wICsgcGFnZS0+c2V0dGluZ3MoKS5iYWNrRm9yd2FyZENhY2hlRXhw
aXJhdGlvbkludGVydmFsKCkpCiAgICAgLCBtX2NhY2hlZE1haW5GcmFtZShDYWNoZWRGcmFtZTo6
Y3JlYXRlKCZwYWdlLT5tYWluRnJhbWUoKSkpCiAgICAgLCBtX25lZWRTdHlsZVJlY2FsY0ZvclZp
c2l0ZWRMaW5rcyhmYWxzZSkKQEAgLTEyOSw3ICsxMjksNyBAQCB2b2lkIENhY2hlZFBhZ2U6OmRl
c3Ryb3koKQogCiBib29sIENhY2hlZFBhZ2U6Omhhc0V4cGlyZWQoKSBjb25zdAogewotICAgIHJl
dHVybiBjdXJyZW50VGltZSgpID4gbV9leHBpcmF0aW9uVGltZTsKKyAgICByZXR1cm4gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkgPiBtX2V4cGlyYXRpb25UaW1lOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUGFyc2VyU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFy
c2VyU2NoZWR1bGVyLmgKaW5kZXggMmNhNzIyMjQwMDQyMzdhNTIyMWZlMDA5M2YxOTYxY2UyZDU2
MmU5Ny4uYzIxNWNiMDhlYTVkYmVkMGEwYjZjMWRlMjdhODIzZWE2Nzk4NTk0MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtNzAs
OCArNzAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjaGVja0ZvcllpZWxkQmVmb3JlVG9rZW4oUHVt
cFNlc3Npb24mIHNlc3Npb24pCiAgICAgewogICAgICAgICBpZiAoc2Vzc2lvbi5wcm9jZXNzZWRU
b2tlbnMgPiBtX3BhcnNlckNodW5rU2l6ZSB8fCBzZXNzaW9uLmRpZFNlZVNjcmlwdCkgewotICAg
ICAgICAgICAgLy8gY3VycmVudFRpbWUoKSBjYW4gYmUgZXhwZW5zaXZlLiAgQnkgZGVsYXlpbmcs
IHdlIGF2b2lkZWQgY2FsbGluZwotICAgICAgICAgICAgLy8gY3VycmVudFRpbWUoKSB3aGVuIGNv
bnN0cnVjdGluZyBub24teWllbGRpbmcgUHVtcFNlc3Npb25zLgorICAgICAgICAgICAgLy8gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgY2FuIGJlIGV4cGVuc2l2ZS4gQnkgZGVsYXlpbmcs
IHdlIGF2b2lkZWQgY2FsbGluZworICAgICAgICAgICAgLy8gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgd2hlbiBjb25zdHJ1Y3Rpbmcgbm9uLXlpZWxkaW5nIFB1bXBTZXNzaW9ucy4KICAg
ICAgICAgICAgIGlmICghc2Vzc2lvbi5zdGFydFRpbWUpCiAgICAgICAgICAgICAgICAgc2Vzc2lv
bi5zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGUuY3BwCmluZGV4IDlkNTFjODdmZTZjNGU3ZDQzOTMzZTQ1ZWVmN2Q1YzE5YmQ1ZTIwODQuLjRh
MTdkZmRkZmQxYTU5NzM0NWNlMjRkMWZkMDBmOWFiYjI5YTFhMmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5j
cHAKQEAgLTEwOCw3ICsxMDgsNyBAQCBib29sIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtOjpwYXJzZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZQogICAgIH0gZWxz
ZQogICAgICAgICBleHBpcnlEZWx0YSA9IGRlZmF1bHRQcmVmbGlnaHRDYWNoZVRpbWVvdXRTZWNv
bmRzOwogCi0gICAgbV9hYnNvbHV0ZUV4cGlyeVRpbWUgPSBjdXJyZW50VGltZSgpICsgZXhwaXJ5
RGVsdGE7CisgICAgbV9hYnNvbHV0ZUV4cGlyeVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSArIGV4cGlyeURlbHRhOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xMzYsNyAr
MTM2LDcgQEAgYm9vbCBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbTo6YWxsb3dz
Q3Jvc3NPcmlnaW5IZWFkZXJzKGNvbnN0IEhUVFBIZWEKIGJvb2wgQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZUl0ZW06OmFsbG93c1JlcXVlc3QoU3RvcmVkQ3JlZGVudGlhbHMgaW5jbHVk
ZUNyZWRlbnRpYWxzLCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgSFRUUEhlYWRlck1hcCYg
cmVxdWVzdEhlYWRlcnMpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGlnbm9yZWRFeHBsYW5hdGlvbjsK
LSAgICBpZiAobV9hYnNvbHV0ZUV4cGlyeVRpbWUgPCBjdXJyZW50VGltZSgpKQorICAgIGlmICht
X2Fic29sdXRlRXhwaXJ5VGltZSA8IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGluY2x1ZGVDcmVkZW50aWFscyA9PSBBbGxvd1N0
b3JlZENyZWRlbnRpYWxzICYmIG1fY3JlZGVudGlhbHMgPT0gRG9Ob3RBbGxvd1N0b3JlZENyZWRl
bnRpYWxzKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcAppbmRleCA2OGU2NGI2NjZiNmVlYmRmNmE1MjhlZWYyZGFlZjk4NWVkNDg2MGRjLi5j
MDhkZDgxZjY3ZDc1NDNkYWJjY2QyYzM4NzFkYzE0YmU1MjFjYTQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE2ODMsNyArMTY4Myw3IEBAIHZvaWQgRnJhbWVMb2Fk
ZXI6OnNldFN0YXRlKEZyYW1lU3RhdGUgbmV3U3RhdGUpCiAgICAgICAgIHByb3Zpc2lvbmFsTG9h
ZFN0YXJ0ZWQoKTsKICAgICBlbHNlIGlmIChuZXdTdGF0ZSA9PSBGcmFtZVN0YXRlQ29tcGxldGUp
IHsKICAgICAgICAgZnJhbWVMb2FkQ29tcGxldGVkKCk7Ci0gICAgICAgIHN0b3JlZFRpbWVPZkxh
c3RDb21wbGV0ZWRMb2FkID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgc3RvcmVkVGltZU9mTGFz
dENvbXBsZXRlZExvYWQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAgICAg
aWYgKG1fZG9jdW1lbnRMb2FkZXIpCiAgICAgICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5zdG9w
UmVjb3JkaW5nUmVzcG9uc2VzKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmNwcAppbmRleCAwYjk5YTQzYzA2ZTQ0OWQ3YTgzYTU4NWMxZGQyMDllMzMxYzMw
ZWY4Li44MTgwOTJlYWJlNTJlYWVkZjgxYjg1YzEzZjEwNDUzZjk0OTc5OTZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtMjQxLDcgKzI0MSw3IEBAIHZv
aWQgUHJvZ3Jlc3NUcmFja2VyOjppbmNyZW1lbnRQcm9ncmVzcyh1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IGNoYXIqLCBpCiAgICAgCiAgICAgbV90b3RhbEJ5dGVzUmVjZWl2ZWQgKz0g
Ynl0ZXNSZWNlaXZlZDsKICAgICAKLSAgICBkb3VibGUgbm93ID0gY3VycmVudFRpbWUoKTsKKyAg
ICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgZG91Ymxl
IG5vdGlmaWVkUHJvZ3Jlc3NUaW1lRGVsdGEgPSBub3cgLSBtX2xhc3ROb3RpZmllZFByb2dyZXNz
VGltZTsKICAgICAKICAgICBMT0coUHJvZ3Jlc3MsICJQcm9ncmVzcyBpbmNyZW1lbnRlZCAoJXAp
IC0gdmFsdWUgJWYsIHRyYWNrZWQgZnJhbWVzICVkIiwgdGhpcywgbV9wcm9ncmVzc1ZhbHVlLCBt
X251bVByb2dyZXNzVHJhY2tlZEZyYW1lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKaW5kZXggNDM2Nzc3ZTY5OTRlNTIyNDdh
ZTZmZGYwMmZjY2I1MTEwNWFiZjMzMi4uNjkzYWIwMDg1OGY5ODgwYjgxNzEwMGJlNmYxZDdhNTk5
NWE5ZDcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENT
U1N0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRD
U1NTdHlsZVNoZWV0LmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIFBhc3NSZWZQdHI8U3R5bGVTaGVl
dENvbnRlbnRzPiBDYWNoZWRDU1NTdHlsZVNoZWV0OjpyZXN0b3JlUGFyc2VkU3R5bGVTaGVldChj
b25zCiAgICAgaWYgKG1fcGFyc2VkU3R5bGVTaGVldENhY2hlLT5wYXJzZXJDb250ZXh0KCkgIT0g
Y29udGV4dCkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBkaWRBY2Nlc3NEZWNvZGVkRGF0YShj
dXJyZW50VGltZSgpKTsKKyAgICBkaWRBY2Nlc3NEZWNvZGVkRGF0YShtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSk7CiAKICAgICByZXR1cm4gbV9wYXJzZWRTdHlsZVNoZWV0Q2FjaGU7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAppbmRleCA5NDhl
NjA0N2VkMTc1NGYyZThhNTQ1ODY4ODA5YmI0ZTVlZWY0NjIyLi42OWU0MjYyMDk5ZWE4Yjg2MTkw
MTZkYTZhMTVlZWE1OTAxY2RkMzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRJbWFnZS5jcHAKQEAgLTQ2OCw3ICs0NjgsNyBAQCB2b2lkIENhY2hlZEltYWdlOjpkaWRE
cmF3KGNvbnN0IEltYWdlKiBpbWFnZSkKICAgICAKICAgICBkb3VibGUgdGltZVN0YW1wID0gRnJh
bWVWaWV3OjpjdXJyZW50UGFpbnRUaW1lU3RhbXAoKTsKICAgICBpZiAoIXRpbWVTdGFtcCkgLy8g
SWYgZGlkRHJhdyBpcyBjYWxsZWQgb3V0c2lkZSBvZiBhIEZyYW1lIHBhaW50LgotICAgICAgICB0
aW1lU3RhbXAgPSBjdXJyZW50VGltZSgpOworICAgICAgICB0aW1lU3RhbXAgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAKICAgICBDYWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNz
RGVjb2RlZERhdGEodGltZVN0YW1wKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwCmluZGV4IDI5MmZhMmY5NDliMGIxYzUzY2E3NTY5YjdiYWNiMzIwY2Fl
MDg2OGUuLmI2NzIzMzg2YTIxOGIxOTM4Yzc5NjUzNzBiZmVkNDUxMzhhNzczODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtMjQzLDcgKzI0Myw3
IEBAIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lTGl2ZVJlc291cmNlc1RvU2l6ZSh1bnNpZ25lZCB0
YXJnZXRTaXplKQogCiAgICAgZG91YmxlIGN1cnJlbnRUaW1lID0gRnJhbWVWaWV3OjpjdXJyZW50
UGFpbnRUaW1lU3RhbXAoKTsKICAgICBpZiAoIWN1cnJlbnRUaW1lKSAvLyBJbiBjYXNlIHBydW5l
IGlzIGNhbGxlZCBkaXJlY3RseSwgb3V0c2lkZSBvZiBhIEZyYW1lIHBhaW50LgotICAgICAgICBj
dXJyZW50VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICAgICAgY3VycmVudFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAKICAgICAvLyBEZXN0cm95IGFueSBk
ZWNvZGVkIGRhdGEgaW4gbGl2ZSBvYmplY3RzIHRoYXQgd2UgY2FuLgogICAgIC8vIFN0YXJ0IGZy
b20gdGhlIHRhaWwsIHNpbmNlIHRoaXMgaXMgdGhlIGxlYXN0IHJlY2VudGx5IGFjY2Vzc2VkIG9m
IHRoZSBvYmplY3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5j
cHAKaW5kZXggMGFjYTA0NTFkZWY3NzgxN2Y4YjcwNTJjZDQwYjdkYjM2M2Q0NmUwMy4uZTA1ZWJk
ZWI0OGM1ZTgzZmM4ZmFmYjNmZDE2ZWEwNTI4ZjIxOTZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC05ODksNyArOTg5LDcgQEAgdm9pZCBJY29u
RGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgIExPRyhJY29uRGF0YWJhc2Us
ICIoVEhSRUFEKSBJY29uRGF0YWJhc2Ugc3luYyB0aHJlYWQgc3RhcnRlZCIpOwogCiAjaWYgIUxP
R19ESVNBQkxFRAotICAgIGRvdWJsZSBzdGFydFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgIGRv
dWJsZSBzdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgog
CiAgICAgLy8gTmVlZCB0byBjcmVhdGUgdGhlIGRhdGFiYXNlIHBhdGggaWYgaXQgZG9lc24ndCBh
bHJlYWR5IGV4aXN0CkBAIC0xMDE3LDcgKzEwMTcsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNv
bkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAgfQogICAgICAgICAKICNpZiAhTE9HX0RJU0FCTEVE
Ci0gICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHRpbWVT
dGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIExPRyhJY29uRGF0YWJh
c2UsICIoVEhSRUFEKSBPcGVuIHRvb2sgJS40ZiBzZWNvbmRzIiwgdGltZVN0YW1wIC0gc3RhcnRU
aW1lKTsKICNlbmRpZiAgICAKIApAQCAtMTAyOCwxMyArMTAyOCwxMyBAQCB2b2lkIEljb25EYXRh
YmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAgfQogICAgICAgICAKICNpZiAhTE9H
X0RJU0FCTEVECi0gICAgZG91YmxlIG5ld1N0YW1wID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3Vi
bGUgbmV3U3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBMT0coSWNv
bkRhdGFiYXNlLCAiKFRIUkVBRCkgcGVyZm9ybU9wZW5Jbml0aWFsaXphdGlvbigpIHRvb2sgJS40
ZiBzZWNvbmRzLCBub3cgJS40ZiBzZWNvbmRzIGZyb20gdGhyZWFkIHN0YXJ0IiwgbmV3U3RhbXAg
LSB0aW1lU3RhbXAsIG5ld1N0YW1wIC0gc3RhcnRUaW1lKTsKICAgICB0aW1lU3RhbXAgPSBuZXdT
dGFtcDsKICNlbmRpZiAKICAgICAgICAgCiAgICAgLy8gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcg
bGluZSB0byBzaW11bGF0ZSBhIGxvbmcgbGFzdGluZyBVUkwgaW1wb3J0ICgqSFVHRSogaWNvbiBk
YXRhYmFzZXMsIG9yIG5ldHdvcmsgaG9tZSBkaXJlY3RvcmllcykKLSAgICAvLyB3aGlsZSAoY3Vy
cmVudFRpbWUoKSAtIHRpbWVTdGFtcCA8IDEwKTsKKyAgICAvLyB3aGlsZSAobW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgLSB0aW1lU3RhbXAgPCAxMCk7CiAKICAgICAvLyBSZWFkIGluIFVS
TCBtYXBwaW5ncyBmcm9tIHRoZSBkYXRhYmFzZSAgICAgICAgICAKICAgICBMT0coSWNvbkRhdGFi
YXNlLCAiKFRIUkVBRCkgU3RhcnRpbmcgaWNvblVSTCBpbXBvcnQiKTsKQEAgLTEwNDYsNyArMTA0
Niw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKCkKICAgICB9
CiAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgbmV3U3RhbXAgPSBjdXJyZW50VGltZSgpOworICAg
IG5ld1N0YW1wID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgTE9HKEljb25E
YXRhYmFzZSwgIihUSFJFQUQpIHBlcmZvcm1VUkxJbXBvcnQoKSB0b29rICUuNGYgc2Vjb25kcy4g
IEVudGVyaW5nIG1haW4gbG9vcCAlLjRmIHNlY29uZHMgZnJvbSB0aHJlYWQgc3RhcnQiLCBuZXdT
dGFtcCAtIHRpbWVTdGFtcCwgbmV3U3RhbXAgLSBzdGFydFRpbWUpOwogI2VuZGlmIAogCkBAIC0x
Mzc0LDcgKzEzNzQsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkK
ICAgICAgICAgbV9zeW5jTG9jay51bmxvY2soKTsKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICAg
ICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIGRvdWJsZSB0aW1l
U3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogICAgICAgICBM
T0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgTWFpbiB3b3JrIGxvb3Agc3RhcnRpbmciKTsKIApA
QCAtMTQxMiwxMyArMTQxMiwxMyBAQCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5M
b29wKCkKICAgICAgICAgICAgIHN0YXRpYyBib29sIHBydW5lZFVucmV0YWluZWRJY29ucyA9IGZh
bHNlOwogICAgICAgICAgICAgaWYgKGRpZFdyaXRlICYmICFtX3ByaXZhdGVCcm93c2luZ0VuYWJs
ZWQgJiYgIXBydW5lZFVucmV0YWluZWRJY29ucyAmJiAhZGF0YWJhc2VDbGVhbnVwQ291bnRlcikg
ewogI2lmICFMT0dfRElTQUJMRUQKLSAgICAgICAgICAgICAgICBkb3VibGUgdGltZSA9IGN1cnJl
bnRUaW1lKCk7CisgICAgICAgICAgICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKICNlbmRpZgogICAgICAgICAgICAgICAgIExPRyhJY29uRGF0YWJhc2Us
ICIoVEhSRUFEKSBTdGFydGluZyBwcnVuZVVucmV0YWluZWRJY29ucygpIik7CiAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgcHJ1bmVVbnJldGFpbmVkSWNvbnMoKTsKICAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgcHJ1
bmVVbnJldGFpbmVkSWNvbnMoKSB0b29rICUuNGYgc2Vjb25kcyIsIGN1cnJlbnRUaW1lKCkgLSB0
aW1lKTsKKyAgICAgICAgICAgICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgcHJ1bmVV
bnJldGFpbmVkSWNvbnMoKSB0b29rICUuNGYgc2Vjb25kcyIsIG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIC0gdGltZSk7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgLy8g
SWYgcHJ1bmVVbnJldGFpbmVkSWNvbnMoKSByZXR1cm5lZCBlYXJseSBkdWUgdG8gcmVxdWVzdGVk
IHRocmVhZCB0ZXJtaW5hdGlvbiwgaXRzIHN0aWxsIG9rYXkKICAgICAgICAgICAgICAgICAvLyB0
byBtYXJrIHBydW5lZFVucmV0YWluZWRJY29ucyB0cnVlIGJlY2F1c2Ugd2UncmUgYWJvdXQgdG8g
dGVybWluYXRlIGFueXdheQpAQCAtMTQzMSw3ICsxNDMxLDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6
OnN5bmNUaHJlYWRNYWluTG9vcCgpCiAgICAgICAgIH0KICAgICAgICAgCiAjaWYgIUxPR19ESVNB
QkxFRAotICAgICAgICBkb3VibGUgbmV3c3RhbXAgPSBjdXJyZW50VGltZSgpOworICAgICAgICBk
b3VibGUgbmV3c3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAgICAg
TE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIE1haW4gd29yayBsb29wIHJhbiBmb3IgJS40ZiBz
ZWNvbmRzLCAlcyByZXF1ZXN0ZWQgdG8gdGVybWluYXRlIiwgbmV3c3RhbXAgLSB0aW1lU3RhbXAs
IHNob3VsZFN0b3BUaHJlYWRBY3Rpdml0eSgpID8gIndhcyIgOiAid2FzIG5vdCIpOwogI2VuZGlm
CiAgICAgICAgICAgICAgICAgICAgIApAQCAtMTUxMyw3ICsxNTEzLDcgQEAgYm9vbCBJY29uRGF0
YWJhc2U6OnJlYWRGcm9tRGF0YWJhc2UoKQogICAgIEFTU0VSVF9JQ09OX1NZTkNfVEhSRUFEKCk7
CiAgICAgCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBjdXJyZW50
VGltZSgpOworICAgIGRvdWJsZSB0aW1lU3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKTsKICNlbmRpZgogCiAgICAgYm9vbCBkaWRBbnlXb3JrID0gZmFsc2U7CkBAIC0xNjA3LDcg
KzE2MDcsNyBAQCBib29sIEljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSgpCiAgICAgICAg
ICAgICByZXR1cm4gZGlkQW55V29yazsKICAgICB9CiAKLSAgICBMT0coSWNvbkRhdGFiYXNlLCAi
UmVhZGluZyBmcm9tIGRhdGFiYXNlIHRvb2sgJS40ZiBzZWNvbmRzIiwgY3VycmVudFRpbWUoKSAt
IHRpbWVTdGFtcCk7CisgICAgTE9HKEljb25EYXRhYmFzZSwgIlJlYWRpbmcgZnJvbSBkYXRhYmFz
ZSB0b29rICUuNGYgc2Vjb25kcyIsIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gdGlt
ZVN0YW1wKTsKIAogICAgIHJldHVybiBkaWRBbnlXb3JrOwogfQpAQCAtMTYxNyw3ICsxNjE3LDcg
QEAgYm9vbCBJY29uRGF0YWJhc2U6OndyaXRlVG9EYXRhYmFzZSgpCiAgICAgQVNTRVJUX0lDT05f
U1lOQ19USFJFQUQoKTsKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgdGltZVN0YW1w
ID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgdGltZVN0YW1wID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYKIAogICAgIGJvb2wgZGlkQW55V29yayA9IGZhbHNlOwpA
QCAtMTY2Nyw3ICsxNjY3LDcgQEAgYm9vbCBJY29uRGF0YWJhc2U6OndyaXRlVG9EYXRhYmFzZSgp
CiAgICAgaWYgKGRpZEFueVdvcmspCiAgICAgICAgIGNoZWNrRm9yRGFuZ2xpbmdQYWdlVVJMcyhm
YWxzZSk7CiAKLSAgICBMT0coSWNvbkRhdGFiYXNlLCAiVXBkYXRpbmcgdGhlIGRhdGFiYXNlIHRv
b2sgJS40ZiBzZWNvbmRzIiwgY3VycmVudFRpbWUoKSAtIHRpbWVTdGFtcCk7CisgICAgTE9HKElj
b25EYXRhYmFzZSwgIlVwZGF0aW5nIHRoZSBkYXRhYmFzZSB0b29rICUuNGYgc2Vjb25kcyIsIG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gdGltZVN0YW1wKTsKIAogICAgIHJldHVybiBk
aWRBbnlXb3JrOwogfQpAQCAtMTgyMiw3ICsxODIyLDcgQEAgdm9pZCogSWNvbkRhdGFiYXNlOjpj
bGVhbnVwU3luY1RocmVhZCgpCiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKICAgICAK
ICNpZiAhTE9HX0RJU0FCTEVECi0gICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7
CisgICAgZG91YmxlIHRpbWVTdGFtcCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwog
I2VuZGlmIAogCiAgICAgLy8gSWYgdGhlIHJlbW92ZUljb25zIGZsYWcgaXMgc2V0LCByZW1vdmUg
YWxsIGljb25zIGZyb20gdGhlIGRiLgpAQCAtMTg0Miw3ICsxODQyLDcgQEAgdm9pZCogSWNvbkRh
dGFiYXNlOjpjbGVhbnVwU3luY1RocmVhZCgpCiAgICAgbV9zeW5jREIuY2xvc2UoKTsKICAgICAK
ICNpZiAhTE9HX0RJU0FCTEVECi0gICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIEZpbmFs
IGNsb3N1cmUgdG9vayAlLjRmIHNlY29uZHMiLCBjdXJyZW50VGltZSgpIC0gdGltZVN0YW1wKTsK
KyAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgRmluYWwgY2xvc3VyZSB0b29rICUuNGYg
c2Vjb25kcyIsIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gdGltZVN0YW1wKTsKICNl
bmRpZgogICAgIAogICAgIG1fc3luY1RocmVhZFJ1bm5pbmcgPSBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggOGRhNjc4YjQ5
MmE2MDA0YWY0MTliN2NlNDlhYTEzMzk0YzljMWU3NC4uOTMxODRiZjMyMjI5NGI3NDI2OWU5ODg4
NTFhOTI0MjY4ZWI1ODFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQmFzZS5jcHAKQEAgLTY1MCw3ICs2NTAsNyBAQCB2b2lkIEFuaW1hdGlvbkJhc2U6
OmZyZWV6ZUF0VGltZShkb3VibGUgdCkKICAgICAgICAgLy8gSWYgd2UgaGF2ZW4ndCBzdGFydGVk
IHlldCwgbWFrZSBpdCBhcyBpZiB3ZSBzdGFydGVkLgogICAgICAgICBMT0coQW5pbWF0aW9ucywg
IiVwIEFuaW1hdGlvblN0YXRlICVzIC0+IFN0YXJ0V2FpdFJlc3BvbnNlIiwgdGhpcywgbmFtZUZv
clN0YXRlKG1fYW5pbVN0YXRlKSk7CiAgICAgICAgIG1fYW5pbVN0YXRlID0gQW5pbWF0aW9uU3Rh
dGVTdGFydFdhaXRSZXNwb25zZTsKLSAgICAgICAgb25BbmltYXRpb25TdGFydFJlc3BvbnNlKGN1
cnJlbnRUaW1lKCkpOworICAgICAgICBvbkFuaW1hdGlvblN0YXJ0UmVzcG9uc2UobW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkpOwogICAgIH0KIAogICAgIEFTU0VSVChtX3N0YXJ0VGltZSk7
ICAgICAgICAvLyBpZiBtX3N0YXJ0VGltZSBpcyB6ZXJvLCB3ZSBoYXZlbid0IHN0YXJ0ZWQgeWV0
LCBzbyB3ZSdsbCBnZXQgYSBiYWQgcGF1c2UgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggMWM2MWFiOWIx
M2VkYmM1MmUyZTBhNzNiNTUwZjJjMjZjNWFlNjk1Ny4uYWJlYTU1NTFhMGI2NzcyMjA2NTg0ZjZl
MzJkNWVlNGIxNmNmMjM4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCBib29sIEFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciwgYwogZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdp
bkFuaW1hdGlvblVwZGF0ZVRpbWUoKQogewogICAgIGlmIChtX2JlZ2luQW5pbWF0aW9uVXBkYXRl
VGltZSA9PSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQotICAgICAgICBtX2JlZ2lu
QW5pbWF0aW9uVXBkYXRlVGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgICAgIG1fYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgcmV0
dXJuIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQW5pbWF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uY3Bw
CmluZGV4IDIwNmQ3MDdiM2FkMTUwMWFlNTFiMzFkNTYyNDgwZGJhNjJlMDVmZWUuLjA5M2JmMTY4
MDEwNjM1YjYxMGNkNjg2NzkyYzViN2VjNzdhZTk4NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uY3Bw
CkBAIC0zMjMsNyArMzIzLDcgQEAgZG91YmxlIEdyYXBoaWNzTGF5ZXJBbmltYXRpb246OmNvbXB1
dGVUb3RhbFJ1bm5pbmdUaW1lKCkKICAgICAgICAgcmV0dXJuIG1fcGF1c2VUaW1lOwogCiAgICAg
ZG91YmxlIG9sZExhc3RSZWZyZXNoZWRUaW1lID0gbV9sYXN0UmVmcmVzaGVkVGltZTsKLSAgICBt
X2xhc3RSZWZyZXNoZWRUaW1lID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIG1fbGFzdFJlZnJl
c2hlZFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBtX3RvdGFsUnVu
bmluZ1RpbWUgKz0gbV9sYXN0UmVmcmVzaGVkVGltZSAtIG9sZExhc3RSZWZyZXNoZWRUaW1lOwog
ICAgIHJldHVybiBtX3RvdGFsUnVubmluZ1RpbWU7CiB9CkBAIC0zMzgsNyArMzM4LDcgQEAgdm9p
ZCBHcmFwaGljc0xheWVyQW5pbWF0aW9uOjpyZXN1bWUoKQogewogICAgIHNldFN0YXRlKFBsYXlp
bmdTdGF0ZSk7CiAgICAgbV90b3RhbFJ1bm5pbmdUaW1lID0gbV9wYXVzZVRpbWU7Ci0gICAgbV9s
YXN0UmVmcmVzaGVkVGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBtX2xhc3RSZWZyZXNo
ZWRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiB9CiAKIHZvaWQgR3JhcGhp
Y3NMYXllckFuaW1hdGlvbnM6OmFkZChjb25zdCBHcmFwaGljc0xheWVyQW5pbWF0aW9uJiBhbmlt
YXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbkNGLmNwcAppbmRleCAxNWNmNDk4NWI4NWRkNTMzYWNjNTQ1ZGY1OGYw
YmQ0ODExNGZhYjVjLi5kYzExYzFjMjNmMTQ1OWJiYTAzMGU3NjZkZTYyYjU2ZDg1N2ZmOGJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
Y2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25DRi5jcHAKQEAgLTE2MzIsMTQgKzE2MzIsMTQgQEAgUmV0YWluUHRyPENHSW1h
Z2VSZWY+IEFWRldyYXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdChmbG9hdCB0aW1lLCBj
b25zdCBJbnQKICAgICAgICAgcmV0dXJuIDA7CiAKICNpZiAhTE9HX0RJU0FCTEVECi0gICAgZG91
YmxlIHN0YXJ0ID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBzdGFydCA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKICAgICBBVkNGQXNzZXRJbWFnZUdl
bmVyYXRvclNldE1heGltdW1TaXplKG1faW1hZ2VHZW5lcmF0b3IuZ2V0KCksIENHU2l6ZShyZWN0
LnNpemUoKSkpOwogICAgIENHSW1hZ2VSZWYgaW1hZ2UgPSBBVkNGQXNzZXRJbWFnZUdlbmVyYXRv
ckNvcHlDR0ltYWdlQXRUaW1lKG1faW1hZ2VHZW5lcmF0b3IuZ2V0KCksIENNVGltZU1ha2VXaXRo
U2Vjb25kcyh0aW1lLCA2MDApLCAwLCAwKTsKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3Vi
bGUgZHVyYXRpb24gPSBXVEY6OmN1cnJlbnRUaW1lKCkgLSBzdGFydDsKKyAgICBkb3VibGUgZHVy
YXRpb24gPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHN0YXJ0OwogICAgIExPRyhN
ZWRpYSwgIkFWRldyYXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCglcCkgLSBjcmVhdGlu
ZyBpbWFnZSB0b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9u
KSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggMzg5MWUwY2QzMDMxMTg2
ODJhYmU0NWFlMzkyMzBjMDUxY2MzNTEyOS4uNGEwMDEwNDE5M2YwM2ViMDRiNTUwNzIyNzA4MTk5
YjVkYTYxMGI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC04NTAsMTQgKzg1MCwxNCBA
QCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZQogICAgIEFTU0VSVChtX2ltYWdlR2VuZXJhdG9yKTsK
IAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJlbnRUaW1l
KCk7CisgICAgZG91YmxlIHN0YXJ0ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAj
ZW5kaWYKIAogICAgIFttX2ltYWdlR2VuZXJhdG9yLmdldCgpIHNldE1heGltdW1TaXplOkNHU2l6
ZShyZWN0LnNpemUoKSldOwogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZSA9IGFkb3B0
Q0YoW21faW1hZ2VHZW5lcmF0b3IuZ2V0KCkgY29weUNHSW1hZ2VBdFRpbWU6Q01UaW1lTWFrZVdp
dGhTZWNvbmRzKHRpbWUsIDYwMCkgYWN0dWFsVGltZTpuaWwgZXJyb3I6bmlsXSk7CiAKICNpZiAh
TE9HX0RJU0FCTEVECi0gICAgZG91YmxlIGR1cmF0aW9uID0gV1RGOjpjdXJyZW50VGltZSgpIC0g
c3RhcnQ7CisgICAgZG91YmxlIGR1cmF0aW9uID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCkgLSBzdGFydDsKICAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoJXApIC0gY3JlYXRpbmcgaW1hZ2UgdG9v
ayAlLjRmIiwgdGhpcywgbmFycm93UHJlY2lzaW9uVG9GbG9hdChkdXJhdGlvbikpOwogI2VuZGlm
CiAKQEAgLTExMzksNyArMTEzOSw3IEBAIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVQaXhlbEJ1ZmZlCiAgICAgQVNT
RVJUKG1fdmlkZW9PdXRwdXQpOwogCiAjaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBzdGFy
dCA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUgc3RhcnQgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogCiAgICAgQ01UaW1lIGN1cnJlbnRUaW1lID0gW21f
YXZQbGF5ZXJJdGVtLmdldCgpIGN1cnJlbnRUaW1lXTsKQEAgLTExNjYsNyArMTE2Niw3IEBAIFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpjcmVhdGVQaXhlbEJ1ZmZlCiAjZW5kaWYKIAogI2lmICFMT0dfRElTQUJMRUQKLSAgICBk
b3VibGUgZHVyYXRpb24gPSBXVEY6OmN1cnJlbnRUaW1lKCkgLSBzdGFydDsKKyAgICBkb3VibGUg
ZHVyYXRpb24gPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHN0YXJ0OwogICAgIExP
RyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVBpeGVs
QnVmZmVyKCkgLSBjcmVhdGluZyBidWZmZXIgdG9vayAlLjRmIiwgdGhpcywgbmFycm93UHJlY2lz
aW9uVG9GbG9hdChkdXJhdGlvbikpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IDBiZDJj
ZDM0NDBjNjYxNzY5ODhmY2ViZjA1MzU3N2ZhOGUxODc5MmIuLjZmN2E5NjU3YWRkYWY4OGZkM2Ri
NTBhMzZiMDFkMjdhMzA3MDIzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApAQCAtMjUzMSw3ICsyNTMxLDcg
QEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OnNldEZpbHRlckFuaW1hdGlvbktleWZyYW1lcyhjb25z
dCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWUKIAogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnN1c3Bl
bmRBbmltYXRpb25zKGRvdWJsZSB0aW1lKQogewotICAgIGRvdWJsZSB0ID0gUGxhdGZvcm1DQUxh
eWVyOjpjdXJyZW50VGltZVRvTWVkaWFUaW1lKHRpbWUgPyB0aW1lIDogY3VycmVudFRpbWUoKSk7
CisgICAgZG91YmxlIHQgPSBQbGF0Zm9ybUNBTGF5ZXI6OmN1cnJlbnRUaW1lVG9NZWRpYVRpbWUo
dGltZSA/IHRpbWUgOiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CiAgICAgcHJpbWFy
eUxheWVyKCktPnNldFNwZWVkKDApOwogICAgIHByaW1hcnlMYXllcigpLT5zZXRUaW1lT2Zmc2V0
KHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9Q
bGF0Zm9ybUNBTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Bs
YXRmb3JtQ0FMYXllci5oCmluZGV4IDViZDUyNGJmZTAzZTZkNGM4ZDMyODFhNmU5NWE3ODdiNzJi
MGVmNTEuLjc0OTJlYjBhN2RhZmUyMDhiZmUwN2RhNGRmOGU3M2U5OTc3OTBhMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXll
ci5oCkBAIC01MSw3ICs1MSw3IEBAIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxQbGF0Zm9ybUNBTGF5
ZXI+ID4gUGxhdGZvcm1DQUxheWVyTGlzdDsKIAogY2xhc3MgUGxhdGZvcm1DQUxheWVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8UGxhdGZvcm1DQUxheWVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIENG
VGltZUludGVydmFsIGN1cnJlbnRUaW1lVG9NZWRpYVRpbWUoZG91YmxlIHQpIHsgcmV0dXJuIENB
Q3VycmVudE1lZGlhVGltZSgpICsgdCAtIFdURjo6Y3VycmVudFRpbWUoKTsgfQorICAgIHN0YXRp
YyBDRlRpbWVJbnRlcnZhbCBjdXJyZW50VGltZVRvTWVkaWFUaW1lKGRvdWJsZSB0KSB7IHJldHVy
biBDQUN1cnJlbnRNZWRpYVRpbWUoKSArIHQgLSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsgfQogCiAgICAgLy8gTGF5ZXJUeXBlUm9vdExheWVyIGlzIHVzZWQgb24gc29tZSBwbGF0Zm9y
bXMuIEl0IGhhcyBubyBiYWNraW5nIHN0b3JlLCBzbyBzZXROZWVkc0Rpc3BsYXkKICAgICAvLyBz
aG91bGQgbm90IGNhbGwgQ0FDRkxheWVyU2V0TmVlZHNEaXNwbGF5LCBidXQgcmF0aGVyIGp1c3Qg
bm90aWZ5IHRoZSByZW5kZXJlciB0aGF0IGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvTGF5ZXJQb29sLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVyUG9vbC5tbQppbmRleCAxZTEzNDViNzU5ZDliYzU4
MTBlMjQwYWMwZTg4ZGEyYmIwYWYwOGU0Li42ZmYxZWM4NGMyNjJmZDMwYWI5OTc1YTI2YzcxMzMx
N2M0NGY0MmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9tYWMvTGF5ZXJQb29sLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL21hYy9MYXllclBvb2wubW0KQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBMYXllclBvb2w6OmFk
ZExheWVyKGNvbnN0IFJldGFpblB0cjxXZWJUaWxlTGF5ZXI+JiBsYXllcikKICAgICBsaXN0T2ZM
YXllcnNXaXRoU2l6ZShsYXllclNpemUpLnByZXBlbmQobGF5ZXIpOwogICAgIG1fdG90YWxCeXRl
cyArPSBiYWNraW5nU3RvcmVCeXRlc0ZvclNpemUobGF5ZXJTaXplKTsKICAgICAKLSAgICBtX2xh
c3RBZGRUaW1lID0gY3VycmVudFRpbWUoKTsKKyAgICBtX2xhc3RBZGRUaW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgc2NoZWR1bGVQcnVuZSgpOwogfQogCkBAIC05Myw3
ICs5Myw3IEBAIFJldGFpblB0cjxXZWJUaWxlTGF5ZXI+IExheWVyUG9vbDo6dGFrZUxheWVyV2l0
aFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHVuc2lnbmVkIExheWVyUG9vbDo6ZGVjYXllZENh
cGFjaXR5KCkgY29uc3QKIHsKICAgICAvLyBEZWNheSB0byBvbmUgcXVhcnRlciBvdmVyIGNhcGFj
aXR5RGVjYXlUaW1lCi0gICAgZG91YmxlIHRpbWVTaW5jZUxhc3RBZGQgPSBjdXJyZW50VGltZSgp
IC0gbV9sYXN0QWRkVGltZTsKKyAgICBkb3VibGUgdGltZVNpbmNlTGFzdEFkZCA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9sYXN0QWRkVGltZTsKICAgICBpZiAodGltZVNpbmNl
TGFzdEFkZCA+IGNhcGFjaXR5RGVjYXlUaW1lKQogICAgICAgICByZXR1cm4gbV9tYXhCeXRlc0Zv
clBvb2wgLyA0OwogICAgIGZsb2F0IGRlY2F5UHJvZ2VzcyA9IGZsb2F0KHRpbWVTaW5jZUxhc3RB
ZGQgLyBjYXBhY2l0eURlY2F5VGltZSk7CkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBMYXllclBv
b2w6OnBydW5lVGltZXJGaXJlZChUaW1lcjxMYXllclBvb2w+KikKICAgICAgICAgLy8gc3RpbGwg
aGF2ZSBhIGJhY2tpbmcgc3RvcmUuCiAgICAgICAgIG9sZGVzdFJldXNlTGlzdC5yZW1vdmUoLS1v
bGRlc3RSZXVzZUxpc3QuZW5kKCkpOwogICAgIH0KLSAgICBpZiAoY3VycmVudFRpbWUoKSAtIG1f
bGFzdEFkZFRpbWUgPD0gY2FwYWNpdHlEZWNheVRpbWUpCisgICAgaWYgKG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIC0gbV9sYXN0QWRkVGltZSA8PSBjYXBhY2l0eURlY2F5VGltZSkKICAg
ICAgICAgc2NoZWR1bGVQcnVuZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQppbmRl
eCAzNTgzOTYyMjY2ZTc2ODhiZDAwMTg3ZmQyZGZlMTg2ODllMmI4ZGE3Li5lZWE4MWJmYmI5Y2U5
NzkyOWYwNzMwNmY4ODA1MDRmZWQxN2Q4NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0K
QEAgLTYxLDcgKzYxLDcgQEAgc3RhdGljIE5TU3RyaW5nICogY29uc3QgV0tOb25aZXJvQmVnaW5U
aW1lRmxhZyA9IEAiV0tQbGF0Zm9ybUNBQW5pbWF0aW9uTm9uWmVyb0IKIAogc3RhdGljIGRvdWJs
ZSBtZWRpYVRpbWVUb0N1cnJlbnRUaW1lKENGVGltZUludGVydmFsIHQpCiB7Ci0gICAgcmV0dXJu
IFdURjo6Y3VycmVudFRpbWUoKSArIHQgLSBDQUN1cnJlbnRNZWRpYVRpbWUoKTsKKyAgICByZXR1
cm4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKyB0IC0gQ0FDdXJyZW50TWVkaWFUaW1l
KCk7CiB9CiAKIC8vIERlbGVnYXRlIGZvciBhbmltYXRpb25EaWRTdGFydCBjYWxsYmFjawpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXll
clRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9D
QUNGTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggMmU0ZWM1ZWQ2ZTU5ZDcyMDM1MzAyNjU2YzVlZjQ3
NDQ4MjY3ZWY0ZS4uNjdmYWEwYWU4NTVjNzg2YTQ4NzY3NmEyMjk0MWI4ZmFjYjcxYWQyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXll
clRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93
aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3BwCkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBDQUNGTGF5
ZXJUcmVlSG9zdDo6bm90aWZ5QW5pbWF0aW9uc1N0YXJ0ZWQoKQogICAgIC8vIFNlbmQgY3VycmVu
dFRpbWUgdG8gdGhlIHBlbmRpbmcgYW5pbWF0aW9ucy4gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQg
YnkgQ0FDRiBpbiBhIGNhbGxiYWNrCiAgICAgLy8gd2hpY2ggb2NjdXJzIGFmdGVyIHRoZSBkcmF3
SW5Db250ZXh0IGNhbGxzLiBTbyBjdXJyZW50VGltZSBpcyB2ZXJ5IGNsb3NlIHRvIHRoZSB0aW1l
CiAgICAgLy8gdGhlIGFuaW1hdGlvbnMgYWN0dWFsbHkgc3RhcnQKLSAgICBkb3VibGUgY3VycmVu
dFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIGN1cnJlbnRUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAKICAgICBIYXNoU2V0PFJlZlB0cjxQbGF0Zm9y
bUNBTGF5ZXI+ID46Oml0ZXJhdG9yIGVuZCA9IG1fcGVuZGluZ0FuaW1hdGVkTGF5ZXJzLmVuZCgp
OwogICAgIGZvciAoSGFzaFNldDxSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiA+OjppdGVyYXRvciBp
dCA9IG1fcGVuZGluZ0FuaW1hdGVkTGF5ZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9y
bUNBTGF5ZXJXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2lu
L1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKaW5kZXggZjViN2M2ZmEyMzFlYjdkNDBiMDhlMjViYTc1
ZmJkMGNjNmM3MDkwNy4uNWY3MWRkZjQxNmYxNDQ5YjE1NTk2MGUzODFhMTU2NjIwZmUwNzYyOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRm
b3JtQ0FMYXllcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKQEAgLTc3MSw3ICs3NzEsNyBAQCB2b2lkIFBs
YXRmb3JtQ0FMYXllcjo6cHJpbnRUcmVlKCkgY29uc3QKICAgICAvLyBQcmludCBoZWFkaW5nIGlu
Zm8KICAgICBDR1JlY3Qgcm9vdEJvdW5kcyA9IGJvdW5kcygpOwogICAgIGZwcmludGYoc3RkZXJy
LCAiXG5cbioqIFJlbmRlciB0cmVlIGF0IHRpbWUgJWcgKGJvdW5kcyAlZywgJWcgJWd4JWcpICoq
XG5cbiIsIAotICAgICAgICBjdXJyZW50VGltZSgpLCByb290Qm91bmRzLm9yaWdpbi54LCByb290
Qm91bmRzLm9yaWdpbi55LCByb290Qm91bmRzLnNpemUud2lkdGgsIHJvb3RCb3VuZHMuc2l6ZS5o
ZWlnaHQpOworICAgICAgICBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSwgcm9vdEJvdW5k
cy5vcmlnaW4ueCwgcm9vdEJvdW5kcy5vcmlnaW4ueSwgcm9vdEJvdW5kcy5zaXplLndpZHRoLCBy
b290Qm91bmRzLnNpemUuaGVpZ2h0KTsKIAogICAgIC8vIFByaW50IGxheWVyIHRyZWUgZnJvbSB0
aGUgcm9vdAogICAgIHByaW50TGF5ZXIodGhpcywgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5
ZXJUZXh0dXJlTWFwcGVyLmNwcAppbmRleCBmMTI4MDdiZTYzNjZlNjVkNWZmY2NkODcyZTlkMzk3
ZDM5M2ZhMDRhLi5jOTljODA4MGQ3ZmYzMjkxMjhlNjc5MmE3NjBlYjYyOTc4YThjNzJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NM
YXllclRleHR1cmVNYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAKQEAgLTYzOCw3ICs2Mzgs
NyBAQCBib29sIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjphZGRBbmltYXRpb24oY29uc3Qg
S2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdAogICAgIGlmICh2YWx1ZUxpc3QucHJvcGVydHko
KSA9PSBBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtKQogICAgICAgICBsaXN0c01hdGNo
ID0gdmFsaWRhdGVUcmFuc2Zvcm1PcGVyYXRpb25zKHZhbHVlTGlzdCwgaGFzQmlnUm90YXRpb24p
ID49IDA7CiAKLSAgICBjb25zdCBkb3VibGUgY3VycmVudFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1l
KCk7CisgICAgY29uc3QgZG91YmxlIGN1cnJlbnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiAgICAgbV9hbmltYXRpb25zLmFkZChHcmFwaGljc0xheWVyQW5pbWF0aW9uKGtl
eWZyYW1lc05hbWUsIHZhbHVlTGlzdCwgYm94U2l6ZSwgYW5pbSwgY3VycmVudFRpbWUgLSB0aW1l
T2Zmc2V0LCBsaXN0c01hdGNoKSk7CiAgICAgLy8gbV9hbmltYXRpb25TdGFydFRpbWUgaXMgdGhl
IHRpbWUgb2YgdGhlIGZpcnN0IHJlYWwgZnJhbWUgb2YgYW5pbWF0aW9uLCBub3cgb3IgZGVsYXll
ZCBieSBhIG5lZ2F0aXZlIG9mZnNldC4KICAgICBpZiAodGltZU9mZnNldCA+IDApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckZQU0NvdW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcAppbmRleCAxNzA0ZjQ3N2QxODkyYzE5ODk5NjVm
YjliZmFkMDNkYWVjZDczZTI1Li5kNzQ0NzcwMTBhMzhiM2IxMDhmZGM5Nzg5NmQ2OWIwYzdjOTc1
MzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKQEAgLTQyLDcgKzQy
LDcgQEAgVGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OlRleHR1cmVNYXBwZXJGUFNDb3VudGVyKCkK
ICAgICBtX2Zwc0ludGVydmFsID0gc2hvd0ZQU0Vudmlyb25tZW50LnRvRG91YmxlKCZvayk7CiAg
ICAgaWYgKG9rICYmIG1fZnBzSW50ZXJ2YWwpIHsKICAgICAgICAgbV9pc1Nob3dpbmdGUFMgPSB0
cnVlOwotICAgICAgICBtX2Zwc1RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAgICAg
ICAgbV9mcHNUaW1lc3RhbXAgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICB9
CiB9CiAKQEAgLTUyLDcgKzUyLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyRlBTQ291bnRlcjo6dXBk
YXRlRlBTQW5kRGlzcGxheShUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLAogICAgICAgICBy
ZXR1cm47CiAKICAgICBtX2ZyYW1lQ291bnQrKzsKLSAgICBkb3VibGUgZGVsdGEgPSBXVEY6OmN1
cnJlbnRUaW1lKCkgLSBtX2Zwc1RpbWVzdGFtcDsKKyAgICBkb3VibGUgZGVsdGEgPSBtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fZnBzVGltZXN0YW1wOwogICAgIGlmIChkZWx0YSA+
PSBtX2Zwc0ludGVydmFsKSB7CiAgICAgICAgIG1fbGFzdEZQUyA9IGludChtX2ZyYW1lQ291bnQg
LyBkZWx0YSk7CiAgICAgICAgIG1fZnJhbWVDb3VudCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDdlNzBiYmIw
ZDRhY2U0NDg5NzE2YjQ4YTg2YjQzZTkzNjkyM2UyNzMuLjc3ZGMwZTFlOWI1MGU2MTYxMTUyNjEw
ZTRjODVkNTcwNmJkMzVmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMjE2LDcgKzEyMTYsNyBAQCBib29sIENv
b3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVM
aXN0JiB2YWx1ZUxpc3QsCiAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVk
UHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pCiAgICAgICAgIGxpc3RzTWF0Y2ggPSB2YWxpZGF0ZVRy
YW5zZm9ybU9wZXJhdGlvbnModmFsdWVMaXN0LCBpZ25vcmVkSGFzQmlnUm90YXRpb24pID49IDA7
CiAKLSAgICBtX2xhc3RBbmltYXRpb25TdGFydFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lKCkgLSBk
ZWxheUFzTmVnYXRpdmVUaW1lT2Zmc2V0OworICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNl
dDsKICAgICBtX2FuaW1hdGlvbnMuYWRkKEdyYXBoaWNzTGF5ZXJBbmltYXRpb24oa2V5ZnJhbWVz
TmFtZSwgdmFsdWVMaXN0LCBib3hTaXplLCBhbmltLCBtX2xhc3RBbmltYXRpb25TdGFydFRpbWUs
IGxpc3RzTWF0Y2gpKTsKICAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CiAgICAgZGlkQ2hhbmdlQW5pbWF0aW9ucygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCmluZGV4IDBlZjIwNDllZTk5MzZm
NTBjNDUzYTFjM2M5NGRhMDIzNGM0NTdkNTkuLjk4YTVlYjdmNTFkNDU2MjY3N2FmYmY4YTlhNDcz
NWUzODdjNjI0ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
RE5TUmVzb2x2ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0ROU1Jlc29sdmVRdWV1ZS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgRE5TUmVzb2x2ZVF1ZXVlOjpE
TlNSZXNvbHZlUXVldWUoKQogCiBib29sIEROU1Jlc29sdmVRdWV1ZTo6aXNVc2luZ1Byb3h5KCkK
IHsKLSAgICBkb3VibGUgdGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgZG91YmxlIHRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1p
bmltdW1Qcm94eUNoZWNrRGVsYXkgPSA1OwogICAgIGlmICh0aW1lIC0gbV9sYXN0UHJveHlFbmFi
bGVkU3RhdHVzQ2hlY2tUaW1lID4gbWluaW11bVByb3h5Q2hlY2tEZWxheSkgewogICAgICAgICBt
X2xhc3RQcm94eUVuYWJsZWRTdGF0dXNDaGVja1RpbWUgPSB0aW1lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcApp
bmRleCBjNWYzMDgxYzBkNjQ3Y2QyYzI2YzU4ZGVlMzM5MWY4NWVlMjIxMDllLi5iMzI3Mjg5ODBl
ZjA2NDQyMTRmMDcxZjkyNzJmNDJiYTE4YzdjMzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcApAQCAtODYs
NyArODYsNyBAQCB2b2lkIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46OmFwcGVuZE1lc3NhZ2Uo
SFdORCBoV25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbQogCiAgICAgLy8gSWYgaXQgaGFzIGJl
ZW4gbW9yZSB0aGFuIE1lc3NhZ2VEaXJlY3RQcm9jZXNzaW5nSW50ZXJ2YWwgYmV0d2VlbiB0aHJv
dHRsZWQgbWVzc2FnZXMsCiAgICAgLy8gZ28gYWhlYWQgYW5kIHByb2Nlc3MgYSBtZXNzYWdlIGRp
cmVjdGx5LgotICAgIGRvdWJsZSBjdXJyZW50VGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKKyAg
ICBkb3VibGUgY3VycmVudFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAg
ICBpZiAoY3VycmVudFRpbWUgLSBtX2xhc3RNZXNzYWdlVGltZSA+IE1lc3NhZ2VEaXJlY3RQcm9j
ZXNzaW5nSW50ZXJ2YWwpIHsKICAgICAgICAgcHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKTsKICAgICAg
ICAgbV9sYXN0TWVzc2FnZVRpbWUgPSBjdXJyZW50VGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNzZmNDUwNTdiYjM0
YmFlZTlhOTg4NTZkZWEzMzYwZjE2ZjhkNWEwZC4uMDY5NWJlZTgwNWE0MGU0ZGYyMmY2MTdkZTE3
Zjk2NmNmN2MzYjBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTQxNSw3ICs0MTUsNyBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6ZGlkRmx1c2hDaGFuZ2VzRm9yTGF5ZXIoUmVuZGVyTGF5ZXIqIGxheWVyLCBj
b25zdCBHcgogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmRpZFBhaW50QmFja2luZyhSZW5k
ZXJMYXllckJhY2tpbmcqKQogewogICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gbV9yZW5kZXJW
aWV3LmZyYW1lVmlldygpOwotICAgIGZyYW1lVmlldy5zZXRMYXN0UGFpbnRUaW1lKGN1cnJlbnRU
aW1lKCkpOworICAgIGZyYW1lVmlldy5zZXRMYXN0UGFpbnRUaW1lKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKTsKICAgICBpZiAoZnJhbWVWaWV3Lm1pbGVzdG9uZXNQZW5kaW5nUGFpbnQo
KSAmJiAhbV9wYWludFJlbGF0ZWRNaWxlc3RvbmVzVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAg
bV9wYWludFJlbGF0ZWRNaWxlc3RvbmVzVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQpAQCAtNTQ2
LDcgKzU0Niw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGlu
Z0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZVR5cGUgdXBkYXRlCiAgICAgZG91YmxlIHN0YXJ0VGlt
ZSA9IDA7CiAgICAgaWYgKGNvbXBvc2l0aW5nTG9nRW5hYmxlZCgpKSB7CiAgICAgICAgICsrbV9y
b290TGF5ZXJVcGRhdGVDb3VudDsKLSAgICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsK
KyAgICAgICAgc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAg
fQogI2VuZGlmCiAKQEAgLTU5OCw3ICs1OTgsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQog
ICAgIAogI2lmICFMT0dfRElTQUJMRUQKICAgICBpZiAoY29tcG9zaXRpbmdMb2dFbmFibGVkKCkg
JiYgaXNGdWxsVXBkYXRlICYmIChuZWVkSGllcmFyY2h5VXBkYXRlIHx8IG5lZWRHZW9tZXRyeVVw
ZGF0ZSkpIHsKLSAgICAgICAgZG91YmxlIGVuZFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgICAg
ICBkb3VibGUgZW5kVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAg
ICBMT0coQ29tcG9zaXRpbmcsICJUb3RhbCBsYXllcnMgICBwcmltYXJ5ICAgc2Vjb25kYXJ5ICAg
b2JsaWdhdG9yeSBiYWNraW5nIChLQikgICBzZWNvbmRhcnkgYmFja2luZyhLQikgICB0b3RhbCBi
YWNraW5nIChLQikgIHVwZGF0ZSB0aW1lIChtcylcbiIpOwogCiAgICAgICAgIExPRyhDb21wb3Np
dGluZywgIiU4ZCAlMTFkICU5ZCAlMjAuMmYgJTIyLjJmICUyMi4yZiAlMTguMmZcbiIsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCBhZDFiMzM4YWQw
MzA4Zjk5OWU2MjVjYjQ5ODA4NDMzNjg4MzQ4OTZiLi5kYzgxNGEwNDJmZWE0ODQ5YjYxYjRmYTI5
ODg1YmM4NzI5MDYwMmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUHJvZ3Jlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9n
cmVzcy5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgYm9vbCBSZW5kZXJQcm9ncmVzczo6Y2FuQmVSZXBs
YWNlZFdpdGhJbmxpbmVSdW5JbigpIGNvbnN0CiAKIGRvdWJsZSBSZW5kZXJQcm9ncmVzczo6YW5p
bWF0aW9uUHJvZ3Jlc3MoKSBjb25zdAogewotICAgIHJldHVybiBtX2FuaW1hdGluZyA/IChmbW9k
KChjdXJyZW50VGltZSgpIC0gbV9hbmltYXRpb25TdGFydFRpbWUpLCBtX2FuaW1hdGlvbkR1cmF0
aW9uKSAvIG1fYW5pbWF0aW9uRHVyYXRpb24pIDogMDsKKyAgICByZXR1cm4gbV9hbmltYXRpbmcg
PyAoZm1vZCgobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX2FuaW1hdGlvblN0YXJ0
VGltZSksIG1fYW5pbWF0aW9uRHVyYXRpb24pIC8gbV9hbmltYXRpb25EdXJhdGlvbikgOiAwOwog
fQogCiBib29sIFJlbmRlclByb2dyZXNzOjppc0RldGVybWluYXRlKCkgY29uc3QKQEAgLTk0LDcg
Kzk0LDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogCiAg
ICAgbV9hbmltYXRpbmcgPSBhbmltYXRpbmc7CiAgICAgaWYgKG1fYW5pbWF0aW5nKSB7Ci0gICAg
ICAgIG1fYW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKKyAgICAgICAgbV9hbmlt
YXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAgICAg
bV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7
CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAppbmRleCA0
ZGYwZmZiMjY5NzJjYzdiZmJiYjcyYTQ4NjFlNzRhMjZiNmY0MzU3Li4zNThhOWU3ZDk4ZTAxNDE5
M2IxMGNkZjRjYTkxODY2ZmE0MGUzMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
YW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
YW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIFNNSUxU
aW1lIFNNSUxUaW1lQ29udGFpbmVyOjplbGFwc2VkKCkgY29uc3QKIHsKICAgICBpZiAoIW1fYmVn
aW5UaW1lKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gY3VycmVudFRpbWUoKSAtIG1f
YmVnaW5UaW1lIC0gbV9hY2N1bXVsYXRlZFBhdXNlVGltZTsKKyAgICByZXR1cm4gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX2JlZ2luVGltZSAtIG1fYWNjdW11bGF0ZWRQYXVzZVRp
bWU7CiB9CiAKIGJvb2wgU01JTFRpbWVDb250YWluZXI6OmlzQWN0aXZlKCkgY29uc3QKQEAgLTEz
MSw3ICsxMzEsNyBAQCBib29sIFNNSUxUaW1lQ29udGFpbmVyOjppc1N0YXJ0ZWQoKSBjb25zdAog
dm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6YmVnaW4oKQogewogICAgIEFTU0VSVCghbV9iZWdpblRp
bWUpOwotICAgIGRvdWJsZSBub3cgPSBjdXJyZW50VGltZSgpOworICAgIGRvdWJsZSBub3cgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIAogICAgIC8vIElmICdtX3ByZXNldFN0YXJ0
VGltZScgaXMgc2V0LCB0aGUgdGltZWxpbmUgd2FzIG1vZGlmaWVkIHZpYSBzZXRFbGFwc2VkKCkg
YmVmb3JlIHRoZSBkb2N1bWVudCBiZWdhbi4KICAgICAvLyBJbiB0aGlzIGNhc2UgcGFzcyBvbiAn
c2Vla1RvVGltZT10cnVlJyB0byB1cGRhdGVBbmltYXRpb25zKCkuCkBAIC0xNDgsNyArMTQ4LDcg
QEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6YmVnaW4oKQogdm9pZCBTTUlMVGltZUNvbnRhaW5l
cjo6cGF1c2UoKQogewogICAgIEFTU0VSVCghaXNQYXVzZWQoKSk7Ci0gICAgbV9wYXVzZVRpbWUg
PSBjdXJyZW50VGltZSgpOworICAgIG1fcGF1c2VUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiAKICAgICBpZiAobV9iZWdpblRpbWUpCiAgICAgICAgIG1fdGltZXIuc3RvcCgp
OwpAQCAtMTU5LDcgKzE1OSw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnJlc3VtZSgpCiAg
ICAgQVNTRVJUKGlzUGF1c2VkKCkpOwogCiAgICAgaWYgKG1fYmVnaW5UaW1lKQotICAgICAgICBt
X2FjY3VtdWxhdGVkUGF1c2VUaW1lICs9IGN1cnJlbnRUaW1lKCkgLSBtX3BhdXNlVGltZTsKKyAg
ICAgICAgbV9hY2N1bXVsYXRlZFBhdXNlVGltZSArPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fcGF1c2VUaW1lOwogCiAgICAgbV9wYXVzZVRpbWUgPSAwOwogICAgIHN0YXJ0VGlt
ZXIoMCk7CkBAIC0xNzYsNyArMTc2LDcgQEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c2V0RWxh
cHNlZChTTUlMVGltZSB0aW1lKQogICAgIGlmIChtX2JlZ2luVGltZSkKICAgICAgICAgbV90aW1l
ci5zdG9wKCk7CiAKLSAgICBkb3VibGUgbm93ID0gY3VycmVudFRpbWUoKTsKKyAgICBkb3VibGUg
bm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgbV9iZWdpblRpbWUgPSBu
b3cgLSB0aW1lLnZhbHVlKCk7CiAKICAgICBtX2FjY3VtdWxhdGVkUGF1c2VUaW1lID0gMDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>