<?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>52304</bug_id>
          
          <creation_ts>2011-01-12 10:24:07 -0800</creation_ts>
          <short_desc>REGRESSION(r75576): broke rebaseline-chromium-webkit-test (Requested by thakis on #webkit).</short_desc>
          <delta_ts>2011-01-12 12:39:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>51222</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>333143</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-12 10:24:07 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75576 broke the build:
broke rebaseline-chromium-webkit-test (Requested by thakis on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333144</commentid>
    <comment_count>1</comment_count>
      <attachid>78702</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-12 10:24:29 -0800</bug_when>
    <thetext>Created attachment 78702
ROLLOUT of r75576

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333188</commentid>
    <comment_count>2</comment_count>
      <attachid>78702</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-12 11:25:46 -0800</bug_when>
    <thetext>Comment on attachment 78702
ROLLOUT of r75576

Clearing flags on attachment: 78702

Committed r75626: &lt;http://trac.webkit.org/changeset/75626&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333190</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-12 11:25:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333240</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-12 12:39:38 -0800</bug_when>
    <thetext>Hmm. Wonder why the unit tests didn&apos;t catch this. I will look into it. Thanks for rolling it out, and sorry for the inconvenience.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78702</attachid>
            <date>2011-01-12 10:24:29 -0800</date>
            <delta_ts>2011-01-12 11:25:46 -0800</delta_ts>
            <desc>ROLLOUT of r75576</desc>
            <filename>bug-52304-20110112182419.patch</filename>
            <type>text/plain</type>
            <size>69773</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjNDE3
NDNiMThkZjBjODU2OWRjMjQwOTBjZmVhZTJlODQ4ZjJjNzMxLi5mYjExMTA1ZDkzNzM2ZjI1OGVj
ZDA5ZGNlODBjM2I0MTFmOGE2MzAyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDEtMTIgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHI3NTU3Ni4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvNzU1NzYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUyMzA0CisKKyAgICAgICAgYnJva2UgcmViYXNlbGluZS1jaHJvbWl1bS13ZWJraXQtdGVzdCAo
UmVxdWVzdGVkIGJ5IHRoYWtpcyBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3ByaW50aW5nX3VuaXR0
ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9w
YWNrYWdlL3Rlc3RfZXhwZWN0YXRpb25zLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdl
L3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvYmFzZS5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvcG9ydF90ZXN0Y2FzZS5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L3Rlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMucHk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zLnB5Ogor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3RhdGlv
bnNfdW5pdHRlc3QucHk6CisKIDIwMTEtMDEtMTIgIEtvYW4tU2luIFRhbiAgPGtvYW5zaW4udGFu
QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2Fn
ZS9wcmludGluZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2xheW91dF9wYWNrYWdlL3ByaW50aW5nX3VuaXR0ZXN0LnB5CmluZGV4IGQwMjdlNjAxMTJk
NGFlOGYwYjE2NWQ3MDkyYTFjNTRjMDkxMmFiM2EuLjkyODBiMDI1M2Q3YzI1ZTg3OGM3MzAxODNl
ZjFlOWU1YTc2MTcxMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2xheW91dF9wYWNrYWdlL3ByaW50aW5nX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3ByaW50aW5nX3VuaXR0
ZXN0LnB5CkBAIC0zMSw2ICszMSw3IEBACiAKIGltcG9ydCBvcwogaW1wb3J0IG9wdHBhcnNlCitp
bXBvcnQgcGRiCiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBsb2dnaW5nCkBA
IC0xNDUsNyArMTQ2LDcgQEAgY2xhc3MgIFRlc3RwcmludGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0IGluIHRlc3RzXQogICAgICAgICBleHBlY3RhdGlv
bnMgPSB0ZXN0X2V4cGVjdGF0aW9ucy5UZXN0RXhwZWN0YXRpb25zKAogICAgICAgICAgICAgc2Vs
Zi5fcG9ydCwgdGVzdF9wYXRocywgZXhwZWN0YXRpb25zX3N0ciwKLSAgICAgICAgICAgIHNlbGYu
X3BvcnQudGVzdF9jb25maWd1cmF0aW9uKCksCisgICAgICAgICAgICBzZWxmLl9wb3J0LnRlc3Rf
cGxhdGZvcm1fbmFtZSgpLCBpc19kZWJ1Z19tb2RlPUZhbHNlLAogICAgICAgICAgICAgaXNfbGlu
dF9tb2RlPUZhbHNlKQogCiAgICAgICAgIHJzID0gcmVzdWx0X3N1bW1hcnkuUmVzdWx0U3VtbWFy
eShleHBlY3RhdGlvbnMsIHRlc3RfcGF0aHMpCkBAIC0zNjQsNyArMzY1LDcgQEAgY2xhc3MgIFRl
c3RwcmludGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9wcmludF9wcm9ncmVz
c19fZGV0YWlsZWQoc2VsZik6CiAgICAgICAgIHRlc3RzID0gWydwYXNzZXMvdGV4dC5odG1sJywg
J2ZhaWx1cmVzL2V4cGVjdGVkL3RpbWVvdXQuaHRtbCcsCiAgICAgICAgICAgICAgICAgICdmYWls
dXJlcy9leHBlY3RlZC9jcmFzaC5odG1sJ10KLSAgICAgICAgZXhwZWN0YXRpb25zID0gJ0JVR1gg
OiBmYWlsdXJlcy9leHBlY3RlZC90aW1lb3V0Lmh0bWwgPSBUSU1FT1VUJworICAgICAgICBleHBl
Y3RhdGlvbnMgPSAnZmFpbHVyZXMvZXhwZWN0ZWQvdGltZW91dC5odG1sID0gVElNRU9VVCcKIAog
ICAgICAgICAjIGZpcnN0LCB0ZXN0IHRoYXQgaXQgaXMgZGlzYWJsZWQgcHJvcGVybHkKICAgICAg
ICAgIyBzaG91bGQgc3RpbGwgcHJpbnQgb25lLWxpbmUtcHJvZ3Jlc3MKQEAgLTU3MCw4ICs1NzEs
OCBAQCBjbGFzcyAgVGVzdHByaW50ZXIodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKG91dC5lbXB0eSgpKQogCiAgICAgICAgIGV4cGVjdGF0aW9ucyA9ICIiIgot
QlVHWCA6IGZhaWx1cmVzL2V4cGVjdGVkL2NyYXNoLmh0bWwgPSBDUkFTSAotQlVHWCA6IGZhaWx1
cmVzL2V4cGVjdGVkL3RpbWVvdXQuaHRtbCA9IFRJTUVPVVQKK2ZhaWx1cmVzL2V4cGVjdGVkL2Ny
YXNoLmh0bWwgPSBDUkFTSAorZmFpbHVyZXMvZXhwZWN0ZWQvdGltZW91dC5odG1sID0gVElNRU9V
VAogIiIiCiAgICAgICAgIGVyci5yZXNldCgpCiAgICAgICAgIG91dC5yZXNldCgpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90
ZXN0X2V4cGVjdGF0aW9ucy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2xheW91dF9wYWNrYWdlL3Rlc3RfZXhwZWN0YXRpb25zLnB5CmluZGV4IDk4NzUyYzllMmQxMjQ5
NzVkYThiNzEwNWI2ZGMzYmNkNWY1NjRjM2UuLjg2NDVmYzFkYzE4N2Q2ZGMwNmNmZmVmYzdlNGI5
ODY2YjRlNTBlN2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfZXhwZWN0YXRpb25z
LnB5CkBAIC0zMSw3ICszMSw2IEBACiBmb3IgbGF5b3V0IHRlc3RzLgogIiIiCiAKLWltcG9ydCBp
dGVydG9vbHMKIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKIGltcG9ydCByZQpAQCAtODcsMTYg
Kzg2LDE4IEBAIGRlZiByZW1vdmVfcGl4ZWxfZmFpbHVyZXMoZXhwZWN0ZWRfcmVzdWx0cyk6CiBj
bGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgIFRFU1RfTElTVCA9ICJ0ZXN0X2V4cGVjdGF0aW9u
cy50eHQiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydCwgdGVzdHMsIGV4cGVjdGF0aW9u
cywgdGVzdF9jb25maWcsCi0gICAgICAgICAgICAgICAgIGlzX2xpbnRfbW9kZSwgb3ZlcnJpZGVz
PU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCB0ZXN0cywgZXhwZWN0YXRpb25z
LCB0ZXN0X3BsYXRmb3JtX25hbWUsCisgICAgICAgICAgICAgICAgIGlzX2RlYnVnX21vZGUsIGlz
X2xpbnRfbW9kZSwgb3ZlcnJpZGVzPU5vbmUpOgogICAgICAgICAiIiJMb2FkcyBhbmQgcGFyc2Vz
IHRoZSB0ZXN0IGV4cGVjdGF0aW9ucyBnaXZlbiBpbiB0aGUgc3RyaW5nLgogICAgICAgICBBcmdz
OgogICAgICAgICAgICAgcG9ydDogaGFuZGxlIHRvIG9iamVjdCBjb250YWluaW5nIHBsYXRmb3Jt
LXNwZWNpZmljIGZ1bmN0aW9uYWxpdHkKICAgICAgICAgICAgIHRlc3Q6IGxpc3Qgb2YgYWxsIG9m
IHRoZSB0ZXN0IGZpbGVzCiAgICAgICAgICAgICBleHBlY3RhdGlvbnM6IHRlc3QgZXhwZWN0YXRp
b25zIGFzIGEgc3RyaW5nCi0gICAgICAgICAgICB0ZXN0X2NvbmZpZzogc3BlY2lmaWMgdmFsdWVz
IHRvIGNoZWNrIGFnYWluc3Qgd2hlbgotICAgICAgICAgICAgICAgIHBhcnNpbmcgdGhlIGZpbGUg
KHVzdWFsbHkgcG9ydC50ZXN0X2NvbmZpZygpLAotICAgICAgICAgICAgICAgIGJ1dCBtYXkgYmUg
ZGlmZmVyZW50IHdoZW4gbGludGluZyBvciBkb2luZyBvdGhlciB0aGluZ3MpLgorICAgICAgICAg
ICAgdGVzdF9wbGF0Zm9ybV9uYW1lOiBuYW1lIG9mIHRoZSBwbGF0Zm9ybSB0byBtYXRjaCBleHBl
Y3RhdGlvbnMKKyAgICAgICAgICAgICAgICBhZ2FpbnN0LiBOb3RlIHRoYXQgdGhpcyBtYXkgYmUg
ZGlmZmVyZW50IHRoYW4KKyAgICAgICAgICAgICAgICBwb3J0LnRlc3RfcGxhdGZvcm1fbmFtZSgp
IHdoZW4gaXNfbGludF9tb2RlIGlzIFRydWUuCisgICAgICAgICAgICBpc19kZWJ1Z19tb2RlOiB3
aGV0aGVyIHRvIHVzZSB0aGUgREVCVUcgb3IgUkVMRUFTRSBtb2RpZmllcnMKKyAgICAgICAgICAg
ICAgICBpbiB0aGUgZXhwZWN0YXRpb25zCiAgICAgICAgICAgICBpc19saW50X21vZGU6IElmIFRy
dWUsIGp1c3QgcGFyc2UgdGhlIGV4cGVjdGF0aW9ucyBzdHJpbmcKICAgICAgICAgICAgICAgICBs
b29raW5nIGZvciBlcnJvcnMuCiAgICAgICAgICAgICBvdmVycmlkZXM6IHRlc3QgZXhwZWN0YXRp
b25zIHRoYXQgYXJlIGFsbG93ZWQgdG8gb3ZlcnJpZGUgYW55CkBAIC0xMDUsNyArMTA2LDcgQEAg
Y2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKICAgICAgICAgICAgICAgICBhbmQgZG93bnN0cmVhbSBl
eHBlY3RhdGlvbnMpLgogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fZXhwZWN0ZWRfZmFpbHVy
ZXMgPSBUZXN0RXhwZWN0YXRpb25zRmlsZShwb3J0LCBleHBlY3RhdGlvbnMsCi0gICAgICAgICAg
ICB0ZXN0cywgdGVzdF9jb25maWcsIGlzX2xpbnRfbW9kZSwKKyAgICAgICAgICAgIHRlc3RzLCB0
ZXN0X3BsYXRmb3JtX25hbWUsIGlzX2RlYnVnX21vZGUsIGlzX2xpbnRfbW9kZSwKICAgICAgICAg
ICAgIG92ZXJyaWRlcz1vdmVycmlkZXMpCiAKICAgICAjIFRPRE8ob2phbik6IEFsbG93IGZvciBy
ZW1vdmluZyBza2lwcGVkIHRlc3RzIHdoZW4gZ2V0dGluZyB0aGUgbGlzdCBvZgpAQCAtMTk4LDcg
KzE5OSw3IEBAIGNsYXNzIFBhcnNlRXJyb3IoRXhjZXB0aW9uKToKICAgICAgICAgcmV0dXJuICdc
bicuam9pbihtYXAoc3RyLCBzZWxmLmVycm9ycykpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6
Ci0gICAgICAgIHJldHVybiAnUGFyc2VFcnJvcihmYXRhbD0lcywgZXJyb3JzPSVzKScgJSAoc2Vs
Zi5mYXRhbCwgc2VsZi5lcnJvcnMpCisgICAgICAgIHJldHVybiAnUGFyc2VFcnJvcihmYXRhbD0l
cywgZXJyb3JzPSVzKScgJSAoZmF0YWwsIGVycm9ycykKIAogCiBjbGFzcyBNb2RpZmllcnNBbmRF
eHBlY3RhdGlvbnM6CkBAIC0zMDMsMTQgKzMwNCwyOCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25z
RmlsZToKICAgICAgICAgICAgICAgICAgICAgJ2ZhaWwnOiBGQUlMLAogICAgICAgICAgICAgICAg
ICAgICAnZmxha3knOiBGTEFLWX0KIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCBleHBl
Y3RhdGlvbnMsIGZ1bGxfdGVzdF9saXN0LAotICAgICAgICAgICAgICAgICB0ZXN0X2NvbmZpZywg
aXNfbGludF9tb2RlLCBvdmVycmlkZXM9Tm9uZSk6Ci0gICAgICAgICMgU2VlIGFyZ3VtZW50IGRv
Y3VtZW50YXRpb24gaW4gVGVzdEV4cGVjdGF0aW9uKCksIGFib3ZlLgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBwb3J0LCBleHBlY3RhdGlvbnMsIGZ1bGxfdGVzdF9saXN0LCB0ZXN0X3BsYXRmb3Jt
X25hbWUsCisgICAgICAgIGlzX2RlYnVnX21vZGUsIGlzX2xpbnRfbW9kZSwgb3ZlcnJpZGVzPU5v
bmUpOgorICAgICAgICAiIiIKKyAgICAgICAgZXhwZWN0YXRpb25zOiBDb250ZW50cyBvZiB0aGUg
ZXhwZWN0YXRpb25zIGZpbGUKKyAgICAgICAgZnVsbF90ZXN0X2xpc3Q6IFRoZSBsaXN0IG9mIGFs
bCB0ZXN0cyB0byBiZSBydW4gcGVuZGluZyBwcm9jZXNzaW5nIG9mCisgICAgICAgICAgICB0aGUg
ZXhwZWN0aW9ucyBmb3IgdGhvc2UgdGVzdHMuCisgICAgICAgIHRlc3RfcGxhdGZvcm1fbmFtZTog
bmFtZSBvZiB0aGUgcGxhdGZvcm0gdG8gbWF0Y2ggZXhwZWN0YXRpb25zCisgICAgICAgICAgICBh
Z2FpbnN0LiBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgZGlmZmVyZW50IHRoYW4KKyAgICAgICAgICAg
IHBvcnQudGVzdF9wbGF0Zm9ybV9uYW1lKCkgd2hlbiBpc19saW50X21vZGUgaXMgVHJ1ZS4KKyAg
ICAgICAgaXNfZGVidWdfbW9kZTogV2hldGhlciB3ZSB0ZXN0aW5nIGEgdGVzdF9zaGVsbCBidWls
dCBkZWJ1ZyBtb2RlLgorICAgICAgICBpc19saW50X21vZGU6IFdoZXRoZXIgdGhpcyBpcyBqdXN0
IGxpbnRpbmcgdGVzdF9leHBlY2F0YXRpb25zLnR4dC4KKyAgICAgICAgb3ZlcnJpZGVzOiB0ZXN0
IGV4cGVjdGF0aW9ucyB0aGF0IGFyZSBhbGxvd2VkIHRvIG92ZXJyaWRlIGFueQorICAgICAgICAg
ICAgZW50cmllcyBpbiB8ZXhwZWN0YXRpb25zfC4gVGhpcyBpcyB1c2VkIGJ5IGNhbGxlcnMKKyAg
ICAgICAgICAgIHRoYXQgbmVlZCB0byBtYW5hZ2UgdHdvIHNldHMgb2YgZXhwZWN0YXRpb25zIChl
LmcuLCB1cHN0cmVhbQorICAgICAgICAgICAgYW5kIGRvd25zdHJlYW0gZXhwZWN0YXRpb25zKS4K
KyAgICAgICAgIiIiCiAKICAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKICAgICAgICAgc2VsZi5f
ZXhwZWN0YXRpb25zID0gZXhwZWN0YXRpb25zCiAgICAgICAgIHNlbGYuX2Z1bGxfdGVzdF9saXN0
ID0gZnVsbF90ZXN0X2xpc3QKLSAgICAgICAgc2VsZi5fdGVzdF9jb25maWcgPSB0ZXN0X2NvbmZp
ZworICAgICAgICBzZWxmLl90ZXN0X3BsYXRmb3JtX25hbWUgPSB0ZXN0X3BsYXRmb3JtX25hbWUK
KyAgICAgICAgc2VsZi5faXNfZGVidWdfbW9kZSA9IGlzX2RlYnVnX21vZGUKICAgICAgICAgc2Vs
Zi5faXNfbGludF9tb2RlID0gaXNfbGludF9tb2RlCiAgICAgICAgIHNlbGYuX292ZXJyaWRlcyA9
IG92ZXJyaWRlcwogICAgICAgICBzZWxmLl9lcnJvcnMgPSBbXQpAQCAtMzE4LDkgKzMzMyw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNGaWxlOgogCiAgICAgICAgICMgTWFwcyByZWxhdGl2ZSB0
ZXN0IHBhdGhzIGFzIGxpc3RlZCBpbiB0aGUgZXhwZWN0YXRpb25zIGZpbGUgdG8gYQogICAgICAg
ICAjIGxpc3Qgb2YgbWFwcyBjb250YWluaW5nIG1vZGlmaWVycyBhbmQgZXhwZWN0YXRpb25zIGZv
ciBlYWNoIHRpbWUKLSAgICAgICAgIyB0aGUgdGVzdCBpcyBsaXN0ZWQgaW4gdGhlIGV4cGVjdGF0
aW9ucyBmaWxlLiBXZSB1c2UgdGhpcyB0bwotICAgICAgICAjIGtlZXAgYSByZXByZXNlbnRhdGlv
biBvZiB0aGUgZW50aXJlIGxpc3Qgb2YgZXhwZWN0YXRpb25zLCBldmVuCi0gICAgICAgICMgaW52
YWxpZCBvbmVzLgorICAgICAgICAjIHRoZSB0ZXN0IGlzIGxpc3RlZCBpbiB0aGUgZXhwZWN0YXRp
b25zIGZpbGUuCiAgICAgICAgIHNlbGYuX2FsbF9leHBlY3RhdGlvbnMgPSB7fQogCiAgICAgICAg
ICMgTWFwcyBhIHRlc3QgdG8gaXRzIGxpc3Qgb2YgZXhwZWN0YXRpb25zLgpAQCAtMzMzLDggKzM0
Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNGaWxlOgogICAgICAgICAjIHRoZSBvcHRpb25z
IG1pbnVzIGFueSBidWcgb3IgcGxhdGZvcm0gc3RyaW5ncwogICAgICAgICBzZWxmLl90ZXN0X3Rv
X21vZGlmaWVycyA9IHt9CiAKLSAgICAgICAgIyBNYXBzIGEgdGVzdCB0byB0aGUgYmFzZSBwYXRo
IHRoYXQgaXQgd2FzIGxpc3RlZCB3aXRoIGluIHRoZSBsaXN0IGFuZAotICAgICAgICAjIHRoZSBu
dW1iZXIgb2YgbWF0Y2hlcyB0aGF0IGJhc2UgcGF0aCBoYWQuCisgICAgICAgICMgTWFwcyBhIHRl
c3QgdG8gdGhlIGJhc2UgcGF0aCB0aGF0IGl0IHdhcyBsaXN0ZWQgd2l0aCBpbiB0aGUgbGlzdC4K
ICAgICAgICAgc2VsZi5fdGVzdF9saXN0X3BhdGhzID0ge30KIAogICAgICAgICBzZWxmLl9tb2Rp
Zmllcl90b190ZXN0cyA9IHNlbGYuX2RpY3Rfb2Zfc2V0cyhzZWxmLk1PRElGSUVSUykKQEAgLTM2
MSw3ICszNzMsMTMgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc0ZpbGU6CiAKICAgICBkZWYgX2hh
bmRsZV9hbnlfcmVhZF9lcnJvcnMoc2VsZik6CiAgICAgICAgIGlmIGxlbihzZWxmLl9lcnJvcnMp
IG9yIGxlbihzZWxmLl9ub25fZmF0YWxfZXJyb3JzKToKLSAgICAgICAgICAgIF9sb2cuZXJyb3Io
IkZBSUxVUkVTIEZPUiAlcyIgJSBzdHIoc2VsZi5fdGVzdF9jb25maWcpKQorICAgICAgICAgICAg
aWYgc2VsZi5faXNfZGVidWdfbW9kZToKKyAgICAgICAgICAgICAgICBidWlsZF90eXBlID0gJ0RF
QlVHJworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBidWlsZF90eXBlID0gJ1JF
TEVBU0UnCisgICAgICAgICAgICBfbG9nLmVycm9yKCcnKQorICAgICAgICAgICAgX2xvZy5lcnJv
cigiRkFJTFVSRVMgRk9SIFBMQVRGT1JNOiAlcywgQlVJTERfVFlQRTogJXMiICUKKyAgICAgICAg
ICAgICAgICAgICAgICAgKHNlbGYuX3Rlc3RfcGxhdGZvcm1fbmFtZS51cHBlcigpLCBidWlsZF90
eXBlKSkKIAogICAgICAgICAgICAgZm9yIGVycm9yIGluIHNlbGYuX2Vycm9yczoKICAgICAgICAg
ICAgICAgICBfbG9nLmVycm9yKGVycm9yKQpAQCAtMzc3LDEyICszOTUsMTEgQEAgY2xhc3MgVGVz
dEV4cGVjdGF0aW9uc0ZpbGU6CiAgICAgICAgIGV4cGVjdGF0aW9ucyA9IHNldChbUEFTU10pCiAg
ICAgICAgIG9wdGlvbnMgPSBbXQogICAgICAgICBtb2RpZmllcnMgPSBbXQotICAgICAgICBudW1f
bWF0Y2hlcyA9IDAKICAgICAgICAgaWYgc2VsZi5fZnVsbF90ZXN0X2xpc3Q6CiAgICAgICAgICAg
ICBmb3IgdGVzdCBpbiBzZWxmLl9mdWxsX3Rlc3RfbGlzdDoKICAgICAgICAgICAgICAgICBpZiBu
b3QgdGVzdCBpbiBzZWxmLl90ZXN0X2xpc3RfcGF0aHM6Ci0gICAgICAgICAgICAgICAgICAgIHNl
bGYuX2FkZF90ZXN0KHRlc3QsIG1vZGlmaWVycywgbnVtX21hdGNoZXMsIGV4cGVjdGF0aW9ucywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucywgb3ZlcnJpZGVzX2Fs
bG93ZWQ9RmFsc2UpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2FkZF90ZXN0KHRlc3QsIG1v
ZGlmaWVycywgZXhwZWN0YXRpb25zLCBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAg
b3ZlcnJpZGVzX2FsbG93ZWQ9RmFsc2UpCiAKICAgICBkZWYgX2RpY3Rfb2Zfc2V0cyhzZWxmLCBz
dHJpbmdzX3RvX2NvbnN0YW50cyk6CiAgICAgICAgICIiIlRha2VzIGEgZGljdCBvZiBzdHJpbmdz
LT5jb25zdGFudHMgYW5kIHJldHVybnMgYSBkaWN0IG1hcHBpbmcKQEAgLTUyMSwxNSArNTM4LDEy
IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNGaWxlOgogCiAgICAgICAgIG9wdGlvbnMgPSBbXQog
ICAgICAgICBpZiBsaW5lLmZpbmQoIjoiKSBpcyAtMToKLSAgICAgICAgICAgIHNlbGYuX2FkZF9l
cnJvcihsaW5lbm8sICJNaXNzaW5nIGEgJzonIiwgbGluZSkKLSAgICAgICAgICAgIHJldHVybiAo
Tm9uZSwgTm9uZSwgTm9uZSkKLQotICAgICAgICBwYXJ0cyA9IGxpbmUuc3BsaXQoJzonKQotCi0g
ICAgICAgICMgRklYTUU6IHZlcmlmeSB0aGF0IHRoZXJlIGlzIGV4YWN0bHkgb25lIGNvbG9uIGlu
IHRoZSBsaW5lLgorICAgICAgICAgICAgdGVzdF9hbmRfZXhwZWN0YXRpb24gPSBsaW5lLnNwbGl0
KCI9IikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHBhcnRzID0gbGluZS5zcGxpdCgiOiIp
CisgICAgICAgICAgICBvcHRpb25zID0gc2VsZi5fZ2V0X29wdGlvbnNfbGlzdChwYXJ0c1swXSkK
KyAgICAgICAgICAgIHRlc3RfYW5kX2V4cGVjdGF0aW9uID0gcGFydHNbMV0uc3BsaXQoJz0nKQog
Ci0gICAgICAgIG9wdGlvbnMgPSBzZWxmLl9nZXRfb3B0aW9uc19saXN0KHBhcnRzWzBdKQotICAg
ICAgICB0ZXN0X2FuZF9leHBlY3RhdGlvbiA9IHBhcnRzWzFdLnNwbGl0KCc9JykKICAgICAgICAg
dGVzdCA9IHRlc3RfYW5kX2V4cGVjdGF0aW9uWzBdLnN0cmlwKCkKICAgICAgICAgaWYgKGxlbih0
ZXN0X2FuZF9leHBlY3RhdGlvbikgaXMgbm90IDIpOgogICAgICAgICAgICAgc2VsZi5fYWRkX2Vy
cm9yKGxpbmVubywgIk1pc3NpbmcgZXhwZWN0YXRpb25zLiIsCkBAIC01NzUsNiArNTg5LDY5IEBA
IGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNGaWxlOgogCiAgICAgICAgIHJldHVybiBSRU1PVkVfVEVT
VAogCisgICAgZGVmIF9oYXNfdmFsaWRfbW9kaWZpZXJzX2Zvcl9jdXJyZW50X3BsYXRmb3JtKHNl
bGYsIG9wdGlvbnMsIGxpbmVubywKKyAgICAgICAgdGVzdF9hbmRfZXhwZWN0YXRpb25zLCBtb2Rp
ZmllcnMpOgorICAgICAgICAiIiJSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgcGxhdGZvcm0g
aXMgaW4gdGhlIG9wdGlvbnMgbGlzdCBvciBpZgorICAgICAgICBubyBwbGF0Zm9ybXMgYXJlIGxp
c3RlZCBhbmQgaWYgdGhlcmUgYXJlIG5vIGZhdGFsIGVycm9ycyBpbiB0aGUKKyAgICAgICAgb3B0
aW9ucyBsaXN0LgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgb3B0aW9uczogTGlzdCBvZiBs
b3dlcmNhc2Ugb3B0aW9ucy4KKyAgICAgICAgICBsaW5lbm86IFRoZSBsaW5lIGluIHRoZSBmaWxl
IHdoZXJlIHRoZSB0ZXN0IGlzIGxpc3RlZC4KKyAgICAgICAgICB0ZXN0X2FuZF9leHBlY3RhdGlv
bnM6IFRoZSBwYXRoIGFuZCBleHBlY3RhdGlvbnMgZm9yIHRoZSB0ZXN0LgorICAgICAgICAgIG1v
ZGlmaWVyczogVGhlIHNldCB0byBwb3B1bGF0ZSB3aXRoIG1vZGlmaWVycy4KKyAgICAgICAgIiIi
CisgICAgICAgIGhhc19hbnlfcGxhdGZvcm0gPSBGYWxzZQorICAgICAgICBoYXNfYnVnX2lkID0g
RmFsc2UKKyAgICAgICAgZm9yIG9wdGlvbiBpbiBvcHRpb25zOgorICAgICAgICAgICAgaWYgb3B0
aW9uIGluIHNlbGYuTU9ESUZJRVJTOgorICAgICAgICAgICAgICAgIG1vZGlmaWVycy5hZGQob3B0
aW9uKQorICAgICAgICAgICAgZWxpZiBvcHRpb24gaW4gc2VsZi5fcG9ydC50ZXN0X3BsYXRmb3Jt
X25hbWVzKCk6CisgICAgICAgICAgICAgICAgaGFzX2FueV9wbGF0Zm9ybSA9IFRydWUKKyAgICAg
ICAgICAgIGVsaWYgcmUubWF0Y2gocididWdcZCcsIG9wdGlvbikgIT0gTm9uZToKKyAgICAgICAg
ICAgICAgICBzZWxmLl9hZGRfZXJyb3IobGluZW5vLCAnQnVnIG11c3QgYmUgZWl0aGVyIEJVR0NS
LCBCVUdXSywgb3IgQlVHVjhfIGZvciB0ZXN0OiAlcycgJQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb24sIHRlc3RfYW5kX2V4cGVjdGF0aW9ucykKKyAgICAgICAgICAgIGVs
aWYgb3B0aW9uLnN0YXJ0c3dpdGgoJ2J1ZycpOgorICAgICAgICAgICAgICAgIGhhc19idWdfaWQg
PSBUcnVlCisgICAgICAgICAgICBlbGlmIG9wdGlvbiBub3QgaW4gc2VsZi5CVUlMRF9UWVBFUzoK
KyAgICAgICAgICAgICAgICBzZWxmLl9hZGRfZXJyb3IobGluZW5vLCAnSW52YWxpZCBtb2RpZmll
ciBmb3IgdGVzdDogJXMnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9u
LCB0ZXN0X2FuZF9leHBlY3RhdGlvbnMpCisKKyAgICAgICAgaWYgaGFzX2FueV9wbGF0Zm9ybSBh
bmQgbm90IHNlbGYuX21hdGNoX3BsYXRmb3JtKG9wdGlvbnMpOgorICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCisKKyAgICAgICAgaWYgbm90IGhhc19idWdfaWQgYW5kICd3b250Zml4JyBub3QgaW4g
b3B0aW9uczoKKyAgICAgICAgICAgICMgVE9ETyhvamFuKTogVHVybiB0aGlzIGludG8gYW4gQWRk
RXJyb3IgY2FsbCBvbmNlIGFsbCB0aGUKKyAgICAgICAgICAgICMgdGVzdHMgaGF2ZSBCVUcgaWRl
bnRpZmllcnMuCisgICAgICAgICAgICBzZWxmLl9sb2dfbm9uX2ZhdGFsX2Vycm9yKGxpbmVubywg
J1Rlc3QgbGFja3MgQlVHIG1vZGlmaWVyLicsCisgICAgICAgICAgICAgICAgdGVzdF9hbmRfZXhw
ZWN0YXRpb25zKQorCisgICAgICAgIGlmICdyZWxlYXNlJyBpbiBvcHRpb25zIG9yICdkZWJ1Zycg
aW4gb3B0aW9uczoKKyAgICAgICAgICAgIGlmIHNlbGYuX2lzX2RlYnVnX21vZGUgYW5kICdkZWJ1
Zycgbm90IGluIG9wdGlvbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAg
ICAgICBpZiBub3Qgc2VsZi5faXNfZGVidWdfbW9kZSBhbmQgJ3JlbGVhc2UnIG5vdCBpbiBvcHRp
b25zOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIGlmIHNlbGYuX2lz
X2xpbnRfbW9kZSBhbmQgJ3JlYmFzZWxpbmUnIGluIG9wdGlvbnM6CisgICAgICAgICAgICBzZWxm
Ll9hZGRfZXJyb3IobGluZW5vLAorICAgICAgICAgICAgICAgICdSRUJBU0VMSU5FIHNob3VsZCBv
bmx5IGJlIHVzZWQgZm9yIHJ1bm5pbmcgcmViYXNlbGluZS5weS4gJworICAgICAgICAgICAgICAg
ICdDYW5ub3QgYmUgY2hlY2tlZCBpbi4nLCB0ZXN0X2FuZF9leHBlY3RhdGlvbnMpCisKKyAgICAg
ICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBfbWF0Y2hfcGxhdGZvcm0oc2VsZiwgb3B0aW9ucyk6
CisgICAgICAgICIiIk1hdGNoIHRoZSBsaXN0IG9mIG9wdGlvbnMgYWdhaW5zdCBvdXIgc3BlY2lm
aWVkIHBsYXRmb3JtLiBJZiBhbnkKKyAgICAgICAgb2YgdGhlIG9wdGlvbnMgcHJlZml4LW1hdGNo
IHNlbGYuX3BsYXRmb3JtLCByZXR1cm4gVHJ1ZS4gVGhpcyBoYW5kbGVzCisgICAgICAgIHRoZSBj
YXNlIHdoZXJlIGEgdGVzdCBpcyBtYXJrZWQgV0lOIGFuZCB0aGUgcGxhdGZvcm0gaXMgV0lOLVZJ
U1RBLgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgb3B0aW9uczogbGlzdCBvZiBvcHRpb25z
CisgICAgICAgICIiIgorICAgICAgICBmb3Igb3B0IGluIG9wdGlvbnM6CisgICAgICAgICAgICBp
ZiBzZWxmLl90ZXN0X3BsYXRmb3JtX25hbWUuc3RhcnRzd2l0aChvcHQpOgorICAgICAgICAgICAg
ICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCiAgICAgZGVmIF9hZGRfdG9f
YWxsX2V4cGVjdGF0aW9ucyhzZWxmLCB0ZXN0LCBvcHRpb25zLCBleHBlY3RhdGlvbnMpOgogICAg
ICAgICAjIE1ha2UgYWxsIHBhdGhzIHVuaXgtc3R5bGUgc28gdGhlIGRhc2hib2FyZCBkb2Vzbid0
IG5lZWQgdG8uCiAgICAgICAgIHRlc3QgPSB0ZXN0LnJlcGxhY2UoJ1xcJywgJy8nKQpAQCAtNTg3
LDQzICs2NjQsNTQgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc0ZpbGU6CiAgICAgICAgICIiIkZv
ciBlYWNoIHRlc3QgaW4gYW4gZXhwZWN0YXRpb25zIGl0ZXJhYmxlLCBnZW5lcmF0ZSB0aGUKICAg
ICAgICAgZXhwZWN0YXRpb25zIGZvciBpdC4iIiIKICAgICAgICAgbGluZW5vID0gMAotICAgICAg
ICBtYXRjaGVyID0gTW9kaWZpZXJNYXRjaGVyKHNlbGYuX3Rlc3RfY29uZmlnKQogICAgICAgICBm
b3IgbGluZSBpbiBleHBlY3RhdGlvbnM6CiAgICAgICAgICAgICBsaW5lbm8gKz0gMQotICAgICAg
ICAgICAgc2VsZi5fcHJvY2Vzc19saW5lKGxpbmUsIGxpbmVubywgbWF0Y2hlciwgb3ZlcnJpZGVz
X2FsbG93ZWQpCiAKLSAgICBkZWYgX3Byb2Nlc3NfbGluZShzZWxmLCBsaW5lLCBsaW5lbm8sIG1h
dGNoZXIsIG92ZXJyaWRlc19hbGxvd2VkKToKLSAgICAgICAgdGVzdF9saXN0X3BhdGgsIG9wdGlv
bnMsIGV4cGVjdGF0aW9ucyA9IFwKLSAgICAgICAgICAgIHNlbGYucGFyc2VfZXhwZWN0YXRpb25z
X2xpbmUobGluZSwgbGluZW5vKQotICAgICAgICBpZiBub3QgZXhwZWN0YXRpb25zOgotICAgICAg
ICAgICAgcmV0dXJuCisgICAgICAgICAgICB0ZXN0X2xpc3RfcGF0aCwgb3B0aW9ucywgZXhwZWN0
YXRpb25zID0gXAorICAgICAgICAgICAgICAgIHNlbGYucGFyc2VfZXhwZWN0YXRpb25zX2xpbmUo
bGluZSwgbGluZW5vKQorICAgICAgICAgICAgaWYgbm90IGV4cGVjdGF0aW9uczoKKyAgICAgICAg
ICAgICAgICBjb250aW51ZQogCi0gICAgICAgIHNlbGYuX2FkZF90b19hbGxfZXhwZWN0YXRpb25z
KHRlc3RfbGlzdF9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICIgIi5qb2luKG9wdGlvbnMpLnVwcGVyKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIiAiLmpvaW4oZXhwZWN0YXRpb25zKS51cHBlcigpKQorICAgICAgICAgICAg
c2VsZi5fYWRkX3RvX2FsbF9leHBlY3RhdGlvbnModGVzdF9saXN0X3BhdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIuam9pbihvcHRpb25zKS51cHBlcigp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiLmpvaW4oZXhw
ZWN0YXRpb25zKS51cHBlcigpKQogCi0gICAgICAgIG51bV9tYXRjaGVzID0gc2VsZi5fY2hlY2tf
b3B0aW9ucyhtYXRjaGVyLCBvcHRpb25zLCBsaW5lbm8sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0X2xpc3RfcGF0aCkKLSAgICAgICAgaWYgbnVtX21hdGNo
ZXMgPT0gTW9kaWZpZXJNYXRjaGVyLk5PX01BVENIOgotICAgICAgICAgICAgcmV0dXJuCisgICAg
ICAgICAgICBtb2RpZmllcnMgPSBzZXQoKQorICAgICAgICAgICAgaWYgb3B0aW9ucyBhbmQgbm90
IHNlbGYuX2hhc192YWxpZF9tb2RpZmllcnNfZm9yX2N1cnJlbnRfcGxhdGZvcm0oCisgICAgICAg
ICAgICAgICAgb3B0aW9ucywgbGluZW5vLCB0ZXN0X2xpc3RfcGF0aCwgbW9kaWZpZXJzKToKKyAg
ICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAgIGV4cGVjdGF0aW9ucyA9IHNlbGYuX3Bh
cnNlX2V4cGVjdGF0aW9ucyhleHBlY3RhdGlvbnMsIGxpbmVubywKLSAgICAgICAgICAgIHRlc3Rf
bGlzdF9wYXRoKQorICAgICAgICAgICAgZXhwZWN0YXRpb25zID0gc2VsZi5fcGFyc2VfZXhwZWN0
YXRpb25zKGV4cGVjdGF0aW9ucywgbGluZW5vLAorICAgICAgICAgICAgICAgIHRlc3RfbGlzdF9w
YXRoKQogCi0gICAgICAgIHNlbGYuX2NoZWNrX29wdGlvbnNfYWdhaW5zdF9leHBlY3RhdGlvbnMo
b3B0aW9ucywgZXhwZWN0YXRpb25zLAotICAgICAgICAgICAgbGluZW5vLCB0ZXN0X2xpc3RfcGF0
aCkKKyAgICAgICAgICAgIGlmICdzbG93JyBpbiBvcHRpb25zIGFuZCBUSU1FT1VUIGluIGV4cGVj
dGF0aW9uczoKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRfZXJyb3IobGluZW5vLAorICAgICAg
ICAgICAgICAgICAgICAnQSB0ZXN0IGNhbiBub3QgYmUgYm90aCBzbG93IGFuZCB0aW1lb3V0LiBJ
ZiBpdCB0aW1lcyBvdXQgJworICAgICAgICAgICAgICAgICAgICAnaW5kZWZpbml0ZWx5LCB0aGVu
IGl0IHNob3VsZCBiZSBqdXN0IHRpbWVvdXQuJywKKyAgICAgICAgICAgICAgICAgICAgdGVzdF9s
aXN0X3BhdGgpCiAKLSAgICAgICAgaWYgc2VsZi5fY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChs
aW5lbm8sIHRlc3RfbGlzdF9wYXRoKToKLSAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAg
ZnVsbF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuX3BvcnQubGF5b3V0X3Rlc3RzX2RpcigpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfbGlzdF9wYXRoKQorICAg
ICAgICAgICAgZnVsbF9wYXRoID0gb3MucGF0aC5ub3JtcGF0aChmdWxsX3BhdGgpCisgICAgICAg
ICAgICAjIFdlYktpdCdzIHdheSBvZiBza2lwcGluZyB0ZXN0cyBpcyB0byBhZGQgYSAtZGlzYWJs
ZWQgc3VmZml4LgorICAgICAgICAgICAgIyBTbyB3ZSBzaG91bGQgY29uc2lkZXIgdGhlIHBhdGgg
ZXhpc3RpbmcgaWYgdGhlIHBhdGggb3IgdGhlCisgICAgICAgICAgICAjIC1kaXNhYmxlZCB2ZXJz
aW9uIGV4aXN0cy4KKyAgICAgICAgICAgIGlmIChub3Qgc2VsZi5fcG9ydC5wYXRoX2V4aXN0cyhm
dWxsX3BhdGgpCisgICAgICAgICAgICAgICAgYW5kIG5vdCBzZWxmLl9wb3J0LnBhdGhfZXhpc3Rz
KGZ1bGxfcGF0aCArICctZGlzYWJsZWQnKSk6CisgICAgICAgICAgICAgICAgIyBMb2cgYSBub24g
ZmF0YWwgZXJyb3IgaGVyZSBzaW5jZSB5b3UgaGl0IHRoaXMgY2FzZSBhbnkKKyAgICAgICAgICAg
ICAgICAjIHRpbWUgeW91IHVwZGF0ZSB0ZXN0X2V4cGVjdGF0aW9ucy50eHQgd2l0aG91dCBzeW5j
aW5nCisgICAgICAgICAgICAgICAgIyB0aGUgTGF5b3V0VGVzdHMgZGlyZWN0b3J5CisgICAgICAg
ICAgICAgICAgc2VsZi5fbG9nX25vbl9mYXRhbF9lcnJvcihsaW5lbm8sICdQYXRoIGRvZXMgbm90
IGV4aXN0LicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2xp
c3RfcGF0aCkKKyAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAgIGlmIG5vdCBzZWxm
Ll9mdWxsX3Rlc3RfbGlzdDoKLSAgICAgICAgICAgIHRlc3RzID0gW3Rlc3RfbGlzdF9wYXRoXQot
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgdGVzdHMgPSBzZWxmLl9leHBhbmRfdGVzdHModGVz
dF9saXN0X3BhdGgpCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fZnVsbF90ZXN0X2xpc3Q6Cisg
ICAgICAgICAgICAgICAgdGVzdHMgPSBbdGVzdF9saXN0X3BhdGhdCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIHRlc3RzID0gc2VsZi5fZXhwYW5kX3Rlc3RzKHRlc3RfbGlzdF9w
YXRoKQogCi0gICAgICAgIG1vZGlmaWVycyA9IFtvIGZvciBvIGluIG9wdGlvbnMgaWYgbyBpbiBz
ZWxmLk1PRElGSUVSU10KLSAgICAgICAgc2VsZi5fYWRkX3Rlc3RzKHRlc3RzLCBleHBlY3RhdGlv
bnMsIHRlc3RfbGlzdF9wYXRoLCBsaW5lbm8sCi0gICAgICAgICAgICAgICAgICAgICAgICBtb2Rp
ZmllcnMsIG51bV9tYXRjaGVzLCBvcHRpb25zLCBvdmVycmlkZXNfYWxsb3dlZCkKKyAgICAgICAg
ICAgIHNlbGYuX2FkZF90ZXN0cyh0ZXN0cywgZXhwZWN0YXRpb25zLCB0ZXN0X2xpc3RfcGF0aCwg
bGluZW5vLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzLCBvcHRpb25zLCBv
dmVycmlkZXNfYWxsb3dlZCkKIAogICAgIGRlZiBfZ2V0X29wdGlvbnNfbGlzdChzZWxmLCBsaXN0
U3RyaW5nKToKICAgICAgICAgcmV0dXJuIFtwYXJ0LnN0cmlwKCkubG93ZXIoKSBmb3IgcGFydCBp
biBsaXN0U3RyaW5nLnN0cmlwKCkuc3BsaXQoJyAnKV0KQEAgLTYzOSw2NiArNzI3LDYgQEAgY2xh
c3MgVGVzdEV4cGVjdGF0aW9uc0ZpbGU6CiAgICAgICAgICAgICByZXN1bHQuYWRkKGV4cGVjdGF0
aW9uKQogICAgICAgICByZXR1cm4gcmVzdWx0CiAKLSAgICBkZWYgX2NoZWNrX29wdGlvbnMoc2Vs
ZiwgbWF0Y2hlciwgb3B0aW9ucywgbGluZW5vLCB0ZXN0X2xpc3RfcGF0aCk6Ci0gICAgICAgIG1h
dGNoX3Jlc3VsdCA9IHNlbGYuX2NoZWNrX3N5bnRheChtYXRjaGVyLCBvcHRpb25zLCBsaW5lbm8s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2xpc3RfcGF0
aCkKLSAgICAgICAgc2VsZi5fY2hlY2tfc2VtYW50aWNzKG9wdGlvbnMsIGxpbmVubywgdGVzdF9s
aXN0X3BhdGgpCi0gICAgICAgIHJldHVybiBtYXRjaF9yZXN1bHQubnVtX21hdGNoZXMKLQotICAg
IGRlZiBfY2hlY2tfc3ludGF4KHNlbGYsIG1hdGNoZXIsIG9wdGlvbnMsIGxpbmVubywgdGVzdF9s
aXN0X3BhdGgpOgotICAgICAgICBtYXRjaF9yZXN1bHQgPSBtYXRjaGVyLm1hdGNoKG9wdGlvbnMp
Ci0gICAgICAgIGZvciBlcnJvciBpbiBtYXRjaF9yZXN1bHQuZXJyb3JzOgotICAgICAgICAgICAg
c2VsZi5fYWRkX2Vycm9yKGxpbmVubywgZXJyb3IsIHRlc3RfbGlzdF9wYXRoKQotICAgICAgICBm
b3Igd2FybmluZyBpbiBtYXRjaF9yZXN1bHQud2FybmluZ3M6Ci0gICAgICAgICAgICBzZWxmLl9s
b2dfbm9uX2ZhdGFsX2Vycm9yKGxpbmVubywgd2FybmluZywgdGVzdF9saXN0X3BhdGgpCi0gICAg
ICAgIHJldHVybiBtYXRjaF9yZXN1bHQKLQotICAgIGRlZiBfY2hlY2tfc2VtYW50aWNzKHNlbGYs
IG9wdGlvbnMsIGxpbmVubywgdGVzdF9saXN0X3BhdGgpOgotICAgICAgICBoYXNfd29udGZpeCA9
ICd3b250Zml4JyBpbiBvcHRpb25zCi0gICAgICAgIGhhc19idWcgPSBGYWxzZQotICAgICAgICBm
b3Igb3B0IGluIG9wdGlvbnM6Ci0gICAgICAgICAgICBpZiBvcHQuc3RhcnRzd2l0aCgnYnVnJyk6
Ci0gICAgICAgICAgICAgICAgaGFzX2J1ZyA9IFRydWUKLSAgICAgICAgICAgICAgICBpZiByZS5t
YXRjaCgnYnVnXGQrJywgb3B0KToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fYWRkX2Vycm9y
KGxpbmVubywKLSAgICAgICAgICAgICAgICAgICAgICAgICdCVUdcZCsgaXMgbm90IGFsbG93ZWQs
IG11c3QgYmUgb25lIG9mICcKLSAgICAgICAgICAgICAgICAgICAgICAgICdCVUdDUlxkKywgQlVH
V0tcZCssIEJVR1Y4X1xkKywgJwotICAgICAgICAgICAgICAgICAgICAgICAgJ29yIGEgbm9uLW51
bWVyaWMgYnVnIGlkZW50aWZpZXIuJywgdGVzdF9saXN0X3BhdGgpCi0KLSAgICAgICAgaWYgbm90
IGhhc19idWcgYW5kIG5vdCBoYXNfd29udGZpeDoKLSAgICAgICAgICAgIHNlbGYuX2xvZ19ub25f
ZmF0YWxfZXJyb3IobGluZW5vLCAnVGVzdCBsYWNrcyBCVUcgbW9kaWZpZXIuJywKLSAgICAgICAg
ICAgIHRlc3RfbGlzdF9wYXRoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX2xpbnRfbW9kZSBhbmQg
J3JlYmFzZWxpbmUnIGluIG9wdGlvbnM6Ci0gICAgICAgICAgICBzZWxmLl9hZGRfZXJyb3IobGlu
ZW5vLAotICAgICAgICAgICAgJ1JFQkFTRUxJTkUgc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgcnVu
bmluZyByZWJhc2VsaW5lLnB5LiAnCi0gICAgICAgICAgICAnQ2Fubm90IGJlIGNoZWNrZWQgaW4u
JywgdGVzdF9saXN0X3BhdGgpCi0KLSAgICBkZWYgX2NoZWNrX29wdGlvbnNfYWdhaW5zdF9leHBl
Y3RhdGlvbnMoc2VsZiwgb3B0aW9ucywgZXhwZWN0YXRpb25zLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lbm8sIHRlc3RfbGlzdF9wYXRoKToKLSAgICAg
ICAgaWYgJ3Nsb3cnIGluIG9wdGlvbnMgYW5kIFRJTUVPVVQgaW4gZXhwZWN0YXRpb25zOgotICAg
ICAgICAgICAgc2VsZi5fYWRkX2Vycm9yKGxpbmVubywKLSAgICAgICAgICAgICAgICAnQSB0ZXN0
IGNhbiBub3QgYmUgYm90aCBzbG93IGFuZCB0aW1lb3V0LiBJZiBpdCB0aW1lcyBvdXQgJwotICAg
ICAgICAgICAgICAgICdpbmRlZmluaXRlbHksIHRoZW4gaXQgc2hvdWxkIGJlIGp1c3QgdGltZW91
dC4nLAotICAgICAgICAgICAgICAgIHRlc3RfbGlzdF9wYXRoKQotCi0gICAgZGVmIF9jaGVja19w
YXRoX2RvZXNfbm90X2V4aXN0KHNlbGYsIGxpbmVubywgdGVzdF9saXN0X3BhdGgpOgotICAgICAg
ICBmdWxsX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2xpc3RfcGF0aCkKLSAg
ICAgICAgZnVsbF9wYXRoID0gb3MucGF0aC5ub3JtcGF0aChmdWxsX3BhdGgpCi0gICAgICAgICMg
V2ViS2l0J3Mgd2F5IG9mIHNraXBwaW5nIHRlc3RzIGlzIHRvIGFkZCBhIC1kaXNhYmxlZCBzdWZm
aXguCi0gICAgICAgICAgICAjIFNvIHdlIHNob3VsZCBjb25zaWRlciB0aGUgcGF0aCBleGlzdGlu
ZyBpZiB0aGUgcGF0aCBvciB0aGUKLSAgICAgICAgIyAtZGlzYWJsZWQgdmVyc2lvbiBleGlzdHMu
Ci0gICAgICAgIGlmIChub3Qgc2VsZi5fcG9ydC5wYXRoX2V4aXN0cyhmdWxsX3BhdGgpCi0gICAg
ICAgICAgICBhbmQgbm90IHNlbGYuX3BvcnQucGF0aF9leGlzdHMoZnVsbF9wYXRoICsgJy1kaXNh
YmxlZCcpKToKLSAgICAgICAgICAgICMgTG9nIGEgbm9uIGZhdGFsIGVycm9yIGhlcmUgc2luY2Ug
eW91IGhpdCB0aGlzIGNhc2UgYW55Ci0gICAgICAgICAgICAjIHRpbWUgeW91IHVwZGF0ZSB0ZXN0
X2V4cGVjdGF0aW9ucy50eHQgd2l0aG91dCBzeW5jaW5nCi0gICAgICAgICAgICAjIHRoZSBMYXlv
dXRUZXN0cyBkaXJlY3RvcnkKLSAgICAgICAgICAgIHNlbGYuX2xvZ19ub25fZmF0YWxfZXJyb3Io
bGluZW5vLCAnUGF0aCBkb2VzIG5vdCBleGlzdC4nLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdF9saXN0X3BhdGgpCi0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAg
ICAgICByZXR1cm4gRmFsc2UKLQogICAgIGRlZiBfZXhwYW5kX3Rlc3RzKHNlbGYsIHRlc3RfbGlz
dF9wYXRoKToKICAgICAgICAgIiIiQ29udmVydCB0aGUgdGVzdCBzcGVjaWZpY2F0aW9uIHRvIGFu
IGFic29sdXRlLCBub3JtYWxpemVkCiAgICAgICAgIHBhdGggYW5kIG1ha2Ugc3VyZSBkaXJlY3Rv
cmllcyBlbmQgd2l0aCB0aGUgT1MgcGF0aCBzZXBhcmF0b3IuIiIiCkBAIC03MjQsMTkgKzc1Miwx
NyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zRmlsZToKICAgICAgICAgcmV0dXJuIHJlc3VsdAog
CiAgICAgZGVmIF9hZGRfdGVzdHMoc2VsZiwgdGVzdHMsIGV4cGVjdGF0aW9ucywgdGVzdF9saXN0
X3BhdGgsIGxpbmVubywKLSAgICAgICAgICAgICAgICAgICBtb2RpZmllcnMsIG51bV9tYXRjaGVz
LCBvcHRpb25zLCBvdmVycmlkZXNfYWxsb3dlZCk6CisgICAgICAgICAgICAgICAgICAgbW9kaWZp
ZXJzLCBvcHRpb25zLCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAgIGZvciB0ZXN0IGluIHRl
c3RzOgotICAgICAgICAgICAgaWYgc2VsZi5fYWxyZWFkeV9zZWVuX2JldHRlcl9tYXRjaCh0ZXN0
LCB0ZXN0X2xpc3RfcGF0aCwKLSAgICAgICAgICAgICAgICBudW1fbWF0Y2hlcywgbGluZW5vLCBv
dmVycmlkZXNfYWxsb3dlZCk6CisgICAgICAgICAgICBpZiBzZWxmLl9hbHJlYWR5X3NlZW5fdGVz
dCh0ZXN0LCB0ZXN0X2xpc3RfcGF0aCwgbGluZW5vLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiAKICAgICAgICAgICAgIHNlbGYuX2NsZWFyX2V4cGVjdGF0aW9uc19mb3JfdGVzdCh0ZXN0
LCB0ZXN0X2xpc3RfcGF0aCkKLSAgICAgICAgICAgIHNlbGYuX3Rlc3RfbGlzdF9wYXRoc1t0ZXN0
XSA9IChvcy5wYXRoLm5vcm1wYXRoKHRlc3RfbGlzdF9wYXRoKSwKLSAgICAgICAgICAgICAgICBu
dW1fbWF0Y2hlcywgbGluZW5vKQotICAgICAgICAgICAgc2VsZi5fYWRkX3Rlc3QodGVzdCwgbW9k
aWZpZXJzLCBudW1fbWF0Y2hlcywgZXhwZWN0YXRpb25zLCBvcHRpb25zLAorICAgICAgICAgICAg
c2VsZi5fYWRkX3Rlc3QodGVzdCwgbW9kaWZpZXJzLCBleHBlY3RhdGlvbnMsIG9wdGlvbnMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZXNfYWxsb3dlZCkKIAotICAgIGRlZiBf
YWRkX3Rlc3Qoc2VsZiwgdGVzdCwgbW9kaWZpZXJzLCBudW1fbWF0Y2hlcywgZXhwZWN0YXRpb25z
LCBvcHRpb25zLAorICAgIGRlZiBfYWRkX3Rlc3Qoc2VsZiwgdGVzdCwgbW9kaWZpZXJzLCBleHBl
Y3RhdGlvbnMsIG9wdGlvbnMsCiAgICAgICAgICAgICAgICAgICBvdmVycmlkZXNfYWxsb3dlZCk6
CiAgICAgICAgICIiIlNldHMgdGhlIGV4cGVjdGVkIHN0YXRlIGZvciBhIGdpdmVuIHRlc3QuCiAK
QEAgLTc0Nyw3ICs3NzMsNiBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zRmlsZToKICAgICAgICAg
QXJnczoKICAgICAgICAgICB0ZXN0OiB0ZXN0IHRvIGFkZAogICAgICAgICAgIG1vZGlmaWVyczog
c2VxdWVuY2Ugb2YgbW9kaWZpZXIga2V5d29yZHMgKCd3b250Zml4JywgJ3Nsb3cnLCBldGMuKQot
ICAgICAgICAgIG51bV9tYXRjaGVzOiBudW1iZXIgb2YgbW9kaWZpZXJzIHRoYXQgbWF0Y2hlZCB0
aGUgY29uZmlndXJhdGlvbgogICAgICAgICAgIGV4cGVjdGF0aW9uczogc2VxdWVuY2Ugb2YgZXhw
ZWN0YXRpb25zIChQQVNTLCBJTUFHRSwgZXRjLikKICAgICAgICAgICBvcHRpb25zOiBzZXF1ZW5j
ZSBvZiBrZXl3b3JkcyBhbmQgYnVnIGlkZW50aWZpZXJzLgogICAgICAgICAgIG92ZXJyaWRlc19h
bGxvd2VkOiB3aGV0aGVyIHdlJ3JlIHBhcnNpbmcgdGhlIHJlZ3VsYXIgZXhwZWN0YXRpb25zCkBA
IC03ODYsMTMgKzgxMSwxMyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zRmlsZToKICAgICAgICAg
dGhhbiBhIHByZXZpb3VzIGxpc3RpbmcuCiAgICAgICAgICIiIgogICAgICAgICBpZiB0ZXN0IGlu
IHNlbGYuX3Rlc3RfbGlzdF9wYXRoczoKLSAgICAgICAgICAgIGJhc2VfcGF0aCA9IHNlbGYuX3Rl
c3RfbGlzdF9wYXRoc1t0ZXN0XVswXQotICAgICAgICAgICAgc2VsZi5fdGVzdF90b19leHBlY3Rh
dGlvbnMucG9wKGJhc2VfcGF0aCwgJycpCi0gICAgICAgICAgICBzZWxmLl9yZW1vdmVfZnJvbV9z
ZXRzKGJhc2VfcGF0aCwgc2VsZi5fZXhwZWN0YXRpb25fdG9fdGVzdHMpCi0gICAgICAgICAgICBz
ZWxmLl9yZW1vdmVfZnJvbV9zZXRzKGJhc2VfcGF0aCwgc2VsZi5fbW9kaWZpZXJfdG9fdGVzdHMp
Ci0gICAgICAgICAgICBzZWxmLl9yZW1vdmVfZnJvbV9zZXRzKGJhc2VfcGF0aCwgc2VsZi5fdGlt
ZWxpbmVfdG9fdGVzdHMpCi0gICAgICAgICAgICBzZWxmLl9yZW1vdmVfZnJvbV9zZXRzKGJhc2Vf
cGF0aCwgc2VsZi5fcmVzdWx0X3R5cGVfdG9fdGVzdHMpCisgICAgICAgICAgICBzZWxmLl90ZXN0
X3RvX2V4cGVjdGF0aW9ucy5wb3AodGVzdCwgJycpCisgICAgICAgICAgICBzZWxmLl9yZW1vdmVf
ZnJvbV9zZXRzKHRlc3QsIHNlbGYuX2V4cGVjdGF0aW9uX3RvX3Rlc3RzKQorICAgICAgICAgICAg
c2VsZi5fcmVtb3ZlX2Zyb21fc2V0cyh0ZXN0LCBzZWxmLl9tb2RpZmllcl90b190ZXN0cykKKyAg
ICAgICAgICAgIHNlbGYuX3JlbW92ZV9mcm9tX3NldHModGVzdCwgc2VsZi5fdGltZWxpbmVfdG9f
dGVzdHMpCisgICAgICAgICAgICBzZWxmLl9yZW1vdmVfZnJvbV9zZXRzKHRlc3QsIHNlbGYuX3Jl
c3VsdF90eXBlX3RvX3Rlc3RzKQogCisgICAgICAgIHNlbGYuX3Rlc3RfbGlzdF9wYXRoc1t0ZXN0
XSA9IG9zLnBhdGgubm9ybXBhdGgodGVzdF9saXN0X3BhdGgpCiAKICAgICBkZWYgX3JlbW92ZV9m
cm9tX3NldHMoc2VsZiwgdGVzdCwgZGljdCk6CiAgICAgICAgICIiIlJlbW92ZXMgdGhlIGdpdmVu
IHRlc3QgZnJvbSB0aGUgc2V0cyBpbiB0aGUgZGljdGlvbmFyeS4KQEAgLTgwNCw3MCArODI5LDMy
IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNGaWxlOgogICAgICAgICAgICAgaWYgdGVzdCBpbiBz
ZXRfb2ZfdGVzdHM6CiAgICAgICAgICAgICAgICAgc2V0X29mX3Rlc3RzLnJlbW92ZSh0ZXN0KQog
Ci0gICAgZGVmIF9hbHJlYWR5X3NlZW5fYmV0dGVyX21hdGNoKHNlbGYsIHRlc3QsIHRlc3RfbGlz
dF9wYXRoLCBudW1fbWF0Y2hlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGluZW5vLCBvdmVycmlkZXNfYWxsb3dlZCk6Ci0gICAgICAgICIiIlJldHVybnMgd2hldGhlciB3
ZSd2ZSBzZWVuIGEgYmV0dGVyIG1hdGNoIGFscmVhZHkgaW4gdGhlIGZpbGUuCi0KLSAgICAgICAg
UmV0dXJucyBUcnVlIGlmIHdlJ3ZlIGFscmVhZHkgc2VlbiBhIHRlc3RfbGlzdF9wYXRoIHRoYXQg
bWF0Y2hlcyBtb3JlIG9mIHRoZSB0ZXN0Ci0gICAgICAgICAgICB0aGFuIHRoaXMgcGF0aCBkb2Vz
CisgICAgZGVmIF9hbHJlYWR5X3NlZW5fdGVzdChzZWxmLCB0ZXN0LCB0ZXN0X2xpc3RfcGF0aCwg
bGluZW5vLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dfb3ZlcnJpZGVzKToKKyAg
ICAgICAgIiIiUmV0dXJucyB0cnVlIGlmIHdlJ3ZlIGFscmVhZHkgc2VlbiBhIG1vcmUgcHJlY2lz
ZSBwYXRoIGZvciB0aGlzIHRlc3QKKyAgICAgICAgdGhhbiB0aGUgdGVzdF9saXN0X3BhdGguCiAg
ICAgICAgICIiIgotICAgICAgICAjIEZJWE1FOiBTZWUgY29tbWVudCBiZWxvdyBhYm91dCBtYXRj
aGluZyB0ZXN0IGNvbmZpZ3MgYW5kIG51bV9tYXRjaGVzLgotCiAgICAgICAgIGlmIG5vdCB0ZXN0
IGluIHNlbGYuX3Rlc3RfbGlzdF9wYXRoczoKLSAgICAgICAgICAgICMgV2UndmUgbmV2ZXIgc2Vl
biB0aGlzIHRlc3QgYmVmb3JlLgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICAgICAg
cHJldl9iYXNlX3BhdGgsIHByZXZfbnVtX21hdGNoZXMsIHByZXZfbGluZW5vID0gc2VsZi5fdGVz
dF9saXN0X3BhdGhzW3Rlc3RdCi0gICAgICAgIGJhc2VfcGF0aCA9IG9zLnBhdGgubm9ybXBhdGgo
dGVzdF9saXN0X3BhdGgpCi0KLSAgICAgICAgaWYgbGVuKHByZXZfYmFzZV9wYXRoKSA+IGxlbihi
YXNlX3BhdGgpOgotICAgICAgICAgICAgIyBUaGUgcHJldmlvdXMgcGF0aCBtYXRjaGVkIG1vcmUg
b2YgdGhlIHRlc3QuCi0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgICAgIGlmIGxlbihw
cmV2X2Jhc2VfcGF0aCkgPCBsZW4oYmFzZV9wYXRoKToKLSAgICAgICAgICAgICMgVGhpcyBwYXRo
IG1hdGNoZXMgbW9yZSBvZiB0aGUgdGVzdC4KLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotCi0g
ICAgICAgIGlmIG92ZXJyaWRlc19hbGxvd2VkIGFuZCB0ZXN0IG5vdCBpbiBzZWxmLl9vdmVycmlk
ZGluZ190ZXN0czoKLSAgICAgICAgICAgICMgV2UgaGF2ZSBzZWVuIHRoaXMgcGF0aCwgYnV0IHRo
YXQncyBva2F5IGJlY2F1c2UgaXQgaXMKLSAgICAgICAgICAgICMgaW4gdGhlIG92ZXJyaWRlcyBh
bmQgdGhlIGVhcmxpZXIgcGF0aCB3YXMgaW4gdGhlCi0gICAgICAgICAgICAjIGV4cGVjdGF0aW9u
cyAobm90IHRoZSBvdmVycmlkZXMpLgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICAg
ICAgIyBBdCB0aGlzIHBvaW50IHdlIGtub3cgd2UgaGF2ZSBzZWVuIGEgcHJldmlvdXMgZXhhY3Qg
bWF0Y2ggb24gdGhpcwotICAgICAgICAjIGJhc2UgcGF0aCwgc28gd2UgbmVlZCB0byBjaGVjayB0
aGUgdHdvIHNldHMgb2YgbW9kaWZpZXJzLgotCi0gICAgICAgIGlmIG92ZXJyaWRlc19hbGxvd2Vk
OgotICAgICAgICAgICAgZXhwZWN0YXRpb25fc291cmNlID0gIm92ZXJyaWRlIgotICAgICAgICBl
bHNlOgotICAgICAgICAgICAgZXhwZWN0YXRpb25fc291cmNlID0gImV4cGVjdGF0aW9uIgotCi0g
ICAgICAgICMgRklYTUU6IFRoaXMgY29kZSB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCB0byBhbGxv
dyBsaW5lcyB0aGF0IG1hdGNoZWQKLSAgICAgICAgIyBtb3JlIG1vZGlmaWVycyB0byBvdmVycmlk
ZSBsaW5lcyB0aGF0IG1hdGNoZWQgZmV3ZXIgbW9kaWZpZXJzLgotICAgICAgICAjIEhvd2V2ZXIs
IHdlIGN1cnJlbnRseSB2aWV3IHRoZXNlIGFzIGVycm9ycy4gSWYgd2UgZGVjaWRlIHRvIG1ha2UK
LSAgICAgICAgIyB0aGlzIHBvbGljeSBwZXJtYW5lbnQsIHdlIGNhbiBwcm9iYWJseSBzaW1wbGlm
eSB0aGlzIGNvZGUKLSAgICAgICAgIyBhbmQgdGhlIE1vZGlmaWVyTWF0Y2hlciBjb2RlIGEgZmFp
ciBhbW91bnQuCi0gICAgICAgICMKLSAgICAgICAgIyBUbyB1c2UgdGhlICJtb3JlIG1vZGlmaWVy
cyB3aW5zIiBwb2xpY3ksIGNoYW5nZSB0aGUgIl9hZGRfZXJyb3IiIGxpbmVzIGZvciBvdmVycmlk
ZXMKLSAgICAgICAgIyB0byBfbG9nX25vbl9mYXRhbF9lcnJvcigpIGFuZCBjaGFuZ2UgdGhlIGNv
bW1lbnRlZC1vdXQgInJldHVybiBGYWxzZSIuCi0KLSAgICAgICAgaWYgcHJldl9udW1fbWF0Y2hl
cyA9PSBudW1fbWF0Y2hlczoKLSAgICAgICAgICAgIHNlbGYuX2FkZF9lcnJvcihsaW5lbm8sCi0g
ICAgICAgICAgICAgICAgJ0R1cGxpY2F0ZSBvciBhbWJpZ3VvdXMgJXMuJyAlIGV4cGVjdGF0aW9u
X3NvdXJjZSwKLSAgICAgICAgICAgICAgICB0ZXN0KQotICAgICAgICAgICAgcmV0dXJuIFRydWUK
KyAgICAgICAgcHJldl9iYXNlX3BhdGggPSBzZWxmLl90ZXN0X2xpc3RfcGF0aHNbdGVzdF0KKyAg
ICAgICAgaWYgKHByZXZfYmFzZV9wYXRoID09IG9zLnBhdGgubm9ybXBhdGgodGVzdF9saXN0X3Bh
dGgpKToKKyAgICAgICAgICAgIGlmIChub3QgYWxsb3dfb3ZlcnJpZGVzIG9yIHRlc3QgaW4gc2Vs
Zi5fb3ZlcnJpZGRpbmdfdGVzdHMpOgorICAgICAgICAgICAgICAgIGlmIGFsbG93X292ZXJyaWRl
czoKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25fc291cmNlID0gIm92ZXJyaWRlIgor
ICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uX3Nv
dXJjZSA9ICJleHBlY3RhdGlvbiIKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRfZXJyb3IobGlu
ZW5vLCAnRHVwbGljYXRlICVzLicgJSBleHBlY3RhdGlvbl9zb3VyY2UsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3QpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUK
KyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBXZSBoYXZlIHNlZW4gdGhpcyBw
YXRoLCBidXQgdGhhdCdzIG9rYXkgYmVjYXVzZSBpdHMKKyAgICAgICAgICAgICAgICAjIGluIHRo
ZSBvdmVycmlkZXMgYW5kIHRoZSBlYXJsaWVyIHBhdGggd2FzIGluIHRoZQorICAgICAgICAgICAg
ICAgICMgZXhwZWN0YXRpb25zLgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAg
ICAgIGlmIHByZXZfbnVtX21hdGNoZXMgPCBudW1fbWF0Y2hlczoKLSAgICAgICAgICAgIHNlbGYu
X2FkZF9lcnJvcihsaW5lbm8sCi0gICAgICAgICAgICAgICAgJ01vcmUgc3BlY2lmaWMgZW50cnkg
b24gbGluZSAlZCBvdmVycmlkZXMgbGluZSAlZCcgJQotICAgICAgICAgICAgICAgIChsaW5lbm8s
IHByZXZfbGluZW5vKSwgdGVzdF9saXN0X3BhdGgpCi0gICAgICAgICAgICAjIEZJWE1FOiByZXR1
cm4gRmFsc2UgaWYgd2Ugd2FudCBtb3JlIHNwZWNpZmljIHRvIHdpbi4KLSAgICAgICAgICAgIHJl
dHVybiBUcnVlCi0KLSAgICAgICAgc2VsZi5fYWRkX2Vycm9yKGxpbmVubywKLSAgICAgICAgICAg
ICdNb3JlIHNwZWNpZmljIGVudHJ5IG9uIGxpbmUgJWQgb3ZlcnJpZGVzIGxpbmUgJWQnICUKLSAg
ICAgICAgICAgIChwcmV2X2xpbmVubywgbGluZW5vKSwgdGVzdF9saXN0X3BhdGgpCi0gICAgICAg
IHJldHVybiBUcnVlCisgICAgICAgICMgQ2hlY2sgaWYgd2UndmUgYWxyZWFkeSBzZWVuIGEgbW9y
ZSBwcmVjaXNlIHBhdGguCisgICAgICAgIHJldHVybiBwcmV2X2Jhc2VfcGF0aC5zdGFydHN3aXRo
KG9zLnBhdGgubm9ybXBhdGgodGVzdF9saXN0X3BhdGgpKQogCiAgICAgZGVmIF9hZGRfZXJyb3Io
c2VsZiwgbGluZW5vLCBtc2csIHBhdGgpOgogICAgICAgICAiIiJSZXBvcnRzIGFuIGVycm9yIHRo
YXQgd2lsbCBwcmV2ZW50IHJ1bm5pbmcgdGhlIHRlc3RzLiBEb2VzIG5vdApAQCAtODc5LDE4OCAr
ODY2LDMgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc0ZpbGU6CiAgICAgICAgICIiIlJlcG9ydHMg
YW4gZXJyb3IgdGhhdCB3aWxsIG5vdCBwcmV2ZW50IHJ1bm5pbmcgdGhlIHRlc3RzLiBUaGVzZSBh
cmUKICAgICAgICAgc3RpbGwgZXJyb3JzLCBidXQgbm90IGJhZCBlbm91Z2ggdG8gd2FycmFudCBi
cmVha2luZyB0ZXN0IHJ1bm5pbmcuIiIiCiAgICAgICAgIHNlbGYuX25vbl9mYXRhbF9lcnJvcnMu
YXBwZW5kKCdMaW5lOiVzICVzICVzJyAlIChsaW5lbm8sIG1zZywgcGF0aCkpCi0KLQotY2xhc3Mg
TW9kaWZpZXJNYXRjaFJlc3VsdChvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRp
b25zKToKLSAgICAgICAgc2VsZi5udW1fbWF0Y2hlcyA9IE1vZGlmaWVyTWF0Y2hlci5OT19NQVRD
SAotICAgICAgICBzZWxmLm9wdGlvbnMgPSBvcHRpb25zCi0gICAgICAgIHNlbGYuZXJyb3JzID0g
W10KLSAgICAgICAgc2VsZi53YXJuaW5ncyA9IFtdCi0gICAgICAgIHNlbGYubW9kaWZpZXJzID0g
W10KLSAgICAgICAgc2VsZi5fbWF0Y2hlZF9yZWdleGVzID0gc2V0KCkKLSAgICAgICAgc2VsZi5f
bWF0Y2hlZF9tYWNyb3MgPSBzZXQoKQotCi0KLWNsYXNzIE1vZGlmaWVyTWF0Y2hlcihvYmplY3Qp
OgotCi0gICAgIiIiCi0gICAgVGhpcyBjbGFzcyBtYW5hZ2VzIHRoZSBpbnRlcnByZXRhdGlvbiBv
ZiB0aGUgIm1vZGlmaWVycyIgZm9yIGEgZ2l2ZW4KLSAgICBsaW5lIGluIHRoZSBleHBlY3RhdGlv
bnMgZmlsZS4gTW9kaWZpZXJzIGFyZSB0aGUgdG9rZW5zIHRoYXQgYXBwZWFyIHRvIHRoZQotICAg
IGxlZnQgb2YgdGhlIGNvbG9uIG9uIGEgbGluZS4gRm9yIGV4YW1wbGUsICJCVUcxMjM0IiwgIkRF
QlVHIiwgYW5kICJXSU4iIGFyZQotICAgIGFsbCBtb2RpZmllcnMuIFRoaXMgY2xhc3MgZ2V0cyB3
aGF0IHRoZSB2YWxpZCBtb2RpZmllcnMgYXJlLCBhbmQgd2hpY2gKLSAgICBtb2RpZmllcnMgYXJl
IGFsbG93ZWQgdG8gZXhpc3QgdG9nZXRoZXIgb24gYSBsaW5lLCBmcm9tIHRoZQotICAgIFRlc3RD
b25maWd1cmF0aW9uIG9iamVjdCB0aGF0IGlzIHBhc3NlZCBpbiB0byB0aGUgY2FsbC4KLQotICAg
IFRoaXMgY2xhc3MgZGV0ZWN0cyAqaW50cmEqLWxpbmUgZXJyb3JzIGxpa2UgdW5rbm93biBtb2Rp
ZmllcnMsIGJ1dAotICAgIGRvZXMgbm90IGRldGVjdCAqaW50ZXIqLWxpbmUgbW9kaWZpZXJzIGxp
a2UgZHVwbGljYXRlIGV4cGVjdGF0aW9ucy4KLQotICAgIE1vcmUgaW1wb3J0YW50bHksIHRoaXMg
Y2xhc3MgaXMgYWxzbyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGdpdmVuIGxpbmUKLSAgICBtYXRj
aGVzIHRoZSBwb3J0IGluIHF1ZXN0aW9uLiBNYXRjaGVzIGFyZSByYW5rZWQgYWNjb3JkaW5nIHRv
IHRoZSBudW1iZXIKLSAgICBvZiBtb2RpZmllcnMgdGhhdCBtYXRjaCBvbiBhIGxpbmUuIEEgbGlu
ZSB3aXRoIG5vIG1vZGlmaWVycyBtYXRjaGVzCi0gICAgZXZlcnl0aGluZyBhbmQgaGFzIGEgc2Nv
cmUgb2YgemVyby4gQSBsaW5lIHdpdGggb25lIG1vZGlmaWVyIG1hdGNoZXMgb25seQotICAgIHBv
cnRzIHRoYXQgaGF2ZSB0aGF0IG1vZGlmaWVyIGFuZCBnZXRzIGEgc2NvcmUgb2YgMSwgYW5kIHNv
IG9uZS4gUG9ydHMKLSAgICB0aGF0IGRvbid0IG1hdGNoIGF0IGFsbCBnZXQgYSBzY29yZSBvZiAt
MS4KLQotICAgIEdpdmVuIHR3byBsaW5lcyBpbiBhIGZpbGUgdGhhdCBhcHBseSB0byB0aGUgc2Ft
ZSB0ZXN0LCBpZiBib3RoIGV4cGVjdGF0aW9ucwotICAgIG1hdGNoIHRoZSBjdXJyZW50IGNvbmZp
ZywgdGhlbiB0aGUgZXhwZWN0YXRpb24gaXMgY29uc2lkZXJlZCBhbWJpZ3VvdXMsCi0gICAgZXZl
biBpZiBvbmUgZXhwZWN0YXRpb24gbWF0Y2hlcyBtb3JlIG9mIHRoZSBjb25maWcgdGhhbiB0aGUg
b3RoZXIuIEZvcgotICAgIGV4YW1wbGUsIGluOgotCi0gICAgQlVHMSBSRUxFQVNFIDogZm9vLmh0
bWwgPSBGQUlMCi0gICAgQlVHMSBXSU4gUkVMRUFTRSA6IGZvby5odG1sID0gUEFTUwotICAgIEJV
RzIgV0lOIDogYmFyLmh0bWwgPSBGQUlMCi0gICAgQlVHMiBERUJVRyA6IGJhci5odG1sID0gUEFT
UwotCi0gICAgbGluZXMgMSBhbmQgMiB3b3VsZCBwcm9kdWNlIGFuIGVycm9yIG9uIGEgV2luIFhQ
IFJlbGVhc2UgYm90ICh0aGUgc2NvcmVzCi0gICAgd291bGQgYmUgMSBhbmQgMiwgcmVzcGVjdGl2
ZWx5KSwgYW5kIGxpbmVzIHRocmVlIGFuZCBmb3VyIHdvdWxkIHByb2R1Y2UKLSAgICBhIGR1cGxp
Y2F0ZSBleHBlY3RhdGlvbiBvbiBhIFdpbiBEZWJ1ZyBib3Qgc2luY2UgYm90aCB0aGUgJ3dpbicg
YW5kIHRoZQotICAgICdkZWJ1ZycgZXhwZWN0YXRpb25zIHdvdWxkIGFwcGx5IChib3RoIGhhZCBz
Y29yZXMgb2YgMSkuCi0KLSAgICBJbiBhZGRpdGlvbiB0byB0aGUgZGVmaW5pdGlvbnMgb2YgYWxs
IG9mIHRoZSBtb2RpZmllcnMsIHRoZSBjbGFzcwotICAgIHN1cHBvcnRzICJtYWNyb3MiIHRoYXQg
YXJlIGV4cGFuZGVkIHByaW9yIHRvIGludGVycHJldGF0aW9uLCBhbmQgImlnbm9yZQotICAgIHJl
Z2V4ZXMiIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2tpcCBvdmVyIG1vZGlmaWVycyBsaWtlIHRoZSBC
VUcqIG1vZGlmaWVycy4KLSAgICAiIiIKLSAgICBNQUNST1MgPSB7Ci0gICAgICAgICdtYWMtc25v
d2xlb3BhcmQnOiBbJ21hYycsICdzbm93bGVvcGFyZCddLAotICAgICAgICAnbWFjLWxlb3BhcmQn
OiBbJ21hYycsICdsZW9wYXJkJ10sCi0gICAgICAgICd3aW4teHAnOiBbJ3dpbicsICd4cCddLAot
ICAgICAgICAnd2luLXZpc3RhJzogWyd3aW4nLCAndmlzdGEnXSwKLSAgICAgICAgJ3dpbi03Jzog
Wyd3aW4nLCAnd2luNyddLAotICAgIH0KLQotICAgICMgV2UgZG9uJ3QgaW5jbHVkZSB0aGUgIm5v
bmUiIG1vZGlmaWVyIGJlY2F1c2UgaXQgaXNuJ3QgYWN0dWFsbHkgbGVnYWwuCi0gICAgUkVHRVhF
U19UT19JR05PUkUgPSAoWydidWdcdysnXSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgVGVz
dEV4cGVjdGF0aW9uc0ZpbGUuTU9ESUZJRVJTLmtleXMoKVs6LTFdKQotICAgIERVUExJQ0FURV9S
RUdFWEVTX0FMTE9XRUQgPSBbJ2J1Z1x3KyddCi0KLSAgICAjIE1hZ2ljIHZhbHVlIHJldHVybmVk
IHdoZW4gdGhlIG9wdGlvbnMgZG9uJ3QgbWF0Y2guCi0gICAgTk9fTUFUQ0ggPSAtMQotCi0gICAg
IyBGSVhNRTogVGhlIGNvZGUgY3VycmVudGx5IGRvZXNuJ3QgZGV0ZWN0IGNvbWJpbmF0aW9ucyBv
ZiBtb2RpZmllcnMKLSAgICAjIHRoYXQgYXJlIHN5bnRhY3RpY2FsbHkgdmFsaWQgYnV0IHNlbWFu
dGljYWxseSBpbnZhbGlkLCBsaWtlCi0gICAgIyAnTUFDIFhQJy4gU2VlIE1vZGlmaWVyTWF0Y2hU
ZXN0LnRlc3RfaW52YWxpZF9jb21iaW5hdGlvbnMoKSBpbiB0aGUKLSAgICAjIF91bml0dGVzdC5w
eSBmaWxlLgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfY29uZmlnKToKLSAgICAgICAg
IiIiSW5pdGlhbGl6ZSBhIE1vZGlmaWVyTWF0Y2hlciBhcmd1bWVudCB3aXRoIHRoZSBUZXN0Q29u
ZmlndXJhdGlvbiBpdAotICAgICAgICBzaG91bGQgYmUgbWF0Y2hlZCBhZ2FpbnN0LiIiIgotICAg
ICAgICBzZWxmLnRlc3RfY29uZmlnID0gdGVzdF9jb25maWcKLSAgICAgICAgc2VsZi5hbGxvd2Vk
X2NvbmZpZ3VyYXRpb25zID0gdGVzdF9jb25maWcuYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoKQot
ICAgICAgICBzZWxmLm1hY3JvcyA9IHNlbGYuTUFDUk9TCi0KLSAgICAgICAgc2VsZi5yZWdleGVz
X3RvX2lnbm9yZSA9IHt9Ci0gICAgICAgIGZvciByZWdleF9zdHIgaW4gc2VsZi5SRUdFWEVTX1RP
X0lHTk9SRToKLSAgICAgICAgICAgIHNlbGYucmVnZXhlc190b19pZ25vcmVbcmVnZXhfc3RyXSA9
IHJlLmNvbXBpbGUocmVnZXhfc3RyKQotCi0gICAgICAgICMgS2VlcCBhIHNldCBvZiBhbGwgb2Yg
dGhlIGxlZ2FsIG1vZGlmaWVycyBmb3IgcXVpY2sgY2hlY2tpbmcuCi0gICAgICAgIHNlbGYuX2Fs
bF9tb2RpZmllcnMgPSBzZXQoKQotCi0gICAgICAgICMgS2VlcCBhIGRpY3QgbWFwcGluZyB2YWx1
ZXMgYmFjayB0byB0aGVpciBjYXRlZ29yaWVzLgotICAgICAgICBzZWxmLl9jYXRlZ29yaWVzX2Zv
cl9tb2RpZmllcnMgPSB7fQotICAgICAgICBmb3IgY29uZmlnIGluIHNlbGYuYWxsb3dlZF9jb25m
aWd1cmF0aW9uczoKLSAgICAgICAgICAgIGZvciBjYXRlZ29yeSwgbW9kaWZpZXIgaW4gY29uZmln
Lml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgc2VsZi5fY2F0ZWdvcmllc19mb3JfbW9kaWZpZXJz
W21vZGlmaWVyXSA9IGNhdGVnb3J5Ci0gICAgICAgICAgICAgICAgc2VsZi5fYWxsX21vZGlmaWVy
cy5hZGQobW9kaWZpZXIpCi0KLSAgICBkZWYgbWF0Y2goc2VsZiwgb3B0aW9ucyk6Ci0gICAgICAg
ICIiIkNoZWNrcyBhIGxpc3Qgb2Ygb3B0aW9ucyBhZ2FpbnN0IHRoZSBjb25maWcgc2V0IGluIHRo
ZSBjb25zdHJ1Y3Rvci4KLSAgICAgICAgT3B0aW9ucyBtYXkgYmUgZWl0aGVyIGFjdHVhbCBtb2Rp
ZmllciBzdHJpbmdzLCAibWFjcm8iIHN0cmluZ3MKLSAgICAgICAgdGhhdCBnZXQgZXhwYW5kZWQg
dG8gYSBsaXN0IG9mIG1vZGlmaWVycywgb3Igc3RyaW5ncyB0aGF0IGFyZSBhbGxvd2VkCi0gICAg
ICAgIHRvIGJlIGlnbm9yZWQuIEFsbCBvZiB0aGUgb3B0aW9ucyBtdXN0IGJlIHBhc3NlZCBpbiBp
biBsb3dlciBjYXNlLgotCi0gICAgICAgIFJldHVybnMgdGhlIG51bWJlciBvZiBtYXRjaGluZyBj
YXRlZ29yaWVzLCBvciBOT19NQVRDSCAoLTEpIGlmIGl0Ci0gICAgICAgIGRvZXNuJ3QgbWF0Y2gg
b3IgdGhlcmUgd2VyZSBlcnJvcnMgZm91bmQuIE1hdGNoZXMgYXJlIHByaW9yaXRpemVkCi0gICAg
ICAgIGJ5IHRoZSBudW1iZXIgb2YgbWF0Y2hpbmcgY2F0ZWdvcmllcywgYmVjYXVzZSB0aGUgbW9y
ZSBzcGVjaWZpYwotICAgICAgICB0aGUgb3B0aW9ucyBsaXN0LCB0aGUgbW9yZSBjYXRlZ29yaWVz
IHdpbGwgbWF0Y2guCi0KLSAgICAgICAgVGhlIHJlc3VsdHMgb2YgdGhlIG1vc3QgcmVjZW50IG1h
dGNoIGFyZSBhdmFpbGFibGUgaW4gdGhlICdvcHRpb25zJywKLSAgICAgICAgJ21vZGlmaWVycycs
ICdudW1fbWF0Y2hlcycsICdlcnJvcnMnLCBhbmQgJ3dhcm5pbmdzJyBwcm9wZXJ0aWVzLgotICAg
ICAgICAiIiIKLSAgICAgICAgcmVzdWx0ID0gTW9kaWZpZXJNYXRjaFJlc3VsdChvcHRpb25zKQot
ICAgICAgICBzZWxmLl9wYXJzZShyZXN1bHQpCi0gICAgICAgIGlmIHJlc3VsdC5lcnJvcnM6Ci0g
ICAgICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICAgICAgIHNlbGYuX2NvdW50X21hdGNoZXMocmVz
dWx0KQotICAgICAgICByZXR1cm4gcmVzdWx0Ci0KLSAgICBkZWYgX3BhcnNlKHNlbGYsIHJlc3Vs
dCk6Ci0gICAgICAgICMgRklYTUU6IFNob3VsZCB3ZSB3YXJuIGFib3V0IGxpbmVzIGhhdmluZyBl
dmVyeSB2YWx1ZSBpbiBhIGNhdGVnb3J5PwotICAgICAgICBmb3Igb3B0aW9uIGluIHJlc3VsdC5v
cHRpb25zOgotICAgICAgICAgICAgc2VsZi5fcGFyc2Vfb25lKG9wdGlvbiwgcmVzdWx0KQotCi0g
ICAgZGVmIF9wYXJzZV9vbmUoc2VsZiwgb3B0aW9uLCByZXN1bHQpOgotICAgICAgICBpZiBvcHRp
b24gaW4gc2VsZi5fYWxsX21vZGlmaWVyczoKLSAgICAgICAgICAgIHNlbGYuX2FkZF9tb2RpZmll
cihvcHRpb24sIHJlc3VsdCkKLSAgICAgICAgZWxpZiBvcHRpb24gaW4gc2VsZi5tYWNyb3M6Ci0g
ICAgICAgICAgICBzZWxmLl9leHBhbmRfbWFjcm8ob3B0aW9uLCByZXN1bHQpCi0gICAgICAgIGVs
aWYgbm90IHNlbGYuX21hdGNoZXNfYW55X3JlZ2V4KG9wdGlvbiwgcmVzdWx0KToKLSAgICAgICAg
ICAgIHJlc3VsdC5lcnJvcnMuYXBwZW5kKCJVbnJlY29nbml6ZWQgb3B0aW9uICclcyciICUgb3B0
aW9uKQotCi0gICAgZGVmIF9hZGRfbW9kaWZpZXIoc2VsZiwgb3B0aW9uLCByZXN1bHQpOgotICAg
ICAgICBpZiBvcHRpb24gaW4gcmVzdWx0Lm1vZGlmaWVyczoKLSAgICAgICAgICAgIHJlc3VsdC5l
cnJvcnMuYXBwZW5kKCJNb3JlIHRoYW4gb25lICclcyciICUgb3B0aW9uKQotICAgICAgICBlbHNl
OgotICAgICAgICAgICAgcmVzdWx0Lm1vZGlmaWVycy5hcHBlbmQob3B0aW9uKQotCi0gICAgZGVm
IF9leHBhbmRfbWFjcm8oc2VsZiwgbWFjcm8sIHJlc3VsdCk6Ci0gICAgICAgIGlmIG1hY3JvIGlu
IHJlc3VsdC5fbWF0Y2hlZF9tYWNyb3M6Ci0gICAgICAgICAgICByZXN1bHQuZXJyb3JzLmFwcGVu
ZCgiTW9yZSB0aGFuIG9uZSAnJXMnIiAlIG1hY3JvKQotICAgICAgICAgICAgcmV0dXJuCi0KLSAg
ICAgICAgbW9kcyA9IFtdCi0gICAgICAgIGZvciBtb2RpZmllciBpbiBzZWxmLm1hY3Jvc1ttYWNy
b106Ci0gICAgICAgICAgICBpZiBtb2RpZmllciBpbiByZXN1bHQub3B0aW9uczoKLSAgICAgICAg
ICAgICAgICByZXN1bHQuZXJyb3JzLmFwcGVuZCgiQ2FuJ3Qgc3BlY2lmeSBib3RoIG1vZGlmaWVy
ICclcycgYW5kICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWFjcm8g
JyVzJyIgJSAobW9kaWZpZXIsIG1hY3JvKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICAgICAgbW9kcy5hcHBlbmQobW9kaWZpZXIpCi0gICAgICAgIHJlc3VsdC5fbWF0Y2hlZF9tYWNy
b3MuYWRkKG1hY3JvKQotICAgICAgICByZXN1bHQubW9kaWZpZXJzLmV4dGVuZChtb2RzKQotCi0g
ICAgZGVmIF9tYXRjaGVzX2FueV9yZWdleChzZWxmLCBvcHRpb24sIHJlc3VsdCk6Ci0gICAgICAg
IGZvciByZWdleF9zdHIsIHBhdHRlcm4gaW4gc2VsZi5yZWdleGVzX3RvX2lnbm9yZS5pdGVyaXRl
bXMoKToKLSAgICAgICAgICAgIGlmIHBhdHRlcm4ubWF0Y2gob3B0aW9uKToKLSAgICAgICAgICAg
ICAgICBzZWxmLl9oYW5kbGVfcmVnZXhfbWF0Y2gocmVnZXhfc3RyLCByZXN1bHQpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBkZWYgX2hh
bmRsZV9yZWdleF9tYXRjaChzZWxmLCByZWdleF9zdHIsIHJlc3VsdCk6Ci0gICAgICAgIGlmIChy
ZWdleF9zdHIgaW4gcmVzdWx0Ll9tYXRjaGVkX3JlZ2V4ZXMgYW5kCi0gICAgICAgICAgICByZWdl
eF9zdHIgbm90IGluIHNlbGYuRFVQTElDQVRFX1JFR0VYRVNfQUxMT1dFRCk6Ci0gICAgICAgICAg
ICByZXN1bHQuZXJyb3JzLmFwcGVuZCgiTW9yZSB0aGFuIG9uZSBvcHRpb24gbWF0Y2hpbmcgJyVz
JyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnZXhfc3RyKQotICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgcmVzdWx0Ll9tYXRjaGVkX3JlZ2V4ZXMuYWRkKHJlZ2V4X3N0
cikKLQotICAgIGRlZiBfY291bnRfbWF0Y2hlcyhzZWxmLCByZXN1bHQpOgotICAgICAgICAiIiJS
ZXR1cm5zIHRoZSBudW1iZXIgb2YgbW9kaWZpZXJzIHRoYXQgbWF0Y2ggdGhlIHRlc3QgY29uZmln
LiIiIgotICAgICAgICBjYXRlZ29yaXplZF9tb2RpZmllcnMgPSBzZWxmLl9ncm91cF9ieV9jYXRl
Z29yeShyZXN1bHQubW9kaWZpZXJzKQotICAgICAgICByZXN1bHQubnVtX21hdGNoZXMgPSAwCi0g
ICAgICAgIGZvciBjYXRlZ29yeSwgbW9kaWZpZXIgaW4gc2VsZi50ZXN0X2NvbmZpZy5pdGVtcygp
OgotICAgICAgICAgICAgaWYgY2F0ZWdvcnkgaW4gY2F0ZWdvcml6ZWRfbW9kaWZpZXJzOgotICAg
ICAgICAgICAgICAgIGlmIG1vZGlmaWVyIGluIGNhdGVnb3JpemVkX21vZGlmaWVyc1tjYXRlZ29y
eV06Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5udW1fbWF0Y2hlcyArPSAxCi0gICAgICAg
ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lm51bV9tYXRjaGVzID0g
c2VsZi5OT19NQVRDSAotICAgICAgICAgICAgICAgICAgICByZXR1cm4KLQotICAgIGRlZiBfZ3Jv
dXBfYnlfY2F0ZWdvcnkoc2VsZiwgbW9kaWZpZXJzKToKLSAgICAgICAgIyBSZXR1cm5zIGEgZGlj
dCBvZiBjYXRlZ29yeSBuYW1lIC0+IGxpc3Qgb2YgbW9kaWZpZXJzLgotICAgICAgICBtb2RpZmll
cnNfYnlfY2F0ZWdvcnkgPSB7fQotICAgICAgICBmb3IgbSBpbiBtb2RpZmllcnM6Ci0gICAgICAg
ICAgICBtb2RpZmllcnNfYnlfY2F0ZWdvcnkuc2V0ZGVmYXVsdChzZWxmLl9jYXRlZ29yeShtKSwg
W10pLmFwcGVuZChtKQotICAgICAgICByZXR1cm4gbW9kaWZpZXJzX2J5X2NhdGVnb3J5Ci0KLSAg
ICBkZWYgX2NhdGVnb3J5KHNlbGYsIG1vZGlmaWVyKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2Nh
dGVnb3JpZXNfZm9yX21vZGlmaWVyc1ttb2RpZmllcl0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfZXhwZWN0YXRpb25z
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0
X3BhY2thZ2UvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKaW5kZXggYzc0Y2YzMTQ4YTlh
NzUwYWRlN2I3ZDRkZGNhNzlkNzRhMGVjMjA4Zi4uMzQ3NzFmMzAzOWFmZjEwYTBmZDIyMGVmYTQ4
MzY3NTVjNzcyOGVlMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9l
eHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKQEAgLTM0LDcgKzM0LDYgQEAgaW1wb3J0IHN5cwogaW1w
b3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzIGltcG9ydCBwb3J0Ci1m
cm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBiYXNlCiBmcm9tIHdlYmtpdHB5
LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZS50ZXN0X2V4cGVjdGF0aW9ucyBpbXBvcnQgKgog
CiBjbGFzcyBGdW5jdGlvbnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTgxLDkgKzgwLDYg
QEAgY2xhc3MgRnVuY3Rpb25zVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKIAogY2xhc3MgQmFz
ZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgIyBOb3RlIHRoYXQgYWxsIG9mIHRoZXNlIHRlc3Rz
IGFyZSB3cml0dGVuIGFzc3VtaW5nIHRoZSBjb25maWd1cmF0aW9uCi0gICAgIyBiZWluZyB0ZXN0
ZWQgaXMgTWFjIExlb3BhcmQsIFJlbGVhc2UgYnVpbGQuCi0KICAgICBkZWYgX19pbml0X18oc2Vs
ZiwgdGVzdEZ1bmMsIHNldFVwPU5vbmUsIHRlYXJEb3duPU5vbmUsIGRlc2NyaXB0aW9uPU5vbmUp
OgogICAgICAgICBzZWxmLl9wb3J0ID0gcG9ydC5nZXQoJ3Rlc3QnLCBOb25lKQogICAgICAgICBz
ZWxmLl9leHAgPSBOb25lCkBAIC0xMDksMTIgKzEwNSwxMyBAQCBCVUdfVEVTVCBXT05URklYIDog
ZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2VfY2hlY2tzdW0uaHRtbCA9IElNQUdFCiBCVUdfVEVTVCBX
T05URklYIFdJTiA6IGZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwgPSBJTUFHRQogIiIiCiAK
LSAgICBkZWYgcGFyc2VfZXhwKHNlbGYsIGV4cGVjdGF0aW9ucywgb3ZlcnJpZGVzPU5vbmUsIGlz
X2xpbnRfbW9kZT1GYWxzZSk6Ci0gICAgICAgIHRlc3RfY29uZmlnID0gc2VsZi5fcG9ydC50ZXN0
X2NvbmZpZ3VyYXRpb24oKQorICAgIGRlZiBwYXJzZV9leHAoc2VsZiwgZXhwZWN0YXRpb25zLCBv
dmVycmlkZXM9Tm9uZSwgaXNfbGludF9tb2RlPUZhbHNlLAorICAgICAgICAgICAgICAgICAgaXNf
ZGVidWdfbW9kZT1GYWxzZSk6CiAgICAgICAgIHNlbGYuX2V4cCA9IFRlc3RFeHBlY3RhdGlvbnMo
c2VsZi5fcG9ydCwKICAgICAgICAgICAgICB0ZXN0cz1zZWxmLmdldF9iYXNpY190ZXN0cygpLAog
ICAgICAgICAgICAgIGV4cGVjdGF0aW9ucz1leHBlY3RhdGlvbnMsCi0gICAgICAgICAgICAgdGVz
dF9jb25maWc9dGVzdF9jb25maWcsCisgICAgICAgICAgICAgdGVzdF9wbGF0Zm9ybV9uYW1lPXNl
bGYuX3BvcnQudGVzdF9wbGF0Zm9ybV9uYW1lKCksCisgICAgICAgICAgICAgaXNfZGVidWdfbW9k
ZT1pc19kZWJ1Z19tb2RlLAogICAgICAgICAgICAgIGlzX2xpbnRfbW9kZT1pc19saW50X21vZGUs
CiAgICAgICAgICAgICAgb3ZlcnJpZGVzPW92ZXJyaWRlcykKIApAQCAtMTIzLDcgKzEyMCw3IEBA
IEJVR19URVNUIFdPTlRGSVggV0lOIDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCA9IElN
QUdFCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldChbcmVzdWx0XSkpCiAKIAotY2xhc3Mg
QmFzaWNUZXN0cyhCYXNlKToKK2NsYXNzIFRlc3RFeHBlY3RhdGlvbnNUZXN0KEJhc2UpOgogICAg
IGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgogICAgICAgICBzZWxmLnBhcnNlX2V4cChzZWxmLmdldF9i
YXNpY19leHBlY3RhdGlvbnMoKSkKICAgICAgICAgc2VsZi5hc3NlcnRfZXhwKCdmYWlsdXJlcy9l
eHBlY3RlZC90ZXh0Lmh0bWwnLCBURVhUKQpAQCAtMTMxLDE0ICsxMjgsMjMgQEAgY2xhc3MgQmFz
aWNUZXN0cyhCYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRfZXhwKCdwYXNzZXMvdGV4dC5odG1s
JywgUEFTUykKICAgICAgICAgc2VsZi5hc3NlcnRfZXhwKCdmYWlsdXJlcy9leHBlY3RlZC9pbWFn
ZS5odG1sJywgUEFTUykKIAotCi1jbGFzcyBNaXNjVGVzdHMoQmFzZSk6CiAgICAgZGVmIHRlc3Rf
bXVsdGlwbGVfcmVzdWx0cyhzZWxmKToKICAgICAgICAgc2VsZi5wYXJzZV9leHAoJ0JVR1ggOiBm
YWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhUIENSQVNIJykKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLl9leHAuZ2V0X2V4cGVjdGF0aW9ucygKICAgICAgICAgICAgIHNlbGYu
Z2V0X3Rlc3QoJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcpKSwKICAgICAgICAgICAgIHNl
dChbVEVYVCwgQ1JBU0hdKSkKIAorICAgIGRlZiB0ZXN0X3ByZWNlZGVuY2Uoc2VsZik6CisgICAg
ICAgICMgVGhpcyB0ZXN0cyBoYW5kbGluZyBwcmVjZWRlbmNlIG9mIHNwZWNpZmljIGxpbmVzIG92
ZXIgZGlyZWN0b3JpZXMKKyAgICAgICAgIyBhbmQgdGVzdHMgZXhwZWN0YXRpb25zIGNvdmVyaW5n
IGVudGlyZSBkaXJlY3Rvcmllcy4KKyAgICAgICAgZXhwX3N0ciA9ICIiIgorQlVHWCA6IGZhaWx1
cmVzL2V4cGVjdGVkL3RleHQuaHRtbCA9IFRFWFQKK0JVR1ggV09OVEZJWCA6IGZhaWx1cmVzL2V4
cGVjdGVkID0gSU1BR0UKKyIiIgorICAgICAgICBzZWxmLnBhcnNlX2V4cChleHBfc3RyKQorICAg
ICAgICBzZWxmLmFzc2VydF9leHAoJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcsIFRFWFQp
CisgICAgICAgIHNlbGYuYXNzZXJ0X2V4cCgnZmFpbHVyZXMvZXhwZWN0ZWQvY3Jhc2guaHRtbCcs
IElNQUdFKQorCiAgICAgZGVmIHRlc3RfY2F0ZWdvcnlfZXhwZWN0YXRpb25zKHNlbGYpOgogICAg
ICAgICAjIFRoaXMgdGVzdCBjaGVja3MgdW5rbm93biB0ZXN0cyBhcmUgbm90IHByZXNlbnQgaW4g
dGhlCiAgICAgICAgICMgZXhwZWN0YXRpb25zIGFuZCB0aGF0IGtub3duIHRlc3QgcGFydCBvZiBh
IHRlc3QgY2F0ZWdvcnkgaXMKQEAgLTE1Myw2ICsxNTksMjAgQEAgQlVHWCBXT05URklYIDogZmFp
bHVyZXMvZXhwZWN0ZWQgPSBJTUFHRQogICAgICAgICAgICAgICAgICAgICAgICAgICB1bmtub3du
X3Rlc3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2V4cCgnZmFpbHVyZXMvZXhwZWN0ZWQvY3Jhc2gu
aHRtbCcsIElNQUdFKQogCisgICAgZGVmIHRlc3RfcmVsZWFzZV9tb2RlKHNlbGYpOgorICAgICAg
ICBzZWxmLnBhcnNlX2V4cCgnQlVHWCBERUJVRyA6IGZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRt
bCA9IFRFWFQnLAorICAgICAgICAgICAgICAgICAgICAgICBpc19kZWJ1Z19tb2RlPVRydWUpCisg
ICAgICAgIHNlbGYuYXNzZXJ0X2V4cCgnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywgVEVY
VCkKKyAgICAgICAgc2VsZi5wYXJzZV9leHAoJ0JVR1ggUkVMRUFTRSA6IGZhaWx1cmVzL2V4cGVj
dGVkL3RleHQuaHRtbCA9IFRFWFQnLAorICAgICAgICAgICAgICAgICAgICAgICBpc19kZWJ1Z19t
b2RlPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4cCgnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4
dC5odG1sJywgUEFTUykKKyAgICAgICAgc2VsZi5wYXJzZV9leHAoJ0JVR1ggREVCVUcgOiBmYWls
dXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhUJywKKyAgICAgICAgICAgICAgICAgICAgICAg
aXNfZGVidWdfbW9kZT1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhwKCdmYWlsdXJlcy9l
eHBlY3RlZC90ZXh0Lmh0bWwnLCBQQVNTKQorICAgICAgICBzZWxmLnBhcnNlX2V4cCgnQlVHWCBS
RUxFQVNFIDogZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0gVEVYVCcsCisgICAgICAgICAg
ICAgICAgICAgICAgIGlzX2RlYnVnX21vZGU9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4
cCgnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywgVEVYVCkKKwogICAgIGRlZiB0ZXN0X2dl
dF9vcHRpb25zKHNlbGYpOgogICAgICAgICBzZWxmLnBhcnNlX2V4cChzZWxmLmdldF9iYXNpY19l
eHBlY3RhdGlvbnMoKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9leHAuZ2V0X29w
dGlvbnMoCkBAIC0xOTcsNyArMjE3LDcgQEAgU0tJUCA6IGZhaWx1cmVzL2V4cGVjdGVkL2ltYWdl
Lmh0bWwiIiIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKFRydWUsICJQYXJzZUVycm9y
IHdhc24ndCByYWlzZWQiKQogICAgICAgICBleGNlcHQgUGFyc2VFcnJvciwgZToKICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShlLmZhdGFsKQotICAgICAgICAgICAgZXhwX2Vycm9ycyA9IFt1
IkxpbmU6MSBVbnJlY29nbml6ZWQgb3B0aW9uICdmb28nIGZhaWx1cmVzL2V4cGVjdGVkL3RleHQu
aHRtbCIsCisgICAgICAgICAgICBleHBfZXJyb3JzID0gW3UnTGluZToxIEludmFsaWQgbW9kaWZp
ZXIgZm9yIHRlc3Q6IGZvbyBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICB1IkxpbmU6MiBNaXNzaW5nIGV4cGVjdGF0aW9ucy4gWycgZmFpbHVy
ZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCddIl0KICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c3RyKGUpLCAnXG4nLmpvaW4obWFwKHN0ciwgZXhwX2Vycm9ycykpKQogICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChlLmVycm9ycywgZXhwX2Vycm9ycykKQEAgLTIxMywxNjAgKzIzMyw3NyBA
QCBTS0lQIDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCIiIikKICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAnXG4nLmpvaW4obWFwKHN0ciwgZXhwX2Vycm9ycykpKQog
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmVycm9ycywgZXhwX2Vycm9ycykKIAotICAg
IGRlZiB0ZXN0X292ZXJyaWRlcyhzZWxmKToKLSAgICAgICAgc2VsZi5wYXJzZV9leHAoIkJVR19F
WFA6IGZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCA9IFRFWFQiLAotICAgICAgICAgICAgICAg
ICAgICAgICAiQlVHX09WRVJSSURFIDogZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0gSU1B
R0UiKQotICAgICAgICBzZWxmLmFzc2VydF9leHAoJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRt
bCcsIElNQUdFKQotCi0gICAgZGVmIHRlc3Rfb3ZlcnJpZGVzX19kdXBsaWNhdGUoc2VsZik6Ci0g
ICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhcnNlRXJyb3IsIHNlbGYucGFyc2VfZXhwLAotICAg
ICAgICAgICAgICJCVUdfRVhQOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhUIiwK
LSAgICAgICAgICAgICAiIiIKLUJVR19PVkVSUklERSA6IGZhaWx1cmVzL2V4cGVjdGVkL3RleHQu
aHRtbCA9IElNQUdFCi1CVUdfT1ZFUlJJREUgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwg
PSBDUkFTSAotIiIiKQotCi0gICAgZGVmIHRlc3RfcGl4ZWxfdGVzdHNfZmxhZyhzZWxmKToKLSAg
ICAgICAgZGVmIG1hdGNoKHRlc3QsIHJlc3VsdCwgcGl4ZWxfdGVzdHNfZW5hYmxlZCk6Ci0gICAg
ICAgICAgICByZXR1cm4gc2VsZi5fZXhwLm1hdGNoZXNfYW5fZXhwZWN0ZWRfcmVzdWx0KAotICAg
ICAgICAgICAgICAgIHNlbGYuZ2V0X3Rlc3QodGVzdCksIHJlc3VsdCwgcGl4ZWxfdGVzdHNfZW5h
YmxlZCkKLQotICAgICAgICBzZWxmLnBhcnNlX2V4cChzZWxmLmdldF9iYXNpY19leHBlY3RhdGlv
bnMoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hdGNoKCdmYWlsdXJlcy9leHBlY3RlZC90
ZXh0Lmh0bWwnLCBURVhULCBUcnVlKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hdGNoKCdm
YWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLCBURVhULCBGYWxzZSkpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RmFsc2UobWF0Y2goJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcsIENSQVNILCBU
cnVlKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtYXRjaCgnZmFpbHVyZXMvZXhwZWN0ZWQv
dGV4dC5odG1sJywgQ1JBU0gsIEZhbHNlKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hdGNo
KCdmYWlsdXJlcy9leHBlY3RlZC9pbWFnZV9jaGVja3N1bS5odG1sJywgSU1BR0UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBUcnVlKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1h
dGNoKCdmYWlsdXJlcy9leHBlY3RlZC9pbWFnZV9jaGVja3N1bS5odG1sJywgUEFTUywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZhbHNlKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KG1hdGNoKCdmYWlsdXJlcy9leHBlY3RlZC9jcmFzaC5odG1sJywgU0tJUCwgRmFsc2UpKQotICAg
ICAgICBzZWxmLmFzc2VydFRydWUobWF0Y2goJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCBQQVNTLCBGYWxz
ZSkpCi0KLQotY2xhc3MgRXhwZWN0YXRpb25TeW50YXhUZXN0cyhCYXNlKToKLSAgICBkZWYgdGVz
dF9taXNzaW5nX2V4cGVjdGF0aW9uKHNlbGYpOgorICAgIGRlZiB0ZXN0X3N5bnRheF9taXNzaW5n
X2V4cGVjdGF0aW9uKHNlbGYpOgogICAgICAgICAjIFRoaXMgaXMgbWlzc2luZyB0aGUgZXhwZWN0
YXRpb24uCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhcnNlRXJyb3IsIHNlbGYucGFyc2Vf
ZXhwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAnQlVHX1RFU1Q6IGZhaWx1cmVzL2V4cGVj
dGVkL3RleHQuaHRtbCcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICdCVUdfVEVTVDogZmFp
bHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXNf
ZGVidWdfbW9kZT1UcnVlKQogCi0gICAgZGVmIHRlc3RfbWlzc2luZ19jb2xvbihzZWxmKToKLSAg
ICAgICAgIyBUaGlzIGlzIG1pc3NpbmcgdGhlIG1vZGlmaWVycyBhbmQgdGhlICc6JworICAgIGRl
ZiB0ZXN0X3N5bnRheF9pbnZhbGlkX29wdGlvbihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRS
YWlzZXMoUGFyc2VFcnJvciwgc2VsZi5wYXJzZV9leHAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICdmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhUJykKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ0JVR19URVNUIEZPTzogZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0g
UEFTUycpCiAKLSAgICBkZWYgZGlzYWJsZWRfdGVzdF90b29fbWFueV9jb2xvbnMoc2VsZik6Ci0g
ICAgICAgICMgRklYTUU6IEVuYWJsZSB0aGlzIHRlc3QgYW5kIGZpeCB0aGUgdW5kZXJseWluZyBi
dWcuCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhcnNlRXJyb3IsIHNlbGYucGFyc2VfZXhw
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAnQlVHX1RFU1Q6IGZhaWx1cmVzL2V4cGVjdGVk
L3RleHQuaHRtbCA9IFBBU1MgOicpCi0KLSAgICBkZWYgdGVzdF90b29fbWFueV9lcXVhbHNfc2ln
bnMoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhcnNlRXJyb3IsIHNlbGYucGFy
c2VfZXhwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAnQlVHX1RFU1Q6IGZhaWx1cmVzL2V4
cGVjdGVkL3RleHQuaHRtbCA9IFRFWFQgPSBJTUFHRScpCi0KLSAgICBkZWYgdGVzdF91bnJlY29n
bml6ZWRfZXhwZWN0YXRpb24oc2VsZik6CisgICAgZGVmIHRlc3Rfc3ludGF4X2ludmFsaWRfZXhw
ZWN0YXRpb24oc2VsZik6CisgICAgICAgICMgVGhpcyBpcyBtaXNzaW5nIHRoZSBleHBlY3RhdGlv
bi4KICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFyc2VFcnJvciwgc2VsZi5wYXJzZV9leHAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICdCVUdfVEVTVDogZmFpbHVyZXMvZXhwZWN0ZWQv
dGV4dC5odG1sID0gVU5LTk9XTicpCi0KLSAgICBkZWYgdGVzdF9tYWNybyhzZWxmKToKLSAgICAg
ICAgZXhwX3N0ciA9ICIiIgotQlVHX1RFU1QgTUFDLUxFT1BBUkQgOiBmYWlsdXJlcy9leHBlY3Rl
ZC90ZXh0Lmh0bWwgPSBURVhUCi0iIiIKLSAgICAgICAgc2VsZi5wYXJzZV9leHAoZXhwX3N0cikK
LSAgICAgICAgc2VsZi5hc3NlcnRfZXhwKCdmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLCBU
RVhUKQotCi0KLWNsYXNzIFNlbWFudGljVGVzdHMoQmFzZSk6Ci0gICAgZGVmIHRlc3RfYnVnX2Zv
cm1hdChzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFyc2VFcnJvciwgc2VsZi5w
YXJzZV9leHAsICdCVUcxMjM0IDogZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0gVEVYVCcp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICdCVUdfVEVTVDogZmFpbHVyZXMvZXhwZWN0ZWQv
dGV4dC5odG1sID0gRk9PJykKIAotICAgIGRlZiB0ZXN0X21pc3NpbmdfYnVnaWQoc2VsZik6Cisg
ICAgZGVmIHRlc3Rfc3ludGF4X21pc3NpbmdfYnVnaWQoc2VsZik6CiAgICAgICAgICMgVGhpcyBz
aG91bGQgbG9nIGEgbm9uLWZhdGFsIGVycm9yLgogICAgICAgICBzZWxmLnBhcnNlX2V4cCgnU0xP
VyA6IGZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCA9IFRFWFQnKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKAogICAgICAgICAgICAgbGVuKHNlbGYuX2V4cC5fZXhwZWN0ZWRfZmFpbHVyZXMu
Z2V0X25vbl9mYXRhbF9lcnJvcnMoKSksIDEpCiAKLSAgICBkZWYgdGVzdF9zbG93X2FuZF90aW1l
b3V0KHNlbGYpOgorICAgIGRlZiB0ZXN0X3NlbWFudGljX3Nsb3dfYW5kX3RpbWVvdXQoc2VsZik6
CiAgICAgICAgICMgQSB0ZXN0IGNhbm5vdCBiZSBTTE9XIGFuZCBleHBlY3RlZCB0byBUSU1FT1VU
LgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYXJzZUVycm9yLCBzZWxmLnBhcnNlX2V4cCwK
ICAgICAgICAgICAgICdCVUdfVEVTVCBTTE9XIDogZmFpbHVyZXMvZXhwZWN0ZWQvdGltZW91dC5o
dG1sID0gVElNRU9VVCcpCiAKLSAgICBkZWYgdGVzdF9yZWJhc2VsaW5lKHNlbGYpOgorICAgIGRl
ZiB0ZXN0X3NlbWFudGljX3JlYmFzZWxpbmUoc2VsZik6CiAgICAgICAgICMgQ2FuJ3QgbGludCBh
IGZpbGUgdy8gJ1JFQkFTRUxJTkUnIGluIGl0LgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQ
YXJzZUVycm9yLCBzZWxmLnBhcnNlX2V4cCwKICAgICAgICAgICAgICdCVUdfVEVTVCBSRUJBU0VM
SU5FIDogZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0gVEVYVCcsCiAgICAgICAgICAgICBp
c19saW50X21vZGU9VHJ1ZSkKIAotICAgIGRlZiB0ZXN0X2R1cGxpY2F0ZXMoc2VsZik6CisgICAg
ZGVmIHRlc3Rfc2VtYW50aWNfZHVwbGljYXRlcyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRS
YWlzZXMoUGFyc2VFcnJvciwgc2VsZi5wYXJzZV9leHAsICIiIgotQlVHX0VYUCA6IGZhaWx1cmVz
L2V4cGVjdGVkL3RleHQuaHRtbCA9IFRFWFQKLUJVR19FWFAgOiBmYWlsdXJlcy9leHBlY3RlZC90
ZXh0Lmh0bWwgPSBJTUFHRSIiIikKK0JVR19URVNUIDogZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5o
dG1sID0gVEVYVAorQlVHX1RFU1QgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBJTUFH
RSIiIikKIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYXJzZUVycm9yLCBzZWxmLnBhcnNl
X2V4cCwKLSAgICAgICAgICAgIHNlbGYuZ2V0X2Jhc2ljX2V4cGVjdGF0aW9ucygpLCBvdmVycmlk
ZXM9IiIiCi1CVUdfT1ZFUlJJREUgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhU
Ci1CVUdfT1ZFUlJJREUgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBJTUFHRSIiIiwg
KQorICAgICAgICAgICAgc2VsZi5nZXRfYmFzaWNfZXhwZWN0YXRpb25zKCksICIiIgorQlVHX1RF
U1QgOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhUCitCVUdfVEVTVCA6IGZhaWx1
cmVzL2V4cGVjdGVkL3RleHQuaHRtbCA9IElNQUdFIiIiKQogCi0gICAgZGVmIHRlc3RfbWlzc2lu
Z19maWxlKHNlbGYpOgorICAgIGRlZiB0ZXN0X3NlbWFudGljX21pc3NpbmdfZmlsZShzZWxmKToK
ICAgICAgICAgIyBUaGlzIHNob3VsZCBsb2cgYSBub24tZmF0YWwgZXJyb3IuCiAgICAgICAgIHNl
bGYucGFyc2VfZXhwKCdCVUdfVEVTVCA6IG1pc3NpbmdfZmlsZS5odG1sID0gVEVYVCcpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICBsZW4oc2VsZi5fZXhwLl9leHBlY3Rl
ZF9mYWlsdXJlcy5nZXRfbm9uX2ZhdGFsX2Vycm9ycygpKSwgMSkKIAogCi1jbGFzcyBQcmVjZWRl
bmNlVGVzdHMoQmFzZSk6Ci0gICAgZGVmIHRlc3RfZmlsZV9vdmVyX2RpcmVjdG9yeShzZWxmKToK
LSAgICAgICAgIyBUaGlzIHRlc3RzIGhhbmRsaW5nIHByZWNlZGVuY2Ugb2Ygc3BlY2lmaWMgbGlu
ZXMgb3ZlciBkaXJlY3RvcmllcwotICAgICAgICAjIGFuZCB0ZXN0cyBleHBlY3RhdGlvbnMgY292
ZXJpbmcgZW50aXJlIGRpcmVjdG9yaWVzLgotICAgICAgICBleHBfc3RyID0gIiIiCi1CVUdYIDog
ZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0gVEVYVAotQlVHWCBXT05URklYIDogZmFpbHVy
ZXMvZXhwZWN0ZWQgPSBJTUFHRQotIiIiCi0gICAgICAgIHNlbGYucGFyc2VfZXhwKGV4cF9zdHIp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0X2V4cCgnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywg
VEVYVCkKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhwKCdmYWlsdXJlcy9leHBlY3RlZC9jcmFzaC5o
dG1sJywgSU1BR0UpCi0KLSAgICAgICAgZXhwX3N0ciA9ICIiIgotQlVHWCBXT05URklYIDogZmFp
bHVyZXMvZXhwZWN0ZWQgPSBJTUFHRQotQlVHWCA6IGZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRt
bCA9IFRFWFQKLSIiIgotICAgICAgICBzZWxmLnBhcnNlX2V4cChleHBfc3RyKQotICAgICAgICBz
ZWxmLmFzc2VydF9leHAoJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcsIFRFWFQpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0X2V4cCgnZmFpbHVyZXMvZXhwZWN0ZWQvY3Jhc2guaHRtbCcsIElNQUdF
KQotCi0gICAgZGVmIHRlc3RfYW1iaWd1b3VzKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydFJh
aXNlcyhQYXJzZUVycm9yLCBzZWxmLnBhcnNlX2V4cCwgIiIiCi1CVUdfVEVTVCBSRUxFQVNFIDog
cGFzc2VzL3RleHQuaHRtbCA9IFBBU1MKLUJVR19URVNUIE1BQyA6IHBhc3Nlcy90ZXh0Lmh0bWwg
PSBGQUlMCi0iIiIpCi0KLSAgICBkZWYgdGVzdF9tb3JlX21vZGlmaWVycyhzZWxmKToKLSAgICAg
ICAgZXhwX3N0ciA9ICIiIgotQlVHX1RFU1QgUkVMRUFTRSA6IHBhc3Nlcy90ZXh0Lmh0bWwgPSBQ
QVNTCi1CVUdfVEVTVCBNQUMgUkVMRUFTRSA6IHBhc3Nlcy90ZXh0Lmh0bWwgPSBURVhUCi0iIiIK
LSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFyc2VFcnJvciwgc2VsZi5wYXJzZV9leHAsIGV4
cF9zdHIpCisgICAgZGVmIHRlc3Rfb3ZlcnJpZGVzKHNlbGYpOgorICAgICAgICBzZWxmLnBhcnNl
X2V4cChzZWxmLmdldF9iYXNpY19leHBlY3RhdGlvbnMoKSwgIiIiCitCVUdfT1ZFUlJJREUgOiBm
YWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBJTUFHRSIiIikKKyAgICAgICAgc2VsZi5hc3Nl
cnRfZXhwKCdmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLCBJTUFHRSkKIAotICAgIGRlZiB0
ZXN0X29yZGVyX2luX2ZpbGUoc2VsZik6Ci0gICAgICAgIGV4cF9zdHIgPSAiIiIKLUJVR19URVNU
IE1BQyBSRUxFQVNFIDogcGFzc2VzL3RleHQuaHRtbCA9IFRFWFQKLUJVR19URVNUIFJFTEVBU0Ug
OiBwYXNzZXMvdGV4dC5odG1sID0gUEFTUwotIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2Vz
KFBhcnNlRXJyb3IsIHNlbGYucGFyc2VfZXhwLCBleHBfc3RyKQorICAgIGRlZiB0ZXN0X21hdGNo
ZXNfYW5fZXhwZWN0ZWRfcmVzdWx0KHNlbGYpOgogCi0gICAgZGVmIHRlc3RfdmVyc2lvbl9vdmVy
cmlkZXMoc2VsZik6Ci0gICAgICAgIGV4cF9zdHIgPSAiIiIKLUJVR19URVNUIE1BQyA6IHBhc3Nl
cy90ZXh0Lmh0bWwgPSBQQVNTCi1CVUdfVEVTVCBNQUMgTEVPUEFSRCA6IHBhc3Nlcy90ZXh0Lmh0
bWwgPSBURVhUCi0iIiIKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFyc2VFcnJvciwgc2Vs
Zi5wYXJzZV9leHAsIGV4cF9zdHIpCisgICAgICAgIGRlZiBtYXRjaCh0ZXN0LCByZXN1bHQsIHBp
eGVsX3Rlc3RzX2VuYWJsZWQpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2V4cC5tYXRjaGVz
X2FuX2V4cGVjdGVkX3Jlc3VsdCgKKyAgICAgICAgICAgICAgICBzZWxmLmdldF90ZXN0KHRlc3Qp
LCByZXN1bHQsIHBpeGVsX3Rlc3RzX2VuYWJsZWQpCiAKLSAgICBkZWYgdGVzdF9tYWNyb19vdmVy
cmlkZXMoc2VsZik6Ci0gICAgICAgIGV4cF9zdHIgPSAiIiIKLUJVR19URVNUIE1BQyA6IHBhc3Nl
cy90ZXh0Lmh0bWwgPSBQQVNTCi1CVUdfVEVTVCBNQUMtTEVPUEFSRCA6IHBhc3Nlcy90ZXh0Lmh0
bWwgPSBURVhUCi0iIiIKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFyc2VFcnJvciwgc2Vs
Zi5wYXJzZV9leHAsIGV4cF9zdHIpCisgICAgICAgIHNlbGYucGFyc2VfZXhwKHNlbGYuZ2V0X2Jh
c2ljX2V4cGVjdGF0aW9ucygpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobWF0Y2goJ2ZhaWx1
cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcsIFRFWFQsIFRydWUpKQorICAgICAgICBzZWxmLmFzc2Vy
dFRydWUobWF0Y2goJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcsIFRFWFQsIEZhbHNlKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtYXRjaCgnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5o
dG1sJywgQ1JBU0gsIFRydWUpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1hdGNoKCdmYWls
dXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLCBDUkFTSCwgRmFsc2UpKQorICAgICAgICBzZWxmLmFz
c2VydFRydWUobWF0Y2goJ2ZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlX2NoZWNrc3VtLmh0bWwnLCBJ
TUFHRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydWUpKQorICAgICAgICBzZWxm
LmFzc2VydFRydWUobWF0Y2goJ2ZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlX2NoZWNrc3VtLmh0bWwn
LCBQQVNTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFsc2UpKQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUobWF0Y2goJ2ZhaWx1cmVzL2V4cGVjdGVkL2NyYXNoLmh0bWwnLCBTS0lQ
LCBGYWxzZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtYXRjaCgncGFzc2VzL3RleHQuaHRt
bCcsIFBBU1MsIEZhbHNlKSkKIAogCiBjbGFzcyBSZWJhc2VsaW5pbmdUZXN0KEJhc2UpOgpAQCAt
NDA5LDg2ICszNDYsNSBAQCBCVUdfVEVTVCBSRUJBU0VMSU5FIDogZmFpbHVyZXMvZXhwZWN0ZWQv
dGV4dC5odG1sID0gVEVYVAogICAgICAgICAgICAgJ1xuXG4nKQogCiAKLWNsYXNzIE1vZGlmaWVy
VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAg
cG9ydF9vYmogPSBwb3J0LmdldCgndGVzdCcsIE5vbmUpCi0gICAgICAgIHNlbGYuY29uZmlnID0g
cG9ydF9vYmoudGVzdF9jb25maWd1cmF0aW9uKCkKLSAgICAgICAgc2VsZi5tYXRjaGVyID0gTW9k
aWZpZXJNYXRjaGVyKHNlbGYuY29uZmlnKQotCi0gICAgZGVmIG1hdGNoKHNlbGYsIG1vZGlmaWVy
cywgZXhwZWN0ZWRfbnVtX21hdGNoZXM9LTEsIHZhbHVlcz1Ob25lLCBudW1fZXJyb3JzPTApOgot
ICAgICAgICBtYXRjaGVyID0gc2VsZi5tYXRjaGVyCi0gICAgICAgIGlmIHZhbHVlczoKLSAgICAg
ICAgICAgIG1hdGNoZXIgPSBNb2RpZmllck1hdGNoZXIoc2VsZi5GYWtlVGVzdENvbmZpZ3VyYXRp
b24odmFsdWVzKSkKLSAgICAgICAgbWF0Y2hfcmVzdWx0ID0gbWF0Y2hlci5tYXRjaChtb2RpZmll
cnMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1hdGNoX3Jlc3VsdC53YXJuaW5ncyks
IDApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1hdGNoX3Jlc3VsdC5lcnJvcnMpLCBu
dW1fZXJyb3JzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hdGNoX3Jlc3VsdC5udW1fbWF0
Y2hlcywgZXhwZWN0ZWRfbnVtX21hdGNoZXMsCi0gICAgICAgICAgICAgJ21hdGNoKCVzLCAlcykg
cmV0dXJuZWQgLT4gJWQsIGV4cGVjdGVkICVkJyAlCi0gICAgICAgICAgICAgKG1vZGlmaWVycywg
c3RyKHNlbGYuY29uZmlnLnZhbHVlcygpKSwKLSAgICAgICAgICAgICAgbWF0Y2hfcmVzdWx0Lm51
bV9tYXRjaGVzLCBleHBlY3RlZF9udW1fbWF0Y2hlcykpCi0KLSAgICBkZWYgdGVzdF9iYWRfbWF0
Y2hfbW9kaWZpZXIoc2VsZik6Ci0gICAgICAgIHNlbGYubWF0Y2goWydmb28nXSwgbnVtX2Vycm9y
cz0xKQotCi0gICAgZGVmIHRlc3Rfbm9uZShzZWxmKToKLSAgICAgICAgc2VsZi5tYXRjaChbXSwg
MCkKLQotICAgIGRlZiB0ZXN0X29uZShzZWxmKToKLSAgICAgICAgc2VsZi5tYXRjaChbJ2xlb3Bh
cmQnXSwgMSkKLSAgICAgICAgc2VsZi5tYXRjaChbJ21hYyddLCAxKQotICAgICAgICBzZWxmLm1h
dGNoKFsncmVsZWFzZSddLCAxKQotICAgICAgICBzZWxmLm1hdGNoKFsnY3B1J10sIDEpCi0gICAg
ICAgIHNlbGYubWF0Y2goWyd4ODYnXSwgMSkKLSAgICAgICAgc2VsZi5tYXRjaChbJ3hwJ10sIC0x
KQotICAgICAgICBzZWxmLm1hdGNoKFsnZ3B1J10sIC0xKQotICAgICAgICBzZWxmLm1hdGNoKFsn
ZGVidWcnXSwgLTEpCi0KLSAgICBkZWYgdGVzdF90d28oc2VsZik6Ci0gICAgICAgIHNlbGYubWF0
Y2goWydsZW9wYXJkJywgJ3JlbGVhc2UnXSwgMikKLSAgICAgICAgc2VsZi5tYXRjaChbJ3hwJywg
J3JlbGVhc2UnXSwgLTEpCi0gICAgICAgIHNlbGYubWF0Y2goWyd4cCcsICdyZWxlYXNlJ10sIC0x
KQotICAgICAgICBzZWxmLm1hdGNoKFsnc25vd2xlb3BhcmQnLCAnbGVvcGFyZCddLCAxKQotCi0g
ICAgZGVmIHRlc3RfdGhyZWUoc2VsZik6Ci0gICAgICAgIHNlbGYubWF0Y2goWydzbm93bGVvcGFy
ZCcsICdsZW9wYXJkJywgJ3JlbGVhc2UnXSwgMikKLSAgICAgICAgc2VsZi5tYXRjaChbJ2xlb3Bh
cmQnLCAnZGVidWcnLCAneDg2J10sIC0xKQotICAgICAgICBzZWxmLm1hdGNoKFsnbGVvcGFyZCcs
ICdyZWxlYXNlJywgJ3g4NiddLCAzKQotICAgICAgICBzZWxmLm1hdGNoKFsnbGVvcGFyZCcsICdj
cHUnLCAncmVsZWFzZSddLCAzKQotCi0gICAgZGVmIHRlc3RfZm91cihzZWxmKToKLSAgICAgICAg
c2VsZi5tYXRjaChbJ2xlb3BhcmQnLCAncmVsZWFzZScsICdjcHUnLCAneDg2J10sIDQpCi0gICAg
ICAgIHNlbGYubWF0Y2goWydzbm93bGVvcGFyZCcsICdsZW9wYXJkJywgJ3JlbGVhc2UnLCAnY3B1
J10sIDMpCi0gICAgICAgIHNlbGYubWF0Y2goWydzbm93bGVvcGFyZCcsICdsZW9wYXJkJywgJ2Rl
YnVnJywgJ2NwdSddLCAtMSkKLQotICAgIGRlZiB0ZXN0X2Nhc2VfaW5zZW5zaXRpdml0eShzZWxm
KToKLSAgICAgICAgc2VsZi5tYXRjaChbJ01hYyddLCBudW1fZXJyb3JzPTEpCi0gICAgICAgIHNl
bGYubWF0Y2goWydNQUMnXSwgbnVtX2Vycm9ycz0xKQotICAgICAgICBzZWxmLm1hdGNoKFsnbWFj
J10sIDEpCi0KLSAgICBkZWYgdGVzdF9kdXBsaWNhdGVzKHNlbGYpOgotICAgICAgICBzZWxmLm1h
dGNoKFsncmVsZWFzZScsICdyZWxlYXNlJ10sIG51bV9lcnJvcnM9MSkKLSAgICAgICAgc2VsZi5t
YXRjaChbJ21hYy1sZW9wYXJkJywgJ2xlb3BhcmQnXSwgbnVtX2Vycm9ycz0xKQotICAgICAgICBz
ZWxmLm1hdGNoKFsnbWFjLWxlb3BhcmQnLCAnbWFjLWxlb3BhcmQnXSwgbnVtX2Vycm9ycz0xKQot
ICAgICAgICBzZWxmLm1hdGNoKFsneHAnLCAncmVsZWFzZScsICd4cCcsICdyZWxlYXNlJ10sIG51
bV9lcnJvcnM9MikKLSAgICAgICAgc2VsZi5tYXRjaChbJ3JlYmFzZWxpbmUnLCAncmViYXNlbGlu
ZSddLCBudW1fZXJyb3JzPTEpCi0KLSAgICBkZWYgdGVzdF91bmtub3duX29wdGlvbihzZWxmKToK
LSAgICAgICAgc2VsZi5tYXRjaChbJ3ZtcyddLCBudW1fZXJyb3JzPTEpCi0KLSAgICBkZWYgdGVz
dF9kdXBsaWNhdGVfYnVncyhzZWxmKToKLSAgICAgICAgIyBCVUcqIHJlZ2V4ZXMgY2FuIGFwcGVh
ciBtdWx0aXBsZSB0aW1lcy4KLSAgICAgICAgc2VsZi5tYXRjaChbJ2J1Z2ZvbycsICdidWdiYXIn
XSwgMCkKLQotICAgIGRlZiB0ZXN0X2ludmFsaWRfY29tYmluYXRpb25zKHNlbGYpOgotICAgICAg
ICAjIEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSByYWlzZSBhbiBlcnJvciBpbnN0ZWFkIG9m
IE5PX01BVENILgotICAgICAgICBzZWxmLm1hdGNoKFsnbWFjJywgJ3hwJ10sIG51bV9lcnJvcnM9
MCkKLQotICAgIGRlZiB0ZXN0X3JlZ2V4ZXNfYXJlX2lnbm9yZWQoc2VsZik6Ci0gICAgICAgIHNl
bGYubWF0Y2goWydidWcxMjN4eScsICdyZWJhc2VsaW5lJywgJ3dvbnRmaXgnLCAnc2xvdycsICdz
a2lwJ10sIDApCi0KLSAgICBkZWYgdGVzdF9ub25lX2lzX2ludmFsaWQoc2VsZik6Ci0gICAgICAg
IHNlbGYubWF0Y2goWydub25lJ10sIG51bV9lcnJvcnM9MSkKLQotCiBpZiBfX25hbWVfXyA9PSAn
X19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvdGVzdF9ydW5uZXIucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3J1
bm5lci5weQppbmRleCAyZjQ4Nzc3YzRiM2U2ZWE3MDNkOTU1MGU4MzU5NDk4ODc0NjI0YWRmLi41
YjAyYTAwNmQ5OGM1MDQyNGZiNTc3NDk5YjkxMDM4Njg4OTk5NTlhIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3J1bm5l
ci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFj
a2FnZS90ZXN0X3J1bm5lci5weQpAQCAtMjEyLDEzICsyMTIsMjEgQEAgY2xhc3MgVGVzdFJ1bm5l
cjoKIAogICAgIGRlZiBsaW50KHNlbGYpOgogICAgICAgICBsaW50X2ZhaWxlZCA9IEZhbHNlCi0g
ICAgICAgIGZvciB0ZXN0X2NvbmZpZ3VyYXRpb24gaW4gc2VsZi5fcG9ydC5hbGxfdGVzdF9jb25m
aWd1cmF0aW9ucygpOgorCisgICAgICAgICMgQ3JlYXRpbmcgdGhlIGV4cGVjYXRpb25zIGZvciBl
YWNoIHBsYXRmb3JtL2NvbmZpZ3VyYXRpb24gcGFpciBkb2VzCisgICAgICAgICMgYWxsIHRoZSB0
ZXN0IGxpc3QgcGFyc2luZyBhbmQgZW5zdXJlcyBpdCdzIGNvcnJlY3Qgc3ludGF4IChlLmcuIG5v
CisgICAgICAgICMgZHVwZXMpLgorICAgICAgICBmb3IgcGxhdGZvcm1fbmFtZSBpbiBzZWxmLl9w
b3J0LnRlc3RfcGxhdGZvcm1fbmFtZXMoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAg
ICAgICBzZWxmLnBhcnNlX2V4cGVjdGF0aW9ucyhwbGF0Zm9ybV9uYW1lLCBpc19kZWJ1Z19tb2Rl
PVRydWUpCisgICAgICAgICAgICBleGNlcHQgdGVzdF9leHBlY3RhdGlvbnMuUGFyc2VFcnJvcjoK
KyAgICAgICAgICAgICAgICBsaW50X2ZhaWxlZCA9IFRydWUKICAgICAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgICAgICBzZWxmLmxpbnRfZXhwZWN0YXRpb25zKHRlc3RfY29uZmlndXJhdGlvbikK
KyAgICAgICAgICAgICAgICBzZWxmLnBhcnNlX2V4cGVjdGF0aW9ucyhwbGF0Zm9ybV9uYW1lLCBp
c19kZWJ1Z19tb2RlPUZhbHNlKQogICAgICAgICAgICAgZXhjZXB0IHRlc3RfZXhwZWN0YXRpb25z
LlBhcnNlRXJyb3I6CiAgICAgICAgICAgICAgICAgbGludF9mYWlsZWQgPSBUcnVlCi0gICAgICAg
ICAgICAgICAgc2VsZi5fcHJpbnRlci53cml0ZSgiIikKIAorICAgICAgICBzZWxmLl9wcmludGVy
LndyaXRlKCIiKQogICAgICAgICBpZiBsaW50X2ZhaWxlZDoKICAgICAgICAgICAgIF9sb2cuZXJy
b3IoIkxpbnQgZmFpbGVkLiIpCiAgICAgICAgICAgICByZXR1cm4gLTEKQEAgLTIyNiwyOCArMjM0
LDIyIEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgIF9sb2cuaW5mbygiTGludCBzdWNjZWVk
ZWQuIikKICAgICAgICAgcmV0dXJuIDAKIAotICAgIGRlZiBsaW50X2V4cGVjdGF0aW9ucyhzZWxm
LCBjb25maWcpOgotICAgICAgICBwb3J0ID0gc2VsZi5fcG9ydAotICAgICAgICB0ZXN0X2V4cGVj
dGF0aW9ucy5UZXN0RXhwZWN0YXRpb25zKAotICAgICAgICAgICAgcG9ydCwKLSAgICAgICAgICAg
IE5vbmUsCi0gICAgICAgICAgICBwb3J0LnRlc3RfZXhwZWN0YXRpb25zKCksCi0gICAgICAgICAg
ICBjb25maWcsCi0gICAgICAgICAgICBzZWxmLl9vcHRpb25zLmxpbnRfdGVzdF9maWxlcywKLSAg
ICAgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCkpCi0KLSAgICBkZWYg
cGFyc2VfZXhwZWN0YXRpb25zKHNlbGYpOgorICAgIGRlZiBwYXJzZV9leHBlY3RhdGlvbnMoc2Vs
ZiwgdGVzdF9wbGF0Zm9ybV9uYW1lLCBpc19kZWJ1Z19tb2RlKToKICAgICAgICAgIiIiUGFyc2Ug
dGhlIGV4cGVjdGF0aW9ucyBmcm9tIHRoZSB0ZXN0X2xpc3QgZmlsZXMgYW5kIHJldHVybiBhIGRh
dGEKICAgICAgICAgc3RydWN0dXJlIGhvbGRpbmcgdGhlbS4gVGhyb3dzIGFuIGVycm9yIGlmIHRo
ZSB0ZXN0X2xpc3QgZmlsZXMgaGF2ZQogICAgICAgICBpbnZhbGlkIHN5bnRheC4iIiIKLSAgICAg
ICAgcG9ydCA9IHNlbGYuX3BvcnQKKyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5saW50X3Rlc3Rf
ZmlsZXM6CisgICAgICAgICAgICB0ZXN0X2ZpbGVzID0gTm9uZQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgdGVzdF9maWxlcyA9IHNlbGYuX3Rlc3RfZmlsZXMKKworICAgICAgICBleHBlY3Rh
dGlvbnNfc3RyID0gc2VsZi5fcG9ydC50ZXN0X2V4cGVjdGF0aW9ucygpCisgICAgICAgIG92ZXJy
aWRlc19zdHIgPSBzZWxmLl9wb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpCiAgICAg
ICAgIHNlbGYuX2V4cGVjdGF0aW9ucyA9IHRlc3RfZXhwZWN0YXRpb25zLlRlc3RFeHBlY3RhdGlv
bnMoCi0gICAgICAgICAgICBwb3J0LAotICAgICAgICAgICAgc2VsZi5fdGVzdF9maWxlcywKLSAg
ICAgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnMoKSwKLSAgICAgICAgICAgIHBvcnQudGVz
dF9jb25maWd1cmF0aW9uKCksCi0gICAgICAgICAgICBzZWxmLl9vcHRpb25zLmxpbnRfdGVzdF9m
aWxlcywKLSAgICAgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCkpCisg
ICAgICAgICAgICBzZWxmLl9wb3J0LCB0ZXN0X2ZpbGVzLCBleHBlY3RhdGlvbnNfc3RyLCB0ZXN0
X3BsYXRmb3JtX25hbWUsCisgICAgICAgICAgICBpc19kZWJ1Z19tb2RlLCBzZWxmLl9vcHRpb25z
LmxpbnRfdGVzdF9maWxlcywKKyAgICAgICAgICAgIG92ZXJyaWRlcz1vdmVycmlkZXNfc3RyKQor
ICAgICAgICByZXR1cm4gc2VsZi5fZXhwZWN0YXRpb25zCiAKICAgICAjIEZJWE1FOiBUaGlzIG1l
dGhvZCBpcyB3YXkgdG9vIGxvbmcgYW5kIG5lZWRzIHRvIGJlIGJyb2tlbiBpbnRvIHBpZWNlcy4K
ICAgICBkZWYgcHJlcGFyZV9saXN0c19hbmRfcHJpbnRfb3V0cHV0KHNlbGYpOgpAQCAtMzU1LDcg
KzM1Nyw5IEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgICAgICBzZWxmLl90ZXN0X2ZpbGVz
X2xpc3QgPSBmaWxlcyArIHNraXBfY2h1bmtfbGlzdAogICAgICAgICAgICAgc2VsZi5fdGVzdF9m
aWxlcyA9IHNldChzZWxmLl90ZXN0X2ZpbGVzX2xpc3QpCiAKLSAgICAgICAgICAgIHNlbGYucGFy
c2VfZXhwZWN0YXRpb25zKCkKKyAgICAgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9ucyA9IHNlbGYu
cGFyc2VfZXhwZWN0YXRpb25zKAorICAgICAgICAgICAgICAgIHNlbGYuX3BvcnQudGVzdF9wbGF0
Zm9ybV9uYW1lKCksCisgICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5jb25maWd1cmF0aW9u
ID09ICdEZWJ1ZycpCiAKICAgICAgICAgICAgIHNlbGYuX3Rlc3RfZmlsZXMgPSBzZXQoZmlsZXMp
CiAgICAgICAgICAgICBzZWxmLl90ZXN0X2ZpbGVzX2xpc3QgPSBmaWxlcwpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CmluZGV4IDA2MjI1N2Q1
OGQ3ZmFjMGRlODM0NWYyOGQyMmY3MDIwNmFkZTFlY2UuLjk3YjU0Yzk3ZDgxZmZmOTM5OTkxZTZh
ZWIyYTMzMzE2MDg4ODgxNTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Jhc2UucHkKQEAgLTEyMSw3ICsxMjEsNiBAQCBjbGFzcyBQb3J0KG9iamVj
dCk6CiAgICAgICAgIHNlbGYuc2V0X29wdGlvbl9kZWZhdWx0KCdjb25maWd1cmF0aW9uJywgTm9u
ZSkKICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5jb25maWd1cmF0aW9uIGlzIE5vbmU6CiAgICAg
ICAgICAgICBzZWxmLl9vcHRpb25zLmNvbmZpZ3VyYXRpb24gPSBzZWxmLmRlZmF1bHRfY29uZmln
dXJhdGlvbigpCi0gICAgICAgIHNlbGYuX3Rlc3RfY29uZmlndXJhdGlvbiA9IE5vbmUKIAogICAg
IGRlZiBkZWZhdWx0X2NoaWxkX3Byb2Nlc3NlcyhzZWxmKToKICAgICAgICAgIiIiUmV0dXJuIHRo
ZSBudW1iZXIgb2YgRHVtcFJlbmRlclRyZWUgaW5zdGFuY2VzIHRvIHVzZSBmb3IgdGhpcwpAQCAt
NTc1LDE5ICs1NzQsNiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIGlmIHNlbGYuX2h0
dHBfbG9jazoKICAgICAgICAgICAgIHNlbGYuX2h0dHBfbG9jay5jbGVhbnVwX2h0dHBfbG9jaygp
CiAKLSAgICAjCi0gICAgIyBURVNUIEVYUEVDVEFUSU9OLVJFTEFURUQgTUVUSE9EUwotICAgICMK
LQotICAgIGRlZiB0ZXN0X2NvbmZpZ3VyYXRpb24oc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMg
dGhlIGN1cnJlbnQgVGVzdENvbmZpZ3VyYXRpb24gZm9yIHRoZSBwb3J0LiIiIgotICAgICAgICBp
ZiBub3Qgc2VsZi5fdGVzdF9jb25maWd1cmF0aW9uOgotICAgICAgICAgICAgc2VsZi5fdGVzdF9j
b25maWd1cmF0aW9uID0gVGVzdENvbmZpZ3VyYXRpb24oc2VsZikKLSAgICAgICAgcmV0dXJuIHNl
bGYuX3Rlc3RfY29uZmlndXJhdGlvbgotCi0gICAgZGVmIGFsbF90ZXN0X2NvbmZpZ3VyYXRpb25z
KHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi50ZXN0X2NvbmZpZ3VyYXRpb24oKS5hbGxfdGVz
dF9jb25maWd1cmF0aW9ucygpCi0KICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnMoc2VsZik6CiAg
ICAgICAgICIiIlJldHVybnMgdGhlIHRlc3QgZXhwZWN0YXRpb25zIGZvciB0aGlzIHBvcnQuCiAK
QEAgLTg3NCw2OCArODYwLDMgQEAgY2xhc3MgRHJpdmVyOgogCiAgICAgZGVmIHN0b3Aoc2VsZik6
CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ0RyaXZlci5zdG9wJykKLQotCi1j
bGFzcyBUZXN0Q29uZmlndXJhdGlvbihvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBw
b3J0PU5vbmUsIG9zPU5vbmUsIHZlcnNpb249Tm9uZSwgYXJjaGl0ZWN0dXJlPU5vbmUsCi0gICAg
ICAgICAgICAgICAgIGJ1aWxkX3R5cGU9Tm9uZSwgZ3JhcGhpY3NfdHlwZT1Ob25lKToKLQotICAg
ICAgICAjIEZJWE1FOiBXZSBjYW4gZ2V0IHRoZSBPL1MgYW5kIHZlcnNpb24gZnJvbSB0ZXN0X3Bs
YXRmb3JtX25hbWUoKQotICAgICAgICAjIGFuZCB2ZXJzaW9uKCkgZm9yIG5vdywgYnV0IHRob3Nl
IHNob3VsZCBnbyBhd2F5IGFuZCBiZSBjbGVhbmVkIHVwCi0gICAgICAgICMgd2l0aCBtb3JlIGdl
bmVyaWMgbWV0aG9kcyBsaWtlIG9wZXJhdGlvbl9zeXN0ZW0oKSBhbmQgb3NfdmVyc2lvbigpCi0g
ICAgICAgICMgb3Igc29tZXRoaW5nLiBOb3RlIHRoYXQgd2UgbmVlZCB0byBzdHJpcCB0aGUgbGVh
ZGluZyAnLScgb2ZmIHRoZQotICAgICAgICAjIHZlcnNpb24gc3RyaW5nIGlmIGl0IGlzIHByZXNl
bnQuCi0gICAgICAgIGlmIHBvcnQ6Ci0gICAgICAgICAgICBwb3J0X3ZlcnNpb24gPSBwb3J0LnZl
cnNpb24oKQotICAgICAgICBzZWxmLm9zID0gb3Mgb3IgcG9ydC50ZXN0X3BsYXRmb3JtX25hbWUo
KS5yZXBsYWNlKHBvcnRfdmVyc2lvbiwgJycpCi0gICAgICAgIHNlbGYudmVyc2lvbiA9IHZlcnNp
b24gb3IgcG9ydF92ZXJzaW9uWzE6XQotICAgICAgICBzZWxmLmFyY2hpdGVjdHVyZSA9IGFyY2hp
dGVjdHVyZSBvciAneDg2JwotICAgICAgICBzZWxmLmJ1aWxkX3R5cGUgPSBidWlsZF90eXBlIG9y
IHBvcnQuX29wdGlvbnMuY29uZmlndXJhdGlvbi5sb3dlcigpCi0gICAgICAgIHNlbGYuZ3JhcGhp
Y3NfdHlwZSA9IGdyYXBoaWNzX3R5cGUgb3IgJ2NwdScKLQotICAgIGRlZiBpdGVtcyhzZWxmKToK
LSAgICAgICAgcmV0dXJuIHNlbGYuX19kaWN0X18uaXRlbXMoKQotCi0gICAgZGVmIGtleXMoc2Vs
Zik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9fZGljdF9fLmtleXMoKQotCi0gICAgZGVmIF9fc3Ry
X18oc2VsZik6Ci0gICAgICAgIHJldHVybiAoIjwlKHZlcnNpb24pcywgJShidWlsZF90eXBlKXMs
ICUoZ3JhcGhpY3NfdHlwZSlzPiIgJQotICAgICAgICAgICAgICAgIHNlbGYuX19kaWN0X18pCi0K
LSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiVGVzdENvbmZpZyhvcz0n
JShvcylzJywgdmVyc2lvbj0nJSh2ZXJzaW9uKXMnLCBhcmNoaXRlY3R1cmU9JyUoYXJjaGl0ZWN0
dXJlKXMnLCBidWlsZF90eXBlPSclKGJ1aWxkX3R5cGUpcycsIGdyYXBoaWNzX3R5cGU9JyUoZ3Jh
cGhpY3NfdHlwZSlzJykiICUgc2VsZi5fX2RpY3RfXwotCi0gICAgZGVmIHZhbHVlcyhzZWxmKToK
LSAgICAgICAgIiIiUmV0dXJucyB0aGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgb2YgdGhpcyBpbnN0
YW5jZSBhcyBhIHR1cGxlLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fX2RpY3RfXy52YWx1ZXMo
KQotCi0gICAgZGVmIGFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgotICAgICAgICAiIiJS
ZXR1cm5zIGEgc2VxdWVuY2Ugb2YgdGhlIFRlc3RDb25maWd1cmF0aW9ucyB0aGUgcG9ydCBzdXBw
b3J0cy4iIiIKLSAgICAgICAgIyBCeSBkZWZhdWx0LCB3ZSBhc3N1bWUgd2Ugd2FudCB0byB0ZXN0
IGV2ZXJ5IGdyYXBoaWNzIHR5cGUgaW4KLSAgICAgICAgIyBldmVyeSBjb25maWd1cmF0aW9uIG9u
IGV2ZXJ5IHN5c3RlbS4KLSAgICAgICAgdGVzdF9jb25maWd1cmF0aW9ucyA9IFtdCi0gICAgICAg
IGZvciBzeXN0ZW0gaW4gc2VsZi5hbGxfc3lzdGVtcygpOgotICAgICAgICAgICAgZm9yIGJ1aWxk
X3R5cGUgaW4gc2VsZi5hbGxfYnVpbGRfdHlwZXMoKToKLSAgICAgICAgICAgICAgICBmb3IgZ3Jh
cGhpY3NfdHlwZSBpbiBzZWxmLmFsbF9ncmFwaGljc190eXBlcygpOgotICAgICAgICAgICAgICAg
ICAgICB0ZXN0X2NvbmZpZ3VyYXRpb25zLmFwcGVuZChUZXN0Q29uZmlndXJhdGlvbigKLSAgICAg
ICAgICAgICAgICAgICAgICAgIG9zPXN5c3RlbVswXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHZlcnNpb249c3lzdGVtWzFdLAotICAgICAgICAgICAgICAgICAgICAgICAgYXJjaGl0ZWN0dXJl
PXN5c3RlbVsyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3R5cGU9YnVpbGRfdHlw
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGdyYXBoaWNzX3R5cGU9Z3JhcGhpY3NfdHlwZSkp
Ci0gICAgICAgIHJldHVybiB0ZXN0X2NvbmZpZ3VyYXRpb25zCi0KLSAgICBkZWYgYWxsX3N5c3Rl
bXMoc2VsZik6Ci0gICAgICAgIHJldHVybiAoKCdtYWMnLCAnbGVvcGFyZCcsICd4ODYnKSwKLSAg
ICAgICAgICAgICAgICAoJ21hYycsICdzbm93bGVvcGFyZCcsICd4ODYnKSwKLSAgICAgICAgICAg
ICAgICAoJ3dpbicsICd4cCcsICd4ODYnKSwKLSAgICAgICAgICAgICAgICAoJ3dpbicsICd2aXN0
YScsICd4ODYnKSwKLSAgICAgICAgICAgICAgICAoJ3dpbicsICd3aW43JywgJ3g4NicpLAotICAg
ICAgICAgICAgICAgICgnbGludXgnLCAnaGFyZHknLCAneDg2JykpCi0KLSAgICBkZWYgYWxsX2J1
aWxkX3R5cGVzKHNlbGYpOgotICAgICAgICByZXR1cm4gKCdkZWJ1ZycsICdyZWxlYXNlJykKLQot
ICAgIGRlZiBhbGxfZ3JhcGhpY3NfdHlwZXMoc2VsZik6Ci0gICAgICAgIHJldHVybiAoJ2NwdScs
ICdncHUnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW0ucHkKaW5kZXggNWYyYzE1ZjhjMGQwZmRiNmVjNmFiMjM1ODI2YjdlNDYwYWE1
N2M2NS4uYjkwNDIxYWRmZWIwOGIwOTQzMDExOWZmMmVmYmRlMjg0ODVjMzI4ZiAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5
CkBAIC0yNzQsOCArMjc0LDggQEAgY2xhc3MgQ2hyb21pdW1Qb3J0KGJhc2UuUG9ydCk6CiAgICAg
ICAgICAgICBhbGxfdGVzdF9maWxlcy51cGRhdGUoZXh0cmFfdGVzdF9maWxlcykKIAogICAgICAg
ICBleHBlY3RhdGlvbnMgPSB0ZXN0X2V4cGVjdGF0aW9ucy5UZXN0RXhwZWN0YXRpb25zKAotICAg
ICAgICAgICAgc2VsZiwgYWxsX3Rlc3RfZmlsZXMsIGV4cGVjdGF0aW9uc19zdHIsIHNlbGYudGVz
dF9jb25maWd1cmF0aW9uKCksCi0gICAgICAgICAgICBpc19saW50X21vZGU9RmFsc2UsIG92ZXJy
aWRlcz1vdmVycmlkZXNfc3RyKQorICAgICAgICAgICAgc2VsZiwgYWxsX3Rlc3RfZmlsZXMsIGV4
cGVjdGF0aW9uc19zdHIsIHRlc3RfcGxhdGZvcm1fbmFtZSwKKyAgICAgICAgICAgIGlzX2RlYnVn
X21vZGUsIGlzX2xpbnRfbW9kZT1GYWxzZSwgb3ZlcnJpZGVzPW92ZXJyaWRlc19zdHIpCiAgICAg
ICAgIHRlc3RzX2RpciA9IHNlbGYubGF5b3V0X3Rlc3RzX2RpcigpCiAgICAgICAgIHJldHVybiBb
c2VsZi5yZWxhdGl2ZV90ZXN0X2ZpbGVuYW1lKHRlc3QpCiAgICAgICAgICAgICAgICAgZm9yIHRl
c3QgaW4gZXhwZWN0YXRpb25zLmdldF90ZXN0c193aXRoX3Jlc3VsdF90eXBlKHRlc3RfZXhwZWN0
YXRpb25zLlNLSVApXQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IDA0ZWNhNjMwMjgzNjhiODhjZDc2
NWIyYmJhNWMzY2JkMDAyNjQ1ZWMuLmM0YjM2YWNkOTA3OWZkMmZiZTkwOTAxMjAyZDVmOWMwMjVl
Mzg3ZTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvcG9ydF90ZXN0Y2FzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkKQEAgLTk1LDE1ICs5NSwzIEBAIGNsYXNzIFBvcnRU
ZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAg
cG9ydC5zdGFydF93ZWJzb2NrZXRfc2VydmVyKCkKICAgICAgICAgcG9ydC5zdG9wX3dlYnNvY2tl
dF9zZXJ2ZXIoKQotCi0gICAgZGVmIHRlc3RfdGVzdF9jb25maWd1cmF0aW9uKHNlbGYpOgotICAg
ICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQotICAgICAgICBpZiBub3QgcG9ydDoKLSAgICAg
ICAgICAgIHJldHVybgotICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC50ZXN0X2NvbmZpZ3Vy
YXRpb24oKSkKLQotICAgIGRlZiB0ZXN0X2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgot
ICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQotICAgICAgICBpZiBub3QgcG9ydDoKLSAg
ICAgICAgICAgIHJldHVybgotICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKHBvcnQuYWxsX3Rl
c3RfY29uZmlndXJhdGlvbnMoKSkgPiAwKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5CmluZGV4IDY3ZTY4N2MwOTMzMDQ3NmY4MTBjM2Q3ODVi
MDY1MzA4ZWFjMjg1NmYuLjkzNTg4MWMyNzZhMjc2NDU1NjJlNDNlNTExYjJmNGY2ZTFjY2U5MTEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvdGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3Qu
cHkKQEAgLTE1MSw5ICsxNTEsNiBAQCBjbGFzcyBUZXN0UG9ydChiYXNlLlBvcnQpOgogICAgIGRl
ZiBjaGVja19idWlsZChzZWxmLCBuZWVkc19odHRwKToKICAgICAgICAgcmV0dXJuIFRydWUKIAot
ICAgIGRlZiBkZWZhdWx0X2NvbmZpZ3VyYXRpb24oc2VsZik6Ci0gICAgICAgIHJldHVybiAnUmVs
ZWFzZScKLQogICAgIGRlZiBkaWZmX2ltYWdlKHNlbGYsIGV4cGVjdGVkX2NvbnRlbnRzLCBhY3R1
YWxfY29udGVudHMsCiAgICAgICAgICAgICAgICAgICAgZGlmZl9maWxlbmFtZT1Ob25lKToKICAg
ICAgICAgZGlmZmVkID0gYWN0dWFsX2NvbnRlbnRzICE9IGV4cGVjdGVkX2NvbnRlbnRzCkBAIC0z
MDksNyArMzA2LDcgQEAgV09OVEZJWCBTS0lQIDogZmFpbHVyZXMvZXhwZWN0ZWQvZXhjZXB0aW9u
Lmh0bWwgPSBDUkFTSAogICAgICAgICByZXR1cm4gdGVzdF9wbGF0Zm9ybV9uYW1lCiAKICAgICBk
ZWYgdmVyc2lvbihzZWxmKToKLSAgICAgICAgcmV0dXJuICctbGVvcGFyZCcKKyAgICAgICAgcmV0
dXJuICcnCiAKIAogY2xhc3MgVGVzdERyaXZlcihiYXNlLkRyaXZlcik6CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9yZWJhc2VsaW5lX2Nocm9taXVtX3dl
YmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3JlYmFz
ZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5CmluZGV4IGI1YTRlZjVlZGZiNmEwZWVlYzkx
ZWFjY2E2OTI2ODc0ZDExOTc3ZjguLjRkOGI3YzlmNWEyYmQ0Yzc0ZWQ1NmZkNjMxMmJhMTk1YzE2
YzhhNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Jl
YmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5CkBA
IC0xODMsNyArMTgzLDggQEAgY2xhc3MgUmViYXNlbGluZXIob2JqZWN0KToKICAgICAgICAgICAg
IHRlc3RfZXhwZWN0YXRpb25zLlRlc3RFeHBlY3RhdGlvbnMoc2VsZi5fcmViYXNlbGluZV9wb3J0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RhdGlv
bnNfc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl90YXJnZXRfcG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhdGZvcm0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhbHNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWxzZSkKICAgICAgICAgc2VsZi5f
c2NtID0gc2NtLmRlZmF1bHRfc2NtKCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggNGE5M2RiMTc4ZDVk
NjE5Nzc1Nzg2NzA5MmU5OGFkZDE2OWRlOGU2YS4uYzQzMTc2NWFlMmNmZDljNzA3MTBkODNjOWQ1
OTlhOTc4YjUyZTMxNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBkZWYg
cnVuKHBvcnQsIG9wdGlvbnMsIGFyZ3MsIHJlZ3VsYXJfb3V0cHV0PXN5cy5zdGRlcnIsCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgICByYWlzZQogCisgICAgICAgIHByaW50
ZXIucHJpbnRfdXBkYXRlKCJQYXJzaW5nIGV4cGVjdGF0aW9ucyAuLi4iKQogICAgICAgICBpZiBv
cHRpb25zLmxpbnRfdGVzdF9maWxlczoKICAgICAgICAgICAgIHJldHVybiBydW5uZXIubGludCgp
Ci0KLSAgICAgICAgcHJpbnRlci5wcmludF91cGRhdGUoIlBhcnNpbmcgZXhwZWN0YXRpb25zIC4u
LiIpCi0gICAgICAgIHJ1bm5lci5wYXJzZV9leHBlY3RhdGlvbnMoKQorICAgICAgICBydW5uZXIu
cGFyc2VfZXhwZWN0YXRpb25zKHBvcnQudGVzdF9wbGF0Zm9ybV9uYW1lKCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5jb25maWd1cmF0aW9uID09ICdEZWJ1Zycp
CiAKICAgICAgICAgcHJpbnRlci5wcmludF91cGRhdGUoIkNoZWNraW5nIGJ1aWxkIC4uLiIpCiAg
ICAgICAgIGlmIG5vdCBwb3J0LmNoZWNrX2J1aWxkKHJ1bm5lci5uZWVkc19odHRwKCkpOgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVj
dGF0aW9ucy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9l
eHBlY3RhdGlvbnMucHkKaW5kZXggZTM3ZjkwOGI2NGU3ZDVjZDIyMDNlNjU5YzdiNTg4NDBjYjVj
ZjZlYi4uYzg2YjMyY2U1NjU3MjQ1ZGY3ZDNmMjgwOTM2OTMzNTllNTk4NmJhNSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVjdGF0aW9u
cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhw
ZWN0YXRpb25zLnB5CkBAIC03NSw2ICs3NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNDaGVj
a2VyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgIlVzaW5nICd0ZXN0JyBwb3J0LCBi
dXQgcGxhdGZvcm0tc3BlY2lmaWMgZXhwZWN0YXRpb25zICIKICAgICAgICAgICAgICAgICAgICAg
ICAid2lsbCBmYWlsIHRoZSBjaGVjay4iICUgc2VsZi5fZmlsZV9wYXRoKQogICAgICAgICAgICAg
c2VsZi5fcG9ydF9vYmogPSBwb3J0LmdldCgndGVzdCcpCisgICAgICAgIHNlbGYuX3BvcnRfdG9f
Y2hlY2sgPSBzZWxmLl9wb3J0X29iai50ZXN0X3BsYXRmb3JtX25hbWUoKQogICAgICAgICAjIFN1
cHByZXNzIGVycm9yIG1lc3NhZ2VzIG9mIHRlc3RfZXhwZWN0YXRpb25zIG1vZHVsZSBzaW5jZSB0
aGV5IHdpbGwgYmUKICAgICAgICAgIyByZXBvcnRlZCBsYXRlci4KICAgICAgICAgbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoIndlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZS4iCkBA
IC05MCw3ICs5MSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNDaGVja2VyKG9iamVjdCk6CiAg
ICAgICAgIHRyeToKICAgICAgICAgICAgIGV4cGVjdGF0aW9ucyA9IHRlc3RfZXhwZWN0YXRpb25z
LlRlc3RFeHBlY3RhdGlvbnNGaWxlKAogICAgICAgICAgICAgICAgIHBvcnQ9c2VsZi5fcG9ydF9v
YmosIGV4cGVjdGF0aW9ucz1leHBlY3RhdGlvbnNfc3RyLCBmdWxsX3Rlc3RfbGlzdD10ZXN0cywK
LSAgICAgICAgICAgICAgICB0ZXN0X2NvbmZpZz1zZWxmLl9wb3J0X29iai50ZXN0X2NvbmZpZ3Vy
YXRpb24oKSwKKyAgICAgICAgICAgICAgICB0ZXN0X3BsYXRmb3JtX25hbWU9c2VsZi5fcG9ydF90
b19jaGVjaywgaXNfZGVidWdfbW9kZT1GYWxzZSwKICAgICAgICAgICAgICAgICBpc19saW50X21v
ZGU9VHJ1ZSwgb3ZlcnJpZGVzPW92ZXJyaWRlcykKICAgICAgICAgZXhjZXB0IHRlc3RfZXhwZWN0
YXRpb25zLlBhcnNlRXJyb3IsIGVycm9yOgogICAgICAgICAgICAgZXJyID0gZXJyb3IKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3Rh
dGlvbnNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJz
L3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CmluZGV4IDg2OTE1NTdlNzE3YzZmOTU5OTQ4
MjI0NjFkZmU0NDFkYTQ3MTkyYjYuLjk4MTdjNWQ3MDJkM2U2NjFlMDZjYjZhZjc2Yzc4YTc1ZTg3
YzA3MmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMv
dGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQpAQCAtODQsNiAr
ODQsMTUgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc1Rlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNl
KToKIAogICAgIGRlZiB0ZXN0X3ZhbGlkX2V4cGVjdGF0aW9ucyhzZWxmKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRfbGluZXNfbGludCgKKyAgICAgICAgICAgIFsicGFzc2VzL3RleHQuaHRtbCA9IFBB
U1MiXSwKKyAgICAgICAgICAgICIiKQorICAgICAgICBzZWxmLmFzc2VydF9saW5lc19saW50KAor
ICAgICAgICAgICAgWyJwYXNzZXMvdGV4dC5odG1sID0gRkFJTCBQQVNTIl0sCisgICAgICAgICAg
ICAiIikKKyAgICAgICAgc2VsZi5hc3NlcnRfbGluZXNfbGludCgKKyAgICAgICAgICAgIFsicGFz
c2VzL3RleHQuaHRtbCA9IENSQVNIIFRJTUVPVVQgRkFJTCBQQVNTIl0sCisgICAgICAgICAgICAi
IikKKyAgICAgICAgc2VsZi5hc3NlcnRfbGluZXNfbGludCgKICAgICAgICAgICAgIFsiQlVHQ1Ix
MjM0IE1BQyA6IHBhc3Nlcy90ZXh0Lmh0bWwgPSBQQVNTIEZBSUwiXSwKICAgICAgICAgICAgICIi
KQogICAgICAgICBzZWxmLmFzc2VydF9saW5lc19saW50KApAQCAtMTExLDEyICsxMjAsMTIgQEAg
Y2xhc3MgVGVzdEV4cGVjdGF0aW9uc1Rlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBk
ZWYgdGVzdF9tb2RpZmllcl9lcnJvcnMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbmVz
X2xpbnQoCiAgICAgICAgICAgICBbIkJVRzEyMzQgOiBwYXNzZXMvdGV4dC5odG1sID0gRkFJTCJd
LAotICAgICAgICAgICAgIkJVR1xcZCsgaXMgbm90IGFsbG93ZWQsIG11c3QgYmUgb25lIG9mIEJV
R0NSXFxkKywgQlVHV0tcXGQrLCBCVUdWOF9cXGQrLCBvciBhIG5vbi1udW1lcmljIGJ1ZyBpZGVu
dGlmaWVyLiBwYXNzZXMvdGV4dC5odG1sICBbdGVzdC9leHBlY3RhdGlvbnNdIFs1XSIpCisgICAg
ICAgICAgICAnQnVnIG11c3QgYmUgZWl0aGVyIEJVR0NSLCBCVUdXSywgb3IgQlVHVjhfIGZvciB0
ZXN0OiBidWcxMjM0IHBhc3Nlcy90ZXh0Lmh0bWwgIFt0ZXN0L2V4cGVjdGF0aW9uc10gWzVdJykK
IAogICAgIGRlZiB0ZXN0X3ZhbGlkX21vZGlmaWVycyhzZWxmKToKICAgICAgICAgc2VsZi5hc3Nl
cnRfbGluZXNfbGludCgKICAgICAgICAgICAgIFsiSU5WQUxJRC1NT0RJRklFUiA6IHBhc3Nlcy90
ZXh0Lmh0bWwgPSBQQVNTIl0sCi0gICAgICAgICAgICAiVW5yZWNvZ25pemVkIG9wdGlvbiAnaW52
YWxpZC1tb2RpZmllcicgIgorICAgICAgICAgICAgIkludmFsaWQgbW9kaWZpZXIgZm9yIHRlc3Q6
IGludmFsaWQtbW9kaWZpZXIgIgogICAgICAgICAgICAgInBhc3Nlcy90ZXh0Lmh0bWwgIFt0ZXN0
L2V4cGVjdGF0aW9uc10gWzVdIikKICAgICAgICAgc2VsZi5hc3NlcnRfbGluZXNfbGludCgKICAg
ICAgICAgICAgIFsiU0tJUCA6IHBhc3Nlcy90ZXh0Lmh0bWwgPSBQQVNTIl0sCkBAIC0xMjYsMzgg
KzEzNSwzOCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zVGVzdENhc2UodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uX2Vycm9ycyhzZWxmKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRfbGluZXNfbGludCgKICAgICAgICAgICAgIFsibWlzc2luZyBleHBlY3RhdGlvbnMi
XSwKLSAgICAgICAgICAgICJNaXNzaW5nIGEgJzonIG1pc3NpbmcgZXhwZWN0YXRpb25zICBbdGVz
dC9leHBlY3RhdGlvbnNdIFs1XSIpCisgICAgICAgICAgICAiTWlzc2luZyBleHBlY3RhdGlvbnMu
IFsnbWlzc2luZyBleHBlY3RhdGlvbnMnXSAgW3Rlc3QvZXhwZWN0YXRpb25zXSBbNV0iKQogICAg
ICAgICBzZWxmLmFzc2VydF9saW5lc19saW50KAogICAgICAgICAgICAgWyJTTE9XIDogcGFzc2Vz
L3RleHQuaHRtbCA9IFRJTUVPVVQiXSwKICAgICAgICAgICAgICJBIHRlc3QgY2FuIG5vdCBiZSBi
b3RoIHNsb3cgYW5kIHRpbWVvdXQuICIKICAgICAgICAgICAgICJJZiBpdCB0aW1lcyBvdXQgaW5k
ZWZpbml0ZWx5LCB0aGVuIGl0IHNob3VsZCBiZSBqdXN0IHRpbWVvdXQuICIKICAgICAgICAgICAg
ICJwYXNzZXMvdGV4dC5odG1sICBbdGVzdC9leHBlY3RhdGlvbnNdIFs1XSIpCiAgICAgICAgIHNl
bGYuYXNzZXJ0X2xpbmVzX2xpbnQoCi0gICAgICAgICAgICBbIkJVR1dLMSA6IGRvZXMvbm90L2V4
aXN0Lmh0bWwgPSBGQUlMIl0sCisgICAgICAgICAgICBbImRvZXMvbm90L2V4aXN0Lmh0bWwgPSBG
QUlMIl0sCiAgICAgICAgICAgICAiUGF0aCBkb2VzIG5vdCBleGlzdC4gZG9lcy9ub3QvZXhpc3Qu
aHRtbCAgW3Rlc3QvZXhwZWN0YXRpb25zXSBbMl0iKQogCiAgICAgZGVmIHRlc3RfcGFyc2VfZXhw
ZWN0YXRpb25zKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydF9saW5lc19saW50KAotICAgICAg
ICAgICAgWyJCVUdXSzEgOiBwYXNzZXMvdGV4dC5odG1sID0gUEFTUyJdLAorICAgICAgICAgICAg
WyJwYXNzZXMvdGV4dC5odG1sID0gUEFTUyJdLAogICAgICAgICAgICAgIiIpCiAgICAgICAgIHNl
bGYuYXNzZXJ0X2xpbmVzX2xpbnQoCi0gICAgICAgICAgICBbIkJVR1dLMSA6IHBhc3Nlcy90ZXh0
Lmh0bWwgPSBVTlNVUFBPUlRFRCJdLAorICAgICAgICAgICAgWyJwYXNzZXMvdGV4dC5odG1sID0g
VU5TVVBQT1JURUQiXSwKICAgICAgICAgICAgICJVbnN1cHBvcnRlZCBleHBlY3RhdGlvbjogdW5z
dXBwb3J0ZWQgIgogICAgICAgICAgICAgInBhc3Nlcy90ZXh0Lmh0bWwgIFt0ZXN0L2V4cGVjdGF0
aW9uc10gWzVdIikKICAgICAgICAgc2VsZi5hc3NlcnRfbGluZXNfbGludCgKLSAgICAgICAgICAg
IFsiQlVHV0sxIDogcGFzc2VzL3RleHQuaHRtbCA9IFBBU1MgVU5TVVBQT1JURUQiXSwKKyAgICAg
ICAgICAgIFsicGFzc2VzL3RleHQuaHRtbCA9IFBBU1MgVU5TVVBQT1JURUQiXSwKICAgICAgICAg
ICAgICJVbnN1cHBvcnRlZCBleHBlY3RhdGlvbjogdW5zdXBwb3J0ZWQgIgogICAgICAgICAgICAg
InBhc3Nlcy90ZXh0Lmh0bWwgIFt0ZXN0L2V4cGVjdGF0aW9uc10gWzVdIikKIAogICAgIGRlZiB0
ZXN0X2FscmVhZHlfc2Vlbl90ZXN0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydF9saW5lc19s
aW50KAotICAgICAgICAgICAgWyJCVUdXSzEgOiBwYXNzZXMvdGV4dC5odG1sID0gUEFTUyIsCi0g
ICAgICAgICAgICAgIkJVR1dLMSA6IHBhc3Nlcy90ZXh0Lmh0bWwgPSBUSU1FT1VUIl0sCi0gICAg
ICAgICAgICAiRHVwbGljYXRlIG9yIGFtYmlndW91cyBleHBlY3RhdGlvbi4gJXMgIFt0ZXN0L2V4
cGVjdGF0aW9uc10gWzVdIiAlIHNlbGYuX3Rlc3RfZmlsZSkKKyAgICAgICAgICAgIFsicGFzc2Vz
L3RleHQuaHRtbCA9IFBBU1MiLAorICAgICAgICAgICAgICJwYXNzZXMvdGV4dC5odG1sID0gVElN
RU9VVCJdLAorICAgICAgICAgICAgIkR1cGxpY2F0ZSBleHBlY3RhdGlvbi4gJXMgIFt0ZXN0L2V4
cGVjdGF0aW9uc10gWzVdIiAlIHNlbGYuX3Rlc3RfZmlsZSkKIAogICAgIGRlZiB0ZXN0X3RhYihz
ZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRfbGluZXNfbGludCgKLSAgICAgICAgICAgIFsiXHRC
VUdXSzEgOiBwYXNzZXMvdGV4dC5odG1sID0gUEFTUyJdLAorICAgICAgICAgICAgWyJcdHBhc3Nl
cy90ZXh0Lmh0bWwgPSBQQVNTIl0sCiAgICAgICAgICAgICAiTGluZSBjb250YWlucyB0YWIgY2hh
cmFjdGVyLiAgW3doaXRlc3BhY2UvdGFiXSBbNV0iKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>