<?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>223505</bug_id>
          
          <creation_ts>2021-03-19 02:50:53 -0700</creation_ts>
          <short_desc>[perf dashboard] Remove non-inclusive words from perf dashboard.</short_desc>
          <delta_ts>2021-03-23 13:50:39 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>dewei_zhu</reporter>
          <assigned_to>dewei_zhu</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741639</commentid>
    <comment_count>0</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2021-03-19 02:50:53 -0700</bug_when>
    <thetext>[perf dashboard] Remove non-inclusive words from perf dashboard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741645</commentid>
    <comment_count>1</comment_count>
      <attachid>423710</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-03-19 03:03:44 -0700</bug_when>
    <thetext>Created attachment 423710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742473</commentid>
    <comment_count>2</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2021-03-22 14:24:59 -0700</bug_when>
    <thetext>Landed in r274800.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742990</commentid>
    <comment_count>3</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2021-03-23 13:50:39 -0700</bug_when>
    <thetext>rdar://75753201</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423710</attachid>
            <date>2021-03-19 03:03:44 -0700</date>
            <delta_ts>2021-03-19 15:00:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223505-20210319030343.patch</filename>
            <type>text/plain</type>
            <size>210047</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0Njk4CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBjNGQ2MTc5MzdiNzU1Y2EwYTlmOGM3N2E3NTViM2U2ZjljMmRlYThjLi4xODhmNTc1MWYy
N2NjZTIxYzBlYmUyNmE1ZTc1MmI0NzI5YTM3NmQwIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMTcgQEAKKzIwMjEtMDMtMTkgIERld2VpIFpodSAgPGRld2VpX3po
dUBhcHBsZS5jb20+CisKKyAgICAgICAgW3BlcmYgZGFzaGJvYXJkXSBSZW1vdmUgbm9uLWluY2x1
c2l2ZSB3b3JkcyBmcm9tIHBlcmYgZGFzaGJvYXJkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBtb3N0IG9mIG5vbi1pbmNsdXNpdmUgdGVy
bWlub2xvZ3kgYW5kIHJlcGxhY2VkIGl0IHdpdGggJ3dvcmtlcicuCisgICAgICAgIE1ha2UgaW1w
YWN0ZWQgQVBJcyBiYWNrd2FyZCBjb21wYXRpYmxlIGR1cmluZyB0cmFuc2l0aW9uLgorICAgICAg
ICBUaGUgbm9uLWluY2x1c2l2ZSB0ZXJtaW5vbG9neSB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgdHJh
bnNpdGlvbi4KKworICAgICAgICAqIGluaXQtZGF0YWJhc2Uuc3FsOiBSZW5hbWUgdGFibGVzIHdp
dGggbm9uLWluY2x1c2l2ZSB3b3Jkcy4KKyAgICAgICAgKiBtaWdyYXRlLWRhdGFiYXNlLnNxbDog
QWRkZWQgbWlncmF0aW9uIFNRTCBmb3IgZXhpc3RpbmcgZGF0YWJhc2UuCisgICAgICAgICogcHVi
bGljL2FkbWluL2J1aWxkLXdvcmtlcnMucGhwOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3B1YmxpYy9hZG1pbi9idWlsZC1zbGF2ZXMucGhwLgorICAgICAgICAqIHB1Ymxp
Yy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwOgorICAgICAgICAqIHB1YmxpYy9hcGkvbWVhc3VyZW1l
bnQtc2V0LnBocDoKKyAgICAgICAgKiBwdWJsaWMvYXBpL3JlcG9ydC1jb21taXRzLnBocDoKKyAg
ICAgICAgKiBwdWJsaWMvYXBpL3J1bnMucGhwOgorICAgICAgICAqIHB1YmxpYy9hcGkvdXBkYXRl
LXRyaWdnZXJhYmxlLnBocDoKKyAgICAgICAgKiBwdWJsaWMvYXBpL3VwbG9hZC1yb290LnBocDoK
KyAgICAgICAgKiBwdWJsaWMvaW5jbHVkZS9hZG1pbi1oZWFkZXIucGhwOgorICAgICAgICAqIHB1
YmxpYy9pbmNsdWRlL2pzb24taGVhZGVyLnBocDoKKyAgICAgICAgKiBwdWJsaWMvaW5jbHVkZS9y
ZXBvcnQtcHJvY2Vzc29yLnBocDoKKyAgICAgICAgKiBwdWJsaWMvcHJpdmlsZWdlZC1hcGkvYWRk
LWJ1aWxkLXJlcXVlc3RzLnBocDoKKyAgICAgICAgKiBwdWJsaWMvcHJpdmlsZWdlZC1hcGkvY3Jl
YXRlLWFuYWx5c2lzLXRhc2sucGhwOgorICAgICAgICAqIHB1YmxpYy9wcml2aWxlZ2VkLWFwaS9j
cmVhdGUtdGVzdC1ncm91cC5waHA6CisgICAgICAgICogcHVibGljL3ByaXZpbGVnZWQtYXBpL3Vw
ZGF0ZS10ZXN0LWdyb3VwLnBocDoKKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvYXBpLWJ1aWxkLXJl
cXVlc3RzLXRlc3RzLmpzOgorICAgICAgICAqIHNlcnZlci10ZXN0cy9hcGktY29tbWl0cy10ZXN0
cy5qczoKKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvYXBpLXJlcG9ydC1jb21taXRzLXRlc3RzLmpz
OgorICAgICAgICAqIHNlcnZlci10ZXN0cy9hcGktcmVwb3J0LXRlc3RzLmpzOgorICAgICAgICAo
ZW1wdHlSZXBvcnQpOgorICAgICAgICAocmVwb3J0V2l0TWlzbWF0Y2hpbmdDb21taXRUaW1lKToK
KyAgICAgICAgKHJlcG9ydFdpdGhPbmVTZWNvbmRDb21taXRUaW1lRGlmZmVyZW5jZSk6CisgICAg
ICAgIChlbXB0eVdvcmtlclJlcG9ydCk6CisgICAgICAgIChlbXB0eVNsYXZlUmVwb3J0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvYXBpLXRlc3QtZ3JvdXBzLmpzOgorICAgICAg
ICAqIHNlcnZlci10ZXN0cy9hcGktdXBkYXRlLXRyaWdnZXJhYmxlLXRlc3RzLmpzOgorICAgICAg
ICAodXBkYXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCk6CisgICAgICAgICh1cGRhdGVXaXRoTWFj
V2ViS2l0UmVwb3NpdG9yeUdyb3Vwcyk6CisgICAgICAgICogc2VydmVyLXRlc3RzL2FwaS11cGxv
YWQtcm9vdC10ZXN0cy5qczoKKyAgICAgICAgKG1ha2VSZXBvcnQpOgorICAgICAgICAoYWRkV29y
a2VyQW5kQ3JlYXRlUm9vdEZpbGUpOgorICAgICAgICAqIHNlcnZlci10ZXN0cy9wcml2aWxlZ2Vk
LWFwaS1hZGQtYnVpbGQtcmVxdWVzdHMtdGVzdHMuanM6CisgICAgICAgIChhc3luYyBjcmVhdGVB
bmFseXNpc1Rhc2spOgorICAgICAgICAoYXN5bmMgYWRkVHJpZ2dlcmFibGVBbmRDcmVhdGVUYXNr
KToKKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGktY3JlYXRlLWFuYWx5c2lz
LXRhc2stdGVzdHMuanM6CisgICAgICAgICogc2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLWNy
ZWF0ZS10ZXN0LWdyb3VwLXRlc3RzLmpzOgorICAgICAgICAoY3JlYXRlQW5hbHlzaXNUYXNrKToK
KyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGktdXBkYXRlLXRlc3QtZ3JvdXAt
dGVzdHMuanM6CisgICAgICAgIChhc3luYyBjcmVhdGVBbmFseXNpc1Rhc2spOgorICAgICAgICAo
YXN5bmMgYWRkVHJpZ2dlcmFibGVBbmRDcmVhdGVUYXNrKToKKyAgICAgICAgKiBzZXJ2ZXItdGVz
dHMvcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzOgorICAgICAgICAqIHNlcnZlci10ZXN0
cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzOgorICAgICAgICAoTW9ja0RhdGEuYWRkTW9ja0NvbmZp
Z3VyYXRpb24pOgorICAgICAgICAoTW9ja0RhdGEuc2V0IG1vY2tUZXN0U3luY0NvbmZpZ1dpdGhT
aW5nbGVCdWlsZGVyKToKKyAgICAgICAgKE1vY2tEYXRhLnNhbXBsZUJ1aWxkRGF0YSk6CisgICAg
ICAgICogc2VydmVyLXRlc3RzL3Jlc291cmNlcy90ZXN0LXNlcnZlci5qczoKKyAgICAgICAgKFRl
c3RTZXJ2ZXIucHJvdG90eXBlLnRlc3RDb25maWcpOgorICAgICAgICAqIHNlcnZlci10ZXN0cy90
b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qczoKKyAgICAgICAgKiBzZXJ2ZXItdGVz
dHMvdG9vbHMtb3MtYnVpbGQtZmV0Y2hlci10ZXN0cy5qczoKKyAgICAgICAgKiBzZXJ2ZXItdGVz
dHMvdG9vbHMtc3luYy1idWlsZGJvdC1pbnRlZ3JhdGlvbi10ZXN0cy5qczoKKyAgICAgICAgKGNy
ZWF0ZVRyaWdnZXJhYmxlKToKKyAgICAgICAgKiB0b29scy9kZXRlY3QtY2hhbmdlcy5qczoKKyAg
ICAgICAgKGxvYWRTZXJ2ZXJDb25maWcpOgorICAgICAgICAqIHRvb2xzL2pzL2J1aWxkYm90LXN5
bmNlci5qczoKKyAgICAgICAgKEJ1aWxkYm90QnVpbGRFbnRyeS5wcm90b3R5cGUuYnVpbGRUYWcp
OgorICAgICAgICAoQnVpbGRib3RTeW5jZXIpOgorICAgICAgICAoQnVpbGRib3RTeW5jZXIucHJv
dG90eXBlLnNjaGVkdWxlUmVxdWVzdCk6CisgICAgICAgIChCdWlsZGJvdFN5bmNlci5wcm90b3R5
cGUuc2NoZWR1bGVSZXF1ZXN0SW5Hcm91cElmQXZhaWxhYmxlKToKKyAgICAgICAgKEJ1aWxkYm90
U3luY2VyLnByb3RvdHlwZS5wdWxsQnVpbGRib3QpOgorICAgICAgICAoQnVpbGRib3RTeW5jZXIu
X2xvYWRDb25maWcpOgorICAgICAgICAoQnVpbGRib3RTeW5jZXIuX3ZhbGlkYXRlQW5kTWVyZ2VD
b25maWcpOgorICAgICAgICAoQnVpbGRib3RCdWlsZEVudHJ5LnByb3RvdHlwZS5zbGF2ZU5hbWUp
OiBEZWxldGVkLgorICAgICAgICAqIHRvb2xzL2pzL2J1aWxkYm90LXRyaWdnZXJhYmxlLmpzOgor
ICAgICAgICAoQnVpbGRib3RUcmlnZ2VyYWJsZSk6CisgICAgICAgIChCdWlsZGJvdFRyaWdnZXJh
YmxlLnByb3RvdHlwZS51cGRhdGVUcmlnZ2VyYWJsZSk6CisgICAgICAgIChCdWlsZGJvdFRyaWdn
ZXJhYmxlLnByb3RvdHlwZS5hc3luYyBzeW5jT25jZSk6CisgICAgICAgIChCdWlsZGJvdFRyaWdn
ZXJhYmxlLnByb3RvdHlwZS5hc3luYyBfc2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKEJ1aWxk
Ym90VHJpZ2dlcmFibGUucHJvdG90eXBlLl9zY2hlZHVsZVJlcXVlc3RJZldvcmtlcklzQXZhaWxh
YmxlKToKKyAgICAgICAgKEJ1aWxkYm90VHJpZ2dlcmFibGUucHJvdG90eXBlLl9zY2hlZHVsZVJl
cXVlc3RXaXRoTG9nKToKKyAgICAgICAgKEJ1aWxkYm90VHJpZ2dlcmFibGUuX3Rlc3RHcm91cE1h
cEZvckJ1aWxkUmVxdWVzdHMpOgorICAgICAgICAoQnVpbGRib3RUcmlnZ2VyYWJsZS5wcm90b3R5
cGUuX3NjaGVkdWxlUmVxdWVzdElmU2xhdmVJc0F2YWlsYWJsZSk6IERlbGV0ZWQuCisgICAgICAg
ICogdG9vbHMvanMvZGF0YWJhc2UuanM6CisgICAgICAgICogdG9vbHMvanMvb3MtYnVpbGQtZmV0
Y2hlci5qczoKKyAgICAgICAgKHByb3RvdHlwZS5hc3luYyBfcmVwb3J0Q29tbWl0cyk6CisgICAg
ICAgICogdG9vbHMvanMvcHJpdmlsZWdlZC1hcGkuanM6CisgICAgICAgIChOb2RlUHJpdmlsZWdl
ZEFQSS5wcm90b3R5cGUuc2VuZFJlcXVlc3QpOgorICAgICAgICAoTm9kZVByaXZpbGVnZWRBUEku
Y29uZmlndXJlKToKKyAgICAgICAgKE5vZGVQcml2aWxlZ2VkQVBJKToKKyAgICAgICAgKiB0b29s
cy9wdWxsLW9zLXZlcnNpb25zLnB5OgorICAgICAgICAoT1NCdWlsZEZldGNoZXIuZmV0Y2hfYW5k
X3JlcG9ydF9uZXdfYnVpbGRzKToKKyAgICAgICAgKiB0b29scy9ydW4tYW5hbHlzaXMuanM6Cisg
ICAgICAgIChhc3luYyBhbmFseXNpc0xvb3ApOgorICAgICAgICAqIHRvb2xzL3N5bmMtYnVpbGRi
b3QuanM6CisgICAgICAgIChzeW5jTG9vcC5jb25zdC5tYWtlVHJpZ2dlcmFibGUpOgorICAgICAg
ICAoc3luY0xvb3ApOgorICAgICAgICAqIHRvb2xzL3N5bmMtY29tbWl0cy5weToKKyAgICAgICAg
KFJlcG9zaXRvcnkuZmV0Y2hfY29tbWl0c19hbmRfc3VibWl0KToKKyAgICAgICAgKiB0b29scy9z
eW5jLW9zLXZlcnNpb25zLmpzOgorICAgICAgICAoc3luY0xvb3ApOgorICAgICAgICAqIHRvb2xz
L3V0aWwucHk6CisgICAgICAgIChzdWJtaXRfY29tbWl0cyk6CisgICAgICAgICogdW5pdC10ZXN0
cy9hbmFseXNpcy10YXNrLXRlc3RzLmpzOgorICAgICAgICAqIHVuaXQtdGVzdHMvYnVpbGRib3Qt
c3luY2VyLXRlc3RzLmpzOgorICAgICAgICAoc2FtcGxlaU9TQ29uZmlnKToKKyAgICAgICAgKHNh
bXBsZUJ1aWxkRGF0YSk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAgICAgICogdW5pdC10
ZXN0cy9jaGVja2NvbmZpZy5qczoKKyAgICAgICAgKiB1bml0LXRlc3RzL21lYXN1cmVtZW50LXNl
dC1hbmFseXplci10ZXN0cy5qczoKKyAgICAgICAgKiB1bml0LXRlc3RzL3ByaXZpbGVnZWQtYXBp
LXRlc3RzLmpzOgorICAgICAgICAqIHVuaXQtdGVzdHMvcmV0cnktZmFpbGVkLWJ1aWxkLXJlcXVl
c3RzLXRlc3RzLmpzOgorICAgICAgICAqIHVuaXQtdGVzdHMvdGVzdC1ncm91cHMtdGVzdHMuanM6
CisKIDIwMjEtMDMtMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgW3BlcmYgZGFzaGJvYXJkXSBVc2UgYXN5bmMvYXdhaXQgaW4gdGVzdHMgZm9yIFRpbWVTZXJp
ZXNDaGFydCBhbmQgSW50ZXJhY3RpdmVUaW1lU2VyaWVzQ2hhcnQKZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9pbml0LWRhdGFiYXNlLnNxbCBiL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9pbml0LWRhdGFiYXNlLnNxbAppbmRleCA3ZmZjODlhZDgyYzc2MTA0MWQxYTU1NmU4
M2Y3Yzk2NzhhMzJmYWMxLi42MDU0OTkwMzg4NTFjZDdjYWMyNjBhMjA3NTJkNGJkYzM2YzhhMjQx
IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvaW5pdC1kYXRhYmFzZS5zcWwK
KysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2luaXQtZGF0YWJhc2Uuc3FsCkBAIC04LDcg
KzgsNyBAQCBEUk9QIFRBQkxFIElGIEVYSVNUUyBjb21taXR0ZXJzIENBU0NBREU7CiBEUk9QIFRB
QkxFIElGIEVYSVNUUyBjb21taXRzIENBU0NBREU7CiBEUk9QIFRBQkxFIElGIEVYSVNUUyBidWls
ZF9jb21taXRzIENBU0NBREU7CiBEUk9QIFRBQkxFIElGIEVYSVNUUyBjb21taXRfb3duZXJzaGlw
cyBDQVNDQURFOwotRFJPUCBUQUJMRSBJRiBFWElTVFMgYnVpbGRfc2xhdmVzIENBU0NBREU7CitE
Uk9QIFRBQkxFIElGIEVYSVNUUyBidWlsZF93b3JrZXJzIENBU0NBREU7CiBEUk9QIFRBQkxFIElG
IEVYSVNUUyBidWlsZGVycyBDQVNDQURFOwogRFJPUCBUQUJMRSBJRiBFWElTVFMgcmVwb3NpdG9y
aWVzIENBU0NBREU7CiBEUk9QIFRBQkxFIElGIEVYSVNUUyBwbGF0Zm9ybXMgQ0FTQ0FERTsKQEAg
LTc0LDE1ICs3NCwxNSBAQCBDUkVBVEUgVEFCTEUgYnVpbGRlcnMgKAogICAgIGJ1aWxkZXJfcGFz
c3dvcmRfaGFzaCBjaGFyYWN0ZXIoNjQpLAogICAgIGJ1aWxkZXJfYnVpbGRfdXJsIHZhcmNoYXIo
MTAyNCkpOwogCi1DUkVBVEUgVEFCTEUgYnVpbGRfc2xhdmVzICgKLSAgICBzbGF2ZV9pZCBzZXJp
YWwgUFJJTUFSWSBLRVksCi0gICAgc2xhdmVfbmFtZSB2YXJjaGFyKDY0KSBOT1QgTlVMTCBVTklR
VUUsCi0gICAgc2xhdmVfcGFzc3dvcmRfaGFzaCBjaGFyYWN0ZXIoNjQpKTsKK0NSRUFURSBUQUJM
RSBidWlsZF93b3JrZXJzICgKKyAgICB3b3JrZXJfaWQgc2VyaWFsIFBSSU1BUlkgS0VZLAorICAg
IHdvcmtlcl9uYW1lIHZhcmNoYXIoNjQpIE5PVCBOVUxMIFVOSVFVRSwKKyAgICB3b3JrZXJfcGFz
c3dvcmRfaGFzaCBjaGFyYWN0ZXIoNjQpKTsKIAogQ1JFQVRFIFRBQkxFIGJ1aWxkcyAoCiAgICAg
YnVpbGRfaWQgc2VyaWFsIFBSSU1BUlkgS0VZLAogICAgIGJ1aWxkX2J1aWxkZXIgaW50ZWdlciBS
RUZFUkVOQ0VTIGJ1aWxkZXJzIE9OIERFTEVURSBDQVNDQURFLAotICAgIGJ1aWxkX3NsYXZlIGlu
dGVnZXIgUkVGRVJFTkNFUyBidWlsZF9zbGF2ZXMgT04gREVMRVRFIENBU0NBREUsCisgICAgYnVp
bGRfd29ya2VyIGludGVnZXIgUkVGRVJFTkNFUyBidWlsZF93b3JrZXJzIE9OIERFTEVURSBDQVND
QURFLAogICAgIGJ1aWxkX3RhZyB2YXJjaGFyKDY0KSBOT1QgTlVMTCwKICAgICBidWlsZF90aW1l
IHRpbWVzdGFtcCBOT1QgTlVMTCwKICAgICBidWlsZF9sYXRlc3RfcmV2aXNpb24gdGltZXN0YW1w
LApAQCAtMTkxLDcgKzE5MSw3IEBAIENSRUFURSBUUklHR0VSIHVwZGF0ZV9jb25maWdfbGFzdF9t
b2RpZmllZCBBRlRFUiBJTlNFUlQgT1IgVVBEQVRFIE9SIERFTEVURSBPTiB0CiBDUkVBVEUgVEFC
TEUgcmVwb3J0cyAoCiAgICAgcmVwb3J0X2lkIHNlcmlhbCBQUklNQVJZIEtFWSwKICAgICByZXBv
cnRfYnVpbGRlciBpbnRlZ2VyIE5PVCBOVUxMIFJFRkVSRU5DRVMgYnVpbGRlcnMgT04gREVMRVRF
IFJFU1RSSUNULAotICAgIHJlcG9ydF9zbGF2ZSBpbnRlZ2VyIFJFRkVSRU5DRVMgYnVpbGRfc2xh
dmVzIE9OIERFTEVURSBSRVNUUklDVCwKKyAgICByZXBvcnRfd29ya2VyIGludGVnZXIgUkVGRVJF
TkNFUyBidWlsZF93b3JrZXJzIE9OIERFTEVURSBSRVNUUklDVCwKICAgICByZXBvcnRfYnVpbGRf
dGFnIHZhcmNoYXIoNjQpLAogICAgIHJlcG9ydF9idWlsZCBpbnRlZ2VyIFJFRkVSRU5DRVMgYnVp
bGRzLAogICAgIHJlcG9ydF9jcmVhdGVkX2F0IHRpbWVzdGFtcCBOT1QgTlVMTCBERUZBVUxUIChD
VVJSRU5UX1RJTUVTVEFNUCBBVCBUSU1FIFpPTkUgJ1VUQycpLApkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL21pZ3JhdGUtZGF0YWJhc2Uuc3FsIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL21pZ3JhdGUtZGF0YWJhc2Uuc3FsCmluZGV4IDQ5YmQyNDlkMmE2ODU3NzY0NDlk
MzZlODA1MjY4ZmNjNGI4NzdhY2EuLmRiMmViZmUzYTIwZDQ2YmJmMjk1M2NkYzUwNDg3NTQ1YzRk
OTI0ZjcgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9taWdyYXRlLWRhdGFi
YXNlLnNxbAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvbWlncmF0ZS1kYXRhYmFzZS5z
cWwKQEAgLTE2LDQgKzE2LDE5IEBAIElGIEVYSVNUUyAoU0VMRUNUIE5VTEwgRlJPTSBpbmZvcm1h
dGlvbl9zY2hlbWEuY29sdW1ucyBXSEVSRSBUQUJMRV9OQU1FID0gJ2J1aWxkCiAgICAgQUxURVIg
VEFCTEUgYnVpbGRzIEFERCBDT05TVFJBSU5UIGJ1aWxkZXJfYnVpbGRfdGltZV90dXBsZV9tdXN0
X2JlX3VuaXF1ZSBVTklRVUUoYnVpbGRfYnVpbGRlciwgYnVpbGRfdGFnLCBidWlsZF90aW1lKTsK
IEVORCBJRjsKIAorSUYgRVhJU1RTIChTRUxFQ1QgTlVMTCBGUk9NIGluZm9ybWF0aW9uX3NjaGVt
YS5jb2x1bW5zIFdIRVJFIFRBQkxFX05BTUUgPSAnYnVpbGRzJyBBTkQgQ09MVU1OX05BTUUgPSAn
YnVpbGRfc2xhdmUnKSBUSEVOCisgICAgQUxURVIgVEFCTEUgYnVpbGRzIFJFTkFNRSBidWlsZF9z
bGF2ZSBUTyBidWlsZF93b3JrZXI7CitFTkQgSUY7CisKK0lGIEVYSVNUUyAoU0VMRUNUIE5VTEwg
RlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyBXSEVSRSBUQUJMRV9OQU1FID0gJ3JlcG9y
dHMnIEFORCBDT0xVTU5fTkFNRSA9ICdyZXBvcnRfc2xhdmUnKSBUSEVOCisgICAgQUxURVIgVEFC
TEUgcmVwb3J0cyBSRU5BTUUgcmVwb3J0X3NsYXZlIFRPIHJlcG9ydF93b3JrZXI7CitFTkQgSUY7
CisKK0lGIEVYSVNUUyAoU0VMRUNUIE5VTEwgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1u
cyBXSEVSRSBUQUJMRV9OQU1FID0gJ2J1aWxkX3NsYXZlcycpIFRIRU4KKyAgICBBTFRFUiBUQUJM
RSBidWlsZF9zbGF2ZXMgUkVOQU1FIHNsYXZlX2lkIFRPIHdvcmtlcl9pZDsKKyAgICBBTFRFUiBU
QUJMRSBidWlsZF9zbGF2ZXMgUkVOQU1FIHNsYXZlX25hbWUgVE8gd29ya2VyX25hbWU7CisgICAg
QUxURVIgVEFCTEUgYnVpbGRfc2xhdmVzIFJFTkFNRSBzbGF2ZV9wYXNzd29yZF9oYXNoIFRPIHdv
cmtlcl9wYXNzd29yZF9oYXNoOworICAgIEFMVEVSIFRBQkxFIGJ1aWxkX3NsYXZlcyBSRU5BTUUg
VE8gYnVpbGRfd29ya2VyczsKK0VORCBJRjsKKwogRU5EJCQ7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hZG1p
bi9idWlsZC1zbGF2ZXMucGhwIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hZG1p
bi9idWlsZC1zbGF2ZXMucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjBiNDky
OGQxYWUyYjUwYzIwOGE5OTVjMzAxMzQ4MTdlODA2ZDgwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMv
YWRtaW4vYnVpbGQtc2xhdmVzLnBocAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTw/
cGhwCi0KLXJlcXVpcmUoJy4uL2luY2x1ZGUvYWRtaW4taGVhZGVyLnBocCcpOwotCi1pZiAoJGRi
KSB7Ci0KLSAgICBpZiAoJGFjdGlvbiA9PSAnYWRkJykgewotICAgICAgICBpZiAoJGRiLT5pbnNl
cnRfcm93KCdidWlsZF9zbGF2ZXMnLCAnc2xhdmUnLCBhcnJheSgnbmFtZScgPT4gJF9QT1NUWydu
YW1lJ10sICdwYXNzd29yZF9oYXNoJyA9PiBoYXNoKCdzaGEyNTYnLCAkX1BPU1RbJ3Bhc3N3b3Jk
J10pKSkpIHsKLSAgICAgICAgICAgIG5vdGljZSgnSW5zZXJ0ZWQgdGhlIG5ldyBzbGF2ZS4nKTsK
LSAgICAgICAgICAgIHJlZ2VuZXJhdGVfbWFuaWZlc3QoKTsKLSAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBub3RpY2UoJ0NvdWxkIG5vdCBhZGQgdGhlIHNsYXZlLicpOwotICAgIH0gZWxzZSBp
ZiAoJGFjdGlvbiA9PSAndXBkYXRlJykgewotICAgICAgICBpZiAodXBkYXRlX2ZpZWxkKCdidWls
ZF9zbGF2ZXMnLCAnc2xhdmUnLCAnbmFtZScpKQotICAgICAgICAgICAgcmVnZW5lcmF0ZV9tYW5p
ZmVzdCgpOwotICAgICAgICBlbHNlIGlmICh1cGRhdGVfZmllbGQoJ2J1aWxkX3NsYXZlcycsICdz
bGF2ZScsICdwYXNzd29yZF9oYXNoJywgaGFzaCgnc2hhMjU2JywgJF9QT1NUWyduZXdfcGFzc3dv
cmQnXSkpKQotICAgICAgICAgICAgcmVnZW5lcmF0ZV9tYW5pZmVzdCgpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBub3RpY2UoJ0ludmFsaWQgcGFyYW1ldGVycy4nKTsKLSAgICB9Ci0KLSAg
ICAkcGFnZSA9IG5ldyBBZG1pbmlzdHJhdGl2ZVBhZ2UoJGRiLCAnYnVpbGRfc2xhdmVzJywgJ3Ns
YXZlJywgYXJyYXkoCi0gICAgICAgICduYW1lJyA9PiBhcnJheSgnc2l6ZScgPT4gNTAsICdlZGl0
aW5nX21vZGUnID0+ICdzdHJpbmcnKSwKLSAgICAgICAgJ3Bhc3N3b3JkX2hhc2gnID0+IGFycmF5
KCksCi0gICAgICAgICdwYXNzd29yZCcgPT4gYXJyYXkoJ3ByZV9pbnNlcnRpb24nID0+IFRSVUUs
ICdlZGl0aW5nX21vZGUnID0+ICdzdHJpbmcnKSwKLSAgICAgICAgJ25ld19wYXNzd29yZCcgPT4g
YXJyYXkoJ3Bvc3RfaW5zZXJ0aW9uJyA9PiBUUlVFLCAnZWRpdGluZ19tb2RlJyA9PiAnc3RyaW5n
JyksCi0gICAgKSk7Ci0KLSAgICAkcGFnZS0+cmVuZGVyX3RhYmxlKCduYW1lJyk7Ci0gICAgJHBh
Z2UtPnJlbmRlcl9mb3JtX3RvX2FkZCgpOwotfQotCi1yZXF1aXJlKCcuLi9pbmNsdWRlL2FkbWlu
LWZvb3Rlci5waHAnKTsKLQotPz4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvYWRtaW4vYnVpbGQtd29ya2Vycy5waHAgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL2FkbWluL2J1aWxkLXdvcmtlcnMucGhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkZWEzMDNlOTQ4
NTMwNjdkZjZlMDdhZjI1YWViODFhMjVjYzkyZGYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FkbWluL2J1aWxkLXdvcmtlcnMucGhwCkBAIC0wLDAg
KzEsMzUgQEAKKzw/cGhwCisKK3JlcXVpcmUoJy4uL2luY2x1ZGUvYWRtaW4taGVhZGVyLnBocCcp
OworCitpZiAoJGRiKSB7CisKKyAgICBpZiAoJGFjdGlvbiA9PSAnYWRkJykgeworICAgICAgICBp
ZiAoJGRiLT5pbnNlcnRfcm93KCdidWlsZF93b3JrZXJzJywgJ3dvcmtlcicsIGFycmF5KCduYW1l
JyA9PiAkX1BPU1RbJ25hbWUnXSwgJ3Bhc3N3b3JkX2hhc2gnID0+IGhhc2goJ3NoYTI1NicsICRf
UE9TVFsncGFzc3dvcmQnXSkpKSkgeworICAgICAgICAgICAgbm90aWNlKCdJbnNlcnRlZCB0aGUg
bmV3IHdvcmtlci4nKTsKKyAgICAgICAgICAgIHJlZ2VuZXJhdGVfbWFuaWZlc3QoKTsKKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBub3RpY2UoJ0NvdWxkIG5vdCBhZGQgdGhlIHdvcmtlci4n
KTsKKyAgICB9IGVsc2UgaWYgKCRhY3Rpb24gPT0gJ3VwZGF0ZScpIHsKKyAgICAgICAgaWYgKHVw
ZGF0ZV9maWVsZCgnYnVpbGRfd29ya2VycycsICd3b3JrZXInLCAnbmFtZScpKQorICAgICAgICAg
ICAgcmVnZW5lcmF0ZV9tYW5pZmVzdCgpOworICAgICAgICBlbHNlIGlmICh1cGRhdGVfZmllbGQo
J2J1aWxkX3dvcmtlcnMnLCAnd29ya2VyJywgJ3Bhc3N3b3JkX2hhc2gnLCBoYXNoKCdzaGEyNTYn
LCAkX1BPU1RbJ25ld19wYXNzd29yZCddKSkpCisgICAgICAgICAgICByZWdlbmVyYXRlX21hbmlm
ZXN0KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG5vdGljZSgnSW52YWxpZCBwYXJhbWV0
ZXJzLicpOworICAgIH0KKworICAgICRwYWdlID0gbmV3IEFkbWluaXN0cmF0aXZlUGFnZSgkZGIs
ICdidWlsZF93b3JrZXJzJywgJ3dvcmtlcicsIGFycmF5KAorICAgICAgICAnbmFtZScgPT4gYXJy
YXkoJ3NpemUnID0+IDUwLCAnZWRpdGluZ19tb2RlJyA9PiAnc3RyaW5nJyksCisgICAgICAgICdw
YXNzd29yZF9oYXNoJyA9PiBhcnJheSgpLAorICAgICAgICAncGFzc3dvcmQnID0+IGFycmF5KCdw
cmVfaW5zZXJ0aW9uJyA9PiBUUlVFLCAnZWRpdGluZ19tb2RlJyA9PiAnc3RyaW5nJyksCisgICAg
ICAgICduZXdfcGFzc3dvcmQnID0+IGFycmF5KCdwb3N0X2luc2VydGlvbicgPT4gVFJVRSwgJ2Vk
aXRpbmdfbW9kZScgPT4gJ3N0cmluZycpLAorICAgICkpOworCisgICAgJHBhZ2UtPnJlbmRlcl90
YWJsZSgnbmFtZScpOworICAgICRwYWdlLT5yZW5kZXJfZm9ybV90b19hZGQoKTsKK30KKworcmVx
dWlyZSgnLi4vaW5jbHVkZS9hZG1pbi1mb290ZXIucGhwJyk7CisKKz8+CmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9idWlsZC1yZXF1ZXN0cy5waHAgYi9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9idWlsZC1yZXF1ZXN0cy5waHAKaW5k
ZXggMDU4MGJhZTdjMDhjOTZkNDM2ZmMzZGU1NzNmYmM1ZTZjNGZmZDQ4OC4uODhlZTdkNGY0MGMx
OTZkNjUxYmM3NWI4NWY1YjRiZGEyMzg0NjY1ZSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3B1YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwCisrKyBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2J1aWxkLXJlcXVlc3RzLnBocApAQCAtMTQsNyArMTQs
NyBAQCBmdW5jdGlvbiBtYWluKCRpZCwgJHBhdGgsICRwb3N0X2RhdGEpIHsKICAgICAkcmVwb3J0
ID0gJHBvc3RfZGF0YSA/IGpzb25fZGVjb2RlKCRwb3N0X2RhdGEsIHRydWUpIDogYXJyYXkoKTsK
ICAgICAkdXBkYXRlcyA9IGFycmF5X2dldCgkcmVwb3J0LCAnYnVpbGRSZXF1ZXN0VXBkYXRlcycp
OwogICAgIGlmICgkdXBkYXRlcykgewotICAgICAgICB2ZXJpZnlfc2xhdmUoJGRiLCAkcmVwb3J0
KTsKKyAgICAgICAgdmVyaWZ5X3dvcmtlcigkZGIsICRyZXBvcnQpOwogICAgICAgICB1cGRhdGVf
YnVpbGRzKCRkYiwgJHVwZGF0ZXMpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3B1YmxpYy9hcGkvbWVhc3VyZW1lbnQtc2V0LnBocCBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL21lYXN1cmVtZW50LXNldC5waHAKaW5kZXggOWRhN2Zj
OGEyN2UxZWFmNjhmY2QxZGFkNTFhOGQ4M2MxYjgzMDQ0OC4uZTYwMmM5ZmVkNDFiNDU0MzhiNTIw
YmFhMDAwYTgxYmUxYTFjNDkyMCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy9hcGkvbWVhc3VyZW1lbnQtc2V0LnBocAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL2FwaS9tZWFzdXJlbWVudC1zZXQucGhwCkBAIC0xNzUsNyArMTc1LDcgQEAg
Y2xhc3MgTWVhc3VyZW1lbnRTZXRGZXRjaGVyIHsKICAgICAgICAgICAgICAgICAgICAgTEVGVCBP
VVRFUiBKT0lOIGJ1aWxkX2NvbW1pdHMgT04gY29tbWl0X2J1aWxkID0gYnVpbGRfaWQKICAgICAg
ICAgICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOIGNvbW1pdHMgT04gYnVpbGRfY29tbWl0ID0g
Y29tbWl0X2lkLCB0ZXN0X3J1bnMKICAgICAgICAgICAgICAgICBXSEVSRSBydW5fYnVpbGQgPSBi
dWlsZF9pZCBBTkQgcnVuX2NvbmZpZyA9ICQxIEFORCBOT1QgRVhJU1RTIChTRUxFQ1QgKiBGUk9N
IGJ1aWxkX3JlcXVlc3RzIFdIRVJFIHJlcXVlc3RfYnVpbGQgPSBidWlsZF9pZCkKLSAgICAgICAg
ICAgICAgICBHUk9VUCBCWSBidWlsZF9pZCwgYnVpbGRfYnVpbGRlciwgYnVpbGRfdGFnLCBidWls
ZF90aW1lLCBidWlsZF9sYXRlc3RfcmV2aXNpb24sIGJ1aWxkX3NsYXZlLAorICAgICAgICAgICAg
ICAgIEdST1VQIEJZIGJ1aWxkX2lkLCBidWlsZF9idWlsZGVyLCBidWlsZF90YWcsIGJ1aWxkX3Rp
bWUsIGJ1aWxkX2xhdGVzdF9yZXZpc2lvbiwgYnVpbGRfd29ya2VyLAogICAgICAgICAgICAgICAg
ICAgICBydW5faWQsIHJ1bl9jb25maWcsIHJ1bl9idWlsZCwgcnVuX2l0ZXJhdGlvbl9jb3VudF9j
YWNoZSwgcnVuX21lYW5fY2FjaGUsIHJ1bl9zdW1fY2FjaGUsIHJ1bl9zcXVhcmVfc3VtX2NhY2hl
LCBydW5fbWFya2VkX291dGxpZXIKICAgICAgICAgICAgICAgICBPUkRFUiBCWSByZXZpc2lvbl90
aW1lLCBidWlsZF90aW1lJywgYXJyYXkoJGNvbmZpZ19pZCkpOwogICAgIH0KZGlmZiAtLWdpdCBh
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3JlcG9ydC1jb21taXRzLnBocCBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3JlcG9ydC1jb21taXRzLnBocApp
bmRleCBkYTQxMWFkNDZiNTFlOTI1OWZjZTZkYmNhYzZjNmExZjEzMTJiYjAyLi5kM2VlYmQ4ZmQ2
ZGM5OTBhMjEwYWU4MjZjMTUzMTFjM2RhYmQ3ZDIwIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL2FwaS9yZXBvcnQtY29tbWl0cy5waHAKKysrIGIvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcmVwb3J0LWNvbW1pdHMucGhwCkBAIC0xMSw3ICsx
MSw3IEBAIGZ1bmN0aW9uIG1haW4oJHBvc3RfZGF0YSkKIAogICAgICRyZXBvcnQgPSBqc29uX2Rl
Y29kZSgkcG9zdF9kYXRhLCB0cnVlKTsKIAotICAgIHZlcmlmeV9zbGF2ZSgkZGIsICRyZXBvcnQp
OworICAgIHZlcmlmeV93b3JrZXIoJGRiLCAkcmVwb3J0KTsKIAogICAgICRjb21taXRfaW5mb19s
aXN0ID0gYXJyYXlfZ2V0KCRyZXBvcnQsICdjb21taXRzJywgYXJyYXkoKSk7CiAgICAgJHNob3Vs
ZF9pbnNlcnQgPSBhcnJheV9nZXQoJHJlcG9ydCwgJ2luc2VydCcsIHRydWUpOwpkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcnVucy5waHAgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9ydW5zLnBocAppbmRleCA4YjVjZDhjMDMzMzll
ZmMyYzc3NTIyNTlmZDdhZmQ0NTk1YmRjMjJjLi40MGY3MDljM2U2MWU1ZmZkYTM2YjIyMWU4ZTM4
MDkyOGEyZGQyZjMyIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L2FwaS9ydW5zLnBocAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9y
dW5zLnBocApAQCAtODUsNyArODUsNyBAQCBjbGFzcyBSdW5zR2VuZXJhdG9yIHsKICAgICAgICAg
ICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOIGJ1aWxkX2NvbW1pdHMgT04gY29tbWl0X2J1aWxk
ID0gYnVpbGRfaWQKICAgICAgICAgICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOIGNvbW1pdHMg
T04gYnVpbGRfY29tbWl0ID0gY29tbWl0X2lkLCB0ZXN0X3J1bnMKICAgICAgICAgICAgICAgICBX
SEVSRSBydW5fYnVpbGQgPSBidWlsZF9pZCBBTkQgcnVuX2NvbmZpZyA9ICQxIEFORCBOT1QgRVhJ
U1RTIChTRUxFQ1QgKiBGUk9NIGJ1aWxkX3JlcXVlc3RzIFdIRVJFIHJlcXVlc3RfYnVpbGQgPSBi
dWlsZF9pZCkKLSAgICAgICAgICAgICAgICBHUk9VUCBCWSBidWlsZF9pZCwgYnVpbGRfYnVpbGRl
ciwgYnVpbGRfdGFnLCBidWlsZF90aW1lLCBidWlsZF9sYXRlc3RfcmV2aXNpb24sIGJ1aWxkX3Ns
YXZlLAorICAgICAgICAgICAgICAgIEdST1VQIEJZIGJ1aWxkX2lkLCBidWlsZF9idWlsZGVyLCBi
dWlsZF90YWcsIGJ1aWxkX3RpbWUsIGJ1aWxkX2xhdGVzdF9yZXZpc2lvbiwgYnVpbGRfd29ya2Vy
LAogICAgICAgICAgICAgICAgICAgICBydW5faWQsIHJ1bl9jb25maWcsIHJ1bl9idWlsZCwgcnVu
X2l0ZXJhdGlvbl9jb3VudF9jYWNoZSwgcnVuX21lYW5fY2FjaGUsIHJ1bl9zdW1fY2FjaGUsIHJ1
bl9zcXVhcmVfc3VtX2NhY2hlLCBydW5fbWFya2VkX291dGxpZXInLCBhcnJheSgkY29uZmlnX2lk
KSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L2FwaS91cGRhdGUtdHJpZ2dlcmFibGUucGhwIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1
YmxpYy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLnBocAppbmRleCA2ZDY0ZjZhYzk3NzRjZmUxNWQ4
ZWQ3ZDNlN2MyZTVjODRiNTcyMmFmLi45MmVkYjZmOGQ1NzAzMmUyZWVhMWFhZDVkYWY2YTM2MWI2
NDMzYTYwIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS91
cGRhdGUtdHJpZ2dlcmFibGUucGhwCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS5waHAKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24g
bWFpbigkcG9zdF9kYXRhKQogICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0RhdGFiYXNlQ29ubmVj
dGlvbkZhaWx1cmUnKTsKIAogICAgICRyZXBvcnQgPSBqc29uX2RlY29kZSgkcG9zdF9kYXRhLCB0
cnVlKTsKLSAgICB2ZXJpZnlfc2xhdmUoJGRiLCAkcmVwb3J0KTsKKyAgICB2ZXJpZnlfd29ya2Vy
KCRkYiwgJHJlcG9ydCk7CiAKICAgICAkdHJpZ2dlcmFibGVfbmFtZSA9IGFycmF5X2dldCgkcmVw
b3J0LCAndHJpZ2dlcmFibGUnKTsKICAgICAkdHJpZ2dlcmFibGUgPSAkZGItPnNlbGVjdF9maXJz
dF9yb3coJ2J1aWxkX3RyaWdnZXJhYmxlcycsICd0cmlnZ2VyYWJsZScsIGFycmF5KCduYW1lJyA9
PiAkdHJpZ2dlcmFibGVfbmFtZSkpOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy9hcGkvdXBsb2FkLXJvb3QucGhwIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy9hcGkvdXBsb2FkLXJvb3QucGhwCmluZGV4IDc0YjVjODc2NzBiYjQwZTljNTk5OGIy
NjYzM2Q5ZTRkNzkyZDc4NTMuLjg0NDNmYWYyMmQwNDk4NGUyYTE4MmY2MjdkYmQzNjJhMmQxZTUz
MjAgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3VwbG9h
ZC1yb290LnBocAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS91cGxv
YWQtcm9vdC5waHAKQEAgLTgsNyArOCw3IEBAIGZ1bmN0aW9uIG1haW4oKQogICAgICRpbnB1dF9m
aWxlID0gdmFsaWRhdGVfdXBsb2FkZWRfZmlsZSgncm9vdEZpbGUnKTsKIAogICAgICRkYiA9IGNv
bm5lY3QoKTsKLSAgICAkc2xhdmVfaWQgPSB2ZXJpZnlfc2xhdmUoJGRiLCAkX1BPU1QpOworICAg
ICR3b3JrZXJfaWQgPSB2ZXJpZnlfd29ya2VyKCRkYiwgJF9QT1NUKTsKIAogICAgIGlmIChhcnJh
eV9rZXlfZXhpc3RzKCdidWlsZE51bWJlcicsICRfUE9TVCkgJiYgYXJyYXlfa2V5X2V4aXN0cygn
YnVpbGRUYWcnLCAkX1BPU1QpICYmICRfUE9TVFsnYnVpbGROdW1iZXInXSAhPSAkX1BPU1RbJ2J1
aWxkVGFnJ10pCiAgICAgICAgIGV4aXRfd2l0aF9lcnJvcignQnVpbGRlck51bWJlclRhZ01pc21h
dGNoJywgYXJyYXkoJ2J1aWxkTnVtYmVyJyA9PiAkX1BPU1RbJ2J1aWxkTnVtYmVyJ10sICdidWls
ZFRhZycgPT4gJF9QT1NUWydidWlsZFRhZyddKSk7CkBAIC0zNCw3ICszNCw3IEBAIGZ1bmN0aW9u
IG1haW4oKQogICAgIGFzc2VydCgkdGVzdF9ncm91cCk7CiAKICAgICAkYnVpbGRlcl9pZCA9ICRk
Yi0+c2VsZWN0X29yX2luc2VydF9yb3coJ2J1aWxkZXJzJywgJ2J1aWxkZXInLCBhcnJheSgnbmFt
ZScgPT4gJGFyZ3VtZW50c1snYnVpbGRlck5hbWUnXSkpOwotICAgICRidWlsZF9pbmZvID0gYXJy
YXkoJ2J1aWxkZXInID0+ICRidWlsZGVyX2lkLCAnc2xhdmUnID0+ICRzbGF2ZV9pZCwgJ3RhZycg
PT4gJGFyZ3VtZW50c1snYnVpbGRUYWcnXSwgJ3RpbWUnID0+ICRhcmd1bWVudHNbJ2J1aWxkVGlt
ZSddKTsKKyAgICAkYnVpbGRfaW5mbyA9IGFycmF5KCdidWlsZGVyJyA9PiAkYnVpbGRlcl9pZCwg
J3dvcmtlcicgPT4gJHdvcmtlcl9pZCwgJ3RhZycgPT4gJGFyZ3VtZW50c1snYnVpbGRUYWcnXSwg
J3RpbWUnID0+ICRhcmd1bWVudHNbJ2J1aWxkVGltZSddKTsKIAogICAgICRjb21taXRfc2V0X2lk
ID0gJHJlcXVlc3Rfcm93WydyZXF1ZXN0X2NvbW1pdF9zZXQnXTsKICAgICAkY29tbWl0X3NldF9p
dGVtc190b191cGRhdGUgPSBjb21wdXRlX2NvbW1pdF9zZXRfaXRlbXNfdG9fdXBkYXRlKCRkYiwg
JGNvbW1pdF9zZXRfaWQsICRhcmd1bWVudHNbJ3JlcG9zaXRvcnlMaXN0J10pOwpkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL2FkbWluLWhlYWRlci5w
aHAgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvYWRtaW4taGVhZGVy
LnBocAppbmRleCBlMmJhMDAwNGYyMDNiNTcyMWFjYTI3NjM2ZGQxNTUzZGVhN2UwMzFhLi4zZGQw
MGE4YTM0ZDI5Zjg4MjcwNGU0ZmNhYzVjZjNkZDY0YWNjNGQ1IDEwMDY0NAotLS0gYS9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvYWRtaW4taGVhZGVyLnBocAorKysgYi9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvYWRtaW4taGVhZGVyLnBocApA
QCAtMTksNyArMTksNyBAQCByZXF1aXJlX29uY2UoJ21hbmlmZXN0LWdlbmVyYXRvci5waHAnKTsK
ICAgICA8bGk+PGEgaHJlZj0iL2FkbWluL3Rlc3RzIj5UZXN0czwvYT48L2xpPgogICAgIDxsaT48
YSBocmVmPSIvYWRtaW4vYWdncmVnYXRvcnMiPkFnZ3JlZ2F0b3JzPC9hPjwvbGk+CiAgICAgPGxp
PjxhIGhyZWY9Ii9hZG1pbi9idWlsZGVycyI+QnVpbGRlcnM8L2E+PC9saT4KLSAgICA8bGk+PGEg
aHJlZj0iL2FkbWluL2J1aWxkLXNsYXZlcyI+U2xhdmVzPC9hPjwvbGk+CisgICAgPGxpPjxhIGhy
ZWY9Ii9hZG1pbi9idWlsZC13b3JrZXJzIj5Xb3JrZXJzPC9hPjwvbGk+CiAgICAgPGxpPjxhIGhy
ZWY9Ii9hZG1pbi90cmlnZ2VyYWJsZXMiPlRyaWdnZXJhYmxlczwvYT48L2xpPgogICAgIDxsaT48
YSBocmVmPSIvYWRtaW4vcmVwb3NpdG9yaWVzIj5SZXBvc2l0b3JpZXM8L2E+PC9saT4KICAgICA8
bGk+PGEgaHJlZj0iL2FkbWluL2J1Zy10cmFja2VycyI+QnVnIFRyYWNrZXJzPC9hPjwvbGk+CmRp
ZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvanNvbi1o
ZWFkZXIucGhwIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL2pzb24t
aGVhZGVyLnBocAppbmRleCBhMjc2NDFjOTE5ZDQyOGRhZGIwMzg4ZDZiYWM0Mjc1ZTI0ZGI4Yzc3
Li43OGU4ZDBiZTI4ZTY0NzUzNGFjZDI5MDBkMWZjZmZhNzA3MGQ0ODMyIDEwMDY0NAotLS0gYS9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvanNvbi1oZWFkZXIucGhwCisr
KyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9qc29uLWhlYWRlci5w
aHAKQEAgLTEyMiwxNyArMTIyLDE4IEBAIGZ1bmN0aW9uIGVuc3VyZV9wcml2aWxlZ2VkX2FwaV9k
YXRhX2FuZF90b2tlbigpIHsKIH0KIAogZnVuY3Rpb24gcmVtb3RlX3VzZXJfbmFtZSgkZGF0YSA9
IE5VTEwpIHsKLSAgICByZXR1cm4gJGRhdGEgJiYgc2hvdWxkX2F1dGhlbnRpY2F0ZV9hc19zbGF2
ZSgkZGF0YSkgPyBOVUxMIDogYXJyYXlfZ2V0KCRfU0VSVkVSLCAnUkVNT1RFX1VTRVInKTsKKyAg
ICByZXR1cm4gJGRhdGEgJiYgc2hvdWxkX2F1dGhlbnRpY2F0ZV9hc193b3JrZXIoJGRhdGEpID8g
TlVMTCA6IGFycmF5X2dldCgkX1NFUlZFUiwgJ1JFTU9URV9VU0VSJyk7CiB9CiAKLWZ1bmN0aW9u
IHNob3VsZF9hdXRoZW50aWNhdGVfYXNfc2xhdmUoJGRhdGEpIHsKLSAgICByZXR1cm4gYXJyYXlf
a2V5X2V4aXN0cygnc2xhdmVOYW1lJywgJGRhdGEpICYmIGFycmF5X2tleV9leGlzdHMoJ3NsYXZl
UGFzc3dvcmQnLCAkZGF0YSk7CitmdW5jdGlvbiBzaG91bGRfYXV0aGVudGljYXRlX2FzX3dvcmtl
cigkZGF0YSkgeworICAgIHJldHVybiAoYXJyYXlfa2V5X2V4aXN0cygnd29ya2VyTmFtZScsICRk
YXRhKSAmJiBhcnJheV9rZXlfZXhpc3RzKCd3b3JrZXJQYXNzd29yZCcsICRkYXRhKSkgfHwKKyAg
ICAgICAgKGFycmF5X2tleV9leGlzdHMoJ3NsYXZlTmFtZScsICRkYXRhKSAmJiBhcnJheV9rZXlf
ZXhpc3RzKCdzbGF2ZVBhc3N3b3JkJywgJGRhdGEpKTsKIH0KIAotZnVuY3Rpb24gZW5zdXJlX3By
aXZpbGVnZWRfYXBpX2RhdGFfYW5kX3Rva2VuX29yX3NsYXZlKCRkYikgeworZnVuY3Rpb24gZW5z
dXJlX3ByaXZpbGVnZWRfYXBpX2RhdGFfYW5kX3Rva2VuX29yX3dvcmtlcigkZGIpIHsKICAgICAk
ZGF0YSA9IGVuc3VyZV9wcml2aWxlZ2VkX2FwaV9kYXRhKCk7Ci0gICAgaWYgKHNob3VsZF9hdXRo
ZW50aWNhdGVfYXNfc2xhdmUoJGRhdGEpKQotICAgICAgICB2ZXJpZnlfc2xhdmUoJGRiLCAkZGF0
YSk7CisgICAgaWYgKHNob3VsZF9hdXRoZW50aWNhdGVfYXNfd29ya2VyKCRkYXRhKSkKKyAgICAg
ICAgdmVyaWZ5X3dvcmtlcigkZGIsICRkYXRhKTsKICAgICBlbHNlIGlmICghdmVyaWZ5X3Rva2Vu
KGFycmF5X2dldCgkZGF0YSwgJ3Rva2VuJykpKQogICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0lu
dmFsaWRUb2tlbicpOwogICAgIHJldHVybiAkZGF0YTsKQEAgLTE1MiwyMCArMTUzLDIwIEBAIGZ1
bmN0aW9uIHZlcmlmeV90b2tlbigkdG9rZW4pIHsKICAgICByZXR1cm4gJGV4cGVjdGVkX3Rva2Vu
ICYmICR0b2tlbiA9PSAkZXhwZWN0ZWRfdG9rZW4gJiYgJF9DT09LSUVbJ0NTUkZFeHBpcmF0aW9u
J10gPiB0aW1lKCk7CiB9CiAKLWZ1bmN0aW9uIHZlcmlmeV9zbGF2ZSgkZGIsICRwYXJhbXMpIHsK
LSAgICBhcnJheV9rZXlfZXhpc3RzKCdzbGF2ZU5hbWUnLCAkcGFyYW1zKSBvciBleGl0X3dpdGhf
ZXJyb3IoJ01pc3NpbmdTbGF2ZU5hbWUnKTsKLSAgICBhcnJheV9rZXlfZXhpc3RzKCdzbGF2ZVBh
c3N3b3JkJywgJHBhcmFtcykgb3IgZXhpdF93aXRoX2Vycm9yKCdNaXNzaW5nU2xhdmVQYXNzd29y
ZCcpOworZnVuY3Rpb24gdmVyaWZ5X3dvcmtlcigkZGIsICRwYXJhbXMpIHsKKyAgICBhcnJheV9r
ZXlfZXhpc3RzKCd3b3JrZXJOYW1lJywgJHBhcmFtcykgb3IgYXJyYXlfa2V5X2V4aXN0cygnc2xh
dmVOYW1lJywgJHBhcmFtcykgb3IgZXhpdF93aXRoX2Vycm9yKCdNaXNzaW5nV29ya2VyTmFtZScp
OworICAgIGFycmF5X2tleV9leGlzdHMoJ3dvcmtlclBhc3N3b3JkJywgJHBhcmFtcykgb3IgYXJy
YXlfa2V5X2V4aXN0cygnc2xhdmVQYXNzd29yZCcsICRwYXJhbXMpIG9yIGV4aXRfd2l0aF9lcnJv
cignTWlzc2luZ1dvcmtlclBhc3N3b3JkJyk7CiAKLSAgICAkc2xhdmVfaW5mbyA9IGFycmF5KAot
ICAgICAgICAnbmFtZScgPT4gJHBhcmFtc1snc2xhdmVOYW1lJ10sCi0gICAgICAgICdwYXNzd29y
ZF9oYXNoJyA9PiBoYXNoKCdzaGEyNTYnLCAkcGFyYW1zWydzbGF2ZVBhc3N3b3JkJ10pCisgICAg
JHdvcmtlcl9pbmZvID0gYXJyYXkoCisgICAgICAgICduYW1lJyA9PiBhcnJheV9nZXQoJHBhcmFt
cywgJ3dvcmtlck5hbWUnLCBhcnJheV9nZXQoJHBhcmFtcywgJ3NsYXZlTmFtZScpKSwKKyAgICAg
ICAgJ3Bhc3N3b3JkX2hhc2gnID0+IGhhc2goJ3NoYTI1NicsIGFycmF5X2dldCgkcGFyYW1zLCAn
d29ya2VyUGFzc3dvcmQnLCBhcnJheV9nZXQoJHBhcmFtcywgJ3NsYXZlUGFzc3dvcmQnKSkpCiAg
ICAgKTsKIAotICAgICRtYXRjaGVkX3NsYXZlID0gJGRiLT5zZWxlY3RfZmlyc3Rfcm93KCdidWls
ZF9zbGF2ZXMnLCAnc2xhdmUnLCAkc2xhdmVfaW5mbyk7Ci0gICAgaWYgKCEkbWF0Y2hlZF9zbGF2
ZSkKLSAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdTbGF2ZU5vdEZvdW5kJywgYXJyYXkoJ25hbWUn
ID0+ICRzbGF2ZV9pbmZvWyduYW1lJ10pKTsKKyAgICAkbWF0Y2hlZF93b3JrZXIgPSAkZGItPnNl
bGVjdF9maXJzdF9yb3coJ2J1aWxkX3dvcmtlcnMnLCAnd29ya2VyJywgJHdvcmtlcl9pbmZvKTsK
KyAgICBpZiAoISRtYXRjaGVkX3dvcmtlcikKKyAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdXb3Jr
ZXJOb3RGb3VuZCcsIGFycmF5KCduYW1lJyA9PiAkd29ya2VyX2luZm9bJ25hbWUnXSkpOwogCi0g
ICAgcmV0dXJuICRtYXRjaGVkX3NsYXZlWydzbGF2ZV9pZCddOworICAgIHJldHVybiAkbWF0Y2hl
ZF93b3JrZXJbJ3dvcmtlcl9pZCddOwogfQogCiBmdW5jdGlvbiBmaW5kX3RyaWdnZXJhYmxlX2Zv
cl90YXNrKCRkYiwgJHRhc2tfaWQpIHsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvaW5jbHVkZS9yZXBvcnQtcHJvY2Vzc29yLnBocCBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9yZXBvcnQtcHJvY2Vzc29yLnBocAppbmRleCAxYmMx
ZGI2NDJkYmVmZWY4ZWNiMDcyZTE4YjU3ZTljOTFiYzA3MjNjLi43Y2Q3ZWE0MGQ4NjM1NmRlMzk4
Y2M5ZjZjMjlmZWE4ZGE5YmMwMDI2IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL2luY2x1ZGUvcmVwb3J0LXByb2Nlc3Nvci5waHAKKysrIGIvV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL3JlcG9ydC1wcm9jZXNzb3IucGhwCkBAIC02Miwy
NiArNjIsMjcgQEAgY2xhc3MgUmVwb3J0UHJvY2Vzc29yIHsKIAogICAgIHByaXZhdGUgZnVuY3Rp
b24gYXV0aGVudGljYXRlX2FuZF9jb25zdHJ1Y3RfYnVpbGRfZGF0YSgmJHJlcG9ydCwgJGV4aXN0
aW5nX3JlcG9ydF9pZCkgewogICAgICAgICAkYnVpbGRlcl9pbmZvID0gYXJyYXkoJ25hbWUnID0+
ICRyZXBvcnRbJ2J1aWxkZXJOYW1lJ10pOwotICAgICAgICAkc2xhdmVfbmFtZSA9IGFycmF5X2dl
dCgkcmVwb3J0LCAnc2xhdmVOYW1lJywgTlVMTCk7Ci0gICAgICAgICRzbGF2ZV9pZCA9IE5VTEw7
CisgICAgICAgICR3b3JrZXJfbmFtZSA9IGFycmF5X2dldCgkcmVwb3J0LCAnd29ya2VyTmFtZScs
IGFycmF5X2dldCgkcmVwb3J0LCAnc2xhdmVOYW1lJywgTlVMTCkpOworICAgICAgICAkd29ya2Vy
X2lkID0gTlVMTDsKICAgICAgICAgaWYgKCEkZXhpc3RpbmdfcmVwb3J0X2lkKSB7CiAgICAgICAg
ICAgICAkaGFzaCA9IE5VTEw7Ci0gICAgICAgICAgICBpZiAoJHNsYXZlX25hbWUgJiYgYXJyYXlf
a2V5X2V4aXN0cygnc2xhdmVQYXNzd29yZCcsICRyZXBvcnQpKSB7Ci0gICAgICAgICAgICAgICAg
JHVuaXZlcnNhbF9wYXNzd29yZCA9IGNvbmZpZygndW5pdmVyc2FsU2xhdmVQYXNzd29yZCcpOwot
ICAgICAgICAgICAgICAgIGlmICgkc2xhdmVfbmFtZSAmJiAkdW5pdmVyc2FsX3Bhc3N3b3JkICYm
ICR1bml2ZXJzYWxfcGFzc3dvcmQgPT0gJHJlcG9ydFsnc2xhdmVQYXNzd29yZCddKQotICAgICAg
ICAgICAgICAgICAgICAkc2xhdmVfaWQgPSAkdGhpcy0+ZGItPnNlbGVjdF9vcl9pbnNlcnRfcm93
KCdidWlsZF9zbGF2ZXMnLCAnc2xhdmUnLCBhcnJheSgnbmFtZScgPT4gJHNsYXZlX25hbWUpKTsK
KyAgICAgICAgICAgIGlmICgkd29ya2VyX25hbWUgJiYgKGFycmF5X2tleV9leGlzdHMoJ3dvcmtl
clBhc3N3b3JkJywgJHJlcG9ydCkgfHwgYXJyYXlfa2V5X2V4aXN0cygnc2xhdmVQYXNzd29yZCcs
ICRyZXBvcnQpKSkgeworICAgICAgICAgICAgICAgICR1bml2ZXJzYWxfcGFzc3dvcmQgPSBjb25m
aWcoJ3VuaXZlcnNhbFdvcmtlclBhc3N3b3JkJywgY29uZmlnKCd1bml2ZXJzYWxTbGF2ZVBhc3N3
b3JkJykpOworICAgICAgICAgICAgICAgICR3b3JrZXJfcGFzc3dvcmQgPSBhcnJheV9nZXQoJHJl
cG9ydCwgJ3dvcmtlclBhc3N3b3JkJywgYXJyYXlfZ2V0KCRyZXBvcnQsICdzbGF2ZVBhc3N3b3Jk
JykpOworICAgICAgICAgICAgICAgIGlmICgkd29ya2VyX25hbWUgJiYgJHVuaXZlcnNhbF9wYXNz
d29yZCAmJiAkdW5pdmVyc2FsX3Bhc3N3b3JkID09ICR3b3JrZXJfcGFzc3dvcmQpCisgICAgICAg
ICAgICAgICAgICAgICR3b3JrZXJfaWQgPSAkdGhpcy0+ZGItPnNlbGVjdF9vcl9pbnNlcnRfcm93
KCdidWlsZF93b3JrZXJzJywgJ3dvcmtlcicsIGFycmF5KCduYW1lJyA9PiAkd29ya2VyX25hbWUp
KTsKICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgJGhhc2ggPSBo
YXNoKCdzaGEyNTYnLCAkcmVwb3J0WydzbGF2ZVBhc3N3b3JkJ10pOwotICAgICAgICAgICAgICAg
ICAgICAkc2xhdmUgPSAkdGhpcy0+ZGItPnNlbGVjdF9maXJzdF9yb3coJ2J1aWxkX3NsYXZlcycs
ICdzbGF2ZScsIGFycmF5KCduYW1lJyA9PiAkc2xhdmVfbmFtZSwgJ3Bhc3N3b3JkX2hhc2gnID0+
ICRoYXNoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgkc2xhdmUpCi0gICAgICAgICAgICAg
ICAgICAgICAgICAkc2xhdmVfaWQgPSAkc2xhdmVbJ3NsYXZlX2lkJ107CisgICAgICAgICAgICAg
ICAgICAgICRoYXNoID0gaGFzaCgnc2hhMjU2JywgJHdvcmtlcl9wYXNzd29yZCk7CisgICAgICAg
ICAgICAgICAgICAgICR3b3JrZXIgPSAkdGhpcy0+ZGItPnNlbGVjdF9maXJzdF9yb3coJ2J1aWxk
X3dvcmtlcnMnLCAnd29ya2VyJywgYXJyYXkoJ25hbWUnID0+ICR3b3JrZXJfbmFtZSwgJ3Bhc3N3
b3JkX2hhc2gnID0+ICRoYXNoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICgkd29ya2VyKQor
ICAgICAgICAgICAgICAgICAgICAgICAgJHdvcmtlcl9pZCA9ICR3b3JrZXJbJ3dvcmtlcl9pZCdd
OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXJyYXlfa2V5X2V4
aXN0cygnYnVpbGRlclBhc3N3b3JkJywgJHJlcG9ydCkpCiAgICAgICAgICAgICAgICAgJGhhc2gg
PSBoYXNoKCdzaGEyNTYnLCAkcmVwb3J0WydidWlsZGVyUGFzc3dvcmQnXSk7CiAKLSAgICAgICAg
ICAgIGlmICghJGhhc2ggJiYgISRzbGF2ZV9pZCkKKyAgICAgICAgICAgIGlmICghJGhhc2ggJiYg
ISR3b3JrZXJfaWQpCiAgICAgICAgICAgICAgICAgJHRoaXMtPmV4aXRfd2l0aF9lcnJvcignQnVp
bGRlck5vdEZvdW5kJyk7Ci0gICAgICAgICAgICBpZiAoISRzbGF2ZV9pZCkKKyAgICAgICAgICAg
IGlmICghJHdvcmtlcl9pZCkKICAgICAgICAgICAgICAgICAkYnVpbGRlcl9pbmZvWydwYXNzd29y
ZF9oYXNoJ10gPSAkaGFzaDsKICAgICAgICAgfQogCkBAIC04OSwyMyArOTAsMjUgQEAgY2xhc3Mg
UmVwb3J0UHJvY2Vzc29yIHsKICAgICAgICAgICAgIHVuc2V0KCRyZXBvcnRbJ2J1aWxkZXJQYXNz
d29yZCddKTsKICAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ3NsYXZlUGFzc3dvcmQnLCAk
cmVwb3J0KSkKICAgICAgICAgICAgIHVuc2V0KCRyZXBvcnRbJ3NsYXZlUGFzc3dvcmQnXSk7Cisg
ICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCd3b3JrZXJQYXNzd29yZCcsICRyZXBvcnQpKQor
ICAgICAgICAgICAgdW5zZXQoJHJlcG9ydFsnd29ya2VyUGFzc3dvcmQnXSk7CiAKICAgICAgICAg
JGJ1aWxkZXJfaWQgPSBOVUxMOwotICAgICAgICBpZiAoJHNsYXZlX2lkKQorICAgICAgICBpZiAo
JHdvcmtlcl9pZCkKICAgICAgICAgICAgICRidWlsZGVyX2lkID0gJHRoaXMtPmRiLT5zZWxlY3Rf
b3JfaW5zZXJ0X3JvdygnYnVpbGRlcnMnLCAnYnVpbGRlcicsICRidWlsZGVyX2luZm8pOwogICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgICRidWlsZGVyID0gJHRoaXMtPmRiLT5zZWxlY3RfZmly
c3Rfcm93KCdidWlsZGVycycsICdidWlsZGVyJywgJGJ1aWxkZXJfaW5mbyk7CiAgICAgICAgICAg
ICBpZiAoISRidWlsZGVyKQogICAgICAgICAgICAgICAgICR0aGlzLT5leGl0X3dpdGhfZXJyb3Io
J0J1aWxkZXJOb3RGb3VuZCcsIGFycmF5KCduYW1lJyA9PiAkYnVpbGRlcl9pbmZvWyduYW1lJ10p
KTsKICAgICAgICAgICAgICRidWlsZGVyX2lkID0gJGJ1aWxkZXJbJ2J1aWxkZXJfaWQnXTsKLSAg
ICAgICAgICAgIGlmICgkc2xhdmVfbmFtZSkKLSAgICAgICAgICAgICAgICAkc2xhdmVfaWQgPSAk
dGhpcy0+ZGItPnNlbGVjdF9vcl9pbnNlcnRfcm93KCdidWlsZF9zbGF2ZXMnLCAnc2xhdmUnLCBh
cnJheSgnbmFtZScgPT4gJHNsYXZlX25hbWUpKTsKKyAgICAgICAgICAgIGlmICgkd29ya2VyX25h
bWUpCisgICAgICAgICAgICAgICAgJHdvcmtlcl9pZCA9ICR0aGlzLT5kYi0+c2VsZWN0X29yX2lu
c2VydF9yb3coJ2J1aWxkX3dvcmtlcnMnLCAnd29ya2VyJywgYXJyYXkoJ25hbWUnID0+ICR3b3Jr
ZXJfbmFtZSkpOwogICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJuICR0aGlzLT5jb25zdHJ1Y3Rf
YnVpbGRfZGF0YSgkcmVwb3J0LCAkYnVpbGRlcl9pZCwgJHNsYXZlX2lkKTsKKyAgICAgICAgcmV0
dXJuICR0aGlzLT5jb25zdHJ1Y3RfYnVpbGRfZGF0YSgkcmVwb3J0LCAkYnVpbGRlcl9pZCwgJHdv
cmtlcl9pZCk7CiAgICAgfQogCi0gICAgcHJpdmF0ZSBmdW5jdGlvbiBjb25zdHJ1Y3RfYnVpbGRf
ZGF0YSgmJHJlcG9ydCwgJGJ1aWxkZXJfaWQsICRzbGF2ZV9pZCkgeworICAgIHByaXZhdGUgZnVu
Y3Rpb24gY29uc3RydWN0X2J1aWxkX2RhdGEoJiRyZXBvcnQsICRidWlsZGVyX2lkLCAkd29ya2Vy
X2lkKSB7CiAgICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdidWlsZE51bWJlcicsICRyZXBv
cnQpKSB7CiAgICAgICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnYnVpbGRUYWcnLCAkcmVw
b3J0KSAmJiAkcmVwb3J0WydidWlsZFRhZyddICE9ICRyZXBvcnRbJ2J1aWxkTnVtYmVyJ10pCiAg
ICAgICAgICAgICAgICAgJHRoaXMtPmV4aXRfd2l0aF9lcnJvcignQnVpbGRlck51bWJlclRhZ01p
c21hdGNoJyk7CkBAIC0xMTUsMTQgKzExOCwxNCBAQCBjbGFzcyBSZXBvcnRQcm9jZXNzb3Igewog
ICAgICAgICBhcnJheV9rZXlfZXhpc3RzKCdidWlsZFRhZycsICRyZXBvcnQpIG9yICR0aGlzLT5l
eGl0X3dpdGhfZXJyb3IoJ01pc3NpbmdCdWlsZFNlcmlhbCcpOwogICAgICAgICBhcnJheV9rZXlf
ZXhpc3RzKCdidWlsZFRpbWUnLCAkcmVwb3J0KSBvciAkdGhpcy0+ZXhpdF93aXRoX2Vycm9yKCdN
aXNzaW5nQnVpbGRUaW1lJyk7CiAKLSAgICAgICAgcmV0dXJuIGFycmF5KCdidWlsZGVyJyA9PiAk
YnVpbGRlcl9pZCwgJ3NsYXZlJyA9PiAkc2xhdmVfaWQsICd0YWcnID0+ICRyZXBvcnRbJ2J1aWxk
VGFnJ10sICd0aW1lJyA9PiAkcmVwb3J0WydidWlsZFRpbWUnXSk7CisgICAgICAgIHJldHVybiBh
cnJheSgnYnVpbGRlcicgPT4gJGJ1aWxkZXJfaWQsICd3b3JrZXInID0+ICR3b3JrZXJfaWQsICd0
YWcnID0+ICRyZXBvcnRbJ2J1aWxkVGFnJ10sICd0aW1lJyA9PiAkcmVwb3J0WydidWlsZFRpbWUn
XSk7CiAgICAgfQogCiAgICAgcHJpdmF0ZSBmdW5jdGlvbiBzdG9yZV9yZXBvcnQoJiRyZXBvcnQs
ICRidWlsZF9kYXRhKSB7CiAgICAgICAgIGFzc2VydCghJHRoaXMtPnJlcG9ydF9pZCk7CiAgICAg
ICAgICR0aGlzLT5yZXBvcnRfaWQgPSAkdGhpcy0+ZGItPmluc2VydF9yb3coJ3JlcG9ydHMnLCAn
cmVwb3J0JywgYXJyYXkoCiAgICAgICAgICAgICAnYnVpbGRlcicgPT4gJGJ1aWxkX2RhdGFbJ2J1
aWxkZXInXSwKLSAgICAgICAgICAgICdzbGF2ZScgPT4gJGJ1aWxkX2RhdGFbJ3NsYXZlJ10sCisg
ICAgICAgICAgICAnd29ya2VyJyA9PiAkYnVpbGRfZGF0YVsnd29ya2VyJ10sCiAgICAgICAgICAg
ICAnYnVpbGRfdGFnJyA9PiAkYnVpbGRfZGF0YVsndGFnJ10sCiAgICAgICAgICAgICAnY29udGVu
dCcgPT4ganNvbl9lbmNvZGUoJHJlcG9ydCkpKTsKICAgICAgICAgaWYgKCEkdGhpcy0+cmVwb3J0
X2lkKQpAQCAtMTM5LDEzICsxNDIsMTMgQEAgY2xhc3MgUmVwb3J0UHJvY2Vzc29yIHsKICAgICB9
CiAKICAgICBwcml2YXRlIGZ1bmN0aW9uIHJlc29sdmVfYnVpbGRfaWQoJiRidWlsZF9kYXRhLCAk
cmV2aXNpb25zLCAkYnVpbGRfcmVxdWVzdF9pZCkgewotICAgICAgICAkcmVzdWx0cyA9ICR0aGlz
LT5kYi0+cXVlcnlfYW5kX2ZldGNoX2FsbCgiU0VMRUNUIGJ1aWxkX2lkLCBidWlsZF9zbGF2ZSBG
Uk9NIGJ1aWxkcworICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5kYi0+cXVlcnlfYW5kX2ZldGNo
X2FsbCgiU0VMRUNUIGJ1aWxkX2lkLCBidWlsZF93b3JrZXIgRlJPTSBidWlsZHMKICAgICAgICAg
ICAgIFdIRVJFIGJ1aWxkX2J1aWxkZXIgPSAkMSBBTkQgYnVpbGRfdGFnID0gJDIgQU5EIGJ1aWxk
X3RpbWUgPD0gJDMgQU5EIGJ1aWxkX3RpbWUgKyBpbnRlcnZhbCAnMSBkYXknID4gJDMgTElNSVQg
MiIsCiAgICAgICAgICAgICBhcnJheSgkYnVpbGRfZGF0YVsnYnVpbGRlciddLCAkYnVpbGRfZGF0
YVsndGFnJ10sICRidWlsZF9kYXRhWyd0aW1lJ10pKTsKICAgICAgICAgaWYgKCRyZXN1bHRzKSB7
CiAgICAgICAgICAgICAkZmlyc3RfcmVzdWx0ID0gJHJlc3VsdHNbMF07Ci0gICAgICAgICAgICBp
ZiAoJGZpcnN0X3Jlc3VsdFsnYnVpbGRfc2xhdmUnXSAhPSAkYnVpbGRfZGF0YVsnc2xhdmUnXSkK
LSAgICAgICAgICAgICAgICAkdGhpcy0+cm9sbGJhY2tfd2l0aF9lcnJvcignTWlzbWF0Y2hpbmdC
dWlsZFNsYXZlJywgYXJyYXkoJ3N0b3JlZEJ1aWxkJyA9PiAkcmVzdWx0cywgJ3JlcG9ydGVkQnVp
bGREYXRhJyA9PiAkYnVpbGRfZGF0YSkpOworICAgICAgICAgICAgaWYgKCRmaXJzdF9yZXN1bHRb
J2J1aWxkX3dvcmtlciddICE9ICRidWlsZF9kYXRhWyd3b3JrZXInXSkKKyAgICAgICAgICAgICAg
ICAkdGhpcy0+cm9sbGJhY2tfd2l0aF9lcnJvcignTWlzbWF0Y2hpbmdCdWlsZFdvcmtlcicsIGFy
cmF5KCdzdG9yZWRCdWlsZCcgPT4gJHJlc3VsdHMsICdyZXBvcnRlZEJ1aWxkRGF0YScgPT4gJGJ1
aWxkX2RhdGEpKTsKICAgICAgICAgICAgICRidWlsZF9pZCA9ICRmaXJzdF9yZXN1bHRbJ2J1aWxk
X2lkJ107CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgJGJ1aWxkX2lkID0gJHRoaXMtPmRi
LT5pbnNlcnRfcm93KCdidWlsZHMnLCAnYnVpbGQnLCAkYnVpbGRfZGF0YSk7CmRpZmYgLS1naXQg
YS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL2FkZC1idWls
ZC1yZXF1ZXN0cy5waHAgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZpbGVn
ZWQtYXBpL2FkZC1idWlsZC1yZXF1ZXN0cy5waHAKaW5kZXggZDFjMjA1ZWFmODZlYzE4ZjA2YjM0
ZjJiNzEzOWMyMzU2ZWU3MzFmYy4uNTcwZTkwMmY1ZDJlMWRmM2ZjMmI2YjZhZmEyMzNhYmZiNTAw
MzY0NyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxl
Z2VkLWFwaS9hZGQtYnVpbGQtcmVxdWVzdHMucGhwCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvYWRkLWJ1aWxkLXJlcXVlc3RzLnBocApAQCAtNSw3
ICs1LDcgQEAgcmVxdWlyZV9vbmNlKCcuLi9pbmNsdWRlL2NvbW1pdC1zZXRzLWhlbHBlcnMucGhw
Jyk7CiAKIGZ1bmN0aW9uIG1haW4oKSB7CiAgICAgJGRiID0gY29ubmVjdCgpOwotICAgICRkYXRh
ID0gZW5zdXJlX3ByaXZpbGVnZWRfYXBpX2RhdGFfYW5kX3Rva2VuX29yX3NsYXZlKCRkYik7Cisg
ICAgJGRhdGEgPSBlbnN1cmVfcHJpdmlsZWdlZF9hcGlfZGF0YV9hbmRfdG9rZW5fb3Jfd29ya2Vy
KCRkYik7CiAKICAgICAkYWRkaXRpb25hbF9idWlsZF9yZXF1ZXN0X2NvdW50ID0gYXJyYXlfZ2V0
KCRkYXRhLCAnYWRkQ291bnQnKTsKICAgICBpZiAoISRhZGRpdGlvbmFsX2J1aWxkX3JlcXVlc3Rf
Y291bnQpCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZp
bGVnZWQtYXBpL2NyZWF0ZS1hbmFseXNpcy10YXNrLnBocCBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRhc2sucGhwCmluZGV4
IDQ4MDRjYzc1YjIxNWY3MTc0M2Y3NjgzODE1ODA3YjYzYjU4ZWJkYTEuLjI4YTE2MTMwMDg0ZThj
NGRhZTE0YmQyOWY1MGZmZThiY2RlOGFjOTQgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRhc2sucGhwCisr
KyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvY3JlYXRl
LWFuYWx5c2lzLXRhc2sucGhwCkBAIC01LDcgKzUsNyBAQCByZXF1aXJlX29uY2UoJy4uL2luY2x1
ZGUvY29tbWl0LXNldHMtaGVscGVycy5waHAnKTsKIAogZnVuY3Rpb24gbWFpbigpIHsKICAgICAk
ZGIgPSBjb25uZWN0KCk7Ci0gICAgJGRhdGEgPSBlbnN1cmVfcHJpdmlsZWdlZF9hcGlfZGF0YV9h
bmRfdG9rZW5fb3Jfc2xhdmUoJGRiKTsKKyAgICAkZGF0YSA9IGVuc3VyZV9wcml2aWxlZ2VkX2Fw
aV9kYXRhX2FuZF90b2tlbl9vcl93b3JrZXIoJGRiKTsKIAogICAgICRhdXRob3IgPSByZW1vdGVf
dXNlcl9uYW1lKCRkYXRhKTsKICAgICAkbmFtZSA9IGFycmF5X2dldCgkZGF0YSwgJ25hbWUnKTsK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1h
cGkvY3JlYXRlLXRlc3QtZ3JvdXAucGhwIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtdGVzdC1ncm91cC5waHAKaW5kZXggMTAyM2Q0YmNiNjkw
YzdmMTg3OTQ1MTc3MzY2Y2IzNDQ0ZTk2YjZhYy4uNzQyNTNmYmU3ODY1OWJhMmY2ZTA5OTkzMzEw
MWJiOGEyOWYzMTFkZSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtdGVzdC1ncm91cC5waHAKKysrIGIvV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3B1YmxpYy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtdGVzdC1ncm91cC5waHAK
QEAgLTYsNyArNiw3IEBAIHJlcXVpcmVfb25jZSgnLi4vaW5jbHVkZS9jb21taXQtc2V0cy1oZWxw
ZXJzLnBocCcpOwogZnVuY3Rpb24gbWFpbigpCiB7CiAgICAgJGRiID0gY29ubmVjdCgpOwotICAg
ICRkYXRhID0gZW5zdXJlX3ByaXZpbGVnZWRfYXBpX2RhdGFfYW5kX3Rva2VuX29yX3NsYXZlKCRk
Yik7CisgICAgJGRhdGEgPSBlbnN1cmVfcHJpdmlsZWdlZF9hcGlfZGF0YV9hbmRfdG9rZW5fb3Jf
d29ya2VyKCRkYik7CiAgICAgJGF1dGhvciA9IHJlbW90ZV91c2VyX25hbWUoJGRhdGEpOwogCiAg
ICAgJGFyZ3VtZW50cyA9IHZhbGlkYXRlX2FyZ3VtZW50cygkZGF0YSwgYXJyYXkoCmRpZmYgLS1n
aXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3ByaXZpbGVnZWQtYXBpL3VwZGF0
ZS10ZXN0LWdyb3VwLnBocCBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmls
ZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAucGhwCmluZGV4IDU5MTVhMzAxOThkYTJiNmY3MWNj
ZjQ2OWJiYjRlMzZiNDQwMDBiZWUuLjM1NWU2Yzg1ZjEyM2IyYzM1NDQ3MTFiZmI2MTc0MDAwNzkz
NzY5YWMgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvcHJpdmls
ZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAucGhwCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvcHJpdmlsZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAucGhwCkBAIC00LDcg
KzQsNyBAQCByZXF1aXJlX29uY2UoJy4uL2luY2x1ZGUvanNvbi1oZWFkZXIucGhwJyk7CiAKIGZ1
bmN0aW9uIG1haW4oKSB7CiAgICAgJGRiID0gY29ubmVjdCgpOwotICAgICRkYXRhID0gZW5zdXJl
X3ByaXZpbGVnZWRfYXBpX2RhdGFfYW5kX3Rva2VuX29yX3NsYXZlKCRkYik7CisgICAgJGRhdGEg
PSBlbnN1cmVfcHJpdmlsZWdlZF9hcGlfZGF0YV9hbmRfdG9rZW5fb3Jfd29ya2VyKCRkYik7CiAK
ICAgICAkdGVzdF9ncm91cF9pZCA9IGFycmF5X2dldCgkZGF0YSwgJ2dyb3VwJyk7CiAgICAgaWYg
KCEkdGVzdF9ncm91cF9pZCkKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9z
ZXJ2ZXItdGVzdHMvYXBpLWJ1aWxkLXJlcXVlc3RzLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKaW5kZXgg
Y2RlNWVkZjJiYjFmMjdkNWQzOTcxNWNiMzZhZWY2MGNiZTUxMmIwOS4uZTc2ZTljNTM4NzVkYjVh
NWViY2NkYTI2ZDVlZTJhZDhlNWMyZDJlYyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3NlcnZlci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVz
dHMuanMKQEAgLTk1LDggKzk1LDggQEAgZGVzY3JpYmUoJy9hcGkvYnVpbGQtcmVxdWVzdHMnLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgIGNvbnN0IHVwZGF0ZXMgPSB7OTAwOiB7CiAgICAgICAgICAg
ICBzdGF0dXM6IGNvbnRlbnRbJ2J1aWxkUmVxdWVzdHMnXVswXS5zdGF0dXMsIHVybDogY29udGVu
dFsnYnVpbGRSZXF1ZXN0cyddWzBdLnVybCwgYnVpbGRSZXF1ZXN0Rm9yUm9vdFJldXNlOiBwYXJz
ZUludChjb250ZW50WydidWlsZFJlcXVlc3RzJ11bMF0uaWQpfX07CiAgICAgICAgIGNvbnN0IHJl
c3BvbnNlID0gYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhTdGF0dXMo
Jy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0JywgewotICAgICAgICAgICAgJ3NsYXZl
TmFtZSc6ICdzeW5jLXNsYXZlJywKLSAgICAgICAgICAgICdzbGF2ZVBhc3N3b3JkJzogJ3Bhc3N3
b3JkJywKKyAgICAgICAgICAgICd3b3JrZXJOYW1lJzogJ3N5bmMtd29ya2VyJywKKyAgICAgICAg
ICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNzd29yZCcsCiAgICAgICAgICAgICAnYnVpbGRSZXF1
ZXN0VXBkYXRlcyc6IHVwZGF0ZXMKICAgICAgICAgfSk7CiAKQEAgLTE1Myw4ICsxNTMsOCBAQCBk
ZXNjcmliZSgnL2FwaS9idWlsZC1yZXF1ZXN0cycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAg
IHN0YXR1czogY29udGVudFsnYnVpbGRSZXF1ZXN0cyddWzBdLnN0YXR1cywgdXJsOiBjb250ZW50
WydidWlsZFJlcXVlc3RzJ11bMF0udXJsLCBidWlsZFJlcXVlc3RGb3JSb290UmV1c2U6IDcwNH19
OwogCiAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEko
KS5wb3N0SlNPTldpdGhTdGF0dXMoJy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0Jywg
ewotICAgICAgICAgICAgJ3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKLSAgICAgICAgICAgICdz
bGF2ZVBhc3N3b3JkJzogJ3Bhc3N3b3JkJywKKyAgICAgICAgICAgICd3b3JrZXJOYW1lJzogJ3N5
bmMtd29ya2VyJywKKyAgICAgICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNzd29yZCcsCiAg
ICAgICAgICAgICAnYnVpbGRSZXF1ZXN0VXBkYXRlcyc6IHVwZGF0ZXMKICAgICAgICAgfSk7CiAK
QEAgLTIyMiw4ICsyMjIsOCBAQCBkZXNjcmliZSgnL2FwaS9idWlsZC1yZXF1ZXN0cycsIGZ1bmN0
aW9uICgpIHsKICAgICAgICAgY29uc3QgdXBkYXRlcyA9IHs5MDA6IHsKICAgICAgICAgICAgICAg
ICBzdGF0dXM6IGNvbnRlbnRbJ2J1aWxkUmVxdWVzdHMnXVswXS5zdGF0dXMsIHVybDogY29udGVu
dFsnYnVpbGRSZXF1ZXN0cyddWzBdLnVybCwgYnVpbGRSZXF1ZXN0Rm9yUm9vdFJldXNlOiBwYXJz
ZUludChjb250ZW50WydidWlsZFJlcXVlc3RzJ11bMF0uaWQpfX07CiAgICAgICAgIGNvbnN0IHJl
c3BvbnNlID0gYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhTdGF0dXMo
Jy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0JywgewotICAgICAgICAgICAgJ3NsYXZl
TmFtZSc6ICdzeW5jLXNsYXZlJywKLSAgICAgICAgICAgICdzbGF2ZVBhc3N3b3JkJzogJ3Bhc3N3
b3JkJywKKyAgICAgICAgICAgICd3b3JrZXJOYW1lJzogJ3N5bmMtd29ya2VyJywKKyAgICAgICAg
ICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNzd29yZCcsCiAgICAgICAgICAgICAnYnVpbGRSZXF1
ZXN0VXBkYXRlcyc6IHVwZGF0ZXMKICAgICAgICAgfSk7CiAKQEAgLTI4Miw4ICsyODIsOCBAQCBk
ZXNjcmliZSgnL2FwaS9idWlsZC1yZXF1ZXN0cycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY29u
c3QgdXBkYXRlcyA9IHs5MDA6IHsKICAgICAgICAgICAgIHN0YXR1czogY29udGVudFsnYnVpbGRS
ZXF1ZXN0cyddWzBdLnN0YXR1cywgdXJsOiBjb250ZW50WydidWlsZFJlcXVlc3RzJ11bMF0udXJs
LCBidWlsZFJlcXVlc3RGb3JSb290UmV1c2U6IGNvbnRlbnRbJ2J1aWxkUmVxdWVzdHMnXVswXS5p
ZH19OwogICAgICAgICBhd2FpdCBhc3NlcnRUaHJvd3MoJ0Nhbm5vdFJldXNlRGVsZXRlZFJvb3Qn
LCAoKSA9PiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OV2l0aFN0YXR1cygnL2FwaS9i
dWlsZC1yZXF1ZXN0cy9idWlsZC13ZWJraXQnLCB7Ci0gICAgICAgICAgICAnc2xhdmVOYW1lJzog
J3N5bmMtc2xhdmUnLAotICAgICAgICAgICAgJ3NsYXZlUGFzc3dvcmQnOiAncGFzc3dvcmQnLAor
ICAgICAgICAgICAgJ3dvcmtlck5hbWUnOiAnc3luYy13b3JrZXInLAorICAgICAgICAgICAgJ3dv
cmtlclBhc3N3b3JkJzogJ3Bhc3N3b3JkJywKICAgICAgICAgICAgICdidWlsZFJlcXVlc3RVcGRh
dGVzJzogdXBkYXRlcwogICAgICAgICB9KSk7CiAgICAgfSk7CkBAIC0zMjUsOCArMzI1LDggQEAg
ZGVzY3JpYmUoJy9hcGkvYnVpbGQtcmVxdWVzdHMnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAg
ICBzdGF0dXM6IGNvbnRlbnRbJ2J1aWxkUmVxdWVzdHMnXVswXS5zdGF0dXMsIHVybDogY29udGVu
dFsnYnVpbGRSZXF1ZXN0cyddWzBdLnVybCwgYnVpbGRSZXF1ZXN0Rm9yUm9vdFJldXNlOiBwYXJz
ZUludChjb250ZW50WydidWlsZFJlcXVlc3RzJ11bMF0uaWQpfX07CiAKICAgICAgICAgYXdhaXQg
YXNzZXJ0VGhyb3dzKCdDYW5ub3RSZXVzZURlbGV0ZWRSb290JywgKCkgPT4gVGVzdFNlcnZlci5y
ZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhTdGF0dXMoJy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQt
d2Via2l0JywgewotICAgICAgICAgICAgJ3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKLSAgICAg
ICAgICAgICdzbGF2ZVBhc3N3b3JkJzogJ3Bhc3N3b3JkJywKKyAgICAgICAgICAgICd3b3JrZXJO
YW1lJzogJ3N5bmMtd29ya2VyJywKKyAgICAgICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNz
d29yZCcsCiAgICAgICAgICAgICAnYnVpbGRSZXF1ZXN0VXBkYXRlcyc6IHVwZGF0ZXMKICAgICAg
ICAgfSkpOwogICAgIH0pOwpAQCAtMzYxLDggKzM2MSw4IEBAIGRlc2NyaWJlKCcvYXBpL2J1aWxk
LXJlcXVlc3RzJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgIHN0YXR1czogY29udGVu
dFsnYnVpbGRSZXF1ZXN0cyddWzBdLnN0YXR1cywgdXJsOiBjb250ZW50WydidWlsZFJlcXVlc3Rz
J11bMF0udXJsLCBidWlsZFJlcXVlc3RGb3JSb290UmV1c2U6IHBhcnNlSW50KGNvbnRlbnRbJ2J1
aWxkUmVxdWVzdHMnXVswXS5pZCl9fTsKIAogICAgICAgICBhd2FpdCBhc3NlcnRUaHJvd3MoJ05v
TWF0Y2hpbmdDb21taXRTZXRJdGVtJywgKCkgPT4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0
SlNPTldpdGhTdGF0dXMoJy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0JywgewotICAg
ICAgICAgICAgJ3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKLSAgICAgICAgICAgICdzbGF2ZVBh
c3N3b3JkJzogJ3Bhc3N3b3JkJywKKyAgICAgICAgICAgICd3b3JrZXJOYW1lJzogJ3N5bmMtd29y
a2VyJywKKyAgICAgICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNzd29yZCcsCiAgICAgICAg
ICAgICAnYnVpbGRSZXF1ZXN0VXBkYXRlcyc6IHVwZGF0ZXMKICAgICAgICAgfSkpOwogICAgIH0p
OwpAQCAtMzk5LDggKzM5OSw4IEBAIGRlc2NyaWJlKCcvYXBpL2J1aWxkLXJlcXVlc3RzJywgZnVu
Y3Rpb24gKCkgewogICAgICAgICAgICAgICAgIHN0YXR1czogY29udGVudFsnYnVpbGRSZXF1ZXN0
cyddWzBdLnN0YXR1cywgdXJsOiBjb250ZW50WydidWlsZFJlcXVlc3RzJ11bMF0udXJsLCBidWls
ZFJlcXVlc3RGb3JSb290UmV1c2U6IHBhcnNlSW50KGNvbnRlbnRbJ2J1aWxkUmVxdWVzdHMnXVsw
XS5pZCl9fTsKIAogICAgICAgICBhd2FpdCBhc3NlcnRUaHJvd3MoJ0Nhbm5vdFJldXNlUm9vdFdp
dGhOb25NYXRjaGluZ0NvbW1pdFNldHMnLCAoKSA9PiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBv
c3RKU09OV2l0aFN0YXR1cygnL2FwaS9idWlsZC1yZXF1ZXN0cy9idWlsZC13ZWJraXQnLCB7Ci0g
ICAgICAgICAgICAnc2xhdmVOYW1lJzogJ3N5bmMtc2xhdmUnLAotICAgICAgICAgICAgJ3NsYXZl
UGFzc3dvcmQnOiAncGFzc3dvcmQnLAorICAgICAgICAgICAgJ3dvcmtlck5hbWUnOiAnc3luYy13
b3JrZXInLAorICAgICAgICAgICAgJ3dvcmtlclBhc3N3b3JkJzogJ3Bhc3N3b3JkJywKICAgICAg
ICAgICAgICdidWlsZFJlcXVlc3RVcGRhdGVzJzogdXBkYXRlcwogICAgICAgICB9KSk7CiAgICAg
fSk7CkBAIC00MzQsOCArNDM0LDggQEAgZGVzY3JpYmUoJy9hcGkvYnVpbGQtcmVxdWVzdHMnLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgIGNvbnN0IHVwZGF0ZXMgPSB7OTAwOiB7CiAgICAgICAgICAg
ICBzdGF0dXM6IGNvbnRlbnRbJ2J1aWxkUmVxdWVzdHMnXVswXS5zdGF0dXMsIHVybDogY29udGVu
dFsnYnVpbGRSZXF1ZXN0cyddWzBdLnVybCwgYnVpbGRSZXF1ZXN0Rm9yUm9vdFJldXNlOiBwYXJz
ZUludChjb250ZW50WydidWlsZFJlcXVlc3RzJ11bMF0uaWQpfX07CiAgICAgICAgIGF3YWl0IGFz
c2VydFRocm93cygnQ2FuT25seVJldXNlQ29tcGxldGVkQnVpbGRSZXF1ZXN0JywgKCkgPT4gVGVz
dFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhTdGF0dXMoJy9hcGkvYnVpbGQtcmVxdWVz
dHMvYnVpbGQtd2Via2l0JywgewotICAgICAgICAgICAgJ3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZl
JywKLSAgICAgICAgICAgICdzbGF2ZVBhc3N3b3JkJzogJ3Bhc3N3b3JkJywKKyAgICAgICAgICAg
ICd3b3JrZXJOYW1lJzogJ3N5bmMtd29ya2VyJywKKyAgICAgICAgICAgICd3b3JrZXJQYXNzd29y
ZCc6ICdwYXNzd29yZCcsCiAgICAgICAgICAgICAnYnVpbGRSZXF1ZXN0VXBkYXRlcyc6IHVwZGF0
ZXMKICAgICAgICAgfSkpOwogICAgIH0pOwpAQCAtNDcwLDggKzQ3MCw4IEBAIGRlc2NyaWJlKCcv
YXBpL2J1aWxkLXJlcXVlc3RzJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgc3RhdHVzOiBj
b250ZW50WydidWlsZFJlcXVlc3RzJ11bMF0uc3RhdHVzLCB1cmw6IGNvbnRlbnRbJ2J1aWxkUmVx
dWVzdHMnXVswXS51cmwsIGJ1aWxkUmVxdWVzdEZvclJvb3RSZXVzZTogOTk5fX07CiAKICAgICAg
ICAgYXdhaXQgYXNzZXJ0VGhyb3dzKCdGYWlsZWRUb0ZpbmRidWlsZFJlcXVlc3RGb3JSb290UmV1
c2UnLCAoKSA9PiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OV2l0aFN0YXR1cygnL2Fw
aS9idWlsZC1yZXF1ZXN0cy9idWlsZC13ZWJraXQnLCB7Ci0gICAgICAgICAgICAnc2xhdmVOYW1l
JzogJ3N5bmMtc2xhdmUnLAotICAgICAgICAgICAgJ3NsYXZlUGFzc3dvcmQnOiAncGFzc3dvcmQn
LAorICAgICAgICAgICAgJ3dvcmtlck5hbWUnOiAnc3luYy13b3JrZXInLAorICAgICAgICAgICAg
J3dvcmtlclBhc3N3b3JkJzogJ3Bhc3N3b3JkJywKICAgICAgICAgICAgICdidWlsZFJlcXVlc3RV
cGRhdGVzJzogdXBkYXRlcwogICAgICAgICB9KSk7CiAgICAgfSk7CkBAIC0xMDAzLDggKzEwMDMs
OCBAQCBkZXNjcmliZSgnL2FwaS9idWlsZC1yZXF1ZXN0cycsIGZ1bmN0aW9uICgpIHsKICAgICAg
ICAgY29uc3QgdXBkYXRlcyA9IHsnNzAwJzoge3N0YXR1czogJ2NhbmNlbGVkJywgdXJsOiAnaHR0
cDovL2J1aWxkLndlYmtpdC5vcmcvc29tZUJ1aWxkZXIvYnVpbGRzJ319OwogICAgICAgICByZXR1
cm4gTW9ja0RhdGEuYWRkTW9ja0RhdGEoVGVzdFNlcnZlci5kYXRhYmFzZSgpKS50aGVuKCgpID0+
IHsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OV2l0
aFN0YXR1cygnL2FwaS9idWlsZC1yZXF1ZXN0cy9idWlsZC13ZWJraXQnLCB7Ci0gICAgICAgICAg
ICAgICAgJ3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKLSAgICAgICAgICAgICAgICAnc2xhdmVQ
YXNzd29yZCc6ICdwYXNzd29yZCcsCisgICAgICAgICAgICAgICAgJ3dvcmtlck5hbWUnOiAnc3lu
Yy13b3JrZXInLAorICAgICAgICAgICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNzd29yZCcs
CiAgICAgICAgICAgICAgICAgJ2J1aWxkUmVxdWVzdFVwZGF0ZXMnOiB1cGRhdGVzCiAgICAgICAg
ICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5zdHJp
Y3RFcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdPSycpOwpAQCAtMTA0OSw4ICsxMDQ5LDggQEAg
ZGVzY3JpYmUoJy9hcGkvYnVpbGQtcmVxdWVzdHMnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGF3
YWl0IE1vY2tEYXRhLmFkZE1vY2tEYXRhKFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSwgWydydW5uaW5n
JywgJ3BlbmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJ10pOwogICAgICAgICBhd2FpdCBUZXN0
U2VydmVyLmRhdGFiYXNlKCkucXVlcnkoYFVQREFURSBidWlsZF9yZXF1ZXN0cyBTRVQgcmVxdWVz
dF91cmwgPSAnJHt1cmx9JyBXSEVSRSByZXF1ZXN0X2lkID0gNzAwYCk7CiAgICAgICAgIGNvbnN0
IHJlc3BvbnNlID0gYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhTdGF0
dXMoJy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0JywgewotICAgICAgICAgICAgJ3Ns
YXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKLSAgICAgICAgICAgICdzbGF2ZVBhc3N3b3JkJzogJ3Bh
c3N3b3JkJywKKyAgICAgICAgICAgICd3b3JrZXJOYW1lJzogJ3N5bmMtd29ya2VyJywKKyAgICAg
ICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNzd29yZCcsCiAgICAgICAgICAgICAnYnVpbGRS
ZXF1ZXN0VXBkYXRlcyc6IHVwZGF0ZXMKICAgICAgICAgfSk7CiAgICAgICAgIGFzc2VydC5lcXVh
bChyZXNwb25zZVsnc3RhdHVzJ10sICdPSycpOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktY29tbWl0cy10ZXN0cy5qcyBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLWNvbW1pdHMtdGVzdHMuanMKaW5kZXggMjg1
NjlmMDYzNzMwNGUzYTYyY2Y3NzAwOTIzOTNmN2YwZTczNjU5Ny4uZGJmMWU2OGY2Y2RjMWNjZmRh
NGMwNzgyMjFmNDI5MDliOGJjMDhkZiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3NlcnZlci10ZXN0cy9hcGktY29tbWl0cy10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1jb21taXRzLXRlc3RzLmpzCkBAIC0zLDcgKzMs
NyBAQAogY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7CiAKIGNvbnN0IFRlc3RTZXJ2
ZXIgPSByZXF1aXJlKCcuL3Jlc291cmNlcy90ZXN0LXNlcnZlci5qcycpOwotY29uc3QgYWRkU2xh
dmVGb3JSZXBvcnQgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycp
LmFkZFNsYXZlRm9yUmVwb3J0OworY29uc3QgYWRkV29ya2VyRm9yUmVwb3J0ID0gcmVxdWlyZSgn
Li9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMnKS5hZGRXb3JrZXJGb3JSZXBvcnQ7CiBj
b25zdCBwcmVwYXJlU2VydmVyVGVzdCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVy
YXRpb25zLmpzJykucHJlcGFyZVNlcnZlclRlc3Q7CiBjb25zdCBzdWJtaXRSZXBvcnQgPSByZXF1
aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLnN1Ym1pdFJlcG9ydDsKIApA
QCAtMTEsOCArMTEsOCBAQCBkZXNjcmliZSgiL2FwaS9jb21taXRzLyIsIGZ1bmN0aW9uICgpIHsK
ICAgICBwcmVwYXJlU2VydmVyVGVzdCh0aGlzKTsKIAogICAgIGNvbnN0IHN1YnZlcnNpb25Db21t
aXRzID0gewotICAgICAgICAic2xhdmVOYW1lIjogInNvbWVTbGF2ZSIsCi0gICAgICAgICJzbGF2
ZVBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCisgICAgICAgICJ3b3JrZXJOYW1lIjogInNvbWVX
b3JrZXIiLAorICAgICAgICAid29ya2VyUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKICAgICAg
ICAgImNvbW1pdHMiOiBbCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgInJlcG9zaXRv
cnkiOiAiV2ViS2l0IiwKQEAgLTQwLDggKzQwLDggQEAgZGVzY3JpYmUoIi9hcGkvY29tbWl0cy8i
LCBmdW5jdGlvbiAoKSB7CiAgICAgfQogCiAgICAgY29uc3QgY29tbWl0c09uZVByZWZpeE9mVGhl
T3RoZXIgPSB7Ci0gICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKLSAgICAgICAgInNs
YXZlUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgIndvcmtlck5hbWUiOiAic29t
ZVdvcmtlciIsCisgICAgICAgICJ3b3JrZXJQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAogICAg
ICAgICAiY29tbWl0cyI6IFsKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAicmVwb3Np
dG9yeSI6ICJXZWJLaXQiLApAQCAtNjEsOCArNjEsOCBAQCBkZXNjcmliZSgiL2FwaS9jb21taXRz
LyIsIGZ1bmN0aW9uICgpIHsKICAgICB9CiAKICAgICBjb25zdCBzeXN0ZW1WZXJzaW9uQ29tbWl0
cyA9IHsKLSAgICAgICAgInNsYXZlTmFtZSI6ICJzb21lU2xhdmUiLAotICAgICAgICAic2xhdmVQ
YXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAorICAgICAgICAid29ya2VyTmFtZSI6ICJzb21lV29y
a2VyIiwKKyAgICAgICAgIndvcmtlclBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAgICAg
ICJjb21taXRzIjogWwogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5
IjogIk9TWCIsCkBAIC0xNTIsNyArMTUyLDcgQEAgZGVzY3JpYmUoIi9hcGkvY29tbWl0cy8iLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgIH0pOwogCiAgICAgICAgIGl0KCJzaG91bGQgcmV0dXJuIHRo
ZSBsaXN0IG9mIGFsbCBjb21taXRzIGZvciBhIGdpdmVuIHJlcG9zaXRvcnkiLCAoKSA9PiB7Ci0g
ICAgICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpLnRo
ZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChzdWJ2ZXJz
aW9uQ29tbWl0cykudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2
ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgc3VidmVyc2lv
bkNvbW1pdHMpOwogICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAg
ICAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT0sn
KTsKQEAgLTE3MSw3ICsxNzEsNyBAQCBkZXNjcmliZSgiL2FwaS9jb21taXRzLyIsIGZ1bmN0aW9u
ICgpIHsKICAgICAgICAgfSk7CiAKICAgICAgICAgaXQoInNob3VsZCByZXR1cm4gdGhlIGxpc3Qg
b2Ygb3JkZXJlZCBjb21taXRzIGZvciBhIGdpdmVuIHJlcG9zaXRvcnkiLCAoKSA9PiB7Ci0gICAg
ICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpLnRoZW4o
KCkgPT4geworICAgICAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChzdWJ2ZXJzaW9u
Q29tbWl0cykudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIu
cmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgc3lzdGVtVmVyc2lv
bkNvbW1pdHMpOwogICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAg
ICAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT0sn
KTsKQEAgLTIwOSw3ICsyMDksNyBAQCBkZXNjcmliZSgiL2FwaS9jb21taXRzLyIsIGZ1bmN0aW9u
ICgpIHsKIAogICAgICAgICBpdCgic2hvdWxkIHJldHVybiB0aGUgb2xkZXN0IGNvbW1pdCIsICgp
ID0+IHsKICAgICAgICAgICAgIGNvbnN0IHJlbW90ZSA9IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCk7
Ci0gICAgICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMp
LnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChzdWJ2
ZXJzaW9uQ29tbWl0cykudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbW90
ZS5wb3N0SlNPTldpdGhTdGF0dXMoJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgc3VidmVyc2lvbkNv
bW1pdHMpOwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIHJlbW90ZS5nZXRKU09OKCcvYXBpL2NvbW1pdHMvV2ViS2l0L29sZGVzdCcpOwpAQCAtMjIy
LDcgKzIyMiw3IEBAIGRlc2NyaWJlKCIvYXBpL2NvbW1pdHMvIiwgZnVuY3Rpb24gKCkgewogCiAg
ICAgICAgIGl0KCJzaG91bGQgcmV0dXJuIHRoZSBvbGRlc3QgY29tbWl0IGJhc2VkIG9uICdjb21t
aXRfb3JkZXInIHdoZW4gJ2NvbW1pdF90aW1lJyBpcyBtaXNzaW5nIiwgKCkgPT4gewogICAgICAg
ICAgICAgY29uc3QgcmVtb3RlID0gVGVzdFNlcnZlci5yZW1vdGVBUEkoKTsKLSAgICAgICAgICAg
IHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChzeXN0ZW1WZXJzaW9uQ29tbWl0cykudGhlbigoKSA9
PiB7CisgICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHN5c3RlbVZlcnNpb25D
b21taXRzKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICByZXR1cm4gcmVtb3RlLnBvc3RK
U09OV2l0aFN0YXR1cygnL2FwaS9yZXBvcnQtY29tbWl0cy8nLCBzeXN0ZW1WZXJzaW9uQ29tbWl0
cyk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICByZXR1cm4g
cmVtb3RlLmdldEpTT04oJy9hcGkvY29tbWl0cy9PU1gvb2xkZXN0Jyk7CkBAIC0yNTIsNyArMjUy
LDcgQEAgZGVzY3JpYmUoIi9hcGkvY29tbWl0cy8iLCBmdW5jdGlvbiAoKSB7CiAKICAgICAgICAg
aXQoInNob3VsZCByZXR1cm4gdGhlIG9sZGVzdCBjb21taXQiLCAoKSA9PiB7CiAgICAgICAgICAg
ICBjb25zdCByZW1vdGUgPSBUZXN0U2VydmVyLnJlbW90ZUFQSSgpOwotICAgICAgICAgICAgcmV0
dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHN1YnZlcnNpb25Db21taXRzKS50aGVuKCgpID0+IHsKKyAg
ICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpLnRo
ZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIHJldHVybiByZW1vdGUucG9zdEpTT05XaXRoU3Rh
dHVzKCcvYXBpL3JlcG9ydC1jb21taXRzLycsIHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAg
ICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIHJldHVybiByZW1vdGUuZ2V0SlNP
TignL2FwaS9jb21taXRzL1dlYktpdC9sYXRlc3QnKTsKQEAgLTI2NSw3ICsyNjUsNyBAQCBkZXNj
cmliZSgiL2FwaS9jb21taXRzLyIsIGZ1bmN0aW9uICgpIHsKIAogICAgICAgICBpdCgic2hvdWxk
IHJldHVybiB0aGUgbGF0ZXN0IGNvbW1pdCBiYXNlZCBvbiAnY29tbWl0X29yZGVyJyB3aGVuICdj
b21taXRfdGltZScgaXMgbWlzc2luZyIsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IHJlbW90
ZSA9IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCk7Ci0gICAgICAgICAgICByZXR1cm4gYWRkU2xhdmVG
b3JSZXBvcnQoc3lzdGVtVmVyc2lvbkNvbW1pdHMpLnRoZW4oKCkgPT4geworICAgICAgICAgICAg
cmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChzeXN0ZW1WZXJzaW9uQ29tbWl0cykudGhlbigoKSA9
PiB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbW90ZS5wb3N0SlNPTldpdGhTdGF0dXMoJy9h
cGkvcmVwb3J0LWNvbW1pdHMvJywgc3lzdGVtVmVyc2lvbkNvbW1pdHMpOwogICAgICAgICAgICAg
fSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbW90ZS5nZXRKU09OKCcv
YXBpL2NvbW1pdHMvT1NYL2xhdGVzdCcpOwpAQCAtMzMyLDcgKzMzMiw3IEBAIGRlc2NyaWJlKCIv
YXBpL2NvbW1pdHMvIiwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0
U2VydmVyLmRhdGFiYXNlKCk7CiAgICAgICAgICAgICBjb25zdCByZW1vdGUgPSBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpOwogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsKLSAgICAgICAg
ICAgICAgICBhZGRTbGF2ZUZvclJlcG9ydChzdWJ2ZXJzaW9uQ29tbWl0cyksCisgICAgICAgICAg
ICAgICAgYWRkV29ya2VyRm9yUmVwb3J0KHN1YnZlcnNpb25Db21taXRzKSwKICAgICAgICAgICAg
ICAgICBkYi5pbnNlcnQoJ3JlcG9zaXRvcmllcycsIHsnaWQnOiAxLCAnbmFtZSc6ICdXZWJLaXQn
fSksCiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdjb21taXRzJywgeydyZXBvc2l0b3J5Jzog
MSwgJ3JldmlzaW9uJzogbm90WWV0UmVwb3J0ZWRDb21taXQucmV2aXNpb24sICd0aW1lJzogbm90
WWV0UmVwb3J0ZWRDb21taXQudGltZX0pLAogICAgICAgICAgICAgXSkudGhlbigoKSA9PiB7CkBA
IC0zNDgsNyArMzQ4LDcgQEAgZGVzY3JpYmUoIi9hcGkvY29tbWl0cy8iLCBmdW5jdGlvbiAoKSB7
CiAKICAgICAgICAgaXQoInNob3VsZCByZXR1cm4gdGhlIGxhc3QgcmVwb3J0ZWQgY29tbWl0IGJh
c2VkIG9uICdjb21taXRfb3JkZXInIHdoZW4gJ2NvbW1pdF90aW1lJyBpcyBtaXNzaW5nIiwgKCkg
PT4gewogICAgICAgICAgICAgY29uc3QgcmVtb3RlID0gVGVzdFNlcnZlci5yZW1vdGVBUEkoKTsK
LSAgICAgICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChzeXN0ZW1WZXJzaW9uQ29tbWl0
cykudGhlbigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHN5
c3RlbVZlcnNpb25Db21taXRzKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICByZXR1cm4g
cmVtb3RlLnBvc3RKU09OV2l0aFN0YXR1cygnL2FwaS9yZXBvcnQtY29tbWl0cy8nLCBzeXN0ZW1W
ZXJzaW9uQ29tbWl0cyk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAg
ICAgICByZXR1cm4gcmVtb3RlLmdldEpTT04oJy9hcGkvY29tbWl0cy9PU1gvbGFzdC1yZXBvcnRl
ZCcpOwpAQCAtNDQyLDcgKzQ0Miw3IEBAIGRlc2NyaWJlKCIvYXBpL2NvbW1pdHMvIiwgZnVuY3Rp
b24gKCkgewogCiAgICAgICAgIGl0KCJzaG91bGQgcmV0dXJuIHRoZSBmdWxsIHJlc3VsdCBmb3Ig
YSByZXBvcnRlZCBjb21taXQiLCAoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCByZW1vdGUgPSBU
ZXN0U2VydmVyLnJlbW90ZUFQSSgpOwotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVw
b3J0KHN1YnZlcnNpb25Db21taXRzKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBh
ZGRXb3JrZXJGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpLnRoZW4oKCkgPT4gewogICAgICAg
ICAgICAgICAgIHJldHVybiByZW1vdGUucG9zdEpTT05XaXRoU3RhdHVzKCcvYXBpL3JlcG9ydC1j
b21taXRzLycsIHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4g
ewogICAgICAgICAgICAgICAgIHJldHVybiByZW1vdGUuZ2V0SlNPTignL2FwaS9jb21taXRzL1dl
YktpdC8yMTA5NDknKTsKQEAgLTQ1NSw3ICs0NTUsNyBAQCBkZXNjcmliZSgiL2FwaS9jb21taXRz
LyIsIGZ1bmN0aW9uICgpIHsKIAogICAgICAgICBpdCgic2hvdWxkIHJldHVybiB0aGUgZnVsbCBy
ZXN1bHQgZm9yIGEgcmVwb3J0ZWQgY29tbWl0IHdpdGggcHJlZml4LW1hdGNoIHRvIGJlIGZhbHNl
IiwgYXN5bmMgKCkgPT4gewogICAgICAgICAgICAgY29uc3QgcmVtb3RlID0gVGVzdFNlcnZlci5y
ZW1vdGVBUEkoKTsKLSAgICAgICAgICAgIGF3YWl0IGFkZFNsYXZlRm9yUmVwb3J0KHN1YnZlcnNp
b25Db21taXRzKTsKKyAgICAgICAgICAgIGF3YWl0IGFkZFdvcmtlckZvclJlcG9ydChzdWJ2ZXJz
aW9uQ29tbWl0cyk7CiAgICAgICAgICAgICBhd2FpdCByZW1vdGUucG9zdEpTT05XaXRoU3RhdHVz
KCcvYXBpL3JlcG9ydC1jb21taXRzLycsIHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAgICAg
IGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbW90ZS5nZXRKU09OKCcvYXBpL2NvbW1pdHMvV2ViS2l0
LzIxMDk0OT9wcmVmaXgtbWF0Y2g9ZmFsc2UnKTsKICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RF
cXVhbChyZXN1bHRbJ3N0YXR1cyddLCAnT0snKTsKQEAgLTQ2NSw3ICs0NjUsNyBAQCBkZXNjcmli
ZSgiL2FwaS9jb21taXRzLyIsIGZ1bmN0aW9uICgpIHsKIAogICAgICAgICBpdCgic2hvdWxkIHJl
dHVybiB0aGUgZnVsbCByZXN1bHQgZm9yIGEgcmVwb3J0ZWQgY29tbWl0IHdpdGggcHJlZml4LW1h
dGNoIHRvIGJlIHRydWUiLCBhc3luYyAoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCByZW1vdGUg
PSBUZXN0U2VydmVyLnJlbW90ZUFQSSgpOwotICAgICAgICAgICAgYXdhaXQgYWRkU2xhdmVGb3JS
ZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpOworICAgICAgICAgICAgYXdhaXQgYWRkV29ya2VyRm9y
UmVwb3J0KHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAgICAgIGF3YWl0IHJlbW90ZS5wb3N0
SlNPTldpdGhTdGF0dXMoJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgc3VidmVyc2lvbkNvbW1pdHMp
OwogICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVtb3RlLmdldEpTT04oJy9hcGkv
Y29tbWl0cy9XZWJLaXQvMjEwOTQ5P3ByZWZpeC1tYXRjaD10cnVlJyk7CiAgICAgICAgICAgICBh
c3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0WydzdGF0dXMnXSwgJ09LJyk7CkBAIC00NzUsNyArNDc1
LDcgQEAgZGVzY3JpYmUoIi9hcGkvY29tbWl0cy8iLCBmdW5jdGlvbiAoKSB7CiAKICAgICAgICAg
aXQoInNob3VsZCByZXR1cm4gJ0FtYmlndW91c1JldmlzaW9uUHJlZml4JyB3aGVuIG1vcmUgdGhh
biBvbmUgY29tbWl0cyBhcmUgZm91bmQgZm9yIGEgcmV2aXNpb24gcHJlZml4IiwgYXN5bmMgKCkg
PT4gewogICAgICAgICAgICAgY29uc3QgcmVtb3RlID0gVGVzdFNlcnZlci5yZW1vdGVBUEkoKTsK
LSAgICAgICAgICAgIGF3YWl0IGFkZFNsYXZlRm9yUmVwb3J0KHN1YnZlcnNpb25Db21taXRzKTsK
KyAgICAgICAgICAgIGF3YWl0IGFkZFdvcmtlckZvclJlcG9ydChzdWJ2ZXJzaW9uQ29tbWl0cyk7
CiAgICAgICAgICAgICBhd2FpdCByZW1vdGUucG9zdEpTT05XaXRoU3RhdHVzKCcvYXBpL3JlcG9y
dC1jb21taXRzLycsIHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAgICAgIGNvbnN0IHJlc3Vs
dCA9IGF3YWl0IHJlbW90ZS5nZXRKU09OKCcvYXBpL2NvbW1pdHMvV2ViS2l0LzIxMDk0P3ByZWZp
eC1tYXRjaD10cnVlJyk7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0Wydz
dGF0dXMnXSwgJ0FtYmlndW91c1JldmlzaW9uUHJlZml4Jyk7CkBAIC00ODMsNyArNDgzLDcgQEAg
ZGVzY3JpYmUoIi9hcGkvY29tbWl0cy8iLCBmdW5jdGlvbiAoKSB7CiAKICAgICAgICAgaXQoInNo
b3VsZCBub3QgcmV0dXJuICdBbWJpZ3VvdXNSZXZpc2lvblByZWZpeCcgd2hlbiB0aGVyZSBpcyBh
IGNvbW1pdCByZXZpc2lvbiBleHRyYWN0IG1hdGNoZXMgc3BlY2lmaWVkIHJldmlzaW9uIHByZWZp
eCIsIGFzeW5jICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IHJlbW90ZSA9IFRlc3RTZXJ2ZXIu
cmVtb3RlQVBJKCk7Ci0gICAgICAgICAgICBhd2FpdCBhZGRTbGF2ZUZvclJlcG9ydChjb21taXRz
T25lUHJlZml4T2ZUaGVPdGhlcik7CisgICAgICAgICAgICBhd2FpdCBhZGRXb3JrZXJGb3JSZXBv
cnQoY29tbWl0c09uZVByZWZpeE9mVGhlT3RoZXIpOwogICAgICAgICAgICAgYXdhaXQgcmVtb3Rl
LnBvc3RKU09OV2l0aFN0YXR1cygnL2FwaS9yZXBvcnQtY29tbWl0cy8nLCBjb21taXRzT25lUHJl
Zml4T2ZUaGVPdGhlcik7CiAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZW1vdGUu
Z2V0SlNPTignL2FwaS9jb21taXRzL1dlYktpdC8yMTA5ND9wcmVmaXgtbWF0Y2g9dHJ1ZScpOwog
ICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdFsnc3RhdHVzJ10sICdPSycpOwpA
QCAtNDkzLDcgKzQ5Myw3IEBAIGRlc2NyaWJlKCIvYXBpL2NvbW1pdHMvIiwgZnVuY3Rpb24gKCkg
ewogCiAgICAgICAgIGl0KCJzaG91bGQgcmV0dXJuICdVbmtub3duQ29tbWl0JyB3aGVuIG5vIGNv
bW1pdCBpcyBmb3VuZCBmb3IgYSByZXZpc2lvbiBwcmVmaXgiLCBhc3luYyAoKSA9PiB7CiAgICAg
ICAgICAgICBjb25zdCByZW1vdGUgPSBUZXN0U2VydmVyLnJlbW90ZUFQSSgpOwotICAgICAgICAg
ICAgYXdhaXQgYWRkU2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpOworICAgICAgICAg
ICAgYXdhaXQgYWRkV29ya2VyRm9yUmVwb3J0KHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAg
ICAgIGF3YWl0IHJlbW90ZS5wb3N0SlNPTldpdGhTdGF0dXMoJy9hcGkvcmVwb3J0LWNvbW1pdHMv
Jywgc3VidmVyc2lvbkNvbW1pdHMpOwogICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQg
cmVtb3RlLmdldEpTT04oJy9hcGkvY29tbWl0cy9XZWJLaXQvMjEwOTA/cHJlZml4LW1hdGNoPXRy
dWUnKTsKICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHRbJ3N0YXR1cyddLCAn
VW5rbm93bkNvbW1pdCcpOwpAQCAtNTAxLDcgKzUwMSw3IEBAIGRlc2NyaWJlKCIvYXBpL2NvbW1p
dHMvIiwgZnVuY3Rpb24gKCkgewogCiAgICAgICAgIGl0KCJzaG91bGQgbm90IG1hdGNoIHByZWZp
eCBhbmQgcmV0dXJuICdVbmtvd25Db21taXQnIHdoZW4gc3ZuIGNvbW1pdCBzdGFydHMgd2l0aCAn
cicgcHJlZml4IGFuZCB0aGVyZSBpcyBubyBleGFjdCBtYXRjaCIsIGFzeW5jICgpID0+IHsKICAg
ICAgICAgICAgIGNvbnN0IHJlbW90ZSA9IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCk7Ci0gICAgICAg
ICAgICBhd2FpdCBhZGRTbGF2ZUZvclJlcG9ydChzdWJ2ZXJzaW9uQ29tbWl0cyk7CisgICAgICAg
ICAgICBhd2FpdCBhZGRXb3JrZXJGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpOwogICAgICAg
ICAgICAgYXdhaXQgcmVtb3RlLnBvc3RKU09OV2l0aFN0YXR1cygnL2FwaS9yZXBvcnQtY29tbWl0
cy8nLCBzdWJ2ZXJzaW9uQ29tbWl0cyk7CiAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2Fp
dCByZW1vdGUuZ2V0SlNPTignL2FwaS9jb21taXRzL1dlYktpdC9yMjEwOTU/cHJlZml4LW1hdGNo
PXRydWUnKTsKICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHRbJ3N0YXR1cydd
LCAnVW5rbm93bkNvbW1pdCcpOwpAQCAtNzM3LDcgKzczNyw3IEBAIGRlc2NyaWJlKCIvYXBpL2Nv
bW1pdHMvIiwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0
cycsIHsncmVwb3NpdG9yeSc6IDEsICdyZXZpc2lvbic6ICcyMTA5NDknLCAndGltZSc6ICcyMDE3
LTAxLTIwVDAzOjIzOjUwLjY0NVonLCAncmVwb3J0ZWQnOiBmYWxzZX0pLAogICAgICAgICAgICAg
ICAgIGRiLmluc2VydCgnY29tbWl0cycsIHsncmVwb3NpdG9yeSc6IDEsICdyZXZpc2lvbic6ICcy
MTA5NTAnLCAndGltZSc6ICcyMDE3LTAxLTIwVDAzOjQ5OjM3Ljg4N1onLCAncmVwb3J0ZWQnOiBm
YWxzZX0pLAogICAgICAgICAgICAgXSkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHN1YnZlcnNpb25Db21taXRzKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAg
ICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIHJldHVybiByZW1vdGUucG9zdEpT
T05XaXRoU3RhdHVzKCcvYXBpL3JlcG9ydC1jb21taXRzLycsIHN1YnZlcnNpb25Db21taXRzKTsK
ICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktcmVwb3J0LWNvbW1pdHMtdGVzdHMuanMgYi9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1yZXBvcnQtY29tbWl0cy10ZXN0
cy5qcwppbmRleCBiNGVlNzI2ZjM1NTMwMmFiMThkNmM3MzZjYmI0MGMzMGM0YjE4NTliLi44OWEw
YTRlYzgzODM4OTM3OWU5OTk0ZmU0OWUwNmUxN2FlNWI0ZDJhIDEwMDY0NAotLS0gYS9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1yZXBvcnQtY29tbWl0cy10ZXN0cy5q
cworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1yZXBvcnQt
Y29tbWl0cy10ZXN0cy5qcwpAQCAtMywxOSArMywxOSBAQAogY29uc3QgYXNzZXJ0ID0gcmVxdWly
ZSgnYXNzZXJ0Jyk7CiAKIGNvbnN0IFRlc3RTZXJ2ZXIgPSByZXF1aXJlKCcuL3Jlc291cmNlcy90
ZXN0LXNlcnZlci5qcycpOwotY29uc3QgYWRkU2xhdmVGb3JSZXBvcnQgPSByZXF1aXJlKCcuL3Jl
c291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLmFkZFNsYXZlRm9yUmVwb3J0OworY29uc3Qg
YWRkV29ya2VyRm9yUmVwb3J0ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlv
bnMuanMnKS5hZGRXb3JrZXJGb3JSZXBvcnQ7CiBjb25zdCBwcmVwYXJlU2VydmVyVGVzdCA9IHJl
cXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJykucHJlcGFyZVNlcnZlclRl
c3Q7CiAKIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyB3aXRoIGluc2VydD10cnVlIiwg
ZnVuY3Rpb24gKCkgewogICAgIHByZXBhcmVTZXJ2ZXJUZXN0KHRoaXMpOwogCiAgICAgY29uc3Qg
ZW1wdHlSZXBvcnQgPSB7Ci0gICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKLSAgICAg
ICAgInNsYXZlUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgIndvcmtlck5hbWUi
OiAic29tZVdvcmtlciIsCisgICAgICAgICJ3b3JrZXJQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQi
LAogICAgIH07CiAgICAgY29uc3Qgc3VidmVyc2lvbkNvbW1pdCA9IHsKLSAgICAgICAgInNsYXZl
TmFtZSI6ICJzb21lU2xhdmUiLAotICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21lUGFzc3dv
cmQiLAorICAgICAgICAid29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKKyAgICAgICAgIndvcmtl
clBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAgICAgICJjb21taXRzIjogWwogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5IjogIldlYktpdCIsCkBAIC0yNyw4
ICsyNyw4IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyB3aXRoIGluc2VydD10cnVl
IiwgZnVuY3Rpb24gKCkgewogICAgICAgICBdLAogICAgIH07CiAgICAgY29uc3Qgc3VidmVyc2lv
bkludmFsaWRDb21taXQgPSB7Ci0gICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKLSAg
ICAgICAgInNsYXZlUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgIndvcmtlck5h
bWUiOiAic29tZVdvcmtlciIsCisgICAgICAgICJ3b3JrZXJQYXNzd29yZCI6ICJzb21lUGFzc3dv
cmQiLAogICAgICAgICAiY29tbWl0cyI6IFsKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAicmVwb3NpdG9yeSI6ICJXZWJLaXQiLApAQCAtNDAsOCArNDAsOCBAQCBkZXNjcmliZSgiL2Fw
aS9yZXBvcnQtY29tbWl0cy8gd2l0aCBpbnNlcnQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICAg
ICAgXSwKICAgICB9OwogICAgIGNvbnN0IHN1YnZlcnNpb25Ud29Db21taXRzID0gewotICAgICAg
ICAic2xhdmVOYW1lIjogInNvbWVTbGF2ZSIsCi0gICAgICAgICJzbGF2ZVBhc3N3b3JkIjogInNv
bWVQYXNzd29yZCIsCisgICAgICAgICJ3b3JrZXJOYW1lIjogInNvbWVXb3JrZXIiLAorICAgICAg
ICAid29ya2VyUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKICAgICAgICAgImNvbW1pdHMiOiBb
CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgInJlcG9zaXRvcnkiOiAiV2ViS2l0IiwK
QEAgLTYyLDggKzYyLDggQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5z
ZXJ0PXRydWUiLCBmdW5jdGlvbiAoKSB7CiAgICAgfTsKIAogICAgIGNvbnN0IHN1YnZlcnNpb25J
bnZhbGlkUHJldmlvdXNDb21taXQgPSB7Ci0gICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZl
IiwKLSAgICAgICAgInNsYXZlUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgIndv
cmtlck5hbWUiOiAic29tZVdvcmtlciIsCisgICAgICAgICJ3b3JrZXJQYXNzd29yZCI6ICJzb21l
UGFzc3dvcmQiLAogICAgICAgICAiY29tbWl0cyI6IFsKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAicmVwb3NpdG9yeSI6ICJXZWJLaXQiLApAQCAtNzYsMTUgKzc2LDE1IEBAIGRlc2Ny
aWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyB3aXRoIGluc2VydD10cnVlIiwgZnVuY3Rpb24gKCkg
ewogICAgICAgICBdCiAgICAgfQogCi0gICAgaXQoInNob3VsZCByZWplY3QgZXJyb3Igd2hlbiBz
bGF2ZSBuYW1lIGlzIG1pc3NpbmciLCAoKSA9PiB7CisgICAgaXQoInNob3VsZCByZWplY3QgZXJy
b3Igd2hlbiB3b3JrZXIgbmFtZSBpcyBtaXNzaW5nIiwgKCkgPT4gewogICAgICAgICByZXR1cm4g
VGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQtY29tbWl0cy8nLCB7
fSkudGhlbigocmVzcG9uc2UpID0+IHsKLSAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChy
ZXNwb25zZVsnc3RhdHVzJ10sICdNaXNzaW5nU2xhdmVOYW1lJyk7CisgICAgICAgICAgICBhc3Nl
cnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnTWlzc2luZ1dvcmtlck5hbWUnKTsK
ICAgICAgICAgfSk7CiAgICAgfSk7CiAKLSAgICBpdCgic2hvdWxkIHJlamVjdCB3aGVuIHRoZXJl
IGFyZSBubyBzbGF2ZXMiLCAoKSA9PiB7CisgICAgaXQoInNob3VsZCByZWplY3Qgd2hlbiB0aGVy
ZSBhcmUgbm8gd29ya2VycyIsICgpID0+IHsKICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVt
b3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgZW1wdHlSZXBvcnQpLnRo
ZW4oKHJlc3BvbnNlKSA9PiB7Ci0gICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9u
c2VbJ3N0YXR1cyddLCAnU2xhdmVOb3RGb3VuZCcpOworICAgICAgICAgICAgYXNzZXJ0LnN0cmlj
dEVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ1dvcmtlck5vdEZvdW5kJyk7CiAgICAgICAgICAg
ICByZXR1cm4gVGVzdFNlcnZlci5kYXRhYmFzZSgpLnNlbGVjdEFsbCgnY29tbWl0cycpOwogICAg
ICAgICB9KS50aGVuKChyb3dzKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwo
cm93cy5sZW5ndGgsIDApOwpAQCAtOTIsNyArOTIsNyBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQt
Y29tbWl0cy8gd2l0aCBpbnNlcnQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAg
IGl0KCJzaG91bGQgYWNjZXB0IGFuIGVtcHR5IHJlcG9ydCIsICgpID0+IHsKLSAgICAgICAgcmV0
dXJuIGFkZFNsYXZlRm9yUmVwb3J0KGVtcHR5UmVwb3J0KS50aGVuKCgpID0+IHsKKyAgICAgICAg
cmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChlbXB0eVJlcG9ydCkudGhlbigoKSA9PiB7CiAgICAg
ICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBv
cnQtY29tbWl0cy8nLCBlbXB0eVJlcG9ydCk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9
PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAn
T0snKTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQtY29tbWl0cy8g
d2l0aCBpbnNlcnQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAgIGl0KCJzaG91
bGQgYWRkIGEgbWlzc2luZyByZXBvc2l0b3J5IiwgKCkgPT4gewotICAgICAgICByZXR1cm4gYWRk
U2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdCkudGhlbigoKSA9PiB7CisgICAgICAgIHJl
dHVybiBhZGRXb3JrZXJGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdCkudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9y
ZXBvcnQtY29tbWl0cy8nLCBzdWJ2ZXJzaW9uQ29tbWl0KTsKICAgICAgICAgfSkudGhlbigocmVz
cG9uc2UpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXNwb25zZVsnc3Rh
dHVzJ10sICdPSycpOwpAQCAtMTExLDggKzExMSw4IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1j
b21taXRzLyB3aXRoIGluc2VydD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgICAgICB9KTsKICAg
ICB9KTsKIAotICAgIGl0KCJzaG91bGQgc3RvcmUgYSBjb21taXQgZnJvbSBhIHZhbGlkIHNsYXZl
IiwgKCkgPT4gewotICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkNv
bW1pdCkudGhlbigoKSA9PiB7CisgICAgaXQoInNob3VsZCBzdG9yZSBhIGNvbW1pdCBmcm9tIGEg
dmFsaWQgd29ya2VyIiwgKCkgPT4geworICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0
KHN1YnZlcnNpb25Db21taXQpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgc3VidmVy
c2lvbkNvbW1pdCk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAg
ICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT0snKTsKQEAgLTEzNSw3
ICsxMzUsNyBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQtY29tbWl0cy8gd2l0aCBpbnNlcnQ9dHJ1
ZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAgIGl0KCJzaG91bGQgcmVqZWN0IGFuIGlu
dmFsaWQgcmV2aXNpb24gbnVtYmVyIiwgKCkgPT4gewotICAgICAgICByZXR1cm4gYWRkU2xhdmVG
b3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdCkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBh
ZGRXb3JrZXJGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdCkudGhlbigoKSA9PiB7CiAgICAgICAg
ICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQt
Y29tbWl0cy8nLCBzdWJ2ZXJzaW9uSW52YWxpZENvbW1pdCk7CiAgICAgICAgIH0pLnRoZW4oKHJl
c3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0
YXR1cyddLCAnSW52YWxpZFJldmlzaW9uJyk7CkBAIC0xNDUsOCArMTQ1LDggQEAgZGVzY3JpYmUo
Ii9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5zZXJ0PXRydWUiLCBmdW5jdGlvbiAoKSB7CiAg
ICAgICAgIH0pOwogICAgIH0pOwogCi0gICAgaXQoInNob3VsZCBzdG9yZSB0d28gY29tbWl0cyBm
cm9tIGEgdmFsaWQgc2xhdmUiLCAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJl
cG9ydChzdWJ2ZXJzaW9uVHdvQ29tbWl0cykudGhlbigoKSA9PiB7CisgICAgaXQoInNob3VsZCBz
dG9yZSB0d28gY29tbWl0cyBmcm9tIGEgdmFsaWQgd29ya2VyIiwgKCkgPT4geworICAgICAgICBy
ZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHN1YnZlcnNpb25Ud29Db21taXRzKS50aGVuKCgpID0+
IHsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcv
YXBpL3JlcG9ydC1jb21taXRzLycsIHN1YnZlcnNpb25Ud29Db21taXRzKTsKICAgICAgICAgfSku
dGhlbigocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXNw
b25zZVsnc3RhdHVzJ10sICdPSycpOwpAQCAtMTc5LDcgKzE3OSw3IEBAIGRlc2NyaWJlKCIvYXBp
L3JlcG9ydC1jb21taXRzLyB3aXRoIGluc2VydD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgIH0p
OwogCiAgICAgaXQoInNob3VsZCBmYWlsIGlmIHByZXZpb3VzIGNvbW1pdCBpcyBpbnZhbGlkIiwg
KCkgPT4gewotICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkludmFs
aWRQcmV2aW91c0NvbW1pdCkudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBhZGRXb3JrZXJG
b3JSZXBvcnQoc3VidmVyc2lvbkludmFsaWRQcmV2aW91c0NvbW1pdCkudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9y
ZXBvcnQtY29tbWl0cy8nLCBzdWJ2ZXJzaW9uSW52YWxpZFByZXZpb3VzQ29tbWl0KTsKICAgICAg
ICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVh
bChyZXNwb25zZVsnc3RhdHVzJ10sICdGYWlsZWRUb0ZpbmRQcmV2aW91c0NvbW1pdCcpOwpAQCAt
MTkyLDcgKzE5Miw3IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyB3aXRoIGluc2Vy
dD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgIGl0KCJzaG91bGQgdXBkYXRlIGFuIGV4aXN0aW5n
IGNvbW1pdCBpZiB0aGVyZSBpcyBvbmUiLCAoKSA9PiB7CiAgICAgICAgIGNvbnN0IGRiID0gVGVz
dFNlcnZlci5kYXRhYmFzZSgpOwogICAgICAgICBjb25zdCByZXBvcnRlZERhdGEgPSBzdWJ2ZXJz
aW9uQ29tbWl0LmNvbW1pdHNbMF07Ci0gICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChz
dWJ2ZXJzaW9uQ29tbWl0KS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZv
clJlcG9ydChzdWJ2ZXJzaW9uQ29tbWl0KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIHJldHVy
biBQcm9taXNlLmFsbChbCiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdyZXBvc2l0b3JpZXMn
LCB7J2lkJzogMSwgJ25hbWUnOiAnV2ViS2l0J30pLAogICAgICAgICAgICAgICAgIGRiLmluc2Vy
dCgnY29tbWl0cycsIHsncmVwb3NpdG9yeSc6IDEsICdyZXZpc2lvbic6IHJlcG9ydGVkRGF0YVsn
cmV2aXNpb24nXSwgJ3RpbWUnOiByZXBvcnRlZERhdGFbJ3RpbWUnXX0pCkBAIC0yMTksNyArMjE5
LDcgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5zZXJ0PXRydWUiLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgIGNvbnN0IGRiID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwog
ICAgICAgICBjb25zdCBmaXJzdERhdGEgPSBzdWJ2ZXJzaW9uVHdvQ29tbWl0cy5jb21taXRzWzBd
OwogICAgICAgICBjb25zdCBzZWNvbmREYXRhID0gc3VidmVyc2lvblR3b0NvbW1pdHMuY29tbWl0
c1sxXTsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHN1YnZlcnNpb25Db21taXQp
LnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHN1YnZlcnNp
b25Db21taXQpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsK
ICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ3JlcG9zaXRvcmllcycsIHsnaWQnOiAxLCAnbmFt
ZSc6ICdXZWJLaXQnfSksCiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdjb21taXRzJywgeydp
ZCc6IDIsICdyZXBvc2l0b3J5JzogMSwgJ3JldmlzaW9uJzogZmlyc3REYXRhWydyZXZpc2lvbidd
LCAndGltZSc6IGZpcnN0RGF0YVsndGltZSddfSksCkBAIC0yNTEsNyArMjUxLDcgQEAgZGVzY3Jp
YmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5zZXJ0PXRydWUiLCBmdW5jdGlvbiAoKSB7
CiAgICAgaXQoInNob3VsZCB1cGRhdGUgYW4gZXhpc3RpbmcgY29tbWl0dGVyIGlmIHRoZXJlIGlz
IG9uZSIsICgpID0+IHsKICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7
CiAgICAgICAgIGNvbnN0IGF1dGhvciA9IHN1YnZlcnNpb25Db21taXQuY29tbWl0c1swXVsnYXV0
aG9yJ107Ci0gICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChzdWJ2ZXJzaW9uQ29tbWl0
KS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChzdWJ2ZXJz
aW9uQ29tbWl0KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChb
CiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdyZXBvc2l0b3JpZXMnLCB7J2lkJzogMSwgJ25h
bWUnOiAnV2ViS2l0J30pLAogICAgICAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0dGVycycs
IHsncmVwb3NpdG9yeSc6IDEsICdhY2NvdW50JzogYXV0aG9yWydhY2NvdW50J119KSwKQEAgLTI2
OSw4ICsyNjksOCBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQtY29tbWl0cy8gd2l0aCBpbnNlcnQ9
dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAgIGNvbnN0IHNhbWVSZXBvc2l0b3J5
TmFtZUluT3duZWRDb21taXRBbmRNYWpvckNvbW1pdCA9IHsKLSAgICAgICAgInNsYXZlTmFtZSI6
ICJzb21lU2xhdmUiLAotICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAor
ICAgICAgICAid29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKKyAgICAgICAgIndvcmtlclBhc3N3
b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAgICAgICJjb21taXRzIjogWwogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5IjogIk9TWCIsCkBAIC0yOTksNyArMjk5LDcg
QEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5zZXJ0PXRydWUiLCBmdW5j
dGlvbiAoKSB7CiAgICAgfTsKIAogICAgIGl0KCJzaG91bGQgZGlzdGluZ3Vpc2ggYmV0d2VlbiBy
ZXBvc2l0b3JpZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dCB3aXRoIGEgZGlmZmVyZW50IG93bmVy
LiIsICgpID0+IHsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHNhbWVSZXBvc2l0
b3J5TmFtZUluT3duZWRDb21taXRBbmRNYWpvckNvbW1pdCkudGhlbigoKSA9PiB7CisgICAgICAg
IHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQoc2FtZVJlcG9zaXRvcnlOYW1lSW5Pd25lZENvbW1p
dEFuZE1ham9yQ29tbWl0KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2Vy
dmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC1jb21taXRzLycsIHNhbWVSZXBv
c2l0b3J5TmFtZUluT3duZWRDb21taXRBbmRNYWpvckNvbW1pdCk7CiAgICAgICAgIH0pLnRoZW4o
KHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2Vb
J3N0YXR1cyddLCAnT0snKTsKQEAgLTMxNSw4ICszMTUsOCBAQCBkZXNjcmliZSgiL2FwaS9yZXBv
cnQtY29tbWl0cy8gd2l0aCBpbnNlcnQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAog
ICAgIGNvbnN0IHN5c3RlbVZlcnNpb25Db21taXRXaXRoT3duZWRDb21taXRzID0gewotICAgICAg
ICAic2xhdmVOYW1lIjogInNvbWVTbGF2ZSIsCi0gICAgICAgICJzbGF2ZVBhc3N3b3JkIjogInNv
bWVQYXNzd29yZCIsCisgICAgICAgICJ3b3JrZXJOYW1lIjogInNvbWVXb3JrZXIiLAorICAgICAg
ICAid29ya2VyUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKICAgICAgICAgImNvbW1pdHMiOiBb
CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgInJlcG9zaXRvcnkiOiAiT1NYIiwKQEAg
LTM0MCw3ICszNDAsNyBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQtY29tbWl0cy8gd2l0aCBpbnNl
cnQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKIAogICAgIGl0KCJzaG91bGQgYWNjZXB0IGluc2VydGlu
ZyBvbmUgY29tbWl0IHdpdGggc29tZSBvd25lZCBjb21taXRzIiwgKCkgPT4gewogICAgICAgICBj
b25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZl
Rm9yUmVwb3J0KHN5c3RlbVZlcnNpb25Db21taXRXaXRoT3duZWRDb21taXRzKS50aGVuKCgpID0+
IHsKKyAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChzeXN0ZW1WZXJzaW9uQ29tbWl0
V2l0aE93bmVkQ29tbWl0cykudGhlbigoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gVGVzdFNl
cnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQtY29tbWl0cy8nLCBzeXN0ZW1W
ZXJzaW9uQ29tbWl0V2l0aE93bmVkQ29tbWl0cyk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNl
KSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cydd
LCAnT0snKTsKQEAgLTQwMyw4ICs0MDMsOCBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQtY29tbWl0
cy8gd2l0aCBpbnNlcnQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9KQogCiAgICAgY29uc3Qg
bXVsdGlwbGVTeXN0ZW1WZXJzaW9uQ29tbWl0c1dpdGhPd25lZENvbW1pdHMgPSB7Ci0gICAgICAg
ICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKLSAgICAgICAgInNsYXZlUGFzc3dvcmQiOiAic29t
ZVBhc3N3b3JkIiwKKyAgICAgICAgIndvcmtlck5hbWUiOiAic29tZVdvcmtlciIsCisgICAgICAg
ICJ3b3JrZXJQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAogICAgICAgICAiY29tbWl0cyI6IFsK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAicmVwb3NpdG9yeSI6ICJPU1giLApAQCAt
NDQ1LDcgKzQ0NSw3IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyB3aXRoIGluc2Vy
dD10cnVlIiwgZnVuY3Rpb24gKCkgewogCiAgICAgaXQoInNob3VsZCBhY2NlcHQgaW5zZXJ0aW5n
IG11bHRpcGxlIGNvbW1pdHMgd2l0aCBtdWx0aXBsZSBvd25lZC1jb21taXRzIiwgKCkgPT4gewog
ICAgICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKLSAgICAgICAgcmV0dXJu
IGFkZFNsYXZlRm9yUmVwb3J0KG11bHRpcGxlU3lzdGVtVmVyc2lvbkNvbW1pdHNXaXRoT3duZWRD
b21taXRzKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydCht
dWx0aXBsZVN5c3RlbVZlcnNpb25Db21taXRzV2l0aE93bmVkQ29tbWl0cykudGhlbigoKSA9PiB7
CiAgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2Fw
aS9yZXBvcnQtY29tbWl0cy8nLCBtdWx0aXBsZVN5c3RlbVZlcnNpb25Db21taXRzV2l0aE93bmVk
Q29tbWl0cyk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBh
c3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT0snKTsKQEAgLTUzMSw4ICs1
MzEsOCBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQtY29tbWl0cy8gd2l0aCBpbnNlcnQ9dHJ1ZSIs
IGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAgIGNvbnN0IHN5c3RlbVZlcnNpb25Db21taXRX
aXRoRW1wdHlPd25lZENvbW1pdHMgPSB7Ci0gICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZl
IiwKLSAgICAgICAgInNsYXZlUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgIndv
cmtlck5hbWUiOiAic29tZVdvcmtlciIsCisgICAgICAgICJ3b3JrZXJQYXNzd29yZCI6ICJzb21l
UGFzc3dvcmQiLAogICAgICAgICAiY29tbWl0cyI6IFsKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAicmVwb3NpdG9yeSI6ICJPU1giLApAQCAtNTQ1LDcgKzU0NSw3IEBAIGRlc2NyaWJl
KCIvYXBpL3JlcG9ydC1jb21taXRzLyB3aXRoIGluc2VydD10cnVlIiwgZnVuY3Rpb24gKCkgewog
ICAgIH0KIAogICAgIGl0KCJzaG91bGQgYWNjZXB0IGluc2VydGluZyBvbmUgY29tbWl0IHdpdGgg
bm8gb3duZWQgY29tbWl0cyIsICgpID0+IHsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVw
b3J0KHN5c3RlbVZlcnNpb25Db21taXRXaXRoRW1wdHlPd25lZENvbW1pdHMpLnRoZW4oKCkgPT4g
eworICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHN5c3RlbVZlcnNpb25Db21taXRX
aXRoRW1wdHlPd25lZENvbW1pdHMpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRl
c3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgc3lz
dGVtVmVyc2lvbkNvbW1pdFdpdGhFbXB0eU93bmVkQ29tbWl0cyk7CiAgICAgICAgIH0pLnRoZW4o
KHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2Vb
J3N0YXR1cyddLCAnT0snKTsKQEAgLTU2NCw4ICs1NjQsOCBAQCBkZXNjcmliZSgiL2FwaS9yZXBv
cnQtY29tbWl0cy8gd2l0aCBpbnNlcnQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAog
ICAgIGNvbnN0IHN5c3RlbVZlcnNpb25Db21taXRBbmRPd25lZENvbW1pdFdpdGhUaW1lc3RhbXAg
PSB7Ci0gICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKLSAgICAgICAgInNsYXZlUGFz
c3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgIndvcmtlck5hbWUiOiAic29tZVdvcmtl
ciIsCisgICAgICAgICJ3b3JrZXJQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAogICAgICAgICAi
Y29tbWl0cyI6IFsKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAicmVwb3NpdG9yeSI6
ICJPU1giLApAQCAtNTg0LDcgKzU4NCw3IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRz
LyB3aXRoIGluc2VydD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgIH0KIAogICAgIGl0KCJzaG91
bGQgcmVqZWN0IGluc2VydGluZyBvbmUgY29tbWl0IHdpdGggb3duZWQgY29tbWl0cyB0aGF0IGNv
bnRhaW5zIHRpbWVzdGFtcCIsICgpID0+IHsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVw
b3J0KHN5c3RlbVZlcnNpb25Db21taXRBbmRPd25lZENvbW1pdFdpdGhUaW1lc3RhbXApLnRoZW4o
KCkgPT4geworICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHN5c3RlbVZlcnNpb25D
b21taXRBbmRPd25lZENvbW1pdFdpdGhUaW1lc3RhbXApLnRoZW4oKCkgPT4gewogICAgICAgICAg
ICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LWNv
bW1pdHMvJywgc3lzdGVtVmVyc2lvbkNvbW1pdEFuZE93bmVkQ29tbWl0V2l0aFRpbWVzdGFtcCk7
CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3Ry
aWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT3duZWRDb21taXRTaG91bGROb3RDb250YWlu
VGltZXN0YW1wJyk7CkBAIC01OTYsOCArNTk2LDggQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNv
bW1pdHMvIHdpdGggaW5zZXJ0PWZhbHNlIiwgZnVuY3Rpb24gKCkgewogICAgIHByZXBhcmVTZXJ2
ZXJUZXN0KHRoaXMpOwogCiAgICAgY29uc3Qgc3VidmVyc2lvbkNvbW1pdHMgPSB7Ci0gICAgICAg
ICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKLSAgICAgICAgInNsYXZlUGFzc3dvcmQiOiAic29t
ZVBhc3N3b3JkIiwKKyAgICAgICAgIndvcmtlck5hbWUiOiAic29tZVdvcmtlciIsCisgICAgICAg
ICJ3b3JrZXJQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAogICAgICAgICAiY29tbWl0cyI6IFsK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAicmVwb3NpdG9yeSI6ICJXZWJLaXQiLApA
QCAtNjE4LDggKzYxOCw4IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyB3aXRoIGlu
c2VydD1mYWxzZSIsIGZ1bmN0aW9uICgpIHsKICAgICB9OwogCiAgICAgY29uc3QgY29tbWl0c1Vw
ZGF0ZSA9IHsKLSAgICAgICAgInNsYXZlTmFtZSI6ICJzb21lU2xhdmUiLAotICAgICAgICAic2xh
dmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAorICAgICAgICAid29ya2VyTmFtZSI6ICJzb21l
V29ya2VyIiwKKyAgICAgICAgIndvcmtlclBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAg
ICAgICJjb21taXRzIjogWwogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJyZXBvc2l0
b3J5IjogIldlYktpdCIsCkBAIC02NDYsOCArNjQ2LDggQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0
LWNvbW1pdHMvIHdpdGggaW5zZXJ0PWZhbHNlIiwgZnVuY3Rpb24gKCkgewogCiAKICAgICBjb25z
dCBjb21taXRzVXBkYXRlV2l0aE1pc3NpbmdSZXZpc2lvbiA9IHsKLSAgICAgICAgInNsYXZlTmFt
ZSI6ICJzb21lU2xhdmUiLAotICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQi
LAorICAgICAgICAid29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKKyAgICAgICAgIndvcmtlclBh
c3N3b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAgICAgICJjb21taXRzIjogWwogICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5IjogIldlYktpdCIsCkBAIC02NTgsOCAr
NjU4LDggQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5zZXJ0PWZhbHNl
IiwgZnVuY3Rpb24gKCkgewogICAgIH07CiAKICAgICBjb25zdCBjb21taXRzVXBkYXRlV2l0aE1p
c3NpbmdSZXBvc2l0b3J5ID0gewotICAgICAgICAic2xhdmVOYW1lIjogInNvbWVTbGF2ZSIsCi0g
ICAgICAgICJzbGF2ZVBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCisgICAgICAgICJ3b3JrZXJO
YW1lIjogInNvbWVXb3JrZXIiLAorICAgICAgICAid29ya2VyUGFzc3dvcmQiOiAic29tZVBhc3N3
b3JkIiwKICAgICAgICAgImNvbW1pdHMiOiBbCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgInJldmlzaW9uIjogIjIxMDk0OCIsCkBAIC02NzAsOCArNjcwLDggQEAgZGVzY3JpYmUoIi9h
cGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5zZXJ0PWZhbHNlIiwgZnVuY3Rpb24gKCkgewogICAg
IH07CiAKICAgICBjb25zdCBjb21taXRzVXBkYXRlV2l0aG91dEFueVVwZGF0ZSA9IHsKLSAgICAg
ICAgInNsYXZlTmFtZSI6ICJzb21lU2xhdmUiLAotICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJz
b21lUGFzc3dvcmQiLAorICAgICAgICAid29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKKyAgICAg
ICAgIndvcmtlclBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAgICAgICJjb21taXRzIjog
WwogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5IjogIldlYktpdCIs
CkBAIC02ODIsOCArNjgyLDggQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGgg
aW5zZXJ0PWZhbHNlIiwgZnVuY3Rpb24gKCkgewogICAgIH07CiAKICAgICBjb25zdCBjb21taXRz
VXBkYXRlV2l0aE93bmVkQ29tbWl0c1VwZGF0ZSA9IHsKLSAgICAgICAgInNsYXZlTmFtZSI6ICJz
b21lU2xhdmUiLAotICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAorICAg
ICAgICAid29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKKyAgICAgICAgIndvcmtlclBhc3N3b3Jk
IjogInNvbWVQYXNzd29yZCIsCiAgICAgICAgICJjb21taXRzIjogWwogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5IjogIldlYktpdCIsCkBAIC02OTYsNyArNjk2LDcg
QEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMvIHdpdGggaW5zZXJ0PWZhbHNlIiwgZnVu
Y3Rpb24gKCkgewogCiAgICAgYXN5bmMgZnVuY3Rpb24gaW5pdGlhbFJlcG9ydENvbW1pdHMoKQog
ICAgIHsKLSAgICAgICAgYXdhaXQgYWRkU2xhdmVGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMp
OworICAgICAgICBhd2FpdCBhZGRXb3JrZXJGb3JSZXBvcnQoc3VidmVyc2lvbkNvbW1pdHMpOwog
ICAgICAgICBhd2FpdCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9y
dC1jb21taXRzLycsIHN1YnZlcnNpb25Db21taXRzKTsKICAgICAgICAgY29uc3QgcmVzdWx0ID0g
YXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5nZXRKU09OKCcvYXBpL2NvbW1pdHMvV2ViS2l0
LycpOwogICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0WydzdGF0dXMnXSwgJ09LJyk7
CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1y
ZXBvcnQtdGVzdHMuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2Fw
aS1yZXBvcnQtdGVzdHMuanMKaW5kZXggNWM0NDVmZWZjMGQ3MjA0YzBiYjVhMTZlMDJjZjYxMzcy
ZmYzZmI2OS4uNzdhZWJkZTAyYTc5YzIxMWFhMzM1ODVkMjA3NzJlMmU4NDBkMWY1MCAxMDA2NDQK
LS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktcmVwb3J0LXRl
c3RzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXJl
cG9ydC10ZXN0cy5qcwpAQCAtNCw3ICs0LDcgQEAgY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNz
ZXJ0Jyk7CiAKIGNvbnN0IFRlc3RTZXJ2ZXIgPSByZXF1aXJlKCcuL3Jlc291cmNlcy90ZXN0LXNl
cnZlci5qcycpOwogY29uc3QgYWRkQnVpbGRlckZvclJlcG9ydCA9IHJlcXVpcmUoJy4vcmVzb3Vy
Y2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJykuYWRkQnVpbGRlckZvclJlcG9ydDsKLWNvbnN0IGFk
ZFNsYXZlRm9yUmVwb3J0ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMu
anMnKS5hZGRTbGF2ZUZvclJlcG9ydDsKK2NvbnN0IGFkZFdvcmtlckZvclJlcG9ydCA9IHJlcXVp
cmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJykuYWRkV29ya2VyRm9yUmVwb3J0
OwogY29uc3QgcHJlcGFyZVNlcnZlclRlc3QgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24t
b3BlcmF0aW9ucy5qcycpLnByZXBhcmVTZXJ2ZXJUZXN0OwogY29uc3QgTW9ja0RhdGEgPSByZXF1
aXJlKCcuL3Jlc291cmNlcy9tb2NrLWRhdGEuanMnKTsKIApAQCAtMTcsNyArMTcsNyBAQCBkZXNj
cmliZSgiL2FwaS9yZXBvcnQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAiYnVpbGRUYWci
OiAiMTIzIiwKICAgICAgICAgICAgICJidWlsZFRpbWUiOiAiMjAxMy0wMi0yOFQxMDoxMjowMy4z
ODgzMDQiLAogICAgICAgICAgICAgImJ1aWxkZXJOYW1lIjogInNvbWVCdWlsZGVyIiwKLSAgICAg
ICAgICAgICJzbGF2ZU5hbWUiOiAic29tZVNsYXZlIiwKKyAgICAgICAgICAgICJ3b3JrZXJOYW1l
IjogInNvbWVXb3JrZXIiLAogICAgICAgICAgICAgImJ1aWxkZXJQYXNzd29yZCI6ICJzb21lUGFz
c3dvcmQiLAogICAgICAgICAgICAgInBsYXRmb3JtIjogIk1vdW50YWluIExpb24iLAogICAgICAg
ICAgICAgInRlc3RzIjoge30sCkBAIC0zOSw3ICszOSw3IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9y
dCIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICJidWlsZFRhZyI6ICIxMjQiLAogICAgICAg
ICAgICAgImJ1aWxkVGltZSI6ICIyMDEzLTAyLTI4VDEwOjEyOjAzLjM4ODMwNCIsCiAgICAgICAg
ICAgICAiYnVpbGRlck5hbWUiOiAic29tZUJ1aWxkZXIiLAotICAgICAgICAgICAgInNsYXZlTmFt
ZSI6ICJzb21lU2xhdmUiLAorICAgICAgICAgICAgIndvcmtlck5hbWUiOiAic29tZVdvcmtlciIs
CiAgICAgICAgICAgICAiYnVpbGRlclBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAgICAg
ICAgICAicGxhdGZvcm0iOiAiTW91bnRhaW4gTGlvbiIsCiAgICAgICAgICAgICAidGVzdHMiOiB7
fSwKQEAgLTYxLDcgKzYxLDcgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0IiwgZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgImJ1aWxkVGFnIjogIjEyNSIsCiAgICAgICAgICAgICAiYnVpbGRUaW1l
IjogIjIwMTMtMDItMjhUMTA6MTI6MDMuMzg4MzA0IiwKICAgICAgICAgICAgICJidWlsZGVyTmFt
ZSI6ICJzb21lQnVpbGRlciIsCi0gICAgICAgICAgICAic2xhdmVOYW1lIjogInNvbWVTbGF2ZSIs
CisgICAgICAgICAgICAid29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKICAgICAgICAgICAgICJi
dWlsZGVyUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKICAgICAgICAgICAgICJwbGF0Zm9ybSI6
ICJNb3VudGFpbiBMaW9uIiwKICAgICAgICAgICAgICJ0ZXN0cyI6IHt9LApAQCAtNzcsMTQgKzc3
LDE0IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydCIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgfTsK
ICAgICB9CiAKLSAgICBmdW5jdGlvbiBlbXB0eVNsYXZlUmVwb3J0KCkKKyAgICBmdW5jdGlvbiBl
bXB0eVdvcmtlclJlcG9ydCgpCiAgICAgewogICAgICAgICByZXR1cm4gewogICAgICAgICAgICAg
ImJ1aWxkVGFnIjogIjEyMyIsCiAgICAgICAgICAgICAiYnVpbGRUaW1lIjogIjIwMTMtMDItMjhU
MTA6MTI6MDMuMzg4MzA0IiwKICAgICAgICAgICAgICJidWlsZGVyTmFtZSI6ICJzb21lQnVpbGRl
ciIsCi0gICAgICAgICAgICAic2xhdmVOYW1lIjogInNvbWVTbGF2ZSIsCi0gICAgICAgICAgICAi
c2xhdmVQYXNzd29yZCI6ICJvdGhlclBhc3N3b3JkIiwKKyAgICAgICAgICAgICJ3b3JrZXJOYW1l
IjogInNvbWVXb3JrZXIiLAorICAgICAgICAgICAgIndvcmtlclBhc3N3b3JkIjogIm90aGVyUGFz
c3dvcmQiLAogICAgICAgICAgICAgInBsYXRmb3JtIjogIk1vdW50YWluIExpb24iLAogICAgICAg
ICAgICAgInRlc3RzIjoge30sCiAgICAgICAgICAgICAicmV2aXNpb25zIjogewpAQCAtMTg5LDEy
ICsxODksMTIgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0IiwgZnVuY3Rpb24gKCkgewogICAgICAg
ICB9KTsKICAgICB9KTsKIAotICAgIGl0KCJzaG91bGQgdHJlYXQgdGhlIHNsYXZlIHBhc3N3b3Jk
IGFzIHRoZSBidWlsZGVyIHBhc3N3b3JkIGlmIHRoZXJlIGlzIG5vIG1hdGNoaW5nIHNsYXZlIiwg
KCkgPT4geworICAgIGl0KCJzaG91bGQgdHJlYXQgdGhlIHdvcmtlciBwYXNzd29yZCBhcyB0aGUg
YnVpbGRlciBwYXNzd29yZCBpZiB0aGVyZSBpcyBubyBtYXRjaGluZyB3b3JrZXIiLCAoKSA9PiB7
CiAgICAgICAgIGxldCByZXBvcnQgPSBlbXB0eVJlcG9ydCgpOwotICAgICAgICByZXBvcnRbJ3Ns
YXZlUGFzc3dvcmQnXSA9IHJlcG9ydFsnYnVpbGRlclBhc3N3b3JkJ107CisgICAgICAgIHJlcG9y
dFsnd29ya2VyUGFzc3dvcmQnXSA9IHJlcG9ydFsnYnVpbGRlclBhc3N3b3JkJ107CiAgICAgICAg
IGRlbGV0ZSByZXBvcnRbJ2J1aWxkZXJQYXNzd29yZCddOwogCi0gICAgICAgIHJldHVybiBhZGRT
bGF2ZUZvclJlcG9ydChyZXBvcnQpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gYWRkV29y
a2VyRm9yUmVwb3J0KHJlcG9ydCkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gVGVz
dFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgW3JlcG9ydF0pOwog
ICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gewogICAgICAgICAgICAgYXNzZXJ0LnN0cmlj
dEVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ09LJyk7CkBAIC0yMDUsMTYgKzIwNSwxNiBAQCBk
ZXNjcmliZSgiL2FwaS9yZXBvcnQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhc3NlcnQu
c3RyaWN0RXF1YWwocmVwb3J0cy5sZW5ndGgsIDEpOwogICAgICAgICAgICAgY29uc3Qgc3RvcmVk
Q29udGVudCA9IEpTT04ucGFyc2UocmVwb3J0c1swXVsnY29udGVudCddKTsKIAotICAgICAgICAg
ICAgZGVsZXRlIHJlcG9ydFsnc2xhdmVQYXNzd29yZCddOworICAgICAgICAgICAgZGVsZXRlIHJl
cG9ydFsnd29ya2VyUGFzc3dvcmQnXTsKICAgICAgICAgICAgIGRlbGV0ZSByZXBvcnRbJ3Rlc3Rz
J107CiAgICAgICAgICAgICBkZWxldGUgc3RvcmVkQ29udGVudFsndGVzdHMnXTsKICAgICAgICAg
ICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoc3RvcmVkQ29udGVudCwgcmVwb3J0KTsKICAgICAg
ICAgfSk7CiAgICAgfSk7CiAKLSAgICBpdCgic2hvdWxkIHN0b3JlIGEgcmVwb3J0IGZyb20gYSB2
YWxpZCBzbGF2ZSIsICgpID0+IHsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KGVt
cHR5U2xhdmVSZXBvcnQoKSkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gVGVzdFNl
cnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgW2VtcHR5U2xhdmVSZXBv
cnQoKV0pOworICAgIGl0KCJzaG91bGQgc3RvcmUgYSByZXBvcnQgZnJvbSBhIHZhbGlkIHdvcmtl
ciIsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChlbXB0eVdvcmtl
clJlcG9ydCgpKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJl
bW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC8nLCBbZW1wdHlXb3JrZXJSZXBvcnQoKV0p
OwogICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gewogICAgICAgICAgICAgYXNzZXJ0LnN0
cmljdEVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ09LJyk7CiAgICAgICAgICAgICBhc3NlcnQu
c3RyaWN0RXF1YWwocmVzcG9uc2VbJ2ZhaWx1cmVTdG9yZWQnXSwgZmFsc2UpOwpAQCAtMjIyLDEw
ICsyMjIsMTAgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0IiwgZnVuY3Rpb24gKCkgewogICAgICAg
ICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKS5zZWxlY3RBbGwoJ3JlcG9ydHMnKTsK
ICAgICAgICAgfSkudGhlbigocmVwb3J0cykgPT4gewogICAgICAgICAgICAgYXNzZXJ0LnN0cmlj
dEVxdWFsKHJlcG9ydHMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgIGNvbnN0IHN1Ym1pdHRlZENv
bnRlbnQgPSBlbXB0eVNsYXZlUmVwb3J0KCk7CisgICAgICAgICAgICBjb25zdCBzdWJtaXR0ZWRD
b250ZW50ID0gZW1wdHlXb3JrZXJSZXBvcnQoKTsKICAgICAgICAgICAgIGNvbnN0IHN0b3JlZENv
bnRlbnQgPSBKU09OLnBhcnNlKHJlcG9ydHNbMF1bJ2NvbnRlbnQnXSk7CiAKLSAgICAgICAgICAg
IGRlbGV0ZSBzdWJtaXR0ZWRDb250ZW50WydzbGF2ZVBhc3N3b3JkJ107CisgICAgICAgICAgICBk
ZWxldGUgc3VibWl0dGVkQ29udGVudFsnd29ya2VyUGFzc3dvcmQnXTsKICAgICAgICAgICAgIGRl
bGV0ZSBzdWJtaXR0ZWRDb250ZW50Wyd0ZXN0cyddOwogICAgICAgICAgICAgZGVsZXRlIHN0b3Jl
ZENvbnRlbnRbJ3Rlc3RzJ107CiAgICAgICAgICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHN0
b3JlZENvbnRlbnQsIHN1Ym1pdHRlZENvbnRlbnQpOwpAQCAtMjQ1LDIwICsyNDUsMjAgQEAgZGVz
Y3JpYmUoIi9hcGkvcmVwb3J0IiwgZnVuY3Rpb24gKCkgewogICAgICAgICB9KTsKICAgICB9KTsK
IAotICAgIGl0KCJzaG91bGQgYWRkIGEgc2xhdmUgaWYgdGhlcmUgaXNuJ3Qgb25lIGFuZCB0aGUg
cmVwb3J0IHdhcyBhdXRoZW50aWNhdGVkIGJ5IGEgYnVpbGRlciIsICgpID0+IHsKKyAgICBpdCgi
c2hvdWxkIGFkZCBhIHdvcmtlciBpZiB0aGVyZSBpc24ndCBvbmUgYW5kIHRoZSByZXBvcnQgd2Fz
IGF1dGhlbnRpY2F0ZWQgYnkgYSBidWlsZGVyIiwgKCkgPT4gewogICAgICAgICByZXR1cm4gYWRk
QnVpbGRlckZvclJlcG9ydChlbXB0eVJlcG9ydCgpKS50aGVuKCgpID0+IHsKICAgICAgICAgICAg
IHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC8nLCBb
ZW1wdHlSZXBvcnQoKV0pOwogICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gewotICAgICAg
ICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKS5zZWxlY3RBbGwoJ2J1aWxkX3NsYXZl
cycpOwotICAgICAgICB9KS50aGVuKChzbGF2ZXMpID0+IHsKLSAgICAgICAgICAgIGFzc2VydC5z
dHJpY3RFcXVhbChzbGF2ZXMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgIGFzc2VydC5zdHJpY3RF
cXVhbChzbGF2ZXNbMF1bJ25hbWUnXSwgZW1wdHlSZXBvcnQoKVsnc2xhdmVOYW1lJ10pOworICAg
ICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKS5zZWxlY3RBbGwoJ2J1aWxkX3dv
cmtlcnMnKTsKKyAgICAgICAgfSkudGhlbigod29ya2VycykgPT4geworICAgICAgICAgICAgYXNz
ZXJ0LnN0cmljdEVxdWFsKHdvcmtlcnMubGVuZ3RoLCAxKTsKKyAgICAgICAgICAgIGFzc2VydC5z
dHJpY3RFcXVhbCh3b3JrZXJzWzBdWyduYW1lJ10sIGVtcHR5UmVwb3J0KClbJ3dvcmtlck5hbWUn
XSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogCi0gICAgaXQoInNob3VsZCBhZGQgYSBidWlsZGVy
IGlmIHRoZXJlIGlzbid0IG9uZSBhbmQgdGhlIHJlcG9ydCB3YXMgYXV0aGVudGljYXRlZCBieSBh
IHNsYXZlIiwgKCkgPT4gewotICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoZW1wdHlT
bGF2ZVJlcG9ydCgpKS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC8nLCBbZW1wdHlTbGF2ZVJlcG9ydCgp
XSk7CisgICAgaXQoInNob3VsZCBhZGQgYSBidWlsZGVyIGlmIHRoZXJlIGlzbid0IG9uZSBhbmQg
dGhlIHJlcG9ydCB3YXMgYXV0aGVudGljYXRlZCBieSBhIHdvcmtlciIsICgpID0+IHsKKyAgICAg
ICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChlbXB0eVdvcmtlclJlcG9ydCgpKS50aGVuKCgp
ID0+IHsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09O
KCcvYXBpL3JlcG9ydC8nLCBbZW1wdHlXb3JrZXJSZXBvcnQoKV0pOwogICAgICAgICB9KS50aGVu
KChyZXNwb25zZSkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIuZGF0YWJhc2Uo
KS5zZWxlY3RBbGwoJ2J1aWxkZXJzJyk7CiAgICAgICAgIH0pLnRoZW4oKGJ1aWxkZXJzKSA9PiB7
CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS10
ZXN0LWdyb3Vwcy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBp
LXRlc3QtZ3JvdXBzLmpzCmluZGV4IDE2MjlkNGJiMGFmMWZmNGIyZDY5M2MxY2E3NWRmNzA3ZTgw
OGJiY2EuLjUwODc4NGM5ZDY4N2JlYzVjOTU3OTRmOTQ5N2ExYzFiN2ZiNDU1Y2YgMTAwNjQ0Ci0t
LSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXRlc3QtZ3JvdXBz
LmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXRlc3Qt
Z3JvdXBzLmpzCkBAIC05Miw3ICs5Miw3IEBAIGRlc2NyaWJlKCcvYXBpL3Rlc3QtZ3JvdXBzJywg
ZnVuY3Rpb24gKCkgewogCiAgICAgICAgICAgICBsZXQgZGF0YSA9ICBhd2FpdCBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpLmdldEpTT04oJy9hcGkvdGVzdC1ncm91cHMvNjAwJyk7CiAgICAgICAgICAg
ICBhc3NlcnQub2soIWRhdGFbJ3Rlc3RHcm91cHMnXVswXS5tYXlOZWVkTW9yZVJlcXVlc3RzKTsK
LSAgICAgICAgICAgIGF3YWl0IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkv
YnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0Jywge3NsYXZlTmFtZTogJ3Rlc3QnLCBzbGF2ZVBh
c3N3b3JkOiAncGFzc3dvcmQnLAorICAgICAgICAgICAgYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVB
UEkoKS5wb3N0SlNPTignL2FwaS9idWlsZC1yZXF1ZXN0cy9idWlsZC13ZWJraXQnLCB7d29ya2Vy
TmFtZTogJ3Rlc3QnLCB3b3JrZXJQYXNzd29yZDogJ3Bhc3N3b3JkJywKICAgICAgICAgICAgICAg
ICBidWlsZFJlcXVlc3RVcGRhdGVzOiB7NzAzOiB7c3RhdHVzOiAnZmFpbGVkSWZOb3RDb21wbGV0
ZWQnLCB1cmw6ICdodHRwOi8vd2Via2l0Lm9yZy9idWlsZC8xJ319fSk7CiAgICAgICAgICAgICBk
YXRhID0gIGF3YWl0IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuZ2V0SlNPTignL2FwaS90ZXN0LWdy
b3Vwcy82MDAnKTsKICAgICAgICAgICAgIGFzc2VydC5vayhkYXRhWyd0ZXN0R3JvdXBzJ11bMF0u
bWF5TmVlZE1vcmVSZXF1ZXN0cyk7CkBAIC0xMDQsNyArMTA0LDcgQEAgZGVzY3JpYmUoJy9hcGkv
dGVzdC1ncm91cHMnLCBmdW5jdGlvbiAoKSB7CiAKICAgICAgICAgICAgIGxldCBkYXRhID0gIGF3
YWl0IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuZ2V0SlNPTignL2FwaS90ZXN0LWdyb3Vwcy82MDAn
KTsKICAgICAgICAgICAgIGFzc2VydC5vayghZGF0YVsndGVzdEdyb3VwcyddWzBdLm1heU5lZWRN
b3JlUmVxdWVzdHMpOwotICAgICAgICAgICAgYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5w
b3N0SlNPTignL2FwaS9idWlsZC1yZXF1ZXN0cy9idWlsZC13ZWJraXQnLCB7c2xhdmVOYW1lOiAn
dGVzdCcsIHNsYXZlUGFzc3dvcmQ6ICdwYXNzd29yZCcsCisgICAgICAgICAgICBhd2FpdCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL2J1aWxkLXJlcXVlc3RzL2J1aWxkLXdl
YmtpdCcsIHt3b3JrZXJOYW1lOiAndGVzdCcsIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLAog
ICAgICAgICAgICAgICAgIGJ1aWxkUmVxdWVzdFVwZGF0ZXM6IHs3MDM6IHtzdGF0dXM6ICdmYWls
ZWQnLCB1cmw6ICdodHRwOi8vd2Via2l0Lm9yZy9idWlsZC8xJ319fSk7CiAgICAgICAgICAgICBk
YXRhID0gIGF3YWl0IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkuZ2V0SlNPTignL2FwaS90ZXN0LWdy
b3Vwcy82MDAnKTsKICAgICAgICAgICAgIGFzc2VydC5vayhkYXRhWyd0ZXN0R3JvdXBzJ11bMF0u
bWF5TmVlZE1vcmVSZXF1ZXN0cyk7CkBAIC0xMjAsNyArMTIwLDcgQEAgZGVzY3JpYmUoJy9hcGkv
dGVzdC1ncm91cHMnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBkYXRhID0gIGF3YWl0IFRl
c3RTZXJ2ZXIucmVtb3RlQVBJKCkuZ2V0SlNPTignL2FwaS90ZXN0LWdyb3Vwcy82MDEnKTsKICAg
ICAgICAgICAgIGFzc2VydC5vayghZGF0YVsndGVzdEdyb3VwcyddWzBdLm1heU5lZWRNb3JlUmVx
dWVzdHMpOwogCi0gICAgICAgICAgICBhd2FpdCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RK
U09OKCcvYXBpL2J1aWxkLXJlcXVlc3RzL2J1aWxkLXdlYmtpdCcsIHtzbGF2ZU5hbWU6ICd0ZXN0
Jywgc2xhdmVQYXNzd29yZDogJ3Bhc3N3b3JkJywKKyAgICAgICAgICAgIGF3YWl0IFRlc3RTZXJ2
ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0
Jywge3dvcmtlck5hbWU6ICd0ZXN0Jywgd29ya2VyUGFzc3dvcmQ6ICdwYXNzd29yZCcsCiAgICAg
ICAgICAgICAgICAgYnVpbGRSZXF1ZXN0VXBkYXRlczogewogICAgICAgICAgICAgICAgICAgICA3
MDM6IHtzdGF0dXM6ICdmYWlsZWQnLCB1cmw6ICdodHRwOi8vd2Via2l0Lm9yZy9idWlsZC8xJ30s
CiAgICAgICAgICAgICAgICAgICAgIDcxMzoge3N0YXR1czogJ2ZhaWxlZElmTm90Q29tcGxldGVk
JywgdXJsOiAnaHR0cDovL3dlYmtpdC5vcmcvYnVpbGQvMTEnfSwKZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXVwZGF0ZS10cmlnZ2VyYWJsZS10
ZXN0cy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXVwZGF0
ZS10cmlnZ2VyYWJsZS10ZXN0cy5qcwppbmRleCBiYmY5MzM2NjUwZTVlYTQxNTdkZmZhNGQ5NjJl
YmI5NTkwNDdlOTQwLi4xYTM1MmIzODRhYzMxYzgyMTlhMzUwMzMxNzg2NTMwN2IwMTc2NDRhIDEw
MDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS11cGRh
dGUtdHJpZ2dlcmFibGUtdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Nl
cnZlci10ZXN0cy9hcGktdXBkYXRlLXRyaWdnZXJhYmxlLXRlc3RzLmpzCkBAIC02LDQ2ICs2LDQ2
IEBAIHJlcXVpcmUoJy4uL3Rvb2xzL2pzL3YzLW1vZGVscy5qcycpOwogCiBjb25zdCBUZXN0U2Vy
dmVyID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvdGVzdC1zZXJ2ZXIuanMnKTsKIGNvbnN0IE1vY2tE
YXRhID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvbW9jay1kYXRhLmpzJyk7Ci1jb25zdCBhZGRTbGF2
ZUZvclJlcG9ydCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJyku
YWRkU2xhdmVGb3JSZXBvcnQ7Citjb25zdCBhZGRXb3JrZXJGb3JSZXBvcnQgPSByZXF1aXJlKCcu
L3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLmFkZFdvcmtlckZvclJlcG9ydDsKIGNv
bnN0IHByZXBhcmVTZXJ2ZXJUZXN0ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvY29tbW9uLW9wZXJh
dGlvbnMuanMnKS5wcmVwYXJlU2VydmVyVGVzdDsKIAogZGVzY3JpYmUoJy9hcGkvdXBkYXRlLXRy
aWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICBwcmVwYXJlU2VydmVyVGVzdCh0aGlzKTsK
IAogICAgIGNvbnN0IGVtcHR5VXBkYXRlID0gewotICAgICAgICAnc2xhdmVOYW1lJzogJ3NvbWVT
bGF2ZScsCi0gICAgICAgICdzbGF2ZVBhc3N3b3JkJzogJ3NvbWVQYXNzd29yZCcsCisgICAgICAg
ICd3b3JrZXJOYW1lJzogJ3NvbWVXb3JrZXInLAorICAgICAgICAnd29ya2VyUGFzc3dvcmQnOiAn
c29tZVBhc3N3b3JkJywKICAgICAgICAgJ3RyaWdnZXJhYmxlJzogJ2J1aWxkLXdlYmtpdCcsCiAg
ICAgICAgICdjb25maWd1cmF0aW9ucyc6IFtdLAogICAgIH07CiAKICAgICBjb25zdCBzbWFsbFVw
ZGF0ZSA9IHsKLSAgICAgICAgJ3NsYXZlTmFtZSc6ICdzb21lU2xhdmUnLAotICAgICAgICAnc2xh
dmVQYXNzd29yZCc6ICdzb21lUGFzc3dvcmQnLAorICAgICAgICAnd29ya2VyTmFtZSc6ICdzb21l
V29ya2VyJywKKyAgICAgICAgJ3dvcmtlclBhc3N3b3JkJzogJ3NvbWVQYXNzd29yZCcsCiAgICAg
ICAgICd0cmlnZ2VyYWJsZSc6ICdidWlsZC13ZWJraXQnLAogICAgICAgICAnY29uZmlndXJhdGlv
bnMnOiBbCiAgICAgICAgICAgICB7dGVzdDogTW9ja0RhdGEuc29tZVRlc3RJZCgpLCBwbGF0Zm9y
bTogTW9ja0RhdGEuc29tZVBsYXRmb3JtSWQoKX0KICAgICAgICAgXSwKICAgICB9OwogCi0gICAg
aXQoJ3Nob3VsZCByZWplY3Qgd2hlbiBzbGF2ZSBuYW1lIGlzIG1pc3NpbmcnLCAoKSA9PiB7Cisg
ICAgaXQoJ3Nob3VsZCByZWplY3Qgd2hlbiB3b3JrZXIgbmFtZSBpcyBtaXNzaW5nJywgKCkgPT4g
ewogICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS91
cGRhdGUtdHJpZ2dlcmFibGUvJywge30pLnRoZW4oKHJlc3BvbnNlKSA9PiB7Ci0gICAgICAgICAg
ICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnTWlzc2luZ1NsYXZlTmFt
ZScpOworICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwg
J01pc3NpbmdXb3JrZXJOYW1lJyk7CiAgICAgICAgIH0pOwogICAgIH0pOwogCi0gICAgaXQoJ3No
b3VsZCByZWplY3Qgd2hlbiB0aGVyZSBhcmUgbm8gc2xhdmVzJywgKCkgPT4gewotICAgICAgICBj
b25zdCB1cGRhdGUgPSB7c2xhdmVOYW1lOiBlbXB0eVVwZGF0ZS5zbGF2ZU5hbWUsIHNsYXZlUGFz
c3dvcmQ6IGVtcHR5VXBkYXRlLnNsYXZlUGFzc3dvcmR9OworICAgIGl0KCdzaG91bGQgcmVqZWN0
IHdoZW4gdGhlcmUgYXJlIG5vIHdvcmtlcnMnLCAoKSA9PiB7CisgICAgICAgIGNvbnN0IHVwZGF0
ZSA9IHt3b3JrZXJOYW1lOiBlbXB0eVVwZGF0ZS53b3JrZXJOYW1lLCB3b3JrZXJQYXNzd29yZDog
ZW1wdHlVcGRhdGUud29ya2VyUGFzc3dvcmR9OwogICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5y
ZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgdXBkYXRlKS50
aGVuKChyZXNwb25zZSkgPT4gewotICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3Bv
bnNlWydzdGF0dXMnXSwgJ1NsYXZlTm90Rm91bmQnKTsKKyAgICAgICAgICAgIGFzc2VydC5zdHJp
Y3RFcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdXb3JrZXJOb3RGb3VuZCcpOwogICAgICAgICB9
KTsKICAgICB9KTsKIAotICAgIGl0KCdzaG91bGQgcmVqZWN0IHdoZW4gdGhlIHNsYXZlIHBhc3N3
b3JkIGRvZXNuXCd0IG1hdGNoJywgKCkgPT4geworICAgIGl0KCdzaG91bGQgcmVqZWN0IHdoZW4g
dGhlIHdvcmtlciBwYXNzd29yZCBkb2VzblwndCBtYXRjaCcsICgpID0+IHsKICAgICAgICAgcmV0
dXJuIE1vY2tEYXRhLmFkZE1vY2tEYXRhKFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSkudGhlbigoKSA9
PiB7Ci0gICAgICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoZW1wdHlVcGRhdGUpOwor
ICAgICAgICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydChlbXB0eVVwZGF0ZSk7CiAgICAg
ICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgY29uc3QgcmVwb3J0ID0ge3NsYXZlTmFt
ZTogZW1wdHlVcGRhdGUuc2xhdmVOYW1lLCBzbGF2ZVBhc3N3b3JkOiAnYmFkUGFzc3dvcmQnfTsK
KyAgICAgICAgICAgIGNvbnN0IHJlcG9ydCA9IHt3b3JrZXJOYW1lOiBlbXB0eVVwZGF0ZS53b3Jr
ZXJOYW1lLCB3b3JrZXJQYXNzd29yZDogJ2JhZFBhc3N3b3JkJ307CiAgICAgICAgICAgICByZXR1
cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS91cGRhdGUtdHJpZ2dlcmFi
bGUvJywgZW1wdHlVcGRhdGUpOwogICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gewogICAg
ICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ09LJyk7CkBA
IC01NCw3ICs1NCw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS8nLCBmdW5j
dGlvbiAoKSB7CiAKICAgICBpdCgnc2hvdWxkIGFjY2VwdCBhbiBlbXB0eSByZXBvcnQnLCAoKSA9
PiB7CiAgICAgICAgIHJldHVybiBNb2NrRGF0YS5hZGRNb2NrRGF0YShUZXN0U2VydmVyLmRhdGFi
YXNlKCkpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0
KGVtcHR5VXBkYXRlKTsKKyAgICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQoZW1w
dHlVcGRhdGUpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIHJldHVybiBU
ZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS8n
LCBlbXB0eVVwZGF0ZSk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC02Niw3
ICs2Niw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS8nLCBmdW5jdGlvbiAo
KSB7CiAgICAgICAgIGNvbnN0IGRiID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwogICAgICAgICBy
ZXR1cm4gTW9ja0RhdGEuYWRkTW9ja0RhdGEoZGIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
cmV0dXJuIFByb21pc2UuYWxsKFsKLSAgICAgICAgICAgICAgICBhZGRTbGF2ZUZvclJlcG9ydChl
bXB0eVVwZGF0ZSksCisgICAgICAgICAgICAgICAgYWRkV29ya2VyRm9yUmVwb3J0KGVtcHR5VXBk
YXRlKSwKICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ3RyaWdnZXJhYmxlX2NvbmZpZ3VyYXRp
b25zJywgeyd0cmlnZ2VyYWJsZSc6IDEwMDAgLy8gYnVpbGQtd2Via2l0CiAgICAgICAgICAgICAg
ICAgICAgICwgJ3Rlc3QnOiBNb2NrRGF0YS5zb21lVGVzdElkKCksICdwbGF0Zm9ybSc6IE1vY2tE
YXRhLnNvbWVQbGF0Zm9ybUlkKCl9KQogICAgICAgICAgICAgXSk7CkBAIC04Myw3ICs4Myw3IEBA
IGRlc2NyaWJlKCcvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS8nLCBmdW5jdGlvbiAoKSB7CiAgICAg
aXQoJ3Nob3VsZCBhZGQgY29uZmlndXJhdGlvbnMgaW4gdGhlIHVwZGF0ZScsICgpID0+IHsKICAg
ICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CiAgICAgICAgIHJldHVybiBN
b2NrRGF0YS5hZGRNb2NrRGF0YShkYikudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4g
YWRkU2xhdmVGb3JSZXBvcnQoc21hbGxVcGRhdGUpOworICAgICAgICAgICAgcmV0dXJuIGFkZFdv
cmtlckZvclJlcG9ydChzbWFsbFVwZGF0ZSk7CiAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAg
ICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvdXBk
YXRlLXRyaWdnZXJhYmxlLycsIHNtYWxsVXBkYXRlKTsKICAgICAgICAgfSkudGhlbigocmVzcG9u
c2UpID0+IHsKQEAgLTk4LDExICs5OCwxMSBAQCBkZXNjcmliZSgnL2FwaS91cGRhdGUtdHJpZ2dl
cmFibGUvJywgZnVuY3Rpb24gKCkgewogCiAgICAgaXQoJ3Nob3VsZCByZWplY3Qgd2hlbiBhIGNv
bmZpZ3VyYXRpb24gaXMgbWFsZm9ybWVkJywgKCkgPT4gewogICAgICAgICByZXR1cm4gTW9ja0Rh
dGEuYWRkTW9ja0RhdGEoVGVzdFNlcnZlci5kYXRhYmFzZSgpKS50aGVuKCgpID0+IHsKLSAgICAg
ICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChzbWFsbFVwZGF0ZSk7CisgICAgICAgICAg
ICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHNtYWxsVXBkYXRlKTsKICAgICAgICAgfSkudGhl
bigoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCB1cGRhdGUgPSB7Ci0gICAgICAgICAgICAgICAg
J3NsYXZlTmFtZSc6ICdzb21lU2xhdmUnLAotICAgICAgICAgICAgICAgICdzbGF2ZVBhc3N3b3Jk
JzogJ3NvbWVQYXNzd29yZCcsCisgICAgICAgICAgICAgICAgJ3dvcmtlck5hbWUnOiAnc29tZVdv
cmtlcicsCisgICAgICAgICAgICAgICAgJ3dvcmtlclBhc3N3b3JkJzogJ3NvbWVQYXNzd29yZCcs
CiAgICAgICAgICAgICAgICAgJ3RyaWdnZXJhYmxlJzogJ2J1aWxkLXdlYmtpdCcsCiAgICAgICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb25zJzogW3t9XSwKICAgICAgICAgICAgIH07CkBAIC0xMTUs
OCArMTE1LDggQEAgZGVzY3JpYmUoJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9u
ICgpIHsKICAgICBmdW5jdGlvbiB1cGRhdGVXaXRoT1NYUmVwb3NpdG9yeUdyb3VwKCkKICAgICB7
CiAgICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgICAnc2xhdmVOYW1lJzogJ3NvbWVTbGF2ZScs
Ci0gICAgICAgICAgICAnc2xhdmVQYXNzd29yZCc6ICdzb21lUGFzc3dvcmQnLAorICAgICAgICAg
ICAgJ3dvcmtlck5hbWUnOiAnc29tZVdvcmtlcicsCisgICAgICAgICAgICAnd29ya2VyUGFzc3dv
cmQnOiAnc29tZVBhc3N3b3JkJywKICAgICAgICAgICAgICd0cmlnZ2VyYWJsZSc6ICdlbXB0eS10
cmlnZ2VyYWJsZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbnMnOiBbCiAgICAgICAgICAg
ICAgICAge3Rlc3Q6IE1vY2tEYXRhLnNvbWVUZXN0SWQoKSwgcGxhdGZvcm06IE1vY2tEYXRhLnNv
bWVQbGF0Zm9ybUlkKCl9CkBAIC0xMzMsNyArMTMzLDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBkYXRl
LXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY29uc3QgdXBkYXRlID0gdXBk
YXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCgpOwogICAgICAgICB1cGRhdGUucmVwb3NpdG9yeUdy
b3VwcyA9IDE7CiAgICAgICAgIHJldHVybiBNb2NrRGF0YS5hZGRFbXB0eVRyaWdnZXJhYmxlKFRl
c3RTZXJ2ZXIuZGF0YWJhc2UoKSkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gYWRk
U2xhdmVGb3JSZXBvcnQodXBkYXRlKTsKKyAgICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JS
ZXBvcnQodXBkYXRlKTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICByZXR1
cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS91cGRhdGUtdHJpZ2dlcmFi
bGUvJywgdXBkYXRlKTsKICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKQEAgLTE0NSw3
ICsxNDUsNyBAQCBkZXNjcmliZSgnL2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgZnVuY3Rpb24g
KCkgewogICAgICAgICBjb25zdCB1cGRhdGUgPSB1cGRhdGVXaXRoT1NYUmVwb3NpdG9yeUdyb3Vw
KCk7CiAgICAgICAgIGRlbGV0ZSB1cGRhdGUucmVwb3NpdG9yeUdyb3Vwc1swXS5uYW1lOwogICAg
ICAgICByZXR1cm4gTW9ja0RhdGEuYWRkRW1wdHlUcmlnZ2VyYWJsZShUZXN0U2VydmVyLmRhdGFi
YXNlKCkpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0
KHVwZGF0ZSk7CisgICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHVwZGF0ZSk7
CiAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIu
cmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIHVwZGF0ZSk7
CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC0xNTcsNyArMTU3LDcgQEAgZGVz
Y3JpYmUoJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAg
Y29uc3QgdXBkYXRlID0gdXBkYXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCgpOwogICAgICAgICBk
ZWxldGUgdXBkYXRlLnJlcG9zaXRvcnlHcm91cHNbMF0ucmVwb3NpdG9yaWVzOwogICAgICAgICBy
ZXR1cm4gTW9ja0RhdGEuYWRkRW1wdHlUcmlnZ2VyYWJsZShUZXN0U2VydmVyLmRhdGFiYXNlKCkp
LnRoZW4oKCkgPT4gewotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHVwZGF0
ZSk7CisgICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHVwZGF0ZSk7CiAgICAg
ICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3Rl
QVBJKCkucG9zdEpTT04oJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIHVwZGF0ZSk7CiAgICAg
ICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC0xNjksNyArMTY5LDcgQEAgZGVzY3JpYmUo
Jy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY29uc3Qg
dXBkYXRlID0gdXBkYXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCgpOwogICAgICAgICB1cGRhdGUu
cmVwb3NpdG9yeUdyb3Vwc1swXS5yZXBvc2l0b3JpZXMgPSAnaGknOwogICAgICAgICByZXR1cm4g
TW9ja0RhdGEuYWRkRW1wdHlUcmlnZ2VyYWJsZShUZXN0U2VydmVyLmRhdGFiYXNlKCkpLnRoZW4o
KCkgPT4gewotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHVwZGF0ZSk7Cisg
ICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHVwZGF0ZSk7CiAgICAgICAgIH0p
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCku
cG9zdEpTT04oJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIHVwZGF0ZSk7CiAgICAgICAgIH0p
LnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC0xODEsNyArMTgxLDcgQEAgZGVzY3JpYmUoJy9hcGkv
dXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY29uc3QgdXBkYXRl
ID0gdXBkYXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCgpOwogICAgICAgICB1cGRhdGUucmVwb3Np
dG9yeUdyb3Vwc1swXS5yZXBvc2l0b3JpZXNbMF0gPSA5OTk7CiAgICAgICAgIHJldHVybiBNb2Nr
RGF0YS5hZGRFbXB0eVRyaWdnZXJhYmxlKFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSkudGhlbigoKSA9
PiB7Ci0gICAgICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQodXBkYXRlKTsKKyAgICAg
ICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQodXBkYXRlKTsKICAgICAgICAgfSkudGhl
bigoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0
SlNPTignL2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgdXBkYXRlKTsKICAgICAgICAgfSkudGhl
bigocmVzcG9uc2UpID0+IHsKQEAgLTE5Myw3ICsxOTMsNyBAQCBkZXNjcmliZSgnL2FwaS91cGRh
dGUtdHJpZ2dlcmFibGUvJywgZnVuY3Rpb24gKCkgewogICAgICAgICBjb25zdCB1cGRhdGUgPSB1
cGRhdGVXaXRoT1NYUmVwb3NpdG9yeUdyb3VwKCk7CiAgICAgICAgIHVwZGF0ZS5yZXBvc2l0b3J5
R3JvdXBzWzBdLnJlcG9zaXRvcmllc1swXSA9IHtyZXBvc2l0b3J5OiA5OTl9OwogICAgICAgICBy
ZXR1cm4gTW9ja0RhdGEuYWRkRW1wdHlUcmlnZ2VyYWJsZShUZXN0U2VydmVyLmRhdGFiYXNlKCkp
LnRoZW4oKCkgPT4gewotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHVwZGF0
ZSk7CisgICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHVwZGF0ZSk7CiAgICAg
ICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3Rl
QVBJKCkucG9zdEpTT04oJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIHVwZGF0ZSk7CiAgICAg
ICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC0yMDYsNyArMjA2LDcgQEAgZGVzY3JpYmUo
Jy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY29uc3Qg
Z3JvdXAgPSB1cGRhdGUucmVwb3NpdG9yeUdyb3Vwc1swXTsKICAgICAgICAgZ3JvdXAucmVwb3Np
dG9yaWVzLnB1c2goZ3JvdXAucmVwb3NpdG9yaWVzWzBdKTsKICAgICAgICAgcmV0dXJuIE1vY2tE
YXRhLmFkZEVtcHR5VHJpZ2dlcmFibGUoVGVzdFNlcnZlci5kYXRhYmFzZSgpKS50aGVuKCgpID0+
IHsKLSAgICAgICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydCh1cGRhdGUpOworICAgICAg
ICAgICAgcmV0dXJuIGFkZFdvcmtlckZvclJlcG9ydCh1cGRhdGUpOwogICAgICAgICB9KS50aGVu
KCgpID0+IHsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RK
U09OKCcvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS8nLCB1cGRhdGUpOwogICAgICAgICB9KS50aGVu
KChyZXNwb25zZSkgPT4gewpAQCAtMjE3LDcgKzIxNyw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwZGF0
ZS10cmlnZ2VyYWJsZS8nLCBmdW5jdGlvbiAoKSB7CiAgICAgaXQoJ3Nob3VsZCBhZGQgYSBuZXcg
cmVwb3NpdG9yeSBncm91cCB3aGVuIHRoZXJlIGFyZSBub25lJywgKCkgPT4gewogICAgICAgICBj
b25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKICAgICAgICAgcmV0dXJuIE1vY2tEYXRh
LmFkZEVtcHR5VHJpZ2dlcmFibGUoZGIpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgcmV0dXJu
IGFkZFNsYXZlRm9yUmVwb3J0KHVwZGF0ZVdpdGhPU1hSZXBvc2l0b3J5R3JvdXAoKSk7CisgICAg
ICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHVwZGF0ZVdpdGhPU1hSZXBvc2l0b3J5
R3JvdXAoKSk7CiAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRl
c3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycs
IHVwZGF0ZVdpdGhPU1hSZXBvc2l0b3J5R3JvdXAoKSk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3Bv
bnNlKSA9PiB7CkBAIC0yNDAsNyArMjQwLDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBkYXRlLXRyaWdn
ZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRh
dGFiYXNlKCk7CiAgICAgICAgIGxldCBpbml0aWFsUmVzdWx0OwogICAgICAgICByZXR1cm4gTW9j
a0RhdGEuYWRkRW1wdHlUcmlnZ2VyYWJsZShkYikudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICBy
ZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQodXBkYXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCgpKTsK
KyAgICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQodXBkYXRlV2l0aE9TWFJlcG9z
aXRvcnlHcm91cCgpKTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICByZXR1
cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhTdGF0dXMoJy9hcGkvdXBkYXRl
LXRyaWdnZXJhYmxlLycsIHVwZGF0ZVdpdGhPU1hSZXBvc2l0b3J5R3JvdXAoKSk7CiAgICAgICAg
IH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC0yNjIsNyArMjYyLDcgQEAgZGVzY3JpYmUoJy9h
cGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgY29uc3QgZGIg
PSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CiAgICAgICAgIGxldCBpbml0aWFsUmVzdWx0OwogICAg
ICAgICByZXR1cm4gTW9ja0RhdGEuYWRkRW1wdHlUcmlnZ2VyYWJsZShkYikudGhlbigoKSA9PiB7
Ci0gICAgICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQodXBkYXRlV2l0aE9TWFJlcG9z
aXRvcnlHcm91cCgpKTsKKyAgICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQodXBk
YXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCgpKTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhTdGF0
dXMoJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIHVwZGF0ZVdpdGhPU1hSZXBvc2l0b3J5R3Jv
dXAoKSk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC0yODYsNyArMjg2LDcg
QEAgZGVzY3JpYmUoJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgY29uc3Qgc2Vjb25kVXBkYXRlID0gdXBkYXRlV2l0aE9TWFJlcG9zaXRvcnlHcm91cCgp
OwogICAgICAgICBzZWNvbmRVcGRhdGUucmVwb3NpdG9yeUdyb3Vwc1swXS5kZXNjcmlwdGlvbiA9
ICd0aGlzIGdyb3VwIGlzIGF3ZXNvbWUnOwogICAgICAgICByZXR1cm4gTW9ja0RhdGEuYWRkRW1w
dHlUcmlnZ2VyYWJsZShkYikudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gYWRkU2xh
dmVGb3JSZXBvcnQoaW5pdGlhbFVwZGF0ZSk7CisgICAgICAgICAgICByZXR1cm4gYWRkV29ya2Vy
Rm9yUmVwb3J0KGluaXRpYWxVcGRhdGUpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAg
ICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OV2l0aFN0YXR1cygn
L2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgaW5pdGlhbFVwZGF0ZSk7CiAgICAgICAgIH0pLnRo
ZW4oKHJlc3BvbnNlKSA9PiBkYi5zZWxlY3RBbGwoJ3RyaWdnZXJhYmxlX3JlcG9zaXRvcnlfZ3Jv
dXBzJykpLnRoZW4oKHJlcG9zaXRvcnlHcm91cHMpID0+IHsKQEAgLTMwNCw4ICszMDQsOCBAQCBk
ZXNjcmliZSgnL2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgZnVuY3Rpb24gKCkgewogICAgIGZ1
bmN0aW9uIHVwZGF0ZVdpdGhNYWNXZWJLaXRSZXBvc2l0b3J5R3JvdXBzKCkKICAgICB7CiAgICAg
ICAgIHJldHVybiB7Ci0gICAgICAgICAgICAnc2xhdmVOYW1lJzogJ3NvbWVTbGF2ZScsCi0gICAg
ICAgICAgICAnc2xhdmVQYXNzd29yZCc6ICdzb21lUGFzc3dvcmQnLAorICAgICAgICAgICAgJ3dv
cmtlck5hbWUnOiAnc29tZVdvcmtlcicsCisgICAgICAgICAgICAnd29ya2VyUGFzc3dvcmQnOiAn
c29tZVBhc3N3b3JkJywKICAgICAgICAgICAgICd0cmlnZ2VyYWJsZSc6ICdlbXB0eS10cmlnZ2Vy
YWJsZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbnMnOiBbCiAgICAgICAgICAgICAgICAg
e3Rlc3Q6IE1vY2tEYXRhLnNvbWVUZXN0SWQoKSwgcGxhdGZvcm06IE1vY2tEYXRhLnNvbWVQbGF0
Zm9ybUlkKCl9CkBAIC0zMzcsNyArMzM3LDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBkYXRlLXRyaWdn
ZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgc2Vjb25kVXBkYXRlLnJlcG9zaXRvcnlH
cm91cHNbMF0uYWNjZXB0c1Jvb3RzID0gdHJ1ZTsKICAgICAgICAgc2Vjb25kVXBkYXRlLnJlcG9z
aXRvcnlHcm91cHNbMV0ucmVwb3NpdG9yaWVzWzBdLmFjY2VwdHNQYXRjaCA9IHRydWU7CiAgICAg
ICAgIHJldHVybiBNb2NrRGF0YS5hZGRFbXB0eVRyaWdnZXJhYmxlKGRiKS50aGVuKCgpID0+IHsK
LSAgICAgICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChpbml0aWFsVXBkYXRlKTsKKyAg
ICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQoaW5pdGlhbFVwZGF0ZSk7CiAgICAg
ICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3Rl
QVBJKCkucG9zdEpTT05XaXRoU3RhdHVzKCcvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS8nLCBpbml0
aWFsVXBkYXRlKTsKICAgICAgICAgfSkudGhlbigoKSA9PiBNYW5pZmVzdC5mZXRjaCgpKS50aGVu
KCgpID0+IHsKQEAgLTM4OCw3ICszODgsNyBAQCBkZXNjcmliZSgnL2FwaS91cGRhdGUtdHJpZ2dl
cmFibGUvJywgZnVuY3Rpb24gKCkgewogICAgICAgICBsZXQgaW5pdGlhbEdyb3VwczsKICAgICAg
ICAgc2Vjb25kVXBkYXRlLnJlcG9zaXRvcnlHcm91cHNbMV0ucmVwb3NpdG9yaWVzWzBdID0ge3Jl
cG9zaXRvcnk6IE1vY2tEYXRhLmdpdFdlYmtpdFJlcG9zaXRvcnlJZCgpfQogICAgICAgICByZXR1
cm4gTW9ja0RhdGEuYWRkRW1wdHlUcmlnZ2VyYWJsZShkYikudGhlbigoKSA9PiB7Ci0gICAgICAg
ICAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoaW5pdGlhbFVwZGF0ZSk7CisgICAgICAgICAg
ICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KGluaXRpYWxVcGRhdGUpOwogICAgICAgICB9KS50
aGVuKCgpID0+IHsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBv
c3RKU09OV2l0aFN0YXR1cygnL2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgaW5pdGlhbFVwZGF0
ZSk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC00MjksNyArNDI5LDcgQEAg
ZGVzY3JpYmUoJy9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlLycsIGZ1bmN0aW9uICgpIHsKICAgICAg
ICAgbGV0IGluaXRpYWxSZXBvc2l0b3JpZXM7CiAgICAgICAgIHNlY29uZFVwZGF0ZS5yZXBvc2l0
b3J5R3JvdXBzWzBdLm5hbWUgPSAnbWFjLW9ubHknOwogICAgICAgICByZXR1cm4gTW9ja0RhdGEu
YWRkRW1wdHlUcmlnZ2VyYWJsZShkYikudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4g
YWRkU2xhdmVGb3JSZXBvcnQoaW5pdGlhbFVwZGF0ZSk7CisgICAgICAgICAgICByZXR1cm4gYWRk
V29ya2VyRm9yUmVwb3J0KGluaXRpYWxVcGRhdGUpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsK
ICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OV2l0aFN0
YXR1cygnL2FwaS91cGRhdGUtdHJpZ2dlcmFibGUvJywgaW5pdGlhbFVwZGF0ZSk7CiAgICAgICAg
IH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvc2VydmVyLXRlc3RzL2FwaS11cGxvYWQtcm9vdC10ZXN0cy5qcyBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXVwbG9hZC1yb290LXRlc3RzLmpzCmluZGV4
IDQ5ODJmMDk4YmU4MTc2NTk1N2ZhMTUyM2NiN2ZkYWEzZDY3MDc1ZjQuLjNhYzBjZTllMzc4NTFj
MWY1ZGQyYjhiNTMyY2QzNDYzYTFkYTYzYjAgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXVwbG9hZC1yb290LXRlc3RzLmpzCisrKyBiL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXVwbG9hZC1yb290LXRlc3RzLmpz
CkBAIC03LDE0ICs3LDE0IEBAIHJlcXVpcmUoJy4uL3Rvb2xzL2pzL3YzLW1vZGVscy5qcycpOwog
Y29uc3QgTW9ja0RhdGEgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9tb2NrLWRhdGEuanMnKTsKIGNv
bnN0IFRlc3RTZXJ2ZXIgPSByZXF1aXJlKCcuL3Jlc291cmNlcy90ZXN0LXNlcnZlci5qcycpOwog
Y29uc3QgVGVtcG9yYXJ5RmlsZSA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL3RlbXBvcmFyeS1maWxl
LmpzJykuVGVtcG9yYXJ5RmlsZTsKLWNvbnN0IGFkZFNsYXZlRm9yUmVwb3J0ID0gcmVxdWlyZSgn
Li9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMnKS5hZGRTbGF2ZUZvclJlcG9ydDsKK2Nv
bnN0IGFkZFdvcmtlckZvclJlcG9ydCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVy
YXRpb25zLmpzJykuYWRkV29ya2VyRm9yUmVwb3J0OwogY29uc3QgcHJlcGFyZVNlcnZlclRlc3Qg
PSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLnByZXBhcmVTZXJ2
ZXJUZXN0OwogCiBmdW5jdGlvbiBtYWtlUmVwb3J0KHJvb3RGaWxlLCBidWlsZFJlcXVlc3RJZCA9
IDEsIHJlcG9zaXRvcnlMaXN0ID0gWydXZWJLaXQnXSwgYnVpbGRUaW1lID0gJzIwMTctMDUtMTBU
MDI6NTQ6MDguNjY2JykKIHsKICAgICByZXR1cm4gewotICAgICAgICBzbGF2ZU5hbWU6ICdzb21l
U2xhdmUnLAotICAgICAgICBzbGF2ZVBhc3N3b3JkOiAnc29tZVBhc3N3b3JkJywKKyAgICAgICAg
d29ya2VyTmFtZTogJ3NvbWVXb3JrZXInLAorICAgICAgICB3b3JrZXJQYXNzd29yZDogJ3NvbWVQ
YXNzd29yZCcsCiAgICAgICAgIGJ1aWxkZXJOYW1lOiAnc29tZUJ1aWxkZXInLAogICAgICAgICBi
dWlsZFRhZzogIjEyMyIsCiAgICAgICAgIGJ1aWxkVGltZTogYnVpbGRUaW1lLApAQCAtMjQsOSAr
MjQsOSBAQCBmdW5jdGlvbiBtYWtlUmVwb3J0KHJvb3RGaWxlLCBidWlsZFJlcXVlc3RJZCA9IDEs
IHJlcG9zaXRvcnlMaXN0ID0gWydXZWJLaXQnXSwgYgogICAgIH07CiB9CiAKLWZ1bmN0aW9uIGFk
ZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoc2xhdmVJbmZvID0gbWFrZVJlcG9ydCgpKQorZnVuY3Rp
b24gYWRkV29ya2VyQW5kQ3JlYXRlUm9vdEZpbGUod29ya2VySW5mbyA9IG1ha2VSZXBvcnQoKSkK
IHsKLSAgICByZXR1cm4gYWRkU2xhdmVGb3JSZXBvcnQoc2xhdmVJbmZvKS50aGVuKCgpID0+IHsK
KyAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KHdvcmtlckluZm8pLnRoZW4oKCkgPT4gewog
ICAgICAgICByZXR1cm4gVGVtcG9yYXJ5RmlsZS5tYWtlVGVtcG9yYXJ5RmlsZSgnc29tZS5kYXQn
LCAnc29tZSBjb250ZW50Jyk7CiAgICAgfSk7CiB9CkBAIC0zNCw4ICszNCw4IEBAIGZ1bmN0aW9u
IGFkZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoc2xhdmVJbmZvID0gbWFrZVJlcG9ydCgpKQogZnVu
Y3Rpb24gY3JlYXRlVGVzdEdyb3VwV2loUGF0Y2goKQogewogICAgIGNvbnN0IHRyaWdnZXJhYmxl
Q29uZmlndXJhdGlvbiA9IHsKLSAgICAgICAgJ3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKLSAg
ICAgICAgJ3NsYXZlUGFzc3dvcmQnOiAncGFzc3dvcmQnLAorICAgICAgICAnd29ya2VyTmFtZSc6
ICdzeW5jLXdvcmtlcicsCisgICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdwYXNzd29yZCcsCiAg
ICAgICAgICd0cmlnZ2VyYWJsZSc6ICdidWlsZC13ZWJraXQnLAogICAgICAgICAnY29uZmlndXJh
dGlvbnMnOiBbCiAgICAgICAgICAgICB7dGVzdDogTW9ja0RhdGEuc29tZVRlc3RJZCgpLCBwbGF0
Zm9ybTogTW9ja0RhdGEuc29tZVBsYXRmb3JtSWQoKX0sCkBAIC03Niw4ICs3Niw4IEBAIGZ1bmN0
aW9uIGNyZWF0ZVRlc3RHcm91cFdpaFBhdGNoKCkKIGZ1bmN0aW9uIGNyZWF0ZVRlc3RHcm91cFdp
dGhQYXRjaEFuZE93bmVkQ29tbWl0cygpCiB7CiAgICAgY29uc3QgdHJpZ2dlcmFibGVDb25maWd1
cmF0aW9uID0gewotICAgICAgICAnc2xhdmVOYW1lJzogJ3N5bmMtc2xhdmUnLAotICAgICAgICAn
c2xhdmVQYXNzd29yZCc6ICdwYXNzd29yZCcsCisgICAgICAgICd3b3JrZXJOYW1lJzogJ3N5bmMt
d29ya2VyJywKKyAgICAgICAgJ3dvcmtlclBhc3N3b3JkJzogJ3Bhc3N3b3JkJywKICAgICAgICAg
J3RyaWdnZXJhYmxlJzogJ2J1aWxkLXdlYmtpdCcsCiAgICAgICAgICdjb25maWd1cmF0aW9ucyc6
IFsKICAgICAgICAgICAgIHt0ZXN0OiBNb2NrRGF0YS5zb21lVGVzdElkKCksIHBsYXRmb3JtOiBN
b2NrRGF0YS5zb21lUGxhdGZvcm1JZCgpfSwKQEAgLTEyNSwyNiArMTI1LDI2IEBAIGRlc2NyaWJl
KCcvYXBpL3VwbG9hZC1yb290LycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgfSk7CiAgICAgfSk7
CiAKLSAgICBpdCgnc2hvdWxkIHJlamVjdCB3aGVuIHRoZXJlIGFyZSBubyBzbGF2ZXMnLCAoKSA9
PiB7CisgICAgaXQoJ3Nob3VsZCByZWplY3Qgd2hlbiB0aGVyZSBhcmUgbm8gd29ya2VycycsICgp
ID0+IHsKICAgICAgICAgcmV0dXJuIFRlbXBvcmFyeUZpbGUubWFrZVRlbXBvcmFyeUZpbGUoJ3Nv
bWUuZGF0JywgJ3NvbWUgY29udGVudCcpLnRoZW4oKHJvb3RGaWxlKSA9PiB7CiAgICAgICAgICAg
ICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0Rm9ybURhdGEoJy9hcGkvdXBsb2Fk
LXJvb3QvJywgbWFrZVJlcG9ydChyb290RmlsZSkpOwogICAgICAgICB9KS50aGVuKChyZXNwb25z
ZSkgPT4gewotICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3BvbnNlWydzdGF0dXMn
XSwgJ1NsYXZlTm90Rm91bmQnKTsKKyAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXNw
b25zZVsnc3RhdHVzJ10sICdXb3JrZXJOb3RGb3VuZCcpOwogICAgICAgICB9KTsKICAgICB9KTsK
IAotICAgIGl0KCdzaG91bGQgcmVqZWN0IHdoZW4gc2xhdmUgbmFtZSBpcyBtaXNzaW5nJywgKCkg
PT4gewotICAgICAgICByZXR1cm4gYWRkU2xhdmVBbmRDcmVhdGVSb290RmlsZSgpLnRoZW4oKHJv
b3RGaWxlKSA9PiB7CisgICAgaXQoJ3Nob3VsZCByZWplY3Qgd2hlbiB3b3JrZXIgbmFtZSBpcyBt
aXNzaW5nJywgKCkgPT4geworICAgICAgICByZXR1cm4gYWRkV29ya2VyQW5kQ3JlYXRlUm9vdEZp
bGUoKS50aGVuKChyb290RmlsZSkgPT4gewogICAgICAgICAgICAgY29uc3QgcmVwb3J0ID0gbWFr
ZVJlcG9ydChyb290RmlsZSk7Ci0gICAgICAgICAgICBkZWxldGUgcmVwb3J0LnNsYXZlTmFtZTsK
KyAgICAgICAgICAgIGRlbGV0ZSByZXBvcnQud29ya2VyTmFtZTsKICAgICAgICAgICAgIHJldHVy
biBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RGb3JtRGF0YSgnL2FwaS91cGxvYWQtcm9vdC8n
LCByZXBvcnQpOwogICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gewotICAgICAgICAgICAg
YXNzZXJ0LnN0cmljdEVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ01pc3NpbmdTbGF2ZU5hbWUn
KTsKKyAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdN
aXNzaW5nV29ya2VyTmFtZScpOwogICAgICAgICB9KTsKICAgICB9KTsKIAogICAgIGl0KCdzaG91
bGQgcmVqZWN0IHdoZW4gYnVpbGRlciBuYW1lIGlzIG1pc3NpbmcnLCAoKSA9PiB7Ci0gICAgICAg
IHJldHVybiBhZGRTbGF2ZUFuZENyZWF0ZVJvb3RGaWxlKCkudGhlbigocm9vdEZpbGUpID0+IHsK
KyAgICAgICAgcmV0dXJuIGFkZFdvcmtlckFuZENyZWF0ZVJvb3RGaWxlKCkudGhlbigocm9vdEZp
bGUpID0+IHsKICAgICAgICAgICAgIGNvbnN0IHJlcG9ydCA9IG1ha2VSZXBvcnQocm9vdEZpbGUp
OwogICAgICAgICAgICAgZGVsZXRlIHJlcG9ydC5idWlsZGVyTmFtZTsKICAgICAgICAgICAgIHJl
dHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RGb3JtRGF0YSgnL2FwaS91cGxvYWQtcm9v
dC8nLCByZXBvcnQpOwpAQCAtMTU0LDcgKzE1NCw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9hZC1y
b290LycsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAgIGl0KCdzaG91bGQgcmVqZWN0IHdo
ZW4gYnVpbGQgdGFnIGlzIG1pc3NpbmcnLCAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBhZGRTbGF2
ZUFuZENyZWF0ZVJvb3RGaWxlKCkudGhlbigocm9vdEZpbGUpID0+IHsKKyAgICAgICAgcmV0dXJu
IGFkZFdvcmtlckFuZENyZWF0ZVJvb3RGaWxlKCkudGhlbigocm9vdEZpbGUpID0+IHsKICAgICAg
ICAgICAgIGNvbnN0IHJlcG9ydCA9IG1ha2VSZXBvcnQocm9vdEZpbGUpOwogICAgICAgICAgICAg
ZGVsZXRlIHJlcG9ydC5idWlsZFRhZzsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJl
bW90ZUFQSSgpLnBvc3RGb3JtRGF0YSgnL2FwaS91cGxvYWQtcm9vdC8nLCByZXBvcnQpOwpAQCAt
MTY0LDcgKzE2NCw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9hZC1yb290LycsIGZ1bmN0aW9uICgp
IHsKICAgICB9KTsKIAogICAgIGl0KCdzaG91bGQgcmVqZWN0IHdoZW4gYnVpbGQgbnVtYmVyIGlz
IG5vdCBhIG51bWJlcicsICgpID0+IHsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZlQW5kQ3JlYXRl
Um9vdEZpbGUoKS50aGVuKChyb290RmlsZSkgPT4geworICAgICAgICByZXR1cm4gYWRkV29ya2Vy
QW5kQ3JlYXRlUm9vdEZpbGUoKS50aGVuKChyb290RmlsZSkgPT4gewogICAgICAgICAgICAgY29u
c3QgcmVwb3J0ID0gbWFrZVJlcG9ydChyb290RmlsZSk7CiAgICAgICAgICAgICBkZWxldGUgcmVw
b3J0LmJ1aWxkVGFnOwogICAgICAgICAgICAgcmVwb3J0LmJ1aWxkTnVtYmVyID0gJzFhYmMnOwpA
QCAtMTc1LDcgKzE3NSw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9hZC1yb290LycsIGZ1bmN0aW9u
ICgpIHsKICAgICB9KTsKIAogICAgIGl0KCdzaG91bGQgcmVqZWN0IGlmIGJvdGggYnVpbGQgbnVt
YmVyIGFuZCBidWlsZCB0YWcgZXhpc3RzIGJ1dCBkaWZmZXJlbnQnLCBhc3luYyAoKSA9PiB7Ci0g
ICAgICAgIGNvbnN0IHJvb3RGaWxlID0gYXdhaXQgYWRkU2xhdmVBbmRDcmVhdGVSb290RmlsZSgp
OworICAgICAgICBjb25zdCByb290RmlsZSA9IGF3YWl0IGFkZFdvcmtlckFuZENyZWF0ZVJvb3RG
aWxlKCk7CiAgICAgICAgIGNvbnN0IHJlcG9ydCA9IG1ha2VSZXBvcnQocm9vdEZpbGUpOwogICAg
ICAgICByZXBvcnQuYnVpbGROdW1iZXIgPSAnNDU2JzsKICAgICAgICAgY29uc3QgcmVzcG9uc2Ug
PSBhd2FpdCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RGb3JtRGF0YSgnL2FwaS91cGxvYWQt
cm9vdC8nLCByZXBvcnQpOwpAQCAtMjE2LDcgKzIxNiw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9h
ZC1yb290LycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG90aGVy
Q29tbWl0U2V0LnJvb3RGb3JSZXBvc2l0b3J5KG93bmVkSlNDKSwgbnVsbCk7CiAgICAgICAgIGFz
c2VydC5kZWVwU3RyaWN0RXF1YWwob3RoZXJDb21taXRTZXQuYWxsUm9vdEZpbGVzKCksIFtdKTsK
IAotICAgICAgICBjb25zdCByb290RmlsZSA9IGF3YWl0IGFkZFNsYXZlQW5kQ3JlYXRlUm9vdEZp
bGUoKTsKKyAgICAgICAgY29uc3Qgcm9vdEZpbGUgPSBhd2FpdCBhZGRXb3JrZXJBbmRDcmVhdGVS
b290RmlsZSgpOwogICAgICAgICBjb25zdCByZXBvcnQgPSBtYWtlUmVwb3J0KHJvb3RGaWxlLCBi
dWlsZFJlcXVlc3QuaWQoKSwgWydXZWJLaXQnXSk7CiAgICAgICAgIHJlcG9ydC5idWlsZE51bWJl
ciA9IHJlcG9ydC5idWlsZFRhZzsKICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RGb3JtRGF0YSgnL2FwaS91cGxvYWQtcm9vdC8nLCByZXBv
cnQpOwpAQCAtMjU3LDcgKzI1Nyw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9hZC1yb290LycsIGZ1
bmN0aW9uICgpIHsKICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG90aGVyQ29tbWl0U2V0LnJv
b3RGb3JSZXBvc2l0b3J5KG93bmVkSlNDKSwgbnVsbCk7CiAgICAgICAgIGFzc2VydC5kZWVwU3Ry
aWN0RXF1YWwob3RoZXJDb21taXRTZXQuYWxsUm9vdEZpbGVzKCksIFtdKTsKIAotICAgICAgICBj
b25zdCByb290RmlsZSA9IGF3YWl0IGFkZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoKTsKKyAgICAg
ICAgY29uc3Qgcm9vdEZpbGUgPSBhd2FpdCBhZGRXb3JrZXJBbmRDcmVhdGVSb290RmlsZSgpOwog
ICAgICAgICBjb25zdCByZXBvcnQgPSBtYWtlUmVwb3J0KHJvb3RGaWxlLCBidWlsZFJlcXVlc3Qu
aWQoKSwgWydXZWJLaXQnXSk7CiAgICAgICAgIGRlbGV0ZSByZXBvcnQuYnVpbGRUYWc7CiAgICAg
ICAgIHJlcG9ydC5idWlsZE51bWJlciA9ICcxMjMnOwpAQCAtMjY2LDcgKzI2Niw3IEBAIGRlc2Ny
aWJlKCcvYXBpL3VwbG9hZC1yb290LycsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAgIGl0
KCdzaG91bGQgcmVqZWN0IHdoZW4gYnVpbGQgdGltZSBpcyBtaXNzaW5nJywgKCkgPT4gewotICAg
ICAgICByZXR1cm4gYWRkU2xhdmVBbmRDcmVhdGVSb290RmlsZSgpLnRoZW4oKHJvb3RGaWxlKSA9
PiB7CisgICAgICAgIHJldHVybiBhZGRXb3JrZXJBbmRDcmVhdGVSb290RmlsZSgpLnRoZW4oKHJv
b3RGaWxlKSA9PiB7CiAgICAgICAgICAgICBjb25zdCByZXBvcnQgPSBtYWtlUmVwb3J0KHJvb3RG
aWxlKTsKICAgICAgICAgICAgIGRlbGV0ZSByZXBvcnQuYnVpbGRUaW1lOwogICAgICAgICAgICAg
cmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEZvcm1EYXRhKCcvYXBpL3VwbG9hZC1y
b290LycsIHJlcG9ydCk7CkBAIC0yNzYsNyArMjc2LDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBsb2Fk
LXJvb3QvJywgZnVuY3Rpb24gKCkgewogICAgIH0pOwogCiAgICAgaXQoJ3Nob3VsZCByZWplY3Qg
d2hlbiBidWlsZCB0aW1lIGlzIG1hbGZvcm1lZCcsICgpID0+IHsKLSAgICAgICAgcmV0dXJuIGFk
ZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoKS50aGVuKChyb290RmlsZSkgPT4geworICAgICAgICBy
ZXR1cm4gYWRkV29ya2VyQW5kQ3JlYXRlUm9vdEZpbGUoKS50aGVuKChyb290RmlsZSkgPT4gewog
ICAgICAgICAgICAgY29uc3QgcmVwb3J0ID0gbWFrZVJlcG9ydChyb290RmlsZSk7CiAgICAgICAg
ICAgICByZXBvcnQuYnVpbGRUaW1lID0gJ1dlZCwgMTAgTWF5IDIwMTcgMDM6MDI6MzAgR01UJzsK
ICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RGb3JtRGF0YSgn
L2FwaS91cGxvYWQtcm9vdC8nLCByZXBvcnQpOwpAQCAtMjg2LDcgKzI4Niw3IEBAIGRlc2NyaWJl
KCcvYXBpL3VwbG9hZC1yb290LycsIGZ1bmN0aW9uICgpIHsKICAgICB9KTsKIAogICAgIGl0KCdz
aG91bGQgcmVqZWN0IHdoZW4gYnVpbGQgcmVxdWVzdCBJRCBpcyBtaXNzaW5nJywgKCkgPT4gewot
ICAgICAgICByZXR1cm4gYWRkU2xhdmVBbmRDcmVhdGVSb290RmlsZSgpLnRoZW4oKHJvb3RGaWxl
KSA9PiB7CisgICAgICAgIHJldHVybiBhZGRXb3JrZXJBbmRDcmVhdGVSb290RmlsZSgpLnRoZW4o
KHJvb3RGaWxlKSA9PiB7CiAgICAgICAgICAgICBjb25zdCByZXBvcnQgPSBtYWtlUmVwb3J0KHJv
b3RGaWxlKTsKICAgICAgICAgICAgIGRlbGV0ZSByZXBvcnQuYnVpbGRSZXF1ZXN0OwogICAgICAg
ICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEZvcm1EYXRhKCcvYXBpL3Vw
bG9hZC1yb290LycsIHJlcG9ydCk7CkBAIC0yOTYsNyArMjk2LDcgQEAgZGVzY3JpYmUoJy9hcGkv
dXBsb2FkLXJvb3QvJywgZnVuY3Rpb24gKCkgewogICAgIH0pOwogCiAgICAgaXQoJ3Nob3VsZCBy
ZWplY3Qgd2hlbiBidWlsZCByZXF1ZXN0IElEIGlzIG5vdCBhIG51bWJlcicsICgpID0+IHsKLSAg
ICAgICAgcmV0dXJuIGFkZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoKS50aGVuKChyb290RmlsZSkg
PT4geworICAgICAgICByZXR1cm4gYWRkV29ya2VyQW5kQ3JlYXRlUm9vdEZpbGUoKS50aGVuKChy
b290RmlsZSkgPT4gewogICAgICAgICAgICAgY29uc3QgcmVwb3J0ID0gbWFrZVJlcG9ydChyb290
RmlsZSk7CiAgICAgICAgICAgICByZXBvcnQuYnVpbGRSZXF1ZXN0ID0gJ2FiYyc7CiAgICAgICAg
ICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0Rm9ybURhdGEoJy9hcGkvdXBs
b2FkLXJvb3QvJywgcmVwb3J0KTsKQEAgLTMwNiw3ICszMDYsNyBAQCBkZXNjcmliZSgnL2FwaS91
cGxvYWQtcm9vdC8nLCBmdW5jdGlvbiAoKSB7CiAgICAgfSk7CiAKICAgICBpdCgnc2hvdWxkIHJl
amVjdCB3aGVuIGJ1aWxkIHJlcXVlc3QgZG9lcyBub3QgZXhpc3QnLCAoKSA9PiB7Ci0gICAgICAg
IHJldHVybiBhZGRTbGF2ZUFuZENyZWF0ZVJvb3RGaWxlKCkudGhlbigocm9vdEZpbGUpID0+IHsK
KyAgICAgICAgcmV0dXJuIGFkZFdvcmtlckFuZENyZWF0ZVJvb3RGaWxlKCkudGhlbigocm9vdEZp
bGUpID0+IHsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RG
b3JtRGF0YSgnL2FwaS91cGxvYWQtcm9vdC8nLCBtYWtlUmVwb3J0KHJvb3RGaWxlKSk7CiAgICAg
ICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1
YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnSW52YWxpZEJ1aWxkUmVxdWVzdFR5cGUnKTsKQEAgLTMx
NCw3ICszMTQsNyBAQCBkZXNjcmliZSgnL2FwaS91cGxvYWQtcm9vdC8nLCBmdW5jdGlvbiAoKSB7
CiAgICAgfSk7CiAKICAgICBpdCgnc2hvdWxkIHJlamVjdCB3aGVuIHJlcG9zaXRvcnkgbGlzdCBp
cyBtaXNzaW5nJywgKCkgPT4gewotICAgICAgICByZXR1cm4gYWRkU2xhdmVBbmRDcmVhdGVSb290
RmlsZSgpLnRoZW4oKHJvb3RGaWxlKSA9PiB7CisgICAgICAgIHJldHVybiBhZGRXb3JrZXJBbmRD
cmVhdGVSb290RmlsZSgpLnRoZW4oKHJvb3RGaWxlKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBy
ZXBvcnQgPSBtYWtlUmVwb3J0KHJvb3RGaWxlKTsKICAgICAgICAgICAgIGRlbGV0ZSByZXBvcnQu
cmVwb3NpdG9yeUxpc3Q7CiAgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEko
KS5wb3N0Rm9ybURhdGEoJy9hcGkvdXBsb2FkLXJvb3QvJywgcmVwb3J0KTsKQEAgLTMyNCw3ICsz
MjQsNyBAQCBkZXNjcmliZSgnL2FwaS91cGxvYWQtcm9vdC8nLCBmdW5jdGlvbiAoKSB7CiAgICAg
fSk7CiAKICAgICBpdCgnc2hvdWxkIHJlamVjdCB3aGVuIHJlcG9zaXRvcnkgbGlzdCBpcyBub3Qg
YSB2YWxpZCBKU09OIHN0cmluZycsICgpID0+IHsKLSAgICAgICAgcmV0dXJuIGFkZFNsYXZlQW5k
Q3JlYXRlUm9vdEZpbGUoKS50aGVuKChyb290RmlsZSkgPT4geworICAgICAgICByZXR1cm4gYWRk
V29ya2VyQW5kQ3JlYXRlUm9vdEZpbGUoKS50aGVuKChyb290RmlsZSkgPT4gewogICAgICAgICAg
ICAgY29uc3QgcmVwb3J0ID0gbWFrZVJlcG9ydChyb290RmlsZSk7CiAgICAgICAgICAgICByZXBv
cnQucmVwb3NpdG9yeUxpc3QgPSAnYStiJzsKICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpLnBvc3RGb3JtRGF0YSgnL2FwaS91cGxvYWQtcm9vdC8nLCByZXBvcnQpOwpA
QCAtMzc1LDcgKzM3NSw3IEBAIGRlc2NyaWJlKCcvYXBpL3VwbG9hZC1yb290LycsIGZ1bmN0aW9u
ICgpIHsKICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChvdGhlckNvbW1pdFNldC5yb290
Rm9yUmVwb3NpdG9yeShvd25lZEpTQyksIG51bGwpOwogICAgICAgICAgICAgYXNzZXJ0LmRlZXBT
dHJpY3RFcXVhbChvdGhlckNvbW1pdFNldC5hbGxSb290RmlsZXMoKSwgW10pOwogCi0gICAgICAg
ICAgICByZXR1cm4gYWRkU2xhdmVBbmRDcmVhdGVSb290RmlsZSgpOworICAgICAgICAgICAgcmV0
dXJuIGFkZFdvcmtlckFuZENyZWF0ZVJvb3RGaWxlKCk7CiAgICAgICAgIH0pLnRoZW4oKHJvb3RG
aWxlKSA9PiB7CiAgICAgICAgICAgICBjb25zdCByZXBvcnQgPSBtYWtlUmVwb3J0KHJvb3RGaWxl
LCBidWlsZFJlcXVlc3QuaWQoKSwgWydXZWJLaXQnXSk7CiAgICAgICAgICAgICByZXR1cm4gVGVz
dFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0Rm9ybURhdGEoJy9hcGkvdXBsb2FkLXJvb3QvJywgcmVw
b3J0KTsKQEAgLTQ1Miw3ICs0NTIsNyBAQCBkZXNjcmliZSgnL2FwaS91cGxvYWQtcm9vdC8nLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwob3RoZXJDb21taXRT
ZXQucm9vdEZvclJlcG9zaXRvcnkob3duZWRKU0MpLCBudWxsKTsKICAgICAgICAgICAgIGFzc2Vy
dC5kZWVwU3RyaWN0RXF1YWwob3RoZXJDb21taXRTZXQuYWxsUm9vdEZpbGVzKCksIFtdKTsKIAot
ICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoKTsKKyAgICAgICAg
ICAgIHJldHVybiBhZGRXb3JrZXJBbmRDcmVhdGVSb290RmlsZSgpOwogICAgICAgICB9KS50aGVu
KChyb290RmlsZSkgPT4gewogICAgICAgICAgICAgY29uc3QgcmVwb3J0ID0gbWFrZVJlcG9ydChy
b290RmlsZSwgYnVpbGRSZXF1ZXN0LmlkKCksIFsnV2ViS2l0J10pOwogICAgICAgICAgICAgcmV0
dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEZvcm1EYXRhKCcvYXBpL3VwbG9hZC1yb290
LycsIHJlcG9ydCk7CkBAIC01MzAsNyArNTMwLDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBsb2FkLXJv
b3QvJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG90aGVy
Q29tbWl0U2V0LnJvb3RGb3JSZXBvc2l0b3J5KHNoYXJlZCksIG51bGwpOwogICAgICAgICAgICAg
YXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChvdGhlckNvbW1pdFNldC5hbGxSb290RmlsZXMoKSwgW10p
OwogCi0gICAgICAgICAgICByZXR1cm4gYWRkU2xhdmVBbmRDcmVhdGVSb290RmlsZSgpOworICAg
ICAgICAgICAgcmV0dXJuIGFkZFdvcmtlckFuZENyZWF0ZVJvb3RGaWxlKCk7CiAgICAgICAgIH0p
LnRoZW4oKHJvb3RGaWxlKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1v
dGVBUEkoKS5wb3N0Rm9ybURhdGEoJy9hcGkvdXBsb2FkLXJvb3QvJywgbWFrZVJlcG9ydChyb290
RmlsZSwgYnVpbGRSZXF1ZXN0LmlkKCkpKTsKICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+
IHsKQEAgLTU4MSw3ICs1ODEsNyBAQCBkZXNjcmliZSgnL2FwaS91cGxvYWQtcm9vdC8nLCBmdW5j
dGlvbiAoKSB7CiAgICAgICAgIGxldCBidWlsZFJlcXVlc3Q7CiAgICAgICAgIHJldHVybiBjcmVh
dGVUZXN0R3JvdXBXaWhQYXRjaCgpLnRoZW4oKGdyb3VwKSA9PiB7CiAgICAgICAgICAgICBidWls
ZFJlcXVlc3QgPSBncm91cC5idWlsZFJlcXVlc3RzKClbMF07Ci0gICAgICAgICAgICByZXR1cm4g
YWRkU2xhdmVBbmRDcmVhdGVSb290RmlsZSgpOworICAgICAgICAgICAgcmV0dXJuIGFkZFdvcmtl
ckFuZENyZWF0ZVJvb3RGaWxlKCk7CiAgICAgICAgIH0pLnRoZW4oKHJvb3RGaWxlKSA9PiB7CiAg
ICAgICAgICAgICBjb25zdCByZXBvcnQgPSBtYWtlUmVwb3J0KHJvb3RGaWxlLCBidWlsZFJlcXVl
c3QuaWQoKSk7CiAgICAgICAgICAgICByZXBvcnQucmVwb3NpdG9yeUxpc3QgPSAnImEiJzsKQEAg
LTU5NSw3ICs1OTUsNyBAQCBkZXNjcmliZSgnL2FwaS91cGxvYWQtcm9vdC8nLCBmdW5jdGlvbiAo
KSB7CiAgICAgICAgIGxldCBidWlsZFJlcXVlc3Q7CiAgICAgICAgIHJldHVybiBjcmVhdGVUZXN0
R3JvdXBXaWhQYXRjaCgpLnRoZW4oKGdyb3VwKSA9PiB7CiAgICAgICAgICAgICBidWlsZFJlcXVl
c3QgPSBncm91cC5idWlsZFJlcXVlc3RzKClbMF07Ci0gICAgICAgICAgICByZXR1cm4gYWRkU2xh
dmVBbmRDcmVhdGVSb290RmlsZSgpOworICAgICAgICAgICAgcmV0dXJuIGFkZFdvcmtlckFuZENy
ZWF0ZVJvb3RGaWxlKCk7CiAgICAgICAgIH0pLnRoZW4oKHJvb3RGaWxlKSA9PiB7CiAgICAgICAg
ICAgICBjb25zdCByZXBvcnQgPSBtYWtlUmVwb3J0KHJvb3RGaWxlLCBidWlsZFJlcXVlc3QuaWQo
KSk7CiAgICAgICAgICAgICByZXBvcnQucmVwb3NpdG9yeUxpc3QgPSAnWyJXZWJLaXQiLCAiQmFk
UmVwb3NpdG9yeU5hbWUiXSc7CkBAIC02MTAsNyArNjEwLDcgQEAgZGVzY3JpYmUoJy9hcGkvdXBs
b2FkLXJvb3QvJywgZnVuY3Rpb24gKCkgewogICAgICAgICBsZXQgYnVpbGRSZXF1ZXN0OwogICAg
ICAgICByZXR1cm4gY3JlYXRlVGVzdEdyb3VwV2loUGF0Y2goKS50aGVuKChncm91cCkgPT4gewog
ICAgICAgICAgICAgYnVpbGRSZXF1ZXN0ID0gZ3JvdXAuYnVpbGRSZXF1ZXN0cygpWzBdOwotICAg
ICAgICAgICAgcmV0dXJuIGFkZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoKTsKKyAgICAgICAgICAg
IHJldHVybiBhZGRXb3JrZXJBbmRDcmVhdGVSb290RmlsZSgpOwogICAgICAgICB9KS50aGVuKChy
b290RmlsZSkgPT4gewogICAgICAgICAgICAgY29uc3QgcmVwb3J0ID0gbWFrZVJlcG9ydChyb290
RmlsZSwgYnVpbGRSZXF1ZXN0LmlkKCkpOwogICAgICAgICAgICAgcmVwb3J0LnJlcG9zaXRvcnlM
aXN0ID0gJ1siV2ViS2l0IiwgIm1hY09TIl0nOwpAQCAtNjY0LDcgKzY2NCw3IEBAIGRlc2NyaWJl
KCcvYXBpL3VwbG9hZC1yb290LycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIGFzc2VydC5z
dHJpY3RFcXVhbChvdGhlckNvbW1pdFNldC5yb290Rm9yUmVwb3NpdG9yeShzaGFyZWQpLCBudWxs
KTsKICAgICAgICAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwob3RoZXJDb21taXRTZXQuYWxs
Um9vdEZpbGVzKCksIFtdKTsKIAotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlQW5kQ3JlYXRl
Um9vdEZpbGUoKTsKKyAgICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJBbmRDcmVhdGVSb290Rmls
ZSgpOwogICAgICAgICB9KS50aGVuKChyb290RmlsZSkgPT4gewogICAgICAgICAgICAgY29uc3Qg
cmVwb3J0ID0gbWFrZVJlcG9ydChyb290RmlsZSwgYnVpbGRSZXF1ZXN0LmlkKCkpOwogICAgICAg
ICAgICAgcmVwb3J0LnJlcG9zaXRvcnlMaXN0ID0gJ1siV2ViS2l0IiwgIlNoYXJlZCJdJzsKQEAg
LTc1NSw3ICs3NTUsNyBAQCBkZXNjcmliZSgnL2FwaS91cGxvYWQtcm9vdC8nLCBmdW5jdGlvbiAo
KSB7CiAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwob3RoZXJDb21taXRTZXQucm9vdEZv
clJlcG9zaXRvcnkob3duZWRKU0MpLCBudWxsKTsKICAgICAgICAgICAgIGFzc2VydC5kZWVwU3Ry
aWN0RXF1YWwob3RoZXJDb21taXRTZXQuYWxsUm9vdEZpbGVzKCksIFtdKTsKIAotICAgICAgICAg
ICAgcmV0dXJuIGFkZFNsYXZlQW5kQ3JlYXRlUm9vdEZpbGUoKTsKKyAgICAgICAgICAgIHJldHVy
biBhZGRXb3JrZXJBbmRDcmVhdGVSb290RmlsZSgpOwogICAgICAgICB9KS50aGVuKChyb290Rmls
ZSkgPT4gewogICAgICAgICAgICAgY29uc3QgcmVwb3J0ID0gbWFrZVJlcG9ydChyb290RmlsZSwg
YnVpbGRSZXF1ZXN0LmlkKCksIFsnV2ViS2l0J10pOwogICAgICAgICAgICAgcmV0dXJuIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEZvcm1EYXRhKCcvYXBpL3VwbG9hZC1yb290LycsIHJlcG9y
dCk7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3By
aXZpbGVnZWQtYXBpLWFkZC1idWlsZC1yZXF1ZXN0cy10ZXN0cy5qcyBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGktYWRkLWJ1aWxkLXJlcXVlc3Rz
LXRlc3RzLmpzCmluZGV4IGIxMDc0OWEwZDFlOTAzOGUxZmIyZTkxMzkzNGE2M2FhMjI1MGRkNWUu
LmRjZTA5Y2JhYjM1MGEyMmE4MzFkNWJmOTkyMTdhZTcwOTk3MjY5ODIgMTAwNjQ0Ci0tLSBhL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGktYWRkLWJ1
aWxkLXJlcXVlc3RzLXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2
ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGktYWRkLWJ1aWxkLXJlcXVlc3RzLXRlc3RzLmpzCkBAIC00
LDcgKzQsNyBAQCBjb25zdCBhc3NlcnQgPSByZXF1aXJlKCdhc3NlcnQnKTsKIAogY29uc3QgTW9j
a0RhdGEgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9tb2NrLWRhdGEuanMnKTsKIGNvbnN0IFRlc3RT
ZXJ2ZXIgPSByZXF1aXJlKCcuL3Jlc291cmNlcy90ZXN0LXNlcnZlci5qcycpOwotY29uc3QgYWRk
U2xhdmVGb3JSZXBvcnQgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5q
cycpLmFkZFNsYXZlRm9yUmVwb3J0OworY29uc3QgYWRkV29ya2VyRm9yUmVwb3J0ID0gcmVxdWly
ZSgnLi9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMnKS5hZGRXb3JrZXJGb3JSZXBvcnQ7
CiBjb25zdCBwcmVwYXJlU2VydmVyVGVzdCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1v
cGVyYXRpb25zLmpzJykucHJlcGFyZVNlcnZlclRlc3Q7CiBjb25zdCBhc3NlcnRUaHJvd3MgPSBy
ZXF1aXJlKCcuLi9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJyku
YXNzZXJ0VGhyb3dzOwogCkBAIC0yMyw4ICsyMyw4IEBAIGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUFu
YWx5c2lzVGFzayhuYW1lLCB3ZWJraXRSZXZpc2lvbnMgPSBbIjE5MTYyMiIsICIxOTE2MjMiXSkK
ICAgICAgICAgICAgIH0KICAgICAgICAgfSwKICAgICAgICAgImJ1aWxkZXJOYW1lIjogInNvbWVC
dWlsZGVyIiwKLSAgICAgICAgInNsYXZlTmFtZSI6ICJzb21lU2xhdmUiLAotICAgICAgICAic2xh
dmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAorICAgICAgICAid29ya2VyTmFtZSI6ICJzb21l
V29ya2VyIiwKKyAgICAgICAgIndvcmtlclBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAg
ICAgICJwbGF0Zm9ybSI6ICJzb21lIHBsYXRmb3JtIiwKICAgICAgICAgInRlc3RzIjogewogICAg
ICAgICAgICAgInNvbWUgdGVzdCI6IHsKQEAgLTUyLDggKzUyLDggQEAgYXN5bmMgZnVuY3Rpb24g
Y3JlYXRlQW5hbHlzaXNUYXNrKG5hbWUsIHdlYmtpdFJldmlzaW9ucyA9IFsiMTkxNjIyIiwgIjE5
MTYyMyJdKQogICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICAiYnVpbGRlck5hbWUi
OiAic29tZUJ1aWxkZXIiLAotICAgICAgICAic2xhdmVOYW1lIjogInNvbWVTbGF2ZSIsCi0gICAg
ICAgICJzbGF2ZVBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCisgICAgICAgICJ3b3JrZXJOYW1l
IjogInNvbWVXb3JrZXIiLAorICAgICAgICAid29ya2VyUGFzc3dvcmQiOiAic29tZVBhc3N3b3Jk
IiwKICAgICAgICAgInBsYXRmb3JtIjogInNvbWUgcGxhdGZvcm0iLAogICAgICAgICAidGVzdHMi
OiB7CiAgICAgICAgICAgICAic29tZSB0ZXN0IjogewpAQCAtNzAsNyArNzAsNyBAQCBhc3luYyBm
dW5jdGlvbiBjcmVhdGVBbmFseXNpc1Rhc2sobmFtZSwgd2Via2l0UmV2aXNpb25zID0gWyIxOTE2
MjIiLCAiMTkxNjIzIl0pCiAKICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsK
ICAgICBjb25zdCByZW1vdGUgPSBUZXN0U2VydmVyLnJlbW90ZUFQSSgpOwotICAgIGF3YWl0IGFk
ZFNsYXZlRm9yUmVwb3J0KHJlcG9ydFdpdGhSZXZpc2lvblswXSk7CisgICAgYXdhaXQgYWRkV29y
a2VyRm9yUmVwb3J0KHJlcG9ydFdpdGhSZXZpc2lvblswXSk7CiAgICAgYXdhaXQgcmVtb3RlLnBv
c3RKU09OKCcvYXBpL3JlcG9ydC8nLCByZXBvcnRXaXRoUmV2aXNpb24pOwogICAgIGF3YWl0IHJl
bW90ZS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgYW5vdGhlclJlcG9ydFdpdGhSZXZpc2lvbik7
CiAgICAgYXdhaXQgTWFuaWZlc3QuZmV0Y2goKTsKQEAgLTkyLDggKzkyLDggQEAgYXN5bmMgZnVu
Y3Rpb24gY3JlYXRlQW5hbHlzaXNUYXNrKG5hbWUsIHdlYmtpdFJldmlzaW9ucyA9IFsiMTkxNjIy
IiwgIjE5MTYyMyJdKQogYXN5bmMgZnVuY3Rpb24gYWRkVHJpZ2dlcmFibGVBbmRDcmVhdGVUYXNr
KG5hbWUsIHdlYmtpdFJldmlzaW9ucykKIHsKICAgICBjb25zdCByZXBvcnQgPSB7Ci0gICAgICAg
ICdzbGF2ZU5hbWUnOiAnYW5vdGhlclNsYXZlJywKLSAgICAgICAgJ3NsYXZlUGFzc3dvcmQnOiAn
YW5vdGhlclBhc3N3b3JkJywKKyAgICAgICAgJ3dvcmtlck5hbWUnOiAnYW5vdGhlcldvcmtlcics
CisgICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdhbm90aGVyUGFzc3dvcmQnLAogICAgICAgICAn
dHJpZ2dlcmFibGUnOiAnYnVpbGQtd2Via2l0JywKICAgICAgICAgJ2NvbmZpZ3VyYXRpb25zJzog
WwogICAgICAgICAgICAge3Rlc3Q6IE1vY2tEYXRhLnNvbWVUZXN0SWQoKSwgcGxhdGZvcm06IE1v
Y2tEYXRhLnNvbWVQbGF0Zm9ybUlkKCl9LApAQCAtMTE4LDcgKzExOCw3IEBAIGFzeW5jIGZ1bmN0
aW9uIGFkZFRyaWdnZXJhYmxlQW5kQ3JlYXRlVGFzayhuYW1lLCB3ZWJraXRSZXZpc2lvbnMpCiAg
ICAgICAgIF0KICAgICB9OwogICAgIGF3YWl0IE1vY2tEYXRhLmFkZE1vY2tEYXRhKFRlc3RTZXJ2
ZXIuZGF0YWJhc2UoKSk7Ci0gICAgYXdhaXQgYWRkU2xhdmVGb3JSZXBvcnQocmVwb3J0KTsKKyAg
ICBhd2FpdCBhZGRXb3JrZXJGb3JSZXBvcnQocmVwb3J0KTsKICAgICBhd2FpdCBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3VwZGF0ZS10cmlnZ2VyYWJsZS8nLCByZXBvcnQp
OwogICAgIGF3YWl0IGNyZWF0ZUFuYWx5c2lzVGFzayhuYW1lLCB3ZWJraXRSZXZpc2lvbnMpOwog
fQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9wcml2
aWxlZ2VkLWFwaS1jcmVhdGUtYW5hbHlzaXMtdGFzay10ZXN0cy5qcyBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGktY3JlYXRlLWFuYWx5c2lzLXRh
c2stdGVzdHMuanMKaW5kZXggMGU2ODYxYjdlYzZiZWJlNTUyYTY0ZDg3M2ZlNTc2NmI1ZDExNzQy
Zi4uMmIyNzUwYWE3YTJkZDNiYzc5NWE3NjcyNzY0YmFhYTNlYjg0ZDFiNiAxMDA2NDQKLS0tIGEv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9wcml2aWxlZ2VkLWFwaS1jcmVh
dGUtYW5hbHlzaXMtdGFzay10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
c2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLWNyZWF0ZS1hbmFseXNpcy10YXNrLXRlc3RzLmpz
CkBAIC00ODgsNyArNDg4LDcgQEAgZGVzY3JpYmUoJy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5h
bHlzaXMtdGFzayB3aXRoIG5vZGUgcHJpdmlsZWdlZCBhcGknLCBmdW5jdGkKICAgICAgICAgUHJp
dmlsZWdlZEFQSS5jb25maWd1cmUoJ3Rlc3QnLCAncGFzc3dvcmQnKTsKICAgICB9KTsKIAotICAg
IGl0KCdzaG91bGQgcmV0dXJuICJTbGF2ZU5vdEZvdW5kIiB3aGVuIGluY29ycmVjdCBzbGF2ZSB1
c2VyIGFuZCBwYXNzd29yZCBjb21iaW5hdGlvbiBpcyBwcm92aWRlZCBhbmQgbm8gYW5hbHlzaXMg
dGFzaywgdGVzdCBncm91cCBvciBidWlsZCByZXF1ZXN0IHNob3VsZCBiZSBjcmVhdGVkJywgYXN5
bmMgKCkgPT4geworICAgIGl0KCdzaG91bGQgcmV0dXJuICJXb3JrZXJOb3RGb3VuZCIgd2hlbiBp
bmNvcnJlY3Qgd29ya2VyIHVzZXIgYW5kIHBhc3N3b3JkIGNvbWJpbmF0aW9uIGlzIHByb3ZpZGVk
IGFuZCBubyBhbmFseXNpcyB0YXNrLCB0ZXN0IGdyb3VwIG9yIGJ1aWxkIHJlcXVlc3Qgc2hvdWxk
IGJlIGNyZWF0ZWQnLCBhc3luYyAoKSA9PiB7CiAgICAgICAgIFByaXZpbGVnZWRBUEkuY29uZmln
dXJlKCd0ZXN0JywgJ3dyb25ncGFzc3dvcmQnKTsKICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2Vy
dmVyLmRhdGFiYXNlKCk7CiAgICAgICAgIGF3YWl0IGFkZEJ1aWxkZXJGb3JSZXBvcnQocmVwb3J0
V2l0aFJldmlzaW9uWzBdKTsKQEAgLTUwOCw3ICs1MDgsNyBAQCBkZXNjcmliZSgnL3ByaXZpbGVn
ZWQtYXBpL2NyZWF0ZS1hbmFseXNpcy10YXNrIHdpdGggbm9kZSBwcml2aWxlZ2VkIGFwaScsIGZ1
bmN0aQogICAgICAgICBjb25zdCBvbmVSZXZpc2lvblNldCA9IHtbd2Via2l0SWRdOiB7cmV2aXNp
b246ICcxOTE2MjInfX07CiAgICAgICAgIGNvbnN0IGFub3RoZXJSZXZpc2lvblNldCA9IHtbd2Vi
a2l0SWRdOiB7cmV2aXNpb246ICcxOTE2MjMnfX07CiAKLSAgICAgICAgYXdhaXQgYXNzZXJ0VGhy
b3dzKCdTbGF2ZU5vdEZvdW5kJywgKCkgPT4KKyAgICAgICAgYXdhaXQgYXNzZXJ0VGhyb3dzKCdX
b3JrZXJOb3RGb3VuZCcsICgpID0+CiAgICAgICAgICAgICBQcml2aWxlZ2VkQVBJLnNlbmRSZXF1
ZXN0KCdjcmVhdGUtYW5hbHlzaXMtdGFzaycsIHtuYW1lOiAnY29uZmlybScsIHJlcGV0aXRpb25D
b3VudDogMSwKICAgICAgICAgICAgICAgICByZXZpc2lvblNldHM6IFtvbmVSZXZpc2lvblNldCwg
YW5vdGhlclJldmlzaW9uU2V0XSwKICAgICAgICAgICAgICAgICBzdGFydFJ1bjogdGVzdFJ1bnNb
MF1bJ2lkJ10sIGVuZFJ1bjogdGVzdFJ1bnNbMV1bJ2lkJ119KSk7CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLWNyZWF0ZS10
ZXN0LWdyb3VwLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0
cy9wcml2aWxlZ2VkLWFwaS1jcmVhdGUtdGVzdC1ncm91cC10ZXN0cy5qcwppbmRleCBjODRmMzQ0
YWZmNmQxYmFjZTBkNGJmMjAxYWIxNGU0MTdlODBhMGQ3Li42N2Q4NGFkYWY1OTZhMTcwYmRkZmVh
ZjIyNDIwZjJjMjUwNWUxM2Q2IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
c2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLWNyZWF0ZS10ZXN0LWdyb3VwLXRlc3RzLmpzCisr
KyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGkt
Y3JlYXRlLXRlc3QtZ3JvdXAtdGVzdHMuanMKQEAgLTUsNyArNSw3IEBAIGNvbnN0IGFzc2VydCA9
IHJlcXVpcmUoJ2Fzc2VydCcpOwogY29uc3QgTW9ja0RhdGEgPSByZXF1aXJlKCcuL3Jlc291cmNl
cy9tb2NrLWRhdGEuanMnKTsKIGNvbnN0IFRlc3RTZXJ2ZXIgPSByZXF1aXJlKCcuL3Jlc291cmNl
cy90ZXN0LXNlcnZlci5qcycpOwogY29uc3QgVGVtcG9yYXJ5RmlsZSA9IHJlcXVpcmUoJy4vcmVz
b3VyY2VzL3RlbXBvcmFyeS1maWxlLmpzJykuVGVtcG9yYXJ5RmlsZTsKLWNvbnN0IGFkZFNsYXZl
Rm9yUmVwb3J0ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMnKS5h
ZGRTbGF2ZUZvclJlcG9ydDsKK2NvbnN0IGFkZFdvcmtlckZvclJlcG9ydCA9IHJlcXVpcmUoJy4v
cmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJykuYWRkV29ya2VyRm9yUmVwb3J0OwogY29u
c3QgcHJlcGFyZVNlcnZlclRlc3QgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0
aW9ucy5qcycpLnByZXBhcmVTZXJ2ZXJUZXN0OwogCiBmdW5jdGlvbiBjcmVhdGVBbmFseXNpc1Rh
c2sobmFtZSwgd2Via2l0UmV2aXNpb25zID0gWyIxOTE2MjIiLCAiMTkxNjIzIl0pCkBAIC0yMyw4
ICsyMyw4IEBAIGZ1bmN0aW9uIGNyZWF0ZUFuYWx5c2lzVGFzayhuYW1lLCB3ZWJraXRSZXZpc2lv
bnMgPSBbIjE5MTYyMiIsICIxOTE2MjMiXSkKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKICAg
ICAgICAgImJ1aWxkZXJOYW1lIjogInNvbWVCdWlsZGVyIiwKLSAgICAgICAgInNsYXZlTmFtZSI6
ICJzb21lU2xhdmUiLAotICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAor
ICAgICAgICAid29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKKyAgICAgICAgIndvcmtlclBhc3N3
b3JkIjogInNvbWVQYXNzd29yZCIsCiAgICAgICAgICJwbGF0Zm9ybSI6ICJzb21lIHBsYXRmb3Jt
IiwKICAgICAgICAgInRlc3RzIjogewogICAgICAgICAgICAgInNvbWUgdGVzdCI6IHsKQEAgLTUy
LDggKzUyLDggQEAgZnVuY3Rpb24gY3JlYXRlQW5hbHlzaXNUYXNrKG5hbWUsIHdlYmtpdFJldmlz
aW9ucyA9IFsiMTkxNjIyIiwgIjE5MTYyMyJdKQogICAgICAgICAgICAgfQogICAgICAgICB9LAog
ICAgICAgICAiYnVpbGRlck5hbWUiOiAic29tZUJ1aWxkZXIiLAotICAgICAgICAic2xhdmVOYW1l
IjogInNvbWVTbGF2ZSIsCi0gICAgICAgICJzbGF2ZVBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIs
CisgICAgICAgICJ3b3JrZXJOYW1lIjogInNvbWVXb3JrZXIiLAorICAgICAgICAid29ya2VyUGFz
c3dvcmQiOiAic29tZVBhc3N3b3JkIiwKICAgICAgICAgInBsYXRmb3JtIjogInNvbWUgcGxhdGZv
cm0iLAogICAgICAgICAidGVzdHMiOiB7CiAgICAgICAgICAgICAic29tZSB0ZXN0IjogewpAQCAt
NzAsNyArNzAsNyBAQCBmdW5jdGlvbiBjcmVhdGVBbmFseXNpc1Rhc2sobmFtZSwgd2Via2l0UmV2
aXNpb25zID0gWyIxOTE2MjIiLCAiMTkxNjIzIl0pCiAKICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2
ZXIuZGF0YWJhc2UoKTsKICAgICBjb25zdCByZW1vdGUgPSBUZXN0U2VydmVyLnJlbW90ZUFQSSgp
OwotICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChyZXBvcnRXaXRoUmV2aXNpb25bMF0pLnRo
ZW4oKCkgPT4geworICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQocmVwb3J0V2l0aFJldmlz
aW9uWzBdKS50aGVuKCgpID0+IHsKICAgICAgICAgcmV0dXJuIHJlbW90ZS5wb3N0SlNPTignL2Fw
aS9yZXBvcnQvJywgcmVwb3J0V2l0aFJldmlzaW9uKTsKICAgICB9KS50aGVuKCgpID0+IHsKICAg
ICAgICAgcmV0dXJuIHJlbW90ZS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgYW5vdGhlclJlcG9y
dFdpdGhSZXZpc2lvbik7CkBAIC05NSw4ICs5NSw4IEBAIGZ1bmN0aW9uIGNyZWF0ZUFuYWx5c2lz
VGFzayhuYW1lLCB3ZWJraXRSZXZpc2lvbnMgPSBbIjE5MTYyMiIsICIxOTE2MjMiXSkKIGZ1bmN0
aW9uIGFkZFRyaWdnZXJhYmxlQW5kQ3JlYXRlVGFzayhuYW1lLCB3ZWJraXRSZXZpc2lvbnMpCiB7
CiAgICAgY29uc3QgcmVwb3J0ID0gewotICAgICAgICAnc2xhdmVOYW1lJzogJ2Fub3RoZXJTbGF2
ZScsCi0gICAgICAgICdzbGF2ZVBhc3N3b3JkJzogJ2Fub3RoZXJQYXNzd29yZCcsCisgICAgICAg
ICd3b3JrZXJOYW1lJzogJ2Fub3RoZXJXb3JrZXInLAorICAgICAgICAnd29ya2VyUGFzc3dvcmQn
OiAnYW5vdGhlclBhc3N3b3JkJywKICAgICAgICAgJ3RyaWdnZXJhYmxlJzogJ2J1aWxkLXdlYmtp
dCcsCiAgICAgICAgICdjb25maWd1cmF0aW9ucyc6IFsKICAgICAgICAgICAgIHt0ZXN0OiBNb2Nr
RGF0YS5zb21lVGVzdElkKCksIHBsYXRmb3JtOiBNb2NrRGF0YS5zb21lUGxhdGZvcm1JZCgpfSwK
QEAgLTEyMSw3ICsxMjEsNyBAQCBmdW5jdGlvbiBhZGRUcmlnZ2VyYWJsZUFuZENyZWF0ZVRhc2so
bmFtZSwgd2Via2l0UmV2aXNpb25zKQogICAgICAgICBdCiAgICAgfTsKICAgICByZXR1cm4gTW9j
a0RhdGEuYWRkTW9ja0RhdGEoVGVzdFNlcnZlci5kYXRhYmFzZSgpKS50aGVuKCgpID0+IHsKLSAg
ICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KHJlcG9ydCk7CisgICAgICAgIHJldHVybiBh
ZGRXb3JrZXJGb3JSZXBvcnQocmVwb3J0KTsKICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAg
cmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvdXBkYXRlLXRyaWdn
ZXJhYmxlLycsIHJlcG9ydCk7CiAgICAgfSkudGhlbigoKSA9PiB7CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLXVwZGF0ZS10
ZXN0LWdyb3VwLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0
cy9wcml2aWxlZ2VkLWFwaS11cGRhdGUtdGVzdC1ncm91cC10ZXN0cy5qcwppbmRleCAyMmZkMGZl
YzZlMzRiMThiYzIxYTlkYmRhNWI5YTE1YzE0NmE4NTkwLi40NTA2YzNiMjdmMDVmMjMyYWI0MGM1
ZTZhYzc0ZTdhZDVmNDJkNTk4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
c2VydmVyLXRlc3RzL3ByaXZpbGVnZWQtYXBpLXVwZGF0ZS10ZXN0LWdyb3VwLXRlc3RzLmpzCisr
KyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcHJpdmlsZWdlZC1hcGkt
dXBkYXRlLXRlc3QtZ3JvdXAtdGVzdHMuanMKQEAgLTQsNyArNCw3IEBAIGNvbnN0IGFzc2VydCA9
IHJlcXVpcmUoJ2Fzc2VydCcpOwogCiBjb25zdCBNb2NrRGF0YSA9IHJlcXVpcmUoJy4vcmVzb3Vy
Y2VzL21vY2stZGF0YS5qcycpOwogY29uc3QgVGVzdFNlcnZlciA9IHJlcXVpcmUoJy4vcmVzb3Vy
Y2VzL3Rlc3Qtc2VydmVyLmpzJyk7Ci1jb25zdCBhZGRTbGF2ZUZvclJlcG9ydCA9IHJlcXVpcmUo
Jy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJykuYWRkU2xhdmVGb3JSZXBvcnQ7Citj
b25zdCBhZGRXb3JrZXJGb3JSZXBvcnQgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3Bl
cmF0aW9ucy5qcycpLmFkZFdvcmtlckZvclJlcG9ydDsKIGNvbnN0IHByZXBhcmVTZXJ2ZXJUZXN0
ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMnKS5wcmVwYXJlU2Vy
dmVyVGVzdDsKIGNvbnN0IGFzc2VydFRocm93cyA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1v
bi1vcGVyYXRpb25zLmpzJykuYXNzZXJ0VGhyb3dzOwogCkBAIC0yMyw4ICsyMyw4IEBAIGFzeW5j
IGZ1bmN0aW9uIGNyZWF0ZUFuYWx5c2lzVGFzayhuYW1lLCB3ZWJraXRSZXZpc2lvbnMgPSBbIjE5
MTYyMiIsICIxOTE2MjMiXSkKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKICAgICAgICAgImJ1
aWxkZXJOYW1lIjogInNvbWVCdWlsZGVyIiwKLSAgICAgICAgInNsYXZlTmFtZSI6ICJzb21lU2xh
dmUiLAotICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAorICAgICAgICAi
d29ya2VyTmFtZSI6ICJzb21lV29ya2VyIiwKKyAgICAgICAgIndvcmtlclBhc3N3b3JkIjogInNv
bWVQYXNzd29yZCIsCiAgICAgICAgICJwbGF0Zm9ybSI6ICJzb21lIHBsYXRmb3JtIiwKICAgICAg
ICAgInRlc3RzIjogewogICAgICAgICAgICAgInNvbWUgdGVzdCI6IHsKQEAgLTUyLDggKzUyLDgg
QEAgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQW5hbHlzaXNUYXNrKG5hbWUsIHdlYmtpdFJldmlzaW9u
cyA9IFsiMTkxNjIyIiwgIjE5MTYyMyJdKQogICAgICAgICAgICAgfQogICAgICAgICB9LAogICAg
ICAgICAiYnVpbGRlck5hbWUiOiAic29tZUJ1aWxkZXIiLAotICAgICAgICAic2xhdmVOYW1lIjog
InNvbWVTbGF2ZSIsCi0gICAgICAgICJzbGF2ZVBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCisg
ICAgICAgICJ3b3JrZXJOYW1lIjogInNvbWVXb3JrZXIiLAorICAgICAgICAid29ya2VyUGFzc3dv
cmQiOiAic29tZVBhc3N3b3JkIiwKICAgICAgICAgInBsYXRmb3JtIjogInNvbWUgcGxhdGZvcm0i
LAogICAgICAgICAidGVzdHMiOiB7CiAgICAgICAgICAgICAic29tZSB0ZXN0IjogewpAQCAtNzAs
NyArNzAsNyBAQCBhc3luYyBmdW5jdGlvbiBjcmVhdGVBbmFseXNpc1Rhc2sobmFtZSwgd2Via2l0
UmV2aXNpb25zID0gWyIxOTE2MjIiLCAiMTkxNjIzIl0pCiAKICAgICBjb25zdCBkYiA9IFRlc3RT
ZXJ2ZXIuZGF0YWJhc2UoKTsKICAgICBjb25zdCByZW1vdGUgPSBUZXN0U2VydmVyLnJlbW90ZUFQ
SSgpOwotICAgIGF3YWl0IGFkZFNsYXZlRm9yUmVwb3J0KHJlcG9ydFdpdGhSZXZpc2lvblswXSk7
CisgICAgYXdhaXQgYWRkV29ya2VyRm9yUmVwb3J0KHJlcG9ydFdpdGhSZXZpc2lvblswXSk7CiAg
ICAgYXdhaXQgcmVtb3RlLnBvc3RKU09OKCcvYXBpL3JlcG9ydC8nLCByZXBvcnRXaXRoUmV2aXNp
b24pOwogICAgIGF3YWl0IHJlbW90ZS5wb3N0SlNPTignL2FwaS9yZXBvcnQvJywgYW5vdGhlclJl
cG9ydFdpdGhSZXZpc2lvbik7CiAgICAgYXdhaXQgTWFuaWZlc3QuZmV0Y2goKTsKQEAgLTkyLDgg
KzkyLDggQEAgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQW5hbHlzaXNUYXNrKG5hbWUsIHdlYmtpdFJl
dmlzaW9ucyA9IFsiMTkxNjIyIiwgIjE5MTYyMyJdKQogYXN5bmMgZnVuY3Rpb24gYWRkVHJpZ2dl
cmFibGVBbmRDcmVhdGVUYXNrKG5hbWUsIHdlYmtpdFJldmlzaW9ucykKIHsKICAgICBjb25zdCBy
ZXBvcnQgPSB7Ci0gICAgICAgICdzbGF2ZU5hbWUnOiAnYW5vdGhlclNsYXZlJywKLSAgICAgICAg
J3NsYXZlUGFzc3dvcmQnOiAnYW5vdGhlclBhc3N3b3JkJywKKyAgICAgICAgJ3dvcmtlck5hbWUn
OiAnYW5vdGhlcldvcmtlcicsCisgICAgICAgICd3b3JrZXJQYXNzd29yZCc6ICdhbm90aGVyUGFz
c3dvcmQnLAogICAgICAgICAndHJpZ2dlcmFibGUnOiAnYnVpbGQtd2Via2l0JywKICAgICAgICAg
J2NvbmZpZ3VyYXRpb25zJzogWwogICAgICAgICAgICAge3Rlc3Q6IE1vY2tEYXRhLnNvbWVUZXN0
SWQoKSwgcGxhdGZvcm06IE1vY2tEYXRhLnNvbWVQbGF0Zm9ybUlkKCl9LApAQCAtMTE4LDcgKzEx
OCw3IEBAIGFzeW5jIGZ1bmN0aW9uIGFkZFRyaWdnZXJhYmxlQW5kQ3JlYXRlVGFzayhuYW1lLCB3
ZWJraXRSZXZpc2lvbnMpCiAgICAgICAgIF0KICAgICB9OwogICAgIGF3YWl0IE1vY2tEYXRhLmFk
ZE1vY2tEYXRhKFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSk7Ci0gICAgYXdhaXQgYWRkU2xhdmVGb3JS
ZXBvcnQocmVwb3J0KTsKKyAgICBhd2FpdCBhZGRXb3JrZXJGb3JSZXBvcnQocmVwb3J0KTsKICAg
ICBhd2FpdCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3VwZGF0ZS10cmln
Z2VyYWJsZS8nLCByZXBvcnQpOwogICAgIGF3YWl0IGNyZWF0ZUFuYWx5c2lzVGFzayhuYW1lLCB3
ZWJraXRSZXZpc2lvbnMpOwogfQpAQCAtMTI5LDExICsxMjksMTEgQEAgZGVzY3JpYmUoJy9wcml2
aWxlZ2VkLWFwaS91cGRhdGUtdGVzdC1ncm91cCcsIGZ1bmN0aW9uKCl7CiAgICAgICAgIFByaXZp
bGVnZWRBUEkuY29uZmlndXJlKCd0ZXN0JywgJ3Bhc3N3b3JkJyk7CiAgICAgfSk7CiAKLSAgICBp
dCgnc2hvdWxkIHJldHVybiAiU2xhdmVOb3RGb3VuZCIgaWYgaW52YWxpZCBzbGF2ZSBuYW1lIGFu
ZCBwYXNzd29yZCBjb21iaW5hdGlvbiBpcyBwcm92aWRlZCcsIGFzeW5jICgpID0+IHsKKyAgICBp
dCgnc2hvdWxkIHJldHVybiAiV29ya2VyTm90Rm91bmQiIGlmIGludmFsaWQgd29ya2VyIG5hbWUg
YW5kIHBhc3N3b3JkIGNvbWJpbmF0aW9uIGlzIHByb3ZpZGVkJywgYXN5bmMgKCkgPT4gewogICAg
ICAgICBhd2FpdCBhZGRUcmlnZ2VyYWJsZUFuZENyZWF0ZVRhc2soJ3NvbWUgdGFzaycpOwogICAg
ICAgICBQcml2aWxlZ2VkQVBJLmNvbmZpZ3VyZSgndGVzdCcsICd3cm9uZ3Bhc3N3b3JkJyk7CiAK
LSAgICAgICAgYXdhaXQgYXNzZXJ0VGhyb3dzKCdTbGF2ZU5vdEZvdW5kJywgKCkgPT4gUHJpdmls
ZWdlZEFQSS5zZW5kUmVxdWVzdCgndXBkYXRlLXRlc3QtZ3JvdXAnLCB7fSkpOworICAgICAgICBh
d2FpdCBhc3NlcnRUaHJvd3MoJ1dvcmtlck5vdEZvdW5kJywgKCkgPT4gUHJpdmlsZWdlZEFQSS5z
ZW5kUmVxdWVzdCgndXBkYXRlLXRlc3QtZ3JvdXAnLCB7fSkpOwogICAgIH0pOwogCiAgICAgaXQo
J3Nob3VsZCByZXR1cm4gIlRlc3RHcm91cE5vdFNwZWNpZmllZCIgaWYgdGVzdCBncm91cCBpcyBu
b3Qgc3BlY2lmaWVkJywgYXN5bmMgKCkgPT4gewpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMgYi9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9jb21tb24tb3Bl
cmF0aW9ucy5qcwppbmRleCAxOWI5YzExZmYwY2YzYzRhZjNjOTI0M2E5MDMxOTQyOTYzZjM3NDUz
Li5lY2ZlYzhkMTZlOTM0ZDU3ZDMyNzE4ODhlYzU2M2IzNDQ2ZWFiNGJhIDEwMDY0NAotLS0gYS9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9jb21tb24tb3Bl
cmF0aW9ucy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jl
c291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcwpAQCAtOSwxMSArOSwxMSBAQCBmdW5jdGlvbiBh
ZGRCdWlsZGVyRm9yUmVwb3J0KHJlcG9ydCkKICAgICB9KTsKIH0KIAotZnVuY3Rpb24gYWRkU2xh
dmVGb3JSZXBvcnQocmVwb3J0KQorZnVuY3Rpb24gYWRkV29ya2VyRm9yUmVwb3J0KHJlcG9ydCkK
IHsKLSAgICByZXR1cm4gVGVzdFNlcnZlci5kYXRhYmFzZSgpLmluc2VydCgnYnVpbGRfc2xhdmVz
JywgewotICAgICAgICBuYW1lOiByZXBvcnQuc2xhdmVOYW1lLAotICAgICAgICBwYXNzd29yZF9o
YXNoOiBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHJlcG9ydC5zbGF2ZVBhc3N3
b3JkKS5kaWdlc3QoJ2hleCcpCisgICAgcmV0dXJuIFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKS5pbnNl
cnQoJ2J1aWxkX3dvcmtlcnMnLCB7CisgICAgICAgIG5hbWU6IHJlcG9ydC53b3JrZXJOYW1lLAor
ICAgICAgICBwYXNzd29yZF9oYXNoOiBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRl
KHJlcG9ydC53b3JrZXJQYXNzd29yZCkuZGlnZXN0KCdoZXgnKQogICAgIH0pOwogfQogCkBAIC0y
OSw5ICsyOSw5IEBAIGZ1bmN0aW9uIHByZXBhcmVTZXJ2ZXJUZXN0KHRlc3QsIHByaXZpbGVnZWRB
UElUeXBlPSdicm93c2VyJykKICAgICAgICAgYXdhaXQgZGF0YWJhc2UuY29ubmVjdCh7a2VlcEFs
aXZlOiB0cnVlfSk7CiAgICAgICAgIGlmIChwcml2aWxlZ2VkQVBJVHlwZSA9PT0gJ2Jyb3dzZXIn
KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjb25zdCBlbnRyeSA9IGF3YWl0IFRlc3RT
ZXJ2ZXIuZGF0YWJhc2UoKS5zZWxlY3RGaXJzdFJvdygnYnVpbGRfc2xhdmVzJywge25hbWU6ICd0
ZXN0J30pOworICAgICAgICBjb25zdCBlbnRyeSA9IGF3YWl0IFRlc3RTZXJ2ZXIuZGF0YWJhc2Uo
KS5zZWxlY3RGaXJzdFJvdygnYnVpbGRfd29ya2VycycsIHtuYW1lOiAndGVzdCd9KTsKICAgICAg
ICAgaWYgKCFlbnRyeSkKLSAgICAgICAgICAgIGF3YWl0IGFkZFNsYXZlRm9yUmVwb3J0KHtzbGF2
ZU5hbWU6ICd0ZXN0Jywgc2xhdmVQYXNzd29yZDogJ3Bhc3N3b3JkJ30pOworICAgICAgICAgICAg
YXdhaXQgYWRkV29ya2VyRm9yUmVwb3J0KHt3b3JrZXJOYW1lOiAndGVzdCcsIHdvcmtlclBhc3N3
b3JkOiAncGFzc3dvcmQnfSk7CiAgICAgfSk7CiAKICAgICBhZnRlckVhY2goZnVuY3Rpb24gKCkg
ewpAQCAtNjMsNyArNjMsNyBAQCBhc3luYyBmdW5jdGlvbiBhc3NlcnRUaHJvd3MoZXhwZWN0ZWRF
cnJvciwgdGVzdEZ1bmN0aW9uKQogCiBpZiAodHlwZW9mIG1vZHVsZSAhPSAndW5kZWZpbmVkJykg
ewogICAgIG1vZHVsZS5leHBvcnRzLmFkZEJ1aWxkZXJGb3JSZXBvcnQgPSBhZGRCdWlsZGVyRm9y
UmVwb3J0OwotICAgIG1vZHVsZS5leHBvcnRzLmFkZFNsYXZlRm9yUmVwb3J0ID0gYWRkU2xhdmVG
b3JSZXBvcnQ7CisgICAgbW9kdWxlLmV4cG9ydHMuYWRkV29ya2VyRm9yUmVwb3J0ID0gYWRkV29y
a2VyRm9yUmVwb3J0OwogICAgIG1vZHVsZS5leHBvcnRzLnByZXBhcmVTZXJ2ZXJUZXN0ID0gcHJl
cGFyZVNlcnZlclRlc3Q7CiAgICAgbW9kdWxlLmV4cG9ydHMuc3VibWl0UmVwb3J0ID0gc3VibWl0
UmVwb3J0OwogICAgIG1vZHVsZS5leHBvcnRzLmFzc2VydFRocm93cyA9IGFzc2VydFRocm93czsK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3Vy
Y2VzL21vY2stZGF0YS5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMv
cmVzb3VyY2VzL21vY2stZGF0YS5qcwppbmRleCA5YjAyMDBiYmI4ZTJiMDkwZTc1ZTdmOTc5MjJj
N2JhNjY1MTE1ODI1Li5iZmI0NWUzOWJkNTI4NTUwMzkzZDUzOGVmNWE3ZWVmOWFiZjNkNGJhIDEw
MDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNl
cy9tb2NrLWRhdGEuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0
cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzCkBAIC0zNCw3ICszNCw3IEBAIE1vY2tEYXRhID0gewog
ICAgIHsKICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgICAgICAgIGRiLmluc2Vy
dCgnYnVpbGRfdHJpZ2dlcmFibGVzJywge2lkOiAxMDAwLCBuYW1lOiAnYnVpbGQtd2Via2l0J30p
LAotICAgICAgICAgICAgZGIuaW5zZXJ0KCdidWlsZF9zbGF2ZXMnLCB7aWQ6IDIwLCBuYW1lOiAn
c3luYy1zbGF2ZScsIHBhc3N3b3JkX2hhc2g6IGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51
cGRhdGUoJ3Bhc3N3b3JkJykuZGlnZXN0KCdoZXgnKX0pLAorICAgICAgICAgICAgZGIuaW5zZXJ0
KCdidWlsZF93b3JrZXJzJywge2lkOiAyMCwgbmFtZTogJ3N5bmMtd29ya2VyJywgcGFzc3dvcmRf
aGFzaDogY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZSgncGFzc3dvcmQnKS5kaWdl
c3QoJ2hleCcpfSksCiAgICAgICAgICAgICBkYi5pbnNlcnQoJ3JlcG9zaXRvcmllcycsIHtpZDog
dGhpcy5tYWNvc1JlcG9zaXRvcnlJZCgpLCBuYW1lOiAnbWFjT1MnfSksCiAgICAgICAgICAgICBk
Yi5pbnNlcnQoJ3JlcG9zaXRvcmllcycsIHtpZDogdGhpcy53ZWJraXRSZXBvc2l0b3J5SWQoKSwg
bmFtZTogJ1dlYktpdCd9KSwKICAgICAgICAgICAgIGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywg
e2lkOiB0aGlzLnNoYXJlZFJlcG9zaXRvcnlJZCgpLCBuYW1lOiAnU2hhcmVkJ30pLApAQCAtNDU1
LDcgKzQ1NSw3IEBAIE1vY2tEYXRhID0gewogICAgICAgICAgICAgICAgICJzY2hlZHVsZXIiOiBb
IkFCVGVzdC1pUGFkLVJ1bkJlbmNobWFyay1UZXN0cy1Gb3JjZVNjaGVkdWxlciIsICJTY2hlZHVs
ZXIiXSwKICAgICAgICAgICAgICAgICAid2siOiBbb3B0aW9ucy53ZWJraXRSZXZpc2lvbiB8fCAn
MTkxNjIyJywgIlVua25vd24iXSwKICAgICAgICAgICAgICAgICAib3MiOiBbb3B0aW9ucy5vc3hS
ZXZpc2lvbiB8fCAnMTAuMTEgMTVBMjg0JywgIlVua25vd24iXSwKLSAgICAgICAgICAgICAgICAi
c2xhdmVuYW1lIjogW29wdGlvbnMud29ya2VyTmFtZSB8fCAiYm90MjAyIiwgIldvcmtlciAoZGVw
cmVjYXRlZCkiXSwKKyAgICAgICAgICAgICAgICAid29ya2VybmFtZSI6IFtvcHRpb25zLndvcmtl
ck5hbWUgfHwgImJvdDIwMiIsICJXb3JrZXIgKGRlcHJlY2F0ZWQpIl0sCiAgICAgICAgICAgICAg
ICAgIndvcmtlcm5hbWUiOiBbb3B0aW9ucy53b3JrZXJOYW1lIHx8ICJib3QyMDIiLCAiV29ya2Vy
Il0KICAgICAgICAgICAgIH0KICAgICAgICAgfTsKQEAgLTQ5MCw3ICs0OTAsNyBAQCBNb2NrRGF0
YSA9IHsKICAgICAgICAgICAgICAgICAicHJvamVjdCI6IFsnJywgIlVua25vd24iXSwKICAgICAg
ICAgICAgICAgICAicmVwb3NpdG9yeSI6IFsnJywgIlVua25vd24iXSwKICAgICAgICAgICAgICAg
ICAicmV2aXNpb24iOiBbJycsICJVbmtub3duIl0sCi0gICAgICAgICAgICAgICAgInNsYXZlbmFt
ZSI6IFtvcHRpb25zLndvcmtlck5hbWUgfHwgImJvdDIwMiIsICJXb3JrZXIgKGRlcHJlY2F0ZWQp
Il0sCisgICAgICAgICAgICAgICAgIndvcmtlcm5hbWUiOiBbb3B0aW9ucy53b3JrZXJOYW1lIHx8
ICJib3QyMDIiLCAiV29ya2VyIChkZXByZWNhdGVkKSJdLAogICAgICAgICAgICAgICAgICJ3b3Jr
ZXJuYW1lIjogW29wdGlvbnMud29ya2VyTmFtZSB8fCAiYm90MjAyIiwgIldvcmtlciJdCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH07ICAgCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy90ZXN0LXNlcnZlci5qcyBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL3Rlc3Qtc2VydmVyLmpzCmluZGV4
IGY0MDA3MzkzZTRmYWNmMzFhYzVlODYyNDkzMjYyMjkxZDZhMjg1ZjkuLjFmZTdjNjk3NTYyMjJl
MGY4MTU0ZGE3MDk5YzcyNjExNzAxZWM0MTQgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL3Rlc3Qtc2VydmVyLmpzCisrKyBiL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL3Rlc3Qtc2VydmVyLmpz
CkBAIC04Miw3ICs4Miw3IEBAIGNsYXNzIFRlc3RTZXJ2ZXIgewogICAgICAgICAgICAgJ3VwbG9h
ZFVzZXJRdW90YUluTUInOiA1LAogICAgICAgICAgICAgJ3VwbG9hZFRvdGFsUXVvdGFJbk1CJzog
NywKICAgICAgICAgICAgICd1cGxvYWREaXJlY3RvcnknOiBDb25maWcudmFsdWUoJ2RhdGFEaXJl
Y3RvcnknKSArICcvdXBsb2FkZWQnLAotICAgICAgICAgICAgJ3VuaXZlcnNhbFNsYXZlUGFzc3dv
cmQnOiBudWxsLAorICAgICAgICAgICAgJ3VuaXZlcnNhbFdvcmtlclBhc3N3b3JkJzogbnVsbCwK
ICAgICAgICAgICAgICdtYWludGVuYW5jZU1vZGUnOiBmYWxzZSwKICAgICAgICAgICAgICdjbHVz
dGVyU3RhcnQnOiBbMjAwMCwgMSwgMSwgMCwgMF0sCiAgICAgICAgICAgICAnY2x1c3RlclNpemUn
OiBbMCwgMiwgMF0sCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVy
LXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0
cy5qcwppbmRleCA0NTBmMGMzYTgzMzZmNTRkZmYyZGZmOGMwMTk2OGQ5MDRlZWVmNjA2Li5iNDg3
MGJiMmIwODZjNDliODI3MTU0ODU2ZTE1ZjZmNjRlMDA3ZDJhIDEwMDY0NAotLS0gYS9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxl
LXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvdG9v
bHMtYnVpbGRib3QtdHJpZ2dlcmFibGUtdGVzdHMuanMKQEAgLTMzLDggKzMzLDggQEAgZGVzY3Jp
YmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICB9KS50
aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSBNb2NrRGF0YS5tb2Nr
VGVzdFN5bmNDb25maWdXaXRoU2luZ2xlQnVpbGRlcigpOwogICAgICAgICAgICAgICAgIGNvbnN0
IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5m
byA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAgICAg
ICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZp
ZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dn
ZXIpOworICAgICAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29y
a2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdn
ZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90
ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAgICAg
ICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRy
aWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2VydFJlcXVlc3RBbmRS
ZXNvbHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2NrRGF0YS5idWlsZGJv
dEJ1aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJzKCkpOwogICAgICAg
ICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKQEAgLTkwLDggKzkwLDggQEAgZGVzY3Jp
YmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICB9KS50
aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBsZXQgY29uZmlnID0gTW9ja0RhdGEubW9ja1Rl
c3RTeW5jQ29uZmlnV2l0aFNpbmdsZUJ1aWxkZXIoKTsKICAgICAgICAgICAgICAgICBsZXQgbG9n
Z2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICAgICAgbGV0IHNsYXZlSW5mbyA9IHtu
YW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAgICAgICAgICAg
ICBsZXQgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKKyAg
ICAgICAgICAgICAgICBsZXQgd29ya2VySW5mbyA9IHtuYW1lOiAnc3luYy13b3JrZXInLCBwYXNz
d29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAgICAgICAgICAgbGV0IHRyaWdnZXJhYmxlID0gbmV3
IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2Nr
UmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAgICAgICAgIHN5bmNQcm9t
aXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5
bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2VydFJlcXVlc3RBbmRSZXNvbHZlKE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2NrRGF0YS5idWlsZGJvdEJ1aWxkZXJzVVJM
KCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJzKCkpOwogICAgICAgICAgICAgICAgIE1v
Y2tSZW1vdGVBUEkucmVzZXQoKTsKQEAgLTE0MCw4ICsxNDAsOCBAQCBkZXNjcmliZSgnQnVpbGRi
b3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4g
ewogICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRhLm1vY2tUZXN0U3luY0Nv
bmZpZ1dpdGhUd29CdWlsZGVycygpOwogICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5l
dyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAn
c3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAgICAgICAgICAgICBjb25z
dCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZl
ci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOworICAgICAg
ICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29ya2VyJywgcGFzc3dv
cmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3
IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2Nr
UmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAgICAgICAgIHN5bmNQcm9t
aXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5
bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2VydFJlcXVlc3RBbmRSZXNvbHZlKE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2NrRGF0YS5idWlsZGJvdEJ1aWxkZXJzVVJM
KCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJzKCkpOwogICAgICAgICAgICAgICAgIE1v
Y2tSZW1vdGVBUEkucmVzZXQoKTsKQEAgLTIyMSw4ICsyMjEsOCBAQCBkZXNjcmliZSgnQnVpbGRi
b3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKIAogICAgICAgICAgICAgY29uc3QgY29uZmln
ID0gTW9ja0RhdGEubW9ja1Rlc3RTeW5jQ29uZmlnV2l0aFNpbmdsZUJ1aWxkZXIoKTsKICAgICAg
ICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgY29uc3Qg
c2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9Owot
ICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShj
b25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywg
bG9nZ2VyKTsKKyAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29y
a2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFi
bGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJ
KCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAgICB0cmln
Z2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2UoKSk7
CiAgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBNb2NrRGF0YS5t
b2NrQnVpbGRib3RCdWlsZGVycygpKTsKICAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQo
KTsKQEAgLTI2Miw4ICsyNjIsOCBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1
bmN0aW9uICgpIHsKIAogICAgICAgICAgICAgY29uc3QgY29uZmlnID0gTW9ja0RhdGEubW9ja1Rl
c3RTeW5jQ29uZmlnV2l0aFR3b0J1aWxkZXJzKCk7CiAgICAgICAgICAgICBjb25zdCBsb2dnZXIg
PSBuZXcgTW9ja0xvZ2dlcjsKLSAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAn
c3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAgICAgICAgIGNvbnN0IHRy
aWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJl
bW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7CisgICAgICAgICAg
ICBjb25zdCB3b3JrZXJJbmZvID0ge25hbWU6ICdzeW5jLXdvcmtlcicsIHBhc3N3b3JkOiAncGFz
c3dvcmQnfTsKKyAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJp
Z2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB3
b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAgICAgY29uc3Qgc3luY09uY2UgPSB0cmlnZ2Vy
YWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAg
ICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
WzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBNb2NrRGF0YS5tb2Nr
QnVpbGRib3RCdWlsZGVycygpKTsKICAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsK
QEAgLTM0Miw4ICszNDIsOCBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0
aW9uICgpIHsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGxl
dCBjb25maWcgPSBNb2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoVHdvQnVpbGRlcnMoKTsK
ICAgICAgICAgICAgICAgICBsZXQgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAg
ICAgICAgbGV0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFz
c3dvcmQnfTsKLSAgICAgICAgICAgICAgICBsZXQgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RU
cmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEks
IHNsYXZlSW5mbywgbG9nZ2VyKTsKKyAgICAgICAgICAgICAgICBsZXQgd29ya2VySW5mbyA9IHtu
YW1lOiAnc3luYy13b3JrZXInLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAgICAgICAg
ICAgbGV0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwog
ICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50
aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2Vy
dFJlcXVlc3RBbmRSZXNvbHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2Nr
RGF0YS5idWlsZGJvdEJ1aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJz
KCkpOwogICAgICAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKQEAgLTQxNiw4ICs0
MTYsOCBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9
IE1vY2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhUd29CdWlsZGVycygpOwogICAgICAgICAg
ICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgICAgIGNv
bnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQn
fTsKLSAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdn
ZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xh
dmVJbmZvLCBsb2dnZXIpOworICAgICAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFt
ZTogJ3N5bmMtd29ya2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgICAg
IGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwog
ICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50
aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2Vy
dFJlcXVlc3RBbmRSZXNvbHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2Nr
RGF0YS5idWlsZGJvdEJ1aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJz
KCkpOwogICAgICAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKQEAgLTQ5OCw4ICs0
OTgsOCBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGxldCBjb25maWcgPSBN
b2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoU2luZ2xlQnVpbGRlcigpOwogICAgICAgICAg
ICAgICAgIGxldCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKLSAgICAgICAgICAgICAgICBsZXQg
c2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9Owot
ICAgICAgICAgICAgICAgIGxldCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxl
KGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZv
LCBsb2dnZXIpOworICAgICAgICAgICAgICAgIGxldCB3b3JrZXJJbmZvID0ge25hbWU6ICdzeW5j
LXdvcmtlcicsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKKyAgICAgICAgICAgICAgICBsZXQgdHJp
Z2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVt
b3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAg
ICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4g
dHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEFu
ZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRhLmJ1aWxk
Ym90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7CiAgICAg
ICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOwpAQCAtNTYzLDggKzU2Myw4IEBAIGRl
c2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
fSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgY29uc3QgY29uZmlnID0gTW9ja0RhdGEu
bW9ja1Rlc3RTeW5jQ29uZmlnV2l0aFR3b0J1aWxkZXJzKCk7CiAgICAgICAgICAgICAgICAgY29u
c3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICAgICAgY29uc3Qgc2xhdmVJ
bmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwotICAgICAg
ICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29u
ZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxv
Z2dlcik7CisgICAgICAgICAgICAgICAgY29uc3Qgd29ya2VySW5mbyA9IHtuYW1lOiAnc3luYy13
b3JrZXInLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAgICAgICAgICAgY29uc3QgdHJp
Z2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVt
b3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAg
ICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4g
dHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEFu
ZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRhLmJ1aWxk
Ym90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7CiAgICAg
ICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOwpAQCAtNjY0LDggKzY2NCw4IEBAIGRl
c2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
fSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgY29uc3QgY29uZmlnID0gTW9ja0RhdGEu
bW9ja1Rlc3RTeW5jQ29uZmlnV2l0aFR3b0J1aWxkZXJzKCk7CiAgICAgICAgICAgICAgICAgY29u
c3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICAgICAgY29uc3Qgc2xhdmVJ
bmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwotICAgICAg
ICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29u
ZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxv
Z2dlcik7CisgICAgICAgICAgICAgICAgY29uc3Qgd29ya2VySW5mbyA9IHtuYW1lOiAnc3luYy13
b3JrZXInLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAgICAgICAgICAgY29uc3QgdHJp
Z2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVt
b3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAg
ICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4g
dHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEFu
ZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRhLmJ1aWxk
Ym90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7CiAgICAg
ICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOwpAQCAtNzY5LDggKzc2OSw4IEBAIGRl
c2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
XSkudGhlbigoKSA9PiBNYW5pZmVzdC5mZXRjaCgpKS50aGVuKCgpID0+IHsKICAgICAgICAgICAg
ICAgICBjb25zdCBjb25maWcgPSBNb2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoU2luZ2xl
QnVpbGRlcigpOwogICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2Vy
OwotICAgICAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScs
IHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJs
ZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEko
KSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOworICAgICAgICAgICAgICAgIGNv
bnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29ya2VyJywgcGFzc3dvcmQ6ICdwYXNzd29y
ZCd9OworICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJp
Z2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB3
b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dl
cmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwog
ICAgICAgICAgICAgICAgIGFzc2VydFJlcXVlc3RBbmRSZXNvbHZlKHJlcXVlc3RzWzBdLCAnR0VU
JywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBNb2NrRGF0YS5tb2NrQnVpbGRib3RC
dWlsZGVycygpKTsKICAgICAgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CkBAIC04
NDcsOCArODQ3LDggQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAo
KSB7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBjb25zdCBj
b25maWcgPSBNb2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoU2luZ2xlQnVpbGRlcigpOwog
ICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAg
ICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAn
cGFzc3dvcmQnfTsKLSAgICAgICAgICAgICAgICB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRy
aWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwg
c2xhdmVJbmZvLCBsb2dnZXIpOworICAgICAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7
bmFtZTogJ3N5bmMtd29ya2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAg
ICAgIHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2Vy
dmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwogICAg
ICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVu
KCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2VydFJl
cXVlc3RBbmRSZXNvbHZlKHJlcXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWls
ZGVyc1VSTCgpLCBNb2NrRGF0YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKICAgICAgICAgICAg
ICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CkBAIC05MTEsOCArOTExLDggQEAgZGVzY3JpYmUo
J0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICB9KS50aGVu
KCgpID0+IHsKICAgICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSBNb2NrRGF0YS5tb2NrVGVz
dFN5bmNDb25maWdXaXRoU2luZ2xlQnVpbGRlcigpOwogICAgICAgICAgICAgICAgIGNvbnN0IGxv
Z2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9
IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAgICAgICAg
ICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywg
VGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIp
OworICAgICAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29ya2Vy
JywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJh
YmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQ
SSgpLCBNb2NrUmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAgICAgICAg
IHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdn
ZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2VydFJlcXVlc3RBbmRSZXNv
bHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2NrRGF0YS5idWlsZGJvdEJ1
aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJzKCkpOwogICAgICAgICAg
ICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKQEAgLTk4MSw4ICs5ODEsOCBAQCBkZXNjcmli
ZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIH0pLnRo
ZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRhLm1vY2tU
ZXN0U3luY0NvbmZpZ1dpdGhTaW5nbGVCdWlsZGVyKCk7CiAgICAgICAgICAgICAgICAgY29uc3Qg
bG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZv
ID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwotICAgICAgICAg
ICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmln
LCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dl
cik7CisgICAgICAgICAgICAgICAgY29uc3Qgd29ya2VySW5mbyA9IHtuYW1lOiAnc3luYy13b3Jr
ZXInLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dl
cmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3Rl
QVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAgICAg
ICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJp
Z2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEFuZFJl
c29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRhLmJ1aWxkYm90
QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7CiAgICAgICAg
ICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOwpAQCAtMTAzOCw4ICsxMDM4LDggQEAgZGVz
Y3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICB9
KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSBNb2NrRGF0YS5t
b2NrVGVzdFN5bmNDb25maWdXaXRoU2luZ2xlQnVpbGRlcigpOwogICAgICAgICAgICAgICAgIGNv
bnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgICAgIGNvbnN0IHNsYXZl
SW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAg
ICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNv
bmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBs
b2dnZXIpOworICAgICAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMt
d29ya2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgICAgIGNvbnN0IHRy
aWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJl
bW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB3b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAg
ICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+
IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgICAgIGFzc2VydFJlcXVlc3RB
bmRSZXNvbHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2NrRGF0YS5idWls
ZGJvdEJ1aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJzKCkpOwogICAg
ICAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKQEAgLTEwNzIsOCArMTA3Miw4IEBA
IGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAg
ICAgYXdhaXQgTWFuaWZlc3QuZmV0Y2goKTsKICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1v
Y2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhQYXRjaEFjY2VwdGluZ0J1aWxkZXIoKTsKICAg
ICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgY29u
c3Qgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9
OwotICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJs
ZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5m
bywgbG9nZ2VyKTsKKyAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMt
d29ya2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgY29uc3QgdHJpZ2dl
cmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3Rl
QVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAgICBj
b25zdCBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0
cmlnZ2VyYWJsZS5zeW5jT25jZSgpKTsKICAgICAgICAgICAgIGFzc2VydFJlcXVlc3RBbmRSZXNv
bHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2NrRGF0YS5idWlsZGJvdEJ1
aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJzKCkpOwogICAgICAgICAg
ICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOwpAQCAtMTE1MSw4ICsxMTUxLDggQEAgZGVzY3JpYmUo
J0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhd2FpdCBN
YW5pZmVzdC5mZXRjaCgpOwogICAgICAgICAgICAgY29uc3QgY29uZmlnID0gTW9ja0RhdGEubW9j
a1Rlc3RTeW5jQ29uZmlnV2l0aFBhdGNoQWNjZXB0aW5nQnVpbGRlcigpOwogICAgICAgICAgICAg
Y29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICBjb25zdCBzbGF2ZUlu
Zm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307Ci0gICAgICAg
ICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywg
VGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIp
OworICAgICAgICAgICAgY29uc3Qgd29ya2VySW5mbyA9IHtuYW1lOiAnc3luYy13b3JrZXInLCBw
YXNzd29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5l
dyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9j
a1JlbW90ZUFQSSwgd29ya2VySW5mbywgbG9nZ2VyKTsKICAgICAgICAgICAgIGNvbnN0IHN5bmNQ
cm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxl
LnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEFuZFJlc29sdmUoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRhLmJ1aWxkYm90QnVpbGRlcnNVUkwo
KSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7CiAgICAgICAgICAgICBNb2NrUmVt
b3RlQVBJLnJlc2V0KCk7CkBAIC0xMjM3LDggKzEyMzcsOCBAQCBkZXNjcmliZSgnQnVpbGRib3RU
cmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIGF3YWl0IE1hbmlmZXN0LmZl
dGNoKCk7CiAgICAgICAgICAgICBjb25zdCBjb25maWcgPSBNb2NrRGF0YS5tb2NrVGVzdFN5bmND
b25maWdXaXRoUGF0Y2hBY2NlcHRpbmdCdWlsZGVyKCk7CiAgICAgICAgICAgICBjb25zdCBsb2dn
ZXIgPSBuZXcgTW9ja0xvZ2dlcjsKLSAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1l
OiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKLSAgICAgICAgICAgIGNvbnN0
IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7CisgICAgICAg
ICAgICBjb25zdCB3b3JrZXJJbmZvID0ge25hbWU6ICdzeW5jLXdvcmtlcicsIHBhc3N3b3JkOiAn
cGFzc3dvcmQnfTsKKyAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90
VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJ
LCB3b3JrZXJJbmZvLCBsb2dnZXIpOwogICAgICAgICAgICAgY29uc3Qgc3luY1Byb21pc2UgPSB0
cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2Uo
KSk7CiAgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2NrUmVtb3RlQVBJLnJl
cXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBNb2NrRGF0
YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKICAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVz
ZXQoKTsKQEAgLTEzNjEsOCArMTM2MSw4IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxl
JywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgYXdhaXQgTWFuaWZlc3QuZmV0Y2goKTsKICAg
ICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhQ
YXRjaEFjY2VwdGluZ0J1aWxkZXIoKTsKICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBN
b2NrTG9nZ2VyOwotICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNs
YXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwotICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFi
bGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJ
KCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKKyAgICAgICAgICAgIGNvbnN0
IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29ya2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9
OworICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJs
ZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlcklu
Zm8sIGxvZ2dlcik7CiAgICAgICAgICAgICBjb25zdCBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxl
LmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpKTsKICAgICAg
ICAgICAgIGFzc2VydFJlcXVlc3RBbmRSZXNvbHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0s
ICdHRVQnLCBNb2NrRGF0YS5idWlsZGJvdEJ1aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWls
ZGJvdEJ1aWxkZXJzKCkpOwogICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOwpAQCAt
MTQ0OCw4ICsxNDQ4LDggQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlv
biAoKSB7CiAgICAgICAgICAgICBhd2FpdCBNYW5pZmVzdC5mZXRjaCgpOwogICAgICAgICAgICAg
Y29uc3QgY29uZmlnID0gTW9ja0RhdGEubW9ja1Rlc3RTeW5jQ29uZmlnV2l0aFBhdGNoQWNjZXB0
aW5nQnVpbGRlcigpOwogICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7
Ci0gICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNz
d29yZDogJ3Bhc3N3b3JkJ307Ci0gICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBC
dWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1Jl
bW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOworICAgICAgICAgICAgY29uc3Qgd29ya2VySW5m
byA9IHtuYW1lOiAnc3luYy13b3JrZXInLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAg
ICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywg
VGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgd29ya2VySW5mbywgbG9nZ2Vy
KTsKICAgICAgICAgICAgIGNvbnN0IHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNl
cnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgYXNz
ZXJ0UmVxdWVzdEFuZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1v
Y2tEYXRhLmJ1aWxkYm90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRl
cnMoKSk7CiAgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CkBAIC0xNTc4LDggKzE1
NzgsOCBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9j
a0xvZ2dlcjsKLSAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMt
c2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307Ci0gICAgICAgICAgICAgICAgY29uc3QgYnVp
bGRib3RUcmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNl
cnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOworICAg
ICAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29ya2VyJywgcGFz
c3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgICAgIGNvbnN0IGJ1aWxkYm90VHJpZ2dl
cmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3Rl
QVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAgICAg
ICAgY29uc3QgdHJpZ2dlcmFibGVQcm9taXNlID0gYnVpbGRib3RUcmlnZ2VyYWJsZS5pbml0U3lu
Y2VycygpLnRoZW4oKCkgPT4gYnVpbGRib3RUcmlnZ2VyYWJsZS51cGRhdGVUcmlnZ2VyYWJsZSgp
KTsKICAgICAgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2NrUmVtb3RlQVBJ
LnJlcXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBNb2Nr
RGF0YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJp
Z2dlcmFibGVQcm9taXNlOwpAQCAtMTYwNSw4ICsxNjA1LDggQEAgZGVzY3JpYmUoJ0J1aWxkYm90
VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgY29uZmlnLnJlcG9z
aXRvcnlHcm91cHMgPSBbIF07CiAKICAgICAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcg
TW9ja0xvZ2dlcjsKLSAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5
bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307Ci0gICAgICAgICAgICAgICAgY29uc3Qg
YnVpbGRib3RUcmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVz
dFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOwor
ICAgICAgICAgICAgICAgIGNvbnN0IHdvcmtlckluZm8gPSB7bmFtZTogJ3N5bmMtd29ya2VyJywg
cGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAgICAgIGNvbnN0IGJ1aWxkYm90VHJp
Z2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVt
b3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAgICAgICAgICAg
ICAgICAgY29uc3QgdHJpZ2dlcmFibGVQcm9taXNlID0gYnVpbGRib3RUcmlnZ2VyYWJsZS5pbml0
U3luY2VycygpLnRoZW4oKCkgPT4gYnVpbGRib3RUcmlnZ2VyYWJsZS51cGRhdGVUcmlnZ2VyYWJs
ZSgpKTsKICAgICAgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2ZShNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzFdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBN
b2NrRGF0YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJpZ2dlcmFibGVQcm9taXNlOwpAQCAtMTYyNyw4ICsxNjI3LDggQEAgZGVzY3JpYmUoJ0J1aWxk
Ym90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGl0KCdzaG91bGQgZ2V0IEJ1
aWxkZXIgTmFtZSB0byBJRCBNYXAnLCAoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBjb25maWcg
PSBNb2NrRGF0YS5tb2NrVGVzdFN5bmNDb25maWdXaXRoU2luZ2xlQnVpbGRlcigpOwogICAgICAg
ICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICBjb25zdCBz
bGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307Ci0g
ICAgICAgICAgICBjb25zdCBidWlsZGJvdFRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dl
cmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2
ZUluZm8sIGxvZ2dlcik7CisgICAgICAgICAgICBjb25zdCB3b3JrZXJJbmZvID0ge25hbWU6ICdz
eW5jLXdvcmtlcicsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKKyAgICAgICAgICAgIGNvbnN0IGJ1
aWxkYm90VHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHdvcmtlckluZm8sIGxvZ2dlcik7CiAg
ICAgICAgICAgICBjb25zdCBnZXRCdWlsZGVyTmFtZVRvSURNYXBQcm9taXNlID0gYnVpbGRib3RU
cmlnZ2VyYWJsZS5nZXRCdWlsZGVyTmFtZVRvSURNYXAoKTsKICAgICAgICAgICAgIGFzc2VydFJl
cXVlc3RBbmRSZXNvbHZlKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0sICdHRVQnLCBNb2NrRGF0
YS5idWlsZGJvdEJ1aWxkZXJzVVJMKCksIE1vY2tEYXRhLm1vY2tCdWlsZGJvdEJ1aWxkZXJzKCkp
OwogICAgICAgICAgICAgZ2V0QnVpbGRlck5hbWVUb0lETWFwUHJvbWlzZS50aGVuKChidWlsZGVy
TmFtZVRvSURNYXApID0+IHsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9z
ZXJ2ZXItdGVzdHMvdG9vbHMtb3MtYnVpbGQtZmV0Y2hlci10ZXN0cy5qcyBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvdG9vbHMtb3MtYnVpbGQtZmV0Y2hlci10ZXN0cy5q
cwppbmRleCBlMzEzM2NhNGQwZTZhYmU1YmE3NWIyODFiYjdhYTBiNWMzYWM4NjFhLi5iNzBkZDk0
Y2MxODkzZWY4YjIzMTU5NWU2NDQxOTRkYTVkYWRmOGZhIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLW9zLWJ1aWxkLWZldGNoZXItdGVzdHMu
anMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1vcy1i
dWlsZC1mZXRjaGVyLXRlc3RzLmpzCkBAIC01LDcgKzUsNyBAQCBjb25zdCBhc3NlcnQgPSByZXF1
aXJlKCdhc3NlcnQnKTsKIGNvbnN0IE9TQnVpbGRGZXRjaGVyID0gcmVxdWlyZSgnLi4vdG9vbHMv
anMvb3MtYnVpbGQtZmV0Y2hlci5qcycpLk9TQnVpbGRGZXRjaGVyOwogY29uc3QgTW9ja1JlbW90
ZUFQSSA9IHJlcXVpcmUoJy4uL3VuaXQtdGVzdHMvcmVzb3VyY2VzL21vY2stcmVtb3RlLWFwaS5q
cycpLk1vY2tSZW1vdGVBUEk7CiBjb25zdCBUZXN0U2VydmVyID0gcmVxdWlyZSgnLi9yZXNvdXJj
ZXMvdGVzdC1zZXJ2ZXIuanMnKTsKLWNvbnN0IGFkZFNsYXZlRm9yUmVwb3J0ID0gcmVxdWlyZSgn
Li9yZXNvdXJjZXMvY29tbW9uLW9wZXJhdGlvbnMuanMnKS5hZGRTbGF2ZUZvclJlcG9ydDsKK2Nv
bnN0IGFkZFdvcmtlckZvclJlcG9ydCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVy
YXRpb25zLmpzJykuYWRkV29ya2VyRm9yUmVwb3J0OwogY29uc3QgcHJlcGFyZVNlcnZlclRlc3Qg
PSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLnByZXBhcmVTZXJ2
ZXJUZXN0OwogY29uc3QgTW9ja1N1YnByb2Nlc3MgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9tb2Nr
LXN1YnByb2Nlc3MuanMnKS5Nb2NrU3VicHJvY2VzczsKIGNvbnN0IE1vY2tMb2dnZXIgPSByZXF1
aXJlKCcuL3Jlc291cmNlcy9tb2NrLWxvZ2dlci5qcycpLk1vY2tMb2dnZXI7CkBAIC0yMSwxMiAr
MjEsMTIgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAgICAgfSk7
CiAKICAgICBjb25zdCBlbXB0eVJlcG9ydCA9IHsKLSAgICAgICAgJ3NsYXZlTmFtZSc6ICdzb21l
U2xhdmUnLAotICAgICAgICAnc2xhdmVQYXNzd29yZCc6ICdzb21lUGFzc3dvcmQnLAorICAgICAg
ICAnd29ya2VyTmFtZSc6ICdzb21lV29ya2VyJywKKyAgICAgICAgJ3dvcmtlclBhc3N3b3JkJzog
J3NvbWVQYXNzd29yZCcsCiAgICAgfTsKIAotICAgIGNvbnN0IHNsYXZlQXV0aCA9IHsKLSAgICAg
ICAgJ25hbWUnOiAnc29tZVNsYXZlJywKKyAgICBjb25zdCB3b3JrZXJBdXRoID0geworICAgICAg
ICAnbmFtZSc6ICdzb21lV29ya2VyJywKICAgICAgICAgJ3Bhc3N3b3JkJzogJ3NvbWVQYXNzd29y
ZCcKICAgICB9OwogCkBAIC0yNzIsMTMgKzI3MiwxMyBAQCBkZXNjcmliZSgnT1NCdWlsZEZldGNo
ZXInLCBmdW5jdGlvbigpIHsKIAogICAgICAgICBpdCgnc2hvdWxkIGJlIGJhY2t3YXJkIGNvbXBh
dGlibGUgYW5kIHJlcG9ydCBhbGwgYnVpbGQgY29tbWl0cyB3aXRoIG93bmVkLWNvbW1pdHMnLCAo
KSA9PiB7CiAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKLSAgICAg
ICAgICAgIGNvbnN0IGZldGNoZXIgPSBuZXcgT1NCdWlsZEZldGNoZXIoY29uZmlnLCBUZXN0U2Vy
dmVyLnJlbW90ZUFQSSgpLCBzbGF2ZUF1dGgsIE1vY2tTdWJwcm9jZXNzLCBsb2dnZXIpOworICAg
ICAgICAgICAgY29uc3QgZmV0Y2hlciA9IG5ldyBPU0J1aWxkRmV0Y2hlcihjb25maWcsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIHdvcmtlckF1dGgsIE1vY2tTdWJwcm9jZXNzLCBsb2dnZXIpOwog
ICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CiAKICAgICAgICAg
ICAgIGxldCBmZXRjaFJlcG9ydEFuZFVwZGF0ZUJ1aWxkc1Byb21pc2UgPSBudWxsOwogICAgICAg
ICAgICAgbGV0IGZldGNoQXZhaWxhYmxlQnVpbGRzUHJvbWlzZSA9IG51bGw7CiAKLSAgICAgICAg
ICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChlbXB0eVJlcG9ydCkudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KGVtcHR5UmVwb3J0KS50aGVuKCgp
ID0+IHsKICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoWwogICAgICAgICAgICAg
ICAgICAgICBkYi5pbnNlcnQoJ3JlcG9zaXRvcmllcycsIHsnaWQnOiAxMCwgJ25hbWUnOiAnT1NY
J30pLAogICAgICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ2NvbW1pdHMnLCB7J3JlcG9zaXRv
cnknOiAxMCwgJ3JldmlzaW9uJzogJ1NpZXJyYTE2RDY3JywgJ29yZGVyJzogMTYwMzAwNjcwMCwg
J3JlcG9ydGVkJzogdHJ1ZX0pLApAQCAtNDAzLDcgKzQwMyw3IEBAIGRlc2NyaWJlKCdPU0J1aWxk
RmV0Y2hlcicsIGZ1bmN0aW9uKCkgewogCiAgICAgICAgIGl0KCdzaG91bGQgcmVwb3J0IGFsbCBi
dWlsZCBjb21taXRzIHdpdGggb3duZWQtY29tbWl0cycsICgpID0+IHsKICAgICAgICAgICAgIGNv
bnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgY29uc3QgZmV0Y2hlciA9
IG5ldyBPU0J1aWxkRmV0Y2hlcihjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIHNsYXZl
QXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CisgICAgICAgICAgICBjb25zdCBmZXRjaGVy
ID0gbmV3IE9TQnVpbGRGZXRjaGVyKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgd29y
a2VyQXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CiAgICAgICAgICAgICBjb25zdCBkYiA9
IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHNGb3JTaWVy
cmFEID0ge2FsbFJldmlzaW9uczogWyJTaWVycmExNkQ2OCIsICJTaWVycmExNkQ2OSJdLCBjb21t
aXRzV2l0aFRlc3RhYmlsaXR5OiB7fX07CiAgICAgICAgICAgICBjb25zdCByZXN1bHRzRm9yU2ll
cnJhRSA9IHthbGxSZXZpc2lvbnM6IFsiU2llcnJhMTZFMzIiLCAiU2llcnJhMTZFMzMiLCAiU2ll
cnJhMTZFMzNoIiwgIlNpZXJyYTE2RTM0Il0sIGNvbW1pdHNXaXRoVGVzdGFiaWxpdHk6IHt9fTsK
QEAgLTQxMSw3ICs0MTEsNyBAQCBkZXNjcmliZSgnT1NCdWlsZEZldGNoZXInLCBmdW5jdGlvbigp
IHsKICAgICAgICAgICAgIGxldCBmZXRjaFJlcG9ydEFuZFVwZGF0ZUJ1aWxkc1Byb21pc2UgPSBu
dWxsOwogICAgICAgICAgICAgbGV0IGZldGNoQXZhaWxhYmxlQnVpbGRzUHJvbWlzZSA9IG51bGw7
CiAKLSAgICAgICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChlbXB0eVJlcG9ydCkudGhl
bigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gYWRkV29ya2VyRm9yUmVwb3J0KGVtcHR5UmVw
b3J0KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoWwog
ICAgICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ3JlcG9zaXRvcmllcycsIHsnaWQnOiAxMCwg
J25hbWUnOiAnT1NYJ30pLAogICAgICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ2NvbW1pdHMn
LCB7J3JlcG9zaXRvcnknOiAxMCwgJ3JldmlzaW9uJzogJ1NpZXJyYTE2RDY3JywgJ29yZGVyJzog
MTYwMzAwNjcwMCwgJ3JlcG9ydGVkJzogdHJ1ZX0pLApAQCAtNTM2LDEyICs1MzYsMTIgQEAgZGVz
Y3JpYmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAKICAgICAgICAgaXQoJ3Nob3Vs
ZCB1cGRhdGUgdGVzdGFiaWxpdHkgbWVzc2FnZSBmb3IgY29tbWl0cycsIGFzeW5jICgpID0+IHsK
ICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAg
Y29uc3QgZmV0Y2hlciA9IG5ldyBPU0J1aWxkRmV0Y2hlcihjb25maWcsIFRlc3RTZXJ2ZXIucmVt
b3RlQVBJKCksIHNsYXZlQXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CisgICAgICAgICAg
ICBjb25zdCBmZXRjaGVyID0gbmV3IE9TQnVpbGRGZXRjaGVyKGNvbmZpZywgVGVzdFNlcnZlci5y
ZW1vdGVBUEkoKSwgd29ya2VyQXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CiAgICAgICAg
ICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKICAgICAgICAgICAgIGNvbnN0
IHJlc3VsdHNGb3JTaWVycmFEID0ge2FsbFJldmlzaW9uczogWyJTaWVycmExNkQ2OCIsICJTaWVy
cmExNkQ2OSJdLCBjb21taXRzV2l0aFRlc3RhYmlsaXR5OiB7IlNpZXJyYTE2RDY4IjogIlBhbmlj
IiwgIlNpZXJyYTE2RDY5IjogIlNwaW4gQ1BVIn19OwogICAgICAgICAgICAgY29uc3QgcmVzdWx0
c0ZvclNpZXJyYUUgPSB7YWxsUmV2aXNpb25zOiBbIlNpZXJyYTE2RTMyIiwgIlNpZXJyYTE2RTMz
IiwgIlNpZXJyYTE2RTMzaCIsICJTaWVycmExNkUzNCJdLCBjb21taXRzV2l0aFRlc3RhYmlsaXR5
OiB7IlNpZXJyYTE2RTMxIjogIldlYktpdCBjcmFzaGVzIn19OwogCi0gICAgICAgICAgICBhd2Fp
dCBhZGRTbGF2ZUZvclJlcG9ydChlbXB0eVJlcG9ydCk7CisgICAgICAgICAgICBhd2FpdCBhZGRX
b3JrZXJGb3JSZXBvcnQoZW1wdHlSZXBvcnQpOwogCiAgICAgICAgICAgICBhd2FpdCBQcm9taXNl
LmFsbChbCiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdyZXBvc2l0b3JpZXMnLCB7J2lkJzog
MTAsICduYW1lJzogJ09TWCd9KSwKQEAgLTY0MywxMiArNjQzLDEyIEBAIGRlc2NyaWJlKCdPU0J1
aWxkRmV0Y2hlcicsIGZ1bmN0aW9uKCkgewogICAgICAgICBpdCgnc2hvdWxkIHJlcG9ydCBjb21t
aXRzIHdpdGhvdXQgb3duZWQtY29tbWl0cyBpZiAib3duZWRDb21taXRDb21tYW5kIiBpcyBub3Qg
c3BlY2lmaWVkIGluIGNvbmZpZycsIGFzeW5jICgpID0+IHsKIAogICAgICAgICAgICAgY29uc3Qg
bG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICBjb25zdCBmZXRjaGVyID0gbmV3
IE9TQnVpbGRGZXRjaGVyKGNvbmZpZ1dpdGhvdXRPd25lZENvbW1pdENvbW1hbmQsIFRlc3RTZXJ2
ZXIucmVtb3RlQVBJKCksIHNsYXZlQXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CisgICAg
ICAgICAgICBjb25zdCBmZXRjaGVyID0gbmV3IE9TQnVpbGRGZXRjaGVyKGNvbmZpZ1dpdGhvdXRP
d25lZENvbW1pdENvbW1hbmQsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIHdvcmtlckF1dGgsIE1v
Y2tTdWJwcm9jZXNzLCBsb2dnZXIpOwogICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVy
LmRhdGFiYXNlKCk7CiAgICAgICAgICAgICBjb25zdCByZXN1bHRzRm9yU2llcnJhRCA9IHthbGxS
ZXZpc2lvbnM6IFsiU2llcnJhMTZENjgiLCAiU2llcnJhMTZENjkiXSwgY29tbWl0c1dpdGhUZXN0
YWJpbGl0eToge319OwogICAgICAgICAgICAgY29uc3QgcmVzdWx0c0ZvclNpZXJyYUUgPSB7YWxs
UmV2aXNpb25zOiBbIlNpZXJyYTE2RTMyIiwgIlNpZXJyYTE2RTMzIiwgIlNpZXJyYTE2RTMzaCIs
ICJTaWVycmExNkUzNCJdLCBjb21taXRzV2l0aFRlc3RhYmlsaXR5OiB7fX07CiAKLSAgICAgICAg
ICAgIGF3YWl0IGFkZFNsYXZlRm9yUmVwb3J0KGVtcHR5UmVwb3J0KTsKKyAgICAgICAgICAgIGF3
YWl0IGFkZFdvcmtlckZvclJlcG9ydChlbXB0eVJlcG9ydCk7CiAgICAgICAgICAgICBhd2FpdCBQ
cm9taXNlLmFsbChbCiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdyZXBvc2l0b3JpZXMnLCB7
J2lkJzogMTAsICduYW1lJzogJ09TWCd9KSwKICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ2Nv
bW1pdHMnLCB7J3JlcG9zaXRvcnknOiAxMCwgJ3JldmlzaW9uJzogJ1NpZXJyYTE2RDY3JywgJ29y
ZGVyJzogMTYwMzAwNjcwMCwgJ3JlcG9ydGVkJzogdHJ1ZX0pLApAQCAtNzIyLDEyICs3MjIsMTIg
QEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAKICAgICAgICAgaXQo
J3Nob3VsZCByZXBvcnQgY29tbWl0cyB3aXRoaW4gc3BlY2lmaWVkIHJldmlzaW9uIHJhbmdlJywg
YXN5bmMgKCkgPT4gewogICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7
Ci0gICAgICAgICAgICBjb25zdCBmZXRjaGVyID0gbmV3IE9TQnVpbGRGZXRjaGVyKGNvbmZpZ1dp
dGhvdXRPd25lZENvbW1pdENvbW1hbmQsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIHNsYXZlQXV0
aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CisgICAgICAgICAgICBjb25zdCBmZXRjaGVyID0g
bmV3IE9TQnVpbGRGZXRjaGVyKGNvbmZpZ1dpdGhvdXRPd25lZENvbW1pdENvbW1hbmQsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIHdvcmtlckF1dGgsIE1vY2tTdWJwcm9jZXNzLCBsb2dnZXIpOwog
ICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CiAgICAgICAgICAg
ICBjb25zdCByZXN1bHRzRm9yU2llcnJhRCA9IHthbGxSZXZpc2lvbnM6IFsiU2llcnJhMTZENjgi
LCAiU2llcnJhMTZENjkiLCAiU2llcnJhMTZEMTAwMDAiXSwgY29tbWl0c1dpdGhUZXN0YWJpbGl0
eToge319OwogICAgICAgICAgICAgY29uc3QgcmVzdWx0c0ZvclNpZXJyYUUgPSB7YWxsUmV2aXNp
b25zOiBbIlNpZXJyYTE2RTMyIiwgIlNpZXJyYTE2RTMzIiwgIlNpZXJyYTE2RTMzaCIsICJTaWVy
cmExNkUzNCIsICJTaWVycmExNkUxMDAwMCJdLCBjb21taXRzV2l0aFRlc3RhYmlsaXR5OiB7fX07
CiAKLSAgICAgICAgICAgIGF3YWl0IGFkZFNsYXZlRm9yUmVwb3J0KGVtcHR5UmVwb3J0KTsKKyAg
ICAgICAgICAgIGF3YWl0IGFkZFdvcmtlckZvclJlcG9ydChlbXB0eVJlcG9ydCk7CiAgICAgICAg
ICAgICBhd2FpdCBQcm9taXNlLmFsbChbCiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdyZXBv
c2l0b3JpZXMnLCB7J2lkJzogMTAsICduYW1lJzogJ09TWCd9KSwKICAgICAgICAgICAgICAgICBk
Yi5pbnNlcnQoJ2NvbW1pdHMnLCB7J3JlcG9zaXRvcnknOiAxMCwgJ3JldmlzaW9uJzogJ1NpZXJy
YTE2RDY3JywgJ29yZGVyJzogMTYwMzAwNjcwMCwgJ3JlcG9ydGVkJzogdHJ1ZX0pLApAQCAtODAx
LDEyICs4MDEsMTIgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAK
ICAgICAgICAgaXQoJ3Nob3VsZCB1cGRhdGUgY29tbWl0cyB3aXRoaW4gc3BlY2lmaWVkIHJldmlz
aW9uIHJhbmdlJywgYXN5bmMgKCkgPT4gewogICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3
IE1vY2tMb2dnZXI7Ci0gICAgICAgICAgICBjb25zdCBmZXRjaGVyID0gbmV3IE9TQnVpbGRGZXRj
aGVyKGNvbmZpZ1dpdGhvdXRPd25lZENvbW1pdENvbW1hbmQsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJ
KCksIHNsYXZlQXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CisgICAgICAgICAgICBjb25z
dCBmZXRjaGVyID0gbmV3IE9TQnVpbGRGZXRjaGVyKGNvbmZpZ1dpdGhvdXRPd25lZENvbW1pdENv
bW1hbmQsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIHdvcmtlckF1dGgsIE1vY2tTdWJwcm9jZXNz
LCBsb2dnZXIpOwogICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7
CiAgICAgICAgICAgICBjb25zdCByZXN1bHRzRm9yU2llcnJhRCA9IHthbGxSZXZpc2lvbnM6IFsi
U2llcnJhMTZENjgiLCAiU2llcnJhMTZENjkiXSwgY29tbWl0c1dpdGhUZXN0YWJpbGl0eTogeyJT
aWVycmExNkQxMDAwMCI6ICJQYW5pYyJ9fTsKICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHNGb3JT
aWVycmFFID0ge2FsbFJldmlzaW9uczogWyJTaWVycmExNkUzMiIsICJTaWVycmExNkUzMyIsICJT
aWVycmExNkUzM2giLCAiU2llcnJhMTZFMzQiLCAiU2llcnJhMTZFMTAwMDAiXSwgY29tbWl0c1dp
dGhUZXN0YWJpbGl0eToge319OwogCi0gICAgICAgICAgICBhd2FpdCBhZGRTbGF2ZUZvclJlcG9y
dChlbXB0eVJlcG9ydCk7CisgICAgICAgICAgICBhd2FpdCBhZGRXb3JrZXJGb3JSZXBvcnQoZW1w
dHlSZXBvcnQpOwogICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoWwogICAgICAgICAgICAg
ICAgIGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywgeydpZCc6IDEwLCAnbmFtZSc6ICdPU1gnfSks
CiAgICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdjb21taXRzJywgeydyZXBvc2l0b3J5JzogMTAs
ICdyZXZpc2lvbic6ICdTaWVycmExNkQ2NycsICdvcmRlcic6IDE2MDMwMDY3MDAsICdyZXBvcnRl
ZCc6IHRydWV9KSwKQEAgLTg0NCwxMSArODQ0LDExIEBAIGRlc2NyaWJlKCdPU0J1aWxkRmV0Y2hl
cicsIGZ1bmN0aW9uKCkgewogCiAgICAgICAgIGl0KCdzaG91bGQgdXNlICJsYXN0LXJlcG9ydGVk
IiBvcmRlciArIDEgYXMgIm1pbk9yZGVyIicsIGFzeW5jICgpID0+IHsKICAgICAgICAgICAgIGNv
bnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwotICAgICAgICAgICAgY29uc3QgZmV0Y2hlciA9
IG5ldyBPU0J1aWxkRmV0Y2hlcihjb25maWdUcmFja2luZ09uZU9TLCBUZXN0U2VydmVyLnJlbW90
ZUFQSSgpLCBzbGF2ZUF1dGgsIE1vY2tTdWJwcm9jZXNzLCBsb2dnZXIpOworICAgICAgICAgICAg
Y29uc3QgZmV0Y2hlciA9IG5ldyBPU0J1aWxkRmV0Y2hlcihjb25maWdUcmFja2luZ09uZU9TLCBU
ZXN0U2VydmVyLnJlbW90ZUFQSSgpLCB3b3JrZXJBdXRoLCBNb2NrU3VicHJvY2VzcywgbG9nZ2Vy
KTsKICAgICAgICAgICAgIGNvbnN0IGRiID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwogICAgICAg
ICAgICAgY29uc3QgcmVzdWx0c0ZvclNpZXJyYUQgPSB7YWxsUmV2aXNpb25zOiBbIlNpZXJyYTE2
RDY4IiwgIlNpZXJyYTE2RDY5IiwgIlNpZXJyYTE2RDEwMCIsICJTaWVycmExNkQxMDBhIl0sIGNv
bW1pdHNXaXRoVGVzdGFiaWxpdHk6IHt9fTsKIAotICAgICAgICAgICAgYXdhaXQgYWRkU2xhdmVG
b3JSZXBvcnQoZW1wdHlSZXBvcnQpOworICAgICAgICAgICAgYXdhaXQgYWRkV29ya2VyRm9yUmVw
b3J0KGVtcHR5UmVwb3J0KTsKICAgICAgICAgICAgIGF3YWl0IGRiLmluc2VydCgncmVwb3NpdG9y
aWVzJywgeydpZCc6IDEwLCAnbmFtZSc6ICdPU1gnfSk7CiAgICAgICAgICAgICBhd2FpdCBkYi5p
bnNlcnQoJ2NvbW1pdHMnLCB7J3JlcG9zaXRvcnknOiAxMCwgJ3JldmlzaW9uJzogJ1NpZXJyYTE2
RDEwMCcsICdvcmRlcic6IDE2MDMwMTAwMDAsICdyZXBvcnRlZCc6IHRydWV9KTsKIApAQCAtODkz
LDExICs4OTMsMTEgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAK
ICAgICAgICAgaXQoJ3Nob3VsZCB1c2UgbWluUmV2aXNpb24gaW4gdGhlIGNvbmZpZyBpZiB0aGVy
ZSBpcyBubyBjb21taXQnLCBhc3luYyAoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBsb2dnZXIg
PSBuZXcgTW9ja0xvZ2dlcjsKLSAgICAgICAgICAgIGNvbnN0IGZldGNoZXIgPSBuZXcgT1NCdWls
ZEZldGNoZXIoY29uZmlnVHJhY2tpbmdPbmVPUywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgc2xh
dmVBdXRoLCBNb2NrU3VicHJvY2VzcywgbG9nZ2VyKTsKKyAgICAgICAgICAgIGNvbnN0IGZldGNo
ZXIgPSBuZXcgT1NCdWlsZEZldGNoZXIoY29uZmlnVHJhY2tpbmdPbmVPUywgVGVzdFNlcnZlci5y
ZW1vdGVBUEkoKSwgd29ya2VyQXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CiAgICAgICAg
ICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKICAgICAgICAgICAgIGNvbnN0
IHJlc3VsdHNGb3JTaWVycmFEID0ge2FsbFJldmlzaW9uczogWyJTaWVycmExNkQ2OCIsICJTaWVy
cmExNkQ2OSIsICJTaWVycmExNkQxMDAiLCAiU2llcnJhMTZEMTAxIl0sIGNvbW1pdHNXaXRoVGVz
dGFiaWxpdHk6IHt9fTsKIAotICAgICAgICAgICAgYXdhaXQgYWRkU2xhdmVGb3JSZXBvcnQoZW1w
dHlSZXBvcnQpOworICAgICAgICAgICAgYXdhaXQgYWRkV29ya2VyRm9yUmVwb3J0KGVtcHR5UmVw
b3J0KTsKICAgICAgICAgICAgIGF3YWl0IGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywgeydpZCc6
IDEwLCAnbmFtZSc6ICdPU1gnfSk7CiAKICAgICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBU
ZXN0U2VydmVyLnJlbW90ZUFQSSgpLmdldEpTT04oJy9hcGkvY29tbWl0cy9PU1gvbGFzdC1yZXBv
cnRlZD9mcm9tPTE2MDMwMTAwMDAmdG89MTYwMzA5OTkwMCcpOwpAQCAtOTQ1LDEzICs5NDUsMTMg
QEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAKICAgICAgICAgaXQo
J3Nob3VsZCBzdG9wIHJlcG9ydGluZyBpZiBhbnkgY3VzdG9tIGNvbW1hbmQgZmFpbHMnLCAoKSA9
PiB7CiAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKLSAgICAgICAg
ICAgIGNvbnN0IGZldGNoZXIgPSBuZXcgT1NCdWlsZEZldGNoZXIoY29uZmlnLCBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpLCBzbGF2ZUF1dGgsIE1vY2tTdWJwcm9jZXNzLCBsb2dnZXIpOworICAgICAg
ICAgICAgY29uc3QgZmV0Y2hlciA9IG5ldyBPU0J1aWxkRmV0Y2hlcihjb25maWcsIFRlc3RTZXJ2
ZXIucmVtb3RlQVBJKCksIHdvcmtlckF1dGgsIE1vY2tTdWJwcm9jZXNzLCBsb2dnZXIpOwogICAg
ICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CiAgICAgICAgICAgICBj
b25zdCByZXN1bHRzRm9yU2llcnJhRCA9IHthbGxSZXZpc2lvbnM6IFsiU2llcnJhMTZENjgiLCAi
U2llcnJhMTZENjkiXSwgY29tbWl0c1dpdGhUZXN0YWJpbGl0eToge319OwogICAgICAgICAgICAg
Y29uc3QgcmVzdWx0c0ZvclNpZXJyYUUgPSB7YWxsUmV2aXNpb25zOiBbIlNpZXJyYTE2RTMyIiwg
IlNpZXJyYTE2RTMzIiwgIlNpZXJyYTE2RTMzaCIsICJTaWVycmExNkUzNCJdLCBjb21taXRzV2l0
aFRlc3RhYmlsaXR5OiB7fX07CiAgICAgICAgICAgICBsZXQgZmV0Y2hBbmRSZXBvcnRQcm9taXNl
ID0gbnVsbDsKIAotICAgICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9yUmVwb3J0KGVtcHR5UmVw
b3J0KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBhZGRXb3JrZXJGb3JSZXBvcnQo
ZW1wdHlSZXBvcnQpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNl
LmFsbChbCiAgICAgICAgICAgICAgICAgICAgIGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywgeydp
ZCc6IDEwLCAnbmFtZSc6ICdPU1gnfSksCiAgICAgICAgICAgICAgICAgICAgIGRiLmluc2VydCgn
Y29tbWl0cycsIHsncmVwb3NpdG9yeSc6IDEwLCAncmV2aXNpb24nOiAnU2llcnJhMTZENjcnLCAn
b3JkZXInOiAxNjAzMDA2NzAwLCAncmVwb3J0ZWQnOiB0cnVlfSksCmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLXN5bmMtYnVpbGRib3QtaW50
ZWdyYXRpb24tdGVzdHMuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3Rz
L3Rvb2xzLXN5bmMtYnVpbGRib3QtaW50ZWdyYXRpb24tdGVzdHMuanMKaW5kZXggNjlhOTFmNWU2
MTEzMDZlYWRiOGYyMTI3Yjg4ZDA1ZGVhYjk1YjEwYi4uNmZjN2E3YWM1YmMzN2E0MTA0NzJmZTgy
YjJjOWI1NDEwZWE4ZjRkMyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Nl
cnZlci10ZXN0cy90b29scy1zeW5jLWJ1aWxkYm90LWludGVncmF0aW9uLXRlc3RzLmpzCisrKyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvdG9vbHMtc3luYy1idWlsZGJv
dC1pbnRlZ3JhdGlvbi10ZXN0cy5qcwpAQCAtMTAsNyArMTAsNyBAQCBjb25zdCBNb2NrTG9nZ2Vy
ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvbW9jay1sb2dnZXIuanMnKS5Nb2NrTG9nZ2VyOwogY29u
c3QgTW9ja1JlbW90ZUFQSSA9IHJlcXVpcmUoJy4uL3VuaXQtdGVzdHMvcmVzb3VyY2VzL21vY2st
cmVtb3RlLWFwaS5qcycpLk1vY2tSZW1vdGVBUEk7CiBjb25zdCBUZXN0U2VydmVyID0gcmVxdWly
ZSgnLi9yZXNvdXJjZXMvdGVzdC1zZXJ2ZXIuanMnKTsKIGNvbnN0IFRlbXBvcmFyeUZpbGUgPSBy
ZXF1aXJlKCcuL3Jlc291cmNlcy90ZW1wb3JhcnktZmlsZS5qcycpLlRlbXBvcmFyeUZpbGU7Ci1j
b25zdCBhZGRTbGF2ZUZvclJlcG9ydCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVy
YXRpb25zLmpzJykuYWRkU2xhdmVGb3JSZXBvcnQ7Citjb25zdCBhZGRXb3JrZXJGb3JSZXBvcnQg
PSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLmFkZFdvcmtlckZv
clJlcG9ydDsKIGNvbnN0IHByZXBhcmVTZXJ2ZXJUZXN0ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMv
Y29tbW9uLW9wZXJhdGlvbnMuanMnKS5wcmVwYXJlU2VydmVyVGVzdDsKIGNvbnN0IEJyb3dzZXJQ
cml2aWxlZ2VkQVBJID0gcmVxdWlyZSgnLi4vcHVibGljL3YzL3ByaXZpbGVnZWQtYXBpLmpzJyku
UHJpdmlsZWdlZEFQSTsKIApAQCAtMTgsOCArMTgsOCBAQCBjb25zdCBjb25maWdXaXRoT25lVGVz
dGVyVHdvQnVpbGRlcnMgPSB7CiAgICAgdHJpZ2dlcmFibGVOYW1lOiAnYnVpbGQtd2Via2l0JywK
ICAgICBsb29rYmFja0NvdW50OiAyLAogICAgIGJ1aWxkUmVxdWVzdEFyZ3VtZW50OiAnYnVpbGQt
cmVxdWVzdC1pZCcsCi0gICAgc2xhdmVOYW1lOiAnc3luYy1zbGF2ZScsCi0gICAgc2xhdmVQYXNz
d29yZDogJ3Bhc3N3b3JkJywKKyAgICB3b3JrZXJOYW1lOiAnc3luYy13b3JrZXInLAorICAgIHdv
cmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLAogICAgIHJlcG9zaXRvcnlHcm91cHM6IHsKICAgICAg
ICAgJ3dlYmtpdCc6IHsKICAgICAgICAgICAgIHJlcG9zaXRvcmllczogeydXZWJLaXQnOiB7YWNj
ZXB0c1BhdGNoOiB0cnVlfX0sCkBAIC02Myw4ICs2Myw4IEBAIGNvbnN0IGNvbmZpZ1dpdGhQbGF0
Zm9ybU5hbWUgPSB7CiAgICAgdHJpZ2dlcmFibGVOYW1lOiAnYnVpbGQtd2Via2l0JywKICAgICBs
b29rYmFja0NvdW50OiAyLAogICAgIGJ1aWxkUmVxdWVzdEFyZ3VtZW50OiAnYnVpbGQtcmVxdWVz
dC1pZCcsCi0gICAgc2xhdmVOYW1lOiAnc3luYy1zbGF2ZScsCi0gICAgc2xhdmVQYXNzd29yZDog
J3Bhc3N3b3JkJywKKyAgICB3b3JrZXJOYW1lOiAnc3luYy13b3JrZXInLAorICAgIHdvcmtlclBh
c3N3b3JkOiAncGFzc3dvcmQnLAogICAgIHBsYXRmb3JtQXJndW1lbnQ6ICdwbGF0Zm9ybS1uYW1l
JywKICAgICByZXBvc2l0b3J5R3JvdXBzOiB7CiAgICAgICAgICd3ZWJraXQnOiB7CkBAIC0xMDks
OCArMTA5LDggQEAgY29uc3QgY29uZmlnV2l0aFR3b1Rlc3RlcnMgPSB7CiAgICAgdHJpZ2dlcmFi
bGVOYW1lOiAnYnVpbGQtd2Via2l0JywKICAgICBsb29rYmFja0NvdW50OiAyLAogICAgIGJ1aWxk
UmVxdWVzdEFyZ3VtZW50OiAnYnVpbGQtcmVxdWVzdC1pZCcsCi0gICAgc2xhdmVOYW1lOiAnc3lu
Yy1zbGF2ZScsCi0gICAgc2xhdmVQYXNzd29yZDogJ3Bhc3N3b3JkJywKKyAgICB3b3JrZXJOYW1l
OiAnc3luYy13b3JrZXInLAorICAgIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLAogICAgIHJl
cG9zaXRvcnlHcm91cHM6IHsKICAgICAgICAgJ3dlYmtpdCc6IHsKICAgICAgICAgICAgIHJlcG9z
aXRvcmllczogeydXZWJLaXQnOiB7YWNjZXB0c1BhdGNoOiB0cnVlfX0sCkBAIC0xNTYsMTMgKzE1
NiwxMyBAQCBmdW5jdGlvbiBjcmVhdGVUcmlnZ2VyYWJsZShjb25maWcgPSBjb25maWdXaXRoT25l
VGVzdGVyVHdvQnVpbGRlcnMpCiAgICAgcmV0dXJuIE1vY2tEYXRhLmFkZE1vY2tDb25maWd1cmF0
aW9uKFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSkudGhlbigoKSA9PiB7CiAgICAgICAgIHJldHVybiBN
YW5pZmVzdC5mZXRjaCgpOwogICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICB0cmlnZ2VyYWJs
ZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEko
KSwgTW9ja1JlbW90ZUFQSSwge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29y
ZCd9LCBuZXcgTW9ja0xvZ2dlcik7CisgICAgICAgIHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90
VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJ
LCB7bmFtZTogJ3N5bmMtd29ya2VyJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9LCBuZXcgTW9ja0xv
Z2dlcik7CiAgICAgICAgIGNvbnN0IHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNl
cnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnVwZGF0ZVRyaWdnZXJhYmxlKCkpOwogICAgICAg
ICBhc3NlcnRBbmRSZXNvbHZlUmVxdWVzdChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLCAnR0VU
JywgTW9ja0RhdGEuYnVpbGRib3RCdWlsZGVyc1VSTCgpLCBNb2NrRGF0YS5tb2NrQnVpbGRib3RC
dWlsZGVycygpKTsKICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOwogICAgICAgICByZXR1
cm4gc3luY1Byb21pc2U7CiAgICAgfSkudGhlbigoKSA9PiBNYW5pZmVzdC5mZXRjaCgpKS50aGVu
KCgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywg
VGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwge25hbWU6ICdzeW5jLXNsYXZl
JywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9LCBuZXcgTW9ja0xvZ2dlcik7CisgICAgICAgIHJldHVy
biBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCks
IE1vY2tSZW1vdGVBUEksIHtuYW1lOiAnc3luYy13b3JrZXInLCBwYXNzd29yZDogJ3Bhc3N3b3Jk
J30sIG5ldyBNb2NrTG9nZ2VyKTsKICAgICB9KTsKIH0KIApAQCAtMjE4LDggKzIxOCw4IEBAIGZ1
bmN0aW9uIHVwbG9hZFJvb3QoYnVpbGRSZXF1ZXN0SWQsIGJ1aWxkVGFnLCByZXBvc2l0b3J5TGlz
dCA9IFsiV2ViS2l0Il0sIGJ1aWxkCiB7CiAgICAgcmV0dXJuIFRlbXBvcmFyeUZpbGUubWFrZVRl
bXBvcmFyeUZpbGUoYHJvb3Qke2J1aWxkVGFnfS5kYXRgLCBgcm9vdCBmb3IgYnVpbGQgJHtidWls
ZFRhZ30gYW5kIHJlcG9zaXRvcnkgbGlzdCBhdCAke2J1aWxkVGltZX1gKS50aGVuKChyb290Rmls
ZSkgPT4gewogICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0Rm9ybURh
dGEoJy9hcGkvdXBsb2FkLXJvb3QvJywgewotICAgICAgICAgICAgc2xhdmVOYW1lOiAnc3luYy1z
bGF2ZScsCi0gICAgICAgICAgICBzbGF2ZVBhc3N3b3JkOiAncGFzc3dvcmQnLAorICAgICAgICAg
ICAgd29ya2VyTmFtZTogJ3N5bmMtd29ya2VyJywKKyAgICAgICAgICAgIHdvcmtlclBhc3N3b3Jk
OiAncGFzc3dvcmQnLAogICAgICAgICAgICAgYnVpbGRlck5hbWU6ICdzb21lIGJ1aWxkZXInLAog
ICAgICAgICAgICAgYnVpbGRUYWc6IGJ1aWxkVGFnLAogICAgICAgICAgICAgYnVpbGRUaW1lOiBi
dWlsZFRpbWUsCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvZGV0
ZWN0LWNoYW5nZXMuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvZGV0ZWN0LWNo
YW5nZXMuanMKaW5kZXggNWUwMWU0YTlmMDJiY2QyZmYwODU0ZTQxODQ3NzNhZjAxYTdkZjhiMC4u
OWZiNjU5NWZmZTRiNjAyYWUwODM5NzI1OTU4MzEzYjg5Mjc1OTE3ZiAxMDA3NTUKLS0tIGEvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2RldGVjdC1jaGFuZ2VzLmpzCisrKyBiL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9kZXRlY3QtY2hhbmdlcy5qcwpAQCAtNTMsNyArNTMs
NyBAQCBmdW5jdGlvbiBsb2FkU2VydmVyQ29uZmlnKHNlcnZlckNvbmZpZ0pTT04pCiAgICAgICAg
IHNlcnZlclsnYXV0aCddID0gc2VydmVyWydhdXRoJ11bJ3VzZXJuYW1lJ10gKyAnOicgKyBzZXJ2
ZXJbJ2F1dGgnXVsncGFzc3dvcmQnXTsKIAogICAgIHNldHRpbmdzLnBlcmZzZXJ2ZXIgPSBzZXJ2
ZXI7Ci0gICAgc2V0dGluZ3Muc2xhdmUgPSBzZXJ2ZXJDb25maWdbJ3NsYXZlJ107CisgICAgc2V0
dGluZ3Mud29ya2VyID0gc2VydmVyQ29uZmlnWyd3b3JrZXInXTsKIH0KIAogZnVuY3Rpb24gbWFw
SW5PcmRlcihhcnJheSwgY2FsbGJhY2ssIHN0YXJ0SW5kZXgpCkBAIC0yMTksOCArMjE5LDggQEAg
ZnVuY3Rpb24gY3JlYXRlQW5hbHlzaXNUYXNrQW5kTm90aWZ5KGNvbmZpZywgcmFuZ2UsIHN1bW1h
cnkpCiAgICAgICAgIHNlZ21lbnRhdGlvblN0cmF0ZWd5OiBzZWdtZW50YXRpb25TdHJhdGVneSwK
ICAgICAgICAgdGVzdFJhbmdlU3RyYXRlZ3k6IHRlc3RSYW5nZVN0cmF0ZWd5LAogCi0gICAgICAg
IHNsYXZlTmFtZTogc2V0dGluZ3Muc2xhdmUubmFtZSwKLSAgICAgICAgc2xhdmVQYXNzd29yZDog
c2V0dGluZ3Muc2xhdmUucGFzc3dvcmQsCisgICAgICAgIHdvcmtlck5hbWU6IHNldHRpbmdzLndv
cmtlci5uYW1lLAorICAgICAgICB3b3JrZXJQYXNzd29yZDogc2V0dGluZ3Mud29ya2VyLnBhc3N3
b3JkLAogICAgIH07CiAKICAgICByZXR1cm4gcG9zdEpTT04oc2V0dGluZ3MucGVyZnNlcnZlciwg
Jy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5hbHlzaXMtdGFzaycsIGFuYWx5c2lzVGFza0RhdGEp
LnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CkBAIC0yNjcsOCArMjY3LDggQEAgZnVuY3Rpb24g
Y3JlYXRlQW5hbHlzaXNUYXNrQW5kTm90aWZ5KGNvbmZpZywgcmFuZ2UsIHN1bW1hcnkpCiAgICAg
ICAgICAgICAgICAgY29tbWl0U2V0czogY29tbWl0U2V0cywKICAgICAgICAgICAgICAgICByZXBl
dGl0aW9uQ291bnQ6IE1hdGgubWF4KDIsIE1hdGgubWluKDgsIE1hdGguZmxvb3IoKHJhbmdlLmVu
ZEluZGV4IC0gcmFuZ2Uuc3RhcnRJbmRleCkgLyA0KSkpLAogCi0gICAgICAgICAgICAgICAgc2xh
dmVOYW1lOiBzZXR0aW5ncy5zbGF2ZS5uYW1lLAotICAgICAgICAgICAgICAgIHNsYXZlUGFzc3dv
cmQ6IHNldHRpbmdzLnNsYXZlLnBhc3N3b3JkLAorICAgICAgICAgICAgICAgIHdvcmtlck5hbWU6
IHNldHRpbmdzLndvcmtlci5uYW1lLAorICAgICAgICAgICAgICAgIHdvcmtlclBhc3N3b3JkOiBz
ZXR0aW5ncy53b3JrZXIucGFzc3dvcmQsCiAgICAgICAgICAgICB9OwogCiAgICAgICAgICAgICBy
ZXR1cm4gcG9zdEpTT04oc2V0dGluZ3MucGVyZnNlcnZlciwgJy9wcml2aWxlZ2VkLWFwaS9jcmVh
dGUtdGVzdC1ncm91cCcsIHRlc3REYXRhKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNl
ci5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC1zeW5jZXIu
anMKaW5kZXggNTJjYjFlYzI0M2I5ZjE2NWRmN2RjN2Q2OTBlNDA3YTA4MDllZTg0YS4uODgyMmFm
YjhjMGVkMjIzODFmNzQyMzc2YWZhMzA2ZGEyOWNjNTgyMCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcworKysgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3Qtc3luY2VyLmpzCkBAIC0yOSw3ICsy
OSw2IEBAIGNsYXNzIEJ1aWxkYm90QnVpbGRFbnRyeSB7CiAKICAgICBzeW5jZXIoKSB7IHJldHVy
biB0aGlzLl9zeW5jZXI7IH0KICAgICBidWlsZFRhZygpIHsgcmV0dXJuIHRoaXMuX2J1aWxkVGFn
OyB9Ci0gICAgc2xhdmVOYW1lKCkgeyByZXR1cm4gdGhpcy5fd29ya2VyTmFtZTsgfQogICAgIHdv
cmtlck5hbWUoKSB7IHJldHVybiB0aGlzLl93b3JrZXJOYW1lOyB9CiAgICAgYnVpbGRSZXF1ZXN0
SWQoKSB7IHJldHVybiB0aGlzLl9idWlsZFJlcXVlc3RJZDsgfQogICAgIGlzUGVuZGluZygpIHsg
cmV0dXJuIHRoaXMuX2lzUGVuZGluZzsgfQpAQCAtNjcsMTUgKzY2LDE1IEBAIGNsYXNzIEJ1aWxk
Ym90U3luY2VyIHsKICAgICAgICAgdGhpcy5fdHlwZSA9IG51bGw7CiAgICAgICAgIHRoaXMuX2Nv
bmZpZ3VyYXRpb25zID0gW107CiAgICAgICAgIHRoaXMuX3JlcG9zaXRvcnlHcm91cHMgPSBjb21t
b25Db25maWd1cmF0aW9ucy5yZXBvc2l0b3J5R3JvdXBzOwotICAgICAgICB0aGlzLl9zbGF2ZVBy
b3BlcnR5TmFtZSA9IGNvbW1vbkNvbmZpZ3VyYXRpb25zLnNsYXZlQXJndW1lbnQ7CisgICAgICAg
IHRoaXMuX3dvcmtlclByb3BlcnR5TmFtZSA9IGNvbW1vbkNvbmZpZ3VyYXRpb25zLndvcmtlckFy
Z3VtZW50OwogICAgICAgICB0aGlzLl9wbGF0Zm9ybVByb3BlcnR5TmFtZSA9IGNvbW1vbkNvbmZp
Z3VyYXRpb25zLnBsYXRmb3JtQXJndW1lbnQ7CiAgICAgICAgIHRoaXMuX2J1aWxkUmVxdWVzdFBy
b3BlcnR5TmFtZSA9IGNvbW1vbkNvbmZpZ3VyYXRpb25zLmJ1aWxkUmVxdWVzdEFyZ3VtZW50Owog
ICAgICAgICB0aGlzLl9idWlsZGVyTmFtZSA9IG9iamVjdC5idWlsZGVyOwogICAgICAgICB0aGlz
Ll9idWlsZGVySUQgPSBvYmplY3QuYnVpbGRlcklEOwotICAgICAgICB0aGlzLl9zbGF2ZUxpc3Qg
PSBvYmplY3Quc2xhdmVMaXN0OworICAgICAgICB0aGlzLl93b3JrZXJMaXN0ID0gb2JqZWN0Lndv
cmtlckxpc3Q7CiAgICAgICAgIHRoaXMuX2VudHJ5TGlzdCA9IG51bGw7CiAgICAgICAgIHRoaXMu
X2xhc3RDb21wbGV0ZWRCdWlsZCA9IG51bGw7Ci0gICAgICAgIHRoaXMuX3NsYXZlc1dpdGhOZXdS
ZXF1ZXN0cyA9IG5ldyBTZXQ7CisgICAgICAgIHRoaXMuX3dvcmtlcnNXaXRoTmV3UmVxdWVzdHMg
PSBuZXcgU2V0OwogICAgIH0KIAogICAgIGJ1aWxkZXJOYW1lKCkgeyByZXR1cm4gdGhpcy5fYnVp
bGRlck5hbWU7IH0KQEAgLTExMSwyMCArMTEwLDIwIEBAIGNsYXNzIEJ1aWxkYm90U3luY2VyIHsK
ICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb25zLnNvbWUoKGNvbmZpZykgPT4gY29u
ZmlnLnBsYXRmb3JtID09IHJlcXVlc3QucGxhdGZvcm0oKSAmJiBjb25maWcudGVzdCA9PSByZXF1
ZXN0LnRlc3QoKSk7CiAgICAgfQogCi0gICAgc2NoZWR1bGVSZXF1ZXN0KG5ld1JlcXVlc3QsIHJl
cXVlc3RzSW5Hcm91cCwgc2xhdmVOYW1lKQorICAgIHNjaGVkdWxlUmVxdWVzdChuZXdSZXF1ZXN0
LCByZXF1ZXN0c0luR3JvdXAsIHdvcmtlck5hbWUpCiAgICAgewotICAgICAgICBhc3NlcnQoIXRo
aXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cy5oYXMoc2xhdmVOYW1lKSk7CisgICAgICAgIGFzc2Vy
dCghdGhpcy5fd29ya2Vyc1dpdGhOZXdSZXF1ZXN0cy5oYXMod29ya2VyTmFtZSkpOwogICAgICAg
ICBsZXQgcHJvcGVydGllcyA9IHRoaXMuX3Byb3BlcnRpZXNGb3JCdWlsZFJlcXVlc3QobmV3UmVx
dWVzdCwgcmVxdWVzdHNJbkdyb3VwKTsKIAogICAgICAgICBhc3NlcnQocHJvcGVydGllc1snZm9y
Y2VzY2hlZHVsZXInXSwgYGZvcmNlc2NoZWR1bGVyIHdhcyBub3Qgc3BlY2lmaWVkIGluIGJ1aWxk
Ym90IHByb3BlcnRpZXMgZm9yIGJ1aWxkIHJlcXVlc3QgJHtuZXdSZXF1ZXN0LmlkKCl9IG9uIHBs
YXRmb3JtICIke25ld1JlcXVlc3QucGxhdGZvcm0oKS5uYW1lKCl9IiBmb3IgYnVpbGRlciAiJHt0
aGlzLmJ1aWxkZXJOYW1lKCl9ImApOwotICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoIXRoaXMu
X3NsYXZlUHJvcGVydHlOYW1lLCAhc2xhdmVOYW1lKTsKLSAgICAgICAgaWYgKHRoaXMuX3NsYXZl
UHJvcGVydHlOYW1lKQotICAgICAgICAgICAgcHJvcGVydGllc1t0aGlzLl9zbGF2ZVByb3BlcnR5
TmFtZV0gPSBzbGF2ZU5hbWU7CisgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCghdGhpcy5fd29y
a2VyUHJvcGVydHlOYW1lLCAhd29ya2VyTmFtZSk7CisgICAgICAgIGlmICh0aGlzLl93b3JrZXJQ
cm9wZXJ0eU5hbWUpCisgICAgICAgICAgICBwcm9wZXJ0aWVzW3RoaXMuX3dvcmtlclByb3BlcnR5
TmFtZV0gPSB3b3JrZXJOYW1lOwogCiAgICAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybVByb3BlcnR5
TmFtZSkKICAgICAgICAgICAgIHByb3BlcnRpZXNbdGhpcy5fcGxhdGZvcm1Qcm9wZXJ0eU5hbWVd
ID0gbmV3UmVxdWVzdC5wbGF0Zm9ybSgpLm5hbWUoKTsKIAotICAgICAgICB0aGlzLl9zbGF2ZXNX
aXRoTmV3UmVxdWVzdHMuYWRkKHNsYXZlTmFtZSk7CisgICAgICAgIHRoaXMuX3dvcmtlcnNXaXRo
TmV3UmVxdWVzdHMuYWRkKHdvcmtlck5hbWUpOwogICAgICAgICByZXR1cm4gdGhpcy5zY2hlZHVs
ZUJ1aWxkT25CdWlsZGJvdChwcm9wZXJ0aWVzKTsKICAgICB9CiAKQEAgLTEzNSwxNSArMTM0LDE1
IEBAIGNsYXNzIEJ1aWxkYm90U3luY2VyIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3JlbW90ZS5w
b3N0SlNPTihwYXRoLCBkYXRhKTsKICAgICB9CiAKLSAgICBzY2hlZHVsZVJlcXVlc3RJbkdyb3Vw
SWZBdmFpbGFibGUobmV3UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBzbGF2ZU5hbWUpCisgICAg
c2NoZWR1bGVSZXF1ZXN0SW5Hcm91cElmQXZhaWxhYmxlKG5ld1JlcXVlc3QsIHJlcXVlc3RzSW5H
cm91cCwgd29ya2VyTmFtZSkKICAgICB7CiAgICAgICAgIGFzc2VydChuZXdSZXF1ZXN0IGluc3Rh
bmNlb2YgQnVpbGRSZXF1ZXN0KTsKIAogICAgICAgICBpZiAoIXRoaXMubWF0Y2hlc0NvbmZpZ3Vy
YXRpb24obmV3UmVxdWVzdCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICBs
ZXQgaGFzUGVuZGluZ0J1aWxkc1dpdGhvdXRTbGF2ZU5hbWVTcGVjaWZpZWQgPSBmYWxzZTsKLSAg
ICAgICAgbGV0IHVzZWRTbGF2ZXMgPSBuZXcgU2V0OworICAgICAgICBsZXQgaGFzUGVuZGluZ0J1
aWxkc1dpdGhvdXRXb3JrZXJOYW1lU3BlY2lmaWVkID0gZmFsc2U7CisgICAgICAgIGxldCB1c2Vk
V29ya2VycyA9IG5ldyBTZXQ7CiAgICAgICAgIGZvciAobGV0IGVudHJ5IG9mIHRoaXMuX2VudHJ5
TGlzdCkgewogICAgICAgICAgICAgbGV0IGVudHJ5UHJldmVudHNOZXdSZXF1ZXN0ID0gZW50cnku
aXNQZW5kaW5nKCk7CiAgICAgICAgICAgICBpZiAoZW50cnkuaXNJblByb2dyZXNzKCkpIHsKQEAg
LTE1MiwyNyArMTUxLDI3IEBAIGNsYXNzIEJ1aWxkYm90U3luY2VyIHsKICAgICAgICAgICAgICAg
ICAgICAgZW50cnlQcmV2ZW50c05ld1JlcXVlc3QgPSB0cnVlOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgaWYgKGVudHJ5UHJldmVudHNOZXdSZXF1ZXN0KSB7Ci0gICAgICAgICAgICAgICAg
aWYgKCFlbnRyeS5zbGF2ZU5hbWUoKSkKLSAgICAgICAgICAgICAgICAgICAgaGFzUGVuZGluZ0J1
aWxkc1dpdGhvdXRTbGF2ZU5hbWVTcGVjaWZpZWQgPSB0cnVlOwotICAgICAgICAgICAgICAgIHVz
ZWRTbGF2ZXMuYWRkKGVudHJ5LnNsYXZlTmFtZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAoIWVu
dHJ5Lndvcmtlck5hbWUoKSkKKyAgICAgICAgICAgICAgICAgICAgaGFzUGVuZGluZ0J1aWxkc1dp
dGhvdXRXb3JrZXJOYW1lU3BlY2lmaWVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB1c2VkV29y
a2Vycy5hZGQoZW50cnkud29ya2VyTmFtZSgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
Ci0gICAgICAgIGlmICghdGhpcy5fc2xhdmVMaXN0IHx8IGhhc1BlbmRpbmdCdWlsZHNXaXRob3V0
U2xhdmVOYW1lU3BlY2lmaWVkKSB7Ci0gICAgICAgICAgICBpZiAodXNlZFNsYXZlcy5zaXplIHx8
IHRoaXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cy5zaXplKQorICAgICAgICBpZiAoIXRoaXMuX3dv
cmtlckxpc3QgfHwgaGFzUGVuZGluZ0J1aWxkc1dpdGhvdXRXb3JrZXJOYW1lU3BlY2lmaWVkKSB7
CisgICAgICAgICAgICBpZiAodXNlZFdvcmtlcnMuc2l6ZSB8fCB0aGlzLl93b3JrZXJzV2l0aE5l
d1JlcXVlc3RzLnNpemUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAg
ICByZXR1cm4gdGhpcy5zY2hlZHVsZVJlcXVlc3QobmV3UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3Vw
LCBudWxsKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChzbGF2ZU5hbWUpIHsKLSAgICAgICAg
ICAgIGlmICghdXNlZFNsYXZlcy5oYXMoc2xhdmVOYW1lKSAmJiAhdGhpcy5fc2xhdmVzV2l0aE5l
d1JlcXVlc3RzLmhhcyhzbGF2ZU5hbWUpKQotICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNj
aGVkdWxlUmVxdWVzdChuZXdSZXF1ZXN0LCByZXF1ZXN0c0luR3JvdXAsIHNsYXZlTmFtZSk7Cisg
ICAgICAgIGlmICh3b3JrZXJOYW1lKSB7CisgICAgICAgICAgICBpZiAoIXVzZWRXb3JrZXJzLmhh
cyh3b3JrZXJOYW1lKSAmJiAhdGhpcy5fd29ya2Vyc1dpdGhOZXdSZXF1ZXN0cy5oYXMod29ya2Vy
TmFtZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVSZXF1ZXN0KG5ld1Jl
cXVlc3QsIHJlcXVlc3RzSW5Hcm91cCwgd29ya2VyTmFtZSk7CiAgICAgICAgICAgICByZXR1cm4g
bnVsbDsKICAgICAgICAgfQogCi0gICAgICAgIGZvciAobGV0IHNsYXZlTmFtZSBvZiB0aGlzLl9z
bGF2ZUxpc3QpIHsKLSAgICAgICAgICAgIGlmICghdXNlZFNsYXZlcy5oYXMoc2xhdmVOYW1lKSAm
JiAhdGhpcy5fc2xhdmVzV2l0aE5ld1JlcXVlc3RzLmhhcyhzbGF2ZU5hbWUpKQotICAgICAgICAg
ICAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlUmVxdWVzdChuZXdSZXF1ZXN0LCByZXF1ZXN0c0lu
R3JvdXAsIHNsYXZlTmFtZSk7CisgICAgICAgIGZvciAobGV0IHdvcmtlck5hbWUgb2YgdGhpcy5f
d29ya2VyTGlzdCkgeworICAgICAgICAgICAgaWYgKCF1c2VkV29ya2Vycy5oYXMod29ya2VyTmFt
ZSkgJiYgIXRoaXMuX3dvcmtlcnNXaXRoTmV3UmVxdWVzdHMuaGFzKHdvcmtlck5hbWUpKQorICAg
ICAgICAgICAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlUmVxdWVzdChuZXdSZXF1ZXN0LCByZXF1
ZXN0c0luR3JvdXAsIHdvcmtlck5hbWUpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIG51
bGw7CkBAIC0xOTksNyArMTk4LDcgQEAgY2xhc3MgQnVpbGRib3RTeW5jZXIgewogICAgICAgICAg
ICAgICAgICAgICBlbnRyeUxpc3QucHVzaChlbnRyeUJ5UmVxdWVzdFtpZF0pOwogCiAgICAgICAg
ICAgICAgICAgdGhpcy5fZW50cnlMaXN0ID0gZW50cnlMaXN0OwotICAgICAgICAgICAgICAgIHRo
aXMuX3NsYXZlc1dpdGhOZXdSZXF1ZXN0cy5jbGVhcigpOworICAgICAgICAgICAgICAgIHRoaXMu
X3dvcmtlcnNXaXRoTmV3UmVxdWVzdHMuY2xlYXIoKTsKIAogICAgICAgICAgICAgICAgIHJldHVy
biBlbnRyeUxpc3Q7CiAgICAgICAgICAgICB9KTsKQEAgLTM0NSw3ICszNDQsNyBAQCBjbGFzcyBC
dWlsZGJvdFN5bmNlciB7CiAKICAgICAgICAgY29uc3QgY29tbW9uQ29uZmlndXJhdGlvbnMgPSB7
CiAgICAgICAgICAgICByZXBvc2l0b3J5R3JvdXBzLAotICAgICAgICAgICAgc2xhdmVBcmd1bWVu
dDogY29uZmlnLnNsYXZlQXJndW1lbnQsCisgICAgICAgICAgICB3b3JrZXJBcmd1bWVudDogY29u
ZmlnLndvcmtlckFyZ3VtZW50LAogICAgICAgICAgICAgYnVpbGRSZXF1ZXN0QXJndW1lbnQ6IGNv
bmZpZy5idWlsZFJlcXVlc3RBcmd1bWVudCwKICAgICAgICAgICAgIHBsYXRmb3JtQXJndW1lbnQ6
IGNvbmZpZy5wbGF0Zm9ybUFyZ3VtZW50LAogICAgICAgICB9OwpAQCAtNTc0LDcgKzU3Myw3IEBA
IGNsYXNzIEJ1aWxkYm90U3luY2VyIHsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICd0ZXN0JzogLy8gRmFsbHRocm91Z2gKLSAgICAg
ICAgICAgIGNhc2UgJ3NsYXZlTGlzdCc6IC8vIEZhbGx0aHJvdWdoCisgICAgICAgICAgICBjYXNl
ICd3b3JrZXJMaXN0JzogLy8gRmFsbHRocm91Z2gKICAgICAgICAgICAgICAgICBhc3NlcnQodmFs
dWUgaW5zdGFuY2VvZiBBcnJheSwgYCR7bmFtZX0gc2hvdWxkIGJlIGFuIGFycmF5YCk7CiAgICAg
ICAgICAgICAgICAgYXNzZXJ0KHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uIChwYXJ0KSB7IHJldHVybiB0
eXBlb2YgcGFydCA9PSAnc3RyaW5nJzsgfSksIGAke25hbWV9IHNob3VsZCBiZSBhbiBhcnJheSBv
ZiBzdHJpbmdzYCk7CiAgICAgICAgICAgICAgICAgY29uZmlnW25hbWVdID0gdmFsdWUuc2xpY2Uo
KTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJv
dC10cmlnZ2VyYWJsZS5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWls
ZGJvdC10cmlnZ2VyYWJsZS5qcwppbmRleCAyOWMxZTUwOGNmZWQ2NTY0YzVjMjM5ZjA2MDU5ODRl
OGU0MTk2ZjMyLi5kNjJjZGUwMjljMTc3OTE3M2M1ZjIxZWQ4NmFhZjFhMWMwM2RhOGEyIDEwMDY0
NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dl
cmFibGUuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2J1aWxkYm90
LXRyaWdnZXJhYmxlLmpzCkBAIC03LDcgKzcsNyBAQCByZXF1aXJlKCcuL3YzLW1vZGVscy5qcycp
OwogbGV0IEJ1aWxkYm90U3luY2VyID0gcmVxdWlyZSgnLi9idWlsZGJvdC1zeW5jZXInKS5CdWls
ZGJvdFN5bmNlcjsKIAogY2xhc3MgQnVpbGRib3RUcmlnZ2VyYWJsZSB7Ci0gICAgY29uc3RydWN0
b3IoY29uZmlnLCByZW1vdGUsIGJ1aWxkYm90UmVtb3RlLCBzbGF2ZUluZm8sIGxvZ2dlcikKKyAg
ICBjb25zdHJ1Y3Rvcihjb25maWcsIHJlbW90ZSwgYnVpbGRib3RSZW1vdGUsIHdvcmtlckluZm8s
IGxvZ2dlcikKICAgICB7CiAgICAgICAgIHRoaXMuX25hbWUgPSBjb25maWcudHJpZ2dlcmFibGVO
YW1lOwogICAgICAgICBhc3NlcnQodHlwZW9mKHRoaXMuX25hbWUpID09ICdzdHJpbmcnLCAndHJp
Z2dlcmFibGVOYW1lIG11c3QgYmUgc3BlY2lmaWVkJyk7CkBAIC0xOSw5ICsxOSw5IEBAIGNsYXNz
IEJ1aWxkYm90VHJpZ2dlcmFibGUgewogICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7CiAg
ICAgICAgIHRoaXMuX2J1aWxkYm90UmVtb3RlID0gYnVpbGRib3RSZW1vdGU7CiAKLSAgICAgICAg
dGhpcy5fc2xhdmVJbmZvID0gc2xhdmVJbmZvOwotICAgICAgICBhc3NlcnQodHlwZW9mKHNsYXZl
SW5mby5uYW1lKSA9PSAnc3RyaW5nJywgJ3NsYXZlIG5hbWUgbXVzdCBiZSBzcGVjaWZpZWQnKTsK
LSAgICAgICAgYXNzZXJ0KHR5cGVvZihzbGF2ZUluZm8ucGFzc3dvcmQpID09ICdzdHJpbmcnLCAn
c2xhdmUgcGFzc3dvcmQgbXVzdCBiZSBzcGVjaWZpZWQnKTsKKyAgICAgICAgdGhpcy5fd29ya2Vy
SW5mbyA9IHdvcmtlckluZm87CisgICAgICAgIGFzc2VydCh0eXBlb2Yod29ya2VySW5mby5uYW1l
KSA9PSAnc3RyaW5nJywgJ3dvcmtlciBuYW1lIG11c3QgYmUgc3BlY2lmaWVkJyk7CisgICAgICAg
IGFzc2VydCh0eXBlb2Yod29ya2VySW5mby5wYXNzd29yZCkgPT0gJ3N0cmluZycsICd3b3JrZXIg
cGFzc3dvcmQgbXVzdCBiZSBzcGVjaWZpZWQnKTsKIAogICAgICAgICB0aGlzLl9zeW5jZXJzID0g
bnVsbDsKICAgICAgICAgdGhpcy5fbG9nZ2VyID0gbG9nZ2VyIHx8IHtsb2c6ICgpID0+IHsgfSwg
ZXJyb3I6ICgpID0+IHsgfX07CkBAIC02Miw4ICs2Miw4IEBAIGNsYXNzIEJ1aWxkYm90VHJpZ2dl
cmFibGUgewogICAgICAgICAgICAgcmVwb3NpdG9yeUdyb3VwcyA9IHN5bmNlci5yZXBvc2l0b3J5
R3JvdXBzKCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRoaXMuX3JlbW90ZS5wb3N0SlNP
TldpdGhTdGF0dXMoYC9hcGkvdXBkYXRlLXRyaWdnZXJhYmxlL2AsIHsKLSAgICAgICAgICAgICdz
bGF2ZU5hbWUnOiB0aGlzLl9zbGF2ZUluZm8ubmFtZSwKLSAgICAgICAgICAgICdzbGF2ZVBhc3N3
b3JkJzogdGhpcy5fc2xhdmVJbmZvLnBhc3N3b3JkLAorICAgICAgICAgICAgJ3dvcmtlck5hbWUn
OiB0aGlzLl93b3JrZXJJbmZvLm5hbWUsCisgICAgICAgICAgICAnd29ya2VyUGFzc3dvcmQnOiB0
aGlzLl93b3JrZXJJbmZvLnBhc3N3b3JkLAogICAgICAgICAgICAgJ3RyaWdnZXJhYmxlJzogdGhp
cy5fbmFtZSwKICAgICAgICAgICAgICdjb25maWd1cmF0aW9ucyc6IEFycmF5LmZyb20obWFwLnZh
bHVlcygpKSwKICAgICAgICAgICAgICdyZXBvc2l0b3J5R3JvdXBzJzogT2JqZWN0LmtleXMocmVw
b3NpdG9yeUdyb3VwcykubWFwKChncm91cE5hbWUpID0+IHsKQEAgLTEwMiw4ICsxMDIsOCBAQCBj
bGFzcyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKICAgICAgICAgICAgIC4uLnVwZGF0ZXMKICAgICAg
ICAgfTsKICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX3JlbW90ZS5wb3N0SlNPTldpdGhTdGF0
dXMoYC9hcGkvYnVpbGQtcmVxdWVzdHMvJHt0aGlzLl9uYW1lfWAsIHsKLSAgICAgICAgICAgICdz
bGF2ZU5hbWUnOiB0aGlzLl9zbGF2ZUluZm8ubmFtZSwKLSAgICAgICAgICAgICdzbGF2ZVBhc3N3
b3JkJzogdGhpcy5fc2xhdmVJbmZvLnBhc3N3b3JkLAorICAgICAgICAgICAgJ3dvcmtlck5hbWUn
OiB0aGlzLl93b3JrZXJJbmZvLm5hbWUsCisgICAgICAgICAgICAnd29ya2VyUGFzc3dvcmQnOiB0
aGlzLl93b3JrZXJJbmZvLnBhc3N3b3JkLAogICAgICAgICAgICAgJ2J1aWxkUmVxdWVzdFVwZGF0
ZXMnOiB1cGRhdGVzfSk7CiAgICAgfQogCkBAIC0xMjMsOSArMTIzLDkgQEAgY2xhc3MgQnVpbGRi
b3RUcmlnZ2VyYWJsZSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAg
ICByZXR1cm4gYXdhaXQgdGhpcy5fc2NoZWR1bGVSZXF1ZXN0SWZTbGF2ZUlzQXZhaWxhYmxlKGJ1
aWxkUmVxdWVzdCwgdGVzdEdyb3VwLnJlcXVlc3RzLAorICAgICAgICByZXR1cm4gYXdhaXQgdGhp
cy5fc2NoZWR1bGVSZXF1ZXN0SWZXb3JrZXJJc0F2YWlsYWJsZShidWlsZFJlcXVlc3QsIHRlc3RH
cm91cC5yZXF1ZXN0cywKICAgICAgICAgICAgIGJ1aWxkUmVxdWVzdC5pc0J1aWxkKCkgPyB0ZXN0
R3JvdXAuYnVpbGRTeW5jZXIgOiB0ZXN0R3JvdXAudGVzdFN5bmNlciwKLSAgICAgICAgICAgIGJ1
aWxkUmVxdWVzdC5pc0J1aWxkKCkgPyB0ZXN0R3JvdXAuYnVpbGRTbGF2ZU5hbWUgOiB0ZXN0R3Jv
dXAudGVzdFNsYXZlTmFtZSk7CisgICAgICAgICAgICBidWlsZFJlcXVlc3QuaXNCdWlsZCgpID8g
dGVzdEdyb3VwLmJ1aWxkV29ya2VyTmFtZSA6IHRlc3RHcm91cC50ZXN0V29ya2VyTmFtZSk7CiAg
ICAgfQogCiAgICAgX3ZhbGlkYXRlUmVxdWVzdHMoYnVpbGRSZXF1ZXN0cykKQEAgLTE4NiwxNiAr
MTg2LDE2IEBAIGNsYXNzIEJ1aWxkYm90VHJpZ2dlcmFibGUgewogCiAgICAgICAgICAgICAgICAg
aWYgKHJlcXVlc3QuaXNCdWlsZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5m
by5idWlsZFN5bmNlciB8fCBpbmZvLmJ1aWxkU3luY2VyID09IHN5bmNlcik7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChlbnRyeS5zbGF2ZU5hbWUoKSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgYXNzZXJ0KCFpbmZvLmJ1aWxkU2xhdmVOYW1lIHx8IGluZm8uYnVpbGRTbGF2ZU5hbWUgPT0g
ZW50cnkuc2xhdmVOYW1lKCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5idWlsZFNs
YXZlTmFtZSA9IGVudHJ5LnNsYXZlTmFtZSgpOworICAgICAgICAgICAgICAgICAgICBpZiAoZW50
cnkud29ya2VyTmFtZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQoIWluZm8u
YnVpbGRXb3JrZXJOYW1lIHx8IGluZm8uYnVpbGRXb3JrZXJOYW1lID09IGVudHJ5Lndvcmtlck5h
bWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmJ1aWxkV29ya2VyTmFtZSA9IGVu
dHJ5Lndvcmtlck5hbWUoKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICAgICBpbmZvLmJ1aWxkU3luY2VyID0gc3luY2VyOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby50ZXN0U3luY2VyIHx8IGluZm8udGVz
dFN5bmNlciA9PSBzeW5jZXIpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkuc2xhdmVO
YW1lKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby50ZXN0U2xhdmVO
YW1lIHx8IGluZm8udGVzdFNsYXZlTmFtZSA9PSBlbnRyeS5zbGF2ZU5hbWUoKSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpbmZvLnRlc3RTbGF2ZU5hbWUgPSBlbnRyeS5zbGF2ZU5hbWUoKTsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5Lndvcmtlck5hbWUoKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLnRlc3RXb3JrZXJOYW1lIHx8IGluZm8udGVzdFdv
cmtlck5hbWUgPT0gZW50cnkud29ya2VyTmFtZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGluZm8udGVzdFdvcmtlck5hbWUgPSBlbnRyeS53b3JrZXJOYW1lKCk7CiAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgaW5mby50ZXN0U3luY2VyID0gc3luY2VyOwog
ICAgICAgICAgICAgICAgIH0KQEAgLTIzNyw3ICsyMzcsNyBAQCBjbGFzcyBCdWlsZGJvdFRyaWdn
ZXJhYmxlIHsKICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgfQogCi0gICAgX3NjaGVkdWxlUmVx
dWVzdElmU2xhdmVJc0F2YWlsYWJsZShuZXh0UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBzeW5j
ZXIsIHNsYXZlTmFtZSkKKyAgICBfc2NoZWR1bGVSZXF1ZXN0SWZXb3JrZXJJc0F2YWlsYWJsZShu
ZXh0UmVxdWVzdCwgcmVxdWVzdHNJbkdyb3VwLCBzeW5jZXIsIHdvcmtlck5hbWUpCiAgICAgewog
ICAgICAgICBpZiAoIW5leHRSZXF1ZXN0KQogICAgICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC0y
NDUsNyArMjQ1LDcgQEAgY2xhc3MgQnVpbGRib3RUcmlnZ2VyYWJsZSB7CiAgICAgICAgIGNvbnN0
IGlzRmlyc3RSZXF1ZXN0ID0gbmV4dFJlcXVlc3QgPT0gcmVxdWVzdHNJbkdyb3VwWzBdIHx8ICFu
ZXh0UmVxdWVzdC5vcmRlcigpOwogICAgICAgICBpZiAoIWlzRmlyc3RSZXF1ZXN0KSB7CiAgICAg
ICAgICAgICBpZiAoc3luY2VyKQotICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zY2hlZHVs
ZVJlcXVlc3RXaXRoTG9nKHN5bmNlciwgbmV4dFJlcXVlc3QsIHJlcXVlc3RzSW5Hcm91cCwgc2xh
dmVOYW1lKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2NoZWR1bGVSZXF1ZXN0V2l0
aExvZyhzeW5jZXIsIG5leHRSZXF1ZXN0LCByZXF1ZXN0c0luR3JvdXAsIHdvcmtlck5hbWUpOwog
ICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmVycm9yKGBDb3VsZCBub3QgaWRlbnRpZnkgdGhlIHN5
bmNlciBmb3IgJHtuZXh0UmVxdWVzdC5pZCgpfS5gKTsKICAgICAgICAgfQogCkBAIC0yNjIsMTIg
KzI2MiwxMiBAQCBjbGFzcyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKICAgICAgICAgcmV0dXJuIG51
bGw7CiAgICAgfQogCi0gICAgX3NjaGVkdWxlUmVxdWVzdFdpdGhMb2coc3luY2VyLCByZXF1ZXN0
LCByZXF1ZXN0c0luR3JvdXAsIHNsYXZlTmFtZSkKKyAgICBfc2NoZWR1bGVSZXF1ZXN0V2l0aExv
ZyhzeW5jZXIsIHJlcXVlc3QsIHJlcXVlc3RzSW5Hcm91cCwgd29ya2VyTmFtZSkKICAgICB7Ci0g
ICAgICAgIGNvbnN0IHByb21pc2UgPSBzeW5jZXIuc2NoZWR1bGVSZXF1ZXN0SW5Hcm91cElmQXZh
aWxhYmxlKHJlcXVlc3QsIHJlcXVlc3RzSW5Hcm91cCwgc2xhdmVOYW1lKTsKKyAgICAgICAgY29u
c3QgcHJvbWlzZSA9IHN5bmNlci5zY2hlZHVsZVJlcXVlc3RJbkdyb3VwSWZBdmFpbGFibGUocmVx
dWVzdCwgcmVxdWVzdHNJbkdyb3VwLCB3b3JrZXJOYW1lKTsKICAgICAgICAgaWYgKCFwcm9taXNl
KQogICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7Ci0gICAgICAgIHRoaXMuX2xvZ2dlci5sb2co
YFNjaGVkdWxpbmcgYnVpbGQgcmVxdWVzdCAke3JlcXVlc3QuaWQoKX0ke3NsYXZlTmFtZSA/ICcg
b24gJyArIHNsYXZlTmFtZSA6ICcnfSBpbiAke3N5bmNlci5idWlsZGVyTmFtZSgpfWApOworICAg
ICAgICB0aGlzLl9sb2dnZXIubG9nKGBTY2hlZHVsaW5nIGJ1aWxkIHJlcXVlc3QgJHtyZXF1ZXN0
LmlkKCl9JHt3b3JrZXJOYW1lID8gJyBvbiAnICsgd29ya2VyTmFtZSA6ICcnfSBpbiAke3N5bmNl
ci5idWlsZGVyTmFtZSgpfWApOwogICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICB9CiAKQEAg
LTI3OCw3ICsyNzgsNyBAQCBjbGFzcyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKICAgICAgICAgZm9y
IChsZXQgcmVxdWVzdCBvZiBidWlsZFJlcXVlc3RzKSB7CiAgICAgICAgICAgICBsZXQgZ3JvdXBJ
ZCA9IHJlcXVlc3QudGVzdEdyb3VwSWQoKTsKICAgICAgICAgICAgIGlmICghbWFwLmhhcyhncm91
cElkKSkgLy8gRG9uJ3QgdXNlIHJlYWwgVGVzdEdyb3VwIG9iamVjdHMgdG8gYXZvaWQgZXhlY3V0
aW5nIHBvc3RncmVzIHF1ZXJ5IGluIHRoZSBzZXJ2ZXIKLSAgICAgICAgICAgICAgICBtYXAuc2V0
KGdyb3VwSWQsIHtpZDogZ3JvdXBJZCwgZ3JvdXBPcmRlcjogZ3JvdXBPcmRlcisrLCByZXF1ZXN0
czogW3JlcXVlc3RdLCBidWlsZFN5bmNlcjogbnVsbCwgdGVzdFN5bmNlcjogbnVsbCwgc2xhdmVO
YW1lOiBudWxsfSk7CisgICAgICAgICAgICAgICAgbWFwLnNldChncm91cElkLCB7aWQ6IGdyb3Vw
SWQsIGdyb3VwT3JkZXI6IGdyb3VwT3JkZXIrKywgcmVxdWVzdHM6IFtyZXF1ZXN0XSwgYnVpbGRT
eW5jZXI6IG51bGwsIHRlc3RTeW5jZXI6IG51bGwsIHdvcmtlck5hbWU6IG51bGx9KTsKICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBtYXAuZ2V0KGdyb3VwSWQpLnJlcXVlc3RzLnB1
c2gocmVxdWVzdCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy90b29scy9qcy9kYXRhYmFzZS5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29s
cy9qcy9kYXRhYmFzZS5qcwppbmRleCA5MDdlNGQ3ZDlhYjFhODNhMzE1Zjk3YmE1ODBkN2Y1NjFk
M2Q5NTlhLi45YWVlZTllNmEyMmU1NmRmMGQ4MGQ3MTJkZTY0Y2E0YmY3M2IzOGIzIDEwMDY0NAot
LS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvZGF0YWJhc2UuanMKKysrIGIv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL2RhdGFiYXNlLmpzCkBAIC0xNTEsNyAr
MTUxLDcgQEAgY29uc3QgdGFibGVUb1ByZWZpeE1hcCA9IHsKICAgICAnYnVnX3RyYWNrZXJzJzog
J3RyYWNrZXInLAogICAgICdidWlsZF90cmlnZ2VyYWJsZXMnOiAndHJpZ2dlcmFibGUnLAogICAg
ICdidWlsZF9yZXF1ZXN0cyc6ICdyZXF1ZXN0JywKLSAgICAnYnVpbGRfc2xhdmVzJzogJ3NsYXZl
JywKKyAgICAnYnVpbGRfd29ya2Vycyc6ICd3b3JrZXInLAogICAgICdidWlsZHMnOiAnYnVpbGQn
LAogICAgICdidWlsZGVycyc6ICdidWlsZGVyJywKICAgICAnY29tbWl0cyc6ICdjb21taXQnLApk
aWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pzL29zLWJ1aWxkLWZl
dGNoZXIuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvb3MtYnVpbGQtZmV0
Y2hlci5qcwppbmRleCAyZDZmNTBhOTU3MzBkY2Q2NmM0NzQ1ODMxYmI4ZWI3ZWI3ZjIzYTZiLi44
Yjg1ZTU5N2IyZGE5YTdkNDBlYjAwMTYzNTk0ZTY0ODA4NDk4YjY5IDEwMDY0NAotLS0gYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvb3MtYnVpbGQtZmV0Y2hlci5qcworKysgYi9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvb3MtYnVpbGQtZmV0Y2hlci5qcwpAQCAt
MTIsMTEgKzEyLDExIEBAIGZ1bmN0aW9uIG1hcEluU2VyaWFsUHJvbWlzZUNoYWluKGxpc3QsIGNh
bGxiYWNrKQogCiBjbGFzcyBPU0J1aWxkRmV0Y2hlciB7CiAKLSAgICBjb25zdHJ1Y3Rvcihvc0Nv
bmZpZywgcmVtb3RlQVBJLCBzbGF2ZUF1dGgsIHN1YnByb2Nlc3MsIGxvZ2dlcikKKyAgICBjb25z
dHJ1Y3Rvcihvc0NvbmZpZywgcmVtb3RlQVBJLCB3b3JrZXJBdXRoLCBzdWJwcm9jZXNzLCBsb2dn
ZXIpCiAgICAgewogICAgICAgICB0aGlzLl9vc0NvbmZpZyA9IG9zQ29uZmlnOwogICAgICAgICB0
aGlzLl9sb2dnZXIgPSBsb2dnZXI7Ci0gICAgICAgIHRoaXMuX3NsYXZlQXV0aCA9IHNsYXZlQXV0
aDsKKyAgICAgICAgdGhpcy5fd29ya2VyQXV0aCA9IHdvcmtlckF1dGg7CiAgICAgICAgIHRoaXMu
X3JlbW90ZUFQSSA9IHJlbW90ZUFQSTsKICAgICAgICAgdGhpcy5fc3VicHJvY2VzcyA9IHN1YnBy
b2Nlc3M7CiAgICAgICAgIHRoaXMuX21heFN1Ym1pdENvdW50ID0gb3NDb25maWdbJ21heFN1Ym1p
dENvdW50J10gfHwgMjA7CkBAIC0xMzYsNyArMTM2LDcgQEAgY2xhc3MgT1NCdWlsZEZldGNoZXIg
ewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGZvcihsZXQgY29tbWl0c1RvU3VibWl0
ID0gY29tbWl0c1RvUG9zdC5zcGxpY2UoMCwgdGhpcy5fbWF4U3VibWl0Q291bnQpOyBjb21taXRz
VG9TdWJtaXQubGVuZ3RoOyBjb21taXRzVG9TdWJtaXQgPSBjb21taXRzVG9Qb3N0LnNwbGljZSgw
LCB0aGlzLl9tYXhTdWJtaXRDb3VudCkpIHsKLSAgICAgICAgICAgIGNvbnN0IHJlcG9ydCA9IHsi
c2xhdmVOYW1lIjogdGhpcy5fc2xhdmVBdXRoWyduYW1lJ10sICJzbGF2ZVBhc3N3b3JkIjogdGhp
cy5fc2xhdmVBdXRoWydwYXNzd29yZCddLCAnY29tbWl0cyc6IGNvbW1pdHNUb1N1Ym1pdCwgaW5z
ZXJ0fTsKKyAgICAgICAgICAgIGNvbnN0IHJlcG9ydCA9IHsid29ya2VyTmFtZSI6IHRoaXMuX3dv
cmtlckF1dGhbJ25hbWUnXSwgIndvcmtlclBhc3N3b3JkIjogdGhpcy5fd29ya2VyQXV0aFsncGFz
c3dvcmQnXSwgJ2NvbW1pdHMnOiBjb21taXRzVG9TdWJtaXQsIGluc2VydH07CiAgICAgICAgICAg
ICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3JlbW90ZUFQSS5wb3N0SlNPTldpdGhTdGF0
dXMoJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgcmVwb3J0KTsKICAgICAgICAgICAgIGFzc2VydChy
ZXNwb25zZVsnc3RhdHVzJ10gPT09ICdPSycpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvcHJpdmlsZWdlZC1hcGkuanMgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvcHJpdmlsZWdlZC1hcGkuanMKaW5kZXggNGQzMWYy
ZDQ0ZjYwNzJiNjA2MjRjMzQ0MGIwZGVlNTJmOWJjM2I4MS4uOTdhNjE2OWYwZDI5MTk3YzEyNGEx
ZDgyOTY0YzkxMWUzZjJlMzY1YyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3Rvb2xzL2pzL3ByaXZpbGVnZWQtYXBpLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy90b29scy9qcy9wcml2aWxlZ2VkLWFwaS5qcwpAQCAtNCw3ICs0LDcgQEAgY2xhc3MgTm9kZVBy
aXZpbGVnZWRBUEkgewogCiAgICAgc3RhdGljIHNlbmRSZXF1ZXN0KHBhdGgsIGRhdGEsIG9wdGlv
bnMgPSB7dXNlRm9ybURhdGE6IGZhbHNlfSkKICAgICB7Ci0gICAgICAgIGNvbnN0IGNsb25lZERh
dGEgPSB7c2xhdmVOYW1lOiB0aGlzLl9zbGF2ZU5hbWUsIHNsYXZlUGFzc3dvcmQ6IHRoaXMuX3Ns
YXZlUGFzc3dvcmR9OworICAgICAgICBjb25zdCBjbG9uZWREYXRhID0ge3dvcmtlck5hbWU6IHRo
aXMuX3dvcmtlck5hbWUsIHdvcmtlclBhc3N3b3JkOiB0aGlzLl93b3JrZXJQYXNzd29yZH07CiAg
ICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpCiAgICAgICAgICAgICBjbG9uZWREYXRhW2tl
eV0gPSBkYXRhW2tleV07CiAKQEAgLTE1LDEwICsxNSwxMCBAQCBjbGFzcyBOb2RlUHJpdmlsZWdl
ZEFQSSB7CiAgICAgICAgICAgICA6IFJlbW90ZUFQSS5wb3N0SlNPTldpdGhTdGF0dXMoZnVsbFBh
dGgsIGNsb25lZERhdGEsIG9wdGlvbnMpOwogICAgIH0KIAotICAgIHN0YXRpYyBjb25maWd1cmUo
c2xhdmVOYW1lLCBzbGF2ZVBhc3N3b3JkKQorICAgIHN0YXRpYyBjb25maWd1cmUod29ya2VyTmFt
ZSwgd29ya2VyUGFzc3dvcmQpCiAgICAgewotICAgICAgICB0aGlzLl9zbGF2ZU5hbWUgPSBzbGF2
ZU5hbWU7Ci0gICAgICAgIHRoaXMuX3NsYXZlUGFzc3dvcmQgPSBzbGF2ZVBhc3N3b3JkOworICAg
ICAgICB0aGlzLl93b3JrZXJOYW1lID0gd29ya2VyTmFtZTsKKyAgICAgICAgdGhpcy5fd29ya2Vy
UGFzc3dvcmQgPSB3b3JrZXJQYXNzd29yZDsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9wdWxsLW9zLXZlcnNpb25zLnB5IGIvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3Rvb2xzL3B1bGwtb3MtdmVyc2lvbnMucHkKaW5kZXggNmYxYWM5YzMy
NWY0NzlmYjU2NTdkNTY2NGU1ZDg1OWYzM2ZmMjJmMS4uNmRhYTZiYmMyZDQ4OGQ3YjM1Y2ViOTM2
NWEzZjBlZDE5NDgyN2ViNiAxMDA3NTUKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rv
b2xzL3B1bGwtb3MtdmVyc2lvbnMucHkKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rv
b2xzL3B1bGwtb3MtdmVyc2lvbnMucHkKQEAgLTY3LDcgKzY3LDcgQEAgY2xhc3MgT1NCdWlsZEZl
dGNoZXI6CiAgICAgICAgIHNlbGYuX2Fzc2lnbl9vcmRlcihhdmFpbGFibGVfYnVpbGRzKQogCiAg
ICAgICAgIHByaW50ICJTdWJtaXR0aW5nICVkIGJ1aWxkcyIgJSBsZW4oYXZhaWxhYmxlX2J1aWxk
cykKLSAgICAgICAgc3VibWl0X2NvbW1pdHMoYXZhaWxhYmxlX2J1aWxkcywgc2VydmVyX2NvbmZp
Z1snc2VydmVyJ11bJ3VybCddLCBzZXJ2ZXJfY29uZmlnWydzbGF2ZSddWyduYW1lJ10sIHNlcnZl
cl9jb25maWdbJ3NsYXZlJ11bJ3Bhc3N3b3JkJ10pCisgICAgICAgIHN1Ym1pdF9jb21taXRzKGF2
YWlsYWJsZV9idWlsZHMsIHNlcnZlcl9jb25maWdbJ3NlcnZlciddWyd1cmwnXSwgc2VydmVyX2Nv
bmZpZ1snd29ya2VyJ11bJ25hbWUnXSwgc2VydmVyX2NvbmZpZ1snd29ya2VyJ11bJ3Bhc3N3b3Jk
J10pCiAgICAgICAgIHJlcG9ydGVkX3JldmlzaW9ucyB8PSBzZXQobWFwKGxhbWJkYSBjb21taXQ6
IGNvbW1pdFsncmV2aXNpb24nXSwgYXZhaWxhYmxlX2J1aWxkcykpCiAKICAgICBAc3RhdGljbWV0
aG9kCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvcnVuLWFuYWx5
c2lzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL3J1bi1hbmFseXNpcy5qcwpp
bmRleCAyZTFjZjM3Y2M4NGVhYWU4YzUwYjQzZTk2Njc3MzVlZGMxMTE5ZTQ4Li5kNjBmODFlMTJi
ZDg3N2I3ZTUwNmMwZWQwMzY1YmRjZjcwNTU4ODhmIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvdG9vbHMvcnVuLWFuYWx5c2lzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy90b29scy9ydW4tYW5hbHlzaXMuanMKQEAgLTM0LDcgKzM0LDcgQEAgYXN5bmMgZnVu
Y3Rpb24gYW5hbHlzaXNMb29wKG9wdGlvbnMpCiAgICAgICAgIGNvbnN0IGFuYWx5c2lzUmFuZ2VJ
bkRheXMgPSBvcHRpb25zWyctLWFuYWx5c2lzLXJhbmdlLWluLWRheXMnXTsKIAogICAgICAgICBn
bG9iYWwuUmVtb3RlQVBJID0gbmV3IFJlbW90ZUFQSShzZXJ2ZXJDb25maWcuc2VydmVyKTsKLSAg
ICAgICAgUHJpdmlsZWdlZEFQSS5jb25maWd1cmUoc2VydmVyQ29uZmlnLnNsYXZlLm5hbWUsIHNl
cnZlckNvbmZpZy5zbGF2ZS5wYXNzd29yZCk7CisgICAgICAgIFByaXZpbGVnZWRBUEkuY29uZmln
dXJlKHNlcnZlckNvbmZpZy53b3JrZXIubmFtZSwgc2VydmVyQ29uZmlnLndvcmtlci5wYXNzd29y
ZCk7CiAKICAgICAgICAgY29uc3QgbWFuaWZlc3QgPSBhd2FpdCBNYW5pZmVzdC5mZXRjaCgpOwog
ICAgICAgICBjb25zdCBtZWFzdXJlbWVudFNldExpc3QgPSBNZWFzdXJlbWVudFNldEFuYWx5emVy
Lm1lYXN1cmVtZW50U2V0TGlzdEZvckFuYWx5c2lzKG1hbmlmZXN0KTsKZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9zeW5jLWJ1aWxkYm90LmpzIGIvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3Rvb2xzL3N5bmMtYnVpbGRib3QuanMKaW5kZXggNzA3NDBmMzA2Y2Nh
ZjljNjdmYjIwNzNhNDUzMGU1Y2UxMzAyNzBiZS4uNmYzNTBlYjI0ODJjZjZkMTQ4Y2E4NDE0MGEy
Y2QwNGQ4ZTMwNmU0MiAxMDA3NTUKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xz
L3N5bmMtYnVpbGRib3QuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL3N5
bmMtYnVpbGRib3QuanMKQEAgLTMxLDcgKzMxLDcgQEAgZnVuY3Rpb24gc3luY0xvb3Aob3B0aW9u
cykKICAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmcgdGhlIG1hbmlmZXN0Li4uYCk7CiAKICAgICBj
b25zdCBtYWtlVHJpZ2dlcmFibGUgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHJldHVybiBuZXcg
QnVpbGRib3RUcmlnZ2VyYWJsZShidWlsZGJvdENvbmZpZywgZ2xvYmFsLlJlbW90ZUFQSSwgYnVp
bGRib3RSZW1vdGUsIHNlcnZlckNvbmZpZy5zbGF2ZSwgY29uc29sZSkKKyAgICAgICAgcmV0dXJu
IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGJ1aWxkYm90Q29uZmlnLCBnbG9iYWwuUmVtb3RlQVBJ
LCBidWlsZGJvdFJlbW90ZSwgc2VydmVyQ29uZmlnLndvcmtlciwgY29uc29sZSkKICAgICB9Owog
CiAgICAgTWFuaWZlc3QuZmV0Y2goKS50aGVuKCgpID0+IHsKZGlmZiAtLWdpdCBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy90b29scy9zeW5jLWNvbW1pdHMucHkgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdG9vbHMvc3luYy1jb21taXRzLnB5CmluZGV4IGZkYmUyYzI1OWZhZDk2MjBmNTQ1
ZTliMDBhNzUzNDg2YWMyNzAxMmMuLjg3OTk3NTBmM2RhM2FjOGI1OTg1N2JmN2M0NjU4ZmJkNjg5
OGNkM2YgMTAwNzU1Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9zeW5jLWNv
bW1pdHMucHkKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL3N5bmMtY29tbWl0
cy5weQpAQCAtNzksNyArNzksNyBAQCBjbGFzcyBSZXBvc2l0b3J5KG9iamVjdCk6CiAgICAgICAg
ICAgICBwcmludCAiU3VibWl0dGluZyByZXZpc2lvbnMgJXMgZm9yICVzIHRvICVzIiAlIChyZXZp
c2lvbl9saXN0LCBzZWxmLl9uYW1lLCBzZXJ2ZXJfY29uZmlnWydzZXJ2ZXInXVsndXJsJ10pCiAK
ICAgICAgICAgICAgIHJlc3VsdCA9IHN1Ym1pdF9jb21taXRzKHBlbmRpbmdfY29tbWl0cywgc2Vy
dmVyX2NvbmZpZ1snc2VydmVyJ11bJ3VybCddLAotICAgICAgICAgICAgICAgIHNlcnZlcl9jb25m
aWdbJ3NsYXZlJ11bJ25hbWUnXSwgc2VydmVyX2NvbmZpZ1snc2xhdmUnXVsncGFzc3dvcmQnXSwg
WydPSycsICdGYWlsZWRUb0ZpbmRQcmV2aW91c0NvbW1pdCddKQorICAgICAgICAgICAgICAgIHNl
cnZlcl9jb25maWdbJ3dvcmtlciddWyduYW1lJ10sIHNlcnZlcl9jb25maWdbJ3dvcmtlciddWydw
YXNzd29yZCddLCBbJ09LJywgJ0ZhaWxlZFRvRmluZFByZXZpb3VzQ29tbWl0J10pCiAKICAgICAg
ICAgICAgIGlmIHJlc3VsdC5nZXQoJ3N0YXR1cycpID09ICdPSyc6CiAgICAgICAgICAgICAgICAg
YnJlYWsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9zeW5jLW9z
LXZlcnNpb25zLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL3N5bmMtb3MtdmVy
c2lvbnMuanMKaW5kZXggNGZiZTU4MmJmMDM4OGRhNGE0YjNhNzUzMDdkMmYxNmI2MjI5N2M3OC4u
OGY4YzEwZmM5OGUxOWIwODA0MDIyYzQ1ZjY1MjRlZTdhNzBhMWE1OCAxMDA2NDQKLS0tIGEvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL3N5bmMtb3MtdmVyc2lvbnMuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL3N5bmMtb3MtdmVyc2lvbnMuanMKQEAgLTI4LDcg
KzI4LDcgQEAgZnVuY3Rpb24gc3luY0xvb3Aob3B0aW9ucykKIAogICAgIGNvbnN0IHJlbW90ZUFQ
SSA9IG5ldyBSZW1vdGVBUEkoc2VydmVyQ29uZmlnLnNlcnZlcik7CiAKLSAgICBjb25zdCBmZXRj
aGVycyA9IG9zQ29uZmlnTGlzdC5tYXAoKG9zQ29uZmlnKSA9PiBuZXcgT1NCdWlsZEZldGNoZXIo
b3NDb25maWcsIHJlbW90ZUFQSSwgc2VydmVyQ29uZmlnLnNsYXZlLCBuZXcgU3VicHJvY2Vzcywg
Y29uc29sZSkpOworICAgIGNvbnN0IGZldGNoZXJzID0gb3NDb25maWdMaXN0Lm1hcCgob3NDb25m
aWcpID0+IG5ldyBPU0J1aWxkRmV0Y2hlcihvc0NvbmZpZywgcmVtb3RlQVBJLCBzZXJ2ZXJDb25m
aWcud29ya2VyLCBuZXcgU3VicHJvY2VzcywgY29uc29sZSkpOwogICAgIE9TQnVpbGRGZXRjaGVy
LmZldGNoUmVwb3J0QW5kVXBkYXRlQ29tbWl0cyhmZXRjaGVycykuY2F0Y2goKGVycm9yKSA9PiB7
CiAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpOwogICAgICAgICBpZiAodHlwZW9mKGVycm9y
LnN0YWNrKSA9PSAnc3RyaW5nJykgewpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3Rvb2xzL3V0aWwucHkgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvdXRpbC5w
eQppbmRleCAzMTI4NzkwM2YwYTExYWJmMzdkYzA2MWVjOTQyNWVkMGZiMTgyNDNiLi4yZGQ3MDAy
OTg5Mjc0MGRmYmEwMWUwOTIyM2U5MDM0OWEwMjkzMzgwIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdG9vbHMvdXRpbC5weQorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvdG9vbHMvdXRpbC5weQpAQCAtMywxMSArMywxMSBAQCBpbXBvcnQgc3lzCiBpbXBvcnQgdXJs
bGliMgogCiAKLWRlZiBzdWJtaXRfY29tbWl0cyhjb21taXRzLCBkYXNoYm9hcmRfdXJsLCBzbGF2
ZV9uYW1lLCBzbGF2ZV9wYXNzd29yZCwgc3RhdHVzX3RvX2FjY2VwdD1bJ09LJ10pOgorZGVmIHN1
Ym1pdF9jb21taXRzKGNvbW1pdHMsIGRhc2hib2FyZF91cmwsIHdvcmtlcl9uYW1lLCB3b3JrZXJf
cGFzc3dvcmQsIHN0YXR1c190b19hY2NlcHQ9WydPSyddKToKICAgICB0cnk6CiAgICAgICAgIHBh
eWxvYWQgPSBqc29uLmR1bXBzKHsKLSAgICAgICAgICAgICdzbGF2ZU5hbWUnOiBzbGF2ZV9uYW1l
LAotICAgICAgICAgICAgJ3NsYXZlUGFzc3dvcmQnOiBzbGF2ZV9wYXNzd29yZCwKKyAgICAgICAg
ICAgICd3b3JrZXJOYW1lJzogd29ya2VyX25hbWUsCisgICAgICAgICAgICAnd29ya2VyUGFzc3dv
cmQnOiB3b3JrZXJfcGFzc3dvcmQsCiAgICAgICAgICAgICAnY29tbWl0cyc6IGNvbW1pdHMsCiAg
ICAgICAgIH0pCiAgICAgICAgIHJlcXVlc3QgPSB1cmxsaWIyLlJlcXVlc3QoZGFzaGJvYXJkX3Vy
bCArICcvYXBpL3JlcG9ydC1jb21taXRzJykKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy91bml0LXRlc3RzL2FuYWx5c2lzLXRhc2stdGVzdHMuanMgYi9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvdW5pdC10ZXN0cy9hbmFseXNpcy10YXNrLXRlc3RzLmpzCmluZGV4IDYzYzc1
YzVlZjRhM2UwODlmY2I4ZWYxZTMzYTIxYmE4NjhmNmI2OTEuLjk4MzExMGFkYjBiOGZjNTdjZjcx
OGNhZjM0ZWE5NDA0MWNhNmM0OTcgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy91bml0LXRlc3RzL2FuYWx5c2lzLXRhc2stdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3VuaXQtdGVzdHMvYW5hbHlzaXMtdGFzay10ZXN0cy5qcwpAQCAtNDQ5LDcgKzQ0
OSw3IEBAIGRlc2NyaWJlKCdBbmFseXNpc1Rhc2snLCAoKSA9PiB7CiAgICAgICAgICAgICBBbmFs
eXNpc1Rhc2suY3JlYXRlKCdjb25maXJtJywgc3RhcnRQb2ludCwgZW5kUG9pbnQpOwogICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy9wcml2aWxlZ2VkLWFwaS9jcmVh
dGUtYW5hbHlzaXMtdGFzaycpOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxl
bmd0aCwgMSk7Ci0gICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEs
IHtuYW1lOiAnY29uZmlybScsIHN0YXJ0UnVuOiAxLCBlbmRSdW46IDIsIHNsYXZlTmFtZTogJ3dv
cmtlcicsIHNsYXZlUGFzc3dvcmQ6ICdwYXNzd29yZCd9KTsKKyAgICAgICAgICAgIGFzc2VydC5k
ZWVwRXF1YWwocmVxdWVzdHNbMF0uZGF0YSwge25hbWU6ICdjb25maXJtJywgc3RhcnRSdW46IDEs
IGVuZFJ1bjogMiwgd29ya2VyTmFtZTogJ3dvcmtlcicsIHdvcmtlclBhc3N3b3JkOiAncGFzc3dv
cmQnfSk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIGl0KCdzaG91bGQgY3JlYXRlIGFuYWx5c2lz
IHRhc2sgd2l0aCBjb25maXJtaW5nIHJlcGV0aXRpb24gY291bnQgc3BlY2lmaWVkJywgKCkgPT4g
ewpAQCAtNDU4LDcgKzQ1OCw3IEBAIGRlc2NyaWJlKCdBbmFseXNpc1Rhc2snLCAoKSA9PiB7CiAg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnL3ByaXZpbGVnZWQtYXBp
L2NyZWF0ZS1hbmFseXNpcy10YXNrJyk7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVz
dHMubGVuZ3RoLCAxKTsKICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMF0u
ZGF0YSwge25hbWU6ICdjb25maXJtJywgcmVwZXRpdGlvbkNvdW50OiA0LCBuZWVkc05vdGlmaWNh
dGlvbjogdHJ1ZSwKLSAgICAgICAgICAgICAgICBzdGFydFJ1bjogMSwgZW5kUnVuOiAyLCBzbGF2
ZU5hbWU6ICd3b3JrZXInLCBzbGF2ZVBhc3N3b3JkOiAncGFzc3dvcmQnLAorICAgICAgICAgICAg
ICAgIHN0YXJ0UnVuOiAxLCBlbmRSdW46IDIsIHdvcmtlck5hbWU6ICd3b3JrZXInLCB3b3JrZXJQ
YXNzd29yZDogJ3Bhc3N3b3JkJywKICAgICAgICAgICAgICAgICB0ZXN0R3JvdXBOYW1lOiAnQ29u
ZmlybScsIHJldmlzaW9uU2V0czogWwogICAgICAgICAgICAgICAgICAgICB7JzExJzoge3Jldmlz
aW9uOiAnd2Via2l0LXJldmlzaW9uLTEnLCBvd25lclJldmlzaW9uOiBudWxsLCBwYXRjaDogbnVs
bH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAnMjInOiB7cmV2aXNpb246ICdpb3MtcmV2aXNp
b24tMScsIG93bmVyUmV2aXNpb246IG51bGwsIHBhdGNoOiBudWxsfX0sCmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9idWlsZGJvdC1zeW5jZXItdGVzdHMu
anMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9idWlsZGJvdC1zeW5jZXIt
dGVzdHMuanMKaW5kZXggNDA4NzgyNWMwNTgyMzViOTg2ZTdkMThmYmYzM2RhOTJlZmU5YzAxNi4u
ODc5ODZkMzZmNTZmYzUzZjg5ZGFjMGVjZTUwOWExNDk3YWIzNzFjZSAxMDA2NDQKLS0tIGEvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvYnVpbGRib3Qtc3luY2VyLXRlc3RzLmpz
CisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2J1aWxkYm90LXN5bmNl
ci10ZXN0cy5qcwpAQCAtMTQsNyArMTQsNyBAQCBjb25zdCBCdWlsZGJvdFN5bmNlciA9IHJlcXVp
cmUoJy4uL3Rvb2xzL2pzL2J1aWxkYm90LXN5bmNlci5qcycpLkJ1aWxkYm90U3luY2VyOwogZnVu
Y3Rpb24gc2FtcGxlaU9TQ29uZmlnKCkKIHsKICAgICByZXR1cm4gewotICAgICAgICAnc2xhdmVB
cmd1bWVudCc6ICdzbGF2ZW5hbWUnLAorICAgICAgICAnd29ya2VyQXJndW1lbnQnOiAnd29ya2Vy
bmFtZScsCiAgICAgICAgICdidWlsZFJlcXVlc3RBcmd1bWVudCc6ICdidWlsZF9yZXF1ZXN0X2lk
JywKICAgICAgICAgJ3JlcG9zaXRvcnlHcm91cHMnOiB7CiAgICAgICAgICAgICAnaW9zLXN2bi13
ZWJraXQnOiB7CkBAIC00MywxMiArNDMsMTIgQEAgZnVuY3Rpb24gc2FtcGxlaU9TQ29uZmlnKCkK
ICAgICAgICAgICAgICdpUGhvbmUtYmVuY2gnOiB7CiAgICAgICAgICAgICAgICAgJ2J1aWxkZXIn
OiAnQUJUZXN0LWlQaG9uZS1SdW5CZW5jaG1hcmstVGVzdHMnLAogICAgICAgICAgICAgICAgICdw
cm9wZXJ0aWVzJzogeydmb3JjZXNjaGVkdWxlcic6ICdBQlRlc3QtaVBob25lLVJ1bkJlbmNobWFy
ay1UZXN0cy1Gb3JjZVNjaGVkdWxlcid9LAotICAgICAgICAgICAgICAgICdzbGF2ZUxpc3QnOiBb
J0FCVGVzdC1pUGhvbmUtMCddLAorICAgICAgICAgICAgICAgICd3b3JrZXJMaXN0JzogWydBQlRl
c3QtaVBob25lLTAnXSwKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAnaVBhZC1iZW5jaCc6
IHsKICAgICAgICAgICAgICAgICAnYnVpbGRlcic6ICdBQlRlc3QtaVBhZC1SdW5CZW5jaG1hcmst
VGVzdHMnLAogICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzJzogeydmb3JjZXNjaGVkdWxlcic6
ICdBQlRlc3QtaVBhZC1SdW5CZW5jaG1hcmstVGVzdHMtRm9yY2VTY2hlZHVsZXInfSwKLSAgICAg
ICAgICAgICAgICAnc2xhdmVMaXN0JzogWydBQlRlc3QtaVBhZC0wJywgJ0FCVGVzdC1pUGFkLTEn
XSwKKyAgICAgICAgICAgICAgICAnd29ya2VyTGlzdCc6IFsnQUJUZXN0LWlQYWQtMCcsICdBQlRl
c3QtaVBhZC0xJ10sCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgJ2lPUy1idWlsZGVyJzog
ewogICAgICAgICAgICAgICAgICdidWlsZGVyJzogJ0FCVGVzdC1pT1MtQnVpbGRlcicsCkBAIC0y
NzAsNyArMjcwLDcgQEAgZnVuY3Rpb24gc2FtcGxlUGVuZGluZ0J1aWxkUmVxdWVzdERhdGEoYnVp
bGRSZXF1ZXN0SWQsIGJ1aWxkVGltZSwgd29ya2VyTmFtZSwgYnUKICAgICAgICAgInByb3BlcnRp
ZXMiOiB7CiAgICAgICAgICAgICAiYnVpbGRfcmVxdWVzdF9pZCI6IFtidWlsZFJlcXVlc3RJZCB8
fCAxNjczMywgIkZvcmNlIEJ1aWxkIEZvcm0iXSwKICAgICAgICAgICAgICJzY2hlZHVsZXIiOiBb
IkFCVGVzdC1pUGFkLVJ1bkJlbmNobWFyay1UZXN0cy1Gb3JjZVNjaGVkdWxlciIsICJTY2hlZHVs
ZXIiXSwKLSAgICAgICAgICAgICJzbGF2ZW5hbWUiOiBbd29ya2VyTmFtZSwgIldvcmtlciAoZGVw
cmVjYXRlZCkiXSwKKyAgICAgICAgICAgICJ3b3JrZXJuYW1lIjogW3dvcmtlck5hbWUsICJXb3Jr
ZXIgKGRlcHJlY2F0ZWQpIl0sCiAgICAgICAgICAgICAid29ya2VybmFtZSI6IFt3b3JrZXJOYW1l
LCAiV29ya2VyIl0KICAgICAgICAgfQogICAgIH07CkBAIC0zMDEsNyArMzAxLDcgQEAgZnVuY3Rp
b24gc2FtcGxlQnVpbGREYXRhKHdvcmtlck5hbWUsIGlzQ29tcGxldGUsIGJ1aWxkUmVxdWVzdElk
LCBidWlsZFRhZywgYnVpbGQKICAgICAgICAgICAgICJidWlsZF9yZXF1ZXN0X2lkIjogW2J1aWxk
UmVxdWVzdElkIHx8IDE2NzMzLCAiRm9yY2UgQnVpbGQgRm9ybSJdLAogICAgICAgICAgICAgInBs
YXRmb3JtIjogWyJtYWMiLCAiVW5rbm93biJdLAogICAgICAgICAgICAgInNjaGVkdWxlciI6IFsi
QUJUZXN0LWlQYWQtUnVuQmVuY2htYXJrLVRlc3RzLUZvcmNlU2NoZWR1bGVyIiwgIlNjaGVkdWxl
ciJdLAotICAgICAgICAgICAgInNsYXZlbmFtZSI6IFt3b3JrZXJOYW1lIHx8ICJBQlRlc3QtaVBh
ZC0wIiwgIldvcmtlciAoZGVwcmVjYXRlZCkiXSwKKyAgICAgICAgICAgICJ3b3JrZXJuYW1lIjog
W3dvcmtlck5hbWUgfHwgIkFCVGVzdC1pUGFkLTAiLCAiV29ya2VyIChkZXByZWNhdGVkKSJdLAog
ICAgICAgICAgICAgIndvcmtlcm5hbWUiOiBbd29ya2VyTmFtZSB8fCAiQUJUZXN0LWlQYWQtMCIs
ICJXb3JrZXIiXSwKICAgICAgICAgfQogICAgIH07CkBAIC0xMTc3LDcgKzExNzcsNyBAQCBkZXNj
cmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAgICAgICAgICAgICBlbnRyeSA9IGVudHJp
ZXNbMV07CiAgICAgICAgICAgICBhc3NlcnQub2soZW50cnkgaW5zdGFuY2VvZiBCdWlsZGJvdEJ1
aWxkRW50cnkpOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LmJ1aWxkVGFnKCksIDE3
NTUpOwotICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LnNsYXZlTmFtZSgpLCAnQUJUZXN0
LWlQYWQtMCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5Lndvcmtlck5hbWUoKSwg
J0FCVGVzdC1pUGFkLTAnKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFJl
cXVlc3RJZCgpLCAxODkzNSk7CiAgICAgICAgICAgICBhc3NlcnQub2soIWVudHJ5LmlzUGVuZGlu
ZygpKTsKICAgICAgICAgICAgIGFzc2VydC5vayghZW50cnkuaXNJblByb2dyZXNzKCkpOwpAQCAt
MTIzNiw3ICsxMjM2LDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90U3luY2VyJywgKCkgPT4gewogICAg
ICAgICAgICAgZW50cnkgPSBlbnRyaWVzWzFdOwogICAgICAgICAgICAgYXNzZXJ0Lm9rKGVudHJ5
IGluc3RhbmNlb2YgQnVpbGRib3RCdWlsZEVudHJ5KTsKICAgICAgICAgICAgIGFzc2VydC5lcXVh
bChlbnRyeS5idWlsZFRhZygpLCA2MTQpOwotICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5
LnNsYXZlTmFtZSgpLCAnQUJUZXN0LWlQYWQtMCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KGVudHJ5Lndvcmtlck5hbWUoKSwgJ0FCVGVzdC1pUGFkLTAnKTsKICAgICAgICAgICAgIGFzc2Vy
dC5lcXVhbChlbnRyeS5idWlsZFJlcXVlc3RJZCgpLCAxNjczMyk7CiAgICAgICAgICAgICBhc3Nl
cnQub2soIWVudHJ5LmlzUGVuZGluZygpKTsKICAgICAgICAgICAgIGFzc2VydC5vayhlbnRyeS5p
c0luUHJvZ3Jlc3MoKSk7CkBAIC0xMjkyLDcgKzEyOTIsNyBAQCBkZXNjcmliZSgnQnVpbGRib3RT
eW5jZXInLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgbGV0IGVudHJ5ID0gZW50cmllc1swXTsK
ICAgICAgICAgICAgICAgICBhc3NlcnQub2soZW50cnkgaW5zdGFuY2VvZiBCdWlsZGJvdEJ1aWxk
RW50cnkpOwogICAgICAgICAgICAgICAgIGFzc2VydC5vayghZW50cnkuYnVpbGRUYWcoKSk7Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5zbGF2ZU5hbWUoKSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS53b3JrZXJOYW1lKCkpOwogICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChlbnRyeS5idWlsZFJlcXVlc3RJZCgpLCAxNjczMyk7CiAgICAgICAgICAgICAg
ICAgYXNzZXJ0Lm9rKGVudHJ5LmlzUGVuZGluZygpKTsKICAgICAgICAgICAgICAgICBhc3NlcnQu
b2soIWVudHJ5LmlzSW5Qcm9ncmVzcygpKTsKQEAgLTEzMTYsNyArMTMxNiw3IEBAIGRlc2NyaWJl
KCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAgICAgICAgICBsZXQgZW50cnkgPSBl
bnRyaWVzWzBdOwogICAgICAgICAgICAgICAgIGFzc2VydC5vayhlbnRyeSBpbnN0YW5jZW9mIEJ1
aWxkYm90QnVpbGRFbnRyeSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LmJ1
aWxkVGFnKCksIDYxNCk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LnNsYXZl
TmFtZSgpLCAnQUJUZXN0LWlQYWQtMCcpOworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChl
bnRyeS53b3JrZXJOYW1lKCksICdBQlRlc3QtaVBhZC0wJyk7CiAgICAgICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKGVudHJ5LmJ1aWxkUmVxdWVzdElkKCksIDE2NzMzKTsKICAgICAgICAgICAgICAg
ICBhc3NlcnQub2soIWVudHJ5LmlzUGVuZGluZygpKTsKICAgICAgICAgICAgICAgICBhc3NlcnQu
b2soZW50cnkuaXNJblByb2dyZXNzKCkpOwpAQCAtMTM0MCw3ICsxMzQwLDcgQEAgZGVzY3JpYmUo
J0J1aWxkYm90U3luY2VyJywgKCkgPT4gewogICAgICAgICAgICAgICAgIGxldCBlbnRyeSA9IGVu
dHJpZXNbMF07CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKGVudHJ5IGluc3RhbmNlb2YgQnVp
bGRib3RCdWlsZEVudHJ5KTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkuYnVp
bGRUYWcoKSwgMTc1NSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LnNsYXZl
TmFtZSgpLCAnQUJUZXN0LWlQYWQtMCcpOworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChl
bnRyeS53b3JrZXJOYW1lKCksICdBQlRlc3QtaVBhZC0wJyk7CiAgICAgICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKGVudHJ5LmJ1aWxkUmVxdWVzdElkKCksIDE4OTM1KTsKICAgICAgICAgICAgICAg
ICBhc3NlcnQub2soIWVudHJ5LmlzUGVuZGluZygpKTsKICAgICAgICAgICAgICAgICBhc3NlcnQu
b2soIWVudHJ5LmlzSW5Qcm9ncmVzcygpKTsKQEAgLTEzNjcsNyArMTM2Nyw3IEBAIGRlc2NyaWJl
KCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAgICAgICAgICBsZXQgZW50cnkgPSBl
bnRyaWVzWzBdOwogICAgICAgICAgICAgICAgIGFzc2VydC5vayhlbnRyeSBpbnN0YW5jZW9mIEJ1
aWxkYm90QnVpbGRFbnRyeSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LmJ1
aWxkVGFnKCksIG51bGwpOwotICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlbnRyeS5zbGF2
ZU5hbWUoKSwgbnVsbCk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5Lndvcmtl
ck5hbWUoKSwgbnVsbCk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LmJ1aWxk
UmVxdWVzdElkKCksIDEyMyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKGVudHJ5LmlzUGVu
ZGluZygpKTsKICAgICAgICAgICAgICAgICBhc3NlcnQub2soIWVudHJ5LmlzSW5Qcm9ncmVzcygp
KTsKQEAgLTEzNzcsNyArMTM3Nyw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+
IHsKICAgICAgICAgICAgICAgICBlbnRyeSA9IGVudHJpZXNbMV07CiAgICAgICAgICAgICAgICAg
YXNzZXJ0Lm9rKGVudHJ5IGluc3RhbmNlb2YgQnVpbGRib3RCdWlsZEVudHJ5KTsKICAgICAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkuYnVpbGRUYWcoKSwgNjE0KTsKLSAgICAgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwoZW50cnkuc2xhdmVOYW1lKCksICdBQlRlc3QtaVBhZC0wJyk7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5Lndvcmtlck5hbWUoKSwgJ0FCVGVzdC1p
UGFkLTAnKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkuYnVpbGRSZXF1ZXN0
SWQoKSwgMTY3MzMpOwogICAgICAgICAgICAgICAgIGFzc2VydC5vayghZW50cnkuaXNQZW5kaW5n
KCkpOwogICAgICAgICAgICAgICAgIGFzc2VydC5vayhlbnRyeS5pc0luUHJvZ3Jlc3MoKSk7CkBA
IC0xMzg3LDcgKzEzODcsNyBAQCBkZXNjcmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAg
ICAgICAgICAgICAgICAgZW50cnkgPSBlbnRyaWVzWzJdOwogICAgICAgICAgICAgICAgIGFzc2Vy
dC5vayhlbnRyeSBpbnN0YW5jZW9mIEJ1aWxkYm90QnVpbGRFbnRyeSk7CiAgICAgICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKGVudHJ5LmJ1aWxkVGFnKCksIDE3NTUpOwotICAgICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChlbnRyeS5zbGF2ZU5hbWUoKSwgJ0FCVGVzdC1pUGFkLTAnKTsKKyAgICAg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkud29ya2VyTmFtZSgpLCAnQUJUZXN0LWlQYWQt
MCcpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFJlcXVlc3RJZCgp
LCAxODkzNSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5pc1BlbmRpbmcoKSk7
CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5pc0luUHJvZ3Jlc3MoKSk7CkBAIC0x
NDE0LDcgKzE0MTQsNyBAQCBkZXNjcmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAgICAg
ICAgICAgICAgICAgbGV0IGVudHJ5ID0gZW50cmllc1swXTsKICAgICAgICAgICAgICAgICBhc3Nl
cnQub2soZW50cnkgaW5zdGFuY2VvZiBCdWlsZGJvdEJ1aWxkRW50cnkpOwogICAgICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFRhZygpLCBudWxsKTsKLSAgICAgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoZW50cnkuc2xhdmVOYW1lKCksIG51bGwpOworICAgICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChlbnRyeS53b3JrZXJOYW1lKCksIG51bGwpOwogICAgICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFJlcXVlc3RJZCgpLCAxMjMpOwogICAgICAgICAgICAg
ICAgIGFzc2VydC5vayhlbnRyeS5pc1BlbmRpbmcoKSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0
Lm9rKCFlbnRyeS5pc0luUHJvZ3Jlc3MoKSk7CkBAIC0xNDI0LDcgKzE0MjQsNyBAQCBkZXNjcmli
ZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgZW50cnkgPSBlbnRy
aWVzWzFdOwogICAgICAgICAgICAgICAgIGFzc2VydC5vayhlbnRyeSBpbnN0YW5jZW9mIEJ1aWxk
Ym90QnVpbGRFbnRyeSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LmJ1aWxk
VGFnKCksIG51bGwpOwotICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlbnRyeS5zbGF2ZU5h
bWUoKSwgbnVsbCk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5Lndvcmtlck5h
bWUoKSwgbnVsbCk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5LmJ1aWxkUmVx
dWVzdElkKCksIDQ1Nik7CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKGVudHJ5LmlzUGVuZGlu
ZygpKTsKICAgICAgICAgICAgICAgICBhc3NlcnQub2soIWVudHJ5LmlzSW5Qcm9ncmVzcygpKTsK
QEAgLTE0MzQsNyArMTQzNCw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsK
ICAgICAgICAgICAgICAgICBlbnRyeSA9IGVudHJpZXNbMl07CiAgICAgICAgICAgICAgICAgYXNz
ZXJ0Lm9rKGVudHJ5IGluc3RhbmNlb2YgQnVpbGRib3RCdWlsZEVudHJ5KTsKICAgICAgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwoZW50cnkuYnVpbGRUYWcoKSwgNjE0KTsKLSAgICAgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoZW50cnkuc2xhdmVOYW1lKCksICdBQlRlc3QtaVBhZC0wJyk7CisgICAg
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGVudHJ5Lndvcmtlck5hbWUoKSwgJ0FCVGVzdC1pUGFk
LTAnKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkuYnVpbGRSZXF1ZXN0SWQo
KSwgMTY3MzMpOwogICAgICAgICAgICAgICAgIGFzc2VydC5vayghZW50cnkuaXNQZW5kaW5nKCkp
OwogICAgICAgICAgICAgICAgIGFzc2VydC5vayhlbnRyeS5pc0luUHJvZ3Jlc3MoKSk7CkBAIC0x
NDQ0LDcgKzE0NDQsNyBAQCBkZXNjcmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAgICAg
ICAgICAgICAgICAgZW50cnkgPSBlbnRyaWVzWzNdOwogICAgICAgICAgICAgICAgIGFzc2VydC5v
ayhlbnRyeSBpbnN0YW5jZW9mIEJ1aWxkYm90QnVpbGRFbnRyeSk7CiAgICAgICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKGVudHJ5LmJ1aWxkVGFnKCksIDE3NTUpOwotICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChlbnRyeS5zbGF2ZU5hbWUoKSwgJ0FCVGVzdC1pUGFkLTAnKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkud29ya2VyTmFtZSgpLCAnQUJUZXN0LWlQYWQtMCcp
OwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFJlcXVlc3RJZCgpLCAx
ODkzNSk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5pc1BlbmRpbmcoKSk7CiAg
ICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5pc0luUHJvZ3Jlc3MoKSk7CkBAIC0xNDcx
LDcgKzE0NzEsNyBAQCBkZXNjcmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAgICAgICAg
ICAgICAgICAgbGV0IGVudHJ5ID0gZW50cmllc1swXTsKICAgICAgICAgICAgICAgICBhc3NlcnQu
b2soZW50cnkgaW5zdGFuY2VvZiBCdWlsZGJvdEJ1aWxkRW50cnkpOwogICAgICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFRhZygpLCA2MTQpOwotICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChlbnRyeS5zbGF2ZU5hbWUoKSwgJ0FCVGVzdC1pUGFkLTAnKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkud29ya2VyTmFtZSgpLCAnQUJUZXN0LWlQYWQtMCcp
OwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFJlcXVlc3RJZCgpLCAx
NjczMyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5pc1BlbmRpbmcoKSk7CiAg
ICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKGVudHJ5LmlzSW5Qcm9ncmVzcygpKTsKQEAgLTE0OTgs
NyArMTQ5OCw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAg
ICAgICAgICBsZXQgZW50cnkgPSBlbnRyaWVzWzBdOwogICAgICAgICAgICAgICAgIGFzc2VydC5v
ayhlbnRyeSBpbnN0YW5jZW9mIEJ1aWxkYm90QnVpbGRFbnRyeSk7CiAgICAgICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKGVudHJ5LmJ1aWxkVGFnKCksIDE3NTUpOwotICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChlbnRyeS5zbGF2ZU5hbWUoKSwgJ0FCVGVzdC1pUGFkLTAnKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwoZW50cnkud29ya2VyTmFtZSgpLCAnQUJUZXN0LWlQYWQtMCcp
OwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlbnRyeS5idWlsZFJlcXVlc3RJZCgpLCAx
NjczMyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5pc1BlbmRpbmcoKSk7CiAg
ICAgICAgICAgICAgICAgYXNzZXJ0Lm9rKCFlbnRyeS5pc0luUHJvZ3Jlc3MoKSk7CkBAIC0xNTM2
LDEyICsxNTM2LDEyIEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICB9
KTsKIAogICAgIGRlc2NyaWJlKCdzY2hlZHVsZVJlcXVlc3QnLCAoKSA9PiB7Ci0gICAgICAgIGl0
KCdzaG91bGQgc2NoZWR1bGUgYSBidWlsZCByZXF1ZXN0IG9uIGEgc3BlY2lmaWVkIHNsYXZlJywg
KCkgPT4geworICAgICAgICBpdCgnc2hvdWxkIHNjaGVkdWxlIGEgYnVpbGQgcmVxdWVzdCBvbiBh
IHNwZWNpZmllZCB3b3JrZXInLCAoKSA9PiB7CiAgICAgICAgICAgICBsZXQgc3luY2VyID0gQnVp
bGRib3RTeW5jZXIuX2xvYWRDb25maWcoTW9ja1JlbW90ZUFQSSwgc2FtcGxlaU9TQ29uZmlnKCks
IGJ1aWxkZXJOYW1lVG9JRE1hcCgpKVswXTsKIAogICAgICAgICAgICAgY29uc3Qgd2FpdEZvclJl
cXVlc3QgPSBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAgICAgICAgICAgICBjb25z
dCByZXF1ZXN0ID0gY3JlYXRlU2FtcGxlQnVpbGRSZXF1ZXN0KE1vY2tNb2RlbHMuaXBob25lLCBN
b2NrTW9kZWxzLnNwZWVkb21ldGVyKTsKLSAgICAgICAgICAgIHN5bmNlci5zY2hlZHVsZVJlcXVl
c3QocmVxdWVzdCwgW3JlcXVlc3RdLCAnc29tZS1zbGF2ZScpOworICAgICAgICAgICAgc3luY2Vy
LnNjaGVkdWxlUmVxdWVzdChyZXF1ZXN0LCBbcmVxdWVzdF0sICdzb21lLXdvcmtlcicpOwogICAg
ICAgICAgICAgcmV0dXJuIHdhaXRGb3JSZXF1ZXN0LnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOwogICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChyZXF1ZXN0c1swXS51cmwsICcvYXBpL3YyL2ZvcmNlc2NoZWR1bGVycy9BQlRl
c3QtaVBob25lLVJ1bkJlbmNobWFyay1UZXN0cy1Gb3JjZVNjaGVkdWxlcicpOwpAQCAtMTU1NSw3
ICsxNTU1LDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90U3luY2VyJywgKCkgPT4gewogICAgICAgICAg
ICAgICAgICAgICAgICAgJ2Rlc2lyZWRfaW1hZ2UnOiAnMTNBNDUyJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICdvcGVuc291cmNlJzogJzE5NzQ2MycsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAnZm9yY2VzY2hlZHVsZXInOiAnQUJUZXN0LWlQaG9uZS1SdW5CZW5jaG1hcmstVGVzdHMtRm9y
Y2VTY2hlZHVsZXInLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3NsYXZlbmFtZSc6ICdzb21l
LXNsYXZlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICd3b3JrZXJuYW1lJzogJ3NvbWUtd29y
a2VyJywKICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0X25hbWUnOiAnc3BlZWRvbWV0ZXIn
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9KTsKQEAgLTE1NzgsNyAr
MTU3OCw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAgICAg
IH0pOwogICAgICAgICB9CiAKLSAgICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSBhIGJ1aWxkIGlm
IGJ1aWxkZXIgaGFzIG5vIGJ1aWxkcyBpZiBzbGF2ZUxpc3QgaXMgbm90IHNwZWNpZmllZCcsICgp
ID0+IHsKKyAgICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSBhIGJ1aWxkIGlmIGJ1aWxkZXIgaGFz
IG5vIGJ1aWxkcyBpZiB3b3JrZXJMaXN0IGlzIG5vdCBzcGVjaWZpZWQnLCAoKSA9PiB7CiAgICAg
ICAgICAgICBsZXQgc3luY2VyID0gQnVpbGRib3RTeW5jZXIuX2xvYWRDb25maWcoTW9ja1JlbW90
ZUFQSSwgc21hbGxDb25maWd1cmF0aW9uKCksIGJ1aWxkZXJOYW1lVG9JRE1hcCgpKVswXTsKIAog
ICAgICAgICAgICAgcmV0dXJuIHB1bGxCdWlsZGJvdFdpdGhBc3NlcnRpb24oc3luY2VyLCB7fSwg
e30pLnRoZW4oKCkgPT4gewpAQCAtMTU5Miw3ICsxNTkyLDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90
U3luY2VyJywgKCkgPT4gewogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogCi0gICAgICAg
IGl0KCdzaG91bGQgc2NoZWR1bGUgYSBidWlsZCBpZiBidWlsZGVyIG9ubHkgaGFzIGZpbmlzaGVk
IGJ1aWxkcyBpZiBzbGF2ZUxpc3QgaXMgbm90IHNwZWNpZmllZCcsICgpID0+IHsKKyAgICAgICAg
aXQoJ3Nob3VsZCBzY2hlZHVsZSBhIGJ1aWxkIGlmIGJ1aWxkZXIgb25seSBoYXMgZmluaXNoZWQg
YnVpbGRzIGlmIHdvcmtlckxpc3QgaXMgbm90IHNwZWNpZmllZCcsICgpID0+IHsKICAgICAgICAg
ICAgIGxldCBzeW5jZXIgPSBCdWlsZGJvdFN5bmNlci5fbG9hZENvbmZpZyhNb2NrUmVtb3RlQVBJ
LCBzbWFsbENvbmZpZ3VyYXRpb24oKSwgYnVpbGRlck5hbWVUb0lETWFwKCkpWzBdOwogCiAgICAg
ICAgICAgICByZXR1cm4gcHVsbEJ1aWxkYm90V2l0aEFzc2VydGlvbihzeW5jZXIsIHt9LCBzbWFs
bEZpbmlzaGVkQnVpbGQoKSkudGhlbigoKSA9PiB7CkBAIC0xNjA2LDcgKzE2MDYsNyBAQCBkZXNj
cmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAgICAgICAgICAgICB9KTsKICAgICAgICAg
fSk7CiAKLSAgICAgICAgaXQoJ3Nob3VsZCBub3Qgc2NoZWR1bGUgYSBidWlsZCBpZiBidWlsZGVy
IGhhcyBhIHBlbmRpbmcgYnVpbGQgaWYgc2xhdmVMaXN0IGlzIG5vdCBzcGVjaWZpZWQnLCAoKSA9
PiB7CisgICAgICAgIGl0KCdzaG91bGQgbm90IHNjaGVkdWxlIGEgYnVpbGQgaWYgYnVpbGRlciBo
YXMgYSBwZW5kaW5nIGJ1aWxkIGlmIHdvcmtlckxpc3QgaXMgbm90IHNwZWNpZmllZCcsICgpID0+
IHsKICAgICAgICAgICAgIGxldCBzeW5jZXIgPSBCdWlsZGJvdFN5bmNlci5fbG9hZENvbmZpZyhN
b2NrUmVtb3RlQVBJLCBzbWFsbENvbmZpZ3VyYXRpb24oKSwgYnVpbGRlck5hbWVUb0lETWFwKCkp
WzBdOwogCiAgICAgICAgICAgICByZXR1cm4gcHVsbEJ1aWxkYm90V2l0aEFzc2VydGlvbihzeW5j
ZXIsIHNtYWxsUGVuZGluZ0J1aWxkKCksIHt9KS50aGVuKCgpID0+IHsKQEAgLTE2MTUsNyArMTYx
NSw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKIAotICAgICAgICBpdCgnc2hvdWxkIHNjaGVkdWxlIGEgYnVpbGQgaWYg
YnVpbGRlciBkb2VzIG5vdCBoYXZlIHBlbmRpbmcgb3IgY29tcGxldGVkIGJ1aWxkcyBvbiB0aGUg
bWF0Y2hpbmcgc2xhdmUnLCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgc2NoZWR1bGUgYSBi
dWlsZCBpZiBidWlsZGVyIGRvZXMgbm90IGhhdmUgcGVuZGluZyBvciBjb21wbGV0ZWQgYnVpbGRz
IG9uIHRoZSBtYXRjaGluZyB3b3JrZXInLCAoKSA9PiB7CiAgICAgICAgICAgICBsZXQgc3luY2Vy
ID0gQnVpbGRib3RTeW5jZXIuX2xvYWRDb25maWcoTW9ja1JlbW90ZUFQSSwgc2FtcGxlaU9TQ29u
ZmlnKCksIGJ1aWxkZXJOYW1lVG9JRE1hcCgpKVswXTsKIAogICAgICAgICAgICAgcmV0dXJuIHB1
bGxCdWlsZGJvdFdpdGhBc3NlcnRpb24oc3luY2VyLCB7fSwge30pLnRoZW4oKCkgPT4gewpAQCAt
MTYyNyw3ICsxNjI3LDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90U3luY2VyJywgKCkgPT4gewogICAg
ICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogCi0gICAgICAgIGl0KCdzaG91bGQgc2NoZWR1bGUg
YSBidWlsZCBpZiBidWlsZGVyIG9ubHkgaGFzIGZpbmlzaGVkIGJ1aWxkcyBvbiB0aGUgbWF0Y2hp
bmcgc2xhdmUnLCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgc2NoZWR1bGUgYSBidWlsZCBp
ZiBidWlsZGVyIG9ubHkgaGFzIGZpbmlzaGVkIGJ1aWxkcyBvbiB0aGUgbWF0Y2hpbmcgd29ya2Vy
JywgKCkgPT4gewogICAgICAgICAgICAgbGV0IHN5bmNlciA9IEJ1aWxkYm90U3luY2VyLl9sb2Fk
Q29uZmlnKE1vY2tSZW1vdGVBUEksIHNhbXBsZWlPU0NvbmZpZygpLCBidWlsZGVyTmFtZVRvSURN
YXAoKSlbMV07CiAKICAgICAgICAgICAgIHB1bGxCdWlsZGJvdFdpdGhBc3NlcnRpb24oc3luY2Vy
LCB7fSwgc2FtcGxlRmluaXNoZWRCdWlsZCgpKS50aGVuKCgpID0+IHsKQEAgLTE2MzksNyArMTYz
OSw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKIAotICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVsZSBhIGJ1aWxk
IGlmIGJ1aWxkZXIgaGFzIGEgcGVuZGluZyBidWlsZCBvbiB0aGUgbWFjaGluZyBzbGF2ZScsICgp
ID0+IHsKKyAgICAgICAgaXQoJ3Nob3VsZCBub3Qgc2NoZWR1bGUgYSBidWlsZCBpZiBidWlsZGVy
IGhhcyBhIHBlbmRpbmcgYnVpbGQgb24gdGhlIG1hY2hpbmcgd29ya2VyJywgKCkgPT4gewogICAg
ICAgICAgICAgbGV0IHN5bmNlciA9IEJ1aWxkYm90U3luY2VyLl9sb2FkQ29uZmlnKE1vY2tSZW1v
dGVBUEksIHNhbXBsZWlPU0NvbmZpZygpLCBidWlsZGVyTmFtZVRvSURNYXAoKSlbMV07CiAKICAg
ICAgICAgICAgIHB1bGxCdWlsZGJvdFdpdGhBc3NlcnRpb24oc3luY2VyLCBzYW1wbGVQZW5kaW5n
QnVpbGRSZXF1ZXN0cygpLCB7fSkudGhlbigoKSA9PiB7CkBAIC0xNjQ5LDE3ICsxNjQ5LDE3IEBA
IGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAgICAgICAgIH0pOwogICAg
ICAgICB9KTsKIAotICAgICAgICBpdCgnc2hvdWxkIHNjaGVkdWxlIGEgYnVpbGQgaWYgYnVpbGRl
ciBvbmx5IGhhcyBhIHBlbmRpbmcgYnVpbGQgb24gYSBub24tbWFjaGluZyBzbGF2ZScsICgpID0+
IHsKKyAgICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSBhIGJ1aWxkIGlmIGJ1aWxkZXIgb25seSBo
YXMgYSBwZW5kaW5nIGJ1aWxkIG9uIGEgbm9uLW1hY2hpbmcgd29ya2VyJywgKCkgPT4gewogICAg
ICAgICAgICAgbGV0IHN5bmNlciA9IEJ1aWxkYm90U3luY2VyLl9sb2FkQ29uZmlnKE1vY2tSZW1v
dGVBUEksIHNhbXBsZWlPU0NvbmZpZygpLCBidWlsZGVyTmFtZVRvSURNYXAoKSlbMV07CiAKLSAg
ICAgICAgICAgIHJldHVybiBwdWxsQnVpbGRib3RXaXRoQXNzZXJ0aW9uKHN5bmNlciwgc2FtcGxl
UGVuZGluZ0J1aWxkUmVxdWVzdHMoMSwgMSwgJ2Fub3RoZXItc2xhdmUnKSwge30pLnRoZW4oKCkg
PT4geworICAgICAgICAgICAgcmV0dXJuIHB1bGxCdWlsZGJvdFdpdGhBc3NlcnRpb24oc3luY2Vy
LCBzYW1wbGVQZW5kaW5nQnVpbGRSZXF1ZXN0cygxLCAxLCAnYW5vdGhlci13b3JrZXInKSwge30p
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBjcmVhdGVTYW1w
bGVCdWlsZFJlcXVlc3QoTW9ja01vZGVscy5pcGFkLCBNb2NrTW9kZWxzLnNwZWVkb21ldGVyKTsK
ICAgICAgICAgICAgICAgICBzeW5jZXIuc2NoZWR1bGVSZXF1ZXN0SW5Hcm91cElmQXZhaWxhYmxl
KHJlcXVlc3QsIFtyZXF1ZXN0XSwgbnVsbCk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KHJlcXVlc3RzLmxlbmd0aCwgMSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAKLSAg
ICAgICAgaXQoJ3Nob3VsZCBzY2hlZHVsZSBhIGJ1aWxkIGlmIGJ1aWxkZXIgb25seSBoYXMgYW4g
aW4tcHJvZ3Jlc3MgYnVpbGQgb24gdGhlIG1hdGNoaW5nIHNsYXZlJywgKCkgPT4geworICAgICAg
ICBpdCgnc2hvdWxkIHNjaGVkdWxlIGEgYnVpbGQgaWYgYnVpbGRlciBvbmx5IGhhcyBhbiBpbi1w
cm9ncmVzcyBidWlsZCBvbiB0aGUgbWF0Y2hpbmcgd29ya2VyJywgKCkgPT4gewogICAgICAgICAg
ICAgbGV0IHN5bmNlciA9IEJ1aWxkYm90U3luY2VyLl9sb2FkQ29uZmlnKE1vY2tSZW1vdGVBUEks
IHNhbXBsZWlPU0NvbmZpZygpLCBidWlsZGVyTmFtZVRvSURNYXAoKSlbMV07CiAKICAgICAgICAg
ICAgIHJldHVybiBwdWxsQnVpbGRib3RXaXRoQXNzZXJ0aW9uKHN5bmNlciwge30sIHNhbXBsZUlu
UHJvZ3Jlc3NCdWlsZCgpKS50aGVuKCgpID0+IHsKQEAgLTE2NjksMTAgKzE2NjksMTAgQEAgZGVz
Y3JpYmUoJ0J1aWxkYm90U3luY2VyJywgKCkgPT4gewogICAgICAgICAgICAgfSk7CiAgICAgICAg
IH0pOwogCi0gICAgICAgIGl0KCdzaG91bGQgc2NoZWR1bGUgYSBidWlsZCBpZiBidWlsZGVyIGhh
cyBhbiBpbi1wcm9ncmVzcyBidWlsZCBvbiBhbm90aGVyIHNsYXZlJywgKCkgPT4geworICAgICAg
ICBpdCgnc2hvdWxkIHNjaGVkdWxlIGEgYnVpbGQgaWYgYnVpbGRlciBoYXMgYW4gaW4tcHJvZ3Jl
c3MgYnVpbGQgb24gYW5vdGhlciB3b3JrZXInLCAoKSA9PiB7CiAgICAgICAgICAgICBsZXQgc3lu
Y2VyID0gQnVpbGRib3RTeW5jZXIuX2xvYWRDb25maWcoTW9ja1JlbW90ZUFQSSwgc2FtcGxlaU9T
Q29uZmlnKCksIGJ1aWxkZXJOYW1lVG9JRE1hcCgpKVsxXTsKIAotICAgICAgICAgICAgcmV0dXJu
IHB1bGxCdWlsZGJvdFdpdGhBc3NlcnRpb24oc3luY2VyLCB7fSwgc2FtcGxlSW5Qcm9ncmVzc0J1
aWxkKCdvdGhlci1zbGF2ZScpKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBwdWxs
QnVpbGRib3RXaXRoQXNzZXJ0aW9uKHN5bmNlciwge30sIHNhbXBsZUluUHJvZ3Jlc3NCdWlsZCgn
b3RoZXItd29ya2VyJykpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVl
c3QgPSBjcmVhdGVTYW1wbGVCdWlsZFJlcXVlc3QoTW9ja01vZGVscy5pcGFkLCBNb2NrTW9kZWxz
LnNwZWVkb21ldGVyKTsKICAgICAgICAgICAgICAgICBzeW5jZXIuc2NoZWR1bGVSZXF1ZXN0SW5H
cm91cElmQXZhaWxhYmxlKHJlcXVlc3QsIFtyZXF1ZXN0XSwgbnVsbCk7CiAgICAgICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7CkBAIC0xNjg5LDcgKzE2ODksNyBA
QCBkZXNjcmliZSgnQnVpbGRib3RTeW5jZXInLCAoKSA9PiB7CiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgfSk7CiAKLSAgICAgICAgaXQoJ3Nob3VsZCBub3Qgc2NoZWR1bGUgYSBidWlsZCBpZiBh
IG5ldyByZXF1ZXN0IGhhZCBiZWVuIHN1Ym1pdHRlZCB0byB0aGUgc2FtZSBzbGF2ZScsIChkb25l
KSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgbm90IHNjaGVkdWxlIGEgYnVpbGQgaWYgYSBuZXcg
cmVxdWVzdCBoYWQgYmVlbiBzdWJtaXR0ZWQgdG8gdGhlIHNhbWUgd29ya2VyJywgKGRvbmUpID0+
IHsKICAgICAgICAgICAgIGxldCBzeW5jZXIgPSBCdWlsZGJvdFN5bmNlci5fbG9hZENvbmZpZyhN
b2NrUmVtb3RlQVBJLCBzYW1wbGVpT1NDb25maWcoKSwgYnVpbGRlck5hbWVUb0lETWFwKCkpWzFd
OwogCiAgICAgICAgICAgICBwdWxsQnVpbGRib3RXaXRoQXNzZXJ0aW9uKHN5bmNlciwge30sIHt9
KS50aGVuKCgpID0+IHsKQEAgLTE3MDcsNyArMTcwNyw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5
bmNlcicsICgpID0+IHsKICAgICAgICAgICAgIH0pLmNhdGNoKGRvbmUpOwogICAgICAgICB9KTsK
IAotICAgICAgICBpdCgnc2hvdWxkIHNjaGVkdWxlIGEgYnVpbGQgaWYgYSBuZXcgcmVxdWVzdCBo
YWQgYmVlbiBzdWJtaXR0ZWQgdG8gYW5vdGhlciBzbGF2ZScsICgpID0+IHsKKyAgICAgICAgaXQo
J3Nob3VsZCBzY2hlZHVsZSBhIGJ1aWxkIGlmIGEgbmV3IHJlcXVlc3QgaGFkIGJlZW4gc3VibWl0
dGVkIHRvIGFub3RoZXIgd29ya2VyJywgKCkgPT4gewogICAgICAgICAgICAgbGV0IHN5bmNlciA9
IEJ1aWxkYm90U3luY2VyLl9sb2FkQ29uZmlnKE1vY2tSZW1vdGVBUEksIHNhbXBsZWlPU0NvbmZp
ZygpLCBidWlsZGVyTmFtZVRvSURNYXAoKSlbMV07CiAKICAgICAgICAgICAgIHJldHVybiBwdWxs
QnVpbGRib3RXaXRoQXNzZXJ0aW9uKHN5bmNlciwge30sIHt9KS50aGVuKCgpID0+IHsKQEAgLTE3
MjAsNyArMTcyMCw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFN5bmNlcicsICgpID0+IHsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICB9KTsKIAotICAgICAgICBpdCgnc2hvdWxkIG5vdCBzY2hlZHVs
ZSBhIGJ1aWxkIGlmIGEgbmV3IHJlcXVlc3QgaGFkIGJlZW4gc3VibWl0dGVkIHRvIHRoZSBzYW1l
IGJ1aWxkZXIgd2l0aG91dCBzbGF2ZUxpc3QnLCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQg
bm90IHNjaGVkdWxlIGEgYnVpbGQgaWYgYSBuZXcgcmVxdWVzdCBoYWQgYmVlbiBzdWJtaXR0ZWQg
dG8gdGhlIHNhbWUgYnVpbGRlciB3aXRob3V0IHdvcmtlckxpc3QnLCAoKSA9PiB7CiAgICAgICAg
ICAgICBsZXQgc3luY2VyID0gQnVpbGRib3RTeW5jZXIuX2xvYWRDb25maWcoTW9ja1JlbW90ZUFQ
SSwgc21hbGxDb25maWd1cmF0aW9uKCksIGJ1aWxkZXJOYW1lVG9JRE1hcCgpKVswXTsKIAogICAg
ICAgICAgICAgcmV0dXJuIHB1bGxCdWlsZGJvdFdpdGhBc3NlcnRpb24oc3luY2VyLCB7fSwge30p
LnRoZW4oKCkgPT4gewpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQt
dGVzdHMvY2hlY2tjb25maWcuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0
cy9jaGVja2NvbmZpZy5qcwppbmRleCBlY2YyOGFkODg5MjFjMTZiMDllMzdkNTJhNmYzNzFlZTc2
ZjU2ZGI1Li5hYWEyOWIyZThkODdkZDRjNWUwYzBjMGFkNmE2OTdlNzk0NTI0OWU3IDEwMDY0NAot
LS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jaGVja2NvbmZpZy5qcwor
KysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jaGVja2NvbmZpZy5qcwpA
QCAtMTU5LDggKzE1OSw4IEBAIGRlc2NyaWJlKCdjb25maWcuanNvbicsICgpID0+IHsKICAgICAg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwoQ29uZmlnLnZhbHVlKCdtYWludGVuYW5jZURpcmVjdG9y
eScpLCAnc3RyaW5nJyk7CiAgICAgICAgIH0pOwogCi0gICAgICAgIGl0KCdgdW5pdmVyc2FsU2xh
dmVQYXNzd29yZGAgc2hvdWxkIGJlIGBudWxsYCBvciBhIHN0cmluZycsICgpID0+IHsKLSAgICAg
ICAgICAgIGFzc2VydE51bGxPclR5cGUoQ29uZmlnLnZhbHVlKCd1bml2ZXJzYWxTbGF2ZVBhc3N3
b3JkJyksICdzdHJpbmcnKTsKKyAgICAgICAgaXQoJ2B1bml2ZXJzYWxXb3JrZXJQYXNzd29yZGAg
c2hvdWxkIGJlIGBudWxsYCBvciBhIHN0cmluZycsICgpID0+IHsKKyAgICAgICAgICAgIGFzc2Vy
dE51bGxPclR5cGUoQ29uZmlnLnZhbHVlKCd1bml2ZXJzYWxXb3JrZXJQYXNzd29yZCcpLCAnc3Ry
aW5nJyk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIGl0KCdgZGF0YWJhc2Uuc3NsYCBzaG91bGQg
YmUgYG51bGxgIG9yIGEgZGljdGlvbmFyeScsICgpID0+IHsKZGlmZiAtLWdpdCBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL21lYXN1cmVtZW50LXNldC1hbmFseXplci10ZXN0
cy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL21lYXN1cmVtZW50LXNl
dC1hbmFseXplci10ZXN0cy5qcwppbmRleCA2M2FhMDc4OWRmMzMwODFhYTVmYzk5ZjVmNzYzODRh
YTAwNTNiZjk3Li4wN2ZjYjNkYjNkZTZiMTJlNmI5NDdjYzYzMGNkMDdiYjZhMDRmYmJhIDEwMDY0
NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9tZWFzdXJlbWVudC1z
ZXQtYW5hbHl6ZXItdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQt
dGVzdHMvbWVhc3VyZW1lbnQtc2V0LWFuYWx5emVyLXRlc3RzLmpzCkBAIC0yMjcsOCArMjI3LDgg
QEAgZGVzY3JpYmUoJ01lYXN1cmVtZW50U2V0QW5hbHl6ZXInLCAoKSA9PiB7CiAgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAzKTsKICAgICAgICAgICAgIGFzc2VydC5l
cXVhbChyZXF1ZXN0c1syXS51cmwsICcvcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRh
c2snKTsKICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMl0uZGF0YSwgewot
ICAgICAgICAgICAgICAgIHNsYXZlTmFtZTogJ3Rlc3QnLAotICAgICAgICAgICAgICAgIHNsYXZl
UGFzc3dvcmQ6ICdwYXNzd29yZCcsCisgICAgICAgICAgICAgICAgd29ya2VyTmFtZTogJ3Rlc3Qn
LAorICAgICAgICAgICAgICAgIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLAogICAgICAgICAg
ICAgICAgIG5hbWU6ICdQb3RlbnRpYWwgMi4zOCUgcmVncmVzc2lvbiBvbiBTb21lIHBsYXRmb3Jt
IGJldHdlZW4gV2ViS2l0OiByMzUtcjQ0JywKICAgICAgICAgICAgICAgICBzdGFydFJ1bjogNjQz
NCwKICAgICAgICAgICAgICAgICBlbmRSdW46IDY0NDMsCkBAIC0yODYsOCArMjg2LDggQEAgZGVz
Y3JpYmUoJ01lYXN1cmVtZW50U2V0QW5hbHl6ZXInLCAoKSA9PiB7CiAgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAzKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChy
ZXF1ZXN0c1syXS51cmwsICcvcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRhc2snKTsK
ICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMl0uZGF0YSwgewotICAgICAg
ICAgICAgICAgIHNsYXZlTmFtZTogJ3Rlc3QnLAotICAgICAgICAgICAgICAgIHNsYXZlUGFzc3dv
cmQ6ICdwYXNzd29yZCcsCisgICAgICAgICAgICAgICAgd29ya2VyTmFtZTogJ3Rlc3QnLAorICAg
ICAgICAgICAgICAgIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLAogICAgICAgICAgICAgICAg
IG5hbWU6ICdQb3RlbnRpYWwgMi4zOCUgcmVncmVzc2lvbiBvbiBTb21lIHBsYXRmb3JtIGJldHdl
ZW4gV2ViS2l0OiByMzUtcjQ0JywKICAgICAgICAgICAgICAgICBzdGFydFJ1bjogNjQzNCwKICAg
ICAgICAgICAgICAgICBlbmRSdW46IDY0NDMsCkBAIC0zNzMsOCArMzczLDggQEAgZGVzY3JpYmUo
J01lYXN1cmVtZW50U2V0QW5hbHl6ZXInLCAoKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuZXF1
YWwocmVxdWVzdHMubGVuZ3RoLCAzKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0
c1syXS51cmwsICcvcHJpdmlsZWdlZC1hcGkvY3JlYXRlLWFuYWx5c2lzLXRhc2snKTsKICAgICAg
ICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMl0uZGF0YSwgewotICAgICAgICAgICAg
ICAgIHNsYXZlTmFtZTogJ3Rlc3QnLAotICAgICAgICAgICAgICAgIHNsYXZlUGFzc3dvcmQ6ICdw
YXNzd29yZCcsCisgICAgICAgICAgICAgICAgd29ya2VyTmFtZTogJ3Rlc3QnLAorICAgICAgICAg
ICAgICAgIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLAogICAgICAgICAgICAgICAgIG5hbWU6
ICdQb3RlbnRpYWwgMi4zOCUgcmVncmVzc2lvbiBvbiBTb21lIHBsYXRmb3JtIGJldHdlZW4gV2Vi
S2l0OiByMzUtcjQ0JywKICAgICAgICAgICAgICAgICBzdGFydFJ1bjogNjQzNCwKICAgICAgICAg
ICAgICAgICBlbmRSdW46IDY0NDMKQEAgLTUxOCw4ICs1MTgsOCBAQCBkZXNjcmliZSgnTWVhc3Vy
ZW1lbnRTZXRBbmFseXplcicsICgpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1
ZXN0cy5sZW5ndGgsIDMpOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzJdLnVy
bCwgJy9wcml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5hbHlzaXMtdGFzaycpOwogICAgICAgICAgICAg
YXNzZXJ0LmRlZXBFcXVhbChyZXF1ZXN0c1syXS5kYXRhLCB7Ci0gICAgICAgICAgICAgICAgc2xh
dmVOYW1lOiAndGVzdCcsCi0gICAgICAgICAgICAgICAgc2xhdmVQYXNzd29yZDogJ3Bhc3N3b3Jk
JywKKyAgICAgICAgICAgICAgICB3b3JrZXJOYW1lOiAndGVzdCcsCisgICAgICAgICAgICAgICAg
d29ya2VyUGFzc3dvcmQ6ICdwYXNzd29yZCcsCiAgICAgICAgICAgICAgICAgbmFtZTogJ1BvdGVu
dGlhbCAyLjM4JSByZWdyZXNzaW9uIG9uIFNvbWUgcGxhdGZvcm0gYmV0d2VlbiBXZWJLaXQ6IHI0
MC1yNDknLAogICAgICAgICAgICAgICAgIHN0YXJ0UnVuOiA2NDM5LAogICAgICAgICAgICAgICAg
IGVuZFJ1bjogNjQ0OCwKQEAgLTYxMCw4ICs2MTAsOCBAQCBkZXNjcmliZSgnTWVhc3VyZW1lbnRT
ZXRBbmFseXplcicsICgpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5s
ZW5ndGgsIDMpOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzJdLnVybCwgJy9w
cml2aWxlZ2VkLWFwaS9jcmVhdGUtYW5hbHlzaXMtdGFzaycpOwogICAgICAgICAgICAgYXNzZXJ0
LmRlZXBFcXVhbChyZXF1ZXN0c1syXS5kYXRhLCB7Ci0gICAgICAgICAgICAgICAgc2xhdmVOYW1l
OiAndGVzdCcsCi0gICAgICAgICAgICAgICAgc2xhdmVQYXNzd29yZDogJ3Bhc3N3b3JkJywKKyAg
ICAgICAgICAgICAgICB3b3JrZXJOYW1lOiAndGVzdCcsCisgICAgICAgICAgICAgICAgd29ya2Vy
UGFzc3dvcmQ6ICdwYXNzd29yZCcsCiAgICAgICAgICAgICAgICAgbmFtZTogJ1BvdGVudGlhbCA5
LjE1JSBwcm9ncmVzc2lvbiBvbiBTb21lIHBsYXRmb3JtIGJldHdlZW4gV2ViS2l0OiByMy1yOCcs
CiAgICAgICAgICAgICAgICAgc3RhcnRSdW46IDY0MDIsCiAgICAgICAgICAgICAgICAgZW5kUnVu
OiA2NDA3LApkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMv
cHJpdmlsZWdlZC1hcGktdGVzdHMuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10
ZXN0cy9wcml2aWxlZ2VkLWFwaS10ZXN0cy5qcwppbmRleCBlYjQyNWRmMjYyNmZmZjNlMzJhYWM4
OWYzOTNlM2ZiYmQ0ZWExMDgyLi5iMDcyYzhhZjM1MDFjMGM0YjZhMjEwMzUxMGI5NWEwY2M3OGNj
ZGQ1IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9wcml2
aWxlZ2VkLWFwaS10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10
ZXN0cy9wcml2aWxlZ2VkLWFwaS10ZXN0cy5qcwpAQCAtMTcyLDE3ICsxNzIsMTcgQEAgZGVzY3Jp
YmUoJ0Jyb3dzZXJQcml2aWxlZ2VkQVBJJywgKCkgPT4gewogZGVzY3JpYmUoJ05vZGVQcml2aWxl
Z2VkQVBJJywgKCkgPT4gewogICAgIGxldCByZXF1ZXN0cyA9IE1vY2tSZW1vdGVBUEkuaW5qZWN0
KG51bGwsIE5vZGVQcml2aWxlZ2VkQVBJKTsKICAgICBiZWZvcmVFYWNoKCgpID0+IHsKLSAgICAg
ICAgUHJpdmlsZWdlZEFQSS5jb25maWd1cmUoJ3NsYXZlX25hbWUnLCAncGFzc3dvcmQnKTsKKyAg
ICAgICAgUHJpdmlsZWdlZEFQSS5jb25maWd1cmUoJ3dvcmtlcl9uYW1lJywgJ3Bhc3N3b3JkJyk7
CiAgICAgfSk7CiAKICAgICBkZXNjcmliZSgnc2VuZFJlcXVlc3QnLCAoKSA9PiB7Ci0gICAgICAg
IGl0KCdzaG91bGQgcG9zdCBzbGF2ZSBuYW1lIGFuZCBwYXNzd29yZCBpbiBkYXRhJywgYXN5bmMg
KCkgPT4geworICAgICAgICBpdCgnc2hvdWxkIHBvc3Qgd29ya2VyIG5hbWUgYW5kIHBhc3N3b3Jk
IGluIGRhdGEnLCBhc3luYyAoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gUHJp
dmlsZWdlZEFQSS5zZW5kUmVxdWVzdCgndGVzdCcsIHtmb286ICdiYXInfSk7CiAKICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOwogICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy9wcml2aWxlZ2VkLWFwaS90ZXN0Jyk7CiAgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0ubWV0aG9kLCAnUE9TVCcpOwotICAgICAgICAg
ICAgYXNzZXJ0LmRlZXBFcXVhbChyZXF1ZXN0c1swXS5kYXRhLCAge2ZvbzogJ2JhcicsIHNsYXZl
TmFtZTogJ3NsYXZlX25hbWUnLCBzbGF2ZVBhc3N3b3JkOiAncGFzc3dvcmQnfSk7CisgICAgICAg
ICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsICB7Zm9vOiAnYmFyJywgd29y
a2VyTmFtZTogJ3dvcmtlcl9uYW1lJywgd29ya2VyUGFzc3dvcmQ6ICdwYXNzd29yZCd9KTsKIAog
ICAgICAgICAgICAgcmVxdWVzdHNbMF0ucmVzb2x2ZSh7dGVzdDogJ3N1Y2Nlc3MnfSk7CiAgICAg
ICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXF1ZXN0OwpkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvcmV0cnktZmFpbGVkLWJ1aWxkLXJlcXVlc3Rz
LXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvcmV0cnktZmFp
bGVkLWJ1aWxkLXJlcXVlc3RzLXRlc3RzLmpzCmluZGV4IDA0NGY1OWUyOGI1ODUxNjE3MzE4ZDAx
ZWRkMjkzNTgxNTFlNzRhOTkuLjA4MmQ4MGRjYTVlZjhmMDgzNTg5YzY1NDFiYTI0NTZhZmQxMjg2
MjggMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL3JldHJ5
LWZhaWxlZC1idWlsZC1yZXF1ZXN0cy10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvdW5pdC10ZXN0cy9yZXRyeS1mYWlsZWQtYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKQEAg
LTE0Myw3ICsxNDMsNyBAQCBkZXNjcmliZSgnY3JlYXRlQWRkaXRpb25hbEJ1aWxkUmVxdWVzdHNG
b3JUZXN0R3JvdXBzV2l0aEZhaWxlZFJlcXVlc3RzJywgKCkgPT4gewogICAgIGxldCByZXF1ZXN0
cyA9IE1vY2tSZW1vdGVBUEkuaW5qZWN0KG51bGwsIE5vZGVQcml2aWxlZ2VkQVBJKTsKICAgICBN
b2NrTW9kZWxzLmluamVjdCgpOwogICAgIGJlZm9yZUVhY2goKCkgPT4gewotICAgICAgICBQcml2
aWxlZ2VkQVBJLmNvbmZpZ3VyZSgnc2xhdmVfbmFtZScsICdwYXNzd29yZCcpOworICAgICAgICBQ
cml2aWxlZ2VkQVBJLmNvbmZpZ3VyZSgnd29ya2VyX25hbWUnLCAncGFzc3dvcmQnKTsKICAgICB9
KTsKIAogICAgIGl0KCdzaG91bGQgYWRkIG9uZSBtb3JlIGJ1aWxkIHJlcXVlc3Qgd2hlbiBvbmUg
b2YgdGhlIGV4aXN0aW5nIHJlcXVlc3RzIGZhaWxlZCcsIGFzeW5jICgpID0+IHsKQEAgLTE1NSw3
ICsxNTUsNyBAQCBkZXNjcmliZSgnY3JlYXRlQWRkaXRpb25hbEJ1aWxkUmVxdWVzdHNGb3JUZXN0
R3JvdXBzV2l0aEZhaWxlZFJlcXVlc3RzJywgKCkgPT4gewogICAgICAgICBhc3NlcnQuZXF1YWwo
cmVxdWVzdHMubGVuZ3RoLCAxKTsKIAogICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0u
dXJsLCAnL3ByaXZpbGVnZWQtYXBpL2FkZC1idWlsZC1yZXF1ZXN0cycpOwotICAgICAgICBhc3Nl
cnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsIHtzbGF2ZU5hbWU6ICdzbGF2ZV9uYW1lJywg
c2xhdmVQYXNzd29yZDogJ3Bhc3N3b3JkJywgZ3JvdXA6ICcyMTI4JywgYWRkQ291bnQ6IDF9KTsK
KyAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChyZXF1ZXN0c1swXS5kYXRhLCB7d29ya2VyTmFtZTog
J3dvcmtlcl9uYW1lJywgd29ya2VyUGFzc3dvcmQ6ICdwYXNzd29yZCcsIGdyb3VwOiAnMjEyOCcs
IGFkZENvdW50OiAxfSk7CiAgICAgICAgIHJlcXVlc3RzWzBdLnJlc29sdmUoKTsKIAogICAgICAg
ICBhd2FpdCBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CkBAIC0xNzIsNyArMTcyLDcg
QEAgZGVzY3JpYmUoJ2NyZWF0ZUFkZGl0aW9uYWxCdWlsZFJlcXVlc3RzRm9yVGVzdEdyb3Vwc1dp
dGhGYWlsZWRSZXF1ZXN0cycsICgpID0+IHsKICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3Rz
Lmxlbmd0aCwgMSk7CiAKICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy9w
cml2aWxlZ2VkLWFwaS9hZGQtYnVpbGQtcmVxdWVzdHMnKTsKLSAgICAgICAgYXNzZXJ0LmRlZXBF
cXVhbChyZXF1ZXN0c1swXS5kYXRhLCB7c2xhdmVOYW1lOiAnc2xhdmVfbmFtZScsIHNsYXZlUGFz
c3dvcmQ6ICdwYXNzd29yZCcsIGdyb3VwOiAnMjEyOCcsIGFkZENvdW50OiAyfSk7CisgICAgICAg
IGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMF0uZGF0YSwge3dvcmtlck5hbWU6ICd3b3JrZXJf
bmFtZScsIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLCBncm91cDogJzIxMjgnLCBhZGRDb3Vu
dDogMn0pOwogICAgICAgICByZXF1ZXN0c1swXS5yZXNvbHZlKCk7CiAKICAgICAgICAgYXdhaXQg
TW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwpAQCAtMTg5LDcgKzE4OSw3IEBAIGRlc2Ny
aWJlKCdjcmVhdGVBZGRpdGlvbmFsQnVpbGRSZXF1ZXN0c0ZvclRlc3RHcm91cHNXaXRoRmFpbGVk
UmVxdWVzdHMnLCAoKSA9PiB7CiAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgs
IDEpOwogCiAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1swXS51cmwsICcvcHJpdmlsZWdl
ZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAnKTsKLSAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChyZXF1
ZXN0c1swXS5kYXRhLCB7c2xhdmVOYW1lOiAnc2xhdmVfbmFtZScsIHNsYXZlUGFzc3dvcmQ6ICdw
YXNzd29yZCcsIGdyb3VwOiAnMjEyOCcsIG1heU5lZWRNb3JlUmVxdWVzdHM6IGZhbHNlfSk7Cisg
ICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMF0uZGF0YSwge3dvcmtlck5hbWU6ICd3
b3JrZXJfbmFtZScsIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLCBncm91cDogJzIxMjgnLCBt
YXlOZWVkTW9yZVJlcXVlc3RzOiBmYWxzZX0pOwogICAgICAgICByZXF1ZXN0c1swXS5yZXNvbHZl
KCk7CiAgICAgfSk7CiAKQEAgLTIxMSw3ICsyMTEsNyBAQCBkZXNjcmliZSgnY3JlYXRlQWRkaXRp
b25hbEJ1aWxkUmVxdWVzdHNGb3JUZXN0R3JvdXBzV2l0aEZhaWxlZFJlcXVlc3RzJywgKCkgPT4g
ewogICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsKIAogICAgICAgICBh
c3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnL3ByaXZpbGVnZWQtYXBpL3VwZGF0ZS10ZXN0
LWdyb3VwJyk7Ci0gICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMF0uZGF0YSwge3Ns
YXZlTmFtZTogJ3NsYXZlX25hbWUnLCBzbGF2ZVBhc3N3b3JkOiAncGFzc3dvcmQnLCBncm91cDog
JzIxMjgnLCBtYXlOZWVkTW9yZVJlcXVlc3RzOiBmYWxzZX0pOworICAgICAgICBhc3NlcnQuZGVl
cEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsIHt3b3JrZXJOYW1lOiAnd29ya2VyX25hbWUnLCB3b3Jr
ZXJQYXNzd29yZDogJ3Bhc3N3b3JkJywgZ3JvdXA6ICcyMTI4JywgbWF5TmVlZE1vcmVSZXF1ZXN0
czogZmFsc2V9KTsKICAgICAgICAgcmVxdWVzdHNbMF0ucmVzb2x2ZSgpOwogICAgIH0pOwogCkBA
IC0yMjQsNyArMjI0LDcgQEAgZGVzY3JpYmUoJ2NyZWF0ZUFkZGl0aW9uYWxCdWlsZFJlcXVlc3Rz
Rm9yVGVzdEdyb3Vwc1dpdGhGYWlsZWRSZXF1ZXN0cycsICgpID0+IHsKICAgICAgICAgYXNzZXJ0
LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7CiAKICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVl
c3RzWzBdLnVybCwgJy9wcml2aWxlZ2VkLWFwaS91cGRhdGUtdGVzdC1ncm91cCcpOwotICAgICAg
ICBhc3NlcnQuZGVlcEVxdWFsKHJlcXVlc3RzWzBdLmRhdGEsIHtzbGF2ZU5hbWU6ICdzbGF2ZV9u
YW1lJywgc2xhdmVQYXNzd29yZDogJ3Bhc3N3b3JkJywgZ3JvdXA6ICcyMTI4JywgbWF5TmVlZE1v
cmVSZXF1ZXN0czogZmFsc2V9KTsKKyAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChyZXF1ZXN0c1sw
XS5kYXRhLCB7d29ya2VyTmFtZTogJ3dvcmtlcl9uYW1lJywgd29ya2VyUGFzc3dvcmQ6ICdwYXNz
d29yZCcsIGdyb3VwOiAnMjEyOCcsIG1heU5lZWRNb3JlUmVxdWVzdHM6IGZhbHNlfSk7CiAgICAg
ICAgIHJlcXVlc3RzWzBdLnJlc29sdmUoKTsKICAgICB9KTsKIApAQCAtMjM3LDcgKzIzNyw3IEBA
IGRlc2NyaWJlKCdjcmVhdGVBZGRpdGlvbmFsQnVpbGRSZXF1ZXN0c0ZvclRlc3RHcm91cHNXaXRo
RmFpbGVkUmVxdWVzdHMnLCAoKSA9PiB7CiAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5s
ZW5ndGgsIDEpOwogCiAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1swXS51cmwsICcvcHJp
dmlsZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAnKTsKLSAgICAgICAgYXNzZXJ0LmRlZXBFcXVh
bChyZXF1ZXN0c1swXS5kYXRhLCB7c2xhdmVOYW1lOiAnc2xhdmVfbmFtZScsIHNsYXZlUGFzc3dv
cmQ6ICdwYXNzd29yZCcsIGdyb3VwOiAnMjEyOCcsIG1heU5lZWRNb3JlUmVxdWVzdHM6IGZhbHNl
fSk7CisgICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMF0uZGF0YSwge3dvcmtlck5h
bWU6ICd3b3JrZXJfbmFtZScsIHdvcmtlclBhc3N3b3JkOiAncGFzc3dvcmQnLCBncm91cDogJzIx
MjgnLCBtYXlOZWVkTW9yZVJlcXVlc3RzOiBmYWxzZX0pOwogICAgICAgICByZXF1ZXN0c1swXS5y
ZXNvbHZlKCk7CiAgICAgfSk7CiAKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy91bml0LXRlc3RzL3Rlc3QtZ3JvdXBzLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3VuaXQtdGVzdHMvdGVzdC1ncm91cHMtdGVzdHMuanMKaW5kZXggYWE0MzU1NGJlOGY5NmFi
MzMwMGQ1MzczYTE0ODkwNDZhNjkxNzg3OS4uNWFhOTFlOGFhMDJlMTFhNjY0NTFkMzFkOTYzNjk2
Y2VkOGQ0OTgzZSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVz
dHMvdGVzdC1ncm91cHMtdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Vu
aXQtdGVzdHMvdGVzdC1ncm91cHMtdGVzdHMuanMKQEAgLTE2MSw3ICsxNjEsNyBAQCBkZXNjcmli
ZSgnVGVzdEdyb3VwJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJl
cXVlc3RzWzFdLm1ldGhvZCwgJ1BPU1QnKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1
ZXN0c1sxXS51cmwsICcvcHJpdmlsZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAnKTsKICAgICAg
ICAgICAgIGRlbGV0ZSByZXF1ZXN0c1sxXS5kYXRhLm5vdGlmaWNhdGlvblNlbnRBdDsKLSAgICAg
ICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNbMV0uZGF0YSwge2dyb3VwOiAnMjEyOCcs
IG5lZWRzTm90aWZpY2F0aW9uOiBmYWxzZSwgc2xhdmVOYW1lOiAndGVzdCcsIHNsYXZlUGFzc3dv
cmQ6ICdwYXNzd29yZCd9KTsKKyAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVxdWVzdHNb
MV0uZGF0YSwge2dyb3VwOiAnMjEyOCcsIG5lZWRzTm90aWZpY2F0aW9uOiBmYWxzZSwgd29ya2Vy
TmFtZTogJ3Rlc3QnLCB3b3JrZXJQYXNzd29yZDogJ3Bhc3N3b3JkJ30pOwogICAgICAgICAgICAg
cmVxdWVzdHNbMV0ucmVzb2x2ZSgpOwogCiAgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJ
LndhaXRGb3JSZXF1ZXN0KCk7CkBAIC0yMjEsNyArMjIxLDcgQEAgZGVzY3JpYmUoJ1Rlc3RHcm91
cCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5n
dGgsIDIpOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzFdLm1ldGhvZCwgJ1BP
U1QnKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1sxXS51cmwsICcvcHJpdmls
ZWdlZC1hcGkvdXBkYXRlLXRlc3QtZ3JvdXAnKTsKLSAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1
YWwocmVxdWVzdHNbMV0uZGF0YSwge2dyb3VwOiAnMjEyOCcsIG1heU5lZWRNb3JlUmVxdWVzdHM6
IGZhbHNlLCBzbGF2ZU5hbWU6ICd0ZXN0Jywgc2xhdmVQYXNzd29yZDogJ3Bhc3N3b3JkJ30pOwor
ICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChyZXF1ZXN0c1sxXS5kYXRhLCB7Z3JvdXA6ICcy
MTI4JywgbWF5TmVlZE1vcmVSZXF1ZXN0czogZmFsc2UsIHdvcmtlck5hbWU6ICd0ZXN0Jywgd29y
a2VyUGFzc3dvcmQ6ICdwYXNzd29yZCd9KTsKICAgICAgICAgICAgIHJlcXVlc3RzWzFdLnJlc29s
dmUoKTsKIAogICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgp
Owo=
</data>
<flag name="review"
          id="443169"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>