<?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>226017</bug_id>
          
          <creation_ts>2021-05-20 06:55:23 -0700</creation_ts>
          <short_desc>Run webkitpy integration tests under pytest by default</short_desc>
          <delta_ts>2021-05-25 13:29:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226230</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>224638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Sam Sneddon [:gsnedders]">gsnedders</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761934</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-20 06:55:23 -0700</bug_when>
    <thetext>To do this, we need to make sure we have everything marked as xfail where appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761936</commentid>
    <comment_count>1</comment_count>
      <attachid>429166</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-20 07:01:49 -0700</bug_when>
    <thetext>Created attachment 429166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761944</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-20 07:25:05 -0700</bug_when>
    <thetext>Looks like webkitpy.tool.steps.haslanded_unittest.HasLandedTest.test_run is failing in Python 2 with this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762009</commentid>
    <comment_count>3</comment_count>
      <attachid>429183</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-20 10:06:24 -0700</bug_when>
    <thetext>Created attachment 429183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762425</commentid>
    <comment_count>4</comment_count>
      <attachid>429183</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-21 08:27:20 -0700</bug_when>
    <thetext>Comment on attachment 429183
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=429183&amp;action=review

&gt; Tools/Scripts/webkitpy/tool/steps/haslanded_unittest.py:40
&gt; +    # @unittest.skipUnless(subprocess.call(&apos;which interdiff&apos;, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0, &quot;requires interdiff&quot;)

Can we put a FIXME here with a bug so we don&apos;t forget that this is a problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763615</commentid>
    <comment_count>5</comment_count>
      <attachid>429676</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-05-25 12:29:58 -0700</bug_when>
    <thetext>Created attachment 429676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763655</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-25 13:28:05 -0700</bug_when>
    <thetext>Committed r278040 (238132@main): &lt;https://commits.webkit.org/238132@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429676.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763658</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-25 13:29:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/78473261&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429166</attachid>
            <date>2021-05-20 07:01:49 -0700</date>
            <delta_ts>2021-05-20 10:06:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226017-20210520150147.patch</filename>
            <type>text/plain</type>
            <size>26858</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NjY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmE5NTc2ZTljZTYzNDI0MmI0NjdiNTI5MGVmZWE2Mjlh
YmEwZjk5Ni4uZDNkOTVkMzZkZTUxMTMwZjExN2JhMmU3NmM0YjkzMmM1MzhmYWY3OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYw
IEBACisyMDIxLTA1LTIwICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgUnVuIHdlYmtpdHB5IGludGVncmF0aW9uIHRlc3RzIHVuZGVyIHB5dGVzdCBieSBkZWZh
dWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYw
MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGludm9sdmVzIGFkZGluZyBhIHZhcmlldHkgb2YgbmV3IHhmYWlsIGFubm90YXRpb25zIGFuZCBt
b3Zpbmcgc29tZSB0ZXN0cyB0bworICAgICAgICBiZSBzZXJpYWwgdG8gYXZvaWQgZmxha2luZXNz
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnNf
dW5pdHRlc3QucHk6CisgICAgICAgIChDb21taXR0ZXJzVGVzdCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb25mdGVzdC5weToKKyAgICAgICAgKHB5dGVzdF9hZGRvcHRpb24pOiBSZW1v
dmUgLS1ydW4taW50ZWdyYXRpb24KKyAgICAgICAgKHB5dGVzdF9jb2xsZWN0aW9uX21vZGlmeWl0
ZW1zKTogUmVtb3ZlIC0tcnVuLWludGVncmF0aW9uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHk6CisgICAg
ICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2Jhc2ljKToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFs
X3Rlc3RfYmF0Y2hfc2l6ZSk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2RyeXJ1bik6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2Z1bGxfcmVzdWx0c19odG1sKToKKyAgICAg
ICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3Rfbm9fb3JkZXJfd2l0aF9kaXJlY3RvcnlfZW50cmllc19p
bl9uYXR1cmFsX29yZGVyKToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfZ2NfYmV0d2Vl
bl90ZXN0cyk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2NoZWNrX2Zvcl93b3JsZF9s
ZWFrcyk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2NvbXBsZXhfdGV4dCk6CisgICAg
ICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3RocmVhZGVkKToKKyAgICAgICAgKFJ1blRlc3Quc2Vy
aWFsX3Rlc3RfcnVuX2ZvcmNlKToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfcnVuX3Np
bmdseSk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3NraXBfZmFpbGluZ190ZXN0cyk6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3J1bl9zaW5nbHlfYWN0dWFsbHlfcnVuc190
ZXN0cyk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3N0ZGVycl9pc19zYXZlZCk6Cisg
ICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X2Fic29sdXRlKToK
KyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfcmVzdWx0c19kaXJlY3RvcnlfZGVmYXVsdCk6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X3JlbGF0aXZl
KToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfcnVuX29yZGVyX19pbmxpbmUpOgorICAg
ICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9hZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeSk6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X25vX2h0dHBfYW5kX2ZvcmNlKToKKyAgICAg
ICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3Rfbm9faHR0cF90ZXN0cyk6CisgICAgICAgIChSdW5UZXN0
LnNlcmlhbF90ZXN0X3BsYXRmb3JtX3Rlc3RzX2FyZV9mb3VuZCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9pbnRlZ3JhdGlvbnRl
c3QucHk6CisgICAgICAgIChCYXNlVGVzdCk6CisgICAgICAgIChIVFRQU2VydmVyVGVzdCk6Cisg
ICAgICAgIChIVFRQU2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fbm9ybWFsKToK
KyAgICAgICAgKEhUVFBTZXJ2ZXJUZXN0LmludGVncmF0aW9uX3Rlc3Rfc2VydmVyX19mYWlscyk6
CisgICAgICAgIChIVFRQU2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3BvcnRfYW5kX3Jvb3Qp
OgorICAgICAgICAoV2Vic29ja2V0c2VydmVyVGVzdCk6CisgICAgICAgIChXZWJzb2NrZXRzZXJ2
ZXJUZXN0LmludGVncmF0aW9uX3Rlc3Rfc2VydmVyX19ub3JtYWwpOgorICAgICAgICAoV2Vic29j
a2V0c2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fZmFpbHMpOgorICAgICAgICAo
V2Vic29ja2V0c2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3BvcnRfYW5kX3Jvb3QpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5OgorICAgICAgICAo
UG9ydFRlc3RDYXNlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0
dGVzdC5weToKKyAgICAgICAgKFRlc3RlclRlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdGVzdC9tYXJrZXJzLnB5OgorICAgICAgICAoc2tpcCk6IEFkZCBza2lwCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2hhc2xhbmRlZF91bml0dGVzdC5weToKKyAgICAg
ICAgKEhhc0xhbmRlZFRlc3QpOiBBbHdheXMgc2tpcCB0aGlzLCBhcyBpdCBzZWVtcyB0byBmYWls
IGFsd2F5cworCiAyMDIxLTA1LTE4ICBZb3NoaWFraSBKaXRzdWthd2EgIDx5b3NoaWFraS5qaXRz
dWthd2FAc29ueS5jb20+CiAKICAgICAgICAgW1BsYXlTdGF0aW9uXSBGaXggUGxheVN0YXRpb24g
cG9ydApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2Nv
bW1pdHRlcnNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvY29tbWl0dGVyc191bml0dGVzdC5weQppbmRleCBiMzRmMzlhNzdlODlhYWQwMDhhNWExOTcy
M2U3MGUxNjU2NDJiMDE4Li5lNmIwOTkxNjEyY2M5YjU5YTdhM2Q0NjlkZTAyNzY0YWM1YzFmNDcz
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0
dGVyc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvY29tbWl0dGVyc191bml0dGVzdC5weQpAQCAtMjgsNiArMjgsOCBAQAogaW1wb3J0IHVuaXR0
ZXN0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcuY29tbWl0dGVycyBpbXBvcnQgQ29tbWl0
dGVyTGlzdCwgQ29udHJpYnV0b3IsIENvbW1pdHRlciwgUmV2aWV3ZXIKIAorZnJvbSB3ZWJraXRw
eS50ZXN0Lm1hcmtlcnMgaW1wb3J0IHhmYWlsCisKIAogY2xhc3MgQ29tbWl0dGVyc1Rlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2NvbW1pdHRlcl9sb29rdXAoc2VsZik6CkBA
IC0xNDksNiArMTUxLDcgQEAgY2xhc3MgQ29tbWl0dGVyc1Rlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnYXAnLCAnQWxleGV5IFByb3NrdXJ5
YWtvdicsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdBbGV4ZXkgUCcsICdB
bGV4ZXkgUHJvc2t1cnlha292JywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlv
bl90ZXN0X2NvbnRyaWJ1dG9yc19hbGljZV9saXUoc2VsZik6CiAgICAgICAgICMgc2VsZi5fYXNz
ZXJ0X2Z1enpfbWF0Y2goJ0FsaWNlJywgJ0FsaWNlIExpdScsIDApCiAgICAgICAgIHNlbGYuX2Fz
c2VydF9mdXp6X21hdGNoKCdhbGl1JywgJ0FsaWNlIExpdScsIDApCkBAIC0xODUsNiArMTg4LDcg
QEAgY2xhc3MgQ29tbWl0dGVyc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIHNl
bGYuX2Fzc2VydF9mdXp6X21hdGNoKCdDaHJpcycsICdDaHJpcyBCbHVtZW5iZXJnJywgMCkKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ2NibHUnLCAnQ2hyaXMgQmx1bWVuYmVyZycs
IDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNf
ZGFuX2Jlcm5zdGVpbihzZWxmKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0Rh
bicsIFsnRGFuIFdpbnNoaXAnLCAnRGFuIEJlcm5zdGVpbiddLCAwKQogICAgICAgICBzZWxmLl9h
c3NlcnRfZnV6el9tYXRjaCgnRGFuIEInLCAnRGFuIEJlcm5zdGVpbicsIDApCkBAIC0yMDgsMTAg
KzIxMiwxMiBAQCBjbGFzcyBDb21taXR0ZXJzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdoYXJyaXNvbicsICdEYXZpZCBIYXJyaXNvbics
IDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdEci4gSGFycmlzb24nLCAnRGF2
aWQgSGFycmlzb24nLCA0KQogCisgICAgQHhmYWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3Rf
Y29udHJpYnV0b3JzX2RhdmlkX2hhcnJpc29uXzIoc2VsZik6CiAgICAgICAgIHNlbGYuX2Fzc2Vy
dF9mdXp6X21hdGNoKCdEYXZlIEhhcnJzb24nLCAnRGF2aWQgSGFycmlzb24nLCAzKQogICAgICAg
ICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGF2ZSBIYXJyc2lvbicsICdEYXZpZCBIYXJyaXNv
bicsIDQpICAjIERhbWVyYXUtTGV2ZW5zaHRlaW4gZGlzdGFuY2UgaXMgMwogCisgICAgQHhmYWls
CiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfY29udHJpYnV0b3JzX2RhdmlkX2h5YXR0KHNlbGYp
OgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGF2ZSBIeWF0dCcsICdEYXZpZCBI
eWF0dCcsIDIpCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdEYWRkeSBIeWF0dCcs
ICdEYXZpZCBIeWF0dCcsIDMpCkBAIC0yMTksMTEgKzIyNSwxMyBAQCBjbGFzcyBDb21taXR0ZXJz
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNo
KCdoeWF0dCcsICdEYXZpZCBIeWF0dCcsIDApCiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpf
bWF0Y2goJ0hheXR0JywgJ0RhdmlkIEh5YXR0JywgMCkgICMgV29ya3MgaWYgd2UgaGFkIGltcGxl
bWVudGVkIERhbWVyYXUtTGV2ZW5zaHRlaW4gZGlzdGFuY2UhCiAKKyAgICBAeGZhaWwKICAgICBk
ZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNfZGF2aWRfa2lsemVyKHNlbGYpOgogICAg
ICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGF2ZSBLaWx6ZXInLCAnRGF2aWQgS2lsemVy
JywgMikKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0RhdmlkIEQuIEtpbHplcics
ICdEYXZpZCBLaWx6ZXInLCAzKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnZGRr
aWx6ZXInLCAnRGF2aWQgS2lsemVyJywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3Jh
dGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19kb25fbWVsdG9uKHNlbGYpOgogICAgICAgICBzZWxmLl9h
c3NlcnRfZnV6el9tYXRjaCgnRG9uJywgJ0RvbiBNZWx0b24nLCAwKQogICAgICAgICBzZWxmLl9h
c3NlcnRfZnV6el9tYXRjaCgnR3JhbXBzJywgJ0RvbiBNZWx0b24nLCAwKQpAQCAtMjM0LDYgKzI0
Miw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
IyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnTWFjRG9tZScsICdFcmljIFNlaWRlbCcsIDApCiAg
ICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdlc2VpZGVsJywgJ0VyaWMgU2VpZGVsJywg
MCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19n
ZW9mZnJleV9nYXJlbihzZWxmKToKICAgICAgICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgn
R2VvZicsICdHZW9mZnJleSBHYXJlbicsIDQpCiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpf
bWF0Y2goJ0dlb2ZmJywgJ0dlb2ZmcmV5IEdhcmVuJywgMykKQEAgLTI0Niw2ICsyNTUsNyBAQCBj
bGFzcyBDb21taXR0ZXJzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGludGVncmF0
aW9uX3Rlc3RfY29udHJpYnV0b3JzX2dyZWdfYm9sc2luZ2Eoc2VsZik6CiAgICAgICAgIHBhc3Mg
ICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0dyZWcnLCAnR3JlZyBCb2xzaW5nYScsIDApCiAK
KyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNfaG9sZ2Vy
X2ZyZXl0aGVyKHNlbGYpOgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnSG9sZ2Vy
JywgJ0hvbGdlciBGcmV5dGhlcicsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNo
KCdIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcicsICdIb2xnZXIgRnJleXRoZXInLCAxMSkKQEAg
LTI2MiwxMyArMjcyLDE2IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnanVzdGluJywgJ0p1c3RpbiBH
YXJjaWEnLCAwKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnanVzdGluZycsICdK
dXN0aW4gR2FyY2lhJywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0
X2NvbnRyaWJ1dG9yc19qb3NlcGhfcGVjb3Jhcm8oc2VsZik6CiAgICAgICAgIHNlbGYuX2Fzc2Vy
dF9mdXp6X21hdGNoKCdKb2UgUGVjb3Jhcm8nLCAnSm9zZXBoIFBlY29yYXJvJywgMykKIAorICAg
IEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19rZW5fa29jaWVu
ZGEoc2VsZik6CiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdrZW4nLCAnS2VuIEtv
Y2llbmRhJywgMCkKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ2tvY2llbmRhJywg
J0tlbiBLb2NpZW5kYScsIDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVz
dF9jb250cmlidXRvcnNfa2VubmV0aF9ydXNzZWxsKHNlbGYpOgogICAgICAgICBzZWxmLl9hc3Nl
cnRfZnV6el9tYXRjaCgnS2VuIFJ1c3NlbGwnLCAnS2VubmV0aCBSdXNzZWxsJywgNCkKIApAQCAt
Mjk3LDYgKzMxMCw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ21yb3dlJywgJ01hcmsgUm93ZScsIDAp
CiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0JyaWFuIERhc2gnLCAnTWFyayBS
b3dlJywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1
dG9yc19uaWtvbGFzX3ppbW1lcm1hbm4oc2VsZik6CiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1
enpfbWF0Y2goJ05pa28nLCAnTmlrb2xhcyBaaW1tZXJtYW5uJywgMSkKICAgICAgICAgc2VsZi5f
YXNzZXJ0X2Z1enpfbWF0Y2goJ05pa28gWmltbWVybWFubicsICdOaWtvbGFzIFppbW1lcm1hbm4n
LCAzKQpAQCAtMzQzLDYgKzM1Nyw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnVGltIE8uJywgJ1Rp
bSBPbWVybmljaycsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdUaW0gTycs
ICdUaW0gT21lcm5pY2snLCAwKQogCisgICAgQHhmYWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rl
c3RfY29udHJpYnV0b3JzX3RpbW90aHlfaGF0Y2hlcihzZWxmKToKICAgICAgICAgIyBzZWxmLl9h
c3NlcnRfZnV6el9tYXRjaCgnVGltJywgJ1RpbW90aHkgSGF0Y2hlcicsIDApCiAgICAgICAgICMg
c2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ1RpbSBIJywgJ1RpbW90aHkgSGF0Y2hlcicsIDApCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb25mdGVzdC5weQppbmRleCBlMDNmYTA2Y2NlNjk5NGM3MjI1NGM2OGFh
MzkwNGRhM2QxY2U4NTEwLi4xY2JlZDU0NWRlN2EwOGE4YTc5MDA2YThiZGVkN2ExMjQ0YmRhZjIy
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29uZnRlc3QucHkKQEAgLTM0LDEyICszNCw2IEBAIGRlZiBw
eXRlc3RfY29uZmlndXJlKGNvbmZpZyk6CiAKIAogZGVmIHB5dGVzdF9hZGRvcHRpb24ocGFyc2Vy
KToKLSAgICBwYXJzZXIuYWRkb3B0aW9uKAotICAgICAgICAiLS1ydW4taW50ZWdyYXRpb24iLAot
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICBkZWZhdWx0PUZhbHNlLAotICAg
ICAgICBoZWxwPSJydW4gaW50ZWdyYXRpb24gdGVzdHMiLAotICAgICkKICAgICBwYXJzZXIuYWRk
b3B0aW9uKAogICAgICAgICAiLS1ydW4tc2xvdyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1
bHQ9RmFsc2UsIGhlbHA9InJ1biBzbG93IHRlc3RzIgogICAgICkKQEAgLTEwNSwxNCArOTksNiBA
QCBkZWYgcHl0ZXN0X2NvbGxlY3Rpb25fbW9kaWZ5aXRlbXMoY29uZmlnLCBpdGVtcyk6CiAgICAg
ICAgICAgICBpZiAic2VyaWFsIiBpbiBpdGVtLmtleXdvcmRzOgogICAgICAgICAgICAgICAgIGl0
ZW0uYWRkX21hcmtlcihza2lwX3NlcmlhbCkKIAotICAgIGlmIG5vdCBjb25maWcuZ2V0b3B0aW9u
KCItLXJ1bi1pbnRlZ3JhdGlvbiIpOgotICAgICAgICBza2lwX2ludGVncmF0aW9uID0gcHl0ZXN0
Lm1hcmsuc2tpcCgKLSAgICAgICAgICAgIHJlYXNvbj0ibmVlZCAtLXJ1bi1pbnRlZ3JhdGlvbiBv
cHRpb24gdG8gcnVuIgotICAgICAgICApCi0gICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgotICAg
ICAgICAgICAgaWYgImludGVncmF0aW9uIiBpbiBpdGVtLmtleXdvcmRzOgotICAgICAgICAgICAg
ICAgIGl0ZW0uYWRkX21hcmtlcihza2lwX2ludGVncmF0aW9uKQotCiAgICAgaWYgbm90IGNvbmZp
Zy5nZXRvcHRpb24oIi0tcnVuLXNsb3ciKToKICAgICAgICAgc2tpcF9zbG93ID0gcHl0ZXN0Lm1h
cmsuc2tpcChyZWFzb249Im5lZWQgLS1ydW4tc2xvdyBvcHRpb24gdG8gcnVuIikKICAgICAgICAg
Zm9yIGl0ZW0gaW4gaXRlbXM6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250
ZXN0LnB5CmluZGV4IDE4NDdlNWNiMWUyODM4ZDQ0NjQwMmY5YjZhNTJkOWEwYzQwYjczYmMuLjQ0
YWZiN2VhZjc1MGE3NjgwMDMwZmNhZDkxMWZkMjMyMjdjOTIyNDYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRp
b250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC0xNzYsNyArMTc2LDcgQEAgY2xhc3Mg
UnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
IyBGSVhNRTogTXVsdGlwcm9jZXNzaW5nIGRvZXNuJ3QgZG8gd2VsbCB3aGVuIG5lc3RlZCBpbiBQ
eXRob24gMyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTI4MCkK
ICAgICAgICAgc2VsZi5zaG91bGRfdGVzdF9wcm9jZXNzZXMgPSBub3Qgc2VsZi5fcGxhdGZvcm0u
aXNfd2luKCkgYW5kIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMCkKIAotICAgIGRlZiB0ZXN0X2Jh
c2ljKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9iYXNpYyhzZWxmKToKICAgICAgICAgb3B0
aW9ucywgYXJncyA9IHBhcnNlX2FyZ3ModGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKICAgICAgICAgbG9n
Z2luZ19zdHJlYW0gPSBTdHJpbmdJTygpCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCkBAIC0y
MDgsNyArMjA4LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVz
dGluZ01peGluKToKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhvc3QudXNlci5vcGVuZWRf
dXJscywgW3BhdGguYWJzcGF0aF90b191cmkoTW9ja0hvc3QoKS5wbGF0Zm9ybSwgJy90bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9yZXN1bHRzLmh0bWwnKV0pCiAKLSAgICBkZWYgdGVzdF9iYXRjaF9z
aXplKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9iYXRjaF9zaXplKHNlbGYpOgogICAgICAg
ICBiYXRjaF90ZXN0c19ydW4gPSBnZXRfdGVzdF9iYXRjaGVzKFsnLS1iYXRjaC1zaXplJywgJzIn
XSkKICAgICAgICAgZm9yIGJhdGNoIGluIGJhdGNoX3Rlc3RzX3J1bjoKICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShsZW4oYmF0Y2gpIDw9IDIsICclcyBoYWQgdG9vIG1hbnkgdGVzdHMnICUg
JywgJy5qb2luKGJhdGNoKSkKQEAgLTIyNiw3ICsyMjYsNyBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAgICAgICAgIHRlc3Rz
X2luY2x1ZGVkPVRydWUsIHNoYXJlZF9wb3J0PUZhbHNlKQogICAgICAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKGFueShbJ1J1bm5pbmcgMSAnIGluIGxpbmUgZm9yIGxpbmUgaW4gcmVndWxhcl9vdXRw
dXQuZ2V0dmFsdWUoKS5zcGxpdGxpbmVzKCldKSkKIAotICAgIGRlZiB0ZXN0X2RyeXJ1bihzZWxm
KToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfZHJ5cnVuKHNlbGYpOgogICAgICAgICB0ZXN0c19ydW4g
PSBnZXRfdGVzdHNfcnVuKFsnLS1kcnktcnVuJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
dGVzdHNfcnVuLCBbXSkKIApAQCAtMjUwLDcgKzI1MCw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRl
c3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgICAgICBzZWxmLmFzc2Vy
dFJhaXNlcyhCYXNlRXhjZXB0aW9uLCBsb2dnaW5nX3J1biwKICAgICAgICAgICAgICAgICBbJy0t
Y2hpbGQtcHJvY2Vzc2VzJywgJzInLCAnLS1mb3JjZScsICdmYWlsdXJlcy9leHBlY3RlZC9leGNl
cHRpb24uaHRtbCcsICdwYXNzZXMvdGV4dC5odG1sJ10sIHRlc3RzX2luY2x1ZGVkPVRydWUsIHNo
YXJlZF9wb3J0PUZhbHNlKQogCi0gICAgZGVmIHRlc3RfZnVsbF9yZXN1bHRzX2h0bWwoc2VsZik6
CisgICAgZGVmIHNlcmlhbF90ZXN0X2Z1bGxfcmVzdWx0c19odG1sKHNlbGYpOgogICAgICAgICAj
IEZJWE1FOiB2ZXJpZnkgaHRtbD8KICAgICAgICAgZGV0YWlscywgXywgXyA9IGxvZ2dpbmdfcnVu
KFsnLS1mdWxsLXJlc3VsdHMtaHRtbCddKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRldGFp
bHMuZXhpdF9jb2RlLCAwKQpAQCAtMzA4LDIxICszMDgsMjEgQEAgY2xhc3MgUnVuVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgdGVzdHNfcnVuID0g
Z2V0X3Rlc3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9fcnVuKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHRlc3RzX3RvX3J1biwgdGVzdHNfcnVuKQogCi0gICAgZGVmIHRlc3Rf
bm9fb3JkZXJfd2l0aF9kaXJlY3RvcnlfZW50cmllc19pbl9uYXR1cmFsX29yZGVyKHNlbGYpOgor
ICAgIGRlZiBzZXJpYWxfdGVzdF9ub19vcmRlcl93aXRoX2RpcmVjdG9yeV9lbnRyaWVzX2luX25h
dHVyYWxfb3JkZXIoc2VsZik6CiAgICAgICAgIHRlc3RzX3RvX3J1biA9IFsnaHR0cC90ZXN0cy9z
c2wnLCAnaHR0cC90ZXN0cy9wYXNzZXMnXQogICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNf
cnVuKFsnLS1vcmRlcj1ub25lJ10gKyB0ZXN0c190b19ydW4pCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwodGVzdHNfcnVuLCBbJ2h0dHAvdGVzdHMvc3NsL3RleHQuaHRtbCcsICdodHRwL3Rlc3Rz
L3Bhc3Nlcy9pbWFnZS5odG1sJywgJ2h0dHAvdGVzdHMvcGFzc2VzL3RleHQuaHRtbCddKQogCi0g
ICAgZGVmIHRlc3RfZ2NfYmV0d2Vlbl90ZXN0cyhzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3Rf
Z2NfYmV0d2Vlbl90ZXN0cyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhc3Npbmdf
cnVuKFsnLS1nYy1iZXR3ZWVuLXRlc3RzJ10pKQogCi0gICAgZGVmIHRlc3RfY2hlY2tfZm9yX3dv
cmxkX2xlYWtzKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9jaGVja19mb3Jfd29ybGRfbGVh
a3Moc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihbJy0td29ybGQt
bGVha3MnXSkpCiAKLSAgICBkZWYgdGVzdF9jb21wbGV4X3RleHQoc2VsZik6CisgICAgZGVmIHNl
cmlhbF90ZXN0X2NvbXBsZXhfdGV4dChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBh
c3NpbmdfcnVuKFsnLS1jb21wbGV4LXRleHQnXSkpCiAKLSAgICBkZWYgdGVzdF90aHJlYWRlZChz
ZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfdGhyZWFkZWQoc2VsZik6CiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihbJy0tdGhyZWFkZWQnXSkpCiAKICAgICBkZWYgdGVzdF9y
ZXBlYXRfZWFjaChzZWxmKToKQEAgLTM4MSw3ICszODEsNyBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBjaHVua190ZXN0c19y
dW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1ydW4tY2h1bmsnLCAnMTozJywgJy0tc2tpcHBlZCcsICdh
bHdheXMnXSArIHRlc3RzX3RvX3J1bikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ3Bhc3Nl
cy90ZXh0Lmh0bWwnLCAncGFzc2VzL2Vycm9yLmh0bWwnLCAncGFzc2VzL2ltYWdlLmh0bWwnXSwg
Y2h1bmtfdGVzdHNfcnVuKQogCi0gICAgZGVmIHRlc3RfcnVuX2ZvcmNlKHNlbGYpOgorICAgIGRl
ZiBzZXJpYWxfdGVzdF9ydW5fZm9yY2Uoc2VsZik6CiAgICAgICAgICMgVGhpcyByYWlzZXMgYW4g
ZXhjZXB0aW9uIGJlY2F1c2Ugd2UgcnVuCiAgICAgICAgICMgZmFpbHVyZXMvZXhwZWN0ZWQvZXhj
ZXB0aW9uLmh0bWwsIHdoaWNoIGlzIG5vcm1hbGx5IFNLSVBwZWQuCiAKQEAgLTM5OSwxMiArMzk5
LDEyIEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhp
bik6CiAgICAgICAgIGNodW5rX3Rlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLXJ1bi1wYXJ0
JywgJzM6MycsICctLXNraXBwZWQnLCAnYWx3YXlzJ10gKyB0ZXN0c190b19ydW4pCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoWydwYXNzZXMvZXJyb3IuaHRtbCcsICdwYXNzZXMvaW1hZ2UuaHRt
bCddLCBjaHVua190ZXN0c19ydW4pCiAKLSAgICBkZWYgdGVzdF9ydW5fc2luZ2x5KHNlbGYpOgor
ICAgIGRlZiBzZXJpYWxfdGVzdF9ydW5fc2luZ2x5KHNlbGYpOgogICAgICAgICBiYXRjaF90ZXN0
c19ydW4gPSBnZXRfdGVzdF9iYXRjaGVzKFsnLS1ydW4tc2luZ2x5J10pCiAgICAgICAgIGZvciBi
YXRjaCBpbiBiYXRjaF90ZXN0c19ydW46CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxl
bihiYXRjaCksIDEsICclcyBoYWQgdG9vIG1hbnkgdGVzdHMnICUgJywgJy5qb2luKGJhdGNoKSkK
IAotICAgIGRlZiB0ZXN0X3NraXBfZmFpbGluZ190ZXN0cyhzZWxmKToKKyAgICBkZWYgc2VyaWFs
X3Rlc3Rfc2tpcF9mYWlsaW5nX3Rlc3RzKHNlbGYpOgogICAgICAgICAjIFRoaXMgdGVzdHMgdGhh
dCB3ZSBza2lwIGJvdGgga25vd24gZmFpbGluZyBhbmQga25vd24gZmxha3kgdGVzdHMuIEJlY2F1
c2UgdGhlcmUgYXJlCiAgICAgICAgICMgbm8ga25vd24gZmxha3kgdGVzdHMgaW4gdGhlIGRlZmF1
bHQgdGVzdF9leHBlY3RhdGlvbnMsIHdlIGFkZCBhZGRpdGlvbmFsIGV4cGVjdGF0aW9ucy4KICAg
ICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKQEAgLTQxOCw3ICs0MTgsNyBAQCBjbGFzcyBSdW5UZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAgICAgaGFz
X3Bhc3Nlc190ZXh0ID0gaGFzX3Bhc3Nlc190ZXh0IG9yICgncGFzc2VzL3RleHQuaHRtbCcgaW4g
YmF0Y2gpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNfcGFzc2VzX3RleHQpCiAKLSAgICBk
ZWYgdGVzdF9ydW5fc2luZ2x5X2FjdHVhbGx5X3J1bnNfdGVzdHMoc2VsZik6CisgICAgZGVmIHNl
cmlhbF90ZXN0X3J1bl9zaW5nbHlfYWN0dWFsbHlfcnVuc190ZXN0cyhzZWxmKToKICAgICAgICAg
ZGV0YWlscywgXywgXyA9IGxvZ2dpbmdfcnVuKFsnLS1ydW4tc2luZ2x5J10sIHRlc3RzX2luY2x1
ZGVkPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGV0YWlscy5leGl0X2NvZGUsIHRl
c3QuVU5FWFBFQ1RFRF9GQUlMVVJFUyAtIDEpICAjIGZhaWx1cmVzL2V4cGVjdGVkL2hhbmcuaHRt
bCBhY3R1YWxseSBwYXNzZXMgdy8gLS1ydW4tc2luZ2x5LgogCkBAIC00MzQsNyArNDM0LDcgQEAg
Y2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAg
ICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ2ZhaWx1cmVzL2V4cGVjdGVkL2tleWJh
b3JkLmh0bWwnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbXSwgdGVzdHNfcnVuKQogCi0g
ICAgZGVmIHRlc3Rfc3RkZXJyX2lzX3NhdmVkKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9z
dGRlcnJfaXNfc2F2ZWQoc2VsZik6CiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihob3N0PWhvc3QpKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZSgnL3RtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3Bhc3Nlcy9lcnJvci1zdGRlcnIudHh0JyksCkBAIC02NjEsNyArNjYxLDcgQEAg
Y2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAg
ICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ2ZhaWx1cmVzL2V4cGVjdGVkL2NyYXNo
Lmh0bWwnLCAncGFzc2VzL3RleHQuaHRtbCcsICctLWV4aXQtYWZ0ZXItbi1jcmFzaGVzLW9yLXRp
bWVvdXRzJywgJzEnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ2ZhaWx1cmVzL2V4cGVj
dGVkL2NyYXNoLmh0bWwnLCAncGFzc2VzL3RleHQuaHRtbCddLCB0ZXN0c19ydW4pCiAKLSAgICBk
ZWYgdGVzdF9yZXN1bHRzX2RpcmVjdG9yeV9hYnNvbHV0ZShzZWxmKToKKyAgICBkZWYgc2VyaWFs
X3Rlc3RfcmVzdWx0c19kaXJlY3RvcnlfYWJzb2x1dGUoc2VsZik6CiAgICAgICAgICMgV2UgcnVu
IGEgY29uZmlndXJhdGlvbiB0aGF0IHNob3VsZCBmYWlsLCB0byBnZW5lcmF0ZSBvdXRwdXQsIHRo
ZW4KICAgICAgICAgIyBsb29rIGZvciB3aGF0IHRoZSBvdXRwdXQgcmVzdWx0cyB1cmwgd2FzLgog
CkBAIC02NzAsNyArNjcwLDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3Ry
ZWFtVGVzdGluZ01peGluKToKICAgICAgICAgICAgIF8sIF8sIHVzZXIgPSBsb2dnaW5nX3J1bihb
Jy0tcmVzdWx0cy1kaXJlY3Rvcnk9JyArIHN0cih0bXBkaXIpXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1
ZSwgaG9zdD1ob3N0KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1c2VyLm9wZW5lZF91
cmxzLCBbcGF0aC5hYnNwYXRoX3RvX3VyaShob3N0LnBsYXRmb3JtLCBob3N0LmZpbGVzeXN0ZW0u
am9pbih0bXBkaXIsICdyZXN1bHRzLmh0bWwnKSldKQogCi0gICAgZGVmIHRlc3RfcmVzdWx0c19k
aXJlY3RvcnlfZGVmYXVsdChzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfcmVzdWx0c19kaXJl
Y3RvcnlfZGVmYXVsdChzZWxmKToKICAgICAgICAgIyBXZSBydW4gYSBjb25maWd1cmF0aW9uIHRo
YXQgc2hvdWxkIGZhaWwsIHRvIGdlbmVyYXRlIG91dHB1dCwgdGhlbgogICAgICAgICAjIGxvb2sg
Zm9yIHdoYXQgdGhlIG91dHB1dCByZXN1bHRzIHVybCB3YXMuCiAKQEAgLTY3OCw3ICs2NzgsNyBA
QCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgog
ICAgICAgICBfLCBfLCB1c2VyID0gbG9nZ2luZ19ydW4odGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1c2VyLm9wZW5lZF91cmxzLCBbcGF0aC5hYnNwYXRoX3Rv
X3VyaShNb2NrSG9zdCgpLnBsYXRmb3JtLCAnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3Vs
dHMuaHRtbCcpXSkKIAotICAgIGRlZiB0ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X3JlbGF0aXZlKHNl
bGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9yZXN1bHRzX2RpcmVjdG9yeV9yZWxhdGl2ZShzZWxm
KToKICAgICAgICAgIyBXZSBydW4gYSBjb25maWd1cmF0aW9uIHRoYXQgc2hvdWxkIGZhaWwsIHRv
IGdlbmVyYXRlIG91dHB1dCwgdGhlbgogICAgICAgICAjIGxvb2sgZm9yIHdoYXQgdGhlIG91dHB1
dCByZXN1bHRzIHVybCB3YXMuCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCkBAIC03NDQsNyAr
NzQ0LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01p
eGluKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhvc3QuZmlsZXN5c3RlbS5leGlzdHMoJy90
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYWlsdXJlcy91bmV4cGVjdGVkL3RleHQtaW1hZ2UtY2hl
Y2tzdW0tYWN0dWFsLnR4dCcpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaG9zdC5maWxlc3lz
dGVtLmV4aXN0cygnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvZmFpbHVyZXMvdW5l
eHBlY3RlZC90ZXh0LWltYWdlLWNoZWNrc3VtLWFjdHVhbC50eHQnKSkKIAotICAgIGRlZiB0ZXN0
X3J1bl9vcmRlcl9faW5saW5lKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9ydW5fb3JkZXJf
X2lubGluZShzZWxmKToKICAgICAgICAgIyBUaGVzZSBuZXh0IHRlc3RzIHRlc3QgdGhhdCB3ZSBy
dW4gdGhlIHRlc3RzIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwKICAgICAgICAgIyBvcmRlciBw
ZXIgZGlyZWN0b3J5LiBIVFRQIHRlc3RzIGFyZSBzaGFyZGVkIHNlcGFyYXRlbHkgZnJvbSBvdGhl
ciB0ZXN0cywKICAgICAgICAgIyBzbyB3ZSBoYXZlIHRvIHRlc3QgYm90aC4KQEAgLTgwNyw3ICs4
MDcsNyBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4
aW4pOgogICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdF9yZXN1bHRzKFsncGFzc2VzL21pc21h
dGNoLmh0bWwnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0c19ydW5bMF0ucmVmZXJl
bmNlcywgWydwYXNzZXMvbWlzbWF0Y2gtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCddKQogCi0gICAg
ZGVmIHRlc3RfYWRkaXRpb25hbF9wbGF0Zm9ybV9kaXJlY3Rvcnkoc2VsZik6CisgICAgZGVmIHNl
cmlhbF90ZXN0X2FkZGl0aW9uYWxfcGxhdGZvcm1fZGlyZWN0b3J5KHNlbGYpOgogICAgICAgICBz
ZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4oWyctLWFkZGl0aW9uYWwtcGxhdGZvcm0tZGlyZWN0
b3J5JywgJy90bXAvZm9vJ10pKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4o
WyctLWFkZGl0aW9uYWwtcGxhdGZvcm0tZGlyZWN0b3J5JywgJy90bXAvLi4vZm9vJ10pKQogICAg
ICAgICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4oWyctLWFkZGl0aW9uYWwtcGxhdGZvcm0t
ZGlyZWN0b3J5JywgJy90bXAvZm9vJywgJy0tYWRkaXRpb25hbC1wbGF0Zm9ybS1kaXJlY3Rvcnkn
LCAnL3RtcC9iYXInXSkpCkBAIC04MTksNyArODE5LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KHBhc3NpbmdfcnVuKFsnLS1hZGRpdGlvbmFsLWV4cGVjdGF0aW9ucycsICcvdG1wL292ZXJyaWRl
cy50eHQnLCAnZmFpbHVyZXMvdW5leHBlY3RlZC9taXNtYXRjaC5odG1sJ10sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3Qp
KQogCi0gICAgZGVmIHRlc3Rfbm9faHR0cF9hbmRfZm9yY2Uoc2VsZik6CisgICAgZGVmIHNlcmlh
bF90ZXN0X25vX2h0dHBfYW5kX2ZvcmNlKHNlbGYpOgogICAgICAgICAjIFNlZSB0ZXN0X3J1bl9m
b3JjZSwgdXNpbmcgLS1mb3JjZSByYWlzZXMgYW4gZXhjZXB0aW9uLgogICAgICAgICAjIEZJWE1F
OiBXZSB3b3VsZCBsaWtlIHRvIGNoZWNrIHRoZSB3YXJuaW5ncyBnZW5lcmF0ZWQuCiAgICAgICAg
IHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGxvZ2dpbmdfcnVuLCBbJy0tZm9yY2UnLCAn
LS1uby1odHRwJ10pCkBAIC04MjgsNyArODI4LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICBkZWYgaGFzX3Rlc3Rfb2ZfdHlwZSh0
ZXN0cywgdHlwZSk6CiAgICAgICAgIHJldHVybiBbdGVzdCBmb3IgdGVzdCBpbiB0ZXN0cyBpZiB0
eXBlIGluIHRlc3RdCiAKLSAgICBkZWYgdGVzdF9ub19odHRwX3Rlc3RzKHNlbGYpOgorICAgIGRl
ZiBzZXJpYWxfdGVzdF9ub19odHRwX3Rlc3RzKHNlbGYpOgogICAgICAgICBiYXRjaF90ZXN0c19k
cnlydW4gPSBnZXRfdGVzdHNfcnVuKFsnTGF5b3V0VGVzdHMvaHR0cCcsICd3ZWJzb2NrZXQvJ10p
CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShSdW5UZXN0Lmhhc190ZXN0X29mX3R5cGUoYmF0Y2hf
dGVzdHNfZHJ5cnVuLCAnaHR0cCcpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoUnVuVGVzdC5o
YXNfdGVzdF9vZl90eXBlKGJhdGNoX3Rlc3RzX2RyeXJ1biwgJ3dlYnNvY2tldCcpKQpAQCAtODQx
LDcgKzg0MSw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3Rp
bmdNaXhpbik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShSdW5UZXN0Lmhhc190ZXN0X29mX3R5
cGUoYmF0Y2hfdGVzdHNfcnVuX2h0dHAsICdodHRwJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShSdW5UZXN0Lmhhc190ZXN0X29mX3R5cGUoYmF0Y2hfdGVzdHNfcnVuX2h0dHAsICd3ZWJzb2Nr
ZXQnKSkKIAotICAgIGRlZiB0ZXN0X3BsYXRmb3JtX3Rlc3RzX2FyZV9mb3VuZChzZWxmKToKKyAg
ICBkZWYgc2VyaWFsX3Rlc3RfcGxhdGZvcm1fdGVzdHNfYXJlX2ZvdW5kKHNlbGYpOgogICAgICAg
ICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1wbGF0Zm9ybScsICd0ZXN0LW1hYy1sZW9w
YXJkJywgJ2h0dHAnXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdwbGF0Zm9ybS90ZXN0LW1h
Yy1sZW9wYXJkL2h0dHAvdGVzdC5odG1sJyBpbiB0ZXN0c19ydW4pCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoJ3BsYXRmb3JtL3Rlc3Qtd2luLXdpbjcvaHR0cC90ZXN0Lmh0bWwnIGluIHRlc3Rz
X3J1bikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Nl
cnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9pbnRlZ3JhdGlvbnRlc3QucHkK
aW5kZXggNmM5ZmMyYjY5OWIwMTZkOTlmMDMxNjhmNDZlOWVkNjU0MjdlYzk2Yi4uNDU2ZmQ1MmZk
ZDNiNmQwMTZlZDIwMTc3ODRlMTVjYjc0M2ViYjNlYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9pbnRlZ3JhdGlvbnRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9o
dHRwX3NlcnZlcl9pbnRlZ3JhdGlvbnRlc3QucHkKQEAgLTM4LDkgKzM4LDE0IEBAIGltcG9ydCBz
eXMKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0CiAKK2Zyb20gY29weSBpbXBvcnQg
Y29weQorCitmcm9tIHdlYmtpdHB5LnRlc3QubWFya2VycyBpbXBvcnQgc2xvdywgeGZhaWwsIHNr
aXAKKwogCiBjbGFzcyBCYXNlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIiIiQmFzaWMg
ZnJhbWV3b3JrIGZvciBzY3JpcHQgdGVzdHMuIiIiCisgICAgX19weXRlc3Rfbm9fcmV3cml0ZV9f
ID0gVHJ1ZQogICAgIEhPU1QgPSAnbG9jYWxob3N0JwogCiAgICAgIyBPdmVycmlkZSBpbiBhY3R1
YWwgdGVzdCBjbGFzc2VzLgpAQCAtMTMyLDE0ICsxMzcsNDEgQEAgY2xhc3MgQmFzZVRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogCiBjbGFzcyBIVFRQU2VydmVyVGVzdChCYXNlVGVzdCk6CiAgICAg
IiIiVGVzdHMgdGhhdCBuZXctcnVuLXdlYmtpdC1odHRwIG11c3QgcGFzcy4iIiIKKyAgICBfX3B5
dGVzdF9ub19yZXdyaXRlX18gPSBGYWxzZQogCiAgICAgUE9SVFMgPSAoODAwMCwgODA4MCwgODQ0
MykKICAgICBTQ1JJUFRfTkFNRSA9ICduZXctcnVuLXdlYmtpdC1odHRwZCcKIAorICAgIEB4ZmFp
bAorICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fbm9ybWFsKHNlbGYpOgorICAgICAg
ICByZXR1cm4gc3VwZXIoSFRUUFNlcnZlclRlc3QsIHNlbGYpLmludGVncmF0aW9uX3Rlc3Rfc2Vy
dmVyX19ub3JtYWwoKQorCisgICAgQHhmYWlsCisgICAgZGVmIGludGVncmF0aW9uX3Rlc3Rfc2Vy
dmVyX19mYWlscyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHN1cGVyKEhUVFBTZXJ2ZXJUZXN0LCBz
ZWxmKS5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fZmFpbHMoKQorCisgICAgQHhmYWlsCisgICAg
ZGVmIGludGVncmF0aW9uX3Rlc3RfcG9ydF9hbmRfcm9vdChzZWxmKToKKyAgICAgICAgcmV0dXJu
IHN1cGVyKEhUVFBTZXJ2ZXJUZXN0LCBzZWxmKS5pbnRlZ3JhdGlvbl90ZXN0X3BvcnRfYW5kX3Jv
b3QoKQorCiAKIGNsYXNzIFdlYnNvY2tldHNlcnZlclRlc3QoQmFzZVRlc3QpOgogICAgICIiIlRl
c3RzIHRoYXQgbmV3LXJ1bi13ZWJraXQtd2Vic29ja2V0c2VydmVyIG11c3QgcGFzcy4iIiIKKyAg
ICBfX3B5dGVzdF9ub19yZXdyaXRlX18gPSBGYWxzZQogCiAgICAgIyBGSVhNRTogdGVzdCBUTFMg
YXQgc29tZSBwb2ludD8KICAgICBQT1JUUyA9ICg4ODgwLCApCiAgICAgU0NSSVBUX05BTUUgPSAn
bmV3LXJ1bi13ZWJraXQtd2Vic29ja2V0c2VydmVyJworCisgICAgQHNraXAoImZsYWt5IikKKyAg
ICBkZWYgaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX25vcm1hbChzZWxmKToKKyAgICAgICAgcmV0
dXJuIHN1cGVyKFdlYnNvY2tldHNlcnZlclRlc3QsIHNlbGYpLmludGVncmF0aW9uX3Rlc3Rfc2Vy
dmVyX19ub3JtYWwoKQorCisgICAgQHNraXAoImZsYWt5IikKKyAgICBkZWYgaW50ZWdyYXRpb25f
dGVzdF9zZXJ2ZXJfX2ZhaWxzKHNlbGYpOgorICAgICAgICByZXR1cm4gc3VwZXIoV2Vic29ja2V0
c2VydmVyVGVzdCwgc2VsZikuaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX2ZhaWxzKCkKKworICAg
IEBzbG93CisgICAgQHhmYWlsCisgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfcG9ydF9hbmRfcm9v
dChzZWxmKToKKyAgICAgICAgcmV0dXJuIHN1cGVyKFdlYnNvY2tldHNlcnZlclRlc3QsIHNlbGYp
LmludGVncmF0aW9uX3Rlc3RfcG9ydF9hbmRfcm9vdCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IGIxNTg5ZmU1ZTlhODZkZGNiNWFiMmI4NmYz
OGU2YjMwYWM3ZGRlODEuLjhmNDgyOGM1OGViMTZhNzUyOTM2OGIwZjMwODc3ODRlMjY2NTZhMTgg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CkBAIC01
MCw2ICs1MCw4IEBAIGZyb20gd2Via2l0cHkucG9ydC5zZXJ2ZXJfcHJvY2Vzc19tb2NrIGltcG9y
dCBNb2NrU2VydmVyUHJvY2VzcwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuc2VydmVycyBp
bXBvcnQgaHR0cF9zZXJ2ZXJfYmFzZQogZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9y
dCBNb2NrT3B0aW9ucwogCitmcm9tIHdlYmtpdHB5LnRlc3QubWFya2VycyBpbXBvcnQgc2xvdywg
eGZhaWwKKwogZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IE91dHB1dENhcHR1cmUKIAogCkBAIC0x
NzMsNiArMTc1LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgcG9ydC5zdGFydF9oZWxwZXIoKQogICAgICAgICBwb3J0LnN0b3BfaGVscGVyKCkKIAor
ICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2h0dHBfc2VydmVyX19ub3JtYWwo
c2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0X3NlcnZlcnNfYXJlX2Rvd24oJ2xvY2FsaG9zdCcsIHNlbGYuSFRUUF9QT1JUUykKQEAgLTE4
MSw2ICsxODQsNyBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBwb3J0LnN0b3BfaHR0cF9zZXJ2ZXIoKQogICAgICAgICBzZWxmLmFzc2VydF9zZXJ2ZXJz
X2FyZV9kb3duKCdsb2NhbGhvc3QnLCBzZWxmLkhUVFBfUE9SVFMpCiAKKyAgICBAeGZhaWwKICAg
ICBkZWYgaW50ZWdyYXRpb25fdGVzdF9odHRwX3NlcnZlcl9fZmFpbHMoc2VsZik6CiAgICAgICAg
IHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgICMgVGVzdCB0aGF0IGlmIGEgcG9ydCBp
c24ndCBhdmFpbGFibGUsIHRoZSBjYWxsIGZhaWxzLgpAQCAtMjA5LDYgKzIxMyw3IEBAIGNsYXNz
IFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGZpbmFsbHk6CiAgICAg
ICAgICAgICBwb3J0LnN0b3BfaHR0cF9zZXJ2ZXIoKQogCisgICAgQHhmYWlsCiAgICAgZGVmIGlu
dGVncmF0aW9uX3Rlc3RfaHR0cF9zZXJ2ZXJfX3R3b19zZXJ2ZXJzKHNlbGYpOgogICAgICAgICAj
IFRlc3QgdGhhdCBjYWxsaW5nIHN0YXJ0KCkgb24gdHdvIGRpZmZlcmVudCBwb3J0cyBjYXVzZXMg
dGhlCiAgICAgICAgICMgZmlyc3QgcG9ydCB0byBiZSB0cmVhdGVkIGFzIHN0YWxlIGFuZCBraWxs
ZWQuCkBAIC0zNDQsNiArMzQ5LDggQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBi
J2JhcicpLCAoYicnLCAwLCAnSW1hZ2VEaWZmIGNyYXNoZWRcbicpKQogICAgICAgICBwb3J0LmNs
ZWFuX3VwX3Rlc3RfcnVuKCkKIAorICAgIEBzbG93CisgICAgQHhmYWlsCiAgICAgZGVmIGludGVn
cmF0aW9uX3Rlc3Rfd2Vic29ja2V0X3NlcnZlcl9fbm9ybWFsKHNlbGYpOgogICAgICAgICBwb3J0
ID0gc2VsZi5tYWtlX3BvcnQoKQogICAgICAgICBzZWxmLmFzc2VydF9zZXJ2ZXJzX2FyZV9kb3du
KCdsb2NhbGhvc3QnLCBzZWxmLldFQlNPQ0tFVF9QT1JUUykKQEAgLTM1Miw2ICszNTksNyBAQCBj
bGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBwb3J0LnN0b3Bf
d2Vic29ja2V0X3NlcnZlcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0X3NlcnZlcnNfYXJlX2Rvd24o
J2xvY2FsaG9zdCcsIHNlbGYuV0VCU09DS0VUX1BPUlRTKQogCisgICAgQHhmYWlsCiAgICAgZGVm
IGludGVncmF0aW9uX3Rlc3Rfd2Vic29ja2V0X3NlcnZlcl9fZmFpbHMoc2VsZik6CiAgICAgICAg
IHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAKQEAgLTM3Niw2ICszODQsNyBAQCBjbGFzcyBQb3J0
VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBmaW5hbGx5OgogICAgICAgICAg
ICAgcG9ydC5zdG9wX3dlYnNvY2tldF9zZXJ2ZXIoKQogCisgICAgQHhmYWlsCiAgICAgZGVmIGlu
dGVncmF0aW9uX3Rlc3Rfd2Vic29ja2V0X3NlcnZlcl9fdHdvX3NlcnZlcnMoc2VsZik6CiAgICAg
ICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAKQEAgLTQxMCw2ICs0MTksNyBAQCBjbGFzcyBQ
b3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUo
bGVuKHBvcnQuYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoKSkgPiAwKQogICAgICAgICBzZWxmLmFz
c2VydFRydWUocG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSBpbiBwb3J0LmFsbF90ZXN0X2NvbmZp
Z3VyYXRpb25zKCksICIlcyBub3QgaW4gJXMiICUgKHBvcnQudGVzdF9jb25maWd1cmF0aW9uKCks
IHBvcnQuYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoKSkpCiAKKyAgICBAeGZhaWwKICAgICBkZWYg
aW50ZWdyYXRpb25fdGVzdF9odHRwX3NlcnZlcl9fbG9vcChzZWxmKToKICAgICAgICAgcG9ydCA9
IHNlbGYubWFrZV9wb3J0KCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
ZXN0L21haW5fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91
bml0dGVzdC5weQppbmRleCBlZjMxYjMyNzIxMTQxOTVkYzcxYjU5MDE4ZDQyNDM4ZDUxYzE1MzRi
Li43ZDE0ZTk5YjgxYjgyNWFkZGY4Njg3YzkyYWU2Y2UxZGE5N2JmMmU3IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0dGVzdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0dGVzdC5weQpAQCAtMzAsNiArMzAsNyBAQCBm
cm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgU3RyaW5nSU8KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVtCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUKIGZyb20gd2Via2l0cHkudGVzdC5tYWlu
IGltcG9ydCBUZXN0ZXIsIF9Mb2FkZXIKK2Zyb20gd2Via2l0cHkudGVzdC5tYXJrZXJzIGltcG9y
dCB4ZmFpbAogCiBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQogCkBAIC0x
MDcsNiArMTA4LDcgQEAgY2xhc3MgVGVzdGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICAgICBTVFVCU19DTEFTUyArICcuc2VyaWFsX3Rlc3RfZW1wdHknLAogICAgICAgICAgICAg
XSkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvdmVyYWdlX3dvcmtz
KHNlbGYpOgogICAgICAgICBmaWxlc3lzdGVtID0gRmlsZVN5c3RlbSgpCiAgICAgICAgIGV4ZWN1
dGl2ZSA9IEV4ZWN1dGl2ZSgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rl
c3QvbWFya2Vycy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYXJrZXJzLnB5Cmlu
ZGV4IDkzMGE0OWQwNDdhZjg4NDI3OWQ5N2JhNjcxNjlmN2FlYmE1YTliNzYuLjZkNWFlM2VjNDAw
MWQ0NjA4MWI1OTFmZTA3ODNmMDkzOWQ3OWE5ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdGVzdC9tYXJrZXJzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVz
dC9tYXJrZXJzLnB5CkBAIC02NCwzICs2NCw2IEBAIGRlZiBzbG93KGZ1bmMpOgogICAgICAgICBy
ZXR1cm4gcHl0ZXN0Lm1hcmsuc2xvdyhmdW5jKQogICAgIGV4Y2VwdCBOYW1lRXJyb3I6CiAgICAg
ICAgIHJldHVybiBmdW5jCisKKworc2tpcCA9IHVuaXR0ZXN0LnNraXAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWRfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDk0NmI3OTI1ZGY3ODQ2YzM0OTAyOWYwNjU0NjhhMjg4MWI5MDA1NzAuLjMxOTk2YzhlZDk4
YjEzZjFjZDYwNDQ0ZDYxN2JjOTUwY2VlMGNjYzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWRfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2hhc2xhbmRlZF91bml0dGVzdC5weQpAQCAtMzAsMTIg
KzMwLDE0IEBAIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJr
aXRweS50b29sLnN0ZXBzLmhhc2xhbmRlZCBpbXBvcnQgSGFzTGFuZGVkCitmcm9tIHdlYmtpdHB5
LnRlc3QubWFya2VycyBpbXBvcnQgc2tpcAogCiAKIGNsYXNzIEhhc0xhbmRlZFRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgIG1heERpZmYgPSBOb25lCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVu
bGVzcyhzdWJwcm9jZXNzLmNhbGwoJ3doaWNoIGludGVyZGlmZicsIHNoZWxsPVRydWUsIHN0ZG91
dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpID09IDAsICJyZXF1aXJl
cyBpbnRlcmRpZmYiKQorICAgIEBza2lwICAjIHRoaXMgbm93IHNlZW1zIHRvIGZhaWwgd2l0aCB1
cC10by1kYXRlIGludGVyZGlmZgorICAgICMgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3VicHJvY2Vz
cy5jYWxsKCd3aGljaCBpbnRlcmRpZmYnLCBzaGVsbD1UcnVlLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKSA9PSAwLCAicmVxdWlyZXMgaW50ZXJkaWZmIikK
ICAgICBkZWYgdGVzdF9ydW4oc2VsZik6CiAgICAgICAgICMgVGhlc2UgcGF0Y2hlcyByZXF1aXJl
IHRyYWlsaW5nIHdoaXRlc3BhY2UgdG8gcmVtYWluIHZhbGlkIHBhdGNoZXMuCiAgICAgICAgIGRp
ZmYxID0gIiIiXAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429183</attachid>
            <date>2021-05-20 10:06:24 -0700</date>
            <delta_ts>2021-05-25 12:29:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226017-20210520180622.patch</filename>
            <type>text/plain</type>
            <size>26875</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NzgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2E0MzNjYjk0MjYyZWJjMzliZDhmYWU2MDQwYjE1MzAx
ZjFjN2RmMS4uMjI4YjE1Y2M4ZDdiZjg5YWQ5ZjdlYzQ4ZTZhMDZhZjdiZmJhZjFmOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYw
IEBACisyMDIxLTA1LTIwICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgUnVuIHdlYmtpdHB5IGludGVncmF0aW9uIHRlc3RzIHVuZGVyIHB5dGVzdCBieSBkZWZh
dWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYw
MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGludm9sdmVzIGFkZGluZyBhIHZhcmlldHkgb2YgbmV3IHhmYWlsIGFubm90YXRpb25zIGFuZCBt
b3Zpbmcgc29tZSB0ZXN0cyB0bworICAgICAgICBiZSBzZXJpYWwgdG8gYXZvaWQgZmxha2luZXNz
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnNf
dW5pdHRlc3QucHk6CisgICAgICAgIChDb21taXR0ZXJzVGVzdCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb25mdGVzdC5weToKKyAgICAgICAgKHB5dGVzdF9hZGRvcHRpb24pOiBSZW1v
dmUgLS1ydW4taW50ZWdyYXRpb24KKyAgICAgICAgKHB5dGVzdF9jb2xsZWN0aW9uX21vZGlmeWl0
ZW1zKTogUmVtb3ZlIC0tcnVuLWludGVncmF0aW9uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHk6CisgICAg
ICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2Jhc2ljKToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFs
X3Rlc3RfYmF0Y2hfc2l6ZSk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2RyeXJ1bik6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2Z1bGxfcmVzdWx0c19odG1sKToKKyAgICAg
ICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3Rfbm9fb3JkZXJfd2l0aF9kaXJlY3RvcnlfZW50cmllc19p
bl9uYXR1cmFsX29yZGVyKToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfZ2NfYmV0d2Vl
bl90ZXN0cyk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2NoZWNrX2Zvcl93b3JsZF9s
ZWFrcyk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2NvbXBsZXhfdGV4dCk6CisgICAg
ICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3RocmVhZGVkKToKKyAgICAgICAgKFJ1blRlc3Quc2Vy
aWFsX3Rlc3RfcnVuX2ZvcmNlKToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfcnVuX3Np
bmdseSk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3NraXBfZmFpbGluZ190ZXN0cyk6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3J1bl9zaW5nbHlfYWN0dWFsbHlfcnVuc190
ZXN0cyk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3N0ZGVycl9pc19zYXZlZCk6Cisg
ICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X2Fic29sdXRlKToK
KyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfcmVzdWx0c19kaXJlY3RvcnlfZGVmYXVsdCk6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X3JlbGF0aXZl
KToKKyAgICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfcnVuX29yZGVyX19pbmxpbmUpOgorICAg
ICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9hZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeSk6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X25vX2h0dHBfYW5kX2ZvcmNlKToKKyAgICAg
ICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3Rfbm9faHR0cF90ZXN0cyk6CisgICAgICAgIChSdW5UZXN0
LnNlcmlhbF90ZXN0X3BsYXRmb3JtX3Rlc3RzX2FyZV9mb3VuZCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9pbnRlZ3JhdGlvbnRl
c3QucHk6CisgICAgICAgIChCYXNlVGVzdCk6CisgICAgICAgIChIVFRQU2VydmVyVGVzdCk6Cisg
ICAgICAgIChIVFRQU2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fbm9ybWFsKToK
KyAgICAgICAgKEhUVFBTZXJ2ZXJUZXN0LmludGVncmF0aW9uX3Rlc3Rfc2VydmVyX19mYWlscyk6
CisgICAgICAgIChIVFRQU2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3BvcnRfYW5kX3Jvb3Qp
OgorICAgICAgICAoV2Vic29ja2V0c2VydmVyVGVzdCk6CisgICAgICAgIChXZWJzb2NrZXRzZXJ2
ZXJUZXN0LmludGVncmF0aW9uX3Rlc3Rfc2VydmVyX19ub3JtYWwpOgorICAgICAgICAoV2Vic29j
a2V0c2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fZmFpbHMpOgorICAgICAgICAo
V2Vic29ja2V0c2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3BvcnRfYW5kX3Jvb3QpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5OgorICAgICAgICAo
UG9ydFRlc3RDYXNlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0
dGVzdC5weToKKyAgICAgICAgKFRlc3RlclRlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdGVzdC9tYXJrZXJzLnB5OgorICAgICAgICAoc2tpcCk6IEFkZCBza2lwCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2hhc2xhbmRlZF91bml0dGVzdC5weToKKyAgICAg
ICAgKEhhc0xhbmRlZFRlc3QpOiBBbHdheXMgc2tpcCB0aGlzLCBhcyBpdCBzZWVtcyB0byBmYWls
IGFsd2F5cworCiAyMDIxLTA1LTE5ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgYSB3YXkgdG8gY3JlYXRlIGAid2hlZWwiYCBldmVudHMgZnJvbSBnZXN0
dXJlL3RvdWNoIGV2ZW50cwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY29uZmlnL2NvbW1pdHRlcnNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jb25maWcvY29tbWl0dGVyc191bml0dGVzdC5weQppbmRleCBiMzRmMzlhNzdlODlh
YWQwMDhhNWExOTcyM2U3MGUxNjU2NDJiMDE4Li5lNmIwOTkxNjEyY2M5YjU5YTdhM2Q0NjlkZTAy
NzY0YWM1YzFmNDczIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
b25maWcvY29tbWl0dGVyc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jb25maWcvY29tbWl0dGVyc191bml0dGVzdC5weQpAQCAtMjgsNiArMjgsOCBAQAog
aW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcuY29tbWl0dGVycyBp
bXBvcnQgQ29tbWl0dGVyTGlzdCwgQ29udHJpYnV0b3IsIENvbW1pdHRlciwgUmV2aWV3ZXIKIAor
ZnJvbSB3ZWJraXRweS50ZXN0Lm1hcmtlcnMgaW1wb3J0IHhmYWlsCisKIAogY2xhc3MgQ29tbWl0
dGVyc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2NvbW1pdHRlcl9sb29r
dXAoc2VsZik6CkBAIC0xNDksNiArMTUxLDcgQEAgY2xhc3MgQ29tbWl0dGVyc1Rlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnYXAnLCAnQWxl
eGV5IFByb3NrdXJ5YWtvdicsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdB
bGV4ZXkgUCcsICdBbGV4ZXkgUHJvc2t1cnlha292JywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRl
ZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19hbGljZV9saXUoc2VsZik6CiAgICAgICAg
ICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0FsaWNlJywgJ0FsaWNlIExpdScsIDApCiAgICAg
ICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdhbGl1JywgJ0FsaWNlIExpdScsIDApCkBAIC0x
ODUsNiArMTg4LDcgQEAgY2xhc3MgQ29tbWl0dGVyc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICAjIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdDaHJpcycsICdDaHJpcyBCbHVtZW5i
ZXJnJywgMCkKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ2NibHUnLCAnQ2hyaXMg
Qmx1bWVuYmVyZycsIDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9j
b250cmlidXRvcnNfZGFuX2Jlcm5zdGVpbihzZWxmKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1
enpfbWF0Y2goJ0RhbicsIFsnRGFuIFdpbnNoaXAnLCAnRGFuIEJlcm5zdGVpbiddLCAwKQogICAg
ICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGFuIEInLCAnRGFuIEJlcm5zdGVpbicsIDAp
CkBAIC0yMDgsMTAgKzIxMiwxMiBAQCBjbGFzcyBDb21taXR0ZXJzVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdoYXJyaXNvbicsICdEYXZp
ZCBIYXJyaXNvbicsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdEci4gSGFy
cmlzb24nLCAnRGF2aWQgSGFycmlzb24nLCA0KQogCisgICAgQHhmYWlsCiAgICAgZGVmIGludGVn
cmF0aW9uX3Rlc3RfY29udHJpYnV0b3JzX2RhdmlkX2hhcnJpc29uXzIoc2VsZik6CiAgICAgICAg
IHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdEYXZlIEhhcnJzb24nLCAnRGF2aWQgSGFycmlzb24n
LCAzKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGF2ZSBIYXJyc2lvbicsICdE
YXZpZCBIYXJyaXNvbicsIDQpICAjIERhbWVyYXUtTGV2ZW5zaHRlaW4gZGlzdGFuY2UgaXMgMwog
CisgICAgQHhmYWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfY29udHJpYnV0b3JzX2Rhdmlk
X2h5YXR0KHNlbGYpOgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGF2ZSBIeWF0
dCcsICdEYXZpZCBIeWF0dCcsIDIpCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdE
YWRkeSBIeWF0dCcsICdEYXZpZCBIeWF0dCcsIDMpCkBAIC0yMTksMTEgKzIyNSwxMyBAQCBjbGFz
cyBDb21taXR0ZXJzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuX2Fzc2Vy
dF9mdXp6X21hdGNoKCdoeWF0dCcsICdEYXZpZCBIeWF0dCcsIDApCiAgICAgICAgICMgc2VsZi5f
YXNzZXJ0X2Z1enpfbWF0Y2goJ0hheXR0JywgJ0RhdmlkIEh5YXR0JywgMCkgICMgV29ya3MgaWYg
d2UgaGFkIGltcGxlbWVudGVkIERhbWVyYXUtTGV2ZW5zaHRlaW4gZGlzdGFuY2UhCiAKKyAgICBA
eGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNfZGF2aWRfa2lsemVy
KHNlbGYpOgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGF2ZSBLaWx6ZXInLCAn
RGF2aWQgS2lsemVyJywgMikKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0Rhdmlk
IEQuIEtpbHplcicsICdEYXZpZCBLaWx6ZXInLCAzKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6
el9tYXRjaCgnZGRraWx6ZXInLCAnRGF2aWQgS2lsemVyJywgMCkKIAorICAgIEB4ZmFpbAogICAg
IGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19kb25fbWVsdG9uKHNlbGYpOgogICAg
ICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRG9uJywgJ0RvbiBNZWx0b24nLCAwKQogICAg
ICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnR3JhbXBzJywgJ0RvbiBNZWx0b24nLCAwKQpA
QCAtMjM0LDYgKzI0Miw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnTWFjRG9tZScsICdFcmljIFNl
aWRlbCcsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdlc2VpZGVsJywgJ0Vy
aWMgU2VpZGVsJywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2Nv
bnRyaWJ1dG9yc19nZW9mZnJleV9nYXJlbihzZWxmKToKICAgICAgICAgIyBzZWxmLl9hc3NlcnRf
ZnV6el9tYXRjaCgnR2VvZicsICdHZW9mZnJleSBHYXJlbicsIDQpCiAgICAgICAgICMgc2VsZi5f
YXNzZXJ0X2Z1enpfbWF0Y2goJ0dlb2ZmJywgJ0dlb2ZmcmV5IEdhcmVuJywgMykKQEAgLTI0Niw2
ICsyNTUsNyBAQCBjbGFzcyBDb21taXR0ZXJzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ZGVmIGludGVncmF0aW9uX3Rlc3RfY29udHJpYnV0b3JzX2dyZWdfYm9sc2luZ2Eoc2VsZik6CiAg
ICAgICAgIHBhc3MgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0dyZWcnLCAnR3JlZyBCb2xz
aW5nYScsIDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmli
dXRvcnNfaG9sZ2VyX2ZyZXl0aGVyKHNlbGYpOgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9t
YXRjaCgnSG9sZ2VyJywgJ0hvbGdlciBGcmV5dGhlcicsIDApCiAgICAgICAgIHNlbGYuX2Fzc2Vy
dF9mdXp6X21hdGNoKCdIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcicsICdIb2xnZXIgRnJleXRo
ZXInLCAxMSkKQEAgLTI2MiwxMyArMjcyLDE2IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnanVzdGlu
JywgJ0p1c3RpbiBHYXJjaWEnLCAwKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgn
anVzdGluZycsICdKdXN0aW4gR2FyY2lhJywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRl
Z3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19qb3NlcGhfcGVjb3Jhcm8oc2VsZik6CiAgICAgICAg
IHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdKb2UgUGVjb3Jhcm8nLCAnSm9zZXBoIFBlY29yYXJv
JywgMykKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9y
c19rZW5fa29jaWVuZGEoc2VsZik6CiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdr
ZW4nLCAnS2VuIEtvY2llbmRhJywgMCkKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2go
J2tvY2llbmRhJywgJ0tlbiBLb2NpZW5kYScsIDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50
ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNfa2VubmV0aF9ydXNzZWxsKHNlbGYpOgogICAgICAg
ICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnS2VuIFJ1c3NlbGwnLCAnS2VubmV0aCBSdXNzZWxs
JywgNCkKIApAQCAtMjk3LDYgKzMxMCw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ21yb3dlJywgJ01h
cmsgUm93ZScsIDApCiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0JyaWFuIERh
c2gnLCAnTWFyayBSb3dlJywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90
ZXN0X2NvbnRyaWJ1dG9yc19uaWtvbGFzX3ppbW1lcm1hbm4oc2VsZik6CiAgICAgICAgICMgc2Vs
Zi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ05pa28nLCAnTmlrb2xhcyBaaW1tZXJtYW5uJywgMSkKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ05pa28gWmltbWVybWFubicsICdOaWtvbGFz
IFppbW1lcm1hbm4nLCAzKQpAQCAtMzQzLDYgKzM1Nyw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgn
VGltIE8uJywgJ1RpbSBPbWVybmljaycsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21h
dGNoKCdUaW0gTycsICdUaW0gT21lcm5pY2snLCAwKQogCisgICAgQHhmYWlsCiAgICAgZGVmIGlu
dGVncmF0aW9uX3Rlc3RfY29udHJpYnV0b3JzX3RpbW90aHlfaGF0Y2hlcihzZWxmKToKICAgICAg
ICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnVGltJywgJ1RpbW90aHkgSGF0Y2hlcicsIDAp
CiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ1RpbSBIJywgJ1RpbW90aHkgSGF0
Y2hlcicsIDApCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb25mdGVzdC5weQppbmRleCBlMDNmYTA2Y2NlNjk5
NGM3MjI1NGM2OGFhMzkwNGRhM2QxY2U4NTEwLi4xY2JlZDU0NWRlN2EwOGE4YTc5MDA2YThiZGVk
N2ExMjQ0YmRhZjIyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29uZnRlc3QucHkKQEAgLTM0LDEyICsz
NCw2IEBAIGRlZiBweXRlc3RfY29uZmlndXJlKGNvbmZpZyk6CiAKIAogZGVmIHB5dGVzdF9hZGRv
cHRpb24ocGFyc2VyKToKLSAgICBwYXJzZXIuYWRkb3B0aW9uKAotICAgICAgICAiLS1ydW4taW50
ZWdyYXRpb24iLAotICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotICAgICAgICBkZWZhdWx0
PUZhbHNlLAotICAgICAgICBoZWxwPSJydW4gaW50ZWdyYXRpb24gdGVzdHMiLAotICAgICkKICAg
ICBwYXJzZXIuYWRkb3B0aW9uKAogICAgICAgICAiLS1ydW4tc2xvdyIsIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9InJ1biBzbG93IHRlc3RzIgogICAgICkKQEAgLTEw
NSwxNCArOTksNiBAQCBkZWYgcHl0ZXN0X2NvbGxlY3Rpb25fbW9kaWZ5aXRlbXMoY29uZmlnLCBp
dGVtcyk6CiAgICAgICAgICAgICBpZiAic2VyaWFsIiBpbiBpdGVtLmtleXdvcmRzOgogICAgICAg
ICAgICAgICAgIGl0ZW0uYWRkX21hcmtlcihza2lwX3NlcmlhbCkKIAotICAgIGlmIG5vdCBjb25m
aWcuZ2V0b3B0aW9uKCItLXJ1bi1pbnRlZ3JhdGlvbiIpOgotICAgICAgICBza2lwX2ludGVncmF0
aW9uID0gcHl0ZXN0Lm1hcmsuc2tpcCgKLSAgICAgICAgICAgIHJlYXNvbj0ibmVlZCAtLXJ1bi1p
bnRlZ3JhdGlvbiBvcHRpb24gdG8gcnVuIgotICAgICAgICApCi0gICAgICAgIGZvciBpdGVtIGlu
IGl0ZW1zOgotICAgICAgICAgICAgaWYgImludGVncmF0aW9uIiBpbiBpdGVtLmtleXdvcmRzOgot
ICAgICAgICAgICAgICAgIGl0ZW0uYWRkX21hcmtlcihza2lwX2ludGVncmF0aW9uKQotCiAgICAg
aWYgbm90IGNvbmZpZy5nZXRvcHRpb24oIi0tcnVuLXNsb3ciKToKICAgICAgICAgc2tpcF9zbG93
ID0gcHl0ZXN0Lm1hcmsuc2tpcChyZWFzb249Im5lZWQgLS1ydW4tc2xvdyBvcHRpb24gdG8gcnVu
IikKICAgICAgICAgZm9yIGl0ZW0gaW4gaXRlbXM6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNf
aW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IDE4NDdlNWNiMWUyODM4ZDQ0NjQwMmY5YjZhNTJkOWEw
YzQwYjczYmMuLjQ0YWZiN2VhZjc1MGE3NjgwMDMwZmNhZDkxMWZkMjMyMjdjOTIyNDYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVz
dHNfaW50ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC0xNzYsNyArMTc2
LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGlu
KToKICAgICAgICAgIyBGSVhNRTogTXVsdGlwcm9jZXNzaW5nIGRvZXNuJ3QgZG8gd2VsbCB3aGVu
IG5lc3RlZCBpbiBQeXRob24gMyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNTI4MCkKICAgICAgICAgc2VsZi5zaG91bGRfdGVzdF9wcm9jZXNzZXMgPSBub3Qgc2Vs
Zi5fcGxhdGZvcm0uaXNfd2luKCkgYW5kIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMCkKIAotICAg
IGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9iYXNpYyhzZWxmKToK
ICAgICAgICAgb3B0aW9ucywgYXJncyA9IHBhcnNlX2FyZ3ModGVzdHNfaW5jbHVkZWQ9VHJ1ZSkK
ICAgICAgICAgbG9nZ2luZ19zdHJlYW0gPSBTdHJpbmdJTygpCiAgICAgICAgIGhvc3QgPSBNb2Nr
SG9zdCgpCkBAIC0yMDgsNyArMjA4LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSwgU3RyZWFtVGVzdGluZ01peGluKToKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhvc3Qu
dXNlci5vcGVuZWRfdXJscywgW3BhdGguYWJzcGF0aF90b191cmkoTW9ja0hvc3QoKS5wbGF0Zm9y
bSwgJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9yZXN1bHRzLmh0bWwnKV0pCiAKLSAgICBkZWYg
dGVzdF9iYXRjaF9zaXplKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9iYXRjaF9zaXplKHNl
bGYpOgogICAgICAgICBiYXRjaF90ZXN0c19ydW4gPSBnZXRfdGVzdF9iYXRjaGVzKFsnLS1iYXRj
aC1zaXplJywgJzInXSkKICAgICAgICAgZm9yIGJhdGNoIGluIGJhdGNoX3Rlc3RzX3J1bjoKICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4oYmF0Y2gpIDw9IDIsICclcyBoYWQgdG9vIG1h
bnkgdGVzdHMnICUgJywgJy5qb2luKGJhdGNoKSkKQEAgLTIyNiw3ICsyMjYsNyBAQCBjbGFzcyBS
dW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAg
ICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUsIHNoYXJlZF9wb3J0PUZhbHNlKQogICAgICAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKGFueShbJ1J1bm5pbmcgMSAnIGluIGxpbmUgZm9yIGxpbmUgaW4g
cmVndWxhcl9vdXRwdXQuZ2V0dmFsdWUoKS5zcGxpdGxpbmVzKCldKSkKIAotICAgIGRlZiB0ZXN0
X2RyeXJ1bihzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfZHJ5cnVuKHNlbGYpOgogICAgICAg
ICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1kcnktcnVuJ10pCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwodGVzdHNfcnVuLCBbXSkKIApAQCAtMjUwLDcgKzI1MCw3IEBAIGNsYXNzIFJ1
blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgICAg
ICBzZWxmLmFzc2VydFJhaXNlcyhCYXNlRXhjZXB0aW9uLCBsb2dnaW5nX3J1biwKICAgICAgICAg
ICAgICAgICBbJy0tY2hpbGQtcHJvY2Vzc2VzJywgJzInLCAnLS1mb3JjZScsICdmYWlsdXJlcy9l
eHBlY3RlZC9leGNlcHRpb24uaHRtbCcsICdwYXNzZXMvdGV4dC5odG1sJ10sIHRlc3RzX2luY2x1
ZGVkPVRydWUsIHNoYXJlZF9wb3J0PUZhbHNlKQogCi0gICAgZGVmIHRlc3RfZnVsbF9yZXN1bHRz
X2h0bWwoc2VsZik6CisgICAgZGVmIHNlcmlhbF90ZXN0X2Z1bGxfcmVzdWx0c19odG1sKHNlbGYp
OgogICAgICAgICAjIEZJWE1FOiB2ZXJpZnkgaHRtbD8KICAgICAgICAgZGV0YWlscywgXywgXyA9
IGxvZ2dpbmdfcnVuKFsnLS1mdWxsLXJlc3VsdHMtaHRtbCddKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGRldGFpbHMuZXhpdF9jb2RlLCAwKQpAQCAtMzA4LDIxICszMDgsMjEgQEAgY2xhc3Mg
UnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
dGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9fcnVu
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzX3RvX3J1biwgdGVzdHNfcnVuKQogCi0g
ICAgZGVmIHRlc3Rfbm9fb3JkZXJfd2l0aF9kaXJlY3RvcnlfZW50cmllc19pbl9uYXR1cmFsX29y
ZGVyKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9ub19vcmRlcl93aXRoX2RpcmVjdG9yeV9l
bnRyaWVzX2luX25hdHVyYWxfb3JkZXIoc2VsZik6CiAgICAgICAgIHRlc3RzX3RvX3J1biA9IFsn
aHR0cC90ZXN0cy9zc2wnLCAnaHR0cC90ZXN0cy9wYXNzZXMnXQogICAgICAgICB0ZXN0c19ydW4g
PSBnZXRfdGVzdHNfcnVuKFsnLS1vcmRlcj1ub25lJ10gKyB0ZXN0c190b19ydW4pCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwodGVzdHNfcnVuLCBbJ2h0dHAvdGVzdHMvc3NsL3RleHQuaHRtbCcs
ICdodHRwL3Rlc3RzL3Bhc3Nlcy9pbWFnZS5odG1sJywgJ2h0dHAvdGVzdHMvcGFzc2VzL3RleHQu
aHRtbCddKQogCi0gICAgZGVmIHRlc3RfZ2NfYmV0d2Vlbl90ZXN0cyhzZWxmKToKKyAgICBkZWYg
c2VyaWFsX3Rlc3RfZ2NfYmV0d2Vlbl90ZXN0cyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHBhc3NpbmdfcnVuKFsnLS1nYy1iZXR3ZWVuLXRlc3RzJ10pKQogCi0gICAgZGVmIHRlc3Rf
Y2hlY2tfZm9yX3dvcmxkX2xlYWtzKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9jaGVja19m
b3Jfd29ybGRfbGVha3Moc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXNzaW5nX3J1
bihbJy0td29ybGQtbGVha3MnXSkpCiAKLSAgICBkZWYgdGVzdF9jb21wbGV4X3RleHQoc2VsZik6
CisgICAgZGVmIHNlcmlhbF90ZXN0X2NvbXBsZXhfdGV4dChzZWxmKToKICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHBhc3NpbmdfcnVuKFsnLS1jb21wbGV4LXRleHQnXSkpCiAKLSAgICBkZWYgdGVz
dF90aHJlYWRlZChzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfdGhyZWFkZWQoc2VsZik6CiAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihbJy0tdGhyZWFkZWQnXSkpCiAKICAg
ICBkZWYgdGVzdF9yZXBlYXRfZWFjaChzZWxmKToKQEAgLTM4MSw3ICszODEsNyBAQCBjbGFzcyBS
dW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBj
aHVua190ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1ydW4tY2h1bmsnLCAnMTozJywgJy0t
c2tpcHBlZCcsICdhbHdheXMnXSArIHRlc3RzX3RvX3J1bikKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChbJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAncGFzc2VzL2Vycm9yLmh0bWwnLCAncGFzc2VzL2lt
YWdlLmh0bWwnXSwgY2h1bmtfdGVzdHNfcnVuKQogCi0gICAgZGVmIHRlc3RfcnVuX2ZvcmNlKHNl
bGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9ydW5fZm9yY2Uoc2VsZik6CiAgICAgICAgICMgVGhp
cyByYWlzZXMgYW4gZXhjZXB0aW9uIGJlY2F1c2Ugd2UgcnVuCiAgICAgICAgICMgZmFpbHVyZXMv
ZXhwZWN0ZWQvZXhjZXB0aW9uLmh0bWwsIHdoaWNoIGlzIG5vcm1hbGx5IFNLSVBwZWQuCiAKQEAg
LTM5OSwxMiArMzk5LDEyIEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVh
bVRlc3RpbmdNaXhpbik6CiAgICAgICAgIGNodW5rX3Rlc3RzX3J1biA9IGdldF90ZXN0c19ydW4o
WyctLXJ1bi1wYXJ0JywgJzM6MycsICctLXNraXBwZWQnLCAnYWx3YXlzJ10gKyB0ZXN0c190b19y
dW4pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydwYXNzZXMvZXJyb3IuaHRtbCcsICdwYXNz
ZXMvaW1hZ2UuaHRtbCddLCBjaHVua190ZXN0c19ydW4pCiAKLSAgICBkZWYgdGVzdF9ydW5fc2lu
Z2x5KHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9ydW5fc2luZ2x5KHNlbGYpOgogICAgICAg
ICBiYXRjaF90ZXN0c19ydW4gPSBnZXRfdGVzdF9iYXRjaGVzKFsnLS1ydW4tc2luZ2x5J10pCiAg
ICAgICAgIGZvciBiYXRjaCBpbiBiYXRjaF90ZXN0c19ydW46CiAgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxlbihiYXRjaCksIDEsICclcyBoYWQgdG9vIG1hbnkgdGVzdHMnICUgJywgJy5q
b2luKGJhdGNoKSkKIAotICAgIGRlZiB0ZXN0X3NraXBfZmFpbGluZ190ZXN0cyhzZWxmKToKKyAg
ICBkZWYgc2VyaWFsX3Rlc3Rfc2tpcF9mYWlsaW5nX3Rlc3RzKHNlbGYpOgogICAgICAgICAjIFRo
aXMgdGVzdHMgdGhhdCB3ZSBza2lwIGJvdGgga25vd24gZmFpbGluZyBhbmQga25vd24gZmxha3kg
dGVzdHMuIEJlY2F1c2UgdGhlcmUgYXJlCiAgICAgICAgICMgbm8ga25vd24gZmxha3kgdGVzdHMg
aW4gdGhlIGRlZmF1bHQgdGVzdF9leHBlY3RhdGlvbnMsIHdlIGFkZCBhZGRpdGlvbmFsIGV4cGVj
dGF0aW9ucy4KICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKQEAgLTQxOCw3ICs0MTgsNyBAQCBj
bGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAg
ICAgICAgICAgaGFzX3Bhc3Nlc190ZXh0ID0gaGFzX3Bhc3Nlc190ZXh0IG9yICgncGFzc2VzL3Rl
eHQuaHRtbCcgaW4gYmF0Y2gpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNfcGFzc2VzX3Rl
eHQpCiAKLSAgICBkZWYgdGVzdF9ydW5fc2luZ2x5X2FjdHVhbGx5X3J1bnNfdGVzdHMoc2VsZik6
CisgICAgZGVmIHNlcmlhbF90ZXN0X3J1bl9zaW5nbHlfYWN0dWFsbHlfcnVuc190ZXN0cyhzZWxm
KToKICAgICAgICAgZGV0YWlscywgXywgXyA9IGxvZ2dpbmdfcnVuKFsnLS1ydW4tc2luZ2x5J10s
IHRlc3RzX2luY2x1ZGVkPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGV0YWlscy5l
eGl0X2NvZGUsIHRlc3QuVU5FWFBFQ1RFRF9GQUlMVVJFUyAtIDEpICAjIGZhaWx1cmVzL2V4cGVj
dGVkL2hhbmcuaHRtbCBhY3R1YWxseSBwYXNzZXMgdy8gLS1ydW4tc2luZ2x5LgogCkBAIC00MzQs
NyArNDM0LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGlu
Z01peGluKToKICAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ2ZhaWx1cmVzL2V4
cGVjdGVkL2tleWJhb3JkLmh0bWwnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbXSwgdGVz
dHNfcnVuKQogCi0gICAgZGVmIHRlc3Rfc3RkZXJyX2lzX3NhdmVkKHNlbGYpOgorICAgIGRlZiBz
ZXJpYWxfdGVzdF9zdGRlcnJfaXNfc2F2ZWQoc2VsZik6CiAgICAgICAgIGhvc3QgPSBNb2NrSG9z
dCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihob3N0PWhvc3QpKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZSgnL3Rt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Bhc3Nlcy9lcnJvci1zdGRlcnIudHh0JyksCkBAIC02NjEs
NyArNjYxLDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGlu
Z01peGluKToKICAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ2ZhaWx1cmVzL2V4
cGVjdGVkL2NyYXNoLmh0bWwnLCAncGFzc2VzL3RleHQuaHRtbCcsICctLWV4aXQtYWZ0ZXItbi1j
cmFzaGVzLW9yLXRpbWVvdXRzJywgJzEnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ2Zh
aWx1cmVzL2V4cGVjdGVkL2NyYXNoLmh0bWwnLCAncGFzc2VzL3RleHQuaHRtbCddLCB0ZXN0c19y
dW4pCiAKLSAgICBkZWYgdGVzdF9yZXN1bHRzX2RpcmVjdG9yeV9hYnNvbHV0ZShzZWxmKToKKyAg
ICBkZWYgc2VyaWFsX3Rlc3RfcmVzdWx0c19kaXJlY3RvcnlfYWJzb2x1dGUoc2VsZik6CiAgICAg
ICAgICMgV2UgcnVuIGEgY29uZmlndXJhdGlvbiB0aGF0IHNob3VsZCBmYWlsLCB0byBnZW5lcmF0
ZSBvdXRwdXQsIHRoZW4KICAgICAgICAgIyBsb29rIGZvciB3aGF0IHRoZSBvdXRwdXQgcmVzdWx0
cyB1cmwgd2FzLgogCkBAIC02NzAsNyArNjcwLDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgICAgIF8sIF8sIHVzZXIgPSBs
b2dnaW5nX3J1bihbJy0tcmVzdWx0cy1kaXJlY3Rvcnk9JyArIHN0cih0bXBkaXIpXSwgdGVzdHNf
aW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1
c2VyLm9wZW5lZF91cmxzLCBbcGF0aC5hYnNwYXRoX3RvX3VyaShob3N0LnBsYXRmb3JtLCBob3N0
LmZpbGVzeXN0ZW0uam9pbih0bXBkaXIsICdyZXN1bHRzLmh0bWwnKSldKQogCi0gICAgZGVmIHRl
c3RfcmVzdWx0c19kaXJlY3RvcnlfZGVmYXVsdChzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3Rf
cmVzdWx0c19kaXJlY3RvcnlfZGVmYXVsdChzZWxmKToKICAgICAgICAgIyBXZSBydW4gYSBjb25m
aWd1cmF0aW9uIHRoYXQgc2hvdWxkIGZhaWwsIHRvIGdlbmVyYXRlIG91dHB1dCwgdGhlbgogICAg
ICAgICAjIGxvb2sgZm9yIHdoYXQgdGhlIG91dHB1dCByZXN1bHRzIHVybCB3YXMuCiAKQEAgLTY3
OCw3ICs2NzgsNyBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0
aW5nTWl4aW4pOgogICAgICAgICBfLCBfLCB1c2VyID0gbG9nZ2luZ19ydW4odGVzdHNfaW5jbHVk
ZWQ9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1c2VyLm9wZW5lZF91cmxzLCBbcGF0
aC5hYnNwYXRoX3RvX3VyaShNb2NrSG9zdCgpLnBsYXRmb3JtLCAnL3RtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3Jlc3VsdHMuaHRtbCcpXSkKIAotICAgIGRlZiB0ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5
X3JlbGF0aXZlKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9yZXN1bHRzX2RpcmVjdG9yeV9y
ZWxhdGl2ZShzZWxmKToKICAgICAgICAgIyBXZSBydW4gYSBjb25maWd1cmF0aW9uIHRoYXQgc2hv
dWxkIGZhaWwsIHRvIGdlbmVyYXRlIG91dHB1dCwgdGhlbgogICAgICAgICAjIGxvb2sgZm9yIHdo
YXQgdGhlIG91dHB1dCByZXN1bHRzIHVybCB3YXMuCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgp
CkBAIC03NDQsNyArNzQ0LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3Ry
ZWFtVGVzdGluZ01peGluKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhvc3QuZmlsZXN5c3Rl
bS5leGlzdHMoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYWlsdXJlcy91bmV4cGVjdGVkL3Rl
eHQtaW1hZ2UtY2hlY2tzdW0tYWN0dWFsLnR4dCcpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUo
aG9zdC5maWxlc3lzdGVtLmV4aXN0cygnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMv
ZmFpbHVyZXMvdW5leHBlY3RlZC90ZXh0LWltYWdlLWNoZWNrc3VtLWFjdHVhbC50eHQnKSkKIAot
ICAgIGRlZiB0ZXN0X3J1bl9vcmRlcl9faW5saW5lKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVz
dF9ydW5fb3JkZXJfX2lubGluZShzZWxmKToKICAgICAgICAgIyBUaGVzZSBuZXh0IHRlc3RzIHRl
c3QgdGhhdCB3ZSBydW4gdGhlIHRlc3RzIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwKICAgICAg
ICAgIyBvcmRlciBwZXIgZGlyZWN0b3J5LiBIVFRQIHRlc3RzIGFyZSBzaGFyZGVkIHNlcGFyYXRl
bHkgZnJvbSBvdGhlciB0ZXN0cywKICAgICAgICAgIyBzbyB3ZSBoYXZlIHRvIHRlc3QgYm90aC4K
QEAgLTgwNyw3ICs4MDcsNyBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJl
YW1UZXN0aW5nTWl4aW4pOgogICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdF9yZXN1bHRzKFsn
cGFzc2VzL21pc21hdGNoLmh0bWwnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0c19y
dW5bMF0ucmVmZXJlbmNlcywgWydwYXNzZXMvbWlzbWF0Y2gtZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bCddKQogCi0gICAgZGVmIHRlc3RfYWRkaXRpb25hbF9wbGF0Zm9ybV9kaXJlY3Rvcnkoc2VsZik6
CisgICAgZGVmIHNlcmlhbF90ZXN0X2FkZGl0aW9uYWxfcGxhdGZvcm1fZGlyZWN0b3J5KHNlbGYp
OgogICAgICAgICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4oWyctLWFkZGl0aW9uYWwtcGxh
dGZvcm0tZGlyZWN0b3J5JywgJy90bXAvZm9vJ10pKQogICAgICAgICBzZWxmLmFzc2VydFRydWUo
cGFzc2luZ19ydW4oWyctLWFkZGl0aW9uYWwtcGxhdGZvcm0tZGlyZWN0b3J5JywgJy90bXAvLi4v
Zm9vJ10pKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4oWyctLWFkZGl0aW9u
YWwtcGxhdGZvcm0tZGlyZWN0b3J5JywgJy90bXAvZm9vJywgJy0tYWRkaXRpb25hbC1wbGF0Zm9y
bS1kaXJlY3RvcnknLCAnL3RtcC9iYXInXSkpCkBAIC04MTksNyArODE5LDcgQEAgY2xhc3MgUnVu
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKHBhc3NpbmdfcnVuKFsnLS1hZGRpdGlvbmFsLWV4cGVjdGF0aW9ucycsICcv
dG1wL292ZXJyaWRlcy50eHQnLCAnZmFpbHVyZXMvdW5leHBlY3RlZC9taXNtYXRjaC5odG1sJ10s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVl
LCBob3N0PWhvc3QpKQogCi0gICAgZGVmIHRlc3Rfbm9faHR0cF9hbmRfZm9yY2Uoc2VsZik6Cisg
ICAgZGVmIHNlcmlhbF90ZXN0X25vX2h0dHBfYW5kX2ZvcmNlKHNlbGYpOgogICAgICAgICAjIFNl
ZSB0ZXN0X3J1bl9mb3JjZSwgdXNpbmcgLS1mb3JjZSByYWlzZXMgYW4gZXhjZXB0aW9uLgogICAg
ICAgICAjIEZJWE1FOiBXZSB3b3VsZCBsaWtlIHRvIGNoZWNrIHRoZSB3YXJuaW5ncyBnZW5lcmF0
ZWQuCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGxvZ2dpbmdfcnVuLCBb
Jy0tZm9yY2UnLCAnLS1uby1odHRwJ10pCkBAIC04MjgsNyArODI4LDcgQEAgY2xhc3MgUnVuVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICBkZWYgaGFzX3Rl
c3Rfb2ZfdHlwZSh0ZXN0cywgdHlwZSk6CiAgICAgICAgIHJldHVybiBbdGVzdCBmb3IgdGVzdCBp
biB0ZXN0cyBpZiB0eXBlIGluIHRlc3RdCiAKLSAgICBkZWYgdGVzdF9ub19odHRwX3Rlc3RzKHNl
bGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9ub19odHRwX3Rlc3RzKHNlbGYpOgogICAgICAgICBi
YXRjaF90ZXN0c19kcnlydW4gPSBnZXRfdGVzdHNfcnVuKFsnTGF5b3V0VGVzdHMvaHR0cCcsICd3
ZWJzb2NrZXQvJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShSdW5UZXN0Lmhhc190ZXN0X29m
X3R5cGUoYmF0Y2hfdGVzdHNfZHJ5cnVuLCAnaHR0cCcpKQogICAgICAgICBzZWxmLmFzc2VydFRy
dWUoUnVuVGVzdC5oYXNfdGVzdF9vZl90eXBlKGJhdGNoX3Rlc3RzX2RyeXJ1biwgJ3dlYnNvY2tl
dCcpKQpAQCAtODQxLDcgKzg0MSw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2Us
IFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShSdW5UZXN0Lmhh
c190ZXN0X29mX3R5cGUoYmF0Y2hfdGVzdHNfcnVuX2h0dHAsICdodHRwJykpCiAgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShSdW5UZXN0Lmhhc190ZXN0X29mX3R5cGUoYmF0Y2hfdGVzdHNfcnVuX2h0
dHAsICd3ZWJzb2NrZXQnKSkKIAotICAgIGRlZiB0ZXN0X3BsYXRmb3JtX3Rlc3RzX2FyZV9mb3Vu
ZChzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfcGxhdGZvcm1fdGVzdHNfYXJlX2ZvdW5kKHNl
bGYpOgogICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1wbGF0Zm9ybScsICd0
ZXN0LW1hYy1sZW9wYXJkJywgJ2h0dHAnXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdwbGF0
Zm9ybS90ZXN0LW1hYy1sZW9wYXJkL2h0dHAvdGVzdC5odG1sJyBpbiB0ZXN0c19ydW4pCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ3BsYXRmb3JtL3Rlc3Qtd2luLXdpbjcvaHR0cC90ZXN0Lmh0
bWwnIGluIHRlc3RzX3J1bikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9pbnRlZ3Jh
dGlvbnRlc3QucHkKaW5kZXggNmM5ZmMyYjY5OWIwMTZkOTlmMDMxNjhmNDZlOWVkNjU0MjdlYzk2
Yi4uNDU2ZmQ1MmZkZDNiNmQwMTZlZDIwMTc3ODRlMTVjYjc0M2ViYjNlYyAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9p
bnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvc2VydmVycy9odHRwX3NlcnZlcl9pbnRlZ3JhdGlvbnRlc3QucHkKQEAgLTM4LDkgKzM4LDE0
IEBAIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0CiAKK2Zyb20g
Y29weSBpbXBvcnQgY29weQorCitmcm9tIHdlYmtpdHB5LnRlc3QubWFya2VycyBpbXBvcnQgc2xv
dywgeGZhaWwsIHNraXAKKwogCiBjbGFzcyBCYXNlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgIiIiQmFzaWMgZnJhbWV3b3JrIGZvciBzY3JpcHQgdGVzdHMuIiIiCisgICAgX19weXRlc3Rf
bm9fcmV3cml0ZV9fID0gVHJ1ZQogICAgIEhPU1QgPSAnbG9jYWxob3N0JwogCiAgICAgIyBPdmVy
cmlkZSBpbiBhY3R1YWwgdGVzdCBjbGFzc2VzLgpAQCAtMTMyLDE0ICsxMzcsNDEgQEAgY2xhc3Mg
QmFzZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiBjbGFzcyBIVFRQU2VydmVyVGVzdChCYXNl
VGVzdCk6CiAgICAgIiIiVGVzdHMgdGhhdCBuZXctcnVuLXdlYmtpdC1odHRwIG11c3QgcGFzcy4i
IiIKKyAgICBfX3B5dGVzdF9ub19yZXdyaXRlX18gPSBGYWxzZQogCiAgICAgUE9SVFMgPSAoODAw
MCwgODA4MCwgODQ0MykKICAgICBTQ1JJUFRfTkFNRSA9ICduZXctcnVuLXdlYmtpdC1odHRwZCcK
IAorICAgIEB4ZmFpbAorICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fbm9ybWFsKHNl
bGYpOgorICAgICAgICByZXR1cm4gc3VwZXIoSFRUUFNlcnZlclRlc3QsIHNlbGYpLmludGVncmF0
aW9uX3Rlc3Rfc2VydmVyX19ub3JtYWwoKQorCisgICAgQHhmYWlsCisgICAgZGVmIGludGVncmF0
aW9uX3Rlc3Rfc2VydmVyX19mYWlscyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHN1cGVyKEhUVFBT
ZXJ2ZXJUZXN0LCBzZWxmKS5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fZmFpbHMoKQorCisgICAg
QHhmYWlsCisgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfcG9ydF9hbmRfcm9vdChzZWxmKToKKyAg
ICAgICAgcmV0dXJuIHN1cGVyKEhUVFBTZXJ2ZXJUZXN0LCBzZWxmKS5pbnRlZ3JhdGlvbl90ZXN0
X3BvcnRfYW5kX3Jvb3QoKQorCiAKIGNsYXNzIFdlYnNvY2tldHNlcnZlclRlc3QoQmFzZVRlc3Qp
OgogICAgICIiIlRlc3RzIHRoYXQgbmV3LXJ1bi13ZWJraXQtd2Vic29ja2V0c2VydmVyIG11c3Qg
cGFzcy4iIiIKKyAgICBfX3B5dGVzdF9ub19yZXdyaXRlX18gPSBGYWxzZQogCiAgICAgIyBGSVhN
RTogdGVzdCBUTFMgYXQgc29tZSBwb2ludD8KICAgICBQT1JUUyA9ICg4ODgwLCApCiAgICAgU0NS
SVBUX05BTUUgPSAnbmV3LXJ1bi13ZWJraXQtd2Vic29ja2V0c2VydmVyJworCisgICAgQHNraXAo
ImZsYWt5IikKKyAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX25vcm1hbChzZWxmKToK
KyAgICAgICAgcmV0dXJuIHN1cGVyKFdlYnNvY2tldHNlcnZlclRlc3QsIHNlbGYpLmludGVncmF0
aW9uX3Rlc3Rfc2VydmVyX19ub3JtYWwoKQorCisgICAgQHNraXAoImZsYWt5IikKKyAgICBkZWYg
aW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX2ZhaWxzKHNlbGYpOgorICAgICAgICByZXR1cm4gc3Vw
ZXIoV2Vic29ja2V0c2VydmVyVGVzdCwgc2VsZikuaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX2Zh
aWxzKCkKKworICAgIEBzbG93CisgICAgQHhmYWlsCisgICAgZGVmIGludGVncmF0aW9uX3Rlc3Rf
cG9ydF9hbmRfcm9vdChzZWxmKToKKyAgICAgICAgcmV0dXJuIHN1cGVyKFdlYnNvY2tldHNlcnZl
clRlc3QsIHNlbGYpLmludGVncmF0aW9uX3Rlc3RfcG9ydF9hbmRfcm9vdCgpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IGIxNTg5ZmU1ZTlhODZk
ZGNiNWFiMmI4NmYzOGU2YjMwYWM3ZGRlODEuLjhmNDgyOGM1OGViMTZhNzUyOTM2OGIwZjMwODc3
ODRlMjY2NTZhMTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0
X3Rlc3RjYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3Rj
YXNlLnB5CkBAIC01MCw2ICs1MCw4IEBAIGZyb20gd2Via2l0cHkucG9ydC5zZXJ2ZXJfcHJvY2Vz
c19tb2NrIGltcG9ydCBNb2NrU2VydmVyUHJvY2VzcwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVz
dHMuc2VydmVycyBpbXBvcnQgaHR0cF9zZXJ2ZXJfYmFzZQogZnJvbSB3ZWJraXRweS50b29sLm1v
Y2t0b29sIGltcG9ydCBNb2NrT3B0aW9ucwogCitmcm9tIHdlYmtpdHB5LnRlc3QubWFya2VycyBp
bXBvcnQgc2xvdywgeGZhaWwKKwogZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IE91dHB1dENhcHR1
cmUKIAogCkBAIC0xNzMsNiArMTc1LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgcG9ydC5zdGFydF9oZWxwZXIoKQogICAgICAgICBwb3J0LnN0b3Bf
aGVscGVyKCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2h0dHBfc2Vy
dmVyX19ub3JtYWwoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0X3NlcnZlcnNfYXJlX2Rvd24oJ2xvY2FsaG9zdCcsIHNlbGYuSFRUUF9Q
T1JUUykKQEAgLTE4MSw2ICsxODQsNyBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICBwb3J0LnN0b3BfaHR0cF9zZXJ2ZXIoKQogICAgICAgICBzZWxmLmFz
c2VydF9zZXJ2ZXJzX2FyZV9kb3duKCdsb2NhbGhvc3QnLCBzZWxmLkhUVFBfUE9SVFMpCiAKKyAg
ICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9odHRwX3NlcnZlcl9fZmFpbHMoc2Vs
Zik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgICMgVGVzdCB0aGF0
IGlmIGEgcG9ydCBpc24ndCBhdmFpbGFibGUsIHRoZSBjYWxsIGZhaWxzLgpAQCAtMjA5LDYgKzIx
Myw3IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGZp
bmFsbHk6CiAgICAgICAgICAgICBwb3J0LnN0b3BfaHR0cF9zZXJ2ZXIoKQogCisgICAgQHhmYWls
CiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfaHR0cF9zZXJ2ZXJfX3R3b19zZXJ2ZXJzKHNlbGYp
OgogICAgICAgICAjIFRlc3QgdGhhdCBjYWxsaW5nIHN0YXJ0KCkgb24gdHdvIGRpZmZlcmVudCBw
b3J0cyBjYXVzZXMgdGhlCiAgICAgICAgICMgZmlyc3QgcG9ydCB0byBiZSB0cmVhdGVkIGFzIHN0
YWxlIGFuZCBraWxsZWQuCkBAIC0zNDQsNiArMzQ5LDggQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRpZmZfaW1h
Z2UoYidmb28nLCBiJ2JhcicpLCAoYicnLCAwLCAnSW1hZ2VEaWZmIGNyYXNoZWRcbicpKQogICAg
ICAgICBwb3J0LmNsZWFuX3VwX3Rlc3RfcnVuKCkKIAorICAgIEBzbG93CisgICAgQHhmYWlsCiAg
ICAgZGVmIGludGVncmF0aW9uX3Rlc3Rfd2Vic29ja2V0X3NlcnZlcl9fbm9ybWFsKHNlbGYpOgog
ICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQogICAgICAgICBzZWxmLmFzc2VydF9zZXJ2
ZXJzX2FyZV9kb3duKCdsb2NhbGhvc3QnLCBzZWxmLldFQlNPQ0tFVF9QT1JUUykKQEAgLTM1Miw2
ICszNTksNyBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBwb3J0LnN0b3Bfd2Vic29ja2V0X3NlcnZlcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0X3NlcnZl
cnNfYXJlX2Rvd24oJ2xvY2FsaG9zdCcsIHNlbGYuV0VCU09DS0VUX1BPUlRTKQogCisgICAgQHhm
YWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3Rfd2Vic29ja2V0X3NlcnZlcl9fZmFpbHMoc2Vs
Zik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAKQEAgLTM3Niw2ICszODQsNyBA
QCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBmaW5hbGx5
OgogICAgICAgICAgICAgcG9ydC5zdG9wX3dlYnNvY2tldF9zZXJ2ZXIoKQogCisgICAgQHhmYWls
CiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3Rfd2Vic29ja2V0X3NlcnZlcl9fdHdvX3NlcnZlcnMo
c2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAKQEAgLTQxMCw2ICs0MTks
NyBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxm
LmFzc2VydFRydWUobGVuKHBvcnQuYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoKSkgPiAwKQogICAg
ICAgICBzZWxmLmFzc2VydFRydWUocG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSBpbiBwb3J0LmFs
bF90ZXN0X2NvbmZpZ3VyYXRpb25zKCksICIlcyBub3QgaW4gJXMiICUgKHBvcnQudGVzdF9jb25m
aWd1cmF0aW9uKCksIHBvcnQuYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoKSkpCiAKKyAgICBAeGZh
aWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9odHRwX3NlcnZlcl9fbG9vcChzZWxmKToKICAg
ICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90ZXN0L21haW5fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rlc3QvbWFpbl91bml0dGVzdC5weQppbmRleCBlZjMxYjMyNzIxMTQxOTVkYzcxYjU5MDE4ZDQy
NDM4ZDUxYzE1MzRiLi43ZDE0ZTk5YjgxYjgyNWFkZGY4Njg3YzkyYWU2Y2UxZGE5N2JmMmU3IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0dGVzdC5weQpAQCAtMzAs
NiArMzAsNyBAQCBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgU3RyaW5nSU8KIGZyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVtCiBmcm9tIHdlYmtp
dHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUKIGZyb20gd2Via2l0
cHkudGVzdC5tYWluIGltcG9ydCBUZXN0ZXIsIF9Mb2FkZXIKK2Zyb20gd2Via2l0cHkudGVzdC5t
YXJrZXJzIGltcG9ydCB4ZmFpbAogCiBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgT3V0cHV0Q2Fw
dHVyZQogCkBAIC0xMDcsNiArMTA4LDcgQEAgY2xhc3MgVGVzdGVyVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgICAgICBTVFVCU19DTEFTUyArICcuc2VyaWFsX3Rlc3RfZW1wdHknLAog
ICAgICAgICAgICAgXSkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2Nv
dmVyYWdlX3dvcmtzKHNlbGYpOgogICAgICAgICBmaWxlc3lzdGVtID0gRmlsZVN5c3RlbSgpCiAg
ICAgICAgIGV4ZWN1dGl2ZSA9IEV4ZWN1dGl2ZSgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rlc3QvbWFya2Vycy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9t
YXJrZXJzLnB5CmluZGV4IDkzMGE0OWQwNDdhZjg4NDI3OWQ5N2JhNjcxNjlmN2FlYmE1YTliNzYu
LjZkNWFlM2VjNDAwMWQ0NjA4MWI1OTFmZTA3ODNmMDkzOWQ3OWE5ZjYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYXJrZXJzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdGVzdC9tYXJrZXJzLnB5CkBAIC02NCwzICs2NCw2IEBAIGRlZiBzbG93KGZ1bmMp
OgogICAgICAgICByZXR1cm4gcHl0ZXN0Lm1hcmsuc2xvdyhmdW5jKQogICAgIGV4Y2VwdCBOYW1l
RXJyb3I6CiAgICAgICAgIHJldHVybiBmdW5jCisKKworc2tpcCA9IHVuaXR0ZXN0LnNraXAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWRfdW5p
dHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkX3Vu
aXR0ZXN0LnB5CmluZGV4IDk0NmI3OTI1ZGY3ODQ2YzM0OTAyOWYwNjU0NjhhMjg4MWI5MDA1NzAu
LmM0M2QxNjFhOTZiOTM4YjE5NTk3ZGNlNzA3OWYzMjI0YWI2ZGZkNWQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWRfdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2hhc2xhbmRlZF91bml0dGVzdC5w
eQpAQCAtMzAsMTIgKzMwLDE0IEBAIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgdW5pdHRlc3QK
IAogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLmhhc2xhbmRlZCBpbXBvcnQgSGFzTGFuZGVkCitm
cm9tIHdlYmtpdHB5LnRlc3QubWFya2VycyBpbXBvcnQgc2tpcAogCiAKIGNsYXNzIEhhc0xhbmRl
ZFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIG1heERpZmYgPSBOb25lCiAKLSAgICBAdW5p
dHRlc3Quc2tpcFVubGVzcyhzdWJwcm9jZXNzLmNhbGwoJ3doaWNoIGludGVyZGlmZicsIHNoZWxs
PVRydWUsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpID09
IDAsICJyZXF1aXJlcyBpbnRlcmRpZmYiKQorICAgIEB1bml0dGVzdC5za2lwKCJ0aGlzIHNlZW1z
IHRvIGZhaWwgd2l0aCB1cC10by1kYXRlIGludGVyZGlmZiIpCisgICAgIyBAdW5pdHRlc3Quc2tp
cFVubGVzcyhzdWJwcm9jZXNzLmNhbGwoJ3doaWNoIGludGVyZGlmZicsIHNoZWxsPVRydWUsIHN0
ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpID09IDAsICJyZXF1
aXJlcyBpbnRlcmRpZmYiKQogICAgIGRlZiB0ZXN0X3J1bihzZWxmKToKICAgICAgICAgIyBUaGVz
ZSBwYXRjaGVzIHJlcXVpcmUgdHJhaWxpbmcgd2hpdGVzcGFjZSB0byByZW1haW4gdmFsaWQgcGF0
Y2hlcy4KICAgICAgICAgZGlmZjEgPSAiIiJcCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429676</attachid>
            <date>2021-05-25 12:29:58 -0700</date>
            <delta_ts>2021-05-25 13:28:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226017-20210525202956.patch</filename>
            <type>text/plain</type>
            <size>26878</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NzgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2E0MzNjYjk0MjYyZWJjMzliZDhmYWU2MDQwYjE1MzAx
ZjFjN2RmMS4uNTkwMzk1NTkzYzIyMGZiNjkyMGRlMWM5MmViMzE4NmY1ZjI5M2NmZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYw
IEBACisyMDIxLTA1LTIwICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgUnVuIHdlYmtpdHB5IGludGVncmF0aW9uIHRlc3RzIHVuZGVyIHB5dGVzdCBieSBkZWZh
dWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYw
MTcKKworICAgICAgICBSZXZpZXdlZCBieSBKb25hdGhhbiBCZWRhcmQuCisKKyAgICAgICAgVGhp
cyBpbnZvbHZlcyBhZGRpbmcgYSB2YXJpZXR5IG9mIG5ldyB4ZmFpbCBhbm5vdGF0aW9ucyBhbmQg
bW92aW5nIHNvbWUgdGVzdHMgdG8KKyAgICAgICAgYmUgc2VyaWFsIHRvIGF2b2lkIGZsYWtpbmVz
cy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJz
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ29tbWl0dGVyc1Rlc3QpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29uZnRlc3QucHk6CisgICAgICAgIChweXRlc3RfYWRkb3B0aW9uKTogUmVt
b3ZlIC0tcnVuLWludGVncmF0aW9uCisgICAgICAgIChweXRlc3RfY29sbGVjdGlvbl9tb2RpZnlp
dGVtcyk6IFJlbW92ZSAtLXJ1bi1pbnRlZ3JhdGlvbgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAg
ICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9iYXNpYyk6CisgICAgICAgIChSdW5UZXN0LnNlcmlh
bF90ZXN0X2JhdGNoX3NpemUpOgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9kcnlydW4p
OgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9mdWxsX3Jlc3VsdHNfaHRtbCk6CisgICAg
ICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X25vX29yZGVyX3dpdGhfZGlyZWN0b3J5X2VudHJpZXNf
aW5fbmF0dXJhbF9vcmRlcik6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X2djX2JldHdl
ZW5fdGVzdHMpOgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9jaGVja19mb3Jfd29ybGRf
bGVha3MpOgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9jb21wbGV4X3RleHQpOgorICAg
ICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF90aHJlYWRlZCk6CisgICAgICAgIChSdW5UZXN0LnNl
cmlhbF90ZXN0X3J1bl9mb3JjZSk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3J1bl9z
aW5nbHkpOgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9za2lwX2ZhaWxpbmdfdGVzdHMp
OgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9ydW5fc2luZ2x5X2FjdHVhbGx5X3J1bnNf
dGVzdHMpOgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9zdGRlcnJfaXNfc2F2ZWQpOgor
ICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9yZXN1bHRzX2RpcmVjdG9yeV9hYnNvbHV0ZSk6
CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X2RlZmF1bHQp
OgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9yZXN1bHRzX2RpcmVjdG9yeV9yZWxhdGl2
ZSk6CisgICAgICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X3J1bl9vcmRlcl9faW5saW5lKToKKyAg
ICAgICAgKFJ1blRlc3Quc2VyaWFsX3Rlc3RfYWRkaXRpb25hbF9wbGF0Zm9ybV9kaXJlY3Rvcnkp
OgorICAgICAgICAoUnVuVGVzdC5zZXJpYWxfdGVzdF9ub19odHRwX2FuZF9mb3JjZSk6CisgICAg
ICAgIChSdW5UZXN0LnNlcmlhbF90ZXN0X25vX2h0dHBfdGVzdHMpOgorICAgICAgICAoUnVuVGVz
dC5zZXJpYWxfdGVzdF9wbGF0Zm9ybV90ZXN0c19hcmVfZm91bmQpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250
ZXN0LnB5OgorICAgICAgICAoQmFzZVRlc3QpOgorICAgICAgICAoSFRUUFNlcnZlclRlc3QpOgor
ICAgICAgICAoSFRUUFNlcnZlclRlc3QuaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX25vcm1hbCk6
CisgICAgICAgIChIVFRQU2VydmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fZmFpbHMp
OgorICAgICAgICAoSFRUUFNlcnZlclRlc3QuaW50ZWdyYXRpb25fdGVzdF9wb3J0X2FuZF9yb290
KToKKyAgICAgICAgKFdlYnNvY2tldHNlcnZlclRlc3QpOgorICAgICAgICAoV2Vic29ja2V0c2Vy
dmVyVGVzdC5pbnRlZ3JhdGlvbl90ZXN0X3NlcnZlcl9fbm9ybWFsKToKKyAgICAgICAgKFdlYnNv
Y2tldHNlcnZlclRlc3QuaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX2ZhaWxzKToKKyAgICAgICAg
KFdlYnNvY2tldHNlcnZlclRlc3QuaW50ZWdyYXRpb25fdGVzdF9wb3J0X2FuZF9yb290KToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weToKKyAgICAgICAg
KFBvcnRUZXN0Q2FzZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW5fdW5p
dHRlc3QucHk6CisgICAgICAgIChUZXN0ZXJUZXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rlc3QvbWFya2Vycy5weToKKyAgICAgICAgKHNraXApOiBBZGQgc2tpcAorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWRfdW5pdHRlc3QucHk6CisgICAg
ICAgIChIYXNMYW5kZWRUZXN0KTogQWx3YXlzIHNraXAgdGhpcywgYXMgaXQgc2VlbXMgdG8gZmFp
bCBhbHdheXMKKwogMjAyMS0wNS0xOSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGEgd2F5IHRvIGNyZWF0ZSBgIndoZWVsImAgZXZlbnRzIGZyb20gZ2Vz
dHVyZS90b3VjaCBldmVudHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy9jb21taXR0ZXJzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnNfdW5pdHRlc3QucHkKaW5kZXggYjM0ZjM5YTc3ZTg5
YWFkMDA4YTVhMTk3MjNlNzBlMTY1NjQyYjAxOC4uZTZiMDk5MTYxMmNjOWI1OWE3YTNkNDY5ZGUw
Mjc2NGFjNWMxZjQ3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y29uZmlnL2NvbW1pdHRlcnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnNfdW5pdHRlc3QucHkKQEAgLTI4LDYgKzI4LDggQEAK
IGltcG9ydCB1bml0dGVzdAogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNvbW1pdHRlcnMg
aW1wb3J0IENvbW1pdHRlckxpc3QsIENvbnRyaWJ1dG9yLCBDb21taXR0ZXIsIFJldmlld2VyCiAK
K2Zyb20gd2Via2l0cHkudGVzdC5tYXJrZXJzIGltcG9ydCB4ZmFpbAorCiAKIGNsYXNzIENvbW1p
dHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9jb21taXR0ZXJfbG9v
a3VwKHNlbGYpOgpAQCAtMTQ5LDYgKzE1MSw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ2FwJywgJ0Fs
ZXhleSBQcm9za3VyeWFrb3YnLCAwKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgn
QWxleGV5IFAnLCAnQWxleGV5IFByb3NrdXJ5YWtvdicsIDApCiAKKyAgICBAeGZhaWwKICAgICBk
ZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNfYWxpY2VfbGl1KHNlbGYpOgogICAgICAg
ICAjIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdBbGljZScsICdBbGljZSBMaXUnLCAwKQogICAg
ICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnYWxpdScsICdBbGljZSBMaXUnLCAwKQpAQCAt
MTg1LDYgKzE4OCw3IEBAIGNsYXNzIENvbW1pdHRlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgIyBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnQ2hyaXMnLCAnQ2hyaXMgQmx1bWVu
YmVyZycsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdjYmx1JywgJ0Nocmlz
IEJsdW1lbmJlcmcnLCAwKQogCisgICAgQHhmYWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3Rf
Y29udHJpYnV0b3JzX2Rhbl9iZXJuc3RlaW4oc2VsZik6CiAgICAgICAgIHNlbGYuX2Fzc2VydF9m
dXp6X21hdGNoKCdEYW4nLCBbJ0RhbiBXaW5zaGlwJywgJ0RhbiBCZXJuc3RlaW4nXSwgMCkKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0RhbiBCJywgJ0RhbiBCZXJuc3RlaW4nLCAw
KQpAQCAtMjA4LDEwICsyMTIsMTIgQEAgY2xhc3MgQ29tbWl0dGVyc1Rlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnaGFycmlzb24nLCAnRGF2
aWQgSGFycmlzb24nLCAwKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRHIuIEhh
cnJpc29uJywgJ0RhdmlkIEhhcnJpc29uJywgNCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRl
Z3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19kYXZpZF9oYXJyaXNvbl8yKHNlbGYpOgogICAgICAg
ICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnRGF2ZSBIYXJyc29uJywgJ0RhdmlkIEhhcnJpc29u
JywgMykKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0RhdmUgSGFycnNpb24nLCAn
RGF2aWQgSGFycmlzb24nLCA0KSAgIyBEYW1lcmF1LUxldmVuc2h0ZWluIGRpc3RhbmNlIGlzIDMK
IAorICAgIEB4ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19kYXZp
ZF9oeWF0dChzZWxmKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0RhdmUgSHlh
dHQnLCAnRGF2aWQgSHlhdHQnLCAyKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgn
RGFkZHkgSHlhdHQnLCAnRGF2aWQgSHlhdHQnLCAzKQpAQCAtMjE5LDExICsyMjUsMTMgQEAgY2xh
c3MgQ29tbWl0dGVyc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLl9hc3Nl
cnRfZnV6el9tYXRjaCgnaHlhdHQnLCAnRGF2aWQgSHlhdHQnLCAwKQogICAgICAgICAjIHNlbGYu
X2Fzc2VydF9mdXp6X21hdGNoKCdIYXl0dCcsICdEYXZpZCBIeWF0dCcsIDApICAjIFdvcmtzIGlm
IHdlIGhhZCBpbXBsZW1lbnRlZCBEYW1lcmF1LUxldmVuc2h0ZWluIGRpc3RhbmNlIQogCisgICAg
QHhmYWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfY29udHJpYnV0b3JzX2RhdmlkX2tpbHpl
cihzZWxmKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0RhdmUgS2lsemVyJywg
J0RhdmlkIEtpbHplcicsIDIpCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdEYXZp
ZCBELiBLaWx6ZXInLCAnRGF2aWQgS2lsemVyJywgMykKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1
enpfbWF0Y2goJ2Rka2lsemVyJywgJ0RhdmlkIEtpbHplcicsIDApCiAKKyAgICBAeGZhaWwKICAg
ICBkZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNfZG9uX21lbHRvbihzZWxmKToKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0RvbicsICdEb24gTWVsdG9uJywgMCkKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0dyYW1wcycsICdEb24gTWVsdG9uJywgMCkK
QEAgLTIzNCw2ICsyNDIsNyBAQCBjbGFzcyBDb21taXR0ZXJzVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ01hY0RvbWUnLCAnRXJpYyBT
ZWlkZWwnLCAwKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnZXNlaWRlbCcsICdF
cmljIFNlaWRlbCcsIDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9j
b250cmlidXRvcnNfZ2VvZmZyZXlfZ2FyZW4oc2VsZik6CiAgICAgICAgICMgc2VsZi5fYXNzZXJ0
X2Z1enpfbWF0Y2goJ0dlb2YnLCAnR2VvZmZyZXkgR2FyZW4nLCA0KQogICAgICAgICAjIHNlbGYu
X2Fzc2VydF9mdXp6X21hdGNoKCdHZW9mZicsICdHZW9mZnJleSBHYXJlbicsIDMpCkBAIC0yNDYs
NiArMjU1LDcgQEAgY2xhc3MgQ29tbWl0dGVyc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
IGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc19ncmVnX2JvbHNpbmdhKHNlbGYpOgog
ICAgICAgICBwYXNzICAjIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdHcmVnJywgJ0dyZWcgQm9s
c2luZ2EnLCAwKQogCisgICAgQHhmYWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfY29udHJp
YnV0b3JzX2hvbGdlcl9mcmV5dGhlcihzZWxmKToKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpf
bWF0Y2goJ0hvbGdlcicsICdIb2xnZXIgRnJleXRoZXInLCAwKQogICAgICAgICBzZWxmLl9hc3Nl
cnRfZnV6el9tYXRjaCgnSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXInLCAnSG9sZ2VyIEZyZXl0
aGVyJywgMTEpCkBAIC0yNjIsMTMgKzI3MiwxNiBAQCBjbGFzcyBDb21taXR0ZXJzVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ2p1c3Rp
bicsICdKdXN0aW4gR2FyY2lhJywgMCkKICAgICAgICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2go
J2p1c3RpbmcnLCAnSnVzdGluIEdhcmNpYScsIDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50
ZWdyYXRpb25fdGVzdF9jb250cmlidXRvcnNfam9zZXBoX3BlY29yYXJvKHNlbGYpOgogICAgICAg
ICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgnSm9lIFBlY29yYXJvJywgJ0pvc2VwaCBQZWNvcmFy
bycsIDMpCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9jb250cmlidXRv
cnNfa2VuX2tvY2llbmRhKHNlbGYpOgogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9tYXRjaCgn
a2VuJywgJ0tlbiBLb2NpZW5kYScsIDApCiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNo
KCdrb2NpZW5kYScsICdLZW4gS29jaWVuZGEnLCAwKQogCisgICAgQHhmYWlsCiAgICAgZGVmIGlu
dGVncmF0aW9uX3Rlc3RfY29udHJpYnV0b3JzX2tlbm5ldGhfcnVzc2VsbChzZWxmKToKICAgICAg
ICAgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ0tlbiBSdXNzZWxsJywgJ0tlbm5ldGggUnVzc2Vs
bCcsIDQpCiAKQEAgLTI5Nyw2ICszMTAsNyBAQCBjbGFzcyBDb21taXR0ZXJzVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdtcm93ZScsICdN
YXJrIFJvd2UnLCAwKQogICAgICAgICAjIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdCcmlhbiBE
YXNoJywgJ01hcmsgUm93ZScsIDApCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25f
dGVzdF9jb250cmlidXRvcnNfbmlrb2xhc196aW1tZXJtYW5uKHNlbGYpOgogICAgICAgICAjIHNl
bGYuX2Fzc2VydF9mdXp6X21hdGNoKCdOaWtvJywgJ05pa29sYXMgWmltbWVybWFubicsIDEpCiAg
ICAgICAgIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdOaWtvIFppbW1lcm1hbm4nLCAnTmlrb2xh
cyBaaW1tZXJtYW5uJywgMykKQEAgLTM0Myw2ICszNTcsNyBAQCBjbGFzcyBDb21taXR0ZXJzVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2go
J1RpbSBPLicsICdUaW0gT21lcm5pY2snLCAwKQogICAgICAgICBzZWxmLl9hc3NlcnRfZnV6el9t
YXRjaCgnVGltIE8nLCAnVGltIE9tZXJuaWNrJywgMCkKIAorICAgIEB4ZmFpbAogICAgIGRlZiBp
bnRlZ3JhdGlvbl90ZXN0X2NvbnRyaWJ1dG9yc190aW1vdGh5X2hhdGNoZXIoc2VsZik6CiAgICAg
ICAgICMgc2VsZi5fYXNzZXJ0X2Z1enpfbWF0Y2goJ1RpbScsICdUaW1vdGh5IEhhdGNoZXInLCAw
KQogICAgICAgICAjIHNlbGYuX2Fzc2VydF9mdXp6X21hdGNoKCdUaW0gSCcsICdUaW1vdGh5IEhh
dGNoZXInLCAwKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb25mdGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29uZnRlc3QucHkKaW5kZXggZTAzZmEwNmNjZTY5
OTRjNzIyNTRjNjhhYTM5MDRkYTNkMWNlODUxMC4uMWNiZWQ1NDVkZTdhMDhhOGE3OTAwNmE4YmRl
ZDdhMTI0NGJkYWYyMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb25mdGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5CkBAIC0zNCwxMiAr
MzQsNiBAQCBkZWYgcHl0ZXN0X2NvbmZpZ3VyZShjb25maWcpOgogCiAKIGRlZiBweXRlc3RfYWRk
b3B0aW9uKHBhcnNlcik6Ci0gICAgcGFyc2VyLmFkZG9wdGlvbigKLSAgICAgICAgIi0tcnVuLWlu
dGVncmF0aW9uIiwKLSAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgZGVmYXVs
dD1GYWxzZSwKLSAgICAgICAgaGVscD0icnVuIGludGVncmF0aW9uIHRlc3RzIiwKLSAgICApCiAg
ICAgcGFyc2VyLmFkZG9wdGlvbigKICAgICAgICAgIi0tcnVuLXNsb3ciLCBhY3Rpb249InN0b3Jl
X3RydWUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJydW4gc2xvdyB0ZXN0cyIKICAgICApCkBAIC0x
MDUsMTQgKzk5LDYgQEAgZGVmIHB5dGVzdF9jb2xsZWN0aW9uX21vZGlmeWl0ZW1zKGNvbmZpZywg
aXRlbXMpOgogICAgICAgICAgICAgaWYgInNlcmlhbCIgaW4gaXRlbS5rZXl3b3JkczoKICAgICAg
ICAgICAgICAgICBpdGVtLmFkZF9tYXJrZXIoc2tpcF9zZXJpYWwpCiAKLSAgICBpZiBub3QgY29u
ZmlnLmdldG9wdGlvbigiLS1ydW4taW50ZWdyYXRpb24iKToKLSAgICAgICAgc2tpcF9pbnRlZ3Jh
dGlvbiA9IHB5dGVzdC5tYXJrLnNraXAoCi0gICAgICAgICAgICByZWFzb249Im5lZWQgLS1ydW4t
aW50ZWdyYXRpb24gb3B0aW9uIHRvIHJ1biIKLSAgICAgICAgKQotICAgICAgICBmb3IgaXRlbSBp
biBpdGVtczoKLSAgICAgICAgICAgIGlmICJpbnRlZ3JhdGlvbiIgaW4gaXRlbS5rZXl3b3JkczoK
LSAgICAgICAgICAgICAgICBpdGVtLmFkZF9tYXJrZXIoc2tpcF9pbnRlZ3JhdGlvbikKLQogICAg
IGlmIG5vdCBjb25maWcuZ2V0b3B0aW9uKCItLXJ1bi1zbG93Iik6CiAgICAgICAgIHNraXBfc2xv
dyA9IHB5dGVzdC5tYXJrLnNraXAocmVhc29uPSJuZWVkIC0tcnVuLXNsb3cgb3B0aW9uIHRvIHJ1
biIpCiAgICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
X2ludGVncmF0aW9udGVzdC5weQppbmRleCAxODQ3ZTVjYjFlMjgzOGQ0NDY0MDJmOWI2YTUyZDlh
MGM0MGI3M2JjLi40NGFmYjdlYWY3NTBhNzY4MDAzMGZjYWQ5MTFmZDIzMjI3YzkyMjQ2IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rl
c3RzX2ludGVncmF0aW9udGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQpAQCAtMTc2LDcgKzE3
Niw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhp
bik6CiAgICAgICAgICMgRklYTUU6IE11bHRpcHJvY2Vzc2luZyBkb2Vzbid0IGRvIHdlbGwgd2hl
biBuZXN0ZWQgaW4gUHl0aG9uIDMgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDUyODApCiAgICAgICAgIHNlbGYuc2hvdWxkX3Rlc3RfcHJvY2Vzc2VzID0gbm90IHNl
bGYuX3BsYXRmb3JtLmlzX3dpbigpIGFuZCBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDApCiAKLSAg
ICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfYmFzaWMoc2VsZik6
CiAgICAgICAgIG9wdGlvbnMsIGFyZ3MgPSBwYXJzZV9hcmdzKHRlc3RzX2luY2x1ZGVkPVRydWUp
CiAgICAgICAgIGxvZ2dpbmdfc3RyZWFtID0gU3RyaW5nSU8oKQogICAgICAgICBob3N0ID0gTW9j
a0hvc3QoKQpAQCAtMjA4LDcgKzIwOCw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENh
c2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChob3N0
LnVzZXIub3BlbmVkX3VybHMsIFtwYXRoLmFic3BhdGhfdG9fdXJpKE1vY2tIb3N0KCkucGxhdGZv
cm0sICcvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmVzdWx0cy5odG1sJyldKQogCi0gICAgZGVm
IHRlc3RfYmF0Y2hfc2l6ZShzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfYmF0Y2hfc2l6ZShz
ZWxmKToKICAgICAgICAgYmF0Y2hfdGVzdHNfcnVuID0gZ2V0X3Rlc3RfYmF0Y2hlcyhbJy0tYmF0
Y2gtc2l6ZScsICcyJ10pCiAgICAgICAgIGZvciBiYXRjaCBpbiBiYXRjaF90ZXN0c19ydW46CiAg
ICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKGJhdGNoKSA8PSAyLCAnJXMgaGFkIHRvbyBt
YW55IHRlc3RzJyAlICcsICcuam9pbihiYXRjaCkpCkBAIC0yMjYsNyArMjI2LDcgQEAgY2xhc3Mg
UnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
ICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBzaGFyZWRfcG9ydD1GYWxzZSkKICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShhbnkoWydSdW5uaW5nIDEgJyBpbiBsaW5lIGZvciBsaW5lIGlu
IHJlZ3VsYXJfb3V0cHV0LmdldHZhbHVlKCkuc3BsaXRsaW5lcygpXSkpCiAKLSAgICBkZWYgdGVz
dF9kcnlydW4oc2VsZik6CisgICAgZGVmIHNlcmlhbF90ZXN0X2RyeXJ1bihzZWxmKToKICAgICAg
ICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tZHJ5LXJ1biddKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHRlc3RzX3J1biwgW10pCiAKQEAgLTI1MCw3ICsyNTAsNyBAQCBjbGFzcyBS
dW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAg
ICAgc2VsZi5hc3NlcnRSYWlzZXMoQmFzZUV4Y2VwdGlvbiwgbG9nZ2luZ19ydW4sCiAgICAgICAg
ICAgICAgICAgWyctLWNoaWxkLXByb2Nlc3NlcycsICcyJywgJy0tZm9yY2UnLCAnZmFpbHVyZXMv
ZXhwZWN0ZWQvZXhjZXB0aW9uLmh0bWwnLCAncGFzc2VzL3RleHQuaHRtbCddLCB0ZXN0c19pbmNs
dWRlZD1UcnVlLCBzaGFyZWRfcG9ydD1GYWxzZSkKIAotICAgIGRlZiB0ZXN0X2Z1bGxfcmVzdWx0
c19odG1sKHNlbGYpOgorICAgIGRlZiBzZXJpYWxfdGVzdF9mdWxsX3Jlc3VsdHNfaHRtbChzZWxm
KToKICAgICAgICAgIyBGSVhNRTogdmVyaWZ5IGh0bWw/CiAgICAgICAgIGRldGFpbHMsIF8sIF8g
PSBsb2dnaW5nX3J1bihbJy0tZnVsbC1yZXN1bHRzLWh0bWwnXSkKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChkZXRhaWxzLmV4aXRfY29kZSwgMCkKQEAgLTMwOCwyMSArMzA4LDIxIEBAIGNsYXNz
IFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAg
IHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLW9yZGVyPW5vbmUnXSArIHRlc3RzX3RvX3J1
bikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0c190b19ydW4sIHRlc3RzX3J1bikKIAot
ICAgIGRlZiB0ZXN0X25vX29yZGVyX3dpdGhfZGlyZWN0b3J5X2VudHJpZXNfaW5fbmF0dXJhbF9v
cmRlcihzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3Rfbm9fb3JkZXJfd2l0aF9kaXJlY3Rvcnlf
ZW50cmllc19pbl9uYXR1cmFsX29yZGVyKHNlbGYpOgogICAgICAgICB0ZXN0c190b19ydW4gPSBb
J2h0dHAvdGVzdHMvc3NsJywgJ2h0dHAvdGVzdHMvcGFzc2VzJ10KICAgICAgICAgdGVzdHNfcnVu
ID0gZ2V0X3Rlc3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9fcnVuKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzX3J1biwgWydodHRwL3Rlc3RzL3NzbC90ZXh0Lmh0bWwn
LCAnaHR0cC90ZXN0cy9wYXNzZXMvaW1hZ2UuaHRtbCcsICdodHRwL3Rlc3RzL3Bhc3Nlcy90ZXh0
Lmh0bWwnXSkKIAotICAgIGRlZiB0ZXN0X2djX2JldHdlZW5fdGVzdHMoc2VsZik6CisgICAgZGVm
IHNlcmlhbF90ZXN0X2djX2JldHdlZW5fdGVzdHMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShwYXNzaW5nX3J1bihbJy0tZ2MtYmV0d2Vlbi10ZXN0cyddKSkKIAotICAgIGRlZiB0ZXN0
X2NoZWNrX2Zvcl93b3JsZF9sZWFrcyhzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfY2hlY2tf
Zm9yX3dvcmxkX2xlYWtzKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19y
dW4oWyctLXdvcmxkLWxlYWtzJ10pKQogCi0gICAgZGVmIHRlc3RfY29tcGxleF90ZXh0KHNlbGYp
OgorICAgIGRlZiBzZXJpYWxfdGVzdF9jb21wbGV4X3RleHQoc2VsZik6CiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihbJy0tY29tcGxleC10ZXh0J10pKQogCi0gICAgZGVmIHRl
c3RfdGhyZWFkZWQoc2VsZik6CisgICAgZGVmIHNlcmlhbF90ZXN0X3RocmVhZGVkKHNlbGYpOgog
ICAgICAgICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4oWyctLXRocmVhZGVkJ10pKQogCiAg
ICAgZGVmIHRlc3RfcmVwZWF0X2VhY2goc2VsZik6CkBAIC0zODEsNyArMzgxLDcgQEAgY2xhc3Mg
UnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
Y2h1bmtfdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tcnVuLWNodW5rJywgJzE6MycsICct
LXNraXBwZWQnLCAnYWx3YXlzJ10gKyB0ZXN0c190b19ydW4pCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoWydwYXNzZXMvdGV4dC5odG1sJywgJ3Bhc3Nlcy9lcnJvci5odG1sJywgJ3Bhc3Nlcy9p
bWFnZS5odG1sJ10sIGNodW5rX3Rlc3RzX3J1bikKIAotICAgIGRlZiB0ZXN0X3J1bl9mb3JjZShz
ZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfcnVuX2ZvcmNlKHNlbGYpOgogICAgICAgICAjIFRo
aXMgcmFpc2VzIGFuIGV4Y2VwdGlvbiBiZWNhdXNlIHdlIHJ1bgogICAgICAgICAjIGZhaWx1cmVz
L2V4cGVjdGVkL2V4Y2VwdGlvbi5odG1sLCB3aGljaCBpcyBub3JtYWxseSBTS0lQcGVkLgogCkBA
IC0zOTksMTIgKzM5OSwxMiBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJl
YW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBjaHVua190ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVu
KFsnLS1ydW4tcGFydCcsICczOjMnLCAnLS1za2lwcGVkJywgJ2Fsd2F5cyddICsgdGVzdHNfdG9f
cnVuKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsncGFzc2VzL2Vycm9yLmh0bWwnLCAncGFz
c2VzL2ltYWdlLmh0bWwnXSwgY2h1bmtfdGVzdHNfcnVuKQogCi0gICAgZGVmIHRlc3RfcnVuX3Np
bmdseShzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfcnVuX3NpbmdseShzZWxmKToKICAgICAg
ICAgYmF0Y2hfdGVzdHNfcnVuID0gZ2V0X3Rlc3RfYmF0Y2hlcyhbJy0tcnVuLXNpbmdseSddKQog
ICAgICAgICBmb3IgYmF0Y2ggaW4gYmF0Y2hfdGVzdHNfcnVuOgogICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChsZW4oYmF0Y2gpLCAxLCAnJXMgaGFkIHRvbyBtYW55IHRlc3RzJyAlICcsICcu
am9pbihiYXRjaCkpCiAKLSAgICBkZWYgdGVzdF9za2lwX2ZhaWxpbmdfdGVzdHMoc2VsZik6Cisg
ICAgZGVmIHNlcmlhbF90ZXN0X3NraXBfZmFpbGluZ190ZXN0cyhzZWxmKToKICAgICAgICAgIyBU
aGlzIHRlc3RzIHRoYXQgd2Ugc2tpcCBib3RoIGtub3duIGZhaWxpbmcgYW5kIGtub3duIGZsYWt5
IHRlc3RzLiBCZWNhdXNlIHRoZXJlIGFyZQogICAgICAgICAjIG5vIGtub3duIGZsYWt5IHRlc3Rz
IGluIHRoZSBkZWZhdWx0IHRlc3RfZXhwZWN0YXRpb25zLCB3ZSBhZGQgYWRkaXRpb25hbCBleHBl
Y3RhdGlvbnMuCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCkBAIC00MTgsNyArNDE4LDcgQEAg
Y2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAg
ICAgICAgICAgIGhhc19wYXNzZXNfdGV4dCA9IGhhc19wYXNzZXNfdGV4dCBvciAoJ3Bhc3Nlcy90
ZXh0Lmh0bWwnIGluIGJhdGNoKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzX3Bhc3Nlc190
ZXh0KQogCi0gICAgZGVmIHRlc3RfcnVuX3NpbmdseV9hY3R1YWxseV9ydW5zX3Rlc3RzKHNlbGYp
OgorICAgIGRlZiBzZXJpYWxfdGVzdF9ydW5fc2luZ2x5X2FjdHVhbGx5X3J1bnNfdGVzdHMoc2Vs
Zik6CiAgICAgICAgIGRldGFpbHMsIF8sIF8gPSBsb2dnaW5nX3J1bihbJy0tcnVuLXNpbmdseSdd
LCB0ZXN0c19pbmNsdWRlZD1UcnVlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRldGFpbHMu
ZXhpdF9jb2RlLCB0ZXN0LlVORVhQRUNURURfRkFJTFVSRVMgLSAxKSAgIyBmYWlsdXJlcy9leHBl
Y3RlZC9oYW5nLmh0bWwgYWN0dWFsbHkgcGFzc2VzIHcvIC0tcnVuLXNpbmdseS4KIApAQCAtNDM0
LDcgKzQzNCw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3Rp
bmdNaXhpbik6CiAgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWydmYWlsdXJlcy9l
eHBlY3RlZC9rZXliYW9yZC5odG1sJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW10sIHRl
c3RzX3J1bikKIAotICAgIGRlZiB0ZXN0X3N0ZGVycl9pc19zYXZlZChzZWxmKToKKyAgICBkZWYg
c2VyaWFsX3Rlc3Rfc3RkZXJyX2lzX3NhdmVkKHNlbGYpOgogICAgICAgICBob3N0ID0gTW9ja0hv
c3QoKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4oaG9zdD1ob3N0KSkKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChob3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy90
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wYXNzZXMvZXJyb3Itc3RkZXJyLnR4dCcpLApAQCAtNjYx
LDcgKzY2MSw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3Rp
bmdNaXhpbik6CiAgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWydmYWlsdXJlcy9l
eHBlY3RlZC9jcmFzaC5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAnLS1leGl0LWFmdGVyLW4t
Y3Jhc2hlcy1vci10aW1lb3V0cycsICcxJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydm
YWlsdXJlcy9leHBlY3RlZC9jcmFzaC5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnXSwgdGVzdHNf
cnVuKQogCi0gICAgZGVmIHRlc3RfcmVzdWx0c19kaXJlY3RvcnlfYWJzb2x1dGUoc2VsZik6Cisg
ICAgZGVmIHNlcmlhbF90ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X2Fic29sdXRlKHNlbGYpOgogICAg
ICAgICAjIFdlIHJ1biBhIGNvbmZpZ3VyYXRpb24gdGhhdCBzaG91bGQgZmFpbCwgdG8gZ2VuZXJh
dGUgb3V0cHV0LCB0aGVuCiAgICAgICAgICMgbG9vayBmb3Igd2hhdCB0aGUgb3V0cHV0IHJlc3Vs
dHMgdXJsIHdhcy4KIApAQCAtNjcwLDcgKzY3MCw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3Qu
VGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgICAgICBfLCBfLCB1c2VyID0g
bG9nZ2luZ19ydW4oWyctLXJlc3VsdHMtZGlyZWN0b3J5PScgKyBzdHIodG1wZGlyKV0sIHRlc3Rz
X2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
dXNlci5vcGVuZWRfdXJscywgW3BhdGguYWJzcGF0aF90b191cmkoaG9zdC5wbGF0Zm9ybSwgaG9z
dC5maWxlc3lzdGVtLmpvaW4odG1wZGlyLCAncmVzdWx0cy5odG1sJykpXSkKIAotICAgIGRlZiB0
ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X2RlZmF1bHQoc2VsZik6CisgICAgZGVmIHNlcmlhbF90ZXN0
X3Jlc3VsdHNfZGlyZWN0b3J5X2RlZmF1bHQoc2VsZik6CiAgICAgICAgICMgV2UgcnVuIGEgY29u
ZmlndXJhdGlvbiB0aGF0IHNob3VsZCBmYWlsLCB0byBnZW5lcmF0ZSBvdXRwdXQsIHRoZW4KICAg
ICAgICAgIyBsb29rIGZvciB3aGF0IHRoZSBvdXRwdXQgcmVzdWx0cyB1cmwgd2FzLgogCkBAIC02
NzgsNyArNjc4LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVz
dGluZ01peGluKToKICAgICAgICAgXywgXywgdXNlciA9IGxvZ2dpbmdfcnVuKHRlc3RzX2luY2x1
ZGVkPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXNlci5vcGVuZWRfdXJscywgW3Bh
dGguYWJzcGF0aF90b191cmkoTW9ja0hvc3QoKS5wbGF0Zm9ybSwgJy90bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9yZXN1bHRzLmh0bWwnKV0pCiAKLSAgICBkZWYgdGVzdF9yZXN1bHRzX2RpcmVjdG9y
eV9yZWxhdGl2ZShzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3RfcmVzdWx0c19kaXJlY3Rvcnlf
cmVsYXRpdmUoc2VsZik6CiAgICAgICAgICMgV2UgcnVuIGEgY29uZmlndXJhdGlvbiB0aGF0IHNo
b3VsZCBmYWlsLCB0byBnZW5lcmF0ZSBvdXRwdXQsIHRoZW4KICAgICAgICAgIyBsb29rIGZvciB3
aGF0IHRoZSBvdXRwdXQgcmVzdWx0cyB1cmwgd2FzLgogICAgICAgICBob3N0ID0gTW9ja0hvc3Qo
KQpAQCAtNzQ0LDcgKzc0NCw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0
cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShob3N0LmZpbGVzeXN0
ZW0uZXhpc3RzKCcvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFpbHVyZXMvdW5leHBlY3RlZC90
ZXh0LWltYWdlLWNoZWNrc3VtLWFjdHVhbC50eHQnKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KGhvc3QuZmlsZXN5c3RlbS5leGlzdHMoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9yZXRyaWVz
L2ZhaWx1cmVzL3VuZXhwZWN0ZWQvdGV4dC1pbWFnZS1jaGVja3N1bS1hY3R1YWwudHh0JykpCiAK
LSAgICBkZWYgdGVzdF9ydW5fb3JkZXJfX2lubGluZShzZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rl
c3RfcnVuX29yZGVyX19pbmxpbmUoc2VsZik6CiAgICAgICAgICMgVGhlc2UgbmV4dCB0ZXN0cyB0
ZXN0IHRoYXQgd2UgcnVuIHRoZSB0ZXN0cyBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsCiAgICAg
ICAgICMgb3JkZXIgcGVyIGRpcmVjdG9yeS4gSFRUUCB0ZXN0cyBhcmUgc2hhcmRlZCBzZXBhcmF0
ZWx5IGZyb20gb3RoZXIgdGVzdHMsCiAgICAgICAgICMgc28gd2UgaGF2ZSB0byB0ZXN0IGJvdGgu
CkBAIC04MDcsNyArODA3LDcgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3Ry
ZWFtVGVzdGluZ01peGluKToKICAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RfcmVzdWx0cyhb
J3Bhc3Nlcy9taXNtYXRjaC5odG1sJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdHNf
cnVuWzBdLnJlZmVyZW5jZXMsIFsncGFzc2VzL21pc21hdGNoLWV4cGVjdGVkLW1pc21hdGNoLmh0
bWwnXSkKIAotICAgIGRlZiB0ZXN0X2FkZGl0aW9uYWxfcGxhdGZvcm1fZGlyZWN0b3J5KHNlbGYp
OgorICAgIGRlZiBzZXJpYWxfdGVzdF9hZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeShzZWxm
KToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhc3NpbmdfcnVuKFsnLS1hZGRpdGlvbmFsLXBs
YXRmb3JtLWRpcmVjdG9yeScsICcvdG1wL2ZvbyddKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KHBhc3NpbmdfcnVuKFsnLS1hZGRpdGlvbmFsLXBsYXRmb3JtLWRpcmVjdG9yeScsICcvdG1wLy4u
L2ZvbyddKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhc3NpbmdfcnVuKFsnLS1hZGRpdGlv
bmFsLXBsYXRmb3JtLWRpcmVjdG9yeScsICcvdG1wL2ZvbycsICctLWFkZGl0aW9uYWwtcGxhdGZv
cm0tZGlyZWN0b3J5JywgJy90bXAvYmFyJ10pKQpAQCAtODE5LDcgKzgxOSw3IEBAIGNsYXNzIFJ1
blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihbJy0tYWRkaXRpb25hbC1leHBlY3RhdGlvbnMnLCAn
L3RtcC9vdmVycmlkZXMudHh0JywgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzbWF0Y2guaHRtbCdd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1
ZSwgaG9zdD1ob3N0KSkKIAotICAgIGRlZiB0ZXN0X25vX2h0dHBfYW5kX2ZvcmNlKHNlbGYpOgor
ICAgIGRlZiBzZXJpYWxfdGVzdF9ub19odHRwX2FuZF9mb3JjZShzZWxmKToKICAgICAgICAgIyBT
ZWUgdGVzdF9ydW5fZm9yY2UsIHVzaW5nIC0tZm9yY2UgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KICAg
ICAgICAgIyBGSVhNRTogV2Ugd291bGQgbGlrZSB0byBjaGVjayB0aGUgd2FybmluZ3MgZ2VuZXJh
dGVkLgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBsb2dnaW5nX3J1biwg
WyctLWZvcmNlJywgJy0tbm8taHR0cCddKQpAQCAtODI4LDcgKzgyOCw3IEBAIGNsYXNzIFJ1blRl
c3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgZGVmIGhhc190
ZXN0X29mX3R5cGUodGVzdHMsIHR5cGUpOgogICAgICAgICByZXR1cm4gW3Rlc3QgZm9yIHRlc3Qg
aW4gdGVzdHMgaWYgdHlwZSBpbiB0ZXN0XQogCi0gICAgZGVmIHRlc3Rfbm9faHR0cF90ZXN0cyhz
ZWxmKToKKyAgICBkZWYgc2VyaWFsX3Rlc3Rfbm9faHR0cF90ZXN0cyhzZWxmKToKICAgICAgICAg
YmF0Y2hfdGVzdHNfZHJ5cnVuID0gZ2V0X3Rlc3RzX3J1bihbJ0xheW91dFRlc3RzL2h0dHAnLCAn
d2Vic29ja2V0LyddKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoUnVuVGVzdC5oYXNfdGVzdF9v
Zl90eXBlKGJhdGNoX3Rlc3RzX2RyeXJ1biwgJ2h0dHAnKSkKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKFJ1blRlc3QuaGFzX3Rlc3Rfb2ZfdHlwZShiYXRjaF90ZXN0c19kcnlydW4sICd3ZWJzb2Nr
ZXQnKSkKQEAgLTg0MSw3ICs4NDEsNyBAQCBjbGFzcyBSdW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
LCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBzZWxmLmFzc2VydFRydWUoUnVuVGVzdC5o
YXNfdGVzdF9vZl90eXBlKGJhdGNoX3Rlc3RzX3J1bl9odHRwLCAnaHR0cCcpKQogICAgICAgICBz
ZWxmLmFzc2VydFRydWUoUnVuVGVzdC5oYXNfdGVzdF9vZl90eXBlKGJhdGNoX3Rlc3RzX3J1bl9o
dHRwLCAnd2Vic29ja2V0JykpCiAKLSAgICBkZWYgdGVzdF9wbGF0Zm9ybV90ZXN0c19hcmVfZm91
bmQoc2VsZik6CisgICAgZGVmIHNlcmlhbF90ZXN0X3BsYXRmb3JtX3Rlc3RzX2FyZV9mb3VuZChz
ZWxmKToKICAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tcGxhdGZvcm0nLCAn
dGVzdC1tYWMtbGVvcGFyZCcsICdodHRwJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgncGxh
dGZvcm0vdGVzdC1tYWMtbGVvcGFyZC9odHRwL3Rlc3QuaHRtbCcgaW4gdGVzdHNfcnVuKQogICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKCdwbGF0Zm9ybS90ZXN0LXdpbi13aW43L2h0dHAvdGVzdC5o
dG1sJyBpbiB0ZXN0c19ydW4pCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdy
YXRpb250ZXN0LnB5CmluZGV4IDZjOWZjMmI2OTliMDE2ZDk5ZjAzMTY4ZjQ2ZTllZDY1NDI3ZWM5
NmIuLjQ1NmZkNTJmZGQzYjZkMDE2ZWQyMDE3Nzg0ZTE1Y2I3NDNlYmIzZWMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJf
aW50ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC0zOCw5ICszOCwx
NCBAQCBpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAogCitmcm9t
IGNvcHkgaW1wb3J0IGNvcHkKKworZnJvbSB3ZWJraXRweS50ZXN0Lm1hcmtlcnMgaW1wb3J0IHNs
b3csIHhmYWlsLCBza2lwCisKIAogY2xhc3MgQmFzZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICIiIkJhc2ljIGZyYW1ld29yayBmb3Igc2NyaXB0IHRlc3RzLiIiIgorICAgIF9fcHl0ZXN0
X25vX3Jld3JpdGVfXyA9IFRydWUKICAgICBIT1NUID0gJ2xvY2FsaG9zdCcKIAogICAgICMgT3Zl
cnJpZGUgaW4gYWN0dWFsIHRlc3QgY2xhc3Nlcy4KQEAgLTEzMiwxNCArMTM3LDQxIEBAIGNsYXNz
IEJhc2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogY2xhc3MgSFRUUFNlcnZlclRlc3QoQmFz
ZVRlc3QpOgogICAgICIiIlRlc3RzIHRoYXQgbmV3LXJ1bi13ZWJraXQtaHR0cCBtdXN0IHBhc3Mu
IiIiCisgICAgX19weXRlc3Rfbm9fcmV3cml0ZV9fID0gRmFsc2UKIAogICAgIFBPUlRTID0gKDgw
MDAsIDgwODAsIDg0NDMpCiAgICAgU0NSSVBUX05BTUUgPSAnbmV3LXJ1bi13ZWJraXQtaHR0cGQn
CiAKKyAgICBAeGZhaWwKKyAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX25vcm1hbChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIHN1cGVyKEhUVFBTZXJ2ZXJUZXN0LCBzZWxmKS5pbnRlZ3Jh
dGlvbl90ZXN0X3NlcnZlcl9fbm9ybWFsKCkKKworICAgIEB4ZmFpbAorICAgIGRlZiBpbnRlZ3Jh
dGlvbl90ZXN0X3NlcnZlcl9fZmFpbHMoc2VsZik6CisgICAgICAgIHJldHVybiBzdXBlcihIVFRQ
U2VydmVyVGVzdCwgc2VsZikuaW50ZWdyYXRpb25fdGVzdF9zZXJ2ZXJfX2ZhaWxzKCkKKworICAg
IEB4ZmFpbAorICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X3BvcnRfYW5kX3Jvb3Qoc2VsZik6Cisg
ICAgICAgIHJldHVybiBzdXBlcihIVFRQU2VydmVyVGVzdCwgc2VsZikuaW50ZWdyYXRpb25fdGVz
dF9wb3J0X2FuZF9yb290KCkKKwogCiBjbGFzcyBXZWJzb2NrZXRzZXJ2ZXJUZXN0KEJhc2VUZXN0
KToKICAgICAiIiJUZXN0cyB0aGF0IG5ldy1ydW4td2Via2l0LXdlYnNvY2tldHNlcnZlciBtdXN0
IHBhc3MuIiIiCisgICAgX19weXRlc3Rfbm9fcmV3cml0ZV9fID0gRmFsc2UKIAogICAgICMgRklY
TUU6IHRlc3QgVExTIGF0IHNvbWUgcG9pbnQ/CiAgICAgUE9SVFMgPSAoODg4MCwgKQogICAgIFND
UklQVF9OQU1FID0gJ25ldy1ydW4td2Via2l0LXdlYnNvY2tldHNlcnZlcicKKworICAgIEBza2lw
KCJmbGFreSIpCisgICAgZGVmIGludGVncmF0aW9uX3Rlc3Rfc2VydmVyX19ub3JtYWwoc2VsZik6
CisgICAgICAgIHJldHVybiBzdXBlcihXZWJzb2NrZXRzZXJ2ZXJUZXN0LCBzZWxmKS5pbnRlZ3Jh
dGlvbl90ZXN0X3NlcnZlcl9fbm9ybWFsKCkKKworICAgIEBza2lwKCJmbGFreSIpCisgICAgZGVm
IGludGVncmF0aW9uX3Rlc3Rfc2VydmVyX19mYWlscyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHN1
cGVyKFdlYnNvY2tldHNlcnZlclRlc3QsIHNlbGYpLmludGVncmF0aW9uX3Rlc3Rfc2VydmVyX19m
YWlscygpCisKKyAgICBAc2xvdworICAgIEB4ZmFpbAorICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0
X3BvcnRfYW5kX3Jvb3Qoc2VsZik6CisgICAgICAgIHJldHVybiBzdXBlcihXZWJzb2NrZXRzZXJ2
ZXJUZXN0LCBzZWxmKS5pbnRlZ3JhdGlvbl90ZXN0X3BvcnRfYW5kX3Jvb3QoKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQppbmRleCBiMTU4OWZlNWU5YTg2
ZGRjYjVhYjJiODZmMzhlNmIzMGFjN2RkZTgxLi44ZjQ4MjhjNThlYjE2YTc1MjkzNjhiMGYzMDg3
Nzg0ZTI2NjU2YTE4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9y
dF90ZXN0Y2FzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0
Y2FzZS5weQpAQCAtNTAsNiArNTAsOCBAQCBmcm9tIHdlYmtpdHB5LnBvcnQuc2VydmVyX3Byb2Nl
c3NfbW9jayBpbXBvcnQgTW9ja1NlcnZlclByb2Nlc3MKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rl
c3RzLnNlcnZlcnMgaW1wb3J0IGh0dHBfc2VydmVyX2Jhc2UKIGZyb20gd2Via2l0cHkudG9vbC5t
b2NrdG9vbCBpbXBvcnQgTW9ja09wdGlvbnMKIAorZnJvbSB3ZWJraXRweS50ZXN0Lm1hcmtlcnMg
aW1wb3J0IHNsb3csIHhmYWlsCisKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBPdXRwdXRDYXB0
dXJlCiAKIApAQCAtMTczLDYgKzE3NSw3IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIHBvcnQuc3RhcnRfaGVscGVyKCkKICAgICAgICAgcG9ydC5zdG9w
X2hlbHBlcigpCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9odHRwX3Nl
cnZlcl9fbm9ybWFsKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQogICAg
ICAgICBzZWxmLmFzc2VydF9zZXJ2ZXJzX2FyZV9kb3duKCdsb2NhbGhvc3QnLCBzZWxmLkhUVFBf
UE9SVFMpCkBAIC0xODEsNiArMTg0LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgcG9ydC5zdG9wX2h0dHBfc2VydmVyKCkKICAgICAgICAgc2VsZi5h
c3NlcnRfc2VydmVyc19hcmVfZG93bignbG9jYWxob3N0Jywgc2VsZi5IVFRQX1BPUlRTKQogCisg
ICAgQHhmYWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfaHR0cF9zZXJ2ZXJfX2ZhaWxzKHNl
bGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQogICAgICAgICAjIFRlc3QgdGhh
dCBpZiBhIHBvcnQgaXNuJ3QgYXZhaWxhYmxlLCB0aGUgY2FsbCBmYWlscy4KQEAgLTIwOSw2ICsy
MTMsNyBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBm
aW5hbGx5OgogICAgICAgICAgICAgcG9ydC5zdG9wX2h0dHBfc2VydmVyKCkKIAorICAgIEB4ZmFp
bAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2h0dHBfc2VydmVyX190d29fc2VydmVycyhzZWxm
KToKICAgICAgICAgIyBUZXN0IHRoYXQgY2FsbGluZyBzdGFydCgpIG9uIHR3byBkaWZmZXJlbnQg
cG9ydHMgY2F1c2VzIHRoZQogICAgICAgICAjIGZpcnN0IHBvcnQgdG8gYmUgdHJlYXRlZCBhcyBz
dGFsZSBhbmQga2lsbGVkLgpAQCAtMzQ0LDYgKzM0OSw4IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2lt
YWdlKGInZm9vJywgYidiYXInKSwgKGInJywgMCwgJ0ltYWdlRGlmZiBjcmFzaGVkXG4nKSkKICAg
ICAgICAgcG9ydC5jbGVhbl91cF90ZXN0X3J1bigpCiAKKyAgICBAc2xvdworICAgIEB4ZmFpbAog
ICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X3dlYnNvY2tldF9zZXJ2ZXJfX25vcm1hbChzZWxmKToK
ICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKICAgICAgICAgc2VsZi5hc3NlcnRfc2Vy
dmVyc19hcmVfZG93bignbG9jYWxob3N0Jywgc2VsZi5XRUJTT0NLRVRfUE9SVFMpCkBAIC0zNTIs
NiArMzU5LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgcG9ydC5zdG9wX3dlYnNvY2tldF9zZXJ2ZXIoKQogICAgICAgICBzZWxmLmFzc2VydF9zZXJ2
ZXJzX2FyZV9kb3duKCdsb2NhbGhvc3QnLCBzZWxmLldFQlNPQ0tFVF9QT1JUUykKIAorICAgIEB4
ZmFpbAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X3dlYnNvY2tldF9zZXJ2ZXJfX2ZhaWxzKHNl
bGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQogCkBAIC0zNzYsNiArMzg0LDcg
QEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZmluYWxs
eToKICAgICAgICAgICAgIHBvcnQuc3RvcF93ZWJzb2NrZXRfc2VydmVyKCkKIAorICAgIEB4ZmFp
bAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X3dlYnNvY2tldF9zZXJ2ZXJfX3R3b19zZXJ2ZXJz
KHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQogCkBAIC00MTAsNiArNDE5
LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKGxlbihwb3J0LmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKCkpID4gMCkKICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQudGVzdF9jb25maWd1cmF0aW9uKCkgaW4gcG9ydC5h
bGxfdGVzdF9jb25maWd1cmF0aW9ucygpLCAiJXMgbm90IGluICVzIiAlIChwb3J0LnRlc3RfY29u
ZmlndXJhdGlvbigpLCBwb3J0LmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKCkpKQogCisgICAgQHhm
YWlsCiAgICAgZGVmIGludGVncmF0aW9uX3Rlc3RfaHR0cF9zZXJ2ZXJfX2xvb3Aoc2VsZik6CiAg
ICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdGVzdC9tYWluX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90ZXN0L21haW5fdW5pdHRlc3QucHkKaW5kZXggZWYzMWIzMjcyMTE0MTk1ZGM3MWI1OTAxOGQ0
MjQzOGQ1MWMxNTM0Yi4uN2QxNGU5OWI4MWI4MjVhZGRmODY4N2M5MmFlNmNlMWRhOTdiZjJlNyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW5fdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW5fdW5pdHRlc3QucHkKQEAgLTMw
LDYgKzMwLDcgQEAgZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IFN0cmluZ0lPCiBmcm9tIHdlYmtp
dHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbSBpbXBvcnQgRmlsZVN5c3RlbQogZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlCiBmcm9tIHdlYmtp
dHB5LnRlc3QubWFpbiBpbXBvcnQgVGVzdGVyLCBfTG9hZGVyCitmcm9tIHdlYmtpdHB5LnRlc3Qu
bWFya2VycyBpbXBvcnQgeGZhaWwKIAogZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IE91dHB1dENh
cHR1cmUKIApAQCAtMTA3LDYgKzEwOCw3IEBAIGNsYXNzIFRlc3RlclRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICAgICAgU1RVQlNfQ0xBU1MgKyAnLnNlcmlhbF90ZXN0X2VtcHR5JywK
ICAgICAgICAgICAgIF0pCiAKKyAgICBAeGZhaWwKICAgICBkZWYgaW50ZWdyYXRpb25fdGVzdF9j
b3ZlcmFnZV93b3JrcyhzZWxmKToKICAgICAgICAgZmlsZXN5c3RlbSA9IEZpbGVTeXN0ZW0oKQog
ICAgICAgICBleGVjdXRpdmUgPSBFeGVjdXRpdmUoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90ZXN0L21hcmtlcnMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3Qv
bWFya2Vycy5weQppbmRleCA5MzBhNDlkMDQ3YWY4ODQyNzlkOTdiYTY3MTY5ZjdhZWJhNWE5Yjc2
Li42ZDVhZTNlYzQwMDFkNDYwODFiNTkxZmUwNzgzZjA5MzlkNzlhOWY2IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFya2Vycy5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rlc3QvbWFya2Vycy5weQpAQCAtNjQsMyArNjQsNiBAQCBkZWYgc2xvdyhmdW5j
KToKICAgICAgICAgcmV0dXJuIHB5dGVzdC5tYXJrLnNsb3coZnVuYykKICAgICBleGNlcHQgTmFt
ZUVycm9yOgogICAgICAgICByZXR1cm4gZnVuYworCisKK3NraXAgPSB1bml0dGVzdC5za2lwCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2hhc2xhbmRlZF91
bml0dGVzdC5weQppbmRleCA5NDZiNzkyNWRmNzg0NmMzNDkwMjlmMDY1NDY4YTI4ODFiOTAwNTcw
Li4yMDE3YzFlYmFlZGJkZjE0M2NjOTUwYzk1M2JlZDQwMWY0NjVmYmJlIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkX3VuaXR0ZXN0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWRfdW5pdHRlc3Qu
cHkKQEAgLTMwLDEyICszMCwxNCBAQCBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHVuaXR0ZXN0
CiAKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5oYXNsYW5kZWQgaW1wb3J0IEhhc0xhbmRlZAor
ZnJvbSB3ZWJraXRweS50ZXN0Lm1hcmtlcnMgaW1wb3J0IHNraXAKIAogCiBjbGFzcyBIYXNMYW5k
ZWRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBtYXhEaWZmID0gTm9uZQogCi0gICAgQHVu
aXR0ZXN0LnNraXBVbmxlc3Moc3VicHJvY2Vzcy5jYWxsKCd3aGljaCBpbnRlcmRpZmYnLCBzaGVs
bD1UcnVlLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKSA9
PSAwLCAicmVxdWlyZXMgaW50ZXJkaWZmIikKKyAgICBAdW5pdHRlc3Quc2tpcCgiaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjIzMCIpCisgICAgIyBAdW5pdHRlc3Qu
c2tpcFVubGVzcyhzdWJwcm9jZXNzLmNhbGwoJ3doaWNoIGludGVyZGlmZicsIHNoZWxsPVRydWUs
IHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpID09IDAsICJy
ZXF1aXJlcyBpbnRlcmRpZmYiKQogICAgIGRlZiB0ZXN0X3J1bihzZWxmKToKICAgICAgICAgIyBU
aGVzZSBwYXRjaGVzIHJlcXVpcmUgdHJhaWxpbmcgd2hpdGVzcGFjZSB0byByZW1haW4gdmFsaWQg
cGF0Y2hlcy4KICAgICAgICAgZGlmZjEgPSAiIiJcCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>