<?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>203698</bug_id>
          
          <creation_ts>2019-10-31 14:28:23 -0700</creation_ts>
          <short_desc>[EWS] Layout testers can go in an infinite RETRY loop when there are 30+ failures on trunk</short_desc>
          <delta_ts>2020-09-22 10:03:46 -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>Other</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=212755</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=216046</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=216487</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>jbedard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1586075</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-10-31 14:28:23 -0700</bug_when>
    <thetext>Layout testers can go in an infinite RETRY loop when there are 30+ build failures on trunk. 30 is the layout-test failure limit we use in ews (--exit-after-n-failures 30).

In case there are 30+ failures on trunk, layout-tests, re-run-layout-tests, and run-layout-tests-without-patch will all fail. EWS will simply retry the build, since in case of so many failures, EWS can&apos;t reliably tell if the patch introduce any new failures or not. 

However, the retried build will re-use the already built archive (built on a builder queue) and test using the same revision (on which builder queue built the patch). It will not build again with ToT. (This was done to save the building time)

However, since EWS will keep retrying the build on same revision, it will keep failing. Even if the failures are fixed in ToT later, the tester queue will keep retrying the same patch on a given revision, and keep failing, and wouldn&apos;t be able to automatically recover (until the patch becomes obsolete, r- or bug is closed).

For example, all of the following are retry of same patch on same revision:

https://ews-build.webkit.org/#/builders/24/builds/3152
https://ews-build.webkit.org/#/builders/24/builds/3162
https://ews-build.webkit.org/#/builders/24/builds/3168
https://ews-build.webkit.org/#/builders/24/builds/3174
https://ews-build.webkit.org/#/builders/24/builds/3181
https://ews-build.webkit.org/#/builders/24/builds/3189
https://ews-build.webkit.org/#/builders/24/builds/3195</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589503</commentid>
    <comment_count>1</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-12 06:41:38 -0800</bug_when>
    <thetext>Few more examples from mac-debug-wk1 queue:
https://ews-build.webkit.org/#/builders/16/builds/7137
https://ews-build.webkit.org/#/builders/16/builds/7142
https://ews-build.webkit.org/#/builders/16/builds/7143
https://ews-build.webkit.org/#/builders/16/builds/7144

There were 30+ crashes on trunk yesterday due to https://bugs.webkit.org/show_bug.cgi?id=201908  (e.g.: https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20WK1%20%28Tests%29/builds/11748)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593060</commentid>
    <comment_count>2</comment_count>
      <attachid>384207</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-22 15:23:42 -0800</bug_when>
    <thetext>Created attachment 384207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593121</commentid>
    <comment_count>3</comment_count>
      <attachid>384207</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-11-22 17:44:26 -0800</bug_when>
    <thetext>Comment on attachment 384207
Patch

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

&gt; Tools/BuildSlaveSupport/ews-build/loadConfig.py:142
&gt; +            if not isTriggerUsedByAnyBuilder(config, scheduler[&apos;name&apos;]) and &apos;build&apos; not in scheduler[&apos;name&apos;].lower():

Is this saying that testers cannot trigger other testers?

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:494
&gt; +        self.include_revision = include_revision

What is &apos;revision&apos; for EWS? The git hash?

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:1412
&gt; +            self.finished(SUCCESS)

Won&apos;t this turn the bubble green for a bit?

Also, we still have an infinite loop problem is someone broke the build, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593135</commentid>
    <comment_count>4</comment_count>
      <attachid>384207</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-11-22 18:06:00 -0800</bug_when>
    <thetext>Comment on attachment 384207
Patch

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

&gt;&gt; Tools/BuildSlaveSupport/ews-build/loadConfig.py:142
&gt;&gt; +            if not isTriggerUsedByAnyBuilder(config, scheduler[&apos;name&apos;]) and &apos;build&apos; not in scheduler[&apos;name&apos;].lower():
&gt; 
&gt; Is this saying that testers cannot trigger other testers?

This was testing that we do not have any unused triggers in config.json. But now it&apos;s possible to have a valid case of triggers which no-one in config.json will use directly  (since these triggers would be triggered dynamically).

Effectively yes, we don&apos;t have such a scenario (testers triggering other testers) yet.

&gt;&gt; Tools/BuildSlaveSupport/ews-build/steps.py:494
&gt;&gt; +        self.include_revision = include_revision
&gt; 
&gt; What is &apos;revision&apos; for EWS? The git hash?

yeah, it&apos;s git hash

&gt;&gt; Tools/BuildSlaveSupport/ews-build/steps.py:1412
&gt;&gt; +            self.finished(SUCCESS)
&gt; 
&gt; Won&apos;t this turn the bubble green for a bit?
&gt; 
&gt; Also, we still have an infinite loop problem is someone broke the build, right?

This will turn only the step green. Build would be red/FAILED because of previous layout-test steps failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675205</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-27 05:29:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/66157544&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685781</commentid>
    <comment_count>6</comment_count>
      <attachid>384207</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-09-04 11:30:50 -0700</bug_when>
    <thetext>Comment on attachment 384207
Patch

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

&gt; Tools/BuildSlaveSupport/ews-build/config.json:349
&gt; +      &quot;triggered_by&quot;: [&quot;ios-13-sim-build-ews&quot;],

This makes sense to me, but I don&apos;t understand why this isn&apos;t already here, since ios-simulator-13 has been triggered by ios-13-sim-build-ews for months.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685788</commentid>
    <comment_count>7</comment_count>
      <attachid>384207</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-09-04 11:40:55 -0700</bug_when>
    <thetext>Comment on attachment 384207
Patch

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

&gt;&gt; Tools/BuildSlaveSupport/ews-build/config.json:349
&gt;&gt; +      &quot;triggered_by&quot;: [&quot;ios-13-sim-build-ews&quot;],
&gt; 
&gt; This makes sense to me, but I don&apos;t understand why this isn&apos;t already here, since ios-simulator-13 has been triggered by ios-13-sim-build-ews for months.

This &apos;triggered_by&apos; key is used just for passing information. I wasn&apos;t able to dynamically extract this information (about who triggered current build) using buildbot. So I am passing this information in a static manner. This information is used by tester build, to trigger back the builder.

Yes, iOS-13-Simulator-WK2-Tests-EWS is triggered by iOS-13-Simulator-Build-EWS using the &apos;triggers&apos; key.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685819</commentid>
    <comment_count>8</comment_count>
      <attachid>384207</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-09-04 12:43:13 -0700</bug_when>
    <thetext>Comment on attachment 384207
Patch

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

&gt;&gt;&gt; Tools/BuildSlaveSupport/ews-build/config.json:349
&gt;&gt;&gt; +      &quot;triggered_by&quot;: [&quot;ios-13-sim-build-ews&quot;],
&gt;&gt; 
&gt;&gt; This makes sense to me, but I don&apos;t understand why this isn&apos;t already here, since ios-simulator-13 has been triggered by ios-13-sim-build-ews for months.
&gt; 
&gt; This &apos;triggered_by&apos; key is used just for passing information. I wasn&apos;t able to dynamically extract this information (about who triggered current build) using buildbot. So I am passing this information in a static manner. This information is used by tester build, to trigger back the builder.
&gt; 
&gt; Yes, iOS-13-Simulator-WK2-Tests-EWS is triggered by iOS-13-Simulator-Build-EWS using the &apos;triggers&apos; key.

That&apos;s unfortunate, but does answer my question!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688275</commentid>
    <comment_count>9</comment_count>
      <attachid>408716</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-09-14 09:42:24 -0700</bug_when>
    <thetext>Created attachment 408716
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688278</commentid>
    <comment_count>10</comment_count>
      <attachid>408716</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-09-14 09:48:26 -0700</bug_when>
    <thetext>Comment on attachment 408716
Patch for landing

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

Did some more testing, and updated patch accordingly. Also re-based it on ToT.

&gt; Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py:156
&gt; +                bubble[&apos;state&apos;] = &apos;provisional-fail&apos;

Updated status-bubble code here to ensure that the status-bubble is orange when the build is waiting to be retried.

&gt; Tools/BuildSlaveSupport/ews-build/factories_unittest.py:50
&gt;      def test_generic_factory(self):

Updated factories_unittest.py accordingly.

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:2186
&gt; +            self.setProperty(&apos;build_summary&apos;, message)

Added this line to ensure that the buildbot build summary is set properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688281</commentid>
    <comment_count>11</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-09-14 09:52:27 -0700</bug_when>
    <thetext>Sample run:

Builder build: https://ews-build.webkit-uat.org/#/builders/14/builds/1594
Corresponding tester build: https://ews-build.webkit-uat.org/#/builders/16/builds/122, 
it correctly triggered back the builder in step #30.

Re-triggered builder build: https://ews-build.webkit-uat.org/#/builders/14/builds/1607 , it correctly updated to ToT and triggered tester with ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688284</commentid>
    <comment_count>12</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-09-14 09:55:33 -0700</bug_when>
    <thetext>Corresponding status-bubble for ios-wk2 is correctly orange and hover-over message is also correct in https://ews.webkit-uat.org/status-bubble/407969/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688305</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-14 10:47:38 -0700</bug_when>
    <thetext>Committed r267022: &lt;https://trac.webkit.org/changeset/267022&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408716.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689837</commentid>
    <comment_count>14</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-09-18 10:14:04 -0700</bug_when>
    <thetext>This change seems to be working fine. 

e.g.: https://ews-build.webkit.org/#/builders/24/builds/26185 failed with 30+ failures. It correctly re-trigerred the parent builder in: https://ews-build.webkit.org/#/builders/23/builds/27400. This correctly triggered the tester again with ToT in https://ews-build.webkit.org/#/builders/24/builds/26223, which passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690756</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-09-22 10:03:46 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #14)
&gt; This change seems to be working fine. 
&gt; 
&gt; e.g.: https://ews-build.webkit.org/#/builders/24/builds/26185 failed with
&gt; 30+ failures. It correctly re-trigerred the parent builder in:
&gt; https://ews-build.webkit.org/#/builders/23/builds/27400. This correctly
&gt; triggered the tester again with ToT in
&gt; https://ews-build.webkit.org/#/builders/24/builds/26223, which passed.

Awesome!  Thanks Aakash!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384207</attachid>
            <date>2019-11-22 15:23:42 -0800</date>
            <delta_ts>2020-09-14 09:42:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203698-20191122182341.patch</filename>
            <type>text/plain</type>
            <size>13777</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MjgwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI0IEBACisyMDE5LTExLTIyICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbRVdTXSBMYXlvdXQgdGVzdGVycyBjYW4gZ28gaW4gYW4gaW5maW5pdGUg
UkVUUlkgbG9vcCB3aGVuIHRoZXJlIGFyZSAzMCsgZmFpbHVyZXMgb24gdHJ1bmsKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzY5OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBv
cnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAgICAgICAoQ29uZmlndXJlQnVpbGQuX19pbml0X18p
OiBBZGRlZCB0cmlnZ2VycmVkX2J5IGtleS4KKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0YXJ0
KTogU2V0IHRyaWdnZXJzIHByb3BlcnR5IG9ubHkgaWYgaXQgaXMgbm90IGFscmVhZHkgc2V0IChi
eSB0aGUgYnVpbGQgd2hvIHRyaWdnZXJyZWQgdGhpcyBidWlsZCkuCisgICAgICAgIChUcmlnZ2Vy
Ll9faW5pdF9fKTogQWRkZWQgaW5jbHVkZV9yZXZpc2lvbiBwYXJhbWV0ZXIsIGl0IHdvdWxkIGJl
IEZhbHNlIHdoaWxlIHRyaWdnZXJyaW5nIGJ1aWxkZXIsIHNvIHRoYXQgYnVpbGRlcgorICAgICAg
ICBjYW4gdXNlIFRvVCBpbnN0ZWFkIG9mIHRoZSBzcGVjaWZpYyByZXZpc2lvbi4KKyAgICAgICAg
QWxzbyBhZGRlZCB0cmlnZ2Vycywgc28gdGhhdCB3aGVuIHRoZSB0ZXN0ZXIgdHJpZ2dlciB0aGUg
YnVpbGRlciwgaXQgY2FuIGV4cGxpY2l0bHkgc3BlY2lmeSBvbmx5IHRvIHRyaWdnZXIgaXQgYmFj
ayBhbmQKKyAgICAgICAgbm90aGluZyBlbHNlLgorICAgICAgICAoVHJpZ2dlci5wcm9wZXJ0aWVz
VG9QYXNzVG9UcmlnZ2Vycyk6IFBhc3MgZXdzX3JldmlzaW9uIGFuZCB0cmlnZ2VycyBwcm9wZXJ0
aWVzIHRvIHRyaWdnZXJlZCBidWlsZHMgYXBwcm9wcmlhdGVseS4KKyAgICAgICAgKEFuYWx5emVM
YXlvdXRUZXN0c1Jlc3VsdHMucmV0cnlfYnVpbGQpOiBUcmlnZ2VyIHRoZSBwYXJlbnQgYnVpbGQg
aWYgdHJpZ2dlcmVkX2J5IGlzIHNwZWNpZmllZC4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9y
dC9ld3MtYnVpbGQvY29uZmlnLmpzb246IEFkZGVkIHRyaWdnZXJlZF9ieSBrZXkuCisgICAgICAg
ICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weTogVXBkYXRlZCB0byBo
YW5kbGUgdHJpZ2dlcmVkX2J5IGtleS4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3Mt
YnVpbGQvbG9hZENvbmZpZy5weTogRGl0dG8uCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQv
ZXdzLWJ1aWxkL2xvYWRDb25maWdfdW5pdHRlc3QucHk6IERpdHRvLgorCiAyMDE5LTExLTIyICBT
aWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIENyb3NzLXRocmVhZCB2
ZXJzaW9uIFN0b3JhZ2VRdW90YU1hbmFnZXIKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2V3cy1idWlsZC9jb25maWcuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9ld3MtYnVpbGQvY29uZmlnLmpzb24JKHJldmlzaW9uIDI1Mjc5MykKKysrIFRvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9jb25maWcuanNvbgkod29ya2luZyBjb3B5KQpAQCAt
MzQ2LDYgKzM0Niw3IEBACiAgICAgICAicGxhdGZvcm0iOiAiaW9zLXNpbXVsYXRvci0xMyIsCiAg
ICAgICAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwKICAgICAgICJhcmNoaXRlY3R1cmVzIjog
WyJ4ODZfNjQiXSwKKyAgICAgICJ0cmlnZ2VyZWRfYnkiOiBbImlvcy0xMy1zaW0tYnVpbGQtZXdz
Il0sCiAgICAgICAid29ya2VybmFtZXMiOiBbImV3czEyMSIsICJld3MxMjIiLCAiZXdzMTIzIiwg
ImV3czEyNCIsICJld3MxMjUiLCAiZXdzMTI2Il0KICAgICB9LAogICAgIHsKQEAgLTM2Nyw2ICsz
NjgsNyBAQAogICAgICAgInBsYXRmb3JtIjogIm1hYy1oaWdoc2llcnJhIiwKICAgICAgICJjb25m
aWd1cmF0aW9uIjogInJlbGVhc2UiLAogICAgICAgImFyY2hpdGVjdHVyZXMiOiBbIng4Nl82NCJd
LAorICAgICAgInRyaWdnZXJlZF9ieSI6IFsibWFjb3MtaGlnaC1zaWVycmEtcmVsZWFzZS1idWls
ZC1ld3MiXSwKICAgICAgICJ3b3JrZXJuYW1lcyI6IFsiZXdzMTAwIiwgImV3czEwMSIsICJld3Mx
MDIiLCAiZXdzMTAzIl0KICAgICB9LAogICAgIHsKQEAgLTM3Nyw2ICszNzksNyBAQAogICAgICAg
InBsYXRmb3JtIjogIm1hYy1oaWdoc2llcnJhIiwKICAgICAgICJjb25maWd1cmF0aW9uIjogInJl
bGVhc2UiLAogICAgICAgImFyY2hpdGVjdHVyZXMiOiBbIng4Nl82NCJdLAorICAgICAgInRyaWdn
ZXJlZF9ieSI6IFsibWFjb3MtaGlnaC1zaWVycmEtcmVsZWFzZS1idWlsZC1ld3MiXSwKICAgICAg
ICJ3b3JrZXJuYW1lcyI6IFsiZXdzMTA0IiwgImV3czEwNSIsICJld3MxMDYiLCAiZXdzMTA3Il0K
ICAgICB9LAogICAgIHsKQEAgLTM5OCw2ICs0MDEsNyBAQAogICAgICAgInBsYXRmb3JtIjogIm1h
Yy1oaWdoc2llcnJhIiwKICAgICAgICJjb25maWd1cmF0aW9uIjogImRlYnVnIiwKICAgICAgICJh
cmNoaXRlY3R1cmVzIjogWyJ4ODZfNjQiXSwKKyAgICAgICJ0cmlnZ2VyZWRfYnkiOiBbIm1hY29z
LWhpZ2gtc2llcnJhLWRlYnVnLWJ1aWxkLWV3cyJdLAogICAgICAgIndvcmtlcm5hbWVzIjogWyJl
d3MxMTIiLCAiZXdzMTEzIiwgImV3czExNCIsICJld3MxMTUiLCAiZXdzMTE3Il0KICAgICB9LAog
ICAgIHsKQEAgLTUwNCw2ICs1MDgsNyBAQAogICAgICAgImljb24iOiAidGVzdE9ubHkiLAogICAg
ICAgImZhY3RvcnkiOiAiQVBJVGVzdHNGYWN0b3J5IiwKICAgICAgICJwbGF0Zm9ybSI6ICIqIiwK
KyAgICAgICJ0cmlnZ2VyZWRfYnkiOiBbImlvcy0xMy1zaW0tYnVpbGQtZXdzIl0sCiAgICAgICAi
d29ya2VybmFtZXMiOiBbImV3czE1NiIsICJld3MxNTciLCAiZXdzMTU4IiwgImV3czE1OSJdCiAg
ICAgfSwKICAgICB7CkBAIC01MTIsNiArNTE3LDcgQEAKICAgICAgICJpY29uIjogInRlc3RPbmx5
IiwKICAgICAgICJmYWN0b3J5IjogIkFQSVRlc3RzRmFjdG9yeSIsCiAgICAgICAicGxhdGZvcm0i
OiAiKiIsCisgICAgICAidHJpZ2dlcmVkX2J5IjogWyJtYWNvcy1oaWdoLXNpZXJyYS1yZWxlYXNl
LWJ1aWxkLWV3cyJdLAogICAgICAgIndvcmtlcm5hbWVzIjogWyJld3MxMTkiLCAiZXdzMTUwIiwg
ImV3czE1MyIsICJld3MxNTUiXQogICAgIH0sCiAgICAgewpAQCAtNTU2LDYgKzU2MiwxMyBAQAog
ICAgIH0sCiAgICAgewogICAgICAgInR5cGUiOiAiVHJpZ2dlcmFibGUiLAorICAgICAgIm5hbWUi
OiAibWFjb3MtaGlnaC1zaWVycmEtZGVidWctYnVpbGQtZXdzIiwKKyAgICAgICJidWlsZGVyTmFt
ZXMiOiBbCisgICAgICAgICJtYWNPUy1IaWdoLVNpZXJyYS1EZWJ1Zy1CdWlsZC1FV1MiCisgICAg
ICBdCisgICAgfSwKKyAgICB7CisgICAgICAidHlwZSI6ICJUcmlnZ2VyYWJsZSIsCiAgICAgICAi
bmFtZSI6ICJtYWNvcy1oaWdoLXNpZXJyYS1kZWJ1Zy13azEtdGVzdHMtZXdzIiwKICAgICAgICJi
dWlsZGVyTmFtZXMiOiBbCiAgICAgICAgICJtYWNPUy1IaWdoLVNpZXJyYS1EZWJ1Zy1XSzEtVGVz
dHMtRVdTIgpAQCAtNTc3LDYgKzU5MCwxMyBAQAogICAgIH0sCiAgICAgewogICAgICAgInR5cGUi
OiAiVHJpZ2dlcmFibGUiLAorICAgICAgIm5hbWUiOiAiaW9zLTEzLXNpbS1idWlsZC1ld3MiLAor
ICAgICAgImJ1aWxkZXJOYW1lcyI6IFsKKyAgICAgICAgImlPUy0xMy1TaW11bGF0b3ItQnVpbGQt
RVdTIgorICAgICAgXQorICAgIH0sCisgICAgeworICAgICAgInR5cGUiOiAiVHJpZ2dlcmFibGUi
LAogICAgICAgIm5hbWUiOiAiaW9zLTEzLXNpbS13azItdGVzdHMtZXdzIiwKICAgICAgICJidWls
ZGVyTmFtZXMiOiBbCiAgICAgICAgICJpT1MtMTMtU2ltdWxhdG9yLVdLMi1UZXN0cy1FV1MiCkBA
IC01OTEsNiArNjExLDEzIEBACiAgICAgfSwKICAgICB7CiAgICAgICAidHlwZSI6ICJUcmlnZ2Vy
YWJsZSIsCisgICAgICAibmFtZSI6ICJtYWNvcy1oaWdoLXNpZXJyYS1yZWxlYXNlLWJ1aWxkLWV3
cyIsCisgICAgICAiYnVpbGRlck5hbWVzIjogWworICAgICAgICAibWFjT1MtSGlnaC1TaWVycmEt
UmVsZWFzZS1CdWlsZC1FV1MiCisgICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAidHlwZSI6
ICJUcmlnZ2VyYWJsZSIsCiAgICAgICAibmFtZSI6ICJhcGktdGVzdHMtbWFjLWV3cyIsCiAgICAg
ICAiYnVpbGRlck5hbWVzIjogWwogICAgICAgICAiQVBJLVRlc3RzLW1hY09TLUVXUyIKSW5kZXg6
IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weQkocmV2
aXNpb24gMjUyNzkzKQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rv
cmllcy5weQkod29ya2luZyBjb3B5KQpAQCAtMzMsOSArMzMsOSBAQCBmcm9tIHN0ZXBzIGltcG9y
dCAoQXBwbHlQYXRjaCwgQXBwbHlXYXRjCiAKIAogY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxk
RmFjdG9yeSk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9u
PU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgYnVpbGRPbmx5PVRydWUsIHRyaWdnZXJzPU5vbmUs
IHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lLCBjaGVja1JlbGV2YW5jZT1G
YWxzZSwgKiprd2FyZ3MpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmln
dXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVzPU5vbmUsIGJ1aWxkT25seT1UcnVlLCB0cmlnZ2Vy
cz1Ob25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1l
bnRzPU5vbmUsIGNoZWNrUmVsZXZhbmNlPUZhbHNlLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3Rv
cnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuYWRkU3RlcChDb25m
aWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1idWlsZE9ubHksIHRyaWdn
ZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMsIGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRp
b25hbEFyZ3VtZW50cykpCisgICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0
Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVz
PWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1idWlsZE9ubHksIHRyaWdnZXJzPXRyaWdnZXJzLCB0
cmlnZ2VyZWRfYnk9dHJpZ2dlcmVkX2J5LCByZW1vdGVzPXJlbW90ZXMsIGFkZGl0aW9uYWxBcmd1
bWVudHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCiAgICAgICAgIGlmIGNoZWNrUmVsZXZhbmNlOgog
ICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrUGF0Y2hSZWxldmFuY2UoKSkKICAgICAgICAg
c2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goKSkKQEAgLTEwNSw4ICsxMDUsOCBAQCBjbGFzcyBU
ZXN0RmFjdG9yeShGYWN0b3J5KToKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25sb2FkQnVpbHRQ
cm9kdWN0KCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChFeHRyYWN0QnVpbHRQcm9kdWN0KCkpCiAK
LSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJj
aGl0ZWN0dXJlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUsICoqa3dhcmdzKToKLSAg
ICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJh
dGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25s
eT1GYWxzZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzKQorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1
cmVzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUsICoq
a3dhcmdzKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybT1wbGF0Zm9y
bSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVy
ZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcmVkX2J5PXRyaWdnZXJlZF9ieSwgYWRkaXRpb25h
bEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzKQogICAgICAgICBzZWxmLmdldFByb2R1Y3Qo
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3NlcygpKQogICAgICAgICBpZiBz
ZWxmLkxheW91dFRlc3RDbGFzczoKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1i
dWlsZC9sb2FkQ29uZmlnLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5CShyZXZpc2lvbiAyNTI3OTMpCisrKyBUb29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvbG9hZENvbmZpZy5weQkod29ya2luZyBjb3B5KQpAQCAt
NjIsNyArNjIsNyBAQCBkZWYgbG9hZEJ1aWxkZXJDb25maWcoYywgaXNfdGVzdF9tb2RlX2VuCiAg
ICAgICAgIGlmICdpY29uJyBpbiBidWlsZGVyOgogICAgICAgICAgICAgZGVsIGJ1aWxkZXJbJ2lj
b24nXQogICAgICAgICBmYWN0b3J5a3dhcmdzID0ge30KLSAgICAgICAgZm9yIGtleSBpbiBbJ3Bs
YXRmb3JtJywgJ2NvbmZpZ3VyYXRpb24nLCAnYXJjaGl0ZWN0dXJlcycsICd0cmlnZ2VycycsICdy
ZW1vdGVzJywgJ2FkZGl0aW9uYWxBcmd1bWVudHMnLCAncnVuVGVzdHMnXToKKyAgICAgICAgZm9y
IGtleSBpbiBbJ3BsYXRmb3JtJywgJ2NvbmZpZ3VyYXRpb24nLCAnYXJjaGl0ZWN0dXJlcycsICd0
cmlnZ2VycycsICdyZW1vdGVzJywgJ2FkZGl0aW9uYWxBcmd1bWVudHMnLCAncnVuVGVzdHMnLCAn
dHJpZ2dlcmVkX2J5J106CiAgICAgICAgICAgICB2YWx1ZSA9IGJ1aWxkZXIucG9wKGtleSwgTm9u
ZSkKICAgICAgICAgICAgIGlmIHZhbHVlOgogICAgICAgICAgICAgICAgIGZhY3Rvcnlrd2FyZ3Nb
a2V5XSA9IHZhbHVlCkBAIC0xMzksNyArMTM5LDcgQEAgZGVmIGNoZWNrVmFsaWRCdWlsZGVyKGNv
bmZpZywgYnVpbGRlcik6CiBkZWYgY2hlY2tWYWxpZFNjaGVkdWxlcnMoY29uZmlnLCBzY2hlZHVs
ZXJzKToKICAgICBmb3Igc2NoZWR1bGVyIGluIGNvbmZpZy5nZXQoJ3NjaGVkdWxlcnMnKSBvciBb
XToKICAgICAgICAgaWYgc2NoZWR1bGVyLmdldCgndHlwZScpID09ICdUcmlnZ2VyYWJsZSc6Ci0g
ICAgICAgICAgICBpZiBub3QgaXNUcmlnZ2VyVXNlZEJ5QW55QnVpbGRlcihjb25maWcsIHNjaGVk
dWxlclsnbmFtZSddKToKKyAgICAgICAgICAgIGlmIG5vdCBpc1RyaWdnZXJVc2VkQnlBbnlCdWls
ZGVyKGNvbmZpZywgc2NoZWR1bGVyWyduYW1lJ10pIGFuZCAnYnVpbGQnIG5vdCBpbiBzY2hlZHVs
ZXJbJ25hbWUnXS5sb3dlcigpOgogICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignVHJp
Z2dlcjoge30gaXMgbm90IHVzZWQgYnkgYW55IGJ1aWxkZXIgaW4gY29uZmlnLmpzb24nLmZvcm1h
dChzY2hlZHVsZXJbJ25hbWUnXSkpCiAKIApJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
ZXdzLWJ1aWxkL2xvYWRDb25maWdfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25maWdfdW5pdHRlc3QucHkJKHJldmlzaW9u
IDI1Mjc5MykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmln
X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIENvbmZp
Z0RvdEpTT05UZXN0KHVuaXR0ZXN0LlRlc3RDYXMKICAgICAgICAgY29uZmlnID0ganNvbi5sb2Fk
KG9wZW4ob3MucGF0aC5qb2luKGN3ZCwgJ2NvbmZpZy5qc29uJykpKQogICAgICAgICB2YWxpZF9i
dWlsZGVyX2tleXMgPSBbJ2FkZGl0aW9uYWxBcmd1bWVudHMnLCAnYXJjaGl0ZWN0dXJlcycsICdi
dWlsZGRpcicsICdjb25maWd1cmF0aW9uJywgJ2Rlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdkZWZhdWx0UHJvcGVydGllcycsICdlbnYnLCAnZmFjdG9yeScsICdp
Y29uJywgJ2xvY2tzJywgJ25hbWUnLCAncGxhdGZvcm0nLCAncHJvcGVydGllcycsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAncmVtb3RlcycsICdydW5UZXN0cycsICdzaG9ydG5hbWUn
LCAndGFncycsICd0cmlnZ2VycycsICd3b3JrZXJuYW1lcycsICd3b3JrZXJidWlsZGRpciddCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtb3RlcycsICdydW5UZXN0cycsICdzaG9y
dG5hbWUnLCAndGFncycsICd0cmlnZ2VycycsICd0cmlnZ2VyZWRfYnknLCAnd29ya2VybmFtZXMn
LCAnd29ya2VyYnVpbGRkaXInXQogICAgICAgICBmb3IgYnVpbGRlciBpbiBjb25maWcuZ2V0KCdi
dWlsZGVycycsIFtdKToKICAgICAgICAgICAgIGZvciBrZXkgaW4gYnVpbGRlcjoKICAgICAgICAg
ICAgICAgICBzZWxmLmFzc2VydFRydWUoa2V5IGluIHZhbGlkX2J1aWxkZXJfa2V5cywgJ1VuZXhw
ZWN0ZWQga2V5ICJ7fSIgZm9yIGJ1aWxkZXIge30nLmZvcm1hdChrZXksIGJ1aWxkZXIuZ2V0KCdu
YW1lJykpKQpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5w
eQkocmV2aXNpb24gMjUyNzkzKQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBACiAKIGZyb20gYnVpbGRi
b3QucGx1Z2lucyBpbXBvcnQgc3RlcHMsIHV0aWwKIGZyb20gYnVpbGRib3QucHJvY2VzcyBpbXBv
cnQgYnVpbGRzdGVwLCBsb2dvYnNlcnZlciwgcHJvcGVydGllcwotZnJvbSBidWlsZGJvdC5wcm9j
ZXNzLnJlc3VsdHMgaW1wb3J0IFJlc3VsdHMsIFNVQ0NFU1MsIEZBSUxVUkUsIFdBUk5JTkdTLCBT
S0lQUEVELCBFWENFUFRJT04sIFJFVFJZCitmcm9tIGJ1aWxkYm90LnByb2Nlc3MucmVzdWx0cyBp
bXBvcnQgUmVzdWx0cywgU1VDQ0VTUywgRkFJTFVSRSwgQ0FOQ0VMTEVELCBXQVJOSU5HUywgU0tJ
UFBFRCwgRVhDRVBUSU9OLCBSRVRSWQogZnJvbSBidWlsZGJvdC5zdGVwcyBpbXBvcnQgbWFzdGVy
LCBzaGVsbCwgdHJhbnNmZXIsIHRyaWdnZXIKIGZyb20gYnVpbGRib3Quc3RlcHMuc291cmNlIGlt
cG9ydCBnaXQKIGZyb20gYnVpbGRib3Quc3RlcHMud29ya2VyIGltcG9ydCBDb21wb3NpdGVTdGVw
TWl4aW4KQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVwLkJ1
aWxkU3RlcAogICAgIGRlc2NyaXB0aW9uID0gWydjb25maWd1cmluZyBidWlsZCddCiAgICAgZGVz
Y3JpcHRpb25Eb25lID0gWydDb25maWd1cmVkIGJ1aWxkJ10KIAotICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5LCB0
cmlnZ2VycywgcmVtb3RlcywgYWRkaXRpb25hbEFyZ3VtZW50cyk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBidWlsZE9ubHks
IHRyaWdnZXJzLCByZW1vdGVzLCBhZGRpdGlvbmFsQXJndW1lbnRzLCB0cmlnZ2VyZWRfYnk9Tm9u
ZSk6CiAgICAgICAgIHN1cGVyKENvbmZpZ3VyZUJ1aWxkLCBzZWxmKS5fX2luaXRfXygpCiAgICAg
ICAgIHNlbGYucGxhdGZvcm0gPSBwbGF0Zm9ybQogICAgICAgICBpZiBwbGF0Zm9ybSAhPSAnanNj
LW9ubHknOgpAQCAtNTYsNiArNTYsNyBAQCBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAu
QnVpbGRTdGVwCiAgICAgICAgIHNlbGYuYXJjaGl0ZWN0dXJlID0gJyAnLmpvaW4oYXJjaGl0ZWN0
dXJlcykgaWYgYXJjaGl0ZWN0dXJlcyBlbHNlIE5vbmUKICAgICAgICAgc2VsZi5idWlsZE9ubHkg
PSBidWlsZE9ubHkKICAgICAgICAgc2VsZi50cmlnZ2VycyA9IHRyaWdnZXJzCisgICAgICAgIHNl
bGYudHJpZ2dlcmVkX2J5ID0gdHJpZ2dlcmVkX2J5CiAgICAgICAgIHNlbGYucmVtb3RlcyA9IHJl
bW90ZXMKICAgICAgICAgc2VsZi5hZGRpdGlvbmFsQXJndW1lbnRzID0gYWRkaXRpb25hbEFyZ3Vt
ZW50cwogCkBAIC03MCw4ICs3MSwxMCBAQCBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAu
QnVpbGRTdGVwCiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdhcmNoaXRlY3R1cmUnLCBz
ZWxmLmFyY2hpdGVjdHVyZSwgJ2NvbmZpZy5qc29uJykKICAgICAgICAgaWYgc2VsZi5idWlsZE9u
bHk6CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdidWlsZE9ubHknLCBzZWxmLmJ1aWxk
T25seSwgJ2NvbmZpZy5qc29uJykKLSAgICAgICAgaWYgc2VsZi50cmlnZ2VyczoKKyAgICAgICAg
aWYgc2VsZi50cmlnZ2VycyBhbmQgbm90IHNlbGYuZ2V0UHJvcGVydHkoJ3RyaWdnZXJzJyk6CiAg
ICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCd0cmlnZ2VycycsIHNlbGYudHJpZ2dlcnMsICdj
b25maWcuanNvbicpCisgICAgICAgIGlmIHNlbGYudHJpZ2dlcmVkX2J5OgorICAgICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgndHJpZ2dlcmVkX2J5Jywgc2VsZi50cmlnZ2VyZWRfYnksICdjb25m
aWcuanNvbicpCiAgICAgICAgIGlmIHNlbGYucmVtb3RlczoKICAgICAgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ3JlbW90ZXMnLCBzZWxmLnJlbW90ZXMsICdjb25maWcuanNvbicpCiAgICAgICAg
IGlmIHNlbGYuYWRkaXRpb25hbEFyZ3VtZW50czoKQEAgLTQ4NywxMiArNDkwLDE0IEBAIGNsYXNz
IFVuQXBwbHlQYXRjaElmUmVxdWlyZWQoQ2xlYW5Xb3JraW4KIAogCiBjbGFzcyBUcmlnZ2VyKHRy
aWdnZXIuVHJpZ2dlcik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNjaGVkdWxlck5hbWVzLCAq
Kmt3YXJncyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNjaGVkdWxlck5hbWVzLCBpbmNsdWRl
X3JldmlzaW9uPVRydWUsIHRyaWdnZXJzPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5p
bmNsdWRlX3JldmlzaW9uID0gaW5jbHVkZV9yZXZpc2lvbgorICAgICAgICBzZWxmLnRyaWdnZXJz
ID0gdHJpZ2dlcnMKICAgICAgICAgc2V0X3Byb3BlcnRpZXMgPSBzZWxmLnByb3BlcnRpZXNUb1Bh
c3NUb1RyaWdnZXJzKCkgb3Ige30KICAgICAgICAgc3VwZXIoVHJpZ2dlciwgc2VsZikuX19pbml0
X18oc2NoZWR1bGVyTmFtZXM9c2NoZWR1bGVyTmFtZXMsIHNldF9wcm9wZXJ0aWVzPXNldF9wcm9w
ZXJ0aWVzLCAqKmt3YXJncykKIAogICAgIGRlZiBwcm9wZXJ0aWVzVG9QYXNzVG9UcmlnZ2Vycyhz
ZWxmKToKLSAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgcHJvcGVydGllc190b19wYXNzID0gewog
ICAgICAgICAgICAgJ3BhdGNoX2lkJzogcHJvcGVydGllcy5Qcm9wZXJ0eSgncGF0Y2hfaWQnKSwK
ICAgICAgICAgICAgICdidWdfaWQnOiBwcm9wZXJ0aWVzLlByb3BlcnR5KCdidWdfaWQnKSwKICAg
ICAgICAgICAgICdjb25maWd1cmF0aW9uJzogcHJvcGVydGllcy5Qcm9wZXJ0eSgnY29uZmlndXJh
dGlvbicpLApAQCAtNTAwLDggKzUwNSwxMiBAQCBjbGFzcyBUcmlnZ2VyKHRyaWdnZXIuVHJpZ2dl
cik6CiAgICAgICAgICAgICAnZnVsbFBsYXRmb3JtJzogcHJvcGVydGllcy5Qcm9wZXJ0eSgnZnVs
bFBsYXRmb3JtJyksCiAgICAgICAgICAgICAnYXJjaGl0ZWN0dXJlJzogcHJvcGVydGllcy5Qcm9w
ZXJ0eSgnYXJjaGl0ZWN0dXJlJyksCiAgICAgICAgICAgICAnb3duZXInOiBwcm9wZXJ0aWVzLlBy
b3BlcnR5KCdvd25lcicpLAotICAgICAgICAgICAgJ2V3c19yZXZpc2lvbic6IHByb3BlcnRpZXMu
UHJvcGVydHkoJ2dvdF9yZXZpc2lvbicpLAogICAgICAgICB9CisgICAgICAgIGlmIHNlbGYuaW5j
bHVkZV9yZXZpc2lvbjoKKyAgICAgICAgICAgIHByb3BlcnRpZXNfdG9fcGFzc1snZXdzX3Jldmlz
aW9uJ10gPSBwcm9wZXJ0aWVzLlByb3BlcnR5KCdnb3RfcmV2aXNpb24nKQorICAgICAgICBpZiBz
ZWxmLnRyaWdnZXJzOgorICAgICAgICAgICAgcHJvcGVydGllc190b19wYXNzWyd0cmlnZ2Vycydd
ID0gc2VsZi50cmlnZ2VycworICAgICAgICByZXR1cm4gcHJvcGVydGllc190b19wYXNzCiAKIAog
Y2xhc3MgVGVzdFdpdGhGYWlsdXJlQ291bnQoc2hlbGwuVGVzdCk6CkBAIC0xMzkyLDEwICsxNDAx
LDE4IEBAIGNsYXNzIEFuYWx5emVMYXlvdXRUZXN0c1Jlc3VsdHMoYnVpbGRzdGUKICAgICAgICAg
cmV0dXJuIGRlZmVyLnN1Y2NlZWQoTm9uZSkKIAogICAgIGRlZiByZXRyeV9idWlsZChzZWxmLCBt
ZXNzYWdlPScnKToKLSAgICAgICAgc2VsZi5maW5pc2hlZChSRVRSWSkKICAgICAgICAgbWVzc2Fn
ZSA9ICdVbmFibGUgdG8gY29uZmlybSBpZiB0ZXN0IGZhaWx1cmVzIGFyZSBpbnRyb2R1Y2VkIGJ5
IHBhdGNoLCByZXRyeWluZyBidWlsZCcKICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBt
ZXNzYWdlCi0gICAgICAgIHNlbGYuYnVpbGQuYnVpbGRGaW5pc2hlZChbbWVzc2FnZV0sIFJFVFJZ
KQorCisgICAgICAgIHRyaWdnZXJlZF9ieSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3RyaWdnZXJlZF9i
eScsIE5vbmUpCisgICAgICAgIGlmIHRyaWdnZXJlZF9ieToKKyAgICAgICAgICAgICMgVHJpZ2dl
ciBwYXJlbnQgYnVpbGQgc28gdGhhdCBpdCBjYW4gcmUtYnVpbGQgVG9UCisgICAgICAgICAgICBz
Y2hkdWxlcl9mb3JfY3VycmVudF9xdWV1ZSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3NjaGVkdWxlcicp
CisgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVHJpZ2dl
cihzY2hlZHVsZXJOYW1lcz10cmlnZ2VyZWRfYnksIGluY2x1ZGVfcmV2aXNpb249RmFsc2UsIHRy
aWdnZXJzPVtzY2hkdWxlcl9mb3JfY3VycmVudF9xdWV1ZV0pXSkKKyAgICAgICAgICAgIHNlbGYu
ZmluaXNoZWQoU1VDQ0VTUykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmluaXNo
ZWQoUkVUUlkpCisgICAgICAgICAgICBzZWxmLmJ1aWxkLmJ1aWxkRmluaXNoZWQoW21lc3NhZ2Vd
LCBSRVRSWSkKICAgICAgICAgcmV0dXJuIGRlZmVyLnN1Y2NlZWQoTm9uZSkKIAogICAgIGRlZiBf
cmVzdWx0c19mYWlsZWRfZGlmZmVyZW50X3Rlc3RzKHNlbGYsIGZpcnN0X3Jlc3VsdHNfZmFpbGlu
Z190ZXN0cywgc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190ZXN0cyk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408716</attachid>
            <date>2020-09-14 09:42:24 -0700</date>
            <delta_ts>2020-09-14 10:47:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-203698-20200914124223.patch</filename>
            <type>text/plain</type>
            <size>45438</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2NzAxNikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDIwLTA5LTE0ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbRVdTXSBMYXlvdXQgdGVzdGVycyBjYW4gZ28gaW4gYW4gaW5maW5pdGUg
UkVUUlkgbG9vcCB3aGVuIHRoZXJlIGFyZSAzMCsgZmFpbHVyZXMgb24gdHJ1bmsKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzY5OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNjYxNTc1NDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9uYXRoYW4g
QmVkYXJkLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
OgorICAgICAgICAoQ29uZmlndXJlQnVpbGQuX19pbml0X18pOiBBZGRlZCB0cmlnZ2VycmVkX2J5
IGtleS4KKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0YXJ0KTogU2V0IHRyaWdnZXJzIHByb3Bl
cnR5IG9ubHkgaWYgaXQgaXMgbm90IGFscmVhZHkgc2V0IChieSB0aGUgYnVpbGQgd2hvIHRyaWdn
ZXJyZWQgdGhpcyBidWlsZCkuCisgICAgICAgIChUcmlnZ2VyLl9faW5pdF9fKTogIEFkZGVkIGlu
Y2x1ZGVfcmV2aXNpb24gcGFyYW1ldGVyLCBpdCB3b3VsZCBiZSBGYWxzZSB3aGlsZSB0cmlnZ2Vy
cmluZyBidWlsZGVyLCBzbyB0aGF0IGJ1aWxkZXIKKyAgICAgICAgY2FuIHVzZSBUb1QgaW5zdGVh
ZCBvZiB0aGUgc3BlY2lmaWMgcmV2aXNpb24uCisgICAgICAgIEFsc28gYWRkZWQgdHJpZ2dlcnMs
IHNvIHRoYXQgd2hlbiB0aGUgdGVzdGVyIHRyaWdnZXIgdGhlIGJ1aWxkZXIsIGl0IGNhbiBleHBs
aWNpdGx5IHNwZWNpZnkgb25seSB0byB0cmlnZ2VyIGl0IGJhY2sgYW5kCisgICAgICAgIG5vdGhp
bmcgZWxzZS4KKyAgICAgICAgKFRyaWdnZXIucHJvcGVydGllc1RvUGFzc1RvVHJpZ2dlcnMpOiBQ
YXNzIGV3c19yZXZpc2lvbiBhbmQgdHJpZ2dlcnMgcHJvcGVydGllcyB0byB0cmlnZ2VyZWQgYnVp
bGRzIGFwcHJvcHJpYXRlbHkuCisgICAgICAgIChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzLnJl
dHJ5X2J1aWxkKTogVHJpZ2dlciB0aGUgcGFyZW50IGJ1aWxkIGlmIHRyaWdnZXJlZF9ieSBpcyBz
cGVjaWZpZWQuCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2NvbmZpZy5q
c29uOiBBZGRlZCB0cmlnZ2VyZWRfYnkga2V5LgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0
L2V3cy1idWlsZC9mYWN0b3JpZXMucHk6IFVwZGF0ZWQgdG8gaGFuZGxlIHRyaWdnZXJlZF9ieSBr
ZXkuCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25maWcucHk6
IERpdHRvLgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmln
X3VuaXR0ZXN0LnB5OgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXNfdW5pdHRlc3QucHk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWFwcC9l
d3Mvdmlld3Mvc3RhdHVzYnViYmxlLnB5OgorICAgICAgICAoU3RhdHVzQnViYmxlLl9idWlsZF9i
dWJibGUpOiBJZiB0aGUgYnVpbGQgaXMgcmV0cmllZCwgZW5zdXJlIHRoYXQgdGhlIHN0YXR1cy1i
dWJibGUgaXMgb3JhbmdlLgorICAgICAgICAoU3RhdHVzQnViYmxlLl9tb3N0X3JlY2VudF9mYWls
dXJlX21lc3NhZ2UpOiBEaXNwbGF5IHRoZSByZXRyeSBtZXNzYWdlIGZyb20gYW5hbHl6ZS1sYXlv
dXQtdGVzdHMtcmVzdWx0cyBzdGVwIGluIHRoZSBzdGF0dXMtYnViYmxlLgorCiAyMDIwLTA5LTE0
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbRmxh
dHBhayBTREtdIE1pZ3JhdGlvbiB0byBTREsgMC4zIGJyYW5jaApJbmRleDogVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvZXdzLWFwcC9ld3Mvdmlld3Mvc3RhdHVzYnViYmxlLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1hcHAvZXdzL3ZpZXdzL3N0YXR1c2J1YmJs
ZS5weQkocmV2aXNpb24gMjY3MDE2KQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWFw
cC9ld3Mvdmlld3Mvc3RhdHVzYnViYmxlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3
IEBAIGNsYXNzIFN0YXR1c0J1YmJsZShWaWV3KToKICAgICBEQVlTX1RPX0NIRUNLID0gMwogICAg
IEJVSUxERVJfSUNPTiA9IHUnXFUwMDAxZjZlMCcKICAgICBURVNURVJfSUNPTiA9IHUnXFUwMDAx
ZjUyYycKKyAgICBCVUlMRF9SRVRSWV9NU0cgPSAncmV0cnlpbmcgYnVpbGQnCiAKICAgICBkZWYg
X2J1aWxkX2J1YmJsZShzZWxmLCBwYXRjaCwgcXVldWUsIGhpZGVfaWNvbnM9RmFsc2UpOgogICAg
ICAgICBidWJibGUgPSB7CkBAIC0xNTEsNiArMTUyLDggQEAgY2xhc3MgU3RhdHVzQnViYmxlKFZp
ZXcpOgogICAgICAgICBlbGlmIGJ1aWxkLnJlc3VsdCA9PSBCdWlsZGJvdC5GQUlMVVJFOgogICAg
ICAgICAgICAgYnViYmxlWydzdGF0ZSddID0gJ2ZhaWwnCiAgICAgICAgICAgICBidWJibGVbJ2Rl
dGFpbHNfbWVzc2FnZSddID0gc2VsZi5fbW9zdF9yZWNlbnRfZmFpbHVyZV9tZXNzYWdlKGJ1aWxk
KQorICAgICAgICAgICAgaWYgU3RhdHVzQnViYmxlLkJVSUxEX1JFVFJZX01TRyBpbiBidWJibGVb
J2RldGFpbHNfbWVzc2FnZSddOgorICAgICAgICAgICAgICAgIGJ1YmJsZVsnc3RhdGUnXSA9ICdw
cm92aXNpb25hbC1mYWlsJwogICAgICAgICBlbGlmIGJ1aWxkLnJlc3VsdCA9PSBCdWlsZGJvdC5T
S0lQUEVEOgogICAgICAgICAgICAgYnViYmxlWydzdGF0ZSddID0gJ25vbmUnCiAgICAgICAgICAg
ICBidWJibGVbJ2RldGFpbHNfbWVzc2FnZSddID0gJ1RoZSBwYXRjaCBpcyBubyBsb25nZXIgZWxp
Z2libGUgZm9yIHByb2Nlc3NpbmcuJwpAQCAtMjM5LDYgKzI0Miw4IEBAIGNsYXNzIFN0YXR1c0J1
YmJsZShWaWV3KToKIAogICAgIGRlZiBfbW9zdF9yZWNlbnRfZmFpbHVyZV9tZXNzYWdlKHNlbGYs
IGJ1aWxkKToKICAgICAgICAgZm9yIHN0ZXAgaW4gYnVpbGQuc3RlcF9zZXQuYWxsKCkub3JkZXJf
YnkoJy11aWQnKToKKyAgICAgICAgICAgIGlmIHN0ZXAucmVzdWx0ID09IEJ1aWxkYm90LlNVQ0NF
U1MgYW5kIFN0YXR1c0J1YmJsZS5CVUlMRF9SRVRSWV9NU0cgaW4gc3RlcC5zdGF0ZV9zdHJpbmc6
CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZXAuc3RhdGVfc3RyaW5nCiAgICAgICAgICAgICBp
ZiBzdGVwLnJlc3VsdCA9PSBCdWlsZGJvdC5GQUlMVVJFOgogICAgICAgICAgICAgICAgIHJldHVy
biBzdGVwLnN0YXRlX3N0cmluZwogICAgICAgICByZXR1cm4gJycKSW5kZXg6IFRvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2V3cy1idWlsZC9jb25maWcuanNvbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9C
dWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvY29uZmlnLmpzb24JKHJldmlzaW9uIDI2NzAxNikK
KysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9jb25maWcuanNvbgkod29ya2lu
ZyBjb3B5KQpAQCAtMzk2LDYgKzM5Niw3IEBACiAgICAgICAicGxhdGZvcm0iOiAiaW9zLXNpbXVs
YXRvci0xMyIsCiAgICAgICAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwKICAgICAgICJhcmNo
aXRlY3R1cmVzIjogWyJ4ODZfNjQiXSwKKyAgICAgICJ0cmlnZ2VyZWRfYnkiOiBbImlvcy0xMy1z
aW0tYnVpbGQtZXdzIl0sCiAgICAgICAid29ya2VybmFtZXMiOiBbImV3czEyMSIsICJld3MxMjIi
LCAiZXdzMTIzIiwgImV3czEyNCIsICJld3MxMjUiLCAiZXdzMTI2Il0KICAgICB9LAogICAgIHsK
QEAgLTQyNyw2ICs0MjgsNyBAQAogICAgICAgInBsYXRmb3JtIjogIm1hYy1tb2phdmUiLAogICAg
ICAgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsCiAgICAgICAiYXJjaGl0ZWN0dXJlcyI6IFsi
eDg2XzY0Il0sCisgICAgICAidHJpZ2dlcmVkX2J5IjogWyJtYWNvcy1tb2phdmUtcmVsZWFzZS1i
dWlsZC1ld3MiXSwKICAgICAgICJ3b3JrZXJuYW1lcyI6IFsiZXdzMTAwIiwgImV3czEwMSIsICJl
d3MxMDIiLCAiZXdzMTAzIl0KICAgICB9LAogICAgIHsKQEAgLTQzNyw2ICs0MzksNyBAQAogICAg
ICAgInBsYXRmb3JtIjogIm1hYy1tb2phdmUiLAogICAgICAgImNvbmZpZ3VyYXRpb24iOiAicmVs
ZWFzZSIsCiAgICAgICAiYXJjaGl0ZWN0dXJlcyI6IFsieDg2XzY0Il0sCisgICAgICAidHJpZ2dl
cmVkX2J5IjogWyJtYWNvcy1tb2phdmUtcmVsZWFzZS1idWlsZC1ld3MiXSwKICAgICAgICJ3b3Jr
ZXJuYW1lcyI6IFsiZXdzMTA0IiwgImV3czEwNSIsICJld3MxMDYiLCAiZXdzMTA3Il0KICAgICB9
LAogICAgIHsKQEAgLTQ1OCw2ICs0NjEsNyBAQAogICAgICAgInBsYXRmb3JtIjogIm1hYy1tb2ph
dmUiLAogICAgICAgImNvbmZpZ3VyYXRpb24iOiAiZGVidWciLAogICAgICAgImFyY2hpdGVjdHVy
ZXMiOiBbIng4Nl82NCJdLAorICAgICAgInRyaWdnZXJlZF9ieSI6IFsibWFjb3MtbW9qYXZlLWRl
YnVnLWJ1aWxkLWV3cyJdLAogICAgICAgIndvcmtlcm5hbWVzIjogWyJld3MxMTIiLCAiZXdzMTEz
IiwgImV3czExNSIsICJld3MxMTciXQogICAgIH0sCiAgICAgewpAQCAtNjI2LDYgKzYzMCw3IEBA
CiAgICAgICAiaWNvbiI6ICJ0ZXN0T25seSIsCiAgICAgICAiZmFjdG9yeSI6ICJBUElUZXN0c0Zh
Y3RvcnkiLAogICAgICAgInBsYXRmb3JtIjogIioiLAorICAgICAgInRyaWdnZXJlZF9ieSI6IFsi
aW9zLTEzLXNpbS1idWlsZC1ld3MiXSwKICAgICAgICJ3b3JrZXJuYW1lcyI6IFsiZXdzMTU2Iiwg
ImV3czE1NyIsICJld3MxNTgiLCAiZXdzMTU5Il0KICAgICB9LAogICAgIHsKQEAgLTYzNCw2ICs2
MzksNyBAQAogICAgICAgImljb24iOiAidGVzdE9ubHkiLAogICAgICAgImZhY3RvcnkiOiAiQVBJ
VGVzdHNGYWN0b3J5IiwKICAgICAgICJwbGF0Zm9ybSI6ICIqIiwKKyAgICAgICJ0cmlnZ2VyZWRf
YnkiOiBbIm1hY29zLW1vamF2ZS1yZWxlYXNlLWJ1aWxkLWV3cyJdLAogICAgICAgIndvcmtlcm5h
bWVzIjogWyJld3MxMTkiLCAiZXdzMTUwIiwgImV3czE1MyIsICJld3MxNTUiXQogICAgIH0sCiAg
ICAgewpAQCAtNjg1LDYgKzY5MSwxMyBAQAogICAgIH0sCiAgICAgewogICAgICAgInR5cGUiOiAi
VHJpZ2dlcmFibGUiLAorICAgICAgIm5hbWUiOiAibWFjb3MtbW9qYXZlLWRlYnVnLWJ1aWxkLWV3
cyIsCisgICAgICAiYnVpbGRlck5hbWVzIjogWworICAgICAgICAibWFjT1MtTW9qYXZlLURlYnVn
LUJ1aWxkLUVXUyIKKyAgICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgICJ0eXBlIjogIlRyaWdn
ZXJhYmxlIiwKICAgICAgICJuYW1lIjogIm1hY29zLW1vamF2ZS1kZWJ1Zy13azEtdGVzdHMtZXdz
IiwKICAgICAgICJidWlsZGVyTmFtZXMiOiBbCiAgICAgICAgICJtYWNPUy1Nb2phdmUtRGVidWct
V0sxLVRlc3RzLUVXUyIKQEAgLTY5Miw2ICs3MDUsMTMgQEAKICAgICB9LAogICAgIHsKICAgICAg
ICJ0eXBlIjogIlRyaWdnZXJhYmxlIiwKKyAgICAgICJuYW1lIjogIm1hY29zLW1vamF2ZS1yZWxl
YXNlLWJ1aWxkLWV3cyIsCisgICAgICAiYnVpbGRlck5hbWVzIjogWworICAgICAgICAibWFjT1Mt
TW9qYXZlLVJlbGVhc2UtQnVpbGQtRVdTIgorICAgICAgXQorICAgIH0sCisgICAgeworICAgICAg
InR5cGUiOiAiVHJpZ2dlcmFibGUiLAogICAgICAgIm5hbWUiOiAibWFjb3MtbW9qYXZlLXJlbGVh
c2Utd2sxLXRlc3RzLWV3cyIsCiAgICAgICAiYnVpbGRlck5hbWVzIjogWwogICAgICAgICAibWFj
T1MtTW9qYXZlLVJlbGVhc2UtV0sxLVRlc3RzLUVXUyIKQEAgLTcwNiw2ICs3MjYsMTMgQEAKICAg
ICB9LAogICAgIHsKICAgICAgICJ0eXBlIjogIlRyaWdnZXJhYmxlIiwKKyAgICAgICJuYW1lIjog
Imlvcy0xMy1zaW0tYnVpbGQtZXdzIiwKKyAgICAgICJidWlsZGVyTmFtZXMiOiBbCisgICAgICAg
ICJpT1MtMTMtU2ltdWxhdG9yLUJ1aWxkLUVXUyIKKyAgICAgIF0KKyAgICB9LAorICAgIHsKKyAg
ICAgICJ0eXBlIjogIlRyaWdnZXJhYmxlIiwKICAgICAgICJuYW1lIjogImlvcy0xMy1zaW0td2sy
LXRlc3RzLWV3cyIsCiAgICAgICAiYnVpbGRlck5hbWVzIjogWwogICAgICAgICAiaU9TLTEzLVNp
bXVsYXRvci1XSzItVGVzdHMtRVdTIgpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdz
LWJ1aWxkL2ZhY3Rvcmllcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9y
dC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CShyZXZpc2lvbiAyNjcwMTYpCisrKyBUb29scy9CdWls
ZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0z
NSw5ICszNSw5IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBBcHBseVdhdGMKIAog
CiBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18o
c2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1Ob25lLCBi
dWlsZE9ubHk9VHJ1ZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJn
dW1lbnRzPU5vbmUsIGNoZWNrUmVsZXZhbmNlPUZhbHNlLCAqKmt3YXJncyk6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9
Tm9uZSwgYnVpbGRPbmx5PVRydWUsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCBy
ZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSwgY2hlY2tSZWxldmFuY2U9RmFs
c2UsICoqa3dhcmdzKToKICAgICAgICAgZmFjdG9yeS5CdWlsZEZhY3RvcnkuX19pbml0X18oc2Vs
ZikKLSAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZpZ3VyZUJ1aWxkKHBsYXRmb3JtPXBsYXRmb3Jt
LCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0dXJl
cywgYnVpbGRPbmx5PWJ1aWxkT25seSwgdHJpZ2dlcnM9dHJpZ2dlcnMsIHJlbW90ZXM9cmVtb3Rl
cywgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzKSkKKyAgICAgICAgc2Vs
Zi5hZGRTdGVwKENvbmZpZ3VyZUJ1aWxkKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9u
PWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5PWJ1
aWxkT25seSwgdHJpZ2dlcnM9dHJpZ2dlcnMsIHRyaWdnZXJlZF9ieT10cmlnZ2VyZWRfYnksIHJl
bW90ZXM9cmVtb3RlcywgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzKSkK
ICAgICAgICAgaWYgY2hlY2tSZWxldmFuY2U6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hl
Y2tQYXRjaFJlbGV2YW5jZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCgp
KQpAQCAtMTE0LDggKzExNCw4IEBAIGNsYXNzIFRlc3RGYWN0b3J5KEZhY3RvcnkpOgogICAgICAg
ICBzZWxmLmFkZFN0ZXAoRG93bmxvYWRCdWlsdFByb2R1Y3QoKSkKICAgICAgICAgc2VsZi5hZGRT
dGVwKEV4dHJhY3RCdWlsdFByb2R1Y3QoKSkKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0
Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVzPU5vbmUsIGFkZGl0aW9uYWxB
cmd1bWVudHM9Tm9uZSwgY2hlY2tSZWxldmFuY2U9RmFsc2UsICoqa3dhcmdzKToKLSAgICAgICAg
RmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1j
b25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxz
ZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzLCBjaGVja1JlbGV2YW5j
ZT1jaGVja1JlbGV2YW5jZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZp
Z3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1Ob25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgYWRk
aXRpb25hbEFyZ3VtZW50cz1Ob25lLCBjaGVja1JlbGV2YW5jZT1GYWxzZSwgKiprd2FyZ3MpOgor
ICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1
cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0dXJlcywgYnVpbGRP
bmx5PUZhbHNlLCB0cmlnZ2VyZWRfYnk9dHJpZ2dlcmVkX2J5LCBhZGRpdGlvbmFsQXJndW1lbnRz
PWFkZGl0aW9uYWxBcmd1bWVudHMsIGNoZWNrUmVsZXZhbmNlPWNoZWNrUmVsZXZhbmNlKQogICAg
ICAgICBpZiBwbGF0Zm9ybSA9PSAnZ3RrJzoKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChJbnN0
YWxsR3RrRGVwZW5kZW5jaWVzKCkpCiAgICAgICAgIHNlbGYuZ2V0UHJvZHVjdCgpCkluZGV4OiBU
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0ZXN0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXNf
dW5pdHRlc3QucHkJKHJldmlzaW9uIDI2NzAxNikKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcg
KzUwLDggQEAgY2xhc3MgVGVzdEdlbmVyaWNGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVz
dF9nZW5lcmljX2ZhY3Rvcnkoc2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMuRmFj
dG9yeShwbGF0Zm9ybT0naW9zLXNpbXVsYXRvci0xMycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2Un
LCBhcmNoaXRlY3R1cmVzPSdhcm02NCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0QnVpbGRTdGVwcyhm
YWN0b3J5LnN0ZXBzLCBbCi0gICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25m
aWd1cmVCdWlsZCwgcGxhdGZvcm09J2lvcy1zaW11bGF0b3ItMTMnLCBjb25maWd1cmF0aW9uPSdy
ZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz0nYXJtNjQnLCBidWlsZE9ubHk9VHJ1ZSwgdHJpZ2dlcnM9
Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAg
ICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSdpb3Mt
c2ltdWxhdG9yLTEzJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9J2Fy
bTY0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkT25seT1UcnVlLCB0cmln
Z2Vycz1Ob25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJn
dW1lbnRzPU5vbmUpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuVmFsaWRh
dGVQYXRjaCksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5QcmludENvbmZp
Z3VyYXRpb24pLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ2hlY2tPdXRT
b3VyY2UpLApAQCAtNjEsNyArNjIsOCBAQCBjbGFzcyBUZXN0R2VuZXJpY0ZhY3RvcnkoVGVzdENh
c2UpOgogICAgIGRlZiB0ZXN0X2dlbmVyaWNfZmFjdG9yeV93aXRoX2NoZWNrX3JlbGV2YW5jZShz
ZWxmKToKICAgICAgICAgZmFjdG9yeSA9IGZhY3Rvcmllcy5GYWN0b3J5KHBsYXRmb3JtPSdpb3Mt
c2ltdWxhdG9yLTEzJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9J2Fy
bTY0JywgY2hlY2tSZWxldmFuY2U9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBz
KGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNv
bmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0naW9zLXNpbXVsYXRvci0xMycsIGNvbmZpZ3VyYXRpb249
J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPSdhcm02NCcsIGJ1aWxkT25seT1UcnVlLCB0cmlnZ2Vy
cz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCisgICAgICAg
ICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J2lv
cy1zaW11bGF0b3ItMTMnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz0n
YXJtNjQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5PVRydWUsIHRy
aWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxB
cmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVj
a1BhdGNoUmVsZXZhbmNlKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZh
bGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRD
b25maWd1cmF0aW9uKSwKQEAgLTc4LDcgKzgwLDggQEAgY2xhc3MgVGVzdFRlc3RzRmFjdG9yeShU
ZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc3R5bGVfZmFjdG9yeShzZWxmKToKICAgICAgICAgZmFj
dG9yeSA9IGZhY3Rvcmllcy5TdHlsZUZhY3RvcnkocGxhdGZvcm09JyonLCBjb25maWd1cmF0aW9u
PU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBz
KGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNv
bmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0
dXJlcz1Ob25lLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwg
YWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5
KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249Tm9uZSwg
YXJjaGl0ZWN0dXJlcz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRP
bmx5PUZhbHNlLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVu
dHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5WYWxpZGF0ZVBh
dGNoKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlByaW50Q29uZmlndXJh
dGlvbiksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja091dFNvdXJj
ZSksCkBAIC05MCw3ICs5Myw4IEBAIGNsYXNzIFRlc3RUZXN0c0ZhY3RvcnkoVGVzdENhc2UpOgog
ICAgIGRlZiB0ZXN0X3dhdGNobGlzdF9mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0g
ZmFjdG9yaWVzLldhdGNoTGlzdEZhY3RvcnkocGxhdGZvcm09JyonLCBjb25maWd1cmF0aW9uPU5v
bmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBzKGZh
Y3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZp
Z3VyZUJ1aWxkLCBwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJl
cz1Ob25lLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRk
aXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0
ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJj
aGl0ZWN0dXJlcz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5
PUZhbHNlLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5WYWxpZGF0ZVBhdGNo
KSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlByaW50Q29uZmlndXJhdGlv
biksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja091dFNvdXJjZSks
CkBAIC0xMDIsNyArMTA2LDggQEAgY2xhc3MgVGVzdFRlc3RzRmFjdG9yeShUZXN0Q2FzZSk6CiAg
ICAgZGVmIHRlc3RfYmluZGluZ3NfZmFjdG9yeShzZWxmKToKICAgICAgICAgZmFjdG9yeSA9IGZh
Y3Rvcmllcy5CaW5kaW5nc0ZhY3RvcnkocGxhdGZvcm09JyonLCBjb25maWd1cmF0aW9uPU5vbmUs
IGFyY2hpdGVjdHVyZXM9Tm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBzKGZhY3Rv
cnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3Vy
ZUJ1aWxkLCBwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1O
b25lLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRp
b25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBz
LkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0
ZWN0dXJlcz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5PUZh
bHNlLCB0cmlnZ2Vycz1Ob25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRp
dGlvbmFsQXJndW1lbnRzPU5vbmUpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3Rl
cHMuQ2hlY2tQYXRjaFJlbGV2YW5jZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShz
dGVwcy5WYWxpZGF0ZVBhdGNoKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBz
LlByaW50Q29uZmlndXJhdGlvbiksCkBAIC0xMTUsNyArMTIwLDggQEAgY2xhc3MgVGVzdFRlc3Rz
RmFjdG9yeShUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfd2Via2l0cGVybF9mYWN0b3J5KHNlbGYp
OgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVzLldlYktpdFBlcmxGYWN0b3J5KHBsYXRmb3Jt
PScqJywgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVzPU5vbmUpCiAgICAgICAgIHNl
bGYuYXNzZXJ0QnVpbGRTdGVwcyhmYWN0b3J5LnN0ZXBzLCBbCi0gICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09JyonLCBjb25maWd1cmF0
aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz1O
b25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCisgICAgICAgICAg
ICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09JyonLCBj
b25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5
PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAg
ICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAg
X0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKICAgICAgICAgICAg
IF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrT3V0U291cmNlKSwKQEAgLTEyNyw3ICsxMzMs
OCBAQCBjbGFzcyBUZXN0VGVzdHNGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF93ZWJr
aXRweV9mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVzLldlYktpdFB5
RmFjdG9yeShwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1O
b25lKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywgWwotICAg
ICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3Jt
PScqJywgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVzPU5vbmUsIGJ1aWxkT25seT1G
YWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5v
bmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQs
IHBsYXRmb3JtPScqJywgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVzPU5vbmUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5v
bmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja1BhdGNoUmVs
ZXZhbmNlKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0
Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0
aW9uKSwKQEAgLTE0Miw3ICsxNDksOCBAQCBjbGFzcyBUZXN0VGVzdHNGYWN0b3J5KFRlc3RDYXNl
KToKICAgICBkZWYgdGVzdF9zZXJ2aWNlc19mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5
ID0gZmFjdG9yaWVzLlNlcnZpY2VzRmFjdG9yeShwbGF0Zm9ybT0nKicsIGNvbmZpZ3VyYXRpb249
Tm9uZSwgYXJjaGl0ZWN0dXJlcz1Ob25lKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMo
ZmFjdG9yeS5zdGVwcywgWwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29u
ZmlndXJlQnVpbGQsIHBsYXRmb3JtPScqJywgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1
cmVzPU5vbmUsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBh
ZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnko
c3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPScqJywgY29uZmlndXJhdGlvbj1Ob25lLCBh
cmNoaXRlY3R1cmVzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZE9u
bHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1vdGVzPU5vbmUs
IGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9y
eShzdGVwcy5DaGVja1BhdGNoUmVsZXZhbmNlKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0
b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnko
c3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKQEAgLTE2MCw3ICsxNjgsOCBAQCBjbGFzcyBUZXN0
QnVpbGRGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9nZW5lcmljX2J1aWxkX2ZhY3Rv
cnkoc2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMuQnVpbGRGYWN0b3J5KHBsYXRm
b3JtPSdtYWMtbW9qYXZlJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9
WyJ4ODZfNjQiXSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBzKGZhY3Rvcnkuc3RlcHMs
IFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBw
bGF0Zm9ybT0nbWFjLW1vamF2ZScsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1
cmVzPVsieDg2XzY0Il0sIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1O
b25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZh
Y3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSdtYWMtbW9qYXZlJywgY29uZmln
dXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4ODZfNjQiXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dl
cmVkX2J5PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAg
ICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAg
ICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKICAgICAg
ICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrT3V0U291cmNlKSwKQEAgLTE3Myw3
ICsxODIsOCBAQCBjbGFzcyBUZXN0QnVpbGRGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVz
dF9tYWNvc19idWlsZF9mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVz
Lm1hY09TQnVpbGRGYWN0b3J5KHBsYXRmb3JtPSdtYWMtbW9qYXZlJywgY29uZmlndXJhdGlvbj0n
cmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4ODZfNjQiXSkKICAgICAgICAgc2VsZi5hc3NlcnRC
dWlsZFN0ZXBzKGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5
KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nbWFjLW1vamF2ZScsIGNvbmZpZ3VyYXRp
b249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsieDg2XzY0Il0sIGJ1aWxkT25seT1GYWxzZSwg
dHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAor
ICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRm
b3JtPSdtYWMtbW9qYXZlJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9
WyJ4ODZfNjQiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkT25seT1GYWxz
ZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRp
b25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBz
LlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJp
bnRDb25maWd1cmF0aW9uKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNo
ZWNrT3V0U291cmNlKSwKQEAgLTE4Niw3ICsxOTYsOCBAQCBjbGFzcyBUZXN0QnVpbGRGYWN0b3J5
KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9tYWNvc19idWlsZF9vbmx5X2ZhY3Rvcnkoc2VsZik6
CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMubWFjT1NCdWlsZE9ubHlGYWN0b3J5KHBsYXRm
b3JtPSdtYWMtYmlnc3VyJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9
WyJhcm02NCJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywg
WwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBs
YXRmb3JtPSdtYWMtYmlnc3VyJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVy
ZXM9WyJhcm02NCJdLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9u
ZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0
b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nbWFjLWJpZ3N1cicsIGNvbmZpZ3Vy
YXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsiYXJtNjQiXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVk
X2J5PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAg
ICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrUGF0Y2hSZWxldmFuY2UpLAogICAg
ICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuVmFsaWRhdGVQYXRjaCksCiAgICAgICAg
ICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5QcmludENvbmZpZ3VyYXRpb24pLApAQCAtMjAw
LDcgKzIxMSw4IEBAIGNsYXNzIFRlc3RCdWlsZEZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRlZiB0
ZXN0X2lvc19idWlsZF9mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVz
LmlPU0J1aWxkRmFjdG9yeShwbGF0Zm9ybT0naW9zLXNpbXVsYXRvci0xMycsIGNvbmZpZ3VyYXRp
b249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsieDg2XzY0Il0pCiAgICAgICAgIHNlbGYuYXNz
ZXJ0QnVpbGRTdGVwcyhmYWN0b3J5LnN0ZXBzLCBbCi0gICAgICAgICAgICBfQnVpbGRTdGVwRmFj
dG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J2lvcy1zaW11bGF0b3ItMTMnLCBj
b25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bIng4Nl82NCJdLCBidWlsZE9u
bHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50
cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1
aWxkLCBwbGF0Zm9ybT0naW9zLXNpbXVsYXRvci0xMycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2Un
LCBhcmNoaXRlY3R1cmVzPVsieDg2XzY0Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1v
dGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5WYWxpZGF0ZVBhdGNoKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBG
YWN0b3J5KHN0ZXBzLlByaW50Q29uZmlndXJhdGlvbiksCiAgICAgICAgICAgICBfQnVpbGRTdGVw
RmFjdG9yeShzdGVwcy5DaGVja091dFNvdXJjZSksCkBAIC0yMTMsNyArMjI1LDggQEAgY2xhc3Mg
VGVzdEJ1aWxkRmFjdG9yeShUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfaW9zX2VtYmVkZGVkX2J1
aWxkX2ZhY3Rvcnkoc2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMuaU9TRW1iZWRk
ZWRCdWlsZEZhY3RvcnkocGxhdGZvcm09J2lvcy0xMycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2Un
LCBhcmNoaXRlY3R1cmVzPVsiYXJtNjQiXSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBz
KGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNv
bmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0naW9zLTEzJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScs
IGFyY2hpdGVjdHVyZXM9WyJhcm02NCJdLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUs
IHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9C
dWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0naW9zLTEzJywg
Y29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJhcm02NCJdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz1Ob25lLCB0
cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUp
LAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuVmFsaWRhdGVQYXRjaCksCiAg
ICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5QcmludENvbmZpZ3VyYXRpb24pLAog
ICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ2hlY2tPdXRTb3VyY2UpLApAQCAt
MjI2LDcgKzIzOSw4IEBAIGNsYXNzIFRlc3RCdWlsZEZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRl
ZiB0ZXN0X3dhdGNob3NfYnVpbGRfZmFjdG9yeShzZWxmKToKICAgICAgICAgZmFjdG9yeSA9IGZh
Y3Rvcmllcy53YXRjaE9TQnVpbGRGYWN0b3J5KHBsYXRmb3JtPSd3YXRjaG9zLTYnLCBjb25maWd1
cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bImFybTY0XzMyIl0pCiAgICAgICAgIHNl
bGYuYXNzZXJ0QnVpbGRTdGVwcyhmYWN0b3J5LnN0ZXBzLCBbCi0gICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J3dhdGNob3MtNicsIGNv
bmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsiYXJtNjRfMzIiXSwgYnVpbGRP
bmx5PUZhbHNlLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVu
dHM9Tm9uZSksCisgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVC
dWlsZCwgcGxhdGZvcm09J3dhdGNob3MtNicsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNo
aXRlY3R1cmVzPVsiYXJtNjRfMzIiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1
aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5PU5vbmUsIHJlbW90ZXM9
Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBG
YWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rv
cnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0
b3J5KHN0ZXBzLkNoZWNrT3V0U291cmNlKSwKQEAgLTIzOSw3ICsyNTMsOCBAQCBjbGFzcyBUZXN0
QnVpbGRGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF90dm9zX2J1aWxkX2ZhY3Rvcnko
c2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMudHZPU0J1aWxkRmFjdG9yeShwbGF0
Zm9ybT0ndHZvcy0xMycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsi
YXJtNjQiXSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBzKGZhY3Rvcnkuc3RlcHMsIFsK
LSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0
Zm9ybT0ndHZvcy0xMycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsi
YXJtNjQiXSwgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFk
ZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCisgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShz
dGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J3R2b3MtMTMnLCBjb25maWd1cmF0aW9uPSdy
ZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bImFybTY0Il0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25l
LCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAgICBf
QnVpbGRTdGVwRmFjdG9yeShzdGVwcy5WYWxpZGF0ZVBhdGNoKSwKICAgICAgICAgICAgIF9CdWls
ZFN0ZXBGYWN0b3J5KHN0ZXBzLlByaW50Q29uZmlndXJhdGlvbiksCiAgICAgICAgICAgICBfQnVp
bGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja091dFNvdXJjZSksCkBAIC0yNTIsNyArMjY3LDggQEAg
Y2xhc3MgVGVzdEJ1aWxkRmFjdG9yeShUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfZ3RrX2J1aWxk
X2ZhY3Rvcnkoc2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMuR1RLQnVpbGRGYWN0
b3J5KHBsYXRmb3JtPSdndGsnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJl
cz1bJ3g4Nl82NCddKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVw
cywgWwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQs
IHBsYXRmb3JtPSdndGsnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1b
J3g4Nl82NCddLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwg
YWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5
KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nZ3RrJywgY29uZmlndXJhdGlvbj0ncmVs
ZWFzZScsIGFyY2hpdGVjdHVyZXM9Wyd4ODZfNjQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5PU5vbmUs
IHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAgICAgIF9C
dWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxk
U3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKICAgICAgICAgICAgIF9CdWls
ZFN0ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrT3V0U291cmNlKSwKQEAgLTI2Niw3ICsyODIsOCBAQCBj
bGFzcyBUZXN0QnVpbGRGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF93cGVfZmFjdG9y
eShzZWxmKToKICAgICAgICAgZmFjdG9yeSA9IGZhY3Rvcmllcy5XUEVGYWN0b3J5KHBsYXRmb3Jt
PSd3cGUnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bJ3g4Nl82NCdd
KQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywgWwotICAgICAg
ICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSd3
cGUnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bJ3g4Nl82NCddLCBi
dWlsZE9ubHk9VHJ1ZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJn
dW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmln
dXJlQnVpbGQsIHBsYXRmb3JtPSd3cGUnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0
ZWN0dXJlcz1bJ3g4Nl82NCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRP
bmx5PVRydWUsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1vdGVzPU5vbmUs
IGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9y
eShzdGVwcy5WYWxpZGF0ZVBhdGNoKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0
ZXBzLlByaW50Q29uZmlndXJhdGlvbiksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShz
dGVwcy5DaGVja091dFNvdXJjZSksCkBAIC0yODAsNyArMjk3LDggQEAgY2xhc3MgVGVzdEJ1aWxk
RmFjdG9yeShUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfd2luY2Fpcm9fZmFjdG9yeShzZWxmKToK
ICAgICAgICAgZmFjdG9yeSA9IGZhY3Rvcmllcy5XaW5DYWlyb0ZhY3RvcnkocGxhdGZvcm09J3dp
bmNhaXJvJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9Wyd4ODZfNjQn
XSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWlsZFN0ZXBzKGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAg
ICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0n
d2luY2Fpcm8nLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bJ3g4Nl82
NCddLCBidWlsZE9ubHk9VHJ1ZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlv
bmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMu
Q29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSd3aW5jYWlybycsIGNvbmZpZ3VyYXRpb249J3JlbGVh
c2UnLCBhcmNoaXRlY3R1cmVzPVsneDg2XzY0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBidWlsZE9ubHk9VHJ1ZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5PU5vbmUsIHJl
bW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAgICAgIF9CdWls
ZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3Rl
cEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKICAgICAgICAgICAgIF9CdWlsZFN0
ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrT3V0U291cmNlKSwKQEAgLTI5Myw3ICszMTEsOCBAQCBjbGFz
cyBUZXN0QnVpbGRGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9qc2NfbWlwc2VsX2Zh
Y3Rvcnkoc2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMuSlNDQnVpbGRGYWN0b3J5
KHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1b
Im1pcHNlbCJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywg
WwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBs
YXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bIm1p
cHNlbCJdLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRk
aXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0
ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nanNjJywgY29uZmlndXJhdGlvbj0ncmVsZWFz
ZScsIGFyY2hpdGVjdHVyZXM9WyJtaXBzZWwiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5PU5vbmUsIHJl
bW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAgICAgIF9CdWls
ZFN0ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrUGF0Y2hSZWxldmFuY2UpLAogICAgICAgICAgICAgX0J1
aWxkU3RlcEZhY3Rvcnkoc3RlcHMuVmFsaWRhdGVQYXRjaCksCiAgICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5QcmludENvbmZpZ3VyYXRpb24pLApAQCAtMzA3LDcgKzMyNiw4IEBA
IGNsYXNzIFRlc3RCdWlsZEZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2pzY19hcm12
N19mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVzLkpTQ0J1aWxkRmFj
dG9yeShwbGF0Zm9ybT0nanNjJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVy
ZXM9WyJhcm12NyJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVw
cywgWwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQs
IHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1b
ImFybXY3Il0sIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBh
ZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnko
c3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxl
YXNlJywgYXJjaGl0ZWN0dXJlcz1bImFybXY3Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCBy
ZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVp
bGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja1BhdGNoUmVsZXZhbmNlKSwKICAgICAgICAgICAgIF9C
dWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxk
U3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKQEAgLTMyMyw3ICszNDMsOCBA
QCBjbGFzcyBUZXN0QnVpbGRBbmRUZXN0c0ZhY3RvcnkoVGVzdENhc2UpCiAgICAgZGVmIHRlc3Rf
d2luZG93c19mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVzLldpbmRv
d3NGYWN0b3J5KHBsYXRmb3JtPSd3aW4nLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0
ZWN0dXJlcz1bIng4Nl82NCJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9y
eS5zdGVwcywgWwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJl
QnVpbGQsIHBsYXRmb3JtPSd3aW4nLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0
dXJlcz1bIng4Nl82NCJdLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9
Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBG
YWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nd2luJywgY29uZmlndXJhdGlv
bj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4ODZfNjQiXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5
PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAg
ICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrUGF0Y2hSZWxldmFuY2UpLAogICAgICAg
ICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuVmFsaWRhdGVQYXRjaCksCiAgICAgICAgICAg
ICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5QcmludENvbmZpZ3VyYXRpb24pLApAQCAtMzQyLDcg
KzM2Myw4IEBAIGNsYXNzIFRlc3RDb21taXRRdWV1ZUZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRl
ZiB0ZXN0X2NvbW1pdF9xdWV1ZV9mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFj
dG9yaWVzLkNvbW1pdFF1ZXVlRmFjdG9yeShwbGF0Zm9ybT0nbWFjLW1vamF2ZScsIGNvbmZpZ3Vy
YXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsieDg2XzY0Il0pCiAgICAgICAgIHNlbGYu
YXNzZXJ0QnVpbGRTdGVwcyhmYWN0b3J5LnN0ZXBzLCBbCi0gICAgICAgICAgICBfQnVpbGRTdGVw
RmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J21hYy1tb2phdmUnLCBjb25m
aWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bIng4Nl82NCJdLCBidWlsZE9ubHk9
RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1O
b25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxk
LCBwbGF0Zm9ybT0nbWFjLW1vamF2ZScsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRl
Y3R1cmVzPVsieDg2XzY0Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZE9u
bHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50
cz1Ob25lKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0
Y2gsIHZlcmlmeWNxcGx1cz1UcnVlKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0
ZXBzLlZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciksCiAgICAgICAgICAgICBfQnVpbGRTdGVw
RmFjdG9yeShzdGVwcy5QcmludENvbmZpZ3VyYXRpb24pLApAQCAtMzcxLDcgKzM5Myw4IEBAIGNs
YXNzIFRlc3RMYXlvdXRUZXN0c0ZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X21hY29z
X3drMV9yZWxlYXNlX2ZhY3Rvcnkoc2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMu
bWFjT1NXSzFGYWN0b3J5KHBsYXRmb3JtPSdtYWMtbW9qYXZlJywgY29uZmlndXJhdGlvbj0ncmVs
ZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4ODZfNjQiXSkKICAgICAgICAgc2VsZi5hc3NlcnRCdWls
ZFN0ZXBzKGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0
ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nbWFjLW1vamF2ZScsIGNvbmZpZ3VyYXRpb249
J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsieDg2XzY0Il0sIGJ1aWxkT25seT1GYWxzZSwgdHJp
Z2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAorICAg
ICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3Jt
PSdtYWMtbW9qYXZlJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4
ODZfNjQiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkT25seT1GYWxzZSwg
dHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25h
bEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNo
ZWNrUGF0Y2hSZWxldmFuY2UpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMu
VmFsaWRhdGVQYXRjaCksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Qcmlu
dENvbmZpZ3VyYXRpb24pLApAQCAtMzkwLDcgKzQxMyw4IEBAIGNsYXNzIFRlc3RMYXlvdXRUZXN0
c0ZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X21hY29zX3drMV9kZWJ1Z19mYWN0b3J5
KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVzLm1hY09TV0sxRmFjdG9yeShwbGF0
Zm9ybT0nbWFjLW1vamF2ZScsIGNvbmZpZ3VyYXRpb249J2RlYnVnJywgYXJjaGl0ZWN0dXJlcz1b
Ing4Nl82NCJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywg
WwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBs
YXRmb3JtPSdtYWMtbW9qYXZlJywgY29uZmlndXJhdGlvbj0nZGVidWcnLCBhcmNoaXRlY3R1cmVz
PVsieDg2XzY0Il0sIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25l
LCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rv
cnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSdtYWMtbW9qYXZlJywgY29uZmlndXJh
dGlvbj0nZGVidWcnLCBhcmNoaXRlY3R1cmVzPVsieDg2XzY0Il0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9i
eT1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAg
ICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja1BhdGNoUmVsZXZhbmNlKSwKICAgICAg
ICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAg
ICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKQEAgLTQwOSw3
ICs0MzMsOCBAQCBjbGFzcyBUZXN0TGF5b3V0VGVzdHNGYWN0b3J5KFRlc3RDYXNlKToKICAgICBk
ZWYgdGVzdF9tYWNvc193azJfZmFjdG9yeShzZWxmKToKICAgICAgICAgZmFjdG9yeSA9IGZhY3Rv
cmllcy5tYWNPU1dLMkZhY3RvcnkocGxhdGZvcm09J21hYy1tb2phdmUnLCBjb25maWd1cmF0aW9u
PSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bIng4Nl82NCJdKQogICAgICAgICBzZWxmLmFzc2Vy
dEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywgWwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rv
cnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSdtYWMtbW9qYXZlJywgY29uZmlndXJh
dGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4ODZfNjQiXSwgYnVpbGRPbmx5PUZhbHNl
LCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSks
CisgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxh
dGZvcm09J21hYy1tb2phdmUnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJl
cz1bIng4Nl82NCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5PUZh
bHNlLCB0cmlnZ2Vycz1Ob25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRp
dGlvbmFsQXJndW1lbnRzPU5vbmUpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3Rl
cHMuVmFsaWRhdGVQYXRjaCksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Q
cmludENvbmZpZ3VyYXRpb24pLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMu
Q2hlY2tPdXRTb3VyY2UpLApAQCAtNDI3LDcgKzQ1Miw4IEBAIGNsYXNzIFRlc3RMYXlvdXRUZXN0
c0ZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2lvc193azJfZmFjdG9yeShzZWxmKToK
ICAgICAgICAgZmFjdG9yeSA9IGZhY3Rvcmllcy5pT1NUZXN0c0ZhY3RvcnkocGxhdGZvcm09J2lv
cy1zaW11bGF0b3ItMTMnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1b
Ing4Nl82NCJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywg
WwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBs
YXRmb3JtPSdpb3Mtc2ltdWxhdG9yLTEzJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hp
dGVjdHVyZXM9WyJ4ODZfNjQiXSwgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz1Ob25lLCByZW1v
dGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCisgICAgICAgICAgICBfQnVpbGRT
dGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J2lvcy1zaW11bGF0b3It
MTMnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bIng4Nl82NCJdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz1O
b25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRz
PU5vbmUpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuVmFsaWRhdGVQYXRj
aCksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5QcmludENvbmZpZ3VyYXRp
b24pLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ2hlY2tPdXRTb3VyY2Up
LApAQCAtNDQ1LDcgKzQ3MSw4IEBAIGNsYXNzIFRlc3RMYXlvdXRUZXN0c0ZhY3RvcnkoVGVzdENh
c2UpOgogICAgIGRlZiB0ZXN0X2d0a19mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0g
ZmFjdG9yaWVzLkdUS1Rlc3RzRmFjdG9yeShwbGF0Zm9ybT0nZ3RrJywgY29uZmlndXJhdGlvbj0n
cmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4ODZfNjQiXSkKICAgICAgICAgc2VsZi5hc3NlcnRC
dWlsZFN0ZXBzKGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5
KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nZ3RrJywgY29uZmlndXJhdGlvbj0ncmVs
ZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJ4ODZfNjQiXSwgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vy
cz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCisgICAgICAg
ICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J2d0
aycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsieDg2XzY0Il0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5v
bmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5WYWxpZGF0ZVBhdGNo
KSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlByaW50Q29uZmlndXJhdGlv
biksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja091dFNvdXJjZSks
CkBAIC00NjQsNyArNDkxLDggQEAgY2xhc3MgVGVzdEpTQ0J1aWxkRmFjdG9yeShUZXN0Q2FzZSk6
CiAgICAgZGVmIHRlc3RfanNjX21pcHNlbF9mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5
ID0gZmFjdG9yaWVzLkpTQ0J1aWxkRmFjdG9yeShwbGF0Zm9ybT0nanNjJywgY29uZmlndXJhdGlv
bj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJtaXBzZWwiXSkKICAgICAgICAgc2VsZi5hc3Nl
cnRCdWlsZFN0ZXBzKGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0
b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nanNjJywgY29uZmlndXJhdGlvbj0n
cmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJtaXBzZWwiXSwgYnVpbGRPbmx5PUZhbHNlLCB0cmln
Z2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCisgICAg
ICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09
J2pzYycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsibWlwc2VsIl0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJz
PU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVu
dHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja1BhdGNo
UmVsZXZhbmNlKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRl
UGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1
cmF0aW9uKSwKQEAgLTQ3OCw3ICs1MDYsOCBAQCBjbGFzcyBUZXN0SlNDQnVpbGRGYWN0b3J5KFRl
c3RDYXNlKToKICAgICBkZWYgdGVzdF9qc2NfYXJtdjdfZmFjdG9yeShzZWxmKToKICAgICAgICAg
ZmFjdG9yeSA9IGZhY3Rvcmllcy5KU0NCdWlsZEZhY3RvcnkocGxhdGZvcm09J2pzYycsIGNvbmZp
Z3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsiYXJtdjciXSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRCdWlsZFN0ZXBzKGZhY3Rvcnkuc3RlcHMsIFsKLSAgICAgICAgICAgIF9CdWlsZFN0
ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nanNjJywgY29uZmlndXJh
dGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJhcm12NyJdLCBidWlsZE9ubHk9RmFsc2Us
IHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwK
KyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0
Zm9ybT0nanNjJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJhcm12
NyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5PUZhbHNlLCB0cmln
Z2Vycz1Ob25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJn
dW1lbnRzPU5vbmUpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ2hlY2tQ
YXRjaFJlbGV2YW5jZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5WYWxp
ZGF0ZVBhdGNoKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlByaW50Q29u
ZmlndXJhdGlvbiksCkBAIC00OTQsNyArNTIzLDggQEAgY2xhc3MgVGVzdEpTQ0J1aWxkQW5kVGVz
dHNGYWN0b3J5KFRlc3RDYQogICAgIGRlZiB0ZXN0X2pzY19taXBzZWxfZmFjdG9yeShzZWxmKToK
ICAgICAgICAgZmFjdG9yeSA9IGZhY3Rvcmllcy5KU0NCdWlsZEZhY3RvcnkocGxhdGZvcm09J2pz
YycsIGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsibWlwc2VsIl0pCiAg
ICAgICAgIHNlbGYuYXNzZXJ0QnVpbGRTdGVwcyhmYWN0b3J5LnN0ZXBzLCBbCi0gICAgICAgICAg
ICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5Db25maWd1cmVCdWlsZCwgcGxhdGZvcm09J2pzYycs
IGNvbmZpZ3VyYXRpb249J3JlbGVhc2UnLCBhcmNoaXRlY3R1cmVzPVsibWlwc2VsIl0sIGJ1aWxk
T25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1l
bnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJl
QnVpbGQsIHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0
dXJlcz1bIm1pcHNlbCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRPbmx5
PUZhbHNlLCB0cmlnZ2Vycz1Ob25lLCB0cmlnZ2VyZWRfYnk9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBh
ZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnko
c3RlcHMuQ2hlY2tQYXRjaFJlbGV2YW5jZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVwRmFjdG9y
eShzdGVwcy5WYWxpZGF0ZVBhdGNoKSwKICAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0
ZXBzLlByaW50Q29uZmlndXJhdGlvbiksCkBAIC01MDgsNyArNTM4LDggQEAgY2xhc3MgVGVzdEpT
Q0J1aWxkQW5kVGVzdHNGYWN0b3J5KFRlc3RDYQogICAgIGRlZiB0ZXN0X2pzY19hcm12N19mYWN0
b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVzLkpTQ0J1aWxkRmFjdG9yeShw
bGF0Zm9ybT0nanNjJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJh
cm12NyJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVwcywgWwot
ICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRm
b3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bImFybXY3
Il0sIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlv
bmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMu
Q29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywg
YXJjaGl0ZWN0dXJlcz1bImFybXY3Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
dWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1Ob25lLCByZW1vdGVz
PU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAgICBfQnVpbGRTdGVw
RmFjdG9yeShzdGVwcy5DaGVja1BhdGNoUmVsZXZhbmNlKSwKICAgICAgICAgICAgIF9CdWlsZFN0
ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAgX0J1aWxkU3RlcEZh
Y3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKQEAgLTUyNCw3ICs1NTUsOCBAQCBjbGFz
cyBUZXN0SlNDVGVzdHNGYWN0b3J5KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9qc2NfbWlwc2Vs
X2ZhY3Rvcnkoc2VsZik6CiAgICAgICAgIGZhY3RvcnkgPSBmYWN0b3JpZXMuSlNDVGVzdHNGYWN0
b3J5KHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJl
cz1bIm1pcHNlbCJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9yeS5zdGVw
cywgWwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQs
IHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1b
Im1pcHNlbCJdLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwg
YWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKKyAgICAgICAgICAgIF9CdWlsZFN0ZXBGYWN0b3J5
KHN0ZXBzLkNvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT0nanNjJywgY29uZmlndXJhdGlvbj0ncmVs
ZWFzZScsIGFyY2hpdGVjdHVyZXM9WyJtaXBzZWwiXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgdHJpZ2dlcmVkX2J5PU5vbmUs
IHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lKSwKICAgICAgICAgICAgIF9C
dWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLkNoZWNrUGF0Y2hSZWxldmFuY2UpLAogICAgICAgICAgICAg
X0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuVmFsaWRhdGVQYXRjaCksCiAgICAgICAgICAgICBfQnVp
bGRTdGVwRmFjdG9yeShzdGVwcy5QcmludENvbmZpZ3VyYXRpb24pLApAQCAtNTQwLDcgKzU3Miw4
IEBAIGNsYXNzIFRlc3RKU0NUZXN0c0ZhY3RvcnkoVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2pz
Y19hcm12N19mYWN0b3J5KHNlbGYpOgogICAgICAgICBmYWN0b3J5ID0gZmFjdG9yaWVzLkpTQ1Rl
c3RzRmFjdG9yeShwbGF0Zm9ybT0nanNjJywgY29uZmlndXJhdGlvbj0ncmVsZWFzZScsIGFyY2hp
dGVjdHVyZXM9WyJhcm12NyJdKQogICAgICAgICBzZWxmLmFzc2VydEJ1aWxkU3RlcHMoZmFjdG9y
eS5zdGVwcywgWwotICAgICAgICAgICAgX0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuQ29uZmlndXJl
QnVpbGQsIHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9uPSdyZWxlYXNlJywgYXJjaGl0ZWN0
dXJlcz1bImFybXY3Il0sIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1O
b25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUpLAorICAgICAgICAgICAgX0J1aWxkU3RlcEZh
Y3Rvcnkoc3RlcHMuQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPSdqc2MnLCBjb25maWd1cmF0aW9u
PSdyZWxlYXNlJywgYXJjaGl0ZWN0dXJlcz1bImFybXY3Il0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPU5vbmUsIHRyaWdnZXJlZF9ieT1O
b25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSksCiAgICAgICAgICAg
ICBfQnVpbGRTdGVwRmFjdG9yeShzdGVwcy5DaGVja1BhdGNoUmVsZXZhbmNlKSwKICAgICAgICAg
ICAgIF9CdWlsZFN0ZXBGYWN0b3J5KHN0ZXBzLlZhbGlkYXRlUGF0Y2gpLAogICAgICAgICAgICAg
X0J1aWxkU3RlcEZhY3Rvcnkoc3RlcHMuUHJpbnRDb25maWd1cmF0aW9uKSwKSW5kZXg6IFRvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnLnB5CShyZXZpc2lv
biAyNjcwMTYpCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvbG9hZENvbmZp
Zy5weQkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCBkZWYgbG9hZEJ1aWxkZXJDb25m
aWcoYywgaXNfdGVzdF9tb2RlX2VuCiAgICAgICAgIGlmICdpY29uJyBpbiBidWlsZGVyOgogICAg
ICAgICAgICAgZGVsIGJ1aWxkZXJbJ2ljb24nXQogICAgICAgICBmYWN0b3J5a3dhcmdzID0ge30K
LSAgICAgICAgZm9yIGtleSBpbiBbJ3BsYXRmb3JtJywgJ2NvbmZpZ3VyYXRpb24nLCAnYXJjaGl0
ZWN0dXJlcycsICd0cmlnZ2VycycsICdyZW1vdGVzJywgJ2FkZGl0aW9uYWxBcmd1bWVudHMnLCAn
cnVuVGVzdHMnXToKKyAgICAgICAgZm9yIGtleSBpbiBbJ3BsYXRmb3JtJywgJ2NvbmZpZ3VyYXRp
b24nLCAnYXJjaGl0ZWN0dXJlcycsICd0cmlnZ2VycycsICdyZW1vdGVzJywgJ2FkZGl0aW9uYWxB
cmd1bWVudHMnLCAncnVuVGVzdHMnLCAndHJpZ2dlcmVkX2J5J106CiAgICAgICAgICAgICB2YWx1
ZSA9IGJ1aWxkZXIucG9wKGtleSwgTm9uZSkKICAgICAgICAgICAgIGlmIHZhbHVlOgogICAgICAg
ICAgICAgICAgIGZhY3Rvcnlrd2FyZ3Nba2V5XSA9IHZhbHVlCkBAIC0xMzksNyArMTM5LDcgQEAg
ZGVmIGNoZWNrVmFsaWRCdWlsZGVyKGNvbmZpZywgYnVpbGRlcik6CiBkZWYgY2hlY2tWYWxpZFNj
aGVkdWxlcnMoY29uZmlnLCBzY2hlZHVsZXJzKToKICAgICBmb3Igc2NoZWR1bGVyIGluIGNvbmZp
Zy5nZXQoJ3NjaGVkdWxlcnMnKSBvciBbXToKICAgICAgICAgaWYgc2NoZWR1bGVyLmdldCgndHlw
ZScpID09ICdUcmlnZ2VyYWJsZSc6Ci0gICAgICAgICAgICBpZiBub3QgaXNUcmlnZ2VyVXNlZEJ5
QW55QnVpbGRlcihjb25maWcsIHNjaGVkdWxlclsnbmFtZSddKToKKyAgICAgICAgICAgIGlmIG5v
dCBpc1RyaWdnZXJVc2VkQnlBbnlCdWlsZGVyKGNvbmZpZywgc2NoZWR1bGVyWyduYW1lJ10pIGFu
ZCAnYnVpbGQnIG5vdCBpbiBzY2hlZHVsZXJbJ25hbWUnXS5sb3dlcigpOgogICAgICAgICAgICAg
ICAgIHJhaXNlIEV4Y2VwdGlvbignVHJpZ2dlcjoge30gaXMgbm90IHVzZWQgYnkgYW55IGJ1aWxk
ZXIgaW4gY29uZmlnLmpzb24nLmZvcm1hdChzY2hlZHVsZXJbJ25hbWUnXSkpCiAKIApJbmRleDog
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25maWdfdW5pdHRlc3QucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2xvYWRDb25m
aWdfdW5pdHRlc3QucHkJKHJldmlzaW9uIDI2NzAxNikKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2V3cy1idWlsZC9sb2FkQ29uZmlnX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC00
MCw3ICs0MCw3IEBAIGNsYXNzIENvbmZpZ0RvdEpTT05UZXN0KHVuaXR0ZXN0LlRlc3RDYXMKICAg
ICAgICAgY29uZmlnID0ganNvbi5sb2FkKG9wZW4ob3MucGF0aC5qb2luKGN3ZCwgJ2NvbmZpZy5q
c29uJykpKQogICAgICAgICB2YWxpZF9idWlsZGVyX2tleXMgPSBbJ2FkZGl0aW9uYWxBcmd1bWVu
dHMnLCAnYXJjaGl0ZWN0dXJlcycsICdidWlsZGRpcicsICdjb25maWd1cmF0aW9uJywgJ2Rlc2Ny
aXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0UHJvcGVydGll
cycsICdlbnYnLCAnZmFjdG9yeScsICdpY29uJywgJ2xvY2tzJywgJ25hbWUnLCAncGxhdGZvcm0n
LCAncHJvcGVydGllcycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtb3Rlcycs
ICdydW5UZXN0cycsICdzaG9ydG5hbWUnLCAndGFncycsICd0cmlnZ2VycycsICd3b3JrZXJuYW1l
cycsICd3b3JrZXJidWlsZGRpciddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVt
b3RlcycsICdydW5UZXN0cycsICdzaG9ydG5hbWUnLCAndGFncycsICd0cmlnZ2VycycsICd0cmln
Z2VyZWRfYnknLCAnd29ya2VybmFtZXMnLCAnd29ya2VyYnVpbGRkaXInXQogICAgICAgICBmb3Ig
YnVpbGRlciBpbiBjb25maWcuZ2V0KCdidWlsZGVycycsIFtdKToKICAgICAgICAgICAgIGZvciBr
ZXkgaW4gYnVpbGRlcjoKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoa2V5IGluIHZh
bGlkX2J1aWxkZXJfa2V5cywgJ1VuZXhwZWN0ZWQga2V5ICJ7fSIgZm9yIGJ1aWxkZXIge30nLmZv
cm1hdChrZXksIGJ1aWxkZXIuZ2V0KCduYW1lJykpKQpAQCAtNDksNyArNDksMTUgQEAgY2xhc3Mg
Q29uZmlnRG90SlNPTlRlc3QodW5pdHRlc3QuVGVzdENhcwogICAgICAgICBjd2QgPSBvcy5wYXRo
LmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKICAgICAgICAgY29uZmlnID0ganNv
bi5sb2FkKG9wZW4ob3MucGF0aC5qb2luKGN3ZCwgJ2NvbmZpZy5qc29uJykpKQogICAgICAgICBi
dWlsZGVyX3RvX3NjaGR1bGVyX21hcCA9IHt9CisgICAgICAgIHRyaWdnZXJlZF9ieV9zY2hlZHVs
ZXJzID0gW10KKyAgICAgICAgZm9yIGJ1aWxkZXIgaW4gY29uZmlnWydidWlsZGVycyddOgorICAg
ICAgICAgICAgdHJpZ2dlcmVkX2J5ID0gYnVpbGRlci5nZXQoJ3RyaWdnZXJlZF9ieScpCisgICAg
ICAgICAgICBpZiB0cmlnZ2VyZWRfYnk6CisgICAgICAgICAgICAgICAgdHJpZ2dlcmVkX2J5X3Nj
aGVkdWxlcnMuZXh0ZW5kKHRyaWdnZXJlZF9ieSkKKwogICAgICAgICBmb3Igc2NoZWR1bGVyIGlu
IGNvbmZpZy5nZXQoJ3NjaGVkdWxlcnMnKToKKyAgICAgICAgICAgIGlmIHNjaGVkdWxlclsnbmFt
ZSddIGluIHRyaWdnZXJlZF9ieV9zY2hlZHVsZXJzOgorICAgICAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgICAgICBmb3IgYnVpbGRlcm5hbWUgaW4gc2NoZWR1bGVyLmdldCgnYnVpbGRlck5h
bWVzJyk6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ1aWxkZXJuYW1lIG5vdCBp
biBidWlsZGVyX3RvX3NjaGR1bGVyX21hcCwgJ2J1aWxkZXIge30gYXBwZWFycyBtdWx0aXBsZSB0
aW1lcyBpbiBzY2hlZHVsZXJzLicuZm9ybWF0KGJ1aWxkZXJuYW1lKSkKICAgICAgICAgICAgICAg
ICBidWlsZGVyX3RvX3NjaGR1bGVyX21hcFtidWlsZGVybmFtZV0gPSBzY2hlZHVsZXIuZ2V0KCdu
YW1lJykKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkJ
KHJldmlzaW9uIDI2NzAxNikKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQAogCiBmcm9tIGJ1aWxkYm90
LnBsdWdpbnMgaW1wb3J0IHN0ZXBzLCB1dGlsCiBmcm9tIGJ1aWxkYm90LnByb2Nlc3MgaW1wb3J0
IGJ1aWxkc3RlcCwgbG9nb2JzZXJ2ZXIsIHByb3BlcnRpZXMKLWZyb20gYnVpbGRib3QucHJvY2Vz
cy5yZXN1bHRzIGltcG9ydCBSZXN1bHRzLCBTVUNDRVNTLCBGQUlMVVJFLCBXQVJOSU5HUywgU0tJ
UFBFRCwgRVhDRVBUSU9OLCBSRVRSWQorZnJvbSBidWlsZGJvdC5wcm9jZXNzLnJlc3VsdHMgaW1w
b3J0IFJlc3VsdHMsIFNVQ0NFU1MsIEZBSUxVUkUsIENBTkNFTExFRCwgV0FSTklOR1MsIFNLSVBQ
RUQsIEVYQ0VQVElPTiwgUkVUUlkKIGZyb20gYnVpbGRib3Quc3RlcHMgaW1wb3J0IG1hc3Rlciwg
c2hlbGwsIHRyYW5zZmVyLCB0cmlnZ2VyCiBmcm9tIGJ1aWxkYm90LnN0ZXBzLnNvdXJjZSBpbXBv
cnQgZ2l0CiBmcm9tIGJ1aWxkYm90LnN0ZXBzLndvcmtlciBpbXBvcnQgQ29tcG9zaXRlU3RlcE1p
eGluCkBAIC01MSw3ICs1MSw3IEBAIGNsYXNzIENvbmZpZ3VyZUJ1aWxkKGJ1aWxkc3RlcC5CdWls
ZFN0ZXAKICAgICBkZXNjcmlwdGlvbiA9IFsnY29uZmlndXJpbmcgYnVpbGQnXQogICAgIGRlc2Ny
aXB0aW9uRG9uZSA9IFsnQ29uZmlndXJlZCBidWlsZCddCiAKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seSwgdHJp
Z2dlcnMsIHJlbW90ZXMsIGFkZGl0aW9uYWxBcmd1bWVudHMpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5LCB0
cmlnZ2VycywgcmVtb3RlcywgYWRkaXRpb25hbEFyZ3VtZW50cywgdHJpZ2dlcmVkX2J5PU5vbmUp
OgogICAgICAgICBzdXBlcihDb25maWd1cmVCdWlsZCwgc2VsZikuX19pbml0X18oKQogICAgICAg
ICBzZWxmLnBsYXRmb3JtID0gcGxhdGZvcm0KICAgICAgICAgaWYgcGxhdGZvcm0gIT0gJ2pzYy1v
bmx5JzoKQEAgLTYxLDYgKzYxLDcgQEAgY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVwLkJ1
aWxkU3RlcAogICAgICAgICBzZWxmLmFyY2hpdGVjdHVyZSA9ICcgJy5qb2luKGFyY2hpdGVjdHVy
ZXMpIGlmIGFyY2hpdGVjdHVyZXMgZWxzZSBOb25lCiAgICAgICAgIHNlbGYuYnVpbGRPbmx5ID0g
YnVpbGRPbmx5CiAgICAgICAgIHNlbGYudHJpZ2dlcnMgPSB0cmlnZ2VycworICAgICAgICBzZWxm
LnRyaWdnZXJlZF9ieSA9IHRyaWdnZXJlZF9ieQogICAgICAgICBzZWxmLnJlbW90ZXMgPSByZW1v
dGVzCiAgICAgICAgIHNlbGYuYWRkaXRpb25hbEFyZ3VtZW50cyA9IGFkZGl0aW9uYWxBcmd1bWVu
dHMKIApAQCAtNzUsOCArNzYsMTAgQEAgY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVwLkJ1
aWxkU3RlcAogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYXJjaGl0ZWN0dXJlJywgc2Vs
Zi5hcmNoaXRlY3R1cmUsICdjb25maWcuanNvbicpCiAgICAgICAgIGlmIHNlbGYuYnVpbGRPbmx5
OgogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVpbGRPbmx5Jywgc2VsZi5idWlsZE9u
bHksICdjb25maWcuanNvbicpCi0gICAgICAgIGlmIHNlbGYudHJpZ2dlcnM6CisgICAgICAgIGlm
IHNlbGYudHJpZ2dlcnMgYW5kIG5vdCBzZWxmLmdldFByb3BlcnR5KCd0cmlnZ2VycycpOgogICAg
ICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgndHJpZ2dlcnMnLCBzZWxmLnRyaWdnZXJzLCAnY29u
ZmlnLmpzb24nKQorICAgICAgICBpZiBzZWxmLnRyaWdnZXJlZF9ieToKKyAgICAgICAgICAgIHNl
bGYuc2V0UHJvcGVydHkoJ3RyaWdnZXJlZF9ieScsIHNlbGYudHJpZ2dlcmVkX2J5LCAnY29uZmln
Lmpzb24nKQogICAgICAgICBpZiBzZWxmLnJlbW90ZXM6CiAgICAgICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdyZW1vdGVzJywgc2VsZi5yZW1vdGVzLCAnY29uZmlnLmpzb24nKQogICAgICAgICBp
ZiBzZWxmLmFkZGl0aW9uYWxBcmd1bWVudHM6CkBAIC05NTEsMTIgKzk1NCwxNCBAQCBjbGFzcyBV
bkFwcGx5UGF0Y2hJZlJlcXVpcmVkKENsZWFuV29ya2luCiAKIAogY2xhc3MgVHJpZ2dlcih0cmln
Z2VyLlRyaWdnZXIpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzY2hlZHVsZXJOYW1lcywgKipr
d2FyZ3MpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzY2hlZHVsZXJOYW1lcywgaW5jbHVkZV9y
ZXZpc2lvbj1UcnVlLCB0cmlnZ2Vycz1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuaW5j
bHVkZV9yZXZpc2lvbiA9IGluY2x1ZGVfcmV2aXNpb24KKyAgICAgICAgc2VsZi50cmlnZ2VycyA9
IHRyaWdnZXJzCiAgICAgICAgIHNldF9wcm9wZXJ0aWVzID0gc2VsZi5wcm9wZXJ0aWVzVG9QYXNz
VG9UcmlnZ2VycygpIG9yIHt9CiAgICAgICAgIHN1cGVyKFRyaWdnZXIsIHNlbGYpLl9faW5pdF9f
KHNjaGVkdWxlck5hbWVzPXNjaGVkdWxlck5hbWVzLCBzZXRfcHJvcGVydGllcz1zZXRfcHJvcGVy
dGllcywgKiprd2FyZ3MpCiAKICAgICBkZWYgcHJvcGVydGllc1RvUGFzc1RvVHJpZ2dlcnMoc2Vs
Zik6Ci0gICAgICAgIHJldHVybiB7CisgICAgICAgIHByb3BlcnRpZXNfdG9fcGFzcyA9IHsKICAg
ICAgICAgICAgICdwYXRjaF9pZCc6IHByb3BlcnRpZXMuUHJvcGVydHkoJ3BhdGNoX2lkJyksCiAg
ICAgICAgICAgICAnYnVnX2lkJzogcHJvcGVydGllcy5Qcm9wZXJ0eSgnYnVnX2lkJyksCiAgICAg
ICAgICAgICAnY29uZmlndXJhdGlvbic6IHByb3BlcnRpZXMuUHJvcGVydHkoJ2NvbmZpZ3VyYXRp
b24nKSwKQEAgLTk2NCw4ICs5NjksMTIgQEAgY2xhc3MgVHJpZ2dlcih0cmlnZ2VyLlRyaWdnZXIp
OgogICAgICAgICAgICAgJ2Z1bGxQbGF0Zm9ybSc6IHByb3BlcnRpZXMuUHJvcGVydHkoJ2Z1bGxQ
bGF0Zm9ybScpLAogICAgICAgICAgICAgJ2FyY2hpdGVjdHVyZSc6IHByb3BlcnRpZXMuUHJvcGVy
dHkoJ2FyY2hpdGVjdHVyZScpLAogICAgICAgICAgICAgJ293bmVyJzogcHJvcGVydGllcy5Qcm9w
ZXJ0eSgnb3duZXInKSwKLSAgICAgICAgICAgICdld3NfcmV2aXNpb24nOiBwcm9wZXJ0aWVzLlBy
b3BlcnR5KCdnb3RfcmV2aXNpb24nKSwKICAgICAgICAgfQorICAgICAgICBpZiBzZWxmLmluY2x1
ZGVfcmV2aXNpb246CisgICAgICAgICAgICBwcm9wZXJ0aWVzX3RvX3Bhc3NbJ2V3c19yZXZpc2lv
biddID0gcHJvcGVydGllcy5Qcm9wZXJ0eSgnZ290X3JldmlzaW9uJykKKyAgICAgICAgaWYgc2Vs
Zi50cmlnZ2VyczoKKyAgICAgICAgICAgIHByb3BlcnRpZXNfdG9fcGFzc1sndHJpZ2dlcnMnXSA9
IHNlbGYudHJpZ2dlcnMKKyAgICAgICAgcmV0dXJuIHByb3BlcnRpZXNfdG9fcGFzcwogCiAKIGNs
YXNzIFRlc3RXaXRoRmFpbHVyZUNvdW50KHNoZWxsLlRlc3QpOgpAQCAtMjE2NSwxMSArMjE3NCwy
MCBAQCBjbGFzcyBBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzKGJ1aWxkc3RlCiAgICAgICAgIHJl
dHVybiBkZWZlci5zdWNjZWVkKE5vbmUpCiAKICAgICBkZWYgcmV0cnlfYnVpbGQoc2VsZiwgbWVz
c2FnZT0nJyk6Ci0gICAgICAgIHNlbGYuZmluaXNoZWQoUkVUUlkpCiAgICAgICAgIGlmIG5vdCBt
ZXNzYWdlOgogICAgICAgICAgICAgbWVzc2FnZSA9ICdVbmFibGUgdG8gY29uZmlybSBpZiB0ZXN0
IGZhaWx1cmVzIGFyZSBpbnRyb2R1Y2VkIGJ5IHBhdGNoLCByZXRyeWluZyBidWlsZCcKICAgICAg
ICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSBtZXNzYWdlCi0gICAgICAgIHNlbGYuYnVpbGQuYnVp
bGRGaW5pc2hlZChbbWVzc2FnZV0sIFJFVFJZKQorCisgICAgICAgIHRyaWdnZXJlZF9ieSA9IHNl
bGYuZ2V0UHJvcGVydHkoJ3RyaWdnZXJlZF9ieScsIE5vbmUpCisgICAgICAgIGlmIHRyaWdnZXJl
ZF9ieToKKyAgICAgICAgICAgICMgVHJpZ2dlciBwYXJlbnQgYnVpbGQgc28gdGhhdCBpdCBjYW4g
cmUtYnVpbGQgVG9UCisgICAgICAgICAgICBzY2hkdWxlcl9mb3JfY3VycmVudF9xdWV1ZSA9IHNl
bGYuZ2V0UHJvcGVydHkoJ3NjaGVkdWxlcicpCisgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0
ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVHJpZ2dlcihzY2hlZHVsZXJOYW1lcz10cmlnZ2VyZWRfYnks
IGluY2x1ZGVfcmV2aXNpb249RmFsc2UsIHRyaWdnZXJzPVtzY2hkdWxlcl9mb3JfY3VycmVudF9x
dWV1ZV0pXSkKKyAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1aWxkX3N1bW1hcnknLCBt
ZXNzYWdlKQorICAgICAgICAgICAgc2VsZi5maW5pc2hlZChTVUNDRVNTKQorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgc2VsZi5maW5pc2hlZChSRVRSWSkKKyAgICAgICAgICAgIHNlbGYuYnVp
bGQuYnVpbGRGaW5pc2hlZChbbWVzc2FnZV0sIFJFVFJZKQogICAgICAgICByZXR1cm4gZGVmZXIu
c3VjY2VlZChOb25lKQogCiAgICAgZGVmIF9yZXN1bHRzX2ZhaWxlZF9kaWZmZXJlbnRfdGVzdHMo
c2VsZiwgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzLCBzZWNvbmRfcmVzdWx0c19mYWlsaW5n
X3Rlc3RzKToK
</data>

          </attachment>
      

    </bug>

</bugzilla>