<?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>153036</bug_id>
          
          <creation_ts>2016-01-12 12:51:05 -0800</creation_ts>
          <short_desc>Web Inspector: Timelines UI redesign: remove navigation sidebar</short_desc>
          <delta_ts>2016-03-14 13:21:21 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>153035</dependson>
    
    <dependson>153032</dependson>
    
    <dependson>153033</dependson>
    
    <dependson>153034</dependson>
    
    <dependson>153532</dependson>
    
    <dependson>154954</dependson>
    
    <dependson>155318</dependson>
          <blocked>154920</blocked>
    
    <blocked>154924</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1154854</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-01-12 12:51:05 -0800</bug_when>
    <thetext>* SUMMARY
Remove the navigation sidebar from the Timelines tab.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155593</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-01-14 14:36:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/24195627&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155642</commentid>
    <comment_count>2</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2016-01-14 17:17:17 -0800</bug_when>
    <thetext>Are there any screenshots? At this point, it&apos;s hard for
me to picture how would it work without the sidebar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1155917</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-01-15 13:42:06 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Are there any screenshots? At this point, it&apos;s hard for
&gt; me to picture how would it work without the sidebar.

It won&apos;t work, until the issues this bug depends on are complete. I&apos;ll put up a screen shot soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173386</commentid>
    <comment_count>4</comment_count>
      <attachid>273633</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-03-10 15:12:32 -0800</bug_when>
    <thetext>Created attachment 273633
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173459</commentid>
    <comment_count>5</comment_count>
      <attachid>273633</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 16:49:05 -0800</bug_when>
    <thetext>Comment on attachment 273633
[Patch] Proposed Fix

Clearing flags on attachment: 273633

Committed r197974: &lt;http://trac.webkit.org/changeset/197974&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173460</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 16:49:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173471</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-10 16:59:02 -0800</bug_when>
    <thetext>*** Bug 154973 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174647</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-03-14 13:21:21 -0700</bug_when>
    <thetext>Looks like this didn&apos;t handle the HeapAllocationsTimelineView.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273633</attachid>
            <date>2016-03-10 15:12:32 -0800</date>
            <delta_ts>2016-03-10 16:49:05 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-153036-20160310151219.patch</filename>
            <type>text/plain</type>
            <size>73557</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3OTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
ZDhlOTEyODhlYWZiNGYzZTQ4MTU5MzU3OWZiYTExMTFjYmU2MTdlLi5iMWU0MDlhMDU0YzIxZTJi
NzdkZmFmYWUxZDIxMGQ2ZDRkYjdhZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNDMgQEAKIDIwMTYtMDMtMTAgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29t
PgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lcyBVSSByZWRlc2lnbjogcmVtb3Zl
IG5hdmlnYXRpb24gc2lkZWJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUzMDM2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDE5NTYyNz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIFRp
bWVsaW5lVmlldyBtZXRob2RzIHVzZWQgYnkgdGhlIHNpZGViYXIgdG8gc2V0dXAgdGhlIGNvbnRl
bnQgdHJlZQorICAgICAgICBvdXRsaW5lIGFuZCBoYW5kbGUgdHJlZSBlbGVtZW50IGV2ZW50cywg
d2hpY2ggYXJlIG5vIGxvbmdlciB1c2VkLiBUcmVlIGVsZW1lbnRzCisgICAgICAgIGFyZSBubyBs
b25nZXIgY3JlYXRlZCBieSBUaW1lbGluZVZpZXdzIGFzIHJlY29yZHMgYXJlIHByb2Nlc3NlZC4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICBSZW1vdmVkIGZp
bGVzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3KToKKyAgICAgICAg
UmVtb3ZlZCB0cmVlIG91dGxpbmUgZXZlbnQgbGlzdGVuZXJzIGFuZCBkYXRhIGdyaWQgcGFyYW1l
dGVyLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUu
X3Byb2Nlc3NQZW5kaW5nUmVjb3Jkcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGlt
ZWxpbmVWaWV3LnByb3RvdHlwZS5fZGF0YUdyaWRGaWx0ZXJzRGlkQ2hhbmdlKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLl9ob3ZlcmVkT3JTZWxl
Y3RlZFJlY29yZCk6CisgICAgICAgIEdldCByZWNvcmQgZnJvbSBkYXRhIGdyaWQgbm9kZSBpbnN0
ZWFkIG9mIHRyZWUgZWxlbWVudC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGlu
ZVZpZXcucHJvdG90eXBlLmdldCBuYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lTGFiZWwpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5
cGUuX21vdXNlT3ZlclRyZWVPdXRsaW5lKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLl9tb3VzZUxlYXZlVHJlZU91dGxpbmUpOiBE
ZWxldGVkLgorICAgICAgICBObyBsb25nZXIgbmVlZGVkLCBoaWdobGlnaHRpbmcgcGVyZm9ybWVk
IGJ5IGRhdGEgZ3JpZCBldmVudCBoYW5kbGVycy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk1lbW9y
eVRpbWVsaW5lVmlldy5wcm90b3R5cGUuZ2V0IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmVM
YWJlbCk6IERlbGV0ZWQuCisgICAgICAgIE5vIGxvbmdlciBuZWVkZWQuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZUZpbHRl
cik6IERlbGV0ZWQuCisgICAgICAgIFJlbW92ZWQgaGFjayB3aGljaCB3YXMgc3BlY2lmaWMgdG8g
VGltZWxpbmVTaWRlYmFyUGFuZWwuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05l
dHdvcmtUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVs
aW5lVmlldyk6CisgICAgICAgIFJlbW92ZWQgc2lkZWJhciBzdHlsZXMgYW5kIHRyZWUgb3V0bGlu
ZSBkYXRhIGdyaWQgcGFyYW1ldGVyLgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1l
bGluZVZpZXcucHJvdG90eXBlLl9wcm9jZXNzUGVuZGluZ1JlY29yZHMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZVZpZXcucHJvdG90eXBlLl9kYXRhR3JpZEZpbHRlcnNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZVZpZXcucHJv
dG90eXBlLmdldCBuYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lTGFiZWwpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVF
bGVtZW50U2VsZWN0ZWQpOiBEZWxldGVkLgorICAgICAgICBObyBsb25nZXIgbmVlZGVkLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldyk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcucHJvdG90eXBlLmdldCBzZWxlY3Rpb25QYXRo
Q29tcG9uZW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcu
cHJvdG90eXBlLmRhdGFHcmlkTm9kZVBhdGhDb21wb25lbnRTZWxlY3RlZCk6CisgICAgICAgIENy
ZWF0ZSBwYXRoIGNvbXBvbmVudHMgZnJvbSB0aGUgZ3JpZCBzZWxlY3Rpb24uIFRoaXMgc2hvdWxk
IGhhdmUgYmVlbgorICAgICAgICBpbmNsdWRlZCBpbiBodHRwczovL3dlYmtpdC5vcmcvYi8xNTQ5
NTQuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldy5wcm90b3R5
cGUuX2NvbXBhcmVEYXRhR3JpZE5vZGVzQnlTdGFydFRpbWUuZ2V0U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldy5wcm90b3R5cGUuX2NvbXBhcmVE
YXRhR3JpZE5vZGVzQnlTdGFydFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3
VGltZWxpbmVWaWV3LnByb3RvdHlwZS5faW5zZXJ0RGF0YUdyaWROb2RlKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldy5wcm90b3R5cGUuX2FkZFJlc291cmNlVG9E
YXRhR3JpZElmTmVlZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5l
Vmlldy5wcm90b3R5cGUuX2FkZFNvdXJjZUNvZGVUaW1lbGluZSk6CisgICAgICAgIFJlZmFjdG9y
ZWQgdG8gYWNjZXB0IGdyaWQgbm9kZXMgaW5zdGVhZCBvZiB0cmVlIGVsZW1lbnRzLgorCisgICAg
ICAgIChXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcucHJvdG90eXBlLl9wcm9jZXNz
UGVuZGluZ1JlcHJlc2VudGVkT2JqZWN0cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT3ZlcnZp
ZXdUaW1lbGluZVZpZXcucHJvdG90eXBlLmdldCBuYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5l
TGFiZWwpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVW
aWV3LnByb3RvdHlwZS5zaG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1l
bGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldy5wcm90b3R5
cGUuX2NvbXBhcmVUcmVlRWxlbWVudHNCeURldGFpbHMpOiBEZWxldGVkLgorICAgICAgICBOb3Qg
dXNlZCBhbnl3aGVyZS4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVW
aWV3LnByb3RvdHlwZS5fY29tcGFyZVRyZWVFbGVtZW50c0J5U3RhcnRUaW1lLmdldFN0YXJ0VGlt
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcu
cHJvdG90eXBlLl9jb21wYXJlVHJlZUVsZW1lbnRzQnlTdGFydFRpbWUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3LnByb3RvdHlwZS5faW5zZXJ0
VHJlZUVsZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGlt
ZWxpbmVWaWV3LnByb3RvdHlwZS5fYWRkUmVzb3VyY2VUb1RyZWVJZk5lZWRlZCk6IERlbGV0ZWQu
CisgICAgICAgIFJlaW1wbGVtZW50ZWQgYXMgX2NvbXBhcmVEYXRhR3JpZE5vZGVzQnlTdGFydFRp
bWUsIF9pbnNlcnREYXRhR3JpZE5vZGUgYW5kIF9hZGRSZXNvdXJjZVRvRGF0YUdyaWRJZk5lZWRl
ZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZp
ZXcpOgorICAgICAgICBSZW1vdmVkIHNpZGViYXIgc3R5bGVzIGFuZCB0cmVlIG91dGxpbmUgZGF0
YSBncmlkIHBhcmFtZXRlci4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1l
VGltZWxpbmVWaWV3LnByb3RvdHlwZS5nZXQgc2VsZWN0aW9uUGF0aENvbXBvbmVudHMpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZS5k
YXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50U2VsZWN0ZWQpOgorICAgICAgICBDcmVhdGUgcGF0aCBj
b21wb25lbnRzIGZyb20gdGhlIGdyaWQgc2VsZWN0aW9uLiBUaGlzIHNob3VsZCBoYXZlIGJlZW4K
KyAgICAgICAgaW5jbHVkZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL2IvMTU0OTU0LgorCisgICAg
ICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcucHJvdG90eXBlLl9w
cm9jZXNzUGVuZGluZ1JlY29yZHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0Zy
YW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZS5fc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlw
ZS5nZXQgbmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZUxhYmVsKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5wcm90b3R5cGUudHJl
ZUVsZW1lbnREZXNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRTZWxlY3RlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcu
cHJvdG90eXBlLnRyZWVFbGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkKTogRGVsZXRlZC4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0Q2x1c3RlclRpbWVsaW5lVmlldy5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRDbHVzdGVyVGltZWxpbmVWaWV3KToKKyAg
ICAgICAgRG9uJ3QgaG9sZCByZWZlcmVuY2UgdG8gZXh0cmFBcmd1bWVudHMsIGp1c3QgcGFzcyB0
byBzdWJ2aWV3cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWls
c1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHREZXRhaWxzVGlt
ZWxpbmVWaWV3KToKKyAgICAgICAgUmVtb3ZlZCBzaWRlYmFyIHN0eWxlcyBhbmQgdHJlZSBvdXRs
aW5lIGRhdGEgZ3JpZCBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RGV0
YWlsc1RpbWVsaW5lVmlldy5wcm90b3R5cGUuX3Byb2Nlc3NQZW5kaW5nUmVjb3Jkcyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5wcm90b3R5cGUuX2Rh
dGFHcmlkRmlsdGVyc0RpZENoYW5nZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RGV0
YWlsc1RpbWVsaW5lVmlldy5wcm90b3R5cGUuZ2V0IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxp
bmVMYWJlbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWlsc1Rp
bWVsaW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRTZWxlY3RlZCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5wcm90b3R5cGUuZGF0
YUdyaWROb2RlRm9yVHJlZUVsZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcucHJvdG90eXBlLnBvcHVsYXRlUHJvZmlsZU5vZGVU
cmVlRWxlbWVudCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lRGF0YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3Jp
ZC5wcm90b3R5cGUuYWRkUm93SW5Tb3J0T3JkZXIpOgorICAgICAgICBGaXhlZCBmYWlsdXJlIHdo
ZW4gdHJlZUVsZW1lbnQgYW5kIHBhcmVudFRyZWVFbGVtZW50T3JEYXRhR3JpZE5vZGUgYXJlIGJv
dGggbnVsbC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRp
bmdDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3KToKKyAgICAgICAgUmVtb3ZlZCBleHRyYUFyZ3VtZW50cyBhbmQgc2lkZWJh
ciBwYW5lbCByZWZlcmVuY2VzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcucHJvdG90eXBlLmNvbnRlbnRCcm93c2VyVHJlZUVsZW1lbnRGb3JSZXBy
ZXNlbnRlZE9iamVjdCk6CisgICAgICAgIFVzZSBpY29uIHN0eWxlIGZyb20gdGhlIHRhYiwgaW5z
dGVhZCBvZiB0aGUgc2lkZWJhci4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fY3VycmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlKToK
KyAgICAgICAgUmVtb3ZlZCB1cGRhdGVzIHRvIHRoZSBzaWRlYmFyLgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9wYXRoQ29tcG9u
ZW50U2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcucHJvdG90eXBlLl91cGRhdGVUaW1lcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2luc3RydW1lbnRBZGRlZCk6
CisgICAgICAgIFJlbW92ZWQgc2lkZWJhciByZWZlcmVuY2Ugd2hlbiBjcmVhdGluZyBuZXcgVGlt
ZWxpbmVWaWV3cy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRl
bnRWaWV3LnByb3RvdHlwZS5fdGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCk6CisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmNzczogUmVtb3ZlZC4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVRhYkNvbnRlbnRWaWV3KToKKyAgICAg
ICAgUmVtb3ZlZCBoaWRkZW4gc2lkZWJhciBGSVhNRS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5fYWRkUmVjb3JkaW5nKToKKyAgICAgICAg
TmV3IGxvY2F0aW9uIGZvciBzaWRlYmFyIHN0eWxlIGNsYXNzIGNvbnN0YW50IFN0b3B3YXRjaElj
b25TdHlsZUNsYXNzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZp
ZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLmdldCBuYXZpZ2F0aW9uSXRlbXMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUuZ2V0
IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUuZ2V0IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91
dGxpbmVMYWJlbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3
LnByb3RvdHlwZS5nZXQgdGltZWxpbmVTaWRlYmFyUGFuZWwpOiBEZWxldGVkLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRQYXRoQ29tcG9u
ZW50U2VsZWN0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmll
dy5wcm90b3R5cGUudHJlZUVsZW1lbnREZXNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50U2VsZWN0ZWQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3Ry
ZWVTZWxlY3Rpb25EaWRDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICBTaWRlYmFyIGxvZ2ljIGZv
ciBwYW5lbCBhbmQgY29udGVudCB0cmVlIG91dGxpbmUgcmVtb3ZlZC4KKworMjAxNi0wMy0xMCAg
TWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogVHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplciBzaG91bGQgYmUgb3B0aW9uYWwgaW4g
VGltZWxpbmVEYXRhR3JpZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU1MzE4CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNTA5MTk0OT4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRleCA5ZTI3Nzkx
ZmMzOWM5MmZhZWI1ZTdiY2I1NWU1ODUxNGJkYjFmMDVmLi43NjFjMTZlN2E5NGNmNzljZjgwMWM1
ZWE4ODllNzM4NDY1OTRlYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTWFpbi5odG1sCkBAIC0xNjgsNyArMTY4LDYgQEAKICAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9IlZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuY3NzIj4KICAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcu
Y3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1RpbWVsaW5lUnVs
ZXIuY3NzIj4KLSAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1RpbWVsaW5l
U2lkZWJhclBhbmVsLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3
cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJWaWV3cy9UaW1lbGluZVZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9IlZpZXdzL1Rvb2xiYXIuY3NzIj4KQEAgLTYxOSw3ICs2MTgsNiBAQAogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1RpbWVsaW5lUnVsZXIuanMiPjwvc2NyaXB0Pgot
ICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1RvZ2dsZUJ1dHRvbk5hdmlnYXRpb25JdGVtLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvVG9nZ2xlQ29udHJvbFRvb2xiYXJJdGVt
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvVG9vbGJhci5qcyI+PC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXlvdXRUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKaW5kZXggNzZjODU1YzgyYzVhODg5NWYx
ZjA1N2UxYTg0ZjU2OTNjM2JhZjM0MC4uMzI1YzQxYmViNTAxMDEwNmYxMjFhMTAyNjc2NzY3MzY3
YjJiN2M1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTGF5b3V0VGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lVmlldy5qcwpAQCAtMzEsOCArMzEsNiBA
QCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3ID0gY2xhc3MgTGF5b3V0VGltZWxpbmVW
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVs
aW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLkxheW91dCwgdGlt
ZWxpbmUpOwogCi0gICAgICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZS5lbGVt
ZW50LmNsYXNzTGlzdC5hZGQoImxheW91dCIpOwotCiAgICAgICAgIGxldCBjb2x1bW5zID0ge25h
bWU6IHt9LCBsb2NhdGlvbjoge30sIHdpZHRoOiB7fSwgaGVpZ2h0OiB7fSwgc3RhcnRUaW1lOiB7
fSwgdG90YWxUaW1lOiB7fX07CiAKICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlID0gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJUeXBlIik7CkBAIC03MCw3ICs2OCw3IEBAIFdlYkluc3BlY3Rvci5M
YXlvdXRUaW1lbGluZVZpZXcgPSBjbGFzcyBMYXlvdXRUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuCiAgICAgICAgIGZvciAodmFyIGNvbHVtbiBpbiBjb2x1bW5zKQogICAgICAgICAg
ICAgY29sdW1uc1tjb2x1bW5dLnNvcnRhYmxlID0gdHJ1ZTsKIAotICAgICAgICB0aGlzLl9kYXRh
R3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVEYXRhR3JpZCh0aGlzLm5hdmln
YXRpb25TaWRlYmFyVHJlZU91dGxpbmUsIGNvbHVtbnMpOworICAgICAgICB0aGlzLl9kYXRhR3Jp
ZCA9IG5ldyBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVEYXRhR3JpZChudWxsLCBjb2x1bW5z
KTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
VGltZWxpbmVEYXRhR3JpZC5FdmVudC5GaWx0ZXJzRGlkQ2hhbmdlLCB0aGlzLl9kYXRhR3JpZEZp
bHRlcnNEaWRDaGFuZ2UsIHRoaXMpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudC5TZWxlY3RlZE5vZGVDaGFuZ2VkLCB0
aGlzLl9kYXRhR3JpZE5vZGVTZWxlY3RlZCwgdGhpcyk7CiAKQEAgLTg0LDggKzgyLDYgQEAgV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldyA9IGNsYXNzIExheW91dFRpbWVsaW5lVmlldyBl
eHRlbmRzIFdlYkluc3BlY3Rvci4KIAogICAgICAgICB0aGlzLl9kYXRhR3JpZC5lbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsIHRoaXMuX21vdXNlT3ZlckRhdGFHcmlkLmJpbmQo
dGhpcykpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNlbGVhdmUiLCB0aGlzLl9tb3VzZUxlYXZlRGF0YUdyaWQuYmluZCh0aGlzKSk7Ci0gICAg
ICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZS5lbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoIm1vdXNlb3ZlciIsIHRoaXMuX21vdXNlT3ZlclRyZWVPdXRsaW5lLmJpbmQodGhpcykp
OwotICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUuZWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwgdGhpcy5fbW91c2VMZWF2ZVRyZWVPdXRsaW5lLmJp
bmQodGhpcykpOwogCiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJsYXlvdXQi
KTsKICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2RhdGFHcmlkKTsKQEAgLTk3LDExICs5
Myw2IEBAIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZpZXcgPSBjbGFzcyBMYXlvdXRUaW1l
bGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAKICAgICAvLyBQdWJsaWMKIAotICAgIGdl
dCBuYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lTGFiZWwoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVjb3JkcyIpOwotICAgIH0KLQogICAgIGdldCBz
ZWxlY3Rpb25QYXRoQ29tcG9uZW50cygpCiAgICAgewogICAgICAgICBsZXQgZGF0YUdyaWROb2Rl
ID0gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlOwpAQCAtMjEzLDI5ICsyMDQsMjcgQEAgV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldyA9IGNsYXNzIExheW91dFRpbWVsaW5lVmlldyBl
eHRlbmRzIFdlYkluc3BlY3Rvci4KICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBmb3Ig
KHZhciBsYXlvdXRUaW1lbGluZVJlY29yZCBvZiB0aGlzLl9wZW5kaW5nUmVjb3JkcykgewotICAg
ICAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50KGxheW91dFRpbWVsaW5lUmVjb3JkLCBXZWJJbnNwZWN0b3IuU291cmNlQ29k
ZUxvY2F0aW9uLk5hbWVTdHlsZS5TaG9ydCk7Ci0gICAgICAgICAgICB2YXIgZGF0YUdyaWROb2Rl
ID0gbmV3IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZShsYXlvdXRUaW1l
bGluZVJlY29yZCwgdGhpcy56ZXJvVGltZSk7CisgICAgICAgICAgICBsZXQgZGF0YUdyaWROb2Rl
ID0gbmV3IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZShsYXlvdXRUaW1l
bGluZVJlY29yZCwgdGhpcy56ZXJvVGltZSk7CiAKLSAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlk
LmFkZFJvd0luU29ydE9yZGVyKHRyZWVFbGVtZW50LCBkYXRhR3JpZE5vZGUpOworICAgICAgICAg
ICAgdGhpcy5fZGF0YUdyaWQuYWRkUm93SW5Tb3J0T3JkZXIobnVsbCwgZGF0YUdyaWROb2RlKTsK
IAotICAgICAgICAgICAgdmFyIHN0YWNrID0gW3tjaGlsZHJlbjogbGF5b3V0VGltZWxpbmVSZWNv
cmQuY2hpbGRyZW4sIHBhcmVudFRyZWVFbGVtZW50OiB0cmVlRWxlbWVudCwgaW5kZXg6IDB9XTsK
KyAgICAgICAgICAgIGxldCBzdGFjayA9IFt7Y2hpbGRyZW46IGxheW91dFRpbWVsaW5lUmVjb3Jk
LmNoaWxkcmVuLCBwYXJlbnREYXRhR3JpZE5vZGU6IGRhdGFHcmlkTm9kZSwgaW5kZXg6IDB9XTsK
ICAgICAgICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICB2YXIg
ZW50cnkgPSBzdGFjay5sYXN0VmFsdWU7CisgICAgICAgICAgICAgICAgbGV0IGVudHJ5ID0gc3Rh
Y2subGFzdFZhbHVlOwogICAgICAgICAgICAgICAgIGlmIChlbnRyeS5pbmRleCA+PSBlbnRyeS5j
aGlsZHJlbi5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgc3RhY2sucG9wKCk7CiAgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgICAgIHZhciBjaGlsZFJlY29yZCA9IGVudHJ5LmNoaWxkcmVuW2VudHJ5LmluZGV4XTsKKyAg
ICAgICAgICAgICAgICBsZXQgY2hpbGRSZWNvcmQgPSBlbnRyeS5jaGlsZHJlbltlbnRyeS5pbmRl
eF07CiAgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoY2hpbGRSZWNvcmQudHlwZSA9PT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0LCBjaGlsZFJlY29yZCk7CiAK
LSAgICAgICAgICAgICAgICB2YXIgY2hpbGRUcmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudChjaGlsZFJlY29yZCwgV2ViSW5zcGVjdG9yLlNvdXJj
ZUNvZGVMb2NhdGlvbi5OYW1lU3R5bGUuU2hvcnQpOwotICAgICAgICAgICAgICAgIHZhciBsYXlv
dXREYXRhR3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWRO
b2RlKGNoaWxkUmVjb3JkLCB0aGlzLnplcm9UaW1lKTsKLSAgICAgICAgICAgICAgICBjb25zb2xl
LmFzc2VydChlbnRyeS5wYXJlbnRUcmVlRWxlbWVudCwgImVudHJ5IHdpdGhvdXQgcGFyZW50ISIp
OwotICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9yZGVyKGNoaWxk
VHJlZUVsZW1lbnQsIGxheW91dERhdGFHcmlkTm9kZSwgZW50cnkucGFyZW50VHJlZUVsZW1lbnQp
OworICAgICAgICAgICAgICAgIGxldCBjaGlsZERhdGFHcmlkTm9kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUoY2hpbGRSZWNvcmQsIHRoaXMuemVyb1RpbWUp
OworICAgICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGVudHJ5LnBhcmVudERhdGFHcmlkTm9k
ZSwgImVudHJ5IHdpdGhvdXQgcGFyZW50ISIpOworICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFH
cmlkLmFkZFJvd0luU29ydE9yZGVyKG51bGwsIGNoaWxkRGF0YUdyaWROb2RlLCBlbnRyeS5wYXJl
bnREYXRhR3JpZE5vZGUpOwogCi0gICAgICAgICAgICAgICAgaWYgKGNoaWxkVHJlZUVsZW1lbnQg
JiYgY2hpbGRSZWNvcmQuY2hpbGRyZW4ubGVuZ3RoKQotICAgICAgICAgICAgICAgICAgICBzdGFj
ay5wdXNoKHtjaGlsZHJlbjogY2hpbGRSZWNvcmQuY2hpbGRyZW4sIHBhcmVudFRyZWVFbGVtZW50
OiBjaGlsZFRyZWVFbGVtZW50LCBpbmRleDogMH0pOworICAgICAgICAgICAgICAgIGlmIChjaGls
ZERhdGFHcmlkTm9kZSAmJiBjaGlsZFJlY29yZC5jaGlsZHJlbi5sZW5ndGgpCisgICAgICAgICAg
ICAgICAgICAgIHN0YWNrLnB1c2goe2NoaWxkcmVuOiBjaGlsZFJlY29yZC5jaGlsZHJlbiwgcGFy
ZW50RGF0YUdyaWROb2RlOiBjaGlsZERhdGFHcmlkTm9kZSwgaW5kZXg6IDB9KTsKICAgICAgICAg
ICAgICAgICArK2VudHJ5LmluZGV4OwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0yNTks
NyArMjQ4LDcgQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldyA9IGNsYXNzIExheW91
dFRpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci4KIAogICAgIF9kYXRhR3JpZEZpbHRl
cnNEaWRDaGFuZ2UoZXZlbnQpCiAgICAgewotICAgICAgICB0aGlzLnRpbWVsaW5lU2lkZWJhclBh
bmVsLnVwZGF0ZUZpbHRlcigpOworICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE1NDkyND4gV2ViIEluc3BlY3RvcjogaG9vayB1cCBncmlkIHJvdyBmaWx0ZXJpbmcgaW4g
dGhlIG5ldyBUaW1lbGluZXMgVUkKICAgICB9CiAKICAgICBfZGF0YUdyaWROb2RlU2VsZWN0ZWQo
ZXZlbnQpCkBAIC0zMTcsMTQgKzMwNiw4IEBAIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZp
ZXcgPSBjbGFzcyBMYXlvdXRUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAg
ICAgIGlmICh0aGlzLl9ob3ZlcmVkRGF0YUdyaWROb2RlKQogICAgICAgICAgICAgcmV0dXJuIHRo
aXMuX2hvdmVyZWREYXRhR3JpZE5vZGUucmVjb3JkOwogCi0gICAgICAgIGlmICh0aGlzLl9ob3Zl
cmVkVHJlZUVsZW1lbnQpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy5faG92ZXJlZFRyZWVFbGVt
ZW50LnJlY29yZDsKLQotICAgICAgICBpZiAodGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlKSB7
Ci0gICAgICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLl9kYXRhR3JpZC50cmVlRWxlbWVu
dEZvckRhdGFHcmlkTm9kZSh0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUpOwotICAgICAgICAg
ICAgaWYgKHRyZWVFbGVtZW50LnJldmVhbGVkKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRo
aXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZS5yZWNvcmQ7Ci0gICAgICAgIH0KKyAgICAgICAgaWYg
KHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZSAmJiB0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5v
ZGUucmV2ZWFsZWQpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWRO
b2RlLnJlY29yZDsKIAogICAgICAgICByZXR1cm4gbnVsbDsKICAgICB9CkBAIC0zNDQsMjAgKzMy
Nyw0IEBAIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZpZXcgPSBjbGFzcyBMYXlvdXRUaW1l
bGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAgIHRoaXMuX2hvdmVyZWREYXRh
R3JpZE5vZGUgPSBudWxsOwogICAgICAgICB0aGlzLl91cGRhdGVIaWdobGlnaHQoKTsKICAgICB9
Ci0KLSAgICBfbW91c2VPdmVyVHJlZU91dGxpbmUoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIg
aG92ZXJlZFRyZWVFbGVtZW50ID0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLnRy
ZWVFbGVtZW50RnJvbU5vZGUoZXZlbnQudGFyZ2V0KTsKLSAgICAgICAgaWYgKCFob3ZlcmVkVHJl
ZUVsZW1lbnQpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5faG92ZXJlZFRy
ZWVFbGVtZW50ID0gaG92ZXJlZFRyZWVFbGVtZW50OwotICAgICAgICB0aGlzLl91cGRhdGVIaWdo
bGlnaHQoKTsKLSAgICB9Ci0KLSAgICBfbW91c2VMZWF2ZVRyZWVPdXRsaW5lKGV2ZW50KQotICAg
IHsKLSAgICAgICAgdGhpcy5faG92ZXJlZFRyZWVFbGVtZW50ID0gbnVsbDsKLSAgICAgICAgdGhp
cy5fdXBkYXRlSGlnaGxpZ2h0KCk7Ci0gICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmll
dy5qcwppbmRleCA2MzMyZjAxYmNiNjk5M2Q5YzUzMjhmZTZlYjRmMGNkNzgyOGQ3YTViLi4yMTU0
NWI3NDRmMTg2N2QyZWNhYThlMjQ1MzM1M2NiNDJiODI2YmZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGlt
ZWxpbmVWaWV3LmpzCkBAIC0xMTEsMTEgKzExMSw2IEBAIFdlYkluc3BlY3Rvci5NZW1vcnlUaW1l
bGluZVZpZXcgPSBjbGFzcyBNZW1vcnlUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
CiAKICAgICAvLyBQdWJsaWMKIAotICAgIGdldCBuYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5l
TGFiZWwoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVj
b3JkcyIpOwotICAgIH0KLQogICAgIHNob3duKCkKICAgICB7CiAgICAgICAgIHN1cGVyLnNob3du
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwppbmRleCBhNjQyMGRmYzMy
ZGE0ODIwZWZkM2RkMWU4OWEwYzIyMzE5YmZlNWI1Li4wOTU4YThiYzVmZDVmMWQwMWY2M2YyOTUz
NTIyZDEwM2FmMjM5ZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMK
QEAgLTYwOSwxNCArNjA5LDYgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwg
PSBjbGFzcyBOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW4KIAogICAgICAgICB0
aGlzLl9jaGVja0ZvckVtcHR5RmlsdGVyUmVzdWx0cygpOwogICAgICAgICB0aGlzLl91cGRhdGVD
b250ZW50T3ZlcmZsb3dTaGFkb3dWaXNpYmlsaXR5KCk7Ci0KLSAgICAgICAgLy8gRmlsdGVyIG1h
eSBoYXZlIGhpZGRlbiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2UgaW4gdGhlIHRpbWVsaW5lIHZpZXcs
IHdoaWNoIHNob3VsZCBub3cgbm90aWZ5IGl0cyBsaXN0ZW5lcnMuCi0gICAgICAgIC8vIEZJWE1F
OiBUaGlzIGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLiBUaGlzIHNob3VsZCBhdCBsZWFzdCBiZSBp
biBUaW1lbGluZVNpZGViYXJQYW5lbC4KLSAgICAgICAgaWYgKHNlbGVjdGVkVHJlZUVsZW1lbnQg
JiYgc2VsZWN0ZWRUcmVlRWxlbWVudC5oaWRkZW4gIT09IHNlbGVjdGlvbldhc0hpZGRlbikgewot
ICAgICAgICAgICAgdmFyIGN1cnJlbnRDb250ZW50VmlldyA9IHRoaXMuY29udGVudEJyb3dzZXIu
Y3VycmVudENvbnRlbnRWaWV3OwotICAgICAgICAgICAgaWYgKGN1cnJlbnRDb250ZW50VmlldyBp
bnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ICYmIHR5
cGVvZiBjdXJyZW50Q29udGVudFZpZXcuY3VycmVudFRpbWVsaW5lVmlldy5maWx0ZXJVcGRhdGVk
ID09PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgICAgIGN1cnJlbnRDb250ZW50Vmlldy5jdXJy
ZW50VGltZWxpbmVWaWV3LmZpbHRlclVwZGF0ZWQoKTsKLSAgICAgICAgfQogICAgIH0KIAogICAg
IF90cmVlRWxlbWVudEFkZGVkT3JDaGFuZ2VkKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGlu
ZVZpZXcuanMKaW5kZXggYmVhYmE4MjUyYjQ0YjUzOWEyNTU1NjE4NjQ5NjIzMTM1MjE1NTYzNy4u
ZDRiM2EyMjY0NDQ3OGUwZjRiNmViNTdhZmQ4YzMzZGRlMjBmNTk5YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmll
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3
b3JrVGltZWxpbmVWaWV3LmpzCkBAIC0zMSw5ICszMSw2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3Jr
VGltZWxpbmVWaWV3ID0gY2xhc3MgTmV0d29ya1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3Bl
Y3RvCiAKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUudHlwZSA9PT0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTmV0d29yayk7CiAKLSAgICAgICAgdGhpcy5uYXZpZ2F0
aW9uU2lkZWJhclRyZWVPdXRsaW5lLmRpc2Nsb3N1cmVCdXR0b25zID0gZmFsc2U7Ci0gICAgICAg
IHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZS5lbGVtZW50LmNsYXNzTGlzdC5hZGQo
Im5ldHdvcmsiKTsKLQogICAgICAgICBsZXQgY29sdW1ucyA9IHtuYW1lOiB7fSwgZG9tYWluOiB7
fSwgdHlwZToge30sIG1ldGhvZDoge30sIHNjaGVtZToge30sIHN0YXR1c0NvZGU6IHt9LCBjYWNo
ZWQ6IHt9LCBzaXplOiB7fSwgdHJhbnNmZXJTaXplOiB7fSwgcmVxdWVzdFNlbnQ6IHt9LCBsYXRl
bmN5OiB7fSwgZHVyYXRpb246IHt9fTsKIAogICAgICAgICBjb2x1bW5zLm5hbWUudGl0bGUgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5hbWUiKTsKQEAgLTkwLDcgKzg3LDcgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtUaW1lbGluZVZpZXcgPSBjbGFzcyBOZXR3b3JrVGltZWxpbmVWaWV3IGV4dGVu
ZHMgV2ViSW5zcGVjdG8KICAgICAgICAgZm9yICh2YXIgY29sdW1uIGluIGNvbHVtbnMpCiAgICAg
ICAgICAgICBjb2x1bW5zW2NvbHVtbl0uc29ydGFibGUgPSB0cnVlOwogCi0gICAgICAgIHRoaXMu
X2RhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkKHRoaXMubmF2aWdh
dGlvblNpZGViYXJUcmVlT3V0bGluZSwgY29sdW1ucyk7CisgICAgICAgIHRoaXMuX2RhdGFHcmlk
ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkKG51bGwsIGNvbHVtbnMpOwogICAg
ICAgICB0aGlzLl9kYXRhR3JpZC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZURhdGFHcmlkLkV2ZW50LkZpbHRlcnNEaWRDaGFuZ2UsIHRoaXMuX2RhdGFHcmlkRmlsdGVyc0Rp
ZENoYW5nZSwgdGhpcyk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50LlNlbGVjdGVkTm9kZUNoYW5nZWQsIHRoaXMuX2Rh
dGFHcmlkTm9kZVNlbGVjdGVkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuc29ydENv
bHVtbklkZW50aWZpZXJTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJuZXR3b3Jr
LXRpbWVsaW5lLXZpZXctc29ydCIsICJyZXF1ZXN0U2VudCIpOwpAQCAtMTAyLDE1ICs5OSwxMSBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lVmlldyA9IGNsYXNzIE5ldHdvcmtUaW1lbGlu
ZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0bwogICAgICAgICB0aW1lbGluZS5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhpcy5fbmV0d29y
a1RpbWVsaW5lUmVjb3JkQWRkZWQsIHRoaXMpOwogCiAgICAgICAgIHRoaXMuX3BlbmRpbmdSZWNv
cmRzID0gW107CisgICAgICAgIHRoaXMuX3Jlc291cmNlRGF0YUdyaWROb2RlTWFwID0gbmV3IE1h
cDsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKIAotICAgIGdldCBuYXZpZ2F0aW9uU2lkZWJhclRy
ZWVPdXRsaW5lTGFiZWwoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0
cmluZygiUmVzb3VyY2VzIik7Ci0gICAgfQotCiAgICAgZ2V0IHNlbGVjdGlvblBhdGhDb21wb25l
bnRzKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlIHx8
IHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZS5oaWRkZW4pCkBAIC0xODksMTQgKzE4Miw2IEBA
IFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3ID0gY2xhc3MgTmV0d29ya1RpbWVsaW5l
VmlldyBleHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAgIGRhdGFHcmlkTm9kZS5yZXZlYWxBbmRT
ZWxlY3QoKTsKICAgICB9CiAKLSAgICB0cmVlRWxlbWVudFNlbGVjdGVkKHRyZWVFbGVtZW50LCBz
ZWxlY3RlZEJ5VXNlcikKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9kYXRhR3JpZC5zaG91bGRJ
Z25vcmVTZWxlY3Rpb25FdmVudCgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHN1
cGVyLnRyZWVFbGVtZW50U2VsZWN0ZWQodHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKTsKLSAg
ICB9Ci0KICAgICBsYXlvdXQoKQogICAgIHsKICAgICAgICAgdGhpcy5fcHJvY2Vzc1BlbmRpbmdS
ZWNvcmRzKCk7CkBAIC0yMDksMTYgKzE5NCwxNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVs
aW5lVmlldyA9IGNsYXNzIE5ldHdvcmtUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0bwog
ICAgICAgICBpZiAoIXRoaXMuX3BlbmRpbmdSZWNvcmRzLmxlbmd0aCkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBmb3IgKHZhciByZXNvdXJjZVRpbWVsaW5lUmVjb3JkIG9mIHRoaXMu
X3BlbmRpbmdSZWNvcmRzKSB7Ci0gICAgICAgICAgICAvLyBTa2lwIHRoZSByZWNvcmQgaWYgaXQg
YWxyZWFkeSBleGlzdHMgaW4gdGhlIHRyZWUuCi0gICAgICAgICAgICB2YXIgdHJlZUVsZW1lbnQg
PSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUuZmluZFRyZWVFbGVtZW50KHJlc291
cmNlVGltZWxpbmVSZWNvcmQucmVzb3VyY2UpOwotICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50
KQorICAgICAgICBmb3IgKGxldCByZXNvdXJjZVRpbWVsaW5lUmVjb3JkIG9mIHRoaXMuX3BlbmRp
bmdSZWNvcmRzKSB7CisgICAgICAgICAgICAvLyBTa2lwIHRoZSByZWNvcmQgaWYgaXQgYWxyZWFk
eSBleGlzdHMgaW4gdGhlIGdyaWQuCisgICAgICAgICAgICAvLyBGSVhNRTogcmVwbGFjZSB3aXRo
IHRoaXMuX2RhdGFHcmlkLmZpbmREYXRhR3JpZE5vZGUocmVzb3VyY2VUaW1lbGluZVJlY29yZC5y
ZXNvdXJjZSkgb25jZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU1MzA1PiBpcyBmaXhlZC4KKyAg
ICAgICAgICAgIGxldCBkYXRhR3JpZE5vZGUgPSB0aGlzLl9yZXNvdXJjZURhdGFHcmlkTm9kZU1h
cC5nZXQocmVzb3VyY2VUaW1lbGluZVJlY29yZC5yZXNvdXJjZSk7CisgICAgICAgICAgICBpZiAo
ZGF0YUdyaWROb2RlKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICB0
cmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudChyZXNvdXJj
ZVRpbWVsaW5lUmVjb3JkLnJlc291cmNlKTsKLSAgICAgICAgICAgIHZhciBkYXRhR3JpZE5vZGUg
PSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUocmVzb3VyY2VU
aW1lbGluZVJlY29yZCwgZmFsc2UsIHRoaXMpOworICAgICAgICAgICAgZGF0YUdyaWROb2RlID0g
bmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlKHJlc291cmNlVGlt
ZWxpbmVSZWNvcmQsIGZhbHNlLCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuX3Jlc291cmNlRGF0
YUdyaWROb2RlTWFwLnNldChyZXNvdXJjZVRpbWVsaW5lUmVjb3JkLnJlc291cmNlLCBkYXRhR3Jp
ZE5vZGUpOwogCi0gICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRSb3dJblNvcnRPcmRlcih0
cmVlRWxlbWVudCwgZGF0YUdyaWROb2RlKTsKKyAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFk
ZFJvd0luU29ydE9yZGVyKG51bGwsIGRhdGFHcmlkTm9kZSk7CiAgICAgICAgIH0KIAogICAgICAg
ICB0aGlzLl9wZW5kaW5nUmVjb3JkcyA9IFtdOwpAQCAtMjM2LDcgKzIyMiw3IEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3ID0gY2xhc3MgTmV0d29ya1RpbWVsaW5lVmlldyBleHRl
bmRzIFdlYkluc3BlY3RvCiAKICAgICBfZGF0YUdyaWRGaWx0ZXJzRGlkQ2hhbmdlKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgdGhpcy50aW1lbGluZVNpZGViYXJQYW5lbC51cGRhdGVGaWx0ZXIoKTsK
KyAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTQ5MjQ+IFdlYiBJbnNw
ZWN0b3I6IGhvb2sgdXAgZ3JpZCByb3cgZmlsdGVyaW5nIGluIHRoZSBuZXcgVGltZWxpbmVzIFVJ
CiAgICAgfQogCiAgICAgX2RhdGFHcmlkTm9kZVNlbGVjdGVkKGV2ZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3ZlcnZpZXdUaW1lbGlu
ZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVy
dmlld1RpbWVsaW5lVmlldy5qcwppbmRleCBlNmExMmJjMjEwN2VkNGRlZmI3NTgyMTljNzdlMzU2
YjNkM2I3ZWI4Li5hOGJmNTJmNzRlNGFjMDQ0MTE3NmJjNjhjOTJjODcwY2MyZmQ0MzZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmll
d1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcwpAQCAtNDcsOCArNDcsNiBAQCBXZWJJbnNw
ZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcgPSBjbGFzcyBPdmVydmlld1RpbWVsaW5lVmlldyBl
eHRlbmRzIFdlYkluc3BlYwogICAgICAgICB0aGlzLl9kYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0
b3IuRGF0YUdyaWQoY29sdW1ucyk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50LlNlbGVjdGVkTm9kZUNoYW5nZWQsIHRo
aXMuX2RhdGFHcmlkTm9kZVNlbGVjdGVkLCB0aGlzKTsKIAotICAgICAgICB0aGlzLl90cmVlT3V0
bGluZURhdGFHcmlkU3luY2hyb25pemVyID0gbmV3IFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZURh
dGFHcmlkU3luY2hyb25pemVyKHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZSwgdGhp
cy5fZGF0YUdyaWQpOwotCiAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lTWFya2VyID0gbmV3IFdl
Ykluc3BlY3Rvci5UaW1lbGluZU1hcmtlcigwLCBXZWJJbnNwZWN0b3IuVGltZWxpbmVNYXJrZXIu
VHlwZS5DdXJyZW50VGltZSk7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuYWRkTWFya2Vy
KHRoaXMuX2N1cnJlbnRUaW1lTWFya2VyKTsKIApAQCAtNjMsMTUgKzYxLDExIEBAIFdlYkluc3Bl
Y3Rvci5PdmVydmlld1RpbWVsaW5lVmlldyA9IGNsYXNzIE92ZXJ2aWV3VGltZWxpbmVWaWV3IGV4
dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIHJlY29yZGluZy5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZGluZy5FdmVudC5SZXNldCwgdGhpcy5fcmVjb3JkaW5nUmVz
ZXQsIHRoaXMpOwogCiAgICAgICAgIHRoaXMuX3BlbmRpbmdSZXByZXNlbnRlZE9iamVjdHMgPSBb
XTsKKyAgICAgICAgdGhpcy5fcmVzb3VyY2VEYXRhR3JpZE5vZGVNYXAgPSBuZXcgTWFwOwogICAg
IH0KIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxp
bmVMYWJlbCgpCi0gICAgewotICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJU
aW1lbGluZSBFdmVudHMiKTsKLSAgICB9Ci0KICAgICBnZXQgc2Vjb25kc1BlclBpeGVsKCkKICAg
ICB7CiAgICAgICAgIHJldHVybiB0aGlzLl90aW1lbGluZVJ1bGVyLnNlY29uZHNQZXJQaXhlbDsK
QEAgLTg2LDcgKzgwLDYgQEAgV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3ID0gY2xh
c3MgT3ZlcnZpZXdUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICB7CiAgICAgICAg
IHN1cGVyLnNob3duKCk7CiAKLSAgICAgICAgdGhpcy5fdHJlZU91dGxpbmVEYXRhR3JpZFN5bmNo
cm9uaXplci5zeW5jaHJvbml6ZSgpOwogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0
ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKICAgICB9CiAK
QEAgLTk4LDIzICs5MSwxOSBAQCBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcgPSBj
bGFzcyBPdmVydmlld1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgZ2V0IHNl
bGVjdGlvblBhdGhDb21wb25lbnRzKCkKICAgICB7Ci0gICAgICAgIHZhciBkYXRhR3JpZE5vZGUg
PSB0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGU7Ci0gICAgICAgIGlmICghZGF0YUdyaWROb2Rl
KQorICAgICAgICBsZXQgZGF0YUdyaWROb2RlID0gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2Rl
OworICAgICAgICBpZiAoIWRhdGFHcmlkTm9kZSB8fCBkYXRhR3JpZE5vZGUuaGlkZGVuKQogICAg
ICAgICAgICAgcmV0dXJuIG51bGw7CiAKLSAgICAgICAgdmFyIHBhdGhDb21wb25lbnRzID0gW107
CisgICAgICAgIGxldCBwYXRoQ29tcG9uZW50cyA9IFtdOwogCiAgICAgICAgIHdoaWxlIChkYXRh
R3JpZE5vZGUgJiYgIWRhdGFHcmlkTm9kZS5yb290KSB7Ci0gICAgICAgICAgICB2YXIgdHJlZUVs
ZW1lbnQgPSB0aGlzLl90cmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25pemVyLnRyZWVFbGVtZW50
Rm9yRGF0YUdyaWROb2RlKGRhdGFHcmlkTm9kZSk7Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2Vy
dCh0cmVlRWxlbWVudCk7Ci0gICAgICAgICAgICBpZiAoIXRyZWVFbGVtZW50KQotICAgICAgICAg
ICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQuaGlkZGVuKQorICAg
ICAgICAgICAgY29uc29sZS5hc3NlcnQoZGF0YUdyaWROb2RlIGluc3RhbmNlb2YgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlKTsKKyAgICAgICAgICAgIGlmIChkYXRhR3JpZE5vZGUu
aGlkZGVuKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogCi0gICAgICAgICAgICB2YXIg
cGF0aENvbXBvbmVudCA9IG5ldyBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50UGF0aENv
bXBvbmVudCh0cmVlRWxlbWVudCk7Ci0gICAgICAgICAgICBwYXRoQ29tcG9uZW50LmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQuRXZlbnQuU2li
bGluZ1dhc1NlbGVjdGVkLCB0aGlzLnRyZWVFbGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkLCB0
aGlzKTsKKyAgICAgICAgICAgIGxldCBwYXRoQ29tcG9uZW50ID0gbmV3IFdlYkluc3BlY3Rvci5U
aW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQoZGF0YUdyaWROb2RlKTsKKyAgICAgICAg
ICAgIHBhdGhDb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGllcmFyY2hp
Y2FsUGF0aENvbXBvbmVudC5FdmVudC5TaWJsaW5nV2FzU2VsZWN0ZWQsIHRoaXMuZGF0YUdyaWRO
b2RlUGF0aENvbXBvbmVudFNlbGVjdGVkLCB0aGlzKTsKICAgICAgICAgICAgIHBhdGhDb21wb25l
bnRzLnVuc2hpZnQocGF0aENvbXBvbmVudCk7CiAgICAgICAgICAgICBkYXRhR3JpZE5vZGUgPSBk
YXRhR3JpZE5vZGUucGFyZW50OwogICAgICAgICB9CkBAIC0xMzEsMTEgKzEyMCwxMSBAQCBXZWJJ
bnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcgPSBjbGFzcyBPdmVydmlld1RpbWVsaW5lVmll
dyBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgLy8gUHJvdGVjdGVkCiAKLSAgICB0cmVlRWxlbWVu
dFBhdGhDb21wb25lbnRTZWxlY3RlZChldmVudCkKKyAgICBkYXRhR3JpZE5vZGVQYXRoQ29tcG9u
ZW50U2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gdGhp
cy5fdHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5kYXRhR3JpZE5vZGVGb3JUcmVlRWxl
bWVudChldmVudC5kYXRhLnBhdGhDb21wb25lbnQuZ2VuZXJhbFRyZWVFbGVtZW50KTsKLSAgICAg
ICAgaWYgKCFkYXRhR3JpZE5vZGUpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIGxldCBk
YXRhR3JpZE5vZGUgPSBldmVudC5kYXRhLnBhdGhDb21wb25lbnQudGltZWxpbmVEYXRhR3JpZE5v
ZGU7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRhdGFHcmlkTm9kZS5kYXRhR3JpZCA9PT0gdGhp
cy5fZGF0YUdyaWQpOworCiAgICAgICAgIGRhdGFHcmlkTm9kZS5yZXZlYWxBbmRTZWxlY3QoKTsK
ICAgICB9CiAKQEAgLTE5MywxMjcgKzE4Miw5MiBAQCBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1l
bGluZVZpZXcgPSBjbGFzcyBPdmVydmlld1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlYwog
CiAgICAgLy8gUHJpdmF0ZQogCi0gICAgX2NvbXBhcmVUcmVlRWxlbWVudHNCeURldGFpbHMoYSwg
YikKLSAgICB7Ci0gICAgICAgIGlmIChhIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNvdXJjZUNv
ZGVUaW1lbGluZVRyZWVFbGVtZW50ICYmIGIgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VUcmVlRWxlbWVudCkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLQotICAgICAgICBpZiAoYSBp
bnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50ICYmIGIgaW5zdGFuY2Vv
ZiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQpCi0gICAgICAgICAg
ICByZXR1cm4gMTsKLQotICAgICAgICBpZiAoYSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCAmJiBiIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNv
dXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50KSB7Ci0gICAgICAgICAgICB2YXIgYVRpbWVsaW5l
ID0gYS5zb3VyY2VDb2RlVGltZWxpbmU7Ci0gICAgICAgICAgICB2YXIgYlRpbWVsaW5lID0gYi5z
b3VyY2VDb2RlVGltZWxpbmU7Ci0KLSAgICAgICAgICAgIGlmICghYVRpbWVsaW5lLnNvdXJjZUNv
ZGVMb2NhdGlvbiAmJiAhYlRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbikgewotICAgICAgICAg
ICAgICAgIGlmIChhVGltZWxpbmUucmVjb3JkVHlwZSAhPT0gYlRpbWVsaW5lLnJlY29yZFR5cGUp
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBhVGltZWxpbmUucmVjb3JkVHlwZS5sb2NhbGVD
b21wYXJlKGJUaW1lbGluZS5yZWNvcmRUeXBlKTsKLQotICAgICAgICAgICAgICAgIHJldHVybiBh
Lm1haW5UaXRsZS5sb2NhbGVDb21wYXJlKGIubWFpblRpdGxlKTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgaWYgKCFhVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uIHx8ICFiVGltZWxp
bmUuc291cmNlQ29kZUxvY2F0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybiAhIWFUaW1lbGlu
ZS5zb3VyY2VDb2RlTG9jYXRpb24gLSAhIWJUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb247Ci0K
LSAgICAgICAgICAgIGlmIChhVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uLmxpbmVOdW1iZXIg
IT09IGJUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24ubGluZU51bWJlcikKLSAgICAgICAgICAg
ICAgICByZXR1cm4gYVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbi5saW5lTnVtYmVyIC0gYlRp
bWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbi5saW5lTnVtYmVyOwotCi0gICAgICAgICAgICByZXR1
cm4gYVRpbWVsaW5lLnNvdXJjZUNvZGVMb2NhdGlvbi5jb2x1bW5OdW1iZXIgLSBiVGltZWxpbmUu
c291cmNlQ29kZUxvY2F0aW9uLmNvbHVtbk51bWJlcjsKLSAgICAgICAgfQotCi0gICAgICAgIC8v
IEZhbGxiYWNrIHRvIGNvbXBhcmluZyBieSBzdGFydCB0aW1lIGZvciBSZXNvdXJjZVRyZWVFbGVt
ZW50IG9yIGFueXRoaW5nIGVsc2UuCi0gICAgICAgIHJldHVybiB0aGlzLl9jb21wYXJlVHJlZUVs
ZW1lbnRzQnlTdGFydFRpbWUoYSwgYik7Ci0gICAgfQotCi0gICAgX2NvbXBhcmVUcmVlRWxlbWVu
dHNCeVN0YXJ0VGltZShhLCBiKQorICAgIF9jb21wYXJlRGF0YUdyaWROb2Rlc0J5U3RhcnRUaW1l
KGEsIGIpCiAgICAgewotICAgICAgICBmdW5jdGlvbiBnZXRTdGFydFRpbWUodHJlZUVsZW1lbnQp
CisgICAgICAgIGZ1bmN0aW9uIGdldFN0YXJ0VGltZShkYXRhR3JpZE5vZGUpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZXNv
dXJjZVRyZWVFbGVtZW50KQotICAgICAgICAgICAgICAgIHJldHVybiB0cmVlRWxlbWVudC5yZXNv
dXJjZS5maXJzdFRpbWVzdGFtcDsKLSAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5j
ZW9mIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQuc291cmNlQ29kZVRpbWVsaW5lLnN0YXJ0VGltZTsK
KyAgICAgICAgICAgIGlmIChkYXRhR3JpZE5vZGUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVz
b3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGF0YUdy
aWROb2RlLnJlc291cmNlLmZpcnN0VGltZXN0YW1wOworICAgICAgICAgICAgaWYgKGRhdGFHcmlk
Tm9kZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGltZWxpbmVUaW1lbGluZURh
dGFHcmlkTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGF0YUdyaWROb2RlLnNvdXJjZUNv
ZGVUaW1lbGluZS5zdGFydFRpbWU7CiAKLSAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlVua25v
d24gdHJlZSBlbGVtZW50LiIpOworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiVW5rbm93biBk
YXRhIGdyaWQgbm9kZS4iLCBkYXRhR3JpZE5vZGUpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgICAgIH0KIAotICAgICAgICB2YXIgcmVzdWx0ID0gZ2V0U3RhcnRUaW1lKGEpIC0gZ2V0U3Rh
cnRUaW1lKGIpOworICAgICAgICBsZXQgcmVzdWx0ID0gZ2V0U3RhcnRUaW1lKGEpIC0gZ2V0U3Rh
cnRUaW1lKGIpOwogICAgICAgICBpZiAocmVzdWx0KQogICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKIAogICAgICAgICAvLyBGYWxsYmFjayB0byBjb21wYXJpbmcgdGl0bGVzLgotICAgICAgICBy
ZXR1cm4gYS5tYWluVGl0bGUubG9jYWxlQ29tcGFyZShiLm1haW5UaXRsZSk7CisgICAgICAgIHJl
dHVybiBhLmRpc3BsYXlOYW1lKCkubG9jYWxlQ29tcGFyZShiLmRpc3BsYXlOYW1lKCkpOwogICAg
IH0KIAotICAgIF9pbnNlcnRUcmVlRWxlbWVudCh0cmVlRWxlbWVudCwgcGFyZW50VHJlZUVsZW1l
bnQpCisgICAgX2luc2VydERhdGFHcmlkTm9kZShkYXRhR3JpZE5vZGUsIHBhcmVudERhdGFHcmlk
Tm9kZSkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyZWVFbGVtZW50KTsKLSAgICAg
ICAgY29uc29sZS5hc3NlcnQoIXRyZWVFbGVtZW50LnBhcmVudCk7Ci0gICAgICAgIGNvbnNvbGUu
YXNzZXJ0KHBhcmVudFRyZWVFbGVtZW50KTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZGF0YUdy
aWROb2RlKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoIWRhdGFHcmlkTm9kZS5wYXJlbnQpOwog
Ci0gICAgICAgIHBhcmVudFRyZWVFbGVtZW50Lmluc2VydENoaWxkKHRyZWVFbGVtZW50LCBpbnNl
cnRpb25JbmRleEZvck9iamVjdEluTGlzdFNvcnRlZEJ5RnVuY3Rpb24odHJlZUVsZW1lbnQsIHBh
cmVudFRyZWVFbGVtZW50LmNoaWxkcmVuLCB0aGlzLl9jb21wYXJlVHJlZUVsZW1lbnRzQnlTdGFy
dFRpbWUuYmluZCh0aGlzKSkpOworICAgICAgICBpZiAocGFyZW50RGF0YUdyaWROb2RlKQorICAg
ICAgICAgICAgcGFyZW50RGF0YUdyaWROb2RlLmluc2VydENoaWxkKGRhdGFHcmlkTm9kZSwgaW5z
ZXJ0aW9uSW5kZXhGb3JPYmplY3RJbkxpc3RTb3J0ZWRCeUZ1bmN0aW9uKGRhdGFHcmlkTm9kZSwg
cGFyZW50RGF0YUdyaWROb2RlLmNoaWxkcmVuLCB0aGlzLl9jb21wYXJlRGF0YUdyaWROb2Rlc0J5
U3RhcnRUaW1lLmJpbmQodGhpcykpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5f
ZGF0YUdyaWQuYXBwZW5kQ2hpbGQoZGF0YUdyaWROb2RlKTsKICAgICB9CiAKLSAgICBfYWRkUmVz
b3VyY2VUb1RyZWVJZk5lZWRlZChyZXNvdXJjZSkKKyAgICBfYWRkUmVzb3VyY2VUb0RhdGFHcmlk
SWZOZWVkZWQocmVzb3VyY2UpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChyZXNvdXJj
ZSk7CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAot
ICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxp
bmUuZmluZFRyZWVFbGVtZW50KHJlc291cmNlKTsKLSAgICAgICAgaWYgKHRyZWVFbGVtZW50KQot
ICAgICAgICAgICAgcmV0dXJuIHRyZWVFbGVtZW50OworICAgICAgICAvLyBGSVhNRTogcmVwbGFj
ZSB3aXRoIHRoaXMuX2RhdGFHcmlkLmZpbmREYXRhR3JpZE5vZGUocmVzb3VyY2UpIG9uY2UgPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE1NTMwNT4gaXMgZml4ZWQuCisgICAgICAgIGxldCBkYXRhR3Jp
ZE5vZGUgPSB0aGlzLl9yZXNvdXJjZURhdGFHcmlkTm9kZU1hcC5nZXQocmVzb3VyY2UpOworICAg
ICAgICBpZiAoZGF0YUdyaWROb2RlKQorICAgICAgICAgICAgcmV0dXJuIGRhdGFHcmlkTm9kZTsK
IAotICAgICAgICB2YXIgcGFyZW50RnJhbWUgPSByZXNvdXJjZS5wYXJlbnRGcmFtZTsKKyAgICAg
ICAgbGV0IHBhcmVudEZyYW1lID0gcmVzb3VyY2UucGFyZW50RnJhbWU7CiAgICAgICAgIGlmICgh
cGFyZW50RnJhbWUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIGV4cGFuZGVk
QnlEZWZhdWx0ID0gZmFsc2U7CisgICAgICAgIGxldCByZXNvdXJjZVRpbWVsaW5lUmVjb3JkID0g
dGhpcy5fbmV0d29ya1RpbWVsaW5lID8gdGhpcy5fbmV0d29ya1RpbWVsaW5lLnJlY29yZEZvclJl
c291cmNlKHJlc291cmNlKSA6IG51bGw7CisgICAgICAgIGlmICghcmVzb3VyY2VUaW1lbGluZVJl
Y29yZCkKKyAgICAgICAgICAgIHJlc291cmNlVGltZWxpbmVSZWNvcmQgPSBuZXcgV2ViSW5zcGVj
dG9yLlJlc291cmNlVGltZWxpbmVSZWNvcmQocmVzb3VyY2UpOworCisgICAgICAgIGxldCByZXNv
dXJjZURhdGFHcmlkTm9kZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFH
cmlkTm9kZShyZXNvdXJjZVRpbWVsaW5lUmVjb3JkLCB0cnVlLCB0aGlzKTsKKyAgICAgICAgdGhp
cy5fcmVzb3VyY2VEYXRhR3JpZE5vZGVNYXAuc2V0KHJlc291cmNlLCByZXNvdXJjZURhdGFHcmlk
Tm9kZSk7CisKKyAgICAgICAgbGV0IGV4cGFuZGVkQnlEZWZhdWx0ID0gZmFsc2U7CiAgICAgICAg
IGlmIChwYXJlbnRGcmFtZS5tYWluUmVzb3VyY2UgPT09IHJlc291cmNlIHx8IHBhcmVudEZyYW1l
LnByb3Zpc2lvbmFsTWFpblJlc291cmNlID09PSByZXNvdXJjZSkgewogICAgICAgICAgICAgcGFy
ZW50RnJhbWUgPSBwYXJlbnRGcmFtZS5wYXJlbnRGcmFtZTsKICAgICAgICAgICAgIGV4cGFuZGVk
QnlEZWZhdWx0ID0gIXBhcmVudEZyYW1lOyAvLyBNYWluIGZyYW1lIGV4cGFuZHMgYnkgZGVmYXVs
dC4KICAgICAgICAgfQogCi0gICAgICAgIHZhciByZXNvdXJjZVRyZWVFbGVtZW50ID0gbmV3IFdl
Ykluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50KHJlc291cmNlKTsKICAgICAgICAgaWYgKGV4
cGFuZGVkQnlEZWZhdWx0KQotICAgICAgICAgICAgcmVzb3VyY2VUcmVlRWxlbWVudC5leHBhbmQo
KTsKLQotICAgICAgICB2YXIgcmVzb3VyY2VUaW1lbGluZVJlY29yZCA9IHRoaXMuX25ldHdvcmtU
aW1lbGluZSA/IHRoaXMuX25ldHdvcmtUaW1lbGluZS5yZWNvcmRGb3JSZXNvdXJjZShyZXNvdXJj
ZSkgOiBudWxsOwotICAgICAgICBpZiAoIXJlc291cmNlVGltZWxpbmVSZWNvcmQpCi0gICAgICAg
ICAgICByZXNvdXJjZVRpbWVsaW5lUmVjb3JkID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZVRp
bWVsaW5lUmVjb3JkKHJlc291cmNlKTsKKyAgICAgICAgICAgIHJlc291cmNlRGF0YUdyaWROb2Rl
LmV4cGFuZCgpOwogCi0gICAgICAgIHZhciByZXNvdXJjZURhdGFHcmlkTm9kZSA9IG5ldyBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZShyZXNvdXJjZVRpbWVsaW5lUmVj
b3JkLCB0cnVlLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fdHJlZU91dGxpbmVEYXRhR3JpZFN5bmNo
cm9uaXplci5hc3NvY2lhdGUocmVzb3VyY2VUcmVlRWxlbWVudCwgcmVzb3VyY2VEYXRhR3JpZE5v
ZGUpOwotCi0gICAgICAgIHZhciBwYXJlbnRUcmVlRWxlbWVudCA9IHRoaXMubmF2aWdhdGlvblNp
ZGViYXJUcmVlT3V0bGluZTsKKyAgICAgICAgbGV0IHBhcmVudERhdGFHcmlkTm9kZSA9IG51bGw7
CiAgICAgICAgIGlmIChwYXJlbnRGcmFtZSkgewogICAgICAgICAgICAgLy8gRmluZCB0aGUgcGFy
ZW50IG1haW4gcmVzb3VyY2UsIGFkZGluZyBpdCBpZiBuZWVkZWQsIHRvIGFwcGVuZCB0aGlzIHJl
c291cmNlIGFzIGEgY2hpbGQuCi0gICAgICAgICAgICB2YXIgcGFyZW50UmVzb3VyY2UgPSBwYXJl
bnRGcmFtZS5wcm92aXNpb25hbE1haW5SZXNvdXJjZSB8fCBwYXJlbnRGcmFtZS5tYWluUmVzb3Vy
Y2U7CisgICAgICAgICAgICBsZXQgcGFyZW50UmVzb3VyY2UgPSBwYXJlbnRGcmFtZS5wcm92aXNp
b25hbE1haW5SZXNvdXJjZSB8fCBwYXJlbnRGcmFtZS5tYWluUmVzb3VyY2U7CiAKLSAgICAgICAg
ICAgIHBhcmVudFRyZWVFbGVtZW50ID0gdGhpcy5fYWRkUmVzb3VyY2VUb1RyZWVJZk5lZWRlZChw
YXJlbnRSZXNvdXJjZSk7Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2VydChwYXJlbnRUcmVlRWxl
bWVudCk7Ci0gICAgICAgICAgICBpZiAoIXBhcmVudFRyZWVFbGVtZW50KQorICAgICAgICAgICAg
cGFyZW50RGF0YUdyaWROb2RlID0gdGhpcy5fYWRkUmVzb3VyY2VUb0RhdGFHcmlkSWZOZWVkZWQo
cGFyZW50UmVzb3VyY2UpOworICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocGFyZW50RGF0YUdy
aWROb2RlKTsKKyAgICAgICAgICAgIGlmICghcGFyZW50RGF0YUdyaWROb2RlKQogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX2luc2VydFRyZWVFbGVt
ZW50KHJlc291cmNlVHJlZUVsZW1lbnQsIHBhcmVudFRyZWVFbGVtZW50KTsKKyAgICAgICAgdGhp
cy5faW5zZXJ0RGF0YUdyaWROb2RlKHJlc291cmNlRGF0YUdyaWROb2RlLCBwYXJlbnREYXRhR3Jp
ZE5vZGUpOwogCi0gICAgICAgIHJldHVybiByZXNvdXJjZVRyZWVFbGVtZW50OworICAgICAgICBy
ZXR1cm4gcmVzb3VyY2VEYXRhR3JpZE5vZGU7CiAgICAgfQogCiAgICAgX2FkZFNvdXJjZUNvZGVU
aW1lbGluZShzb3VyY2VDb2RlVGltZWxpbmUpCiAgICAgewotICAgICAgICB2YXIgcGFyZW50VHJl
ZUVsZW1lbnQgPSBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uID8gdGhpcy5f
YWRkUmVzb3VyY2VUb1RyZWVJZk5lZWRlZChzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZSkg
OiB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmU7Ci0gICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHBhcmVudFRyZWVFbGVtZW50KTsKLSAgICAgICAgaWYgKCFwYXJlbnRUcmVlRWxlbWVudCkK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB2YXIgc291cmNlQ29kZVRpbWVsaW5lVHJl
ZUVsZW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50
KHNvdXJjZUNvZGVUaW1lbGluZSk7Ci0gICAgICAgIHZhciBzb3VyY2VDb2RlVGltZWxpbmVEYXRh
R3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRpbWVsaW5lRGF0
YUdyaWROb2RlKHNvdXJjZUNvZGVUaW1lbGluZSwgdGhpcyk7CisgICAgICAgIGxldCBwYXJlbnRE
YXRhR3JpZE5vZGUgPSBzb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uID8gdGhp
cy5fYWRkUmVzb3VyY2VUb0RhdGFHcmlkSWZOZWVkZWQoc291cmNlQ29kZVRpbWVsaW5lLnNvdXJj
ZUNvZGUpIDogbnVsbDsKKyAgICAgICAgbGV0IHNvdXJjZUNvZGVUaW1lbGluZURhdGFHcmlkTm9k
ZSA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRpbWVsaW5lVGltZWxpbmVEYXRhR3JpZE5v
ZGUoc291cmNlQ29kZVRpbWVsaW5lLCB0aGlzKTsKKyAgICAgICAgdGhpcy5fcmVzb3VyY2VEYXRh
R3JpZE5vZGVNYXAuc2V0KHNvdXJjZUNvZGVUaW1lbGluZSwgc291cmNlQ29kZVRpbWVsaW5lRGF0
YUdyaWROb2RlKTsKIAotICAgICAgICB0aGlzLl90cmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25p
emVyLmFzc29jaWF0ZShzb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCwgc291cmNlQ29kZVRp
bWVsaW5lRGF0YUdyaWROb2RlKTsKLSAgICAgICAgdGhpcy5faW5zZXJ0VHJlZUVsZW1lbnQoc291
cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQsIHBhcmVudFRyZWVFbGVtZW50KTsKKyAgICAgICAg
dGhpcy5faW5zZXJ0RGF0YUdyaWROb2RlKHNvdXJjZUNvZGVUaW1lbGluZURhdGFHcmlkTm9kZSwg
cGFyZW50RGF0YUdyaWROb2RlKTsKICAgICB9CiAKICAgICBfcHJvY2Vzc1BlbmRpbmdSZXByZXNl
bnRlZE9iamVjdHMoKQpAQCAtMzIzLDcgKzI3Nyw3IEBAIFdlYkluc3BlY3Rvci5PdmVydmlld1Rp
bWVsaW5lVmlldyA9IGNsYXNzIE92ZXJ2aWV3VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVj
CiAKICAgICAgICAgZm9yICh2YXIgcmVwcmVzZW50ZWRPYmplY3Qgb2YgdGhpcy5fcGVuZGluZ1Jl
cHJlc2VudGVkT2JqZWN0cykgewogICAgICAgICAgICAgaWYgKHJlcHJlc2VudGVkT2JqZWN0IGlu
c3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlKQotICAgICAgICAgICAgICAgIHRoaXMuX2Fk
ZFJlc291cmNlVG9UcmVlSWZOZWVkZWQocmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICAgICAg
ICAgIHRoaXMuX2FkZFJlc291cmNlVG9EYXRhR3JpZElmTmVlZGVkKHJlcHJlc2VudGVkT2JqZWN0
KTsKICAgICAgICAgICAgIGVsc2UgaWYgKHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV2Vi
SW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZSkKICAgICAgICAgICAgICAgICB0aGlzLl9hZGRT
b3VyY2VDb2RlVGltZWxpbmUocmVwcmVzZW50ZWRPYmplY3QpOwogICAgICAgICAgICAgZWxzZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVu
ZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcwppbmRleCA3MzBjYWNm
NTYwMThmY2VlYjg1ZGQwYTYyYzQyZDQ0ZjdjYjBhOGE2Li5jNGUxM2QzODIxOWIwYzYzNGM4YmU0
ZjNlMDcxODM4NDI3ZDFkYzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVs
aW5lVmlldy5qcwpAQCAtMzEsOCArMzEsNiBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVU
aW1lbGluZVZpZXcgPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldyBleHRlbgogCiAg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJl
bmRlcmluZ0ZyYW1lKTsKIAotICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxp
bmUuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJyZW5kZXJpbmctZnJhbWUiKTsKLQogICAgICAgICB2
YXIgc2NvcGVCYXJJdGVtcyA9IFtdOwogICAgICAgICBmb3IgKHZhciBrZXkgaW4gV2ViSW5zcGVj
dG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LkR1cmF0aW9uRmlsdGVyKSB7CiAgICAgICAg
ICAgICB2YXIgdmFsdWUgPSBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcu
RHVyYXRpb25GaWx0ZXJba2V5XTsKQEAgLTc4LDcgKzc2LDcgQEAgV2ViSW5zcGVjdG9yLlJlbmRl
cmluZ0ZyYW1lVGltZWxpbmVWaWV3ID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcg
ZXh0ZW4KICAgICAgICAgZm9yICh2YXIgY29sdW1uIGluIGNvbHVtbnMpCiAgICAgICAgICAgICBj
b2x1bW5zW2NvbHVtbl0uc29ydGFibGUgPSB0cnVlOwogCi0gICAgICAgIHRoaXMuX2RhdGFHcmlk
ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkKHRoaXMubmF2aWdhdGlvblNpZGVi
YXJUcmVlT3V0bGluZSwgY29sdW1ucywgdGhpcyk7CisgICAgICAgIHRoaXMuX2RhdGFHcmlkID0g
bmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkKG51bGwsIGNvbHVtbnMsIHRoaXMpOwog
ICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EYXRh
R3JpZC5FdmVudC5TZWxlY3RlZE5vZGVDaGFuZ2VkLCB0aGlzLl9kYXRhR3JpZE5vZGVTZWxlY3Rl
ZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLnNvcnRDb2x1bW5JZGVudGlmaWVyU2V0
dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZygicmVuZGVyaW5nLWZyYW1lLXRpbWVsaW5l
LXZpZXctc29ydCIsICJzdGFydFRpbWUiKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuc29ydE9y
ZGVyU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZygicmVuZGVyaW5nLWZyYW1lLXRp
bWVsaW5lLXZpZXctc29ydC1vcmRlciIsIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIu
QXNjZW5kaW5nKTsKQEAgLTEwOSwxMSArMTA3LDYgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0Zy
YW1lVGltZWxpbmVWaWV3ID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcgZXh0ZW4K
IAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmVM
YWJlbCgpCi0gICAgewotICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZWNv
cmRzIik7Ci0gICAgfQotCiAgICAgc2hvd24oKQogICAgIHsKICAgICAgICAgc3VwZXIuc2hvd24o
KTsKQEAgLTEzOCwyMyArMTMxLDE5IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVs
aW5lVmlldyA9IGNsYXNzIFJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3IGV4dGVuCiAKICAgICBn
ZXQgc2VsZWN0aW9uUGF0aENvbXBvbmVudHMoKQogICAgIHsKLSAgICAgICAgdmFyIGRhdGFHcmlk
Tm9kZSA9IHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZTsKLSAgICAgICAgaWYgKCFkYXRhR3Jp
ZE5vZGUpCisgICAgICAgIGxldCBkYXRhR3JpZE5vZGUgPSB0aGlzLl9kYXRhR3JpZC5zZWxlY3Rl
ZE5vZGU7CisgICAgICAgIGlmICghZGF0YUdyaWROb2RlIHx8IGRhdGFHcmlkTm9kZS5oaWRkZW4p
CiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICB2YXIgcGF0aENvbXBvbmVudHMg
PSBbXTsKKyAgICAgICAgbGV0IHBhdGhDb21wb25lbnRzID0gW107CiAKICAgICAgICAgd2hpbGUg
KGRhdGFHcmlkTm9kZSAmJiAhZGF0YUdyaWROb2RlLnJvb3QpIHsKLSAgICAgICAgICAgIHZhciB0
cmVlRWxlbWVudCA9IHRoaXMuX2RhdGFHcmlkLnRyZWVFbGVtZW50Rm9yRGF0YUdyaWROb2RlKGRh
dGFHcmlkTm9kZSk7Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2VydCh0cmVlRWxlbWVudCk7Ci0g
ICAgICAgICAgICBpZiAoIXRyZWVFbGVtZW50KQotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0g
ICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQuaGlkZGVuKQorICAgICAgICAgICAgY29uc29sZS5h
c3NlcnQoZGF0YUdyaWROb2RlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdy
aWROb2RlKTsKKyAgICAgICAgICAgIGlmIChkYXRhR3JpZE5vZGUuaGlkZGVuKQogICAgICAgICAg
ICAgICAgIHJldHVybiBudWxsOwogCi0gICAgICAgICAgICB2YXIgcGF0aENvbXBvbmVudCA9IG5l
dyBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50UGF0aENvbXBvbmVudCh0cmVlRWxlbWVu
dCk7Ci0gICAgICAgICAgICBwYXRoQ29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLkhpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQuRXZlbnQuU2libGluZ1dhc1NlbGVjdGVkLCB0
aGlzLnRyZWVFbGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkLCB0aGlzKTsKKyAgICAgICAgICAg
IGxldCBwYXRoQ29tcG9uZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkTm9k
ZVBhdGhDb21wb25lbnQoZGF0YUdyaWROb2RlKTsKKyAgICAgICAgICAgIHBhdGhDb21wb25lbnQu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5F
dmVudC5TaWJsaW5nV2FzU2VsZWN0ZWQsIHRoaXMuZGF0YUdyaWROb2RlUGF0aENvbXBvbmVudFNl
bGVjdGVkLCB0aGlzKTsKICAgICAgICAgICAgIHBhdGhDb21wb25lbnRzLnVuc2hpZnQocGF0aENv
bXBvbmVudCk7CiAgICAgICAgICAgICBkYXRhR3JpZE5vZGUgPSBkYXRhR3JpZE5vZGUucGFyZW50
OwogICAgICAgICB9CkBAIC0yMDksMjggKzE5OCwxMSBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVZpZXcgPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldyBleHRl
bgogICAgICAgICBzdXBlci5zaG93Q29udGVudFZpZXdGb3JUcmVlRWxlbWVudCh0cmVlRWxlbWVu
dCk7CiAgICAgfQogCi0gICAgdHJlZUVsZW1lbnREZXNlbGVjdGVkKHRyZWVFbGVtZW50KQotICAg
IHsKLSAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRoaXMuX2RhdGFHcmlkLmRhdGFHcmlkTm9k
ZUZvclRyZWVFbGVtZW50KHRyZWVFbGVtZW50KTsKLSAgICAgICAgaWYgKCFkYXRhR3JpZE5vZGUp
Ci0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgZGF0YUdyaWROb2RlLmRlc2VsZWN0KCk7
Ci0gICAgfQotCi0gICAgdHJlZUVsZW1lbnRTZWxlY3RlZCh0cmVlRWxlbWVudCwgc2VsZWN0ZWRC
eVVzZXIpCisgICAgZGF0YUdyaWROb2RlUGF0aENvbXBvbmVudFNlbGVjdGVkKGV2ZW50KQogICAg
IHsKLSAgICAgICAgaWYgKHRoaXMuX2RhdGFHcmlkLnNob3VsZElnbm9yZVNlbGVjdGlvbkV2ZW50
KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgc3VwZXIudHJlZUVsZW1lbnRTZWxl
Y3RlZCh0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpOwotICAgIH0KKyAgICAgICAgbGV0IGRh
dGFHcmlkTm9kZSA9IGV2ZW50LmRhdGEucGF0aENvbXBvbmVudC50aW1lbGluZURhdGFHcmlkTm9k
ZTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZGF0YUdyaWROb2RlLmRhdGFHcmlkID09PSB0aGlz
Ll9kYXRhR3JpZCk7CiAKLSAgICB0cmVlRWxlbWVudFBhdGhDb21wb25lbnRTZWxlY3RlZChldmVu
dCkKLSAgICB7Ci0gICAgICAgIHZhciBkYXRhR3JpZE5vZGUgPSB0aGlzLl9kYXRhR3JpZC5kYXRh
R3JpZE5vZGVGb3JUcmVlRWxlbWVudChldmVudC5kYXRhLnBhdGhDb21wb25lbnQuZ2VuZXJhbFRy
ZWVFbGVtZW50KTsKLSAgICAgICAgaWYgKCFkYXRhR3JpZE5vZGUpCi0gICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIGRhdGFHcmlkTm9kZS5yZXZlYWxBbmRTZWxlY3QoKTsKICAgICB9CiAKQEAg
LTI1Myw1NCArMjI1LDQ1IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmll
dyA9IGNsYXNzIFJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3IGV4dGVuCiAgICAgICAgIGlmICgh
dGhpcy5fcGVuZGluZ1JlY29yZHMubGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIGZvciAodmFyIHJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQgb2YgdGhpcy5fcGVuZGlu
Z1JlY29yZHMpIHsKKyAgICAgICAgZm9yIChsZXQgcmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29y
ZCBvZiB0aGlzLl9wZW5kaW5nUmVjb3JkcykgewogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQo
cmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkKTsKIAotICAgICAgICAgICAgdmFyIHRyZWVFbGVtZW50
ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50KHJlbmRlcmluZ0Zy
YW1lVGltZWxpbmVSZWNvcmQpOwotICAgICAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IG5ldyBX
ZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZShyZW5kZXJpbmdG
cmFtZVRpbWVsaW5lUmVjb3JkLCB0aGlzLnplcm9UaW1lKTsKLSAgICAgICAgICAgIHRoaXMuX2Rh
dGFHcmlkLmFkZFJvd0luU29ydE9yZGVyKHRyZWVFbGVtZW50LCBkYXRhR3JpZE5vZGUpOworICAg
ICAgICAgICAgbGV0IGRhdGFHcmlkTm9kZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJh
bWVUaW1lbGluZURhdGFHcmlkTm9kZShyZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLCB0aGlz
Lnplcm9UaW1lKTsKKyAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9yZGVy
KG51bGwsIGRhdGFHcmlkTm9kZSk7CiAKLSAgICAgICAgICAgIHZhciBzdGFjayA9IFt7Y2hpbGRy
ZW46IHJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuY2hpbGRyZW4sIHBhcmVudFRyZWVFbGVt
ZW50OiB0cmVlRWxlbWVudCwgaW5kZXg6IDB9XTsKKyAgICAgICAgICAgIGxldCBzdGFjayA9IFt7
Y2hpbGRyZW46IHJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuY2hpbGRyZW4sIHBhcmVudERh
dGFHcmlkTm9kZTogZGF0YUdyaWROb2RlLCBpbmRleDogMH1dOwogICAgICAgICAgICAgd2hpbGUg
KHN0YWNrLmxlbmd0aCkgewotICAgICAgICAgICAgICAgIHZhciBlbnRyeSA9IHN0YWNrLmxhc3RW
YWx1ZTsKKyAgICAgICAgICAgICAgICBsZXQgZW50cnkgPSBzdGFjay5sYXN0VmFsdWU7CiAgICAg
ICAgICAgICAgICAgaWYgKGVudHJ5LmluZGV4ID49IGVudHJ5LmNoaWxkcmVuLmxlbmd0aCkgewog
ICAgICAgICAgICAgICAgICAgICBzdGFjay5wb3AoKTsKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgdmFyIGNoaWxkUmVj
b3JkID0gZW50cnkuY2hpbGRyZW5bZW50cnkuaW5kZXhdOwotICAgICAgICAgICAgICAgIHZhciBj
aGlsZFRyZWVFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgICAgICAgICBsZXQgY2hpbGRSZWNvcmQg
PSBlbnRyeS5jaGlsZHJlbltlbnRyeS5pbmRleF07CisgICAgICAgICAgICAgICAgbGV0IGNoaWxk
RGF0YUdyaWROb2RlID0gbnVsbDsKICAgICAgICAgICAgICAgICBpZiAoY2hpbGRSZWNvcmQudHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNoaWxkVHJlZUVsZW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkVHJlZUVsZW1lbnQoY2hpbGRSZWNvcmQsIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9j
YXRpb24uTmFtZVN0eWxlLlNob3J0KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkUmVj
b3JkLndpZHRoICYmIGNoaWxkUmVjb3JkLmhlaWdodCkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgbGV0IHN1YnRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc3VidGl0bGUudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIiVkIFx1MkEwOSAlZCIpLmZvcm1hdChjaGlsZFJlY29yZC53aWR0aCwgY2hpbGRSZWNv
cmQuaGVpZ2h0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkVHJlZUVsZW1lbnQuc3Vi
dGl0bGUgPSBzdWJ0aXRsZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICB2YXIgbGF5b3V0RGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1l
bGluZURhdGFHcmlkTm9kZShjaGlsZFJlY29yZCwgdGhpcy56ZXJvVGltZSk7CisgICAgICAgICAg
ICAgICAgICAgIGNoaWxkRGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1l
bGluZURhdGFHcmlkTm9kZShjaGlsZFJlY29yZCwgdGhpcy56ZXJvVGltZSk7CiAKLSAgICAgICAg
ICAgICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkUm93SW5Tb3J0T3JkZXIoY2hpbGRUcmVlRWxl
bWVudCwgbGF5b3V0RGF0YUdyaWROb2RlLCBlbnRyeS5wYXJlbnRUcmVlRWxlbWVudCk7CisgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9yZGVyKG51bGwsIGNo
aWxkRGF0YUdyaWROb2RlLCBlbnRyeS5wYXJlbnREYXRhR3JpZE5vZGUpOwogICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY2hpbGRSZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkLlR5cGUuU2NyaXB0KSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciByb290Tm9kZXMg
PSBbXTsKKyAgICAgICAgICAgICAgICAgICAgbGV0IHJvb3ROb2RlcyA9IFtdOwogICAgICAgICAg
ICAgICAgICAgICBpZiAoY2hpbGRSZWNvcmQucHJvZmlsZSkgewogICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IFN1cHBvcnQgdXNpbmcgdGhlIGJvdHRvbS11cCB0cmVlIG9uY2UgaXQg
aXMgaW1wbGVtZW50ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICByb290Tm9kZXMgPSBjaGls
ZFJlY29yZC5wcm9maWxlLnRvcERvd25Sb290Tm9kZXM7CiAgICAgICAgICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgICAgICAgICBjaGlsZFRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50KGNoaWxkUmVjb3JkLCBXZWJJbnNwZWN0b3IuU291
cmNlQ29kZUxvY2F0aW9uLk5hbWVTdHlsZS5TaG9ydCwgcm9vdE5vZGVzLmxlbmd0aCk7Ci0gICAg
ICAgICAgICAgICAgICAgIHZhciBzY3JpcHREYXRhR3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlKGNoaWxkUmVjb3JkLCB0aGlzLnplcm9UaW1lKTsK
KyAgICAgICAgICAgICAgICAgICAgY2hpbGREYXRhR3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlKGNoaWxkUmVjb3JkLCB0aGlzLnplcm9UaW1lKTsK
IAotICAgICAgICAgICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRSb3dJblNvcnRPcmRlcihj
aGlsZFRyZWVFbGVtZW50LCBzY3JpcHREYXRhR3JpZE5vZGUsIGVudHJ5LnBhcmVudFRyZWVFbGVt
ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkUm93SW5Tb3J0T3Jk
ZXIobnVsbCwgY2hpbGREYXRhR3JpZE5vZGUsIGVudHJ5LnBhcmVudERhdGFHcmlkTm9kZSk7CiAK
LSAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgcHJvZmlsZU5vZGUgb2Ygcm9vdE5vZGVzKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvZmlsZU5vZGVUcmVlRWxlbWVudCA9IG5l
dyBXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVUcmVlRWxlbWVudChwcm9maWxlTm9kZSwgdGhpcyk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUgPSBu
ZXcgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlKHByb2ZpbGVOb2RlLCB0aGlz
Lnplcm9UaW1lLCB0aGlzLnN0YXJ0VGltZSwgdGhpcy5lbmRUaW1lKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9yZGVyKHByb2ZpbGVOb2RlVHJl
ZUVsZW1lbnQsIHByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLCBjaGlsZFRyZWVFbGVtZW50KTsKKyAg
ICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvZmlsZU5vZGUgb2Ygcm9vdE5vZGVzKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUgPSBuZXcg
V2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlKHByb2ZpbGVOb2RlLCB0aGlzLnpl
cm9UaW1lLCB0aGlzLnN0YXJ0VGltZSwgdGhpcy5lbmRUaW1lKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9yZGVyKG51bGwsIHByb2ZpbGVOb2Rl
RGF0YUdyaWROb2RlLCBjaGlsZERhdGFHcmlkTm9kZSk7CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBpZiAoY2hpbGRUcmVlRWxlbWVu
dCAmJiBjaGlsZFJlY29yZC5jaGlsZHJlbi5sZW5ndGgpCi0gICAgICAgICAgICAgICAgICAgIHN0
YWNrLnB1c2goe2NoaWxkcmVuOiBjaGlsZFJlY29yZC5jaGlsZHJlbiwgcGFyZW50VHJlZUVsZW1l
bnQ6IGNoaWxkVHJlZUVsZW1lbnQsIGluZGV4OiAwfSk7CisgICAgICAgICAgICAgICAgaWYgKGNo
aWxkRGF0YUdyaWROb2RlICYmIGNoaWxkUmVjb3JkLmNoaWxkcmVuLmxlbmd0aCkKKyAgICAgICAg
ICAgICAgICAgICAgc3RhY2sucHVzaCh7Y2hpbGRyZW46IGNoaWxkUmVjb3JkLmNoaWxkcmVuLCBw
YXJlbnREYXRhR3JpZE5vZGU6IGNoaWxkRGF0YUdyaWROb2RlLCBpbmRleDogMH0pOwogICAgICAg
ICAgICAgICAgICsrZW50cnkuaW5kZXg7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTMy
Niw3ICsyODksNyBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcgPSBj
bGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldyBleHRlbgogCiAgICAgX3Njb3BlQmFyU2Vs
ZWN0aW9uRGlkQ2hhbmdlKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhpcy50aW1lbGluZVNpZGVi
YXJQYW5lbC51cGRhdGVGaWx0ZXIoKTsKKyAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtp
dC5vcmcvYi8xNTQ5MjQ+IFdlYiBJbnNwZWN0b3I6IGhvb2sgdXAgZ3JpZCByb3cgZmlsdGVyaW5n
IGluIHRoZSBuZXcgVGltZWxpbmVzIFVJCiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0Q2x1c3RlclRpbWVsaW5l
Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njcmlw
dENsdXN0ZXJUaW1lbGluZVZpZXcuanMKaW5kZXggNzczNzY3ZjRmYmUxYzdjZGQxMjcwZmM4ZjI0
ZmQ2YWI2NmM5ODNkNy4uODVmNzk1Y2FiYTA0YmRlM2RkODk2MWI3ZDM5NjVmNWFiM2Q3YzcyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Ny
aXB0Q2x1c3RlclRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TY3JpcHRDbHVzdGVyVGltZWxpbmVWaWV3LmpzCkBAIC0zMSw4ICsz
MSw2IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRDbHVzdGVyVGltZWxpbmVWaWV3ID0gY2xhc3MgU2Ny
aXB0Q2x1c3RlclRpbWVsaW5lVmlldyBleHRlbmRzCiAKICAgICAgICAgY29uc29sZS5hc3NlcnQo
dGltZWxpbmUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0
KTsKIAotICAgICAgICB0aGlzLl9leHRyYUFyZ3VtZW50cyA9IGV4dHJhQXJndW1lbnRzOwotCiAg
ICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZW50Vmlld1NldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9y
LlNldHRpbmcoInNjcmlwdC1jbHVzdGVyLXRpbWVsaW5lLXZpZXctY3VycmVudC12aWV3IiwgV2Vi
SW5zcGVjdG9yLlNjcmlwdENsdXN0ZXJUaW1lbGluZVZpZXcuRXZlbnRzSWRlbnRpZmllcik7CiAK
ICAgICAgICAgbGV0IHNob3dTZWxlY3RvckFycm93cyA9IHRoaXMuX2NhblNob3dQcm9maWxlVmll
dygpOwpAQCAtNTIsOCArNTAsOCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0Q2x1c3RlclRpbWVsaW5l
VmlldyA9IGNsYXNzIFNjcmlwdENsdXN0ZXJUaW1lbGluZVZpZXcgZXh0ZW5kcwogICAgICAgICB9
CiAKICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSB0aGVzZSBs
YXppbHkuCi0gICAgICAgIHRoaXMuX2V2ZW50c0NvbnRlbnRWaWV3ID0gbmV3IFdlYkluc3BlY3Rv
ci5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3KHRoaXMucmVwcmVzZW50ZWRPYmplY3QsIHRoaXMu
X2V4dHJhQXJndW1lbnRzKTsKLSAgICAgICAgdGhpcy5fcHJvZmlsZUNvbnRlbnRWaWV3ID0gdGhp
cy5fY2FuU2hvd1Byb2ZpbGVWaWV3KCkgPyBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdFByb2ZpbGVU
aW1lbGluZVZpZXcodGhpcy5yZXByZXNlbnRlZE9iamVjdCwgdGhpcy5fZXh0cmFBcmd1bWVudHMp
IDogbnVsbDsKKyAgICAgICAgdGhpcy5fZXZlbnRzQ29udGVudFZpZXcgPSBuZXcgV2ViSW5zcGVj
dG9yLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcodGhpcy5yZXByZXNlbnRlZE9iamVjdCwgZXh0
cmFBcmd1bWVudHMpOworICAgICAgICB0aGlzLl9wcm9maWxlQ29udGVudFZpZXcgPSB0aGlzLl9j
YW5TaG93UHJvZmlsZVZpZXcoKSA/IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0UHJvZmlsZVRpbWVs
aW5lVmlldyh0aGlzLnJlcHJlc2VudGVkT2JqZWN0LCBleHRyYUFyZ3VtZW50cykgOiBudWxsOwog
CiAgICAgICAgIHRoaXMuX3Nob3dDb250ZW50Vmlld0ZvcklkZW50aWZpZXIodGhpcy5fY3VycmVu
dENvbnRlbnRWaWV3U2V0dGluZy52YWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxz
VGltZWxpbmVWaWV3LmpzCmluZGV4IDhmZGQ0NGMzMTgzMGJlN2M5YWM3ZWQ3YmEwYmQ1Yzg1ZWEx
Zjg1NGUuLjlmMDVkMzVlZmQwMDY3OTQ2YTYzMjk1MmY5M2Q3MmZiOTU2NDBhMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFp
bHNUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcwpAQCAtMzEsOCArMzEsNiBAQCBX
ZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyA9IGNsYXNzIFNjcmlwdERldGFp
bHNUaW1lbGluZVZpZXcgZXh0ZW5kcwogCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5l
LnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CiAKLSAg
ICAgICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLmVsZW1lbnQuY2xhc3NMaXN0
LmFkZCgic2NyaXB0Iik7Ci0KICAgICAgICAgbGV0IGNvbHVtbnMgPSB7bmFtZToge30sIGxvY2F0
aW9uOiB7fSwgY2FsbENvdW50OiB7fSwgc3RhcnRUaW1lOiB7fSwgdG90YWxUaW1lOiB7fSwgc2Vs
ZlRpbWU6IHt9LCBhdmVyYWdlVGltZToge319OwogCiAgICAgICAgIGNvbHVtbnMubmFtZS50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpOwpAQCAtNzMsNyArNzEsNyBAQCBXZWJJ
bnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyA9IGNsYXNzIFNjcmlwdERldGFpbHNU
aW1lbGluZVZpZXcgZXh0ZW5kcwogICAgICAgICBmb3IgKHZhciBjb2x1bW4gaW4gY29sdW1ucykK
ICAgICAgICAgICAgIGNvbHVtbnNbY29sdW1uXS5zb3J0YWJsZSA9IHRydWU7CiAKLSAgICAgICAg
dGhpcy5fZGF0YUdyaWQgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWQo
dGhpcy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLCBjb2x1bW5zLCB0aGlzKTsKKyAgICAg
ICAgdGhpcy5fZGF0YUdyaWQgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdy
aWQobnVsbCwgY29sdW1ucywgdGhpcyk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWQuRXZlbnQuRmlsdGVyc0RpZENo
YW5nZSwgdGhpcy5fZGF0YUdyaWRGaWx0ZXJzRGlkQ2hhbmdlLCB0aGlzKTsKICAgICAgICAgdGhp
cy5fZGF0YUdyaWQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGF0YUdyaWQuRXZlbnQu
U2VsZWN0ZWROb2RlQ2hhbmdlZCwgdGhpcy5fZGF0YUdyaWROb2RlU2VsZWN0ZWQsIHRoaXMpOwog
ICAgICAgICB0aGlzLl9kYXRhR3JpZC5zb3J0Q29sdW1uSWRlbnRpZmllclNldHRpbmcgPSBuZXcg
V2ViSW5zcGVjdG9yLlNldHRpbmcoInNjcmlwdC10aW1lbGluZS12aWV3LXNvcnQiLCAic3RhcnRU
aW1lIik7CkBAIC05MCwxMSArODgsNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVs
aW5lVmlldyA9IGNsYXNzIFNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcgZXh0ZW5kcwogCiAgICAg
Ly8gUHVibGljCiAKLSAgICBnZXQgbmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZUxhYmVsKCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlY29yZHMiKTsK
LSAgICB9Ci0KICAgICBzaG93bigpCiAgICAgewogICAgICAgICBzdXBlci5zaG93bigpOwpAQCAt
MTgwLDM0ICsxNzMsNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyA9
IGNsYXNzIFNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcgZXh0ZW5kcwogICAgICAgICBkYXRhR3Jp
ZE5vZGUucmV2ZWFsQW5kU2VsZWN0KCk7CiAgICAgfQogCi0gICAgdHJlZUVsZW1lbnRTZWxlY3Rl
ZCh0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCi0gICAgewotICAgICAgICBpZiAodGhpcy5f
ZGF0YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZlbnQoKSkKLSAgICAgICAgICAgIHJldHVy
bjsKLQotICAgICAgICBzdXBlci50cmVlRWxlbWVudFNlbGVjdGVkKHRyZWVFbGVtZW50LCBzZWxl
Y3RlZEJ5VXNlcik7Ci0gICAgfQotCi0gICAgZGF0YUdyaWROb2RlRm9yVHJlZUVsZW1lbnQodHJl
ZUVsZW1lbnQpCi0gICAgewotICAgICAgICBpZiAodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuUHJvZmlsZU5vZGVUcmVlRWxlbWVudCkKLSAgICAgICAgICAgIHJldHVybiBuZXcg
V2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlKHRyZWVFbGVtZW50LnByb2ZpbGVO
b2RlLCB0aGlzLnplcm9UaW1lLCB0aGlzLnN0YXJ0VGltZSwgdGhpcy5lbmRUaW1lKTsKLSAgICAg
ICAgcmV0dXJuIG51bGw7Ci0gICAgfQotCi0gICAgcG9wdWxhdGVQcm9maWxlTm9kZVRyZWVFbGVt
ZW50KHRyZWVFbGVtZW50KQotICAgIHsKLSAgICAgICAgdmFyIHplcm9UaW1lID0gdGhpcy56ZXJv
VGltZTsKLSAgICAgICAgdmFyIHN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lOwotICAgICAgICB2
YXIgZW5kVGltZSA9IHRoaXMuZW5kVGltZTsKLQotICAgICAgICBmb3IgKHZhciBjaGlsZFByb2Zp
bGVOb2RlIG9mIHRyZWVFbGVtZW50LnByb2ZpbGVOb2RlLmNoaWxkTm9kZXMpIHsKLSAgICAgICAg
ICAgIHZhciBwcm9maWxlTm9kZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxl
Tm9kZVRyZWVFbGVtZW50KGNoaWxkUHJvZmlsZU5vZGUsIHRoaXMpOwotICAgICAgICAgICAgdmFy
IHByb2ZpbGVOb2RlRGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURh
dGFHcmlkTm9kZShjaGlsZFByb2ZpbGVOb2RlLCB6ZXJvVGltZSwgc3RhcnRUaW1lLCBlbmRUaW1l
KTsKLSAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9yZGVyKHByb2ZpbGVO
b2RlVHJlZUVsZW1lbnQsIHByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLCB0cmVlRWxlbWVudCk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KICAgICBsYXlvdXQoKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMu
c3RhcnRUaW1lICE9PSB0aGlzLl9vbGRTdGFydFRpbWUgfHwgdGhpcy5lbmRUaW1lICE9PSB0aGlz
Ll9vbGRFbmRUaW1lKSB7CkBAIC0yNDAsMjIgKzIwNSwxOSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
RGV0YWlsc1RpbWVsaW5lVmlldyA9IGNsYXNzIFNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcgZXh0
ZW5kcwogICAgICAgICBsZXQgc3RhcnRUaW1lID0gdGhpcy5zdGFydFRpbWU7CiAgICAgICAgIGxl
dCBlbmRUaW1lID0gdGhpcy5lbmRUaW1lOwogCi0gICAgICAgIGZvciAodmFyIHNjcmlwdFRpbWVs
aW5lUmVjb3JkIG9mIHRoaXMuX3BlbmRpbmdSZWNvcmRzKSB7Ci0gICAgICAgICAgICB2YXIgcm9v
dE5vZGVzID0gW107CisgICAgICAgIGZvciAobGV0IHNjcmlwdFRpbWVsaW5lUmVjb3JkIG9mIHRo
aXMuX3BlbmRpbmdSZWNvcmRzKSB7CisgICAgICAgICAgICBsZXQgcm9vdE5vZGVzID0gW107CiAg
ICAgICAgICAgICBpZiAoc2NyaXB0VGltZWxpbmVSZWNvcmQucHJvZmlsZSkgewogICAgICAgICAg
ICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHVzaW5nIHRoZSBib3R0b20tdXAgdHJlZSBvbmNlIGl0
IGlzIGltcGxlbWVudGVkLgogICAgICAgICAgICAgICAgIHJvb3ROb2RlcyA9IHNjcmlwdFRpbWVs
aW5lUmVjb3JkLnByb2ZpbGUudG9wRG93blJvb3ROb2RlczsKICAgICAgICAgICAgIH0KIAotICAg
ICAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50KHNjcmlwdFRpbWVsaW5lUmVjb3JkLCBXZWJJbnNwZWN0b3IuU291cmNlQ29k
ZUxvY2F0aW9uLk5hbWVTdHlsZS5TaG9ydCwgdHJ1ZSk7Ci0gICAgICAgICAgICB2YXIgZGF0YUdy
aWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZShzY3Jp
cHRUaW1lbGluZVJlY29yZCwgemVyb1RpbWUpOwotCi0gICAgICAgICAgICB0aGlzLl9kYXRhR3Jp
ZC5hZGRSb3dJblNvcnRPcmRlcih0cmVlRWxlbWVudCwgZGF0YUdyaWROb2RlKTsKKyAgICAgICAg
ICAgIGxldCBkYXRhR3JpZE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0
YUdyaWROb2RlKHNjcmlwdFRpbWVsaW5lUmVjb3JkLCB6ZXJvVGltZSk7CisgICAgICAgICAgICB0
aGlzLl9kYXRhR3JpZC5hZGRSb3dJblNvcnRPcmRlcihudWxsLCBkYXRhR3JpZE5vZGUpOwogCi0g
ICAgICAgICAgICBmb3IgKHZhciBwcm9maWxlTm9kZSBvZiByb290Tm9kZXMpIHsKLSAgICAgICAg
ICAgICAgICB2YXIgcHJvZmlsZU5vZGVUcmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuUHJv
ZmlsZU5vZGVUcmVlRWxlbWVudChwcm9maWxlTm9kZSwgdGhpcyk7Ci0gICAgICAgICAgICAgICAg
dmFyIHByb2ZpbGVOb2RlRGF0YUdyaWROb2RlID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlTm9k
ZURhdGFHcmlkTm9kZShwcm9maWxlTm9kZSwgemVyb1RpbWUsIHN0YXJ0VGltZSwgZW5kVGltZSk7
Ci0gICAgICAgICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkUm93SW5Tb3J0T3JkZXIocHJvZmls
ZU5vZGVUcmVlRWxlbWVudCwgcHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUsIHRyZWVFbGVtZW50KTsK
KyAgICAgICAgICAgIGZvciAobGV0IHByb2ZpbGVOb2RlIG9mIHJvb3ROb2RlcykgeworICAgICAg
ICAgICAgICAgIGxldCBwcm9maWxlTm9kZURhdGFHcmlkTm9kZSA9IG5ldyBXZWJJbnNwZWN0b3Iu
UHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUocHJvZmlsZU5vZGUsIHplcm9UaW1lLCBzdGFydFRpbWUs
IGVuZFRpbWUpOworICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9y
ZGVyKG51bGwsIHByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLCBkYXRhR3JpZE5vZGUpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAKQEAgLTI3OSw3ICsyNDEsNyBAQCBXZWJJbnNwZWN0b3IuU2Ny
aXB0RGV0YWlsc1RpbWVsaW5lVmlldyA9IGNsYXNzIFNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcg
ZXh0ZW5kcwogCiAgICAgX2RhdGFHcmlkRmlsdGVyc0RpZENoYW5nZShldmVudCkKICAgICB7Ci0g
ICAgICAgIHRoaXMudGltZWxpbmVTaWRlYmFyUGFuZWwudXBkYXRlRmlsdGVyKCk7CisgICAgICAg
IC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU0OTI0PiBXZWIgSW5zcGVjdG9yOiBo
b29rIHVwIGdyaWQgcm93IGZpbHRlcmluZyBpbiB0aGUgbmV3IFRpbWVsaW5lcyBVSQogICAgIH0K
IAogICAgIF9kYXRhR3JpZE5vZGVTZWxlY3RlZChldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWQuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlk
LmpzCmluZGV4IDgyMTkxN2RkMjYwNDMxODdiZWIxOGU0NDg4Mzc1NWRiNGRmMmUxNWMuLjQyMmY5
Yzk4MGMzNjc0YTcyZTViMzNmMjRlMjFiOTA4MDVlM2NjMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWQuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRh
R3JpZC5qcwpAQCAtMTUzLDI5ICsxNTMsOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3Jp
ZCA9IGNsYXNzIFRpbWVsaW5lRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuRGF0YQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBhZGRSb3dJblNvcnRPcmRlcih0cmVlRWxl
bWVudCwgZGF0YUdyaWROb2RlLCBwYXJlbnRFbGVtZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5f
dHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5hc3NvY2lhdGUodHJlZUVsZW1lbnQsIGRh
dGFHcmlkTm9kZSk7Ci0KLSAgICAgICAgcGFyZW50RWxlbWVudCA9IHBhcmVudEVsZW1lbnQgfHwg
dGhpcy5fdHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci50cmVlT3V0bGluZTsKLSAgICAg
ICAgdmFyIHBhcmVudE5vZGUgPSBwYXJlbnRFbGVtZW50LnJvb3QgPyB0aGlzIDogdGhpcy5fdHJl
ZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5kYXRhR3JpZE5vZGVGb3JUcmVlRWxlbWVudChw
YXJlbnRFbGVtZW50KTsKLQotICAgICAgICBjb25zb2xlLmFzc2VydChwYXJlbnROb2RlKTsKLQot
ICAgICAgICBpZiAodGhpcy5zb3J0Q29sdW1uSWRlbnRpZmllcikgewotICAgICAgICAgICAgdmFy
IGluc2VydGlvbkluZGV4ID0gaW5zZXJ0aW9uSW5kZXhGb3JPYmplY3RJbkxpc3RTb3J0ZWRCeUZ1
bmN0aW9uKGRhdGFHcmlkTm9kZSwgcGFyZW50Tm9kZS5jaGlsZHJlbiwgdGhpcy5fc29ydENvbXBh
cmF0b3IuYmluZCh0aGlzKSk7Ci0KLSAgICAgICAgICAgIC8vIEluc2VydCBpbnRvIHRoZSBwYXJl
bnQsIHdoaWNoIHdpbGwgY2F1c2UgdGhlIHN5bmNocm9uaXplciB0byBpbnNlcnQgaW50byB0aGUg
ZGF0YSBncmlkLgotICAgICAgICAgICAgcGFyZW50RWxlbWVudC5pbnNlcnRDaGlsZCh0cmVlRWxl
bWVudCwgaW5zZXJ0aW9uSW5kZXgpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
QXBwZW5kIHRvIHRoZSBwYXJlbnQsIHdoaWNoIHdpbGwgY2F1c2UgdGhlIHN5bmNocm9uaXplciB0
byBhcHBlbmQgdG8gdGhlIGRhdGEgZ3JpZC4KLSAgICAgICAgICAgIHBhcmVudEVsZW1lbnQuYXBw
ZW5kQ2hpbGQodHJlZUVsZW1lbnQpOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgYWRkUm93SW5T
b3J0T3JkZXIodHJlZUVsZW1lbnQsIGRhdGFHcmlkTm9kZSwgcGFyZW50VHJlZUVsZW1lbnRPckRh
dGFHcmlkTm9kZSkKICAgICB7Ci0gICAgICAgIGxldCBwYXJlbnREYXRhR3JpZE5vZGUgPSBwYXJl
bnRUcmVlRWxlbWVudE9yRGF0YUdyaWROb2RlIHx8IHRoaXM7CisgICAgICAgIGxldCBwYXJlbnRE
YXRhR3JpZE5vZGU7CiAgICAgICAgIGxldCBjaGlsZEVsZW1lbnQgPSBkYXRhR3JpZE5vZGU7CiAK
ICAgICAgICAgaWYgKHRyZWVFbGVtZW50KSB7CkBAIC0xOTIsNiArMTcyLDkgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lRGF0YUdyaWQgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlkIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLkRhdGEKIAogICAgICAgICAgICAgcGFyZW50VHJlZUVsZW1lbnRPckRhdGFHcmlk
Tm9kZSA9IHBhcmVudFRyZWVFbGVtZW50OwogICAgICAgICAgICAgY2hpbGRFbGVtZW50ID0gdHJl
ZUVsZW1lbnQ7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwYXJlbnRUcmVlRWxlbWVu
dE9yRGF0YUdyaWROb2RlID0gcGFyZW50VHJlZUVsZW1lbnRPckRhdGFHcmlkTm9kZSB8fCB0aGlz
OworICAgICAgICAgICAgcGFyZW50RGF0YUdyaWROb2RlID0gcGFyZW50VHJlZUVsZW1lbnRPckRh
dGFHcmlkTm9kZTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICh0aGlzLnNvcnRDb2x1bW5JZGVu
dGlmaWVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5q
cwppbmRleCBlNDlmODUyNmRlZmU2MGRmNDZhYzRiZWJmMDM2Yjc2ZjA2Yjc0YWFjLi5hNzk2MzUz
NmNmNDBjZGIzNjRiNmRkZDVlMDE3N2ExZTk2Y2JiZTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKQEAgLTI2LDE1ICsyNiwxMSBAQAogCiBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcKIHsKLSAg
ICBjb25zdHJ1Y3RvcihyZWNvcmRpbmcsIGV4dHJhQXJndW1lbnRzKQorICAgIGNvbnN0cnVjdG9y
KHJlY29yZGluZykKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGV4dHJhQXJndW1lbnRz
KTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoZXh0cmFBcmd1bWVudHMudGltZWxpbmVTaWRlYmFy
UGFuZWwgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwpOwotCiAg
ICAgICAgIHN1cGVyKHJlY29yZGluZyk7CiAKICAgICAgICAgdGhpcy5fcmVjb3JkaW5nID0gcmVj
b3JkaW5nOwotICAgICAgICB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbCA9IGV4dHJhQXJndW1l
bnRzLnRpbWVsaW5lU2lkZWJhclBhbmVsOwogCiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xp
c3QuYWRkKCJ0aW1lbGluZS1yZWNvcmRpbmciKTsKIApAQCAtNjEsNyArNTcsNyBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcgZQogICAgICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0
ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtKCJjbGVhci10aW1lbGlu
ZSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2xlYXIgVGltZWxpbmUiKSwgIkltYWdlcy9OYXZp
Z2F0aW9uSXRlbVRyYXNoLnN2ZyIsIDE1LCAxNSk7CiAgICAgICAgIHRoaXMuX2NsZWFyVGltZWxp
bmVOYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZp
Z2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9jbGVhclRpbWVsaW5lLCB0aGlzKTsKIAot
ICAgICAgICB0aGlzLl9vdmVydmlld1RpbWVsaW5lVmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuT3Zl
cnZpZXdUaW1lbGluZVZpZXcocmVjb3JkaW5nLCB7dGltZWxpbmVTaWRlYmFyUGFuZWw6IHRoaXMu
X3RpbWVsaW5lU2lkZWJhclBhbmVsfSk7CisgICAgICAgIHRoaXMuX292ZXJ2aWV3VGltZWxpbmVW
aWV3ID0gbmV3IFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldyhyZWNvcmRpbmcpOwog
ICAgICAgICB0aGlzLl9vdmVydmlld1RpbWVsaW5lVmlldy5zZWNvbmRzUGVyUGl4ZWwgPSB0aGlz
Ll90aW1lbGluZU92ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbDsKIAogICAgICAgICB0aGlzLl90aW1l
bGluZVZpZXdNYXAgPSBuZXcgTWFwOwpAQCAtMzQzLDcgKzMzOSw3IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250
ZW50VmlldyBlCiAgICAgICAgICAgICBpY29uQ2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lVGFiQ29udGVudFZpZXcuaWNvbkNsYXNzTmFtZUZvclRpbWVsaW5lKHJlcHJlc2VudGVkT2Jq
ZWN0KTsKICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEZXRhaWxz
Iik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpY29uQ2xhc3NOYW1lID0gInN0b3B3
YXRjaC1pY29uIjsKKyAgICAgICAgICAgIGljb25DbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVUYWJDb250ZW50Vmlldy5TdG9wd2F0Y2hJY29uU3R5bGVDbGFzczsKICAgICAgICAgICAg
IHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJPdmVydmlldyIpOwogICAgICAgICB9CiAK
QEAgLTM4MywxMCArMzc5LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKIAogICAgICAgICB0
aGlzLl90aW1lbGluZU92ZXJ2aWV3LnZpZXdNb2RlID0gbmV3Vmlld01vZGU7CiAKLSAgICAgICAg
aWYgKHRpbWVsaW5lVmlldyBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcpIHsK
LSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLmNvbnRlbnRUcmVlT3V0bGlu
ZSA9IHRpbWVsaW5lVmlldy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lOwotICAgICAgICAg
ICAgdGhpcy5fdGltZWxpbmVTaWRlYmFyUGFuZWwuY29udGVudFRyZWVPdXRsaW5lTGFiZWwgPSB0
aW1lbGluZVZpZXcubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZUxhYmVsOwotCisgICAgICAg
IGlmICh0aW1lbGluZVZpZXcpIHsKICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRpbWVsaW5lVmll
d1NlbGVjdGlvbih0aW1lbGluZVZpZXcpOwogICAgICAgICAgICAgdGltZWxpbmVWaWV3LmN1cnJl
bnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWU7CiAKQEAgLTQwMyw3ICszOTYsNiBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcgZQogCiAgICAgX3BhdGhDb21wb25lbnRTZWxlY3RlZChldmVudCkKICAg
ICB7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLnNob3dUaW1lbGluZVZpZXdG
b3JUaW1lbGluZShldmVudC5kYXRhLnBhdGhDb21wb25lbnQucmVwcmVzZW50ZWRPYmplY3QpOwog
ICAgIH0KIAogICAgIF90aW1lUmFuZ2VQYXRoQ29tcG9uZW50U2VsZWN0ZWQoZXZlbnQpCkBAIC00
OTgsNyArNDkwLDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcg
PSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKICAgICAgICAgaWYgKHRoaXMu
X3RpbWVsaW5lT3ZlcnZpZXcudGltZWxpbmVSdWxlci5lbnRpcmVSYW5nZVNlbGVjdGVkKQogICAg
ICAgICAgICAgdGhpcy5fdXBkYXRlVGltZWxpbmVWaWV3U2VsZWN0aW9uKHRoaXMuX292ZXJ2aWV3
VGltZWxpbmVWaWV3KTsKIAotICAgICAgICB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC51cGRh
dGVGaWx0ZXIoKTsKKyAgICAgICAgLy8gRmlsdGVyIHJlY29yZHMgb24gbmV3IHJlY29yZGluZyB0
aW1lcy4KKyAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTQ5MjQ+IFdl
YiBJbnNwZWN0b3I6IGhvb2sgdXAgZ3JpZCByb3cgZmlsdGVyaW5nIGluIHRoZSBuZXcgVGltZWxp
bmVzIFVJCiAKICAgICAgICAgLy8gRm9yY2UgYSBsYXlvdXQgbm93IHNpbmNlIHdlIGFyZSBhbHJl
YWR5IGluIGFuIGFuaW1hdGlvbiBmcmFtZSBhbmQgZG9uJ3QgbmVlZCB0byBkZWxheSBpdCB1bnRp
bCB0aGUgbmV4dC4KICAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy51cGRhdGVMYXlvdXRJ
Zk5lZWRlZCgpOwpAQCAtNjIwLDcgKzYxMyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAg
ICAgICAgIGxldCB0aW1lbGluZSA9IHRoaXMuX3JlY29yZGluZy50aW1lbGluZUZvckluc3RydW1l
bnQoaW5zdHJ1bWVudCk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl90aW1lbGluZVZp
ZXdNYXAuaGFzKHRpbWVsaW5lKSwgdGltZWxpbmUpOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5l
Vmlld01hcC5zZXQodGltZWxpbmUsIFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5jcmVhdGVGcm9t
UmVwcmVzZW50ZWRPYmplY3QodGltZWxpbmUsIHt0aW1lbGluZVNpZGViYXJQYW5lbDogdGhpcy5f
dGltZWxpbmVTaWRlYmFyUGFuZWwsIHJlY29yZGluZzogdGhpcy5fcmVjb3JkaW5nfSkpOworICAg
ICAgICB0aGlzLl90aW1lbGluZVZpZXdNYXAuc2V0KHRpbWVsaW5lLCBXZWJJbnNwZWN0b3IuQ29u
dGVudFZpZXcuY3JlYXRlRnJvbVJlcHJlc2VudGVkT2JqZWN0KHRpbWVsaW5lLCB7cmVjb3JkaW5n
OiB0aGlzLl9yZWNvcmRpbmd9KSk7CiAgICAgICAgIGlmICh0aW1lbGluZS50eXBlID09PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkKICAgICAgICAgICAg
IHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmUgPSB0aW1lbGluZTsKIApAQCAtNzI4LDcgKzcy
MSw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3Mg
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRU
cmVlRWxlbWVudCA9IHRoaXMuY3VycmVudFRpbWVsaW5lVmlldyAmJiB0aGlzLmN1cnJlbnRUaW1l
bGluZVZpZXcubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZSA/IHRoaXMuY3VycmVudFRpbWVs
aW5lVmlldy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQg
OiBudWxsOwogICAgICAgICAgICAgdmFyIHNlbGVjdGlvbldhc0hpZGRlbiA9IHNlbGVjdGVkVHJl
ZUVsZW1lbnQgJiYgc2VsZWN0ZWRUcmVlRWxlbWVudC5oaWRkZW47CiAKLSAgICAgICAgICAgIHRo
aXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLnVwZGF0ZUZpbHRlcigpOworICAgICAgICAgICAgLy8g
RmlsdGVyIHJlY29yZHMgb24gbmV3IHRpbWVsaW5lIHNlbGVjdGlvbi4KKyAgICAgICAgICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU0OTI0PiBXZWIgSW5zcGVjdG9yOiBob29r
IHVwIGdyaWQgcm93IGZpbHRlcmluZyBpbiB0aGUgbmV3IFRpbWVsaW5lcyBVSQogCiAgICAgICAg
ICAgICBpZiAoc2VsZWN0ZWRUcmVlRWxlbWVudCAmJiBzZWxlY3RlZFRyZWVFbGVtZW50LmhpZGRl
biAhPT0gc2VsZWN0aW9uV2FzSGlkZGVuKQogICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5TZWxlY3Rpb25Q
YXRoQ29tcG9uZW50c0RpZENoYW5nZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5jc3MgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5j
c3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwZjllMzJkMDE4YjRjMzg3YTQ4OWVm
NmRjNGU2YzI2MmIwOTczN2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVTaWRlYmFyUGFuZWwuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTk5ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLm5hdmlnYXRp
b24tYmFyID4gLml0ZW0ucmVjb3JkLXN0YXJ0LXN0b3AgewotICAgIC8qIFdvcmthcm91bmQgZm9y
IGJhY2tncm91bmQgaW1hZ2UgY2xpcHBpbmcgaXNzdWUgb24gbm9uLXJldGluYSBtYWNoaW5lcy4g
U2VlIGh0dHA6Ly93ZWJraXQub3JnL2IvMTQ3MzQ2LiAqLwotICAgIGZpbHRlcjogYnJpZ2h0bmVz
cygxMDAlKTsKLX0KLQotLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC5u
YXZpZ2F0aW9uLWJhciA+IC5pdGVtLnJlY29yZC1zdGFydC1zdG9wOmhvdmVyIHsKLSAgICBmaWx0
ZXI6IGJyaWdodG5lc3MoOTUlKTsKLX0KLQotLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50
aW1lbGluZSA+IC5uYXZpZ2F0aW9uLWJhciA+IC5pdGVtLnJlY29yZC1zdGFydC1zdG9wOmFjdGl2
ZSB7Ci0gICAgZmlsdGVyOiBicmlnaHRuZXNzKDgwJSk7Ci19Ci0KLS5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24udGltZWxpbmUgPiAubmF2aWdhdGlvbi1iYXIgPiAuaXRlbS5yZWNvcmQtc3Rh
cnQtc3RvcCAqIHsKLSAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKLX0KLQotLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC5uYXZpZ2F0aW9uLWJhciA+IC5pdGVtLmZsZXhp
YmxlLXNwYWNlIHsKLSAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKLQotICAgIGxpbmUtaGVp
Z2h0OiAyMHB4OwotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotCi0gICAgY29sb3I6IGhzbCgwLCAw
JSwgMjklKTsKLSAgICB0ZXh0LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC41KSAwIDFweCAw
OwotfQotCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJh
ciB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIGxlZnQ6IDA7Ci0gICAgcmlnaHQ6IDA7
Ci0KLSAgICBoZWlnaHQ6IDI5cHg7Ci0KLSAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFy
KC0tYm9yZGVyLWNvbG9yKTsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYW5lbC1iYWNr
Z3JvdW5kLWNvbG9yKTsKLSAgICBjb2xvcjogaHNsKDAsIDAlLCAyMiUpOwotCi0gICAgd2hpdGUt
c3BhY2U6IG5vd3JhcDsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgIHRleHQtb3ZlcmZsb3c6
IGVsbGlwc2lzOwotCi0gICAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0KLSAgICBwYWRkaW5nOiA0cHgg
OXB4OwotCi0gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwot
fQotCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50
aW1lbGluZXMgewotICAgIHRvcDogMjlweDsKLSAgICBwYWRkaW5nOiA4cHggOXB4OwotfQotCi0u
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLm5hdmlnYXRpb24tYmFyLWNv
bnRhaW5lciB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHRvcDogMjlweDsKLSAgICBs
ZWZ0OiAwOwotICAgIHJpZ2h0OiAwOwotfQotCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LnRpbWVsaW5lID4gLm5hdmlnYXRpb24tYmFyLWNvbnRhaW5lciA+IC5uYXZpZ2F0aW9uLWJhciB7
Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHRvcDogMDsKLSAgICBsZWZ0OiAwOwotICAg
IHJpZ2h0OiAwOwotICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKLX0KLQotLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aXRsZS1iYXIudGltZWxpbmUtZXZlbnRzIHsK
LSAgICBkaXNwbGF5OiBmbGV4OwotICAgIGhlaWdodDogMjNweDsKLSAgICBib3JkZXItdG9wOiAx
cHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKLX0KLQotLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi50aW1lbGluZSA+IC50aXRsZS1iYXIudGltZWxpbmUtZXZlbnRzID4gLnRpdGxlLWJh
ci1zY29wZS1iYXIgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgICB0b3A6IDJweDsKLSAg
ICByaWdodDogMDsKLSAgICBmb250LXdlaWdodDogbm9ybWFsOwotfQotCi0uc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50aW1lbGluZS1ldmVudHMgPiAu
dGl0bGUtYmFyLXNjb3BlLWJhciA+IC5kZWZhdWx0LWl0ZW0tc2VsZWN0ZWQgPiAubXVsdGlwbGUg
ewotICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwotICAgIGNvbG9yOiBibGFjazsK
LX0KLQotLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aXRsZS1iYXIu
dGltZWxpbmUtZXZlbnRzID4gLnRpdGxlLWJhci1zY29wZS1iYXIgPiAuZGVmYXVsdC1pdGVtLXNl
bGVjdGVkID4gLm11bHRpcGxlIC5hcnJvd3MgewotICAgIGNvbG9yOiBibGFjazsKLX0KLQotLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCB7
Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHRvcDogNThweDsKLSAgICBsZWZ0OiAwOwot
ICAgIHJpZ2h0OiAwOwotCi0gICAgb3ZlcmZsb3c6IGhpZGRlbjsKLX0KLQotLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCAuY2xvc2UtYnV0
dG9uIHsKLSAgICB3aWR0aDogMTRweDsKLQotICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKLX0KLQot
LnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVu
dCBsaS5pdGVtIC5pY29uIHsKLSAgICB3aWR0aDogMjRweDsKLSAgICBoZWlnaHQ6IDI0cHg7Ci0g
ICAgbWFyZ2luLXRvcDogNXB4OwotfQotCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRp
bWVsaW5lID4gLnRpbWVsaW5lcy1jb250ZW50IGxpLml0ZW0uc2VsZWN0ZWQgLmNsb3NlLWJ1dHRv
biB7Ci0gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKLX0KLQotLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCBsaS5pdGVtOm5vdCguc2VsZWN0
ZWQpOm50aC1jaGlsZChldmVuKSB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwg
MCUsIDAuMDMpOwotICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7Ci19Ci0KLS5zaWRl
YmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAudGltZWxpbmVzLWNvbnRlbnQgbGku
aXRlbTpub3QoLnNlbGVjdGVkKTpub3QoOmZpcnN0LWNoaWxkKSB7Ci0gICAgYm9yZGVyLXRvcDog
MXB4IHNvbGlkIGhzbGEoMCwgMCUsIDAlLCAwLjA5KTsKLX0KLQotLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCBsaS5pdGVtLnNlbGVjdGVk
ICsgbGkuaXRlbSB7Ci0gICAgYm9yZGVyLXRvcC1jb2xvcjogaHNsKDAsIDAlLCA4MyUpOwotfQot
Ci1ib2R5LndpbmRvdy1pbmFjdGl2ZSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVs
aW5lID4gLnRpbWVsaW5lcy1jb250ZW50IGxpLml0ZW0uc2VsZWN0ZWQgKyBsaS5pdGVtIHsKLSAg
ICBib3JkZXItdG9wLWNvbG9yOiBoc2woMCwgMCUsIDgzJSk7Ci19Ci0KLS5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAudGltZWxpbmVzLWNvbnRlbnQgOmZvY3VzIGxpLml0
ZW0uc2VsZWN0ZWQgKyBsaS5pdGVtIHsKLSAgICBib3JkZXItdG9wLWNvbG9yOiBoc2woMjA5LCAx
MDAlLCA0OSUpOwotfQotCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4g
LmNvbnRlbnQsCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLmVtcHR5
LWNvbnRlbnQtcGxhY2Vob2xkZXIgewotICAgIHRvcDogMTg5cHg7Ci19Ci0KLS5zaWRlYmFyID4g
LnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUudGltZWxpbmUtcmVjb3JkaW5nLWNvbnRlbnQtdmll
dy1zaG93aW5nID4gLmNvbnRlbnQgewotIC8qIFRoaXMgaGlkZXMgdGhlIHNjcm9sbGJhci4gVGhl
IHZpZXcgc2hvd3MgYSBzY3JvbGxiYXIsIHdlIGRvbid0IG5lZWQgdHdvLiAqLwotICAgIHBhZGRp
bmctcmlnaHQ6IDE2cHg7Ci0gICAgcmlnaHQ6IC0xNnB4OwotfQotCi0uc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLnRpbWVsaW5lIC5pdGVtOm5vdCg6aG92ZXIsIC5zZWxlY3RlZCkgLnN0YXR1
cyAuc3RhdHVzLWJ1dHRvbiwKLS5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUg
Lml0ZW06aG92ZXI6bm90KC5zZWxlY3RlZCkgLnN0YXR1cyAuY2xvc2Uuc3RhdHVzLWJ1dHRvbiB7
Ci0gICAgZGlzcGxheTogbm9uZTsKLX0KLQotLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50
aW1lbGluZTpub3QoLnRpbWVsaW5lLXJlY29yZGluZy1jb250ZW50LXZpZXctc2hvd2luZykgLnN0
YXR1cyAuZ28tdG8tYXJyb3cuc3RhdHVzLWJ1dHRvbiB7Ci0gICAgZGlzcGxheTogbm9uZTsKLX0K
LQotLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZS50aW1lbGluZS1yZWNvcmRp
bmctY29udGVudC12aWV3LXNob3dpbmcgLnN0YXR1cyAuY2xvc2Uuc3RhdHVzLWJ1dHRvbiB7Ci0g
ICAgZGlzcGxheTogbm9uZTsKLX0KLQotLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1l
bGluZSA+IC50aW1lbGluZXMtY29udGVudCA+IC5kZXRhaWxzLXNlY3Rpb24gPiBkaXYuaGVhZGVy
IHsKLSAgICBkaXNwbGF5OiBub25lOwotfQotCi0uc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LnRpbWVsaW5lID4gLnRpbWVsaW5lcy1jb250ZW50ID4gLmRldGFpbHMtc2VjdGlvbiA+IC5jb250
ZW50ID4gLmdyb3VwID4gLnJvdy5jaGFydCB7Ci0gICAgaGVpZ2h0OiAxMDhweDsKLX0KLQotLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCA+
IC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCA+IC5ncm91cCA+IC5yb3cuY2hhcnQgPiAuY2hh
cnQtY29udGVudCA+IC5jaGFydCB7Ci0gICAgd2lkdGg6IDc2cHg7Ci0gICAgaGVpZ2h0OiA3NnB4
OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKaW5kZXggNzFhNjdiYjY0
OTczMTE2NGE3YTU5ZjA4NDgyMzQ4MDcwZjM0NDhjMy4uY2Y3MjBkZjRkM2VhODYzNGRiMWRhZDMw
NDA4MWIwNzJkYjRlZmY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3Lmpz
CkBAIC0zMywxMCArMzMsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVUYWJDb250ZW50VmlldyA9
IGNsYXNzIFRpbWVsaW5lVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbgogCiAgICAgICAgIHN1
cGVyKGlkZW50aWZpZXIgfHwgInRpbWVsaW5lIiwgInRpbWVsaW5lIiwgdGFiQmFySXRlbSwgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLCBkZXRhaWxzU2lkZWJhclBhbmVscyk7CiAK
LSAgICAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGVzZSB3aGVuIHRoZSBUaW1lbGluZVNpZGViYXJQ
YW5lbCBpcyByZW1vdmVkLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU0OTczCi0gICAgICAgIHRoaXMuY29udGVudEJyb3dzZXIubmF2aWdhdGlvbkJhci5yZW1vdmVO
YXZpZ2F0aW9uSXRlbSh0aGlzLl9zaG93TmF2aWdhdGlvblNpZGViYXJJdGVtKTsKLSAgICAgICAg
dGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmhpZGUoKTsKLQogICAgICAgICAvLyBNYWludGFp
biBhbiBpbnZpc2libGUgdHJlZSBvdXRsaW5lIGNvbnRhaW5pbmcgdHJlZSBlbGVtZW50cyBmb3Ig
YWxsIHJlY29yZGluZ3MuCiAgICAgICAgIC8vIFRoZSB2aXNpYmxlIHJlY29yZGluZydzIHRyZWUg
ZWxlbWVudCBpcyBzZWxlY3RlZCB3aGVuIHRoZSBjb250ZW50IHZpZXcgY2hhbmdlcy4KICAgICAg
ICAgdGhpcy5fcmVjb3JkaW5nVHJlZUVsZW1lbnRNYXAgPSBuZXcgTWFwOwpAQCAtNDIzLDcgKzQx
OSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxp
bmVUYWJDb250ZW50VmlldyBleHRlbmRzIFdlYkluCiAgICAgewogICAgICAgICBjb25zb2xlLmFz
c2VydChyZWNvcmRpbmcgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcs
IHJlY29yZGluZyk7CiAKLSAgICAgICAgbGV0IHJlY29yZGluZ1RyZWVFbGVtZW50ID0gbmV3IFdl
Ykluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJh
clBhbmVsLlN0b3B3YXRjaEljb25TdHlsZUNsYXNzLCByZWNvcmRpbmcuZGlzcGxheU5hbWUsIG51
bGwsIHJlY29yZGluZyk7CisgICAgICAgIGxldCByZWNvcmRpbmdUcmVlRWxlbWVudCA9IG5ldyBX
ZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50KFdlYkluc3BlY3Rvci5UaW1lbGluZVRhYkNv
bnRlbnRWaWV3LlN0b3B3YXRjaEljb25TdHlsZUNsYXNzLCByZWNvcmRpbmcuZGlzcGxheU5hbWUs
IG51bGwsIHJlY29yZGluZyk7CiAgICAgICAgIHRoaXMuX3JlY29yZGluZ1RyZWVFbGVtZW50TWFw
LnNldChyZWNvcmRpbmcsIHJlY29yZGluZ1RyZWVFbGVtZW50KTsKICAgICAgICAgdGhpcy5fcmVj
b3JkaW5nc1RyZWVPdXRsaW5lLmFwcGVuZENoaWxkKHJlY29yZGluZ1RyZWVFbGVtZW50KTsKICAg
ICB9CkBAIC01NTUsMyArNTUxLDQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFiQ29udGVudFZp
ZXcuVHlwZSA9ICJ0aW1lbGluZSI7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVUYWJDb250ZW50Vmll
dy5TaG93aW5nVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlld0Nvb2tpZUtleSA9ICJ0aW1lbGlu
ZS1zaWRlYmFyLXBhbmVsLXNob3dpbmctdGltZWxpbmUtcmVjb3JkaW5nLWNvbnRlbnQtdmlldyI7
CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVUYWJDb250ZW50Vmlldy5TZWxlY3RlZFRpbWVsaW5lVmll
d0lkZW50aWZpZXJDb29raWVLZXkgPSAidGltZWxpbmUtc2lkZWJhci1wYW5lbC1zZWxlY3RlZC10
aW1lbGluZS12aWV3LWlkZW50aWZpZXIiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFiQ29udGVu
dFZpZXcuT3ZlcnZpZXdUaW1lbGluZUlkZW50aWZpZXJDb29raWVWYWx1ZSA9ICJvdmVydmlldyI7
CitXZWJJbnNwZWN0b3IuVGltZWxpbmVUYWJDb250ZW50Vmlldy5TdG9wd2F0Y2hJY29uU3R5bGVD
bGFzcyA9ICJzdG9wd2F0Y2gtaWNvbiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKaW5kZXggZjM0ODgzOWQw
MDM5OTMwYjUxMGQ0NDNjY2U0YjkzYjk0NTVmM2Y0Yi4uODlmMGIwMzc4ODk3MmRjOTI3MjIxY2U5
Y2M0YmFmZjcxMWI2MzcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcwpAQCAtMjYsMjIgKzI2LDEzIEBA
CiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcgPSBjbGFzcyBUaW1lbGluZVZpZXcgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcKIHsKLSAgICBjb25zdHJ1Y3RvcihyZXByZXNlbnRl
ZE9iamVjdCwgZXh0cmFBcmd1bWVudHMpCisgICAgY29uc3RydWN0b3IocmVwcmVzZW50ZWRPYmpl
Y3QpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChleHRyYUFyZ3VtZW50cyk7Ci0gICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KGV4dHJhQXJndW1lbnRzLnRpbWVsaW5lU2lkZWJhclBhbmVsIGlu
c3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsKTsKLQogICAgICAgICBz
dXBlcihyZXByZXNlbnRlZE9iamVjdCk7CiAKICAgICAgICAgLy8gVGhpcyBjbGFzcyBzaG91bGQg
bm90IGJlIGluc3RhbnRpYXRlZCBkaXJlY3RseS4gQ3JlYXRlIGEgY29uY3JldGUgc3ViY2xhc3Mg
aW5zdGVhZC4KICAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5jb25zdHJ1Y3RvciAhPT0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lVmlldyAmJiB0aGlzIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lVmlldyk7CiAKLSAgICAgICAgdGhpcy5fdGltZWxpbmVTaWRlYmFyUGFuZWwgPSBleHRy
YUFyZ3VtZW50cy50aW1lbGluZVNpZGViYXJQYW5lbDsKLQotICAgICAgICB0aGlzLl9jb250ZW50
VHJlZU91dGxpbmUgPSB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC5jcmVhdGVDb250ZW50VHJl
ZU91dGxpbmUoKTsKLSAgICAgICAgdGhpcy5fY29udGVudFRyZWVPdXRsaW5lLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lLkV2ZW50LlNlbGVjdGlvbkRpZENoYW5nZSwg
dGhpcy5fdHJlZVNlbGVjdGlvbkRpZENoYW5nZSwgdGhpcyk7Ci0gICAgICAgIHRoaXMuX2NvbnRl
bnRUcmVlT3V0bGluZS5fX2NhblNob3dDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50ID0gdGhpcy5j
YW5TaG93Q29udGVudFZpZXdGb3JUcmVlRWxlbWVudC5iaW5kKHRoaXMpOwotCiAgICAgICAgIHRo
aXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ0aW1lbGluZS12aWV3Iik7CiAKICAgICAgICAgdGhp
cy5femVyb1RpbWUgPSAwOwpAQCAtNTIsMzIgKzQzLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVZpZXcgPSBjbGFzcyBUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVudFZp
ZXcKIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IG5hdmlnYXRpb25JdGVtcygpCi0gICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5fc2NvcGVCYXIgPyBbdGhpcy5fc2NvcGVCYXJdIDogW107Ci0g
ICAgfQotCi0gICAgZ2V0IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUoKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRUcmVlT3V0bGluZTsKLSAgICB9Ci0KLSAgICBnZXQg
bmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZUxhYmVsKCkKLSAgICB7Ci0gICAgICAgIC8vIElt
cGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KLSAgICAgICAgcmV0dXJuIG51bGw7
Ci0gICAgfQotCiAgICAgZ2V0IG5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmVTY29wZUJhcigp
CiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc2NvcGVCYXI7CiAgICAgfQogCi0gICAgZ2V0
IHRpbWVsaW5lU2lkZWJhclBhbmVsKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl90aW1l
bGluZVNpZGViYXJQYW5lbDsKLSAgICB9Ci0KICAgICBnZXQgc2VsZWN0aW9uUGF0aENvbXBvbmVu
dHMoKQogICAgIHsKICAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViLWNsYXNzZXMgaWYgbmVl
ZGVkLgpAQCAtMjIyLDQyICsxOTIsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3ID0gY2xh
c3MgVGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3CiAgICAgICAg
IFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlvbihz
b3VyY2VDb2RlTG9jYXRpb24pOwogICAgIH0KIAotICAgIHRyZWVFbGVtZW50UGF0aENvbXBvbmVu
dFNlbGVjdGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViLWNs
YXNzZXMgaWYgbmVlZGVkLgotICAgIH0KLQotICAgIHRyZWVFbGVtZW50RGVzZWxlY3RlZCh0cmVl
RWxlbWVudCkKLSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlm
IG5lZWRlZC4KLSAgICB9Ci0KLSAgICB0cmVlRWxlbWVudFNlbGVjdGVkKHRyZWVFbGVtZW50LCBz
ZWxlY3RlZEJ5VXNlcikKLSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFz
c2VzIGlmIG5lZWRlZC4KLQotICAgICAgICBpZiAoIXRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVs
LmNhblNob3dEaWZmZXJlbnRDb250ZW50VmlldygpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Gb2xkZXJUcmVl
RWxlbWVudCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLnNob3dDb250ZW50
Vmlld0ZvclRyZWVFbGVtZW50KHRyZWVFbGVtZW50KTsKLSAgICB9Ci0KICAgICB1c2VyU2VsZWN0
ZWRSZWNvcmRGcm9tT3ZlcnZpZXcodGltZWxpbmVSZWNvcmQpCiAgICAgewogICAgICAgICAvLyBJ
bXBsZW1lbnRlZCBieSBzdWItY2xhc3NlcyBpZiBuZWVkZWQuCiAgICAgfQotCi0gICAgLy8gUHJp
dmF0ZQotCi0gICAgX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UoZXZlbnQpCi0gICAgewotICAgICAg
ICBpZiAoZXZlbnQuZGF0YS5kZXNlbGVjdGVkRWxlbWVudCkKLSAgICAgICAgICAgIHRoaXMudHJl
ZUVsZW1lbnREZXNlbGVjdGVkKGV2ZW50LmRhdGEuZGVzZWxlY3RlZEVsZW1lbnQpOwotCi0gICAg
ICAgIGlmIChldmVudC5kYXRhLnNlbGVjdGVkRWxlbWVudCkKLSAgICAgICAgICAgIHRoaXMudHJl
ZUVsZW1lbnRTZWxlY3RlZChldmVudC5kYXRhLnNlbGVjdGVkRWxlbWVudCwgZXZlbnQuZGF0YS5z
ZWxlY3RlZEJ5VXNlcik7Ci0gICAgfQogfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>