<?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>154954</bug_id>
          
          <creation_ts>2016-03-02 21:53:44 -0800</creation_ts>
          <short_desc>Web Inspector: Timelines UI redesign: use DataGridNode for TimelineView selection path components</short_desc>
          <delta_ts>2016-03-09 17:37:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web 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>
          
          <blocked>153036</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>1170108</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-03-02 21:53:44 -0800</bug_when>
    <thetext>* SUMMARY
Use DataGridNode for TimelineView selection path components. Currently GeneralTreeElementPathComponents are created from the selected tree element in the sidebar. The selected grid node should be used instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170109</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-02 21:53:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/24947939&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172822</commentid>
    <comment_count>2</comment_count>
      <attachid>273492</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-03-09 15:41:56 -0800</bug_when>
    <thetext>Created attachment 273492
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172844</commentid>
    <comment_count>3</comment_count>
      <attachid>273492</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-09 15:56:48 -0800</bug_when>
    <thetext>Comment on attachment 273492
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/ProfileNodeDataGridNode.js:132
&gt; +    // Protected

This would be public. Protected is for subclass internal use, not use from another class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172871</commentid>
    <comment_count>4</comment_count>
      <attachid>273492</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-03-09 16:32:46 -0800</bug_when>
    <thetext>Comment on attachment 273492
[Patch] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/ProfileNodeDataGridNode.js:132
&gt;&gt; +    // Protected
&gt; 
&gt; This would be public. Protected is for subclass internal use, not use from another class.

TimelineDataGridNode and its other subclasses should be updated too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172884</commentid>
    <comment_count>5</comment_count>
      <attachid>273511</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-03-09 16:49:56 -0800</bug_when>
    <thetext>Created attachment 273511
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172917</commentid>
    <comment_count>6</comment_count>
      <attachid>273511</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 17:37:52 -0800</bug_when>
    <thetext>Comment on attachment 273511
[Patch] Proposed Fix

Clearing flags on attachment: 273511

Committed r197909: &lt;http://trac.webkit.org/changeset/197909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1172918</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-09 17:37:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273492</attachid>
            <date>2016-03-09 15:41:56 -0800</date>
            <delta_ts>2016-03-09 16:49:53 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-154954-20160309154143.patch</filename>
            <type>text/plain</type>
            <size>32481</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
Y2I2MGQ5NDFlYjdlMDFhMmIyMjNjYjA0MDFhMzg2ZDIxN2JiMWU2Li5jNGY0NmU0ZTNjZDYxNzQy
ZDYyZjZiZDg1NjRhYTczNTQ1OWI3OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTYtMDMtMDkgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lcyBVSSByZWRlc2lnbjogdXNlIERh
dGFHcmlkTm9kZSBmb3IgVGltZWxpbmVWaWV3IHNlbGVjdGlvbiBwYXRoIGNvbXBvbmVudHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDk1NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ5NDc5Mzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgbmV3IHBhdGggY29tcG9u
ZW50LCBUaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQsCisgICAgICAgIGZvciBjcmVh
dGluZyBhIHBhdGggY29tcG9uZW50IGZyb20gdGhlIGN1cnJlbnQgZ3JpZCBzZWxlY3Rpb24uIFRo
aXMgaXMKKyAgICAgICAgbmVlZGVkIHNpbmNlIFRpbWVsaW5lVmlld3Mgd2lsbCBubyBsb25nZXIg
aGF2ZSBhbiBhc3NvY2lhdGVkIGNvbnRlbnQgdHJlZQorICAgICAgICBvdXRsaW5lIG9uY2UgdGhl
IG5hdmlnYXRpb24gc2lkZWJhciBpcyByZW1vdmVkLgorCisgICAgICAgIFRpbWVsaW5lRGF0YUdy
aWROb2RlIGhhcyBuZXcgcHJvdGVjdGVkIG1ldGhvZHMsICJkaXNwbGF5TmFtZSIgYW5kCisgICAg
ICAgICJpY29uQ2xhc3NOYW1lcyIsIHdoaWNoIGFyZSB1c2VkIHRvIHBvcHVsYXRlIGhpZXJhcmNo
aWNhbCBwYXRoIGNvbXBvbmVudHMsCisgICAgICAgIGNyZWF0ZSBncmlkIG5vZGUgZGF0YSwgYW5k
IGNyZWF0ZSBjZWxsIGNvbnRlbnQuCisKKyAgICAgICAgVGltZWxpbmVWaWV3IHN1YmNsYXNzZXMg
c2hhcmUgYSBjZXJ0YWluIGFtb3VudCBvZiBib2lsZXJwbGF0ZSBjb2RlIGZvcgorICAgICAgICBn
ZXR0aW5nIHNlbGVjdGlvbiBwYXRoIGNvbXBvbmVudHMgYW5kIGhhbmRsaW5nIHBhdGggY29tcG9u
ZW50IHNlbGVjdGlvbi4KKyAgICAgICAgSW4gdGhlIGZ1dHVyZSB3ZSBtYXkgYmUgYWJsZSB0byBy
ZWR1Y2UgdGhpcyBjb2RlIGJ5IGludHJvZHVjaW5nIGEgbmV3CisgICAgICAgIERhdGFHcmlkVGlt
ZWxpbmVWaWV3IGJhc2UgY2xhc3MuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01haW4uaHRt
bDoKKyAgICAgICAgQWRkZWQvcmVtb3ZlZCBmaWxlcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmdldCBkYXRhKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUu
Y3JlYXRlQ2VsbENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5l
RGF0YUdyaWROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFH
cmlkTm9kZS5wcm90b3R5cGUuZ2V0IHJlY29yZCk6IERlbGV0ZWQuCisgICAgICAgIE1vdmVkIHRv
IGJhc2UgY2xhc3MuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVs
aW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZpZXcucHJv
dG90eXBlLmdldCBzZWxlY3Rpb25QYXRoQ29tcG9uZW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTGF5b3V0VGltZWxpbmVWaWV3LnByb3RvdHlwZS5kYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50
U2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90
b3R5cGUudHJlZUVsZW1lbnRQYXRoQ29tcG9uZW50U2VsZWN0ZWQpOiBEZWxldGVkLgorICAgICAg
ICBUaW1lbGluZVZpZXcgdHJlZSBvdXRsaW5lcyBhcmUgZ29pbmcgYXdheS4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRQYXRoQ29t
cG9uZW50U2VsZWN0ZWQpOiBEZWxldGVkLgorICAgICAgICBUaW1lbGluZVZpZXcgdHJlZSBvdXRs
aW5lcyBhcmUgZ29pbmcgYXdheS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0
d29ya1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxp
bmVWaWV3LnByb3RvdHlwZS5nZXQgc2VsZWN0aW9uUGF0aENvbXBvbmVudHMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZVZpZXcucHJvdG90eXBlLmRhdGFHcmlkTm9kZVBh
dGhDb21wb25lbnRTZWxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVs
aW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRQYXRoQ29tcG9uZW50U2VsZWN0ZWQpOiBEZWxl
dGVkLgorICAgICAgICBUaW1lbGluZVZpZXcgdHJlZSBvdXRsaW5lcyBhcmUgZ29pbmcgYXdheS4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUucHJvdG90
eXBlLmdldCBkYXRhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlk
Tm9kZS5wcm90b3R5cGUuY3JlYXRlQ2VsbENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5kaXNwbGF5TmFtZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmljb25DbGFz
c05hbWVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUucHJvdG90eXBl
Ll9pY29uQ2xhc3NOYW1lRm9yUHJvZmlsZU5vZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fdGl0bGVGb3JQcm9maWxl
Tm9kZSk6IERlbGV0ZWQuCisgICAgICAgIFJlLWltcGxlbWVudGVkIGFzIG92ZXJyaWRlcyBvZiB0
aGUgYmFzZSBjbGFzcyBtZXRob2RzICJpY29uQ2xhc3NOYW1lcyIKKyAgICAgICAgYW5kICJkaXNw
bGF5TmFtZSIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1l
VGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5n
RnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuY3JlYXRlQ2VsbENvbnRlbnQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5v
ZGUucHJvdG90eXBlLmdldCByZWNvcmQpOiBEZWxldGVkLgorICAgICAgICBNb3ZlZCB0byBiYXNl
IGNsYXNzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5l
RGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVE
YXRhR3JpZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5kaXNwbGF5TmFt
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5w
cm90b3R5cGUuaWNvbkNsYXNzTmFtZXMpOgorICAgICAgICBPdmVycmlkZSBiYXNlIGNsYXNzIG1l
dGhvZHMsIG1ha2luZyBpdCBwb3NzaWJsZSB0byByZW1vdmUgUmVzb3VyY2VUaW1lbGluZURhdGFH
cmlkTm9kZVBhdGhDb21wb25lbnQsCisgICAgICAgIGFuZCB0cmVhdCBhbGwgVGltZWxpbmVEYXRh
R3JpZE5vZGVzIGluIGEgdW5pZm9ybSBtYW5uZXIuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
ZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fY3JlYXRlTmFtZUNlbGxEb2N1
bWVudEZyYWdtZW50KToKKyAgICAgICAgUmVwbGFjZSBkdXBsaWNhdGVkIGNvZGUgd2l0aCBjYWxs
IHRvICJkaXNwbGF5TmFtZSIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Njcmlw
dERldGFpbHNUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RGV0
YWlsc1RpbWVsaW5lVmlldy5wcm90b3R5cGUuZ2V0IHNlbGVjdGlvblBhdGhDb21wb25lbnRzKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LnByb3RvdHlw
ZS5kYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50U2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50UGF0aENv
bXBvbmVudFNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgVGltZWxpbmVWaWV3IHRyZWUgb3V0
bGluZXMgYXJlIGdvaW5nIGF3YXkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
cmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dFRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLl9j
cmVhdGVOYW1lQ2VsbERvY3VtZW50RnJhZ21lbnQpOgorICAgICAgICBSZXBsYWNlIGR1cGxpY2F0
ZWQgY29kZSB3aXRoIGNhbGwgdG8gImRpc3BsYXlOYW1lIi4KKworICAgICAgICAoV2ViSW5zcGVj
dG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0IHJlY29yZCk6IERlbGV0ZWQu
CisgICAgICAgIE1vdmVkIHRvIGJhc2UgY2xhc3MuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5nZXQgcmVjb3JkKToKKyAgICAgICAgSW1wbGVt
ZW50ZWQgaW4gdGVybXMgb2YgdGhlICJyZWNvcmRzIiBnZXR0ZXIsIHNpbmNlIGFsbCBzdWJjbGFz
c2VzIHNpbXBseSByZXR1cm5lZCB0aGUKKyAgICAgICAgbm9kZSdzIGZpcnN0IChvciBvbmx5KSBy
ZWNvcmQuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkTm9kZS5wcm90
b3R5cGUuZGlzcGxheU5hbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdy
aWROb2RlLnByb3RvdHlwZS5pY29uQ2xhc3NOYW1lcyk6CisgICAgICAgIEJhc2UgY2xhc3MgaW1w
bGVtZW50YXRpb25zLCB1c2luZyB1dGlsaXR5IG1ldGhvZHMgaW4gVGltZWxpbmVUYWJDb250ZW50
VmlldworICAgICAgICB0byBnZXQgZGlzcGxheSBkYXRhIGJhc2VkIG9uIHRoZSBub2RlJ3MgdGlt
ZWxpbmUgcmVjb3JkLiBDYW4gYmUgb3ZlcnJpZGRlbgorICAgICAgICBieSBub2RlcyB0aGF0IGVp
dGhlciBkb24ndCBoYXZlIGEgdGltZWxpbmUgcmVjb3JkIChQcm9maWxlTm9kZURhdGFHcmlkTm9k
ZSkKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGVQ
YXRoQ29tcG9uZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWRO
b2RlUGF0aENvbXBvbmVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3Jp
ZE5vZGVQYXRoQ29tcG9uZW50LnByb3RvdHlwZS5nZXQgdGltZWxpbmVEYXRhR3JpZE5vZGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudC5w
cm90b3R5cGUuZ2V0IHByZXZpb3VzU2libGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50LnByb3RvdHlwZS5nZXQgbmV4dFNpYmxpbmcp
OgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVZpZXcucHJvdG90eXBlLmdldCBzZWxlY3Rpb25QYXRoQ29tcG9uZW50cyk6CisgICAg
ICAgIE11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3NlcyBzaW5jZSBub3QgYWxsIFRpbWVs
aW5lVmlld3MgdXNlIGEgRGF0YUdyaWQuCisKIDIwMTYtMDMtMDkgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW1vdmUgdW5u
ZWNlc3NhcnkgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01haW4uaHRtbAppbmRleCAzODhjMDRmMWI2MzJkOTYwMTFlOTI5ZWIyNzViMDRmMmNiOWM5
ZjliLi5hMTY1MGNhOWY5ZDAwNzc2ZDgwZmJlZTYwOWUzZDBhMDg0N2QyNjI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC01NjcsNyArNTY3
LDYgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVs
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFu
ZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9SZXNvdXJjZVRpbWVsaW5l
RGF0YUdyaWROb2RlLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVzb3Vy
Y2VUaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9SdWxlc1N0eWxlRGV0YWlsc1BhbmVsLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iVmlld3MvU2NvcGVCYXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJWaWV3cy9TY29wZUJhckl0ZW0uanMiPjwvc2NyaXB0PgpAQCAtNTk2LDYgKzU5NSw3IEBA
CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1N5bnRheEhpZ2hsaWdodGluZ1N1cHBvcnQuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UZXh0Q29udGVudFZpZXcuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UZXh0UmVzb3VyY2VDb250ZW50Vmlldy5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2RlUGF0
aENvbXBvbmVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1RpbWVsaW5l
UmVjb3JkQmFyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvVGltZWxpbmVS
ZWNvcmRGcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1RpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5v
ZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRU
aW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRleCBkZmZjMjAzZTFjNGNjOTU5YzA0NDlkOWM2ODBi
YmFkYTA1MTIxODRkLi42MTA4NjdhYTM2MzgxYTFkMGE5ODg3MmM0MTU3ZGY4NzFkZTI0MWU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlv
dXRUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAtMzUsMTEg
KzM1LDYgQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3Mg
TGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KIAogICAgIC8vIFB1YmxpYwogCi0gICAg
Z2V0IHJlY29yZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkOwotICAgIH0K
LQogICAgIGdldCByZWNvcmRzKCkKICAgICB7CiAgICAgICAgIHJldHVybiBbdGhpcy5fcmVjb3Jk
XTsKQEAgLTQ5LDcgKzQ0LDcgQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWRO
b2RlID0gY2xhc3MgTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KICAgICB7CiAgICAg
ICAgIGlmICghdGhpcy5fY2FjaGVkRGF0YSkgewogICAgICAgICAgICAgdGhpcy5fY2FjaGVkRGF0
YSA9IHsKLSAgICAgICAgICAgICAgICBuYW1lOiBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVS
ZWNvcmQuZGlzcGxheU5hbWVGb3JFdmVudFR5cGUodGhpcy5fcmVjb3JkLmV2ZW50VHlwZSksCisg
ICAgICAgICAgICAgICAgbmFtZTogdGhpcy5kaXNwbGF5TmFtZSgpLAogICAgICAgICAgICAgICAg
IHdpZHRoOiB0aGlzLl9yZWNvcmQud2lkdGgsCiAgICAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlz
Ll9yZWNvcmQuaGVpZ2h0LAogICAgICAgICAgICAgICAgIGFyZWE6IHRoaXMuX3JlY29yZC53aWR0
aCAqIHRoaXMuX3JlY29yZC5oZWlnaHQsCkBAIC02OCw3ICs2Myw3IEBAIFdlYkluc3BlY3Rvci5M
YXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIExheW91dFRpbWVsaW5lRGF0YUdyaWRO
b2RlIGV4dGVuCiAKICAgICAgICAgc3dpdGNoIChjb2x1bW5JZGVudGlmaWVyKSB7CiAgICAgICAg
IGNhc2UgIm5hbWUiOgotICAgICAgICAgICAgY2VsbC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rv
ci5UaW1lbGluZVRhYkNvbnRlbnRWaWV3Lmljb25DbGFzc05hbWVGb3JSZWNvcmQodGhpcy5fcmVj
b3JkKSk7CisgICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoLi4udGhpcy5pY29uQ2xhc3NO
YW1lcygpKTsKICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKIAogICAgICAgICBjYXNlICJ3aWR0
aCI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXlvdXRUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKaW5kZXggNWQyNzU2ZTk3NDNiZGRmMWIw
ZDU4YmEzOWNiZmYzMjY5ZjU0MzNiZi4uN2YxYjU5ZGM1MzE4MDZiZjljNjE4NTUxN2U4NDYzMDY2
NDgyMzYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTGF5b3V0VGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lVmlldy5qcwpAQCAtMTAyLDYgKzEwMiwx
OSBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3ID0gY2xhc3MgTGF5b3V0VGltZWxp
bmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJSZWNvcmRzIik7CiAgICAgfQogCisgICAgZ2V0IHNlbGVjdGlvblBhdGhDb21w
b25lbnRzKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2Rl
IHx8IHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZS5oaWRkZW4pCisgICAgICAgICAgICByZXR1
cm4gbnVsbDsKKworICAgICAgICBsZXQgdGltZWxpbmVEYXRhR3JpZE5vZGUgPSB0aGlzLl9kYXRh
R3JpZC5zZWxlY3RlZE5vZGU7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lRGF0YUdy
aWROb2RlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlKTsKKwor
ICAgICAgICBsZXQgcGF0aENvbXBvbmVudCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRh
R3JpZE5vZGVQYXRoQ29tcG9uZW50KHRpbWVsaW5lRGF0YUdyaWROb2RlKTsKKyAgICAgICAgcGF0
aENvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5IaWVyYXJjaGljYWxQYXRo
Q29tcG9uZW50LkV2ZW50LlNpYmxpbmdXYXNTZWxlY3RlZCwgdGhpcy5kYXRhR3JpZE5vZGVQYXRo
Q29tcG9uZW50U2VsZWN0ZWQsIHRoaXMpOworICAgICAgICByZXR1cm4gW3BhdGhDb21wb25lbnRd
OworICAgIH0KKwogICAgIHNob3duKCkKICAgICB7CiAgICAgICAgIHN1cGVyLnNob3duKCk7CkBA
IC0xNTMsMTEgKzE2NiwxMSBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3ID0gY2xh
c3MgTGF5b3V0VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgLy8gUHJv
dGVjdGVkCiAKLSAgICB0cmVlRWxlbWVudFBhdGhDb21wb25lbnRTZWxlY3RlZChldmVudCkKKyAg
ICBkYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50U2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAg
ICB2YXIgZGF0YUdyaWROb2RlID0gdGhpcy5fZGF0YUdyaWQuZGF0YUdyaWROb2RlRm9yVHJlZUVs
ZW1lbnQoZXZlbnQuZGF0YS5wYXRoQ29tcG9uZW50LmdlbmVyYWxUcmVlRWxlbWVudCk7Ci0gICAg
ICAgIGlmICghZGF0YUdyaWROb2RlKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBsZXQg
ZGF0YUdyaWROb2RlID0gZXZlbnQuZGF0YS5wYXRoQ29tcG9uZW50LnRpbWVsaW5lRGF0YUdyaWRO
b2RlOworICAgICAgICBjb25zb2xlLmFzc2VydChkYXRhR3JpZE5vZGUuZGF0YUdyaWQgPT09IHRo
aXMuX2RhdGFHcmlkKTsKKwogICAgICAgICBkYXRhR3JpZE5vZGUucmV2ZWFsQW5kU2VsZWN0KCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcuanMKaW5kZXggNWYzODM1MzkwZDBh
YjYyOTNkMjg5MGY1NmUwYjZlNDk0MjQ1MjhmMC4uNjMzMmYwMWJjYjY5OTNkOWM1MzI4ZmU2ZWI0
ZjBjZDc4MjhkN2E1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qcwpAQCAtMTU0LDEx
ICsxNTQsNiBAQCBXZWJJbnNwZWN0b3IuTWVtb3J5VGltZWxpbmVWaWV3ID0gY2xhc3MgTWVtb3J5
VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgLy8gUHJvdGVjdGVkCiAK
LSAgICB0cmVlRWxlbWVudFBhdGhDb21wb25lbnRTZWxlY3RlZChldmVudCkKLSAgICB7Ci0gICAg
ICAgIC8vIE5vdGhpbmcuIFRoZSBzaWRlYmFyIHdpbGwgc29vbiBiZSByZW1vdmVkLgotICAgIH0K
LQogICAgIGxheW91dCgpCiAgICAgewogICAgICAgICAvLyBBbHdheXMgdXBkYXRlIHRpbWVsaW5l
IHJ1bGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanMKaW5kZXggNGRhZjgyN2UxNDQ3
N2QxMGU2ODI4OTVhMWUyNmYzYzdlY2Y3OGRmZi4uYmVhYmE4MjUyYjQ0YjUzOWEyNTU1NjE4NjQ5
NjIzMTM1MjE1NTYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzCkBAIC0xMTEs
NiArMTExLDE4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3ID0gY2xhc3MgTmV0
d29ya1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAgIHJldHVybiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlJlc291cmNlcyIpOwogICAgIH0KIAorICAgIGdldCBzZWxlY3Rp
b25QYXRoQ29tcG9uZW50cygpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2RhdGFHcmlkLnNl
bGVjdGVkTm9kZSB8fCB0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUuaGlkZGVuKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGw7CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fZGF0YUdy
aWQuc2VsZWN0ZWROb2RlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVE
YXRhR3JpZE5vZGUpOworCisgICAgICAgIGxldCBwYXRoQ29tcG9uZW50ID0gbmV3IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQodGhpcy5fZGF0YUdyaWQuc2Vs
ZWN0ZWROb2RlLCB0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUucmVzb3VyY2UpOworICAgICAg
ICBwYXRoQ29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNh
bFBhdGhDb21wb25lbnQuRXZlbnQuU2libGluZ1dhc1NlbGVjdGVkLCB0aGlzLmRhdGFHcmlkTm9k
ZVBhdGhDb21wb25lbnRTZWxlY3RlZCwgdGhpcyk7CisgICAgICAgIHJldHVybiBbcGF0aENvbXBv
bmVudF07CisgICAgfQorCiAgICAgc2hvd24oKQogICAgIHsKICAgICAgICAgc3VwZXIuc2hvd24o
KTsKQEAgLTE2NiwxMSArMTc4LDE0IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3
ID0gY2xhc3MgTmV0d29ya1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAg
IGNvbnNvbGUuZXJyb3IoIlVua25vd24gdHJlZSBlbGVtZW50IHNlbGVjdGVkLiIsIHRyZWVFbGVt
ZW50KTsKICAgICB9CiAKLSAgICB0cmVlRWxlbWVudFBhdGhDb21wb25lbnRTZWxlY3RlZChldmVu
dCkKKyAgICBkYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50U2VsZWN0ZWQoZXZlbnQpCiAgICAgewot
ICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gdGhpcy5fZGF0YUdyaWQuZGF0YUdyaWROb2RlRm9y
VHJlZUVsZW1lbnQoZXZlbnQuZGF0YS5wYXRoQ29tcG9uZW50LmdlbmVyYWxUcmVlRWxlbWVudCk7
Ci0gICAgICAgIGlmICghZGF0YUdyaWROb2RlKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBsZXQgcGF0aENvbXBvbmVudCA9IGV2ZW50LmRhdGEucGF0aENvbXBvbmVudDsKKyAgICAgICAg
Y29uc29sZS5hc3NlcnQocGF0aENvbXBvbmVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1l
bGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQpOworCisgICAgICAgIGxldCBkYXRhR3JpZE5v
ZGUgPSBwYXRoQ29tcG9uZW50LnRpbWVsaW5lRGF0YUdyaWROb2RlOworICAgICAgICBjb25zb2xl
LmFzc2VydChkYXRhR3JpZE5vZGUuZGF0YUdyaWQgPT09IHRoaXMuX2RhdGFHcmlkKTsKKwogICAg
ICAgICBkYXRhR3JpZE5vZGUucmV2ZWFsQW5kU2VsZWN0KCk7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlTm9kZURh
dGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Byb2ZpbGVOb2RlRGF0YUdyaWROb2RlLmpzCmluZGV4IDcxMWIxZjViZDE0NjRiZGE1MDQ5OGQw
MDRmY2YzYzc2NjczYWVjNmEuLjUyMDBlZGQ3ZTc3NDk1NjFhNTJhOWQ1MDFkODEzNTdkNDhjZjhl
NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Byb2ZpbGVOb2RlRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVOb2RlRGF0YUdyaWROb2RlLmpzCkBAIC03MCw3ICs3
MCw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZSA9IGNsYXNzIFByb2Zp
bGVOb2RlRGF0YUdyaWROb2RlIGV4dGVuZHMgV2ViCiAgICAgewogICAgICAgICBpZiAoIXRoaXMu
X2NhY2hlZERhdGEpIHsKICAgICAgICAgICAgIHRoaXMuX2NhY2hlZERhdGEgPSB0aGlzLl9wcm9m
aWxlTm9kZS5jb21wdXRlQ2FsbEluZm9Gb3JUaW1lUmFuZ2UodGhpcy5fcmFuZ2VTdGFydFRpbWUs
IHRoaXMuX3JhbmdlRW5kVGltZSk7Ci0gICAgICAgICAgICB0aGlzLl9jYWNoZWREYXRhLm5hbWUg
PSB0aGlzLl90aXRsZUZvclByb2ZpbGVOb2RlKCk7CisgICAgICAgICAgICB0aGlzLl9jYWNoZWRE
YXRhLm5hbWUgPSB0aGlzLmRpc3BsYXlOYW1lKCk7CiAgICAgICAgICAgICB0aGlzLl9jYWNoZWRE
YXRhLmxvY2F0aW9uID0gdGhpcy5fcHJvZmlsZU5vZGUuc291cmNlQ29kZUxvY2F0aW9uOwogICAg
ICAgICB9CiAKQEAgLTExNCw3ICsxMTQsNyBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRh
R3JpZE5vZGUgPSBjbGFzcyBQcm9maWxlTm9kZURhdGFHcmlkTm9kZSBleHRlbmRzIFdlYgogCiAg
ICAgICAgIHN3aXRjaCAoY29sdW1uSWRlbnRpZmllcikgewogICAgICAgICBjYXNlICJuYW1lIjoK
LSAgICAgICAgICAgIGNlbGwuY2xhc3NMaXN0LmFkZCh0aGlzLl9pY29uQ2xhc3NOYW1lRm9yUHJv
ZmlsZU5vZGUoKSk7CisgICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQodGhpcy5pY29uQ2xh
c3NOYW1lKTsKICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKIAogICAgICAgICBjYXNlICJzdGFy
dFRpbWUiOgpAQCAtMTI5LDkgKzEyOSwyOSBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRh
R3JpZE5vZGUgPSBjbGFzcyBQcm9maWxlTm9kZURhdGFHcmlkTm9kZSBleHRlbmRzIFdlYgogICAg
ICAgICByZXR1cm4gc3VwZXIuY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwgY2Vs
bCk7CiAgICAgfQogCi0gICAgLy8gUHJpdmF0ZQorICAgIC8vIFByb3RlY3RlZAogCi0gICAgX2lj
b25DbGFzc05hbWVGb3JQcm9maWxlTm9kZSgpCisgICAgZGlzcGxheU5hbWUoKQorICAgIHsKKyAg
ICAgICAgbGV0IHRpdGxlID0gdGhpcy5fcHJvZmlsZU5vZGUuZnVuY3Rpb25OYW1lOworICAgICAg
ICBpZiAoIXRpdGxlKSB7CisgICAgICAgICAgICBzd2l0Y2ggKHRoaXMuX3Byb2ZpbGVOb2RlLnR5
cGUpIHsKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlLlR5cGUuRnVu
Y3Rpb246CisgICAgICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIihh
bm9ueW1vdXMgZnVuY3Rpb24pIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZS5UeXBlLlByb2dyYW06CisgICAgICAgICAg
ICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIihwcm9ncmFtKSIpOworICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICB0
aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiKGFub255bW91cyBmdW5jdGlvbikiKTsKKyAg
ICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJVbmtub3duIFByb2ZpbGVOb2RlIHR5cGU6ICIg
KyB0aGlzLl9wcm9maWxlTm9kZS50eXBlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg
ICAgICAgIHJldHVybiB0aXRsZTsKKyAgICB9CisKKyAgICBpY29uQ2xhc3NOYW1lcygpCiAgICAg
ewogICAgICAgICBsZXQgY2xhc3NOYW1lOwogICAgICAgICBzd2l0Y2ggKHRoaXMuX3Byb2ZpbGVO
b2RlLnR5cGUpIHsKQEAgLTE1MiwyNiArMTcyLDYgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2Rl
RGF0YUdyaWROb2RlID0gY2xhc3MgUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBXZWIK
ICAgICAgICAgaWYgKHRoaXMuX3Byb2ZpbGVOb2RlLmZ1bmN0aW9uTmFtZSAmJiB0aGlzLl9wcm9m
aWxlTm9kZS5mdW5jdGlvbk5hbWUuc3RhcnRzV2l0aCgib24iKSAmJiB0aGlzLl9wcm9maWxlTm9k
ZS5mdW5jdGlvbk5hbWUubGVuZ3RoID49IDUpCiAgICAgICAgICAgICBjbGFzc05hbWUgPSBXZWJJ
bnNwZWN0b3IuQ2FsbEZyYW1lVmlldy5FdmVudExpc3RlbmVySWNvblN0eWxlQ2xhc3NOYW1lOwog
Ci0gICAgICAgIHJldHVybiBjbGFzc05hbWU7Ci0gICAgfQotCi0gICAgX3RpdGxlRm9yUHJvZmls
ZU5vZGUoKQotICAgIHsKLSAgICAgICAgbGV0IHRpdGxlID0gdGhpcy5fcHJvZmlsZU5vZGUuZnVu
Y3Rpb25OYW1lOwotICAgICAgICBpZiAoIW5hbWUpIHsKLSAgICAgICAgICAgIHN3aXRjaCAodGhp
cy5fcHJvZmlsZU5vZGUudHlwZSkgewotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuUHJv
ZmlsZU5vZGUuVHlwZS5GdW5jdGlvbjoKLSAgICAgICAgICAgICAgICB0aXRsZSA9IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiKGFub255bW91cyBmdW5jdGlvbikiKTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlLlR5cGUuUHJv
Z3JhbToKLSAgICAgICAgICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiKHBy
b2dyYW0pIik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0Ogot
ICAgICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIoYW5vbnltb3Vz
IGZ1bmN0aW9uKSIpOwotICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlVua25vd24gUHJv
ZmlsZU5vZGUgdHlwZTogIiArIHRoaXMuX3Byb2ZpbGVOb2RlLnR5cGUpOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHRpdGxlOworICAgICAgICByZXR1cm4gW2Ns
YXNzTmFtZV07CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmluZGV4IDI2YzhhYzhiMGNlYjA5ZjgxNmRhZjMyM2Fh
MzAzYjViYzA4NmQwYzguLjM4ZWNiZjQ2ODk2YjZjZWJmNjJhM2RjMzhiMTY5YzhjODk5NWE5N2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jl
bmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZURhdGFHcmlk
Tm9kZS5qcwpAQCAtMzUsMTEgKzM1LDYgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGEKIAogICAg
IC8vIFB1YmxpYwogCi0gICAgZ2V0IHJlY29yZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
cy5fcmVjb3JkOwotICAgIH0KLQogICAgIGdldCByZWNvcmRzKCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBbdGhpcy5fcmVjb3JkXTsKQEAgLTczLDcgKzY4LDcgQEAgV2ViSW5zcGVjdG9yLlJlbmRl
cmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVs
aW5lRGEKIAogICAgICAgICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsKICAgICAgICAgY2Fz
ZSAibmFtZSI6Ci0gICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lVGFiQ29udGVudFZpZXcuaWNvbkNsYXNzTmFtZUZvclJlY29yZCh0aGlzLl9yZWNvcmQp
KTsKKyAgICAgICAgICAgIGNlbGwuY2xhc3NMaXN0LmFkZCguLi50aGlzLmljb25DbGFzc05hbWVz
KCkpOwogICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwogCiAgICAgICAgIGNhc2UgInN0YXJ0VGlt
ZSI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRl
eCBiNmM2MmEzNjFkMmU0MTg1MjNkZGJiMmI1OTliNGVmMzQ0YjVhOWY4Li5kMjVmMDhjOTg4MWMx
YTI2MmU4ZmFkYTBiYWQ5YjAyYzQ2NDdmYzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNl
VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTk4LDcgKzk4LDcgQEAgV2ViSW5zcGVjdG9yLlJl
c291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBSZXNvdXJjZVRpbWVsaW5lRGF0YUdy
aWROb2RlIGUKIAogICAgICAgICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsKICAgICAgICAg
Y2FzZSAibmFtZSI6Ci0gICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9y
LlJlc291cmNlVHJlZUVsZW1lbnQuUmVzb3VyY2VJY29uU3R5bGVDbGFzc05hbWUsIHJlc291cmNl
LnR5cGUpOworICAgICAgICAgICAgY2VsbC5jbGFzc0xpc3QuYWRkKC4uLnRoaXMuaWNvbkNsYXNz
TmFtZXMoKSk7CiAgICAgICAgICAgICBjZWxsLnRpdGxlID0gcmVzb3VyY2UuZGlzcGxheVVSTDsK
ICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cyhjZWxsKTsKICAgICAgICAgICAgIHJldHVy
biB0aGlzLl9jcmVhdGVOYW1lQ2VsbERvY3VtZW50RnJhZ21lbnQoKTsKQEAgLTE0MSwxMiArMTQx
LDI0IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3Mg
UmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZSBlCiAgICAgICAgIHN1cGVyLnJlZnJlc2goKTsK
ICAgICB9CiAKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGRpc3BsYXlOYW1lKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVGltZWxpbmVUYWJDb250ZW50Vmlldy5kaXNwbGF5
TmFtZUZvclJlY29yZCh0aGlzLnJlY29yZCk7CisgICAgfQorCisgICAgaWNvbkNsYXNzTmFtZXMo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFtXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVu
dC5SZXNvdXJjZUljb25TdHlsZUNsYXNzTmFtZSwgdGhpcy5yZXNvdXJjZS50eXBlXTsKKyAgICB9
CisKICAgICAvLyBQcml2YXRlCiAKICAgICBfY3JlYXRlTmFtZUNlbGxEb2N1bWVudEZyYWdtZW50
KCkKICAgICB7CiAgICAgICAgIGxldCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50
RnJhZ21lbnQoKTsKLSAgICAgICAgbGV0IG1haW5UaXRsZSA9IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVRhYkNvbnRlbnRWaWV3LmRpc3BsYXlOYW1lRm9yUmVjb3JkKHRoaXMuX3JlY29yZCk7CisgICAg
ICAgIGxldCBtYWluVGl0bGUgPSB0aGlzLmRpc3BsYXlOYW1lKCk7CiAgICAgICAgIGZyYWdtZW50
LmFwcGVuZChtYWluVGl0bGUpOwogCiAgICAgICAgIC8vIFNob3cgdGhlIGhvc3QgYXMgdGhlIHN1
YnRpdGxlIGlmIGl0IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBtYWluIHJlc291cmNlIG9yIGlmIHRo
aXMgaXMgdGhlIG1haW4gZnJhbWUncyBtYWluIHJlc291cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFH
cmlkTm9kZVBhdGhDb21wb25lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudC5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzEwNzkwNmEzZGRhOTJmZTJmNTM5N2Y4YTZl
ZmMyMjRhNGZhOWJlNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRp
bWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudC5qcworKysgL2Rldi9udWxsCkBAIC0xLDU4
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1XZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGlu
ZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQgPSBjbGFzcyBSZXNvdXJjZVRpbWVsaW5lRGF0YUdy
aWROb2RlUGF0aENvbXBvbmVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5IaWVyYXJjaGljYWxQYXRo
Q29tcG9uZW50Ci17Ci0gICAgY29uc3RydWN0b3IocmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9k
ZSkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHJlc291cmNlVGltZWxpbmVEYXRhR3Jp
ZE5vZGUucmVjb3JkLnJlc291cmNlOwotICAgICAgICB2YXIgY2xhc3NOYW1lcyA9IFtXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudC5SZXNvdXJjZUljb25TdHlsZUNsYXNzTmFtZSwgcmVz
b3VyY2UudHlwZV07Ci0KLSAgICAgICAgc3VwZXIocmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9k
ZS5kYXRhLm5hbWUsIGNsYXNzTmFtZXMsIHJlc291cmNlKTsKLQotICAgICAgICB0aGlzLl9yZXNv
dXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlID0gcmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZTsK
LSAgICB9Ci0KLSAgICAvLyBQdWJsaWMKLQotICAgIGdldCByZXNvdXJjZVRpbWVsaW5lRGF0YUdy
aWROb2RlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVRpbWVsaW5lRGF0
YUdyaWROb2RlOwotICAgIH0KLQotICAgIGdldCBwcmV2aW91c1NpYmxpbmcoKQotICAgIHsKLSAg
ICAgICAgaWYgKCF0aGlzLl9yZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByZXZpb3VzU2li
bGluZykKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICByZXR1cm4gbmV3IFdlYklu
c3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudCh0aGlzLl9y
ZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByZXZpb3VzU2libGluZyk7Ci0gICAgfQotCi0g
ICAgZ2V0IG5leHRTaWJsaW5nKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy5fcmVzb3VyY2VU
aW1lbGluZURhdGFHcmlkTm9kZS5uZXh0U2libGluZykKLSAgICAgICAgICAgIHJldHVybiBudWxs
OwotICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdy
aWROb2RlUGF0aENvbXBvbmVudCh0aGlzLl9yZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLm5l
eHRTaWJsaW5nKTsKLSAgICB9Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGlu
ZVZpZXcuanMKaW5kZXggNDQzNzU4MTNlY2MyMjA0MWFmNzIyOGM1YjU1MmY1NjRhZGZmMzIwNi4u
YzE2MDBlMzM5Y2U5Yjc0Y2IzZWE2MzdkYzE3ZWI2YmZlNjVhOWY3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVs
aW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzCkBAIC0xMjYsMTYgKzEyNiwxNiBAQCBXZWJJ
bnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyA9IGNsYXNzIFNjcmlwdERldGFpbHNU
aW1lbGluZVZpZXcgZXh0ZW5kcwogICAgICAgICB2YXIgcGF0aENvbXBvbmVudHMgPSBbXTsKIAog
ICAgICAgICB3aGlsZSAoZGF0YUdyaWROb2RlICYmICFkYXRhR3JpZE5vZGUucm9vdCkgewotICAg
ICAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gdGhpcy5fZGF0YUdyaWQudHJlZUVsZW1lbnRGb3JE
YXRhR3JpZE5vZGUoZGF0YUdyaWROb2RlKTsKLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRy
ZWVFbGVtZW50KTsKLSAgICAgICAgICAgIGlmICghdHJlZUVsZW1lbnQpCi0gICAgICAgICAgICAg
ICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudC5oaWRkZW4pCisgICAgICAg
ICAgICBjb25zb2xlLmFzc2VydChkYXRhR3JpZE5vZGUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVEYXRhR3JpZE5vZGUpOworICAgICAgICAgICAgaWYgKGRhdGFHcmlkTm9kZS5oaWRk
ZW4pCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAKLSAgICAgICAgICAgIHZhciBwYXRo
Q29tcG9uZW50ID0gbmV3IFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnRQYXRoQ29tcG9u
ZW50KHRyZWVFbGVtZW50KTsKLSAgICAgICAgICAgIHBhdGhDb21wb25lbnQuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5FdmVudC5TaWJsaW5n
V2FzU2VsZWN0ZWQsIHRoaXMudHJlZUVsZW1lbnRQYXRoQ29tcG9uZW50U2VsZWN0ZWQsIHRoaXMp
OworICAgICAgICAgICAgbGV0IHJlcHJlc2VudGVkT2JqZWN0ID0gbnVsbDsKKyAgICAgICAgICAg
IGlmIChkYXRhR3JpZE5vZGUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRh
R3JpZE5vZGUpCisgICAgICAgICAgICAgICAgcmVwcmVzZW50ZWRPYmplY3QgPSBkYXRhR3JpZE5v
ZGUucHJvZmlsZU5vZGU7CisKKyAgICAgICAgICAgIGxldCBwYXRoQ29tcG9uZW50ID0gbmV3IFdl
Ykluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQoZGF0YUdyaWROb2Rl
KTsKKyAgICAgICAgICAgIHBhdGhDb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5FdmVudC5TaWJsaW5nV2FzU2VsZWN0ZWQsIHRo
aXMuZGF0YUdyaWROb2RlUGF0aENvbXBvbmVudFNlbGVjdGVkLCB0aGlzKTsKICAgICAgICAgICAg
IHBhdGhDb21wb25lbnRzLnVuc2hpZnQocGF0aENvbXBvbmVudCk7CiAgICAgICAgICAgICBkYXRh
R3JpZE5vZGUgPSBkYXRhR3JpZE5vZGUucGFyZW50OwogICAgICAgICB9CkBAIC0xNzIsMTEgKzE3
MiwxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyA9IGNsYXNzIFNj
cmlwdERldGFpbHNUaW1lbGluZVZpZXcgZXh0ZW5kcwogICAgICAgICBzdXBlci5zaG93Q29udGVu
dFZpZXdGb3JUcmVlRWxlbWVudCh0cmVlRWxlbWVudCk7CiAgICAgfQogCi0gICAgdHJlZUVsZW1l
bnRQYXRoQ29tcG9uZW50U2VsZWN0ZWQoZXZlbnQpCisgICAgZGF0YUdyaWROb2RlUGF0aENvbXBv
bmVudFNlbGVjdGVkKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRo
aXMuX2RhdGFHcmlkLmRhdGFHcmlkTm9kZUZvclRyZWVFbGVtZW50KGV2ZW50LmRhdGEucGF0aENv
bXBvbmVudC5nZW5lcmFsVHJlZUVsZW1lbnQpOwotICAgICAgICBpZiAoIWRhdGFHcmlkTm9kZSkK
LSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbGV0IGRhdGFHcmlkTm9kZSA9IGV2ZW50LmRh
dGEucGF0aENvbXBvbmVudC5kYXRhR3JpZE5vZGU7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRh
dGFHcmlkTm9kZS5kYXRhR3JpZCA9PT0gdGhpcy5fZGF0YUdyaWQpOworCiAgICAgICAgIGRhdGFH
cmlkTm9kZS5yZXZlYWxBbmRTZWxlY3QoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWRO
b2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5kZXggOTEzMDUwNDY2MjEyMDQ2OGJjNmZmOTIxMmE2
MzBjNTcyMmIxNWNjZC4uMWMxMDAzNzRiOTRhZTFhZDdkOGRkYWI3ZTc5YmMxNWM3YTRjMGI1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Ny
aXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTM3LDEx
ICszNyw2IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNz
IFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuCiAKICAgICAvLyBQdWJsaWMKIAotICAg
IGdldCByZWNvcmQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3JlY29yZDsKLSAgICB9
Ci0KICAgICBnZXQgcmVjb3JkcygpCiAgICAgewogICAgICAgICByZXR1cm4gW3RoaXMuX3JlY29y
ZF07CkBAIC0xMjUsNyArMTIwLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdy
aWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KIAogICAgICAg
ICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsKICAgICAgICAgY2FzZSAibmFtZSI6Ci0gICAg
ICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFiQ29udGVu
dFZpZXcuaWNvbkNsYXNzTmFtZUZvclJlY29yZCh0aGlzLl9yZWNvcmQpKTsKKyAgICAgICAgICAg
IGNlbGwuY2xhc3NMaXN0LmFkZCguLi50aGlzLmljb25DbGFzc05hbWVzKCkpOwogICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX2NyZWF0ZU5hbWVDZWxsRG9jdW1lbnRGcmFnbWVudCgpOwogCiAgICAg
ICAgIGNhc2UgInN0YXJ0VGltZSI6CkBAIC0xNDgsOCArMTQzLDcgQEAgV2ViSW5zcGVjdG9yLlNj
cmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5v
ZGUgZXh0ZW4KICAgICBfY3JlYXRlTmFtZUNlbGxEb2N1bWVudEZyYWdtZW50KGNlbGxFbGVtZW50
KQogICAgIHsKICAgICAgICAgbGV0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRG
cmFnbWVudCgpOwotICAgICAgICBsZXQgbWFpblRpdGxlID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
VGFiQ29udGVudFZpZXcuZGlzcGxheU5hbWVGb3JSZWNvcmQodGhpcy5fcmVjb3JkKTsKLSAgICAg
ICAgZnJhZ21lbnQuYXBwZW5kKG1haW5UaXRsZSk7CisgICAgICAgIGZyYWdtZW50LmFwcGVuZCh0
aGlzLmRpc3BsYXlOYW1lKCkpOwogCiAgICAgICAgIGlmICh0aGlzLl9yZWNvcmQuZXZlbnRUeXBl
ID09PSBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5z
dGFsbGVkKSB7CiAgICAgICAgICAgICBsZXQgc3VidGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic3BhbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRl
eCA0OTU2YTEwYjcwNDM4OGYzNzdjNzA3YmY1Mjc3YmU4NmI1MjkwNmEzLi5jOGJkYjAxMjgyNDFm
YWFhMzRiMTA5ZmM2YTc5NTJmYmNjNzEwYzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlk
Tm9kZS5qcwpAQCAtNDIsNiArNDIsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWRO
b2RlID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAg
IC8vIFB1YmxpYwogCisgICAgZ2V0IHJlY29yZCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhp
cy5yZWNvcmRzICYmIHRoaXMucmVjb3Jkcy5sZW5ndGggPyB0aGlzLnJlY29yZHNbMF0gOiBudWxs
OzsKKyAgICB9CisKICAgICBnZXQgcmVjb3JkcygpCiAgICAgewogICAgICAgICAvLyBJbXBsZW1l
bnRlZCBieSBzdWJjbGFzc2VzLgpAQCAtMzEwLDYgKzMxNSwxOCBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlkTm9kZSBleHRlbmRzIFdl
Ykluc3BlYwogCiAgICAgLy8gUHJvdGVjdGVkCiAKKyAgICBkaXNwbGF5TmFtZSgpCisgICAgewor
ICAgICAgICAvLyBDYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgorICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFiQ29udGVudFZpZXcuZGlzcGxheU5hbWVGb3JSZWNv
cmQodGhpcy5yZWNvcmQpOworICAgIH0KKworICAgIGljb25DbGFzc05hbWVzKCkKKyAgICB7Cisg
ICAgICAgIC8vIENhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCisgICAgICAgIHJldHVy
biBbV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFiQ29udGVudFZpZXcuaWNvbkNsYXNzTmFtZUZvclJl
Y29yZCh0aGlzLnJlY29yZCldOworICAgIH0KKwogICAgIGNyZWF0ZUdvVG9BcnJvd0J1dHRvbihj
ZWxsRWxlbWVudCwgY2FsbGJhY2spCiAgICAgewogICAgICAgICBmdW5jdGlvbiBidXR0b25DbGlj
a2VkKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRo
Q29tcG9uZW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2YzdjM2MyZThmYTE5NmU2MGMwMDNhNmY3ZjA1MjRm
ZTM0ZmEwN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQuanMKQEAgLTAs
MCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1dlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkTm9k
ZVBhdGhDb21wb25lbnQgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQg
ZXh0ZW5kcyBXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudAoreworICAgIGNv
bnN0cnVjdG9yKHRpbWVsaW5lRGF0YUdyaWROb2RlLCByZXByZXNlbnRlZE9iamVjdCkKKyAgICB7
CisgICAgICAgIHN1cGVyKHRpbWVsaW5lRGF0YUdyaWROb2RlLmRpc3BsYXlOYW1lKCksIHRpbWVs
aW5lRGF0YUdyaWROb2RlLmljb25DbGFzc05hbWVzKCksIHJlcHJlc2VudGVkT2JqZWN0IHx8IHRp
bWVsaW5lRGF0YUdyaWROb2RlLnJlY29yZCk7CisKKyAgICAgICAgdGhpcy5fdGltZWxpbmVEYXRh
R3JpZE5vZGUgPSB0aW1lbGluZURhdGFHcmlkTm9kZTsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMK
KworICAgIGdldCB0aW1lbGluZURhdGFHcmlkTm9kZSgpCisgICAgeworICAgICAgICByZXR1cm4g
dGhpcy5fdGltZWxpbmVEYXRhR3JpZE5vZGU7CisgICAgfQorCisgICAgZ2V0IHByZXZpb3VzU2li
bGluZygpCisgICAgeworICAgICAgICBsZXQgcHJldmlvdXNTaWJsaW5nID0gdGhpcy5fdGltZWxp
bmVEYXRhR3JpZE5vZGUucHJldmlvdXNTaWJsaW5nOworICAgICAgICB3aGlsZSAocHJldmlvdXNT
aWJsaW5nICYmIHByZXZpb3VzU2libGluZy5oaWRkZW4pCisgICAgICAgICAgICBwcmV2aW91c1Np
YmxpbmcgPSBwcmV2aW91c1NpYmxpbmcucHJldmlvdXNTaWJsaW5nOworCisgICAgICAgIGlmICgh
cHJldmlvdXNTaWJsaW5nKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisKKyAgICAgICAgcmV0
dXJuIG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50KHBy
ZXZpb3VzU2libGluZywgdGhpcy5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgfQorCisgICAgZ2V0
IG5leHRTaWJsaW5nKCkKKyAgICB7CisgICAgICAgIGxldCBuZXh0U2libGluZyA9IHRoaXMuX3Rp
bWVsaW5lRGF0YUdyaWROb2RlLm5leHRTaWJsaW5nOworICAgICAgICB3aGlsZSAobmV4dFNpYmxp
bmcgJiYgbmV4dFNpYmxpbmcuaGlkZGVuKQorICAgICAgICAgICAgbmV4dFNpYmxpbmcgPSBuZXh0
U2libGluZy5uZXh0U2libGluZzsKKworICAgICAgICBpZiAoIW5leHRTaWJsaW5nKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGw7CisKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50KG5leHRTaWJsaW5nLCB0aGlzLnJlcHJlc2Vu
dGVkT2JqZWN0KTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3LmpzCmluZGV4IDZmZWY3NTJjN2E5
YjE5NDU0MWYyMTNmYjNjYjg3YzVkZjBkNmYxOTAuLjdhN2I4YjRmNTdmMDY0YTYxNTQxZTczY2Q3
ZmEwYmQyMmE0YTI5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKQEAgLTgwLDEyICs4MCw4IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVZpZXcgPSBjbGFzcyBUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuQ29udGVudFZpZXcKIAogICAgIGdldCBzZWxlY3Rpb25QYXRoQ29tcG9uZW50cygp
CiAgICAgewotICAgICAgICBpZiAoIXRoaXMuX2NvbnRlbnRUcmVlT3V0bGluZS5zZWxlY3RlZFRy
ZWVFbGVtZW50IHx8IHRoaXMuX2NvbnRlbnRUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50
LmhpZGRlbikKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotCi0gICAgICAgIHZhciBwYXRoQ29t
cG9uZW50ID0gbmV3IFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnRQYXRoQ29tcG9uZW50
KHRoaXMuX2NvbnRlbnRUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50KTsKLSAgICAgICAg
cGF0aENvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5IaWVyYXJjaGljYWxQ
YXRoQ29tcG9uZW50LkV2ZW50LlNpYmxpbmdXYXNTZWxlY3RlZCwgdGhpcy50cmVlRWxlbWVudFBh
dGhDb21wb25lbnRTZWxlY3RlZCwgdGhpcyk7Ci0gICAgICAgIHJldHVybiBbcGF0aENvbXBvbmVu
dF07CisgICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KKyAg
ICAgICAgcmV0dXJuIG51bGw7CiAgICAgfQogCiAgICAgZ2V0IHplcm9UaW1lKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273511</attachid>
            <date>2016-03-09 16:49:56 -0800</date>
            <delta_ts>2016-03-09 17:37:52 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-154954-20160309164943.patch</filename>
            <type>text/plain</type>
            <size>34255</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
Y2I2MGQ5NDFlYjdlMDFhMmIyMjNjYjA0MDFhMzg2ZDIxN2JiMWU2Li5hZjIyNTQ1NzVmZTA0ZGEz
YjUxNjJlODEzMjYwODk1OWIwOTY4OWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTYtMDMtMDkgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lcyBVSSByZWRlc2lnbjogdXNlIERh
dGFHcmlkTm9kZSBmb3IgVGltZWxpbmVWaWV3IHNlbGVjdGlvbiBwYXRoIGNvbXBvbmVudHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDk1NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ5NDc5Mzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
b3RoeSBIYXRjaGVyLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBwYXRoIGNvbXBv
bmVudCwgVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50LAorICAgICAgICBmb3IgY3Jl
YXRpbmcgYSBwYXRoIGNvbXBvbmVudCBmcm9tIHRoZSBjdXJyZW50IGdyaWQgc2VsZWN0aW9uLiBU
aGlzIGlzCisgICAgICAgIG5lZWRlZCBzaW5jZSBUaW1lbGluZVZpZXdzIHdpbGwgbm8gbG9uZ2Vy
IGhhdmUgYW4gYXNzb2NpYXRlZCBjb250ZW50IHRyZWUKKyAgICAgICAgb3V0bGluZSBvbmNlIHRo
ZSBuYXZpZ2F0aW9uIHNpZGViYXIgaXMgcmVtb3ZlZC4KKworICAgICAgICBUaW1lbGluZURhdGFH
cmlkTm9kZSBoYXMgbmV3IHByb3RlY3RlZCBtZXRob2RzLCAiZGlzcGxheU5hbWUiIGFuZAorICAg
ICAgICAiaWNvbkNsYXNzTmFtZXMiLCB3aGljaCBhcmUgdXNlZCB0byBwb3B1bGF0ZSBoaWVyYXJj
aGljYWwgcGF0aCBjb21wb25lbnRzLAorICAgICAgICBjcmVhdGUgZ3JpZCBub2RlIGRhdGEsIGFu
ZCBjcmVhdGUgY2VsbCBjb250ZW50LgorCisgICAgICAgIFRpbWVsaW5lVmlldyBzdWJjbGFzc2Vz
IHNoYXJlIGEgY2VydGFpbiBhbW91bnQgb2YgYm9pbGVycGxhdGUgY29kZSBmb3IKKyAgICAgICAg
Z2V0dGluZyBzZWxlY3Rpb24gcGF0aCBjb21wb25lbnRzIGFuZCBoYW5kbGluZyBwYXRoIGNvbXBv
bmVudCBzZWxlY3Rpb24uCisgICAgICAgIEluIHRoZSBmdXR1cmUgd2UgbWF5IGJlIGFibGUgdG8g
cmVkdWNlIHRoaXMgY29kZSBieSBpbnRyb2R1Y2luZyBhIG5ldworICAgICAgICBEYXRhR3JpZFRp
bWVsaW5lVmlldyBiYXNlIGNsYXNzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9NYWluLmh0
bWw6CisgICAgICAgIEFkZGVkL3JlbW92ZWQgZmlsZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5nZXQgZGF0YSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBl
LmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGlu
ZURhdGFHcmlkTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVEYXRh
R3JpZE5vZGUucHJvdG90eXBlLmdldCByZWNvcmQpOiBEZWxldGVkLgorICAgICAgICBNb3ZlZCB0
byBiYXNlIGNsYXNzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1l
bGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3LnBy
b3RvdHlwZS5nZXQgc2VsZWN0aW9uUGF0aENvbXBvbmVudHMpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUuZGF0YUdyaWROb2RlUGF0aENvbXBvbmVu
dFNlbGVjdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZpZXcucHJv
dG90eXBlLnRyZWVFbGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAg
ICAgVGltZWxpbmVWaWV3IHRyZWUgb3V0bGluZXMgYXJlIGdvaW5nIGF3YXkuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5NZW1vcnlUaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50UGF0aENv
bXBvbmVudFNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgVGltZWxpbmVWaWV3IHRyZWUgb3V0
bGluZXMgYXJlIGdvaW5nIGF3YXkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05l
dHdvcmtUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVs
aW5lVmlldy5wcm90b3R5cGUuZ2V0IHNlbGVjdGlvblBhdGhDb21wb25lbnRzKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3LnByb3RvdHlwZS5kYXRhR3JpZE5vZGVQ
YXRoQ29tcG9uZW50U2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1l
bGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkKTogRGVs
ZXRlZC4KKyAgICAgICAgVGltZWxpbmVWaWV3IHRyZWUgb3V0bGluZXMgYXJlIGdvaW5nIGF3YXku
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVOb2RlRGF0YUdyaWROb2Rl
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLnByb3Rv
dHlwZS5nZXQgZGF0YSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRhR3Jp
ZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZGlzcGxheU5hbWUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5pY29uQ2xh
c3NOYW1lcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlLnByb3RvdHlw
ZS5faWNvbkNsYXNzTmFtZUZvclByb2ZpbGVOb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuX3RpdGxlRm9yUHJvZmls
ZU5vZGUpOiBEZWxldGVkLgorICAgICAgICBSZS1pbXBsZW1lbnRlZCBhcyBvdmVycmlkZXMgb2Yg
dGhlIGJhc2UgY2xhc3MgbWV0aG9kcyAiaWNvbkNsYXNzTmFtZXMiCisgICAgICAgIGFuZCAiZGlz
cGxheU5hbWUiLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGxDb250ZW50KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWROb2Rl
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWRO
b2RlLnByb3RvdHlwZS5nZXQgcmVjb3JkKTogRGVsZXRlZC4KKyAgICAgICAgTW92ZWQgdG8gYmFz
ZSBjbGFzcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGlu
ZURhdGFHcmlkTm9kZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5l
RGF0YUdyaWROb2RlLnByb3RvdHlwZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZGlzcGxheU5h
bWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUu
cHJvdG90eXBlLmljb25DbGFzc05hbWVzKToKKyAgICAgICAgT3ZlcnJpZGUgYmFzZSBjbGFzcyBt
ZXRob2RzLCBtYWtpbmcgaXQgcG9zc2libGUgdG8gcmVtb3ZlIFJlc291cmNlVGltZWxpbmVEYXRh
R3JpZE5vZGVQYXRoQ29tcG9uZW50LAorICAgICAgICBhbmQgdHJlYXQgYWxsIFRpbWVsaW5lRGF0
YUdyaWROb2RlcyBpbiBhIHVuaWZvcm0gbWFubmVyLgorCisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuX2NyZWF0ZU5hbWVDZWxsRG9j
dW1lbnRGcmFnbWVudCk6CisgICAgICAgIFJlcGxhY2UgZHVwbGljYXRlZCBjb2RlIHdpdGggY2Fs
bCB0byAiZGlzcGxheU5hbWUiLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNv
dXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudC5qczogUmVtb3ZlZC4KKyAgICAg
ICAgUmVwbGFjZWQgYnkgbW9yZSBnZW5lcmljIHNvbHV0aW9uLCBUaW1lbGluZURhdGFHcmlkTm9k
ZVBhdGhDb21wb25lbnQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERl
dGFpbHNUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0RGV0YWls
c1RpbWVsaW5lVmlldy5wcm90b3R5cGUuZ2V0IHNlbGVjdGlvblBhdGhDb21wb25lbnRzKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LnByb3RvdHlwZS5k
YXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50U2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50UGF0aENvbXBv
bmVudFNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgVGltZWxpbmVWaWV3IHRyZWUgb3V0bGlu
ZXMgYXJlIGdvaW5nIGF3YXkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Njcmlw
dFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRp
bWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLl9jcmVh
dGVOYW1lQ2VsbERvY3VtZW50RnJhZ21lbnQpOgorICAgICAgICBSZXBsYWNlIGR1cGxpY2F0ZWQg
Y29kZSB3aXRoIGNhbGwgdG8gImRpc3BsYXlOYW1lIi4KKworICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0IHJlY29yZCk6IERlbGV0ZWQuCisg
ICAgICAgIE1vdmVkIHRvIGJhc2UgY2xhc3MuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3Rv
dHlwZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29k
ZVRpbWVsaW5lVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLl9jcmVhdGVOYW1lQ2VsbENv
bnRlbnQpOgorICAgICAgICBSZXBsYWNlIGR1cGxpY2F0ZWQgY29kZSB3aXRoIGNhbGwgdG8gImRp
c3BsYXlOYW1lIi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRh
R3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZE5vZGUu
cHJvdG90eXBlLmdldCByZWNvcmQpOgorICAgICAgICBJbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiB0
aGUgInJlY29yZHMiIGdldHRlciwgc2luY2UgYWxsIHN1YmNsYXNzZXMgc2ltcGx5IHJldHVybmVk
IHRoZQorICAgICAgICBub2RlJ3MgZmlyc3QgKG9yIG9ubHkpIHJlY29yZC4KKworICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5kaXNwbGF5TmFtZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmlj
b25DbGFzc05hbWVzKToKKyAgICAgICAgQmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbnMsIHVzaW5n
IHV0aWxpdHkgbWV0aG9kcyBpbiBUaW1lbGluZVRhYkNvbnRlbnRWaWV3CisgICAgICAgIHRvIGdl
dCBkaXNwbGF5IGRhdGEgYmFzZWQgb24gdGhlIG5vZGUncyB0aW1lbGluZSByZWNvcmQuIENhbiBi
ZSBvdmVycmlkZGVuCisgICAgICAgIGJ5IG5vZGVzIHRoYXQgZWl0aGVyIGRvbid0IGhhdmUgYSB0
aW1lbGluZSByZWNvcmQgKFByb2ZpbGVOb2RlRGF0YUdyaWROb2RlKQorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25lbnQu
cHJvdG90eXBlLmdldCB0aW1lbGluZURhdGFHcmlkTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50LnByb3RvdHlwZS5nZXQgcHJldmlv
dXNTaWJsaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkTm9kZVBh
dGhDb21wb25lbnQucHJvdG90eXBlLmdldCBuZXh0U2libGluZyk6CisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5
cGUuZ2V0IHNlbGVjdGlvblBhdGhDb21wb25lbnRzKToKKyAgICAgICAgTXVzdCBiZSBpbXBsZW1l
bnRlZCBieSBzdWJjbGFzc2VzIHNpbmNlIG5vdCBhbGwgVGltZWxpbmVWaWV3cyB1c2UgYSBEYXRh
R3JpZC4KKwogMjAxNi0wMy0wOSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbW92ZSB1bm5lY2Vzc2FyeSBjb25zdHJ1Y3Rv
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5o
dG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4
IDM4OGMwNGYxYjYzMmQ5NjAxMWU5MjllYjI3NWIwNGYyY2I5YzlmOWIuLmExNjUwY2E5ZjlkMDA3
NzZkODBmYmVlNjA5ZTNkMGEwODQ3ZDI2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAgLTU2Nyw3ICs1NjcsNiBAQAogICAgIDxzY3JpcHQg
c3JjPSJWaWV3cy9SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJWaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWRO
b2RlUGF0aENvbXBvbmVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1J1
bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3
cy9TY29wZUJhci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Njb3BlQmFy
SXRlbS5qcyI+PC9zY3JpcHQ+CkBAIC01OTYsNiArNTk1LDcgQEAKICAgICA8c2NyaXB0IHNyYz0i
Vmlld3MvU3ludGF4SGlnaGxpZ2h0aW5nU3VwcG9ydC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IlZpZXdzL1RleHRDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IlZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50LmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWROb2Rl
LmpzCmluZGV4IGRmZmMyMDNlMWM0Y2M5NTljMDQ0OWQ5YzY4MGJiYWRhMDUxMjE4NGQuLjYxMDg2
N2FhMzYzODFhMWQwYTk4ODcyYzQxNTdkZjg3MWRlMjQxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWRO
b2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xh
eW91dFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCkBAIC0zNSwxMSArMzUsNiBAQCBXZWJJbnNwZWN0
b3IuTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBMYXlvdXRUaW1lbGluZURhdGFH
cmlkTm9kZSBleHRlbgogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQgcmVjb3JkKCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLl9yZWNvcmQ7Ci0gICAgfQotCiAgICAgZ2V0IHJlY29yZHMo
KQogICAgIHsKICAgICAgICAgcmV0dXJuIFt0aGlzLl9yZWNvcmRdOwpAQCAtNDksNyArNDQsNyBA
QCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBMYXlvdXRU
aW1lbGluZURhdGFHcmlkTm9kZSBleHRlbgogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9jYWNo
ZWREYXRhKSB7CiAgICAgICAgICAgICB0aGlzLl9jYWNoZWREYXRhID0gewotICAgICAgICAgICAg
ICAgIG5hbWU6IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5kaXNwbGF5TmFtZUZv
ckV2ZW50VHlwZSh0aGlzLl9yZWNvcmQuZXZlbnRUeXBlKSwKKyAgICAgICAgICAgICAgICBuYW1l
OiB0aGlzLmRpc3BsYXlOYW1lKCksCiAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuX3JlY29y
ZC53aWR0aCwKICAgICAgICAgICAgICAgICBoZWlnaHQ6IHRoaXMuX3JlY29yZC5oZWlnaHQsCiAg
ICAgICAgICAgICAgICAgYXJlYTogdGhpcy5fcmVjb3JkLndpZHRoICogdGhpcy5fcmVjb3JkLmhl
aWdodCwKQEAgLTY4LDcgKzYzLDcgQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdy
aWROb2RlID0gY2xhc3MgTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KIAogICAgICAg
ICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsKICAgICAgICAgY2FzZSAibmFtZSI6Ci0gICAg
ICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFiQ29udGVu
dFZpZXcuaWNvbkNsYXNzTmFtZUZvclJlY29yZCh0aGlzLl9yZWNvcmQpKTsKKyAgICAgICAgICAg
IGNlbGwuY2xhc3NMaXN0LmFkZCguLi50aGlzLmljb25DbGFzc05hbWVzKCkpOwogICAgICAgICAg
ICAgcmV0dXJuIHZhbHVlOwogCiAgICAgICAgIGNhc2UgIndpZHRoIjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lVmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRp
bWVsaW5lVmlldy5qcwppbmRleCA1ZDI3NTZlOTc0M2JkZGYxYjBkNThiYTM5Y2JmZjMyNjlmNTQz
M2JmLi43ZjFiNTlkYzUzMTgwNmJmOWM2MTg1NTE3ZTg0NjMwNjY0ODIzNjM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGlu
ZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TGF5b3V0VGltZWxpbmVWaWV3LmpzCkBAIC0xMDIsNiArMTAyLDE5IEBAIFdlYkluc3BlY3Rvci5M
YXlvdXRUaW1lbGluZVZpZXcgPSBjbGFzcyBMYXlvdXRUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuCiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlY29yZHMi
KTsKICAgICB9CiAKKyAgICBnZXQgc2VsZWN0aW9uUGF0aENvbXBvbmVudHMoKQorICAgIHsKKyAg
ICAgICAgaWYgKCF0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUgfHwgdGhpcy5fZGF0YUdyaWQu
c2VsZWN0ZWROb2RlLmhpZGRlbikKKyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAg
IGxldCB0aW1lbGluZURhdGFHcmlkTm9kZSA9IHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZTsK
KyAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmVEYXRhR3JpZE5vZGUgaW5zdGFuY2VvZiBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZE5vZGUpOworCisgICAgICAgIGxldCBwYXRoQ29t
cG9uZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkTm9kZVBhdGhDb21wb25l
bnQodGltZWxpbmVEYXRhR3JpZE5vZGUpOworICAgICAgICBwYXRoQ29tcG9uZW50LmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQuRXZlbnQuU2li
bGluZ1dhc1NlbGVjdGVkLCB0aGlzLmRhdGFHcmlkTm9kZVBhdGhDb21wb25lbnRTZWxlY3RlZCwg
dGhpcyk7CisgICAgICAgIHJldHVybiBbcGF0aENvbXBvbmVudF07CisgICAgfQorCiAgICAgc2hv
d24oKQogICAgIHsKICAgICAgICAgc3VwZXIuc2hvd24oKTsKQEAgLTE1MywxMSArMTY2LDExIEBA
IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZpZXcgPSBjbGFzcyBMYXlvdXRUaW1lbGluZVZp
ZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAKICAgICAvLyBQcm90ZWN0ZWQKIAotICAgIHRyZWVF
bGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkKGV2ZW50KQorICAgIGRhdGFHcmlkTm9kZVBhdGhD
b21wb25lbnRTZWxlY3RlZChldmVudCkKICAgICB7Ci0gICAgICAgIHZhciBkYXRhR3JpZE5vZGUg
PSB0aGlzLl9kYXRhR3JpZC5kYXRhR3JpZE5vZGVGb3JUcmVlRWxlbWVudChldmVudC5kYXRhLnBh
dGhDb21wb25lbnQuZ2VuZXJhbFRyZWVFbGVtZW50KTsKLSAgICAgICAgaWYgKCFkYXRhR3JpZE5v
ZGUpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIGxldCBkYXRhR3JpZE5vZGUgPSBldmVu
dC5kYXRhLnBhdGhDb21wb25lbnQudGltZWxpbmVEYXRhR3JpZE5vZGU7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KGRhdGFHcmlkTm9kZS5kYXRhR3JpZCA9PT0gdGhpcy5fZGF0YUdyaWQpOworCiAg
ICAgICAgIGRhdGFHcmlkTm9kZS5yZXZlYWxBbmRTZWxlY3QoKTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVs
aW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01l
bW9yeVRpbWVsaW5lVmlldy5qcwppbmRleCA1ZjM4MzUzOTBkMGFiNjI5M2QyODkwZjU2ZTBiNmU0
OTQyNDUyOGYwLi42MzMyZjAxYmNiNjk5M2Q5YzUzMjhmZTZlYjRmMGNkNzgyOGQ3YTViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlU
aW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzCkBAIC0xNTQsMTEgKzE1NCw2IEBAIFdlYkluc3Bl
Y3Rvci5NZW1vcnlUaW1lbGluZVZpZXcgPSBjbGFzcyBNZW1vcnlUaW1lbGluZVZpZXcgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuCiAKICAgICAvLyBQcm90ZWN0ZWQKIAotICAgIHRyZWVFbGVtZW50UGF0
aENvbXBvbmVudFNlbGVjdGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgLy8gTm90aGluZy4gVGhl
IHNpZGViYXIgd2lsbCBzb29uIGJlIHJlbW92ZWQuCi0gICAgfQotCiAgICAgbGF5b3V0KCkKICAg
ICB7CiAgICAgICAgIC8vIEFsd2F5cyB1cGRhdGUgdGltZWxpbmUgcnVsZXIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxp
bmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0
d29ya1RpbWVsaW5lVmlldy5qcwppbmRleCA0ZGFmODI3ZTE0NDc3ZDEwZTY4Mjg5NWExZTI2ZjNj
N2VjZjc4ZGZmLi5iZWFiYTgyNTJiNDRiNTM5YTI1NTU2MTg2NDk2MjMxMzUyMTU1NjM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3Jr
VGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanMKQEAgLTExMSw2ICsxMTEsMTggQEAgV2ViSW5z
cGVjdG9yLk5ldHdvcmtUaW1lbGluZVZpZXcgPSBjbGFzcyBOZXR3b3JrVGltZWxpbmVWaWV3IGV4
dGVuZHMgV2ViSW5zcGVjdG8KICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
UmVzb3VyY2VzIik7CiAgICAgfQogCisgICAgZ2V0IHNlbGVjdGlvblBhdGhDb21wb25lbnRzKCkK
KyAgICB7CisgICAgICAgIGlmICghdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlIHx8IHRoaXMu
X2RhdGFHcmlkLnNlbGVjdGVkTm9kZS5oaWRkZW4pCisgICAgICAgICAgICByZXR1cm4gbnVsbDsK
KworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUgaW5z
dGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZSk7CisKKyAg
ICAgICAgbGV0IHBhdGhDb21wb25lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdy
aWROb2RlUGF0aENvbXBvbmVudCh0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUsIHRoaXMuX2Rh
dGFHcmlkLnNlbGVjdGVkTm9kZS5yZXNvdXJjZSk7CisgICAgICAgIHBhdGhDb21wb25lbnQuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5FdmVu
dC5TaWJsaW5nV2FzU2VsZWN0ZWQsIHRoaXMuZGF0YUdyaWROb2RlUGF0aENvbXBvbmVudFNlbGVj
dGVkLCB0aGlzKTsKKyAgICAgICAgcmV0dXJuIFtwYXRoQ29tcG9uZW50XTsKKyAgICB9CisKICAg
ICBzaG93bigpCiAgICAgewogICAgICAgICBzdXBlci5zaG93bigpOwpAQCAtMTY2LDExICsxNzgs
MTQgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZVZpZXcgPSBjbGFzcyBOZXR3b3JrVGlt
ZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG8KICAgICAgICAgY29uc29sZS5lcnJvcigiVW5r
bm93biB0cmVlIGVsZW1lbnQgc2VsZWN0ZWQuIiwgdHJlZUVsZW1lbnQpOwogICAgIH0KIAotICAg
IHRyZWVFbGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkKGV2ZW50KQorICAgIGRhdGFHcmlkTm9k
ZVBhdGhDb21wb25lbnRTZWxlY3RlZChldmVudCkKICAgICB7Ci0gICAgICAgIHZhciBkYXRhR3Jp
ZE5vZGUgPSB0aGlzLl9kYXRhR3JpZC5kYXRhR3JpZE5vZGVGb3JUcmVlRWxlbWVudChldmVudC5k
YXRhLnBhdGhDb21wb25lbnQuZ2VuZXJhbFRyZWVFbGVtZW50KTsKLSAgICAgICAgaWYgKCFkYXRh
R3JpZE5vZGUpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIGxldCBwYXRoQ29tcG9uZW50
ID0gZXZlbnQuZGF0YS5wYXRoQ29tcG9uZW50OworICAgICAgICBjb25zb2xlLmFzc2VydChwYXRo
Q29tcG9uZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlUGF0
aENvbXBvbmVudCk7CisKKyAgICAgICAgbGV0IGRhdGFHcmlkTm9kZSA9IHBhdGhDb21wb25lbnQu
dGltZWxpbmVEYXRhR3JpZE5vZGU7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRhdGFHcmlkTm9k
ZS5kYXRhR3JpZCA9PT0gdGhpcy5fZGF0YUdyaWQpOworCiAgICAgICAgIGRhdGFHcmlkTm9kZS5y
ZXZlYWxBbmRTZWxlY3QoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVOb2RlRGF0YUdyaWROb2RlLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmlsZU5vZGVEYXRhR3Jp
ZE5vZGUuanMKaW5kZXggNzExYjFmNWJkMTQ2NGJkYTUwNDk4ZDAwNGZjZjNjNzY2NzNhZWM2YS4u
Y2U5ODk3ODI2ZTJkMzlkNWU0Y2Q3MzNhNjIwZDg2ZjU1ZTgwNjk4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmlsZU5vZGVEYXRhR3Jp
ZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
UHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUuanMKQEAgLTcwLDcgKzcwLDcgQEAgV2ViSW5zcGVjdG9y
LlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlID0gY2xhc3MgUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUg
ZXh0ZW5kcyBXZWIKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fY2FjaGVkRGF0YSkgewogICAg
ICAgICAgICAgdGhpcy5fY2FjaGVkRGF0YSA9IHRoaXMuX3Byb2ZpbGVOb2RlLmNvbXB1dGVDYWxs
SW5mb0ZvclRpbWVSYW5nZSh0aGlzLl9yYW5nZVN0YXJ0VGltZSwgdGhpcy5fcmFuZ2VFbmRUaW1l
KTsKLSAgICAgICAgICAgIHRoaXMuX2NhY2hlZERhdGEubmFtZSA9IHRoaXMuX3RpdGxlRm9yUHJv
ZmlsZU5vZGUoKTsKKyAgICAgICAgICAgIHRoaXMuX2NhY2hlZERhdGEubmFtZSA9IHRoaXMuZGlz
cGxheU5hbWUoKTsKICAgICAgICAgICAgIHRoaXMuX2NhY2hlZERhdGEubG9jYXRpb24gPSB0aGlz
Ll9wcm9maWxlTm9kZS5zb3VyY2VDb2RlTG9jYXRpb247CiAgICAgICAgIH0KIApAQCAtMTE0LDcg
KzExNCw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZSA9IGNsYXNzIFBy
b2ZpbGVOb2RlRGF0YUdyaWROb2RlIGV4dGVuZHMgV2ViCiAKICAgICAgICAgc3dpdGNoIChjb2x1
bW5JZGVudGlmaWVyKSB7CiAgICAgICAgIGNhc2UgIm5hbWUiOgotICAgICAgICAgICAgY2VsbC5j
bGFzc0xpc3QuYWRkKHRoaXMuX2ljb25DbGFzc05hbWVGb3JQcm9maWxlTm9kZSgpKTsKKyAgICAg
ICAgICAgIGNlbGwuY2xhc3NMaXN0LmFkZCguLi50aGlzLmljb25DbGFzc05hbWVzKCkpOwogICAg
ICAgICAgICAgcmV0dXJuIHZhbHVlOwogCiAgICAgICAgIGNhc2UgInN0YXJ0VGltZSI6CkBAIC0x
MjksOSArMTI5LDI3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZSA9IGNs
YXNzIFByb2ZpbGVOb2RlRGF0YUdyaWROb2RlIGV4dGVuZHMgV2ViCiAgICAgICAgIHJldHVybiBz
dXBlci5jcmVhdGVDZWxsQ29udGVudChjb2x1bW5JZGVudGlmaWVyLCBjZWxsKTsKICAgICB9CiAK
LSAgICAvLyBQcml2YXRlCisgICAgZGlzcGxheU5hbWUoKQorICAgIHsKKyAgICAgICAgbGV0IHRp
dGxlID0gdGhpcy5fcHJvZmlsZU5vZGUuZnVuY3Rpb25OYW1lOworICAgICAgICBpZiAoIXRpdGxl
KSB7CisgICAgICAgICAgICBzd2l0Y2ggKHRoaXMuX3Byb2ZpbGVOb2RlLnR5cGUpIHsKKyAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlLlR5cGUuRnVuY3Rpb246CisgICAg
ICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIihhbm9ueW1vdXMgZnVu
Y3Rpb24pIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5Qcm9maWxlTm9kZS5UeXBlLlByb2dyYW06CisgICAgICAgICAgICAgICAgdGl0bGUg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIihwcm9ncmFtKSIpOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICB0aXRsZSA9IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiKGFub255bW91cyBmdW5jdGlvbikiKTsKKyAgICAgICAgICAgICAg
ICBjb25zb2xlLmVycm9yKCJVbmtub3duIFByb2ZpbGVOb2RlIHR5cGU6ICIgKyB0aGlzLl9wcm9m
aWxlTm9kZS50eXBlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCi0gICAgX2ljb25DbGFz
c05hbWVGb3JQcm9maWxlTm9kZSgpCisgICAgICAgIHJldHVybiB0aXRsZTsKKyAgICB9CisKKyAg
ICBpY29uQ2xhc3NOYW1lcygpCiAgICAgewogICAgICAgICBsZXQgY2xhc3NOYW1lOwogICAgICAg
ICBzd2l0Y2ggKHRoaXMuX3Byb2ZpbGVOb2RlLnR5cGUpIHsKQEAgLTE1MiwyNiArMTcwLDYgQEAg
V2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlRGF0YUdyaWROb2RlID0gY2xhc3MgUHJvZmlsZU5vZGVE
YXRhR3JpZE5vZGUgZXh0ZW5kcyBXZWIKICAgICAgICAgaWYgKHRoaXMuX3Byb2ZpbGVOb2RlLmZ1
bmN0aW9uTmFtZSAmJiB0aGlzLl9wcm9maWxlTm9kZS5mdW5jdGlvbk5hbWUuc3RhcnRzV2l0aCgi
b24iKSAmJiB0aGlzLl9wcm9maWxlTm9kZS5mdW5jdGlvbk5hbWUubGVuZ3RoID49IDUpCiAgICAg
ICAgICAgICBjbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuQ2FsbEZyYW1lVmlldy5FdmVudExpc3Rl
bmVySWNvblN0eWxlQ2xhc3NOYW1lOwogCi0gICAgICAgIHJldHVybiBjbGFzc05hbWU7Ci0gICAg
fQotCi0gICAgX3RpdGxlRm9yUHJvZmlsZU5vZGUoKQotICAgIHsKLSAgICAgICAgbGV0IHRpdGxl
ID0gdGhpcy5fcHJvZmlsZU5vZGUuZnVuY3Rpb25OYW1lOwotICAgICAgICBpZiAoIW5hbWUpIHsK
LSAgICAgICAgICAgIHN3aXRjaCAodGhpcy5fcHJvZmlsZU5vZGUudHlwZSkgewotICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGUuVHlwZS5GdW5jdGlvbjoKLSAgICAgICAg
ICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiKGFub255bW91cyBmdW5jdGlv
bikiKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVj
dG9yLlByb2ZpbGVOb2RlLlR5cGUuUHJvZ3JhbToKLSAgICAgICAgICAgICAgICB0aXRsZSA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiKHByb2dyYW0pIik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCIoYW5vbnltb3VzIGZ1bmN0aW9uKSIpOwotICAgICAgICAgICAgICAgIGNv
bnNvbGUuZXJyb3IoIlVua25vd24gUHJvZmlsZU5vZGUgdHlwZTogIiArIHRoaXMuX3Byb2ZpbGVO
b2RlLnR5cGUpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHRp
dGxlOworICAgICAgICByZXR1cm4gW2NsYXNzTmFtZV07CiAgICAgfQogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1l
VGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmluZGV4IDI2
YzhhYzhiMGNlYjA5ZjgxNmRhZjMyM2FhMzAzYjViYzA4NmQwYzguLjM4ZWNiZjQ2ODk2YjZjZWJm
NjJhM2RjMzhiMTY5YzhjODk5NWE5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVy
aW5nRnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAtMzUsMTEgKzM1LDYgQEAgV2ViSW5z
cGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBSZW5kZXJp
bmdGcmFtZVRpbWVsaW5lRGEKIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IHJlY29yZCgpCi0g
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkOwotICAgIH0KLQogICAgIGdldCByZWNv
cmRzKCkKICAgICB7CiAgICAgICAgIHJldHVybiBbdGhpcy5fcmVjb3JkXTsKQEAgLTczLDcgKzY4
LDcgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUgPSBj
bGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGEKIAogICAgICAgICBzd2l0Y2ggKGNvbHVtbklk
ZW50aWZpZXIpIHsKICAgICAgICAgY2FzZSAibmFtZSI6Ci0gICAgICAgICAgICBjZWxsLmNsYXNz
TGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFiQ29udGVudFZpZXcuaWNvbkNsYXNzTmFt
ZUZvclJlY29yZCh0aGlzLl9yZWNvcmQpKTsKKyAgICAgICAgICAgIGNlbGwuY2xhc3NMaXN0LmFk
ZCguLi50aGlzLmljb25DbGFzc05hbWVzKCkpOwogICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwog
CiAgICAgICAgIGNhc2UgInN0YXJ0VGltZSI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1l
bGluZURhdGFHcmlkTm9kZS5qcwppbmRleCBiNmM2MmEzNjFkMmU0MTg1MjNkZGJiMmI1OTliNGVm
MzQ0YjVhOWY4Li40ZmYzNzJmOTg3YTNlMzRlMjA5MjI0ZTQ1MjY0MzYyMTVlMTA1Y2E0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJj
ZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTk4LDcg
Kzk4LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFz
cyBSZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlIGUKIAogICAgICAgICBzd2l0Y2ggKGNvbHVt
bklkZW50aWZpZXIpIHsKICAgICAgICAgY2FzZSAibmFtZSI6Ci0gICAgICAgICAgICBjZWxsLmNs
YXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZUVsZW1lbnQuUmVzb3VyY2VJY29u
U3R5bGVDbGFzc05hbWUsIHJlc291cmNlLnR5cGUpOworICAgICAgICAgICAgY2VsbC5jbGFzc0xp
c3QuYWRkKC4uLnRoaXMuaWNvbkNsYXNzTmFtZXMoKSk7CiAgICAgICAgICAgICBjZWxsLnRpdGxl
ID0gcmVzb3VyY2UuZGlzcGxheVVSTDsKICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cyhj
ZWxsKTsKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVOYW1lQ2VsbERvY3VtZW50RnJh
Z21lbnQoKTsKQEAgLTE0MSwxMiArMTQxLDE3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVs
aW5lRGF0YUdyaWROb2RlID0gY2xhc3MgUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZSBlCiAg
ICAgICAgIHN1cGVyLnJlZnJlc2goKTsKICAgICB9CiAKKyAgICBpY29uQ2xhc3NOYW1lcygpCisg
ICAgeworICAgICAgICByZXR1cm4gW1dlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50LlJl
c291cmNlSWNvblN0eWxlQ2xhc3NOYW1lLCB0aGlzLnJlc291cmNlLnR5cGVdOworICAgIH0KKwog
ICAgIC8vIFByaXZhdGUKIAogICAgIF9jcmVhdGVOYW1lQ2VsbERvY3VtZW50RnJhZ21lbnQoKQog
ICAgIHsKICAgICAgICAgbGV0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFn
bWVudCgpOwotICAgICAgICBsZXQgbWFpblRpdGxlID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lVGFi
Q29udGVudFZpZXcuZGlzcGxheU5hbWVGb3JSZWNvcmQodGhpcy5fcmVjb3JkKTsKKyAgICAgICAg
bGV0IG1haW5UaXRsZSA9IHRoaXMuZGlzcGxheU5hbWUoKTsKICAgICAgICAgZnJhZ21lbnQuYXBw
ZW5kKG1haW5UaXRsZSk7CiAKICAgICAgICAgLy8gU2hvdyB0aGUgaG9zdCBhcyB0aGUgc3VidGl0
bGUgaWYgaXQgaXMgZGlmZmVyZW50IGZyb20gdGhlIG1haW4gcmVzb3VyY2Ugb3IgaWYgdGhpcyBp
cyB0aGUgbWFpbiBmcmFtZSdzIG1haW4gcmVzb3VyY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWRO
b2RlUGF0aENvbXBvbmVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50LmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTA3OTA2YTNkZGE5MmZlMmY1Mzk3ZjhhNmVmYzIy
NGE0ZmE5YmU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxp
bmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0
YUdyaWROb2RlUGF0aENvbXBvbmVudCA9IGNsYXNzIFJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5v
ZGVQYXRoQ29tcG9uZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhDb21w
b25lbnQKLXsKLSAgICBjb25zdHJ1Y3RvcihyZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlKQot
ICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gcmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9k
ZS5yZWNvcmQucmVzb3VyY2U7Ci0gICAgICAgIHZhciBjbGFzc05hbWVzID0gW1dlYkluc3BlY3Rv
ci5SZXNvdXJjZVRyZWVFbGVtZW50LlJlc291cmNlSWNvblN0eWxlQ2xhc3NOYW1lLCByZXNvdXJj
ZS50eXBlXTsKLQotICAgICAgICBzdXBlcihyZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmRh
dGEubmFtZSwgY2xhc3NOYW1lcywgcmVzb3VyY2UpOwotCi0gICAgICAgIHRoaXMuX3Jlc291cmNl
VGltZWxpbmVEYXRhR3JpZE5vZGUgPSByZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlOwotICAg
IH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAgZ2V0IHJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5v
ZGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlVGltZWxpbmVEYXRhR3Jp
ZE5vZGU7Ci0gICAgfQotCi0gICAgZ2V0IHByZXZpb3VzU2libGluZygpCi0gICAgewotICAgICAg
ICBpZiAoIXRoaXMuX3Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUucHJldmlvdXNTaWJsaW5n
KQotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50KHRoaXMuX3Jlc291
cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUucHJldmlvdXNTaWJsaW5nKTsKLSAgICB9Ci0KLSAgICBn
ZXQgbmV4dFNpYmxpbmcoKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9yZXNvdXJjZVRpbWVs
aW5lRGF0YUdyaWROb2RlLm5leHRTaWJsaW5nKQotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0g
ICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5v
ZGVQYXRoQ29tcG9uZW50KHRoaXMuX3Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUubmV4dFNp
YmxpbmcpOwotICAgIH0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmll
dy5qcwppbmRleCA0NDM3NTgxM2VjYzIyMDQxYWY3MjI4YzViNTUyZjU2NGFkZmYzMjA2Li44ZmRk
NDRjMzE4MzBiZTdjOWFjN2VkN2JhMGJkNWM4NWVhMWY4NTRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
cmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKQEAgLTEyNiwxNiArMTI2LDE2IEBAIFdlYkluc3Bl
Y3Rvci5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0RGV0YWlsc1RpbWVs
aW5lVmlldyBleHRlbmRzCiAgICAgICAgIHZhciBwYXRoQ29tcG9uZW50cyA9IFtdOwogCiAgICAg
ICAgIHdoaWxlIChkYXRhR3JpZE5vZGUgJiYgIWRhdGFHcmlkTm9kZS5yb290KSB7Ci0gICAgICAg
ICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLl9kYXRhR3JpZC50cmVlRWxlbWVudEZvckRhdGFH
cmlkTm9kZShkYXRhR3JpZE5vZGUpOwotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodHJlZUVs
ZW1lbnQpOwotICAgICAgICAgICAgaWYgKCF0cmVlRWxlbWVudCkKLSAgICAgICAgICAgICAgICBi
cmVhazsKLQotICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50LmhpZGRlbikKKyAgICAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KGRhdGFHcmlkTm9kZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1l
bGluZURhdGFHcmlkTm9kZSk7CisgICAgICAgICAgICBpZiAoZGF0YUdyaWROb2RlLmhpZGRlbikK
ICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICAgICAgdmFyIHBhdGhDb21w
b25lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudFBhdGhDb21wb25lbnQo
dHJlZUVsZW1lbnQpOwotICAgICAgICAgICAgcGF0aENvbXBvbmVudC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5IaWVyYXJjaGljYWxQYXRoQ29tcG9uZW50LkV2ZW50LlNpYmxpbmdXYXNT
ZWxlY3RlZCwgdGhpcy50cmVlRWxlbWVudFBhdGhDb21wb25lbnRTZWxlY3RlZCwgdGhpcyk7Cisg
ICAgICAgICAgICBsZXQgcmVwcmVzZW50ZWRPYmplY3QgPSBudWxsOworICAgICAgICAgICAgaWYg
KGRhdGFHcmlkTm9kZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlk
Tm9kZSkKKyAgICAgICAgICAgICAgICByZXByZXNlbnRlZE9iamVjdCA9IGRhdGFHcmlkTm9kZS5w
cm9maWxlTm9kZTsKKworICAgICAgICAgICAgbGV0IHBhdGhDb21wb25lbnQgPSBuZXcgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudChkYXRhR3JpZE5vZGUpOwor
ICAgICAgICAgICAgcGF0aENvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5I
aWVyYXJjaGljYWxQYXRoQ29tcG9uZW50LkV2ZW50LlNpYmxpbmdXYXNTZWxlY3RlZCwgdGhpcy5k
YXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50U2VsZWN0ZWQsIHRoaXMpOwogICAgICAgICAgICAgcGF0
aENvbXBvbmVudHMudW5zaGlmdChwYXRoQ29tcG9uZW50KTsKICAgICAgICAgICAgIGRhdGFHcmlk
Tm9kZSA9IGRhdGFHcmlkTm9kZS5wYXJlbnQ7CiAgICAgICAgIH0KQEAgLTE3MiwxMSArMTcyLDEx
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0
RGV0YWlsc1RpbWVsaW5lVmlldyBleHRlbmRzCiAgICAgICAgIHN1cGVyLnNob3dDb250ZW50Vmll
d0ZvclRyZWVFbGVtZW50KHRyZWVFbGVtZW50KTsKICAgICB9CiAKLSAgICB0cmVlRWxlbWVudFBh
dGhDb21wb25lbnRTZWxlY3RlZChldmVudCkKKyAgICBkYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50
U2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gdGhpcy5f
ZGF0YUdyaWQuZGF0YUdyaWROb2RlRm9yVHJlZUVsZW1lbnQoZXZlbnQuZGF0YS5wYXRoQ29tcG9u
ZW50LmdlbmVyYWxUcmVlRWxlbWVudCk7Ci0gICAgICAgIGlmICghZGF0YUdyaWROb2RlKQotICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBsZXQgZGF0YUdyaWROb2RlID0gZXZlbnQuZGF0YS5w
YXRoQ29tcG9uZW50LnRpbWVsaW5lRGF0YUdyaWROb2RlOworICAgICAgICBjb25zb2xlLmFzc2Vy
dChkYXRhR3JpZE5vZGUuZGF0YUdyaWQgPT09IHRoaXMuX2RhdGFHcmlkKTsKKwogICAgICAgICBk
YXRhR3JpZE5vZGUucmV2ZWFsQW5kU2VsZWN0KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFH
cmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
cmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmluZGV4IDkxMzA1MDQ2NjIxMjA0NjhiYzZmZjky
MTJhNjMwYzU3MjJiMTVjY2QuLjFjMTAwMzc0Yjk0YWUxYWQ3ZDhkZGFiN2U3OWJjMTVjN2E0YzBi
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCkBAIC0z
NywxMSArMzcsNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgPSBj
bGFzcyBTY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSBleHRlbgogCiAgICAgLy8gUHVibGljCiAK
LSAgICBnZXQgcmVjb3JkKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9yZWNvcmQ7Ci0g
ICAgfQotCiAgICAgZ2V0IHJlY29yZHMoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFt0aGlzLl9y
ZWNvcmRdOwpAQCAtMTI1LDcgKzEyMCw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURh
dGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuCiAKICAg
ICAgICAgc3dpdGNoIChjb2x1bW5JZGVudGlmaWVyKSB7CiAgICAgICAgIGNhc2UgIm5hbWUiOgot
ICAgICAgICAgICAgY2VsbC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVRhYkNv
bnRlbnRWaWV3Lmljb25DbGFzc05hbWVGb3JSZWNvcmQodGhpcy5fcmVjb3JkKSk7CisgICAgICAg
ICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoLi4udGhpcy5pY29uQ2xhc3NOYW1lcygpKTsKICAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVOYW1lQ2VsbERvY3VtZW50RnJhZ21lbnQoKTsKIAog
ICAgICAgICBjYXNlICJzdGFydFRpbWUiOgpAQCAtMTQ4LDggKzE0Myw3IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdy
aWROb2RlIGV4dGVuCiAgICAgX2NyZWF0ZU5hbWVDZWxsRG9jdW1lbnRGcmFnbWVudChjZWxsRWxl
bWVudCkKICAgICB7CiAgICAgICAgIGxldCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3Vt
ZW50RnJhZ21lbnQoKTsKLSAgICAgICAgbGV0IG1haW5UaXRsZSA9IFdlYkluc3BlY3Rvci5UaW1l
bGluZVRhYkNvbnRlbnRWaWV3LmRpc3BsYXlOYW1lRm9yUmVjb3JkKHRoaXMuX3JlY29yZCk7Ci0g
ICAgICAgIGZyYWdtZW50LmFwcGVuZChtYWluVGl0bGUpOworICAgICAgICBmcmFnbWVudC5hcHBl
bmQodGhpcy5kaXNwbGF5TmFtZSgpKTsKIAogICAgICAgICBpZiAodGhpcy5fcmVjb3JkLmV2ZW50
VHlwZSA9PT0gV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1l
ckluc3RhbGxlZCkgewogICAgICAgICAgICAgbGV0IHN1YnRpdGxlRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUaW1lbGluZVRpbWVsaW5lRGF0YUdyaWRO
b2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNl
Q29kZVRpbWVsaW5lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5kZXggYjQ1ZGUzNGMyOTU1MTJl
ODYxMjVlNWU5MGU2YmJmMmNlOWU2ZGQxNi4uMGViMmYzMDZkOWQ5MWM5ZDEwMzgwMWE0MGNjZTAz
MjIyZjk3ZTc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlQ29kZVRpbWVsaW5lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRpbWVs
aW5lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTUzLDcgKzUzLDcgQEAgV2ViSW5zcGVjdG9y
LlNvdXJjZUNvZGVUaW1lbGluZVRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU291cmNlQ29k
ZVRpbWVsaW5lVGkKICAgICBjcmVhdGVDZWxsQ29udGVudChjb2x1bW5JZGVudGlmaWVyLCBjZWxs
KQogICAgIHsKICAgICAgICAgaWYgKGNvbHVtbklkZW50aWZpZXIgPT09ICJuYW1lIiAmJiB0aGlz
LnJlY29yZHMubGVuZ3RoKSB7Ci0gICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lVGFiQ29udGVudFZpZXcuaWNvbkNsYXNzTmFtZUZvclJlY29yZCh0aGlz
LnJlY29yZHNbMF0pKTsKKyAgICAgICAgICAgIGNlbGwuY2xhc3NMaXN0LmFkZCguLi50aGlzLmlj
b25DbGFzc05hbWVzKCkpOwogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZU5hbWVDZWxs
Q29udGVudChjZWxsKTsKICAgICAgICAgfQogCkBAIC02OCw3ICs2OCw3IEBAIFdlYkluc3BlY3Rv
ci5Tb3VyY2VDb2RlVGltZWxpbmVUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNvdXJjZUNv
ZGVUaW1lbGluZVRpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAogICAgICAgICBsZXQgZnJh
Z21lbnQgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci0gICAgICAgIGxldCBt
YWluVGl0bGUgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVUYWJDb250ZW50Vmlldy5kaXNwbGF5TmFt
ZUZvclJlY29yZCh0aGlzLnJlY29yZHNbMF0pOworICAgICAgICBsZXQgbWFpblRpdGxlID0gdGhp
cy5kaXNwbGF5TmFtZSgpOwogICAgICAgICBmcmFnbWVudC5hcHBlbmQobWFpblRpdGxlKTsKIAog
ICAgICAgICBsZXQgc291cmNlQ29kZUxvY2F0aW9uID0gdGhpcy5fc291cmNlQ29kZVRpbWVsaW5l
LnNvdXJjZUNvZGVMb2NhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5k
ZXggNDk1NmExMGI3MDQzODhmMzc3YzcwN2JmNTI3N2JlODZiNTI5MDZhMy4uYzRhNzc2MzUzYzBk
ZTAxMTRhZmUzOGQ5MzkxZmEzMGJkYjA5NTgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3Jp
ZE5vZGUuanMKQEAgLTQyLDYgKzQyLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlk
Tm9kZSA9IGNsYXNzIFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAg
ICAvLyBQdWJsaWMKIAorICAgIGdldCByZWNvcmQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRo
aXMucmVjb3JkcyAmJiB0aGlzLnJlY29yZHMubGVuZ3RoID8gdGhpcy5yZWNvcmRzWzBdIDogbnVs
bDs7CisgICAgfQorCiAgICAgZ2V0IHJlY29yZHMoKQogICAgIHsKICAgICAgICAgLy8gSW1wbGVt
ZW50ZWQgYnkgc3ViY2xhc3Nlcy4KQEAgLTMwOCw2ICszMTMsMTggQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBX
ZWJJbnNwZWMKICAgICAgICAgdGhpcy5fc2NoZWR1bGVkR3JhcGhSZWZyZXNoSWRlbnRpZmllciA9
IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJlZnJlc2hHcmFwaC5iaW5kKHRoaXMpKTsKICAg
ICB9CiAKKyAgICBkaXNwbGF5TmFtZSgpCisgICAgeworICAgICAgICAvLyBDYW4gYmUgb3ZlcnJp
ZGRlbiBieSBzdWJjbGFzc2VzLgorICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
VGFiQ29udGVudFZpZXcuZGlzcGxheU5hbWVGb3JSZWNvcmQodGhpcy5yZWNvcmQpOworICAgIH0K
KworICAgIGljb25DbGFzc05hbWVzKCkKKyAgICB7CisgICAgICAgIC8vIENhbiBiZSBvdmVycmlk
ZGVuIGJ5IHN1YmNsYXNzZXMuCisgICAgICAgIHJldHVybiBbV2ViSW5zcGVjdG9yLlRpbWVsaW5l
VGFiQ29udGVudFZpZXcuaWNvbkNsYXNzTmFtZUZvclJlY29yZCh0aGlzLnJlY29yZCldOworICAg
IH0KKwogICAgIC8vIFByb3RlY3RlZAogCiAgICAgY3JlYXRlR29Ub0Fycm93QnV0dG9uKGNlbGxF
bGVtZW50LCBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudC5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWRO
b2RlUGF0aENvbXBvbmVudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmM3YzNjMmU4ZmExOTZlNjBjMDAzYTZm
N2YwNTI0ZmUzNGZhMDdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29tcG9uZW50Lmpz
CkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRh
R3JpZE5vZGVQYXRoQ29tcG9uZW50ID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZE5vZGVQYXRoQ29t
cG9uZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQKK3sK
KyAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZURhdGFHcmlkTm9kZSwgcmVwcmVzZW50ZWRPYmplY3Qp
CisgICAgeworICAgICAgICBzdXBlcih0aW1lbGluZURhdGFHcmlkTm9kZS5kaXNwbGF5TmFtZSgp
LCB0aW1lbGluZURhdGFHcmlkTm9kZS5pY29uQ2xhc3NOYW1lcygpLCByZXByZXNlbnRlZE9iamVj
dCB8fCB0aW1lbGluZURhdGFHcmlkTm9kZS5yZWNvcmQpOworCisgICAgICAgIHRoaXMuX3RpbWVs
aW5lRGF0YUdyaWROb2RlID0gdGltZWxpbmVEYXRhR3JpZE5vZGU7CisgICAgfQorCisgICAgLy8g
UHVibGljCisKKyAgICBnZXQgdGltZWxpbmVEYXRhR3JpZE5vZGUoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIHRoaXMuX3RpbWVsaW5lRGF0YUdyaWROb2RlOworICAgIH0KKworICAgIGdldCBwcmV2
aW91c1NpYmxpbmcoKQorICAgIHsKKyAgICAgICAgbGV0IHByZXZpb3VzU2libGluZyA9IHRoaXMu
X3RpbWVsaW5lRGF0YUdyaWROb2RlLnByZXZpb3VzU2libGluZzsKKyAgICAgICAgd2hpbGUgKHBy
ZXZpb3VzU2libGluZyAmJiBwcmV2aW91c1NpYmxpbmcuaGlkZGVuKQorICAgICAgICAgICAgcHJl
dmlvdXNTaWJsaW5nID0gcHJldmlvdXNTaWJsaW5nLnByZXZpb3VzU2libGluZzsKKworICAgICAg
ICBpZiAoIXByZXZpb3VzU2libGluZykKKyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAg
ICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBv
bmVudChwcmV2aW91c1NpYmxpbmcsIHRoaXMucmVwcmVzZW50ZWRPYmplY3QpOworICAgIH0KKwor
ICAgIGdldCBuZXh0U2libGluZygpCisgICAgeworICAgICAgICBsZXQgbmV4dFNpYmxpbmcgPSB0
aGlzLl90aW1lbGluZURhdGFHcmlkTm9kZS5uZXh0U2libGluZzsKKyAgICAgICAgd2hpbGUgKG5l
eHRTaWJsaW5nICYmIG5leHRTaWJsaW5nLmhpZGRlbikKKyAgICAgICAgICAgIG5leHRTaWJsaW5n
ID0gbmV4dFNpYmxpbmcubmV4dFNpYmxpbmc7CisKKyAgICAgICAgaWYgKCFuZXh0U2libGluZykK
KyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudChuZXh0U2libGluZywgdGhpcy5y
ZXByZXNlbnRlZE9iamVjdCk7CisgICAgfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcwppbmRleCA2ZmVm
NzUyYzdhOWIxOTQ1NDFmMjEzZmIzY2I4N2M1ZGYwZDZmMTkwLi43YTdiOGI0ZjU3ZjA2NGE2MTU0
MWU3M2NkN2ZhMGJkMjJhNGEyOTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3LmpzCkBAIC04MCwxMiArODAs
OCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVWaWV3IGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3CiAKICAgICBnZXQgc2VsZWN0aW9uUGF0aENvbXBv
bmVudHMoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9jb250ZW50VHJlZU91dGxpbmUuc2Vs
ZWN0ZWRUcmVlRWxlbWVudCB8fCB0aGlzLl9jb250ZW50VHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVl
RWxlbWVudC5oaWRkZW4pCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLQotICAgICAgICB2YXIg
cGF0aENvbXBvbmVudCA9IG5ldyBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50UGF0aENv
bXBvbmVudCh0aGlzLl9jb250ZW50VHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudCk7Ci0g
ICAgICAgIHBhdGhDb21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGllcmFy
Y2hpY2FsUGF0aENvbXBvbmVudC5FdmVudC5TaWJsaW5nV2FzU2VsZWN0ZWQsIHRoaXMudHJlZUVs
ZW1lbnRQYXRoQ29tcG9uZW50U2VsZWN0ZWQsIHRoaXMpOwotICAgICAgICByZXR1cm4gW3BhdGhD
b21wb25lbnRdOworICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBzdWItY2xhc3NlcyBpZiBuZWVk
ZWQuCisgICAgICAgIHJldHVybiBudWxsOwogICAgIH0KIAogICAgIGdldCB6ZXJvVGltZSgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>