<?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>213541</bug_id>
          
          <creation_ts>2020-06-23 17:07:48 -0700</creation_ts>
          <short_desc>Resync web-platform-tests/IndexedDB from upstream</short_desc>
          <delta_ts>2020-07-16 09:10:52 -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>Tools / Tests</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>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jsbell</cc>
    
    <cc>sam</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1665602</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-23 17:07:48 -0700</bug_when>
    <thetext>Resync web-platform-tests/IndexedDB from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665603</commentid>
    <comment_count>1</comment_count>
      <attachid>402610</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-23 17:10:33 -0700</bug_when>
    <thetext>Created attachment 402610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665628</commentid>
    <comment_count>2</comment_count>
      <attachid>402610</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-06-23 19:49:50 -0700</bug_when>
    <thetext>Comment on attachment 402610
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665633</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-23 20:26:02 -0700</bug_when>
    <thetext>Committed r263437: &lt;https://trac.webkit.org/changeset/263437&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402610.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665634</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-23 20:27:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/64680089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402610</attachid>
            <date>2020-06-23 17:10:33 -0700</date>
            <delta_ts>2020-06-23 20:26:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213541-20200623171032.patch</filename>
            <type>text/plain</type>
            <size>322533</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDI3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBiODNhYzRkODBlYWM0YjYzMTI2MjFlMWM4NjFkNWVhMGI0MjNjZWQ4Li40Mjc5MjdiNTVj
NmU0NDQ1OTE0Zjg2N2FhYWEyNDg1YzY0ZDBkOWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNi0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
IGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMzU0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCIGZyb20gdXBzdHJlYW0g
MTAwMWJiNmIyZDZiOS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
KjogVXBkYXRlZC4KKwogMjAyMC0wNi0yMiAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViWFJdIEludHJvZHVjaW5nIFhSTGF5ZXIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2JpZ2ludF92YWx1ZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9iaWdpbnRfdmFsdWUuaHRtCmluZGV4IDU4OWVlYWJlNmM2ZTY3
OTg0MDY3NTllMmQ0MGZkMjhiZTI2NDU0NzMuLjljZTk4MGEyZDZlZGRmYzUxNDk1MDU0MzUyNGRh
YjlhYThmOTEzMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpZ2ludF92YWx1ZS5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmlnaW50X3ZhbHVlLmh0
bQpAQCAtNjIsNyArNjIsNyBAQCB2YWx1ZV90ZXN0KHt2YWw6IE9iamVjdCgxbil9LAogCiBmdW5j
dGlvbiBpbnZhbGlkS2V5KGtleSwgbmFtZSkgewogICAgIHRlc3QodCA9PiB7Ci0gICAgICAgIGFz
c2VydF90aHJvd3MoIkRhdGFFcnJvciIsICgpID0+IGluZGV4ZWREQi5jbXAoMCwga2V5KSk7Cisg
ICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCAoKSA9PiBpbmRleGVkREIuY21w
KDAsIGtleSkpOwogICAgIH0sICJCaWdJbnRzIGFzIGtleXMgaW4gSW5kZXhlZERCIC0gIiArIG5h
bWUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLWNvbnRlbnR0eXBlLmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9i
LWNvbnRlbnR0eXBlLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVlNTZiZjNmZDYxZDg4
ZTI0MzM5NWYyM2U4ZTU3MzlkYzc5ZTI3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItY29udGVudHR5
cGUuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBFbnN1cmUgdGhhdCBj
b250ZW50IHR5cGUgcm91bmQgdHJpcHMgd2hlbiByZWFkaW5nIGJsb2IgZGF0YSAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvYmxvYi1jb250ZW50dHlwZS5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItY29udGVudHR5cGUuYW55Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2Jsb2ItY29udGVudHR5cGUuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1
biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvYmxvYi1jb250ZW50dHlwZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLWNvbnRlbnR0eXBlLmFueS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wYjJkZWJhZTdiMWE2NDk4NTIzNDU5ZWU5Nzg4MjI1N2E3YWM5NzRjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvYmxvYi1jb250ZW50dHlwZS5hbnkuanMKQEAgLTAsMCArMSwzOSBAQAorLy8gTUVU
QTogdGl0bGU9QmxvYiBDb250ZW50IFR5cGUKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LmpzCisv
LyBNRVRBOiB0aW1lb3V0PWxvbmcKKworaW5kZXhlZGRiX3Rlc3QoCisgICAgZnVuY3Rpb24gdXBn
cmFkZSh0LCBkYikgeworICAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAg
ICB9LAorICAgIGZ1bmN0aW9uIHN1Y2Nlc3ModCwgZGIpIHsKKyAgICAgICAgdmFyIHR5cGUgPSAn
eC1maWxlcy90cnVzdC1uby1vbmUnOworCisgICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoWydt
dWxkZXInLCAnc2N1bGx5J10sIHt0eXBlOiB0eXBlfSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
YmxvYi50eXBlLCB0eXBlLCAnQmxvYiB0eXBlIHNob3VsZCBtYXRjaCBjb25zdHJ1Y3RvciBvcHRp
b24nKTsKKworICAgICAgICB2YXIgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdy
aXRlJyk7CisgICAgICAgIHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dChibG9iLCAna2V5Jyk7
CisKKyAgICAgICAgdHgub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgdmFyIHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJyk7CisgICAgICAgICAgICB0
eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5nZXQoJ2tleScpLm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZS50YXJnZXQucmVz
dWx0OworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LnR5cGUsIHR5cGUsICdC
bG9iIHR5cGUgc2hvdWxkIHN1cnZpdmUgcm91bmQtdHJpcCcpOworCisgICAgICAgICAgICAgICAg
dmFyIHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzdWx0KTsKKyAgICAgICAgICAgICAgICB2
YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCksIGFzeW5jID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICB4aHIub3BlbignR0VUJywgdXJsLCBhc3luYyk7CisgICAgICAgICAgICAgICAgeGhyLnNl
bmQoKTsKKyAgICAgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gdC5zdGVwX2Z1
bmMoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSAh
PT0gWE1MSHR0cFJlcXVlc3QuRE9ORSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh4aHIuZ2V0UmVzcG9uc2VIZWFkZXIo
J0NvbnRlbnQtVHlwZScpLCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdCbG9iIHR5cGUgc2hvdWxkIGJlIHByZXNlcnZlZCB3aGVuIGZldGNoZWQnKTsKKyAgICAgICAg
ICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfSk7CisgICAgfSwKKyAgICAnRW5zdXJlIHRoYXQgY29udGVudCB0eXBlIHJv
dW5kIHRyaXBzIHdoZW4gcmVhZGluZyBibG9iIGRhdGEnCispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi1jb250
ZW50dHlwZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItY29udGVudHR5cGUuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVlNTZiZjNmZDYxZDg4ZTI0MzM5NWYyM2U4ZTU3
MzlkYzc5ZTI3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItY29udGVudHR5cGUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRW5zdXJlIHRoYXQgY29udGVudCB0
eXBlIHJvdW5kIHRyaXBzIHdoZW4gcmVhZGluZyBibG9iIGRhdGEgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2It
Y29udGVudHR5cGUuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi1jb250ZW50dHlwZS5hbnkud29ya2VyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2Jsb2ItY29udGVudHR5cGUuYW55Lndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItZGVsZXRlLW9iamVjdHN0b3JlLWRiLmFueS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9ibG9iLWRlbGV0ZS1vYmplY3RzdG9yZS1kYi5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY2MTdlMTY0ZWNmNWE3NzYyZjliZDU3MzYzZTM0ZDljOTUwZTZlODIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9ibG9iLWRlbGV0ZS1vYmplY3RzdG9yZS1kYi5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIERlbGV0aW5nIGFuIG9iamVjdCBzdG9yZSBhbmQgYSBkYXRhYmFzZSBj
b250YWluaW5nIGJsb2JzIGRvZXNuJ3QgY3Jhc2guIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLWRlbGV0ZS1v
YmplY3RzdG9yZS1kYi5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItZGVsZXRlLW9iamVjdHN0b3JlLWRiLmFueS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9ibG9iLWRlbGV0ZS1vYmplY3RzdG9yZS1kYi5hbnkuaHRtbApAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLWRlbGV0ZS1vYmplY3RzdG9yZS1kYi5hbnkuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9i
LWRlbGV0ZS1vYmplY3RzdG9yZS1kYi5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkN2JhZDkxNGU5NmE5
MDYzYzk3ZTNhMTQ4NDRhYThjMzAwNzllNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItZGVsZXRlLW9i
amVjdHN0b3JlLWRiLmFueS5qcwpAQCAtMCwwICsxLDQ3IEBACisvLyBNRVRBOiB0aXRsZT1CbG9i
IERlbGV0ZSBPYmplY3QgU3RvcmUKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LmpzCisKK2xldCBr
ZXkgPSAiYmxvYiBrZXkiOworCitpbmRleGVkZGJfdGVzdCgKKyAgICBmdW5jdGlvbiB1cGdyYWRl
KHQsIGRiKSB7CisgICAgICBjb25zdCBzdG9yZTAgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmUwJyk7CisgICAgICBjb25zdCBzdG9yZTEgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUx
Jyk7CisKKyAgICAgIGNvbnN0IGJsb2JBQ29udGVudCA9ICJGaXJzdCBibG9iIGNvbnRlbnQiOwor
ICAgICAgY29uc3QgYmxvYkEgPSBuZXcgQmxvYihbYmxvYkFDb250ZW50XSwgeyJ0eXBlIiA6ICJ0
ZXh0L3BsYWluIn0pOworCisgICAgICBzdG9yZTAucHV0KGJsb2JBLCBrZXkpOworICAgIH0sCisg
ICAgZnVuY3Rpb24gc3VjY2Vzcyh0LCBkYikgeworICAgICAgZGIuY2xvc2UoKTsKKyAgICAgIGNv
bnN0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYi5uYW1lLCAyKTsKKworICAgICAgcmVxdWVz
dC5vbnVwZ3JhZGVuZWVkZWQgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgICAgIGNv
bnN0IGRiID0gZS50YXJnZXQucmVzdWx0OworICAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZSgn
c3RvcmUwJyk7CisKKyAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbigpIHsKKyAgICAgICAgICBjb25zdCBibG9iQkNvbnRlbnQgPSAiU2Vjb25kIGJsb2IgY29u
dGVudCI7CisgICAgICAgICAgY29uc3QgdHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUxJywg
J3JlYWR3cml0ZScpOworICAgICAgICAgIGNvbnN0IHN0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3Jl
KCdzdG9yZTEnKTsKKyAgICAgICAgICBjb25zdCBibG9iQiA9IG5ldyBCbG9iKFtibG9iQkNvbnRl
bnRdLCB7InR5cGUiIDogInRleHQvcGxhaW4ifSk7CisgICAgICAgICAgc3RvcmUxLnB1dChibG9i
Qiwga2V5KTsKKworICAgICAgICAgIHRyYW5zLm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIGRiLmNsb3NlKCk7CisgICAgICAgICAgICBjb25zdCBkZWxl
dGVfcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYi5uYW1lKTsKKworICAgICAg
ICAgICAgLy8gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IHN1Y2Nlc3NmdWxseSBjb21wbGV0ZXMuCisg
ICAgICAgICAgICBkZWxldGVfcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuY19kb25lKCk7
CisKKyAgICAgICAgICAgIGRlbGV0ZV9yZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hlZF9mdW5j
KCJSZXF1ZXN0IHNob3VsZCBub3QgZmFpbC4iKTsKKyAgICAgICAgICB9KTsKKworICAgICAgICAg
IHRyYW5zLm9uYWJvcnQgPSB0LnVucmVhY2hlZF9mdW5jKCJUcmFuc2FjdGlvbiBzaG91bGQgbm90
IGJlIGFib3J0ZWQuIik7CisgICAgICAgIH0pOworICAgICAgfSk7CisgICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IHQudW5yZWFjaGVkX2Z1bmMoIlJlcXVlc3Qgc2hvdWxkIG5vdCBzdWNjZWVkIHdp
dGhvdXQgYW4gdXBncmFkZS4iKTsKKyAgICAgIHJlcXVlc3Qub25lcnJvciA9IHQudW5yZWFjaGVk
X2Z1bmMoIlJlcXVlc3Qgc2hvdWxkIG5vdCBmYWlsLiIpOworICAgICAgcmVxdWVzdC5vbmJsb2Nr
ZWQgPSB0LnVucmVhY2hlZF9mdW5jKCJSZXF1ZXN0IHNob3VsZCBub3QgYmUgYmxvY2tlZC4iKTsK
KyAgICB9LCAiRGVsZXRpbmcgYW4gb2JqZWN0IHN0b3JlIGFuZCBhIGRhdGFiYXNlIGNvbnRhaW5p
bmcgYmxvYnMgZG9lc24ndCBjcmFzaC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItZGVsZXRlLW9iamVjdHN0
b3JlLWRiLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi1kZWxldGUtb2JqZWN0c3RvcmUtZGIu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjYxN2UxNjRlY2Y1YTc3NjJmOWJk
NTczNjNlMzRkOWM5NTBlNmU4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItZGVsZXRlLW9iamVjdHN0
b3JlLWRiLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIERl
bGV0aW5nIGFuIG9iamVjdCBzdG9yZSBhbmQgYSBkYXRhYmFzZSBjb250YWluaW5nIGJsb2JzIGRv
ZXNuJ3QgY3Jhc2guIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLWRlbGV0ZS1vYmplY3RzdG9yZS1kYi5hbnku
d29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9ibG9iLWRlbGV0ZS1vYmplY3RzdG9yZS1kYi5hbnkud29ya2VyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2Jsb2ItZGVsZXRlLW9iamVjdHN0b3JlLWRiLmFueS53b3JrZXIuaHRtbApAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWFmdGVyLWRlbGV0aW9uLmFueS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9ibG9iLXZhbGlkLWFmdGVyLWRlbGV0aW9uLmFueS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjI3YTA2YmQ1MzAzNmU4NDg3YWMzYTU4YTdjODE1ZWEwNDFhYmI2YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2Jsb2ItdmFsaWQtYWZ0ZXItZGVsZXRpb24uYW55LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKKworRkFJTCBCbG9icyBzdGF5IGFsaXZlIGFmdGVyIHRoZWlyIHJlY29yZHMgYXJl
IGRlbGV0ZWQuIHJlY29yZC5hMC50ZXh0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3JlY29yZC5h
MC50ZXh0KCknLCAncmVjb3JkLmEwLnRleHQnIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxv
Yi12YWxpZC1hZnRlci1kZWxldGlvbi5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItdmFsaWQtYWZ0ZXItZGVsZXRpb24u
YW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1
NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItdmFsaWQtYWZ0ZXItZGVsZXRpb24uYW55Lmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi12YWxpZC1hZnRlci1kZWxldGlvbi5hbnku
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9ibG9iLXZhbGlkLWFmdGVyLWRlbGV0aW9uLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzUzYmMzYTk5
MGEwY2Q2NmYyOTI3NTUyYzU4NDY2OGQ4Y2U5N2ZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi12YWxp
ZC1hZnRlci1kZWxldGlvbi5hbnkuanMKQEAgLTAsMCArMSw1MyBAQAorLy8gTUVUQTogdGl0bGU9
QmxvYiBWYWxpZCBBZnRlciBEZWxldGlvbgorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQuanMKKwor
bGV0IGtleSA9ICJrZXkiOworCitpbmRleGVkZGJfdGVzdCgKKyAgZnVuY3Rpb24gdXBncmFkZSh0
LCBkYikgeworICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOworICB9LAorICBmdW5j
dGlvbiBzdWNjZXNzKHQsIGRiKSB7CisgICAgY29uc3QgYmxvYkFDb250ZW50ID0gIkJsb2IgQSBj
b250ZW50IjsKKyAgICBjb25zdCBibG9iQkNvbnRlbnQgPSAiQmxvYiBCIGNvbnRlbnQiOworICAg
IGNvbnN0IGJsb2JBID0gbmV3IEJsb2IoW2Jsb2JBQ29udGVudF0sIHsidHlwZSIgOiAidGV4dC9w
bGFpbiJ9KTsKKyAgICBjb25zdCBibG9iQiA9IG5ldyBCbG9iKFtibG9iQkNvbnRlbnRdLCB7InR5
cGUiIDogInRleHQvcGxhaW4ifSk7CisgICAgdmFsdWUgPSB7IGEwOiBibG9iQSwgYTE6IGJsb2JB
LCBiMDogYmxvYkIgfTsKKworICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywg
J3JlYWR3cml0ZScpOworICAgIHZhciBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpOwor
CisgICAgc3RvcmUucHV0KHZhbHVlLCBrZXkpOworICAgIHZhbHVlID0gbnVsbDsKKworICAgIGNv
bnN0IHRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJyk7CisgICAgc3RvcmUgPSB0cmFucy5v
YmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBjb25zdCByZXF1ZXN0ID0gc3RvcmUuZ2V0KGtleSk7
CisKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAg
ICAgY29uc3QgcmVjb3JkID0gcmVxdWVzdC5yZXN1bHQ7CisKKyAgICAgIHRyYW5zLm9uY29tcGxl
dGUgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgICAgY29uc3QgdHJhbnMgPSBkYi50
cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdyaXRlJyk7CisgICAgICAgIHN0b3JlID0gdHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5kZWxl
dGUoa2V5KTsKKworICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gdC5zdGVwX2Z1bmMoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgY29uc3QgcHJvbWlzZTEgPSByZWNvcmQuYTAudGV4dCgpLnRoZW4o
dC5zdGVwX2Z1bmModGV4dCA9PiB7IGFzc2VydF9lcXVhbHModGV4dCwgYmxvYkFDb250ZW50KTsg
fSwKKyAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoKSkpOworCisgICAgICAgICAgY29uc3Qg
cHJvbWlzZTIgPSByZWNvcmQuYTEudGV4dCgpLnRoZW4odC5zdGVwX2Z1bmModGV4dCA9PiB7IGFz
c2VydF9lcXVhbHModGV4dCwgYmxvYkFDb250ZW50KTsgfSwKKyAgICAgICAgICAgIHQudW5yZWFj
aGVkX2Z1bmMoKSkpOworCisgICAgICAgICAgY29uc3QgcHJvbWlzZTMgPSByZWNvcmQuYjAudGV4
dCgpLnRoZW4odC5zdGVwX2Z1bmModGV4dCA9PiB7IGFzc2VydF9lcXVhbHModGV4dCwgYmxvYkJD
b250ZW50KTsgfSwKKyAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoKSkpOworCisgICAgICAg
ICAgUHJvbWlzZS5hbGwoW3Byb21pc2UxLCBwcm9taXNlMiwgcHJvbWlzZTNdKS50aGVuKGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgLy8gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IHN1Y2Nlc3NmdWxs
eSBjb21wbGV0ZXMuCisgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICB9KTsKKyAgICAg
ICAgfSk7CisgICAgICB9KTsKKyAgICB9KTsKKyAgfSwKKyAgIkJsb2JzIHN0YXkgYWxpdmUgYWZ0
ZXIgdGhlaXIgcmVjb3JkcyBhcmUgZGVsZXRlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItdmFsaWQtYWZ0
ZXItZGVsZXRpb24uYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWFmdGVyLWRlbGV0
aW9uLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyN2EwNmJkNTMwMzZlODQ4
N2FjM2E1OGE3YzgxNWVhMDQxYWJiNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWFmdGVy
LWRlbGV0aW9uLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlM
IEJsb2JzIHN0YXkgYWxpdmUgYWZ0ZXIgdGhlaXIgcmVjb3JkcyBhcmUgZGVsZXRlZC4gcmVjb3Jk
LmEwLnRleHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAncmVjb3JkLmEwLnRleHQoKScsICdyZWNv
cmQuYTAudGV4dCcgaXMgdW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWFmdGVyLWRl
bGV0aW9uLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItdmFsaWQtYWZ0ZXItZGVsZXRpb24uYW55Lndvcmtl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4
YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWFmdGVyLWRlbGV0aW9uLmFueS53b3JrZXIu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWJlZm9yZS1jb21taXQu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2Jsb2ItdmFsaWQtYmVmb3JlLWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ3MWYyNjZhMGQwOWNmMzIwZTZhZWJlNmI3NGE2OTBiNDYzZGVjMTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWJlZm9yZS1jb21taXQuYW55LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKKworRkFJTCBCbG9icyBjYW4gYmUgcmVhZCBiYWNrIGJlZm9yZSB0aGVp
ciByZWNvcmRzIGFyZSBjb21taXR0ZWQuIHJlY29yZC5hMC50ZXh0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3JlY29yZC5hMC50ZXh0KCknLCAncmVjb3JkLmEwLnRleHQnIGlzIHVuZGVmaW5lZCkK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvYmxvYi12YWxpZC1iZWZvcmUtY29tbWl0LmFueS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi12YWxpZC1i
ZWZvcmUtY29tbWl0LmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2
NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWJlZm9yZS1jb21t
aXQuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9y
IFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi12YWxpZC1iZWZvcmUt
Y29tbWl0LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2Jsb2ItdmFsaWQtYmVmb3JlLWNvbW1pdC5hbnkuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGVjMmUyOTAzZmJhN2NiYzI3NGM1YzQwNTViMWNlZTFhYzM1NDRlYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2Jsb2ItdmFsaWQtYmVmb3JlLWNvbW1pdC5hbnkuanMKQEAgLTAsMCArMSw0MSBAQAorLy8gTUVU
QTogdGl0bGU9QmxvYiBWYWxpZCBCZWZvcmUgQ29tbWl0CisvLyBNRVRBOiBzY3JpcHQ9c3VwcG9y
dC5qcworCitsZXQga2V5ID0gImtleSI7CisKK2luZGV4ZWRkYl90ZXN0KAorICAgIGZ1bmN0aW9u
IHVwZ3JhZGUodCwgZGIpIHsKKyAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7
CisgICAgfSwKKyAgICBmdW5jdGlvbiBzdWNjZXNzKHQsIGRiKSB7CisgICAgICBjb25zdCBibG9i
QUNvbnRlbnQgPSAiQmxvYiBBIGNvbnRlbnQiOworICAgICAgY29uc3QgYmxvYkJDb250ZW50ID0g
IkJsb2IgQiBjb250ZW50IjsKKyAgICAgIGNvbnN0IGJsb2JBID0gbmV3IEJsb2IoW2Jsb2JBQ29u
dGVudF0sIHsidHlwZSIgOiAidGV4dC9wbGFpbiJ9KTsKKyAgICAgIGNvbnN0IGJsb2JCID0gbmV3
IEJsb2IoW2Jsb2JCQ29udGVudF0sIHsidHlwZSIgOiAidGV4dC9wbGFpbiJ9KTsKKyAgICAgIGNv
bnN0IHZhbHVlID0geyBhMDogYmxvYkEsIGExOiBibG9iQSwgYjA6IGJsb2JCIH07CisKKyAgICAg
IGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOworICAgICAg
Y29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKworICAgICAgc3RvcmUucHV0
KHZhbHVlLCBrZXkpOworICAgICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldChrZXkpOworCisg
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAg
ICBjb25zdCByZWNvcmQgPSByZXF1ZXN0LnJlc3VsdDsKKworICAgICAgICBjb25zdCBwcm9taXNl
MSA9IHJlY29yZC5hMC50ZXh0KCkudGhlbih0LnN0ZXBfZnVuYyh0ZXh0ID0+IHsgYXNzZXJ0X2Vx
dWFscyh0ZXh0LCBibG9iQUNvbnRlbnQpOyB9LAorICAgICAgICAgICAgdC51bnJlYWNoZWRfZnVu
YygpKSk7CisKKyAgICAgICAgY29uc3QgcHJvbWlzZTIgPSByZWNvcmQuYTEudGV4dCgpLnRoZW4o
dC5zdGVwX2Z1bmModGV4dCA9PiB7IGFzc2VydF9lcXVhbHModGV4dCwgYmxvYkFDb250ZW50KTsg
fSwKKyAgICAgICAgICAgIHQudW5yZWFjaGVkX2Z1bmMoKSkpOworCisgICAgICAgIGNvbnN0IHBy
b21pc2UzID0gcmVjb3JkLmIwLnRleHQoKS50aGVuKHQuc3RlcF9mdW5jKHRleHQgPT4geyBhc3Nl
cnRfZXF1YWxzKHRleHQsIGJsb2JCQ29udGVudCk7IH0sCisgICAgICAgICAgICB0LnVucmVhY2hl
ZF9mdW5jKCkpKTsKKworICAgICAgICBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyLCBw
cm9taXNlM10pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgLy8gVGhlIHRlc3QgcGFzc2Vz
IGlmIGl0IHN1Y2Nlc3NmdWxseSBjb21wbGV0ZXMuCisgICAgICAgICAgdC5kb25lKCk7CisgICAg
ICAgIH0pOworICAgICAgfSk7CisgICAgfSwKKyAgICAiQmxvYnMgY2FuIGJlIHJlYWQgYmFjayBi
ZWZvcmUgdGhlaXIgcmVjb3JkcyBhcmUgY29tbWl0dGVkLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi12YWxp
ZC1iZWZvcmUtY29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi12YWxpZC1iZWZvcmUt
Y29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3MWYyNjZhMGQwOWNm
MzIwZTZhZWJlNmI3NGE2OTBiNDYzZGVjMTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWJl
Zm9yZS1jb21taXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZB
SUwgQmxvYnMgY2FuIGJlIHJlYWQgYmFjayBiZWZvcmUgdGhlaXIgcmVjb3JkcyBhcmUgY29tbWl0
dGVkLiByZWNvcmQuYTAudGV4dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdyZWNvcmQuYTAudGV4
dCgpJywgJ3JlY29yZC5hMC50ZXh0JyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItdmFs
aWQtYmVmb3JlLWNvbW1pdC5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWJlZm9yZS1jb21taXQu
YW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUw
NjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLXZhbGlkLWJlZm9yZS1jb21taXQuYW55
Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZv
ciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0t
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Nsb25lLWJlZm9yZS1rZXlw
YXRoLWV2YWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2Nsb25lLWJlZm9yZS1rZXlwYXRoLWV2YWwuaHRtbAppbmRleCBiZjY3YzVk
NmQ3MzJmNmRmY2Y3Njg3ZDliMTJmM2QzMTNlYjYxNzA3Li5jODg1NjIwZTI5MjIxOWVjNGNmMjM1
MTRhNDlhOTA0NGE4NjYzMjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9jbG9uZS1iZWZvcmUta2V5cGF0aC1ldmFsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvY2xvbmUtYmVmb3JlLWtleXBhdGgtZXZhbC5odG1sCkBAIC02Myw4ICs2Myw4IEBAIGlu
ZGV4ZWRkYl90ZXN0KAogICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3Jl
YWR3cml0ZScpOwogICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CiAg
ICAgY29uc3Qgb2JqID0gbmV3IFByb2JlT2JqZWN0KCk7Ci0gICAgYXNzZXJ0X3Rocm93cygnRGF0
YUVycm9yJywgKCkgPT4geyBzdG9yZS5wdXQob2JqKTsgfSwKLSAgICAgICAgICAgICAgICAgICdw
dXQoKSBzaG91bGQgdGhyb3cgaWYgcHJpbWFyeSBrZXkgY2Fubm90IGJlIGluamVjdGVkJyk7Cisg
ICAgYXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsICgpID0+IHsgc3RvcmUucHV0KG9iaik7
IH0sCisgICAgICAgICAgICAgICAgICAgICAgJ3B1dCgpIHNob3VsZCB0aHJvdyBpZiBwcmltYXJ5
IGtleSBjYW5ub3QgYmUgaW5qZWN0ZWQnKTsKICAgICBhc3NlcnRfZXF1YWxzKAogICAgICAgICBv
YmouaW52YWxpZF9pZF9jb3VudCwgMSwKICAgICAgICAgJ3B1dCgpIG9wZXJhdGlvbiBzaG91bGQg
YWNjZXNzIHByaW1hcnkga2V5IHByb3BlcnR5IG9uY2UnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Nsb3NlLWluLXVw
Z3JhZGVuZWVkZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2Nsb3NlLWluLXVwZ3JhZGVuZWVkZWQuaHRtbAppbmRleCA0MDI5MDZm
YzFjMTk2Yjc0MDU3NTI5NTg1ZmRmMTI5OGU5NDBlNTE3Li5mYjI3OGY5MWRiYTM1ZmE0OTZjNTIy
MTAyN2Y5ZmQwMzM3ZTA5ZDFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9jbG9zZS1pbi11cGdyYWRlbmVlZGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvY2xvc2UtaW4tdXBncmFkZW5lZWRlZC5odG1sCkBAIC0zMCw3ICszMCw3IEBAIG9wZW5fcnEu
b25lcnJvciA9IGZ1bmN0aW9uKGUpIHsKICAgICBhc3NlcnRfdHJ1ZSghIWRiKQogICAgIGFzc2Vy
dF9lcXVhbHMoZGIudmVyc2lvbiwgMSkKICAgICBhc3NlcnRfZXF1YWxzKGRiLm9iamVjdFN0b3Jl
TmFtZXMubGVuZ3RoLCAxKQotICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwg
ZnVuY3Rpb24oKSB7IGRiLnRyYW5zYWN0aW9uKCdvcycpIH0pCisgICAgYXNzZXJ0X3Rocm93c19k
b20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7IGRiLnRyYW5zYWN0aW9uKCdvcycp
IH0pCiAKICAgICB0aGlzLmRvbmUoKQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlsZV9zdXBwb3J0LnN1Yi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9maWxlX3N1cHBvcnQuc3ViLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDlkNThj
MmExYjZjYzIzYjBiYmQ1ZTU2MTQzYzM3YTM4ZDgxYWE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlsZV9z
dXBwb3J0LnN1Yi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKworRkFJTCBTYXZlcyBh
bmQgbG9hZHMgYmFjayBGaWxlIG9iamVjdHMgZnJvbSBJbmRleGVkREIgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgMSBidXQgZ290IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlsZV9zdXBwb3J0LnN1Yi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmls
ZV9zdXBwb3J0LnN1Yi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1N2JhNmNkMDkxMGRhYWFiMGJhNDc1MmYx
NzM4NDhhNWRjMzk3NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maWxlX3N1cHBvcnQuc3ViLmh0bWwKQEAg
LTAsMCArMSw2MSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zjg+Cis8dGl0
bGU+RmlsZSBzdXBwb3J0IGluIEluZGV4ZWREQjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzdXBwb3J0LXByb21pc2VzLmpz
Ij48L3NjcmlwdD4KKzxmb3JtIGlkPSJmb3JtIj4KKyAgPGlucHV0IGlkPSJmaWxlX2lucHV0IiBu
YW1lPSJmaWxlX2lucHV0IiB0eXBlPSJmaWxlIj4KKzwvZm9ybT4KKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIGFzc2VydF9maWxlX21ldGFkYXRhX2VxdWFsKGZpbGUxLCBmaWxlMikgeworICBhc3NlcnRf
dHJ1ZShmaWxlMSBpbnN0YW5jZW9mIEZpbGUpOworICBhc3NlcnRfdHJ1ZShmaWxlMiBpbnN0YW5j
ZW9mIEZpbGUpCisgIGFzc2VydF9lcXVhbHMoZmlsZTEubGFzdE1vZGlmaWVkLCBmaWxlMi5sYXN0
TW9kaWZpZWQpOworICBhc3NlcnRfZXF1YWxzKGZpbGUxLm5hbWUsIGZpbGUyLm5hbWUpOworICBh
c3NlcnRfZXF1YWxzKGZpbGUxLnNpemUsIGZpbGUyLnNpemUpOworICBhc3NlcnRfZXF1YWxzKGZp
bGUxLnR5cGUsIGZpbGUyLnR5cGUpOworfQorCithc3luYyBmdW5jdGlvbiBhc3NlcnRfZmlsZV9j
b250ZW50c19lcXVhbHMoZmlsZTEsIGZpbGUyKSB7CisgIGNvbnN0IGZpbGUxX3RleHQgPSBhd2Fp
dCBmaWxlMS50ZXh0KCk7CisgIGNvbnN0IGZpbGUyX3RleHQgPSBhd2FpdCBmaWxlMi50ZXh0KCk7
CisgIGFzc2VydF9lcXVhbHMoZmlsZTFfdGV4dCwgZmlsZTJfdGV4dCk7Cit9CisKK3Byb21pc2Vf
dGVzdChhc3luYyAodGVzdENhc2UpID0+IHsKKyAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZmlsZV9pbnB1dCIpOworICBhd2FpdCB0ZXN0X2RyaXZlci5zZW5kX2tleXMo
aW5wdXQsIFN0cmluZy5yYXdge3tmc19wYXRoKGZpbGVfdG9fc2F2ZS50eHQpfX1gKTsKKyAgYXNz
ZXJ0X2VxdWFscyhpbnB1dC5maWxlcy5sZW5ndGgsIDEpOworCisgIGNvbnN0IGZpbGUgPSBpbnB1
dC5maWxlc1swXTsKKworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNl
LCBkYiA9PiB7CisgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJyk7CisgIH0p
OworCisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnb2JqZWN0U3RvcmUnXSwgJ3JlYWR3
cml0ZScpOworICB0eG4ub2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJykuYWRkKGZpbGUsICdrZXkx
Jyk7CisgIHR4bi5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnKS5hZGQoe2ZpbGU6IGZpbGUsIG90
aGVyOiAnZGF0YSd9LCAna2V5MicpOworICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVz
dENhc2UsIHR4bik7CisKKyAgY29uc3QgcmVhZFR4biA9IGRiLnRyYW5zYWN0aW9uKFsnb2JqZWN0
U3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IGZpbGVCeUl0c2VsZiA9IGF3YWl0IHByb21p
c2VGb3JSZXF1ZXN0KAorICAgICAgdGVzdENhc2UsIHJlYWRUeG4ub2JqZWN0U3RvcmUoJ29iamVj
dFN0b3JlJykuZ2V0KCdrZXkxJykpOworICBjb25zdCBmaWxlSW5EaWN0ID0gYXdhaXQgcHJvbWlz
ZUZvclJlcXVlc3QoCisgICAgICB0ZXN0Q2FzZSwgcmVhZFR4bi5vYmplY3RTdG9yZSgnb2JqZWN0
U3RvcmUnKS5nZXQoJ2tleTInKSk7CisKKyAgYXNzZXJ0X2ZpbGVfbWV0YWRhdGFfZXF1YWwoZmls
ZUJ5SXRzZWxmLCBmaWxlKTsKKyAgYXNzZXJ0X2ZpbGVfbWV0YWRhdGFfZXF1YWwoZmlsZUluRGlj
dC5maWxlLCBmaWxlKTsKKyAgYXNzZXJ0X2ZpbGVfbWV0YWRhdGFfZXF1YWwoZmlsZUluRGljdC5m
aWxlLCBmaWxlQnlJdHNlbGYpOworCisgIGF3YWl0IGFzc2VydF9maWxlX2NvbnRlbnRzX2VxdWFs
cyhmaWxlQnlJdHNlbGYsIGZpbGUpOworICBhd2FpdCBhc3NlcnRfZmlsZV9jb250ZW50c19lcXVh
bHMoZmlsZUluRGljdC5maWxlLCBmaWxlKTsKKworICBkYi5jbG9zZSgpOworfSwgIlNhdmVzIGFu
ZCBsb2FkcyBiYWNrIEZpbGUgb2JqZWN0cyBmcm9tIEluZGV4ZWREQiIpOworCis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2ZpbGVfdG9fc2F2ZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maWxlX3RvX3NhdmUudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNm
NTIzOGU4NDFkN2YzYWY5YTg3ZmI4ZThmZTRlNzg0ZGM2NjJhNjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9m
aWxlX3RvX3NhdmUudHh0CkBAIC0wLDAgKzEgQEAKK0ZpbGUgdG8gc2F2ZSB0byBJbmRleGVkREIu
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZ2V0LWRhdGFiYXNlcy5hbnku
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9nZXQtZGF0YWJhc2VzLmFueS5qcwppbmRleCA4MjNjZmNlMjg0YjJiZWVkNDk4MjE4MjVmMjc5
NDg0OWVkZGE1NzUzLi4yZTUzM2RjZWIwMTg3OTAyMDQ1YzllNzdmYjY4NWJhMjk4YTEwZjI3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcwpAQCAt
MSw4ICsxLDEwIEBACiAvLyBNRVRBOiBzY3JpcHQ9c3VwcG9ydC1wcm9taXNlcy5qcwogCiBwcm9t
aXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewotICBhc3NlcnRfdHJ1ZShpbmRleGVkREIuZGF0
YWJhc2VzKCkgaW5zdGFuY2VvZiBQcm9taXNlLAorICBsZXQgcmVzdWx0ID0gaW5kZXhlZERCLmRh
dGFiYXNlcygpOworICBhc3NlcnRfdHJ1ZShyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlLAogICAg
ICAgImRhdGFiYXNlcygpIHNob3VsZCByZXR1cm4gYSBwcm9taXNlLiIpOworICByZXN1bHQuY2F0
Y2goKCkgPT4ge30pOwogfSwgIkVuc3VyZSB0aGF0IGRhdGFiYXNlcygpIHJldHVybnMgYSBwcm9t
aXNlLiIpOwogCiBwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWJpbmFyeS1rZXktZGV0YWNoZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWJpbmFyeS1rZXktZGV0YWNoZWQt
ZXhwZWN0ZWQudHh0CmluZGV4IGNhMDhhOTAwY2ZjNmMzNjg5ZTJlYWNjZWY0YjZmZjhmMDE5NGM4
N2UuLmZlM2U0NWJlZDI2NjBhZjI1ZmUxY2IxMzBmZTc4NmM3Y2U1NjA3YmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Yi1iaW5hcnkta2V5LWRldGFjaGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItYmluYXJ5LWtleS1kZXRh
Y2hlZC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgRGV0YWNoZWQgQXJyYXlC
dWZmZXIgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsgc3RvcmUucHV0KCcnLCBidWZm
ZXIpOyB9IiBkaWQgbm90IHRocm93Ci1GQUlMIERldGFjaGVkIFR5cGVkQXJyYXkgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+IHsgc3RvcmUucHV0KCcnLCBhcnJheSk7IH0iIGRpZCBub3Qg
dGhyb3cKK0ZBSUwgRGV0YWNoZWQgQXJyYXlCdWZmZXIgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rp
b24gIigpID0+IHsgc3RvcmUucHV0KCcnLCBidWZmZXIpOyB9IiBkaWQgbm90IHRocm93CitGQUlM
IERldGFjaGVkIFR5cGVkQXJyYXkgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gIigpID0+IHsg
c3RvcmUucHV0KCcnLCBhcnJheSk7IH0iIGRpZCBub3QgdGhyb3cKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWJp
bmFyeS1rZXktZGV0YWNoZWQuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWJpbmFyeS1rZXktZGV0YWNoZWQuaHRtCmluZGV4IDI2
YWZjZmIxY2QwM2MyY2ZiM2U0ZmNjNGE5Y2UzODIxNDQyMjVmMjQuLjVhMmUxZjc5ZjQyZTVkODE2
ODcwYTFmOTQ4NTE5MzE3ZjBmZDAwZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1iaW5hcnkta2V5LWRldGFjaGVk
Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItYmluYXJ5LWtleS1kZXRhY2hlZC5odG0KQEAgLTIzLDcgKzIzLDcgQEAgaW5k
ZXhlZGRiX3Rlc3QoCiAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCcnLCBbYnVmZmVyXSk7CiAgICAg
YXNzZXJ0X2VxdWFscyhhcnJheS5ieXRlTGVuZ3RoLCAwKTsKIAotICAgIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvciwgKCkgPT4geyBzdG9yZS5wdXQoJycsIGJ1ZmZlcik7IH0pOworICAgIGFz
c2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7IHN0b3JlLnB1dCgnJywgYnVmZmVyKTsg
fSk7CiAgICAgdC5kb25lKCk7CiAgIH0sCiAgICdEZXRhY2hlZCBBcnJheUJ1ZmZlcicKQEAgLTQz
LDcgKzQzLDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCcnLCBb
YXJyYXkuYnVmZmVyXSk7CiAgICAgYXNzZXJ0X2VxdWFscyhhcnJheS5sZW5ndGgsIDApOwogCi0g
ICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiB7IHN0b3JlLnB1dCgnJywgYXJy
YXkpOyB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geyBzdG9yZS5w
dXQoJycsIGFycmF5KTsgfSk7CiAgICAgdC5kb25lKCk7CiAgIH0sCiAgICdEZXRhY2hlZCBUeXBl
ZEFycmF5JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDEyY2FlYjZjMDQ2ZDgxMGQ5
OTg5ZDIxNDU2ZjcyNmM3MmYxYzliYzguLmM4MWIzZmI4MWE4ZWNlYTQ2ZDdiMWI5N2Q2OTM5OGIz
M2QzMTBjMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50eHQKQEAgLTQsMTEgKzQsMTEgQEAg
RkFJTCBjb21taXQoKSBvbiBhIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNh
dXNlIGVycm9ycy4gdHhuLmNvbW1pdAogRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBiZWNv
bWVzIGluYWN0aXZlIGltbWVkaWF0ZWx5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCiBG
QUlMIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0
IGNhbGxiYWNrcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4
bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgogRkFJTCBQdXRzIGlzc3Vl
ZCBhZnRlciBjb21taXQgYXJlIG5vdCBmdWxmaWxsZWQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZp
bmVkKSIKLUZBSUwgQ2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0aHJv
d3MuIGFzc2VydF90aHJvd3M6IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgaGF2ZSBiZWVuIGFib3J0
ZWQuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBl
RXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywg
J3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIElu
dmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBl
eHBlY3RlZCAxMQorRkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9u
IHRocm93cy4gYXNzZXJ0X3Rocm93c19kb206IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgaGF2ZSBi
ZWVuIGFib3J0ZWQuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2Jq
ZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNv
bW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhj
ZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5k
ZWZpbmVkLCBleHBlY3RlZCAxMQogRkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0
cmFuc2FjdGlvbiB0aHJvd3MuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKIEZBSUwgQ2Fs
bGluZyBhYm9ydCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRvZXMgbm90
IHByZXZlbnQgcGVyc2lzdGluZyB0aGUgZGF0YS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQp
IgotRkFJTCBDYWxsaW5nIHR4bi5jb21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQg
dGhyb3cuIGFzc2VydF90aHJvd3M6IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUgaW5hY3RpdmUg
c28gY2FsbGluZyBjb21taXQgc2hvdWxkIHRocm93LiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29t
bWl0KCk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0
aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNv
ZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKK0ZBSUwgQ2FsbGluZyB0eG4u
Y29tbWl0KCkgd2hlbiB0eG4gaXMgaW5hY3RpdmUgc2hvdWxkIHRocm93LiBhc3NlcnRfdGhyb3dz
X2RvbTogVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBiZSBpbmFjdGl2ZSBzbyBjYWxsaW5nIGNvbW1p
dCBzaG91bGQgdGhyb3cuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcg
b2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhu
LmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9N
RXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8g
dW5kZWZpbmVkLCBleHBlY3RlZCAxMQogRkFJTCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3Bl
IHNob3VsZCBzdGF5IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1pdC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB0eG4yLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4yLmNvbW1pdCgp
JywgJ3R4bjIuY29tbWl0JyBpcyB1bmRlZmluZWQpIgogRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBl
eHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4
bjEuY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhuMS5j
b21taXQnIGlzIHVuZGVmaW5lZCkiCi1GQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwg
ZXJyb3JzIHByb3Blcmx5IHNob3VsZCBiZSBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBleHBs
aWNpdCBjb21taXQgaXMgY2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4x
LmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29t
bWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVy
cm9ycyBwcm9wZXJseSBzaG91bGQgYmVoYXZlIGFzIGV4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQg
Y29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMS5jb21t
aXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMS5jb21taXQoKScsICd0eG4xLmNvbW1pdCcg
aXMgdW5kZWZpbmVkKSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGIt
ZXhwbGljaXQtY29tbWl0LmFueS5qcwppbmRleCAxMmU1NmNjMjY3YTJhOGVjYjg2OWI4YjEyMWY2
ZTc0MDQ3ZDBmNzNkLi4wMzhjMDQ3MjBmOGQ5NDlkYzYxMWM5ODE2NTllNmI1NDI4Yjg1NzRlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0
LmFueS5qcwpAQCAtNjEsNyArNjEsNyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4g
ewogICBjb25zdCB0eG4gPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdyZWFkd3JpdGUnKTsK
ICAgY29uc3Qgb2JqZWN0U3RvcmUgPSB0eG4ub2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CiAgIHR4bi5j
b21taXQoKTsKLSAgYXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywKKyAg
YXNzZXJ0X3Rocm93c19kb20oJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsCiAgICAgICAoKSA9
PiB7IG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ29uZScsIHRpdGxlOiAndGl0bGUxJ30pOyB9LAog
ICAgICAgJ0FmdGVyIGNvbW1pdCBpcyBjYWxsZWQsIHRoZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUg
aW5hY3RpdmUuJyk7CiAgIGRiLmNsb3NlKCk7CkBAIC03Niw3ICs3Niw3IEBAIHByb21pc2VfdGVz
dChhc3luYyB0ZXN0Q2FzZSA9PiB7CiAgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0
b3JlKCdib29rcycpOwogICBjb25zdCBwdXRSZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KHtpc2Ju
OiAnb25lJywgdGl0bGU6ICd0aXRsZTEnfSk7CiAgIHB1dFJlcXVlc3Qub25zdWNjZXNzID0gdGVz
dENhc2Uuc3RlcF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbklu
YWN0aXZlRXJyb3InLAorICAgIGFzc2VydF90aHJvd3NfZG9tKCdUcmFuc2FjdGlvbkluYWN0aXZl
RXJyb3InLAogICAgICAgKCkgPT4geyBvYmplY3RTdG9yZS5wdXQoe2lzYm46J3R3bycsIHRpdGxl
Oid0aXRsZTInfSk7IH0sCiAgICAgICAnVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBub3QgYmUgYWN0
aXZlIGluIHRoZSBjYWxsYmFjayBvZiBhIHJlcXVlc3QgYWZ0ZXIgJwogICAgICAgKyAnY29tbWl0
KCkgaXMgY2FsbGVkLicpOwpAQCAtOTUsNyArOTUsNyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdGVz
dENhc2UgPT4gewogICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3Mn
KTsKICAgdHhuLmNvbW1pdCgpOwogCi0gIGFzc2VydF90aHJvd3MoJ1RyYW5zYWN0aW9uSW5hY3Rp
dmVFcnJvcicsCisgIGFzc2VydF90aHJvd3NfZG9tKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3In
LAogICAgICAgKCkgPT4geyBvYmplY3RTdG9yZS5wdXQoe2lzYm46J29uZScsIHRpdGxlOid0aXRs
ZTEnfSk7IH0sCiAgICAgICAnQWZ0ZXIgY29tbWl0IGlzIGNhbGxlZCwgdGhlIHRyYW5zYWN0aW9u
IHNob3VsZCBiZSBpbmFjdGl2ZS4nKTsKIApAQCAtMTE2LDcgKzExNiw3IEBAIHByb21pc2VfdGVz
dChhc3luYyB0ZXN0Q2FzZSA9PiB7CiAgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9v
a3MnXSwgJ3JlYWR3cml0ZScpOwogICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9y
ZSgnYm9va3MnKTsKICAgdHhuLmFib3J0KCk7Ci0gIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0
ZUVycm9yJywKKyAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywKICAgICAg
ICgpID0+IHsgdHhuLmNvbW1pdCgpOyB9LAogICAgICAgJ1RoZSB0cmFuc2FjdGlvbiBzaG91bGQg
aGF2ZSBiZWVuIGFib3J0ZWQuJyk7CiAgIGRiLmNsb3NlKCk7CkBAIC0xMzAsNyArMTMwLDcgQEAg
cHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKICAgY29uc3QgdHhuID0gZGIudHJhbnNh
Y3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CiAgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhu
Lm9iamVjdFN0b3JlKCdib29rcycpOwogICB0eG4uY29tbWl0KCk7Ci0gIGFzc2VydF90aHJvd3Mo
J0ludmFsaWRTdGF0ZUVycm9yJywKKyAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVy
cm9yJywKICAgICAgICgpID0+IHsgdHhuLmNvbW1pdCgpOyB9LAogICAgICAgJ1RoZSB0cmFuc2Fj
dGlvbiBzaG91bGQgaGF2ZSBhbHJlYWR5IGNvbW1pdHRlZC4nKTsKICAgZGIuY2xvc2UoKTsKQEAg
LTE0NSw3ICsxNDUsNyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewogICBjb25z
dCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKICAgY29uc3QgcHV0UmVx
dWVzdCA9IG9iamVjdFN0b3JlLnB1dCh7aXNibjonb25lJywgdGl0bGU6J3RpdGxlMSd9KTsKICAg
dHhuLmNvbW1pdCgpOwotICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsCisgIGFz
c2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsCiAgICAgICAoKSA9PiB7IHR4bi5h
Ym9ydCgpOyB9LAogICAgICAgJ1RoZSB0cmFuc2FjdGlvbiBzaG91bGQgYWxyZWFkeSBoYXZlIGNv
bW1pdHRlZC4nKTsKICAgY29uc3QgdHhuMiA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3Jl
YWR3cml0ZScpOwpAQCAtMTczLDcgKzE3Myw3IEBAIHByb21pc2VfdGVzdChhc3luYyB0ZXN0Q2Fz
ZSA9PiB7CiAgIC8vIHN0YXRlLgogICBhd2FpdCB0aW1lb3V0UHJvbWlzZSgwKTsKIAotICBhc3Nl
cnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsCisgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZh
bGlkU3RhdGVFcnJvcicsCiAgICAgICAoKSA9PiB7IHR4bi5jb21taXQoKTsgfSwKICAgICAgICdU
aGUgdHJhbnNhY3Rpb24gc2hvdWxkIGJlIGluYWN0aXZlIHNvIGNhbGxpbmcgY29tbWl0IHNob3Vs
ZCB0aHJvdy4nKTsKICAgcmVsZWFzZVR4bkZ1bmN0aW9uKCk7CkBAIC0xOTYsOSArMTk2LDEyIEBA
IHByb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CiAgIHR4bjIuY29tbWl0KCk7CiAKICAg
Ly8gRXhlcmNpc2UgdGhlIEluZGV4ZWREQiB0cmFuc2FjdGlvbiBvcmRlcmluZyBieSBleGVjdXRp
bmcgb25lIHdpdGggYQotICAvLyBkaWZmZXJlbnQgc2NvcGUuCi0gIGNvbnN0IHR4bjMgPSBkYi50
cmFuc2FjdGlvbihbJ25vdF9ib29rcyddLCAncmVhZHdyaXRlJyk7Ci0gIHR4bjMub2JqZWN0U3Rv
cmUoJ25vdF9ib29rcycpLnB1dCh7J3RpdGxlJzogJ25vdF90aXRsZSd9LCAna2V5Jyk7CisgIC8v
IGRpZmZlcmVudCBzY29wZS4gQSByZWFkb25seSB0cmFuc2FjdGlvbiBpcyB1c2VkIGhlcmUgYmVj
YXVzZQorICAvLyBpbXBsZW1lbnRhdGlvbnMgYXJlIG5vdCByZXF1aXJlZCB0byBydW4gbm9uLW92
ZXJsYXBwaW5nIHJlYWR3cml0ZQorICAvLyB0cmFuc2FjdGlvbnMgaW4gcGFyYWxsZWwsIGFuZCBz
b21lIGltcGxlbWVudGF0aW9ucyAoZXg6IEZpcmVmb3gpCisgIC8vIHdpbGwgbm90LgorICBjb25z
dCB0eG4zID0gZGIudHJhbnNhY3Rpb24oWydub3RfYm9va3MnXSwgJ3JlYWRvbmx5Jyk7CisgIHR4
bjMub2JqZWN0U3RvcmUoJ25vdF9ib29rcycpLmdldEFsbEtleXMoKTsKICAgdHhuMy5vbmNvbXBs
ZXRlID0gZnVuY3Rpb24oKSB7CiAgICAgcmVsZWFzZVR4bkZ1bmN0aW9uKCk7CiAgIH0KQEAgLTI4
OCw1ICsyOTEsNSBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewogICBhc3NlcnRf
ZXF1YWxzKGdldFJlcXVlc3QxLnJlc3VsdC50aXRsZSwgJ3RpdGxlMScpOwogICBhc3NlcnRfZXF1
YWxzKGdldFJlcXVlc3QyLnJlc3VsdC50aXRsZSwgJ3RpdGxlMicpOwogICBkYi5jbG9zZSgpOwot
fSwgJ1RyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJyb3JzIHByb3Blcmx5IHNob3VsZCBi
ZSBiZWhhdmUgYXMgJyArCit9LCAnVHJhbnNhY3Rpb25zIHRoYXQgaGFuZGxlIGFsbCBlcnJvcnMg
cHJvcGVybHkgc2hvdWxkIGJlaGF2ZSBhcyAnICsKICAgICdleHBlY3RlZCB3aGVuIGFuIGV4cGxp
Y2l0IGNvbW1pdCBpcyBjYWxsZWQgaW4gYW4gb25lcnJvciBoYW5kbGVyLicpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1j
b21taXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggMTJjYWViNmMwNDZkODEwZDk5ODlk
MjE0NTZmNzI2YzcyZjFjOWJjOC4uYzgxYjNmYjgxYThlY2VhNDZkN2IxYjk3ZDY5Mzk4YjMzZDMx
MGMzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC00LDEx
ICs0LDExIEBAIEZBSUwgY29tbWl0KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlvbiBk
b2VzIG5vdCBjYXVzZSBlcnJvcnMuIHR4bi5jb21taXQKIEZBSUwgQSBjb21taXR0ZWQgdHJhbnNh
Y3Rpb24gYmVjb21lcyBpbmFjdGl2ZSBpbW1lZGlhdGVseS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRl
ZmluZWQpIgogRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBpcyBpbmFjdGl2ZSBpbiBmdXR1
cmUgcmVxdWVzdCBjYWxsYmFja3MuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKIEZBSUwg
UHV0cyBpc3N1ZWQgYWZ0ZXIgY29tbWl0IGFyZSBub3QgZnVsZmlsbGVkLiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQn
IGlzIHVuZGVmaW5lZCkiCi1GQUlMIENhbGxpbmcgY29tbWl0IG9uIGFuIGFib3J0ZWQgdHJhbnNh
Y3Rpb24gdGhyb3dzLiBhc3NlcnRfdGhyb3dzOiBUaGUgdHJhbnNhY3Rpb24gc2hvdWxkIGhhdmUg
YmVlbiBhYm9ydGVkLiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7IH0iIHRocmV3IG9i
amVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5j
b21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4
Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVu
ZGVmaW5lZCwgZXhwZWN0ZWQgMTEKK0ZBSUwgQ2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRlZCB0
cmFuc2FjdGlvbiB0aHJvd3MuIGFzc2VydF90aHJvd3NfZG9tOiBUaGUgdHJhbnNhY3Rpb24gc2hv
dWxkIGhhdmUgYmVlbiBhYm9ydGVkLiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7IH0i
IHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5v
dCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVx
dWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKIEZBSUwgQ2FsbGluZyBjb21taXQgb24gYSBj
b21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCki
CiBGQUlMIENhbGxpbmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzIGFu
ZCBkb2VzIG5vdCBwcmV2ZW50IHBlcnNpc3RpbmcgdGhlIGRhdGEuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1p
dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMg
dW5kZWZpbmVkKSIKLUZBSUwgQ2FsbGluZyB0eG4uY29tbWl0KCkgd2hlbiB0eG4gaXMgaW5hY3Rp
dmUgc2hvdWxkIHRocm93LiBhc3NlcnRfdGhyb3dzOiBUaGUgdHJhbnNhY3Rpb24gc2hvdWxkIGJl
IGluYWN0aXZlIHNvIGNhbGxpbmcgY29tbWl0IHNob3VsZCB0aHJvdy4gZnVuY3Rpb24gIigpID0+
IHsgdHhuLmNvbW1pdCgpOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5k
ZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHBy
b3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCitGQUlMIENh
bGxpbmcgdHhuLmNvbW1pdCgpIHdoZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4gYXNz
ZXJ0X3Rocm93c19kb206IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUgaW5hY3RpdmUgc28gY2Fs
bGluZyBjb21taXQgc2hvdWxkIHRocm93LiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7
IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlz
IG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlz
IGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKIEZBSUwgVHJhbnNhY3Rpb25zIHdpdGgg
c2FtZSBzY29wZSBzaG91bGQgc3RheSBpbiBwcm9ncmFtIG9yZGVyLCBldmVuIGlmIG9uZSBjYWxs
cyBjb21taXQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdHhuMi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhu
Mi5jb21taXQoKScsICd0eG4yLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKIEZBSUwgVHJhbnNhY3Rp
b25zIHRoYXQgZXhwbGljaXRseSBjb21taXQgYW5kIGhhdmUgZXJyb3JzIHNob3VsZCBhYm9ydC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB0eG4xLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgp
JywgJ3R4bjEuY29tbWl0JyBpcyB1bmRlZmluZWQpIgotRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBo
YW5kbGUgYWxsIGVycm9ycyBwcm9wZXJseSBzaG91bGQgYmUgYmVoYXZlIGFzIGV4cGVjdGVkIHdo
ZW4gYW4gZXhwbGljaXQgY29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdHhuMS5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMS5jb21taXQoKScs
ICd0eG4xLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgVHJhbnNhY3Rpb25zIHRoYXQgaGFu
ZGxlIGFsbCBlcnJvcnMgcHJvcGVybHkgc2hvdWxkIGJlaGF2ZSBhcyBleHBlY3RlZCB3aGVuIGFu
IGV4cGxpY2l0IGNvbW1pdCBpcyBjYWxsZWQgaW4gYW4gb25lcnJvciBoYW5kbGVyLiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IHR4bjEuY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhu
MS5jb21taXQnIGlzIHVuZGVmaW5lZCkiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1hZHZhbmNlLWV4
Y2VwdGlvbi1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWFkdmFuY2UtZXhjZXB0aW9uLW9yZGVyLmh0bWwK
aW5kZXggMTNmN2ZkYWU1YTU3YTcxNmExM2VkODA4ZmNkMzYxMzAzNGY3MWUyZC4uYTAyOTRlOWI3
YTFlNzM0MjI3MGJhNzgzN2RkNDRmMGFlMjZkY2ZiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWFkdmFu
Y2UtZXhjZXB0aW9uLW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWFkdmFuY2UtZXhjZXB0aW9uLW9y
ZGVyLmh0bWwKQEAgLTIzLDkgKzIzLDkgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgICBjb25zdCBj
dXJzb3IgPSByLnJlc3VsdDsKIAogICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYygoKSA9PiB7
Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4geyBjdXJzb3IuYWR2
YW5jZSgwKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgICAnInplcm8iIGNoZWNrIChUeXBlRXJy
b3IpIHNob3VsZCBwcmVjZWRlICcgKwotICAgICAgICAgICAgICAgICAgICAgICcibm90IGFjdGl2
ZSIgY2hlY2sgKFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciknKTsKKyAgICAgICAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsgY3Vyc29yLmFkdmFuY2UoMCk7IH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgJyJ6ZXJvIiBjaGVjayAoVHlwZUVycm9yKSBzaG91bGQgcHJlY2Vk
ZSAnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAnIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFu
c2FjdGlvbkluYWN0aXZlRXJyb3IpJyk7CiAgICAgICAgIHQuZG9uZSgpOwogICAgICAgfSksIDAp
OwogICAgIH0pOwpAQCAtNDgsOSArNDgsOSBAQCBpbmRleGVkZGJfdGVzdCgKICAgICAgIGRiLmRl
bGV0ZU9iamVjdFN0b3JlKCdzMicpOwogCiAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKCgp
ID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywg
KCkgPT4geyBjdXJzb3IuYWR2YW5jZSgxKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgICAnIm5v
dCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpICcgKwotICAgICAgICAg
ICAgICAgICAgICAgICdzaG91bGQgcHJlY2VkZSAiZGVsZXRlZCIgY2hlY2sgKEludmFsaWRTdGF0
ZUVycm9yKScpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnVHJhbnNhY3Rpb25JbmFjdGl2
ZUVycm9yJywgKCkgPT4geyBjdXJzb3IuYWR2YW5jZSgxKTsgfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyJub3QgYWN0aXZlIiBjaGVjayAoVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yKSAn
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3VsZCBwcmVjZWRlICJkZWxldGVkIiBj
aGVjayAoSW52YWxpZFN0YXRlRXJyb3IpJyk7CiAgICAgICAgIHQuZG9uZSgpOwogICAgICAgfSks
IDApOwogICAgIH0pOwpAQCAtNzcsOSArNzcsOSBAQCBpbmRleGVkZGJfdGVzdCgKICAgICAgIGN1
cnNvci5hZHZhbmNlKDEpOwogCiAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKCgpID0+IHsK
LSAgICAgICAgYXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywgKCkgPT4g
eyBjdXJzb3IuYWR2YW5jZSgxKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgICAnIm5vdCBhY3Rp
dmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpICcgKwotICAgICAgICAgICAgICAg
ICAgICAgICdzaG91bGQgcHJlY2VkZSAiZ290IHZhbHVlIiBjaGVjayAoSW52YWxpZFN0YXRlRXJy
b3IpJyk7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJy
b3InLCAoKSA9PiB7IGN1cnNvci5hZHZhbmNlKDEpOyB9LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAnIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpICcgKwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hvdWxkIHByZWNlZGUgImdvdCB2YWx1ZSIgY2hl
Y2sgKEludmFsaWRTdGF0ZUVycm9yKScpOwogICAgICAgICB0LmRvbmUoKTsKICAgICAgIH0pLCAw
KTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1hZHZhbmNlLWludmFsaWQuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yLWFkdmFuY2UtaW52YWxpZC5odG0KaW5kZXggZWU5MTFjYzllNGJjMjUyNWE5MzFlNGQ2YTgx
ODkxMzM0ZWU5MDJlOS4uNjdlMDMxODdjMGZjNWNkMWZmNzY0MDQ0NDA0MzlhYTUyY2QwZjI2YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiY3Vyc29yLWFkdmFuY2UtaW52YWxpZC5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWFkdmFu
Y2UtaW52YWxpZC5odG0KQEAgLTM4LDExICszOCwxMSBAQCBpbmRleGVkZGJfdGVzdCgKICAgICAg
IGN1cnNvci5hZHZhbmNlKDEpOwogCiAgICAgICAvLyBTZWNvbmQgdHJ5Ci0gICAgICBhc3NlcnRf
dGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KCkgeyBjdXJzb3IuYWR2YW5jZSgxKTsgfSwgJ3NlY29uZCBhZHZhbmNlJyk7CisgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKDEpOyB9LCAnc2Vjb25kIGFkdmFuY2UnKTsK
IAotICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3InLAotICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UoMyk7IH0sICd0aGlyZCBhZHZhbmNl
Jyk7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKDMpOyB9LCAndGhp
cmQgYWR2YW5jZScpOwogCiAgICAgICBjb3VudCsrOwogICAgIH0pOwpAQCAtNTksMjAgKzU5LDIw
IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgIHJxLm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKGUpIHsKICAgICAgIHZhciBjdXJzb3IgPSBlLnRhcmdldC5yZXN1bHQ7CiAKLSAgICAgIGFz
c2VydF90aHJvd3MoeyBuYW1lOiAiVHlwZUVycm9yIiB9LAotICAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UoZG9jdW1lbnQpOyB9KTsKKyAgICAgIGFzc2VydF90
aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsg
Y3Vyc29yLmFkdmFuY2UoZG9jdW1lbnQpOyB9KTsKIAotICAgICAgYXNzZXJ0X3Rocm93cyh7IG5h
bWU6ICJUeXBlRXJyb3IiIH0sCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJz
b3IuYWR2YW5jZSh7fSk7IH0pOworICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsCisg
ICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSh7fSk7IH0p
OwogCi0gICAgICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogIlR5cGVFcnJvciIgfSwKLSAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKFtdKTsgfSk7CisgICAgICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKSB7IGN1cnNvci5hZHZhbmNlKFtdKTsgfSk7CiAKLSAgICAgIGFzc2VydF90aHJvd3MoeyBu
YW1lOiAiVHlwZUVycm9yIiB9LAotICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vy
c29yLmFkdmFuY2UoIiIpOyB9KTsKKyAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLAor
ICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UoIiIpOyB9
KTsKIAotICAgICAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICJUeXBlRXJyb3IiIH0sCi0gICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgiMSAyIik7IH0pOworICAg
ICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgiMSAyIik7IH0pOwogCiAgICAgICB0LmRvbmUoKTsK
ICAgICB9KTsKQEAgLTkwLDE1ICs5MCwxNSBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBycS5vbnN1
Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CiAgICAgICB2YXIgY3Vyc29yID0gZS50
YXJnZXQucmVzdWx0OwogCi0gICAgICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogIlR5cGVFcnJvciIg
fSwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKG51bGwp
OyB9KTsKKyAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UobnVsbCk7IH0pOwogCi0gICAgICBh
c3NlcnRfdGhyb3dzKHsgbmFtZTogIlR5cGVFcnJvciIgfSwKLSAgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKHVuZGVmaW5lZCk7IH0pOworICAgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkg
eyBjdXJzb3IuYWR2YW5jZSh1bmRlZmluZWQpOyB9KTsKIAogICAgICAgdmFyIG15dmFyID0gbnVs
bDsKLSAgICAgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAiVHlwZUVycm9yIiB9LAotICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UobXl2YXIpOyB9KTsKKyAgICAg
IGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbigpIHsgY3Vyc29yLmFkdmFuY2UobXl2YXIpOyB9KTsKIAogICAgICAgdC5kb25lKCk7CiAg
ICAgfSk7CkBAIC0xMTYsOCArMTE2LDggQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgcnEub25zdWNj
ZXNzID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewogICAgICAgdmFyIGN1cnNvciA9IGUudGFy
Z2V0LnJlc3VsdDsKIAotICAgICAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICJUeXBlRXJyb3IiIH0s
Ci0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgpOyB9KTsK
KyAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UoKTsgfSk7CiAKICAgICAgIHQuZG9uZSgpOwog
ICAgIH0pOwpAQCAtMTM0LDI3ICsxMzQsMjcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgcnEub25z
dWNjZXNzID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewogICAgICAgdmFyIGN1cnNvciA9IGUu
dGFyZ2V0LnJlc3VsdDsKIAotICAgICAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICJUeXBlRXJyb3Ii
IH0sCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgtMSk7
IH0pOworICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgtMSk7IH0pOwogCi0gICAgICBhc3Nl
cnRfdGhyb3dzKHsgbmFtZTogIlR5cGVFcnJvciIgfSwKLSAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKE5hTik7IH0pOworICAgICAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3Iu
YWR2YW5jZShOYU4pOyB9KTsKIAotICAgICAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICJUeXBlRXJy
b3IiIH0sCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgw
KTsgfSk7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKDApOyB9KTsKIAotICAgICAgYXNz
ZXJ0X3Rocm93cyh7IG5hbWU6ICJUeXBlRXJyb3IiIH0sCi0gICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgtMCk7IH0pOworICAgICAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3Iu
YWR2YW5jZSgtMCk7IH0pOwogCi0gICAgICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogIlR5cGVFcnJv
ciIgfSwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKElu
ZmluaXR5KTsgfSk7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKEluZmluaXR5KTsgfSk7
CiAKLSAgICAgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAiVHlwZUVycm9yIiB9LAotICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UoLUluZmluaXR5KTsgfSk7Cisg
ICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKC1JbmZpbml0eSk7IH0pOwogCiAgICAgICB2YXIg
bXl2YXIgPSAtOTk5OTk5OwotICAgICAgYXNzZXJ0X3Rocm93cyh7IG5hbWU6ICJUeXBlRXJyb3Ii
IH0sCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZShteXZh
cik7IH0pOworICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAgICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZShteXZhcik7IH0pOwogCiAgICAg
ICB0LmRvbmUoKTsKICAgICB9KTsKQEAgLTE3OCw4ICsxNzgsOCBAQCBpbmRleGVkZGJfdGVzdCgK
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgYXNzZXJ0X3Rocm93cyh7IG5h
bWU6ICJUeXBlRXJyb3IiIH0sCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJz
b3IuYWR2YW5jZSgwKTsgfSk7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5hZHZhbmNlKDApOyB9KTsK
IAogICAgICAgY3Vyc29yLmFkdmFuY2UoMSk7CiAgICAgICBjb3VudCsrOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yLWNvbnRpbnVlLWV4Y2VwdGlvbi1vcmRlci5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItY29udGludWUtZXhj
ZXB0aW9uLW9yZGVyLmh0bQppbmRleCA4MDAyNDc2ZjExNWQ3MzFmN2RkZDU3NGRiNGQxMzI4Njkz
NmMwMDJkLi40ZTY5N2JjNDMwMjQ1MjRjNDc4ZWJjNWFlMTk1Nzc5NjhmZmFlNDA3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJjdXJzb3ItY29udGludWUtZXhjZXB0aW9uLW9yZGVyLmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItY29u
dGludWUtZXhjZXB0aW9uLW9yZGVyLmh0bQpAQCAtMTksNyArMTksNyBAQCBpbmRleGVkZGJfdGVz
dCgKICAgICAgIHIub25zdWNjZXNzID0gbnVsbDsKICAgICAgIGNvbnN0IGN1cnNvciA9IHIucmVz
dWx0OwogICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3MoJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsICgpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsICgpID0+IHsKICAgICAg
ICAgICBjdXJzb3IuY29udGludWUoe25vdDogImEgdmFsaWQga2V5In0pOwogICAgICAgICB9LCAn
IlRyYW5zYWN0aW9uIGluYWN0aXZlIiBjaGVjayAoVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yKSAn
ICsKICAgICAgICAgICAgJ3Nob3VsZCBwcmVjZWRlICJpbnZhbGlkIGtleSIgY2hlY2sgKERhdGFF
cnJvciknKTsKQEAgLTQ0LDcgKzQ0LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgICBjdXJzb3Iu
Y29udGludWUoKTsKICAgICAgIHIub25zdWNjZXNzID0gdC5zdGVwX2Z1bmMoKCkgPT4gewogICAg
ICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgICAgICBhc3NlcnRfdGhy
b3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsICgpID0+IHsKICAgICAgICAg
ICAgIGN1cnNvci5jb250aW51ZSgpOwogICAgICAgICAgIH0sICciVHJhbnNhY3Rpb24gaW5hY3Rp
dmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpICcgKwogICAgICAgICAgICAgICdz
aG91bGQgcHJlY2VkZSAiZ290IHZhbHVlIGZsYWciIGNoZWNrIChJbnZhbGlkU3RhdGVFcnJvcikn
KTsKQEAgLTY4LDcgKzY4LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgICByLm9uc3VjY2VzcyA9
IG51bGw7CiAgICAgICBjb25zdCBjdXJzb3IgPSByLnJlc3VsdDsKICAgICAgIGN1cnNvci5jb250
aW51ZSgpOwotICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiB7
CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiB7CiAg
ICAgICAgIGN1cnNvci5jb250aW51ZSh7bm90OiAiYSB2YWxpZCBrZXkifSk7CiAgICAgICB9LCAn
ImdvdCB2YWx1ZSBmbGFnIiBjaGVjayAoSW52YWxpZFN0YXRlRXJyb3IpIHNob3VsZCBwcmVjZWRl
ICcgKwogICAgICAgICAgJyJpbnZhbGlkIGtleSIgY2hlY2sgKERhdGFFcnJvciknKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvci1jb250aW51ZVByaW1hcnlLZXktZXhjZXB0aW9uLW9yZGVyLmh0bSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1
cnNvci1jb250aW51ZVByaW1hcnlLZXktZXhjZXB0aW9uLW9yZGVyLmh0bQppbmRleCA1NmEyM2Ex
MTIzZmZjZGZhOWYwNWUwYjU4NTg0MjUwNzliYmViZDQwLi4wZGY2ZTNhM2E5MjQyNmM3MWE3ZmVj
MDBmNTZkNmY3MGY1ZGQ2NGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItY29udGludWVQcmltYXJ5S2V5
LWV4Y2VwdGlvbi1vcmRlci5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWNvbnRpbnVlUHJpbWFyeUtleS1leGNl
cHRpb24tb3JkZXIuaHRtCkBAIC00Niw3ICs0Niw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgICAg
ICAgICAgc3RvcmUuZGVsZXRlSW5kZXgoImlkeCIpOwogICAgICAgICB9KTsKICAgICAgICAgdHhu
Lm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3MoIlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciIsIGZ1bmN0
aW9uKCkgewogICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZVByaW1hcnlLZXkoIkEiLCA0
KTsKICAgICAgICAgICAgIH0sICJ0cmFuc2FjdGlvbi1zdGF0ZSBjaGVjayBzaG91bGQgcHJlY2Vk
ZSBkZWxldGlvbiBjaGVjayIpOwogICAgICAgICAgICAgdC5kb25lKCk7CkBAIC02OSw3ICs2OSw3
IEBAIGluZGV4ZWRkYl90ZXN0KAogCiAgICAgICAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZSgi
dGVzdCIpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIs
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0
ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlUHJp
bWFyeUtleSgiQSIsIDQpOwogICAgICAgICAgICAgfSwgImRlbGV0aW9uIGNoZWNrIHNob3VsZCBw
cmVjZWRlIGluZGV4IHNvdXJjZSBjaGVjayIpOwogICAgICAgICAgICAgdC5kb25lKCk7CkBAIC05
Myw3ICs5Myw3IEBAIGluZGV4ZWRkYl90ZXN0KAogCiAgICAgICAgICAgICBzdG9yZS5kZWxldGVJ
bmRleCgiaWR4Iik7CiAKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVy
cm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxp
ZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVl
UHJpbWFyeUtleSgiQSIsIDQpOwogICAgICAgICAgICAgfSwgImRlbGV0aW9uIGNoZWNrIHNob3Vs
ZCBwcmVjZWRlIGN1cnNvciBkaXJlY3Rpb24gY2hlY2siKTsKICAgICAgICAgICAgIHQuZG9uZSgp
OwpAQCAtMTIxLDcgKzEyMSw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxp
ZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vy
c29yLmNvbnRpbnVlUHJpbWFyeUtleSgiQSIsIDQpOwogICAgICAgICAgICAgfSwgImRpcmVjdGlv
biBjaGVjayBzaG91bGQgcHJlY2VkZSBnb3RfdmFsdWVfZmxhZyBjaGVjayIpOwogICAgICAgICAg
ICAgdC5kb25lKCk7CkBAIC0xNDksNyArMTQ5LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAKICAgICAg
ICAgICAgICAgICBjdXJzb3IuY29udGludWUoKTsKIAotICAgICAgICAgICAgICAgIGFzc2VydF90
aHJvd3MoIkludmFsaWRBY2Nlc3NFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
IGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkQWNjZXNzRXJyb3IiLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlUHJpbWFyeUtleSgiQSIsIDQpOwogICAg
ICAgICAgICAgICAgIH0sICJkaXJlY3Rpb24gY2hlY2sgc2hvdWxkIHByZWNlZGUgaXRlcmF0aW9u
IG9uZ29pbmcgY2hlY2siKTsKICAgICAgICAgICAgICAgICB0LmRvbmUoKTsKQEAgLTE3NCw3ICsx
NzQsNyBAQCBpbmRleGVkZGJfdGVzdCgKIAogICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51
ZSgpOwogCi0gICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZEFjY2Vzc0Vycm9y
IiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFs
aWRBY2Nlc3NFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICBjdXJzb3Iu
Y29udGludWVQcmltYXJ5S2V5KCJBIiwgNCk7CiAgICAgICAgICAgICAgICAgfSwgImluZGV4IHNv
dXJjZSBjaGVjayBzaG91bGQgcHJlY2VkZSBpdGVyYXRpb24gb25nb2luZyBjaGVjayIpOwogICAg
ICAgICAgICAgICAgIHQuZG9uZSgpOwpAQCAtMjAyLDcgKzIwMiw3IEBAIGluZGV4ZWRkYl90ZXN0
KAogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
YXNzZXJ0X3Rocm93cygiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZEFjY2Vzc0Vycm9yIiwgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlUHJpbWFyeUtleSgiQSIsIDQpOwogICAg
ICAgICAgICAgfSwgImluZGV4IHNvdXJjZSBjaGVjayBzaG91bGQgcHJlY2VkZSBnb3RfdmFsdWVf
ZmxhZyBjaGVjayIpOwogICAgICAgICAgICAgdC5kb25lKCk7CkBAIC0yMjcsNyArMjI3LDcgQEAg
aW5kZXhlZGRiX3Rlc3QoCiAKICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWUoKTsKIAot
ICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVy
cm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZVBy
aW1hcnlLZXkobnVsbCwgNCk7CiAgICAgICAgICAgICAgICAgfSwgIml0ZXJhdGlvbiBvbmdvaW5n
IGNoZWNrIHNob3VsZCBwcmVjZWRlIHVuc2V0IGtleSBjaGVjayIpOwogICAgICAgICAgICAgICAg
IHQuZG9uZSgpOwpAQCAtMjU2LDcgKzI1Niw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgYXNzZXJ0X3Rocm93
cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
ICAgIGN1cnNvci5jb250aW51ZVByaW1hcnlLZXkobnVsbCwgNCk7CiAgICAgICAgICAgICB9LCAi
Z290X3ZhbHVlX2ZsYWcgY2hlY2sgc2hvdWxkIHByZWNlZGUgdW5zZXQga2V5IGNoZWNrIik7CiAg
ICAgICAgICAgICB0LmRvbmUoKTsKQEAgLTI3OCw3ICsyNzgsNyBAQCBpbmRleGVkZGJfdGVzdCgK
ICAgICAgICAgICAgIGN1cnNvciA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICAgICAgICAgIGFzc2Vy
dF90cnVlKCEhY3Vyc29yLCAiYWNxdWlyZSBjdXJzb3IiKTsKIAotICAgICAgICAgICAgYXNzZXJ0
X3Rocm93cygiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhy
b3dzX2RvbSgiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29y
LmNvbnRpbnVlUHJpbWFyeUtleShudWxsLCA0KTsKICAgICAgICAgICAgIH0sICJEYXRhRXJyb3Ig
aXMgZXhwZWN0ZWQgaWYga2V5IGlzIHVuc2V0LiIpOwogICAgICAgICAgICAgdC5kb25lKCk7CkBA
IC0zMDAsNyArMzAwLDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgICAgICAgICBjdXJzb3IgPSBl
LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSghIWN1cnNvciwgImFjcXVp
cmUgY3Vyc29yIik7CiAKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsIGZ1
bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZVByaW1hcnlLZXkoIkEi
LCBudWxsKTsKICAgICAgICAgICAgIH0sICJEYXRhRXJyb3IgaXMgZXhwZWN0ZWQgaWYgcHJpbWFy
eSBrZXkgaXMgdW5zZXQuIik7CiAgICAgICAgICAgICB0LmRvbmUoKTsKQEAgLTMyNSwxNSArMzI1
LDE1IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjdXJzb3Iu
a2V5LCAiQiIsICJleHBlY3RlZCBrZXkiKTsKICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY3Vy
c29yLnByaW1hcnlLZXksIDUsICJleHBlY3RlZCBwcmltYXJ5IGtleSIpOwogCi0gICAgICAgICAg
ICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAg
ICBjdXJzb3IuY29udGludWVQcmltYXJ5S2V5KCJBIiwgNik7CiAgICAgICAgICAgICB9LCAiRGF0
YUVycm9yIGlzIGV4cGVjdGVkIGlmIGtleSBpcyBsb3dlciB0aGVuIGN1cnJlbnQgb25lLiIpOwog
Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgICAgICBjdXJzb3IuY29udGludWVQcmltYXJ5S2V5KCJCIiwgNSk7CiAgICAgICAg
ICAgICB9LCAiRGF0YUVycm9yIGlzIGV4cGVjdGVkIGlmIHByaW1hcnkga2V5IGlzIGVxdWFsIHRv
IGN1cnJlbnQgb25lLiIpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3Ii
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3Ii
LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWVQcmltYXJ5S2V5
KCJCIiwgNCk7CiAgICAgICAgICAgICB9LCAiRGF0YUVycm9yIGlzIGV4cGVjdGVkIGlmIHByaW1h
cnkga2V5IGlzIGxvd2VyIHRoYW4gY3VycmVudCBvbmUuIik7CiAKQEAgLTM1OSwxNSArMzU5LDE1
IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjdXJzb3Iua2V5
LCAiQiIsICJleHBlY3RlZCBrZXkiKTsKICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY3Vyc29y
LnByaW1hcnlLZXksIDcsICJleHBlY3RlZCBwcmltYXJ5IGtleSIpOwogCi0gICAgICAgICAgICBh
c3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBj
dXJzb3IuY29udGludWVQcmltYXJ5S2V5KCJDIiwgNik7CiAgICAgICAgICAgICB9LCAiRGF0YUVy
cm9yIGlzIGV4cGVjdGVkIGlmIGtleSBpcyBsYXJnZXIgdGhlbiBjdXJyZW50IG9uZS4iKTsKIAot
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlUHJpbWFyeUtleSgiQiIsIDcpOwogICAgICAgICAg
ICAgfSwgIkRhdGFFcnJvciBpcyBleHBlY3RlZCBpZiBwcmltYXJ5IGtleSBpcyBlcXVhbCB0byBj
dXJyZW50IG9uZS4iKTsKIAotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwg
ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlUHJpbWFyeUtleSgi
QiIsIDgpOwogICAgICAgICAgICAgfSwgIkRhdGFFcnJvciBpcyBleHBlY3RlZCBpZiBwcmltYXJ5
IGtleSBpcyBsYXJnZXIgdGhhbiBjdXJyZW50IG9uZS4iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
LWNvbnRpbnVlUHJpbWFyeUtleS1leGNlcHRpb25zLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1jb250aW51ZVByaW1h
cnlLZXktZXhjZXB0aW9ucy5odG0KaW5kZXggOTM5M2UyZmJmMjRmMjc3NTUyNmJhOWExNzNkY2E4
ODA5YWMwNGNjZC4uODYyYzljOTUxYjVlNzk3NmZjOGE0OGVmODY3NzQ1MTM1OGM0MDk2YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiY3Vyc29yLWNvbnRpbnVlUHJpbWFyeUtleS1leGNlcHRpb25zLmh0bQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3ItY29udGludWVQcmltYXJ5S2V5LWV4Y2VwdGlvbnMuaHRtCkBAIC0yOSw3ICsyOSw3IEBA
IGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgYXNzZXJ0X2NsYXNzX3N0cmlu
ZyhjdXJzb3IsICdJREJDdXJzb3JXaXRoVmFsdWUnLAogICAgICAgICAgICAgICAgICdyZXN1bHQg
c2hvdWxkIGJlIGEgY3Vyc29yJyk7CiAKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoJ0ludmFs
aWRBY2Nlc3NFcnJvcicsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oJ0ludmFsaWRBY2Nlc3NFcnJvcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGN1
cnNvci5jb250aW51ZVByaW1hcnlLZXkoMiwgMik7CiAgICAgICAgICAgICB9LCAnY29udGludWVQ
cmltYXJ5S2V5KCkgc2hvdWxkIHRocm93IGlmIHNvdXJjZSBpcyBub3QgYW4gaW5kZXgnKTsKICAg
ICAgICAgfSk7CkBAIC04Nyw3ICs4Nyw3IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY3Vyc29yLnByaW1hcnlLZXksIHRlc3RjYXNlLmV4
cGVjdGVkX3ByaW1hcnlLZXksCiAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5S2V5IHNob3Vs
ZCBtYXRjaCcpOwogCi0gICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZEFjY2Vz
c0Vycm9yJywgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
J0ludmFsaWRBY2Nlc3NFcnJvcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICBj
dXJzb3IuY29udGludWVQcmltYXJ5S2V5KAogICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGNh
c2UuY29udGludWVfa2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGNhc2UuY29udGlu
dWVfcHJpbWFyeUtleSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItY29udGludWVQcmltYXJ5S2V5Lmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmN1cnNvci1jb250aW51ZVByaW1hcnlLZXkuaHRtCmluZGV4IDc3MzE0MWNmNDM2YmQxNzU4
YTQ0NTcxZDEzOWEyZWM4NTczNjcwNGYuLmRmMjkyY2UzZTIzMGRlNDVlZGZiY2U5NTlkNDI2Mzk4
ODI0NjVkYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1jb250aW51ZVByaW1hcnlLZXkuaHRtCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmN1cnNvci1jb250aW51ZVByaW1hcnlLZXkuaHRtCkBAIC0xMjAsNyArMTIwLDcgQEAgaW5kZXhl
ZGRiX3Rlc3QoCiAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGNhbGxlZENvbnRpbnVl
ID0gdHJ1ZTsKICAgICAgICAgICAgIGlmKCdleGNlcHRpb24nIGluIHRlc3RDYXNlKSB7Ci0gICAg
ICAgICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KAogICAgICAgICAgICAgICAgICAgdGVzdENhc2UuZXhjZXB0aW9uLCAoKSA9PiB7IHRlc3RDYXNl
LmNhbGwoY3Vyc29yKTsgfSwKICAgICAgICAgICAgICAgICAgIHRlc3RDYXNlLmNhbGwudG9TdHJp
bmcoKSk7CiAgICAgICAgICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWRlbGV0ZS1l
eGNlcHRpb24tb3JkZXIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWRlbGV0ZS1leGNlcHRpb24tb3JkZXIuaHRtCmlu
ZGV4IGNjMjc5MWM3ZjIxNDI1MzE5ZWY4N2ExZGZkMjVmOWZmYjMyYmYxZDQuLjk2YzcyOTdiOTNm
ZjExZGUyMmJjZjNhY2Q5YmM0MzU4OWQ4ZTQ2ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1kZWxldGUt
ZXhjZXB0aW9uLW9yZGVyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItZGVsZXRlLWV4Y2VwdGlvbi1vcmRlci5o
dG0KQEAgLTE5LDcgKzE5LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgICByLm9uc3VjY2VzcyA9
IG51bGw7CiAgICAgICBjb25zdCBjdXJzb3IgPSByLnJlc3VsdDsKICAgICAgIHNldFRpbWVvdXQo
dC5zdGVwX2Z1bmMoKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbklu
YWN0aXZlRXJyb3InLCAoKSA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiB7CiAgICAgICAgICAgY3Vyc29yLmRlbGV0ZSgpOwog
ICAgICAgICB9LCAnIlRyYW5zYWN0aW9uIGluYWN0aXZlIiBjaGVjayAoVHJhbnNhY3Rpb25JbmFj
dGl2RXJyb3IpICcgKwogICAgICAgICAgICAnc2hvdWxkIHByZWNlZGUgInJlYWQgb25seSIgY2hl
Y2sgKFJlYWRPbmx5RXJyb3IpJyk7CkBAIC00Miw3ICs0Miw3IEBAIGluZGV4ZWRkYl90ZXN0KAog
ICAgICAgci5vbnN1Y2Nlc3MgPSBudWxsOwogICAgICAgY29uc3QgY3Vyc29yID0gci5yZXN1bHQ7
CiAgICAgICBjdXJzb3IuY29udGludWUoKTsKLSAgICAgIGFzc2VydF90aHJvd3MoJ1JlYWRPbmx5
RXJyb3InLCAoKSA9PiB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnUmVhZE9ubHlFcnJvcics
ICgpID0+IHsKICAgICAgICAgY3Vyc29yLmRlbGV0ZSgpOwogICAgICAgfSwgJyJSZWFkIG9ubHki
IGNoZWNrIChSZWFkT25seUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKICAgICAgICAgICciZ290
IHZhbHVlIGZsYWciIChJbnZhbGlkU3RhdGVFcnJvcikgY2hlY2snKTsKQEAgLTYzLDcgKzYzLDcg
QEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgci5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYygoKSA9PiB7
CiAgICAgICByLm9uc3VjY2VzcyA9IG51bGw7CiAgICAgICBjb25zdCBjdXJzb3IgPSByLnJlc3Vs
dDsKLSAgICAgIGFzc2VydF90aHJvd3MoJ1JlYWRPbmx5RXJyb3InLCAoKSA9PiB7CisgICAgICBh
c3NlcnRfdGhyb3dzX2RvbSgnUmVhZE9ubHlFcnJvcicsICgpID0+IHsKICAgICAgICAgY3Vyc29y
LmRlbGV0ZSgpOwogICAgICAgfSwgJyJSZWFkIG9ubHkiIGNoZWNrIChSZWFkT25seUVycm9yKSBz
aG91bGQgcHJlY2VkZSAnICsKICAgICAgICAgICcia2V5IG9ubHkgZmxhZyIgKEludmFsaWRTdGF0
ZUVycm9yKSBjaGVjaycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXVwZGF0ZS1leGNlcHRpb24tb3Jk
ZXIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiY3Vyc29yLXVwZGF0ZS1leGNlcHRpb24tb3JkZXIuaHRtCmluZGV4IDRlMTg3MzFm
ZjlkMjYwYTVhYTJjNWIxYjg1Nzc1YzVkMTU4YzI5ZWQuLjIyYzI5NDBhYzRhZDZiNWRmNzNkNWNk
Mjk3M2EzNWU4MDM3YWNjYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci11cGRhdGUtZXhjZXB0aW9uLW9y
ZGVyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3ItdXBkYXRlLWV4Y2VwdGlvbi1vcmRlci5odG0KQEAgLTE5LDcg
KzE5LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgICByLm9uc3VjY2VzcyA9IG51bGw7CiAgICAg
ICBjb25zdCBjdXJzb3IgPSByLnJlc3VsdDsKICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMo
KCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3In
LCAoKSA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdUcmFuc2FjdGlvbkluYWN0aXZl
RXJyb3InLCAoKSA9PiB7CiAgICAgICAgICAgY3Vyc29yLnVwZGF0ZSgndmFsdWUyJyk7CiAgICAg
ICAgIH0sICciVHJhbnNhY3Rpb24gaW5hY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZl
RXJyb3IpICcgKwogICAgICAgICAgICAnc2hvdWxkIHByZWNlZGUgInJlYWQgb25seSIgY2hlY2sg
KFJlYWRPbmx5RXJyb3IpJyk7CkBAIC00Miw3ICs0Miw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICAg
ICAgci5vbnN1Y2Nlc3MgPSBudWxsOwogICAgICAgY29uc3QgY3Vyc29yID0gci5yZXN1bHQ7CiAg
ICAgICBjdXJzb3IuY29udGludWUoKTsKLSAgICAgIGFzc2VydF90aHJvd3MoJ1JlYWRPbmx5RXJy
b3InLCAoKSA9PiB7CisgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnUmVhZE9ubHlFcnJvcicsICgp
ID0+IHsKICAgICAgICAgY3Vyc29yLnVwZGF0ZSgndmFsdWUyJyk7CiAgICAgICB9LCAnIlJlYWQg
b25seSIgY2hlY2sgKFJlYWRPbmx5RXJyb3IpIHNob3VsZCBwcmVjZWRlICcrCiAgICAgICAgICAn
ImdvdCB2YWx1ZSBmbGFnIiBjaGVjayAoSW52YWxpZFN0YXRlRXJyb3IpJyk7CkBAIC02Myw3ICs2
Myw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgIHIub25zdWNjZXNzID0gdC5zdGVwX2Z1bmMoKCkg
PT4gewogICAgICAgci5vbnN1Y2Nlc3MgPSBudWxsOwogICAgICAgY29uc3QgY3Vyc29yID0gci5y
ZXN1bHQ7Ci0gICAgICBhc3NlcnRfdGhyb3dzKCdSZWFkT25seUVycm9yJywgKCkgPT4geworICAg
ICAgYXNzZXJ0X3Rocm93c19kb20oJ1JlYWRPbmx5RXJyb3InLCAoKSA9PiB7CiAgICAgICAgIGN1
cnNvci51cGRhdGUoJ3ZhbHVlMicpOwogICAgICAgfSwgJyJSZWFkIG9ubHkiIGNoZWNrIChSZWFk
T25seUVycm9yKSBzaG91bGQgcHJlY2VkZSAnKwogICAgICAgICAgJyJrZXkgb25seSBmbGFnIiBj
aGVjayAoSW52YWxpZFN0YXRlRXJyb3IpJyk7CkBAIC04NSw3ICs4NSw3IEBAIGluZGV4ZWRkYl90
ZXN0KAogICAgICAgci5vbnN1Y2Nlc3MgPSBudWxsOwogICAgICAgY29uc3QgY3Vyc29yID0gci5y
ZXN1bHQ7CiAgICAgICBjdXJzb3IuY29udGludWUoKTsKLSAgICAgIGFzc2VydF90aHJvd3MoJ0lu
dmFsaWRTdGF0ZUVycm9yJywgKCkgPT4geworICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFs
aWRTdGF0ZUVycm9yJywgKCkgPT4gewogICAgICAgICBjdXJzb3IudXBkYXRlKHtpZDogMTIzLCBk
YXRhOiAndmFsdWUyJ30pOwogICAgICAgfSwgJyJHb3QgdmFsdWUgZmxhZyIgY2hlY2sgKEludmFs
aWRTdGF0ZUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKICAgICAgICAgICcibW9kaWZpZWQga2V5
IiBjaGVjayAoRGF0YUVycm9yKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXgy
Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvcl9hZHZhbmNlX2luZGV4Mi5odG0KaW5kZXggNzdiODEyZTE4MGE2Y2YyZjky
MjQzOWQ5OTgxOGY4NDZiMjc4M2I0ZC4uOTM2NjA1NjZmODRkN2M0N2QwMjFhZmY3YWQwNTA0YWFj
YWQ1MWVhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXgyLmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfYWR2YW5jZV9pbmRleDIuaHRtCkBAIC0zNSw3ICszNSw3IEBACiAgICAgICAgICAgICB2YXIg
Y3Vyc29yID0gZS50YXJnZXQucmVzdWx0OwogCiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjdXJz
b3IgIT0gbnVsbCwgImN1cnNvciBleGlzdCIpOwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwK
ICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmFkdmFuY2UoZG9jdW1lbnQpOyB9
KTsKIAogICAgICAgICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9p
bmRleDMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXgzLmh0bQppbmRleCBiNDE0MjdmOTYwYWRj
NTdjYTE0YTNjYTJjMjg5MDNlYWEyMDdiNzJlLi4yN2UwNDBkNGZlY2U0YmUyOGY3OGIwYjdlYTlk
ZDhiZWUzM2JkOWI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDMuaHRtCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmN1cnNvcl9hZHZhbmNlX2luZGV4My5odG0KQEAgLTM1LDcgKzM1LDcgQEAKICAgICAgICAgICAg
IHZhciBjdXJzb3IgPSBlLnRhcmdldC5yZXN1bHQ7CiAKICAgICAgICAgICAgIGFzc2VydF90cnVl
KGN1cnNvciAhPSBudWxsLCAiY3Vyc29yIGV4aXN0Iik7Ci0gICAgICAgICAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLAogICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3IuYWR2YW5jZSgtMSk7IH0p
OwogCiAgICAgICAgICAgICB0LmRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX2lu
ZGV4Ni5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDYuaHRtCmluZGV4IDgyNmNiMWUxYTBlMTQ4
ZTcwZDZlNWJkMjQ4MDA2NTcyNTIxYTRjMjcuLmVkNGM4ZjNkYWRhY2RjYWNmNzBmNjg4YTk4ZTcz
NmJhZGEyZDMxODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX2luZGV4Ni5odG0KKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yX2FkdmFuY2VfaW5kZXg2Lmh0bQpAQCAtMjYsNyArMjYsNyBAQAogICAgICAgICAgICAg
dmFyIGN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgICAgICBhc3NlcnRfdHJ1
ZShjdXJzb3IgaW5zdGFuY2VvZiBJREJDdXJzb3IpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLmFk
dmFuY2UoMCk7CiAgICAgICAgICAgICB9LCAiQ2FsbGluZyBhZHZhbmNlKCkgd2l0aCBjb3VudCBh
cmd1bWVudCAwIHNob3VsZCB0aHJvdyBUeXBlRXJyb3IuIik7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNv
cl9hZHZhbmNlX2luZGV4Ny5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDcuaHRtCmluZGV4IDhk
YTViNjE4ZDQ1Mjk2NDYxZDVkZjE3NzAzYTNkNDIwOWJiOTBkMzkuLjUyZjhlYTJiYTY5MjlhY2Iz
MTE2YzhjYWNhMmUyMDY3NmFlMGUwMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX2luZGV4
Ny5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXg3Lmh0bQpAQCAtMjcsNyArMjcsNyBAQAog
ICAgICAgICAgICAgYXNzZXJ0X3RydWUoY3Vyc29yIGluc3RhbmNlb2YgSURCQ3Vyc29yKTsKIAog
ICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLmFib3J0KCk7Ci0gICAgICAgICAg
ICBhc3NlcnRfdGhyb3dzKCJUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IiLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3Ii
LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBjdXJzb3IuYWR2YW5jZSgxKTsKICAgICAg
ICAgICAgIH0sICJDYWxsaW5nIGFkdmFuY2UoKSBzaG91bGQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBU
cmFuc2FjdGlvbkluYWN0aXZlRXJyb3Igd2hlbiB0aGUgdHJhbnNhY3Rpb24gaXMgbm90IGFjdGl2
ZS4iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXg4Lmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9h
ZHZhbmNlX2luZGV4OC5odG0KaW5kZXggYjVlNjRkNGNkY2VkMTJlY2VmYjFmZjQxYjE5M2M5ZWQx
YWVlOWViYi4uYTM0MjBiMTYyYmVlNjdmNjVlNTNhMGI0YzUyMjZjMWY1YjMwMTM4YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXg4Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRl
eDguaHRtCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjdXJzb3Ig
aW5zdGFuY2VvZiBJREJDdXJzb3IpOwogCiAgICAgICAgICAgICBjdXJzb3IuYWR2YW5jZSgxKTsK
LSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBm
dW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBjdXJzb3IuYWR2YW5jZSgxKTsKICAgICAgICAg
ICAgIH0sICJDYWxsaW5nIGFkdmFuY2UoKSBzaG91bGQgdGhyb3cgRE9NRXhjZXB0aW9uIHdoZW4g
dGhlIGN1cnNvciBpcyBjdXJyZW50bHkgYmVpbmcgaXRlcmF0ZWQuIik7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmN1cnNvcl9hZHZhbmNlX2luZGV4OS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDkuaHRtCmlu
ZGV4IDUxN2E1NzNjNDllYjM2OTE5MDg3YmFhOTgzNzljNjc4ZTcyMzJjZTYuLjlhYmE1NGIxZmEx
YzhkZjQ5ZjY2YjNlMzJkNTAxOWI0NmQ3NjI3YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNl
X2luZGV4OS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXg5Lmh0bQpAQCAtMjYsNyArMjYs
NyBAQAogICAgICAgICAgICAgYXNzZXJ0X3RydWUoY3Vyc29yIGluc3RhbmNlb2YgSURCQ3Vyc29y
LCAiY3Vyc29yIGV4aXN0Iik7CiAKICAgICAgICAgICAgIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCJz
dG9yZSIpOwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVF
cnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGN1cnNvci5hZHZhbmNlKDEpOwog
ICAgICAgICAgICAgfSwgIklmIHRoZSBjdXJzb3IncyBzb3VyY2Ugb3IgZWZmZWN0aXZlIG9iamVj
dCBzdG9yZSBoYXMgYmVlbiBkZWxldGVkLCB0aGUgaW1wbGVtZW50YXRpb24gTVVTVCB0aHJvdyBh
IERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVycm9yIik7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmN1cnNvcl9hZHZhbmNlX29iamVjdHN0b3JlMi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9vYmplY3Rz
dG9yZTIuaHRtCmluZGV4IDMyNDc4YzE0MWVhZWU1ZDZhODZlN2JhNTIwODQwMTViOGRlMGMxOTMu
LjlhZjE5MjVjZGVmZWM1ZTdhZTRmYWQwNjVlYmQ4MjQ1ZjJkMTcwODggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1
cnNvcl9hZHZhbmNlX29iamVjdHN0b3JlMi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2Vfb2JqZWN0
c3RvcmUyLmh0bQpAQCAtMjksNyArMjksNyBAQAogICAgICAgICAgICAgdmFyIGN1cnNvciA9IGV2
ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjdXJzb3IgaW5zdGFu
Y2VvZiBJREJDdXJzb3IpOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLmFkdmFuY2UoMCk7CiAgICAg
ICAgICAgICB9LCAiQ2FsbGluZyBhZHZhbmNlKCkgd2l0aCBjb3VudCBhcmd1bWVudCAwIHNob3Vs
ZCB0aHJvdyBUeXBlRXJyb3IuIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX29iamVj
dHN0b3JlMy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9vYmplY3RzdG9yZTMuaHRtCmluZGV4IDFhY2Nk
NjYzMWEwMDkwNTJlZWE3YTAwNmQ2YmYyNjNmNDI3Njk3MDUuLmQyZjJmODQ3MTllOTMzZTExMmJm
YTQ4MmQ5MWE5MjY3ZTQ3ZTA0YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX29iamVjdHN0
b3JlMy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2Vfb2JqZWN0c3RvcmUzLmh0bQpAQCAtMzAsNyAr
MzAsNyBAQAogICAgICAgICAgICAgYXNzZXJ0X3RydWUoY3Vyc29yIGluc3RhbmNlb2YgSURCQ3Vy
c29yKTsKIAogICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLmFib3J0KCk7Ci0g
ICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IiLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJUcmFuc2FjdGlvbkluYWN0
aXZlRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBjdXJzb3IuYWR2YW5jZSgx
KTsKICAgICAgICAgICAgIH0sICJDYWxsaW5nIGFkdmFuY2UoKSBzaG91bGQgdGhyb3dzIGFuIGV4
Y2VwdGlvbiBUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3Igd2hlbiB0aGUgdHJhbnNhY3Rpb24gaXMg
bm90IGFjdGl2ZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9vYmplY3RzdG9yZTQu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiY3Vyc29yX2FkdmFuY2Vfb2JqZWN0c3RvcmU0Lmh0bQppbmRleCAzODc5NzMxNjlkMGEx
MzQ2M2JlNDc1OWM0ZjE5Yjg2Y2YyOGNlOWI3Li41N2U0ZjU4OWM0MWFhYjkwN2E5MGFmYzBmNjNk
MmI0NTAzZDlkOGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9vYmplY3RzdG9yZTQuaHRt
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvcl9hZHZhbmNlX29iamVjdHN0b3JlNC5odG0KQEAgLTMwLDcgKzMwLDcgQEAK
ICAgICAgICAgICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvcik7CiAK
ICAgICAgICAgICAgIGN1cnNvci5hZHZhbmNlKDEpOwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93
cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAg
ICAgIGN1cnNvci5hZHZhbmNlKDEpOwogICAgICAgICAgICAgfSwgIkNhbGxpbmcgYWR2YW5jZSgp
IHNob3VsZCB0aHJvdyBET01FeGNlcHRpb24gd2hlbiB0aGUgY3Vyc29yIGlzIGN1cnJlbnRseSBi
ZWluZyBpdGVyYXRlZC4iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2Vfb2JqZWN0c3Rv
cmU1Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX29iamVjdHN0b3JlNS5odG0KaW5kZXggY2IwODU5YzYz
NmU1ZjlkNDI2ZjFhNTUzOTkxMTE1NTYxZWJiNzI5Zi4uNDU0MzI5ZDI2MGNhY2Q0MGNhMTg2NDkw
NTZkNTBjMDI1M2ExOTUwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2Vfb2JqZWN0c3RvcmU1
Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9vYmplY3RzdG9yZTUuaHRtCkBAIC0yNSw3ICsyNSw3
IEBACiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjdXJzb3IgaW5zdGFuY2VvZiBJREJDdXJzb3Is
ICJjdXJzb3IgZXhpc3QiKTsKIAogICAgICAgICAgICAgZGIuZGVsZXRlT2JqZWN0U3RvcmUoInN0
b3JlIik7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVy
cm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLmFkdmFuY2UoMSk7CiAg
ICAgICAgICAgICB9LCAiSWYgdGhlIGN1cnNvcidzIHNvdXJjZSBvciBlZmZlY3RpdmUgb2JqZWN0
IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQsIHRoZSBpbXBsZW1lbnRhdGlvbiBNVVNUIHRocm93IGEg
RE9NRXhjZXB0aW9uIG9mIHR5cGUgSW52YWxpZFN0YXRlRXJyb3IiKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yX2NvbnRpbnVlX2RlbGV0ZV9vYmplY3RzdG9yZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3Jf
Y29udGludWVfZGVsZXRlX29iamVjdHN0b3JlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NzJm
Y2JlOTY1M2E5NjcxYjUxZWY0OTEzMjk4ZjMxYjMxOWRkZWRmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yX2NvbnRpbnVlX2RlbGV0ZV9vYmplY3RzdG9yZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgSURCT2JqZWN0U3RvcmUuZGVsZXRlKCkgYW5kIElEQkN1cnNvci5jb250
aW51ZSgpIC0gb2JqZWN0IHN0b3JlIC0gcmVtb3ZlIGEgcmVjb3JkIGZyb20gdGhlIG9iamVjdCBz
dG9yZSB3aGlsZSBpdGVyYXRpbmcgY3Vyc29yIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGlu
dWVfZGVsZXRlX29iamVjdHN0b3JlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9kZWxldGVfb2JqZWN0
c3RvcmUuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjYWU1ZmQwZTMyNzVmZDEwNDUwZjE2OWZmOTZkYzI2M2Nj
NzJiZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfZGVsZXRlX29iamVjdHN0
b3JlLmh0bQpAQCAtMCwwICsxLDExNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+SURCT2Jq
ZWN0U3RvcmUuZGVsZXRlKCkgYW5kIElEQkN1cnNvci5jb250aW51ZSgpIC0gb2JqZWN0IHN0b3Jl
IC0gcmVtb3ZlIGEgcmVjb3JkIGZyb20gdGhlIG9iamVjdCBzdG9yZSB3aGlsZSBpdGVyYXRpbmcg
Y3Vyc29yPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTW96aWxsYSIgaHJlZj0i
aHR0cHM6Ly93d3cubW96aWxsYS5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1cHBvcnQuanMiPjwvc2NyaXB0Pgor
Cis8c2NyaXB0PgorICAgIC8qIFRoZSBnb2FsIGhlcmUgaXMgdG8gdGVzdCB0aGF0IGFueSBwcmVm
ZXRjaGluZyBvZiBjdXJzb3IgdmFsdWVzIHBlcmZvcm1zCisgICAgICogY29ycmVjdCBpbnZhbGlk
YXRpb24gb2YgcHJlZmV0Y2hlZCBkYXRhLiAgVGhpcyB0ZXN0IGlzIG1vdGl2YXRlZCBieSB0aGUK
KyAgICAgKiBwYXJ0aWN1bGFyaXRpZXMgb2YgdGhlIEZpcmVmb3ggaW1wbGVtZW50YXRpb24gb2Yg
cHJlbG9hZGluZywgYW5kIGlzCisgICAgICogc3BlY2lmaWNhbGx5IG1vdGl2YXRlZCBieSBhbiBl
ZGdlIGNhc2Ugd2hlbiBwcmVmZXRjaGluZyBwcmVmZXRjaGVzIGF0CisgICAgICogbGVhc3QgMiBl
eHRyYSByZWNvcmRzIGFuZCBhdCBtb3N0IGRldGVybWluZXMgd2hldGhlciBhIG11dGF0aW9uIGlz
CisgICAgICogcG90ZW50aWFsbHkgcmVsZXZhbnQgYmFzZWQgb24gY3VycmVudCBjdXJzb3IgcG9z
aXRpb24gYW5kIGRpcmVjdGlvbiBhbmQKKyAgICAgKiBkb2VzIG5vdCB0ZXN0IGZvciBrZXkgZXF1
aXZhbGVuY2UuICBGdXR1cmUgaW1wbGVtZW50YXRpb25zIG1heSB3YW50IHRvCisgICAgICogaGVs
cCByZWZpbmUgdGhpcyB0ZXN0IGlmIHRoZWlyIGN1cnNvcnMgYXJlIG1vcmUgY2xldmVyLgorICAg
ICAqCisgICAgICogU3RlcC13aXNlIHdlOgorICAgICAqIC0gT3BlbiBhIGN1cnNvciwgcmV0dXJu
aW5nIGtleSAwLgorICAgICAqIC0gV2hlbiB0aGUgY3Vyc29yIHJlcXVlc3QgY29tcGxldGVzLCB3
aXRob3V0IHlpZWxkaW5nIGNvbnRyb2w6CisgICAgICogICAtIElzc3VlIGEgZGVsZXRlKCkgY2Fs
bCB0aGF0IHdvbid0IGFjdHVhbGx5IGRlbGV0ZSBhbnl0aGluZyBidXQgbG9va3MKKyAgICAgKiAg
ICAgcmVsZXZhbnQuICBUaGlzIHNob3VsZCBwdXJnZSBwcmVmZXRjaGVkIHJlY29yZHMgMSBhbmQg
Mi4KKyAgICAgKiAgIC0gSXNzdWUgYSBjb250aW51ZSgpIHdoaWNoIHNob3VsZCByZXN1bHQgaW4g
cmVjb3JkIDEgYmVpbmcgZmV0Y2hlZAorICAgICAqICAgICBhZ2FpbiBhbmQgcmVjb3JkIDIgYmVp
bmcgcHJlZmV0Y2hlZCBhZ2Fpbi4KKyAgICAgKiAgIC0gRGVsZXRlIHJlY29yZCAyLiAgVW5sZXNz
IHRoZXJlJ3MgYSBzeW5jaHJvbm91c2x5IGF2YWlsYWJsZSBzb3VyY2UKKyAgICAgKiAgICAgb2Yg
dHJ1dGgsIHRoZSBkYXRhIGZyb20gY29udGludWUoKSBhYm92ZSB3aWxsIG5vdCBiZSBwcmVzZW50
IGFuZAorICAgICAqICAgICB3ZSdsbCBleHBlY3QgdGhlIGltcGxlbWVudGF0aW9uIHRvIG5lZWQg
dG8gc2V0IGEgZmxhZyB0byBpbnZhbGlkYXRlCisgICAgICogICAgIHRoZSBwcmVmZXRjaGVkIGRh
dGEgd2hlbiBpdCBhcnJpdmVzLgorICAgICAqIC0gV2hlbiB0aGUgY3Vyc29yIHJlcXVlc3QgY29t
cGxldGVzLCB2YWxpZGF0ZSB3ZSBnb3QgcmVjb3JkIDEgYW5kIGlzc3VlCisgICAgICogICBhIGNv
bnRpbnVlLgorICAgICAqIC0gV2hlbiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMsIHdlIHNob3VsZCBo
YXZlIGEgbnVsbCBjdXJzb3IgcmVzdWx0IHZhbHVlCisgICAgICogICBiZWNhdXNlIDIgd2FzIGRl
bGV0ZWQuCisgICAgICovCisgICAgdmFyIGRiLAorICAgICAgY291bnQgPSAwLAorICAgICAgdCA9
IGFzeW5jX3Rlc3QoKSwKKyAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIg
fSwKKyAgICAgICAgICAgICAgICAgIHsgcEtleTogInByaW1hcnlLZXlfMSIgfSwKKyAgICAgICAg
ICAgICAgICAgIHsgcEtleTogInByaW1hcnlLZXlfMiIgfSBdOworCisgICAgLy8gVGhpcyBpcyBh
IGtleSB0aGF0IGlzIG5vdCBwcmVzZW50IGluIHRoZSBkYXRhYmFzZSwgYnV0IHRoYXQgaXMga25v
d24gdG8KKyAgICAvLyBiZSByZWxldmFudCB0byBhIGZvcndhcmQgaXRlcmF0aW9uIG9mIHRoZSBh
Ym92ZSBrZXlzIGJ5IGNvbXBhcmluZyB0byBiZQorICAgIC8vIGdyZWF0ZXIgdGhhbiBhbGwgb2Yg
dGhlbS4KKyAgICB2YXIgcGxhdXNpYmxlRnV0dXJlS2V5ID0gInByaW1hcnlLZXlfOSI7CisKKyAg
ICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOworICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVk
ID0gZnVuY3Rpb24oZSkgeworICAgICAgICBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKKworICAgICAg
ICB2YXIgb2JqU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgidGVzdCIsIHsga2V5UGF0aDog
InBLZXkiIH0pOworCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkcy5sZW5ndGg7
IGkrKykKKyAgICAgICAgICAgIG9ialN0b3JlLmFkZChyZWNvcmRzW2ldKTsKKyAgICB9OworCisg
ICAgb3Blbl9ycS5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhDdXJzb3JEZWxldGVSZWNvcmQpOwor
CisKKyAgICBmdW5jdGlvbiBDdXJzb3JEZWxldGVSZWNvcmQoZSkgeworICAgICAgICB2YXIgdHhu
ID0gZGIudHJhbnNhY3Rpb24oInRlc3QiLCAicmVhZHdyaXRlIiksCisgICAgICAgICAgb2JqZWN0
X3N0b3JlID0gdHhuLm9iamVjdFN0b3JlKCJ0ZXN0IiksCisgICAgICAgICAgY3Vyc29yX3JxID0g
b2JqZWN0X3N0b3JlLm9wZW5DdXJzb3IoKTsKKworICAgICAgICB2YXIgaXRlcmF0aW9uID0gMDsK
KworICAgICAgICBjdXJzb3JfcnEub25zdWNjZXNzID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkg
eworICAgICAgICAgICAgdmFyIGN1cnNvciA9IGUudGFyZ2V0LnJlc3VsdDsKKworICAgICAgICAg
ICAgc3dpdGNoIChpdGVyYXRpb24pIHsKKyAgICAgICAgICAgIGNhc2UgMDoKKyAgICAgICAgICAg
ICAgICBvYmplY3Rfc3RvcmUuZGVsZXRlKHBsYXVzaWJsZUZ1dHVyZUtleSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X3RydWUoY3Vyc29yICE9IG51bGwsICJjdXJzb3IgdmFsaWQiKTsKKyAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGN1cnNvci52YWx1ZS5wS2V5LCByZWNvcmRzW2l0ZXJh
dGlvbl0ucEtleSk7CisgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CisgICAgICAg
ICAgICAgICAgb2JqZWN0X3N0b3JlLmRlbGV0ZShyZWNvcmRzWzJdLnBLZXkpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgICAgIGFzc2Vy
dF90cnVlKGN1cnNvciAhPSBudWxsLCAiY3Vyc29yIHZhbGlkIik7CisgICAgICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhjdXJzb3IudmFsdWUucEtleSwgcmVjb3Jkc1tpdGVyYXRpb25dLnBLZXkp
OworICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZSgpOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
Y3Vyc29yLCBudWxsLCAiY3Vyc29yIG5vIGxvbmdlciB2YWxpZCIpOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIGl0ZXJhdGlvbisrOworICAgICAg
ICB9KTsKKworICAgICAgICB0eG4ub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jKFZlcmlmeVJlY29y
ZFdhc0RlbGV0ZWQpOworICAgIH0KKworCisgICAgZnVuY3Rpb24gVmVyaWZ5UmVjb3JkV2FzRGVs
ZXRlZChlKSB7CisgICAgICAgIHZhciBjdXJzb3JfcnEgPSBkYi50cmFuc2FjdGlvbigidGVzdCIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgIC5vYmplY3RTdG9yZSgidGVzdCIpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIC5vcGVuQ3Vyc29yKCk7CisKKyAgICAgICAgY3Vyc29yX3JxLm9u
c3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIHZhciBjdXJz
b3IgPSBlLnRhcmdldC5yZXN1bHQ7CisKKyAgICAgICAgICAgIGlmICghY3Vyc29yKSB7CisgICAg
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3VudCwgMiwgJ2NvdW50Jyk7CisgICAgICAgICAg
ICAgICAgdC5kb25lKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoY3Vyc29yLnZhbHVlLnBLZXksIHJlY29yZHNbY291bnRdLnBLZXkpOworICAgICAgICAgICAg
Y291bnQrKzsKKyAgICAgICAgICAgIGN1cnNvci5jb250aW51ZSgpOworICAgICAgICB9KTsKKyAg
ICB9CisKKzwvc2NyaXB0PgorCis8ZGl2IGlkPSJsb2ciPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2NvbnRpbnVlX2luZGV4Mi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW5kZXgyLmh0bQppbmRl
eCBkMGVhZWYzZDA3NGY5Y2M0Y2M1ODFlMTliOGI5ZmVhYjUxNDAxOWY0Li44NGEwMTA5MjQ0NGY2
ODcxNWY2NjhkNWVkYjFiODNlOTZjMWJhNWQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVf
aW5kZXgyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW5kZXgyLmh0bQpAQCAtMzUsNyArMzUs
NyBAQAogICAgICAgICBjdXJzb3JfcnEub25zdWNjZXNzID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24o
ZSkgewogICAgICAgICAgICAgdmFyIGN1cnNvciA9IGUudGFyZ2V0LnJlc3VsdDsKIAotICAgICAg
ICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwKKyAgICAgICAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJEYXRhRXJyb3IiLAogICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBjdXJzb3Iu
Y29udGludWUoZG9jdW1lbnQpOyB9KTsKIAogICAgICAgICAgICAgYXNzZXJ0X3RydWUoY3Vyc29y
IGluc3RhbmNlb2YgSURCQ3Vyc29yV2l0aFZhbHVlLCAiY3Vyc29yIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfY29udGludWVfaW5kZXgzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDMuaHRtCmlu
ZGV4IDM1N2RjMTU3ZjM1ZjcwNzg0MGJiMTgyNmY3YmIwNjlmODVmZTk0MGQuLmYyYmQ0ZmM2MmU4
MjdlOTA5MDM4ZDljNjM4MDQ2Mjk3NTViMDlmOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51
ZV9pbmRleDMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDMuaHRtCkBAIC00MCw3ICs0
MCw3IEBACiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIEZpcnN0IHRpbWUgY2hlY2tz
IGtleSBlcXVhbCwgc2Vjb25kIHRpbWUgY2hlY2tzIGtleSBsZXNzIHRoYW4KLSAgICAgICAgICAg
IGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgiRGF0YUVycm9yIiwKICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmNvbnRp
bnVlKHJlY29yZHNbMF0uaUtleSk7IH0pOwogCiAgICAgICAgICAgICBjdXJzb3IuY29udGludWUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDQuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRp
bnVlX2luZGV4NC5odG0KaW5kZXggYzVjZmQ4NWViZGJiNGM0NTk4NDRkMmQwYzdmZWFlMTZmZjhm
YWQ1Ni4uNjE5NmJiMDEzNzU2MGE1MjQ4ZmU2ZTlhZGVmZGNlOTViZWUzMTg3ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4NC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4
NC5odG0KQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5wS2V5LCByZWNvcmRzWzFdLnBLZXksICJzZWNvbmQg
cEtleSIpOwogICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmlLZXksIHJlY29y
ZHNbMV0uaUtleSwgInNlY29uZCBpS2V5Iik7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93
cygiRGF0YUVycm9yIiwKKyAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVy
cm9yIiwKICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5jb250aW51ZSgi
aW5kZXhLZXlfMiIpOyB9KTsKICAgICAgICAgICAgICAgICB0LmRvbmUoKTsKICAgICAgICAgICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDcuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2NvbnRpbnVlX2luZGV4Ny5odG0KaW5kZXggZmVkMjM1Njg1YzczNWEyZTIxNWRjNzg3YTg2
MjQzYTA5NjQ4YTQ3Ny4uN2RiOTIyZDZiODQwY2EzOTAxM2E3MDQ4YzFkZjkyNzYxNjM3MzU1NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4Ny5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRp
bnVlX2luZGV4Ny5odG0KQEAgLTI3LDcgKzI3LDcgQEAKICAgICAgICAgICAgIGFzc2VydF90cnVl
KGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvcik7CiAKICAgICAgICAgICAgIGV2ZW50LnRhcmdl
dC50cmFuc2FjdGlvbi5hYm9ydCgpOwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiVHJhbnNh
Y3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhy
b3dzX2RvbSgiVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CiAgICAgICAgICAgICB9LCAiQ2FsbGluZyBjb250
aW51ZSgpIHNob3VsZCB0aHJvd3MgYW4gZXhjZXB0aW9uIFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJv
ciB3aGVuIHRoZSB0cmFuc2FjdGlvbiBpcyBub3QgYWN0aXZlLiIpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfY29udGludWVfaW5kZXg4Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDguaHRtCmlu
ZGV4IDRhNTc0ZWM5MGY0MDU1YzQ1N2FjYTRhNzhhYzhlYmU2NzRkNjM5OTIuLmI0YzY5YWEwOGZl
NzRkYmViYTgyYTRlYzJjYWFjZThjYzc0NjYwNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51
ZV9pbmRleDguaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDguaHRtCkBAIC0yNyw3ICsy
Nyw3IEBACiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjdXJzb3IgaW5zdGFuY2VvZiBJREJDdXJz
b3IpOwogCiAgICAgICAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZSgic3RvcmUiKTsKLSAgICAg
ICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlv
bigpIHsKICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWUoKTsKICAgICAgICAgICAgIH0s
ICJJZiB0aGUgY3Vyc29yJ3Mgc291cmNlIG9yIGVmZmVjdGl2ZSBvYmplY3Qgc3RvcmUgaGFzIGJl
ZW4gZGVsZXRlZCwgdGhlIGltcGxlbWVudGF0aW9uIE1VU1QgdGhyb3cgYSBET01FeGNlcHRpb24g
b2YgdHlwZSBJbnZhbGlkU3RhdGVFcnJvciIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGlu
dWVfaW52YWxpZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW52YWxpZC5odG0KaW5kZXggYmQyMmNm
ZWNmOWE5ODk3OTUyMWQ4ODg1ZTU1MzZkYWI3NzIzZDBmMS4uZjlkZjA1YWE1MzNiNGMxMjcwMTBi
ODhmMTRlNWQ3MTExZTQwMzc0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2ludmFsaWQu
aHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbnZhbGlkLmh0bQpAQCAtMzksMTAgKzM5LDEwIEBA
CiAgICAgICAgICAgICBjdXJzb3IuY29udGludWUodW5kZWZpbmVkKTsKIAogICAgICAgICAgICAg
Ly8gU2Vjb25kIHRyeQotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJy
b3InLAorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywK
ICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmNvbnRpbnVlKCk7IH0sICdzZWNv
bmQgY29udGludWUnKTsKIAotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRl
RXJyb3InLAorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9y
JywKICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmNvbnRpbnVlKDMpOyB9LCAn
dGhpcmQgY29udGludWUnKTsKIAogICAgICAgICAgICAgY291bnQrKzsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1
cnNvcl9jb250aW51ZV9vYmplY3RzdG9yZTIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX29iamVjdHN0
b3JlMi5odG0KaW5kZXggMTQ1MDIzMzBiODBhYWQ2OTQ4NjY0NDBjMjQwZjQxODVkODkxZTcyYi4u
OGNmZjQ3MDg4ZmNmY2FmMjc3NzM5NmMwODE2YWQxOGYwYzU5Zjc2MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2NvbnRpbnVlX29iamVjdHN0b3JlMi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX29iamVj
dHN0b3JlMi5odG0KQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgICAgICAgIHZhciBjdXJzb3IgPSBl
LnRhcmdldC5yZXN1bHQ7CiAKICAgICAgICAgICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5j
ZW9mIElEQkN1cnNvciwgImN1cnNvciBleGlzdHMiKTsKLSAgICAgICAgICAgIGFzc2VydF90aHJv
d3MoIkRhdGFFcnJvciIsCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9y
IiwKICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmNvbnRpbnVlKGRvY3VtZW50
KTsgfSk7CiAKICAgICAgICAgICAgIHQuZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRp
bnVlX29iamVjdHN0b3JlMy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfb2JqZWN0c3RvcmUzLmh0bQpp
bmRleCBhMDU5YjYyZTUzYTI5MzAzNDQzMGQ4NjFiOWI1OGI1YTE0ZGEwYjQ3Li4zODVkY2VhYWVm
NzM2ZGIxNTg0ZmVjMDgyYmRhZTU3ZGYwNWZlY2RiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGlu
dWVfb2JqZWN0c3RvcmUzLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfb2JqZWN0c3RvcmUzLmh0
bQpAQCAtMjksNyArMjksNyBAQAogICAgICAgICAgICAgdmFyIGN1cnNvciA9IGUudGFyZ2V0LnJl
c3VsdDsKIAogICAgICAgICAgICAgYXNzZXJ0X3RydWUoY3Vyc29yIGluc3RhbmNlb2YgSURCQ3Vy
c29yLCAiY3Vyc29yIGV4aXN0Iik7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJy
b3IiLAorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsCiAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oKSB7IGN1cnNvci5jb250aW51ZShyZWNvcmRzWzBdLnBLZXkpOyB9
KTsKIAogICAgICAgICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVf
b2JqZWN0c3RvcmU0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9vYmplY3RzdG9yZTQuaHRtCmluZGV4
IGI0ODE5YzczMzAwYmY3ZWMxZGJlYzI3MDU0Mzg1NTU2ZGQ5YzllMGYuLjQ4MGJkMmYxZjA2NmQz
MmExYmZjY2UyMjU4MTJkNzI1Y2UyNTM3YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9v
YmplY3RzdG9yZTQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9vYmplY3RzdG9yZTQuaHRtCkBA
IC00MCw3ICs0MCw3IEBACiAKICAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGN1cnNvci52YWx1ZS5wS2V5LCByZWNvcmRzWzFdLnBLZXksICJzZWNvbmQg
Y3Vyc29yIHBrZXkiKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3Ii
LAorICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLAogICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgY3Vyc29yLmNvbnRpbnVlKHJlY29yZHNbMl0ucEtl
eSk7IH0pOwogICAgICAgICAgICAgICAgIHQuZG9uZSgpOwogICAgICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX29iamVjdHN0b3JlNS5odG0gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3Jf
Y29udGludWVfb2JqZWN0c3RvcmU1Lmh0bQppbmRleCAzYzE5NDMzMzZjMzhkNmNmMDg1MWRmNmJi
NGJiMTYzNTYzYzliOWJjLi41ZGZmNmQ4Zjc2M2Q2Yzk1YzViMDQ0YTMwMzY1MWNmNGYzZDJkZmI5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfb2JqZWN0c3RvcmU1Lmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfY29udGludWVfb2JqZWN0c3RvcmU1Lmh0bQpAQCAtMzEsNyArMzEsNyBAQAogICAgICAgICAg
ICAgYXNzZXJ0X3RydWUoY3Vyc29yIGluc3RhbmNlb2YgSURCQ3Vyc29yLCAiY3Vyc29yIGV4aXN0
cyIpOwogCiAgICAgICAgICAgICBlLnRhcmdldC50cmFuc2FjdGlvbi5hYm9ydCgpOwotICAgICAg
ICAgICAgYXNzZXJ0X3Rocm93cygiVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiVHJhbnNhY3Rpb25JbmFjdGl2ZUVy
cm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CiAg
ICAgICAgICAgICB9LCAiQ2FsbGluZyBjb250aW51ZSgpIHNob3VsZCB0aHJvd3MgYW4gZXhjZXB0
aW9uIFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciB3aGVuIHRoZSB0cmFuc2FjdGlvbiBpcyBub3Qg
YWN0aXZlLiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfb2JqZWN0c3RvcmU2Lmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmN1cnNvcl9jb250aW51ZV9vYmplY3RzdG9yZTYuaHRtCmluZGV4IGY5ZDY1NmViZjg5MzI4
MmIxNzQzZWUyZWY3ZTE5YWIyMTFlZDFmMzguLjdmNTZmODM4ZWE1MWJmYWE2NTU4ZWY1MTQzMDc4
MjlkM2RmOWYxNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9vYmplY3RzdG9yZTYuaHRt
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvcl9jb250aW51ZV9vYmplY3RzdG9yZTYuaHRtCkBAIC0yNyw3ICsyNyw3IEBA
CiAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShjdXJzb3IgaW5zdGFuY2VvZiBJREJDdXJzb3IsICJj
dXJzb3IgZXhpc3RzIik7CiAKICAgICAgICAgICAgIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0
Iik7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9y
IiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CiAgICAg
ICAgICAgICB9LCAiSWYgdGhlIGN1cnNvcidzIHNvdXJjZSBvciBlZmZlY3RpdmUgb2JqZWN0IHN0
b3JlIGhhcyBiZWVuIGRlbGV0ZWQsIHRoZSBpbXBsZW1lbnRhdGlvbiBNVVNUIHRocm93IGEgRE9N
RXhjZXB0aW9uIG9mIHR5cGUgSW52YWxpZFN0YXRlRXJyb3IiKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2RlbGV0ZV9pbmRleDIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9pbmRleDIuaHRtCmluZGV4IGE1
MTQ3Zjc1NDUwZjBhM2EzNTc5NTJmZTlmNzhjMDJiZGRiOTA2YjUuLjdiOTk3MGQzZWUwMDM1ZWFk
ZjBiYzlmNTVjYjAxYjViYTdlN2NmNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9kZWxldGVfaW5kZXgy
Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRlX2luZGV4Mi5odG0KQEAgLTMyLDcgKzMyLDcgQEAKICAg
ICAgICAgICAgIHZhciBjdXJzb3IgPSBlLnRhcmdldC5yZXN1bHQ7CiAKICAgICAgICAgICAgIGFz
c2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvciwgImN1cnNvciBleGlzdCIpOwot
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnUmVhZE9ubHlFcnJvcicsIGZ1bmN0aW9uKCkgeyBj
dXJzb3IuZGVsZXRlKCk7IH0pOworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ1JlYWRP
bmx5RXJyb3InLCBmdW5jdGlvbigpIHsgY3Vyc29yLmRlbGV0ZSgpOyB9KTsKICAgICAgICAgICAg
IHQuZG9uZSgpOwogICAgICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRl
X2luZGV4My5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRlX2luZGV4My5odG0KaW5kZXggYmI1NzIyZWUzNTFj
ZjU3OWEwZmVmZThjMWQxNmM5N2JlNWI1NWQ0NS4uM2I0MjQxZDUwZjk5ZTg5ZGUxZDI1MWVlZjcx
NWZlM2IyOTdlNWY2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9pbmRleDMuaHRtCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmN1cnNvcl9kZWxldGVfaW5kZXgzLmh0bQpAQCAtMzAsNyArMzAsNyBAQAogICAgICAgICB9KTsK
IAogICAgICAgICBlLnRhcmdldC50cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gdC5zdGVwX2Z1bmMo
ZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFj
dGl2ZUVycm9yJywgZnVuY3Rpb24oKSB7IHdpbmRvdy5jdXJzb3IuZGVsZXRlKCk7IH0pCisgICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywgZnVu
Y3Rpb24oKSB7IHdpbmRvdy5jdXJzb3IuZGVsZXRlKCk7IH0pCiAgICAgICAgICAgICB0LmRvbmUo
KTsKICAgICAgICAgfSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9pbmRleDQu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiY3Vyc29yX2RlbGV0ZV9pbmRleDQuaHRtCmluZGV4IDliNTdiZDY4MWE5NGViNzllY2Fk
MDllMTkwNzVlODA2YmFlMmVjMWEuLmNjY2NlMmJlMjcxYzVlZjc1ODA1MjJiOWFmYTRkMzYyODM3
NmU1YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9kZWxldGVfaW5kZXg0Lmh0bQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3Jf
ZGVsZXRlX2luZGV4NC5odG0KQEAgLTI3LDcgKzI3LDcgQEAKICAgICAgICAgICAgIGFzc2VydF90
cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvciwgImN1cnNvciBleGlzdCIpOwogCiAgICAg
ICAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZSgic3RvcmUiKTsKLSAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBh
c3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAg
ICAgICAgICAgICBjdXJzb3IuZGVsZXRlKCk7CiAgICAgICAgICAgICB9LCAiSWYgdGhlIGN1cnNv
cidzIHNvdXJjZSBvciBlZmZlY3RpdmUgb2JqZWN0IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQsIHRo
ZSBpbXBsZW1lbnRhdGlvbiBNVVNUIHRocm93IGEgRE9NRXhjZXB0aW9uIG9mIHR5cGUgSW52YWxp
ZFN0YXRlRXJyb3IiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9pbmRleDUuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yX2RlbGV0ZV9pbmRleDUuaHRtCmluZGV4IDY2ZWFjZGViZTY2Mzg5OWY5ZjZmNTI0OTk1
ZjAxNTkxNzU4NjYxNWUuLmFmMDgzNjdjNGNjY2YxYTk3YWFlNWUwMzQ4YmVlODk0YjcwNTYyODYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmN1cnNvcl9kZWxldGVfaW5kZXg1Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRl
X2luZGV4NS5odG0KQEAgLTI4LDcgKzI4LDcgQEAKICAgICAgICAgICAgIGFzc2VydF90cnVlKGN1
cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvciwgImN1cnNvciBleGlzdCIpOwogCiAgICAgICAgICAg
ICBjdXJzb3IuY29udGludWUoKTsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRT
dGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgi
SW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBjdXJzb3Iu
ZGVsZXRlKCk7CiAgICAgICAgICAgICB9KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9v
YmplY3RzdG9yZTIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9vYmplY3RzdG9yZTIuaHRtCmluZGV4IDY5
NTIxZTY2Yjc5MTRjNDEyODYzNGFkNTU4YjJmN2ExM2VkYTYwMmEuLmI0ZWFjOWI2NzVmMmU0ZWE5
NmUxZDdiYTkxMmZkYTc3NjU1MjhiMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9kZWxldGVfb2JqZWN0
c3RvcmUyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRlX29iamVjdHN0b3JlMi5odG0KQEAgLTMwLDcg
KzMwLDcgQEAKICAgICAgICAgICAgIHZhciBjdXJzb3IgPSBlLnRhcmdldC5yZXN1bHQ7CiAKICAg
ICAgICAgICAgIGFzc2VydF90cnVlKGN1cnNvciAhPSBudWxsLCAiY3Vyc29yIGV4aXN0Iik7Ci0g
ICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCdSZWFkT25seUVycm9yJywgZnVuY3Rpb24oKSB7IGN1
cnNvci5kZWxldGUoKTsgfSk7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnUmVhZE9u
bHlFcnJvcicsIGZ1bmN0aW9uKCkgeyBjdXJzb3IuZGVsZXRlKCk7IH0pOwogICAgICAgICAgICAg
dC5kb25lKCk7CiAgICAgICAgIH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9kZWxldGVf
b2JqZWN0c3RvcmUzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9kZWxldGVfb2JqZWN0c3RvcmUzLmh0bQppbmRleCBi
ZGI4ZDkzYzM0ZmJhNDU0NWIzOGNkNTNhODVmNWI1NTE1OWZmNTcyLi4wNWZhOWVkYjcyM2YxMjEx
YTMzNDRmOGQ0MzdkOTRkNTJjMmYzYzk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRlX29iamVj
dHN0b3JlMy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9vYmplY3RzdG9yZTMuaHRtCkBAIC0yOSw3
ICsyOSw3IEBACiAgICAgICAgIH0pOwogCiAgICAgICAgIGUudGFyZ2V0LnRyYW5zYWN0aW9uLm9u
Y29tcGxldGUgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgICBhc3NlcnRf
dGhyb3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCBmdW5jdGlvbigpIHsgd2luZG93LmN1
cnNvci5kZWxldGUoKTsgfSkKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3InLCBmdW5jdGlvbigpIHsgd2luZG93LmN1cnNvci5kZWxldGUoKTsg
fSkKICAgICAgICAgICAgIHQuZG9uZSgpOwogICAgICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJjdXJzb3JfZGVsZXRlX29iamVjdHN0b3JlNC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRlX29iamVjdHN0
b3JlNC5odG0KaW5kZXggNDdiY2Q4YjAwNTdiZDViN2MzMGYwMGU5YWFlYzc4ZjRlZDY0ZWQ5YS4u
YjBkOTkzYWI5NjFhNDFlNGM3MzZjYWRmMGNhOTBkNDgzYzg5OWY1OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2RlbGV0ZV9vYmplY3RzdG9yZTQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9kZWxldGVfb2JqZWN0c3Rv
cmU0Lmh0bQpAQCAtMjYsNyArMjYsNyBAQAogICAgICAgICAgICAgYXNzZXJ0X3RydWUoY3Vyc29y
IGluc3RhbmNlb2YgSURCQ3Vyc29yLCAiY3Vyc29yIGV4aXN0Iik7CiAKICAgICAgICAgICAgIGRi
LmRlbGV0ZU9iamVjdFN0b3JlKCJzdG9yZSIpOwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygi
SW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg
IGN1cnNvci5kZWxldGUoKTsKICAgICAgICAgICAgIH0sICJJZiB0aGUgY3Vyc29yJ3Mgc291cmNl
IG9yIGVmZmVjdGl2ZSBvYmplY3Qgc3RvcmUgaGFzIGJlZW4gZGVsZXRlZCwgdGhlIGltcGxlbWVu
dGF0aW9uIE1VU1QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3RhdGVFcnJv
ciIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfZGVsZXRlX29iamVjdHN0b3JlNS5odG0gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfZGVsZXRlX29iamVjdHN0b3JlNS5odG0KaW5kZXggYjM3ZTI2MTI2YTlkNDMzNTJlNjIxYzEw
OTM1ZjA4ZjBkOTY4ZWMyZC4uOTRhMDkyNmE1MGMyZjRmN2UxZjE3ZTkxZGU0NjEwZmUxYTE3NGJk
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX2RlbGV0ZV9vYmplY3RzdG9yZTUuaHRtCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNv
cl9kZWxldGVfb2JqZWN0c3RvcmU1Lmh0bQpAQCAtMzAsNyArMzAsNyBAQAogICAgICAgICAgICAg
YXNzZXJ0X3RydWUoY3Vyc29yIGluc3RhbmNlb2YgSURCQ3Vyc29yLCAiY3Vyc29yIGV4aXN0Iik7
CiAKICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZSgpOwotICAgICAgICAgICAgYXNzZXJ0X3Ro
cm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAg
ICAgICAgIGN1cnNvci5kZWxldGUoKTsKICAgICAgICAgICAgIH0pOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfdXBkYXRlX2luZGV4Mi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4Mi5odG0KaW5kZXgg
MDNmOWMyNzEyY2JjZGVmMWMxZjU1MzhjYTFiMzNjZTFhYWNkZDAyMS4uOWVjMjQ3YjAxYmQ0YTIz
ZjkyYmJiZjI1ZjM1OTJiNWJiM2ZmNzdkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9pbmRl
eDIuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfaW5kZXgyLmh0bQpAQCAtMzAsNyArMzAsNyBAQAog
CiAgICAgICAgIGN1cnNvcl9ycS5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7
CiAgICAgICAgICAgICB2YXIgY3Vyc29yID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAg
YXNzZXJ0X3Rocm93cygnUmVhZE9ubHlFcnJvcicsIGZ1bmN0aW9uKCkgeyBjdXJzb3IudXBkYXRl
KGN1cnNvci52YWx1ZSk7IH0pOworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ1JlYWRP
bmx5RXJyb3InLCBmdW5jdGlvbigpIHsgY3Vyc29yLnVwZGF0ZShjdXJzb3IudmFsdWUpOyB9KTsK
ICAgICAgICAgICAgIHQuZG9uZSgpOwogICAgICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfdXBkYXRlX2luZGV4My5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4My5odG0KaW5kZXgg
MGY3YjJhMWRiZTU4ZjUyY2E1MjRlNmY0ZTc3Yjg0NDE5Y2VlYWEyNy4uOTM4NjU4M2EwNmFmZmI3
NjhkYjk5Zjg0MzdkN2Y5NzZjM2M5YjUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9pbmRl
eDMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfaW5kZXgzLmh0bQpAQCAtMzEsNyArMzEsNyBAQAog
ICAgICAgICB9KTsKIAogICAgICAgICBlLnRhcmdldC50cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnVHJh
bnNhY3Rpb25JbmFjdGl2ZUVycm9yJywgZnVuY3Rpb24oKSB7IHdpbmRvdy5jdXJzb3IudXBkYXRl
KHdpbmRvdy5yZWNvcmQpOyB9KQorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ1RyYW5z
YWN0aW9uSW5hY3RpdmVFcnJvcicsIGZ1bmN0aW9uKCkgeyB3aW5kb3cuY3Vyc29yLnVwZGF0ZSh3
aW5kb3cucmVjb3JkKTsgfSkKICAgICAgICAgICAgIHQuZG9uZSgpOwogICAgICAgICB9KTsKICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4NC5odG0gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRl
X2luZGV4NC5odG0KaW5kZXggZWU2MGRhMGQyMTRhZDg1YzUwMWRlMmQ5NDIyMjM4Y2ExOGM1YWZl
My4uNDYzYjJmOTAyNTYyMmFmN2IyZjIxMzA4ZjNmNmQ3MTdlOWI5NzY3NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yX3VwZGF0ZV9pbmRleDQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfaW5kZXg0Lmh0bQpA
QCAtMjgsNyArMjgsNyBAQAogCiAgICAgICAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZSgic3Rv
cmUiKTsKICAgICAgICAgICAgIGN1cnNvci52YWx1ZS5pS2V5ICs9ICJfdXBkYXRlZCI7Ci0gICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rp
b24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLnVwZGF0ZShjdXJzb3IudmFsdWUpOwogICAg
ICAgICAgICAgfSwgIklmIHRoZSBjdXJzb3IncyBzb3VyY2Ugb3IgZWZmZWN0aXZlIG9iamVjdCBz
dG9yZSBoYXMgYmVlbiBkZWxldGVkLCB0aGUgaW1wbGVtZW50YXRpb24gTVVTVCB0aHJvdyBhIERP
TUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVycm9yIik7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1
cnNvcl91cGRhdGVfaW5kZXg1Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfaW5kZXg1Lmh0bQppbmRleCBh
MzE1MjhkMTY1ODdjYzBlOWI1MzM2NDY2ZjQwYWJjZDYzOTc5Y2ViLi41NjRkOTA0ZjlmZTg2NTEx
MTYxZmU4MmMyZWIyZDZhYzcwODQ2MzcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4
NS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9pbmRleDUuaHRtCkBAIC0zNSw3ICszNSw3IEBACiAK
ICAgICAgICAgICAgIHZhciByZWNvcmQgPSBjdXJzb3IudmFsdWU7CiAgICAgICAgICAgICByZWNv
cmQuZGF0YSA9IGRvY3VtZW50OwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnRGF0YUNsb25l
RXJyb3InLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRh
Q2xvbmVFcnJvcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGN1cnNvci51cGRhdGUo
cmVjb3JkKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgdC5kb25lKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4Ni5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4Ni5odG0K
aW5kZXggMWU1MWIxMzU0Y2YzMDAzODM4NjQ0ZDAwNGQyNzE2YzExNjZiZGM4Yi4uOTYzOWZiOWY3
MzM3ZTM0N2NkZmI4MTNhMTBkMzRmNzA4YmRjYWE5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0
ZV9pbmRleDYuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfaW5kZXg2Lmh0bQpAQCAtMzMsNyArMzMs
NyBAQAogICAgICAgICAgICAgdmFyIGN1cnNvciA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICAgICAg
ICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvcik7CiAKLSAgICAgICAg
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgY3Vyc29yLnVw
ZGF0ZSgpOyB9KTsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsgY3Vyc29yLnVwZGF0ZSgpOyB9KTsKICAgICAgICAgICAgIHQuZG9uZSgpOwogICAg
ICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4Ny5odG0gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfdXBkYXRlX2luZGV4Ny5odG0KaW5kZXggMWQ0NjRmYmNkZWU2NWU4YzcyOGFjZDgzOWI3
ZDFjN2M2YTcxNDgzZC4uMjVmNTlhMWUzMmM2ZGQwNDg3ZTBiNWVhNThkNjQ1M2ZjNTFiNThjZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9pbmRleDcuaHRtCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVf
aW5kZXg3Lmh0bQpAQCAtMzMsNyArMzMsNyBAQAogICAgICAgICAgICAgdmFyIGN1cnNvciA9IGUu
dGFyZ2V0LnJlc3VsdDsKICAgICAgICAgICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9m
IElEQkN1cnNvcik7CiAKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsIGZ1
bmN0aW9uKCkgeyBjdXJzb3IudXBkYXRlKG51bGwpOyB9KTsKKyAgICAgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgY3Vyc29yLnVwZGF0ZShudWxsKTsg
fSk7CiAgICAgICAgICAgICB0LmRvbmUoKTsKICAgICAgICAgfSk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiY3Vyc29yX3VwZGF0ZV9pbmRleDguaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9pbmRleDguaHRtCmlu
ZGV4IDNiOTI2NmRiZWRhMzJjMThiZjgxZTkxN2JmMzNkMjhhNDkwYjhiZWUuLmNmMzNlMWQ3NTA0
MGZkMTE1NmI2M2NkNTZmMTdkZWMxMzg0ZjQ2YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVf
aW5kZXg4Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX2luZGV4OC5odG0KQEAgLTM0LDcgKzM0LDcg
QEAKICAgICAgICAgICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvciwg
ImN1cnNvciBleGlzdHMiKTsKIAogICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7Ci0gICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rp
b24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLnVwZGF0ZSh7IHBLZXk6ICJwcmltYXJ5S2V5
XzAiLCBpS2V5OiAiaW5kZXhLZXlfMF91cGRhdGVkIiB9KTsKICAgICAgICAgICAgIH0pOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlMi5odG0gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRl
X29iamVjdHN0b3JlMi5odG0KaW5kZXggNjVjODdiZDk1MzY5YTE2NTY1ZWMzMjc2MGQ1YjE1NGNj
MDQyOTdjNy4uNmM3YTEzMzcwYTk5NmQ4N2I5MjViOTA4NjAxODk3MTg4OGM2MGEzYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTIuaHRtCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVf
b2JqZWN0c3RvcmUyLmh0bQpAQCAtMjgsNyArMjgsNyBAQAogCiAgICAgICAgIGN1cnNvcl9ycS5v
bnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICB2YXIgY3Vy
c29yID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnUmVhZE9u
bHlFcnJvcicsIGZ1bmN0aW9uKCkgeyBjdXJzb3IudXBkYXRlKGN1cnNvci52YWx1ZSk7IH0pOwor
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ1JlYWRPbmx5RXJyb3InLCBmdW5jdGlvbigp
IHsgY3Vyc29yLnVwZGF0ZShjdXJzb3IudmFsdWUpOyB9KTsKICAgICAgICAgICAgIHQuZG9uZSgp
OwogICAgICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0
b3JlMy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlMy5odG0KaW5kZXggMGNlNTlkZTI5
YzlkNThhZTNjOWI2OGY4YjJjMmY4NTU3MDdmNmQxMy4uZTE5ZjU4NTNiYzQxYmVjZjljNTA2MzE2
MzE4NTgxNzFiMTkzYzNlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTMu
aHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmUzLmh0bQpAQCAtMzAsNyArMzAsNyBA
QAogICAgICAgICB9KTsKIAogICAgICAgICBlLnRhcmdldC50cmFuc2FjdGlvbi5vbmNvbXBsZXRl
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygn
VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywgZnVuY3Rpb24oKSB7IHdpbmRvdy5jdXJzb3IudXBk
YXRlKHdpbmRvdy5yZWNvcmQpOyB9KQorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ1Ry
YW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsIGZ1bmN0aW9uKCkgeyB3aW5kb3cuY3Vyc29yLnVwZGF0
ZSh3aW5kb3cucmVjb3JkKTsgfSkKICAgICAgICAgICAgIHQuZG9uZSgpOwogICAgICAgICB9KTsK
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlNS5odG0gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfdXBkYXRlX29iamVjdHN0b3JlNS5odG0KaW5kZXggNWRmYjgyY2ExOWRkMzcwNGM1ZjRhNDkw
MGMxNmE0ZGY5MTg3MmVlMC4uMmI3M2E1MWQ0MmU3OWZiMzJlMWYxYTI0MWYzNjJmZDc1ZTNlMmRl
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTUuaHRtCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNv
cl91cGRhdGVfb2JqZWN0c3RvcmU1Lmh0bQpAQCAtMjksNyArMjksNyBAQAogCiAgICAgICAgICAg
ICBkYi5kZWxldGVPYmplY3RTdG9yZSgidGVzdCIpOwogICAgICAgICAgICAgY3Vyc29yLnZhbHVl
ICs9ICJfdXBkYXRlZCI7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVF
cnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFs
aWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLnVwZGF0
ZShjdXJzb3IudmFsdWUpOwogICAgICAgICAgICAgfSwgIklmIHRoZSBjdXJzb3IncyBzb3VyY2Ug
b3IgZWZmZWN0aXZlIG9iamVjdCBzdG9yZSBoYXMgYmVlbiBkZWxldGVkLCB0aGUgaW1wbGVtZW50
YXRpb24gTVVTVCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVycm9y
Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU2Lmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNv
cl91cGRhdGVfb2JqZWN0c3RvcmU2Lmh0bQppbmRleCAxNmFhMDBkZmFlMDE1OTlhM2E2NmZkYzNm
NWFkNThhYWVjMDRkMmZlLi5hMmY4MTQwODI5YTc4YTUwMzlkYzZiM2ZhOGRhYjQzMzAxNDZlZTA1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlNi5odG0KKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
X3VwZGF0ZV9vYmplY3RzdG9yZTYuaHRtCkBAIC0zMyw3ICszMyw3IEBACiAKICAgICAgICAgICAg
IHZhciByZWNvcmQgPSBjdXJzb3IudmFsdWU7CiAgICAgICAgICAgICByZWNvcmQuZGF0YSA9IGRv
Y3VtZW50OwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygnRGF0YUNsb25lRXJyb3InLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhQ2xvbmVFcnJvcics
IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGN1cnNvci51cGRhdGUocmVjb3JkKTsKICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3Jf
dXBkYXRlX29iamVjdHN0b3JlNy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlNy5odG0K
aW5kZXggYjFiNzM2Y2YwY2VkMWZiYjU4M2E3N2M4MGYwYmE4MzJhZjVkZTgxZC4uNDc1MTI4OWU2
ZGZlMTk3ZDJlNTJhNDFlODc2MWFkZTY1NWMwZmYwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0
ZV9vYmplY3RzdG9yZTcuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU3Lmh0bQpA
QCAtMzEsNyArMzEsNyBAQAogICAgICAgICAgICAgdmFyIGN1cnNvciA9IGUudGFyZ2V0LnJlc3Vs
dDsKICAgICAgICAgICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvcik7
CiAKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsgY3Vyc29yLnVwZGF0ZSgpOyB9KTsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsgY3Vyc29yLnVwZGF0ZSgpOyB9KTsKICAgICAgICAgICAgIHQu
ZG9uZSgpOwogICAgICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29i
amVjdHN0b3JlOC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlOC5odG0KaW5kZXggZjBi
ODkwMGQ0YjBhOTYwM2FjMjQxMzEzMWM3M2ZhZTdlNTAxOWQxZS4uM2RjYjk0ZTlmYmIyMzIwOGRk
ODVlZjEyNmYwMDA3NDA5ZDhiZTRiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3Rz
dG9yZTguaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU4Lmh0bQpAQCAtMzEsNyAr
MzEsNyBAQAogICAgICAgICAgICAgdmFyIGN1cnNvciA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICAg
ICAgICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNvcik7CiAKLSAgICAg
ICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBjdXJzb3IudXBk
YXRlKG51bGwpOyB9KTsKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3In
LCBmdW5jdGlvbigpIHsgY3Vyc29yLnVwZGF0ZShudWxsKTsgfSk7CiAgICAgICAgICAgICB0LmRv
bmUoKTsKICAgICAgICAgfSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmpl
Y3RzdG9yZTkuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTkuaHRtCmluZGV4IDM0YWE3
OGU2YmU4NGYzNzJmOTUxOTYxNzMyYmE1NWE4MDgyN2RkNGUuLmMxMTJiMDczZmM3YjA5ZmRmOTRk
ZDdlNTFhODMwMjk3NjBkYTgyZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3Rv
cmU5Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlOS5odG0KQEAgLTM0LDcgKzM0
LDcgQEAKICAgICAgICAgICAgIGFzc2VydF90cnVlKGN1cnNvciBpbnN0YW5jZW9mIElEQkN1cnNv
ciwgImN1cnNvciBleGlzdHMiKTsKIAogICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7Ci0g
ICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVu
Y3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3Vyc29yLnVwZGF0ZSh7IHBLZXk6ICJwcmltYXJ5
S2V5XzAiLCB2YWx1ZTogInZhbHVlXzBfdXBkYXRlZCIgfSk7CiAgICAgICAgICAgICB9KTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiZGF0YWJhc2UtY3JlYXRlT2JqZWN0U3RvcmUtZXhjZXB0aW9uLW9yZGVyLmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmRhdGFiYXNlLWNyZWF0ZU9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG0KaW5kZXgg
ODcwNTUwMWU1MzVlMTJmZWZjOTQ3MmI5MGY2M2RhNDBlYjU4MDk0NS4uMWQ2Y2JlOGVhNDVkY2U5
ZGVmMGEyZDYwZWU0ODIzNzliODNhOGI2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2UtY3JlYXRlT2Jq
ZWN0U3RvcmUtZXhjZXB0aW9uLW9yZGVyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZS1jcmVhdGVPYmplY3RT
dG9yZS1leGNlcHRpb24tb3JkZXIuaHRtCkBAIC0xNyw3ICsxNyw3IEBAIGluZGV4ZWRkYl90ZXN0
KAogCiAgICAgdHhuLm9uYWJvcnQgPSAoKSA9PiB7CiAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9m
dW5jKCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93
c19kb20oCiAgICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4geyBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnczInKTsgfSwKICAgICAgICAgICAnInJ1bm5pbmcgYW4gdXBncmFkZSB0cmFu
c2FjdGlvbiIgY2hlY2sgKEludmFsaWRTdGF0ZUVycm9yKSAnICsKICAgICAgICAgICAnc2hvdWxk
IHByZWNlZGUgIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpJyk7
CkBAIC0zOSw3ICszOSw3IEBAIGluZGV4ZWRkYl90ZXN0KAogCiAgICAgdHhuLmFib3J0KCk7CiAK
LSAgICBhc3NlcnRfdGhyb3dzKAorICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgJ1RyYW5z
YWN0aW9uSW5hY3RpdmVFcnJvcicsCiAgICAgICAoKSA9PiB7IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCdzMicsIHtrZXlQYXRoOiAnLWludmFsaWQtJ30pOyB9LAogICAgICAgJyJub3QgYWN0aXZlIiBj
aGVjayAoVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKQEAgLTU2
LDcgKzU2LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiBpbmRleGVkZGJfdGVzdCgKICAgKHQsIGRiKSA9
PiB7CiAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3MnKTsKLSAgICBhc3NlcnRfdGhyb3dzKCdT
eW50YXhFcnJvcicsICgpID0+IHsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJyb3In
LCAoKSA9PiB7CiAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgncycsIHtrZXlQYXRoOiAnbm90
IGEgdmFsaWQga2V5IHBhdGgnfSk7CiAgICAgfSwgJyJJbnZhbGlkIGtleSBwYXRoIiBjaGVjayAo
U3ludGF4RXJyb3IpIHNob3VsZCBwcmVjZWRlICcgKwogICAgICAgICciZHVwbGljYXRlIHN0b3Jl
IG5hbWUiIGNoZWNrIChDb25zdHJhaW50RXJyb3IpJyk7CkBAIC03MCw3ICs3MCw3IEBAIGluZGV4
ZWRkYl90ZXN0KAogaW5kZXhlZGRiX3Rlc3QoCiAgICh0LCBkYikgPT4gewogICAgIGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzJyk7Ci0gICAgYXNzZXJ0X3Rocm93cygnQ29uc3RyYWludEVycm9yJywg
KCkgPT4geworICAgIGFzc2VydF90aHJvd3NfZG9tKCdDb25zdHJhaW50RXJyb3InLCAoKSA9PiB7
CiAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgncycsIHthdXRvSW5jcmVtZW50OiB0cnVlLCBr
ZXlQYXRoOiAnJ30pOwogICAgIH0sICciYWxyZWFkeSBleGlzdHMiIGNoZWNrIChDb25zdHJhaW50
RXJyb3IpIHNob3VsZCBwcmVjZWRlICcgKwogICAgICAgICciYXV0b0luY3JlbWVudCB2cy4ga2V5
UGF0aCIgY2hlY2sgKEludmFsaWRBY2Nlc3NFcnJvciknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNl
LWRlbGV0ZU9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG0gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZS1kZWxldGVP
YmplY3RTdG9yZS1leGNlcHRpb24tb3JkZXIuaHRtCmluZGV4IDIzYTNlMWZkNzAxNTg0Mjg2NjQ5
MWVmOGQ1M2I1ODE3OTZkNTk2YzguLmRjMWJkZjM0MDE1ZjBmMTRiOGM5YTcwYmQyYTJiYzNiMDA3
NjRjNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlLWRlbGV0ZU9iamVjdFN0b3JlLWV4Y2VwdGlvbi1v
cmRlci5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiZGF0YWJhc2UtZGVsZXRlT2JqZWN0U3RvcmUtZXhjZXB0aW9uLW9yZGVy
Lmh0bQpAQCAtMTIsNyArMTIsNyBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgncycpOwogICAgIHR4bi5vbmFib3J0ID0gKCkgPT4gewogICAgICAgc2V0VGltZW91
dCh0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsg
ZGIuZGVsZXRlT2JqZWN0U3RvcmUoJ3MnKTsgfSwKICAgICAgICAgICAnInJ1bm5pbmcgYW4gdXBn
cmFkZSB0cmFuc2FjdGlvbiIgY2hlY2sgKEludmFsaWRTdGF0ZUVycm9yKSAnICsKICAgICAgICAg
ICAnc2hvdWxkIHByZWNlZGUgIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZl
RXJyb3IpJyk7CkBAIC0zMCw3ICszMCw3IEBAIGluZGV4ZWRkYl90ZXN0KAogaW5kZXhlZGRiX3Rl
c3QoCiAgICh0LCBkYiwgdHhuKSA9PiB7CiAgICAgdHhuLmFib3J0KCk7Ci0gICAgYXNzZXJ0X3Ro
cm93cygKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZl
RXJyb3InLCAoKSA9PiB7IGRiLmRlbGV0ZU9iamVjdFN0b3JlKCdub3BlJyk7IH0sCiAgICAgICAn
Im5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpIHNob3VsZCBwcmVj
ZWRlICcgKwogICAgICAgJyJuYW1lIGluIGRhdGFiYXNlIiBjaGVjayAoTm90Rm91bmRFcnJvcikn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlLXRyYW5zYWN0aW9uLWV4Y2VwdGlvbi1vcmRlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJkYXRhYmFzZS10cmFuc2FjdGlvbi1leGNlcHRpb24tb3JkZXItZXhwZWN0ZWQu
dHh0CmluZGV4IDg2MjUxYzczOGFiNWVjNmYxMTdiNDYzZjcyZjcyYjk4OTk4N2VmY2MuLjAyNjUx
NzRjYTY5NTFmZTA2ZDNkODYxODc3ZGQyOWFmZDZiMjllMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNl
LXRyYW5zYWN0aW9uLWV4Y2VwdGlvbi1vcmRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2Ut
dHJhbnNhY3Rpb24tZXhjZXB0aW9uLW9yZGVyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDYgQEAK
IAogUEFTUyBJREJEYXRhYmFzZS50cmFuc2FjdGlvbiBleGNlcHRpb24gb3JkZXI6IEludmFsaWRT
dGF0ZUVycm9yIHZzLiBOb3RGb3VuZEVycm9yIAogUEFTUyBJREJEYXRhYmFzZS50cmFuc2FjdGlv
biBleGNlcHRpb24gb3JkZXI6IEludmFsaWRTdGF0ZUVycm9yIHZzLiBJbnZhbGlkQWNjZXNzRXJy
b3IgCitQQVNTIElEQkRhdGFiYXNlLnRyYW5zYWN0aW9uIHRocm93cyBleGNlcHRpb24gb24gaW52
YWxpZCBtb2RlIAogUEFTUyBJREJEYXRhYmFzZS50cmFuc2FjdGlvbiBleGNlcHRpb24gb3JkZXI6
IE5vdEZvdW5kRXJyb3IgdnMuIFR5cGVFcnJvciAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2UtdHJh
bnNhY3Rpb24tZXhjZXB0aW9uLW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZS10cmFuc2FjdGlvbi1leGNl
cHRpb24tb3JkZXIuaHRtbAppbmRleCBjMDAyMWQ5MjZhODMyNTVmYzQzNGY4MWU3MDI5MTJmNDJk
N2VmMTBmLi40ZGZiODIxYzY3YjU4ZjEwYjQ5NzhmY2Q0MmRmNWMzNDJiZWUyYmMzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJkYXRhYmFzZS10cmFuc2FjdGlvbi1leGNlcHRpb24tb3JkZXIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRh
YmFzZS10cmFuc2FjdGlvbi1leGNlcHRpb24tb3JkZXIuaHRtbApAQCAtMTMsNyArMTMsNyBAQCBp
bmRleGVkZGJfdGVzdCgKICAgfSwKICAgKHQsIGRiKSA9PiB7CiAgICAgZGIuY2xvc2UoKTsKLSAg
ICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsKKyAgICBhc3NlcnRf
dGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiB7CiAgICAgICBkYi50cmFuc2Fj
dGlvbignbm8tc3VjaC1zdG9yZScpOwogICAgIH0sICciQ29ubmVjdGlvbiBpcyBjbG9zZWQiIGNo
ZWNrIChJbnZhbGlkU3RhdGVFcnJvcikgc2hvdWxkIHByZWNlZGUgJyArCiAgICAgICAgJyJzdG9y
ZSBuYW1lcyIgY2hlY2sgKE5vdEZvdW5kRXJyb3IpJyk7CkBAIC0yOCw3ICsyOCw3IEBAIGluZGV4
ZWRkYl90ZXN0KAogICB9LAogICAodCwgZGIpID0+IHsKICAgICBkYi5jbG9zZSgpOwotICAgIGFz
c2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4geworICAgIGFzc2VydF90aHJv
d3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsKICAgICAgIGRiLnRyYW5zYWN0aW9u
KFtdKTsKICAgICB9LCAnIkNvbm5lY3Rpb24gaXMgY2xvc2VkIiBjaGVjayAoSW52YWxpZFN0YXRl
RXJyb3IpIHNob3VsZCBwcmVjZWRlICcgKwogICAgICAgICcic3RvcmVzIGlzIGVtcHR5IiBjaGVj
ayAoSW52YWxpZEFjY2Vzc0Vycm9yKScpOwpAQCAtMzcsMTIgKzM3LDI2IEBAIGluZGV4ZWRkYl90
ZXN0KAogICAnSURCRGF0YWJhc2UudHJhbnNhY3Rpb24gZXhjZXB0aW9uIG9yZGVyOiBJbnZhbGlk
U3RhdGVFcnJvciB2cy4gSW52YWxpZEFjY2Vzc0Vycm9yJwogKTsKIAorLy8gVmVyaWZ5IHRoYXQg
dGhlIGludmFsaWQgbW9kZSBjaGVjayBhY3R1YWxseSB0aHJvd3MgYW4gZXhjZXB0aW9uCiBpbmRl
eGVkZGJfdGVzdCgKICAgKHQsIGRiKSA9PiB7CiAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Mn
KTsKICAgfSwKICAgKHQsIGRiKSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cygnTm90Rm91bmRFcnJv
cicsICgpID0+IHsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geworICAg
ICAgZGIudHJhbnNhY3Rpb24oJ3MnLCAndmVyc2lvbmNoYW5nZScpOworICAgIH0sICciaW52YWxp
ZCBtb2RlIiBjaGVjayBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7CisgICAgdC5kb25lKCk7Cisg
IH0sCisgICdJREJEYXRhYmFzZS50cmFuc2FjdGlvbiB0aHJvd3MgZXhjZXB0aW9uIG9uIGludmFs
aWQgbW9kZScKKyk7CisKK2luZGV4ZWRkYl90ZXN0KAorICAodCwgZGIpID0+IHsKKyAgICBkYi5j
cmVhdGVPYmplY3RTdG9yZSgncycpOworICB9LAorICAodCwgZGIpID0+IHsKKyAgICBhc3NlcnRf
dGhyb3dzX2RvbSgnTm90Rm91bmRFcnJvcicsICgpID0+IHsKICAgICAgIGRiLnRyYW5zYWN0aW9u
KCduby1zdWNoLXN0b3JlJywgJ3ZlcnNpb25jaGFuZ2UnKTsKICAgICB9LCAnIk5vIHN1Y2ggc3Rv
cmUiIGNoZWNrIChOb3RGb3VuZEVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKICAgICAgICAnImlu
dmFsaWQgbW9kZSIgY2hlY2sgKFR5cGVFcnJvciknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2Ny
ZWF0ZU9iamVjdFN0b3JlMTEuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmUxMS5odG0K
aW5kZXggYWU3OGQ0NmJhMDc4MTgyYjI4NDdkY2ZkYTQ5Zjc5MTUzYTFiMmZlMS4uY2EwNGYyMWQ2
ZDBmNTdmZmM2ZjczOGE2MDJjZDYyMjVhMGU2NDgyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3Jl
YXRlT2JqZWN0U3RvcmUxMS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmUxMS5o
dG0KQEAgLTE0LDcgKzE0LDcgQEAgdmFyIHQgPSBhc3luY190ZXN0KCksCiBvcGVuX3JxLm9udXBn
cmFkZW5lZWRlZCA9IGZ1bmN0aW9uIChlKSB7CiAgICAgdmFyIGRiID0gZS50YXJnZXQucmVzdWx0
OwogICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJzdG9yZSIpOwotICAgIGFzc2VydF90aHJvd3Mo
IkNvbnN0cmFpbnRFcnJvciIsIGZ1bmN0aW9uKCl7CisgICAgYXNzZXJ0X3Rocm93c19kb20oIkNv
bnN0cmFpbnRFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCJzdG9yZSIsIHsKICAgICAgICAgICAgIGtleVBhdGg6ICJrZXkxIiwKICAgICAgICAgfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTMuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3Jl
YXRlT2JqZWN0U3RvcmUzLmh0bQppbmRleCBjY2Y0YTJiNWZkZTAwODMyZTE0NGEyZmJkNzljZmRj
ZjVmNzJjYzEyLi4wZWVlZmQ2MTNjMjIwOWZkYTI2ODQ3ZjEyMzI0MjRmMzdmNDRlOTQ2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTMuaHRtCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2Ny
ZWF0ZU9iamVjdFN0b3JlMy5odG0KQEAgLTEzLDcgKzEzLDcgQEAgdmFyIHQgPSBhc3luY190ZXN0
KCksCiBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKCkge30KIG9wZW5fcnEub25z
dWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKICAgICB2YXIgZGIgPSBlLnRhcmdldC5yZXN1bHQKLSAg
ICBhc3NlcnRfdGhyb3dzKAorICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAnSW52YWxp
ZFN0YXRlRXJyb3InLAogICAgICAgICBmdW5jdGlvbigpIHsgZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J2ZhaWxzJykgfSkKICAgICB0LmRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9i
amVjdFN0b3JlNC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTQuaHRtCmluZGV4IDA3
ZDc4N2JkOWExNjM1NzkzNTI1Yzg0MjYxNzMwYzI5MGQxZDFmYTcuLjljNzI3OTkyOWViZWE0YTky
NTcxM2EwNWY0NjI5NzUxM2QwZWExZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVj
dFN0b3JlNC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmU0Lmh0bQpAQCAtMTMs
NyArMTMsNyBAQCB2YXIgdCA9IGFzeW5jX3Rlc3QoKSwKIG9wZW5fcnEub251cGdyYWRlbmVlZGVk
ID0gZnVuY3Rpb24oZSkgewogICAgIHZhciBkYiA9IGUudGFyZ2V0LnJlc3VsdAogICAgIGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCJkdXBlIikKLSAgICBhc3NlcnRfdGhyb3dzKAorICAgIGFzc2VydF90
aHJvd3NfZG9tKAogICAgICAgICAnQ29uc3RyYWludEVycm9yJywKICAgICAgICAgZnVuY3Rpb24o
KSB7IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJkdXBlIikgfSkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJh
c2VfY3JlYXRlT2JqZWN0U3RvcmU2Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVjdFN0b3JlNi5o
dG0KaW5kZXggYzEyMDBjNWY5M2EzMzI3NjExOTEzNTcyMTZiOTNhMjU3MDI5Mjg3OS4uNmM3YTU0
MmRiMGQ2ODhiZmI3Zjk4NWYzMWZjYWRjNjA3ODdmYTUyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2Vf
Y3JlYXRlT2JqZWN0U3RvcmU2Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTYu
aHRtCkBAIC0xMywxMSArMTMsMTEgQEAgdmFyIHQgPSBhc3luY190ZXN0KCksCiBvcGVuX3JxLm9u
dXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKICAgICB2YXIgZGIgPSBlLnRhcmdldC5yZXN1
bHQKIAotICAgIGFzc2VydF90aHJvd3MoJ1N5bnRheEVycm9yJywgZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X3Rocm93c19kb20oJ1N5bnRheEVycm9yJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
ICBkYi5jcmVhdGVPYmplY3RTdG9yZSgiaW52YWxpZGtleXBhdGgiLCB7IGtleVBhdGg6ICJJbnZh
bGlkIEtleXBhdGgiIH0pCiAgICAgICAgIH0pCiAKLSAgICBhc3NlcnRfdGhyb3dzKCdTeW50YXhF
cnJvcicsIGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF90aHJvd3NfZG9tKCdTeW50YXhFcnJvcics
IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoImludmFsaWRr
ZXlwYXRoIiwgeyBhdXRvSW5jcmVtZW50OiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlQYXRoOiAiSW52YWxpZCBLZXlwYXRoIiB9
KQogICAgICAgICB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmU5LWlu
dmFsaWRwYXJhbWV0ZXJzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVjdFN0b3JlOS1pbnZhbGlk
cGFyYW1ldGVycy5odG0KaW5kZXggNGEyOGQ0MDMzYzA4ODM0NzgzMTcxZDlhOWJiYzM5MzEyYjll
Mjg1NC4uMWZkYWQ4NjMwODU2M2JkZGY4OWYwYzA2ZGU4MGZjYWExMDJiZDgyYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmU5LWludmFsaWRwYXJhbWV0ZXJzLmh0bQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTktaW52YWxpZHBhcmFtZXRlcnMuaHRtCkBAIC0x
MSw3ICsxMSw3IEBACiAgICAgICAgIHZhciB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSAr
ICIgLSAiICsgZGVzYyk7CiAKICAgICAgICAgY3JlYXRlZGIodCkub251cGdyYWRlbmVlZGVkID0g
ZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cyhleGNlcHRpb24sIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oZXhjZXB0aW9uLCBmdW5jdGlv
bigpIHsKICAgICAgICAgICAgICAgICBlLnRhcmdldC5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUo
InN0b3JlIiwgcGFyYW1zKTsKICAgICAgICAgICAgIH0pOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFz
ZV9kZWxldGVPYmplY3RTdG9yZTIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfZGVsZXRlT2JqZWN0U3RvcmUyLmh0
bQppbmRleCAzYzFhYmU2MzIzMmRlOTdmMjY5ODQ0M2ViNTVjMDU2ZmQ1ZGFlMjE4Li41MzFiM2Qz
N2FhYWU0YTIzMGFiNmUyMTk3MmIyMjBjZGU0ZmIzYTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9k
ZWxldGVPYmplY3RTdG9yZTIuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2RlbGV0ZU9iamVjdFN0b3JlMi5o
dG0KQEAgLTE3LDcgKzE3LDcgQEAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihl
KQogCiAgICAgZS50YXJnZXQudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uIChlKQogICAgIHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJy
b3InLAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLAogICAg
ICAgICAgICAgZnVuY3Rpb24oKSB7IGRiLmRlbGV0ZU9iamVjdFN0b3JlKCJkZWxldGVfb3V0c2lk
ZSIpOyB9KTsKICAgICAgICAgdC5kb25lKCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFz
ZV9kZWxldGVPYmplY3RTdG9yZTMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfZGVsZXRlT2JqZWN0U3RvcmUzLmh0
bQppbmRleCBjYWUwMGY5ZDIyMGUzN2QxYThmMWZjYzc3MWEzMmJjNDA5ZWQzMzIyLi5hOGRiNWI0
OWNiYmU5ODQ3ODhiNzAwMGU5Njc5ZjI0Y2YzMjI4ZTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9k
ZWxldGVPYmplY3RTdG9yZTMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2RlbGV0ZU9iamVjdFN0b3JlMy5o
dG0KQEAgLTEzLDcgKzEzLDcgQEAgdmFyIHQgPSBhc3luY190ZXN0KCksCiBvcGVuX3JxLm9udXBn
cmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpCiB7CiAgICAgdmFyIGRiID0gZS50YXJnZXQucmVzdWx0
OwotICAgIGFzc2VydF90aHJvd3MoJ05vdEZvdW5kRXJyb3InLAorICAgIGFzc2VydF90aHJvd3Nf
ZG9tKCdOb3RGb3VuZEVycm9yJywKICAgICAgICAgZnVuY3Rpb24oKSB7IGRiLmRlbGV0ZU9iamVj
dFN0b3JlKCd3aGF0ZXZlcicpOyB9KTsKICAgICB0LmRvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRh
dGFiYXNlX2RlbGV0ZU9iamVjdFN0b3JlNC1ub3RfcmV1c2VkLmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2RlbGV0
ZU9iamVjdFN0b3JlNC1ub3RfcmV1c2VkLmh0bQppbmRleCBjYzU5ZjlkMjAyNWQ3M2MwNWYwMjI3
NmU5MDJiNWQzZjk2YzcwODgyLi43MjlmY2U2ZGI1YThkZjcxNzdkZGU2MDI3MDIwZGFhNmZhZDlj
ZDE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9kZWxldGVPYmplY3RTdG9yZTQtbm90X3JldXNlZC5o
dG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiZGF0YWJhc2VfZGVsZXRlT2JqZWN0U3RvcmU0LW5vdF9yZXVzZWQuaHRtCkBAIC0y
OSw3ICsyOSw3IEBAIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAg
IGFzc2VydF9mYWxzZShvYmpTdG9yZTIuaW5kZXhOYW1lcy5jb250YWlucygiaWR4IiksICJpbmRl
eCBleGlzdCBvbiBuZXcgb2Jqc3RvcmUiKTsKICAgICBhc3NlcnRfZXF1YWxzKG9ialN0b3JlMi5r
ZXlQYXRoLCBudWxsLCAia2V5UGF0aCIpOwogCi0gICAgYXNzZXJ0X3Rocm93cygiTm90Rm91bmRF
cnJvciIsIGZ1bmN0aW9uKCkgeyBvYmpTdG9yZTIuaW5kZXgoImlkeCIpOyB9KTsKKyAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiTm90Rm91bmRFcnJvciIsIGZ1bmN0aW9uKCkgeyBvYmpTdG9yZTIuaW5k
ZXgoImlkeCIpOyB9KTsKIH0KIAogb3Blbl9ycS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlvbi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlv
bi5odG0KaW5kZXggOTRkZThiNDMzNDJhZTM5YmI4M2E3MGQ3NjM2OWI5YmYyNjRhMzJlZS4uYzg4
MzE2N2E2MmE0ZDhhNDI5MTA1N2Q3MDc5ZjE4ZmE1MGE4MzU0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJh
c2VfdHJhbnNhY3Rpb24uaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9uLmh0bQpAQCAtMTUs
NyArMTUsNyBAQCBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKCkge307CiBvcGVu
X3JxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICBkYiA9IGUudGFyZ2V0LnJlc3VsdDsK
IAotICAgIGFzc2VydF90aHJvd3MoJ05vdEZvdW5kRXJyb3InLCBmdW5jdGlvbigpIHsgZGIudHJh
bnNhY3Rpb24oJ25vbi1leGlzdGluZycpOyB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90
Rm91bmRFcnJvcicsIGZ1bmN0aW9uKCkgeyBkYi50cmFuc2FjdGlvbignbm9uLWV4aXN0aW5nJyk7
IH0pOwogICAgIHQuZG9uZSgpOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfdHJhbnNhY3Rp
b24zLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9uMy5odG0KaW5kZXggOWIzNTNjNzEwOGY0ZmQ4
MWNmZjlkYWFkMTZjOGYzYzBiNmUyZWY5Zi4uNGQyNTQyYTVlZWZmN2I0YTM2NDI1NzBiMzU1ZmU5
NGJjZjlkZjhmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfdHJhbnNhY3Rpb24zLmh0bQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJk
YXRhYmFzZV90cmFuc2FjdGlvbjMuaHRtCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgb3Blbl9ycS5v
bnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRiLmNsb3NlKCk7CiAKLSAgICAgICAg
YXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAgICBhc3NlcnRfdGhyb3dz
X2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLAogICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGRiLnRy
YW5zYWN0aW9uKCd0ZXN0Jyk7IH0pOwogCiAgICAgICAgIHQuZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
ZGF0YWJhc2VfdHJhbnNhY3Rpb240Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9uNC5odG0KaW5k
ZXggY2EzMzY5ZjdiZDBkNmNjNWFkYjc2YWFhNDdhMDMwNWM2MjBlNzQzMC4uMWRmMzdhYjM3Mzkz
NDUyNWYwZmI4Nzg1MjFkNzEwMGY0NDE4MGQxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfdHJhbnNh
Y3Rpb240Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlvbjQuaHRtCkBAIC0xNiw3ICsxNiw3
IEBACiAgICAgfTsKIAogICAgIG9wZW5fcnEub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewotICAg
ICAgICBhc3NlcnRfdGhyb3dzKHsgbmFtZTogJ1R5cGVFcnJvcicgfSwKKyAgICAgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsCiAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZGIudHJhbnNh
Y3Rpb24oJ3Rlc3QnLCAnd2hhdGV2ZXInKTsgfSk7CiAKICAgICAgICAgdC5kb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlvbjUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfdHJhbnNhY3Rpb241
Lmh0bQppbmRleCBiNmI0NWFiOWYyOGNjYTdmNDFlZDk5MTg2YTk5NzM0N2M2N2VlZjhlLi40ZDJi
ZGNiZTRiYjIyNTA4YzljY2NmYWJiMDQ0MTg1ODA2OTViZTMyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFz
ZV90cmFuc2FjdGlvbjUuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9uNS5odG0KQEAgLTE1
LDcgKzE1LDcgQEAgdmFyIGRiLAogb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbigp
IHt9Owogb3Blbl9ycS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CiAgICAgZGIgPSBlLnRhcmdl
dC5yZXN1bHQ7Ci0gICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZEFjY2Vzc0Vycm9yJywgZnVuY3Rp
b24oKSB7IGRiLnRyYW5zYWN0aW9uKFtdKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19kb20oJ0lu
dmFsaWRBY2Nlc3NFcnJvcicsIGZ1bmN0aW9uKCkgeyBkYi50cmFuc2FjdGlvbihbXSk7IH0pOwog
ICAgIHQuZG9uZSgpOwogfTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9jbXAyLmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmZhY3RvcnlfY21wMi5odG0KaW5kZXggNDQ2YmI0NjVjZTY0ZWJlYjZlY2Q0M2NiOTliYzFj
Mjg1NWIwZDdiMS4uMTkzMmJiYWI0OWUwOWFjYzkwMzU4YjlhNDRkODAwYzMwZmI2MWNhMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiZmFjdG9yeV9jbXAyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X2NtcDIuaHRtCkBAIC05LDMx
ICs5LDMxIEBACiA8ZGl2IGlkPWxvZz48L2Rpdj4KIDxzY3JpcHQ+CiAgICAgdGVzdCggZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgaW5kZXhlZERCLmNtcCgpOwogICAgICAgICB9KTsKICAgICB9LCAiSURCRmFjdG9y
eS5jbXAoKSAtIG5vIGFyZ3VtZW50Iik7CiAKICAgICB0ZXN0KCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGluZGV4
ZWREQi5jbXAobnVsbCwgbnVsbCk7CiAgICAgICAgIH0pOwotICAgICAgICBhc3NlcnRfdGhyb3dz
KCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRh
dGFFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgaW5kZXhlZERCLmNtcCgxLCBudWxs
KTsKICAgICAgICAgfSk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsIGZ1bmN0
aW9uKCkgeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwgZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICBpbmRleGVkREIuY21wKG51bGwsIDEpOwogICAgICAgICB9KTsKICAg
ICB9LCAiSURCRmFjdG9yeS5jbXAoKSAtIG51bGwiKTsKIAogICAgIHRlc3QoIGZ1bmN0aW9uKCkg
ewotICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAg
ICAgaW5kZXhlZERCLmNtcChOYU4sIE5hTik7CiAgICAgICAgIH0pOwotICAgICAgICBhc3NlcnRf
dGhyb3dzKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgaW5kZXhlZERCLmNtcCgx
LCBOYU4pOwogICAgICAgICB9KTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwg
ZnVuY3Rpb24oKSB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5j
dGlvbigpIHsKICAgICAgICAgICAgIGluZGV4ZWREQi5jbXAoTmFOLCAxKTsKICAgICAgICAgfSk7
CiAgICAgfSwgIklEQkZhY3RvcnkuY21wKCkgLSBOYU4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlf
ZGVsZXRlRGF0YWJhc2U0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnlfZGVsZXRlRGF0YWJhc2U0Lmh0bQppbmRleCA3
M2FkYjFhNGQ4OWYyZTk4YTIyMzQyZGY3YzRjOTM0Mjk0YTgwMDAzLi4yZjY4MDg1M2I5MGQ2M2I2
MDY5NmQ0N2UwYWJkY2RmMDJiM2FiYWU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X2RlbGV0ZURhdGFi
YXNlNC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiZmFjdG9yeV9kZWxldGVEYXRhYmFzZTQuaHRtCkBAIC05LDExICs5LDE0
IEBACiAKIDxzY3JpcHQ+CiAKLSAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIkRlbGV0ZSBhbiBleGlz
dGluZyBkYXRhYmFzZSIpOworICAgIHZhciB0ID0gYXN5bmNfdGVzdCgiRGVsZXRlIGFuIGV4aXN0
aW5nIGRhdGFiYXNlIiksCisgICAgICAgIGRibmFtZSA9IGxvY2F0aW9uICsgJy0nICsgdC5uYW1l
OwogCiAgICAgdC5zdGVwKGZ1bmN0aW9uKCkgeworICAgICAgICBpbmRleGVkREIuZGVsZXRlRGF0
YWJhc2UoZGJuYW1lKTsKKwogICAgICAgICB2YXIgZGI7Ci0gICAgICAgIHZhciBvcGVucnEgPSBp
bmRleGVkREIub3BlbignZGInLCAzKTsKKyAgICAgICAgdmFyIG9wZW5ycSA9IGluZGV4ZWREQi5v
cGVuKGRibmFtZSwgMyk7CiAKICAgICAgICAgb3BlbnJxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0
aW9uKGUpIHsKICAgICAgICAgICAgIGUudGFyZ2V0LnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZSgn
c3RvcmUnKTsKQEAgLTM2LDcgKzM5LDcgQEAKICAgICB9KTsKIAogICAgIGZ1bmN0aW9uIFNlY29u
ZChlKSB7Ci0gICAgICAgIHZhciBkZWxldGVycSA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgn
ZGInKTsKKyAgICAgICAgdmFyIGRlbGV0ZXJxID0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRi
bmFtZSk7CiAKICAgICAgICAgZGVsZXRlcnEub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgeyB0LmRv
bmUoKTsgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW45Lmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3Blbjku
aHRtCmluZGV4IDk4YjFkZGVlZjEzMjY0NjJjY2NlMjk2ZTUyMDlmOTU4OTQ3YTljZTMuLjM2YTll
ZjgxNGNiMTIxZGQ3MGRhNWJiMjY1YjNiNmE2ZTE1MDAxYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlf
b3BlbjkuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjkuaHRtCkBAIC05LDcgKzksNyBAQCBmdW5jdGlv
biBzaG91bGRfdGhyb3codmFsLCBuYW1lKSB7CiAgICAgICAgIG5hbWUgPSAoKHR5cGVvZiB2YWwg
PT0gIm9iamVjdCIgJiYgdmFsKSA/ICJvYmplY3QiIDogZm9ybWF0X3ZhbHVlKHZhbCkpCiAgICAg
fQogICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7CiAgICAgICAgIHdpbmRvdy5pbmRleGVkREIub3BlbigndGVzdCcsIHZhbCk7CiAg
ICAgICB9KTsKICAgICB9LCAiQ2FsbGluZyBvcGVuKCkgd2l0aCB2ZXJzaW9uIGFyZ3VtZW50ICIg
KyBuYW1lICsgIiBzaG91bGQgdGhyb3cgVHlwZUVycm9yLiIpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1n
ZXRBbGwtZW5mb3JjZXJhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1nZXRBbGwtZW5mb3JjZXJhbmdlLmh0bWwK
aW5kZXggZDBjYmUyODg3MjA5N2JhZjFkNzIzZWNiODJiYjNlNTkwODk4YWEwZS4uYWIwYzE4YjA0
ZmY1M2ZkZjc4OTMyZmU4NjE4OWJkN2NjMzMyMmMxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtZ2V0QWxs
LWVuZm9yY2VyYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LWdldEFsbC1lbmZvcmNlcmFuZ2UuaHRtbApA
QCAtMTcsOCArMTcsOCBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBjb25zdCBzdG9yZSA9IHR4Lm9i
amVjdFN0b3JlKCdzdG9yZScpOwogICAgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4
Jyk7CiAgICAgW05hTiwgSW5maW5pdHksIC1JbmZpbml0eSwgLTEsIC1OdW1iZXIuTUFYX1NBRkVf
SU5URUdFUl0uZm9yRWFjaChjb3VudCA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKFR5cGVFcnJv
cigpLCAoKSA9PiB7IGluZGV4LmdldEFsbChudWxsLCBjb3VudCk7IH0sCi0gICAgICAgICAgICAg
ICAgICAgIGBnZXRBbGwgd2l0aCBjb3VudCAke2NvdW50fSBjb3VudCBzaG91bGQgdGhyb3cgVHlw
ZUVycm9yYCk7CisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geyBpbmRl
eC5nZXRBbGwobnVsbCwgY291bnQpOyB9LAorICAgICAgICAgICAgICAgICAgICAgICBgZ2V0QWxs
IHdpdGggY291bnQgJHtjb3VudH0gY291bnQgc2hvdWxkIHRocm93IFR5cGVFcnJvcmApOwogICAg
IH0pOwogICAgIHQuZG9uZSgpOwogICB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtZ2V0QWxsS2V5cy1l
bmZvcmNlcmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LWdldEFsbEtleXMtZW5mb3JjZXJhbmdlLmh0bWwKaW5k
ZXggZTM2YTY5ZjQ5NWQxMGQ0ODFiMjI4YjJlZjdjYWJmNmQ2ZmZhZjQ1YS4uZmM2NTMxMWE1NjQ0
ODI3YzJmZmUzNDFhYzYxODMzNjk5NzE1ZmNjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtZ2V0QWxsS2V5
cy1lbmZvcmNlcmFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1nZXRBbGxLZXlzLWVuZm9yY2VyYW5nZS5o
dG1sCkBAIC0xNyw4ICsxNyw4IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgIGNvbnN0IHN0b3JlID0g
dHgub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CiAgICAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgn
aW5kZXgnKTsKICAgICBbTmFOLCBJbmZpbml0eSwgLUluZmluaXR5LCAtMSwgLU51bWJlci5NQVhf
U0FGRV9JTlRFR0VSXS5mb3JFYWNoKGNvdW50ID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3MoVHlw
ZUVycm9yKCksICgpID0+IHsgaW5kZXguZ2V0QWxsS2V5cyhudWxsLCBjb3VudCk7IH0sCi0gICAg
ICAgICAgICAgICAgICAgIGBnZXRBbGxLZXlzIHdpdGggY291bnQgJHtjb3VudH0gY291bnQgc2hv
dWxkIHRocm93IFR5cGVFcnJvcmApOworICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3Is
ICgpID0+IHsgaW5kZXguZ2V0QWxsS2V5cyhudWxsLCBjb3VudCk7IH0sCisgICAgICAgICAgICAg
ICAgICAgICAgIGBnZXRBbGxLZXlzIHdpdGggY291bnQgJHtjb3VudH0gY291bnQgc2hvdWxkIHRo
cm93IFR5cGVFcnJvcmApOwogICAgIH0pOwogICAgIHQuZG9uZSgpOwogICB9LApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiaW5kZXgtbXVsdGllbnRyeS1hcnJheWtleXBhdGguaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS1h
cnJheWtleXBhdGguaHRtCmluZGV4IGU5OWM4YWQ5OTg1M2M4OTQwZGU3MjUwMGMwY2EwODNjMWZj
MTZmZGEuLmMyM2Y5NmQ4NDU2YjMxYjNjMGU1OWU3NjUxYzdjNDM3OWRkYzFkZmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmluZGV4LW11bHRpZW50cnktYXJyYXlrZXlwYXRoLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVu
dHJ5LWFycmF5a2V5cGF0aC5odG0KQEAgLTEyLDcgKzEyLDcgQEAKICAgICBjcmVhdGVkYihhc3lu
Y190ZXN0KCkpLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgdmFyIHN0
b3JlID0gZS50YXJnZXQucmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKCJzdG9yZSIpOwogCi0gICAg
ICAgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRBY2Nlc3NFcnJvcicsIGZ1bmN0aW9uKCkgeworICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZEFjY2Vzc0Vycm9yJywgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICBzdG9yZS5jcmVhdGVJbmRleCgnYWN0b3JzJywgWyduYW1lJ10sIHsgbXVs
dGlFbnRyeTogdHJ1ZSB9KQogICAgICAgICB9KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtcXVlcnkt
ZXhjZXB0aW9uLW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1xdWVyeS1leGNlcHRpb24tb3JkZXIuaHRtbApp
bmRleCBmYjRhYTljOTk1MzAwMGE3ZjMyNzBhZjQyYWY5ODkxYjkzYjgxZWUyLi4yYzNlOWIyM2M1
YjM2Mzc5NjBlYmYwZmVkYTBlMGNhZjFmMWY4NzUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1xdWVyeS1l
eGNlcHRpb24tb3JkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1xdWVyeS1leGNlcHRpb24tb3JkZXIuaHRt
bApAQCAtMjksNyArMjksNyBAQAogICAgICAgc3RvcmUyLmRlbGV0ZUluZGV4KCdpJyk7CiAKICAg
ICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dz
KAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJy
b3InLCAoKSA9PiB7IGluZGV4W21ldGhvZF0oJ2tleScpOyB9LAogICAgICAgICAgICciaGFzIGJl
ZW4gZGVsZXRlZCIgY2hlY2sgKEludmFsaWRTdGF0ZUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsK
ICAgICAgICAgICAnIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3Ip
Jyk7CkBAIC01Miw3ICs1Miw3IEBACiAgICAgICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4KCdp
Jyk7CiAKICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoKCkgPT4gewotICAgICAgICBhc3Nl
cnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAnVHJhbnNh
Y3Rpb25JbmFjdGl2ZUVycm9yJywgKCkgPT4geyBpbmRleFttZXRob2RdKHt9KTsgfSwKICAgICAg
ICAgICAnIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpIHNob3Vs
ZCBwcmVjZWRlICcgKwogICAgICAgICAgICdxdWVyeSBjaGVjayAoRGF0YUVycm9yKScpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiaW5kZXgtcmVuYW1lLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtcmVuYW1lLWVycm9ycy5o
dG1sCmluZGV4IGI5Y2JhZjJmMjkyNDk1YWIyOTczNTM4NWQxMzM4ZjNjNjc5NzcyNWIuLmIzMTRi
NTQ5NTc5OWZlNTdkM2VjZmJhNDA4ZDg0MDczNDYwMDgxYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LXJl
bmFtZS1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1yZW5hbWUtZXJyb3JzLmh0bWwKQEAgLTE5LDcg
KzE5LDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAgY29uc3Qgc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnYm9va3MnKTsKICAgICAgICAgY29uc3QgaW5kZXgg
PSBzdG9yZS5pbmRleCgnYnlfYXV0aG9yJyk7CiAgICAgICAgIHN0b3JlLmRlbGV0ZUluZGV4KCdi
eV9hdXRob3InKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93
c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5uYW1l
ID0gJ3JlbmFtZWRfYnlfYXV0aG9yJyk7CiAgICAgfSkpLnRoZW4oZGF0YWJhc2UgPT4gZGF0YWJh
c2UuY2xvc2UoKSk7CiB9LCAnSW5kZXhlZERCIGRlbGV0ZWQgaW5kZXggcmVuYW1lIHRocm93cycp
OwpAQCAtMzIsNyArMzIsNyBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICBj
b25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdib29rcycpOwogICAgICAgICBj
b25zdCBpbmRleCA9IHN0b3JlLmluZGV4KCdieV9hdXRob3InKTsKIAotICAgICAgICBhc3NlcnRf
dGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdJbnZhbGlk
U3RhdGVFcnJvcicsICgpID0+IGluZGV4Lm5hbWUgPSAncmVuYW1lZF9ieV9hdXRob3InKTsKICAg
ICAgICAgZGF0YWJhc2UuY2xvc2UoKTsKICAgICB9KTsKQEAgLTQ2LDcgKzQ2LDcgQEAgcHJvbWlz
ZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnYm9va3MnKTsKICAgICAgICAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgn
YnlfYXV0aG9yJyk7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5u
YW1lID0gJ3JlbmFtZWRfYnlfYXV0aG9yJyk7CiAgICAgICAgIGRhdGFiYXNlLmNsb3NlKCk7CiAg
ICAgfSk7CkBAIC01OCw3ICs1OCw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAg
ICAgIGNvbnN0IHN0b3JlID0gY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGF0YWJhc2UpOwog
ICAgICAgICBhdXRob3JJbmRleCA9IHN0b3JlLmluZGV4KCdieV9hdXRob3InKTsKICAgICB9KS50
aGVuKGRhdGFiYXNlID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oCiAgICAgICAgICAgICAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywKICAg
ICAgICAgICAgICgpID0+IGF1dGhvckluZGV4Lm5hbWUgPSAncmVuYW1lZF9ieV9hdXRob3InKTsK
ICAgICAgICAgZGF0YWJhc2UuY2xvc2UoKTsKQEAgLTc0LDcgKzc0LDcgQEAgcHJvbWlzZV90ZXN0
KHRlc3RDYXNlID0+IHsKICAgICAgICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnYm9va3MnKTsKICAgICAgICAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgnYnlfYXV0
aG9yJyk7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnQ29uc3RyYWludEVycm9yJywgKCkgPT4g
aW5kZXgubmFtZSA9ICdieV90aXRsZScpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnQ29u
c3RyYWludEVycm9yJywgKCkgPT4gaW5kZXgubmFtZSA9ICdieV90aXRsZScpOwogICAgICAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKAogICAgICAgICAgICAgc3RvcmUuaW5kZXhOYW1lcywgWydieV9h
dXRob3InLCAnYnlfdGl0bGUnXSwKICAgICAgICAgICAgICdBbiBpbmRleCByZW5hbWUgdGhhdCB0
aHJvd3MgYW4gZXhjZXB0aW9uIHNob3VsZCBub3QgY2hhbmdlIHRoZSAnICsKQEAgLTEwMiwxMiAr
MTAyLDEyIEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgfSkudGhlbigoKSA9PiBt
aWdyYXRlRGF0YWJhc2UodGVzdENhc2UsIDIsIChkYXRhYmFzZSwgdHJhbnNhY3Rpb24pID0+IHsK
ICAgICAgICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnYm9va3MnKTsK
ICAgICAgICAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgnYnlfYXV0aG9yJyk7Ci0KLSAgICAg
ICAgYXNzZXJ0X3Rocm93cygKLSAgICAgICAgICAgIHsgbmFtZTogJ0N1c3RvbSBzdHJpbmdpZnlp
bmcgZXJyb3InIH0sCisgICAgICAgIGNvbnN0IGV4Y2VwdGlvbiA9IHsgbmFtZTogJ0N1c3RvbSBz
dHJpbmdpZnlpbmcgZXJyb3InIH07CisgICAgICAgIGFzc2VydF90aHJvd3NfZXhhY3RseSgKKyAg
ICAgICAgICAgIGV4Y2VwdGlvbiwKICAgICAgICAgICAgICgpID0+IHsKICAgICAgICAgICAgICAg
aW5kZXgubmFtZSA9IHsKLSAgICAgICAgICAgICAgICB0b1N0cmluZzogKCkgPT4geyB0aHJvdyB7
IG5hbWU6ICdDdXN0b20gc3RyaW5naWZ5aW5nIGVycm9yJ307IH0KKyAgICAgICAgICAgICAgICB0
b1N0cmluZzogKCkgPT4geyB0aHJvdyBleGNlcHRpb247IH0KICAgICAgICAgICAgICAgfTsKICAg
ICAgICAgICAgIH0sICdJREJPYmplY3RTdG9yZSByZW5hbWUgc2hvdWxkIHJlLXJhaXNlIHRvU3Ry
aW5nKCkgZXhjZXB0aW9uJyk7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleC1yZW5hbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LXJlbmFtZS5odG1sCmluZGV4IDdlYjE4MmY3
Y2U3ZWI0ODlkNjJmMDBmMDdhMDg1ZDBlZTdjNjYyMGMuLmRhMWQ2YzljZTljYjMyZjQ0ZDUzYzVj
MjVjMTYyODY5ZTY2MTAyZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LXJlbmFtZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmlu
ZGV4LXJlbmFtZS5odG1sCkBAIC00Myw3ICs0Myw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9
PiB7CiAgICAgICAgICAgICBzdG9yZS5pbmRleCgncmVuYW1lZF9ieV9hdXRob3InKSwgcmVuYW1l
ZEF1dGhvckluZGV4LAogICAgICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLmluZGV4IHNob3VsZCBy
ZXR1cm4gdGhlIHJlbmFtZWQgaW5kZXggc3RvcmUgd2hlbiAnICsKICAgICAgICAgICAgICdxdWVy
aWVkIHVzaW5nIHRoZSBuZXcgbmFtZSBpbW1lZGlhdGVseSBhZnRlciB0aGUgcmVuYW1lJyk7Ci0g
ICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAg
ICAgICAgJ05vdEZvdW5kRXJyb3InLCAoKSA9PiBzdG9yZS5pbmRleCgnYnlfYXV0aG9yJyksCiAg
ICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUuaW5kZXggc2hvdWxkIHRocm93IHdoZW4gcXVlcmll
ZCB1c2luZyB0aGUgJyArCiAgICAgICAgICAgICAicmVuYW1lZCBpbmRleCdzIG9sZCBuYW1lIGlt
bWVkaWF0ZWx5IGFmdGVyIHRoZSByZW5hbWUiKTsKQEAgLTk2LDcgKzk2LDcgQEAgcHJvbWlzZV90
ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAgICAgIHN0b3JlLmluZGV4KCdyZW5hbWVkX2J5X2F1
dGhvcicpLCByZW5hbWVkQXV0aG9ySW5kZXgsCiAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUu
aW5kZXggc2hvdWxkIHJldHVybiB0aGUgcmVuYW1lZCBpbmRleCBzdG9yZSB3aGVuICcgKwogICAg
ICAgICAgICAgJ3F1ZXJpZWQgdXNpbmcgdGhlIG5ldyBuYW1lIGltbWVkaWF0ZWx5IGFmdGVyIHRo
ZSByZW5hbWUnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93
c19kb20oCiAgICAgICAgICAgICAnTm90Rm91bmRFcnJvcicsICgpID0+IHN0b3JlLmluZGV4KCdi
eV9hdXRob3InKSwKICAgICAgICAgICAgICdJREJPYmplY3RTdG9yZS5pbmRleCBzaG91bGQgdGhy
b3cgd2hlbiBxdWVyaWVkIHVzaW5nIHRoZSAnICsKICAgICAgICAgICAgICJyZW5hbWVkIGluZGV4
J3Mgb2xkIG5hbWUgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHJlbmFtZSIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
aW5kZXhfY291bnQ0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50NC5odG0KaW5kZXggYWRkZDk5MjYwZDQ3NDZl
YjVhOWRkMjJhNGFhZjU2MDExYTg4MWY2MS4uY2UyNTQxMmEyNWY1MjllMTM4Y2IyMDc3ZjRkZDg3
ZDA4NTkwOWQ2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfY291bnQ0Lmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9jb3Vu
dDQuaHRtCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgLm9iamVjdFN0
b3JlKCJzdG9yZSIpCiAgICAgICAgICAgICAgICAgICAgICAgLmluZGV4KCJpbmRleCIpOwogCi0g
ICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICBh
c3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBp
bmRleC5jb3VudChOYU4pOwogICAgICAgICB9KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0NS5o
dG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleF9nZXQ1Lmh0bQppbmRleCA2NWUyNjIzY2RkOTUwNWY4NWZiMWZlZmQ5OWJjNmJk
YjBlZTRhMjU4Li5mMWYzMzg2Y2QyMjkzNWQ2YjA5MTJhZWFjNDkwZTJjMTRkNjhjZTY2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJpbmRleF9nZXQ1Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9nZXQ1Lmh0bQpAQCAtMTcsNyArMTcs
NyBAQAogCiAgICAgICAgIHZhciBpbmRleCA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0Iiwg
eyBrZXlQYXRoOiAia2V5IiB9KQogICAgICAgICAgICAgICAgICAgICAgIC5jcmVhdGVJbmRleCgi
aW5kZXgiLCAiaW5kZXhlZFByb3BlcnR5Iik7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFF
cnJvciIsZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIs
ZnVuY3Rpb24oKXsKICAgICAgICAgICAgIGluZGV4LmdldChOYU4pOwogICAgICAgICB9KTsKICAg
ICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9nZXQ2Lmh0bSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2dldDYu
aHRtCmluZGV4IGM3ZjZiOTJmZWJlZDZlYTA2ZTg1ZjI2YTY3NGNhZmRiOTQyYWJmN2QuLjUzMDRi
MThiMWEwNjQ2NTk1YzVjOWYzNjU1ZDdjYTc2N2I5OTI4OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2dl
dDYuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmluZGV4X2dldDYuaHRtCkBAIC0yMCw3ICsyMCw3IEBACiAgICAgICAgIHN0
b3JlLmFkZCh7IGtleTogMSwgaW5kZXhlZFByb3BlcnR5OiAiZGF0YSIgfSk7CiAgICAgICAgIHN0
b3JlLmRlbGV0ZUluZGV4KCJpbmRleCIpOwogCi0gICAgICAgIGFzc2VydF90aHJvd3MoIkludmFs
aWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIklu
dmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsKICAgICAgICAgICAgIGluZGV4LmdldCgiZGF0
YSIpOwogICAgICAgICB9KTsKICAgICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9n
ZXQ3Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmluZGV4X2dldDcuaHRtCmluZGV4IGUyOGZlZDRjNTkxZjQyMGYyMzg0ZTIyNTVj
MzNlNWMxMmJlNjZmYWMuLjkwMDhjNTAxODRiOTk1YjYwNDQ1ZTg1ZmZjNGE1MjhiMGVkYjRlYjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmluZGV4X2dldDcuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2dldDcuaHRtCkBAIC0yNCw3
ICsyNCw3IEBACiAgICAgICAgIHZhciBpbmRleCA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLmlu
ZGV4KCdpbmRleCcpOwogICAgICAgICB0eC5hYm9ydCgpOwogCi0gICAgICAgIGFzc2VydF90aHJv
d3MoIlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IiLCBmdW5jdGlvbigpewogICAg
ICAgICAgICAgaW5kZXguZ2V0KCJkYXRhIik7CiAgICAgICAgIH0pOwogICAgICAgICB0LmRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmluZGV4X2dldDguaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0OC5odG0KaW5kZXggZWY2
N2M2ZDZkMjI3ZWMyYTg3YzJhZjgzYTRlMjAyYjNmNTU4Yzc5OS4uOWJmYzQ4NDIyZmUwZmQ4MjEz
NjJjMTViZWMxMThmYTBjOTU1ODY0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0OC5odG0KKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
aW5kZXhfZ2V0OC5odG0KQEAgLTE5LDcgKzE5LDcgQEAKIAogICAgICAgICBlLnRhcmdldC50cmFu
c2FjdGlvbi5hYm9ydCgpOwogCi0gICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVy
cm9yIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0
ZUVycm9yIiwgZnVuY3Rpb24oKXsKICAgICAgICAgICAgIGluZGV4LmdldCgiZGF0YSIpOwogICAg
ICAgICB9KTsKICAgICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9nZXRLZXk1Lmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmluZGV4X2dldEtleTUuaHRtCmluZGV4IDk2YWY4NjhiZWFmZThmZjljNWVkY2UyODI4NjNk
MThjNjkyMWQ5ZmIuLjVmYTMzMDg3Y2Q2YzA0NWQwZDNlZDhmNzE3ZDI5ZDA3ODY0MTBjMjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmluZGV4X2dldEtleTUuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2dldEtleTUuaHRtCkBAIC0x
Nyw3ICsxNyw3IEBACiAKICAgICAgICAgdmFyIGluZGV4ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
InRlc3QiLCB7IGtleVBhdGg6ICJrZXkiIH0pCiAgICAgICAgICAgICAgICAgICAgICAgLmNyZWF0
ZUluZGV4KCJpbmRleCIsICJpbmRleGVkUHJvcGVydHkiKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiRGF0YUVycm9yIixmdW5jdGlvbigpeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0
YUVycm9yIixmdW5jdGlvbigpewogICAgICAgICAgICAgaW5kZXguZ2V0S2V5KE5hTik7CiAgICAg
ICAgIH0pOwogICAgICAgICB0LmRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2dldEtleTYuaHRt
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiaW5kZXhfZ2V0S2V5Ni5odG0KaW5kZXggNmU5NjgwZGE5ZWRmM2VkM2NjZTBlMmFiYzNmNDdi
ZTIwZGEzZDhhZS4uMThjZGViOWU5MzkyMjczODhjYWZjOTE0MGMxYmJjYWM1ZjdhZTRlYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiaW5kZXhfZ2V0S2V5Ni5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0S2V5Ni5odG0KQEAgLTIw
LDcgKzIwLDcgQEAKICAgICAgICAgc3RvcmUuYWRkKHsga2V5OiAxLCBpbmRleGVkUHJvcGVydHk6
ICJkYXRhIiB9KTsKICAgICAgICAgc3RvcmUuZGVsZXRlSW5kZXgoImluZGV4Iik7CiAKLSAgICAg
ICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpeworICAgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpewogICAg
ICAgICAgICAgaW5kZXguZ2V0S2V5KCJkYXRhIik7CiAgICAgICAgIH0pOwogICAgICAgICB0LmRv
bmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2dldEtleTcuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0S2V5Ny5odG0K
aW5kZXggYzk0OWQzOWIzYWFmOTQ3ODkzNjg2MjBiOTA0YzAwM2NiNDc4OGY0YS4uNGIwMDU3Mzlj
YWNhODdlNGQ2YjE3Y2QyMGYwMzcyY2NkOWU1MzA1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0S2V5
Ny5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiaW5kZXhfZ2V0S2V5Ny5odG0KQEAgLTI0LDcgKzI0LDcgQEAKICAgICAgICAg
dmFyIGluZGV4ID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykuaW5kZXgoJ2luZGV4Jyk7CiAgICAg
ICAgIHR4LmFib3J0KCk7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiVHJhbnNhY3Rpb25JbmFj
dGl2ZUVycm9yIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlRyYW5z
YWN0aW9uSW5hY3RpdmVFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICBpbmRleC5nZXRL
ZXkoImRhdGEiKTsKICAgICAgICAgfSk7CiAgICAgICAgIHQuZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
aW5kZXhfZ2V0S2V5OC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9nZXRLZXk4Lmh0bQppbmRleCBlNDZmN2JjMzYxNzI2
NTU2MGQ2YmY0MDNkNTFhOTM1MWJjYTdkZDNkLi4zMTZkYTZhN2QxOWQ1MWQ2YzZjZjk0MDdhYTcw
ZTlkOGM1YzgxOWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9nZXRLZXk4Lmh0bQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9n
ZXRLZXk4Lmh0bQpAQCAtMTksNyArMTksNyBAQAogCiAgICAgICAgIGUudGFyZ2V0LnRyYW5zYWN0
aW9uLmFib3J0KCk7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3Ii
LCBmdW5jdGlvbigpeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJy
b3IiLCBmdW5jdGlvbigpewogICAgICAgICAgICAgaW5kZXguZ2V0S2V5KCJkYXRhIik7CiAgICAg
ICAgIH0pOwogICAgICAgICB0LmRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5DdXJzb3Iu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiaW5kZXhfb3BlbkN1cnNvci5odG0KaW5kZXggMGVmZmY5MzI1Zjc2MmNhMzVjYmJhMDA5
NDdmMGRiOTA1ZTkwZDEwNi4uMTdkOWU2ODQxNTcxZTRkYmMzODBlMTc2OGE0YzY2N2EzNjVkZTVm
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiaW5kZXhfb3BlbkN1cnNvci5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfb3BlbkN1cnNv
ci5odG0KQEAgLTIwLDcgKzIwLDcgQEAKICAgICAgICAgc3RvcmUuYWRkKHsga2V5OiAxLCBpbmRl
eGVkUHJvcGVydHk6ICJkYXRhIiB9KTsKICAgICAgICAgc3RvcmUuZGVsZXRlSW5kZXgoImluZGV4
Iik7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlv
bigpeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5j
dGlvbigpewogICAgICAgICAgICAgaW5kZXgub3BlbkN1cnNvcigpOwogICAgICAgICB9KTsKICAg
ICAgICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9vcGVuQ3Vyc29yMi5odG0gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRl
eF9vcGVuQ3Vyc29yMi5odG0KaW5kZXggN2NlOTY3ZTBiOTgyNzQ3ODk4NDJkMzk4MjUyNThlODBh
YWQ3NzA0ZS4uMTNlNTVmZmYxZDZmZGI1YTIyYWRjZmJlMTdmM2I5YWExNDIyNzM0YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiaW5kZXhfb3BlbkN1cnNvcjIuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5DdXJzb3IyLmh0bQpA
QCAtMjQsNyArMjQsNyBAQAogICAgICAgICB2YXIgaW5kZXggPSB0eC5vYmplY3RTdG9yZSgnc3Rv
cmUnKS5pbmRleCgnaW5kZXgnKTsKICAgICAgICAgdHguYWJvcnQoKTsKIAotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IiLCBmdW5jdGlvbigpeworICAgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgiVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24o
KXsKICAgICAgICAgICAgIGluZGV4Lm9wZW5DdXJzb3IoKTsKICAgICAgICAgfSk7CiAgICAgICAg
IHQuZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfb3BlbkN1cnNvcjMuaHRtIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfb3Bl
bkN1cnNvcjMuaHRtCmluZGV4IGZlYTQ3OWU5Y2MxNmQ2NTg4NzYyZGI1MjEzZDFjMzY0Y2ZiYjQx
NzcuLjAyYmViMDA0MmFiMTgwYmFlMWFkOTFkNjhhM2M0ZjM0ZTdiOGIxODEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmluZGV4X29wZW5DdXJzb3IzLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9vcGVuQ3Vyc29yMy5odG0KQEAgLTE5
LDcgKzE5LDcgQEAKIAogICAgICAgICBlLnRhcmdldC50cmFuc2FjdGlvbi5hYm9ydCgpOwogCi0g
ICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsKKyAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsK
ICAgICAgICAgICAgIGluZGV4Lm9wZW5DdXJzb3IoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHQu
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfb3BlbktleUN1cnNvci5odG0gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9vcGVu
S2V5Q3Vyc29yLmh0bQppbmRleCBlMTU4ODAyOTExZTU5OTc2MGI5NzE1ZWM2Mzg5NmViNzFhMDUw
OGEyLi5jODhhMTNkYjA3Njg1Y2YxNGVjYjk4M2ExMjkwMjZkMDhlMjdiZTY0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJpbmRleF9vcGVuS2V5Q3Vyc29yLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9vcGVuS2V5Q3Vyc29yLmh0bQpA
QCAtMTksNyArMTksNyBAQAogCiAgICAgICAgIHN0b3JlLmFkZCh7IGtleTogMSwgaW5kZXhlZFBy
b3BlcnR5OiAiZGF0YSIgfSk7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsIGZ1bmN0
aW9uKCl7CiAgICAgICAgICAgICBpbmRleC5vcGVuS2V5Q3Vyc29yKE5hTik7CiAgICAgICAgIH0p
OwogICAgICAgICB0LmRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5LZXlDdXJzb3IyLmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmluZGV4X29wZW5LZXlDdXJzb3IyLmh0bQppbmRleCBkODM1NGMyZmRhYWRjZWU5MTdjOTY3
ZDJkYzQ3YzQwNTdkNmU1YzM0Li45MTUzYjExYjhkZjZlNDQ1Yzg5MThhYWI1MGMwOTQxOGJmMTRj
ZjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJpbmRleF9vcGVuS2V5Q3Vyc29yMi5odG0KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfb3Bl
bktleUN1cnNvcjIuaHRtCkBAIC0yMCw3ICsyMCw3IEBACiAgICAgICAgIHN0b3JlLmFkZCh7IGtl
eTogMSwgaW5kZXhlZFByb3BlcnR5OiAiZGF0YSIgfSk7CiAgICAgICAgIHN0b3JlLmRlbGV0ZUlu
ZGV4KCJpbmRleCIpOwogCi0gICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9y
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVy
cm9yIiwgZnVuY3Rpb24oKXsKICAgICAgICAgICAgIGluZGV4Lm9wZW5LZXlDdXJzb3IoKTsKICAg
ICAgICAgfSk7CiAgICAgICAgIHQuZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfb3BlbktleUN1
cnNvcjMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiaW5kZXhfb3BlbktleUN1cnNvcjMuaHRtCmluZGV4IGYwMDljZWY0OWFjN2Ex
NDIwOWI0YzA5YjcwMjZhMzFkOTU1Yjg1ZWYuLjFjN2Y4NmY4ZDk4ZGYzZjA0MmExOTU4ZTAwNDZj
NzEyZDQ3NThkYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5LZXlDdXJzb3IzLmh0bQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJp
bmRleF9vcGVuS2V5Q3Vyc29yMy5odG0KQEAgLTI0LDcgKzI0LDcgQEAKICAgICAgICAgdmFyIGlu
ZGV4ID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykuaW5kZXgoJ2luZGV4Jyk7CiAgICAgICAgIHR4
LmFib3J0KCk7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiVHJhbnNhY3Rpb25JbmFjdGl2ZUVy
cm9yIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlRyYW5zYWN0aW9u
SW5hY3RpdmVFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICBpbmRleC5vcGVuS2V5Q3Vy
c29yKCk7CiAgICAgICAgIH0pOwogICAgICAgICB0LmRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4
X29wZW5LZXlDdXJzb3I0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5LZXlDdXJzb3I0Lmh0bQppbmRleCBiZjEz
NGRmZjE4YTNiZjYyNzhiMGM2NTliMzJlMDE2NTJlNGI5ODRiLi4zMmJjMDg4ZjI1N2UyMTI3MDNi
ODQ3OGU2ZWVlNTNjYmQxMTM3NGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9vcGVuS2V5Q3Vyc29yNC5o
dG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiaW5kZXhfb3BlbktleUN1cnNvcjQuaHRtCkBAIC0xOSw3ICsxOSw3IEBACiAKICAg
ICAgICAgZS50YXJnZXQudHJhbnNhY3Rpb24uYWJvcnQoKTsKIAotICAgICAgICBhc3NlcnRfdGhy
b3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICBpbmRl
eC5vcGVuS2V5Q3Vyc29yKCk7CiAgICAgICAgIH0pOwogICAgICAgICB0LmRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmluZGV4X3JldmVyc2VfY3Vyc29yLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9yZXZl
cnNlX2N1cnNvci5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhM2JkNDJkMjFlYWU0NmUz
NTExMjY0ZjFlNjk0NzA5MWFiZDU5MGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9yZXZlcnNl
X2N1cnNvci5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFJldmVyc2Ug
Y3Vyc29yIHNlZXMgdXBkYXRlIGZyb20gc2VwYXJhdGUgdHJhbnNhY3Rpb25zLiAKK1BBU1MgUmV2
ZXJzZSBjdXJzb3Igc2VlcyBpbi10cmFuc2FjdGlvbiB1cGRhdGUuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJp
bmRleF9yZXZlcnNlX2N1cnNvci5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3JldmVyc2VfY3Vyc29yLmFueS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9yZXZlcnNlX2N1cnNvci5hbnkuaHRtbApAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9yZXZlcnNlX2N1cnNvci5hbnkuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRl
eF9yZXZlcnNlX2N1cnNvci5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGIzYzc2N2ZlZTE3Y2IyNzM5YmQ0
OWEwNTIzN2JlYWVhNTEyOWUyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3JldmVyc2VfY3Vy
c29yLmFueS5qcwpAQCAtMCwwICsxLDYwIEBACisvLyBNRVRBOiB0aXRsZT1SZXZlcnNlIEN1cnNv
ciBWYWxpZGl0eQorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQtcHJvbWlzZXMuanMKKworYXN5bmMg
ZnVuY3Rpb24gaXRlcmF0ZUFuZFJldHVybkFsbEN1cnNvclJlc3VsdCh0ZXN0Q2FzZSwgY3Vyc29y
KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgbGV0
IHJlc3VsdHMgPSBbXTsKKyAgICBjdXJzb3Iub25zdWNjZXNzID0gdGVzdENhc2Uuc3RlcF9mdW5j
KGZ1bmN0aW9uKGUpIHsKKyAgICAgIGxldCBjdXJzb3IgPSBlLnRhcmdldC5yZXN1bHQ7CisgICAg
ICBpZiAoIWN1cnNvcikgeworICAgICAgICByZXNvbHZlKHJlc3VsdHMpOworICAgICAgICByZXR1
cm47CisgICAgICB9CisgICAgICByZXN1bHRzLnB1c2goY3Vyc29yLnZhbHVlKTsKKyAgICAgIGN1
cnNvci5jb250aW51ZSgpOworICAgIH0pOworICAgIGN1cnNvci5vbmVycm9yID0gcmVqZWN0Owor
ICB9KTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIg
PSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgIGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdvYmplY3RTdG9yZScsIHtrZXlQYXRoOiAna2V5J30pCisgICAgICAgICAgICAg
IC5jcmVhdGVJbmRleCgnaW5kZXgnLCAnaW5kZXhlZE9uJyk7CisgIH0pOworICBjb25zdCB0eG4x
ID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCAncmVhZHdyaXRlJyk7CisgIHR4bjEu
b2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJykuYWRkKHsna2V5JzogJ2ZpcnN0SXRlbScsICdpbmRl
eGVkT24nOiAzfSk7CisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3Jl
J10sICdyZWFkd3JpdGUnKTsKKyAgdHhuMi5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnKS5wdXQo
eydrZXknOiAnZmlyc3RJdGVtJywgJ2luZGV4ZWRPbic6IC0xfSk7CisgIGNvbnN0IHR4bjM9IGRi
LnRyYW5zYWN0aW9uKFsnb2JqZWN0U3RvcmUnXSwgJ3JlYWR3cml0ZScpOworICB0eG4zLm9iamVj
dFN0b3JlKCdvYmplY3RTdG9yZScpLmFkZCh7J2tleSc6ICdzZWNvbmRJdGVtJywgJ2luZGV4ZWRP
bic6IDJ9KTsKKworICBjb25zdCB0eG40ID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSdd
LCAncmVhZG9ubHknKTsKKyAgY3Vyc29yID0gdHhuNC5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUn
KS5pbmRleCgnaW5kZXgnKS5vcGVuQ3Vyc29yKElEQktleVJhbmdlLmJvdW5kKDAsIDEwKSwgInBy
ZXYiKTsKKyAgbGV0IHJlc3VsdHMgPSBhd2FpdCBpdGVyYXRlQW5kUmV0dXJuQWxsQ3Vyc29yUmVz
dWx0KHRlc3RDYXNlLCBjdXJzb3IpOworCisgIGFzc2VydF9lcXVhbHMocmVzdWx0cy5sZW5ndGgs
IDEpOworCisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuNCk7Cisg
IGRiLmNsb3NlKCk7Cit9LCAnUmV2ZXJzZSBjdXJzb3Igc2VlcyB1cGRhdGUgZnJvbSBzZXBhcmF0
ZSB0cmFuc2FjdGlvbnMuJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7Cisg
IGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnLCB7a2V5UGF0aDogJ2tleSd9KQorICAg
ICAgICAgICAgICAuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ2luZGV4ZWRPbicpOworICB9KTsKKyAg
Y29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCAncmVhZHdyaXRlJyk7
CisgIHR4bi5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnKS5hZGQoeydrZXknOiAnMScsICdpbmRl
eGVkT24nOiAyfSk7CisgIHR4bi5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnKS5wdXQoeydrZXkn
OiAnMScsICdpbmRleGVkT24nOiAtMX0pOworICB0eG4ub2JqZWN0U3RvcmUoJ29iamVjdFN0b3Jl
JykuYWRkKHsna2V5JzogJzInLCAnaW5kZXhlZE9uJzogMX0pOworCisgIGNvbnN0IHR4bjIgPSBk
Yi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3JlJ10sICdyZWFkb25seScpOworICBjdXJzb3IgPSB0
eG4yLm9iamVjdFN0b3JlKCdvYmplY3RTdG9yZScpLmluZGV4KCdpbmRleCcpLm9wZW5DdXJzb3Io
SURCS2V5UmFuZ2UuYm91bmQoMCwgMTApLCAicHJldiIpOworICBsZXQgcmVzdWx0cyA9IGF3YWl0
IGl0ZXJhdGVBbmRSZXR1cm5BbGxDdXJzb3JSZXN1bHQodGVzdENhc2UsIGN1cnNvcik7CisKKyAg
YXNzZXJ0X2VxdWFscygxLCByZXN1bHRzLmxlbmd0aCk7CisKKyAgYXdhaXQgcHJvbWlzZUZvclRy
YW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4yKTsKKyAgZGIuY2xvc2UoKTsKK30sICdSZXZlcnNlIGN1
cnNvciBzZWVzIGluLXRyYW5zYWN0aW9uIHVwZGF0ZS4nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3Jl
dmVyc2VfY3Vyc29yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfcmV2ZXJzZV9jdXJz
b3IuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmEzYmQ0MmQyMWVhZTQ2ZTM1
MTEyNjRmMWU2OTQ3MDkxYWJkNTkwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3JldmVyc2Vf
Y3Vyc29yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFJl
dmVyc2UgY3Vyc29yIHNlZXMgdXBkYXRlIGZyb20gc2VwYXJhdGUgdHJhbnNhY3Rpb25zLiAKK1BB
U1MgUmV2ZXJzZSBjdXJzb3Igc2VlcyBpbi10cmFuc2FjdGlvbiB1cGRhdGUuIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleF9yZXZlcnNlX2N1cnNvci5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9yZXZlcnNl
X2N1cnNvci5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2
YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3JldmVyc2VfY3Vy
c29yLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1
aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQg
dGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF90
b21ic3RvbmVzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF90b21ic3RvbmVzLmFueS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzYzOGQ3YTRjMzc2YWNiZDdhYzgyZTc3ODhmZmU1ODk0NzljNDcw
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3RvbWJzdG9uZXMuYW55LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDYgQEAKKworUEFTUyBGb3J3YXJkIGl0ZXJhdGlvbiBvdmVyIGFuIGluZGV4IGlu
IGEgcmVhZG9ubHkgdHJhbnNhY3Rpb24gCitQQVNTIEJhY2t3YXJkIGl0ZXJhdGlvbiBvdmVyIGFu
IGluZGV4IGluIGEgcmVhZG9ubHkgdHJhbnNhY3Rpb24gCitQQVNTIEZvcndhcmQgaXRlcmF0aW9u
IG92ZXIgYW4gaW5kZXggaW4gYSByZWFkd3JpdGUgdHJhbnNhY3Rpb24gCitQQVNTIEJhY2t3YXJk
IGl0ZXJhdGlvbiBvdmVyIGFuIGluZGV4IGluIGEgcmVhZHdyaXRlIHRyYW5zYWN0aW9uIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJpbmRleF90b21ic3RvbmVzLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfdG9tYnN0b25lcy5h
bnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfdG9tYnN0b25lcy5hbnkuaHRtbApAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF90b21ic3RvbmVzLmFueS5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3Rv
bWJzdG9uZXMuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1NjE3YTM4NGY2ZDMxYjJjMDAwYTczN2Y0N2U5
NjY2NTBmYmQyMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF90b21ic3RvbmVzLmFueS5qcwpA
QCAtMCwwICsxLDY2IEBACisvLyBNRVRBOiB0aXRsZT1JbmRleCBUb21ic3RvbmVzCisvLyBNRVRB
OiBzY3JpcHQ9c3VwcG9ydC1wcm9taXNlcy5qcworCisvLyBUaGlzIHRlc3QgaXMgdXNlZCB0byB0
cmlnZ2VyIGEgc3BlY2lhbCBjYXNlIGluIENocm9tZSB3aXRoIGhvdyBpdCBkZWFscyB3aXRoCisv
LyBpbmRleCBjcmVhdGlvbiAmIG1vZGlmaWNhdGlvbi4gVGhpcyBoYWQgY2F1c2VkIGlzc3VlcyBi
ZWZvcmUuCisvLyBTZWUgaHR0cHM6Ly9jcmJ1Zy5jb20vMTAzMzk5NgorCithc3luYyBmdW5jdGlv
biBpdGVyYXRlQW5kUmV0dXJuQWxsQ3Vyc29yUmVzdWx0KHRlc3RDYXNlLCBjdXJzb3JSZXF1ZXN0
KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgbGV0
IHJlc3VsdHMgPSBbXTsKKyAgICBjdXJzb3JSZXF1ZXN0Lm9uc3VjY2VzcyA9IHRlc3RDYXNlLnN0
ZXBfZnVuYyhmdW5jdGlvbihldmVudCkgeworICAgICAgY29uc3QgY3Vyc29yID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKKyAgICAgIGlmICghY3Vyc29yKSB7CisgICAgICAgIHJlc29sdmUocmVzdWx0
cyk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIHJlc3VsdHMucHVzaChjdXJzb3Iu
dmFsdWUpOworICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CisgICAgfSk7CisgICAgY3Vyc29yUmVx
dWVzdC5vbmVycm9yID0gcmVqZWN0OworICB9KTsKK30KKworYXN5bmMgZnVuY3Rpb24gY3JlYXRl
VG9tYnN0b25lcyh0ZXN0Q2FzZSwgZGIpIHsKKyAgY29uc3QgdHhuMSA9IGRiLnRyYW5zYWN0aW9u
KFsnb2JqZWN0U3RvcmUnXSwgJ3JlYWR3cml0ZScpOworICB0eG4xLm9iamVjdFN0b3JlKCdvYmpl
Y3RTdG9yZScpLmFkZCh7a2V5OiAnZmlyc3RJdGVtJywgaW5kZXhlZE9uOiAxfSk7CisgIHR4bjEu
b2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJykuYWRkKHtrZXk6ICdzZWNvbmRJdGVtJywgaW5kZXhl
ZE9uOiAyfSk7CisgIHR4bjEub2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJykuYWRkKHtrZXk6ICd0
aGlyZEl0ZW0nLCBpbmRleGVkT246IDN9KTsKKyAgY29uc3QgdHhuMiA9IGRiLnRyYW5zYWN0aW9u
KFsnb2JqZWN0U3RvcmUnXSwgJ3JlYWR3cml0ZScpOworICB0eG4yLm9iamVjdFN0b3JlKCdvYmpl
Y3RTdG9yZScpLnB1dCh7a2V5OiAnZmlyc3RJdGVtJywgaW5kZXhlZE9uOiAtMTB9KTsKKyAgdHhu
Mi5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnKS5wdXQoe2tleTogJ3NlY29uZEl0ZW0nLCBpbmRl
eGVkT246IDR9KTsKKyAgdHhuMi5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnKS5wdXQoe2tleTog
J3RoaXJkSXRlbScsIGluZGV4ZWRPbjogMTB9KTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0
aW9uKHRlc3RDYXNlLCB0eG4xKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RD
YXNlLCB0eG4yKTsKK30KKworYXN5bmMgZnVuY3Rpb24gcnVuX3Rlc3QodGVzdENhc2UsIHRyYW5z
YWN0aW9uTW9kZSwgZGlyZWN0aW9uKSB7CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJh
c2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnb2JqZWN0U3Rv
cmUnLCB7a2V5UGF0aDogJ2tleSd9KQorICAgICAgICAuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ2lu
ZGV4ZWRPbicpOworICB9KTsKKyAgYXdhaXQgY3JlYXRlVG9tYnN0b25lcyh0ZXN0Q2FzZSwgZGIp
OworCisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnb2JqZWN0U3RvcmUnXSwgdHJhbnNh
Y3Rpb25Nb2RlKTsKKyAgY3Vyc29yID0gdHhuLm9iamVjdFN0b3JlKCdvYmplY3RTdG9yZScpLmlu
ZGV4KCdpbmRleCcpLm9wZW5DdXJzb3IoCisgICAgICBJREJLZXlSYW5nZS5ib3VuZCgtMTEsIDEx
KSwgZGlyZWN0aW9uKTsKKyAgbGV0IHJlc3VsdHMgPSBhd2FpdCBpdGVyYXRlQW5kUmV0dXJuQWxs
Q3Vyc29yUmVzdWx0KHRlc3RDYXNlLCBjdXJzb3IpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdHMu
bGVuZ3RoLCAzKTsKKyAgZGIuY2xvc2UoKTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RD
YXNlID0+IHsKKyAgYXdhaXQgcnVuX3Rlc3QodGVzdENhc2UsICdyZWFkb25seScsICduZXh0Jyk7
Cit9LCAnRm9yd2FyZCBpdGVyYXRpb24gb3ZlciBhbiBpbmRleCBpbiBhIHJlYWRvbmx5IHRyYW5z
YWN0aW9uJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGF3YWl0IHJ1
bl90ZXN0KHRlc3RDYXNlLCAncmVhZG9ubHknLCAncHJldicpOworfSwgJ0JhY2t3YXJkIGl0ZXJh
dGlvbiBvdmVyIGFuIGluZGV4IGluIGEgcmVhZG9ubHkgdHJhbnNhY3Rpb24nKTsKKworcHJvbWlz
ZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgYXdhaXQgcnVuX3Rlc3QodGVzdENhc2UsICdy
ZWFkd3JpdGUnLCAnbmV4dCcpOworfSwgJ0ZvcndhcmQgaXRlcmF0aW9uIG92ZXIgYW4gaW5kZXgg
aW4gYSByZWFkd3JpdGUgdHJhbnNhY3Rpb24nKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RD
YXNlID0+IHsKKyAgYXdhaXQgcnVuX3Rlc3QodGVzdENhc2UsICdyZWFkd3JpdGUnLCAncHJldicp
OworfSwgJ0JhY2t3YXJkIGl0ZXJhdGlvbiBvdmVyIGFuIGluZGV4IGluIGEgcmVhZHdyaXRlIHRy
YW5zYWN0aW9uJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF90b21ic3RvbmVzLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiaW5kZXhfdG9tYnN0b25lcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNjM4ZDdhNGMzNzZhY2JkN2FjODJlNzc4OGZmZTU4OTQ3OWM0NzBkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiaW5kZXhfdG9tYnN0b25lcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKKworUEFTUyBGb3J3YXJkIGl0ZXJhdGlvbiBvdmVyIGFuIGluZGV4IGluIGEg
cmVhZG9ubHkgdHJhbnNhY3Rpb24gCitQQVNTIEJhY2t3YXJkIGl0ZXJhdGlvbiBvdmVyIGFuIGlu
ZGV4IGluIGEgcmVhZG9ubHkgdHJhbnNhY3Rpb24gCitQQVNTIEZvcndhcmQgaXRlcmF0aW9uIG92
ZXIgYW4gaW5kZXggaW4gYSByZWFkd3JpdGUgdHJhbnNhY3Rpb24gCitQQVNTIEJhY2t3YXJkIGl0
ZXJhdGlvbiBvdmVyIGFuIGluZGV4IGluIGEgcmVhZHdyaXRlIHRyYW5zYWN0aW9uIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJpbmRleF90b21ic3RvbmVzLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3RvbWJzdG9u
ZXMuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBh
NDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF90b21ic3RvbmVzLmFueS53
b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJrZXlyYW5nZS1pbmNsdWRl
cy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJrZXlyYW5nZS1pbmNsdWRlcy5odG0KaW5kZXggYWVhNTg4MDUxYWVhYWI2M2MzODU1
YTc3OGIyMmQxYTY5MzJkNzhmZi4uOTY3NjlhZTBhOTA5ZjEyMzQ4OTMzMzFlNGQzYzRjOGNlYjgz
Mjg3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRia2V5cmFuZ2UtaW5jbHVkZXMuaHRtCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmtleXJhbmdlLWlu
Y2x1ZGVzLmh0bQpAQCAtOCwyMCArOCwyMCBAQAogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICB2YXIg
cmFuZ2UgPSBJREJLZXlSYW5nZS5ib3VuZCgxMiwgMzQpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyByYW5nZS5pbmNsdWRlcygpOyB9LAorICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IHJhbmdlLmluY2x1ZGVzKCk7IH0sCiAgICAg
ICAndGhyb3dzIGlmIGtleSBpcyBub3Qgc3BlY2lmaWVkJyk7CiAKLSAgYXNzZXJ0X3Rocm93cygn
RGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IHJhbmdlLmluY2x1ZGVzKHVuZGVmaW5lZCk7IH0sCisg
IGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgcmFuZ2UuaW5jbHVk
ZXModW5kZWZpbmVkKTsgfSwKICAgICAgICd0aHJvd3MgaWYga2V5IGlzIHVuZGVmaW5lZCcpOwot
ICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgcmFuZ2UuaW5jbHVkZXMo
bnVsbCk7IH0sCisgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsg
cmFuZ2UuaW5jbHVkZXMobnVsbCk7IH0sCiAgICAgICAndGhyb3dzIGlmIGtleSBpcyBudWxsJyk7
Ci0gIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyByYW5nZS5pbmNsdWRl
cyh7fSk7IH0sCisgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsg
cmFuZ2UuaW5jbHVkZXMoe30pOyB9LAogICAgICAgJ3Rocm93cyBpZiBrZXkgaXMgbm90IHZhbGlk
IHR5cGUnKTsKLSAgYXNzZXJ0X3Rocm93cygnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IHJhbmdl
LmluY2x1ZGVzKE5hTik7IH0sCisgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5j
dGlvbigpIHsgcmFuZ2UuaW5jbHVkZXMoTmFOKTsgfSwKICAgICAgICd0aHJvd3MgaWYga2V5IGlz
IG5vdCB2YWxpZCBudW1iZXInKTsKLSAgYXNzZXJ0X3Rocm93cygnRGF0YUVycm9yJywgZnVuY3Rp
b24oKSB7IHJhbmdlLmluY2x1ZGVzKG5ldyBEYXRlKE5hTikpOyB9LAorICBhc3NlcnRfdGhyb3dz
X2RvbSgnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IHJhbmdlLmluY2x1ZGVzKG5ldyBEYXRlKE5h
TikpOyB9LAogICAgICAgJ3Rocm93cyBpZiBrZXkgaXMgbm90IHZhbGlkIGRhdGUnKTsKLSAgYXNz
ZXJ0X3Rocm93cygnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7CisgIGFzc2VydF90aHJvd3NfZG9t
KCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsKICAgICAgIHZhciBhID0gW107IGFbMF0gPSBhOyBy
YW5nZS5pbmNsdWRlcyhhKTsKICAgfSwgJ3Rocm93cyBpZiBrZXkgaXMgbm90IHZhbGlkIGFycmF5
Jyk7CiB9LCAiSURCS2V5UmFuZ2UuaW5jbHVkZXMoKSB3aXRoIGludmFsaWQgaW5wdXQiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmtleXJhbmdlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmtleXJhbmdlLmh0bQppbmRleCBhN2Y0OTM0ZTA5NTcw
NjNiMTE0ZjRiYTg4NTFkNmVjNTIzNzMzYjRiLi43YTJkYjNlOWMyYjBhMmY0OWVhNjc1M2M0ZDJk
MDJhYTFmMTZmMGI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJrZXlyYW5nZS5odG0KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRia2V5cmFuZ2UuaHRt
CkBAIC0xOCwxMiArMTgsMTIgQEAKICAgICB9LCAiSURCS2V5UmFuZ2Uub25seSgpIC0gcmV0dXJu
cyBhbiBJREJLZXlSYW5nZSBhbmQgdGhlIHByb3BlcnRpZXMgYXJlIHNldCBjb3JyZWN0bHkiKTsK
IAogICAgIHRlc3QoIGZ1bmN0aW9uKCkgewotICAgICAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJy
b3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2Uub25seSh1bmRlZmluZWQpOyB9LCAndW5kZWZp
bmVkIGlzIG5vdCBhIHZhbGlkIGtleScpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJy
b3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2Uub25seShudWxsKTsgfSwgJ251bGwgaXMgbm90
IGEgdmFsaWQga2V5Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsIGZ1bmN0
aW9uKCkgeyBJREJLZXlSYW5nZS5vbmx5KHt9KTsgfSwgJ09iamVjdCBpcyBub3QgYSB2YWxpZCBr
ZXknKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElE
QktleVJhbmdlLm9ubHkoU3ltYm9sKCkpOyB9LCAnU3ltYm9sIGlzIG5vdCBhIHZhbGlkIGtleScp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgSURCS2V5
UmFuZ2Uub25seSh0cnVlKTsgfSwgJ2Jvb2xlYW4gaXMgbm90IGEgdmFsaWQga2V5Jyk7Ci0gICAg
ICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS5v
bmx5KCgpID0+IHt9KTsgfSwgJ2Z1bmN0aW9uIGlzIG5vdCBhIHZhbGlkIGtleScpOworICAgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdl
Lm9ubHkodW5kZWZpbmVkKTsgfSwgJ3VuZGVmaW5lZCBpcyBub3QgYSB2YWxpZCBrZXknKTsKKyAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBJREJLZXlS
YW5nZS5vbmx5KG51bGwpOyB9LCAnbnVsbCBpcyBub3QgYSB2YWxpZCBrZXknKTsKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS5v
bmx5KHt9KTsgfSwgJ09iamVjdCBpcyBub3QgYSB2YWxpZCBrZXknKTsKKyAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS5vbmx5KFN5
bWJvbCgpKTsgfSwgJ1N5bWJvbCBpcyBub3QgYSB2YWxpZCBrZXknKTsKKyAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS5vbmx5KHRy
dWUpOyB9LCAnYm9vbGVhbiBpcyBub3QgYSB2YWxpZCBrZXknKTsKKyAgICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS5vbmx5KCgpID0+
IHt9KTsgfSwgJ2Z1bmN0aW9uIGlzIG5vdCBhIHZhbGlkIGtleScpOwogICAgIH0sICJJREJLZXlS
YW5nZS5vbmx5KCkgLSB0aHJvd3Mgb24gaW52YWxpZCBrZXlzIik7CiAKICAgICAvLyBsb3dlckJv
dW5kCkBAIC00MiwxMiArNDIsMTIgQEAKICAgICB9LCAiSURCS2V5UmFuZ2UubG93ZXJCb3VuZCgp
IC0gJ29wZW4nIHBhcmFtZXRlciBoYXMgY29ycmVjdCBkZWZhdWx0IHNldCIpOwogCiAgICAgdGVz
dCggZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsIGZ1bmN0
aW9uKCkgeyBJREJLZXlSYW5nZS5sb3dlckJvdW5kKHVuZGVmaW5lZCk7IH0sICd1bmRlZmluZWQg
aXMgbm90IGEgdmFsaWQga2V5Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcics
IGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS5sb3dlckJvdW5kKG51bGwpOyB9LCAnbnVsbCBpcyBu
b3QgYSB2YWxpZCBrZXknKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnRGF0YUVycm9yJywgZnVu
Y3Rpb24oKSB7IElEQktleVJhbmdlLmxvd2VyQm91bmQoe30pOyB9LCAnT2JqZWN0IGlzIG5vdCBh
IHZhbGlkIGtleScpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJyb3InLCBmdW5jdGlv
bigpIHsgSURCS2V5UmFuZ2UubG93ZXJCb3VuZChTeW1ib2woKSk7IH0sICdTeW1ib2wgaXMgbm90
IGEgdmFsaWQga2V5Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsIGZ1bmN0
aW9uKCkgeyBJREJLZXlSYW5nZS5sb3dlckJvdW5kKHRydWUpOyB9LCAnYm9vbGVhbiBpcyBub3Qg
YSB2YWxpZCBrZXknKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnRGF0YUVycm9yJywgZnVuY3Rp
b24oKSB7IElEQktleVJhbmdlLmxvd2VyQm91bmQoKCkgPT4ge30pOyB9LCAnZnVuY3Rpb24gaXMg
bm90IGEgdmFsaWQga2V5Jyk7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3In
LCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2UubG93ZXJCb3VuZCh1bmRlZmluZWQpOyB9LCAndW5k
ZWZpbmVkIGlzIG5vdCBhIHZhbGlkIGtleScpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgn
RGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLmxvd2VyQm91bmQobnVsbCk7IH0s
ICdudWxsIGlzIG5vdCBhIHZhbGlkIGtleScpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgn
RGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLmxvd2VyQm91bmQoe30pOyB9LCAn
T2JqZWN0IGlzIG5vdCBhIHZhbGlkIGtleScpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgn
RGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLmxvd2VyQm91bmQoU3ltYm9sKCkp
OyB9LCAnU3ltYm9sIGlzIG5vdCBhIHZhbGlkIGtleScpOworICAgICAgICBhc3NlcnRfdGhyb3dz
X2RvbSgnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLmxvd2VyQm91bmQodHJ1
ZSk7IH0sICdib29sZWFuIGlzIG5vdCBhIHZhbGlkIGtleScpOworICAgICAgICBhc3NlcnRfdGhy
b3dzX2RvbSgnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLmxvd2VyQm91bmQo
KCkgPT4ge30pOyB9LCAnZnVuY3Rpb24gaXMgbm90IGEgdmFsaWQga2V5Jyk7CiAgICAgfSwgIklE
QktleVJhbmdlLmxvd2VyQm91bmQoKSAtIHRocm93cyBvbiBpbnZhbGlkIGtleXMiKTsKIAogICAg
IC8vIHVwcGVyQm91bmQKQEAgLTY2LDEyICs2NiwxMiBAQAogICAgIH0sICJJREJLZXlSYW5nZS51
cHBlckJvdW5kKCkgLSAnb3BlbicgcGFyYW1ldGVyIGhhcyBjb3JyZWN0IGRlZmF1bHQgc2V0Iik7
CiAKICAgICB0ZXN0KCBmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnRGF0YUVy
cm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLnVwcGVyQm91bmQodW5kZWZpbmVkKTsgfSwg
J3VuZGVmaW5lZCBpcyBub3QgYSB2YWxpZCBrZXknKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygn
RGF0YUVycm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLnVwcGVyQm91bmQobnVsbCk7IH0s
ICdudWxsIGlzIG5vdCBhIHZhbGlkIGtleScpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCdEYXRh
RXJyb3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2UudXBwZXJCb3VuZCh7fSk7IH0sICdPYmpl
Y3QgaXMgbm90IGEgdmFsaWQga2V5Jyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJv
cicsIGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS51cHBlckJvdW5kKFN5bWJvbCgpKTsgfSwgJ1N5
bWJvbCBpcyBub3QgYSB2YWxpZCBrZXknKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnRGF0YUVy
cm9yJywgZnVuY3Rpb24oKSB7IElEQktleVJhbmdlLnVwcGVyQm91bmQodHJ1ZSk7IH0sICdib29s
ZWFuIGlzIG5vdCBhIHZhbGlkIGtleScpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJy
b3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgoKSA9PiB7fSk7IH0sICdm
dW5jdGlvbiBpcyBub3QgYSB2YWxpZCBrZXknKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
J0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBJREJLZXlSYW5nZS51cHBlckJvdW5kKHVuZGVmaW5l
ZCk7IH0sICd1bmRlZmluZWQgaXMgbm90IGEgdmFsaWQga2V5Jyk7CisgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2UudXBwZXJCb3Vu
ZChudWxsKTsgfSwgJ251bGwgaXMgbm90IGEgdmFsaWQga2V5Jyk7CisgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2UudXBwZXJCb3Vu
ZCh7fSk7IH0sICdPYmplY3QgaXMgbm90IGEgdmFsaWQga2V5Jyk7CisgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2UudXBwZXJCb3Vu
ZChTeW1ib2woKSk7IH0sICdTeW1ib2wgaXMgbm90IGEgdmFsaWQga2V5Jyk7CisgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2UudXBw
ZXJCb3VuZCh0cnVlKTsgfSwgJ2Jvb2xlYW4gaXMgbm90IGEgdmFsaWQga2V5Jyk7CisgICAgICAg
IGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgSURCS2V5UmFuZ2Uu
dXBwZXJCb3VuZCgoKSA9PiB7fSk7IH0sICdmdW5jdGlvbiBpcyBub3QgYSB2YWxpZCBrZXknKTsK
ICAgICB9LCAiSURCS2V5UmFuZ2UudXBwZXJCb3VuZCgpIC0gdGhyb3dzIG9uIGludmFsaWQga2V5
cyIpOwogCiAgICAgLy8gYm91bmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmtleXJhbmdlX2luY29ycmVjdC5odG0g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJrZXlyYW5nZV9pbmNvcnJlY3QuaHRtCmluZGV4IDA0NDljYTgwNzMyMzE0ODkzNDVlOWQ2YjMy
YThhYzA0NzI3OGNlOTUuLjkzMWVkNTE4YjllM2MzODgyN2Y2NTM2ZWE1MDFkNGYwZjBkOGE4N2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmtleXJhbmdlX2luY29ycmVjdC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRia2V5cmFuZ2VfaW5jb3Jy
ZWN0Lmh0bQpAQCAtMTYsMjQgKzE2LDI0IEBACiAKICAgICAgICAgICAgIC8vIFR5cGVFcnJvcjog
Ym91bmQgcmVxdWlyZXMgbW9yZSB0aGFuIDAgYXJndW1lbnRzCiAgICAgICAgICAgICB0ZXN0KCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICBJREJLZXlSYW5nZS5ib3VuZCgp
OwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSwgIklEQktleVJhbmdlLmJvdW5k
KCkgLSBib3VuZCByZXF1aXJlcyBtb3JlIHRoYW4gMCBhcmd1bWVudHMuIik7CiAKICAgICAgICAg
ICAgIC8vIE51bGwgcGFyYW1ldGVycwogICAgICAgICAgICAgdGVzdCggZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgICAgICAgICBJREJLZXlSYW5nZS5ib3VuZChudWxsLCBudWxsKTsKICAg
ICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0sICJJREJLZXlSYW5nZS5ib3VuZChudWxs
LCBudWxsKSAtIG51bGwgcGFyYW1ldGVycyBhcmUgaW5jb3JyZWN0LiIpOwogCiAgICAgICAgICAg
ICAvLyAvLyBOdWxsIHBhcmFtZXRlcgogICAgICAgICAgICAgdGVzdCggZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgICAgICAgICBJREJLZXlSYW5nZS5ib3VuZCgxLCBudWxsKTsKICAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3Ii
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVy
cm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIElEQktleVJhbmdlLmJvdW5k
KG51bGwsIDEpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSwgIklEQktleVJh
bmdlLmJvdW5kKDEsIG51bGwgLyBudWxsLCAxKSAtIG51bGwgcGFyYW1ldGVyIGlzIGluY29ycmVj
dC4iKTsKQEAgLTQyLDIzICs0MiwyMyBAQAogICAgICAgICAgICAgdGVzdCggZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICAgICAgdmFyIGxvd2VyQmFkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgp
KjMxKSArIDU7CiAgICAgICAgICAgICAgICAgdmFyIHVwcGVyID0gbG93ZXJCYWQgLSAxOwotICAg
ICAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsK
ICAgICAgICAgICAgICAgICAgICAgSURCS2V5UmFuZ2UuYm91bmQobG93ZXJCYWQsIHVwcGVyKTsK
ICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRh
RXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgi
RGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIElEQktleVJhbmdl
LmJvdW5kKCdiJywgJ2EnKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0sICJJ
REJLZXlSYW5nZS5ib3VuZChsb3dlciwgdXBwZXIgLyBsb3dlciA+IHVwcGVyKSAtICAnbG93ZXIn
IGlzIGdyZWF0ZXIgdGhhbiAndXBwZXInLiIKICAgICAgICAgICAgICk7CiAKICAgICAgICAgICAg
IHRlc3QoIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFF
cnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJE
YXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgSURCS2V5UmFuZ2Uu
Ym91bmQoJ2EnLCAxKTsKICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAg
ICAgIElEQktleVJhbmdlLmJvdW5kKG5ldyBEYXRlKCksIDEpOwogICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlv
bigpIHsKICAgICAgICAgICAgICAgICAgICAgSURCS2V5UmFuZ2UuYm91bmQoWzEsIDJdLCAxKTsK
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0sICJJREJLZXlSYW5nZS5ib3VuZChE
T01TdHJpbmcvRGF0ZS9BcnJheSwgMSkgLSBBIERPTVN0cmluZywgRGF0ZSBhbmQgQXJyYXkgYXJl
IGdyZWF0ZXIgdGhhbiBhIGZsb2F0LiIpOwpAQCAtNjcsMTcgKzY3LDE3IEBACiAgICAgICAgICAg
ICAvLyBSZWZlcmVuY2VFcnJvcjogdGhlIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkCiAgICAgICAg
ICAgICB0ZXN0KCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICB2YXIgZ29vZFZhcmlhYmxl
ID0gMTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBSZWZlcmVuY2VFcnJvcigp
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFJlZmVyZW5j
ZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgSURCS2V5UmFuZ2UuYm91
bmQobm9FeGlzdGluZ1ZhcmlhYmxlLCAxKTsKICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzKG5ldyBSZWZlcmVuY2VFcnJvcigpLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFJlZmVyZW5jZUVycm9yLCBmdW5jdGlv
bigpIHsKICAgICAgICAgICAgICAgICAgICAgSURCS2V5UmFuZ2UuYm91bmQoZ29vZFZhcmlhYmxl
LCBub0V4aXN0aW5nVmFyaWFibGUpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAg
fSwgIklEQktleVJhbmdlLmJvdW5kKG5vRXhpc3RpbmdWYXJpYWJsZSwgMSAvIGdvb2RWYXJpYWJs
ZSwgbm9FeGlzdGluZ1ZhcmlhYmxlKSAtIG5vRXhpc3RpbmdWYXJpYWJsZSBpcyBub3QgZGVmaW5l
ZC4iKTsKIAogICAgICAgICAgICAgLy8gVmFsaWQgdHlwZSBrZXkgZXJyb3IKICAgICAgICAgICAg
IHRlc3QoIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFF
cnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJE
YXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgSURCS2V5UmFuZ2Uu
Ym91bmQodHJ1ZSwgMSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9LCAiSURC
S2V5UmFuZ2UuYm91bmQodHJ1ZSwgMSkgLSBib29sZWFuIGlzIG5vdCBhIHZhbGlkIGtleSB0eXBl
LiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtYWRkLXB1dC1leGNlcHRpb24tb3JkZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYm9iamVjdHN0b3JlLWFkZC1wdXQtZXhjZXB0aW9uLW9yZGVyLmh0bWwKaW5kZXggNmM3NmI2
MjIwY2I2MmE3OGE0YWNlM2IwZTU0NDY5YzJkMmJjZDE2ZC4uNzFlYTJhMDdmNGVmYzFjYmM0ZWQ3
NjZmMjM4ODJiMzMxMDUzOTYyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtYWRkLXB1dC1leGNl
cHRpb24tb3JkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1hZGQtcHV0LWV4Y2VwdGlvbi1vcmRl
ci5odG1sCkBAIC0xNyw3ICsxNyw3IEBACiAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZSgnczIn
KTsKIAogICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3MoCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICdJbnZhbGlk
U3RhdGVFcnJvcicsICgpID0+IHsgc3RvcmUyW21ldGhvZF0oJ2tleScsICd2YWx1ZScpOyB9LAog
ICAgICAgICAgICciaGFzIGJlZW4gZGVsZXRlZCIgY2hlY2sgKEludmFsaWRTdGF0ZUVycm9yKSBz
aG91bGQgcHJlY2VkZSAnICsKICAgICAgICAgICAnIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3IpJyk7CkBAIC0zOCw3ICszOCw3IEBACiAgICAgICBjb25zdCBzdG9y
ZSA9IHR4Lm9iamVjdFN0b3JlKCdzJyk7CiAKICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMo
KCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgKICAgICAgICAgICAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywgKCkgPT4geyBzdG9yZVtt
ZXRob2RdKCdrZXknLCAndmFsdWUnKTsgfSwKICAgICAgICAgICAnIm5vdCBhY3RpdmUiIGNoZWNr
IChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpIHNob3VsZCBwcmVjZWRlICcgKwogICAgICAgICAg
ICcicmVhZCBvbmx5IiBjaGVjayAoUmVhZE9ubHlFcnJvciknKTsKQEAgLTU4LDcgKzU4LDcgQEAK
ICAgICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3MnLCAncmVhZG9ubHknKTsKICAgICAg
IGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3MnKTsKIAotICAgICAgYXNzZXJ0X3Rocm93
cygKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAnUmVhZE9ubHlFcnJvcicsICgp
ID0+IHsgc3RvcmVbbWV0aG9kXSh7fSwgJ3ZhbHVlJyk7IH0sCiAgICAgICAgICcicmVhZCBvbmx5
IiBjaGVjayAoUmVhZE9ubHlFcnJvcikgc2hvdWxkIHByZWNlZGUgJyArCiAgICAgICAgICdrZXkv
ZGF0YSBjaGVjayAoRGF0YUVycm9yKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtY2xlYXIt
ZXhjZXB0aW9uLW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1jbGVhci1leGNlcHRpb24tb3JkZXIu
aHRtbAppbmRleCBlMmE3NzA3M2ZjZGVjZjIyZGQ0ZDgyYmU0NWMxZjQ3MGJlMjY1ZmNkLi5iNTY3
OGQ5OGFmZGM1YjBjNzU5NmM4ZDljOTY1NzM0MjRmYmFkNzdkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZS1jbGVhci1leGNlcHRpb24tb3JkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1jbGVhci1l
eGNlcHRpb24tb3JkZXIuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBpbmRleGVkZGJfdGVzdCgKICAg
ICBkYi5kZWxldGVPYmplY3RTdG9yZSgnczInKTsKIAogICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1
bmMoKCkgPT4gewotICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgIGFzc2VydF90aHJvd3NfZG9t
KAogICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiB7IHN0b3JlMi5jbGVhcigpOyB9
LAogICAgICAgICAnImhhcyBiZWVuIGRlbGV0ZWQiIGNoZWNrIChJbnZhbGlkU3RhdGVFcnJvcikg
c2hvdWxkIHByZWNlZGUgJyArCiAgICAgICAgICcibm90IGFjdGl2ZSIgY2hlY2sgKFRyYW5zYWN0
aW9uSW5hY3RpdmVFcnJvciknKTsKQEAgLTM2LDcgKzM2LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAg
ICAgY29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgncycpOwogCiAgICAgc2V0VGltZW91dCh0
LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oCiAgICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiB7IHN0
b3JlLmNsZWFyKCk7IH0sCiAgICAgICAgICcibm90IGFjdGl2ZSIgY2hlY2sgKFRyYW5zYWN0aW9u
SW5hY3RpdmVFcnJvcikgc2hvdWxkIHByZWNlZGUgJyArCiAgICAgICAgICcicmVhZCBvbmx5IiBj
aGVjayAoUmVhZE9ubHlFcnJvciknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLWRlbGV0ZS1l
eGNlcHRpb24tb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLWRlbGV0ZS1leGNlcHRpb24tb3JkZXIu
aHRtbAppbmRleCA5YTM4M2UzOTE0MGJhODgwMjg5OTZkNzlhM2E1NTFiNDI3YmYzNGE2Li42NzFk
ZmE0YjM1ZWFlYzdkNmQxYTEyYTBmZTM2OTJmZWQ3ZmYwYmFlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZS1kZWxldGUtZXhjZXB0aW9uLW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtZGVsZXRl
LWV4Y2VwdGlvbi1vcmRlci5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGluZGV4ZWRkYl90ZXN0KAog
ICAgIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCdzMicpOwogCiAgICAgc2V0VGltZW91dCh0LnN0ZXBf
ZnVuYygoKSA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgYXNzZXJ0X3Rocm93c19k
b20oCiAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsgc3RvcmUyLmRlbGV0ZSgn
a2V5Jyk7IH0sCiAgICAgICAgICciaGFzIGJlZW4gZGVsZXRlZCIgY2hlY2sgKEludmFsaWRTdGF0
ZUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKICAgICAgICAgJyJub3QgYWN0aXZlIiBjaGVjayAo
VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yKScpOwpAQCAtMzYsNyArMzYsNyBAQCBpbmRleGVkZGJf
dGVzdCgKICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzJyk7CiAKICAgICBzZXRU
aW1lb3V0KHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICBh
c3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsICgp
ID0+IHsgc3RvcmUuZGVsZXRlKCdrZXknKTsgfSwKICAgICAgICAgJyJub3QgYWN0aXZlIiBjaGVj
ayAoVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKICAgICAgICAg
JyJyZWFkIG9ubHkiIGNoZWNrIChSZWFkT25seUVycm9yKScpOwpAQCAtNTUsNyArNTUsNyBAQCBp
bmRleGVkZGJfdGVzdCgKICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzJywgJ3JlYWRv
bmx5Jyk7CiAgICAgY29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgncycpOwogCi0gICAgYXNz
ZXJ0X3Rocm93cygKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICdSZWFkT25seUVycm9y
JywgKCkgPT4geyBzdG9yZS5kZWxldGUoe30pOyB9LAogICAgICAgJyJyZWFkIG9ubHkiIGNoZWNr
IChSZWFkT25seUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKICAgICAgICdrZXkvZGF0YSBjaGVj
ayAoRGF0YUVycm9yKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtZGVsZXRlSW5kZXgtZXhj
ZXB0aW9uLW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1kZWxldGVJbmRleC1leGNlcHRpb24tb3Jk
ZXIuaHRtbAppbmRleCA1YjA2OWM2NDc0YmZhYWI4MTcwMDQ3NWUwMzg0NTU0YmQ4ZmIzZjcxLi4z
ODllN2EzMjM5M2IxMjZmYjljODlmOTlhMDkyZGYzY2IwM2IzYWZiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZS1kZWxldGVJbmRleC1leGNlcHRpb24tb3JkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9y
ZS1kZWxldGVJbmRleC1leGNlcHRpb24tb3JkZXIuaHRtbApAQCAtMTcsNyArMTcsNyBAQCBpbmRl
eGVkZGJfdGVzdCgKICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzJyk7CiAKICAg
ICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgIGFzc2VydF90aHJvd3MoCisg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkg
PT4geyBzdG9yZS5kZWxldGVJbmRleCgnaScpOyB9LAogICAgICAgICAnInJ1bm5pbmcgYW4gdXBn
cmFkZSB0cmFuc2FjdGlvbiIgY2hlY2sgKEludmFsaWRTdGF0ZUVycm9yKSAnICsKICAgICAgICAg
J3Nob3VsZCBwcmVjZWRlICJub3QgYWN0aXZlIiBjaGVjayAoVHJhbnNhY3Rpb25JbmFjdGl2ZUVy
cm9yKScpOwpAQCAtMzYsNyArMzYsNyBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBkYi5kZWxldGVP
YmplY3RTdG9yZSgncycpOwogCiAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYygoKSA9PiB7Ci0g
ICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICdJ
bnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsgc3RvcmUuZGVsZXRlSW5kZXgoJ2knKTsgfSwKICAg
ICAgICAgJyJkZWxldGVkIiBjaGVjayAoSW52YWxpZFN0YXRlRXJyb3IpICcgKwogICAgICAgICAn
c2hvdWxkIHByZWNlZGUgIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJy
b3IpJyk7CkBAIC01Myw3ICs1Myw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgIGNvbnN0IHN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3MnKTsKIAogICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1
bmMoKCkgPT4gewotICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgIGFzc2VydF90aHJvd3NfZG9t
KAogICAgICAgICAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywgKCkgPT4geyBzdG9yZS5kZWxl
dGVJbmRleCgnbm9wZScpOyB9LAogICAgICAgICAnIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3IpIHNob3VsZCBwcmVjZWRlICcgKwogICAgICAgICAnIm5hbWUgaW4g
c3RvcmUiIGNoZWNrIChOb3RGb3VuZEVycm9yKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUt
Z2V0QWxsLWVuZm9yY2VyYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtZ2V0QWxsLWVuZm9yY2VyYW5n
ZS5odG1sCmluZGV4IDE0ZThiMjdlOTAxM2EyYWZiNTg1MThhMjIxZDVlNGU0YjhhODI3NzEuLjBj
NGViODk5MDVkYzAwMWE2ZTYyOTNmNDNkYTFjNjQ2ZTVlYTBlZDAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlLWdldEFsbC1lbmZvcmNlcmFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1nZXRBbGwt
ZW5mb3JjZXJhbmdlLmh0bWwKQEAgLTE1LDggKzE1LDggQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAg
Y29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKTsKICAgICBjb25zdCBzdG9yZSA9IHR4
Lm9iamVjdFN0b3JlKCdzdG9yZScpOwogICAgIFtOYU4sIEluZmluaXR5LCAtSW5maW5pdHksIC0x
LCAtTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJdLmZvckVhY2goY291bnQgPT4gewotICAgICAgYXNz
ZXJ0X3Rocm93cyhUeXBlRXJyb3IoKSwgKCkgPT4geyBzdG9yZS5nZXRBbGwobnVsbCwgY291bnQp
OyB9LAotICAgICAgICAgICAgICAgICAgICBgZ2V0QWxsIHdpdGggY291bnQgJHtjb3VudH0gY291
bnQgc2hvdWxkIHRocm93IFR5cGVFcnJvcmApOworICAgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBl
RXJyb3IsICgpID0+IHsgc3RvcmUuZ2V0QWxsKG51bGwsIGNvdW50KTsgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgYGdldEFsbCB3aXRoIGNvdW50ICR7Y291bnR9IGNvdW50IHNob3VsZCB0aHJv
dyBUeXBlRXJyb3JgKTsKICAgICB9KTsKICAgICB0LmRvbmUoKTsKICAgfSwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Ym9iamVjdHN0b3JlLWdldEFsbEtleXMtZW5mb3JjZXJhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1n
ZXRBbGxLZXlzLWVuZm9yY2VyYW5nZS5odG1sCmluZGV4IDE1YjQ1YWM5N2QyYmE1ZTAwNDAyNGFm
NzQ5NGVhZjJlOTAzN2JiOTUuLjIzZmU1OTY2OTEyZThmZjk1NWE4MmExNjEyYTIxOTMwMWFkMzFj
YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLWdldEFsbEtleXMtZW5mb3JjZXJhbmdlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRib2JqZWN0c3RvcmUtZ2V0QWxsS2V5cy1lbmZvcmNlcmFuZ2UuaHRtbApAQCAtMTUsOCAr
MTUsOCBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZScpOwogICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CiAgICAg
W05hTiwgSW5maW5pdHksIC1JbmZpbml0eSwgLTEsIC1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUl0u
Zm9yRWFjaChjb3VudCA9PiB7Ci0gICAgICBhc3NlcnRfdGhyb3dzKFR5cGVFcnJvcigpLCAoKSA9
PiB7IHN0b3JlLmdldEFsbEtleXMobnVsbCwgY291bnQpOyB9LAotICAgICAgICAgICAgICAgICAg
ICBgZ2V0QWxsS2V5cyB3aXRoIGNvdW50ICR7Y291bnR9IGNvdW50IHNob3VsZCB0aHJvdyBUeXBl
RXJyb3JgKTsKKyAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7IHN0b3Jl
LmdldEFsbEtleXMobnVsbCwgY291bnQpOyB9LAorICAgICAgICAgICAgICAgICAgICAgICBgZ2V0
QWxsS2V5cyB3aXRoIGNvdW50ICR7Y291bnR9IGNvdW50IHNob3VsZCB0aHJvdyBUeXBlRXJyb3Jg
KTsKICAgICB9KTsKICAgICB0LmRvbmUoKTsKICAgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3Jl
LWluZGV4LWZpbmlzaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1pbmRleC1maW5pc2hlZC5odG1sCmlu
ZGV4IDc1Njc3Y2YzOWRjMzM3MzZlODQ4ZDkzNjljOGY2YTFjYjMzMDU1YjkuLjY3YjA5NDVjYzk4
MjcxMTE1M2Y2ZDA2MmRiMDVjZDU3MTBmNDA1NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLWlu
ZGV4LWZpbmlzaGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtaW5kZXgtZmluaXNoZWQuaHRtbApA
QCAtMTYsOCArMTYsOCBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBjb25zdCB0eCA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZScpOwogICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3N0b3Jl
Jyk7CiAgICAgdHguYWJvcnQoKTsKLSAgICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJv
cicsICgpID0+IHN0b3JlLmluZGV4KCdpbmRleCcpLAotICAgICAgICAgICAgICAgICAgJ2luZGV4
KCkgc2hvdWxkIHRocm93IGlmIHRyYW5zYWN0aW9uIGlzIGZpbmlzaGVkJyk7CisgICAgYXNzZXJ0
X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gc3RvcmUuaW5kZXgoJ2luZGV4
JyksCisgICAgICAgICAgICAgICAgICAgICAgJ2luZGV4KCkgc2hvdWxkIHRocm93IGlmIHRyYW5z
YWN0aW9uIGlzIGZpbmlzaGVkJyk7CiAgICAgdC5kb25lKCk7CiAgIH0sCiAgICdJREJPYmplY3RT
dG9yZSBpbmRleCgpIGJlaGF2aW9yIHdoZW4gdHJhbnNhY3Rpb24gaXMgZmluaXNoZWQnCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJvYmplY3RzdG9yZS1xdWVyeS1leGNlcHRpb24tb3JkZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlLXF1ZXJ5LWV4Y2VwdGlvbi1vcmRlci5odG1sCmluZGV4IGI0ZDEzNGZlYTg1MTUxZjMwY2Ni
ZGZiOTE0Y2RiMjQyN2EyNTg1MzIuLjI0ZDEwNTU1Yjc1ZDkzMzJjNTI5MDg5Mjg2MjVmN2MzZDRi
NWM3MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLXF1ZXJ5LWV4Y2VwdGlvbi1vcmRlci5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYm9iamVjdHN0b3JlLXF1ZXJ5LWV4Y2VwdGlvbi1vcmRlci5odG1sCkBAIC0yOCw3ICsy
OCw3IEBACiAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZSgnczInKTsKIAogICAgICAgc2V0VGlt
ZW91dCh0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAg
IGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+
IHsgc3RvcmUyW21ldGhvZF0oJ2tleScpOyB9LAogICAgICAgICAgICciaGFzIGJlZW4gZGVsZXRl
ZCIgY2hlY2sgKEludmFsaWRTdGF0ZUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKICAgICAgICAg
ICAnIm5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpJyk7CkBAIC01
MCw3ICs1MCw3IEBACiAgICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzJyk7CiAK
ICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhy
b3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAnVHJhbnNhY3Rpb25J
bmFjdGl2ZUVycm9yJywgKCkgPT4geyBzdG9yZVttZXRob2RdKHt9KTsgfSwKICAgICAgICAgICAn
Im5vdCBhY3RpdmUiIGNoZWNrIChUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IpIHNob3VsZCBwcmVj
ZWRlICcgKwogICAgICAgICAgICdxdWVyeSBjaGVjayAoRGF0YUVycm9yKScpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRib2JqZWN0c3RvcmUtcmVuYW1lLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtcmVuYW1lLWVy
cm9ycy5odG1sCmluZGV4IDljNzkxZjlkOWIyYjQxZDM5ZTlhNzEyN2RmMGMxNWVjYmM1ZjlkMjIu
LjNhOTA5NTVhZTc2MmQzODkwMzU4NWI4MGU0ZGIyNzEwYWJiYzYzNmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9i
amVjdHN0b3JlLXJlbmFtZS1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1yZW5hbWUtZXJy
b3JzLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAg
ICB9KS50aGVuKCgpID0+IG1pZ3JhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgMiwgKGRhdGFiYXNlLCB0
cmFuc2FjdGlvbikgPT4gewogICAgICAgICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdib29rcycpOwogICAgICAgICBkYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgnYm9v
a3MnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBz
dG9yZS5uYW1lID0gJ3JlbmFtZWRfYm9va3MnKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
J0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gc3RvcmUubmFtZSA9ICdyZW5hbWVkX2Jvb2tzJyk7
CiAgICAgfSkpLnRoZW4oZGF0YWJhc2UgPT4gewogICAgICAgICBkYXRhYmFzZS5jbG9zZSgpOwog
ICAgIH0pOwpAQCAtMzAsNyArMzAsNyBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAg
IH0pLnRoZW4oZGF0YWJhc2UgPT4gewogICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFi
YXNlLnRyYW5zYWN0aW9uKCdib29rcycsICdyZWFkb25seScpOwogICAgICAgICBjb25zdCBzdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdib29rcycpOwotICAgICAgICBhc3NlcnRfdGhy
b3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHN0b3JlLm5hbWUgPSAncmVuYW1lZF9ib29r
cycpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9
PiBzdG9yZS5uYW1lID0gJ3JlbmFtZWRfYm9va3MnKTsKICAgICAgICAgZGF0YWJhc2UuY2xvc2Uo
KTsKICAgICB9KTsKIH0sICdJbmRleGVkREIgb2JqZWN0IHN0b3JlIHJlbmFtZSB0aHJvd3MgaW4g
YSByZWFkb25seSB0cmFuc2FjdGlvbicpOwpAQCAtNDIsNyArNDIsNyBAQCBwcm9taXNlX3Rlc3Qo
dGVzdENhc2UgPT4gewogICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5z
YWN0aW9uKCdib29rcycsICdyZWFkd3JpdGUnKTsKICAgICAgICAgY29uc3Qgc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnYm9va3MnKTsKIAotICAgICAgICBhc3NlcnRfdGhyb3dzKCdJ
bnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHN0b3JlLm5hbWUgPSAncmVuYW1lZF9ib29rcycpOwor
ICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBzdG9y
ZS5uYW1lID0gJ3JlbmFtZWRfYm9va3MnKTsKICAgICAgICAgZGF0YWJhc2UuY2xvc2UoKTsKICAg
ICB9KTsKIH0sICdJbmRleGVkREIgb2JqZWN0IHN0b3JlIHJlbmFtZSB0aHJvd3MgaW4gYSByZWFk
d3JpdGUgdHJhbnNhY3Rpb24nKTsKQEAgLTUyLDcgKzUyLDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RD
YXNlID0+IHsKICAgICByZXR1cm4gY3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIChkYXRhYmFzZSwg
dHJhbnNhY3Rpb24pID0+IHsKICAgICAgICAgYm9va1N0b3JlID0gY3JlYXRlQm9va3NTdG9yZSh0
ZXN0Q2FzZSwgZGF0YWJhc2UpOwogICAgIH0pLnRoZW4oZGF0YWJhc2UgPT4gewotICAgICAgICBh
c3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLAorICAgICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywKICAgICAgICAgICAgICgpID0+
IHsgYm9va1N0b3JlLm5hbWUgPSAncmVuYW1lZF9ib29rcyc7IH0pOwogICAgICAgICBkYXRhYmFz
ZS5jbG9zZSgpOwogICAgIH0pOwpAQCAtNjYsNyArNjYsNyBAQCBwcm9taXNlX3Rlc3QodGVzdENh
c2UgPT4gewogICAgICAgICBkYXRhYmFzZS5jbG9zZSgpOwogICAgIH0pLnRoZW4oKCkgPT4gbWln
cmF0ZURhdGFiYXNlKHRlc3RDYXNlLCAyLCAoZGF0YWJhc2UsIHRyYW5zYWN0aW9uKSA9PiB7CiAg
ICAgICAgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ2Jvb2tzJyk7Ci0g
ICAgICAgIGFzc2VydF90aHJvd3MoJ0NvbnN0cmFpbnRFcnJvcicsICgpID0+IHN0b3JlLm5hbWUg
PSAnbm90X2Jvb2tzJyk7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdDb25zdHJhaW50RXJy
b3InLCAoKSA9PiBzdG9yZS5uYW1lID0gJ25vdF9ib29rcycpOwogICAgICAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKAogICAgICAgICAgICAgZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcywgWydib29r
cycsICdub3RfYm9va3MnXSwKICAgICAgICAgICAgICdBIHN0b3JlIHJlbmFtZSB0aGF0IHRocm93
cyBhbiBleGNlcHRpb24gc2hvdWxkIG5vdCBjaGFuZ2UgdGhlICcgKwpAQCAtOTIsMTEgKzkyLDEy
IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgIGRhdGFiYXNlLmNsb3NlKCk7
CiAgICAgfSkudGhlbigoKSA9PiBtaWdyYXRlRGF0YWJhc2UodGVzdENhc2UsIDIsIChkYXRhYmFz
ZSwgdHJhbnNhY3Rpb24pID0+IHsKICAgICAgICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnYm9va3MnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKLSAgICAgICAgICAg
IHsgbmFtZTogJ0N1c3RvbSBzdHJpbmdpZnlpbmcgZXJyb3InIH0sCisgICAgICAgIHZhciBleGNl
cHRpb24gPSB7IG5hbWU6ICdDdXN0b20gc3RyaW5naWZ5aW5nIGVycm9yJyB9CisgICAgICAgIGFz
c2VydF90aHJvd3NfZXhhY3RseSgKKyAgICAgICAgICAgIGV4Y2VwdGlvbiwKICAgICAgICAgICAg
ICgpID0+IHsKICAgICAgICAgICAgICAgc3RvcmUubmFtZSA9IHsKLSAgICAgICAgICAgICAgICB0
b1N0cmluZzogKCkgPT4geyB0aHJvdyB7IG5hbWU6ICdDdXN0b20gc3RyaW5naWZ5aW5nIGVycm9y
J307IH0KKyAgICAgICAgICAgICAgICB0b1N0cmluZzogKCkgPT4geyB0aHJvdyBleGNlcHRpb247
IH0KICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgIH0sICdJREJPYmplY3RTdG9yZSByZW5h
bWUgc2hvdWxkIHJlLXJhaXNlIHRvU3RyaW5nKCkgZXhjZXB0aW9uJyk7CiAgICAgICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1yZW5hbWUtc3RvcmUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYm9iamVjdHN0b3JlLXJlbmFtZS1zdG9yZS5odG1sCmluZGV4IGQyMWNiOTIxNDgzMjhmMDcx
YjIwOWZmMWQxNTI2ZDlhODRlOGRmZDUuLjc1NTZlYzE5MmU4MWJhMDlhZWZmNzUyMWZmZmYzZTEy
YTkwYTcyNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLXJlbmFtZS1zdG9yZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Ym9iamVjdHN0b3JlLXJlbmFtZS1zdG9yZS5odG1sCkBAIC01Nyw3ICs1Nyw3IEBAIHByb21pc2Vf
dGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAnSURCVHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUgc2hvdWxkIHJldHVybiB0aGUgcmVuYW1lZCBvYmplY3QgJyArCiAgICAgICAgICAgICAnc3Rv
cmUgd2hlbiBxdWVyaWVkIHVzaW5nIHRoZSBuZXcgbmFtZSBpbW1lZGlhdGVseSBhZnRlciB0aGUg
JyArCiAgICAgICAgICAgICAncmVuYW1lJyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAg
ICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICAgJ05vdEZvdW5kRXJyb3InLCAoKSA9
PiB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnYm9va3MnKSwKICAgICAgICAgICAgICdJREJUcmFu
c2FjdGlvbi5vYmplY3RTdG9yZSBzaG91bGQgdGhyb3cgd2hlbiBxdWVyaWVkIHVzaW5nIHRoZSAn
ICsKICAgICAgICAgICAgICJyZW5hbWVkIG9iamVjdCBzdG9yZSdzIG9sZCBuYW1lIGltbWVkaWF0
ZWx5IGFmdGVyIHRoZSByZW5hbWUiKTsKQEAgLTExNCw3ICsxMTQsNyBAQCBwcm9taXNlX3Rlc3Qo
dGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ0lEQlRyYW5zYWN0aW9uLm9iamVjdFN0b3JlIHNo
b3VsZCByZXR1cm4gdGhlIHJlbmFtZWQgb2JqZWN0ICcgKwogICAgICAgICAgICAgJ3N0b3JlIHdo
ZW4gcXVlcmllZCB1c2luZyB0aGUgbmV3IG5hbWUgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlICcgKwog
ICAgICAgICAgICAgJ3JlbmFtZScpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBh
c3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdOb3RGb3VuZEVycm9yJywgKCkgPT4gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ2Jvb2tzJyksCiAgICAgICAgICAgICAnSURCVHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUgc2hvdWxkIHRocm93IHdoZW4gcXVlcmllZCB1c2luZyB0aGUgJyArCiAg
ICAgICAgICAgICAicmVuYW1lZCBvYmplY3Qgc3RvcmUncyBvbGQgbmFtZSBpbW1lZGlhdGVseSBh
ZnRlciB0aGUgcmVuYW1lIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9hZGQxMC5odG0gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9hZGQxMC5odG0KaW5kZXggZjJiZjQ0NzUwMGRhMjk5YjkxYzllYmJlNWExMTg3
OThjZTlkODU5My4uNTk1OTRmODI4ODc2YTAyZDYxZjMyYjlmN2IyNjMwNWJmYTY2ODdmZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRib2JqZWN0c3RvcmVfYWRkMTAuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2FkZDEwLmh0
bQpAQCAtMTgsNyArMTgsNyBAQAogICAgICAgICB2YXIgcnEsCiAgICAgICAgICAgb2JqU3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgic3RvcmUiKTsKIAotICAgICAgICBhc3NlcnRfdGhyb3dz
KCJEYXRhRXJyb3IiLAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwKICAg
ICAgICAgICAgIGZ1bmN0aW9uKCkgeyBycSA9IG9ialN0b3JlLmFkZChyZWNvcmQpOyB9KTsKIAog
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJxLCB1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfYWRkMTEuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfYWRkMTEuaHRtCmluZGV4IDk5ZmYxNGMzMWIz
OTFmMTM0OTVhOGI0NTNmMjU0NjM3MTIzNTAwOTMuLmJhMjQ1MGZiMjUwODMwMmJmZmE3NWU4MzQ0
YzI2M2MxNDNmNTg0YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2FkZDExLmh0bQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9hZGQxMS5odG0KQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgdmFyIHJxLAog
ICAgICAgICAgIG9ialN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3JlIiwgeyBrZXlQ
YXRoOiAia2V5IiB9KTsKIAotICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLAorICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwKICAgICAgICAgICAgIGZ1bmN0aW9u
KCkgeyBycSA9IG9ialN0b3JlLmFkZChyZWNvcmQpOyB9KTsKIAogICAgICAgICBhc3NlcnRfZXF1
YWxzKHJxLCB1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfYWRkMTIuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
b2JqZWN0c3RvcmVfYWRkMTIuaHRtCmluZGV4IGQ2NzlhZjA4YjQxZmM5MjgxNGUzNDFlNDNlMDZj
MmViMDc4ZjVhMmIuLjZmZmE5ZGI3OWEwNjk1ZDVhYTIyYjUxNzgxZmNkMjMwMzQwMThhMTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYm9iamVjdHN0b3JlX2FkZDEyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9hZGQxMi5o
dG0KQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgdmFyIHJxLAogICAgICAgICAgIG9ialN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3JlIiwgeyBrZXlQYXRoOiAia2V5IiB9KTsKIAot
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLAorICAgICAgICBhc3NlcnRfdGhyb3dz
X2RvbSgiRGF0YUVycm9yIiwKICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBycSA9IG9ialN0b3Jl
LmFkZChyZWNvcmQpOyB9KTsKIAogICAgICAgICBhc3NlcnRfZXF1YWxzKHJxLCB1bmRlZmluZWQp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfYWRkMTMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfYWRkMTMu
aHRtCmluZGV4IDk0M2E2Y2Y5YmFmZTYxMDIzZjNjMjU1YTBiNTNmMjgxYjg5OGJmNjQuLmZiNGZj
MmRiYWI2YTM1YzljMThkZWVkNjQwM2EwMTZlY2NjMjRkNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2FkZDEzLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9hZGQxMy5odG0KQEAgLTE4LDcgKzE4LDcg
QEAKICAgICAgICAgdmFyIHJxLAogICAgICAgICAgIG9ialN0b3JlID0gZGIuY3JlYXRlT2JqZWN0
U3RvcmUoInN0b3JlIik7CiAKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwKKyAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsCiAgICAgICAgICAgICBmdW5jdGlv
bigpIHsgcnEgPSBvYmpTdG9yZS5hZGQocmVjb3JkLCB7IHZhbHVlOiAxIH0pOyB9KTsKIAogICAg
ICAgICBhc3NlcnRfZXF1YWxzKHJxLCB1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmVfYWRkMTUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfYWRkMTUuaHRtCmluZGV4IDI2OGVkNzJlOTM1ZGM4
MDgxOGU4NWY3NzU2Nzg1YWM0Y2E1YjAwMWMuLmZmNzQ4Mzg5MjQ0NGUzYmQyMGZiNjkyNDkxNThi
YWE5MmQ1MDY0YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2FkZDE1Lmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZV9hZGQxNS5odG0KQEAgLTIxLDcgKzIxLDcgQEAKICAgICAgICAgdmFyIHR4biA9IGRi
LnRyYW5zYWN0aW9uKCJzdG9yZSIpOwogICAgICAgICB2YXIgb3N0b3JlID0gdHhuLm9iamVjdFN0
b3JlKCJzdG9yZSIpOwogICAgICAgICB0LnN0ZXAoZnVuY3Rpb24oKXsKLSAgICAgICAgICAgIGFz
c2VydF90aHJvd3MoIlJlYWRPbmx5RXJyb3IiLCBmdW5jdGlvbigpeworICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oIlJlYWRPbmx5RXJyb3IiLCBmdW5jdGlvbigpewogICAgICAgICAgICAg
ICAgIG9zdG9yZS5hZGQoeyBwS2V5OiAicHJpbWFyeUtleV8wIn0pOwogICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfYWRkMTYuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfYWRkMTYuaHRtCmluZGV4IDM5MWI5NDQ1ODAyMDIzZWY3YjQyYjk0YzAxZWYzZmY3M2My
NDY3NjIuLmYyMGQ3OTYyNzA1ZWNjN2ZhMDE2MmRkNzQzZjdkNTEzZTY0N2ZkZGYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYm9iamVjdHN0b3JlX2FkZDE2Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9hZGQxNi5odG0KQEAg
LTE3LDcgKzE3LDcgQEAKICAgICAgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwogICAgICAg
ICBvc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgic3RvcmUiLCB7a2V5UGF0aDoicEtleSJ9
KTsKICAgICAgICAgZGIuZGVsZXRlT2JqZWN0U3RvcmUoInN0b3JlIik7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsKICAgICAgICAgICAg
IG9zdG9yZS5hZGQoeyBwS2V5OiAicHJpbWFyeUtleV8wIn0pOwogICAgICAgICB9KTsKICAgICAg
ICAgdC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9hZGQ5Lmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2FkZDkuaHRtCmluZGV4IDZlMDI3YTExZGM0YmIzYTc3YmI3MGIzOGRmNmViM2FjYzVmNzIy
NWEuLjViYWJmMzY4Y2JjMjNkYjdhMWIxOGE1ZWM1YzdlZTFhZDRiZmUwYWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Ym9iamVjdHN0b3JlX2FkZDkuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2FkZDkuaHRtCkBAIC0xNiw3
ICsxNiw3IEBACiAgICAgICAgICAgZGIgPSBlLnRhcmdldC5yZXN1bHQsCiAgICAgICAgICAgb2Jq
U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgic3RvcmUiLCB7IGtleVBhdGg6ICJrZXkiIH0p
OwogCi0gICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsCisgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCJEYXRhRXJyb3IiLAogICAgICAgICAgICAgZnVuY3Rpb24oKSB7IHJxID0gb2Jq
U3RvcmUuYWRkKHJlY29yZCwgMSk7IH0pOwogCiAgICAgICAgIGFzc2VydF9lcXVhbHMocnEsIHVu
ZGVmaW5lZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jbGVhcjMuaHRtIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmVfY2xlYXIzLmh0bQppbmRleCBmYzBmYTRkOGRmZmUwNTdiZTgxYTVkOGMxZTRhMTBlYmJlNzQ2
MDQ0Li40MWU2NTY2YjZjMjYyNWQ2YmYzZmJhOTk2MTI1MGVmNDU2MzdkODgxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJvYmplY3RzdG9yZV9jbGVhcjMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NsZWFyMy5odG0KQEAg
LTI2LDcgKzI2LDcgQEAKICAgICAgICAgdmFyIHR4biA9IGRiLnRyYW5zYWN0aW9uKCJzdG9yZSIp
OwogICAgICAgICB2YXIgb3N0b3JlID0gdHhuLm9iamVjdFN0b3JlKCJzdG9yZSIpOwogICAgICAg
ICB0LnN0ZXAoZnVuY3Rpb24oKXsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIlJlYWRPbmx5
RXJyb3IiLCBmdW5jdGlvbigpeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlJlYWRP
bmx5RXJyb3IiLCBmdW5jdGlvbigpewogICAgICAgICAgICAgICAgIG9zdG9yZS5jbGVhcigpOwog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY2xl
YXI0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYm9iamVjdHN0b3JlX2NsZWFyNC5odG0KaW5kZXggNGUwOGY2NzM4NzE5MjQ1YzQx
MjY5OGQ1Yjc1YjdkODY2NDlkZDVkOS4uOTgxMmMzZDMzYjFhNTdhYTRjYjlkODQ0YzEzMDNmYjU5
Y2M4ZDM4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY2xlYXI0Lmh0bQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9jbGVhcjQuaHRtCkBAIC0xNyw3ICsxNyw3IEBACiAgICAgICAgIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKICAgICAgICAgb3N0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3Jl
Iiwge2tleVBhdGg6InBLZXkifSk7CiAgICAgICAgIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCJzdG9y
ZSIpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0
aW9uKCl7CiAgICAgICAgICAgICBvc3RvcmUuY2xlYXIoKTsKICAgICAgICAgfSk7CiAgICAgICAg
IHQuZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQ0Lmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2NvdW50NC5odG0KaW5kZXggNTBkZDZmZTU0ODlmZmJlZmNhZGI5YWEyZjQwOWVkNTc4Y2I4
NjUwOS4uOGM5MTcwZTdlM2JjNWM3N2MzYjJkNzBiZGEwZjg1YmZkZTE4MzAzNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRib2JqZWN0c3RvcmVfY291bnQ0Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jb3VudDQuaHRtCkBA
IC0xNyw3ICsxNyw3IEBACiAgICAgICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICAg
ICAgb3N0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3JlIiwge2tleVBhdGg6InBLZXki
fSk7CiAgICAgICAgIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCJzdG9yZSIpOwotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAg
ICBvc3RvcmUuY291bnQoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHQuZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxMC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJ
bmRleDEwLmh0bQppbmRleCA3NTcyOTYyNTNkNDkwNDQ5NDQ5YzVkZWM5NzJlOWYwNmYwZDA2MjFh
Li5iYjkxYjdjMTdiYzMwMDM5MGY1NDkxYzA2YzA5MjVjNTNhM2RhNzAzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9jcmVhdGVJbmRleDEwLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRl
eDEwLmh0bQpAQCAtMTUsNyArMTUsNyBAQCBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0
aW9uIChlKSB7CiAgICAgdmFyIGRiID0gZS50YXJnZXQucmVzdWx0OwogICAgIHZhciBvc3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgic3RvcmUiKTsKICAgICBvc3RvcmUuY3JlYXRlSW5kZXgo
ImEiLCAiYSIpOwotICAgIGFzc2VydF90aHJvd3MoIkNvbnN0cmFpbnRFcnJvciIsIGZ1bmN0aW9u
KCl7CisgICAgYXNzZXJ0X3Rocm93c19kb20oIkNvbnN0cmFpbnRFcnJvciIsIGZ1bmN0aW9uKCl7
CiAgICAgICAgIG9zdG9yZS5jcmVhdGVJbmRleCgiYSIsICJhIik7CiAgICAgfSk7CiAgICAgdC5k
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDExLmh0bSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2NyZWF0ZUluZGV4MTEuaHRtCmluZGV4IDdkYTExNjllNGMyZmFiMjdmODA2YzM1M2Fk
OGRkNTA2NDJlMzMyNzIuLjQ3ZjA2YzNlMWU0YTNkOTkwMGZiMjQzZGM2NWIxYTFlNmQyMjkwOTIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4MTEuaHRtCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2NyZWF0ZUluZGV4MTEuaHRtCkBAIC0xNCw3ICsxNCw3IEBAIHZhciB0ID0gYXN5bmNfdGVz
dCgpLAogb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoZSkgewogICAgIHZhciBk
YiA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICB2YXIgb3N0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoInN0b3JlIik7Ci0gICAgYXNzZXJ0X3Rocm93cygiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigp
eworICAgIGFzc2VydF90aHJvd3NfZG9tKCJTeW50YXhFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAg
ICAgIG9zdG9yZS5jcmVhdGVJbmRleCgiYWIiLCAiLiIpOwogICAgIH0pOwogICAgIHQuZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxMi5odG0gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9y
ZV9jcmVhdGVJbmRleDEyLmh0bQppbmRleCAxODI5NmI0YWRiZWE5ZWY1Y2YxMTI4ZTQ4YjdlOGY5
ZmVjMDUzMWM3Li42ODIxNGU1NGU5NDFjNzhmNmM5NTFlYjA1YmZmYTk5YmI4N2E5N2IxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDEyLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9j
cmVhdGVJbmRleDEyLmh0bQpAQCAtMjEsNyArMjEsNyBAQAogCiAgICAgb3Blbl9ycS5vbnN1Y2Nl
c3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgdC5zdGVwKGZ1bmN0aW9uKCl7Ci0gICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlv
bigpewogICAgICAgICAgICAgICAgIG9zdG9yZS5jcmVhdGVJbmRleCgiaW5kZXgiLCAiaW5kZXhl
ZFByb3BlcnR5Iik7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9jcmVhdGVJbmRleDEzLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4MTMu
aHRtCmluZGV4IGFjMzJkZjY2MjkwODdkYTlkY2Y2NTFhOGM0ZDNlM2IxYjQwZTdhODIuLjgzOWFi
ZGIwMDllOWJmMWJjMzY4Y2EwOTQzNTU2Njc2YjczZTBiNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2NyZWF0ZUluZGV4MTMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4MTMuaHRt
CkBAIC0yMSw3ICsyMSw3IEBACiAgICAgICAgIHZhciB0eG4gPSBkYi50cmFuc2FjdGlvbigic3Rv
cmUiLCAicmVhZHdyaXRlIik7CiAgICAgICAgIHZhciBvc3RvcmUgPSB0eG4ub2JqZWN0U3RvcmUo
InN0b3JlIik7CiAgICAgICAgIHQuc3RlcChmdW5jdGlvbigpewotICAgICAgICAgICAgYXNzZXJ0
X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpeworICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKXsKICAgICAgICAg
ICAgICAgICBvc3RvcmUuY3JlYXRlSW5kZXgoImluZGV4IiwgImluZGV4ZWRQcm9wZXJ0eSIpOwog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3Jl
YXRlSW5kZXgxNC1leGNlcHRpb25fb3JkZXIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgx
NC1leGNlcHRpb25fb3JkZXIuaHRtCmluZGV4IGEwZWMyODhjYjM4MDhkN2UzMmUzMTAwYmI5YzUz
N2QzMDg5NWJiZDUuLmMwZTZjNmY4Mzg3NDNjYThjYWZiZDJkYjRjYmU3MDhlNmNiZGJhMTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4MTQtZXhjZXB0aW9uX29yZGVyLmh0bQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDE0LWV4Y2VwdGlvbl9vcmRlci5odG0KQEAgLTE1
LDcgKzE1LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgICAgIHZhciB0eG4gPSBkYi50cmFuc2Fj
dGlvbigicyIpOwogICAgICAgICB2YXIgc3RvcmUgPSB0eG4ub2JqZWN0U3RvcmUoInMiKTsKICAg
ICAgICAgdHhuLm9uY29tcGxldGUgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFzc2VydF90
aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgICAgICBzdG9yZS5jcmVhdGVJbmRleCgiaW5kZXgiLCAiZm9vIik7CiAgICAgICAgICAgICB9
LCAiTW9kZSBjaGVjayBzaG91bGQgcHJlY2VkZSBzdGF0ZSBjaGVjayBvZiB0aGUgdHJhbnNhY3Rp
b24iKTsKICAgICAgICAgICAgIHQuZG9uZSgpOwpAQCAtMzAsNyArMzAsNyBAQCBpbmRleGVkZGJf
dGVzdCgKICAgICAgICAgZ0RlbGV0ZWRPYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCJzIik7CiAgICAgICAgIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCJzIik7CiAgICAgICAgIHR4bi5v
bmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJJbnZh
bGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgZ0Rl
bGV0ZWRPYmplY3RTdG9yZS5jcmVhdGVJbmRleCgiaW5kZXgiLCAiZm9vIik7CiAgICAgICAgICAg
ICB9LCAiRGVsZXRpb24gY2hlY2sgc2hvdWxkIHByZWNlZGUgdHJhbnNhY3Rpb24tc3RhdGUgY2hl
Y2siKTsKICAgICAgICAgICAgIHQuZG9uZSgpOwpAQCAtNDUsNyArNDUsNyBAQCBpbmRleGVkZGJf
dGVzdCgKICAgICAgICAgdmFyIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInMiKTsKICAg
ICAgICAgc3RvcmUuY3JlYXRlSW5kZXgoImluZGV4IiwgImZvbyIpOwogICAgICAgICB0eG4ub25j
b21wbGV0ZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiVHJhbnNh
Y3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhy
b3dzX2RvbSgiVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICAgICAgc3RvcmUuY3JlYXRlSW5kZXgoImluZGV4IiwgImZvbyIpOwogICAgICAgICAgICAg
fSwgIlRyYW5zYWN0aW9uLXN0YXRlIGNoZWNrIHNob3VsZCBwcmVjZWRlIGluZGV4IG5hbWUgY2hl
Y2siKTsKICAgICAgICAgICAgIHQuZG9uZSgpOwpAQCAtNTksMTAgKzU5LDEwIEBAIGluZGV4ZWRk
Yl90ZXN0KAogICAgIGZ1bmN0aW9uKHQsIGRiKSB7CiAgICAgICAgIHZhciBzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCJzIik7CiAgICAgICAgIHN0b3JlLmNyZWF0ZUluZGV4KCJpbmRleCIs
ICJmb28iKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiQ29uc3RyYWludEVycm9yIiwgZnVuY3Rp
b24oKSB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJDb25zdHJhaW50RXJyb3IiLCBmdW5j
dGlvbigpIHsKICAgICAgICAgICAgIHN0b3JlLmNyZWF0ZUluZGV4KCJpbmRleCIsICJpbnZhbGlk
IGtleSBwYXRoIik7CiAgICAgICAgIH0sICJJbmRleCBuYW1lIGNoZWNrIHNob3VsZCBwcmVjZWRl
IHN5bnRheCBjaGVjayBvZiB0aGUga2V5IHBhdGgiKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygi
Q29uc3RyYWludEVycm9yIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCJDb25zdHJhaW50RXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIHN0b3JlLmNyZWF0
ZUluZGV4KCJpbmRleCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImludmFsaWQg
a2V5IHBhdGggMSIsICJpbnZhbGlkIGtleSBwYXRoIDIiXSk7CiAgICAgICAgIH0sICJJbmRleCBu
YW1lIGNoZWNrIHNob3VsZCBwcmVjZWRlIHN5bnRheCBjaGVjayBvZiB0aGUga2V5IHBhdGgiKTsK
QEAgLTc1LDcgKzc1LDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiBpbmRleGVkZGJfdGVzdCgKICAgICBm
dW5jdGlvbih0LCBkYikgewogICAgICAgICB2YXIgc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgicyIpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTeW50YXhFcnJvciIsIGZ1bmN0aW9uKCkg
eworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsK
ICAgICAgICAgICAgIHN0b3JlLmNyZWF0ZUluZGV4KCJpbmRleCIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbImludmFsaWQga2V5IHBhdGggMSIsICJpbnZhbGlkIGtleSBwYXRoIDIi
XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbXVsdGlFbnRyeTogdHJ1ZSB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2RlbGV0ZTYuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZGVsZXRl
Ni5odG0KaW5kZXggMDFkNTRkZWU5M2IzMDg0Yjk0OGE2NWYzZjRjZjNiNjI3ZjEyZTk0MC4uNDQ4
MTM4N2NjZmQxOTExMDJmMmJhZDFjYTc1NGYxODZhM2I1NWU3OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfZGVsZXRlNi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZGVsZXRlNi5odG0KQEAgLTI2LDcg
KzI2LDcgQEAKICAgICAgICAgdmFyIHR4biA9IGRiLnRyYW5zYWN0aW9uKCJzdG9yZSIpOwogICAg
ICAgICB2YXIgb3N0b3JlID0gdHhuLm9iamVjdFN0b3JlKCJzdG9yZSIpOwogICAgICAgICB0LnN0
ZXAoZnVuY3Rpb24oKXsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIlJlYWRPbmx5RXJyb3Ii
LCBmdW5jdGlvbigpeworICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIlJlYWRPbmx5RXJy
b3IiLCBmdW5jdGlvbigpewogICAgICAgICAgICAgICAgIG9zdG9yZS5kZWxldGUoInByaW1hcnlL
ZXlfMCIpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfZGVsZXRlNy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9kZWxldGU3Lmh0bQppbmRleCA5ODgzMWM1
ZGE4YWIxZDE4ZmJjMzdhN2I5MWMyYWQ5MDFkMzg3ODM3Li5hYTdlYjFhYzZhMjU1YTRlNzc3ZjQ1
N2I1ZTAxYmE5ZDhjOWUyM2Y2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9kZWxldGU3Lmh0bQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJvYmplY3RzdG9yZV9kZWxldGU3Lmh0bQpAQCAtMTksNyArMTksNyBAQAogICAgICAgICBk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgIG9zdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCJzdG9yZSIsIHtrZXlQYXRoOiJwS2V5In0pOwogICAgICAgICBkYi5kZWxldGVPYmpl
Y3RTdG9yZSgic3RvcmUiKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJy
b3IiLCBmdW5jdGlvbigpeworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRl
RXJyb3IiLCBmdW5jdGlvbigpewogICAgICAgICAgICAgb3N0b3JlLmRlbGV0ZSgicHJpbWFyeUtl
eV8wIik7CiAgICAgICAgIH0pOwogICAgICAgICB0LmRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2RlbGV0ZUluZGV4Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2RlbGV0ZUluZGV4Lmh0bQppbmRl
eCBlYmViYmI3ZGI0ODZhMzU2NjlmMjU1YjUzNDliMjY3NWRkMGI3MjQ1Li5mNGZjY2Q2MTMwOTY0
MWNhOTdiNWE1ZjVjZmQ0YzExZDY3YjBmYjRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9kZWxl
dGVJbmRleC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZGVsZXRlSW5kZXguaHRtCkBAIC0zMiw3ICsz
Miw3IEBACiAgICAgICAgICAgICAgIG9ialN0b3JlID0gZGIudHJhbnNhY3Rpb24oInRlc3QiKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9iamVjdFN0b3JlKCJ0ZXN0Iik7CiAKLSAgICAg
ICAgICAgIGFzc2VydF90aHJvd3MoJ05vdEZvdW5kRXJyb3InLAorICAgICAgICAgICAgYXNzZXJ0
X3Rocm93c19kb20oJ05vdEZvdW5kRXJyb3InLAogICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkg
eyBpbmRleCA9IG9ialN0b3JlLmluZGV4KCJpbmRleCIpIH0pOwogICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhpbmRleCwgdW5kZWZpbmVkKTsKICAgICAgICAgICAgIGRiLmNsb3NlKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJvYmplY3RzdG9yZV9kZWxldGVkLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2RlbGV0ZWQuaHRt
CmluZGV4IDRhNWMwY2NhMmI3ZDYxZmJiZDgwODIyZGFmZGJhNGFkYTdkN2IwZDMuLmY1YTM4M2U3
NWNiYzRkZDI5MmRiZTkzMjk5Y2UzODhjNTU0NDkyNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3Jl
X2RlbGV0ZWQuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2RlbGV0ZWQuaHRtCkBAIC0yOSwxNiArMjks
MTYgQEAKICAgICAgICAgYXNzZXJ0X2VxdWFscyhkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCwg
MCwgIm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGFmdGVyIGRlbGV0ZSIpOwogCiAgICAgICAgIGNv
bnN0IGV4YyA9ICJJbnZhbGlkU3RhdGVFcnJvciIKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhleGMs
IGZ1bmN0aW9uKCkgeyBvYmpTdG9yZS5hZGQoMik7IH0pOwotICAgICAgICBhc3NlcnRfdGhyb3dz
KGV4YywgZnVuY3Rpb24oKSB7IG9ialN0b3JlLnB1dCgzKTsgfSk7Ci0gICAgICAgIGFzc2VydF90
aHJvd3MoZXhjLCBmdW5jdGlvbigpIHsgb2JqU3RvcmUuZ2V0KDEpOyB9KTsKLSAgICAgICAgYXNz
ZXJ0X3Rocm93cyhleGMsIGZ1bmN0aW9uKCkgeyBvYmpTdG9yZS5jbGVhcigpOyB9KTsKLSAgICAg
ICAgYXNzZXJ0X3Rocm93cyhleGMsIGZ1bmN0aW9uKCkgeyBvYmpTdG9yZS5jb3VudCgpOyB9KTsK
LSAgICAgICAgYXNzZXJ0X3Rocm93cyhleGMsIGZ1bmN0aW9uKCkgeyBvYmpTdG9yZS5kZWxldGUo
MSk7IH0pOwotICAgICAgICBhc3NlcnRfdGhyb3dzKGV4YywgZnVuY3Rpb24oKSB7IG9ialN0b3Jl
Lm9wZW5DdXJzb3IoKTsgfSk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoZXhjLCBmdW5jdGlvbigp
IHsgb2JqU3RvcmUuaW5kZXgoImlkeCIpOyB9KTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyhleGMs
IGZ1bmN0aW9uKCkgeyBvYmpTdG9yZS5kZWxldGVJbmRleCgiaWR4Iik7IH0pOwotICAgICAgICBh
c3NlcnRfdGhyb3dzKGV4YywgZnVuY3Rpb24oKSB7IG9ialN0b3JlLmNyZWF0ZUluZGV4KCJpZHgy
IiwgImEiKTsgfSk7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKGV4YywgZnVuY3Rpb24oKSB7
IG9ialN0b3JlLmFkZCgyKTsgfSk7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKGV4YywgZnVu
Y3Rpb24oKSB7IG9ialN0b3JlLnB1dCgzKTsgfSk7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KGV4YywgZnVuY3Rpb24oKSB7IG9ialN0b3JlLmdldCgxKTsgfSk7CisgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKGV4YywgZnVuY3Rpb24oKSB7IG9ialN0b3JlLmNsZWFyKCk7IH0pOworICAgICAg
ICBhc3NlcnRfdGhyb3dzX2RvbShleGMsIGZ1bmN0aW9uKCkgeyBvYmpTdG9yZS5jb3VudCgpOyB9
KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oZXhjLCBmdW5jdGlvbigpIHsgb2JqU3RvcmUu
ZGVsZXRlKDEpOyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oZXhjLCBmdW5jdGlvbigp
IHsgb2JqU3RvcmUub3BlbkN1cnNvcigpOyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
ZXhjLCBmdW5jdGlvbigpIHsgb2JqU3RvcmUuaW5kZXgoImlkeCIpOyB9KTsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oZXhjLCBmdW5jdGlvbigpIHsgb2JqU3RvcmUuZGVsZXRlSW5kZXgoImlk
eCIpOyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oZXhjLCBmdW5jdGlvbigpIHsgb2Jq
U3RvcmUuY3JlYXRlSW5kZXgoImlkeDIiLCAiYSIpOyB9KTsKICAgICB9CiAKICAgICBvcGVuX3Jx
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZ2V0Ni5o
dG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJvYmplY3RzdG9yZV9nZXQ2Lmh0bQppbmRleCAzMzM4MWE2ODRiNjk2NmYwYTMzZjk3OWVk
M2IyOWI0OTY4MWFhMzljLi5jOTk2ZWM0OTQ2YzY5YzYwM2ZjMGNkN2RmNTA5YTIwMDVlNzBhYThj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9nZXQ2Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9nZXQ2
Lmh0bQpAQCAtMjAsNyArMjAsNyBAQAogICAgICAgICB2YXIgc3RvcmUgPSBkYi50cmFuc2FjdGlv
bigic3RvcmUiKQogICAgICAgICAgICAgICAgICAgICAgIC5vYmplY3RTdG9yZSgic3RvcmUiKTsK
ICAgICAgICAgc3RvcmUudHJhbnNhY3Rpb24uYWJvcnQoKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24gKCkgeworICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24gKCkgewog
ICAgICAgICAgICAgc3RvcmUuZ2V0KDEpOwogICAgICAgICB9LCAidGhyb3cgVHJhbnNhY3Rpb25J
bmFjdGl2ZUVycm9yIG9uIGFib3J0ZWQgdHJhbnNhY3Rpb24uIik7CiAgICAgICAgIHQuZG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZ2V0Ny5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9nZXQ3Lmh0
bQppbmRleCA1NzA0NDFiNjYzNDJmYzhkNjYxN2IyM2Q5OGQzZjAyZjkzMTZiNzk5Li5kYmJmYTBk
NDZmNTY3YmY5NzJhZjFiMGZkZjczN2Y2Yjc5YWMyNWE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9y
ZV9nZXQ3Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9nZXQ3Lmh0bQpAQCAtMTksNyArMTksNyBAQAog
ICAgIG9wZW5fcnEub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewogICAgICAgICB2YXIgc3RvcmUg
PSBkYi50cmFuc2FjdGlvbigic3RvcmUiKQogICAgICAgICAgICAgICAgICAgICAgIC5vYmplY3RT
dG9yZSgic3RvcmUiKQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLCBmdW5jdGlv
biAoKSB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbiAo
KSB7CiAgICAgICAgICAgICBzdG9yZS5nZXQobnVsbCkKICAgICAgICAgfSwgInRocm93IERhdGFF
cnJvciB3aGVuIHVzaW5nIGludmFsaWQga2V5LiIpOwogICAgICAgICB0LmRvbmUoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYm9iamVjdHN0b3JlX2dldEtleS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZ2V0S2V5Lmh0bWwK
aW5kZXggZGRiNzhiMTEyMTMyMzhjZjk0NmM5YTUzMzIxNjA2ZmEwYTA4YzQwZS4uOWUzNjYyNTAy
ZGUwYTJlZjg2ZDNhMGQ2MTk2MGQxNjhmMWM4YWIwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVf
Z2V0S2V5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZ2V0S2V5Lmh0bWwKQEAgLTM0LDkgKzM0LDkg
QEAgZnVuY3Rpb24gZ2V0a2V5X3Rlc3QoZnVuYywgbmFtZSkgewogZ2V0a2V5X3Rlc3QoZnVuY3Rp
b24odCwgZGIpIHsKICAgICB2YXIgdHggPSBkYi50cmFuc2FjdGlvbignYmFzaWMnKTsKICAgICB2
YXIgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnYmFzaWMnKTsKLSAgICBhc3NlcnRfdGhyb3dzKFR5
cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgc3RvcmUuZ2V0S2V5KCk7IH0pOwotICAgIGFzc2VydF90
aHJvd3Moe25hbWU6ICdEYXRhRXJyb3InfSwgZnVuY3Rpb24oKSB7IHN0b3JlLmdldEtleShudWxs
KTsgfSk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7bmFtZTogJ0RhdGFFcnJvcid9LCBmdW5jdGlvbigp
IHsgc3RvcmUuZ2V0S2V5KHt9KTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgeyBzdG9yZS5nZXRLZXkoKTsgfSk7CisgICAgYXNzZXJ0X3Rocm93c19kb20o
J0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgeyBzdG9yZS5nZXRLZXkobnVsbCk7IH0pOworICAgIGFz
c2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsgc3RvcmUuZ2V0S2V5KHt9
KTsgfSk7CiAgICAgdC5kb25lKCk7CiB9LCAnSURCT2JqZWN0U3RvcmUuZ2V0S2V5KCkgLSBpbnZh
bGlkIHBhcmFtZXRlcnMnKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbkN1cnNvcl9p
bnZhbGlkLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX29wZW5DdXJzb3JfaW52YWxpZC5odG0KaW5kZXggYTE0
MmEzYTQ1NTk4MmU1MzgzMWYyMWY0ZTA5MTg5NGFmMTQxN2FiNi4uNTkxMTY4NmQzNTI4ZGE2OGFk
NTQ4YTc5YjVlNDUzMzIyNWYzMDZmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbkN1cnNv
cl9pbnZhbGlkLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9vcGVuQ3Vyc29yX2ludmFsaWQuaHRtCkBA
IC0xNywxMyArMTcsMTMgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgIGZ1bmN0aW9uKHQsIGRiLCB0eCkg
ewogICAgICAgICAgICAgdmFyIGlkeCA9IGRiLnRyYW5zYWN0aW9uKCJ0ZXN0Iikub2JqZWN0U3Rv
cmUoInRlc3QiKS5pbmRleCgiaW5kZXgiKTsKIAotICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygi
RGF0YUVycm9yIiwKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLAog
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBpZHgub3BlbkN1cnNvcih7IGxvd2VyOiAiYSIg
fSk7IH0pOwogCi0gICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLAorICAgICAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oIkRhdGFFcnJvciIsCiAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24oKSB7IGlkeC5vcGVuQ3Vyc29yKHsgbG93ZXI6ICJhIiwgbG93ZXJPcGVuOiBmYWxzZSB9
KTsgfSk7CiAKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsCisgICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwKICAgICAgICAgICAgICAgICBmdW5j
dGlvbigpIHsgaWR4Lm9wZW5DdXJzb3IoeyBsb3dlcjogImEiLCBsb3dlck9wZW46IGZhbHNlLCB1
cHBlcjogbnVsbCwgdXBwZXJPcGVuOiBmYWxzZSB9KTsgfSk7CiAKICAgICAgICAgICAgIHQuZG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbktleUN1cnNvci5odG0gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9vcGVuS2V5Q3Vyc29yLmh0bQppbmRleCAzNDU4NDU5NjVmZTAwOWIxMWViZmEyY2RlODNk
MTY5ZTU3M2UxMWI4Li4wODgwYTIzYzM3ZDkzMGJkNTI2YmYzMGRhMDFiZmY2NzQ0M2Q3NDNmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9vcGVuS2V5Q3Vyc29yLmh0bQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9y
ZV9vcGVuS2V5Q3Vyc29yLmh0bQpAQCAtMTEyLDE5ICsxMTIsMTkgQEAgc3RvcmVfdGVzdChmdW5j
dGlvbih0LCBkYiwgdHgsIHN0b3JlKSB7CiB9LCAiSURCT2JqZWN0U3RvcmUub3BlbktleUN1cnNv
cigpIC0gcmV2ZXJzZSBpdGVyYXRpb24gd2l0aCByYW5nZSIpOwogCiBzdG9yZV90ZXN0KGZ1bmN0
aW9uKHQsIGRiLCB0eCwgc3RvcmUpIHsKLSAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLCBm
dW5jdGlvbigpIHsgc3RvcmUub3BlbktleUN1cnNvcihOYU4pOyB9LAorICAgIGFzc2VydF90aHJv
d3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsgc3RvcmUub3BlbktleUN1cnNvcihOYU4p
OyB9LAogICAgICAgICAib3BlbktleUN1cnNvciBzaG91bGQgdGhyb3cgb24gaW52YWxpZCBudW1i
ZXIga2V5Iik7Ci0gICAgYXNzZXJ0X3Rocm93cygiRGF0YUVycm9yIiwgZnVuY3Rpb24oKSB7IHN0
b3JlLm9wZW5LZXlDdXJzb3IobmV3IERhdGUoTmFOKSk7IH0sCisgICAgYXNzZXJ0X3Rocm93c19k
b20oIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkgeyBzdG9yZS5vcGVuS2V5Q3Vyc29yKG5ldyBEYXRl
KE5hTikpOyB9LAogICAgICAgICAib3BlbktleUN1cnNvciBzaG91bGQgdGhyb3cgb24gaW52YWxp
ZCBkYXRlIGtleSIpOwotICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkg
eworICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLCBmdW5jdGlvbigpIHsKICAgICAg
ICAgdmFyIGN5Y2xlID0gW107CiAgICAgICAgIGN5Y2xlLnB1c2goY3ljbGUpOwogICAgICAgICBz
dG9yZS5vcGVuS2V5Q3Vyc29yKGN5Y2xlKTsKICAgICB9LCAib3BlbktleUN1cnNvciBzaG91bGQg
dGhyb3cgb24gaW52YWxpZCBhcnJheSBrZXkiKTsKLSAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJy
b3IiLCBmdW5jdGlvbigpIHsgc3RvcmUub3BlbktleUN1cnNvcih7fSk7IH0sCisgICAgYXNzZXJ0
X3Rocm93c19kb20oIkRhdGFFcnJvciIsIGZ1bmN0aW9uKCkgeyBzdG9yZS5vcGVuS2V5Q3Vyc29y
KHt9KTsgfSwKICAgICAgICAgIm9wZW5LZXlDdXJzb3Igc2hvdWxkIHRocm93IG9uIGludmFsaWQg
a2V5IHR5cGUiKTsKICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAg
ICAgICBhc3NlcnRfdGhyb3dzKCJUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IiLCBmdW5jdGlvbigp
IHsgc3RvcmUub3BlbktleUN1cnNvcigpOyB9LAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgi
VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yIiwgZnVuY3Rpb24oKSB7IHN0b3JlLm9wZW5LZXlDdXJz
b3IoKTsgfSwKICAgICAgICAgICAgICJvcGVuS2V5Q3Vyc29yIHNob3VsZCB0aHJvdyBpZiB0cmFu
c2FjdGlvbiBpcyBpbmFjdGl2ZSIpOwogICAgICAgICB0LmRvbmUoKTsKICAgICB9KSwgMCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQxMC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQxMC5odG0K
aW5kZXggZDBkZTExYzNlMzBjZTJmYjYzYzNiNTMwZDZhNzU1MTk2MTlhMTUyNC4uY2M4NzcwZWY5
YjUyMzIzZTU4OWU2OTliNDc3OTY0ZWQxYmMyNzEyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVf
cHV0MTAuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX3B1dDEwLmh0bQpAQCAtMTgsNyArMTgsNyBAQAog
ICAgICAgICB2YXIgcnEsCiAgICAgICAgICAgb2JqU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgic3RvcmUiLCB7IGtleVBhdGg6ICJrZXkiIH0pOwogCi0gICAgICAgIGFzc2VydF90aHJvd3Mo
IkRhdGFFcnJvciIsCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLAogICAg
ICAgICAgICAgZnVuY3Rpb24oKSB7IHJxID0gb2JqU3RvcmUucHV0KHJlY29yZCk7IH0pOwogCiAg
ICAgICAgIGFzc2VydF9lcXVhbHMocnEsIHVuZGVmaW5lZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9wdXQxMS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQxMS5odG0KaW5kZXggOWExMzc1N2VmMjAw
ZDJkZjExYzhlNzZhNTQxZTNjZWQzZjE1ZmE1ZC4uZDk4MDJhYTAxNzQ1ZWI4OGFlNzIzODQzMDc3
MTY0OTJlYWNlNjE3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfcHV0MTEuaHRtCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9i
amVjdHN0b3JlX3B1dDExLmh0bQpAQCAtMTgsNyArMTgsNyBAQAogICAgICAgICB2YXIgcnEsCiAg
ICAgICAgICAgb2JqU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgic3RvcmUiLCB7IGtleVBh
dGg6ICJrZXkiIH0pOwogCi0gICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsCisgICAg
ICAgIGFzc2VydF90aHJvd3NfZG9tKCJEYXRhRXJyb3IiLAogICAgICAgICAgICAgZnVuY3Rpb24o
KSB7IHJxID0gb2JqU3RvcmUucHV0KHJlY29yZCk7IH0pOwogCiAgICAgICAgIGFzc2VydF9lcXVh
bHMocnEsIHVuZGVmaW5lZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQxMi5odG0gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9wdXQxMi5odG0KaW5kZXggMjQ5NzBkZmYwODBiMmRiZTE3Mjg0Yjc3OTcyOGIw
YzBmYThmZmY4ZC4uNWQ0ZjU0NGNkYmQzMThhMmE2MTk2ZGM5MmJiYzhhODdhZDA2NmYyMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRib2JqZWN0c3RvcmVfcHV0MTIuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX3B1dDEyLmh0
bQpAQCAtMTgsNyArMTgsNyBAQAogICAgICAgICB2YXIgcnEsCiAgICAgICAgICAgb2JqU3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgic3RvcmUiLCB7IGtleVBhdGg6ICJrZXkiIH0pOwogCi0g
ICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsCisgICAgICAgIGFzc2VydF90aHJvd3Nf
ZG9tKCJEYXRhRXJyb3IiLAogICAgICAgICAgICAgZnVuY3Rpb24oKSB7IHJxID0gb2JqU3RvcmUu
cHV0KHJlY29yZCk7IH0pOwogCiAgICAgICAgIGFzc2VydF9lcXVhbHMocnEsIHVuZGVmaW5lZCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQxMy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQxMy5o
dG0KaW5kZXggODcwYzhlNGE3MTg0MjA1NDJhYWE3NjcyMTc1MjA1MDU4NDZmODg5ZS4uZWNkMDUx
NWI4NzEyOTc1OTYzOGYyMmZiYmZlOTNmOTlmYWQ2YTRkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmVfcHV0MTMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX3B1dDEzLmh0bQpAQCAtMTgsNyArMTgsNyBA
QAogICAgICAgICB2YXIgcnEsCiAgICAgICAgICAgb2JqU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RT
dG9yZSgic3RvcmUiKTsKIAotICAgICAgICBhc3NlcnRfdGhyb3dzKCJEYXRhRXJyb3IiLAorICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiRGF0YUVycm9yIiwKICAgICAgICAgICAgIGZ1bmN0aW9u
KCkgeyBycSA9IG9ialN0b3JlLnB1dChyZWNvcmQsIHsgdmFsdWU6IDEgfSk7IH0pOwogCiAgICAg
ICAgIGFzc2VydF9lcXVhbHMocnEsIHVuZGVmaW5lZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9y
ZV9wdXQxNS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQxNS5odG0KaW5kZXggY2YyYzM1NDM1Y2Y1MTNj
M2EzMjk0MTFiYzliMGM0NGI4ZTM5NDRlMi4uNWQxYjhkNDA5MTY3YjY2NTQ1YWYwODZlNDg1ODI0
OGIxMDIxMzgwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfcHV0MTUuaHRtCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX3B1dDE1Lmh0bQpAQCAtMjEsNyArMjEsNyBAQAogICAgICAgICB2YXIgdHhuID0gZGIu
dHJhbnNhY3Rpb24oInN0b3JlIik7CiAgICAgICAgIHZhciBvc3RvcmUgPSB0eG4ub2JqZWN0U3Rv
cmUoInN0b3JlIik7CiAgICAgICAgIHQuc3RlcChmdW5jdGlvbigpewotICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93cygiUmVhZE9ubHlFcnJvciIsIGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgiUmVhZE9ubHlFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAg
ICAgb3N0b3JlLnB1dCh7cEtleTogInByaW1hcnlLZXlfMCJ9KTsKICAgICAgICAgICAgIH0pOwog
ICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX3B1dDE2Lmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX3B1dDE2Lmh0bQppbmRleCA0ODE4ZGQyNWRkOTEwNTQwM2RiMmM5ZjdjNTc2ZmE2NTFhMDY1
YjlkLi5mZTE4N2U1NTA4ZjYwN2UxYzM1N2EyMjk0NjI2NTZmZjkxYzQyNDUwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJvYmplY3RzdG9yZV9wdXQxNi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfcHV0MTYuaHRtCkBAIC0x
Nyw3ICsxNyw3IEBACiAgICAgICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICAgICAg
b3N0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3JlIiwge2tleVBhdGg6InBLZXkifSk7
CiAgICAgICAgIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCJzdG9yZSIpOwotICAgICAgICBhc3NlcnRf
dGhyb3dzKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKCJJbnZhbGlkU3RhdGVFcnJvciIsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICBv
c3RvcmUucHV0KHtwS2V5OiAicHJpbWFyeUtleV8wIn0pOwogICAgICAgICB9KTsKICAgICAgICAg
dC5kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9wdXQ5Lmh0bSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3Jl
X3B1dDkuaHRtCmluZGV4IDZlNTBhMGIyOTZkM2ZmZTI0OTZkMGU4YjE1NWUzNmRhYTg5ZjVjY2Eu
LjBmYTZkYzc1Nzk3YzJiNTIyZDMyOTk0NmE4YTkxMzZiYWI5OGFiNDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9i
amVjdHN0b3JlX3B1dDkuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX3B1dDkuaHRtCkBAIC0xNiw3ICsx
Niw3IEBACiAgICAgICAgICAgZGIgPSBlLnRhcmdldC5yZXN1bHQsCiAgICAgICAgICAgb2JqU3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgic3RvcmUiLCB7IGtleVBhdGg6ICJrZXkiIH0pOwog
Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIkRhdGFFcnJvciIsCisgICAgICAgIGFzc2VydF90aHJv
d3NfZG9tKCJEYXRhRXJyb3IiLAogICAgICAgICAgICAgZnVuY3Rpb24oKSB7IHJxID0gb2JqU3Rv
cmUucHV0KHJlY29yZCwgMSk7IH0pOwogCiAgICAgICAgIGFzc2VydF9lcXVhbHMocnEsIHVuZGVm
aW5lZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJyZXF1ZXN0X2Vycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJyZXF1ZXN0X2Vycm9yLmh0
bWwKaW5kZXggYWUxNmI2OTVhM2ZhMTVmMDAzYmIwYWYyZGIyYjI2OTNlNzA1ZmI5NS4uYzE0MGM1
OWUyZGU5YjJiZDEzNDNmYjY3MjBlNjZkYjE0M2IxMDZmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRicmVxdWVzdF9l
cnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYnJlcXVlc3RfZXJyb3IuaHRtbApAQCAtMTcsOCArMTcsOCBAQCBhc3lu
Y190ZXN0KHQgPT4gewogICAgIHZhciByZXF1ZXN0ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJyku
b2JqZWN0U3RvcmUoJ3N0b3JlJykuZ2V0KDApOwogCiAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0
LnJlYWR5U3RhdGUsICdwZW5kaW5nJyk7Ci0gICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRl
RXJyb3InLCAoKSA9PiByZXF1ZXN0LmVycm9yLAotICAgICAgICAgICAgICAgICAgJ0lEQlJlcXVl
c3QuZXJyb3Igc2hvdWxkIHRocm93IGlmIHJlcXVlc3QgaXMgcGVuZGluZycpOworICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHJlcXVlc3QuZXJyb3IsCisg
ICAgICAgICAgICAgICAgICAgICAgJ0lEQlJlcXVlc3QuZXJyb3Igc2hvdWxkIHRocm93IGlmIHJl
cXVlc3QgaXMgcGVuZGluZycpOwogICAgIHQuZG9uZSgpOwogICB9KTsKIH0sICdJREJSZXF1ZXN0
LmVycm9yIHRocm93cyBpZiByZWFkeSBzdGF0ZSBpcyBwZW5kaW5nJyk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJy
ZXF1ZXN0X3Jlc3VsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRicmVxdWVzdF9yZXN1bHQuaHRtbAppbmRleCAyOTc4NjI5MDE2
MzMxOTdlZmE0ZWRjMDc2MDFjY2ExY2RkZmUzMTAzLi5lNzUxNmQ1MmU4ZjBkNzI1OWRiMjU1NjU3
YWU3YWRmZmNlNzIyYTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJyZXF1ZXN0X3Jlc3VsdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnJl
cXVlc3RfcmVzdWx0Lmh0bWwKQEAgLTE3LDggKzE3LDggQEAgYXN5bmNfdGVzdCh0ID0+IHsKICAg
ICB2YXIgcmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScpLm9iamVjdFN0b3JlKCdzdG9y
ZScpLmdldCgwKTsKIAogICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdC5yZWFkeVN0YXRlLCAncGVu
ZGluZycpOwotICAgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gcmVx
dWVzdC5yZXN1bHQsCi0gICAgICAgICAgICAgICAgICAnSURCUmVxdWVzdC5yZXN1bHQgc2hvdWxk
IHRocm93IGlmIHJlcXVlc3QgaXMgcGVuZGluZycpOworICAgIGFzc2VydF90aHJvd3NfZG9tKCdJ
bnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHJlcXVlc3QucmVzdWx0LAorICAgICAgICAgICAgICAg
ICAgICAgICdJREJSZXF1ZXN0LnJlc3VsdCBzaG91bGQgdGhyb3cgaWYgcmVxdWVzdCBpcyBwZW5k
aW5nJyk7CiAgICAgdC5kb25lKCk7CiAgIH0pOwogfSwgJ0lEQlJlcXVlc3QucmVzdWx0IHRocm93
cyBpZiByZWFkeSBzdGF0ZSBpcyBwZW5kaW5nJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ0cmFuc2FjdGlvbi1v
YmplY3RTdG9yZS1leGNlcHRpb24tb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9iamVjdFN0b3Jl
LWV4Y2VwdGlvbi1vcmRlci5odG1sCmluZGV4IDZiYWU3ODNlY2Q3ODNjZjY3YTA0YzM1OGQyNjE5
N2I5OGFiY2JlYjMuLmJjMDM1N2ExMzExNWQwMzk4NjY4Yjg4YzYyMjg0ZmVmZjU0NTVhOWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYnRyYW5zYWN0aW9uLW9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG1sCkBAIC0xNCw5
ICsxNCw5IEBAIGluZGV4ZWRkYl90ZXN0KAogICAodCwgZGIpID0+IHsKICAgICBjb25zdCB0eCA9
IGRiLnRyYW5zYWN0aW9uKCdzJyk7CiAgICAgdHgub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jKCgp
ID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiB7
IHR4Lm9iamVjdFN0b3JlKCdub3BlJyk7IH0sCi0gICAgICAgICAgICAgICAgICAgICAgJyJmaW5p
c2hlZCIgY2hlY2sgKEludmFsaWRTdGF0ZUVycm9yKSBzaG91bGQgcHJlY2VkZSAnICsKLSAgICAg
ICAgICAgICAgICAgICAgICAnIm5hbWUgaW4gc2NvcGUiIGNoZWNrIChOb3RGb3VuZEVycm9yKScp
OworICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiB7
IHR4Lm9iamVjdFN0b3JlKCdub3BlJyk7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICci
ZmluaXNoZWQiIGNoZWNrIChJbnZhbGlkU3RhdGVFcnJvcikgc2hvdWxkIHByZWNlZGUgJyArCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICcibmFtZSBpbiBzY29wZSIgY2hlY2sgKE5vdEZvdW5k
RXJyb3IpJyk7CiAgICAgICB0LmRvbmUoKTsKICAgICB9KTsKICAgfSwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRy
YW5zYWN0aW9uLW9iamVjdFN0b3JlLWZpbmlzaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RT
dG9yZS1maW5pc2hlZC5odG1sCmluZGV4IDVlMzYzZWEzYmIwYjliYzcwNzdlYmJmNzJjM2FhNTFk
NjE0ZGZkOGUuLjc4ZDI3NzdlNjNjZDI3MzRjNDg2ODE1NjJjYzIzZmVkN2ZlY2MzZTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYnRyYW5zYWN0aW9uLW9iamVjdFN0b3JlLWZpbmlzaGVkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNh
Y3Rpb24tb2JqZWN0U3RvcmUtZmluaXNoZWQuaHRtbApAQCAtMTQsOCArMTQsOCBAQCBpbmRleGVk
ZGJfdGVzdCgKICAgKHQsIGRiKSA9PiB7CiAgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbign
c3RvcmUnKTsKICAgICB0eC5hYm9ydCgpOwotICAgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0
ZUVycm9yJywgKCkgPT4gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJyksCi0gICAgICAgICAgICAgICAg
ICAnb2JqZWN0U3RvcmUoKSBzaG91bGQgdGhyb3cgaWYgdHJhbnNhY3Rpb24gaXMgZmluaXNoZWQn
KTsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiB0eC5v
YmplY3RTdG9yZSgnc3RvcmUnKSwKKyAgICAgICAgICAgICAgICAgICAgICAnb2JqZWN0U3RvcmUo
KSBzaG91bGQgdGhyb3cgaWYgdHJhbnNhY3Rpb24gaXMgZmluaXNoZWQnKTsKICAgICB0LmRvbmUo
KTsKICAgfSwKICAgJ0lEQlRyYW5zYWN0aW9uIG9iamVjdFN0b3JlKCkgYmVoYXZpb3Igd2hlbiB0
cmFuc2FjdGlvbiBpcyBmaW5pc2hlZCcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLmh0bSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRy
YW5zYWN0aW9uLmh0bQppbmRleCA1YmFhM2RiNTU3ZDBmYTJhOGE0ZWMzM2QxY2UwN2Y0NjQ2YTQ3
Y2NkLi5kNWJhZmRhMWNhYjA3OGFmYmI4MTBlMmQzZWZhMjU4ZTQxMzljNWUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJ0cmFuc2FjdGlvbi5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNhY3Rpb24uaHRtCkBAIC03LDcgKzcsOSBAQAog
CiA8c2NyaXB0PgogYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gIHZhciBvcGVuX3JxID0gaW5k
ZXhlZERCLm9wZW4oImlkYnRyYW5zYWN0aW9uLSIgKyBkb2N1bWVudC5sb2NhdGlvbiArIHQubmFt
ZSk7CisgIHZhciBkYm5hbWUgPSAiaWRidHJhbnNhY3Rpb24tIiArIGRvY3VtZW50LmxvY2F0aW9u
ICsgdC5uYW1lOworICBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKTsKKyAgdmFyIG9w
ZW5fcnEgPSBpbmRleGVkREIub3BlbihkYm5hbWUpOwogCiAgIG9wZW5fcnEub25ibG9ja2VkID0g
dC51bnJlYWNoZWRfZnVuYygnb3Blbl9ycS5vbmJsb2NrZWQnKTsKICAgb3Blbl9ycS5vbmVycm9y
ID0gdC51bnJlYWNoZWRfZnVuYygnb3Blbl9ycS5vbmVycm9yJyk7CkBAIC0zMSw3ICszMyw5IEBA
IGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogfSwgZG9jdW1lbnQudGl0bGUgKyAiIC0gcmVxdWVz
dCBnb3R0ZW4gYnkgdGhlIGhhbmRsZXIiKTsKIAogYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0g
IHZhciBvcGVuX3JxID0gaW5kZXhlZERCLm9wZW4oImlkYnRyYW5zYWN0aW9uLSIgKyBkb2N1bWVu
dC5sb2NhdGlvbiArIHQubmFtZSk7CisgIHZhciBkYm5hbWUgPSAiaWRidHJhbnNhY3Rpb24tIiAr
IGRvY3VtZW50LmxvY2F0aW9uICsgdC5uYW1lOworICBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2Uo
ZGJuYW1lKTsKKyAgdmFyIG9wZW5fcnEgPSBpbmRleGVkREIub3BlbihkYm5hbWUpOwogCiAgIGFz
c2VydF9lcXVhbHMob3Blbl9ycS50cmFuc2FjdGlvbiwgbnVsbCwgIklEQk9wZW5EQlJlcXVlc3Qu
dHJhbnNhY3Rpb24iKTsKICAgYXNzZXJ0X2VxdWFscyhvcGVuX3JxLnNvdXJjZSwgbnVsbCwgIklE
Qk9wZW5EQlJlcXVlc3Quc291cmNlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hhbmdlZXZlbnQu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRidmVyc2lvbmNoYW5nZWV2ZW50Lmh0bQppbmRleCBlN2ZmZWNhYmQwNGZkNTUzZDMxYzg5
NmM2ZTgyZWMxOTljMDEyYzdmLi5mYzRjZDlhMmY4NzY1ZDMzMWU0M2MzOTg5ZjJiN2M3MzVmNmRj
NDQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hhbmdlZXZlbnQuaHRtCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnZlcnNpb25jaGFu
Z2VldmVudC5odG0KQEAgLTEzLDEwICsxMywxMyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwK
LSAgICAgICAgdCA9IGFzeW5jX3Rlc3QoKTsKKyAgICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKKyAg
ICAgICAgZGJuYW1lID0gbG9jYXRpb24gKyAnLScgKyB0Lm5hbWU7CiAKICAgICB0LnN0ZXAoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBvcGVucnEgPSBpbmRleGVkREIub3BlbignZGInLCAzKTsK
KyAgICAgICAgaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSk7CisKKyAgICAgICAgdmFy
IG9wZW5ycSA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMyk7CiAKICAgICAgICAgb3BlbnJxLm9u
dXBncmFkZW5lZWRlZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoZS5vbGRWZXJzaW9uLCAwLCAib2xkIHZlcnNpb24gKHVwZ3JhZGVuZWVkZWQp
Iik7CkBAIC00OCw3ICs1MSw3IEBACiAgICAgfSk7CiAKICAgICBmdW5jdGlvbiBkZWxldGVEQiAo
ZSkgewotICAgICAgICB2YXIgZGVsZXRlcnEgPSBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoJ2Ri
Jyk7CisgICAgICAgIHZhciBkZWxldGVycSA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5h
bWUpOwogCiAgICAgICAgIGRlbGV0ZXJxLm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KGUpIHsKICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5yZXN1bHQsIHVuZGVmaW5lZCwgInJl
c3VsdCAoZGVsZXRlLnN1Y2Nlc3MgZm9yIG5vbmV4aXN0ZW50IGRiKSIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRs
aGFybmVzcy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS5qcwppbmRleCBlZmI4NDY2MWU4MDQ0ZDE0NmFi
MDcwNGYxOGE2YTM4MDVmZjNjODAzLi4xMmMzMDQ1ODlhYjkwZGEyNTRmOThiODcyNjYxZjIzYzhi
YTU5NzQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS5qcwpA
QCAtMSw2ICsxLDcgQEAKIC8vIE1FVEE6IGdsb2JhbD13aW5kb3csd29ya2VyCiAvLyBNRVRBOiBz
Y3JpcHQ9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKIC8vIE1FVEE6IHNjcmlwdD0vcmVzb3Vy
Y2VzL2lkbGhhcm5lc3MuanMKKy8vIE1FVEE6IHRpbWVvdXQ9bG9uZwogCiBpZGxfdGVzdCgKICAg
WydJbmRleGVkREInXSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1jb252ZXJzaW9uLWV4Y2VwdGlvbnMuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5
LWNvbnZlcnNpb24tZXhjZXB0aW9ucy5odG0KaW5kZXggNGRkNWQ5MDA1YjZjYjZlNGMyYzdkY2Nh
ZWY2MjgwNGJmY2RiNzNlYy4uMzZkNjdkOGYwN2RjYWY4YmVjYzY4ZDFlOTY3MTFjNmQ5ODUzNGEx
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIva2V5LWNvbnZlcnNpb24tZXhjZXB0aW9ucy5odG0KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWNvbnZlcnNp
b24tZXhjZXB0aW9ucy5odG0KQEAgLTE2LDEyICsxNiwxMiBAQCBmdW5jdGlvbiBpbmRleGVkZGJf
dXBncmFkZV9vbmx5X3Rlc3QodXBncmFkZV9jYWxsYmFjaywgZGVzY3JpcHRpb24pIHsKIGZ1bmN0
aW9uIHRocm93aW5nX2tleShuYW1lKSB7CiAgICAgdmFyIHRocm93cyA9IFtdOwogICAgIHRocm93
cy5sZW5ndGggPSAxOworICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcigndGhyb3dpbmcgZnJvbSBn
ZXR0ZXInKTsKKyAgICBlcnIubmFtZSA9IG5hbWU7CiAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KHRocm93cywgJzAnLCB7Z2V0OiBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIGVyciA9IG5ldyBF
cnJvcigndGhyb3dpbmcgZnJvbSBnZXR0ZXInKTsKLSAgICAgICAgZXJyLm5hbWUgPSBuYW1lOwog
ICAgICAgICB0aHJvdyBlcnI7CiAgICAgfSwgZW51bWVyYWJsZTogdHJ1ZX0pOwotICAgIHJldHVy
biB0aHJvd3M7CisgICAgcmV0dXJuIFt0aHJvd3MsIGVycl07CiB9CiAKIHZhciB2YWxpZF9rZXkg
PSBbXTsKQEAgLTM1LDI3ICszNSwzMCBAQCB2YXIgaW52YWxpZF9rZXkgPSB7fTsKIGZ1bmN0aW9u
IGNoZWNrX21ldGhvZChyZWNlaXZlciwgbWV0aG9kLCBhcmdzKSB7CiAgICAgYXJncyA9IGFyZ3Mg
fHwgMTsKICAgICBpZiAoYXJncyA8IDIpIHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cyh7bmFtZTon
Z2V0dGVyJ30sICgpID0+IHsKLSAgICAgICAgICAgIHJlY2VpdmVyW21ldGhvZF0odGhyb3dpbmdf
a2V5KCdnZXR0ZXInKSk7CisgICAgICAgIGNvbnN0IFtrZXksIGVycl0gPSB0aHJvd2luZ19rZXko
J2dldHRlcicpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyLCAoKSA9PiB7Cisg
ICAgICAgICAgICByZWNlaXZlclttZXRob2RdKGtleSk7CiAgICAgICAgIH0sICdrZXkgY29udmVy
c2lvbiB3aXRoIHRocm93aW5nIGdldHRlciBzaG91bGQgcmV0aHJvdycpOwogCi0gICAgICAgIGFz
c2VydF90aHJvd3MoJ0RhdGFFcnJvcicsICgpID0+IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oJ0RhdGFFcnJvcicsICgpID0+IHsKICAgICAgICAgICAgIHJlY2VpdmVyW21ldGhvZF0oaW52
YWxpZF9rZXkpOwogICAgICAgICB9LCAna2V5IGNvbnZlcnNpb24gd2l0aCBpbnZhbGlkIGtleSBz
aG91bGQgdGhyb3cgRGF0YUVycm9yJyk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgYXNzZXJ0X3Ro
cm93cyh7bmFtZTonZ2V0dGVyIDEnfSwgKCkgPT4gewotICAgICAgICAgICAgcmVjZWl2ZXJbbWV0
aG9kXSh0aHJvd2luZ19rZXkoJ2dldHRlciAxJyksIHRocm93aW5nX2tleSgnZ2V0dGVyIDInKSk7
CisgICAgICAgIGNvbnN0IFtrZXkxLCBlcnIxXSA9IHRocm93aW5nX2tleSgnZ2V0dGVyIDEnKTsK
KyAgICAgICAgY29uc3QgW2tleTIsIGVycjJdID0gdGhyb3dpbmdfa2V5KCdnZXR0ZXIgMicpOwor
ICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyMSwgKCkgPT4geworICAgICAgICAgICAg
cmVjZWl2ZXJbbWV0aG9kXShrZXkxLCBrZXkyKTsKICAgICAgICAgfSwgJ2ZpcnN0IGtleSBjb252
ZXJzaW9uIHdpdGggdGhyb3dpbmcgZ2V0dGVyIHNob3VsZCByZXRocm93Jyk7CiAKLSAgICAgICAg
YXNzZXJ0X3Rocm93cygnRGF0YUVycm9yJywgKCkgPT4gewotICAgICAgICAgICAgcmVjZWl2ZXJb
bWV0aG9kXShpbnZhbGlkX2tleSwgdGhyb3dpbmdfa2V5KCdnZXR0ZXIgMicpKTsKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsICgpID0+IHsKKyAgICAgICAgICAgIHJlY2Vp
dmVyW21ldGhvZF0oaW52YWxpZF9rZXksIGtleTIpOwogICAgICAgICB9LCAnZmlyc3Qga2V5IGNv
bnZlcnNpb24gd2l0aCBpbnZhbGlkIGtleSBzaG91bGQgdGhyb3cgRGF0YUVycm9yJyk7CiAKLSAg
ICAgICAgYXNzZXJ0X3Rocm93cyh7bmFtZTonZ2V0dGVyIDInfSwgKCkgPT4gewotICAgICAgICAg
ICAgcmVjZWl2ZXJbbWV0aG9kXSh2YWxpZF9rZXksIHRocm93aW5nX2tleSgnZ2V0dGVyIDInKSk7
CisgICAgICAgIGFzc2VydF90aHJvd3NfZXhhY3RseShlcnIyLCAoKSA9PiB7CisgICAgICAgICAg
ICByZWNlaXZlclttZXRob2RdKHZhbGlkX2tleSwga2V5Mik7CiAgICAgICAgIH0sICdzZWNvbmQg
a2V5IGNvbnZlcnNpb24gd2l0aCB0aHJvd2luZyBnZXR0ZXIgc2hvdWxkIHJldGhyb3cnKTsKIAot
ICAgICAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJyb3InLCAoKSA9PiB7CisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCAoKSA9PiB7CiAgICAgICAgICAgICByZWNlaXZlcltt
ZXRob2RdKHZhbGlkX2tleSwgaW52YWxpZF9rZXkpOwogICAgICAgICB9LCAnc2Vjb25kIGtleSBj
b252ZXJzaW9uIHdpdGggaW52YWxpZCBrZXkgc2hvdWxkIHRocm93IERhdGFFcnJvcicpOwogICAg
IH0KQEAgLTEwNyw4ICsxMTAsOSBAQCBpbmRleGVkZGJfdXBncmFkZV9vbmx5X3Rlc3QoKHQsIGRi
KSA9PiB7CiAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKGN1cnNvciwgbnVsbCwgJ2N1cnNvciBz
aG91bGQgZmluZCBhIHZhbHVlJyk7CiAKICAgICAgICAgdmFyIHZhbHVlID0ge307Ci0gICAgICAg
IHZhbHVlLnByb3AgPSB0aHJvd2luZ19rZXkoJ2dldHRlcicpOwotICAgICAgICBhc3NlcnRfdGhy
b3dzKHtuYW1lOiAnZ2V0dGVyJ30sICgpID0+IHsKKyAgICAgICAgdmFyIGVycjsKKyAgICAgICAg
W3ZhbHVlLnByb3AsIGVycl0gPSB0aHJvd2luZ19rZXkoJ2dldHRlcicpOworICAgICAgICBhc3Nl
cnRfdGhyb3dzX2V4YWN0bHkoZXJyLCAoKSA9PiB7CiAgICAgICAgICAgICBjdXJzb3IudXBkYXRl
KHZhbHVlKTsKICAgICAgICAgfSwgJ3Rocm93aW5nIGdldHRlciBzaG91bGQgcmV0aHJvdyBkdXJp
bmcgY2xvbmUnKTsKIApAQCAtMTE4LDcgKzEyMiw3IEBAIGluZGV4ZWRkYl91cGdyYWRlX29ubHlf
dGVzdCgodCwgZGIpID0+IHsKICAgICAgICAgLy8gYXJlIHVzZWQgZm9yIGtleSBwYXRoIGV2YWx1
YXRpb24uCiAKICAgICAgICAgdmFsdWUucHJvcCA9IGludmFsaWRfa2V5OwotICAgICAgICBhc3Nl
cnRfdGhyb3dzKCdEYXRhRXJyb3InLCAoKSA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCdEYXRhRXJyb3InLCAoKSA9PiB7CiAgICAgICAgICAgICBjdXJzb3IudXBkYXRlKHZhbHVlKTsK
ICAgICAgICAgfSwgJ2tleSBjb252ZXJzaW9uIHdpdGggaW52YWxpZCBrZXkgc2hvdWxkIHRocm93
IERhdGFFcnJvcicpOwogICAgIH0pOwpAQCAtMTQwLDE4ICsxNDQsMTggQEAgdGVzdCh0ID0+IHsK
ICAgICBpbmRleGVkZGJfdXBncmFkZV9vbmx5X3Rlc3QoKHQsIGRiKSA9PiB7CiAgICAgICAgIHZh
ciBvdXRfb2ZfbGluZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdvdXQtb2YtbGluZSBrZXlzJyk7
CiAgICAgICAgIHZhciBpbl9saW5lID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2luLWxpbmUga2V5
cycsIHtrZXlQYXRoOiAncHJvcCd9KTsKLQotICAgICAgICBhc3NlcnRfdGhyb3dzKHtuYW1lOidn
ZXR0ZXInfSwgKCkgPT4gewotICAgICAgICAgICAgb3V0X29mX2xpbmVbbWV0aG9kXSgndmFsdWUn
LCB0aHJvd2luZ19rZXkoJ2dldHRlcicpKTsKKyAgICAgICAgdmFyIFtrZXksIGVycl0gPSB0aHJv
d2luZ19rZXkoJ2dldHRlcicpOworICAgICAgICBhc3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyLCAo
KSA9PiB7CisgICAgICAgICAgICBvdXRfb2ZfbGluZVttZXRob2RdKCd2YWx1ZScsIGtleSk7CiAg
ICAgICAgIH0sICdrZXkgY29udmVyc2lvbiB3aXRoIHRocm93aW5nIGdldHRlciBzaG91bGQgcmV0
aHJvdycpOwogCi0gICAgICAgIGFzc2VydF90aHJvd3MoJ0RhdGFFcnJvcicsICgpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsICgpID0+IHsKICAgICAgICAgICAg
IG91dF9vZl9saW5lW21ldGhvZF0oJ3ZhbHVlJywgaW52YWxpZF9rZXkpOwogICAgICAgICB9LCAn
a2V5IGNvbnZlcnNpb24gd2l0aCBpbnZhbGlkIGtleSBzaG91bGQgdGhyb3cgRGF0YUVycm9yJyk7
CiAKICAgICAgICAgdmFyIHZhbHVlID0ge307Ci0gICAgICAgIHZhbHVlLnByb3AgPSB0aHJvd2lu
Z19rZXkoJ2dldHRlcicpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKHtuYW1lOidnZXR0ZXInfSwg
KCkgPT4geworICAgICAgICBbdmFsdWUucHJvcCwgZXJyXSA9IHRocm93aW5nX2tleSgnZ2V0dGVy
Jyk7CisgICAgICAgIGFzc2VydF90aHJvd3NfZXhhY3RseShlcnIsICgpID0+IHsKICAgICAgICAg
ICAgIGluX2xpbmVbbWV0aG9kXSh2YWx1ZSk7CiAgICAgICAgIH0sICd0aHJvd2luZyBnZXR0ZXIg
c2hvdWxkIHJldGhyb3cgZHVyaW5nIGNsb25lJyk7CiAKQEAgLTE2MSw3ICsxNjUsNyBAQCB0ZXN0
KHQgPT4gewogICAgICAgICAvLyBhcmUgdXNlZCBmb3Iga2V5IHBhdGggZXZhbHVhdGlvbi4KIAog
ICAgICAgICB2YWx1ZS5wcm9wID0gaW52YWxpZF9rZXk7Ci0gICAgICAgIGFzc2VydF90aHJvd3Mo
J0RhdGFFcnJvcicsICgpID0+IHsKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJv
cicsICgpID0+IHsKICAgICAgICAgICAgIGluX2xpbmVbbWV0aG9kXSh2YWx1ZSk7CiAgICAgICAg
IH0sICdrZXkgY29udmVyc2lvbiB3aXRoIGludmFsaWQga2V5IHNob3VsZCB0aHJvdyBEYXRhRXJy
b3InKTsKICAgICB9LCBgSURCT2JqZWN0U3RvcmUgJHttZXRob2R9KCkgbWV0aG9kIHdpdGggdGhy
b3dpbmcvaW52YWxpZCBrZXlzYCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1
dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmct
YXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55LmpzCmluZGV4IGQ3OTM4NzY4ZmExNTJj
MjBiNGI1ODUzODM1MGE1MWI3OGIzOGU0NDUuLmY4Zjc3ODQyOGM5OGY0ZTE4OWNlNTNiMTMzMTMz
YzViNzg0ZTFkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1pbmRleGVzLWN1cnNvcnMuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2lu
Y3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55LmpzCkBAIC04NSw0ICs4NSw0IEBAIHByb21pc2Vf
dGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CiAKICAgZGF0YWJhc2UuY2xvc2UoKTsKIH0sICdJREJJ
bmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBub3QgY292ZXJpbmcg
dGhlICcgKwotICAgJ2F1dG9pbmNyZW1lbnQga2V5Jyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorICAgJ2F1dG9pbmNyZW1lbnQga2V5Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9y
ZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9y
ZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuanMKaW5kZXggMDU5NzEwOThm
YTg5M2ViZTU4ZGU0YjJhZDA1ZDg0YTQ5NjViNmUwZC4uYTA3ZTVkYTNiMDE4MTM2MDU4NGY3MjBm
MDlmMjA2NzRhMTNlZmE2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5j
cmVtZW50LXN0b3JlLWN1cnNvcnMuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0
b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5qcwpAQCAtMzUsNCArMzUsNCBAQCBwcm9taXNl
X3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewogICB9CiAKICAgZGF0YWJhc2UuY2xvc2UoKTsKLX0s
ICdJREJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5j
cmVtZW50IHN0b3JlJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorfSwgJ0lEQk9iamVj
dFN0b3JlLm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGF1dG9pbmNyZW1lbnQgc3Rv
cmUnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9y
ZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lmpz
CmluZGV4IGJiYmE2YTMzNTEzOWQ1YjI5NDZiNWY2ZDcxYTYzNWZkNWVlMDE0YzMuLjA2YzRlNWM2
ZWEwOTcwZmIwY2NmMWU5ZjIzZWU5N2EwMGEyZTFkM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3Jz
L3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVh
ZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS5qcwpAQCAtNDYsNCArNDYsNCBAQCBwcm9taXNl
X3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewogICB9CiAKICAgZGF0YWJhc2UuY2xvc2UoKTsKLX0s
ICdJREJPYmplY3RTdG9yZS5nZXQoKSBmb3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZScpOwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30sICdJREJPYmplY3RTdG9yZS5nZXQoKSBmb3IgYW4g
YXV0b2luY3JlbWVudCBzdG9yZScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5X2ludmFsaWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
a2V5X2ludmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IDk2YzVlYmY1N2U2ZWQyOWVkZDczYzc4ODlh
NDg0M2MyODc2NTA4NjIuLmI4OWFkNDhlZTJjYWQ4ZWMyZDlhYjgyZjg5Njk1NWJkYTMxYjhjODAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2tleV9pbnZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlfaW52YWxpZC1leHBlY3Rl
ZC50eHQKQEAgLTMzLDQgKzMzLDUgQEAgUEFTUyBJbnZhbGlkIGtleSAtIFsxLDIsMywsXQogUEFT
UyBJbnZhbGlkIGtleSAtIGFycmF5IGRpcmVjdGx5IGNvbnRhaW5zIHNlbGYgCiBQQVNTIEludmFs
aWQga2V5IC0gYXJyYXkgaW5kaXJlY3RseSBjb250YWlucyBzZWxmIAogUEFTUyBJbnZhbGlkIGtl
eSAtIGFycmF5IG1lbWJlciBjb250YWlucyBzZWxmIAorUEFTUyBJbnZhbGlkIGtleSAtIHByb3h5
IG9mIGFuIGFycmF5IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlfaW52YWxpZC5odG0gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlfaW52YWxpZC5odG0K
aW5kZXggMzA3NTlkNWVmM2U1OTQ4NTI5OTA4MDg2MjFjZTc1Yzg0MGQwYWMzOS4uYzNjNjFlYWQy
M2NmNDM0YThhOTgwNmNjM2Q1ZjU0ODk4MzNkODI4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5X2ludmFsaWQuaHRt
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleV9pbnZhbGlkLmh0bQpAQCAtMzIsMTMgKzMyLDEzIEBACiAgICAgICAgIC8vIHNldCB0
aGUgY3VycmVudCB0ZXN0LCBhbmQgcnVuIGl0CiAgICAgICAgIGRiLnNldFRlc3QodCkub251cGdy
YWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgb2JqU3RvcmUgPSBvYmpTdG9y
ZSB8fCBlLnRhcmdldC5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3JlIik7Ci0gICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
IGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAg
ICAgICBvYmpTdG9yZS5hZGQoInZhbHVlIiwga2V5KTsKICAgICAgICAgICAgIH0pOwogCiAgICAg
ICAgICAgICBpZiAoaXNfY2xvbmVhYmxlKGtleSkpIHsKICAgICAgICAgICAgICAgICBvYmpTdG9y
ZTIgPSBvYmpTdG9yZTIgfHwgZS50YXJnZXQucmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKCJzdG9y
ZTIiLCB7IGtleVBhdGg6IFsieCIsICJrZXlwYXRoIl0gfSk7Ci0gICAgICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93cygnRGF0YUVycm9yJywgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg
ICAgICBvYmpTdG9yZTIuYWRkKHsgeDogInZhbHVlIiwga2V5cGF0aDoga2V5IH0pOwogICAgICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQpAQCAtMTI0LDYgKzEyNCw4IEBACiAgICAgdmFy
IHJlY3Vyc2l2ZTMgPSBbcmVjdXJzaXZlXTsKICAgICBpbnZhbGlkX2tleSgnYXJyYXkgbWVtYmVy
IGNvbnRhaW5zIHNlbGYnLCByZWN1cnNpdmUzKTsKIAorICAgIGludmFsaWRfa2V5KCdwcm94eSBv
ZiBhbiBhcnJheScsIG5ldyBQcm94eShbMSwyLDNdLCB7fSkpOworCiA8L3NjcmlwdD4KIAogPGRp
diBpZD1sb2c+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlnZW5lcmF0b3ItaW5qZWN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlnZW5l
cmF0b3ItaW5qZWN0Lmh0bWwKaW5kZXggZmNkZDdkNmY0YTY1NjNiZTBjNjYzNjFiZTUxNWQxZTY3
MGY3NmNhMC4uMzAxZTkyMzA0MzcwNTkxMjM3YTVhYjUwY2EwZTI2MGYzNzIzNGMyYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIva2V5Z2VuZXJhdG9yLWluamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleWdlbmVyYXRvci1pbmplY3QuaHRtbApA
QCAtODgsNyArODgsNyBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBjb25zdCB0eCA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVj
dFN0b3JlKCdzdG9yZScpOwogCi0gICAgYXNzZXJ0X3Rocm93cygnRGF0YUVycm9yJywgKCkgPT4g
eworICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCAoKSA9PiB7CiAgICAgICBzdG9y
ZS5wdXQoMTIzKTsKICAgICB9LCAnS2V5IHBhdGggc2hvdWxkIGJlIGNoZWNrZWQgYWdhaW5zdCB2
YWx1ZScpOwogCkBAIC0xMDQsMTEgKzEwNCwxMSBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBjb25z
dCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKICAgICBjb25zdCBz
dG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpOwogCi0gICAgYXNzZXJ0X3Rocm93cygnRGF0
YUVycm9yJywgKCkgPT4geworICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCAoKSA9
PiB7CiAgICAgICBzdG9yZS5wdXQoe2E6IDEyM30pOwogICAgIH0sICdLZXkgcGF0aCBzaG91bGQg
YmUgY2hlY2tlZCBhZ2FpbnN0IHZhbHVlJyk7CiAKLSAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJy
b3InLCAoKSA9PiB7CisgICAgYXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsICgpID0+IHsK
ICAgICAgIHN0b3JlLnB1dCh7YToge2I6IDEyM30gfSk7CiAgICAgfSwgJ0tleSBwYXRoIHNob3Vs
ZCBiZSBjaGVja2VkIGFnYWluc3QgdmFsdWUnKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aC1leGNlcHRp
b25zLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleXBhdGgtZXhjZXB0aW9ucy5odG0KaW5kZXggNmQ3OTM3YzUyMmY2MmM2MDliNjA4
OTU1OGNhZGY3ZTNjNGIxMzU1OC4uNjJmY2UzNTJiYWZmZDFjMTgzYTM2Mzc2YjUwMjM0YjZiZjFi
NTgyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5cGF0aC1leGNlcHRpb25zLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlwYXRoLWV4Y2VwdGlv
bnMuaHRtCkBAIC0xMyw3ICsxMyw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICB9LAogICAodCwgZGIp
ID0+IHsKICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUn
KTsKLSAgICBhc3NlcnRfdGhyb3dzKHtuYW1lOiAnRGF0YUVycm9yJ30sICgpID0+IHsKKyAgICBh
c3NlcnRfdGhyb3dzX2RvbSgnRGF0YUVycm9yJywgKCkgPT4gewogICAgICAgdHgub2JqZWN0U3Rv
cmUoJ3N0b3JlJykucHV0KHthOiB7YjogImZvbyJ9fSk7CiAgICAgfSwgJ1B1dCBzaG91bGQgdGhy
b3cgaWYga2V5IGNhbiBub3QgYmUgaW5zZXJ0ZWQgYXQga2V5IHBhdGggbG9jYXRpb24uJyk7CiAg
ICAgdC5kb25lKCk7CkBAIC0yMSwxOCArMjEsMTcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICdUaGUg
bGFzdCBlbGVtZW50IG9mIGtleXBhdGggaXMgdmFsaWRhdGVkJwogKTsKIAotZnVuY3Rpb24gdGhy
b3dzKG5hbWUpIHsKLSAgcmV0dXJuICgpID0+IHsKLSAgICBjb25zdCBlcnIgPSBFcnJvcigpOwot
ICAgIGVyci5uYW1lID0gbmFtZTsKLSAgICB0aHJvdyBlcnI7Ci0gIH07Citjb25zdCBlcnIgPSBF
cnJvcigpOworZXJyLm5hbWUgPSAnZ2V0dGVyJzsKKworZnVuY3Rpb24gdGhyb3dpbmdHZXR0ZXIo
KSB7CisgIHRocm93IGVycjsKIH0KIAogaW5kZXhlZGRiX3Rlc3QoCiAgIGZ1bmN0aW9uKHQsIGRi
KSB7CiAgICAgY29uc3QgbyA9IHt9OwotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAndGhy
b3dzJywge2dldDogdGhyb3dzKCdnZXR0ZXInKSwKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHko
bywgJ3Rocm93cycsIHtnZXQ6IHRocm93aW5nR2V0dGVyLAogICAgICAgICBlbnVtZXJhYmxlOiBm
YWxzZSwgY29uZmlndXJhYmxlOiB0cnVlfSk7CiAKICAgICAvLyBWYWx1ZSBzaG91bGQgYmUgY2xv
bmVkIGJlZm9yZSBrZXkgcGF0aCBpcyBldmFsdWF0ZWQsCkBAIC00MCw3ICszOSw3IEBAIGluZGV4
ZWRkYl90ZXN0KAogICAgIC8vIHdpbGwgaGF2ZSBubyBzdWNoIHByb3BlcnR5LCBzbyBrZXkgcGF0
aCBldmFsdWF0aW9uCiAgICAgLy8gd2lsbCBmYWlsLgogICAgIGNvbnN0IHMxID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3MxJywge2tleVBhdGg6ICd0aHJvd3MnfSk7Ci0gICAgYXNzZXJ0X3Rocm93
cygnRGF0YUVycm9yJywgKCkgPT4geworICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3In
LCAoKSA9PiB7CiAgICAgICBzMS5wdXQobyk7CiAgICAgfSwgJ0tleSBwYXRoIGZhaWxpbmcgdG8g
cmVzb2x2ZSBzaG91bGQgdGhyb3cnKTsKIApAQCAtNDksNyArNDgsNyBAQCBpbmRleGVkZGJfdGVz
dCgKICAgICAvLyB3aWxsIGhhdmUgbm8gc3VjaCBwcm9wZXJ0eSwgc28ga2V5IHBhdGggZXZhbHVh
dGlvbgogICAgIC8vIHdpbGwgZmFpbC4KICAgICBjb25zdCBzMiA9IGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzMicsIHtrZXlQYXRoOiAndGhyb3dzLngnfSk7Ci0gICAgYXNzZXJ0X3Rocm93cygnRGF0
YUVycm9yJywgKCkgPT4geworICAgIGFzc2VydF90aHJvd3NfZG9tKCdEYXRhRXJyb3InLCAoKSA9
PiB7CiAgICAgICBzMi5wdXQobyk7CiAgICAgfSwgJ0tleSBwYXRoIGZhaWxpbmcgdG8gcmVzb2x2
ZSBzaG91bGQgdGhyb3cnKTsKIApAQCAtODAsMjAgKzc5LDIwIEBAIGluZGV4ZWRkYl90ZXN0KAog
aW5kZXhlZGRiX3Rlc3QoCiAgIGZ1bmN0aW9uKHQsIGRiKSB7CiAgICAgY29uc3QgbyA9IHt9Owot
ICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAndGhyb3dzJywge2dldDogdGhyb3dzKCdnZXR0
ZXInKSwKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgJ3Rocm93cycsIHtnZXQ6IHRocm93
aW5nR2V0dGVyLAogICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWV9
KTsKIAogICAgIC8vIFZhbHVlIHNob3VsZCBiZSBjbG9uZWQgYmVmb3JlIGtleSBwYXRoIGlzIGV2
YWx1YXRlZCwKICAgICAvLyBhbmQgZW51bWVyYWJsZSBnZXR0ZXIgd2lsbCByZXRocm93LgogICAg
IGNvbnN0IHMxID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3MxJywge2tleVBhdGg6ICd0aHJvd3Mn
fSk7Ci0gICAgYXNzZXJ0X3Rocm93cyh7bmFtZTogJ2dldHRlcid9LCAoKSA9PiB7CisgICAgYXNz
ZXJ0X3Rocm93c19leGFjdGx5KGVyciwgKCkgPT4gewogICAgICAgczEucHV0KG8pOwogICAgIH0s
ICdLZXkgcGF0aCByZXNvbHZpbmcgdG8gdGhyb3dpbmcgZ2V0dGVyIHJldGhyb3dzJyk7CiAKICAg
ICAvLyBWYWx1ZSBzaG91bGQgYmUgY2xvbmVkIGJlZm9yZSBrZXkgcGF0aCBpcyBldmFsdWF0ZWQs
CiAgICAgLy8gYW5kIGVudW1lcmFibGUgZ2V0dGVyIHdpbGwgcmV0aHJvdy4KICAgICBjb25zdCBz
MiA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzMicsIHtrZXlQYXRoOiAndGhyb3dzLngnfSk7Ci0g
ICAgYXNzZXJ0X3Rocm93cyh7bmFtZTogJ2dldHRlcid9LCAoKSA9PiB7CisgICAgYXNzZXJ0X3Ro
cm93c19leGFjdGx5KGVyciwgKCkgPT4gewogICAgICAgczIucHV0KG8pOwogICAgIH0sICdLZXkg
cGF0aCByZXNvbHZpbmcgcGFzdCB0aHJvd2luZyBnZXR0ZXIgcmV0aHJvd3MnKTsKIApAQCAtMTAx
LDcgKzEwMCw3IEBAIGluZGV4ZWRkYl90ZXN0KAogICAgIC8vIGFuZCBlbnVtZXJhYmxlIGdldHRl
ciB3aWxsIHJldGhyb3cuCiAgICAgY29uc3QgczMgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnczMn
LAogICAgICAgICB7a2V5UGF0aDogJ3Rocm93cycsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLSAg
ICBhc3NlcnRfdGhyb3dzKHtuYW1lOiAnZ2V0dGVyJ30sICgpID0+IHsKKyAgICBhc3NlcnRfdGhy
b3dzX2V4YWN0bHkoZXJyLCAoKSA9PiB7CiAgICAgICBzMy5wdXQobyk7CiAgICAgfSwgJ0tleSBp
bmplY3RhYmlsaXR5IHRlc3QgYXQgdGhyb3dpbmcgZ2V0dGVyIHNob3VsZCByZXRocm93Jyk7CiAK
QEAgLTEwOSw3ICsxMDgsNyBAQCBpbmRleGVkZGJfdGVzdCgKICAgICAvLyBhbmQgZW51bWVyYWJs
ZSBnZXR0ZXIgd2lsbCByZXRocm93LgogICAgIGNvbnN0IHM0ID0gZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3M0JywKICAgICAgICAge2tleVBhdGg6ICd0aHJvd3MueCcsIGF1dG9JbmNyZW1lbnQ6IHRy
dWV9KTsKLSAgICBhc3NlcnRfdGhyb3dzKHtuYW1lOiAnZ2V0dGVyJ30sICgpID0+IHsKKyAgICBh
c3NlcnRfdGhyb3dzX2V4YWN0bHkoZXJyLCAoKSA9PiB7CiAgICAgICBzNC5wdXQobyk7CiAgICAg
fSwgJ0tleSBpbmplY3RhYmlsaXR5IHRlc3QgcGFzdCB0aHJvd2luZyBnZXR0ZXIgc2hvdWxkIHJl
dGhyb3cnKTsKICAgfSwKQEAgLTEyNyw3ICsxMjYsNyBAQCBpbmRleGVkZGJfdGVzdCgKICAgICBm
dW5jdGlvbiB3aXRoX3Byb3RvX2dldHRlcihmKSB7CiAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7
CiAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAndGhyb3dz
JywgewotICAgICAgICAgIGdldDogdGhyb3dzKCdnZXR0ZXInKSwKKyAgICAgICAgICBnZXQ6IHRo
cm93aW5nR2V0dGVyLAogICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6
IHRydWUKICAgICAgICAgfSk7CiAgICAgICAgIHRyeSB7CkBAIC0xNDMsNyArMTQyLDcgQEAgaW5k
ZXhlZGRiX3Rlc3QoCiAgICAgLy8gd2lsbCBoYXZlIG5vIG93biBwcm9wZXJ0eSwgc28ga2V5IHBh
dGggZXZhbHVhdGlvbiB3aWxsCiAgICAgLy8gZmFpbCBhbmQgRGF0YUVycm9yIHNob3VsZCBiZSB0
aHJvd24uCiAgICAgY29uc3QgczEgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnczEnLCB7a2V5UGF0
aDogJ3Rocm93cyd9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJyb3InLCB3aXRoX3Byb3Rv
X2dldHRlcihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgnRGF0YUVycm9yJywg
d2l0aF9wcm90b19nZXR0ZXIoZnVuY3Rpb24oKSB7CiAgICAgICBzMS5wdXQoe30pOwogICAgIH0p
LCAnS2V5IHBhdGggcmVzb2x2aW5nIHRvIG5vIG93biBwcm9wZXJ0eSB0aHJvd3MgRGF0YUVycm9y
Jyk7CiAKQEAgLTE1Miw3ICsxNTEsNyBAQCBpbmRleGVkZGJfdGVzdCgKICAgICAvLyB3aWxsIGhh
dmUgbm8gb3duIHByb3BlcnR5LCBzbyBrZXkgcGF0aCBldmFsdWF0aW9uIHdpbGwKICAgICAvLyBm
YWlsIGFuZCBEYXRhRXJyb3Igc2hvdWxkIGJlIHRocm93bi4KICAgICBjb25zdCBzMiA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzMicsIHtrZXlQYXRoOiAndGhyb3dzLngnfSk7Ci0gICAgYXNzZXJ0
X3Rocm93cygnRGF0YUVycm9yJywgd2l0aF9wcm90b19nZXR0ZXIoZnVuY3Rpb24oKSB7CisgICAg
YXNzZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsIHdpdGhfcHJvdG9fZ2V0dGVyKGZ1bmN0aW9u
KCkgewogICAgICAgczIucHV0KHt9KTsKICAgICB9KSwgJ0tleSBwYXRoIHJlc29sdmluZyBwYXN0
IG5vIG93biBwcm9wZXJ0eSB0aHJvd3MgRGF0YUVycm9yJyk7CiAKQEAgLTE4OCw3ICsxODcsNyBA
QCBpbmRleGVkZGJfdGVzdCgKICAgICBmdW5jdGlvbiB3aXRoX3Byb3RvX2dldHRlcihmKSB7CiAg
ICAgICByZXR1cm4gKCkgPT4gewogICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0
LnByb3RvdHlwZSwgJ3Rocm93cycsIHsKLSAgICAgICAgICBnZXQ6IHRocm93cygnZ2V0dGVyJyks
CisgICAgICAgICAgZ2V0OiB0aHJvd2luZ0dldHRlciwKICAgICAgICAgICBlbnVtZXJhYmxlOiB0
cnVlLCBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgfSk7CiAgICAgICAgIHRyeSB7CkBAIC0y
MDMsNyArMjAyLDcgQEAgaW5kZXhlZGRiX3Rlc3QoCiAgICAgLy8gVGhlIGNsb25lIHdpbGwgaGF2
ZSBubyBvd24gcHJvcGVydHksIHNvIGtleSBwYXRoCiAgICAgLy8gZXZhbHVhdGlvbiB3aWxsIGZh
aWwgYW5kIERhdGFFcnJvciBzaG91bGQgYmUgdGhyb3duLgogICAgIGNvbnN0IHMxID0gZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3MxJywge2tleVBhdGg6ICd0aHJvd3MnfSk7Ci0gICAgYXNzZXJ0X3Ro
cm93cygnRGF0YUVycm9yJywgd2l0aF9wcm90b19nZXR0ZXIoZnVuY3Rpb24oKSB7CisgICAgYXNz
ZXJ0X3Rocm93c19kb20oJ0RhdGFFcnJvcicsIHdpdGhfcHJvdG9fZ2V0dGVyKGZ1bmN0aW9uKCkg
ewogICAgICAgczEucHV0KHt9KTsKICAgICB9KSwgJ0tleSBwYXRoIHJlc29sdmluZyB0byBubyBv
d24gcHJvcGVydHkgdGhyb3dzIERhdGFFcnJvcicpOwogCkBAIC0yMTEsNyArMjEwLDcgQEAgaW5k
ZXhlZGRiX3Rlc3QoCiAgICAgLy8gVGhlIGNsb25lIHdpbGwgaGF2ZSBubyBvd24gcHJvcGVydHks
IHNvIGtleSBwYXRoCiAgICAgLy8gZXZhbHVhdGlvbiB3aWxsIGZhaWwgYW5kIERhdGFFcnJvciBz
aG91bGQgYmUgdGhyb3duLgogICAgIGNvbnN0IHMyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3My
Jywge2tleVBhdGg6ICd0aHJvd3MueCd9KTsKLSAgICBhc3NlcnRfdGhyb3dzKCdEYXRhRXJyb3In
LCB3aXRoX3Byb3RvX2dldHRlcihmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgn
RGF0YUVycm9yJywgd2l0aF9wcm90b19nZXR0ZXIoZnVuY3Rpb24oKSB7CiAgICAgICBzMi5wdXQo
e30pOwogICAgIH0pLCAnS2V5IHBhdGggcmVzb2x2aW5nIHBhc3QgdGhyb3dpbmcgZ2V0dGVyIHJl
dGhyb3dzJyk7CiAKQEAgLTI0OCwyMSArMjQ3LDMxIEBAIGluZGV4ZWRkYl90ZXN0KAogICAgIGNv
bnN0IGFycmF5ID0gW107CiAgICAgYXJyYXlbOTldID0gMTsKIAorICAgIC8vIEltcGxlbWVudGVk
IGFzIGZ1bmN0aW9uIHdyYXBwZXIgdG8gY2xlYW4gdXAKKyAgICAvLyBpbW1lZGlhdGVseSBhZnRl
ciB1c2UsIG90aGVyd2lzZSBpdCBtYXkKKyAgICAvLyBpbnRlcmZlcmUgd2l0aCB0aGUgdGVzdCBo
YXJuZXNzLgogICAgIGxldCBnZXR0ZXJfY2FsbGVkID0gMDsKLSAgICBjb25zdCBwcm9wID0gJzUw
JzsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgcHJvcCwgewot
ICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAgZ2V0OiAo
KSA9PiB7Ci0gICAgICAgICsrZ2V0dGVyX2NhbGxlZDsKLSAgICAgICAgcmV0dXJuICdmb28nOwot
ICAgICAgfSwKLSAgICB9KTsKKyAgICBmdW5jdGlvbiB3aXRoX3Byb3RvX2dldHRlcihmKSB7Cisg
ICAgICBjb25zdCBwcm9wID0gJzUwJzsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmpl
Y3QucHJvdG90eXBlLCBwcm9wLCB7CisgICAgICAgIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3Vy
YWJsZTogdHJ1ZSwKKyAgICAgICAgZ2V0OiAoKSA9PiB7CisgICAgICAgICAgKytnZXR0ZXJfY2Fs
bGVkOworICAgICAgICAgIHJldHVybiAnZm9vJzsKKyAgICAgICAgfQorICAgICAgfSk7CisgICAg
ICB0cnkgeworICAgICAgICByZXR1cm4gZigpOworICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAg
ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbcHJvcF07CisgICAgICB9CisgICAgfQogCi0gICAgY29u
c3QgcmVxdWVzdCA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dCh7aW5kZXgwOiBhcnJheX0s
ICdrZXknKTsKKyAgICBjb25zdCByZXF1ZXN0ID0gd2l0aF9wcm90b19nZXR0ZXIoCisgICAgICAo
KSA9PiB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoe2luZGV4MDogYXJyYXl9LCAna2V5Jykp
OwogICAgIHJlcXVlc3Qub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ3B1dCBzaG91bGQgbm90
IGZhaWwnKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkg
ewogICAgICAgYXNzZXJ0X2VxdWFscyhnZXR0ZXJfY2FsbGVkLCAwLCAnUHJvdG90eXBlIGdldHRl
ciBzaG91bGQgbm90IGJlIGNhbGxlZCcpOwotICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVb
cHJvcF07CiAgICAgICB0LmRvbmUoKTsKICAgICB9KTsKICAgfSwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleXBhdGhf
aW52YWxpZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXlwYXRoX2ludmFsaWQuaHRtCmluZGV4IDFhNDM1N2JiNWQ1ZjNiZjA3MmRh
ZjQwY2NmOWM5ZmZlNDVjNzQ4OGQuLjQ3MGZmMjY4MWIzNDNiOWMzMmJlOTRmYjViZjJiZDU3MDlj
NDZjNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleXBhdGhfaW52YWxpZC5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aF9pbnZhbGlkLmh0
bQpAQCAtMjAsMTIgKzIwLDEyIEBACiAKICAgICAgICAgb3BlbnJxLm9udXBncmFkZW5lZWRlZCA9
IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIHZhciBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKLSAg
ICAgICAgICAgIGFzc2VydF90aHJvd3MoJ1N5bnRheEVycm9yJywgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJyb3InLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgICAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoc3RvcmVfbmFtZSwgeyBrZXlQ
YXRoOiBrZXlwYXRoIH0pCiAgICAgICAgICAgICAgICAgfSwgImNyZWF0ZU9iamVjdFN0b3JlIHdp
dGgga2V5UGF0aCIpOwogCiAgICAgICAgICAgICB2YXIgc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RT
dG9yZShzdG9yZV9uYW1lKTsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoJ1N5bnRheEVycm9y
JywgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU3ludGF4RXJy
b3InLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgc3RvcmUuY3JlYXRlSW5kZXgo
J2luZGV4Jywga2V5cGF0aCk7CiAgICAgICAgICAgICAgICAgfSwgImNyZWF0ZUluZGV4IHdpdGgg
a2V5UGF0aCIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9wYXJhbGxlbC1jdXJzb3JzLXVwZ3JhZGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvcGFyYWxsZWwtY3Vyc29ycy11cGdyYWRlLWV4cGVjdGVkLnR4dAppbmRleCBmMWE3YzM1ZTFj
OGZlNWZiYWZkNjEzYjVkZjc0NThiNTE5NDdhOTI0Li42ZmM1OTcyYWViNTQ2YWNkMjJiZDU5MDY3
ZTQyNzEzOTZjMjE5NmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9wYXJhbGxlbC1jdXJzb3JzLXVwZ3JhZGUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3BhcmFsbGVsLWN1cnNvcnMtdXBncmFkZS1leHBlY3RlZC50eHQKQEAgLTEsNyAr
MSw2IEBACiAKIFBBU1MgMiBjdXJzb3JzIAotUEFTUyAxMCBjdXJzb3JzIAotUEFTUyAxMDAgY3Vy
c29ycyAKLVBBU1MgMTAwMCBjdXJzb3JzIAotUEFTUyAxMDAwMCBjdXJzb3JzIAorUEFTUyAyMCBj
dXJzb3JzIAorUEFTUyAyMDAgY3Vyc29ycyAKK1BBU1MgMjAwMCBjdXJzb3JzIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9wYXJhbGxlbC1jdXJzb3JzLXVwZ3JhZGUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3BhcmFsbGVsLWN1cnNvcnMtdXBncmFkZS5o
dG1sCmluZGV4IGVmNWE2MTdhNDU5ZTNiMjkyOTYzN2NmOTIxNjNlZDFiM2Y5MWRhY2MuLjU1ZDc5
NjMyMTdmMGQ5OWI0NzlkODdmN2FmNjc5YjZjMTZlMjQ4YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3BhcmFsbGVsLWN1
cnNvcnMtdXBncmFkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL3BhcmFsbGVsLWN1cnNvcnMtdXBncmFkZS5odG1sCkBAIC05
LDcgKzksNyBAQAogPHNjcmlwdD4KICd1c2Ugc3RyaWN0JzsKIAotZm9yIChsZXQgY3Vyc29yQ291
bnQgb2YgWzIsIDEwLCAxMDAsIDEwMDAsIDEwMDAwXSkgeworZm9yIChsZXQgY3Vyc29yQ291bnQg
b2YgWzIsIDIwLCAyMDAsIDIwMDBdKSB7CiAgIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAg
ICAgcmV0dXJuIGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCAoZGF0YWJhc2UsIHRyYW5zYWN0aW9u
KSA9PiB7CiAgICAgICBjb25zdCBzdG9yZSA9IGRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKCdj
YWNoZScsIHsga2V5UGF0aDogJ2tleScgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLXRy
YW5zYWN0aW9uLXN0YXRlLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLXRyYW5zYWN0
aW9uLXN0YXRlLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg1MmE0ODFkMzI0YzUzZGZi
Mjk1MjZjZjkxODMwNWRiNGFjNThhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUt
dHJhbnNhY3Rpb24tc3RhdGUuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK0ZB
SUwgVHJhbnNhY3Rpb24gaW5hY3RpdmUgZHVyaW5nIHN0cnVjdHVyZWQgY2xvbmUgaW4gSURCT2Jq
ZWN0U3RvcmUuYWRkKCkgYXNzZXJ0X3Rocm93c19kb206IHRyYW5zYWN0aW9uIHNob3VsZCBub3Qg
YmUgYWN0aXZlIGR1cmluZyBzdHJ1Y3R1cmVkIGNsb25lIGZ1bmN0aW9uICIoKSA9PiB7CisgICAg
ICAgIG9iamVjdFN0b3JlLmdldCgna2V5Jyk7CisgICAgICB9IiBkaWQgbm90IHRocm93CitGQUlM
IFRyYW5zYWN0aW9uIGluYWN0aXZlIGR1cmluZyBzdHJ1Y3R1cmVkIGNsb25lIGluIElEQk9iamVj
dFN0b3JlLnB1dCgpIGFzc2VydF90aHJvd3NfZG9tOiB0cmFuc2FjdGlvbiBzaG91bGQgbm90IGJl
IGFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBjbG9uZSBmdW5jdGlvbiAiKCkgPT4geworICAgICAg
ICBvYmplY3RTdG9yZS5nZXQoJ2tleScpOworICAgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBU
cmFuc2FjdGlvbiBpbmFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBjbG9uZSBpbiBJREJDdXJzb3Iu
dXBkYXRlKCkgYXNzZXJ0X3Rocm93c19kb206IHRyYW5zYWN0aW9uIHNob3VsZCBub3QgYmUgYWN0
aXZlIGR1cmluZyBzdHJ1Y3R1cmVkIGNsb25lIGZ1bmN0aW9uICIoKSA9PiB7CisgICAgICAgIG9i
amVjdFN0b3JlLmdldCgna2V5Jyk7CisgICAgICB9IiBkaWQgbm90IHRocm93CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3N0cnVjdHVyZWQtY2xvbmUtdHJhbnNhY3Rpb24tc3RhdGUuYW55Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNs
b25lLXRyYW5zYWN0aW9uLXN0YXRlLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkz
YjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNs
b25lLXRyYW5zYWN0aW9uLXN0YXRlLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3N0cnVjdHVyZWQtY2xvbmUtdHJhbnNhY3Rpb24tc3RhdGUuYW55LmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9u
ZS10cmFuc2FjdGlvbi1zdGF0ZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ5NGJjNTFlYjAyODQ4YThj
YmU5Y2YxYTA3ZmNhNDgzOWVkZDNkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUt
dHJhbnNhY3Rpb24tc3RhdGUuYW55LmpzCkBAIC0wLDAgKzEsOTYgQEAKKy8vIE1FVEE6IHNjcmlw
dD1zdXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiB0aXRsZT1JbmRleGVkIERCIHRyYW5zYWN0
aW9uIHN0YXRlIGR1cmluZyBTdHJ1Y3R1cmVkIFNlcmlhbGl6aW5nCisvLyBNRVRBOiB0aW1lb3V0
PWxvbmcKKyd1c2Ugc3RyaWN0JzsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsK
KyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGF0YWJhc2UgPT4g
eworICAgIGRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOworICB9KTsKKworICBj
b25zdCB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWR3cml0ZScp
OworICBjb25zdCBvYmplY3RTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScp
OworCisgIGxldCBnZXR0ZXJDYWxsZWQgPSBmYWxzZTsKKyAgY29uc3QgYWN0aXZlVmFsdWUgPSB7
fTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFjdGl2ZVZhbHVlLCAncHJvcGVydHlOYW1lJywg
eworICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgZ2V0OiB0ZXN0Q2FzZS5zdGVwX2Z1bmMoKCkg
PT4geworICAgICAgZ2V0dGVyQ2FsbGVkID0gdHJ1ZTsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiB7CisgICAgICAgIG9iamVjdFN0b3Jl
LmdldCgna2V5Jyk7CisgICAgICB9LCAndHJhbnNhY3Rpb24gc2hvdWxkIG5vdCBiZSBhY3RpdmUg
ZHVyaW5nIHN0cnVjdHVyZWQgY2xvbmUnKTsKKyAgICAgIHJldHVybiAndmFsdWUgdGhhdCBzaG91
bGQgbm90IGJlIHVzZWQnOworICAgIH0pLAorICB9KTsKKyAgb2JqZWN0U3RvcmUuYWRkKGFjdGl2
ZVZhbHVlLCAna2V5Jyk7CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwg
dHJhbnNhY3Rpb24pOworICBkYi5jbG9zZSgpOworCisgIGFzc2VydF90cnVlKGdldHRlckNhbGxl
ZCwKKyAgICAgICAgICAgICAgImFjdGl2ZVZhbHVlJ3MgZ2V0dGVyIHNob3VsZCBiZSBjYWxsZWQg
ZHVyaW5nIHRlc3QiKTsKK30sICdUcmFuc2FjdGlvbiBpbmFjdGl2ZSBkdXJpbmcgc3RydWN0dXJl
ZCBjbG9uZSBpbiBJREJPYmplY3RTdG9yZS5hZGQoKScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMg
dGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNl
LCBkYXRhYmFzZSA9PiB7CisgICAgZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7
CisgIH0pOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSdd
LCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlJyk7CisKKyAgbGV0IGdldHRlckNhbGxlZCA9IGZhbHNlOworICBjb25zdCBh
Y3RpdmVWYWx1ZSA9IHt9OworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYWN0aXZlVmFsdWUsICdw
cm9wZXJ0eU5hbWUnLCB7CisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICBnZXQ6IHRlc3RDYXNl
LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICBnZXR0ZXJDYWxsZWQgPSB0cnVlOworICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsICgpID0+IHsKKyAgICAg
ICAgb2JqZWN0U3RvcmUuZ2V0KCdrZXknKTsKKyAgICAgIH0sICd0cmFuc2FjdGlvbiBzaG91bGQg
bm90IGJlIGFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBjbG9uZScpOworICAgICAgcmV0dXJuICd2
YWx1ZSB0aGF0IHNob3VsZCBub3QgYmUgdXNlZCc7CisgICAgfSksCisgIH0pOworCisgIG9iamVj
dFN0b3JlLnB1dChhY3RpdmVWYWx1ZSwgJ2tleScpOworICBhd2FpdCBwcm9taXNlRm9yVHJhbnNh
Y3Rpb24odGVzdENhc2UsIHRyYW5zYWN0aW9uKTsKKyAgZGIuY2xvc2UoKTsKKworICBhc3NlcnRf
dHJ1ZShnZXR0ZXJDYWxsZWQsCisgICAgICAgICAgICAgICJhY3RpdmVWYWx1ZSdzIGdldHRlciBz
aG91bGQgYmUgY2FsbGVkIGR1cmluZyB0ZXN0Iik7Cit9LCAnVHJhbnNhY3Rpb24gaW5hY3RpdmUg
ZHVyaW5nIHN0cnVjdHVyZWQgY2xvbmUgaW4gSURCT2JqZWN0U3RvcmUucHV0KCknKTsKKworcHJv
bWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVE
YXRhYmFzZSh0ZXN0Q2FzZSwgZGF0YWJhc2UgPT4geworICAgIGNvbnN0IG9iamVjdFN0b3JlID0g
ZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgb2JqZWN0U3RvcmUucHV0
KHt9LCAna2V5Jyk7CisgIH0pOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZSddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisKKyAgbGV0IGdldHRlckNhbGxlZCA9IGZhbHNl
OworICBjb25zdCBhY3RpdmVWYWx1ZSA9IHt9OworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYWN0
aXZlVmFsdWUsICdwcm9wZXJ0eU5hbWUnLCB7CisgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICBn
ZXQ6IHRlc3RDYXNlLnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICBnZXR0ZXJDYWxsZWQgPSB0cnVl
OworICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsICgp
ID0+IHsKKyAgICAgICAgb2JqZWN0U3RvcmUuZ2V0KCdrZXknKTsKKyAgICAgIH0sICd0cmFuc2Fj
dGlvbiBzaG91bGQgbm90IGJlIGFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBjbG9uZScpOworICAg
ICAgcmV0dXJuICd2YWx1ZSB0aGF0IHNob3VsZCBub3QgYmUgdXNlZCc7CisgICAgfSksCisgIH0p
OworCisgIGNvbnN0IHJlcXVlc3QgPSBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7CisgIHJlcXVl
c3Qub25zdWNjZXNzID0gdGVzdENhc2Uuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBjb25zdCBjdXJz
b3IgPSByZXF1ZXN0LnJlc3VsdDsKKyAgICBjdXJzb3IudXBkYXRlKGFjdGl2ZVZhbHVlKTsKKyAg
fSk7CisKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0cmFuc2FjdGlv
bik7CisgIGRiLmNsb3NlKCk7CisKKyAgYXNzZXJ0X3RydWUoZ2V0dGVyQ2FsbGVkLAorICAgICAg
ICAgICAgICAiYWN0aXZlVmFsdWUncyBnZXR0ZXIgc2hvdWxkIGJlIGNhbGxlZCBkdXJpbmcgdGVz
dCIpOworfSwgJ1RyYW5zYWN0aW9uIGluYWN0aXZlIGR1cmluZyBzdHJ1Y3R1cmVkIGNsb25lIGlu
IElEQkN1cnNvci51cGRhdGUoKScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS10cmFuc2Fj
dGlvbi1zdGF0ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUtdHJhbnNh
Y3Rpb24tc3RhdGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg1MmE0ODFk
MzI0YzUzZGZiMjk1MjZjZjkxODMwNWRiNGFjNThhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVy
ZWQtY2xvbmUtdHJhbnNhY3Rpb24tc3RhdGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorCitGQUlMIFRyYW5zYWN0aW9uIGluYWN0aXZlIGR1cmluZyBzdHJ1Y3R1cmVk
IGNsb25lIGluIElEQk9iamVjdFN0b3JlLmFkZCgpIGFzc2VydF90aHJvd3NfZG9tOiB0cmFuc2Fj
dGlvbiBzaG91bGQgbm90IGJlIGFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBjbG9uZSBmdW5jdGlv
biAiKCkgPT4geworICAgICAgICBvYmplY3RTdG9yZS5nZXQoJ2tleScpOworICAgICAgfSIgZGlk
IG5vdCB0aHJvdworRkFJTCBUcmFuc2FjdGlvbiBpbmFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBj
bG9uZSBpbiBJREJPYmplY3RTdG9yZS5wdXQoKSBhc3NlcnRfdGhyb3dzX2RvbTogdHJhbnNhY3Rp
b24gc2hvdWxkIG5vdCBiZSBhY3RpdmUgZHVyaW5nIHN0cnVjdHVyZWQgY2xvbmUgZnVuY3Rpb24g
IigpID0+IHsKKyAgICAgICAgb2JqZWN0U3RvcmUuZ2V0KCdrZXknKTsKKyAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKK0ZBSUwgVHJhbnNhY3Rpb24gaW5hY3RpdmUgZHVyaW5nIHN0cnVjdHVyZWQgY2xv
bmUgaW4gSURCQ3Vyc29yLnVwZGF0ZSgpIGFzc2VydF90aHJvd3NfZG9tOiB0cmFuc2FjdGlvbiBz
aG91bGQgbm90IGJlIGFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBjbG9uZSBmdW5jdGlvbiAiKCkg
PT4geworICAgICAgICBvYmplY3RTdG9yZS5nZXQoJ2tleScpOworICAgICAgfSIgZGlkIG5vdCB0
aHJvdworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLXRyYW5zYWN0aW9uLXN0YXRlLmFueS53
b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUtdHJhbnNhY3Rpb24tc3RhdGUuYW55Lndvcmtlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLXRyYW5zYWN0aW9uLXN0YXRlLmFueS53
b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLmFu
eS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55LmpzCmluZGV4IDgwNzhhYWY3OTZiODQzYWFmOWYyM2Jl
NTg4OWZlYmJlNGM4ZmI5NjAuLmRlNjMzZTYzYjY4MDY1MmUzYmZiNmVmNjAwMjZlNjU5ZDU0OTU5
YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUu
YW55LmpzCkBAIC0xLDYgKzEsMTMgQEAKLS8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LXByb21pc2Vz
LmpzCiAvLyBNRVRBOiB0aXRsZT1JbmRleGVkIERCIGFuZCBTdHJ1Y3R1cmVkIFNlcmlhbGl6aW5n
L0Rlc2VyaWFsaXppbmcKIC8vIE1FVEE6IHRpbWVvdXQ9bG9uZworLy8gTUVUQTogc2NyaXB0PXN1
cHBvcnQtcHJvbWlzZXMuanMKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL3N1YnNldC10ZXN0cy5q
cworLy8gTUVUQTogdmFyaWFudD0/MS0yMAorLy8gTUVUQTogdmFyaWFudD0/MjEtNDAKKy8vIE1F
VEE6IHZhcmlhbnQ9PzQxLTYwCisvLyBNRVRBOiB2YXJpYW50PT82MS04MAorLy8gTUVUQTogdmFy
aWFudD0/ODEtMTAwCisvLyBNRVRBOiB2YXJpYW50PT8xMDEtbGFzdAogCiAvLyBUZXN0cyBJbmRl
eGVkIERCIGNvdmVyYWdlIG9mIEhUTUwncyBTYWZlICJwYXNzaW5nIG9mIHN0cnVjdHVyZWQgZGF0
YSIKIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N0cnVjdHVyZWQt
ZGF0YS5odG1sCkBAIC0yMCw3ICsyNyw3IEBAIGZ1bmN0aW9uIGRlc2NyaWJlKHZhbHVlKSB7CiB9
CiAKIGZ1bmN0aW9uIGNsb25lVGVzdCh2YWx1ZSwgdmVyaWZ5RnVuYykgewotICBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgIHN1YnNldFRlc3QocHJvbWlzZV90ZXN0LCBhc3luYyB0ID0+IHsK
ICAgICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHQsIGRiID0+IHsKICAgICAgIGNv
bnN0IHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CiAgICAgICAvLyBUaGlz
IGluZGV4IGlzIG5vdCB1c2VkLCBidXQgZXZhbHVhdGluZyBrZXkgcGF0aCBvbiBlYWNoIHB1dCgp
CkBAIC01Myw3ICs2MCw3IEBAIGZ1bmN0aW9uIGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwgdmVyaWZ5
RnVuYykgewogfQogCiBmdW5jdGlvbiBjbG9uZUZhaWx1cmVUZXN0KHZhbHVlKSB7Ci0gIHByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgc3Vic2V0VGVzdChwcm9taXNlX3Rlc3QsIGFzeW5jIHQg
PT4gewogICAgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodCwgZGIgPT4gewogICAg
ICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CiAgICAgfSk7CkBAIC02NSw3ICs3Miw3
IEBAIGZ1bmN0aW9uIGNsb25lRmFpbHVyZVRlc3QodmFsdWUpIHsKICAgICB9KTsKICAgICBjb25z
dCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKICAgICBjb25zdCBz
dG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpOwotICAgIGFzc2VydF90aHJvd3MoJ0RhdGFD
bG9uZUVycm9yJywgKCkgPT4gc3RvcmUucHV0KHZhbHVlLCAna2V5JykpOworICAgIGFzc2VydF90
aHJvd3NfZG9tKCdEYXRhQ2xvbmVFcnJvcicsICgpID0+IHN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
KTsKICAgfSwgJ05vdCBzZXJpYWxpemFibGU6ICcgKyBkZXNjcmliZSh2YWx1ZSkpOwogfQogCkBA
IC0yNDMsNyArMjUwLDYgQEAgY2xvbmVPYmplY3RUZXN0KHtmb286IHRydWUsIGJhcjogZmFsc2V9
LCAob3JpZywgY2xvbmUpID0+IHsKIC8vIFRPRE86IFRlc3QgdGhlc2UgYWRkaXRpb25hbCBpbnRl
cmZhY2VzOgogLy8gKiBET01RdWFkCiAvLyAqIERPTUV4Y2VwdGlvbgotLy8gKiBEZXRlY3RlZFRl
eHQsIERldGVjdGVkRmFjZSwgRGV0ZWN0ZWRCYXJjb2RlCiAvLyAqIFJUQ0NlcnRpZmljYXRlCiAK
IC8vIEdlb21ldHJ5IHR5cGVzCkBAIC0yODgsOCArMjk0LDYgQEAgY2xvbmVPYmplY3RUZXN0KAog
ICAgIGFzc2VydF9lcXVhbHMob3JpZy50eXBlLCBjbG9uZS50eXBlKTsKICAgICBhc3NlcnRfZXF1
YWxzKG9yaWcubmFtZSwgY2xvbmUubmFtZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhvcmlnLmxhc3RN
b2RpZmllZCwgY2xvbmUubGFzdE1vZGlmaWVkKTsKLSAgICBhc3NlcnRfZXF1YWxzKFN0cmluZyhv
cmlnLmxhc3RNb2RpZmllZERhdGUpLAotICAgICAgICAgICAgICAgICAgU3RyaW5nKGNsb25lLmxh
c3RNb2RpZmllZERhdGUpKTsKICAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IG9yaWcudGV4dCgpLCBh
d2FpdCBjbG9uZS50ZXh0KCkpOwogICB9KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N1cHBvcnQu
anMKaW5kZXggZDNiMmJiN2QxMjEyZGQ2ZGUwMzc5YmYyZGNlMGIyM2U0NWY3YzdjYi4uOGRiZmE2
ZjFlMzdkNzYzMWJmNWY2OWI5ZGE5YjkwNjg3NmM1ZDJjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9zdXBwb3J0LmpzCkBAIC0xMDEsNiArMTAxLDE2IEBAIGZ1bmN0aW9uIGFzc2VydF9rZXlfZXF1
YWxzKGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKSB7CiAgIGFzc2VydF9lcXVhbHMoaW5k
ZXhlZERCLmNtcChhY3R1YWwsIGV4cGVjdGVkKSwgMCwgZGVzY3JpcHRpb24pOwogfQogCisvLyBV
c2FnZToKKy8vICAgaW5kZXhlZGRiX3Rlc3QoCisvLyAgICAgKHRlc3Rfb2JqZWN0LCBkYl9jb25u
ZWN0aW9uLCB1cGdyYWRlX3R4LCBvcGVuX3JlcXVlc3QpID0+IHsKKy8vICAgICAgICAvLyBEYXRh
YmFzZSBjcmVhdGlvbiBsb2dpYy4KKy8vICAgICB9LAorLy8gICAgICh0ZXN0X29iamVjdCwgZGJf
Y29ubmVjdGlvbiwgb3Blbl9yZXF1ZXN0KSA9PiB7CisvLyAgICAgICAgLy8gVGVzdCBsb2dpYy4K
Ky8vICAgICAgICB0ZXN0X29iamVjdC5kb25lKCk7CisvLyAgICAgfSwKKy8vICAgICAnVGVzdCBj
YXNlIGRlc2NyaXB0aW9uJyk7CiBmdW5jdGlvbiBpbmRleGVkZGJfdGVzdCh1cGdyYWRlX2Z1bmMs
IG9wZW5fZnVuYywgZGVzY3JpcHRpb24sIG9wdGlvbnMpIHsKICAgYXN5bmNfdGVzdChmdW5jdGlv
bih0KSB7CiAgICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe3VwZ3JhZGVfd2lsbF9hYm9ydDog
ZmFsc2V9LCBvcHRpb25zKTsKQEAgLTE4OSwzICsxOTksMTMgQEAgZnVuY3Rpb24ga2VlcF9hbGl2
ZSh0eCwgc3RvcmVfbmFtZSkgewogICAgIGtlZXBTcGlubmluZyA9IGZhbHNlOwogICB9OwogfQor
CisvLyBSZXR1cm5zIGEgbmV3IGZ1bmN0aW9uLiBBZnRlciBpdCBpcyBjYWxsZWQgfGNvdW50fCB0
aW1lcywgfGZ1bmN8CisvLyB3aWxsIGJlIGNhbGxlZC4KK2Z1bmN0aW9uIGJhcnJpZXJfZnVuYyhj
b3VudCwgZnVuYykgeworICBsZXQgbiA9IDA7CisgIHJldHVybiAoKSA9PiB7CisgICAgaWYgKCsr
biA9PT0gY291bnQpCisgICAgICBmdW5jKCk7CisgIH07Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1hYm9ydC1pbmRleC1tZXRhZGF0YS1yZXZlcnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LWluZGV4
LW1ldGFkYXRhLXJldmVydC5odG1sCmluZGV4IDBiMjE2ZjYzM2U2ZWU0YWNlMjc2Zjg2YTViZDdm
N2MwMzYyOThiOWEuLjM1NWZiYmMzMWZlYjYyMThiMmZmZDA4ZjdiNTRjZmYzNGNkODljZTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LWluZGV4LW1ldGFkYXRhLXJldmVydC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uLWFib3J0LWluZGV4LW1ldGFkYXRhLXJldmVydC5odG1sCkBAIC0yNCw3ICsyNCw3
IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAnYmVmb3JlIHRoZSB0
cmFuc2FjdGlvbiBpcyBhYm9ydGVkJyk7CiAKICAgICAgICAgdHJhbnNhY3Rpb24uYWJvcnQoKTsK
LSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAg
ICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAg
ICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwg
aW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAgJ3RoZSBpbmRleCBpcyBtYXJrZWQgZm9y
IGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsKQEAgLTM0LDcgKzM0LDcgQEAgcHJvbWlz
ZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAgICAgICdJREJPYmplY3RTdG9yZS5pbmRleE5h
bWVzIHNob3VsZCBzdG9wIGluY2x1ZGluZyB0aGUgbmV3bHkgJyArCiAgICAgICAgICAgICAnY3Jl
YXRlZCBpbmRleGVzIGltbWVkaWF0ZWx5IGFmdGVyIElEQlRyYW5zYWN0aW9uLmFib3J0KCkgcmV0
dXJucycpOwogICAgIH0pKS50aGVuKCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAg
ICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3In
LCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNo
b3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAg
ICAgICAgJ3RoZSBpbmRleCBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLCBhZnRlciB0aGUgdHJhbnNh
Y3Rpb24gaXMgJyArCkBAIC01OSw3ICs1OSw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7
CiAgICAgICAgIGluZGV4ID0gc3RvcmUuaW5kZXgoJ25vdF9ieV9hdXRob3InKTsKIAogICAgICAg
ICBkYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgnbm90X2Jvb2tzJyk7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3MoCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICAgJ0ludmFs
aWRTdGF0ZUVycm9yJywgKCkgPT4gaW5kZXguZ2V0KCdxdWVyeScpLAogICAgICAgICAgICAgJ0lE
QkluZGV4LmdldCBzaG91bGQgdGhyb3cgSW52YWxpZFN0YXRlRXJyb3IsIGluZGljYXRpbmcgdGhh
dCAnICsKICAgICAgICAgICAgICd0aGUgaW5kZXggaXMgbWFya2VkIGZvciBkZWxldGlvbiwgaW1t
ZWRpYXRlbHkgYWZ0ZXIgJyArCkBAIC03MCw3ICs3MCw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2Fz
ZSA9PiB7CiAgICAgICAgICAgICAnSURCRGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoKSByZXR1
cm5zJyk7CiAKICAgICAgICAgdHJhbnNhY3Rpb24uYWJvcnQoKTsKLSAgICAgICAgYXNzZXJ0X3Ro
cm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnVHJhbnNhY3Rp
b25JbmFjdGl2ZUVycm9yJywgKCkgPT4gaW5kZXguZ2V0KCdxdWVyeScpLAogICAgICAgICAgICAg
J0lEQkluZGV4LmdldCBzaG91bGQgdGhyb3cgVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yLCBpbmRp
Y2F0aW5nICcgKwogICAgICAgICAgICAgJ3RoYXQgdGhlIGluZGV4IGlzIG5vIGxvbmdlciBtYXJr
ZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSAnICsKQEAgLTgwLDcgKzgwLDcgQEAgcHJvbWlz
ZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAgICAgICdJREJPYmplY3RTdG9yZS5pbmRleE5h
bWVzIHNob3VsZCBpbmNsdWRlIHRoZSBkZWxldGVkIGluZGV4ZXMgJyArCiAgICAgICAgICAgICAn
aW1tZWRpYXRlbHkgYWZ0ZXIgSURCVHJhbnNhY3Rpb24uYWJvcnQoKSByZXR1cm5zJyk7CiAgICAg
fSkpLnRoZW4oKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgKICAgICAgICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9
PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0
aHJvdyBUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsIGluZGljYXRpbmcgJyArCiAgICAgICAgICAg
ICAndGhhdCB0aGUgaW5kZXggaXMgbm8gbG9uZ2VyIG1hcmtlZCBmb3IgZGVsZXRpb24sIGFmdGVy
IHRoZSAnICsKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewog
ICAgICAgICAgICAgJ2JlZm9yZSB0aGUgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCcpOwogCiAgICAg
ICAgIGRhdGFiYXNlLmRlbGV0ZU9iamVjdFN0b3JlKCdub3RfYm9va3MnKTsKLSAgICAgICAgYXNz
ZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52
YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAn
SURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyB0
aGF0ICcgKwogICAgICAgICAgICAgJ3RoZSBpbmRleCBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLCBp
bW1lZGlhdGVseSBhZnRlciAnICsKQEAgLTExOSw3ICsxMTksNyBAQCBwcm9taXNlX3Rlc3QodGVz
dENhc2UgPT4gewogICAgICAgICAgICAgJ0lEQkRhdGFiYXNlLmRlbGV0ZU9iamVjdFN0b3JlKCkg
cmV0dXJucycpOwogCiAgICAgICAgIHRyYW5zYWN0aW9uLmFib3J0KCk7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3MoCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICAgJ0ludmFs
aWRTdGF0ZUVycm9yJywgKCkgPT4gaW5kZXguZ2V0KCdxdWVyeScpLAogICAgICAgICAgICAgJ0lE
QkluZGV4LmdldCBzaG91bGQgdGhyb3cgSW52YWxpZFN0YXRlRXJyb3IsIGluZGljYXRpbmcgdGhh
dCAnICsKICAgICAgICAgICAgICd0aGUgaW5kZXggaXMgc3RpbGwgbWFya2VkIGZvciBkZWxldGlv
biwgaW1tZWRpYXRlbHkgYWZ0ZXIgJyArCkBAIC0xMjksNyArMTI5LDcgQEAgcHJvbWlzZV90ZXN0
KHRlc3RDYXNlID0+IHsKICAgICAgICAgICAgICdJREJPYmplY3RTdG9yZS5pbmRleE5hbWVzIHNo
b3VsZCBub3QgaW5jbHVkZSB0aGUgbmV3bHkgJyArCiAgICAgICAgICAgICAnY3JlYXRlZCBpbmRl
eGVzIGltbWVkaWF0ZWx5IGFmdGVyIElEQlRyYW5zYWN0aW9uLmFib3J0KCkgcmV0dXJucycpOwog
ICAgIH0pKS50aGVuKCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNz
ZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBp
bmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJv
dyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAgJ3Ro
ZSBpbmRleCBpcyBzdGlsbCBtYXJrZWQgZm9yIGRlbGV0aW9uLCBhZnRlciB0aGUgdHJhbnNhY3Rp
b24gJyArCkBAIC0xNTgsNyArMTU4LDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAg
ICAgICAgICAgICdiZWZvcmUgdGhlIHRyYW5zYWN0aW9uIGlzIGFib3J0ZWQnKTsKIAogICAgICAg
ICB0cmFuc2FjdGlvbi5hYm9ydCgpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBh
c3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+
IGluZGV4LmdldCgncXVlcnknKSwKICAgICAgICAgICAgICdJREJJbmRleC5nZXQgc2hvdWxkIHRo
cm93IEludmFsaWRTdGF0ZUVycm9yLCBpbmRpY2F0aW5nIHRoYXQgJyArCiAgICAgICAgICAgICAn
dGhlIGluZGV4IGlzIG1hcmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5IGFmdGVyICcgKwpA
QCAtMTY4LDcgKzE2OCw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAg
ICAnSURCT2JqZWN0U3RvcmUuaW5kZXhOYW1lcyBzaG91bGQgc3RvcCBpbmNsdWRpbmcgdGhlIG5l
d2x5ICcgKwogICAgICAgICAgICAgJ2NyZWF0ZWQgaW5kZXggaW1tZWRpYXRlbHkgYWZ0ZXIgSURC
VHJhbnNhY3Rpb24uYWJvcnQoKSByZXR1cm5zJyk7CiAgICAgfSkpLnRoZW4oKCkgPT4gewotICAg
ICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAg
ICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IGluZGV4LmdldCgncXVlcnknKSwKICAgICAg
ICAgICAgICdJREJJbmRleC5nZXQgc2hvdWxkIHRocm93IEludmFsaWRTdGF0ZUVycm9yLCBpbmRp
Y2F0aW5nIHRoYXQgJyArCiAgICAgICAgICAgICAndGhlIGluZGV4IGlzIG1hcmtlZCBmb3IgZGVs
ZXRpb24sIGFmdGVyIHRoZSB0cmFuc2FjdGlvbiBpcyAnICsKQEAgLTE5Miw3ICsxOTIsNyBAQCBw
cm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICBpbmRleCA9IHN0b3JlLmluZGV4KCdu
b3RfYnlfYXV0aG9yJyk7CiAKICAgICAgICAgc3RvcmUuZGVsZXRlSW5kZXgoJ25vdF9ieV9hdXRo
b3InKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
CiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5
JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVF
cnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAgJ3RoZSBpbmRleCBpcyBtYXJr
ZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsKQEAgLTIwMyw3ICsyMDMsNyBA
QCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ2ltbWVkaWF0ZWx5IGFm
dGVyIElEQk9iamVjdFN0b3JlLmRlbGV0ZUluZGV4KCkgcmV0dXJucycpOwogCiAgICAgICAgIHRy
YW5zYWN0aW9uLmFib3J0KCk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKAogICAgICAgICAgICAgJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsICgp
ID0+IGluZGV4LmdldCgncXVlcnknKSwKICAgICAgICAgICAgICdJREJJbmRleC5nZXQgc2hvdWxk
IHRocm93IFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciwgaW5kaWNhdGluZyAnICsKICAgICAgICAg
ICAgICd0aGF0IHRoZSBpbmRleCBpcyBubyBsb25nZXIgbWFya2VkIGZvciBkZWxldGlvbiwgaW1t
ZWRpYXRlbHkgJyArCkBAIC0yMTMsNyArMjEzLDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+
IHsKICAgICAgICAgICAgICdJREJPYmplY3RTdG9yZS5pbmRleE5hbWVzIHNob3VsZCBpbmNsdWRl
IHRoZSBkZWxldGVkIGluZGV4ZXMgJyArCiAgICAgICAgICAgICAnaW1tZWRpYXRlbHkgYWZ0ZXIg
SURCVHJhbnNhY3Rpb24uYWJvcnQoKSByZXR1cm5zJyk7CiAgICAgfSkpLnRoZW4oKCkgPT4gewot
ICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAg
ICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5
JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBUcmFuc2FjdGlvbklu
YWN0aXZlRXJyb3IsIGluZGljYXRpbmcgJyArCiAgICAgICAgICAgICAndGhhdCB0aGUgaW5kZXgg
aXMgbm8gbG9uZ2VyIG1hcmtlZCBmb3IgZGVsZXRpb24sIGFmdGVyIHRoZSAnICsKQEAgLTI0MSw3
ICsyNDEsNyBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ2JlZm9y
ZSB0aGUgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCcpOwogCiAgICAgICAgIHN0b3JlLmRlbGV0ZUlu
ZGV4KCdub3RfYnlfaXNibicpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3Nl
cnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IGlu
ZGV4LmdldCgncXVlcnknKSwKICAgICAgICAgICAgICdJREJJbmRleC5nZXQgc2hvdWxkIHRocm93
IEludmFsaWRTdGF0ZUVycm9yLCBpbmRpY2F0aW5nIHRoYXQgJyArCiAgICAgICAgICAgICAndGhl
IGluZGV4IGlzIG1hcmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5IGFmdGVyICcgKwpAQCAt
MjUyLDcgKzI1Miw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAn
aW1tZWRpYXRlbHkgYWZ0ZXIgSURCT2JqZWN0U3RvcmUuZGVsZXRlSW5kZXgoKSByZXR1cm5zJyk7
CiAKICAgICAgICAgdHJhbnNhY3Rpb24uYWJvcnQoKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygK
KyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJy
b3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0
IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAg
ICAgICAgICAgJ3RoZSBpbmRleCBpcyBzdGlsbCBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlh
dGVseSBhZnRlciAnICsKQEAgLTI2Miw3ICsyNjIsNyBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2Ug
PT4gewogICAgICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLmluZGV4TmFtZXMgc2hvdWxkIHN0b3Ag
aW5jbHVkaW5nIHRoZSBuZXdseSAnICsKICAgICAgICAgICAgICdjcmVhdGVkIGluZGV4IGltbWVk
aWF0ZWx5IGFmdGVyIElEQlRyYW5zYWN0aW9uLmFib3J0KCkgcmV0dXJucycpOwogICAgIH0pKS50
aGVuKCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93
c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQo
J3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlk
U3RhdGVFcnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAgJ3RoZSBpbmRleCBp
cyBtYXJrZWQgZm9yIGRlbGV0aW9uLCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gaXMgJyArCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1tdWx0aXBsZS1tZXRhZGF0YS1yZXZlcnQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5z
YWN0aW9uLWFib3J0LW11bHRpcGxlLW1ldGFkYXRhLXJldmVydC5odG1sCmluZGV4IGFjNjE3ODg4
MjJkZDg5Njk5MTVlNDIxYjgwM2ZkZDgxNjc0MzJmMzguLmNhNjNlYWFhZDM3MTRhNGE3YmY0YWU1
OTQyYTA5NGNmYjlmMzYxNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LW11bHRpcGxlLW1l
dGFkYXRhLXJldmVydC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LW11bHRpcGxlLW1ldGFkYXRh
LXJldmVydC5odG1sCkBAIC0zMSw3ICszMSw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7
CiAKICAgICAgICAgaW5kZXggPSBzdG9yZS5pbmRleCgnbm90X2J5X2F1dGhvcicpOwogICAgICAg
ICBzdG9yZS5kZWxldGVJbmRleCgnbm90X2J5X2F1dGhvcicpOwotICAgICAgICBhc3NlcnRfdGhy
b3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdJbnZhbGlkU3Rh
dGVFcnJvcicsICgpID0+IGluZGV4LmdldCgncXVlcnknKSwKICAgICAgICAgICAgICdJREJJbmRl
eC5nZXQgc2hvdWxkIHRocm93IEludmFsaWRTdGF0ZUVycm9yLCBpbmRpY2F0aW5nIHRoYXQgJyAr
CiAgICAgICAgICAgICAndGhlIGluZGV4IGlzIG1hcmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0
ZWx5IGFmdGVyICcgKwpAQCAtNDIsMTIgKzQyLDEyIEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9
PiB7CiAgICAgICAgICAgICAnaW1tZWRpYXRlbHkgYWZ0ZXIgSURCT2JqZWN0U3RvcmUuZGVsZXRl
SW5kZXgoKSByZXR1cm5zJyk7CiAKICAgICAgICAgdHJhbnNhY3Rpb24uYWJvcnQoKTsKLSAgICAg
ICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAg
ICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBzdG9yZS5nZXQoJ3F1ZXJ5JyksCiAgICAgICAg
ICAgICAnSURCT2JqZWN0U3RvcmUuZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwg
aW5kaWNhdGluZyAnICsKICAgICAgICAgICAgICd0aGF0IHRoZSBzdG9yZSBpcyBtYXJrZWQgZm9y
IGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsKICAgICAgICAgICAgICdJREJUcmFuc2Fj
dGlvbi5hYm9ydCgpIHJldHVybnMnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9
PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0
aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAg
J3RoZSBpbmRleCBpcyBzdGlsbCBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRl
ciAnICsKQEAgLTY1LDEyICs2NSwxMiBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAg
ICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLmluZGV4TmFtZXMgZm9yIHRoZSBuZXdseSBjcmVhdGVk
IHN0b3JlIHNob3VsZCBiZSAnICsKICAgICAgICAgICAgICdlbXB0eSBpbW1lZGlhdGVseSBhZnRl
ciBJREJUcmFuc2FjdGlvbi5hYm9ydCgpIHJldHVybnMnKTsKICAgICB9KSkudGhlbigoKSA9PiB7
Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAg
ICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gc3RvcmUuZ2V0KCdxdWVyeScpLAog
ICAgICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLmdldCBzaG91bGQgdGhyb3cgSW52YWxpZFN0YXRl
RXJyb3IsIGluZGljYXRpbmcgJyArCiAgICAgICAgICAgICAndGhhdCB0aGUgc3RvcmUgaXMgbWFy
a2VkIGZvciBkZWxldGlvbiwgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGlzICcgKwogICAgICAgICAg
ICAgJ2Fib3J0ZWQnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5n
ZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBJbnZh
bGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAgJ3RoZSBpbmRl
eCBpcyBzdGlsbCBtYXJrZWQgZm9yIGRlbGV0aW9uLCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gJyAr
CkBAIC0xMDUsNyArMTA1LDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAg
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnbm90X2Jvb2tzJyk7CiAgICAgICAgIGlu
ZGV4ID0gc3RvcmUuaW5kZXgoJ25vdF9ieV9hdXRob3InKTsKICAgICAgICAgc3RvcmUuZGVsZXRl
SW5kZXgoJ25vdF9ieV9hdXRob3InKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9
PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0
aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAg
J3RoZSBpbmRleCBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsK
QEAgLTExNiwxMiArMTE2LDEyIEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAg
ICAgICAnaW1tZWRpYXRlbHkgYWZ0ZXIgSURCT2JqZWN0U3RvcmUuZGVsZXRlSW5kZXgoKSByZXR1
cm5zJyk7CiAKICAgICAgICAgZGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoJ25vdF9ib29rcycp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAg
ICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHN0b3JlLmdldCgncXVlcnknKSwK
ICAgICAgICAgICAgICdJREJPYmplY3RTdG9yZS5nZXQgc2hvdWxkIHRocm93IEludmFsaWRTdGF0
ZUVycm9yLCBpbmRpY2F0aW5nICcgKwogICAgICAgICAgICAgJ3RoYXQgdGhlIHN0b3JlIGlzIG1h
cmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5IGFmdGVyICcgKwogICAgICAgICAgICAgJ0lE
QkRhdGFiYXNlLmRlbGV0ZU9iamVjdFN0b3JlKCkgcmV0dXJucycpOwotICAgICAgICBhc3NlcnRf
dGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdJbnZhbGlk
U3RhdGVFcnJvcicsICgpID0+IGluZGV4LmdldCgncXVlcnknKSwKICAgICAgICAgICAgICdJREJJ
bmRleC5nZXQgc2hvdWxkIHRocm93IEludmFsaWRTdGF0ZUVycm9yLCBpbmRpY2F0aW5nIHRoYXQg
JyArCiAgICAgICAgICAgICAndGhlIGluZGV4IGlzIHN0aWxsIG1hcmtlZCBmb3IgZGVsZXRpb24s
IGltbWVkaWF0ZWx5IGFmdGVyICcgKwpAQCAtMTQyLDEyICsxNDIsMTIgQEAgcHJvbWlzZV90ZXN0
KHRlc3RDYXNlID0+IHsKICAgICAgICAgICAgICdpbW1lZGlhdGVseSBhZnRlciBJREJEYXRhYmFz
ZS5kZWxldGVPYmplY3RTdG9yZSgpIHJldHVybnMnKTsKIAogICAgICAgICB0cmFuc2FjdGlvbi5h
Ym9ydCgpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgKICAgICAgICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiBzdG9yZS5n
ZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUuZ2V0IHNob3VsZCB0aHJv
dyBUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsICcgKwogICAgICAgICAgICAgJ2luZGljYXRpbmcg
dGhhdCB0aGUgc3RvcmUgaXMgbm8gbG9uZ2VyIG1hcmtlZCBmb3IgZGVsZXRpb24sICcgKwogICAg
ICAgICAgICAgJ2ltbWVkaWF0ZWx5IGFmdGVyIElEQlRyYW5zYWN0aW9uLmFib3J0KCkgcmV0dXJu
cycpOwotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgK
ICAgICAgICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQo
J3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3IsIGluZGljYXRpbmcgJyArCiAgICAgICAgICAgICAndGhhdCB0aGUg
aW5kZXggaXMgbm8gbG9uZ2VyIG1hcmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5ICcgKwpA
QCAtMTY1LDEyICsxNjUsMTIgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAg
ICAgICdJREJPYmplY3RTdG9yZS5pbmRleE5hbWVzIGZvciB0aGUgZGVsZXRlZCBzdG9yZSBzaG91
bGQgbm90IGJlICcgKwogICAgICAgICAgICAgJ2VtcHR5IGFueSBtb3JlIGltbWVkaWF0ZWx5IGFm
dGVyIElEQlRyYW5zYWN0aW9uLmFib3J0KCkgcmV0dXJucycpOwogICAgIH0pKS50aGVuKCgpID0+
IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAg
ICAgICAgICAgICAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywgKCkgPT4gc3RvcmUuZ2V0KCdx
dWVyeScpLAogICAgICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLmdldCBzaG91bGQgdGhyb3cgVHJh
bnNhY3Rpb25JbmFjdGl2ZUVycm9yLCAnICsKICAgICAgICAgICAgICdpbmRpY2F0aW5nIHRoYXQg
dGhlIHN0b3JlIGlzIG5vIGxvbmdlciBtYXJrZWQgZm9yIGRlbGV0aW9uLCAnICsKICAgICAgICAg
ICAgICdhZnRlciB0aGUgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCcpOwotICAgICAgICBhc3NlcnRf
dGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAg
ICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsIGlu
ZGljYXRpbmcgJyArCiAgICAgICAgICAgICAndGhhdCB0aGUgaW5kZXggaXMgbm8gbG9uZ2VyIG1h
cmtlZCBmb3IgZGVsZXRpb24sIGFmdGVyIHRoZSAnICsKQEAgLTIwNCw3ICsyMDQsNyBAQCBwcm9t
aXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICBtaWdyYXRpb25UcmFuc2FjdGlvbiA9IHRy
YW5zYWN0aW9uOwogICAgICAgICBpbmRleCA9IHN0b3JlLmluZGV4KCdub3RfYnlfYXV0aG9yJyk7
CiAgICAgICAgIHN0b3JlLmRlbGV0ZUluZGV4KCdub3RfYnlfYXV0aG9yJyk7Ci0gICAgICAgIGFz
c2VydF90aHJvd3MoCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICAgJ0lu
dmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gaW5kZXguZ2V0KCdxdWVyeScpLAogICAgICAgICAgICAg
J0lEQkluZGV4LmdldCBzaG91bGQgdGhyb3cgSW52YWxpZFN0YXRlRXJyb3IsIGluZGljYXRpbmcg
dGhhdCAnICsKICAgICAgICAgICAgICd0aGUgaW5kZXggaXMgbWFya2VkIGZvciBkZWxldGlvbiwg
aW1tZWRpYXRlbHkgYWZ0ZXIgJyArCkBAIC0yMTUsMTIgKzIxNSwxMiBAQCBwcm9taXNlX3Rlc3Qo
dGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ2ltbWVkaWF0ZWx5IGFmdGVyIElEQk9iamVjdFN0
b3JlLmRlbGV0ZUluZGV4KCkgcmV0dXJucycpOwogCiAgICAgICAgIGRhdGFiYXNlLmRlbGV0ZU9i
amVjdFN0b3JlKCdub3RfYm9va3MnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9
PiBzdG9yZS5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUuZ2V0IHNo
b3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyAnICsKICAgICAgICAgICAg
ICd0aGF0IHRoZSBzdG9yZSBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRl
ciAnICsKICAgICAgICAgICAgICdJREJEYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgpIHJldHVy
bnMnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
CiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5
JyksCiAgICAgICAgICAgICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVF
cnJvciwgaW5kaWNhdGluZyB0aGF0ICcgKwogICAgICAgICAgICAgJ3RoZSBpbmRleCBpcyBzdGls
bCBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsKQEAgLTI0MSwxMiAr
MjQxLDEyIEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAnSURCRGF0
YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoKSByZXR1cm5zJyk7CiAKICAgICAgICAgdHJhbnNhY3Rp
b24uYWJvcnQoKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93
c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBzdG9yZS5nZXQo
J3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUuZ2V0IHNob3VsZCB0aHJvdyBJ
bnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyAnICsKICAgICAgICAgICAgICd0aGF0IHRoZSBz
dG9yZSBpcyBzdGlsbCBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsK
ICAgICAgICAgICAgICdJREJUcmFuc2FjdGlvbi5hYm9ydCgpIHJldHVybnMnKTsKLSAgICAgICAg
YXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAn
SW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBpbmRleC5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAg
ICAnSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGlu
ZyB0aGF0ICcgKwogICAgICAgICAgICAgJ3RoZSBpbmRleCBpcyBzdGlsbCBtYXJrZWQgZm9yIGRl
bGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsKQEAgLTI2NCwxMiArMjY0LDEyIEBAIHByb21p
c2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUuaW5kZXhO
YW1lcyBzaG91bGQgYmUgZW1wdHkgaW1tZWRpYXRlbHkgYWZ0ZXIgJyArCiAgICAgICAgICAgICAn
SURCVHJhbnNhY3Rpb24uYWJvcnQoKSByZXR1cm5zJyk7CiAgICAgfSkpLnRoZW4oKCkgPT4gewot
ICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAg
ICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHN0b3JlLmdldCgncXVlcnknKSwKICAg
ICAgICAgICAgICdJREJPYmplY3RTdG9yZS5nZXQgc2hvdWxkIHRocm93IEludmFsaWRTdGF0ZUVy
cm9yLCBpbmRpY2F0aW5nICcgKwogICAgICAgICAgICAgJ3RoYXQgdGhlIHN0b3JlIGlzIHN0aWxs
IG1hcmtlZCBmb3IgZGVsZXRpb24sIGFmdGVyIHRoZSAnICsKICAgICAgICAgICAgICd0cmFuc2Fj
dGlvbiBpcyBhYm9ydGVkJyk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKAogICAgICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gaW5k
ZXguZ2V0KCdxdWVyeScpLAogICAgICAgICAgICAgJ0lEQkluZGV4LmdldCBzaG91bGQgdGhyb3cg
SW52YWxpZFN0YXRlRXJyb3IsIGluZGljYXRpbmcgdGhhdCAnICsKICAgICAgICAgICAgICd0aGUg
aW5kZXggaXMgc3RpbGwgbWFya2VkIGZvciBkZWxldGlvbiwgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9u
ICcgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJl
dmVydC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJldmVydC5o
dG1sCmluZGV4IGRlY2M0NWE1ZWU0MWNkY2MwNDIxM2ZhNTU4MWVkYTMxMTAxZmY3YTguLmJjZGNk
MWEyMmZkNzk3OTFjMjEyYzRjYzllYWJlNzRiNTk1MzE2ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9u
LWFib3J0LW9iamVjdC1zdG9yZS1tZXRhZGF0YS1yZXZlcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1h
Ym9ydC1vYmplY3Qtc3RvcmUtbWV0YWRhdGEtcmV2ZXJ0Lmh0bWwKQEAgLTI5LDcgKzI5LDcgQEAg
cHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAgICAgICdzdG9yZSBiZWZvcmUgdGhl
IHRyYW5zYWN0aW9uIGlzIGFib3J0ZWQnKTsKIAogICAgICAgICB0cmFuc2FjdGlvbi5hYm9ydCgp
OwotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAg
ICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHN0b3JlLmdldCgncXVlcnknKSwK
ICAgICAgICAgICAgICdJREJPYmplY3RTdG9yZS5nZXQgc2hvdWxkIHRocm93IEludmFsaWRTdGF0
ZUVycm9yLCBpbmRpY2F0aW5nICcgKwogICAgICAgICAgICAgJ3RoYXQgdGhlIHN0b3JlIGlzIG1h
cmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5IGFmdGVyICcgKwpAQCAtNDMsNyArNDMsNyBA
QCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ0lEQkRhdGFiYXNlLm9i
amVjdFN0b3JlTmFtZXMgc2hvdWxkIHN0b3AgaW5jbHVkaW5nIHRoZSBuZXdseSAnICsKICAgICAg
ICAgICAgICdjcmVhdGVkIHN0b3JlIGltbWVkaWF0ZWx5IGFmdGVyIElEQlRyYW5zYWN0aW9uLmFi
b3J0KCkgcmV0dXJucycpOwogICAgIH0pKS50aGVuKCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Ro
cm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnSW52YWxpZFN0
YXRlRXJyb3InLCAoKSA9PiBzdG9yZS5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCT2Jq
ZWN0U3RvcmUuZ2V0IHNob3VsZCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyAn
ICsKICAgICAgICAgICAgICd0aGF0IHRoZSBzdG9yZSBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLCBh
ZnRlciB0aGUgdHJhbnNhY3Rpb24gaXMgJyArCkBAIC03Miw3ICs3Miw3IEBAIHByb21pc2VfdGVz
dCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J25vdF9ib29rcycpOwogCiAgICAgICAgIGRhdGFiYXNlLmRlbGV0ZU9iamVjdFN0b3JlKCdub3Rf
Ym9va3MnKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oCiAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLCAoKSA9PiBzdG9yZS5nZXQoJ3F1
ZXJ5JyksCiAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUuZ2V0IHNob3VsZCB0aHJvdyBJbnZh
bGlkU3RhdGVFcnJvciwgaW5kaWNhdGluZyAnICsKICAgICAgICAgICAgICd0aGF0IHRoZSBzdG9y
ZSBpcyBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciAnICsKQEAgLTg5LDcg
Kzg5LDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAgICAgICAgICdyZXR1cm5z
Jyk7CiAKICAgICAgICAgdHJhbnNhY3Rpb24uYWJvcnQoKTsKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAnVHJhbnNhY3Rpb25J
bmFjdGl2ZUVycm9yJywgKCkgPT4gc3RvcmUuZ2V0KCdxdWVyeScpLAogICAgICAgICAgICAgJ0lE
Qk9iamVjdFN0b3JlLmdldCBzaG91bGQgdGhyb3cgVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yLCAn
ICsKICAgICAgICAgICAgICdpbmRpY2F0aW5nIHRoYXQgdGhlIHN0b3JlIGlzIG5vIGxvbmdlciBt
YXJrZWQgZm9yIGRlbGV0aW9uLCAnICsKQEAgLTEwMyw3ICsxMDMsNyBAQCBwcm9taXNlX3Rlc3Qo
dGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ0lEQlRyYW5zYWN0aW9uLm9iamVjdFN0b3JlTmFt
ZXMgc2hvdWxkIGluY2x1ZGUgdGhlIGRlbGV0ZWQgJyArCiAgICAgICAgICAgICAnc3RvcmUgaW1t
ZWRpYXRlbHkgYWZ0ZXIgSURCVHJhbnNhY3Rpb24uYWJvcnQoKSByZXR1cm5zJyk7CiAgICAgfSkp
LnRoZW4oKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhy
b3dzX2RvbSgKICAgICAgICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLCAoKSA9PiBz
dG9yZS5nZXQoJ3F1ZXJ5JyksCiAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUuZ2V0IHNob3Vs
ZCB0aHJvdyBUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsICcgKwogICAgICAgICAgICAgJ2luZGlj
YXRpbmcgdGhhdCB0aGUgc3RvcmUgaXMgbm8gbG9uZ2VyIG1hcmtlZCBmb3IgZGVsZXRpb24sICcg
KwpAQCAtMTM5LDcgKzEzOSw3IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAg
ICAgICAnc3RvcmUgYmVmb3JlIHRoZSB0cmFuc2FjdGlvbiBpcyBhYm9ydGVkJyk7CiAKICAgICAg
ICAgZGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoJ25vdF9ib29rcycpOwotICAgICAgICBhc3Nl
cnRfdGhyb3dzKAorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICdJbnZh
bGlkU3RhdGVFcnJvcicsICgpID0+IHN0b3JlLmdldCgncXVlcnknKSwKICAgICAgICAgICAgICdJ
REJPYmplY3RTdG9yZS5nZXQgc2hvdWxkIHRocm93IEludmFsaWRTdGF0ZUVycm9yLCBpbmRpY2F0
aW5nICcgKwogICAgICAgICAgICAgJ3RoYXQgdGhlIHN0b3JlIGlzIG1hcmtlZCBmb3IgZGVsZXRp
b24sIGltbWVkaWF0ZWx5IGFmdGVyICcgKwpAQCAtMTU2LDcgKzE1Niw3IEBAIHByb21pc2VfdGVz
dCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAncmV0dXJucycpOwogCiAgICAgICAgIHRyYW5z
YWN0aW9uLmFib3J0KCk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgIGFzc2VydF90
aHJvd3NfZG9tKAogICAgICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gc3RvcmUu
Z2V0KCdxdWVyeScpLAogICAgICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLmdldCBzaG91bGQgdGhy
b3cgSW52YWxpZFN0YXRlRXJyb3IsIGluZGljYXRpbmcgJyArCiAgICAgICAgICAgICAndGhhdCB0
aGUgc3RvcmUgaXMgc3RpbGwgbWFya2VkIGZvciBkZWxldGlvbiwgaW1tZWRpYXRlbHkgYWZ0ZXIg
JyArCkBAIC0xNzAsNyArMTcwLDcgQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAgICAg
ICAgICAgICdJREJEYXRhYmFzZS5vYmplY3RTdG9yZU5hbWVzIHNob3VsZCBub3QgaW5jbHVkZSB0
aGUgbmV3bHkgJyArCiAgICAgICAgICAgICAnY3JlYXRlZCBzdG9yZSBpbW1lZGlhdGVseSBhZnRl
ciBJREJUcmFuc2FjdGlvbi5hYm9ydCgpIHJldHVybnMnKTsKICAgICB9KSkudGhlbigoKSA9PiB7
Ci0gICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAg
ICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywgKCkgPT4gc3RvcmUuZ2V0KCdxdWVyeScpLAog
ICAgICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLmdldCBzaG91bGQgdGhyb3cgSW52YWxpZFN0YXRl
RXJyb3IsIGluZGljYXRpbmcgJyArCiAgICAgICAgICAgICAndGhhdCB0aGUgc3RvcmUgaXMgc3Rp
bGwgbWFya2VkIGZvciBkZWxldGlvbiwgYWZ0ZXIgdGhlICcgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tY3JlYXRlX2luX3ZlcnNpb25jaGFuZ2UuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tY3JlYXRlX2luX3ZlcnNp
b25jaGFuZ2UuaHRtCmluZGV4IDRkOThjMDAwNDA4YzJjYmMzOWQ4ZTRkZDQ0YjYzMDliZWVmYjEy
MmQuLjBiZmI0YTg3YjkxMWI4NDFjZGI3ZWZkMjVjMjBmMWQyMDNiYTA3ZTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uLWNyZWF0ZV9pbl92ZXJzaW9uY2hhbmdlLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1jcmVh
dGVfaW5fdmVyc2lvbmNoYW5nZS5odG0KQEAgLTE3LDE0ICsxNywxNCBAQAogICAgICAgICAgICAg
LmFkZCgidmVyc2lvbmNoYW5nZTEiLCAxKQogICAgICAgICAgICAgLmFkZEV2ZW50TGlzdGVuZXIo
InN1Y2Nlc3MiLCBsb2coInZlcnNpb25jaGFuZ2VfYWRkLnN1Y2Nlc3MiKSkKIAotICAgICAgICBh
c3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsIGZ1bmN0aW9uKCkgeyBkYi50cmFuc2Fj
dGlvbigic3RvcmUiKSB9KQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRl
RXJyb3InLCBmdW5jdGlvbigpIHsgZGIudHJhbnNhY3Rpb24oInN0b3JlIikgfSkKIAogICAgICAg
ICBlLnRhcmdldC50cmFuc2FjdGlvbgogICAgICAgICAgICAgLm9iamVjdFN0b3JlKCJzdG9yZSIp
CiAgICAgICAgICAgICAuY291bnQoMikKICAgICAgICAgICAgIC5hZGRFdmVudExpc3RlbmVyKCJz
dWNjZXNzIiwgbG9nKCJ2ZXJzaW9uY2hhbmdlX2NvdW50LnN1Y2Nlc3MiKSkKIAotICAgICAgICBh
c3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVFcnJvcicsIGZ1bmN0aW9uKCkgeyBkYi50cmFuc2Fj
dGlvbigic3RvcmUiLCAicmVhZHdyaXRlIikgfSkKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20o
J0ludmFsaWRTdGF0ZUVycm9yJywgZnVuY3Rpb24oKSB7IGRiLnRyYW5zYWN0aW9uKCJzdG9yZSIs
ICJyZWFkd3JpdGUiKSB9KQogCiAgICAgICAgIG9wZW5fcnEudHJhbnNhY3Rpb24KICAgICAgICAg
ICAgIC5vYmplY3RTdG9yZSgic3RvcmUiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tbGlmZXRpbWUt
YmxvY2tlZC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS1ibG9ja2VkLmh0bQppbmRleCA3OWJhODJm
OWJhZjhkNDg2NTcwNTUwNGQ0MTdiY2E1YjM1OTliOGI3Li44MmMzYWUwMzJlODUyM2Q3ZGE0ZWE4
NDIyNTg4NjAwMzczMzg5NDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS1ibG9ja2Vk
Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS1ibG9ja2VkLmh0bQpAQCAtMTEsMTAgKzExLDEz
IEBACiAKICAgICB2YXIgZGIsIGRiX2dvdF92ZXJzaW9uY2hhbmdlLCBkYjIsCiAgICAgICAgIGV2
ZW50cyA9IFtdLAotICAgICAgICB0ID0gYXN5bmNfdGVzdCgpOworICAgICAgICB0ID0gYXN5bmNf
dGVzdCgpLAorICAgICAgICBkYm5hbWUgPSBsb2NhdGlvbiArICctJyArIHQubmFtZTsKIAogICAg
IHQuc3RlcChmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIG9wZW5ycSA9IGluZGV4ZWREQi5vcGVu
KCdkYicsIDMpOworICAgICAgICBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKTsKKwor
ICAgICAgICB2YXIgb3BlbnJxID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKTsKIAogICAgICAg
ICAvLyAxCiAgICAgICAgIG9wZW5ycS5vbnVwZ3JhZGVuZWVkZWQgPSB0LnN0ZXBfZnVuYyhmdW5j
dGlvbihlKSB7CkBAIC01NSw3ICs1OCw3IEBACiAgICAgICAgIGFzc2VydF9lcXVhbHMoZGIgKyAi
IiwgIltvYmplY3QgSURCRGF0YWJhc2VdIik7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZGIub2JqZWN0U3RvcmVOYW1lcywgWyAic3RvcmUiIF0pOwogCi0gICAgICAgIHZhciBvcGVucnEy
ID0gaW5kZXhlZERCLm9wZW4oJ2RiJywgNCk7CisgICAgICAgIHZhciBvcGVucnEyID0gaW5kZXhl
ZERCLm9wZW4oZGJuYW1lLCA0KTsKIAogICAgICAgICAvLyA0CiAgICAgICAgIG9wZW5ycTIub25i
bG9ja2VkID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewpAQCAtMTAyLDcgKzEwNSw3IEBACiAg
ICAgLy8gQ2xlYW51cAogICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKGZ1bmN0aW9uKHRlc3Rz
KSB7CiAgICAgICAgIGlmIChkYjIpIGRiMi5jbG9zZSgpOwotICAgICAgICBpbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoJ2RiJyk7CisgICAgICAgIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5h
bWUpOwogICAgIH0pCiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tbGlmZXRpbWUu
aHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvdHJhbnNhY3Rpb24tbGlmZXRpbWUuaHRtCmluZGV4IDI4ODM2NDQ4YWNhNjkyNWI0ODYwZjg1
YjUyYzZjMGRiYWMwMjE0YzkuLjJjOGZkMmY1ODA4OWJmODc1Mjg2OGJkM2NlYjdhNTE4MGZjNzlj
ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLmh0bQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZl
dGltZS5odG0KQEAgLTExLDEwICsxMSwxMyBAQAogCiAgICAgdmFyIGRiLCBkYl9nb3RfdmVyc2lv
bmNoYW5nZSwgZGIyLAogICAgICAgICBldmVudHMgPSBbXSwKLSAgICAgICAgdCA9IGFzeW5jX3Rl
c3QoKTsKKyAgICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKKyAgICAgICAgZGJuYW1lID0gbG9jYXRp
b24gKyAnLScgKyB0Lm5hbWU7CiAKICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZh
ciBvcGVucnEgPSBpbmRleGVkREIub3BlbignZGInLCAzKTsKKyAgICAgICAgaW5kZXhlZERCLmRl
bGV0ZURhdGFiYXNlKGRibmFtZSk7CisKKyAgICAgICAgdmFyIG9wZW5ycSA9IGluZGV4ZWREQi5v
cGVuKGRibmFtZSwgMyk7CiAKICAgICAgICAgLy8gMQogICAgICAgICBvcGVucnEub251cGdyYWRl
bmVlZGVkID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewpAQCAtNTUsNyArNTgsNyBAQAogICAg
ICAgICBhc3NlcnRfZXF1YWxzKGRiICsgIiIsICJbb2JqZWN0IElEQkRhdGFiYXNlXSIpOwogICAg
ICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRiLm9iamVjdFN0b3JlTmFtZXMsIFsgInN0b3JlIiBd
KTsKIAotICAgICAgICB2YXIgb3BlbnJxMiA9IGluZGV4ZWREQi5vcGVuKCdkYicsIDQpOworICAg
ICAgICB2YXIgb3BlbnJxMiA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgNCk7CiAKICAgICAgICAg
Ly8gNAogICAgICAgICBvcGVucnEyLm9udXBncmFkZW5lZWRlZCA9IHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKGUpIHsKQEAgLTk1LDcgKzk4LDcgQEAKICAgICAvLyBDbGVhbnVwCiAgICAgYWRkX2NvbXBs
ZXRpb25fY2FsbGJhY2soZnVuY3Rpb24odGVzdHMpIHsKICAgICAgICAgaWYgKGRiMikgZGIyLmNs
b3NlKCk7Ci0gICAgICAgIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnZGInKTsKKyAgICAgICAg
aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSk7CiAgICAgfSkKIAogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS1leHBl
Y3RlZC50eHQKaW5kZXggODY5M2E2MjRjNzU1NGM1YzIwMzU3MmQ3Y2U4MjhhZDk0ZTFlNmU1OC4u
NDRkZGE3YWIzZjgyMGY0ZTFjYTBhMWQ2N2I1N2I2MWVjZDFiNDQ3YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnktZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55LWV4cGVjdGVkLnR4dApA
QCAtMSw3ICsxLDEwIEBACiAKLVBBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBv
dXQ6IGNhc2UgMCAKLVBBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNh
c2UgMSAKLVBBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMiAK
LVBBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMyAKLVBBU1Mg
Q29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgNCAKK0ZBSUwgQ29tbWl0
dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMCBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAoc3RyaW5nKSAiZGVmYXVsdCIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZB
SUwgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiZGVmYXVsdCIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKK0ZBSUwgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiZGVmYXVsdCIgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKK0ZBSUwgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6
IGNhc2UgMyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAicmVsYXhlZCIgYnV0IGdv
dCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQg
YmFjayBvdXQ6IGNhc2UgNCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAic3RyaWN0
IiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBJbnZhbGlkIGR1cmFiaWxpdHkg
b3B0aW9uIHRocm93cyBhIFR5cGVFcnJvciBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeworICAgICAgZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJywg
eyBkdXJhYmlsaXR5OiAnaW52YWxpZCcgfSk7CisgIH0iIGRpZCBub3QgdGhyb3cKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2Fj
dGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS5qcwppbmRleCAyYmE5NmVjMDhl
ZGQzZTM1Yzg1YmVmNDcxMmE5NGE5YTc1MTc0NjI0Li43ZTE3NDAzZWIwYzIwMmM1Y2NjYmVlMTli
OGNmZmQwZDlkZTk4YWMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHku
dGVudGF0aXZlLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0
aXZlLmFueS5qcwpAQCAtMywxOCArMywxOCBAQAogCiAvKioKICAqIFRoaXMgZmlsZSBjb250YWlu
cyB0aGUgd2VicGxhdGZvcm0gc21va2UgdGVzdHMgZm9yIHRoZSBvcHRpb25hbAotICogcmVsYXhl
ZER1cmFiaWxpdHkgcGFyYW1ldGVyIG9mIHRoZSBJbmRleGVkREIgdHJhbnNhY3Rpb24gQVBJLgor
ICogZHVyYWJpbGl0eSBwYXJhbWV0ZXIgb2YgdGhlIEluZGV4ZWREQiB0cmFuc2FjdGlvbiBBUEku
CiAgKgogICogQGF1dGhvciBlbm5lQGNocm9taXVtLm9yZwogICovCiAKIC8vIFNtb2tlIHRlc3Qg
b3B0aW9uYWwgcGFyYW1ldGVyIG9uIEluZGV4ZWREQi50cmFuc2FjdGlvbi4KIGxldCBjYXNlcyA9
IFsKLSAgdW5kZWZpbmVkLAotICB7fSwKLSAge2R1cmFiaWxpdHk6ICJkZWZhdWx0In0sCi0gIHtk
dXJhYmlsaXR5OiAicmVsYXhlZCJ9LAotICB7ZHVyYWJpbGl0eTogInN0cmljdCJ9LAorICB7IG9w
dGlvbnM6IHVuZGVmaW5lZCwgZXhwZWN0ZWQ6ICdkZWZhdWx0JyB9LAorICB7IG9wdGlvbnM6IHt9
LCBleHBlY3RlZDogJ2RlZmF1bHQnIH0sCisgIHsgb3B0aW9uczogeyBkdXJhYmlsaXR5OiAnZGVm
YXVsdCd9LCBleHBlY3RlZDogJ2RlZmF1bHQnIH0sCisgIHsgb3B0aW9uczogeyBkdXJhYmlsaXR5
OiAncmVsYXhlZCd9LCBleHBlY3RlZDogJ3JlbGF4ZWQnIH0sCisgIHsgb3B0aW9uczogeyBkdXJh
YmlsaXR5OiAnc3RyaWN0J30sIGV4cGVjdGVkOiAnc3RyaWN0JyB9LAogXTsKIAogZm9yIChsZXQg
aSA9IDA7IGkgPCBjYXNlcy5sZW5ndGg7ICsraSkgewpAQCAtMjIsMTEgKzIyLDEzIEBAIGZvciAo
bGV0IGkgPSAwOyBpIDwgY2FzZXMubGVuZ3RoOyArK2kpIHsKICAgICBjb25zdCBkYiA9IGF3YWl0
IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CiAgICAgICBjcmVhdGVCb29rc1N0b3Jl
KHRlc3RDYXNlLCBkYik7CiAgICAgfSk7Ci0gICAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24o
Wydib29rcyddLCAncmVhZHdyaXRlJywgY2FzZXNbaV0pOworICAgIGNvbnN0IHR4biA9IGRiLnRy
YW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScsIGNhc2VzW2ldLm9wdGlvbnMpOwogICAg
IGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29rcycpOwogICAgIG9iamVj
dFN0b3JlLnB1dCh7aXNibjogJ29uZScsIHRpdGxlOiAndGl0bGUxJ30pOwogICAgIGF3YWl0IHBy
b21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuKTsKIAorICAgIGFzc2VydF9lcXVhbHMo
dHhuLmR1cmFiaWxpdHksIGNhc2VzW2ldLmV4cGVjdGVkKTsKKwogICAgIGNvbnN0IHR4bjIgPSBk
Yi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdyZWFkb25seScpOwogICAgIGNvbnN0IG9iamVjdFN0
b3JlMiA9IHR4bjIub2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CiAgICAgY29uc3QgZ2V0VGl0bGUxID0g
b2JqZWN0U3RvcmUyLmdldCgnb25lJyk7CkBAIC0zOCwzICs0MCwxNCBAQCBmb3IgKGxldCBpID0g
MDsgaSA8IGNhc2VzLmxlbmd0aDsgKytpKSB7CiAgICAgZGIuY2xvc2UoKTsKICAgfSwgJ0NvbW1p
dHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBjYXNlICcgKyBpKTsKIH0KKworcHJvbWlz
ZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRh
YmFzZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRi
KTsKKyAgfSk7CisKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewor
ICAgICAgZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJywgeyBkdXJhYmlsaXR5
OiAnaW52YWxpZCcgfSk7CisgIH0pOworICBkYi5jbG9zZSgpOworfSwgJ0ludmFsaWQgZHVyYWJp
bGl0eSBvcHRpb24gdGhyb3dzIGEgVHlwZUVycm9yJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1y
ZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAppbmRleCA4NjkzYTYyNGM3NTU0YzVjMjAzNTcyZDdjZTgyOGFkOTRlMWU2ZTU4Li40NGRkYTdh
YjNmODIwZjRlMWNhMGExZDY3YjU3YjYxZWNkMWI0NDdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1y
ZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSwxMCBAQAogCi1QQVNTIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFk
IGJhY2sgb3V0OiBjYXNlIDAgCi1QQVNTIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sg
b3V0OiBjYXNlIDEgCi1QQVNTIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBj
YXNlIDIgCi1QQVNTIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBjYXNlIDMg
Ci1QQVNTIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBjYXNlIDQgCitGQUlM
IENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBjYXNlIDAgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgKHN0cmluZykgImRlZmF1bHQiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkCitGQUlMIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBjYXNlIDEgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImRlZmF1bHQiIGJ1dCBnb3QgKHVuZGVmaW5l
ZCkgdW5kZWZpbmVkCitGQUlMIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBj
YXNlIDIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImRlZmF1bHQiIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIENvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJh
Y2sgb3V0OiBjYXNlIDMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInJlbGF4ZWQi
IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIENvbW1pdHRlZCBkYXRhIGNhbiBi
ZSByZWFkIGJhY2sgb3V0OiBjYXNlIDQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykg
InN0cmljdCIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgSW52YWxpZCBkdXJh
YmlsaXR5IG9wdGlvbiB0aHJvd3MgYSBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsKKyAgICAgIGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3
cml0ZScsIHsgZHVyYWJpbGl0eTogJ2ludmFsaWQnIH0pOworICB9IiBkaWQgbm90IHRocm93CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctYWNyb3NzLWNvbm5lY3Rpb25zLmFueS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1jb25uZWN0aW9ucy5hbnkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzN2Y4Yjc3NDNiNmU4MDUzMWFiODk0NjJiMDA0YTQ0
MjRhMTNlYmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1j
b25uZWN0aW9ucy5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENoZWNr
IHRoYXQgcmVhZHdyaXRlIHRyYW5zYWN0aW9ucyB3aXRoIG92ZXJsYXBwaW5nIHNjb3BlcyBkbyBu
b3QgcnVuIGluIHBhcmFsbGVsLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1h
Y3Jvc3MtY29ubmVjdGlvbnMuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1j
b25uZWN0aW9ucy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYw
YTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1h
Y3Jvc3MtY29ubmVjdGlvbnMuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tc2NoZWR1bGluZy1hY3Jvc3MtY29ubmVjdGlvbnMuYW55LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24t
c2NoZWR1bGluZy1hY3Jvc3MtY29ubmVjdGlvbnMuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZDA5OGQy
OWM5MzdjODRiN2JjOWRkMTIxOWYxMjZkYjBiN2U1ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2Fj
dGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1jb25uZWN0aW9ucy5hbnkuanMKQEAgLTAsMCArMSw3MiBA
QAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQuanMKKworaW5kZXhlZGRiX3Rlc3QoCisgICh0LCBk
YikgPT4geworICAgIGNvbnN0IHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7
CisgIH0sCisKKyAgKHQsIGRiMSkgPT4geworICAgIC8vIE9wZW4gYSBzZWNvbmQgY29ubmVjdGlv
biB0byB0aGUgc2FtZSBkYXRhYmFzZS4KKyAgICBjb25zdCBvcGVuX3JlcXVlc3QgPSBpbmRleGVk
REIub3BlbihkYjEubmFtZSk7CisgICAgb3Blbl9yZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hl
ZF9mdW5jKCdvcGVuKCkgc2hvdWxkIHN1Y2NlZWQnKTsKKyAgICBvcGVuX3JlcXVlc3Qub251cGdy
YWRlbmVlZGVkID0KKyAgICAgIHQudW5yZWFjaGVkX2Z1bmMoJ3NlY29uZCBjb25uZWN0aW9uIHNo
b3VsZCBub3QgdXBncmFkZScpOworICAgIG9wZW5fcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBf
ZnVuYygoKSA9PiB7CisgICAgICBjb25zdCBkYjIgPSBvcGVuX3JlcXVlc3QucmVzdWx0OworICAg
ICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRiMi5jbG9zZSgpOyB9KTsKKworICAgICAgY29uc3Qg
dHJhbnNhY3Rpb24xID0gZGIxLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKKyAg
ICAgIHRyYW5zYWN0aW9uMS5vbmFib3J0ID0gdC51bnJlYWNoZWRfZnVuYygndHJhbnNhY3Rpb24x
IHNob3VsZCBjb21wbGV0ZScpOworCisgICAgICBjb25zdCB0cmFuc2FjdGlvbjIgPSBkYjIudHJh
bnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOworICAgICAgdHJhbnNhY3Rpb24yLm9uYWJv
cnQgPSB0LnVucmVhY2hlZF9mdW5jKCd0cmFuc2FjdGlvbjIgc2hvdWxkIGNvbXBsZXRlJyk7CisK
KyAgICAgIGxldCB0cmFuc2FjdGlvbjFQdXRTdWNjZXNzID0gZmFsc2U7CisgICAgICBsZXQgdHJh
bnNhY3Rpb24xQ29tcGxldGUgPSBmYWxzZTsKKyAgICAgIGxldCB0cmFuc2FjdGlvbjJQdXRTdWNj
ZXNzID0gZmFsc2U7CisKKyAgICAgIC8vIEtlZXAgdHJhbnNhY3Rpb24xIGFsaXZlIGZvciBhIHdo
aWxlIGFuZCBlbnN1cmUgdHJhbnNhY3Rpb24yCisgICAgICAvLyBkb2Vzbid0IHN0YXJ0LgorCisg
ICAgICBsZXQgY291bnQgPSAwOworICAgICAgKGZ1bmN0aW9uIGRvVHJhbnNhY3Rpb24xUHV0KCkg
eworICAgICAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24xLm9iamVjdFN0b3JlKCdzdG9y
ZScpLnB1dCgxLCBjb3VudCsrKTsKKyAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdC51bnJlYWNo
ZWRfZnVuYygncmVxdWVzdCBzaG91bGQgc3VjY2VlZCcpOworICAgICAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IHQuc3RlcF9mdW5jKGV2dCA9PiB7CisgICAgICAgICAgdHJhbnNhY3Rpb24xUHV0U3Vj
Y2VzcyA9IHRydWU7CisgICAgICAgICAgaWYgKGNvdW50IDwgNSkgeworICAgICAgICAgICAgZG9U
cmFuc2FjdGlvbjFQdXQoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgfSgpKTsK
KworICAgICAgdHJhbnNhY3Rpb24xLm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhldnQgPT4gewor
ICAgICAgICB0cmFuc2FjdGlvbjFDb21wbGV0ZSA9IHRydWU7CisgICAgICAgIGFzc2VydF9mYWxz
ZSgKKyAgICAgICAgICB0cmFuc2FjdGlvbjJQdXRTdWNjZXNzLAorICAgICAgICAgICd0cmFuc2Fj
dGlvbjEgc2hvdWxkIGNvbXBsZXRlIGJlZm9yZSB0cmFuc2FjdGlvbjIgcHV0IHN1Y2NlZWRzJyk7
CisgICAgICB9KTsKKworICAgICAgY29uc3QgcmVxdWVzdCA9IHRyYW5zYWN0aW9uMi5vYmplY3RT
dG9yZSgnc3RvcmUnKS5wdXQoMiwgMCk7CisgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVh
Y2hlZF9mdW5jKCdyZXF1ZXN0IHNob3VsZCBzdWNjZWVkJyk7CisgICAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IHQuc3RlcF9mdW5jKGV2dCA9PiB7CisgICAgICAgIHRyYW5zYWN0aW9uMlB1dFN1Y2Nl
c3MgPSB0cnVlOworICAgICAgICBhc3NlcnRfdHJ1ZSgKKyAgICAgICAgICB0cmFuc2FjdGlvbjFD
b21wbGV0ZSwKKyAgICAgICAgICAndHJhbnNhY3Rpb24yIHB1dCBzaG91bGQgbm90IHN1Y2NlZWQg
YmVmb3JlIHRyYW5zYWN0aW9uMSBjb21wbGV0ZXMnKTsKKyAgICAgIH0pOworCisgICAgICB0cmFu
c2FjdGlvbjIub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jX2RvbmUoZXZ0ID0+IHsKKyAgICAgICAg
YXNzZXJ0X3RydWUoCisgICAgICAgICAgdHJhbnNhY3Rpb24xUHV0U3VjY2VzcywKKyAgICAgICAg
ICAndHJhbnNhY3Rpb24xIHB1dCBzaG91bGQgc3VjY2VlZCBiZWZvcmUgdHJhbnNhY3Rpb24yIHJ1
bnMnKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoCisgICAgICAgICAgdHJhbnNhY3Rpb24xQ29tcGxl
dGUsCisgICAgICAgICAgJ3RyYW5zYWN0aW9uMSBzaG91bGQgY29tcGxldGUgYmVmb3JlIHRyYW5z
YWN0aW9uMiBydW5zJyk7CisgICAgICAgIGFzc2VydF90cnVlKAorICAgICAgICAgIHRyYW5zYWN0
aW9uMlB1dFN1Y2Nlc3MsCisgICAgICAgICAgJ3RyYW5zYWN0aW9uMiBwdXQgc2hvdWxkIHN1Y2Nl
ZWQgYmVmb3JlIHRyYW5zYWN0aW9uMiBjb21wbGV0ZXMnKTsKKyAgICAgIH0pOworICAgIH0pOwor
ICB9LAorICAiQ2hlY2sgdGhhdCByZWFkd3JpdGUgdHJhbnNhY3Rpb25zIHdpdGggb3ZlcmxhcHBp
bmcgc2NvcGVzIGRvIG5vdCBydW4gaW4gcGFyYWxsZWwuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1zY2hlZHVsaW5nLWFjcm9zcy1jb25uZWN0aW9ucy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uLXNjaGVkdWxpbmctYWNyb3NzLWNvbm5lY3Rpb25zLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjYzN2Y4Yjc3NDNiNmU4MDUzMWFiODk0NjJiMDA0YTQ0MjRhMTNl
YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1jb25uZWN0
aW9ucy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDaGVj
ayB0aGF0IHJlYWR3cml0ZSB0cmFuc2FjdGlvbnMgd2l0aCBvdmVybGFwcGluZyBzY29wZXMgZG8g
bm90IHJ1biBpbiBwYXJhbGxlbC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmct
YWNyb3NzLWNvbm5lY3Rpb25zLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmct
YWNyb3NzLWNvbm5lY3Rpb25zLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tc2NoZWR1bGluZy1hY3Jvc3MtY29ubmVjdGlvbnMuYW55Lndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctYWNyb3NzLWRhdGFiYXNl
cy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1hY3Jvc3MtZGF0YWJhc2Vz
LmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM0MGFlNjkwZGNkMDUwNmY2Y2ZlMzI2YTFj
NDJiOTQ5YTk3Y2Y3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctYWNy
b3NzLWRhdGFiYXNlcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIENo
ZWNrIHRoYXQgdHJhbnNhY3Rpb25zIGluIGRpZmZlcmVudCBkYXRhYmFzZXMgY2FuIHJ1biBpbiBw
YXJhbGxlbC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctYWNyb3NzLWRhdGFi
YXNlcy5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctYWNyb3NzLWRhdGFiYXNlcy5hbnku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1hY3Jvc3MtZGF0YWJhc2Vz
LmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxp
bmctYWNyb3NzLWRhdGFiYXNlcy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1k
YXRhYmFzZXMuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2NDQ0NDE3NTg2N2NhNTI4ZDBkOTBlYTBiZTQw
ZDU3MzU2MWNhODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9z
cy1kYXRhYmFzZXMuYW55LmpzCkBAIC0wLDAgKzEsNzIgQEAKKy8vIE1FVEE6IHNjcmlwdD1zdXBw
b3J0LmpzCisKK2luZGV4ZWRkYl90ZXN0KAorICAodCwgZGIpID0+IHsKKyAgICBjb25zdCBzdG9y
ZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOworICB9LAorCisgICh0LCBkYjEpID0+
IHsKKyAgICAvLyBPcGVuIGEgc2Vjb25kIGRhdGFiYXNlLgorICAgIGNvbnN0IGRiMm5hbWUgPSBk
YjEubmFtZSArICctMic7CisgICAgY29uc3QgZGVsZXRlX3JlcXVlc3QgPSBpbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoZGIybmFtZSk7CisgICAgZGVsZXRlX3JlcXVlc3Qub25lcnJvciA9IHQudW5y
ZWFjaGVkX2Z1bmMoJ2RlbGV0ZURhdGFiYXNlKCkgc2hvdWxkIHN1Y2NlZWQnKTsKKyAgICBjb25z
dCBvcGVuX3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYjJuYW1lLCAxKTsKKyAgICBvcGVuX3Jl
cXVlc3Qub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ29wZW4oKSBzaG91bGQgc3VjY2VlZCcp
OworICAgIG9wZW5fcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgICBjb25zdCBkYjIgPSBvcGVuX3JlcXVlc3QucmVzdWx0OworICAgICAgY29uc3Qgc3Rv
cmUgPSBkYjIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgfSk7CisgICAgb3Blbl9y
ZXF1ZXN0Lm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgIGNvbnN0IGRiMiA9
IG9wZW5fcmVxdWVzdC5yZXN1bHQ7CisgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICAg
ICAgZGIyLmNsb3NlKCk7CisgICAgICAgIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYjIubmFt
ZSk7CisgICAgICB9KTsKKworICAgICAgbGV0IHRyYW5zYWN0aW9uMVB1dFN1Y2Nlc3MgPSBmYWxz
ZTsKKyAgICAgIGxldCB0cmFuc2FjdGlvbjJQdXRTdWNjZXNzID0gZmFsc2U7CisKKyAgICAgIGNv
bnN0IG9uVHJhbnNhY3Rpb25Db21wbGV0ZSA9IGJhcnJpZXJfZnVuYygyLCB0LnN0ZXBfZnVuY19k
b25lKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X3RydWUodHJhbnNhY3Rpb24xUHV0U3VjY2VzcywK
KyAgICAgICAgICAgICAgICAgICAgJ3RyYW5zYWN0aW9uMSBzaG91bGQgaGF2ZSBleGVjdXRlZCBh
dCBsZWFzdCBvbmUgcmVxdWVzdCcpOworICAgICAgICBhc3NlcnRfdHJ1ZSh0cmFuc2FjdGlvbjJQ
dXRTdWNjZXNzLAorICAgICAgICAgICAgICAgICAgICAndHJhbnNhY3Rpb24xIHNob3VsZCBoYXZl
IGV4ZWN1dGVkIGF0IGxlYXN0IG9uZSByZXF1ZXN0Jyk7CisgICAgICB9KSk7CisKKworICAgICAg
Y29uc3QgdHJhbnNhY3Rpb24xID0gZGIxLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUn
KTsKKyAgICAgIHRyYW5zYWN0aW9uMS5vbmFib3J0ID0gdC51bnJlYWNoZWRfZnVuYygndHJhbnNh
Y3Rpb24xIHNob3VsZCBjb21wbGV0ZScpOworICAgICAgdHJhbnNhY3Rpb24xLm9uY29tcGxldGUg
PSB0LnN0ZXBfZnVuYyhvblRyYW5zYWN0aW9uQ29tcGxldGUpOworCisgICAgICBjb25zdCB0cmFu
c2FjdGlvbjIgPSBkYjIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOworICAgICAg
dHJhbnNhY3Rpb24yLm9uYWJvcnQgPSB0LnVucmVhY2hlZF9mdW5jKCd0cmFuc2FjdGlvbjIgc2hv
dWxkIGNvbXBsZXRlJyk7CisgICAgICB0cmFuc2FjdGlvbjIub25jb21wbGV0ZSA9IHQuc3RlcF9m
dW5jKG9uVHJhbnNhY3Rpb25Db21wbGV0ZSk7CisKKyAgICAgIC8vIEtlZXAgYm90aCB0cmFuc2Fj
dGlvbnMgYWxpdmUgdW50aWwgZWFjaCBoYXMgcmVwb3J0ZWQgYXQgbGVhc3Qgb25lCisgICAgICAv
LyBzdWNjZXNzZnVsIG9wZXJhdGlvbi4KKworICAgICAgZnVuY3Rpb24gZG9UcmFuc2FjdGlvbjFQ
dXQoKSB7CisgICAgICAgIGNvbnN0IHJlcXVlc3QgPSB0cmFuc2FjdGlvbjEub2JqZWN0U3RvcmUo
J3N0b3JlJykucHV0KDAsIDApOworICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hl
ZF9mdW5jKCdwdXQgcmVxdWVzdCBzaG91bGQgc3VjY2VlZCcpOworICAgICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgICB0cmFuc2FjdGlvbjFQdXRT
dWNjZXNzID0gdHJ1ZTsKKyAgICAgICAgICBpZiAoIXRyYW5zYWN0aW9uMlB1dFN1Y2Nlc3MpCisg
ICAgICAgICAgICBkb1RyYW5zYWN0aW9uMVB1dCgpOworICAgICAgICB9KTsKKyAgICAgIH0KKwor
ICAgICAgZnVuY3Rpb24gZG9UcmFuc2FjdGlvbjJQdXQoKSB7CisgICAgICAgIGNvbnN0IHJlcXVl
c3QgPSB0cmFuc2FjdGlvbjIub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KDAsIDApOworICAgICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hlZF9mdW5jKCdwdXQgcmVxdWVzdCBzaG91bGQg
c3VjY2VlZCcpOworICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKCgpID0+
IHsKKyAgICAgICAgICB0cmFuc2FjdGlvbjJQdXRTdWNjZXNzID0gdHJ1ZTsKKyAgICAgICAgICBp
ZiAoIXRyYW5zYWN0aW9uMVB1dFN1Y2Nlc3MpCisgICAgICAgICAgICBkb1RyYW5zYWN0aW9uMlB1
dCgpOworICAgICAgICB9KTsKKyAgICAgIH0KKworICAgICAgZG9UcmFuc2FjdGlvbjFQdXQoKTsK
KyAgICAgIGRvVHJhbnNhY3Rpb24yUHV0KCk7CisgICAgfSk7CisgIH0sCisgICJDaGVjayB0aGF0
IHRyYW5zYWN0aW9ucyBpbiBkaWZmZXJlbnQgZGF0YWJhc2VzIGNhbiBydW4gaW4gcGFyYWxsZWwu
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1kYXRhYmFzZXMuYW55
Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLWFjcm9zcy1kYXRhYmFz
ZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM0MGFlNjkwZGNkMDUwNmY2
Y2ZlMzI2YTFjNDJiOTQ5YTk3Y2Y3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVk
dWxpbmctYWNyb3NzLWRhdGFiYXNlcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBDaGVjayB0aGF0IHRyYW5zYWN0aW9ucyBpbiBkaWZmZXJlbnQgZGF0YWJh
c2VzIGNhbiBydW4gaW4gcGFyYWxsZWwuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVs
aW5nLWFjcm9zcy1kYXRhYmFzZXMuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGlu
Zy1hY3Jvc3MtZGF0YWJhc2VzLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tc2NoZWR1bGluZy1hY3Jvc3MtZGF0YWJhc2VzLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsx
IEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1
Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLW1peGVkLXNjb3Blcy5hbnkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1taXhlZC1zY29wZXMuYW55LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wZDdkOGIxNDUwZjhmNjQzOWVjMzBjZDMyZTlkNmIwZDNiMWQ1
NWEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1taXhlZC1zY29wZXMu
YW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBDaGVjayB0aGF0IHNjb3Bl
IHJlc3RyaWN0aW9ucyBvbiBtaXhlZCB0cmFuc2FjdGlvbnMgYXJlIGVuZm9yY2VkLiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1taXhlZC1zY29wZXMuYW55Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2Fj
dGlvbi1zY2hlZHVsaW5nLW1peGVkLXNjb3Blcy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEz
NTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tc2NoZWR1bGluZy1taXhlZC1zY29wZXMuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRv
IHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1taXhlZC1zY29wZXMuYW55LmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tc2NoZWR1bGluZy1taXhlZC1zY29wZXMuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmMDRhNmEy
ODhkMjNjMjlhNzY2M2NjZmNkYjMyYzkzMmQ1NzM4MzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2Fj
dGlvbi1zY2hlZHVsaW5nLW1peGVkLXNjb3Blcy5hbnkuanMKQEAgLTAsMCArMSw2MyBAQAorLy8g
TUVUQTogc2NyaXB0PXN1cHBvcnQuanMKKworaW5kZXhlZGRiX3Rlc3QoCisgICh0LCBkYikgPT4g
eworICAgIGNvbnN0IHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAg
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2EnKTsKKyAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnYicp
OworICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdjJyk7CisgIH0sCisKKyAgKHQsIGRiKSA9PiB7
CisgICAgbGV0IHRyYW5zYWN0aW9uMVN0YXJ0ZWQgPSBmYWxzZTsKKyAgICBsZXQgdHJhbnNhY3Rp
b24xQ29tcGxldGUgPSBmYWxzZTsKKyAgICBsZXQgdHJhbnNhY3Rpb24yU3RhcnRlZCA9IGZhbHNl
OworICAgIGxldCB0cmFuc2FjdGlvbjJDb21wbGV0ZSA9IGZhbHNlOworICAgIGxldCB0cmFuc2Fj
dGlvbjNTdGFydGVkID0gZmFsc2U7CisgICAgbGV0IHRyYW5zYWN0aW9uM0NvbXBsZXRlID0gZmFs
c2U7CisKKyAgICBjb25zdCB0cmFuc2FjdGlvbjEgPSBkYi50cmFuc2FjdGlvbihbJ2EnXSwgJ3Jl
YWRvbmx5Jyk7CisgICAgbGV0IHJlcXVlc3QgPSB0cmFuc2FjdGlvbjEub2JqZWN0U3RvcmUoJ2En
KS5nZXQoMCk7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdC51bnJlYWNoZWRfZnVuYygncmVxdWVz
dCBzaG91bGQgc3VjY2VlZCcpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdC5zdGVwX2Z1bmMo
KCkgPT4geworICAgICAgdHJhbnNhY3Rpb24xU3RhcnRlZCA9IHRydWU7CisgICAgfSk7CisgICAg
dHJhbnNhY3Rpb24xLm9uYWJvcnQgPSB0LnVucmVhY2hlZF9mdW5jKCd0cmFuc2FjdGlvbjEgc2hv
dWxkIGNvbXBsZXRlJyk7CisgICAgdHJhbnNhY3Rpb24xLm9uY29tcGxldGUgPSB0LnN0ZXBfZnVu
YygoKSA9PiB7CisgICAgICB0cmFuc2FjdGlvbjFDb21wbGV0ZSA9IHRydWU7CisgICAgICBhc3Nl
cnRfZmFsc2UodHJhbnNhY3Rpb24yU3RhcnRlZCk7CisgICAgICBhc3NlcnRfZmFsc2UodHJhbnNh
Y3Rpb24zU3RhcnRlZCk7CisgICAgfSk7CisKKworICAgIC8vIHRyYW5zYWN0aW9uMiBvdmVybGFw
cyB3aXRoIHRyYW5zYWN0aW9uMSwgc28gbXVzdCB3YWl0IHVudGlsIHRyYW5zYWN0aW9uMQorICAg
IC8vIGNvbXBsZXRlcy4KKyAgICBjb25zdCB0cmFuc2FjdGlvbjIgPSBkYi50cmFuc2FjdGlvbihb
J2EnLCAnYiddLCAncmVhZHdyaXRlJyk7CisgICAgcmVxdWVzdCA9IHRyYW5zYWN0aW9uMi5vYmpl
Y3RTdG9yZSgnYScpLmdldCgwKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hlZF9m
dW5jKCdyZXF1ZXN0IHNob3VsZCBzdWNjZWVkJyk7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0
LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICBhc3NlcnRfdHJ1ZSh0cmFuc2FjdGlvbjFDb21wbGV0
ZSk7CisgICAgICB0cmFuc2FjdGlvbjJTdGFydGVkID0gdHJ1ZTsKKyAgICB9KTsKKyAgICB0cmFu
c2FjdGlvbjIub25hYm9ydCA9IHQudW5yZWFjaGVkX2Z1bmMoJ3RyYW5zYWN0aW9uMiBzaG91bGQg
Y29tcGxldGUnKTsKKyAgICB0cmFuc2FjdGlvbjIub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jKCgp
ID0+IHsKKyAgICAgIHRyYW5zYWN0aW9uMkNvbXBsZXRlID0gdHJ1ZTsKKyAgICAgIGFzc2VydF9m
YWxzZSh0cmFuc2FjdGlvbjNTdGFydGVkKTsKKyAgICB9KTsKKworICAgIC8vIHRyYW5zYWN0aW9u
MyBvdmVybGFwcyB3aXRoIHRyYW5zYWN0aW9uMiwgc28gbXVzdCB3YWl0IHVudGlsIHRyYW5zYWN0
aW9uMgorICAgIC8vIGNvbXBsZXRlcyBldmVuIHRob3VnaCBpdCBkb2VzIG5vdCBvdmVybGFwIHdp
dGggdHJhbnNhY3Rpb24xLgorICAgIGNvbnN0IHRyYW5zYWN0aW9uMyA9IGRiLnRyYW5zYWN0aW9u
KFsnYicsICdjJ10sICdyZWFkb25seScpOworICAgIHJlcXVlc3QgPSB0cmFuc2FjdGlvbjMub2Jq
ZWN0U3RvcmUoJ2InKS5nZXQoMCk7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdC51bnJlYWNoZWRf
ZnVuYygncmVxdWVzdCBzaG91bGQgc3VjY2VlZCcpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
dC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgYXNzZXJ0X3RydWUodHJhbnNhY3Rpb24xQ29tcGxl
dGUpOworICAgICAgYXNzZXJ0X3RydWUodHJhbnNhY3Rpb24yQ29tcGxldGUpOworICAgICAgdHJh
bnNhY3Rpb24zU3RhcnRlZCA9IHRydWU7CisgICAgfSk7CisgICAgdHJhbnNhY3Rpb24zLm9uYWJv
cnQgPSB0LnVucmVhY2hlZF9mdW5jKCd0cmFuc2FjdGlvbjMgc2hvdWxkIGNvbXBsZXRlJyk7Cisg
ICAgdHJhbnNhY3Rpb24zLm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAg
ICAgIHRyYW5zYWN0aW9uM0NvbXBsZXRlID0gdHJ1ZTsKKyAgICB9KTsKKyAgfSwKKyAgIkNoZWNr
IHRoYXQgc2NvcGUgcmVzdHJpY3Rpb25zIG9uIG1peGVkIHRyYW5zYWN0aW9ucyBhcmUgZW5mb3Jj
ZWQuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLW1peGVkLXNjb3Blcy5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctbWl4ZWQtc2NvcGVzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkN2Q4YjE0NTBmOGY2NDM5ZWMzMGNk
MzJlOWQ2YjBkM2IxZDU1YTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5n
LW1peGVkLXNjb3Blcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBDaGVjayB0aGF0IHNjb3BlIHJlc3RyaWN0aW9ucyBvbiBtaXhlZCB0cmFuc2FjdGlvbnMg
YXJlIGVuZm9yY2VkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1taXhlZC1z
Y29wZXMuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1taXhlZC1zY29wZXMu
YW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUw
NjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLW1peGVk
LXNjb3Blcy5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tc2NoZWR1bGluZy1vcmRlcmluZy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2No
ZWR1bGluZy1vcmRlcmluZy5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4ZTU4YWNiNGJh
MmU2NTE2YTMwOGE4YjAyMWU0ZmY2MzM4ZmE1OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1zY2hlZHVsaW5nLW9yZGVyaW5nLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgVmVyaWZ5IEluZGV4ZWQgREIgdHJhbnNhY3Rpb25zIGFyZSBvcmRlcmVkIHBlciBzcGVj
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLW9yZGVyaW5nLmFueS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tc2NoZWR1bGluZy1vcmRlcmluZy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEz
NTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tc2NoZWR1bGluZy1vcmRlcmluZy5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRo
aXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVu
IHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLW9yZGVyaW5nLmFueS5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNj
aGVkdWxpbmctb3JkZXJpbmcuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmNDdlNWM1OGNhMzk2MWQ4MzI2
M2M3ZDkwZGE1OTdiODNlMDZjZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVs
aW5nLW9yZGVyaW5nLmFueS5qcwpAQCAtMCwwICsxLDQwIEBACisvLyBNRVRBOiBzY3JpcHQ9c3Vw
cG9ydC5qcworCitpbmRleGVkZGJfdGVzdCgKKyAgKHQsIGRiKSA9PiB7CisgICAgY29uc3Qgc3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgfSwKKworICAodCwgZGIpID0+
IHsKKyAgICAvLyBDcmVhdGUgaW4gb3JkZXIgdHgxLCB0eDIuCisgICAgY29uc3QgdHgxID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOworICAgIGNvbnN0IHR4MiA9IGRiLnRy
YW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKKworICAgIC8vIFVzZSBpbiBvcmRlciB0
eDIsIHR4MS4KKyAgICB0eDIub2JqZWN0U3RvcmUoJ3N0b3JlJykuZ2V0KDApOworICAgIHR4MS5v
YmplY3RTdG9yZSgnc3RvcmUnKS5nZXQoMCk7CisKKyAgICBjb25zdCBvcmRlciA9IFtdOworICAg
IGNvbnN0IGRvbmUgPSBiYXJyaWVyX2Z1bmMoMiwgdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Cisg
ICAgICAvLyBJbmRleGVkREIgU3BlYzoKKyAgICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9J
bmRleGVkREIvI3RyYW5zYWN0aW9uLXNjaGVkdWxpbmcKKyAgICAgIC8vCisgICAgICAvLyBJZiBt
dWx0aXBsZSAicmVhZHdyaXRlIiB0cmFuc2FjdGlvbnMgYXJlIGF0dGVtcHRpbmcgdG8KKyAgICAg
IC8vIGFjY2VzcyB0aGUgc2FtZSBvYmplY3Qgc3RvcmUgKGkuZS4gaWYgdGhleSBoYXZlIG92ZXJs
YXBwaW5nCisgICAgICAvLyBzY29wZSksIHRoZSB0cmFuc2FjdGlvbiB0aGF0IHdhcyBjcmVhdGVk
IGZpcnN0IG11c3QgYmUgdGhlCisgICAgICAvLyB0cmFuc2FjdGlvbiB3aGljaCBnZXRzIGFjY2Vz
cyB0byB0aGUgb2JqZWN0IHN0b3JlIGZpcnN0LgorICAgICAgLy8KKyAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMob3JkZXIsIFsxLCAyXSk7CisgICAgfSkpOworCisgICAgdHgxLm9uY29tcGxldGUg
PSB0LnN0ZXBfZnVuYyhlID0+IHsKKyAgICAgIG9yZGVyLnB1c2goMSk7CisgICAgICBkb25lKCk7
CisgICAgfSk7CisKKyAgICB0eDIub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jKGUgPT4geworICAg
ICAgb3JkZXIucHVzaCgyKTsKKyAgICAgIGRvbmUoKTsKKyAgICB9KTsKKyAgfSwKKyAgIlZlcmlm
eSBJbmRleGVkIERCIHRyYW5zYWN0aW9ucyBhcmUgb3JkZXJlZCBwZXIgc3BlYyIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1vcmRlcmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctb3JkZXJpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYThlNThhY2I0YmEyZTY1MTZhMzA4YThiMDIxZTRmZjYzMzhmYTU5ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctb3JkZXJpbmcuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVmVyaWZ5IEluZGV4ZWQgREIgdHJh
bnNhY3Rpb25zIGFyZSBvcmRlcmVkIHBlciBzcGVjIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1z
Y2hlZHVsaW5nLW9yZGVyaW5nLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmct
b3JkZXJpbmcuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1
NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVs
aW5nLW9yZGVyaW5nLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90
cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXJvLXdhaXRzLWZvci1ydy5hbnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tc2NoZWR1bGluZy1yby13YWl0cy1mb3ItcncuYW55LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMWRlOWVlMTlmYTVhNjVjMzMxOWY1ZTRlZmVkYWZjYzE1Y2IyMDE5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1yby13YWl0cy1mb3ItcncuYW55LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyByZWFkb25seSB0cmFuc2FjdGlvbiBzaG91
bGQgc2VlIHRoZSByZXN1bHQgb2YgYSBwcmV2aW91cyByZWFkd3JpdGUgdHJhbnNhY3Rpb24gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcm8td2FpdHMtZm9yLXJ3LmFueS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
dHJhbnNhY3Rpb24tc2NoZWR1bGluZy1yby13YWl0cy1mb3ItcncuYW55Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcm8td2FpdHMtZm9yLXJ3LmFueS5odG1sCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcm8td2FpdHMtZm9y
LXJ3LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcm8td2FpdHMtZm9yLXJ3LmFueS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kY2EwOGI4MjA4ODhmMTNjMDBjZGI1YThhNjFiYWRhYzg4NGZhYzIxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1yby13YWl0cy1mb3ItcncuYW55Lmpz
CkBAIC0wLDAgKzEsMjYgQEAKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LmpzCisKK2luZGV4ZWRk
Yl90ZXN0KAorICAodCwgZGIpID0+IHsKKyAgICBjb25zdCBzdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZScpOworICAgIHN0b3JlLnB1dCgndmFsdWUnLCAna2V5Jyk7CisgIH0sCisK
KyAgKHQsIGRiKSA9PiB7CisgICAgY29uc3QgdHJhbnNhY3Rpb24xID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlJywgJ3JlYWR3cml0ZScpOworICAgIHRyYW5zYWN0aW9uMS5vbmFib3J0ID0gdC51bnJl
YWNoZWRfZnVuYygndHJhbnNhY3Rpb24xIHNob3VsZCBub3QgYWJvcnQnKTsKKworICAgIGNvbnN0
IHRyYW5zYWN0aW9uMiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkb25seScpOworICAg
IHRyYW5zYWN0aW9uMi5vbmFib3J0ID0gdC51bnJlYWNoZWRfZnVuYygndHJhbnNhY3Rpb24yIHNo
b3VsZCBub3QgYWJvcnQnKTsKKworICAgIGNvbnN0IHJlcXVlc3QgPSB0cmFuc2FjdGlvbjEub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykucHV0KCduZXcgdmFsdWUnLCAna2V5Jyk7CisgICAgcmVxdWVzdC5v
bmVycm9yID0gdC51bnJlYWNoZWRfZnVuYygncmVxdWVzdCBzaG91bGQgbm90IGZhaWwnKTsKKwor
ICAgIGNvbnN0IHJlcXVlc3QyID0gdHJhbnNhY3Rpb24yLm9iamVjdFN0b3JlKCdzdG9yZScpLmdl
dCgna2V5Jyk7CisgICAgcmVxdWVzdDIub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ3JlcXVl
c3QyIHNob3VsZCBub3QgZmFpbCcpOworICAgIHJlcXVlc3QyLm9uc3VjY2VzcyA9IHQuc3RlcF9m
dW5jX2RvbmUoZXZ0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdDIucmVzdWx0LCAn
bmV3IHZhbHVlJywKKyAgICAgICAgICAgICAgICAgICAgJ1JlcXVlc3Qgc2hvdWxkIHNlZSBuZXcg
dmFsdWUuJyk7CisgICAgfSk7CisgIH0sCisgICJyZWFkb25seSB0cmFuc2FjdGlvbiBzaG91bGQg
c2VlIHRoZSByZXN1bHQgb2YgYSBwcmV2aW91cyByZWFkd3JpdGUgdHJhbnNhY3Rpb24iKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcm8td2FpdHMtZm9yLXJ3LmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1yby13YWl0cy1mb3ItcncuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTFkZTllZTE5ZmE1YTY1YzMzMTlmNWU0ZWZl
ZGFmY2MxNWNiMjAxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcm8t
d2FpdHMtZm9yLXJ3LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIHJlYWRvbmx5IHRyYW5zYWN0aW9uIHNob3VsZCBzZWUgdGhlIHJlc3VsdCBvZiBhIHByZXZp
b3VzIHJlYWR3cml0ZSB0cmFuc2FjdGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1
bGluZy1yby13YWl0cy1mb3ItcncuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGlu
Zy1yby13YWl0cy1mb3ItcncuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1Mjhl
NjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1zY2hlZHVsaW5nLXJvLXdhaXRzLWZvci1ydy5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0
dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1ydy1zY29wZXMuYW55LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcnctc2NvcGVzLmFueS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWZiYWY3OWQ4ZWJhYmU0Y2JkNWJlZGZkODUyY2E0YzBkOTE5MThhZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctcnctc2NvcGVzLmFueS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2hlY2sgdGhhdCBzY29wZSByZXN0cmljdGlv
bnMgb24gcmVhZC13cml0ZSB0cmFuc2FjdGlvbnMgYXJlIGVuZm9yY2VkLiAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
dHJhbnNhY3Rpb24tc2NoZWR1bGluZy1ydy1zY29wZXMuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hl
ZHVsaW5nLXJ3LXNjb3Blcy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVk
NTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1
bGluZy1ydy1zY29wZXMuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tc2NoZWR1bGluZy1ydy1zY29wZXMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1y
dy1zY29wZXMuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjNmY2MTYxNGIwNjg5ZDMwOTAyMjI4NzIzNzlj
MTI2OTU1OWVjNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXJ3LXNj
b3Blcy5hbnkuanMKQEAgLTAsMCArMSw2MyBAQAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQuanMK
KworaW5kZXhlZGRiX3Rlc3QoCisgICh0LCBkYikgPT4geworICAgIGNvbnN0IHN0b3JlID0gZGIu
Y3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2En
KTsKKyAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnYicpOworICAgIGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdjJyk7CisgIH0sCisKKyAgKHQsIGRiKSA9PiB7CisgICAgbGV0IHRyYW5zYWN0aW9uMVN0
YXJ0ZWQgPSBmYWxzZTsKKyAgICBsZXQgdHJhbnNhY3Rpb24xQ29tcGxldGUgPSBmYWxzZTsKKyAg
ICBsZXQgdHJhbnNhY3Rpb24yU3RhcnRlZCA9IGZhbHNlOworICAgIGxldCB0cmFuc2FjdGlvbjJD
b21wbGV0ZSA9IGZhbHNlOworICAgIGxldCB0cmFuc2FjdGlvbjNTdGFydGVkID0gZmFsc2U7Cisg
ICAgbGV0IHRyYW5zYWN0aW9uM0NvbXBsZXRlID0gZmFsc2U7CisKKyAgICBjb25zdCB0cmFuc2Fj
dGlvbjEgPSBkYi50cmFuc2FjdGlvbihbJ2EnXSwgJ3JlYWR3cml0ZScpOworICAgIGxldCByZXF1
ZXN0ID0gdHJhbnNhY3Rpb24xLm9iamVjdFN0b3JlKCdhJykuZ2V0KDApOworICAgIHJlcXVlc3Qu
b25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ3JlcXVlc3Qgc2hvdWxkIHN1Y2NlZWQnKTsKKyAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgIHRyYW5zYWN0
aW9uMVN0YXJ0ZWQgPSB0cnVlOworICAgIH0pOworICAgIHRyYW5zYWN0aW9uMS5vbmFib3J0ID0g
dC51bnJlYWNoZWRfZnVuYygndHJhbnNhY3Rpb24xIHNob3VsZCBjb21wbGV0ZScpOworICAgIHRy
YW5zYWN0aW9uMS5vbmNvbXBsZXRlID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgdHJhbnNh
Y3Rpb24xQ29tcGxldGUgPSB0cnVlOworICAgICAgYXNzZXJ0X2ZhbHNlKHRyYW5zYWN0aW9uMlN0
YXJ0ZWQpOworICAgICAgYXNzZXJ0X2ZhbHNlKHRyYW5zYWN0aW9uM1N0YXJ0ZWQpOworICAgIH0p
OworCisKKyAgICAvLyB0cmFuc2FjdGlvbjIgb3ZlcmxhcHMgd2l0aCB0cmFuc2FjdGlvbjEsIHNv
IG11c3Qgd2FpdCB1bnRpbCB0cmFuc2FjdGlvbjEKKyAgICAvLyBjb21wbGV0ZXMuCisgICAgY29u
c3QgdHJhbnNhY3Rpb24yID0gZGIudHJhbnNhY3Rpb24oWydhJywgJ2InXSwgJ3JlYWR3cml0ZScp
OworICAgIHJlcXVlc3QgPSB0cmFuc2FjdGlvbjIub2JqZWN0U3RvcmUoJ2EnKS5nZXQoMCk7Cisg
ICAgcmVxdWVzdC5vbmVycm9yID0gdC51bnJlYWNoZWRfZnVuYygncmVxdWVzdCBzaG91bGQgc3Vj
Y2VlZCcpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAg
ICAgYXNzZXJ0X3RydWUodHJhbnNhY3Rpb24xQ29tcGxldGUpOworICAgICAgdHJhbnNhY3Rpb24y
U3RhcnRlZCA9IHRydWU7CisgICAgfSk7CisgICAgdHJhbnNhY3Rpb24yLm9uYWJvcnQgPSB0LnVu
cmVhY2hlZF9mdW5jKCd0cmFuc2FjdGlvbjIgc2hvdWxkIGNvbXBsZXRlJyk7CisgICAgdHJhbnNh
Y3Rpb24yLm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICB0cmFuc2FjdGlv
bjJDb21wbGV0ZSA9IHRydWU7CisgICAgICBhc3NlcnRfZmFsc2UodHJhbnNhY3Rpb24zU3RhcnRl
ZCk7CisgICAgfSk7CisKKyAgICAvLyB0cmFuc2FjdGlvbjMgb3ZlcmxhcHMgd2l0aCB0cmFuc2Fj
dGlvbjIsIHNvIG11c3Qgd2FpdCB1bnRpbCB0cmFuc2FjdGlvbjIKKyAgICAvLyBjb21wbGV0ZXMg
ZXZlbiB0aG91Z2ggaXQgZG9lcyBub3Qgb3ZlcmxhcCB3aXRoIHRyYW5zYWN0aW9uMS4KKyAgICBj
b25zdCB0cmFuc2FjdGlvbjMgPSBkYi50cmFuc2FjdGlvbihbJ2InLCAnYyddLCAncmVhZHdyaXRl
Jyk7CisgICAgcmVxdWVzdCA9IHRyYW5zYWN0aW9uMy5vYmplY3RTdG9yZSgnYicpLmdldCgwKTsK
KyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hlZF9mdW5jKCdyZXF1ZXN0IHNob3VsZCBz
dWNjZWVkJyk7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYygoKSA9PiB7Cisg
ICAgICBhc3NlcnRfdHJ1ZSh0cmFuc2FjdGlvbjFDb21wbGV0ZSk7CisgICAgICBhc3NlcnRfdHJ1
ZSh0cmFuc2FjdGlvbjJDb21wbGV0ZSk7CisgICAgICB0cmFuc2FjdGlvbjNTdGFydGVkID0gdHJ1
ZTsKKyAgICB9KTsKKyAgICB0cmFuc2FjdGlvbjMub25hYm9ydCA9IHQudW5yZWFjaGVkX2Z1bmMo
J3RyYW5zYWN0aW9uMyBzaG91bGQgY29tcGxldGUnKTsKKyAgICB0cmFuc2FjdGlvbjMub25jb21w
bGV0ZSA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgdHJhbnNhY3Rpb24zQ29tcGxl
dGUgPSB0cnVlOworICAgIH0pOworICB9LAorICAiQ2hlY2sgdGhhdCBzY29wZSByZXN0cmljdGlv
bnMgb24gcmVhZC13cml0ZSB0cmFuc2FjdGlvbnMgYXJlIGVuZm9yY2VkLiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
dHJhbnNhY3Rpb24tc2NoZWR1bGluZy1ydy1zY29wZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90
cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXJ3LXNjb3Blcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lZmJhZjc5ZDhlYmFiZTRjYmQ1YmVkZmQ4NTJjYTRjMGQ5MTkxOGFlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1ydy1zY29wZXMuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ2hlY2sgdGhhdCBzY29wZSByZXN0
cmljdGlvbnMgb24gcmVhZC13cml0ZSB0cmFuc2FjdGlvbnMgYXJlIGVuZm9yY2VkLiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy1ydy1zY29wZXMuYW55Lndvcmtlci5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tc2NoZWR1bGluZy1ydy1zY29wZXMuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXJ3LXNjb3Blcy5hbnkud29ya2VyLmh0bWwKQEAgLTAs
MCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJh
c3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy13aXRoaW4tZGF0YWJh
c2UuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctd2l0aGluLWRhdGFiYXNl
LmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMxNWRkNDEzMDRkOGIyMGM0Y2QyMTJhZTg3
YzJkYWVlZjkyMDgxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctd2l0
aGluLWRhdGFiYXNlLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0hhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIENoZWNrIHRoYXQgcmVh
ZC1vbmx5IHRyYW5zYWN0aW9ucyB3aXRoaW4gYSBkYXRhYmFzZSBjYW4gcnVuIGluIHBhcmFsbGVs
LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXdpdGhp
bi1kYXRhYmFzZS5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctd2l0aGluLWRhdGFiYXNl
LmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBi
NTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXdpdGhpbi1kYXRh
YmFzZS5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hl
ZHVsaW5nLXdpdGhpbi1kYXRhYmFzZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXdpdGhp
bi1kYXRhYmFzZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTBkZDhiNmQ3YWM1ZWQ5ZGQ0Mzk5YTA0ZGFk
YTJmNWU4OGI4MjdkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctd2l0
aGluLWRhdGFiYXNlLmFueS5qcwpAQCAtMCwwICsxLDU1IEBACisvLyBNRVRBOiBzY3JpcHQ9c3Vw
cG9ydC5qcworCitpbmRleGVkZGJfdGVzdCgKKyAgKHQsIGRiKSA9PiB7CisgICAgY29uc3Qgc3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBzdG9yZS5wdXQoJ3ZhbHVl
JywgJ2tleScpOworICB9LAorCisgICh0LCBkYikgPT4geworICAgIGxldCB0cmFuc2FjdGlvbjFH
ZXRTdWNjZXNzID0gZmFsc2U7CisgICAgbGV0IHRyYW5zYWN0aW9uMkdldFN1Y2Nlc3MgPSBmYWxz
ZTsKKworICAgIGNvbnN0IG9uVHJhbnNhY3Rpb25Db21wbGV0ZSA9IGJhcnJpZXJfZnVuYygyLCB0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF90cnVlKHRyYW5zYWN0aW9uMUdl
dFN1Y2Nlc3MsCisgICAgICAgICAgICAgICAgICAndHJhbnNhY3Rpb24xIHNob3VsZCBoYXZlIGV4
ZWN1dGVkIGF0IGxlYXN0IG9uZSByZXF1ZXN0Jyk7CisgICAgICBhc3NlcnRfdHJ1ZSh0cmFuc2Fj
dGlvbjJHZXRTdWNjZXNzLAorICAgICAgICAgICAgICAgICAgJ3RyYW5zYWN0aW9uMSBzaG91bGQg
aGF2ZSBleGVjdXRlZCBhdCBsZWFzdCBvbmUgcmVxdWVzdCcpOworICAgIH0pKTsKKworICAgIGNv
bnN0IHRyYW5zYWN0aW9uMSA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkb25seScpOwor
ICAgIHRyYW5zYWN0aW9uMS5vbmFib3J0ID0gdC51bnJlYWNoZWRfZnVuYygndHJhbnNhY3Rpb24x
IHNob3VsZCBub3QgYWJvcnQnKTsKKyAgICB0cmFuc2FjdGlvbjEub25jb21wbGV0ZSA9IHQuc3Rl
cF9mdW5jKG9uVHJhbnNhY3Rpb25Db21wbGV0ZSk7CisKKyAgICBjb25zdCB0cmFuc2FjdGlvbjIg
PSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZG9ubHknKTsKKyAgICB0cmFuc2FjdGlvbjIu
b25hYm9ydCA9IHQudW5yZWFjaGVkX2Z1bmMoJ3RyYW5zYWN0aW9uMiBzaG91bGQgbm90IGFib3J0
Jyk7CisgICAgdHJhbnNhY3Rpb24yLm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhvblRyYW5zYWN0
aW9uQ29tcGxldGUpOworCisgICAgLy8gS2VlcCBib3RoIHRyYW5zYWN0aW9ucyBhbGl2ZSB1bnRp
bCBlYWNoIGhhcyByZXBvcnRlZCBhdCBsZWFzdCBvbmUKKyAgICAvLyBzdWNjZXNzZnVsIG9wZXJh
dGlvbgorCisgICAgZnVuY3Rpb24gZG9UcmFuc2FjdGlvbjFHZXQoKSB7CisgICAgICBjb25zdCBy
ZXF1ZXN0ID0gdHJhbnNhY3Rpb24xLm9iamVjdFN0b3JlKCdzdG9yZScpLmdldCgna2V5Jyk7Cisg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hlZF9mdW5jKCdyZXF1ZXN0IHNob3VsZCBu
b3QgZmFpbCcpOworICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgICAgIHRyYW5zYWN0aW9uMUdldFN1Y2Nlc3MgPSB0cnVlOworICAgICAgICBpZiAoIXRy
YW5zYWN0aW9uMkdldFN1Y2Nlc3MpCisgICAgICAgICAgZG9UcmFuc2FjdGlvbjFHZXQoKTsKKyAg
ICAgIH0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRvVHJhbnNhY3Rpb24yR2V0KCkgeworICAg
ICAgLy8gTk9URTogTm8gbG9nZ2luZyBzaW5jZSBleGVjdXRpb24gb3JkZXIgaXMgbm90IGRldGVy
bWluaXN0aWMuCisgICAgICBjb25zdCByZXF1ZXN0ID0gdHJhbnNhY3Rpb24yLm9iamVjdFN0b3Jl
KCdzdG9yZScpLmdldCgna2V5Jyk7CisgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hl
ZF9mdW5jKCdyZXF1ZXN0IHNob3VsZCBub3QgZmFpbCcpOworICAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIHRyYW5zYWN0aW9uMkdldFN1Y2Nlc3Mg
PSB0cnVlOworICAgICAgICBpZiAoIXRyYW5zYWN0aW9uMUdldFN1Y2Nlc3MpCisgICAgICAgICAg
ZG9UcmFuc2FjdGlvbjJHZXQoKTsKKyAgICAgIH0pOworICAgIH0KKworICAgIGRvVHJhbnNhY3Rp
b24xR2V0KCk7CisgICAgZG9UcmFuc2FjdGlvbjJHZXQoKTsKKyAgfSwKKyAgJ0NoZWNrIHRoYXQg
cmVhZC1vbmx5IHRyYW5zYWN0aW9ucyB3aXRoaW4gYSBkYXRhYmFzZSBjYW4gcnVuIGluIHBhcmFs
bGVsLicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy13aXRoaW4tZGF0YWJhc2Uu
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1zY2hlZHVsaW5nLXdpdGhpbi1kYXRh
YmFzZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzE1ZGQ0MTMwNGQ4YjIw
YzRjZDIxMmFlODdjMmRhZWVmOTIwODE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2No
ZWR1bGluZy13aXRoaW4tZGF0YWJhc2UuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1F
T1VUIENoZWNrIHRoYXQgcmVhZC1vbmx5IHRyYW5zYWN0aW9ucyB3aXRoaW4gYSBkYXRhYmFzZSBj
YW4gcnVuIGluIHBhcmFsbGVsLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1zY2hlZHVsaW5nLXdpdGhpbi1kYXRhYmFzZS5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1z
Y2hlZHVsaW5nLXdpdGhpbi1kYXRhYmFzZS5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4
MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uLXNjaGVkdWxpbmctd2l0aGluLWRhdGFiYXNlLmFueS53b3JrZXIuaHRtbApAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi91cGdyYWRlLXRyYW5zYWN0aW9uLWxpZmVjeWNsZS1iYWNr
ZW5kLWFib3J0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3VwZ3JhZGUtdHJhbnNhY3Rpb24tbGlmZWN5Y2xlLWJhY2tlbmQtYWJv
cnRlZC5odG1sCmluZGV4IDlhN2M0YjQyZjUwMzc2ZmI3MTUyN2JhNjJhNTgzYzM3ZjNlOTA2OGIu
LmI1MTY3ODhlMDk1OTM4MGNlMzBhNzYzNWExZmE5ZWU0MzhkNTdhYWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3VwZ3Jh
ZGUtdHJhbnNhY3Rpb24tbGlmZWN5Y2xlLWJhY2tlbmQtYWJvcnRlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3VwZ3JhZGUt
dHJhbnNhY3Rpb24tbGlmZWN5Y2xlLWJhY2tlbmQtYWJvcnRlZC5odG1sCkBAIC0yNiwxMiArMjYs
MTIgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgICAgIGFzc2VydF9lcXVhbHMoCiAgICAg
ICAgICAgICAgIHJlcXVlc3QudHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uLAogICAgICAgICAgICAg
ICAiVGhlIG9wZW4gcmVxdWVzdCdzIHRyYW5zYWN0aW9uIHNob3VsZCBiZSByZXNldCBhZnRlciBv
bmFib3J0Iik7Ci0gICAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgICBhc3NlcnRfdGhy
b3dzX2RvbSgKICAgICAgICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywKICAgICAgICAgICAg
ICAgKCkgPT4geyBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgnYm9va3MyJyk7IH0sCiAgICAg
ICAgICAgICAgICdjcmVhdGVPYmplY3RTdG9yZSBleGNlcHRpb24gc2hvdWxkIHJlZmxlY3QgdGhh
dCB0aGUgJyArCiAgICAgICAgICAgICAgICd0cmFuc2FjdGlvbiBpcyBubyBsb25nZXIgcnVubmlu
ZycpOwotICAgICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oCiAgICAgICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsCiAgICAgICAgICAgICAgICgp
ID0+IHsgZGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoJ2Jvb2tzJyk7IH0sCiAgICAgICAgICAg
ICAgICdkZWxldGVPYmplY3RTdG9yZSBleGNlcHRpb24gc2hvdWxkIHJlZmxlY3QgdGhhdCB0aGUg
JyArCkBAIC02MCwxMiArNjAsMTIgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgICAgICAg
ICAgIHJlcXVlc3QudHJhbnNhY3Rpb24sIG51bGwsCiAgICAgICAgICAgICAgICAgIlRoZSBvcGVu
IHJlcXVlc3QncyB0cmFuc2FjdGlvbiBzaG91bGQgYmUgcmVzZXQgYWZ0ZXIgIiArCiAgICAgICAg
ICAgICAgICAgJ29uYWJvcnQgbWljcm90YXNrcycpOwotICAgICAgICAgICAgYXNzZXJ0X3Rocm93
cygKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICAgICAgICdJbnZh
bGlkU3RhdGVFcnJvcicsCiAgICAgICAgICAgICAgICAgKCkgPT4geyBkYXRhYmFzZS5jcmVhdGVP
YmplY3RTdG9yZSgnYm9va3MyJyk7IH0sCiAgICAgICAgICAgICAgICAgJ2NyZWF0ZU9iamVjdFN0
b3JlIGV4Y2VwdGlvbiBzaG91bGQgcmVmbGVjdCB0aGF0IHRoZSAnICsKICAgICAgICAgICAgICAg
ICAndHJhbnNhY3Rpb24gaXMgbm8gbG9uZ2VyIHJ1bm5pbmcnKTsKLSAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3MoCisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICAg
ICAnSW52YWxpZFN0YXRlRXJyb3InLAogICAgICAgICAgICAgICAgICgpID0+IHsgZGF0YWJhc2Uu
ZGVsZXRlT2JqZWN0U3RvcmUoJ2Jvb2tzJyk7IH0sCiAgICAgICAgICAgICAgICAgJ2RlbGV0ZU9i
amVjdFN0b3JlIGV4Y2VwdGlvbiBzaG91bGQgcmVmbGVjdCB0aGF0IHRoZSAnICsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3VwZ3JhZGUtdHJhbnNhY3Rpb24tbGlmZWN5Y2xlLWNvbW1pdHRlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdXBncmFkZS10cmFu
c2FjdGlvbi1saWZlY3ljbGUtY29tbWl0dGVkLmh0bWwKaW5kZXggMzY2ZWQzOGNiOGFlYTFiMjMy
OWJkYWNiNTIwNTRjYjZkZGRhNThmYS4uNTNhZmMxMzI1OWVkNjU0ZjZkYjM0NWVjZmE3OGM4OThm
NTZkYjgyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdXBncmFkZS10cmFuc2FjdGlvbi1saWZlY3ljbGUtY29tbWl0dGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvdXBncmFkZS10cmFuc2FjdGlvbi1saWZlY3ljbGUtY29tbWl0dGVkLmh0bWwKQEAg
LTI3LDEyICsyNywxMiBAQCBwcm9taXNlX3Rlc3QodCA9PiB7CiAgICAgICAgICAgICAgIHJlcXVl
c3QudHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uLAogICAgICAgICAgICAgICAiVGhlIG9wZW4gcmVx
dWVzdCdzIHRyYW5zYWN0aW9uIHNob3VsZCBiZSByZXNldCBhZnRlciAiICsKICAgICAgICAgICAg
ICAgJ29uY29tcGxldGUnKTsKLSAgICAgICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICAgIGFz
c2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLAogICAg
ICAgICAgICAgICAoKSA9PiB7IGRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKCdib29rczInKTsg
fSwKICAgICAgICAgICAgICAgJ2NyZWF0ZU9iamVjdFN0b3JlIGV4Y2VwdGlvbiBzaG91bGQgcmVm
bGVjdCB0aGF0IHRoZSAnICsKICAgICAgICAgICAgICAgJ3RyYW5zYWN0aW9uIGlzIG5vIGxvbmdl
ciBydW5uaW5nJyk7Ci0gICAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgKICAgICAgICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywKICAgICAgICAg
ICAgICAgKCkgPT4geyBkYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgnYm9va3MnKTsgfSwKICAg
ICAgICAgICAgICAgJ2RlbGV0ZU9iamVjdFN0b3JlIGV4Y2VwdGlvbiBzaG91bGQgcmVmbGVjdCB0
aGF0IHRoZSAnICsKQEAgLTU4LDEyICs1OCwxMiBAQCBwcm9taXNlX3Rlc3QodCA9PiB7CiAgICAg
ICAgICAgICAgICAgcmVxdWVzdC50cmFuc2FjdGlvbiwgbnVsbCwKICAgICAgICAgICAgICAgICAi
VGhlIG9wZW4gcmVxdWVzdCdzIHRyYW5zYWN0aW9uIHNob3VsZCBiZSByZXNldCBhZnRlciAiICsK
ICAgICAgICAgICAgICAgICAnb25jb21wbGV0ZSBtaWNyb3Rhc2tzJyk7Ci0gICAgICAgICAgICBh
c3NlcnRfdGhyb3dzKAorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAg
ICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywKICAgICAgICAgICAgICAgICAoKSA9PiB7IGRhdGFi
YXNlLmNyZWF0ZU9iamVjdFN0b3JlKCdib29rczInKTsgfSwKICAgICAgICAgICAgICAgICAnY3Jl
YXRlT2JqZWN0U3RvcmUgZXhjZXB0aW9uIHNob3VsZCByZWZsZWN0IHRoYXQgdGhlICcgKwogICAg
ICAgICAgICAgICAgICd0cmFuc2FjdGlvbiBpcyBubyBsb25nZXIgcnVubmluZycpOwotICAgICAg
ICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9tKAogICAg
ICAgICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsCiAgICAgICAgICAgICAgICAgKCkgPT4g
eyBkYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgnYm9va3MnKTsgfSwKICAgICAgICAgICAgICAg
ICAnZGVsZXRlT2JqZWN0U3RvcmUgZXhjZXB0aW9uIHNob3VsZCByZWZsZWN0IHRoYXQgdGhlICcg
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvdXBncmFkZS10cmFuc2FjdGlvbi1saWZlY3ljbGUtdXNlci1hYm9ydGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi91cGdyYWRlLXRyYW5zYWN0aW9uLWxpZmVjeWNsZS11c2VyLWFib3J0ZWQuaHRtbAppbmRleCA5
ZGI5M2RiOTNkM2IxODdlNTU4N2M4MmVkZmI1NTdjMWMxMjE4N2QzLi44ZGZmODYxOTZjZjVkYjU0
ZjYxNDhkNGU5ODc2YmE5YmViNTgyOGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi91cGdyYWRlLXRyYW5zYWN0aW9uLWxp
ZmVjeWNsZS11c2VyLWFib3J0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi91cGdyYWRlLXRyYW5zYWN0aW9uLWxpZmVjeWNs
ZS11c2VyLWFib3J0ZWQuaHRtbApAQCAtMjUsMTIgKzI1LDEyIEBAIHByb21pc2VfdGVzdCh0ID0+
IHsKICAgICAgICAgcmVxdWVzdC50cmFuc2FjdGlvbiwgdHJhbnNhY3Rpb24sCiAgICAgICAgICJU
aGUgb3BlbiByZXF1ZXN0J3MgdHJhbnNhY3Rpb24gc2hvdWxkIGJlIHJlc2V0IGFmdGVyIG9uYWJv
cnQiKTsKIAotICAgIGFzc2VydF90aHJvd3MoCisgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAg
ICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLAogICAgICAgICAoKSA9PiB7IGRhdGFiYXNl
LmNyZWF0ZU9iamVjdFN0b3JlKCdib29rczInKTsgfSwKICAgICAgICAgJ2NyZWF0ZU9iamVjdFN0
b3JlIGV4Y2VwdGlvbiBzaG91bGQgcmVmbGVjdCB0aGF0IHRoZSB0cmFuc2FjdGlvbiBpcyAnICsK
ICAgICAgICAgJ3N0aWxsIHJ1bm5pbmcnKTsKLSAgICBhc3NlcnRfdGhyb3dzKAorICAgIGFzc2Vy
dF90aHJvd3NfZG9tKAogICAgICAgICAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywKICAgICAg
ICAgKCkgPT4geyBkYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgnYm9va3MnKTsgfSwKICAgICAg
ICAgJ2RlbGV0ZU9iamVjdFN0b3JlIGV4Y2VwdGlvbiBzaG91bGQgcmVmbGVjdCB0aGF0IHRoZSB0
cmFuc2FjdGlvbiBpcycgKwpAQCAtNjAsMTIgKzYwLDEyIEBAIHByb21pc2VfdGVzdCh0ID0+IHsK
ICAgICAgIGFzc2VydF9lcXVhbHMoCiAgICAgICAgICAgcmVxdWVzdC50cmFuc2FjdGlvbiwgdHJh
bnNhY3Rpb24sCiAgICAgICAgICAgIlRoZSBvcGVuIHJlcXVlc3QncyB0cmFuc2FjdGlvbiBzaG91
bGQgYmUgcmVzZXQgYWZ0ZXIgb25hYm9ydCIpOwotICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAg
IGFzc2VydF90aHJvd3NfZG9tKAogICAgICAgICAgICdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3In
LAogICAgICAgICAgICgpID0+IHsgZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoJ2Jvb2tzMicp
OyB9LAogICAgICAgICAgICdjcmVhdGVPYmplY3RTdG9yZSBleGNlcHRpb24gc2hvdWxkIHJlZmxl
Y3QgdGhhdCB0aGUgdHJhbnNhY3Rpb24gJyArCiAgICAgICAgICAgJ2lzIHN0aWxsIHJ1bm5pbmcn
KTsKLSAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAg
ICAgICAnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywKICAgICAgICAgICAoKSA9PiB7IGRhdGFi
YXNlLmRlbGV0ZU9iamVjdFN0b3JlKCdib29rcycpOyB9LAogICAgICAgICAgICdkZWxldGVPYmpl
Y3RTdG9yZSBleGNlcHRpb24gc2hvdWxkIHJlZmxlY3QgdGhhdCB0aGUgdHJhbnNhY3Rpb24gJyAr
CkBAIC04NywxMiArODcsMTIgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoCiAgICAgICAgICAgICAgIHJlcXVlc3QudHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9u
LAogICAgICAgICAgICAgICAiVGhlIG9wZW4gcmVxdWVzdCdzIHRyYW5zYWN0aW9uIHNob3VsZCBi
ZSByZXNldCBhZnRlciBvbmFib3J0Iik7Ci0gICAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgKICAgICAgICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9y
JywKICAgICAgICAgICAgICAgKCkgPT4geyBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgnYm9v
a3MyJyk7IH0sCiAgICAgICAgICAgICAgICdjcmVhdGVPYmplY3RTdG9yZSBleGNlcHRpb24gc2hv
dWxkIHJlZmxlY3QgdGhhdCB0aGUgJyArCiAgICAgICAgICAgICAgICd0cmFuc2FjdGlvbiBpcyBu
byBsb25nZXIgcnVubmluZycpOwotICAgICAgICAgIGFzc2VydF90aHJvd3MoCisgICAgICAgICAg
YXNzZXJ0X3Rocm93c19kb20oCiAgICAgICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsCiAg
ICAgICAgICAgICAgICgpID0+IHsgZGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoJ2Jvb2tzJyk7
IH0sCiAgICAgICAgICAgICAgICdkZWxldGVPYmplY3RTdG9yZSBleGNlcHRpb24gc2hvdWxkIHJl
ZmxlY3QgdGhhdCB0aGUgJyArCkBAIC0xMjAsMTIgKzEyMCwxMiBAQCBwcm9taXNlX3Rlc3QodCA9
PiB7CiAgICAgICAgICAgICAgICAgcmVxdWVzdC50cmFuc2FjdGlvbiwgbnVsbCwKICAgICAgICAg
ICAgICAgICAiVGhlIG9wZW4gcmVxdWVzdCdzIHRyYW5zYWN0aW9uIHNob3VsZCBiZSByZXNldCBh
ZnRlciAiICsKICAgICAgICAgICAgICAgICAnb25hYm9ydCBtaWNyb3Rhc2tzJyk7Ci0gICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzKAorICAgICAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oCiAgICAg
ICAgICAgICAgICAgJ0ludmFsaWRTdGF0ZUVycm9yJywKICAgICAgICAgICAgICAgICAoKSA9PiB7
IGRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKCdib29rczInKTsgfSwKICAgICAgICAgICAgICAg
ICAnY3JlYXRlT2JqZWN0U3RvcmUgZXhjZXB0aW9uIHNob3VsZCByZWZsZWN0IHRoYXQgdGhlICcg
KwogICAgICAgICAgICAgICAgICd0cmFuc2FjdGlvbiBpcyBubyBsb25nZXIgcnVubmluZycpOwot
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygKKyAgICAgICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KAogICAgICAgICAgICAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsCiAgICAgICAgICAgICAgICAg
KCkgPT4geyBkYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgnYm9va3MnKTsgfSwKICAgICAgICAg
ICAgICAgICAnZGVsZXRlT2JqZWN0U3RvcmUgZXhjZXB0aW9uIHNob3VsZCByZWZsZWN0IHRoYXQg
dGhlICcgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93M2MtaW1wb3J0LmxvZwppbmRleCA3ODdj
ZGIwZGMwZWZhNDk0NjNhYzcyZGY0ZjI2YTQyZjA2ZjUyNGFkLi43NWYwNTJmODVkYWVlNjkzZDZl
YmRlMWYxYWQ1NTNiYWVmYzM0ZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93M2MtaW1w
b3J0LmxvZwpAQCAtMjEsMTIgKzIxLDE4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0
LWtleXMtYnlwYXNzLXNldHRlcnMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLWNo
YWluLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1zZXR0ZXJzLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9ibG9iLWNv
bnRlbnR0eXBlLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2Jsb2ItZGVsZXRlLW9iamVjdHN0b3JlLWRiLmFueS5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jsb2ItdmFs
aWQtYWZ0ZXItZGVsZXRpb24uYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmxvYi12YWxpZC1iZWZvcmUtY29tbWl0LmFueS5qcwog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Ns
b25lLWJlZm9yZS1rZXlwYXRoLWV2YWwuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Nsb3NlLWluLXVwZ3JhZGVuZWVkZWQuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2N1
cnNvci1vdmVybG9hZHMuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvZGVsZXRlLXJlcXVlc3QtcXVldWUuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Vycm9yLWF0dHJpYnV0
ZXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2V2ZW50LWRpc3BhdGNoLWFjdGl2ZS1mbGFnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maWxlX3N1cHBvcnQuc3ViLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9maWxlX3RvX3NhdmUudHh0CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvZmlyZS1lcnJvci1ldmVudC1leGNlcHRpb24uaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtc3Vj
Y2Vzcy1ldmVudC1leGNlcHRpb24uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtdXBncmFkZW5lZWRlZC1ldmVudC1leGNlcHRp
b24uaHRtbApAQCAtNzUsNiArODEsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNl
X29iamVjdHN0b3JlMy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9vYmplY3RzdG9yZTQuaHRtCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2FkdmFuY2Vfb2JqZWN0c3RvcmU1Lmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9kZWxldGVfb2Jq
ZWN0c3RvcmUuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4Lmh0bQogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51
ZV9pbmRleDIuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4My5odG0KQEAgLTIxOSw2ICsyMjYs
OCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5LZXlDdXJzb3IyLmh0bQogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29w
ZW5LZXlDdXJzb3IzLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5LZXlDdXJzb3I0Lmh0bQorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3JldmVy
c2VfY3Vyc29yLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X3RvbWJzdG9uZXMuYW55LmpzCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRia2V5cmFuZ2UtaW5j
bHVkZXMuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRia2V5cmFuZ2UuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRia2V5cmFuZ2VfaW5jb3JyZWN0Lmh0bQpAQCAtMzU5
LDYgKzM2OCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVxdWVzdC1ldmVudC1vcmRlcmluZy5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVx
dWVzdF9idWJibGUtYW5kLWNhcHR1cmUuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RyaW5nLWxpc3Qtb3JkZXJpbmcuaHRtCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0
dXJlZC1jbG9uZS10cmFuc2FjdGlvbi1zdGF0ZS5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLmFueS5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3N1cHBvcnQtcHJvbWlzZXMuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LmpzCkBAIC0zNzQsNiArMzg0LDEzIEBAIExpc3Qg
b2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvdHJhbnNhY3Rpb24tbGlmZXRpbWUuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJh
YmlsaXR5LnRlbnRhdGl2ZS5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZXF1ZXN0cXVldWUuaHRtCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tc2NoZWR1bGluZy1hY3Jvc3MtY29ubmVjdGlvbnMuYW55LmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2No
ZWR1bGluZy1hY3Jvc3MtZGF0YWJhc2VzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctbWl4
ZWQtc2NvcGVzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXNjaGVkdWxpbmctb3JkZXJpbmcuYW55LmpzCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tc2NoZWR1bGluZy1yby13YWl0cy1mb3ItcncuYW55LmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2No
ZWR1bGluZy1ydy1zY29wZXMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tc2NoZWR1bGluZy13aXRoaW4tZGF0
YWJhc2UuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvdHJhbnNhY3Rpb25fYnViYmxlLWFuZC1jYXB0dXJlLmh0bQogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3VwZ3JhZGUtdHJh
bnNhY3Rpb24tZGVhY3RpdmF0aW9uLXRpbWluZy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdXBncmFkZS10cmFuc2FjdGlvbi1saWZl
Y3ljbGUtYmFja2VuZC1hYm9ydGVkLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>