<?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>221940</bug_id>
          
          <creation_ts>2021-02-15 17:27:21 -0800</creation_ts>
          <short_desc>[LayoutTests] Convert http/tests/eventsource convert PHP to Python</short_desc>
          <delta_ts>2021-02-16 13:46:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220749</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Gambrell">cgambrell</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>jbedard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729478</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-02-15 17:27:21 -0800</bug_when>
    <thetext>Replacing PHP with equivalent Python CGI scripts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729480</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-15 17:27:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/74372782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729488</commentid>
    <comment_count>2</comment_count>
      <attachid>420407</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-02-15 17:45:13 -0800</bug_when>
    <thetext>Created attachment 420407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729722</commentid>
    <comment_count>3</comment_count>
      <attachid>420407</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-02-16 09:36:46 -0800</bug_when>
    <thetext>Comment on attachment 420407
Patch

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

&gt; LayoutTests/http/tests/eventsource/resources/es-cors-basic.py:8
&gt; +request_method = os.environ.get(&apos;REQUEST_METHOD&apos;)

I think we should do the request_method bit first.

&gt; LayoutTests/http/tests/eventsource/resources/es-cors-basic.py:11
&gt; +    sys.exit(&apos;Got unexpected preflight request&apos;)

Python&apos;s sys.exit() prints to stderr, PHP&apos;s die prints to stdout. So we really want this to be:

sys.stdout.write(&apos;Content-Type: text/html\r\n\r\n&apos;)
sys.stdout.write(&apos;Got unexpected preflight request\n&apos;)
sys.exit(0)

&gt; LayoutTests/http/tests/eventsource/resources/es-cors-basic.py:24
&gt; +

If the count is 0 or 1, we aren&apos;t ending the header

&gt; LayoutTests/http/tests/eventsource/resources/es-cors-credentials.py:9
&gt; +    sys.exit(&apos;Got unexpected preflight request&apos;)

Ditto on the sys.exit() vs die()

&gt; LayoutTests/http/tests/eventsource/resources/es-cors-credentials.py:17
&gt; +returned_from_header = False

Unused variable

&gt; LayoutTests/http/tests/eventsource/resources/es-eof.py:11
&gt; +    &apos;id: {}\n&apos;

I think we want to use named variables in this string, gets to be a bit tough to follow

&gt; LayoutTests/http/tests/eventsource/resources/infinite-event-stream.py:15
&gt; +    data = {&quot;time&quot;: curDate}

Nit: Should use single quotes

&gt; LayoutTests/http/tests/eventsource/resources/status-codes.py:18
&gt; +elif status_code == 301 or status_code == 302 or status_code == 303 or status_code == 307:

Should probably do: status_code in [301, 302, 303, 307] instead</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729786</commentid>
    <comment_count>4</comment_count>
      <attachid>420494</attachid>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-02-16 10:27:02 -0800</bug_when>
    <thetext>Created attachment 420494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729787</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Gambrell">cgambrell</who>
    <bug_when>2021-02-16 10:30:11 -0800</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #3)
&gt; Comment on attachment 420407 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=420407&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/es-cors-basic.py:8
&gt; &gt; +request_method = os.environ.get(&apos;REQUEST_METHOD&apos;)
&gt; 
&gt; I think we should do the request_method bit first.
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/es-cors-basic.py:11
&gt; &gt; +    sys.exit(&apos;Got unexpected preflight request&apos;)
&gt; 
&gt; Python&apos;s sys.exit() prints to stderr, PHP&apos;s die prints to stdout. So we
&gt; really want this to be:
&gt; 
&gt; sys.stdout.write(&apos;Content-Type: text/html\r\n\r\n&apos;)
&gt; sys.stdout.write(&apos;Got unexpected preflight request\n&apos;)
&gt; sys.exit(0)
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/es-cors-basic.py:24
&gt; &gt; +
&gt; 
&gt; If the count is 0 or 1, we aren&apos;t ending the header
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/es-cors-credentials.py:9
&gt; &gt; +    sys.exit(&apos;Got unexpected preflight request&apos;)
&gt; 
&gt; Ditto on the sys.exit() vs die()
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/es-cors-credentials.py:17
&gt; &gt; +returned_from_header = False
&gt; 
&gt; Unused variable
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/es-eof.py:11
&gt; &gt; +    &apos;id: {}\n&apos;
&gt; 
&gt; I think we want to use named variables in this string, gets to be a bit
&gt; tough to follow
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/infinite-event-stream.py:15
&gt; &gt; +    data = {&quot;time&quot;: curDate}
&gt; 
&gt; Nit: Should use single quotes
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/status-codes.py:18
&gt; &gt; +elif status_code == 301 or status_code == 302 or status_code == 303 or status_code == 307:
&gt; 
&gt; Should probably do: status_code in [301, 302, 303, 307] instead

Fixed all of these in comment 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729918</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-16 13:46:07 -0800</bug_when>
    <thetext>Committed r272926: &lt;https://commits.webkit.org/r272926&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420494.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420407</attachid>
            <date>2021-02-15 17:45:13 -0800</date>
            <delta_ts>2021-02-16 10:26:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221940-20210215204512.patch</filename>
            <type>text/plain</type>
            <size>34151</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3Mjg5MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTAyLTE1ICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvZXZlbnRzb3VyY2UgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5NDAKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzc0MzcyNzgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb250ZW50
LXR5cGUtY2hhcnNldC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtY29ycy1iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLWJhc2ljLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLXdpdGgtY3JlZGVudGlhbHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29y
cy13aXRoLWNyZWRlbnRpYWxzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9ldmVudHNvdXJjZS1lb2YuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLWV2ZW50cy1hZnRlci1jbG9zZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29u
bmVjdGluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcGFyc2UtZXZlbnQtc3RyZWFtLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmlnYXRlLWNyYXNoLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXN0YXR1cy1j
b2RlLXN0YXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRz
b3VyY2UtdXJsLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9ldmVudHNvdXJjZS11cmwtYXR0cmlidXRlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNpYy5waHA6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNp
Yy5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMv
ZXMtY29ycy1jcmVkZW50aWFscy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5weTogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtZW9mLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1lb2YucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2V2ZW50
LXN0cmVhbS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9y
ZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2
ZW50c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2luZmluaXRlLWV2ZW50
LXN0cmVhbS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNv
dXJjZXMvcmVjb25uZWN0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50
c291cmNlL3Jlc291cmNlcy9yZWNvbm5lY3QucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3JlcXVlc3QtZXhpc3RlbnQtZXZlbnRzb3VyY2UtZXJy
b3IuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZXNw
b25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvcmVzcG9uc2UtY29udGVudC10eXBlLWNoYXJzZXQu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3N0
YXR1cy1jb2Rlcy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9yZXNvdXJjZXMvc3RhdHVzLWNvZGVzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucGhwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3dhaXQtdGhlbi1u
b3RpZnktZG9uZS5weTogQWRkZWQuCisKIDIwMjEtMDItMTUgIEFsZXhleSBTaHZheWthICA8c2h2
YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIFByb3BlcnR5U2xvdCBzaG91bGQg
YWxsb3cgcGFzc2luZyBjdXN0b20gc2V0dGVycwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb250ZW50LXR5cGUtY2hhcnNldC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2Ut
Y29udGVudC10eXBlLWNoYXJzZXQuaHRtbAkocmV2aXNpb24gMjcyODcwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb250ZW50LXR5cGUtY2hhcnNl
dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02NSw3ICs2NSw3IEBAIGZ1bmN0aW9uIGVycm9yTGlz
dGVuZXIoZXZ0KSB7CiAKIGZ1bmN0aW9uIHN0YXJ0UmVxdWVzdCgpCiB7Ci0gICAgZXMgPSBuZXcg
RXZlbnRTb3VyY2UoInJlc291cmNlcy9yZXNwb25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5waHA/
Y29udGVudFR5cGU9IiArIGVzY2FwZShjb250ZW50VHlwZXNbaV0pKTsKKyAgICBlcyA9IG5ldyBF
dmVudFNvdXJjZSgicmVzb3VyY2VzL3Jlc3BvbnNlLWNvbnRlbnQtdHlwZS1jaGFyc2V0LnB5P2Nv
bnRlbnRUeXBlPSIgKyBlc2NhcGUoY29udGVudFR5cGVzW2ldKSk7CiAgICAgZXMub25vcGVuID0g
b3Blbkxpc3RlbmVyOwogICAgIGVzLm9ubWVzc2FnZSA9IG1lc3NhZ2VMaXN0ZW5lcjsKICAgICBl
cy5vbmVycm9yID0gZXJyb3JMaXN0ZW5lcjsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy1iYXNpYy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3Jz
LWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLWJhc2ljLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIENPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4uCi1DT05TT0xFIE1FU1NBR0U6IEV2ZW50U291cmNlIGNhbm5vdCBsb2FkIGh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNpYy5waHA/
Y291bnQ9MSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBF
dmVudFNvdXJjZSBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvZXZlbnRzb3VyY2Uv
cmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMucHk/Y291bnQ9MSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wg
Y2hlY2tzLgogQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlz
IG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KLUNPTlNPTEUgTUVT
U0FHRTogRXZlbnRTb3VyY2UgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2V2ZW50
c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWJhc2ljLnBocD9jb3VudD0yIGR1ZSB0byBhY2Nlc3Mg
Y29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IEV2ZW50U291cmNlIGNhbm5vdCBsb2Fk
IGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNp
Yy5weT9jb3VudD0yIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCiBUZXN0IHRoYXQgYmFz
aWMgRXZlbnRTb3VyY2UgY3Jvc3Mtb3JpZ2luIHJlcXVlc3RzIGZhaWwgdW50aWwgdGhleSBhcmUg
YWxsb3dlZCBieSB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhlYWRlci4gU2hvdWxk
IHByaW50IGEgc2VyaWVzIG9mIFBBU1MgbWVzc2FnZXMgZm9sbG93ZWQgYnkgRE9ORS4KIAogUEFT
UzogZ290IGVycm9yIGV2ZW50IGFuZCByZWFkeVN0YXRlIGlzIENMT1NFRApJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLWJhc2ljLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1jb3JzLWJhc2ljLmh0bWwJKHJldmlzaW9uIDI3Mjg3MCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy1iYXNpYy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0yMiw3ICsyMiw3IEBAIHZhciBiYXNlX3VybCA9IGxvY2F0aW9uLmhyZWYuc3Vi
c3RyKDAsIGwKIAogZnVuY3Rpb24gY3JlYXRlX2VzKCkgewogICAgIHRyeSB7Ci0gICAgICAgIHZh
ciBlcyA9IG5ldyBFdmVudFNvdXJjZShiYXNlX3VybCArICIvcmVzb3VyY2VzL2VzLWNvcnMtYmFz
aWMucGhwP2NvdW50PSIgKyBjb3VudCk7CisgICAgICAgIHZhciBlcyA9IG5ldyBFdmVudFNvdXJj
ZShiYXNlX3VybCArICIvcmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMucHk/Y291bnQ9IiArIGNvdW50
KTsKICAgICB9CiAgICAgY2F0Y2ggKGV4KSB7CiAgICAgICAgIGxvZygiRkFJTDogRXZlbnRTb3Vy
Y2UgY29uc3RydWN0b3IgdGhyZXcgZXhjZXB0aW9uOiAiICsgZXgpOwpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLXdpdGgtY3JlZGVudGlh
bHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy13aXRoLWNyZWRlbnRpYWxzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9l
dmVudHNvdXJjZS1jb3JzLXdpdGgtY3JlZGVudGlhbHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDkgKzEsOSBAQAogQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgdXNlIHdpbGRjYXJk
IGluIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiB3aGVuIGNyZWRlbnRpYWxzIGZsYWcgaXMg
dHJ1ZS4KLUNPTlNPTEUgTUVTU0FHRTogRXZlbnRTb3VyY2UgY2Fubm90IGxvYWQgaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxzLnBo
cD9jb3VudD0xIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6
IEV2ZW50U291cmNlIGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudHNvdXJj
ZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5weT9jb3VudD0xIGR1ZSB0byBhY2Nlc3Mg
Y29udHJvbCBjaGVja3MuCiBDT05TT0xFIE1FU1NBR0U6IENhbm5vdCB1c2Ugd2lsZGNhcmQgaW4g
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIHdoZW4gY3JlZGVudGlhbHMgZmxhZyBpcyB0cnVl
LgotQ09OU09MRSBNRVNTQUdFOiBFdmVudFNvdXJjZSBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxo
b3N0OjgwMDAvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtY3JlZGVudGlhbHMucGhwP2Nv
dW50PTIgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogRXZl
bnRTb3VyY2UgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2V2ZW50c291cmNlL3Jl
c291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxzLnB5P2NvdW50PTIgZHVlIHRvIGFjY2VzcyBjb250
cm9sIGNoZWNrcy4KIENPTlNPTEUgTUVTU0FHRTogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBi
dXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KLUNPTlNP
TEUgTUVTU0FHRTogRXZlbnRTb3VyY2UgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxzLnBocD9jb3VudD0zIGR1
ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IEV2ZW50U291cmNl
IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMv
ZXMtY29ycy1jcmVkZW50aWFscy5weT9jb3VudD0zIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVj
a3MuCiBUZXN0IHRoYXQgRXZlbnRTb3VyY2UgY3Jvc3Mtb3JpZ2luIHJlcXVlc3RzIHdpdGggY3Jl
ZGVudGlhbHMgZmFpbCB1bnRpbCB0aGUgY29ycmVjdCBDT1JTIGhlYWRlcnMgYXJlIHNlbnQuIFNo
b3VsZCBwcmludCBhIHNlcmllcyBvZiBQQVNTIG1lc3NhZ2VzIGZvbGxvd2VkIGJ5IERPTkUuCiAK
IFBBU1M6IGdvdCBlcnJvciBldmVudCBhbmQgcmVhZHlTdGF0ZSBpcyBDTE9TRUQKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy13aXRoLWNy
ZWRlbnRpYWxzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLXdpdGgtY3JlZGVudGlhbHMuaHRtbAkocmV2aXNpb24g
MjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJj
ZS1jb3JzLXdpdGgtY3JlZGVudGlhbHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIs
NyBAQCB2YXIgYmFzZV91cmwgPSBsb2NhdGlvbi5ocmVmLnN1YnN0cigwLCBsCiAKIGZ1bmN0aW9u
IGNyZWF0ZV9lcygpIHsKICAgICB0cnkgewotICAgICAgICB2YXIgZXMgPSBuZXcgRXZlbnRTb3Vy
Y2UoYmFzZV91cmwgKyAiL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxzLnBocD9jb3VudD0i
ICsgY291bnQsIHsid2l0aENyZWRlbnRpYWxzIjogdHJ1ZX0pOworICAgICAgICB2YXIgZXMgPSBu
ZXcgRXZlbnRTb3VyY2UoYmFzZV91cmwgKyAiL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxz
LnB5P2NvdW50PSIgKyBjb3VudCwgeyJ3aXRoQ3JlZGVudGlhbHMiOiB0cnVlfSk7CiAgICAgfQog
ICAgIGNhdGNoIChleCkgewogICAgICAgICBsb2coIkZBSUw6IEV2ZW50U291cmNlIGNvbnN0cnVj
dG9yIHRocmV3IGV4Y2VwdGlvbjogIiArIGV4KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtZW9mLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1lb2YuaHRtbAkocmV2aXNp
b24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1lb2YuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKIAogdmFyIGNvdW50ID0gMTsKIAotdmFyIGVzID0gbmV3IEV2ZW50U291
cmNlKCJyZXNvdXJjZXMvZXMtZW9mLnBocCIpOwordmFyIGVzID0gbmV3IEV2ZW50U291cmNlKCJy
ZXNvdXJjZXMvZXMtZW9mLnB5Iik7CiAKIGVzLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7CiAgICAg
aWYgKGNvdW50KysgPT0gMykgewpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9ldmVudHNvdXJjZS1ldmVudHMtYWZ0ZXItY2xvc2UuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLWV2ZW50cy1hZnRl
ci1jbG9zZS5odG1sCShyZXZpc2lvbiAyNzI4NzApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2V2ZW50c291cmNlL2V2ZW50c291cmNlLWV2ZW50cy1hZnRlci1jbG9zZS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgfQogCiAgICAgdmFyIGxvZyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsb2ciKTsKLSAgICB2YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJl
c291cmNlcy9ldmVudC1zdHJlYW0ucGhwIik7CisgICAgdmFyIGVzID0gbmV3IEV2ZW50U291cmNl
KCJyZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnB5Iik7CiAgICAgdmFyIGNvdW50ZXIgPSAwOwogICAg
IGVzLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICBs
b2cuaW5uZXJIVE1MICs9ICJHb3QgbWVzc2FnZSAjIiArICsrY291bnRlciArICJcbiI7CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2Fj
aGUtY29ubmVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RlZC5odG1sCShyZXZpc2lv
biAyNzI4NzApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMz
LDcgQEAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuYwogCiBvbmxvYWQg
PSAoKSA9PiB7CiAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgZXZlbnRTb3VyY2UgPSBu
ZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucGhwIik7Cisg
ICAgICAgZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9pbmZpbml0ZS1l
dmVudC1zdHJlYW0ucHkiKTsKIAogICAgICAgICBldmVudFNvdXJjZS5vbmVycm9yID0gKCkgPT4g
ewogICAgICAgICAgICAgdGVzdFBhc3NlZCgiUmVjZWl2ZWQgZXJyb3IgZXZlbnQiKTsKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNo
ZS1jb25uZWN0aW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmcuaHRtbAkocmV2aXNp
b24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyAr
MjcsNyBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jCiAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOwogICAgIH0KIAotICAgIGV2ZW50U291cmNlID0gbmV3IEV2ZW50U291
cmNlKCJyZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnBocCIpOworICAgIGV2ZW50U291
cmNlID0gbmV3IEV2ZW50U291cmNlKCJyZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnB5
Iik7CiAKICAgICBldmVudFNvdXJjZS5vbmVycm9yID0gKCkgPT4gewogICAgICAgICB0ZXN0RmFp
bGVkKCJSZWNlaXZlZCBlcnJvciBldmVudCIpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYXJzZS1ldmVudC1zdHJlYW0uaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBh
cnNlLWV2ZW50LXN0cmVhbS5odG1sCShyZXZpc2lvbiAyNzI4NzApCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhcnNlLWV2ZW50LXN0cmVhbS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xMyw3ICsxMyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogfQogCiB2YXIgY291bnQgPSAtMTsKLXZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3Vy
Y2VzL2V2ZW50LXN0cmVhbS5waHAiKTsKK3ZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3Vy
Y2VzL2V2ZW50LXN0cmVhbS5weSIpOwogCiBlcy5vbm9wZW4gPSBmdW5jdGlvbiAoZXZ0KSB7CiAg
ICAgaWYgKCFldnQuZGF0YSkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3Vy
Y2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2Ut
cmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sCShyZXZpc2lvbiAyNzI4NzApCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVj
dC1kdXJpbmctbmF2aWdhdGUtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOCwxMCArOCwx
MCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogZnVuY3Rpb24gbmF2aWdhdGUoKSB7
Ci0gICAgd2luZG93LmxvY2F0aW9uID0gInJlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUu
cGhwIjsKKyAgICB3aW5kb3cubG9jYXRpb24gPSAicmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnkt
ZG9uZS5weSI7CiB9CiAKLXZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL3JlY29u
bmVjdC5waHAiKTsKK3ZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL3JlY29ubmVj
dC5weSIpOwogZXMub25lcnJvciA9IGZ1bmN0aW9uKCkgewogICAgIHNldFRpbWVvdXQobmF2aWdh
dGUsIDApOwogfTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtcmVjb25uZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QuaHRtbAkocmV2aXNpb24gMjcy
ODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1y
ZWNvbm5lY3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKIH0KIAogdmFyIGVyckNvdW50ID0gMDsKLXZhciBlcyA9IG5ldyBFdmVu
dFNvdXJjZSgicmVzb3VyY2VzL3JlY29ubmVjdC5waHAiKTsKK3ZhciBlcyA9IG5ldyBFdmVudFNv
dXJjZSgicmVzb3VyY2VzL3JlY29ubmVjdC5weSIpOwogCiBjaGVja1JlYWR5U3RhdGUoZXMsIENP
Tk5FQ1RJTkcpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXN0YXR1cy1jb2RlLXN0YXRlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2Utc3RhdHVzLWNvZGUtc3RhdGVz
Lmh0bWwJKHJldmlzaW9uIDI3Mjg3MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvZXZlbnRzb3VyY2Utc3RhdHVzLWNvZGUtc3RhdGVzLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDcgKzQwLDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICB9CiAKICAgICB2YXIg
c3RhdGVzID0gW107Ci0gICAgdmFyIGVzID0gbmV3IEV2ZW50U291cmNlKCJyZXNvdXJjZXMvc3Rh
dHVzLWNvZGVzLnBocD9zdGF0dXMtY29kZT0iICsgdGVzdHNbY291bnRdLmNvZGUpOworICAgIHZh
ciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL3N0YXR1cy1jb2Rlcy5weT9zdGF0dXMt
Y29kZT0iICsgdGVzdHNbY291bnRdLmNvZGUpOwogICAgIHN0YXRlc1swXSA9IGVzLnJlYWR5U3Rh
dGU7CiAKICAgICBlcy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXVybC1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtdXJsLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3Mjg3MCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtdXJsLWF0dHJp
YnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsOCArMyw4IEBAIEJvdGggLlVS
TCBhbmQgLnVybCBzaG91bGQgd29yayAoZm9yIGNvbXAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KIAogCi1QQVNTIHNvdXJjZS5VUkwgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9ldmVudHNv
dXJjZS9yZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnBocCIKLVBBU1Mgc291cmNlLnVybCBpcyAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2V2ZW50c291cmNlL3Jlc291cmNlcy9ldmVudC1zdHJlYW0ucGhw
IgorUEFTUyBzb3VyY2UuVVJMIGlzICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZXZlbnRzb3VyY2Uv
cmVzb3VyY2VzL2V2ZW50LXN0cmVhbS5weSIKK1BBU1Mgc291cmNlLnVybCBpcyAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2V2ZW50c291cmNlL3Jlc291cmNlcy9ldmVudC1zdHJlYW0ucHkiCiBQQVNT
IHNvdXJjZS5VUkwgPT09IHNvdXJjZS51cmwgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXVybC1hdHRyaWJ1dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXVybC1hdHRyaWJ1dGUuaHRtbAkocmV2
aXNpb24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVu
dHNvdXJjZS11cmwtYXR0cmlidXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTksNyArOSw3IEBA
CiAKIGRlc2NyaXB0aW9uKCJCb3RoIC5VUkwgYW5kIC51cmwgc2hvdWxkIHdvcmsgKGZvciBjb21w
YXRpYmlsaXR5IHJlYXNvbnMpLiIpOwogCi12YXIgdXJsID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnBocCI7Cit2YXIgdXJsID0gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnB5
IjsKIHZhciBzb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UodXJsKTsKIAogc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJzb3VyY2UuVVJMIiwgdXJsKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMucGhwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMu
cGhwCShyZXZpc2lvbiAyNzI4NzApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291
cmNlL3Jlc291cmNlcy9lcy1jb3JzLWJhc2ljLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDIwICsw
LDAgQEAKLTw/cGhwCi1pZiAoJF9TRVJWRVJbIlJFUVVFU1RfTUVUSE9EIl0gPT0gIk9QVElPTlMi
KQotICAgIGRpZSgiR290IHVuZXhwZWN0ZWQgcHJlZmxpZ2h0IHJlcXVlc3QiKTsKLQotaGVhZGVy
KCJDb250ZW50LVR5cGU6IHRleHQvZXZlbnQtc3RyZWFtIik7Ci0KLSRjb3VudCA9IGludHZhbCgk
X0dFVFsiY291bnQiXSk7Ci0KLWlmICgkY291bnQgPT0gMikKLSAgICBoZWFkZXIoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbjogaHR0cDovL3NvbWUub3RoZXIub3JpZ2luOjgwIik7Ci1lbHNl
IGlmICgkY291bnQgPT0gMykKLSAgICBoZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdp
bjogKiIpOwotZWxzZSBpZiAoJGNvdW50ID4gMykKLSAgICBoZWFkZXIoIkFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbjogIiAuICRfU0VSVkVSWyJIVFRQX09SSUdJTiJdKTsKLQotaWYgKCRfU0VS
VkVSWyJIVFRQX0xBU1RfRVZFTlRfSUQiXSAhPSAiNzciKQotICAgIGVjaG8gImlkOiA3N1xuZGF0
YTogREFUQTFcbnJldHJ5OiAwXG5cbiI7Ci1lbHNlCi0gICAgZWNobyAiZGF0YTogREFUQTJcblxu
IjsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNl
cy9lcy1jb3JzLWJhc2ljLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNp
Yy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACisjIS91c3IvYmluL2VudiBweXRo
b24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHBh
cnNlX3FzCisKK2NvdW50ID0gaW50KHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJ
TkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnY291bnQnLCBbMF0pWzBdKQor
cmVxdWVzdF9tZXRob2QgPSBvcy5lbnZpcm9uLmdldCgnUkVRVUVTVF9NRVRIT0QnKQorCitpZiBy
ZXF1ZXN0X21ldGhvZCA9PSAnT1BUSU9OUyc6CisgICAgc3lzLmV4aXQoJ0dvdCB1bmV4cGVjdGVk
IHByZWZsaWdodCByZXF1ZXN0JykKKworaHR0cF9vcmlnaW4gPSBvcy5lbnZpcm9uLmdldCgnSFRU
UF9PUklHSU4nKQoraHR0cF9sYXN0X2V2ZW50X2lkID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfTEFT
VF9FVkVOVF9JRCcpCisKK3N5cy5zdGRvdXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9ldmVu
dC1zdHJlYW1cclxuJykKKworaWYgY291bnQgPT0gMjoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IGh0dHA6Ly9zb21lLm90aGVyLm9yaWdpbjo4MFxy
XG5cclxuJykKK2VsaWYgY291bnQgPT0gMzoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW46ICpcclxuXHJcbicpCitlbGlmIGNvdW50ID4gMzoKKyAgICBz
eXMuc3Rkb3V0LndyaXRlKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IHt9XHJcblxyXG4n
LmZvcm1hdChodHRwX29yaWdpbikpCisKK2lmIGh0dHBfbGFzdF9ldmVudF9pZCAhPSAnNzcnOgor
ICAgIHByaW50KCdpZDogNzdcbmRhdGE6IERBVEExXG5yZXRyeTogMFxuJykKK2Vsc2U6CisgICAg
cHJpbnQoJ2RhdGE6IERBVEEyXG4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3Vy
Y2VzL2VzLWNvcnMtYmFzaWMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMg
LTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRp
YWxzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxzLnBocAkocmV2aXNpb24gMjcyODcwKQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVk
ZW50aWFscy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocAotaWYgKCRf
U0VSVkVSWyJSRVFVRVNUX01FVEhPRCJdID09ICJPUFRJT05TIikKLSAgICBkaWUoIkdvdCB1bmV4
cGVjdGVkIHByZWZsaWdodCByZXF1ZXN0Iik7Ci0KLWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0
L2V2ZW50LXN0cmVhbSIpOwotCi0kY291bnQgPSBpbnR2YWwoJF9HRVRbImNvdW50Il0pOwotCi1p
ZiAoJGNvdW50ID09IDEgfHwgJGNvdW50ID09IDIpCi0gICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW46ICoiKTsKLWVsc2UgaWYgKCRjb3VudCA+IDIpCi0gICAgaGVhZGVyKCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICIgLiAkX1NFUlZFUlsiSFRUUF9PUklHSU4iXSk7
Ci0KLWlmICgkY291bnQgPT0gMiB8fCAkY291bnQgPiAzKQotICAgIGhlYWRlcigiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM6IHRydWUiKTsKLQotaWYgKCRfU0VSVkVSWyJIVFRQX0xB
U1RfRVZFTlRfSUQiXSAhPSAiNzciKQotICAgIGVjaG8gImlkOiA3N1xuZGF0YTogREFUQTFcbnJl
dHJ5OiAwXG5cbiI7Ci1lbHNlCi0gICAgZWNobyAiZGF0YTogREFUQTJcblxuIjsKLT8+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWNy
ZWRlbnRpYWxzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtY3JlZGVudGlhbHMucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVk
ZW50aWFscy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMxIEBACisjIS91c3IvYmluL2Vu
diBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1w
b3J0IHBhcnNlX3FzCisKK3JlcXVlc3RfbWV0aG9kID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVFU1Rf
TUVUSE9EJykKK2lmIHJlcXVlc3RfbWV0aG9kID09ICdPUFRJT05TJzoKKyAgICBzeXMuZXhpdCgn
R290IHVuZXhwZWN0ZWQgcHJlZmxpZ2h0IHJlcXVlc3QnKQorCitzeXMuc3Rkb3V0LndyaXRlKCdD
b250ZW50LVR5cGU6IHRleHQvZXZlbnQtc3RyZWFtXHJcbicpCisKK2NvdW50ID0gaW50KHBhcnNl
X3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVz
PVRydWUpLmdldCgnY291bnQnLCBbMF0pWzBdKQoraHR0cF9vcmlnaW4gPSBvcy5lbnZpcm9uLmdl
dCgnSFRUUF9PUklHSU4nKQoraHR0cF9sYXN0X2V2ZW50X2lkID0gb3MuZW52aXJvbi5nZXQoJ0hU
VFBfTEFTVF9FVkVOVF9JRCcpCisKK3JldHVybmVkX2Zyb21faGVhZGVyID0gRmFsc2UKK2lmIGNv
dW50ID09IDEgb3IgY291bnQgPT0gMjoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW46ICpcclxuJykKK2VsaWYgY291bnQgPiAyOgorICAgIHN5cy5zdGRv
dXQud3JpdGUoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjoge31cclxuJy5mb3JtYXQoaHR0
cF9vcmlnaW4pKQorCitpZiBjb3VudCA9PSAyIG9yIGNvdW50ID4gMzoKKyAgICBzeXMuc3Rkb3V0
LndyaXRlKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZVxyXG4nKQorCitz
eXMuc3Rkb3V0LndyaXRlKCdcclxuJykKKworaWYgaHR0cF9sYXN0X2V2ZW50X2lkICE9ICc3Nyc6
CisgICAgcHJpbnQoJ2lkOiA3N1xuZGF0YTogREFUQTFcbnJldHJ5OiAwXG4nKQorZWxzZToKKyAg
ICBwcmludCgnZGF0YTogREFUQTJcbicpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNv
dXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWVvZi5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNv
dXJjZXMvZXMtZW9mLnBocAkocmV2aXNpb24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtZW9mLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEzICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9ldmVudC1zdHJl
YW0iKTsKLQotJGlkID0gZmxvYXR2YWwoJF9TRVJWRVJbJ0hUVFBfTEFTVF9FVkVOVF9JRCddKSAr
IDE7Ci0KLWVjaG8gInJldHJ5OiAwXG4iOwotZWNobyAiaWQ6ICIgLiAkaWQgLiAiXG4iOwotZWNo
byAiZGF0YTogREFUQSIgLiBpbnR2YWwoJGlkKSAuICJcblxuIjsKLQotZWNobyAiaWQ6ICIgLiAo
JGlkICsgMC4xKSAuICJcbiI7Ci1lY2hvICJldmVudDogbXNnXG4iOwotZWNobyAiZGF0YTogREFU
QSIgLiBzdHJfcmVwZWF0KCJcbiIsICRpZCAtIDEpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWVvZi5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1lb2YucHkJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJj
ZXMvZXMtZW9mLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2lkID0gZmxvYXQob3MuZW52
aXJvbi5nZXQoJ0hUVFBfTEFTVF9FVkVOVF9JRCcsIDApKSArIDEKKworc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbVxyXG5cclxuJworICAgICdy
ZXRyeTogMFxuJworICAgICdpZDoge31cbicKKyAgICAnZGF0YTogREFUQXt9XG5cbicKKyAgICAn
aWQ6IHt9XG4nCisgICAgJ2V2ZW50OiBtc2dcbicKKyAgICAnZGF0YTogREFUQXt9Jy5mb3JtYXQo
aWQsIGludChpZCksIGlkICsgMC4xLCAnXG4nICogKGludChpZCkgLSAxKSkKKykKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1lb2YucHkKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNl
cy9ldmVudC1zdHJlYW0ucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2V2ZW50LXN0cmVhbS5waHAJKHJldmlzaW9uIDI3Mjg3MCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2V2ZW50LXN0
cmVhbS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MSArMCwwIEBACi08P3BocAotaGVhZGVyKCJD
b250ZW50LVR5cGU6IHRleHQvZXZlbnQtc3RyZWFtIik7Ci0/PgotCi06IGEgY29tbWVudCAoaWdu
b3JlZCkKLXRoaXMgbGluZSB3aWxsIGJlIGlnbm9yZWQgc2luY2UgdGhlcmUgaXMgbm8gZmllbGQg
YW5kIHRoZSBsaW5lIGl0c2VsZiBpcyBub3QgYSBmaWVsZAotZmllbGQ6IGFuIHVua25vd24gZmll
bGQgdGhhdCB3aWxsIGJlIGlnbm9yZWQKLTphbm90aGVyIGNvbW1tZW50Ci0KLWRhdGEgOiB0aGlz
IGxpbmUgd2lsbCBiZSBpZ25vcmVkIHNpbmNlIHRoZXJlIGlzIGEgc3BhY2UgYWZ0ZXIgZGF0YQot
Ci1kYXRhCi1kYXRhOgotZGF0YQotOiBkaXNwYXRjaCBldmVudCB3aXRoIHR3byBuZXdsaW5lcwot
Ci1kYXRhOiBzaW1wbGUKLQotZGF0YTogc3Bhbm5pbmcKLWRhdGE6bXVsdGlwbGUKLWRhdGEKLWRh
dGE6IGxpbmVzCi1kYXRhCi0KLWlkOiAxCi1kYXRhOiBpZCBpcyAxCi0KLWRhdGE6IGlkIGlzIHN0
aWxsIDEKLQotaWQKLWRhdGE6IG5vIGlkCi0KLWV2ZW50OiBvcGVuCi1kYXRhOiBhIG1lc3NhZ2Ug
ZXZlbnQgd2l0aCB0aGUgbmFtZSAib3BlbiIKLQotPD9waHAgZmx1c2goKTsgZWNobyAiZGEiOyBm
bHVzaCgpOyA/PgotdGE6IGEgbWVzc2FnZSBldmVudCB3aXRoIHRoZSBuYW1lICJtZXNzYWdlIgot
Ci08P3BocCBlY2hvICJkYXRhOiBhIGxpbmUgZW5kaW5nIHdpdGggY3JsZlxyXG4iOyA/PgotZGF0
YTogYSBsaW5lIHdpdGggYSA6IChjb2xvbikKLTw/cGhwIGVjaG8gImRhdGE6IGEgbGluZSBlbmRp
bmcgd2l0aCBjclxyIjsgPz4KLQotcmV0cnk6IDEwMDAwCi06IHJlY29ubmVjdGlvbiB0aW1lIHNl
dCB0byAxMCBzZWNvbmRzCi0KLXJldHJ5OiBvbmUgdGhvdXNhbmQKLTogaWdub3JlZCBpbnZhbGlk
IHJlY29ubmVjdGlvbiB0aW1lIHZhbHVlCi0KLXJldHJ5Ci06IHJlc2V0IHRvIHVhIGRlZmF1bHQK
LQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXZl
bnQtc3RyZWFtLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvcmVzb3VyY2VzL2V2ZW50LXN0cmVhbS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9ldmVudC1zdHJlYW0ucHkJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitp
bXBvcnQgc3lzCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9l
dmVudC1zdHJlYW1cclxuXHJcblxuJworICAgICc6IGEgY29tbWVudCAoaWdub3JlZClcbicKKyAg
ICAndGhpcyBsaW5lIHdpbGwgYmUgaWdub3JlZCBzaW5jZSB0aGVyZSBpcyBubyBmaWVsZCBhbmQg
dGhlIGxpbmUgaXRzZWxmIGlzIG5vdCBhIGZpZWxkXG4nCisgICAgJ2ZpZWxkOiBhbiB1bmtub3du
IGZpZWxkIHRoYXQgd2lsbCBiZSBpZ25vcmVkXG4nCisgICAgJzphbm90aGVyIGNvbW1tZW50XG5c
bicKKyAgICAnZGF0YSA6IHRoaXMgbGluZSB3aWxsIGJlIGlnbm9yZWQgc2luY2UgdGhlcmUgaXMg
YSBzcGFjZSBhZnRlciBkYXRhXG5cbicKKyAgICAnZGF0YVxuJworICAgICdkYXRhOlxuJworICAg
ICdkYXRhXG4nCisgICAgJzogZGlzcGF0Y2ggZXZlbnQgd2l0aCB0d28gbmV3bGluZXNcblxuJwor
ICAgICdkYXRhOiBzaW1wbGVcblxuJworICAgICdkYXRhOiBzcGFubmluZ1xuJworICAgICdkYXRh
Om11bHRpcGxlXG4nCisgICAgJ2RhdGFcbicKKyAgICAnZGF0YTogbGluZXNcbicKKyAgICAnZGF0
YVxuXG4nCisgICAgJ2lkOiAxXG4nCisgICAgJ2RhdGE6IGlkIGlzIDFcblxuJworICAgICdkYXRh
OiBpZCBpcyBzdGlsbCAxXG5cbicKKyAgICAnaWRcbicKKyAgICAnZGF0YTogbm8gaWRcblxuJwor
ICAgICdldmVudDogb3BlblxuJworICAgICdkYXRhOiBhIG1lc3NhZ2UgZXZlbnQgd2l0aCB0aGUg
bmFtZSAib3BlbiJcblxuJworKQorCitzeXMuc3Rkb3V0LmZsdXNoKCkKK3ByaW50KCdkYScsIGVu
ZD0nJykKK3N5cy5zdGRvdXQuZmx1c2goKQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICd0YTog
YSBtZXNzYWdlIGV2ZW50IHdpdGggdGhlIG5hbWUgIm1lc3NhZ2UiXG5cbicKKyAgICAnZGF0YTog
YSBsaW5lIGVuZGluZyB3aXRoIGNybGZcclxuJworICAgICdkYXRhOiBhIGxpbmUgd2l0aCBhIDog
KGNvbG9uKVxuJworICAgICdkYXRhOiBhIGxpbmUgZW5kaW5nIHdpdGggY3JcclxuJworICAgICdy
ZXRyeTogMTAwMDBcbicKKyAgICAnOiByZWNvbm5lY3Rpb24gdGltZSBzZXQgdG8gMTAgc2Vjb25k
c1xuXG4nCisgICAgJ3JldHJ5OiBvbmUgdGhvdXNhbmRcbicKKyAgICAnOiBpZ25vcmVkIGludmFs
aWQgcmVjb25uZWN0aW9uIHRpbWUgdmFsdWVcblxuJworICAgICdyZXRyeVxuJworICAgICc6IHJl
c2V0IHRvIHVhIGRlZmF1bHRcblxuXG4nCispClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoK
UHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9y
ZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxl
CiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZl
bnQtc3RyZWFtLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucGhwCShyZXZpc2lvbiAyNzI4
NzApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9pbmZp
bml0ZS1ldmVudC1zdHJlYW0ucGhwCShub25leGlzdGVudCkKQEAgLTEsMjcgKzAsMCBAQAotPD9w
aHAKLWRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoIkFtZXJpY2EvTmV3X1lvcmsiKTsKLWhlYWRl
cigiQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbSIpOwotJGNvdW50ZXIgPSByYW5kKDEs
IDEwKTsgLy8gYSByYW5kb20gY291bnRlcgotd2hpbGUgKDEpIHsKLS8vIDEgaXMgYWx3YXlzIHRy
dWUsIHNvIHJlcGVhdCB0aGUgd2hpbGUgbG9vcCBmb3JldmVyIChha2EgZXZlbnQtbG9vcCkKLSAg
JGN1ckRhdGUgPSBkYXRlKERBVEVfSVNPODYwMSk7Ci0gIGVjaG8gImV2ZW50OiBwaW5nXG4iLAot
ICAgICAgICdkYXRhOiB7InRpbWUiOiAiJyAuICRjdXJEYXRlIC4gJyJ9JywgIlxuXG4iOwotICAv
LyBTZW5kIGEgc2ltcGxlIG1lc3NhZ2UgYXQgcmFuZG9tIGludGVydmFscy4KLSAgJGNvdW50ZXIt
LTsKLSAgaWYgKCEkY291bnRlcikgewotICAgIGVjaG8gJ2RhdGE6IFRoaXMgaXMgYSBtZXNzYWdl
IGF0IHRpbWUgJyAuICRjdXJEYXRlLCAiXG5cbiI7Ci0gICAgJGNvdW50ZXIgPSByYW5kKDEsIDEw
KTsgLy8gcmVzZXQgcmFuZG9tIGNvdW50ZXIKLSAgfQotICAvLyBmbHVzaCB0aGUgb3V0cHV0IGJ1
ZmZlciBhbmQgc2VuZCBlY2hvZWQgbWVzc2FnZXMgdG8gdGhlIGJyb3dzZXIKLSAgd2hpbGUgKG9i
X2dldF9sZXZlbCgpID4gMCkgewotICAgIG9iX2VuZF9mbHVzaCgpOwotICB9Ci0gIGZsdXNoKCk7
Ci0gIC8vIGJyZWFrIHRoZSBsb29wIGlmIHRoZSBjbGllbnQgYWJvcnRlZCB0aGUgY29ubmVjdGlv
biAoY2xvc2VkIHRoZSBwYWdlKQotICAKLSAgaWYgKCBjb25uZWN0aW9uX2Fib3J0ZWQoKSApIGJy
ZWFrOwotICAvLyBzbGVlcCBmb3IgMSBzZWNvbmQgYmVmb3JlIHJ1bm5pbmcgdGhlIGxvb3AgYWdh
aW4KLSAgCi0gIHNsZWVwKDEpOwotfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2luZmluaXRlLWV2
ZW50LXN0cmVhbS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2
ZW50c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyOCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQganNv
bgoraW1wb3J0IG9zCitpbXBvcnQgcmFuZG9tCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQorZnJv
bSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1U
eXBlOiB0ZXh0L2V2ZW50LXN0cmVhbVxyXG5cclxuJykKKworY291bnRlciA9IHJhbmRvbS5yYW5k
aW50KDEsIDEwKQord2hpbGUgVHJ1ZToKKyAgICBjdXJEYXRlID0gJ3t9LTA1MDAnLmZvcm1hdChk
YXRldGltZS5ub3coKS5pc29mb3JtYXQoKS5zcGxpdCgnLicpWzBdKQorICAgIGRhdGEgPSB7InRp
bWUiOiBjdXJEYXRlfQorICAgIHN5cy5zdGRvdXQud3JpdGUoCisgICAgICAgICdldmVudDogcGlu
Z1xuJworICAgICAgICAnZGF0YToge31cblxuJy5mb3JtYXQoanNvbi5kdW1wcyhkYXRhKSkKKyAg
ICApCisKKyAgICBjb3VudGVyIC09IDEKKyAgICBpZiBub3QgY291bnRlcjoKKyAgICAgICAgc3lz
LnN0ZG91dC53cml0ZSgnZGF0YTogVGhpcyBpcyBhIG1lc3NhZ2UgYXQgdGltZSB7fVxuXG4nLmZv
cm1hdChjdXJEYXRlKSkKKyAgICAgICAgY291bnRlciA9IHJhbmRvbS5yYW5kaW50KDEsIDEwKQor
CisgICAgc3lzLnN0ZG91dC5mbHVzaCgpCisKKyAgICB0aW1lLnNsZWVwKDEpClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9yZXNvdXJjZXMvcmVjb25uZWN0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZWNvbm5lY3QucGhwCShyZXZpc2lvbiAy
NzI4NzApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9y
ZWNvbm5lY3QucGhwCShub25leGlzdGVudCkKQEAgLTEsMTMgKzAsMCBAQAotPD9waHAKLWhlYWRl
cigiQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbSIpOwotJGxhc3RFdmVudElkID0gJF9T
RVJWRVJbJ0hUVFBfTEFTVF9FVkVOVF9JRCddOwotCi1pZiAoJGxhc3RFdmVudElkKQotICAgIGVj
aG8gImRhdGE6ICRsYXN0RXZlbnRJZFxuXG4iOwotZWxzZSB7Ci0gICAgZWNobyAiaWQ6IDc3XG4i
OwotICAgIGVjaG8gInJldHJ5OiAzMDBcbiI7Ci0gICAgZWNobyAiZGF0YTogaGVsbG9cblxuIjsK
LSAgICBlY2hvICJkYXRhOiBkaXNjYXJkZWQiOwotfQotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3JlY29ubmVjdC5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZWNvbm5lY3Qu
cHkJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9y
ZXNvdXJjZXMvcmVjb25uZWN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK3N5cy5zdGRv
dXQud3JpdGUoJ0NvbnRlbnQtVHlwZTogdGV4dC9ldmVudC1zdHJlYW1cclxuXHJcbicpCisKK2xh
c3RFdmVudElkID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfTEFTVF9FVkVOVF9JRCcpCitpZiBsYXN0
RXZlbnRJZDoKKyAgICBwcmludCgnZGF0YToge31cbicuZm9ybWF0KGxhc3RFdmVudElkKSkKK2Vs
c2U6CisgICAgcHJpbnQoJycnaWQ6IDc3CityZXRyeTogMzAwCitkYXRhOiBoZWxsb1xuCitkYXRh
OiBkaXNjYXJkZWQnJycpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvcmVj
b25uZWN0LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMK
KyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvcmVxdWVzdC1leGlzdGVudC1ldmVudHNvdXJj
ZS1lcnJvci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvcmVzb3VyY2VzL3JlcXVlc3QtZXhpc3RlbnQtZXZlbnRzb3VyY2UtZXJyb3IuaHRtbAko
cmV2aXNpb24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9y
ZXNvdXJjZXMvcmVxdWVzdC1leGlzdGVudC1ldmVudHNvdXJjZS1lcnJvci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0yLDcgKzIsNyBAQAogICA8Ym9keT4KICAgICA8c2NyaXB0PgogICAgICAgZnVu
Y3Rpb24gc3RhdHVzVGVzdChzdGF0dXMpIHsKLSAgICAgICAgdmFyIHNvdXJjZSA9IG5ldyBFdmVu
dFNvdXJjZSgic3RhdHVzLWNvZGVzLnBocD9zdGF0dXM9IiArIHN0YXR1cyk7CisgICAgICAgIHZh
ciBzb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoInN0YXR1cy1jb2Rlcy5weT9zdGF0dXM9IiArIHN0
YXR1cyk7CiAgICAgICAgIHNvdXJjZS5vbmVycm9yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
dG9wLmZpbmlzaCgpOwogICAgICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2
ZW50c291cmNlL3Jlc291cmNlcy9yZXNwb25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMv
cmVzcG9uc2UtY29udGVudC10eXBlLWNoYXJzZXQucGhwCShyZXZpc2lvbiAyNzI4NzApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZXNwb25zZS1jb250
ZW50LXR5cGUtY2hhcnNldC5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi08P3Bo
cAotJGNvbnRlbnRUeXBlID0gJF9HRVRbImNvbnRlbnRUeXBlIl07Ci0vLyBJZiB0aGUgbWFnaWMg
cXVvdGVzIG9wdGlvbiBpcyBlbmFibGVkLCB0aGUgY2hhcnNldCBjb3VsZCBiZSBlc2NhcGVkIGFu
ZCB3ZQotLy8gd291bGQgZmFpbCBvdXIgdGVzdC4gRm9yIGV4YW1wbGUsIGNoYXJzZXQ9InV0Zi04
IiB3b3VsZCBiZWNvbWUgY2hhcnNldD1cInV0Zi04XCIuCi1pZiAoZ2V0X21hZ2ljX3F1b3Rlc19n
cGMoKSkgewotICAgICRjb250ZW50VHlwZSA9IHN0cmlwc2xhc2hlcygkY29udGVudFR5cGUpOwot
fQotaGVhZGVyKCJDb250ZW50LVR5cGU6ICRjb250ZW50VHlwZSIpOwotPz4KLQotaWQ6IDc3Ci1y
ZXRyeTogMzAwCi1kYXRhOiBoZWxsbwotCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2
ZW50c291cmNlL3Jlc291cmNlcy9yZXNwb25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9y
ZXNwb25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZXNwb25zZS1jb250ZW50LXR5
cGUtY2hhcnNldC5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACisjIS91c3IvYmlu
L2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2Ug
aW1wb3J0IHBhcnNlX3FzCisKK2NvbnRlbnRUeXBlID0gcGFyc2VfcXMob3MuZW52aXJvbi5nZXQo
J1FVRVJZX1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdjb250ZW50
VHlwZScsIFsnJ10pWzBdCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6IHt9
XHJcblxyXG5cbicKKyAgICAnaWQ6IDc3XG4nCisgICAgJ3JldHJ5OiAzMDBcbicKKyAgICAnZGF0
YTogaGVsbG9cblxuXG4nLmZvcm1hdChjb250ZW50VHlwZSkKKykKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2
ZW50c291cmNlL3Jlc291cmNlcy9yZXNwb25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5weQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvcmVzb3VyY2VzL3N0YXR1cy1jb2Rlcy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvc3RhdHVzLWNvZGVzLnBocAkocmV2
aXNpb24gMjcyODcwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNv
dXJjZXMvc3RhdHVzLWNvZGVzLnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLTw/
cGhwCi0kc3RhdHVzX2NvZGUgPSAkX0dFVFsnc3RhdHVzLWNvZGUnXTsKLWhlYWRlcigiSFRUUC8x
LjEgJHN0YXR1c19jb2RlIE9LIik7Ci0KLXN3aXRjaCAoJHN0YXR1c19jb2RlKSB7Ci1jYXNlIDIw
MDoKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9ldmVudC1zdHJlYW0iKTsKLSAgICBl
Y2hvICJkYXRhOiBoZWxsb1xuXG4iOwotICAgIGJyZWFrOwotY2FzZSAzMDE6Ci1jYXNlIDMwMjoK
LWNhc2UgMzAzOgotY2FzZSAzMDc6Ci0gICAgJHVyaSA9IHJ0cmltKGRpcm5hbWUoJF9TRVJWRVJb
J1BIUF9TRUxGJ10pLCAnL1xcJykgLiAiL3NpbXBsZS1ldmVudC1zdHJlYW0uYXNpcyI7Ci0gICAg
aGVhZGVyKCJMb2NhdGlvbjogaHR0cDovLyIgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAkdXJp
KTsKLSAgICBicmVhazsKLX0KLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
c291cmNlL3Jlc291cmNlcy9zdGF0dXMtY29kZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvc3RhdHVzLWNvZGVzLnB5CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2Vz
L3N0YXR1cy1jb2Rlcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACisjIS91c3Iv
YmluL2VudiBweXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFy
c2UgaW1wb3J0IHBhcnNlX3FzCisKK3N0YXR1c19jb2RlID0gaW50KHBhcnNlX3FzKG9zLmVudmly
b24uZ2V0KCdRVUVSWV9TVFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgn
c3RhdHVzLWNvZGUnLCBbMjAwXSlbMF0pCitzY3JpcHRfdXJsID0gb3MuZW52aXJvbi5nZXQoJ1ND
UklQVF9VUkwnKQoraHR0cF9ob3N0ID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfSE9TVCcpCisKK3N5
cy5zdGRvdXQud3JpdGUoJ3N0YXR1czoge31cclxuJy5mb3JtYXQoc3RhdHVzX2NvZGUpKQorCitp
ZiBzdGF0dXNfY29kZSA9PSAyMDA6CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ0Nv
bnRlbnQtVHlwZTogdGV4dC9ldmVudC1zdHJlYW1cclxuXHJcbicKKyAgICAgICAgJ2RhdGE6IGhl
bGxvXG5cbicKKyAgICApCitlbGlmIHN0YXR1c19jb2RlID09IDMwMSBvciBzdGF0dXNfY29kZSA9
PSAzMDIgb3Igc3RhdHVzX2NvZGUgPT0gMzAzIG9yIHN0YXR1c19jb2RlID09IDMwNzoKKyAgICBz
eXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuJwor
ICAgICAgICAnTG9jYXRpb246IGh0dHA6Ly97fXt9L3NpbXBsZS1ldmVudC1zdHJlYW0uYXNpc1xy
XG5cclxuJy5mb3JtYXQoaHR0cF9ob3N0LCAnLycuam9pbihzY3JpcHRfdXJsLnNwbGl0KCcvJylb
MDotMV0pKQorICAgICkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9zdGF0
dXMtY29kZXMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3Vy
Y2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5waHAJKHJldmlzaW9uIDI3Mjg3MCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnkt
ZG9uZS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw4ICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIkNv
bnRlbnQtVHlwZTogdGV4dC9odG1sIik7Ci1oZWFkZXIoIkV4cGlyZXM6IFRodSwgMDEgRGVjIDIw
MDMgMTY6MDA6MDAgR01UIik7Ci1oZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlLCBuby1j
YWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7Ci1oZWFkZXIoIlByYWdtYTogbm8tY2FjaGUiKTsKLXNs
ZWVwKDEpOwotZWNobyAiPHNjcmlwdD4gaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTwvc2NyaXB0PlxuIjsKLT8+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvd2Fp
dC10aGVuLW5vdGlmeS1kb25lLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5weQkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2lt
cG9ydCBzeXMKK2ltcG9ydCB0aW1lCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQt
VHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAnRXhwaXJlczogVGh1LCAwMSBEZWMgMjAwMyAxNjow
MDowMCBHTVRcclxuJworICAgICdDYWNoZS1Db250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUsIG11
c3QtcmV2YWxpZGF0ZVxyXG4nCisgICAgJ1ByYWdtYTogbm8tY2FjaGVcclxuXHJcbicKKykKKwor
dGltZS5zbGVlcCgxKQorCitwcmludCgnPHNjcmlwdD4gaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTwvc2NyaXB0PicpClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420494</attachid>
            <date>2021-02-16 10:27:02 -0800</date>
            <delta_ts>2021-02-16 13:46:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221940-20210216132700.patch</filename>
            <type>text/plain</type>
            <size>34203</size>
            <attacher name="Chris Gambrell">cgambrell</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3MjkxNSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTAyLTE2ICBDaHJpcyBHYW1icmVsbCAg
PGNnYW1icmVsbEBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFRlc3RzXSBDb252ZXJ0IGh0
dHAvdGVzdHMvZXZlbnRzb3VyY2UgY29udmVydCBQSFAgdG8gUHl0aG9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5NDAKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzc0MzcyNzgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb250ZW50
LXR5cGUtY2hhcnNldC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtY29ycy1iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLWJhc2ljLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1jb3JzLXdpdGgtY3JlZGVudGlhbHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29y
cy13aXRoLWNyZWRlbnRpYWxzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9ldmVudHNvdXJjZS1lb2YuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLWV2ZW50cy1hZnRlci1jbG9zZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29u
bmVjdGluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcGFyc2UtZXZlbnQtc3RyZWFtLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmlnYXRlLWNyYXNoLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXN0YXR1cy1j
b2RlLXN0YXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRz
b3VyY2UtdXJsLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9ldmVudHNvdXJjZS11cmwtYXR0cmlidXRlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNpYy5waHA6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNp
Yy5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMv
ZXMtY29ycy1jcmVkZW50aWFscy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5weTogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtZW9mLnBocDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1lb2YucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2V2ZW50
LXN0cmVhbS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9y
ZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2
ZW50c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucGhwOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2luZmluaXRlLWV2ZW50
LXN0cmVhbS5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNv
dXJjZXMvcmVjb25uZWN0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50
c291cmNlL3Jlc291cmNlcy9yZWNvbm5lY3QucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3JlcXVlc3QtZXhpc3RlbnQtZXZlbnRzb3VyY2UtZXJy
b3IuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZXNw
b25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvcmVzcG9uc2UtY29udGVudC10eXBlLWNoYXJzZXQu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3N0
YXR1cy1jb2Rlcy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9yZXNvdXJjZXMvc3RhdHVzLWNvZGVzLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucGhwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3dhaXQtdGhlbi1u
b3RpZnktZG9uZS5weTogQWRkZWQuCisKIDIwMjEtMDItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlZW5hYmxlIEdQVVByb2Nlc3MgTWVkaWEgZmxhZyBp
biBXZWJSVEMgdGVzdHMKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
ZXZlbnRzb3VyY2UtY29udGVudC10eXBlLWNoYXJzZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLWNvbnRlbnQtdHlwZS1j
aGFyc2V0Lmh0bWwJKHJldmlzaW9uIDI3MjkwOCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29udGVudC10eXBlLWNoYXJzZXQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBAQCBmdW5jdGlvbiBlcnJvckxpc3RlbmVyKGV2dCkgewog
CiBmdW5jdGlvbiBzdGFydFJlcXVlc3QoKQogewotICAgIGVzID0gbmV3IEV2ZW50U291cmNlKCJy
ZXNvdXJjZXMvcmVzcG9uc2UtY29udGVudC10eXBlLWNoYXJzZXQucGhwP2NvbnRlbnRUeXBlPSIg
KyBlc2NhcGUoY29udGVudFR5cGVzW2ldKSk7CisgICAgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJl
c291cmNlcy9yZXNwb25zZS1jb250ZW50LXR5cGUtY2hhcnNldC5weT9jb250ZW50VHlwZT0iICsg
ZXNjYXBlKGNvbnRlbnRUeXBlc1tpXSkpOwogICAgIGVzLm9ub3BlbiA9IG9wZW5MaXN0ZW5lcjsK
ICAgICBlcy5vbm1lc3NhZ2UgPSBtZXNzYWdlTGlzdGVuZXI7CiAgICAgZXMub25lcnJvciA9IGVy
cm9yTGlzdGVuZXI7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLWNvcnMtYmFzaWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy1iYXNpYy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDI3MjkwOCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvZXZlbnRzb3VyY2UtY29ycy1iYXNpYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNyArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgotQ09O
U09MRSBNRVNTQUdFOiBFdmVudFNvdXJjZSBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0Ojgw
MDAvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMucGhwP2NvdW50PTEgZHVlIHRv
IGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogRXZlbnRTb3VyY2UgY2Fu
bm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1j
b3JzLWJhc2ljLnB5P2NvdW50PTEgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KIENPTlNP
TEUgTUVTU0FHRTogT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBi
eSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05TT0xFIE1FU1NBR0U6IEV2ZW50U291
cmNlIGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJj
ZXMvZXMtY29ycy1iYXNpYy5waHA/Y291bnQ9MiBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tz
LgorQ09OU09MRSBNRVNTQUdFOiBFdmVudFNvdXJjZSBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxo
b3N0OjgwMDAvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMucHk/Y291bnQ9MiBk
dWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgogVGVzdCB0aGF0IGJhc2ljIEV2ZW50U291cmNl
IGNyb3NzLW9yaWdpbiByZXF1ZXN0cyBmYWlsIHVudGlsIHRoZXkgYXJlIGFsbG93ZWQgYnkgdGhl
IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoZWFkZXIuIFNob3VsZCBwcmludCBhIHNlcmll
cyBvZiBQQVNTIG1lc3NhZ2VzIGZvbGxvd2VkIGJ5IERPTkUuCiAKIFBBU1M6IGdvdCBlcnJvciBl
dmVudCBhbmQgcmVhZHlTdGF0ZSBpcyBDTE9TRUQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy1iYXNpYy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy1iYXNp
Yy5odG1sCShyZXZpc2lvbiAyNzI5MDgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
c291cmNlL2V2ZW50c291cmNlLWNvcnMtYmFzaWMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIs
NyArMjIsNyBAQCB2YXIgYmFzZV91cmwgPSBsb2NhdGlvbi5ocmVmLnN1YnN0cigwLCBsCiAKIGZ1
bmN0aW9uIGNyZWF0ZV9lcygpIHsKICAgICB0cnkgewotICAgICAgICB2YXIgZXMgPSBuZXcgRXZl
bnRTb3VyY2UoYmFzZV91cmwgKyAiL3Jlc291cmNlcy9lcy1jb3JzLWJhc2ljLnBocD9jb3VudD0i
ICsgY291bnQpOworICAgICAgICB2YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoYmFzZV91cmwgKyAi
L3Jlc291cmNlcy9lcy1jb3JzLWJhc2ljLnB5P2NvdW50PSIgKyBjb3VudCk7CiAgICAgfQogICAg
IGNhdGNoIChleCkgewogICAgICAgICBsb2coIkZBSUw6IEV2ZW50U291cmNlIGNvbnN0cnVjdG9y
IHRocmV3IGV4Y2VwdGlvbjogIiArIGV4KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy13aXRoLWNyZWRlbnRpYWxzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50
c291cmNlLWNvcnMtd2l0aC1jcmVkZW50aWFscy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3Mjkw
OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29y
cy13aXRoLWNyZWRlbnRpYWxzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICsx
LDkgQEAKIENPTlNPTEUgTUVTU0FHRTogQ2Fubm90IHVzZSB3aWxkY2FyZCBpbiBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4gd2hlbiBjcmVkZW50aWFscyBmbGFnIGlzIHRydWUuCi1DT05TT0xF
IE1FU1NBR0U6IEV2ZW50U291cmNlIGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9l
dmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5waHA/Y291bnQ9MSBkdWUg
dG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBFdmVudFNvdXJjZSBj
YW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2Vz
LWNvcnMtY3JlZGVudGlhbHMucHk/Y291bnQ9MSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tz
LgogQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgdXNlIHdpbGRjYXJkIGluIEFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiB3aGVuIGNyZWRlbnRpYWxzIGZsYWcgaXMgdHJ1ZS4KLUNPTlNPTEUgTUVT
U0FHRTogRXZlbnRTb3VyY2UgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2V2ZW50
c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxzLnBocD9jb3VudD0yIGR1ZSB0byBh
Y2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IEV2ZW50U291cmNlIGNhbm5v
dCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29y
cy1jcmVkZW50aWFscy5weT9jb3VudD0yIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCiBD
T05TT0xFIE1FU1NBR0U6IENyZWRlbnRpYWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1Db250
cm9sLUFsbG93LUNyZWRlbnRpYWxzIGlzIG5vdCAidHJ1ZSIuCi1DT05TT0xFIE1FU1NBR0U6IEV2
ZW50U291cmNlIGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9ldmVudHNvdXJjZS9y
ZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5waHA/Y291bnQ9MyBkdWUgdG8gYWNjZXNzIGNv
bnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBFdmVudFNvdXJjZSBjYW5ub3QgbG9hZCBo
dHRwOi8vbG9jYWxob3N0OjgwMDAvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtY3JlZGVu
dGlhbHMucHk/Y291bnQ9MyBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgogVGVzdCB0aGF0
IEV2ZW50U291cmNlIGNyb3NzLW9yaWdpbiByZXF1ZXN0cyB3aXRoIGNyZWRlbnRpYWxzIGZhaWwg
dW50aWwgdGhlIGNvcnJlY3QgQ09SUyBoZWFkZXJzIGFyZSBzZW50LiBTaG91bGQgcHJpbnQgYSBz
ZXJpZXMgb2YgUEFTUyBtZXNzYWdlcyBmb2xsb3dlZCBieSBET05FLgogCiBQQVNTOiBnb3QgZXJy
b3IgZXZlbnQgYW5kIHJlYWR5U3RhdGUgaXMgQ0xPU0VECkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLWNvcnMtd2l0aC1jcmVkZW50aWFscy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRz
b3VyY2UtY29ycy13aXRoLWNyZWRlbnRpYWxzLmh0bWwJKHJldmlzaW9uIDI3MjkwOCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29ycy13aXRoLWNy
ZWRlbnRpYWxzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAgdmFyIGJhc2Vf
dXJsID0gbG9jYXRpb24uaHJlZi5zdWJzdHIoMCwgbAogCiBmdW5jdGlvbiBjcmVhdGVfZXMoKSB7
CiAgICAgdHJ5IHsKLSAgICAgICAgdmFyIGVzID0gbmV3IEV2ZW50U291cmNlKGJhc2VfdXJsICsg
Ii9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5waHA/Y291bnQ9IiArIGNvdW50LCB7Indp
dGhDcmVkZW50aWFscyI6IHRydWV9KTsKKyAgICAgICAgdmFyIGVzID0gbmV3IEV2ZW50U291cmNl
KGJhc2VfdXJsICsgIi9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5weT9jb3VudD0iICsg
Y291bnQsIHsid2l0aENyZWRlbnRpYWxzIjogdHJ1ZX0pOwogICAgIH0KICAgICBjYXRjaCAoZXgp
IHsKICAgICAgICAgbG9nKCJGQUlMOiBFdmVudFNvdXJjZSBjb25zdHJ1Y3RvciB0aHJldyBleGNl
cHRpb246ICIgKyBleCk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLWVvZi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtZW9mLmh0bWwJKHJldmlzaW9uIDI3MjkwOCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtZW9mLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAKIHZhciBjb3VudCA9IDE7CiAKLXZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2Vz
L2VzLWVvZi5waHAiKTsKK3ZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL2VzLWVv
Zi5weSIpOwogCiBlcy5vbmVycm9yID0gZnVuY3Rpb24gKCkgewogICAgIGlmIChjb3VudCsrID09
IDMpIHsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtZXZlbnRzLWFmdGVyLWNsb3NlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1ldmVudHMtYWZ0ZXItY2xvc2UuaHRtbAko
cmV2aXNpb24gMjcyOTA4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9l
dmVudHNvdXJjZS1ldmVudHMtYWZ0ZXItY2xvc2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTIs
NyArMTIsNyBAQAogICAgIH0KIAogICAgIHZhciBsb2cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibG9nIik7Ci0gICAgdmFyIGVzID0gbmV3IEV2ZW50U291cmNlKCJyZXNvdXJjZXMvZXZlbnQt
c3RyZWFtLnBocCIpOworICAgIHZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL2V2
ZW50LXN0cmVhbS5weSIpOwogICAgIHZhciBjb3VudGVyID0gMDsKICAgICBlcy5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgbG9nLmlubmVySFRNTCAr
PSAiR290IG1lc3NhZ2UgIyIgKyArK2NvdW50ZXIgKyAiXG4iOwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0ZWQuaHRtbAkocmV2aXNpb24gMjcyOTA4KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hl
LWNvbm5lY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmMKIAogb25sb2FkID0gKCkgPT4gewogICAg
IHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgIGV2ZW50U291cmNlID0gbmV3IEV2ZW50U291cmNl
KCJyZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnBocCIpOworICAgICAgIGV2ZW50U291
cmNlID0gbmV3IEV2ZW50U291cmNlKCJyZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnB5
Iik7CiAKICAgICAgICAgZXZlbnRTb3VyY2Uub25lcnJvciA9ICgpID0+IHsKICAgICAgICAgICAg
IHRlc3RQYXNzZWQoIlJlY2VpdmVkIGVycm9yIGV2ZW50Iik7CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGluZy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLmh0bWwJKHJldmlzaW9uIDI3MjkwOCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNo
ZS1jb25uZWN0aW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuYwogICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKICAgICB9CiAKLSAgICBldmVudFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2Vz
L2luZmluaXRlLWV2ZW50LXN0cmVhbS5waHAiKTsKKyAgICBldmVudFNvdXJjZSA9IG5ldyBFdmVu
dFNvdXJjZSgicmVzb3VyY2VzL2luZmluaXRlLWV2ZW50LXN0cmVhbS5weSIpOwogCiAgICAgZXZl
bnRTb3VyY2Uub25lcnJvciA9ICgpID0+IHsKICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQg
ZXJyb3IgZXZlbnQiKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
ZXZlbnRzb3VyY2UtcGFyc2UtZXZlbnQtc3RyZWFtLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYXJzZS1ldmVudC1zdHJl
YW0uaHRtbAkocmV2aXNpb24gMjcyOTA4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9ldmVudHNvdXJjZS1wYXJzZS1ldmVudC1zdHJlYW0uaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTMsNyArMTMsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogdmFyIGNv
dW50ID0gLTE7Ci12YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9ldmVudC1zdHJl
YW0ucGhwIik7Cit2YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9ldmVudC1zdHJl
YW0ucHkiKTsKIAogZXMub25vcGVuID0gZnVuY3Rpb24gKGV2dCkgewogICAgIGlmICghZXZ0LmRh
dGEpCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNl
LXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJp
bmctbmF2aWdhdGUtY3Jhc2guaHRtbAkocmV2aXNpb24gMjcyOTA4KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmln
YXRlLWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTgsMTAgKzgsMTAgQEAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiB9CiAKIGZ1bmN0aW9uIG5hdmlnYXRlKCkgewotICAgIHdpbmRvdy5s
b2NhdGlvbiA9ICJyZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLnBocCI7CisgICAgd2lu
ZG93LmxvY2F0aW9uID0gInJlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucHkiOwogfQog
Ci12YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9yZWNvbm5lY3QucGhwIik7Cit2
YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9yZWNvbm5lY3QucHkiKTsKIGVzLm9u
ZXJyb3IgPSBmdW5jdGlvbigpIHsKICAgICBzZXRUaW1lb3V0KG5hdmlnYXRlLCAwKTsKIH07Cklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29u
bmVjdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3Vy
Y2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0Lmh0bWwJKHJldmlzaW9uIDI3MjkwOCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiB9CiAKIHZhciBlcnJDb3VudCA9IDA7Ci12YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291
cmNlcy9yZWNvbm5lY3QucGhwIik7Cit2YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNl
cy9yZWNvbm5lY3QucHkiKTsKIAogY2hlY2tSZWFkeVN0YXRlKGVzLCBDT05ORUNUSU5HKTsKIApJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1zdGF0
dXMtY29kZS1zdGF0ZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2V2ZW50c291cmNlL2V2ZW50c291cmNlLXN0YXR1cy1jb2RlLXN0YXRlcy5odG1sCShyZXZpc2lv
biAyNzI5MDgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXN0YXR1cy1jb2RlLXN0YXRlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3
IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgfQogCiAgICAgdmFyIHN0YXRlcyA9IFtdOwot
ICAgIHZhciBlcyA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL3N0YXR1cy1jb2Rlcy5waHA/
c3RhdHVzLWNvZGU9IiArIHRlc3RzW2NvdW50XS5jb2RlKTsKKyAgICB2YXIgZXMgPSBuZXcgRXZl
bnRTb3VyY2UoInJlc291cmNlcy9zdGF0dXMtY29kZXMucHk/c3RhdHVzLWNvZGU9IiArIHRlc3Rz
W2NvdW50XS5jb2RlKTsKICAgICBzdGF0ZXNbMF0gPSBlcy5yZWFkeVN0YXRlOwogCiAgICAgZXMu
b25vcGVuID0gZnVuY3Rpb24gKCkgewpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9ldmVudHNvdXJjZS11cmwtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXVybC1h
dHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzI5MDgpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXVybC1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDggKzMsOCBAQCBCb3RoIC5VUkwgYW5kIC51cmwgc2hv
dWxkIHdvcmsgKGZvciBjb21wCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBz
b3VyY2UuVVJMIGlzICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZXZlbnRzb3VyY2UvcmVzb3VyY2Vz
L2V2ZW50LXN0cmVhbS5waHAiCi1QQVNTIHNvdXJjZS51cmwgaXMgImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnBocCIKK1BBU1Mgc291cmNl
LlVSTCBpcyAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2V2ZW50c291cmNlL3Jlc291cmNlcy9ldmVu
dC1zdHJlYW0ucHkiCitQQVNTIHNvdXJjZS51cmwgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9l
dmVudHNvdXJjZS9yZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnB5IgogUEFTUyBzb3VyY2UuVVJMID09
PSBzb3VyY2UudXJsIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS11cmwt
YXR0cmlidXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9ldmVudHNvdXJjZS11cmwtYXR0cmlidXRlLmh0bWwJKHJldmlzaW9uIDI3MjkwOCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtdXJsLWF0
dHJpYnV0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogCiBkZXNjcmlwdGlv
bigiQm90aCAuVVJMIGFuZCAudXJsIHNob3VsZCB3b3JrIChmb3IgY29tcGF0aWJpbGl0eSByZWFz
b25zKS4iKTsKIAotdmFyIHVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZXZlbnRzb3VyY2Uv
cmVzb3VyY2VzL2V2ZW50LXN0cmVhbS5waHAiOwordmFyIHVybCA9ICJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2V2ZW50LXN0cmVhbS5weSI7CiB2YXIgc291cmNl
ID0gbmV3IEV2ZW50U291cmNlKHVybCk7CiAKIHNob3VsZEJlRXF1YWxUb1N0cmluZygic291cmNl
LlVSTCIsIHVybCk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jl
c291cmNlcy9lcy1jb3JzLWJhc2ljLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWJhc2ljLnBocAkocmV2aXNpb24g
MjcyOTA4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMv
ZXMtY29ycy1iYXNpYy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMCArMCwwIEBACi08P3BocAot
aWYgKCRfU0VSVkVSWyJSRVFVRVNUX01FVEhPRCJdID09ICJPUFRJT05TIikKLSAgICBkaWUoIkdv
dCB1bmV4cGVjdGVkIHByZWZsaWdodCByZXF1ZXN0Iik7Ci0KLWhlYWRlcigiQ29udGVudC1UeXBl
OiB0ZXh0L2V2ZW50LXN0cmVhbSIpOwotCi0kY291bnQgPSBpbnR2YWwoJF9HRVRbImNvdW50Il0p
OwotCi1pZiAoJGNvdW50ID09IDIpCi0gICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW46IGh0dHA6Ly9zb21lLm90aGVyLm9yaWdpbjo4MCIpOwotZWxzZSBpZiAoJGNvdW50ID09
IDMpCi0gICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoiKTsKLWVsc2Ug
aWYgKCRjb3VudCA+IDMpCi0gICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46
ICIgLiAkX1NFUlZFUlsiSFRUUF9PUklHSU4iXSk7Ci0KLWlmICgkX1NFUlZFUlsiSFRUUF9MQVNU
X0VWRU5UX0lEIl0gIT0gIjc3IikKLSAgICBlY2hvICJpZDogNzdcbmRhdGE6IERBVEExXG5yZXRy
eTogMFxuXG4iOwotZWxzZQotICAgIGVjaG8gImRhdGE6IERBVEEyXG5cbiI7Ci0/PgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1iYXNp
Yy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jl
c291cmNlcy9lcy1jb3JzLWJhc2ljLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWNvcnMtYmFzaWMucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzMSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQg
b3MKK2ltcG9ydCBzeXMKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCBwYXJzZV9xcworCityZXF1
ZXN0X21ldGhvZCA9IG9zLmVudmlyb24uZ2V0KCdSRVFVRVNUX01FVEhPRCcpCitjb3VudCA9IGlu
dChwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5HJywgJycpLCBrZWVwX2JsYW5r
X3ZhbHVlcz1UcnVlKS5nZXQoJ2NvdW50JywgWzBdKVswXSkKKworc3lzLnN0ZG91dC53cml0ZSgn
Q29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbVxyXG4nKQorCitpZiByZXF1ZXN0X21ldGhv
ZCA9PSAnT1BUSU9OUyc6CisgICAgc3lzLnN0ZG91dC53cml0ZSgnXHJcbkdvdCB1bmV4cGVjdGVk
IHByZWZsaWdodCByZXF1ZXN0XG4nKQorICAgIHN5cy5leGl0KDApCisKK2h0dHBfb3JpZ2luID0g
b3MuZW52aXJvbi5nZXQoJ0hUVFBfT1JJR0lOJykKK2h0dHBfbGFzdF9ldmVudF9pZCA9IG9zLmVu
dmlyb24uZ2V0KCdIVFRQX0xBU1RfRVZFTlRfSUQnKQorCitpZiBjb3VudCA9PSAyOgorICAgIHN5
cy5zdGRvdXQud3JpdGUoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogaHR0cDovL3NvbWUu
b3RoZXIub3JpZ2luOjgwXHJcblxyXG4nKQorZWxpZiBjb3VudCA9PSAzOgorICAgIHN5cy5zdGRv
dXQud3JpdGUoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKlxyXG5cclxuJykKK2VsaWYg
Y291bnQgPiAzOgorICAgIHN5cy5zdGRvdXQud3JpdGUoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbjoge31cclxuXHJcbicuZm9ybWF0KGh0dHBfb3JpZ2luKSkKK2Vsc2U6CisgICAgc3lzLnN0
ZG91dC53cml0ZSgnXHJcbicpCisKK2lmIGh0dHBfbGFzdF9ldmVudF9pZCAhPSAnNzcnOgorICAg
IHByaW50KCdpZDogNzdcbmRhdGE6IERBVEExXG5yZXRyeTogMFxuJykKK2Vsc2U6CisgICAgcHJp
bnQoJ2RhdGE6IERBVEEyXG4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2Vz
L2VzLWNvcnMtYmFzaWMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxz
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jl
c291cmNlcy9lcy1jb3JzLWNyZWRlbnRpYWxzLnBocAkocmV2aXNpb24gMjcyOTA4KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50
aWFscy5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyMSArMCwwIEBACi08P3BocAotaWYgKCRfU0VS
VkVSWyJSRVFVRVNUX01FVEhPRCJdID09ICJPUFRJT05TIikKLSAgICBkaWUoIkdvdCB1bmV4cGVj
dGVkIHByZWZsaWdodCByZXF1ZXN0Iik7Ci0KLWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2V2
ZW50LXN0cmVhbSIpOwotCi0kY291bnQgPSBpbnR2YWwoJF9HRVRbImNvdW50Il0pOwotCi1pZiAo
JGNvdW50ID09IDEgfHwgJGNvdW50ID09IDIpCi0gICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW46ICoiKTsKLWVsc2UgaWYgKCRjb3VudCA+IDIpCi0gICAgaGVhZGVyKCJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICIgLiAkX1NFUlZFUlsiSFRUUF9PUklHSU4iXSk7Ci0K
LWlmICgkY291bnQgPT0gMiB8fCAkY291bnQgPiAzKQotICAgIGhlYWRlcigiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctQ3JlZGVudGlhbHM6IHRydWUiKTsKLQotaWYgKCRfU0VSVkVSWyJIVFRQX0xBU1Rf
RVZFTlRfSUQiXSAhPSAiNzciKQotICAgIGVjaG8gImlkOiA3N1xuZGF0YTogREFUQTFcbnJldHJ5
OiAwXG5cbiI7Ci1lbHNlCi0gICAgZWNobyAiZGF0YTogREFUQTJcblxuIjsKLT8+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1jb3JzLWNyZWRl
bnRpYWxzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3Vy
Y2UvcmVzb3VyY2VzL2VzLWNvcnMtY3JlZGVudGlhbHMucHkJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtY29ycy1jcmVkZW50
aWFscy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACisjIS91c3IvYmluL2VudiBw
eXRob24zCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0
IHBhcnNlX3FzCisKK3JlcXVlc3RfbWV0aG9kID0gb3MuZW52aXJvbi5nZXQoJ1JFUVVFU1RfTUVU
SE9EJykKKworc3lzLnN0ZG91dC53cml0ZSgnQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVh
bVxyXG4nKQorCitpZiByZXF1ZXN0X21ldGhvZCA9PSAnT1BUSU9OUyc6CisgICAgc3lzLnN0ZG91
dC53cml0ZSgnXHJcbkdvdCB1bmV4cGVjdGVkIHByZWZsaWdodCByZXF1ZXN0XG4nKQorICAgIHN5
cy5leGl0KDApCisKK2NvdW50ID0gaW50KHBhcnNlX3FzKG9zLmVudmlyb24uZ2V0KCdRVUVSWV9T
VFJJTkcnLCAnJyksIGtlZXBfYmxhbmtfdmFsdWVzPVRydWUpLmdldCgnY291bnQnLCBbMF0pWzBd
KQoraHR0cF9vcmlnaW4gPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9PUklHSU4nKQoraHR0cF9sYXN0
X2V2ZW50X2lkID0gb3MuZW52aXJvbi5nZXQoJ0hUVFBfTEFTVF9FVkVOVF9JRCcpCisKK2lmIGNv
dW50ID09IDEgb3IgY291bnQgPT0gMjoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCdBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW46ICpcclxuJykKK2VsaWYgY291bnQgPiAyOgorICAgIHN5cy5zdGRv
dXQud3JpdGUoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjoge31cclxuJy5mb3JtYXQoaHR0
cF9vcmlnaW4pKQorCitpZiBjb3VudCA9PSAyIG9yIGNvdW50ID4gMzoKKyAgICBzeXMuc3Rkb3V0
LndyaXRlKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZVxyXG4nKQorCitz
eXMuc3Rkb3V0LndyaXRlKCdcclxuJykKKworaWYgaHR0cF9sYXN0X2V2ZW50X2lkICE9ICc3Nyc6
CisgICAgcHJpbnQoJ2lkOiA3N1xuZGF0YTogREFUQTFcbnJldHJ5OiAwXG4nKQorZWxzZToKKyAg
ICBwcmludCgnZGF0YTogREFUQTJcbicpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNv
dXJjZXMvZXMtY29ycy1jcmVkZW50aWFscy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0
YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWVvZi5w
aHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNv
dXJjZXMvZXMtZW9mLnBocAkocmV2aXNpb24gMjcyOTA4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXMtZW9mLnBocAkobm9uZXhpc3RlbnQpCkBAIC0x
LDEzICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9ldmVudC1zdHJl
YW0iKTsKLQotJGlkID0gZmxvYXR2YWwoJF9TRVJWRVJbJ0hUVFBfTEFTVF9FVkVOVF9JRCddKSAr
IDE7Ci0KLWVjaG8gInJldHJ5OiAwXG4iOwotZWNobyAiaWQ6ICIgLiAkaWQgLiAiXG4iOwotZWNo
byAiZGF0YTogREFUQSIgLiBpbnR2YWwoJGlkKSAuICJcblxuIjsKLQotZWNobyAiaWQ6ICIgLiAo
JGlkICsgMC4xKSAuICJcbiI7Ci1lY2hvICJldmVudDogbXNnXG4iOwotZWNobyAiZGF0YTogREFU
QSIgLiBzdHJfcmVwZWF0KCJcbiIsICRpZCAtIDEpOwotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2VzLWVvZi5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9lcy1lb2YucHkJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJj
ZXMvZXMtZW9mLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2lkID0gZmxvYXQob3MuZW52
aXJvbi5nZXQoJ0hUVFBfTEFTVF9FVkVOVF9JRCcsIDApKSArIDEKKworc3lzLnN0ZG91dC53cml0
ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbVxyXG5cclxuJworICAgICdy
ZXRyeTogMFxuJworICAgICdpZDoge2lkfVxuJworICAgICdkYXRhOiBEQVRBe2RhdGF9XG5cbicK
KyAgICAnaWQ6IHtpZF9pbmN9XG4nCisgICAgJ2V2ZW50OiBtc2dcbicKKyAgICAnZGF0YTogREFU
QXtuZXdsaW5lc30nLmZvcm1hdChpZD1pZCwgZGF0YT1pbnQoaWQpLCBpZF9pbmM9aWQgKyAwLjEs
IG5ld2xpbmVzPSdcbicgKiAoaW50KGlkKSAtIDEpKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvcmVzb3VyY2VzL2VzLWVvZi5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2V2ZW50LXN0cmVh
bS5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9y
ZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnBocAkocmV2aXNpb24gMjcyOTA4KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvZXZlbnQtc3RyZWFtLnBocAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDUxICswLDAgQEAKLTw/cGhwCi1oZWFkZXIoIkNvbnRlbnQtVHlwZTog
dGV4dC9ldmVudC1zdHJlYW0iKTsKLT8+Ci0KLTogYSBjb21tZW50IChpZ25vcmVkKQotdGhpcyBs
aW5lIHdpbGwgYmUgaWdub3JlZCBzaW5jZSB0aGVyZSBpcyBubyBmaWVsZCBhbmQgdGhlIGxpbmUg
aXRzZWxmIGlzIG5vdCBhIGZpZWxkCi1maWVsZDogYW4gdW5rbm93biBmaWVsZCB0aGF0IHdpbGwg
YmUgaWdub3JlZAotOmFub3RoZXIgY29tbW1lbnQKLQotZGF0YSA6IHRoaXMgbGluZSB3aWxsIGJl
IGlnbm9yZWQgc2luY2UgdGhlcmUgaXMgYSBzcGFjZSBhZnRlciBkYXRhCi0KLWRhdGEKLWRhdGE6
Ci1kYXRhCi06IGRpc3BhdGNoIGV2ZW50IHdpdGggdHdvIG5ld2xpbmVzCi0KLWRhdGE6IHNpbXBs
ZQotCi1kYXRhOiBzcGFubmluZwotZGF0YTptdWx0aXBsZQotZGF0YQotZGF0YTogbGluZXMKLWRh
dGEKLQotaWQ6IDEKLWRhdGE6IGlkIGlzIDEKLQotZGF0YTogaWQgaXMgc3RpbGwgMQotCi1pZAot
ZGF0YTogbm8gaWQKLQotZXZlbnQ6IG9wZW4KLWRhdGE6IGEgbWVzc2FnZSBldmVudCB3aXRoIHRo
ZSBuYW1lICJvcGVuIgotCi08P3BocCBmbHVzaCgpOyBlY2hvICJkYSI7IGZsdXNoKCk7ID8+Ci10
YTogYSBtZXNzYWdlIGV2ZW50IHdpdGggdGhlIG5hbWUgIm1lc3NhZ2UiCi0KLTw/cGhwIGVjaG8g
ImRhdGE6IGEgbGluZSBlbmRpbmcgd2l0aCBjcmxmXHJcbiI7ID8+Ci1kYXRhOiBhIGxpbmUgd2l0
aCBhIDogKGNvbG9uKQotPD9waHAgZWNobyAiZGF0YTogYSBsaW5lIGVuZGluZyB3aXRoIGNyXHIi
OyA/PgotCi1yZXRyeTogMTAwMDAKLTogcmVjb25uZWN0aW9uIHRpbWUgc2V0IHRvIDEwIHNlY29u
ZHMKLQotcmV0cnk6IG9uZSB0aG91c2FuZAotOiBpZ25vcmVkIGludmFsaWQgcmVjb25uZWN0aW9u
IHRpbWUgdmFsdWUKLQotcmV0cnkKLTogcmVzZXQgdG8gdWEgZGVmYXVsdAotCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9ldmVudC1zdHJlYW0ucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJj
ZXMvZXZlbnQtc3RyZWFtLnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2V2ZW50LXN0cmVhbS5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBzeXMKKwor
c3lzLnN0ZG91dC53cml0ZSgKKyAgICAnQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbVxy
XG5cclxuXG4nCisgICAgJzogYSBjb21tZW50IChpZ25vcmVkKVxuJworICAgICd0aGlzIGxpbmUg
d2lsbCBiZSBpZ25vcmVkIHNpbmNlIHRoZXJlIGlzIG5vIGZpZWxkIGFuZCB0aGUgbGluZSBpdHNl
bGYgaXMgbm90IGEgZmllbGRcbicKKyAgICAnZmllbGQ6IGFuIHVua25vd24gZmllbGQgdGhhdCB3
aWxsIGJlIGlnbm9yZWRcbicKKyAgICAnOmFub3RoZXIgY29tbW1lbnRcblxuJworICAgICdkYXRh
IDogdGhpcyBsaW5lIHdpbGwgYmUgaWdub3JlZCBzaW5jZSB0aGVyZSBpcyBhIHNwYWNlIGFmdGVy
IGRhdGFcblxuJworICAgICdkYXRhXG4nCisgICAgJ2RhdGE6XG4nCisgICAgJ2RhdGFcbicKKyAg
ICAnOiBkaXNwYXRjaCBldmVudCB3aXRoIHR3byBuZXdsaW5lc1xuXG4nCisgICAgJ2RhdGE6IHNp
bXBsZVxuXG4nCisgICAgJ2RhdGE6IHNwYW5uaW5nXG4nCisgICAgJ2RhdGE6bXVsdGlwbGVcbicK
KyAgICAnZGF0YVxuJworICAgICdkYXRhOiBsaW5lc1xuJworICAgICdkYXRhXG5cbicKKyAgICAn
aWQ6IDFcbicKKyAgICAnZGF0YTogaWQgaXMgMVxuXG4nCisgICAgJ2RhdGE6IGlkIGlzIHN0aWxs
IDFcblxuJworICAgICdpZFxuJworICAgICdkYXRhOiBubyBpZFxuXG4nCisgICAgJ2V2ZW50OiBv
cGVuXG4nCisgICAgJ2RhdGE6IGEgbWVzc2FnZSBldmVudCB3aXRoIHRoZSBuYW1lICJvcGVuIlxu
XG4nCispCisKK3N5cy5zdGRvdXQuZmx1c2goKQorcHJpbnQoJ2RhJywgZW5kPScnKQorc3lzLnN0
ZG91dC5mbHVzaCgpCisKK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ3RhOiBhIG1lc3NhZ2UgZXZl
bnQgd2l0aCB0aGUgbmFtZSAibWVzc2FnZSJcblxuJworICAgICdkYXRhOiBhIGxpbmUgZW5kaW5n
IHdpdGggY3JsZlxyXG4nCisgICAgJ2RhdGE6IGEgbGluZSB3aXRoIGEgOiAoY29sb24pXG4nCisg
ICAgJ2RhdGE6IGEgbGluZSBlbmRpbmcgd2l0aCBjclxyXG4nCisgICAgJ3JldHJ5OiAxMDAwMFxu
JworICAgICc6IHJlY29ubmVjdGlvbiB0aW1lIHNldCB0byAxMCBzZWNvbmRzXG5cbicKKyAgICAn
cmV0cnk6IG9uZSB0aG91c2FuZFxuJworICAgICc6IGlnbm9yZWQgaW52YWxpZCByZWNvbm5lY3Rp
b24gdGltZSB2YWx1ZVxuXG4nCisgICAgJ3JldHJ5XG4nCisgICAgJzogcmVzZXQgdG8gdWEgZGVm
YXVsdFxuXG5cbicKKykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9ldmVu
dC1zdHJlYW0ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAj
IworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucGhw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3Vy
Y2VzL2luZmluaXRlLWV2ZW50LXN0cmVhbS5waHAJKHJldmlzaW9uIDI3MjkwOCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2luZmluaXRlLWV2ZW50LXN0
cmVhbS5waHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNyArMCwwIEBACi08P3BocAotZGF0ZV9kZWZh
dWx0X3RpbWV6b25lX3NldCgiQW1lcmljYS9OZXdfWW9yayIpOwotaGVhZGVyKCJDb250ZW50LVR5
cGU6IHRleHQvZXZlbnQtc3RyZWFtIik7Ci0kY291bnRlciA9IHJhbmQoMSwgMTApOyAvLyBhIHJh
bmRvbSBjb3VudGVyCi13aGlsZSAoMSkgewotLy8gMSBpcyBhbHdheXMgdHJ1ZSwgc28gcmVwZWF0
IHRoZSB3aGlsZSBsb29wIGZvcmV2ZXIgKGFrYSBldmVudC1sb29wKQotICAkY3VyRGF0ZSA9IGRh
dGUoREFURV9JU084NjAxKTsKLSAgZWNobyAiZXZlbnQ6IHBpbmdcbiIsCi0gICAgICAgJ2RhdGE6
IHsidGltZSI6ICInIC4gJGN1ckRhdGUgLiAnIn0nLCAiXG5cbiI7Ci0gIC8vIFNlbmQgYSBzaW1w
bGUgbWVzc2FnZSBhdCByYW5kb20gaW50ZXJ2YWxzLgotICAkY291bnRlci0tOwotICBpZiAoISRj
b3VudGVyKSB7Ci0gICAgZWNobyAnZGF0YTogVGhpcyBpcyBhIG1lc3NhZ2UgYXQgdGltZSAnIC4g
JGN1ckRhdGUsICJcblxuIjsKLSAgICAkY291bnRlciA9IHJhbmQoMSwgMTApOyAvLyByZXNldCBy
YW5kb20gY291bnRlcgotICB9Ci0gIC8vIGZsdXNoIHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBzZW5k
IGVjaG9lZCBtZXNzYWdlcyB0byB0aGUgYnJvd3NlcgotICB3aGlsZSAob2JfZ2V0X2xldmVsKCkg
PiAwKSB7Ci0gICAgb2JfZW5kX2ZsdXNoKCk7Ci0gIH0KLSAgZmx1c2goKTsKLSAgLy8gYnJlYWsg
dGhlIGxvb3AgaWYgdGhlIGNsaWVudCBhYm9ydGVkIHRoZSBjb25uZWN0aW9uIChjbG9zZWQgdGhl
IHBhZ2UpCi0gIAotICBpZiAoIGNvbm5lY3Rpb25fYWJvcnRlZCgpICkgYnJlYWs7Ci0gIC8vIHNs
ZWVwIGZvciAxIHNlY29uZCBiZWZvcmUgcnVubmluZyB0aGUgbG9vcCBhZ2FpbgotICAKLSAgc2xl
ZXAoMSk7Ci19CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291
cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnB5
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVz
b3VyY2VzL2luZmluaXRlLWV2ZW50LXN0cmVhbS5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI4IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MK
K2ltcG9ydCByYW5kb20KK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCitmcm9tIGRhdGV0aW1lIGlt
cG9ydCBkYXRldGltZQorCitzeXMuc3Rkb3V0LndyaXRlKCdDb250ZW50LVR5cGU6IHRleHQvZXZl
bnQtc3RyZWFtXHJcblxyXG4nKQorCitjb3VudGVyID0gcmFuZG9tLnJhbmRpbnQoMSwgMTApCit3
aGlsZSBUcnVlOgorICAgIGN1ckRhdGUgPSAne30tMDUwMCcuZm9ybWF0KGRhdGV0aW1lLm5vdygp
Lmlzb2Zvcm1hdCgpLnNwbGl0KCcuJylbMF0pCisgICAgZGF0YSA9IHsndGltZSc6IGN1ckRhdGV9
CisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgJ2V2ZW50OiBwaW5nXG4nCisgICAgICAg
ICdkYXRhOiB7fVxuXG4nLmZvcm1hdChqc29uLmR1bXBzKGRhdGEpKQorICAgICkKKworICAgIGNv
dW50ZXIgLT0gMQorICAgIGlmIG5vdCBjb3VudGVyOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRl
KCdkYXRhOiBUaGlzIGlzIGEgbWVzc2FnZSBhdCB0aW1lIHt9XG5cbicuZm9ybWF0KGN1ckRhdGUp
KQorICAgICAgICBjb3VudGVyID0gcmFuZG9tLnJhbmRpbnQoMSwgMTApCisKKyAgICBzeXMuc3Rk
b3V0LmZsdXNoKCkKKworICAgIHRpbWUuc2xlZXAoMSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291
cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucHkKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNl
cy9yZWNvbm5lY3QucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvcmVzb3VyY2VzL3JlY29ubmVjdC5waHAJKHJldmlzaW9uIDI3MjkwOCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3JlY29ubmVjdC5waHAJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxMyArMCwwIEBACi08P3BocAotaGVhZGVyKCJDb250ZW50LVR5
cGU6IHRleHQvZXZlbnQtc3RyZWFtIik7Ci0kbGFzdEV2ZW50SWQgPSAkX1NFUlZFUlsnSFRUUF9M
QVNUX0VWRU5UX0lEJ107Ci0KLWlmICgkbGFzdEV2ZW50SWQpCi0gICAgZWNobyAiZGF0YTogJGxh
c3RFdmVudElkXG5cbiI7Ci1lbHNlIHsKLSAgICBlY2hvICJpZDogNzdcbiI7Ci0gICAgZWNobyAi
cmV0cnk6IDMwMFxuIjsKLSAgICBlY2hvICJkYXRhOiBoZWxsb1xuXG4iOwotICAgIGVjaG8gImRh
dGE6IGRpc2NhcmRlZCI7Ci19Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9yZXNvdXJjZXMvcmVjb25uZWN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3JlY29ubmVjdC5weQkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZWNv
bm5lY3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNSBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uMworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworc3lzLnN0ZG91dC53cml0ZSgnQ29u
dGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbVxyXG5cclxuJykKKworbGFzdEV2ZW50SWQgPSBv
cy5lbnZpcm9uLmdldCgnSFRUUF9MQVNUX0VWRU5UX0lEJykKK2lmIGxhc3RFdmVudElkOgorICAg
IHByaW50KCdkYXRhOiB7fVxuJy5mb3JtYXQobGFzdEV2ZW50SWQpKQorZWxzZToKKyAgICBwcmlu
dCgnJydpZDogNzcKK3JldHJ5OiAzMDAKK2RhdGE6IGhlbGxvXG4KK2RhdGE6IGRpc2NhcmRlZCcn
JykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZWNvbm5lY3QucHkKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAsMCArMSAjIworKgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
c291cmNlL3Jlc291cmNlcy9yZXF1ZXN0LWV4aXN0ZW50LWV2ZW50c291cmNlLWVycm9yLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJj
ZXMvcmVxdWVzdC1leGlzdGVudC1ldmVudHNvdXJjZS1lcnJvci5odG1sCShyZXZpc2lvbiAyNzI5
MDgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZXF1
ZXN0LWV4aXN0ZW50LWV2ZW50c291cmNlLWVycm9yLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIs
NyArMiw3IEBACiAgIDxib2R5PgogICAgIDxzY3JpcHQ+CiAgICAgICBmdW5jdGlvbiBzdGF0dXNU
ZXN0KHN0YXR1cykgewotICAgICAgICB2YXIgc291cmNlID0gbmV3IEV2ZW50U291cmNlKCJzdGF0
dXMtY29kZXMucGhwP3N0YXR1cz0iICsgc3RhdHVzKTsKKyAgICAgICAgdmFyIHNvdXJjZSA9IG5l
dyBFdmVudFNvdXJjZSgic3RhdHVzLWNvZGVzLnB5P3N0YXR1cz0iICsgc3RhdHVzKTsKICAgICAg
ICAgc291cmNlLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICB0b3AuZmluaXNoKCk7
CiAgICAgICAgIH0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVz
b3VyY2VzL3Jlc3BvbnNlLWNvbnRlbnQtdHlwZS1jaGFyc2V0LnBocAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9yZXNwb25zZS1jb250
ZW50LXR5cGUtY2hhcnNldC5waHAJKHJldmlzaW9uIDI3MjkwOCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3Jlc3BvbnNlLWNvbnRlbnQtdHlwZS1jaGFy
c2V0LnBocAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0ICswLDAgQEAKLTw/cGhwCi0kY29udGVudFR5
cGUgPSAkX0dFVFsiY29udGVudFR5cGUiXTsKLS8vIElmIHRoZSBtYWdpYyBxdW90ZXMgb3B0aW9u
IGlzIGVuYWJsZWQsIHRoZSBjaGFyc2V0IGNvdWxkIGJlIGVzY2FwZWQgYW5kIHdlCi0vLyB3b3Vs
ZCBmYWlsIG91ciB0ZXN0LiBGb3IgZXhhbXBsZSwgY2hhcnNldD0idXRmLTgiIHdvdWxkIGJlY29t
ZSBjaGFyc2V0PVwidXRmLThcIi4KLWlmIChnZXRfbWFnaWNfcXVvdGVzX2dwYygpKSB7Ci0gICAg
JGNvbnRlbnRUeXBlID0gc3RyaXBzbGFzaGVzKCRjb250ZW50VHlwZSk7Ci19Ci1oZWFkZXIoIkNv
bnRlbnQtVHlwZTogJGNvbnRlbnRUeXBlIik7Ci0/PgotCi1pZDogNzcKLXJldHJ5OiAzMDAKLWRh
dGE6IGhlbGxvCi0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVz
b3VyY2VzL3Jlc3BvbnNlLWNvbnRlbnQtdHlwZS1jaGFyc2V0LnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3Jlc3BvbnNlLWNvbnRl
bnQtdHlwZS1jaGFyc2V0LnB5CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3Jlc3BvbnNlLWNvbnRlbnQtdHlwZS1jaGFyc2V0LnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMK
KworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2Vf
cXMKKworY29udGVudFR5cGUgPSBwYXJzZV9xcyhvcy5lbnZpcm9uLmdldCgnUVVFUllfU1RSSU5H
JywgJycpLCBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKS5nZXQoJ2NvbnRlbnRUeXBlJywgWycnXSlb
MF0KK3N5cy5zdGRvdXQud3JpdGUoCisgICAgJ0NvbnRlbnQtVHlwZToge31cclxuXHJcblxuJwor
ICAgICdpZDogNzdcbicKKyAgICAncmV0cnk6IDMwMFxuJworICAgICdkYXRhOiBoZWxsb1xuXG5c
bicuZm9ybWF0KGNvbnRlbnRUeXBlKQorKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVz
b3VyY2VzL3Jlc3BvbnNlLWNvbnRlbnQtdHlwZS1jaGFyc2V0LnB5Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJj
ZXMvc3RhdHVzLWNvZGVzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2V2ZW50c291cmNlL3Jlc291cmNlcy9zdGF0dXMtY29kZXMucGhwCShyZXZpc2lvbiAyNzI5MDgp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9zdGF0dXMt
Y29kZXMucGhwCShub25leGlzdGVudCkKQEAgLTEsMTggKzAsMCBAQAotPD9waHAKLSRzdGF0dXNf
Y29kZSA9ICRfR0VUWydzdGF0dXMtY29kZSddOwotaGVhZGVyKCJIVFRQLzEuMSAkc3RhdHVzX2Nv
ZGUgT0siKTsKLQotc3dpdGNoICgkc3RhdHVzX2NvZGUpIHsKLWNhc2UgMjAwOgotICAgIGhlYWRl
cigiQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVhbSIpOwotICAgIGVjaG8gImRhdGE6IGhl
bGxvXG5cbiI7Ci0gICAgYnJlYWs7Ci1jYXNlIDMwMToKLWNhc2UgMzAyOgotY2FzZSAzMDM6Ci1j
YXNlIDMwNzoKLSAgICAkdXJpID0gcnRyaW0oZGlybmFtZSgkX1NFUlZFUlsnUEhQX1NFTEYnXSks
ICcvXFwnKSAuICIvc2ltcGxlLWV2ZW50LXN0cmVhbS5hc2lzIjsKLSAgICBoZWFkZXIoIkxvY2F0
aW9uOiBodHRwOi8vIiAuICRfU0VSVkVSWydIVFRQX0hPU1QnXSAuICR1cmkpOwotICAgIGJyZWFr
OwotfQotPz4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3Vy
Y2VzL3N0YXR1cy1jb2Rlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2V2ZW50c291cmNlL3Jlc291cmNlcy9zdGF0dXMtY29kZXMucHkJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvc3RhdHVzLWNvZGVz
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhv
bjMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFy
c2VfcXMKKworc3RhdHVzX2NvZGUgPSBpbnQocGFyc2VfcXMob3MuZW52aXJvbi5nZXQoJ1FVRVJZ
X1NUUklORycsICcnKSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkuZ2V0KCdzdGF0dXMtY29kZScs
IFsyMDBdKVswXSkKK3NjcmlwdF91cmwgPSBvcy5lbnZpcm9uLmdldCgnU0NSSVBUX1VSTCcpCito
dHRwX2hvc3QgPSBvcy5lbnZpcm9uLmdldCgnSFRUUF9IT1NUJykKKworc3lzLnN0ZG91dC53cml0
ZSgnc3RhdHVzOiB7fVxyXG4nLmZvcm1hdChzdGF0dXNfY29kZSkpCisKK2lmIHN0YXR1c19jb2Rl
ID09IDIwMDoKKyAgICBzeXMuc3Rkb3V0LndyaXRlKAorICAgICAgICAnQ29udGVudC1UeXBlOiB0
ZXh0L2V2ZW50LXN0cmVhbVxyXG5cclxuJworICAgICAgICAnZGF0YTogaGVsbG9cblxuJworICAg
ICkKK2VsaWYgc3RhdHVzX2NvZGUgaW4gWzMwMSwgMzAyLCAzMDMsIDMwN106CisgICAgc3lzLnN0
ZG91dC53cml0ZSgKKyAgICAgICAgJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbicKKyAgICAg
ICAgJ0xvY2F0aW9uOiBodHRwOi8ve317fS9zaW1wbGUtZXZlbnQtc3RyZWFtLmFzaXNcclxuXHJc
bicuZm9ybWF0KGh0dHBfaG9zdCwgJy8nLmpvaW4oc2NyaXB0X3VybC5zcGxpdCgnLycpWzA6LTFd
KSkKKyAgICApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvc3RhdHVzLWNv
ZGVzLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAgKzEgIyMKKyoK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy93
YWl0LXRoZW4tbm90aWZ5LWRvbmUucGhwCShyZXZpc2lvbiAyNzI5MDgpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUu
cGhwCShub25leGlzdGVudCkKQEAgLTEsOCArMCwwIEBACi08P3BocAotaGVhZGVyKCJDb250ZW50
LVR5cGU6IHRleHQvaHRtbCIpOwotaGVhZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAzIDE2
OjAwOjAwIEdNVCIpOwotaGVhZGVyKCJDYWNoZS1Db250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUs
IG11c3QtcmV2YWxpZGF0ZSIpOwotaGVhZGVyKCJQcmFnbWE6IG5vLWNhY2hlIik7Ci1zbGVlcCgx
KTsKLWVjaG8gIjxzY3JpcHQ+IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk8L3NjcmlwdD5cbiI7Ci0/PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3dhaXQtdGhl
bi1ub3RpZnktZG9uZS5weQkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxNSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCitpbXBvcnQg
c3lzCitpbXBvcnQgdGltZQorCitzeXMuc3Rkb3V0LndyaXRlKAorICAgICdDb250ZW50LVR5cGU6
IHRleHQvaHRtbFxyXG4nCisgICAgJ0V4cGlyZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6MDA6MDAg
R01UXHJcbicKKyAgICAnQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJl
dmFsaWRhdGVcclxuJworICAgICdQcmFnbWE6IG5vLWNhY2hlXHJcblxyXG4nCispCisKK3RpbWUu
c2xlZXAoMSkKKworcHJpbnQoJzxzY3JpcHQ+IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk8L3NjcmlwdD4nKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
cmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZXhlY3V0YWJsZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVy
dHkK
</data>

          </attachment>
      

    </bug>

</bugzilla>