<?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>204479</bug_id>
          
          <creation_ts>2019-11-21 16:29:39 -0800</creation_ts>
          <short_desc>Fix broken String.prototype.replace() and replaceAll().</short_desc>
          <delta_ts>2019-11-21 18:17:44 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>204481</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1592578</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-21 16:29:39 -0800</bug_when>
    <thetext>String.prototype.replace() regressed due to r252683: &lt;https://trac.webkit.org/r252683&gt; for webkit.org/b/202471.  The patch failed to handle InternalFunctions.

This patch also fixed a spec compliance bug for String.prototype.replace() i.e. the replaceValue needs to be evaluated before we check if there&apos;s a match in the source string.  See 21.1.3.14-9 at https://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype.replace.

For String.prototype.replaceAll(), make sure it &quot;behaves just like String.prototype.replace if searchValue is a global regular expression&quot;.  See https://github.com/tc39/proposal-string-replaceall.

&lt;rdar://problem/57354854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592588</commentid>
    <comment_count>1</comment_count>
      <attachid>384104</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-21 16:44:59 -0800</bug_when>
    <thetext>Created attachment 384104
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592590</commentid>
    <comment_count>2</comment_count>
      <attachid>384104</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-21 16:50:01 -0800</bug_when>
    <thetext>Comment on attachment 384104
proposed patch.

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

&gt; JSTests/stress/string-replaceAll-2.js:2
&gt; +const supportsReplaceAll = (String.prototype.replaceAll != undefined);

FYI, I added this so that I can run this test on Chrome and Firefox as well to validate the test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592598</commentid>
    <comment_count>3</comment_count>
      <attachid>384104</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-11-21 17:19:53 -0800</bug_when>
    <thetext>Comment on attachment 384104
proposed patch.

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

It&apos;s a bit interesting that these tests fail silently in release, but I guess that&apos;s the sort of issue it is.

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        String.prototype.replace() regressed due to r252683: &lt;https://trac.webkit.org/r252683&gt;
&gt; +        for webkit.org/b/202471.  The patch failed to handle InternalFunctions.

Ugh, it seems that I underestimated the reason for the two huge branches in replaceUsingRegExpSearch. Sorry about that. :(

&gt; Source/JavaScriptCore/ChangeLog:15
&gt; +        This patch also fixed a spec compliance bug for String.prototype.replace() i.e.
&gt; +        the replaceValue needs to be evaluated before we check if there&apos;s a match in the
&gt; +        source string.
&gt; +        Ref: 21.1.3.14-9 at https://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype.replace

Oh, good catch! I guess there haven&apos;t been any tests for this.

BTW, this is now 21.1.3.17-6 in the living spec: https://tc39.es/ecma262/#sec-string.prototype.replace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592599</commentid>
    <comment_count>4</comment_count>
      <attachid>384104</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-21 17:25:02 -0800</bug_when>
    <thetext>Comment on attachment 384104
proposed patch.

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

r=me too

&gt; Source/JavaScriptCore/ChangeLog:31
&gt; +        Ref: https://bugs.webkit.org/show_bug.cgi?id=204481

Maybe, due to the reason why we have two functions, we should split it. String#replace is one of the most frequently used function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592603</commentid>
    <comment_count>5</comment_count>
      <attachid>384104</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-21 17:27:13 -0800</bug_when>
    <thetext>Comment on attachment 384104
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:10
&gt;&gt; +        for webkit.org/b/202471.  The patch failed to handle InternalFunctions.
&gt; 
&gt; Ugh, it seems that I underestimated the reason for the two huge branches in replaceUsingRegExpSearch. Sorry about that. :(

The test that I just added will catch this from now on.

&gt;&gt; Source/JavaScriptCore/ChangeLog:15
&gt;&gt; +        Ref: 21.1.3.14-9 at https://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype.replace
&gt; 
&gt; Oh, good catch! I guess there haven&apos;t been any tests for this.
&gt; 
&gt; BTW, this is now 21.1.3.17-6 in the living spec: https://tc39.es/ecma262/#sec-string.prototype.replace

Is the living spec constantly changing?  I&apos;ll stay with ecma-262/6.0 so that this ref doesn&apos;t go stale when the living spec changes again.  I think it&apos;s reasonable for the reader to look up a newer version if he/she wants it.

&gt;&gt; Source/JavaScriptCore/ChangeLog:31
&gt;&gt; +        Ref: https://bugs.webkit.org/show_bug.cgi?id=204481
&gt; 
&gt; Maybe, due to the reason why we have two functions, we should split it. String#replace is one of the most frequently used function.

I&apos;ll see what the microbenchmark says.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592619</commentid>
    <comment_count>6</comment_count>
      <attachid>384116</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-21 18:15:53 -0800</bug_when>
    <thetext>Created attachment 384116
patch for landing (includes rebased ChakraCore test results).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592620</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-21 18:17:44 -0800</bug_when>
    <thetext>Landed in r252758: &lt;http://trac.webkit.org/r252758&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384104</attachid>
            <date>2019-11-21 16:44:59 -0800</date>
            <delta_ts>2019-11-21 18:15:53 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-204479.patch</filename>
            <type>text/plain</type>
            <size>18615</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTI3NTQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE5LTExLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBGaXggYnJva2VuIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSgpIGFuZCBy
ZXBsYWNlQWxsKCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDQ0NzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3MzU0ODU0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL3N0cmluZy1y
ZXBsYWNlQWxsLTIuanM6IEFkZGVkLgorCiAyMDE5LTExLTIxICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBpbiBhZ2Fpbiwg
cmVncmVzc2lvbiBpcyBub3QgY2F1c2VkIGJ5IGl0CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9zdHJp
bmctcmVwbGFjZUFsbC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3N0cmluZy1y
ZXBsYWNlQWxsLTIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mvc3RyaW5nLXJl
cGxhY2VBbGwtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5MyBAQAorY29uc3QgdmVy
Ym9zZSA9IGZhbHNlOworY29uc3Qgc3VwcG9ydHNSZXBsYWNlQWxsID0gKFN0cmluZy5wcm90b3R5
cGUucmVwbGFjZUFsbCAhPSB1bmRlZmluZWQpOworCit2YXIgdmlzaXRzOwordmFyIGZhaWx1cmVz
ID0gMDsKKworaWYgKGNvbnNvbGUpCisgICAgcHJpbnQgPSBjb25zb2xlLmxvZzsKKworZnVuY3Rp
b24gdmVyaWZ5KGRlc2MsIHRlc3ROYW1lLCByZXN1bHQsIHZpc2l0cywgZXhwZWN0ZWQpIHsKKyAg
ICB2YXIgZmFpbGVkID0gKHJlc3VsdCAhPSBleHBlY3RlZC5yZXN1bHQpOworICAgIGlmIChmYWls
ZWQgfHwgdmVyYm9zZSkgcHJpbnQoZGVzYywgIiAiLCB0ZXN0TmFtZSwgIjogcmVzdWx0IGV4cGVj
dGVkOiIsIGV4cGVjdGVkLnJlc3VsdCwgIiBhY3R1YWw6IiwgcmVzdWx0KTsKKyAgICBpZiAoZmFp
bGVkKSBmYWlsdXJlcysrOworCisgICAgdmFyIGZhaWxlZCA9ICh2aXNpdHMgIT0gZXhwZWN0ZWQu
dmlzaXRzKTsKKyAgICBpZiAoZmFpbGVkIHx8IHZlcmJvc2UpIHByaW50KGRlc2MsICIgIiwgdGVz
dE5hbWUsICI6IHZpc2l0cyBleHBlY3RlZDoiLCBleHBlY3RlZC52aXNpdHMsICIgYWN0dWFsOiIs
IHZpc2l0cyk7CisgICAgaWYgKGZhaWxlZCkgZmFpbHVyZXMrKzsKK30KKworZnVuY3Rpb24gaGFu
ZGxlVW5leHBlY3RlZEV4Y2VwdGlvbihlKSB7CisgICAgcHJpbnQoZSk7CisgICAgZmFpbHVyZXMr
KzsKK30KKworZnVuY3Rpb24gdGVzdChyZXBsYWNlVmFsdWVEZXNjLCByZXBsYWNlVmFsdWUsIGV4
cGVjdGVkKSB7CisgICAgdmFyIHRlc3RDYXNlID0gMDsKKyAgICB2YXIgcmVzdWx0OworCisgICAg
dmlzaXRzID0gMDsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSAnMTIzMjQnLnJlcGxhY2Uo
JzInLCByZXBsYWNlVmFsdWUpOworICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywgIicx
MjMyNCcucmVwbGFjZSgnMicsIC4uLikiLCByZXN1bHQsIHZpc2l0cywgZXhwZWN0ZWRbdGVzdENh
c2VdKTsKKyAgICB9IGNhdGNoIChlKSB7IGhhbmRsZVVuZXhwZWN0ZWRFeGNlcHRpb24oZSkgfQor
CisgICAgdmlzaXRzID0gMDsKKyAgICB0ZXN0Q2FzZSsrOworICAgIHRyeSB7CisgICAgICAgIHJl
c3VsdCA9ICcxMjMyNCcucmVwbGFjZSgvMi9nLCByZXBsYWNlVmFsdWUpOworICAgICAgICB2ZXJp
ZnkocmVwbGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZSgvMi9nLCAuLi4pIiwgcmVzdWx0
LCB2aXNpdHMsIGV4cGVjdGVkW3Rlc3RDYXNlXSk7CisgICAgfSBjYXRjaCAoZSkgeyBoYW5kbGVV
bmV4cGVjdGVkRXhjZXB0aW9uKGUpIH0KKworICAgIHZpc2l0cyA9IDA7CisgICAgdGVzdENhc2Ur
KzsKKyAgICB0cnkgeworICAgICAgICBpZiAoc3VwcG9ydHNSZXBsYWNlQWxsKSB7CisgICAgICAg
ICAgICByZXN1bHQgPSAnMTIzMjQnLnJlcGxhY2VBbGwoJzInLCByZXBsYWNlVmFsdWUpOworICAg
ICAgICAgICAgdmVyaWZ5KHJlcGxhY2VWYWx1ZURlc2MsICInMTIzMjQnLnJlcGxhY2VBbGwoJzIn
LCAuLi4pIiwgcmVzdWx0LCB2aXNpdHMsIGV4cGVjdGVkW3Rlc3RDYXNlXSk7CisgICAgICAgIH0K
KyAgICB9IGNhdGNoIChlKSB7IGhhbmRsZVVuZXhwZWN0ZWRFeGNlcHRpb24oZSkgfQorCisgICAg
dmlzaXRzID0gMDsKKyAgICB0ZXN0Q2FzZSsrOworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9
ICcxMjMyNCcucmVwbGFjZSgnJywgcmVwbGFjZVZhbHVlKTsKKyAgICAgICAgdmVyaWZ5KHJlcGxh
Y2VWYWx1ZURlc2MsICInMTIzMjQnLnJlcGxhY2UoJycsIC4uLikiLCByZXN1bHQsIHZpc2l0cywg
ZXhwZWN0ZWRbdGVzdENhc2VdKTsKKyAgICB9IGNhdGNoIChlKSB7IGhhbmRsZVVuZXhwZWN0ZWRF
eGNlcHRpb24oZSkgfQorCisgICAgdmlzaXRzID0gMDsKKyAgICB0ZXN0Q2FzZSsrOworICAgIHRy
eSB7CisgICAgICAgIHJlc3VsdCA9ICcxMjMyNCcucmVwbGFjZSgvKD86KS9nLCByZXBsYWNlVmFs
dWUpOworICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZSgv
KD86KS9nLCAuLi4pIiwgcmVzdWx0LCB2aXNpdHMsIGV4cGVjdGVkW3Rlc3RDYXNlXSk7CisgICAg
fSBjYXRjaCAoZSkgeyBoYW5kbGVVbmV4cGVjdGVkRXhjZXB0aW9uKGUpIH0KKworICAgIHZpc2l0
cyA9IDA7CisgICAgdGVzdENhc2UrKzsKKyAgICB0cnkgeworICAgICAgICBpZiAoc3VwcG9ydHNS
ZXBsYWNlQWxsKSB7CisgICAgICAgICAgICByZXN1bHQgPSAnMTIzMjQnLnJlcGxhY2VBbGwoJycs
IHJlcGxhY2VWYWx1ZSk7CisgICAgICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywgIicx
MjMyNCcucmVwbGFjZUFsbCgnJywgLi4uKSIsIHJlc3VsdCwgdmlzaXRzLCBleHBlY3RlZFt0ZXN0
Q2FzZV0pOworICAgICAgICB9CisgICAgfSBjYXRjaCAoZSkgeyBoYW5kbGVVbmV4cGVjdGVkRXhj
ZXB0aW9uKGUpIH0KKworICAgIHZpc2l0cyA9IDA7CisgICAgdGVzdENhc2UrKzsKKyAgICB0cnkg
eworICAgICAgICByZXN1bHQgPSAnMTIzMjQnLnJlcGxhY2UoJzAnLCByZXBsYWNlVmFsdWUpOwor
ICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZSgnMCcsIC4u
LikiLCByZXN1bHQsIHZpc2l0cywgZXhwZWN0ZWRbdGVzdENhc2VdKTsKKyAgICB9IGNhdGNoIChl
KSB7IGhhbmRsZVVuZXhwZWN0ZWRFeGNlcHRpb24oZSkgfQorCisgICAgdmlzaXRzID0gMDsKKyAg
ICB0ZXN0Q2FzZSsrOworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9ICcxMjMyNCcucmVwbGFj
ZSgvMC9nLCByZXBsYWNlVmFsdWUpOworICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywg
IicxMjMyNCcucmVwbGFjZSgvMC9nLCAuLi4pIiwgcmVzdWx0LCB2aXNpdHMsIGV4cGVjdGVkW3Rl
c3RDYXNlXSk7CisgICAgfSBjYXRjaCAoZSkgeyBoYW5kbGVVbmV4cGVjdGVkRXhjZXB0aW9uKGUp
IH0KKworICAgIHZpc2l0cyA9IDA7CisgICAgdGVzdENhc2UrKzsKKyAgICB0cnkgeworICAgICAg
ICBpZiAoc3VwcG9ydHNSZXBsYWNlQWxsKSB7CisgICAgICAgICAgICByZXN1bHQgPSAnMTIzMjQn
LnJlcGxhY2VBbGwoJzAnLCByZXBsYWNlVmFsdWUpOworICAgICAgICAgICAgdmVyaWZ5KHJlcGxh
Y2VWYWx1ZURlc2MsICInMTIzMjQnLnJlcGxhY2VBbGwoJzAnLCAuLi4pIiwgcmVzdWx0LCB2aXNp
dHMsIGV4cGVjdGVkW3Rlc3RDYXNlXSk7CisgICAgICAgIH0KKyAgICB9IGNhdGNoIChlKSB7IGhh
bmRsZVVuZXhwZWN0ZWRFeGNlcHRpb24oZSkgfQorfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAg
dmlzaXRzKys7CisgICAgcmV0dXJuIDU7Cit9CisKK3Rlc3QoImZ1bmN0aW9uIGZvbyIsIGZvbywg
WworICAgIHsgcmVzdWx0OiAnMTUzMjQnLCB2aXNpdHM6IDEgfSwgLy8gcmVwbGFjZSAnMicKKyAg
ICB7IHJlc3VsdDogJzE1MzU0JywgdmlzaXRzOiAyIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsg
cmVzdWx0OiAnMTUzNTQnLCB2aXNpdHM6IDIgfSwgLy8gcmVwbGFjZUFsbCAnMicKKyAgICB7IHJl
c3VsdDogJzUxMjMyNCcsIHZpc2l0czogMSB9LCAvLyByZXBsYWNlICcnCisgICAgeyByZXN1bHQ6
ICc1MTUyNTM1MjU0NScsIHZpc2l0czogNiB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJl
c3VsdDogJzUxNTI1MzUyNTQ1JywgdmlzaXRzOiA2IH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7
IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1
bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDog
JzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzAnCitdKTsKKwordmFyIHByb3h5
ID0gbmV3IFByb3h5KGZvbywgeworICAgIGFwcGx5KCkgeworICAgICAgICB2aXNpdHMrKzsKKyAg
ICAgICAgcmV0dXJuIDk7CisgICAgfQorfSk7CisKK3Rlc3QoInByb3h5IiwgcHJveHksIFsKKyAg
ICB7IHJlc3VsdDogJzE5MzI0JywgdmlzaXRzOiAxIH0sIC8vIHJlcGxhY2UgJzInCisgICAgeyBy
ZXN1bHQ6ICcxOTM5NCcsIHZpc2l0czogMiB9LCAvLyByZXBsYWNlIC8yL2cKKyAgICB7IHJlc3Vs
dDogJzE5Mzk0JywgdmlzaXRzOiAyIH0sIC8vIHJlcGxhY2VBbGwgJzInCisgICAgeyByZXN1bHQ6
ICc5MTIzMjQnLCB2aXNpdHM6IDEgfSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAnOTE5
MjkzOTI5NDknLCB2aXNpdHM6IDYgfSwgLy8gcmVwbGFjZSAvKD86KS9nCisgICAgeyByZXN1bHQ6
ICc5MTkyOTM5Mjk0OScsIHZpc2l0czogNiB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1
bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAn
MTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMy
NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoIk9iamVjdCIs
IE9iamVjdCwgWworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFj
ZSAnMicKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIv
ZworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnMicK
KyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJycKKyAgICB7
IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLyg/OikvZworICAgIHsg
cmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnJworICAgIHsgcmVz
dWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnMCcKKyAgICB7IHJlc3VsdDog
JzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzAvZworICAgIHsgcmVzdWx0OiAnMTIz
MjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnMCcKK10pOworCit2YXIgbyA9IHsKKyAg
ICB0b1N0cmluZygpIHsKKyAgICAgICAgdmlzaXRzKys7CisgICAgICAgIHJldHVybiAibyI7Cisg
ICAgfQorfQorCit0ZXN0KCJvIHdpdGggdG9TdHJpbmciLCBvLCBbCisgICAgeyByZXN1bHQ6ICcx
bzMyNCcsIHZpc2l0czogMSB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAnMW8zbzQn
LCB2aXNpdHM6IDEgfSwgLy8gcmVwbGFjZSAvMi9nCisgICAgeyByZXN1bHQ6ICcxbzNvNCcsIHZp
c2l0czogMSB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAnbzEyMzI0Jywgdmlz
aXRzOiAxIH0sIC8vIHJlcGxhY2UgJycKKyAgICB7IHJlc3VsdDogJ28xbzJvM28ybzRvJywgdmlz
aXRzOiAxIH0sIC8vIHJlcGxhY2UgLyg/OikvZworICAgIHsgcmVzdWx0OiAnbzFvMm8zbzJvNG8n
LCB2aXNpdHM6IDEgfSwgLy8gcmVwbGFjZUFsbCAnJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2
aXNpdHM6IDEgfSwgLy8gcmVwbGFjZSAnMCcKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRz
OiAxIH0sIC8vIHJlcGxhY2UgLzAvZworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDF9
LCAvLyByZXBsYWNlQWxsICcwJworXSk7CisKK2Z1bmN0aW9uIGJhcigpIHsKKyAgICB2aXNpdHMr
KzsKKyAgICByZXR1cm4gbzsKK30KKwordGVzdCgiZnVuY3Rpb24gYmFyIiwgYmFyLCBbCisgICAg
eyByZXN1bHQ6ICcxbzMyNCcsIHZpc2l0czogMiB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVz
dWx0OiAnMW8zbzQnLCB2aXNpdHM6IDQgfSwgLy8gcmVwbGFjZSAvMi9nCisgICAgeyByZXN1bHQ6
ICcxbzNvNCcsIHZpc2l0czogNCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAn
bzEyMzI0JywgdmlzaXRzOiAyIH0sIC8vIHJlcGxhY2UgJycKKyAgICB7IHJlc3VsdDogJ28xbzJv
M28ybzRvJywgdmlzaXRzOiAxMiB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3VsdDog
J28xbzJvM28ybzRvJywgdmlzaXRzOiAxMiB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1
bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAn
MTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMy
NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoInVuZGVmaW5l
ZCIsIHVuZGVmaW5lZCwgWworICAgIHsgcmVzdWx0OiAnMXVuZGVmaW5lZDMyNCcsIHZpc2l0czog
MCB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAnMXVuZGVmaW5lZDN1bmRlZmluZWQ0
JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsgcmVzdWx0OiAnMXVuZGVmaW5l
ZDN1bmRlZmluZWQ0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzInCisgICAgeyByZXN1
bHQ6ICd1bmRlZmluZWQxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcnCisgICAgeyBy
ZXN1bHQ6ICd1bmRlZmluZWQxdW5kZWZpbmVkMnVuZGVmaW5lZDN1bmRlZmluZWQydW5kZWZpbmVk
NHVuZGVmaW5lZCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3Vs
dDogJ3VuZGVmaW5lZDF1bmRlZmluZWQydW5kZWZpbmVkM3VuZGVmaW5lZDJ1bmRlZmluZWQ0dW5k
ZWZpbmVkJywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEy
MzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcs
IHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0Jywgdmlz
aXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzAnCitdKTsKKwordGVzdCgibnVsbCIsIG51bGwsIFsK
KyAgICB7IHJlc3VsdDogJzFudWxsMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzInCisg
ICAgeyByZXN1bHQ6ICcxbnVsbDNudWxsNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8yL2cK
KyAgICB7IHJlc3VsdDogJzFudWxsM251bGw0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwg
JzInCisgICAgeyByZXN1bHQ6ICdudWxsMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAn
JworICAgIHsgcmVzdWx0OiAnbnVsbDFudWxsMm51bGwzbnVsbDJudWxsNG51bGwnLCB2aXNpdHM6
IDAgfSwgLy8gcmVwbGFjZSAvKD86KS9nCisgICAgeyByZXN1bHQ6ICdudWxsMW51bGwybnVsbDNu
dWxsMm51bGw0bnVsbCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1
bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAn
MTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMy
NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoIjAvMCIsIDAv
MCwgWworICAgIHsgcmVzdWx0OiAnMU5hTjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcy
JworICAgIHsgcmVzdWx0OiAnMU5hTjNOYU40JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIv
ZworICAgIHsgcmVzdWx0OiAnMU5hTjNOYU40JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwg
JzInCisgICAgeyByZXN1bHQ6ICdOYU4xMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcn
CisgICAgeyByZXN1bHQ6ICdOYU4xTmFOMk5hTjNOYU4yTmFONE5hTicsIHZpc2l0czogMCB9LCAv
LyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3VsdDogJ05hTjFOYU4yTmFOM05hTjJOYU40TmFO
JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0Jywg
dmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0
czogMCB9LCAvLyByZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAw
IH0sIC8vIHJlcGxhY2VBbGwgJzAnCitdKTsKKwordGVzdCgiLTAvMCIsIC0wLzAsIFsKKyAgICB7
IHJlc3VsdDogJzFOYU4zMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnMicKKyAgICB7IHJl
c3VsdDogJzFOYU4zTmFONCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8yL2cKKyAgICB7IHJl
c3VsdDogJzFOYU4zTmFONCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsg
cmVzdWx0OiAnTmFOMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVz
dWx0OiAnTmFOMU5hTjJOYU4zTmFOMk5hTjROYU4nLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAv
KD86KS9nCisgICAgeyByZXN1bHQ6ICdOYU4xTmFOMk5hTjNOYU4yTmFONE5hTicsIHZpc2l0czog
MCB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9
LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8g
cmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBs
YWNlQWxsICcwJworXSk7CisKK3Rlc3QoIjEvMCIsIDEvMCwgWworICAgIHsgcmVzdWx0OiAnMUlu
ZmluaXR5MzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzInCisgICAgeyByZXN1bHQ6ICcx
SW5maW5pdHkzSW5maW5pdHk0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsg
cmVzdWx0OiAnMUluZmluaXR5M0luZmluaXR5NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxs
ICcyJworICAgIHsgcmVzdWx0OiAnSW5maW5pdHkxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBs
YWNlICcnCisgICAgeyByZXN1bHQ6ICdJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTNJbmZpbml0
eTJJbmZpbml0eTRJbmZpbml0eScsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAg
ICB7IHJlc3VsdDogJ0luZmluaXR5MUluZmluaXR5MkluZmluaXR5M0luZmluaXR5MkluZmluaXR5
NEluZmluaXR5JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDog
JzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMy
NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0Jywg
dmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzAnCitdKTsKKwordGVzdCgiLTEvMCIsIC0xLzAs
IFsKKyAgICB7IHJlc3VsdDogJzEtSW5maW5pdHkzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFj
ZSAnMicKKyAgICB7IHJlc3VsdDogJzEtSW5maW5pdHkzLUluZmluaXR5NCcsIHZpc2l0czogMCB9
LCAvLyByZXBsYWNlIC8yL2cKKyAgICB7IHJlc3VsdDogJzEtSW5maW5pdHkzLUluZmluaXR5NCcs
IHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAnLUluZmluaXR5
MTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAnLUluZmlu
aXR5MS1JbmZpbml0eTItSW5maW5pdHkzLUluZmluaXR5Mi1JbmZpbml0eTQtSW5maW5pdHknLCB2
aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvKD86KS9nCisgICAgeyByZXN1bHQ6ICctSW5maW5pdHkx
LUluZmluaXR5Mi1JbmZpbml0eTMtSW5maW5pdHkyLUluZmluaXR5NC1JbmZpbml0eScsIHZpc2l0
czogMCB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czog
MCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwg
Ly8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyBy
ZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoIjQyIiwgNDIsIFsKKyAgICB7IHJlc3VsdDogJzE0
MjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAnMTQyMzQy
NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8yL2cKKyAgICB7IHJlc3VsdDogJzE0MjM0MjQn
LCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnMicKKyAgICB7IHJlc3VsdDogJzQyMTIzMjQn
LCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAnNDIxNDIyNDIzNDIy
NDI0NDInLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvKD86KS9nCisgICAgeyByZXN1bHQ6ICc0
MjE0MjI0MjM0MjI0MjQ0MicsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyBy
ZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0
OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcx
MjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoIjQuMiIs
IDQuMiwgWworICAgIHsgcmVzdWx0OiAnMTQuMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNl
ICcyJworICAgIHsgcmVzdWx0OiAnMTQuMjM0LjI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2Ug
LzIvZworICAgIHsgcmVzdWx0OiAnMTQuMjM0LjI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VB
bGwgJzInCisgICAgeyByZXN1bHQ6ICc0LjIxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNl
ICcnCisgICAgeyByZXN1bHQ6ICc0LjIxNC4yMjQuMjM0LjIyNC4yNDQuMicsIHZpc2l0czogMCB9
LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3VsdDogJzQuMjE0LjIyNC4yMzQuMjI0LjI0
NC4yJywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0
JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZp
c2l0czogMCB9LCAvLyByZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRz
OiAwIH0sIC8vIHJlcGxhY2VBbGwgJzAnCitdKTsKKwordGVzdCgiJ3MnIiwgJ3MnLCBbCisgICAg
eyByZXN1bHQ6ICcxczMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVz
dWx0OiAnMXMzczQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvMi9nCisgICAgeyByZXN1bHQ6
ICcxczNzNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAn
czEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJycKKyAgICB7IHJlc3VsdDogJ3MxczJz
M3MyczRzJywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLyg/OikvZworICAgIHsgcmVzdWx0OiAn
czFzMnMzczJzNHMnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnJworICAgIHsgcmVzdWx0
OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnMCcKKyAgICB7IHJlc3VsdDogJzEy
MzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzAvZworICAgIHsgcmVzdWx0OiAnMTIzMjQn
LCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnMCcKK10pOworCitpZiAoZmFpbHVyZXMpIHsK
KyAgICBwcmludCgiRm91bmQiLCBmYWlsdXJlcywgImZhaWx1cmVzIik7CisgICAgdGhyb3cgIkZB
SUxFRCI7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Mjc1NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzOSBAQAorMjAxOS0xMS0yMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisK
KyAgICAgICAgRml4IGJyb2tlbiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UoKSBhbmQgcmVwbGFj
ZUFsbCgpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA0NDc5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzM1NDg1ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdHJpbmcucHJvdG90eXBlLnJlcGxh
Y2UoKSByZWdyZXNzZWQgZHVlIHRvIHIyNTI2ODM6IDxodHRwczovL3RyYWMud2Via2l0Lm9yZy9y
MjUyNjgzPgorICAgICAgICBmb3Igd2Via2l0Lm9yZy9iLzIwMjQ3MS4gIFRoZSBwYXRjaCBmYWls
ZWQgdG8gaGFuZGxlIEludGVybmFsRnVuY3Rpb25zLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBmaXhlZCBhIHNwZWMgY29tcGxpYW5jZSBidWcgZm9yIFN0cmluZy5wcm90b3R5cGUucmVwbGFj
ZSgpIGkuZS4KKyAgICAgICAgdGhlIHJlcGxhY2VWYWx1ZSBuZWVkcyB0byBiZSBldmFsdWF0ZWQg
YmVmb3JlIHdlIGNoZWNrIGlmIHRoZXJlJ3MgYSBtYXRjaCBpbiB0aGUKKyAgICAgICAgc291cmNl
IHN0cmluZy4KKyAgICAgICAgUmVmOiAyMS4xLjMuMTQtOSBhdCBodHRwczovL3d3dy5lY21hLWlu
dGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFj
ZQorCisgICAgICAgIEZvciBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwoKSwgbWFrZSBzdXJl
IGl0ICJiZWhhdmVzIGp1c3QgbGlrZQorICAgICAgICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2Ug
aWYgc2VhcmNoVmFsdWUgaXMgYSBnbG9iYWwgcmVndWxhciBleHByZXNzaW9uIi4KKyAgICAgICAg
UmVmOiBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1zdHJpbmctcmVwbGFjZWFsbAor
CisgICAgICAgIHIyNTI2ODMgYWxzbyBtYWRlIHJlcGxhY2VVc2luZ1N0cmluZ1NlYXJjaCgpIHdv
cmsgdGhlIHNhbWUgd2F5IGFzCisgICAgICAgIHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCgpLiAg
SSB0aGluayB0aGlzIGlzIHRoZSB3cm9uZyB0cmFkZSBvZmYgdG8gbWFrZS4KKyAgICAgICAgcmVw
bGFjZVVzaW5nUmVnRXhwU2VhcmNoKCkgZXhwZWN0cyBlYWNoIHNlYXJjaCBsZWcgdG8gZG8gYSBS
ZWdFeHAgc2VhcmNoLCB3aGljaAorICAgICAgICBpcyBpbmhlcmVudGx5IGV4cGVuc2l2ZS4gIFdl
IHNob3VsZG4ndCBtYWtlIHN0cmluZyBzZWFyY2hlcyBzbG93ZXIganVzdCBiZWNhdXNlCisgICAg
ICAgIHRoZSBSZWdFeHAgc2VhcmNoIGRvZXMgaXQgdGhhdCB3YXkuCisKKyAgICAgICAgSG93ZXZl
ciwgYXQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQ3MSNjMjIs
IFJvc3MgcG9pbnRlZCBvdXQKKyAgICAgICAgdGhhdCBKZXRTdHJlYW0gMiByZXN1bHRzIGFwcGVh
cmVkIHRvIGJlIG5ldXRyYWwuICBJIHRoaW5rIHdlIHNob3VsZCBkb3VibGUgY2hlY2sKKyAgICAg
ICAgd2l0aCBhIG1pY3JvLWJlbmNobWFyayBhcyB3ZWxsLiAgSSdsbCBsZWF2ZSB0aGlzIGZvciBh
IGxhdGVyIHBhdGNoLiAgRm9yIG5vdywgdGhlCisgICAgICAgIGdvYWwgb2YgdGhpcyBwYXRjaCBp
cyBzaW1wbHkgdG8gYWNoaWV2ZSBjb3JyZWN0bmVzcy4KKyAgICAgICAgUmVmOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NDgxCisKKyAgICAgICAgKiBydW50aW1l
L1N0cmluZ1Byb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OnJlcGxhY2VVc2luZ1JlZ0V4cFNl
YXJjaCk6CisgICAgICAgIChKU0M6OnJlcGxhY2VVc2luZ1N0cmluZ1NlYXJjaCk6CisKIDIwMTkt
MTEtMjEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIGluIGFnYWluLCByZWdyZXNzaW9uIGlzIG5vdCBjYXVzZWQgYnkgaXQK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90
eXBlLmNwcAkocmV2aXNpb24gMjUyNzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjY0LDcgKzY2NCw2IEBA
IHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiByZXBsYWNlVXMKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICghZ3JvdXBOYW1lLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBncm91cHMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwg
Z3JvdXBOYW1lKSwgcGF0dGVyblZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgfQotCiAgICAg
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoanNOdW1iZXIocmVz
dWx0LnN0YXJ0KSk7CkBAIC03ODcsMTAgKzc4Niw2IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpT
U3RyaW5nKiByZXBsYWNlVXMKICAgICBTdHJpbmcgc2VhcmNoU3RyaW5nID0gc2VhcmNoVmFsdWUu
dG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCBudWxscHRyKTsKIAotICAgIHNpemVfdCBtYXRjaFN0YXJ0ID0gc3RyaW5nLmZpbmQoc2VhcmNo
U3RyaW5nKTsKLSAgICBpZiAobWF0Y2hTdGFydCA9PSBub3RGb3VuZCkKLSAgICAgICAgcmV0dXJu
IGpzU3RyaW5nOwotCiAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgQ2FsbFR5cGUgY2FsbFR5
cGUgPSBnZXRDYWxsRGF0YSh2bSwgcmVwbGFjZVZhbHVlLCBjYWxsRGF0YSk7CiAgICAgT3B0aW9u
YWw8Q2FjaGVkQ2FsbD4gY2FjaGVkQ2FsbDsKQEAgLTc5OSwyNCArNzk0LDQzIEBAIHN0YXRpYyBB
TFdBWVNfSU5MSU5FIEpTU3RyaW5nKiByZXBsYWNlVXMKICAgICAgICAgcmVwbGFjZVN0cmluZyA9
IHJlcGxhY2VWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwogICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKICAgICB9IGVsc2UgewotICAgICAgICBjYWNo
ZWRDYWxsLmVtcGxhY2UoZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzQ2FzdDxKU0Z1bmN0aW9u
Kj4ocmVwbGFjZVZhbHVlKSwgMyk7Ci0gICAgICAgIGNhY2hlZENhbGwtPnNldFRoaXMoanNVbmRl
ZmluZWQoKSk7CisgICAgICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxK
U0Z1bmN0aW9uKj4odm0sIHJlcGxhY2VWYWx1ZSk7CisgICAgICAgIGlmIChmdW5jdGlvbikgewor
ICAgICAgICAgICAgY2FjaGVkQ2FsbC5lbXBsYWNlKGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBm
dW5jdGlvbiwgMyk7CisgICAgICAgICAgICBjYWNoZWRDYWxsLT5zZXRUaGlzKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICB9CiAgICAgfQogCisgICAgc2l6ZV90IG1hdGNoU3RhcnQgPSBzdHJpbmcu
ZmluZChzZWFyY2hTdHJpbmcpOworICAgIGlmIChtYXRjaFN0YXJ0ID09IG5vdEZvdW5kKQorICAg
ICAgICByZXR1cm4ganNTdHJpbmc7CisKICAgICBzaXplX3QgZW5kT2ZMYXN0TWF0Y2ggPSAwOwog
ICAgIHNpemVfdCBzZWFyY2hTdHJpbmdMZW5ndGggPSBzZWFyY2hTdHJpbmcubGVuZ3RoKCk7CiAg
ICAgVmVjdG9yPFN0cmluZ1JhbmdlLCAxNj4gc291cmNlUmFuZ2VzOwogICAgIFZlY3RvcjxTdHJp
bmcsIDE2PiByZXBsYWNlbWVudHM7CiAgICAgZG8gewotICAgICAgICBpZiAoY2FjaGVkQ2FsbCkg
ewotICAgICAgICAgICAgYXV0byogc3Vic3RyaW5nID0ganNTdWJzdHJpbmcodm0sIHN0cmluZywg
bWF0Y2hTdGFydCwgc2VhcmNoU3RyaW5nTGVuZ3RoKTsKLSAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICAgICAgY2FjaGVkQ2FsbC0+Y2xlYXJB
cmd1bWVudHMoKTsKLSAgICAgICAgICAgIGNhY2hlZENhbGwtPmFwcGVuZEFyZ3VtZW50KHN1YnN0
cmluZyk7Ci0gICAgICAgICAgICBjYWNoZWRDYWxsLT5hcHBlbmRBcmd1bWVudChqc051bWJlciht
YXRjaFN0YXJ0KSk7Ci0gICAgICAgICAgICBjYWNoZWRDYWxsLT5hcHBlbmRBcmd1bWVudChqc1N0
cmluZyk7Ci0gICAgICAgICAgICBBU1NFUlQoIWNhY2hlZENhbGwtPmhhc092ZXJmbG93ZWRBcmd1
bWVudHMoKSk7Ci0gICAgICAgICAgICBKU1ZhbHVlIHJlcGxhY2VtZW50ID0gY2FjaGVkQ2FsbC0+
Y2FsbCgpOworICAgICAgICBpZiAoY2FsbFR5cGUgIT0gQ2FsbFR5cGU6Ok5vbmUpIHsKKyAgICAg
ICAgICAgIEpTVmFsdWUgcmVwbGFjZW1lbnQ7CisgICAgICAgICAgICBpZiAoY2FjaGVkQ2FsbCkg
eworICAgICAgICAgICAgICAgIGF1dG8qIHN1YnN0cmluZyA9IGpzU3Vic3RyaW5nKHZtLCBzdHJp
bmcsIG1hdGNoU3RhcnQsIHNlYXJjaFN0cmluZ0xlbmd0aCk7CisgICAgICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgICAgICAgICAgICAgY2FjaGVk
Q2FsbC0+Y2xlYXJBcmd1bWVudHMoKTsKKyAgICAgICAgICAgICAgICBjYWNoZWRDYWxsLT5hcHBl
bmRBcmd1bWVudChzdWJzdHJpbmcpOworICAgICAgICAgICAgICAgIGNhY2hlZENhbGwtPmFwcGVu
ZEFyZ3VtZW50KGpzTnVtYmVyKG1hdGNoU3RhcnQpKTsKKyAgICAgICAgICAgICAgICBjYWNoZWRD
YWxsLT5hcHBlbmRBcmd1bWVudChqc1N0cmluZyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFj
YWNoZWRDYWxsLT5oYXNPdmVyZmxvd2VkQXJndW1lbnRzKCkpOworICAgICAgICAgICAgICAgIHJl
cGxhY2VtZW50ID0gY2FjaGVkQ2FsbC0+Y2FsbCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAgICAgICAgICAg
IGF1dG8qIHN1YnN0cmluZyA9IGpzU3Vic3RyaW5nKHZtLCBzdHJpbmcsIG1hdGNoU3RhcnQsIHNl
YXJjaFN0cmluZy5pbXBsKCktPmxlbmd0aCgpKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZChz
dWJzdHJpbmcpOworICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKG1hdGNoU3Rh
cnQpKTsKKyAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZChqc1N0cmluZyk7CisgICAgICAgICAg
ICAgICAgQVNTRVJUKCFhcmdzLmhhc092ZXJmbG93ZWQoKSk7CisgICAgICAgICAgICAgICAgcmVw
bGFjZW1lbnQgPSBjYWxsKGdsb2JhbE9iamVjdCwgcmVwbGFjZVZhbHVlLCBjYWxsVHlwZSwgY2Fs
bERhdGEsIGpzVW5kZWZpbmVkKCksIGFyZ3MpOworICAgICAgICAgICAgfQogICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgICAgICAgICByZXBsYWNl
U3RyaW5nID0gcmVwbGFjZW1lbnQudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwpAQCAtODI2LDcgKzg0MCw3
IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiByZXBsYWNlVXMKICAgICAgICAgICAg
IE9VVF9PRl9NRU1PUlkoZ2xvYmFsT2JqZWN0LCBzY29wZSk7CiAKICAgICAgICAgc2l6ZV90IG1h
dGNoRW5kID0gbWF0Y2hTdGFydCArIHNlYXJjaFN0cmluZ0xlbmd0aDsKLSAgICAgICAgaWYgKGNh
Y2hlZENhbGwpCisgICAgICAgIGlmIChjYWxsVHlwZSAhPSBDYWxsVHlwZTo6Tm9uZSkKICAgICAg
ICAgICAgIHJlcGxhY2VtZW50cy5hcHBlbmQocmVwbGFjZVN0cmluZyk7CiAgICAgICAgIGVsc2Ug
ewogICAgICAgICAgICAgU3RyaW5nQnVpbGRlciByZXBsYWNlbWVudChTdHJpbmdCdWlsZGVyOjpP
dmVyZmxvd0hhbmRsZXI6OlJlY29yZE92ZXJmbG93KTsK
</data>
<flag name="review"
          id="399900"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384116</attachid>
            <date>2019-11-21 18:15:53 -0800</date>
            <delta_ts>2019-11-21 18:15:53 -0800</delta_ts>
            <desc>patch for landing (includes rebased ChakraCore test results).</desc>
            <filename>bug-204479.patch</filename>
            <type>text/plain</type>
            <size>30551</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTI3NTcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE5LTExLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBGaXggYnJva2VuIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSgpIGFuZCBy
ZXBsYWNlQWxsKCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDQ0NzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3MzU0ODU0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IFJvc3MgS2lyc2xpbmcgYW5kIFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAg
KiBDaGFrcmFDb3JlLnlhbWw6CisgICAgICAgICogQ2hha3JhQ29yZS90ZXN0L1N0cmluZ3MvcmVw
bGFjZS5iYXNlbGluZS1qc2M6IFJlbW92ZWQuCisgICAgICAgIC0gV2Ugbm8gbG9uZ2VyIG5lZWQg
dGhpcyBiZWNhdXNlIHdlJ3ZlIGZpeGVkIHRoZSBzcGVjIGNvbXBsaWFuY2UgaXNzdWUgaW4gcmVw
bGFjZSgpLgorICAgICAgICAqIHN0cmVzcy9zdHJpbmctcmVwbGFjZUFsbC0yLmpzOiBBZGRlZC4K
KwogMjAxOS0xMS0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgaW4gYWdhaW4sIHJlZ3Jlc3Npb24gaXMgbm90IGNhdXNl
ZCBieSBpdApJbmRleDogSlNUZXN0cy9DaGFrcmFDb3JlLnlhbWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy9DaGFrcmFDb3JlLnlhbWwJKHJldmlzaW9uIDI1Mjc1NykKKysrIEpTVGVzdHMvQ2hha3Jh
Q29yZS55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAyLDcgKzEzMDIsNyBAQAogLSBwYXRoOiBD
aGFrcmFDb3JlL3Rlc3QvU3RyaW5ncy9jb21wYXJlLmpzCiAgIGNtZDogcnVuQ2hha3JhIDpiYXNl
bGluZSwgIk5vRXhjZXB0aW9uIiwgImNvbXBhcmUuYmFzZWxpbmUiLCBbXQogLSBwYXRoOiBDaGFr
cmFDb3JlL3Rlc3QvU3RyaW5ncy9yZXBsYWNlLmpzCi0gIGNtZDogcnVuQ2hha3JhIDpiYXNlbGlu
ZSwgIk5vRXhjZXB0aW9uIiwgInJlcGxhY2UuYmFzZWxpbmUtanNjIiwgW10KKyAgY21kOiBydW5D
aGFrcmEgOmJhc2VsaW5lLCAiTm9FeGNlcHRpb24iLCAicmVwbGFjZS5iYXNlbGluZSIsIFtdCiAt
IHBhdGg6IENoYWtyYUNvcmUvdGVzdC9TdHJpbmdzL3RyaW0uanMKICAgY21kOiBydW5DaGFrcmEg
OmJhc2VsaW5lLCAiTm9FeGNlcHRpb24iLCAidHJpbS5iYXNlbGluZSIsIFtdCiAtIHBhdGg6IENo
YWtyYUNvcmUvdGVzdC9TdHJpbmdzL2xhc3RpbmRleG9mLmpzCkluZGV4OiBKU1Rlc3RzL0NoYWty
YUNvcmUvdGVzdC9TdHJpbmdzL3JlcGxhY2UuYmFzZWxpbmUtanNjCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvQ2hha3JhQ29yZS90ZXN0L1N0cmluZ3MvcmVwbGFjZS5iYXNlbGluZS1qc2MJKHJldmlz
aW9uIDI1Mjc1NykKKysrIEpTVGVzdHMvQ2hha3JhQ29yZS90ZXN0L1N0cmluZ3MvcmVwbGFjZS5i
YXNlbGluZS1qc2MJKG5vbmV4aXN0ZW50KQpAQCAtMSwxOTkgKzAsMCBAQAotczEucmVwbGFjZSgi
c29tZSIsICJhbnkiKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBhbnkgc3RyaW5nIHZhbHVlLiAxMi4z
NAotczIucmVwbGFjZSgic29tZSIsICJhbnkiKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBhbnkgc3Ry
aW5nIHZhbHVlLiAxMi4zNAotczEucmVwbGFjZSgic29tZSIsICIiKTs6IHJlc3VsdCA9IFRoaXMg
aXMgYSAgc3RyaW5nIHZhbHVlLiAxMi4zNAotczIucmVwbGFjZSgic29tZSIsICIiKTs6IHJlc3Vs
dCA9IFRoaXMgaXMgYSAgc3RyaW5nIHZhbHVlLiAxMi4zNAotczEucmVwbGFjZSgic29tZSIsIHVu
ZGVmaW5lZCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgdW5kZWZpbmVkIHN0cmluZyB2YWx1ZS4gMTIu
MzQKLXMyLnJlcGxhY2UoInNvbWUiLCB1bmRlZmluZWQpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHVu
ZGVmaW5lZCBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMS5yZXBsYWNlKCJzb21lIiwgbnVsbCk7OiBy
ZXN1bHQgPSBUaGlzIGlzIGEgbnVsbCBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMi5yZXBsYWNlKCJz
b21lIiwgbnVsbCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgbnVsbCBzdHJpbmcgdmFsdWUuIDEyLjM0
Ci1mMAotczEucmVwbGFjZSgic29tZSIsIGYwKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBmMCBzdHJp
bmcgdmFsdWUuIDEyLjM0Ci1mMAotczIucmVwbGFjZSgic29tZSIsIGYwKTs6IHJlc3VsdCA9IFRo
aXMgaXMgYSBmMCBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1mMSB4OiBzb21lCi1zMS5yZXBsYWNlKCJz
b21lIiwgZjEpOzogcmVzdWx0ID0gVGhpcyBpcyBhIGYxIHN0cmluZyB2YWx1ZS4gMTIuMzQKLWYx
IHg6IHNvbWUKLXMyLnJlcGxhY2UoInNvbWUiLCBmMSk7OiByZXN1bHQgPSBUaGlzIGlzIGEgZjEg
c3RyaW5nIHZhbHVlLiAxMi4zNAotZjIgeDogc29tZSB5OiAxMAotczEucmVwbGFjZSgic29tZSIs
IGYyKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBmMiBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1mMiB4OiBz
b21lIHk6IDEwCi1zMi5yZXBsYWNlKCJzb21lIiwgZjIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIGYy
IHN0cmluZyB2YWx1ZS4gMTIuMzQKLWYzIHg6IHNvbWUgeTogMTAgejogVGhpcyBpcyBhIHNvbWUg
c3RyaW5nIHZhbHVlLiAxMi4zNAotIGlzIGEgCi1zMS5yZXBsYWNlKCJzb21lIiwgZjMpOzogcmVz
dWx0ID0gVGhpcyBpcyBhIGYzIHN0cmluZyB2YWx1ZS4gMTIuMzQKLWYzIHg6IHNvbWUgeTogMTAg
ejogVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4zNAotIGlzIGEgCi1zMi5yZXBsYWNl
KCJzb21lIiwgZjMpOzogcmVzdWx0ID0gVGhpcyBpcyBhIGYzIHN0cmluZyB2YWx1ZS4gMTIuMzQK
LXMxLnJlcGxhY2UoMTIsICJhbnkiKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2
YWx1ZS4gYW55LjM0Ci1zMi5yZXBsYWNlKDEyLCAiYW55Iik7OiByZXN1bHQgPSBUaGlzIGlzIGEg
c29tZSBzdHJpbmcgdmFsdWUuIGFueS4zNAotczEucmVwbGFjZSgxMiwgIiIpOzogcmVzdWx0ID0g
VGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAuMzQKLXMyLnJlcGxhY2UoMTIsICIiKTs6IHJl
c3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gLjM0Ci1zMS5yZXBsYWNlKDEyLCB1
bmRlZmluZWQpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiB1bmRlZmlu
ZWQuMzQKLXMyLnJlcGxhY2UoMTIsIHVuZGVmaW5lZCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29t
ZSBzdHJpbmcgdmFsdWUuIHVuZGVmaW5lZC4zNAotczEucmVwbGFjZSgxMiwgbnVsbCk7OiByZXN1
bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIG51bGwuMzQKLXMyLnJlcGxhY2UoMTIs
IG51bGwpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBudWxsLjM0Ci1m
MAotczEucmVwbGFjZSgxMiwgZjApOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZh
bHVlLiBmMC4zNAotZjAKLXMyLnJlcGxhY2UoMTIsIGYwKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBz
b21lIHN0cmluZyB2YWx1ZS4gZjAuMzQKLWYxIHg6IDEyCi1zMS5yZXBsYWNlKDEyLCBmMSk7OiBy
ZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIGYxLjM0Ci1mMSB4OiAxMgotczIu
cmVwbGFjZSgxMiwgZjEpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBm
MS4zNAotZjIgeDogMTIgeTogMjkKLXMxLnJlcGxhY2UoMTIsIGYyKTs6IHJlc3VsdCA9IFRoaXMg
aXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gZjIuMzQKLWYyIHg6IDEyIHk6IDI5Ci1zMi5yZXBsYWNl
KDEyLCBmMik7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIGYyLjM0Ci1m
MyB4OiAxMiB5OiAyOSB6OiBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1pcyBp
cyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAKLXMxLnJlcGxhY2UoMTIsIGYzKTs6IHJlc3VsdCA9IFRo
aXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gZjMuMzQKLWYzIHg6IDEyIHk6IDI5IHo6IFRoaXMg
aXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLWlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUu
IAotczIucmVwbGFjZSgxMiwgZjMpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZh
bHVlLiBmMy4zNAotczEucmVwbGFjZSgzNCwgImFueSIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNv
bWUgc3RyaW5nIHZhbHVlLiAxMi5hbnkKLXMyLnJlcGxhY2UoMzQsICJhbnkiKTs6IHJlc3VsdCA9
IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuYW55Ci1zMS5yZXBsYWNlKDM0LCAiIik7
OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLgotczIucmVwbGFjZSgz
NCwgIiIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4KLXMxLnJl
cGxhY2UoMzQsIHVuZGVmaW5lZCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFs
dWUuIDEyLnVuZGVmaW5lZAotczIucmVwbGFjZSgzNCwgdW5kZWZpbmVkKTs6IHJlc3VsdCA9IFRo
aXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIudW5kZWZpbmVkCi1zMS5yZXBsYWNlKDM0LCBu
dWxsKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIubnVsbAotczIu
cmVwbGFjZSgzNCwgbnVsbCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUu
IDEyLm51bGwKLWYwCi1zMS5yZXBsYWNlKDM0LCBmMCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29t
ZSBzdHJpbmcgdmFsdWUuIDEyLmYwCi1mMAotczIucmVwbGFjZSgzNCwgZjApOzogcmVzdWx0ID0g
VGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi5mMAotZjEgeDogMzQKLXMxLnJlcGxhY2Uo
MzQsIGYxKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuZjEKLWYx
IHg6IDM0Ci1zMi5yZXBsYWNlKDM0LCBmMSk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJp
bmcgdmFsdWUuIDEyLmYxCi1mMiB4OiAzNCB5OiAzMgotczEucmVwbGFjZSgzNCwgZjIpOzogcmVz
dWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi5mMgotZjIgeDogMzQgeTogMzIK
LXMyLnJlcGxhY2UoMzQsIGYyKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1
ZS4gMTIuZjIKLWYzIHg6IDM0IHk6IDMyIHo6IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4g
MTIuMzQKLWlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLgotczEucmVwbGFjZSgzNCwgZjMp
OzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi5mMwotZjMgeDogMzQg
eTogMzIgejogVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4zNAotaXMgaXMgYSBzb21l
IHN0cmluZyB2YWx1ZS4gMTIuCi1zMi5yZXBsYWNlKDM0LCBmMyk7OiByZXN1bHQgPSBUaGlzIGlz
IGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLmYzCi1zMS5yZXBsYWNlKC9bMC05XS8sICJhbnkiKTs6
IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gYW55Mi4zNAotczIucmVwbGFj
ZSgvWzAtOV0vLCAiYW55Iik7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUu
IGFueTIuMzQKLXMxLnJlcGxhY2UoL1swLTldLywgIiIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNv
bWUgc3RyaW5nIHZhbHVlLiAyLjM0Ci1zMi5yZXBsYWNlKC9bMC05XS8sICIiKTs6IHJlc3VsdCA9
IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMi4zNAotczEucmVwbGFjZSgvWzAtOV0vLCB1
bmRlZmluZWQpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiB1bmRlZmlu
ZWQyLjM0Ci1zMi5yZXBsYWNlKC9bMC05XS8sIHVuZGVmaW5lZCk7OiByZXN1bHQgPSBUaGlzIGlz
IGEgc29tZSBzdHJpbmcgdmFsdWUuIHVuZGVmaW5lZDIuMzQKLXMxLnJlcGxhY2UoL1swLTldLywg
bnVsbCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIG51bGwyLjM0Ci1z
Mi5yZXBsYWNlKC9bMC05XS8sIG51bGwpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5n
IHZhbHVlLiBudWxsMi4zNAotZjAKLXMxLnJlcGxhY2UoL1swLTldLywgZjApOzogcmVzdWx0ID0g
VGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBmMDIuMzQKLWYwCi1zMi5yZXBsYWNlKC9bMC05
XS8sIGYwKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gZjAyLjM0Ci1m
MSB4OiAxCi1zMS5yZXBsYWNlKC9bMC05XS8sIGYxKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21l
IHN0cmluZyB2YWx1ZS4gZjEyLjM0Ci1mMSB4OiAxCi1zMi5yZXBsYWNlKC9bMC05XS8sIGYxKTs6
IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gZjEyLjM0Ci1mMiB4OiAxIHk6
IDI5Ci1zMS5yZXBsYWNlKC9bMC05XS8sIGYyKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0
cmluZyB2YWx1ZS4gZjIyLjM0Ci1mMiB4OiAxIHk6IDI5Ci1zMi5yZXBsYWNlKC9bMC05XS8sIGYy
KTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gZjIyLjM0Ci1mMyB4OiAx
IHk6IDI5IHo6IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLWhpcyBpcyBhIHNv
bWUgc3RyaW5nIHZhbHVlLiAKLXMxLnJlcGxhY2UoL1swLTldLywgZjMpOzogcmVzdWx0ID0gVGhp
cyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBmMzIuMzQKLWYzIHg6IDEgeTogMjkgejogVGhpcyBp
cyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4zNAotaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUu
IAotczIucmVwbGFjZSgvWzAtOV0vLCBmMyk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJp
bmcgdmFsdWUuIGYzMi4zNAotczEucmVwbGFjZSgvWzAtOV0rLywgImFueSIpOzogcmVzdWx0ID0g
VGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBhbnkuMzQKLXMyLnJlcGxhY2UoL1swLTldKy8s
ICJhbnkiKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gYW55LjM0Ci1z
MS5yZXBsYWNlKC9bMC05XSsvLCAiIik7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcg
dmFsdWUuIC4zNAotczIucmVwbGFjZSgvWzAtOV0rLywgIiIpOzogcmVzdWx0ID0gVGhpcyBpcyBh
IHNvbWUgc3RyaW5nIHZhbHVlLiAuMzQKLXMxLnJlcGxhY2UoL1swLTldKy8sIHVuZGVmaW5lZCk7
OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIHVuZGVmaW5lZC4zNAotczIu
cmVwbGFjZSgvWzAtOV0rLywgdW5kZWZpbmVkKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0
cmluZyB2YWx1ZS4gdW5kZWZpbmVkLjM0Ci1zMS5yZXBsYWNlKC9bMC05XSsvLCBudWxsKTs6IHJl
c3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gbnVsbC4zNAotczIucmVwbGFjZSgv
WzAtOV0rLywgbnVsbCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIG51
bGwuMzQKLWYwCi1zMS5yZXBsYWNlKC9bMC05XSsvLCBmMCk7OiByZXN1bHQgPSBUaGlzIGlzIGEg
c29tZSBzdHJpbmcgdmFsdWUuIGYwLjM0Ci1mMAotczIucmVwbGFjZSgvWzAtOV0rLywgZjApOzog
cmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBmMC4zNAotZjEgeDogMTIKLXMx
LnJlcGxhY2UoL1swLTldKy8sIGYxKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2
YWx1ZS4gZjEuMzQKLWYxIHg6IDEyCi1zMi5yZXBsYWNlKC9bMC05XSsvLCBmMSk7OiByZXN1bHQg
PSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIGYxLjM0Ci1mMiB4OiAxMiB5OiAyOQotczEu
cmVwbGFjZSgvWzAtOV0rLywgZjIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZh
bHVlLiBmMi4zNAotZjIgeDogMTIgeTogMjkKLXMyLnJlcGxhY2UoL1swLTldKy8sIGYyKTs6IHJl
c3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gZjIuMzQKLWYzIHg6IDEyIHk6IDI5
IHo6IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLWlzIGlzIGEgc29tZSBzdHJp
bmcgdmFsdWUuIAotczEucmVwbGFjZSgvWzAtOV0rLywgZjMpOzogcmVzdWx0ID0gVGhpcyBpcyBh
IHNvbWUgc3RyaW5nIHZhbHVlLiBmMy4zNAotZjMgeDogMTIgeTogMjkgejogVGhpcyBpcyBhIHNv
bWUgc3RyaW5nIHZhbHVlLiAxMi4zNAotaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gCi1zMi5y
ZXBsYWNlKC9bMC05XSsvLCBmMyk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFs
dWUuIGYzLjM0Ci1zMS5yZXBsYWNlKC9bMC05XSsvZywgImFueSIpOzogcmVzdWx0ID0gVGhpcyBp
cyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBhbnkuYW55Ci1zMi5yZXBsYWNlKC9bMC05XSsvZywgImFu
eSIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBhbnkuYW55Ci1zMS5y
ZXBsYWNlKC9bMC05XSsvZywgIiIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZh
bHVlLiAuCi1zMi5yZXBsYWNlKC9bMC05XSsvZywgIiIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNv
bWUgc3RyaW5nIHZhbHVlLiAuCi1zMS5yZXBsYWNlKC9bMC05XSsvZywgdW5kZWZpbmVkKTs6IHJl
c3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gdW5kZWZpbmVkLnVuZGVmaW5lZAot
czIucmVwbGFjZSgvWzAtOV0rL2csIHVuZGVmaW5lZCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29t
ZSBzdHJpbmcgdmFsdWUuIHVuZGVmaW5lZC51bmRlZmluZWQKLXMxLnJlcGxhY2UoL1swLTldKy9n
LCBudWxsKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gbnVsbC5udWxs
Ci1zMi5yZXBsYWNlKC9bMC05XSsvZywgbnVsbCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBz
dHJpbmcgdmFsdWUuIG51bGwubnVsbAotZjAKLWYwCi1zMS5yZXBsYWNlKC9bMC05XSsvZywgZjAp
OzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBmMC5mMAotZjAKLWYwCi1z
Mi5yZXBsYWNlKC9bMC05XSsvZywgZjApOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5n
IHZhbHVlLiBmMC5mMAotZjEgeDogMTIKLWYxIHg6IDM0Ci1zMS5yZXBsYWNlKC9bMC05XSsvZywg
ZjEpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBmMS5mMQotZjEgeDog
MTIKLWYxIHg6IDM0Ci1zMi5yZXBsYWNlKC9bMC05XSsvZywgZjEpOzogcmVzdWx0ID0gVGhpcyBp
cyBhIHNvbWUgc3RyaW5nIHZhbHVlLiBmMS5mMQotZjIgeDogMTIgeTogMjkKLWYyIHg6IDM0IHk6
IDMyCi1zMS5yZXBsYWNlKC9bMC05XSsvZywgZjIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUg
c3RyaW5nIHZhbHVlLiBmMi5mMgotZjIgeDogMTIgeTogMjkKLWYyIHg6IDM0IHk6IDMyCi1zMi5y
ZXBsYWNlKC9bMC05XSsvZywgZjIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZh
bHVlLiBmMi5mMgotZjMgeDogMTIgeTogMjkgejogVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVl
LiAxMi4zNAotaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gCi1mMyB4OiAzNCB5OiAzMiB6OiBU
aGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1pcyBpcyBhIHNvbWUgc3RyaW5nIHZh
bHVlLiAxMi4KLXMxLnJlcGxhY2UoL1swLTldKy9nLCBmMyk7OiByZXN1bHQgPSBUaGlzIGlzIGEg
c29tZSBzdHJpbmcgdmFsdWUuIGYzLmYzCi1mMyB4OiAxMiB5OiAyOSB6OiBUaGlzIGlzIGEgc29t
ZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1pcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAKLWYzIHg6
IDM0IHk6IDMyIHo6IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLWlzIGlzIGEg
c29tZSBzdHJpbmcgdmFsdWUuIDEyLgotczIucmVwbGFjZSgvWzAtOV0rL2csIGYzKTs6IHJlc3Vs
dCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gZjMuZjMKLXMxLnJlcGxhY2UodW5kZWZp
bmVkLCAiYW55Iik7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0
Ci1zMi5yZXBsYWNlKHVuZGVmaW5lZCwgImFueSIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUg
c3RyaW5nIHZhbHVlLiAxMi4zNAotczEucmVwbGFjZSh1bmRlZmluZWQsICIiKTs6IHJlc3VsdCA9
IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMyLnJlcGxhY2UodW5kZWZpbmVk
LCAiIik7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMS5y
ZXBsYWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0
cmluZyB2YWx1ZS4gMTIuMzQKLXMyLnJlcGxhY2UodW5kZWZpbmVkLCB1bmRlZmluZWQpOzogcmVz
dWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4zNAotczEucmVwbGFjZSh1bmRl
ZmluZWQsIG51bGwpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4z
NAotczIucmVwbGFjZSh1bmRlZmluZWQsIG51bGwpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUg
c3RyaW5nIHZhbHVlLiAxMi4zNAotczEucmVwbGFjZSh1bmRlZmluZWQsIGYwKTs6IHJlc3VsdCA9
IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMyLnJlcGxhY2UodW5kZWZpbmVk
LCBmMCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMS5y
ZXBsYWNlKHVuZGVmaW5lZCwgZjEpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZh
bHVlLiAxMi4zNAotczIucmVwbGFjZSh1bmRlZmluZWQsIGYxKTs6IHJlc3VsdCA9IFRoaXMgaXMg
YSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMxLnJlcGxhY2UodW5kZWZpbmVkLCBmMik7OiBy
ZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMi5yZXBsYWNlKHVu
ZGVmaW5lZCwgZjIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4z
NAotczEucmVwbGFjZSh1bmRlZmluZWQsIGYzKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0
cmluZyB2YWx1ZS4gMTIuMzQKLXMyLnJlcGxhY2UodW5kZWZpbmVkLCBmMyk7OiByZXN1bHQgPSBU
aGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMS5yZXBsYWNlKG51bGwsICJhbnki
KTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMyLnJlcGxh
Y2UobnVsbCwgImFueSIpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAx
Mi4zNAotczEucmVwbGFjZShudWxsLCAiIik7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJp
bmcgdmFsdWUuIDEyLjM0Ci1zMi5yZXBsYWNlKG51bGwsICIiKTs6IHJlc3VsdCA9IFRoaXMgaXMg
YSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMxLnJlcGxhY2UobnVsbCwgdW5kZWZpbmVkKTs6
IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMyLnJlcGxhY2Uo
bnVsbCwgdW5kZWZpbmVkKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4g
MTIuMzQKLXMxLnJlcGxhY2UobnVsbCwgbnVsbCk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBz
dHJpbmcgdmFsdWUuIDEyLjM0Ci1zMi5yZXBsYWNlKG51bGwsIG51bGwpOzogcmVzdWx0ID0gVGhp
cyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4zNAotczEucmVwbGFjZShudWxsLCBmMCk7OiBy
ZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMi5yZXBsYWNlKG51
bGwsIGYwKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMx
LnJlcGxhY2UobnVsbCwgZjEpOzogcmVzdWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVl
LiAxMi4zNAotczIucmVwbGFjZShudWxsLCBmMSk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBz
dHJpbmcgdmFsdWUuIDEyLjM0Ci1zMS5yZXBsYWNlKG51bGwsIGYyKTs6IHJlc3VsdCA9IFRoaXMg
aXMgYSBzb21lIHN0cmluZyB2YWx1ZS4gMTIuMzQKLXMyLnJlcGxhY2UobnVsbCwgZjIpOzogcmVz
dWx0ID0gVGhpcyBpcyBhIHNvbWUgc3RyaW5nIHZhbHVlLiAxMi4zNAotczEucmVwbGFjZShudWxs
LCBmMyk7OiByZXN1bHQgPSBUaGlzIGlzIGEgc29tZSBzdHJpbmcgdmFsdWUuIDEyLjM0Ci1zMi5y
ZXBsYWNlKG51bGwsIGYzKTs6IHJlc3VsdCA9IFRoaXMgaXMgYSBzb21lIHN0cmluZyB2YWx1ZS4g
MTIuMzQKLWZhbHNlCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9zdHJpbmctcmVwbGFjZUFsbC0yLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3N0cmluZy1yZXBsYWNlQWxsLTIuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mvc3RyaW5nLXJlcGxhY2VBbGwtMi5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI5MyBAQAorY29uc3QgdmVyYm9zZSA9IGZhbHNlOworY29u
c3Qgc3VwcG9ydHNSZXBsYWNlQWxsID0gKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCAhPSB1
bmRlZmluZWQpOworCit2YXIgdmlzaXRzOwordmFyIGZhaWx1cmVzID0gMDsKKworaWYgKGNvbnNv
bGUpCisgICAgcHJpbnQgPSBjb25zb2xlLmxvZzsKKworZnVuY3Rpb24gdmVyaWZ5KGRlc2MsIHRl
c3ROYW1lLCByZXN1bHQsIHZpc2l0cywgZXhwZWN0ZWQpIHsKKyAgICB2YXIgZmFpbGVkID0gKHJl
c3VsdCAhPSBleHBlY3RlZC5yZXN1bHQpOworICAgIGlmIChmYWlsZWQgfHwgdmVyYm9zZSkgcHJp
bnQoZGVzYywgIiAiLCB0ZXN0TmFtZSwgIjogcmVzdWx0IGV4cGVjdGVkOiIsIGV4cGVjdGVkLnJl
c3VsdCwgIiBhY3R1YWw6IiwgcmVzdWx0KTsKKyAgICBpZiAoZmFpbGVkKSBmYWlsdXJlcysrOwor
CisgICAgdmFyIGZhaWxlZCA9ICh2aXNpdHMgIT0gZXhwZWN0ZWQudmlzaXRzKTsKKyAgICBpZiAo
ZmFpbGVkIHx8IHZlcmJvc2UpIHByaW50KGRlc2MsICIgIiwgdGVzdE5hbWUsICI6IHZpc2l0cyBl
eHBlY3RlZDoiLCBleHBlY3RlZC52aXNpdHMsICIgYWN0dWFsOiIsIHZpc2l0cyk7CisgICAgaWYg
KGZhaWxlZCkgZmFpbHVyZXMrKzsKK30KKworZnVuY3Rpb24gaGFuZGxlVW5leHBlY3RlZEV4Y2Vw
dGlvbihlKSB7CisgICAgcHJpbnQoZSk7CisgICAgZmFpbHVyZXMrKzsKK30KKworZnVuY3Rpb24g
dGVzdChyZXBsYWNlVmFsdWVEZXNjLCByZXBsYWNlVmFsdWUsIGV4cGVjdGVkKSB7CisgICAgdmFy
IHRlc3RDYXNlID0gMDsKKyAgICB2YXIgcmVzdWx0OworCisgICAgdmlzaXRzID0gMDsKKyAgICB0
cnkgeworICAgICAgICByZXN1bHQgPSAnMTIzMjQnLnJlcGxhY2UoJzInLCByZXBsYWNlVmFsdWUp
OworICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZSgnMics
IC4uLikiLCByZXN1bHQsIHZpc2l0cywgZXhwZWN0ZWRbdGVzdENhc2VdKTsKKyAgICB9IGNhdGNo
IChlKSB7IGhhbmRsZVVuZXhwZWN0ZWRFeGNlcHRpb24oZSkgfQorCisgICAgdmlzaXRzID0gMDsK
KyAgICB0ZXN0Q2FzZSsrOworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9ICcxMjMyNCcucmVw
bGFjZSgvMi9nLCByZXBsYWNlVmFsdWUpOworICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVz
YywgIicxMjMyNCcucmVwbGFjZSgvMi9nLCAuLi4pIiwgcmVzdWx0LCB2aXNpdHMsIGV4cGVjdGVk
W3Rlc3RDYXNlXSk7CisgICAgfSBjYXRjaCAoZSkgeyBoYW5kbGVVbmV4cGVjdGVkRXhjZXB0aW9u
KGUpIH0KKworICAgIHZpc2l0cyA9IDA7CisgICAgdGVzdENhc2UrKzsKKyAgICB0cnkgeworICAg
ICAgICBpZiAoc3VwcG9ydHNSZXBsYWNlQWxsKSB7CisgICAgICAgICAgICByZXN1bHQgPSAnMTIz
MjQnLnJlcGxhY2VBbGwoJzInLCByZXBsYWNlVmFsdWUpOworICAgICAgICAgICAgdmVyaWZ5KHJl
cGxhY2VWYWx1ZURlc2MsICInMTIzMjQnLnJlcGxhY2VBbGwoJzInLCAuLi4pIiwgcmVzdWx0LCB2
aXNpdHMsIGV4cGVjdGVkW3Rlc3RDYXNlXSk7CisgICAgICAgIH0KKyAgICB9IGNhdGNoIChlKSB7
IGhhbmRsZVVuZXhwZWN0ZWRFeGNlcHRpb24oZSkgfQorCisgICAgdmlzaXRzID0gMDsKKyAgICB0
ZXN0Q2FzZSsrOworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9ICcxMjMyNCcucmVwbGFjZSgn
JywgcmVwbGFjZVZhbHVlKTsKKyAgICAgICAgdmVyaWZ5KHJlcGxhY2VWYWx1ZURlc2MsICInMTIz
MjQnLnJlcGxhY2UoJycsIC4uLikiLCByZXN1bHQsIHZpc2l0cywgZXhwZWN0ZWRbdGVzdENhc2Vd
KTsKKyAgICB9IGNhdGNoIChlKSB7IGhhbmRsZVVuZXhwZWN0ZWRFeGNlcHRpb24oZSkgfQorCisg
ICAgdmlzaXRzID0gMDsKKyAgICB0ZXN0Q2FzZSsrOworICAgIHRyeSB7CisgICAgICAgIHJlc3Vs
dCA9ICcxMjMyNCcucmVwbGFjZSgvKD86KS9nLCByZXBsYWNlVmFsdWUpOworICAgICAgICB2ZXJp
ZnkocmVwbGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZSgvKD86KS9nLCAuLi4pIiwgcmVz
dWx0LCB2aXNpdHMsIGV4cGVjdGVkW3Rlc3RDYXNlXSk7CisgICAgfSBjYXRjaCAoZSkgeyBoYW5k
bGVVbmV4cGVjdGVkRXhjZXB0aW9uKGUpIH0KKworICAgIHZpc2l0cyA9IDA7CisgICAgdGVzdENh
c2UrKzsKKyAgICB0cnkgeworICAgICAgICBpZiAoc3VwcG9ydHNSZXBsYWNlQWxsKSB7CisgICAg
ICAgICAgICByZXN1bHQgPSAnMTIzMjQnLnJlcGxhY2VBbGwoJycsIHJlcGxhY2VWYWx1ZSk7Cisg
ICAgICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZUFsbCgn
JywgLi4uKSIsIHJlc3VsdCwgdmlzaXRzLCBleHBlY3RlZFt0ZXN0Q2FzZV0pOworICAgICAgICB9
CisgICAgfSBjYXRjaCAoZSkgeyBoYW5kbGVVbmV4cGVjdGVkRXhjZXB0aW9uKGUpIH0KKworICAg
IHZpc2l0cyA9IDA7CisgICAgdGVzdENhc2UrKzsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQg
PSAnMTIzMjQnLnJlcGxhY2UoJzAnLCByZXBsYWNlVmFsdWUpOworICAgICAgICB2ZXJpZnkocmVw
bGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZSgnMCcsIC4uLikiLCByZXN1bHQsIHZpc2l0
cywgZXhwZWN0ZWRbdGVzdENhc2VdKTsKKyAgICB9IGNhdGNoIChlKSB7IGhhbmRsZVVuZXhwZWN0
ZWRFeGNlcHRpb24oZSkgfQorCisgICAgdmlzaXRzID0gMDsKKyAgICB0ZXN0Q2FzZSsrOworICAg
IHRyeSB7CisgICAgICAgIHJlc3VsdCA9ICcxMjMyNCcucmVwbGFjZSgvMC9nLCByZXBsYWNlVmFs
dWUpOworICAgICAgICB2ZXJpZnkocmVwbGFjZVZhbHVlRGVzYywgIicxMjMyNCcucmVwbGFjZSgv
MC9nLCAuLi4pIiwgcmVzdWx0LCB2aXNpdHMsIGV4cGVjdGVkW3Rlc3RDYXNlXSk7CisgICAgfSBj
YXRjaCAoZSkgeyBoYW5kbGVVbmV4cGVjdGVkRXhjZXB0aW9uKGUpIH0KKworICAgIHZpc2l0cyA9
IDA7CisgICAgdGVzdENhc2UrKzsKKyAgICB0cnkgeworICAgICAgICBpZiAoc3VwcG9ydHNSZXBs
YWNlQWxsKSB7CisgICAgICAgICAgICByZXN1bHQgPSAnMTIzMjQnLnJlcGxhY2VBbGwoJzAnLCBy
ZXBsYWNlVmFsdWUpOworICAgICAgICAgICAgdmVyaWZ5KHJlcGxhY2VWYWx1ZURlc2MsICInMTIz
MjQnLnJlcGxhY2VBbGwoJzAnLCAuLi4pIiwgcmVzdWx0LCB2aXNpdHMsIGV4cGVjdGVkW3Rlc3RD
YXNlXSk7CisgICAgICAgIH0KKyAgICB9IGNhdGNoIChlKSB7IGhhbmRsZVVuZXhwZWN0ZWRFeGNl
cHRpb24oZSkgfQorfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgdmlzaXRzKys7CisgICAgcmV0
dXJuIDU7Cit9CisKK3Rlc3QoImZ1bmN0aW9uIGZvbyIsIGZvbywgWworICAgIHsgcmVzdWx0OiAn
MTUzMjQnLCB2aXNpdHM6IDEgfSwgLy8gcmVwbGFjZSAnMicKKyAgICB7IHJlc3VsdDogJzE1MzU0
JywgdmlzaXRzOiAyIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsgcmVzdWx0OiAnMTUzNTQnLCB2
aXNpdHM6IDIgfSwgLy8gcmVwbGFjZUFsbCAnMicKKyAgICB7IHJlc3VsdDogJzUxMjMyNCcsIHZp
c2l0czogMSB9LCAvLyByZXBsYWNlICcnCisgICAgeyByZXN1bHQ6ICc1MTUyNTM1MjU0NScsIHZp
c2l0czogNiB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3VsdDogJzUxNTI1MzUyNTQ1
JywgdmlzaXRzOiA2IH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0Jywg
dmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0
czogMCB9LCAvLyByZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAw
IH0sIC8vIHJlcGxhY2VBbGwgJzAnCitdKTsKKwordmFyIHByb3h5ID0gbmV3IFByb3h5KGZvbywg
eworICAgIGFwcGx5KCkgeworICAgICAgICB2aXNpdHMrKzsKKyAgICAgICAgcmV0dXJuIDk7Cisg
ICAgfQorfSk7CisKK3Rlc3QoInByb3h5IiwgcHJveHksIFsKKyAgICB7IHJlc3VsdDogJzE5MzI0
JywgdmlzaXRzOiAxIH0sIC8vIHJlcGxhY2UgJzInCisgICAgeyByZXN1bHQ6ICcxOTM5NCcsIHZp
c2l0czogMiB9LCAvLyByZXBsYWNlIC8yL2cKKyAgICB7IHJlc3VsdDogJzE5Mzk0JywgdmlzaXRz
OiAyIH0sIC8vIHJlcGxhY2VBbGwgJzInCisgICAgeyByZXN1bHQ6ICc5MTIzMjQnLCB2aXNpdHM6
IDEgfSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAnOTE5MjkzOTI5NDknLCB2aXNpdHM6
IDYgfSwgLy8gcmVwbGFjZSAvKD86KS9nCisgICAgeyByZXN1bHQ6ICc5MTkyOTM5Mjk0OScsIHZp
c2l0czogNiB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0
czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAg
fSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAv
LyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoIk9iamVjdCIsIE9iamVjdCwgWworICAgIHsg
cmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnMicKKyAgICB7IHJlc3Vs
dDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsgcmVzdWx0OiAn
MTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnMicKKyAgICB7IHJlc3VsdDogJzEy
MzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0Jywg
dmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLyg/OikvZworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2
aXNpdHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNp
dHM6IDAgfSwgLy8gcmVwbGFjZSAnMCcKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAw
IH0sIC8vIHJlcGxhY2UgLzAvZworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwg
Ly8gcmVwbGFjZUFsbCAnMCcKK10pOworCit2YXIgbyA9IHsKKyAgICB0b1N0cmluZygpIHsKKyAg
ICAgICAgdmlzaXRzKys7CisgICAgICAgIHJldHVybiAibyI7CisgICAgfQorfQorCit0ZXN0KCJv
IHdpdGggdG9TdHJpbmciLCBvLCBbCisgICAgeyByZXN1bHQ6ICcxbzMyNCcsIHZpc2l0czogMSB9
LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAnMW8zbzQnLCB2aXNpdHM6IDEgfSwgLy8g
cmVwbGFjZSAvMi9nCisgICAgeyByZXN1bHQ6ICcxbzNvNCcsIHZpc2l0czogMSB9LCAvLyByZXBs
YWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAnbzEyMzI0JywgdmlzaXRzOiAxIH0sIC8vIHJlcGxh
Y2UgJycKKyAgICB7IHJlc3VsdDogJ28xbzJvM28ybzRvJywgdmlzaXRzOiAxIH0sIC8vIHJlcGxh
Y2UgLyg/OikvZworICAgIHsgcmVzdWx0OiAnbzFvMm8zbzJvNG8nLCB2aXNpdHM6IDEgfSwgLy8g
cmVwbGFjZUFsbCAnJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDEgfSwgLy8gcmVw
bGFjZSAnMCcKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAxIH0sIC8vIHJlcGxhY2Ug
LzAvZworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDF9LCAvLyByZXBsYWNlQWxsICcw
JworXSk7CisKK2Z1bmN0aW9uIGJhcigpIHsKKyAgICB2aXNpdHMrKzsKKyAgICByZXR1cm4gbzsK
K30KKwordGVzdCgiZnVuY3Rpb24gYmFyIiwgYmFyLCBbCisgICAgeyByZXN1bHQ6ICcxbzMyNCcs
IHZpc2l0czogMiB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAnMW8zbzQnLCB2aXNp
dHM6IDQgfSwgLy8gcmVwbGFjZSAvMi9nCisgICAgeyByZXN1bHQ6ICcxbzNvNCcsIHZpc2l0czog
NCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAnbzEyMzI0JywgdmlzaXRzOiAy
IH0sIC8vIHJlcGxhY2UgJycKKyAgICB7IHJlc3VsdDogJ28xbzJvM28ybzRvJywgdmlzaXRzOiAx
MiB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3VsdDogJ28xbzJvM28ybzRvJywgdmlz
aXRzOiAxMiB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0
czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAg
fSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAv
LyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoInVuZGVmaW5lZCIsIHVuZGVmaW5lZCwgWwor
ICAgIHsgcmVzdWx0OiAnMXVuZGVmaW5lZDMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcy
JworICAgIHsgcmVzdWx0OiAnMXVuZGVmaW5lZDN1bmRlZmluZWQ0JywgdmlzaXRzOiAwIH0sIC8v
IHJlcGxhY2UgLzIvZworICAgIHsgcmVzdWx0OiAnMXVuZGVmaW5lZDN1bmRlZmluZWQ0Jywgdmlz
aXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzInCisgICAgeyByZXN1bHQ6ICd1bmRlZmluZWQxMjMy
NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcnCisgICAgeyByZXN1bHQ6ICd1bmRlZmluZWQx
dW5kZWZpbmVkMnVuZGVmaW5lZDN1bmRlZmluZWQydW5kZWZpbmVkNHVuZGVmaW5lZCcsIHZpc2l0
czogMCB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3VsdDogJ3VuZGVmaW5lZDF1bmRl
ZmluZWQydW5kZWZpbmVkM3VuZGVmaW5lZDJ1bmRlZmluZWQ0dW5kZWZpbmVkJywgdmlzaXRzOiAw
IH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0s
IC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyBy
ZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxh
Y2VBbGwgJzAnCitdKTsKKwordGVzdCgibnVsbCIsIG51bGwsIFsKKyAgICB7IHJlc3VsdDogJzFu
dWxsMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgJzInCisgICAgeyByZXN1bHQ6ICcxbnVs
bDNudWxsNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8yL2cKKyAgICB7IHJlc3VsdDogJzFu
dWxsM251bGw0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzInCisgICAgeyByZXN1bHQ6
ICdudWxsMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAn
bnVsbDFudWxsMm51bGwzbnVsbDJudWxsNG51bGwnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAv
KD86KS9nCisgICAgeyByZXN1bHQ6ICdudWxsMW51bGwybnVsbDNudWxsMm51bGw0bnVsbCcsIHZp
c2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0
czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAg
fSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAv
LyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoIjAvMCIsIDAvMCwgWworICAgIHsgcmVzdWx0
OiAnMU5hTjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAn
MU5hTjNOYU40JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsgcmVzdWx0OiAn
MU5hTjNOYU40JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzInCisgICAgeyByZXN1bHQ6
ICdOYU4xMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcnCisgICAgeyByZXN1bHQ6ICdO
YU4xTmFOMk5hTjNOYU4yTmFONE5hTicsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8oPzopL2cK
KyAgICB7IHJlc3VsdDogJ05hTjFOYU4yTmFOM05hTjJOYU40TmFOJywgdmlzaXRzOiAwIH0sIC8v
IHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJl
cGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNl
IC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwg
JzAnCitdKTsKKwordGVzdCgiLTAvMCIsIC0wLzAsIFsKKyAgICB7IHJlc3VsdDogJzFOYU4zMjQn
LCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnMicKKyAgICB7IHJlc3VsdDogJzFOYU4zTmFONCcs
IHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8yL2cKKyAgICB7IHJlc3VsdDogJzFOYU4zTmFONCcs
IHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAnTmFOMTIzMjQn
LCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAnTmFOMU5hTjJOYU4z
TmFOMk5hTjROYU4nLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvKD86KS9nCisgICAgeyByZXN1
bHQ6ICdOYU4xTmFOMk5hTjNOYU4yTmFONE5hTicsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxs
ICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcwJwor
ICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvMC9nCisgICAg
eyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcwJworXSk7CisK
K3Rlc3QoIjEvMCIsIDEvMCwgWworICAgIHsgcmVzdWx0OiAnMUluZmluaXR5MzI0JywgdmlzaXRz
OiAwIH0sIC8vIHJlcGxhY2UgJzInCisgICAgeyByZXN1bHQ6ICcxSW5maW5pdHkzSW5maW5pdHk0
JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsgcmVzdWx0OiAnMUluZmluaXR5
M0luZmluaXR5NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0
OiAnSW5maW5pdHkxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcnCisgICAgeyByZXN1
bHQ6ICdJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTNJbmZpbml0eTJJbmZpbml0eTRJbmZpbml0
eScsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8oPzopL2cKKyAgICB7IHJlc3VsdDogJ0luZmlu
aXR5MUluZmluaXR5MkluZmluaXR5M0luZmluaXR5MkluZmluaXR5NEluZmluaXR5JywgdmlzaXRz
OiAwIH0sIC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAw
IH0sIC8vIHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAv
LyByZXBsYWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJl
cGxhY2VBbGwgJzAnCitdKTsKKwordGVzdCgiLTEvMCIsIC0xLzAsIFsKKyAgICB7IHJlc3VsdDog
JzEtSW5maW5pdHkzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAnMicKKyAgICB7IHJlc3Vs
dDogJzEtSW5maW5pdHkzLUluZmluaXR5NCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8yL2cK
KyAgICB7IHJlc3VsdDogJzEtSW5maW5pdHkzLUluZmluaXR5NCcsIHZpc2l0czogMCB9LCAvLyBy
ZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAnLUluZmluaXR5MTIzMjQnLCB2aXNpdHM6IDAg
fSwgLy8gcmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAnLUluZmluaXR5MS1JbmZpbml0eTItSW5m
aW5pdHkzLUluZmluaXR5Mi1JbmZpbml0eTQtSW5maW5pdHknLCB2aXNpdHM6IDAgfSwgLy8gcmVw
bGFjZSAvKD86KS9nCisgICAgeyByZXN1bHQ6ICctSW5maW5pdHkxLUluZmluaXR5Mi1JbmZpbml0
eTMtSW5maW5pdHkyLUluZmluaXR5NC1JbmZpbml0eScsIHZpc2l0czogMCB9LCAvLyByZXBsYWNl
QWxsICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcw
JworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8gcmVwbGFjZSAvMC9nCisg
ICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcwJworXSk7
CisKK3Rlc3QoIjQyIiwgNDIsIFsKKyAgICB7IHJlc3VsdDogJzE0MjMyNCcsIHZpc2l0czogMCB9
LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAnMTQyMzQyNCcsIHZpc2l0czogMCB9LCAv
LyByZXBsYWNlIC8yL2cKKyAgICB7IHJlc3VsdDogJzE0MjM0MjQnLCB2aXNpdHM6IDAgfSwgLy8g
cmVwbGFjZUFsbCAnMicKKyAgICB7IHJlc3VsdDogJzQyMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8g
cmVwbGFjZSAnJworICAgIHsgcmVzdWx0OiAnNDIxNDIyNDIzNDIyNDI0NDInLCB2aXNpdHM6IDAg
fSwgLy8gcmVwbGFjZSAvKD86KS9nCisgICAgeyByZXN1bHQ6ICc0MjE0MjI0MjM0MjI0MjQ0Mics
IHZpc2l0czogMCB9LCAvLyByZXBsYWNlQWxsICcnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZp
c2l0czogMCB9LCAvLyByZXBsYWNlICcwJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6
IDAgfSwgLy8gcmVwbGFjZSAvMC9nCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9
LCAvLyByZXBsYWNlQWxsICcwJworXSk7CisKK3Rlc3QoIjQuMiIsIDQuMiwgWworICAgIHsgcmVz
dWx0OiAnMTQuMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0
OiAnMTQuMjM0LjI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2UgLzIvZworICAgIHsgcmVzdWx0
OiAnMTQuMjM0LjI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VBbGwgJzInCisgICAgeyByZXN1
bHQ6ICc0LjIxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcnCisgICAgeyByZXN1bHQ6
ICc0LjIxNC4yMjQuMjM0LjIyNC4yNDQuMicsIHZpc2l0czogMCB9LCAvLyByZXBsYWNlIC8oPzop
L2cKKyAgICB7IHJlc3VsdDogJzQuMjE0LjIyNC4yMzQuMjI0LjI0NC4yJywgdmlzaXRzOiAwIH0s
IC8vIHJlcGxhY2VBbGwgJycKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8v
IHJlcGxhY2UgJzAnCisgICAgeyByZXN1bHQ6ICcxMjMyNCcsIHZpc2l0czogMCB9LCAvLyByZXBs
YWNlIC8wL2cKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0sIC8vIHJlcGxhY2VB
bGwgJzAnCitdKTsKKwordGVzdCgiJ3MnIiwgJ3MnLCBbCisgICAgeyByZXN1bHQ6ICcxczMyNCcs
IHZpc2l0czogMCB9LCAvLyByZXBsYWNlICcyJworICAgIHsgcmVzdWx0OiAnMXMzczQnLCB2aXNp
dHM6IDAgfSwgLy8gcmVwbGFjZSAvMi9nCisgICAgeyByZXN1bHQ6ICcxczNzNCcsIHZpc2l0czog
MCB9LCAvLyByZXBsYWNlQWxsICcyJworICAgIHsgcmVzdWx0OiAnczEyMzI0JywgdmlzaXRzOiAw
IH0sIC8vIHJlcGxhY2UgJycKKyAgICB7IHJlc3VsdDogJ3MxczJzM3MyczRzJywgdmlzaXRzOiAw
IH0sIC8vIHJlcGxhY2UgLyg/OikvZworICAgIHsgcmVzdWx0OiAnczFzMnMzczJzNHMnLCB2aXNp
dHM6IDAgfSwgLy8gcmVwbGFjZUFsbCAnJworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6
IDAgfSwgLy8gcmVwbGFjZSAnMCcKKyAgICB7IHJlc3VsdDogJzEyMzI0JywgdmlzaXRzOiAwIH0s
IC8vIHJlcGxhY2UgLzAvZworICAgIHsgcmVzdWx0OiAnMTIzMjQnLCB2aXNpdHM6IDAgfSwgLy8g
cmVwbGFjZUFsbCAnMCcKK10pOworCitpZiAoZmFpbHVyZXMpIHsKKyAgICBwcmludCgiRm91bmQi
LCBmYWlsdXJlcywgImZhaWx1cmVzIik7CisgICAgdGhyb3cgIkZBSUxFRCI7Cit9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Mjc1NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzOSBAQAorMjAxOS0x
MS0yMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGJyb2tl
biBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UoKSBhbmQgcmVwbGFjZUFsbCgpLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NDc5CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS81NzM1NDg1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBSb3NzIEtpcnNs
aW5nIGFuZCBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIFN0cmluZy5wcm90b3R5cGUucmVwbGFj
ZSgpIHJlZ3Jlc3NlZCBkdWUgdG8gcjI1MjY4MzogPGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3Iy
NTI2ODM+CisgICAgICAgIGZvciB3ZWJraXQub3JnL2IvMjAyNDcxLiAgVGhlIHBhdGNoIGZhaWxl
ZCB0byBoYW5kbGUgSW50ZXJuYWxGdW5jdGlvbnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNv
IGZpeGVkIGEgc3BlYyBjb21wbGlhbmNlIGJ1ZyBmb3IgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNl
KCkgaS5lLgorICAgICAgICB0aGUgcmVwbGFjZVZhbHVlIG5lZWRzIHRvIGJlIGV2YWx1YXRlZCBi
ZWZvcmUgd2UgY2hlY2sgaWYgdGhlcmUncyBhIG1hdGNoIGluIHRoZQorICAgICAgICBzb3VyY2Ug
c3RyaW5nLgorICAgICAgICBSZWY6IDIxLjEuMy4xNi02IGF0IGh0dHBzOi8vd3d3LmVjbWEtaW50
ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvMTAuMC8jc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFj
ZQorCisgICAgICAgIEZvciBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwoKSwgbWFrZSBzdXJl
IGl0ICJiZWhhdmVzIGp1c3QgbGlrZQorICAgICAgICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2Ug
aWYgc2VhcmNoVmFsdWUgaXMgYSBnbG9iYWwgcmVndWxhciBleHByZXNzaW9uIi4KKyAgICAgICAg
UmVmOiBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1zdHJpbmctcmVwbGFjZWFsbAor
CisgICAgICAgIHIyNTI2ODMgYWxzbyBtYWRlIHJlcGxhY2VVc2luZ1N0cmluZ1NlYXJjaCgpIHdv
cmsgdGhlIHNhbWUgd2F5IGFzCisgICAgICAgIHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCgpLiAg
SSB0aGluayB0aGlzIGlzIHRoZSB3cm9uZyB0cmFkZSBvZmYgdG8gbWFrZS4KKyAgICAgICAgcmVw
bGFjZVVzaW5nUmVnRXhwU2VhcmNoKCkgZXhwZWN0cyBlYWNoIHNlYXJjaCBsZWcgdG8gZG8gYSBS
ZWdFeHAgc2VhcmNoLCB3aGljaAorICAgICAgICBpcyBpbmhlcmVudGx5IGV4cGVuc2l2ZS4gIFdl
IHNob3VsZG4ndCBtYWtlIHN0cmluZyBzZWFyY2hlcyBzbG93ZXIganVzdCBiZWNhdXNlCisgICAg
ICAgIHRoZSBSZWdFeHAgc2VhcmNoIGRvZXMgaXQgdGhhdCB3YXkuCisKKyAgICAgICAgSG93ZXZl
ciwgYXQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQ3MSNjMjIs
IFJvc3MgcG9pbnRlZCBvdXQKKyAgICAgICAgdGhhdCBKZXRTdHJlYW0gMiByZXN1bHRzIGFwcGVh
cmVkIHRvIGJlIG5ldXRyYWwuICBJIHRoaW5rIHdlIHNob3VsZCBkb3VibGUgY2hlY2sKKyAgICAg
ICAgd2l0aCBhIG1pY3JvLWJlbmNobWFyayBhcyB3ZWxsLiAgSSdsbCBsZWF2ZSB0aGlzIGZvciBh
IGxhdGVyIHBhdGNoLiAgRm9yIG5vdywgdGhlCisgICAgICAgIGdvYWwgb2YgdGhpcyBwYXRjaCBp
cyBzaW1wbHkgdG8gYWNoaWV2ZSBjb3JyZWN0bmVzcy4KKyAgICAgICAgUmVmOiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NDgxCisKKyAgICAgICAgKiBydW50aW1l
L1N0cmluZ1Byb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OnJlcGxhY2VVc2luZ1JlZ0V4cFNl
YXJjaCk6CisgICAgICAgIChKU0M6OnJlcGxhY2VVc2luZ1N0cmluZ1NlYXJjaCk6CisKIDIwMTkt
MTEtMjEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZp
eCBXaW42NCBjb21waWxlIGVycm9ycwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nUHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAyNTI3NTcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02NjQsNyArNjY0LDYgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIHJl
cGxhY2VVcwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFncm91cE5hbWUuaXNFbXB0eSgp
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3Vwcy0+cHV0RGlyZWN0KHZtLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKHZtLCBncm91cE5hbWUpLCBwYXR0ZXJuVmFsdWUpOwogICAgICAg
ICAgICAgICAgICAgICB9Ci0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBh
cmdzLmFwcGVuZChqc051bWJlcihyZXN1bHQuc3RhcnQpKTsKQEAgLTc4NywxMCArNzg2LDYgQEAg
c3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIHJlcGxhY2VVcwogICAgIFN0cmluZyBzZWFy
Y2hTdHJpbmcgPSBzZWFyY2hWYWx1ZS50b1dURlN0cmluZyhnbG9iYWxPYmplY3QpOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogCi0gICAgc2l6ZV90IG1hdGNoU3Rh
cnQgPSBzdHJpbmcuZmluZChzZWFyY2hTdHJpbmcpOwotICAgIGlmIChtYXRjaFN0YXJ0ID09IG5v
dEZvdW5kKQotICAgICAgICByZXR1cm4ganNTdHJpbmc7Ci0KICAgICBDYWxsRGF0YSBjYWxsRGF0
YTsKICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKHZtLCByZXBsYWNlVmFsdWUs
IGNhbGxEYXRhKTsKICAgICBPcHRpb25hbDxDYWNoZWRDYWxsPiBjYWNoZWRDYWxsOwpAQCAtNzk5
LDI0ICs3OTQsNDMgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIHJlcGxhY2VVcwog
ICAgICAgICByZXBsYWNlU3RyaW5nID0gcmVwbGFjZVZhbHVlLnRvV1RGU3RyaW5nKGdsb2JhbE9i
amVjdCk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogICAg
IH0gZWxzZSB7Ci0gICAgICAgIGNhY2hlZENhbGwuZW1wbGFjZShnbG9iYWxPYmplY3QsIGNhbGxG
cmFtZSwganNDYXN0PEpTRnVuY3Rpb24qPihyZXBsYWNlVmFsdWUpLCAzKTsKLSAgICAgICAgY2Fj
aGVkQ2FsbC0+c2V0VGhpcyhqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgSlNGdW5jdGlvbiogZnVu
Y3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgcmVwbGFjZVZhbHVlKTsKKyAg
ICAgICAgaWYgKGZ1bmN0aW9uKSB7CisgICAgICAgICAgICBjYWNoZWRDYWxsLmVtcGxhY2UoZ2xv
YmFsT2JqZWN0LCBjYWxsRnJhbWUsIGZ1bmN0aW9uLCAzKTsKKyAgICAgICAgICAgIGNhY2hlZENh
bGwtPnNldFRoaXMoanNVbmRlZmluZWQoKSk7CisgICAgICAgIH0KICAgICB9CiAKKyAgICBzaXpl
X3QgbWF0Y2hTdGFydCA9IHN0cmluZy5maW5kKHNlYXJjaFN0cmluZyk7CisgICAgaWYgKG1hdGNo
U3RhcnQgPT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybiBqc1N0cmluZzsKKwogICAgIHNpemVf
dCBlbmRPZkxhc3RNYXRjaCA9IDA7CiAgICAgc2l6ZV90IHNlYXJjaFN0cmluZ0xlbmd0aCA9IHNl
YXJjaFN0cmluZy5sZW5ndGgoKTsKICAgICBWZWN0b3I8U3RyaW5nUmFuZ2UsIDE2PiBzb3VyY2VS
YW5nZXM7CiAgICAgVmVjdG9yPFN0cmluZywgMTY+IHJlcGxhY2VtZW50czsKICAgICBkbyB7Ci0g
ICAgICAgIGlmIChjYWNoZWRDYWxsKSB7Ci0gICAgICAgICAgICBhdXRvKiBzdWJzdHJpbmcgPSBq
c1N1YnN0cmluZyh2bSwgc3RyaW5nLCBtYXRjaFN0YXJ0LCBzZWFyY2hTdHJpbmdMZW5ndGgpOwot
ICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgICAg
ICAgICBjYWNoZWRDYWxsLT5jbGVhckFyZ3VtZW50cygpOwotICAgICAgICAgICAgY2FjaGVkQ2Fs
bC0+YXBwZW5kQXJndW1lbnQoc3Vic3RyaW5nKTsKLSAgICAgICAgICAgIGNhY2hlZENhbGwtPmFw
cGVuZEFyZ3VtZW50KGpzTnVtYmVyKG1hdGNoU3RhcnQpKTsKLSAgICAgICAgICAgIGNhY2hlZENh
bGwtPmFwcGVuZEFyZ3VtZW50KGpzU3RyaW5nKTsKLSAgICAgICAgICAgIEFTU0VSVCghY2FjaGVk
Q2FsbC0+aGFzT3ZlcmZsb3dlZEFyZ3VtZW50cygpKTsKLSAgICAgICAgICAgIEpTVmFsdWUgcmVw
bGFjZW1lbnQgPSBjYWNoZWRDYWxsLT5jYWxsKCk7CisgICAgICAgIGlmIChjYWxsVHlwZSAhPSBD
YWxsVHlwZTo6Tm9uZSkgeworICAgICAgICAgICAgSlNWYWx1ZSByZXBsYWNlbWVudDsKKyAgICAg
ICAgICAgIGlmIChjYWNoZWRDYWxsKSB7CisgICAgICAgICAgICAgICAgYXV0byogc3Vic3RyaW5n
ID0ganNTdWJzdHJpbmcodm0sIHN0cmluZywgbWF0Y2hTdGFydCwgc2VhcmNoU3RyaW5nTGVuZ3Ro
KTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsK
KyAgICAgICAgICAgICAgICBjYWNoZWRDYWxsLT5jbGVhckFyZ3VtZW50cygpOworICAgICAgICAg
ICAgICAgIGNhY2hlZENhbGwtPmFwcGVuZEFyZ3VtZW50KHN1YnN0cmluZyk7CisgICAgICAgICAg
ICAgICAgY2FjaGVkQ2FsbC0+YXBwZW5kQXJndW1lbnQoanNOdW1iZXIobWF0Y2hTdGFydCkpOwor
ICAgICAgICAgICAgICAgIGNhY2hlZENhbGwtPmFwcGVuZEFyZ3VtZW50KGpzU3RyaW5nKTsKKyAg
ICAgICAgICAgICAgICBBU1NFUlQoIWNhY2hlZENhbGwtPmhhc092ZXJmbG93ZWRBcmd1bWVudHMo
KSk7CisgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnQgPSBjYWNoZWRDYWxsLT5jYWxsKCk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IGFyZ3M7CisgICAgICAgICAgICAgICAgYXV0byogc3Vic3RyaW5nID0ganNTdWJzdHJpbmcodm0s
IHN0cmluZywgbWF0Y2hTdGFydCwgc2VhcmNoU3RyaW5nLmltcGwoKS0+bGVuZ3RoKCkpOworICAg
ICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworICAgICAg
ICAgICAgICAgIGFyZ3MuYXBwZW5kKHN1YnN0cmluZyk7CisgICAgICAgICAgICAgICAgYXJncy5h
cHBlbmQoanNOdW1iZXIobWF0Y2hTdGFydCkpOworICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5k
KGpzU3RyaW5nKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoIWFyZ3MuaGFzT3ZlcmZsb3dlZCgp
KTsKKyAgICAgICAgICAgICAgICByZXBsYWNlbWVudCA9IGNhbGwoZ2xvYmFsT2JqZWN0LCByZXBs
YWNlVmFsdWUsIGNhbGxUeXBlLCBjYWxsRGF0YSwganNVbmRlZmluZWQoKSwgYXJncyk7CisgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRy
KTsKICAgICAgICAgICAgIHJlcGxhY2VTdHJpbmcgPSByZXBsYWNlbWVudC50b1dURlN0cmluZyhn
bG9iYWxPYmplY3QpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVs
bHB0cik7CkBAIC04MjYsNyArODQwLDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcq
IHJlcGxhY2VVcwogICAgICAgICAgICAgT1VUX09GX01FTU9SWShnbG9iYWxPYmplY3QsIHNjb3Bl
KTsKIAogICAgICAgICBzaXplX3QgbWF0Y2hFbmQgPSBtYXRjaFN0YXJ0ICsgc2VhcmNoU3RyaW5n
TGVuZ3RoOwotICAgICAgICBpZiAoY2FjaGVkQ2FsbCkKKyAgICAgICAgaWYgKGNhbGxUeXBlICE9
IENhbGxUeXBlOjpOb25lKQogICAgICAgICAgICAgcmVwbGFjZW1lbnRzLmFwcGVuZChyZXBsYWNl
U3RyaW5nKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBTdHJpbmdCdWlsZGVyIHJlcGxh
Y2VtZW50KFN0cmluZ0J1aWxkZXI6Ok92ZXJmbG93SGFuZGxlcjo6UmVjb3JkT3ZlcmZsb3cpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>