<?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>145708</bug_id>
          
          <creation_ts>2015-06-05 12:16:34 -0700</creation_ts>
          <short_desc>Regression(r176212): Broke app switching on iCloud.com</short_desc>
          <delta_ts>2015-06-05 15:10:56 -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>CSS</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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1099906</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-05 12:16:34 -0700</bug_when>
    <thetext>r176212 added support for throttling specific DOMTimers that are updating the style of Element outside the viewport for performance reasons.
However, it appears this change broke app switching on iCloud.com, hinting that such throttling may not be safe.

Radar: &lt;rdar://problem/21235277&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099918</commentid>
    <comment_count>1</comment_count>
      <attachid>254375</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-05 13:19:35 -0700</bug_when>
    <thetext>Created attachment 254375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099927</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-05 13:43:21 -0700</bug_when>
    <thetext>Don&apos;t you also need to revert some tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099931</commentid>
    <comment_count>3</comment_count>
      <attachid>254375</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-05 13:53:42 -0700</bug_when>
    <thetext>Comment on attachment 254375
Patch

Right! the tests...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099933</commentid>
    <comment_count>4</comment_count>
      <attachid>254380</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-05 14:01:28 -0700</bug_when>
    <thetext>Created attachment 254380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099982</commentid>
    <comment_count>5</comment_count>
      <attachid>254380</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-05 15:10:48 -0700</bug_when>
    <thetext>Comment on attachment 254380
Patch

Clearing flags on attachment: 254380

Committed r185269: &lt;http://trac.webkit.org/changeset/185269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099983</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-05 15:10:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254375</attachid>
            <date>2015-06-05 13:19:35 -0700</date>
            <delta_ts>2015-06-05 14:01:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145708-20150605131913.patch</filename>
            <type>text/plain</type>
            <size>20212</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjM5NDUwMTM5MGY4ZmNm
YzNjMTQ2NjA1ZTc2ZDU2YzFmMmM5MDk5OC4uNWE2MmEzZmUyMDJkNmVhNDU2MWQ2ZDVmYmI3NDdl
MzQ5YjFjODk2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA2LTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTc2MjEy
KTogQnJva2UgYXBwIHN3aXRjaGluZyBvbiBpQ2xvdWQuY29tCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU3MDgKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzIxMjM1Mjc3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJvbGwgb3V0IHIxNzYyMTIgYW5kIGZvbGxvdy11cCBmaXhlcyBmb3Igbm93LCB0byBm
aXggaUNsb3VkLmNvbS4KKyAgICAgICAgV2UgY2FuIHJlY29uc2lkZXIgbGF0ZXIgaG93IHRvIGRv
IHRoaXMgaW4gYSBzYWZlciB3YXkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NTU1N0eWxl
RGVjbGFyYXRpb25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDU1NTdHlsZURlY2xh
cmF0aW9uOjpwdXREZWxlZ2F0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0NTU1N0
eWxlRGVjbGFyYXRpb246OmdldE93blByb3BlcnR5TmFtZXMpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRv
bS9FbGVtZW50UmFyZURhdGEuY3BwOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6fkVsZW1lbnRSYXJlRGF0YSk6IERlbGV0
ZWQuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bWF0
ZXJpYWxpemVSYXJlRGF0YSk6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6bm90aWZ5T2JzZXJ2ZXJzQ2Fu
dmFzQ2hhbmdlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9ET01UaW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01UaW1lckZpcmVTdGF0ZTo6c2NyaXB0TWFkZU5vblVzZXJPYnNlcnZh
YmxlQ2hhbmdlcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01UaW1lckZpcmVTdGF0
ZTo6c2NyaXB0TWFkZVVzZXJPYnNlcnZhYmxlQ2hhbmdlcyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpOZXN0ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9N
VGltZXI6OmFsaWduZWRGaXJlVGltZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01U
aW1lcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9ET01U
aW1lci5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6cmVzZXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojp2aWV3cG9ydENvbnRlbnRzQ2hhbmdlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OmF1dG9TaXplSWZFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5oOgorCiAyMDE1LTA2LTA1ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIFN1cHBvcnQgZG90cyBzZXF1
ZW5jZXMgaW4gZ3JpZC10ZW1wbGF0ZS1hcmVhcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAKaW5kZXggYjkz
OTA3M2Q2MWI2NzFmNDQwM2IzMDdiYzUzNDllMDZkNzdjM2RjZC4uZTk5ZGUyMWE3NWQ3MzljMzk0
YWE0MmJkZDE4Yjc1OWM4OTgwMTAwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCkBAIC0zMjAsMjMg
KzMyMCw2IEBAIGJvb2wgSlNDU1NTdHlsZURlY2xhcmF0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3RE
ZWxlZ2F0ZShFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LS8vIFdlIG9ubHkgdGhyb3R0bGUgRE9NIHRpbWVycyBpZiB0aGV5IGFuaW1hdGUgQ1NTIHByb3Bl
cnRpZXMgdGhhdCB3aWxsIG9ubHkKLS8vIGNhdXNlIHRoZSBjdXJyZW50IGVsZW1lbnQgKG9yIGl0
cyBkZXNjZW5kYW50cykgdG8gYmUgcmVwYWludGVkLgotc3RhdGljIGlubGluZSBib29sIHByb3Bl
cnR5Q2hhbmdlTWF5UmVwYWludE5vbkRlc2NlbmRhbnRzKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJ
RCkKLXsKLSAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm90
dG9tOgotICAgIGNhc2UgQ1NTUHJvcGVydHlMZWZ0OgotICAgIGNhc2UgQ1NTUHJvcGVydHlPcGFj
aXR5OgotICAgIGNhc2UgQ1NTUHJvcGVydHlSaWdodDoKLSAgICBjYXNlIENTU1Byb3BlcnR5VG9w
OgotICAgIGNhc2UgQ1NTUHJvcGVydHlUcmFuc2Zvcm06Ci0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19Ci0KIGJvb2wgSlND
U1NTdHlsZURlY2xhcmF0aW9uOjpwdXREZWxlZ2F0ZShFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpCiB7CiAg
ICAgQ1NTUHJvcGVydHlJbmZvIHByb3BlcnR5SW5mbyA9IGNzc1Byb3BlcnR5SURGb3JKU0NTU1By
b3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpOwpAQCAtMzYxLDEwICszNDQsNiBAQCBib29sIEpTQ1NT
U3R5bGVEZWNsYXJhdGlvbjo6cHV0RGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYQogICAgIGltcGwoKS5zZXRQcm9wZXJ0eUludGVybmFsKHByb3BlcnR5SUQs
IHByb3BWYWx1ZSwgaW1wb3J0YW50LCBlYyk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTsKIAotICAgIC8vIENob2tlIHBvaW50IGZvciBpbnRlcmFjdGlvbiB3aXRoIHN0eWxlIG9mIGVs
ZW1lbnQ7IG5vdGlmeSBET01UaW1lciBvZiB0aGUgZXZlbnQuCi0gICAgaWYgKGF1dG8qIGVsZW1l
bnQgPSBpbXBsKCkucGFyZW50RWxlbWVudCgpKQotICAgICAgICBET01UaW1lcjo6c2NyaXB0RGlk
Q2F1c2VFbGVtZW50UmVwYWludCgqZWxlbWVudCwgcHJvcGVydHlDaGFuZ2VNYXlSZXBhaW50Tm9u
RGVzY2VuZGFudHMocHJvcGVydHlJRCkpOwotCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAppbmRleCAwNmVhYWZkYjAwYzRkNjI4NjEyOWUwYjVhODczODg3NTIzMzVl
MDM1Li5iZDllZmI0NjczNzk3MmY2YjFjOThiN2VlMGFlZGI2YmY4ZjE1ZDllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCkBAIC0xMzc0LDExICsxMzc0LDYgQEAgVVJMIEVsZW1lbnQ6OmFic29sdXRl
TGlua1VSTCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvY3VtZW50KCkuY29tcGxldGVVUkwoc3RyaXBM
ZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGxpbmtBdHRyaWJ1dGUpKTsKIH0KIAotV2Vha1B0
cjxFbGVtZW50PiBFbGVtZW50OjpjcmVhdGVXZWFrUHRyKCkKLXsKLSAgICByZXR1cm4gZW5zdXJl
RWxlbWVudFJhcmVEYXRhKCkud2Vha1B0ckZhY3RvcnkoKS5jcmVhdGVXZWFrUHRyKCk7Ci19Ci0K
IC8vIFJldHVybnMgdHJ1ZSBpcyB0aGUgZ2l2ZW4gYXR0cmlidXRlIGlzIGFuIGV2ZW50IGhhbmRs
ZXIuCiAvLyBXZSBjb25zaWRlciBhbiBldmVudCBoYW5kbGVyIGFueSBhdHRyaWJ1dGUgdGhhdCBi
ZWdpbnMgd2l0aCAib24iLgogLy8gSXQgaXMgYSBzaW1wbGUgc29sdXRpb24gdGhhdCBoYXMgdGhl
IGFkdmFudGFnZSBvZiBub3QgcmVxdWlyaW5nIGFueQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNTQ3
NGI3MWI0OGI2MjFjMWMzYzE2NGM0NmE3MWFjZTI3NTAyMjNkNC4uYTEwOGRhNGJkNzkzNjkwMmMz
ODNmMTc3ZDE3ZTA5MmVlMTBmMjJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC00ODMsNyArNDgz
LDYgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJIb3ZlckFuZEFjdGl2ZVN0YXR1c0JlZm9yZURl
dGFjaGluZ1JlbmRlcmVyKCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBVUkwgYWJzb2x1dGVMaW5r
VVJMKCkgY29uc3Q7Ci0gICAgV2Vha1B0cjxFbGVtZW50PiBjcmVhdGVXZWFrUHRyKCk7CiAKIHBy
b3RlY3RlZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIENv
bnN0cnVjdGlvblR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAppbmRl
eCBiMmFmNzAzNDZlNGJmNzFiZDExMmI1ZjQ3N2Q5NTZkN2RmZDM3NDZjLi4zYjFjZDNjYmUwNTcw
ZTc1NDJmY2VhMzQ5ZmNhZTA3ZGU1Y2IwNWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudFJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJh
cmVEYXRhLmNwcApAQCAtMzksNyArMzksNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc0VsZW1lbnRSYXJl
RGF0YSA6IE5vZGVSYXJlRGF0YSB7CiAgICAgUmVnaW9uT3ZlcnNldFN0YXRlIHJlZ2lvbk92ZXJz
ZXRTdGF0ZTsKICAgICBMYXlvdXRTaXplIHNpemVGb3JSZXNpemluZzsKICAgICBJbnRTaXplIHNj
cm9sbE9mZnNldDsKLSAgICB2b2lkKiBwb2ludGVyc1s4XTsKKyAgICB2b2lkKiBwb2ludGVyc1s3
XTsKIH07CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9m
KFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5
IHNtYWxsIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNjA2MWU5NWFm
Y2YxN2Q5ZGI2M2I5Y2EwNDYxOGQ1Y2Y4NjkwZWQ5Ni4uMzFjODNkZTYxMzMyMjU5YmM3YjM1YTYw
MzQ4ZmJmYjgwMGVhMDI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAt
MzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnRSYXJlRGF0
YSA6IHB1YmxpYyBOb2RlUmFyZURhdGEgewogcHVibGljOgotICAgIEVsZW1lbnRSYXJlRGF0YShF
bGVtZW50JiwgUmVuZGVyRWxlbWVudCopOworICAgIGV4cGxpY2l0IEVsZW1lbnRSYXJlRGF0YShS
ZW5kZXJFbGVtZW50Kik7CiAgICAgfkVsZW1lbnRSYXJlRGF0YSgpOwogCiAgICAgdm9pZCBzZXRC
ZWZvcmVQc2V1ZG9FbGVtZW50KFJlZlB0cjxQc2V1ZG9FbGVtZW50PiYmKTsKQEAgLTExMyw4ICsx
MTMsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNQZW5kaW5nUmVzb3VyY2VzKCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNQZW5kaW5nUmVzb3VyY2VzOyB9CiAgICAgdm9pZCBzZXRIYXNQZW5kaW5nUmVz
b3VyY2VzKGJvb2wgaGFzKSB7IG1faGFzUGVuZGluZ1Jlc291cmNlcyA9IGhhczsgfQogCi0gICAg
V2Vha1B0ckZhY3Rvcnk8RWxlbWVudD4mIHdlYWtQdHJGYWN0b3J5KCkgeyByZXR1cm4gbV93ZWFr
UHRyRmFjdG9yeTsgfQotCiBwcml2YXRlOgogICAgIHNob3J0IG1fdGFiSW5kZXg7CiAgICAgdW5z
aWduZWQgc2hvcnQgbV9jaGlsZEluZGV4OwpAQCAtMTQ4LDcgKzE0Niw2IEBAIHByaXZhdGU6CiAK
ICAgICBSZWZQdHI8UHNldWRvRWxlbWVudD4gbV9iZWZvcmVQc2V1ZG9FbGVtZW50OwogICAgIFJl
ZlB0cjxQc2V1ZG9FbGVtZW50PiBtX2FmdGVyUHNldWRvRWxlbWVudDsKLSAgICBXZWFrUHRyRmFj
dG9yeTxFbGVtZW50PiBtX3dlYWtQdHJGYWN0b3J5OwogCiAgICAgdm9pZCByZWxlYXNlUHNldWRv
RWxlbWVudChQc2V1ZG9FbGVtZW50Kik7CiB9OwpAQCAtMTU4LDcgKzE1NSw3IEBAIGlubGluZSBJ
bnRTaXplIGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkKICAgICByZXR1cm4gSW50U2l6
ZShMYXlvdXRVbml0OjptYXgoKSwgTGF5b3V0VW5pdDo6bWF4KCkpOwogfQogCi1pbmxpbmUgRWxl
bWVudFJhcmVEYXRhOjpFbGVtZW50UmFyZURhdGEoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyRWxl
bWVudCogcmVuZGVyZXIpCitpbmxpbmUgRWxlbWVudFJhcmVEYXRhOjpFbGVtZW50UmFyZURhdGEo
UmVuZGVyRWxlbWVudCogcmVuZGVyZXIpCiAgICAgOiBOb2RlUmFyZURhdGEocmVuZGVyZXIpCiAg
ICAgLCBtX3RhYkluZGV4KDApCiAgICAgLCBtX2NoaWxkSW5kZXgoMCkKQEAgLTE3Nyw3ICsxNzQs
NiBAQCBpbmxpbmUgRWxlbWVudFJhcmVEYXRhOjpFbGVtZW50UmFyZURhdGEoRWxlbWVudCYgZWxl
bWVudCwgUmVuZGVyRWxlbWVudCogcmVuZGVyZQogICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlQ
cm9wZXJ0eUJhc2VkQmFja3dhcmRQb3NpdGlvbmFsUnVsZXMoZmFsc2UpCiAgICAgLCBtX3JlZ2lv
bk92ZXJzZXRTdGF0ZShSZWdpb25VbmRlZmluZWQpCiAgICAgLCBtX21pbmltdW1TaXplRm9yUmVz
aXppbmcoZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKSkKLSAgICAsIG1fd2Vha1B0ckZh
Y3RvcnkoJmVsZW1lbnQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA4NDhiMzNkOTM4YjZm
ZjllNGQxOTFhMmE5ZDVkNjc3NWI2ZTY4NGVjLi5lNDQ3NTdjNzYyODg3NTA3YTU5YmY5OWZkYjQ0
ZGU0NDY5YzFjZDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0zNTQsNyArMzU0LDcgQEAgdm9pZCBO
b2RlOjptYXRlcmlhbGl6ZVJhcmVEYXRhKCkKIHsKICAgICBOb2RlUmFyZURhdGEqIGRhdGE7CiAg
ICAgaWYgKGlzPEVsZW1lbnQ+KCp0aGlzKSkKLSAgICAgICAgZGF0YSA9IHN0ZDo6bWFrZV91bmlx
dWU8RWxlbWVudFJhcmVEYXRhPihkb3duY2FzdDxFbGVtZW50PigqdGhpcyksIGRvd25jYXN0PFJl
bmRlckVsZW1lbnQ+KG1fZGF0YS5tX3JlbmRlcmVyKSkucmVsZWFzZSgpOworICAgICAgICBkYXRh
ID0gc3RkOjptYWtlX3VuaXF1ZTxFbGVtZW50UmFyZURhdGE+KGRvd25jYXN0PFJlbmRlckVsZW1l
bnQ+KG1fZGF0YS5tX3JlbmRlcmVyKSkucmVsZWFzZSgpOwogICAgIGVsc2UKICAgICAgICAgZGF0
YSA9IHN0ZDo6bWFrZV91bmlxdWU8Tm9kZVJhcmVEYXRhPihtX2RhdGEubV9yZW5kZXJlcikucmVs
ZWFzZSgpOwogICAgIEFTU0VSVChkYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5jcHAKaW5kZXggYjIyZDhjMTc0NDc2ZDk3ZmQ5N2NlMDMwMDliMDFiZDIwY2E4Y2E2
MC4uZmY5NDlmZDc1M2UxNGRlZjRmY2MzNzZmNWMyMWJmNzllZDY0MzNiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKQEAgLTI3NCw5ICsyNzQsNiBAQCB2b2lk
IEhUTUxDYW52YXNFbGVtZW50OjpkaWREcmF3KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIAogdm9p
ZCBIVE1MQ2FudmFzRWxlbWVudDo6bm90aWZ5T2JzZXJ2ZXJzQ2FudmFzQ2hhbmdlZChjb25zdCBG
bG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAgLy8gQ2hva2UgcG9pbnQgZm9yIGNhbnZhcyBkcmF3aW5n
OyBub3RpZnkgRE9NVGltZXIgb2YgdGhlIGV2ZW50LgotICAgIERPTVRpbWVyOjpzY3JpcHREaWRD
YXVzZUVsZW1lbnRSZXBhaW50KCp0aGlzKTsKLQogICAgIGZvciAoYXV0byBpdCA9IG1fb2JzZXJ2
ZXJzLmJlZ2luKCksIGVuZCA9IG1fb2JzZXJ2ZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCiAg
ICAgICAgICgqaXQpLT5jYW52YXNDaGFuZ2VkKCp0aGlzLCByZWN0KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01UaW1lci5jcHAKaW5kZXggYmMyZTBjMDZmZDAyMWZjMjQ0MzU4ZDZmNWNjODE2NmNmNTlkMDBm
Ni4uMjk4MGVhMjE0OWE3MDUwMGEwOWNjNzVkOWNlNDU5MmVkM2ZjMTBmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJET01UaW1lci5oIgogCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAi
SFRNTFBsdWdJbkVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC04MiwxMSArODEsNiBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHNldFNjcmlwdE1hZGVVc2VyT2JzZXJ2YWJsZUNoYW5nZXMoKSB7IG1fc2NyaXB0TWFk
ZVVzZXJPYnNlcnZhYmxlQ2hhbmdlcyA9IHRydWU7IH0KICAgICB2b2lkIHNldFNjcmlwdE1hZGVO
b25Vc2VyT2JzZXJ2YWJsZUNoYW5nZXMoKSB7IG1fc2NyaXB0TWFkZU5vblVzZXJPYnNlcnZhYmxl
Q2hhbmdlcyA9IHRydWU7IH0KLSAgICB2b2lkIHNldFNjcmlwdE1hZGVOb25Vc2VyT2JzZXJ2YWJs
ZUNoYW5nZXNUb0VsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKLSAgICB7Ci0gICAgICAgIG1fc2Ny
aXB0TWFkZU5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlcyA9IHRydWU7Ci0gICAgICAgIG1fZWxlbWVu
dHNDaGFuZ2VkT3V0c2lkZVZpZXdwb3J0LnNldCgmZWxlbWVudCwgZWxlbWVudC5jcmVhdGVXZWFr
UHRyKCkpOwotICAgIH0KIAogICAgIGJvb2wgc2NyaXB0TWFkZU5vblVzZXJPYnNlcnZhYmxlQ2hh
bmdlcygpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0TWFkZU5vblVzZXJPYnNlcnZhYmxlQ2hhbmdl
czsgfQogICAgIGJvb2wgc2NyaXB0TWFkZVVzZXJPYnNlcnZhYmxlQ2hhbmdlcygpIGNvbnN0CkBA
IC05OSwyNCArOTMsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZG9jdW1lbnQgJiYgZG9j
dW1lbnQtPmRvbVRyZWVWZXJzaW9uKCkgIT0gbV9pbml0aWFsRE9NVHJlZVZlcnNpb247CiAgICAg
fQogCi0gICAgdm9pZCBlbGVtZW50c0NoYW5nZWRPdXRzaWRlVmlld3BvcnQoVmVjdG9yPFdlYWtQ
dHI8RWxlbWVudD4+JiBlbGVtZW50cykgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChlbGVt
ZW50cy5pc0VtcHR5KCkpOwotICAgICAgICBlbGVtZW50cy5yZXNlcnZlQ2FwYWNpdHkobV9lbGVt
ZW50c0NoYW5nZWRPdXRzaWRlVmlld3BvcnQuc2l6ZSgpKTsKLSAgICAgICAgZm9yIChhdXRvJiBl
bGVtZW50IDogbV9lbGVtZW50c0NoYW5nZWRPdXRzaWRlVmlld3BvcnQudmFsdWVzKCkpIHsKLSAg
ICAgICAgICAgIGlmIChlbGVtZW50KQotICAgICAgICAgICAgICAgIGVsZW1lbnRzLnVuY2hlY2tl
ZEFwcGVuZChlbGVtZW50KTsKLSAgICAgICAgfQotICAgICAgICBlbGVtZW50cy5zaHJpbmtUb0Zp
dCgpOwotICAgIH0KLQogICAgIHN0YXRpYyBET01UaW1lckZpcmVTdGF0ZSogY3VycmVudDsKIAog
cHJpdmF0ZToKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7CiAgICAgdWlu
dDY0X3QgbV9pbml0aWFsRE9NVHJlZVZlcnNpb247CiAgICAgRE9NVGltZXJGaXJlU3RhdGUqIG1f
cHJldmlvdXM7Ci0gICAgSGFzaE1hcDxFbGVtZW50KiwgV2Vha1B0cjxFbGVtZW50Pj4gbV9lbGVt
ZW50c0NoYW5nZWRPdXRzaWRlVmlld3BvcnQ7CiAgICAgYm9vbCBtX2NvbnRleHRJc0RvY3VtZW50
OwogICAgIGJvb2wgbV9zY3JpcHRNYWRlTm9uVXNlck9ic2VydmFibGVDaGFuZ2VzIHsgZmFsc2Ug
fTsKICAgICBib29sIG1fc2NyaXB0TWFkZVVzZXJPYnNlcnZhYmxlQ2hhbmdlcyB7IGZhbHNlIH07
CkBAIC0yMTAsMTAgKzE5Miw2IEBAIERPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0CiAKIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewotICAgIC8vIElmIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGhh
cyBhbHJlYWR5IGJlZW4gZGVzdHJveWVkLCB0aGVyZSBpcwotICAgIC8vIG5vIG5lZWQgdG8gc3Rv
cCBsaXN0ZW5pbmcgZm9yIHZpZXdwb3J0IGNoYW5nZXMuCi0gICAgaWYgKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSAmJiBpc0ludGVydmFsRGVwZW5kZW50T25WaWV3cG9ydCgpKQotICAgICAgICB1
bnJlZ2lzdGVyRm9yVmlld3BvcnRDaGFuZ2VzKCk7CiB9CiAKIGludCBET01UaW1lcjo6aW5zdGFs
bChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1
bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpCkBAIC0yODQs
NyArMjYyLDYgQEAgdm9pZCBET01UaW1lcjo6dXBkYXRlVGhyb3R0bGluZ1N0YXRlSWZOZWNlc3Nh
cnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUmIGZpcmVTdGEKICAgICB9CiAKICAgICBpZiAoZmly
ZVN0YXRlLnNjcmlwdE1hZGVVc2VyT2JzZXJ2YWJsZUNoYW5nZXMoKSkgewotICAgICAgICBBU1NF
UlQobV9lbGVtZW50c0NhdXNpbmdUaHJvdHRsaW5nLmlzRW1wdHkoKSk7CiAgICAgICAgIGlmICht
X3Rocm90dGxlU3RhdGUgIT0gU2hvdWxkTm90VGhyb3R0bGUpIHsKICAgICAgICAgICAgIG1fdGhy
b3R0bGVTdGF0ZSA9IFNob3VsZE5vdFRocm90dGxlOwogICAgICAgICAgICAgdXBkYXRlVGltZXJJ
bnRlcnZhbElmTmVjZXNzYXJ5KCk7CkBAIC0yOTQsMTEgKzI3MSw2IEBAIHZvaWQgRE9NVGltZXI6
OnVwZGF0ZVRocm90dGxpbmdTdGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRl
JiBmaXJlU3RhCiAgICAgICAgICAgICBtX3Rocm90dGxlU3RhdGUgPSBTaG91bGRUaHJvdHRsZTsK
ICAgICAgICAgICAgIHVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpOwogICAgICAgICB9
Ci0gICAgICAgIC8vIFVwZGF0ZSBvdXIgdmVjdG9yIG9mIEVsZW1lbnRzIGNhdXNpbmcgdGhyb3R0
bGluZyBhbmQgcmVnaXN0ZXIKLSAgICAgICAgLy8gZm9yIHZpZXdwb3J0IGNoYW5nZXMgaWYgdGhl
IHZlY3RvciBpcyBub3QgZW1wdHkuCi0gICAgICAgIGZpcmVTdGF0ZS5lbGVtZW50c0NoYW5nZWRP
dXRzaWRlVmlld3BvcnQobV9lbGVtZW50c0NhdXNpbmdUaHJvdHRsaW5nKTsKLSAgICAgICAgaWYg
KGlzSW50ZXJ2YWxEZXBlbmRlbnRPblZpZXdwb3J0KCkpCi0gICAgICAgICAgICByZWdpc3RlckZv
clZpZXdwb3J0Q2hhbmdlcygpOwogICAgIH0KIH0KIApAQCAtMzEzLDE3ICsyODUsNiBAQCB2b2lk
IERPTVRpbWVyOjpzY3JpcHREaWRJbnRlcmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQm
IHBsdWdpbkVsZW1lbnQpCiAgICAgICAgIERPTVRpbWVyRmlyZVN0YXRlOjpjdXJyZW50LT5zZXRT
Y3JpcHRNYWRlTm9uVXNlck9ic2VydmFibGVDaGFuZ2VzKCk7CiB9CiAKLXZvaWQgRE9NVGltZXI6
OnNjcmlwdERpZENhdXNlRWxlbWVudFJlcGFpbnQoRWxlbWVudCYgZWxlbWVudCwgYm9vbCBtYXlS
ZXBhaW50Tm9uRGVzY2VuZGFudHMpCi17Ci0gICAgaWYgKCFET01UaW1lckZpcmVTdGF0ZTo6Y3Vy
cmVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1heVJlcGFpbnROb25EZXNjZW5kYW50
cyB8fCBlbGVtZW50Lm1heUNhdXNlUmVwYWludEluc2lkZVZpZXdwb3J0KCkpCi0gICAgICAgIERP
TVRpbWVyRmlyZVN0YXRlOjpjdXJyZW50LT5zZXRTY3JpcHRNYWRlVXNlck9ic2VydmFibGVDaGFu
Z2VzKCk7Ci0gICAgZWxzZQotICAgICAgICBET01UaW1lckZpcmVTdGF0ZTo6Y3VycmVudC0+c2V0
U2NyaXB0TWFkZU5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlc1RvRWxlbWVudChlbGVtZW50KTsKLX0K
LQogdm9pZCBET01UaW1lcjo6ZmlyZWQoKQogewogICAgIC8vIFJldGFpbiB0aGlzIC0gaWYgdGhl
IHRpbWVyIGlzIGNhbmNlbGxlZCB3aGlsZSB0aGlzIGZ1bmN0aW9uIGlzIG9uIHRoZSBzdGFjayAo
aW1wbGljaXRseSBhbmQgYWx3YXlzCkBAIC0zMzUsMTAgKzI5Niw2IEBAIHZvaWQgRE9NVGltZXI6
OmZpcmVkKCkKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0ID0gKnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKTsKIAogICAgIERPTVRpbWVyRmlyZVN0YXRlIGZpcmVTdGF0ZShjb250
ZXh0KTsKLSAgICBpZiAoaXNJbnRlcnZhbERlcGVuZGVudE9uVmlld3BvcnQoKSkgewotICAgICAg
ICAvLyBXZSByZS1ldmFsdWF0ZSBpZiB0aGUgdGltZXIgaW50ZXJ2YWwgaXMgZGVwZW5kZW50IG9u
IHRoZSB2aWV3cG9ydCBldmVyeSB0aW1lIGl0IGZpcmVzLgotICAgICAgICB1bnJlZ2lzdGVyRm9y
Vmlld3BvcnRDaGFuZ2VzKCk7Ci0gICAgfQogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IG51bGxwdHI7CkBAIC00MzEsMjIgKzM4OCw2IEBAIHZvaWQgRE9NVGlt
ZXI6OmRpZFN0b3AoKQogICAgIG1fYWN0aW9uID0gbnVsbHB0cjsKIH0KIAotdm9pZCBET01UaW1l
cjo6cmVnaXN0ZXJGb3JWaWV3cG9ydENoYW5nZXMoKQotewotICAgIEFTU0VSVChpc0ludGVydmFs
RGVwZW5kZW50T25WaWV3cG9ydCgpKTsKLSAgICBpZiAoYXV0byogZnJhbWVWaWV3ID0gZG93bmNh
c3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLnZpZXcoKSkKLSAgICAgICAg
ZnJhbWVWaWV3LT5yZWdpc3RlclRocm90dGxlZERPTVRpbWVyKHRoaXMpOwotfQotCi12b2lkIERP
TVRpbWVyOjp1bnJlZ2lzdGVyRm9yVmlld3BvcnRDaGFuZ2VzKCkKLXsKLSAgICBBU1NFUlQoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKLSAgICBpZiAoYXV0byogZnJhbWVWaWV3ID0gZG93bmNh
c3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLnZpZXcoKSkKLSAgICAgICAg
ZnJhbWVWaWV3LT51bnJlZ2lzdGVyVGhyb3R0bGVkRE9NVGltZXIodGhpcyk7Ci0KLSAgICBtX2Vs
ZW1lbnRzQ2F1c2luZ1Rocm90dGxpbmcuY2xlYXIoKTsKLX0KLQogdm9pZCBET01UaW1lcjo6dXBk
YXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KCkKIHsKICAgICBBU1NFUlQobV9uZXN0aW5nTGV2
ZWwgPD0gbWF4VGltZXJOZXN0aW5nTGV2ZWwpOwpAQCAtNDY3LDI2ICs0MDgsNiBAQCB2b2lkIERP
TVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkoKQogICAgIH0KIH0KIAotdm9p
ZCBET01UaW1lcjo6dXBkYXRlVGhyb3R0bGluZ1N0YXRlQWZ0ZXJWaWV3cG9ydENoYW5nZShjb25z
dCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKLXsKLSAgICBBU1NFUlQoaXNJbnRlcnZhbERlcGVuZGVu
dE9uVmlld3BvcnQoKSk7Ci0gICAgLy8gQ2hlY2sgaWYgdGhlIGVsZW1lbnRzIHRoYXQgY2F1c2Vk
IHRoaXMgdGltZXIgdG8gYmUgdGhyb3R0bGVkIGFyZSBzdGlsbCBvdXRzaWRlIHRoZSB2aWV3cG9y
dC4KLSAgICBmb3IgKGF1dG8mIHdlYWtFbGVtZW50UHRyIDogbV9lbGVtZW50c0NhdXNpbmdUaHJv
dHRsaW5nKSB7Ci0gICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSB3ZWFrRWxlbWVudFB0ci5nZXQo
KTsKLSAgICAgICAgLy8gU2tpcCBlbGVtZW50cyB0aGF0IHdlcmUgcmVtb3ZlZCBmcm9tIHRoZSBk
b2N1bWVudC4KLSAgICAgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5pbkRvY3VtZW50KCkp
Ci0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoZWxlbWVudC0+bWF5Q2F1c2VS
ZXBhaW50SW5zaWRlVmlld3BvcnQoJnZpc2libGVSZWN0KSkgewotICAgICAgICAgICAgTE9HKERP
TVRpbWVycywgIiVwIC0gU2NyaXB0IGlzIGNoYW5naW5nIHN0eWxlIG9mIGFuIGVsZW1lbnQgdGhh
dCBpcyBub3cgaW5zaWRlIHRoZSB2aWV3cG9ydCwgdW50aHJvdHRsaW5nIHRoZSB0aW1lci4iLCB0
aGlzKTsKLSAgICAgICAgICAgIG1fdGhyb3R0bGVTdGF0ZSA9IFNob3VsZE5vdFRocm90dGxlOwot
ICAgICAgICAgICAgdW5yZWdpc3RlckZvclZpZXdwb3J0Q2hhbmdlcygpOwotICAgICAgICAgICAg
dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgIH0KLX0KLQogZG91YmxlIERPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01p
bmltdW0oKSBjb25zdAogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5oCmluZGV4IDg5M2Y4NTQwNzcyZTE4NmJlMTY2ZmFmMjI0MGM1Nzdh
NTA4NWJkYmQuLjM5MGQwYjExMDljNDg3OTM0MmI4NWM5ZDUwMjc3NmU5NTNiOGE3ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmgKQEAgLTI5LDkgKzI5LDcgQEAKIAogI2luY2x1ZGUgIlN1c3BlbmRh
YmxlVGltZXIuaCIKICNpbmNsdWRlIDxtZW1vcnk+Ci0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjAsMTAgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2YWwgbWF5IG5lZWQgdXBkYXRp
bmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbAogICAgICAgICAvLyBzZXR0aW5n
IGZvciB0aGUgY29udGV4dCBoYXMgY2hhbmdlZCkuCiAgICAgICAgIHZvaWQgdXBkYXRlVGltZXJJ
bnRlcnZhbElmTmVjZXNzYXJ5KCk7Ci0gICAgICAgIHZvaWQgdXBkYXRlVGhyb3R0bGluZ1N0YXRl
QWZ0ZXJWaWV3cG9ydENoYW5nZShjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCk7CiAKICAgICAg
ICAgc3RhdGljIHZvaWQgc2NyaXB0RGlkSW50ZXJhY3RXaXRoUGx1Z2luKEhUTUxQbHVnSW5FbGVt
ZW50Jik7Ci0gICAgICAgIHN0YXRpYyB2b2lkIHNjcmlwdERpZENhdXNlRWxlbWVudFJlcGFpbnQo
RWxlbWVudCYsIGJvb2wgbWF5UmVwYWludE5vbkRlc2NlbmRhbnRzID0gZmFsc2UpOwogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CkBAIC03MiwxMCArNjgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGRvdWJs
ZSBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKIAogICAgICAgICBib29sIGlzRE9N
VGltZXJzVGhyb3R0bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKLSAgICAgICAgYm9vbCBp
c0ludGVydmFsRGVwZW5kZW50T25WaWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhyb3R0bGVT
dGF0ZSA9PSBTaG91bGRUaHJvdHRsZSAmJiAhbV9lbGVtZW50c0NhdXNpbmdUaHJvdHRsaW5nLmlz
RW1wdHkoKTsgfQotICAgICAgICB2b2lkIHJlZ2lzdGVyRm9yVmlld3BvcnRDaGFuZ2VzKCk7Ci0g
ICAgICAgIHZvaWQgdW5yZWdpc3RlckZvclZpZXdwb3J0Q2hhbmdlcygpOwotCiAgICAgICAgIHZv
aWQgdXBkYXRlVGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3Rh
dGUmKTsKIAogICAgICAgICAvLyBTdXNwZW5kYWJsZVRpbWVyCkBAIC05OSwxMCArOTEsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRpbWVyVGhyb3R0bGVTdGF0ZSBtX3Rocm90dGxl
U3RhdGU7CiAgICAgICAgIGRvdWJsZSBtX2N1cnJlbnRUaW1lckludGVydmFsOwogICAgICAgICBi
b29sIG1fc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlOwotICAgICAgICAvLyBVc2UgV2Vha1B0cnMg
YmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGtlZXAgdGhlIGVsZW1lbnRzIGFsaXZlIGJ1dCB3ZQot
ICAgICAgICAvLyBzdGlsbCBuZWVkIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgZWxlbWVudHMg
Z2V0IGRlc3Ryb3llZCBhZnRlcgotICAgICAgICAvLyB0aGUgdGltZXIgaGFzIGZpcmVkLgotICAg
ICAgICBWZWN0b3I8V2Vha1B0cjxFbGVtZW50Pj4gbV9lbGVtZW50c0NhdXNpbmdUaHJvdHRsaW5n
OwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCA5N2E2NDAxOWFhMzhmYjAwYTRhMzVkZThlYWRhYmIwZGE2NzNkNjFhLi4wODEz
MDRiZWJmOGI5MWU4Y2Y5OTA5MDU5MWMwNzI2ZTZhYzNiNjVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC0yOTEsNyArMjkxLDYgQEAgdm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAg
ICBtX2lzVmlzdWFsbHlOb25FbXB0eSA9IGZhbHNlOwogICAgIG1fZmlyc3RWaXN1YWxseU5vbkVt
cHR5TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1ZTsKICAgICBtX21haW50YWluU2Nyb2xsUG9z
aXRpb25BbmNob3IgPSBudWxscHRyOwotICAgIG1fdGhyb3R0bGVkVGltZXJzLmNsZWFyKCk7CiB9
CiAKIHZvaWQgRnJhbWVWaWV3OjpyZW1vdmVGcm9tQVhPYmplY3RDYWNoZSgpCkBAIC0xODA2LDcg
KzE4MDUsNiBAQCB2b2lkIEZyYW1lVmlldzo6dmlld3BvcnRDb250ZW50c0NoYW5nZWQoKQogICAg
IC8vIGNoZWNrIGlmIHdlIHNob3VsZCByZXN1bWUgYW5pbWF0ZWQgaW1hZ2VzIG9yIHVudGhyb3R0
bGUgRE9NIHRpbWVycy4KICAgICBhcHBseVJlY3Vyc2l2ZWx5V2l0aFZpc2libGVSZWN0KFtdIChG
cmFtZVZpZXcmIGZyYW1lVmlldywgY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QpIHsKICAgICAg
ICAgZnJhbWVWaWV3LnJlc3VtZVZpc2libGVJbWFnZUFuaW1hdGlvbnModmlzaWJsZVJlY3QpOwot
ICAgICAgICBmcmFtZVZpZXcudXBkYXRlVGhyb3R0bGVkRE9NVGltZXJzU3RhdGUodmlzaWJsZVJl
Y3QpOwogICAgICAgICBmcmFtZVZpZXcudXBkYXRlU2NyaXB0ZWRBbmltYXRpb25zQW5kVGltZXJz
VGhyb3R0bGluZ1N0YXRlKHZpc2libGVSZWN0KTsKICAgICB9KTsKIH0KQEAgLTMxMjIsMjkgKzMx
MjAsNiBAQCB2b2lkIEZyYW1lVmlldzo6cG9zdExheW91dFRpbWVyRmlyZWQoKQogICAgIHBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MoKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OnJlZ2lzdGVyVGhyb3R0
bGVkRE9NVGltZXIoRE9NVGltZXIqIHRpbWVyKQotewotICAgIG1fdGhyb3R0bGVkVGltZXJzLmFk
ZCh0aW1lcik7Ci19Ci0KLXZvaWQgRnJhbWVWaWV3Ojp1bnJlZ2lzdGVyVGhyb3R0bGVkRE9NVGlt
ZXIoRE9NVGltZXIqIHRpbWVyKQotewotICAgIG1fdGhyb3R0bGVkVGltZXJzLnJlbW92ZSh0aW1l
cik7Ci19Ci0KLXZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVUaHJvdHRsZWRET01UaW1lcnNTdGF0ZShj
b25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkKLXsKLSAgICBpZiAobV90aHJvdHRsZWRUaW1lcnMu
aXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBEbyBub3QgaXRlcmF0ZSBvdmVy
IHRoZSBIYXNoU2V0IGJlY2F1c2UgY2FsbGluZyBET01UaW1lcjo6dXBkYXRlVGhyb3R0bGluZ1N0
YXRlQWZ0ZXJWaWV3cG9ydENoYW5nZSgpCi0gICAgLy8gbWF5IGNhdXNlIHRpbWVycyB0byByZW1v
dmUgdGhlbXNlbHZlcyBmcm9tIGl0IHdoaWxlIHdlIGFyZSBpdGVyYXRpbmcuCi0gICAgVmVjdG9y
PERPTVRpbWVyKj4gdGltZXJzOwotICAgIGNvcHlUb1ZlY3RvcihtX3Rocm90dGxlZFRpbWVycywg
dGltZXJzKTsKLSAgICBmb3IgKGF1dG8qIHRpbWVyIDogdGltZXJzKQotICAgICAgICB0aW1lci0+
dXBkYXRlVGhyb3R0bGluZ1N0YXRlQWZ0ZXJWaWV3cG9ydENoYW5nZSh2aXNpYmxlUmVjdCk7Ci19
Ci0KIHZvaWQgRnJhbWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCgpCiB7CiAgICAgaWYgKCFtX3No
b3VsZEF1dG9TaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZGJhNmVjZTg1OTVmYjEy
ZjQ3ZjljOTBkMjIxNjhiNjFiZTQwNTU2Mi4uYjZkMDg3YjkzZmQzODk0NTE4YjA2OGQzZTkwNTg4
ZGJlNmNhOTBmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC00Myw3ICs0Myw2IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFYT2JqZWN0Q2FjaGU7Ci1jbGFzcyBET01UaW1l
cjsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBGcmFtZTsKQEAgLTMx
Niw5ICszMTUsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHBvc3RMYXlvdXRUaW1lckZpcmVkKCk7
CiAKLSAgICB2b2lkIHJlZ2lzdGVyVGhyb3R0bGVkRE9NVGltZXIoRE9NVGltZXIqKTsKLSAgICB2
b2lkIHVucmVnaXN0ZXJUaHJvdHRsZWRET01UaW1lcihET01UaW1lciopOwotCiAgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCB3YXNTY3JvbGxlZEJ5VXNlcigpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0V2FzU2Nyb2xsZWRCeVVzZXIoYm9vbCk7CiAKQEAgLTYwNCw3ICs2MDAsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgYXV0b1NpemVJZkVuYWJsZWQoKTsKIAogICAgIHZvaWQgYXBw
bHlSZWN1cnNpdmVseVdpdGhWaXNpYmxlUmVjdChjb25zdCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKEZy
YW1lVmlldyYgZnJhbWVWaWV3LCBjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCk+Jik7Ci0gICAg
dm9pZCB1cGRhdGVUaHJvdHRsZWRET01UaW1lcnNTdGF0ZShjb25zdCBJbnRSZWN0JiB2aXNpYmxl
UmVjdCk7CiAgICAgdm9pZCByZXN1bWVWaXNpYmxlSW1hZ2VBbmltYXRpb25zKGNvbnN0IEludFJl
Y3QmIHZpc2libGVSZWN0KTsKICAgICB2b2lkIHVwZGF0ZVNjcmlwdGVkQW5pbWF0aW9uc0FuZFRp
bWVyc1Rocm90dGxpbmdTdGF0ZShjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCk7CiAKQEAgLTc4
OSw4ICs3ODQsNiBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JvbGxhYmxlQXJl
YVNldD4gbV9zY3JvbGxhYmxlQXJlYXM7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFZpZXdwb3J0Q29u
c3RyYWluZWRPYmplY3RTZXQ+IG1fdmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHM7CiAKLSAgICBI
YXNoU2V0PERPTVRpbWVyKj4gbV90aHJvdHRsZWRUaW1lcnM7Ci0KICAgICBpbnQgbV9oZWFkZXJI
ZWlnaHQ7CiAgICAgaW50IG1fZm9vdGVySGVpZ2h0OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254380</attachid>
            <date>2015-06-05 14:01:28 -0700</date>
            <delta_ts>2015-06-05 15:10:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145708-20150605140106.patch</filename>
            <type>text/plain</type>
            <size>44630</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjM5NDUwMTM5MGY4ZmNm
YzNjMTQ2NjA1ZTc2ZDU2YzFmMmM5MDk5OC4uYjEzOTljNjFiM2ZmMjg2NjVlZTUxNTdhMDgyZjZl
OWMwMmM3MzY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA2LTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMTc2MjEy
KTogQnJva2UgYXBwIHN3aXRjaGluZyBvbiBpQ2xvdWQuY29tCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU3MDgKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzIxMjM1Mjc3PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAg
ICAgICBSb2xsIG91dCByMTc2MjEyIGFuZCBmb2xsb3ctdXAgZml4ZXMgZm9yIG5vdywgdG8gZml4
IGlDbG91ZC5jb20uCisgICAgICAgIFdlIGNhbiByZWNvbnNpZGVyIGxhdGVyIGhvdyB0byBkbyB0
aGlzIGluIGEgc2FmZXIgd2F5LgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NTdHlsZURl
Y2xhcmF0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ1NTU3R5bGVEZWNsYXJh
dGlvbjo6cHV0RGVsZWdhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNDU1NTdHls
ZURlY2xhcmF0aW9uOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBk
b20vRWxlbWVudC5jcHA6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20v
RWxlbWVudFJhcmVEYXRhLmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6On5FbGVtZW50UmFyZURhdGEpOiBEZWxldGVk
LgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Om1hdGVy
aWFsaXplUmFyZURhdGEpOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6Om5vdGlmeU9ic2VydmVyc0NhbnZh
c0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXJGaXJlU3RhdGU6OnNjcmlwdE1hZGVOb25Vc2VyT2JzZXJ2YWJs
ZUNoYW5nZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXJGaXJlU3RhdGU6
OnNjcmlwdE1hZGVVc2VyT2JzZXJ2YWJsZUNoYW5nZXMpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TmVzdGVkVGltZXJzTWFwOjppbnN0YW5jZUZvckNvbnRleHQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RE9NVGltZXI6Omluc3RhbGwpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RE9NVGltZXI6OmZpcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVRp
bWVyOjphbGlnbmVkRmlyZVRpbWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NVGlt
ZXI6OmFjdGl2ZURPTU9iamVjdE5hbWUpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRE9NVGlt
ZXIuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnJlc2V0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
dmlld3BvcnRDb250ZW50c0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuaDoKKwogMjAxNS0wNi0wNSAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdh
bGlhLmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBTdXBwb3J0IGRvdHMgc2VxdWVu
Y2VzIGluIGdyaWQtdGVtcGxhdGUtYXJlYXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCmluZGV4IGI5Mzkw
NzNkNjFiNjcxZjQ0MDNiMzA3YmM1MzQ5ZTA2ZDc3YzNkY2QuLmU5OWRlMjFhNzVkNzM5YzM5NGFh
NDJiZGQxOGI3NTljODk4MDEwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcApAQCAtMzIwLDIzICsz
MjAsNiBAQCBib29sIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90RGVs
ZWdhdGUoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eQogICAgIHJldHVybiB0cnVlOwogfQogCi0v
LyBXZSBvbmx5IHRocm90dGxlIERPTSB0aW1lcnMgaWYgdGhleSBhbmltYXRlIENTUyBwcm9wZXJ0
aWVzIHRoYXQgd2lsbCBvbmx5Ci0vLyBjYXVzZSB0aGUgY3VycmVudCBlbGVtZW50IChvciBpdHMg
ZGVzY2VuZGFudHMpIHRvIGJlIHJlcGFpbnRlZC4KLXN0YXRpYyBpbmxpbmUgYm9vbCBwcm9wZXJ0
eUNoYW5nZU1heVJlcGFpbnROb25EZXNjZW5kYW50cyhDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQp
Ci17Ci0gICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvdHRv
bToKLSAgICBjYXNlIENTU1Byb3BlcnR5TGVmdDoKLSAgICBjYXNlIENTU1Byb3BlcnR5T3BhY2l0
eToKLSAgICBjYXNlIENTU1Byb3BlcnR5UmlnaHQ6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVRvcDoK
LSAgICBjYXNlIENTU1Byb3BlcnR5VHJhbnNmb3JtOgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotfQotCiBib29sIEpTQ1NT
U3R5bGVEZWNsYXJhdGlvbjo6cHV0RGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKQogewogICAg
IENTU1Byb3BlcnR5SW5mbyBwcm9wZXJ0eUluZm8gPSBjc3NQcm9wZXJ0eUlERm9ySlNDU1NQcm9w
ZXJ0eU5hbWUocHJvcGVydHlOYW1lKTsKQEAgLTM2MSwxMCArMzQ0LDYgQEAgYm9vbCBKU0NTU1N0
eWxlRGVjbGFyYXRpb246OnB1dERlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmEKICAgICBpbXBsKCkuc2V0UHJvcGVydHlJbnRlcm5hbChwcm9wZXJ0eUlELCBw
cm9wVmFsdWUsIGltcG9ydGFudCwgZWMpOwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7
CiAKLSAgICAvLyBDaG9rZSBwb2ludCBmb3IgaW50ZXJhY3Rpb24gd2l0aCBzdHlsZSBvZiBlbGVt
ZW50OyBub3RpZnkgRE9NVGltZXIgb2YgdGhlIGV2ZW50LgotICAgIGlmIChhdXRvKiBlbGVtZW50
ID0gaW1wbCgpLnBhcmVudEVsZW1lbnQoKSkKLSAgICAgICAgRE9NVGltZXI6OnNjcmlwdERpZENh
dXNlRWxlbWVudFJlcGFpbnQoKmVsZW1lbnQsIHByb3BlcnR5Q2hhbmdlTWF5UmVwYWludE5vbkRl
c2NlbmRhbnRzKHByb3BlcnR5SUQpKTsKLQogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKaW5kZXggMDZlYWFmZGIwMGM0ZDYyODYxMjllMGI1YTg3Mzg4NzUyMzM1ZTAz
NS4uYmQ5ZWZiNDY3Mzc5NzJmNmIxYzk4YjdlZTBhZWRiNmJmOGYxNWQ5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcApAQCAtMTM3NCwxMSArMTM3NCw2IEBAIFVSTCBFbGVtZW50OjphYnNvbHV0ZUxp
bmtVUkwoKSBjb25zdAogICAgIHJldHVybiBkb2N1bWVudCgpLmNvbXBsZXRlVVJMKHN0cmlwTGVh
ZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhsaW5rQXR0cmlidXRlKSk7CiB9CiAKLVdlYWtQdHI8
RWxlbWVudD4gRWxlbWVudDo6Y3JlYXRlV2Vha1B0cigpCi17Ci0gICAgcmV0dXJuIGVuc3VyZUVs
ZW1lbnRSYXJlRGF0YSgpLndlYWtQdHJGYWN0b3J5KCkuY3JlYXRlV2Vha1B0cigpOwotfQotCiAv
LyBSZXR1cm5zIHRydWUgaXMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBpcyBhbiBldmVudCBoYW5kbGVy
LgogLy8gV2UgY29uc2lkZXIgYW4gZXZlbnQgaGFuZGxlciBhbnkgYXR0cmlidXRlIHRoYXQgYmVn
aW5zIHdpdGggIm9uIi4KIC8vIEl0IGlzIGEgc2ltcGxlIHNvbHV0aW9uIHRoYXQgaGFzIHRoZSBh
ZHZhbnRhZ2Ugb2Ygbm90IHJlcXVpcmluZyBhbnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDU0NzRi
NzFiNDhiNjIxYzFjM2MxNjRjNDZhNzFhY2UyNzUwMjIzZDQuLmExMDhkYTRiZDc5MzY5MDJjMzgz
ZjE3N2QxN2UwOTJlZTEwZjIyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDgzLDcgKzQ4Myw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFySG92ZXJBbmRBY3RpdmVTdGF0dXNCZWZvcmVEZXRh
Y2hpbmdSZW5kZXJlcigpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIGFic29sdXRlTGlua1VS
TCgpIGNvbnN0OwotICAgIFdlYWtQdHI8RWxlbWVudD4gY3JlYXRlV2Vha1B0cigpOwogCiBwcm90
ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBDb25z
dHJ1Y3Rpb25UeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXgg
YjJhZjcwMzQ2ZTRiZjcxYmQxMTJiNWY0NzdkOTU2ZDdkZmQzNzQ2Yy4uM2IxY2QzY2JlMDU3MGU3
NTQyZmNlYTM0OWZjYWUwN2RlNWNiMDViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJl
RGF0YS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURh
dGEgOiBOb2RlUmFyZURhdGEgewogICAgIFJlZ2lvbk92ZXJzZXRTdGF0ZSByZWdpb25PdmVyc2V0
U3RhdGU7CiAgICAgTGF5b3V0U2l6ZSBzaXplRm9yUmVzaXppbmc7CiAgICAgSW50U2l6ZSBzY3Jv
bGxPZmZzZXQ7Ci0gICAgdm9pZCogcG9pbnRlcnNbOF07CisgICAgdm9pZCogcG9pbnRlcnNbN107
CiB9OwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09IHNpemVvZihT
YW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91bGQgc3RheSBz
bWFsbCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDYwNjFlOTVhZmNm
MTdkOWRiNjNiOWNhMDQ2MThkNWNmODY5MGVkOTYuLjMxYzgzZGU2MTMzMjI1OWJjN2IzNWE2MDM0
OGZiZmI4MDBlYTAyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTM1
LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50UmFyZURhdGEg
OiBwdWJsaWMgTm9kZVJhcmVEYXRhIHsKIHB1YmxpYzoKLSAgICBFbGVtZW50UmFyZURhdGEoRWxl
bWVudCYsIFJlbmRlckVsZW1lbnQqKTsKKyAgICBleHBsaWNpdCBFbGVtZW50UmFyZURhdGEoUmVu
ZGVyRWxlbWVudCopOwogICAgIH5FbGVtZW50UmFyZURhdGEoKTsKIAogICAgIHZvaWQgc2V0QmVm
b3JlUHNldWRvRWxlbWVudChSZWZQdHI8UHNldWRvRWxlbWVudD4mJik7CkBAIC0xMTMsOCArMTEz
LDYgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUGVuZGluZ1Jlc291cmNlcygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzUGVuZGluZ1Jlc291cmNlczsgfQogICAgIHZvaWQgc2V0SGFzUGVuZGluZ1Jlc291
cmNlcyhib29sIGhhcykgeyBtX2hhc1BlbmRpbmdSZXNvdXJjZXMgPSBoYXM7IH0KIAotICAgIFdl
YWtQdHJGYWN0b3J5PEVsZW1lbnQ+JiB3ZWFrUHRyRmFjdG9yeSgpIHsgcmV0dXJuIG1fd2Vha1B0
ckZhY3Rvcnk7IH0KLQogcHJpdmF0ZToKICAgICBzaG9ydCBtX3RhYkluZGV4OwogICAgIHVuc2ln
bmVkIHNob3J0IG1fY2hpbGRJbmRleDsKQEAgLTE0OCw3ICsxNDYsNiBAQCBwcml2YXRlOgogCiAg
ICAgUmVmUHRyPFBzZXVkb0VsZW1lbnQ+IG1fYmVmb3JlUHNldWRvRWxlbWVudDsKICAgICBSZWZQ
dHI8UHNldWRvRWxlbWVudD4gbV9hZnRlclBzZXVkb0VsZW1lbnQ7Ci0gICAgV2Vha1B0ckZhY3Rv
cnk8RWxlbWVudD4gbV93ZWFrUHRyRmFjdG9yeTsKIAogICAgIHZvaWQgcmVsZWFzZVBzZXVkb0Vs
ZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKQEAgLTE1OCw3ICsxNTUsNyBAQCBpbmxpbmUgSW50
U2l6ZSBkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpCiAgICAgcmV0dXJuIEludFNpemUo
TGF5b3V0VW5pdDo6bWF4KCksIExheW91dFVuaXQ6Om1heCgpKTsKIH0KIAotaW5saW5lIEVsZW1l
bnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlckVsZW1l
bnQqIHJlbmRlcmVyKQoraW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKFJl
bmRlckVsZW1lbnQqIHJlbmRlcmVyKQogICAgIDogTm9kZVJhcmVEYXRhKHJlbmRlcmVyKQogICAg
ICwgbV90YWJJbmRleCgwKQogICAgICwgbV9jaGlsZEluZGV4KDApCkBAIC0xNzcsNyArMTc0LDYg
QEAgaW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlckVsZW1lbnQqIHJlbmRlcmUKICAgICAsIG1fY2hpbGRyZW5BZmZlY3RlZEJ5UHJv
cGVydHlCYXNlZEJhY2t3YXJkUG9zaXRpb25hbFJ1bGVzKGZhbHNlKQogICAgICwgbV9yZWdpb25P
dmVyc2V0U3RhdGUoUmVnaW9uVW5kZWZpbmVkKQogICAgICwgbV9taW5pbXVtU2l6ZUZvclJlc2l6
aW5nKGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkpCi0gICAgLCBtX3dlYWtQdHJGYWN0
b3J5KCZlbGVtZW50KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggODQ4YjMzZDkzOGI2ZmY5
ZTRkMTkxYTJhOWQ1ZDY3NzViNmU2ODRlYy4uZTQ0NzU3Yzc2Mjg4NzUwN2E1OWJmOTlmZGI0NGRl
NDQ2OWMxY2Q1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMzU0LDcgKzM1NCw3IEBAIHZvaWQgTm9k
ZTo6bWF0ZXJpYWxpemVSYXJlRGF0YSgpCiB7CiAgICAgTm9kZVJhcmVEYXRhKiBkYXRhOwogICAg
IGlmIChpczxFbGVtZW50PigqdGhpcykpCi0gICAgICAgIGRhdGEgPSBzdGQ6Om1ha2VfdW5pcXVl
PEVsZW1lbnRSYXJlRGF0YT4oZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpLCBkb3duY2FzdDxSZW5k
ZXJFbGVtZW50PihtX2RhdGEubV9yZW5kZXJlcikpLnJlbGVhc2UoKTsKKyAgICAgICAgZGF0YSA9
IHN0ZDo6bWFrZV91bmlxdWU8RWxlbWVudFJhcmVEYXRhPihkb3duY2FzdDxSZW5kZXJFbGVtZW50
PihtX2RhdGEubV9yZW5kZXJlcikpLnJlbGVhc2UoKTsKICAgICBlbHNlCiAgICAgICAgIGRhdGEg
PSBzdGQ6Om1ha2VfdW5pcXVlPE5vZGVSYXJlRGF0YT4obV9kYXRhLm1fcmVuZGVyZXIpLnJlbGVh
c2UoKTsKICAgICBBU1NFUlQoZGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCmluZGV4IGIyMmQ4YzE3NDQ3NmQ5N2ZkOTdjZTAzMDA5YjAxYmQyMGNhOGNhNjAu
LmZmOTQ5ZmQ3NTNlMTRkZWY0ZmNjMzc2ZjVjMjFiZjc5ZWQ2NDMzYjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCkBAIC0yNzQsOSArMjc0LDYgQEAgdm9pZCBI
VE1MQ2FudmFzRWxlbWVudDo6ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiAKIHZvaWQg
SFRNTENhbnZhc0VsZW1lbnQ6Om5vdGlmeU9ic2VydmVyc0NhbnZhc0NoYW5nZWQoY29uc3QgRmxv
YXRSZWN0JiByZWN0KQogewotICAgIC8vIENob2tlIHBvaW50IGZvciBjYW52YXMgZHJhd2luZzsg
bm90aWZ5IERPTVRpbWVyIG9mIHRoZSBldmVudC4KLSAgICBET01UaW1lcjo6c2NyaXB0RGlkQ2F1
c2VFbGVtZW50UmVwYWludCgqdGhpcyk7Ci0KICAgICBmb3IgKGF1dG8gaXQgPSBtX29ic2VydmVy
cy5iZWdpbigpLCBlbmQgPSBtX29ic2VydmVycy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KQogICAg
ICAgICAoKml0KS0+Y2FudmFzQ2hhbmdlZCgqdGhpcywgcmVjdCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
VGltZXIuY3BwCmluZGV4IGJjMmUwYzA2ZmQwMjFmYzI0NDM1OGQ2ZjVjYzgxNjZjZjU5ZDAwZjYu
LjI5ODBlYTIxNDlhNzA1MDBhMDljYzc1ZDljZTQ1OTJlZDNmYzEwZjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NVGltZXIuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiRE9NVGltZXIuaCIKIAotI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhU
TUxQbHVnSW5FbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtODIsMTEgKzgxLDYgQEAgcHVibGljOgogCiAgICAg
dm9pZCBzZXRTY3JpcHRNYWRlVXNlck9ic2VydmFibGVDaGFuZ2VzKCkgeyBtX3NjcmlwdE1hZGVV
c2VyT2JzZXJ2YWJsZUNoYW5nZXMgPSB0cnVlOyB9CiAgICAgdm9pZCBzZXRTY3JpcHRNYWRlTm9u
VXNlck9ic2VydmFibGVDaGFuZ2VzKCkgeyBtX3NjcmlwdE1hZGVOb25Vc2VyT2JzZXJ2YWJsZUNo
YW5nZXMgPSB0cnVlOyB9Ci0gICAgdm9pZCBzZXRTY3JpcHRNYWRlTm9uVXNlck9ic2VydmFibGVD
aGFuZ2VzVG9FbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCi0gICAgewotICAgICAgICBtX3Njcmlw
dE1hZGVOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZXMgPSB0cnVlOwotICAgICAgICBtX2VsZW1lbnRz
Q2hhbmdlZE91dHNpZGVWaWV3cG9ydC5zZXQoJmVsZW1lbnQsIGVsZW1lbnQuY3JlYXRlV2Vha1B0
cigpKTsKLSAgICB9CiAKICAgICBib29sIHNjcmlwdE1hZGVOb25Vc2VyT2JzZXJ2YWJsZUNoYW5n
ZXMoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdE1hZGVOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZXM7
IH0KICAgICBib29sIHNjcmlwdE1hZGVVc2VyT2JzZXJ2YWJsZUNoYW5nZXMoKSBjb25zdApAQCAt
OTksMjQgKzkzLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGRvY3VtZW50ICYmIGRvY3Vt
ZW50LT5kb21UcmVlVmVyc2lvbigpICE9IG1faW5pdGlhbERPTVRyZWVWZXJzaW9uOwogICAgIH0K
IAotICAgIHZvaWQgZWxlbWVudHNDaGFuZ2VkT3V0c2lkZVZpZXdwb3J0KFZlY3RvcjxXZWFrUHRy
PEVsZW1lbnQ+PiYgZWxlbWVudHMpIGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoZWxlbWVu
dHMuaXNFbXB0eSgpKTsKLSAgICAgICAgZWxlbWVudHMucmVzZXJ2ZUNhcGFjaXR5KG1fZWxlbWVu
dHNDaGFuZ2VkT3V0c2lkZVZpZXdwb3J0LnNpemUoKSk7Ci0gICAgICAgIGZvciAoYXV0byYgZWxl
bWVudCA6IG1fZWxlbWVudHNDaGFuZ2VkT3V0c2lkZVZpZXdwb3J0LnZhbHVlcygpKSB7Ci0gICAg
ICAgICAgICBpZiAoZWxlbWVudCkKLSAgICAgICAgICAgICAgICBlbGVtZW50cy51bmNoZWNrZWRB
cHBlbmQoZWxlbWVudCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxlbWVudHMuc2hyaW5rVG9GaXQo
KTsKLSAgICB9Ci0KICAgICBzdGF0aWMgRE9NVGltZXJGaXJlU3RhdGUqIGN1cnJlbnQ7CiAKIHBy
aXZhdGU6CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgbV9jb250ZXh0OwogICAgIHVpbnQ2
NF90IG1faW5pdGlhbERPTVRyZWVWZXJzaW9uOwogICAgIERPTVRpbWVyRmlyZVN0YXRlKiBtX3By
ZXZpb3VzOwotICAgIEhhc2hNYXA8RWxlbWVudCosIFdlYWtQdHI8RWxlbWVudD4+IG1fZWxlbWVu
dHNDaGFuZ2VkT3V0c2lkZVZpZXdwb3J0OwogICAgIGJvb2wgbV9jb250ZXh0SXNEb2N1bWVudDsK
ICAgICBib29sIG1fc2NyaXB0TWFkZU5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlcyB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX3NjcmlwdE1hZGVVc2VyT2JzZXJ2YWJsZUNoYW5nZXMgeyBmYWxzZSB9OwpA
QCAtMjEwLDEwICsxOTIsNiBAQCBET01UaW1lcjo6RE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdAogCiBET01UaW1lcjo6
fkRPTVRpbWVyKCkKIHsKLSAgICAvLyBJZiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBoYXMg
YWxyZWFkeSBiZWVuIGRlc3Ryb3llZCwgdGhlcmUgaXMKLSAgICAvLyBubyBuZWVkIHRvIHN0b3Ag
bGlzdGVuaW5nIGZvciB2aWV3cG9ydCBjaGFuZ2VzLgotICAgIGlmIChzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgJiYgaXNJbnRlcnZhbERlcGVuZGVudE9uVmlld3BvcnQoKSkKLSAgICAgICAgdW5y
ZWdpc3RlckZvclZpZXdwb3J0Q2hhbmdlcygpOwogfQogCiBpbnQgRE9NVGltZXI6Omluc3RhbGwo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxl
ZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQpAQCAtMjg0LDcg
KzI2Miw2IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRocm90dGxpbmdTdGF0ZUlmTmVjZXNzYXJ5
KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJiBmaXJlU3RhCiAgICAgfQogCiAgICAgaWYgKGZpcmVT
dGF0ZS5zY3JpcHRNYWRlVXNlck9ic2VydmFibGVDaGFuZ2VzKCkpIHsKLSAgICAgICAgQVNTRVJU
KG1fZWxlbWVudHNDYXVzaW5nVGhyb3R0bGluZy5pc0VtcHR5KCkpOwogICAgICAgICBpZiAobV90
aHJvdHRsZVN0YXRlICE9IFNob3VsZE5vdFRocm90dGxlKSB7CiAgICAgICAgICAgICBtX3Rocm90
dGxlU3RhdGUgPSBTaG91bGROb3RUaHJvdHRsZTsKICAgICAgICAgICAgIHVwZGF0ZVRpbWVySW50
ZXJ2YWxJZk5lY2Vzc2FyeSgpOwpAQCAtMjk0LDExICsyNzEsNiBAQCB2b2lkIERPTVRpbWVyOjp1
cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShjb25zdCBET01UaW1lckZpcmVTdGF0ZSYg
ZmlyZVN0YQogICAgICAgICAgICAgbV90aHJvdHRsZVN0YXRlID0gU2hvdWxkVGhyb3R0bGU7CiAg
ICAgICAgICAgICB1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkoKTsKICAgICAgICAgfQot
ICAgICAgICAvLyBVcGRhdGUgb3VyIHZlY3RvciBvZiBFbGVtZW50cyBjYXVzaW5nIHRocm90dGxp
bmcgYW5kIHJlZ2lzdGVyCi0gICAgICAgIC8vIGZvciB2aWV3cG9ydCBjaGFuZ2VzIGlmIHRoZSB2
ZWN0b3IgaXMgbm90IGVtcHR5LgotICAgICAgICBmaXJlU3RhdGUuZWxlbWVudHNDaGFuZ2VkT3V0
c2lkZVZpZXdwb3J0KG1fZWxlbWVudHNDYXVzaW5nVGhyb3R0bGluZyk7Ci0gICAgICAgIGlmIChp
c0ludGVydmFsRGVwZW5kZW50T25WaWV3cG9ydCgpKQotICAgICAgICAgICAgcmVnaXN0ZXJGb3JW
aWV3cG9ydENoYW5nZXMoKTsKICAgICB9CiB9CiAKQEAgLTMxMywxNyArMjg1LDYgQEAgdm9pZCBE
T01UaW1lcjo6c2NyaXB0RGlkSW50ZXJhY3RXaXRoUGx1Z2luKEhUTUxQbHVnSW5FbGVtZW50JiBw
bHVnaW5FbGVtZW50KQogICAgICAgICBET01UaW1lckZpcmVTdGF0ZTo6Y3VycmVudC0+c2V0U2Ny
aXB0TWFkZU5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlcygpOwogfQogCi12b2lkIERPTVRpbWVyOjpz
Y3JpcHREaWRDYXVzZUVsZW1lbnRSZXBhaW50KEVsZW1lbnQmIGVsZW1lbnQsIGJvb2wgbWF5UmVw
YWludE5vbkRlc2NlbmRhbnRzKQotewotICAgIGlmICghRE9NVGltZXJGaXJlU3RhdGU6OmN1cnJl
bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtYXlSZXBhaW50Tm9uRGVzY2VuZGFudHMg
fHwgZWxlbWVudC5tYXlDYXVzZVJlcGFpbnRJbnNpZGVWaWV3cG9ydCgpKQotICAgICAgICBET01U
aW1lckZpcmVTdGF0ZTo6Y3VycmVudC0+c2V0U2NyaXB0TWFkZVVzZXJPYnNlcnZhYmxlQ2hhbmdl
cygpOwotICAgIGVsc2UKLSAgICAgICAgRE9NVGltZXJGaXJlU3RhdGU6OmN1cnJlbnQtPnNldFNj
cmlwdE1hZGVOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZXNUb0VsZW1lbnQoZWxlbWVudCk7Ci19Ci0K
IHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKIHsKICAgICAvLyBSZXRhaW4gdGhpcyAtIGlmIHRoZSB0
aW1lciBpcyBjYW5jZWxsZWQgd2hpbGUgdGhpcyBmdW5jdGlvbiBpcyBvbiB0aGUgc3RhY2sgKGlt
cGxpY2l0bHkgYW5kIGFsd2F5cwpAQCAtMzM1LDEwICsyOTYsNiBAQCB2b2lkIERPTVRpbWVyOjpm
aXJlZCgpCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCA9ICpzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7CiAKICAgICBET01UaW1lckZpcmVTdGF0ZSBmaXJlU3RhdGUoY29udGV4
dCk7Ci0gICAgaWYgKGlzSW50ZXJ2YWxEZXBlbmRlbnRPblZpZXdwb3J0KCkpIHsKLSAgICAgICAg
Ly8gV2UgcmUtZXZhbHVhdGUgaWYgdGhlIHRpbWVyIGludGVydmFsIGlzIGRlcGVuZGVudCBvbiB0
aGUgdmlld3BvcnQgZXZlcnkgdGltZSBpdCBmaXJlcy4KLSAgICAgICAgdW5yZWdpc3RlckZvclZp
ZXdwb3J0Q2hhbmdlcygpOwotICAgIH0KIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSBudWxscHRyOwpAQCAtNDMxLDIyICszODgsNiBAQCB2b2lkIERPTVRpbWVy
OjpkaWRTdG9wKCkKICAgICBtX2FjdGlvbiA9IG51bGxwdHI7CiB9CiAKLXZvaWQgRE9NVGltZXI6
OnJlZ2lzdGVyRm9yVmlld3BvcnRDaGFuZ2VzKCkKLXsKLSAgICBBU1NFUlQoaXNJbnRlcnZhbERl
cGVuZGVudE9uVmlld3BvcnQoKSk7Ci0gICAgaWYgKGF1dG8qIGZyYW1lVmlldyA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS52aWV3KCkpCi0gICAgICAgIGZy
YW1lVmlldy0+cmVnaXN0ZXJUaHJvdHRsZWRET01UaW1lcih0aGlzKTsKLX0KLQotdm9pZCBET01U
aW1lcjo6dW5yZWdpc3RlckZvclZpZXdwb3J0Q2hhbmdlcygpCi17Ci0gICAgQVNTRVJUKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgaWYgKGF1dG8qIGZyYW1lVmlldyA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS52aWV3KCkpCi0gICAgICAgIGZy
YW1lVmlldy0+dW5yZWdpc3RlclRocm90dGxlZERPTVRpbWVyKHRoaXMpOwotCi0gICAgbV9lbGVt
ZW50c0NhdXNpbmdUaHJvdHRsaW5nLmNsZWFyKCk7Ci19Ci0KIHZvaWQgRE9NVGltZXI6OnVwZGF0
ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiB7CiAgICAgQVNTRVJUKG1fbmVzdGluZ0xldmVs
IDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKQEAgLTQ2NywyNiArNDA4LDYgQEAgdm9pZCBET01U
aW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KCkKICAgICB9CiB9CiAKLXZvaWQg
RE9NVGltZXI6OnVwZGF0ZVRocm90dGxpbmdTdGF0ZUFmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3Qg
SW50UmVjdCYgdmlzaWJsZVJlY3QpCi17Ci0gICAgQVNTRVJUKGlzSW50ZXJ2YWxEZXBlbmRlbnRP
blZpZXdwb3J0KCkpOwotICAgIC8vIENoZWNrIGlmIHRoZSBlbGVtZW50cyB0aGF0IGNhdXNlZCB0
aGlzIHRpbWVyIHRvIGJlIHRocm90dGxlZCBhcmUgc3RpbGwgb3V0c2lkZSB0aGUgdmlld3BvcnQu
Ci0gICAgZm9yIChhdXRvJiB3ZWFrRWxlbWVudFB0ciA6IG1fZWxlbWVudHNDYXVzaW5nVGhyb3R0
bGluZykgewotICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gd2Vha0VsZW1lbnRQdHIuZ2V0KCk7
Ci0gICAgICAgIC8vIFNraXAgZWxlbWVudHMgdGhhdCB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgZG9j
dW1lbnQuCi0gICAgICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aW5Eb2N1bWVudCgpKQot
ICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKGVsZW1lbnQtPm1heUNhdXNlUmVw
YWludEluc2lkZVZpZXdwb3J0KCZ2aXNpYmxlUmVjdCkpIHsKLSAgICAgICAgICAgIExPRyhET01U
aW1lcnMsICIlcCAtIFNjcmlwdCBpcyBjaGFuZ2luZyBzdHlsZSBvZiBhbiBlbGVtZW50IHRoYXQg
aXMgbm93IGluc2lkZSB0aGUgdmlld3BvcnQsIHVudGhyb3R0bGluZyB0aGUgdGltZXIuIiwgdGhp
cyk7Ci0gICAgICAgICAgICBtX3Rocm90dGxlU3RhdGUgPSBTaG91bGROb3RUaHJvdHRsZTsKLSAg
ICAgICAgICAgIHVucmVnaXN0ZXJGb3JWaWV3cG9ydENoYW5nZXMoKTsKLSAgICAgICAgICAgIHVw
ZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLSAgICB9Ci19Ci0KIGRvdWJsZSBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9NaW5p
bXVtKCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuaAppbmRleCA4OTNmODU0MDc3MmUxODZiZTE2NmZhZjIyNDBjNTc3YTUw
ODViZGJkLi4zOTBkMGIxMTA5YzQ4NzkzNDJiODVjOWQ1MDI3NzZlOTUzYjhhN2Y3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5oCkBAIC0yOSw5ICsyOSw3IEBACiAKICNpbmNsdWRlICJTdXNwZW5kYWJs
ZVRpbWVyLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTYwLDEwICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgLy8gTm90aWZ5IHRoYXQgdGhlIGludGVydmFsIG1heSBuZWVkIHVwZGF0aW5n
IChlLmcuIGJlY2F1c2UgdGhlIG1pbmltdW0gaW50ZXJ2YWwKICAgICAgICAgLy8gc2V0dGluZyBm
b3IgdGhlIGNvbnRleHQgaGFzIGNoYW5nZWQpLgogICAgICAgICB2b2lkIHVwZGF0ZVRpbWVySW50
ZXJ2YWxJZk5lY2Vzc2FyeSgpOwotICAgICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdTdGF0ZUFm
dGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QpOwogCiAgICAgICAg
IHN0YXRpYyB2b2lkIHNjcmlwdERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVu
dCYpOwotICAgICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRDYXVzZUVsZW1lbnRSZXBhaW50KEVs
ZW1lbnQmLCBib29sIG1heVJlcGFpbnROb25EZXNjZW5kYW50cyA9IGZhbHNlKTsKIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50IGludGVydmFsLCBib29sIHNpbmdsZVNob3Qp
OwpAQCAtNzIsMTAgKzY4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBkb3VibGUg
aW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICAgICAgYm9vbCBpc0RPTVRp
bWVyc1Rocm90dGxpbmdFbmFibGVkKERvY3VtZW50JikgY29uc3Q7Ci0gICAgICAgIGJvb2wgaXNJ
bnRlcnZhbERlcGVuZGVudE9uVmlld3BvcnQoKSBjb25zdCB7IHJldHVybiBtX3Rocm90dGxlU3Rh
dGUgPT0gU2hvdWxkVGhyb3R0bGUgJiYgIW1fZWxlbWVudHNDYXVzaW5nVGhyb3R0bGluZy5pc0Vt
cHR5KCk7IH0KLSAgICAgICAgdm9pZCByZWdpc3RlckZvclZpZXdwb3J0Q2hhbmdlcygpOwotICAg
ICAgICB2b2lkIHVucmVnaXN0ZXJGb3JWaWV3cG9ydENoYW5nZXMoKTsKLQogICAgICAgICB2b2lk
IHVwZGF0ZVRocm90dGxpbmdTdGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRl
Jik7CiAKICAgICAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgpAQCAtOTksMTAgKzkxLDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJvdHRsZVN0
YXRlOwogICAgICAgICBkb3VibGUgbV9jdXJyZW50VGltZXJJbnRlcnZhbDsKICAgICAgICAgYm9v
bCBtX3Nob3VsZEZvcndhcmRVc2VyR2VzdHVyZTsKLSAgICAgICAgLy8gVXNlIFdlYWtQdHJzIGJl
Y2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byBrZWVwIHRoZSBlbGVtZW50cyBhbGl2ZSBidXQgd2UKLSAg
ICAgICAgLy8gc3RpbGwgbmVlZCB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIGVsZW1lbnRzIGdl
dCBkZXN0cm95ZWQgYWZ0ZXIKLSAgICAgICAgLy8gdGhlIHRpbWVyIGhhcyBmaXJlZC4KLSAgICAg
ICAgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+IG1fZWxlbWVudHNDYXVzaW5nVGhyb3R0bGluZzsK
ICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggOTdhNjQwMTlhYTM4ZmIwMGE0YTM1ZGU4ZWFkYWJiMGRhNjczZDYxYS4uMDgxMzA0
YmViZjhiOTFlOGNmOTkwOTA1OTFjMDcyNmU2YWMzYjY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcApAQCAtMjkxLDcgKzI5MSw2IEBAIHZvaWQgRnJhbWVWaWV3OjpyZXNldCgpCiAgICAg
bV9pc1Zpc3VhbGx5Tm9uRW1wdHkgPSBmYWxzZTsKICAgICBtX2ZpcnN0VmlzdWFsbHlOb25FbXB0
eUxheW91dENhbGxiYWNrUGVuZGluZyA9IHRydWU7CiAgICAgbV9tYWludGFpblNjcm9sbFBvc2l0
aW9uQW5jaG9yID0gbnVsbHB0cjsKLSAgICBtX3Rocm90dGxlZFRpbWVycy5jbGVhcigpOwogfQog
CiB2b2lkIEZyYW1lVmlldzo6cmVtb3ZlRnJvbUFYT2JqZWN0Q2FjaGUoKQpAQCAtMTgwNiw3ICsx
ODA1LDYgQEAgdm9pZCBGcmFtZVZpZXc6OnZpZXdwb3J0Q29udGVudHNDaGFuZ2VkKCkKICAgICAv
LyBjaGVjayBpZiB3ZSBzaG91bGQgcmVzdW1lIGFuaW1hdGVkIGltYWdlcyBvciB1bnRocm90dGxl
IERPTSB0aW1lcnMuCiAgICAgYXBwbHlSZWN1cnNpdmVseVdpdGhWaXNpYmxlUmVjdChbXSAoRnJh
bWVWaWV3JiBmcmFtZVZpZXcsIGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0KSB7CiAgICAgICAg
IGZyYW1lVmlldy5yZXN1bWVWaXNpYmxlSW1hZ2VBbmltYXRpb25zKHZpc2libGVSZWN0KTsKLSAg
ICAgICAgZnJhbWVWaWV3LnVwZGF0ZVRocm90dGxlZERPTVRpbWVyc1N0YXRlKHZpc2libGVSZWN0
KTsKICAgICAgICAgZnJhbWVWaWV3LnVwZGF0ZVNjcmlwdGVkQW5pbWF0aW9uc0FuZFRpbWVyc1Ro
cm90dGxpbmdTdGF0ZSh2aXNpYmxlUmVjdCk7CiAgICAgfSk7CiB9CkBAIC0zMTIyLDI5ICszMTIw
LDYgQEAgdm9pZCBGcmFtZVZpZXc6OnBvc3RMYXlvdXRUaW1lckZpcmVkKCkKICAgICBwZXJmb3Jt
UG9zdExheW91dFRhc2tzKCk7CiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpyZWdpc3RlclRocm90dGxl
ZERPTVRpbWVyKERPTVRpbWVyKiB0aW1lcikKLXsKLSAgICBtX3Rocm90dGxlZFRpbWVycy5hZGQo
dGltZXIpOwotfQotCi12b2lkIEZyYW1lVmlldzo6dW5yZWdpc3RlclRocm90dGxlZERPTVRpbWVy
KERPTVRpbWVyKiB0aW1lcikKLXsKLSAgICBtX3Rocm90dGxlZFRpbWVycy5yZW1vdmUodGltZXIp
OwotfQotCi12b2lkIEZyYW1lVmlldzo6dXBkYXRlVGhyb3R0bGVkRE9NVGltZXJzU3RhdGUoY29u
c3QgSW50UmVjdCYgdmlzaWJsZVJlY3QpCi17Ci0gICAgaWYgKG1fdGhyb3R0bGVkVGltZXJzLmlz
RW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gRG8gbm90IGl0ZXJhdGUgb3ZlciB0
aGUgSGFzaFNldCBiZWNhdXNlIGNhbGxpbmcgRE9NVGltZXI6OnVwZGF0ZVRocm90dGxpbmdTdGF0
ZUFmdGVyVmlld3BvcnRDaGFuZ2UoKQotICAgIC8vIG1heSBjYXVzZSB0aW1lcnMgdG8gcmVtb3Zl
IHRoZW1zZWx2ZXMgZnJvbSBpdCB3aGlsZSB3ZSBhcmUgaXRlcmF0aW5nLgotICAgIFZlY3RvcjxE
T01UaW1lcio+IHRpbWVyczsKLSAgICBjb3B5VG9WZWN0b3IobV90aHJvdHRsZWRUaW1lcnMsIHRp
bWVycyk7Ci0gICAgZm9yIChhdXRvKiB0aW1lciA6IHRpbWVycykKLSAgICAgICAgdGltZXItPnVw
ZGF0ZVRocm90dGxpbmdTdGF0ZUFmdGVyVmlld3BvcnRDaGFuZ2UodmlzaWJsZVJlY3QpOwotfQot
CiB2b2lkIEZyYW1lVmlldzo6YXV0b1NpemVJZkVuYWJsZWQoKQogewogICAgIGlmICghbV9zaG91
bGRBdXRvU2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGRiYTZlY2U4NTk1ZmIxMmY0
N2Y5YzkwZDIyMTY4YjYxYmU0MDU1NjIuLmI2ZDA4N2I5M2ZkMzg5NDUxOGIwNjhkM2U5MDU4OGRi
ZTZjYTkwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNDMsNyArNDMsNiBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBWE9iamVjdENhY2hlOwotY2xhc3MgRE9NVGltZXI7
CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgRmxvYXRTaXplOwogY2xhc3MgRnJhbWU7CkBAIC0zMTYs
OSArMzE1LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBwb3N0TGF5b3V0VGltZXJGaXJlZCgpOwog
Ci0gICAgdm9pZCByZWdpc3RlclRocm90dGxlZERPTVRpbWVyKERPTVRpbWVyKik7Ci0gICAgdm9p
ZCB1bnJlZ2lzdGVyVGhyb3R0bGVkRE9NVGltZXIoRE9NVGltZXIqKTsKLQogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgd2FzU2Nyb2xsZWRCeVVzZXIoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldFdhc1Njcm9sbGVkQnlVc2VyKGJvb2wpOwogCkBAIC02MDQsNyArNjAwLDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGF1dG9TaXplSWZFbmFibGVkKCk7CiAKICAgICB2b2lkIGFwcGx5
UmVjdXJzaXZlbHlXaXRoVmlzaWJsZVJlY3QoY29uc3Qgc3RkOjpmdW5jdGlvbjx2b2lkIChGcmFt
ZVZpZXcmIGZyYW1lVmlldywgY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QpPiYpOwotICAgIHZv
aWQgdXBkYXRlVGhyb3R0bGVkRE9NVGltZXJzU3RhdGUoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJl
Y3QpOwogICAgIHZvaWQgcmVzdW1lVmlzaWJsZUltYWdlQW5pbWF0aW9ucyhjb25zdCBJbnRSZWN0
JiB2aXNpYmxlUmVjdCk7CiAgICAgdm9pZCB1cGRhdGVTY3JpcHRlZEFuaW1hdGlvbnNBbmRUaW1l
cnNUaHJvdHRsaW5nU3RhdGUoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QpOwogCkBAIC03ODks
OCArNzg0LDYgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsYWJsZUFyZWFT
ZXQ+IG1fc2Nyb2xsYWJsZUFyZWFzOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxWaWV3cG9ydENvbnN0
cmFpbmVkT2JqZWN0U2V0PiBtX3ZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzOwogCi0gICAgSGFz
aFNldDxET01UaW1lcio+IG1fdGhyb3R0bGVkVGltZXJzOwotCiAgICAgaW50IG1faGVhZGVySGVp
Z2h0OwogICAgIGludCBtX2Zvb3RlckhlaWdodDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGExNTRkODI2MmYyOWZiMzYx
MmU3MWYxZGMyYWUyMGI4YzQzZTcwMWIuLjA1ZWU4MDQ3NDFkMzk2YzAzNmU0OTdjMmM2NzcyMTUw
MTU4ZTk5NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNS0wNi0wNSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24ocjE3NjIxMik6IEJyb2tl
IGFwcCBzd2l0Y2hpbmcgb24gaUNsb3VkLmNvbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1NzA4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTIz
NTI3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgUmVt
b3ZlIGxheW91dCB0ZXN0cyBjb3ZlcmluZyBET00gVGltZXIgdGhyb3R0bGluZy4KKworICAgICAg
ICAqIGZhc3QvY2FudmFzL2NhbnZhcy1vdXRzaWRlLXZpZXdwb3J0LXRpbWVyLXRocm90dGxpbmct
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1vdXRz
aWRlLXZpZXdwb3J0LXRpbWVyLXRocm90dGxpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9uZXN0ZWQtdGltZXItZGlzcGxheS1ub25lLWVsZW1lbnQtdGhyb3R0bGluZy1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vbmVzdGVkLXRpbWVyLWRpc3Bs
YXktbm9uZS1lbGVtZW50LXRocm90dGxpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9yZXBlYXRpbmctdGltZXItZGlzcGxheS1ub25lLWVsZW1lbnQtdGhyb3R0bGluZy1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWRp
c3BsYXktbm9uZS1lbGVtZW50LXRocm90dGxpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy1oaWRkZW4tdGhyb3R0bGlu
Zy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vcmVwZWF0aW5nLXRp
bWVyLWVsZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90dGxpbmcuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9yZXNvdXJjZXMvdGltZXItdGhyb3R0bGluZy1pZnJhbWUuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS90aW1lci10aHJvdHRsZS1vbi1zY3JvbGxpbmct
aWZyYW1lLWF3YXktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL3Rp
bWVyLXRocm90dGxlLW9uLXNjcm9sbGluZy1pZnJhbWUtYXdheS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tbGF5b3V0LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLWxheW91dC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Ny
b2xsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS90aW1lci11bnRo
cm90dGxlLW9uLXNjcm9sbC5odG1sOiBSZW1vdmVkLgorCiAyMDE1LTA2LTA1ICBCcmVudCBGdWxn
aGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXSzEgdmVyc2lvbnMgb2Yg
dGVzdHMgZnJvbSBCdWdzIDE0NTYzNyBhbmQgMTQ1NjQyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtb3V0c2lkZS12aWV3cG9ydC10aW1lci10aHJvdHRsaW5nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1vdXRzaWRlLXZpZXdw
b3J0LXRpbWVyLXRocm90dGxpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3NjU0YWZlZjFhODEzN2YxYjVkOTY5MGI5Mzk3Y2I1Y2MyOWRkYzkwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1vdXRzaWRlLXZpZXdwb3J0LXRpbWVyLXRocm90dGxpbmctZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVGVzdCB0aGF0IGEgRE9NIHRpbWVy
IGRyYXdpbmcgb24gYSBjYW52YXMgb3V0c2lkZSB2aWV3cG9ydCBnZXRzIHRocm90dGxlZC4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVRoZSB0aW1lciBzaG91bGQgaW5pdGlhbGx5
IG5vdCBiZSB0aHJvdHRsZWQuCi1QQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVv
dXRJZCkgaXMgZmFsc2UKLVRoZSB0aW1lciBzaG91bGQgbm93IGJlIHRocm90dGxlZCBhcyBpdCBp
cyBkcmF3aW5nIG9uIGEgY2FudmFzIG91dHNpZGUgdmlld3BvcnQuCi1QQVNTIGludGVybmFscy5p
c1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL2NhbnZhcy1vdXRzaWRlLXZpZXdwb3J0LXRpbWVyLXRocm90dGxpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1vdXRzaWRlLXZpZXdwb3J0LXRpbWVyLXRo
cm90dGxpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM1YjQwMmE2YWZh
ZjQxZTA5NTZkNTAyZjU5YTAxOGMwNWQxNDJmNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtb3V0c2lk
ZS12aWV3cG9ydC10aW1lci10aHJvdHRsaW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgaSA9
IDA7Ci12YXIgY29udGV4dDsKLXZhciB0aW1lb3V0SWQ7Ci12YXIgd2FzVGhyb3R0bGVkOwotCi1m
dW5jdGlvbiBsb29wKCkKLXsKLSAgIGkgPSAoaSArIDEpICUgMjU1OwotICAgY29udGV4dC5maWxs
U3R5bGUgPSAicmdiKCIgKyBpICsgIiwgMCwgMCkiOwotICAgY29udGV4dC5maWxsUmVjdCgwLCAw
LCAxNTAsIDE1MCk7Ci0KLSAgIC8vIDUgaXRlcmF0aW9ucyBzaG91bGQgc3VmZmljZSB0byB0aHJv
dHRsZSB0aGUgdGltZXIuCi0gICBpZiAoaSA9PSA1KSB7Ci0gICAgIGRlYnVnKCJUaGUgdGltZXIg
c2hvdWxkIG5vdyBiZSB0aHJvdHRsZWQgYXMgaXQgaXMgZHJhd2luZyBvbiBhIGNhbnZhcyBvdXRz
aWRlIHZpZXdwb3J0LiIpOwotICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1RpbWVyVGhy
b3R0bGVkKHRpbWVvdXRJZCkiKTsKLSAgICAgY2xlYXJJbnRlcnZhbCh0aW1lb3V0SWQpOwotICAg
ICBmaW5pc2hKU1Rlc3QoKTsKLSAgIH0KLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgY29u
dGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKS5nZXRDb250ZXh0KCcyZCcp
OwotCi0gIHRpbWVvdXRJZCA9IHNldEludGVydmFsKGxvb3AsIDUpOwotICBkZWJ1ZygiVGhlIHRp
bWVyIHNob3VsZCBpbml0aWFsbHkgbm90IGJlIHRocm90dGxlZC4iKTsKLSAgc2hvdWxkQmVGYWxz
ZSgiaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSIpOwotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgotPHNjcmlwdD4KLWRlc2NyaXB0
aW9uKCJUZXN0IHRoYXQgYSBET00gdGltZXIgZHJhd2luZyBvbiBhIGNhbnZhcyBvdXRzaWRlIHZp
ZXdwb3J0IGdldHMgdGhyb3R0bGVkLiIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci08L3Njcmlw
dD4KLTxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVpZ2h0
OiAyNDAwcHg7Ij4KLSAgPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0xNTAgaGVpZ2h0PTE1MCBz
dHlsZT0icG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6IDYwMHB4OyB0b3A6IDgwMHB4OyI+PC9jYW52
YXM+Ci08L2Rpdj4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL25lc3RlZC10aW1lci1kaXNwbGF5LW5vbmUtZWxlbWVudC10aHJvdHRsaW5nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL25lc3RlZC10aW1lci1kaXNwbGF5LW5vbmUt
ZWxlbWVudC10aHJvdHRsaW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZGZiNzU0ODhhYjdjODIyMGJhMjY4OTZmY2UwOGVkMjViZDFjODAzYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9uZXN0ZWQtdGltZXItZGlzcGxheS1ub25lLWVsZW1lbnQtdGhyb3R0bGluZy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UZXN0cyB0aGF0IGEgbmVzdGVkIHRp
bWVyIGNoYW5naW5nIHRoZSBzdHlsZSBvZiBhIGRpc3BsYXk6bm9uZSBlbGVtZW50IGdldHMgdGhy
b3R0bGVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotVGhlIHRpbWVyIHNob3Vs
ZCBpbml0aWFsbHkgbm90IGJlIHRocm90dGxlZC4KLVBBU1MgaW50ZXJuYWxzLmlzVGltZXJUaHJv
dHRsZWQodGltZW91dElkKSBpcyBmYWxzZQotNXRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIGhh
dmUgYmVlbiB0aHJvdHRsZWQuCi1QQVNTIHdhc1Rocm90dGxlZCBpcyB0cnVlCi02dGggaXRlcmF0
aW9uLCB0aW1lciBzaG91bGQgc3RpbGwgYmUgdGhyb3R0bGVkLgotUEFTUyBpbnRlcm5hbHMuaXNU
aW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIHRydWUKLVRpbWVyIG11dGF0ZWQgdGhlIERPTSB0
cmVlLgotN3RoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIG5vIGxvbmdlciBiZSB0aHJvdHRsZWQu
Ci1QQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkgaXMgZmFsc2UKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uZXN0ZWQtdGltZXItZGlzcGxheS1ub25lLWVsZW1l
bnQtdGhyb3R0bGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmVzdGVkLXRpbWVyLWRp
c3BsYXktbm9uZS1lbGVtZW50LXRocm90dGxpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZWU5MGVmNDc1YWRkMDUzZmZiMjJjYTYxZTVmYzNjYjdkYzE0OGM0OS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9uZXN0ZWQtdGltZXItZGlzcGxheS1ub25lLWVsZW1lbnQtdGhyb3R0bGluZy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPGRp
diBpZD0idGVzdEVsZW1lbnQiIHN0eWxlPSJkaXNwbGF5OiBub25lIj5UZXN0PC9kaXY+Ci08c2Ny
aXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBuZXN0ZWQgdGltZXIgY2hhbmdpbmcgdGhl
IHN0eWxlIG9mIGEgZGlzcGxheTpub25lIGVsZW1lbnQgZ2V0cyB0aHJvdHRsZWQuIik7Ci1qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIGl0ZXJhdGlvbkNvdW50ID0gMDsKLXZhciB0aW1lb3V0
SWQ7Ci12YXIgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEVsZW1l
bnQiKTsKLXZhciB3YXNUaHJvdHRsZWQgPSBmYWxzZTsKLQotZnVuY3Rpb24gY2hlY2tUaW1lclRo
cm90dGxlU3RhdGUoKQotewotICBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNSkgewotICAgIC8vIERv
IG5vdCB1c2Ugc2hvdWxkQmVUcnVlKCkgaGVyZSBiZWNhdXNlIGl0IHdvdWxkIGNhdXNlIGEgRE9N
IHRyZWUgbXV0YXRpb24gYW5kCi0gICAgLy8gdW50aHJvdHRsZSB0aGUgRE9NIFRpbWVyLgotICAg
IHdhc1Rocm90dGxlZCA9IGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCk7Ci0g
IH0gZWxzZSBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNikgewotICAgIGRlYnVnKCI1dGggaXRlcmF0
aW9uLCB0aW1lciBzaG91bGQgaGF2ZSBiZWVuIHRocm90dGxlZC4iKTsKLSAgICBzaG91bGRCZVRy
dWUoIndhc1Rocm90dGxlZCIpOwotICAgIGRlYnVnKCI2dGggaXRlcmF0aW9uLCB0aW1lciBzaG91
bGQgc3RpbGwgYmUgdGhyb3R0bGVkLiIpOwotICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlz
VGltZXJUaHJvdHRsZWQodGltZW91dElkKSIpOwotICB9IGVsc2UgaWYgKGl0ZXJhdGlvbkNvdW50
ID49IDYpIHsKLSAgICAvLyBUaW1lciBzaG91bGQgYmUgdW50aHJvdHRsZWQgZHVlIHRvIHRoZSBE
T00gdHJlZSBtdXRhdGlvbiBjYXVzZWQgYnkgc2hvdWxkQmVUcnVlKCkgaW4KLSAgICAvLyB0aGUg
cHJldmlvdXMgaXRlcmF0aW9uLgotICAgIGRlYnVnKCIiICsgaXRlcmF0aW9uQ291bnQgKyAidGgg
aXRlcmF0aW9uLCB0aW1lciBzaG91bGQgbm8gbG9uZ2VyIGJlIHRocm90dGxlZC4iKTsKLSAgICBz
aG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIik7Ci0g
ICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci0gIH0KLX0K
LQotZnVuY3Rpb24gdGltZXJDYWxsYmFjaygpCi17Ci0gICsraXRlcmF0aW9uQ291bnQ7Ci0gIC8v
IEludGVyYWN0IHdpdGggdGhlIHN0eWxlIG9mIHRoZSBlbGVtZW50LgotICB0ZXN0RWxlbWVudC5z
dHlsZVsibGVmdCJdID0gIiIgKyBpdGVyYXRpb25Db3VudCArICJweCI7Ci0KLSAgLy8gNSBpdGVy
YXRpb25zIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIHRocm90dGxlIHRoZSB0aW1lci4KLSAgaWYg
KGl0ZXJhdGlvbkNvdW50ID49IDUpIHsKLSAgICBzZXRUaW1lb3V0KGNoZWNrVGltZXJUaHJvdHRs
ZVN0YXRlLCAwKTsKLSAgICBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNykgewotICAgICAgLy8gVGhl
IGNhbGwgdG8gZGVidWcoKSBtdXRhdGVzIHRoZSBET00gdHJlZS4KLSAgICAgIGRlYnVnKCJUaW1l
ciBtdXRhdGVkIHRoZSBET00gdHJlZS4iKTsKLSAgICB9Ci0gIH0KLQotICB0aW1lb3V0SWQgPSBz
ZXRUaW1lb3V0KHRpbWVyQ2FsbGJhY2ssIDApOwotfQotCi10aW1lb3V0SWQgPSBzZXRUaW1lb3V0
KHRpbWVyQ2FsbGJhY2ssIDApOwotZGVidWcoIlRoZSB0aW1lciBzaG91bGQgaW5pdGlhbGx5IG5v
dCBiZSB0aHJvdHRsZWQuIik7Ci1zaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRocm90
dGxlZCh0aW1lb3V0SWQpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1kaXNwbGF5LW5vbmUtZWxlbWVudC10aHJv
dHRsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1l
ci1kaXNwbGF5LW5vbmUtZWxlbWVudC10aHJvdHRsaW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDFlYTZkOWMyYzY3OTg0MjExYTZhNjc5NmRhOWVlZjdhYjNm
YzQ5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZGlzcGxheS1ub25lLWVsZW1lbnQtdGhy
b3R0bGluZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UZXN0
cyB0aGF0IGEgcmVwZWF0aW5nIHRpbWVyIGNoYW5naW5nIHRoZSBzdHlsZSBvZiBhIGRpc3BsYXk6
bm9uZSBlbGVtZW50IGdldHMgdGhyb3R0bGVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotVGhlIHRpbWVyIHNob3VsZCBpbml0aWFsbHkgbm90IGJlIHRocm90dGxlZC4KLVBBU1Mg
aW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSBpcyBmYWxzZQotNXRoIGl0ZXJh
dGlvbiwgdGltZXIgc2hvdWxkIGhhdmUgYmVlbiB0aHJvdHRsZWQuCi1QQVNTIHdhc1Rocm90dGxl
ZCBpcyB0cnVlCi02dGggaXRlcmF0aW9uLCB0aW1lciBzaG91bGQgc3RpbGwgYmUgdGhyb3R0bGVk
LgotUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIHRydWUKLVRp
bWVyIG11dGF0ZWQgdGhlIERPTSB0cmVlLgotN3RoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIG5v
IGxvbmdlciBiZSB0aHJvdHRsZWQuCi1QQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRp
bWVvdXRJZCkgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmct
dGltZXItZGlzcGxheS1ub25lLWVsZW1lbnQtdGhyb3R0bGluZy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWRpc3BsYXktbm9uZS1lbGVtZW50LXRocm90dGxpbmcu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFmNjg1OTMyYTUwNGEyYzc4YWYx
ZDczNzkzMTBlNzZhMmY4NzhkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZGlzcGxheS1u
b25lLWVsZW1lbnQtdGhyb3R0bGluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPGRpdiBpZD0idGVzdEVsZW1lbnQiIHN0eWxlPSJk
aXNwbGF5OiBub25lIj5UZXN0PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgYSByZXBlYXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGEgZGlzcGxheTpub25l
IGVsZW1lbnQgZ2V0cyB0aHJvdHRsZWQuIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFy
IGl0ZXJhdGlvbkNvdW50ID0gMDsKLXZhciB0aW1lb3V0SWQ7Ci12YXIgdGVzdEVsZW1lbnQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEVsZW1lbnQiKTsKLXZhciB3YXNUaHJvdHRsZWQg
PSBmYWxzZTsKLQotZnVuY3Rpb24gdGltZXJDYWxsYmFjaygpCi17Ci0gICsraXRlcmF0aW9uQ291
bnQ7Ci0gIC8vIEludGVyYWN0IHdpdGggdGhlIHN0eWxlIG9mIHRoZSBlbGVtZW50LgotICB0ZXN0
RWxlbWVudC5zdHlsZVsibGVmdCJdID0gIiIgKyBpdGVyYXRpb25Db3VudCArICJweCI7Ci0KLSAg
Ly8gNSBpdGVyYXRpb25zIHNob3VsZCBzdWZmaWNlIHRvIHRocm90dGxlIHRoZSB0aW1lci4KLSAg
aWYgKGl0ZXJhdGlvbkNvdW50ID09IDUpIHsKLSAgICAvLyBEbyBub3QgdXNlIHNob3VsZEJlVHJ1
ZSgpIGhlcmUgYmVjYXVzZSBpdCB3b3VsZCBjYXVzZSBhIERPTSB0cmVlIG11dGF0aW9uIGFuZAot
ICAgIC8vIHVudGhyb3R0bGUgdGhlIERPTSBUaW1lci4KLSAgICB3YXNUaHJvdHRsZWQgPSBpbnRl
cm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpOwotICB9IGVsc2UgaWYgKGl0ZXJhdGlv
bkNvdW50ID09IDYpIHsKLSAgICBkZWJ1ZygiNXRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIGhh
dmUgYmVlbiB0aHJvdHRsZWQuIik7Ci0gICAgc2hvdWxkQmVUcnVlKCJ3YXNUaHJvdHRsZWQiKTsK
LSAgICBkZWJ1ZygiNnRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIHN0aWxsIGJlIHRocm90dGxl
ZC4iKTsKLSAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVv
dXRJZCkiKTsKLSAgICBkZWJ1ZygiVGltZXIgbXV0YXRlZCB0aGUgRE9NIHRyZWUuIik7Ci0gIH0g
ZWxzZSBpZiAoaXRlcmF0aW9uQ291bnQgPj0gNikgewotICAgIC8vIFRpbWVyIHNob3VsZCBiZSB1
bnRocm90dGxlZCBkdWUgdG8gdGhlIERPTSB0cmVlIG11dGF0aW9uIGNhdXNlZCBieSBzaG91bGRC
ZVRydWUoKSBpbgotICAgIC8vIHRoZSBwcmV2aW91cyBpdGVyYXRpb24uCi0gICAgZGVidWcoIiIg
KyBpdGVyYXRpb25Db3VudCArICJ0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBubyBsb25nZXIg
YmUgdGhyb3R0bGVkLiIpOwotICAgIHNob3VsZEJlRmFsc2UoImludGVybmFscy5pc1RpbWVyVGhy
b3R0bGVkKHRpbWVvdXRJZCkiKTsKLSAgICBjbGVhckludGVydmFsKHRpbWVvdXRJZCk7Ci0gICAg
ZmluaXNoSlNUZXN0KCk7Ci0gIH0KLX0KLQotdGltZW91dElkID0gc2V0SW50ZXJ2YWwodGltZXJD
YWxsYmFjaywgMCk7Ci1kZWJ1ZygiVGhlIHRpbWVyIHNob3VsZCBpbml0aWFsbHkgbm90IGJlIHRo
cm90dGxlZC4iKTsKLXNob3VsZEJlRmFsc2UoImludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRp
bWVvdXRJZCkiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90dGxp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVs
ZW1lbnQtb3ZlcmZsb3ctaGlkZGVuLXRocm90dGxpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2NDBjNDU4ZmE2YTYxYmYyODJmNzQ2ODJlMDc3YjUxMzZmMzRj
NzRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LWhpZGRlbi10
aHJvdHRsaW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLVRl
c3RzIHRoYXQgYSByZXBlYXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1l
bnQgd2l0aCAwIGhlaWdodCBhbmQgaGlkZGVuIG92ZXJmbG93IGNvbnRlbnQgdGhhdCBoYXZlIHRo
ZWlyIG93biBsYXllciBnZXRzIHRocm90dGxlZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1MgdGVzdEVsZW1lbnQub2Zmc2V0SGVpZ2h0IGlzIDAKLVRoZSB0aW1lciBzaG91
bGQgaW5pdGlhbGx5IG5vdCBiZSB0aHJvdHRsZWQuCi1QQVNTIGludGVybmFscy5pc1RpbWVyVGhy
b3R0bGVkKHRpbWVvdXRJZCkgaXMgZmFsc2UKLTV0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBo
YXZlIGJlZW4gdGhyb3R0bGVkLgotUEFTUyB3YXNUaHJvdHRsZWQgaXMgdHJ1ZQotNnRoIGl0ZXJh
dGlvbiwgdGltZXIgc2hvdWxkIHN0aWxsIGJlIHVudGhyb3R0bGVkLgotUEFTUyBpbnRlcm5hbHMu
aXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy1oaWRkZW4tdGhyb3R0bGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3Zl
cmZsb3ctaGlkZGVuLXRocm90dGxpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzU0ZTI4MzRiZWRlNjU0NThlOGRkMDJiZDIxNzYzMWI1ZGE3MTlhMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9y
ZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy1oaWRkZW4tdGhyb3R0bGluZy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08Ym9keT4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPGRp
diBpZD0idGVzdEVsZW1lbnQiIHN0eWxlPSJoZWlnaHQ6IDA7IG92ZXJmbG93OiBoaWRkZW47Ij4K
LTxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyI+dGVzdDE8L2Rp
dj4KLTxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyI+dGVzdDI8
L2Rpdj4KLTwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgcmVwZWF0
aW5nIHRpbWVyIGNoYW5naW5nIHRoZSBzdHlsZSBvZiBhbiBlbGVtZW50IHdpdGggMCBoZWlnaHQg
YW5kIGhpZGRlbiBvdmVyZmxvdyBjb250ZW50IHRoYXQgaGF2ZSB0aGVpciBvd24gbGF5ZXIgZ2V0
cyB0aHJvdHRsZWQuIik7Ci1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIGl0ZXJhdGlvbkNv
dW50ID0gMDsKLXZhciB0aW1lb3V0SWQ7Ci12YXIgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdEVsZW1lbnQiKTsKLXZhciB3YXNUaHJvdHRsZWQgPSBmYWxzZTsKLQot
ZnVuY3Rpb24gdGltZXJDYWxsYmFjaygpCi17Ci0gICsraXRlcmF0aW9uQ291bnQ7Ci0gIC8vIElu
dGVyYWN0IHdpdGggdGhlIHN0eWxlIG9mIHRoZSBlbGVtZW50LgotICB0ZXN0RWxlbWVudC5zdHls
ZVsibGVmdCJdID0gIiIgKyBpdGVyYXRpb25Db3VudCArICJweCI7Ci0KLSAgLy8gNSBpdGVyYXRp
b25zIHNob3VsZCBzdWZmaWNlIHRvIHRocm90dGxlIHRoZSB0aW1lci4KLSAgaWYgKGl0ZXJhdGlv
bkNvdW50ID09IDUpIHsKLSAgICAvLyBEbyBub3QgdXNlIHNob3VsZEJlVHJ1ZSgpIGhlcmUgYmVj
YXVzZSBpdCB3b3VsZCBjYXVzZSBhIERPTSB0cmVlIG11dGF0aW9uIGFuZAotICAgIC8vIHVudGhy
b3R0bGUgdGhlIERPTSBUaW1lci4KLSAgICB3YXNUaHJvdHRsZWQgPSBpbnRlcm5hbHMuaXNUaW1l
clRocm90dGxlZCh0aW1lb3V0SWQpOwotICB9IGVsc2UgaWYgKGl0ZXJhdGlvbkNvdW50ID09IDYp
IHsKLSAgICBkZWJ1ZygiNXRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIGhhdmUgYmVlbiB0aHJv
dHRsZWQuIik7Ci0gICAgc2hvdWxkQmVUcnVlKCJ3YXNUaHJvdHRsZWQiKTsKLSAgICBkZWJ1Zygi
NnRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIHN0aWxsIGJlIHVudGhyb3R0bGVkLiIpOwotICAg
IHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSIpOwot
ICAgIGNsZWFySW50ZXJ2YWwodGltZW91dElkKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgfQot
fQotCi1zaG91bGRCZSgidGVzdEVsZW1lbnQub2Zmc2V0SGVpZ2h0IiwgIjAiKTsKLQotdGltZW91
dElkID0gc2V0SW50ZXJ2YWwodGltZXJDYWxsYmFjaywgMCk7Ci1kZWJ1ZygiVGhlIHRpbWVyIHNo
b3VsZCBpbml0aWFsbHkgbm90IGJlIHRocm90dGxlZC4iKTsKLXNob3VsZEJlRmFsc2UoImludGVy
bmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVzb3VyY2VzL3RpbWVyLXRocm90dGxp
bmctaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXNvdXJjZXMvdGltZXItdGhy
b3R0bGluZy1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY1YzI0
ODhhODZhNDI0NWExM2NkZTUyZDQzZGM0OTUzNWNkYTk3MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXNvdXJjZXMv
dGltZXItdGhyb3R0bGluZy1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08ZGl2IGlkPSJ0ZXN0RWxlbWVudCI+VEVTVDwv
ZGl2PgotPHNjcmlwdD4KLXZhciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0RWxlbWVudCIpOwotdmFyIGl0ZXJhdGlvbkNvdW50ID0gMDsKLXZhciB0aW1lb3V0SWQ7
Ci0KLWZ1bmN0aW9uIHRpbWVyQ2FsbGJhY2soKSB7Ci0gICsraXRlcmF0aW9uQ291bnQ7Ci0KLSAg
Ly8gQ2hhbmdlIHN0eWxlIG9mIEVsZW1lbnQuCi0gIHRlc3RFbGVtZW50LnN0eWxlWyJvcGFjaXR5
Il0gPSAiIiArIChpdGVyYXRpb25Db3VudCAvIDEwLik7Ci0KLSAgcGFyZW50LnRpbWVyRmlyZWQo
aXRlcmF0aW9uQ291bnQsIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkpOwot
Ci0gIGlmIChpdGVyYXRpb25Db3VudCA9PSA3KQotICAgIGNsZWFySW50ZXJ2YWwodGltZW91dElk
KTsKLX0KLQotdGltZW91dElkID0gc2V0SW50ZXJ2YWwodGltZXJDYWxsYmFjaywgMCk7Ci08L3Nj
cmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXRo
cm90dGxlLW9uLXNjcm9sbGluZy1pZnJhbWUtYXdheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS90aW1lci10aHJvdHRsZS1vbi1zY3JvbGxpbmctaWZyYW1lLWF3YXktZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWIyNjA2YmRlNzkxZTIzYzhm
Zjk4NzU3ZDA4YmI5NTJkNTI3N2I0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXRocm90dGxlLW9uLXNjcm9s
bGluZy1pZnJhbWUtYXdheS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCww
IEBACi1UZXN0cyB0aGF0IGEgcmVwZWF0aW5nIHRpbWVyIGluIGFuIGlmcmFtZSBjaGFuZ2luZyB0
aGUgc3R5bGUgb2YgYW4gZWxlbWVudCBnZXRzIHRocm90dGxlZCB3aGVuIHNjcm9sbGluZyB0aGUg
ZnJhbWUgb3V0IG9mIHZpZXcuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1GcmFt
ZSBpcyBpbnNpZGUgdmlld3BvcnQsIHRpbWVyIHNob3VsZCBub3QgYmUgdGhyb3R0bGVkCi1QQVNT
IGlzVGltZXJUaHJvdHRsZWRCZWZvcmVTY3JvbGwgaXMgZmFsc2UKLVNjcm9sbGluZyBmcmFtZSBv
dXQgb2Ygdmlldy4KLUZyYW1lIGlzIG91dHNpZGUgdmlld3BvcnQsIHRpbWVyIHNob3VsZCBub3cg
YmUgdGhyb3R0bGVkCi1QQVNTIGlzVGltZXJUaHJvdHRsZWRBZnRlclNjcm9sbCBpcyB0cnVlCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGltZXItdGhyb3R0bGUtb24tc2Nyb2xsaW5nLWlm
cmFtZS1hd2F5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci10aHJvdHRsZS1vbi1z
Y3JvbGxpbmctaWZyYW1lLWF3YXkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDVkY2FiOGEwNmZkYjY5YmM3NWE5NGQ5ZDkzY2E0ZDU2M2E0MzY4Zi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1l
ci10aHJvdHRsZS1vbi1zY3JvbGxpbmctaWZyYW1lLWF3YXkuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDM0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1kZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCBhIHJlcGVhdGluZyB0aW1lciBpbiBhbiBpZnJhbWUgY2hhbmdpbmcg
dGhlIHN0eWxlIG9mIGFuIGVsZW1lbnQgZ2V0cyB0aHJvdHRsZWQgd2hlbiBzY3JvbGxpbmcgdGhl
IGZyYW1lIG91dCBvZiB2aWV3LiIpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWZ1bmN0aW9u
IHNjcm9sbEZyYW1lT3V0T2ZWaWV3KCkKLXsKLSAgZGVidWcoIlNjcm9sbGluZyBmcmFtZSBvdXQg
b2Ygdmlldy4iKTsKLSAgd2luZG93LnNjcm9sbEJ5KDAsODAwKTsKLX0KLQotZnVuY3Rpb24gdGlt
ZXJGaXJlZChpdGVyYXRpb25Db3VudCwgaXNUaHJvdHRsZWQpIHsKLSAgLy8gNSBpdGVyYXRpb25z
IHNob3VsZCBzdWZmaWNlIHRvIHRocm90dGxlIHRoZSB0aW1lci4KLSAgaWYgKGl0ZXJhdGlvbkNv
dW50ID09IDUpIHsKLSAgICBkZWJ1ZygiRnJhbWUgaXMgaW5zaWRlIHZpZXdwb3J0LCB0aW1lciBz
aG91bGQgbm90IGJlIHRocm90dGxlZCIpOwotICAgIGlzVGltZXJUaHJvdHRsZWRCZWZvcmVTY3Jv
bGwgPSBpc1Rocm90dGxlZDsKLSAgICBzaG91bGRCZUZhbHNlKCJpc1RpbWVyVGhyb3R0bGVkQmVm
b3JlU2Nyb2xsIik7Ci0gICAgc2Nyb2xsRnJhbWVPdXRPZlZpZXcoKTsKLSAgfSBlbHNlIGlmIChp
dGVyYXRpb25Db3VudCA9PSA3KSB7Ci0gICAgZGVidWcoIkZyYW1lIGlzIG91dHNpZGUgdmlld3Bv
cnQsIHRpbWVyIHNob3VsZCBub3cgYmUgdGhyb3R0bGVkIik7Ci0gICAgaXNUaW1lclRocm90dGxl
ZEFmdGVyU2Nyb2xsID0gaXNUaHJvdHRsZWQ7Ci0gICAgc2hvdWxkQmVUcnVlKCJpc1RpbWVyVGhy
b3R0bGVkQWZ0ZXJTY3JvbGwiKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgfQotfQotCi08L3Nj
cmlwdD4KLTxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVp
Z2h0OiAyNDAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+Ci0gIDxpZnJhbWUgaWQ9InRl
c3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvdGltZXItdGhyb3R0bGluZy1pZnJhbWUuaHRtbCIgc3R5
bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsiPjwvaWZyYW1lPgotPC9kaXY+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9u
LWxheW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90
dGxlLW9uLWxheW91dC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDUwNDIxOTU2NmUyMjU2YjFhYTk3MjM3OTk1OGJiYWY0OGYzMGM3OGQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGlt
ZXItdW50aHJvdHRsZS1vbi1sYXlvdXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTkgKzAsMCBAQAotVGVzdHMgdGhhdCBhIHJlcGVhdGluZyB0aW1lciBjaGFuZ2luZyB0aGUgc3R5
bGUgb2YgYW4gZWxlbWVudCBvdXRzaWRlIHZpZXdwb3J0IGdldHMgdW50aHJvdHRsZWQgaWYgdGhl
IGVsZW1lbnRzIGlzIGluc2lkZSB0aGUgdmlld3BvcnQgYWZ0ZXIgbGF5b3V0LgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0
aW1lb3V0SWQpIGlzIGZhbHNlCi01dGggaXRlcmF0aW9uLCB0aW1lciBzaG91bGQgYmUgdGhyb3R0
bGVkIGFzIHRoZSBlbGVtZW50IGlzIG91dHNpZGUgdGhlIHZpZXdwb3J0LgotUEFTUyB3YXNUaHJv
dHRsZWQgaXMgdHJ1ZQotVGltZXIgc2hvdWxkIHN0aWxsIGJlIHRocm90dGxlZCBiZWZvcmUgbGF5
b3V0LgotUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIHRydWUK
LUZvcmNpbmcgbGF5b3V0Ci1UaW1lciBzaG91bGQgbm8gbG9uZ2VyIGJlIHRocm90dGxlZAotUEFT
UyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIGZhbHNlCi02dGggaXRl
cmF0aW9uLCB0aW1lciBzaG91bGQgc3RpbGwgYmUgdW50aHJvdHRsZWQuCi1QQVNTIGludGVybmFs
cy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotVEVTVApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1sYXlvdXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tbGF5b3V0Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGEwZmE4ZTYwZDM4N2Y1NDhhYzEwNGQwY2Y0NzYwMGY2ZjBhOGEx
MGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vdGltZXItdW50aHJvdHRsZS1vbi1sYXlvdXQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDYyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGJvZHk+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxkaXYgc3R5bGU9
InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDE2MDBweDsgaGVpZ2h0OiAyNDAwcHg7IGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOyI+Ci0gIDxkaXYgaWQ9InBhcmVudERpdiIgc3R5bGU9InBvc2l0
aW9uOmFic29sdXRlOyBsZWZ0OiA2MDBweDsgdG9wOiA4MDBweDsiPgotICAgIDxkaXYgaWQ9InRl
c3RFbGVtZW50Ij5URVNUPC9kaXY+Ci0gIDwvZGl2PgotPC9kaXY+Ci08c2NyaXB0PgotZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgYSByZXBlYXRpbmcgdGltZXIgY2hhbmdpbmcgdGhlIHN0eWxlIG9m
IGFuIGVsZW1lbnQgb3V0c2lkZSB2aWV3cG9ydCBnZXRzIHVudGhyb3R0bGVkIGlmIHRoZSBlbGVt
ZW50cyBpcyBpbnNpZGUgdGhlIHZpZXdwb3J0IGFmdGVyIGxheW91dC4iKTsKLWpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi12YXIgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdEVsZW1lbnQnKTsKLXZhciBpdGVyYXRpb25Db3VudCA9IDA7Ci12YXIgd2FzVGhyb3R0bGVk
ID0gZmFsc2U7Ci12YXIgd2FzVGhyb3R0bGVkQmVmb3JlU2Nyb2xsID0gZmFsc2U7Ci12YXIgdGlt
ZW91dElkOwotCi1mdW5jdGlvbiBtb3ZlRWxlbWVudEluc2lkZVZpZXdwb3J0KCkKLXsKLSAgZGVi
dWcoIjV0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBiZSB0aHJvdHRsZWQgYXMgdGhlIGVsZW1l
bnQgaXMgb3V0c2lkZSB0aGUgdmlld3BvcnQuIik7Ci0gIHNob3VsZEJlVHJ1ZSgid2FzVGhyb3R0
bGVkIik7Ci0KLSAgdmFyIHBhcmVudERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJl
bnREaXYiKTsKLSAgcGFyZW50RGl2LnN0eWxlWyJ0b3AiXSA9ICIxMDBweCI7Ci0KLSAgZGVidWco
IlRpbWVyIHNob3VsZCBzdGlsbCBiZSB0aHJvdHRsZWQgYmVmb3JlIGxheW91dC4iKTsKLSAgc2hv
dWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIik7Ci0KLSAg
ZGVidWcoIkZvcmNpbmcgbGF5b3V0Iik7Ci0gIHBhcmVudERpdi5vZmZzZXRUb3A7Ci0KLSAgZGVi
dWcoIlRpbWVyIHNob3VsZCBubyBsb25nZXIgYmUgdGhyb3R0bGVkIik7Ci0gIHNob3VsZEJlRmFs
c2UoImludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkiKTsKLX0KLQotZnVuY3Rp
b24gdGltZXJDYWxsYmFjaygpCi17Ci0gICsraXRlcmF0aW9uQ291bnQ7Ci0gIC8vIENoYW5nZSB0
aGUgc3R5bGUgb2YgdGhlIGVsZW1lbnQgd2hpbGUgaXQgaXMgb3V0c2lkZSB2aWV3cG9ydC4KLSAg
dGVzdEVsZW1lbnQuc3R5bGVbIm9wYWNpdHkiXSA9ICIiICsgKGl0ZXJhdGlvbkNvdW50IC8gMTAu
KTsKLQotICAvLyA1IGl0ZXJhdGlvbnMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gdGhyb3R0bGUg
dGhlIHRpbWVyLgotICBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNSkgewotICAgIC8vIERvIG5vdCB1
c2Ugc2hvdWxkQmVUcnVlKCkgYmVjYXVzZSBpdCB3b3VsZCBjYXVzZSBhIERPTSB0cmVlIG11dGF0
aW9uCi0gICAgLy8gYW5kIHVudGhyb3R0bGUgdGhlIHRpbWVyLgotICAgIHdhc1Rocm90dGxlZCA9
IGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCk7Ci0gICAgc2V0VGltZW91dCht
b3ZlRWxlbWVudEluc2lkZVZpZXdwb3J0LCAwKTsKLSAgfSBlbHNlIGlmIChpdGVyYXRpb25Db3Vu
dCA9PSA2KSB7Ci0gICAgZGVidWcoIjZ0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBzdGlsbCBi
ZSB1bnRocm90dGxlZC4iKTsKLSAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRo
cm90dGxlZCh0aW1lb3V0SWQpIik7Ci0KLSAgICBjbGVhckludGVydmFsKHRpbWVvdXRJZCk7Ci0g
ICAgZmluaXNoSlNUZXN0KCk7Ci0gIH0KLX0KLQotdGltZW91dElkID0gc2V0SW50ZXJ2YWwodGlt
ZXJDYWxsYmFjaywgMCk7Ci1zaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRocm90dGxl
ZCh0aW1lb3V0SWQpIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVudGhyb3R0bGUtb24tc2Nyb2xsLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzYyNDViMjQwOTIxYjQ5OGU4ODQwYWI1
ODEwOTg0YjI4NjYwMWNiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRocm90dGxlLW9uLXNjcm9sbC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1UZXN0cyB0aGF0IGEg
cmVwZWF0aW5nIHRpbWVyIGNoYW5naW5nIHRoZSBzdHlsZSBvZiBhbiBlbGVtZW50IG91dHNpZGUg
dmlld3BvcnQgZ2V0cyB1bnRocm90dGxlZCB3aGVuIHNjcm9sbGluZyB0aGUgZWxlbWVudCBpbnRv
IHZpZXcuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGludGVybmFscy5p
c1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkgaXMgZmFsc2UKLTV0aCBpdGVyYXRpb24sIHRpbWVy
IHNob3VsZCBiZSB0aHJvdHRsZWQgYXMgdGhlIGVsZW1lbnQgaXMgb3V0c2lkZSB0aGUgdmlld3Bv
cnQuCi1QQVNTIHdhc1Rocm90dGxlZCBpcyB0cnVlCi1UaW1lciBzaG91bGQgc3RpbGwgYmUgdGhy
b3R0bGVkIGJlZm9yZSBzY3JvbGxpbmcuCi1QQVNTIGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVk
KHRpbWVvdXRJZCkgaXMgdHJ1ZQotU2Nyb2xsaW5nIGVsZW1lbnQgaW50byB2aWV3LgotVGltZXIg
c2hvdWxkIG5vIGxvbmdlciBiZSB0aHJvdHRsZWQKLVBBU1MgaW50ZXJuYWxzLmlzVGltZXJUaHJv
dHRsZWQodGltZW91dElkKSBpcyBmYWxzZQotNnRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIHN0
aWxsIGJlIHVudGhyb3R0bGVkLgotUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1l
b3V0SWQpIGlzIGZhbHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLVRFU1QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVu
dGhyb3R0bGUtb24tc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS90aW1lci11bnRo
cm90dGxlLW9uLXNjcm9sbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmYz
NDdlYzc0NTA0OWEwNjI1NGJmNGU2NGE2ODU1ODcxZjc3ZTBkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpbWVyLXVu
dGhyb3R0bGUtb24tc2Nyb2xsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHdp
ZHRoOiAxNjAwcHg7IGhlaWdodDogMjQwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPgot
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDogNjAwcHg7IHRvcDogODAwcHg7
Ij4KLSAgICA8ZGl2IGlkPSJ0ZXN0RWxlbWVudCI+VEVTVDwvZGl2PgotICA8L2Rpdj4KLTwvZGl2
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgcmVwZWF0aW5nIHRpbWVyIGNo
YW5naW5nIHRoZSBzdHlsZSBvZiBhbiBlbGVtZW50IG91dHNpZGUgdmlld3BvcnQgZ2V0cyB1bnRo
cm90dGxlZCB3aGVuIHNjcm9sbGluZyB0aGUgZWxlbWVudCBpbnRvIHZpZXcuIik7Ci1qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLQotdmFyIHRlc3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3RFbGVtZW50Jyk7Ci12YXIgaXRlcmF0aW9uQ291bnQgPSAwOwotdmFyIHdhc1Rocm90
dGxlZCA9IGZhbHNlOwotdmFyIHdhc1Rocm90dGxlZEJlZm9yZVNjcm9sbCA9IGZhbHNlOwotdmFy
IHRpbWVvdXRJZDsKLQotZnVuY3Rpb24gc2Nyb2xsRWxlbWVudEludG9WaWV3KCkKLXsKLSAgZGVi
dWcoIjV0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBiZSB0aHJvdHRsZWQgYXMgdGhlIGVsZW1l
bnQgaXMgb3V0c2lkZSB0aGUgdmlld3BvcnQuIik7Ci0gIHNob3VsZEJlVHJ1ZSgid2FzVGhyb3R0
bGVkIik7Ci0KLSAgZGVidWcoIlRpbWVyIHNob3VsZCBzdGlsbCBiZSB0aHJvdHRsZWQgYmVmb3Jl
IHNjcm9sbGluZy4iKTsKLSAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNUaW1lclRocm90dGxl
ZCh0aW1lb3V0SWQpIik7Ci0KLSAgZGVidWcoIlNjcm9sbGluZyBlbGVtZW50IGludG8gdmlldy4i
KTsKLSAgd2luZG93LmludGVybmFscy5zY3JvbGxFbGVtZW50VG9SZWN0KHRlc3RFbGVtZW50LCAw
LCAwLCAzMDAsIDMwMCk7Ci0KLSAgZGVidWcoIlRpbWVyIHNob3VsZCBubyBsb25nZXIgYmUgdGhy
b3R0bGVkIik7Ci0gIHNob3VsZEJlRmFsc2UoImludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRp
bWVvdXRJZCkiKTsKLX0KLQotZnVuY3Rpb24gdGltZXJDYWxsYmFjaygpCi17Ci0gICsraXRlcmF0
aW9uQ291bnQ7Ci0gIC8vIENoYW5nZSB0aGUgc3R5bGUgb2YgdGhlIGVsZW1lbnQgd2hpbGUgaXQg
aXMgb3V0c2lkZSB2aWV3cG9ydC4KLSAgdGVzdEVsZW1lbnQuc3R5bGVbIm9wYWNpdHkiXSA9ICIi
ICsgKGl0ZXJhdGlvbkNvdW50IC8gMTAuKTsKLQotICAvLyA1IGl0ZXJhdGlvbnMgc2hvdWxkIGJl
IHN1ZmZpY2llbnQgdG8gdGhyb3R0bGUgdGhlIHRpbWVyLgotICBpZiAoaXRlcmF0aW9uQ291bnQg
PT0gNSkgewotICAgIC8vIERvIG5vdCB1c2Ugc2hvdWxkQmVUcnVlKCkgYmVjYXVzZSBpdCB3b3Vs
ZCBjYXVzZSBhIERPTSB0cmVlIG11dGF0aW9uCi0gICAgLy8gYW5kIHVudGhyb3R0bGUgdGhlIHRp
bWVyLgotICAgIHdhc1Rocm90dGxlZCA9IGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVv
dXRJZCk7Ci0gICAgc2V0VGltZW91dChzY3JvbGxFbGVtZW50SW50b1ZpZXcsIDApOwotICB9IGVs
c2UgaWYgKGl0ZXJhdGlvbkNvdW50ID09IDYpIHsKLSAgICBkZWJ1ZygiNnRoIGl0ZXJhdGlvbiwg
dGltZXIgc2hvdWxkIHN0aWxsIGJlIHVudGhyb3R0bGVkLiIpOwotICAgIHNob3VsZEJlRmFsc2Uo
ImludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkiKTsKLQotICAgIGNsZWFySW50
ZXJ2YWwodGltZW91dElkKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgfQotfQotCi10aW1lb3V0
SWQgPSBzZXRJbnRlcnZhbCh0aW1lckNhbGxiYWNrLCAwKTsKLXNob3VsZEJlRmFsc2UoImludGVy
bmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCkiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>