<?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>214425</bug_id>
          
          <creation_ts>2020-07-16 14:56:21 -0700</creation_ts>
          <short_desc>REGRESSION(r264486): ASSERTION FAILED: ASSERT_NOT_REACHED() in NetworkProcessPlatformStrategies::createBlobRegistry</short_desc>
          <delta_ts>2020-07-21 10:28:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672260</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-16 14:56:21 -0700</bug_when>
    <thetext>Testing blobs in tests storage/indexeddb/structured-clone.html crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672778</commentid>
    <comment_count>1</comment_count>
      <attachid>404635</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-17 21:34:35 -0700</bug_when>
    <thetext>Created attachment 404635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672779</commentid>
    <comment_count>2</comment_count>
      <attachid>404636</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-17 21:45:20 -0700</bug_when>
    <thetext>Created attachment 404636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673039</commentid>
    <comment_count>3</comment_count>
      <attachid>404636</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-20 06:27:36 -0700</bug_when>
    <thetext>Comment on attachment 404636
Patch

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

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:2949
&gt; +        if (!m_isDOMGlobalObject || m_globalObject-&gt;inherits&lt;JSIDBSerializationGlobalObject&gt;(m_globalObject-&gt;vm()))

There are some more m_isDOMGlobalObject that might benefit from the same change, for instance in readFile.

Would it be possible to just initialise m_isDOMGlobalObject to false if m_globalObject-&gt;inherits&lt;JSIDBSerializationGlobalObject&gt;(...) is true?
And maybe rename m_isDOMGlobalObject to a more precise name.

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3174
&gt;                  if (m_isDOMGlobalObject)

We could check for JSIDBSerializationGlobalObject as well here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673082</commentid>
    <comment_count>4</comment_count>
      <attachid>404636</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-20 08:42:45 -0700</bug_when>
    <thetext>Comment on attachment 404636
Patch

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

&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:2949
&gt;&gt; +        if (!m_isDOMGlobalObject || m_globalObject-&gt;inherits&lt;JSIDBSerializationGlobalObject&gt;(m_globalObject-&gt;vm()))
&gt; 
&gt; There are some more m_isDOMGlobalObject that might benefit from the same change, for instance in readFile.
&gt; 
&gt; Would it be possible to just initialise m_isDOMGlobalObject to false if m_globalObject-&gt;inherits&lt;JSIDBSerializationGlobalObject&gt;(...) is true?
&gt; And maybe rename m_isDOMGlobalObject to a more precise name.

I am not sure whether there is other use case of m_isDOMGlobalObject other than IDB so I did not change this check. Will try.

&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3174
&gt;&gt;                  if (m_isDOMGlobalObject)
&gt; 
&gt; We could check for JSIDBSerializationGlobalObject as well here.

Sure. It may be even better to move the check to before the iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673104</commentid>
    <comment_count>5</comment_count>
      <attachid>404721</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-20 09:33:53 -0700</bug_when>
    <thetext>Created attachment 404721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673114</commentid>
    <comment_count>6</comment_count>
      <attachid>404724</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-20 10:05:27 -0700</bug_when>
    <thetext>Created attachment 404724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673134</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-20 10:50:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/65834875&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673408</commentid>
    <comment_count>8</comment_count>
      <attachid>404724</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-21 04:03:49 -0700</bug_when>
    <thetext>Comment on attachment 404724
Patch

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

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3161
&gt; +                return jsNull();

We will not call readFile so will not be able to advance m_ptr.
We should probably do this check after readFile.
Ditto for FileListTag.

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3198
&gt; +                ASSERT_NOT_REACHED();

This change is not explained and is somehow counter intuitive.
Why not: &quot;if (m_isJSIDBSerializationGlobalObject) ...&quot; without the ASSERT_NOT_REACHED?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673456</commentid>
    <comment_count>9</comment_count>
      <attachid>404724</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-21 09:09:53 -0700</bug_when>
    <thetext>Comment on attachment 404724
Patch

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

&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3161
&gt;&gt; +                return jsNull();
&gt; 
&gt; We will not call readFile so will not be able to advance m_ptr.
&gt; We should probably do this check after readFile.
&gt; Ditto for FileListTag.

Sure.

&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3198
&gt;&gt; +                ASSERT_NOT_REACHED();
&gt; 
&gt; This change is not explained and is somehow counter intuitive.
&gt; Why not: &quot;if (m_isJSIDBSerializationGlobalObject) ...&quot; without the ASSERT_NOT_REACHED?

ImageData can be deserialized with JSIDBSerializationGlobalObject according to storage/indexeddb/structured-clone.html
I added this assertion to check if any test uses this code path (called with non JSDOMGlobalObject) other than previous IDB; if so then we need to keep this check. It looks like we can remove this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673479</commentid>
    <comment_count>10</comment_count>
      <attachid>404826</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-07-21 09:45:02 -0700</bug_when>
    <thetext>Created attachment 404826
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673493</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-21 10:28:25 -0700</bug_when>
    <thetext>Committed r264661: &lt;https://trac.webkit.org/changeset/264661&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404826.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404635</attachid>
            <date>2020-07-17 21:34:35 -0700</date>
            <delta_ts>2020-07-17 21:45:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214425-20200717213434.patch</filename>
            <type>text/plain</type>
            <size>26324</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM5Y2FhYjI1MzgyYWI5
NjlmMWNhMjVlMTJkNzRlOWE3NzA2MjQ1Mi4uMWEyNTRlODE1OTMzNjc2NGNjNmQ0MGQ2YjEzYTZj
YjQ0MWQ2ZGI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA3LTE3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY0NDg2
KTogQVNTRVJUSU9OIEZBSUxFRDogQVNTRVJUX05PVF9SRUFDSEVEKCkgaW4gTmV0d29ya1Byb2Nl
c3NQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCwgc29tZSBraW5kIG9mIHdyYXBwZXJzIHdpbGwgbm90IGJlIGNyZWF0ZWQgd2hlbiBnbG9i
YWwgb2JqZWN0IGlzIG5vdCAKKyAgICAgICAgSlNET01HbG9iYWxPYmplY3QsIHNvIHRoZXkgd291
bGQgbm90IGJlIGNyZWF0ZWQgZm9yIElEQiBiZWZvcmUgcjI2NDQ4Ni4gQWZ0ZXIgcjI2NDQ4Niwg
SURCIHVzZXMgCisgICAgICAgIEpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCwgd2hpY2gg
aXMgSlNET01HbG9iYWxPYmplY3QsIHNvIHRob3NlIHdyYXBwZXJzIHN0YXJ0IHRvIGJlIGNyZWF0
ZWQuIFRvIHJlc3RvcmUKKyAgICAgICAgdGhlIG9sZCBiZWhhdmlvciwgYWRkaW5nIGNoZWNrcyBm
b3IgSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0IGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAuCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0czogc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0
dXJlZC1jbG9uZS5odG1sCisgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UvaW5kZXhlZGRi
L3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlh
bGl6ZXI6OnJlYWRSVENDZXJ0aWZpY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2Vy
aWFsaXplcjo6cmVhZFRlcm1pbmFsKToKKwogMjAyMC0wNy0xNyAgTWVnYW4gR2FyZG5lciAgPG1l
Z2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBPSyBidXR0b24gdG8gRGF0ZS9U
aW1lIGZvcm0gY29udHJvbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCBlNjcwYzk4MzZlYzhlZjgzN2E5MDgwNDZj
NWU5ZjI5Nzc2ODc3OWE2Li4zNDdjZTdmYTJlMWQ4ZTBlMzVmNDlhYmRkYmEwMDVkYTc1MThhMjdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJKU0RPTVJlY3QuaCIKICNp
bmNsdWRlICJKU0ZpbGUuaCIKICNpbmNsdWRlICJKU0ZpbGVMaXN0LmgiCisjaW5jbHVkZSAiSlNJ
REJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNJbWFnZUJpdG1hcC5o
IgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSlNNZXNzYWdlUG9ydC5oIgpA
QCAtMjk0NSw3ICsyOTQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGZpbmdlcnByaW50cy51
bmNoZWNrZWRBcHBlbmQoUlRDQ2VydGlmaWNhdGU6OkR0bHNGaW5nZXJwcmludCB7IGFsZ29yaXRo
bS0+c3RyaW5nKCksIHZhbHVlLT5zdHJpbmcoKSB9KTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
ICghbV9pc0RPTUdsb2JhbE9iamVjdCkKKyAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFsT2JqZWN0
IHx8IG1fZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmpl
Y3Q+KG1fZ2xvYmFsT2JqZWN0LT52bSgpKSkKICAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RF
bXB0eU9iamVjdChtX2xleGljYWxHbG9iYWxPYmplY3QsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQ
cm90b3R5cGUoKSk7CiAKICAgICAgICAgYXV0byBydGNDZXJ0aWZpY2F0ZSA9IFJUQ0NlcnRpZmlj
YXRlOjpjcmVhdGUoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2luLT5zdHJp
bmcoKSksIGV4cGlyZXMsIFdURk1vdmUoZmluZ2VycHJpbnRzKSwgY2VydGlmaWNhdGUtPnRha2VT
dHJpbmcoKSwga2V5ZWRNYXRlcmlhbC0+dGFrZVN0cmluZygpKTsKQEAgLTMxNTQsMTEgKzMxNTUs
MTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybiBEYXRlSW5zdGFuY2U6OmNyZWF0ZSht
X2xleGljYWxHbG9iYWxPYmplY3QtPnZtKCksIG1fZ2xvYmFsT2JqZWN0LT5kYXRlU3RydWN0dXJl
KCksIGQpOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRmlsZVRhZzogeworICAgICAgICAgICAg
aWYgKCFtX2lzRE9NR2xvYmFsT2JqZWN0IHx8IG1fZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lE
QlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KG1fZ2xvYmFsT2JqZWN0LT52bSgpKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgICAgICBSZWZQdHI8RmlsZT4gZmls
ZTsKICAgICAgICAgICAgIGlmICghcmVhZEZpbGUoZmlsZSkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkKLSAg
ICAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgICAgICByZXR1cm4gdG9KUyht
X2xleGljYWxHbG9iYWxPYmplY3QsIGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xvYmFs
T2JqZWN0KSwgZmlsZS5nZXQoKSk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWxlTGlzdFRh
ZzogewpAQCAtMzE3Myw3ICszMTc0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBpZiAo
bV9pc0RPTUdsb2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKGZp
bGUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIW1f
aXNET01HbG9iYWxPYmplY3QpCisgICAgICAgICAgICBpZiAoIW1faXNET01HbG9iYWxPYmplY3Qg
fHwgbV9nbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVj
dD4obV9nbG9iYWxPYmplY3QtPnZtKCkpKQogICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwo
KTsKICAgICAgICAgICAgIHJldHVybiBnZXRKU1ZhbHVlKEZpbGVMaXN0OjpjcmVhdGUoV1RGTW92
ZShmaWxlcykpLmdldCgpKTsKICAgICAgICAgfQpAQCAtMzIxOSw3ICszMjIwLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplID0gMDsKICAgICAgICAgICAg
IGlmICghcmVhZChzaXplKSkKICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAg
ICAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFsT2JqZWN0KQorICAgICAgICAgICAgaWYgKCFtX2lz
RE9NR2xvYmFsT2JqZWN0IHx8IG1fZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6
YXRpb25HbG9iYWxPYmplY3Q+KG1fZ2xvYmFsT2JqZWN0LT52bSgpKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgICAgICByZXR1cm4gZ2V0SlNWYWx1ZShCbG9iOjpk
ZXNlcmlhbGl6ZShVUkwoVVJMKCksIHVybC0+c3RyaW5nKCkpLCB0eXBlLT5zdHJpbmcoKSwgc2l6
ZSwgYmxvYkZpbGVQYXRoRm9yQmxvYlVSTCh1cmwtPnN0cmluZygpKSkuZ2V0KCkpOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZDhhMjRjYTkyNzU3ZGYwMjdjMDExN2ZiNTg3N2I0ZjA3Yjk4ODU1NS4uMWIw
MDY1YWVkMWMxMDQ4NzQzZTU2NTFiZmM2NmZhMDRhOTlkZjgyOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDIwLTA3LTE3ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CisKKyAgICAg
ICAgUkVHUkVTU0lPTihyMjY0NDg2KTogQVNTRVJUSU9OIEZBSUxFRDogQVNTRVJUX05PVF9SRUFD
SEVEKCkgaW4gTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUJsb2JSZWdp
c3RyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0
NDI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9zdHJ1Y3R1cmVkLWNsb25lLmpzOgorICAgICAgICAodGVzdEZpbGUpOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS1leHBlY3RlZC50
eHQ6CisKIDIwMjAtMDctMTcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL2VuY29kaW5nIGZyb20gdXBzdHJlYW0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxZmNh
NDQ0MzM0NDliMzBjODMyMzQ4ZmZlMTVjYjhjMWExZjkxYjM3Li5iYmVjZTAxMWU1ODQxYjU4YzJk
Yzc5M2NkMmQ3YjBhNGQ4NTNjN2U4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zCkBAIC05ODMsOSArOTgzLDYgQEAgd2Via2l0Lm9yZy9iLzIxNDMw
OCBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWJhc2ljLWFsbG93LXBy
ZWZsaWcKIAogd2Via2l0Lm9yZy9iLzIxNDM4OCBbIE1vamF2ZSBdIGNvbXBvc2l0aW5nL3JlcGFp
bnQvaWZyYW1lcy9jb21wb3NpdGVkLWlmcmFtZS13aXRoLWZpeGVkLWJhY2tncm91bmQtZG9jLXJl
cGFpbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1
ZyBdIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS5odG1sIFsgU2tp
cCBdCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1
Y3R1cmVkLWNsb25lLmh0bWwgWyBTa2lwIF0KLQogd2Via2l0Lm9yZy9iLzIxNDQ2OSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tb3Bh
Y2l0eS1wYXVzZS1hbmQtc2V0LXRpbWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzIxNDQ2OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9hbmltYXRpb24tdHJhbnNmb3JtLXBhdXNlLWFuZC1zZXQtdGltZS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDY5IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1vdmVyZmxvdy9vdmVyZmxvdy1lbGxpcHNpcy1keW5hbWljLTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjY3MWFiYzViZmRkNTE1ODIyNjdjZWJkNjcxZjIx
MGQ2MWY1ZDY0OC4uMDFiOWI1ZDE5NGI1ZjYzZDcyMGNmZWE1NDhiNTcwMTYwYTBhOGJiNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTA1
MiwxMCArMTA1Miw2IEBAIHdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ0NlcnRpZmljCiB3ZWJraXQub3JnL2IvMjE0
NDc4IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQ
ZWVyQ29ubmVjdGlvbi1nZW5lcmF0ZUNlcnRpZmljYXRlLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5v
cmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
cnRjL1JUQ1NjdHBUcmFuc3BvcnQtY29uc3RydWN0b3IuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9y
Zy9iLzIxNDQ3OCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJy
dGMvaWRsaGFybmVzcy5odHRwcy53aW5kb3cuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIx
NDQ3OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLXdvcmtl
cnMuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8y
MTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0
ZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdlL2lu
ZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMTQ0
NzggWyBEZWJ1ZyBdIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1s
YXRjaGVkLXNlbGVjdC5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcg
XSB3ZWJydGMvY2VydGlmaWNhdGVzLWluZGV4ZWRkYi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3Jn
L2IvMjE0NDc4IFsgRGVidWcgXSB3ZWJydGMvaDI2NS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9u
ZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zdHJ1Y3R1cmVk
LWNsb25lLmpzCmluZGV4IGIwYWNkZThkNzkwZTFhNmNmYjk1M2E4YmQyMGIyYjIxZGQ0MGI1ZWUu
Ljc4ZjBiZmQ4OWQ1NDI0MDExNWM5Yjc2ZGUyNzRlZTBjODkzYTg2MDggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zdHJ1Y3R1cmVkLWNsb25lLmpz
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zdHJ1Y3R1cmVk
LWNsb25lLmpzCkBAIC0zODUsMTIgKzM4NSw2IEBAIGZ1bmN0aW9uIGNvbXBhcmVCbG9icyhibG9i
MSwgYmxvYjIsIGNhbGxiYWNrKQogZnVuY3Rpb24gdGVzdEJsb2IoY2FsbGJhY2spCiB7CiAgICAg
ZGVidWcoIlRlc3RpbmcgQmxvYiIpOwotCi0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0MjUKLSAgICBkZWJ1ZygiU2tpcHBpbmcgdGVzdCIp
OwotICAgIGNhbGxiYWNrKCk7Ci0gICAgcmV0dXJuOwotCiAgICAgc2hvdWxkQmVUcnVlKCJGaWxl
UmVhZGVyICE9IG51bGwiKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2NvbnRlbnQgPSAnVGhpcyBp
cyBhIHRlc3QuIFRoaXMgaXMgb25seSBhIHRlc3QuJyIpOwogICAgIGV2YWxBbmRMb2coInRlc3Rf
ZGF0YSA9IG5ldyBCbG9iKFt0ZXN0X2NvbnRlbnRdKSIpOwpAQCAtNDExLDExICs0MDUsNiBAQCBm
dW5jdGlvbiBjb21wYXJlRmlsZXMoZmlsZTEsIGZpbGUyLCBjYWxsYmFjaykKICAgICBzaG91bGRC
ZVRydWUoImZpbGUxICE9PSBmaWxlMiIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUxKSIsICJbb2JqZWN0IEZpbGVdIik7CiAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
ZmlsZTIpIiwgIltvYmplY3QgRmlsZV0iKTsKLSAgICBkZWJ1ZygiZmlsZTEuc2l6ZTogIiArIGZp
bGUxLnNpemUpOwotICAgIHNob3VsZEJlKCJmaWxlMS5zaXplIiwgImZpbGUyLnNpemUiKTsKLSAg
ICBkZWJ1ZygiZmlsZTEudHlwZTogIiArIGZpbGUxLnR5cGUpOwotICAgIHNob3VsZEJlKCJmaWxl
MS50eXBlIiwgImZpbGUyLnR5cGUiKTsKLSAgICBkZWJ1ZygiZmlsZTEubmFtZTogIiArIGZpbGUx
Lm5hbWUpOwogICAgIHNob3VsZEJlKCJmaWxlMS5uYW1lIiwgImZpbGUyLm5hbWUiKTsKICAgICBz
aG91bGRCZSgiU3RyaW5nKGZpbGUxLmxhc3RNb2RpZmllZERhdGUpIiwgIlN0cmluZyhmaWxlMi5s
YXN0TW9kaWZpZWREYXRlKSIpOwogICAgIGlmIChjYWxsYmFjaykgewpAQCAtNDI2LDE1ICs0MTUs
OSBAQCBmdW5jdGlvbiBjb21wYXJlRmlsZXMoZmlsZTEsIGZpbGUyLCBjYWxsYmFjaykKIGZ1bmN0
aW9uIHRlc3RGaWxlKGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0aW5nIEZpbGUiKTsKLQot
ICAgIC8vIEZJWE1FOiBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMgaXMgbm90IHN1cHBv
cnRlZC4KLSAgICBkZWJ1ZygiU2tpcHBpbmcgdGVzdCIpOwotICAgIGNhbGxiYWNrKCk7Ci0gICAg
cmV0dXJuOwotCi0gICAgZXZhbEFuZExvZygidGVzdF9jb250ZW50ID0gZmlsZUlucHV0LmZpbGVz
WzBdIik7Ci0KLSAgICBzZWxmLnRlc3RfZGF0YSA9IHRlc3RfY29udGVudDsKKyAgICBldmFsQW5k
TG9nKCJ0ZXN0X2NvbnRlbnQgPSAnVGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMgb25seSBhIHRlc3Qu
JyIpOworICAgIGV2YWxBbmRMb2coImJsb2IgPSBuZXcgQmxvYihbdGVzdF9jb250ZW50XSkiKTsK
KyAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBuZXcgRmlsZShbYmxvYl0sICdmaWxlTmFtZScp
Iik7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7CiAgICAgICAg
IHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBjb21wYXJlRmlsZXMocmVzdWx0LCB0ZXN0
X2RhdGEsIGNhbGxiYWNrKTsKQEAgLTQ0NSwxNSArNDI4LDcgQEAgZnVuY3Rpb24gdGVzdEZpbGUo
Y2FsbGJhY2spCiBmdW5jdGlvbiB0ZXN0RmlsZUxpc3QoY2FsbGJhY2spCiB7CiAgICAgZGVidWco
IlRlc3RpbmcgRmlsZUxpc3QiKTsKLQotICAgIC8vIEZJWE1FOiBldmVudFNlbmRlci5iZWdpbkRy
YWdXaXRoRmlsZXMgaXMgbm90IHN1cHBvcnRlZC4KLSAgICBkZWJ1ZygiU2tpcHBpbmcgdGVzdCIp
OwotICAgIGNhbGxiYWNrKCk7Ci0gICAgcmV0dXJuOwotCi0gICAgZXZhbEFuZExvZygidGVzdF9j
b250ZW50ID0gZmlsZUlucHV0LmZpbGVzIik7Ci0KLSAgICBzZWxmLnRlc3RfZGF0YSA9IHRlc3Rf
Y29udGVudDsKKyAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZmlsZUlucHV0JykuZmlsZXM7Iik7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVu
Y3Rpb24ocmVzdWx0KSB7CiAgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBz
aG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0
CmluZGV4IDg2OTYwZWExNjRhODJmNGRhODUwYzQwMzYzMjc1YWI5MDBkZTFjYjMuLjlkODA0MzFj
ODNmYjA5NWU5YzVkOWE1ZjBmYTgwZWFjMjdkMzg5YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0
CkBAIC01OTksMTMgKzU5OSw0MyBAQCBQQVNTIHJlc3VsdC5kYXRhLmxlbmd0aCBpcyB0ZXN0X2Rh
dGEuZGF0YS5sZW5ndGgKIFBBU1MgcmVzdWx0IGRhdGEgbWF0Y2hlcwogCiBUZXN0aW5nIEJsb2IK
LVNraXBwaW5nIHRlc3QKK1BBU1MgRmlsZVJlYWRlciAhPSBudWxsIGlzIHRydWUKK3Rlc3RfY29u
dGVudCA9ICdUaGlzIGlzIGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdC4nCit0ZXN0X2RhdGEg
PSBuZXcgQmxvYihbdGVzdF9jb250ZW50XSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQorc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKK3N0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCitzdG9yZS5nZXQoJ2tleScp
CitQQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKK1BBU1MgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgQmxvYl0iCitQQVNTIHJlc3VsdC5z
aXplIGlzIHRlc3RfZGF0YS5zaXplCitQQVNTIHJlc3VsdC50eXBlIGlzIHRlc3RfZGF0YS50eXBl
CitQQVNTIHRleHQgaXMgIlRoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0ZXN0LiIKIAog
VGVzdGluZyBGaWxlCi1Ta2lwcGluZyB0ZXN0Cit0ZXN0X2NvbnRlbnQgPSAnVGhpcyBpcyBhIHRl
c3QuIFRoaXMgaXMgb25seSBhIHRlc3QuJworYmxvYiA9IG5ldyBCbG9iKFt0ZXN0X2NvbnRlbnRd
KQordGVzdF9kYXRhID0gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZU5hbWUnKQordHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCitzdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQorc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
K3N0b3JlLmdldCgna2V5JykKK1BBU1MgZmlsZTEgIT09IGZpbGUyIGlzIHRydWUKK1BBU1MgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUxKSBpcyAiW29iamVjdCBGaWxlXSIKK1BB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSBpcyAiW29iamVjdCBGaWxl
XSIKK1BBU1MgZmlsZTEubmFtZSBpcyBmaWxlMi5uYW1lCitQQVNTIFN0cmluZyhmaWxlMS5sYXN0
TW9kaWZpZWREYXRlKSBpcyBTdHJpbmcoZmlsZTIubGFzdE1vZGlmaWVkRGF0ZSkKK1BBU1MgdGV4
dDIgaXMgIlRoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0ZXN0LiIKIAogVGVzdGluZyBG
aWxlTGlzdAotU2tpcHBpbmcgdGVzdAordGVzdF9kYXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2ZpbGVJbnB1dCcpLmZpbGVzOwordHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCitzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQorc3RvcmUucHV0KHZhbHVlLCAna2V5JykKK3N0b3JlLmdldCgna2V5JykKK1BB
U1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQorUEFTUyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBGaWxlTGlzdF0iCitQQVNTIHJlc3VsdC5s
ZW5ndGggaXMgdGVzdF9kYXRhLmxlbmd0aAogCiBUZXN0aW5nIE9iamVjdAogdGVzdF9kYXRhID0g
W10KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQt
Y2xvbmUtcHJpdmF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUtZXhwZWN0ZWQudHh0CmluZGV4IDg2OTYwZWExNjRh
ODJmNGRhODUwYzQwMzYzMjc1YWI5MDBkZTFjYjMuLjVkNGIzMWJhNGM2NjA3MDJkNmNkNzk3YTE4
MGI3NzlhOTFmNjg0ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1wcml2YXRlLWV4cGVjdGVkLnR4dApA
QCAtNTk5LDMzNyArNTk5LDE2IEBAIFBBU1MgcmVzdWx0LmRhdGEubGVuZ3RoIGlzIHRlc3RfZGF0
YS5kYXRhLmxlbmd0aAogUEFTUyByZXN1bHQgZGF0YSBtYXRjaGVzCiAKIFRlc3RpbmcgQmxvYgot
U2tpcHBpbmcgdGVzdAotCi1UZXN0aW5nIEZpbGUKLVNraXBwaW5nIHRlc3QKLQotVGVzdGluZyBG
aWxlTGlzdAotU2tpcHBpbmcgdGVzdAotCi1UZXN0aW5nIE9iamVjdAotdGVzdF9kYXRhID0gW10K
LXRlc3RfZGF0YVswXSA9ICdmb28nCi10ZXN0X2RhdGFbMV0gPSAnYmFyJwotdGVzdF9kYXRhWydh
J10gPSB0cnVlCi10ZXN0X2RhdGFbJ2InXSA9IGZhbHNlCi10ZXN0X2RhdGFbJ2ZvbyddID0gMTIz
Ci10ZXN0X2RhdGFbJ2JhciddID0gNDU2Ci10ZXN0X2RhdGFbJyddID0gbnVsbAotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQot
UEFTUyBhcnJheUNvbXBhcmUoT2JqZWN0LmtleXMocmVzdWx0KS5zb3J0KCksIE9iamVjdC5rZXlz
KHRlc3RfZGF0YSkuc29ydCgpKSBpcyB0cnVlCi1QQVNTIHRlc3RfZGF0YVsiMCJdIGlzIHJlc3Vs
dFsiMCJdCi1QQVNTIHRlc3RfZGF0YVsiMSJdIGlzIHJlc3VsdFsiMSJdCi1QQVNTIHRlc3RfZGF0
YVsiYSJdIGlzIHJlc3VsdFsiYSJdCi1QQVNTIHRlc3RfZGF0YVsiYiJdIGlzIHJlc3VsdFsiYiJd
Ci1QQVNTIHRlc3RfZGF0YVsiZm9vIl0gaXMgcmVzdWx0WyJmb28iXQotUEFTUyB0ZXN0X2RhdGFb
ImJhciJdIGlzIHJlc3VsdFsiYmFyIl0KLVBBU1MgdGVzdF9kYXRhWyIiXSBpcyByZXN1bHRbIiJd
Ci0KLVRlc3RpbmcgQXJyYXkKLXRlc3RfZGF0YSA9IFtdCi10ZXN0X2RhdGFbMF0gPSAnZm9vJwot
dGVzdF9kYXRhWzFdID0gJ2JhcicKLXRlc3RfZGF0YVsxMF0gPSB0cnVlCi10ZXN0X2RhdGFbMTFd
ID0gZmFsc2UKLXRlc3RfZGF0YVsyMF0gPSAxMjMKLXRlc3RfZGF0YVsyMV0gPSA0NTYKLXRlc3Rf
ZGF0YVszMF0gPSBudWxsCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3Vs
dC5sZW5ndGggaXMgdHJ1ZQotUEFTUyB0ZXN0X2RhdGFbMF0gaXMgcmVzdWx0WzBdCi1QQVNTIHRl
c3RfZGF0YVsxXSBpcyByZXN1bHRbMV0KLVBBU1MgdGVzdF9kYXRhWzEwXSBpcyByZXN1bHRbMTBd
Ci1QQVNTIHRlc3RfZGF0YVsxMV0gaXMgcmVzdWx0WzExXQotUEFTUyB0ZXN0X2RhdGFbMjBdIGlz
IHJlc3VsdFsyMF0KLVBBU1MgdGVzdF9kYXRhWzIxXSBpcyByZXN1bHRbMjFdCi1QQVNTIHRlc3Rf
ZGF0YVszMF0gaXMgcmVzdWx0WzMwXQotCi1UZXN0aW5nIFR5cGVkQXJyYXkKLXZhbHVlID0gbmV3
IFVpbnQ4QXJyYXkoW10pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEp
Ci1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1ZQotdmFsdWUg
PSBuZXcgVWludDhBcnJheShbMCwgMSwgMjU0LCAyNTVdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVu
Z3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBB
U1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRh
WzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10p
IGlzIHRydWUKLXZhbHVlID0gbmV3IFVpbnQxNkFycmF5KFsweDAwMDAsIDB4MDAwMSwgMHhGRkZF
LCAweEZGRkZdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3Jl
YWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQot
c3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRh
ICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
cmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFT
UyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVz
dF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1
bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUK
LVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IFVp
bnQzMkFycmF5KFsweDAwMDAwMDAwLCAweDAwMDAwMDAxLCAweEZGRkZGRkZFLCAweEZGRkZGRkZG
XSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVz
dWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9k
YXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsw
XSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBp
cyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlz
KHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBJbnQ4QXJyYXko
WzAsIDEsIDI1NCwgMjU1XSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRl
c3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0
YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNT
IGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsx
XSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBp
cyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9
IG5ldyBJbnQxNkFycmF5KFsweDAwMDAsIDB4MDAwMSwgMHhGRkZFLCAweEZGRkZdKQotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1
ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3Ro
ID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRb
MF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBB
U1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRh
WzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IEludDMyQXJyYXkoWzB4MDAwMDAw
MDAsIDB4MDAwMDAwMDEsIDB4RkZGRkZGRkUsIDB4RkZGRkZGRkZdKQotdHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0
b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1
bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRy
dWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVz
dF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1
bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KFswLCAxLCAyNTQs
IDI1NV0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09
IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1
bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRl
c3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2Rh
dGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMV0sIHJlc3VsdFsx
XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJlc3VsdFsyXSkgaXMgdHJ1ZQotUEFT
UyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1ZQotdmFsdWUgPSBuZXcgRmxvYXQz
MkFycmF5KFstSW5maW5pdHksIC0xLjUsIC0xLCAtMC41LCAwLCAwLjUsIDEsIDEuNSwgSW5maW5p
dHksIE5hTl0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVh
ZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1z
dG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEg
IT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChy
ZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNT
IHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0
X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMV0sIHJlc3Vs
dFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJlc3VsdFsyXSkgaXMgdHJ1ZQot
UEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2Rh
dGFbNF0sIHJlc3VsdFs0XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbNV0sIHJlc3VsdFs1
XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbNl0sIHJlc3VsdFs2XSkgaXMgdHJ1ZQotUEFT
UyBpcyh0ZXN0X2RhdGFbN10sIHJlc3VsdFs3XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFb
OF0sIHJlc3VsdFs4XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbOV0sIHJlc3VsdFs5XSkg
aXMgdHJ1ZQotdmFsdWUgPSBuZXcgRmxvYXQ2NEFycmF5KFstSW5maW5pdHksIC1OdW1iZXIuTUFY
X1ZBTFVFLCAtTnVtYmVyLk1JTl9WQUxVRSwgMCwgTnVtYmVyLk1JTl9WQUxVRSwgTnVtYmVyLk1B
WF9WQUxVRSwgSW5maW5pdHksIE5hTl0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQot
UEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0
ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1
ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0
X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJlc3Vs
dFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1ZQot
UEFTUyBpcyh0ZXN0X2RhdGFbNF0sIHJlc3VsdFs0XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2Rh
dGFbNV0sIHJlc3VsdFs1XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbNl0sIHJlc3VsdFs2
XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbN10sIHJlc3VsdFs3XSkgaXMgdHJ1ZQotCi1U
ZXN0aW5nIEFycmF5cwotdGVzdF9kYXRhID0gW10KLXRlc3RfZGF0YVswXSA9IFtdCi10ZXN0X2Rh
dGFbMV0gPSBbMSwgMiwgM10KLXRlc3RfZGF0YVsxMF0gPSBPYmplY3QuYXNzaWduKFsnZm9vJywg
J2JhciddLCB7MTA6IHRydWUsIDExOiBmYWxzZSwgMjA6IDEyMywgMjE6IDQ1NiwgMzA6IG51bGx9
KQotdGVzdF9kYXRhWzExXSA9IE9iamVjdC5hc3NpZ24oWydmb28nLCAnYmFyJ10sIHthOiB0cnVl
LCBiOiBmYWxzZSwgZm9vOiAxMjMsIGJhcjogNDU2LCAnJzogbnVsbH0pCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNT
IHR5cGVvZiB0ZXN0X2RhdGEgaXMgdHlwZW9mIHJlc3VsdAotUEFTUyB0ZXN0X2RhdGEubGVuZ3Ro
ID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKHRlc3RfZGF0YVsw
XSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGFycmF5Q29tcGFyZSh0ZXN0X2RhdGFbMV0sIHJl
c3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUodGVzdF9kYXRhWzEwXSwgcmVzdWx0
WzEwXSkgaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUodGVzdF9kYXRhWzExXSwgcmVzdWx0WzEx
XSkgaXMgdHJ1ZQotCi1UZXN0aW5nIE1hcAotdGVzdF9kYXRhID0gbmV3IE1hcChbWzEsMl0sWzMs
NF1dKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0
ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUu
cHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHRlc3RfZGF0
YSBpcyB0eXBlb2YgcmVzdWx0Ci1QQVNTIHRlc3RfZGF0YS5zaXplIGlzIHJlc3VsdC5zaXplCi0K
LVRlc3RpbmcgU2V0Ci10ZXN0X2RhdGEgPSBuZXcgU2V0KFsxLDIsMyw0XSkKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiB0ZXN0X2RhdGEgaXMgdHlwZW9mIHJlc3Vs
dAotUEFTUyB0ZXN0X2RhdGEuc2l6ZSBpcyByZXN1bHQuc2l6ZQotUEFTUyByZXN1bHQuaGFzKDEp
IGlzIHRydWUKLVBBU1MgcmVzdWx0LmhhcygyKSBpcyB0cnVlCi1QQVNTIHJlc3VsdC5oYXMoMykg
aXMgdHJ1ZQotUEFTUyByZXN1bHQuaGFzKDQpIGlzIHRydWUKLQotVGVzdGluZyBnZW9tZXRyeSB0
eXBlcwotVGVzdGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NTWF0cml4KCkKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBB
U1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVz
dWx0KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVz
dGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NTWF0cml4UmVhZE9ubHkoKQotdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
LXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFT
UyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1
bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0
aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01Qb2ludCgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiBy
ZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRl
c3RfZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1Mg
dGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgZ2VvbWV0
cnkgdHlwZTogbmV3IERPTVBvaW50UmVhZE9ubHkoKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgn
a2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0eXBlb2YgcmVz
dWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0
X2RhdGEpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpCi1QQVNTIHRl
c3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0aW5nIGdlb21ldHJ5
IHR5cGU6IG5ldyBET01SZWN0KCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2Jq
ZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKSBpcyBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KQotUEFTUyB0ZXN0X2RhdGEudG9T
dHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBnZW9tZXRyeSB0eXBlOiBuZXcg
RE9NUmVjdFJlYWRPbmx5KCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRl
c3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0
IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKSBpcyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJp
bmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9N
UXVhZCgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09
IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVz
dWx0LnRvU3RyaW5nKCkKLQotVGVzdGluZyBDcnlwdG9LZXkKLXByb21pc2UgPSBjcnlwdG8uc3Vi
dGxlLmdlbmVyYXRlS2V5KHsgbmFtZTogJ0hNQUMnLCBoYXNoOiB7bmFtZTogJ1NIQS01MTInfX0s
IHRydWUsIFsnc2lnbicsICd2ZXJpZnknXSk7CitQQVNTIEZpbGVSZWFkZXIgIT0gbnVsbCBpcyB0
cnVlCit0ZXN0X2NvbnRlbnQgPSAnVGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMgb25seSBhIHRlc3Qu
JwordGVzdF9kYXRhID0gbmV3IEJsb2IoW3Rlc3RfY29udGVudF0pCiB0cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKIHN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgdGVzdF9kYXRhIGlzIHR5cGVvZiByZXN1bHQKLVBB
U1MgdGVzdF9kYXRhLnR5cGUgaXMgcmVzdWx0LnR5cGUKLVBBU1MgdGVzdF9kYXRhLmV4dHJhY3Rh
YmxlIGlzIHJlc3VsdC5leHRyYWN0YWJsZQotUEFTUyB0ZXN0X2RhdGEuYWxnb3JpdGhtLnRvU3Ry
aW5nKCkgaXMgcmVzdWx0LmFsZ29yaXRobS50b1N0cmluZygpCi1QQVNTIGFycmF5Q29tcGFyZSh0
ZXN0X2RhdGEudXNhZ2VzLCByZXN1bHQudXNhZ2VzKSBpcyB0cnVlCi0KLVRlc3QgdHlwZXMgdGhh
dCBjYW4ndCBiZSBjbG9uZWQ6Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5h
bWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpCi1UZXN0aW5nIEVycm9yCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0
KG5ldyBFcnJvciwgJ2tleScpCi1QQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2Rl
IGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBv
YmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1UZXN0aW5nIEZ1bmN0aW9uCi1FeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUucHV0KG5ldyBGdW5jdGlvbiwgJ2tleScpCi1QQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgot
RXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1UZXN0aW5n
IERPTUV4Y2VwdGlvbgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChuZXcgRE9N
RXhjZXB0aW9uLCAna2V5JykKLVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNvZGUg
aXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSCi1FeGNlcHRpb24gbWVzc2FnZTogVGhlIG9i
amVjdCBjYW4gbm90IGJlIGNsb25lZC4KLVRlc3Rpbmcgb3RoZXIgaG9zdCBvYmplY3QgdHlwZXMK
LUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoc2VsZiwgJ2tleScpCi1QQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05F
X0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1F
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KGRvY3VtZW50LCAna2V5JykKLVBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xP
TkVfRVJSCi1FeGNlcHRpb24gbWVzc2FnZTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4K
LUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoZG9jdW1lbnQuYm9keSwgJ2tleScp
Ci1QQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5E
QVRBX0NMT05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBj
bG9uZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCitGQUlMIHN0b3JlLnB1dCh2
YWx1ZSwgJ2tleScpIHRocmV3IGV4Y2VwdGlvbiBEYXRhQ2xvbmVFcnJvcjogRmFpbGVkIHRvIHN0
b3JlIHJlY29yZCBpbiBhbiBJREJPYmplY3RTdG9yZTogQmxvYlVSTHMgYXJlIG5vdCB5ZXQgc3Vw
cG9ydGVkLgorRkFJTCBVbmV4cGVjdGVkIGVycm9yOiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdyZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjaycpCitGQUlMIHN1Y2Nlc3NmdWxseVBhcnNlZCBzaG91bGQgYmUgdHJ1ZS4gV2Fz
IGZhbHNlLgorU29tZSB0ZXN0cyBmYWlsZWQuCiAKIFRFU1QgQ09NUExFVEUKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404636</attachid>
            <date>2020-07-17 21:45:20 -0700</date>
            <delta_ts>2020-07-20 09:33:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214425-20200717214520.patch</filename>
            <type>text/plain</type>
            <size>49797</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM5Y2FhYjI1MzgyYWI5
NjlmMWNhMjVlMTJkNzRlOWE3NzA2MjQ1Mi4uOTA0NGEwZTBhNmExN2QyYjFjM2I1YTMxZDM1OWVl
N2VmODljM2E1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA3LTE3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY0NDg2
KTogQVNTRVJUSU9OIEZBSUxFRDogQVNTRVJUX05PVF9SRUFDSEVEKCkgaW4gTmV0d29ya1Byb2Nl
c3NQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCwgc29tZSBraW5kIG9mIHdyYXBwZXJzIHdpbGwgbm90IGJlIGNyZWF0ZWQgd2hlbiBnbG9i
YWwgb2JqZWN0IGlzIG5vdCAKKyAgICAgICAgSlNET01HbG9iYWxPYmplY3QsIHNvIHRoZXkgd291
bGQgbm90IGJlIGNyZWF0ZWQgZm9yIElEQiBiZWZvcmUgcjI2NDQ4Ni4gQWZ0ZXIgcjI2NDQ4Niwg
SURCIHVzZXMgCisgICAgICAgIEpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCwgd2hpY2gg
aXMgSlNET01HbG9iYWxPYmplY3QsIHNvIHRob3NlIHdyYXBwZXJzIHN0YXJ0IHRvIGJlIGNyZWF0
ZWQuIFRvIHJlc3RvcmUKKyAgICAgICAgdGhlIG9sZCBiZWhhdmlvciwgYWRkaW5nIGNoZWNrcyBm
b3IgSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0IGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRSVENDZXJ0aWZpY2F0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZFRlcm1pbmFsKToK
KwogMjAyMC0wNy0xNyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBPSyBidXR0b24gdG8gRGF0ZS9UaW1lIGZvcm0gY29udHJvbHMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cAppbmRleCBlNjcwYzk4MzZlYzhlZjgzN2E5MDgwNDZjNWU5ZjI5Nzc2ODc3OWE2Li4zNDdjZTdm
YTJlMWQ4ZTBlMzVmNDlhYmRkYmEwMDVkYTc1MThhMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTQ2LDYgKzQ2
LDcgQEAKICNpbmNsdWRlICJKU0RPTVJlY3QuaCIKICNpbmNsdWRlICJKU0ZpbGUuaCIKICNpbmNs
dWRlICJKU0ZpbGVMaXN0LmgiCisjaW5jbHVkZSAiSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNJbWFnZUJpdG1hcC5oIgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRh
LmgiCiAjaW5jbHVkZSAiSlNNZXNzYWdlUG9ydC5oIgpAQCAtMjk0NSw3ICsyOTQ2LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgIGZpbmdlcnByaW50cy51bmNoZWNrZWRBcHBlbmQoUlRDQ2VydGlm
aWNhdGU6OkR0bHNGaW5nZXJwcmludCB7IGFsZ29yaXRobS0+c3RyaW5nKCksIHZhbHVlLT5zdHJp
bmcoKSB9KTsKICAgICAgICAgfQogCi0gICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkK
KyAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFsT2JqZWN0IHx8IG1fZ2xvYmFsT2JqZWN0LT5pbmhl
cml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KG1fZ2xvYmFsT2JqZWN0LT52bSgp
KSkKICAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChtX2xleGljYWxHbG9i
YWxPYmplY3QsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSk7CiAKICAgICAgICAg
YXV0byBydGNDZXJ0aWZpY2F0ZSA9IFJUQ0NlcnRpZmljYXRlOjpjcmVhdGUoU2VjdXJpdHlPcmln
aW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2luLT5zdHJpbmcoKSksIGV4cGlyZXMsIFdURk1vdmUo
ZmluZ2VycHJpbnRzKSwgY2VydGlmaWNhdGUtPnRha2VTdHJpbmcoKSwga2V5ZWRNYXRlcmlhbC0+
dGFrZVN0cmluZygpKTsKQEAgLTMxNTQsMTEgKzMxNTUsMTEgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIHJldHVybiBEYXRlSW5zdGFuY2U6OmNyZWF0ZShtX2xleGljYWxHbG9iYWxPYmplY3QtPnZt
KCksIG1fZ2xvYmFsT2JqZWN0LT5kYXRlU3RydWN0dXJlKCksIGQpOwogICAgICAgICB9CiAgICAg
ICAgIGNhc2UgRmlsZVRhZzogeworICAgICAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFsT2JqZWN0
IHx8IG1fZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmpl
Y3Q+KG1fZ2xvYmFsT2JqZWN0LT52bSgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4ganNOdWxs
KCk7CiAgICAgICAgICAgICBSZWZQdHI8RmlsZT4gZmlsZTsKICAgICAgICAgICAgIGlmICghcmVh
ZEZpbGUoZmlsZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAg
ICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkKLSAgICAgICAgICAgICAgICByZXR1cm4ganNO
dWxsKCk7CiAgICAgICAgICAgICByZXR1cm4gdG9KUyhtX2xleGljYWxHbG9iYWxPYmplY3QsIGpz
Q2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xvYmFsT2JqZWN0KSwgZmlsZS5nZXQoKSk7CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBGaWxlTGlzdFRhZzogewpAQCAtMzE3Myw3ICszMTc0LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBpZiAobV9pc0RPTUdsb2JhbE9iamVjdCkKICAg
ICAgICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKGZpbGUucmVsZWFzZU5vbk51bGwoKSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIW1faXNET01HbG9iYWxPYmplY3QpCisgICAg
ICAgICAgICBpZiAoIW1faXNET01HbG9iYWxPYmplY3QgfHwgbV9nbG9iYWxPYmplY3QtPmluaGVy
aXRzPEpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdD4obV9nbG9iYWxPYmplY3QtPnZtKCkp
KQogICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAgICAgICAgICAgIHJldHVybiBn
ZXRKU1ZhbHVlKEZpbGVMaXN0OjpjcmVhdGUoV1RGTW92ZShmaWxlcykpLmdldCgpKTsKICAgICAg
ICAgfQpAQCAtMzIxOSw3ICszMjIwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyBzaXplID0gMDsKICAgICAgICAgICAgIGlmICghcmVhZChzaXplKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgaWYgKCFtX2lzRE9NR2xv
YmFsT2JqZWN0KQorICAgICAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFsT2JqZWN0IHx8IG1fZ2xv
YmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3Q+KG1fZ2xv
YmFsT2JqZWN0LT52bSgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAg
ICAgICAgICByZXR1cm4gZ2V0SlNWYWx1ZShCbG9iOjpkZXNlcmlhbGl6ZShVUkwoVVJMKCksIHVy
bC0+c3RyaW5nKCkpLCB0eXBlLT5zdHJpbmcoKSwgc2l6ZSwgYmxvYkZpbGVQYXRoRm9yQmxvYlVS
TCh1cmwtPnN0cmluZygpKSkuZ2V0KCkpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDhhMjRjYTkyNzU3
ZGYwMjdjMDExN2ZiNTg3N2I0ZjA3Yjk4ODU1NS4uYzY2YmZlYmVkY2RhOWUxMDg3YzY3YjI4MjIy
ZDM0MmM2MjU5NWM2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA3LTE3ICBTaWh1aSBM
aXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY0NDg2KTog
QVNTRVJUSU9OIEZBSUxFRDogQVNTRVJUX05PVF9SRUFDSEVEKCkgaW4gTmV0d29ya1Byb2Nlc3NQ
bGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHN0b3JhZ2UvaW5kZXhlZGRiL3N0
cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS5odG1sIGFzIGJsb2IgaXMgbm90IHN1cHBvcnRlZCBpbiBJ
REIgZm9yIHByaXZhdGUgYnJvd3NpbmcuIAorICAgICAgICBBbHNvIHN0b3JhZ2UvaW5kZXhlZGRi
L3N0cnVjdHVyZWQtY2xvbmUuaHRtbCBhbHJlYWR5IGNvdmVycyB0aGUgY29kZSBwYXRoIGZvciBz
dHJ1Y3R1cmVkIGNsb25lLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qczoKKyAgICAgICAgKHRlc3RG
aWxlKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXBy
aXZhdGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS5odG1sOiBSZW1vdmVkLgorCiAyMDIwLTA3LTE3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzeW5jIHdlYi1wbGF0
Zm9ybS10ZXN0cy9lbmNvZGluZyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWZjYTQ0NDMzNDQ5YjMwYzgzMjM0OGZm
ZTE1Y2I4YzFhMWY5MWIzNy4uYmJlY2UwMTFlNTg0MWI1OGMyZGM3OTNjZDJkN2IwYTRkODUzYzdl
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtOTgzLDkgKzk4Myw2IEBAIHdlYmtpdC5vcmcvYi8yMTQzMDggaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1wcmVmbGlnCiAKIHdlYmtpdC5vcmcv
Yi8yMTQzODggWyBNb2phdmUgXSBjb21wb3NpdGluZy9yZXBhaW50L2lmcmFtZXMvY29tcG9zaXRl
ZC1pZnJhbWUtd2l0aC1maXhlZC1iYWNrZ3JvdW5kLWRvYy1yZXBhaW50Lmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdlL2luZGV4ZWRk
Yi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIx
NDQ3OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sIFsg
U2tpcCBdCi0KIHdlYmtpdC5vcmcvYi8yMTQ0NjkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW9wYWNpdHktcGF1c2UtYW5kLXNldC10
aW1lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NjkgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLXRy
YW5zZm9ybS1wYXVzZS1hbmQtc2V0LXRpbWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzIxNDQ2OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
b3ZlcmZsb3cvb3ZlcmZsb3ctZWxsaXBzaXMtZHluYW1pYy0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDY2NzFhYmM1YmZkZDUxNTgyMjY3Y2ViZDY3MWYyMTBkNjFmNWQ2NDguLjAxYjliNWQx
OTRiNWY2M2Q3MjBjZmVhNTQ4YjU3MDE2MGEwYThiYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwNTIsMTAgKzEwNTIsNiBAQCB3ZWJr
aXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnJ0Yy9SVENDZXJ0aWZpYwogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tZ2VuZXJh
dGVDZXJ0aWZpY2F0ZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcg
XSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENTY3RwVHJhbnNwb3J0
LWNvbnN0cnVjdG9yLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL2lkbGhhcm5lc3MuaHR0cHMu
d2luZG93Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9ibG9iLXNpbXBsZS13b3JrZXJzLmh0bWwgWyBTa2lwIF0KLXdl
YmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9ibG9i
LXNpbXBsZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9y
YWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQotd2Vi
a2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1j
bG9uZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSB0aWxlZC1k
cmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1zZWxlY3QuaHRtbCBb
IFNraXAgXQogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gd2VicnRjL2NlcnRpZmljYXRl
cy1pbmRleGVkZGIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0g
d2VicnRjL2gyNjUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBkYjllZmExNzYwNzE4OGMyYjdlNDE4ODNmZjEwZjlmZDUwNDk5MTQ0
Li5hZGI3NTdiNDYzYjZjY2ZjZTAxNmZmOTBlYmQ0OTZiNDA1OGEyNzA4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDUyNSw0ICs0NTI1LDMgQEAgd2Vi
a2l0Lm9yZy9iLzIxNDA4OCB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWFuaW1hdGlvbi1zaW5n
bGUta2V5ZnJhbWUuaHRtbCBbIFMKIHdlYmtpdC5vcmcvYi8yMTQ0MjggaW1wb3J0ZWQvbW96aWxs
YS9zdmcvYmxlbmQtc2F0dXJhdGlvbi5zdmcgWyBGYWlsdXJlIF0KIAogc3RvcmFnZS9pbmRleGVk
ZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sIFsgU2tpcCBdCi1zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1
Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3N0cnVjdHVyZWQtY2xvbmUuanMgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcwpp
bmRleCBiMGFjZGU4ZDc5MGUxYTZjZmI5NTNhOGJkMjBiMmIyMWRkNDBiNWVlLi43OGYwYmZkODlk
NTQyNDAxMTVjOWI3NmRlMjc0ZWUwYzg5M2E4NjA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcworKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcwpA
QCAtMzg1LDEyICszODUsNiBAQCBmdW5jdGlvbiBjb21wYXJlQmxvYnMoYmxvYjEsIGJsb2IyLCBj
YWxsYmFjaykKIGZ1bmN0aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0
aW5nIEJsb2IiKTsKLQotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0NDI1Ci0gICAgZGVidWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxs
YmFjaygpOwotICAgIHJldHVybjsKLQogICAgIHNob3VsZEJlVHJ1ZSgiRmlsZVJlYWRlciAhPSBu
dWxsIik7CiAgICAgZXZhbEFuZExvZygidGVzdF9jb250ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBU
aGlzIGlzIG9ubHkgYSB0ZXN0LiciKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBuZXcg
QmxvYihbdGVzdF9jb250ZW50XSkiKTsKQEAgLTQxMSwxMSArNDA1LDYgQEAgZnVuY3Rpb24gY29t
cGFyZUZpbGVzKGZpbGUxLCBmaWxlMiwgY2FsbGJhY2spCiAgICAgc2hvdWxkQmVUcnVlKCJmaWxl
MSAhPT0gZmlsZTIiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChmaWxlMSkiLCAiW29iamVjdCBGaWxlXSIpOwogICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSIsICJb
b2JqZWN0IEZpbGVdIik7Ci0gICAgZGVidWcoImZpbGUxLnNpemU6ICIgKyBmaWxlMS5zaXplKTsK
LSAgICBzaG91bGRCZSgiZmlsZTEuc2l6ZSIsICJmaWxlMi5zaXplIik7Ci0gICAgZGVidWcoImZp
bGUxLnR5cGU6ICIgKyBmaWxlMS50eXBlKTsKLSAgICBzaG91bGRCZSgiZmlsZTEudHlwZSIsICJm
aWxlMi50eXBlIik7Ci0gICAgZGVidWcoImZpbGUxLm5hbWU6ICIgKyBmaWxlMS5uYW1lKTsKICAg
ICBzaG91bGRCZSgiZmlsZTEubmFtZSIsICJmaWxlMi5uYW1lIik7CiAgICAgc2hvdWxkQmUoIlN0
cmluZyhmaWxlMS5sYXN0TW9kaWZpZWREYXRlKSIsICJTdHJpbmcoZmlsZTIubGFzdE1vZGlmaWVk
RGF0ZSkiKTsKICAgICBpZiAoY2FsbGJhY2spIHsKQEAgLTQyNiwxNSArNDE1LDkgQEAgZnVuY3Rp
b24gY29tcGFyZUZpbGVzKGZpbGUxLCBmaWxlMiwgY2FsbGJhY2spCiBmdW5jdGlvbiB0ZXN0Rmls
ZShjYWxsYmFjaykKIHsKICAgICBkZWJ1ZygiVGVzdGluZyBGaWxlIik7Ci0KLSAgICAvLyBGSVhN
RTogZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzIGlzIG5vdCBzdXBwb3J0ZWQuCi0gICAg
ZGVidWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxsYmFjaygpOwotICAgIHJldHVybjsKLQot
ICAgIGV2YWxBbmRMb2coInRlc3RfY29udGVudCA9IGZpbGVJbnB1dC5maWxlc1swXSIpOwotCi0g
ICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgZXZhbEFuZExvZygidGVzdF9j
b250ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0ZXN0LiciKTsKKyAgICBl
dmFsQW5kTG9nKCJibG9iID0gbmV3IEJsb2IoW3Rlc3RfY29udGVudF0pIik7CisgICAgZXZhbEFu
ZExvZygidGVzdF9kYXRhID0gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZU5hbWUnKSIpOwogICAgIHRl
c3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICBzZWxmLnJlc3Vs
dCA9IHJlc3VsdDsKICAgICAgICAgY29tcGFyZUZpbGVzKHJlc3VsdCwgdGVzdF9kYXRhLCBjYWxs
YmFjayk7CkBAIC00NDUsMTUgKzQyOCw3IEBAIGZ1bmN0aW9uIHRlc3RGaWxlKGNhbGxiYWNrKQog
ZnVuY3Rpb24gdGVzdEZpbGVMaXN0KGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0aW5nIEZp
bGVMaXN0Iik7Ci0KLSAgICAvLyBGSVhNRTogZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVz
IGlzIG5vdCBzdXBwb3J0ZWQuCi0gICAgZGVidWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxs
YmFjaygpOwotICAgIHJldHVybjsKLQotICAgIGV2YWxBbmRMb2coInRlc3RfY29udGVudCA9IGZp
bGVJbnB1dC5maWxlcyIpOwotCi0gICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7Cisg
ICAgZXZhbEFuZExvZygidGVzdF9kYXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJ
bnB1dCcpLmZpbGVzOyIpOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3Vs
dCkgewogICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVl
KCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAppbmRleCA4Njk2
MGVhMTY0YTgyZjRkYTg1MGM0MDM2MzI3NWFiOTAwZGUxY2IzLi45ZDgwNDMxYzgzZmIwOTVlOWM1
ZDlhNWYwZmE4MGVhYzI3ZDM4OWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dApAQCAtNTk5LDEz
ICs1OTksNDMgQEAgUEFTUyByZXN1bHQuZGF0YS5sZW5ndGggaXMgdGVzdF9kYXRhLmRhdGEubGVu
Z3RoCiBQQVNTIHJlc3VsdCBkYXRhIG1hdGNoZXMKIAogVGVzdGluZyBCbG9iCi1Ta2lwcGluZyB0
ZXN0CitQQVNTIEZpbGVSZWFkZXIgIT0gbnVsbCBpcyB0cnVlCit0ZXN0X2NvbnRlbnQgPSAnVGhp
cyBpcyBhIHRlc3QuIFRoaXMgaXMgb25seSBhIHRlc3QuJwordGVzdF9kYXRhID0gbmV3IEJsb2Io
W3Rlc3RfY29udGVudF0pCit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKK3N0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCitzdG9yZS5wdXQodmFsdWUsICdrZXknKQorc3RvcmUuZ2V0KCdrZXknKQorUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCitQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IEJsb2JdIgorUEFTUyByZXN1bHQuc2l6ZSBpcyB0ZXN0
X2RhdGEuc2l6ZQorUEFTUyByZXN1bHQudHlwZSBpcyB0ZXN0X2RhdGEudHlwZQorUEFTUyB0ZXh0
IGlzICJUaGlzIGlzIGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdC4iCiAKIFRlc3RpbmcgRmls
ZQotU2tpcHBpbmcgdGVzdAordGVzdF9jb250ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBUaGlzIGlz
IG9ubHkgYSB0ZXN0LicKK2Jsb2IgPSBuZXcgQmxvYihbdGVzdF9jb250ZW50XSkKK3Rlc3RfZGF0
YSA9IG5ldyBGaWxlKFtibG9iXSwgJ2ZpbGVOYW1lJykKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQorc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykKK3N0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCitzdG9yZS5nZXQo
J2tleScpCitQQVNTIGZpbGUxICE9PSBmaWxlMiBpcyB0cnVlCitQQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChmaWxlMSkgaXMgIltvYmplY3QgRmlsZV0iCitQQVNTIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChmaWxlMikgaXMgIltvYmplY3QgRmlsZV0iCitQQVNTIGZp
bGUxLm5hbWUgaXMgZmlsZTIubmFtZQorUEFTUyBTdHJpbmcoZmlsZTEubGFzdE1vZGlmaWVkRGF0
ZSkgaXMgU3RyaW5nKGZpbGUyLmxhc3RNb2RpZmllZERhdGUpCitQQVNTIHRleHQyIGlzICJUaGlz
IGlzIGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdC4iCiAKIFRlc3RpbmcgRmlsZUxpc3QKLVNr
aXBwaW5nIHRlc3QKK3Rlc3RfZGF0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlSW5w
dXQnKS5maWxlczsKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdy
ZWFkd3JpdGUnKQorc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykK
K3N0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCitzdG9yZS5nZXQoJ2tleScpCitQQVNTIHRlc3RfZGF0
YSAhPT0gcmVzdWx0IGlzIHRydWUKK1BBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KHJlc3VsdCkgaXMgIltvYmplY3QgRmlsZUxpc3RdIgorUEFTUyByZXN1bHQubGVuZ3RoIGlzIHRl
c3RfZGF0YS5sZW5ndGgKIAogVGVzdGluZyBPYmplY3QKIHRlc3RfZGF0YSA9IFtdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZh
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJl
ZC1jbG9uZS1wcml2YXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggODY5NjBlYTE2NGE4MmY0ZGE4NTBjNDAzNjMyNzVhYjkwMGRlMWNiMy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsOTM1ICswLDAgQEAKLVRlc3Qgc3RydWN0dXJlZCBjbG9uZSBwZXJtdXRhdGlvbnMg
aW4gSW5kZXhlZERCLiBGaWxlL0ZpbGVMaXN0IHRlc3RzIHJlcXVpcmUgRHVtcFJlbmRlclRyZWUu
Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1pbmRleGVkREIgPSBzZWxmLmluZGV4
ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxm
Lm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKLQotaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKGRibmFtZSkKLWluZGV4ZWREQi5vcGVuKGRibmFtZSkKLXN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1UaGlzIGluZGV4IGlzIG5vdCB1c2VkLCBidXQgZXZhbHVh
dGluZyBrZXkgcGF0aCBvbiBlYWNoIHB1dCgpIGNhbGwgd2lsbCBleGVyY2lzZSAoZGUpc2VyaWFs
aXphdGlvbjoKLXN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAnZHVtbXlLZXlQYXRoJykK
LQotUnVubmluZyB0ZXN0cy4uLgotCi1UZXN0aW5nOiB1bmRlZmluZWQKLXRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1z
dG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRl
c3Rpbmc6IG51bGwKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdy
ZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykK
LXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3Rf
ZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3RpbmcgYm9vbGVhbiBwcmltaXRpdmVzCi1UZXN0
aW5nOiB0cnVlCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVh
ZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1z
dG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2Rh
dGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogZmFsc2UKLXRyYW5zYWN0aW9uID0gZGIudHJh
bnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5n
ZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3Rpbmcg
bnVtYmVyIHByaW1pdGl2ZXMKLVRlc3Rpbmc6IE5hTgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgn
a2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC1JbmZp
bml0eQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0
ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUu
cHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCBy
ZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC1OdW1iZXIuTUFYX1ZBTFVFCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVz
dGluZzogLTB4ZmZmZmZmZmYKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlz
KHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAtMHg4MDAwMDAwMAotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRy
dWUKLVRlc3Rpbmc6IC0weDdmZmZmZmZmCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQot
UEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogLTEKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVl
Ci1UZXN0aW5nOiAtTnVtYmVyLk1JTl9WQUxVRQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC0wCi10cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUs
ICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMg
dHJ1ZQotVGVzdGluZzogMAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXMo
dGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IDEKLXRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9y
ZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5n
OiBOdW1iZXIuTUlOX1ZBTFVFCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5h
bWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBp
cyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogMHg3ZmZmZmZmZgotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRy
dWUKLVRlc3Rpbmc6IDB4ODAwMDAwMDAKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAweGZmZmZmZmZmCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkg
aXMgdHJ1ZQotVGVzdGluZzogTnVtYmVyLk1BWF9WQUxVRQotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IElu
ZmluaXR5Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEs
IHJlc3VsdCkgaXMgdHJ1ZQotCi1UZXN0aW5nIHN0cmluZyBwcmltaXRpdmVzCi1UZXN0aW5nOiAn
JwotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScp
Ci1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0
KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1
bHQpIGlzIHRydWUKLVRlc3Rpbmc6ICd0aGlzIGlzIGEgc2FtcGxlIHN0cmluZycKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVl
Ci1UZXN0aW5nOiAnbnVsbChcMCknCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFT
UyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotCi1UZXN0aW5nIEJpZ0ludCBwcmltaXRp
dmVzCi1UZXN0aW5nOiAtMTIzNDU2Nzg5MDEyMzQ1Njc4OTBuCi10cmFuc2FjdGlvbiA9IGRiLnRy
YW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUu
Z2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzog
LTFuCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJl
c3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogMG4KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAxbgotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRy
dWUKLVRlc3Rpbmc6IDEyMzQ1Njc4OTAxMjM0NTY3ODkwbgotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLQotVGVzdGluZyBC
b29sZWFuIG9iamVjdHMKLVRlc3Rpbmc6IG5ldyBCb29sZWFuKHRydWUpCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRy
dWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1Mg
aXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGlu
ZzogbmV3IEJvb2xlYW4oZmFsc2UpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFT
UyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2Rh
dGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3Ry
aW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2Yo
KSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotCi1UZXN0aW5nIE51bWJlciBvYmplY3RzCi1U
ZXN0aW5nOiBuZXcgTnVtYmVyKE5hTikKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9T
dHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVP
ZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKC1JbmZp
bml0eSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3Jl
LnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQg
aXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9k
YXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2Rh
dGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVP
ZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKC1OdW1iZXIuTUFYX1ZBTFVFKQotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0
IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJl
c3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmlu
ZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRy
dWUKLVRlc3Rpbmc6IG5ldyBOdW1iZXIoLU51bWJlci5NSU5fVkFMVUUpCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRy
dWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1Mg
aXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGlu
ZzogbmV3IE51bWJlcigtMCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5
cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkK
LVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmco
KSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCBy
ZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKDApCi10cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdr
ZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1Q
QVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0
IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkK
LVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQot
VGVzdGluZzogbmV3IE51bWJlcihOdW1iZXIuTUlOX1ZBTFVFKQotdHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3Jl
LmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1Q
QVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRl
c3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5l
dyBOdW1iZXIoTnVtYmVyLk1BWF9WQUxVRSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRl
c3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQu
dG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFs
dWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKElu
ZmluaXR5KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3
cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3Rv
cmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3Vs
dCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0
KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3Rf
ZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1
ZU9mKCkpIGlzIHRydWUKLQotVGVzdGluZyBTdHJpbmcgb2JqZWN0cwotVGVzdGluZzogbmV3IFN0
cmluZygpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0
IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQp
IGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3Rf
ZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9k
YXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVl
T2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IFN0cmluZygndGhpcyBpcyBhIHNhbXBsZSBzdHJp
bmcnKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0
ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUu
cHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBp
cyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBp
cyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2Rh
dGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0
YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9m
KCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBTdHJpbmcoJ251bGwoXDApJykKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1Mg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMg
dHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFT
UyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi0KLVRl
c3RpbmcgQmlnSW50IG9iamVjdHMKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KC0xMjM0
NTY3ODkwMTIzNDU2Nzg5MCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5
cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVz
dWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KC0xKQotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAiYmlnaW50Igot
UEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBC
aWdJbnQgb2JqZWN0OiBCaWdJbnQoMCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIHR5cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkg
aXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KDEpCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJiaWdp
bnQiCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0
aW5nIEJpZ0ludCBvYmplY3Q6IEJpZ0ludCgtMCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tl
eScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3Ry
aW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50
KCcweDFmZmZmZmZmZmZmZmZmJykKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHR5cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMg
cmVzdWx0LnRvU3RyaW5nKCkKLQotVGVzdGluZyBEYXRlIG9iamVjdHMKLVRlc3Rpbmc6IG5ldyBE
YXRlKC0xZTEzKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3Jl
YWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQot
c3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJl
c3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVz
dWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0
ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRl
c3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52
YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKC0xZTEyKQotdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
LXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0
cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNT
IGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rp
bmc6IG5ldyBEYXRlKC0xZTkpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5h
bWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0
eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEp
Ci1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5n
KCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwg
cmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERhdGUoLTFlNikKLXRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwg
J2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIK
LVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1
bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmco
KQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVl
Ci1UZXN0aW5nOiBuZXcgRGF0ZSgtMWUzKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykK
LVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVz
dF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50
b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1
ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKDApCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmpl
Y3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0g
cmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3Ry
aW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMg
dHJ1ZQotVGVzdGluZzogbmV3IERhdGUoMWUzKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
dGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3Vs
dC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52
YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKDFl
NikKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMg
Im9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRh
ICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEu
dG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigp
KSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgxZTkpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1Mg
cmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9k
YXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERh
dGUoMWUxMikKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1
bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3Vs
dCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVz
dF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0
X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFs
dWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgxZTEzKQotdHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0
b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVl
Ci1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlz
KHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLQotVGVzdGlu
ZyBSZWdFeHAgb2JqZWN0cwotVGVzdGluZyBSZWdFeHA6IG5ldyBSZWdFeHAoKQotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQot
UEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBS
ZWdFeHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQot
Ci1UZXN0aW5nIFJlZ0V4cDogL2FiYy8KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRv
U3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6IC9hYmMv
ZwotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScp
Ci1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0
KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1
bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBp
cyAiW29iamVjdCBSZWdFeHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEu
dG9TdHJpbmcoKQotCi1UZXN0aW5nIFJlZ0V4cDogL2FiYy9pCi10cmFuc2FjdGlvbiA9IGRiLnRy
YW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUu
Z2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1Q
QVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi0KLVRlc3Rpbmcg
UmVnRXhwOiAvYWJjL2dpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygp
IGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi0KLVRlc3RpbmcgUmVnRXhwOiAvYWJjL20KLXRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwg
J2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRy
dWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmpl
Y3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5n
KCkKLQotVGVzdGluZyBSZWdFeHA6IC9hYmMvbWcKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tl
eScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVz
dWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6
IC9hYmMvbWkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAh
PT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJl
c3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVz
dF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6IC9hYmMvbWdpCi10cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXkn
KQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1Q
QVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IFJl
Z0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi0K
LQotVGVzdGluZyBJbWFnZURhdGEKLWNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Nh
bnZhcycpCi1jYW52YXMud2lkdGggPSA4Ci1jYW52YXMuaGVpZ2h0ID0gOAotdGVzdF9kYXRhID0g
Y2FudmFzLmdldENvbnRleHQoJzJkJykuZ2V0SW1hZ2VEYXRhKDAsIDAsIDgsIDgpCi10cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdr
ZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVl
Ci1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0
IEltYWdlRGF0YV0iCi1QQVNTIHJlc3VsdC53aWR0aCBpcyB0ZXN0X2RhdGEud2lkdGgKLVBBU1Mg
cmVzdWx0LmhlaWdodCBpcyB0ZXN0X2RhdGEuaGVpZ2h0Ci1QQVNTIHJlc3VsdC5kYXRhLmxlbmd0
aCBpcyB0ZXN0X2RhdGEuZGF0YS5sZW5ndGgKLVBBU1MgcmVzdWx0IGRhdGEgbWF0Y2hlcwotCi1U
ZXN0aW5nIEJsb2IKLVNraXBwaW5nIHRlc3QKLQotVGVzdGluZyBGaWxlCi1Ta2lwcGluZyB0ZXN0
Ci0KLVRlc3RpbmcgRmlsZUxpc3QKLVNraXBwaW5nIHRlc3QKLQotVGVzdGluZyBPYmplY3QKLXRl
c3RfZGF0YSA9IFtdCi10ZXN0X2RhdGFbMF0gPSAnZm9vJwotdGVzdF9kYXRhWzFdID0gJ2JhcicK
LXRlc3RfZGF0YVsnYSddID0gdHJ1ZQotdGVzdF9kYXRhWydiJ10gPSBmYWxzZQotdGVzdF9kYXRh
Wydmb28nXSA9IDEyMwotdGVzdF9kYXRhWydiYXInXSA9IDQ1NgotdGVzdF9kYXRhWycnXSA9IG51
bGwKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVz
dWx0IGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKE9iamVjdC5rZXlzKHJlc3VsdCkuc29ydCgp
LCBPYmplY3Qua2V5cyh0ZXN0X2RhdGEpLnNvcnQoKSkgaXMgdHJ1ZQotUEFTUyB0ZXN0X2RhdGFb
IjAiXSBpcyByZXN1bHRbIjAiXQotUEFTUyB0ZXN0X2RhdGFbIjEiXSBpcyByZXN1bHRbIjEiXQot
UEFTUyB0ZXN0X2RhdGFbImEiXSBpcyByZXN1bHRbImEiXQotUEFTUyB0ZXN0X2RhdGFbImIiXSBp
cyByZXN1bHRbImIiXQotUEFTUyB0ZXN0X2RhdGFbImZvbyJdIGlzIHJlc3VsdFsiZm9vIl0KLVBB
U1MgdGVzdF9kYXRhWyJiYXIiXSBpcyByZXN1bHRbImJhciJdCi1QQVNTIHRlc3RfZGF0YVsiIl0g
aXMgcmVzdWx0WyIiXQotCi1UZXN0aW5nIEFycmF5Ci10ZXN0X2RhdGEgPSBbXQotdGVzdF9kYXRh
WzBdID0gJ2ZvbycKLXRlc3RfZGF0YVsxXSA9ICdiYXInCi10ZXN0X2RhdGFbMTBdID0gdHJ1ZQot
dGVzdF9kYXRhWzExXSA9IGZhbHNlCi10ZXN0X2RhdGFbMjBdID0gMTIzCi10ZXN0X2RhdGFbMjFd
ID0gNDU2Ci10ZXN0X2RhdGFbMzBdID0gbnVsbAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0ZXN0X2RhdGEubGVu
Z3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgdGVzdF9kYXRhWzBdIGlzIHJlc3Vs
dFswXQotUEFTUyB0ZXN0X2RhdGFbMV0gaXMgcmVzdWx0WzFdCi1QQVNTIHRlc3RfZGF0YVsxMF0g
aXMgcmVzdWx0WzEwXQotUEFTUyB0ZXN0X2RhdGFbMTFdIGlzIHJlc3VsdFsxMV0KLVBBU1MgdGVz
dF9kYXRhWzIwXSBpcyByZXN1bHRbMjBdCi1QQVNTIHRlc3RfZGF0YVsyMV0gaXMgcmVzdWx0WzIx
XQotUEFTUyB0ZXN0X2RhdGFbMzBdIGlzIHJlc3VsdFszMF0KLQotVGVzdGluZyBUeXBlZEFycmF5
Ci12YWx1ZSA9IG5ldyBVaW50OEFycmF5KFtdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlz
IHRydWUKLXZhbHVlID0gbmV3IFVpbnQ4QXJyYXkoWzAsIDEsIDI1NCwgMjU1XSkKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUK
LVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9
PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBd
KSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNT
IGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsz
XSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBVaW50MTZBcnJheShbMHgwMDAwLCAw
eDAwMDEsIDB4RkZGRSwgMHhGRkZGXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRl
c3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVl
Ci1QQVNTIGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3Rf
ZGF0YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0
WzJdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12
YWx1ZSA9IG5ldyBVaW50MzJBcnJheShbMHgwMDAwMDAwMCwgMHgwMDAwMDAwMSwgMHhGRkZGRkZG
RSwgMHhGRkZGRkZGRl0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEp
Ci1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBp
cyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMV0s
IHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJlc3VsdFsyXSkgaXMg
dHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1ZQotdmFsdWUgPSBu
ZXcgSW50OEFycmF5KFswLCAxLCAyNTQsIDI1NV0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdr
ZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGgg
aXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBp
cyh0ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0s
IHJlc3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMg
dHJ1ZQotdmFsdWUgPSBuZXcgSW50MTZBcnJheShbMHgwMDAwLCAweDAwMDEsIDB4RkZGRSwgMHhG
RkZGXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3Jl
LnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0g
cmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3Vs
dCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVz
dF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0
YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFd
KSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNT
IGlzKHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBJbnQzMkFy
cmF5KFsweDAwMDAwMDAwLCAweDAwMDAwMDAxLCAweEZGRkZGRkZFLCAweEZGRkZGRkZGXSkKLXRy
YW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1
ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlz
IHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxl
bmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVswXSwgcmVz
dWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVl
Ci1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3Rf
ZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBVaW50OENsYW1wZWRBcnJh
eShbMCwgMSwgMjU0LCAyNTVdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVO
YW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1Mg
dGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9k
YXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBB
U1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRh
WzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0p
IGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVl
ID0gbmV3IEZsb2F0MzJBcnJheShbLUluZmluaXR5LCAtMS41LCAtMSwgLTAuNSwgMCwgMC41LCAx
LCAxLjUsIEluZmluaXR5LCBOYU5dKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVz
dF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUK
LVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9k
YXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRb
Ml0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLVBB
U1MgaXModGVzdF9kYXRhWzRdLCByZXN1bHRbNF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRh
WzVdLCByZXN1bHRbNV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzZdLCByZXN1bHRbNl0p
IGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzddLCByZXN1bHRbN10pIGlzIHRydWUKLVBBU1Mg
aXModGVzdF9kYXRhWzhdLCByZXN1bHRbOF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzld
LCByZXN1bHRbOV0pIGlzIHRydWUKLXZhbHVlID0gbmV3IEZsb2F0NjRBcnJheShbLUluZmluaXR5
LCAtTnVtYmVyLk1BWF9WQUxVRSwgLU51bWJlci5NSU5fVkFMVUUsIDAsIE51bWJlci5NSU5fVkFM
VUUsIE51bWJlci5NQVhfVkFMVUUsIEluZmluaXR5LCBOYU5dKQotdHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3Jl
LmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQu
bGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUK
LVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9k
YXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRb
M10pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzRdLCByZXN1bHRbNF0pIGlzIHRydWUKLVBB
U1MgaXModGVzdF9kYXRhWzVdLCByZXN1bHRbNV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRh
WzZdLCByZXN1bHRbNl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzddLCByZXN1bHRbN10p
IGlzIHRydWUKLQotVGVzdGluZyBBcnJheXMKLXRlc3RfZGF0YSA9IFtdCi10ZXN0X2RhdGFbMF0g
PSBbXQotdGVzdF9kYXRhWzFdID0gWzEsIDIsIDNdCi10ZXN0X2RhdGFbMTBdID0gT2JqZWN0LmFz
c2lnbihbJ2ZvbycsICdiYXInXSwgezEwOiB0cnVlLCAxMTogZmFsc2UsIDIwOiAxMjMsIDIxOiA0
NTYsIDMwOiBudWxsfSkKLXRlc3RfZGF0YVsxMV0gPSBPYmplY3QuYXNzaWduKFsnZm9vJywgJ2Jh
ciddLCB7YTogdHJ1ZSwgYjogZmFsc2UsIGZvbzogMTIzLCBiYXI6IDQ1NiwgJyc6IG51bGx9KQot
dHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1z
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZh
bHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQg
aXMgdHJ1ZQotUEFTUyB0eXBlb2YgdGVzdF9kYXRhIGlzIHR5cGVvZiByZXN1bHQKLVBBU1MgdGVz
dF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGFycmF5Q29tcGFy
ZSh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUodGVz
dF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKHRlc3RfZGF0
YVsxMF0sIHJlc3VsdFsxMF0pIGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKHRlc3RfZGF0YVsx
MV0sIHJlc3VsdFsxMV0pIGlzIHRydWUKLQotVGVzdGluZyBNYXAKLXRlc3RfZGF0YSA9IG5ldyBN
YXAoW1sxLDJdLFszLDRdXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5
cGVvZiB0ZXN0X2RhdGEgaXMgdHlwZW9mIHJlc3VsdAotUEFTUyB0ZXN0X2RhdGEuc2l6ZSBpcyBy
ZXN1bHQuc2l6ZQotCi1UZXN0aW5nIFNldAotdGVzdF9kYXRhID0gbmV3IFNldChbMSwyLDMsNF0p
Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykK
LXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQo
dmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgdGVzdF9kYXRhIGlz
IHR5cGVvZiByZXN1bHQKLVBBU1MgdGVzdF9kYXRhLnNpemUgaXMgcmVzdWx0LnNpemUKLVBBU1Mg
cmVzdWx0LmhhcygxKSBpcyB0cnVlCi1QQVNTIHJlc3VsdC5oYXMoMikgaXMgdHJ1ZQotUEFTUyBy
ZXN1bHQuaGFzKDMpIGlzIHRydWUKLVBBU1MgcmVzdWx0Lmhhcyg0KSBpcyB0cnVlCi0KLVRlc3Rp
bmcgZ2VvbWV0cnkgdHlwZXMKLVRlc3RpbmcgZ2VvbWV0cnkgdHlwZTogbmV3IERPTU1hdHJpeCgp
Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykK
LXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQo
dmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3Vs
dCBpcyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRv
U3RyaW5nKCkKLVRlc3RpbmcgZ2VvbWV0cnkgdHlwZTogbmV3IERPTU1hdHJpeFJlYWRPbmx5KCkK
LXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQot
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2
YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0
IGlzIHRydWUKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9T
dHJpbmcoKQotVGVzdGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NUG9pbnQoKQotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQot
UEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChy
ZXN1bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1U
ZXN0aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01Qb2ludFJlYWRPbmx5KCkKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBB
U1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVz
dWx0KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVz
dGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NUmVjdCgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiBy
ZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRl
c3RfZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1Mg
dGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgZ2VvbWV0
cnkgdHlwZTogbmV3IERPTVJlY3RSZWFkT25seSgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdr
ZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1
bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVz
dF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgZ2VvbWV0cnkg
dHlwZTogbmV3IERPTVF1YWQoKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVO
YW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1Mg
dGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmpl
Y3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0
cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi0KLVRlc3RpbmcgQ3J5cHRvS2V5Ci1wcm9taXNl
ID0gY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7IG5hbWU6ICdITUFDJywgaGFzaDoge25hbWU6
ICdTSEEtNTEyJ319LCB0cnVlLCBbJ3NpZ24nLCAndmVyaWZ5J10pOwotdHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0
b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHRlc3RfZGF0YSBpcyB0eXBlb2YgcmVzdWx0Ci1Q
QVNTIHRlc3RfZGF0YS50eXBlIGlzIHJlc3VsdC50eXBlCi1QQVNTIHRlc3RfZGF0YS5leHRyYWN0
YWJsZSBpcyByZXN1bHQuZXh0cmFjdGFibGUKLVBBU1MgdGVzdF9kYXRhLmFsZ29yaXRobS50b1N0
cmluZygpIGlzIHJlc3VsdC5hbGdvcml0aG0udG9TdHJpbmcoKQotUEFTUyBhcnJheUNvbXBhcmUo
dGVzdF9kYXRhLnVzYWdlcywgcmVzdWx0LnVzYWdlcykgaXMgdHJ1ZQotCi1UZXN0IHR5cGVzIHRo
YXQgY2FuJ3QgYmUgY2xvbmVkOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVO
YW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKQotVGVzdGluZyBFcnJvcgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1
dChuZXcgRXJyb3IsICdrZXknKQotUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29k
ZSBpcyBET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIKLUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUg
b2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLgotVGVzdGluZyBGdW5jdGlvbgotRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChuZXcgRnVuY3Rpb24sICdrZXknKQotUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIK
LUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLgotVGVzdGlu
ZyBET01FeGNlcHRpb24KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobmV3IERP
TUV4Y2VwdGlvbiwgJ2tleScpCi1QQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2Rl
IGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBv
YmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1UZXN0aW5nIG90aGVyIGhvc3Qgb2JqZWN0IHR5cGVz
Ci1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KHNlbGYsICdrZXknKQotUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24uREFUQV9DTE9O
RV9FUlIKLUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLgot
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChkb2N1bWVudCwgJ2tleScpCi1QQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NM
T05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQu
Ci1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KGRvY3VtZW50LmJvZHksICdrZXkn
KQotUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24u
REFUQV9DTE9ORV9FUlIKLUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUg
Y2xvbmVkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQt
Y2xvbmUtcHJpdmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0
dXJlZC1jbG9uZS1wcml2YXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdk
YjQ2MTI2OWJkNWQ4MWE5Mjg1NGU4ZDhiOGJmZDc5M2RhODNmY2YuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvc3RydWN0dXJlZC1jbG9uZS1wcml2YXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSAr
MCwwIEBACi08IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1
ZSBdIC0tPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZUlucHV0
IiBtdWx0aXBsZT48L2lucHV0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zdHJ1Y3R1cmVkLWNs
b25lLmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404721</attachid>
            <date>2020-07-20 09:33:53 -0700</date>
            <delta_ts>2020-07-20 10:05:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214425-20200720093352.patch</filename>
            <type>text/plain</type>
            <size>52188</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzllODA3Yjk4YmZkMDIw
YjU4YjZlMjdlMTdiZjI0Y2VjZjJhYzBlYy4uNjYxZjkwMTU3MzRlM2U1M2E4ODRiZGVjMWEwNWFh
YjAzNjJkMmQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA3LTIwICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY0NDg2
KTogQVNTRVJUSU9OIEZBSUxFRDogQVNTRVJUX05PVF9SRUFDSEVEKCkgaW4gTmV0d29ya1Byb2Nl
c3NQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCwgc29tZSBraW5kIG9mIHdyYXBwZXJzIHdpbGwgbm90IGJlIGNyZWF0ZWQgd2hlbiBnbG9i
YWwgb2JqZWN0IGlzIG5vdCAKKyAgICAgICAgSlNET01HbG9iYWxPYmplY3QsIHNvIHRoZXkgd291
bGQgbm90IGJlIGNyZWF0ZWQgZm9yIElEQiBiZWZvcmUgcjI2NDQ4Ni4gQWZ0ZXIgcjI2NDQ4Niwg
SURCIHVzZXMgCisgICAgICAgIEpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCwgd2hpY2gg
aXMgSlNET01HbG9iYWxPYmplY3QsIHNvIHRob3NlIHdyYXBwZXJzIHN0YXJ0IHRvIGJlIGNyZWF0
ZWQuIFRvIHJlc3RvcmUKKyAgICAgICAgdGhlIG9sZCBiZWhhdmlvciwgYWRkaW5nIGNoZWNrcyBm
b3IgSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0IGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAuCisKKyAgICAgICAgTW9kaWZ5IGFuZCByZS1lbmFibGUgdGVzdDogTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVEZXNlcmlhbGl6ZXI6OkNsb25lRGVzZXJpYWxpemVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
b25lRGVzZXJpYWxpemVyOjpyZWFkRmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2Vy
aWFsaXplcjo6cmVhZFJUQ0NlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVz
ZXJpYWxpemVyOjpyZWFkVGVybWluYWwpOgorCiAyMDIwLTA3LTIwICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcg
cjI2NDU5Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCmluZGV4IGU2NzBjOTgzNmVjOGVmODM3YTkwODA0NmM1ZTlmMjk3NzY4
Nzc5YTYuLmE5MTRiNDA1Mjk2NzVjZmM0MzQwZDU3ZWNjZmUwMGNjMTU4YjRjZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkpTRE9NUmVjdC5oIgogI2luY2x1ZGUgIkpT
RmlsZS5oIgogI2luY2x1ZGUgIkpTRmlsZUxpc3QuaCIKKyNpbmNsdWRlICJKU0lEQlNlcmlhbGl6
YXRpb25HbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0ltYWdlQml0bWFwLmgiCiAjaW5jbHVk
ZSAiSlNJbWFnZURhdGEuaCIKICNpbmNsdWRlICJKU01lc3NhZ2VQb3J0LmgiCkBAIC0yMDAzLDcg
KzIwMDQsNyBAQCBwcml2YXRlOgogICAgICAgICApCiAgICAgICAgIDogQ2xvbmVCYXNlKGxleGlj
YWxHbG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQot
ICAgICAgICAsIG1faXNET01HbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0RP
TUdsb2JhbE9iamVjdD4oZ2xvYmFsT2JqZWN0LT52bSgpKSkKKyAgICAgICAgLCBtX2lzSlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJTZXJp
YWxpemF0aW9uR2xvYmFsT2JqZWN0PihnbG9iYWxPYmplY3QtPnZtKCkpKQogICAgICAgICAsIG1f
cHRyKGJ1ZmZlci5kYXRhKCkpCiAgICAgICAgICwgbV9lbmQoYnVmZmVyLmRhdGEoKSArIGJ1ZmZl
ci5zaXplKCkpCiAgICAgICAgICwgbV92ZXJzaW9uKDB4RkZGRkZGRkYpCkBAIC0yMDM0LDcgKzIw
MzUsNyBAQCBwcml2YXRlOgogICAgICAgICApCiAgICAgICAgIDogQ2xvbmVCYXNlKGxleGljYWxH
bG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQotICAg
ICAgICAsIG1faXNET01HbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0RPTUds
b2JhbE9iamVjdD4oZ2xvYmFsT2JqZWN0LT52bSgpKSkKKyAgICAgICAgLCBtX2lzSlNJREJTZXJp
YWxpemF0aW9uR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJTZXJpYWxp
emF0aW9uR2xvYmFsT2JqZWN0PihnbG9iYWxPYmplY3QtPnZtKCkpKQogICAgICAgICAsIG1fcHRy
KGJ1ZmZlci5kYXRhKCkpCiAgICAgICAgICwgbV9lbmQoYnVmZmVyLmRhdGEoKSArIGJ1ZmZlci5z
aXplKCkpCiAgICAgICAgICwgbV92ZXJzaW9uKDB4RkZGRkZGRkYpCkBAIC0yMjkwLDggKzIyOTEs
MTAgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKGZpbGVQYXRoLmlzRW1wdHkoKSkKICAgICAgICAg
ICAgIGZpbGVQYXRoID0gcGF0aC0+c3RyaW5nKCk7CiAKLSAgICAgICAgaWYgKG1faXNET01HbG9i
YWxPYmplY3QpCi0gICAgICAgICAgICBmaWxlID0gRmlsZTo6ZGVzZXJpYWxpemUoZmlsZVBhdGgs
IFVSTChVUkwoKSwgdXJsLT5zdHJpbmcoKSksIHR5cGUtPnN0cmluZygpLCBuYW1lLT5zdHJpbmco
KSwgb3B0aW9uYWxMYXN0TW9kaWZpZWQpOworICAgICAgICBpZiAobV9pc0pTSURCU2VyaWFsaXph
dGlvbkdsb2JhbE9iamVjdCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGZp
bGUgPSBGaWxlOjpkZXNlcmlhbGl6ZShmaWxlUGF0aCwgVVJMKFVSTCgpLCB1cmwtPnN0cmluZygp
KSwgdHlwZS0+c3RyaW5nKCksIG5hbWUtPnN0cmluZygpLCBvcHRpb25hbExhc3RNb2RpZmllZCk7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMjk0NSw3ICsyOTQ4LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgIGZpbmdlcnByaW50cy51bmNoZWNrZWRBcHBlbmQoUlRDQ2VydGlm
aWNhdGU6OkR0bHNGaW5nZXJwcmludCB7IGFsZ29yaXRobS0+c3RyaW5nKCksIHZhbHVlLT5zdHJp
bmcoKSB9KTsKICAgICAgICAgfQogCi0gICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkK
KyAgICAgICAgaWYgKG1faXNKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3QpCiAgICAgICAg
ICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QobV9sZXhpY2FsR2xvYmFsT2JqZWN0LCBt
X2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOwogCiAgICAgICAgIGF1dG8gcnRjQ2Vy
dGlmaWNhdGUgPSBSVENDZXJ0aWZpY2F0ZTo6Y3JlYXRlKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVG
cm9tU3RyaW5nKG9yaWdpbi0+c3RyaW5nKCkpLCBleHBpcmVzLCBXVEZNb3ZlKGZpbmdlcnByaW50
cyksIGNlcnRpZmljYXRlLT50YWtlU3RyaW5nKCksIGtleWVkTWF0ZXJpYWwtPnRha2VTdHJpbmco
KSk7CkBAIC0zMTU0LDI3ICszMTU3LDI3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4g
RGF0ZUluc3RhbmNlOjpjcmVhdGUobV9sZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpLCBtX2dsb2Jh
bE9iamVjdC0+ZGF0ZVN0cnVjdHVyZSgpLCBkKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZp
bGVUYWc6IHsKKyAgICAgICAgICAgIGlmIChtX2lzSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2Jq
ZWN0KQorICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAgICAgICAgICAgIFJlZlB0
cjxGaWxlPiBmaWxlOwogICAgICAgICAgICAgaWYgKCFyZWFkRmlsZShmaWxlKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFs
T2JqZWN0KQotICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAgICAgICAgICAgIHJl
dHVybiB0b0pTKG1fbGV4aWNhbEdsb2JhbE9iamVjdCwganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0
Kj4obV9nbG9iYWxPYmplY3QpLCBmaWxlLmdldCgpKTsKICAgICAgICAgfQogICAgICAgICBjYXNl
IEZpbGVMaXN0VGFnOiB7CiAgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwogICAgICAg
ICAgICAgaWYgKCFyZWFkKGxlbmd0aCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUo
KTsKKyAgICAgICAgICAgIGlmIChtX2lzSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0KQor
ICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICAgICAgICAgIEFTU0VSVChtX2ds
b2JhbE9iamVjdC0+aW5oZXJpdHM8SlNET01HbG9iYWxPYmplY3Q+KG1fZ2xvYmFsT2JqZWN0LT52
bSgpKSk7CiAgICAgICAgICAgICBWZWN0b3I8UmVmPEZpbGU+PiBmaWxlczsKICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAg
IFJlZlB0cjxGaWxlPiBmaWxlOwogICAgICAgICAgICAgICAgIGlmICghcmVhZEZpbGUoZmlsZSkp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAg
aWYgKG1faXNET01HbG9iYWxPYmplY3QpCi0gICAgICAgICAgICAgICAgICAgIGZpbGVzLmFwcGVu
ZChmaWxlLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAgICAgICAgICAgIGZpbGVzLmFwcGVuZChm
aWxlLnJlbGVhc2VOb25OdWxsKCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFt
X2lzRE9NR2xvYmFsT2JqZWN0KQotICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAg
ICAgICAgICAgIHJldHVybiBnZXRKU1ZhbHVlKEZpbGVMaXN0OjpjcmVhdGUoV1RGTW92ZShmaWxl
cykpLmdldCgpKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEltYWdlRGF0YVRhZzogewpAQCAt
MzE5MSw3ICszMTk0LDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBmYWlsKCk7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgaWYgKCFtX2dsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNET01HbG9iYWxPYmplY3Q+KG1fZ2xvYmFsT2JqZWN0LT52bSgpKSkg
eworICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAg
IG1fcHRyICs9IGxlbmd0aDsKICAgICAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAg
ICAgICAgICB9CkBAIC0zMjE5LDcgKzMyMjMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBsb25nIHNpemUgPSAwOwogICAgICAgICAgICAgaWYgKCFyZWFkKHNpemUpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICBpZiAoIW1faXNE
T01HbG9iYWxPYmplY3QpCisgICAgICAgICAgICBpZiAobV9pc0pTSURCU2VyaWFsaXphdGlvbkds
b2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgICAg
ICByZXR1cm4gZ2V0SlNWYWx1ZShCbG9iOjpkZXNlcmlhbGl6ZShVUkwoVVJMKCksIHVybC0+c3Ry
aW5nKCkpLCB0eXBlLT5zdHJpbmcoKSwgc2l6ZSwgYmxvYkZpbGVQYXRoRm9yQmxvYlVSTCh1cmwt
PnN0cmluZygpKSkuZ2V0KCkpOwogICAgICAgICB9CkBAIC0zNDEyLDcgKzM0MTYsNyBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKLSAgICBi
b29sIG1faXNET01HbG9iYWxPYmplY3Q7CisgICAgYm9vbCBtX2lzSlNJREJTZXJpYWxpemF0aW9u
R2xvYmFsT2JqZWN0OwogICAgIGNvbnN0IHVpbnQ4X3QqIG1fcHRyOwogICAgIGNvbnN0IHVpbnQ4
X3QqIG1fZW5kOwogICAgIHVuc2lnbmVkIG1fdmVyc2lvbjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YjMwOGRhZjBiODI3
NGQ4NzhlYzRjOThmMDg3NDljYmFkODVkNTNhLi40YWYzN2UyMjYyNTJlNjRjMDhlNWQ2YWVjNjAz
YmM5MzY2OGQ4MTA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDctMjAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNjQ0ODYpOiBB
U1NFUlRJT04gRkFJTEVEOiBBU1NFUlRfTk9UX1JFQUNIRUQoKSBpbiBOZXR3b3JrUHJvY2Vzc1Bs
YXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlQmxvYlJlZ2lzdHJ5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0MjUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgc3RvcmFnZS9pbmRleGVkZGIvc3Ry
dWN0dXJlZC1jbG9uZS1wcml2YXRlLmh0bWwgYXMgYmxvYiBpcyBub3Qgc3VwcG9ydGVkIGluIElE
QiBmb3IgcHJpdmF0ZSBicm93c2luZy4gCisgICAgICAgIEFsc28gc3RvcmFnZS9pbmRleGVkZGIv
c3RydWN0dXJlZC1jbG9uZS5odG1sIGFscmVhZHkgY292ZXJzIHRoZSBjb2RlIHBhdGhzIGZvciBz
dHJ1Y3R1cmVkIGNsb25lIGluIElEQi4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3N0cnVjdHVyZWQtY2xvbmUuanM6CisgICAgICAg
ICh0ZXN0RmlsZSk6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9u
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1j
bG9uZS1wcml2YXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbDogUmVtb3ZlZC4KKwogMjAyMC0w
Ny0yMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjQ1OTYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWZjYTQ0NDMzNDQ5YjMwYzgzMjM0OGZmZTE1
Y2I4YzFhMWY5MWIzNy4uYmJlY2UwMTFlNTg0MWI1OGMyZGM3OTNjZDJkN2IwYTRkODUzYzdlOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
OTgzLDkgKzk4Myw2IEBAIHdlYmtpdC5vcmcvYi8yMTQzMDggaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1wcmVmbGlnCiAKIHdlYmtpdC5vcmcvYi8y
MTQzODggWyBNb2phdmUgXSBjb21wb3NpdGluZy9yZXBhaW50L2lmcmFtZXMvY29tcG9zaXRlZC1p
ZnJhbWUtd2l0aC1maXhlZC1iYWNrZ3JvdW5kLWRvYy1yZXBhaW50Lmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdlL2luZGV4ZWRkYi9z
dHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIxNDQ3
OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sIFsgU2tp
cCBdCi0KIHdlYmtpdC5vcmcvYi8yMTQ0NjkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW9wYWNpdHktcGF1c2UtYW5kLXNldC10aW1l
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NjkgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLXRyYW5z
Zm9ybS1wYXVzZS1hbmQtc2V0LXRpbWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzIxNDQ2OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtb3Zl
cmZsb3cvb3ZlcmZsb3ctZWxsaXBzaXMtZHluYW1pYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDJhYzFjN2UwOWFmYzM5OTY1ZjlmYTYwZDlhZWNlNTgzOTMyODY2NTMuLjgxNGRiMTRlNWVl
ZDA2MWZjNTc3ZTVhZjYwNWNhYWU3MTA3M2E2NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwNzIsMTAgKzEwNzIsNiBAQCB3ZWJraXQu
b3JnL2IvMjE0NDc4IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnJ0Yy9SVENDZXJ0aWZpYwogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tZ2VuZXJhdGVD
ZXJ0aWZpY2F0ZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENTY3RwVHJhbnNwb3J0LWNv
bnN0cnVjdG9yLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL2lkbGhhcm5lc3MuaHR0cHMud2lu
ZG93Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9ibG9iLXNpbXBsZS13b3JrZXJzLmh0bWwgWyBTa2lwIF0KLXdlYmtp
dC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9ibG9iLXNp
bXBsZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdl
L2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQotd2Via2l0
Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9u
ZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSB0aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1zZWxlY3QuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gd2VicnRjL2NlcnRpZmljYXRlcy1p
bmRleGVkZGIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gd2Vi
cnRjL2gyNjUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBkYjllZmExNzYwNzE4OGMyYjdlNDE4ODNmZjEwZjlmZDUwNDk5MTQ0Li5h
ZGI3NTdiNDYzYjZjY2ZjZTAxNmZmOTBlYmQ0OTZiNDA1OGEyNzA4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDUyNSw0ICs0NTI1LDMgQEAgd2Via2l0
Lm9yZy9iLzIxNDA4OCB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWFuaW1hdGlvbi1zaW5nbGUt
a2V5ZnJhbWUuaHRtbCBbIFMKIHdlYmtpdC5vcmcvYi8yMTQ0MjggaW1wb3J0ZWQvbW96aWxsYS9z
dmcvYmxlbmQtc2F0dXJhdGlvbi5zdmcgWyBGYWlsdXJlIF0KIAogc3RvcmFnZS9pbmRleGVkZGIv
c3RydWN0dXJlZC1jbG9uZS5odG1sIFsgU2tpcCBdCi1zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1
cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3N0cnVjdHVyZWQtY2xvbmUuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcwppbmRl
eCBiMGFjZGU4ZDc5MGUxYTZjZmI5NTNhOGJkMjBiMmIyMWRkNDBiNWVlLi43OGYwYmZkODlkNTQy
NDAxMTVjOWI3NmRlMjc0ZWUwYzg5M2E4NjA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcworKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcwpAQCAt
Mzg1LDEyICszODUsNiBAQCBmdW5jdGlvbiBjb21wYXJlQmxvYnMoYmxvYjEsIGJsb2IyLCBjYWxs
YmFjaykKIGZ1bmN0aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0aW5n
IEJsb2IiKTsKLQotICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE0NDI1Ci0gICAgZGVidWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxsYmFj
aygpOwotICAgIHJldHVybjsKLQogICAgIHNob3VsZEJlVHJ1ZSgiRmlsZVJlYWRlciAhPSBudWxs
Iik7CiAgICAgZXZhbEFuZExvZygidGVzdF9jb250ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBUaGlz
IGlzIG9ubHkgYSB0ZXN0LiciKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBuZXcgQmxv
YihbdGVzdF9jb250ZW50XSkiKTsKQEAgLTQxMSwxMSArNDA1LDYgQEAgZnVuY3Rpb24gY29tcGFy
ZUZpbGVzKGZpbGUxLCBmaWxlMiwgY2FsbGJhY2spCiAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMSAh
PT0gZmlsZTIiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChmaWxlMSkiLCAiW29iamVjdCBGaWxlXSIpOwogICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSIsICJbb2Jq
ZWN0IEZpbGVdIik7Ci0gICAgZGVidWcoImZpbGUxLnNpemU6ICIgKyBmaWxlMS5zaXplKTsKLSAg
ICBzaG91bGRCZSgiZmlsZTEuc2l6ZSIsICJmaWxlMi5zaXplIik7Ci0gICAgZGVidWcoImZpbGUx
LnR5cGU6ICIgKyBmaWxlMS50eXBlKTsKLSAgICBzaG91bGRCZSgiZmlsZTEudHlwZSIsICJmaWxl
Mi50eXBlIik7Ci0gICAgZGVidWcoImZpbGUxLm5hbWU6ICIgKyBmaWxlMS5uYW1lKTsKICAgICBz
aG91bGRCZSgiZmlsZTEubmFtZSIsICJmaWxlMi5uYW1lIik7CiAgICAgc2hvdWxkQmUoIlN0cmlu
ZyhmaWxlMS5sYXN0TW9kaWZpZWREYXRlKSIsICJTdHJpbmcoZmlsZTIubGFzdE1vZGlmaWVkRGF0
ZSkiKTsKICAgICBpZiAoY2FsbGJhY2spIHsKQEAgLTQyNiwxNSArNDE1LDkgQEAgZnVuY3Rpb24g
Y29tcGFyZUZpbGVzKGZpbGUxLCBmaWxlMiwgY2FsbGJhY2spCiBmdW5jdGlvbiB0ZXN0RmlsZShj
YWxsYmFjaykKIHsKICAgICBkZWJ1ZygiVGVzdGluZyBGaWxlIik7Ci0KLSAgICAvLyBGSVhNRTog
ZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzIGlzIG5vdCBzdXBwb3J0ZWQuCi0gICAgZGVi
dWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxsYmFjaygpOwotICAgIHJldHVybjsKLQotICAg
IGV2YWxBbmRMb2coInRlc3RfY29udGVudCA9IGZpbGVJbnB1dC5maWxlc1swXSIpOwotCi0gICAg
c2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgZXZhbEFuZExvZygidGVzdF9jb250
ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0ZXN0LiciKTsKKyAgICBldmFs
QW5kTG9nKCJibG9iID0gbmV3IEJsb2IoW3Rlc3RfY29udGVudF0pIik7CisgICAgZXZhbEFuZExv
ZygidGVzdF9kYXRhID0gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZU5hbWUnKSIpOwogICAgIHRlc3RW
YWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICBzZWxmLnJlc3VsdCA9
IHJlc3VsdDsKICAgICAgICAgY29tcGFyZUZpbGVzKHJlc3VsdCwgdGVzdF9kYXRhLCBjYWxsYmFj
ayk7CkBAIC00NDUsMTUgKzQyOCw3IEBAIGZ1bmN0aW9uIHRlc3RGaWxlKGNhbGxiYWNrKQogZnVu
Y3Rpb24gdGVzdEZpbGVMaXN0KGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0aW5nIEZpbGVM
aXN0Iik7Ci0KLSAgICAvLyBGSVhNRTogZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzIGlz
IG5vdCBzdXBwb3J0ZWQuCi0gICAgZGVidWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxsYmFj
aygpOwotICAgIHJldHVybjsKLQotICAgIGV2YWxBbmRMb2coInRlc3RfY29udGVudCA9IGZpbGVJ
bnB1dC5maWxlcyIpOwotCi0gICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAg
ZXZhbEFuZExvZygidGVzdF9kYXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJbnB1
dCcpLmZpbGVzOyIpOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkg
ewogICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0
ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAppbmRleCA4Njk2MGVh
MTY0YTgyZjRkYTg1MGM0MDM2MzI3NWFiOTAwZGUxY2IzLi45ZDgwNDMxYzgzZmIwOTVlOWM1ZDlh
NWYwZmE4MGVhYzI3ZDM4OWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dApAQCAtNTk5LDEzICs1
OTksNDMgQEAgUEFTUyByZXN1bHQuZGF0YS5sZW5ndGggaXMgdGVzdF9kYXRhLmRhdGEubGVuZ3Ro
CiBQQVNTIHJlc3VsdCBkYXRhIG1hdGNoZXMKIAogVGVzdGluZyBCbG9iCi1Ta2lwcGluZyB0ZXN0
CitQQVNTIEZpbGVSZWFkZXIgIT0gbnVsbCBpcyB0cnVlCit0ZXN0X2NvbnRlbnQgPSAnVGhpcyBp
cyBhIHRlc3QuIFRoaXMgaXMgb25seSBhIHRlc3QuJwordGVzdF9kYXRhID0gbmV3IEJsb2IoW3Rl
c3RfY29udGVudF0pCit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAn
cmVhZHdyaXRlJykKK3N0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
CitzdG9yZS5wdXQodmFsdWUsICdrZXknKQorc3RvcmUuZ2V0KCdrZXknKQorUEFTUyB0ZXN0X2Rh
dGEgIT09IHJlc3VsdCBpcyB0cnVlCitQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChyZXN1bHQpIGlzICJbb2JqZWN0IEJsb2JdIgorUEFTUyByZXN1bHQuc2l6ZSBpcyB0ZXN0X2Rh
dGEuc2l6ZQorUEFTUyByZXN1bHQudHlwZSBpcyB0ZXN0X2RhdGEudHlwZQorUEFTUyB0ZXh0IGlz
ICJUaGlzIGlzIGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdC4iCiAKIFRlc3RpbmcgRmlsZQot
U2tpcHBpbmcgdGVzdAordGVzdF9jb250ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9u
bHkgYSB0ZXN0LicKK2Jsb2IgPSBuZXcgQmxvYihbdGVzdF9jb250ZW50XSkKK3Rlc3RfZGF0YSA9
IG5ldyBGaWxlKFtibG9iXSwgJ2ZpbGVOYW1lJykKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQorc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKK3N0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCitzdG9yZS5nZXQoJ2tl
eScpCitQQVNTIGZpbGUxICE9PSBmaWxlMiBpcyB0cnVlCitQQVNTIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChmaWxlMSkgaXMgIltvYmplY3QgRmlsZV0iCitQQVNTIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChmaWxlMikgaXMgIltvYmplY3QgRmlsZV0iCitQQVNTIGZpbGUx
Lm5hbWUgaXMgZmlsZTIubmFtZQorUEFTUyBTdHJpbmcoZmlsZTEubGFzdE1vZGlmaWVkRGF0ZSkg
aXMgU3RyaW5nKGZpbGUyLmxhc3RNb2RpZmllZERhdGUpCitQQVNTIHRleHQyIGlzICJUaGlzIGlz
IGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdC4iCiAKIFRlc3RpbmcgRmlsZUxpc3QKLVNraXBw
aW5nIHRlc3QKK3Rlc3RfZGF0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlSW5wdXQn
KS5maWxlczsKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQorc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKK3N0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCitzdG9yZS5nZXQoJ2tleScpCitQQVNTIHRlc3RfZGF0YSAh
PT0gcmVzdWx0IGlzIHRydWUKK1BBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJl
c3VsdCkgaXMgIltvYmplY3QgRmlsZUxpc3RdIgorUEFTUyByZXN1bHQubGVuZ3RoIGlzIHRlc3Rf
ZGF0YS5sZW5ndGgKIAogVGVzdGluZyBPYmplY3QKIHRlc3RfZGF0YSA9IFtdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1j
bG9uZS1wcml2YXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODY5NjBlYTE2NGE4MmY0ZGE4NTBjNDAzNjMyNzVhYjkwMGRlMWNiMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsOTM1ICswLDAgQEAKLVRlc3Qgc3RydWN0dXJlZCBjbG9uZSBwZXJtdXRhdGlvbnMgaW4g
SW5kZXhlZERCLiBGaWxlL0ZpbGVMaXN0IHRlc3RzIHJlcXVpcmUgRHVtcFJlbmRlclRyZWUuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1pbmRleGVkREIgPSBzZWxmLmluZGV4ZWRE
QiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1z
SW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKLQotaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNl
KGRibmFtZSkKLWluZGV4ZWREQi5vcGVuKGRibmFtZSkKLXN0b3JlID0gZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1UaGlzIGluZGV4IGlzIG5vdCB1c2VkLCBidXQgZXZhbHVhdGlu
ZyBrZXkgcGF0aCBvbiBlYWNoIHB1dCgpIGNhbGwgd2lsbCBleGVyY2lzZSAoZGUpc2VyaWFsaXph
dGlvbjoKLXN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAnZHVtbXlLZXlQYXRoJykKLQot
UnVubmluZyB0ZXN0cy4uLgotCi1UZXN0aW5nOiB1bmRlZmluZWQKLXRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9y
ZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3Rp
bmc6IG51bGwKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0
YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3RpbmcgYm9vbGVhbiBwcmltaXRpdmVzCi1UZXN0aW5n
OiB0cnVlCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEs
IHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogZmFsc2UKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQo
J2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3RpbmcgbnVt
YmVyIHByaW1pdGl2ZXMKLVRlc3Rpbmc6IE5hTgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC1JbmZpbml0
eQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScp
Ci1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0
KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1
bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC1OdW1iZXIuTUFYX1ZBTFVFCi10cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGlu
ZzogLTB4ZmZmZmZmZmYKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRl
c3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAtMHg4MDAwMDAwMAotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUK
LVRlc3Rpbmc6IC0weDdmZmZmZmZmCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFT
UyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogLTEKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1U
ZXN0aW5nOiAtTnVtYmVyLk1JTl9WQUxVRQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykK
LVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC0wCi10cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdr
ZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1
ZQotVGVzdGluZzogMAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywg
J3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUn
KQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVz
dF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IDEKLXRyYW5zYWN0aW9uID0gZGIudHJh
bnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5n
ZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiBO
dW1iZXIuTUlOX1ZBTFVFCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0
ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogMHg3ZmZmZmZmZgotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUK
LVRlc3Rpbmc6IDB4ODAwMDAwMDAKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAweGZmZmZmZmZmCi10cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUs
ICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMg
dHJ1ZQotVGVzdGluZzogTnVtYmVyLk1BWF9WQUxVRQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgn
a2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IEluZmlu
aXR5Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJl
c3VsdCkgaXMgdHJ1ZQotCi1UZXN0aW5nIHN0cmluZyBwcmltaXRpdmVzCi1UZXN0aW5nOiAnJwot
dHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1z
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZh
bHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQp
IGlzIHRydWUKLVRlc3Rpbmc6ICd0aGlzIGlzIGEgc2FtcGxlIHN0cmluZycKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1U
ZXN0aW5nOiAnbnVsbChcMCknCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5h
bWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBp
cyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotCi1UZXN0aW5nIEJpZ0ludCBwcmltaXRpdmVz
Ci1UZXN0aW5nOiAtMTIzNDU2Nzg5MDEyMzQ1Njc4OTBuCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogLTFu
Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykK
LXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQo
dmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3Vs
dCkgaXMgdHJ1ZQotVGVzdGluZzogMG4KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAxbgotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUK
LVRlc3Rpbmc6IDEyMzQ1Njc4OTAxMjM0NTY3ODkwbgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgn
a2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLQotVGVzdGluZyBCb29s
ZWFuIG9iamVjdHMKLVRlc3Rpbmc6IG5ldyBCb29sZWFuKHRydWUpCi10cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUK
LVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXMo
dGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzog
bmV3IEJvb2xlYW4oZmFsc2UpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5h
bWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0
eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEp
Ci1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5n
KCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwg
cmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotCi1UZXN0aW5nIE51bWJlciBvYmplY3RzCi1UZXN0
aW5nOiBuZXcgTnVtYmVyKE5hTikKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0
YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJp
bmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigp
LCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKC1JbmZpbml0
eSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMg
Im9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRh
ICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEu
dG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigp
KSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKC1OdW1iZXIuTUFYX1ZBTFVFKQotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0Igot
UEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3Vs
dCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygp
Ci1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUK
LVRlc3Rpbmc6IG5ldyBOdW1iZXIoLU51bWJlci5NSU5fVkFMVUUpCi10cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUK
LVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXMo
dGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzog
bmV3IE51bWJlcigtMCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVv
ZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBB
U1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBp
cyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1
bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKDApCi10cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXkn
KQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlz
IHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBB
U1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVz
dGluZzogbmV3IE51bWJlcihOdW1iZXIuTUlOX1ZBTFVFKQotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNT
IHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3Rf
ZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBO
dW1iZXIoTnVtYmVyLk1BWF9WQUxVRSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9T
dHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVP
ZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKEluZmlu
aXR5KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0
ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUu
cHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBp
cyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBp
cyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2Rh
dGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0
YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9m
KCkpIGlzIHRydWUKLQotVGVzdGluZyBTdHJpbmcgb2JqZWN0cwotVGVzdGluZzogbmV3IFN0cmlu
ZygpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlz
ICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlz
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0
YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRh
LnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2Yo
KSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IFN0cmluZygndGhpcyBpcyBhIHNhbXBsZSBzdHJpbmcn
KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScp
Ci1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0
KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAi
b2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEg
IT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50
b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkp
IGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBTdHJpbmcoJ251bGwoXDApJykKLXRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1z
dG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1
ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBp
cyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi0KLVRlc3Rp
bmcgQmlnSW50IG9iamVjdHMKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KC0xMjM0NTY3
ODkwMTIzNDU2Nzg5MCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVv
ZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0
LnRvU3RyaW5nKCkKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KC0xKQotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAiYmlnaW50IgotUEFT
UyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBCaWdJ
bnQgb2JqZWN0OiBCaWdJbnQoMCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHR5cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMg
cmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KDEpCi10cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUs
ICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJiaWdpbnQi
Ci1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0aW5n
IEJpZ0ludCBvYmplY3Q6IEJpZ0ludCgtMCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIHR5cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5n
KCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KCcw
eDFmZmZmZmZmZmZmZmZmJykKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5
cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVz
dWx0LnRvU3RyaW5nKCkKLQotVGVzdGluZyBEYXRlIG9iamVjdHMKLVRlc3Rpbmc6IG5ldyBEYXRl
KC0xZTEzKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3
cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3Rv
cmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3Vs
dCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0
KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3Rf
ZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1
ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKC0xZTEyKQotdHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0
b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVl
Ci1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlz
KHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6
IG5ldyBEYXRlKC0xZTkpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBl
b2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1Q
QVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkg
aXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVz
dWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERhdGUoLTFlNikKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQg
aXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQot
UEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1U
ZXN0aW5nOiBuZXcgRGF0ZSgtMWUzKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9k
YXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0
cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9m
KCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKDApCi10cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUs
ICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3Qi
Ci1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVz
dWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5n
KCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1
ZQotVGVzdGluZzogbmV3IERhdGUoMWUzKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykK
LVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVz
dF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50
b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1
ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKDFlNikK
LXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQot
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2
YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9i
amVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9
PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9T
dHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBp
cyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgxZTkpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdr
ZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVz
dWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRh
LnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERhdGUo
MWUxMikKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3Jl
LnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQg
aXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9k
YXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2Rh
dGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVP
ZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgxZTEzKQotdHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3Jl
LmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1Q
QVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRl
c3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLQotVGVzdGluZyBS
ZWdFeHAgb2JqZWN0cwotVGVzdGluZyBSZWdFeHA6IG5ldyBSZWdFeHAoKQotdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
LXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFT
UyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBSZWdF
eHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotCi1U
ZXN0aW5nIFJlZ0V4cDogL2FiYy8KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRvU3Ry
aW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6IC9hYmMvZwot
dHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1z
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZh
bHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQg
aXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAi
W29iamVjdCBSZWdFeHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9T
dHJpbmcoKQotCi1UZXN0aW5nIFJlZ0V4cDogL2FiYy9pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1QQVNT
IHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi0KLVRlc3RpbmcgUmVn
RXhwOiAvYWJjL2dpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAn
cmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
Ci1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2Rh
dGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChyZXN1bHQpIGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlz
IHRlc3RfZGF0YS50b1N0cmluZygpCi0KLVRlc3RpbmcgUmVnRXhwOiAvYWJjL20KLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUK
LVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3Qg
UmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkK
LQotVGVzdGluZyBSZWdFeHA6IC9hYmMvbWcKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0
LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6IC9h
YmMvbWkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3Jl
LnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0g
cmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3Vs
dCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9k
YXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6IC9hYmMvbWdpCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IFJlZ0V4
cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi0KLQot
VGVzdGluZyBJbWFnZURhdGEKLWNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZh
cycpCi1jYW52YXMud2lkdGggPSA4Ci1jYW52YXMuaGVpZ2h0ID0gOAotdGVzdF9kYXRhID0gY2Fu
dmFzLmdldENvbnRleHQoJzJkJykuZ2V0SW1hZ2VEYXRhKDAsIDAsIDgsIDgpCi10cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXkn
KQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1Q
QVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IElt
YWdlRGF0YV0iCi1QQVNTIHJlc3VsdC53aWR0aCBpcyB0ZXN0X2RhdGEud2lkdGgKLVBBU1MgcmVz
dWx0LmhlaWdodCBpcyB0ZXN0X2RhdGEuaGVpZ2h0Ci1QQVNTIHJlc3VsdC5kYXRhLmxlbmd0aCBp
cyB0ZXN0X2RhdGEuZGF0YS5sZW5ndGgKLVBBU1MgcmVzdWx0IGRhdGEgbWF0Y2hlcwotCi1UZXN0
aW5nIEJsb2IKLVNraXBwaW5nIHRlc3QKLQotVGVzdGluZyBGaWxlCi1Ta2lwcGluZyB0ZXN0Ci0K
LVRlc3RpbmcgRmlsZUxpc3QKLVNraXBwaW5nIHRlc3QKLQotVGVzdGluZyBPYmplY3QKLXRlc3Rf
ZGF0YSA9IFtdCi10ZXN0X2RhdGFbMF0gPSAnZm9vJwotdGVzdF9kYXRhWzFdID0gJ2JhcicKLXRl
c3RfZGF0YVsnYSddID0gdHJ1ZQotdGVzdF9kYXRhWydiJ10gPSBmYWxzZQotdGVzdF9kYXRhWydm
b28nXSA9IDEyMwotdGVzdF9kYXRhWydiYXInXSA9IDQ1NgotdGVzdF9kYXRhWycnXSA9IG51bGwK
LXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQot
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2
YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0
IGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKE9iamVjdC5rZXlzKHJlc3VsdCkuc29ydCgpLCBP
YmplY3Qua2V5cyh0ZXN0X2RhdGEpLnNvcnQoKSkgaXMgdHJ1ZQotUEFTUyB0ZXN0X2RhdGFbIjAi
XSBpcyByZXN1bHRbIjAiXQotUEFTUyB0ZXN0X2RhdGFbIjEiXSBpcyByZXN1bHRbIjEiXQotUEFT
UyB0ZXN0X2RhdGFbImEiXSBpcyByZXN1bHRbImEiXQotUEFTUyB0ZXN0X2RhdGFbImIiXSBpcyBy
ZXN1bHRbImIiXQotUEFTUyB0ZXN0X2RhdGFbImZvbyJdIGlzIHJlc3VsdFsiZm9vIl0KLVBBU1Mg
dGVzdF9kYXRhWyJiYXIiXSBpcyByZXN1bHRbImJhciJdCi1QQVNTIHRlc3RfZGF0YVsiIl0gaXMg
cmVzdWx0WyIiXQotCi1UZXN0aW5nIEFycmF5Ci10ZXN0X2RhdGEgPSBbXQotdGVzdF9kYXRhWzBd
ID0gJ2ZvbycKLXRlc3RfZGF0YVsxXSA9ICdiYXInCi10ZXN0X2RhdGFbMTBdID0gdHJ1ZQotdGVz
dF9kYXRhWzExXSA9IGZhbHNlCi10ZXN0X2RhdGFbMjBdID0gMTIzCi10ZXN0X2RhdGFbMjFdID0g
NDU2Ci10ZXN0X2RhdGFbMzBdID0gbnVsbAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykK
LVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0ZXN0X2RhdGEubGVuZ3Ro
ID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgdGVzdF9kYXRhWzBdIGlzIHJlc3VsdFsw
XQotUEFTUyB0ZXN0X2RhdGFbMV0gaXMgcmVzdWx0WzFdCi1QQVNTIHRlc3RfZGF0YVsxMF0gaXMg
cmVzdWx0WzEwXQotUEFTUyB0ZXN0X2RhdGFbMTFdIGlzIHJlc3VsdFsxMV0KLVBBU1MgdGVzdF9k
YXRhWzIwXSBpcyByZXN1bHRbMjBdCi1QQVNTIHRlc3RfZGF0YVsyMV0gaXMgcmVzdWx0WzIxXQot
UEFTUyB0ZXN0X2RhdGFbMzBdIGlzIHJlc3VsdFszMF0KLQotVGVzdGluZyBUeXBlZEFycmF5Ci12
YWx1ZSA9IG5ldyBVaW50OEFycmF5KFtdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykK
LVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
dGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRy
dWUKLXZhbHVlID0gbmV3IFVpbnQ4QXJyYXkoWzAsIDEsIDI1NCwgMjU1XSkKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0g
cmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBp
cyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNTIGlz
KHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVszXSwg
cmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBVaW50MTZBcnJheShbMHgwMDAwLCAweDAw
MDEsIDB4RkZGRSwgMHhGRkZGXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1Q
QVNTIGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0
YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJd
KSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1
ZSA9IG5ldyBVaW50MzJBcnJheShbMHgwMDAwMDAwMCwgMHgwMDAwMDAwMSwgMHhGRkZGRkZGRSwg
MHhGRkZGRkZGRl0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAn
cmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
Ci1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2Rh
dGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1Q
QVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBpcyh0
ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMV0sIHJl
c3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJlc3VsdFsyXSkgaXMgdHJ1
ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1ZQotdmFsdWUgPSBuZXcg
SW50OEFycmF5KFswLCAxLCAyNTQsIDI1NV0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXkn
KQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMg
dHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0
ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJl
c3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1
ZQotdmFsdWUgPSBuZXcgSW50MTZBcnJheShbMHgwMDAwLCAweDAwMDEsIDB4RkZGRSwgMHhGRkZG
XSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVz
dWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9k
YXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsw
XSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBp
cyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlz
KHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBJbnQzMkFycmF5
KFsweDAwMDAwMDAwLCAweDAwMDAwMDAxLCAweEZGRkZGRkZFLCAweEZGRkZGRkZGXSkKLXRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwg
J2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRy
dWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0
aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0
WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1Q
QVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0
YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBVaW50OENsYW1wZWRBcnJheShb
MCwgMSwgMjU0LCAyNTVdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVz
dF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRh
KQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1Mg
aXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFd
LCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlz
IHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0g
bmV3IEZsb2F0MzJBcnJheShbLUluZmluaXR5LCAtMS41LCAtMSwgLTAuNSwgMCwgMC41LCAxLCAx
LjUsIEluZmluaXR5LCBOYU5dKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVO
YW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1Mg
dGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9k
YXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBB
U1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRh
WzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0p
IGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLVBBU1Mg
aXModGVzdF9kYXRhWzRdLCByZXN1bHRbNF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzVd
LCByZXN1bHRbNV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzZdLCByZXN1bHRbNl0pIGlz
IHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzddLCByZXN1bHRbN10pIGlzIHRydWUKLVBBU1MgaXMo
dGVzdF9kYXRhWzhdLCByZXN1bHRbOF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzldLCBy
ZXN1bHRbOV0pIGlzIHRydWUKLXZhbHVlID0gbmV3IEZsb2F0NjRBcnJheShbLUluZmluaXR5LCAt
TnVtYmVyLk1BWF9WQUxVRSwgLU51bWJlci5NSU5fVkFMVUUsIDAsIE51bWJlci5NSU5fVkFMVUUs
IE51bWJlci5NQVhfVkFMVUUsIEluZmluaXR5LCBOYU5dKQotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVu
Z3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBB
U1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRh
WzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10p
IGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzRdLCByZXN1bHRbNF0pIGlzIHRydWUKLVBBU1Mg
aXModGVzdF9kYXRhWzVdLCByZXN1bHRbNV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzZd
LCByZXN1bHRbNl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzddLCByZXN1bHRbN10pIGlz
IHRydWUKLQotVGVzdGluZyBBcnJheXMKLXRlc3RfZGF0YSA9IFtdCi10ZXN0X2RhdGFbMF0gPSBb
XQotdGVzdF9kYXRhWzFdID0gWzEsIDIsIDNdCi10ZXN0X2RhdGFbMTBdID0gT2JqZWN0LmFzc2ln
bihbJ2ZvbycsICdiYXInXSwgezEwOiB0cnVlLCAxMTogZmFsc2UsIDIwOiAxMjMsIDIxOiA0NTYs
IDMwOiBudWxsfSkKLXRlc3RfZGF0YVsxMV0gPSBPYmplY3QuYXNzaWduKFsnZm9vJywgJ2Jhcidd
LCB7YTogdHJ1ZSwgYjogZmFsc2UsIGZvbzogMTIzLCBiYXI6IDQ1NiwgJyc6IG51bGx9KQotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMg
dHJ1ZQotUEFTUyB0eXBlb2YgdGVzdF9kYXRhIGlzIHR5cGVvZiByZXN1bHQKLVBBU1MgdGVzdF9k
YXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGFycmF5Q29tcGFyZSh0
ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUodGVzdF9k
YXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKHRlc3RfZGF0YVsx
MF0sIHJlc3VsdFsxMF0pIGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKHRlc3RfZGF0YVsxMV0s
IHJlc3VsdFsxMV0pIGlzIHRydWUKLQotVGVzdGluZyBNYXAKLXRlc3RfZGF0YSA9IG5ldyBNYXAo
W1sxLDJdLFszLDRdXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVv
ZiB0ZXN0X2RhdGEgaXMgdHlwZW9mIHJlc3VsdAotUEFTUyB0ZXN0X2RhdGEuc2l6ZSBpcyByZXN1
bHQuc2l6ZQotCi1UZXN0aW5nIFNldAotdGVzdF9kYXRhID0gbmV3IFNldChbMSwyLDMsNF0pCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgdGVzdF9kYXRhIGlzIHR5
cGVvZiByZXN1bHQKLVBBU1MgdGVzdF9kYXRhLnNpemUgaXMgcmVzdWx0LnNpemUKLVBBU1MgcmVz
dWx0LmhhcygxKSBpcyB0cnVlCi1QQVNTIHJlc3VsdC5oYXMoMikgaXMgdHJ1ZQotUEFTUyByZXN1
bHQuaGFzKDMpIGlzIHRydWUKLVBBU1MgcmVzdWx0Lmhhcyg0KSBpcyB0cnVlCi0KLVRlc3Rpbmcg
Z2VvbWV0cnkgdHlwZXMKLVRlc3RpbmcgZ2VvbWV0cnkgdHlwZTogbmV3IERPTU1hdHJpeCgpCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBp
cyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3Ry
aW5nKCkKLVRlc3RpbmcgZ2VvbWV0cnkgdHlwZTogbmV3IERPTU1hdHJpeFJlYWRPbmx5KCkKLXRy
YW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1
ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlz
IHRydWUKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwocmVzdWx0KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJp
bmcoKQotVGVzdGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NUG9pbnQoKQotdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
LXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFT
UyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1
bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0
aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01Qb2ludFJlYWRPbmx5KCkKLXRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1z
dG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1Mg
dHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0
KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGlu
ZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NUmVjdCgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdr
ZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1
bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVz
dF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgZ2VvbWV0cnkg
dHlwZTogbmV3IERPTVJlY3RSZWFkT25seSgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXkn
KQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1bHQg
aXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0
YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVzdF9k
YXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgZ2VvbWV0cnkgdHlw
ZTogbmV3IERPTVF1YWQoKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVz
dF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3Qi
Ci1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmlu
ZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi0KLVRlc3RpbmcgQ3J5cHRvS2V5Ci1wcm9taXNlID0g
Y3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7IG5hbWU6ICdITUFDJywgaGFzaDoge25hbWU6ICdT
SEEtNTEyJ319LCB0cnVlLCBbJ3NpZ24nLCAndmVyaWZ5J10pOwotdHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3Jl
LmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHRlc3RfZGF0YSBpcyB0eXBlb2YgcmVzdWx0Ci1QQVNT
IHRlc3RfZGF0YS50eXBlIGlzIHJlc3VsdC50eXBlCi1QQVNTIHRlc3RfZGF0YS5leHRyYWN0YWJs
ZSBpcyByZXN1bHQuZXh0cmFjdGFibGUKLVBBU1MgdGVzdF9kYXRhLmFsZ29yaXRobS50b1N0cmlu
ZygpIGlzIHJlc3VsdC5hbGdvcml0aG0udG9TdHJpbmcoKQotUEFTUyBhcnJheUNvbXBhcmUodGVz
dF9kYXRhLnVzYWdlcywgcmVzdWx0LnVzYWdlcykgaXMgdHJ1ZQotCi1UZXN0IHR5cGVzIHRoYXQg
Y2FuJ3QgYmUgY2xvbmVkOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotVGVzdGluZyBFcnJvcgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChu
ZXcgRXJyb3IsICdrZXknKQotUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBp
cyBET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIKLUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgY2xvbmVkLgotVGVzdGluZyBGdW5jdGlvbgotRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHN0b3JlLnB1dChuZXcgRnVuY3Rpb24sICdrZXknKQotUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIKLUV4
Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLgotVGVzdGluZyBE
T01FeGNlcHRpb24KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobmV3IERPTUV4
Y2VwdGlvbiwgJ2tleScpCi1QQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlz
IERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmpl
Y3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1UZXN0aW5nIG90aGVyIGhvc3Qgb2JqZWN0IHR5cGVzCi1F
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KHNlbGYsICdrZXknKQotUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24uREFUQV9DTE9ORV9F
UlIKLUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLgotRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChkb2N1bWVudCwgJ2tleScpCi1QQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05F
X0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1F
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KGRvY3VtZW50LmJvZHksICdrZXknKQot
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24uREFU
QV9DTE9ORV9FUlIKLUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xv
bmVkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xv
bmUtcHJpdmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJl
ZC1jbG9uZS1wcml2YXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkYjQ2
MTI2OWJkNWQ4MWE5Mjg1NGU4ZDhiOGJmZDc5M2RhODNmY2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
c3RydWN0dXJlZC1jbG9uZS1wcml2YXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi08IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBd
IC0tPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZUlucHV0IiBt
dWx0aXBsZT48L2lucHV0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zdHJ1Y3R1cmVkLWNsb25l
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404724</attachid>
            <date>2020-07-20 10:05:27 -0700</date>
            <delta_ts>2020-07-21 09:45:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214425-20200720100526.patch</filename>
            <type>text/plain</type>
            <size>53222</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzllODA3Yjk4YmZkMDIw
YjU4YjZlMjdlMTdiZjI0Y2VjZjJhYzBlYy4uNjYxZjkwMTU3MzRlM2U1M2E4ODRiZGVjMWEwNWFh
YjAzNjJkMmQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA3LTIwICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY0NDg2
KTogQVNTRVJUSU9OIEZBSUxFRDogQVNTRVJUX05PVF9SRUFDSEVEKCkgaW4gTmV0d29ya1Byb2Nl
c3NQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCwgc29tZSBraW5kIG9mIHdyYXBwZXJzIHdpbGwgbm90IGJlIGNyZWF0ZWQgd2hlbiBnbG9i
YWwgb2JqZWN0IGlzIG5vdCAKKyAgICAgICAgSlNET01HbG9iYWxPYmplY3QsIHNvIHRoZXkgd291
bGQgbm90IGJlIGNyZWF0ZWQgZm9yIElEQiBiZWZvcmUgcjI2NDQ4Ni4gQWZ0ZXIgcjI2NDQ4Niwg
SURCIHVzZXMgCisgICAgICAgIEpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCwgd2hpY2gg
aXMgSlNET01HbG9iYWxPYmplY3QsIHNvIHRob3NlIHdyYXBwZXJzIHN0YXJ0IHRvIGJlIGNyZWF0
ZWQuIFRvIHJlc3RvcmUKKyAgICAgICAgdGhlIG9sZCBiZWhhdmlvciwgYWRkaW5nIGNoZWNrcyBm
b3IgSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0IGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAuCisKKyAgICAgICAgTW9kaWZ5IGFuZCByZS1lbmFibGUgdGVzdDogTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVEZXNlcmlhbGl6ZXI6OkNsb25lRGVzZXJpYWxpemVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
b25lRGVzZXJpYWxpemVyOjpyZWFkRmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2Vy
aWFsaXplcjo6cmVhZFJUQ0NlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVz
ZXJpYWxpemVyOjpyZWFkVGVybWluYWwpOgorCiAyMDIwLTA3LTIwICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcg
cjI2NDU5Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCmluZGV4IGU2NzBjOTgzNmVjOGVmODM3YTkwODA0NmM1ZTlmMjk3NzY4
Nzc5YTYuLmE5MTRiNDA1Mjk2NzVjZmM0MzQwZDU3ZWNjZmUwMGNjMTU4YjRjZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkpTRE9NUmVjdC5oIgogI2luY2x1ZGUgIkpT
RmlsZS5oIgogI2luY2x1ZGUgIkpTRmlsZUxpc3QuaCIKKyNpbmNsdWRlICJKU0lEQlNlcmlhbGl6
YXRpb25HbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0ltYWdlQml0bWFwLmgiCiAjaW5jbHVk
ZSAiSlNJbWFnZURhdGEuaCIKICNpbmNsdWRlICJKU01lc3NhZ2VQb3J0LmgiCkBAIC0yMDAzLDcg
KzIwMDQsNyBAQCBwcml2YXRlOgogICAgICAgICApCiAgICAgICAgIDogQ2xvbmVCYXNlKGxleGlj
YWxHbG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQot
ICAgICAgICAsIG1faXNET01HbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0RP
TUdsb2JhbE9iamVjdD4oZ2xvYmFsT2JqZWN0LT52bSgpKSkKKyAgICAgICAgLCBtX2lzSlNJREJT
ZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJTZXJp
YWxpemF0aW9uR2xvYmFsT2JqZWN0PihnbG9iYWxPYmplY3QtPnZtKCkpKQogICAgICAgICAsIG1f
cHRyKGJ1ZmZlci5kYXRhKCkpCiAgICAgICAgICwgbV9lbmQoYnVmZmVyLmRhdGEoKSArIGJ1ZmZl
ci5zaXplKCkpCiAgICAgICAgICwgbV92ZXJzaW9uKDB4RkZGRkZGRkYpCkBAIC0yMDM0LDcgKzIw
MzUsNyBAQCBwcml2YXRlOgogICAgICAgICApCiAgICAgICAgIDogQ2xvbmVCYXNlKGxleGljYWxH
bG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQotICAg
ICAgICAsIG1faXNET01HbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0RPTUds
b2JhbE9iamVjdD4oZ2xvYmFsT2JqZWN0LT52bSgpKSkKKyAgICAgICAgLCBtX2lzSlNJREJTZXJp
YWxpemF0aW9uR2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+aW5oZXJpdHM8SlNJREJTZXJpYWxp
emF0aW9uR2xvYmFsT2JqZWN0PihnbG9iYWxPYmplY3QtPnZtKCkpKQogICAgICAgICAsIG1fcHRy
KGJ1ZmZlci5kYXRhKCkpCiAgICAgICAgICwgbV9lbmQoYnVmZmVyLmRhdGEoKSArIGJ1ZmZlci5z
aXplKCkpCiAgICAgICAgICwgbV92ZXJzaW9uKDB4RkZGRkZGRkYpCkBAIC0yMjkwLDggKzIyOTEs
MTAgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKGZpbGVQYXRoLmlzRW1wdHkoKSkKICAgICAgICAg
ICAgIGZpbGVQYXRoID0gcGF0aC0+c3RyaW5nKCk7CiAKLSAgICAgICAgaWYgKG1faXNET01HbG9i
YWxPYmplY3QpCi0gICAgICAgICAgICBmaWxlID0gRmlsZTo6ZGVzZXJpYWxpemUoZmlsZVBhdGgs
IFVSTChVUkwoKSwgdXJsLT5zdHJpbmcoKSksIHR5cGUtPnN0cmluZygpLCBuYW1lLT5zdHJpbmco
KSwgb3B0aW9uYWxMYXN0TW9kaWZpZWQpOworICAgICAgICBpZiAobV9pc0pTSURCU2VyaWFsaXph
dGlvbkdsb2JhbE9iamVjdCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGZp
bGUgPSBGaWxlOjpkZXNlcmlhbGl6ZShmaWxlUGF0aCwgVVJMKFVSTCgpLCB1cmwtPnN0cmluZygp
KSwgdHlwZS0+c3RyaW5nKCksIG5hbWUtPnN0cmluZygpLCBvcHRpb25hbExhc3RNb2RpZmllZCk7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMjk0NSw3ICsyOTQ4LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgIGZpbmdlcnByaW50cy51bmNoZWNrZWRBcHBlbmQoUlRDQ2VydGlm
aWNhdGU6OkR0bHNGaW5nZXJwcmludCB7IGFsZ29yaXRobS0+c3RyaW5nKCksIHZhbHVlLT5zdHJp
bmcoKSB9KTsKICAgICAgICAgfQogCi0gICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkK
KyAgICAgICAgaWYgKG1faXNKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3QpCiAgICAgICAg
ICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QobV9sZXhpY2FsR2xvYmFsT2JqZWN0LCBt
X2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpOwogCiAgICAgICAgIGF1dG8gcnRjQ2Vy
dGlmaWNhdGUgPSBSVENDZXJ0aWZpY2F0ZTo6Y3JlYXRlKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVG
cm9tU3RyaW5nKG9yaWdpbi0+c3RyaW5nKCkpLCBleHBpcmVzLCBXVEZNb3ZlKGZpbmdlcnByaW50
cyksIGNlcnRpZmljYXRlLT50YWtlU3RyaW5nKCksIGtleWVkTWF0ZXJpYWwtPnRha2VTdHJpbmco
KSk7CkBAIC0zMTU0LDI3ICszMTU3LDI3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4g
RGF0ZUluc3RhbmNlOjpjcmVhdGUobV9sZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpLCBtX2dsb2Jh
bE9iamVjdC0+ZGF0ZVN0cnVjdHVyZSgpLCBkKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZp
bGVUYWc6IHsKKyAgICAgICAgICAgIGlmIChtX2lzSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2Jq
ZWN0KQorICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAgICAgICAgICAgIFJlZlB0
cjxGaWxlPiBmaWxlOwogICAgICAgICAgICAgaWYgKCFyZWFkRmlsZShmaWxlKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFs
T2JqZWN0KQotICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAgICAgICAgICAgIHJl
dHVybiB0b0pTKG1fbGV4aWNhbEdsb2JhbE9iamVjdCwganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0
Kj4obV9nbG9iYWxPYmplY3QpLCBmaWxlLmdldCgpKTsKICAgICAgICAgfQogICAgICAgICBjYXNl
IEZpbGVMaXN0VGFnOiB7CiAgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwogICAgICAg
ICAgICAgaWYgKCFyZWFkKGxlbmd0aCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUo
KTsKKyAgICAgICAgICAgIGlmIChtX2lzSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0KQor
ICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICAgICAgICAgIEFTU0VSVChtX2ds
b2JhbE9iamVjdC0+aW5oZXJpdHM8SlNET01HbG9iYWxPYmplY3Q+KG1fZ2xvYmFsT2JqZWN0LT52
bSgpKSk7CiAgICAgICAgICAgICBWZWN0b3I8UmVmPEZpbGU+PiBmaWxlczsKICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAg
IFJlZlB0cjxGaWxlPiBmaWxlOwogICAgICAgICAgICAgICAgIGlmICghcmVhZEZpbGUoZmlsZSkp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAg
aWYgKG1faXNET01HbG9iYWxPYmplY3QpCi0gICAgICAgICAgICAgICAgICAgIGZpbGVzLmFwcGVu
ZChmaWxlLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAgICAgICAgICAgIGZpbGVzLmFwcGVuZChm
aWxlLnJlbGVhc2VOb25OdWxsKCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFt
X2lzRE9NR2xvYmFsT2JqZWN0KQotICAgICAgICAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAg
ICAgICAgICAgIHJldHVybiBnZXRKU1ZhbHVlKEZpbGVMaXN0OjpjcmVhdGUoV1RGTW92ZShmaWxl
cykpLmdldCgpKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEltYWdlRGF0YVRhZzogewpAQCAt
MzE5MSw3ICszMTk0LDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBmYWlsKCk7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkgeworICAgICAgICAgICAgaWYgKCFtX2dsb2JhbE9i
amVjdC0+aW5oZXJpdHM8SlNET01HbG9iYWxPYmplY3Q+KG1fZ2xvYmFsT2JqZWN0LT52bSgpKSkg
eworICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAg
IG1fcHRyICs9IGxlbmd0aDsKICAgICAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAg
ICAgICAgICB9CkBAIC0zMjE5LDcgKzMyMjMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBsb25nIHNpemUgPSAwOwogICAgICAgICAgICAgaWYgKCFyZWFkKHNpemUpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICBpZiAoIW1faXNE
T01HbG9iYWxPYmplY3QpCisgICAgICAgICAgICBpZiAobV9pc0pTSURCU2VyaWFsaXphdGlvbkds
b2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgICAg
ICByZXR1cm4gZ2V0SlNWYWx1ZShCbG9iOjpkZXNlcmlhbGl6ZShVUkwoVVJMKCksIHVybC0+c3Ry
aW5nKCkpLCB0eXBlLT5zdHJpbmcoKSwgc2l6ZSwgYmxvYkZpbGVQYXRoRm9yQmxvYlVSTCh1cmwt
PnN0cmluZygpKSkuZ2V0KCkpOwogICAgICAgICB9CkBAIC0zNDEyLDcgKzM0MTYsNyBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKLSAgICBi
b29sIG1faXNET01HbG9iYWxPYmplY3Q7CisgICAgYm9vbCBtX2lzSlNJREJTZXJpYWxpemF0aW9u
R2xvYmFsT2JqZWN0OwogICAgIGNvbnN0IHVpbnQ4X3QqIG1fcHRyOwogICAgIGNvbnN0IHVpbnQ4
X3QqIG1fZW5kOwogICAgIHVuc2lnbmVkIG1fdmVyc2lvbjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YjMwOGRhZjBiODI3
NGQ4NzhlYzRjOThmMDg3NDljYmFkODVkNTNhLi40YWYzN2UyMjYyNTJlNjRjMDhlNWQ2YWVjNjAz
YmM5MzY2OGQ4MTA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDctMjAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNjQ0ODYpOiBB
U1NFUlRJT04gRkFJTEVEOiBBU1NFUlRfTk9UX1JFQUNIRUQoKSBpbiBOZXR3b3JrUHJvY2Vzc1Bs
YXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlQmxvYlJlZ2lzdHJ5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0MjUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgc3RvcmFnZS9pbmRleGVkZGIvc3Ry
dWN0dXJlZC1jbG9uZS1wcml2YXRlLmh0bWwgYXMgYmxvYiBpcyBub3Qgc3VwcG9ydGVkIGluIElE
QiBmb3IgcHJpdmF0ZSBicm93c2luZy4gCisgICAgICAgIEFsc28gc3RvcmFnZS9pbmRleGVkZGIv
c3RydWN0dXJlZC1jbG9uZS5odG1sIGFscmVhZHkgY292ZXJzIHRoZSBjb2RlIHBhdGhzIGZvciBz
dHJ1Y3R1cmVkIGNsb25lIGluIElEQi4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3N0cnVjdHVyZWQtY2xvbmUuanM6CisgICAgICAg
ICh0ZXN0RmlsZSk6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9u
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1j
bG9uZS1wcml2YXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbDogUmVtb3ZlZC4KKwogMjAyMC0w
Ny0yMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjQ1OTYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWZjYTQ0NDMzNDQ5YjMwYzgzMjM0OGZmZTE1
Y2I4YzFhMWY5MWIzNy4uYmJlY2UwMTFlNTg0MWI1OGMyZGM3OTNjZDJkN2IwYTRkODUzYzdlOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
OTgzLDkgKzk4Myw2IEBAIHdlYmtpdC5vcmcvYi8yMTQzMDggaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9hY2Nlc3MtY29udHJvbC1iYXNpYy1hbGxvdy1wcmVmbGlnCiAKIHdlYmtpdC5vcmcvYi8y
MTQzODggWyBNb2phdmUgXSBjb21wb3NpdGluZy9yZXBhaW50L2lmcmFtZXMvY29tcG9zaXRlZC1p
ZnJhbWUtd2l0aC1maXhlZC1iYWNrZ3JvdW5kLWRvYy1yZXBhaW50Lmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdlL2luZGV4ZWRkYi9z
dHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIxNDQ3
OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sIFsgU2tp
cCBdCi0KIHdlYmtpdC5vcmcvYi8yMTQ0NjkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW9wYWNpdHktcGF1c2UtYW5kLXNldC10aW1l
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NjkgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLXRyYW5z
Zm9ybS1wYXVzZS1hbmQtc2V0LXRpbWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzIxNDQ2OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtb3Zl
cmZsb3cvb3ZlcmZsb3ctZWxsaXBzaXMtZHluYW1pYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDJhYzFjN2UwOWFmYzM5OTY1ZjlmYTYwZDlhZWNlNTgzOTMyODY2NTMuLjgxNGRiMTRlNWVl
ZDA2MWZjNTc3ZTVhZjYwNWNhYWU3MTA3M2E2NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwNzIsMTAgKzEwNzIsNiBAQCB3ZWJraXQu
b3JnL2IvMjE0NDc4IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnJ0Yy9SVENDZXJ0aWZpYwogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tZ2VuZXJhdGVD
ZXJ0aWZpY2F0ZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENTY3RwVHJhbnNwb3J0LWNv
bnN0cnVjdG9yLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL2lkbGhhcm5lc3MuaHR0cHMud2lu
ZG93Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9ibG9iLXNpbXBsZS13b3JrZXJzLmh0bWwgWyBTa2lwIF0KLXdlYmtp
dC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9ibG9iLXNp
bXBsZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdl
L2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQotd2Via2l0
Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9u
ZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSB0aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1zZWxlY3QuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gd2VicnRjL2NlcnRpZmljYXRlcy1p
bmRleGVkZGIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gd2Vi
cnRjL2gyNjUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBkYjllZmExNzYwNzE4OGMyYjdlNDE4ODNmZjEwZjlmZDUwNDk5MTQ0Li5h
ZGI3NTdiNDYzYjZjY2ZjZTAxNmZmOTBlYmQ0OTZiNDA1OGEyNzA4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDUyNSw0ICs0NTI1LDMgQEAgd2Via2l0
Lm9yZy9iLzIxNDA4OCB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWFuaW1hdGlvbi1zaW5nbGUt
a2V5ZnJhbWUuaHRtbCBbIFMKIHdlYmtpdC5vcmcvYi8yMTQ0MjggaW1wb3J0ZWQvbW96aWxsYS9z
dmcvYmxlbmQtc2F0dXJhdGlvbi5zdmcgWyBGYWlsdXJlIF0KIAogc3RvcmFnZS9pbmRleGVkZGIv
c3RydWN0dXJlZC1jbG9uZS5odG1sIFsgU2tpcCBdCi1zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1
cmVkLWNsb25lLXByaXZhdGUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3N0cnVjdHVyZWQtY2xvbmUuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcwppbmRl
eCBiMGFjZGU4ZDc5MGUxYTZjZmI5NTNhOGJkMjBiMmIyMWRkNDBiNWVlLi43NzRjNWNmNDcxODcw
NThkZGE1MjY0NTZkM2NhYmUyNzJjZWI1ZjQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcworKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcwpAQCAt
MywxNyArMyw3IEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKICAgICBpbXBvcnRTY3JpcHRz
KCdzaGFyZWQuanMnKTsKIH0KIAotZGVzY3JpcHRpb24oIlRlc3Qgc3RydWN0dXJlZCBjbG9uZSBw
ZXJtdXRhdGlvbnMgaW4gSW5kZXhlZERCLiBGaWxlL0ZpbGVMaXN0IHRlc3RzIHJlcXVpcmUgRHVt
cFJlbmRlclRyZWUuIik7Ci0KLWlmIChzZWxmLmV2ZW50U2VuZGVyICYmIGV2ZW50U2VuZGVyLmJl
Z2luRHJhZ1dpdGhGaWxlcykgewotICAgIHZhciBmaWxlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZmlsZUlucHV0Iik7Ci0gICAgdmFyIGZpbGVSZWN0ID0gZmlsZUlucHV0LmdldENs
aWVudFJlY3RzKClbMF07Ci0gICAgdmFyIHRhcmdldFggPSBmaWxlUmVjdC5sZWZ0ICsgZmlsZVJl
Y3Qud2lkdGggLyAyOwotICAgIHZhciB0YXJnZXRZID0gZmlsZVJlY3QudG9wICsgZmlsZVJlY3Qu
aGVpZ2h0IC8gMjsKLSAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMoWydyZXNvdXJj
ZXMvdGVzdC1kYXRhLmh0bWwnLCAncmVzb3VyY2VzL3Rlc3QtZGF0YS50eHQnXSk7Ci0gICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0WCwgdGFyZ2V0WSk7Ci0gICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOwotfQorZGVzY3JpcHRpb24oIlRlc3Qgc3RydWN0dXJlZCBjbG9uZSBwZXJtdXRh
dGlvbnMgaW4gSW5kZXhlZERCLiIpOwogCiBpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFzZSwg
c3RhcnRUZXN0cyk7CiBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQpAQCAtMzg1LDEyICszNzUs
NiBAQCBmdW5jdGlvbiBjb21wYXJlQmxvYnMoYmxvYjEsIGJsb2IyLCBjYWxsYmFjaykKIGZ1bmN0
aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0aW5nIEJsb2IiKTsKLQot
ICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0
NDI1Ci0gICAgZGVidWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxsYmFjaygpOwotICAgIHJl
dHVybjsKLQogICAgIHNob3VsZEJlVHJ1ZSgiRmlsZVJlYWRlciAhPSBudWxsIik7CiAgICAgZXZh
bEFuZExvZygidGVzdF9jb250ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0
ZXN0LiciKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBuZXcgQmxvYihbdGVzdF9jb250
ZW50XSkiKTsKQEAgLTQxMSwxMSArMzk1LDYgQEAgZnVuY3Rpb24gY29tcGFyZUZpbGVzKGZpbGUx
LCBmaWxlMiwgY2FsbGJhY2spCiAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMSAhPT0gZmlsZTIiKTsK
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChmaWxlMSkiLCAiW29iamVjdCBGaWxlXSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSIsICJbb2JqZWN0IEZpbGVdIik7
Ci0gICAgZGVidWcoImZpbGUxLnNpemU6ICIgKyBmaWxlMS5zaXplKTsKLSAgICBzaG91bGRCZSgi
ZmlsZTEuc2l6ZSIsICJmaWxlMi5zaXplIik7Ci0gICAgZGVidWcoImZpbGUxLnR5cGU6ICIgKyBm
aWxlMS50eXBlKTsKLSAgICBzaG91bGRCZSgiZmlsZTEudHlwZSIsICJmaWxlMi50eXBlIik7Ci0g
ICAgZGVidWcoImZpbGUxLm5hbWU6ICIgKyBmaWxlMS5uYW1lKTsKICAgICBzaG91bGRCZSgiZmls
ZTEubmFtZSIsICJmaWxlMi5uYW1lIik7CiAgICAgc2hvdWxkQmUoIlN0cmluZyhmaWxlMS5sYXN0
TW9kaWZpZWREYXRlKSIsICJTdHJpbmcoZmlsZTIubGFzdE1vZGlmaWVkRGF0ZSkiKTsKICAgICBp
ZiAoY2FsbGJhY2spIHsKQEAgLTQyNiwxNSArNDA1LDkgQEAgZnVuY3Rpb24gY29tcGFyZUZpbGVz
KGZpbGUxLCBmaWxlMiwgY2FsbGJhY2spCiBmdW5jdGlvbiB0ZXN0RmlsZShjYWxsYmFjaykKIHsK
ICAgICBkZWJ1ZygiVGVzdGluZyBGaWxlIik7Ci0KLSAgICAvLyBGSVhNRTogZXZlbnRTZW5kZXIu
YmVnaW5EcmFnV2l0aEZpbGVzIGlzIG5vdCBzdXBwb3J0ZWQuCi0gICAgZGVidWcoIlNraXBwaW5n
IHRlc3QiKTsKLSAgICBjYWxsYmFjaygpOwotICAgIHJldHVybjsKLQotICAgIGV2YWxBbmRMb2co
InRlc3RfY29udGVudCA9IGZpbGVJbnB1dC5maWxlc1swXSIpOwotCi0gICAgc2VsZi50ZXN0X2Rh
dGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgZXZhbEFuZExvZygidGVzdF9jb250ZW50ID0gJ1RoaXMg
aXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0ZXN0LiciKTsKKyAgICBldmFsQW5kTG9nKCJibG9i
ID0gbmV3IEJsb2IoW3Rlc3RfY29udGVudF0pIik7CisgICAgZXZhbEFuZExvZygidGVzdF9kYXRh
ID0gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZU5hbWUnKSIpOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2Rh
dGEsIGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAg
ICAgICAgY29tcGFyZUZpbGVzKHJlc3VsdCwgdGVzdF9kYXRhLCBjYWxsYmFjayk7CkBAIC00NDUs
MTUgKzQxOCw3IEBAIGZ1bmN0aW9uIHRlc3RGaWxlKGNhbGxiYWNrKQogZnVuY3Rpb24gdGVzdEZp
bGVMaXN0KGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0aW5nIEZpbGVMaXN0Iik7Ci0KLSAg
ICAvLyBGSVhNRTogZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzIGlzIG5vdCBzdXBwb3J0
ZWQuCi0gICAgZGVidWcoIlNraXBwaW5nIHRlc3QiKTsKLSAgICBjYWxsYmFjaygpOwotICAgIHJl
dHVybjsKLQotICAgIGV2YWxBbmRMb2coInRlc3RfY29udGVudCA9IGZpbGVJbnB1dC5maWxlcyIp
OwotCi0gICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgZXZhbEFuZExvZygi
dGVzdF9kYXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJbnB1dCcpLmZpbGVzOyIp
OwogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICBz
ZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09
IHJlc3VsdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3Ry
dWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAppbmRleCA4Njk2MGVhMTY0YTgyZjRkYTg1
MGM0MDM2MzI3NWFiOTAwZGUxY2IzLi5kMTFjODc2NDkwNTdmNTQ0ZWU3N2E1OTRlY2FhNzZjM2Y4
ODkxYWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1
cmVkLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLVRlc3Qgc3Ry
dWN0dXJlZCBjbG9uZSBwZXJtdXRhdGlvbnMgaW4gSW5kZXhlZERCLiBGaWxlL0ZpbGVMaXN0IHRl
c3RzIHJlcXVpcmUgRHVtcFJlbmRlclRyZWUuCitUZXN0IHN0cnVjdHVyZWQgY2xvbmUgcGVybXV0
YXRpb25zIGluIEluZGV4ZWREQi4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCkBAIC01
OTksMTMgKzU5OSw0MyBAQCBQQVNTIHJlc3VsdC5kYXRhLmxlbmd0aCBpcyB0ZXN0X2RhdGEuZGF0
YS5sZW5ndGgKIFBBU1MgcmVzdWx0IGRhdGEgbWF0Y2hlcwogCiBUZXN0aW5nIEJsb2IKLVNraXBw
aW5nIHRlc3QKK1BBU1MgRmlsZVJlYWRlciAhPSBudWxsIGlzIHRydWUKK3Rlc3RfY29udGVudCA9
ICdUaGlzIGlzIGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdC4nCit0ZXN0X2RhdGEgPSBuZXcg
QmxvYihbdGVzdF9jb250ZW50XSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQorc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKK3N0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCitzdG9yZS5nZXQoJ2tleScpCitQQVNT
IHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKK1BBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgQmxvYl0iCitQQVNTIHJlc3VsdC5zaXplIGlz
IHRlc3RfZGF0YS5zaXplCitQQVNTIHJlc3VsdC50eXBlIGlzIHRlc3RfZGF0YS50eXBlCitQQVNT
IHRleHQgaXMgIlRoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0ZXN0LiIKIAogVGVzdGlu
ZyBGaWxlCi1Ta2lwcGluZyB0ZXN0Cit0ZXN0X2NvbnRlbnQgPSAnVGhpcyBpcyBhIHRlc3QuIFRo
aXMgaXMgb25seSBhIHRlc3QuJworYmxvYiA9IG5ldyBCbG9iKFt0ZXN0X2NvbnRlbnRdKQordGVz
dF9kYXRhID0gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZU5hbWUnKQordHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCitzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQorc3RvcmUucHV0KHZhbHVlLCAna2V5JykKK3N0b3Jl
LmdldCgna2V5JykKK1BBU1MgZmlsZTEgIT09IGZpbGUyIGlzIHRydWUKK1BBU1MgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUxKSBpcyAiW29iamVjdCBGaWxlXSIKK1BBU1MgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSBpcyAiW29iamVjdCBGaWxlXSIKK1BB
U1MgZmlsZTEubmFtZSBpcyBmaWxlMi5uYW1lCitQQVNTIFN0cmluZyhmaWxlMS5sYXN0TW9kaWZp
ZWREYXRlKSBpcyBTdHJpbmcoZmlsZTIubGFzdE1vZGlmaWVkRGF0ZSkKK1BBU1MgdGV4dDIgaXMg
IlRoaXMgaXMgYSB0ZXN0LiBUaGlzIGlzIG9ubHkgYSB0ZXN0LiIKIAogVGVzdGluZyBGaWxlTGlz
dAotU2tpcHBpbmcgdGVzdAordGVzdF9kYXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zp
bGVJbnB1dCcpLmZpbGVzOwordHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCitzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQorc3RvcmUucHV0KHZhbHVlLCAna2V5JykKK3N0b3JlLmdldCgna2V5JykKK1BBU1MgdGVz
dF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQorUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBGaWxlTGlzdF0iCitQQVNTIHJlc3VsdC5sZW5ndGgg
aXMgdGVzdF9kYXRhLmxlbmd0aAogCiBUZXN0aW5nIE9iamVjdAogdGVzdF9kYXRhID0gW10KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUt
cHJpdmF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1
Y3R1cmVkLWNsb25lLXByaXZhdGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4Njk2MGVhMTY0YTgyZjRkYTg1MGM0MDM2MzI3NWFiOTAwZGUxY2IzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw5MzUgKzAsMCBAQAotVGVzdCBzdHJ1Y3R1cmVkIGNsb25lIHBlcm11dGF0
aW9ucyBpbiBJbmRleGVkREIuIEZpbGUvRmlsZUxpc3QgdGVzdHMgcmVxdWlyZSBEdW1wUmVuZGVy
VHJlZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYu
aW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8
IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1pbmRleGVkREIuZGVsZXRl
RGF0YWJhc2UoZGJuYW1lKQotaW5kZXhlZERCLm9wZW4oZGJuYW1lKQotc3RvcmUgPSBkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLVRoaXMgaW5kZXggaXMgbm90IHVzZWQsIGJ1dCBl
dmFsdWF0aW5nIGtleSBwYXRoIG9uIGVhY2ggcHV0KCkgY2FsbCB3aWxsIGV4ZXJjaXNlIChkZSlz
ZXJpYWxpemF0aW9uOgotc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICdkdW1teUtleVBh
dGgnKQotCi1SdW5uaW5nIHRlc3RzLi4uCi0KLVRlc3Rpbmc6IHVuZGVmaW5lZAotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUK
LQotVGVzdGluZzogbnVsbAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXMo
dGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLQotVGVzdGluZyBib29sZWFuIHByaW1pdGl2ZXMK
LVRlc3Rpbmc6IHRydWUKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRl
c3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiBmYWxzZQotdHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0
b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLQotVGVz
dGluZyBudW1iZXIgcHJpbWl0aXZlcwotVGVzdGluZzogTmFOCi10cmFuc2FjdGlvbiA9IGRiLnRy
YW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUu
Z2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzog
LUluZmluaXR5Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVh
ZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1z
dG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2Rh
dGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogLU51bWJlci5NQVhfVkFMVUUKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVl
Ci1UZXN0aW5nOiAtMHhmZmZmZmZmZgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC0weDgwMDAwMDAwCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkg
aXMgdHJ1ZQotVGVzdGluZzogLTB4N2ZmZmZmZmYKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tl
eScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAtMQotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlz
IHRydWUKLVRlc3Rpbmc6IC1OdW1iZXIuTUlOX1ZBTFVFCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogLTAK
LXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQot
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2
YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0
KSBpcyB0cnVlCi1UZXN0aW5nOiAwCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFT
UyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogMQotdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
LXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRl
c3Rpbmc6IE51bWJlci5NSU5fVkFMVUUKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAweDdmZmZmZmZmCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkg
aXMgdHJ1ZQotVGVzdGluZzogMHg4MDAwMDAwMAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IDB4ZmZmZmZm
ZmYKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVz
dWx0KSBpcyB0cnVlCi1UZXN0aW5nOiBOdW1iZXIuTUFYX1ZBTFVFCi10cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGlu
ZzogSW5maW5pdHkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdy
ZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykK
LXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3Rf
ZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3Rpbmcgc3RyaW5nIHByaW1pdGl2ZXMKLVRlc3Rp
bmc6ICcnCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEs
IHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogJ3RoaXMgaXMgYSBzYW1wbGUgc3RyaW5nJwotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlz
IHRydWUKLVRlc3Rpbmc6ICdudWxsKFwwKScKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3RpbmcgQmlnSW50IHBy
aW1pdGl2ZXMKLVRlc3Rpbmc6IC0xMjM0NTY3ODkwMTIzNDU2Nzg5MG4KLXRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1z
dG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0
aW5nOiAtMW4KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0
YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAwbgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgn
a2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IDFuCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkg
aXMgdHJ1ZQotVGVzdGluZzogMTIzNDU2Nzg5MDEyMzQ1Njc4OTBuCi10cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotCi1UZXN0
aW5nIEJvb2xlYW4gb2JqZWN0cwotVGVzdGluZzogbmV3IEJvb2xlYW4odHJ1ZSkKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQg
aXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQot
UEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1U
ZXN0aW5nOiBuZXcgQm9vbGVhbihmYWxzZSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRl
c3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQu
dG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFs
dWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi0KLVRlc3RpbmcgTnVtYmVyIG9iamVj
dHMKLVRlc3Rpbmc6IG5ldyBOdW1iZXIoTmFOKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
dGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3Vs
dC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52
YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBOdW1iZXIo
LUluZmluaXR5KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3Jl
YWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQot
c3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJl
c3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVz
dWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0
ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRl
c3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52
YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBOdW1iZXIoLU51bWJlci5NQVhfVkFMVUUp
Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykK
LXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQo
dmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJv
YmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAh
PT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRv
U3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkg
aXMgdHJ1ZQotVGVzdGluZzogbmV3IE51bWJlcigtTnVtYmVyLk1JTl9WQUxVRSkKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQg
aXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQot
UEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1U
ZXN0aW5nOiBuZXcgTnVtYmVyKC0wKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9k
YXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0
cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9m
KCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBOdW1iZXIoMCkKLXRy
YW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1
ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVj
dCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSBy
ZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJp
bmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0
cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRy
dWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1Mg
aXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGlu
ZzogbmV3IE51bWJlcihOdW1iZXIuTUFYX1ZBTFVFKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgn
a2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJl
c3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0
YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBOdW1i
ZXIoSW5maW5pdHkpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAn
cmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
Ci1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2Yg
cmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChy
ZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNT
IHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMg
dGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0
LnZhbHVlT2YoKSkgaXMgdHJ1ZQotCi1UZXN0aW5nIFN0cmluZyBvYmplY3RzCi1UZXN0aW5nOiBu
ZXcgU3RyaW5nKCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdy
ZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykK
LXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiBy
ZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJl
c3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1Mg
dGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0
ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQu
dmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgU3RyaW5nKCd0aGlzIGlzIGEgc2FtcGxl
IHN0cmluZycpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVh
ZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1z
dG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVz
dWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1
bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRl
c3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVz
dF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZh
bHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IFN0cmluZygnbnVsbChcMCknKQotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0Igot
UEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3Vs
dCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygp
Ci1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUK
LQotVGVzdGluZyBCaWdJbnQgb2JqZWN0cwotVGVzdGluZyBCaWdJbnQgb2JqZWN0OiBCaWdJbnQo
LTEyMzQ1Njc4OTAxMjM0NTY3ODkwKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgdHlwZW9mIHJlc3VsdCBpcyAiYmlnaW50IgotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBp
cyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBCaWdJbnQgb2JqZWN0OiBCaWdJbnQoLTEpCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJiaWdp
bnQiCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0
aW5nIEJpZ0ludCBvYmplY3Q6IEJpZ0ludCgwKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAiYmlnaW50IgotUEFTUyB0ZXN0X2RhdGEudG9TdHJp
bmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBCaWdJbnQgb2JqZWN0OiBCaWdJbnQo
MSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMg
ImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkK
LVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50KC0wKQotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAiYmlnaW50IgotUEFTUyB0ZXN0X2RhdGEu
dG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBCaWdJbnQgb2JqZWN0OiBC
aWdJbnQoJzB4MWZmZmZmZmZmZmZmZmYnKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykK
LVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAiYmlnaW50IgotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmco
KSBpcyByZXN1bHQudG9TdHJpbmcoKQotCi1UZXN0aW5nIERhdGUgb2JqZWN0cwotVGVzdGluZzog
bmV3IERhdGUoLTFlMTMpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBl
b2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1Q
QVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkg
aXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVz
dWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERhdGUoLTFlMTIpCi10cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdr
ZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1Q
QVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0
IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkK
LVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQot
VGVzdGluZzogbmV3IERhdGUoLTFlOSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9T
dHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVP
ZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgtMWU2KQot
dHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1z
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZh
bHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2Jq
ZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09
IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0
cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlz
IHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKC0xZTMpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdr
ZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVz
dWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRh
LnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERhdGUo
MCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMg
Im9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRh
ICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEu
dG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigp
KSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgxZTMpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1Mg
cmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9k
YXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERh
dGUoMWU2KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3
cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3Rv
cmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3Vs
dCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0
KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0
X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3Rf
ZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1
ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKDFlOSkKLXRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9y
ZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQot
UEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0
ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBu
ZXcgRGF0ZSgxZTEyKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywg
J3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUn
KQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9m
IHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
cmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFT
UyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlz
IHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3Vs
dC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKDFlMTMpCi10cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXkn
KQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlz
IHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBB
U1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotCi1U
ZXN0aW5nIFJlZ0V4cCBvYmplY3RzCi1UZXN0aW5nIFJlZ0V4cDogbmV3IFJlZ0V4cCgpCi10cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUs
ICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0
cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2Jq
ZWN0IFJlZ0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmlu
ZygpCi0KLVRlc3RpbmcgUmVnRXhwOiAvYWJjLwotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBSZWdFeHBdIgotUEFTUyByZXN1
bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotCi1UZXN0aW5nIFJlZ0V4cDog
L2FiYy9nCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09
IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1
bHQpIGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3Rf
ZGF0YS50b1N0cmluZygpCi0KLVRlc3RpbmcgUmVnRXhwOiAvYWJjL2kKLXRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1z
dG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1Mg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhw
XSIKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVz
dGluZyBSZWdFeHA6IC9hYmMvZ2kKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRvU3Ry
aW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6IC9hYmMvbQot
dHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1z
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZh
bHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQg
aXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAi
W29iamVjdCBSZWdFeHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9T
dHJpbmcoKQotCi1UZXN0aW5nIFJlZ0V4cDogL2FiYy9tZwotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBSZWdFeHBdIgotUEFT
UyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotCi1UZXN0aW5nIFJl
Z0V4cDogL2FiYy9taQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywg
J3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUn
KQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9k
YXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwocmVzdWx0KSBpcyAiW29iamVjdCBSZWdFeHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBp
cyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotCi1UZXN0aW5nIFJlZ0V4cDogL2FiYy9tZ2kKLXRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwg
J2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRy
dWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmpl
Y3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5n
KCkKLQotCi1UZXN0aW5nIEltYWdlRGF0YQotY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnY2FudmFzJykKLWNhbnZhcy53aWR0aCA9IDgKLWNhbnZhcy5oZWlnaHQgPSA4Ci10ZXN0X2Rh
dGEgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKS5nZXRJbWFnZURhdGEoMCwgMCwgOCwgOCkKLXRy
YW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1
ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlz
IHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltv
YmplY3QgSW1hZ2VEYXRhXSIKLVBBU1MgcmVzdWx0LndpZHRoIGlzIHRlc3RfZGF0YS53aWR0aAot
UEFTUyByZXN1bHQuaGVpZ2h0IGlzIHRlc3RfZGF0YS5oZWlnaHQKLVBBU1MgcmVzdWx0LmRhdGEu
bGVuZ3RoIGlzIHRlc3RfZGF0YS5kYXRhLmxlbmd0aAotUEFTUyByZXN1bHQgZGF0YSBtYXRjaGVz
Ci0KLVRlc3RpbmcgQmxvYgotU2tpcHBpbmcgdGVzdAotCi1UZXN0aW5nIEZpbGUKLVNraXBwaW5n
IHRlc3QKLQotVGVzdGluZyBGaWxlTGlzdAotU2tpcHBpbmcgdGVzdAotCi1UZXN0aW5nIE9iamVj
dAotdGVzdF9kYXRhID0gW10KLXRlc3RfZGF0YVswXSA9ICdmb28nCi10ZXN0X2RhdGFbMV0gPSAn
YmFyJwotdGVzdF9kYXRhWydhJ10gPSB0cnVlCi10ZXN0X2RhdGFbJ2InXSA9IGZhbHNlCi10ZXN0
X2RhdGFbJ2ZvbyddID0gMTIzCi10ZXN0X2RhdGFbJ2JhciddID0gNDU2Ci10ZXN0X2RhdGFbJydd
ID0gbnVsbAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3
cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3Rv
cmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9
PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUoT2JqZWN0LmtleXMocmVzdWx0KS5z
b3J0KCksIE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuc29ydCgpKSBpcyB0cnVlCi1QQVNTIHRlc3Rf
ZGF0YVsiMCJdIGlzIHJlc3VsdFsiMCJdCi1QQVNTIHRlc3RfZGF0YVsiMSJdIGlzIHJlc3VsdFsi
MSJdCi1QQVNTIHRlc3RfZGF0YVsiYSJdIGlzIHJlc3VsdFsiYSJdCi1QQVNTIHRlc3RfZGF0YVsi
YiJdIGlzIHJlc3VsdFsiYiJdCi1QQVNTIHRlc3RfZGF0YVsiZm9vIl0gaXMgcmVzdWx0WyJmb28i
XQotUEFTUyB0ZXN0X2RhdGFbImJhciJdIGlzIHJlc3VsdFsiYmFyIl0KLVBBU1MgdGVzdF9kYXRh
WyIiXSBpcyByZXN1bHRbIiJdCi0KLVRlc3RpbmcgQXJyYXkKLXRlc3RfZGF0YSA9IFtdCi10ZXN0
X2RhdGFbMF0gPSAnZm9vJwotdGVzdF9kYXRhWzFdID0gJ2JhcicKLXRlc3RfZGF0YVsxMF0gPSB0
cnVlCi10ZXN0X2RhdGFbMTFdID0gZmFsc2UKLXRlc3RfZGF0YVsyMF0gPSAxMjMKLXRlc3RfZGF0
YVsyMV0gPSA0NTYKLXRlc3RfZGF0YVszMF0gPSBudWxsCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHRlc3RfZGF0
YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyB0ZXN0X2RhdGFbMF0gaXMg
cmVzdWx0WzBdCi1QQVNTIHRlc3RfZGF0YVsxXSBpcyByZXN1bHRbMV0KLVBBU1MgdGVzdF9kYXRh
WzEwXSBpcyByZXN1bHRbMTBdCi1QQVNTIHRlc3RfZGF0YVsxMV0gaXMgcmVzdWx0WzExXQotUEFT
UyB0ZXN0X2RhdGFbMjBdIGlzIHJlc3VsdFsyMF0KLVBBU1MgdGVzdF9kYXRhWzIxXSBpcyByZXN1
bHRbMjFdCi1QQVNTIHRlc3RfZGF0YVszMF0gaXMgcmVzdWx0WzMwXQotCi1UZXN0aW5nIFR5cGVk
QXJyYXkKLXZhbHVlID0gbmV3IFVpbnQ4QXJyYXkoW10pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5n
dGggaXMgdHJ1ZQotdmFsdWUgPSBuZXcgVWludDhBcnJheShbMCwgMSwgMjU0LCAyNTVdKQotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMg
dHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVu
Z3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1
bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUK
LVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9k
YXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IFVpbnQxNkFycmF5KFsweDAw
MDAsIDB4MDAwMSwgMHhGRkZFLCAweEZGRkZdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlz
IHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXMo
dGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCBy
ZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRy
dWUKLXZhbHVlID0gbmV3IFVpbnQzMkFycmF5KFsweDAwMDAwMDAwLCAweDAwMDAwMDAxLCAweEZG
RkZGRkZFLCAweEZGRkZGRkZGXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1Q
QVNTIGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0
YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJd
KSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1
ZSA9IG5ldyBJbnQ4QXJyYXkoWzAsIDEsIDI1NCwgMjU1XSkKLXRyYW5zYWN0aW9uID0gZGIudHJh
bnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5n
ZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxl
bmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1Q
QVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0
YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVszXSwgcmVzdWx0WzNd
KSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBJbnQxNkFycmF5KFsweDAwMDAsIDB4MDAwMSwgMHhGRkZF
LCAweEZGRkZdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3Jl
YWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQot
c3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRh
ICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
cmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFT
UyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVz
dF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1
bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUK
LVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IElu
dDMyQXJyYXkoWzB4MDAwMDAwMDAsIDB4MDAwMDAwMDEsIDB4RkZGRkZGRkUsIDB4RkZGRkZGRkZd
KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScp
Ci1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0
KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1
bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBp
cyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2Rh
dGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBd
LCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlz
IHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXMo
dGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IFVpbnQ4Q2xhbXBl
ZEFycmF5KFswLCAxLCAyNTQsIDI1NV0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQot
UEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0
ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1
ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0
X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJlc3Vs
dFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1ZQot
dmFsdWUgPSBuZXcgRmxvYXQzMkFycmF5KFstSW5maW5pdHksIC0xLjUsIC0xLCAtMC41LCAwLCAw
LjUsIDEsIDEuNSwgSW5maW5pdHksIE5hTl0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXkn
KQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMg
dHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0
ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJl
c3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1
ZQotUEFTUyBpcyh0ZXN0X2RhdGFbNF0sIHJlc3VsdFs0XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0
X2RhdGFbNV0sIHJlc3VsdFs1XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbNl0sIHJlc3Vs
dFs2XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbN10sIHJlc3VsdFs3XSkgaXMgdHJ1ZQot
UEFTUyBpcyh0ZXN0X2RhdGFbOF0sIHJlc3VsdFs4XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2Rh
dGFbOV0sIHJlc3VsdFs5XSkgaXMgdHJ1ZQotdmFsdWUgPSBuZXcgRmxvYXQ2NEFycmF5KFstSW5m
aW5pdHksIC1OdW1iZXIuTUFYX1ZBTFVFLCAtTnVtYmVyLk1JTl9WQUxVRSwgMCwgTnVtYmVyLk1J
Tl9WQUxVRSwgTnVtYmVyLk1BWF9WQUxVRSwgSW5maW5pdHksIE5hTl0pCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJl
c3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMg
dHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0
ZXN0X2RhdGFbMl0sIHJlc3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJl
c3VsdFszXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbNF0sIHJlc3VsdFs0XSkgaXMgdHJ1
ZQotUEFTUyBpcyh0ZXN0X2RhdGFbNV0sIHJlc3VsdFs1XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0
X2RhdGFbNl0sIHJlc3VsdFs2XSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbN10sIHJlc3Vs
dFs3XSkgaXMgdHJ1ZQotCi1UZXN0aW5nIEFycmF5cwotdGVzdF9kYXRhID0gW10KLXRlc3RfZGF0
YVswXSA9IFtdCi10ZXN0X2RhdGFbMV0gPSBbMSwgMiwgM10KLXRlc3RfZGF0YVsxMF0gPSBPYmpl
Y3QuYXNzaWduKFsnZm9vJywgJ2JhciddLCB7MTA6IHRydWUsIDExOiBmYWxzZSwgMjA6IDEyMywg
MjE6IDQ1NiwgMzA6IG51bGx9KQotdGVzdF9kYXRhWzExXSA9IE9iamVjdC5hc3NpZ24oWydmb28n
LCAnYmFyJ10sIHthOiB0cnVlLCBiOiBmYWxzZSwgZm9vOiAxMjMsIGJhcjogNDU2LCAnJzogbnVs
bH0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJl
c3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiB0ZXN0X2RhdGEgaXMgdHlwZW9mIHJlc3VsdAotUEFT
UyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgYXJyYXlD
b21wYXJlKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGFycmF5Q29tcGFy
ZSh0ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUodGVz
dF9kYXRhWzEwXSwgcmVzdWx0WzEwXSkgaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUodGVzdF9k
YXRhWzExXSwgcmVzdWx0WzExXSkgaXMgdHJ1ZQotCi1UZXN0aW5nIE1hcAotdGVzdF9kYXRhID0g
bmV3IE1hcChbWzEsMl0sWzMsNF1dKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgdHlwZW9mIHRlc3RfZGF0YSBpcyB0eXBlb2YgcmVzdWx0Ci1QQVNTIHRlc3RfZGF0YS5zaXpl
IGlzIHJlc3VsdC5zaXplCi0KLVRlc3RpbmcgU2V0Ci10ZXN0X2RhdGEgPSBuZXcgU2V0KFsxLDIs
Myw0XSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3Jl
LnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiB0ZXN0X2Rh
dGEgaXMgdHlwZW9mIHJlc3VsdAotUEFTUyB0ZXN0X2RhdGEuc2l6ZSBpcyByZXN1bHQuc2l6ZQot
UEFTUyByZXN1bHQuaGFzKDEpIGlzIHRydWUKLVBBU1MgcmVzdWx0LmhhcygyKSBpcyB0cnVlCi1Q
QVNTIHJlc3VsdC5oYXMoMykgaXMgdHJ1ZQotUEFTUyByZXN1bHQuaGFzKDQpIGlzIHRydWUKLQot
VGVzdGluZyBnZW9tZXRyeSB0eXBlcwotVGVzdGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NTWF0
cml4KCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3Jl
LnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0g
cmVzdWx0IGlzIHRydWUKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwocmVzdWx0KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1
bHQudG9TdHJpbmcoKQotVGVzdGluZyBnZW9tZXRyeSB0eXBlOiBuZXcgRE9NTWF0cml4UmVhZE9u
bHkoKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0
ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUu
cHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSBy
ZXN1bHQgaXMgdHJ1ZQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChyZXN1bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3Vs
dC50b1N0cmluZygpCi1UZXN0aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01Qb2ludCgpCi10cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUs
ICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0
cnVlCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHJlc3VsdCkKLVBBU1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5n
KCkKLVRlc3RpbmcgZ2VvbWV0cnkgdHlwZTogbmV3IERPTVBvaW50UmVhZE9ubHkoKQotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAn
a2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1
ZQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChyZXN1bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygp
Ci1UZXN0aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01SZWN0KCkKLXRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9y
ZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgdHlw
ZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KQot
UEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBn
ZW9tZXRyeSB0eXBlOiBuZXcgRE9NUmVjdFJlYWRPbmx5KCkKLXRyYW5zYWN0aW9uID0gZGIudHJh
bnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5n
ZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgdHlwZW9m
IHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
dGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KQotUEFT
UyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBnZW9t
ZXRyeSB0eXBlOiBuZXcgRE9NUXVhZCgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQot
UEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMg
Im9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVzdF9kYXRh
LnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLQotVGVzdGluZyBDcnlwdG9LZXkKLXBy
b21pc2UgPSBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHsgbmFtZTogJ0hNQUMnLCBoYXNoOiB7
bmFtZTogJ1NIQS01MTInfX0sIHRydWUsIFsnc2lnbicsICd2ZXJpZnknXSk7Ci10cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXkn
KQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgdGVzdF9kYXRhIGlzIHR5cGVvZiByZXN1
bHQKLVBBU1MgdGVzdF9kYXRhLnR5cGUgaXMgcmVzdWx0LnR5cGUKLVBBU1MgdGVzdF9kYXRhLmV4
dHJhY3RhYmxlIGlzIHJlc3VsdC5leHRyYWN0YWJsZQotUEFTUyB0ZXN0X2RhdGEuYWxnb3JpdGht
LnRvU3RyaW5nKCkgaXMgcmVzdWx0LmFsZ29yaXRobS50b1N0cmluZygpCi1QQVNTIGFycmF5Q29t
cGFyZSh0ZXN0X2RhdGEudXNhZ2VzLCByZXN1bHQudXNhZ2VzKSBpcyB0cnVlCi0KLVRlc3QgdHlw
ZXMgdGhhdCBjYW4ndCBiZSBjbG9uZWQ6Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCi1UZXN0aW5nIEVycm9yCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3Rv
cmUucHV0KG5ldyBFcnJvciwgJ2tleScpCi1QQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFT
UyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6
IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1UZXN0aW5nIEZ1bmN0aW9uCi1FeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KG5ldyBGdW5jdGlvbiwgJ2tleScpCi1QQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05F
X0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1U
ZXN0aW5nIERPTUV4Y2VwdGlvbgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChu
ZXcgRE9NRXhjZXB0aW9uLCAna2V5JykKLVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNT
IGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSCi1FeGNlcHRpb24gbWVzc2FnZTog
VGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLVRlc3Rpbmcgb3RoZXIgaG9zdCBvYmplY3Qg
dHlwZXMKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoc2VsZiwgJ2tleScpCi1Q
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRB
X0NMT05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9u
ZWQuCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KGRvY3VtZW50LCAna2V5JykK
LVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRB
VEFfQ0xPTkVfRVJSCi1FeGNlcHRpb24gbWVzc2FnZTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNs
b25lZC4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoZG9jdW1lbnQuYm9keSwg
J2tleScpCi1QQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIERPTUV4Y2Vw
dGlvbi5EQVRBX0NMT05FX0VSUgotRXhjZXB0aW9uIG1lc3NhZ2U6IFRoZSBvYmplY3QgY2FuIG5v
dCBiZSBjbG9uZWQuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0
dXJlZC1jbG9uZS1wcml2YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9z
dHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggN2RiNDYxMjY5YmQ1ZDgxYTkyODU0ZThkOGI4YmZkNzkzZGE4M2ZjZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDExICswLDAgQEAKLTwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lv
bj10cnVlIF0gLS0+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxl
SW5wdXQiIG11bHRpcGxlPjwvaW5wdXQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3N0cnVjdHVy
ZWQtY2xvbmUuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404826</attachid>
            <date>2020-07-21 09:45:02 -0700</date>
            <delta_ts>2020-07-21 10:28:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-214425-20200721094501.patch</filename>
            <type>text/plain</type>
            <size>53083</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmVlMDMzNTY2NDhiZjAx
OTczNDgwY2YwMmZhNGNhY2I2NTRmZmM5NS4uMmIyY2E2MTM3YmU3ZDJhMWNiOWJlODRhNThiODUx
YjEzMGYxNjRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA3LTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY0NDg2
KTogQVNTRVJUSU9OIEZBSUxFRDogQVNTRVJUX05PVF9SRUFDSEVEKCkgaW4gTmV0d29ya1Byb2Nl
c3NQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBJbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUu
Y3BwLCBzb21lIGtpbmQgb2Ygd3JhcHBlcnMgd2lsbCBub3QgYmUgY3JlYXRlZCB3aGVuIGdsb2Jh
bCBvYmplY3QgaXMgbm90IAorICAgICAgICBKU0RPTUdsb2JhbE9iamVjdCwgc28gdGhleSB3b3Vs
ZCBub3QgYmUgY3JlYXRlZCBmb3IgSURCIGJlZm9yZSByMjY0NDg2LiBBZnRlciByMjY0NDg2LCBJ
REIgdXNlcyAKKyAgICAgICAgSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0LCB3aGljaCBp
cyBKU0RPTUdsb2JhbE9iamVjdCwgc28gdGhvc2Ugd3JhcHBlcnMgc3RhcnQgdG8gYmUgY3JlYXRl
ZC4gVG8gcmVzdG9yZQorICAgICAgICB0aGUgb2xkIGJlaGF2aW9yLCBhZGRpbmcgY2hlY2tzIGZv
ciBKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmplY3QgaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcC4KKworICAgICAgICBNb2RpZnkgYW5kIHJlLWVuYWJsZSB0ZXN0OiBMYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwKKworICAgICAgICAqIGJpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbG9u
ZURlc2VyaWFsaXplcjo6Q2xvbmVEZXNlcmlhbGl6ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVEZXNlcmlhbGl6ZXI6OnJlYWRGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJp
YWxpemVyOjpyZWFkUlRDQ2VydGlmaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNl
cmlhbGl6ZXI6OnJlYWRUZXJtaW5hbCk6CisKIDIwMjAtMDctMjEgIFhhYmllciBSb2RyaWd1ZXog
Q2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXVsxLjE4
XSBtZWRpYXN0cmVhbXNyYyBlbGVtZW50IGhpdHMgYXNzZXJ0IGluIGdzdCAtY29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
aW5kZXggZTY3MGM5ODM2ZWM4ZWY4MzdhOTA4MDQ2YzVlOWYyOTc3Njg3NzlhNi4uODc3MDEwOTg0
Nzg1Nzc5Y2IxYzU0ZDI5YjIxZDg0MjFjZDc3M2ZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC00Niw2ICs0Niw3
IEBACiAjaW5jbHVkZSAiSlNET01SZWN0LmgiCiAjaW5jbHVkZSAiSlNGaWxlLmgiCiAjaW5jbHVk
ZSAiSlNGaWxlTGlzdC5oIgorI2luY2x1ZGUgIkpTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVj
dC5oIgogI2luY2x1ZGUgIkpTSW1hZ2VCaXRtYXAuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5o
IgogI2luY2x1ZGUgIkpTTWVzc2FnZVBvcnQuaCIKQEAgLTIwMDMsNyArMjAwNCw3IEBAIHByaXZh
dGU6CiAgICAgICAgICkKICAgICAgICAgOiBDbG9uZUJhc2UobGV4aWNhbEdsb2JhbE9iamVjdCkK
ICAgICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCi0gICAgICAgICwgbV9pc0RP
TUdsb2JhbE9iamVjdChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NR2xvYmFsT2JqZWN0Pihn
bG9iYWxPYmplY3QtPnZtKCkpKQorICAgICAgICAsIG1faXNKU0lEQlNlcmlhbGl6YXRpb25HbG9i
YWxPYmplY3QoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxP
YmplY3Q+KGdsb2JhbE9iamVjdC0+dm0oKSkpCiAgICAgICAgICwgbV9wdHIoYnVmZmVyLmRhdGEo
KSkKICAgICAgICAgLCBtX2VuZChidWZmZXIuZGF0YSgpICsgYnVmZmVyLnNpemUoKSkKICAgICAg
ICAgLCBtX3ZlcnNpb24oMHhGRkZGRkZGRikKQEAgLTIwMzQsNyArMjAzNSw3IEBAIHByaXZhdGU6
CiAgICAgICAgICkKICAgICAgICAgOiBDbG9uZUJhc2UobGV4aWNhbEdsb2JhbE9iamVjdCkKICAg
ICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCi0gICAgICAgICwgbV9pc0RPTUds
b2JhbE9iamVjdChnbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NR2xvYmFsT2JqZWN0PihnbG9i
YWxPYmplY3QtPnZtKCkpKQorICAgICAgICAsIG1faXNKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxP
YmplY3QoZ2xvYmFsT2JqZWN0LT5pbmhlcml0czxKU0lEQlNlcmlhbGl6YXRpb25HbG9iYWxPYmpl
Y3Q+KGdsb2JhbE9iamVjdC0+dm0oKSkpCiAgICAgICAgICwgbV9wdHIoYnVmZmVyLmRhdGEoKSkK
ICAgICAgICAgLCBtX2VuZChidWZmZXIuZGF0YSgpICsgYnVmZmVyLnNpemUoKSkKICAgICAgICAg
LCBtX3ZlcnNpb24oMHhGRkZGRkZGRikKQEAgLTIyOTAsOCArMjI5MSwxMCBAQCBwcml2YXRlOgog
ICAgICAgICBpZiAoZmlsZVBhdGguaXNFbXB0eSgpKQogICAgICAgICAgICAgZmlsZVBhdGggPSBw
YXRoLT5zdHJpbmcoKTsKIAotICAgICAgICBpZiAobV9pc0RPTUdsb2JhbE9iamVjdCkKLSAgICAg
ICAgICAgIGZpbGUgPSBGaWxlOjpkZXNlcmlhbGl6ZShmaWxlUGF0aCwgVVJMKFVSTCgpLCB1cmwt
PnN0cmluZygpKSwgdHlwZS0+c3RyaW5nKCksIG5hbWUtPnN0cmluZygpLCBvcHRpb25hbExhc3RN
b2RpZmllZCk7CisgICAgICAgIGlmIChtX2lzSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgZmlsZSA9IEZpbGU6OmRlc2Vy
aWFsaXplKGZpbGVQYXRoLCBVUkwoVVJMKCksIHVybC0+c3RyaW5nKCkpLCB0eXBlLT5zdHJpbmco
KSwgbmFtZS0+c3RyaW5nKCksIG9wdGlvbmFsTGFzdE1vZGlmaWVkKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCkBAIC0yOTQ1LDcgKzI5NDgsNyBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgZmluZ2VycHJpbnRzLnVuY2hlY2tlZEFwcGVuZChSVENDZXJ0aWZpY2F0ZTo6RHRsc0Zpbmdl
cnByaW50IHsgYWxnb3JpdGhtLT5zdHJpbmcoKSwgdmFsdWUtPnN0cmluZygpIH0pOwogICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFsT2JqZWN0KQorICAgICAgICBpZiAobV9p
c0pTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIHJldHVybiBjb25z
dHJ1Y3RFbXB0eU9iamVjdChtX2xleGljYWxHbG9iYWxPYmplY3QsIG1fZ2xvYmFsT2JqZWN0LT5v
YmplY3RQcm90b3R5cGUoKSk7CiAKICAgICAgICAgYXV0byBydGNDZXJ0aWZpY2F0ZSA9IFJUQ0Nl
cnRpZmljYXRlOjpjcmVhdGUoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2lu
LT5zdHJpbmcoKSksIGV4cGlyZXMsIFdURk1vdmUoZmluZ2VycHJpbnRzKSwgY2VydGlmaWNhdGUt
PnRha2VTdHJpbmcoKSwga2V5ZWRNYXRlcmlhbC0+dGFrZVN0cmluZygpKTsKQEAgLTMxNTcsNyAr
MzE2MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBSZWZQdHI8RmlsZT4gZmlsZTsKICAgICAg
ICAgICAgIGlmICghcmVhZEZpbGUoZmlsZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWUoKTsKLSAgICAgICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkKKyAgICAgICAgICAg
IGlmIChtX2lzSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0KQogICAgICAgICAgICAgICAg
IHJldHVybiBqc051bGwoKTsKICAgICAgICAgICAgIHJldHVybiB0b0pTKG1fbGV4aWNhbEdsb2Jh
bE9iamVjdCwganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmplY3QpLCBmaWxl
LmdldCgpKTsKICAgICAgICAgfQpAQCAtMzE2NSwxNSArMzE2OCwxNiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gMDsKICAgICAgICAgICAgIGlmICghcmVhZChsZW5n
dGgpKQogICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CisgICAgICAgICAgICBBU1NF
UlQobV9nbG9iYWxPYmplY3QtPmluaGVyaXRzPEpTRE9NR2xvYmFsT2JqZWN0PihtX2dsb2JhbE9i
amVjdC0+dm0oKSkpOwogICAgICAgICAgICAgVmVjdG9yPFJlZjxGaWxlPj4gZmlsZXM7CiAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAg
ICAgICAgICBSZWZQdHI8RmlsZT4gZmlsZTsKICAgICAgICAgICAgICAgICBpZiAoIXJlYWRGaWxl
KGZpbGUpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAg
ICAgICAgIGlmIChtX2lzRE9NR2xvYmFsT2JqZWN0KQorICAgICAgICAgICAgICAgIGlmICghbV9p
c0pTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICAgICAgZmls
ZXMuYXBwZW5kKGZpbGUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBpZiAoIW1faXNET01HbG9iYWxPYmplY3QpCisgICAgICAgICAgICBpZiAobV9pc0pTSURC
U2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICByZXR1cm4ganNOdWxs
KCk7CiAgICAgICAgICAgICByZXR1cm4gZ2V0SlNWYWx1ZShGaWxlTGlzdDo6Y3JlYXRlKFdURk1v
dmUoZmlsZXMpKS5nZXQoKSk7CiAgICAgICAgIH0KQEAgLTMxOTEsMTAgKzMxOTUsNiBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgIGZhaWwoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZSgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFtX2lzRE9NR2xvYmFsT2Jq
ZWN0KSB7Ci0gICAgICAgICAgICAgICAgbV9wdHIgKz0gbGVuZ3RoOwotICAgICAgICAgICAgICAg
IHJldHVybiBqc051bGwoKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIEludFNpemUgaW1h
Z2VTaXplKHdpZHRoLCBoZWlnaHQpOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWxlbmd0
aCB8fCAoaW1hZ2VTaXplLmFyZWEoKSAqIDQpLnVuc2FmZUdldCgpIDw9IGxlbmd0aCk7CiAgICAg
ICAgICAgICBhdXRvIHJlc3VsdCA9IEltYWdlRGF0YTo6Y3JlYXRlKGltYWdlU2l6ZSk7CkBAIC0z
MjE5LDcgKzMyMTksNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25n
IHNpemUgPSAwOwogICAgICAgICAgICAgaWYgKCFyZWFkKHNpemUpKQogICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICBpZiAoIW1faXNET01HbG9iYWxPYmplY3Qp
CisgICAgICAgICAgICBpZiAobV9pc0pTSURCU2VyaWFsaXphdGlvbkdsb2JhbE9iamVjdCkKICAg
ICAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgICAgICByZXR1cm4gZ2V0SlNW
YWx1ZShCbG9iOjpkZXNlcmlhbGl6ZShVUkwoVVJMKCksIHVybC0+c3RyaW5nKCkpLCB0eXBlLT5z
dHJpbmcoKSwgc2l6ZSwgYmxvYkZpbGVQYXRoRm9yQmxvYlVSTCh1cmwtPnN0cmluZygpKSkuZ2V0
KCkpOwogICAgICAgICB9CkBAIC0zNDEyLDcgKzM0MTIsNyBAQCBwcml2YXRlOgogICAgIH0KIAog
ICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKLSAgICBib29sIG1faXNET01HbG9i
YWxPYmplY3Q7CisgICAgYm9vbCBtX2lzSlNJREJTZXJpYWxpemF0aW9uR2xvYmFsT2JqZWN0Owog
ICAgIGNvbnN0IHVpbnQ4X3QqIG1fcHRyOwogICAgIGNvbnN0IHVpbnQ4X3QqIG1fZW5kOwogICAg
IHVuc2lnbmVkIG1fdmVyc2lvbjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMTM5ZDc2ZTZlYTY4MWRlN2NlY2RiYjM0NmUy
YjM4YjhjYWFjYzMxLi41MzUxYmVhYzU5ZDdjZDNmZjgzMzA4NGJkYjMyZTYxZDU4NTE4NGE3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDctMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNjQ0ODYpOiBBU1NFUlRJT04gRkFJTEVE
OiBBU1NFUlRfTk9UX1JFQUNIRUQoKSBpbiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2ll
czo6Y3JlYXRlQmxvYlJlZ2lzdHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQ0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0
LgorCisgICAgICAgIFJlbW92ZSBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXBy
aXZhdGUuaHRtbCBhcyBibG9iIGlzIG5vdCBzdXBwb3J0ZWQgaW4gSURCIGZvciBwcml2YXRlIGJy
b3dzaW5nLiAKKyAgICAgICAgQWxzbyBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25l
Lmh0bWwgYWxyZWFkeSBjb3ZlcnMgdGhlIGNvZGUgcGF0aHMgZm9yIHN0cnVjdHVyZWQgY2xvbmUg
aW4gSURCLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9yZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qczoKKyAgICAgICAgKHRlc3RGaWxlKToKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVy
ZWQtY2xvbmUtcHJpdmF0ZS5odG1sOiBSZW1vdmVkLgorCiAyMDIwLTA3LTIxICBIZWN0b3IgTG9w
ZXogIDxoZWN0b3JfaV9sb3BlekBhcHBsZS5jb20+CiAKICAgICAgICAgWyBSZWxlYXNlIE1hYyB3
azIgXSBzdmcvYW5pbWF0aW9ucy9zbWlsLWxlYWstZWxlbWVudC1pbnN0YW5jZXMuc3ZnIGlzIGZs
YWt5IGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBmZWM5NjgxNmQ5M2JmNWFlMzdiNWU0ZGM0NjY0YmFmYjE0MzEyYjcxLi4xMDQz
OGQyYTNiNmZmNzE1NTVmYzg4NTAxNGYyNzg0OGE0OTRjZTg3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC05ODQsOSArOTg0LDYgQEAgd2Vi
a2l0Lm9yZy9iLzIxNDMwOCBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9s
LWJhc2ljLWFsbG93LXByZWZsaWcKIAogd2Via2l0Lm9yZy9iLzIxNDM4OCBbIE1vamF2ZSBdIGNv
bXBvc2l0aW5nL3JlcGFpbnQvaWZyYW1lcy9jb21wb3NpdGVkLWlmcmFtZS13aXRoLWZpeGVkLWJh
Y2tncm91bmQtZG9jLXJlcGFpbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcv
Yi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJp
dmF0ZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBzdG9yYWdl
L2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwgWyBTa2lwIF0KLQogd2Via2l0Lm9yZy9i
LzIxNDQ2OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9hbmltYXRpb24tb3BhY2l0eS1wYXVzZS1hbmQtc2V0LXRpbWUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ2OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tdHJhbnNmb3JtLXBhdXNlLWFuZC1zZXQt
dGltZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDY5IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1vdmVyZmxvdy9vdmVyZmxvdy1lbGxp
cHNpcy1keW5hbWljLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTk4Y2E4OTgyMzZhOTU1
YWE3NDY5YTc1M2FjN2RkNjc2NjgzZmUwZS4uZDdhZTQ5NDNhZTU0NDgzODM2NzM5MjNmNTI4NTM5
ZjA1OGRkOThlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTA3MiwxMCArMTA3Miw2IEBAIHdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1
ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ0NlcnRpZmljCiB3
ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1nZW5lcmF0ZUNlcnRpZmljYXRlLmh0bWwgWyBT
a2lwIF0KIHdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VicnRjL1JUQ1NjdHBUcmFuc3BvcnQtY29uc3RydWN0b3IuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJydGMvaWRsaGFybmVzcy5odHRwcy53aW5kb3cuaHRtbCBbIFNraXAgXQot
d2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERlYnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Js
b2Itc2ltcGxlLXdvcmtlcnMuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzIxNDQ3OCBbIERl
YnVnIF0gc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLmh0bWwgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVy
ZWQtY2xvbmUtcHJpdmF0ZS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMjE0NDc4IFsgRGVi
dWcgXSBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8yMTQ0NzggWyBEZWJ1ZyBdIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qt
c2Nyb2xsLWlmcmFtZS1sYXRjaGVkLXNlbGVjdC5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MjE0NDc4IFsgRGVidWcgXSB3ZWJydGMvc2ltdWxjYXN0LWgyNjQuaHRtbCBbIFNraXAgXQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGRiOWVmYTE3NjA3
MTg4YzJiN2U0MTg4M2ZmMTBmOWZkNTA0OTkxNDQuLmFkYjc1N2I0NjNiNmNjZmNlMDE2ZmY5MGVi
ZDQ5NmI0MDU4YTI3MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zCkBAIC00NTI1LDQgKzQ1MjUsMyBAQCB3ZWJraXQub3JnL2IvMjE0MDg4IHdlYmFuaW1hdGlv
bnMvYWNjZWxlcmF0ZWQtYW5pbWF0aW9uLXNpbmdsZS1rZXlmcmFtZS5odG1sIFsgUwogd2Via2l0
Lm9yZy9iLzIxNDQyOCBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9ibGVuZC1zYXR1cmF0aW9uLnN2ZyBb
IEZhaWx1cmUgXQogCiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwgWyBT
a2lwIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS5odG1sIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvc3RydWN0dXJlZC1jbG9uZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9zdHJ1Y3R1cmVkLWNsb25lLmpzCmluZGV4IGIwYWNkZThkNzkwZTFhNmNmYjk1M2E4
YmQyMGIyYjIxZGQ0MGI1ZWUuLjc3NGM1Y2Y0NzE4NzA1OGRkYTUyNjQ1NmQzY2FiZTI3MmNlYjVm
NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9z
dHJ1Y3R1cmVkLWNsb25lLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9zdHJ1Y3R1cmVkLWNsb25lLmpzCkBAIC0zLDE3ICszLDcgQEAgaWYgKHRoaXMuaW1w
b3J0U2NyaXB0cykgewogICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwogfQogCi1kZXNj
cmlwdGlvbigiVGVzdCBzdHJ1Y3R1cmVkIGNsb25lIHBlcm11dGF0aW9ucyBpbiBJbmRleGVkREIu
IEZpbGUvRmlsZUxpc3QgdGVzdHMgcmVxdWlyZSBEdW1wUmVuZGVyVHJlZS4iKTsKLQotaWYgKHNl
bGYuZXZlbnRTZW5kZXIgJiYgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKSB7Ci0gICAg
dmFyIGZpbGVJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlSW5wdXQiKTsKLSAg
ICB2YXIgZmlsZVJlY3QgPSBmaWxlSW5wdXQuZ2V0Q2xpZW50UmVjdHMoKVswXTsKLSAgICB2YXIg
dGFyZ2V0WCA9IGZpbGVSZWN0LmxlZnQgKyBmaWxlUmVjdC53aWR0aCAvIDI7Ci0gICAgdmFyIHRh
cmdldFkgPSBmaWxlUmVjdC50b3AgKyBmaWxlUmVjdC5oZWlnaHQgLyAyOwotICAgIGV2ZW50U2Vu
ZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhbJ3Jlc291cmNlcy90ZXN0LWRhdGEuaHRtbCcsICdyZXNv
dXJjZXMvdGVzdC1kYXRhLnR4dCddKTsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh0YXJn
ZXRYLCB0YXJnZXRZKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci19CitkZXNjcmlwdGlv
bigiVGVzdCBzdHJ1Y3R1cmVkIGNsb25lIHBlcm11dGF0aW9ucyBpbiBJbmRleGVkREIuIik7CiAK
IGluZGV4ZWREQlRlc3QocHJlcGFyZURhdGFiYXNlLCBzdGFydFRlc3RzKTsKIGZ1bmN0aW9uIHBy
ZXBhcmVEYXRhYmFzZSgpCkBAIC0zODUsMTIgKzM3NSw2IEBAIGZ1bmN0aW9uIGNvbXBhcmVCbG9i
cyhibG9iMSwgYmxvYjIsIGNhbGxiYWNrKQogZnVuY3Rpb24gdGVzdEJsb2IoY2FsbGJhY2spCiB7
CiAgICAgZGVidWcoIlRlc3RpbmcgQmxvYiIpOwotCi0gICAgLy8gRklYTUU6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0MjUKLSAgICBkZWJ1ZygiU2tpcHBpbmcg
dGVzdCIpOwotICAgIGNhbGxiYWNrKCk7Ci0gICAgcmV0dXJuOwotCiAgICAgc2hvdWxkQmVUcnVl
KCJGaWxlUmVhZGVyICE9IG51bGwiKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2NvbnRlbnQgPSAn
VGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMgb25seSBhIHRlc3QuJyIpOwogICAgIGV2YWxBbmRMb2co
InRlc3RfZGF0YSA9IG5ldyBCbG9iKFt0ZXN0X2NvbnRlbnRdKSIpOwpAQCAtNDExLDExICszOTUs
NiBAQCBmdW5jdGlvbiBjb21wYXJlRmlsZXMoZmlsZTEsIGZpbGUyLCBjYWxsYmFjaykKICAgICBz
aG91bGRCZVRydWUoImZpbGUxICE9PSBmaWxlMiIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUxKSIsICJbb2JqZWN0IEZpbGVd
Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwoZmlsZTIpIiwgIltvYmplY3QgRmlsZV0iKTsKLSAgICBkZWJ1ZygiZmlsZTEuc2l6ZTog
IiArIGZpbGUxLnNpemUpOwotICAgIHNob3VsZEJlKCJmaWxlMS5zaXplIiwgImZpbGUyLnNpemUi
KTsKLSAgICBkZWJ1ZygiZmlsZTEudHlwZTogIiArIGZpbGUxLnR5cGUpOwotICAgIHNob3VsZEJl
KCJmaWxlMS50eXBlIiwgImZpbGUyLnR5cGUiKTsKLSAgICBkZWJ1ZygiZmlsZTEubmFtZTogIiAr
IGZpbGUxLm5hbWUpOwogICAgIHNob3VsZEJlKCJmaWxlMS5uYW1lIiwgImZpbGUyLm5hbWUiKTsK
ICAgICBzaG91bGRCZSgiU3RyaW5nKGZpbGUxLmxhc3RNb2RpZmllZERhdGUpIiwgIlN0cmluZyhm
aWxlMi5sYXN0TW9kaWZpZWREYXRlKSIpOwogICAgIGlmIChjYWxsYmFjaykgewpAQCAtNDI2LDE1
ICs0MDUsOSBAQCBmdW5jdGlvbiBjb21wYXJlRmlsZXMoZmlsZTEsIGZpbGUyLCBjYWxsYmFjaykK
IGZ1bmN0aW9uIHRlc3RGaWxlKGNhbGxiYWNrKQogewogICAgIGRlYnVnKCJUZXN0aW5nIEZpbGUi
KTsKLQotICAgIC8vIEZJWE1FOiBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMgaXMgbm90
IHN1cHBvcnRlZC4KLSAgICBkZWJ1ZygiU2tpcHBpbmcgdGVzdCIpOwotICAgIGNhbGxiYWNrKCk7
Ci0gICAgcmV0dXJuOwotCi0gICAgZXZhbEFuZExvZygidGVzdF9jb250ZW50ID0gZmlsZUlucHV0
LmZpbGVzWzBdIik7Ci0KLSAgICBzZWxmLnRlc3RfZGF0YSA9IHRlc3RfY29udGVudDsKKyAgICBl
dmFsQW5kTG9nKCJ0ZXN0X2NvbnRlbnQgPSAnVGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMgb25seSBh
IHRlc3QuJyIpOworICAgIGV2YWxBbmRMb2coImJsb2IgPSBuZXcgQmxvYihbdGVzdF9jb250ZW50
XSkiKTsKKyAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBuZXcgRmlsZShbYmxvYl0sICdmaWxl
TmFtZScpIik7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7CiAg
ICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBjb21wYXJlRmlsZXMocmVzdWx0
LCB0ZXN0X2RhdGEsIGNhbGxiYWNrKTsKQEAgLTQ0NSwxNSArNDE4LDcgQEAgZnVuY3Rpb24gdGVz
dEZpbGUoY2FsbGJhY2spCiBmdW5jdGlvbiB0ZXN0RmlsZUxpc3QoY2FsbGJhY2spCiB7CiAgICAg
ZGVidWcoIlRlc3RpbmcgRmlsZUxpc3QiKTsKLQotICAgIC8vIEZJWE1FOiBldmVudFNlbmRlci5i
ZWdpbkRyYWdXaXRoRmlsZXMgaXMgbm90IHN1cHBvcnRlZC4KLSAgICBkZWJ1ZygiU2tpcHBpbmcg
dGVzdCIpOwotICAgIGNhbGxiYWNrKCk7Ci0gICAgcmV0dXJuOwotCi0gICAgZXZhbEFuZExvZygi
dGVzdF9jb250ZW50ID0gZmlsZUlucHV0LmZpbGVzIik7Ci0KLSAgICBzZWxmLnRlc3RfZGF0YSA9
IHRlc3RfY29udGVudDsKKyAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZmlsZUlucHV0JykuZmlsZXM7Iik7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0
YSwgZnVuY3Rpb24ocmVzdWx0KSB7CiAgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAg
ICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0
ZWQudHh0CmluZGV4IDg2OTYwZWExNjRhODJmNGRhODUwYzQwMzYzMjc1YWI5MDBkZTFjYjMuLmQx
MWM4NzY0OTA1N2Y1NDRlZTc3YTU5NGVjYWE3NmMzZjg4OTFhYTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotVGVzdCBzdHJ1Y3R1cmVkIGNsb25lIHBlcm11dGF0aW9u
cyBpbiBJbmRleGVkREIuIEZpbGUvRmlsZUxpc3QgdGVzdHMgcmVxdWlyZSBEdW1wUmVuZGVyVHJl
ZS4KK1Rlc3Qgc3RydWN0dXJlZCBjbG9uZSBwZXJtdXRhdGlvbnMgaW4gSW5kZXhlZERCLgogCiBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKQEAgLTU5OSwxMyArNTk5LDQzIEBAIFBBU1MgcmVz
dWx0LmRhdGEubGVuZ3RoIGlzIHRlc3RfZGF0YS5kYXRhLmxlbmd0aAogUEFTUyByZXN1bHQgZGF0
YSBtYXRjaGVzCiAKIFRlc3RpbmcgQmxvYgotU2tpcHBpbmcgdGVzdAorUEFTUyBGaWxlUmVhZGVy
ICE9IG51bGwgaXMgdHJ1ZQordGVzdF9jb250ZW50ID0gJ1RoaXMgaXMgYSB0ZXN0LiBUaGlzIGlz
IG9ubHkgYSB0ZXN0LicKK3Rlc3RfZGF0YSA9IG5ldyBCbG9iKFt0ZXN0X2NvbnRlbnRdKQordHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCitzdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQorc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKK3N0b3JlLmdldCgna2V5JykKK1BBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMg
dHJ1ZQorUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29i
amVjdCBCbG9iXSIKK1BBU1MgcmVzdWx0LnNpemUgaXMgdGVzdF9kYXRhLnNpemUKK1BBU1MgcmVz
dWx0LnR5cGUgaXMgdGVzdF9kYXRhLnR5cGUKK1BBU1MgdGV4dCBpcyAiVGhpcyBpcyBhIHRlc3Qu
IFRoaXMgaXMgb25seSBhIHRlc3QuIgogCiBUZXN0aW5nIEZpbGUKLVNraXBwaW5nIHRlc3QKK3Rl
c3RfY29udGVudCA9ICdUaGlzIGlzIGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdC4nCitibG9i
ID0gbmV3IEJsb2IoW3Rlc3RfY29udGVudF0pCit0ZXN0X2RhdGEgPSBuZXcgRmlsZShbYmxvYl0s
ICdmaWxlTmFtZScpCit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAn
cmVhZHdyaXRlJykKK3N0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
CitzdG9yZS5wdXQodmFsdWUsICdrZXknKQorc3RvcmUuZ2V0KCdrZXknKQorUEFTUyBmaWxlMSAh
PT0gZmlsZTIgaXMgdHJ1ZQorUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZmls
ZTEpIGlzICJbb2JqZWN0IEZpbGVdIgorUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwoZmlsZTIpIGlzICJbb2JqZWN0IEZpbGVdIgorUEFTUyBmaWxlMS5uYW1lIGlzIGZpbGUyLm5h
bWUKK1BBU1MgU3RyaW5nKGZpbGUxLmxhc3RNb2RpZmllZERhdGUpIGlzIFN0cmluZyhmaWxlMi5s
YXN0TW9kaWZpZWREYXRlKQorUEFTUyB0ZXh0MiBpcyAiVGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMg
b25seSBhIHRlc3QuIgogCiBUZXN0aW5nIEZpbGVMaXN0Ci1Ta2lwcGluZyB0ZXN0Cit0ZXN0X2Rh
dGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsZUlucHV0JykuZmlsZXM7Cit0cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKK3N0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCitzdG9yZS5wdXQodmFsdWUsICdr
ZXknKQorc3RvcmUuZ2V0KCdrZXknKQorUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVl
CitQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0
IEZpbGVMaXN0XSIKK1BBU1MgcmVzdWx0Lmxlbmd0aCBpcyB0ZXN0X2RhdGEubGVuZ3RoCiAKIFRl
c3RpbmcgT2JqZWN0CiB0ZXN0X2RhdGEgPSBbXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1wcml2YXRlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2OTYwZWExNjRhODJmNGRh
ODUwYzQwMzYzMjc1YWI5MDBkZTFjYjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1j
bG9uZS1wcml2YXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkzNSArMCwwIEBA
Ci1UZXN0IHN0cnVjdHVyZWQgY2xvbmUgcGVybXV0YXRpb25zIGluIEluZGV4ZWREQi4gRmlsZS9G
aWxlTGlzdCB0ZXN0cyByZXF1aXJlIER1bXBSZW5kZXJUcmVlLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJ
bmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxm
Lk9JbmRleGVkREI7Ci0KLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCi1pbmRleGVk
REIub3BlbihkYm5hbWUpCi1zdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUn
KQotVGhpcyBpbmRleCBpcyBub3QgdXNlZCwgYnV0IGV2YWx1YXRpbmcga2V5IHBhdGggb24gZWFj
aCBwdXQoKSBjYWxsIHdpbGwgZXhlcmNpc2UgKGRlKXNlcmlhbGl6YXRpb246Ci1zdG9yZS5jcmVh
dGVJbmRleCgnaW5kZXhOYW1lJywgJ2R1bW15S2V5UGF0aCcpCi0KLVJ1bm5pbmcgdGVzdHMuLi4K
LQotVGVzdGluZzogdW5kZWZpbmVkCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFT
UyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotCi1UZXN0aW5nOiBudWxsCi10cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdr
ZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1
ZQotCi1UZXN0aW5nIGJvb2xlYW4gcHJpbWl0aXZlcwotVGVzdGluZzogdHJ1ZQotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5
JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUK
LVRlc3Rpbmc6IGZhbHNlCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0
ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotCi1UZXN0aW5nIG51bWJlciBwcmltaXRpdmVzCi1U
ZXN0aW5nOiBOYU4KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdy
ZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykK
LXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3Rf
ZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAtSW5maW5pdHkKLXRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1z
dG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0
aW5nOiAtTnVtYmVyLk1BWF9WQUxVRQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC0weGZmZmZmZmZmCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkg
aXMgdHJ1ZQotVGVzdGluZzogLTB4ODAwMDAwMDAKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tl
eScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAtMHg3ZmZm
ZmZmZgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0
ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUu
cHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCBy
ZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC0xCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXkn
KQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogLU51bWJlci5N
SU5fVkFMVUUKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0
YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAtMAotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgn
a2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IDAKLXRy
YW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1
ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBp
cyB0cnVlCi1UZXN0aW5nOiAxCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5h
bWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBp
cyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogTnVtYmVyLk1JTl9WQUxVRQot
dHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1z
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZh
bHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQp
IGlzIHRydWUKLVRlc3Rpbmc6IDB4N2ZmZmZmZmYKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tl
eScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAweDgwMDAw
MDAwCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJl
c3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogMHhmZmZmZmZmZgotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IE51
bWJlci5NQVhfVkFMVUUKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRl
c3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiBJbmZpbml0eQotdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
LXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLQot
VGVzdGluZyBzdHJpbmcgcHJpbWl0aXZlcwotVGVzdGluZzogJycKLXRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9y
ZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5n
OiAndGhpcyBpcyBhIHNhbXBsZSBzdHJpbmcnCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXkn
KQotUEFTUyBpcyh0ZXN0X2RhdGEsIHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogJ251bGwoXDAp
JwotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScp
Ci1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0
KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1
bHQpIGlzIHRydWUKLQotVGVzdGluZyBCaWdJbnQgcHJpbWl0aXZlcwotVGVzdGluZzogLTEyMzQ1
Njc4OTAxMjM0NTY3ODkwbgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgaXMo
dGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rpbmc6IC0xbgotdHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0
b3JlLmdldCgna2V5JykKLVBBU1MgaXModGVzdF9kYXRhLCByZXN1bHQpIGlzIHRydWUKLVRlc3Rp
bmc6IDBuCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyBpcyh0ZXN0X2RhdGEs
IHJlc3VsdCkgaXMgdHJ1ZQotVGVzdGluZzogMW4KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tl
eScpCi1QQVNTIGlzKHRlc3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi1UZXN0aW5nOiAxMjM0NTY3
ODkwMTIzNDU2Nzg5MG4KLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIGlzKHRl
c3RfZGF0YSwgcmVzdWx0KSBpcyB0cnVlCi0KLVRlc3RpbmcgQm9vbGVhbiBvYmplY3RzCi1UZXN0
aW5nOiBuZXcgQm9vbGVhbih0cnVlKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9k
YXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0
cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9m
KCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBCb29sZWFuKGZhbHNl
KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScp
Ci1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0
KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAi
b2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEg
IT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50
b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkp
IGlzIHRydWUKLQotVGVzdGluZyBOdW1iZXIgb2JqZWN0cwotVGVzdGluZzogbmV3IE51bWJlcihO
YU4pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlz
ICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlz
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0
YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRh
LnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2Yo
KSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IE51bWJlcigtSW5maW5pdHkpCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRy
dWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1Mg
aXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGlu
ZzogbmV3IE51bWJlcigtTnVtYmVyLk1BWF9WQUxVRSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQo
J2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBy
ZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2Rh
dGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVt
YmVyKC1OdW1iZXIuTUlOX1ZBTFVFKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3Rv
cmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBB
U1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9k
YXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0
cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9m
KCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBOdW1iZXIoLTApCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmpl
Y3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0g
cmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3Ry
aW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMg
dHJ1ZQotVGVzdGluZzogbmV3IE51bWJlcigwKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
dGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3Vs
dC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52
YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBOdW1iZXIo
TnVtYmVyLk1JTl9WQUxVRSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5
cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkK
LVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmco
KSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCBy
ZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgTnVtYmVyKE51bWJlci5NQVhf
VkFMVUUpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdy
aXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9y
ZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0
IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQp
IGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3Rf
ZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9k
YXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVl
T2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IE51bWJlcihJbmZpbml0eSkKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScp
Ci1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1Mg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMg
dHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFT
UyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi0KLVRl
c3RpbmcgU3RyaW5nIG9iamVjdHMKLVRlc3Rpbmc6IG5ldyBTdHJpbmcoKQotdHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykK
LXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0
cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNT
IGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rp
bmc6IG5ldyBTdHJpbmcoJ3RoaXMgaXMgYSBzYW1wbGUgc3RyaW5nJykKLXRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1z
dG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1
ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBp
cyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5n
OiBuZXcgU3RyaW5nKCdudWxsKFwwKScpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQot
UEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0
X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVzdWx0LnRv
U3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRhLnZhbHVl
T2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotCi1UZXN0aW5nIEJpZ0ludCBvYmplY3Rz
Ci1UZXN0aW5nIEJpZ0ludCBvYmplY3Q6IEJpZ0ludCgtMTIzNDU2Nzg5MDEyMzQ1Njc4OTApCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJiaWdp
bnQiCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0
aW5nIEJpZ0ludCBvYmplY3Q6IEJpZ0ludCgtMSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tl
eScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgImJpZ2ludCIKLVBBU1MgdGVzdF9kYXRhLnRvU3Ry
aW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgQmlnSW50IG9iamVjdDogQmlnSW50
KDApCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlz
ICJiaWdpbnQiCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygp
Ci1UZXN0aW5nIEJpZ0ludCBvYmplY3Q6IEJpZ0ludCgxKQotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAiYmlnaW50IgotUEFTUyB0ZXN0X2RhdGEu
dG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBCaWdJbnQgb2JqZWN0OiBC
aWdJbnQoLTApCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVh
ZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1z
dG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVz
dWx0IGlzICJiaWdpbnQiCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0
cmluZygpCi1UZXN0aW5nIEJpZ0ludCBvYmplY3Q6IEJpZ0ludCgnMHgxZmZmZmZmZmZmZmZmZicp
Ci10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykK
LXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQo
dmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJi
aWdpbnQiCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi0K
LVRlc3RpbmcgRGF0ZSBvYmplY3RzCi1UZXN0aW5nOiBuZXcgRGF0ZSgtMWUxMykKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tl
eScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQg
aXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQot
UEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1U
ZXN0aW5nOiBuZXcgRGF0ZSgtMWUxMikKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0
b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1Q
QVNTIHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3Rf
ZGF0YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9T
dHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVP
ZigpLCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgtMWU5KQot
dHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1z
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZh
bHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2Jq
ZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09
IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0
cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlz
IHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKC0xZTYpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdr
ZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgcmVz
dWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXModGVzdF9kYXRh
LnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzogbmV3IERhdGUo
LTFlMykKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3Jl
LnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1bHQg
aXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9k
YXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2Rh
dGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFsdWVP
ZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgwKQotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdl
dCgna2V5JykKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNT
IHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3Rf
ZGF0YS52YWx1ZU9mKCksIHJlc3VsdC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBE
YXRlKDFlMykKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHR5cGVvZiByZXN1
bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3Vs
dCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVz
dF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0
X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigpLCByZXN1bHQudmFs
dWVPZigpKSBpcyB0cnVlCi1UZXN0aW5nOiBuZXcgRGF0ZSgxZTYpCi10cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUK
LVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBBU1MgaXMo
dGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVzdGluZzog
bmV3IERhdGUoMWU5KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywg
J3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUn
KQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdHlwZW9m
IHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
cmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFT
UyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlz
IHRlc3RfZGF0YS50b1N0cmluZygpCi1QQVNTIGlzKHRlc3RfZGF0YS52YWx1ZU9mKCksIHJlc3Vs
dC52YWx1ZU9mKCkpIGlzIHRydWUKLVRlc3Rpbmc6IG5ldyBEYXRlKDFlMTIpCi10cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXkn
KQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlz
IHRydWUKLVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLVBB
U1MgaXModGVzdF9kYXRhLnZhbHVlT2YoKSwgcmVzdWx0LnZhbHVlT2YoKSkgaXMgdHJ1ZQotVGVz
dGluZzogbmV3IERhdGUoMWUxMykKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHR5cGVvZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0
YSkKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyByZXN1bHQudG9TdHJp
bmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotUEFTUyBpcyh0ZXN0X2RhdGEudmFsdWVPZigp
LCByZXN1bHQudmFsdWVPZigpKSBpcyB0cnVlCi0KLVRlc3RpbmcgUmVnRXhwIG9iamVjdHMKLVRl
c3RpbmcgUmVnRXhwOiBuZXcgUmVnRXhwKCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIKLVBBU1MgcmVzdWx0
LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGluZyBSZWdFeHA6IC9h
YmMvCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJl
c3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQp
IGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0
YS50b1N0cmluZygpCi0KLVRlc3RpbmcgUmVnRXhwOiAvYWJjL2cKLXRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9y
ZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMgIltvYmplY3QgUmVnRXhwXSIK
LVBBU1MgcmVzdWx0LnRvU3RyaW5nKCkgaXMgdGVzdF9kYXRhLnRvU3RyaW5nKCkKLQotVGVzdGlu
ZyBSZWdFeHA6IC9hYmMvaQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1l
JywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVz
dF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBSZWdFeHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmco
KSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotCi1UZXN0aW5nIFJlZ0V4cDogL2FiYy9naQotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMg
dHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29i
amVjdCBSZWdFeHBdIgotUEFTUyByZXN1bHQudG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJp
bmcoKQotCi1UZXN0aW5nIFJlZ0V4cDogL2FiYy9tCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdr
ZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1QQVNTIHJl
c3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi0KLVRlc3RpbmcgUmVnRXhw
OiAvYWJjL21nCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVh
ZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1z
dG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEg
IT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChy
ZXN1bHQpIGlzICJbb2JqZWN0IFJlZ0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRl
c3RfZGF0YS50b1N0cmluZygpCi0KLVRlc3RpbmcgUmVnRXhwOiAvYWJjL21pCi10cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXkn
KQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1Q
QVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzICJbb2JqZWN0IFJl
Z0V4cF0iCi1QQVNTIHJlc3VsdC50b1N0cmluZygpIGlzIHRlc3RfZGF0YS50b1N0cmluZygpCi0K
LVRlc3RpbmcgUmVnRXhwOiAvYWJjL21naQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykK
LVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBSZWdFeHBdIgotUEFTUyByZXN1bHQu
dG9TdHJpbmcoKSBpcyB0ZXN0X2RhdGEudG9TdHJpbmcoKQotCi0KLVRlc3RpbmcgSW1hZ2VEYXRh
Ci1jYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKQotY2FudmFzLndpZHRo
ID0gOAotY2FudmFzLmhlaWdodCA9IDgKLXRlc3RfZGF0YSA9IGNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpLmdldEltYWdlRGF0YSgwLCAwLCA4LCA4KQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5
JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyAiW29iamVjdCBJbWFnZURhdGFdIgotUEFTUyBy
ZXN1bHQud2lkdGggaXMgdGVzdF9kYXRhLndpZHRoCi1QQVNTIHJlc3VsdC5oZWlnaHQgaXMgdGVz
dF9kYXRhLmhlaWdodAotUEFTUyByZXN1bHQuZGF0YS5sZW5ndGggaXMgdGVzdF9kYXRhLmRhdGEu
bGVuZ3RoCi1QQVNTIHJlc3VsdCBkYXRhIG1hdGNoZXMKLQotVGVzdGluZyBCbG9iCi1Ta2lwcGlu
ZyB0ZXN0Ci0KLVRlc3RpbmcgRmlsZQotU2tpcHBpbmcgdGVzdAotCi1UZXN0aW5nIEZpbGVMaXN0
Ci1Ta2lwcGluZyB0ZXN0Ci0KLVRlc3RpbmcgT2JqZWN0Ci10ZXN0X2RhdGEgPSBbXQotdGVzdF9k
YXRhWzBdID0gJ2ZvbycKLXRlc3RfZGF0YVsxXSA9ICdiYXInCi10ZXN0X2RhdGFbJ2EnXSA9IHRy
dWUKLXRlc3RfZGF0YVsnYiddID0gZmFsc2UKLXRlc3RfZGF0YVsnZm9vJ10gPSAxMjMKLXRlc3Rf
ZGF0YVsnYmFyJ10gPSA0NTYKLXRlc3RfZGF0YVsnJ10gPSBudWxsCi10cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3Rv
cmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIGFy
cmF5Q29tcGFyZShPYmplY3Qua2V5cyhyZXN1bHQpLnNvcnQoKSwgT2JqZWN0LmtleXModGVzdF9k
YXRhKS5zb3J0KCkpIGlzIHRydWUKLVBBU1MgdGVzdF9kYXRhWyIwIl0gaXMgcmVzdWx0WyIwIl0K
LVBBU1MgdGVzdF9kYXRhWyIxIl0gaXMgcmVzdWx0WyIxIl0KLVBBU1MgdGVzdF9kYXRhWyJhIl0g
aXMgcmVzdWx0WyJhIl0KLVBBU1MgdGVzdF9kYXRhWyJiIl0gaXMgcmVzdWx0WyJiIl0KLVBBU1Mg
dGVzdF9kYXRhWyJmb28iXSBpcyByZXN1bHRbImZvbyJdCi1QQVNTIHRlc3RfZGF0YVsiYmFyIl0g
aXMgcmVzdWx0WyJiYXIiXQotUEFTUyB0ZXN0X2RhdGFbIiJdIGlzIHJlc3VsdFsiIl0KLQotVGVz
dGluZyBBcnJheQotdGVzdF9kYXRhID0gW10KLXRlc3RfZGF0YVswXSA9ICdmb28nCi10ZXN0X2Rh
dGFbMV0gPSAnYmFyJwotdGVzdF9kYXRhWzEwXSA9IHRydWUKLXRlc3RfZGF0YVsxMV0gPSBmYWxz
ZQotdGVzdF9kYXRhWzIwXSA9IDEyMwotdGVzdF9kYXRhWzIxXSA9IDQ1NgotdGVzdF9kYXRhWzMw
XSA9IG51bGwKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAh
PT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0
aCBpcyB0cnVlCi1QQVNTIHRlc3RfZGF0YVswXSBpcyByZXN1bHRbMF0KLVBBU1MgdGVzdF9kYXRh
WzFdIGlzIHJlc3VsdFsxXQotUEFTUyB0ZXN0X2RhdGFbMTBdIGlzIHJlc3VsdFsxMF0KLVBBU1Mg
dGVzdF9kYXRhWzExXSBpcyByZXN1bHRbMTFdCi1QQVNTIHRlc3RfZGF0YVsyMF0gaXMgcmVzdWx0
WzIwXQotUEFTUyB0ZXN0X2RhdGFbMjFdIGlzIHJlc3VsdFsyMV0KLVBBU1MgdGVzdF9kYXRhWzMw
XSBpcyByZXN1bHRbMzBdCi0KLVRlc3RpbmcgVHlwZWRBcnJheQotdmFsdWUgPSBuZXcgVWludDhB
cnJheShbXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFk
d3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0
b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAh
PT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJl
c3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1Mg
dGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi12YWx1ZSA9IG5ldyBV
aW50OEFycmF5KFswLCAxLCAyNTQsIDI1NV0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXkn
KQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMg
dHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0
ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJl
c3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1
ZQotdmFsdWUgPSBuZXcgVWludDE2QXJyYXkoWzB4MDAwMCwgMHgwMDAxLCAweEZGRkUsIDB4RkZG
Rl0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRl
JykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5w
dXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJl
c3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQp
IGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3Rf
ZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFb
MF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkg
aXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMl0sIHJlc3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBp
cyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkgaXMgdHJ1ZQotdmFsdWUgPSBuZXcgVWludDMyQXJy
YXkoWzB4MDAwMDAwMDAsIDB4MDAwMDAwMDEsIDB4RkZGRkZGRkUsIDB4RkZGRkZGRkZdKQotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVl
LCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMg
dHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSBpcyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFTUyB0ZXN0X2RhdGEubGVu
Z3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzBdLCByZXN1
bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1bHRbMV0pIGlzIHRydWUK
LVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9k
YXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IEludDhBcnJheShbMCwgMSwg
MjU0LCAyNTVdKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3Jl
YWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQot
c3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRh
ICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
cmVzdWx0KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKQotUEFT
UyB0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIGlzIHRydWUKLVBBU1MgaXModGVz
dF9kYXRhWzBdLCByZXN1bHRbMF0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzFdLCByZXN1
bHRbMV0pIGlzIHRydWUKLVBBU1MgaXModGVzdF9kYXRhWzJdLCByZXN1bHRbMl0pIGlzIHRydWUK
LVBBU1MgaXModGVzdF9kYXRhWzNdLCByZXN1bHRbM10pIGlzIHRydWUKLXZhbHVlID0gbmV3IElu
dDE2QXJyYXkoWzB4MDAwMCwgMHgwMDAxLCAweEZGRkUsIDB4RkZGRl0pCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQot
c3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJl
c3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMg
dHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0
ZXN0X2RhdGFbMl0sIHJlc3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJl
c3VsdFszXSkgaXMgdHJ1ZQotdmFsdWUgPSBuZXcgSW50MzJBcnJheShbMHgwMDAwMDAwMCwgMHgw
MDAwMDAwMSwgMHhGRkZGRkZGRSwgMHhGRkZGRkZGRl0pCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0
KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbCh0ZXN0X2RhdGEpCi1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5n
dGggaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbMF0sIHJlc3VsdFswXSkgaXMgdHJ1ZQotUEFT
UyBpcyh0ZXN0X2RhdGFbMV0sIHJlc3VsdFsxXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFb
Ml0sIHJlc3VsdFsyXSkgaXMgdHJ1ZQotUEFTUyBpcyh0ZXN0X2RhdGFbM10sIHJlc3VsdFszXSkg
aXMgdHJ1ZQotdmFsdWUgPSBuZXcgVWludDhDbGFtcGVkQXJyYXkoWzAsIDEsIDI1NCwgMjU1XSkK
LXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQot
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2
YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0
IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgaXMg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9kYXRh
Lmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVswXSwg
cmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBpcyB0
cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlzKHRl
c3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi12YWx1ZSA9IG5ldyBGbG9hdDMyQXJyYXko
Wy1JbmZpbml0eSwgLTEuNSwgLTEsIC0wLjUsIDAsIDAuNSwgMSwgMS41LCBJbmZpbml0eSwgTmFO
XSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUn
KQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1
dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVz
dWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkKLVBBU1MgdGVzdF9k
YXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsw
XSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFdKSBp
cyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBpcyB0cnVlCi1QQVNTIGlz
KHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs0XSwg
cmVzdWx0WzRdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs1XSwgcmVzdWx0WzVdKSBpcyB0
cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs2XSwgcmVzdWx0WzZdKSBpcyB0cnVlCi1QQVNTIGlzKHRl
c3RfZGF0YVs3XSwgcmVzdWx0WzddKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs4XSwgcmVz
dWx0WzhdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs5XSwgcmVzdWx0WzldKSBpcyB0cnVl
Ci12YWx1ZSA9IG5ldyBGbG9hdDY0QXJyYXkoWy1JbmZpbml0eSwgLU51bWJlci5NQVhfVkFMVUUs
IC1OdW1iZXIuTUlOX1ZBTFVFLCAwLCBOdW1iZXIuTUlOX1ZBTFVFLCBOdW1iZXIuTUFYX1ZBTFVF
LCBJbmZpbml0eSwgTmFOXSkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFt
ZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRl
c3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHJlc3VsdCkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0
YSkKLVBBU1MgdGVzdF9kYXRhLmxlbmd0aCA9PT0gcmVzdWx0Lmxlbmd0aCBpcyB0cnVlCi1QQVNT
IGlzKHRlc3RfZGF0YVswXSwgcmVzdWx0WzBdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsx
XSwgcmVzdWx0WzFdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVsyXSwgcmVzdWx0WzJdKSBp
cyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVszXSwgcmVzdWx0WzNdKSBpcyB0cnVlCi1QQVNTIGlz
KHRlc3RfZGF0YVs0XSwgcmVzdWx0WzRdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs1XSwg
cmVzdWx0WzVdKSBpcyB0cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs2XSwgcmVzdWx0WzZdKSBpcyB0
cnVlCi1QQVNTIGlzKHRlc3RfZGF0YVs3XSwgcmVzdWx0WzddKSBpcyB0cnVlCi0KLVRlc3Rpbmcg
QXJyYXlzCi10ZXN0X2RhdGEgPSBbXQotdGVzdF9kYXRhWzBdID0gW10KLXRlc3RfZGF0YVsxXSA9
IFsxLCAyLCAzXQotdGVzdF9kYXRhWzEwXSA9IE9iamVjdC5hc3NpZ24oWydmb28nLCAnYmFyJ10s
IHsxMDogdHJ1ZSwgMTE6IGZhbHNlLCAyMDogMTIzLCAyMTogNDU2LCAzMDogbnVsbH0pCi10ZXN0
X2RhdGFbMTFdID0gT2JqZWN0LmFzc2lnbihbJ2ZvbycsICdiYXInXSwge2E6IHRydWUsIGI6IGZh
bHNlLCBmb286IDEyMywgYmFyOiA0NTYsICcnOiBudWxsfSkKLXRyYW5zYWN0aW9uID0gZGIudHJh
bnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5n
ZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgdHlwZW9m
IHRlc3RfZGF0YSBpcyB0eXBlb2YgcmVzdWx0Ci1QQVNTIHRlc3RfZGF0YS5sZW5ndGggPT09IHJl
c3VsdC5sZW5ndGggaXMgdHJ1ZQotUEFTUyBhcnJheUNvbXBhcmUodGVzdF9kYXRhWzBdLCByZXN1
bHRbMF0pIGlzIHRydWUKLVBBU1MgYXJyYXlDb21wYXJlKHRlc3RfZGF0YVsxXSwgcmVzdWx0WzFd
KSBpcyB0cnVlCi1QQVNTIGFycmF5Q29tcGFyZSh0ZXN0X2RhdGFbMTBdLCByZXN1bHRbMTBdKSBp
cyB0cnVlCi1QQVNTIGFycmF5Q29tcGFyZSh0ZXN0X2RhdGFbMTFdLCByZXN1bHRbMTFdKSBpcyB0
cnVlCi0KLVRlc3RpbmcgTWFwCi10ZXN0X2RhdGEgPSBuZXcgTWFwKFtbMSwyXSxbMyw0XV0pCi10
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFs
dWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQotUEFTUyB0eXBlb2YgdGVzdF9kYXRhIGlzIHR5
cGVvZiByZXN1bHQKLVBBU1MgdGVzdF9kYXRhLnNpemUgaXMgcmVzdWx0LnNpemUKLQotVGVzdGlu
ZyBTZXQKLXRlc3RfZGF0YSA9IG5ldyBTZXQoWzEsMiwzLDRdKQotdHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3Jl
LmdldCgna2V5JykKLVBBU1MgdHlwZW9mIHRlc3RfZGF0YSBpcyB0eXBlb2YgcmVzdWx0Ci1QQVNT
IHRlc3RfZGF0YS5zaXplIGlzIHJlc3VsdC5zaXplCi1QQVNTIHJlc3VsdC5oYXMoMSkgaXMgdHJ1
ZQotUEFTUyByZXN1bHQuaGFzKDIpIGlzIHRydWUKLVBBU1MgcmVzdWx0LmhhcygzKSBpcyB0cnVl
Ci1QQVNTIHJlc3VsdC5oYXMoNCkgaXMgdHJ1ZQotCi1UZXN0aW5nIGdlb21ldHJ5IHR5cGVzCi1U
ZXN0aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01NYXRyaXgoKQotdHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3Jl
LmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0eXBl
b2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpCi1Q
QVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0aW5nIGdl
b21ldHJ5IHR5cGU6IG5ldyBET01NYXRyaXhSZWFkT25seSgpCi10cmFuc2FjdGlvbiA9IGRiLnRy
YW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUu
Z2V0KCdrZXknKQotUEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVv
ZiByZXN1bHQgaXMgIm9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KHRlc3RfZGF0YSkgaXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBB
U1MgdGVzdF9kYXRhLnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgZ2Vv
bWV0cnkgdHlwZTogbmV3IERPTVBvaW50KCkKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScp
Ci1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0IGlzIHRydWUKLVBBU1MgdHlwZW9mIHJlc3VsdCBp
cyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRh
KSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KQotUEFTUyB0ZXN0X2Rh
dGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9TdHJpbmcoKQotVGVzdGluZyBnZW9tZXRyeSB0eXBl
OiBuZXcgRE9NUG9pbnRSZWFkT25seSgpCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZU5hbWUnLCAncmVhZHdyaXRlJykKLXN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCi1zdG9yZS5wdXQodmFsdWUsICdrZXknKQotc3RvcmUuZ2V0KCdrZXknKQot
UEFTUyB0ZXN0X2RhdGEgIT09IHJlc3VsdCBpcyB0cnVlCi1QQVNTIHR5cGVvZiByZXN1bHQgaXMg
Im9iamVjdCIKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkg
aXMgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkKLVBBU1MgdGVzdF9kYXRh
LnRvU3RyaW5nKCkgaXMgcmVzdWx0LnRvU3RyaW5nKCkKLVRlc3RpbmcgZ2VvbWV0cnkgdHlwZTog
bmV3IERPTVJlY3QoKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywg
J3JlYWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUn
KQotc3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9k
YXRhICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1Q
QVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygp
IGlzIHJlc3VsdC50b1N0cmluZygpCi1UZXN0aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01SZWN0
UmVhZE9ubHkoKQotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3Jl
YWR3cml0ZScpCi1zdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQot
c3RvcmUucHV0KHZhbHVlLCAna2V5JykKLXN0b3JlLmdldCgna2V5JykKLVBBU1MgdGVzdF9kYXRh
ICE9PSByZXN1bHQgaXMgdHJ1ZQotUEFTUyB0eXBlb2YgcmVzdWx0IGlzICJvYmplY3QiCi1QQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIGlzIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpCi1QQVNTIHRlc3RfZGF0YS50b1N0cmluZygpIGlz
IHJlc3VsdC50b1N0cmluZygpCi1UZXN0aW5nIGdlb21ldHJ5IHR5cGU6IG5ldyBET01RdWFkKCkK
LXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQot
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLnB1dCh2
YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNTIHRlc3RfZGF0YSAhPT0gcmVzdWx0
IGlzIHRydWUKLVBBU1MgdHlwZW9mIHJlc3VsdCBpcyAib2JqZWN0IgotUEFTUyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwodGVzdF9kYXRhKSBpcyBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KQotUEFTUyB0ZXN0X2RhdGEudG9TdHJpbmcoKSBpcyByZXN1bHQudG9T
dHJpbmcoKQotCi1UZXN0aW5nIENyeXB0b0tleQotcHJvbWlzZSA9IGNyeXB0by5zdWJ0bGUuZ2Vu
ZXJhdGVLZXkoeyBuYW1lOiAnSE1BQycsIGhhc2g6IHtuYW1lOiAnU0hBLTUxMid9fSwgdHJ1ZSwg
WydzaWduJywgJ3ZlcmlmeSddKTsKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
TmFtZScsICdyZWFkd3JpdGUnKQotc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKLXN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpCi1zdG9yZS5nZXQoJ2tleScpCi1QQVNT
IHR5cGVvZiB0ZXN0X2RhdGEgaXMgdHlwZW9mIHJlc3VsdAotUEFTUyB0ZXN0X2RhdGEudHlwZSBp
cyByZXN1bHQudHlwZQotUEFTUyB0ZXN0X2RhdGEuZXh0cmFjdGFibGUgaXMgcmVzdWx0LmV4dHJh
Y3RhYmxlCi1QQVNTIHRlc3RfZGF0YS5hbGdvcml0aG0udG9TdHJpbmcoKSBpcyByZXN1bHQuYWxn
b3JpdGhtLnRvU3RyaW5nKCkKLVBBU1MgYXJyYXlDb21wYXJlKHRlc3RfZGF0YS51c2FnZXMsIHJl
c3VsdC51c2FnZXMpIGlzIHRydWUKLQotVGVzdCB0eXBlcyB0aGF0IGNhbid0IGJlIGNsb25lZDoK
LXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQot
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKLVRlc3RpbmcgRXJy
b3IKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobmV3IEVycm9yLCAna2V5JykK
LVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRB
VEFfQ0xPTkVfRVJSCi1FeGNlcHRpb24gbWVzc2FnZTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNs
b25lZC4KLVRlc3RpbmcgRnVuY3Rpb24KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5w
dXQobmV3IEZ1bmN0aW9uLCAna2V5JykKLVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNT
IGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSCi1FeGNlcHRpb24gbWVzc2FnZTog
VGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLVRlc3RpbmcgRE9NRXhjZXB0aW9uCi1FeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KG5ldyBET01FeGNlcHRpb24sICdrZXknKQot
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24uREFU
QV9DTE9ORV9FUlIKLUV4Y2VwdGlvbiBtZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xv
bmVkLgotVGVzdGluZyBvdGhlciBob3N0IG9iamVjdCB0eXBlcwotRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLnB1dChzZWxmLCAna2V5JykKLVBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24u
Ci1QQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSCi1FeGNlcHRpb24gbWVz
c2FnZTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLUV4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBzdG9yZS5wdXQoZG9jdW1lbnQsICdrZXknKQotUEFTUyBFeGNlcHRpb24gd2FzIHRocm93
bi4KLVBBU1MgY29kZSBpcyBET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIKLUV4Y2VwdGlvbiBt
ZXNzYWdlOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLgotRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLnB1dChkb2N1bWVudC5ib2R5LCAna2V5JykKLVBBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCi1QQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSCi1FeGNl
cHRpb24gbWVzc2FnZTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0ZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZGI0NjEyNjliZDVkODFhOTI4NTRl
OGQ4YjhiZmQ3OTNkYTgzZmNmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUt
cHJpdmF0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08aW5wdXQgdHlwZT0iZmlsZSIgaWQ9ImZpbGVJbnB1dCIgbXVsdGlwbGU+PC9pbnB1dD4K
LTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3RydWN0dXJlZC1jbG9uZS5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>