<?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>161564</bug_id>
          
          <creation_ts>2016-09-02 20:11:16 -0700</creation_ts>
          <short_desc>Web Inspector: Run ESLint over UserInterface/Views</short_desc>
          <delta_ts>2016-09-04 22:15:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</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>1226077</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-09-02 20:11:16 -0700</bug_when>
    <thetext>Run ESLint over UserInterface/Views

Fix pedantic issues, style, unused variables, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226078</commentid>
    <comment_count>1</comment_count>
      <attachid>287850</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-09-02 20:12:46 -0700</bug_when>
    <thetext>Created attachment 287850
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226168</commentid>
    <comment_count>2</comment_count>
      <attachid>287850</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-09-03 14:21:22 -0700</bug_when>
    <thetext>Comment on attachment 287850
[PATCH] Proposed Fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226347</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-09-04 22:15:10 -0700</bug_when>
    <thetext>&lt;https://trac.webkit.org/changeset/205425&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287850</attachid>
            <date>2016-09-02 20:12:46 -0700</date>
            <delta_ts>2016-09-03 14:21:22 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>eslint-3.patch</filename>
            <type>text/plain</type>
            <size>80297</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS8uZXNsaW50cmMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvLmVzbGludHJjCmluZGV4IDcxMTNiMDIuLjk3NzM1YzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS8uZXNsaW50cmMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJLy5lc2xpbnRyYwpAQCAtMTAxLDYgKzEwMSw3IEBACiAgICAgICAgICJhcHBlbmRXZWJJbnNw
ZWN0b3JDb25zb2xlRXZhbHVhdGlvblNvdXJjZVVSTCI6IHRydWUsCiAgICAgICAgICJ0aW1lc3Rh
bXAiOiB0cnVlLAogICAgICAgICAiaGFuZGxlUHJvbWlzZUV4Y2VwdGlvbiI6IHRydWUsCisgICAg
ICAgICJpbnNlcnRPYmplY3RJbnRvU29ydGVkQXJyYXkiOiB0cnVlLAogCiAgICAgICAgIC8vIElt
YWdlIFV0aWxpdGllcwogICAgICAgICAicGxhdGZvcm1JbWFnZVBhdGgiOiB0cnVlLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cKaW5kZXggYmYxODY1My4uMTRhZjFhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsNzcgQEAKIDIwMTYtMDktMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBSdW4gRVNMaW50IG92
ZXIgVXNlckludGVyZmFjZS9WaWV3cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYxNTY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiAuZXNsaW50cmM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qczoKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckFkZGl0aW9ucy5qczoKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvZGVNaXJyb3JFZGl0b3IuanM6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9Db2RlTWlycm9yRm9ybWF0dGVycy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0NvbG9yV2hlZWwuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9D
b21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvQ29uc29sZU1lc3NhZ2VWaWV3LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Q29udGVudFZpZXdDb250YWluZXIuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9D
b29raWVTdG9yYWdlQ29udGVudFZpZXcuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0RPTVN0b3JhZ2VDb250ZW50Vmlldy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
RE9NVHJlZU91dGxpbmUuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EYXNoYm9h
cmRDb250YWluZXJWaWV3LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdy
aWQuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZE5vZGUuanM6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qczoKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlZmF1bHREYXNoYm9hcmRWaWV3LmpzOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRm9udFJlc291cmNlQ29udGVudFZpZXcuanM6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Gb3JtYXR0ZWRWYWx1ZS5qczoKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmpzOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvR3JhZGllbnRTbGlkZXIuanM6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0hlYXBTbmFwc2hvdERhdGFHcmlkVHJlZS5qczoKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdEluc3RhbmNlRGF0YUdyaWROb2RlLmpzOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvSG92ZXJNZW51LmpzOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9NZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGguanM6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcuanM6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL05ld1RhYkNvbnRlbnRWaWV3LmpzOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvT2JqZWN0UHJldmlld1ZpZXcuanM6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9PYmplY3RUcmVlQmFzZVRyZWVFbGVtZW50LmpzOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvT2JqZWN0VHJlZU1hcEVudHJ5VHJlZUVsZW1lbnQuanM6CisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1BvcG92ZXIuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9Qcm9iZVNldERldGFpbHNTZWN0aW9uLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvUHJvZmlsZURhdGFHcmlkTm9kZS5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1Byb2ZpbGVEYXRhR3JpZFRyZWUuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9Qcm9maWxlVmlldy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNl
U2lkZWJhclBhbmVsLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUnVsZXNTdHls
ZURldGFpbHNQYW5lbC5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Njb3BlUmFk
aW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1NjcmlwdENsdXN0ZXJUaW1lbGluZVZpZXcuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvU2NyaXB0UHJvZmlsZVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1N0YWNrZWRMaW5lQ2hhcnQuanM6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9TdG9yYWdlU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvVGFiQnJvd3Nlci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRF
ZGl0b3IuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlk
Tm9kZS5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcu
anM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpz
OgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
Vmlldy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVu
dFZpZXcuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qczoK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlQ29tbWFTZXBhcmF0ZWRL
ZXl3b3JkRWRpdG9yLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5
bGVQcm9wZXJ0eUVkaXRvci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3Vh
bFN0eWxlU2VsZWN0b3JTZWN0aW9uLmpzOgorCisyMDE2LTA5LTAyICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkcmVzcyBF
U0xpbnQgdW5kZWZpbmVkIHZhcmlhYmxlIGVycm9ycwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNTYzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Cb3hNb2RlbERl
dGFpbHNTZWN0aW9uUm93LmpzCmluZGV4IGE4YjQxM2QuLjZlNjgyNTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JveE1vZGVsRGV0YWlsc1Nl
Y3Rpb25Sb3cuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQm94TW9kZWxEZXRhaWxzU2VjdGlvblJvdy5qcwpAQCAtMTEzLDcgKzExMyw3IEBAIFdlYklu
c3BlY3Rvci5Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93ID0gY2xhc3MgQm94TW9kZWxEZXRhaWxz
U2VjdGlvblJvdyBleHRlbmRzCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRo
ZSB2YWx1ZSBpcyBhIGZsb2F0IGFuZCB3aGV0aGVyIGl0IHNob3VsZCBiZSByb3VuZGVkLgogICAg
ICAgICAgICAgbGV0IGZsb2F0VmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTsKLSAgICAgICAgICAg
IGxldCBzaG91bGRSb3VuZFZhbHVlID0gKCFpc05hTihmbG9hdFZhbHVlKSAmJiBmbG9hdFZhbHVl
ICUgMSAhPT0gMCk7CisgICAgICAgICAgICBsZXQgc2hvdWxkUm91bmRWYWx1ZSA9ICFpc05hTihm
bG9hdFZhbHVlKSAmJiAoZmxvYXRWYWx1ZSAlIDEgIT09IDApOwogCiAgICAgICAgICAgICBpZiAo
aXNOYU4oZmxvYXRWYWx1ZSkpCiAgICAgICAgICAgICAgICAgdmFsdWUgPSBmaWd1cmVEYXNoOwpA
QCAtMjIyLDcgKzIyMiw3IEBAIFdlYkluc3BlY3Rvci5Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93
ID0gY2xhc3MgQm94TW9kZWxEZXRhaWxzU2VjdGlvblJvdyBleHRlbmRzCiAgICAgICAgICAgICAg
ICAgdmFyIGhlaWdodEVsZW1lbnQgPSBjcmVhdGVDb250ZW50QXJlYUhlaWdodEVsZW1lbnQuY2Fs
bCh0aGlzLCBzdHlsZSk7CiAgICAgICAgICAgICAgICAgYm94RWxlbWVudC5hcHBlbmQod2lkdGhF
bGVtZW50LCAiIFx1MDBENyAiLCBoZWlnaHRFbGVtZW50KTsKICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgdmFyIHN1ZmZpeCA9IChuYW1lID09PSAiYm9yZGVyIiA/ICItd2lk
dGgiIDogIiIpOworICAgICAgICAgICAgICAgIHZhciBzdWZmaXggPSBuYW1lID09PSAiYm9yZGVy
IiA/ICItd2lkdGgiIDogIiI7CiAKICAgICAgICAgICAgICAgICB2YXIgbGFiZWxFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICAgICAgbGFiZWxFbGVt
ZW50LmNsYXNzTmFtZSA9ICJsYWJlbCI7CkBAIC0yNzYsNyArMjc2LDcgQEAgV2ViSW5zcGVjdG9y
LkJveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFzcyBCb3hNb2RlbERldGFpbHNTZWN0aW9u
Um93IGV4dGVuZHMKIAogICAgIF9hbHRlcmVkRmxvYXROdW1iZXIobnVtYmVyLCBldmVudCkKICAg
ICB7Ci0gICAgICAgIHZhciBhcnJvd0tleVByZXNzZWQgPSAoZXZlbnQua2V5SWRlbnRpZmllciA9
PT0gIlVwIiB8fCBldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIpOworICAgICAgICB2YXIg
YXJyb3dLZXlQcmVzc2VkID0gZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlVwIiB8fCBldmVudC5r
ZXlJZGVudGlmaWVyID09PSAiRG93biI7CiAKICAgICAgICAgLy8gSnVtcCBieSAxMCB3aGVuIHNo
aWZ0IGlzIGRvd24gb3IganVtcCBieSAwLjEgd2hlbiBBbHQvT3B0aW9uIGlzIGRvd24uCiAgICAg
ICAgIC8vIEFsc28ganVtcCBieSAxMCBmb3IgcGFnZSB1cCBhbmQgZG93biwgb3IgYnkgMTAwIGlm
IHNoaWZ0IGlzIGhlbGQgd2l0aCBhIHBhZ2Uga2V5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CdXR0b25OYXZpZ2F0aW9u
SXRlbS5qcwppbmRleCBmZGQwNjM2Li44ODQ4ZjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CdXR0b25OYXZpZ2F0aW9uSXRlbS5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CdXR0b25OYXZpZ2F0
aW9uSXRlbS5qcwpAQCAtMTMwLDcgKzEzMCw3IEBAIFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0
aW9uSXRlbSA9IGNsYXNzIEJ1dHRvbk5hdmlnYXRpb25JdGVtIGV4dGVuZHMgV2ViSW5zcGVjCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkKTsKICAgICB9
Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRGlzYWJsZWRTdHls
ZUNsYXNzTmFtZSA9ICJkaXNhYmxlZCI7CiBXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uVGV4dE9ubHlDbGFzc05hbWUgPSAidGV4dC1vbmx5IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKaW5kZXggZDg3MmQzOS4uNTBjMzM3NzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCkBAIC0zOTAsNyArMzkwLDcg
QEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24gZXh0ZW4KICAgICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IHRo
aXMuX3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVudDsKICAgICAgICAgaWYgKCFzZWxlY3RvclRl
eHQgfHwgIXNlbGVjdG9yVGV4dC5sZW5ndGgpIHsKICAgICAgICAgICAgIGlmICghdGhpcy5fc3R5
bGUub3duZXJSdWxlKQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gIiI7CiAKICAgICAgICAgICAgIHNlbGVjdG9yVGV4dCA9IHRoaXMuX3N0eWxlLm93bmVy
UnVsZS5zZWxlY3RvclRleHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9y
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVE
ZWNsYXJhdGlvblRleHRFZGl0b3IuanMKaW5kZXggZTI0NGE5OS4uNDcxZmE3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNs
YXJhdGlvblRleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanMKQEAgLTI3MCw3ICsy
NzAsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IgPSBjbGFz
cyBDU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvcgogICAgICAgICBmb3IgKHZhciBwcm9wZXJ0
eSBvZiBwcm9wZXJ0aWVzTGlzdCkgewogICAgICAgICAgICAgaWYgKHByb3BlcnR5Ll9fZmlsdGVy
UmVzdWx0Q2xhc3NOYW1lKSB7CiAgICAgICAgICAgICAgICAgcHJvcGVydHkuX19maWx0ZXJSZXN1
bHRDbGFzc05hbWUgPSBudWxsOwotICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRleHRNYXJr
ZXJGb3JQcm9wZXJ0eUlmTmVlZGVkKHByb3BlcnR5KQorICAgICAgICAgICAgICAgIHRoaXMuX3Vw
ZGF0ZVRleHRNYXJrZXJGb3JQcm9wZXJ0eUlmTmVlZGVkKHByb3BlcnR5KTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KQEAgLTU2Nyw3ICs1NjcsNyBAQCBXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IgPSBjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uVGV4
dEVkaXRvcgogICAgICAgICAgICAgICAgICAgICBpZiAodHJpbW1lZFByZXZpb3VzTGluZS5pbmNs
dWRlcygiOyIpKQogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNIZWFkID0gdHJpbW1l
ZFByZXZpb3VzTGluZS5sYXN0SW5kZXhPZigiOyIpOwogICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIGNvZGVNaXJyb3Iuc2V0U2VsZWN0aW9uKHts
aW5lOiBjdXJzb3IubGluZSwgY2g6IHByZXZpb3VzQW5jaG9yfSwge2xpbmU6IGN1cnNvci5saW5l
LCBjaDogcHJldmlvdXNIZWFkfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ29kZU1pcnJvckFkZGl0aW9ucy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvZGVNaXJyb3JBZGRpdGlvbnMuanMKaW5kZXggODRlYmZmMS4uYjdlZmUx
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q29kZU1pcnJvckFkZGl0aW9ucy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db2RlTWlycm9yQWRkaXRpb25zLmpzCkBAIC00ODcsNyArNDg3LDcgQEAK
ICAgICAgICAgICAgIC8vIHNlbGVjdGlvblN0YXJ0L0VuZCBtYXkgdGhlIHNhbWUgb2JqZWN0IGlm
IHRoZXJlIGlzIG5vIHNlbGVjdGlvbi4gSWYgdGhhdCBpcyB0aGUgY2FzZQogICAgICAgICAgICAg
Ly8gbWFrZSBvbmx5IG9uZSBtb2RpZmljYXRpb24gdG8gcHJldmVudCBhIGRvdWJsZSBhZGp1c3Rt
ZW50LCBhbmQga2VlcCBpdCBhIHNpbmdsZSBvYmplY3QKICAgICAgICAgICAgIC8vIHRvIGF2b2lk
IENvZGVNaXJyb3IgaW5hZHZlcnRlbnRseSBjcmVhdGluZyBhbiBhY3R1YWwgc2VsZWN0aW9uIHJh
bmdlLgotICAgICAgICAgICAgbGV0IGRpZmYgPSAobmV3TGVuZ3RoIC0gcHJldmlvdXNMZW5ndGgp
OworICAgICAgICAgICAgbGV0IGRpZmYgPSBuZXdMZW5ndGggLSBwcmV2aW91c0xlbmd0aDsKICAg
ICAgICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA9PT0gc2VsZWN0aW9uRW5kKQogICAgICAgICAg
ICAgICAgIHNlbGVjdGlvblN0YXJ0LmNoICs9IGRpZmY7CiAgICAgICAgICAgICBlbHNlIHsKQEAg
LTYzMSwxNCArNjMxLDEzIEBAIFdlYkluc3BlY3Rvci53YWxrVG9rZW5zID0gZnVuY3Rpb24oY20s
IG1vZGUsIGluaXRpYWxQb3NpdGlvbiwgY2FsbGJhY2spCiAKICAgICBsZXQgbGluZUNvdW50ID0g
Y20ubGluZUNvdW50KCk7CiAgICAgbGV0IGFib3J0ID0gZmFsc2U7Ci0gICAgZm9yIChsaW5lTnVt
YmVyID0gaW5pdGlhbFBvc2l0aW9uLmxpbmU7ICFhYm9ydCAmJiBsaW5lTnVtYmVyIDwgbGluZUNv
dW50OyArK2xpbmVOdW1iZXIpIHsKKyAgICBmb3IgKGxldCBsaW5lTnVtYmVyID0gaW5pdGlhbFBv
c2l0aW9uLmxpbmU7ICFhYm9ydCAmJiBsaW5lTnVtYmVyIDwgbGluZUNvdW50OyArK2xpbmVOdW1i
ZXIpIHsKICAgICAgICAgbGV0IGxpbmUgPSBjbS5nZXRMaW5lKGxpbmVOdW1iZXIpOwogICAgICAg
ICBsZXQgc3RyZWFtID0gbmV3IENvZGVNaXJyb3IuU3RyaW5nU3RyZWFtKGxpbmUpOwogICAgICAg
ICBpZiAobGluZU51bWJlciA9PT0gaW5pdGlhbFBvc2l0aW9uLmxpbmUpCiAgICAgICAgICAgICBz
dHJlYW0uc3RhcnQgPSBzdHJlYW0ucG9zID0gaW5pdGlhbFBvc2l0aW9uLmNoOwogCiAgICAgICAg
IHdoaWxlICghc3RyZWFtLmVvbCgpKSB7Ci0gICAgICAgICAgICBsZXQgaW5uZXJNb2RlID0gQ29k
ZU1pcnJvci5pbm5lck1vZGUobW9kZSwgc3RhdGUpOwogICAgICAgICAgICAgbGV0IHRva2VuVHlw
ZSA9IG1vZGUudG9rZW4oc3RyZWFtLCBzdGF0ZSk7CiAgICAgICAgICAgICBpZiAoIWNhbGxiYWNr
KHRva2VuVHlwZSwgc3RyZWFtLmN1cnJlbnQoKSkpIHsKICAgICAgICAgICAgICAgICBhYm9ydCA9
IHRydWU7CkBAIC02NTAsNCArNjQ5LDQgQEAgV2ViSW5zcGVjdG9yLndhbGtUb2tlbnMgPSBmdW5j
dGlvbihjbSwgbW9kZSwgaW5pdGlhbFBvc2l0aW9uLCBjYWxsYmFjaykKIAogICAgIGlmICghYWJv
cnQpCiAgICAgICAgIGNhbGxiYWNrKG51bGwpOwotfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvZGVNaXJyb3JFZGl0b3IuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2RlTWlycm9yRWRpdG9y
LmpzCmluZGV4IGY4NmU1OTIuLjQwMTc2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvZGVNaXJyb3JFZGl0b3IuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckVkaXRvci5qcwpA
QCAtNDYsNCArNDYsNCBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvckVkaXRvciA9IGNsYXNzIENv
ZGVNaXJyb3JFZGl0b3IKIAogICAgICAgICByZXR1cm4gY29kZU1pcnJvcjsKICAgICB9Ci19Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q29kZU1pcnJvckZvcm1hdHRlcnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Db2RlTWlycm9yRm9ybWF0dGVycy5qcwppbmRleCAyM2ZlMWYxLi5mYmE1ZDc0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
b2RlTWlycm9yRm9ybWF0dGVycy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db2RlTWlycm9yRm9ybWF0dGVycy5qcwpAQCAtMzUsNyArMzUsNyBAQCBD
b2RlTWlycm9yLmV4dGVuZE1vZGUoImphdmFzY3JpcHQiLCB7CiAgICAgICAgICAgICBpZiAoY29u
dGVudCA9PT0gIigiKSAvLyBNb3N0IGtleXdvcmRzIGxpa2UgImlmICgiIGJ1dCBub3QgImZ1bmN0
aW9uKCIgb3IgInR5cGVvZigiLgogICAgICAgICAgICAgICAgIHJldHVybiBsYXN0VG9rZW4gJiYg
L1xia2V5d29yZFxiLy50ZXN0KGxhc3RUb2tlbikgJiYgKGxhc3RDb250ZW50ICE9PSAiZnVuY3Rp
b24iICYmIGxhc3RDb250ZW50ICE9PSAidHlwZW9mIiAmJiBsYXN0Q29udGVudCAhPT0gImluc3Rh
bmNlb2YiKTsKICAgICAgICAgICAgIGlmIChjb250ZW50ID09PSAiOiIpIC8vIFRlcm5hcnkuCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIChzdGF0ZS5sZXhpY2FsLnR5cGUgPT09ICJzdGF0IiB8fCBz
dGF0ZS5sZXhpY2FsLnR5cGUgPT09ICIpIiB8fCBzdGF0ZS5sZXhpY2FsLnR5cGUgPT09ICJdIik7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlLmxleGljYWwudHlwZSA9PT0gInN0YXQiIHx8
IHN0YXRlLmxleGljYWwudHlwZSA9PT0gIikiIHx8IHN0YXRlLmxleGljYWwudHlwZSA9PT0gIl0i
OwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbG9yV2hlZWwuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xvcldoZWVsLmpzCmlu
ZGV4IDkwZjkwNzAuLmQ1M2Q5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NvbG9yV2hlZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29sb3JXaGVlbC5qcwpAQCAtMjAzLDcgKzIwMyw2IEBA
IFdlYkluc3BlY3Rvci5Db2xvcldoZWVsID0gY2xhc3MgQ29sb3JXaGVlbCBleHRlbmRzIFdlYklu
c3BlY3Rvci5PYmplY3QKICAgICAgICAgdmFyIGN0eCA9IHRoaXMuX3Jhd0NhbnZhcy5nZXRDb250
ZXh0KCIyZCIpOwogCiAgICAgICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLl9kaW1lbnNpb24gKiB3
aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKLSAgICAgICAgdmFyIGNlbnRlciA9IGRpbWVuc2lvbiAv
IDI7CiAKICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICJ3aGl0ZSI7CiAgICAgICAgIGN0eC5maWxs
UmVjdCgwLCAwLCBkaW1lbnNpb24sIGRpbWVuc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0eWxlRGV0YWlsc1BhbmVs
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRT
dHlsZURldGFpbHNQYW5lbC5qcwppbmRleCA0NTFiMTQ0Li43MDBkMjQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0eWxlRGV0
YWlsc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvbXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwuanMKQEAgLTMwLDcgKzMwLDcgQEAgV2ViSW5z
cGVjdG9yLkNvbXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBDb21wdXRlZFN0eWxlRGV0
YWlsc1BhbmVsIGV4dGVuZHMKICAgICAgICAgc3VwZXIoZGVsZWdhdGUsIFdlYkluc3BlY3Rvci5D
b21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsLlN0eWxlQ2xhc3NOYW1lLCAiY29tcHV0ZWQiLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlN0eWxlcyBcdTIwMTQgQ29tcHV0ZWQiKSk7CiAKICAgICAgICAg
dGhpcy5fY29tcHV0ZWRTdHlsZVNob3dBbGxTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0
aW5nKCJjb21wdXRlZC1zdHlsZS1zaG93LWFsbCIsIGZhbHNlKTsKLSAgICAgICAgCisKICAgICAg
ICAgdGhpcy5jc3NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvclNob3VsZEFkZFByb3BlcnR5R29U
b0Fycm93cyA9IHRydWU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMKaW5k
ZXggZWQ2MGU2YS4uZjAxZGMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5qcwpAQCAt
MzIyLDcgKzMyMiw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZVZpZXcgPSBjbGFzcyBD
b25zb2xlTWVzc2FnZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAgICAgICBpZiAo
dGhpcy5fbWVzc2FnZS51cmwpIHsKICAgICAgICAgICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5z
cGVjdG9yLmxpbmtpZnlVUkxBc05vZGUodGhpcy5fbWVzc2FnZS51cmwsIHRoaXMuX21lc3NhZ2Uu
dXJsLCAiY29uc29sZS1tZXNzYWdlLXVybCIpOwogICAgICAgICAgICAgICAgIGFuY2hvci5jbGFz
c0xpc3QuYWRkKCJjb25zb2xlLW1lc3NhZ2UtbG9jYXRpb24iKTsKLSAgICAgICAgICAgICAgICB0
aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGFuY2hvcik7ICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQoYW5jaG9yKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXdDb250YWluZXIuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlld0Nv
bnRhaW5lci5qcwppbmRleCA4YmNhM2MxLi4wYWNmZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlld0NvbnRhaW5lci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmll
d0NvbnRhaW5lci5qcwpAQCAtMTg0LDcgKzE4NCw3IEBAIFdlYkluc3BlY3Rvci5Db250ZW50Vmll
d0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV2ViSW5zcGVj
CiAgICAgICAgIGlmIChuZXdDb250ZW50Vmlldy5wYXJlbnRDb250YWluZXIgJiYgbmV3Q29udGVu
dFZpZXcucGFyZW50Q29udGFpbmVyICE9PSB0aGlzKQogICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgICAgIHZhciBjdXJyZW50bHlTaG93aW5nID0gKHRoaXMuY3VycmVudENvbnRlbnRWaWV3ID09
PSBvbGRDb250ZW50Vmlldyk7CisgICAgICAgIHZhciBjdXJyZW50bHlTaG93aW5nID0gdGhpcy5j
dXJyZW50Q29udGVudFZpZXcgPT09IG9sZENvbnRlbnRWaWV3OwogICAgICAgICBpZiAoY3VycmVu
dGx5U2hvd2luZykKICAgICAgICAgICAgIHRoaXMuX2hpZGVFbnRyeSh0aGlzLmN1cnJlbnRCYWNr
Rm9yd2FyZEVudHJ5KTsKIApAQCAtNDkyLDcgKzQ5Miw3IEBAIFdlYkluc3BlY3Rvci5Db250ZW50
Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV2ViSW5z
cGVjCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMuc3Vidmlld3MuaW5jbHVkZXMoZW50
cnkuY29udGVudFZpZXcpKQotICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KGVudHJ5LmNvbnRl
bnRWaWV3KQorICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KGVudHJ5LmNvbnRlbnRWaWV3KTsK
IAogICAgICAgICBlbnRyeS5wcmVwYXJlVG9TaG93KHNob3VsZENhbGxTaG93bik7CiAgICAgfQpA
QCAtNTA4LDcgKzUwOCw3IEBAIFdlYkluc3BlY3Rvci5Db250ZW50Vmlld0NvbnRhaW5lciA9IGNs
YXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICAgICAgZW50
cnkucHJlcGFyZVRvSGlkZSgpOwogICAgICAgICBpZiAodGhpcy5zdWJ2aWV3cy5pbmNsdWRlcyhl
bnRyeS5jb250ZW50VmlldykpCi0gICAgICAgICAgICB0aGlzLnJlbW92ZVN1YnZpZXcoZW50cnku
Y29udGVudFZpZXcpCisgICAgICAgICAgICB0aGlzLnJlbW92ZVN1YnZpZXcoZW50cnkuY29udGVu
dFZpZXcpOwogICAgIH0KIAogICAgIF90b21ic3RvbmVDb250ZW50Vmlld0NvbnRhaW5lcnNGb3JD
b250ZW50Vmlldyhjb250ZW50VmlldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nvb2tpZVN0b3JhZ2VDb250ZW50Vmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nvb2tpZVN0b3JhZ2VDb250ZW50
Vmlldy5qcwppbmRleCA1OTk0ZmYwLi45ODg1MTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db29raWVTdG9yYWdlQ29udGVudFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3Rv
cmFnZUNvbnRlbnRWaWV3LmpzCkBAIC0xNTQsNyArMTU0LDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tp
ZVN0b3JhZ2VDb250ZW50VmlldyA9IGNsYXNzIENvb2tpZVN0b3JhZ2VDb250ZW50VmlldyBleHRl
bmRzIFcKICAgICAgICAgbGV0IHJlc291cmNlTWF0Y2hlc1N0b3JhZ2VEb21haW4gPSAocmVzb3Vy
Y2UpID0+IHsKICAgICAgICAgICAgIGxldCB1cmxDb21wb25lbnRzID0gcmVzb3VyY2UudXJsQ29t
cG9uZW50czsKICAgICAgICAgICAgIHJldHVybiB1cmxDb21wb25lbnRzICYmIHVybENvbXBvbmVu
dHMuaG9zdCAmJiB1cmxDb21wb25lbnRzLmhvc3QgPT09IHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
aG9zdDsKLSAgICAgICAgfQorICAgICAgICB9OwogCiAgICAgICAgIGxldCBhbGxSZXNvdXJjZXMg
PSBbXTsKICAgICAgICAgZm9yIChsZXQgZnJhbWUgb2YgV2ViSW5zcGVjdG9yLmZyYW1lUmVzb3Vy
Y2VNYW5hZ2VyLmZyYW1lcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbC5qcwppbmRleCBhNzhiZWQ4Li5hOTZhZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2Rl
RGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtMzAyLDE1ICszMDIsMTUgQEAgV2ViSW5zcGVjdG9y
LkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFy
UGFuZWwgZXh0ZW4KICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGxpbmtMaXN0Rm9yTm9k
ZUlkcyhub2RlSWRzKSB7Ci0gICAgICAgICAgICBpZiAoIW5vZGVJZHMpIAorICAgICAgICAgICAg
aWYgKCFub2RlSWRzKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogCiAgICAgICAgICAg
ICBjb25zdCBpdGVtc1RvU2hvdyA9IDU7CiAgICAgICAgICAgICBsZXQgaGFzTGlua3MgPSBmYWxz
ZTsKICAgICAgICAgICAgIGxldCBsaXN0SXRlbUNvdW50ID0gMDsKICAgICAgICAgICAgIGxldCBj
b250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgICAgIGNv
bnRhaW5lci5jbGFzc0xpc3QuYWRkKCJsaXN0LWNvbnRhaW5lciIpCi0gICAgICAgICAgICBsZXQg
bGlua0xpc3QgPSBjb250YWluZXIuY3JlYXRlQ2hpbGQoInVsIiwgIm5vZGUtbGluay1saXN0Iik7
ICAgICAgICAgICAgCisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgibGlzdC1j
b250YWluZXIiKTsKKyAgICAgICAgICAgIGxldCBsaW5rTGlzdCA9IGNvbnRhaW5lci5jcmVhdGVD
aGlsZCgidWwiLCAibm9kZS1saW5rLWxpc3QiKTsKICAgICAgICAgICAgIGxldCBpbml0aWFsbHlI
aWRkZW5JdGVtcyA9IFtdOwogICAgICAgICAgICAgZm9yIChsZXQgbm9kZUlkIG9mIG5vZGVJZHMp
IHsKICAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdl
ci5ub2RlRm9ySWQobm9kZUlkKTsKQEAgLTMyMCwxMCArMzIwLDEwIEBAIFdlYkluc3BlY3Rvci5E
T01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBh
bmVsIGV4dGVuCiAgICAgICAgICAgICAgICAgaGFzTGlua3MgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIGxldCBsaSA9IGxpbmtMaXN0LmNyZWF0ZUNoaWxkKCJsaSIpOwogICAgICAgICAgICAgICAg
IGxpLmFwcGVuZENoaWxkKGxpbmspOwotICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbUNvdW50
ID49IGl0ZW1zVG9TaG93KSB7ICAKKyAgICAgICAgICAgICAgICBpZiAobGlzdEl0ZW1Db3VudCA+
PSBpdGVtc1RvU2hvdykgewogICAgICAgICAgICAgICAgICAgICBsaS5oaWRkZW4gPSB0cnVlOwog
ICAgICAgICAgICAgICAgICAgICBpbml0aWFsbHlIaWRkZW5JdGVtcy5wdXNoKGxpKTsKLSAgICAg
ICAgICAgICAgICB9IAorICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBsaXN0SXRl
bUNvdW50Kys7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hp
bGQobGlua0xpc3QpOwpAQCAtMzMxLDExICszMzEsMTEgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0
ZW4KICAgICAgICAgICAgICAgICBsZXQgbW9yZU5vZGVzQnV0dG9uID0gY29udGFpbmVyLmNyZWF0
ZUNoaWxkKCJidXR0b24iLCAiZXhwYW5kLWxpc3QtYnV0dG9uIik7CiAgICAgICAgICAgICAgICAg
bW9yZU5vZGVzQnV0dG9uLnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCBN
b3JlXHUyMDI2IikuZm9ybWF0KGxpc3RJdGVtQ291bnQgLSBpdGVtc1RvU2hvdyk7CiAgICAgICAg
ICAgICAgICAgbW9yZU5vZGVzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4g
ewotICAgICAgICAgICAgICAgICAgICBpbml0aWFsbHlIaWRkZW5JdGVtcy5mb3JFYWNoKChlbGVt
ZW50KSA9PiBlbGVtZW50LmhpZGRlbiA9IGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgaW5p
dGlhbGx5SGlkZGVuSXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4geyBlbGVtZW50LmhpZGRlbiA9
IGZhbHNlOyB9KTsKICAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzQnV0dG9uLnJlbW92ZSgp
OwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGhh
c0xpbmtzKSAKKyAgICAgICAgICAgIGlmIChoYXNMaW5rcykKICAgICAgICAgICAgICAgICByZXR1
cm4gY29udGFpbmVyOwogCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKQEAgLTM2NSw5ICszNjUs
OCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBET01O
b2RlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgogCiAgICAgICAgICAgICAgICAgLy8gQWNjZXNz
aWJpbGl0eSB0cmVlIGNoaWxkcmVuIGFyZSBub3QgYSAxOjEgbWFwcGluZyB3aXRoIERPTSB0cmVl
IGNoaWxkcmVuLgogICAgICAgICAgICAgICAgIHZhciBjaGlsZE5vZGVMaW5rTGlzdCA9IGxpbmtM
aXN0Rm9yTm9kZUlkcyhhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5jaGlsZE5vZGVJZHMpOwotICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHZhciBjb250cm9sbGVkTm9kZUxpbmtMaXN0
ID0gbGlua0xpc3RGb3JOb2RlSWRzKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmNvbnRyb2xsZWRO
b2RlSWRzKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIHZhciBjdXJyZW50
ID0gIiI7CiAgICAgICAgICAgICAgICAgc3dpdGNoIChhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5j
dXJyZW50KSB7CiAgICAgICAgICAgICAgICAgY2FzZSBET01BZ2VudC5BY2Nlc3NpYmlsaXR5UHJv
cGVydGllc0N1cnJlbnQuVHJ1ZToKQEAgLTM5MSwxMiArMzkwLDEyIEBAIFdlYkluc3BlY3Rvci5E
T01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBh
bmVsIGV4dGVuCiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAg
Y3VycmVudCA9ICIiOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAKKwogICAg
ICAgICAgICAgICAgIHZhciBkaXNhYmxlZCA9IGJvb2xlYW5WYWx1ZVRvTG9jYWxpemVkU3RyaW5n
SWZUcnVlKCJkaXNhYmxlZCIpOwogICAgICAgICAgICAgICAgIHZhciBleHBhbmRlZCA9IGJvb2xl
YW5WYWx1ZVRvTG9jYWxpemVkU3RyaW5nSWZQcm9wZXJ0eURlZmluZWQoImV4cGFuZGVkIik7CiAg
ICAgICAgICAgICAgICAgdmFyIGZsb3dlZE5vZGVMaW5rTGlzdCA9IGxpbmtMaXN0Rm9yTm9kZUlk
cyhhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5mbG93ZWROb2RlSWRzKTsKICAgICAgICAgICAgICAg
ICB2YXIgZm9jdXNlZCA9IGJvb2xlYW5WYWx1ZVRvTG9jYWxpemVkU3RyaW5nSWZQcm9wZXJ0eURl
ZmluZWQoImZvY3VzZWQiKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIHZh
ciBpZ25vcmVkID0gIiI7CiAgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0
aWVzLmlnbm9yZWQpIHsKICAgICAgICAgICAgICAgICAgICAgaWdub3JlZCA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiWWVzIik7CkBAIC00MTksNyArNDE4LDcgQEAgV2ViSW5zcGVjdG9yLkRPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwg
ZXh0ZW4KICAgICAgICAgICAgICAgICB2YXIgbGl2ZVJlZ2lvblN0YXR1cyA9ICIiOwogICAgICAg
ICAgICAgICAgIHZhciBsaXZlUmVnaW9uU3RhdHVzTm9kZSA9IG51bGw7CiAgICAgICAgICAgICAg
ICAgdmFyIGxpdmVSZWdpb25TdGF0dXNUb2tlbiA9IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmxp
dmVSZWdpb25TdGF0dXM7Ci0gICAgICAgICAgICAgICAgc3dpdGNoKGxpdmVSZWdpb25TdGF0dXNU
b2tlbikgeworICAgICAgICAgICAgICAgIHN3aXRjaCAobGl2ZVJlZ2lvblN0YXR1c1Rva2VuKSB7
CiAgICAgICAgICAgICAgICAgY2FzZSBET01BZ2VudC5BY2Nlc3NpYmlsaXR5UHJvcGVydGllc0xp
dmVSZWdpb25TdGF0dXMuQXNzZXJ0aXZlOgogICAgICAgICAgICAgICAgICAgICBsaXZlUmVnaW9u
U3RhdHVzID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBc3NlcnRpdmUiKTsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CkBAIC00MzUsNyArNDM0LDcgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0
ZW4KICAgICAgICAgICAgICAgICAgICAgaWYgKGxpdmVSZWdpb25SZWxldmFudCAmJiBsaXZlUmVn
aW9uUmVsZXZhbnQubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAYXJpYS1y
ZWxldmFudD0iYWxsIiBpcyBleHBvc2VkIGFzIFsiYWRkaXRpb25zIiwicmVtb3ZhbHMiLCJ0ZXh0
Il0sIGluIG9yZGVyLgogICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBvcmRlciBpcyBj
b250cm9sbGVkIGluIFdlYkNvcmUgYW5kIGV4cGVjdGVkIGluIFdlYkluc3BlY3RvclVJLgotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGxpdmVSZWdpb25SZWxldmFudC5sZW5ndGggPT09IDMg
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGl2ZVJlZ2lvblJlbGV2YW50Lmxlbmd0aCA9
PT0gMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGxpdmVSZWdpb25SZWxldmFudFsw
XSA9PT0gRE9NQWdlbnQuTGl2ZVJlZ2lvblJlbGV2YW50LkFkZGl0aW9ucwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICYmIGxpdmVSZWdpb25SZWxldmFudFsxXSA9PT0gRE9NQWdlbnQuTGl2
ZVJlZ2lvblJlbGV2YW50LlJlbW92YWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYg
bGl2ZVJlZ2lvblJlbGV2YW50WzJdID09PSBET01BZ2VudC5MaXZlUmVnaW9uUmVsZXZhbnQuVGV4
dCkKQEAgLTUxNyw3ICs1MTYsNyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFy
UGFuZWwgPSBjbGFzcyBET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgogICAgICAgICAg
ICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdy52YWx1ZSA9IGludmFsaWQ7
CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVMYWJlbFJvdy52YWx1ZSA9
IGxhYmVsOwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGl2ZVJlZ2lv
blN0YXR1c1Jvdy52YWx1ZSA9IGxpdmVSZWdpb25TdGF0dXNOb2RlIHx8IGxpdmVSZWdpb25TdGF0
dXM7Ci0gICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICAvLyBSb3cgbGFiZWwgY2hh
bmdlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSB2YWx1ZSBpcyBhIGRlbGVnYXRlIG5vZGUgbGluay4K
ICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZU1vdXNlRXZlbnRSb3cubGFi
ZWwgPSBtb3VzZUV2ZW50Tm9kZUxpbmsgPyBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsaWNrIExp
c3RlbmVyIikgOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsaWNrYWJsZSIpOwogICAgICAgICAg
ICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTW91c2VFdmVudFJvdy52YWx1ZSA9IG1vdXNl
RXZlbnROb2RlTGluayB8fCBtb3VzZUV2ZW50VGV4dFZhbHVlOwpAQCAtNTMzLDcgKzUzMiw3IEBA
IFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eU5vZGVTZWxlY3RlZENoaWxkcmVuUm93LmxhYmVsID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJTZWxlY3RlZCBJdGVtcyIpOwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlU2VsZWN0ZWRDaGlsZHJlblJvdy52YWx1ZSA9IHNlbGVjdGVkQ2hpbGROb2RlTGlua0xpc3Qg
fHwgIiI7CiAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkQ2hpbGROb2RlTGlua0xpc3QgJiYg
YWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuc2VsZWN0ZWRDaGlsZE5vZGVJZHMubGVuZ3RoID09PSAx
KQotICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVNlbGVjdGVkQ2hp
bGRyZW5Sb3cubGFiZWwgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGVjdGVkIEl0ZW0iKTsg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlU2VsZWN0ZWRDaGlsZHJlblJvdy5sYWJlbCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2Vs
ZWN0ZWQgSXRlbSIpOwogCiAgICAgICAgICAgICAgICAgLy8gRGlzcGxheSBvcmRlciwgbm90IGFs
cGhhYmV0aWNhbCBhcyBhYm92ZS4KICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5
R3JvdXAucm93cyA9IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVN0b3JhZ2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVN0b3JhZ2VDb250ZW50Vmlldy5qcwppbmRleCA3
ZWMyZWNjLi44OTMyMzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9ET01TdG9yYWdlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NU3RvcmFnZUNvbnRlbnRWaWV3LmpzCkBA
IC03OCw2ICs3OCw4IEBAIFdlYkluc3BlY3Rvci5ET01TdG9yYWdlQ29udGVudFZpZXcgPSBjbGFz
cyBET01TdG9yYWdlQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwCiAgICAgICAgICAgICBpZiAo
bm9kZS5kYXRhLmtleSA9PT0gZXZlbnQuZGF0YS5rZXkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX2RhdGFHcmlkLnJlbW92ZUNoaWxkKG5vZGUpOwogICAgICAgICB9CisKKyAgICAgICAg
cmV0dXJuIG51bGw7CiAgICAgfQogCiAgICAgaXRlbUFkZGVkKGV2ZW50KQpAQCAtMTk5LDE0ICsy
MDEsNiBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NU3Rv
cmFnZUNvbnRlbnRWaWV3IGV4dGVuZHMgV2ViSW5zcAogICAgICAgICAgICAgZWRpdGluZ05vZGUu
X19vcmlnaW5hbFZhbHVlID0gdW5kZWZpbmVkOwogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rp
b24gcmVzdG9yZU9yaWdpbmFsVmFsdWVzKCkKLSAgICAgICAgewotICAgICAgICAgICAgZWRpdGlu
Z05vZGUuZGF0YS5rZXkgPSBlZGl0aW5nTm9kZS5fX29yaWdpbmFsS2V5OwotICAgICAgICAgICAg
ZWRpdGluZ05vZGUuZGF0YS52YWx1ZSA9IGVkaXRpbmdOb2RlLl9fb3JpZ2luYWxWYWx1ZTsKLSAg
ICAgICAgICAgIGVkaXRpbmdOb2RlLnJlZnJlc2goKTsKLSAgICAgICAgICAgIGNsZWFudXAoKTsK
LSAgICAgICAgfQotCiAgICAgICAgIC8vIElmIHRoZSBrZXkvdmFsdWUgZmllbGQgd2FzIGNsZWFy
ZWQsIGFkZCAibWlzc2luZyIgc3R5bGUuCiAgICAgICAgIGlmIChpc0VkaXRpbmdLZXkpIHsKICAg
ICAgICAgICAgIGlmIChrZXkubGVuZ3RoKQpAQCAtMjQzLDcgKzIzNyw3IEBAIFdlYkluc3BlY3Rv
ci5ET01TdG9yYWdlQ29udGVudFZpZXcgPSBjbGFzcyBET01TdG9yYWdlQ29udGVudFZpZXcgZXh0
ZW5kcyBXZWJJbnNwCiAgICAgICAgIGlmICgha2V5Lmxlbmd0aCAmJiAhdmFsdWUubGVuZ3RoICYm
ICFlZGl0aW5nTm9kZS5pc1BsYWNlaG9sZGVyTm9kZSkgewogICAgICAgICAgICAgdGhpcy5fZGF0
YUdyaWQucmVtb3ZlQ2hpbGQoZWRpdGluZ05vZGUpOwogICAgICAgICAgICAgZG9tU3RvcmFnZS5y
ZW1vdmVJdGVtKGVkaXRpbmdOb2RlLl9fb3JpZ2luYWxLZXkpOwotICAgICAgICAgICAgcmV0dXJu
OyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAg
ICAgIC8vIERvbmUgZWRpdGluZyBidXQgbGVhdmluZyB0aGUgcm93IGluIGFuIGludmFsaWQgc3Rh
dGUuIExlYXZlIGluIHVuY29tbWl0dGVkIHN0YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcwppbmRl
eCBhYzI2ZDYzLi4xMWZjMDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcwpAQCAtMzk4LDcgKzM5
OCw3IEBAIFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudCA9IGNsYXNzIERPTVRyZWVFbGVtZW50
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRyZWVFbGVtCiAgICAgICAgIC8vIFJlbW92ZSBhbnkgdHJl
ZSBlbGVtZW50cyB0aGF0IG5vIGxvbmdlciBoYXZlIHRoaXMgbm9kZSAob3IgdGhpcyBub2RlJ3Mg
Y29udGVudERvY3VtZW50KSBhcyB0aGVpciBwYXJlbnQuCiAgICAgICAgIC8vIEtlZXAgYSBsaXN0
IG9mIGV4aXN0aW5nIHRyZWUgZWxlbWVudHMgZm9yIG5vZGVzIHRoYXQgd2UgY2FuIHVzZSBsYXRl
ci4KICAgICAgICAgdmFyIGV4aXN0aW5nQ2hpbGRUcmVlRWxlbWVudHMgPSBuZXcgTWFwOwotICAg
ICAgICBmb3IgKHZhciBpID0gKHRoaXMuY2hpbGRyZW4ubGVuZ3RoIC0gMSk7IGkgPj0gMDsgLS1p
KSB7CisgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDE7IGkgPj0g
MDsgLS1pKSB7CiAgICAgICAgICAgICB2YXIgY3VycmVudENoaWxkVHJlZUVsZW1lbnQgPSB0aGlz
LmNoaWxkcmVuW2ldOwogICAgICAgICAgICAgdmFyIGN1cnJlbnROb2RlID0gY3VycmVudENoaWxk
VHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3Q7CiAgICAgICAgICAgICB2YXIgY3VycmVudFBh
cmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnROb2RlOwpAQCAtNDExLDcgKzQxMSw2IEBAIFdl
Ykluc3BlY3Rvci5ET01UcmVlRWxlbWVudCA9IGNsYXNzIERPTVRyZWVFbGVtZW50IGV4dGVuZHMg
V2ViSW5zcGVjdG9yLlRyZWVFbGVtCiAgICAgICAgIH0KIAogICAgICAgICAvLyBNb3ZlIC8gY3Jl
YXRlIFRyZWVFbGVtZW50cyBmb3Igb3VyIHZpc2libGUgY2hpbGRyZW4uCi0gICAgICAgIHZhciBj
aGlsZEluZGV4ID0gMDsKICAgICAgICAgdmFyIGVsZW1lbnRUb1NlbGVjdCA9IG51bGw7CiAgICAg
ICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSB0aGlzLl92aXNpYmxlQ2hpbGRyZW4oKTsKICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoICYmIGkgPCB0aGlz
LmV4cGFuZGVkQ2hpbGRyZW5MaW1pdDsgKytpKSB7CkBAIC00NTksNyArNDU4LDYgQEAgV2ViSW5z
cGVjdG9yLkRPTVRyZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuVHJlZUVsZW0KICAgICAgICAgaWYgKHRoaXMuZXhwYW5kQWxsQnV0dG9uRWxlbWVu
dCAmJiB0aGlzLmV4cGFuZEFsbEJ1dHRvbkVsZW1lbnQuX190cmVlRWxlbWVudC5wYXJlbnQpCiAg
ICAgICAgICAgICB0aGlzLnJlbW92ZUNoaWxkKHRoaXMuZXhwYW5kQWxsQnV0dG9uRWxlbWVudC5f
X3RyZWVFbGVtZW50KTsKIAotICAgICAgICB2YXIgbm9kZSA9IHRoaXMucmVwcmVzZW50ZWRPYmpl
Y3Q7CiAgICAgICAgIGlmICghdGhpcy5faGFzVmlzaWJsZUNoaWxkcmVuKCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKQEAgLTQ5Nyw3ICs0OTUsNiBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1l
bnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UcmVlRWxlbQog
ICAgIGhhbmRsZUxvYWRBbGxDaGlsZHJlbigpCiAgICAgewogICAgICAgICB2YXIgdmlzaWJsZUNo
aWxkcmVuID0gdGhpcy5fdmlzaWJsZUNoaWxkcmVuKCk7Ci0gICAgICAgIHZhciB0b3RhbENoaWxk
cmVuQ291bnQgPSB2aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoOwogICAgICAgICB0aGlzLmV4cGFuZGVk
Q2hpbGRyZW5MaW1pdCA9IE1hdGgubWF4KHZpc2libGVDaGlsZHJlbi5sZW5ndGgsIHRoaXMuZXhw
YW5kZWRDaGlsZHJlbkxpbWl0ICsgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50LkluaXRpYWxD
aGlsZHJlbkxpbWl0KTsKICAgICB9CiAKQEAgLTExMDEsNyArMTA5OCw3IEBAIFdlYkluc3BlY3Rv
ci5ET01UcmVlRWxlbWVudCA9IGNsYXNzIERPTVRyZWVFbGVtZW50IGV4dGVuZHMgV2ViSW5zcGVj
dG9yLlRyZWVFbGVtCiAgICAgICAgIC8vIHRhZywgb3IgSFRNTCBlbGVtZW50cyB3aXRob3V0IGEg
Y2xvc2luZyB0YWcgKHN1Y2ggYXMgPGJyPikuIFJldHVybgogICAgICAgICAvLyBudWxsIGluIHRo
ZSBjYXNlIHdoZXJlIHRoZXJlIGlzbid0IGEgY2xvc2luZyB0YWcuCiAgICAgICAgIHZhciB0YWdz
ID0gdGhpcy5saXN0SXRlbUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiaHRtbC10YWci
KTsKLSAgICAgICAgcmV0dXJuICh0YWdzLmxlbmd0aCA9PT0gMSA/IG51bGwgOiB0YWdzW3RhZ3Mu
bGVuZ3RoIC0gMV0pOworICAgICAgICByZXR1cm4gdGFncy5sZW5ndGggPT09IDEgPyBudWxsIDog
dGFnc1t0YWdzLmxlbmd0aCAtIDFdOwogICAgIH0KIAogICAgIHVwZGF0ZVRpdGxlKG9ubHlTZWFy
Y2hRdWVyeUNoYW5nZWQpCkBAIC0xMTI5LDcgKzExMjYsNyBAQCBXZWJJbnNwZWN0b3IuRE9NVHJl
ZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UcmVl
RWxlbQogCiAgICAgX2J1aWxkQXR0cmlidXRlRE9NKHBhcmVudEVsZW1lbnQsIG5hbWUsIHZhbHVl
LCBub2RlKQogICAgIHsKLSAgICAgICAgbGV0IGhhc1RleHQgPSAodmFsdWUubGVuZ3RoID4gMCk7
CisgICAgICAgIGxldCBoYXNUZXh0ID0gdmFsdWUubGVuZ3RoID4gMDsKICAgICAgICAgbGV0IGF0
dHJTcGFuRWxlbWVudCA9IHBhcmVudEVsZW1lbnQuY3JlYXRlQ2hpbGQoInNwYW4iLCAiaHRtbC1h
dHRyaWJ1dGUiKTsKICAgICAgICAgbGV0IGF0dHJOYW1lRWxlbWVudCA9IGF0dHJTcGFuRWxlbWVu
dC5jcmVhdGVDaGlsZCgic3BhbiIsICJodG1sLWF0dHJpYnV0ZS1uYW1lIik7CiAgICAgICAgIGF0
dHJOYW1lRWxlbWVudC50ZXh0Q29udGVudCA9IG5hbWU7CkBAIC0xMTc3LDcgKzExNzQsNyBAQCBX
ZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRlbmRz
IFdlYkluc3BlY3Rvci5UcmVlRWxlbQogICAgICAgICAgICAgICAgICAgICBsaW5rRWxlbWVudC5o
cmVmID0gcmV3cml0dGVuVVJMOwogICAgICAgICAgICAgICAgICAgICBsaW5rRWxlbWVudC50ZXh0
Q29udGVudCA9IGxpbmtUZXh0Lmluc2VydFdvcmRCcmVha0NoYXJhY3RlcnMoKTsKICAgICAgICAg
ICAgICAgICAgICAgbGV0IGRlc2NyaXB0b3JFbGVtZW50ID0gYXR0clZhbHVlRWxlbWVudC5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpOwotICAgICAgICAgICAgICAg
ICAgICBkZXNjcmlwdG9yRWxlbWVudC50ZXh0Q29udGVudCA9IHN0cmluZy5zdWJzdHJpbmcoc3Bh
Y2VJbmRleCk7CisgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3JFbGVtZW50LnRleHRDb250
ZW50ID0gZGVzY3JpcHRvclRleHQ7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAg
ICAgaWYgKGkgPCBncm91cHMubGVuZ3RoIC0gMSkgewpAQCAtMTUyNiw3ICsxNTIzLDYgQEAgV2Vi
SW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuVHJlZUVsZW0KICAgICAgICAgdmFyIHRleHQgPSB0aGlzLnRpdGxlLnRleHRD
b250ZW50OwogICAgICAgICB2YXIgc2VhcmNoUmVnZXggPSBuZXcgUmVnRXhwKHRoaXMuX3NlYXJj
aFF1ZXJ5LmVzY2FwZUZvclJlZ0V4cCgpLCAiZ2kiKTsKIAotICAgICAgICB2YXIgb2Zmc2V0ID0g
MDsKICAgICAgICAgdmFyIG1hdGNoID0gc2VhcmNoUmVnZXguZXhlYyh0ZXh0KTsKICAgICAgICAg
dmFyIG1hdGNoUmFuZ2VzID0gW107CiAgICAgICAgIHdoaWxlIChtYXRjaCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxp
bmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
T3V0bGluZS5qcwppbmRleCA1ZDFjMDAzLi4wZGJlOTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5q
cwpAQCAtNTYxLDcgKzU2MSw3IEBAIFdlYkluc3BlY3Rvci5ET01UcmVlT3V0bGluZSA9IGNsYXNz
IERPTVRyZWVPdXRsaW5lIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRyZWVPdXRsCiAgICAgICAgICAg
ICBjb25zb2xlLmFzc2VydChlZmZlY3RpdmVOb2RlKTsKICAgICAgICAgICAgIGlmICghZWZmZWN0
aXZlTm9kZSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0gICAgICAgICAgICAK
KyAgICAgICAgfQogCiAgICAgICAgIGlmIChlZmZlY3RpdmVOb2RlLm5vZGVUeXBlKCkgIT09IE5v
ZGUuRUxFTUVOVF9OT0RFKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGFzaGJvYXJkQ29udGFpbmVyVmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Rhc2hib2Fy
ZENvbnRhaW5lclZpZXcuanMKaW5kZXggYjU3NjU1OS4uMTNjNTg1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGFzaGJvYXJkQ29udGFpbmVy
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9E
YXNoYm9hcmRDb250YWluZXJWaWV3LmpzCkBAIC02OCw3ICs2OCw3IEBAIFdlYkluc3BlY3Rvci5E
YXNoYm9hcmRDb250YWluZXJWaWV3ID0gY2xhc3MgRGFzaGJvYXJkQ29udGFpbmVyVmlldyBleHRl
bmRzIFdlYkluCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAogICAgICAgICBpZiAodGhpcy5j
dXJyZW50RGFzaGJvYXJkVmlldyA9PT0gZGFzaGJvYXJkVmlldykKLSAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIHJldHVybiBkYXNoYm9hcmRWaWV3OwogCiAgICAgICAgIHZhciBpbmRl
eCA9IHRoaXMuX2Rhc2hib2FyZFN0YWNrLmluZGV4T2YoZGFzaGJvYXJkVmlldyk7CiAgICAgICAg
IHRoaXMuX3Nob3dEYXNoYm9hcmRBdEluZGV4KGluZGV4KTsKQEAgLTkyLDcgKzkyLDcgQEAgV2Vi
SW5zcGVjdG9yLkRhc2hib2FyZENvbnRhaW5lclZpZXcgPSBjbGFzcyBEYXNoYm9hcmRDb250YWlu
ZXJWaWV3IGV4dGVuZHMgV2ViSW4KICAgICAgICAgdmFyIG9ubHlSZXR1cm5FeGlzdGluZ1ZpZXdz
ID0gdHJ1ZTsKICAgICAgICAgdmFyIGRhc2hib2FyZFZpZXcgPSB0aGlzLl9kYXNoYm9hcmRWaWV3
Rm9yUmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QsIG9ubHlSZXR1cm5FeGlzdGlu
Z1ZpZXdzKTsKICAgICAgICAgaWYgKCFkYXNoYm9hcmRWaWV3KQotICAgICAgICAgICAgcmV0dXJu
IG51bGw7CisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fY2xvc2VEYXNoYm9h
cmRWaWV3KGRhc2hib2FyZFZpZXcpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKaW5kZXggZWIxMjFkZS4uMTYx
MGQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRGF0YUdyaWQuanMKQEAgLTcyNiw3ICs3MjYsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdy
aWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIGlm
IChjb2x1bW5bImNvbGxhcHNlc0dyb3VwIl0pIHsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KGNvbHVtblsiZ3JvdXAiXSAhPT0gY29sdW1uWyJjb2xsYXBzZXNHcm91cCJdKTsKIAotICAgICAg
ICAgICAgdmFyIGRpdmlkZXJFbGVtZW50ID0gaGVhZGVyQ2VsbEVsZW1lbnQuY3JlYXRlQ2hpbGQo
ImRpdiIsICJkaXZpZGVyIik7CisgICAgICAgICAgICBoZWFkZXJDZWxsRWxlbWVudC5jcmVhdGVD
aGlsZCgiZGl2IiwgImRpdmlkZXIiKTsKIAogICAgICAgICAgICAgdmFyIGNvbGxhcHNlRGl2ID0g
aGVhZGVyQ2VsbEVsZW1lbnQuY3JlYXRlQ2hpbGQoImRpdiIsICJjb2xsYXBzZXItYnV0dG9uIik7
CiAgICAgICAgICAgICBjb2xsYXBzZURpdi50aXRsZSA9IHRoaXMuX2NvbGxhcHNlckJ1dHRvbkNv
bGxhcHNlQ29sdW1uc1Rvb2xUaXAoKTsKQEAgLTE3NjMsNyArMTc2Myw3IEBAIFdlYkluc3BlY3Rv
ci5EYXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAg
ICByZXNpemVyRHJhZ2dpbmcocmVzaXplciwgcG9zaXRpb25EZWx0YSkKICAgICB7CiAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHJlc2l6ZXIgPT09IHRoaXMuX2N1cnJlbnRSZXNpemVyLCByZXNpemVy
LCB0aGlzLl9jdXJyZW50UmVzaXplcik7Ci0gICAgICAgIGlmIChyZXNpemVyICE9IHRoaXMuX2N1
cnJlbnRSZXNpemVyKQorICAgICAgICBpZiAocmVzaXplciAhPT0gdGhpcy5fY3VycmVudFJlc2l6
ZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gQ29uc3RyYWluIHRoZSBkcmFn
cG9pbnQgdG8gYmUgd2l0aGluIHRoZSBjb250YWluaW5nIGRpdiBvZiB0aGUKQEAgLTE4MTIsNyAr
MTgxMiw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMg
V2ViSW5zcGVjdG9yLlZpZXcKICAgICByZXNpemVyRHJhZ0VuZGVkKHJlc2l6ZXIpCiAgICAgewog
ICAgICAgICBjb25zb2xlLmFzc2VydChyZXNpemVyID09PSB0aGlzLl9jdXJyZW50UmVzaXplciwg
cmVzaXplciwgdGhpcy5fY3VycmVudFJlc2l6ZXIpOwotICAgICAgICBpZiAocmVzaXplciAhPSB0
aGlzLl9jdXJyZW50UmVzaXplcikKKyAgICAgICAgaWYgKHJlc2l6ZXIgIT09IHRoaXMuX2N1cnJl
bnRSZXNpemVyKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX2N1cnJlbnRS
ZXNpemVyID0gbnVsbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkTm9kZS5qcwppbmRleCBlNjAyODc0Li41ZmQwN2M1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRh
R3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRGF0YUdyaWROb2RlLmpzCkBAIC0yNTQsNyArMjU0LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkTm9kZSA9IGNsYXNzIERhdGFHcmlkTm9kZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QK
IAogICAgIGdldCBsZWZ0UGFkZGluZygpCiAgICAgewotICAgICAgICBpZiAodHlwZW9mKHRoaXMu
X2xlZnRQYWRkaW5nKSA9PT0gIm51bWJlciIpCisgICAgICAgIGlmICh0eXBlb2YgdGhpcy5fbGVm
dFBhZGRpbmcgPT09ICJudW1iZXIiKQogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xlZnRQYWRk
aW5nOwogCiAgICAgICAgIHRoaXMuX2xlZnRQYWRkaW5nID0gdGhpcy5kZXB0aCAqIHRoaXMuZGF0
YUdyaWQuaW5kZW50V2lkdGg7CkBAIC00MDUsNyArNDA1LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkTm9kZSA9IGNsYXNzIERhdGFHcmlkTm9kZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QK
ICAgICAgICAgaWYgKCF0aGlzLnBhcmVudCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICB2YXIgcHJldmlvdXNDaGlsZCA9IChteUluZGV4ID4gMCA/IHRoaXMucGFyZW50LmNoaWxkcmVu
W215SW5kZXggLSAxXSA6IG51bGwpOworICAgICAgICB2YXIgcHJldmlvdXNDaGlsZCA9IG15SW5k
ZXggPiAwID8gdGhpcy5wYXJlbnQuY2hpbGRyZW5bbXlJbmRleCAtIDFdIDogbnVsbDsKIAogICAg
ICAgICBpZiAocHJldmlvdXNDaGlsZCkgewogICAgICAgICAgICAgcHJldmlvdXNDaGlsZC5uZXh0
U2libGluZyA9IHRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmluZGV4IDQ3
NGM3ZWIuLjI1MjM1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCkBAIC0x
MjMsNyArMTIzLDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3Mg
RGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH07Cisg
ICAgICAgIH0KIAogICAgICAgICB0aGlzLmZpbHRlckJhci5hZGRGaWx0ZXJCYXJCdXR0b24oImRl
YnVnZ2VyLXNob3ctcmVzb3VyY2VzLXdpdGgtaXNzdWVzLW9ubHkiLCBzaG93UmVzb3VyY2VzV2l0
aElzc3Vlc09ubHlGaWx0ZXJGdW5jdGlvbi5iaW5kKHRoaXMpLCB0cnVlLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIk9ubHkgc2hvdyByZXNvdXJjZXMgd2l0aCBpc3N1ZXMiKSwgV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJTaG93IGFsbCByZXNvdXJjZXMiKSwgIkltYWdlcy9FcnJvcnMuc3ZnIiwgMTUs
IDE1KTsKIApAQCAtMzc3LDcgKzM3Nyw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQ
YW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAg
ICAgICAgaWYgKCF0cmVlRWxlbWVudCkgewogICAgICAgICAgICAgY29uc29sZS5lcnJvcigiVW5r
bm93biBzb3VyY2VDb2RlIGluc3RhbmNlIiwgc291cmNlQ29kZSk7Ci0gICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgfQogCiAgICAgICAgIGlmICgh
dHJlZUVsZW1lbnQucGFyZW50KSB7CkBAIC03NTAsNyArNzUwLDcgQEAgV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBX
ZWJJbnNwZWMKICAgICB7CiAgICAgICAgIGlmICghYS5kZWJ1Z2dlck9iamVjdCB8fCAhYi5kZWJ1
Z2dlck9iamVjdCkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAKKwogICAgICAgICB2
YXIgYUxvY2F0aW9uID0gYS5kZWJ1Z2dlck9iamVjdC5zb3VyY2VDb2RlTG9jYXRpb247CiAgICAg
ICAgIHZhciBiTG9jYXRpb24gPSBiLmRlYnVnZ2VyT2JqZWN0LnNvdXJjZUNvZGVMb2NhdGlvbjsK
IApAQCAtODY1LDYgKzg2NSw4IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9
IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICAgICAg
aWYgKGRlYnVnZ2VyT2JqZWN0IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLklzc3VlTWVzc2FnZSkK
ICAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZGRJc3N1ZShkZWJ1Z2dlck9iamVjdCk7CisKKyAg
ICAgICAgcmV0dXJuIG51bGw7CiAgICAgfQogCiAgICAgX2FkZElzc3VlKGlzc3VlTWVzc2FnZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Rl
ZmF1bHREYXNoYm9hcmRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRGVmYXVsdERhc2hib2FyZFZpZXcuanMKaW5kZXggYjcyNjIwNC4uODkzNDNjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVm
YXVsdERhc2hib2FyZFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRGVmYXVsdERhc2hib2FyZFZpZXcuanMKQEAgLTI5LDcgKzI5LDcgQEAgV2Vi
SW5zcGVjdG9yLkRlZmF1bHREYXNoYm9hcmRWaWV3ID0gY2xhc3MgRGVmYXVsdERhc2hib2FyZFZp
ZXcgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICB7CiAgICAgICAgIHN1cGVyKHJlcHJlc2VudGVkT2Jq
ZWN0LCAiZGVmYXVsdCIpOwogCi0gICAgICAgIHJlcHJlc2VudGVkT2JqZWN0LmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkRlZmF1bHREYXNoYm9hcmQuRXZlbnQuRGF0YURpZENoYW5nZSwg
KCkgPT4geyB0aGlzLl91cGRhdGVEaXNwbGF5U29vbigpIH0pOworICAgICAgICByZXByZXNlbnRl
ZE9iamVjdC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWZhdWx0RGFzaGJvYXJkLkV2
ZW50LkRhdGFEaWRDaGFuZ2UsICgpID0+IHsgdGhpcy5fdXBkYXRlRGlzcGxheVNvb24oKTsgfSk7
CiAgICAgICAgIHRoaXMuX3NjaGVkdWxlZFVwZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7CiAK
ICAgICAgICAgdGhpcy5faXRlbXMgPSB7CkBAIC02Miw3ICs2Miw3IEBAIFdlYkluc3BlY3Rvci5E
ZWZhdWx0RGFzaGJvYXJkVmlldyA9IGNsYXNzIERlZmF1bHREYXNoYm9hcmRWaWV3IGV4dGVuZHMg
V2ViSW5zcGVjCiAgICAgICAgIGZvciAodmFyIG5hbWUgaW4gdGhpcy5faXRlbXMpCiAgICAgICAg
ICAgICB0aGlzLl9hcHBlbmRFbGVtZW50Rm9yTmFtZWRJdGVtKG5hbWUpOwogICAgIH0KLSAgICAK
KwogICAgIC8vIFByaXZhdGUKIAogICAgIF91cGRhdGVEaXNwbGF5U29vbigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCmluZGV4IDJlNTZhMDkuLjMxMGMyMmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbnRSZXNv
dXJjZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCkBAIC0xNDIsNyArMTQyLDcgQEAg
V2ViSW5zcGVjdG9yLkZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgRm9udFJlc291cmNl
Q29udGVudFZpZXcgZXh0ZW5kcyBXZWIKICAgICB7CiAgICAgICAgIHRoaXMuc2l6ZVRvRml0KCk7
CiAgICAgfQotfQorfTsKIAogV2ViSW5zcGVjdG9yLkZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3Ll91
bmlxdWVGb250SWRlbnRpZmllciA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Zvcm1hdHRlZFZhbHVlLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9ybWF0dGVkVmFsdWUuanMKaW5kZXggNWUx
ZmZhMC4uZjQyZDRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRm9ybWF0dGVkVmFsdWUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRm9ybWF0dGVkVmFsdWUuanMKQEAgLTE1OSw3ICsxNTksNyBA
QCBXZWJJbnNwZWN0b3IuRm9ybWF0dGVkVmFsdWUuY3JlYXRlRWxlbWVudEZvckZ1bmN0aW9uV2l0
aE5hbWUgPSBmdW5jdGlvbihkZXNjcmlwdAogICAgIHNwYW4uY2xhc3NMaXN0LmFkZCgiZm9ybWF0
dGVkLWZ1bmN0aW9uIik7CiAgICAgc3Bhbi50ZXh0Q29udGVudCA9IGRlc2NyaXB0aW9uLnN1YnN0
cmluZygwLCBkZXNjcmlwdGlvbi5pbmRleE9mKCIoIikpOwogICAgIHJldHVybiBzcGFuOwotfQor
fTsKIAogV2ViSW5zcGVjdG9yLkZvcm1hdHRlZFZhbHVlLmNyZWF0ZUVsZW1lbnRGb3JUeXBlc0Fu
ZFZhbHVlID0gZnVuY3Rpb24odHlwZSwgc3VidHlwZSwgZGlzcGxheVN0cmluZywgc2l6ZSwgaXNQ
cmV2aWV3LCBoYWRFeGNlcHRpb24pCiB7CkBAIC0yMjUsNyArMjI1LDcgQEAgV2ViSW5zcGVjdG9y
LkZvcm1hdHRlZFZhbHVlLmNyZWF0ZU9iamVjdFByZXZpZXdPckZvcm1hdHRlZFZhbHVlRm9yT2Jq
ZWN0UHJldmlldwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLkZvcm1hdHRlZFZhbHVlLmNy
ZWF0ZUVsZW1lbnRGb3JGdW5jdGlvbldpdGhOYW1lKG9iamVjdFByZXZpZXcuZGVzY3JpcHRpb24p
OwogCiAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuT2JqZWN0UHJldmlld1ZpZXcob2JqZWN0
UHJldmlldywgcHJldmlld1ZpZXdNb2RlKS5lbGVtZW50OwotfQorfTsKIAogV2ViSW5zcGVjdG9y
LkZvcm1hdHRlZFZhbHVlLmNyZWF0ZU9iamVjdFByZXZpZXdPckZvcm1hdHRlZFZhbHVlRm9yUmVt
b3RlT2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0LCBwcmV2aWV3Vmlld01vZGUpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVk
aXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRp
ZW50RWRpdG9yLmpzCmluZGV4IDQ0MTcwMWUuLjFjYTgwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9y
LmpzCkBAIC0yMjEsNyArMjIxLDcgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yID0gY2xh
c3MgR3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9y
LkV2ZW50LkdyYWRpZW50Q2hhbmdlZCwge2dyYWRpZW50OiB0aGlzLl9ncmFkaWVudH0pOwogICAg
IH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvci5FdmVudCA9IHsKICAgICBH
cmFkaWVudENoYW5nZWQ6ICJncmFkaWVudC1lZGl0b3ItZ3JhZGllbnQtY2hhbmdlZCIsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVu
dFNsaWRlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dy
YWRpZW50U2xpZGVyLmpzCmluZGV4IGZmODc4MjIuLjVhOTQxOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50U2xpZGVyLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50U2xp
ZGVyLmpzCkBAIC0xMjUsNyArMTI1LDcgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50U2xpZGVyID0g
Y2xhc3MgR3JhZGllbnRTbGlkZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAga25v
YldpbGxEZXRhY2goa25vYikKICAgICB7CiAgICAgICAgIGtub2IuZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKFdlYkluc3BlY3Rvci5HcmFkaWVudFNsaWRlci5EZXRhY2hpbmdDbGFzc05hbWUpOwotICAg
ICAgICAKKwogICAgICAgICB0aGlzLl9zdG9wcy5yZW1vdmUoa25vYi5zdG9wKTsKICAgICAgICAg
dGhpcy5fa25vYnMucmVtb3ZlKGtub2IpOwogICAgICAgICB0aGlzLl9zb3J0U3RvcHMoKTsKQEAg
LTE5NCw3ICsxOTQsNyBAQCBXZWJJbnNwZWN0b3IuR3JhZGllbnRTbGlkZXIgPSBjbGFzcyBHcmFk
aWVudFNsaWRlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgIHRoaXMu
X3NoYWRvd0tub2IuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5HcmFkaWVudFNs
aWRlci5TaGFkb3dDbGFzc05hbWUpOwogICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENo
aWxkKHRoaXMuX3NoYWRvd0tub2IuZWxlbWVudCk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAg
ICAgICAgdGhpcy5fc2hhZG93S25vYi54ID0gd2luZG93LndlYmtpdENvbnZlcnRQb2ludEZyb21Q
YWdlVG9Ob2RlKHRoaXMuZWxlbWVudCwgbmV3IFdlYktpdFBvaW50KGV2ZW50LnBhZ2VYLCBldmVu
dC5wYWdlWSkpLng7CiAKICAgICAgICAgdmFyIGNvbG9yRGF0YSA9IHRoaXMuX2NhbnZhcy5nZXRD
b250ZXh0KCIyZCIpLmdldEltYWdlRGF0YSh0aGlzLl9zaGFkb3dLbm9iLnggLSAxLCAwLCAxLCAx
KS5kYXRhOwpAQCAtMjE4LDcgKzIxOCw3IEBAIFdlYkluc3BlY3Rvci5HcmFkaWVudFNsaWRlciA9
IGNsYXNzIEdyYWRpZW50U2xpZGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgIHsK
ICAgICAgICAgdmFyIHcgPSBXZWJJbnNwZWN0b3IuR3JhZGllbnRTbGlkZXIuV2lkdGg7CiAgICAg
ICAgIHZhciBoID0gV2ViSW5zcGVjdG9yLkdyYWRpZW50U2xpZGVyLkhlaWdodDsKLSAgICAgICAg
CisKICAgICAgICAgdGhpcy5fY2FudmFzLndpZHRoID0gdzsKICAgICAgICAgdGhpcy5fY2FudmFz
LmhlaWdodCA9IGg7CiAKQEAgLTIzOCw3ICsyMzgsNyBAQCBXZWJJbnNwZWN0b3IuR3JhZGllbnRT
bGlkZXIgPSBjbGFzcyBHcmFkaWVudFNsaWRlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QK
ICAgICBfdXBkYXRlS25vYnMoKQogICAgIHsKICAgICAgICAgdmFyIHNlbGVjdGVkU3RvcCA9IHRo
aXMuX3NlbGVjdGVkS25vYiA/IHRoaXMuX3NlbGVjdGVkS25vYi5zdG9wIDogbnVsbDsKLSAgICAg
ICAgCisKICAgICAgICAgd2hpbGUgKHRoaXMuX2tub2JzLmxlbmd0aCA+IHRoaXMuX3N0b3BzLmxl
bmd0aCkKICAgICAgICAgICAgIHRoaXMuX2tub2JzLnBvcCgpLmVsZW1lbnQucmVtb3ZlKCk7CiAK
QEAgLTMxMSw3ICszMTEsNyBAQCBXZWJJbnNwZWN0b3IuR3JhZGllbnRTbGlkZXJLbm9iID0gY2xh
c3MgR3JhZGllbnRTbGlkZXJLbm9iIGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgIHsKICAgICAg
ICAgcmV0dXJuIHRoaXMuX3g7CiAgICAgfQotICAgIAorCiAgICAgc2V0IHgoeCkgewogICAgICAg
ICB0aGlzLl94ID0geDsKICAgICAgICAgdGhpcy5fdXBkYXRlVHJhbnNmb3JtKCk7CkBAIC0zMjEs
NyArMzIxLDcgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50U2xpZGVyS25vYiA9IGNsYXNzIEdyYWRp
ZW50U2xpZGVyS25vYiBleHRlbmRzIFdlYkluc3BlY3Rvci4KICAgICB7CiAgICAgICAgIHJldHVy
biB0aGlzLl94OwogICAgIH0KLSAgICAKKwogICAgIHNldCB5KHkpIHsKICAgICAgICAgdGhpcy5f
eSA9IHk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVRyYW5zZm9ybSgpOwpAQCAtMzQ5LDcgKzM0OSw3
IEBAIFdlYkluc3BlY3Rvci5HcmFkaWVudFNsaWRlcktub2IgPSBjbGFzcyBHcmFkaWVudFNsaWRl
cktub2IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAg
ICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdlYkluc3BlY3Rvci5HcmFkaWVudFNs
aWRlcktub2IuU2VsZWN0ZWRDbGFzc05hbWUsIHNlbGVjdGVkKTsKLSAgICAgICAgCisKICAgICAg
ICAgaWYgKHRoaXMuZGVsZWdhdGUgJiYgdHlwZW9mIHRoaXMuZGVsZWdhdGUua25vYlNlbGVjdGlv
bkNoYW5nZWQgPT09ICJmdW5jdGlvbiIpCiAgICAgICAgICAgICB0aGlzLmRlbGVnYXRlLmtub2JT
ZWxlY3Rpb25DaGFuZ2VkKHRoaXMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90Q29u
dGVudFZpZXcuanMKaW5kZXggMGM3MjUwNC4uZjRhNzc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90Q29udGVudFZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNu
YXBzaG90Q29udGVudFZpZXcuanMKQEAgLTEwMyw3ICsxMDMsNyBAQCBXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90SW5zdGFuY2VzQ29udGVudFZpZXcgPSBjbGFzcyBIZWFwU25hcHNob3RJbnN0YW5j
ZXNDb250ZQogICAgICAgICAgICAgICAgIHRvb2x0aXA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U2l6ZSBvZiB0aGUgY3VycmVudCBvYmplY3QgcGx1cyB0aGUgc2l6ZSBvZiBhbGwgb2JqZWN0cyBp
dCBrZWVwcyBhbGl2ZS4iKSwKICAgICAgICAgICAgICAgICB3aWR0aDogIjE0MHB4IiwKICAgICAg
ICAgICAgICAgICBhbGlnbmVkOiAicmlnaHQiLAotICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0
cnVlLCAKKyAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSwKICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICBzaXplOiB7CiAgICAgICAgICAgICAgICAgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiU2VsZiBTaXplIiksCkBAIC0xMzgsNyArMTM4LDcgQEAgV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdE9iamVjdEdyYXBoQ29udGVudFZpZXcgPSBjbGFzcyBIZWFwU25hcHNob3RPYmpl
Y3RHcmFwaEMKICAgICAgICAgICAgICAgICB0b29sdGlwOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlNpemUgb2YgdGhlIGN1cnJlbnQgb2JqZWN0IHBsdXMgdGhlIHNpemUgb2YgYWxsIG9iamVjdHMg
aXQga2VlcHMgYWxpdmUuIiksCiAgICAgICAgICAgICAgICAgd2lkdGg6ICIxNDBweCIsCiAgICAg
ICAgICAgICAgICAgYWxpZ25lZDogInJpZ2h0IiwKLSAgICAgICAgICAgICAgICBzb3J0YWJsZTog
dHJ1ZSwgCisgICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsCiAgICAgICAgICAgICB9LAog
ICAgICAgICAgICAgc2l6ZTogewogICAgICAgICAgICAgICAgIHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlNlbGYgU2l6ZSIpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90RGF0YUdyaWRUcmVlLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90RGF0YUdyaWRU
cmVlLmpzCmluZGV4IDkyNGQ5NDcuLjU3OGE5OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdERhdGFHcmlkVHJlZS5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNo
b3REYXRhR3JpZFRyZWUuanMKQEAgLTUzLDcgKzUzLDYgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdERhdGFHcmlkVHJlZSA9IGNsYXNzIEhlYXBTbmFwc2hvdERhdGFHcmlkVHJlZSBleHRlbmRz
IFcKICAgICAgICAgbGV0IG51bWJlckNvbXBhcmUgPSAoY29sdW1uSWRlbnRpZmllciwgYSwgYikg
PT4gbXVsdGlwbGllciAqIChhLmRhdGFbY29sdW1uSWRlbnRpZmllcl0gLSBiLmRhdGFbY29sdW1u
SWRlbnRpZmllcl0pOwogICAgICAgICBsZXQgbG9jYWxlQ29tcGFyZSA9IChjb2x1bW5JZGVudGlm
aWVyLCBhLCBiKSA9PiBtdWx0aXBsaWVyICogKGEuZGF0YVtjb2x1bW5JZGVudGlmaWVyXS5sb2Nh
bGVDb21wYXJlKGIuZGF0YVtjb2x1bW5JZGVudGlmaWVyXSkpOwogCi0gICAgICAgIGxldCBjb21w
YXJhdG9yOwogICAgICAgICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsKICAgICAgICAgY2Fz
ZSAicmV0YWluZWRTaXplIjoKICAgICAgICAgICAgIHJldHVybiBudW1iZXJDb21wYXJlLmJpbmQo
dGhpcywgInJldGFpbmVkU2l6ZSIpOwpAQCAtMjEwLDcgKzIwOSw3IEBAIFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3RJbnN0YW5jZXNEYXRhR3JpZFRyZWUgPSBjbGFzcyBIZWFwU25hcHNob3RJbnN0
YW5jZXNEYXRhCiAgICAgICAgICAgICB0aGlzLmFwcGVuZENoaWxkKG5ldyBXZWJJbnNwZWN0b3Iu
SGVhcFNuYXBzaG90Q2xhc3NEYXRhR3JpZE5vZGUoe2NsYXNzTmFtZSwgc2l6ZSwgcmV0YWluZWRT
aXplLCBjb3VudDogbGl2ZUNvdW50fSwgdGhpcykpOwogICAgICAgICB9CiAKLSAgICAgICAgdGhp
cy5kaWRQb3B1bGF0ZSgpCisgICAgICAgIHRoaXMuZGlkUG9wdWxhdGUoKTsKICAgICB9CiAKICAg
ICByZW1vdmVDb2xsZWN0ZWROb2Rlcyhjb2xsZWN0ZWROb2RlcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdEluc3RhbmNl
RGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvSGVhcFNuYXBzaG90SW5zdGFuY2VEYXRhR3JpZE5vZGUuanMKaW5kZXggZGU3MDhmYy4uYWNi
MjA0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvSGVhcFNuYXBzaG90SW5zdGFuY2VEYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90SW5zdGFuY2VEYXRhR3Jp
ZE5vZGUuanMKQEAgLTI0Nyw3ICsyNDcsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SW5z
dGFuY2VEYXRhR3JpZE5vZGUgPSBjbGFzcyBIZWFwU25hcHNob3RJbnN0YW5jZURhdGFHcgogICAg
IHsKICAgICAgICAgSGVhcEFnZW50LmdldFJlbW90ZU9iamVjdCh0aGlzLl9ub2RlLmlkLCAoZXJy
b3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+IHsKICAgICAgICAgICAgIGlmIChlcnJvcikgewot
ICAgICAgICAgICAgICAgIHRoaXMuX3BvcHVsYXRlRXJyb3IoY29udGFpbmVyRWxlbWVudCkKKyAg
ICAgICAgICAgICAgICB0aGlzLl9wb3B1bGF0ZUVycm9yKGNvbnRhaW5lckVsZW1lbnQpOwogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIApAQCAtNDI3LDcgKzQyNyw3IEBA
IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RJbnN0YW5jZURhdGFHcmlkTm9kZSA9IGNsYXNzIEhl
YXBTbmFwc2hvdEluc3RhbmNlRGF0YUdyCiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBz
dHJpbmdpZnlFZGdlKGVkZ2UpIHsKLSAgICAgICAgICAgIHN3aXRjaChlZGdlLnR5cGUpIHsKKyAg
ICAgICAgICAgIHN3aXRjaCAoZWRnZS50eXBlKSB7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3RFZGdlUHJveHkuRWRnZVR5cGUuUHJvcGVydHk6CiAgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RFZGdlUHJveHkuRWRnZVR5cGUuVmFyaWFi
bGU6CiAgICAgICAgICAgICAgICAgaWYgKC9eKD8hWzAtOV0pXHcrJC8udGVzdChlZGdlLmRhdGEp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SG92ZXJNZW51LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SG92ZXJNZW51LmpzCmluZGV4IGU1ZWRiM2YuLjA5YTZjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hvdmVyTWVudS5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Ib3Zlck1lbnUuanMKQEAgLTEw
Myw3ICsxMDMsNyBAQCBXZWJJbnNwZWN0b3IuSG92ZXJNZW51ID0gY2xhc3MgSG92ZXJNZW51IGV4
dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgIHsKICAgICAgICAgdmFyIGJ1dHRvbldpZHRo
ID0gdGhpcy5fYnV0dG9uLndpZHRoOwogICAgICAgICB2YXIgYnV0dG9uSGVpZ2h0ID0gdGhpcy5f
YnV0dG9uLmhlaWdodDsKLSAgICAgICAgCisKICAgICAgICAgLy8gQWRkIHJvb20gZm9yIHRoZSBi
dXR0b24gb24gdGhlIGxhc3QgbGluZS4KICAgICAgICAgdmFyIGxhc3RSZWN0ID0gcmVjdHMucG9w
KCk7CiAgICAgICAgIGxhc3RSZWN0LnNpemUud2lkdGggKz0gYnV0dG9uV2lkdGg7CkBAIC0xNzcs
NyArMTc3LDcgQEAgV2ViSW5zcGVjdG9yLkhvdmVyTWVudSA9IGNsYXNzIEhvdmVyTWVudSBleHRl
bmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgICJxIiwgMCwgciwgciwgciwKICAg
ICAgICAgICAgICJIIiwgcmVjdC5tYXhYKCkKICAgICAgICAgXSwgdHgsIHR5KTsKLSAgICAgICAg
CisKICAgICAgICAgcmVjdCA9IHNlY29uZFJlY3Q7CiAgICAgICAgIHRoaXMuX2FkZFBhdGgoWwog
ICAgICAgICAgICAgIk0iLCByZWN0Lm1pblgoKSwgcmVjdC5taW5ZKCksCkBAIC0xODgsNyArMTg4
LDcgQEAgV2ViSW5zcGVjdG9yLkhvdmVyTWVudSA9IGNsYXNzIEhvdmVyTWVudSBleHRlbmRzIFdl
Ykluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgICJIIiwgcmVjdC5taW5YKCkKICAgICAgICAg
XSwgdHgsIHR5KTsKICAgICB9Ci0gICAgCisKICAgICBfZHJhd092ZXJsYXBwaW5nTGluZXMocmVj
dHMpCiAgICAgewogICAgICAgICB2YXIgUEFERElORyA9IDI7CkBAIC0yMDgsMTAgKzIwOCwxMCBA
QCBXZWJJbnNwZWN0b3IuSG92ZXJNZW51ID0gY2xhc3MgSG92ZXJNZW51IGV4dGVuZHMgV2ViSW5z
cGVjdG9yLk9iamVjdAogICAgICAgICB2YXIgbWF4WSA9IHJlY3RzLmxhc3RWYWx1ZS5tYXhZKCkg
KyBQQURESU5HOwogICAgICAgICB2YXIgZmlyc3RMaW5lTWluWCA9IHJlY3RzWzBdLm1pblgoKSAt
IFBBRERJTkc7CiAgICAgICAgIHZhciBsYXN0TGluZU1heFggPSByZWN0cy5sYXN0VmFsdWUubWF4
WCgpICsgUEFERElORzsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGZpcnN0TGluZU1pblggPT09
IG1pblggJiYgbGFzdExpbmVNYXhYID09PSBtYXhYKQogICAgICAgICAgICAgcmV0dXJuIHRoaXMu
X2FkZFJlY3QobmV3IFdlYkluc3BlY3Rvci5SZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBt
YXhZIC0gbWluWSkpOwotICAgICAgICAKKwogICAgICAgICB2YXIgbGFzdExpbmVNaW5ZID0gcmVj
dHMubGFzdFZhbHVlLm1pblkoKSArIFBBRERJTkc7CiAgICAgICAgIGlmIChyZWN0c1swXS5taW5Y
KCkgPT09IG1pblggKyBQQURESU5HKSB7CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRkUGF0
aChbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDM5MTg2ZTIuLjM0NTY1ZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xv
Z0NvbnRlbnRWaWV3LmpzCkBAIC0yOTYsNyArMjk2LDcgQEAgV2ViSW5zcGVjdG9yLkxvZ0NvbnRl
bnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVu
dFYKICAgICB7CiAgICAgICAgIHZhciBtZXNzYWdlTGV2ZWw7CiAKLSAgICAgICAgc3dpdGNoKGxl
dmVsKSB7CisgICAgICAgIHN3aXRjaCAobGV2ZWwpIHsKICAgICAgICAgY2FzZSBXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxldmVsLldhcm5pbmc6CiAgICAgICAgICAgICBtZXNz
YWdlTGV2ZWwgPSBXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZpZXcuU2NvcGVzLldhcm5pbmdzOwog
ICAgICAgICAgICAgYnJlYWs7CkBAIC02ODAsNyArNjgwLDcgQEAgV2ViSW5zcGVjdG9yLkxvZ0Nv
bnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29u
dGVudFYKICAgICBfc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UoZXZlbnQpCiAgICAgewogICAg
ICAgICB2YXIgaXRlbSA9IHRoaXMuX3Njb3BlQmFyLnNlbGVjdGVkSXRlbXNbMF07Ci0gICAgICAg
IAorCiAgICAgICAgIGlmIChpdGVtLmlkID09PSBXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZpZXcu
U2NvcGVzLkFsbCkgewogICAgICAgICAgICAgZm9yICh2YXIgaXRlbSBvZiB0aGlzLl9zY29wZUJh
ci5pdGVtcykKICAgICAgICAgICAgICAgICBpdGVtLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgi
dW5yZWFkIik7CkBAIC04NTAsNiArODUwLDcgQEAgV2ViSW5zcGVjdG9yLkxvZ0NvbnRlbnRWaWV3
ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVudFYKICAg
ICAgICAgICAgIGlmICh0aGlzLl9pc01lc3NhZ2VWaXNpYmxlKG1lc3NhZ2VzW2ldKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gbWVzc2FnZXNbaV07CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IG51bGw7CiAgICAgfQogCiAgICAgX25leHRNZXNzYWdlKG1lc3NhZ2UpCkBAIC04NTksNiArODYw
LDcgQEAgV2ViSW5zcGVjdG9yLkxvZ0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcg
ZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVudFYKICAgICAgICAgICAgIGlmICh0aGlzLl9pc01l
c3NhZ2VWaXNpYmxlKG1lc3NhZ2VzW2ldKSkKICAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2Fn
ZXNbaV07CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgfQogCiAgICAgX2Ns
ZWFyRm9jdXNhYmxlQ2hpbGRyZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVPdmVy
dmlld0dyYXBoLmpzCmluZGV4IGFkN2VhNGQuLjE2OTFkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9N
ZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTM1LDcgKzM1LDcgQEAgV2ViSW5zcGVj
dG9yLk1lbW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIE1lbW9yeVRpbWVsaW5lT3Zl
cnZpZXdHcmFwaCBleHQKIAogICAgICAgICB0aGlzLl9tZW1vcnlUaW1lbGluZSA9IHRpbWVsaW5l
OwogICAgICAgICB0aGlzLl9tZW1vcnlUaW1lbGluZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhpcy5fbWVtb3J5VGltZWxpbmVSZWNv
cmRBZGRlZCwgdGhpcyk7Ci0gICAgICAgIHRoaXMuX21lbW9yeVRpbWVsaW5lLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5lLkV2ZW50Lk1lbW9yeVByZXNzdXJlRXZl
bnRBZGRlZCwgdGhpcy5fbWVtb3J5VGltZWxpbmVNZW1vcnlQcmVzc3VyZUV2ZW50QWRkZWQsIHRo
aXMpCisgICAgICAgIHRoaXMuX21lbW9yeVRpbWVsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLk1lbW9yeVRpbWVsaW5lLkV2ZW50Lk1lbW9yeVByZXNzdXJlRXZlbnRBZGRlZCwgdGhp
cy5fbWVtb3J5VGltZWxpbmVNZW1vcnlQcmVzc3VyZUV2ZW50QWRkZWQsIHRoaXMpOwogCiAgICAg
ICAgIHRoaXMuX2RpZEluaXRpYWxpemVDYXRlZ29yaWVzID0gZmFsc2U7CiAKQEAgLTk0LDggKzk0
LDYgQEAgV2ViSW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIE1l
bW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHQKICAgICAgICAgICAgIHRoaXMuX2NoYXJ0LnNp
emUgPSBuZXcgV2ViSW5zcGVjdG9yLlNpemUoZ3JhcGhXaWR0aCwgdGhpcy5oZWlnaHQpOwogCiAg
ICAgICAgIGxldCBncmFwaFN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lOwotICAgICAgICBsZXQg
Z3JhcGhFbmRUaW1lID0gdGhpcy5lbmRUaW1lOwotICAgICAgICBsZXQgZ3JhcGhDdXJyZW50VGlt
ZSA9IHRoaXMuY3VycmVudFRpbWU7CiAgICAgICAgIGxldCB2aXNpYmxlRW5kVGltZSA9IE1hdGgu
bWluKHRoaXMuZW5kVGltZSwgdGhpcy5jdXJyZW50VGltZSk7CiAKICAgICAgICAgbGV0IHNlY29u
ZHNQZXJQaXhlbCA9IHRoaXMudGltZWxpbmVPdmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlU
aW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9NZW1vcnlUaW1lbGluZVZpZXcuanMKaW5kZXggM2M5NTczOS4uNjdiYmM4NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxp
bmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L01lbW9yeVRpbWVsaW5lVmlldy5qcwpAQCAtMTc0LDcgKzE3NCw2IEBAIFdlYkluc3BlY3Rvci5N
ZW1vcnlUaW1lbGluZVZpZXcgPSBjbGFzcyBNZW1vcnlUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuCiAKICAgICAgICAgbGV0IGdyYXBoU3RhcnRUaW1lID0gdGhpcy5zdGFydFRpbWU7
CiAgICAgICAgIGxldCBncmFwaEVuZFRpbWUgPSB0aGlzLmVuZFRpbWU7Ci0gICAgICAgIGxldCBn
cmFwaEN1cnJlbnRUaW1lID0gdGhpcy5jdXJyZW50VGltZTsKICAgICAgICAgbGV0IHZpc2libGVF
bmRUaW1lID0gTWF0aC5taW4odGhpcy5lbmRUaW1lLCB0aGlzLmN1cnJlbnRUaW1lKTsKIAogICAg
ICAgICBsZXQgZGlzY29udGludWl0aWVzID0gdGhpcy5fcmVjb3JkaW5nLmRpc2NvbnRpbnVpdGll
c0luVGltZVJhbmdlKGdyYXBoU3RhcnRUaW1lLCB2aXNpYmxlRW5kVGltZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lk
ZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwppbmRleCBhYmI3OWE1Li45OTBlMmVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9u
U2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTU4OSw4ICs1ODksNiBAQCBXZWJJ
bnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIE5hdmlnYXRpb25TaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXZWJJbgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAK
LSAgICAgICAgbGV0IHNlbGVjdGlvbldhc0hpZGRlbiA9IHNlbGVjdGVkVHJlZUVsZW1lbnQgJiYg
c2VsZWN0ZWRUcmVlRWxlbWVudC5oaWRkZW47Ci0KICAgICAgICAgbGV0IGZpbHRlcnMgPSB0aGlz
Ll9maWx0ZXJCYXIuZmlsdGVyczsKICAgICAgICAgdGhpcy5fdGV4dEZpbHRlclJlZ2V4ID0gc2lt
cGxlR2xvYlN0cmluZ1RvUmVnRXhwKGZpbHRlcnMudGV4dCwgImkiKTsKICAgICAgICAgdGhpcy5f
ZmlsdGVyc1NldHRpbmcudmFsdWUgPSBmaWx0ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFw
aC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggYjQ0MTBjOS4uZWU3M2I2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC0xMTQsNyArMTE0
LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBO
ZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoIGUKICAgICAgICAgICAgIHJldHVybiBhLnN0YXJ0
VGltZSAtIGIuc3RhcnRUaW1lOwogICAgICAgICB9CiAKLSAgICAgICAgbGV0IG1pbmltdW1CYXJQ
YWRkaW5nVGltZSA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3Lk1pbmltdW1EdXJhdGlv
blBlclBpeGVsICogKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEJhci5NaW5pbXVtV2lkdGhQ
aXhlbHMgKyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRCYXIuTWluaW11bU1hcmdpblBpeGVs
cykKKyAgICAgICAgbGV0IG1pbmltdW1CYXJQYWRkaW5nVGltZSA9IFdlYkluc3BlY3Rvci5UaW1l
bGluZU92ZXJ2aWV3Lk1pbmltdW1EdXJhdGlvblBlclBpeGVsICogKFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZEJhci5NaW5pbXVtV2lkdGhQaXhlbHMgKyBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRCYXIuTWluaW11bU1hcmdpblBpeGVscyk7CiAKICAgICAgICAgLy8gVHJ5IHRvIGZpbmQg
YSByb3cgdGhhdCBoYXMgcm9vbSBhbmQgZG9lcyBub3Qgb3ZlcmxhcCBhIHByZXZpb3VzIHJlY29y
ZC4KICAgICAgICAgdmFyIGZvdW5kUm93Rm9yUmVjb3JkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXdUYWJDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ld1RhYkNv
bnRlbnRWaWV3LmpzCmluZGV4IDMzNzBiMDUuLjk0YmNmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ld1RhYkNvbnRlbnRWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ld1RhYkNvbnRl
bnRWaWV3LmpzCkBAIC0xMjQsNyArMTI0LDcgQEAgV2ViSW5zcGVjdG9yLk5ld1RhYkNvbnRlbnRW
aWV3ID0gY2xhc3MgTmV3VGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGEKICAg
ICAgICAgICAgIHJlZmVyZW5jZWRWaWV3OiB0aGlzLAogICAgICAgICAgICAgc2hvdWxkUmVwbGFj
ZVRhYjogIWNhbkNyZWF0ZUFkZGl0aW9uYWxUYWJzIHx8ICFXZWJJbnNwZWN0b3IubW9kaWZpZXJL
ZXlzLm1ldGFLZXksCiAgICAgICAgICAgICBzaG91bGRTaG93TmV3VGFiOiAhV2ViSW5zcGVjdG9y
Lm1vZGlmaWVyS2V5cy5tZXRhS2V5Ci0gICAgICAgIH0KKyAgICAgICAgfTsKICAgICAgICAgV2Vi
SW5zcGVjdG9yLmNyZWF0ZU5ld1RhYldpdGhUeXBlKHRhYlR5cGUsIG9wdGlvbnMpOwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
T2JqZWN0UHJldmlld1ZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9PYmplY3RQcmV2aWV3Vmlldy5qcwppbmRleCAyY2JhNzYxLi5kNzYzMWRjYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0
UHJldmlld1ZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvT2JqZWN0UHJldmlld1ZpZXcuanMKQEAgLTI3Myw3ICsyNzMsNiBAQCBXZWJJbnNwZWN0
b3IuT2JqZWN0UHJldmlld1ZpZXcgPSBjbGFzcyBPYmplY3RQcmV2aWV3VmlldyBleHRlbmRzIFdl
Ykluc3BlY3Rvci5PYgogICAgICAgICBldmVudC5fX2FkZGVkT2JqZWN0UHJldmlld0NvbnRleHRN
ZW51SXRlbXMgPSB0cnVlOwogCiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJMb2cgVmFsdWUiKSwgKCkgPT4gewotICAgICAgICAgICAgbGV0IHJl
bW90ZU9iamVjdCA9IHRoaXMuX3JlbW90ZU9iamVjdDsKICAgICAgICAgICAgIGxldCBpc0ltcG9z
c2libGUgPSAhdGhpcy5fcHJvcGVydHlQYXRoIHx8IHRoaXMuX3Byb3BlcnR5UGF0aC5pc0Z1bGxQ
YXRoSW1wb3NzaWJsZSgpOwogICAgICAgICAgICAgbGV0IHRleHQgPSBpc0ltcG9zc2libGUgPyBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGVjdGVkIFZhbHVlIikgOiB0aGlzLl9wcm9wZXJ0eVBh
dGguZGlzcGxheVBhdGgoV2ViSW5zcGVjdG9yLlByb3BlcnR5UGF0aC5UeXBlLlZhbHVlKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2Jq
ZWN0VHJlZUJhc2VUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVCYXNlVHJlZUVsZW1lbnQuanMKaW5kZXggMmE4N2ZhZi4u
ZDhhNzFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvT2JqZWN0VHJlZUJhc2VUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlQmFzZVRyZWVFbGVtZW50LmpzCkBA
IC0xOTQsNyArMTk0LDcgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVCYXNlVHJlZUVsZW1lbnQg
PSBjbGFzcyBPYmplY3RUcmVlQmFzZVRyZWVFbGVtZW50IGV4dGVuZHMKICAgICAgICAgICAgIHRo
aXMudHJlZU91dGxpbmUub2JqZWN0VHJlZUVsZW1lbnRBZGRDb250ZXh0TWVudUl0ZW1zKHRoaXMs
IGNvbnRleHRNZW51KTsKICAgICAgICAgICAgIGlmICghY29udGV4dE1lbnUuaXNFbXB0eSgpKQog
ICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOwotICAgICAgICB9
ICAgICAgICAgICAgIAorICAgICAgICB9CiAKICAgICAgICAgbGV0IHJlc29sdmVkVmFsdWUgPSB0
aGlzLnJlc29sdmVkVmFsdWUoKTsKICAgICAgICAgaWYgKCFyZXNvbHZlZFZhbHVlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0VHJl
ZU1hcEVudHJ5VHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9PYmplY3RUcmVlTWFwRW50cnlUcmVlRWxlbWVudC5qcwppbmRleCAwMzMzYzU4
Li4wZjUwNWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9PYmplY3RUcmVlTWFwRW50cnlUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlTWFwRW50cnlUcmVlRWxl
bWVudC5qcwpAQCAtMTEyLDcgKzExMiw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RUcmVlTWFwVmFs
dWVUcmVlRWxlbWVudCA9IGNsYXNzIE9iamVjdFRyZWVNYXBWYWx1ZVRyZWVFbGVtZW50CiAgICAg
ICAgIHN1cGVyKG9iamVjdCwgcHJvcGVydHlQYXRoKTsKIAogICAgICAgICB0aGlzLl9rZXkgPSBr
ZXk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMubWFpblRpdGxlID0gdGhpcy50aXRsZUZyYWdt
ZW50KCk7CiAKICAgICAgICAgdGhpcy5hZGRDbGFzc05hbWUoInZhbHVlIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVs
aW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092
ZXJ2aWV3VGltZWxpbmVWaWV3LmpzCmluZGV4IGM2NWJkMTAuLjFjYzg2YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxp
bmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzCkBAIC0yMDUsNyArMjA1LDcgQEAgV2ViSW5zcGVjdG9y
Lk92ZXJ2aWV3VGltZWxpbmVWaWV3ID0gY2xhc3MgT3ZlcnZpZXdUaW1lbGluZVZpZXcgZXh0ZW5k
cyBXZWJJbnNwZWMKIAogICAgICAgICBsZXQgcGFyZW50RnJhbWUgPSByZXNvdXJjZS5wYXJlbnRG
cmFtZTsKICAgICAgICAgaWYgKCFwYXJlbnRGcmFtZSkKLSAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIHJldHVybiBudWxsOwogCiAgICAgICAgIGxldCByZXNvdXJjZVRpbWVsaW5lUmVj
b3JkID0gdGhpcy5fbmV0d29ya1RpbWVsaW5lID8gdGhpcy5fbmV0d29ya1RpbWVsaW5lLnJlY29y
ZEZvclJlc291cmNlKHJlc291cmNlKSA6IG51bGw7CiAgICAgICAgIGlmICghcmVzb3VyY2VUaW1l
bGluZVJlY29yZCkKQEAgLTIzMSw3ICsyMzEsNyBAQCBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1l
bGluZVZpZXcgPSBjbGFzcyBPdmVydmlld1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlYwog
ICAgICAgICAgICAgcGFyZW50RGF0YUdyaWROb2RlID0gdGhpcy5fYWRkUmVzb3VyY2VUb0RhdGFH
cmlkSWZOZWVkZWQocGFyZW50UmVzb3VyY2UpOwogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQo
cGFyZW50RGF0YUdyaWROb2RlKTsKICAgICAgICAgICAgIGlmICghcGFyZW50RGF0YUdyaWROb2Rl
KQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsK
ICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX2luc2VydERhdGFHcmlkTm9kZShyZXNvdXJjZURh
dGFHcmlkTm9kZSwgcGFyZW50RGF0YUdyaWROb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1BvcG92ZXIuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qb3BvdmVyLmpzCmluZGV4IDE2ZTc4YmMuLjg3
NGI4ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1BvcG92ZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUG9wb3Zlci5qcwpAQCAtNTEzLDcgKzUxMyw3IEBAIFdlYkluc3BlY3Rvci5Qb3BvdmVy
ID0gY2xhc3MgUG9wb3ZlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKIAogICAgICAgICAv
LyBQcmV2ZW50IHRoZSBhcnJvdyBmcm9tIGJlaW5nIHBvc2l0aW9uZWQgYWdhaW5zdCBvbmUgb2Yg
dGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnMuCiAgICAgICAgIGxldCBhcnJvd1BhZGRpbmcg
PSBjb3JuZXJSYWRpdXMgKyBhcnJvd0hhbGZMZW5ndGg7Ci0gICAgICAgIGlmIChhbmNob3JFZGdl
ID09PSBXZWJJbnNwZWN0b3IuUmVjdEVkZ2UuTUlOX1kgfHxhbmNob3JFZGdlID09PSBXZWJJbnNw
ZWN0b3IuUmVjdEVkZ2UuTUFYX1kpCisgICAgICAgIGlmIChhbmNob3JFZGdlID09PSBXZWJJbnNw
ZWN0b3IuUmVjdEVkZ2UuTUlOX1kgfHwgYW5jaG9yRWRnZSA9PT0gV2ViSW5zcGVjdG9yLlJlY3RF
ZGdlLk1BWF9ZKQogICAgICAgICAgICAgYW5jaG9yUG9pbnQueCA9IE51bWJlci5jb25zdHJhaW4o
YW5jaG9yUG9pbnQueCwgYm91bmRzLm1pblgoKSArIGFycm93UGFkZGluZywgYm91bmRzLm1heFgo
KSAtIGFycm93UGFkZGluZyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFuY2hvclBvaW50
LnkgPSBOdW1iZXIuY29uc3RyYWluKGFuY2hvclBvaW50LnksIGJvdW5kcy5taW5ZKCkgKyBhcnJv
d1BhZGRpbmcsIGJvdW5kcy5tYXhZKCkgLSBhcnJvd1BhZGRpbmcpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREZXRhaWxzU2Vj
dGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2Jl
U2V0RGV0YWlsc1NlY3Rpb24uanMKaW5kZXggNWIyYmM3Ny4uNTI2YzE5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREZXRhaWxz
U2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Qcm9iZVNldERldGFpbHNTZWN0aW9uLmpzCkBAIC0xMzMsNyArMTMzLDcgQEAgV2ViSW5zcGVj
dG9yLlByb2JlU2V0RGV0YWlsc1NlY3Rpb24gPSBjbGFzcyBQcm9iZVNldERldGFpbHNTZWN0aW9u
IGV4dGVuZHMgV2ViSW4KICAgICAgICAgcG9wb3Zlci5wcmVzZW50KHRhcmdldCwgW1dlYkluc3Bl
Y3Rvci5SZWN0RWRnZS5NQVhfWSwgV2ViSW5zcGVjdG9yLlJlY3RFZGdlLk1JTl9ZLCBXZWJJbnNw
ZWN0b3IuUmVjdEVkZ2UuTUFYX1hdKTsKICAgICAgICAgcG9wb3Zlci53aW5kb3dSZXNpemVIYW5k
bGVyID0gKCkgPT4gewogICAgICAgICAgICAgbGV0IHRhcmdldCA9IFdlYkluc3BlY3Rvci5SZWN0
LnJlY3RGcm9tQ2xpZW50UmVjdChldmVudC50YXJnZXQuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKSk7Ci0gICAgICAgICAgICBwb3BvdmVyLnByZXNlbnQodGFyZ2V0LCBbV2ViSW5zcGVj
dG9yLlJlY3RFZGdlLk1BWF9ZLCBXZWJJbnNwZWN0b3IuUmVjdEVkZ2UuTUlOX1ksIFdlYkluc3Bl
Y3Rvci5SZWN0RWRnZS5NQVhfWF0pOyAgICAgICAgICAgIAorICAgICAgICAgICAgcG9wb3Zlci5w
cmVzZW50KHRhcmdldCwgW1dlYkluc3BlY3Rvci5SZWN0RWRnZS5NQVhfWSwgV2ViSW5zcGVjdG9y
LlJlY3RFZGdlLk1JTl9ZLCBXZWJJbnNwZWN0b3IuUmVjdEVkZ2UuTUFYX1hdKTsKICAgICAgICAg
fTsKICAgICAgICAgdGV4dEJveC5zZWxlY3QoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlRGF0YUdyaWROb2RlLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmlsZURhdGFH
cmlkTm9kZS5qcwppbmRleCAyZjBhNDEzLi5mNDgwODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlRGF0YUdyaWROb2RlLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVEYXRh
R3JpZE5vZGUuanMKQEAgLTE3NCw4ICsxNzQsOCBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZURhdGFH
cmlkTm9kZSA9IGNsYXNzIFByb2ZpbGVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBXZWJJbnNwZWN0bwog
ICAgICAgICAgICAgICAgIGZvciAobGV0IHt0eXBlLCBzb3VyY2V9IG9mIHRoaXMuX3RyZWUubW9k
aWZpZXJzKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBXZWJJbnNwZWN0b3Iu
UHJvZmlsZURhdGFHcmlkVHJlZS5Nb2RpZmllclR5cGUuQ2hhcmdlVG9DYWxsZXIpIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC5lcXVhbHMoc291cmNlKSkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoaWxkcmVuVG9DaGFyZ2VUb1NlbGYuYWRkKGNoaWxk
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fZXh0cmFTZWxmVGltZUZyb21DaGFyZ2VkQ2hpbGRyZW4gKz0gY2hpbGQuZmlsdGVy
ZWRUaW1lc3RhbXBzQW5kRHVyYXRpb24odGhpcy5fdHJlZS5zdGFydFRpbWUsIHRoaXMuX3RyZWUu
ZW5kVGltZSkuZHVyYXRpb247ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoaWxkcmVuVG9DaGFyZ2VUb1NlbGYuYWRkKGNoaWxk
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9leHRyYVNlbGZUaW1lRnJvbUNo
YXJnZWRDaGlsZHJlbiArPSBjaGlsZC5maWx0ZXJlZFRpbWVzdGFtcHNBbmREdXJhdGlvbih0aGlz
Ll90cmVlLnN0YXJ0VGltZSwgdGhpcy5fdHJlZS5lbmRUaW1lKS5kdXJhdGlvbjsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgfQpAQCAtMjY2LDQgKzI2Niw0IEBAIFdlYkluc3BlY3Rvci5Q
cm9maWxlRGF0YUdyaWROb2RlID0gY2xhc3MgUHJvZmlsZURhdGFHcmlkTm9kZSBleHRlbmRzIFdl
Ykluc3BlY3RvCiAKICAgICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3B1bGF0ZSIs
IHRoaXMuX3BvcHVsYXRlLCB0aGlzKTsKICAgICB9Ci19Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmlsZURhdGFHcmlkVHJlZS5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVEYXRh
R3JpZFRyZWUuanMKaW5kZXggZDQ4YTlhZS4uMTY1NjU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmlsZURhdGFHcmlkVHJlZS5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlRGF0
YUdyaWRUcmVlLmpzCkBAIC01MCwxMSArNTAsMTEgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVEYXRh
R3JpZFRyZWUgPSBjbGFzcyBQcm9maWxlRGF0YUdyaWRUcmVlIGV4dGVuZHMgV2ViSW5zcGVjdG8K
IAogICAgIHN0YXRpYyBidWlsZFNvcnRDb21wYXJhdG9yKGNvbHVtbklkZW50aWZpZXIsIHNvcnRP
cmRlcikKICAgICB7Ci0gICAgICAgIGxldCBhc2NlbmRpbmcgPSBzb3J0T3JkZXIgPT0gV2ViSW5z
cGVjdG9yLkRhdGFHcmlkLlNvcnRPcmRlci5Bc2NlbmRpbmc7CisgICAgICAgIGxldCBhc2NlbmRp
bmcgPSBzb3J0T3JkZXIgPT09IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIuQXNjZW5k
aW5nOwogICAgICAgICByZXR1cm4gZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICAgbGV0IHJl
c3VsdCA9IGEuZGF0YVtjb2x1bW5JZGVudGlmaWVyXSAtIGIuZGF0YVtjb2x1bW5JZGVudGlmaWVy
XTsKICAgICAgICAgICAgIHJldHVybiBhc2NlbmRpbmcgPyByZXN1bHQgOiAtcmVzdWx0OwotICAg
ICAgICB9CisgICAgICAgIH07CiAgICAgfQogCiAgICAgLy8gUHVibGljCkBAIC0yNzksNyArMjc5
LDcgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVEYXRhR3JpZFRyZWUgPSBjbGFzcyBQcm9maWxlRGF0
YUdyaWRUcmVlIGV4dGVuZHMgV2ViSW5zcGVjdG8KICAgICB7CiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Qcm9maWxlRGF0YUdyaWRUcmVlLkV2ZW50
Lk1vZGlmaWVyc0NoYW5nZWQpOwogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5Qcm9maWxl
RGF0YUdyaWRUcmVlLkV2ZW50ID0gewogICAgIEZvY3VzQ2hhbmdlZDogInByb2ZpbGUtZGF0YS1n
cmlkLXRyZWUtZm9jdXMtY2hhbmdlZCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVWaWV3LmpzCmluZGV4IDIyZjM5OGMuLmI2
YTUwM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1Byb2ZpbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1Byb2ZpbGVWaWV3LmpzCkBAIC0xMDIsNyArMTAyLDcgQEAgV2ViSW5zcGVjdG9y
LlByb2ZpbGVWaWV3ID0gY2xhc3MgUHJvZmlsZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29u
dGVudFZpZXcKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fcHJvZmlsZURhdGFHcmlkVHJlZSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGVE
YXRhR3JpZFRyZWUuZm9jdXNOb2Rlcy5sZW5ndGggPiAwCisgICAgICAgIHJldHVybiB0aGlzLl9w
cm9maWxlRGF0YUdyaWRUcmVlLmZvY3VzTm9kZXMubGVuZ3RoID4gMDsKICAgICB9CiAKICAgICBj
bGVhckZvY3VzTm9kZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcwppbmRleCA2
YjVlMDg4Li44ZjNmNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcwpAQCAt
NjgsNyArNjgsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFyUGFuZWwgPSBjbGFzcyBS
ZXNvdXJjZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgICAgIGlmIChXZWJJ
bnNwZWN0b3IuZGVidWdnYWJsZVR5cGUgPT09IFdlYkluc3BlY3Rvci5EZWJ1Z2dhYmxlVHlwZS5K
YXZhU2NyaXB0KSB7CiAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5kaXNjbG9z
dXJlQnV0dG9ucyA9IGZhbHNlOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU291cmNlQ29kZS5FdmVudC5Tb3VyY2VNYXBB
ZGRlZCwgKCkgPT4geyB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5kaXNjbG9zdXJlQnV0dG9ucyA9
IHRydWUgfSwgdGhpcyk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuU291cmNlQ29kZS5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlLkV2ZW50LlNvdXJjZU1hcEFkZGVk
LCAoKSA9PiB7IHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmRpc2Nsb3N1cmVCdXR0b25zID0gdHJ1
ZTsgfSwgdGhpcyk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmZyYW1l
UmVzb3VyY2VNYW5hZ2VyLm1haW5GcmFtZSkKQEAgLTMzMSw3ICszMzEsNyBAQCBXZWJJbnNwZWN0
b3IuUmVzb3VyY2VTaWRlYmFyUGFuZWwgPSBjbGFzcyBSZXNvdXJjZVNpZGViYXJQYW5lbCBleHRl
bmRzIFdlYkluc3BlYwogICAgIHsKICAgICAgICAgY29uc3Qgc3VwcHJlc3NPbkRlc2VsZWN0ID0g
dHJ1ZTsKICAgICAgICAgY29uc3Qgc3VwcHJlc3NTZWxlY3RTaWJsaW5nID0gdHJ1ZTsKLSAgICAg
ICAgCisKICAgICAgICAgaWYgKHRoaXMuX2V4dGVuc2lvblNjcmlwdHNGb2xkZXJUcmVlRWxlbWVu
dCkgewogICAgICAgICAgICAgaWYgKHRoaXMuX2V4dGVuc2lvblNjcmlwdHNGb2xkZXJUcmVlRWxl
bWVudC5wYXJlbnQpCiAgICAgICAgICAgICAgICAgdGhpcy5fZXh0ZW5zaW9uU2NyaXB0c0ZvbGRl
clRyZWVFbGVtZW50LnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzLl9leHRlbnNpb25TY3JpcHRzRm9s
ZGVyVHJlZUVsZW1lbnQsIHN1cHByZXNzT25EZXNlbGVjdCwgc3VwcHJlc3NTZWxlY3RTaWJsaW5n
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1J1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SdWxlc1N0eWxlRGV0YWlsc1BhbmVsLmpzCmluZGV4IDNjOGRiYWQuLjA0
OThiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1J1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUnVsZXNTdHlsZURldGFpbHNQYW5lbC5qcwpAQCAtMzcwLDcg
KzM3MCw3IEBAIFdlYkluc3BlY3Rvci5SdWxlc1N0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgUnVs
ZXNTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYkluCiAgICAgICAgICAgICAgICAgICAgICAg
ICBsYWJlbC5jbGFzc0xpc3QucmVtb3ZlKFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRl
YmFyUGFuZWwuTm9GaWx0ZXJNYXRjaEluU2VjdGlvbkNsYXNzTmFtZSk7CiAgICAgICAgICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24uZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuRmlsdGVyTWF0Y2hp
bmdTZWN0aW9uSGFzTGFiZWxDbGFzc05hbWUpOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAg
ICAgICAgICAgbWF0Y2hGb3VuZCA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njb3Bl
UmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Njb3BlUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5qcwppbmRleCA2
ZmRlN2RiLi5mMGMzMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY29wZVJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVSYWRpb0J1dHRvbk5h
dmlnYXRpb25JdGVtLmpzCkBAIC04Nyw3ICs4Nyw3IEBAIFdlYkluc3BlY3Rvci5TY29wZVJhZGlv
QnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBjbGFzcyBTY29wZVJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0
CiAgICAgICAgIHRoaXMuX2VsZW1lbnQudGl0bGUgPSBzZWxlY3RlZEl0ZW1JZGVudGlmaWVyLmxh
YmVsOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
U2NvcGVSYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LlNlbGVjdGVkSXRlbUNoYW5nZWQp
OwogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5TY29wZVJhZGlvQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uRXZlbnQgPSB7CiAgICAgU2VsZWN0ZWRJdGVtQ2hhbmdlZDogInNjb3BlLXJhZGlvLWJ1
dHRvbi1uYXZpZ2F0aW9uLWl0ZW0tc2VsZWN0ZWQtaXRlbS1jaGFuZ2VkIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0Q2x1c3RlclRp
bWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NjcmlwdENsdXN0ZXJUaW1lbGluZVZpZXcuanMKaW5kZXggYWQyM2FhYS4uOGM0NmQ5MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
Q2x1c3RlclRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY3JpcHRDbHVzdGVyVGltZWxpbmVWaWV3LmpzCkBAIC01NSw3ICs1NSw3
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRDbHVzdGVyVGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0
Q2x1c3RlclRpbWVsaW5lVmlldyBleHRlbmRzCiAKICAgICAgICAgdGhpcy5fc2hvd0NvbnRlbnRW
aWV3Rm9ySWRlbnRpZmllcih0aGlzLl9jdXJyZW50Q29udGVudFZpZXdTZXR0aW5nLnZhbHVlKTsK
IAotICAgICAgICB0aGlzLmNvbnRlbnRWaWV3Q29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLkNvbnRlbnRWaWV3Q29udGFpbmVyLkV2ZW50LkN1cnJlbnRDb250ZW50Vmlld0Rp
ZENoYW5nZSwgdGhpcy5fc2NyaXB0Q2x1c3RlclZpZXdDdXJyZW50Q29udGVudFZpZXdEaWRDaGFu
Z2UsIHRoaXMpCisgICAgICAgIHRoaXMuY29udGVudFZpZXdDb250YWluZXIuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3VycmVudENvbnRl
bnRWaWV3RGlkQ2hhbmdlLCB0aGlzLl9zY3JpcHRDbHVzdGVyVmlld0N1cnJlbnRDb250ZW50Vmll
d0RpZENoYW5nZSwgdGhpcyk7CiAgICAgfQogCiAgICAgLy8gVGltZWxpbmVWaWV3CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRh
aWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcwppbmRleCA2YWEwMWM4Li4wMTZjZmM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
Y3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKQEAgLTEyOCwx
MCArMTI4LDYgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcgPSBjbGFz
cyBTY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3IGV4dGVuZHMKICAgICAgICAgICAgIGlmIChkYXRh
R3JpZE5vZGUuaGlkZGVuKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogCi0gICAgICAg
ICAgICBsZXQgcmVwcmVzZW50ZWRPYmplY3QgPSBudWxsOwotICAgICAgICAgICAgaWYgKGRhdGFH
cmlkTm9kZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZSkK
LSAgICAgICAgICAgICAgICByZXByZXNlbnRlZE9iamVjdCA9IGRhdGFHcmlkTm9kZS5wcm9maWxl
Tm9kZTsKLQogICAgICAgICAgICAgbGV0IHBhdGhDb21wb25lbnQgPSBuZXcgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lRGF0YUdyaWROb2RlUGF0aENvbXBvbmVudChkYXRhR3JpZE5vZGUpOwogICAgICAg
ICAgICAgcGF0aENvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5IaWVyYXJj
aGljYWxQYXRoQ29tcG9uZW50LkV2ZW50LlNpYmxpbmdXYXNTZWxlY3RlZCwgdGhpcy5kYXRhR3Jp
ZE5vZGVQYXRoQ29tcG9uZW50U2VsZWN0ZWQsIHRoaXMpOwogICAgICAgICAgICAgcGF0aENvbXBv
bmVudHMudW5zaGlmdChwYXRoQ29tcG9uZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFByb2ZpbGVUaW1lbGluZVZpZXcuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRQcm9maWxl
VGltZWxpbmVWaWV3LmpzCmluZGV4IGI2NjY3MDUuLjJjN2JiYTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFByb2ZpbGVUaW1lbGlu
ZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0UHJvZmlsZVRpbWVsaW5lVmlldy5qcwpAQCAtNTcsMTQgKzU3LDE0IEBAIFdlYkluc3Bl
Y3Rvci5TY3JpcHRQcm9maWxlVGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0UHJvZmlsZVRpbWVs
aW5lVmlldyBleHRlbmRzCiAKICAgICAgICAgdGhpcy5fcHJvZmlsZU9yaWVudGF0aW9uQnV0dG9u
ID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0VG9nZ2xlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInByb2Zp
bGUtb3JpZW50YXRpb24iLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkludmVydGVkIikpOwogICAg
ICAgICB0aGlzLl9wcm9maWxlT3JpZW50YXRpb25CdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fcHJvZmls
ZU9yaWVudGF0aW9uQnV0dG9uQ2xpY2tlZCwgdGhpcyk7Ci0gICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuU2NyaXB0UHJvZmlsZVRpbWVsaW5lVmlldy5wcm9maWxlT3JpZW50YXRpb25TZXR0aW5nLnZh
bHVlID09IFdlYkluc3BlY3Rvci5TY3JpcHRQcm9maWxlVGltZWxpbmVWaWV3LlByb2ZpbGVPcmll
bnRhdGlvbi5Ub3BEb3duKQorICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLlNjcmlwdFByb2ZpbGVU
aW1lbGluZVZpZXcucHJvZmlsZU9yaWVudGF0aW9uU2V0dGluZy52YWx1ZSA9PT0gV2ViSW5zcGVj
dG9yLlNjcmlwdFByb2ZpbGVUaW1lbGluZVZpZXcuUHJvZmlsZU9yaWVudGF0aW9uLlRvcERvd24p
CiAgICAgICAgICAgICB0aGlzLl9wcm9maWxlT3JpZW50YXRpb25CdXR0b24uYWN0aXZhdGVkID0g
ZmFsc2U7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRoaXMuX3Byb2ZpbGVPcmllbnRhdGlv
bkJ1dHRvbi5hY3RpdmF0ZWQgPSB0cnVlOwogCiAgICAgICAgIHRoaXMuX3RvcEZ1bmN0aW9uc0J1
dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFRvZ2dsZUJ1dHRvbk5hdmlnYXRpb25JdGVtKCJ0
b3AtZnVuY3Rpb25zIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb3AgRnVuY3Rpb25zIikpOwog
ICAgICAgICB0aGlzLl90b3BGdW5jdGlvbnNCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9wRnVuY3Rp
b25zQnV0dG9uQ2xpY2tlZCwgdGhpcyk7Ci0gICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU2NyaXB0
UHJvZmlsZVRpbWVsaW5lVmlldy5wcm9maWxlVHlwZVNldHRpbmcudmFsdWUgPT0gV2ViSW5zcGVj
dG9yLlNjcmlwdFByb2ZpbGVUaW1lbGluZVZpZXcuUHJvZmlsZVZpZXdUeXBlLkhpZXJhcmNoeSkK
KyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5TY3JpcHRQcm9maWxlVGltZWxpbmVWaWV3LnByb2Zp
bGVUeXBlU2V0dGluZy52YWx1ZSA9PT0gV2ViSW5zcGVjdG9yLlNjcmlwdFByb2ZpbGVUaW1lbGlu
ZVZpZXcuUHJvZmlsZVZpZXdUeXBlLkhpZXJhcmNoeSkKICAgICAgICAgICAgIHRoaXMuX3RvcEZ1
bmN0aW9uc0J1dHRvbi5hY3RpdmF0ZWQgPSBmYWxzZTsKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgdGhpcy5fdG9wRnVuY3Rpb25zQnV0dG9uLmFjdGl2YXRlZCA9IHRydWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdGFja2VkTGluZUNo
YXJ0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3RhY2tl
ZExpbmVDaGFydC5qcwppbmRleCBlNDg4ODMwLi4zNWRlZmVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdGFja2VkTGluZUNoYXJ0LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0YWNrZWRMaW5l
Q2hhcnQuanMKQEAgLTg3LDcgKzg3LDcgQEAgV2ViSW5zcGVjdG9yLlN0YWNrZWRMaW5lQ2hhcnQg
PSBjbGFzcyBTdGFja2VkTGluZUNoYXJ0CiAgICAgaW5pdGlhbGl6ZVNlY3Rpb25zKHNlY3Rpb25D
bGFzc05hbWVzKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX3BhdGhFbGVt
ZW50cy5sZW5ndGgsICJTaG91bGQgbm90IGluaXRpYWxpemUgbXVsdGlwbGUgdGltZXMiKTsKLSAg
ICAgICAgCisKICAgICAgICAgc2VjdGlvbkNsYXNzTmFtZXMucmV2ZXJzZSgpOwogCiAgICAgICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgc2VjdGlvbkNsYXNzTmFtZXMubGVuZ3RoOyArK2kpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0b3Jh
Z2VTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TdG9yYWdlU2lkZWJhclBhbmVsLmpzCmluZGV4IGIzOTAxMWIuLjJiZWZlOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0b3JhZ2VT
aWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU3RvcmFnZVNpZGViYXJQYW5lbC5qcwpAQCAtMTg5LDcgKzE4OSw2IEBAIFdlYkluc3Bl
Y3Rvci5TdG9yYWdlU2lkZWJhclBhbmVsID0gY2xhc3MgU3RvcmFnZVNpZGViYXJQYW5lbCBleHRl
bmRzIFdlYkluc3BlY3RvCiAKICAgICBfZG9tU3RvcmFnZU9iamVjdFdhc0FkZGVkKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSBldmVudC5kYXRhLmRvbVN0b3JhZ2U7CiAg
ICAgICAgIHRoaXMuX2FkZERPTVN0b3JhZ2VPYmplY3QoZXZlbnQuZGF0YS5kb21TdG9yYWdlKTsK
ICAgICB9CiAKQEAgLTIxMiw3ICsyMTEsNiBAQCBXZWJJbnNwZWN0b3IuU3RvcmFnZVNpZGViYXJQ
YW5lbCA9IGNsYXNzIFN0b3JhZ2VTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWN0bwogCiAg
ICAgX2RhdGFiYXNlV2FzQWRkZWQoZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgZGF0YWJhc2Ug
PSBldmVudC5kYXRhLmRhdGFiYXNlOwogICAgICAgICB0aGlzLl9hZGREYXRhYmFzZShldmVudC5k
YXRhLmRhdGFiYXNlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzCmluZGV4IDMzYTcyMjUuLjRlZTZj
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RhYkJyb3dzZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGFiQnJvd3Nlci5qcwpAQCAtNDksMTMgKzQ5LDEzIEBAIFdlYkluc3BlY3Rvci5UYWJC
cm93c2VyID0gY2xhc3MgVGFiQnJvd3NlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAg
ICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyID0gbmV3IFdlYkluc3BlY3Rvci5Db250ZW50
Vmlld0NvbnRhaW5lcjsKICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2NvbnRlbnRWaWV3
Q29udGFpbmVyKTsKIAotICAgICAgICBsZXQgc2hvd05leHRUYWIgPSAoKSA9PiB7IHRoaXMuX3No
b3dOZXh0VGFiKCk7IH0KLSAgICAgICAgbGV0IHNob3dQcmV2aW91c1RhYiA9ICgpID0+IHsgdGhp
cy5fc2hvd1ByZXZpb3VzVGFiKCk7IH0KKyAgICAgICAgbGV0IHNob3dOZXh0VGFiID0gKCkgPT4g
eyB0aGlzLl9zaG93TmV4dFRhYigpOyB9OworICAgICAgICBsZXQgc2hvd1ByZXZpb3VzVGFiID0g
KCkgPT4geyB0aGlzLl9zaG93UHJldmlvdXNUYWIoKTsgfTsKICAgICAgICAgbGV0IGNsb3NlQ3Vy
cmVudFRhYiA9ICgpID0+IHsKICAgICAgICAgICAgIGxldCBzZWxlY3RlZFRhYkJhckl0ZW0gPSB0
aGlzLl90YWJCYXIuc2VsZWN0ZWRUYWJCYXJJdGVtOwogICAgICAgICAgICAgaWYgKHRoaXMuX3Rh
YkJhci50YWJCYXJJdGVtcy5sZW5ndGggPiAyIHx8ICFzZWxlY3RlZFRhYkJhckl0ZW0uaXNEZWZh
dWx0VGFiKQogICAgICAgICAgICAgICAgIHRoaXMuX3RhYkJhci5yZW1vdmVUYWJCYXJJdGVtKHNl
bGVjdGVkVGFiQmFySXRlbSk7Ci0gICAgICAgIH0KKyAgICAgICAgfTsKIAogICAgICAgICB0aGlz
Ll9jbG9zZUN1cnJlbnRUYWJLZXlib2FyZFNob3J0dWN0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1h
bmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlm
dCwgIlciLCBjbG9zZUN1cnJlbnRUYWIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcwppbmRleCAzMjMyNzMzLi4x
Nzg4NmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKQEAgLTgyNiw3ICs4MjYsNyBAQCBXZWJJbnNwZWN0b3Iu
VGV4dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwog
ICAgIF91cGRhdGVBZnRlckZvcm1hdHRpbmcocHJldHR5LCBiZWZvcmVQcmV0dHlQcmludFN0YXRl
KQogICAgIHsKICAgICAgICAgbGV0IG9sZFNlbGVjdGlvbkFuY2hvciA9IGJlZm9yZVByZXR0eVBy
aW50U3RhdGUuc2VsZWN0aW9uQW5jaG9yOwotICAgICAgICBsZXQgb2xkU2VsZWN0aW9uSGVhZCA9
IGJlZm9yZVByZXR0eVByaW50U3RhdGUuc2VsZWN0aW9uSGVhZDsgICAgICAgIAorICAgICAgICBs
ZXQgb2xkU2VsZWN0aW9uSGVhZCA9IGJlZm9yZVByZXR0eVByaW50U3RhdGUuc2VsZWN0aW9uSGVh
ZDsKICAgICAgICAgbGV0IG5ld1NlbGVjdGlvbkFuY2hvciwgbmV3U2VsZWN0aW9uSGVhZDsKICAg
ICAgICAgbGV0IG5ld0V4ZWN1dGlvbkxvY2F0aW9uID0gbnVsbDsKIApAQCAtODkxLDcgKzg5MSw3
IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yID0gY2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdl
Ykluc3BlY3Rvci5WaWV3CiAgICAgICAgICAgICB0aGlzLnNlYXJjaENsZWFyZWQoKTsKICAgICAg
ICAgICAgIC8vIFNldCB0aW1lb3V0IHNvIHRoYXQgdGhpcyBoYXBwZW5zIGFmdGVyIHRoZSBjdXJy
ZW50IENvZGVNaXJyb3Igb3BlcmF0aW9uLgogICAgICAgICAgICAgLy8gVGhlIGVkaXRvciBoYXMg
dG8gdXBkYXRlIGZvciB0aGUgdmFsdWUgYW5kIHNlbGVjdGlvbiBjaGFuZ2VzLgotICAgICAgICAg
ICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMucGVyZm9ybVNlYXJjaChzZWFyY2hRdWVyeSkgfSwg
MCk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5wZXJmb3JtU2VhcmNoKHNl
YXJjaFF1ZXJ5KTsgfSwgMCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAodGhpcy5fZGVsZWdh
dGUgJiYgdHlwZW9mIHRoaXMuX2RlbGVnYXRlLnRleHRFZGl0b3JVcGRhdGVkRm9ybWF0dGluZyA9
PT0gImZ1bmN0aW9uIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5kZXggMzZj
Y2U1Yi4uYjAzYmFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTQ0
LDcgKzQ0LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgVGlt
ZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgIGdldCByZWNvcmQoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMucmVjb3JkcyAmJiB0aGlzLnJlY29yZHMubGVuZ3Ro
ID8gdGhpcy5yZWNvcmRzWzBdIDogbnVsbDs7CisgICAgICAgIHJldHVybiB0aGlzLnJlY29yZHMg
JiYgdGhpcy5yZWNvcmRzLmxlbmd0aCA/IHRoaXMucmVjb3Jkc1swXSA6IG51bGw7CiAgICAgfQog
CiAgICAgZ2V0IHJlY29yZHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKaW5kZXggZTY0OTU5
My4uOGU3OWZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCkBAIC0xMDYsNyArMTA2LDcg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgdGhpcy5fY2FjaGVkU2Nyb2xsQ29u
dGFpbmVyV2lkdGggPSBOYU47CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXJTZWxlY3Rpb25D
aGFuZ2VkID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX3ZpZXdNb2RlID0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuVGltZWxpbmVzOwotICAgICAgICB0aGlzLl9zZWxlY3Rl
ZFRpbWVsaW5lID0gbnVsbDs7CisgICAgICAgIHRoaXMuX3NlbGVjdGVkVGltZWxpbmUgPSBudWxs
OwogCiAgICAgICAgIGZvciAobGV0IGluc3RydW1lbnQgb2YgdGhpcy5fcmVjb3JkaW5nLmluc3Ry
dW1lbnRzKQogICAgICAgICAgICAgdGhpcy5faW5zdHJ1bWVudEFkZGVkKGluc3RydW1lbnQpOwpA
QCAtNTkwLDcgKzU5MCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3Mg
VGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgX2hhbmRsZUdl
c3R1cmVDaGFuZ2UoZXZlbnQpCiAgICAgewogICAgICAgICAvLyBDYXAgem9vbWluZyBvdXQgYXQg
NXguCi0gICAgICAgIGxldCBzY2FsZSA9IE1hdGgubWF4KDEvNSwgZXZlbnQuc2NhbGUpOworICAg
ICAgICBsZXQgc2NhbGUgPSBNYXRoLm1heCgxIC8gNSwgZXZlbnQuc2NhbGUpOwogCiAgICAgICAg
IGxldCBtb3VzZU9mZnNldCA9IGV2ZW50LnBhZ2VYIC0gdGhpcy5lbGVtZW50LnRvdGFsT2Zmc2V0
TGVmdDsKICAgICAgICAgbGV0IG5ld1NlY29uZHNQZXJQaXhlbCA9IHRoaXMuX2dlc3R1cmVTdGFy
dER1cmF0aW9uUGVyUGl4ZWwgLyBzY2FsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpz
CmluZGV4IDgzMzU4ODcuLjE1NDMwYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5q
cwpAQCAtOTYsNyArOTYsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZSA9IGNs
YXNzIFRpbWVsaW5lUmVjb3JkRnJhbWUgZXh0ZW5kcyBXZWJJbnNwZWN0bwogCiAgICAgICAgIHRo
aXMuX2VsZW1lbnQuc3R5bGUud2lkdGggPSAoMSAvIGdyYXBoRGF0YVNvdXJjZS50aW1lbGluZU92
ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbCkgKyAicHgiOwogCi0gICAgICAgIHZhciBncmFwaER1cmF0
aW9uID0gZ3JhcGhEYXRhU291cmNlLmVuZFRpbWUgLSBncmFwaERhdGFTb3VyY2Uuc3RhcnRUaW1l
CisgICAgICAgIHZhciBncmFwaER1cmF0aW9uID0gZ3JhcGhEYXRhU291cmNlLmVuZFRpbWUgLSBn
cmFwaERhdGFTb3VyY2Uuc3RhcnRUaW1lOwogICAgICAgICB2YXIgcmVjb3JkTGVmdFBvc2l0aW9u
ID0gKGZyYW1lSW5kZXggLSBncmFwaERhdGFTb3VyY2Uuc3RhcnRUaW1lKSAvIGdyYXBoRHVyYXRp
b247CiAgICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlvbih0aGlzLl9lbGVtZW50LCBy
ZWNvcmRMZWZ0UG9zaXRpb24sICJsZWZ0Iik7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUNoaWxkRWxl
bWVudHMoZ3JhcGhEYXRhU291cmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3LmpzCmluZGV4IDUwNDk5MTIuLmU4MDRiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwpAQCAtMzA3LDcgKzMwNyw3IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50VmlldyBlCiAgICAgICAgIGlmIChzZWxlY3RlZFBhdGhDb21wb25lbnQg
PT09IHRoaXMuX3NlbGVjdGVkVGltZVJhbmdlUGF0aENvbXBvbmVudCkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBsZXQgdGltZWxpbmVSdWxlciA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZp
ZXcudGltZWxpbmVSdWxlcgorICAgICAgICBsZXQgdGltZWxpbmVSdWxlciA9IHRoaXMuX3RpbWVs
aW5lT3ZlcnZpZXcudGltZWxpbmVSdWxlcjsKICAgICAgICAgaWYgKHNlbGVjdGVkUGF0aENvbXBv
bmVudCA9PT0gdGhpcy5fZW50aXJlUmVjb3JkaW5nUGF0aENvbXBvbmVudCkKICAgICAgICAgICAg
IHRpbWVsaW5lUnVsZXIuc2VsZWN0RW50aXJlUmFuZ2UoKTsKICAgICAgICAgZWxzZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZVRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qcwppbmRleCA3ZmJkMzllLi5jYTYxNjc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZVRhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKQEAgLTQzNSw3ICs0MzUsNyBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVUYWJDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lVGFi
Q29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbgogCiAgICAgX3JlY29yZGluZ0NyZWF0ZWQoZXZlbnQp
CiAgICAgewotICAgICAgICB0aGlzLl9hZGRSZWNvcmRpbmcoZXZlbnQuZGF0YS5yZWNvcmRpbmcp
CisgICAgICAgIHRoaXMuX2FkZFJlY29yZGluZyhldmVudC5kYXRhLnJlY29yZGluZyk7CiAgICAg
ICAgIHRoaXMuX3JlY29yZGluZ0NvdW50Q2hhbmdlZCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5q
cwppbmRleCA5OWYzZjdmLi5kNmE1MmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcwpAQCAtMzI1LDcgKzMy
NSw2IEBAIFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB9CiAKICAgICAgICAgZm9yIChsZXQgY2hp
bGQgb2YgY2hpbGRyZW5Ub1JlbW92ZSkgewotICAgICAgICAgICAgY2hpbGQgPSBjaGlsZHJlblRv
UmVtb3ZlW2ldOwogICAgICAgICAgICAgY2hpbGQuZGVzZWxlY3Qoc3VwcHJlc3NPbkRlc2VsZWN0
KTsKIAogICAgICAgICAgICAgbGV0IHRyZWVPdXRsaW5lID0gY2hpbGQudHJlZU91dGxpbmU7CkBA
IC0zNjMsNyArMzYyLDcgQEAgV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91
dGxpbmUgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgX2ZvcmdldFRyZWVFbGVtZW50
KGVsZW1lbnQpCiAgICAgewogICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50ID09
PSBlbGVtZW50KSB7Ci0gICAgICAgICAgICBlbGVtZW50LmRlc2VsZWN0KHRydWUpCisgICAgICAg
ICAgICBlbGVtZW50LmRlc2VsZWN0KHRydWUpOwogICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRy
ZWVFbGVtZW50ID0gbnVsbDsKICAgICAgICAgfQogICAgICAgICBpZiAodGhpcy5fa25vd25UcmVl
RWxlbWVudHNbZWxlbWVudC5pZGVudGlmaWVyXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlQ29tbWFTZXBhcmF0ZWRLZXl3
b3JkRWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VmlzdWFsU3R5bGVDb21tYVNlcGFyYXRlZEtleXdvcmRFZGl0b3IuanMKaW5kZXggOWI0NTQ1OC4u
NmZjOTYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVmlzdWFsU3R5bGVDb21tYVNlcGFyYXRlZEtleXdvcmRFZGl0b3IuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVDb21tYVNl
cGFyYXRlZEtleXdvcmRFZGl0b3IuanMKQEAgLTY5LDcgKzY5LDcgQEAgV2ViSW5zcGVjdG9yLlZp
c3VhbFN0eWxlQ29tbWFTZXBhcmF0ZWRLZXl3b3JkRWRpdG9yID0gY2xhc3MgVmlzdWFsU3R5bGVD
b21tYVNlcGEKICAgICBnZXQgdmFsdWUoKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9jb21t
YVNlcGFyYXRlZEtleXdvcmRzLmhhc0NoaWxkcmVuKQotICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgcmV0dXJuICIiOwogCiAgICAgICAgIGxldCB2YWx1ZSA9ICIiOwogICAgICAgICBm
b3IgKGxldCB0cmVlSXRlbSBvZiB0aGlzLl9jb21tYVNlcGFyYXRlZEtleXdvcmRzLmNoaWxkcmVu
KSB7CkBAIC0yODgsNCArMjg4LDQgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlQ29tbWFTZXBh
cmF0ZWRLZXl3b3JkRWRpdG9yLkxpc3RJdGVtQ2xhc3NOYW1lID0gInZpc3VhbC0KIFdlYkluc3Bl
Y3Rvci5WaXN1YWxTdHlsZUNvbW1hU2VwYXJhdGVkS2V5d29yZEVkaXRvci5FdmVudCA9IHsKICAg
ICBUcmVlSXRlbVNlbGVjdGVkOiAidmlzdWFsLXN0eWxlLWNvbW1hLXNlcGFyYXRlZC1rZXl3b3Jk
LWVkaXRvci10cmVlLWl0ZW0tc2VsZWN0ZWQiLAogICAgIE5vUmVtYWluaW5nVHJlZUl0ZW1zOiAi
dmlzdWFsLXN0eWxlLWNvbW1hLXNlcGFyYXRlZC1rZXl3b3JkLWVkaXRvci1uby1yZW1haW5pbmct
dHJlZS1pdGVtcyIKLX0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRv
ci5qcwppbmRleCBlMzczNGExLi43ZDEzZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxl
UHJvcGVydHlFZGl0b3IuanMKQEAgLTUyLDcgKzUyLDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0
eWxlUHJvcGVydHlFZGl0b3IgPSBjbGFzcyBWaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yIGV4dGVu
ZHMKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIHRoaXMuX3Bvc3NpYmxlVmFs
dWVzLmJhc2ljID0gY2Fub25pY2FsaXplVmFsdWVzKHBvc3NpYmxlVmFsdWVzLmJhc2ljKTsKICAg
ICAgICAgICAgICAgICB0aGlzLl9wb3NzaWJsZVZhbHVlcy5hZHZhbmNlZCA9IGNhbm9uaWNhbGl6
ZVZhbHVlcyhwb3NzaWJsZVZhbHVlcy5hZHZhbmNlZCk7Ci0gICAgICAgICAgICB9IAorICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgICAgIHRoaXMuX3Bvc3NpYmxlVW5pdHMgPSBudWxsOwog
ICAgICAgICBpZiAocG9zc2libGVVbml0cykgewpAQCAtMTA1LDcgKzEwNSw3IEBAIFdlYkluc3Bl
Y3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yID0gY2xhc3MgVmlzdWFsU3R5bGVQcm9wZXJ0
eUVkaXRvciBleHRlbmRzCiAgICAgICAgICAgICAgICAgbmFtZSwKICAgICAgICAgICAgICAgICB0
ZXh0Q29udGFpbnNOYW1lUmVnRXhwOiBuZXcgUmVnRXhwKCIoPzooPzpefDspXFxzKiIgKyBuYW1l
ICsgIlxccyo6KSIpLAogICAgICAgICAgICAgICAgIHJlcGxhY2VtZW50UmVnRXhwOiBuZXcgUmVn
RXhwKCIoKD86Xnw7KVxccyopKCIgKyBuYW1lICsgIikoLis/KD86O3wkKSkiKQotICAgICAgICAg
ICAgfSkKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fcHJvcGVy
dHlSZWZlcmVuY2VOYW1lID0gcHJvcGVydHlOYW1lc1swXTsKQEAgLTYxNSw0ICs2MTUsNCBAQCBX
ZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciA9IGNsYXNzIFZpc3VhbFN0eWxl
UHJvcGVydHlFZGl0b3IgZXh0ZW5kcwogCiBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0
eUVkaXRvci5FdmVudCA9IHsKICAgICBWYWx1ZURpZENoYW5nZTogInZpc3VhbC1zdHlsZS1wcm9w
ZXJ0eS1lZGl0b3ItdmFsdWUtY2hhbmdlZCIKLX0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlv
bi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0
eWxlU2VsZWN0b3JTZWN0aW9uLmpzCmluZGV4IDY5MzM1MzMuLjVlNWExMTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2Vs
ZWN0b3JTZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLmpzCkBAIC0zMjcsNCArMzI3LDQgQEAg
V2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLkxhc3RTZWxlY3RlZFJ1bGVT
eW1ib2wgPSBTeW1ib2woInZpc3VhbC0KIAogV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0
b3JTZWN0aW9uLkV2ZW50ID0gewogICAgIFNlbGVjdG9yQ2hhbmdlZDogInZpc3VhbC1zdHlsZS1z
ZWxlY3Rvci1zZWN0aW9uLXNlbGVjdG9yLWNoYW5nZWQiCi19Cit9Owo=
</data>
<flag name="review"
          id="311271"
          type_id="1"
          status="+"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="311272"
          type_id="3"
          status="-"
          setter="bburg"
    />
          </attachment>
      

    </bug>

</bugzilla>