<?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>78349</bug_id>
          
          <creation_ts>2012-02-10 04:18:54 -0800</creation_ts>
          <short_desc>Web Inspector: Make ScriptsNavigator default file selector.</short_desc>
          <delta_ts>2012-02-14 04:56:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>tony</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>554009</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-02-10 04:18:54 -0800</bug_when>
    <thetext>Make ScriptsNavigator default file selector.

This includes:
 - Move ScriptsNavigator out of experiments
 - Introduce new setting &quot;useScriptsNavigator&quot; with true as default value
 - Update tests:
    - For each old file selector test create relevant ScriptsNavigator test and make sure these tests pass.
    - Disable some old file selector tests (this features should be now covered by ScriptsNavigator tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554078</commentid>
    <comment_count>1</comment_count>
      <attachid>126517</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-02-10 08:12:50 -0800</bug_when>
    <thetext>Created attachment 126517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555344</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-02-13 09:50:35 -0800</bug_when>
    <thetext>Committed r107582: &lt;http://trac.webkit.org/changeset/107582&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555639</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-13 14:52:42 -0800</bug_when>
    <thetext>It looks like this caused 3 interactive_ui_tests to fail.  I&apos;m going to roll out the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555640</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-13 14:53:11 -0800</bug_when>
    <thetext>http://build.chromium.org/p/chromium.webkit/builders/Linux%20Tests/builds/18541</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555647</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-13 14:56:01 -0800</bug_when>
    <thetext>Reverted r107582 for reason:

Broke three inspector interactive_ui_tests

Committed r107615: &lt;http://trac.webkit.org/changeset/107615&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555648</commentid>
    <comment_count>6</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-13 14:56:30 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; It looks like this caused 3 interactive_ui_tests to fail.  I&apos;m going to roll out the patch.

If this is expected behavior, please disable the tests in Chromium before relanding this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556231</commentid>
    <comment_count>7</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-02-14 04:56:15 -0800</bug_when>
    <thetext>Committed r107708: &lt;http://trac.webkit.org/changeset/107708&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126517</attachid>
            <date>2012-02-10 08:12:50 -0800</date>
            <delta_ts>2012-02-13 08:54:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78349-20120210201248.patch</filename>
            <type>text/plain</type>
            <size>49399</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3Mzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg2NDE1Mzc0YWI1OGFk
ZTM0M2M4YTFkNGQyYTA2MzMzM2NkMmYxMS4uZDIyNjg0ZWI4MjFjODUwYTdiYjU4ZTk1ZjVhYmVj
NDBhNjg2ZTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTEwICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE1ha2UgU2NyaXB0c05hdmlnYXRvciBkZWZhdWx0IGZpbGUgc2VsZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM0OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmVkIFNjcmlwdHNOYXZp
Z2F0b3Igb3V0IG9mIGV4cGVyaW1lbnRzLgorICAgICAgICBJbnRyb2R1Y2VkIG5ldyBzZXR0aW5n
ICJ1c2VTY3JpcHRzTmF2aWdhdG9yIiB3aXRoIHRydWUgYXMgZGVmYXVsdCB2YWx1ZS4KKyAgICAg
ICAgVXBkYXRlZCBzY3JpcHRzIHBhbmVsIHRlc3RzIHJlbGF0ZWQgdG8gZmlsZSBzZWxlY3Rvci4K
KworICAgICAgICBUZXN0czogaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtY29tYm9ib3gtZmls
ZS1zZWxlY3Rvci1oaXN0b3J5Lmh0bWwKKyAgICAgICAgICAgICAgIGluc3BlY3Rvci9kZWJ1Z2dl
ci9zY3JpcHRzLWZpbGUtc2VsZWN0b3IuaHRtbAorCisgICAgICAgICogRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS51aVNvdXJjZUNvZGVzKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUuX3JlbW92ZVVJU291cmNlQ29kZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUuX3Nob3dTY3JpcHRG
b2xkZXJzU2V0dGluZ0NoYW5nZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUuX3VpU291cmNlQ29kZUFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFu
ZWwucHJvdG90eXBlLl9hZGRVSVNvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNj
cmlwdHNQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZUV4ZWN1dGlvbkxpbmUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXhw
ZXJpbWVudHNTZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5n
c1NjcmVlbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbik6CisKIDIw
MTItMDItMTAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IGltcGxlbWVudCB1bmRvIGZvciBzZXRPdXRlckhUTUwgdmlhIHVuZG8t
aW5nIG5lc3RlZCBwcmltaXRpdmUgY29tbWFuZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9Fbmds
aXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggMTIxMzc4ODI1NzQyMTk3ZTY5ZWEx
MjU3MDE3ZjYzMjY3NzgxMDdjZC4uMGNkYjczMzFiNGIwMjE3MjUyZTYzMDRiMzhkMGU5NTU1N2Nj
MTM0OCAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAyMDIKemNtZUNXJmEmcXdPVCFrJUY3
NEBnVDh5Z3ZwJHg/Z3NTRkFYWCQrWVJJU2lATzMkeihVRWZwOU44UylyWGZXanB9CnpSdVR9VmZf
V2VeNkRYRj9QejAxcTJHVig4NmA0UmY2KGx5QEw1b3AqYXtubz0kdlljKFhrfDk1NWAjNFo3WFls
UwpCRVNMWlEKCmRlbHRhIDExClNjbWRtVWxjbm9BT1QhayVFXlBvSW07fnRuCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlv
bk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IDhkODNiMTM3YTZkZGJlNWU0OWQxMTY1ZTI2OTY2NTgx
NmJiYTgxZGMuLjI3YjA0NTc1ODY3NDE4OTk4Mzg2NDBlMTNjZDAzNTVkMWY1NTM3NTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50
YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Rl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTE4Myw2ICsxODMsOCBAQCBXZWJJbnNwZWN0
b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAg
ICB2YXIgcmVzdWx0ID0gW107CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fcmF3
U291cmNlQ29kZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmICghdGhpcy5fcmF3U291
cmNlQ29kZXNbaV0uc291cmNlTWFwcGluZykKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVMaXN0ID0gdGhpcy5fcmF3U291cmNlQ29kZXNbaV0u
c291cmNlTWFwcGluZy51aVNvdXJjZUNvZGVMaXN0KCk7CiAgICAgICAgICAgICBmb3IgKHZhciBq
ID0gMDsgaiA8IHVpU291cmNlQ29kZUxpc3QubGVuZ3RoOyArK2opCiAgICAgICAgICAgICAgICAg
cmVzdWx0LnB1c2godWlTb3VyY2VDb2RlTGlzdFtqXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3IuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3IuanMKaW5kZXggMDYyN2Fl
YmQ1Mjk5NWQxMDdkODY0Y2I5NmNkZTVhNzEyMGJhYWM5MS4uMDA0NjUxN2Y1YTAwYjY2MmRhMzdm
MzI5ZWE3YjM2ZmE4NWJjOTYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c05hdmlnYXRvci5qcwpAQCAtMjE3LDYgKzIxNyw3IEBAIFdl
Ykluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIHRyZWVFbGVtZW50ID0gcGFyZW50OwogICAgICAgICB9CisgICAgICAgIHRo
aXMuX3NjcmlwdFRyZWVFbGVtZW50c0J5VUlTb3VyY2VDb2RlLnJlbW92ZSh1aVNvdXJjZUNvZGUp
OwogICAgIH0sCiAgICAgCiAgICAgX3Nob3dTY3JpcHRGb2xkZXJzU2V0dGluZ0NoYW5nZWQ6IGZ1
bmN0aW9uKCkKQEAgLTIyNyw3ICsyMjgsOCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRv
ci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdWlTb3VyY2VDb2Rl
cy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgIHRoaXMuYWRkVUlTb3VyY2VDb2RlKHVpU291cmNl
Q29kZXNbaV0pOwogICAgICAgICAKLSAgICAgICAgdGhpcy5yZXZlYWxVSVNvdXJjZUNvZGUodGhp
cy5fbGFzdFNlbGVjdGVkVUlTb3VyY2VDb2RlKTsKKyAgICAgICAgaWYgKHRoaXMuX2xhc3RTZWxl
Y3RlZFVJU291cmNlQ29kZSkKKyAgICAgICAgICAgIHRoaXMucmV2ZWFsVUlTb3VyY2VDb2RlKHRo
aXMuX2xhc3RTZWxlY3RlZFVJU291cmNlQ29kZSk7CiAgICAgfSwKICAgICAKICAgICByZXNldDog
ZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qcwppbmRleCBmYmYzOTBkNzQ0ODVjYTg5MmMwOTA3ZjAyMmI2MjkxOWU3ODVl
MDNmLi5iYzM1MmVlZGQ1YmI5YmUzZjgyMWQyM2NiNjIyOGQ1MzUzNmI5YzE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAt
NjAsNyArNjAsOCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsID0gZnVuY3Rpb24ocHJlc2Vu
dGF0aW9uTW9kZWwpCiAgICAgdGhpcy5kZWJ1Z1NpZGViYXJSZXNpemVXaWRnZXRFbGVtZW50Lmlk
ID0gInNjcmlwdHMtZGVidWctc2lkZWJhci1yZXNpemVyLXdpZGdldCI7CiAgICAgdGhpcy5zcGxp
dFZpZXcuaW5zdGFsbFJlc2l6ZXIodGhpcy5kZWJ1Z1NpZGViYXJSZXNpemVXaWRnZXRFbGVtZW50
KTsKIAotICAgIGlmIChXZWJJbnNwZWN0b3IuZXhwZXJpbWVudHNTZXR0aW5ncy51c2VTY3JpcHRz
TmF2aWdhdG9yLmlzRW5hYmxlZCgpKSB7CisgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnVzZVNj
cmlwdHNOYXZpZ2F0b3IgPSBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuY3JlYXRlU2V0dGluZygidXNl
U2NyaXB0c05hdmlnYXRvciIsIHRydWUpOworICAgIGlmIChXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
dXNlU2NyaXB0c05hdmlnYXRvci5nZXQoKSkgewogICAgICAgICBjb25zdCBpbml0aWFsTmF2aWdh
dG9yV2lkdGggPSAyMjU7CiAgICAgICAgIGNvbnN0IG1pbmltYWxWaWV3c0NvbnRhaW5lcldpZHRo
UGVyY2VudCA9IDUwOwogICAgICAgICB0aGlzLmVkaXRvclZpZXcgPSBuZXcgV2ViSW5zcGVjdG9y
LlNwbGl0VmlldyhXZWJJbnNwZWN0b3IuU3BsaXRWaWV3LlNpZGViYXJQb3NpdGlvbi5MZWZ0LCAi
c2NyaXB0c1BhbmVsTmF2aWdhdG9yU2lkZWJhcldpZHRoIiwgaW5pdGlhbE5hdmlnYXRvcldpZHRo
KTsKQEAgLTI1OCw2ICsyNTksMTUgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICAvLyBBbm9ueW1vdXMgc291cmNlcyBhcmUgc2hvd24gb25seSB3
aGVuIHN0ZXBwaW5nLgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisKKyAgICAgICAg
dGhpcy5fYWRkVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7CisgICAgfSwKKworICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCisg
ICAgICovCisgICAgX2FkZFVJU291cmNlQ29kZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQorICAg
IHsKICAgICAgICAgdGhpcy5fZmlsZVNlbGVjdG9yLmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNv
ZGUpOwogICAgICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIudWlTb3VyY2VDb2RlQWRkZWQodWlT
b3VyY2VDb2RlKTsKICAgICB9LApAQCAtNjA0LDcgKzYxNCw3IEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8v
IEFub255bW91cyBzY3JpcHRzIGFyZSBub3QgYWRkZWQgdG8gZmlsZXMgc2VsZWN0IGJ5IGRlZmF1
bHQuCi0gICAgICAgIHRoaXMuX2ZpbGVTZWxlY3Rvci5hZGRVSVNvdXJjZUNvZGUodWlMb2NhdGlv
bi51aVNvdXJjZUNvZGUpOworICAgICAgICB0aGlzLl9hZGRVSVNvdXJjZUNvZGUodWlMb2NhdGlv
bi51aVNvdXJjZUNvZGUpOwogCiAgICAgICAgIHZhciBzb3VyY2VGcmFtZSA9IHRoaXMuX3Nob3dG
aWxlKHVpTG9jYXRpb24udWlTb3VyY2VDb2RlKTsKICAgICAgICAgc291cmNlRnJhbWUuc2V0RXhl
Y3V0aW9uTGluZSh1aUxvY2F0aW9uLmxpbmVOdW1iZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKaW5kZXggNjhiYzM4YjNhMmRiYzI5N2RjNDlh
ZWE0YjhhNTk2YjE5MDE5YWI1OS4uMGFhNGQwMTBiODU1OWE5ZTliNTgwZjgxM2IwMzk3Y2IzMWNj
MGQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0
aW5ncy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdz
LmpzCkBAIC0xNjgsOCArMTY4LDYgQEAgV2ViSW5zcGVjdG9yLkV4cGVyaW1lbnRzU2V0dGluZ3Mg
PSBmdW5jdGlvbigpCiAgICAgdGhpcy5fZW5hYmxlZEZvclRlc3QgPSB7fTsKICAgICAKICAgICAv
LyBBZGQgY3VycmVudGx5IHJ1bm5pbmcgZXhwZXJpbWVudHMgaGVyZS4KLSAgICAvLyBGSVhNRTog
TW92ZSBvdXQgZnJvbSBleHBlcmltZW50cyBvbmNlIG5hdmlnYXRvciBpcyBwcm9kdWN0aW9uLXJl
YWR5LgotICAgIHRoaXMudXNlU2NyaXB0c05hdmlnYXRvciA9IHRoaXMuX2NyZWF0ZUV4cGVyaW1l
bnQoInVzZVNjcmlwdHNOYXZpZ2F0b3IiLCAiVXNlIGZpbGUgbmF2aWdhdG9yIGFuZCB0YWJiZWQg
ZWRpdG9yIGNvbnRhaW5lciBpbiBzY3JpcHRzIHBhbmVsIik7CiAgICAgdGhpcy5zb3VyY2VGcmFt
ZUFsd2F5c0VkaXRhYmxlID0gdGhpcy5fY3JlYXRlRXhwZXJpbWVudCgic291cmNlRnJhbWVBbHdh
eXNFZGl0YWJsZSIsICJNYWtlIHJlc291cmNlcyBhbHdheXMgZWRpdGFibGUiKTsKICAgICB0aGlz
LmZyZWVGbG93RE9NRWRpdGluZyA9IHRoaXMuX2NyZWF0ZUV4cGVyaW1lbnQoImZyZWVGbG93RE9N
RWRpdGluZyIsICJFbmFibGUgZnJlZSBmbG93IERPTSBlZGl0aW5nIik7CiAgICAgdGhpcy5zaG93
TWVtb3J5Q291bnRlcnMgPSB0aGlzLl9jcmVhdGVFeHBlcmltZW50KCJzaG93TWVtb3J5Q291bnRl
cnMiLCAiU2hvdyBtZW1vcnkgY291bnRlcnMgaW4gVGltZWxpbmUgcGFuZWwiKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCmlu
ZGV4IDhkOGVhYzA4YTRhODc5Yjg3MTY0ZDY5Mzc5NzcxM2I0YzM1YTMxNjMuLjY3MzEwYTYxYmIz
NzIxZTE3M2UwNTc5ZWRhNTkxYWFmOThhYmY0ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcwpAQCAtNzIsNiArNzIsNyBA
QCBXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4gPSBmdW5jdGlvbigpCiAgICAgcC5hcHBlbmRD
aGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJF
bXVsYXRlIHRvdWNoIGV2ZW50cyIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZW11bGF0ZVRvdWNo
RXZlbnRzKSk7CiAKICAgICBwID0gdGhpcy5fYXBwZW5kU2VjdGlvbihXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlNjcmlwdHMiKSwgdHJ1ZSk7CisgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVD
aGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVc2UgZmlsZSBuYXZpZ2F0b3Ig
YW5kIHRhYmJlZCBlZGl0b3IgY29udGFpbmVyIGluIHNjcmlwdHMgcGFuZWwiKSwgV2ViSW5zcGVj
dG9yLnNldHRpbmdzLnVzZVNjcmlwdHNOYXZpZ2F0b3IpKTsKICAgICBwLmFwcGVuZENoaWxkKHRo
aXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNob3cgc2Ny
aXB0IGZvbGRlcnMiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dTY3JpcHRGb2xkZXJzKSk7
CiAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJTZWFyY2ggaW4gY29udGVudCBzY3JpcHRzIiksIFdlYkluc3BlY3Rvci5z
ZXR0aW5ncy5zZWFyY2hJbkNvbnRlbnRTY3JpcHRzKSk7CiAgICAgcC5hcHBlbmRDaGlsZCh0aGlz
Ll9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbmFibGUgc291
cmNlIG1hcHMiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNvdXJjZU1hcHNFbmFibGVkKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMTAyN2MzOTkzOGIxZDk0ZWE2MGNjMDlmNTQxZmQ3OTZkMDZhNzY5NC4uYWRkZDNkZWNj
MGZmYWU1YTdkZWMxN2VhMzExMmUxYmYzMWY2YmE4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDEyLTAyLTEwICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IE1ha2UgU2NyaXB0c05hdmlnYXRvciBkZWZhdWx0IGZpbGUgc2Vs
ZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
ODM0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qczoKKyAgICAgICAgKGluaXRpYWxp
emVfRGVidWdnZXJUZXN0KToKKyAgICAgICAgKGluaXRpYWxpemVfRGVidWdnZXJUZXN0Lik6Cisg
ICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtY29tYm9ib3gtZmlsZS1zZWxlY3Rv
ci1oaXN0b3J5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVn
Z2VyL3NjcmlwdHMtY29tYm9ib3gtZmlsZS1zZWxlY3Rvci1oaXN0b3J5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLWZpbGUtc2VsZWN0b3ItZXhwZWN0
ZWQudHh0OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0
cy1wYW5lbC1leHBlY3RlZC50eHQuCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3Njcmlw
dHMtZmlsZS1zZWxlY3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdn
ZXIvc2NyaXB0cy1wYW5lbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVn
Z2VyL3NjcmlwdHMtcGFuZWwuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2Ny
aXB0cy1zb3J0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIv
c2NyaXB0cy1zb3J0aW5nLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3NvdXJj
ZS1mcmFtZS1jb3VudC5odG1sOgorCiAyMDEyLTAyLTEwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRt
YW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBpbXBsZW1lbnQgdW5kbyBm
b3Igc2V0T3V0ZXJIVE1MIHZpYSB1bmRvLWluZyBuZXN0ZWQgcHJpbWl0aXZlIGNvbW1hbmRzLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVz
dC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMK
aW5kZXggZGViZjJjOGZmMGY1MzAyOWI4YzMxYzBiMTUyMmQ3MDZiNDNkMjFlNS4uZjhjMWUxN2Qw
ZThmNWI5MjdkNjU3YzlkZjRmYjM2N2Y2ZDYyMGExOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzCkBAIC0xNTMsMTQgKzE1MywxMyBA
QCBJbnNwZWN0b3JUZXN0Ll9yZXN1bWVkU2NyaXB0ID0gZnVuY3Rpb24oKQogICAgIH0KIH07CiAK
LUluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSA9IGZ1bmN0aW9uKHNjcmlwdE5hbWUsIGNh
bGxiYWNrKQorSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlT25TY3JpcHRzUGFuZWwgPSBm
dW5jdGlvbihwYW5lbCwgc2NyaXB0TmFtZSwgY2FsbGJhY2spCiB7Ci0gICAgdmFyIGZpbGVzU2Vs
ZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmlwdHMtZmlsZXMiKTsKLSAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGZpbGVzU2VsZWN0Lmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGlmIChm
aWxlc1NlbGVjdFtpXS5fdWlTb3VyY2VDb2RlICYmIGZpbGVzU2VsZWN0W2ldLl91aVNvdXJjZUNv
ZGUuZmlsZU5hbWUgPT09IHNjcmlwdE5hbWUpIHsKLSAgICAgICAgICAgIGZpbGVzU2VsZWN0LnNl
bGVjdGVkSW5kZXggPSBpOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRz
Ll9maWxlU2VsZWN0b3IuX2ZpbGVzU2VsZWN0Q2hhbmdlZCgpOwotICAgICAgICAgICAgdmFyIHNv
dXJjZUZyYW1lID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnZpc2libGVWaWV3OworICAg
IHZhciB1aVNvdXJjZUNvZGVzID0gcGFuZWwuX3ByZXNlbnRhdGlvbk1vZGVsLnVpU291cmNlQ29k
ZXMoKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHVpU291cmNlQ29kZXMubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgaWYgKHVpU291cmNlQ29kZXNbaV0uZmlsZU5hbWUgPT09IHNjcmlwdE5hbWUp
IHsKKyAgICAgICAgICAgIHBhbmVsLnNob3dVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2Rlc1tpXSk7
CisgICAgICAgICAgICB2YXIgc291cmNlRnJhbWUgPSBwYW5lbC52aXNpYmxlVmlldzsKICAgICAg
ICAgICAgIGlmIChzb3VyY2VGcmFtZS5sb2FkZWQpCiAgICAgICAgICAgICAgICAgY2FsbGJhY2so
c291cmNlRnJhbWUpOwogICAgICAgICAgICAgZWxzZQpAQCAtMTY4LDcgKzE2Nyw0NyBAQCBJbnNw
ZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UgPSBmdW5jdGlvbihzY3JpcHROYW1lLCBjYWxsYmFj
aykKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KLSAgICBJbnNwZWN0b3JU
ZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLl9maWxlU2VsZWN0b3Is
ICJfYWRkT3B0aW9uVG9GaWxlc1NlbGVjdCIsIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJj
ZS5iaW5kKEluc3BlY3RvclRlc3QsIHNjcmlwdE5hbWUsIGNhbGxiYWNrKSk7CisgICAgSW5zcGVj
dG9yVGVzdC5hZGRTbmlmZmVyKHBhbmVsLCAiX2FkZFVJU291cmNlQ29kZSIsIEluc3BlY3RvclRl
c3Quc2hvd1NjcmlwdFNvdXJjZS5iaW5kKEluc3BlY3RvclRlc3QsIHNjcmlwdE5hbWUsIGNhbGxi
YWNrKSk7Cit9OworCitJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UgPSBmdW5jdGlvbihz
Y3JpcHROYW1lLCBjYWxsYmFjaykKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3Vy
Y2VPblNjcmlwdHNQYW5lbChXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMsIHNjcmlwdE5hbWUs
IGNhbGxiYWNrKQorfTsKKworSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05hdmlnYXRvciA9IGZ1
bmN0aW9uKG5hdmlnYXRvcikKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGlu
ZyBTY3JpcHRzTmF2aWdhdG9yICdTY3JpcHRzJyB0YWI6Iik7CisgICAgZHVtcE5hdmlnYXRvclRy
ZWVPdXRsaW5lKG5hdmlnYXRvci5fbmF2aWdhdG9yU2NyaXB0c1RyZWUpOworICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJEdW1waW5nIFNjcmlwdHNOYXZpZ2F0b3IgJ0NvbnRlbnQgc2NyaXB0
cycgdGFiOiIpOworICAgIGR1bXBOYXZpZ2F0b3JUcmVlT3V0bGluZShuYXZpZ2F0b3IuX25hdmln
YXRvckNvbnRlbnRTY3JpcHRzVHJlZSk7CisKKyAgICBmdW5jdGlvbiBkdW1wTmF2aWdhdG9yVHJl
ZUVsZW1lbnQocHJlZml4LCB0cmVlRWxlbWVudCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KHByZWZpeCArIHRyZWVFbGVtZW50LnRpdGxlVGV4dCk7CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgdHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpCisgICAg
ICAgICAgICBkdW1wTmF2aWdhdG9yVHJlZUVsZW1lbnQocHJlZml4ICsgIiAgIiwgdHJlZUVsZW1l
bnQuY2hpbGRyZW5baV0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGR1bXBOYXZpZ2F0b3JUcmVl
T3V0bGluZSh0cmVlT3V0bGluZSkKKyAgICB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
dHJlZU91dGxpbmUuY2hpbGRyZW4ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBkdW1wTmF2aWdh
dG9yVHJlZUVsZW1lbnQoIiAgIiwgdHJlZU91dGxpbmUuY2hpbGRyZW5baV0pOworICAgIH0KK307
CisKK0luc3BlY3RvclRlc3QuZHVtcENvbWJvQm94RmlsZVNlbGVjdG9yID0gZnVuY3Rpb24oY29t
Ym9Cb3hGaWxlU2VsZWN0b3IpCit7CisgICAgdmFyIHJvb3RVUkwgPSAiaHR0cDovL2xvY2FsaG9z
dDo4MDgwL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci8iOworICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJEdW1waW5nIENvbWJvQm94RmlsZVNlbGVjdG9yOiIpOworICAgIHZhciBz
ZWxlY3QgPSBjb21ib0JveEZpbGVTZWxlY3Rvci5fZmlsZXNTZWxlY3RFbGVtZW50OworICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBvcHRp
b24gPSBzZWxlY3RbaV07CisgICAgICAgIHZhciB0ZXh0ID0gb3B0aW9uLnRleHQucmVwbGFjZSgv
LipMYXlvdXRUZXN0cy8sICJMYXlvdXRUZXN0cyIpOworICAgICAgICB0ZXh0ID0gdGV4dC5yZXBs
YWNlKC9cdTAwYTAvZywgIiAiKS5yZXBsYWNlKC9cdTIwMjYvZywgIi4uLiIpOworICAgICAgICB2
YXIgdG9vbHRpcCA9IG9wdGlvbi50aXRsZS5yZXBsYWNlKHJvb3RVUkwsICI8cm9vdD4vIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRleHQgKyAodG9vbHRpcCA/ICIoIiArIHRv
b2x0aXAgKyAiKSIgOiAiIikpOworICAgIH0KIH07CiAKIEluc3BlY3RvclRlc3Quc2V0QnJlYWtw
b2ludCA9IGZ1bmN0aW9uKHNvdXJjZUZyYW1lLCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJs
ZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1j
b21ib2JveC1maWxlLXNlbGVjdG9yLWhpc3RvcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtY29tYm9ib3gtZmlsZS1zZWxlY3Rvci1oaXN0b3J5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODdlNDQ3ZTkyYTUwODg4ZGZlZDUwZjc4ZjI2OGRm
MDhjMDc0MjRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL3NjcmlwdHMtY29tYm9ib3gtZmlsZS1zZWxlY3Rvci1oaXN0b3J5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxIEBACitUZXN0cyBzY3JpcHRzIHBhbmVsIGNvbWJvIGJveCBmaWxlIHNlbGVjdG9y
IGhpc3RvcnkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2Ny
aXB0cy1jb21ib2JveC1maWxlLXNlbGVjdG9yLWhpc3RvcnkuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLWNvbWJvYm94LWZpbGUtc2VsZWN0b3ItaGlzdG9yeS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJkMDQ1MzA5NDJiZTgzZWNlMDczMDhiMWI0NTk5YzFjZDQ3ZDRlYmYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0
cy1jb21ib2JveC1maWxlLXNlbGVjdG9yLWhpc3RvcnkuaHRtbApAQCAtMCwwICsxLDg0IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKworZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgLy8gQWx3YXlzIHVzZSBpbmRlbnRhdGlvbiBpbiBzY3JpcHRz
IGRyb3AgYm94CisgICAgV2ViSW5zcGVjdG9yLl9pc01hYyA9IGZhbHNlOworCisgICAgdmFyIHVp
U291cmNlQ29kZXMgPSBbXTsKKyAgICBmdW5jdGlvbiBhZGRVSVNvdXJjZUNvZGUodXJsKQorICAg
IHsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VD
b2RlKDAsIHVybCwgbnVsbCwgbnVsbCk7CisgICAgICAgIGNvbWJvQm94RmlsZVNlbGVjdG9yLmFk
ZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpOworICAgICAgICB1aVNvdXJjZUNvZGVzLnB1c2go
dWlTb3VyY2VDb2RlKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjaGVja0N1cnJlbnRseVNlbGVj
dGVkRmlsZU5hbWUoZmlsZU5hbWUpCisgICAgeworICAgICAgICB2YXIgaW5kZXggPSBjb21ib0Jv
eEZpbGVTZWxlY3Rvci5fZmlsZXNTZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXg7CisgICAgICAg
IHZhciB0ZXh0ID0gY29tYm9Cb3hGaWxlU2VsZWN0b3IuX2ZpbGVzU2VsZWN0RWxlbWVudFtpbmRl
eF0udGV4dDsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHRleHQuaW5kZXhPZihm
aWxlTmFtZSkgIT09IC0xLAorICAgICAgICAgICAgIldyb25nIG9wdGlvbiB0ZXh0LiBFeHBlY3Rl
ZCA8IiArIGZpbGVOYW1lICsgIj4sIGZvdW5kIDwiICsgdGV4dCArICI+LiIpOworICAgIH0KKwor
ICAgIHZhciBjb21ib0JveEZpbGVTZWxlY3RvciA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0c1Bh
bmVsLkNvbWJvQm94RmlsZVNlbGVjdG9yKCk7CisKKyAgICB2YXIgZmlsZXMgPSBbImluZGV4Lmh0
bWwiLCAic2NyaXB0MS5qcyIsICJzY3JpcHQyLmpzIiwgInNjcmlwdDMuanMiXTsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgKytpKQorICAgICAgICBhZGRVSVNvdXJjZUNv
ZGUoZmlsZXNbaV0pOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1aVNvdXJjZUNvZGVzLmxl
bmd0aDsgKytpKQorICAgICAgICBjb21ib0JveEZpbGVTZWxlY3Rvci5yZXZlYWxVSVNvdXJjZUNv
ZGUodWlTb3VyY2VDb2Rlc1tpXSk7CisKKyAgICBjaGVja0N1cnJlbnRseVNlbGVjdGVkRmlsZU5h
bWUoInNjcmlwdDMuanMiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0cnVlLCBj
b21ib0JveEZpbGVTZWxlY3Rvci5mb3J3YXJkQnV0dG9uLmRpc2FibGVkLCAiRm9yd2FyZCBzaG91
bGQgYmUgZGlzYWJsZWQuIik7CisKKyAgICBjb21ib0JveEZpbGVTZWxlY3Rvci5iYWNrQnV0dG9u
LmNsaWNrKCk7CisgICAgY2hlY2tDdXJyZW50bHlTZWxlY3RlZEZpbGVOYW1lKCJzY3JpcHQyLmpz
Iik7CisgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoZmFsc2UsIGNvbWJvQm94RmlsZVNl
bGVjdG9yLmZvcndhcmRCdXR0b24uZGlzYWJsZWQsICJGb3J3YXJkIHNob3VsZCBiZSBlbmFibGVk
IGFmdGVyIGJhY2sgYnV0dG9uIGNsaWNrLiIpOworCisgICAgY29tYm9Cb3hGaWxlU2VsZWN0b3Iu
Zm9yd2FyZEJ1dHRvbi5jbGljaygpOworICAgIGNoZWNrQ3VycmVudGx5U2VsZWN0ZWRGaWxlTmFt
ZSgic2NyaXB0My5qcyIpOworICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsIGNv
bWJvQm94RmlsZVNlbGVjdG9yLmZvcndhcmRCdXR0b24uZGlzYWJsZWQsICJGb3J3YXJkIHNob3Vs
ZCBiZSBkaXNhYmxlZCBhZnRlciBmb3J3YXJkIGJ1dHRvbiBjbGljay4iKTsKKworICAgIGNvbWJv
Qm94RmlsZVNlbGVjdG9yLmJhY2tCdXR0b24uY2xpY2soKTsKKyAgICBjaGVja0N1cnJlbnRseVNl
bGVjdGVkRmlsZU5hbWUoInNjcmlwdDIuanMiKTsKKworICAgIGNvbWJvQm94RmlsZVNlbGVjdG9y
LmJhY2tCdXR0b24uY2xpY2soKTsKKyAgICBjaGVja0N1cnJlbnRseVNlbGVjdGVkRmlsZU5hbWUo
InNjcmlwdDEuanMiKTsKKworICAgIGNvbWJvQm94RmlsZVNlbGVjdG9yLmJhY2tCdXR0b24uY2xp
Y2soKTsKKyAgICBjaGVja0N1cnJlbnRseVNlbGVjdGVkRmlsZU5hbWUoImluZGV4Lmh0bWwiKTsK
KworICAgIGNvbWJvQm94RmlsZVNlbGVjdG9yLmZvcndhcmRCdXR0b24uY2xpY2soKTsKKyAgICBj
b21ib0JveEZpbGVTZWxlY3Rvci5mb3J3YXJkQnV0dG9uLmNsaWNrKCk7CisgICAgY2hlY2tDdXJy
ZW50bHlTZWxlY3RlZEZpbGVOYW1lKCJzY3JpcHQyLmpzIik7CisKKyAgICBjb21ib0JveEZpbGVT
ZWxlY3Rvci5yZXZlYWxVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2Rlc1sxXSk7CisKKyAgICBjaGVj
a0N1cnJlbnRseVNlbGVjdGVkRmlsZU5hbWUoInNjcmlwdDEuanMiKTsKKyAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydEVxdWFscyh0cnVlLCBjb21ib0JveEZpbGVTZWxlY3Rvci5mb3J3YXJkQnV0dG9u
LmRpc2FibGVkKTsKKworICAgIGNvbWJvQm94RmlsZVNlbGVjdG9yLmJhY2tCdXR0b24uY2xpY2so
KTsKKyAgICBjaGVja0N1cnJlbnRseVNlbGVjdGVkRmlsZU5hbWUoInNjcmlwdDIuanMiKTsKKwor
ICAgIGNvbWJvQm94RmlsZVNlbGVjdG9yLmJhY2tCdXR0b24uY2xpY2soKTsKKyAgICBjaGVja0N1
cnJlbnRseVNlbGVjdGVkRmlsZU5hbWUoImluZGV4Lmh0bWwiKTsKKworICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Cit9OworCis8L3NjcmlwdD4KKworPC9oZWFkPgorCis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBzY3JpcHRzIHBhbmVsIGNvbWJvIGJveCBmaWxl
IHNlbGVjdG9yIGhpc3RvcnkuPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1maWxlLXNlbGVjdG9yLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLWZpbGUtc2Vs
ZWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxOGViOWFiZTlkOTI1MDQ2YWM4MDY0MzFh
NDkxOWJkNTliMjkxZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvc2NyaXB0cy1maWxlLXNlbGVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM4
IEBACitUZXN0cyBzY3JpcHRzIHBhbmVsIGZpbGUgc2VsZWN0b3JzLgorCitEdW1waW5nIENvbWJv
Qm94RmlsZVNlbGVjdG9yOgorICAgID9hPWIoP2E9YikKKyAgICB2ZXJ5X2xvb29vb29vb28uLi5v
b29vb29vb25nX3VybCh2ZXJ5X2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v
b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29u
Z191cmwpCivigJQgZXhhbXBsZS5jb20g4oCUCisgICAgP2E9YihodHRwOi8vZXhhbXBsZS5jb20v
P2E9YikKK+KAlCBsb2NhbGhvc3Qg4oCUCitMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
Zm9vL2JhcgorICAgIHNjcmlwdC5qcyg8cm9vdD4vZm9vL2Jhci9zY3JpcHQuanMpCisgICAgc2Ny
aXB0LmpzP2E9MSg8cm9vdD4vZm9vL2Jhci9zY3JpcHQuanM/YT0xKQorICAgIHNjcmlwdC5qcz9h
PTIoPHJvb3Q+L2Zvby9iYXIvc2NyaXB0LmpzP2E9MikKK0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9mb28vYmF6CisgICAgc2NyaXB0LmpzKDxyb290Pi9mb28vYmF6L3NjcmlwdC5qcykK
K+KAlCBDb250ZW50IHNjcmlwdHMg4oCUCitMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
Zm9vL2JhcgorICAgIGNvbnRlbnRTY3JpcHQuanM/YT0xKDxyb290Pi9mb28vYmFyL2NvbnRlbnRT
Y3JpcHQuanM/YT0xKQorICAgIGNvbnRlbnRTY3JpcHQuanM/YT0yKDxyb290Pi9mb28vYmFyL2Nv
bnRlbnRTY3JpcHQuanM/YT0yKQorICAgIGNvbnRlbnRTY3JpcHQyLmpzP2E9MSg8cm9vdD4vZm9v
L2Jhci9jb250ZW50U2NyaXB0Mi5qcz9hPTEpCitEdW1waW5nIFNjcmlwdHNOYXZpZ2F0b3IgJ1Nj
cmlwdHMnIHRhYjoKKyAgZXhhbXBsZS5jb20KKyAgICA/YT1iCisgIGxvY2FsaG9zdAorICAgIExh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9mb28vYmFyCisgICAgICBzY3JpcHQuanMKKyAg
ICAgIHNjcmlwdC5qcz9hPTEKKyAgICAgIHNjcmlwdC5qcz9hPTIKKyAgICBMYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvZm9vL2JhegorICAgICAgc2NyaXB0LmpzCisgID9hPWIKKyAgdmVy
eV9sb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v
b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vbmdfdXJsCitEdW1waW5nIFNj
cmlwdHNOYXZpZ2F0b3IgJ0NvbnRlbnQgc2NyaXB0cycgdGFiOgorICBsb2NhbGhvc3QKKyAgICBM
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZm9vL2JhcgorICAgICAgY29udGVudFNjcmlw
dC5qcz9hPTEKKyAgICAgIGNvbnRlbnRTY3JpcHQuanM/YT0yCisgICAgICBjb250ZW50U2NyaXB0
Mi5qcz9hPTEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nj
cmlwdHMtZmlsZS1zZWxlY3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3NjcmlwdHMtZmlsZS1zZWxlY3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwOWQ5NGY3YjE3OTg4ZGQ4
YzExYzQ5ZWFjMjE2NDk2YTkwZjhjN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1maWxlLXNlbGVjdG9yLmh0bWwKQEAgLTAsMCArMSw0
OSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICAvLyBBbHdheXMgdXNlIGluZGVudGF0aW9uIGluIHNj
cmlwdHMgZHJvcCBib3gKKyAgICBXZWJJbnNwZWN0b3IuX2lzTWFjID0gZmFsc2U7CisKKyAgICB2
YXIgbmF2aWdhdG9yRmlsZVNlbGVjdG9yID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdh
dG9yKCk7CisgICAgdmFyIGNvbWJvQm94RmlsZVNlbGVjdG9yID0gbmV3IFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwuQ29tYm9Cb3hGaWxlU2VsZWN0b3IoKTsKKworICAgIGZ1bmN0aW9uIGFkZFVJ
U291cmNlQ29kZSh1cmwsIGlzQ29udGVudFNjcmlwdCkKKyAgICB7CisgICAgICAgIHZhciB1aVNv
dXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSgwLCB1cmwsIG51bGwsIG51
bGwpOworICAgICAgICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0ID0gaXNDb250ZW50U2Ny
aXB0OworICAgICAgICBuYXZpZ2F0b3JGaWxlU2VsZWN0b3IuYWRkVUlTb3VyY2VDb2RlKHVpU291
cmNlQ29kZSk7CisgICAgICAgIGNvbWJvQm94RmlsZVNlbGVjdG9yLmFkZFVJU291cmNlQ29kZSh1
aVNvdXJjZUNvZGUpOworICAgIH0KKworICAgIHZhciByb290VVJMID0gImh0dHA6Ly9sb2NhbGhv
c3Q6ODA4MC9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvIjsKKyAgICBhZGRVSVNvdXJj
ZUNvZGUocm9vdFVSTCArICJmb28vYmFyL3NjcmlwdC5qcyIsIGZhbHNlKTsKKyAgICBhZGRVSVNv
dXJjZUNvZGUocm9vdFVSTCArICJmb28vYmFyL2NvbnRlbnRTY3JpcHQyLmpzP2E9MSIsIHRydWUp
OworICAgIGFkZFVJU291cmNlQ29kZShyb290VVJMICsgImZvby9iYXIvc2NyaXB0LmpzP2E9MiIs
IGZhbHNlKTsKKyAgICBhZGRVSVNvdXJjZUNvZGUocm9vdFVSTCArICJmb28vYmFyL2NvbnRlbnRT
Y3JpcHQuanM/YT0yIiwgdHJ1ZSk7CisgICAgYWRkVUlTb3VyY2VDb2RlKHJvb3RVUkwgKyAiZm9v
L2Jhci9zY3JpcHQuanM/YT0xIiwgZmFsc2UpOworICAgIGFkZFVJU291cmNlQ29kZShyb290VVJM
ICsgImZvby9iYXovc2NyaXB0LmpzIiwgZmFsc2UpOworICAgIGFkZFVJU291cmNlQ29kZShyb290
VVJMICsgImZvby9iYXIvY29udGVudFNjcmlwdC5qcz9hPTEiLCB0cnVlKTsKKyAgICBhZGRVSVNv
dXJjZUNvZGUoImh0dHA6Ly9leGFtcGxlLmNvbS8/YT1iIiwgZmFsc2UpOworICAgIGFkZFVJU291
cmNlQ29kZSgiP2E9YiIsIGZhbHNlKTsKKyAgICBhZGRVSVNvdXJjZUNvZGUoInZlcnlfbG9vb29v
b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v
b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb25nX3VybCIsIGZhbHNlKTsKKworICAgIElu
c3BlY3RvclRlc3QuZHVtcENvbWJvQm94RmlsZVNlbGVjdG9yKGNvbWJvQm94RmlsZVNlbGVjdG9y
KQorICAgIEluc3BlY3RvclRlc3QuZHVtcFNjcmlwdHNOYXZpZ2F0b3IobmF2aWdhdG9yRmlsZVNl
bGVjdG9yKTsKKworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9Cis8L3Njcmlw
dD4KKworPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyBzY3Jp
cHRzIHBhbmVsIGZpbGUgc2VsZWN0b3JzLgorPC9wPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC1l
eHBlY3RlZC50eHQKaW5kZXggODczOTA3MWQ3MTUyMDY1ZWE4ODEzNTY1MGQyNzVlMTU1MTdkYThm
MC4uYmYxYTBkM2UzZmVlMzQzNDNlNTliN2NiMzY5NzkxMWNhNTYwYTQ5YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLWV4cGVj
dGVkLnR4dApAQCAtMiw2ICsyLDE0IEBAIFRlc3RzIHRoYXQgc2NyaXB0cyBwYW5lbCBVSSBlbGVt
ZW50cyB3b3JrIGFzIGludGVuZGVkLgogCiAKIFJ1bm5pbmc6IHRlc3RJbml0aWFsTG9hZAorRHVt
cGluZyBTY3JpcHRzTmF2aWdhdG9yICdTY3JpcHRzJyB0YWI6CisgIGJhci5qcworICBiYXouanMK
KyAgZm9vLmpzCitEdW1waW5nIFNjcmlwdHNOYXZpZ2F0b3IgJ0NvbnRlbnQgc2NyaXB0cycgdGFi
OgorU291cmNlIHJlcXVlc3RlZCBmb3IgYmF6LmpzCisKK1J1bm5pbmc6IHRlc3RJbml0aWFsTG9h
ZFdpdGhDb21ib0JveEZpbGVTZWxlY3RvcgogU291cmNlIHJlcXVlc3RlZCBmb3IgZm9vLmpzCiBE
dW1wIGZpbGVzIHNlbGVjdDoKICAgICBiYXIuanMKQEAgLTksMzMgKzE3LDM3IEBAIER1bXAgZmls
ZXMgc2VsZWN0OgogICAgIGZvby5qcwogU291cmNlIHJlcXVlc3RlZCBmb3IgYmF6LmpzCiAKLVJ1
bm5pbmc6IHRlc3RIaXN0b3J5Ci1Tb3VyY2UgcmVxdWVzdGVkIGZvciBpbmRleC5odG1sCi1Tb3Vy
Y2UgcmVxdWVzdGVkIGZvciBzY3JpcHQxLmpzCi1Tb3VyY2UgcmVxdWVzdGVkIGZvciBzY3JpcHQy
LmpzCi1Tb3VyY2UgcmVxdWVzdGVkIGZvciBzY3JpcHQzLmpzCi0KLVJ1bm5pbmc6IHRlc3RGaWxl
c1NlbGVjdAotICAgID9hPWIoP2E9YikKLSAgICB2ZXJ5X2xvb29vb29vb28uLi5vb29vb29vb25n
X3VybCh2ZXJ5X2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v
b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZ191cmwpCi3i
gJQgZXhhbXBsZS5jb20g4oCUCi0gICAgP2E9YihodHRwOi8vZXhhbXBsZS5jb20vP2E9YikKLeKA
lCBsb2NhbGhvc3Qg4oCUCi1MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZm9vL2Jhcgot
ICAgIHNjcmlwdC5qcyg8cm9vdD4vZm9vL2Jhci9zY3JpcHQuanMpCi0gICAgc2NyaXB0LmpzP2E9
MSg8cm9vdD4vZm9vL2Jhci9zY3JpcHQuanM/YT0xKQotICAgIHNjcmlwdC5qcz9hPTIoPHJvb3Q+
L2Zvby9iYXIvc2NyaXB0LmpzP2E9MikKLUxheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9m
b28vYmF6Ci0gICAgc2NyaXB0LmpzKDxyb290Pi9mb28vYmF6L3NjcmlwdC5qcykKLeKAlCBDb250
ZW50IHNjcmlwdHMg4oCUCi1MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZm9vL2Jhcgot
ICAgIGNvbnRlbnRTY3JpcHQuanM/YT0xKDxyb290Pi9mb28vYmFyL2NvbnRlbnRTY3JpcHQuanM/
YT0xKQotICAgIGNvbnRlbnRTY3JpcHQuanM/YT0yKDxyb290Pi9mb28vYmFyL2NvbnRlbnRTY3Jp
cHQuanM/YT0yKQotICAgIGNvbnRlbnRTY3JpcHQyLmpzP2E9MSg8cm9vdD4vZm9vL2Jhci9jb250
ZW50U2NyaXB0Mi5qcz9hPTEpCi0KIFJ1bm5pbmc6IHRlc3RTb3VyY2VSZXBsYWNlZAorRHVtcGlu
ZyBTY3JpcHRzTmF2aWdhdG9yICdTY3JpcHRzJyB0YWI6CisgIGNvbXBpbGVkLmpzCisgIGZvby5q
cworRHVtcGluZyBTY3JpcHRzTmF2aWdhdG9yICdDb250ZW50IHNjcmlwdHMnIHRhYjoKK0R1bXBp
bmcgU2NyaXB0c05hdmlnYXRvciAnU2NyaXB0cycgdGFiOgorICBmb28uanMKKyAgc291cmNlMS5q
cworICBzb3VyY2UyLmpzCitEdW1waW5nIFNjcmlwdHNOYXZpZ2F0b3IgJ0NvbnRlbnQgc2NyaXB0
cycgdGFiOgorU291cmNlIHJlcXVlc3RlZCBmb3Igc291cmNlMi5qcworU291cmNlIHJlcXVlc3Rl
ZCBmb3Igc291cmNlMS5qcworU291cmNlIHJlcXVlc3RlZCBmb3IgY29tcGlsZWQuanMKK0R1bXBp
bmcgU2NyaXB0c05hdmlnYXRvciAnU2NyaXB0cycgdGFiOgorICBjb21waWxlZC5qcworICBmb28u
anMKK0R1bXBpbmcgU2NyaXB0c05hdmlnYXRvciAnQ29udGVudCBzY3JpcHRzJyB0YWI6CisKK1J1
bm5pbmc6IHRlc3RTb3VyY2VSZXBsYWNlZFdpdGhDb21ib0JveEZpbGVTZWxlY3RvcgogU291cmNl
IHJlcXVlc3RlZCBmb3IgZm9vLmpzCitEdW1waW5nIENvbWJvQm94RmlsZVNlbGVjdG9yOgorICAg
IGNvbXBpbGVkLmpzKGNvbXBpbGVkLmpzKQorICAgIGZvby5qcyhmb28uanMpCitEdW1waW5nIENv
bWJvQm94RmlsZVNlbGVjdG9yOgorICAgIGZvby5qcyhmb28uanMpCisgICAgc291cmNlMS5qcyhz
b3VyY2UxLmpzKQorICAgIHNvdXJjZTIuanMoc291cmNlMi5qcykKIFNvdXJjZSByZXF1ZXN0ZWQg
Zm9yIHNvdXJjZTIuanMKIFNvdXJjZSByZXF1ZXN0ZWQgZm9yIHNvdXJjZTEuanMKIFNvdXJjZSBy
ZXF1ZXN0ZWQgZm9yIGNvbXBpbGVkLmpzCitEdW1waW5nIENvbWJvQm94RmlsZVNlbGVjdG9yOgor
ICAgIGNvbXBpbGVkLmpzKGNvbXBpbGVkLmpzKQorICAgIGZvby5qcyhmb28uanMpCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCmluZGV4
IDJlMjQ2OTQ3NjYwMDZmYTZkZWQ4Mjk5ZWQxNzQ0MmRmN2JiNDQyYmIuLmU5MjI1NTg1M2FjZmQx
ZGM0MDZiMzA4MDk1OTRkOWRhZGViNjZiMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbApAQCAtMSw2ICsxLDcgQEAKIDxodG1sPgog
PGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgogCiA8c2NyaXB0PgogCkBAIC05LDEyICsx
MCwxNSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAvLyBBbHdheXMgdXNlIGluZGVudGF0aW9uIGlu
IHNjcmlwdHMgZHJvcCBib3gKICAgICBXZWJJbnNwZWN0b3IuX2lzTWFjID0gZmFsc2U7CiAKKyAg
ICB2YXIgdWlTb3VyY2VDb2RlczsKICAgICBmdW5jdGlvbiBjcmVhdGVEZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsTW9jaygpCiAgICAgewogICAgICAgICB2YXIgbW9kZWwgPSBuZXcgV2ViSW5zcGVj
dG9yLk9iamVjdCgpOwogICAgICAgICBtb2RlbC5icmVha3BvaW50c0ZvclVJU291cmNlQ29kZSA9
IGZ1bmN0aW9uKCkgeyByZXR1cm4gW107IH07CiAgICAgICAgIG1vZGVsLm1lc3NhZ2VzRm9yVUlT
b3VyY2VDb2RlID0gZnVuY3Rpb24oKSB7IHJldHVybiBbXTsgfTsKICAgICAgICAgbW9kZWwuY2Fu
RWRpdFNjcmlwdFNvdXJjZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfTsKKyAgICAgICAg
dWlTb3VyY2VDb2RlcyA9IFtdOworICAgICAgICBtb2RlbC51aVNvdXJjZUNvZGVzID0gZnVuY3Rp
b24oKSB7IHJldHVybiB1aVNvdXJjZUNvZGVzLnNsaWNlKCk7IH07CiAgICAgICAgIHJldHVybiBt
b2RlbDsKICAgICB9CiAgICAgZnVuY3Rpb24gY3JlYXRlVUlTb3VjZUNvZGUodXJsKQpAQCAtMjUs
MjEgKzI5LDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlNvdXJjZSByZXF1ZXN0ZWQgZm9yICIgKyB1cmwpOwogICAgICAgICAgICAgY2Fs
bGJhY2soIiIpOwogICAgICAgICB9OworICAgICAgICB1aVNvdXJjZUNvZGVzLnB1c2godWlTb3Vy
Y2VDb2RlKTsKICAgICAgICAgcmV0dXJuIHVpU291cmNlQ29kZTsKICAgICB9CiAKLSAgICBmdW5j
dGlvbiBzaG93U291cmNlRnJhbWUocGFuZWwsIGZpbGVOYW1lKQotICAgIHsKLSAgICAgICAgdmFy
IHNlbGVjdCA9IHBhbmVsLl9maWxlU2VsZWN0b3IuX2ZpbGVzU2VsZWN0RWxlbWVudDsKLSAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3QubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAg
IGlmIChzZWxlY3RbaV0udGV4dC5pbmRleE9mKGZpbGVOYW1lKSA9PT0gLTEpCi0gICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBzZWxlY3Quc2VsZWN0ZWRJbmRleCA9IGk7Ci0g
ICAgICAgICAgICBwYW5lbC5fZmlsZVNlbGVjdG9yLl9maWxlc1NlbGVjdENoYW5nZWQoKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgSW5zcGVjdG9yVGVzdC5y
dW5UZXN0U3VpdGUoWwogICAgICAgICBmdW5jdGlvbiB0ZXN0SW5pdGlhbExvYWQobmV4dCkKICAg
ICAgICAgewpAQCAtNDcsNiArNDAsMjggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICB2
YXIgcGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbChtb2RlbCk7CiAgICAgICAg
ICAgICBwYW5lbC5zaG93KCk7CiAKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVCQVogPSBj
cmVhdGVVSVNvdWNlQ29kZSgiYmF6LmpzIik7CisgICAgICAgICAgICBwYW5lbC5fdWlTb3VyY2VD
b2RlQWRkZWQoeyBkYXRhOiBjcmVhdGVVSVNvdWNlQ29kZSgiZm9vLmpzIikgfSk7CisgICAgICAg
ICAgICBwYW5lbC5fdWlTb3VyY2VDb2RlQWRkZWQoeyBkYXRhOiBjcmVhdGVVSVNvdWNlQ29kZSgi
YmFyLmpzIikgfSk7CisgICAgICAgICAgICBwYW5lbC5fdWlTb3VyY2VDb2RlQWRkZWQoeyBkYXRh
OiB1aVNvdXJjZUNvZGVCQVogfSk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNj
cmlwdHNOYXZpZ2F0b3IocGFuZWwuX25hdmlnYXRvcik7CisKKyAgICAgICAgICAgIC8vIFNlbGVj
dCAiYmF6LmpzIi4KKyAgICAgICAgICAgIHBhbmVsLl9zaG93RmlsZSh1aVNvdXJjZUNvZGVCQVop
OworICAgICAgICAgICAgcGFuZWwuZGV0YWNoKCk7CisKKyAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0SW5pdGlhbExvYWRXaXRoQ29tYm9Cb3hG
aWxlU2VsZWN0b3IobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIG1vZGVsID0gY3Jl
YXRlRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbE1vY2soKTsKKyAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5zZXR0aW5ncy51c2VTY3JpcHRzTmF2aWdhdG9yLnNldChmYWxzZSk7CisgICAgICAgICAg
ICB2YXIgcGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbChtb2RlbCk7CisgICAg
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MudXNlU2NyaXB0c05hdmlnYXRvci5zZXQodHJ1
ZSk7CisgICAgICAgICAgICBwYW5lbC5zaG93KCk7CisKICAgICAgICAgICAgIHBhbmVsLl91aVNv
dXJjZUNvZGVBZGRlZCh7IGRhdGE6IGNyZWF0ZVVJU291Y2VDb2RlKCJmb28uanMiKSB9KTsKICAg
ICAgICAgICAgIHBhbmVsLl91aVNvdXJjZUNvZGVBZGRlZCh7IGRhdGE6IGNyZWF0ZVVJU291Y2VD
b2RlKCJiYXIuanMiKSB9KTsKICAgICAgICAgICAgIHBhbmVsLl91aVNvdXJjZUNvZGVBZGRlZCh7
IGRhdGE6IGNyZWF0ZVVJU291Y2VDb2RlKCJiYXouanMiKSB9KTsKQEAgLTY4LDEyOSArODMsNzMg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgIH0sCiAKLSAg
ICAgICAgZnVuY3Rpb24gdGVzdEhpc3RvcnkobmV4dCkKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNv
dXJjZVJlcGxhY2VkKG5leHQpCiAgICAgICAgIHsKICAgICAgICAgICAgIHZhciBtb2RlbCA9IGNy
ZWF0ZURlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWxNb2NrKCk7CiAgICAgICAgICAgICB2YXIgcGFu
ZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbChtb2RlbCk7CiAgICAgICAgICAgICBw
YW5lbC5zaG93KCk7CiAKLSAgICAgICAgICAgIHZhciBmaWxlcyA9IFsiaW5kZXguaHRtbCIsICJz
Y3JpcHQxLmpzIiwgInNjcmlwdDIuanMiLCAic2NyaXB0My5qcyJdOwotICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICBwYW5l
bC5fdWlTb3VyY2VDb2RlQWRkZWQoeyBkYXRhOiBjcmVhdGVVSVNvdWNlQ29kZShmaWxlc1tpXSkg
fSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrQ3VycmVudGx5U2VsZWN0ZWRGaWxlTmFt
ZShmaWxlTmFtZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBw
YW5lbC5fZmlsZVNlbGVjdG9yLl9maWxlc1NlbGVjdEVsZW1lbnQuc2VsZWN0ZWRJbmRleDsKLSAg
ICAgICAgICAgICAgICB2YXIgdGV4dCA9IHBhbmVsLl9maWxlU2VsZWN0b3IuX2ZpbGVzU2VsZWN0
RWxlbWVudFtpbmRleF0udGV4dDsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dFRydWUodGV4dC5pbmRleE9mKGZpbGVOYW1lKSAhPT0gLTEsCi0gICAgICAgICAgICAgICAgICAg
ICJXcm9uZyBvcHRpb24gdGV4dC4gRXhwZWN0ZWQgPCIgKyBmaWxlTmFtZSArICI+LCBmb3VuZCA8
IiArIHRleHQgKyAiPi4iKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICBzaG93U291cmNl
RnJhbWUocGFuZWwsIGZpbGVzW2ldKTsKLSAgICAgICAgICAgIGNoZWNrQ3VycmVudGx5U2VsZWN0
ZWRGaWxlTmFtZSgic2NyaXB0My5qcyIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRFcXVhbHModHJ1ZSwgcGFuZWwuX2ZpbGVTZWxlY3Rvci5mb3J3YXJkQnV0dG9uLmRpc2FibGVk
LCAiRm9yd2FyZCBzaG91bGQgYmUgZGlzYWJsZWQuIik7Ci0KLSAgICAgICAgICAgIHBhbmVsLl9m
aWxlU2VsZWN0b3IuYmFja0J1dHRvbi5jbGljaygpOwotICAgICAgICAgICAgY2hlY2tDdXJyZW50
bHlTZWxlY3RlZEZpbGVOYW1lKCJzY3JpcHQyLmpzIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydEVxdWFscyhmYWxzZSwgcGFuZWwuX2ZpbGVTZWxlY3Rvci5mb3J3YXJkQnV0dG9u
LmRpc2FibGVkLCAiRm9yd2FyZCBzaG91bGQgYmUgZW5hYmxlZCBhZnRlciBiYWNrIGJ1dHRvbiBj
bGljay4iKTsKLQotICAgICAgICAgICAgcGFuZWwuX2ZpbGVTZWxlY3Rvci5mb3J3YXJkQnV0dG9u
LmNsaWNrKCk7Ci0gICAgICAgICAgICBjaGVja0N1cnJlbnRseVNlbGVjdGVkRmlsZU5hbWUoInNj
cmlwdDMuanMiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUs
IHBhbmVsLl9maWxlU2VsZWN0b3IuZm9yd2FyZEJ1dHRvbi5kaXNhYmxlZCwgIkZvcndhcmQgc2hv
dWxkIGJlIGRpc2FibGVkIGFmdGVyIGZvcndhcmQgYnV0dG9uIGNsaWNrLiIpOwotCi0gICAgICAg
ICAgICBwYW5lbC5fZmlsZVNlbGVjdG9yLmJhY2tCdXR0b24uY2xpY2soKTsKLSAgICAgICAgICAg
IGNoZWNrQ3VycmVudGx5U2VsZWN0ZWRGaWxlTmFtZSgic2NyaXB0Mi5qcyIpOwotCi0gICAgICAg
ICAgICBwYW5lbC5fZmlsZVNlbGVjdG9yLmJhY2tCdXR0b24uY2xpY2soKTsKLSAgICAgICAgICAg
IGNoZWNrQ3VycmVudGx5U2VsZWN0ZWRGaWxlTmFtZSgic2NyaXB0MS5qcyIpOwotCi0gICAgICAg
ICAgICBwYW5lbC5fZmlsZVNlbGVjdG9yLmJhY2tCdXR0b24uY2xpY2soKTsKLSAgICAgICAgICAg
IGNoZWNrQ3VycmVudGx5U2VsZWN0ZWRGaWxlTmFtZSgiaW5kZXguaHRtbCIpOwotCi0gICAgICAg
ICAgICBwYW5lbC5fZmlsZVNlbGVjdG9yLmZvcndhcmRCdXR0b24uY2xpY2soKTsKLSAgICAgICAg
ICAgIHBhbmVsLl9maWxlU2VsZWN0b3IuZm9yd2FyZEJ1dHRvbi5jbGljaygpOwotICAgICAgICAg
ICAgY2hlY2tDdXJyZW50bHlTZWxlY3RlZEZpbGVOYW1lKCJzY3JpcHQyLmpzIik7Ci0KLSAgICAg
ICAgICAgIHNob3dTb3VyY2VGcmFtZShwYW5lbCwgInNjcmlwdDEuanMiKTsKLSAgICAgICAgICAg
IGNoZWNrQ3VycmVudGx5U2VsZWN0ZWRGaWxlTmFtZSgic2NyaXB0MS5qcyIpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModHJ1ZSwgcGFuZWwuX2ZpbGVTZWxlY3Rvci5m
b3J3YXJkQnV0dG9uLmRpc2FibGVkKTsKLQotICAgICAgICAgICAgcGFuZWwuX2ZpbGVTZWxlY3Rv
ci5iYWNrQnV0dG9uLmNsaWNrKCk7Ci0gICAgICAgICAgICBjaGVja0N1cnJlbnRseVNlbGVjdGVk
RmlsZU5hbWUoInNjcmlwdDIuanMiKTsKKyAgICAgICAgICAgIHBhbmVsLl91aVNvdXJjZUNvZGVB
ZGRlZCh7IGRhdGE6IGNyZWF0ZVVJU291Y2VDb2RlKCJmb28uanMiKSB9KTsKKyAgICAgICAgICAg
IHZhciBjb21waWxlZFNvdXJjZUNvZGUgPSBjcmVhdGVVSVNvdWNlQ29kZSgiY29tcGlsZWQuanMi
KTsKKyAgICAgICAgICAgIHBhbmVsLl91aVNvdXJjZUNvZGVBZGRlZCh7IGRhdGE6IGNvbXBpbGVk
U291cmNlQ29kZSB9KTsKIAotICAgICAgICAgICAgcGFuZWwuX2ZpbGVTZWxlY3Rvci5iYWNrQnV0
dG9uLmNsaWNrKCk7Ci0gICAgICAgICAgICBjaGVja0N1cnJlbnRseVNlbGVjdGVkRmlsZU5hbWUo
ImluZGV4Lmh0bWwiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNjcmlwdHNOYXZp
Z2F0b3IocGFuZWwuX25hdmlnYXRvcik7CiAKLSAgICAgICAgICAgIHBhbmVsLmRldGFjaCgpOwot
ICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAorICAgICAgICAgICAgLy8gUGx1ZyBjb21w
aWxlciBzb3VyY2UgbWFwcGluZy4KKyAgICAgICAgICAgIHZhciBzb3VyY2UxU291cmNlQ29kZSA9
IGNyZWF0ZVVJU291Y2VDb2RlKCJzb3VyY2UxLmpzIik7CisgICAgICAgICAgICB2YXIgc291cmNl
MlNvdXJjZUNvZGUgPSBjcmVhdGVVSVNvdWNlQ29kZSgic291cmNlMi5qcyIpOworICAgICAgICAg
ICAgcGFuZWwuX3VpU291cmNlQ29kZVJlcGxhY2VkKHsgZGF0YTogeyBvbGRVSVNvdXJjZUNvZGVM
aXN0OiBbY29tcGlsZWRTb3VyY2VDb2RlXSwgdWlTb3VyY2VDb2RlTGlzdDogW3NvdXJjZTFTb3Vy
Y2VDb2RlLCBzb3VyY2UyU291cmNlQ29kZV0gfX0pOwogCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RG
aWxlc1NlbGVjdChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgbW9kZWwgPSBjcmVh
dGVEZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsTW9jaygpOwotICAgICAgICAgICAgdmFyIHBhbmVs
ID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwobW9kZWwpOwotICAgICAgICAgICAgcGFu
ZWwuc2hvdygpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05hdmlnYXRv
cihwYW5lbC5fbmF2aWdhdG9yKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1Njcmlw
dFNvdXJjZU9uU2NyaXB0c1BhbmVsKHBhbmVsLCAic291cmNlMi5qcyIsIHN0ZXAyKTsKIAotICAg
ICAgICAgICAgdmFyIHJvb3RVUkwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci8iOwotICAgICAgICAgICAgdmFyIG5leHRJZCA9IDA7Ci0gICAg
ICAgICAgICBmdW5jdGlvbiBhZGRPcHRpb24odXJsLCBpc0NvbnRlbnRTY3JpcHQpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlKG5leHRJZCsrLCB1cmwsIG51bGwsIG51bGwpOwotICAgICAgICAgICAg
ICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQgPSBpc0NvbnRlbnRTY3JpcHQ7Ci0gICAg
ICAgICAgICAgICAgcGFuZWwuX2ZpbGVTZWxlY3Rvci5fYWRkT3B0aW9uVG9GaWxlc1NlbGVjdCh1
aVNvdXJjZUNvZGUpOworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKSB7CisgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlT25TY3JpcHRzUGFuZWwocGFuZWws
ICJzb3VyY2UxLmpzIiwgc3RlcDMpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgYWRkT3B0
aW9uKHJvb3RVUkwgKyAiZm9vL2Jhci9zY3JpcHQuanMiLCBmYWxzZSk7Ci0gICAgICAgICAgICBh
ZGRPcHRpb24ocm9vdFVSTCArICJmb28vYmFyL2NvbnRlbnRTY3JpcHQyLmpzP2E9MSIsIHRydWUp
OwotICAgICAgICAgICAgYWRkT3B0aW9uKHJvb3RVUkwgKyAiZm9vL2Jhci9zY3JpcHQuanM/YT0y
IiwgZmFsc2UpOwotICAgICAgICAgICAgYWRkT3B0aW9uKHJvb3RVUkwgKyAiZm9vL2Jhci9jb250
ZW50U2NyaXB0LmpzP2E9MiIsIHRydWUpOwotICAgICAgICAgICAgYWRkT3B0aW9uKHJvb3RVUkwg
KyAiZm9vL2Jhci9zY3JpcHQuanM/YT0xIiwgZmFsc2UpOwotICAgICAgICAgICAgYWRkT3B0aW9u
KHJvb3RVUkwgKyAiZm9vL2Jhei9zY3JpcHQuanMiLCBmYWxzZSk7Ci0gICAgICAgICAgICBhZGRP
cHRpb24ocm9vdFVSTCArICJmb28vYmFyL2NvbnRlbnRTY3JpcHQuanM/YT0xIiwgdHJ1ZSk7Ci0g
ICAgICAgICAgICBhZGRPcHRpb24oImh0dHA6Ly9leGFtcGxlLmNvbS8/YT1iIiwgZmFsc2UpOwot
ICAgICAgICAgICAgYWRkT3B0aW9uKCI/YT1iIiwgZmFsc2UpOwotICAgICAgICAgICAgYWRkT3B0
aW9uKCJ2ZXJ5X2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29v
b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZ191cmwiLCBm
YWxzZSk7CiAKLSAgICAgICAgICAgIHZhciBzZWxlY3QgPSBwYW5lbC5fZmlsZVNlbGVjdG9yLl9m
aWxlc1NlbGVjdEVsZW1lbnQ7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlbGVj
dC5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIHZhciBvcHRpb24gPSBzZWxlY3RbaV07
Ci0gICAgICAgICAgICAgICAgdmFyIHRleHQgPSBvcHRpb24udGV4dC5yZXBsYWNlKC8uKkxheW91
dFRlc3RzLywgIkxheW91dFRlc3RzIik7Ci0gICAgICAgICAgICAgICAgdGV4dCA9IHRleHQucmVw
bGFjZSgvXHUwMGEwL2csICIgIikucmVwbGFjZSgvXHUyMDI2L2csICIuLi4iKTsKLSAgICAgICAg
ICAgICAgICB2YXIgdG9vbHRpcCA9IG9wdGlvbi50aXRsZS5yZXBsYWNlKHJvb3RVUkwsICI8cm9v
dD4vIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodGV4dCArICh0
b29sdGlwID8gIigiICsgdG9vbHRpcCArICIpIiA6ICIiKSk7Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICBmdW5jdGlvbiBzdGVwMygpIHsKKyAgICAgICAgICAgICAgICAvLyBVbnBsdWcgY29t
cGlsZXIgc291cmNlIG1hcHBpbmcuCisgICAgICAgICAgICAgICAgcGFuZWwuX3VpU291cmNlQ29k
ZVJlcGxhY2VkKHsgZGF0YTogeyBvbGRVSVNvdXJjZUNvZGVMaXN0OiBbc291cmNlMVNvdXJjZUNv
ZGUsIHNvdXJjZTJTb3VyY2VDb2RlXSwgdWlTb3VyY2VDb2RlTGlzdDogW2NvbXBpbGVkU291cmNl
Q29kZV0gfX0pOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNjcmlwdHNOYXZp
Z2F0b3IocGFuZWwuX25hdmlnYXRvcik7CiAKLSAgICAgICAgICAgIHBhbmVsLmRldGFjaCgpOwot
ICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAgIHBhbmVsLmRldGFjaCgpOworICAg
ICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSwKIAotICAgICAg
ICBmdW5jdGlvbiB0ZXN0U291cmNlUmVwbGFjZWQobmV4dCkKKyAgICAgICAgZnVuY3Rpb24gdGVz
dFNvdXJjZVJlcGxhY2VkV2l0aENvbWJvQm94RmlsZVNlbGVjdG9yKG5leHQpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIHZhciBtb2RlbCA9IGNyZWF0ZURlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWxN
b2NrKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MudXNlU2NyaXB0c05hdmln
YXRvci5zZXQoZmFsc2UpOwogICAgICAgICAgICAgdmFyIHBhbmVsID0gbmV3IFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwobW9kZWwpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdz
LnVzZVNjcmlwdHNOYXZpZ2F0b3Iuc2V0KHRydWUpOwogICAgICAgICAgICAgcGFuZWwuc2hvdygp
OwogCiAgICAgICAgICAgICBwYW5lbC5fdWlTb3VyY2VDb2RlQWRkZWQoeyBkYXRhOiBjcmVhdGVV
SVNvdWNlQ29kZSgiZm9vLmpzIikgfSk7CiAgICAgICAgICAgICB2YXIgY29tcGlsZWRTb3VyY2VD
b2RlID0gY3JlYXRlVUlTb3VjZUNvZGUoImNvbXBpbGVkLmpzIik7CiAgICAgICAgICAgICBwYW5l
bC5fdWlTb3VyY2VDb2RlQWRkZWQoeyBkYXRhOiBjb21waWxlZFNvdXJjZUNvZGUgfSk7CiAKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDIsIHBhbmVsLl9maWxlU2VsZWN0
b3IuX2ZpbGVzU2VsZWN0RWxlbWVudC5sZW5ndGgpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wQ29tYm9Cb3hGaWxlU2VsZWN0b3IocGFuZWwuX2ZpbGVTZWxlY3Rvcik7CiAKICAgICAg
ICAgICAgIC8vIFBsdWcgY29tcGlsZXIgc291cmNlIG1hcHBpbmcuCiAgICAgICAgICAgICB2YXIg
c291cmNlMVNvdXJjZUNvZGUgPSBjcmVhdGVVSVNvdWNlQ29kZSgic291cmNlMS5qcyIpOwogICAg
ICAgICAgICAgdmFyIHNvdXJjZTJTb3VyY2VDb2RlID0gY3JlYXRlVUlTb3VjZUNvZGUoInNvdXJj
ZTIuanMiKTsKICAgICAgICAgICAgIHBhbmVsLl91aVNvdXJjZUNvZGVSZXBsYWNlZCh7IGRhdGE6
IHsgb2xkVUlTb3VyY2VDb2RlTGlzdDogW2NvbXBpbGVkU291cmNlQ29kZV0sIHVpU291cmNlQ29k
ZUxpc3Q6IFtzb3VyY2UxU291cmNlQ29kZSwgc291cmNlMlNvdXJjZUNvZGVdIH19KTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbWJvQm94RmlsZVNlbGVjdG9yKHBhbmVsLl9maWxl
U2VsZWN0b3IpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlT25T
Y3JpcHRzUGFuZWwocGFuZWwsICJzb3VyY2UyLmpzIiwgc3RlcDIpOwogCi0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygzLCBwYW5lbC5fZmlsZVNlbGVjdG9yLl9maWxlc1Nl
bGVjdEVsZW1lbnQubGVuZ3RoKTsKLSAgICAgICAgICAgIHNob3dTb3VyY2VGcmFtZShwYW5lbCwg
InNvdXJjZTIuanMiKTsKLSAgICAgICAgICAgIHNob3dTb3VyY2VGcmFtZShwYW5lbCwgInNvdXJj
ZTEuanMiKTsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkgeworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZU9uU2NyaXB0c1BhbmVsKHBhbmVsLCAic291
cmNlMS5qcyIsIHN0ZXAzKTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLy8gVW5wbHVn
IGNvbXBpbGVyIHNvdXJjZSBtYXBwaW5nLgotICAgICAgICAgICAgcGFuZWwuX3VpU291cmNlQ29k
ZVJlcGxhY2VkKHsgZGF0YTogeyBvbGRVSVNvdXJjZUNvZGVMaXN0OiBbc291cmNlMVNvdXJjZUNv
ZGUsIHNvdXJjZTJTb3VyY2VDb2RlXSwgdWlTb3VyY2VDb2RlTGlzdDogW2NvbXBpbGVkU291cmNl
Q29kZV0gfX0pOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMiwgcGFu
ZWwuX2ZpbGVTZWxlY3Rvci5fZmlsZXNTZWxlY3RFbGVtZW50Lmxlbmd0aCk7CisgICAgICAgICAg
ICBmdW5jdGlvbiBzdGVwMygpIHsKKyAgICAgICAgICAgICAgICAvLyBVbnBsdWcgY29tcGlsZXIg
c291cmNlIG1hcHBpbmcuCisgICAgICAgICAgICAgICAgcGFuZWwuX3VpU291cmNlQ29kZVJlcGxh
Y2VkKHsgZGF0YTogeyBvbGRVSVNvdXJjZUNvZGVMaXN0OiBbc291cmNlMVNvdXJjZUNvZGUsIHNv
dXJjZTJTb3VyY2VDb2RlXSwgdWlTb3VyY2VDb2RlTGlzdDogW2NvbXBpbGVkU291cmNlQ29kZV0g
fX0pOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbWJvQm94RmlsZVNlbGVj
dG9yKHBhbmVsLl9maWxlU2VsZWN0b3IpOwogCi0gICAgICAgICAgICBwYW5lbC5kZXRhY2goKTsK
LSAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBwYW5lbC5kZXRhY2goKTsKKyAg
ICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICBdKTsK
IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1z
b3J0aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3Jp
cHRzLXNvcnRpbmctZXhwZWN0ZWQudHh0CmluZGV4IGEyMzYzYjg5ZmE3ZDIwZjhkY2MxMTNlZDRk
MzEyZWQ5Yzc1OTQ1NmMuLjAyMzBjZDZlZDI2NTAxZjdjYjU3NjMxM2JkZTk3YmY0ZTM2MzI5OWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXNvcnRp
bmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3Jp
cHRzLXNvcnRpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDgzICsxLDE1OSBAQAogVGVzdHMgc2NyaXB0
cyBzb3J0aW5nIGluIHRoZSBzY3JpcHRzIHBhbmVsLgogCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4K
IAogV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dTY3JpcHRGb2xkZXJzID0gdHJ1ZQotICAgICpO
b24qVVJMKnBhdGgKK0R1bXBpbmcgQ29tYm9Cb3hGaWxlU2VsZWN0b3I6CisgICAgKk5vbipVUkwq
cGF0aCgqTm9uKlVSTCpwYXRoKQog4oCUIGJhci5jb20g4oCUCiAvZm9vL3BhdGgKLSAgICBiYXIu
anM/ZmlsZT1iYXIvenp6LmpzCi0gICAgZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcworICAgIGJhci5q
cz9maWxlPWJhci96enouanMoaHR0cDovL2Jhci5jb20vZm9vL3BhdGgvYmFyLmpzP2ZpbGU9YmFy
L3p6ei5qcykKKyAgICBmb28uanM/ZmlsZT1iYXIvYWFhLmpzKGh0dHA6Ly9iYXIuY29tL2Zvby9w
YXRoL2Zvby5qcz9maWxlPWJhci9hYWEuanMpCiDigJQgZm9vLmNvbSDigJQKLSAgICBibG9jay5q
cz9ibG9jaz1mb28KLSAgICBnYS5qcwotICAgIGxlbnRhLmJhbj9wZz00ODgzJmlmcj0xCi0gICAg
bGVudGEuYmFuP3BnPTUzMDkmaWZyPTEKLSAgICB0b3AxMDAuamNuPzgwNjc0CisgICAgYmxvY2su
anM/YmxvY2s9Zm9vKGh0dHA6Ly9mb28uY29tL2Jsb2NrLmpzP2Jsb2NrPWZvbykKKyAgICBnYS5q
cyhodHRwOi8vZm9vLmNvbS9nYS5qcykKKyAgICBsZW50YS5iYW4/cGc9NDg4MyZpZnI9MShodHRw
Oi8vZm9vLmNvbS9sZW50YS5iYW4/cGc9NDg4MyZpZnI9MSkKKyAgICBsZW50YS5iYW4/cGc9NTMw
OSZpZnI9MShodHRwOi8vZm9vLmNvbS9sZW50YS5iYW4/cGc9NTMwOSZpZnI9MSkKKyAgICB0b3Ax
MDAuamNuPzgwNjc0KGh0dHA6Ly9mb28uY29tL3RvcDEwMC5qY24/ODA2NzQpCiAvX2pzL3Byb2R1
Y3Rpb24KLSAgICBtb3Rvci5qcz8xMzA4OTI3NDMyCisgICAgbW90b3IuanM/MTMwODkyNzQzMiho
dHRwOi8vZm9vLmNvbS9fanMvcHJvZHVjdGlvbi9tb3Rvci5qcz8xMzA4OTI3NDMyKQogL2Zvby9w
YXRoCi0gICAgYmFyLmpzP2ZpbGU9YmFyL3p6ei5qcwotICAgIGZvby5qcz9maWxlPWJhci9hYWEu
anMKKyAgICBiYXIuanM/ZmlsZT1iYXIvenp6LmpzKGh0dHA6Ly9mb28uY29tL2Zvby9wYXRoL2Jh
ci5qcz9maWxlPWJhci96enouanMpCisgICAgZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcyhodHRwOi8v
Zm9vLmNvbS9mb28vcGF0aC9mb28uanM/ZmlsZT1iYXIvYWFhLmpzKQogL2kKLSAgICB4Z2VtaXVz
LmpzCisgICAgeGdlbWl1cy5qcyhodHRwOi8vZm9vLmNvbS9pL3hnZW1pdXMuanMpCiAvaS9qcwot
ICAgIGpxdWVyeS0xLjUuMS5taW4uanMKLSAgICBqcXVlcnkuY29va2llLmpzCisgICAganF1ZXJ5
LTEuNS4xLm1pbi5qcyhodHRwOi8vZm9vLmNvbS9pL2pzL2pxdWVyeS0xLjUuMS5taW4uanMpCisg
ICAganF1ZXJ5LmNvb2tpZS5qcyhodHRwOi8vZm9vLmNvbS9pL2pzL2pxdWVyeS5jb29raWUuanMp
CiDigJQgQ29udGVudCBzY3JpcHRzIOKAlAotICAgICpOb24qVVJMKnBhdGgKKyAgICAqTm9uKlVS
TCpwYXRoKCpOb24qVVJMKnBhdGgpCiBleHRlbnNpb24tbmFtZQotICAgIGJhci5qcworICAgIGJh
ci5qcyhleHRlbnNpb24tc2NoZW1hOi8vZXh0ZW5zaW9uLW5hbWUvYmFyLmpzKQogZXh0ZW5zaW9u
LW5hbWUvZm9sZGVyCi0gICAgYmF6LmpzCisgICAgYmF6LmpzKGV4dGVuc2lvbi1zY2hlbWE6Ly9l
eHRlbnNpb24tbmFtZS9mb2xkZXIvYmF6LmpzKQorRHVtcGluZyBTY3JpcHRzTmF2aWdhdG9yICdT
Y3JpcHRzJyB0YWI6CisgIGJhci5jb20KKyAgICBmb28vcGF0aAorICAgICAgYmFyLmpzP2ZpbGU9
YmFyL3p6ei5qcworICAgICAgZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcworICBmb28uY29tCisgICAg
X2pzL3Byb2R1Y3Rpb24KKyAgICAgIG1vdG9yLmpzPzEzMDg5Mjc0MzIKKyAgICBmb28vcGF0aAor
ICAgICAgYmFyLmpzP2ZpbGU9YmFyL3p6ei5qcworICAgICAgZm9vLmpzP2ZpbGU9YmFyL2FhYS5q
cworICAgIGkKKyAgICAgIHhnZW1pdXMuanMKKyAgICBpL2pzCisgICAgICBqcXVlcnktMS41LjEu
bWluLmpzCisgICAgICBqcXVlcnkuY29va2llLmpzCisgICAgYmxvY2suanM/YmxvY2s9Zm9vCisg
ICAgZ2EuanMKKyAgICBsZW50YS5iYW4/cGc9NDg4MyZpZnI9MQorICAgIGxlbnRhLmJhbj9wZz01
MzA5Jmlmcj0xCisgICAgdG9wMTAwLmpjbj84MDY3NAorICAqTm9uKlVSTCpwYXRoCitEdW1waW5n
IFNjcmlwdHNOYXZpZ2F0b3IgJ0NvbnRlbnQgc2NyaXB0cycgdGFiOgorICBleHRlbnNpb24tbmFt
ZQorICAgIGZvbGRlcgorICAgICAgYmF6LmpzCisgICAgYmFyLmpzCisgICpOb24qVVJMKnBhdGgK
IAogV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dTY3JpcHRGb2xkZXJzID0gZmFsc2UKLSpOb24q
VVJMKnBhdGgKLWJhci5qcz9maWxlPWJhci96enouanMKLWJhci5qcz9maWxlPWJhci96enouanMK
LWJsb2NrLmpzP2Jsb2NrPWZvbwotZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcwotZm9vLmpzP2ZpbGU9
YmFyL2FhYS5qcwotZ2EuanMKLWpxdWVyeS0xLjUuMS5taW4uanMKLWpxdWVyeS5jb29raWUuanMK
LWxlbnRhLmJhbj9wZz00ODgzJmlmcj0xCi1sZW50YS5iYW4/cGc9NTMwOSZpZnI9MQotbW90b3Iu
anM/MTMwODkyNzQzMgotdG9wMTAwLmpjbj84MDY3NAoteGdlbWl1cy5qcworRHVtcGluZyBDb21i
b0JveEZpbGVTZWxlY3RvcjoKKypOb24qVVJMKnBhdGgoKk5vbipVUkwqcGF0aCkKK2Jhci5qcz9m
aWxlPWJhci96enouanMoaHR0cDovL2Zvby5jb20vZm9vL3BhdGgvYmFyLmpzP2ZpbGU9YmFyL3p6
ei5qcykKK2Jhci5qcz9maWxlPWJhci96enouanMoaHR0cDovL2Jhci5jb20vZm9vL3BhdGgvYmFy
LmpzP2ZpbGU9YmFyL3p6ei5qcykKK2Jsb2NrLmpzP2Jsb2NrPWZvbyhodHRwOi8vZm9vLmNvbS9i
bG9jay5qcz9ibG9jaz1mb28pCitmb28uanM/ZmlsZT1iYXIvYWFhLmpzKGh0dHA6Ly9mb28uY29t
L2Zvby9wYXRoL2Zvby5qcz9maWxlPWJhci9hYWEuanMpCitmb28uanM/ZmlsZT1iYXIvYWFhLmpz
KGh0dHA6Ly9iYXIuY29tL2Zvby9wYXRoL2Zvby5qcz9maWxlPWJhci9hYWEuanMpCitnYS5qcyho
dHRwOi8vZm9vLmNvbS9nYS5qcykKK2pxdWVyeS0xLjUuMS5taW4uanMoaHR0cDovL2Zvby5jb20v
aS9qcy9qcXVlcnktMS41LjEubWluLmpzKQoranF1ZXJ5LmNvb2tpZS5qcyhodHRwOi8vZm9vLmNv
bS9pL2pzL2pxdWVyeS5jb29raWUuanMpCitsZW50YS5iYW4/cGc9NDg4MyZpZnI9MShodHRwOi8v
Zm9vLmNvbS9sZW50YS5iYW4/cGc9NDg4MyZpZnI9MSkKK2xlbnRhLmJhbj9wZz01MzA5Jmlmcj0x
KGh0dHA6Ly9mb28uY29tL2xlbnRhLmJhbj9wZz01MzA5Jmlmcj0xKQorbW90b3IuanM/MTMwODky
NzQzMihodHRwOi8vZm9vLmNvbS9fanMvcHJvZHVjdGlvbi9tb3Rvci5qcz8xMzA4OTI3NDMyKQor
dG9wMTAwLmpjbj84MDY3NChodHRwOi8vZm9vLmNvbS90b3AxMDAuamNuPzgwNjc0KQoreGdlbWl1
cy5qcyhodHRwOi8vZm9vLmNvbS9pL3hnZW1pdXMuanMpCiDigJQgQ29udGVudCBzY3JpcHRzIOKA
lAotKk5vbipVUkwqcGF0aAotZXh0ZW5zaW9uLW5hbWUvYmFyLmpzCi1leHRlbnNpb24tbmFtZS9m
b2xkZXIvYmF6LmpzCisqTm9uKlVSTCpwYXRoKCpOb24qVVJMKnBhdGgpCitleHRlbnNpb24tbmFt
ZS9iYXIuanMoZXh0ZW5zaW9uLXNjaGVtYTovL2V4dGVuc2lvbi1uYW1lL2Jhci5qcykKK2V4dGVu
c2lvbi1uYW1lL2ZvbGRlci9iYXouanMoZXh0ZW5zaW9uLXNjaGVtYTovL2V4dGVuc2lvbi1uYW1l
L2ZvbGRlci9iYXouanMpCitEdW1waW5nIFNjcmlwdHNOYXZpZ2F0b3IgJ1NjcmlwdHMnIHRhYjoK
KyAgKk5vbipVUkwqcGF0aAorICBiYXIuanM/ZmlsZT1iYXIvenp6LmpzCisgIGJhci5qcz9maWxl
PWJhci96enouanMKKyAgYmxvY2suanM/YmxvY2s9Zm9vCisgIGZvby5qcz9maWxlPWJhci9hYWEu
anMKKyAgZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcworICBnYS5qcworICBqcXVlcnktMS41LjEubWlu
LmpzCisgIGpxdWVyeS5jb29raWUuanMKKyAgbGVudGEuYmFuP3BnPTQ4ODMmaWZyPTEKKyAgbGVu
dGEuYmFuP3BnPTUzMDkmaWZyPTEKKyAgbW90b3IuanM/MTMwODkyNzQzMgorICB0b3AxMDAuamNu
PzgwNjc0CisgIHhnZW1pdXMuanMKK0R1bXBpbmcgU2NyaXB0c05hdmlnYXRvciAnQ29udGVudCBz
Y3JpcHRzJyB0YWI6CisgICpOb24qVVJMKnBhdGgKKyAgYmFyLmpzCisgIGJhei5qcwogCiBXZWJJ
bnNwZWN0b3Iuc2V0dGluZ3Muc2hvd1NjcmlwdEZvbGRlcnMgPSB0cnVlCi0gICAgKk5vbipVUkwq
cGF0aAorRHVtcGluZyBDb21ib0JveEZpbGVTZWxlY3RvcjoKKyAgICAqTm9uKlVSTCpwYXRoKCpO
b24qVVJMKnBhdGgpCiDigJQgYmFyLmNvbSDigJQKIC9mb28vcGF0aAotICAgIGJhci5qcz9maWxl
PWJhci96enouanMKLSAgICBmb28uanM/ZmlsZT1iYXIvYWFhLmpzCisgICAgYmFyLmpzP2ZpbGU9
YmFyL3p6ei5qcyhodHRwOi8vYmFyLmNvbS9mb28vcGF0aC9iYXIuanM/ZmlsZT1iYXIvenp6Lmpz
KQorICAgIGZvby5qcz9maWxlPWJhci9hYWEuanMoaHR0cDovL2Jhci5jb20vZm9vL3BhdGgvZm9v
LmpzP2ZpbGU9YmFyL2FhYS5qcykKIOKAlCBmb28uY29tIOKAlAotICAgIGJsb2NrLmpzP2Jsb2Nr
PWZvbwotICAgIGdhLmpzCi0gICAgbGVudGEuYmFuP3BnPTQ4ODMmaWZyPTEKLSAgICBsZW50YS5i
YW4/cGc9NTMwOSZpZnI9MQotICAgIHRvcDEwMC5qY24/ODA2NzQKKyAgICBibG9jay5qcz9ibG9j
az1mb28oaHR0cDovL2Zvby5jb20vYmxvY2suanM/YmxvY2s9Zm9vKQorICAgIGdhLmpzKGh0dHA6
Ly9mb28uY29tL2dhLmpzKQorICAgIGxlbnRhLmJhbj9wZz00ODgzJmlmcj0xKGh0dHA6Ly9mb28u
Y29tL2xlbnRhLmJhbj9wZz00ODgzJmlmcj0xKQorICAgIGxlbnRhLmJhbj9wZz01MzA5Jmlmcj0x
KGh0dHA6Ly9mb28uY29tL2xlbnRhLmJhbj9wZz01MzA5Jmlmcj0xKQorICAgIHRvcDEwMC5qY24/
ODA2NzQoaHR0cDovL2Zvby5jb20vdG9wMTAwLmpjbj84MDY3NCkKIC9fanMvcHJvZHVjdGlvbgot
ICAgIG1vdG9yLmpzPzEzMDg5Mjc0MzIKKyAgICBtb3Rvci5qcz8xMzA4OTI3NDMyKGh0dHA6Ly9m
b28uY29tL19qcy9wcm9kdWN0aW9uL21vdG9yLmpzPzEzMDg5Mjc0MzIpCiAvZm9vL3BhdGgKLSAg
ICBiYXIuanM/ZmlsZT1iYXIvenp6LmpzCi0gICAgZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcworICAg
IGJhci5qcz9maWxlPWJhci96enouanMoaHR0cDovL2Zvby5jb20vZm9vL3BhdGgvYmFyLmpzP2Zp
bGU9YmFyL3p6ei5qcykKKyAgICBmb28uanM/ZmlsZT1iYXIvYWFhLmpzKGh0dHA6Ly9mb28uY29t
L2Zvby9wYXRoL2Zvby5qcz9maWxlPWJhci9hYWEuanMpCiAvaQotICAgIHhnZW1pdXMuanMKKyAg
ICB4Z2VtaXVzLmpzKGh0dHA6Ly9mb28uY29tL2kveGdlbWl1cy5qcykKIC9pL2pzCi0gICAganF1
ZXJ5LTEuNS4xLm1pbi5qcwotICAgIGpxdWVyeS5jb29raWUuanMKKyAgICBqcXVlcnktMS41LjEu
bWluLmpzKGh0dHA6Ly9mb28uY29tL2kvanMvanF1ZXJ5LTEuNS4xLm1pbi5qcykKKyAgICBqcXVl
cnkuY29va2llLmpzKGh0dHA6Ly9mb28uY29tL2kvanMvanF1ZXJ5LmNvb2tpZS5qcykKIOKAlCBD
b250ZW50IHNjcmlwdHMg4oCUCi0gICAgKk5vbipVUkwqcGF0aAorICAgICpOb24qVVJMKnBhdGgo
Kk5vbipVUkwqcGF0aCkKIGV4dGVuc2lvbi1uYW1lCi0gICAgYmFyLmpzCisgICAgYmFyLmpzKGV4
dGVuc2lvbi1zY2hlbWE6Ly9leHRlbnNpb24tbmFtZS9iYXIuanMpCiBleHRlbnNpb24tbmFtZS9m
b2xkZXIKLSAgICBiYXouanMKLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KKyAgICBiYXouanMoZXh0
ZW5zaW9uLXNjaGVtYTovL2V4dGVuc2lvbi1uYW1lL2ZvbGRlci9iYXouanMpCitEdW1waW5nIFNj
cmlwdHNOYXZpZ2F0b3IgJ1NjcmlwdHMnIHRhYjoKKyAgYmFyLmNvbQorICAgIGZvby9wYXRoCisg
ICAgICBiYXIuanM/ZmlsZT1iYXIvenp6LmpzCisgICAgICBmb28uanM/ZmlsZT1iYXIvYWFhLmpz
CisgIGZvby5jb20KKyAgICBfanMvcHJvZHVjdGlvbgorICAgICAgbW90b3IuanM/MTMwODkyNzQz
MgorICAgIGZvby9wYXRoCisgICAgICBiYXIuanM/ZmlsZT1iYXIvenp6LmpzCisgICAgICBmb28u
anM/ZmlsZT1iYXIvYWFhLmpzCisgICAgaQorICAgICAgeGdlbWl1cy5qcworICAgIGkvanMKKyAg
ICAgIGpxdWVyeS0xLjUuMS5taW4uanMKKyAgICAgIGpxdWVyeS5jb29raWUuanMKKyAgICBibG9j
ay5qcz9ibG9jaz1mb28KKyAgICBnYS5qcworICAgIGxlbnRhLmJhbj9wZz00ODgzJmlmcj0xCisg
ICAgbGVudGEuYmFuP3BnPTUzMDkmaWZyPTEKKyAgICB0b3AxMDAuamNuPzgwNjc0CisgICpOb24q
VVJMKnBhdGgKK0R1bXBpbmcgU2NyaXB0c05hdmlnYXRvciAnQ29udGVudCBzY3JpcHRzJyB0YWI6
CisgIGV4dGVuc2lvbi1uYW1lCisgICAgZm9sZGVyCisgICAgICBiYXouanMKKyAgICBiYXIuanMK
KyAgKk5vbipVUkwqcGF0aAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc2NyaXB0cy1zb3J0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvc2NyaXB0cy1zb3J0aW5nLmh0bWwKaW5kZXggOTQyNDA3MTY0YzM5NDYxOGQyZmQ0ZGQ3YjBi
NTdhZmMwZDhiMTBmYy4uZWU0MTA5Njk1Zjk0Y2ZkMjJjODVlOGZlNjg1MDZhZjU4ZmNiYjIxNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtc29ydGlu
Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXNvcnRp
bmcuaHRtbApAQCAtOSw3MiArOSw2NSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAvLyBBbHdheXMg
dXNlIGluZGVudGF0aW9uIGluIHNjcmlwdHMgZHJvcCBib3gKICAgICBXZWJJbnNwZWN0b3IuX2lz
TWFjID0gZmFsc2U7CiAKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAx
KTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIHZhciBzY3JpcHRzID0g
WwotICAgICAgICAgICAgImJsb2NrLmpzP2Jsb2NrPWZvbyIsCi0gICAgICAgICAgICAiZ2EuanMi
LAotICAgICAgICAgICAgImxlbnRhLmJhbj9wZz00ODgzJmlmcj0xIiwKLSAgICAgICAgICAgICJs
ZW50YS5iYW4/cGc9NTMwOSZpZnI9MSIsCi0gICAgICAgICAgICAidG9wMTAwLmpjbj84MDY3NCIs
Ci0gICAgICAgICAgICAiX2pzL3Byb2R1Y3Rpb24vbW90b3IuanM/MTMwODkyNzQzMiIsCi0gICAg
ICAgICAgICAiaS94Z2VtaXVzLmpzIiwKLSAgICAgICAgICAgICJpL2pzL2pxdWVyeS0xLjUuMS5t
aW4uanMiLAotICAgICAgICAgICAgImkvanMvanF1ZXJ5LmNvb2tpZS5qcyIsCi0gICAgICAgICAg
ICAiZm9vL3BhdGgvYmFyLmpzP2ZpbGU9YmFyL3p6ei5qcyIsCi0gICAgICAgICAgICAiZm9vL3Bh
dGgvZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcyIgXTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBzY3JpcHRzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgYWRkT3B0aW9uKCJodHRwOi8vZm9v
LmNvbS8iICsgc2NyaXB0c1tpXSk7Ci0KLSAgICAgICAgdmFyIHNjcmlwdHMyID0gWwotICAgICAg
ICAgICAgImZvby9wYXRoL2Jhci5qcz9maWxlPWJhci96enouanMiLAotICAgICAgICAgICAgImZv
by9wYXRoL2Zvby5qcz9maWxlPWJhci9hYWEuanMiIF07Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc2NyaXB0czIubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBhZGRPcHRpb24oImh0dHA6
Ly9iYXIuY29tLyIgKyBzY3JpcHRzMltpXSk7Ci0gICAgICAgIGFkZE9wdGlvbigiKk5vbipVUkwq
cGF0aCIpOwotCi0gICAgICAgIHZhciBleHRlbnNpb25zID0gWwotICAgICAgICAgICAgImV4dGVu
c2lvbi1zY2hlbWE6Ly9leHRlbnNpb24tbmFtZS9iYXIuanMiLAotICAgICAgICAgICAgImV4dGVu
c2lvbi1zY2hlbWE6Ly9leHRlbnNpb24tbmFtZS9mb2xkZXIvYmF6LmpzIiBdOwotICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGV4dGVuc2lvbnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBh
ZGRPcHRpb24oZXh0ZW5zaW9uc1tpXSwgdHJ1ZSk7Ci0gICAgICAgIGFkZE9wdGlvbigiKk5vbipV
UkwqcGF0aCIsIHRydWUpOwotCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBkdW1wU2NyaXB0
c0xpc3QoKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5zaG93U2NyaXB0Rm9s
ZGVycy5zZXQoZmFsc2UpOwotICAgICAgICAgICAgZHVtcFNjcmlwdHNMaXN0KCk7Ci0gICAgICAg
IH0gZmluYWxseSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Muc2hvd1Njcmlw
dEZvbGRlcnMuc2V0KHRydWUpOwotICAgICAgICB9Ci0gICAgICAgIGR1bXBTY3JpcHRzTGlzdCgp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQor
ICAgIHZhciBuYXZpZ2F0b3JGaWxlU2VsZWN0b3IgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNO
YXZpZ2F0b3IoKTsKKyAgICB2YXIgY29tYm9Cb3hGaWxlU2VsZWN0b3IgPSBuZXcgV2ViSW5zcGVj
dG9yLlNjcmlwdHNQYW5lbC5Db21ib0JveEZpbGVTZWxlY3RvcigpOwogCiAgICAgdmFyIG5leHRJ
ZCA9IDE7Ci0KLSAgICBmdW5jdGlvbiBhZGRPcHRpb24odXJsLCBpc0NvbnRlbnRTY3JpcHQpCisg
ICAgZnVuY3Rpb24gYWRkVUlTb3VyY2VDb2RlKHVybCwgaXNDb250ZW50U2NyaXB0KQogICAgIHsK
ICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
KG5leHRJZCsrLCB1cmwsIG51bGwsIG51bGwpOwogICAgICAgICB1aVNvdXJjZUNvZGUuaXNDb250
ZW50U2NyaXB0ID0gaXNDb250ZW50U2NyaXB0OwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LnNjcmlwdHMuX2ZpbGVTZWxlY3Rvci5fYWRkT3B0aW9uVG9GaWxlc1NlbGVjdCh1aVNvdXJjZUNv
ZGUpOworICAgICAgICBuYXZpZ2F0b3JGaWxlU2VsZWN0b3IuYWRkVUlTb3VyY2VDb2RlKHVpU291
cmNlQ29kZSk7CisgICAgICAgIGNvbWJvQm94RmlsZVNlbGVjdG9yLmFkZFVJU291cmNlQ29kZSh1
aVNvdXJjZUNvZGUpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGR1bXBTY3JpcHRzTGlzdCgpCiAg
ICAgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CiAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJXZWJJbnNwZWN0b3Iuc2V0dGluZ3Muc2hvd1NjcmlwdEZvbGRl
cnMgPSAiICsgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dTY3JpcHRGb2xkZXJzLmdldCgpKTsK
LSAgICAgICAgdmFyIHNlbGVjdCA9IFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5fZmlsZVNl
bGVjdG9yLl9maWxlc1NlbGVjdEVsZW1lbnQ7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
c2VsZWN0Lmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoc2VsZWN0W2ldLl91aVNvdXJj
ZUNvZGUgJiYgc2VsZWN0W2ldLl91aVNvdXJjZUNvZGUudXJsLmluZGV4T2YoIkxheW91dFRlc3Rz
LyIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmIChz
ZWxlY3RbaV0udGV4dENvbnRlbnQuaW5kZXhPZigiTGF5b3V0VGVzdHMvIikgIT09IC0xKQotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoc2VsZWN0W2ldLnRleHRDb250ZW50LnJlcGxhY2UoL1x1MDBhMC9nLCAiICIpKTsKLSAgICAg
ICAgfQorCisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbWJvQm94RmlsZVNlbGVjdG9yKGNv
bWJvQm94RmlsZVNlbGVjdG9yKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05h
dmlnYXRvcihuYXZpZ2F0b3JGaWxlU2VsZWN0b3IpOworICAgIH0KKworICAgIHZhciBzY3JpcHRz
ID0gWworICAgICAgICAiYmxvY2suanM/YmxvY2s9Zm9vIiwKKyAgICAgICAgImdhLmpzIiwKKyAg
ICAgICAgImxlbnRhLmJhbj9wZz00ODgzJmlmcj0xIiwKKyAgICAgICAgImxlbnRhLmJhbj9wZz01
MzA5Jmlmcj0xIiwKKyAgICAgICAgInRvcDEwMC5qY24/ODA2NzQiLAorICAgICAgICAiX2pzL3By
b2R1Y3Rpb24vbW90b3IuanM/MTMwODkyNzQzMiIsCisgICAgICAgICJpL3hnZW1pdXMuanMiLAor
ICAgICAgICAiaS9qcy9qcXVlcnktMS41LjEubWluLmpzIiwKKyAgICAgICAgImkvanMvanF1ZXJ5
LmNvb2tpZS5qcyIsCisgICAgICAgICJmb28vcGF0aC9iYXIuanM/ZmlsZT1iYXIvenp6LmpzIiwK
KyAgICAgICAgImZvby9wYXRoL2Zvby5qcz9maWxlPWJhci9hYWEuanMiIF07CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgKytpKQorICAgICAgICBhZGRVSVNvdXJjZUNv
ZGUoImh0dHA6Ly9mb28uY29tLyIgKyBzY3JpcHRzW2ldKTsKKworICAgIHZhciBzY3JpcHRzMiA9
IFsKKyAgICAgICAgImZvby9wYXRoL2Jhci5qcz9maWxlPWJhci96enouanMiLAorICAgICAgICAi
Zm9vL3BhdGgvZm9vLmpzP2ZpbGU9YmFyL2FhYS5qcyIgXTsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHNjcmlwdHMyLmxlbmd0aDsgKytpKQorICAgICAgICBhZGRVSVNvdXJjZUNvZGUoImh0dHA6
Ly9iYXIuY29tLyIgKyBzY3JpcHRzMltpXSk7CisgICAgYWRkVUlTb3VyY2VDb2RlKCIqTm9uKlVS
TCpwYXRoIik7CisKKyAgICB2YXIgZXh0ZW5zaW9ucyA9IFsKKyAgICAgICAgImV4dGVuc2lvbi1z
Y2hlbWE6Ly9leHRlbnNpb24tbmFtZS9iYXIuanMiLAorICAgICAgICAiZXh0ZW5zaW9uLXNjaGVt
YTovL2V4dGVuc2lvbi1uYW1lL2ZvbGRlci9iYXouanMiIF07CisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBleHRlbnNpb25zLmxlbmd0aDsgKytpKQorICAgICAgICBhZGRVSVNvdXJjZUNvZGUoZXh0
ZW5zaW9uc1tpXSwgdHJ1ZSk7CisgICAgYWRkVUlTb3VyY2VDb2RlKCIqTm9uKlVSTCpwYXRoIiwg
dHJ1ZSk7CisKKyAgICB0cnkgeworICAgICAgICBkdW1wU2NyaXB0c0xpc3QoKTsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dTY3JpcHRGb2xkZXJzLnNldChmYWxzZSk7CisgICAg
ICAgIGR1bXBTY3JpcHRzTGlzdCgpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIFdlYkluc3Bl
Y3Rvci5zZXR0aW5ncy5zaG93U2NyaXB0Rm9sZGVycy5zZXQodHJ1ZSk7CiAgICAgfQorICAgIGR1
bXBTY3JpcHRzTGlzdCgpOworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CiB9CiA8
L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nv
dXJjZS1mcmFtZS1jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nv
dXJjZS1mcmFtZS1jb3VudC5odG1sCmluZGV4IGQ5NmM2NjNlMTUxNWIwZGQ4MjFiNzVlNTBiMzBi
Mzg5ZmQzODJkZjUuLjc3ZDkyMjVhZDY5YmU5NmI4NGZhYTE3ODY5MWFhYmYyN2UzZTgyZDEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zb3VyY2UtZnJhbWUtY291
bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc291cmNlLWZyYW1l
LWNvdW50Lmh0bWwKQEAgLTE3LDI4ICsxNyw0MSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
ICAgIHZhciBzZWxlY3QgPSBwYW5lbC5fZmlsZVNlbGVjdG9yLl9maWxlc1NlbGVjdEVsZW1lbnQ7
CiAgICAgICAgICAgICB2YXIgc291cmNlRnJhbWVDb3VudCA9IDA7CiAKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgic291cmNlLWZyYW1lLWNvdW50Lmh0bWwiLCBk
aWRTaG93U2NyaXB0U291cmNlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1Njcmlw
dFNvdXJjZSgic291cmNlLWZyYW1lLWNvdW50Lmh0bWwiLCBzdGVwMik7CiAKLSAgICAgICAgICAg
IGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2UoKQorICAgICAgICAgICAgZnVuY3Rpb24gc3Rl
cDIoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZENyZWF0ZVNv
dXJjZUZyYW1lKCkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3Vy
Y2UoInNjcmlwdDEuanMiLCBzdGVwMyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHN0ZXAzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LnNob3dTY3JpcHRTb3VyY2UoInNjcmlwdDIuanMiLCBkaWRTaG93U2NyaXB0U291cmNlcyk7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3Vy
Y2VzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBkaWRDcmVhdGVT
b3VyY2VGcmFtZSh1aVNvdXJjZUNvZGUpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICAgICBzb3VyY2VGcmFtZUNvdW50ICs9IDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihwYW5lbCwgIl9jcmVhdGVTb3VyY2VG
cmFtZSIsIGRpZENyZWF0ZVNvdXJjZUZyYW1lLCB0cnVlKTsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSwg
Indhc1Nob3duIiwgZGlkQ3JlYXRlU291cmNlRnJhbWUsIHRydWUpOwogICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShkaWRSZWxvYWQpOwogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICBmdW5jdGlvbiBkaWRSZWxvYWQoKQogICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgic291cmNlLWZyYW1lLWNvdW50
Lmh0bWwiLCBkaWRTaG93U2NyaXB0U291cmNlQWdhaW4pOworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgic2NyaXB0My5qcyIsIGRpZFNob3dTY3JpcHRTb3Vy
Y2VBZ2Fpbik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dT
Y3JpcHRTb3VyY2VBZ2FpbigpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnRUcnVlKHNlbGVjdFtzZWxlY3Quc2VsZWN0ZWRJbmRleF0udGV4dC5pbmRl
eE9mKCJzb3VyY2UtZnJhbWUtY291bnQuaHRtbCIpICE9PSAtMSk7Ci0gICAgICAgICAgICAgICAg
Ly8gVGhlcmUgc2hvdWxkIGJlIG1heGltdW0gMiBzb3VyY2UgZnJhbWVzOiBmaXJzdCBvbmUgaXMg
dGhlIGZpcnN0IHNob3duLCBzZWNvbmQgb25lIGlzIHRoZSBsYXN0IHZpZXdlZCAoInNvdXJjZS1m
cmFtZS1jb3VudC5odG1sIikuCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRF
cXVhbHModHJ1ZSwgc291cmNlRnJhbWVDb3VudCA8PSAyLCAidG9vIG1hbnkgc291cmNlIGZyYW1l
cyBjcmVhdGVkIGFmdGVyIHBhZ2UgcmVsb2FkIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRUcnVlKHBhbmVsLl9lZGl0b3JDb250YWluZXIudmlzaWJsZVZpZXcuX3VpU291
cmNlQ29kZS51cmwuaW5kZXhPZigic2NyaXB0My5qcyIpICE9PSAtMSk7CisgICAgICAgICAgICAg
ICAgLy8gVGhlcmUgc2hvdWxkIGJlIG1heGltdW0gMyBzb3VyY2UgZnJhbWVzIHNob3duOgorICAg
ICAgICAgICAgICAgIC8vICAtIGZpcnN0IG9uZSBpcyB0aGUgZmlyc3Qgc2hvd24gKGZpcnN0IHRh
YiBhZGRlZCkKKyAgICAgICAgICAgICAgICAvLyAgLSBzZWNvbmQgb25lIGlzIHRoZSBsYXN0IHZp
ZXdlZCAoInNjcmlwdDIuanMiKQorICAgICAgICAgICAgICAgIC8vICAtIHRoaXJkIG9uZSBpcyBl
eHBsaWNpdGx5IHNlbGVjdGVkIHNjcmlwdDMuanMuCisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRFcXVhbHModHJ1ZSwgc291cmNlRnJhbWVDb3VudCA8PSAzLCAidG9vIG1hbnkg
c291cmNlIGZyYW1lcyBjcmVhdGVkIGFmdGVyIHBhZ2UgcmVsb2FkIik7CiAgICAgICAgICAgICAg
ICAgbmV4dCgpOwogICAgICAgICAgICAgfQogICAgICAgICB9Cg==
</data>
<flag name="review"
          id="128348"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>