<?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>78667</bug_id>
          
          <creation_ts>2012-02-14 21:17:44 -0800</creation_ts>
          <short_desc>Stop using script-tests in LayoutTests/fast/forms</short_desc>
          <delta_ts>2012-02-14 22:56:25 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>65915</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>556907</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-14 21:17:44 -0800</bug_when>
    <thetext>Stop using script-tests in LayoutTests/fast/forms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556911</commentid>
    <comment_count>1</comment_count>
      <attachid>127110</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-14 21:20:24 -0800</bug_when>
    <thetext>Created attachment 127110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556916</commentid>
    <comment_count>2</comment_count>
      <attachid>127110</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-14 21:41:55 -0800</bug_when>
    <thetext>Comment on attachment 127110
Patch

Just an out-of-curiosity question: What is the benefit of the change?

There had been a discussion that it might not worth making existing tests pretty for the sake of prettiness or even consistency: https://lists.webkit.org/pipermail/webkit-dev/2011-December/018948.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556922</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-14 21:46:51 -0800</bug_when>
    <thetext>The benefit is ease of moving these tests to other directories.
I&apos;m working on splitting tests in fast/forms/ into several sub-directories (Bug 65915). script-tests makes it harder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556923</commentid>
    <comment_count>4</comment_count>
      <attachid>127110</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-14 21:49:01 -0800</bug_when>
    <thetext>Comment on attachment 127110
Patch

Makes sense! Please cq+ it after making bots happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556945</commentid>
    <comment_count>5</comment_count>
      <attachid>127110</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 22:56:20 -0800</bug_when>
    <thetext>Comment on attachment 127110
Patch

Clearing flags on attachment: 127110

Committed r107781: &lt;http://trac.webkit.org/changeset/107781&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556946</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 22:56:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127110</attachid>
            <date>2012-02-14 21:20:24 -0800</date>
            <delta_ts>2012-02-14 22:56:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78667-20120215142022.patch</filename>
            <type>text/plain</type>
            <size>325639</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzEwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmJiOGI2ODE5OTc4MGI1ZjA0NjUw
NWYyZjcwYTM2ZWIwNThlNDUyNS4uMGVmYzY3OTMwYmUyNzNjMDUwNDQ5NjA5YzUwMTIwMzkwOWI0
OWNiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNiBAQAorMjAxMi0wMi0xNCAgS2VudCBUYW11cmEgIDx0
a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3RvcCB1c2luZyBzY3JpcHQtdGVzdHMgaW4g
TGF5b3V0VGVzdHMvZmFzdC9mb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzg2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gt
dW5zdXBwb3J0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFu
Z2VPdmVyZmxvdy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5n
ZVVuZGVyZmxvdy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1zdGVw
TWlzbWF0Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdG9vTG9u
Zy1pbnB1dC5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10b29Mb25n
LXRleHRhcmVhLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXVybC5odG1sOgorICAgICAgICAqIGZhc3QvZm9y
bXMvVmFsaWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFkaW8uaHRtbDoKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2NoZWNrVmFsaWRpdHktY2FuY2VsLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9j
aGVja1ZhbGlkaXR5LWhhbmRsZXItdXBkYXRlcy1kb20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2Zvcm0tYXR0cmlidXRlLWVsZW1lbnRzLW9yZGVyLmh0bWw6CisgICAgICAgICogZmFzdC9m
b3Jtcy9mb3JtLWF0dHJpYnV0ZS1lbGVtZW50cy1vcmRlcjIuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLWVsZW1lbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jt
cy9mb3JtLWF0dHJpYnV0ZS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1jb2xsZWN0
aW9uLWVsZW1lbnRzLW9yZGVyLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9mb3JtLWNvbGxl
Y3Rpb24tZWxlbWVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm1ub3ZhbGlkYXRl
LWF0dHJpYnV0ZS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvaW5jcmVtZW50YWwtZG9tLXBy
b3BlcnR5Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1tYXhsZW5ndGgtaW1lLWNv
bXBsZXRlZC5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtbWF4bGVuZ3RoLWltZS1w
cmVlZGl0Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1tYXhsZW5ndGgtdW5zdXBw
b3J0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LW1pbm1heC5odG1sOgorICAg
ICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtcGF0dGVybi5odG1sOgorICAgICAgICAqIGZhc3QvZm9y
bXMvaW5wdXQtc3RlcC5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtc3RlcHVwLXN0
ZXBkb3duLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LXZhbHVlYXNudW1iZXItdW5zdXBwb3J0ZWQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1s
OgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWw6CisgICAgICAgICog
ZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWw6CisgICAgICAg
ICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWw6CisgICAgICAgICog
ZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmh0bWw6CisgICAgICAgICog
ZmFzdC9mb3Jtcy9saXN0Ym94LWRlc2VsZWN0LXNjcm9sbC5odG1sOgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvbGlzdGJveC1zZWxlY3Rpb24tMi5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvbGlz
dGJveC1zZWxlY3Rpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL21lbnVsaXN0LWRpc2Fi
bGVkLXNlbGVjdGVkLW9wdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvbWVudWxpc3Qt
c3VibWl0LXdpdGhvdXQtc2VsZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9ub3Zh
bGlkYXRlLWF0dHJpYnV0ZS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvb3V0cHV0LXJlc2V0
LWFzc2VydGlvbi1mYWlsZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3BsYWNlaG9sZGVy
LWRvbS1wcm9wZXJ0eS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1RF
TVBMQVRFLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMv
VmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gtdW5zdXBwb3J0ZWQuanM6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJm
bG93LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlk
aXR5U3RhdGUtcmFuZ2VVbmRlcmZsb3cuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS1zdGVwTWlzbWF0Y2guanM6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10b29Mb25nLWlu
cHV0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlk
aXR5U3RhdGUtdG9vTG9uZy10ZXh0YXJlYS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpzOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlw
ZU1pc21hdGNoLXVybC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2luZy1yYWRpby5qczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9jaGVja1ZhbGlkaXR5LWNhbmNlbC5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9jaGVja1ZhbGlkaXR5LWhh
bmRsZXItdXBkYXRlcy1kb20uanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVudHMtb3JkZXIuanM6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVudHMtb3Jk
ZXIyLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0t
YXR0cmlidXRlLWVsZW1lbnRzLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2Zvcm0tY29sbGVjdGlvbi1lbGVtZW50cy1vcmRlci5qczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtLWNvbGxlY3Rpb24tZWxl
bWVudHMuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9y
bW5vdmFsaWRhdGUtYXR0cmlidXRlLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2luY3JlbWVudGFsLWRvbS1wcm9wZXJ0eS5qczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1tYXhsZW5ndGgtaW1lLWNvbXBsZXRl
ZC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1t
YXhsZW5ndGgtaW1lLXByZWVkaXQuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvaW5wdXQtbWF4bGVuZ3RoLXVuc3VwcG9ydGVkLmpzOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LW1pbm1heC5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1wYXR0ZXJuLmpzOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXAuanM6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0
ZXBkb3duLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lu
cHV0LXR5cGUtY2hhbmdlMy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9pbnB1dC12YWx1ZWFzbnVtYmVyLXVuc3VwcG9ydGVkLmpzOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5q
czogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRk
LXBhcmVudC1sYWJlbC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWluZGV4LmpzOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZv
ci1hdHRyaWJ1dGUuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmpzOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1zZXQtaHRtbEZv
ci1hdHRyaWJ1dGUuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvbGlzdGJveC1kZXNlbGVjdC1zY3JvbGwuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24tMi5qczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9saXN0Ym94LXNlbGVjdGlvbi5qczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9tZW51bGlzdC1kaXNhYmxlZC1z
ZWxlY3RlZC1vcHRpb24uanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvbWVudWxpc3Qtc3VibWl0LXdpdGhvdXQtc2VsZWN0aW9uLmpzOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL25vdmFsaWRhdGUtYXR0cmlidXRlLmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL291dHB1dC1yZXNldC1h
c3NlcnRpb24tZmFpbGVkLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL3BsYWNlaG9sZGVyLWRvbS1wcm9wZXJ0eS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1ldmVudHMuanM6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2VsZWN0LXNldC1sZW5n
dGgtb3B0Z3JvdXAuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvc2VsZWN0LXNldC1sZW5ndGgtd2l0aC1tdXRhdGlvbi1yZW1vdmUuanM6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2VsZWN0LXNldC1sZW5ndGgtd2l0aC1t
dXRhdGlvbi1yZW9yZGVyLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24tcmVwYXJlbnQuanM6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2VsZWN0LXNldC1sZW5ndGgt
d2l0aC1tdXRhdGlvbi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9zZWxlY3Qtc2V0LWxlbmd0aC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UuanM6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2hhZG93LXRyZWUtZXhwb3N1cmUuanM6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc3VibWl0LWZvcm0t
YXR0cmlidXRlcy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy90ZXh0LWNvbnRyb2wtaW50cmluc2ljLXdpZHRocy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanM6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtbWV0cmljcy5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1wbGFjZWhv
bGRlci1kb20tcHJvcGVydHkuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvdGV4dGFyZWEtcm93cy1jb2xzLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLXRleHRsZW5ndGguanM6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdmFsaWRhdGlvbk1lc3NhZ2UuanM6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvd2lsbHZhbGlkYXRlLmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tZXZlbnRz
Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC1vcHRncm91cC5o
dG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvc2VsZWN0LXNldC1sZW5ndGgtd2l0aC1tdXRhdGlv
bi1yZW1vdmUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NlbGVjdC1zZXQtbGVuZ3RoLXdp
dGgtbXV0YXRpb24tcmVvcmRlci5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvc2VsZWN0LXNl
dC1sZW5ndGgtd2l0aC1tdXRhdGlvbi1yZXBhcmVudC5odG1sOgorICAgICAgICAqIGZhc3QvZm9y
bXMvc2VsZWN0LXNldC1sZW5ndGgtd2l0aC1tdXRhdGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvc2VsZWN0LXNldC1sZW5ndGguaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NldEN1
c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvc2hhZG93
LXRyZWUtZXhwb3N1cmUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3N1Ym1pdC1mb3JtLWF0
dHJpYnV0ZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RleHQtY29udHJvbC1pbnRyaW5z
aWMtd2lkdGhzLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy90ZXh0YXJlYS1tYXhsZW5ndGgu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RleHRhcmVhLW1ldHJpY3MuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLWRvbS1wcm9wZXJ0eS5odG1sOgor
ICAgICAgICAqIGZhc3QvZm9ybXMvdGV4dGFyZWEtcm93cy1jb2xzLmh0bWw6CisgICAgICAgICog
ZmFzdC9mb3Jtcy90ZXh0YXJlYS10ZXh0bGVuZ3RoLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jt
cy92YWxpZGF0aW9uTWVzc2FnZS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvd2lsbHZhbGlk
YXRlLmh0bWw6CisKIDIwMTItMDItMTQgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTWFrZSBTY3JpcHRzTmF2aWdhdG9yIGRl
ZmF1bHQgZmlsZSBzZWxlY3Rvci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gtdW5zdXBwb3J0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gtdW5zdXBwb3J0ZWQu
aHRtbAppbmRleCBlMzMyYWQ2ZmQ4MzBlZmFiNDNhNWM4NGZkNzY5M2M1NTdmNDllZWY1Li5iMmZk
OWM2MTI2ZTUyZjA0NWViY2I1OTU0YjBkNTliZjBkMWY4MzBmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLXVuc3VwcG9ydGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXBhdHRlcm5N
aXNtYXRjaC11bnN1cHBvcnRlZC5odG1sCkBAIC02LDcgKzYsMjIgQEAKIDxib2R5PgogPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gtdW5zdXBwb3J0ZWQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdDaGVjayBpZiB0aGUgcGF0dGVy
biBjb25zdHJhaW50IGlzIG5vdCBhcHBsaWVkIHRvIHNvbWUgaW5wdXQgdHlwZXMuJyk7CisKK3Zh
ciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC50eXBlID0g
J3JhbmdlJzsKK2lucHV0LnBhdHRlcm4gPSAnWzAtOV0nOyAgLy8gUmVzdHJpY3QgdG8gc2luZ2xl
IGRpZ2l0CitpbnB1dC52YWx1ZSA9ICcxMSc7CisKKy8vIHBhdHRlcm4gZG9lc24ndCB3b3JrIGZv
ciB0eXBlPXJhbmdlCitzaG91bGRCZSgnaW5wdXQudmFsaWRpdHkucGF0dGVybk1pc21hdGNoJywg
J2ZhbHNlJyk7CisKKy8vIHdvcmtzIGZvciB0eXBlPXRleHQuCitpbnB1dC50eXBlID0gJ3RleHQn
Oworc2hvdWxkQmUoJ2lucHV0LnZhbGlkaXR5LnBhdHRlcm5NaXNtYXRjaCcsICd0cnVlJyk7CisK
Kzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VPdmVyZmxvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXJhbmdlT3ZlcmZsb3cuaHRtbAppbmRleCA3
MWYzMWFmMDkyYzM4OTJmZTgwOWQ1ZDNlMGZhZDJjZjRjMjc3MzkwLi43MTY5ODhlYzA2ODhmNjJj
OThhMDdlZmU1YTYyYmNhZTUyYjIyZmRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VPdmVyZmxvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJmbG93Lmh0bWwKQEAgLTYsNyArNiwzMSBA
QAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXJhbmdlT3ZlcmZs
b3cuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0
byBjaGVjayBmb3IgcmFuZ2VPdmVyZmxvdyBmbGFnIHdpdGggaW5wdXQgZmllbGRzJyk7CisKK3Zh
ciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisKK2Z1bmN0aW9uIGNo
ZWNrTm90T3ZlcmZsb3codmFsdWUsIG1heCwgZGlzYWJsZWQpCit7CisgICAgaW5wdXQudmFsdWUg
PSB2YWx1ZTsKKyAgICBpbnB1dC5tYXggPSBtYXg7CisgICAgaW5wdXQuZGlzYWJsZWQgPSAhIWRp
c2FibGVkOworICAgIHZhciBvdmVyZmxvdyA9IGlucHV0LnZhbGlkaXR5LnJhbmdlT3ZlcmZsb3c7
CisgICAgdmFyIHJlc3VsdFRleHQgPSAnVGhlIHZhbHVlICInICsgaW5wdXQudmFsdWUgKyAnIiAn
ICsKKyAgICAgICAgKG92ZXJmbG93ID8gJ292ZXJmbG93cycgOiAnZG9lc25cJ3Qgb3ZlcmZsb3cn
KSArCisgICAgICAgICcgdGhlIG1heGltdW0gdmFsdWUgIicgKyBpbnB1dC5tYXggKyAnIicgKyAo
ZGlzYWJsZWQgPyAnIHdoZW4gZGlzYWJsZWQuJyA6ICcuJyk7CisgICAgaWYgKG92ZXJmbG93KQor
ICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOworICAgIGVsc2UKKyAgICAgICAgdGVzdFBh
c3NlZChyZXN1bHRUZXh0KTsKK30KKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGVidWcoJ1R5cGU9dGV4dCcpOwor
aW5wdXQudHlwZSA9ICd0ZXh0JzsgIC8vIE5vIG92ZXJmbG93IGZvciB0eXBlPXRleHQuCitjaGVj
a05vdE92ZXJmbG93KCcxMDEnLCAnMTAwJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXJhbmdlVW5kZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtcmFuZ2VVbmRlcmZsb3cuaHRtbAppbmRleCBmNTM1MjA0ZDlkZTMwYWU1ZGZkN2Q4ZDNhNjVh
YzljMjdlYmVlMjY4Li4zZTUzMGVmM2ZmZWYzNDQ4NWZlMzMzZWEyYmY3YmQzNjMxNmYyZTNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRl
cmZsb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFu
Z2VVbmRlcmZsb3cuaHRtbApAQCAtNiw3ICs2LDMxIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRlcmZsb3cuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgYWltcyB0byBjaGVjayBmb3IgcmFuZ2VVbmRlcmZs
b3cgZmxhZyB3aXRoIGlucHV0IGZpZWxkcycpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpbnB1dCcpOworCitmdW5jdGlvbiBjaGVja05vdFVuZGVyZmxvdyh2YWx1ZSwg
bWluLCBkaXNhYmxlZCkKK3sKKyAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOworICAgIGlucHV0Lm1p
biA9IG1pbjsKKyAgICBpbnB1dC5kaXNhYmxlZCA9ICEhZGlzYWJsZWQ7CisgICAgdmFyIHVuZGVy
ZmxvdyA9IGlucHV0LnZhbGlkaXR5LnJhbmdlVW5kZXJmbG93OworICAgIHZhciByZXN1bHRUZXh0
ID0gJ1RoZSB2YWx1ZSAiJyArIGlucHV0LnZhbHVlICsgJyIgJyArCisgICAgICAgICh1bmRlcmZs
b3cgPyAndW5kZXJmbG93cycgOiAnZG9lc25cJ3QgdW5kZXJmbG93JykgKworICAgICAgICAnIHRo
ZSBtaW5pbXVtIHZhbHVlICInICsgaW5wdXQubWluICsgJyInICsgKGRpc2FibGVkID8gJyB3aGVu
IGRpc2FibGVkLicgOiAnLicpOworICAgIGlmICh1bmRlcmZsb3cpCisgICAgICAgIHRlc3RGYWls
ZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQp
OworfQorCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitkZWJ1ZygnVHlwZT10ZXh0Jyk7CitpbnB1dC50eXBlID0gJ3Rl
eHQnOyAgLy8gTm8gdW5kZXJmbG93IGZvciB0eXBlPXRleHQuCitjaGVja05vdFVuZGVyZmxvdygn
OTknLCAnMTAwJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXN0ZXBNaXNtYXRjaC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXN0ZXBNaXNtYXRjaC5o
dG1sCmluZGV4IDk0OTk5OWJlMmMyNmZhYmU4ODg5YWQ0ZjU4ZWFkYjZiZjUxYWEwNDEuLjM3NmQx
MjZmMjczMTQwOTFiMzZmMjgzYTk0MGMxN2E0MjJlNzZjOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1zdGVwTWlzbWF0Y2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtc3RlcE1pc21hdGNoLmh0bWwKQEAgLTYs
NyArNiwzMCBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXN0
ZXBNaXNtYXRjaC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0NoZWNrIHN0
ZXBNaXNtYXRjaCByZXN1bHRzIGZvciB1bnN1cHBvcnRlZCB0eXBlcy4nKTsKKwordmFyIGlucHV0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaW5wdXQpOworCitkZWJ1ZygnVW5zdXBwb3J0ZWQgdHlwZXMnKTsKK3Nob3VsZEJlKCdp
bnB1dC50eXBlID0gInRleHQiOyBpbnB1dC5zdGVwID0gIjMiOyBpbnB1dC5taW4gPSAiIjsgaW5w
dXQudmFsdWUgPSAiMiI7IGlucHV0LnZhbGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOwor
c2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAiYnV0dG9uIjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21h
dGNoJywgJ2ZhbHNlJyk7CitzaG91bGRCZSgnaW5wdXQudHlwZSA9ICJjaGVja2JveCI7IGlucHV0
LnZhbGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOworc2hvdWxkQmUoJ2lucHV0LnR5cGUg
PSAiY29sb3IiOyBpbnB1dC52YWxpZGl0eS5zdGVwTWlzbWF0Y2gnLCAnZmFsc2UnKTsKK3Nob3Vs
ZEJlKCdpbnB1dC50eXBlID0gImVtYWlsIjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywg
J2ZhbHNlJyk7CitzaG91bGRCZSgnaW5wdXQudHlwZSA9ICJoaWRkZW4iOyBpbnB1dC52YWxpZGl0
eS5zdGVwTWlzbWF0Y2gnLCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdpbnB1dC50eXBlID0gImltYWdl
IjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywgJ2ZhbHNlJyk7CitzaG91bGRCZSgnaW5w
dXQudHlwZSA9ICJraHRtbF9pc2luZGV4IjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywg
J2ZhbHNlJyk7CitzaG91bGRCZSgnaW5wdXQudHlwZSA9ICJwYXNzd2QiOyBpbnB1dC52YWxpZGl0
eS5zdGVwTWlzbWF0Y2gnLCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdpbnB1dC50eXBlID0gInJhZGlv
IjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywgJ2ZhbHNlJyk7CitzaG91bGRCZSgnaW5w
dXQudHlwZSA9ICJyZXNldCI7IGlucHV0LnZhbGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScp
Oworc2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAic2VhcmNoIjsgaW5wdXQudmFsaWRpdHkuc3RlcE1p
c21hdGNoJywgJ2ZhbHNlJyk7CitzaG91bGRCZSgnaW5wdXQudHlwZSA9ICJzdWJtaXQiOyBpbnB1
dC52YWxpZGl0eS5zdGVwTWlzbWF0Y2gnLCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdpbnB1dC50eXBl
ID0gInRlbCI7IGlucHV0LnZhbGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOworc2hvdWxk
QmUoJ2lucHV0LnR5cGUgPSAidXJsIjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywgJ2Zh
bHNlJyk7CitzaG91bGRCZSgnaW5wdXQudHlwZSA9ICJmaWxlIjsgaW5wdXQudmFsaWRpdHkuc3Rl
cE1pc21hdGNoJywgJ2ZhbHNlJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXRvb0xv
bmctaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10b29M
b25nLWlucHV0Lmh0bWwKaW5kZXggMjA2OWU0NmQ3ZDI2ZGI2ODE0NzNjMzhhNTkxMGNkZTJlOTVj
ZDQwNS4uNzhkMGNjZjczYmM0MzRmMGI5NzQ3ODRjNzM4ZDUxZDZjOGNhNzM4ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXRvb0xvbmctaW5wdXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdG9vTG9uZy1pbnB1
dC5odG1sCkBAIC02LDcgKzYsNzYgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvVmFs
aWRpdHlTdGF0ZS10b29Mb25nLWlucHV0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbignVGVzdHMgZm9yIHRvb0xvbmcgZmxhZyB3aXRoICZsdDtpbnB1dD4gZWxlbWVudHMuJyk7
CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKKworZGVidWcoJ05vIG1heGxlbmd0aCBhbmQgbm8g
dmFsdWUnKTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0LnZhbGlkaXR5LnRvb0xvbmcnKTsKKworZGVi
dWcoJycpOworZGVidWcoJ05vbi1kaXJ0eSB2YWx1ZScpOworaW5wdXQuc2V0QXR0cmlidXRlKCd2
YWx1ZScsICdhYmNkZScpOworaW5wdXQubWF4TGVuZ3RoID0gMzsKK3Nob3VsZEJlKCdpbnB1dC52
YWx1ZS5sZW5ndGgnLCAnNScpOworc2hvdWxkQmVGYWxzZSgnaW5wdXQudmFsaWRpdHkudG9vTG9u
ZycpOworCitpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ2FiY2RlZicpOworc2hvdWxkQmUo
J2lucHV0LnZhbHVlLmxlbmd0aCcsICc2Jyk7CitzaG91bGRCZUZhbHNlKCdpbnB1dC52YWxpZGl0
eS50b29Mb25nJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdEaXJ0eSB2YWx1ZSBhbmQgbG9uZ2Vy
IHRoYW4gbWF4TGVuZ3RoJyk7CitpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKK2lucHV0LnNldEF0dHJpYnV0
ZSgndmFsdWUnLCAnYWJjZGUnKTsKK2lucHV0Lm1heExlbmd0aCA9IDM7CitpbnB1dC5mb2N1cygp
OworaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoNSwgNSk7ICAvLyBNb3ZlIHRoZSBjdXJzb3IgYXQg
dGhlIGVuZC4KK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdkZWxldGUnKTsKK3Nob3VsZEJlKCdpbnB1
dC52YWx1ZS5sZW5ndGgnLCAnNCcpOworc2hvdWxkQmVUcnVlKCdpbnB1dC52YWxpZGl0eS50b29M
b25nJyk7CisvLyBNYWtlIHRoZSB2YWx1ZSA8PW1heExlbmd0aC4KK2RvY3VtZW50LmV4ZWNDb21t
YW5kKCdkZWxldGUnKTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0LnZhbGlkaXR5LnRvb0xvbmcnKTsK
KworZGVidWcoJycpOworZGVidWcoJ1NldHMgYSB2YWx1ZSB2aWEgRE9NIHByb3BlcnR5Jyk7Citp
bnB1dC5tYXhMZW5ndGggPSAzOworaW5wdXQudmFsdWUgPSAnYWJjZGUnOworc2hvdWxkQmVGYWxz
ZSgnaW5wdXQudmFsaWRpdHkudG9vTG9uZycpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnRGlzYWJs
ZWQnKTsKK2lucHV0LmRpc2FibGVkID0gdHJ1ZTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0LnZhbGlk
aXR5LnRvb0xvbmcnKTsKK2lucHV0LmRpc2FibGVkID0gZmFsc2U7CisKK2RlYnVnKCcnKTsKK2Rl
YnVnKCdHcmFwaGVtZSBsZW5ndGggaXMgbm90IGdyZWF0ZXIgdGhhbiBtYXhMZW5ndGggdGhvdWdo
IGNoYXJhY3RlciBsZW5ndGggaXMgZ3JlYXRlcicpOworLy8gZmFuY3lYIHNob3VsZCBiZSB0cmVh
dGVkIGFzIDEgZ3JhcGhlbWUuCisvLyBVKzAzMDUgQ09NQklOSU5HIE9WRVJMSU5FCisvLyBVKzAz
MzIgQ09NQklOSU5HIExPVyBMSU5FCit2YXIgZmFuY3lYID0gInhcdTAzMDVcdTAzMzIiOworaW5w
dXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpbnB1dCk7CitpbnB1dC52YWx1ZSA9IGZhbmN5WDsgLy8gMyBjaGFyYWN0ZXJzLCAx
IGdyYXBoZW1lIGNsdXN0ZXJzLgoraW5wdXQubWF4TGVuZ3RoID0gMTsKK3Nob3VsZEJlRmFsc2Uo
J2lucHV0LnZhbGlkaXR5LnRvb0xvbmcnKTsKKworZGVidWcoJycpOworZGVidWcoJ0NoYW5nZSB0
aGUgdHlwZSB3aXRoIGEgdG9vIGxvbmcgdmFsdWUnKTsKK2lucHV0Lm1heExlbmd0aCA9IDM7Citp
bnB1dC52YWx1ZSA9ICdhYmNkZSc7CitpbnB1dC50eXBlID0gJ3NlYXJjaCc7CitpbnB1dC5mb2N1
cygpOworaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoNSwgNSk7Citkb2N1bWVudC5leGVjQ29tbWFu
ZCgnZGVsZXRlJyk7CitzaG91bGRCZVRydWUoJ2lucHV0LnZhbGlkaXR5LnRvb0xvbmcnKTsKK3No
b3VsZEJlRmFsc2UoJ2lucHV0LnR5cGUgPSAibnVtYmVyIjsgaW5wdXQudmFsaWRpdHkudG9vTG9u
ZycpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10b29Mb25nLXRleHRhcmVhLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdG9vTG9uZy10ZXh0YXJlYS5o
dG1sCmluZGV4IDRjZDdlNjhhOTI5MzI2M2JmMDdiNGQ5YWVjMTIyNGM0MTZlMjdiZDEuLmM5ZWEy
ZWRjMjExMTNiYjEyZjMwYjI1NDI2NGQ5OTZmYzNiYTgyODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10b29Mb25nLXRleHRhcmVhLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXRvb0xvbmctdGV4dGFyZWEuaHRt
bApAQCAtNiw3ICs2LDkxIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlkaXR5
U3RhdGUtdG9vTG9uZy10ZXh0YXJlYS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oJ1Rlc3RzIGZvciB0b29Mb25nIGZsYWcgd2l0aCAmbHQ7dGV4dGFyZWE+IGVsZW1lbnRzLicp
OworCit2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7CisKK2RlYnVnKCdObyBtYXhsZW5n
dGggYW5kIG5vIHZhbHVlJyk7CitzaG91bGRCZUZhbHNlKCd0ZXh0YXJlYS52YWxpZGl0eS50b29M
b25nJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdOb24tZGlydHkgdmFsdWUnKTsKK3RleHRhcmVh
LmRlZmF1bHRWYWx1ZSA9ICdhYmNkZSc7Cit0ZXh0YXJlYS5tYXhMZW5ndGggPSAzOworc2hvdWxk
QmUoJ3RleHRhcmVhLnZhbHVlLmxlbmd0aCcsICc1Jyk7CitzaG91bGRCZUZhbHNlKCd0ZXh0YXJl
YS52YWxpZGl0eS50b29Mb25nJyk7CisKK3RleHRhcmVhLmRlZmF1bHRWYWx1ZSA9ICdhYmNkZWYn
Oworc2hvdWxkQmUoJ3RleHRhcmVhLnZhbHVlLmxlbmd0aCcsICc2Jyk7CitzaG91bGRCZUZhbHNl
KCd0ZXh0YXJlYS52YWxpZGl0eS50b29Mb25nJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdEaXJ0
eSB2YWx1ZSBhbmQgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoJyk7Cit0ZXh0YXJlYSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRl
eHRhcmVhKTsKK3RleHRhcmVhLmRlZmF1bHRWYWx1ZSA9ICdhYmNkZSc7Cit0ZXh0YXJlYS5tYXhM
ZW5ndGggPSAzOwordGV4dGFyZWEuZm9jdXMoKTsKK3RleHRhcmVhLnNldFNlbGVjdGlvblJhbmdl
KDUsIDUpOyAgLy8gTW92ZSB0aGUgY3Vyc29yIGF0IHRoZSBlbmQuCitkb2N1bWVudC5leGVjQ29t
bWFuZCgnZGVsZXRlJyk7CitzaG91bGRCZSgndGV4dGFyZWEudmFsdWUubGVuZ3RoJywgJzQnKTsK
K3Nob3VsZEJlVHJ1ZSgndGV4dGFyZWEudmFsaWRpdHkudG9vTG9uZycpOworLy8gTWFrZSB0aGUg
dmFsdWUgPD1tYXhMZW5ndGguCitkb2N1bWVudC5leGVjQ29tbWFuZCgnZGVsZXRlJyk7CitzaG91
bGRCZUZhbHNlKCd0ZXh0YXJlYS52YWxpZGl0eS50b29Mb25nJyk7CisKK2RlYnVnKCcnKTsKK2Rl
YnVnKCdTZXRzIGEgdmFsdWUgdmlhIERPTSBwcm9wZXJ0eScpOwordGV4dGFyZWEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0
ZXh0YXJlYSk7Cit0ZXh0YXJlYS5tYXhMZW5ndGggPSAzOwordGV4dGFyZWEudmFsdWUgPSAnYWJj
ZGUnOworc2hvdWxkQmVGYWxzZSgndGV4dGFyZWEudmFsaWRpdHkudG9vTG9uZycpOworCitkZWJ1
ZygnJyk7CitkZWJ1ZygnRGlzYWJsZWQnKTsKK3RleHRhcmVhLmRpc2FibGVkID0gdHJ1ZTsKK3No
b3VsZEJlRmFsc2UoJ3RleHRhcmVhLnZhbGlkaXR5LnRvb0xvbmcnKTsKK3RleHRhcmVhLmRpc2Fi
bGVkID0gZmFsc2U7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdHcmFwaGVtZSBsZW5ndGggaXMgbm90
IGdyZWF0ZXIgdGhhbiBtYXhMZW5ndGggdGhvdWdoIGNoYXJhY3RlciBsZW5ndGggaXMgZ3JlYXRl
cicpOworLy8gZmFuY3lYIHNob3VsZCBiZSB0cmVhdGVkIGFzIDEgZ3JhcGhlbWUuCisvLyBVKzAz
MDUgQ09NQklOSU5HIE9WRVJMSU5FCisvLyBVKzAzMzIgQ09NQklOSU5HIExPVyBMSU5FCit2YXIg
ZmFuY3lYID0gInhcdTAzMDVcdTAzMzIiOwordGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCd0ZXh0YXJlYScpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7Cit0
ZXh0YXJlYS52YWx1ZSA9IGZhbmN5WDsgLy8gMyBjaGFyYWN0ZXJzLCAxIGdyYXBoZW1lIGNsdXN0
ZXIuCit0ZXh0YXJlYS5tYXhMZW5ndGggPSAxOworc2hvdWxkQmVGYWxzZSgndGV4dGFyZWEudmFs
aWRpdHkudG9vTG9uZycpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnQSB2YWx1ZSBzZXQgYnkgcmVz
ZXR0aW5nIGEgZm9ybSBkb2VzblwndCBtYWtlIHRvb0xvbmcgdHJ1ZS4nKTsKKy8vIE1ha2UgYSBk
aXJ0eSB0ZXh0YXJlYS4KK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKK3BhcmVudC5pbm5lckhUTUwg
PSAnPGZvcm0+PHRleHRhcmVhIG1heGxlbmd0aD0yPmFiY2RlZjwvdGV4dGFyZWE+PC9mb3JtPic7
Cit0ZXh0YXJlYSA9IHBhcmVudC5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7Cit0ZXh0YXJlYS5mb2N1
cygpOwordGV4dGFyZWEuc2V0U2VsZWN0aW9uUmFuZ2UoNiwgNik7Citkb2N1bWVudC5leGVjQ29t
bWFuZCgnZGVsZXRlJyk7CitzaG91bGRCZVRydWUoJ3RleHRhcmVhLnZhbGlkaXR5LnRvb0xvbmcn
KTsKK3BhcmVudC5maXJzdENoaWxkLnJlc2V0KCk7CitzaG91bGRCZSgndGV4dGFyZWEudmFsdWUn
LCAnImFiY2RlZiInKTsKK3Nob3VsZEJlRmFsc2UoJ3RleHRhcmVhLnZhbGlkaXR5LnRvb0xvbmcn
KTsKKworZGVidWcoJycpOworZGVidWcoJ0EgdmFsdWUgc2V0IGJ5IGEgY2hpbGQgbm9kZSBjaGFu
Z2UgZG9lc25cJ3QgbWFrZSB0b29Mb25nIHRydWUuJyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzx0
ZXh0YXJlYSBtYXhsZW5ndGg9Mj5hYmM8L3RleHRhcmVhPic7Cit0ZXh0YXJlYSA9IHBhcmVudC5m
aXJzdENoaWxkOworc2hvdWxkQmVGYWxzZSgndGV4dGFyZWEudmFsaWRpdHkudG9vTG9uZycpOwor
cGFyZW50LmZpcnN0Q2hpbGQuaW5uZXJIVE1MID0gJ2FiY2RlZic7CitzaG91bGRCZSgndGV4dGFy
ZWEudmFsdWUnLCAnImFiY2RlZiInKTsKK3Nob3VsZEJlRmFsc2UoJ3RleHRhcmVhLnZhbGlkaXR5
LnRvb0xvbmcnKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRh
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5
cGVNaXNtYXRjaC1kYXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzQ3MGViZmYzM2M0YzhiYTA3YWIxMGVjM2NmMGFlNGE4NDlhOGZhMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNjMgKzAsMCBAQAotVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNt
YXRjaCBmbGFnIHdpdGggdHlwZT1kYXRlIGlucHV0IGZpZWxkcwotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyAiIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCi1Q
QVNTICIyMDA5LTA5LTA3IiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICI5
OTk5LTEyLTMxIiBpcyBhIGNvcnJlY3QgdmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyNzU3NjAt
MDktMTMiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjE1ODItMTAtMTUi
IGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjAwMDEtMDEtMDEiIGlzIGEg
Y29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDEtMzEiIGlzIGEgY29ycmVj
dCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDItMjgiIGlzIGEgY29ycmVjdCB2YWxp
ZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDMtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRl
IHN0cmluZy4KLVBBU1MgIjIwMDktMDQtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmlu
Zy4KLVBBU1MgIjIwMDktMDUtMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBB
U1MgIjIwMDktMDYtMzAiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIw
MDktMDctMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDgt
MzEiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDktMzAiIGlz
IGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMTAtMzEiIGlzIGEgY29y
cmVjdCB2YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMTEtMzAiIGlzIGEgY29ycmVjdCB2
YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMTItMzEiIGlzIGEgY29ycmVjdCB2YWxpZCBk
YXRlIHN0cmluZy4KLVBBU1MgIjIwMDgtMDItMjkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0
cmluZy4KLVBBU1MgIjIwMDAtMDItMjkiIGlzIGEgY29ycmVjdCB2YWxpZCBkYXRlIHN0cmluZy4K
LVBBU1MgIiAyMDA5LTA5LTA3ICIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1Q
QVNTICJhIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIi0xLTA5LTA3
IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjAwMDAtMTItMzEiIGlz
IGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgotUEFTUyAiMDAwMC0wMS0wMSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyNzU3NjAtMDktMTQiIGlzIGEgY29y
cmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgotUEFTUyAiMjE0NzQ4MzY0OC0xMi0zMSIgaXMgYSBj
b3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyMDA5LzA5LzA3IiBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDkwOTA3IiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktLTItMDciIGlzIGEgY29ycmVjdCBpbnZhbGlk
IGRhdGUgc3RyaW5nLgotUEFTUyAiMjAwOS0wMC0wNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0
ZSBzdHJpbmcuCi1QQVNTICIyMDA5LTEzLTA3IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0
cmluZy4KLVBBU1MgIjIwMDkteHgtMzAiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5n
LgotUEFTUyAiMjAwOS0wMS0zMiIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1Q
QVNTICIyMDA5LTAyLTI5IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBBU1Mg
IjIwMDktMDMtMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgotUEFTUyAiMjAw
OS0wNC0zMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyMDA5LTA1
LTMyIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDYtMzEi
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgotUEFTUyAiMjAwOS0wNy0zMiIgaXMg
YSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyMDA5LTA4LTMyIiBpcyBhIGNv
cnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDktMzEiIGlzIGEgY29ycmVj
dCBpbnZhbGlkIGRhdGUgc3RyaW5nLgotUEFTUyAiMjAwOS0xMC0zMiIgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyMDA5LTExLTMxIiBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMTItMzIiIGlzIGEgY29ycmVjdCBpbnZhbGlkIGRh
dGUgc3RyaW5nLgotUEFTUyAiMjEwMC0wMi0yOSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBz
dHJpbmcuCi1QQVNTICIyMDA5LTA5LTAwIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmlu
Zy4KLVBBU1MgIjIwMDktMDktIiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBB
U1MgIjIwMDktMDktNyIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIy
MDA5LTA5LTAwMSIgaXMgYSBjb3JyZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyMDA5
LTA5LXh4IiBpcyBhIGNvcnJlY3QgaW52YWxpZCBkYXRlIHN0cmluZy4KLVBBU1MgIjIwMDktMDki
IGlzIGEgY29ycmVjdCBpbnZhbGlkIGRhdGUgc3RyaW5nLgotUEFTUyAiMjAwOSIgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgZGF0ZSBzdHJpbmcuCi1QQVNTICIyMDA5LTA5IiBpcyBhIGNvcnJlY3QgdmFs
aWQgZGF0ZSBzdHJpbmcgd2hlbiBkaXNhYmxlZC4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXVybC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC11cmwuaHRtbAppbmRleCBiODM3YTdi
OWViZmYxZGQ0N2NhOWQwYWY2ZGU4NzQyNGYyMWQ5YzliLi41ZGQ0ZmQ1OWVjYTMzMTU1OTVmOGRi
MWVlZTRlZDNlMzE4YjY1ODU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLXVybC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtdXJsLmh0bWwKQEAgLTYsNyArNiw5MCBA
QAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRj
aC11cmwuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJJbnB1dCB0eXBlPXVy
bCB2YWxpZGF0aW9uIHRlc3QiKTsKKworZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhw
ZWN0ZWQsIGRpc2FibGVkKSB7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIGkuZGlzYWJsZWQg
PSAhIWRpc2FibGVkOworICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsK
KyAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVkOworICAgIHZhciBy
ZXN1bHRUZXh0ID0gdmFsdWUgKyAnIGlzICcgKyAoZGlkUGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdh
biBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2ludmFsaWQnIDogJ3ZhbGlkJykgKyAnIHVybCcg
KyAoZGlzYWJsZWQgPyAnIHdoZW4gZGlzYWJsZWQuJyA6ICcuJyk7CisgICAgaWYgKGRpZFBhc3Mp
CisgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7CisgICAgZWxzZQorICAgICAgICB0ZXN0
RmFpbGVkKHJlc3VsdFRleHQpOworfQorCitmdW5jdGlvbiBleHBlY3RWYWxpZCh2YWx1ZSwgZGlz
YWJsZWQpIHsKKyAgICBjaGVjayh2YWx1ZSwgZmFsc2UsIGRpc2FibGVkKTsKK30KKworZnVuY3Rp
b24gZXhwZWN0SW52YWxpZCh2YWx1ZSkgeworICAgIGNoZWNrKHZhbHVlLCB0cnVlKTsKK30KKwor
dmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworaS50eXBlID0gJ3VybCc7
CisKKy8vIFZhbGlkIHZhbHVlcworZXhwZWN0VmFsaWQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbScp
OworZXhwZWN0VmFsaWQoJ2h0dHA6Ly9mb286YmFyQHd3dy5nb29nbGUuY29tOjgwJyk7CitleHBl
Y3RWYWxpZCgnaHR0cDovL2xvY2FsaG9zdCcpOworZXhwZWN0VmFsaWQoJ2h0dHA6Ly8xMjcuMC4w
LjEnKTsKK2V4cGVjdFZhbGlkKCdodHRwOi8vWzAwMDA6MDAwMDowMDAwOjAwMDA6MDAwMDowMDAw
OjdmMDA6MDAwMV0vJyk7CitleHBlY3RWYWxpZCgnaHR0cDovL1swMDAwOjAwMDA6MDAwMDowMDAw
OjAwMDA6MDAwMDoxMjcuMC4wLjFdLycpOworZXhwZWN0VmFsaWQoJ2h0dHA6Ly9bOjo3ZjAwOjAw
MDFdLycpOworZXhwZWN0VmFsaWQoJ2h0dHA6Ly9bMTo6MjozXS8nKTsKK2V4cGVjdFZhbGlkKCdo
dHRwOi8vWzAwMDA6MDo6ZmZmZjoxMC4wLjAuMV0vJyk7CitleHBlY3RWYWxpZCgnaHR0cDovL2En
KTsKK2V4cGVjdFZhbGlkKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3Jscz1lbiZxPVdl
YktpdCZpZT1VVEYtOCZvZT1VVEYtOCcpOworZXhwZWN0VmFsaWQoJ2Z0cDovL2Z0cC5teWhvc3Qu
Y29tJyk7CitleHBlY3RWYWxpZCgnc3NoOi8vc3NoLm15aG9zdC5jb20nKTsKK2V4cGVjdFZhbGlk
KCdtYWlsdG86dGtlbnRAY2hyb21pdW0ub3JnJyk7CitleHBlY3RWYWxpZCgnbWFpbHRvOnRrZW50
QGNocm9taXVtLm9yZz9ib2R5PWhlbGxvJyk7CitleHBlY3RWYWxpZCgnZmlsZTovLy9Vc2Vycy90
a2VudC8uenNocmMnKTsKK2V4cGVjdFZhbGlkKCdmaWxlOi8vL0M6L2h1bWFuLnN5cycpOworZXhw
ZWN0VmFsaWQoJ3RlbDorMS04MDAtMTIzNDU7ZXh0PTk5OTknKTsKK2V4cGVjdFZhbGlkKCd0ZWw6
MDMoMTIzNCk1Njc4Jyk7CitleHBlY3RWYWxpZCgnc29tZXNjaGVtZTovL3NzaC5teWhvc3QuY29t
Jyk7CitleHBlY3RWYWxpZCgnaHR0cDovL2EvXFxcL1wnXCcqPD4vJyk7CitleHBlY3RWYWxpZCgn
aHR0cDovL2EvZGZzL1xrZHNAc2RzJyk7CitleHBlY3RWYWxpZCgnaHR0cDovL2EuYToxL3NlYXJj
aD9hJmInKTsKK2V4cGVjdFZhbGlkKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vI3RvcCcpOworZXhw
ZWN0VmFsaWQoJ2h0dHA6Ly9cdTMwQzZcdTMwQjlcdTMwQzhcdTMwMDJqcC9cdTMwRDFcdTMwQjk/
XHU1NDBEXHU1MjREPVx1NTAyNCcpOworCisvLyBJbnZhbGlkIHZhbHVlcworZXhwZWN0SW52YWxp
ZCgnd3d3Lmdvb2dsZS5jb20nKTsKK2V4cGVjdEludmFsaWQoJzEyNy4wLjAuMScpOworZXhwZWN0
SW52YWxpZCgnLmNvbScpOworZXhwZWN0SW52YWxpZCgnaHR0cDovL3d3dy5nb29nbGUuY29tOmFh
YWEnKTsKK2V4cGVjdEludmFsaWQoJzovLycpOworZXhwZWN0SW52YWxpZCgnL2h0dHA6Ly93d3cu
Z29vZ2xlLmNvbScpOworZXhwZWN0SW52YWxpZCgnLS0tLWZ0cDovL2EnKTsKK2V4cGVjdEludmFs
aWQoJ3NjaGVtZS8vYScpOworZXhwZWN0SW52YWxpZCgnaHR0cDovL1t2OC46OjpdLycpOworCisv
LyBLVVJMJ3MgaG9zdCBuYW1lIHJlc3RyaWN0aW9uIGlzIHN0cmljdGVyIHRoYW4gUkZDIDM5ODYu
IEtVUkxHb29nbGUgaXMgbm90LgoraS52YWx1ZSA9ICdodHRwOi8vd3d3LmcqKmdsZS5jb20nCit2
YXIgc3RyaWN0SG9zdCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworaWYgKHN0cmljdEhvc3Qp
IHsKKyAgICBleHBlY3RJbnZhbGlkKCdodHRwOi8vIHd3dy5nb29nbGUuY29tJyk7CisgICAgZXhw
ZWN0SW52YWxpZCgnaHR0cDovL3d3dyAuZ29vZ2xlLmNvbScpOworICAgIGV4cGVjdEludmFsaWQo
J2h0dHA6Ly93d3cuJiMxMDtnb29nbGUuJiMxMztjb20nKTsKKyAgICBleHBlY3RJbnZhbGlkKCdo
dHRwOi8vaG9zdCsnKTsKKyAgICBleHBlY3RJbnZhbGlkKCdodHRwOi8vbXl1cmwhJyk7Cit9IGVs
c2UgeworICAgIGV4cGVjdFZhbGlkKCdodHRwOi8vIHd3dy5nb29nbGUuY29tJyk7CisgICAgZXhw
ZWN0VmFsaWQoJ2h0dHA6Ly93d3cgLmdvb2dsZS5jb20nKTsKKyAgICBleHBlY3RWYWxpZCgnaHR0
cDovL3d3dy4mIzEwO2dvb2dsZS4mIzEzO2NvbScpOworICAgIGV4cGVjdFZhbGlkKCdodHRwOi8v
aG9zdCsnKTsKKyAgICBleHBlY3RWYWxpZCgnaHR0cDovL215dXJsIScpOworfQorCisvLyBEaXNh
YmxlZAorZXhwZWN0VmFsaWQoJ2ludmFsaWQnLCB0cnVlKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8
L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtdmFsdWVNaXNzaW5nLXJhZGlvLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtdmFsdWVNaXNzaW5nLXJhZGlvLmh0bWwKaW5kZXggMTNhMGZiZjU4ZTYx
NDZhZWI5N2RlNGMyYjM4YTM2OTJkYmI0MTViZC4uNGY0MTQwYjUzYmJlMTRmMmU1ODA5MjllZjJk
ODc4MTM5ODMwMzEyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0
eVN0YXRlLXZhbHVlTWlzc2luZy1yYWRpby5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvVmFsaWRpdHlTdGF0ZS12YWx1ZU1pc3NpbmctcmFkaW8uaHRtbApAQCAtNiw3ICs2LDg0IEBA
CiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdmFsdWVNaXNzaW5n
LXJhZGlvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigndmFsdWVNaXNzaW5n
IHRlc3RzIGZvciByYWRpbyBidXR0b25zJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKwor
ZGVidWcoJ1dpdGhvdXQgZm9ybSBlbGVtZW50Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxpbnB1
dCBuYW1lPXZpY3RpbSB0eXBlPXJhZGlvIHJlcXVpcmVkPicKKyAgICArICc8aW5wdXQgbmFtZT12
aWN0aW0gdHlwZT1yYWRpbz4nCisgICAgKyAnPGlucHV0IG5hbWU9dmljdGltIHR5cGU9cmFkaW8+
JzsKK3ZhciBpbnB1dHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgndmljdGltJyk7Citk
ZWJ1ZygnTm8gY2hlY2tlZCBidXR0b246Jyk7CitzaG91bGRCZVRydWUoJ2lucHV0c1swXS52YWxp
ZGl0eS52YWx1ZU1pc3NpbmcnKTsKK3Nob3VsZEJlVHJ1ZSgnaW5wdXRzWzFdLnZhbGlkaXR5LnZh
bHVlTWlzc2luZycpOworc2hvdWxkQmVUcnVlKCdpbnB1dHNbMl0udmFsaWRpdHkudmFsdWVNaXNz
aW5nJyk7CitkZWJ1ZygnVGhlIHNlY29uZCBidXR0b24gaGFzIGJlZW4gY2hlY2tlZDonKTsKK2lu
cHV0c1sxXS5jaGVja2VkID0gdHJ1ZTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1swXS52YWxpZGl0
eS52YWx1ZU1pc3NpbmcnKTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1
ZU1pc3NpbmcnKTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1syXS52YWxpZGl0eS52YWx1ZU1pc3Np
bmcnKTsKK2RlYnVnKCdUaGUgZmlyc3QgYnV0dG9uIGhhcyBiZWVuIGNoZWNrZWQ6Jyk7CitpbnB1
dHNbMF0uY2hlY2tlZCA9IHRydWU7CitzaG91bGRCZUZhbHNlKCdpbnB1dHNbMF0udmFsaWRpdHku
dmFsdWVNaXNzaW5nJyk7CitzaG91bGRCZUZhbHNlKCdpbnB1dHNbMV0udmFsaWRpdHkudmFsdWVN
aXNzaW5nJyk7CitzaG91bGRCZUZhbHNlKCdpbnB1dHNbMl0udmFsaWRpdHkudmFsdWVNaXNzaW5n
Jyk7CitkZWJ1ZygnVGhlIHRoaXJkIGJ1dHRvbiBoYXMgYmVlbiBjaGVja2VkOicpOworaW5wdXRz
WzJdLmNoZWNrZWQgPSB0cnVlOworc2hvdWxkQmVGYWxzZSgnaW5wdXRzWzBdLnZhbGlkaXR5LnZh
bHVlTWlzc2luZycpOworc2hvdWxkQmVGYWxzZSgnaW5wdXRzWzFdLnZhbGlkaXR5LnZhbHVlTWlz
c2luZycpOworc2hvdWxkQmVGYWxzZSgnaW5wdXRzWzJdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycp
OworCitkZWJ1ZygnJyk7CitkZWJ1ZygnV2l0aCBmb3JtIGVsZW1lbnQnKTsKK3BhcmVudC5pbm5l
ckhUTUwgPSAnPGZvcm0+JworICAgICsgJzxpbnB1dCBuYW1lPXZpY3RpbSB0eXBlPXJhZGlvIHJl
cXVpcmVkPicKKyAgICArICc8aW5wdXQgbmFtZT12aWN0aW0gdHlwZT1yYWRpbz4nCisgICAgKyAn
PGlucHV0IG5hbWU9dmljdGltIHR5cGU9cmFkaW8+JworICAgICsgJzwvZm9ybT4nOworaW5wdXRz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ3ZpY3RpbScpOworZGVidWcoJ05vIGNoZWNr
ZWQgYnV0dG9uOicpOworc2hvdWxkQmVUcnVlKCdpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNz
aW5nJyk7CitzaG91bGRCZVRydWUoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsK
K3Nob3VsZEJlVHJ1ZSgnaW5wdXRzWzJdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOworZGVidWco
J1RoZSBmaXJzdCBidXR0b24gaGFzIGJlZW4gY2hlY2tlZDonKTsKK2lucHV0c1swXS5jaGVja2Vk
ID0gdHJ1ZTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1swXS52YWxpZGl0eS52YWx1ZU1pc3Npbmcn
KTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKK3No
b3VsZEJlRmFsc2UoJ2lucHV0c1syXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKK2RlYnVnKCdU
aGUgc2Vjb25kIGJ1dHRvbiBoYXMgYmVlbiBjaGVja2VkOicpOworaW5wdXRzWzFdLmNoZWNrZWQg
PSB0cnVlOworc2hvdWxkQmVGYWxzZSgnaW5wdXRzWzBdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycp
Oworc2hvdWxkQmVGYWxzZSgnaW5wdXRzWzFdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOworc2hv
dWxkQmVGYWxzZSgnaW5wdXRzWzJdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOworZGVidWcoJ1Ro
ZSB0aGlyZCBidXR0b24gaGFzIGJlZW4gY2hlY2tlZDonKTsKK2lucHV0c1syXS5jaGVja2VkID0g
dHJ1ZTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0c1swXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsK
K3Nob3VsZEJlRmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKK3Nob3Vs
ZEJlRmFsc2UoJ2lucHV0c1syXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKKworZGVidWcoJycp
OworZGVidWcoJ05vdCBpbiBhIHJhZGlvIGJ1dHRvbiBncm91cCcpOwordmFyIHJlcXVpcmVkQnV0
dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK3JlcXVpcmVkQnV0dG9uLnR5
cGUgPSAncmFkaW8nOworcmVxdWlyZWRCdXR0b24ubmFtZSA9ICd2aWN0aW0nOworcmVxdWlyZWRC
dXR0b24ucmVxdWlyZWQgPSB0cnVlOworc2hvdWxkQmVGYWxzZSgncmVxdWlyZWRCdXR0b24udmFs
aWRpdHkudmFsdWVNaXNzaW5nJyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGlucHV0IG5hbWU9
dmljdGltIHR5cGU9cmFkaW8gcmVxdWlyZWQ+PGlucHV0IG5hbWU9dmljdGltIHR5cGU9cmFkaW8+
JzsKK3JlcXVpcmVkQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ3ZpY3RpbScp
WzBdOwordmFyIGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCd2aWN0aW0nKVsx
XTsKK3Nob3VsZEJlVHJ1ZSgncmVxdWlyZWRCdXR0b24udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7
CitzaG91bGRCZVRydWUoJ2J1dHRvbi52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKK3BhcmVudC5y
ZW1vdmVDaGlsZChidXR0b24pOworc2hvdWxkQmVGYWxzZSgnYnV0dG9uLnZhbGlkaXR5LnZhbHVl
TWlzc2luZycpOworcGFyZW50LnJlbW92ZUNoaWxkKHJlcXVpcmVkQnV0dG9uKTsKK3Nob3VsZEJl
RmFsc2UoJ3JlcXVpcmVkQnV0dG9uLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOworCis8L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9jaGVja1ZhbGlkaXR5LWNhbmNlbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jaGVja1ZhbGlkaXR5LWNhbmNlbC5odG1sCmluZGV4IDliOTY1ZWU4MzZjNjFiOWZlNjA0Yzkz
MWYzZWZlOTk3ZjYxYzU5YTMuLjQ1MGYyMTJmZDZkMTNlMmE4NGI3OWEzZTQ0ZWI2MjQyYmVjM2Ey
OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tWYWxpZGl0eS1jYW5j
ZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktY2FuY2Vs
Lmh0bWwKQEAgLTYsNyArNiwzOCBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jaGVj
a1ZhbGlkaXR5LWNhbmNlbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rl
c3RzIGZvciBjaGVja1ZhbGlkaXR5KCkgd2l0aCBpbnZhbGlkIGV2ZW50IGNhbmNlbGluZycpOwor
Cit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxpbnB1
dCBuYW1lPWkgcmVxdWlyZWQ+PC9mb3JtPic7Cit2YXIgZm9ybSA9IHBhcmVudC5maXJzdENoaWxk
OwordmFyIGlucHV0ID0gZm9ybS5maXJzdENoaWxkOworCitkZWJ1ZygnImludmFsaWQiIGV2ZW50
IGlzIG5vdCBjYW5jZWxlZC4nKTsKK3ZhciBpbnZhbGlkRmlyZWQgID0gZmFsc2U7Cit2YXIgbm90
aGluZ0xpc3RlbmVyID0ge307Citub3RoaW5nTGlzdGVuZXIuaGFuZGxlRXZlbnQgPSBmdW5jdGlv
bihldmVudCkgeworICAgIGludmFsaWRGaXJlZCA9IHRydWU7Cit9Oworc2hvdWxkQmVUcnVlKCdp
bnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnZhbGlkIiwgbm90aGluZ0xpc3RlbmVyLCBmYWxzZSk7
ICFpbnB1dC5jaGVja1ZhbGlkaXR5KCkgJiYgaW52YWxpZEZpcmVkJyk7CitzaG91bGRCZVRydWUo
J2ludmFsaWRGaXJlZCA9IGZhbHNlOyAhZm9ybS5jaGVja1ZhbGlkaXR5KCkgJiYgaW52YWxpZEZp
cmVkJyk7CitpbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdpbnZhbGlkJywgbm90aGluZ0xpc3Rl
bmVyLCBmYWxzZSk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCciaW52YWxpZCIgZXZlbnQgaXMgY2Fu
Y2VsZWQuJyk7CitpbnZhbGlkRmlyZWQgPSBmYWxzZTsKK3ZhciBjYW5jZWxMaXN0ZW5lciA9IHt9
OworY2FuY2VsTGlzdGVuZXIuaGFuZGxlRXZlbnQgPSBmdW5jdGlvbihldmVudCkgeworICAgIGlu
dmFsaWRGaXJlZCA9IHRydWU7CisgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKK307CisvLyBF
dmVuIGlmICdpbnZhbGlkJyBpcyBjYW5jZWxlZCwgdGhlIGlucHV0LmNoZWNrVmFsaWRpdHkoKSBy
ZXN1bHQgaXMgc3RpbGwgZmFsc2UuCitzaG91bGRCZVRydWUoJ2lucHV0LmFkZEV2ZW50TGlzdGVu
ZXIoImludmFsaWQiLCBjYW5jZWxMaXN0ZW5lciwgZmFsc2UpOyAhaW5wdXQuY2hlY2tWYWxpZGl0
eSgpICYmIGludmFsaWRGaXJlZCcpOworLy8gZm9ybS5jaGVja1ZhbGlkaXR5KCkgYWxzbyBzaG91
bGQgYmUgZmFsc2UuCitzaG91bGRCZVRydWUoJ2ludmFsaWRGaXJlZCA9IGZhbHNlOyAhZm9ybS5j
aGVja1ZhbGlkaXR5KCkgJiYgaW52YWxpZEZpcmVkJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVja1Zh
bGlkaXR5LWhhbmRsZXItdXBkYXRlcy1kb20uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
Y2hlY2tWYWxpZGl0eS1oYW5kbGVyLXVwZGF0ZXMtZG9tLmh0bWwKaW5kZXggNTIzNmRjOGY3Y2E2
MTk1YTkyOWEwNzljNjkyOTRjZTZjOTc4YWYwZS4uN2JiMmM2NmU5OTMzM2VmOGZlYjYwMTIxYTU3
ZmVlYTQ1YWMzNzIzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVja1Zh
bGlkaXR5LWhhbmRsZXItdXBkYXRlcy1kb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2NoZWNrVmFsaWRpdHktaGFuZGxlci11cGRhdGVzLWRvbS5odG1sCkBAIC02LDcgKzYsOTQg
QEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2hlY2tWYWxpZGl0eS1oYW5kbGVyLXVw
ZGF0ZXMtZG9tLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignSFRNTEZvcm1F
bGVtZW50OjpjaGVja1ZhbGlkaXR5KCkgd2l0aCBjYXNlcyB0aGF0IGV2ZW50IGhhbmRsZXJzIGNh
bGxlZCBieSBjaGVja1ZhbGlkaXR5KCkgdXBkYXRlcyBET00gc3RydWN0dXJlLicpCisKK3ZhciBw
YXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocGFyZW50KTsKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGVidWcoJ1RoZSB0YXJnZXQgZm9ybSBp
cyByZW1vdmVkLicpOworcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybSBpZD1mMT48aW5wdXQgbmFt
ZT1pIGlkPWkgcmVxdWlyZWQ+PC9mb3JtPic7Cit2YXIgaGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50
KSB7CisgICAgcGFyZW50LmlubmVySFRNTCA9ICcnOworfTsKK2RvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdpJykuYWRkRXZlbnRMaXN0ZW5lcignaW52YWxpZCcsIGhhbmRsZXIsIGZhbHNlKTsKKy8v
IFRoZSBzcGVjaWZpY2lhdGlvbiBkb2Vzbid0IGRlZmluZSB0aGUgYmVoYXZpb3IgaW4gdGhpcyBj
YXNlLgorLy8gSXQncyBvayBpZiBXZWJLaXQgZG9lc24ndCBjcmFzaC4KK3Nob3VsZEJlRmFsc2Uo
J2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMSIpLmNoZWNrVmFsaWRpdHkoKScpOworCisvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitkZWJ1ZygnJyk7CitkZWJ1ZygnQSBjb250cm9sIHRvIGJlIGNoZWNrZWQgaXMgcmVt
b3ZlZC4nKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0gaWQ9ZjE+PGlucHV0IG5hbWU9aTEg
aWQ9aTEgcmVxdWlyZWQ+PGlucHV0IG5hbWU9aTIgaWQ9aTIgcmVxdWlyZWQ+PC9mb3JtPic7Cit2
YXIgaGFuZGxlcjEgPSBmdW5jdGlvbihldmVudCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmMScpLnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMicpKTsKK307
Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTEnKS5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlk
JywgaGFuZGxlcjEsIGZhbHNlKTsKK3ZhciBoYW5kbGVyMkNhbGxlZCA9IGZhbHNlOwordmFyIGhh
bmRsZXIyID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBoYW5kbGVyMkNhbGxlZCA9IHRydWU7Cit9
OworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2kyJykuYWRkRXZlbnRMaXN0ZW5lcignaW52YWxp
ZCcsIGhhbmRsZXIyLCBmYWxzZSk7CitzaG91bGRCZUZhbHNlKCdkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZjEiKS5jaGVja1ZhbGlkaXR5KCknKTsKKy8vIElmIHRoZSBub2RlIHdhcyByZW1vdmVk
IGZyb20gdGhlIGZvcm0sIGkyLmNoZWNrVmFsaWRpdHkoKSBpcyBjYWxsZWQsIGJ1dCBhbgorLy8g
aW52YWxpZCBldmVudCBpcyBub3QgZmlyZWQgYmVjYXVzZSBpdCBpcyBub3QgaW4gYW55IGRvY3Vt
ZW50cy4KK3Nob3VsZEJlRmFsc2UoJ2hhbmRsZXIyQ2FsbGVkJyk7CisKKy8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2Rl
YnVnKCcnKTsKK2RlYnVnKCdBIG5ldyBjb250cm9sIGlzIGFkZGVkLicpOworcGFyZW50LmlubmVy
SFRNTCA9ICc8Zm9ybSBpZD1mMT48aW5wdXQgbmFtZT1pMSBpZD1pMSByZXF1aXJlZD48L2Zvcm0+
JzsKK2hhbmRsZXIyQ2FsbGVkID0gZmFsc2U7CitoYW5kbGVyMiA9IGZ1bmN0aW9uKGV2ZW50KSB7
CisgICAgaGFuZGxlcjJDYWxsZWQgPSB0cnVlOworfTsKK2hhbmRsZXIxID0gZnVuY3Rpb24oZXZl
bnQpIHsKKyAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwor
ICAgIGlucHV0Lm5hbWUgPSAnaTInOworICAgIGlucHV0LnJlcXVpcmVkID0gdHJ1ZTsKKyAgICBp
bnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlkJywgaGFuZGxlcjIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZjEnKS5hcHBlbmRDaGlsZChpbnB1dCk7Cit9OworZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2kxJykuYWRkRXZlbnRMaXN0ZW5lcignaW52YWxpZCcsIGhh
bmRsZXIxLCBmYWxzZSk7CitzaG91bGRCZUZhbHNlKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZjEiKS5jaGVja1ZhbGlkaXR5KCknKTsKKy8vIElmIGEgbmV3IG5vZGUgaXMgYWRkZWQgdG8gdGhl
IGZvcm0sIGNoZWNrVmFsaWRpdHkoKSBkb2Vzbid0IGhhbmRsZSBpdC4KK3Nob3VsZEJlRmFsc2Uo
J2hhbmRsZXIyQ2FsbGVkJyk7CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RlYnVnKCcnKTsKK2RlYnVnKCdBIGNv
bnRyb2wgaXMgbW92ZWQgdG8gYW5vdGhlciBmb3JtLicpOworcGFyZW50LmlubmVySFRNTCA9ICc8
Zm9ybSBpZD1mMT48aW5wdXQgbmFtZT1pMSBpZD1pMSByZXF1aXJlZD48aW5wdXQgbmFtZT1pMiBp
ZD1pMiByZXF1aXJlZD48L2Zvcm0+JworICAgICsgJzxmb3JtIGlkPWYyPjwvZm9ybT4nOworaGFu
ZGxlcjEgPSBmdW5jdGlvbihldmVudCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdm
MicpLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMicpKTsKK307Citkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnaTEnKS5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlkJywgaGFu
ZGxlcjEsIGZhbHNlKTsKK2hhbmRsZXIyQ2FsbGVkID0gZmFsc2U7CitoYW5kbGVyMiA9IGZ1bmN0
aW9uKGV2ZW50KSB7CisgICAgaGFuZGxlcjJDYWxsZWQgPSB0cnVlOworfTsKK2RvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdpMicpLmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCBoYW5kbGVyMiwg
ZmFsc2UpOworc2hvdWxkQmVGYWxzZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImYxIikuY2hl
Y2tWYWxpZGl0eSgpJyk7CisvLyBUaGUgbW92ZWQgY29udHJvbCBpcyBub3QgY2hlY2tlZC4KK3No
b3VsZEJlRmFsc2UoJ2hhbmRsZXIyQ2FsbGVkJyk7CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RlYnVnKCcnKTsK
K2RlYnVnKCdBIGNvbnRyb2wgaXMgbW92ZWQgdG8gYW5vdGhlciBkb2N1bWVudC4nKTsKK3BhcmVu
dC5pbm5lckhUTUwgPSAnPGZvcm0gaWQ9ZjE+PGlucHV0IG5hbWU9aTEgaWQ9aTEgcmVxdWlyZWQ+
PC9mb3JtPic7Cit2YXIgZG9jMiA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxE
b2N1bWVudCgpOworaGFuZGxlcjEgPSBmdW5jdGlvbihldmVudCkgeworICAgIGRvYzIuYm9keS5h
cHBlbmRDaGlsZChkb2MyLmFkb3B0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTEnKSkp
OworfTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMScpLmFkZEV2ZW50TGlzdGVuZXIoJ2lu
dmFsaWQnLCBoYW5kbGVyMSwgZmFsc2UpOworLy8gaTEgaXMgbm90IGxpc3RlZCBpbiAndW5oYW5k
bGVkIGludmFsaWQgY29udHJvbHMnIGJlY2F1c2UgaXQgd2FzIG1vdmVkIHRvCisvLyBhbm90aGVy
IGRvY3VtZW50Lgorc2hvdWxkQmVUcnVlKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZjEiKS5j
aGVja1ZhbGlkaXR5KCknKTsKKworcGFyZW50LmlubmVySFRNTCA9ICcnOworPC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVudHMtb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVudHMtb3JkZXIuaHRtbAppbmRleCA5MjY1NGZlMzhj
MDEyNmEwYjA1NmVjMWM0OTVmODAxOGFmYjMyODk1Li5kMjg0MjBlODNhOGM4ZjM2ZGZmODhkNjJh
YTg5ZmFiNmY3NTdmYzcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0t
YXR0cmlidXRlLWVsZW1lbnRzLW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9mb3JtLWF0dHJpYnV0ZS1lbGVtZW50cy1vcmRlci5odG1sCkBAIC02LDcgKzYsMTU5IEBACiA8
Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLWVsZW1lbnRzLW9yZGVy
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGV4YW1pbmVz
IHRoZSBvcmRlciBvZiB0aGUgZWxlbWVudHMgYXR0cmlidXRlIG9mIGEgZm9ybSBlbGVtZW50LiIp
OworCit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7Citjb250YWluZXIuaW5uZXJIVE1MID0g
JzxpbnB1dCBuYW1lPXZpY3RpbSBpZD1iZWZvcmUxIGZvcm09b3duZXIgLz4nICsKKyAgICAnPGlu
cHV0IG5hbWU9dmljdGltIGlkPWJlZm9yZTIgZm9ybT1vd25lciAvPicgKworICAgICc8Zm9ybSBp
ZD1vd25lciBhY3Rpb249IG1ldGhvZD1HRVQ+JyArCisgICAgJyAgICA8aW5wdXQgbmFtZT12aWN0
aW0gaWQ9aW5uZXIxIGZvcm09b3duZXIgLz4nICsKKyAgICAnICAgIDxpbnB1dCBuYW1lPXZpY3Rp
bSBpZD1pbm5lcjIgZm9ybT1vd25lciAvPicgKworICAgICc8L2Zvcm0+JyArCisgICAgJzxpbnB1
dCBuYW1lPXZpY3RpbSBpZD1hZnRlcjEgZm9ybT1vd25lciAvPicgKworICAgICc8aW5wdXQgbmFt
ZT12aWN0aW0gaWQ9YWZ0ZXIyIGZvcm09b3duZXIgLz4nOworCit2YXIgb3duZXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnb3duZXInKTsKK3ZhciBiZWZvcmUxID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2JlZm9yZTEnKTsKK3ZhciBiZWZvcmUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2JlZm9yZTInKTsKK3ZhciBpbm5lcjEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5u
ZXIxJyk7Cit2YXIgaW5uZXIyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lubmVyMicpOwor
dmFyIGFmdGVyMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhZnRlcjEnKTsKK3ZhciBhZnRl
cjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWZ0ZXIyJyk7CisKK2RlYnVnKCctIFRlc3Qg
Zm9yIHRoZSBjYXNlIHdoZXJlIHNvbWUgZWxlbWVudHMgYXJlIG91dHNpZGUgb2YgdGhlIGZvcm0u
Jyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3RoJywgJzYnKTsKK3Nob3VsZEJlKCdv
d25lci5lbGVtZW50c1swXScsICdiZWZvcmUxJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNb
MV0nLCAnYmVmb3JlMicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzJdJywgJ2lubmVyMScp
Oworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdJywgJ2lubmVyMicpOworc2hvdWxkQmUoJ293
bmVyLmVsZW1lbnRzWzRdJywgJ2FmdGVyMScpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzVd
JywgJ2FmdGVyMicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnLSBUZXN0IGZvciBjaGFuZ2luZyB0
aGUgdmFsdWUgb2YgdGhlIGZvcm0gYXR0cmlidXRlIG9mIGEgZWxlbWVudCB3aGljaCBpcyBsb2Nh
dGVkIGJlZm9yZSB0aGUgZm9ybSBvd25lci4nKTsKK2JlZm9yZTIuYXR0cmlidXRlc1snZm9ybSdd
LnZhbHVlID0gJyc7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3RoJywgJzUnKTsKK3No
b3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdiZWZvcmUxJyk7CitzaG91bGRCZSgnb3duZXIu
ZWxlbWVudHNbMV0nLCAnaW5uZXIxJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAn
aW5uZXIyJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbM10nLCAnYWZ0ZXIxJyk7CitzaG91
bGRCZSgnb3duZXIuZWxlbWVudHNbNF0nLCAnYWZ0ZXIyJyk7CitiZWZvcmUyLmF0dHJpYnV0ZXNb
J2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3Ro
JywgJzYnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdiZWZvcmUxJyk7CitzaG91
bGRCZSgnb3duZXIuZWxlbWVudHNbMV0nLCAnYmVmb3JlMicpOworc2hvdWxkQmUoJ293bmVyLmVs
ZW1lbnRzWzJdJywgJ2lubmVyMScpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdJywgJ2lu
bmVyMicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzRdJywgJ2FmdGVyMScpOworc2hvdWxk
QmUoJ293bmVyLmVsZW1lbnRzWzVdJywgJ2FmdGVyMicpOworCitkZWJ1ZygnJyk7CitkZWJ1Zygn
LSBUZXN0IGZvciBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIGZvcm0gYXR0cmlidXRlIG9mIGEg
ZWxlbWVudCB3aGljaCBpcyBsb2NhdGVkIGluc2lkZSBvZiB0aGUgZm9ybSBvd25lci4nKTsKK2lu
bmVyMi5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnJzsKK3Nob3VsZEJlKCdvd25lci5lbGVt
ZW50cy5sZW5ndGgnLCAnNScpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2JlZm9y
ZTEnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUyJyk7CitzaG91bGRC
ZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIxJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVu
dHNbM10nLCAnYWZ0ZXIxJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNF0nLCAnYWZ0ZXIy
Jyk7Citpbm5lcjIuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ293bmVyJzsKK3Nob3VsZEJl
KCdvd25lci5lbGVtZW50cy5sZW5ndGgnLCAnNicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRz
WzBdJywgJ2JlZm9yZTEnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUy
Jyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIxJyk7CitzaG91bGRCZSgn
b3duZXIuZWxlbWVudHNbM10nLCAnaW5uZXIyJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNb
NF0nLCAnYWZ0ZXIxJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNV0nLCAnYWZ0ZXIyJyk7
CisKK2RlYnVnKCcnKTsKK2RlYnVnKCctIFRlc3QgZm9yIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiB0
aGUgZm9ybSBhdHRyaWJ1dGUgb2YgYSBlbGVtZW50IHdoaWNoIGlzIGxvY2F0ZWQgYWZ0ZXIgdGhl
IGZvcm0gb3duZXIuJyk7CithZnRlcjEuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJyc7Citz
aG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3RoJywgJzUnKTsKK3Nob3VsZEJlKCdvd25lci5l
bGVtZW50c1swXScsICdiZWZvcmUxJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMV0nLCAn
YmVmb3JlMicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzJdJywgJ2lubmVyMScpOworc2hv
dWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdJywgJ2lubmVyMicpOworc2hvdWxkQmUoJ293bmVyLmVs
ZW1lbnRzWzRdJywgJ2FmdGVyMicpOworYWZ0ZXIxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9
ICdvd25lcic7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3RoJywgJzYnKTsKK3Nob3Vs
ZEJlKCdvd25lci5lbGVtZW50c1swXScsICdiZWZvcmUxJyk7CitzaG91bGRCZSgnb3duZXIuZWxl
bWVudHNbMV0nLCAnYmVmb3JlMicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzJdJywgJ2lu
bmVyMScpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdJywgJ2lubmVyMicpOworc2hvdWxk
QmUoJ293bmVyLmVsZW1lbnRzWzRdJywgJ2FmdGVyMScpOworc2hvdWxkQmUoJ293bmVyLmVsZW1l
bnRzWzVdJywgJ2FmdGVyMicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnLSBUZXN0IGZvciBzZXR0
aW5nIGZvcm0gYXR0cmlidXRlIG9mIGVsZW1lbnRzIGluIHJldmVyc2Ugb3JkZXIuJyk7CitiZWZv
cmUxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICcnOworYmVmb3JlMi5hdHRyaWJ1dGVzWydm
b3JtJ10udmFsdWUgPSAnJzsKK2lubmVyMS5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnJzsK
K2lubmVyMi5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnJzsKK2FmdGVyMS5hdHRyaWJ1dGVz
Wydmb3JtJ10udmFsdWUgPSAnJzsKK2FmdGVyMi5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAn
JzsKKworYWZ0ZXIyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7CithZnRlcjEu
YXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ293bmVyJzsKK2lubmVyMi5hdHRyaWJ1dGVzWydm
b3JtJ10udmFsdWUgPSAnb3duZXInOworaW5uZXIxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9
ICdvd25lcic7CitiZWZvcmUyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7Citi
ZWZvcmUxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7CisKK3Nob3VsZEJlKCdv
d25lci5lbGVtZW50cy5sZW5ndGgnLCAnNicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBd
JywgJ2JlZm9yZTEnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUyJyk7
CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIxJyk7CitzaG91bGRCZSgnb3du
ZXIuZWxlbWVudHNbM10nLCAnaW5uZXIyJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNF0n
LCAnYWZ0ZXIxJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNV0nLCAnYWZ0ZXIyJyk7CisK
K2RlYnVnKCcnKTsKK2RlYnVnKCctIFRlc3QgZm9yIHNldHRpbmcgZm9ybSBhdHRyaWJ1dGUgb2Yg
ZWxlbWVudHMgaW4gcmFuZG9tIG9yZGVyLicpOworYmVmb3JlMS5hdHRyaWJ1dGVzWydmb3JtJ10u
dmFsdWUgPSAnJzsKK2JlZm9yZTIuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJyc7Citpbm5l
cjEuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJyc7Citpbm5lcjIuYXR0cmlidXRlc1snZm9y
bSddLnZhbHVlID0gJyc7CithZnRlcjEuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJyc7Cith
ZnRlcjIuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJyc7CisKK2FmdGVyMS5hdHRyaWJ1dGVz
Wydmb3JtJ10udmFsdWUgPSAnb3duZXInOworYmVmb3JlMS5hdHRyaWJ1dGVzWydmb3JtJ10udmFs
dWUgPSAnb3duZXInOworaW5uZXIyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7
CitiZWZvcmUyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7CithZnRlcjIuYXR0
cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ293bmVyJzsKK2lubmVyMS5hdHRyaWJ1dGVzWydmb3Jt
J10udmFsdWUgPSAnb3duZXInOworCitzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3RoJywg
JzYnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdiZWZvcmUxJyk7CitzaG91bGRC
ZSgnb3duZXIuZWxlbWVudHNbMV0nLCAnYmVmb3JlMicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1l
bnRzWzJdJywgJ2lubmVyMScpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdJywgJ2lubmVy
MicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzRdJywgJ2FmdGVyMScpOworc2hvdWxkQmUo
J293bmVyLmVsZW1lbnRzWzVdJywgJ2FmdGVyMicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnLSBU
ZXN0IGZvciByZW1vdmluZy9hZGRpbmcgZWxlbWVudHMnKTsKK2NvbnRhaW5lci5yZW1vdmVDaGls
ZChiZWZvcmUyKTsKK293bmVyLnJlbW92ZUNoaWxkKGlubmVyMik7Citjb250YWluZXIucmVtb3Zl
Q2hpbGQoYWZ0ZXIxKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50cy5sZW5ndGgnLCAnMycpOwor
c2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2JlZm9yZTEnKTsKK3Nob3VsZEJlKCdvd25l
ci5lbGVtZW50c1sxXScsICdpbm5lcjEnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1syXScs
ICdhZnRlcjInKTsKK2NvbnRhaW5lci5pbnNlcnRCZWZvcmUoYmVmb3JlMiwgb3duZXIpOworb3du
ZXIuYXBwZW5kQ2hpbGQoaW5uZXIyKTsKK2NvbnRhaW5lci5pbnNlcnRCZWZvcmUoYWZ0ZXIxLCBh
ZnRlcjIpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcsICc2Jyk7CitzaG91bGRC
ZSgnb3duZXIuZWxlbWVudHNbMF0nLCAnYmVmb3JlMScpOworc2hvdWxkQmUoJ293bmVyLmVsZW1l
bnRzWzFdJywgJ2JlZm9yZTInKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1syXScsICdpbm5l
cjEnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1szXScsICdpbm5lcjInKTsKK3Nob3VsZEJl
KCdvd25lci5lbGVtZW50c1s0XScsICdhZnRlcjEnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50
c1s1XScsICdhZnRlcjInKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLWVsZW1lbnRz
LW9yZGVyMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1lbGVt
ZW50cy1vcmRlcjIuaHRtbAppbmRleCAzNzEzMTJiYWFmMTI0OTZhYWJkZjdkMWVjYjZjY2Q1ZmQ4
YzMzN2QwLi4zODRlZDcyZDY0ZTcxZmYxNTlmYjFmYWNjMTliZjVlMWE5ZjBlNDJmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLWVsZW1lbnRzLW9yZGVy
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVu
dHMtb3JkZXIyLmh0bWwKQEAgLTYsNyArNiwxMDQgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVudHMtb3JkZXIyLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGV4YW1pbmVzIHRoZSBvcmRlciBvZiB0aGUgZWxl
bWVudHMgYXR0cmlidXRlIG9mIGEgZm9ybSBlbGVtZW50IHdpdGggZm9ybS1hc3NvY2lhdGVkIGVs
ZW1lbnRzIHdpdGggZm9ybSBhdHRyaWJ1dGUgb3Igd2l0b3V0IGZvcm0gYXR0aWJ1dGUuIik7CisK
K3ZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKworZGVidWcoJycpOworZGVidWcoJy0gVGVz
dCBmb3IgdGhlIGNhc2Ugd2hlcmUgc29tZSBlbGVtZW50cyBoYXZlIGZvcm0gYXR0cmlidXRlIGJ1
dCBzb21lIG90aGVycyBub3QuJyk7Citjb250YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPW93
bmVyPicgKworICAgICcgICAgPGlucHV0IGlkPWlucHV0MSBuYW1lPXZpY3RpbSAvPicgKworICAg
ICcgICAgPGlucHV0IGlkPWlucHV0MiBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCisgICAg
JyAgICA8aW5wdXQgaWQ9aW5wdXQzIG5hbWU9dmljdGltIC8+JyArCisgICAgJzwvZm9ybT4nOwor
dmFyIG93bmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ293bmVyJyk7Cit2YXIgaW5wdXQx
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MScpOwordmFyIGlucHV0MiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dDInKTsKK3ZhciBpbnB1dDMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW5wdXQzJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3RoJywg
JzMnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdpbnB1dDEnKTsKK3Nob3VsZEJl
KCdvd25lci5lbGVtZW50c1sxXScsICdpbnB1dDInKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50
c1syXScsICdpbnB1dDMnKTsKKworY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9ybSBpZD1vd25l
cj4nICsKKyAgICAnICAgIDxpbnB1dCBpZD1pbnB1dDEgbmFtZT12aWN0aW0gZm9ybT1vd25lciAv
PicgKworICAgICcgICAgPGlucHV0IGlkPWlucHV0MiBuYW1lPXZpY3RpbSAvPicgKworICAgICcg
ICAgPGlucHV0IGlkPWlucHV0MyBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCisgICAgJzwv
Zm9ybT4nOworb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3duZXInKTsKK2lucHV0
MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dDEnKTsKK2lucHV0MiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdpbnB1dDInKTsKK2lucHV0MyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdpbnB1dDMnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50cy5sZW5ndGgnLCAnMycpOwor
c2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2lucHV0MScpOworc2hvdWxkQmUoJ293bmVy
LmVsZW1lbnRzWzFdJywgJ2lucHV0MicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzJdJywg
J2lucHV0MycpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnLSBUZXN0IGZvciBpbnNlcnRpbmcvcmVt
b3ZpbmcgYSBmb3JtLWFzc29jaWF0ZWQgZWxlbWVudCB3aXRob3V0IGZvcm0gYXR0cmlidXRlLicp
OworY29udGFpbmVyLmlubmVySFRNTCA9ICc8aW5wdXQgbmFtZT12aWN0aW0gaWQ9YmVmb3JlIGZv
cm09b3duZXIgLz4nICsKKyAgICAnPGZvcm0gaWQ9b3duZXIgYWN0aW9uPSBtZXRob2Q9R0VUPicg
KworICAgICcgICAgPGlucHV0IG5hbWU9dmljdGltIGlkPWlubmVyIC8+JyArCisgICAgJzwvZm9y
bT4nICsKKyAgICAnPGlucHV0IG5hbWU9dmljdGltIGlkPWFmdGVyIGZvcm09b3duZXIgLz4nOwor
b3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3duZXInKTsKK3ZhciBiZWZvcmUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmVmb3JlJyk7Cit2YXIgaW5uZXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaW5uZXInKTsKK3ZhciBhZnRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdhZnRlcicpOworCit2YXIgaW5uZXIyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKK2lubmVyMi5uYW1lID0gJ3ZpY3RpbSc7Citpbm5lcjIuaWQgPSAnaW5uZXIyJzsKK293
bmVyLmFwcGVuZENoaWxkKGlubmVyMik7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3Ro
JywgJzQnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdiZWZvcmUnKTsKK3Nob3Vs
ZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdpbm5lcicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1l
bnRzWzJdJywgJ2lubmVyMicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdJywgJ2FmdGVy
Jyk7CisKK293bmVyLnJlbW92ZUNoaWxkKGlubmVyKTsKK293bmVyLmluc2VydEJlZm9yZShpbm5l
ciwgaW5uZXIyKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50cy5sZW5ndGgnLCAnNCcpOworc2hv
dWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2JlZm9yZScpOworc2hvdWxkQmUoJ293bmVyLmVs
ZW1lbnRzWzFdJywgJ2lubmVyJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5u
ZXIyJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbM10nLCAnYWZ0ZXInKTsKKworZGVidWco
JycpOworZGVidWcoJy0gVGVzdCBmb3IgaW5zZXJ0aW5nL3JlbW92aW5nIGEgZm9ybS1hc3NvY2lh
dGVkIGVsZW1lbnQgd2l0aCBmb3JtIGF0dHJpYnV0ZS4nKTsKK3ZhciBiZWZvcmUyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2JlZm9yZTIubmFtZSA9ICd2aWN0aW0nOworYmVm
b3JlMi5pZCA9ICdiZWZvcmUyJzsKK2JlZm9yZTIuc2V0QXR0cmlidXRlKCdmb3JtJywgJ293bmVy
Jyk7Citjb250YWluZXIuaW5zZXJ0QmVmb3JlKGJlZm9yZTIsIG93bmVyKTsKK3ZhciBhZnRlcjIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworYWZ0ZXIyLm5hbWUgPSAndmljdGlt
JzsKK2FmdGVyMi5pZCA9ICdhZnRlcjInOworYWZ0ZXIyLnNldEF0dHJpYnV0ZSgnZm9ybScsICdv
d25lcicpOworY29udGFpbmVyLmFwcGVuZENoaWxkKGFmdGVyMik7CitzaG91bGRCZSgnb3duZXIu
ZWxlbWVudHMubGVuZ3RoJywgJzYnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdi
ZWZvcmUnKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUyJyk7CitzaG91
bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXInKTsKK3Nob3VsZEJlKCdvd25lci5lbGVt
ZW50c1szXScsICdpbm5lcjInKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1s0XScsICdhZnRl
cicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzVdJywgJ2FmdGVyMicpOworCitjb250YWlu
ZXIucmVtb3ZlQ2hpbGQoYmVmb3JlKTsKK2NvbnRhaW5lci5yZW1vdmVDaGlsZChhZnRlcik7Citj
b250YWluZXIuaW5zZXJ0QmVmb3JlKGJlZm9yZSwgYmVmb3JlMik7Citjb250YWluZXIuaW5zZXJ0
QmVmb3JlKGFmdGVyLCBhZnRlcjIpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcs
ICc2Jyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMF0nLCAnYmVmb3JlJyk7CitzaG91bGRC
ZSgnb3duZXIuZWxlbWVudHNbMV0nLCAnYmVmb3JlMicpOworc2hvdWxkQmUoJ293bmVyLmVsZW1l
bnRzWzJdJywgJ2lubmVyJyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbM10nLCAnaW5uZXIy
Jyk7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNF0nLCAnYWZ0ZXInKTsKK3Nob3VsZEJlKCdv
d25lci5lbGVtZW50c1s1XScsICdhZnRlcjInKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+
CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tYXR0cmli
dXRlLWVsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRl
LWVsZW1lbnRzLmh0bWwKaW5kZXggNTEyYTFjZDYzNDRiM2IxODMwMjE0MzZiNTI2ODRkMzQzYmQy
NjA3MS4uNzUyM2I0M2I2ZTM2N2Q3YjUxZmMyMDcwZjQ3NDIxODRlMWM4OTJiOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1lbGVtZW50cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVudHMuaHRtbApA
QCAtNiw3ICs2LDQ4IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmli
dXRlLWVsZW1lbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGNoZWNrcyBhIGZvcm0gZWxlbWVudCBjYW4gaGFuZGxlIGVsZW1lbnRzIG9mIHdoaWNoIGZv
cm0gYXR0cmlidXRlIHBvaW50cyB0aGUgZm9ybSBlbGVtZW50IGV2ZW4gaWYgZWxlbWVudHMgYXJl
IG91dHNpZGUgb2YgdGhlIGZvcm0uIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit2YXIgY29u
dGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGNvbnRhaW5lcik7CisKK2NvbnRhaW5lci5pbm5lckhUTUwgPSAnPGlucHV0IHR5
cGU9aGlkZGVuIG5hbWU9a2V5MSB2YWx1ZT12YWx1ZTEgaWQ9b3V0ZXItYmVmb3JlIGZvcm09b3du
ZXIgLz4nICsKKyAgICAnPGZvcm0gaWQ9b3duZXIgYWN0aW9uPSIiIG1ldGhvZD0iR0VUIj4nICsK
KyAgICAnICAgIDxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWtleTIgdmFsdWU9dmFsdWUyIGlkPWlu
bmVyIGZvcm09b3duZXIgLz4nICsKKyAgICAnPC9mb3JtPicgKworICAgICc8aW5wdXQgdHlwZT1o
aWRkZW4gbmFtZT1zdWJtaXR0ZWQgdmFsdWU9dHJ1ZSBpZD1vdXRlci1hZnRlciBmb3JtPW93bmVy
IC8+JzsKKwordmFyIG93bmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ293bmVyJyk7Cit2
YXIgb3V0ZXJCZWZvcmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3V0ZXItYmVmb3JlJyk7
Cit2YXIgaW5uZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5uZXInKTsKK3ZhciBvdXRl
ckFmdGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dGVyLWFmdGVyJyk7Cit2YXIgcXVl
cnkgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoOworCitpZiAocXVlcnkuaW5kZXhPZignc3VibWl0
dGVkPXRydWUnKSA9PSAtMSkgeworICAgIG93bmVyLnN1Ym1pdCgpOworfSBlbHNlIHsKKyAgICBk
ZWJ1ZygnLSBFbnN1cmVzIHRoYXQgZWxlbWVudHMgYXR0cmlidXRlIG9mIHRoZSBmb3JtIGNvbnRh
aW5zIGVsZW1lbnRzIHdoaWNoIGFyZSBvdXRzaWRlIG9mIHRoZSBmb3JtLicpOworCisgICAgc2hv
dWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcsICczJyk7CisgICAgc2hvdWxkQmUoJ293bmVy
LmVsZW1lbnRzWzBdJywgJ291dGVyQmVmb3JlJyk7CisgICAgc2hvdWxkQmUoJ293bmVyLmVsZW1l
bnRzWzFdJywgJ2lubmVyJyk7CisgICAgc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzJdJywgJ291
dGVyQWZ0ZXInKTsKKworICAgIGRlYnVnKCcnKTsKKyAgICBkZWJ1ZygnLSBFbnN1cmVzIHRoYXQg
Zm9ybSBzdWJtaXNzaW9uIGNvbnRhaW5zIG5hbWUgYW5kIHZhbHVlIHBhaXJzIGZvciBzdWNoIGVs
ZW1lbnRzLicpOworICAgIHZhciBwYWlycyA9IHF1ZXJ5LnN1YnN0cigxKS5zcGxpdCgnJicpOwor
ICAgIHNob3VsZEJlKCdwYWlycy5sZW5ndGgnLCAnMycpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygncGFpcnNbMF0nLCAna2V5MT12YWx1ZTEnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3BhaXJzWzFdJywgJ2tleTI9dmFsdWUyJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdwYWlyc1syXScsICdzdWJtaXR0ZWQ9dHJ1ZScpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
K30KKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLmh0bWwKaW5kZXggYjFkZDBhYzYzMTRlMjljYmVhYmQzMjEx
YjJlMDNkOWYxNzQ1ZDRiOC4uYjM4ZjZkZjRhNDEzZWQ5ODQyMjhkYmZjNzdiNWYwZjE1N2ViZjIy
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1hdHRyaWJ1dGUuaHRtbApAQCAtNiw3
ICs2LDE0MSBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9mb3JtLWF0dHJpYnV0ZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhl
IGZvcm0gYXR0cmlidXRlIG9mIHRoZSBmb3JtLWFzc29jaWF0ZWQgZWxlbWVudHMuIik7CisKK3Zh
ciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKworZGVidWcoJy0gQ2hlY2tzIHRoZSBleGlzdGVu
Y2Ugb2YgdGhlIGZvcm0gYXR0cmlidXRlIGZvciBlYWNoIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50
cy4nKTsKK2RlYnVnKCdGSVhNRTogJmx0O2xhYmVsJmd0OyBkb2VzblwndCBzdXBwb3J0IHRoZSBm
b3JtIGF0dHJpYnV0ZSBmb3Igbm93LicpOworY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9ybSBp
ZD1vd25lcj48L2Zvcm0+JyArCisgICAgJzxidXR0b24gbmFtZT12aWN0aW0gZm9ybT1vd25lciAv
PicgKworICAgICc8ZmllbGRzZXQgbmFtZT12aWN0aW0gZm9ybT1vd25lciAvPicgKworICAgICc8
aW5wdXQgbmFtZT12aWN0aW0gZm9ybT1vd25lciAvPicgKworICAgICc8a2V5Z2VuIG5hbWU9dmlj
dGltIGZvcm09b3duZXIgLz4nICsKKyAgICAnPGxhYmVsIG5hbWU9dmljdGltIGZvcm09b3duZXIg
Lz4nICsKKyAgICAnPG1ldGVyIG5hbWU9dmljdGltIGZvcm09b3duZXIgLz4nICsKKyAgICAnPG9i
amVjdCBuYW1lPXZpY3RpbSBmb3JtPW93bmVyPjwvb2JqZWN0PicgKworICAgICc8b3V0cHV0IG5h
bWU9dmljdGltIGZvcm09b3duZXIgLz4nICsKKyAgICAnPHByb2dyZXNzIG5hbWU9dmljdGltIGZv
cm09b3duZXIgLz4nICsKKyAgICAnPHNlbGVjdCBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JyAr
CisgICAgJzx0ZXh0YXJlYSBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JzsKKwordmFyIG93bmVy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ293bmVyJyk7CitzaG91bGRCZSgnZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpWzBdLmZvcm0nLCAnb3duZXInKTsKK3Nob3Vs
ZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZmllbGRzZXQiKVswXS5mb3JtJywg
J293bmVyJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0
IilbMF0uZm9ybScsICdvd25lcicpOworc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJrZXlnZW4iKVswXS5mb3JtJywgJ293bmVyJyk7CitzaG91bGRCZSgnZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImxhYmVsIilbMF0uZm9ybScsICdvd25lcicpOworc2hvdWxk
QmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJtZXRlciIpWzBdLmZvcm0nLCAnb3du
ZXInKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0Iilb
MF0uZm9ybScsICdvd25lcicpOworc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJvdXRwdXQiKVswXS5mb3JtJywgJ293bmVyJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoInByb2dyZXNzIilbMF0uZm9ybScsICdvd25lcicpOworc2hvdWxk
QmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzZWxlY3QiKVswXS5mb3JtJywgJ293
bmVyJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRleHRhcmVh
IilbMF0uZm9ybScsICdvd25lcicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnLSBFbnN1cmVzIHRo
YXQgdGhlIGZvcm0gYXR0cmlidXRlIHBvaW50cyB0aGUgZm9ybSBvd25lciBldmVuIGlmIHRoZSBl
bGVtZW50IGlzIHdpdGhpbiBhbm90aGVyIGZvcm0gZWxlbWVudC4nKTsKK2NvbnRhaW5lci5pbm5l
ckhUTUwgPSAnPGZvcm0gaWQ9b3duZXI+PC9mb3JtPicgKworICAgICc8Zm9ybSBpZD1zaG91bGRO
b3RCZU93bmVyPicgKworICAgICcgICAgPGlucHV0IGlkPWlucHV0RWxlbWVudCBuYW1lPXZpY3Rp
bSBmb3JtPW93bmVyIC8+JyArCisgICAgJzwvZm9ybT4nOworb3duZXIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnb3duZXInKTsKK3ZhciBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaW5wdXRFbGVtZW50Jyk7CitzaG91bGRCZSgnaW5wdXRFbGVtZW50LmZvcm0nLCAn
b3duZXInKTsKKworZGVidWcoJycpOworZGVidWcoJy0gRW5zdXJlcyB0aGF0IHRoZSBmb3JtIGF0
dHJpYnV0ZSBvZiBhbGwgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnQgd2l0aCBvciB3aXRvdXQgZm9y
bSBhdHRyaWJ1dGUgcG9pbnRzIHRoZSBmb3JtIG93bmVyLicpOworY29udGFpbmVyLmlubmVySFRN
TCA9ICc8Zm9ybSBpZD1vd25lcj4nICsKKyAgICAnICAgIDxpbnB1dCBpZD1pbnB1dEVsZW1lbnQx
IG5hbWU9dmljdGltIC8+JyArCisgICAgJyAgICA8aW5wdXQgaWQ9aW5wdXRFbGVtZW50MiBuYW1l
PXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCisgICAgJyAgICA8aW5wdXQgaWQ9aW5wdXRFbGVtZW50
MyBuYW1lPXZpY3RpbSAvPicgKworICAgICc8L2Zvcm0+JzsKK293bmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ293bmVyJyk7Cit2YXIgaW5wdXRFbGVtZW50MSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbnB1dEVsZW1lbnQxJyk7Cit2YXIgaW5wdXRFbGVtZW50MiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdpbnB1dEVsZW1lbnQyJyk7Cit2YXIgaW5wdXRFbGVtZW50MyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dEVsZW1lbnQzJyk7CitzaG91bGRCZSgnaW5wdXRF
bGVtZW50MS5mb3JtJywgJ293bmVyJyk7CitzaG91bGRCZSgnaW5wdXRFbGVtZW50Mi5mb3JtJywg
J293bmVyJyk7CitzaG91bGRCZSgnaW5wdXRFbGVtZW50My5mb3JtJywgJ293bmVyJyk7CisKK2Rl
YnVnKCcnKTsKK2RlYnVnKCctIEVuc3VyZXMgdGhhdCB0aGUgZm9ybSBhdHRyaWJ1dGUgcG9pbnRz
IHRoZSBmb3JtIG93bmVyIGV2ZW4gaWYgdGhlIGZvcm0gZWxlbWVudCBpcyBuZXN0ZWQgYW5vdGhl
ciBmb3JtIGVsZW1lbnQuJyk7CitkZWJ1ZygnTk9URTogSXQgc2VlbXMgdGhhdCBuZXN0aW5nIGZv
cm0gZWxlbWVudHMgaXMgbm90IGFsbG93ZWQgc28gd2UgZW5zdXJlIGVhY2ggZm9ybS1hc3NvY2lh
dGVkIGVsZW1lbnRzIGFzc29jaWF0ZSB3aXRoIHRoZSBvdXRtb3N0IGZvcm0gZWxlbWVudC4nKTsK
K2NvbnRhaW5lci5pbm5lckhUTUwgPSAnPGZvcm0gaWQ9b3duZXI+JyArCisgICAgJyAgICA8Zm9y
bT4nICsKKyAgICAnICAgICAgICA8aW5wdXQgaWQ9aW5wdXRFbGVtZW50MSBuYW1lPXZpY3RpbSBm
b3JtPW93bmVyIC8+JyArCisgICAgJyAgICAgICAgPGlucHV0IGlkPWlucHV0RWxlbWVudDIgbmFt
ZT12aWN0aW0gLz4nICsKKyAgICAnICAgICAgICA8aW5wdXQgaWQ9aW5wdXRFbGVtZW50MyBuYW1l
PXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCisgICAgJyAgICA8L2Zvcm0+JyArCisgICAgJzwvZm9y
bT4nOworb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3duZXInKTsKK2lucHV0RWxl
bWVudDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXRFbGVtZW50MScpOworaW5wdXRF
bGVtZW50MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dEVsZW1lbnQyJyk7CitpbnB1
dEVsZW1lbnQzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudDMnKTsKK3No
b3VsZEJlKCdpbnB1dEVsZW1lbnQxLmZvcm0nLCAnb3duZXInKTsKK3Nob3VsZEJlKCdpbnB1dEVs
ZW1lbnQyLmZvcm0nLCAnb3duZXInKTsKK3Nob3VsZEJlKCdpbnB1dEVsZW1lbnQzLmZvcm0nLCAn
b3duZXInKTsKKworZGVidWcoJycpOworZGVidWcoJy0gRW5zdXJlcyB3aGV0aGVyIHRoZSBmb3Jt
IG93bmVyIGlzIHNldCBjb3JyZWN0bHkgd2hlbiB0aGUgdmFsdWUgb2YgZm9ybSBhdHRyaWJ1dGUg
b2YgYSBmb3JtLWFzc29jaWF0ZWQgZWxlbWVudCBjaGFuZ2VkLicpOworY29udGFpbmVyLmlubmVy
SFRNTCA9ICc8Zm9ybSBpZD1mb3JtMT48L2Zvcm0+JyArCisgICAgJzxmb3JtIGlkPWZvcm0yPjwv
Zm9ybT4nICsKKyAgICAnPGlucHV0IGlkPWlucHV0RWxlbWVudCBuYW1lPXZpY3RpbSBmb3JtPWZv
cm0xIC8+JyArCisgICAgJzxvYmplY3QgaWQ9b2JqZWN0RWxlbWVudCBuYW1lPXZpY3RpbSBmb3Jt
PWZvcm0xPjwvb2JqZWN0Pic7Cit2YXIgZm9ybTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Zm9ybTEnKTsKK3ZhciBmb3JtMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMicpOwor
aW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudCcpOwor
c2hvdWxkQmUoJ2lucHV0RWxlbWVudC5mb3JtJywgJ2Zvcm0xJyk7CitpbnB1dEVsZW1lbnQuYXR0
cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ2Zvcm0yJzsKK3Nob3VsZEJlKCdpbnB1dEVsZW1lbnQu
Zm9ybScsICdmb3JtMicpOworCisvLyBIVE1MT2JqZWN0RWxlbWVudCBoYXMgaXRzIG93biBpbXBs
ZW1lbnRhdGlvbiBvZiBmb3JtQXR0ciBwcm9jZXNzaW5nIGFuZCBzbyBuZWVkcyBpdHMgb3duIHRl
c3QuCitvYmplY3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29iamVjdEVsZW1l
bnQnKTsKK3Nob3VsZEJlKCdvYmplY3RFbGVtZW50LmZvcm0nLCAnZm9ybTEnKTsKK29iamVjdEVs
ZW1lbnQuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ2Zvcm0yJzsKK3Nob3VsZEJlKCdvYmpl
Y3RFbGVtZW50LmZvcm0nLCAnZm9ybTInKTsKKworZGVidWcoJycpOworZGVidWcoJy0gRW5zdXJl
cyB3aGV0aGVyIHRoZSBmb3JtIG93bmVyIGlzIHNldCBjb3JyZWN0bHkgd2hlbiB0aGUgdmFsdWUg
b2YgZm9ybSBhdHRyaWJ1dGUgaXMgYWRkZWQvcmVtb3ZlZC4nKTsKK2NvbnRhaW5lci5pbm5lckhU
TUwgPSAnPGZvcm0gaWQ9b3duZXIgbmFtZT1maXJzdE93bmVyPjwvZm9ybT4nICsKKyAgICAnPGlu
cHV0IGlkPWlucHV0RWxlbWVudCBuYW1lPXZpY3RpbSAvPicgKworICAgICc8b2JqZWN0IGlkPW9i
amVjdEVsZW1lbnQgbmFtZT12aWN0aW0+PC9vYmplY3Q+JzsKK293bmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ293bmVyJyk7CitpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaW5wdXRFbGVtZW50Jyk7CitzaG91bGRCZSgnaW5wdXRFbGVtZW50LmZvcm0nLCAnbnVs
bCcpOwordmFyIGZvcm1BdHRyaWJ1dGUgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoJ2Zvcm0n
KTsKK2lucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Zvcm0nLCAnb3duZXInKTsKK3Nob3VsZEJl
KCdpbnB1dEVsZW1lbnQuZm9ybScsICdvd25lcicpOworaW5wdXRFbGVtZW50LnJlbW92ZUF0dHJp
YnV0ZSgnZm9ybScpOworc2hvdWxkQmUoJ2lucHV0RWxlbWVudC5mb3JtJywgJ251bGwnKTsKKwor
Ly8gSFRNTE9iamVjdEVsZW1lbnQgaGFzIGl0cyBvd24gaW1wbGVtZW50YXRpb24gb2YgZm9ybUF0
dHIgcHJvY2Vzc2luZyBhbmQgc28gbmVlZHMgaXRzIG93biB0ZXN0Lgorb2JqZWN0RWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvYmplY3RFbGVtZW50Jyk7CitzaG91bGRCZSgnb2Jq
ZWN0RWxlbWVudC5mb3JtJywgJ251bGwnKTsKK29iamVjdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdm
b3JtJywgJ293bmVyJyk7CitzaG91bGRCZSgnb2JqZWN0RWxlbWVudC5mb3JtJywgJ293bmVyJyk7
CitvYmplY3RFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZm9ybScpOworc2hvdWxkQmUoJ29iamVj
dEVsZW1lbnQuZm9ybScsICdudWxsJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCctIEVuc3VyZXMg
d2hldGhlciB0aGUgZm9ybSBvd25lciBpcyBzZXQgY29ycmVjdGx5IHdoZW4gdGhlIGZvcm0gb3du
ZXIgaXMgYWRkZWQvcmVtb3ZlZC4nKTsKK2NvbnRhaW5lci5pbm5lckhUTUwgPSAnPGZvcm0gaWQ9
b3duZXIgbmFtZT1maXJzdE93bmVyPjwvZm9ybT4nICsKKyAgICAnPGZvcm0gaWQ9b3duZXIgbmFt
ZT1zZWNvbmRPd25lcj48L2Zvcm0+JyArCisgICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFt
ZT12aWN0aW0gZm9ybT1vd25lciAvPic7Citvd25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdvd25lcicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdvd25lci5uYW1lJywgJ2ZpcnN0T3du
ZXInKTsKK2lucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dEVsZW1l
bnQnKTsKK2NvbnRhaW5lci5yZW1vdmVDaGlsZChvd25lcik7Citvd25lciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdvd25lcicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdvd25lci5uYW1l
JywgJ3NlY29uZE93bmVyJyk7CitzaG91bGRCZSgnaW5wdXRFbGVtZW50LmZvcm0nLCAnb3duZXIn
KTsKK2NvbnRhaW5lci5yZW1vdmVDaGlsZChvd25lcik7CitzaG91bGRCZSgnaW5wdXRFbGVtZW50
LmZvcm0nLCAnbnVsbCcpOworY29udGFpbmVyLmFwcGVuZENoaWxkKG93bmVyKTsKK3Nob3VsZEJl
KCdpbnB1dEVsZW1lbnQuZm9ybScsICdvd25lcicpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9k
eT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1jb2xs
ZWN0aW9uLWVsZW1lbnRzLW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0t
Y29sbGVjdGlvbi1lbGVtZW50cy1vcmRlci5odG1sCmluZGV4IDU4NTM1MTFjNjMwODQxNWI4YjVl
ZmZkZWRiZTIwNTAwZTg1M2U4Y2MuLmQyYjZmN2Y3ZWIwMzJhMWNhMDAzMDZlOWNmMmQyNmZiZTY5
NDk4N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1jb2xsZWN0aW9u
LWVsZW1lbnRzLW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWNv
bGxlY3Rpb24tZWxlbWVudHMtb3JkZXIuaHRtbApAQCAtNiw3ICs2LDEwNiBAQAogPGJvZHk+CiA8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9mb3JtLWNvbGxlY3Rpb24tZWxlbWVudHMtb3JkZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZXhhbWluZXMgdGhlIG9y
ZGVyIG9mIGZvcm0gYXNzb2NpYXRlZCBlbGVtZW50cyB3aGljaCBhcmUgY2xhc3NpZmllZCBhcyAn
bGlzdGVkJy4iKTsKKwordmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpOwordmFyIG93bmVyOwor
CitmdW5jdGlvbiBjaGVja09yZGVyKHZpY3RpbXMpIHsKKyAgICBpZiAob3duZXIuZWxlbWVudHMu
bGVuZ3RoICE9IHZpY3RpbXMubGVuZ3RoKQorICAgICAgICByZXR1cm4gJ2xlbmd0aCBtaXNtYXRj
aCwgZWxlbWVudHMubGVuZ3RoID0gJyArIG93bmVyLmVsZW1lbnRzLmxlbmd0aCArCisgICAgICAg
ICAgICAgICAnLCBleHBlY3RlZCBsZW5ndGggPSAnICsgdmljdGltcy5sZW5ndGg7CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB2aWN0aW1zLmxlbmd0aDsgKytpKQorICAgICAgICBpZiAob3duZXIu
ZWxlbWVudHNbaV0gIT0gdmljdGltc1tpXSkKKyAgICAgICAgICAgIHJldHVybiAnZWxlbWVudCBt
aXNtYXRjaCBhdCBpbmRleCAnICsgaTsKKyAgICByZXR1cm4gJ09LJzsKK30KKworZGVidWcoJy0g
Q2hlY2tzIHRoZSBvcmRlciBvZiBmb3JtIGFzc29jaWF0ZWQgZWxlbWVudHMuJyk7Citjb250YWlu
ZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPW93bmVyPicgKworICAgICc8YnV0dG9uIG5hbWU9dmlj
dGltPjwvYnV0dG9uPicgKworICAgICc8ZmllbGRzZXQgbmFtZT12aWN0aW0+VGVzdDwvZmllbGRz
ZXQ+JyArCisgICAgJzxpbnB1dCBuYW1lPXZpY3RpbS8+JyArCisgICAgJzxrZXlnZW4gbmFtZT12
aWN0aW0+PC9rZXlnZW4+JyArCisgICAgJzxsYWJlbCBuYW1lPXZpY3RpbT48L2xhYmVsPicgKwor
ICAgICc8bWV0ZXIgbmFtZT12aWN0aW0+PC9tZXRlcj4nICsKKyAgICAnPG9iamVjdCBuYW1lPXZp
Y3RpbT48L29iamVjdD4nICsKKyAgICAnPG91dHB1dCBuYW1lPXZpY3RpbT48L291dHB1dD4nICsK
KyAgICAnPHByb2dyZXNzIG5hbWU9dmljdGltPjwvcHJvZ3Jlc3M+JyArCisgICAgJzxzZWxlY3Qg
bmFtZT12aWN0aW0+PC9zZWxlY3Q+JyArCisgICAgJzx0ZXh0YXJlYSBuYW1lPXZpY3RpbT48L3Rl
eHRhcmVhPicrCisgICAgJzwvZm9ybT4nOworb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnb3duZXInKTsKK3ZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
YnV0dG9uJylbMF07Cit2YXIgZmllbGRzZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgnZmllbGRzZXQnKVswXTsKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdpbnB1dCcpWzBdOwordmFyIGtleWdlbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdrZXlnZW4nKVswXTsKK3ZhciBsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdsYWJlbCcpWzBdOwordmFyIG1ldGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ21ldGVyJylbMF07Cit2YXIgb2JqZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ29iamVjdCcpWzBdOwordmFyIG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdvdXRwdXQnKVswXTsKK3ZhciBwcm9ncmVzcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdwcm9ncmVzcycpWzBdOwordmFyIHNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdzZWxlY3QnKVswXTsKK3ZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCd0ZXh0YXJlYScpWzBdOworc2hvdWxkQmUoJ2NoZWNrT3JkZXIoW2J1dHRv
biwgZmllbGRzZXQsIGlucHV0LCBrZXlnZW4sIG9iamVjdCwgb3V0cHV0LCBzZWxlY3QsIHRleHRh
cmVhXSknLCAnIk9LIicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnLSBDaGVja3MgdGhlIG9yZGVy
IGFmdGVyIHNvbWUgZWxlbWVudHMgcmVtb3ZlZC9pbnNlcnRlZC4nKTsKK293bmVyLnJlbW92ZUNo
aWxkKG9iamVjdCk7CitzaG91bGRCZSgnY2hlY2tPcmRlcihbYnV0dG9uLCBmaWVsZHNldCwgaW5w
dXQsIGtleWdlbiwgb3V0cHV0LCBzZWxlY3QsIHRleHRhcmVhXSknLCAnIk9LIicpOworb3duZXIu
cmVtb3ZlQ2hpbGQoYnV0dG9uKTsKK3Nob3VsZEJlKCdjaGVja09yZGVyKFtmaWVsZHNldCwgaW5w
dXQsIGtleWdlbiwgb3V0cHV0LCBzZWxlY3QsIHRleHRhcmVhXSknLCAnIk9LIicpOworb3duZXIu
aW5zZXJ0QmVmb3JlKG9iamVjdCwgZmllbGRzZXQpOworc2hvdWxkQmUoJ2NoZWNrT3JkZXIoW29i
amVjdCwgZmllbGRzZXQsIGlucHV0LCBrZXlnZW4sIG91dHB1dCwgc2VsZWN0LCB0ZXh0YXJlYV0p
JywgJyJPSyInKTsKK293bmVyLmFwcGVuZENoaWxkKGJ1dHRvbik7CitzaG91bGRCZSgnY2hlY2tP
cmRlcihbb2JqZWN0LCBmaWVsZHNldCwgaW5wdXQsIGtleWdlbiwgb3V0cHV0LCBzZWxlY3QsIHRl
eHRhcmVhLCBidXR0b25dKScsICciT0siJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCctIENoZWNr
cyB0aGUgb3JkZXIgb2YgZm9ybSBhc3NvY2lhdGVkIGVsZW1lbnRzIHdpdGggZm9ybSBhdHRyaWJ1
dGUuJyk7Citjb250YWluZXIuaW5uZXJIVE1MID0gJzxidXR0b24gbmFtZT12aWN0aW0gZm9ybT1v
d25lcj48L2J1dHRvbj4nICsKKyAgICAnPGZpZWxkc2V0IG5hbWU9dmljdGltIGZvcm09b3duZXI+
VGVzdDwvZmllbGRzZXQ+JyArCisgICAgJzxpbnB1dCBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+
JyArCisgICAgJzxrZXlnZW4gbmFtZT12aWN0aW0gZm9ybT1vd25lcj48L2tleWdlbj4nICsKKyAg
ICAnPGZvcm0gaWQ9b3duZXI+JyArCisgICAgJzxsYWJlbCBuYW1lPXZpY3RpbT48L2xhYmVsPicg
KworICAgICc8bWV0ZXIgbmFtZT12aWN0aW0+PC9tZXRlcj4nICsKKyAgICAnPG9iamVjdCBuYW1l
PXZpY3RpbT48L29iamVjdD4nICsKKyAgICAnPC9mb3JtPicgKworICAgICc8b3V0cHV0IG5hbWU9
dmljdGltIGZvcm09b3duZXI+PC9vdXRwdXQ+JyArCisgICAgJzxwcm9ncmVzcyBuYW1lPXZpY3Rp
bSBmb3JtPW93bmVyPjwvcHJvZ3Jlc3M+JyArCisgICAgJzxzZWxlY3QgbmFtZT12aWN0aW0gZm9y
bT1vd25lcj48L3NlbGVjdD4nICsKKyAgICAnPHRleHRhcmVhIG5hbWU9dmljdGltIGZvcm09b3du
ZXI+PC90ZXh0YXJlYT4nOworb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3duZXIn
KTsKK2J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdidXR0b24nKVswXTsK
K2ZpZWxkc2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ZpZWxkc2V0JylbMF07
CitpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdOwora2V5
Z2VuID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2tleWdlbicpWzBdOworbGFiZWwg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbGFiZWwnKVswXTsKK21ldGVyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21ldGVyJylbMF07CitvYmplY3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnb2JqZWN0JylbMF07CitvdXRwdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgnb3V0cHV0JylbMF07Citwcm9ncmVzcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdwcm9ncmVzcycpWzBdOworc2VsZWN0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzBdOwordGV4dGFyZWEgPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgndGV4dGFyZWEnKVswXTsKK3Nob3VsZEJlKCdjaGVja09yZGVyKFti
dXR0b24sIGZpZWxkc2V0LCBpbnB1dCwga2V5Z2VuLCBvYmplY3QsIG91dHB1dCwgc2VsZWN0LCB0
ZXh0YXJlYV0pJywgJyJPSyInKTsKKworZGVidWcoJycpOworZGVidWcoJy0gQ2hlY2tzIHRoZSBv
cmRlciBhZnRlciBzb21lIGVsZW1lbnRzIHJlbW92ZWQvaW5zZXJ0ZWQgd2l0aCBmb3JtIGF0dHJp
YnV0ZS4nKTsKK293bmVyLnJlbW92ZUNoaWxkKG9iamVjdCk7CitzaG91bGRCZSgnY2hlY2tPcmRl
cihbYnV0dG9uLCBmaWVsZHNldCwgaW5wdXQsIGtleWdlbiwgb3V0cHV0LCBzZWxlY3QsIHRleHRh
cmVhXSknLCAnIk9LIicpOworY29udGFpbmVyLnJlbW92ZUNoaWxkKGJ1dHRvbik7CitzaG91bGRC
ZSgnY2hlY2tPcmRlcihbZmllbGRzZXQsIGlucHV0LCBrZXlnZW4sIG91dHB1dCwgc2VsZWN0LCB0
ZXh0YXJlYV0pJywgJyJPSyInKTsKK2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0ZXh0YXJlYSk7Citz
aG91bGRCZSgnY2hlY2tPcmRlcihbZmllbGRzZXQsIGlucHV0LCBrZXlnZW4sIG91dHB1dCwgc2Vs
ZWN0XSknLCAnIk9LIicpOworb3duZXIuYXBwZW5kQ2hpbGQob2JqZWN0KTsKK3Nob3VsZEJlKCdj
aGVja09yZGVyKFtmaWVsZHNldCwgaW5wdXQsIGtleWdlbiwgb2JqZWN0LCBvdXRwdXQsIHNlbGVj
dF0pJywgJyJPSyInKTsKK2NvbnRhaW5lci5pbnNlcnRCZWZvcmUodGV4dGFyZWEsIGZpZWxkc2V0
KTsKK3Nob3VsZEJlKCdjaGVja09yZGVyKFt0ZXh0YXJlYSwgZmllbGRzZXQsIGlucHV0LCBrZXln
ZW4sIG9iamVjdCwgb3V0cHV0LCBzZWxlY3RdKScsICciT0siJyk7Citjb250YWluZXIuYXBwZW5k
Q2hpbGQoYnV0dG9uKTsKK3Nob3VsZEJlKCdjaGVja09yZGVyKFt0ZXh0YXJlYSwgZmllbGRzZXQs
IGlucHV0LCBrZXlnZW4sIG9iamVjdCwgb3V0cHV0LCBzZWxlY3QsIGJ1dHRvbl0pJywgJyJPSyIn
KTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tY29sbGVjdGlvbi1lbGVtZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWNvbGxlY3Rpb24tZWxlbWVudHMuaHRtbAppbmRleCBhZGJm
OGI0YWI5NGFhNzA0NGE1MTIxNjEyY2M1YzZhMWE5MmUwY2JhLi41NWQ3OTRjZjUxYzBlOGYyOWU2
NDE0M2NiYzIyOWE1YWNlZDI3MDQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2Zvcm0tY29sbGVjdGlvbi1lbGVtZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZm9ybS1jb2xsZWN0aW9uLWVsZW1lbnRzLmh0bWwKQEAgLTYsNyArNiw3MyBAQAogPGJvZHk+
CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9mb3JtLWNvbGxlY3Rpb24tZWxlbWVudHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbGlzdHMgYWxsIHRoZSBlbGVt
ZW50cyBvZiBhIGZvcm0gcGVyIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjY2F0ZWdvcnktbGlzdGVkLiIpOworZGVi
dWcoIlRoaXMgdGVzdCBkb2VzIG5vdCBhZGQgb2JqZWN0IGVsZW1lbnQgYXMgYSBsaXN0ZWQgZWxl
bWVudC4gU2VwYXJhdGUgdGVzdCB3aWxsIGNvdmVyIHRoYXQuIik7CisKK3ZhciBjb250YWluZXIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoY29udGFpbmVyKTsKKworY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9ybSBpZD0iZm9ybTEi
PicgKworICAgICc8YnV0dG9uIGlkPWJ1dHRvbjE+PC9idXR0b24+JyArCisgICAgJzxmaWVsZHNl
dCBpZD1maWVsZHNldDE+PGxlZ2VuZCBpZD1sZWdlbmQxPjwvbGVnZW5kPjwvZmllbGRzZXQ+JyAr
CisgICAgJzxpbnB1dCBpZD1pbnB1dGhpZGRlbiB0eXBlPWhpZGRlbj4nICsKKyAgICAnPGlucHV0
IGlkPWlucHV0dGV4dCB0eXBlPXRleHQ+JyArCisgICAgJzxpbnB1dCBpZD1pbnB1dHNlYXJjaCB0
eXBlPXNlYXJjaD4nICsKKyAgICAnPGlucHV0IGlkPWlucHV0dXJsIHR5cGU9dXJsPicgKworICAg
ICc8aW5wdXQgaWQ9aW5wdXRlbWFpbCB0eXBlPWVtYWlsPicgKworICAgICc8aW5wdXQgaWQ9aW5w
dXRwYXNzd29yZCB0eXBlPXBhc3N3b3JkPicgKworICAgICc8aW5wdXQgaWQ9aW5wdXRkYXRlIHR5
cGU9ZGF0ZT4nICsKKyAgICAnPGlucHV0IGlkPWlucHV0bnVtYmVyIHR5cGU9bnVtYmVyPicgKwor
ICAgICc8aW5wdXQgaWQ9aW5wdXRyYW5nZSB0eXBlPXJhbmdlPicgKworICAgICc8aW5wdXQgaWQ9
aW5wdXRjb2xvciB0eXBlPWNvbG9yPicgKworICAgICc8aW5wdXQgaWQ9aW5wdXRjaGVja2JveCB0
eXBlPWNoZWNrYm94PicgKworICAgICc8aW5wdXQgaWQ9aW5wdXRyYWRpbyB0eXBlPXJhZGlvPicg
KworICAgICc8aW5wdXQgaWQ9aW5wdXRmaWxlIHR5cGU9ZmlsZT4nICsKKyAgICAnPGlucHV0IGlk
PWlucHV0c3VibWl0IHR5cGU9c3VibWl0PicgKworICAgICc8aW5wdXQgaWQ9aW5wdXRpbWFnZSB0
eXBlPWltYWdlPicgKworICAgICc8aW5wdXQgaWQ9aW5wdXRyZXNldCB0eXBlPXJlc2V0PicgKwor
ICAgICc8aW5wdXQgaWQ9aW5wdXRidXR0b24gdHlwZT1idXR0b24+JyArCisgICAgJzxrZXlnZW4g
aWQ9a2V5Z2VuMT48L2tleWdlbj4nICsKKyAgICAnPGxhYmVsIGlkPWxhYmVsMT48L2xhYmVsPicg
KworICAgICc8bWV0ZXIgaWQ9bWV0ZXIxPjwvbWV0ZXI+JyArCisgICAgJzxvYmplY3QgaWQ9b2Jq
ZWN0MT48L29iamVjdD4nICsKKyAgICAnPG91dHB1dCBpZD1vdXRwdXQxPjwvb3V0cHV0PicgKwor
ICAgICc8cHJvZ3Jlc3MgaWQ9cHJvZ3Jlc3MxPjwvcHJvZ3Jlc3M+JyArCisgICAgJzxzZWxlY3Qg
aWQ9c2VsZWN0MT4nICsKKyAgICAnICAgIDxvcHRncm91cCBpZD1vcHRncm91cDE+Z3JvdXAxPC9v
cHRncm91cD4nICsKKyAgICAnICAgIDxvcHRpb24gaWQ9b3B0aW9uMT5vcHRpb24xPC9vcHRpb24+
JyArCisgICAgJzwvc2VsZWN0PicgKworICAgICc8dGV4dGFyZWEgaWQ9dGV4dGFyZWExPjwvdGV4
dGFyZWE+JyArCisgICAgJzwvZm9ybT4nOworCit2YXIgb3duZXIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZm9ybTEnKTsKKworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcsICcy
MycpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdLmlkJywgIididXR0b24xJyIpOworc2hv
dWxkQmUoJ293bmVyLmVsZW1lbnRzWzFdLmlkJywgIidmaWVsZHNldDEnIik7CitzaG91bGRCZSgn
b3duZXIuZWxlbWVudHNbMl0uaWQnLCAiJ2lucHV0aGlkZGVuJyIpOworc2hvdWxkQmUoJ293bmVy
LmVsZW1lbnRzWzNdLmlkJywgIidpbnB1dHRleHQnIik7CitzaG91bGRCZSgnb3duZXIuZWxlbWVu
dHNbNF0uaWQnLCAiJ2lucHV0c2VhcmNoJyIpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzVd
LmlkJywgIidpbnB1dHVybCciKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1s2XS5pZCcsICIn
aW5wdXRlbWFpbCciKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1s3XS5pZCcsICInaW5wdXRw
YXNzd29yZCciKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1s4XS5pZCcsICInaW5wdXRkYXRl
JyIpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzldLmlkJywgIidpbnB1dG51bWJlciciKTsK
K3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1sxMF0uaWQnLCAiJ2lucHV0cmFuZ2UnIik7CitzaG91
bGRCZSgnb3duZXIuZWxlbWVudHNbMTFdLmlkJywgIidpbnB1dGNvbG9yJyIpOworc2hvdWxkQmUo
J293bmVyLmVsZW1lbnRzWzEyXS5pZCcsICInaW5wdXRjaGVja2JveCciKTsKK3Nob3VsZEJlKCdv
d25lci5lbGVtZW50c1sxM10uaWQnLCAiJ2lucHV0cmFkaW8nIik7CitzaG91bGRCZSgnb3duZXIu
ZWxlbWVudHNbMTRdLmlkJywgIidpbnB1dGZpbGUnIik7CitzaG91bGRCZSgnb3duZXIuZWxlbWVu
dHNbMTVdLmlkJywgIidpbnB1dHN1Ym1pdCciKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1sx
Nl0uaWQnLCAiJ2lucHV0cmVzZXQnIik7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMTddLmlk
JywgIidpbnB1dGJ1dHRvbiciKTsKK3Nob3VsZEJlKCdvd25lci5lbGVtZW50c1sxOF0uaWQnLCAi
J2tleWdlbjEnIik7CitzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMTldLmlkJywgIidvYmplY3Qx
JyIpOworc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzIwXS5pZCcsICInb3V0cHV0MSciKTsKK3No
b3VsZEJlKCdvd25lci5lbGVtZW50c1syMV0uaWQnLCAiJ3NlbGVjdDEnIik7CitzaG91bGRCZSgn
b3duZXIuZWxlbWVudHNbMjJdLmlkJywgIid0ZXh0YXJlYTEnIik7Cis8L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9m
b3Jtbm92YWxpZGF0ZS1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9y
bW5vdmFsaWRhdGUtYXR0cmlidXRlLmh0bWwKaW5kZXggNzBhYjE1OGVkY2M1NTZiNmU1NGQ4YTBk
ODRmNDQ3YTdhYTlmNmRlZC4uNzZmNGVkYTAyY2ZlY2M1ZmRlNDM2MTA2OTY3MjcyZGI2MzU1ODY2
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3Jtbm92YWxpZGF0ZS1hdHRy
aWJ1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm1ub3ZhbGlkYXRlLWF0
dHJpYnV0ZS5odG1sCkBAIC02LDcgKzYsNDkgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvZm9ybW5vdmFsaWRhdGUtYXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IHBlcmZvcm1zIHNvbWUgc2ltcGxlIGNoZWNrIG9uIHRoZSBmb3Jt
bm92YWxpZGF0ZSBhdHRyaWJ1dGUuIik7CisKK3ZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaW5wdXQiKTsKK3ZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CisK
K3Nob3VsZEJlKCJpLmhhc0F0dHJpYnV0ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICJmYWxzZSIpOwor
c2hvdWxkQmUoImkuZ2V0QXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgIm51bGwiKTsKK3No
b3VsZEJlKCJpLmZvcm1Ob1ZhbGlkYXRlIiwgImZhbHNlIik7CitzaG91bGRCZSgiYi5oYXNBdHRy
aWJ1dGUoJ2Zvcm1Ob1ZhbGlkYXRlJykiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJiLmdldEF0dHJp
YnV0ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICJudWxsIik7CitzaG91bGRCZSgiYi5mb3JtTm9WYWxp
ZGF0ZSIsICJmYWxzZSIpOworCitpLmZvcm1Ob1ZhbGlkYXRlID0gdHJ1ZTsKK2IuZm9ybU5vVmFs
aWRhdGUgPSB0cnVlOworCitzaG91bGRCZSgiaS5oYXNBdHRyaWJ1dGUoJ2Zvcm1Ob1ZhbGlkYXRl
JykiLCAidHJ1ZSIpOworc2hvdWxkQmUoImkuZ2V0QXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScp
IiwgIicnIik7CitzaG91bGRCZSgiaS5mb3JtTm9WYWxpZGF0ZSIsICJ0cnVlIik7CitzaG91bGRC
ZSgiYi5oYXNBdHRyaWJ1dGUoJ2Zvcm1Ob1ZhbGlkYXRlJykiLCAidHJ1ZSIpOworc2hvdWxkQmUo
ImIuZ2V0QXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgIicnIik7CitzaG91bGRCZSgiYi5m
b3JtTm9WYWxpZGF0ZSIsICJ0cnVlIik7CisKK3ZhciBpMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iik7CitpMi5mb3JtTm9WYWxpZGF0ZSA9IGkuZm9ybU5vVmFsaWRhdGU7CisKK2ku
Zm9ybU5vVmFsaWRhdGUgPSBmYWxzZTsKK2IuZm9ybU5vVmFsaWRhdGUgPSBmYWxzZTsKKworc2hv
dWxkQmUoImkuaGFzQXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgImZhbHNlIik7CitzaG91
bGRCZSgiaS5nZXRBdHRyaWJ1dGUoJ2Zvcm1Ob1ZhbGlkYXRlJykiLCAibnVsbCIpOworc2hvdWxk
QmUoImkuZm9ybU5vVmFsaWRhdGUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJiLmhhc0F0dHJpYnV0
ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICJmYWxzZSIpOworc2hvdWxkQmUoImIuZ2V0QXR0cmlidXRl
KCdmb3JtTm9WYWxpZGF0ZScpIiwgIm51bGwiKTsKK3Nob3VsZEJlKCJiLmZvcm1Ob1ZhbGlkYXRl
IiwgImZhbHNlIik7CisKK2kyLmZvcm1Ob1ZhbGlkYXRlID0gZmFsc2U7CitzaG91bGRCZSgiaTIu
Zm9ybU5vVmFsaWRhdGUiLCAiZmFsc2UiKTsKK2kyLmZvcm1Ob1ZhbGlkYXRlID0gInNvbWV0aGlu
ZyI7CitzaG91bGRCZSgiaTIuaGFzQXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgInRydWUi
KTsKK3Nob3VsZEJlKCJpMi5nZXRBdHRyaWJ1dGUoJ2Zvcm1Ob1ZhbGlkYXRlJykiLCAiJyciKTsK
K3Nob3VsZEJlKCJpMi5mb3JtTm9WYWxpZGF0ZSIsICJ0cnVlIik7Cis8L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9p
bmNyZW1lbnRhbC1kb20tcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5j
cmVtZW50YWwtZG9tLXByb3BlcnR5Lmh0bWwKaW5kZXggODk3MzVlZjZkYzIyYjA2MjM0YzFiYWMy
ZTIxMGMzZTkwZDdhNWE4OS4uNTZlZmY4NjU5MmM0YThmNmRmOGRmZjU3NmRmZDkyYjYzZDk4Yjcz
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbmNyZW1lbnRhbC1kb20tcHJv
cGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2luY3JlbWVudGFsLWRvbS1w
cm9wZXJ0eS5odG1sCkBAIC02LDcgKzYsMjMgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvaW5jcmVtZW50YWwtZG9tLXByb3BlcnR5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbignVGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUwMzM1Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTAzMzU8L2E+Jyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7CisKK2lucHV0LnNldEF0dHJpYnV0ZSgnaW5jcmVtZW50YWwnLCAnJykKK3Nob3VsZEJlVHJ1
ZSgnaW5wdXQuaW5jcmVtZW50YWwnKTsKKworaW5wdXQucmVtb3ZlQXR0cmlidXRlKCdpbmNyZW1l
bnRhbCcpOworc2hvdWxkQmVGYWxzZSgnaW5wdXQuaW5jcmVtZW50YWwnKTsKKworaW5wdXQuaW5j
cmVtZW50YWwgPSB0cnVlOworc2hvdWxkQmVUcnVlKCdpbnB1dC5oYXNBdHRyaWJ1dGUoImluY3Jl
bWVudGFsIiknKTsKKworaW5wdXQuaW5jcmVtZW50YWwgPSBmYWxzZTsKK3Nob3VsZEJlRmFsc2Uo
J2lucHV0Lmhhc0F0dHJpYnV0ZSgiaW5jcmVtZW50YWwiKScpOworPC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtbWF4bGVuZ3RoLWltZS1jb21wbGV0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
aW5wdXQtbWF4bGVuZ3RoLWltZS1jb21wbGV0ZWQuaHRtbAppbmRleCAzMzc4ZDFlZmViZTFhYzZk
NWIwMTMzNjYwOGY0ZWYxMWE2YTYxZWU0Li5jY2VmZjNhYWQ5ODI2MWEwZDgxZjczYWVmMmVlNjc1
ZWU3YThjZWZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW1heGxl
bmd0aC1pbWUtY29tcGxldGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1
dC1tYXhsZW5ndGgtaW1lLWNvbXBsZXRlZC5odG1sCkBAIC02LDcgKzYsMjAgQEAKIDxib2R5Pgog
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5wdXQtbWF4bGVuZ3RoLWltZS1jb21wbGV0ZWQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUaGVyZSB3YXMgYSBidWcgdGhhdCB1c2Vy
cyBjb3VsZCBpbnB1dCB0ZXh0IGxvbmdlciB0aGFuIG1heGxlbmd0aCB2aWEgSU1FLiAgVGhpcyB0
ZXN0IGNvbmZpcm1zIGl0IHdhcyBmaXhlZC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0Lm1heExlbmd0aCA9IDI7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlucHV0KTsKK2lucHV0LmZvY3VzKCk7Cit0ZXh0SW5wdXRDb250cm9sbGVy
LnNldE1hcmtlZFRleHQoJ2FiY2QnLCAwLCA0KTsKK3RleHRJbnB1dENvbnRyb2xsZXIuaW5zZXJ0
VGV4dCgnYWJjZCcpOyAgLy8gRGVidWcgV2ViS2l0IGNyYXNoZWQgYnkgdGhpcyB3aXRob3V0IHRo
ZSBjaGFuZ2Ugb2YgYnVnIzI1MjUzLgorLy8gQ2hlY2sgdGhlIGN1cnJlbnQgdmFsdWUgd2l0aG91
dCBpbnB1dC52YWx1ZS4KKy8vIEluIFJlbGVhc2UgV2ViS2l0LCBpbnB1dC52YWx1ZSB3YXMgJ2Fi
JyB0aG91Z2ggdGhlIHVzZXItdmlzaWJsZSB2YWx1ZSB3YXMgJ2FiY2QnLgorZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ1NlbGVjdEFsbCcpOworc2hvdWxkQmUoJ2RvY3VtZW50LmdldFNlbGVjdGlvbigp
LnRvU3RyaW5nKCknLCAnImFiIicpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbWF4bGVuZ3RoLWlt
ZS1wcmVlZGl0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW1heGxlbmd0aC1p
bWUtcHJlZWRpdC5odG1sCmluZGV4IDFkMTVjMGExNjQ1ZTI4YzNmMDg0ZThjZWFmODJiMjBlMGRl
NzY1ZDQuLmU4MzlkYWMwYWE4MDFjYmY1MDE1ZmY4ZDQ0NzE4ZjJlOTRiMjIzN2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbWF4bGVuZ3RoLWltZS1wcmVlZGl0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1tYXhsZW5ndGgtaW1lLXByZWVk
aXQuaHRtbApAQCAtNiw3ICs2LDE3IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lu
cHV0LW1heGxlbmd0aC1pbWUtcHJlZWRpdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1RoaXMgdGVzdCBjaGVja3MgdXNlcnMgY2FuIGlucHV0IHByZS1lZGl0IHRleHQgbG9u
Z2VyIHRoYW4gbWF4bGVuZ3RoLicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpbnB1dCcpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CitpbnB1dC5t
YXhMZW5ndGggPSAyOworaW5wdXQuZm9jdXMoKTsKK3RleHRJbnB1dENvbnRyb2xsZXIuc2V0TWFy
a2VkVGV4dCgnYWJjZCcsIDAsIDQpOworLy8gVGhlIHNlbGVjdGlvbiBzaG91bGQgaGF2ZSA0IGNo
YXJhY3RlcnMgdGhvdWdoIG1heExlbmd0aCBpcyAyLgorc2hvdWxkQmUoJ2RvY3VtZW50LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCknLCAnImFiY2QiJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1t
YXhsZW5ndGgtdW5zdXBwb3J0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQt
bWF4bGVuZ3RoLXVuc3VwcG9ydGVkLmh0bWwKaW5kZXggMDgyYjIyZmU4NzhkYzM1ZjMwNjZmNGNk
NjBiM2Q4YzhjODU0NzUzMy4uMzNmMGNlMWJkOGY4MzNlNTAwMGI2MWU5ZDgzN2QwNDBkY2ZiYWVi
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1tYXhsZW5ndGgtdW5z
dXBwb3J0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW1heGxlbmd0
aC11bnN1cHBvcnRlZC5odG1sCkBAIC02LDcgKzYsMTkgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvaW5wdXQtbWF4bGVuZ3RoLXVuc3VwcG9ydGVkLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbignQSB0ZXN0IGZvciBtYXhsZW5ndGggYXR0cmlidXRlIG9mIGFuIGlu
cHV0IGVsZW1lbnQgd2l0aCBub24tdGV4dCB0eXBlJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitpbnB1dC5tYXhMZW5ndGggPSAyOworaW5wdXQudHlw
ZSA9ICdudW1iZXInOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CitpbnB1dC5m
b2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJzEyMzQn
KTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMTIzNCInKTsKKworaW5wdXQucGFyZW50Tm9k
ZS5yZW1vdmVDaGlsZChpbnB1dCk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1taW5tYXguaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbWlubWF4Lmh0bWwKaW5kZXggODA2Nzg3YWQ3
ZTY3YWMyZTAzYmI3NTg0YWRhNWYzOGEwMmZiMjQzNy4uZjMyYzQ0NjJhY2UxY2FkZjk0ZWM3ZjUy
YjBiMDJkNmRkOTNkZmYyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1
dC1taW5tYXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW1pbm1heC5o
dG1sCkBAIC02LDcgKzYsODcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5wdXQt
bWlubWF4LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhlIGJl
aGF2aW9yIG9mIC5taW4gYW5kIC5tYXggb2YgSFRNTElucHV0RWxlbWVudC4nKTsKKwordmFyIGlu
cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKKworLy8gLm1pbiBhbmQgLm1h
eCBqdXN0IHJlZmxlY3QgdGhlIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlcy4KK2lucHV0LnR5cGUg
PSAndGV4dCc7CitzaG91bGRCZSgnaW5wdXQubWluJywgJyIiJyk7CitzaG91bGRCZSgnaW5wdXQu
bWF4JywgJyIiJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ21pbicsICcwJyk7CitpbnB1dC5zZXRB
dHRyaWJ1dGUoJ21heCcsICcxMDAnKTsKK3Nob3VsZEJlKCdpbnB1dC5taW4nLCAnIjAiJyk7Citz
aG91bGRCZSgnaW5wdXQubWF4JywgJyIxMDAiJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ21pbics
ICdhYmMnKTsKK2lucHV0LnNldEF0dHJpYnV0ZSgnbWF4JywgJ3F3ZXJ0eScpOworc2hvdWxkQmUo
J2lucHV0Lm1pbicsICciYWJjIicpOworc2hvdWxkQmUoJ2lucHV0Lm1heCcsICcicXdlcnR5Iicp
OworCitpbnB1dC5taW4gPSAnZm9vJzsKK2lucHV0Lm1heCA9ICdiYXInOworc2hvdWxkQmUoJ2lu
cHV0LmdldEF0dHJpYnV0ZSgibWluIiknLCAnImZvbyInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRB
dHRyaWJ1dGUoIm1heCIpJywgJyJiYXIiJyk7CitpbnB1dC5taW4gPSAnJzsKK2lucHV0Lm1heCA9
ICcnOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgibWluIiknLCAnIiInKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoIm1heCIpJywgJyIiJyk7CisKKy8vIE51bGwuCitkZWJ1
ZygnU2V0dGluZyBudWxsIHRvIG1pbjonKTsKK2lucHV0Lm1pbiA9IG51bGw7CitzaG91bGRCZSgn
aW5wdXQubWluJywgJyIiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJtaW4iKScs
ICdudWxsJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ21pbicsIG51bGwpOworc2hvdWxkQmUoJ2lu
cHV0Lm1pbicsICcibnVsbCInKTsKKworZGVidWcoJ1NldHRpbmcgbnVsbCB0byBtYXg6Jyk7Citp
bnB1dC5tYXggPSBudWxsOworc2hvdWxkQmUoJ2lucHV0Lm1heCcsICciIicpOworc2hvdWxkQmUo
J2lucHV0LmdldEF0dHJpYnV0ZSgibWF4IiknLCAnbnVsbCcpOworaW5wdXQuc2V0QXR0cmlidXRl
KCdtYXgnLCBudWxsKTsKK3Nob3VsZEJlKCdpbnB1dC5tYXgnLCAnIm51bGwiJyk7CisKKy8vIFVu
ZGVmaW5lZC4KK2RlYnVnKCdTZXR0aW5nIHVuZGVmaW5lZCB0byBtaW46Jyk7CitpbnB1dC5taW4g
PSB1bmRlZmluZWQ7CitzaG91bGRCZSgnaW5wdXQubWluJywgJyJ1bmRlZmluZWQiJyk7CitzaG91
bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJtaW4iKScsICcidW5kZWZpbmVkIicpOworaW5wdXQu
c2V0QXR0cmlidXRlKCdtaW4nLCB1bmRlZmluZWQpOworc2hvdWxkQmUoJ2lucHV0Lm1pbicsICci
dW5kZWZpbmVkIicpOworCitkZWJ1ZygnU2V0dGluZyB1bmRlZmluZWQgdG8gbWF4OicpOworaW5w
dXQubWF4ID0gdW5kZWZpbmVkOworc2hvdWxkQmUoJ2lucHV0Lm1heCcsICcidW5kZWZpbmVkIicp
Oworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgibWF4IiknLCAnInVuZGVmaW5lZCInKTsK
K2lucHV0LnNldEF0dHJpYnV0ZSgnbWF4JywgdW5kZWZpbmVkKTsKK3Nob3VsZEJlKCdpbnB1dC5t
YXgnLCAnInVuZGVmaW5lZCInKTsKKworLy8gTm9uLXN0cmluZy4KK2RlYnVnKCdTZXR0aW5nIG5v
bi1zdHJpbmcgdG8gbWluOicpOworaW5wdXQubWluID0gMjU2Oworc2hvdWxkQmUoJ2lucHV0Lm1p
bicsICciMjU2IicpOworc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgibWluIiknLCAnIjI1
NiInKTsKK2lucHV0LnNldEF0dHJpYnV0ZSgnbWluJywgMjU2KTsKK3Nob3VsZEJlKCdpbnB1dC5t
aW4nLCAnIjI1NiInKTsKKworZGVidWcoJ1NldHRpbmcgbm9uLXN0cmluZyB0byBtYXg6Jyk7Citp
bnB1dC5tYXggPSAyNTY7CitzaG91bGRCZSgnaW5wdXQubWF4JywgJyIyNTYiJyk7CitzaG91bGRC
ZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJtYXgiKScsICciMjU2IicpOworaW5wdXQuc2V0QXR0cmli
dXRlKCdtYXgnLCAyNTYpOworc2hvdWxkQmUoJ2lucHV0Lm1heCcsICciMjU2IicpOworCisvLyBU
aGUgcmFuZ2UgdHlwZSBoYXMgdGhlIGRlZmF1bHQgbWluaW11bSBhbmQgdGhlIGRlZmF1bHQgbWF4
aW11bS4KKy8vIEJ1dCB0aGV5IGFyZW4ndCBleHBvc2VkIGJ5IC5taW4gLm1heCBJREwgYXR0cmli
dXRlcy4KK2RlYnVnKCdDaGVjayBpbXBsaWNpdCBtaW4vbWF4IG9mIHR5cGU9cmFuZ2U6Jyk7Citp
bnB1dC50eXBlID0gJ3JhbmdlJzsKK2lucHV0LnNldEF0dHJpYnV0ZSgnbWluJywgJycpOworaW5w
dXQuc2V0QXR0cmlidXRlKCdtYXgnLCAnJyk7CitzaG91bGRCZSgnaW5wdXQubWluJywgJyIiJyk7
CitzaG91bGRCZSgnaW5wdXQubWF4JywgJyIiJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1wYXR0
ZXJuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXBhdHRlcm4uaHRtbAppbmRl
eCA2MDg3NDFiN2FiZjU1MDg3YmY5OWM0MzJkMjI0MDc0NzcyYjRlODdkLi45NDE3YWE5MzIwZjVi
ZDg3NzBhODAxMTI4MzkyMzA5NTUxNzY1OTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2lucHV0LXBhdHRlcm4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXBhdHRlcm4uaHRtbApAQCAtNiw3ICs2LDQyIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL2lucHV0LXBhdHRlcm4uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCdUZXN0IHRoZSBiZWhhdmlvciBvZiBwYXR0ZXJuIGF0dHJpYnV0ZSBhbmQgcGF0dGVybiBET00g
cHJvcGVydHkuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7CitpbnB1dC50eXBlID0gJ3RleHQnOworCisvLyBObyBwYXR0ZXJuIGF0dHJpYnV0ZS4KK3No
b3VsZEJlKCdpbnB1dC5wYXR0ZXJuJywgJyIiJyk7CisKKy8vIFNldCBhIHN0cmluZyB2YWx1ZS4K
K2lucHV0LnBhdHRlcm4gPSAnZm9vJzsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoInBh
dHRlcm4iKScsICciZm9vIicpOworaW5wdXQuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgJ2Jhcicp
Oworc2hvdWxkQmUoJ2lucHV0LnBhdHRlcm4nLCAnImJhciInKTsKKworLy8gTnVsbC4KK2lucHV0
LnBhdHRlcm4gPSBudWxsOworc2hvdWxkQmUoJ2lucHV0LnBhdHRlcm4nLCAnIiInKTsKK3Nob3Vs
ZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoInBhdHRlcm4iKScsICdudWxsJyk7CitpbnB1dC5zZXRB
dHRyaWJ1dGUoJ3BhdHRlcm4nLCBudWxsKTsKK3Nob3VsZEJlKCdpbnB1dC5wYXR0ZXJuJywgJyJu
dWxsIicpOworCisvLyBVbmRlZmluZWQuCitpbnB1dC5wYXR0ZXJuID0gdW5kZWZpbmVkOworc2hv
dWxkQmUoJ2lucHV0LnBhdHRlcm4nLCAnInVuZGVmaW5lZCInKTsKK3Nob3VsZEJlKCdpbnB1dC5n
ZXRBdHRyaWJ1dGUoInBhdHRlcm4iKScsICcidW5kZWZpbmVkIicpOworaW5wdXQuc2V0QXR0cmli
dXRlKCdwYXR0ZXJuJywgdW5kZWZpbmVkKTsKK3Nob3VsZEJlKCdpbnB1dC5wYXR0ZXJuJywgJyJ1
bmRlZmluZWQiJyk7CisKKy8vIE5vbi1zdHJpbmcuCitpbnB1dC5wYXR0ZXJuID0gMjU2Oworc2hv
dWxkQmUoJ2lucHV0LnBhdHRlcm4nLCAnIjI1NiInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRy
aWJ1dGUoInBhdHRlcm4iKScsICciMjU2IicpOworaW5wdXQuc2V0QXR0cmlidXRlKCdwYXR0ZXJu
JywgMjU2KTsKK3Nob3VsZEJlKCdpbnB1dC5wYXR0ZXJuJywgJyIyNTYiJyk7Cis8L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC1zdGVwLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXAu
aHRtbAppbmRleCBiZWY4YTM4NjQxN2Y5MjAxYTI1NzVhNTc2NTc4NjRhZDM2MTM1NzAwLi44OTI0
MDg5NmVlN2ExYTA4MWEyNmRkY2IxNGI2ZGI3NDUxOTBhZDQyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lucHV0LXN0ZXAuaHRtbApAQCAtNiw3ICs2LDQyIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL2lucHV0LXN0ZXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCdUZXN0IHRoZSBiZWhhdmlvciBvZiBzdGVwIGF0dHJpYnV0ZSBhbmQgc3RlcCBET00gcHJvcGVy
dHkuJyk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citp
bnB1dC50eXBlID0gJ251bWJlcic7CisKKy8vIE5vIHN0ZXAgYXR0cmlidXRlLgorc2hvdWxkQmUo
J2lucHV0LnN0ZXAnLCAnIiInKTsKKworLy8gU2V0IGFuIGludmFsaWQgc3RlcCB2YWx1ZS4KK2lu
cHV0LnN0ZXAgPSAnZm9vJzsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoInN0ZXAiKScs
ICciZm9vIicpOworaW5wdXQuc2V0QXR0cmlidXRlKCdzdGVwJywgJ2JhcicpOworc2hvdWxkQmUo
J2lucHV0LnN0ZXAnLCAnImJhciInKTsKKworLy8gTnVsbC4KK2lucHV0LnN0ZXAgPSBudWxsOwor
c2hvdWxkQmUoJ2lucHV0LnN0ZXAnLCAnIiInKTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1
dGUoInN0ZXAiKScsICdudWxsJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ3N0ZXAnLCBudWxsKTsK
K3Nob3VsZEJlKCdpbnB1dC5zdGVwJywgJyJudWxsIicpOworCisvLyBVbmRlZmluZWQuCitpbnB1
dC5zdGVwID0gdW5kZWZpbmVkOworc2hvdWxkQmUoJ2lucHV0LnN0ZXAnLCAnInVuZGVmaW5lZCIn
KTsKK3Nob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoInN0ZXAiKScsICcidW5kZWZpbmVkIicp
OworaW5wdXQuc2V0QXR0cmlidXRlKCdzdGVwJywgdW5kZWZpbmVkKTsKK3Nob3VsZEJlKCdpbnB1
dC5zdGVwJywgJyJ1bmRlZmluZWQiJyk7CisKKy8vIE5vbi1zdHJpbmcuCitpbnB1dC5zdGVwID0g
MjU2Oworc2hvdWxkQmUoJ2lucHV0LnN0ZXAnLCAnIjI1NiInKTsKK3Nob3VsZEJlKCdpbnB1dC5n
ZXRBdHRyaWJ1dGUoInN0ZXAiKScsICciMjU2IicpOworaW5wdXQuc2V0QXR0cmlidXRlKCdzdGVw
JywgMjU2KTsKK3Nob3VsZEJlKCdpbnB1dC5zdGVwJywgJyIyNTYiJyk7Cis8L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtc3RlcHVwLXN0ZXBkb3duLmh0bWwKaW5kZXggZTUwYjEwNmI4ZDMwM2Y1YmUwOGJjNzEwNDJj
MWJkMWU1MmFmZGI0YS4uZWM3NTBmM2QxYjljMGExZmFhZDczMzQ2YzVmYzM2Yzk2YzExNWJmNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0ZXB1cC1zdGVwZG93bi5o
dG1sCkBAIC02LDcgKzYsMTkgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5wdXQt
c3RlcHVwLXN0ZXBkb3duLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hl
Y2sgc3RlcFVwKCkgYW5kIHN0ZXBEb3duKCkgYmFoZXZpb3IgZm9yIHVuc3VwcG9ydGVkIHR5cGVz
LicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwordmFy
IGludmFsaWRTdGF0ZUVyciA9ICciRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0
aW9uIDExIic7CisKK2RlYnVnKCdVbnN1cHBvcnRlZCB0eXBlJyk7CitpbnB1dC50eXBlID0gJ3Rl
eHQnOworc2hvdWxkVGhyb3coJ2lucHV0LnN0ZXAgPSAiMyI7IGlucHV0Lm1pbiA9ICIiOyBpbnB1
dC5tYXggPSAiIjsgaW5wdXQudmFsdWUgPSAiMiI7IGlucHV0LnN0ZXBEb3duKCknLCAnIkVycm9y
OiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMSInKTsKK3Nob3VsZFRocm93KCdp
bnB1dC5zdGVwRG93bigwKScsICciRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0
aW9uIDExIicpOworc2hvdWxkVGhyb3coJ2lucHV0LnN0ZXBVcCgpJywgJyJFcnJvcjogSU5WQUxJ
RF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEiJyk7CitzaG91bGRUaHJvdygnaW5wdXQuc3Rl
cFVwKDApJywgJyJFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEiJyk7
Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNoYW5nZTMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UzLmh0bWwKaW5kZXggNTUxODY2MDA0YzIwMmQyY2Ux
OGNiN2FjMGQ0NTc0OGIwZWIyYTY4OC4uNTkyMmViNGQzNDQwYWQ2MzAyNTU5M2JlOGIwZjk0MzFh
MDA4Njk2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC10eXBlLWNo
YW5nZTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdl
My5odG1sCkBAIC02LDcgKzYsNTUgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5w
dXQtdHlwZS1jaGFuZ2UzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dHMgZm9yIHdyaXRpbmcgYW5kIHJlYWRpbmcgLnR5cGUgcHJvcGVydHkgb2YgSFRNTElucHV0RWxl
bWVudC4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOworCisvLyBUaGUgZGVmYXVsdCB0eXBl
IGlzICJ0ZXh0Ii4KK3Nob3VsZEJlKCdpbnB1dC50eXBlJywgJyJ0ZXh0IicpOworCitmdW5jdGlv
biBjaGVjayh2YWx1ZSwgZXhwZWN0ZWQpCit7CisgICAgaW5wdXQudHlwZSA9IHZhbHVlOworICAg
IGlmIChpbnB1dC50eXBlID09IGV4cGVjdGVkKQorICAgICAgICB0ZXN0UGFzc2VkKCdpbnB1dC50
eXBlIGZvciAiJyArIHZhbHVlICsgJyIgaXMgY29ycmVjdGx5ICInICsgaW5wdXQudHlwZSArICci
LicpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZCgnaW5wdXQudHlwZSBmb3IgIicgKyB2
YWx1ZSArICciIGlzIGluY29ycmVjdGx5ICInICsgaW5wdXQudHlwZSArICciLCBzaG91bGQgYmUg
IicgKyBleHBlY3RlZCArICciLicpOworfQorCisvLyBUaGUgdHlwZSBpcyBub3Qgc3BlY2lmaWVk
IGV4cGxpY2l0bHkuICBXZSBjYW4gY2hhbmdlIGl0IHRvICJmaWxlIi4KK2NoZWNrKCJmaWxlIiwg
ImZpbGUiKTsKKy8vIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczNDMKK2NoZWNrKCJmaWxlIiwgImZp
bGUiKTsKK2NoZWNrKCJGSUxFIiwgImZpbGUiKTsKKworY2hlY2soInRleHQiLCAidGV4dCIpOwor
Y2hlY2soIlRFWFQiLCAidGV4dCIpOyAgLy8gaW5wdXQudHlwZSBtdXN0IHJldHVybiBhIGxvd2Vy
IGNhc2UgdmFsdWUgYWNjb3JkaW5nIHRvIERPTSBMZXZlbCAyLgorY2hlY2soIiB0ZXh0ICIsICJ0
ZXh0Iik7CitjaGVjaygiYnV0dG9uIiwgImJ1dHRvbiIpOworY2hlY2soIiBidXR0b24gIiwgInRl
eHQiKTsKK2NoZWNrKCJjaGVja2JveCIsICJjaGVja2JveCIpOworY2hlY2soImVtYWlsIiwgImVt
YWlsIik7CitjaGVjaygiZmlsZSIsICJlbWFpbCIpOyAvLyBXZSBjYW4ndCBjaGFuZ2UgYSBjb25j
cmV0ZSB0eXBlIHRvIGZpbGUgZm9yIGEgc2VjdXJpdHkgcmVhc29uLgorY2hlY2soImhpZGRlbiIs
ICJoaWRkZW4iKTsKK2NoZWNrKCJpbWFnZSIsICJpbWFnZSIpOworY2hlY2soImlzaW5kZXgiLCAi
dGV4dCIpOworY2hlY2soIm51bWJlciIsICJudW1iZXIiKTsKK2NoZWNrKCJwYXNzd29yZCIsICJw
YXNzd29yZCIpOworY2hlY2soInBhc3N3ZCIsICJ0ZXh0Iik7CitjaGVjaygicmFkaW8iLCAicmFk
aW8iKTsKK2NoZWNrKCJyYW5nZSIsICJyYW5nZSIpOworY2hlY2soInJlc2V0IiwgInJlc2V0Iik7
CitjaGVjaygic2VhcmNoIiwgInNlYXJjaCIpOworY2hlY2soInN1Ym1pdCIsICJzdWJtaXQiKTsK
K2NoZWNrKCJ0ZWwiLCAidGVsIik7CitjaGVjaygidGVsZXBob25lIiwgInRleHQiKTsKK2NoZWNr
KCJ1cmwiLCAidXJsIik7CitjaGVjaygidXJpIiwgInRleHQiKTsKKworPC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
aW5wdXQtdmFsdWVhc251bWJlci11bnN1cHBvcnRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC12YWx1ZWFzbnVtYmVyLXVuc3VwcG9ydGVkLmh0bWwKaW5kZXggNWZlZmYxMjc2
OGZiYzUwOGU4ZjQ3ZmI1YjEyMWRhYjUzMDM5OGUwYi4uM2IzY2QxOTZkODM1ZjgwMjhhNjJhY2Mz
MTM5MDhmNWM0MWZlOTFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1
dC12YWx1ZWFzbnVtYmVyLXVuc3VwcG9ydGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC12YWx1ZWFzbnVtYmVyLXVuc3VwcG9ydGVkLmh0bWwKQEAgLTYsNyArNiwzOCBA
QAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9pbnB1dC12YWx1ZWFzbnVtYmVyLXVuc3Vw
cG9ydGVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgZm9yIC52
YWx1ZUFzTnVtYmVyIHdpdGggbm9uLXN1cHBvcnRlZCBpbnB1dCB0eXBlcy4nKTsKKwordmFyIGlu
cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAncmFu
Z2UnOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7CisKK2Z1bmN0aW9uIGNoZWNr
VmFsdWVBc051bWJlcih0eXBlKSB7CisgICAgZGVidWcoJ0NoZWNrIGZvciB0eXBlPScgKyB0eXBl
KTsKKyAgICBpbnB1dC52YWx1ZSA9ICcwJzsKKyAgICBpbnB1dC50eXBlID0gdHlwZTsKKyAgICBz
aG91bGRCZSgnaW5wdXQudmFsdWVBc051bWJlcicsICdOdW1iZXIuTmFOJyk7CisgICAgc2hvdWxk
VGhyb3coJ2lucHV0LnZhbHVlQXNOdW1iZXIgPSAwJywgJyJFcnJvcjogSU5WQUxJRF9TVEFURV9F
UlI6IERPTSBFeGNlcHRpb24gMTEiJyk7Cit9CisKK2NoZWNrVmFsdWVBc051bWJlcignYnV0dG9u
Jyk7CitjaGVja1ZhbHVlQXNOdW1iZXIoJ2NoZWNrYm94Jyk7CitjaGVja1ZhbHVlQXNOdW1iZXIo
J2NvbG9yJyk7CitjaGVja1ZhbHVlQXNOdW1iZXIoJ2VtYWlsJyk7CitjaGVja1ZhbHVlQXNOdW1i
ZXIoJ2ZpbGUnKTsKK2NoZWNrVmFsdWVBc051bWJlcignaGlkZGVuJyk7CitjaGVja1ZhbHVlQXNO
dW1iZXIoJ2ltYWdlJyk7CitjaGVja1ZhbHVlQXNOdW1iZXIoJ2todG1sX2lzaW5kZXgnKTsKK2No
ZWNrVmFsdWVBc051bWJlcigncGFzc3dvcmQnKTsKK2NoZWNrVmFsdWVBc051bWJlcigncmFkaW8n
KTsKK2NoZWNrVmFsdWVBc051bWJlcigncmVzZXQnKTsKK2NoZWNrVmFsdWVBc051bWJlcignc2Vh
cmNoJyk7CitjaGVja1ZhbHVlQXNOdW1iZXIoJ3N1Ym1pdCcpOworY2hlY2tWYWx1ZUFzTnVtYmVy
KCd0ZWwnKTsKK2NoZWNrVmFsdWVBc051bWJlcigndGV4dCcpOworY2hlY2tWYWx1ZUFzTnVtYmVy
KCd1cmwnKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRtbAppbmRl
eCA5NTVkMGY4YmUyNWJlMjM1YzBlYjYxZWVhZDZkNGJkNjQzMDFiYzUxLi4zZTFkMzgwYzcyYTQ3
ZjcyZjU4NGM2NGQ2NjY3NmM0Mzc2OWE4OGExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWwKQEAgLTYsNyArNiw0MyBAQAog
PGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBs
aXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcg
YSBsYWJlbCB3aG9zZSBodG1sRm9yIHBvaW50cyB0byB0aGF0IGNvbnRyb2wuICcpOworCit2YXIg
cGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhU
TUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQx
Ij48YnV0dG9uPjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0
YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocGFyZW50KTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIp
LmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQxIjsKK2RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQyIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworbGFiZWwuaHRtbEZvciA9ICJpZDIi
OworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7Citz
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7
CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7CitsYWJlbC5odG1sRm9y
ID0gImlkMyI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxh
YmVsKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWxzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2xhYmVs
Lmh0bWxGb3IgPSAiaWQ0IjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5k
Q2hpbGQobGFiZWwpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworPC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbAppbmRleCA2YzljOGE0NTIwYjE3M2Q4MTg5
YzQ5YTBiZTMxMmYyZWYzYTgxYWFiLi45MjYyNGVjZjMxNmEyZGZmOWY4NjVmNmMzNGI2YzNmMjcx
MzQzYWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFy
ZW50LWxhYmVsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBh
cmVudC1sYWJlbC5odG1sCkBAIC02LDcgKzYsNDQgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlz
IGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRo
YXQgZm9ybSBjb250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2Pjxk
aXYgaWQ9ImRpdjIiPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxz
ZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9k
aXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOwor
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJl
bC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQyIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaWQyIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScp
OworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hv
dWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGls
ZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQz
IikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgn
LCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBl
bmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikpOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMScpOworCis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3It
YXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRt
bEZvci1hdHRyaWJ1dGUuaHRtbAppbmRleCBiMWE5ODk2ZjM5ZGVhNTdmNTBmMjFlMzBkMTEwODY5
MDQzYTgzNGYxLi4xNjNjZWEwZmQ4NjdlMjNiYWY5NzRjM2VlN2YxNzAwYWNlNDRkNTMzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRy
aWJ1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRt
bEZvci1hdHRyaWJ1dGUuaHRtbApAQCAtNiw3ICs2LDQwIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9y
bSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1
dGUgb2YgYSBsYWJlbCBjaGFuZ2VzIHRvIHBvaW50IHRvIHRoYXQgY29udHJvbC4gJyk7CisKK3Zh
ciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVy
SFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48bGFiZWwgaWQ9Imxh
YmVsSWQiPjwvbGFiZWw+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+
PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48
L2Rpdj4nOworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVsID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcw
Jyk7CitsYWJlbC5odG1sRm9yID0gImlkMSI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcx
Jyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5odG1sRm9yID0gImlkMiI7CitzaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxh
YmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7
CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5odG1sRm9yID0gImlkMyI7
CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5o
dG1sRm9yID0gImlkNCI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKKzwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2xhYmVscy1pdGVtLWluZGV4Lmh0bWwKaW5kZXggMjI5OTg1ZDdjZjY5ZThmNjc4MGYzMTg4ZjEw
OGZjZjM2NDI4NjE2Mi4uNmQ2OTIwNDM4ZDNiMjg2ZjBjNmZiNDI4ODhlN2FlMjMxZjFmODNhOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1pbmRleC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXguaHRtbApAQCAt
Niw3ICs2LDI3IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWlu
ZGV4LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBp
dGVtcyBvZiBhIGxhYmVscyBsaXN0IGNhbiBiZSBhY2Nlc3NlZCBpbmRpdmlkdWFsbHkuICcpOwor
Cit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5p
bm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBp
ZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVj
dD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj48bGFiZWwgaWQ9ImwxIiBmb3I9
ImlkMSI+PC9sYWJlbD48bGFiZWwgaWQ9ImwyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9
ImwzIiBmb3I9ImlkMyI+PC9sYWJlbD48bGFiZWwgaWQ9Imw0IiBmb3I9ImlkNCI+PC9sYWJlbD48
bGFiZWwgaWQ9ImwxMSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTIiIGZvcj0iaWQy
Ij48L2xhYmVsPjxsYWJlbCBpZD0ibDEzIiBmb3I9ImlkMyI+PC9sYWJlbD48bGFiZWwgaWQ9Imwx
NCIgZm9yPSJpZDQiPjwvbGFiZWw+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJl
bnQpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOwor
c2hvdWxkQmUoJ2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTEiJyk7CisKK2xhYmVscyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0ZW0o
MSkuaWQnLCAnImwxMiInKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MyIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDEzIicpOworCits
YWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUo
J2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTQiJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVt
b3ZlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAppbmRleCBjMGFiMGNjOTQwMTcxMzJlYmZl
NzJiNTBkOTBmY2VlNTkyYTYwNDE5Li4zMDBhOGU1OTEyNGQ2NDVjOTE1YThlYTJjMDYzN2E2MWQ3
ZDhkNmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUt
aHRtbEZvci1hdHRyaWJ1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbApAQCAtNiw3ICs2LDQwIEBACiA8Ym9keT4K
IDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBs
aXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiB0aGUgaHRt
bEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBpcyByZW1vdmVkLicpOworCit2YXIgcGFyZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRp
diBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGxhYmVsIGlkPSJsYWJlbDEiIGZvcj0i
aWQxIj48L2xhYmVsPjxsYWJlbCBpZD0ibGFiZWwyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwg
aWQ9ImxhYmVsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlkPSJsYWJlbDQiIGZvcj0iaWQ0
Ij48L2xhYmVsPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxl
Y3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+
JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDEiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Cits
YWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MCcpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDIiKTsKK2xhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJsYWJlbDMiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5s
YWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRy
aWJ1dGUoImZvciIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDQiKTsKK2xhYmVscyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcx
Jyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMCcpOworCis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVs
Lmh0bWwKaW5kZXggMzBmNzA2NDRiZmM0ZWViOGU5OTNkZDQ4YjU3MmQ2ZWIwZmE1OTg3Yi4uNjJk
YzJkY2IzNzk2ZTJiZTI2ZTc2Y2RlY2Q0ZTE4ZTg2YzZjYzE1MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCkBA
IC02LDcgKzYsMzUgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92
ZS1odG1sRm9yLWxhYmVsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1
cGRhdGVkIHdoZW4gcmVtb3ZpbmcgdGhlIGh0bWxGb3IgYXR0cmlidXRlIHRoYXQgcG9pbnRlZCB0
byB0aGF0IGZvcm0gY29udHJvbC4nKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2
PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIi
PjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+
PC9kaXY+PGxhYmVsIGlkPSJsMSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMiIgZm9y
PSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlk
PSJsNCIgZm9yPSJpZDQiPjwvbGFiZWw+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChw
YXJlbnQpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxz
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImwxIikuaHRtbEZvciA9ICIiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOwor
CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImwyIiku
aHRtbEZvciA9ICIiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImwzIikuaHRtbEZvciA9
ICIiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgn
LCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImw0IikuaHRtbEZvciA9ICIiOworc2hv
dWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92
ZS1wYXJlbnQtbGFiZWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92
ZS1wYXJlbnQtbGFiZWwuaHRtbAppbmRleCA4OGRkMGExZGRlMTkzZDhmZDRhMmViNDc2NTMzZDdi
MGI0M2JjYzc3Li42MWFiZTVmMGI2NzVmMWZlMjU0ODQyZTU0ZjczYTRmNDdjNTdkY2M5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVs
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1s
YWJlbC5odG1sCkBAIC02LDcgKzYsMzYgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
bGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5
bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiByZW1vdmluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhh
dCBmb3JtIGNvbnRyb2wuICcpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRp
diBpZD0iZGl2MiI+PGxhYmVsPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PC9sYWJlbD48bGFi
ZWw+PGlucHV0IGlkPSJpZDIiPjwvbGFiZWw+PGxhYmVsPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxl
Y3Q+PC9sYWJlbD48bGFiZWw+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9sYWJlbD48
L2Rpdj4nOworCisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpKTsKK3Nob3VsZEJlKCdsYWJlbHMu
bGVuZ3RoJywgJzAnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIp
LmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MiIpKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWxzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywg
JzAnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsK
K3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpKTsKK3No
b3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+
CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQt
aHRtbEZvci1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNl
dC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCmluZGV4IDJjYjRhMzY0MDhhZTM1NGJkOTJhYTA3NmM2
NGJiZTBiNzAxZjMyYzIuLmUyMjlkNTkxMGJkNjdiODVjYTkzNDcwNzc0N2VjODU2MTQzOWE3ZjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0
dHJpYnV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1s
Rm9yLWF0dHJpYnV0ZS5odG1sCkBAIC02LDcgKzYsNDAgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNv
bnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBv
ZiBhIGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBjb250cm9sLiAnKTsKKwordmFyIHBh
cmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1M
ID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxsYWJlbCBpZD0ibGFiZWxJ
ZCI+PC9sYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0iaWQyIj48c2Vs
ZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvZGl2
Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWwgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsK
K2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkMSIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7
CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuc2V0QXR0cmlidXRlKCJmb3IiLCAiaWQy
Iik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJl
bC5zZXRBdHRyaWJ1dGUoImZvciIsICJpZDMiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywg
JzEnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFi
ZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkNCIpOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCis8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94
LWRlc2VsZWN0LXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LWRl
c2VsZWN0LXNjcm9sbC5odG1sCmluZGV4IGM2NGVkOTFjMGMyZDAwODhkMzViNDY5YWE5NjdhZTEz
OGQ2OTNiNmUuLjE1NDhkN2E2NTM0YTUyYzZlZDZkNzU2YjYxNTVhYzljZWVhZDM0N2UgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC1kZXNlbGVjdC1zY3JvbGwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtZGVzZWxlY3Qtc2Nyb2xsLmh0
bWwKQEAgLTYsNyArNiw1MyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9saXN0Ym94
LWRlc2VsZWN0LXNjcm9sbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Ro
aXMgdGVzdHMgdGhhdCBkZXNlbGVjdGluZyBhbiBvcHRpb24gd29uJmFwb3M7dCBjYXVzZSB1bm5l
Y2Vzc2FyeSBzY3JvbGxpbmcuJyk7CisKK2Z1bmN0aW9uIG1vdXNlRG93bk9uU2VsZWN0KHNlbElk
LCBpbmRleCwgbW9kaWZpZXIpIHsKKyAgICB2YXIgc2wgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChzZWxJZCk7CisgICAgdmFyIGl0ZW1IZWlnaHQgPSBNYXRoLmZsb29yKHNsLm9mZnNldEhlaWdo
dCAvIHNsLnNpemUpOworICAgIHZhciBib3JkZXIgPSAxOworICAgIHZhciB5ID0gYm9yZGVyICsg
aW5kZXggKiBpdGVtSGVpZ2h0IC0gd2luZG93LnBhZ2VZT2Zmc2V0OworICAgIGlmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc2wub2Zmc2V0
TGVmdCArIGJvcmRlciwgc2wub2Zmc2V0VG9wICsgeSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigwLCBbbW9kaWZpZXJdKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgwLCBb
bW9kaWZpZXJdKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvblBhdHRlcm4oc2VsZWN0
KSB7CisgICAgdmFyIHJlc3VsdCA9ICcnOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0
Lm9wdGlvbnMubGVuZ3RoOyBpKyspCisgICAgICAgIHJlc3VsdCArPSBzZWxlY3Qub3B0aW9uc1tp
XS5zZWxlY3RlZCA/ICcxJyA6ICcwJzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2YXIgcGFy
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0g
JzxzZWxlY3QgaWQ9InNsIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjUiPicKKyAgICArICc8
b3B0aW9uIHZhbHVlPSJBY2Nlc3NpYmlsaXR5Ij5BY2Nlc3NpYmlsaXR5PC9vcHRpb24+JworICAg
ICsgJzxvcHRpb24gdmFsdWU9IkNTUyI+Q1NTPC9vcHRpb24+JworICAgICsgJzxvcHRpb24gdmFs
dWU9IkRyb3NlcmEiPkRyb3NlcmE8L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbiB2YWx1ZT0iRXZh
bmdlbGlzbSI+RXZhbmdlbGlzbTwvb3B0aW9uPicKKyAgICArICc8b3B0aW9uIHZhbHVlPSJGb3Jt
cyI+Rm9ybXM8L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbiB2YWx1ZT0iRnJhbWVzIj5GcmFtZXM8
L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbiB2YWx1ZT0iSGlzdG9yeSI+SGlzdG9yeTwvb3B0aW9u
PicKKyAgICArICc8b3B0aW9uIHZhbHVlPSJIVE1MIERPTSI+SFRNTCBET008L29wdGlvbj4nCisg
ICAgKyAnPG9wdGlvbiB2YWx1ZT0iSFRNTCBFZGl0aW5nIj5IVE1MIEVkaXRpbmc8L29wdGlvbj4n
CisgICAgKyAnPG9wdGlvbiB2YWx1ZT0iSW1hZ2VzIj5JbWFnZXM8L29wdGlvbj4nCisgICAgKyAn
PG9wdGlvbj5TQ1JPTEwgVVA8L29wdGlvbj4nCisgICAgKyAnPC9zZWxlY3Q+JzsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKwordmFyIHNsID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NsJyk7CitzbC5mb2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIpOworc2wuc2Nyb2xsVG9wID0gTWF0aC5mbG9vcihzbC5vZmZzZXRIZWlnaHQgLyBzbC5zaXpl
KSAqIDQgKyA2OwordmFyIHNjcm9sbEJlZm9yZUNsaWNrID0gc2wuc2Nyb2xsVG9wOworbW91c2VE
b3duT25TZWxlY3QoInNsIiwgMywgImFkZFNlbGVjdGlvbktleSIpOworc2hvdWxkQmUoJ3NsLnNj
cm9sbFRvcCcsICdzY3JvbGxCZWZvcmVDbGljaycpOworc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRl
cm4oc2wpJywgJyIxMTExMTExMDExMSInKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xpc3Rib3gtc2VsZWN0
aW9uLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24tMi5o
dG1sCmluZGV4IDM0MjFlYzNkMGJjYWM1ZTk5N2YyNWFhMjU5Y2M0ZDFmN2YzZTRkYTkuLjFlYTdh
YmIwYzYzYmY3MzM5NzAxMGY4OTJiMzc5ZmM4NTI2ODMzMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24tMi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24tMi5odG1sCkBAIC02LDcgKzYsOTUgQEAKIDxi
b2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
LTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24tMi5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJyZsdDtzZWxlY3Q+IHNlbGVjdGlvbiB0ZXN0IGZv
ciBzY3JvbGxpbmcuJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPHNlbGVjdCBpZD0ic2wxIiBtdWx0aXBsZSBzaXpl
PTU+JworICAgICsgJzxvcHRpb24+b25lPC9vcHRpb24+JworICAgICsgJzxvcHRpb24+dHdvPC9v
cHRpb24+JworICAgICsgJzxvcHRpb24+dGhyZWU8L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbj5m
b3VyPC9vcHRpb24+JworICAgICsgJzxvcHRpb24+Zml2ZTwvb3B0aW9uPicKKyAgICArICc8b3B0
aW9uPnNpeDwvb3B0aW9uPicKKyAgICArICc8b3B0aW9uPnNldmVuPC9vcHRpb24+JworICAgICsg
JzxvcHRpb24+ZWlnaHQ8L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbj5uaW5lPC9vcHRpb24+Jwor
ICAgICsgJzxvcHRpb24+dGVuPC9vcHRpb24+JworICAgICsgJzxvcHRpb24+ZWxldmVuPC9vcHRp
b24+JworICAgICsgJzxvcHRpb24+dHdlbHZlPC9vcHRpb24+JworICAgICsgJzxvcHRpb24+dGhp
cnRlZW48L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbj5mb3VydGVlbjwvb3B0aW9uPicKKyAgICAr
ICc8b3B0aW9uPmZpZnRlZW48L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbj5zaXh0ZWVuPC9vcHRp
b24+JworICAgICsgJzxvcHRpb24+c2V2ZW50ZWVuPC9vcHRpb24+JworICAgICsgJzwvc2VsZWN0
PicKKyAgICArICc8c2VsZWN0IGlkPSJzbDIiIG11bHRpcGxlIHN0eWxlPSJoZWlnaHQ6IDEzNXB4
OyBib3JkZXI6IDEwcHggc29saWQ7IHBhZGRpbmc6IDVweDsiPicKKyAgICArICc8b3B0aW9uPm9u
ZTwvb3B0aW9uPicKKyAgICArICc8b3B0aW9uPnR3bzwvb3B0aW9uPicKKyAgICArICc8b3B0aW9u
PnRocmVlPC9vcHRpb24+JworICAgICsgJzwvc2VsZWN0Pic7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHBhcmVudCk7CisKKy8vIERldGVybWluZSB0aGUgaXRlbSBoZWlnaHQuCit2YXIgc2wx
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsMScpOwordmFyIHNsMiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdzbDInKTsKK3ZhciBpdGVtSGVpZ2h0ID0gTWF0aC5mbG9vcihzbDEub2Zm
c2V0SGVpZ2h0IC8gc2wxLnNpemUpOworc2wxLnJlbW92ZUF0dHJpYnV0ZSgnc2l6ZScpOwordmFy
IGhlaWdodCA9IGl0ZW1IZWlnaHQgKiA5ICsgOTsKK3NsMS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywg
J2hlaWdodDogJyArIGhlaWdodCArICdweDsgYm9yZGVyOiAxMHB4IHNvbGlkOyBwYWRkaW5nOiA1
cHg7Jyk7CisKK2Z1bmN0aW9uIG1vdXNlRG93bk9uU2VsZWN0KHNlbElkLCBpbmRleCkKK3sKKyAg
ICB2YXIgc2wgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWxJZCk7CisgICAgdmFyIGJvcmRl
clBhZGRpbmdUb3AgPSAxNTsKKyAgICB2YXIgYm9yZGVyUGFkZGluZ0xlZnQgPSAxNTsKKyAgICB2
YXIgeSA9IGluZGV4ICogaXRlbUhlaWdodCArIGl0ZW1IZWlnaHQgLyAzIC0gd2luZG93LnBhZ2VZ
T2Zmc2V0ICsgYm9yZGVyUGFkZGluZ1RvcDsKKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVh
dGVFdmVudCgiTW91c2VFdmVudCIpOworICAgIGV2ZW50LmluaXRNb3VzZUV2ZW50KCJtb3VzZWRv
d24iLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMSwgc2wub2Zmc2V0TGVmdCAr
ICBib3JkZXJQYWRkaW5nTGVmdCwgc2wub2Zmc2V0VG9wICsgeSwgc2wub2Zmc2V0TGVmdCArIGJv
cmRlclBhZGRpbmdMZWZ0LCBzbC5vZmZzZXRUb3AgKyB5LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm
YWxzZSwgMCwgZG9jdW1lbnQpOworICAgIHNsLmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCitm
dW5jdGlvbiBzZWxlY3Rpb25QYXR0ZXJuKHNlbGVjdElkKQoreworICAgIHZhciBzZWxlY3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWxlY3RJZCk7CisgICAgdmFyIHJlc3VsdCA9ICIiOwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0Lm9wdGlvbnMubGVuZ3RoOyBpKyspCisgICAg
ICAgIHJlc3VsdCArPSBzZWxlY3Qub3B0aW9uc1tpXS5zZWxlY3RlZCA/ICcxJyA6ICcwJzsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorCittb3VzZURvd25PblNlbGVjdCgic2wxIiwgMCk7CitzaG91
bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxIiknLCAnIjEwMDAwMDAwMDAwMDAwMDAwIicpOwor
Cittb3VzZURvd25PblNlbGVjdCgic2wxIiwgMSk7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVy
bigic2wxIiknLCAnIjAxMDAwMDAwMDAwMDAwMDAwIicpOworCittb3VzZURvd25PblNlbGVjdCgi
c2wxIiwgNik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxIiknLCAnIjAwMDAwMDEw
MDAwMDAwMDAwIicpOworCittb3VzZURvd25PblNlbGVjdCgic2wxIiwgNyk7CitzaG91bGRCZSgn
c2VsZWN0aW9uUGF0dGVybigic2wxIiknLCAnIjAwMDAwMDAxMDAwMDAwMDAwIicpOworCittb3Vz
ZURvd25PblNlbGVjdCgic2wxIiwgOCk7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wx
IiknLCAnIjAwMDAwMDAxMDAwMDAwMDAwIicpOworCittb3VzZURvd25PblNlbGVjdCgic2wxIiwg
MCk7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxIiknLCAnIjAxMDAwMDAwMDAwMDAw
MDAwIicpOworCitmb3IgKGkgPSAwOyBpIDwgOTsgaSsrKQorICAgIG1vdXNlRG93bk9uU2VsZWN0
KCJzbDEiLCA3KTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDEiKScsICciMDAwMDAw
MDAwMDAwMDAwMDEiJyk7CisKK21vdXNlRG93bk9uU2VsZWN0KCJzbDIiLCAxKTsKK3Nob3VsZEJl
KCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDIiKScsICciMDEwIicpOworCittb3VzZURvd25PblNlbGVj
dCgic2wyIiwgMyk7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wyIiknLCAnIjAxMCIn
KTsKKworbW91c2VEb3duT25TZWxlY3QoInNsMiIsIDIpOworc2hvdWxkQmUoJ3NlbGVjdGlvblBh
dHRlcm4oInNsMiIpJywgJyIwMDEiJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi5odG1sCmlu
ZGV4IDk0YzAyNmMzOTFkZTFmMTI5YjA4YWYwYzAxOGE2ZDJjZmMxNjM1ODguLjI4NTk0ZWJmZDM4
M2FjOTA2MTVhZjhhMmNkY2NmNjMwNDBmZTY1YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xpc3Rib3gtc2VsZWN0aW9uLmh0bWwKQEAgLTYsNyArNiwxMzMgQEAKIDxib2R5PgogPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24uanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCcmbHQ7c2VsZWN0Jmd0OyBzZWxlY3Rpb24gdGVzdCBmb3IgbW91c2Ug
ZXZlbnRzIGFuZCBrZXlldmVudHMuJyk7CisKK2Z1bmN0aW9uIG1vdXNlRG93bk9uU2VsZWN0KHNl
bElkLCBpbmRleCwgbW9kaWZpZXIpIHsKKyAgICB2YXIgc2wgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChzZWxJZCk7CisgICAgdmFyIGl0ZW1IZWlnaHQgPSBNYXRoLmZsb29yKHNsLm9mZnNldEhl
aWdodCAvIHNsLnNpemUpOworICAgIHZhciBib3JkZXIgPSAxOworICAgIHZhciB5ID0gYm9yZGVy
ICsgaW5kZXggKiBpdGVtSGVpZ2h0OworCisgICAgc2wuZm9jdXMoKTsKKyAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHNsLm9mZnNl
dExlZnQgKyBib3JkZXIsIHNsLm9mZnNldFRvcCArIHkgLSB3aW5kb3cucGFnZVlPZmZzZXQpOwor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oMCwgW21vZGlmaWVyXSk7CisgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoMCwgW21vZGlmaWVyXSk7CisgICAgfQorfQorCitmdW5jdGlvbiBr
ZXlEb3duT25TZWxlY3Qoc2VsSWQsIGlkZW50aWZpZXIsIG1vZGlmaWVyKSB7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoc2VsSWQpLmZvY3VzKCk7CisgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihpZGVudGlmaWVyLCBbbW9kaWZpZXJd
KTsKK30KKworZnVuY3Rpb24gY3JlYXRlU2VsZWN0KGlkTmFtZSwgc3osIG1sdCwgc2VsSW5kZXgp
IHsKKyAgICB2YXIgc2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKTsKKyAgICB2
YXIgaSA9IDA7CisgICAgc2wuc2l6ZSA9IHN6OworICAgIHdoaWxlIChpIDwgc3opIHsKKyAgICAg
ICAgdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICAgICAgICBp
ZiAoaSA9PSBzZWxJbmRleCkKKyAgICAgICAgICAgIG9wdC5zZWxlY3RlZCA9IHRydWU7CisgICAg
ICAgIG9wdC50ZXh0Q29udGVudCA9ICJpdGVtICIgKyBpOworICAgICAgICBzbC5hcHBlbmRDaGls
ZChvcHQpOworICAgICAgICBpKys7CisgICAgfQorICAgIHNsLm11bHRpcGxlID0gbWx0OworICAg
IHNsLmlkID0gaWROYW1lOworICAgIHZhciBwYXJlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFyZW50Iik7CisgICAgcGFyZW50LmFwcGVuZENoaWxkKHNsKTsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uUGF0dGVybihzZWxJZCkgeworICAgIHZhciBzbCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHNlbElkKTsKKyAgICB2YXIgcmVzdWx0ID0gJyc7CisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBzbC5vcHRpb25zLmxlbmd0aDsgaSsrKQorICAgICAgICByZXN1bHQgKz0gc2wub3B0aW9u
c1tpXS5zZWxlY3RlZCA/ICcxJyA6ICcwJzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2YXIg
cGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CitwYXJlbnQuaWQgPSAicGFy
ZW50IjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworY3JlYXRlU2VsZWN0
KCJzbDEiLCA1LCBmYWxzZSwgLTEpOworY3JlYXRlU2VsZWN0KCJzbDIiLCA1LCBmYWxzZSwgMSk7
CitjcmVhdGVTZWxlY3QoInNsMyIsIDUsIGZhbHNlLCAtMSk7CitjcmVhdGVTZWxlY3QoInNsNCIs
IDUsIGZhbHNlLCAxKTsKK2NyZWF0ZVNlbGVjdCgic2w1IiwgNSwgZmFsc2UsIDIpOworY3JlYXRl
U2VsZWN0KCJzbDYiLCA1LCBmYWxzZSwgMyk7CitjcmVhdGVTZWxlY3QoInNsNyIsIDUsIGZhbHNl
LCAxKTsKKworY3JlYXRlU2VsZWN0KCJzbDgiLCA1LCB0cnVlLCAtMSk7CitjcmVhdGVTZWxlY3Qo
InNsOSIsIDUsIHRydWUsIDEpOworY3JlYXRlU2VsZWN0KCJzbDEwIiwgNSwgdHJ1ZSwgLTEpOwor
Y3JlYXRlU2VsZWN0KCJzbDExIiwgNSwgdHJ1ZSwgMSk7CitjcmVhdGVTZWxlY3QoInNsMTIiLCA1
LCB0cnVlLCAyKTsKK2NyZWF0ZVNlbGVjdCgic2wxMyIsIDUsIHRydWUsIDApOworY3JlYXRlU2Vs
ZWN0KCJzbDE0IiwgNSwgdHJ1ZSwgMSk7CisKK2RlYnVnKCIxKSBTZWxlY3Qgb25lIGl0ZW0gd2l0
aCBtb3VzZSAobm8gcHJldmlvdXMgc2VsZWN0aW9uKSIpOworbW91c2VEb3duT25TZWxlY3QoInNs
MSIsIDApOworc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMSIpJywgJyIxMDAwMCInKTsK
KworZGVidWcoIjIpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3aXRoIHByZXZpb3VzIHNl
bGVjdGlvbikiKTsKK21vdXNlRG93bk9uU2VsZWN0KCJzbDIiLCAwKTsKK3Nob3VsZEJlKCdzZWxl
Y3Rpb25QYXR0ZXJuKCJzbDIiKScsICciMTAwMDAiJyk7CisKK2RlYnVnKCIzKSBTZWxlY3Qgb25l
IGl0ZW0gd2l0aCB0aGUga2V5Ym9hcmQgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKK2tleURv
d25PblNlbGVjdCgic2wzIiwgInVwQXJyb3ciKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJu
KCJzbDMiKScsICciMDAwMDEiJyk7CisKK2RlYnVnKCI0KSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCB0
aGUga2V5Ym9hcmQgKHdpdGggcHJldmlvdXMgc2VsZWN0aW9uKSIpOwora2V5RG93bk9uU2VsZWN0
KCJzbDQiLCAiZG93bkFycm93Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2w0Iikn
LCAnIjAwMTAwIicpOworCitkZWJ1ZygiNSkgQXR0ZW1wdCB0byBzZWxlY3QgYW4gaXRlbSBjbWQt
Y2xpY2tpbmciKTsKK21vdXNlRG93bk9uU2VsZWN0KCJzbDUiLCAxLCAiYWRkU2VsZWN0aW9uS2V5
Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2w1IiknLCAnIjAxMDAwIicpOworCitk
ZWJ1ZygiNikgQXR0ZW1wdCB0byBzZWxlY3QgYSByYW5nZSBzaGlmdC1jbGlja2luZyIpOworbW91
c2VEb3duT25TZWxlY3QoInNsNiIsIDEsICJyYW5nZVNlbGVjdGlvbktleSIpOworc2hvdWxkQmUo
J3NlbGVjdGlvblBhdHRlcm4oInNsNiIpJywgJyIwMTAwMCInKTsKKworZGVidWcoIjcpIEF0dGVt
cHQgdG8gc2VsZWN0IGEgcmFuZ2Ugd2l0aCB0aGUga2V5Ym9hcmQiKTsKK2tleURvd25PblNlbGVj
dCgic2w3IiwgImRvd25BcnJvdyIsICJyYW5nZVNlbGVjdGlvbktleSIpOworc2hvdWxkQmUoJ3Nl
bGVjdGlvblBhdHRlcm4oInNsNyIpJywgJyIwMDEwMCInKTsKKworLy8gTXVsdGlwbGUgc2VsZWN0
aW9uIHRlc3RzCisKK2RlYnVnKCI4KSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAobm8gcHJl
dmlvdXMgc2VsZWN0aW9uKSIpOworbW91c2VEb3duT25TZWxlY3QoInNsOCIsIDApOworc2hvdWxk
QmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsOCIpJywgJyIxMDAwMCInKTsKKworZGVidWcoIjkpIFNl
bGVjdCBvbmUgaXRlbSB3aXRoIG1vdXNlICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKK21v
dXNlRG93bk9uU2VsZWN0KCJzbDkiLCAwKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJz
bDkiKScsICciMTAwMDAiJyk7CisKK2RlYnVnKCIxMCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhl
IGtleWJvYXJkIChubyBwcmV2aW91cyBzZWxlY3Rpb24pIik7CitrZXlEb3duT25TZWxlY3QoInNs
MTAiLCAidXBBcnJvdyIpOworc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMTAiKScsICci
MDAwMDEiJyk7CisKK2RlYnVnKCIxMSkgU2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJk
ICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKK2tleURvd25PblNlbGVjdCgic2wxMSIsICJk
b3duQXJyb3ciKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDExIiknLCAnIjAwMTAw
IicpOworCitkZWJ1ZygiMTIpIFNlbGVjdCBhbiBpdGVtIGNtZC1jbGlja2luZyIpOworbW91c2VE
b3duT25TZWxlY3QoInNsMTIiLCAxLCAiYWRkU2VsZWN0aW9uS2V5Iik7CitzaG91bGRCZSgnc2Vs
ZWN0aW9uUGF0dGVybigic2wxMiIpJywgJyIwMTEwMCInKTsKKworZGVidWcoIjEzKSBTZWxlY3Qg
YSByYW5nZSBzaGlmdC1jbGlja2luZyIpOworbW91c2VEb3duT25TZWxlY3QoInNsMTMiLCAzLCAi
cmFuZ2VTZWxlY3Rpb25LZXkiKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDEzIikn
LCAnIjExMTEwIicpOworCitkZWJ1ZygiMTQpIFNlbGVjdCBhIHJhbmdlIHdpdGggdGhlIGtleWJv
YXJkIik7CitrZXlEb3duT25TZWxlY3QoInNsMTQiLCAiZG93bkFycm93IiwgInJhbmdlU2VsZWN0
aW9uS2V5Iik7CitzaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxNCIpJywgJyIwMTEwMCIn
KTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21lbnVsaXN0LWRpc2FibGVkLXNlbGVjdGVkLW9wdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tZW51bGlzdC1kaXNhYmxlZC1zZWxlY3RlZC1vcHRp
b24uaHRtbAppbmRleCA1MmQ5MTliOTQzMGNiNjdhOWVhODAyNDJmNGEyODYwNTZkM2RjMjM4Li42
NWI0YzA1NTVkMTUyY2RiM2NjZjVmOTQzNGJlZmUwZTIwNDFiZTQ0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL21lbnVsaXN0LWRpc2FibGVkLXNlbGVjdGVkLW9wdGlvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbWVudWxpc3QtZGlzYWJsZWQtc2VsZWN0ZWQt
b3B0aW9uLmh0bWwKQEAgLTYsNyArNiwzMyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9tZW51bGlzdC1kaXNhYmxlZC1zZWxlY3RlZC1vcHRpb24uanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCdDaGVjayB0aGF0IGEgc2VsZWN0IGNvbnRyb2wgZG9lcyBub3QgcHJv
ZHVjZSBhIGZvcm0gdmFsdWUgaWYgdGhlIHNlbGVjdGVkIG9wdGlvbiBlbGVtZW50IGlzIGRpc2Fi
bGVkLicpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxm
b3JtIGFjdGlvbj0iIj4nCisgICAgKyAnPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9InN1Ym1pdHRl
ZCIgdmFsdWU9InRydWUiPicKKyAgICArICc8c2VsZWN0IG5hbWU9InNlbGVjdCI+JworICAgICsg
JzxvcHRpb24gZGlzYWJsZWQ+RGlzYWJsZWQ8L29wdGlvbj4nCisgICAgKyAnPG9wdGlvbj5FbmFi
bGVkPC9vcHRpb24+JworICAgICsgJzwvc2VsZWN0PicKKyAgICArICc8L2Zvcm0+JzsKKworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Cit2YXIgcXVlcnkgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoOworaWYg
KHF1ZXJ5LmluZGV4T2YoJ3N1Ym1pdHRlZD10cnVlJykgPT0gLTEpIHsKKyAgICB2YXIgc2VsZWN0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzBdOworICAgIHNlbGVj
dC5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICBkb2N1bWVudC5mb3Jtc1swXS5zdWJtaXQoKTsKK30g
ZWxzZSB7CisgICAgc2hvdWxkQmUoJ3F1ZXJ5LmluZGV4T2YoInNlbGVjdD1EaXNhYmxlZCIpJywg
Jy0xJyk7CisgICAgc2hvdWxkQmUoJ3F1ZXJ5LmluZGV4T2YoInNlbGVjdD1FbmFibGVkIiknLCAn
LTEnKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tZW51bGlz
dC1zdWJtaXQtd2l0aG91dC1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bWVudWxpc3Qtc3VibWl0LXdpdGhvdXQtc2VsZWN0aW9uLmh0bWwKaW5kZXggNWYzYjEwNzBlMWVl
N2ZhN2QyOTJlMmFkMjkzMWIyZmViOTlmZmVhOS4uNzliMzQzMWNiY2E3MTZmMjZhN2FlMjY5MzNk
ZTYyYjkwMmIzNmMzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tZW51bGlz
dC1zdWJtaXQtd2l0aG91dC1zZWxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL21lbnVsaXN0LXN1Ym1pdC13aXRob3V0LXNlbGVjdGlvbi5odG1sCkBAIC02LDcgKzYsMzEg
QEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbWVudWxpc3Qtc3VibWl0LXdpdGhvdXQt
c2VsZWN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQSB1bnNlbGVj
dGVkIG9wdGlvbiB3YXMgc3VibWl0dGVkIGFzIGZhbGxiYWNrLiBUaGlzIGJlaGF2aW9yIHdhcyBy
ZW1vdmVkIGJ5IHRoZSBjaGFuZ2Ugb2Ygd2Via2l0Lm9yZy9iLzM1MDU2LicpOworCit2YXIgcGFy
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHBhcmVudCk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtIGFjdGlvbj0iIj4nCisg
ICAgKyAnPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9InN1Ym1pdHRlZCIgdmFsdWU9InRydWUiPicK
KyAgICArICc8c2VsZWN0IG5hbWU9InNlbGVjdCI+JworICAgICsgJzxvcHRpb24gZGlzYWJsZWQ+
RGlzYWJsZWQ8L29wdGlvbj4nCisgICAgKyAnPC9zZWxlY3Q+JworICAgICsgJzwvZm9ybT4nOwor
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKK3ZhciBxdWVyeSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7
CitpZiAocXVlcnkuaW5kZXhPZignc3VibWl0dGVkPXRydWUnKSA9PSAtMSkgeworICAgIHZhciBz
ZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07CisgICAg
c2VsZWN0LnNlbGVjdGVkSW5kZXggPSAwOworICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgp
OworfSBlbHNlIHsKKyAgICBzaG91bGRCZSgncXVlcnkuaW5kZXhPZigic2VsZWN0PURpc2FibGVk
IiknLCAnLTEnKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9u
b3ZhbGlkYXRlLWF0dHJpYnV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9ub3ZhbGlk
YXRlLWF0dHJpYnV0ZS5odG1sCmluZGV4IDZkMjdkZGE5NGU5MWJmNmYwNTQwMDRmNjhiMjk2Y2Zk
NDdkYWQzY2IuLjA0NzVkNGFiYmZhNWU0MWI4OTZhYjQzZjA3YTQ1MWY4ZDIzYzkxNDYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbm92YWxpZGF0ZS1hdHRyaWJ1dGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL25vdmFsaWRhdGUtYXR0cmlidXRlLmh0bWwKQEAg
LTYsNyArNiw0MiBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9ub3ZhbGlkYXRlLWF0
dHJpYnV0ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBw
ZXJmb3JtcyBzb21lIHNpbXBsZSBjaGVjayBvbiB0aGUgbm9WYWxpZGF0ZSBhdHRyaWJ1dGUuIik7
CisKK3ZhciBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZm9ybSIpOworCitzaG91bGRCZSgi
Zi5oYXNBdHRyaWJ1dGUoJ25vVmFsaWRhdGUnKSIsICJmYWxzZSIpOworc2hvdWxkQmUoImYuZ2V0
QXR0cmlidXRlKCdub1ZhbGlkYXRlJykiLCAibnVsbCIpOworc2hvdWxkQmUoImYubm9WYWxpZGF0
ZSIsICJmYWxzZSIpOworCitmLm5vVmFsaWRhdGUgPSB0cnVlOworCitzaG91bGRCZSgiZi5oYXNB
dHRyaWJ1dGUoJ25vVmFsaWRhdGUnKSIsICJ0cnVlIik7CitzaG91bGRCZSgiZi5nZXRBdHRyaWJ1
dGUoJ25vVmFsaWRhdGUnKSIsICInJyIpOworc2hvdWxkQmUoImYubm9WYWxpZGF0ZSIsICJ0cnVl
Iik7CisKK3ZhciBmMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKK2YyLm5vVmFs
aWRhdGUgPSBmLm5vVmFsaWRhdGU7CisKK2Yubm9WYWxpZGF0ZSA9IGZhbHNlOworCitzaG91bGRC
ZSgiZi5oYXNBdHRyaWJ1dGUoJ25vVmFsaWRhdGUnKSIsICJmYWxzZSIpOworc2hvdWxkQmUoImYu
Z2V0QXR0cmlidXRlKCdub1ZhbGlkYXRlJykiLCAibnVsbCIpOworc2hvdWxkQmUoImYubm9WYWxp
ZGF0ZSIsICJmYWxzZSIpOworCitzaG91bGRCZSgiZjIuaGFzQXR0cmlidXRlKCdub1ZhbGlkYXRl
JykiLCAidHJ1ZSIpOworc2hvdWxkQmUoImYyLmdldEF0dHJpYnV0ZSgnbm9WYWxpZGF0ZScpIiwg
IicnIik7CitzaG91bGRCZSgiZjIubm9WYWxpZGF0ZSIsICJ0cnVlIik7CisKK2YyLm5vVmFsaWRh
dGUgPSBmYWxzZTsKKworc2hvdWxkQmUoImYyLm5vVmFsaWRhdGUiLCAiZmFsc2UiKTsKK2YyLm5v
VmFsaWRhdGUgPSAic29tZXRoaW5nIjsKK3Nob3VsZEJlKCJmMi5oYXNBdHRyaWJ1dGUoJ25vVmFs
aWRhdGUnKSIsICJ0cnVlIik7CitzaG91bGRCZSgiZjIuZ2V0QXR0cmlidXRlKCdub1ZhbGlkYXRl
JykiLCAiJyciKTsKK3Nob3VsZEJlKCJmMi5ub1ZhbGlkYXRlIiwgInRydWUiKTsKKzwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL291dHB1dC1yZXNldC1hc3NlcnRpb24tZmFpbGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL291dHB1dC1yZXNldC1hc3NlcnRpb24tZmFpbGVkLmh0bWwKaW5kZXggYjJiNmFh
ODNhNjcwNTE4ZTcyOGU0M2Q3MThmNTVmYjljZDViNmY0Ni4uYzQxZmI1MWYwOWE5MzViMGZhMTk3
YzAzZGUwYWY2MTg1N2NlMTQ2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9v
dXRwdXQtcmVzZXQtYXNzZXJ0aW9uLWZhaWxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvb3V0cHV0LXJlc2V0LWFzc2VydGlvbi1mYWlsZWQuaHRtbApAQCAtNiw3ICs2LDUwIEBA
CiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL291dHB1dC1yZXNldC1hc3NlcnRpb24tZmFp
bGVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignRW5zdXJlcyB0aGF0IGFz
c2VydGlvbiBmYWlsdXJlcyBkb25cJ3Qgb2NjdXIgb24gdXBkYXRpbmcgdGhlIHZhbHVlIG9mICZs
dDtvdXRwdXQmZ3Q7IGVsZW1lbnRzLicpOworCitkZWJ1ZygnLSBBIHRlc3QgaW4gdGhlIHZhbHVl
IGlzIHNldCB0d2ljZS4nKTsKK3ZhciBvdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdv
dXRwdXQnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0cHV0KTsKK291dHB1dC52YWx1
ZSA9ICcnOworb3V0cHV0LnZhbHVlID0gJyc7Cit0ZXN0UGFzc2VkKCdOb3QgY3Jhc2hlZCcpOwor
ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChvdXRwdXQpOworCitkZWJ1ZygnJyk7CitkZWJ1Zygn
LSBBIHRlc3QgaW4gdGhlIHZhbHVlIGlzIHNldCB0byBkaWZmZXJlbnQgdmFsdWVzIHR3aWNlLicp
Oworb3V0cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3V0cHV0Jyk7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKG91dHB1dCk7CitvdXRwdXQudmFsdWUgPSAnJzsKK291dHB1dC52YWx1
ZSA9ICdmb28nOwordGVzdFBhc3NlZCgnTm90IGNyYXNoZWQnKTsKK2RvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQob3V0cHV0KTsKKworZGVidWcoJycpOworZGVidWcoJy0gQSB0ZXN0IGluIHJlc2V0
IGV2ZW50cyBvY2N1ciB0d2ljZSB3aGVuIHRoZXJlIGlzIG5vIGRlZmF1bHQgdmFsdWUuJyk7Cit2
YXIgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoZm9ybSk7CitvdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvdXRw
dXQnKTsKK2Zvcm0uYXBwZW5kQ2hpbGQob3V0cHV0KTsKK2Zvcm0ucmVzZXQoKTsKK2Zvcm0ucmVz
ZXQoKTsKK3Rlc3RQYXNzZWQoJ05vdCBjcmFzaGVkJyk7Citkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKGZvcm0pOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnLSBBIHRlc3QgaW4gcmVzZXQgZXZlbnRz
IG9jY3VyIHR3aWNlIHdoZW4gdGhlIHZhbHVlIGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHZh
bHVlLicpOworZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7CitvdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdvdXRwdXQnKTsKK291dHB1dC5kZWZhdWx0VmFsdWUgPSAnZm9vJzsKK291dHB1dC52YWx1ZSA9
ICdmb28nOworZm9ybS5hcHBlbmRDaGlsZChvdXRwdXQpOworZm9ybS5yZXNldCgpOworZm9ybS5y
ZXNldCgpOwordGVzdFBhc3NlZCgnTm90IGNyYXNoZWQnKTsKK2RvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoZm9ybSk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1kb20tcHJvcGVydHkuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcGxhY2Vob2xkZXItZG9tLXByb3BlcnR5Lmh0bWwK
aW5kZXggMzBmYjJhOTljZTAzMTYzZWFkOGRjMDY4MjQ5NTFhYTY3ZTY5NzM0NS4uMzg0M2FmOTg0
MDQ4NzE4MzJiNzRlNDc5NzExMjk3YjM2OTM5ZDdjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1kb20tcHJvcGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3BsYWNlaG9sZGVyLWRvbS1wcm9wZXJ0eS5odG1sCkBAIC02LDcgKzYsMjAg
QEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcGxhY2Vob2xkZXItZG9tLXByb3BlcnR5
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBmb3IgPGEgaHJlZj0n
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTAzJz5odHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDM8L2E+Iik7CisKK3ZhciBpbnB1dCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygiaW5wdXQucGxhY2Vob2xkZXIiLCAnJyk7CisKK2lucHV0LnNldEF0dHJpYnV0ZSgicGxhY2Vo
b2xkZXIiLCAicDEiKQorc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJpbnB1dC5wbGFjZWhvbGRlciIs
ICdwMScpOworCitpbnB1dC5wbGFjZWhvbGRlciA9ICdwMic7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImlucHV0LmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKSIsICdwMicpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJpbnB1dC5wbGFjZWhvbGRlciIsICdwMicpOworPC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9URU1QTEFURS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDM5
ZWIzYWQzNzZiZDgzNjViZjBjMTRjYWRkYjI4OGYyM2M1Y2FlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL1RFTVBMQVRFLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLXVu
c3VwcG9ydGVkLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRp
dHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gtdW5zdXBwb3J0ZWQuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM5YmQ4ZTM0OGU5MzZiNzUyMDcyYzZkNTg1ZjBlYTRjODM0YWZiNDAuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS1wYXR0ZXJuTWlzbWF0Y2gtdW5z
dXBwb3J0ZWQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1kZXNjcmlwdGlvbign
Q2hlY2sgaWYgdGhlIHBhdHRlcm4gY29uc3RyYWludCBpcyBub3QgYXBwbGllZCB0byBzb21lIGlu
cHV0IHR5cGVzLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOwotaW5wdXQudHlwZSA9ICdyYW5nZSc7Ci1pbnB1dC5wYXR0ZXJuID0gJ1swLTldJzsgIC8v
IFJlc3RyaWN0IHRvIHNpbmdsZSBkaWdpdAotaW5wdXQudmFsdWUgPSAnMTEnOwotCi0vLyBwYXR0
ZXJuIGRvZXNuJ3Qgd29yayBmb3IgdHlwZT1yYW5nZQotc2hvdWxkQmUoJ2lucHV0LnZhbGlkaXR5
LnBhdHRlcm5NaXNtYXRjaCcsICdmYWxzZScpOwotCi0vLyB3b3JrcyBmb3IgdHlwZT10ZXh0Lgot
aW5wdXQudHlwZSA9ICd0ZXh0JzsKLXNob3VsZEJlKCdpbnB1dC52YWxpZGl0eS5wYXR0ZXJuTWlz
bWF0Y2gnLCAndHJ1ZScpOwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXJhbmdlT3ZlcmZsb3cuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXJhbmdlT3ZlcmZsb3cuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzZjQzZTRmYjgyNjExZGRmNzExNDk5ZjY0NDJk
YjllNTEwZjNlZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS1yYW5n
ZU92ZXJmbG93LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotZGVzY3JpcHRpb24o
J1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciByYW5nZU92ZXJmbG93IGZsYWcgd2l0aCBpbnB1
dCBmaWVsZHMnKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KTsKLQotZnVuY3Rpb24gY2hlY2tOb3RPdmVyZmxvdyh2YWx1ZSwgbWF4LCBkaXNhYmxlZCkKLXsK
LSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwotICAgIGlucHV0Lm1heCA9IG1heDsKLSAgICBpbnB1
dC5kaXNhYmxlZCA9ICEhZGlzYWJsZWQ7Ci0gICAgdmFyIG92ZXJmbG93ID0gaW5wdXQudmFsaWRp
dHkucmFuZ2VPdmVyZmxvdzsKLSAgICB2YXIgcmVzdWx0VGV4dCA9ICdUaGUgdmFsdWUgIicgKyBp
bnB1dC52YWx1ZSArICciICcgKwotICAgICAgICAob3ZlcmZsb3cgPyAnb3ZlcmZsb3dzJyA6ICdk
b2VzblwndCBvdmVyZmxvdycpICsKLSAgICAgICAgJyB0aGUgbWF4aW11bSB2YWx1ZSAiJyArIGlu
cHV0Lm1heCArICciJyArIChkaXNhYmxlZCA/ICcgd2hlbiBkaXNhYmxlZC4nIDogJy4nKTsKLSAg
ICBpZiAob3ZlcmZsb3cpCi0gICAgICAgIHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7Ci0gICAgZWxz
ZQotICAgICAgICB0ZXN0UGFzc2VkKHJlc3VsdFRleHQpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1kZWJ1
ZygnVHlwZT10ZXh0Jyk7Ci1pbnB1dC50eXBlID0gJ3RleHQnOyAgLy8gTm8gb3ZlcmZsb3cgZm9y
IHR5cGU9dGV4dC4KLWNoZWNrTm90T3ZlcmZsb3coJzEwMScsICcxMDAnKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtcmFuZ2VV
bmRlcmZsb3cuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0
eVN0YXRlLXJhbmdlVW5kZXJmbG93LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ZmM1ZjkyYTE5MGJkOTBmMGJkNTVmODA5NThhOWQ5ZTk0ZDkyNTk4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRlcmZsb3cuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyMyArMCwwIEBACi1kZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9y
IHJhbmdlVW5kZXJmbG93IGZsYWcgd2l0aCBpbnB1dCBmaWVsZHMnKTsKLQotdmFyIGlucHV0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLQotZnVuY3Rpb24gY2hlY2tOb3RVbmRl
cmZsb3codmFsdWUsIG1pbiwgZGlzYWJsZWQpCi17Ci0gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsK
LSAgICBpbnB1dC5taW4gPSBtaW47Ci0gICAgaW5wdXQuZGlzYWJsZWQgPSAhIWRpc2FibGVkOwot
ICAgIHZhciB1bmRlcmZsb3cgPSBpbnB1dC52YWxpZGl0eS5yYW5nZVVuZGVyZmxvdzsKLSAgICB2
YXIgcmVzdWx0VGV4dCA9ICdUaGUgdmFsdWUgIicgKyBpbnB1dC52YWx1ZSArICciICcgKwotICAg
ICAgICAodW5kZXJmbG93ID8gJ3VuZGVyZmxvd3MnIDogJ2RvZXNuXCd0IHVuZGVyZmxvdycpICsK
LSAgICAgICAgJyB0aGUgbWluaW11bSB2YWx1ZSAiJyArIGlucHV0Lm1pbiArICciJyArIChkaXNh
YmxlZCA/ICcgd2hlbiBkaXNhYmxlZC4nIDogJy4nKTsKLSAgICBpZiAodW5kZXJmbG93KQotICAg
ICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3Nl
ZChyZXN1bHRUZXh0KTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVidWcoJ1R5cGU9dGV4dCcpOwotaW5w
dXQudHlwZSA9ICd0ZXh0JzsgIC8vIE5vIHVuZGVyZmxvdyBmb3IgdHlwZT10ZXh0LgotY2hlY2tO
b3RVbmRlcmZsb3coJzk5JywgJzEwMCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS1zdGVwTWlzbWF0Y2guanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXN0ZXBNaXNtYXRjaC5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI1YTE0ZWMxNGE3ZTY3MDVjNjEzNjlh
Yjg4ODZiYjQ1NjRmOWJlOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRl
LXN0ZXBNaXNtYXRjaC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLWRlc2NyaXB0
aW9uKCdDaGVjayBzdGVwTWlzbWF0Y2ggcmVzdWx0cyBmb3IgdW5zdXBwb3J0ZWQgdHlwZXMuJyk7
Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1kb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLQotZGVidWcoJ1Vuc3VwcG9ydGVkIHR5cGVzJyk7
Ci1zaG91bGRCZSgnaW5wdXQudHlwZSA9ICJ0ZXh0IjsgaW5wdXQuc3RlcCA9ICIzIjsgaW5wdXQu
bWluID0gIiI7IGlucHV0LnZhbHVlID0gIjIiOyBpbnB1dC52YWxpZGl0eS5zdGVwTWlzbWF0Y2gn
LCAnZmFsc2UnKTsKLXNob3VsZEJlKCdpbnB1dC50eXBlID0gImJ1dHRvbiI7IGlucHV0LnZhbGlk
aXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOwotc2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAiY2hl
Y2tib3giOyBpbnB1dC52YWxpZGl0eS5zdGVwTWlzbWF0Y2gnLCAnZmFsc2UnKTsKLXNob3VsZEJl
KCdpbnB1dC50eXBlID0gImNvbG9yIjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywgJ2Zh
bHNlJyk7Ci1zaG91bGRCZSgnaW5wdXQudHlwZSA9ICJlbWFpbCI7IGlucHV0LnZhbGlkaXR5LnN0
ZXBNaXNtYXRjaCcsICdmYWxzZScpOwotc2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAiaGlkZGVuIjsg
aW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywgJ2ZhbHNlJyk7Ci1zaG91bGRCZSgnaW5wdXQu
dHlwZSA9ICJpbWFnZSI7IGlucHV0LnZhbGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOwot
c2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAia2h0bWxfaXNpbmRleCI7IGlucHV0LnZhbGlkaXR5LnN0
ZXBNaXNtYXRjaCcsICdmYWxzZScpOwotc2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAicGFzc3dkIjsg
aW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywgJ2ZhbHNlJyk7Ci1zaG91bGRCZSgnaW5wdXQu
dHlwZSA9ICJyYWRpbyI7IGlucHV0LnZhbGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOwot
c2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAicmVzZXQiOyBpbnB1dC52YWxpZGl0eS5zdGVwTWlzbWF0
Y2gnLCAnZmFsc2UnKTsKLXNob3VsZEJlKCdpbnB1dC50eXBlID0gInNlYXJjaCI7IGlucHV0LnZh
bGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOwotc2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAi
c3VibWl0IjsgaW5wdXQudmFsaWRpdHkuc3RlcE1pc21hdGNoJywgJ2ZhbHNlJyk7Ci1zaG91bGRC
ZSgnaW5wdXQudHlwZSA9ICJ0ZWwiOyBpbnB1dC52YWxpZGl0eS5zdGVwTWlzbWF0Y2gnLCAnZmFs
c2UnKTsKLXNob3VsZEJlKCdpbnB1dC50eXBlID0gInVybCI7IGlucHV0LnZhbGlkaXR5LnN0ZXBN
aXNtYXRjaCcsICdmYWxzZScpOwotc2hvdWxkQmUoJ2lucHV0LnR5cGUgPSAiZmlsZSI7IGlucHV0
LnZhbGlkaXR5LnN0ZXBNaXNtYXRjaCcsICdmYWxzZScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10b29Mb25nLWlucHV0Lmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10b29M
b25nLWlucHV0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGM1MjhmOWMzMDc2
NWJkNjBiNWY3YTVhOWQ5NGM0MzRmZTFjNzdkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1Zh
bGlkaXR5U3RhdGUtdG9vTG9uZy1pbnB1dC5qcworKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAg
QEAKLWRlc2NyaXB0aW9uKCdUZXN0cyBmb3IgdG9vTG9uZyBmbGFnIHdpdGggJmx0O2lucHV0PiBl
bGVtZW50cy4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotCi1kZWJ1ZygnTm8gbWF4bGVu
Z3RoIGFuZCBubyB2YWx1ZScpOwotc2hvdWxkQmVGYWxzZSgnaW5wdXQudmFsaWRpdHkudG9vTG9u
ZycpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnTm9uLWRpcnR5IHZhbHVlJyk7Ci1pbnB1dC5zZXRB
dHRyaWJ1dGUoJ3ZhbHVlJywgJ2FiY2RlJyk7Ci1pbnB1dC5tYXhMZW5ndGggPSAzOwotc2hvdWxk
QmUoJ2lucHV0LnZhbHVlLmxlbmd0aCcsICc1Jyk7Ci1zaG91bGRCZUZhbHNlKCdpbnB1dC52YWxp
ZGl0eS50b29Mb25nJyk7Ci0KLWlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnYWJjZGVmJyk7
Ci1zaG91bGRCZSgnaW5wdXQudmFsdWUubGVuZ3RoJywgJzYnKTsKLXNob3VsZEJlRmFsc2UoJ2lu
cHV0LnZhbGlkaXR5LnRvb0xvbmcnKTsKLQotZGVidWcoJycpOwotZGVidWcoJ0RpcnR5IHZhbHVl
IGFuZCBsb25nZXIgdGhhbiBtYXhMZW5ndGgnKTsKLWlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaW5wdXQnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwotaW5wdXQu
c2V0QXR0cmlidXRlKCd2YWx1ZScsICdhYmNkZScpOwotaW5wdXQubWF4TGVuZ3RoID0gMzsKLWlu
cHV0LmZvY3VzKCk7Ci1pbnB1dC5zZXRTZWxlY3Rpb25SYW5nZSg1LCA1KTsgIC8vIE1vdmUgdGhl
IGN1cnNvciBhdCB0aGUgZW5kLgotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2RlbGV0ZScpOwotc2hv
dWxkQmUoJ2lucHV0LnZhbHVlLmxlbmd0aCcsICc0Jyk7Ci1zaG91bGRCZVRydWUoJ2lucHV0LnZh
bGlkaXR5LnRvb0xvbmcnKTsKLS8vIE1ha2UgdGhlIHZhbHVlIDw9bWF4TGVuZ3RoLgotZG9jdW1l
bnQuZXhlY0NvbW1hbmQoJ2RlbGV0ZScpOwotc2hvdWxkQmVGYWxzZSgnaW5wdXQudmFsaWRpdHku
dG9vTG9uZycpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnU2V0cyBhIHZhbHVlIHZpYSBET00gcHJv
cGVydHknKTsKLWlucHV0Lm1heExlbmd0aCA9IDM7Ci1pbnB1dC52YWx1ZSA9ICdhYmNkZSc7Ci1z
aG91bGRCZUZhbHNlKCdpbnB1dC52YWxpZGl0eS50b29Mb25nJyk7Ci0KLWRlYnVnKCcnKTsKLWRl
YnVnKCdEaXNhYmxlZCcpOwotaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwotc2hvdWxkQmVGYWxzZSgn
aW5wdXQudmFsaWRpdHkudG9vTG9uZycpOwotaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKLQotZGVi
dWcoJycpOwotZGVidWcoJ0dyYXBoZW1lIGxlbmd0aCBpcyBub3QgZ3JlYXRlciB0aGFuIG1heExl
bmd0aCB0aG91Z2ggY2hhcmFjdGVyIGxlbmd0aCBpcyBncmVhdGVyJyk7Ci0vLyBmYW5jeVggc2hv
dWxkIGJlIHRyZWF0ZWQgYXMgMSBncmFwaGVtZS4KLS8vIFUrMDMwNSBDT01CSU5JTkcgT1ZFUkxJ
TkUKLS8vIFUrMDMzMiBDT01CSU5JTkcgTE9XIExJTkUKLXZhciBmYW5jeVggPSAieFx1MDMwNVx1
MDMzMiI7Ci1pbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1kb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLWlucHV0LnZhbHVlID0gZmFuY3lYOyAvLyAzIGNo
YXJhY3RlcnMsIDEgZ3JhcGhlbWUgY2x1c3RlcnMuCi1pbnB1dC5tYXhMZW5ndGggPSAxOwotc2hv
dWxkQmVGYWxzZSgnaW5wdXQudmFsaWRpdHkudG9vTG9uZycpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1
ZygnQ2hhbmdlIHRoZSB0eXBlIHdpdGggYSB0b28gbG9uZyB2YWx1ZScpOwotaW5wdXQubWF4TGVu
Z3RoID0gMzsKLWlucHV0LnZhbHVlID0gJ2FiY2RlJzsKLWlucHV0LnR5cGUgPSAnc2VhcmNoJzsK
LWlucHV0LmZvY3VzKCk7Ci1pbnB1dC5zZXRTZWxlY3Rpb25SYW5nZSg1LCA1KTsKLWRvY3VtZW50
LmV4ZWNDb21tYW5kKCdkZWxldGUnKTsKLXNob3VsZEJlVHJ1ZSgnaW5wdXQudmFsaWRpdHkudG9v
TG9uZycpOwotc2hvdWxkQmVGYWxzZSgnaW5wdXQudHlwZSA9ICJudW1iZXIiOyBpbnB1dC52YWxp
ZGl0eS50b29Mb25nJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9WYWxpZGl0eVN0YXRlLXRvb0xvbmctdGV4dGFyZWEuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXRvb0xvbmctdGV4dGFyZWEuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2MDZhY2VmYzA2ODFiMmIxNjU2YjliY2Y5
ZGEzNDYxNTQ2OGNmZjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
b29Mb25nLXRleHRhcmVhLmpzCisrKyAvZGV2L251bGwKQEAgLTEsODMgKzAsMCBAQAotZGVzY3Jp
cHRpb24oJ1Rlc3RzIGZvciB0b29Mb25nIGZsYWcgd2l0aCAmbHQ7dGV4dGFyZWE+IGVsZW1lbnRz
LicpOwotCi12YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScp
OwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7Ci0KLWRlYnVnKCdObyBtYXhs
ZW5ndGggYW5kIG5vIHZhbHVlJyk7Ci1zaG91bGRCZUZhbHNlKCd0ZXh0YXJlYS52YWxpZGl0eS50
b29Mb25nJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdOb24tZGlydHkgdmFsdWUnKTsKLXRleHRh
cmVhLmRlZmF1bHRWYWx1ZSA9ICdhYmNkZSc7Ci10ZXh0YXJlYS5tYXhMZW5ndGggPSAzOwotc2hv
dWxkQmUoJ3RleHRhcmVhLnZhbHVlLmxlbmd0aCcsICc1Jyk7Ci1zaG91bGRCZUZhbHNlKCd0ZXh0
YXJlYS52YWxpZGl0eS50b29Mb25nJyk7Ci0KLXRleHRhcmVhLmRlZmF1bHRWYWx1ZSA9ICdhYmNk
ZWYnOwotc2hvdWxkQmUoJ3RleHRhcmVhLnZhbHVlLmxlbmd0aCcsICc2Jyk7Ci1zaG91bGRCZUZh
bHNlKCd0ZXh0YXJlYS52YWxpZGl0eS50b29Mb25nJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdE
aXJ0eSB2YWx1ZSBhbmQgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoJyk7Ci10ZXh0YXJlYSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHRleHRhcmVhKTsKLXRleHRhcmVhLmRlZmF1bHRWYWx1ZSA9ICdhYmNkZSc7Ci10ZXh0YXJlYS5t
YXhMZW5ndGggPSAzOwotdGV4dGFyZWEuZm9jdXMoKTsKLXRleHRhcmVhLnNldFNlbGVjdGlvblJh
bmdlKDUsIDUpOyAgLy8gTW92ZSB0aGUgY3Vyc29yIGF0IHRoZSBlbmQuCi1kb2N1bWVudC5leGVj
Q29tbWFuZCgnZGVsZXRlJyk7Ci1zaG91bGRCZSgndGV4dGFyZWEudmFsdWUubGVuZ3RoJywgJzQn
KTsKLXNob3VsZEJlVHJ1ZSgndGV4dGFyZWEudmFsaWRpdHkudG9vTG9uZycpOwotLy8gTWFrZSB0
aGUgdmFsdWUgPD1tYXhMZW5ndGguCi1kb2N1bWVudC5leGVjQ29tbWFuZCgnZGVsZXRlJyk7Ci1z
aG91bGRCZUZhbHNlKCd0ZXh0YXJlYS52YWxpZGl0eS50b29Mb25nJyk7Ci0KLWRlYnVnKCcnKTsK
LWRlYnVnKCdTZXRzIGEgdmFsdWUgdmlhIERPTSBwcm9wZXJ0eScpOwotdGV4dGFyZWEgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZCh0ZXh0YXJlYSk7Ci10ZXh0YXJlYS5tYXhMZW5ndGggPSAzOwotdGV4dGFyZWEudmFsdWUgPSAn
YWJjZGUnOwotc2hvdWxkQmVGYWxzZSgndGV4dGFyZWEudmFsaWRpdHkudG9vTG9uZycpOwotCi1k
ZWJ1ZygnJyk7Ci1kZWJ1ZygnRGlzYWJsZWQnKTsKLXRleHRhcmVhLmRpc2FibGVkID0gdHJ1ZTsK
LXNob3VsZEJlRmFsc2UoJ3RleHRhcmVhLnZhbGlkaXR5LnRvb0xvbmcnKTsKLXRleHRhcmVhLmRp
c2FibGVkID0gZmFsc2U7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdHcmFwaGVtZSBsZW5ndGggaXMg
bm90IGdyZWF0ZXIgdGhhbiBtYXhMZW5ndGggdGhvdWdoIGNoYXJhY3RlciBsZW5ndGggaXMgZ3Jl
YXRlcicpOwotLy8gZmFuY3lYIHNob3VsZCBiZSB0cmVhdGVkIGFzIDEgZ3JhcGhlbWUuCi0vLyBV
KzAzMDUgQ09NQklOSU5HIE9WRVJMSU5FCi0vLyBVKzAzMzIgQ09NQklOSU5HIExPVyBMSU5FCi12
YXIgZmFuY3lYID0gInhcdTAzMDVcdTAzMzIiOwotdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCd0ZXh0YXJlYScpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7
Ci10ZXh0YXJlYS52YWx1ZSA9IGZhbmN5WDsgLy8gMyBjaGFyYWN0ZXJzLCAxIGdyYXBoZW1lIGNs
dXN0ZXIuCi10ZXh0YXJlYS5tYXhMZW5ndGggPSAxOwotc2hvdWxkQmVGYWxzZSgndGV4dGFyZWEu
dmFsaWRpdHkudG9vTG9uZycpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnQSB2YWx1ZSBzZXQgYnkg
cmVzZXR0aW5nIGEgZm9ybSBkb2VzblwndCBtYWtlIHRvb0xvbmcgdHJ1ZS4nKTsKLS8vIE1ha2Ug
YSBkaXJ0eSB0ZXh0YXJlYS4KLXZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKLXBhcmVudC5pbm5lckhU
TUwgPSAnPGZvcm0+PHRleHRhcmVhIG1heGxlbmd0aD0yPmFiY2RlZjwvdGV4dGFyZWE+PC9mb3Jt
Pic7Ci10ZXh0YXJlYSA9IHBhcmVudC5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7Ci10ZXh0YXJlYS5m
b2N1cygpOwotdGV4dGFyZWEuc2V0U2VsZWN0aW9uUmFuZ2UoNiwgNik7Ci1kb2N1bWVudC5leGVj
Q29tbWFuZCgnZGVsZXRlJyk7Ci1zaG91bGRCZVRydWUoJ3RleHRhcmVhLnZhbGlkaXR5LnRvb0xv
bmcnKTsKLXBhcmVudC5maXJzdENoaWxkLnJlc2V0KCk7Ci1zaG91bGRCZSgndGV4dGFyZWEudmFs
dWUnLCAnImFiY2RlZiInKTsKLXNob3VsZEJlRmFsc2UoJ3RleHRhcmVhLnZhbGlkaXR5LnRvb0xv
bmcnKTsKLQotZGVidWcoJycpOwotZGVidWcoJ0EgdmFsdWUgc2V0IGJ5IGEgY2hpbGQgbm9kZSBj
aGFuZ2UgZG9lc25cJ3QgbWFrZSB0b29Mb25nIHRydWUuJyk7Ci1wYXJlbnQuaW5uZXJIVE1MID0g
Jzx0ZXh0YXJlYSBtYXhsZW5ndGg9Mj5hYmM8L3RleHRhcmVhPic7Ci10ZXh0YXJlYSA9IHBhcmVu
dC5maXJzdENoaWxkOwotc2hvdWxkQmVGYWxzZSgndGV4dGFyZWEudmFsaWRpdHkudG9vTG9uZycp
OwotcGFyZW50LmZpcnN0Q2hpbGQuaW5uZXJIVE1MID0gJ2FiY2RlZic7Ci1zaG91bGRCZSgndGV4
dGFyZWEudmFsdWUnLCAnImFiY2RlZiInKTsKLXNob3VsZEJlRmFsc2UoJ3RleHRhcmVhLnZhbGlk
aXR5LnRvb0xvbmcnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLWRhdGUuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1kYXRlLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTMyMTkzOTZkZDFiMjQ2ZWRjMjljZjgx
OWU4YWIxYTNkNmFmNjA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUt
dHlwZU1pc21hdGNoLWRhdGUuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi1kZXNj
cmlwdGlvbignVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdp
dGggdHlwZT1kYXRlIGlucHV0IGZpZWxkcycpOwotdmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpbnB1dCcpOwotaS50eXBlID0gJ2RhdGUnOwotCi1mdW5jdGlvbiBjaGVjayh2YWx1ZSwg
bWlzbWF0Y2hFeHBlY3RlZCwgZGlzYWJsZWQpCi17Ci0gICAgaS52YWx1ZSA9IHZhbHVlOwotICAg
IGkuZGlzYWJsZWQgPSAhIWRpc2FibGVkOwotICAgIHZhciBhY3R1YWwgPSBpLnZhbGlkaXR5LnR5
cGVNaXNtYXRjaDsKLSAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNtYXRjaEV4cGVjdGVk
OwotICAgIHZhciByZXN1bHRUZXh0ID0gJyInICsgdmFsdWUgKyAnIiBpcyAnICsgKGRpZFBhc3Mg
PyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6
ICd2YWxpZCcpICsgJyBkYXRlIHN0cmluZycgKyAoZGlzYWJsZWQgPyAnIHdoZW4gZGlzYWJsZWQu
JyA6ICcuJyk7Ci0gICAgaWYgKGRpZFBhc3MpCi0gICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4
dCk7Ci0gICAgZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOwotfQotCi1mdW5j
dGlvbiBzaG91bGRCZVZhbGlkKHZhbHVlLCBkaXNhYmxlZCkKLXsKLSAgICBjaGVjayh2YWx1ZSwg
ZmFsc2UsIGRpc2FibGVkKTsKLX0KLQotZnVuY3Rpb24gc2hvdWxkQmVJbnZhbGlkKHZhbHVlKQot
ewotICAgIGNoZWNrKHZhbHVlLCB0cnVlKTsKLX0KLQotLy8gVmFsaWQgdmFsdWVzCi1zaG91bGRC
ZVZhbGlkKCcnKTsKLXNob3VsZEJlVmFsaWQoJzIwMDktMDktMDcnKTsKLXNob3VsZEJlVmFsaWQo
Jzk5OTktMTItMzEnKTsKLXNob3VsZEJlVmFsaWQoJzI3NTc2MC0wOS0xMycpOwotc2hvdWxkQmVW
YWxpZCgnMTU4Mi0xMC0xNScpOwotc2hvdWxkQmVWYWxpZCgnMDAwMS0wMS0wMScpOwotc2hvdWxk
QmVWYWxpZCgnMjAwOS0wMS0zMScpOwotc2hvdWxkQmVWYWxpZCgnMjAwOS0wMi0yOCcpOwotc2hv
dWxkQmVWYWxpZCgnMjAwOS0wMy0zMScpOwotc2hvdWxkQmVWYWxpZCgnMjAwOS0wNC0zMCcpOwot
c2hvdWxkQmVWYWxpZCgnMjAwOS0wNS0zMScpOwotc2hvdWxkQmVWYWxpZCgnMjAwOS0wNi0zMCcp
Owotc2hvdWxkQmVWYWxpZCgnMjAwOS0wNy0zMScpOwotc2hvdWxkQmVWYWxpZCgnMjAwOS0wOC0z
MScpOwotc2hvdWxkQmVWYWxpZCgnMjAwOS0wOS0zMCcpOwotc2hvdWxkQmVWYWxpZCgnMjAwOS0x
MC0zMScpOwotc2hvdWxkQmVWYWxpZCgnMjAwOS0xMS0zMCcpOwotc2hvdWxkQmVWYWxpZCgnMjAw
OS0xMi0zMScpOwotc2hvdWxkQmVWYWxpZCgnMjAwOC0wMi0yOScpOwotc2hvdWxkQmVWYWxpZCgn
MjAwMC0wMi0yOScpOwotCi0vLyBJbnZhbGlkIHZhbHVlcwotc2hvdWxkQmVJbnZhbGlkKCcgMjAw
OS0wOS0wNyAnKTsKLXNob3VsZEJlSW52YWxpZCgnYScpOwotc2hvdWxkQmVJbnZhbGlkKCctMS0w
OS0wNycpOwotc2hvdWxkQmVJbnZhbGlkKCcwMDAwLTEyLTMxJyk7Ci1zaG91bGRCZUludmFsaWQo
JzAwMDAtMDEtMDEnKTsKLXNob3VsZEJlSW52YWxpZCgnMjc1NzYwLTA5LTE0Jyk7Ci1zaG91bGRC
ZUludmFsaWQoJzIxNDc0ODM2NDgtMTItMzEnKTsKLXNob3VsZEJlSW52YWxpZCgnMjAwOS8wOS8w
NycpOwotc2hvdWxkQmVJbnZhbGlkKCcyMDA5MDkwNycpOwotc2hvdWxkQmVJbnZhbGlkKCcyMDA5
LS0yLTA3Jyk7Ci1zaG91bGRCZUludmFsaWQoJzIwMDktMDAtMDcnKTsKLXNob3VsZEJlSW52YWxp
ZCgnMjAwOS0xMy0wNycpOwotc2hvdWxkQmVJbnZhbGlkKCcyMDA5LXh4LTMwJyk7Ci1zaG91bGRC
ZUludmFsaWQoJzIwMDktMDEtMzInKTsKLXNob3VsZEJlSW52YWxpZCgnMjAwOS0wMi0yOScpOwot
c2hvdWxkQmVJbnZhbGlkKCcyMDA5LTAzLTMyJyk7Ci1zaG91bGRCZUludmFsaWQoJzIwMDktMDQt
MzEnKTsKLXNob3VsZEJlSW52YWxpZCgnMjAwOS0wNS0zMicpOwotc2hvdWxkQmVJbnZhbGlkKCcy
MDA5LTA2LTMxJyk7Ci1zaG91bGRCZUludmFsaWQoJzIwMDktMDctMzInKTsKLXNob3VsZEJlSW52
YWxpZCgnMjAwOS0wOC0zMicpOwotc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTMxJyk7Ci1zaG91
bGRCZUludmFsaWQoJzIwMDktMTAtMzInKTsKLXNob3VsZEJlSW52YWxpZCgnMjAwOS0xMS0zMScp
Owotc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTEyLTMyJyk7Ci1zaG91bGRCZUludmFsaWQoJzIxMDAt
MDItMjknKTsKLXNob3VsZEJlSW52YWxpZCgnMjAwOS0wOS0wMCcpOwotc2hvdWxkQmVJbnZhbGlk
KCcyMDA5LTA5LScpOwotc2hvdWxkQmVJbnZhbGlkKCcyMDA5LTA5LTcnKTsKLXNob3VsZEJlSW52
YWxpZCgnMjAwOS0wOS0wMDEnKTsKLXNob3VsZEJlSW52YWxpZCgnMjAwOS0wOS14eCcpOwotc2hv
dWxkQmVJbnZhbGlkKCcyMDA5LTA5Jyk7Ci1zaG91bGRCZUludmFsaWQoJzIwMDknKTsKLQotLy8g
RGlzYWJsZWQKLXNob3VsZEJlVmFsaWQoJzIwMDktMDknLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLXVybC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5
U3RhdGUtdHlwZU1pc21hdGNoLXVybC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZGY0MTkxMTRmZmJiMjAyMzAzYzM3YmY0NjAxNDY0YWRhMGE3NGMyZC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC11cmwuanMKKysrIC9kZXYvbnVs
bApAQCAtMSw4MiArMCwwIEBACi1kZXNjcmlwdGlvbigiSW5wdXQgdHlwZT11cmwgdmFsaWRhdGlv
biB0ZXN0Iik7Ci0KLWZ1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkLCBkaXNh
YmxlZCkgewotICAgIGkudmFsdWUgPSB2YWx1ZTsKLSAgICBpLmRpc2FibGVkID0gISFkaXNhYmxl
ZDsKLSAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7Ci0gICAgdmFyIGRp
ZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKLSAgICB2YXIgcmVzdWx0VGV4dCA9
IHZhbHVlICsgJyBpcyAnICsgKGRpZFBhc3MgPyAnYSBjb3JyZWN0ICcgOiAnYW4gaW5jb3JyZWN0
ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpICsgJyB1cmwnICsgKGRpc2FibGVk
ID8gJyB3aGVuIGRpc2FibGVkLicgOiAnLicpOwotICAgIGlmIChkaWRQYXNzKQotICAgICAgICB0
ZXN0UGFzc2VkKHJlc3VsdFRleHQpOwotICAgIGVsc2UKLSAgICAgICAgdGVzdEZhaWxlZChyZXN1
bHRUZXh0KTsKLX0KLQotZnVuY3Rpb24gZXhwZWN0VmFsaWQodmFsdWUsIGRpc2FibGVkKSB7Ci0g
ICAgY2hlY2sodmFsdWUsIGZhbHNlLCBkaXNhYmxlZCk7Ci19Ci0KLWZ1bmN0aW9uIGV4cGVjdElu
dmFsaWQodmFsdWUpIHsKLSAgICBjaGVjayh2YWx1ZSwgdHJ1ZSk7Ci19Ci0KLXZhciBpID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLWkudHlwZSA9ICd1cmwnOwotCi0vLyBWYWxp
ZCB2YWx1ZXMKLWV4cGVjdFZhbGlkKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20nKTsKLWV4cGVjdFZh
bGlkKCdodHRwOi8vZm9vOmJhckB3d3cuZ29vZ2xlLmNvbTo4MCcpOwotZXhwZWN0VmFsaWQoJ2h0
dHA6Ly9sb2NhbGhvc3QnKTsKLWV4cGVjdFZhbGlkKCdodHRwOi8vMTI3LjAuMC4xJyk7Ci1leHBl
Y3RWYWxpZCgnaHR0cDovL1swMDAwOjAwMDA6MDAwMDowMDAwOjAwMDA6MDAwMDo3ZjAwOjAwMDFd
LycpOwotZXhwZWN0VmFsaWQoJ2h0dHA6Ly9bMDAwMDowMDAwOjAwMDA6MDAwMDowMDAwOjAwMDA6
MTI3LjAuMC4xXS8nKTsKLWV4cGVjdFZhbGlkKCdodHRwOi8vWzo6N2YwMDowMDAxXS8nKTsKLWV4
cGVjdFZhbGlkKCdodHRwOi8vWzE6OjI6M10vJyk7Ci1leHBlY3RWYWxpZCgnaHR0cDovL1swMDAw
OjA6OmZmZmY6MTAuMC4wLjFdLycpOwotZXhwZWN0VmFsaWQoJ2h0dHA6Ly9hJyk7Ci1leHBlY3RW
YWxpZCgnaHR0cDovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9ybHM9ZW4mcT1XZWJLaXQmaWU9VVRG
LTgmb2U9VVRGLTgnKTsKLWV4cGVjdFZhbGlkKCdmdHA6Ly9mdHAubXlob3N0LmNvbScpOwotZXhw
ZWN0VmFsaWQoJ3NzaDovL3NzaC5teWhvc3QuY29tJyk7Ci1leHBlY3RWYWxpZCgnbWFpbHRvOnRr
ZW50QGNocm9taXVtLm9yZycpOwotZXhwZWN0VmFsaWQoJ21haWx0bzp0a2VudEBjaHJvbWl1bS5v
cmc/Ym9keT1oZWxsbycpOwotZXhwZWN0VmFsaWQoJ2ZpbGU6Ly8vVXNlcnMvdGtlbnQvLnpzaHJj
Jyk7Ci1leHBlY3RWYWxpZCgnZmlsZTovLy9DOi9odW1hbi5zeXMnKTsKLWV4cGVjdFZhbGlkKCd0
ZWw6KzEtODAwLTEyMzQ1O2V4dD05OTk5Jyk7Ci1leHBlY3RWYWxpZCgndGVsOjAzKDEyMzQpNTY3
OCcpOwotZXhwZWN0VmFsaWQoJ3NvbWVzY2hlbWU6Ly9zc2gubXlob3N0LmNvbScpOwotZXhwZWN0
VmFsaWQoJ2h0dHA6Ly9hL1xcXC9cJ1wnKjw+LycpOwotZXhwZWN0VmFsaWQoJ2h0dHA6Ly9hL2Rm
cy9ca2RzQHNkcycpOwotZXhwZWN0VmFsaWQoJ2h0dHA6Ly9hLmE6MS9zZWFyY2g/YSZiJyk7Ci1l
eHBlY3RWYWxpZCgnaHR0cDovL3d3dy5nb29nbGUuY29tLyN0b3AnKTsKLWV4cGVjdFZhbGlkKCdo
dHRwOi8vXHUzMEM2XHUzMEI5XHUzMEM4XHUzMDAyanAvXHUzMEQxXHUzMEI5P1x1NTQwRFx1NTI0
RD1cdTUwMjQnKTsKLQotLy8gSW52YWxpZCB2YWx1ZXMKLWV4cGVjdEludmFsaWQoJ3d3dy5nb29n
bGUuY29tJyk7Ci1leHBlY3RJbnZhbGlkKCcxMjcuMC4wLjEnKTsKLWV4cGVjdEludmFsaWQoJy5j
b20nKTsKLWV4cGVjdEludmFsaWQoJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbTphYWFhJyk7Ci1leHBl
Y3RJbnZhbGlkKCc6Ly8nKTsKLWV4cGVjdEludmFsaWQoJy9odHRwOi8vd3d3Lmdvb2dsZS5jb20n
KTsKLWV4cGVjdEludmFsaWQoJy0tLS1mdHA6Ly9hJyk7Ci1leHBlY3RJbnZhbGlkKCdzY2hlbWUv
L2EnKTsKLWV4cGVjdEludmFsaWQoJ2h0dHA6Ly9bdjguOjo6XS8nKTsKLQotLy8gS1VSTCdzIGhv
c3QgbmFtZSByZXN0cmljdGlvbiBpcyBzdHJpY3RlciB0aGFuIFJGQyAzOTg2LiBLVVJMR29vZ2xl
IGlzIG5vdC4KLWkudmFsdWUgPSAnaHR0cDovL3d3dy5nKipnbGUuY29tJwotdmFyIHN0cmljdEhv
c3QgPSBpLnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKLWlmIChzdHJpY3RIb3N0KSB7Ci0gICAgZXhw
ZWN0SW52YWxpZCgnaHR0cDovLyB3d3cuZ29vZ2xlLmNvbScpOwotICAgIGV4cGVjdEludmFsaWQo
J2h0dHA6Ly93d3cgLmdvb2dsZS5jb20nKTsKLSAgICBleHBlY3RJbnZhbGlkKCdodHRwOi8vd3d3
LiYjMTA7Z29vZ2xlLiYjMTM7Y29tJyk7Ci0gICAgZXhwZWN0SW52YWxpZCgnaHR0cDovL2hvc3Qr
Jyk7Ci0gICAgZXhwZWN0SW52YWxpZCgnaHR0cDovL215dXJsIScpOwotfSBlbHNlIHsKLSAgICBl
eHBlY3RWYWxpZCgnaHR0cDovLyB3d3cuZ29vZ2xlLmNvbScpOwotICAgIGV4cGVjdFZhbGlkKCdo
dHRwOi8vd3d3IC5nb29nbGUuY29tJyk7Ci0gICAgZXhwZWN0VmFsaWQoJ2h0dHA6Ly93d3cuJiMx
MDtnb29nbGUuJiMxMztjb20nKTsKLSAgICBleHBlY3RWYWxpZCgnaHR0cDovL2hvc3QrJyk7Ci0g
ICAgZXhwZWN0VmFsaWQoJ2h0dHA6Ly9teXVybCEnKTsKLX0KLQotLy8gRGlzYWJsZWQKLWV4cGVj
dFZhbGlkKCdpbnZhbGlkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2luZy1yYWRpby5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdmFsdWVNaXNz
aW5nLXJhZGlvLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjBiYjRhNjk4ZWI3
MGQ2NWFjZjg5M2RhYWNmNDNjNWNkZjQyMGUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1Zh
bGlkaXR5U3RhdGUtdmFsdWVNaXNzaW5nLXJhZGlvLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNzYg
KzAsMCBAQAotZGVzY3JpcHRpb24oJ3ZhbHVlTWlzc2luZyB0ZXN0cyBmb3IgcmFkaW8gYnV0dG9u
cycpOwotCi12YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci1kb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0KLWRlYnVnKCdXaXRob3V0IGZvcm0gZWxl
bWVudCcpOwotcGFyZW50LmlubmVySFRNTCA9ICc8aW5wdXQgbmFtZT12aWN0aW0gdHlwZT1yYWRp
byByZXF1aXJlZD4nCi0gICAgKyAnPGlucHV0IG5hbWU9dmljdGltIHR5cGU9cmFkaW8+JwotICAg
ICsgJzxpbnB1dCBuYW1lPXZpY3RpbSB0eXBlPXJhZGlvPic7Ci12YXIgaW5wdXRzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeU5hbWUoJ3ZpY3RpbScpOwotZGVidWcoJ05vIGNoZWNrZWQgYnV0dG9u
OicpOwotc2hvdWxkQmVUcnVlKCdpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1z
aG91bGRCZVRydWUoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLXNob3VsZEJl
VHJ1ZSgnaW5wdXRzWzJdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOwotZGVidWcoJ1RoZSBzZWNv
bmQgYnV0dG9uIGhhcyBiZWVuIGNoZWNrZWQ6Jyk7Ci1pbnB1dHNbMV0uY2hlY2tlZCA9IHRydWU7
Ci1zaG91bGRCZUZhbHNlKCdpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1zaG91
bGRCZUZhbHNlKCdpbnB1dHNbMV0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1zaG91bGRCZUZh
bHNlKCdpbnB1dHNbMl0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1kZWJ1ZygnVGhlIGZpcnN0
IGJ1dHRvbiBoYXMgYmVlbiBjaGVja2VkOicpOwotaW5wdXRzWzBdLmNoZWNrZWQgPSB0cnVlOwot
c2hvdWxkQmVGYWxzZSgnaW5wdXRzWzBdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOwotc2hvdWxk
QmVGYWxzZSgnaW5wdXRzWzFdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOwotc2hvdWxkQmVGYWxz
ZSgnaW5wdXRzWzJdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOwotZGVidWcoJ1RoZSB0aGlyZCBi
dXR0b24gaGFzIGJlZW4gY2hlY2tlZDonKTsKLWlucHV0c1syXS5jaGVja2VkID0gdHJ1ZTsKLXNo
b3VsZEJlRmFsc2UoJ2lucHV0c1swXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLXNob3VsZEJl
RmFsc2UoJ2lucHV0c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLXNob3VsZEJlRmFsc2Uo
J2lucHV0c1syXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLQotZGVidWcoJycpOwotZGVidWco
J1dpdGggZm9ybSBlbGVtZW50Jyk7Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPicKLSAgICAr
ICc8aW5wdXQgbmFtZT12aWN0aW0gdHlwZT1yYWRpbyByZXF1aXJlZD4nCi0gICAgKyAnPGlucHV0
IG5hbWU9dmljdGltIHR5cGU9cmFkaW8+JwotICAgICsgJzxpbnB1dCBuYW1lPXZpY3RpbSB0eXBl
PXJhZGlvPicKLSAgICArICc8L2Zvcm0+JzsKLWlucHV0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlOYW1lKCd2aWN0aW0nKTsKLWRlYnVnKCdObyBjaGVja2VkIGJ1dHRvbjonKTsKLXNob3VsZEJl
VHJ1ZSgnaW5wdXRzWzBdLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOwotc2hvdWxkQmVUcnVlKCdp
bnB1dHNbMV0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1zaG91bGRCZVRydWUoJ2lucHV0c1sy
XS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLWRlYnVnKCdUaGUgZmlyc3QgYnV0dG9uIGhhcyBi
ZWVuIGNoZWNrZWQ6Jyk7Ci1pbnB1dHNbMF0uY2hlY2tlZCA9IHRydWU7Ci1zaG91bGRCZUZhbHNl
KCdpbnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1zaG91bGRCZUZhbHNlKCdpbnB1
dHNbMV0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1zaG91bGRCZUZhbHNlKCdpbnB1dHNbMl0u
dmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1kZWJ1ZygnVGhlIHNlY29uZCBidXR0b24gaGFzIGJl
ZW4gY2hlY2tlZDonKTsKLWlucHV0c1sxXS5jaGVja2VkID0gdHJ1ZTsKLXNob3VsZEJlRmFsc2Uo
J2lucHV0c1swXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLXNob3VsZEJlRmFsc2UoJ2lucHV0
c1sxXS52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLXNob3VsZEJlRmFsc2UoJ2lucHV0c1syXS52
YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLWRlYnVnKCdUaGUgdGhpcmQgYnV0dG9uIGhhcyBiZWVu
IGNoZWNrZWQ6Jyk7Ci1pbnB1dHNbMl0uY2hlY2tlZCA9IHRydWU7Ci1zaG91bGRCZUZhbHNlKCdp
bnB1dHNbMF0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1zaG91bGRCZUZhbHNlKCdpbnB1dHNb
MV0udmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1zaG91bGRCZUZhbHNlKCdpbnB1dHNbMl0udmFs
aWRpdHkudmFsdWVNaXNzaW5nJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdOb3QgaW4gYSByYWRp
byBidXR0b24gZ3JvdXAnKTsKLXZhciByZXF1aXJlZEJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2lucHV0Jyk7Ci1yZXF1aXJlZEJ1dHRvbi50eXBlID0gJ3JhZGlvJzsKLXJlcXVpcmVk
QnV0dG9uLm5hbWUgPSAndmljdGltJzsKLXJlcXVpcmVkQnV0dG9uLnJlcXVpcmVkID0gdHJ1ZTsK
LXNob3VsZEJlRmFsc2UoJ3JlcXVpcmVkQnV0dG9uLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOwot
Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzxpbnB1dCBuYW1lPXZpY3RpbSB0eXBlPXJhZGlvIHJlcXVp
cmVkPjxpbnB1dCBuYW1lPXZpY3RpbSB0eXBlPXJhZGlvPic7Ci1yZXF1aXJlZEJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCd2aWN0aW0nKVswXTsKLXZhciBidXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5TmFtZSgndmljdGltJylbMV07Ci1zaG91bGRCZVRydWUoJ3JlcXVp
cmVkQnV0dG9uLnZhbGlkaXR5LnZhbHVlTWlzc2luZycpOwotc2hvdWxkQmVUcnVlKCdidXR0b24u
dmFsaWRpdHkudmFsdWVNaXNzaW5nJyk7Ci1wYXJlbnQucmVtb3ZlQ2hpbGQoYnV0dG9uKTsKLXNo
b3VsZEJlRmFsc2UoJ2J1dHRvbi52YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLXBhcmVudC5yZW1v
dmVDaGlsZChyZXF1aXJlZEJ1dHRvbik7Ci1zaG91bGRCZUZhbHNlKCdyZXF1aXJlZEJ1dHRvbi52
YWxpZGl0eS52YWx1ZU1pc3NpbmcnKTsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvY2hlY2tWYWxpZGl0eS1jYW5jZWwuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9jaGVja1ZhbGlkaXR5LWNhbmNlbC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzBjMDRmMDM4ZmQ2MDA1ODA0MDNjODRjNmZmMjY4YjdlMzA5
MGNlMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9jaGVja1ZhbGlkaXR5LWNhbmNlbC5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0cyBmb3IgY2hl
Y2tWYWxpZGl0eSgpIHdpdGggaW52YWxpZCBldmVudCBjYW5jZWxpbmcnKTsKLQotdmFyIHBhcmVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChwYXJlbnQpOwotcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48aW5wdXQgbmFtZT1pIHJl
cXVpcmVkPjwvZm9ybT4nOwotdmFyIGZvcm0gPSBwYXJlbnQuZmlyc3RDaGlsZDsKLXZhciBpbnB1
dCA9IGZvcm0uZmlyc3RDaGlsZDsKLQotZGVidWcoJyJpbnZhbGlkIiBldmVudCBpcyBub3QgY2Fu
Y2VsZWQuJyk7Ci12YXIgaW52YWxpZEZpcmVkICA9IGZhbHNlOwotdmFyIG5vdGhpbmdMaXN0ZW5l
ciA9IHt9Owotbm90aGluZ0xpc3RlbmVyLmhhbmRsZUV2ZW50ID0gZnVuY3Rpb24oZXZlbnQpIHsK
LSAgICBpbnZhbGlkRmlyZWQgPSB0cnVlOwotfTsKLXNob3VsZEJlVHJ1ZSgnaW5wdXQuYWRkRXZl
bnRMaXN0ZW5lcigiaW52YWxpZCIsIG5vdGhpbmdMaXN0ZW5lciwgZmFsc2UpOyAhaW5wdXQuY2hl
Y2tWYWxpZGl0eSgpICYmIGludmFsaWRGaXJlZCcpOwotc2hvdWxkQmVUcnVlKCdpbnZhbGlkRmly
ZWQgPSBmYWxzZTsgIWZvcm0uY2hlY2tWYWxpZGl0eSgpICYmIGludmFsaWRGaXJlZCcpOwotaW5w
dXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW52YWxpZCcsIG5vdGhpbmdMaXN0ZW5lciwgZmFsc2Up
OwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnImludmFsaWQiIGV2ZW50IGlzIGNhbmNlbGVkLicpOwot
aW52YWxpZEZpcmVkID0gZmFsc2U7Ci12YXIgY2FuY2VsTGlzdGVuZXIgPSB7fTsKLWNhbmNlbExp
c3RlbmVyLmhhbmRsZUV2ZW50ID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICBpbnZhbGlkRmlyZWQg
PSB0cnVlOwotICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci19OwotLy8gRXZlbiBpZiAnaW52
YWxpZCcgaXMgY2FuY2VsZWQsIHRoZSBpbnB1dC5jaGVja1ZhbGlkaXR5KCkgcmVzdWx0IGlzIHN0
aWxsIGZhbHNlLgotc2hvdWxkQmVUcnVlKCdpbnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnZhbGlk
IiwgY2FuY2VsTGlzdGVuZXIsIGZhbHNlKTsgIWlucHV0LmNoZWNrVmFsaWRpdHkoKSAmJiBpbnZh
bGlkRmlyZWQnKTsKLS8vIGZvcm0uY2hlY2tWYWxpZGl0eSgpIGFsc28gc2hvdWxkIGJlIGZhbHNl
Lgotc2hvdWxkQmVUcnVlKCdpbnZhbGlkRmlyZWQgPSBmYWxzZTsgIWZvcm0uY2hlY2tWYWxpZGl0
eSgpICYmIGludmFsaWRGaXJlZCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvY2hlY2tWYWxpZGl0eS1oYW5kbGVyLXVwZGF0ZXMtZG9tLmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvY2hlY2tWYWxpZGl0eS1oYW5kbGVyLXVw
ZGF0ZXMtZG9tLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODgwMjlhNmMwM2Y0
ZmYxMzE2NWZkOTIwYTU3NTg1NjUyMjA1NDlhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2No
ZWNrVmFsaWRpdHktaGFuZGxlci11cGRhdGVzLWRvbS5qcworKysgL2Rldi9udWxsCkBAIC0xLDg2
ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdIVE1MRm9ybUVsZW1lbnQ6OmNoZWNrVmFsaWRpdHkoKSB3
aXRoIGNhc2VzIHRoYXQgZXZlbnQgaGFuZGxlcnMgY2FsbGVkIGJ5IGNoZWNrVmFsaWRpdHkoKSB1
cGRhdGVzIERPTSBzdHJ1Y3R1cmUuJykKLQotdmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOwotCi0vLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi1kZWJ1ZygnVGhlIHRhcmdldCBmb3JtIGlzIHJlbW92ZWQuJyk7Ci1wYXJlbnQuaW5u
ZXJIVE1MID0gJzxmb3JtIGlkPWYxPjxpbnB1dCBuYW1lPWkgaWQ9aSByZXF1aXJlZD48L2Zvcm0+
JzsKLXZhciBoYW5kbGVyID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICBwYXJlbnQuaW5uZXJIVE1M
ID0gJyc7Ci19OwotZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2knKS5hZGRFdmVudExpc3RlbmVy
KCdpbnZhbGlkJywgaGFuZGxlciwgZmFsc2UpOwotLy8gVGhlIHNwZWNpZmljaWF0aW9uIGRvZXNu
J3QgZGVmaW5lIHRoZSBiZWhhdmlvciBpbiB0aGlzIGNhc2UuCi0vLyBJdCdzIG9rIGlmIFdlYktp
dCBkb2Vzbid0IGNyYXNoLgotc2hvdWxkQmVGYWxzZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImYxIikuY2hlY2tWYWxpZGl0eSgpJyk7Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWRlYnVnKCcnKTsKLWRlYnVn
KCdBIGNvbnRyb2wgdG8gYmUgY2hlY2tlZCBpcyByZW1vdmVkLicpOwotcGFyZW50LmlubmVySFRN
TCA9ICc8Zm9ybSBpZD1mMT48aW5wdXQgbmFtZT1pMSBpZD1pMSByZXF1aXJlZD48aW5wdXQgbmFt
ZT1pMiBpZD1pMiByZXF1aXJlZD48L2Zvcm0+JzsKLXZhciBoYW5kbGVyMSA9IGZ1bmN0aW9uKGV2
ZW50KSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2YxJykucmVtb3ZlQ2hpbGQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2kyJykpOwotfTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpMScpLmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCBoYW5kbGVyMSwgZmFsc2UpOwotdmFy
IGhhbmRsZXIyQ2FsbGVkID0gZmFsc2U7Ci12YXIgaGFuZGxlcjIgPSBmdW5jdGlvbihldmVudCkg
ewotICAgIGhhbmRsZXIyQ2FsbGVkID0gdHJ1ZTsKLX07Ci1kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnaTInKS5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlkJywgaGFuZGxlcjIsIGZhbHNlKTsKLXNo
b3VsZEJlRmFsc2UoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMSIpLmNoZWNrVmFsaWRpdHko
KScpOwotLy8gSWYgdGhlIG5vZGUgd2FzIHJlbW92ZWQgZnJvbSB0aGUgZm9ybSwgaTIuY2hlY2tW
YWxpZGl0eSgpIGlzIGNhbGxlZCwgYnV0IGFuCi0vLyBpbnZhbGlkIGV2ZW50IGlzIG5vdCBmaXJl
ZCBiZWNhdXNlIGl0IGlzIG5vdCBpbiBhbnkgZG9jdW1lbnRzLgotc2hvdWxkQmVGYWxzZSgnaGFu
ZGxlcjJDYWxsZWQnKTsKLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVidWcoJycpOwotZGVidWcoJ0EgbmV3IGNv
bnRyb2wgaXMgYWRkZWQuJyk7Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtIGlkPWYxPjxpbnB1
dCBuYW1lPWkxIGlkPWkxIHJlcXVpcmVkPjwvZm9ybT4nOwotaGFuZGxlcjJDYWxsZWQgPSBmYWxz
ZTsKLWhhbmRsZXIyID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICBoYW5kbGVyMkNhbGxlZCA9IHRy
dWU7Ci19OwotaGFuZGxlcjEgPSBmdW5jdGlvbihldmVudCkgewotICAgIHZhciBpbnB1dCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0gICAgaW5wdXQubmFtZSA9ICdpMic7Ci0g
ICAgaW5wdXQucmVxdWlyZWQgPSB0cnVlOwotICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lu
dmFsaWQnLCBoYW5kbGVyMiwgZmFsc2UpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdm
MScpLmFwcGVuZENoaWxkKGlucHV0KTsKLX07Ci1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTEn
KS5hZGRFdmVudExpc3RlbmVyKCdpbnZhbGlkJywgaGFuZGxlcjEsIGZhbHNlKTsKLXNob3VsZEJl
RmFsc2UoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMSIpLmNoZWNrVmFsaWRpdHkoKScpOwot
Ly8gSWYgYSBuZXcgbm9kZSBpcyBhZGRlZCB0byB0aGUgZm9ybSwgY2hlY2tWYWxpZGl0eSgpIGRv
ZXNuJ3QgaGFuZGxlIGl0Lgotc2hvdWxkQmVGYWxzZSgnaGFuZGxlcjJDYWxsZWQnKTsKLQotLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotZGVidWcoJycpOwotZGVidWcoJ0EgY29udHJvbCBpcyBtb3ZlZCB0byBhbm90aGVy
IGZvcm0uJyk7Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtIGlkPWYxPjxpbnB1dCBuYW1lPWkx
IGlkPWkxIHJlcXVpcmVkPjxpbnB1dCBuYW1lPWkyIGlkPWkyIHJlcXVpcmVkPjwvZm9ybT4nCi0g
ICAgKyAnPGZvcm0gaWQ9ZjI+PC9mb3JtPic7Ci1oYW5kbGVyMSA9IGZ1bmN0aW9uKGV2ZW50KSB7
Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2YyJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2kyJykpOwotfTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMScp
LmFkZEV2ZW50TGlzdGVuZXIoJ2ludmFsaWQnLCBoYW5kbGVyMSwgZmFsc2UpOwotaGFuZGxlcjJD
YWxsZWQgPSBmYWxzZTsKLWhhbmRsZXIyID0gZnVuY3Rpb24oZXZlbnQpIHsKLSAgICBoYW5kbGVy
MkNhbGxlZCA9IHRydWU7Ci19OwotZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2kyJykuYWRkRXZl
bnRMaXN0ZW5lcignaW52YWxpZCcsIGhhbmRsZXIyLCBmYWxzZSk7Ci1zaG91bGRCZUZhbHNlKCdk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZjEiKS5jaGVja1ZhbGlkaXR5KCknKTsKLS8vIFRoZSBt
b3ZlZCBjb250cm9sIGlzIG5vdCBjaGVja2VkLgotc2hvdWxkQmVGYWxzZSgnaGFuZGxlcjJDYWxs
ZWQnKTsKLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotZGVidWcoJycpOwotZGVidWcoJ0EgY29udHJvbCBpcyBtb3Zl
ZCB0byBhbm90aGVyIGRvY3VtZW50LicpOwotcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybSBpZD1m
MT48aW5wdXQgbmFtZT1pMSBpZD1pMSByZXF1aXJlZD48L2Zvcm0+JzsKLXZhciBkb2MyID0gZG9j
dW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCk7Ci1oYW5kbGVyMSA9IGZ1
bmN0aW9uKGV2ZW50KSB7Ci0gICAgZG9jMi5ib2R5LmFwcGVuZENoaWxkKGRvYzIuYWRvcHROb2Rl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMScpKSk7Ci19OwotZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2kxJykuYWRkRXZlbnRMaXN0ZW5lcignaW52YWxpZCcsIGhhbmRsZXIxLCBmYWxzZSk7
Ci0vLyBpMSBpcyBub3QgbGlzdGVkIGluICd1bmhhbmRsZWQgaW52YWxpZCBjb250cm9scycgYmVj
YXVzZSBpdCB3YXMgbW92ZWQgdG8KLS8vIGFub3RoZXIgZG9jdW1lbnQuCi1zaG91bGRCZVRydWUo
J2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmMSIpLmNoZWNrVmFsaWRpdHkoKScpOwotCi1wYXJl
bnQuaW5uZXJIVE1MID0gJyc7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9mb3JtLWF0dHJpYnV0ZS1lbGVtZW50cy1vcmRlci5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLWVsZW1lbnRzLW9yZGVyLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MGRkNDA0MjdhNTk1ZjhmMWY3MmM3YjFh
M2MzMGI0OGFmMjliNWNkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRl
LWVsZW1lbnRzLW9yZGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTUxICswLDAgQEAKLWRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgZXhhbWluZXMgdGhlIG9yZGVyIG9mIHRoZSBlbGVtZW50cyBhdHRy
aWJ1dGUgb2YgYSBmb3JtIGVsZW1lbnQuIik7Ci0KLXZhciBjb250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVy
KTsKLWNvbnRhaW5lci5pbm5lckhUTUwgPSAnPGlucHV0IG5hbWU9dmljdGltIGlkPWJlZm9yZTEg
Zm9ybT1vd25lciAvPicgKwotICAgICc8aW5wdXQgbmFtZT12aWN0aW0gaWQ9YmVmb3JlMiBmb3Jt
PW93bmVyIC8+JyArCi0gICAgJzxmb3JtIGlkPW93bmVyIGFjdGlvbj0gbWV0aG9kPUdFVD4nICsK
LSAgICAnICAgIDxpbnB1dCBuYW1lPXZpY3RpbSBpZD1pbm5lcjEgZm9ybT1vd25lciAvPicgKwot
ICAgICcgICAgPGlucHV0IG5hbWU9dmljdGltIGlkPWlubmVyMiBmb3JtPW93bmVyIC8+JyArCi0g
ICAgJzwvZm9ybT4nICsKLSAgICAnPGlucHV0IG5hbWU9dmljdGltIGlkPWFmdGVyMSBmb3JtPW93
bmVyIC8+JyArCi0gICAgJzxpbnB1dCBuYW1lPXZpY3RpbSBpZD1hZnRlcjIgZm9ybT1vd25lciAv
Pic7Ci0KLXZhciBvd25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvd25lcicpOwotdmFy
IGJlZm9yZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmVmb3JlMScpOwotdmFyIGJlZm9y
ZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmVmb3JlMicpOwotdmFyIGlubmVyMSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbm5lcjEnKTsKLXZhciBpbm5lcjIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaW5uZXIyJyk7Ci12YXIgYWZ0ZXIxID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2FmdGVyMScpOwotdmFyIGFmdGVyMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdh
ZnRlcjInKTsKLQotZGVidWcoJy0gVGVzdCBmb3IgdGhlIGNhc2Ugd2hlcmUgc29tZSBlbGVtZW50
cyBhcmUgb3V0c2lkZSBvZiB0aGUgZm9ybS4nKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50cy5s
ZW5ndGgnLCAnNicpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2JlZm9yZTEnKTsK
LXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUyJyk7Ci1zaG91bGRCZSgnb3du
ZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIxJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbM10n
LCAnaW5uZXIyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNF0nLCAnYWZ0ZXIxJyk7Ci1z
aG91bGRCZSgnb3duZXIuZWxlbWVudHNbNV0nLCAnYWZ0ZXIyJyk7Ci0KLWRlYnVnKCcnKTsKLWRl
YnVnKCctIFRlc3QgZm9yIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiB0aGUgZm9ybSBhdHRyaWJ1dGUg
b2YgYSBlbGVtZW50IHdoaWNoIGlzIGxvY2F0ZWQgYmVmb3JlIHRoZSBmb3JtIG93bmVyLicpOwot
YmVmb3JlMi5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnJzsKLXNob3VsZEJlKCdvd25lci5l
bGVtZW50cy5sZW5ndGgnLCAnNScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2Jl
Zm9yZTEnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdpbm5lcjEnKTsKLXNob3Vs
ZEJlKCdvd25lci5lbGVtZW50c1syXScsICdpbm5lcjInKTsKLXNob3VsZEJlKCdvd25lci5lbGVt
ZW50c1szXScsICdhZnRlcjEnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1s0XScsICdhZnRl
cjInKTsKLWJlZm9yZTIuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ293bmVyJzsKLXNob3Vs
ZEJlKCdvd25lci5lbGVtZW50cy5sZW5ndGgnLCAnNicpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1l
bnRzWzBdJywgJ2JlZm9yZTEnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZv
cmUyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIxJyk7Ci1zaG91bGRC
ZSgnb3duZXIuZWxlbWVudHNbM10nLCAnaW5uZXIyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVu
dHNbNF0nLCAnYWZ0ZXIxJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNV0nLCAnYWZ0ZXIy
Jyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCctIFRlc3QgZm9yIGNoYW5naW5nIHRoZSB2YWx1ZSBv
ZiB0aGUgZm9ybSBhdHRyaWJ1dGUgb2YgYSBlbGVtZW50IHdoaWNoIGlzIGxvY2F0ZWQgaW5zaWRl
IG9mIHRoZSBmb3JtIG93bmVyLicpOwotaW5uZXIyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9
ICcnOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcsICc1Jyk7Ci1zaG91bGRCZSgn
b3duZXIuZWxlbWVudHNbMF0nLCAnYmVmb3JlMScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRz
WzFdJywgJ2JlZm9yZTInKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1syXScsICdpbm5lcjEn
KTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1szXScsICdhZnRlcjEnKTsKLXNob3VsZEJlKCdv
d25lci5lbGVtZW50c1s0XScsICdhZnRlcjInKTsKLWlubmVyMi5hdHRyaWJ1dGVzWydmb3JtJ10u
dmFsdWUgPSAnb3duZXInOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcsICc2Jyk7
Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMF0nLCAnYmVmb3JlMScpOwotc2hvdWxkQmUoJ293
bmVyLmVsZW1lbnRzWzFdJywgJ2JlZm9yZTInKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sy
XScsICdpbm5lcjEnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1szXScsICdpbm5lcjInKTsK
LXNob3VsZEJlKCdvd25lci5lbGVtZW50c1s0XScsICdhZnRlcjEnKTsKLXNob3VsZEJlKCdvd25l
ci5lbGVtZW50c1s1XScsICdhZnRlcjInKTsKLQotZGVidWcoJycpOwotZGVidWcoJy0gVGVzdCBm
b3IgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIHRoZSBmb3JtIGF0dHJpYnV0ZSBvZiBhIGVsZW1lbnQg
d2hpY2ggaXMgbG9jYXRlZCBhZnRlciB0aGUgZm9ybSBvd25lci4nKTsKLWFmdGVyMS5hdHRyaWJ1
dGVzWydmb3JtJ10udmFsdWUgPSAnJzsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50cy5sZW5ndGgn
LCAnNScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2JlZm9yZTEnKTsKLXNob3Vs
ZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxl
bWVudHNbMl0nLCAnaW5uZXIxJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbM10nLCAnaW5u
ZXIyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNF0nLCAnYWZ0ZXIyJyk7Ci1hZnRlcjEu
YXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ293bmVyJzsKLXNob3VsZEJlKCdvd25lci5lbGVt
ZW50cy5sZW5ndGgnLCAnNicpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2JlZm9y
ZTEnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUyJyk7Ci1zaG91bGRC
ZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIxJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVu
dHNbM10nLCAnaW5uZXIyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNF0nLCAnYWZ0ZXIx
Jyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNV0nLCAnYWZ0ZXIyJyk7Ci0KLWRlYnVnKCcn
KTsKLWRlYnVnKCctIFRlc3QgZm9yIHNldHRpbmcgZm9ybSBhdHRyaWJ1dGUgb2YgZWxlbWVudHMg
aW4gcmV2ZXJzZSBvcmRlci4nKTsKLWJlZm9yZTEuYXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0g
Jyc7Ci1iZWZvcmUyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICcnOwotaW5uZXIxLmF0dHJp
YnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICcnOwotaW5uZXIyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1
ZSA9ICcnOwotYWZ0ZXIxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICcnOwotYWZ0ZXIyLmF0
dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICcnOwotCi1hZnRlcjIuYXR0cmlidXRlc1snZm9ybSdd
LnZhbHVlID0gJ293bmVyJzsKLWFmdGVyMS5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnb3du
ZXInOwotaW5uZXIyLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7Ci1pbm5lcjEu
YXR0cmlidXRlc1snZm9ybSddLnZhbHVlID0gJ293bmVyJzsKLWJlZm9yZTIuYXR0cmlidXRlc1sn
Zm9ybSddLnZhbHVlID0gJ293bmVyJzsKLWJlZm9yZTEuYXR0cmlidXRlc1snZm9ybSddLnZhbHVl
ID0gJ293bmVyJzsKLQotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcsICc2Jyk7Ci1z
aG91bGRCZSgnb3duZXIuZWxlbWVudHNbMF0nLCAnYmVmb3JlMScpOwotc2hvdWxkQmUoJ293bmVy
LmVsZW1lbnRzWzFdJywgJ2JlZm9yZTInKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1syXScs
ICdpbm5lcjEnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1szXScsICdpbm5lcjInKTsKLXNo
b3VsZEJlKCdvd25lci5lbGVtZW50c1s0XScsICdhZnRlcjEnKTsKLXNob3VsZEJlKCdvd25lci5l
bGVtZW50c1s1XScsICdhZnRlcjInKTsKLQotZGVidWcoJycpOwotZGVidWcoJy0gVGVzdCBmb3Ig
c2V0dGluZyBmb3JtIGF0dHJpYnV0ZSBvZiBlbGVtZW50cyBpbiByYW5kb20gb3JkZXIuJyk7Ci1i
ZWZvcmUxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICcnOwotYmVmb3JlMi5hdHRyaWJ1dGVz
Wydmb3JtJ10udmFsdWUgPSAnJzsKLWlubmVyMS5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAn
JzsKLWlubmVyMi5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnJzsKLWFmdGVyMS5hdHRyaWJ1
dGVzWydmb3JtJ10udmFsdWUgPSAnJzsKLWFmdGVyMi5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUg
PSAnJzsKLQotYWZ0ZXIxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7Ci1iZWZv
cmUxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7Ci1pbm5lcjIuYXR0cmlidXRl
c1snZm9ybSddLnZhbHVlID0gJ293bmVyJzsKLWJlZm9yZTIuYXR0cmlidXRlc1snZm9ybSddLnZh
bHVlID0gJ293bmVyJzsKLWFmdGVyMi5hdHRyaWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnb3duZXIn
OwotaW5uZXIxLmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdvd25lcic7Ci0KLXNob3VsZEJl
KCdvd25lci5lbGVtZW50cy5sZW5ndGgnLCAnNicpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRz
WzBdJywgJ2JlZm9yZTEnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUy
Jyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIxJyk7Ci1zaG91bGRCZSgn
b3duZXIuZWxlbWVudHNbM10nLCAnaW5uZXIyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNb
NF0nLCAnYWZ0ZXIxJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNV0nLCAnYWZ0ZXIyJyk7
Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCctIFRlc3QgZm9yIHJlbW92aW5nL2FkZGluZyBlbGVtZW50
cycpOwotY29udGFpbmVyLnJlbW92ZUNoaWxkKGJlZm9yZTIpOwotb3duZXIucmVtb3ZlQ2hpbGQo
aW5uZXIyKTsKLWNvbnRhaW5lci5yZW1vdmVDaGlsZChhZnRlcjEpOwotc2hvdWxkQmUoJ293bmVy
LmVsZW1lbnRzLmxlbmd0aCcsICczJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMF0nLCAn
YmVmb3JlMScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzFdJywgJ2lubmVyMScpOwotc2hv
dWxkQmUoJ293bmVyLmVsZW1lbnRzWzJdJywgJ2FmdGVyMicpOwotY29udGFpbmVyLmluc2VydEJl
Zm9yZShiZWZvcmUyLCBvd25lcik7Ci1vd25lci5hcHBlbmRDaGlsZChpbm5lcjIpOwotY29udGFp
bmVyLmluc2VydEJlZm9yZShhZnRlcjEsIGFmdGVyMik7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVu
dHMubGVuZ3RoJywgJzYnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdiZWZvcmUx
Jyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMV0nLCAnYmVmb3JlMicpOwotc2hvdWxkQmUo
J293bmVyLmVsZW1lbnRzWzJdJywgJ2lubmVyMScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRz
WzNdJywgJ2lubmVyMicpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzRdJywgJ2FmdGVyMScp
Owotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzVdJywgJ2FmdGVyMicpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUtZWxlbWVu
dHMtb3JkZXIyLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1h
dHRyaWJ1dGUtZWxlbWVudHMtb3JkZXIyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMTUwYmQ3ZDZlYWI0ZjI0NDA0MDcyZjAzOTNhZmM2MzU0N2ExODBhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLWVsZW1lbnRzLW9yZGVyMi5qcworKysgL2Rldi9u
dWxsCkBAIC0xLDk2ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZXhhbWluZXMgdGhl
IG9yZGVyIG9mIHRoZSBlbGVtZW50cyBhdHRyaWJ1dGUgb2YgYSBmb3JtIGVsZW1lbnQgd2l0aCBm
b3JtLWFzc29jaWF0ZWQgZWxlbWVudHMgd2l0aCBmb3JtIGF0dHJpYnV0ZSBvciB3aXRvdXQgZm9y
bSBhdHRpYnV0ZS4iKTsKLQotdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpOwotCi1kZWJ1Zygn
Jyk7Ci1kZWJ1ZygnLSBUZXN0IGZvciB0aGUgY2FzZSB3aGVyZSBzb21lIGVsZW1lbnRzIGhhdmUg
Zm9ybSBhdHRyaWJ1dGUgYnV0IHNvbWUgb3RoZXJzIG5vdC4nKTsKLWNvbnRhaW5lci5pbm5lckhU
TUwgPSAnPGZvcm0gaWQ9b3duZXI+JyArCi0gICAgJyAgICA8aW5wdXQgaWQ9aW5wdXQxIG5hbWU9
dmljdGltIC8+JyArCi0gICAgJyAgICA8aW5wdXQgaWQ9aW5wdXQyIG5hbWU9dmljdGltIGZvcm09
b3duZXIgLz4nICsKLSAgICAnICAgIDxpbnB1dCBpZD1pbnB1dDMgbmFtZT12aWN0aW0gLz4nICsK
LSAgICAnPC9mb3JtPic7Ci12YXIgb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3du
ZXInKTsKLXZhciBpbnB1dDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQxJyk7Ci12
YXIgaW5wdXQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MicpOwotdmFyIGlucHV0
MyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dDMnKTsKLXNob3VsZEJlKCdvd25lci5l
bGVtZW50cy5sZW5ndGgnLCAnMycpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywgJ2lu
cHV0MScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzFdJywgJ2lucHV0MicpOwotc2hvdWxk
QmUoJ293bmVyLmVsZW1lbnRzWzJdJywgJ2lucHV0MycpOwotCi1jb250YWluZXIuaW5uZXJIVE1M
ID0gJzxmb3JtIGlkPW93bmVyPicgKwotICAgICcgICAgPGlucHV0IGlkPWlucHV0MSBuYW1lPXZp
Y3RpbSBmb3JtPW93bmVyIC8+JyArCi0gICAgJyAgICA8aW5wdXQgaWQ9aW5wdXQyIG5hbWU9dmlj
dGltIC8+JyArCi0gICAgJyAgICA8aW5wdXQgaWQ9aW5wdXQzIG5hbWU9dmljdGltIGZvcm09b3du
ZXIgLz4nICsKLSAgICAnPC9mb3JtPic7Ci1vd25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdvd25lcicpOwotaW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MScpOwot
aW5wdXQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MicpOwotaW5wdXQzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MycpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRz
Lmxlbmd0aCcsICczJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMF0nLCAnaW5wdXQxJyk7
Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMV0nLCAnaW5wdXQyJyk7Ci1zaG91bGRCZSgnb3du
ZXIuZWxlbWVudHNbMl0nLCAnaW5wdXQzJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCctIFRlc3Qg
Zm9yIGluc2VydGluZy9yZW1vdmluZyBhIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50IHdpdGhvdXQg
Zm9ybSBhdHRyaWJ1dGUuJyk7Ci1jb250YWluZXIuaW5uZXJIVE1MID0gJzxpbnB1dCBuYW1lPXZp
Y3RpbSBpZD1iZWZvcmUgZm9ybT1vd25lciAvPicgKwotICAgICc8Zm9ybSBpZD1vd25lciBhY3Rp
b249IG1ldGhvZD1HRVQ+JyArCi0gICAgJyAgICA8aW5wdXQgbmFtZT12aWN0aW0gaWQ9aW5uZXIg
Lz4nICsKLSAgICAnPC9mb3JtPicgKwotICAgICc8aW5wdXQgbmFtZT12aWN0aW0gaWQ9YWZ0ZXIg
Zm9ybT1vd25lciAvPic7Ci1vd25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvd25lcicp
OwotdmFyIGJlZm9yZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZWZvcmUnKTsKLXZhciBp
bm5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbm5lcicpOwotdmFyIGFmdGVyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FmdGVyJyk7Ci0KLXZhciBpbm5lcjIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdpbnB1dCcpOwotaW5uZXIyLm5hbWUgPSAndmljdGltJzsKLWlubmVyMi5p
ZCA9ICdpbm5lcjInOwotb3duZXIuYXBwZW5kQ2hpbGQoaW5uZXIyKTsKLXNob3VsZEJlKCdvd25l
ci5lbGVtZW50cy5sZW5ndGgnLCAnNCcpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzBdJywg
J2JlZm9yZScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzFdJywgJ2lubmVyJyk7Ci1zaG91
bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXIyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxl
bWVudHNbM10nLCAnYWZ0ZXInKTsKLQotb3duZXIucmVtb3ZlQ2hpbGQoaW5uZXIpOwotb3duZXIu
aW5zZXJ0QmVmb3JlKGlubmVyLCBpbm5lcjIpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxl
bmd0aCcsICc0Jyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMF0nLCAnYmVmb3JlJyk7Ci1z
aG91bGRCZSgnb3duZXIuZWxlbWVudHNbMV0nLCAnaW5uZXInKTsKLXNob3VsZEJlKCdvd25lci5l
bGVtZW50c1syXScsICdpbm5lcjInKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1szXScsICdh
ZnRlcicpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnLSBUZXN0IGZvciBpbnNlcnRpbmcvcmVtb3Zp
bmcgYSBmb3JtLWFzc29jaWF0ZWQgZWxlbWVudCB3aXRoIGZvcm0gYXR0cmlidXRlLicpOwotdmFy
IGJlZm9yZTIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwotYmVmb3JlMi5uYW1l
ID0gJ3ZpY3RpbSc7Ci1iZWZvcmUyLmlkID0gJ2JlZm9yZTInOwotYmVmb3JlMi5zZXRBdHRyaWJ1
dGUoJ2Zvcm0nLCAnb3duZXInKTsKLWNvbnRhaW5lci5pbnNlcnRCZWZvcmUoYmVmb3JlMiwgb3du
ZXIpOwotdmFyIGFmdGVyMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1hZnRl
cjIubmFtZSA9ICd2aWN0aW0nOwotYWZ0ZXIyLmlkID0gJ2FmdGVyMic7Ci1hZnRlcjIuc2V0QXR0
cmlidXRlKCdmb3JtJywgJ293bmVyJyk7Ci1jb250YWluZXIuYXBwZW5kQ2hpbGQoYWZ0ZXIyKTsK
LXNob3VsZEJlKCdvd25lci5lbGVtZW50cy5sZW5ndGgnLCAnNicpOwotc2hvdWxkQmUoJ293bmVy
LmVsZW1lbnRzWzBdJywgJ2JlZm9yZScpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzFdJywg
J2JlZm9yZTInKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1syXScsICdpbm5lcicpOwotc2hv
dWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdJywgJ2lubmVyMicpOwotc2hvdWxkQmUoJ293bmVyLmVs
ZW1lbnRzWzRdJywgJ2FmdGVyJyk7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNV0nLCAnYWZ0
ZXIyJyk7Ci0KLWNvbnRhaW5lci5yZW1vdmVDaGlsZChiZWZvcmUpOwotY29udGFpbmVyLnJlbW92
ZUNoaWxkKGFmdGVyKTsKLWNvbnRhaW5lci5pbnNlcnRCZWZvcmUoYmVmb3JlLCBiZWZvcmUyKTsK
LWNvbnRhaW5lci5pbnNlcnRCZWZvcmUoYWZ0ZXIsIGFmdGVyMik7Ci1zaG91bGRCZSgnb3duZXIu
ZWxlbWVudHMubGVuZ3RoJywgJzYnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1swXScsICdi
ZWZvcmUnKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxXScsICdiZWZvcmUyJyk7Ci1zaG91
bGRCZSgnb3duZXIuZWxlbWVudHNbMl0nLCAnaW5uZXInKTsKLXNob3VsZEJlKCdvd25lci5lbGVt
ZW50c1szXScsICdpbm5lcjInKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1s0XScsICdhZnRl
cicpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzVdJywgJ2FmdGVyMicpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUtZWxl
bWVudHMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtLWF0dHJp
YnV0ZS1lbGVtZW50cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmFmY2MwMzlj
NWE5Mjc4OGM4NmZlZGYxZDk2MGI1MDgwZGIxODJiZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9mb3JtLWF0dHJpYnV0ZS1lbGVtZW50cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAg
QEAKLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIGEgZm9ybSBlbGVtZW50IGNhbiBoYW5k
bGUgZWxlbWVudHMgb2Ygd2hpY2ggZm9ybSBhdHRyaWJ1dGUgcG9pbnRzIHRoZSBmb3JtIGVsZW1l
bnQgZXZlbiBpZiBlbGVtZW50cyBhcmUgb3V0c2lkZSBvZiB0aGUgZm9ybS4iKTsKLQotaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7Ci0KLXZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKLQotY29udGFpbmVy
LmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1rZXkxIHZhbHVlPXZhbHVlMSBp
ZD1vdXRlci1iZWZvcmUgZm9ybT1vd25lciAvPicgKwotICAgICc8Zm9ybSBpZD1vd25lciBhY3Rp
b249IiIgbWV0aG9kPSJHRVQiPicgKwotICAgICcgICAgPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9
a2V5MiB2YWx1ZT12YWx1ZTIgaWQ9aW5uZXIgZm9ybT1vd25lciAvPicgKwotICAgICc8L2Zvcm0+
JyArCi0gICAgJzxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPXN1Ym1pdHRlZCB2YWx1ZT10cnVlIGlk
PW91dGVyLWFmdGVyIGZvcm09b3duZXIgLz4nOwotCi12YXIgb3duZXIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnb3duZXInKTsKLXZhciBvdXRlckJlZm9yZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdvdXRlci1iZWZvcmUnKTsKLXZhciBpbm5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdpbm5lcicpOwotdmFyIG91dGVyQWZ0ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
b3V0ZXItYWZ0ZXInKTsKLXZhciBxdWVyeSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7Ci0KLWlm
IChxdWVyeS5pbmRleE9mKCdzdWJtaXR0ZWQ9dHJ1ZScpID09IC0xKSB7Ci0gICAgb3duZXIuc3Vi
bWl0KCk7Ci19IGVsc2UgewotICAgIGRlYnVnKCctIEVuc3VyZXMgdGhhdCBlbGVtZW50cyBhdHRy
aWJ1dGUgb2YgdGhlIGZvcm0gY29udGFpbnMgZWxlbWVudHMgd2hpY2ggYXJlIG91dHNpZGUgb2Yg
dGhlIGZvcm0uJyk7Ci0KLSAgICBzaG91bGRCZSgnb3duZXIuZWxlbWVudHMubGVuZ3RoJywgJzMn
KTsKLSAgICBzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMF0nLCAnb3V0ZXJCZWZvcmUnKTsKLSAg
ICBzaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMV0nLCAnaW5uZXInKTsKLSAgICBzaG91bGRCZSgn
b3duZXIuZWxlbWVudHNbMl0nLCAnb3V0ZXJBZnRlcicpOwotCi0gICAgZGVidWcoJycpOwotICAg
IGRlYnVnKCctIEVuc3VyZXMgdGhhdCBmb3JtIHN1Ym1pc3Npb24gY29udGFpbnMgbmFtZSBhbmQg
dmFsdWUgcGFpcnMgZm9yIHN1Y2ggZWxlbWVudHMuJyk7Ci0gICAgdmFyIHBhaXJzID0gcXVlcnku
c3Vic3RyKDEpLnNwbGl0KCcmJyk7Ci0gICAgc2hvdWxkQmUoJ3BhaXJzLmxlbmd0aCcsICczJyk7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYWlyc1swXScsICdrZXkxPXZhbHVlMScpOwot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGFpcnNbMV0nLCAna2V5Mj12YWx1ZTInKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BhaXJzWzJdJywgJ3N1Ym1pdHRlZD10cnVlJyk7Ci0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9mb3JtLWF0dHJpYnV0ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZTJhOTc1OTFhN2EwZGIwOTAzNDJjOTNiOGI2NmI0NDgyODU2ZDRkZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtLWF0dHJpYnV0ZS5qcworKysgL2Rldi9udWxsCkBAIC0x
LDEzMyArMCwwIEBACi1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgZm9ybSBhdHRy
aWJ1dGUgb2YgdGhlIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50cy4iKTsKLQotdmFyIGNvbnRhaW5l
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChjb250YWluZXIpOwotCi1kZWJ1ZygnLSBDaGVja3MgdGhlIGV4aXN0ZW5jZSBvZiB0aGUg
Zm9ybSBhdHRyaWJ1dGUgZm9yIGVhY2ggZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnRzLicpOwotZGVi
dWcoJ0ZJWE1FOiAmbHQ7bGFiZWwmZ3Q7IGRvZXNuXCd0IHN1cHBvcnQgdGhlIGZvcm0gYXR0cmli
dXRlIGZvciBub3cuJyk7Ci1jb250YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPW93bmVyPjwv
Zm9ybT4nICsKLSAgICAnPGJ1dHRvbiBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCi0gICAg
JzxmaWVsZHNldCBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCi0gICAgJzxpbnB1dCBuYW1l
PXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCi0gICAgJzxrZXlnZW4gbmFtZT12aWN0aW0gZm9ybT1v
d25lciAvPicgKwotICAgICc8bGFiZWwgbmFtZT12aWN0aW0gZm9ybT1vd25lciAvPicgKwotICAg
ICc8bWV0ZXIgbmFtZT12aWN0aW0gZm9ybT1vd25lciAvPicgKwotICAgICc8b2JqZWN0IG5hbWU9
dmljdGltIGZvcm09b3duZXI+PC9vYmplY3Q+JyArCi0gICAgJzxvdXRwdXQgbmFtZT12aWN0aW0g
Zm9ybT1vd25lciAvPicgKwotICAgICc8cHJvZ3Jlc3MgbmFtZT12aWN0aW0gZm9ybT1vd25lciAv
PicgKwotICAgICc8c2VsZWN0IG5hbWU9dmljdGltIGZvcm09b3duZXIgLz4nICsKLSAgICAnPHRl
eHRhcmVhIG5hbWU9dmljdGltIGZvcm09b3duZXIgLz4nOwotCi12YXIgb3duZXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnb3duZXInKTsKLXNob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgiYnV0dG9uIilbMF0uZm9ybScsICdvd25lcicpOwotc2hvdWxkQmUoJ2RvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmaWVsZHNldCIpWzBdLmZvcm0nLCAnb3duZXInKTsK
LXNob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXS5mb3Jt
JywgJ293bmVyJyk7Ci1zaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImtl
eWdlbiIpWzBdLmZvcm0nLCAnb3duZXInKTsKLXNob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgibGFiZWwiKVswXS5mb3JtJywgJ293bmVyJyk7Ci1zaG91bGRCZSgnZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGVyIilbMF0uZm9ybScsICdvd25lcicpOwotc2hv
dWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5mb3JtJywg
J293bmVyJyk7Ci1zaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm91dHB1
dCIpWzBdLmZvcm0nLCAnb3duZXInKTsKLXNob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgicHJvZ3Jlc3MiKVswXS5mb3JtJywgJ293bmVyJyk7Ci1zaG91bGRCZSgnZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNlbGVjdCIpWzBdLmZvcm0nLCAnb3duZXInKTsKLXNo
b3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEiKVswXS5mb3Jt
JywgJ293bmVyJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCctIEVuc3VyZXMgdGhhdCB0aGUgZm9y
bSBhdHRyaWJ1dGUgcG9pbnRzIHRoZSBmb3JtIG93bmVyIGV2ZW4gaWYgdGhlIGVsZW1lbnQgaXMg
d2l0aGluIGFub3RoZXIgZm9ybSBlbGVtZW50LicpOwotY29udGFpbmVyLmlubmVySFRNTCA9ICc8
Zm9ybSBpZD1vd25lcj48L2Zvcm0+JyArCi0gICAgJzxmb3JtIGlkPXNob3VsZE5vdEJlT3duZXI+
JyArCi0gICAgJyAgICA8aW5wdXQgaWQ9aW5wdXRFbGVtZW50IG5hbWU9dmljdGltIGZvcm09b3du
ZXIgLz4nICsKLSAgICAnPC9mb3JtPic7Ci1vd25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdvd25lcicpOwotdmFyIGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdp
bnB1dEVsZW1lbnQnKTsKLXNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdvd25lcicpOwot
Ci1kZWJ1ZygnJyk7Ci1kZWJ1ZygnLSBFbnN1cmVzIHRoYXQgdGhlIGZvcm0gYXR0cmlidXRlIG9m
IGFsbCBmb3JtLWFzc29jaWF0ZWQgZWxlbWVudCB3aXRoIG9yIHdpdG91dCBmb3JtIGF0dHJpYnV0
ZSBwb2ludHMgdGhlIGZvcm0gb3duZXIuJyk7Ci1jb250YWluZXIuaW5uZXJIVE1MID0gJzxmb3Jt
IGlkPW93bmVyPicgKwotICAgICcgICAgPGlucHV0IGlkPWlucHV0RWxlbWVudDEgbmFtZT12aWN0
aW0gLz4nICsKLSAgICAnICAgIDxpbnB1dCBpZD1pbnB1dEVsZW1lbnQyIG5hbWU9dmljdGltIGZv
cm09b3duZXIgLz4nICsKLSAgICAnICAgIDxpbnB1dCBpZD1pbnB1dEVsZW1lbnQzIG5hbWU9dmlj
dGltIC8+JyArCi0gICAgJzwvZm9ybT4nOwotb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnb3duZXInKTsKLXZhciBpbnB1dEVsZW1lbnQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lucHV0RWxlbWVudDEnKTsKLXZhciBpbnB1dEVsZW1lbnQyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2lucHV0RWxlbWVudDInKTsKLXZhciBpbnB1dEVsZW1lbnQzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudDMnKTsKLXNob3VsZEJlKCdpbnB1dEVsZW1lbnQxLmZv
cm0nLCAnb3duZXInKTsKLXNob3VsZEJlKCdpbnB1dEVsZW1lbnQyLmZvcm0nLCAnb3duZXInKTsK
LXNob3VsZEJlKCdpbnB1dEVsZW1lbnQzLmZvcm0nLCAnb3duZXInKTsKLQotZGVidWcoJycpOwot
ZGVidWcoJy0gRW5zdXJlcyB0aGF0IHRoZSBmb3JtIGF0dHJpYnV0ZSBwb2ludHMgdGhlIGZvcm0g
b3duZXIgZXZlbiBpZiB0aGUgZm9ybSBlbGVtZW50IGlzIG5lc3RlZCBhbm90aGVyIGZvcm0gZWxl
bWVudC4nKTsKLWRlYnVnKCdOT1RFOiBJdCBzZWVtcyB0aGF0IG5lc3RpbmcgZm9ybSBlbGVtZW50
cyBpcyBub3QgYWxsb3dlZCBzbyB3ZSBlbnN1cmUgZWFjaCBmb3JtLWFzc29jaWF0ZWQgZWxlbWVu
dHMgYXNzb2NpYXRlIHdpdGggdGhlIG91dG1vc3QgZm9ybSBlbGVtZW50LicpOwotY29udGFpbmVy
LmlubmVySFRNTCA9ICc8Zm9ybSBpZD1vd25lcj4nICsKLSAgICAnICAgIDxmb3JtPicgKwotICAg
ICcgICAgICAgIDxpbnB1dCBpZD1pbnB1dEVsZW1lbnQxIG5hbWU9dmljdGltIGZvcm09b3duZXIg
Lz4nICsKLSAgICAnICAgICAgICA8aW5wdXQgaWQ9aW5wdXRFbGVtZW50MiBuYW1lPXZpY3RpbSAv
PicgKwotICAgICcgICAgICAgIDxpbnB1dCBpZD1pbnB1dEVsZW1lbnQzIG5hbWU9dmljdGltIGZv
cm09b3duZXIgLz4nICsKLSAgICAnICAgIDwvZm9ybT4nICsKLSAgICAnPC9mb3JtPic7Ci1vd25l
ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvd25lcicpOwotaW5wdXRFbGVtZW50MSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dEVsZW1lbnQxJyk7Ci1pbnB1dEVsZW1lbnQyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudDInKTsKLWlucHV0RWxlbWVudDMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXRFbGVtZW50MycpOwotc2hvdWxkQmUoJ2lu
cHV0RWxlbWVudDEuZm9ybScsICdvd25lcicpOwotc2hvdWxkQmUoJ2lucHV0RWxlbWVudDIuZm9y
bScsICdvd25lcicpOwotc2hvdWxkQmUoJ2lucHV0RWxlbWVudDMuZm9ybScsICdvd25lcicpOwot
Ci1kZWJ1ZygnJyk7Ci1kZWJ1ZygnLSBFbnN1cmVzIHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMg
c2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBvZiBmb3JtIGF0dHJpYnV0ZSBvZiBhIGZvcm0t
YXNzb2NpYXRlZCBlbGVtZW50IGNoYW5nZWQuJyk7Ci1jb250YWluZXIuaW5uZXJIVE1MID0gJzxm
b3JtIGlkPWZvcm0xPjwvZm9ybT4nICsKLSAgICAnPGZvcm0gaWQ9Zm9ybTI+PC9mb3JtPicgKwot
ICAgICc8aW5wdXQgaWQ9aW5wdXRFbGVtZW50IG5hbWU9dmljdGltIGZvcm09Zm9ybTEgLz4nICsK
LSAgICAnPG9iamVjdCBpZD1vYmplY3RFbGVtZW50IG5hbWU9dmljdGltIGZvcm09Zm9ybTE+PC9v
YmplY3Q+JzsKLXZhciBmb3JtMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpOwot
dmFyIGZvcm0yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0yJyk7Ci1pbnB1dEVsZW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXRFbGVtZW50Jyk7Ci1zaG91bGRCZSgn
aW5wdXRFbGVtZW50LmZvcm0nLCAnZm9ybTEnKTsKLWlucHV0RWxlbWVudC5hdHRyaWJ1dGVzWydm
b3JtJ10udmFsdWUgPSAnZm9ybTInOwotc2hvdWxkQmUoJ2lucHV0RWxlbWVudC5mb3JtJywgJ2Zv
cm0yJyk7Ci0KLS8vIEhUTUxPYmplY3RFbGVtZW50IGhhcyBpdHMgb3duIGltcGxlbWVudGF0aW9u
IG9mIGZvcm1BdHRyIHByb2Nlc3NpbmcgYW5kIHNvIG5lZWRzIGl0cyBvd24gdGVzdC4KLW9iamVj
dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb2JqZWN0RWxlbWVudCcpOwotc2hv
dWxkQmUoJ29iamVjdEVsZW1lbnQuZm9ybScsICdmb3JtMScpOwotb2JqZWN0RWxlbWVudC5hdHRy
aWJ1dGVzWydmb3JtJ10udmFsdWUgPSAnZm9ybTInOwotc2hvdWxkQmUoJ29iamVjdEVsZW1lbnQu
Zm9ybScsICdmb3JtMicpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnLSBFbnN1cmVzIHdoZXRoZXIg
dGhlIGZvcm0gb3duZXIgaXMgc2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBvZiBmb3JtIGF0
dHJpYnV0ZSBpcyBhZGRlZC9yZW1vdmVkLicpOwotY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9y
bSBpZD1vd25lciBuYW1lPWZpcnN0T3duZXI+PC9mb3JtPicgKwotICAgICc8aW5wdXQgaWQ9aW5w
dXRFbGVtZW50IG5hbWU9dmljdGltIC8+JyArCi0gICAgJzxvYmplY3QgaWQ9b2JqZWN0RWxlbWVu
dCBuYW1lPXZpY3RpbT48L29iamVjdD4nOwotb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnb3duZXInKTsKLWlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1
dEVsZW1lbnQnKTsKLXNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdudWxsJyk7Ci12YXIg
Zm9ybUF0dHJpYnV0ZSA9IGRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZSgnZm9ybScpOwotaW5wdXRF
bGVtZW50LnNldEF0dHJpYnV0ZSgnZm9ybScsICdvd25lcicpOwotc2hvdWxkQmUoJ2lucHV0RWxl
bWVudC5mb3JtJywgJ293bmVyJyk7Ci1pbnB1dEVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdmb3Jt
Jyk7Ci1zaG91bGRCZSgnaW5wdXRFbGVtZW50LmZvcm0nLCAnbnVsbCcpOwotCi0vLyBIVE1MT2Jq
ZWN0RWxlbWVudCBoYXMgaXRzIG93biBpbXBsZW1lbnRhdGlvbiBvZiBmb3JtQXR0ciBwcm9jZXNz
aW5nIGFuZCBzbyBuZWVkcyBpdHMgb3duIHRlc3QuCi1vYmplY3RFbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ29iamVjdEVsZW1lbnQnKTsKLXNob3VsZEJlKCdvYmplY3RFbGVtZW50
LmZvcm0nLCAnbnVsbCcpOwotb2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Zvcm0nLCAnb3du
ZXInKTsKLXNob3VsZEJlKCdvYmplY3RFbGVtZW50LmZvcm0nLCAnb3duZXInKTsKLW9iamVjdEVs
ZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdmb3JtJyk7Ci1zaG91bGRCZSgnb2JqZWN0RWxlbWVudC5m
b3JtJywgJ251bGwnKTsKLQotZGVidWcoJycpOwotZGVidWcoJy0gRW5zdXJlcyB3aGV0aGVyIHRo
ZSBmb3JtIG93bmVyIGlzIHNldCBjb3JyZWN0bHkgd2hlbiB0aGUgZm9ybSBvd25lciBpcyBhZGRl
ZC9yZW1vdmVkLicpOwotY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9ybSBpZD1vd25lciBuYW1l
PWZpcnN0T3duZXI+PC9mb3JtPicgKwotICAgICc8Zm9ybSBpZD1vd25lciBuYW1lPXNlY29uZE93
bmVyPjwvZm9ybT4nICsKLSAgICAnPGlucHV0IGlkPWlucHV0RWxlbWVudCBuYW1lPXZpY3RpbSBm
b3JtPW93bmVyIC8+JzsKLW93bmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ293bmVyJyk7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ293bmVyLm5hbWUnLCAnZmlyc3RPd25lcicpOwotaW5w
dXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudCcpOwotY29u
dGFpbmVyLnJlbW92ZUNoaWxkKG93bmVyKTsKLW93bmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ293bmVyJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ293bmVyLm5hbWUnLCAnc2Vjb25k
T3duZXInKTsKLXNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdvd25lcicpOwotY29udGFp
bmVyLnJlbW92ZUNoaWxkKG93bmVyKTsKLXNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdu
dWxsJyk7Ci1jb250YWluZXIuYXBwZW5kQ2hpbGQob3duZXIpOwotc2hvdWxkQmUoJ2lucHV0RWxl
bWVudC5mb3JtJywgJ293bmVyJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9mb3JtLWNvbGxlY3Rpb24tZWxlbWVudHMtb3JkZXIuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtLWNvbGxlY3Rpb24tZWxlbWVudHMtb3Jk
ZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkYjY2Nzg2ZWM3OGYzNzc3NjUw
NGJhMDI5MTM2NTdhNzcyMGVmMTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1jb2xs
ZWN0aW9uLWVsZW1lbnRzLW9yZGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAot
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBleGFtaW5lcyB0aGUgb3JkZXIgb2YgZm9ybSBhc3NvY2lh
dGVkIGVsZW1lbnRzIHdoaWNoIGFyZSBjbGFzc2lmaWVkIGFzICdsaXN0ZWQnLiIpOwotCi12YXIg
Y29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci1kb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7Ci12YXIgb3duZXI7Ci0KLWZ1bmN0aW9uIGNoZWNrT3Jk
ZXIodmljdGltcykgewotICAgIGlmIChvd25lci5lbGVtZW50cy5sZW5ndGggIT0gdmljdGltcy5s
ZW5ndGgpCi0gICAgICAgIHJldHVybiAnbGVuZ3RoIG1pc21hdGNoLCBlbGVtZW50cy5sZW5ndGgg
PSAnICsgb3duZXIuZWxlbWVudHMubGVuZ3RoICsKLSAgICAgICAgICAgICAgICcsIGV4cGVjdGVk
IGxlbmd0aCA9ICcgKyB2aWN0aW1zLmxlbmd0aDsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZp
Y3RpbXMubGVuZ3RoOyArK2kpCi0gICAgICAgIGlmIChvd25lci5lbGVtZW50c1tpXSAhPSB2aWN0
aW1zW2ldKQotICAgICAgICAgICAgcmV0dXJuICdlbGVtZW50IG1pc21hdGNoIGF0IGluZGV4ICcg
KyBpOwotICAgIHJldHVybiAnT0snOwotfQotCi1kZWJ1ZygnLSBDaGVja3MgdGhlIG9yZGVyIG9m
IGZvcm0gYXNzb2NpYXRlZCBlbGVtZW50cy4nKTsKLWNvbnRhaW5lci5pbm5lckhUTUwgPSAnPGZv
cm0gaWQ9b3duZXI+JyArCi0gICAgJzxidXR0b24gbmFtZT12aWN0aW0+PC9idXR0b24+JyArCi0g
ICAgJzxmaWVsZHNldCBuYW1lPXZpY3RpbT5UZXN0PC9maWVsZHNldD4nICsKLSAgICAnPGlucHV0
IG5hbWU9dmljdGltLz4nICsKLSAgICAnPGtleWdlbiBuYW1lPXZpY3RpbT48L2tleWdlbj4nICsK
LSAgICAnPGxhYmVsIG5hbWU9dmljdGltPjwvbGFiZWw+JyArCi0gICAgJzxtZXRlciBuYW1lPXZp
Y3RpbT48L21ldGVyPicgKwotICAgICc8b2JqZWN0IG5hbWU9dmljdGltPjwvb2JqZWN0PicgKwot
ICAgICc8b3V0cHV0IG5hbWU9dmljdGltPjwvb3V0cHV0PicgKwotICAgICc8cHJvZ3Jlc3MgbmFt
ZT12aWN0aW0+PC9wcm9ncmVzcz4nICsKLSAgICAnPHNlbGVjdCBuYW1lPXZpY3RpbT48L3NlbGVj
dD4nICsKLSAgICAnPHRleHRhcmVhIG5hbWU9dmljdGltPjwvdGV4dGFyZWE+JysKLSAgICAnPC9m
b3JtPic7Ci1vd25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvd25lcicpOwotdmFyIGJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdidXR0b24nKVswXTsKLXZhciBm
aWVsZHNldCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmaWVsZHNldCcpWzBdOwot
dmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF07Ci12
YXIga2V5Z2VuID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2tleWdlbicpWzBdOwot
dmFyIGxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xhYmVsJylbMF07Ci12
YXIgbWV0ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbWV0ZXInKVswXTsKLXZh
ciBvYmplY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnb2JqZWN0JylbMF07Ci12
YXIgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ291dHB1dCcpWzBdOwot
dmFyIHByb2dyZXNzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3Byb2dyZXNzJylb
MF07Ci12YXIgc2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcp
WzBdOwotdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RleHRh
cmVhJylbMF07Ci1zaG91bGRCZSgnY2hlY2tPcmRlcihbYnV0dG9uLCBmaWVsZHNldCwgaW5wdXQs
IGtleWdlbiwgb2JqZWN0LCBvdXRwdXQsIHNlbGVjdCwgdGV4dGFyZWFdKScsICciT0siJyk7Ci0K
LWRlYnVnKCcnKTsKLWRlYnVnKCctIENoZWNrcyB0aGUgb3JkZXIgYWZ0ZXIgc29tZSBlbGVtZW50
cyByZW1vdmVkL2luc2VydGVkLicpOwotb3duZXIucmVtb3ZlQ2hpbGQob2JqZWN0KTsKLXNob3Vs
ZEJlKCdjaGVja09yZGVyKFtidXR0b24sIGZpZWxkc2V0LCBpbnB1dCwga2V5Z2VuLCBvdXRwdXQs
IHNlbGVjdCwgdGV4dGFyZWFdKScsICciT0siJyk7Ci1vd25lci5yZW1vdmVDaGlsZChidXR0b24p
Owotc2hvdWxkQmUoJ2NoZWNrT3JkZXIoW2ZpZWxkc2V0LCBpbnB1dCwga2V5Z2VuLCBvdXRwdXQs
IHNlbGVjdCwgdGV4dGFyZWFdKScsICciT0siJyk7Ci1vd25lci5pbnNlcnRCZWZvcmUob2JqZWN0
LCBmaWVsZHNldCk7Ci1zaG91bGRCZSgnY2hlY2tPcmRlcihbb2JqZWN0LCBmaWVsZHNldCwgaW5w
dXQsIGtleWdlbiwgb3V0cHV0LCBzZWxlY3QsIHRleHRhcmVhXSknLCAnIk9LIicpOwotb3duZXIu
YXBwZW5kQ2hpbGQoYnV0dG9uKTsKLXNob3VsZEJlKCdjaGVja09yZGVyKFtvYmplY3QsIGZpZWxk
c2V0LCBpbnB1dCwga2V5Z2VuLCBvdXRwdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGJ1dHRvbl0pJywg
JyJPSyInKTsKLQotZGVidWcoJycpOwotZGVidWcoJy0gQ2hlY2tzIHRoZSBvcmRlciBvZiBmb3Jt
IGFzc29jaWF0ZWQgZWxlbWVudHMgd2l0aCBmb3JtIGF0dHJpYnV0ZS4nKTsKLWNvbnRhaW5lci5p
bm5lckhUTUwgPSAnPGJ1dHRvbiBuYW1lPXZpY3RpbSBmb3JtPW93bmVyPjwvYnV0dG9uPicgKwot
ICAgICc8ZmllbGRzZXQgbmFtZT12aWN0aW0gZm9ybT1vd25lcj5UZXN0PC9maWVsZHNldD4nICsK
LSAgICAnPGlucHV0IG5hbWU9dmljdGltIGZvcm09b3duZXIgLz4nICsKLSAgICAnPGtleWdlbiBu
YW1lPXZpY3RpbSBmb3JtPW93bmVyPjwva2V5Z2VuPicgKwotICAgICc8Zm9ybSBpZD1vd25lcj4n
ICsKLSAgICAnPGxhYmVsIG5hbWU9dmljdGltPjwvbGFiZWw+JyArCi0gICAgJzxtZXRlciBuYW1l
PXZpY3RpbT48L21ldGVyPicgKwotICAgICc8b2JqZWN0IG5hbWU9dmljdGltPjwvb2JqZWN0Picg
KwotICAgICc8L2Zvcm0+JyArCi0gICAgJzxvdXRwdXQgbmFtZT12aWN0aW0gZm9ybT1vd25lcj48
L291dHB1dD4nICsKLSAgICAnPHByb2dyZXNzIG5hbWU9dmljdGltIGZvcm09b3duZXI+PC9wcm9n
cmVzcz4nICsKLSAgICAnPHNlbGVjdCBuYW1lPXZpY3RpbSBmb3JtPW93bmVyPjwvc2VsZWN0Picg
KwotICAgICc8dGV4dGFyZWEgbmFtZT12aWN0aW0gZm9ybT1vd25lcj48L3RleHRhcmVhPic7Ci1v
d25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvd25lcicpOwotYnV0dG9uID0gZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpWzBdOwotZmllbGRzZXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZmllbGRzZXQnKVswXTsKLWlucHV0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF07Ci1rZXlnZW4gPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgna2V5Z2VuJylbMF07Ci1sYWJlbCA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdsYWJlbCcpWzBdOwotbWV0ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnbWV0ZXInKVswXTsKLW9iamVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdvYmplY3QnKVswXTsKLW91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdvdXRwdXQnKVswXTsKLXByb2dyZXNzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
J3Byb2dyZXNzJylbMF07Ci1zZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
c2VsZWN0JylbMF07Ci10ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0
ZXh0YXJlYScpWzBdOwotc2hvdWxkQmUoJ2NoZWNrT3JkZXIoW2J1dHRvbiwgZmllbGRzZXQsIGlu
cHV0LCBrZXlnZW4sIG9iamVjdCwgb3V0cHV0LCBzZWxlY3QsIHRleHRhcmVhXSknLCAnIk9LIicp
OwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnLSBDaGVja3MgdGhlIG9yZGVyIGFmdGVyIHNvbWUgZWxl
bWVudHMgcmVtb3ZlZC9pbnNlcnRlZCB3aXRoIGZvcm0gYXR0cmlidXRlLicpOwotb3duZXIucmVt
b3ZlQ2hpbGQob2JqZWN0KTsKLXNob3VsZEJlKCdjaGVja09yZGVyKFtidXR0b24sIGZpZWxkc2V0
LCBpbnB1dCwga2V5Z2VuLCBvdXRwdXQsIHNlbGVjdCwgdGV4dGFyZWFdKScsICciT0siJyk7Ci1j
b250YWluZXIucmVtb3ZlQ2hpbGQoYnV0dG9uKTsKLXNob3VsZEJlKCdjaGVja09yZGVyKFtmaWVs
ZHNldCwgaW5wdXQsIGtleWdlbiwgb3V0cHV0LCBzZWxlY3QsIHRleHRhcmVhXSknLCAnIk9LIicp
OwotY29udGFpbmVyLnJlbW92ZUNoaWxkKHRleHRhcmVhKTsKLXNob3VsZEJlKCdjaGVja09yZGVy
KFtmaWVsZHNldCwgaW5wdXQsIGtleWdlbiwgb3V0cHV0LCBzZWxlY3RdKScsICciT0siJyk7Ci1v
d25lci5hcHBlbmRDaGlsZChvYmplY3QpOwotc2hvdWxkQmUoJ2NoZWNrT3JkZXIoW2ZpZWxkc2V0
LCBpbnB1dCwga2V5Z2VuLCBvYmplY3QsIG91dHB1dCwgc2VsZWN0XSknLCAnIk9LIicpOwotY29u
dGFpbmVyLmluc2VydEJlZm9yZSh0ZXh0YXJlYSwgZmllbGRzZXQpOwotc2hvdWxkQmUoJ2NoZWNr
T3JkZXIoW3RleHRhcmVhLCBmaWVsZHNldCwgaW5wdXQsIGtleWdlbiwgb2JqZWN0LCBvdXRwdXQs
IHNlbGVjdF0pJywgJyJPSyInKTsKLWNvbnRhaW5lci5hcHBlbmRDaGlsZChidXR0b24pOwotc2hv
dWxkQmUoJ2NoZWNrT3JkZXIoW3RleHRhcmVhLCBmaWVsZHNldCwgaW5wdXQsIGtleWdlbiwgb2Jq
ZWN0LCBvdXRwdXQsIHNlbGVjdCwgYnV0dG9uXSknLCAnIk9LIicpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1jb2xsZWN0aW9uLWVsZW1lbnRz
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1jb2xsZWN0aW9u
LWVsZW1lbnRzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMWYxOWQ4ODQ1YzM2
N2Y2NmU4MjZhMTQ4ZmRjZjIyODVhZWYzYjViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zv
cm0tY29sbGVjdGlvbi1lbGVtZW50cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAK
LWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbGlzdHMgYWxsIHRoZSBlbGVtZW50cyBvZiBhIGZvcm0g
cGVyIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVs
dGlwYWdlL2Zvcm1zLmh0bWwjY2F0ZWdvcnktbGlzdGVkLiIpOwotZGVidWcoIlRoaXMgdGVzdCBk
b2VzIG5vdCBhZGQgb2JqZWN0IGVsZW1lbnQgYXMgYSBsaXN0ZWQgZWxlbWVudC4gU2VwYXJhdGUg
dGVzdCB3aWxsIGNvdmVyIHRoYXQuIik7Ci0KLXZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsK
LQotY29udGFpbmVyLmlubmVySFRNTCA9ICc8Zm9ybSBpZD0iZm9ybTEiPicgKwotICAgICc8YnV0
dG9uIGlkPWJ1dHRvbjE+PC9idXR0b24+JyArCi0gICAgJzxmaWVsZHNldCBpZD1maWVsZHNldDE+
PGxlZ2VuZCBpZD1sZWdlbmQxPjwvbGVnZW5kPjwvZmllbGRzZXQ+JyArCi0gICAgJzxpbnB1dCBp
ZD1pbnB1dGhpZGRlbiB0eXBlPWhpZGRlbj4nICsKLSAgICAnPGlucHV0IGlkPWlucHV0dGV4dCB0
eXBlPXRleHQ+JyArCi0gICAgJzxpbnB1dCBpZD1pbnB1dHNlYXJjaCB0eXBlPXNlYXJjaD4nICsK
LSAgICAnPGlucHV0IGlkPWlucHV0dXJsIHR5cGU9dXJsPicgKwotICAgICc8aW5wdXQgaWQ9aW5w
dXRlbWFpbCB0eXBlPWVtYWlsPicgKwotICAgICc8aW5wdXQgaWQ9aW5wdXRwYXNzd29yZCB0eXBl
PXBhc3N3b3JkPicgKwotICAgICc8aW5wdXQgaWQ9aW5wdXRkYXRlIHR5cGU9ZGF0ZT4nICsKLSAg
ICAnPGlucHV0IGlkPWlucHV0bnVtYmVyIHR5cGU9bnVtYmVyPicgKwotICAgICc8aW5wdXQgaWQ9
aW5wdXRyYW5nZSB0eXBlPXJhbmdlPicgKwotICAgICc8aW5wdXQgaWQ9aW5wdXRjb2xvciB0eXBl
PWNvbG9yPicgKwotICAgICc8aW5wdXQgaWQ9aW5wdXRjaGVja2JveCB0eXBlPWNoZWNrYm94Picg
KwotICAgICc8aW5wdXQgaWQ9aW5wdXRyYWRpbyB0eXBlPXJhZGlvPicgKwotICAgICc8aW5wdXQg
aWQ9aW5wdXRmaWxlIHR5cGU9ZmlsZT4nICsKLSAgICAnPGlucHV0IGlkPWlucHV0c3VibWl0IHR5
cGU9c3VibWl0PicgKwotICAgICc8aW5wdXQgaWQ9aW5wdXRpbWFnZSB0eXBlPWltYWdlPicgKwot
ICAgICc8aW5wdXQgaWQ9aW5wdXRyZXNldCB0eXBlPXJlc2V0PicgKwotICAgICc8aW5wdXQgaWQ9
aW5wdXRidXR0b24gdHlwZT1idXR0b24+JyArCi0gICAgJzxrZXlnZW4gaWQ9a2V5Z2VuMT48L2tl
eWdlbj4nICsKLSAgICAnPGxhYmVsIGlkPWxhYmVsMT48L2xhYmVsPicgKwotICAgICc8bWV0ZXIg
aWQ9bWV0ZXIxPjwvbWV0ZXI+JyArCi0gICAgJzxvYmplY3QgaWQ9b2JqZWN0MT48L29iamVjdD4n
ICsKLSAgICAnPG91dHB1dCBpZD1vdXRwdXQxPjwvb3V0cHV0PicgKwotICAgICc8cHJvZ3Jlc3Mg
aWQ9cHJvZ3Jlc3MxPjwvcHJvZ3Jlc3M+JyArCi0gICAgJzxzZWxlY3QgaWQ9c2VsZWN0MT4nICsK
LSAgICAnICAgIDxvcHRncm91cCBpZD1vcHRncm91cDE+Z3JvdXAxPC9vcHRncm91cD4nICsKLSAg
ICAnICAgIDxvcHRpb24gaWQ9b3B0aW9uMT5vcHRpb24xPC9vcHRpb24+JyArCi0gICAgJzwvc2Vs
ZWN0PicgKwotICAgICc8dGV4dGFyZWEgaWQ9dGV4dGFyZWExPjwvdGV4dGFyZWE+JyArCi0gICAg
JzwvZm9ybT4nOwotCi12YXIgb3duZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybTEn
KTsKLQotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzLmxlbmd0aCcsICcyMycpOwotc2hvdWxkQmUo
J293bmVyLmVsZW1lbnRzWzBdLmlkJywgIididXR0b24xJyIpOwotc2hvdWxkQmUoJ293bmVyLmVs
ZW1lbnRzWzFdLmlkJywgIidmaWVsZHNldDEnIik7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNb
Ml0uaWQnLCAiJ2lucHV0aGlkZGVuJyIpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzNdLmlk
JywgIidpbnB1dHRleHQnIik7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbNF0uaWQnLCAiJ2lu
cHV0c2VhcmNoJyIpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRzWzVdLmlkJywgIidpbnB1dHVy
bCciKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1s2XS5pZCcsICInaW5wdXRlbWFpbCciKTsK
LXNob3VsZEJlKCdvd25lci5lbGVtZW50c1s3XS5pZCcsICInaW5wdXRwYXNzd29yZCciKTsKLXNo
b3VsZEJlKCdvd25lci5lbGVtZW50c1s4XS5pZCcsICInaW5wdXRkYXRlJyIpOwotc2hvdWxkQmUo
J293bmVyLmVsZW1lbnRzWzldLmlkJywgIidpbnB1dG51bWJlciciKTsKLXNob3VsZEJlKCdvd25l
ci5lbGVtZW50c1sxMF0uaWQnLCAiJ2lucHV0cmFuZ2UnIik7Ci1zaG91bGRCZSgnb3duZXIuZWxl
bWVudHNbMTFdLmlkJywgIidpbnB1dGNvbG9yJyIpOwotc2hvdWxkQmUoJ293bmVyLmVsZW1lbnRz
WzEyXS5pZCcsICInaW5wdXRjaGVja2JveCciKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sx
M10uaWQnLCAiJ2lucHV0cmFkaW8nIik7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMTRdLmlk
JywgIidpbnB1dGZpbGUnIik7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMTVdLmlkJywgIidp
bnB1dHN1Ym1pdCciKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxNl0uaWQnLCAiJ2lucHV0
cmVzZXQnIik7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNbMTddLmlkJywgIidpbnB1dGJ1dHRv
biciKTsKLXNob3VsZEJlKCdvd25lci5lbGVtZW50c1sxOF0uaWQnLCAiJ2tleWdlbjEnIik7Ci1z
aG91bGRCZSgnb3duZXIuZWxlbWVudHNbMTldLmlkJywgIidvYmplY3QxJyIpOwotc2hvdWxkQmUo
J293bmVyLmVsZW1lbnRzWzIwXS5pZCcsICInb3V0cHV0MSciKTsKLXNob3VsZEJlKCdvd25lci5l
bGVtZW50c1syMV0uaWQnLCAiJ3NlbGVjdDEnIik7Ci1zaG91bGRCZSgnb3duZXIuZWxlbWVudHNb
MjJdLmlkJywgIid0ZXh0YXJlYTEnIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9mb3Jtbm92YWxpZGF0ZS1hdHRyaWJ1dGUuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3Jtbm92YWxpZGF0ZS1hdHRyaWJ1dGUuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViMTNhNjAyOTQ3OTM2NmZjMjE4NjkyYzZmMGNi
ZDBlMDdjYTlmZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybW5vdmFsaWRhdGUtYXR0
cmlidXRlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCBwZXJmb3JtcyBzb21lIHNpbXBsZSBjaGVjayBvbiB0aGUgZm9ybW5vdmFsaWRhdGUg
YXR0cmlidXRlLiIpOwotCi12YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7
Ci12YXIgYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwotCi1zaG91bGRCZSgi
aS5oYXNBdHRyaWJ1dGUoJ2Zvcm1Ob1ZhbGlkYXRlJykiLCAiZmFsc2UiKTsKLXNob3VsZEJlKCJp
LmdldEF0dHJpYnV0ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICJudWxsIik7Ci1zaG91bGRCZSgiaS5m
b3JtTm9WYWxpZGF0ZSIsICJmYWxzZSIpOwotc2hvdWxkQmUoImIuaGFzQXR0cmlidXRlKCdmb3Jt
Tm9WYWxpZGF0ZScpIiwgImZhbHNlIik7Ci1zaG91bGRCZSgiYi5nZXRBdHRyaWJ1dGUoJ2Zvcm1O
b1ZhbGlkYXRlJykiLCAibnVsbCIpOwotc2hvdWxkQmUoImIuZm9ybU5vVmFsaWRhdGUiLCAiZmFs
c2UiKTsKLQotaS5mb3JtTm9WYWxpZGF0ZSA9IHRydWU7Ci1iLmZvcm1Ob1ZhbGlkYXRlID0gdHJ1
ZTsKLQotc2hvdWxkQmUoImkuaGFzQXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgInRydWUi
KTsKLXNob3VsZEJlKCJpLmdldEF0dHJpYnV0ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICInJyIpOwot
c2hvdWxkQmUoImkuZm9ybU5vVmFsaWRhdGUiLCAidHJ1ZSIpOwotc2hvdWxkQmUoImIuaGFzQXR0
cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgInRydWUiKTsKLXNob3VsZEJlKCJiLmdldEF0dHJp
YnV0ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICInJyIpOwotc2hvdWxkQmUoImIuZm9ybU5vVmFsaWRh
dGUiLCAidHJ1ZSIpOwotCi12YXIgaTIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIp
OwotaTIuZm9ybU5vVmFsaWRhdGUgPSBpLmZvcm1Ob1ZhbGlkYXRlOwotCi1pLmZvcm1Ob1ZhbGlk
YXRlID0gZmFsc2U7Ci1iLmZvcm1Ob1ZhbGlkYXRlID0gZmFsc2U7Ci0KLXNob3VsZEJlKCJpLmhh
c0F0dHJpYnV0ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICJmYWxzZSIpOwotc2hvdWxkQmUoImkuZ2V0
QXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgIm51bGwiKTsKLXNob3VsZEJlKCJpLmZvcm1O
b1ZhbGlkYXRlIiwgImZhbHNlIik7Ci1zaG91bGRCZSgiYi5oYXNBdHRyaWJ1dGUoJ2Zvcm1Ob1Zh
bGlkYXRlJykiLCAiZmFsc2UiKTsKLXNob3VsZEJlKCJiLmdldEF0dHJpYnV0ZSgnZm9ybU5vVmFs
aWRhdGUnKSIsICJudWxsIik7Ci1zaG91bGRCZSgiYi5mb3JtTm9WYWxpZGF0ZSIsICJmYWxzZSIp
OwotCi1pMi5mb3JtTm9WYWxpZGF0ZSA9IGZhbHNlOwotc2hvdWxkQmUoImkyLmZvcm1Ob1ZhbGlk
YXRlIiwgImZhbHNlIik7Ci1pMi5mb3JtTm9WYWxpZGF0ZSA9ICJzb21ldGhpbmciOwotc2hvdWxk
QmUoImkyLmhhc0F0dHJpYnV0ZSgnZm9ybU5vVmFsaWRhdGUnKSIsICJ0cnVlIik7Ci1zaG91bGRC
ZSgiaTIuZ2V0QXR0cmlidXRlKCdmb3JtTm9WYWxpZGF0ZScpIiwgIicnIik7Ci1zaG91bGRCZSgi
aTIuZm9ybU5vVmFsaWRhdGUiLCAidHJ1ZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5jcmVtZW50YWwtZG9tLXByb3BlcnR5LmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5jcmVtZW50YWwtZG9tLXByb3BlcnR5Lmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmQzMmM3MDVlYmZmZWEyZWMwMTMyZGZi
MTU1ZGM0MWNjMTZiNzA1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2luY3JlbWVudGFsLWRv
bS1wcm9wZXJ0eS5qcworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLWRlc2NyaXB0aW9u
KCdUZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTAzMzUiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDMzNTwv
YT4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLQot
aW5wdXQuc2V0QXR0cmlidXRlKCdpbmNyZW1lbnRhbCcsICcnKQotc2hvdWxkQmVUcnVlKCdpbnB1
dC5pbmNyZW1lbnRhbCcpOwotCi1pbnB1dC5yZW1vdmVBdHRyaWJ1dGUoJ2luY3JlbWVudGFsJyk7
Ci1zaG91bGRCZUZhbHNlKCdpbnB1dC5pbmNyZW1lbnRhbCcpOwotCi1pbnB1dC5pbmNyZW1lbnRh
bCA9IHRydWU7Ci1zaG91bGRCZVRydWUoJ2lucHV0Lmhhc0F0dHJpYnV0ZSgiaW5jcmVtZW50YWwi
KScpOwotCi1pbnB1dC5pbmNyZW1lbnRhbCA9IGZhbHNlOwotc2hvdWxkQmVGYWxzZSgnaW5wdXQu
aGFzQXR0cmlidXRlKCJpbmNyZW1lbnRhbCIpJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1tYXhsZW5ndGgtaW1lLWNvbXBsZXRlZC5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LW1heGxlbmd0aC1pbWUt
Y29tcGxldGVkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDZiZWFkYjcxNWJm
ZmZiNDI1OTQ4ZjMzYzI5MzM0NDgwMjVkZDhjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lu
cHV0LW1heGxlbmd0aC1pbWUtY29tcGxldGVkLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAs
MCBAQAotZGVzY3JpcHRpb24oJ1RoZXJlIHdhcyBhIGJ1ZyB0aGF0IHVzZXJzIGNvdWxkIGlucHV0
IHRleHQgbG9uZ2VyIHRoYW4gbWF4bGVuZ3RoIHZpYSBJTUUuICBUaGlzIHRlc3QgY29uZmlybXMg
aXQgd2FzIGZpeGVkLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
bnB1dCcpOwotaW5wdXQubWF4TGVuZ3RoID0gMjsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aW5wdXQpOwotaW5wdXQuZm9jdXMoKTsKLXRleHRJbnB1dENvbnRyb2xsZXIuc2V0TWFya2VkVGV4
dCgnYWJjZCcsIDAsIDQpOwotdGV4dElucHV0Q29udHJvbGxlci5pbnNlcnRUZXh0KCdhYmNkJyk7
ICAvLyBEZWJ1ZyBXZWJLaXQgY3Jhc2hlZCBieSB0aGlzIHdpdGhvdXQgdGhlIGNoYW5nZSBvZiBi
dWcjMjUyNTMuCi0vLyBDaGVjayB0aGUgY3VycmVudCB2YWx1ZSB3aXRob3V0IGlucHV0LnZhbHVl
LgotLy8gSW4gUmVsZWFzZSBXZWJLaXQsIGlucHV0LnZhbHVlIHdhcyAnYWInIHRob3VnaCB0aGUg
dXNlci12aXNpYmxlIHZhbHVlIHdhcyAnYWJjZCcuCi1kb2N1bWVudC5leGVjQ29tbWFuZCgnU2Vs
ZWN0QWxsJyk7Ci1zaG91bGRCZSgnZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKScs
ICciYWIiJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9pbnB1dC1tYXhsZW5ndGgtaW1lLXByZWVkaXQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9pbnB1dC1tYXhsZW5ndGgtaW1lLXByZWVkaXQuanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGNiN2QzN2ZmOTg2OThiNmI2MGUxYzEwODNkZjNjNTNmZjMwN2Iw
MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtbWF4bGVuZ3RoLWltZS1wcmVlZGl0
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kZXNjcmlwdGlvbignVGhpcyB0ZXN0
IGNoZWNrcyB1c2VycyBjYW4gaW5wdXQgcHJlLWVkaXQgdGV4dCBsb25nZXIgdGhhbiBtYXhsZW5n
dGguJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1k
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKLWlucHV0Lm1heExlbmd0aCA9IDI7Ci1p
bnB1dC5mb2N1cygpOwotdGV4dElucHV0Q29udHJvbGxlci5zZXRNYXJrZWRUZXh0KCdhYmNkJywg
MCwgNCk7Ci0vLyBUaGUgc2VsZWN0aW9uIHNob3VsZCBoYXZlIDQgY2hhcmFjdGVycyB0aG91Z2gg
bWF4TGVuZ3RoIGlzIDIuCi1zaG91bGRCZSgnZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKScsICciYWJjZCInKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL2lucHV0LW1heGxlbmd0aC11bnN1cHBvcnRlZC5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LW1heGxlbmd0aC11bnN1cHBvcnRlZC5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjIxY2Q0ZWRiMzJmYjYwMmI2NDQwMDk4NDM1OGQ0
N2MxYzc2NWI1Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1tYXhsZW5ndGgtdW5z
dXBwb3J0ZWQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1kZXNjcmlwdGlvbign
QSB0ZXN0IGZvciBtYXhsZW5ndGggYXR0cmlidXRlIG9mIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBu
b24tdGV4dCB0eXBlJyk7Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lu
cHV0Jyk7Ci1pbnB1dC5tYXhMZW5ndGggPSAyOwotaW5wdXQudHlwZSA9ICdudW1iZXInOwotZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7Ci1pbnB1dC5mb2N1cygpOwotZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJzEyMzQnKTsKLXNob3VsZEJlKCdpbnB1
dC52YWx1ZScsICciMTIzNCInKTsKLQotaW5wdXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpbnB1
dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1
dC1taW5tYXguanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1t
aW5tYXguanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzYTY2ZjczN2Y2NGM5Yjlk
MDBhODk2ODY4MTZmYmMzZTg1ZGU0M2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQt
bWlubWF4LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rl
c3RzIHRoZSBiZWhhdmlvciBvZiAubWluIGFuZCAubWF4IG9mIEhUTUxJbnB1dEVsZW1lbnQuJyk7
Ci0KLXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0KLS8vIC5t
aW4gYW5kIC5tYXgganVzdCByZWZsZWN0IHRoZSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZXMuCi1p
bnB1dC50eXBlID0gJ3RleHQnOwotc2hvdWxkQmUoJ2lucHV0Lm1pbicsICciIicpOwotc2hvdWxk
QmUoJ2lucHV0Lm1heCcsICciIicpOwotaW5wdXQuc2V0QXR0cmlidXRlKCdtaW4nLCAnMCcpOwot
aW5wdXQuc2V0QXR0cmlidXRlKCdtYXgnLCAnMTAwJyk7Ci1zaG91bGRCZSgnaW5wdXQubWluJywg
JyIwIicpOwotc2hvdWxkQmUoJ2lucHV0Lm1heCcsICciMTAwIicpOwotaW5wdXQuc2V0QXR0cmli
dXRlKCdtaW4nLCAnYWJjJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ21heCcsICdxd2VydHknKTsK
LXNob3VsZEJlKCdpbnB1dC5taW4nLCAnImFiYyInKTsKLXNob3VsZEJlKCdpbnB1dC5tYXgnLCAn
InF3ZXJ0eSInKTsKLQotaW5wdXQubWluID0gJ2Zvbyc7Ci1pbnB1dC5tYXggPSAnYmFyJzsKLXNo
b3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoIm1pbiIpJywgJyJmb28iJyk7Ci1zaG91bGRCZSgn
aW5wdXQuZ2V0QXR0cmlidXRlKCJtYXgiKScsICciYmFyIicpOwotaW5wdXQubWluID0gJyc7Ci1p
bnB1dC5tYXggPSAnJzsKLXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoIm1pbiIpJywgJyIi
Jyk7Ci1zaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJtYXgiKScsICciIicpOwotCi0vLyBO
dWxsLgotZGVidWcoJ1NldHRpbmcgbnVsbCB0byBtaW46Jyk7Ci1pbnB1dC5taW4gPSBudWxsOwot
c2hvdWxkQmUoJ2lucHV0Lm1pbicsICciIicpOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0
ZSgibWluIiknLCAnbnVsbCcpOwotaW5wdXQuc2V0QXR0cmlidXRlKCdtaW4nLCBudWxsKTsKLXNo
b3VsZEJlKCdpbnB1dC5taW4nLCAnIm51bGwiJyk7Ci0KLWRlYnVnKCdTZXR0aW5nIG51bGwgdG8g
bWF4OicpOwotaW5wdXQubWF4ID0gbnVsbDsKLXNob3VsZEJlKCdpbnB1dC5tYXgnLCAnIiInKTsK
LXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoIm1heCIpJywgJ251bGwnKTsKLWlucHV0LnNl
dEF0dHJpYnV0ZSgnbWF4JywgbnVsbCk7Ci1zaG91bGRCZSgnaW5wdXQubWF4JywgJyJudWxsIicp
OwotCi0vLyBVbmRlZmluZWQuCi1kZWJ1ZygnU2V0dGluZyB1bmRlZmluZWQgdG8gbWluOicpOwot
aW5wdXQubWluID0gdW5kZWZpbmVkOwotc2hvdWxkQmUoJ2lucHV0Lm1pbicsICcidW5kZWZpbmVk
IicpOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgibWluIiknLCAnInVuZGVmaW5lZCIn
KTsKLWlucHV0LnNldEF0dHJpYnV0ZSgnbWluJywgdW5kZWZpbmVkKTsKLXNob3VsZEJlKCdpbnB1
dC5taW4nLCAnInVuZGVmaW5lZCInKTsKLQotZGVidWcoJ1NldHRpbmcgdW5kZWZpbmVkIHRvIG1h
eDonKTsKLWlucHV0Lm1heCA9IHVuZGVmaW5lZDsKLXNob3VsZEJlKCdpbnB1dC5tYXgnLCAnInVu
ZGVmaW5lZCInKTsKLXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoIm1heCIpJywgJyJ1bmRl
ZmluZWQiJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ21heCcsIHVuZGVmaW5lZCk7Ci1zaG91bGRC
ZSgnaW5wdXQubWF4JywgJyJ1bmRlZmluZWQiJyk7Ci0KLS8vIE5vbi1zdHJpbmcuCi1kZWJ1Zygn
U2V0dGluZyBub24tc3RyaW5nIHRvIG1pbjonKTsKLWlucHV0Lm1pbiA9IDI1NjsKLXNob3VsZEJl
KCdpbnB1dC5taW4nLCAnIjI1NiInKTsKLXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoIm1p
biIpJywgJyIyNTYiJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ21pbicsIDI1Nik7Ci1zaG91bGRC
ZSgnaW5wdXQubWluJywgJyIyNTYiJyk7Ci0KLWRlYnVnKCdTZXR0aW5nIG5vbi1zdHJpbmcgdG8g
bWF4OicpOwotaW5wdXQubWF4ID0gMjU2Owotc2hvdWxkQmUoJ2lucHV0Lm1heCcsICciMjU2Iicp
Owotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgibWF4IiknLCAnIjI1NiInKTsKLWlucHV0
LnNldEF0dHJpYnV0ZSgnbWF4JywgMjU2KTsKLXNob3VsZEJlKCdpbnB1dC5tYXgnLCAnIjI1NiIn
KTsKLQotLy8gVGhlIHJhbmdlIHR5cGUgaGFzIHRoZSBkZWZhdWx0IG1pbmltdW0gYW5kIHRoZSBk
ZWZhdWx0IG1heGltdW0uCi0vLyBCdXQgdGhleSBhcmVuJ3QgZXhwb3NlZCBieSAubWluIC5tYXgg
SURMIGF0dHJpYnV0ZXMuCi1kZWJ1ZygnQ2hlY2sgaW1wbGljaXQgbWluL21heCBvZiB0eXBlPXJh
bmdlOicpOwotaW5wdXQudHlwZSA9ICdyYW5nZSc7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ21pbics
ICcnKTsKLWlucHV0LnNldEF0dHJpYnV0ZSgnbWF4JywgJycpOwotc2hvdWxkQmUoJ2lucHV0Lm1p
bicsICciIicpOwotc2hvdWxkQmUoJ2lucHV0Lm1heCcsICciIicpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtcGF0dGVybi5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXBhdHRlcm4uanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5OWU0MGY2ZDc1MmVmNTY5N2Y0MDUwOTNjYzExOTBjMDg3
ZmE4YzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtcGF0dGVybi5qcworKysgL2Rl
di9udWxsCkBAIC0xLDM0ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0IHRoZSBiZWhhdmlvciBv
ZiBwYXR0ZXJuIGF0dHJpYnV0ZSBhbmQgcGF0dGVybiBET00gcHJvcGVydHkuJyk7Ci0KLXZhciBp
bnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1pbnB1dC50eXBlID0gJ3Rl
eHQnOwotCi0vLyBObyBwYXR0ZXJuIGF0dHJpYnV0ZS4KLXNob3VsZEJlKCdpbnB1dC5wYXR0ZXJu
JywgJyIiJyk7Ci0KLS8vIFNldCBhIHN0cmluZyB2YWx1ZS4KLWlucHV0LnBhdHRlcm4gPSAnZm9v
JzsKLXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoInBhdHRlcm4iKScsICciZm9vIicpOwot
aW5wdXQuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgJ2JhcicpOwotc2hvdWxkQmUoJ2lucHV0LnBh
dHRlcm4nLCAnImJhciInKTsKLQotLy8gTnVsbC4KLWlucHV0LnBhdHRlcm4gPSBudWxsOwotc2hv
dWxkQmUoJ2lucHV0LnBhdHRlcm4nLCAnIiInKTsKLXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1
dGUoInBhdHRlcm4iKScsICdudWxsJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCBu
dWxsKTsKLXNob3VsZEJlKCdpbnB1dC5wYXR0ZXJuJywgJyJudWxsIicpOwotCi0vLyBVbmRlZmlu
ZWQuCi1pbnB1dC5wYXR0ZXJuID0gdW5kZWZpbmVkOwotc2hvdWxkQmUoJ2lucHV0LnBhdHRlcm4n
LCAnInVuZGVmaW5lZCInKTsKLXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoInBhdHRlcm4i
KScsICcidW5kZWZpbmVkIicpOwotaW5wdXQuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgdW5kZWZp
bmVkKTsKLXNob3VsZEJlKCdpbnB1dC5wYXR0ZXJuJywgJyJ1bmRlZmluZWQiJyk7Ci0KLS8vIE5v
bi1zdHJpbmcuCi1pbnB1dC5wYXR0ZXJuID0gMjU2Owotc2hvdWxkQmUoJ2lucHV0LnBhdHRlcm4n
LCAnIjI1NiInKTsKLXNob3VsZEJlKCdpbnB1dC5nZXRBdHRyaWJ1dGUoInBhdHRlcm4iKScsICci
MjU2IicpOwotaW5wdXQuc2V0QXR0cmlidXRlKCdwYXR0ZXJuJywgMjU2KTsKLXNob3VsZEJlKCdp
bnB1dC5wYXR0ZXJuJywgJyIyNTYiJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvaW5wdXQtc3RlcC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OWYyMjJjYjY1ODgxMzlhZWY5YTdjNjE4NzBiZTk5M2FiNTAwYTRiNy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9pbnB1dC1zdGVwLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAot
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIGJlaGF2aW9yIG9mIHN0ZXAgYXR0cmlidXRlIGFuZCBzdGVw
IERPTSBwcm9wZXJ0eS4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aW5wdXQnKTsKLWlucHV0LnR5cGUgPSAnbnVtYmVyJzsKLQotLy8gTm8gc3RlcCBhdHRyaWJ1dGUu
Ci1zaG91bGRCZSgnaW5wdXQuc3RlcCcsICciIicpOwotCi0vLyBTZXQgYW4gaW52YWxpZCBzdGVw
IHZhbHVlLgotaW5wdXQuc3RlcCA9ICdmb28nOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0
ZSgic3RlcCIpJywgJyJmb28iJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ3N0ZXAnLCAnYmFyJyk7
Ci1zaG91bGRCZSgnaW5wdXQuc3RlcCcsICciYmFyIicpOwotCi0vLyBOdWxsLgotaW5wdXQuc3Rl
cCA9IG51bGw7Ci1zaG91bGRCZSgnaW5wdXQuc3RlcCcsICciIicpOwotc2hvdWxkQmUoJ2lucHV0
LmdldEF0dHJpYnV0ZSgic3RlcCIpJywgJ251bGwnKTsKLWlucHV0LnNldEF0dHJpYnV0ZSgnc3Rl
cCcsIG51bGwpOwotc2hvdWxkQmUoJ2lucHV0LnN0ZXAnLCAnIm51bGwiJyk7Ci0KLS8vIFVuZGVm
aW5lZC4KLWlucHV0LnN0ZXAgPSB1bmRlZmluZWQ7Ci1zaG91bGRCZSgnaW5wdXQuc3RlcCcsICci
dW5kZWZpbmVkIicpOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgic3RlcCIpJywgJyJ1
bmRlZmluZWQiJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ3N0ZXAnLCB1bmRlZmluZWQpOwotc2hv
dWxkQmUoJ2lucHV0LnN0ZXAnLCAnInVuZGVmaW5lZCInKTsKLQotLy8gTm9uLXN0cmluZy4KLWlu
cHV0LnN0ZXAgPSAyNTY7Ci1zaG91bGRCZSgnaW5wdXQuc3RlcCcsICciMjU2IicpOwotc2hvdWxk
QmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgic3RlcCIpJywgJyIyNTYiJyk7Ci1pbnB1dC5zZXRBdHRy
aWJ1dGUoJ3N0ZXAnLCAyNTYpOwotc2hvdWxkQmUoJ2lucHV0LnN0ZXAnLCAnIjI1NiInKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1
cC1zdGVwZG93bi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzUwZWEx
MmM0Y2Q3YWM1OWNmYmIwYzJjOGU4ZjhhZGM4M2MxYjViOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1kZXNjcmlwdGlvbignQ2hlY2sgc3RlcFVwKCkgYW5kIHN0ZXBEb3duKCkgYmFoZXZpb3Ig
Zm9yIHVuc3VwcG9ydGVkIHR5cGVzLicpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpbnB1dCcpOwotdmFyIGludmFsaWRTdGF0ZUVyciA9ICciRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExIic7Ci0KLWRlYnVnKCdVbnN1cHBvcnRlZCB0eXBl
Jyk7Ci1pbnB1dC50eXBlID0gJ3RleHQnOwotc2hvdWxkVGhyb3coJ2lucHV0LnN0ZXAgPSAiMyI7
IGlucHV0Lm1pbiA9ICIiOyBpbnB1dC5tYXggPSAiIjsgaW5wdXQudmFsdWUgPSAiMiI7IGlucHV0
LnN0ZXBEb3duKCknLCAnIkVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAx
MSInKTsKLXNob3VsZFRocm93KCdpbnB1dC5zdGVwRG93bigwKScsICciRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExIicpOwotc2hvdWxkVGhyb3coJ2lucHV0LnN0ZXBV
cCgpJywgJyJFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEiJyk7Ci1z
aG91bGRUaHJvdygnaW5wdXQuc3RlcFVwKDApJywgJyJFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6
IERPTSBFeGNlcHRpb24gMTEiJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9pbnB1dC10eXBlLWNoYW5nZTMuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDNhZjY0NjllNDQyZWNmNGJlNjY3ZDRjOTIzNDQ2MDQ1NmYxNDBhYTYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdHlwZS1jaGFuZ2UzLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsNDcgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rlc3RzIGZvciB3cml0aW5nIGFuZCBy
ZWFkaW5nIC50eXBlIHByb3BlcnR5IG9mIEhUTUxJbnB1dEVsZW1lbnQuJyk7Ci0KLXZhciBpbnB1
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci1kb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlucHV0KTsKLQotLy8gVGhlIGRlZmF1bHQgdHlwZSBpcyAidGV4dCIuCi1zaG91bGRC
ZSgnaW5wdXQudHlwZScsICcidGV4dCInKTsKLQotZnVuY3Rpb24gY2hlY2sodmFsdWUsIGV4cGVj
dGVkKQotewotICAgIGlucHV0LnR5cGUgPSB2YWx1ZTsKLSAgICBpZiAoaW5wdXQudHlwZSA9PSBl
eHBlY3RlZCkKLSAgICAgICAgdGVzdFBhc3NlZCgnaW5wdXQudHlwZSBmb3IgIicgKyB2YWx1ZSAr
ICciIGlzIGNvcnJlY3RseSAiJyArIGlucHV0LnR5cGUgKyAnIi4nKTsKLSAgICBlbHNlCi0gICAg
ICAgIHRlc3RGYWlsZWQoJ2lucHV0LnR5cGUgZm9yICInICsgdmFsdWUgKyAnIiBpcyBpbmNvcnJl
Y3RseSAiJyArIGlucHV0LnR5cGUgKyAnIiwgc2hvdWxkIGJlICInICsgZXhwZWN0ZWQgKyAnIi4n
KTsKLX0KLQotLy8gVGhlIHR5cGUgaXMgbm90IHNwZWNpZmllZCBleHBsaWNpdGx5LiAgV2UgY2Fu
IGNoYW5nZSBpdCB0byAiZmlsZSIuCi1jaGVjaygiZmlsZSIsICJmaWxlIik7Ci0vLyBodHRwOi8v
d2Via2l0Lm9yZy9iLzU3MzQzCi1jaGVjaygiZmlsZSIsICJmaWxlIik7Ci1jaGVjaygiRklMRSIs
ICJmaWxlIik7Ci0KLWNoZWNrKCJ0ZXh0IiwgInRleHQiKTsKLWNoZWNrKCJURVhUIiwgInRleHQi
KTsgIC8vIGlucHV0LnR5cGUgbXVzdCByZXR1cm4gYSBsb3dlciBjYXNlIHZhbHVlIGFjY29yZGlu
ZyB0byBET00gTGV2ZWwgMi4KLWNoZWNrKCIgdGV4dCAiLCAidGV4dCIpOwotY2hlY2soImJ1dHRv
biIsICJidXR0b24iKTsKLWNoZWNrKCIgYnV0dG9uICIsICJ0ZXh0Iik7Ci1jaGVjaygiY2hlY2ti
b3giLCAiY2hlY2tib3giKTsKLWNoZWNrKCJlbWFpbCIsICJlbWFpbCIpOwotY2hlY2soImZpbGUi
LCAiZW1haWwiKTsgLy8gV2UgY2FuJ3QgY2hhbmdlIGEgY29uY3JldGUgdHlwZSB0byBmaWxlIGZv
ciBhIHNlY3VyaXR5IHJlYXNvbi4KLWNoZWNrKCJoaWRkZW4iLCAiaGlkZGVuIik7Ci1jaGVjaygi
aW1hZ2UiLCAiaW1hZ2UiKTsKLWNoZWNrKCJpc2luZGV4IiwgInRleHQiKTsKLWNoZWNrKCJudW1i
ZXIiLCAibnVtYmVyIik7Ci1jaGVjaygicGFzc3dvcmQiLCAicGFzc3dvcmQiKTsKLWNoZWNrKCJw
YXNzd2QiLCAidGV4dCIpOwotY2hlY2soInJhZGlvIiwgInJhZGlvIik7Ci1jaGVjaygicmFuZ2Ui
LCAicmFuZ2UiKTsKLWNoZWNrKCJyZXNldCIsICJyZXNldCIpOwotY2hlY2soInNlYXJjaCIsICJz
ZWFyY2giKTsKLWNoZWNrKCJzdWJtaXQiLCAic3VibWl0Iik7Ci1jaGVjaygidGVsIiwgInRlbCIp
OwotY2hlY2soInRlbGVwaG9uZSIsICJ0ZXh0Iik7Ci1jaGVjaygidXJsIiwgInVybCIpOwotY2hl
Y2soInVyaSIsICJ0ZXh0Iik7Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2lucHV0LXZhbHVlYXNudW1iZXItdW5zdXBwb3J0ZWQuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC12YWx1ZWFzbnVtYmVyLXVuc3VwcG9y
dGVkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGEwOGMzZDEwMTM4YmY0Njk5
Njg1YWFkMjI0N2RmYjMzZWEyNzZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXZh
bHVlYXNudW1iZXItdW5zdXBwb3J0ZWQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBA
Ci1kZXNjcmlwdGlvbignVGVzdHMgZm9yIC52YWx1ZUFzTnVtYmVyIHdpdGggbm9uLXN1cHBvcnRl
ZCBpbnB1dCB0eXBlcy4nKTsKLQotdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aW5wdXQnKTsKLWlucHV0LnR5cGUgPSAncmFuZ2UnOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpbnB1dCk7Ci0KLWZ1bmN0aW9uIGNoZWNrVmFsdWVBc051bWJlcih0eXBlKSB7Ci0gICAgZGVi
dWcoJ0NoZWNrIGZvciB0eXBlPScgKyB0eXBlKTsKLSAgICBpbnB1dC52YWx1ZSA9ICcwJzsKLSAg
ICBpbnB1dC50eXBlID0gdHlwZTsKLSAgICBzaG91bGRCZSgnaW5wdXQudmFsdWVBc051bWJlcics
ICdOdW1iZXIuTmFOJyk7Ci0gICAgc2hvdWxkVGhyb3coJ2lucHV0LnZhbHVlQXNOdW1iZXIgPSAw
JywgJyJFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEiJyk7Ci19Ci0K
LWNoZWNrVmFsdWVBc051bWJlcignYnV0dG9uJyk7Ci1jaGVja1ZhbHVlQXNOdW1iZXIoJ2NoZWNr
Ym94Jyk7Ci1jaGVja1ZhbHVlQXNOdW1iZXIoJ2NvbG9yJyk7Ci1jaGVja1ZhbHVlQXNOdW1iZXIo
J2VtYWlsJyk7Ci1jaGVja1ZhbHVlQXNOdW1iZXIoJ2ZpbGUnKTsKLWNoZWNrVmFsdWVBc051bWJl
cignaGlkZGVuJyk7Ci1jaGVja1ZhbHVlQXNOdW1iZXIoJ2ltYWdlJyk7Ci1jaGVja1ZhbHVlQXNO
dW1iZXIoJ2todG1sX2lzaW5kZXgnKTsKLWNoZWNrVmFsdWVBc051bWJlcigncGFzc3dvcmQnKTsK
LWNoZWNrVmFsdWVBc051bWJlcigncmFkaW8nKTsKLWNoZWNrVmFsdWVBc051bWJlcigncmVzZXQn
KTsKLWNoZWNrVmFsdWVBc051bWJlcignc2VhcmNoJyk7Ci1jaGVja1ZhbHVlQXNOdW1iZXIoJ3N1
Ym1pdCcpOwotY2hlY2tWYWx1ZUFzTnVtYmVyKCd0ZWwnKTsKLWNoZWNrVmFsdWVBc051bWJlcign
dGV4dCcpOwotY2hlY2tWYWx1ZUFzTnVtYmVyKCd1cmwnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1s
YWJlbC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGE3NGJhNzkxZmQxZmIzZDhh
N2JjMzQ1NGExZmUxYTc5NThkOTJkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMt
YWRkLWh0bWxGb3ItbGFiZWwuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1kZXNj
cmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBk
eW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5nIGEgbGFiZWwgd2hvc2UgaHRtbEZvciBwb2lu
dHMgdG8gdGhhdCBjb250cm9sLiAnKTsKLQotdmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwotCi1wYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2
PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24gaWQ9ImlkMSI+PGJ1dHRvbj48aW5wdXQgaWQ9ImlkMiI+
PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48
L2Rpdj4nOwotCi1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0KLWxhYmVscyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7Ci1zaG91bGRCZSgnbGFiZWxz
Lmxlbmd0aCcsICcwJyk7Ci1sYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7
Ci1sYWJlbC5odG1sRm9yID0gImlkMSI7Ci1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIp
LmFwcGVuZENoaWxkKGxhYmVsKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLQot
bGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKLXNob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKLWxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
bGFiZWwiKTsKLWxhYmVsLmh0bWxGb3IgPSAiaWQyIjsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOwotc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MScpOwotCi1sYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOwot
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOwotbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJsYWJlbCIpOwotbGFiZWwuaHRtbEZvciA9ICJpZDMiOwotZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7Ci1zaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcxJyk7Ci0KLWxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5s
YWJlbHM7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Ci1sYWJlbCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Ci1sYWJlbC5odG1sRm9yID0gImlkNCI7Ci1kb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKLXNob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzEnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkOWM1OWViNjRjODhlMGU0NGJiNDhjNzE0OGQ5ODUyOGQ0
MDE0YzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdCB0aGF0
IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVk
IHdoZW4gYWRkaW5nIGEgbGFiZWwgYXMgcGFyZW50IGZvciB0aGF0IGZvcm0gY29udHJvbC4gJyk7
Ci0KLXZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLQotcGFyZW50
LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48YnV0dG9u
IGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2Vs
ZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7Ci0KLWRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKLQotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImlkMSIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKLWxhYmVs
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKLWRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOwotbGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEn
KTsKLQotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKLXNo
b3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKLWxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGFiZWwiKTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hp
bGQobGFiZWwpOwotbGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MiIpKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLQotbGFiZWxzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzAnKTsKLWxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKLWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOwotbGFiZWwuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpKTsKLXNob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzEnKTsKLQotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
NCIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKLWxhYmVsID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
aXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOwotbGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlkNCIpKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNo
YW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQyZmQ3NGVmOGFjMmY4NjFlODNiYjRjZDNiYTA4MGNjNTEyYWNmNzYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0
ZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0IHRo
YXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0
ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBjaGFuZ2VzIHRvIHBvaW50
IHRvIHRoYXQgY29udHJvbC4gJyk7Ci0KLXZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKLQotcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rpdj48
ZGl2IGlkPSJkaXYyIj48bGFiZWwgaWQ9ImxhYmVsSWQiPjwvbGFiZWw+PGJ1dHRvbiBpZD0iaWQx
Ij48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4
dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOwotCi1kb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHBhcmVudCk7Ci0KLWxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVs
SWQiKTsKLWxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7Ci1z
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Ci1sYWJlbC5odG1sRm9yID0gImlkMSI7Ci1z
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Ci0KLWxhYmVsID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxhYmVsSWQiKTsKLWxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZDIiKS5sYWJlbHM7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Ci1sYWJlbC5odG1s
Rm9yID0gImlkMiI7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Ci0KLWxhYmVsID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKLWxhYmVscyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcw
Jyk7Ci1sYWJlbC5odG1sRm9yID0gImlkMyI7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcx
Jyk7Ci0KLWxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKLWxhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7Ci1zaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcwJyk7Ci1sYWJlbC5odG1sRm9yID0gImlkNCI7Ci1zaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcxJyk7Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWluZGV4LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGE4NWVkZTRhMDM5MzkzMDY1MWNhZGEwZDQ0ODdkYzM0OGIwODg0ZmMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMKKysrIC9kZXYvbnVsbApA
QCAtMSwxOSArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBpdGVtcyBvZiBhIGxh
YmVscyBsaXN0IGNhbiBiZSBhY2Nlc3NlZCBpbmRpdmlkdWFsbHkuICcpOwotCi12YXIgcGFyZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0KLXBhcmVudC5pbm5lckhUTUwgPSAn
PGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQxIj48L2J1
dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEg
aWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj48bGFiZWwgaWQ9ImwxIiBmb3I9ImlkMSI+PC9sYWJl
bD48bGFiZWwgaWQ9ImwyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9ImwzIiBmb3I9Imlk
MyI+PC9sYWJlbD48bGFiZWwgaWQ9Imw0IiBmb3I9ImlkNCI+PC9sYWJlbD48bGFiZWwgaWQ9Imwx
MSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTIiIGZvcj0iaWQyIj48L2xhYmVsPjxs
YWJlbCBpZD0ibDEzIiBmb3I9ImlkMyI+PC9sYWJlbD48bGFiZWwgaWQ9ImwxNCIgZm9yPSJpZDQi
PjwvbGFiZWw+JzsKLQotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOwotCi1sYWJl
bHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOwotc2hvdWxkQmUoJ2xh
YmVscy5pdGVtKDEpLmlkJywgJyJsMTEiJyk7Ci0KLWxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZDIiKS5sYWJlbHM7Ci1zaG91bGRCZSgnbGFiZWxzLml0ZW0oMSkuaWQnLCAnImwx
MiInKTsKLQotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsK
LXNob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDEzIicpOwotCi1sYWJlbHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOwotc2hvdWxkQmUoJ2xhYmVscy5pdGVt
KDEpLmlkJywgJyJsMTQiJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0
ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODU0OTIxNzRhMGEyZTQ0NWZjNmRm
ODg1ZmQzMGU4M2VhODI0NmUyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVt
b3ZlLWh0bWxGb3ItYXR0cmlidXRlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAot
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wg
aXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxh
YmVsIGlzIHJlbW92ZWQuJyk7Ci0KLXZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKLQotcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rpdj48ZGl2
IGlkPSJkaXYyIj48bGFiZWwgaWQ9ImxhYmVsMSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlk
PSJsYWJlbDIiIGZvcj0iaWQyIj48L2xhYmVsPjxsYWJlbCBpZD0ibGFiZWwzIiBmb3I9ImlkMyI+
PC9sYWJlbD48bGFiZWwgaWQ9ImxhYmVsNCIgZm9yPSJpZDQiPjwvbGFiZWw+PGJ1dHRvbiBpZD0i
aWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48
dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOwotCi1kb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHBhcmVudCk7Ci0KLWxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxh
YmVsMSIpOwotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsK
LXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLWxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgi
Zm9yIik7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Ci0KLWxhYmVsID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsMiIpOwotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImlkMiIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLWxh
YmVsLnJlbW92ZUF0dHJpYnV0ZSgiZm9yIik7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcw
Jyk7Ci0KLWxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsMyIpOwotbGFiZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzEnKTsKLWxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgiZm9yIik7Ci1zaG91bGRC
ZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Ci0KLWxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxhYmVsNCIpOwotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxh
YmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLWxhYmVsLnJlbW92ZUF0dHJp
YnV0ZSgiZm9yIik7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Ci0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRt
bEZvci1sYWJlbC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1sYWJlbC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MmVlY2U3YzMyMGViYzRiMjRmMzU3NGU3ZWMzYmMwNGNjMDY4MDVjYy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyNyArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBv
ZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgdGhl
IGh0bWxGb3IgYXR0cmlidXRlIHRoYXQgcG9pbnRlZCB0byB0aGF0IGZvcm0gY29udHJvbC4nKTsK
LQotdmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotCi1wYXJlbnQu
aW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24g
aWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxl
Y3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+PGxhYmVsIGlkPSJsMSIgZm9y
PSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMiIgZm9yPSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlk
PSJsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlkPSJsNCIgZm9yPSJpZDQiPjwvbGFiZWw+
JzsKLQotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOwotCi1sYWJlbHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOwotc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMScpOwotZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImwxIikuaHRtbEZvciA9ICIiOwot
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOwotCi1sYWJlbHMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaWQyIikubGFiZWxzOwotc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScp
OwotZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImwyIikuaHRtbEZvciA9ICIiOwotc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMCcpOwotCi1sYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQzIikubGFiZWxzOwotc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOwotZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImwzIikuaHRtbEZvciA9ICIiOwotc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMCcpOwotCi1sYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0Iiku
bGFiZWxzOwotc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOwotZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImw0IikuaHRtbEZvciA9ICIiOwotc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFi
ZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNGM4MTVjZGE5YWQ4NDJiZTRkNGQ2OWQ4Mjg0ZjNhODRlZjUyZWVhYS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcworKysg
L2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxh
YmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBy
ZW1vdmluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuICcpOwotCi12
YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0KLXBhcmVudC5pbm5l
ckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGxhYmVsPjxidXR0
b24gaWQ9ImlkMSI+PC9idXR0b24+PC9sYWJlbD48bGFiZWw+PGlucHV0IGlkPSJpZDIiPjwvbGFi
ZWw+PGxhYmVsPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PC9sYWJlbD48bGFiZWw+PHRleHRh
cmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9sYWJlbD48L2Rpdj4nOwotCi0KLWRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKLQotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImlkMSIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImlkMSIpKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKLQotbGFiZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzEnKTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpKTsKLXNob3VsZEJlKCdsYWJlbHMu
bGVuZ3RoJywgJzAnKTsKLQotbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIp
LmxhYmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKLWRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MyIpKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKLQotbGFiZWxzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzEnKTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywg
JzAnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xh
YmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4NDFlZWY5NGYwYWQyOGYyMDA4ZWE0MmEyNmVhZGRhOTYxYWQxYzIx
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdCB0aGF0
IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVk
IHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBwb2ludCB0
byB0aGF0IGNvbnRyb2wuICcpOwotCi12YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7Ci0KLXBhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRp
diBpZD0iZGl2MiI+PGxhYmVsIGlkPSJsYWJlbElkIj48L2xhYmVsPjxidXR0b24gaWQ9ImlkMSI+
PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRh
cmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+JzsKLQotZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChwYXJlbnQpOwotCi1sYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElk
Iik7Ci1sYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOwotc2hv
dWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOwotbGFiZWwuc2V0QXR0cmlidXRlKCJmb3IiLCAi
aWQxIik7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Ci0KLWxhYmVsID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKLWxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZDIiKS5sYWJlbHM7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Ci1s
YWJlbC5zZXRBdHRyaWJ1dGUoImZvciIsICJpZDIiKTsKLXNob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzEnKTsKLQotbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOwot
bGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKLXNob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKLWxhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkMyIp
Owotc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOwotCi1sYWJlbCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsYWJlbElkIik7Ci1sYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQ0IikubGFiZWxzOwotc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOwotbGFiZWwu
c2V0QXR0cmlidXRlKCJmb3IiLCAiaWQ0Iik7Ci1zaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcx
Jyk7Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xp
c3Rib3gtZGVzZWxlY3Qtc2Nyb2xsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvbGlzdGJveC1kZXNlbGVjdC1zY3JvbGwuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg1ZTkwNjY2M2UxMjBjMmVkMTY2NDM0NDUwN2I0MDZkZGQ4M2VlYjYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvbGlzdGJveC1kZXNlbGVjdC1zY3JvbGwuanMKKysrIC9kZXYvbnVs
bApAQCAtMSw0NSArMCwwIEBACi1kZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0IGRlc2VsZWN0
aW5nIGFuIG9wdGlvbiB3b24mYXBvczt0IGNhdXNlIHVubmVjZXNzYXJ5IHNjcm9sbGluZy4nKTsK
LQotZnVuY3Rpb24gbW91c2VEb3duT25TZWxlY3Qoc2VsSWQsIGluZGV4LCBtb2RpZmllcikgewot
ICAgIHZhciBzbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlbElkKTsKLSAgICB2YXIgaXRl
bUhlaWdodCA9IE1hdGguZmxvb3Ioc2wub2Zmc2V0SGVpZ2h0IC8gc2wuc2l6ZSk7Ci0gICAgdmFy
IGJvcmRlciA9IDE7Ci0gICAgdmFyIHkgPSBib3JkZXIgKyBpbmRleCAqIGl0ZW1IZWlnaHQgLSB3
aW5kb3cucGFnZVlPZmZzZXQ7Ci0gICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzbC5vZmZzZXRMZWZ0ICsgYm9yZGVyLCBzbC5vZmZz
ZXRUb3AgKyB5KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKDAsIFttb2RpZmllcl0p
OwotICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKDAsIFttb2RpZmllcl0pOwotICAgIH0KLX0K
LQotZnVuY3Rpb24gc2VsZWN0aW9uUGF0dGVybihzZWxlY3QpIHsKLSAgICB2YXIgcmVzdWx0ID0g
Jyc7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3Qub3B0aW9ucy5sZW5ndGg7IGkrKykK
LSAgICAgICAgcmVzdWx0ICs9IHNlbGVjdC5vcHRpb25zW2ldLnNlbGVjdGVkID8gJzEnIDogJzAn
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKLXBhcmVudC5pbm5lckhUTUwgPSAnPHNlbGVjdCBpZD0ic2wiIG11bHRp
cGxlPSJtdWx0aXBsZSIgc2l6ZT0iNSI+JwotICAgICsgJzxvcHRpb24gdmFsdWU9IkFjY2Vzc2li
aWxpdHkiPkFjY2Vzc2liaWxpdHk8L29wdGlvbj4nCi0gICAgKyAnPG9wdGlvbiB2YWx1ZT0iQ1NT
Ij5DU1M8L29wdGlvbj4nCi0gICAgKyAnPG9wdGlvbiB2YWx1ZT0iRHJvc2VyYSI+RHJvc2VyYTwv
b3B0aW9uPicKLSAgICArICc8b3B0aW9uIHZhbHVlPSJFdmFuZ2VsaXNtIj5FdmFuZ2VsaXNtPC9v
cHRpb24+JwotICAgICsgJzxvcHRpb24gdmFsdWU9IkZvcm1zIj5Gb3Jtczwvb3B0aW9uPicKLSAg
ICArICc8b3B0aW9uIHZhbHVlPSJGcmFtZXMiPkZyYW1lczwvb3B0aW9uPicKLSAgICArICc8b3B0
aW9uIHZhbHVlPSJIaXN0b3J5Ij5IaXN0b3J5PC9vcHRpb24+JwotICAgICsgJzxvcHRpb24gdmFs
dWU9IkhUTUwgRE9NIj5IVE1MIERPTTwvb3B0aW9uPicKLSAgICArICc8b3B0aW9uIHZhbHVlPSJI
VE1MIEVkaXRpbmciPkhUTUwgRWRpdGluZzwvb3B0aW9uPicKLSAgICArICc8b3B0aW9uIHZhbHVl
PSJJbWFnZXMiPkltYWdlczwvb3B0aW9uPicKLSAgICArICc8b3B0aW9uPlNDUk9MTCBVUDwvb3B0
aW9uPicKLSAgICArICc8L3NlbGVjdD4nOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJl
bnQpOwotCi12YXIgc2wgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2wnKTsKLXNsLmZvY3Vz
KCk7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7Ci1zbC5zY3JvbGxUb3AgPSBN
YXRoLmZsb29yKHNsLm9mZnNldEhlaWdodCAvIHNsLnNpemUpICogNCArIDY7Ci12YXIgc2Nyb2xs
QmVmb3JlQ2xpY2sgPSBzbC5zY3JvbGxUb3A7Ci1tb3VzZURvd25PblNlbGVjdCgic2wiLCAzLCAi
YWRkU2VsZWN0aW9uS2V5Iik7Ci1zaG91bGRCZSgnc2wuc2Nyb2xsVG9wJywgJ3Njcm9sbEJlZm9y
ZUNsaWNrJyk7Ci1zaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybihzbCknLCAnIjExMTExMTEwMTEx
IicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGlz
dGJveC1zZWxlY3Rpb24tMi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L2xpc3Rib3gtc2VsZWN0aW9uLTIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRj
MDQ0MjYwNDQ4NjNjMDcwMTFjZWU4ZjJmZTA2ZDNhNzUyZDVkMjQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24tMi5qcworKysgL2Rldi9udWxsCkBAIC0xLDg3ICsw
LDAgQEAKLWRlc2NyaXB0aW9uKCcmbHQ7c2VsZWN0PiBzZWxlY3Rpb24gdGVzdCBmb3Igc2Nyb2xs
aW5nLicpOwotCi12YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci1w
YXJlbnQuaW5uZXJIVE1MID0gJzxzZWxlY3QgaWQ9InNsMSIgbXVsdGlwbGUgc2l6ZT01PicKLSAg
ICArICc8b3B0aW9uPm9uZTwvb3B0aW9uPicKLSAgICArICc8b3B0aW9uPnR3bzwvb3B0aW9uPicK
LSAgICArICc8b3B0aW9uPnRocmVlPC9vcHRpb24+JwotICAgICsgJzxvcHRpb24+Zm91cjwvb3B0
aW9uPicKLSAgICArICc8b3B0aW9uPmZpdmU8L29wdGlvbj4nCi0gICAgKyAnPG9wdGlvbj5zaXg8
L29wdGlvbj4nCi0gICAgKyAnPG9wdGlvbj5zZXZlbjwvb3B0aW9uPicKLSAgICArICc8b3B0aW9u
PmVpZ2h0PC9vcHRpb24+JwotICAgICsgJzxvcHRpb24+bmluZTwvb3B0aW9uPicKLSAgICArICc8
b3B0aW9uPnRlbjwvb3B0aW9uPicKLSAgICArICc8b3B0aW9uPmVsZXZlbjwvb3B0aW9uPicKLSAg
ICArICc8b3B0aW9uPnR3ZWx2ZTwvb3B0aW9uPicKLSAgICArICc8b3B0aW9uPnRoaXJ0ZWVuPC9v
cHRpb24+JwotICAgICsgJzxvcHRpb24+Zm91cnRlZW48L29wdGlvbj4nCi0gICAgKyAnPG9wdGlv
bj5maWZ0ZWVuPC9vcHRpb24+JwotICAgICsgJzxvcHRpb24+c2l4dGVlbjwvb3B0aW9uPicKLSAg
ICArICc8b3B0aW9uPnNldmVudGVlbjwvb3B0aW9uPicKLSAgICArICc8L3NlbGVjdD4nCi0gICAg
KyAnPHNlbGVjdCBpZD0ic2wyIiBtdWx0aXBsZSBzdHlsZT0iaGVpZ2h0OiAxMzVweDsgYm9yZGVy
OiAxMHB4IHNvbGlkOyBwYWRkaW5nOiA1cHg7Ij4nCi0gICAgKyAnPG9wdGlvbj5vbmU8L29wdGlv
bj4nCi0gICAgKyAnPG9wdGlvbj50d288L29wdGlvbj4nCi0gICAgKyAnPG9wdGlvbj50aHJlZTwv
b3B0aW9uPicKLSAgICArICc8L3NlbGVjdD4nOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChw
YXJlbnQpOwotCi0vLyBEZXRlcm1pbmUgdGhlIGl0ZW0gaGVpZ2h0LgotdmFyIHNsMSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzbDEnKTsKLXZhciBzbDIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnc2wyJyk7Ci12YXIgaXRlbUhlaWdodCA9IE1hdGguZmxvb3Ioc2wxLm9mZnNldEhlaWdo
dCAvIHNsMS5zaXplKTsKLXNsMS5yZW1vdmVBdHRyaWJ1dGUoJ3NpemUnKTsKLXZhciBoZWlnaHQg
PSBpdGVtSGVpZ2h0ICogOSArIDk7Ci1zbDEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdoZWlnaHQ6
ICcgKyBoZWlnaHQgKyAncHg7IGJvcmRlcjogMTBweCBzb2xpZDsgcGFkZGluZzogNXB4OycpOwot
Ci1mdW5jdGlvbiBtb3VzZURvd25PblNlbGVjdChzZWxJZCwgaW5kZXgpCi17Ci0gICAgdmFyIHNs
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VsSWQpOwotICAgIHZhciBib3JkZXJQYWRkaW5n
VG9wID0gMTU7Ci0gICAgdmFyIGJvcmRlclBhZGRpbmdMZWZ0ID0gMTU7Ci0gICAgdmFyIHkgPSBp
bmRleCAqIGl0ZW1IZWlnaHQgKyBpdGVtSGVpZ2h0IC8gMyAtIHdpbmRvdy5wYWdlWU9mZnNldCAr
IGJvcmRlclBhZGRpbmdUb3A7Ci0gICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
Ik1vdXNlRXZlbnQiKTsKLSAgICBldmVudC5pbml0TW91c2VFdmVudCgibW91c2Vkb3duIiwgdHJ1
ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDEsIHNsLm9mZnNldExlZnQgKyAgYm9yZGVy
UGFkZGluZ0xlZnQsIHNsLm9mZnNldFRvcCArIHksIHNsLm9mZnNldExlZnQgKyBib3JkZXJQYWRk
aW5nTGVmdCwgc2wub2Zmc2V0VG9wICsgeSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDAs
IGRvY3VtZW50KTsKLSAgICBzbC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLX0KLQotZnVuY3Rpb24g
c2VsZWN0aW9uUGF0dGVybihzZWxlY3RJZCkKLXsKLSAgICB2YXIgc2VsZWN0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoc2VsZWN0SWQpOwotICAgIHZhciByZXN1bHQgPSAiIjsKLSAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHNlbGVjdC5vcHRpb25zLmxlbmd0aDsgaSsrKQotICAgICAgICByZXN1
bHQgKz0gc2VsZWN0Lm9wdGlvbnNbaV0uc2VsZWN0ZWQgPyAnMScgOiAnMCc7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotbW91c2VEb3duT25TZWxlY3QoInNsMSIsIDApOwotc2hvdWxkQmUoJ3Nl
bGVjdGlvblBhdHRlcm4oInNsMSIpJywgJyIxMDAwMDAwMDAwMDAwMDAwMCInKTsKLQotbW91c2VE
b3duT25TZWxlY3QoInNsMSIsIDEpOwotc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMSIp
JywgJyIwMTAwMDAwMDAwMDAwMDAwMCInKTsKLQotbW91c2VEb3duT25TZWxlY3QoInNsMSIsIDYp
Owotc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMSIpJywgJyIwMDAwMDAxMDAwMDAwMDAw
MCInKTsKLQotbW91c2VEb3duT25TZWxlY3QoInNsMSIsIDcpOwotc2hvdWxkQmUoJ3NlbGVjdGlv
blBhdHRlcm4oInNsMSIpJywgJyIwMDAwMDAwMTAwMDAwMDAwMCInKTsKLQotbW91c2VEb3duT25T
ZWxlY3QoInNsMSIsIDgpOwotc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMSIpJywgJyIw
MDAwMDAwMTAwMDAwMDAwMCInKTsKLQotbW91c2VEb3duT25TZWxlY3QoInNsMSIsIDApOwotc2hv
dWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMSIpJywgJyIwMTAwMDAwMDAwMDAwMDAwMCInKTsK
LQotZm9yIChpID0gMDsgaSA8IDk7IGkrKykKLSAgICBtb3VzZURvd25PblNlbGVjdCgic2wxIiwg
Nyk7Ci1zaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxIiknLCAnIjAwMDAwMDAwMDAwMDAw
MDAxIicpOwotCi1tb3VzZURvd25PblNlbGVjdCgic2wyIiwgMSk7Ci1zaG91bGRCZSgnc2VsZWN0
aW9uUGF0dGVybigic2wyIiknLCAnIjAxMCInKTsKLQotbW91c2VEb3duT25TZWxlY3QoInNsMiIs
IDMpOwotc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMiIpJywgJyIwMTAiJyk7Ci0KLW1v
dXNlRG93bk9uU2VsZWN0KCJzbDIiLCAyKTsKLXNob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJz
bDIiKScsICciMDAxIicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvbGlzdGJveC1zZWxlY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9saXN0Ym94LXNlbGVjdGlvbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNjZjMWVhZTNlMzVmMDQ4M2IyZDE0YmVkODIyNmYyYzVjYzQ0Y2M0ZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9saXN0Ym94LXNlbGVjdGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0x
LDEyNSArMCwwIEBACi1kZXNjcmlwdGlvbignJmx0O3NlbGVjdCZndDsgc2VsZWN0aW9uIHRlc3Qg
Zm9yIG1vdXNlIGV2ZW50cyBhbmQga2V5ZXZlbnRzLicpOwotCi1mdW5jdGlvbiBtb3VzZURvd25P
blNlbGVjdChzZWxJZCwgaW5kZXgsIG1vZGlmaWVyKSB7Ci0gICAgdmFyIHNsID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoc2VsSWQpOwotICAgIHZhciBpdGVtSGVpZ2h0ID0gTWF0aC5mbG9vcihz
bC5vZmZzZXRIZWlnaHQgLyBzbC5zaXplKTsKLSAgICB2YXIgYm9yZGVyID0gMTsKLSAgICB2YXIg
eSA9IGJvcmRlciArIGluZGV4ICogaXRlbUhlaWdodDsKLQotICAgIHNsLmZvY3VzKCk7Ci0gICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byhzbC5vZmZzZXRMZWZ0ICsgYm9yZGVyLCBzbC5vZmZzZXRUb3AgKyB5IC0gd2luZG93LnBhZ2VZ
T2Zmc2V0KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKDAsIFttb2RpZmllcl0pOwot
ICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKDAsIFttb2RpZmllcl0pOwotICAgIH0KLX0KLQot
ZnVuY3Rpb24ga2V5RG93bk9uU2VsZWN0KHNlbElkLCBpZGVudGlmaWVyLCBtb2RpZmllcikgewot
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlbElkKS5mb2N1cygpOwotICAgIGlmICh3aW5k
b3cuZXZlbnRTZW5kZXIpCi0gICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oaWRlbnRpZmllciwg
W21vZGlmaWVyXSk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVNlbGVjdChpZE5hbWUsIHN6LCBtbHQs
IHNlbEluZGV4KSB7Ci0gICAgdmFyIHNsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0
Iik7Ci0gICAgdmFyIGkgPSAwOwotICAgIHNsLnNpemUgPSBzejsKLSAgICB3aGlsZSAoaSA8IHN6
KSB7Ci0gICAgICAgIHZhciBvcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsK
LSAgICAgICAgaWYgKGkgPT0gc2VsSW5kZXgpCi0gICAgICAgICAgICBvcHQuc2VsZWN0ZWQgPSB0
cnVlOwotICAgICAgICBvcHQudGV4dENvbnRlbnQgPSAiaXRlbSAiICsgaTsKLSAgICAgICAgc2wu
YXBwZW5kQ2hpbGQob3B0KTsKLSAgICAgICAgaSsrOwotICAgIH0KLSAgICBzbC5tdWx0aXBsZSA9
IG1sdDsKLSAgICBzbC5pZCA9IGlkTmFtZTsKLSAgICB2YXIgcGFyZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhcmVudCIpOwotICAgIHBhcmVudC5hcHBlbmRDaGlsZChzbCk7Ci19Ci0K
LWZ1bmN0aW9uIHNlbGVjdGlvblBhdHRlcm4oc2VsSWQpIHsKLSAgICB2YXIgc2wgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChzZWxJZCk7Ci0gICAgdmFyIHJlc3VsdCA9ICcnOwotICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgc2wub3B0aW9ucy5sZW5ndGg7IGkrKykKLSAgICAgICAgcmVzdWx0ICs9
IHNsLm9wdGlvbnNbaV0uc2VsZWN0ZWQgPyAnMScgOiAnMCc7Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQotdmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotcGFyZW50
LmlkID0gInBhcmVudCI7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0KLWNy
ZWF0ZVNlbGVjdCgic2wxIiwgNSwgZmFsc2UsIC0xKTsKLWNyZWF0ZVNlbGVjdCgic2wyIiwgNSwg
ZmFsc2UsIDEpOwotY3JlYXRlU2VsZWN0KCJzbDMiLCA1LCBmYWxzZSwgLTEpOwotY3JlYXRlU2Vs
ZWN0KCJzbDQiLCA1LCBmYWxzZSwgMSk7Ci1jcmVhdGVTZWxlY3QoInNsNSIsIDUsIGZhbHNlLCAy
KTsKLWNyZWF0ZVNlbGVjdCgic2w2IiwgNSwgZmFsc2UsIDMpOwotY3JlYXRlU2VsZWN0KCJzbDci
LCA1LCBmYWxzZSwgMSk7Ci0KLWNyZWF0ZVNlbGVjdCgic2w4IiwgNSwgdHJ1ZSwgLTEpOwotY3Jl
YXRlU2VsZWN0KCJzbDkiLCA1LCB0cnVlLCAxKTsKLWNyZWF0ZVNlbGVjdCgic2wxMCIsIDUsIHRy
dWUsIC0xKTsKLWNyZWF0ZVNlbGVjdCgic2wxMSIsIDUsIHRydWUsIDEpOwotY3JlYXRlU2VsZWN0
KCJzbDEyIiwgNSwgdHJ1ZSwgMik7Ci1jcmVhdGVTZWxlY3QoInNsMTMiLCA1LCB0cnVlLCAwKTsK
LWNyZWF0ZVNlbGVjdCgic2wxNCIsIDUsIHRydWUsIDEpOwotCi1kZWJ1ZygiMSkgU2VsZWN0IG9u
ZSBpdGVtIHdpdGggbW91c2UgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKLW1vdXNlRG93bk9u
U2VsZWN0KCJzbDEiLCAwKTsKLXNob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDEiKScsICci
MTAwMDAiJyk7Ci0KLWRlYnVnKCIyKSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAod2l0aCBw
cmV2aW91cyBzZWxlY3Rpb24pIik7Ci1tb3VzZURvd25PblNlbGVjdCgic2wyIiwgMCk7Ci1zaG91
bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wyIiknLCAnIjEwMDAwIicpOwotCi1kZWJ1ZygiMykg
U2VsZWN0IG9uZSBpdGVtIHdpdGggdGhlIGtleWJvYXJkIChubyBwcmV2aW91cyBzZWxlY3Rpb24p
Iik7Ci1rZXlEb3duT25TZWxlY3QoInNsMyIsICJ1cEFycm93Iik7Ci1zaG91bGRCZSgnc2VsZWN0
aW9uUGF0dGVybigic2wzIiknLCAnIjAwMDAxIicpOwotCi1kZWJ1ZygiNCkgU2VsZWN0IG9uZSBp
dGVtIHdpdGggdGhlIGtleWJvYXJkICh3aXRoIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKLWtleURv
d25PblNlbGVjdCgic2w0IiwgImRvd25BcnJvdyIpOwotc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRl
cm4oInNsNCIpJywgJyIwMDEwMCInKTsKLQotZGVidWcoIjUpIEF0dGVtcHQgdG8gc2VsZWN0IGFu
IGl0ZW0gY21kLWNsaWNraW5nIik7Ci1tb3VzZURvd25PblNlbGVjdCgic2w1IiwgMSwgImFkZFNl
bGVjdGlvbktleSIpOwotc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsNSIpJywgJyIwMTAw
MCInKTsKLQotZGVidWcoIjYpIEF0dGVtcHQgdG8gc2VsZWN0IGEgcmFuZ2Ugc2hpZnQtY2xpY2tp
bmciKTsKLW1vdXNlRG93bk9uU2VsZWN0KCJzbDYiLCAxLCAicmFuZ2VTZWxlY3Rpb25LZXkiKTsK
LXNob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDYiKScsICciMDEwMDAiJyk7Ci0KLWRlYnVn
KCI3KSBBdHRlbXB0IHRvIHNlbGVjdCBhIHJhbmdlIHdpdGggdGhlIGtleWJvYXJkIik7Ci1rZXlE
b3duT25TZWxlY3QoInNsNyIsICJkb3duQXJyb3ciLCAicmFuZ2VTZWxlY3Rpb25LZXkiKTsKLXNo
b3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDciKScsICciMDAxMDAiJyk7Ci0KLS8vIE11bHRp
cGxlIHNlbGVjdGlvbiB0ZXN0cwotCi1kZWJ1ZygiOCkgU2VsZWN0IG9uZSBpdGVtIHdpdGggbW91
c2UgKG5vIHByZXZpb3VzIHNlbGVjdGlvbikiKTsKLW1vdXNlRG93bk9uU2VsZWN0KCJzbDgiLCAw
KTsKLXNob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJzbDgiKScsICciMTAwMDAiJyk7Ci0KLWRl
YnVnKCI5KSBTZWxlY3Qgb25lIGl0ZW0gd2l0aCBtb3VzZSAod2l0aCBwcmV2aW91cyBzZWxlY3Rp
b24pIik7Ci1tb3VzZURvd25PblNlbGVjdCgic2w5IiwgMCk7Ci1zaG91bGRCZSgnc2VsZWN0aW9u
UGF0dGVybigic2w5IiknLCAnIjEwMDAwIicpOwotCi1kZWJ1ZygiMTApIFNlbGVjdCBvbmUgaXRl
bSB3aXRoIHRoZSBrZXlib2FyZCAobm8gcHJldmlvdXMgc2VsZWN0aW9uKSIpOwota2V5RG93bk9u
U2VsZWN0KCJzbDEwIiwgInVwQXJyb3ciKTsKLXNob3VsZEJlKCdzZWxlY3Rpb25QYXR0ZXJuKCJz
bDEwIiknLCAnIjAwMDAxIicpOwotCi1kZWJ1ZygiMTEpIFNlbGVjdCBvbmUgaXRlbSB3aXRoIHRo
ZSBrZXlib2FyZCAod2l0aCBwcmV2aW91cyBzZWxlY3Rpb24pIik7Ci1rZXlEb3duT25TZWxlY3Qo
InNsMTEiLCAiZG93bkFycm93Iik7Ci1zaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVybigic2wxMSIp
JywgJyIwMDEwMCInKTsKLQotZGVidWcoIjEyKSBTZWxlY3QgYW4gaXRlbSBjbWQtY2xpY2tpbmci
KTsKLW1vdXNlRG93bk9uU2VsZWN0KCJzbDEyIiwgMSwgImFkZFNlbGVjdGlvbktleSIpOwotc2hv
dWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMTIiKScsICciMDExMDAiJyk7Ci0KLWRlYnVnKCIx
MykgU2VsZWN0IGEgcmFuZ2Ugc2hpZnQtY2xpY2tpbmciKTsKLW1vdXNlRG93bk9uU2VsZWN0KCJz
bDEzIiwgMywgInJhbmdlU2VsZWN0aW9uS2V5Iik7Ci1zaG91bGRCZSgnc2VsZWN0aW9uUGF0dGVy
bigic2wxMyIpJywgJyIxMTExMCInKTsKLQotZGVidWcoIjE0KSBTZWxlY3QgYSByYW5nZSB3aXRo
IHRoZSBrZXlib2FyZCIpOwota2V5RG93bk9uU2VsZWN0KCJzbDE0IiwgImRvd25BcnJvdyIsICJy
YW5nZVNlbGVjdGlvbktleSIpOwotc2hvdWxkQmUoJ3NlbGVjdGlvblBhdHRlcm4oInNsMTQiKScs
ICciMDExMDAiJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9tZW51bGlzdC1kaXNhYmxlZC1zZWxlY3RlZC1vcHRpb24uanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9tZW51bGlzdC1kaXNhYmxlZC1zZWxlY3RlZC1vcHRpb24u
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwYzBmODc0OTc4ODM4OTY3N2IwNzk5
MDFjZDBlY2JkMmI1ZTJjZmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbWVudWxpc3QtZGlz
YWJsZWQtc2VsZWN0ZWQtb3B0aW9uLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAot
ZGVzY3JpcHRpb24oJ0NoZWNrIHRoYXQgYSBzZWxlY3QgY29udHJvbCBkb2VzIG5vdCBwcm9kdWNl
IGEgZm9ybSB2YWx1ZSBpZiB0aGUgc2VsZWN0ZWQgb3B0aW9uIGVsZW1lbnQgaXMgZGlzYWJsZWQu
Jyk7Ci0KLXZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLWRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKLXBhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0g
YWN0aW9uPSIiPicKLSAgICArICc8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT0ic3VibWl0dGVkIiB2
YWx1ZT0idHJ1ZSI+JwotICAgICsgJzxzZWxlY3QgbmFtZT0ic2VsZWN0Ij4nCi0gICAgKyAnPG9w
dGlvbiBkaXNhYmxlZD5EaXNhYmxlZDwvb3B0aW9uPicKLSAgICArICc8b3B0aW9uPkVuYWJsZWQ8
L29wdGlvbj4nCi0gICAgKyAnPC9zZWxlY3Q+JwotICAgICsgJzwvZm9ybT4nOwotCi1pZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLXZhciBxdWVyeSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7Ci1pZiAocXVl
cnkuaW5kZXhPZignc3VibWl0dGVkPXRydWUnKSA9PSAtMSkgewotICAgIHZhciBzZWxlY3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07Ci0gICAgc2VsZWN0LnNl
bGVjdGVkSW5kZXggPSAwOwotICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOwotfSBlbHNl
IHsKLSAgICBzaG91bGRCZSgncXVlcnkuaW5kZXhPZigic2VsZWN0PURpc2FibGVkIiknLCAnLTEn
KTsKLSAgICBzaG91bGRCZSgncXVlcnkuaW5kZXhPZigic2VsZWN0PUVuYWJsZWQiKScsICctMScp
OwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL21lbnVsaXN0LXN1Ym1pdC13aXRob3V0LXNlbGVjdGlvbi5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL21lbnVsaXN0LXN1Ym1pdC13
aXRob3V0LXNlbGVjdGlvbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhkYzU5
YTk4MDM2ZGI3MDkxOTUyN2M1OGE0MjhmNGQwYjA4NGY2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9tZW51bGlzdC1zdWJtaXQtd2l0aG91dC1zZWxlY3Rpb24uanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyMyArMCwwIEBACi1kZXNjcmlwdGlvbignQSB1bnNlbGVjdGVkIG9wdGlvbiB3YXMgc3Vi
bWl0dGVkIGFzIGZhbGxiYWNrLiBUaGlzIGJlaGF2aW9yIHdhcyByZW1vdmVkIGJ5IHRoZSBjaGFu
Z2Ugb2Ygd2Via2l0Lm9yZy9iLzM1MDU2LicpOwotCi12YXIgcGFyZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci1w
YXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtIGFjdGlvbj0iIj4nCi0gICAgKyAnPGlucHV0IHR5cGU9
aGlkZGVuIG5hbWU9InN1Ym1pdHRlZCIgdmFsdWU9InRydWUiPicKLSAgICArICc8c2VsZWN0IG5h
bWU9InNlbGVjdCI+JwotICAgICsgJzxvcHRpb24gZGlzYWJsZWQ+RGlzYWJsZWQ8L29wdGlvbj4n
Ci0gICAgKyAnPC9zZWxlY3Q+JwotICAgICsgJzwvZm9ybT4nOwotCi1pZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKLXZhciBxdWVyeSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7Ci1pZiAocXVlcnkuaW5kZXhP
Zignc3VibWl0dGVkPXRydWUnKSA9PSAtMSkgewotICAgIHZhciBzZWxlY3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07Ci0gICAgc2VsZWN0LnNlbGVjdGVkSW5k
ZXggPSAwOwotICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOwotfSBlbHNlIHsKLSAgICBz
aG91bGRCZSgncXVlcnkuaW5kZXhPZigic2VsZWN0PURpc2FibGVkIiknLCAnLTEnKTsKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9ub3ZhbGlkYXRlLWF0dHJpYnV0ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL25vdmFsaWRhdGUtYXR0cmlidXRlLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2YzhkOGMwNDcyOTQxZTFmYjUwZTE4ZWQ4MDcwODNhMDNmMGMzMDU5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL25vdmFsaWRhdGUtYXR0cmlidXRlLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBwZXJmb3Jt
cyBzb21lIHNpbXBsZSBjaGVjayBvbiB0aGUgbm9WYWxpZGF0ZSBhdHRyaWJ1dGUuIik7Ci0KLXZh
ciBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZm9ybSIpOwotCi1zaG91bGRCZSgiZi5oYXNB
dHRyaWJ1dGUoJ25vVmFsaWRhdGUnKSIsICJmYWxzZSIpOwotc2hvdWxkQmUoImYuZ2V0QXR0cmli
dXRlKCdub1ZhbGlkYXRlJykiLCAibnVsbCIpOwotc2hvdWxkQmUoImYubm9WYWxpZGF0ZSIsICJm
YWxzZSIpOwotCi1mLm5vVmFsaWRhdGUgPSB0cnVlOwotCi1zaG91bGRCZSgiZi5oYXNBdHRyaWJ1
dGUoJ25vVmFsaWRhdGUnKSIsICJ0cnVlIik7Ci1zaG91bGRCZSgiZi5nZXRBdHRyaWJ1dGUoJ25v
VmFsaWRhdGUnKSIsICInJyIpOwotc2hvdWxkQmUoImYubm9WYWxpZGF0ZSIsICJ0cnVlIik7Ci0K
LXZhciBmMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKLWYyLm5vVmFsaWRhdGUg
PSBmLm5vVmFsaWRhdGU7Ci0KLWYubm9WYWxpZGF0ZSA9IGZhbHNlOwotCi1zaG91bGRCZSgiZi5o
YXNBdHRyaWJ1dGUoJ25vVmFsaWRhdGUnKSIsICJmYWxzZSIpOwotc2hvdWxkQmUoImYuZ2V0QXR0
cmlidXRlKCdub1ZhbGlkYXRlJykiLCAibnVsbCIpOwotc2hvdWxkQmUoImYubm9WYWxpZGF0ZSIs
ICJmYWxzZSIpOwotCi1zaG91bGRCZSgiZjIuaGFzQXR0cmlidXRlKCdub1ZhbGlkYXRlJykiLCAi
dHJ1ZSIpOwotc2hvdWxkQmUoImYyLmdldEF0dHJpYnV0ZSgnbm9WYWxpZGF0ZScpIiwgIicnIik7
Ci1zaG91bGRCZSgiZjIubm9WYWxpZGF0ZSIsICJ0cnVlIik7Ci0KLWYyLm5vVmFsaWRhdGUgPSBm
YWxzZTsKLQotc2hvdWxkQmUoImYyLm5vVmFsaWRhdGUiLCAiZmFsc2UiKTsKLWYyLm5vVmFsaWRh
dGUgPSAic29tZXRoaW5nIjsKLXNob3VsZEJlKCJmMi5oYXNBdHRyaWJ1dGUoJ25vVmFsaWRhdGUn
KSIsICJ0cnVlIik7Ci1zaG91bGRCZSgiZjIuZ2V0QXR0cmlidXRlKCdub1ZhbGlkYXRlJykiLCAi
JyciKTsKLXNob3VsZEJlKCJmMi5ub1ZhbGlkYXRlIiwgInRydWUiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL291dHB1dC1yZXNldC1hc3NlcnRpb24t
ZmFpbGVkLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvb3V0cHV0LXJl
c2V0LWFzc2VydGlvbi1mYWlsZWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1
ZmM1ODI4YzQ2YzQxZGZiMTNjNjBhMmFjOTc1NDg4NTNlYzAyNzMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvb3V0cHV0LXJlc2V0LWFzc2VydGlvbi1mYWlsZWQuanMKKysrIC9kZXYvbnVsbApA
QCAtMSw0MiArMCwwIEBACi1kZXNjcmlwdGlvbignRW5zdXJlcyB0aGF0IGFzc2VydGlvbiBmYWls
dXJlcyBkb25cJ3Qgb2NjdXIgb24gdXBkYXRpbmcgdGhlIHZhbHVlIG9mICZsdDtvdXRwdXQmZ3Q7
IGVsZW1lbnRzLicpOwotCi1kZWJ1ZygnLSBBIHRlc3QgaW4gdGhlIHZhbHVlIGlzIHNldCB0d2lj
ZS4nKTsKLXZhciBvdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvdXRwdXQnKTsKLWRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0cHV0KTsKLW91dHB1dC52YWx1ZSA9ICcnOwotb3V0
cHV0LnZhbHVlID0gJyc7Ci10ZXN0UGFzc2VkKCdOb3QgY3Jhc2hlZCcpOwotZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChvdXRwdXQpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnLSBBIHRlc3QgaW4g
dGhlIHZhbHVlIGlzIHNldCB0byBkaWZmZXJlbnQgdmFsdWVzIHR3aWNlLicpOwotb3V0cHV0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3V0cHV0Jyk7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKG91dHB1dCk7Ci1vdXRwdXQudmFsdWUgPSAnJzsKLW91dHB1dC52YWx1ZSA9ICdmb28nOwot
dGVzdFBhc3NlZCgnTm90IGNyYXNoZWQnKTsKLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQob3V0
cHV0KTsKLQotZGVidWcoJycpOwotZGVidWcoJy0gQSB0ZXN0IGluIHJlc2V0IGV2ZW50cyBvY2N1
ciB0d2ljZSB3aGVuIHRoZXJlIGlzIG5vIGRlZmF1bHQgdmFsdWUuJyk7Ci12YXIgZm9ybSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
Zm9ybSk7Ci1vdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvdXRwdXQnKTsKLWZvcm0u
YXBwZW5kQ2hpbGQob3V0cHV0KTsKLWZvcm0ucmVzZXQoKTsKLWZvcm0ucmVzZXQoKTsKLXRlc3RQ
YXNzZWQoJ05vdCBjcmFzaGVkJyk7Ci1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pOwot
Ci1kZWJ1ZygnJyk7Ci1kZWJ1ZygnLSBBIHRlc3QgaW4gcmVzZXQgZXZlbnRzIG9jY3VyIHR3aWNl
IHdoZW4gdGhlIHZhbHVlIGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHZhbHVlLicpOwotZm9y
bSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZm9ybSk7Ci1vdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvdXRwdXQnKTsK
LW91dHB1dC5kZWZhdWx0VmFsdWUgPSAnZm9vJzsKLW91dHB1dC52YWx1ZSA9ICdmb28nOwotZm9y
bS5hcHBlbmRDaGlsZChvdXRwdXQpOwotZm9ybS5yZXNldCgpOwotZm9ybS5yZXNldCgpOwotdGVz
dFBhc3NlZCgnTm90IGNyYXNoZWQnKTsKLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZm9ybSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9wbGFjZWhv
bGRlci1kb20tcHJvcGVydHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9wbGFjZWhvbGRlci1kb20tcHJvcGVydHkuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDcyNjhhZmFiZDk4Yzk0YjdmMTE1NjU5YjIyNmQ1MjNlMTNkODZiYTkuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvcGxhY2Vob2xkZXItZG9tLXByb3BlcnR5LmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMTIgKzAsMCBAQAotZGVzY3JpcHRpb24oIlRlc3QgZm9yIDxhIGhyZWY9J2h0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwMyc+aHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTAzPC9hPiIpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwotCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImlucHV0
LnBsYWNlaG9sZGVyIiwgJycpOwotCi1pbnB1dC5zZXRBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIiwg
InAxIikKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiaW5wdXQucGxhY2Vob2xkZXIiLCAncDEnKTsK
LQotaW5wdXQucGxhY2Vob2xkZXIgPSAncDInOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJpbnB1
dC5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykiLCAncDInKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygiaW5wdXQucGxhY2Vob2xkZXIiLCAncDInKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlYXJjaC1jYW5jZWwtYnV0dG9uLWV2ZW50cy5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlYXJjaC1jYW5jZWwtYnV0dG9u
LWV2ZW50cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTljZTEyODcyMjQxNWI0
NGJmZmFhY2QxNzc5NWJmNzk3ODU1ODBhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zZWFy
Y2gtY2FuY2VsLWJ1dHRvbi1ldmVudHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBA
Ci1kZXNjcmlwdGlvbignVGVzdCBmb3IgZXZlbnQgZGlwYXRjaGluZyBieSBzZWFyY2ggY2FuY2Vs
IGJ1dHRvbi4nKTsKLQotdmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOwotcGFyZW50LmlubmVySFRNTCA9
ICc8aW5wdXQgdHlwZT1zZWFyY2ggaWQ9c2VhcmNoIHZhbHVlPWZvbz48aW5wdXQgaWQ9YW5vdGhl
cj4nOwotdmFyIHNlYXJjaCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gnKTsKLXZh
ciBhbm90aGVySW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5vdGhlcicpOwotdmFy
IGlucHV0RXZlbnRDb3VudGVyID0gMDsKLXZhciBjaGFuZ2VFdmVudENvdW50ZXIgPSAwOwotCi1z
ZWFyY2gub25jaGFuZ2UgPSBmdW5jdGlvbigpIHsgY2hhbmdlRXZlbnRDb3VudGVyKys7IH07Ci1z
ZWFyY2gub25pbnB1dCA9IGZ1bmN0aW9uKCkgeyBpbnB1dEV2ZW50Q291bnRlcisrOyB9OwotCi1p
ZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgZGVidWcoJ0luaXRpYWwgc3RhdGUnKTsKLSAg
ICBzaG91bGRCZSgnY2hhbmdlRXZlbnRDb3VudGVyJywgJzAnKTsKLSAgICBzaG91bGRCZSgnaW5w
dXRFdmVudENvdW50ZXInLCAnMCcpOwotCi0gICAgZGVidWcoJ0NsaWNrIHRoZSBjYW5jZWwgYnV0
dG9uJyk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc2VhcmNoLm9mZnNldExlZnQgKyBz
ZWFyY2gub2Zmc2V0V2lkdGggLSA4LCBzZWFyY2gub2Zmc2V0VG9wICsgc2VhcmNoLm9mZnNldEhl
aWdodCAvIDIpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlVXAoKTsKLSAgICBzaG91bGRCZSgnc2VhcmNoLnZhbHVlJywgJyIiJyk7Ci0gICAgc2hv
dWxkQmUoJ2NoYW5nZUV2ZW50Q291bnRlcicsICcwJyk7Ci0gICAgc2hvdWxkQmUoJ2lucHV0RXZl
bnRDb3VudGVyJywgJzEnKTsKLQotICAgIGRlYnVnKCdGb2N1cyBvbiBhbm90aGVyIGZpZWxkJyk7
Ci0gICAgYW5vdGhlcklucHV0LmZvY3VzKCk7Ci0gICAgc2hvdWxkQmUoJ2NoYW5nZUV2ZW50Q291
bnRlcicsICcxJyk7Ci0gICAgc2hvdWxkQmUoJ2lucHV0RXZlbnRDb3VudGVyJywgJzEnKTsKLQot
ICAgIHBhcmVudC5pbm5lckhUTUwgPSAnJzsKLX0gZWxzZSB7Ci0gIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb25zb2xlJykuaW5uZXJIVE1MID0gJ05vIGV2ZW50U2VuZGVyJzsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVu
Z3RoLW9wdGdyb3VwLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2Vs
ZWN0LXNldC1sZW5ndGgtb3B0Z3JvdXAuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAzYjY4Y2QxMTYxZjY4YTJmNzRjOGE0MDhhOGIxZDQ5ZGEyMGU5ZGQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvc2VsZWN0LXNldC1sZW5ndGgtb3B0Z3JvdXAuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyOCArMCwwIEBACi1kZXNjcmlwdGlvbignVGhpcyB0ZXN0IHRoYXQgc2V0dGluZyBIVE1M
U2VsZWN0RWxlbWVudC5sZW5ndGggcmVzcGVjdHMgb3B0Z3JvdXBzLicpOwotCi12YXIgd3JhcHBl
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCh3cmFwcGVyKTsKLXdyYXBwZXIuaW5uZXJIVE1MID0gJzxzZWxlY3QgaWQ9InRoZVNlbGVj
dCI+JysKLSAgICAgICAgICAgICAgICAgICAgJzxvcHRncm91cCBsYWJlbD0iZm9vIiBpZD0idGhl
T3B0R3JvdXAiPicrCi0gICAgICAgICAgICAgICAgICAgICc8b3B0aW9uIGlkPSJvcHRpb25Jbkdy
b3VwIj48L29wdGlvbj4nKwotICAgICAgICAgICAgICAgICAgICAnPC9vcHRncm91cD4nKwotICAg
ICAgICAgICAgICAgICAgICAnPC9zZWxlY3Q+JzsKLQotdmFyIHNlbCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0aGVTZWxlY3QnKTsKLXNob3VsZEJlKCdzZWwubGVuZ3RoJywgJzEnKTsKLQot
dmFyIG9nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RoZU9wdEdyb3VwJyk7Ci0KLXNlbC5s
ZW5ndGggPSAyOwotc2hvdWxkQmUoJ3NlbC5sZW5ndGgnLCAnMicpOwotc2hvdWxkQmUoJ29nLmNo
aWxkRWxlbWVudENvdW50JywgJzEnKTsKLQotc2VsLmxlbmd0aCA9IDE7Ci1zaG91bGRCZSgnc2Vs
Lmxlbmd0aCcsICcxJyk7Ci1zaG91bGRCZSgnb2cuY2hpbGRFbGVtZW50Q291bnQnLCAnMScpOwot
Ci1zZWwuaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpLCBvZyk7
Ci0KLXNlbC5sZW5ndGggPSAxOwotc2hvdWxkQmUoJ3NlbC5sZW5ndGgnLCAnMScpOwotc2hvdWxk
QmUoJ29nLmNoaWxkRWxlbWVudENvdW50JywgJzAnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24t
cmVtb3ZlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2VsZWN0LXNl
dC1sZW5ndGgtd2l0aC1tdXRhdGlvbi1yZW1vdmUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDBiYjNlMjk4NmQ1ODI5MzQwMzRhZTk4ZDVkMWM5YTA3ZGZkNTY2YmEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvc2VsZWN0LXNldC1sZW5ndGgtd2l0aC1tdXRhdGlvbi1yZW1vdmUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdHMgdGhh
dCBzZXR0aW5nIC5sZW5ndGggb24gYW4gSFRNTFNlbGVjdEVsZW1lbnQgd29ya3MgaW4gdGhlIHBy
ZXNlbmNlIG9mIG11dGF0aW9uIGxpc3RlbmVycyB0aGF0IHJlbW92ZSBvcHRpb24gZWxlbWVudHMu
Jyk7Ci0KLWZ1bmN0aW9uIGdjKCkgewotICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQotICAg
ICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKLQotICAgIGZvciAodmFyIGk9MDsg
aTwxMDAwMDsgKytpKSB7Ci0gICAgICAgIHZhciBzID0gbmV3IFN0cmluZygiYWJjIik7Ci0gICAg
fQotfQotCi1mdW5jdGlvbiBvblJlbW92ZShlKSB7Ci0gICAgaWYgKGUudGFyZ2V0Lm5leHRTaWJs
aW5nICE9IG51bGwpIHsKLSAgICAgICAgLy8gcmVtb3ZlIGxpc3RlbmVyIHRlbXBvcmFyaWx5IHRv
IGF2b2lkIGxvdHMgb2YgbmVzdGluZwotICAgICAgICBzZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcign
RE9NTm9kZVJlbW92ZWQnLCBvblJlbW92ZSwgZmFsc2UpOwotICAgICAgICBlLnRhcmdldC5uZXh0
U2libGluZy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUudGFyZ2V0Lm5leHRTaWJsaW5nKTsKLSAg
ICAgICAgc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgb25SZW1vdmUsIGZh
bHNlKTsKLSAgICB9Ci0gICAgZ2MoKTsKLX0KLQotdmFyIHNlbCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NlbGVjdCcpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWwpOwotCi1zZWwu
YWRkRXZlbnRMaXN0ZW5lcignRE9NTm9kZVJlbW92ZWQnLCBvblJlbW92ZSwgZmFsc2UpOwotc2Vs
LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVJbnNlcnRlZCcsIGZ1bmN0aW9uKCkge30sIGZhbHNl
KTsKLQotc2VsLmxlbmd0aCA9IDIwMDsKLXNob3VsZEJlKCdzZWwubGVuZ3RoJywgJzIwMCcpOwot
Ci1zZWwubGVuZ3RoID0gMTAwOwotc2hvdWxkQmUoJ3NlbC5sZW5ndGgnLCAnMTAwJyk7Ci0KLXNl
bC5sZW5ndGggPSAxODA7Ci1zaG91bGRCZSgnc2VsLmxlbmd0aCcsICcxODAnKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3Ro
LXdpdGgtbXV0YXRpb24tcmVvcmRlci5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24tcmVvcmRlci5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDBlY2Q2MDY3OWVjZThmMzk3Mjc5OTI2YzM0Zjk0MDEz
NTA0MmFjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zZWxlY3Qtc2V0LWxlbmd0aC13aXRo
LW11dGF0aW9uLXJlb3JkZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1kZXNj
cmlwdGlvbignVGVzdHMgdGhhdCBzZXR0aW5nIHRoZSAubGVuZ3RoIG9uIGFuIEhUTUxTZWxlY3RF
bGVtZW50IHdvcmtzIGluIHRoZSBwcmVzZW5jZSBvZiBET00gbXV0YXRpb24gbGlzdGVuZXJzIHRo
YXQgcmVvcmRlciBvcHRpb24gZWxlbWVudHMnKTsKLQotdmFyIHdyYXBwZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQod3JhcHBlcik7
Ci13cmFwcGVyLmlubmVySFRNTCA9ICc8c2VsZWN0IGlkPSJ0aGVTZWxlY3QiPicgKwotICAgICAg
ICAgICAgICAgICAgICAnPG9wdGlvbiBpZD0iYSI+YTwvb3B0aW9uPicgKwotICAgICAgICAgICAg
ICAgICAgICAnPG9wdGlvbiBpZD0iYiI+Yjwvb3B0aW9uPicgKwotICAgICAgICAgICAgICAgICAg
ICAnPG9wdGlvbiBpZD0iYyI+Yzwvb3B0aW9uPicgKwotICAgICAgICAgICAgICAgICAgICAnPG9w
dGlvbiBpZD0iZCI+ZDwvb3B0aW9uPicgKwotICAgICAgICAgICAgICAgICAgICAnPC9zZWxlY3Q+
JzsKLQotdmFyIHNlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVTZWxlY3QnKTsKLQot
dmFyIGZpcnN0UmVtb3ZlID0gdHJ1ZTsKLWZ1bmN0aW9uIG9uUmVtb3ZlKGUpIHsKLSAgICBpZiAo
Zmlyc3RSZW1vdmUpIHsKLSAgICAgICAgLy8gcmVtb3ZlIGxpc3RlbmVyIHRlbXBvcmFyaWx5IHRv
IGF2b2lkIGxvdHMgb2YgbmVzdGluZwotICAgICAgICBzZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcign
RE9NTm9kZVJlbW92ZWQnLCBvblJlbW92ZSwgZmFsc2UpOwotICAgICAgICB2YXIgbGFzdE9wdGlv
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkJyk7Ci0gICAgICAgIHNlbC5yZW1vdmVDaGls
ZChsYXN0T3B0aW9uKTsKLSAgICAgICAgc2VsLmluc2VydEJlZm9yZShsYXN0T3B0aW9uLCBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYycpKTsKLSAgICAgICAgZmlyc3RSZW1vdmUgPSBmYWxzZTsK
LSAgICAgICAgc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgb25SZW1vdmUs
IGZhbHNlKTsKLSAgICB9Ci19Ci0KLXNlbC5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlUmVtb3Zl
ZCcsIG9uUmVtb3ZlLCBmYWxzZSk7Ci1zZWwuYWRkRXZlbnRMaXN0ZW5lcignRE9NTm9kZUluc2Vy
dGVkJywgZnVuY3Rpb24oKSB7fSwgZmFsc2UpOwotCi1zaG91bGRCZSgnc2VsLmxlbmd0aCcsICc0
Jyk7Ci1zZWwubGVuZ3RoID0gMjsKLXNob3VsZEJlKCdzZWwubGVuZ3RoJywgJzInKTsKLXNob3Vs
ZEJlKCdzZWwub3B0aW9ucy5pdGVtKDApLmlkJywgJyJhIicpOwotc2hvdWxkQmUoJ3NlbC5vcHRp
b25zLml0ZW0oMSkuaWQnLCAnImIiJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9zZWxlY3Qtc2V0LWxlbmd0aC13aXRoLW11dGF0aW9uLXJlcGFyZW50
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2VsZWN0LXNldC1sZW5n
dGgtd2l0aC1tdXRhdGlvbi1yZXBhcmVudC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZWIxZTAyNzE2MWMyZDg1MzI1Y2I0Y2ZlMjNhOTljYTNjMWY3ODMzNy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9zZWxlY3Qtc2V0LWxlbmd0aC13aXRoLW11dGF0aW9uLXJlcGFyZW50Lmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQg
c2V0dGluZyAubGVuZ3RoIG9uIGFuIEhUTUxTZWxlY3RFbGVtZW50IHdvcmtzIGluIHRoZSBwcmVz
ZW5jZSBvZiBtdXRhdGlvbiBldmVudCBsaXN0ZW5lcnMgdGhhdCByZXBhcmVudCBvcHRpb25zJyk7
Ci0KLXZhciBzZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTsKLWRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoc2VsKTsKLXZhciBvdGhlclNlbCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NlbGVjdCcpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvdGhlclNlbCk7Ci0K
LWZ1bmN0aW9uIG9uUmVtb3ZlKGUpIHsKLSAgICBpZiAoZS50YXJnZXQubmV4dFNpYmxpbmcgIT0g
bnVsbCkgewotICAgICAgICAvLyByZW1vdmUgbGlzdGVuZXIgdGVtcG9yYXJpbHkgdG8gYXZvaWQg
bG90cyBvZiBuZXN0aW5nCi0gICAgICAgIHNlbC5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Ob2Rl
UmVtb3ZlZCcsIG9uUmVtb3ZlLCBmYWxzZSk7Ci0gICAgICAgIHZhciBuID0gZS50YXJnZXQubmV4
dFNpYmxpbmc7Ci0gICAgICAgIG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTsKLSAgICAgICAg
b3RoZXJTZWwuYXBwZW5kQ2hpbGQobik7Ci0gICAgICAgIHNlbC5hZGRFdmVudExpc3RlbmVyKCdE
T01Ob2RlUmVtb3ZlZCcsIG9uUmVtb3ZlLCBmYWxzZSk7Ci0gICAgfQotfQotCi1zZWwuYWRkRXZl
bnRMaXN0ZW5lcignRE9NTm9kZVJlbW92ZWQnLCBvblJlbW92ZSwgZmFsc2UpOwotc2VsLmFkZEV2
ZW50TGlzdGVuZXIoJ0RPTU5vZGVJbnNlcnRlZCcsIGZ1bmN0aW9uKCkge30sIGZhbHNlKTsKLQot
c2VsLmxlbmd0aCA9IDIwMDsKLXNob3VsZEJlKCdzZWwubGVuZ3RoJywgJzIwMCcpOwotc2hvdWxk
QmUoJ290aGVyU2VsLmxlbmd0aCcsICcwJyk7Ci0KLXNlbC5sZW5ndGggPSAxMDA7Ci1zaG91bGRC
ZSgnc2VsLmxlbmd0aCcsICcxMDAnKTsKLXNob3VsZEJlKCdvdGhlclNlbC5sZW5ndGgnLCAnMCcp
OwotCi1zZWwubGVuZ3RoID0gMTgwOwotc2hvdWxkQmUoJ3NlbC5sZW5ndGgnLCAnMTgwJyk7Ci1z
aG91bGRCZSgnb3RoZXJTZWwubGVuZ3RoJywgJzAnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24u
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zZWxlY3Qtc2V0LWxlbmd0
aC13aXRoLW11dGF0aW9uLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjUwNWVk
OWRjMDEzOGM3ZjRjMmYyMDE1OTg2NWYzYTUxZDQ4NGU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24uanMKKysrIC9kZXYvbnVsbApAQCAt
MSwxNiArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdHMgc2V0dGluZyB0aGUgLmxlbmd0aCBvZiBh
biBIVE1MU2VsZWN0RWxlbWVudCB3aXRoIG11dGF0aW9uIGxpc3RlbmVycyByZWdpc3RlcmVkLicp
OwotCi12YXIgc2VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7Ci1kb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHNlbCk7Ci0KLXNlbC5hZGRFdmVudExpc3RlbmVyKCdET01Ob2Rl
UmVtb3ZlZCcsIGZ1bmN0aW9uKCkge30sIGZhbHNlKTsKLXNlbC5hZGRFdmVudExpc3RlbmVyKCdE
T01Ob2RlSW5zZXJ0ZWQnLCBmdW5jdGlvbigpIHt9LCBmYWxzZSk7Ci0KLXNlbC5sZW5ndGggPSAy
MDA7Ci1zaG91bGRCZSgnc2VsLmxlbmd0aCcsICcyMDAnKTsKLQotc2VsLmxlbmd0aCA9IDEwMDsK
LXNob3VsZEJlKCdzZWwubGVuZ3RoJywgJzEwMCcpOwotCi1zZWwubGVuZ3RoID0gMTgwOwotc2hv
dWxkQmUoJ3NlbC5sZW5ndGgnLCAnMTgwJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9zZWxlY3Qtc2V0LWxlbmd0aC5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3RoLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1NzdkOTAyYmFmMTY5MjNhY2M1OGQ3MDE3YTE2ODVkYWRjNmU4MGY4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3RoLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMTUgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgc2V0dGluZyB0
aGUgLmxlbmd0aCBvZiBhbiBIVE1MU2VsZWN0RWxlbWVudCBjb3JyZWN0bHkgY3JlYXRlcyBhbmQg
ZGVzdHJveXMgb3B0aW9ucy4nKTsKLQotdmFyIHNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NlbGVjdCcpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWwpOwotCi1zaG91bGRCZSgn
c2VsLmxlbmd0aCcsICcwJyk7Ci0KLXNlbC5sZW5ndGggPSAyMDA7Ci1zaG91bGRCZSgnc2VsLmxl
bmd0aCcsICcyMDAnKTsKLQotc2VsLmxlbmd0aCA9IDEwMDsKLXNob3VsZEJlKCdzZWwubGVuZ3Ro
JywgJzEwMCcpOwotCi1zZWwubGVuZ3RoID0gMTgwOwotc2hvdWxkQmUoJ3NlbC5sZW5ndGgnLCAn
MTgwJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9z
ZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQ1OGUyMGUxYjE3OWQ3ZjdlODJlZTdlMGY3Njg5Y2JjM2E0YWYxMGYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotZGVzY3JpcHRpb24oJ0V4aXN0ZW5jZSB0
ZXN0cyBmb3IgLnNldEN1c3RvbVZhbGlkaXR5IHByb3BlcnR5Jyk7Ci0KLXZhciBwYXJlbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cGFyZW50KTsKLQotZGVidWcoJ0V4aXN0ZW5jZSBvZiAuc2V0Q3VzdG9tVmFsaWRpdHknKTsKLXBh
cmVudC5pbm5lckhUTUwgPSAnPGZvcm0+JwotICAgICsgJzxpbnB1dCBuYW1lPSJ2aWN0aW0iLz4n
Ci0gICAgKyAnPHRleHRhcmVhIG5hbWU9InZpY3RpbSI+PC90ZXh0YXJlYT4nCi0gICAgKyAnPGZp
ZWxkc2V0IG5hbWU9InZpY3RpbSI+VGVzdDwvZmllbGRzZXQ+JwotICAgICsgJzxidXR0b24gbmFt
ZT0idmljdGltIj4nCi0gICAgKyAnPHNlbGVjdCBuYW1lPSJ2aWN0aW0iPjwvc2VsZWN0PicKLSAg
ICArICc8b3V0cHV0IG5hbWU9InZpY3RpbSI+PC9vdXRwdXQ+JwotICAgICsgJzxvYmplY3QgbmFt
ZT0idmljdGltIj48L29iamVjdD4nCi0gICAgKyAnPGtleWdlbiBuYW1lPSJ2aWN0aW0iPicKLSAg
ICArICc8L2Zvcm0+JzsKLQotc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiaW5wdXQiKVswXS5zZXRDdXN0b21WYWxpZGl0eScsICciZnVuY3Rpb24iJyk7Ci1z
aG91bGRCZSgndHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24iKVsw
XS5zZXRDdXN0b21WYWxpZGl0eScsICciZnVuY3Rpb24iJyk7Ci1zaG91bGRCZSgndHlwZW9mIGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmaWVsZHNldCIpWzBdLnNldEN1c3RvbVZhbGlk
aXR5JywgJyJmdW5jdGlvbiInKTsKLXNob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoInNlbGVjdCIpWzBdLnNldEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlvbiIn
KTsKLXNob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRleHRh
cmVhIilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOwotc2hvdWxkQmUoJ3R5
cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0IilbMF0uc2V0Q3VzdG9t
VmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOwotc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgib2JqZWN0IilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0
aW9uIicpOwotc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
a2V5Z2VuIilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2hhZG93LXRyZWUtZXhwb3N1
cmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zaGFkb3ctdHJlZS1l
eHBvc3VyZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTMzYjQ2NmYyYTYwZTRk
MDU5NmQ1OTI3MmEwYzIzMWJmYzU4NWY3OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zaGFk
b3ctdHJlZS1leHBvc3VyZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLWRlc2Ny
aXB0aW9uKCJUZXN0IHRvIG1ha2Ugc3VyZSBzaGFkb3cgbm9kZXMgYXJlIG5vdCBleHBvc2VkLiIp
OwotCi12YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOwotZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpOwotCi1jb250YWluZXIuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlNvbWUgdGV4dDogIikpOwotCi1zaG91bGRCZSgiZ2V0
U2VsZWN0aW9uKCkuYW5jaG9yTm9kZSIsICJudWxsIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9u
KCkuYW5jaG9yT2Zmc2V0IiwgIjAiKTsKLXNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5mb2N1c05v
ZGUiLCAibnVsbCIpOwotc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmZvY3VzT2Zmc2V0IiwgIjAi
KTsKLXNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5pc0NvbGxhcHNlZCIsICJ0cnVlIik7Ci1zaG91
bGRCZSgiZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCIsICIwIik7Ci0KLXNob3VsZEJlKCJnZXRT
ZWxlY3Rpb24oKS5iYXNlTm9kZSIsICJudWxsIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCku
YmFzZU9mZnNldCIsICIwIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZXh0ZW50Tm9kZSIs
ICJudWxsIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZXh0ZW50T2Zmc2V0IiwgIjAiKTsK
LXNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS50eXBlIiwgIidOb25lJyIpOwotCi1kZWJ1ZygiXG5B
ZGQgYW4gaW5wdXQgZWxlbWVudC5cbiIpOwotCi12YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpbnB1dCIpOwotY29udGFpbmVyLmFwcGVuZENoaWxkKGlucHV0KTsKLWlucHV0LnZh
bHVlID0gInRleHQiOwotaW5wdXQuZm9jdXMoKTsKLWlucHV0LnNlbGVjdCgpOwotCi1zaG91bGRC
ZSgiZ2V0U2VsZWN0aW9uKCkuYW5jaG9yTm9kZSIsICJjb250YWluZXIiKTsKLXNob3VsZEJlKCJn
ZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQiLCAiMSIpOwotc2hvdWxkQmUoImdldFNlbGVjdGlv
bigpLmZvY3VzTm9kZSIsICJjb250YWluZXIiKTsKLXNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5m
b2N1c09mZnNldCIsICIxIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuaXNDb2xsYXBzZWQi
LCAidHJ1ZSIpOwotc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQiLCAiMSIpOwot
c2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmdldFJhbmdlQXQoMCkuc3RhcnRDb250YWluZXIiLCAi
Y29udGFpbmVyIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgwKS5zdGFy
dE9mZnNldCIsICIxIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgwKS5l
bmRDb250YWluZXIiLCAiY29udGFpbmVyIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZ2V0
UmFuZ2VBdCgwKS5lbmRPZmZzZXQiLCAiMSIpOwotCi1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCku
YmFzZU5vZGUiLCAiY29udGFpbmVyIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuYmFzZU9m
ZnNldCIsICIxIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZXh0ZW50Tm9kZSIsICJjb250
YWluZXIiKTsKLXNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5leHRlbnRPZmZzZXQiLCAiMSIpOwot
c2hvdWxkQmUoImdldFNlbGVjdGlvbigpLnR5cGUiLCAiJ1JhbmdlJyIpOwotCi1kZWJ1ZygiXG5B
ZGQgYSB0ZXh0YXJlYSBlbGVtZW50LlxuIik7Ci0KLXZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7Ci1jb250YWluZXIuYXBwZW5kQ2hpbGQodGV4dGFyZWEp
OwotdGV4dGFyZWEudmFsdWUgPSAidGV4dCI7Ci10ZXh0YXJlYS5mb2N1cygpOwotdGV4dGFyZWEu
c2VsZWN0KCk7Ci0KLXNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5hbmNob3JOb2RlIiwgImNvbnRh
aW5lciIpOwotc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmFuY2hvck9mZnNldCIsICIyIik7Ci1z
aG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZm9jdXNOb2RlIiwgImNvbnRhaW5lciIpOwotc2hvdWxk
QmUoImdldFNlbGVjdGlvbigpLmZvY3VzT2Zmc2V0IiwgIjIiKTsKLXNob3VsZEJlKCJnZXRTZWxl
Y3Rpb24oKS5pc0NvbGxhcHNlZCIsICJ0cnVlIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCku
cmFuZ2VDb3VudCIsICIxIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgw
KS5zdGFydENvbnRhaW5lciIsICJjb250YWluZXIiKTsKLXNob3VsZEJlKCJnZXRTZWxlY3Rpb24o
KS5nZXRSYW5nZUF0KDApLnN0YXJ0T2Zmc2V0IiwgIjIiKTsKLXNob3VsZEJlKCJnZXRTZWxlY3Rp
b24oKS5nZXRSYW5nZUF0KDApLmVuZENvbnRhaW5lciIsICJjb250YWluZXIiKTsKLXNob3VsZEJl
KCJnZXRTZWxlY3Rpb24oKS5nZXRSYW5nZUF0KDApLmVuZE9mZnNldCIsICIyIik7Ci0KLXNob3Vs
ZEJlKCJnZXRTZWxlY3Rpb24oKS5iYXNlTm9kZSIsICJjb250YWluZXIiKTsKLXNob3VsZEJlKCJn
ZXRTZWxlY3Rpb24oKS5iYXNlT2Zmc2V0IiwgIjIiKTsKLXNob3VsZEJlKCJnZXRTZWxlY3Rpb24o
KS5leHRlbnROb2RlIiwgImNvbnRhaW5lciIpOwotc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmV4
dGVudE9mZnNldCIsICIyIik7Ci1zaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkudHlwZSIsICInUmFu
Z2UnIik7Ci0KLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKTsKLQotZGVidWco
IiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc3Vi
bWl0LWZvcm0tYXR0cmlidXRlcy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL3N1Ym1pdC1mb3JtLWF0dHJpYnV0ZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNkZjgxYzkzZTY4NzBiYmI3YzUxNmFkNDA0NmYyOThhNTdiOWY2N2QuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvc3VibWl0LWZvcm0tYXR0cmlidXRlcy5qcworKysgL2Rldi9udWxsCkBA
IC0xLDE5NSArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdHMgdGhlIGJlaGF2aW9yIG9mIC5mb3Jt
YWN0aW9uLCAuZm9ybWVuY3R5cGUsIC5mb3JtbWV0aG9kIGFuZCAuZm9ybXRhcmdldCBvZiBIVE1M
SW5wdXRFbGVtZW50IGFuZCBIVE1MQnV0dG9uRWxlbWVudC4nKTsKLQotdmFyIGlucHV0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKLQotZGVidWcoJ09yZGluYXJ5IHZhbHVlcyBm
b3IgaW5wdXQ6Jyk7Ci1pbnB1dC50eXBlID0gInN1Ym1pdCI7Ci1zaG91bGRCZSgnaW5wdXQuZm9y
bUFjdGlvbicsICciIicpOwotc2hvdWxkQmUoJ2lucHV0LmZvcm1FbmN0eXBlJywgJyJhcHBsaWNh
dGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybU1ldGhv
ZCcsICciZ2V0IicpOwotc2hvdWxkQmUoJ2lucHV0LmZvcm1UYXJnZXQnLCAnIiInKTsKLQotaW5w
dXQuc2V0QXR0cmlidXRlKCdmb3JtQWN0aW9uJywgJ2h0dHA6Ly9sb2NhbGhvc3QnKTsKLXNob3Vs
ZEJlKCdpbnB1dC5mb3JtQWN0aW9uJywgJyJodHRwOi8vbG9jYWxob3N0LyInKTsKLWlucHV0LnNl
dEF0dHJpYnV0ZSgnZm9ybUFjdGlvbicsICdodHRwOi8vbG9jYWxob3N0LycpOwotc2hvdWxkQmUo
J2lucHV0LmZvcm1BY3Rpb24nLCAnImh0dHA6Ly9sb2NhbGhvc3QvIicpOwotaW5wdXQuc2V0QXR0
cmlidXRlKCdmb3JtRW5jdHlwZScsICd0ZXh0L3BsYWluJyk7Ci1zaG91bGRCZSgnaW5wdXQuZm9y
bUVuY3R5cGUnLCAnInRleHQvcGxhaW4iJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1FbmN0
eXBlJywgJ25hJyk7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybUVuY3R5cGUnLCAnImFwcGxpY2F0aW9u
L3gtd3d3LWZvcm0tdXJsZW5jb2RlZCInKTsKLWlucHV0LnNldEF0dHJpYnV0ZSgnZm9ybU1ldGhv
ZCcsICdHRVQnKTsKLXNob3VsZEJlKCdpbnB1dC5mb3JtTWV0aG9kJywgJyJnZXQiJyk7Ci1pbnB1
dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1NZXRob2QnLCAnbmknKTsKLXNob3VsZEJlKCdpbnB1dC5mb3Jt
TWV0aG9kJywgJyJnZXQiJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1UYXJnZXQnLCAnX2Js
YW5rJyk7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcsICciX2JsYW5rIicpOwotaW5wdXQu
c2V0QXR0cmlidXRlKCdmb3JtVGFyZ2V0JywgJ251Jyk7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybVRh
cmdldCcsICcibnUiJyk7Ci0KLWlucHV0LmZvcm1BY3Rpb24gPSAnaHR0cDovL2V4YW1wbGUuY29t
JzsKLXNob3VsZEJlKCdpbnB1dC5mb3JtQWN0aW9uJywgJyJodHRwOi8vZXhhbXBsZS5jb20vIicp
OwotaW5wdXQuZm9ybUFjdGlvbiA9ICdodHRwOi8vZXhhbXBsZS5jb20vJzsKLXNob3VsZEJlKCdp
bnB1dC5mb3JtQWN0aW9uJywgJyJodHRwOi8vZXhhbXBsZS5jb20vIicpOwotaW5wdXQuZm9ybUVu
Y3R5cGUgPSAndGV4dC9wbGFpbic7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybUVuY3R5cGUnLCAnInRl
eHQvcGxhaW4iJyk7Ci1pbnB1dC5mb3JtRW5jdHlwZSA9ICdub3RhJzsKLXNob3VsZEJlKCdpbnB1
dC5mb3JtRW5jdHlwZScsICciYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOwot
aW5wdXQuZm9ybU1ldGhvZCA9ICdQT1NUJzsKLXNob3VsZEJlKCdpbnB1dC5mb3JtTWV0aG9kJywg
JyJwb3N0IicpOwotaW5wdXQuZm9ybU1ldGhvZCA9ICduZXRhJzsKLXNob3VsZEJlKCdpbnB1dC5m
b3JtTWV0aG9kJywgJyJnZXQiJyk7Ci1pbnB1dC5mb3JtVGFyZ2V0ID0gJ2h0dHA6Ly9leGFtcGxl
LmNvbSc7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcsICciaHR0cDovL2V4YW1wbGUuY29t
IicpOwotaW5wdXQuZm9ybVRhcmdldCA9ICdudGEnOwotc2hvdWxkQmUoJ2lucHV0LmZvcm1UYXJn
ZXQnLCAnIm50YSInKTsKLQotZGVidWcoJycpOwotZGVidWcoJ1NldHRpbmcgbnVsbCBmb3IgaW5w
dXQ6Jyk7Ci1pbnB1dC5mb3JtRW5jdHlwZSA9IG51bGw7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybUVu
Y3R5cGUnLCAnImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCInKTsKLXNob3VsZEJl
KCdpbnB1dC5nZXRBdHRyaWJ1dGUoImZvcm1FbmN0eXBlIiknLCAnbnVsbCcpOwotaW5wdXQuc2V0
QXR0cmlidXRlKCdmb3JtRW5jdHlwZScsIG51bGwpOwotc2hvdWxkQmUoJ2lucHV0LmZvcm1FbmN0
eXBlJywgJyJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7Ci1pbnB1dC5mb3Jt
TWV0aG9kID0gbnVsbDsKLXNob3VsZEJlKCdpbnB1dC5mb3JtTWV0aG9kJywgJyJnZXQiJyk7Ci1z
aG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJmb3JtTWV0aG9kIiknLCAnbnVsbCcpOwotaW5w
dXQuc2V0QXR0cmlidXRlKCdmb3JtTWV0aG9kJywgbnVsbCk7Ci1zaG91bGRCZSgnaW5wdXQuZm9y
bU1ldGhvZCcsICciZ2V0IicpOwotaW5wdXQuZm9ybVRhcmdldCA9IG51bGw7Ci1zaG91bGRCZSgn
aW5wdXQuZm9ybVRhcmdldCcsICciIicpOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgi
Zm9ybVRhcmdldCIpJywgJ251bGwnKTsKLWlucHV0LnNldEF0dHJpYnV0ZSgnZm9ybVRhcmdldCcs
IG51bGwpOwotc2hvdWxkQmUoJ2lucHV0LmZvcm1UYXJnZXQnLCAnIm51bGwiJyk7Ci0KLWRlYnVn
KCcnKTsKLWRlYnVnKCdTZXR0aW5nIHVuZGVmaW5lZCBmb3IgaW5wdXQ6Jyk7Ci1pbnB1dC5mb3Jt
RW5jdHlwZSA9IHVuZGVmaW5lZDsKLXNob3VsZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScsICciYXBw
bGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0
dHJpYnV0ZSgiZm9ybUVuY3R5cGUiKScsICcidW5kZWZpbmVkIicpOwotaW5wdXQuc2V0QXR0cmli
dXRlKCdmb3JtRW5jdHlwZScsIHVuZGVmaW5lZCk7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybUVuY3R5
cGUnLCAnImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCInKTsKLWlucHV0LmZvcm1N
ZXRob2QgPSB1bmRlZmluZWQ7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybU1ldGhvZCcsICciZ2V0Iicp
Owotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiZm9ybU1ldGhvZCIpJywgJyJ1bmRlZmlu
ZWQiJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1NZXRob2QnLCB1bmRlZmluZWQpOwotc2hv
dWxkQmUoJ2lucHV0LmZvcm1NZXRob2QnLCAnImdldCInKTsKLWlucHV0LmZvcm1UYXJnZXQgPSB1
bmRlZmluZWQ7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcsICcidW5kZWZpbmVkIicpOwot
c2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiZm9ybVRhcmdldCIpJywgJyJ1bmRlZmluZWQi
Jyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1UYXJnZXQnLCB1bmRlZmluZWQpOwotc2hvdWxk
QmUoJ2lucHV0LmZvcm1UYXJnZXQnLCAnInVuZGVmaW5lZCInKTsKLQotZGVidWcoJycpOwotZGVi
dWcoJ1NldHRpbmcgbm9uLXN0cmluZyBmb3IgaW5wdXQ6Jyk7Ci1pbnB1dC5mb3JtRW5jdHlwZSA9
IDI1NjsKLXNob3VsZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScsICciYXBwbGljYXRpb24veC13d3ct
Zm9ybS11cmxlbmNvZGVkIicpOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiZm9ybUVu
Y3R5cGUiKScsICciMjU2IicpOwotaW5wdXQuc2V0QXR0cmlidXRlKCdmb3JtRW5jdHlwZScsIDI1
Nik7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybUVuY3R5cGUnLCAnImFwcGxpY2F0aW9uL3gtd3d3LWZv
cm0tdXJsZW5jb2RlZCInKTsKLWlucHV0LmZvcm1NZXRob2QgPSAyNTY7Ci1zaG91bGRCZSgnaW5w
dXQuZm9ybU1ldGhvZCcsICciZ2V0IicpOwotc2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgi
Zm9ybU1ldGhvZCIpJywgJyIyNTYiJyk7Ci1pbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1NZXRob2Qn
LCAyNTYpOwotc2hvdWxkQmUoJ2lucHV0LmZvcm1NZXRob2QnLCAnImdldCInKTsKLWlucHV0LmZv
cm1UYXJnZXQgPSAyNTY7Ci1zaG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcsICciMjU2IicpOwot
c2hvdWxkQmUoJ2lucHV0LmdldEF0dHJpYnV0ZSgiZm9ybVRhcmdldCIpJywgJyIyNTYiJyk7Ci1p
bnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1UYXJnZXQnLCAyNTYpOwotc2hvdWxkQmUoJ2lucHV0LmZv
cm1UYXJnZXQnLCAnIjI1NiInKTsKLQotdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2J1dHRvbicpOwotZGVidWcoJycpOwotZGVidWcoJ09yZGluYXJ5IHZhbHVlcyBmb3IgYnV0
dG9uOicpOwotYnV0dG9uLnR5cGUgPSAic3VibWl0IjsKLXNob3VsZEJlKCdidXR0b24uZm9ybUFj
dGlvbicsICciIicpOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5jdHlwZScsICciYXBwbGljYXRp
b24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9k
JywgJyJnZXQiJyk7Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1UYXJnZXQnLCAnIiInKTsKLQotYnV0
dG9uLnNldEF0dHJpYnV0ZSgnZm9ybUFjdGlvbicsICdodHRwOi8vbG9jYWxob3N0Jyk7Ci1zaG91
bGRCZSgnYnV0dG9uLmZvcm1BY3Rpb24nLCAnImh0dHA6Ly9sb2NhbGhvc3QvIicpOwotYnV0dG9u
LnNldEF0dHJpYnV0ZSgnZm9ybUFjdGlvbicsICdodHRwOi8vbG9jYWxob3N0LycpOwotc2hvdWxk
QmUoJ2J1dHRvbi5mb3JtQWN0aW9uJywgJyJodHRwOi8vbG9jYWxob3N0LyInKTsKLWJ1dHRvbi5z
ZXRBdHRyaWJ1dGUoJ2Zvcm1FbmN0eXBlJywgJ3RleHQvcGxhaW4nKTsKLXNob3VsZEJlKCdidXR0
b24uZm9ybUVuY3R5cGUnLCAnInRleHQvcGxhaW4iJyk7Ci1idXR0b24uc2V0QXR0cmlidXRlKCdm
b3JtRW5jdHlwZScsICduYScpOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5jdHlwZScsICciYXBw
bGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOwotYnV0dG9uLnNldEF0dHJpYnV0ZSgn
Zm9ybU1ldGhvZCcsICdHRVQnKTsKLXNob3VsZEJlKCdidXR0b24uZm9ybU1ldGhvZCcsICciZ2V0
IicpOwotYnV0dG9uLnNldEF0dHJpYnV0ZSgnZm9ybU1ldGhvZCcsICduYScpOwotc2hvdWxkQmUo
J2J1dHRvbi5mb3JtTWV0aG9kJywgJyJnZXQiJyk7Ci1idXR0b24uc2V0QXR0cmlidXRlKCdmb3Jt
VGFyZ2V0JywgJ19ibGFuaycpOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtVGFyZ2V0JywgJyJfYmxh
bmsiJyk7Ci1idXR0b24uc2V0QXR0cmlidXRlKCdmb3JtVGFyZ2V0JywgJ25hJyk7Ci1zaG91bGRC
ZSgnYnV0dG9uLmZvcm1UYXJnZXQnLCAnIm5hIicpOwotCi1idXR0b24uZm9ybUFjdGlvbiA9ICdo
dHRwOi8vZXhhbXBsZS5jb20nOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtQWN0aW9uJywgJyJodHRw
Oi8vZXhhbXBsZS5jb20vIicpOwotYnV0dG9uLmZvcm1BY3Rpb24gPSAnaHR0cDovL2V4YW1wbGUu
Y29tLyc7Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1BY3Rpb24nLCAnImh0dHA6Ly9leGFtcGxlLmNv
bS8iJyk7Ci1idXR0b24uZm9ybUVuY3R5cGUgPSAndGV4dC9wbGFpbic7Ci1zaG91bGRCZSgnYnV0
dG9uLmZvcm1FbmN0eXBlJywgJyJ0ZXh0L3BsYWluIicpOwotYnV0dG9uLmZvcm1FbmN0eXBlID0g
J25vdGEnOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5jdHlwZScsICciYXBwbGljYXRpb24veC13
d3ctZm9ybS11cmxlbmNvZGVkIicpOwotYnV0dG9uLmZvcm1NZXRob2QgPSAnUE9TVCc7Ci1zaG91
bGRCZSgnYnV0dG9uLmZvcm1NZXRob2QnLCAnInBvc3QiJyk7Ci1idXR0b24uZm9ybU1ldGhvZCA9
ICdub3RhJzsKLXNob3VsZEJlKCdidXR0b24uZm9ybU1ldGhvZCcsICciZ2V0IicpOwotYnV0dG9u
LmZvcm1UYXJnZXQgPSAnaHR0cDovL2V4YW1wbGUuY29tJzsKLXNob3VsZEJlKCdidXR0b24uZm9y
bVRhcmdldCcsICciaHR0cDovL2V4YW1wbGUuY29tIicpOwotYnV0dG9uLmZvcm1UYXJnZXQgPSAn
bm90YSc7Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1UYXJnZXQnLCAnIm5vdGEiJyk7Ci0KLWRlYnVn
KCcnKTsKLWRlYnVnKCdTZXR0aW5nIG51bGwgZm9yIGJ1dHRvbjonKTsKLWJ1dHRvbi5mb3JtRW5j
dHlwZSA9IG51bGw7Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlv
bi94LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7Ci1zaG91bGRCZSgnYnV0dG9uLmdldEF0dHJpYnV0
ZSgiZm9ybUVuY3R5cGUiKScsICdudWxsJyk7Ci1idXR0b24uc2V0QXR0cmlidXRlKCdmb3JtRW5j
dHlwZScsIG51bGwpOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5jdHlwZScsICciYXBwbGljYXRp
b24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOwotYnV0dG9uLmZvcm1NZXRob2QgPSBudWxsOwot
c2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9kJywgJyJnZXQiJyk7Ci1zaG91bGRCZSgnYnV0dG9u
LmdldEF0dHJpYnV0ZSgiZm9ybU1ldGhvZCIpJywgJ251bGwnKTsKLWJ1dHRvbi5zZXRBdHRyaWJ1
dGUoJ2Zvcm1NZXRob2QnLCBudWxsKTsKLXNob3VsZEJlKCdidXR0b24uZm9ybU1ldGhvZCcsICci
Z2V0IicpOwotYnV0dG9uLmZvcm1UYXJnZXQgPSBudWxsOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3Jt
VGFyZ2V0JywgJyIiJyk7Ci1zaG91bGRCZSgnYnV0dG9uLmdldEF0dHJpYnV0ZSgiZm9ybVRhcmdl
dCIpJywgJ251bGwnKTsKLWJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zvcm1UYXJnZXQnLCBudWxsKTsK
LXNob3VsZEJlKCdidXR0b24uZm9ybVRhcmdldCcsICcibnVsbCInKTsKLQotZGVidWcoJycpOwot
ZGVidWcoJ1NldHRpbmcgdW5kZWZpbmVkIGZvciBidXR0b246Jyk7Ci1idXR0b24uZm9ybUVuY3R5
cGUgPSB1bmRlZmluZWQ7Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBsaWNh
dGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7Ci1zaG91bGRCZSgnYnV0dG9uLmdldEF0dHJp
YnV0ZSgiZm9ybUVuY3R5cGUiKScsICcidW5kZWZpbmVkIicpOwotYnV0dG9uLnNldEF0dHJpYnV0
ZSgnZm9ybUVuY3R5cGUnLCB1bmRlZmluZWQpOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5jdHlw
ZScsICciYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOwotYnV0dG9uLmZvcm1N
ZXRob2QgPSB1bmRlZmluZWQ7Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1NZXRob2QnLCAnImdldCIn
KTsKLXNob3VsZEJlKCdidXR0b24uZ2V0QXR0cmlidXRlKCJmb3JtTWV0aG9kIiknLCAnInVuZGVm
aW5lZCInKTsKLWJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zvcm1NZXRob2QnLCB1bmRlZmluZWQpOwot
c2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9kJywgJyJnZXQiJyk7Ci1idXR0b24uZm9ybVRhcmdl
dCA9IHVuZGVmaW5lZDsKLXNob3VsZEJlKCdidXR0b24uZm9ybVRhcmdldCcsICcidW5kZWZpbmVk
IicpOwotc2hvdWxkQmUoJ2J1dHRvbi5nZXRBdHRyaWJ1dGUoImZvcm1UYXJnZXQiKScsICcidW5k
ZWZpbmVkIicpOwotYnV0dG9uLnNldEF0dHJpYnV0ZSgnZm9ybVRhcmdldCcsIHVuZGVmaW5lZCk7
Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1UYXJnZXQnLCAnInVuZGVmaW5lZCInKTsKLQotZGVidWco
JycpOwotZGVidWcoJ1NldHRpbmcgbm9uLXN0cmluZyBmb3IgYnV0dG9uOicpOwotYnV0dG9uLmZv
cm1FbmN0eXBlID0gMjU2Owotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5jdHlwZScsICciYXBwbGlj
YXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOwotc2hvdWxkQmUoJ2J1dHRvbi5nZXRBdHRy
aWJ1dGUoImZvcm1FbmN0eXBlIiknLCAnIjI1NiInKTsKLWJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zv
cm1FbmN0eXBlJywgNTEyKTsKLXNob3VsZEJlKCdidXR0b24uZm9ybUVuY3R5cGUnLCAnImFwcGxp
Y2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCInKTsKLWJ1dHRvbi5mb3JtTWV0aG9kID0gMTI4
Owotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9kJywgJyJnZXQiJyk7Ci1zaG91bGRCZSgnYnV0
dG9uLmdldEF0dHJpYnV0ZSgiZm9ybU1ldGhvZCIpJywgJyIxMjgiJyk7Ci1idXR0b24uc2V0QXR0
cmlidXRlKCdmb3JtTWV0aG9kJywgMTcpOwotc2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9kJywg
JyJnZXQiJyk7Ci1idXR0b24uZm9ybVRhcmdldCA9IDEwMDsKLXNob3VsZEJlKCdidXR0b24uZm9y
bVRhcmdldCcsICciMTAwIicpOwotc2hvdWxkQmUoJ2J1dHRvbi5nZXRBdHRyaWJ1dGUoImZvcm1U
YXJnZXQiKScsICciMTAwIicpOwotYnV0dG9uLnNldEF0dHJpYnV0ZSgnZm9ybVRhcmdldCcsIDI4
MSk7Ci1zaG91bGRCZSgnYnV0dG9uLmZvcm1UYXJnZXQnLCAnIjI4MSInKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHQtY29udHJvbC1pbnRyaW5z
aWMtd2lkdGhzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4dC1j
b250cm9sLWludHJpbnNpYy13aWR0aHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDllZjlkM2YzY2M5ZTY0MDk3Yjk2ZjBiNmZhYTQ1MTRiMDIyNmMxNmEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvdGV4dC1jb250cm9sLWludHJpbnNpYy13aWR0aHMuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwzMiArMCwwIEBACi1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1lYXN1cmVzIHRoZSB3
aWR0aCBvZiB0ZXh0YXJlYXMgYW5kIHRleHQgaW5wdXRzIGZvciBkaWZmZXJlbnQgZm9udHMuIik7
Ci0KLXZhciBzaXplcyA9IFsxLCAyLCAzLCA0LCA1LCAxMCwgMjAsIDUwLCAxMDAsIDUwMCwgMTAw
MF07Ci0vLyBUaGlzIGxpc3Qgd2FzIGdyYWJiZWQgZnJvbSBXaWtpcGVkaWEKLS8vIGh0dHA6Ly9l
bi53aWtpcGVkaWEub3JnL3dpa2kvQ29yZV9mb250c19mb3JfdGhlX1dlYgotLy8gSW1wYWN0IHdh
cyByZW1vdmVkIGZyb20gdGhlIGxpc3QgYXMgbm90IGFsbCB2ZXJzaW9ucyBzZWVtIHRvIGhhdmUg
dGhlIHNhbWUgbWV0cmljcwotdmFyIG1zX3dlYl9mb250cyA9IFsnQW5kYWxlIE1vbm8nLCAnQXJp
YWwnLCAnQ29taWMgU2FucyBNUycsICdDb3VyaWVyIE5ldycsICdHZW9yZ2lhJywKLSAgICAgICAg
ICAgICAgICAgICAgJ1RpbWVzIE5ldyBSb21hbicsICdUcmVidWNoZXQgTVMnLCAnVmVyZGFuYScs
ICdXZWJkaW5ncyddOwotCi0vLyBUaGVzZSBhcmUgZm9udHMgd2UgZXhwZWN0IHRvIHNlZSBpbnN0
YWxsZWQgb24gYWxsIHN5c3RlbXMuCi12YXIgZm9udHMgPSBbJ0x1Y2lkYSBHcmFuZGUnLCAnQ291
cmllcicsICdIZWx2ZXRpY2EnLCAnTW9uYWNvJywgJ1RpbWVzJ10uY29uY2F0KG1zX3dlYl9mb250
cyk7Ci0KLWZ1bmN0aW9uIHByaW50RWxlbWVudFdpZHRoKHRhZ25hbWUsIGZvbnQpIHsKLSAgICBk
ZWJ1ZygnPGI+JyArIHRhZ25hbWUgKyAnPC9iPicpOwotICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWduYW1lKTsKLSAgICBub2RlLnN0eWxlLmZvbnRGYW1pbHkgPSBmb250
OwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobm9kZSk7Ci0gICAgdmFyIHNpemVQcm9w
ZXJ0eSA9IHRhZ25hbWUgPT0gJ2lucHV0JyA/ICdzaXplJyA6ICdjb2xzJzsKLSAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHNpemVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIG5vZGVbc2l6ZVByb3Bl
cnR5XSA9IHNpemVzW2ldOwotICAgICAgICBkZWJ1ZyhzaXplUHJvcGVydHkgKyAnPScgKyBzaXpl
c1tpXSArICcgY2xpZW50V2lkdGg9JyArIG5vZGUuY2xpZW50V2lkdGgpOwotICAgIH0KLSAgICBk
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKG5vZGUpOwotfQotCi1mb3IgKHZhciBqID0gMDsgaiA8
IGZvbnRzLmxlbmd0aDsgaisrKSB7Ci0gICAgZGVidWcoJzxiPicgKyBmb250c1tqXSArICc8L2I+
Jyk7Ci0gICAgcHJpbnRFbGVtZW50V2lkdGgoJ2lucHV0JywgZm9udHNbal0pOwotICAgIGRlYnVn
KCcnKQotICAgIHByaW50RWxlbWVudFdpZHRoKCd0ZXh0YXJlYScsIGZvbnRzW2pdKTsKLSAgICBk
ZWJ1ZygnJyk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGQyZmRjYjA4NzdhY2Y3MDdjNmI1MWNhYjBkMWYxMmViNDY2ODMxYTEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTUzICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0cyBmb3IgSFRNTFRleHRBcmVhRWxlbWVudC5t
YXhMZW5ndGggYmVoYXZpb3JzLicpOwotCi12YXIgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCd0ZXh0YXJlYScpOwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSk7
Ci0KLS8vIE5vIG1heGxlbmd0aCBhdHRyaWJ1dGUKLXNob3VsZEJlKCd0ZXh0QXJlYS5tYXhMZW5n
dGgnLCAnLTEnKTsKLQotLy8gSW52YWxpZCBtYXhsZW5ndGggYXR0cmlidXRlcwotdGV4dEFyZWEu
c2V0QXR0cmlidXRlKCdtYXhsZW5ndGgnLCAnLTMnKTsKLXNob3VsZEJlKCd0ZXh0QXJlYS5tYXhM
ZW5ndGgnLCAnLTEnKTsKLXRleHRBcmVhLnNldEF0dHJpYnV0ZSgnbWF4bGVuZ3RoJywgJ3h5eicp
Owotc2hvdWxkQmUoJ3RleHRBcmVhLm1heExlbmd0aCcsICctMScpOwotCi0vLyBWYWxpZCBtYXhs
ZW5ndGggYXR0cmlidXRlcwotdGV4dEFyZWEuc2V0QXR0cmlidXRlKCdtYXhsZW5ndGgnLCAnMScp
Owotc2hvdWxkQmUoJ3RleHRBcmVhLm1heExlbmd0aCcsICcxJyk7Ci10ZXh0QXJlYS5zZXRBdHRy
aWJ1dGUoJ21heGxlbmd0aCcsICcyNTYnKTsKLXNob3VsZEJlKCd0ZXh0QXJlYS5tYXhMZW5ndGgn
LCAnMjU2Jyk7Ci0KLS8vIFNldCB2YWx1ZXMgdG8gLm1heExlbmd0aAotdGV4dEFyZWEubWF4TGVu
Z3RoID0gMTM7Ci1zaG91bGRCZSgndGV4dEFyZWEuZ2V0QXR0cmlidXRlKCJtYXhsZW5ndGgiKScs
ICciMTMiJyk7Ci0KLXNob3VsZFRocm93KCd0ZXh0QXJlYS5tYXhMZW5ndGggPSAtMScsICciRXJy
b3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEiJyk7Ci1zaG91bGRCZSgndGV4dEFy
ZWEuZ2V0QXR0cmlidXRlKCJtYXhsZW5ndGgiKScsICciMTMiJyk7ICAvLyBOb3QgY2hhbmdlZAot
Ci10ZXh0QXJlYS5tYXhMZW5ndGggPSBudWxsOwotc2hvdWxkQmUoJ3RleHRBcmVhLm1heExlbmd0
aCcsICcwJyk7Ci1zaG91bGRCZSgndGV4dEFyZWEuZ2V0QXR0cmlidXRlKCJtYXhsZW5ndGgiKScs
ICciMCInKTsKLQotLy8gbWF4TGVuZ3RoIGRvZXNuJ3QgdHJ1bmNhdGUgdGhlIGRlZmF1bHQgdmFs
dWUuCi10ZXh0QXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7Ci10ZXh0
QXJlYS5zZXRBdHRyaWJ1dGUoJ21heGxlbmd0aCcsICczJyk7Ci10ZXh0QXJlYS5pbm5lckhUTUwg
PSAnYWJjZCc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTsKLXNob3VsZEJl
KCd0ZXh0QXJlYS52YWx1ZScsICciYWJjZCInKTsKLQotLy8gbWF4TGVuZ3RoIGRvZXNuJ3QgdHJ1
bmNhdGUgLnZhbHVlCi10ZXh0QXJlYS5tYXhMZW5ndGggPSAzOwotdGV4dEFyZWEudmFsdWUgPSAn
YWJjZGUnOwotc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJhYmNkZSInKTsKLQotLy8gU2V0
IHVwIGZvciB1c2VyLWlucHV0IHRlc3RzCi1mdW5jdGlvbiBjcmVhdGVGb2N1c2VkVGV4dEFyZWFX
aXRoTWF4TGVuZ3RoKG1heExlbmd0aCkgewotICAgIGlmICh0ZXh0QXJlYSkKLSAgICAgICAgZG9j
dW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0QXJlYSk7Ci0gICAgdGV4dEFyZWEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwotICAgIHRleHRBcmVhLnNldEF0dHJpYnV0ZSgn
bWF4bGVuZ3RoJywgbWF4TGVuZ3RoKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRl
eHRBcmVhKTsKLSAgICB0ZXh0QXJlYS5mb2N1cygpOwotfQotCi0vLyBJbnNlcnQgdGV4dCBvZiB3
aGljaCBsZW5ndGggaXMgbWF4TGVuZ3RoLgotY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExl
bmd0aCgzKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdhYmMn
KTsKLXNob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciYWJjIicpOwotCi0vLyBUcnkgdG8gYWRk
IGNoYXJhY3RlcnMgdG8gbWF4TGVuZ3RoIGNoYXJhY3RlcnMuCi1jcmVhdGVGb2N1c2VkVGV4dEFy
ZWFXaXRoTWF4TGVuZ3RoKDMpOwotdGV4dEFyZWEudmFsdWUgPSAnYWJjJzsKLWRvY3VtZW50LmV4
ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdkZWYnKTsKLXNob3VsZEJlKCd0ZXh0QXJl
YS52YWx1ZScsICciYWJjIicpOwotCi0vLyBSZXBsYWNlIHRleHQKLWNyZWF0ZUZvY3VzZWRUZXh0
QXJlYVdpdGhNYXhMZW5ndGgoMyk7Ci10ZXh0QXJlYS52YWx1ZSA9ICdhYmMnOwotZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoJ3NlbGVjdEFsbCcpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRl
eHQnLCBmYWxzZSwgJ2RlZicpOwotc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJkZWYiJyk7
Ci0KLS8vIEV4aXN0aW5nIHZhbHVlIGlzIGxvbmdlciB0aGFuIG1heExlbmd0aC4gIFdlIGNhbid0
IGFkZCB0ZXh0LgotY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsKLXRleHRB
cmVhLnZhbHVlID0gJ2FiY2RlZic7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcs
IGZhbHNlLCAnZ2hpJyk7Ci1zaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAnImFiY2RlZiInKTsK
LQotLy8gV2UgY2FuIGRlbGV0ZSBhIGNoYXJhY3RlciBpbiB0aGUgbG9uZ2VyIHZhbHVlLgotY3Jl
YXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsKLXRleHRBcmVhLnZhbHVlID0gJ2Fi
Y2RlZic7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnZGVsZXRlJyk7Ci1zaG91bGRCZSgndGV4dEFy
ZWEudmFsdWUnLCAnImFiY2RlIicpOwotCi0vLyBBIGxpbmVicmVhayBpcyAxIGNoYXJhY3Rlci4K
LWNyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgoNCk7Ci1kb2N1bWVudC5leGVjQ29t
bWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCAnQScpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2lu
c2VydExpbmVCcmVhaycpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxz
ZSwgJ0InKTsKLXNob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciQVxcbkIiJyk7Ci0KLS8vIENv
bmZpcm1zIGNvcnJlY3QgY291bnQgZm9yIGNsb3NlIGxpbmVicmVha3MgaW5wdXRzLgotY3JlYXRl
Rm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsKLXRleHRBcmVhLmlubmVySFRNTCA9ICdh
XG5cbic7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0TGluZUJyZWFrJyk7Ci1zaG91bGRC
ZSgndGV4dEFyZWEudmFsdWUnLCAnImFcXG5cXG4iJyk7Ci0KLS8vIENvbmZpcm1zIGNvcnJlY3Qg
Y291bnQgZm9yIG9wZW4gY29uc2VjdXRpdmUgbGluZWJyZWFrcyBpbnB1dHMuCi1jcmVhdGVGb2N1
c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoKDYpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2Vy
dExpbmVCcmVhaycpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwot
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwotZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwotc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJc
XG5cXG5cXG4iJyk7Ci0KLS8vIEFjY29yZGluZyB0byB0aGUgSFRNTDUgc3BlY2lmaWNhdGlvbiwg
bWF4TGVuZ3RoIGlzIGNvZGUtcG9pbnQgbGVuZ3RoLgotLy8gSG93ZXZlciBXZWJLaXQgaGFuZGxl
cyBpdCBhcyBncmFwaGVtZSBsZW5ndGguCi0KLS8vIGZhbmN5WCBzaG91bGQgYmUgdHJlYXRlZCBh
cyAxIGdyYXBoZW1lLgotdmFyIGZhbmN5WCA9ICJ4XHUwMzA1XHUwMzMyIjsvLyArIFN0cmluZy5m
cm9tQ2hhckNvZGUoMHgzMDUpICsgU3RyaW5nLmZyb21DaGFyQ29kZSgweDMzMik7Ci0vLyB1MTAw
MDAgaXMgb25lIGNoYXJhY3RlciBjb25zaXN0ZWQgb2YgYSBzdXJyb2dhdGUgcGFpci4KLXZhciB1
MTAwMDAgPSAiXHVkODAwXHVkYzAwIjsKLQotLy8gSW5zZXJ0cyA1IGNvZGUtcG9pbnRzIGluIFVU
Ri0xNgotY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsKLWRvY3VtZW50LmV4
ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdBQicgKyBmYW5jeVgpOwotc2hvdWxkQmUo
J3RleHRBcmVhLnZhbHVlJywgJyJBQiIgKyBmYW5jeVgnKTsKLXNob3VsZEJlKCd0ZXh0QXJlYS52
YWx1ZS5sZW5ndGgnLCAnNScpOwotCi1jcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3Ro
KDMpOwotdGV4dEFyZWEudmFsdWUgPSAnQUInICsgZmFuY3lYOwotdGV4dEFyZWEuc2V0U2VsZWN0
aW9uUmFuZ2UoMiwgNSk7ICAvLyBTZWxlY3QgZmFuY3lYCi1kb2N1bWVudC5leGVjQ29tbWFuZCgn
aW5zZXJ0VGV4dCcsIGZhbHNlLCAnQ0RFJyk7Ci1zaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAn
IkFCQyInKTsKLQotLy8gSW5zZXJ0cyA0IGNvZGUtcG9pbnRzIGluIFVURi0xNgotY3JlYXRlRm9j
dXNlZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNl
cnRUZXh0JywgZmFsc2UsICdBQicgKyB1MTAwMDApOwotc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVl
JywgJyJBQiIgKyB1MTAwMDAnKTsKLXNob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZS5sZW5ndGgnLCAn
NCcpOwotCi1jcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoKDMpOwotdGV4dEFyZWEu
dmFsdWUgPSAnQUInICsgdTEwMDAwOwotdGV4dEFyZWEuc2V0U2VsZWN0aW9uUmFuZ2UoMiwgNCk7
ICAvLyBTZWxlY3QgdTEwMDAwCi1kb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZh
bHNlLCAnQ0RFJyk7Ci1zaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAnIkFCQyInKTsKLQotLy8g
SW4gdGhlIGNhc2UgbWF4bGVuZ3RoPTAKLWNyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5n
dGgoMCk7Ci10ZXh0QXJlYS52YWx1ZSA9ICcnOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2Vy
dFRleHQnLCBmYWxzZSwgJ0FCQycpOwotc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyIiJyk7
Ci0KLS8vIEluIHRoZSBjYXNlIG1heGxlbmd0aD0nJwotY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0
aE1heExlbmd0aCgnJyk7Ci10ZXh0QXJlYS52YWx1ZSA9ICcnOwotZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJ0FCQycpOwotc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVl
JywgJyJBQkMiJyk7Ci0KLS8vIEluIHRoZSBjYXNlIG1heGxlbmd0aD0naW52YWxpZCcKLWNyZWF0
ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgoJ2ludmFsaWQnKTsKLXRleHRBcmVhLnZhbHVl
ID0gJyc7Ci1kb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCAnQUJDJyk7
Ci1zaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAnIkFCQyInKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1ldHJpY3MuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tZXRyaWNzLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWU0OGM4ZDViZGFkZjY0OTFjYzU2MWQ1ZDUzNzYz
NjE1NmQ2NjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1ldHJpY3MuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwxNTYgKzAsMCBAQAotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0ZXh0YXJlYXMgaGF2ZSB0aGUgcmlnaHQgbWV0cmljcy4gVGhlc2UgbnVtYmVy
cyBtYXRjaCBJRTcgZXhjZXB0IGZvciBzY3JvbGxIZWlnaHQuIEZvciB0d28gcmVhc29uczo8YnI+
IiArCi0iMS4gc2Nyb2xsSGVpZ2h0IGlzIGRpZmZlcmVudCBmb3IgZWxlbWVudHMgd2l0aG91dCBl
bm91Z2ggY29udGVudCB0byBjYXVzZSBzY3JvbGwgYmVjYXVzZSBJRTcgdGhlbiByZXBvcnRzIHRo
ZSBoZWlnaHQgb2YgdGhlIHRleHQgaW5zaWRlIHRoZSAiICsKLSJlbGVtZW50IGFzIHRoZSBzY3Jv
bGxIZWlnaHQuIElFOCByZXBvcnRzIGhhcyBzY3JvbGxIZWlnaHQgPT0gb2Zmc2V0SGVpZ2h0LiBH
ZWNrby9XZWJLaXQgaGF2ZSBzY3JvbGxIZWlnaHQgPT0gY2xpZW50SGVpZ2h0Ljxicj4iICsKLSIy
LiBGb3IgdGhlIGVsZW1lbnRzIHdpdGggc2Nyb2xsIGluIHN0YW5kYXJkcy1tb2RlLCBJRSB3cmFw
cyB0aGUgdGV4dCBkaWZmZXJlbnRseS4gSXQgc2VlbXMgdG8gbGVhdmUgMnB4IGxlc3Mgc3BhY2Ug
Zm9yIHRoZSB0ZXh0LiBXZSBkb24ndCAiICsKLSJjdXJyZW50bHkgbWltaWMgdGhpcyBxdWlyay4g
SXQncyBub3QgY2xlYXIgd2hldGhlciB3ZSBzaG91bGQgZ2l2ZW4gdGhhdCB3ZSBhZ3JlZSB3aXRo
IElFNydzIGNsaWVudFdpZHRoIG51bWJlcnMgaW4gYWxsIHRoZXNlIGNhc2VzLiIpOwotCi1mdW5j
dGlvbiBhc3NlcnRUZXh0YXJlYU1ldHJpY3MoZG9jLCBwcm9wZXJ0aWVzLCBleHBlY3RlZE1ldHJp
Y3MpIHsKLSAgICB2YXIgdGV4dGFyZWEgPSBkb2MuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsK
LSAgICAvLyBHaXZlIHNvbWUgY29uc2lzdGVudCBDU1MgZm9yIGNvbnNpc3RlbnQgcmVuZGVyaW5n
IGFjcm9zcyBwbGF0Zm9ybXMKLSAgICAvLyBhbmQgdG8gaGVscCBpbiByZWFzb25pbmcgd2hlbiB0
cnlpbmcgdG8gbWF0Y2ggSUUgbWV0cmljcy4KLSAgICB2YXIgc3R5bGUgPSAnb3ZlcmZsb3cteTph
dXRvOyBmb250LWZhbWlseTpBaGVtOyBsaW5lLWhlaWdodDoyMHB4OyBoZWlnaHQ6NTBweDsgd2lk
dGg6NTBweDsnOwotICAgIHZhciB0aXRsZSA9ICcnOwotICAgIGZvciAocHJvcGVydHkgaW4gcHJv
cGVydGllcykgewotICAgICAgICB2YXIgdmFsdWUgPSBwcm9wZXJ0aWVzW3Byb3BlcnR5XTsKLSAg
ICAgICAgdGl0bGUgKz0gJyAnICsgcHJvcGVydHkgKyAnOiAiJyArIHZhbHVlICsgJyIsJzsKLSAg
ICAgICAgaWYgKHByb3BlcnR5ID09ICdzdHlsZScpCi0gICAgICAgICAgICBzdHlsZSArPSB2YWx1
ZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGV4dGFyZWFbcHJvcGVydHldID0gdmFsdWU7
Ci0gICAgfQotICAgIHRleHRhcmVhLnN0eWxlLmNzc1RleHQgPSBzdHlsZTsKLSAgICBkb2MuYm9k
eS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7Ci0KLSAgICAvLyBDcmVhdGUgYSBtb3JlIGh1bWFuLXJl
YWRhYmxlIElELgotICAgIHZhciBpZCA9IHRpdGxlLnJlcGxhY2UoL1tcJ1wiLDtcOl0vZywgJyAn
KS5yZXBsYWNlKC8gKy9nLCAnLScpOwotICAgIGlkID0gaWQgPT0gJycgPyAnbm8tc3R5bGVzJyA6
IGlkOwotICAgIHRleHRhcmVhLmlkID0gaWQ7Ci0KLSAgICB3aW5kb3dbZG9jLmNvbXBhdE1vZGUg
KyAnZG9jJ10gPSBkb2M7Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRNZXRyaWNzRm9yVGV4dGFyZWEo
KSB7Ci0gICAgICAgIGlmICghdGl0bGUpCi0gICAgICAgICAgICB0aXRsZSA9ICcgbm9uZSc7Ci0K
LSAgICAgICAgZGVidWcoJ1Byb3BlcnRpZXMgPScgKyB0aXRsZSk7Ci0gICAgICAgIHNob3VsZEJl
KGRvYy5jb21wYXRNb2RlICsgImRvYy5nZXRFbGVtZW50QnlJZCgnIiArIGlkICsgIicpLmNsaWVu
dFdpZHRoIiwgU3RyaW5nKGV4cGVjdGVkTWV0cmljcy5jbGllbnRXaWR0aCkpOwotICAgICAgICBz
aG91bGRCZShkb2MuY29tcGF0TW9kZSArICJkb2MuZ2V0RWxlbWVudEJ5SWQoJyIgKyBpZCArICIn
KS5jbGllbnRIZWlnaHQiLCBTdHJpbmcoZXhwZWN0ZWRNZXRyaWNzLmNsaWVudEhlaWdodCkpOwot
ICAgICAgICBzaG91bGRCZShkb2MuY29tcGF0TW9kZSArICJkb2MuZ2V0RWxlbWVudEJ5SWQoJyIg
KyBpZCArICInKS5vZmZzZXRXaWR0aCIsIFN0cmluZyhleHBlY3RlZE1ldHJpY3Mub2Zmc2V0V2lk
dGgpKTsKLSAgICAgICAgc2hvdWxkQmUoZG9jLmNvbXBhdE1vZGUgKyAiZG9jLmdldEVsZW1lbnRC
eUlkKCciICsgaWQgKyAiJykub2Zmc2V0SGVpZ2h0IiwgU3RyaW5nKGV4cGVjdGVkTWV0cmljcy5v
ZmZzZXRIZWlnaHQpKTsKLSAgICAgICAgc2hvdWxkQmUoZG9jLmNvbXBhdE1vZGUgKyAiZG9jLmdl
dEVsZW1lbnRCeUlkKCciICsgaWQgKyAiJykuc2Nyb2xsV2lkdGgiLCBTdHJpbmcoZXhwZWN0ZWRN
ZXRyaWNzLnNjcm9sbFdpZHRoKSk7Ci0gICAgICAgIHNob3VsZEJlKGRvYy5jb21wYXRNb2RlICsg
ImRvYy5nZXRFbGVtZW50QnlJZCgnIiArIGlkICsgIicpLnNjcm9sbEhlaWdodCIsIFN0cmluZyhl
eHBlY3RlZE1ldHJpY3Muc2Nyb2xsSGVpZ2h0KSk7Ci0gICAgICAgIGRlYnVnKCcnKTsKLSAgICB9
Ci0gICAgaWYgKGRvY3VtZW50LmFsbCkKLSAgICAgIC8vIEdpdmUgYSB0aW1lb3V0IHNvIElFIGhh
cyB0aW1lIHRvIGZpZ3VyZSBvdXQgaXQncyBtZXRyaWNzLgotICAgICAgc2V0VGltZW91dChhc3Nl
cnRNZXRyaWNzRm9yVGV4dGFyZWEsIDEwMCk7Ci0gICAgZWxzZQotICAgICAgYXNzZXJ0TWV0cmlj
c0ZvclRleHRhcmVhKCk7Ci19Ci0KLXZhciBzbWFsbEhUTUwgPSAnQSc7Ci12YXIgaHRtbFRoYXRD
YXVzZXNTY3JvbGwgPSAnQUFBQUFBQUFBJzsKLQotZnVuY3Rpb24gdGVzdFRleHRhcmVhc0ZvckRv
Y3VtZW50KGRvYywgY29tcGF0TW9kZSwKLSAgICAgICAgdGV4dGFyZWFTaXplcywgdGV4dGFyZWFX
aXRoU2Nyb2xsU2l6ZXMsCi0gICAgICAgIHRleHRhcmVhV2l0aDhweFBhZGRpbmdTaXplcywgdGV4
dGFyZWFXaXRoOHB4UGFkZGluZ0FuZFNjcm9sbGJhclNpemVzKSB7Ci0gICAgaWYgKGRvYy5jb21w
YXRNb2RlICE9IGNvbXBhdE1vZGUpCi0gICAgICAgIHRlc3RGYWlsZWQoJ1RoaXMgZG9jIHNob3Vs
ZCBiZSBpbiAnICsgY29tcGF0TW9kZSArICcgbW9kZS4nKTsKLQotICAgIHRyeSB7Ci0gICAgICAg
IHZhciBzY3JvbGxiYXJTdHlsZSA9IGRvYy5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwotICAgICAg
ICBzY3JvbGxiYXJTdHlsZS5pbm5lclRleHQgPSAndGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFy
eyB3aWR0aDoxN3B4IH0nOwotICAgICAgICBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQn
KVswXS5hcHBlbmRDaGlsZChzY3JvbGxiYXJTdHlsZSk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAg
ICAgICAvLyBJRSB0aHJvd3MgYW4gZXhjZXB0aW9uIGhlcmUsIGJ1dCBkb2Vzbid0IG5lZWQgdGhl
IGFib3ZlIGNsYXVzZSBhbnl3YXlzLgotICAgIH0KLQotICAgIGRlYnVnKCdUZXN0aW5nICcgKyBj
b21wYXRNb2RlICsgJyBkb2N1bWVudC4nKQotICAgIGFzc2VydFRleHRhcmVhTWV0cmljcyhkb2Ms
IHt9LCB0ZXh0YXJlYVNpemVzKTsKLSAgICBhc3NlcnRUZXh0YXJlYU1ldHJpY3MoZG9jLCB7ZGlz
YWJsZWQ6IHRydWV9LCB0ZXh0YXJlYVNpemVzKTsKLSAgICBhc3NlcnRUZXh0YXJlYU1ldHJpY3Mo
ZG9jLCB7aW5uZXJIVE1MOiBzbWFsbEhUTUx9LCB0ZXh0YXJlYVNpemVzKTsKLSAgICBhc3NlcnRU
ZXh0YXJlYU1ldHJpY3MoZG9jLCB7aW5uZXJIVE1MOiBodG1sVGhhdENhdXNlc1Njcm9sbH0sIHRl
eHRhcmVhV2l0aFNjcm9sbFNpemVzKTsKLSAgICBhc3NlcnRUZXh0YXJlYU1ldHJpY3MoZG9jLCB7
aW5uZXJIVE1MOiBzbWFsbEhUTUwsIGRpc2FibGVkOiB0cnVlfSwgdGV4dGFyZWFTaXplcyk7Ci0g
ICAgYXNzZXJ0VGV4dGFyZWFNZXRyaWNzKGRvYywge2lubmVySFRNTDogaHRtbFRoYXRDYXVzZXNT
Y3JvbGwsIGRpc2FibGVkOiB0cnVlfSwgdGV4dGFyZWFXaXRoU2Nyb2xsU2l6ZXMpOwotICAgIGFz
c2VydFRleHRhcmVhTWV0cmljcyhkb2MsIHtpbm5lckhUTUw6IHNtYWxsSFRNTCwgc3R5bGU6ICdw
YWRkaW5nOjhweCd9LCB0ZXh0YXJlYVdpdGg4cHhQYWRkaW5nU2l6ZXMpOwotICAgIGFzc2VydFRl
eHRhcmVhTWV0cmljcyhkb2MsIHtpbm5lckhUTUw6IGh0bWxUaGF0Q2F1c2VzU2Nyb2xsLCBzdHls
ZTogJ3BhZGRpbmc6OHB4J30sIHRleHRhcmVhV2l0aDhweFBhZGRpbmdBbmRTY3JvbGxiYXJTaXpl
cyk7Ci0gICAgYXNzZXJ0VGV4dGFyZWFNZXRyaWNzKGRvYywge2lubmVySFRNTDogc21hbGxIVE1M
LCByb3dzOiAxMH0sIHRleHRhcmVhU2l6ZXMpOwotICAgIGFzc2VydFRleHRhcmVhTWV0cmljcyhk
b2MsIHtpbm5lckhUTUw6IGh0bWxUaGF0Q2F1c2VzU2Nyb2xsLCByb3dzOiAxMH0sIHRleHRhcmVh
V2l0aFNjcm9sbFNpemVzKTsKLX0KLQotLy8gRm9yIHRleHRhcmVhcyB3aXRoIHNjcm9sbGJhcnMg
aGF2ZSB0aGUgZXhwZWN0ZWQgY2xpZW50V2lkdGggYmUgdGhlCi0vLyBleHBlY3RlZCBvZmZzZXRX
aWR0aCAtIHNjcm9sbGJhclBsdXNCb3JkZXJXaWR0aC4KLS8vIGRlZmF1bHQgYm9yZGVyIG9uIHRl
eHRhcmVhcyBpcyAxcHggc29saWQuIFNvLCB0aGUgYm9yZGVyIHdpZHRoIGlzIDIuCi0vLyBBbmQg
dGhlIHNjcm9sbGJhcldpZHRoIHdlIHNldCB0byBiZSAxNyB0byBtYXRjaCB3aW5kb3dzIHNvIHRo
YXQKLS8vIHRoZXNlIG51bWJlcnMgd2lsbCBiZSBwbGF0Zm9ybSBpbmRlcGVuZGVudCBhbmQgbWF0
Y2ggSUUuCi12YXIgc2Nyb2xsYmFyUGx1c0JvcmRlcldpZHRoID0gMTk7Ci0KLXZhciB0ZXh0YXJl
YVNpemVzUXVpcmtzID0ge2NsaWVudFdpZHRoOiA0OCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNsaWVudEhlaWdodDogNDgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRX
aWR0aDogNTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRIZWlnaHQ6IDUwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsV2lkdGg6IDQ4LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiA0OH07Ci0KLXZhciB0ZXh0YXJlYVdpdGhTY3Jv
bGxTaXplc1F1aXJrcyA9IHtjbGllbnRXaWR0aDogNTAgLSBzY3JvbGxiYXJQbHVzQm9yZGVyV2lk
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiA0
OCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRXaWR0aDogNTAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0SGVpZ2h0OiA1MCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogNTAgLSBz
Y3JvbGxiYXJQbHVzQm9yZGVyV2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2Nyb2xsSGVpZ2h0OiAxMDR9OwotCi12YXIgdGV4dGFyZWFXaXRoOHB4UGFkZGluZ1Np
emVzUXVpcmtzID0ge2NsaWVudFdpZHRoOiA0OCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiA0OCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb2Zmc2V0V2lkdGg6IDUwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvZmZzZXRIZWlnaHQ6IDUwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogNDgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbEhlaWdodDogNDh9OwotCi12YXIgdGV4dGFy
ZWFXaXRoOHB4UGFkZGluZ0FuZFNjcm9sbGJhclNpemVzUXVpcmtzID0ge2NsaWVudFdpZHRoOiA1
MCAtIHNjcm9sbGJhclBsdXNCb3JkZXJXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiA0OCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0V2lkdGg6IDUw
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
ZmZzZXRIZWlnaHQ6IDUwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogNTAgLSBzY3JvbGxiYXJQbHVzQm9yZGVyV2lkdGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj
cm9sbEhlaWdodDogMTk2fTsKLQotdGVzdFRleHRhcmVhc0ZvckRvY3VtZW50KGRvY3VtZW50LCAn
QmFja0NvbXBhdCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWFTaXplc1F1aXJr
cywgdGV4dGFyZWFXaXRoU2Nyb2xsU2l6ZXNRdWlya3MsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgdGV4dGFyZWFXaXRoOHB4UGFkZGluZ1NpemVzUXVpcmtzLCB0ZXh0YXJlYVdpdGg4cHhQYWRk
aW5nQW5kU2Nyb2xsYmFyU2l6ZXNRdWlya3MpOwotCi12YXIgc3RhbmRhcmRzSWZyYW1lID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Ci1zdGFuZGFyZHNJZnJhbWUuc3R5bGUud2lk
dGggPSAnMTAwJSc7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHN0YW5kYXJkc0lmcmFtZSk7
Ci1zdGFuZGFyZHNJZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudC53cml0ZSgnPCFEb2NUeXBl
IGh0bWw+PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjwvYm9keT48L2h0bWw+Jyk7Ci1zdGFuZGFy
ZHNJZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudC5jbG9zZSgpOwotCi12YXIgdGV4dGFyZWFT
aXplc1N0YW5kYXJkcyA9IHtjbGllbnRXaWR0aDogNTQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjbGllbnRIZWlnaHQ6IDU0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2Zmc2V0V2lkdGg6IDU2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0SGVp
Z2h0OiA1NiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoOiA1NCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbEhlaWdodDogNTR9OwotCi12YXIg
dGV4dGFyZWFXaXRoU2Nyb2xsU2l6ZXNTdGFuZGFyZHMgPSB7Y2xpZW50V2lkdGg6IDU2IC0gc2Ny
b2xsYmFyUGx1c0JvcmRlcldpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNsaWVudEhlaWdodDogNTQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb2Zmc2V0V2lkdGg6IDU2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG9mZnNldEhlaWdodDogNTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2Nyb2xsV2lkdGg6IDU2IC0gc2Nyb2xsYmFyUGx1c0JvcmRlcldpZHRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbEhlaWdodDogNjR9
OwotCi12YXIgdGV4dGFyZWFXaXRoOHB4UGFkZGluZ1NpemVzU3RhbmRhcmRzID0ge2NsaWVudFdp
ZHRoOiA2NiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xp
ZW50SGVpZ2h0OiA2NiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb2Zmc2V0V2lkdGg6IDY4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvZmZzZXRIZWlnaHQ6IDY4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogNjYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNjcm9sbEhlaWdodDogNjZ9OwotCi12YXIgdGV4dGFyZWFXaXRo
OHB4UGFkZGluZ0FuZFNjcm9sbGJhclNpemVzU3RhbmRhcmRzID0ge2NsaWVudFdpZHRoOiA2OCAt
IHNjcm9sbGJhclBsdXNCb3JkZXJXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiA2NiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0V2lkdGg6
IDY4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvZmZzZXRIZWlnaHQ6IDY4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogNjggLSBzY3JvbGxiYXJQbHVzQm9y
ZGVyV2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNjcm9sbEhlaWdodDogNzZ9OwotCi10ZXN0VGV4dGFyZWFzRm9yRG9jdW1lbnQo
c3RhbmRhcmRzSWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQsICdDU1MxQ29tcGF0JywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYVNpemVzU3RhbmRhcmRzLCB0ZXh0YXJlYVdp
dGhTY3JvbGxTaXplc1N0YW5kYXJkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0YXJl
YVdpdGg4cHhQYWRkaW5nU2l6ZXNTdGFuZGFyZHMsIHRleHRhcmVhV2l0aDhweFBhZGRpbmdBbmRT
Y3JvbGxiYXJTaXplc1N0YW5kYXJkcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1wbGFjZWhvbGRlci1kb20tcHJvcGVydHkuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1wbGFjZWhvbGRlci1k
b20tcHJvcGVydHkuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhNzI4NWYzNzVh
MjY5ODQ2YWEzOGNmZWNiNzZkNWI2M2E1ZDE4M2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMv
dGV4dGFyZWEtcGxhY2Vob2xkZXItZG9tLXByb3BlcnR5LmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTMgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI0OCI+aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMjQ4PC9hPicpOwotCi12YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwotCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3RleHRh
cmVhLnBsYWNlaG9sZGVyJywgJycpOwotCi10ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9s
ZGVyJywgJ3AxJykKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGV4dGFyZWEucGxhY2Vob2xkZXIn
LCAncDEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGV4dGFyZWEudmFsdWUnLCAnJyk7Ci0K
LXRleHRhcmVhLnBsYWNlaG9sZGVyID0gJ3AyJzsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGV4
dGFyZWEuZ2V0QXR0cmlidXRlKCJwbGFjZWhvbGRlciIpJywgJ3AyJyk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3RleHRhcmVhLnBsYWNlaG9sZGVyJywgJ3AyJyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1yb3dzLWNvbHMuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1yb3dzLWNvbHMuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxMDg3N2JkZGFmNzE2NTNmYTRiMThhZTgw
MzJmZjA1NDA2MmNjZTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtcm93cy1j
b2xzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0
IGZvciBlZGdlIGNhc2VzIG9mICZsdDt0ZXh0YXJlYSZndDsgcm93cyBhbmQgY29scyBhdHRyaWJ1
dGVzLicpOwotCi12YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci1k
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzx0
ZXh0YXJlYT5kZWZhdWx0PC90ZXh0YXJlYT4nOwotCi1kZWJ1ZygnRGVmYXVsdCB2YWx1ZXMnKTsK
LXZhciB0ZXh0YXJlYSA9IHBhcmVudC5maXJzdENoaWxkOwotdmFyIGRlZmF1bHRSb3dzID0gdGV4
dGFyZWEucm93czsKLXZhciBkZWZhdWx0Q29scyA9IHRleHRhcmVhLmNvbHM7Ci12YXIgZGVmYXVs
dEhlaWdodCA9IHRleHRhcmVhLm9mZnNldEhlaWdodDsKLXZhciBkZWZhdWx0V2lkdGggPSB0ZXh0
YXJlYS5vZmZzZXRXaWR0aDsKLXNob3VsZEJlKCdkZWZhdWx0Um93cycsICcyJyk7Ci1zaG91bGRC
ZSgnZGVmYXVsdENvbHMnLCAnMjAnKTsKLXNob3VsZEJlVHJ1ZSgnZGVmYXVsdEhlaWdodCA+IDAn
KTsKLXNob3VsZEJlVHJ1ZSgnZGVmYXVsdFdpZHRoID4gMCcpOwotCi1kZWJ1Zygncm93cyA9IDEn
KTsKLXBhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIHJvd3M9IjEiPnJvd3MgPSAxPC90ZXh0
YXJlYT4nOwotdGV4dGFyZWEgPSBwYXJlbnQuZmlyc3RDaGlsZDsKLXNob3VsZEJlKCd0ZXh0YXJl
YS5yb3dzJywgJzEnKTsKLXNob3VsZEJlVHJ1ZSgndGV4dGFyZWEub2Zmc2V0SGVpZ2h0ID4gMCcp
Owotc2hvdWxkQmVUcnVlKCd0ZXh0YXJlYS5vZmZzZXRIZWlnaHQgPCBkZWZhdWx0SGVpZ2h0Jyk7
Ci1zaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0V2lkdGgnLCAnZGVmYXVsdFdpZHRoJyk7Ci0KLWRl
YnVnKCdyb3dzID0gMjsgc2hvdWxkIG1hdGNoIGRlZmF1bHQgaGVpZ2h0Jyk7Ci1wYXJlbnQuaW5u
ZXJIVE1MID0gJzx0ZXh0YXJlYSByb3dzPSIyIj5yb3dzID0gMjsgc2hvdWxkIG1hdGNoIGRlZmF1
bHQgaGVpZ2h0PC90ZXh0YXJlYT4nOwotdGV4dGFyZWEgPSBwYXJlbnQuZmlyc3RDaGlsZDsKLXNo
b3VsZEJlKCd0ZXh0YXJlYS5yb3dzJywgJ2RlZmF1bHRSb3dzJyk7Ci1zaG91bGRCZSgndGV4dGFy
ZWEub2Zmc2V0SGVpZ2h0JywgJ2RlZmF1bHRIZWlnaHQnKTsKLXNob3VsZEJlKCd0ZXh0YXJlYS5v
ZmZzZXRXaWR0aCcsICdkZWZhdWx0V2lkdGgnKTsKLQotZGVidWcoJ3Jvd3MgPSAzJyk7Ci1wYXJl
bnQuaW5uZXJIVE1MID0gJzx0ZXh0YXJlYSByb3dzPSIzIj5yb3dzID0gMzwvdGV4dGFyZWE+JzsK
LXRleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7Ci1zaG91bGRCZSgndGV4dGFyZWEucm93cycs
ICczJyk7Ci1zaG91bGRCZVRydWUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCA+IGRlZmF1bHRIZWln
aHQnKTsKLXNob3VsZEJlKCd0ZXh0YXJlYS5vZmZzZXRXaWR0aCcsICdkZWZhdWx0V2lkdGgnKTsK
LQotZGVidWcoJ3Jvd3M7IHNob3VsZCBiZSBkZWZhdWx0IGhlaWdodCcpOwotcGFyZW50LmlubmVy
SFRNTCA9ICc8dGV4dGFyZWEgcm93cz5yb3dzOyBzaG91bGQgYmUgZGVmYXVsdCBoZWlnaHQ8L3Rl
eHRhcmVhPic7Ci10ZXh0YXJlYSA9IHBhcmVudC5maXJzdENoaWxkOwotc2hvdWxkQmUoJ3RleHRh
cmVhLnJvd3MnLCAnZGVmYXVsdFJvd3MnKTsKLXNob3VsZEJlKCd0ZXh0YXJlYS5vZmZzZXRIZWln
aHQnLCAnZGVmYXVsdEhlaWdodCcpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRoJywg
J2RlZmF1bHRXaWR0aCcpOwotCi1kZWJ1Zygncm93cyA9IDA7IHNob3VsZCBiZSBkZWZhdWx0IGhl
aWdodCcpOwotcGFyZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgcm93cz0iMCI+cm93cyA9IDA7
IHNob3VsZCBiZSBkZWZhdWx0IGhlaWdodDwvdGV4dGFyZWE+JzsKLXRleHRhcmVhID0gcGFyZW50
LmZpcnN0Q2hpbGQ7Ci1zaG91bGRCZSgndGV4dGFyZWEucm93cycsICdkZWZhdWx0Um93cycpOwot
c2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7Ci1zaG91
bGRCZSgndGV4dGFyZWEub2Zmc2V0V2lkdGgnLCAnZGVmYXVsdFdpZHRoJyk7Ci0KLWRlYnVnKCdy
b3dzID0gLTE7IHNob3VsZCBiZSBkZWZhdWx0IGhlaWdodCcpOwotcGFyZW50LmlubmVySFRNTCA9
ICc8dGV4dGFyZWEgcm93cz0iLTEiPnJvd3MgPSAtMTsgc2hvdWxkIGJlIGRlZmF1bHQgaGVpZ2h0
PC90ZXh0YXJlYT4nOwotdGV4dGFyZWEgPSBwYXJlbnQuZmlyc3RDaGlsZDsKLXNob3VsZEJlKCd0
ZXh0YXJlYS5yb3dzJywgJ2RlZmF1bHRSb3dzJyk7Ci1zaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0
SGVpZ2h0JywgJ2RlZmF1bHRIZWlnaHQnKTsKLXNob3VsZEJlKCd0ZXh0YXJlYS5vZmZzZXRXaWR0
aCcsICdkZWZhdWx0V2lkdGgnKTsKLQotZGVidWcoJ3Jvd3MgPSB4OyBzaG91bGQgYmUgZGVmYXVs
dCBoZWlnaHQnKTsKLXBhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIHJvd3M9IngiPnJvd3Mg
PSB4OyBzaG91bGQgYmUgZGVmYXVsdCBoZWlnaHQ8L3RleHRhcmVhPic7Ci10ZXh0YXJlYSA9IHBh
cmVudC5maXJzdENoaWxkOwotc2hvdWxkQmUoJ3RleHRhcmVhLnJvd3MnLCAnZGVmYXVsdFJvd3Mn
KTsKLXNob3VsZEJlKCd0ZXh0YXJlYS5vZmZzZXRIZWlnaHQnLCAnZGVmYXVsdEhlaWdodCcpOwot
c2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0aCcpOwotCi1kZWJ1
ZygnY29scyA9IDEnKTsKLXBhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIGNvbHM9IjEiPmNv
bHMgPSAxPC90ZXh0YXJlYT4nOwotdGV4dGFyZWEgPSBwYXJlbnQuZmlyc3RDaGlsZDsKLXNob3Vs
ZEJlKCd0ZXh0YXJlYS5jb2xzJywgJzEnKTsKLXNob3VsZEJlVHJ1ZSgndGV4dGFyZWEub2Zmc2V0
V2lkdGggPiAwJyk7Ci1zaG91bGRCZVRydWUoJ3RleHRhcmVhLm9mZnNldFdpZHRoIDwgZGVmYXVs
dFdpZHRoJyk7Ci1zaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0SGVpZ2h0JywgJ2RlZmF1bHRIZWln
aHQnKTsKLQotZGVidWcoJ2NvbHMgPSAyMDsgc2hvdWxkIG1hdGNoIGRlZmF1bHQgd2lkdGgnKTsK
LXBhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIGNvbHM9IjIwIj5jb2xzID0gMjA7IHNob3Vs
ZCBtYXRjaCBkZWZhdWx0IHdpZHRoPC90ZXh0YXJlYT4nOwotdGV4dGFyZWEgPSBwYXJlbnQuZmly
c3RDaGlsZDsKLXNob3VsZEJlKCd0ZXh0YXJlYS5jb2xzJywgJ2RlZmF1bHRDb2xzJyk7Ci1zaG91
bGRCZSgndGV4dGFyZWEub2Zmc2V0V2lkdGgnLCAnZGVmYXVsdFdpZHRoJyk7Ci1zaG91bGRCZSgn
dGV4dGFyZWEub2Zmc2V0SGVpZ2h0JywgJ2RlZmF1bHRIZWlnaHQnKTsKLQotZGVidWcoJ2NvbHMg
PSA0MCcpOwotcGFyZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgY29scz0iNDAiPmNvbHMgPSA0
MDwvdGV4dGFyZWE+JzsKLXRleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7Ci1zaG91bGRCZSgn
dGV4dGFyZWEuY29scycsICc0MCcpOwotc2hvdWxkQmVUcnVlKCd0ZXh0YXJlYS5vZmZzZXRXaWR0
aCA+IGRlZmF1bHRXaWR0aCcpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdk
ZWZhdWx0SGVpZ2h0Jyk7Ci0KLWRlYnVnKCdjb2xzOyBzaG91bGQgYmUgZGVmYXVsdCB3aWR0aCcp
OwotcGFyZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgY29scz5jb2xzOyBzaG91bGQgYmUgZGVm
YXVsdCB3aWR0aDwvdGV4dGFyZWE+JzsKLXRleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7Ci1z
aG91bGRCZSgndGV4dGFyZWEuY29scycsICdkZWZhdWx0Q29scycpOwotc2hvdWxkQmUoJ3RleHRh
cmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0aCcpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9m
ZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7Ci0KLWRlYnVnKCdjb2xzID0gMDsgc2hvdWxk
IGJlIGRlZmF1bHQgd2lkdGgnKTsKLXBhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIGNvbHM9
IjAiPmNvbHMgPSAwOyBzaG91bGQgYmUgZGVmYXVsdCB3aWR0aDwvdGV4dGFyZWE+JzsKLXRleHRh
cmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7Ci1zaG91bGRCZSgndGV4dGFyZWEuY29scycsICdkZWZh
dWx0Q29scycpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0
aCcpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7
Ci0KLWRlYnVnKCdjb2xzID0gLTE7IHNob3VsZCBiZSBkZWZhdWx0IHdpZHRoJyk7Ci1wYXJlbnQu
aW5uZXJIVE1MID0gJzx0ZXh0YXJlYSBjb2xzPSItMSI+Y29scyA9IC0xOyBzaG91bGQgYmUgZGVm
YXVsdCB3aWR0aDwvdGV4dGFyZWE+JzsKLXRleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7Ci1z
aG91bGRCZSgndGV4dGFyZWEuY29scycsICdkZWZhdWx0Q29scycpOwotc2hvdWxkQmUoJ3RleHRh
cmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0aCcpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9m
ZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7Ci0KLWRlYnVnKCdjb2xzID0geDsgc2hvdWxk
IGJlIGRlZmF1bHQgd2lkdGgnKTsKLXBhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIGNvbHM9
IngiPmNvbHMgPSB4OyBzaG91bGQgYmUgZGVmYXVsdCB3aWR0aDwvdGV4dGFyZWE+JzsKLXRleHRh
cmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7Ci1zaG91bGRCZSgndGV4dGFyZWEuY29scycsICdkZWZh
dWx0Q29scycpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0
aCcpOwotc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJl
YS10ZXh0bGVuZ3RoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4
dGFyZWEtdGV4dGxlbmd0aC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGU3Y2Vm
NWY3ZGQzZTJiY2Y1NTdmMTJiNjE5MjgyMmRiN2I2NWYwYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy90ZXh0YXJlYS10ZXh0bGVuZ3RoLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBA
QAotZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIEhUTUxUZXh0QXJlYUVsZW1lbnQudGV4dExlbmd0aCcp
OwotCi12YXIgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwot
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSk7Ci1zaG91bGRCZSgndGV4dEFyZWEu
dGV4dExlbmd0aCcsICcwJyk7Ci0KLXRleHRBcmVhLnZhbHVlID0gJ2FiY2QnOwotc2hvdWxkQmUo
J3RleHRBcmVhLnRleHRMZW5ndGgnLCAnNCcpOwotCi10ZXh0QXJlYS5mb2N1cygpOwotZXZlbnRT
ZW5kZXIua2V5RG93bignZScsIFtdKTsKLXNob3VsZEJlKCd0ZXh0QXJlYS50ZXh0TGVuZ3RoJywg
JzUnKTsKLQotLy8gVGVzdCBmb3IgYSBjaGFyYWN0ZXIgbGFyZ2VyIHRoYW4gVStGRkZGLgotdGV4
dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwotdGV4dEFyZWEuaW5u
ZXJIVE1MID0gJyYjeDFkNTM4Oyc7Ci0vLyBGaXJlZm94IDMuNSBhbmQgT3BlcmEgMTAgcmV0dXJu
IDIgZm9yIDEgc3Vycm9nYXRlIHBhaXIuCi1zaG91bGRCZSgndGV4dEFyZWEudGV4dExlbmd0aCcs
ICcyJyk7Ci0KLS8vIFRlc3QgZm9yIGNvbWJpbmVkIGNoYXJhY3RlcnMuCi10ZXh0QXJlYSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7Ci0vLyBVKzMwNTUgSGlyYWdhbmEgTGV0
dGVyIFNhCi0vLyBVKzMwOTkgQ29tYmluaW5nIEthdGFrYW5hLUhJcmFnYW5hIFZvaWNlZCBTb3Vu
ZCBNYXJrCi10ZXh0QXJlYS5pbm5lckhUTUwgPSAnJiN4MzA1NTsmI3gzMDk5Oyc7Ci0vLyBGaXJl
Zm94IDMuNSBzZWVtcyB0byBhcHBseSBORkMgZm9yIHRoZSB2YWx1ZSwgYW5kIC50ZXh0TGVuZ3Ro
IGFuZCAudmFsdWUubGVuZ3RoIGlzIDEuCi0vLyBPcGVyYSAxMCByZXR1cm5zIDIsIGFuZCBJRSdz
IC52YWx1ZS5sZW5ndGggaXMgMi4KLXNob3VsZEJlKCd0ZXh0QXJlYS50ZXh0TGVuZ3RoJywgJzIn
KTsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdmFs
aWRhdGlvbk1lc3NhZ2UuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy92
YWxpZGF0aW9uTWVzc2FnZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVjYWMz
NzZjMzY1ZGE4Y2ZhZTkxMDVhNWQ3MzY3N2I2MDc4OTFjOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy92YWxpZGF0aW9uTWVzc2FnZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAK
LWRlc2NyaXB0aW9uKCJUZXN0IGZvciB2YWxpZGF0aW9uTWVzc2FnZSBET00gcHJvcGVydHkuIik7
Ci0KLXZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZm9ybSIpOwotCi0vLyBBbiBp
bnB1dCBlbGVtZW50IHdpdGggYSBwYXR0ZXJuIHNldCBhbmQgYSBtaXNtYXRjaGVkIHZhbHVlCi12
YXIgcGF0dGVybklucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKLXBhdHRl
cm5JbnB1dC5uYW1lID0gInBhdHRlcm5JbnB1dCI7Ci1wYXR0ZXJuSW5wdXQucGF0dGVybiA9ICJs
b3JlbSBpcHN1bSI7Ci1wYXR0ZXJuSW5wdXQudmFsdWUgPSAibG9yZW0iOwotZm9ybS5hcHBlbmRD
aGlsZChwYXR0ZXJuSW5wdXQpOwotc2hvdWxkQmUoInBhdHRlcm5JbnB1dC52YWxpZGF0aW9uTWVz
c2FnZSIsICIncGF0dGVybiBtaXNtYXRjaCciKTsKLQotLy8gQSByZXF1aXJlZCBpbnB1dCB3aXRo
IGFuIGVtcHR5IHZhbHVlCi12YXIgcmVxdWlyZWRJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iik7Ci1yZXF1aXJlZElucHV0Lm5hbWUgPSAicmVxdWlyZWRJbnB1dCI7Ci1yZXF1
aXJlZElucHV0LnJlcXVpcmVkID0gdHJ1ZTsKLWZvcm0uYXBwZW5kQ2hpbGQocmVxdWlyZWRJbnB1
dCk7Ci1zaG91bGRCZSgicmVxdWlyZWRJbnB1dC52YWxpZGF0aW9uTWVzc2FnZSIsICIndmFsdWUg
bWlzc2luZyciKTsKLQotLy8gQSByZXF1aXJlZCB0ZXh0YXJlYSB3aXRoIGFuIGVtcHR5IHZhbHVl
Ci12YXIgcmVxdWlyZWRUZXh0QXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVh
Iik7Ci1yZXF1aXJlZFRleHRBcmVhLm5hbWUgPSAicmVxdWlyZWRUZXh0QXJlYSI7Ci1yZXF1aXJl
ZFRleHRBcmVhLnJlcXVpcmVkID0gdHJ1ZTsKLWZvcm0uYXBwZW5kQ2hpbGQocmVxdWlyZWRUZXh0
QXJlYSk7Ci1zaG91bGRCZSgicmVxdWlyZWRUZXh0QXJlYS52YWxpZGF0aW9uTWVzc2FnZSIsICIn
dmFsdWUgbWlzc2luZyciKTsKLQotLy8gQSByZXF1aXJlZCBzZWxlY3Qgd2l0aCBhbiBlbXB0eSB2
YWx1ZQotdmFyIHJlcXVpcmVkU2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0
Iik7Ci1yZXF1aXJlZFNlbGVjdC5uYW1lID0gInJlcXVpcmVkU2VsZWN0IjsKLXJlcXVpcmVkU2Vs
ZWN0LnJlcXVpcmVkID0gdHJ1ZTsKLWZvcm0uYXBwZW5kQ2hpbGQocmVxdWlyZWRTZWxlY3QpOwot
c2hvdWxkQmUoInJlcXVpcmVkU2VsZWN0LnZhbGlkYXRpb25NZXNzYWdlIiwgIid2YWx1ZSBtaXNz
aW5nJyIpOwotCi0vLyBBIHR5cGU9ZW1haWwgaW5wdXQgZm9yIHRoZSAidHlwZSBtaXNtYXRjaCIg
ZmxhZwotdmFyIGVtYWlsSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwot
ZW1haWxJbnB1dC5uYW1lID0gImVtYWlsSW5wdXQiOwotZW1haWxJbnB1dC50eXBlID0gImVtYWls
IjsKLWVtYWlsSW5wdXQudmFsdWUgPSAiaW5jb3JyZWN0VmFsdWUiOwotZm9ybS5hcHBlbmRDaGls
ZChlbWFpbElucHV0KTsKLXNob3VsZEJlKCJlbWFpbElucHV0LnZhbGlkYXRpb25NZXNzYWdlIiwg
Iid0eXBlIG1pc21hdGNoJyIpOwotCi0vLyBBIGJ1dHRvbiBjYW4ndCBiZSB2YWxpdGVkIGFuZCwg
dGh1cywgaGFzIGEgYmxhbmsgdmFsaWRhdGlvbk1lc3NhZ2UKLXZhciBidXQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJidXR0b24iKTsKLWJ1dC5uYW1lID0gImJ1dHRvbiI7Ci1mb3JtLmFwcGVu
ZENoaWxkKGJ1dCk7Ci1zaG91bGRCZSgiYnV0LnZhbGlkYXRpb25NZXNzYWdlIiwgIicnIik7Ci0K
LS8vIEFuIGlucHV0IGNvbnRyb2wgd2l0aCBubyBuYW1lLCBzbyBpdCBjYW4ndCBiZSB2YWxpZGF0
ZWQgKHdpbGxWYWxpZGF0ZSA9IGZhbHNlKQotdmFyIGFub25pbnB1dCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlucHV0Iik7Ci1mb3JtLmFwcGVuZENoaWxkKGFub25pbnB1dCk7Ci1zaG91bGRC
ZSgiYW5vbmlucHV0LnZhbGlkYXRpb25NZXNzYWdlIiwgIicnIikKLQotLy8gRmllbGRzZXRzIGNh
bid0IGJlIHZhbGlkYXRlZAotdmFyIGhhcHB5RmllbGRzZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJmaWVsZHNldCIpOwotaGFwcHlGaWVsZHNldC5uYW1lID0gImZpZWxkc2V0IjsKLWZvcm0u
YXBwZW5kQ2hpbGQoaGFwcHlGaWVsZHNldCk7Ci1zaG91bGRCZSgiaGFwcHlGaWVsZHNldC52YWxp
ZGF0aW9uTWVzc2FnZSIsICInJyIpOwotCi0vLyBTZWxlY3QgY29udHJvbHMgY2FuJ3QgYmUgdmFs
aWRhdGVkIHRvbwotdmFyIGhhcHB5U2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2Vs
ZWN0Iik7Ci1oYXBweVNlbGVjdC5uYW1lID0gInNlbGVjdCI7Ci1mb3JtLmFwcGVuZENoaWxkKGhh
cHB5U2VsZWN0KTsKLXNob3VsZEJlKCJoYXBweVNlbGVjdC52YWxpZGF0aW9uTWVzc2FnZSIsICIn
JyIpOwotCi0vLyBPdXRwdXQgZWxlbWVudHMgY2FuJ3QgYmUgdmFsaWRhdGVkCi12YXIgaGFwcHlP
dXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvdXRwdXQiKTsKLWhhcHB5U2VsZWN0Lm5h
bWUgPSAib3V0cHV0IjsKLWZvcm0uYXBwZW5kQ2hpbGQoaGFwcHlPdXRwdXQpOwotc2hvdWxkQmUo
ImhhcHB5T3V0cHV0LnZhbGlkYXRpb25NZXNzYWdlIiwgIicnIik7Ci0KLS8vIE9iamVjdCBlbGVt
ZW50cyBjYW4ndCBiZSB2YWxpZGF0ZWQKLXZhciBoYXBweU9iamVjdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm9iamVjdCIpOwotaGFwcHlTZWxlY3QubmFtZSA9ICJvYmplY3QiOwotZm9ybS5h
cHBlbmRDaGlsZChoYXBweU9iamVjdCk7Ci1zaG91bGRCZSgiaGFwcHlPYmplY3QudmFsaWRhdGlv
bk1lc3NhZ2UiLCAiJyciKTsKLQotLy8gS2V5Z2VuIGNvbnRyb2xzIGNhbid0IGJlIHZhbGlkYXRl
ZAotdmFyIGhhcHB5S2V5Z2VuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgia2V5Z2VuIik7Ci1o
YXBweVNlbGVjdC5uYW1lID0gImtleWdlbiI7Ci1mb3JtLmFwcGVuZENoaWxkKGhhcHB5S2V5Z2Vu
KTsKLXNob3VsZEJlKCJoYXBweUtleWdlbi52YWxpZGF0aW9uTWVzc2FnZSIsICInJyIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvd2lsbHZhbGlkYXRl
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvd2lsbHZhbGlkYXRlLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTdlNzRhOTU5NmU5MTFjZTk3MzY5MTA4
MzZjZWU3ZDUyY2EwMDI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3dpbGx2YWxpZGF0ZS5q
cworKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdWYXJpb3VzIHRl
c3RzIGZvciAud2lsbFZhbGlkYXRlIHByb3BlcnR5Jyk7Ci0KLXZhciBwYXJlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50
KTsKLQotZGVidWcoJ0V4aXN0ZW5jZSBvZiAud2lsbFZhbGlkYXRlJyk7Ci1wYXJlbnQuaW5uZXJI
VE1MID0gJzxmb3JtPicKLSAgICArICc8aW5wdXQgbmFtZT0idmljdGltIi8+JwotICAgICsgJzx0
ZXh0YXJlYSBuYW1lPSJ2aWN0aW0iPjwvdGV4dGFyZWE+JwotICAgICsgJzxmaWVsZHNldCBuYW1l
PSJ2aWN0aW0iPlRlc3Q8L2ZpZWxkc2V0PicKLSAgICArICc8YnV0dG9uIG5hbWU9InZpY3RpbSI+
JwotICAgICsgJzxzZWxlY3QgbmFtZT0idmljdGltIj48L3NlbGVjdD4nCi0gICAgKyAnPG91dHB1
dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PicKLSAgICArICc8b2JqZWN0IG5hbWU9InZpY3RpbSI+
PC9vYmplY3Q+JwotICAgICsgJzxrZXlnZW4gbmFtZT0idmljdGltIj4nCi0gICAgKyAnPC9mb3Jt
Pic7Ci12YXIgY29udHJvbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgndmljdGltJyk7
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cm9scy5sZW5ndGg7IGkrKykKLSAgICAgICAg
c2hvdWxkQmUoJ3R5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUnLCAnImJvb2xlYW4iJyk7
Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdGb3JtIGFzc29jaWF0aW9uJyk7Ci1wYXJlbnQuaW5uZXJI
VE1MID0gJzxpbnB1dCBuYW1lPSJ0ZXN0Ij4nOwotdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07Ci1zaG91bGRCZVRydWUoJ2lucHV0LndpbGxWYWxp
ZGF0ZScpOwotcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48aW5wdXQgbmFtZT0idGVzdCI+PC9m
b3JtPic7Ci1pbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBd
Owotc2hvdWxkQmVUcnVlKCdpbnB1dC53aWxsVmFsaWRhdGUnKTsKLQotZGVidWcoJycpOwotZGVi
dWcoJ0NvbnRyb2wgbmFtZScpOwotcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48aW5wdXQ+PC9m
b3JtPic7Ci1pbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBd
Owotc2hvdWxkQmVUcnVlKCdpbnB1dC53aWxsVmFsaWRhdGUnKTsKLXBhcmVudC5pbm5lckhUTUwg
PSAnPGZvcm0+PGlucHV0IG5hbWU9InRlc3QiPjwvZm9ybT4nOwotaW5wdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXTsKLXNob3VsZEJlVHJ1ZSgnaW5wdXQud2ls
bFZhbGlkYXRlJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdEaXNhYmxlZCBjb250cm9sJyk7Ci1w
YXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxpbnB1dCBuYW1lPSJ0ZXN0IiBkaXNhYmxlZD48L2Zv
cm0+JzsKLWlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07
Ci1zaG91bGRCZUZhbHNlKCdpbnB1dC53aWxsVmFsaWRhdGUnKTsKLQotZGVidWcoJycpOwotZGVi
dWcoJ1JlYWQtb25seSBjb250cm9sJyk7Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxpbnB1
dCBuYW1lPSJ0ZXN0IiByZWFkb25seT48L2Zvcm0+JzsKLWlucHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07Ci1zaG91bGRCZUZhbHNlKCdpbnB1dC53aWxsVmFs
aWRhdGUnKTsKLQotZGVidWcoJycpOwotZGVidWcoJ0lucHV0IHR5cGVzJyk7Ci1wYXJlbnQuaW5u
ZXJIVE1MID0gJzxmb3JtPjxpbnB1dCBuYW1lPSJ0ZXN0Ij48L2Zvcm0+JzsKLWlucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07Ci1zaG91bGRCZVRydWUoJ2lu
cHV0LndpbGxWYWxpZGF0ZScpOwotc2hvdWxkQmVGYWxzZSgnaW5wdXQudHlwZSA9ICJidXR0b24i
OyBpbnB1dC53aWxsVmFsaWRhdGUnKTsKLXNob3VsZEJlVHJ1ZSgnaW5wdXQudHlwZSA9ICJzdWJt
aXQiOyBpbnB1dC53aWxsVmFsaWRhdGUnKTsKLXNob3VsZEJlRmFsc2UoJ2lucHV0LnR5cGUgPSAi
aGlkZGVuIjsgaW5wdXQud2lsbFZhbGlkYXRlJyk7Ci1zaG91bGRCZUZhbHNlKCdpbnB1dC50eXBl
ID0gInJlc2V0IjsgaW5wdXQud2lsbFZhbGlkYXRlJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdG
aWVsZHNldCBlbGVtZW50Jyk7Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxmaWVsZHNldD48
cD5GaWVsZHNldCB0ZXN0PC9wPjwvZmllbGR0c2V0PjwvZm9ybT4nOwotc2hvdWxkQmVGYWxzZSgn
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZpZWxkc2V0IilbMF0ud2lsbFZhbGlkYXRl
Jyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdUZXh0YXJlYSBlbGVtZW50Jyk7Ci1wYXJlbnQuaW5u
ZXJIVE1MID0gJzxmb3JtPjx0ZXh0YXJlYSBuYW1lPSJ0ZXh0Ij48L3RleHRhcmVhPjwvZm9ybT4n
Owotc2hvdWxkQmVUcnVlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEi
KVswXS53aWxsVmFsaWRhdGUnKTsKLQotZGVidWcoJycpOwotZGVidWcoJ091dHB1dCBlbGVtZW50
Jyk7Ci1wYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxvdXRwdXQ+PC9vdXRwdXQ+PC9mb3JtPic7
Ci1zaG91bGRCZUZhbHNlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0Iilb
MF0ud2lsbFZhbGlkYXRlJyk7Ci0KLWRlYnVnKCcnKTsKLWRlYnVnKCdPYmplY3QgZWxlbWVudCcp
OwotcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48b2JqZWN0Pjwvb2JqZWN0PjwvZm9ybT4nOwot
c2hvdWxkQmVGYWxzZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpWzBd
LndpbGxWYWxpZGF0ZScpOwotCi1kZWJ1ZygnJyk7Ci1kZWJ1ZygnS2V5Z2VuIGVsZW1lbnQnKTsK
LXBhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0+PGtleWdlbj48L2Zvcm0+JzsKLXNob3VsZEJlRmFs
c2UoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJrZXlnZW4iKVswXS53aWxsVmFsaWRh
dGUnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1i
dXR0b24tZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwt
YnV0dG9uLWV2ZW50cy5odG1sCmluZGV4IGRlMTE3MzFlOGFhZmUxNmE0MzllY2QyNmQ1Y2Q5ODIw
ZmE5Y2U3OTUuLmMxOTE0MjFmNGViN2IxMDdkYjA2Y2NmYmYxZWZlNzY4MjI1NjFmZDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tZXZlbnRz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1l
dmVudHMuaHRtbApAQCAtNiw3ICs2LDQzIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L3NlYXJjaC1jYW5jZWwtYnV0dG9uLWV2ZW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oJ1Rlc3QgZm9yIGV2ZW50IGRpcGF0Y2hpbmcgYnkgc2VhcmNoIGNhbmNlbCBidXR0
b24uJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPGlu
cHV0IHR5cGU9c2VhcmNoIGlkPXNlYXJjaCB2YWx1ZT1mb28+PGlucHV0IGlkPWFub3RoZXI+JzsK
K3ZhciBzZWFyY2ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VhcmNoJyk7Cit2YXIgYW5v
dGhlcklucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fub3RoZXInKTsKK3ZhciBpbnB1
dEV2ZW50Q291bnRlciA9IDA7Cit2YXIgY2hhbmdlRXZlbnRDb3VudGVyID0gMDsKKworc2VhcmNo
Lm9uY2hhbmdlID0gZnVuY3Rpb24oKSB7IGNoYW5nZUV2ZW50Q291bnRlcisrOyB9Oworc2VhcmNo
Lm9uaW5wdXQgPSBmdW5jdGlvbigpIHsgaW5wdXRFdmVudENvdW50ZXIrKzsgfTsKKworaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgeworICAgIGRlYnVnKCdJbml0aWFsIHN0YXRlJyk7CisgICAgc2hv
dWxkQmUoJ2NoYW5nZUV2ZW50Q291bnRlcicsICcwJyk7CisgICAgc2hvdWxkQmUoJ2lucHV0RXZl
bnRDb3VudGVyJywgJzAnKTsKKworICAgIGRlYnVnKCdDbGljayB0aGUgY2FuY2VsIGJ1dHRvbicp
OworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHNlYXJjaC5vZmZzZXRMZWZ0ICsgc2VhcmNo
Lm9mZnNldFdpZHRoIC0gOCwgc2VhcmNoLm9mZnNldFRvcCArIHNlYXJjaC5vZmZzZXRIZWlnaHQg
LyAyKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7CisgICAgc2hvdWxkQmUoJ3NlYXJjaC52YWx1ZScsICciIicpOworICAgIHNob3VsZEJl
KCdjaGFuZ2VFdmVudENvdW50ZXInLCAnMCcpOworICAgIHNob3VsZEJlKCdpbnB1dEV2ZW50Q291
bnRlcicsICcxJyk7CisKKyAgICBkZWJ1ZygnRm9jdXMgb24gYW5vdGhlciBmaWVsZCcpOworICAg
IGFub3RoZXJJbnB1dC5mb2N1cygpOworICAgIHNob3VsZEJlKCdjaGFuZ2VFdmVudENvdW50ZXIn
LCAnMScpOworICAgIHNob3VsZEJlKCdpbnB1dEV2ZW50Q291bnRlcicsICcxJyk7CisKKyAgICBw
YXJlbnQuaW5uZXJIVE1MID0gJyc7Cit9IGVsc2UgeworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29uc29sZScpLmlubmVySFRNTCA9ICdObyBldmVudFNlbmRlcic7Cit9Cis8L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC1vcHRncm91cC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC1vcHRncm91cC5odG1sCmluZGV4IGQ2YzNjMDY2NWRjNTUw
Y2RlYmU1ZjA3NTZmMGYzZjIyYTQ4OGU5MmYuLjlkYWQwNmU1ZjdjYjhkODg4OGZjNzAwMWM0M2M4
ZmQ5MmU0YjE0NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2VsZWN0LXNl
dC1sZW5ndGgtb3B0Z3JvdXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVj
dC1zZXQtbGVuZ3RoLW9wdGdyb3VwLmh0bWwKQEAgLTYsNyArNiwzNiBAQAogPGJvZHk+CiA8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9zZWxlY3Qtc2V0LWxlbmd0aC1vcHRncm91cC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCB0aGF0IHNldHRpbmcgSFRNTFNlbGVj
dEVsZW1lbnQubGVuZ3RoIHJlc3BlY3RzIG9wdGdyb3Vwcy4nKTsKKwordmFyIHdyYXBwZXIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
d3JhcHBlcik7Cit3cmFwcGVyLmlubmVySFRNTCA9ICc8c2VsZWN0IGlkPSJ0aGVTZWxlY3QiPicr
CisgICAgICAgICAgICAgICAgICAgICc8b3B0Z3JvdXAgbGFiZWw9ImZvbyIgaWQ9InRoZU9wdEdy
b3VwIj4nKworICAgICAgICAgICAgICAgICAgICAnPG9wdGlvbiBpZD0ib3B0aW9uSW5Hcm91cCI+
PC9vcHRpb24+JysKKyAgICAgICAgICAgICAgICAgICAgJzwvb3B0Z3JvdXA+JysKKyAgICAgICAg
ICAgICAgICAgICAgJzwvc2VsZWN0Pic7CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGhlU2VsZWN0Jyk7CitzaG91bGRCZSgnc2VsLmxlbmd0aCcsICcxJyk7CisKK3ZhciBv
ZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVPcHRHcm91cCcpOworCitzZWwubGVuZ3Ro
ID0gMjsKK3Nob3VsZEJlKCdzZWwubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdvZy5jaGlsZEVs
ZW1lbnRDb3VudCcsICcxJyk7CisKK3NlbC5sZW5ndGggPSAxOworc2hvdWxkQmUoJ3NlbC5sZW5n
dGgnLCAnMScpOworc2hvdWxkQmUoJ29nLmNoaWxkRWxlbWVudENvdW50JywgJzEnKTsKKworc2Vs
Lmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKSwgb2cpOworCitz
ZWwubGVuZ3RoID0gMTsKK3Nob3VsZEJlKCdzZWwubGVuZ3RoJywgJzEnKTsKK3Nob3VsZEJlKCdv
Zy5jaGlsZEVsZW1lbnRDb3VudCcsICcwJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3Qtc2V0LWxl
bmd0aC13aXRoLW11dGF0aW9uLXJlbW92ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
ZWxlY3Qtc2V0LWxlbmd0aC13aXRoLW11dGF0aW9uLXJlbW92ZS5odG1sCmluZGV4IDUxODlkODBk
ZDFlZGFlN2NmZjRjNzRjNWJmNTZlZGZhYmY0ZmQ3NjUuLjkxYzdlZDU0Y2UzMTIzNGJkNjBhMjc4
NmZhMDUyYjdiN2Y5N2Q0NjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Vs
ZWN0LXNldC1sZW5ndGgtd2l0aC1tdXRhdGlvbi1yZW1vdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24tcmVtb3ZlLmh0bWwK
QEAgLTYsNyArNiw0MyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZWxlY3Qtc2V0
LWxlbmd0aC13aXRoLW11dGF0aW9uLXJlbW92ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoYXQgc2V0dGluZyAubGVuZ3RoIG9uIGFuIEhUTUxTZWxlY3RFbGVt
ZW50IHdvcmtzIGluIHRoZSBwcmVzZW5jZSBvZiBtdXRhdGlvbiBsaXN0ZW5lcnMgdGhhdCByZW1v
dmUgb3B0aW9uIGVsZW1lbnRzLicpOworCitmdW5jdGlvbiBnYygpIHsKKyAgICBpZiAod2luZG93
LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisK
KyAgICBmb3IgKHZhciBpPTA7IGk8MTAwMDA7ICsraSkgeworICAgICAgICB2YXIgcyA9IG5ldyBT
dHJpbmcoImFiYyIpOworICAgIH0KK30KKworZnVuY3Rpb24gb25SZW1vdmUoZSkgeworICAgIGlm
IChlLnRhcmdldC5uZXh0U2libGluZyAhPSBudWxsKSB7CisgICAgICAgIC8vIHJlbW92ZSBsaXN0
ZW5lciB0ZW1wb3JhcmlseSB0byBhdm9pZCBsb3RzIG9mIG5lc3RpbmcKKyAgICAgICAgc2VsLnJl
bW92ZUV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgb25SZW1vdmUsIGZhbHNlKTsKKyAg
ICAgICAgZS50YXJnZXQubmV4dFNpYmxpbmcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlLnRhcmdl
dC5uZXh0U2libGluZyk7CisgICAgICAgIHNlbC5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlUmVt
b3ZlZCcsIG9uUmVtb3ZlLCBmYWxzZSk7CisgICAgfQorICAgIGdjKCk7Cit9CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoc2VsKTsKKworc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgb25S
ZW1vdmUsIGZhbHNlKTsKK3NlbC5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlSW5zZXJ0ZWQnLCBm
dW5jdGlvbigpIHt9LCBmYWxzZSk7CisKK3NlbC5sZW5ndGggPSAyMDA7CitzaG91bGRCZSgnc2Vs
Lmxlbmd0aCcsICcyMDAnKTsKKworc2VsLmxlbmd0aCA9IDEwMDsKK3Nob3VsZEJlKCdzZWwubGVu
Z3RoJywgJzEwMCcpOworCitzZWwubGVuZ3RoID0gMTgwOworc2hvdWxkQmUoJ3NlbC5sZW5ndGgn
LCAnMTgwJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC13aXRoLW11dGF0aW9u
LXJlb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2VsZWN0LXNldC1sZW5ndGgt
d2l0aC1tdXRhdGlvbi1yZW9yZGVyLmh0bWwKaW5kZXggZWRmZmMzYzM4NzNiYWYyMzAwYmMyMWFk
YmFjMDRkY2FjMjdiN2E1My4uNDQxMTY4ZjZkZmUwYTcwMjYwZjkyN2NhYzhkOTYyNDA3YjVkMzY4
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC13
aXRoLW11dGF0aW9uLXJlb3JkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nl
bGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24tcmVvcmRlci5odG1sCkBAIC02LDcgKzYsNDIg
QEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc2VsZWN0LXNldC1sZW5ndGgtd2l0aC1t
dXRhdGlvbi1yZW9yZGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dHMgdGhhdCBzZXR0aW5nIHRoZSAubGVuZ3RoIG9uIGFuIEhUTUxTZWxlY3RFbGVtZW50IHdvcmtz
IGluIHRoZSBwcmVzZW5jZSBvZiBET00gbXV0YXRpb24gbGlzdGVuZXJzIHRoYXQgcmVvcmRlciBv
cHRpb24gZWxlbWVudHMnKTsKKwordmFyIHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQod3JhcHBlcik7Cit3cmFwcGVyLmlu
bmVySFRNTCA9ICc8c2VsZWN0IGlkPSJ0aGVTZWxlY3QiPicgKworICAgICAgICAgICAgICAgICAg
ICAnPG9wdGlvbiBpZD0iYSI+YTwvb3B0aW9uPicgKworICAgICAgICAgICAgICAgICAgICAnPG9w
dGlvbiBpZD0iYiI+Yjwvb3B0aW9uPicgKworICAgICAgICAgICAgICAgICAgICAnPG9wdGlvbiBp
ZD0iYyI+Yzwvb3B0aW9uPicgKworICAgICAgICAgICAgICAgICAgICAnPG9wdGlvbiBpZD0iZCI+
ZDwvb3B0aW9uPicgKworICAgICAgICAgICAgICAgICAgICAnPC9zZWxlY3Q+JzsKKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVTZWxlY3QnKTsKKwordmFyIGZpcnN0UmVt
b3ZlID0gdHJ1ZTsKK2Z1bmN0aW9uIG9uUmVtb3ZlKGUpIHsKKyAgICBpZiAoZmlyc3RSZW1vdmUp
IHsKKyAgICAgICAgLy8gcmVtb3ZlIGxpc3RlbmVyIHRlbXBvcmFyaWx5IHRvIGF2b2lkIGxvdHMg
b2YgbmVzdGluZworICAgICAgICBzZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NTm9kZVJlbW92
ZWQnLCBvblJlbW92ZSwgZmFsc2UpOworICAgICAgICB2YXIgbGFzdE9wdGlvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdkJyk7CisgICAgICAgIHNlbC5yZW1vdmVDaGlsZChsYXN0T3B0aW9u
KTsKKyAgICAgICAgc2VsLmluc2VydEJlZm9yZShsYXN0T3B0aW9uLCBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnYycpKTsKKyAgICAgICAgZmlyc3RSZW1vdmUgPSBmYWxzZTsKKyAgICAgICAgc2Vs
LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgb25SZW1vdmUsIGZhbHNlKTsKKyAg
ICB9Cit9CisKK3NlbC5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlUmVtb3ZlZCcsIG9uUmVtb3Zl
LCBmYWxzZSk7CitzZWwuYWRkRXZlbnRMaXN0ZW5lcignRE9NTm9kZUluc2VydGVkJywgZnVuY3Rp
b24oKSB7fSwgZmFsc2UpOworCitzaG91bGRCZSgnc2VsLmxlbmd0aCcsICc0Jyk7CitzZWwubGVu
Z3RoID0gMjsKK3Nob3VsZEJlKCdzZWwubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdzZWwub3B0
aW9ucy5pdGVtKDApLmlkJywgJyJhIicpOworc2hvdWxkQmUoJ3NlbC5vcHRpb25zLml0ZW0oMSku
aWQnLCAnImIiJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC13aXRoLW11dGF0
aW9uLXJlcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1zZXQtbGVu
Z3RoLXdpdGgtbXV0YXRpb24tcmVwYXJlbnQuaHRtbAppbmRleCA4MTQzMWFhZTFhYTMyYTFlMmYx
NDViMjBiNWQwZWRmZmY2ZTI4NDNlLi5hYWJkNjcxNWE2NzUyNTkxYTliNDUxYmM2ZmU2YTJmZjk2
YzlkNDAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1zZXQtbGVu
Z3RoLXdpdGgtbXV0YXRpb24tcmVwYXJlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24tcmVwYXJlbnQuaHRtbApAQCAtNiw3
ICs2LDQwIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3Ro
LXdpdGgtbXV0YXRpb24tcmVwYXJlbnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdUZXN0cyB0aGF0IHNldHRpbmcgLmxlbmd0aCBvbiBhbiBIVE1MU2VsZWN0RWxlbWVudCB3
b3JrcyBpbiB0aGUgcHJlc2VuY2Ugb2YgbXV0YXRpb24gZXZlbnQgbGlzdGVuZXJzIHRoYXQgcmVw
YXJlbnQgb3B0aW9ucycpOworCit2YXIgc2VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2Vs
ZWN0Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNlbCk7Cit2YXIgb3RoZXJTZWwgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQob3RoZXJTZWwpOworCitmdW5jdGlvbiBvblJlbW92ZShlKSB7CisgICAgaWYgKGUudGFyZ2V0
Lm5leHRTaWJsaW5nICE9IG51bGwpIHsKKyAgICAgICAgLy8gcmVtb3ZlIGxpc3RlbmVyIHRlbXBv
cmFyaWx5IHRvIGF2b2lkIGxvdHMgb2YgbmVzdGluZworICAgICAgICBzZWwucmVtb3ZlRXZlbnRM
aXN0ZW5lcignRE9NTm9kZVJlbW92ZWQnLCBvblJlbW92ZSwgZmFsc2UpOworICAgICAgICB2YXIg
biA9IGUudGFyZ2V0Lm5leHRTaWJsaW5nOworICAgICAgICBuLnBhcmVudE5vZGUucmVtb3ZlQ2hp
bGQobik7CisgICAgICAgIG90aGVyU2VsLmFwcGVuZENoaWxkKG4pOworICAgICAgICBzZWwuYWRk
RXZlbnRMaXN0ZW5lcignRE9NTm9kZVJlbW92ZWQnLCBvblJlbW92ZSwgZmFsc2UpOworICAgIH0K
K30KKworc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgb25SZW1vdmUsIGZh
bHNlKTsKK3NlbC5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlSW5zZXJ0ZWQnLCBmdW5jdGlvbigp
IHt9LCBmYWxzZSk7CisKK3NlbC5sZW5ndGggPSAyMDA7CitzaG91bGRCZSgnc2VsLmxlbmd0aCcs
ICcyMDAnKTsKK3Nob3VsZEJlKCdvdGhlclNlbC5sZW5ndGgnLCAnMCcpOworCitzZWwubGVuZ3Ro
ID0gMTAwOworc2hvdWxkQmUoJ3NlbC5sZW5ndGgnLCAnMTAwJyk7CitzaG91bGRCZSgnb3RoZXJT
ZWwubGVuZ3RoJywgJzAnKTsKKworc2VsLmxlbmd0aCA9IDE4MDsKK3Nob3VsZEJlKCdzZWwubGVu
Z3RoJywgJzE4MCcpOworc2hvdWxkQmUoJ290aGVyU2VsLmxlbmd0aCcsICcwJyk7Cis8L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC13aXRoLW11dGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24uaHRtbAppbmRleCBh
OTg0YWQwNDkzNDYzYzc3MTQzMWMyZGQzZDExNDUzNGE2N2ZkYTU4Li5hMDFlOWQ0ODQyOTQ0ZmEy
ODliZmRjM2Q5Y2VlYmVlZjY1ZjU0NWI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NlbGVjdC1zZXQtbGVuZ3RoLXdpdGgtbXV0YXRpb24uaHRtbApAQCAtNiw3
ICs2LDI0IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQtbGVuZ3Ro
LXdpdGgtbXV0YXRpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0
cyBzZXR0aW5nIHRoZSAubGVuZ3RoIG9mIGFuIEhUTUxTZWxlY3RFbGVtZW50IHdpdGggbXV0YXRp
b24gbGlzdGVuZXJzIHJlZ2lzdGVyZWQuJyk7CisKK3ZhciBzZWwgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzZWxlY3QnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2VsKTsKKworc2Vs
LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgZnVuY3Rpb24oKSB7fSwgZmFsc2Up
Oworc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVJbnNlcnRlZCcsIGZ1bmN0aW9uKCkge30s
IGZhbHNlKTsKKworc2VsLmxlbmd0aCA9IDIwMDsKK3Nob3VsZEJlKCdzZWwubGVuZ3RoJywgJzIw
MCcpOworCitzZWwubGVuZ3RoID0gMTAwOworc2hvdWxkQmUoJ3NlbC5sZW5ndGgnLCAnMTAwJyk7
CisKK3NlbC5sZW5ndGggPSAxODA7CitzaG91bGRCZSgnc2VsLmxlbmd0aCcsICcxODAnKTsKKzwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NlbGVjdC1zZXQtbGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NlbGVjdC1zZXQtbGVuZ3RoLmh0bWwKaW5kZXggNjdlY2M3NzQ3M2E3N2VjYWNhNzI1MmIw
MGJhZWE0ZDczNDg1MzFhYS4uZGFkYmViZTcwZjM2MmIwZWZhMTZiN2E5MjA2MjliY2U3MWNiMGE1
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3Qtc2V0LWxlbmd0aC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2VsZWN0LXNldC1sZW5ndGguaHRtbApA
QCAtNiw3ICs2LDIzIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NlbGVjdC1zZXQt
bGVuZ3RoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBz
ZXR0aW5nIHRoZSAubGVuZ3RoIG9mIGFuIEhUTUxTZWxlY3RFbGVtZW50IGNvcnJlY3RseSBjcmVh
dGVzIGFuZCBkZXN0cm95cyBvcHRpb25zLicpOworCit2YXIgc2VsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2VsZWN0Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNlbCk7CisKK3No
b3VsZEJlKCdzZWwubGVuZ3RoJywgJzAnKTsKKworc2VsLmxlbmd0aCA9IDIwMDsKK3Nob3VsZEJl
KCdzZWwubGVuZ3RoJywgJzIwMCcpOworCitzZWwubGVuZ3RoID0gMTAwOworc2hvdWxkQmUoJ3Nl
bC5sZW5ndGgnLCAnMTAwJyk7CisKK3NlbC5sZW5ndGggPSAxODA7CitzaG91bGRCZSgnc2VsLmxl
bmd0aCcsICcxODAnKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5j
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVu
Y2UuaHRtbAppbmRleCBjNjM0NDVmNWE4MTQxMWI5ZmU0ZGFiYTg0ZjM3NjRlN2U4NTgyNmVjLi44
YmIyOTEwNzczZGZlYTJkNTRlZmRlMmM2MzNlMDVhZGJhMmFhNWQxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmh0bWwK
QEAgLTYsNyArNiwzMyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXRDdXN0b21W
YWxpZGl0eS1leGlzdGVuY2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdF
eGlzdGVuY2UgdGVzdHMgZm9yIC5zZXRDdXN0b21WYWxpZGl0eSBwcm9wZXJ0eScpOworCit2YXIg
cGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHBhcmVudCk7CisKK2RlYnVnKCdFeGlzdGVuY2Ugb2YgLnNldEN1c3RvbVZhbGlk
aXR5Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPicKKyAgICArICc8aW5wdXQgbmFtZT0i
dmljdGltIi8+JworICAgICsgJzx0ZXh0YXJlYSBuYW1lPSJ2aWN0aW0iPjwvdGV4dGFyZWE+Jwor
ICAgICsgJzxmaWVsZHNldCBuYW1lPSJ2aWN0aW0iPlRlc3Q8L2ZpZWxkc2V0PicKKyAgICArICc8
YnV0dG9uIG5hbWU9InZpY3RpbSI+JworICAgICsgJzxzZWxlY3QgbmFtZT0idmljdGltIj48L3Nl
bGVjdD4nCisgICAgKyAnPG91dHB1dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PicKKyAgICArICc8
b2JqZWN0IG5hbWU9InZpY3RpbSI+PC9vYmplY3Q+JworICAgICsgJzxrZXlnZW4gbmFtZT0idmlj
dGltIj4nCisgICAgKyAnPC9mb3JtPic7CisKK3Nob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0
aW9uIicpOworc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
YnV0dG9uIilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUo
J3R5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZmllbGRzZXQiKVswXS5zZXRD
dXN0b21WYWxpZGl0eScsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgndHlwZW9mIGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzZWxlY3QiKVswXS5zZXRDdXN0b21WYWxpZGl0eScsICci
ZnVuY3Rpb24iJyk7CitzaG91bGRCZSgndHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJ0ZXh0YXJlYSIpWzBdLnNldEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlvbiInKTsKK3No
b3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm91dHB1dCIpWzBd
LnNldEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCd0eXBlb2YgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpWzBdLnNldEN1c3RvbVZhbGlkaXR5
JywgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImtleWdlbiIpWzBdLnNldEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlvbiInKTsK
Kzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NoYWRvdy10cmVlLWV4cG9zdXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NoYWRvdy10cmVlLWV4cG9zdXJlLmh0bWwKaW5kZXggMTk2OWYzMWJiMGViZWVm
NzNjOWIxODJhOTc5YTk5NjJjNjg0NDFjMC4uYjA1MDZiMGExMjcyNjQ3YmUzMDE1ZjFlNGRmM2Q3
Nzc5OGQwZTY4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zaGFkb3ctdHJl
ZS1leHBvc3VyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2hhZG93LXRyZWUt
ZXhwb3N1cmUuaHRtbApAQCAtNiw3ICs2LDgxIEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL3NoYWRvdy10cmVlLWV4cG9zdXJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdCB0byBtYWtlIHN1cmUgc2hhZG93IG5vZGVzIGFyZSBub3QgZXhwb3NlZC4iKTsK
KwordmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKworY29udGFpbmVyLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCJTb21lIHRleHQ6ICIpKTsKKworc2hvdWxkQmUoImdldFNl
bGVjdGlvbigpLmFuY2hvck5vZGUiLCAibnVsbCIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigp
LmFuY2hvck9mZnNldCIsICIwIik7CitzaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZm9jdXNOb2Rl
IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5mb2N1c09mZnNldCIsICIwIik7
CitzaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuaXNDb2xsYXBzZWQiLCAidHJ1ZSIpOworc2hvdWxk
QmUoImdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQiLCAiMCIpOworCitzaG91bGRCZSgiZ2V0U2Vs
ZWN0aW9uKCkuYmFzZU5vZGUiLCAibnVsbCIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmJh
c2VPZmZzZXQiLCAiMCIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmV4dGVudE5vZGUiLCAi
bnVsbCIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmV4dGVudE9mZnNldCIsICIwIik7Citz
aG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkudHlwZSIsICInTm9uZSciKTsKKworZGVidWcoIlxuQWRk
IGFuIGlucHV0IGVsZW1lbnQuXG4iKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW5wdXQiKTsKK2NvbnRhaW5lci5hcHBlbmRDaGlsZChpbnB1dCk7CitpbnB1dC52YWx1
ZSA9ICJ0ZXh0IjsKK2lucHV0LmZvY3VzKCk7CitpbnB1dC5zZWxlY3QoKTsKKworc2hvdWxkQmUo
ImdldFNlbGVjdGlvbigpLmFuY2hvck5vZGUiLCAiY29udGFpbmVyIik7CitzaG91bGRCZSgiZ2V0
U2VsZWN0aW9uKCkuYW5jaG9yT2Zmc2V0IiwgIjEiKTsKK3Nob3VsZEJlKCJnZXRTZWxlY3Rpb24o
KS5mb2N1c05vZGUiLCAiY29udGFpbmVyIik7CitzaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZm9j
dXNPZmZzZXQiLCAiMSIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmlzQ29sbGFwc2VkIiwg
InRydWUiKTsKK3Nob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IiwgIjEiKTsKK3No
b3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5nZXRSYW5nZUF0KDApLnN0YXJ0Q29udGFpbmVyIiwgImNv
bnRhaW5lciIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmdldFJhbmdlQXQoMCkuc3RhcnRP
ZmZzZXQiLCAiMSIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmdldFJhbmdlQXQoMCkuZW5k
Q29udGFpbmVyIiwgImNvbnRhaW5lciIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmdldFJh
bmdlQXQoMCkuZW5kT2Zmc2V0IiwgIjEiKTsKKworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmJh
c2VOb2RlIiwgImNvbnRhaW5lciIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmJhc2VPZmZz
ZXQiLCAiMSIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmV4dGVudE5vZGUiLCAiY29udGFp
bmVyIik7CitzaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuZXh0ZW50T2Zmc2V0IiwgIjEiKTsKK3No
b3VsZEJlKCJnZXRTZWxlY3Rpb24oKS50eXBlIiwgIidSYW5nZSciKTsKKworZGVidWcoIlxuQWRk
IGEgdGV4dGFyZWEgZWxlbWVudC5cbiIpOworCit2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJ0ZXh0YXJlYSIpOworY29udGFpbmVyLmFwcGVuZENoaWxkKHRleHRhcmVhKTsK
K3RleHRhcmVhLnZhbHVlID0gInRleHQiOwordGV4dGFyZWEuZm9jdXMoKTsKK3RleHRhcmVhLnNl
bGVjdCgpOworCitzaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCkuYW5jaG9yTm9kZSIsICJjb250YWlu
ZXIiKTsKK3Nob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5hbmNob3JPZmZzZXQiLCAiMiIpOworc2hv
dWxkQmUoImdldFNlbGVjdGlvbigpLmZvY3VzTm9kZSIsICJjb250YWluZXIiKTsKK3Nob3VsZEJl
KCJnZXRTZWxlY3Rpb24oKS5mb2N1c09mZnNldCIsICIyIik7CitzaG91bGRCZSgiZ2V0U2VsZWN0
aW9uKCkuaXNDb2xsYXBzZWQiLCAidHJ1ZSIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLnJh
bmdlQ291bnQiLCAiMSIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmdldFJhbmdlQXQoMCku
c3RhcnRDb250YWluZXIiLCAiY29udGFpbmVyIik7CitzaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCku
Z2V0UmFuZ2VBdCgwKS5zdGFydE9mZnNldCIsICIyIik7CitzaG91bGRCZSgiZ2V0U2VsZWN0aW9u
KCkuZ2V0UmFuZ2VBdCgwKS5lbmRDb250YWluZXIiLCAiY29udGFpbmVyIik7CitzaG91bGRCZSgi
Z2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgwKS5lbmRPZmZzZXQiLCAiMiIpOworCitzaG91bGRC
ZSgiZ2V0U2VsZWN0aW9uKCkuYmFzZU5vZGUiLCAiY29udGFpbmVyIik7CitzaG91bGRCZSgiZ2V0
U2VsZWN0aW9uKCkuYmFzZU9mZnNldCIsICIyIik7CitzaG91bGRCZSgiZ2V0U2VsZWN0aW9uKCku
ZXh0ZW50Tm9kZSIsICJjb250YWluZXIiKTsKK3Nob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5leHRl
bnRPZmZzZXQiLCAiMiIpOworc2hvdWxkQmUoImdldFNlbGVjdGlvbigpLnR5cGUiLCAiJ1Jhbmdl
JyIpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGNvbnRhaW5lcik7CisKK2RlYnVnKCIi
KTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3N1Ym1pdC1mb3JtLWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc3VibWl0LWZvcm0tYXR0cmlidXRlcy5odG1sCmluZGV4IGJmZmM5ZWU2
YTExNDE1NGExMDhlODVhNjgwYWI4YjFhY2Q1ZDU4NWIuLjYxYzRjOWJjYzdmNGI4Yzg5MDdjYThj
N2RhYWUxMThlYmE1MmE1YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc3Vi
bWl0LWZvcm0tYXR0cmlidXRlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc3Vi
bWl0LWZvcm0tYXR0cmlidXRlcy5odG1sCkBAIC02LDcgKzYsMjAzIEBACiA8Ym9keT4KIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL3N1Ym1pdC1mb3JtLWF0dHJpYnV0ZXMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgYmVoYXZpb3Igb2YgLmZvcm1hY3Rpb24sIC5m
b3JtZW5jdHlwZSwgLmZvcm1tZXRob2QgYW5kIC5mb3JtdGFyZ2V0IG9mIEhUTUxJbnB1dEVsZW1l
bnQgYW5kIEhUTUxCdXR0b25FbGVtZW50LicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpbnB1dCcpOworCitkZWJ1ZygnT3JkaW5hcnkgdmFsdWVzIGZvciBpbnB1dDon
KTsKK2lucHV0LnR5cGUgPSAic3VibWl0IjsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtQWN0aW9uJywg
JyIiJyk7CitzaG91bGRCZSgnaW5wdXQuZm9ybUVuY3R5cGUnLCAnImFwcGxpY2F0aW9uL3gtd3d3
LWZvcm0tdXJsZW5jb2RlZCInKTsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtTWV0aG9kJywgJyJnZXQi
Jyk7CitzaG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcsICciIicpOworCitpbnB1dC5zZXRBdHRy
aWJ1dGUoJ2Zvcm1BY3Rpb24nLCAnaHR0cDovL2xvY2FsaG9zdCcpOworc2hvdWxkQmUoJ2lucHV0
LmZvcm1BY3Rpb24nLCAnImh0dHA6Ly9sb2NhbGhvc3QvIicpOworaW5wdXQuc2V0QXR0cmlidXRl
KCdmb3JtQWN0aW9uJywgJ2h0dHA6Ly9sb2NhbGhvc3QvJyk7CitzaG91bGRCZSgnaW5wdXQuZm9y
bUFjdGlvbicsICciaHR0cDovL2xvY2FsaG9zdC8iJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zv
cm1FbmN0eXBlJywgJ3RleHQvcGxhaW4nKTsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScs
ICcidGV4dC9wbGFpbiInKTsKK2lucHV0LnNldEF0dHJpYnV0ZSgnZm9ybUVuY3R5cGUnLCAnbmEn
KTsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScsICciYXBwbGljYXRpb24veC13d3ctZm9y
bS11cmxlbmNvZGVkIicpOworaW5wdXQuc2V0QXR0cmlidXRlKCdmb3JtTWV0aG9kJywgJ0dFVCcp
Oworc2hvdWxkQmUoJ2lucHV0LmZvcm1NZXRob2QnLCAnImdldCInKTsKK2lucHV0LnNldEF0dHJp
YnV0ZSgnZm9ybU1ldGhvZCcsICduaScpOworc2hvdWxkQmUoJ2lucHV0LmZvcm1NZXRob2QnLCAn
ImdldCInKTsKK2lucHV0LnNldEF0dHJpYnV0ZSgnZm9ybVRhcmdldCcsICdfYmxhbmsnKTsKK3No
b3VsZEJlKCdpbnB1dC5mb3JtVGFyZ2V0JywgJyJfYmxhbmsiJyk7CitpbnB1dC5zZXRBdHRyaWJ1
dGUoJ2Zvcm1UYXJnZXQnLCAnbnUnKTsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtVGFyZ2V0JywgJyJu
dSInKTsKKworaW5wdXQuZm9ybUFjdGlvbiA9ICdodHRwOi8vZXhhbXBsZS5jb20nOworc2hvdWxk
QmUoJ2lucHV0LmZvcm1BY3Rpb24nLCAnImh0dHA6Ly9leGFtcGxlLmNvbS8iJyk7CitpbnB1dC5m
b3JtQWN0aW9uID0gJ2h0dHA6Ly9leGFtcGxlLmNvbS8nOworc2hvdWxkQmUoJ2lucHV0LmZvcm1B
Y3Rpb24nLCAnImh0dHA6Ly9leGFtcGxlLmNvbS8iJyk7CitpbnB1dC5mb3JtRW5jdHlwZSA9ICd0
ZXh0L3BsYWluJzsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScsICcidGV4dC9wbGFpbiIn
KTsKK2lucHV0LmZvcm1FbmN0eXBlID0gJ25vdGEnOworc2hvdWxkQmUoJ2lucHV0LmZvcm1FbmN0
eXBlJywgJyJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7CitpbnB1dC5mb3Jt
TWV0aG9kID0gJ1BPU1QnOworc2hvdWxkQmUoJ2lucHV0LmZvcm1NZXRob2QnLCAnInBvc3QiJyk7
CitpbnB1dC5mb3JtTWV0aG9kID0gJ25ldGEnOworc2hvdWxkQmUoJ2lucHV0LmZvcm1NZXRob2Qn
LCAnImdldCInKTsKK2lucHV0LmZvcm1UYXJnZXQgPSAnaHR0cDovL2V4YW1wbGUuY29tJzsKK3No
b3VsZEJlKCdpbnB1dC5mb3JtVGFyZ2V0JywgJyJodHRwOi8vZXhhbXBsZS5jb20iJyk7CitpbnB1
dC5mb3JtVGFyZ2V0ID0gJ250YSc7CitzaG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcsICcibnRh
IicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnU2V0dGluZyBudWxsIGZvciBpbnB1dDonKTsKK2lu
cHV0LmZvcm1FbmN0eXBlID0gbnVsbDsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScsICci
YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOworc2hvdWxkQmUoJ2lucHV0Lmdl
dEF0dHJpYnV0ZSgiZm9ybUVuY3R5cGUiKScsICdudWxsJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUo
J2Zvcm1FbmN0eXBlJywgbnVsbCk7CitzaG91bGRCZSgnaW5wdXQuZm9ybUVuY3R5cGUnLCAnImFw
cGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCInKTsKK2lucHV0LmZvcm1NZXRob2QgPSBu
dWxsOworc2hvdWxkQmUoJ2lucHV0LmZvcm1NZXRob2QnLCAnImdldCInKTsKK3Nob3VsZEJlKCdp
bnB1dC5nZXRBdHRyaWJ1dGUoImZvcm1NZXRob2QiKScsICdudWxsJyk7CitpbnB1dC5zZXRBdHRy
aWJ1dGUoJ2Zvcm1NZXRob2QnLCBudWxsKTsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtTWV0aG9kJywg
JyJnZXQiJyk7CitpbnB1dC5mb3JtVGFyZ2V0ID0gbnVsbDsKK3Nob3VsZEJlKCdpbnB1dC5mb3Jt
VGFyZ2V0JywgJyIiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJmb3JtVGFyZ2V0
IiknLCAnbnVsbCcpOworaW5wdXQuc2V0QXR0cmlidXRlKCdmb3JtVGFyZ2V0JywgbnVsbCk7Citz
aG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcsICcibnVsbCInKTsKKworZGVidWcoJycpOworZGVi
dWcoJ1NldHRpbmcgdW5kZWZpbmVkIGZvciBpbnB1dDonKTsKK2lucHV0LmZvcm1FbmN0eXBlID0g
dW5kZWZpbmVkOworc2hvdWxkQmUoJ2lucHV0LmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlvbi94
LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJm
b3JtRW5jdHlwZSIpJywgJyJ1bmRlZmluZWQiJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1F
bmN0eXBlJywgdW5kZWZpbmVkKTsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScsICciYXBw
bGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIicpOworaW5wdXQuZm9ybU1ldGhvZCA9IHVu
ZGVmaW5lZDsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtTWV0aG9kJywgJyJnZXQiJyk7CitzaG91bGRC
ZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJmb3JtTWV0aG9kIiknLCAnInVuZGVmaW5lZCInKTsKK2lu
cHV0LnNldEF0dHJpYnV0ZSgnZm9ybU1ldGhvZCcsIHVuZGVmaW5lZCk7CitzaG91bGRCZSgnaW5w
dXQuZm9ybU1ldGhvZCcsICciZ2V0IicpOworaW5wdXQuZm9ybVRhcmdldCA9IHVuZGVmaW5lZDsK
K3Nob3VsZEJlKCdpbnB1dC5mb3JtVGFyZ2V0JywgJyJ1bmRlZmluZWQiJyk7CitzaG91bGRCZSgn
aW5wdXQuZ2V0QXR0cmlidXRlKCJmb3JtVGFyZ2V0IiknLCAnInVuZGVmaW5lZCInKTsKK2lucHV0
LnNldEF0dHJpYnV0ZSgnZm9ybVRhcmdldCcsIHVuZGVmaW5lZCk7CitzaG91bGRCZSgnaW5wdXQu
Zm9ybVRhcmdldCcsICcidW5kZWZpbmVkIicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnU2V0dGlu
ZyBub24tc3RyaW5nIGZvciBpbnB1dDonKTsKK2lucHV0LmZvcm1FbmN0eXBlID0gMjU2Oworc2hv
dWxkQmUoJ2lucHV0LmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVu
Y29kZWQiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJmb3JtRW5jdHlwZSIpJywg
JyIyNTYiJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ2Zvcm1FbmN0eXBlJywgMjU2KTsKK3Nob3Vs
ZEJlKCdpbnB1dC5mb3JtRW5jdHlwZScsICciYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNv
ZGVkIicpOworaW5wdXQuZm9ybU1ldGhvZCA9IDI1NjsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtTWV0
aG9kJywgJyJnZXQiJyk7CitzaG91bGRCZSgnaW5wdXQuZ2V0QXR0cmlidXRlKCJmb3JtTWV0aG9k
IiknLCAnIjI1NiInKTsKK2lucHV0LnNldEF0dHJpYnV0ZSgnZm9ybU1ldGhvZCcsIDI1Nik7Citz
aG91bGRCZSgnaW5wdXQuZm9ybU1ldGhvZCcsICciZ2V0IicpOworaW5wdXQuZm9ybVRhcmdldCA9
IDI1NjsKK3Nob3VsZEJlKCdpbnB1dC5mb3JtVGFyZ2V0JywgJyIyNTYiJyk7CitzaG91bGRCZSgn
aW5wdXQuZ2V0QXR0cmlidXRlKCJmb3JtVGFyZ2V0IiknLCAnIjI1NiInKTsKK2lucHV0LnNldEF0
dHJpYnV0ZSgnZm9ybVRhcmdldCcsIDI1Nik7CitzaG91bGRCZSgnaW5wdXQuZm9ybVRhcmdldCcs
ICciMjU2IicpOworCit2YXIgYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9u
Jyk7CitkZWJ1ZygnJyk7CitkZWJ1ZygnT3JkaW5hcnkgdmFsdWVzIGZvciBidXR0b246Jyk7Citi
dXR0b24udHlwZSA9ICJzdWJtaXQiOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtQWN0aW9uJywgJyIi
Jyk7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQiJyk7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1NZXRob2QnLCAnImdldCIn
KTsKK3Nob3VsZEJlKCdidXR0b24uZm9ybVRhcmdldCcsICciIicpOworCitidXR0b24uc2V0QXR0
cmlidXRlKCdmb3JtQWN0aW9uJywgJ2h0dHA6Ly9sb2NhbGhvc3QnKTsKK3Nob3VsZEJlKCdidXR0
b24uZm9ybUFjdGlvbicsICciaHR0cDovL2xvY2FsaG9zdC8iJyk7CitidXR0b24uc2V0QXR0cmli
dXRlKCdmb3JtQWN0aW9uJywgJ2h0dHA6Ly9sb2NhbGhvc3QvJyk7CitzaG91bGRCZSgnYnV0dG9u
LmZvcm1BY3Rpb24nLCAnImh0dHA6Ly9sb2NhbGhvc3QvIicpOworYnV0dG9uLnNldEF0dHJpYnV0
ZSgnZm9ybUVuY3R5cGUnLCAndGV4dC9wbGFpbicpOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5j
dHlwZScsICcidGV4dC9wbGFpbiInKTsKK2J1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zvcm1FbmN0eXBl
JywgJ25hJyk7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlvbi94
LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7CitidXR0b24uc2V0QXR0cmlidXRlKCdmb3JtTWV0aG9k
JywgJ0dFVCcpOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9kJywgJyJnZXQiJyk7CitidXR0
b24uc2V0QXR0cmlidXRlKCdmb3JtTWV0aG9kJywgJ25hJyk7CitzaG91bGRCZSgnYnV0dG9uLmZv
cm1NZXRob2QnLCAnImdldCInKTsKK2J1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zvcm1UYXJnZXQnLCAn
X2JsYW5rJyk7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1UYXJnZXQnLCAnIl9ibGFuayInKTsKK2J1
dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zvcm1UYXJnZXQnLCAnbmEnKTsKK3Nob3VsZEJlKCdidXR0b24u
Zm9ybVRhcmdldCcsICcibmEiJyk7CisKK2J1dHRvbi5mb3JtQWN0aW9uID0gJ2h0dHA6Ly9leGFt
cGxlLmNvbSc7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1BY3Rpb24nLCAnImh0dHA6Ly9leGFtcGxl
LmNvbS8iJyk7CitidXR0b24uZm9ybUFjdGlvbiA9ICdodHRwOi8vZXhhbXBsZS5jb20vJzsKK3No
b3VsZEJlKCdidXR0b24uZm9ybUFjdGlvbicsICciaHR0cDovL2V4YW1wbGUuY29tLyInKTsKK2J1
dHRvbi5mb3JtRW5jdHlwZSA9ICd0ZXh0L3BsYWluJzsKK3Nob3VsZEJlKCdidXR0b24uZm9ybUVu
Y3R5cGUnLCAnInRleHQvcGxhaW4iJyk7CitidXR0b24uZm9ybUVuY3R5cGUgPSAnbm90YSc7Citz
aG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVy
bGVuY29kZWQiJyk7CitidXR0b24uZm9ybU1ldGhvZCA9ICdQT1NUJzsKK3Nob3VsZEJlKCdidXR0
b24uZm9ybU1ldGhvZCcsICcicG9zdCInKTsKK2J1dHRvbi5mb3JtTWV0aG9kID0gJ25vdGEnOwor
c2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9kJywgJyJnZXQiJyk7CitidXR0b24uZm9ybVRhcmdl
dCA9ICdodHRwOi8vZXhhbXBsZS5jb20nOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtVGFyZ2V0Jywg
JyJodHRwOi8vZXhhbXBsZS5jb20iJyk7CitidXR0b24uZm9ybVRhcmdldCA9ICdub3RhJzsKK3No
b3VsZEJlKCdidXR0b24uZm9ybVRhcmdldCcsICcibm90YSInKTsKKworZGVidWcoJycpOworZGVi
dWcoJ1NldHRpbmcgbnVsbCBmb3IgYnV0dG9uOicpOworYnV0dG9uLmZvcm1FbmN0eXBlID0gbnVs
bDsKK3Nob3VsZEJlKCdidXR0b24uZm9ybUVuY3R5cGUnLCAnImFwcGxpY2F0aW9uL3gtd3d3LWZv
cm0tdXJsZW5jb2RlZCInKTsKK3Nob3VsZEJlKCdidXR0b24uZ2V0QXR0cmlidXRlKCJmb3JtRW5j
dHlwZSIpJywgJ251bGwnKTsKK2J1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zvcm1FbmN0eXBlJywgbnVs
bCk7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQiJyk7CitidXR0b24uZm9ybU1ldGhvZCA9IG51bGw7CitzaG91bGRCZSgn
YnV0dG9uLmZvcm1NZXRob2QnLCAnImdldCInKTsKK3Nob3VsZEJlKCdidXR0b24uZ2V0QXR0cmli
dXRlKCJmb3JtTWV0aG9kIiknLCAnbnVsbCcpOworYnV0dG9uLnNldEF0dHJpYnV0ZSgnZm9ybU1l
dGhvZCcsIG51bGwpOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtTWV0aG9kJywgJyJnZXQiJyk7Citi
dXR0b24uZm9ybVRhcmdldCA9IG51bGw7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1UYXJnZXQnLCAn
IiInKTsKK3Nob3VsZEJlKCdidXR0b24uZ2V0QXR0cmlidXRlKCJmb3JtVGFyZ2V0IiknLCAnbnVs
bCcpOworYnV0dG9uLnNldEF0dHJpYnV0ZSgnZm9ybVRhcmdldCcsIG51bGwpOworc2hvdWxkQmUo
J2J1dHRvbi5mb3JtVGFyZ2V0JywgJyJudWxsIicpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnU2V0
dGluZyB1bmRlZmluZWQgZm9yIGJ1dHRvbjonKTsKK2J1dHRvbi5mb3JtRW5jdHlwZSA9IHVuZGVm
aW5lZDsKK3Nob3VsZEJlKCdidXR0b24uZm9ybUVuY3R5cGUnLCAnImFwcGxpY2F0aW9uL3gtd3d3
LWZvcm0tdXJsZW5jb2RlZCInKTsKK3Nob3VsZEJlKCdidXR0b24uZ2V0QXR0cmlidXRlKCJmb3Jt
RW5jdHlwZSIpJywgJyJ1bmRlZmluZWQiJyk7CitidXR0b24uc2V0QXR0cmlidXRlKCdmb3JtRW5j
dHlwZScsIHVuZGVmaW5lZCk7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBs
aWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiJyk7CitidXR0b24uZm9ybU1ldGhvZCA9IHVu
ZGVmaW5lZDsKK3Nob3VsZEJlKCdidXR0b24uZm9ybU1ldGhvZCcsICciZ2V0IicpOworc2hvdWxk
QmUoJ2J1dHRvbi5nZXRBdHRyaWJ1dGUoImZvcm1NZXRob2QiKScsICcidW5kZWZpbmVkIicpOwor
YnV0dG9uLnNldEF0dHJpYnV0ZSgnZm9ybU1ldGhvZCcsIHVuZGVmaW5lZCk7CitzaG91bGRCZSgn
YnV0dG9uLmZvcm1NZXRob2QnLCAnImdldCInKTsKK2J1dHRvbi5mb3JtVGFyZ2V0ID0gdW5kZWZp
bmVkOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtVGFyZ2V0JywgJyJ1bmRlZmluZWQiJyk7CitzaG91
bGRCZSgnYnV0dG9uLmdldEF0dHJpYnV0ZSgiZm9ybVRhcmdldCIpJywgJyJ1bmRlZmluZWQiJyk7
CitidXR0b24uc2V0QXR0cmlidXRlKCdmb3JtVGFyZ2V0JywgdW5kZWZpbmVkKTsKK3Nob3VsZEJl
KCdidXR0b24uZm9ybVRhcmdldCcsICcidW5kZWZpbmVkIicpOworCitkZWJ1ZygnJyk7CitkZWJ1
ZygnU2V0dGluZyBub24tc3RyaW5nIGZvciBidXR0b246Jyk7CitidXR0b24uZm9ybUVuY3R5cGUg
PSAyNTY7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1FbmN0eXBlJywgJyJhcHBsaWNhdGlvbi94LXd3
dy1mb3JtLXVybGVuY29kZWQiJyk7CitzaG91bGRCZSgnYnV0dG9uLmdldEF0dHJpYnV0ZSgiZm9y
bUVuY3R5cGUiKScsICciMjU2IicpOworYnV0dG9uLnNldEF0dHJpYnV0ZSgnZm9ybUVuY3R5cGUn
LCA1MTIpOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtRW5jdHlwZScsICciYXBwbGljYXRpb24veC13
d3ctZm9ybS11cmxlbmNvZGVkIicpOworYnV0dG9uLmZvcm1NZXRob2QgPSAxMjg7CitzaG91bGRC
ZSgnYnV0dG9uLmZvcm1NZXRob2QnLCAnImdldCInKTsKK3Nob3VsZEJlKCdidXR0b24uZ2V0QXR0
cmlidXRlKCJmb3JtTWV0aG9kIiknLCAnIjEyOCInKTsKK2J1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Zv
cm1NZXRob2QnLCAxNyk7CitzaG91bGRCZSgnYnV0dG9uLmZvcm1NZXRob2QnLCAnImdldCInKTsK
K2J1dHRvbi5mb3JtVGFyZ2V0ID0gMTAwOworc2hvdWxkQmUoJ2J1dHRvbi5mb3JtVGFyZ2V0Jywg
JyIxMDAiJyk7CitzaG91bGRCZSgnYnV0dG9uLmdldEF0dHJpYnV0ZSgiZm9ybVRhcmdldCIpJywg
JyIxMDAiJyk7CitidXR0b24uc2V0QXR0cmlidXRlKCdmb3JtVGFyZ2V0JywgMjgxKTsKK3Nob3Vs
ZEJlKCdidXR0b24uZm9ybVRhcmdldCcsICciMjgxIicpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dC1j
b250cm9sLWludHJpbnNpYy13aWR0aHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4
dC1jb250cm9sLWludHJpbnNpYy13aWR0aHMuaHRtbAppbmRleCAwYzdhN2FjZDVkYWFlODY3OGQ4
Mzc3N2FmZWU0MTc0MmI5MzliY2UyLi5mOWY2ZDI4OGRiMDc0N2E3OWNiZjM1OGNmYTUyYjUwOTQ1
NDFiMTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHQtY29udHJvbC1p
bnRyaW5zaWMtd2lkdGhzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0LWNv
bnRyb2wtaW50cmluc2ljLXdpZHRocy5odG1sCkBAIC02LDcgKzYsNDAgQEAKIDxib2R5PgogPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvdGV4dC1jb250cm9sLWludHJpbnNpYy13aWR0aHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWVhc3VyZXMgdGhlIHdpZHRo
IG9mIHRleHRhcmVhcyBhbmQgdGV4dCBpbnB1dHMgZm9yIGRpZmZlcmVudCBmb250cy4iKTsKKwor
dmFyIHNpemVzID0gWzEsIDIsIDMsIDQsIDUsIDEwLCAyMCwgNTAsIDEwMCwgNTAwLCAxMDAwXTsK
Ky8vIFRoaXMgbGlzdCB3YXMgZ3JhYmJlZCBmcm9tIFdpa2lwZWRpYQorLy8gaHR0cDovL2VuLndp
a2lwZWRpYS5vcmcvd2lraS9Db3JlX2ZvbnRzX2Zvcl90aGVfV2ViCisvLyBJbXBhY3Qgd2FzIHJl
bW92ZWQgZnJvbSB0aGUgbGlzdCBhcyBub3QgYWxsIHZlcnNpb25zIHNlZW0gdG8gaGF2ZSB0aGUg
c2FtZSBtZXRyaWNzCit2YXIgbXNfd2ViX2ZvbnRzID0gWydBbmRhbGUgTW9ubycsICdBcmlhbCcs
ICdDb21pYyBTYW5zIE1TJywgJ0NvdXJpZXIgTmV3JywgJ0dlb3JnaWEnLAorICAgICAgICAgICAg
ICAgICAgICAnVGltZXMgTmV3IFJvbWFuJywgJ1RyZWJ1Y2hldCBNUycsICdWZXJkYW5hJywgJ1dl
YmRpbmdzJ107CisKKy8vIFRoZXNlIGFyZSBmb250cyB3ZSBleHBlY3QgdG8gc2VlIGluc3RhbGxl
ZCBvbiBhbGwgc3lzdGVtcy4KK3ZhciBmb250cyA9IFsnTHVjaWRhIEdyYW5kZScsICdDb3VyaWVy
JywgJ0hlbHZldGljYScsICdNb25hY28nLCAnVGltZXMnXS5jb25jYXQobXNfd2ViX2ZvbnRzKTsK
KworZnVuY3Rpb24gcHJpbnRFbGVtZW50V2lkdGgodGFnbmFtZSwgZm9udCkgeworICAgIGRlYnVn
KCc8Yj4nICsgdGFnbmFtZSArICc8L2I+Jyk7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ25hbWUpOworICAgIG5vZGUuc3R5bGUuZm9udEZhbWlseSA9IGZvbnQ7Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChub2RlKTsKKyAgICB2YXIgc2l6ZVByb3BlcnR5
ID0gdGFnbmFtZSA9PSAnaW5wdXQnID8gJ3NpemUnIDogJ2NvbHMnOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc2l6ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgbm9kZVtzaXplUHJvcGVydHld
ID0gc2l6ZXNbaV07CisgICAgICAgIGRlYnVnKHNpemVQcm9wZXJ0eSArICc9JyArIHNpemVzW2ld
ICsgJyBjbGllbnRXaWR0aD0nICsgbm9kZS5jbGllbnRXaWR0aCk7CisgICAgfQorICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQobm9kZSk7Cit9CisKK2ZvciAodmFyIGogPSAwOyBqIDwgZm9u
dHMubGVuZ3RoOyBqKyspIHsKKyAgICBkZWJ1ZygnPGI+JyArIGZvbnRzW2pdICsgJzwvYj4nKTsK
KyAgICBwcmludEVsZW1lbnRXaWR0aCgnaW5wdXQnLCBmb250c1tqXSk7CisgICAgZGVidWcoJycp
CisgICAgcHJpbnRFbGVtZW50V2lkdGgoJ3RleHRhcmVhJywgZm9udHNbal0pOworICAgIGRlYnVn
KCcnKTsKK30KKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLW1heGxlbmd0aC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1tYXhsZW5ndGguaHRtbAppbmRleCA4NzMwYTg1MDQy
ZGE2OTg3OTMyNTFmNWIzY2JiYjNjNzQxNjdmYWM3Li5iZjY1OWMwODgzYjAzODQ0NmRiY2VlNGFh
ODExMjY1NjQ3NzlmODVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRh
cmVhLW1heGxlbmd0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEt
bWF4bGVuZ3RoLmh0bWwKQEAgLTYsNyArNiwxNjEgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbignVGVzdHMgZm9yIEhUTUxUZXh0QXJlYUVsZW1lbnQubWF4TGVuZ3RoIGJlaGF2aW9ycy4n
KTsKKwordmFyIHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dEFyZWEpOworCisvLyBObyBtYXhsZW5ndGgg
YXR0cmlidXRlCitzaG91bGRCZSgndGV4dEFyZWEubWF4TGVuZ3RoJywgJy0xJyk7CisKKy8vIElu
dmFsaWQgbWF4bGVuZ3RoIGF0dHJpYnV0ZXMKK3RleHRBcmVhLnNldEF0dHJpYnV0ZSgnbWF4bGVu
Z3RoJywgJy0zJyk7CitzaG91bGRCZSgndGV4dEFyZWEubWF4TGVuZ3RoJywgJy0xJyk7Cit0ZXh0
QXJlYS5zZXRBdHRyaWJ1dGUoJ21heGxlbmd0aCcsICd4eXonKTsKK3Nob3VsZEJlKCd0ZXh0QXJl
YS5tYXhMZW5ndGgnLCAnLTEnKTsKKworLy8gVmFsaWQgbWF4bGVuZ3RoIGF0dHJpYnV0ZXMKK3Rl
eHRBcmVhLnNldEF0dHJpYnV0ZSgnbWF4bGVuZ3RoJywgJzEnKTsKK3Nob3VsZEJlKCd0ZXh0QXJl
YS5tYXhMZW5ndGgnLCAnMScpOwordGV4dEFyZWEuc2V0QXR0cmlidXRlKCdtYXhsZW5ndGgnLCAn
MjU2Jyk7CitzaG91bGRCZSgndGV4dEFyZWEubWF4TGVuZ3RoJywgJzI1NicpOworCisvLyBTZXQg
dmFsdWVzIHRvIC5tYXhMZW5ndGgKK3RleHRBcmVhLm1heExlbmd0aCA9IDEzOworc2hvdWxkQmUo
J3RleHRBcmVhLmdldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIiknLCAnIjEzIicpOworCitzaG91bGRU
aHJvdygndGV4dEFyZWEubWF4TGVuZ3RoID0gLTEnLCAnIkVycm9yOiBJTkRFWF9TSVpFX0VSUjog
RE9NIEV4Y2VwdGlvbiAxIicpOworc2hvdWxkQmUoJ3RleHRBcmVhLmdldEF0dHJpYnV0ZSgibWF4
bGVuZ3RoIiknLCAnIjEzIicpOyAgLy8gTm90IGNoYW5nZWQKKwordGV4dEFyZWEubWF4TGVuZ3Ro
ID0gbnVsbDsKK3Nob3VsZEJlKCd0ZXh0QXJlYS5tYXhMZW5ndGgnLCAnMCcpOworc2hvdWxkQmUo
J3RleHRBcmVhLmdldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIiknLCAnIjAiJyk7CisKKy8vIG1heExl
bmd0aCBkb2Vzbid0IHRydW5jYXRlIHRoZSBkZWZhdWx0IHZhbHVlLgordGV4dEFyZWEgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwordGV4dEFyZWEuc2V0QXR0cmlidXRlKCdt
YXhsZW5ndGgnLCAnMycpOwordGV4dEFyZWEuaW5uZXJIVE1MID0gJ2FiY2QnOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSk7CitzaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAn
ImFiY2QiJyk7CisKKy8vIG1heExlbmd0aCBkb2Vzbid0IHRydW5jYXRlIC52YWx1ZQordGV4dEFy
ZWEubWF4TGVuZ3RoID0gMzsKK3RleHRBcmVhLnZhbHVlID0gJ2FiY2RlJzsKK3Nob3VsZEJlKCd0
ZXh0QXJlYS52YWx1ZScsICciYWJjZGUiJyk7CisKKy8vIFNldCB1cCBmb3IgdXNlci1pbnB1dCB0
ZXN0cworZnVuY3Rpb24gY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aChtYXhMZW5n
dGgpIHsKKyAgICBpZiAodGV4dEFyZWEpCisgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQodGV4dEFyZWEpOworICAgIHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4
dGFyZWEnKTsKKyAgICB0ZXh0QXJlYS5zZXRBdHRyaWJ1dGUoJ21heGxlbmd0aCcsIG1heExlbmd0
aCk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSk7CisgICAgdGV4dEFy
ZWEuZm9jdXMoKTsKK30KKworLy8gSW5zZXJ0IHRleHQgb2Ygd2hpY2ggbGVuZ3RoIGlzIG1heExl
bmd0aC4KK2NyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgoMyk7Citkb2N1bWVudC5l
eGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCAnYWJjJyk7CitzaG91bGRCZSgndGV4dEFy
ZWEudmFsdWUnLCAnImFiYyInKTsKKworLy8gVHJ5IHRvIGFkZCBjaGFyYWN0ZXJzIHRvIG1heExl
bmd0aCBjaGFyYWN0ZXJzLgorY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsK
K3RleHRBcmVhLnZhbHVlID0gJ2FiYyc7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4
dCcsIGZhbHNlLCAnZGVmJyk7CitzaG91bGRCZSgndGV4dEFyZWEudmFsdWUnLCAnImFiYyInKTsK
KworLy8gUmVwbGFjZSB0ZXh0CitjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoKDMp
OwordGV4dEFyZWEudmFsdWUgPSAnYWJjJzsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdzZWxlY3RB
bGwnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdkZWYnKTsK
K3Nob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciZGVmIicpOworCisvLyBFeGlzdGluZyB2YWx1
ZSBpcyBsb25nZXIgdGhhbiBtYXhMZW5ndGguICBXZSBjYW4ndCBhZGQgdGV4dC4KK2NyZWF0ZUZv
Y3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgoMyk7Cit0ZXh0QXJlYS52YWx1ZSA9ICdhYmNkZWYn
OworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJ2doaScpOworc2hv
dWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJhYmNkZWYiJyk7CisKKy8vIFdlIGNhbiBkZWxldGUg
YSBjaGFyYWN0ZXIgaW4gdGhlIGxvbmdlciB2YWx1ZS4KK2NyZWF0ZUZvY3VzZWRUZXh0QXJlYVdp
dGhNYXhMZW5ndGgoMyk7Cit0ZXh0QXJlYS52YWx1ZSA9ICdhYmNkZWYnOworZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ2RlbGV0ZScpOworc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJhYmNkZSIn
KTsKKworLy8gQSBsaW5lYnJlYWsgaXMgMSBjaGFyYWN0ZXIuCitjcmVhdGVGb2N1c2VkVGV4dEFy
ZWFXaXRoTWF4TGVuZ3RoKDQpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBm
YWxzZSwgJ0EnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK2Rv
Y3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdCJyk7CitzaG91bGRCZSgn
dGV4dEFyZWEudmFsdWUnLCAnIkFcXG5CIicpOworCisvLyBDb25maXJtcyBjb3JyZWN0IGNvdW50
IGZvciBjbG9zZSBsaW5lYnJlYWtzIGlucHV0cy4KK2NyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhN
YXhMZW5ndGgoMyk7Cit0ZXh0QXJlYS5pbm5lckhUTUwgPSAnYVxuXG4nOworZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOworc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywg
JyJhXFxuXFxuIicpOworCisvLyBDb25maXJtcyBjb3JyZWN0IGNvdW50IGZvciBvcGVuIGNvbnNl
Y3V0aXZlIGxpbmVicmVha3MgaW5wdXRzLgorY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExl
bmd0aCg2KTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK2RvY3Vt
ZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5k
KCdpbnNlcnRMaW5lQnJlYWsnKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJl
YWsnKTsKK3Nob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciXFxuXFxuXFxuIicpOworCisvLyBB
Y2NvcmRpbmcgdG8gdGhlIEhUTUw1IHNwZWNpZmljYXRpb24sIG1heExlbmd0aCBpcyBjb2RlLXBv
aW50IGxlbmd0aC4KKy8vIEhvd2V2ZXIgV2ViS2l0IGhhbmRsZXMgaXQgYXMgZ3JhcGhlbWUgbGVu
Z3RoLgorCisvLyBmYW5jeVggc2hvdWxkIGJlIHRyZWF0ZWQgYXMgMSBncmFwaGVtZS4KK3ZhciBm
YW5jeVggPSAieFx1MDMwNVx1MDMzMiI7Ly8gKyBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MzA1KSAr
IFN0cmluZy5mcm9tQ2hhckNvZGUoMHgzMzIpOworLy8gdTEwMDAwIGlzIG9uZSBjaGFyYWN0ZXIg
Y29uc2lzdGVkIG9mIGEgc3Vycm9nYXRlIHBhaXIuCit2YXIgdTEwMDAwID0gIlx1ZDgwMFx1ZGMw
MCI7CisKKy8vIEluc2VydHMgNSBjb2RlLXBvaW50cyBpbiBVVEYtMTYKK2NyZWF0ZUZvY3VzZWRU
ZXh0QXJlYVdpdGhNYXhMZW5ndGgoMyk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4
dCcsIGZhbHNlLCAnQUInICsgZmFuY3lYKTsKK3Nob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICci
QUIiICsgZmFuY3lYJyk7CitzaG91bGRCZSgndGV4dEFyZWEudmFsdWUubGVuZ3RoJywgJzUnKTsK
KworY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsKK3RleHRBcmVhLnZhbHVl
ID0gJ0FCJyArIGZhbmN5WDsKK3RleHRBcmVhLnNldFNlbGVjdGlvblJhbmdlKDIsIDUpOyAgLy8g
U2VsZWN0IGZhbmN5WAorZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwg
J0NERScpOworc2hvdWxkQmUoJ3RleHRBcmVhLnZhbHVlJywgJyJBQkMiJyk7CisKKy8vIEluc2Vy
dHMgNCBjb2RlLXBvaW50cyBpbiBVVEYtMTYKK2NyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhM
ZW5ndGgoMyk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCAnQUIn
ICsgdTEwMDAwKTsKK3Nob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciQUIiICsgdTEwMDAwJyk7
CitzaG91bGRCZSgndGV4dEFyZWEudmFsdWUubGVuZ3RoJywgJzQnKTsKKworY3JlYXRlRm9jdXNl
ZFRleHRBcmVhV2l0aE1heExlbmd0aCgzKTsKK3RleHRBcmVhLnZhbHVlID0gJ0FCJyArIHUxMDAw
MDsKK3RleHRBcmVhLnNldFNlbGVjdGlvblJhbmdlKDIsIDQpOyAgLy8gU2VsZWN0IHUxMDAwMAor
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJ0NERScpOworc2hvdWxk
QmUoJ3RleHRBcmVhLnZhbHVlJywgJyJBQkMiJyk7CisKKy8vIEluIHRoZSBjYXNlIG1heGxlbmd0
aD0wCitjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoKDApOwordGV4dEFyZWEudmFs
dWUgPSAnJzsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdBQkMn
KTsKK3Nob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciIicpOworCisvLyBJbiB0aGUgY2FzZSBt
YXhsZW5ndGg9JycKK2NyZWF0ZUZvY3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgoJycpOwordGV4
dEFyZWEudmFsdWUgPSAnJzsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFs
c2UsICdBQkMnKTsKK3Nob3VsZEJlKCd0ZXh0QXJlYS52YWx1ZScsICciQUJDIicpOworCisvLyBJ
biB0aGUgY2FzZSBtYXhsZW5ndGg9J2ludmFsaWQnCitjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRo
TWF4TGVuZ3RoKCdpbnZhbGlkJyk7Cit0ZXh0QXJlYS52YWx1ZSA9ICcnOworZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgJ0FCQycpOworc2hvdWxkQmUoJ3RleHRBcmVh
LnZhbHVlJywgJyJBQkMiJyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1tZXRyaWNzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLW1ldHJpY3MuaHRtbAppbmRleCA0ZTVl
MjQ4MjNlM2YxYTA1ODg2YTQyYmFmNTAwY2RjYjc4ZmQzOGIyLi4zNDY4NzBjNWE1Zjk3N2Q2OTdl
NGE2OGE1MjIxM2EwOWVmYjMxZjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RleHRhcmVhLW1ldHJpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRh
cmVhLW1ldHJpY3MuaHRtbApAQCAtNiw3ICs2LDE2NCBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy90ZXh0YXJlYS1tZXRyaWNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRleHRhcmVhcyBoYXZlIHRoZSByaWdodCBtZXRy
aWNzLiBUaGVzZSBudW1iZXJzIG1hdGNoIElFNyBleGNlcHQgZm9yIHNjcm9sbEhlaWdodC4gRm9y
IHR3byByZWFzb25zOjxicj4iICsKKyIxLiBzY3JvbGxIZWlnaHQgaXMgZGlmZmVyZW50IGZvciBl
bGVtZW50cyB3aXRob3V0IGVub3VnaCBjb250ZW50IHRvIGNhdXNlIHNjcm9sbCBiZWNhdXNlIElF
NyB0aGVuIHJlcG9ydHMgdGhlIGhlaWdodCBvZiB0aGUgdGV4dCBpbnNpZGUgdGhlICIgKworImVs
ZW1lbnQgYXMgdGhlIHNjcm9sbEhlaWdodC4gSUU4IHJlcG9ydHMgaGFzIHNjcm9sbEhlaWdodCA9
PSBvZmZzZXRIZWlnaHQuIEdlY2tvL1dlYktpdCBoYXZlIHNjcm9sbEhlaWdodCA9PSBjbGllbnRI
ZWlnaHQuPGJyPiIgKworIjIuIEZvciB0aGUgZWxlbWVudHMgd2l0aCBzY3JvbGwgaW4gc3RhbmRh
cmRzLW1vZGUsIElFIHdyYXBzIHRoZSB0ZXh0IGRpZmZlcmVudGx5LiBJdCBzZWVtcyB0byBsZWF2
ZSAycHggbGVzcyBzcGFjZSBmb3IgdGhlIHRleHQuIFdlIGRvbid0ICIgKworImN1cnJlbnRseSBt
aW1pYyB0aGlzIHF1aXJrLiBJdCdzIG5vdCBjbGVhciB3aGV0aGVyIHdlIHNob3VsZCBnaXZlbiB0
aGF0IHdlIGFncmVlIHdpdGggSUU3J3MgY2xpZW50V2lkdGggbnVtYmVycyBpbiBhbGwgdGhlc2Ug
Y2FzZXMuIik7CisKK2Z1bmN0aW9uIGFzc2VydFRleHRhcmVhTWV0cmljcyhkb2MsIHByb3BlcnRp
ZXMsIGV4cGVjdGVkTWV0cmljcykgeworICAgIHZhciB0ZXh0YXJlYSA9IGRvYy5jcmVhdGVFbGVt
ZW50KCd0ZXh0YXJlYScpOworICAgIC8vIEdpdmUgc29tZSBjb25zaXN0ZW50IENTUyBmb3IgY29u
c2lzdGVudCByZW5kZXJpbmcgYWNyb3NzIHBsYXRmb3JtcworICAgIC8vIGFuZCB0byBoZWxwIGlu
IHJlYXNvbmluZyB3aGVuIHRyeWluZyB0byBtYXRjaCBJRSBtZXRyaWNzLgorICAgIHZhciBzdHls
ZSA9ICdvdmVyZmxvdy15OmF1dG87IGZvbnQtZmFtaWx5OkFoZW07IGxpbmUtaGVpZ2h0OjIwcHg7
IGhlaWdodDo1MHB4OyB3aWR0aDo1MHB4Oyc7CisgICAgdmFyIHRpdGxlID0gJyc7CisgICAgZm9y
IChwcm9wZXJ0eSBpbiBwcm9wZXJ0aWVzKSB7CisgICAgICAgIHZhciB2YWx1ZSA9IHByb3BlcnRp
ZXNbcHJvcGVydHldOworICAgICAgICB0aXRsZSArPSAnICcgKyBwcm9wZXJ0eSArICc6ICInICsg
dmFsdWUgKyAnIiwnOworICAgICAgICBpZiAocHJvcGVydHkgPT0gJ3N0eWxlJykKKyAgICAgICAg
ICAgIHN0eWxlICs9IHZhbHVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXh0YXJlYVtw
cm9wZXJ0eV0gPSB2YWx1ZTsKKyAgICB9CisgICAgdGV4dGFyZWEuc3R5bGUuY3NzVGV4dCA9IHN0
eWxlOworICAgIGRvYy5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTsKKworICAgIC8vIENyZWF0
ZSBhIG1vcmUgaHVtYW4tcmVhZGFibGUgSUQuCisgICAgdmFyIGlkID0gdGl0bGUucmVwbGFjZSgv
W1wnXCIsO1w6XS9nLCAnICcpLnJlcGxhY2UoLyArL2csICctJyk7CisgICAgaWQgPSBpZCA9PSAn
JyA/ICduby1zdHlsZXMnIDogaWQ7CisgICAgdGV4dGFyZWEuaWQgPSBpZDsKKworICAgIHdpbmRv
d1tkb2MuY29tcGF0TW9kZSArICdkb2MnXSA9IGRvYzsKKworICAgIGZ1bmN0aW9uIGFzc2VydE1l
dHJpY3NGb3JUZXh0YXJlYSgpIHsKKyAgICAgICAgaWYgKCF0aXRsZSkKKyAgICAgICAgICAgIHRp
dGxlID0gJyBub25lJzsKKworICAgICAgICBkZWJ1ZygnUHJvcGVydGllcyA9JyArIHRpdGxlKTsK
KyAgICAgICAgc2hvdWxkQmUoZG9jLmNvbXBhdE1vZGUgKyAiZG9jLmdldEVsZW1lbnRCeUlkKCci
ICsgaWQgKyAiJykuY2xpZW50V2lkdGgiLCBTdHJpbmcoZXhwZWN0ZWRNZXRyaWNzLmNsaWVudFdp
ZHRoKSk7CisgICAgICAgIHNob3VsZEJlKGRvYy5jb21wYXRNb2RlICsgImRvYy5nZXRFbGVtZW50
QnlJZCgnIiArIGlkICsgIicpLmNsaWVudEhlaWdodCIsIFN0cmluZyhleHBlY3RlZE1ldHJpY3Mu
Y2xpZW50SGVpZ2h0KSk7CisgICAgICAgIHNob3VsZEJlKGRvYy5jb21wYXRNb2RlICsgImRvYy5n
ZXRFbGVtZW50QnlJZCgnIiArIGlkICsgIicpLm9mZnNldFdpZHRoIiwgU3RyaW5nKGV4cGVjdGVk
TWV0cmljcy5vZmZzZXRXaWR0aCkpOworICAgICAgICBzaG91bGRCZShkb2MuY29tcGF0TW9kZSAr
ICJkb2MuZ2V0RWxlbWVudEJ5SWQoJyIgKyBpZCArICInKS5vZmZzZXRIZWlnaHQiLCBTdHJpbmco
ZXhwZWN0ZWRNZXRyaWNzLm9mZnNldEhlaWdodCkpOworICAgICAgICBzaG91bGRCZShkb2MuY29t
cGF0TW9kZSArICJkb2MuZ2V0RWxlbWVudEJ5SWQoJyIgKyBpZCArICInKS5zY3JvbGxXaWR0aCIs
IFN0cmluZyhleHBlY3RlZE1ldHJpY3Muc2Nyb2xsV2lkdGgpKTsKKyAgICAgICAgc2hvdWxkQmUo
ZG9jLmNvbXBhdE1vZGUgKyAiZG9jLmdldEVsZW1lbnRCeUlkKCciICsgaWQgKyAiJykuc2Nyb2xs
SGVpZ2h0IiwgU3RyaW5nKGV4cGVjdGVkTWV0cmljcy5zY3JvbGxIZWlnaHQpKTsKKyAgICAgICAg
ZGVidWcoJycpOworICAgIH0KKyAgICBpZiAoZG9jdW1lbnQuYWxsKQorICAgICAgLy8gR2l2ZSBh
IHRpbWVvdXQgc28gSUUgaGFzIHRpbWUgdG8gZmlndXJlIG91dCBpdCdzIG1ldHJpY3MuCisgICAg
ICBzZXRUaW1lb3V0KGFzc2VydE1ldHJpY3NGb3JUZXh0YXJlYSwgMTAwKTsKKyAgICBlbHNlCisg
ICAgICBhc3NlcnRNZXRyaWNzRm9yVGV4dGFyZWEoKTsKK30KKwordmFyIHNtYWxsSFRNTCA9ICdB
JzsKK3ZhciBodG1sVGhhdENhdXNlc1Njcm9sbCA9ICdBQUFBQUFBQUEnOworCitmdW5jdGlvbiB0
ZXN0VGV4dGFyZWFzRm9yRG9jdW1lbnQoZG9jLCBjb21wYXRNb2RlLAorICAgICAgICB0ZXh0YXJl
YVNpemVzLCB0ZXh0YXJlYVdpdGhTY3JvbGxTaXplcywKKyAgICAgICAgdGV4dGFyZWFXaXRoOHB4
UGFkZGluZ1NpemVzLCB0ZXh0YXJlYVdpdGg4cHhQYWRkaW5nQW5kU2Nyb2xsYmFyU2l6ZXMpIHsK
KyAgICBpZiAoZG9jLmNvbXBhdE1vZGUgIT0gY29tcGF0TW9kZSkKKyAgICAgICAgdGVzdEZhaWxl
ZCgnVGhpcyBkb2Mgc2hvdWxkIGJlIGluICcgKyBjb21wYXRNb2RlICsgJyBtb2RlLicpOworCisg
ICAgdHJ5IHsKKyAgICAgICAgdmFyIHNjcm9sbGJhclN0eWxlID0gZG9jLmNyZWF0ZUVsZW1lbnQo
J3N0eWxlJyk7CisgICAgICAgIHNjcm9sbGJhclN0eWxlLmlubmVyVGV4dCA9ICd0ZXh0YXJlYTo6
LXdlYmtpdC1zY3JvbGxiYXJ7IHdpZHRoOjE3cHggfSc7CisgICAgICAgIGRvYy5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcm9sbGJhclN0eWxlKTsKKyAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgIC8vIElFIHRocm93cyBhbiBleGNlcHRpb24gaGVyZSwgYnV0
IGRvZXNuJ3QgbmVlZCB0aGUgYWJvdmUgY2xhdXNlIGFueXdheXMuCisgICAgfQorCisgICAgZGVi
dWcoJ1Rlc3RpbmcgJyArIGNvbXBhdE1vZGUgKyAnIGRvY3VtZW50LicpCisgICAgYXNzZXJ0VGV4
dGFyZWFNZXRyaWNzKGRvYywge30sIHRleHRhcmVhU2l6ZXMpOworICAgIGFzc2VydFRleHRhcmVh
TWV0cmljcyhkb2MsIHtkaXNhYmxlZDogdHJ1ZX0sIHRleHRhcmVhU2l6ZXMpOworICAgIGFzc2Vy
dFRleHRhcmVhTWV0cmljcyhkb2MsIHtpbm5lckhUTUw6IHNtYWxsSFRNTH0sIHRleHRhcmVhU2l6
ZXMpOworICAgIGFzc2VydFRleHRhcmVhTWV0cmljcyhkb2MsIHtpbm5lckhUTUw6IGh0bWxUaGF0
Q2F1c2VzU2Nyb2xsfSwgdGV4dGFyZWFXaXRoU2Nyb2xsU2l6ZXMpOworICAgIGFzc2VydFRleHRh
cmVhTWV0cmljcyhkb2MsIHtpbm5lckhUTUw6IHNtYWxsSFRNTCwgZGlzYWJsZWQ6IHRydWV9LCB0
ZXh0YXJlYVNpemVzKTsKKyAgICBhc3NlcnRUZXh0YXJlYU1ldHJpY3MoZG9jLCB7aW5uZXJIVE1M
OiBodG1sVGhhdENhdXNlc1Njcm9sbCwgZGlzYWJsZWQ6IHRydWV9LCB0ZXh0YXJlYVdpdGhTY3Jv
bGxTaXplcyk7CisgICAgYXNzZXJ0VGV4dGFyZWFNZXRyaWNzKGRvYywge2lubmVySFRNTDogc21h
bGxIVE1MLCBzdHlsZTogJ3BhZGRpbmc6OHB4J30sIHRleHRhcmVhV2l0aDhweFBhZGRpbmdTaXpl
cyk7CisgICAgYXNzZXJ0VGV4dGFyZWFNZXRyaWNzKGRvYywge2lubmVySFRNTDogaHRtbFRoYXRD
YXVzZXNTY3JvbGwsIHN0eWxlOiAncGFkZGluZzo4cHgnfSwgdGV4dGFyZWFXaXRoOHB4UGFkZGlu
Z0FuZFNjcm9sbGJhclNpemVzKTsKKyAgICBhc3NlcnRUZXh0YXJlYU1ldHJpY3MoZG9jLCB7aW5u
ZXJIVE1MOiBzbWFsbEhUTUwsIHJvd3M6IDEwfSwgdGV4dGFyZWFTaXplcyk7CisgICAgYXNzZXJ0
VGV4dGFyZWFNZXRyaWNzKGRvYywge2lubmVySFRNTDogaHRtbFRoYXRDYXVzZXNTY3JvbGwsIHJv
d3M6IDEwfSwgdGV4dGFyZWFXaXRoU2Nyb2xsU2l6ZXMpOworfQorCisvLyBGb3IgdGV4dGFyZWFz
IHdpdGggc2Nyb2xsYmFycyBoYXZlIHRoZSBleHBlY3RlZCBjbGllbnRXaWR0aCBiZSB0aGUKKy8v
IGV4cGVjdGVkIG9mZnNldFdpZHRoIC0gc2Nyb2xsYmFyUGx1c0JvcmRlcldpZHRoLgorLy8gZGVm
YXVsdCBib3JkZXIgb24gdGV4dGFyZWFzIGlzIDFweCBzb2xpZC4gU28sIHRoZSBib3JkZXIgd2lk
dGggaXMgMi4KKy8vIEFuZCB0aGUgc2Nyb2xsYmFyV2lkdGggd2Ugc2V0IHRvIGJlIDE3IHRvIG1h
dGNoIHdpbmRvd3Mgc28gdGhhdAorLy8gdGhlc2UgbnVtYmVycyB3aWxsIGJlIHBsYXRmb3JtIGlu
ZGVwZW5kZW50IGFuZCBtYXRjaCBJRS4KK3ZhciBzY3JvbGxiYXJQbHVzQm9yZGVyV2lkdGggPSAx
OTsKKwordmFyIHRleHRhcmVhU2l6ZXNRdWlya3MgPSB7Y2xpZW50V2lkdGg6IDQ4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiA0OCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG9mZnNldFdpZHRoOiA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9m
ZnNldEhlaWdodDogNTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDog
NDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxIZWlnaHQ6IDQ4fTsKKwordmFy
IHRleHRhcmVhV2l0aFNjcm9sbFNpemVzUXVpcmtzID0ge2NsaWVudFdpZHRoOiA1MCAtIHNjcm9s
bGJhclBsdXNCb3JkZXJXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjbGllbnRIZWlnaHQ6IDQ4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9mZnNldFdpZHRoOiA1MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
ZmZzZXRIZWlnaHQ6IDUwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj
cm9sbFdpZHRoOiA1MCAtIHNjcm9sbGJhclBsdXNCb3JkZXJXaWR0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxIZWlnaHQ6IDEwNH07CisKK3ZhciB0ZXh0YXJl
YVdpdGg4cHhQYWRkaW5nU2l6ZXNRdWlya3MgPSB7Y2xpZW50V2lkdGg6IDQ4LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQ6IDQ4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRXaWR0aDogNTAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldEhlaWdodDogNTAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoOiA0OCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiA0
OH07CisKK3ZhciB0ZXh0YXJlYVdpdGg4cHhQYWRkaW5nQW5kU2Nyb2xsYmFyU2l6ZXNRdWlya3Mg
PSB7Y2xpZW50V2lkdGg6IDUwIC0gc2Nyb2xsYmFyUGx1c0JvcmRlcldpZHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQ6
IDQ4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvZmZzZXRXaWR0aDogNTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9mZnNldEhlaWdodDogNTAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoOiA1MCAtIHNjcm9sbGJh
clBsdXNCb3JkZXJXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiAxOTZ9OworCit0ZXN0VGV4dGFyZWFzRm9yRG9j
dW1lbnQoZG9jdW1lbnQsICdCYWNrQ29tcGF0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXh0YXJlYVNpemVzUXVpcmtzLCB0ZXh0YXJlYVdpdGhTY3JvbGxTaXplc1F1aXJrcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYVdpdGg4cHhQYWRkaW5nU2l6ZXNRdWlya3MsIHRl
eHRhcmVhV2l0aDhweFBhZGRpbmdBbmRTY3JvbGxiYXJTaXplc1F1aXJrcyk7CisKK3ZhciBzdGFu
ZGFyZHNJZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKK3N0YW5kYXJk
c0lmcmFtZS5zdHlsZS53aWR0aCA9ICcxMDAlJzsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
c3RhbmRhcmRzSWZyYW1lKTsKK3N0YW5kYXJkc0lmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50
LndyaXRlKCc8IURvY1R5cGUgaHRtbD48aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PC9ib2R5Pjwv
aHRtbD4nKTsKK3N0YW5kYXJkc0lmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50LmNsb3NlKCk7
CisKK3ZhciB0ZXh0YXJlYVNpemVzU3RhbmRhcmRzID0ge2NsaWVudFdpZHRoOiA1NCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEhlaWdodDogNTQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBvZmZzZXRXaWR0aDogNTYsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvZmZzZXRIZWlnaHQ6IDU2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2Nyb2xsV2lkdGg6IDU0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVp
Z2h0OiA1NH07CisKK3ZhciB0ZXh0YXJlYVdpdGhTY3JvbGxTaXplc1N0YW5kYXJkcyA9IHtjbGll
bnRXaWR0aDogNTYgLSBzY3JvbGxiYXJQbHVzQm9yZGVyV2lkdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiA1NCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRXaWR0aDogNTYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0SGVpZ2h0OiA1NiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogNTYgLSBzY3JvbGxiYXJQ
bHVzQm9yZGVyV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2Nyb2xsSGVpZ2h0OiA2NH07CisKK3ZhciB0ZXh0YXJlYVdpdGg4cHhQYWRkaW5nU2l6ZXNTdGFu
ZGFyZHMgPSB7Y2xpZW50V2lkdGg6IDY2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjbGllbnRIZWlnaHQ6IDY2LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvZmZzZXRXaWR0aDogNjgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldEhlaWdodDogNjgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoOiA2NiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiA2Nn07CisK
K3ZhciB0ZXh0YXJlYVdpdGg4cHhQYWRkaW5nQW5kU2Nyb2xsYmFyU2l6ZXNTdGFuZGFyZHMgPSB7
Y2xpZW50V2lkdGg6IDY4IC0gc2Nyb2xsYmFyUGx1c0JvcmRlcldpZHRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQ6
IDY2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvZmZzZXRXaWR0aDogNjgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9mZnNldEhlaWdodDogNjgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoOiA2OCAt
IHNjcm9sbGJhclBsdXNCb3JkZXJXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiA3Nn07CisKK3Rlc3RUZXh0
YXJlYXNGb3JEb2N1bWVudChzdGFuZGFyZHNJZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudCwg
J0NTUzFDb21wYXQnLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRhcmVhU2l6ZXNTdGFu
ZGFyZHMsIHRleHRhcmVhV2l0aFNjcm9sbFNpemVzU3RhbmRhcmRzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIHRleHRhcmVhV2l0aDhweFBhZGRpbmdTaXplc1N0YW5kYXJkcywgdGV4dGFyZWFX
aXRoOHB4UGFkZGluZ0FuZFNjcm9sbGJhclNpemVzU3RhbmRhcmRzKTsKKzwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RleHRhcmVhLXBsYWNlaG9sZGVyLWRvbS1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1kb20tcHJvcGVydHkuaHRtbAppbmRleCAwNzRh
ZTdjYWRlNDMzOTY1ODkxMmNhMjBjMzIzNTQ4YmZlNzg2NmVkLi42ZjRkYzlkZTc5ZGEzOThkZmI1
ZGQ0NWU3MzQyMWI2NTJhYTUxYTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RleHRhcmVhLXBsYWNlaG9sZGVyLWRvbS1wcm9wZXJ0eS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItZG9tLXByb3BlcnR5Lmh0bWwKQEAgLTYs
NyArNiwyMSBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy90ZXh0YXJlYS1wbGFjZWhv
bGRlci1kb20tcHJvcGVydHkuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdU
ZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEyNDgiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI0ODwvYT4n
KTsKKwordmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsK
Kworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXh0YXJlYS5wbGFjZWhvbGRlcicsICcnKTsKKwor
dGV4dGFyZWEuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsICdwMScpCitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3RleHRhcmVhLnBsYWNlaG9sZGVyJywgJ3AxJyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3RleHRhcmVhLnZhbHVlJywgJycpOworCit0ZXh0YXJlYS5wbGFjZWhvbGRlciA9ICdw
Mic7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3RleHRhcmVhLmdldEF0dHJpYnV0ZSgicGxhY2Vo
b2xkZXIiKScsICdwMicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXh0YXJlYS5wbGFjZWhv
bGRlcicsICdwMicpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtcm93cy1jb2xzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLXJvd3MtY29scy5odG1sCmluZGV4IGMwODEz
MDUyMGYyMGZjZWJlOTM0MTQwM2MwMmY3NWYyNWY1MjEzMzQuLjdkZjE0MDIzM2M5OWM2MTMyMDcz
MmZlMjk2NjQxNzU5ZmMzNTU2M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGV4dGFyZWEtcm93cy1jb2xzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0
YXJlYS1yb3dzLWNvbHMuaHRtbApAQCAtNiw3ICs2LDEyNCBAQAogPGJvZHk+CiA8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy90ZXh0YXJlYS1yb3dzLWNvbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0IGZvciBlZGdlIGNhc2VzIG9mICZsdDt0ZXh0YXJlYSZndDsgcm93cyBh
bmQgY29scyBhdHRyaWJ1dGVzLicpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CitwYXJlbnQu
aW5uZXJIVE1MID0gJzx0ZXh0YXJlYT5kZWZhdWx0PC90ZXh0YXJlYT4nOworCitkZWJ1ZygnRGVm
YXVsdCB2YWx1ZXMnKTsKK3ZhciB0ZXh0YXJlYSA9IHBhcmVudC5maXJzdENoaWxkOwordmFyIGRl
ZmF1bHRSb3dzID0gdGV4dGFyZWEucm93czsKK3ZhciBkZWZhdWx0Q29scyA9IHRleHRhcmVhLmNv
bHM7Cit2YXIgZGVmYXVsdEhlaWdodCA9IHRleHRhcmVhLm9mZnNldEhlaWdodDsKK3ZhciBkZWZh
dWx0V2lkdGggPSB0ZXh0YXJlYS5vZmZzZXRXaWR0aDsKK3Nob3VsZEJlKCdkZWZhdWx0Um93cycs
ICcyJyk7CitzaG91bGRCZSgnZGVmYXVsdENvbHMnLCAnMjAnKTsKK3Nob3VsZEJlVHJ1ZSgnZGVm
YXVsdEhlaWdodCA+IDAnKTsKK3Nob3VsZEJlVHJ1ZSgnZGVmYXVsdFdpZHRoID4gMCcpOworCitk
ZWJ1Zygncm93cyA9IDEnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIHJvd3M9IjEi
PnJvd3MgPSAxPC90ZXh0YXJlYT4nOwordGV4dGFyZWEgPSBwYXJlbnQuZmlyc3RDaGlsZDsKK3No
b3VsZEJlKCd0ZXh0YXJlYS5yb3dzJywgJzEnKTsKK3Nob3VsZEJlVHJ1ZSgndGV4dGFyZWEub2Zm
c2V0SGVpZ2h0ID4gMCcpOworc2hvdWxkQmVUcnVlKCd0ZXh0YXJlYS5vZmZzZXRIZWlnaHQgPCBk
ZWZhdWx0SGVpZ2h0Jyk7CitzaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0V2lkdGgnLCAnZGVmYXVs
dFdpZHRoJyk7CisKK2RlYnVnKCdyb3dzID0gMjsgc2hvdWxkIG1hdGNoIGRlZmF1bHQgaGVpZ2h0
Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzx0ZXh0YXJlYSByb3dzPSIyIj5yb3dzID0gMjsgc2hv
dWxkIG1hdGNoIGRlZmF1bHQgaGVpZ2h0PC90ZXh0YXJlYT4nOwordGV4dGFyZWEgPSBwYXJlbnQu
Zmlyc3RDaGlsZDsKK3Nob3VsZEJlKCd0ZXh0YXJlYS5yb3dzJywgJ2RlZmF1bHRSb3dzJyk7Citz
aG91bGRCZSgndGV4dGFyZWEub2Zmc2V0SGVpZ2h0JywgJ2RlZmF1bHRIZWlnaHQnKTsKK3Nob3Vs
ZEJlKCd0ZXh0YXJlYS5vZmZzZXRXaWR0aCcsICdkZWZhdWx0V2lkdGgnKTsKKworZGVidWcoJ3Jv
d3MgPSAzJyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzx0ZXh0YXJlYSByb3dzPSIzIj5yb3dzID0g
MzwvdGV4dGFyZWE+JzsKK3RleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7CitzaG91bGRCZSgn
dGV4dGFyZWEucm93cycsICczJyk7CitzaG91bGRCZVRydWUoJ3RleHRhcmVhLm9mZnNldEhlaWdo
dCA+IGRlZmF1bHRIZWlnaHQnKTsKK3Nob3VsZEJlKCd0ZXh0YXJlYS5vZmZzZXRXaWR0aCcsICdk
ZWZhdWx0V2lkdGgnKTsKKworZGVidWcoJ3Jvd3M7IHNob3VsZCBiZSBkZWZhdWx0IGhlaWdodCcp
OworcGFyZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgcm93cz5yb3dzOyBzaG91bGQgYmUgZGVm
YXVsdCBoZWlnaHQ8L3RleHRhcmVhPic7Cit0ZXh0YXJlYSA9IHBhcmVudC5maXJzdENoaWxkOwor
c2hvdWxkQmUoJ3RleHRhcmVhLnJvd3MnLCAnZGVmYXVsdFJvd3MnKTsKK3Nob3VsZEJlKCd0ZXh0
YXJlYS5vZmZzZXRIZWlnaHQnLCAnZGVmYXVsdEhlaWdodCcpOworc2hvdWxkQmUoJ3RleHRhcmVh
Lm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0aCcpOworCitkZWJ1Zygncm93cyA9IDA7IHNob3Vs
ZCBiZSBkZWZhdWx0IGhlaWdodCcpOworcGFyZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgcm93
cz0iMCI+cm93cyA9IDA7IHNob3VsZCBiZSBkZWZhdWx0IGhlaWdodDwvdGV4dGFyZWE+JzsKK3Rl
eHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7CitzaG91bGRCZSgndGV4dGFyZWEucm93cycsICdk
ZWZhdWx0Um93cycpOworc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdkZWZhdWx0
SGVpZ2h0Jyk7CitzaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0V2lkdGgnLCAnZGVmYXVsdFdpZHRo
Jyk7CisKK2RlYnVnKCdyb3dzID0gLTE7IHNob3VsZCBiZSBkZWZhdWx0IGhlaWdodCcpOworcGFy
ZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgcm93cz0iLTEiPnJvd3MgPSAtMTsgc2hvdWxkIGJl
IGRlZmF1bHQgaGVpZ2h0PC90ZXh0YXJlYT4nOwordGV4dGFyZWEgPSBwYXJlbnQuZmlyc3RDaGls
ZDsKK3Nob3VsZEJlKCd0ZXh0YXJlYS5yb3dzJywgJ2RlZmF1bHRSb3dzJyk7CitzaG91bGRCZSgn
dGV4dGFyZWEub2Zmc2V0SGVpZ2h0JywgJ2RlZmF1bHRIZWlnaHQnKTsKK3Nob3VsZEJlKCd0ZXh0
YXJlYS5vZmZzZXRXaWR0aCcsICdkZWZhdWx0V2lkdGgnKTsKKworZGVidWcoJ3Jvd3MgPSB4OyBz
aG91bGQgYmUgZGVmYXVsdCBoZWlnaHQnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVh
IHJvd3M9IngiPnJvd3MgPSB4OyBzaG91bGQgYmUgZGVmYXVsdCBoZWlnaHQ8L3RleHRhcmVhPic7
Cit0ZXh0YXJlYSA9IHBhcmVudC5maXJzdENoaWxkOworc2hvdWxkQmUoJ3RleHRhcmVhLnJvd3Mn
LCAnZGVmYXVsdFJvd3MnKTsKK3Nob3VsZEJlKCd0ZXh0YXJlYS5vZmZzZXRIZWlnaHQnLCAnZGVm
YXVsdEhlaWdodCcpOworc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRX
aWR0aCcpOworCitkZWJ1ZygnY29scyA9IDEnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPHRleHRh
cmVhIGNvbHM9IjEiPmNvbHMgPSAxPC90ZXh0YXJlYT4nOwordGV4dGFyZWEgPSBwYXJlbnQuZmly
c3RDaGlsZDsKK3Nob3VsZEJlKCd0ZXh0YXJlYS5jb2xzJywgJzEnKTsKK3Nob3VsZEJlVHJ1ZSgn
dGV4dGFyZWEub2Zmc2V0V2lkdGggPiAwJyk7CitzaG91bGRCZVRydWUoJ3RleHRhcmVhLm9mZnNl
dFdpZHRoIDwgZGVmYXVsdFdpZHRoJyk7CitzaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0SGVpZ2h0
JywgJ2RlZmF1bHRIZWlnaHQnKTsKKworZGVidWcoJ2NvbHMgPSAyMDsgc2hvdWxkIG1hdGNoIGRl
ZmF1bHQgd2lkdGgnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPHRleHRhcmVhIGNvbHM9IjIwIj5j
b2xzID0gMjA7IHNob3VsZCBtYXRjaCBkZWZhdWx0IHdpZHRoPC90ZXh0YXJlYT4nOwordGV4dGFy
ZWEgPSBwYXJlbnQuZmlyc3RDaGlsZDsKK3Nob3VsZEJlKCd0ZXh0YXJlYS5jb2xzJywgJ2RlZmF1
bHRDb2xzJyk7CitzaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0V2lkdGgnLCAnZGVmYXVsdFdpZHRo
Jyk7CitzaG91bGRCZSgndGV4dGFyZWEub2Zmc2V0SGVpZ2h0JywgJ2RlZmF1bHRIZWlnaHQnKTsK
KworZGVidWcoJ2NvbHMgPSA0MCcpOworcGFyZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgY29s
cz0iNDAiPmNvbHMgPSA0MDwvdGV4dGFyZWE+JzsKK3RleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hp
bGQ7CitzaG91bGRCZSgndGV4dGFyZWEuY29scycsICc0MCcpOworc2hvdWxkQmVUcnVlKCd0ZXh0
YXJlYS5vZmZzZXRXaWR0aCA+IGRlZmF1bHRXaWR0aCcpOworc2hvdWxkQmUoJ3RleHRhcmVhLm9m
ZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7CisKK2RlYnVnKCdjb2xzOyBzaG91bGQgYmUg
ZGVmYXVsdCB3aWR0aCcpOworcGFyZW50LmlubmVySFRNTCA9ICc8dGV4dGFyZWEgY29scz5jb2xz
OyBzaG91bGQgYmUgZGVmYXVsdCB3aWR0aDwvdGV4dGFyZWE+JzsKK3RleHRhcmVhID0gcGFyZW50
LmZpcnN0Q2hpbGQ7CitzaG91bGRCZSgndGV4dGFyZWEuY29scycsICdkZWZhdWx0Q29scycpOwor
c2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0aCcpOworc2hvdWxk
QmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7CisKK2RlYnVnKCdj
b2xzID0gMDsgc2hvdWxkIGJlIGRlZmF1bHQgd2lkdGgnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAn
PHRleHRhcmVhIGNvbHM9IjAiPmNvbHMgPSAwOyBzaG91bGQgYmUgZGVmYXVsdCB3aWR0aDwvdGV4
dGFyZWE+JzsKK3RleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7CitzaG91bGRCZSgndGV4dGFy
ZWEuY29scycsICdkZWZhdWx0Q29scycpOworc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRo
JywgJ2RlZmF1bHRXaWR0aCcpOworc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdk
ZWZhdWx0SGVpZ2h0Jyk7CisKK2RlYnVnKCdjb2xzID0gLTE7IHNob3VsZCBiZSBkZWZhdWx0IHdp
ZHRoJyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzx0ZXh0YXJlYSBjb2xzPSItMSI+Y29scyA9IC0x
OyBzaG91bGQgYmUgZGVmYXVsdCB3aWR0aDwvdGV4dGFyZWE+JzsKK3RleHRhcmVhID0gcGFyZW50
LmZpcnN0Q2hpbGQ7CitzaG91bGRCZSgndGV4dGFyZWEuY29scycsICdkZWZhdWx0Q29scycpOwor
c2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRoJywgJ2RlZmF1bHRXaWR0aCcpOworc2hvdWxk
QmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdkZWZhdWx0SGVpZ2h0Jyk7CisKK2RlYnVnKCdj
b2xzID0geDsgc2hvdWxkIGJlIGRlZmF1bHQgd2lkdGgnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAn
PHRleHRhcmVhIGNvbHM9IngiPmNvbHMgPSB4OyBzaG91bGQgYmUgZGVmYXVsdCB3aWR0aDwvdGV4
dGFyZWE+JzsKK3RleHRhcmVhID0gcGFyZW50LmZpcnN0Q2hpbGQ7CitzaG91bGRCZSgndGV4dGFy
ZWEuY29scycsICdkZWZhdWx0Q29scycpOworc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldFdpZHRo
JywgJ2RlZmF1bHRXaWR0aCcpOworc2hvdWxkQmUoJ3RleHRhcmVhLm9mZnNldEhlaWdodCcsICdk
ZWZhdWx0SGVpZ2h0Jyk7Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS10ZXh0bGVuZ3RoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLXRleHRsZW5ndGguaHRtbAppbmRleCA4
ODE3YzRmNGQyZDQxODAxMTcyZjM0ZmE4MDEyNzMzZjU3Mzc0ZmE0Li41YThhNjkzMDNmNDFiOGMz
MTZlOTQ2MGU2NDdhNjZlNzJmN2I2ZjM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RleHRhcmVhLXRleHRsZW5ndGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RleHRhcmVhLXRleHRsZW5ndGguaHRtbApAQCAtNiw3ICs2LDM2IEBACiA8Ym9keT4KIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL3RleHRhcmVhLXRleHRsZW5ndGguanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCdUZXN0IGZvciBIVE1MVGV4dEFyZWFFbGVtZW50LnRleHRMZW5ndGgn
KTsKKwordmFyIHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dEFyZWEpOworc2hvdWxkQmUoJ3RleHRBcmVh
LnRleHRMZW5ndGgnLCAnMCcpOworCit0ZXh0QXJlYS52YWx1ZSA9ICdhYmNkJzsKK3Nob3VsZEJl
KCd0ZXh0QXJlYS50ZXh0TGVuZ3RoJywgJzQnKTsKKwordGV4dEFyZWEuZm9jdXMoKTsKK2V2ZW50
U2VuZGVyLmtleURvd24oJ2UnLCBbXSk7CitzaG91bGRCZSgndGV4dEFyZWEudGV4dExlbmd0aCcs
ICc1Jyk7CisKKy8vIFRlc3QgZm9yIGEgY2hhcmFjdGVyIGxhcmdlciB0aGFuIFUrRkZGRi4KK3Rl
eHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsKK3RleHRBcmVhLmlu
bmVySFRNTCA9ICcmI3gxZDUzODsnOworLy8gRmlyZWZveCAzLjUgYW5kIE9wZXJhIDEwIHJldHVy
biAyIGZvciAxIHN1cnJvZ2F0ZSBwYWlyLgorc2hvdWxkQmUoJ3RleHRBcmVhLnRleHRMZW5ndGgn
LCAnMicpOworCisvLyBUZXN0IGZvciBjb21iaW5lZCBjaGFyYWN0ZXJzLgordGV4dEFyZWEgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOworLy8gVSszMDU1IEhpcmFnYW5hIExl
dHRlciBTYQorLy8gVSszMDk5IENvbWJpbmluZyBLYXRha2FuYS1ISXJhZ2FuYSBWb2ljZWQgU291
bmQgTWFyawordGV4dEFyZWEuaW5uZXJIVE1MID0gJyYjeDMwNTU7JiN4MzA5OTsnOworLy8gRmly
ZWZveCAzLjUgc2VlbXMgdG8gYXBwbHkgTkZDIGZvciB0aGUgdmFsdWUsIGFuZCAudGV4dExlbmd0
aCBhbmQgLnZhbHVlLmxlbmd0aCBpcyAxLgorLy8gT3BlcmEgMTAgcmV0dXJucyAyLCBhbmQgSUUn
cyAudmFsdWUubGVuZ3RoIGlzIDIuCitzaG91bGRCZSgndGV4dEFyZWEudGV4dExlbmd0aCcsICcy
Jyk7CisKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3ZhbGlkYXRpb25NZXNzYWdlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3ZhbGlkYXRpb25NZXNzYWdlLmh0bWwKaW5kZXggNjRlOTMyMmIzY2JmZDdh
OTU5OWRkZDFiN2JiNzkyNjBmZmY0MTc1Yy4uZjZlYjBiYjg0OWJjOTg1ZmI5MTBjYTg5ZDBiY2U4
MmQ1ODVmNmE2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy92YWxpZGF0aW9u
TWVzc2FnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdmFsaWRhdGlvbk1lc3Nh
Z2UuaHRtbApAQCAtNiw3ICs2LDg5IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Zh
bGlkYXRpb25NZXNzYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVz
dCBmb3IgdmFsaWRhdGlvbk1lc3NhZ2UgRE9NIHByb3BlcnR5LiIpOworCit2YXIgZm9ybSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKKworLy8gQW4gaW5wdXQgZWxlbWVudCB3aXRo
IGEgcGF0dGVybiBzZXQgYW5kIGEgbWlzbWF0Y2hlZCB2YWx1ZQordmFyIHBhdHRlcm5JbnB1dCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CitwYXR0ZXJuSW5wdXQubmFtZSA9ICJw
YXR0ZXJuSW5wdXQiOworcGF0dGVybklucHV0LnBhdHRlcm4gPSAibG9yZW0gaXBzdW0iOworcGF0
dGVybklucHV0LnZhbHVlID0gImxvcmVtIjsKK2Zvcm0uYXBwZW5kQ2hpbGQocGF0dGVybklucHV0
KTsKK3Nob3VsZEJlKCJwYXR0ZXJuSW5wdXQudmFsaWRhdGlvbk1lc3NhZ2UiLCAiJ3BhdHRlcm4g
bWlzbWF0Y2gnIik7CisKKy8vIEEgcmVxdWlyZWQgaW5wdXQgd2l0aCBhbiBlbXB0eSB2YWx1ZQor
dmFyIHJlcXVpcmVkSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOworcmVx
dWlyZWRJbnB1dC5uYW1lID0gInJlcXVpcmVkSW5wdXQiOworcmVxdWlyZWRJbnB1dC5yZXF1aXJl
ZCA9IHRydWU7Citmb3JtLmFwcGVuZENoaWxkKHJlcXVpcmVkSW5wdXQpOworc2hvdWxkQmUoInJl
cXVpcmVkSW5wdXQudmFsaWRhdGlvbk1lc3NhZ2UiLCAiJ3ZhbHVlIG1pc3NpbmcnIik7CisKKy8v
IEEgcmVxdWlyZWQgdGV4dGFyZWEgd2l0aCBhbiBlbXB0eSB2YWx1ZQordmFyIHJlcXVpcmVkVGV4
dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOworcmVxdWlyZWRUZXh0
QXJlYS5uYW1lID0gInJlcXVpcmVkVGV4dEFyZWEiOworcmVxdWlyZWRUZXh0QXJlYS5yZXF1aXJl
ZCA9IHRydWU7Citmb3JtLmFwcGVuZENoaWxkKHJlcXVpcmVkVGV4dEFyZWEpOworc2hvdWxkQmUo
InJlcXVpcmVkVGV4dEFyZWEudmFsaWRhdGlvbk1lc3NhZ2UiLCAiJ3ZhbHVlIG1pc3NpbmcnIik7
CisKKy8vIEEgcmVxdWlyZWQgc2VsZWN0IHdpdGggYW4gZW1wdHkgdmFsdWUKK3ZhciByZXF1aXJl
ZFNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpOworcmVxdWlyZWRTZWxl
Y3QubmFtZSA9ICJyZXF1aXJlZFNlbGVjdCI7CityZXF1aXJlZFNlbGVjdC5yZXF1aXJlZCA9IHRy
dWU7Citmb3JtLmFwcGVuZENoaWxkKHJlcXVpcmVkU2VsZWN0KTsKK3Nob3VsZEJlKCJyZXF1aXJl
ZFNlbGVjdC52YWxpZGF0aW9uTWVzc2FnZSIsICIndmFsdWUgbWlzc2luZyciKTsKKworLy8gQSB0
eXBlPWVtYWlsIGlucHV0IGZvciB0aGUgInR5cGUgbWlzbWF0Y2giIGZsYWcKK3ZhciBlbWFpbElu
cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKK2VtYWlsSW5wdXQubmFtZSA9
ICJlbWFpbElucHV0IjsKK2VtYWlsSW5wdXQudHlwZSA9ICJlbWFpbCI7CitlbWFpbElucHV0LnZh
bHVlID0gImluY29ycmVjdFZhbHVlIjsKK2Zvcm0uYXBwZW5kQ2hpbGQoZW1haWxJbnB1dCk7Citz
aG91bGRCZSgiZW1haWxJbnB1dC52YWxpZGF0aW9uTWVzc2FnZSIsICIndHlwZSBtaXNtYXRjaCci
KTsKKworLy8gQSBidXR0b24gY2FuJ3QgYmUgdmFsaXRlZCBhbmQsIHRodXMsIGhhcyBhIGJsYW5r
IHZhbGlkYXRpb25NZXNzYWdlCit2YXIgYnV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0
dG9uIik7CitidXQubmFtZSA9ICJidXR0b24iOworZm9ybS5hcHBlbmRDaGlsZChidXQpOworc2hv
dWxkQmUoImJ1dC52YWxpZGF0aW9uTWVzc2FnZSIsICInJyIpOworCisvLyBBbiBpbnB1dCBjb250
cm9sIHdpdGggbm8gbmFtZSwgc28gaXQgY2FuJ3QgYmUgdmFsaWRhdGVkICh3aWxsVmFsaWRhdGUg
PSBmYWxzZSkKK3ZhciBhbm9uaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIp
OworZm9ybS5hcHBlbmRDaGlsZChhbm9uaW5wdXQpOworc2hvdWxkQmUoImFub25pbnB1dC52YWxp
ZGF0aW9uTWVzc2FnZSIsICInJyIpCisKKy8vIEZpZWxkc2V0cyBjYW4ndCBiZSB2YWxpZGF0ZWQK
K3ZhciBoYXBweUZpZWxkc2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKTsK
K2hhcHB5RmllbGRzZXQubmFtZSA9ICJmaWVsZHNldCI7Citmb3JtLmFwcGVuZENoaWxkKGhhcHB5
RmllbGRzZXQpOworc2hvdWxkQmUoImhhcHB5RmllbGRzZXQudmFsaWRhdGlvbk1lc3NhZ2UiLCAi
JyciKTsKKworLy8gU2VsZWN0IGNvbnRyb2xzIGNhbid0IGJlIHZhbGlkYXRlZCB0b28KK3ZhciBo
YXBweVNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpOworaGFwcHlTZWxl
Y3QubmFtZSA9ICJzZWxlY3QiOworZm9ybS5hcHBlbmRDaGlsZChoYXBweVNlbGVjdCk7CitzaG91
bGRCZSgiaGFwcHlTZWxlY3QudmFsaWRhdGlvbk1lc3NhZ2UiLCAiJyciKTsKKworLy8gT3V0cHV0
IGVsZW1lbnRzIGNhbid0IGJlIHZhbGlkYXRlZAordmFyIGhhcHB5T3V0cHV0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgib3V0cHV0Iik7CitoYXBweVNlbGVjdC5uYW1lID0gIm91dHB1dCI7Citm
b3JtLmFwcGVuZENoaWxkKGhhcHB5T3V0cHV0KTsKK3Nob3VsZEJlKCJoYXBweU91dHB1dC52YWxp
ZGF0aW9uTWVzc2FnZSIsICInJyIpOworCisvLyBPYmplY3QgZWxlbWVudHMgY2FuJ3QgYmUgdmFs
aWRhdGVkCit2YXIgaGFwcHlPYmplY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvYmplY3Qi
KTsKK2hhcHB5U2VsZWN0Lm5hbWUgPSAib2JqZWN0IjsKK2Zvcm0uYXBwZW5kQ2hpbGQoaGFwcHlP
YmplY3QpOworc2hvdWxkQmUoImhhcHB5T2JqZWN0LnZhbGlkYXRpb25NZXNzYWdlIiwgIicnIik7
CisKKy8vIEtleWdlbiBjb250cm9scyBjYW4ndCBiZSB2YWxpZGF0ZWQKK3ZhciBoYXBweUtleWdl
biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImtleWdlbiIpOworaGFwcHlTZWxlY3QubmFtZSA9
ICJrZXlnZW4iOworZm9ybS5hcHBlbmRDaGlsZChoYXBweUtleWdlbik7CitzaG91bGRCZSgiaGFw
cHlLZXlnZW4udmFsaWRhdGlvbk1lc3NhZ2UiLCAiJyciKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8
L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3dpbGx2
YWxpZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93aWxsdmFsaWRhdGUuaHRtbApp
bmRleCBlZWY3MWJlNzRmOGUwNTY3NTI5YWUwODAyMWNmY2U3MDI2MGQwZWUwLi41ZmNmMTdhYjgx
YzllMWVmYTk5YzM0Y2U1YjljNGFjNDU5NzgwODRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dpbGx2YWxpZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
d2lsbHZhbGlkYXRlLmh0bWwKQEAgLTYsNyArNiw5MiBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy93aWxsdmFsaWRhdGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCdWYXJpb3VzIHRlc3RzIGZvciAud2lsbFZhbGlkYXRlIHByb3BlcnR5Jyk7CisKK3ZhciBwYXJl
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocGFyZW50KTsKKworZGVidWcoJ0V4aXN0ZW5jZSBvZiAud2lsbFZhbGlkYXRlJyk7Citw
YXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPicKKyAgICArICc8aW5wdXQgbmFtZT0idmljdGltIi8+
JworICAgICsgJzx0ZXh0YXJlYSBuYW1lPSJ2aWN0aW0iPjwvdGV4dGFyZWE+JworICAgICsgJzxm
aWVsZHNldCBuYW1lPSJ2aWN0aW0iPlRlc3Q8L2ZpZWxkc2V0PicKKyAgICArICc8YnV0dG9uIG5h
bWU9InZpY3RpbSI+JworICAgICsgJzxzZWxlY3QgbmFtZT0idmljdGltIj48L3NlbGVjdD4nCisg
ICAgKyAnPG91dHB1dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PicKKyAgICArICc8b2JqZWN0IG5h
bWU9InZpY3RpbSI+PC9vYmplY3Q+JworICAgICsgJzxrZXlnZW4gbmFtZT0idmljdGltIj4nCisg
ICAgKyAnPC9mb3JtPic7Cit2YXIgY29udHJvbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFt
ZSgndmljdGltJyk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cm9scy5sZW5ndGg7IGkr
KykKKyAgICAgICAgc2hvdWxkQmUoJ3R5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUnLCAn
ImJvb2xlYW4iJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdGb3JtIGFzc29jaWF0aW9uJyk7Citw
YXJlbnQuaW5uZXJIVE1MID0gJzxpbnB1dCBuYW1lPSJ0ZXN0Ij4nOwordmFyIGlucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07CitzaG91bGRCZVRydWUoJ2lu
cHV0LndpbGxWYWxpZGF0ZScpOworcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48aW5wdXQgbmFt
ZT0idGVzdCI+PC9mb3JtPic7CitpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJpbnB1dCIpWzBdOworc2hvdWxkQmVUcnVlKCdpbnB1dC53aWxsVmFsaWRhdGUnKTsKKworZGVi
dWcoJycpOworZGVidWcoJ0NvbnRyb2wgbmFtZScpOworcGFyZW50LmlubmVySFRNTCA9ICc8Zm9y
bT48aW5wdXQ+PC9mb3JtPic7CitpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJpbnB1dCIpWzBdOworc2hvdWxkQmVUcnVlKCdpbnB1dC53aWxsVmFsaWRhdGUnKTsKK3BhcmVu
dC5pbm5lckhUTUwgPSAnPGZvcm0+PGlucHV0IG5hbWU9InRlc3QiPjwvZm9ybT4nOworaW5wdXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXTsKK3Nob3VsZEJlVHJ1
ZSgnaW5wdXQud2lsbFZhbGlkYXRlJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdEaXNhYmxlZCBj
b250cm9sJyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxpbnB1dCBuYW1lPSJ0ZXN0IiBk
aXNhYmxlZD48L2Zvcm0+JzsKK2lucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImlucHV0IilbMF07CitzaG91bGRCZUZhbHNlKCdpbnB1dC53aWxsVmFsaWRhdGUnKTsKKworZGVi
dWcoJycpOworZGVidWcoJ1JlYWQtb25seSBjb250cm9sJyk7CitwYXJlbnQuaW5uZXJIVE1MID0g
Jzxmb3JtPjxpbnB1dCBuYW1lPSJ0ZXN0IiByZWFkb25seT48L2Zvcm0+JzsKK2lucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07CitzaG91bGRCZUZhbHNlKCdp
bnB1dC53aWxsVmFsaWRhdGUnKTsKKworZGVidWcoJycpOworZGVidWcoJ0lucHV0IHR5cGVzJyk7
CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxpbnB1dCBuYW1lPSJ0ZXN0Ij48L2Zvcm0+JzsK
K2lucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF07CitzaG91
bGRCZVRydWUoJ2lucHV0LndpbGxWYWxpZGF0ZScpOworc2hvdWxkQmVGYWxzZSgnaW5wdXQudHlw
ZSA9ICJidXR0b24iOyBpbnB1dC53aWxsVmFsaWRhdGUnKTsKK3Nob3VsZEJlVHJ1ZSgnaW5wdXQu
dHlwZSA9ICJzdWJtaXQiOyBpbnB1dC53aWxsVmFsaWRhdGUnKTsKK3Nob3VsZEJlRmFsc2UoJ2lu
cHV0LnR5cGUgPSAiaGlkZGVuIjsgaW5wdXQud2lsbFZhbGlkYXRlJyk7CitzaG91bGRCZUZhbHNl
KCdpbnB1dC50eXBlID0gInJlc2V0IjsgaW5wdXQud2lsbFZhbGlkYXRlJyk7CisKK2RlYnVnKCcn
KTsKK2RlYnVnKCdGaWVsZHNldCBlbGVtZW50Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3Jt
PjxmaWVsZHNldD48cD5GaWVsZHNldCB0ZXN0PC9wPjwvZmllbGR0c2V0PjwvZm9ybT4nOworc2hv
dWxkQmVGYWxzZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZpZWxkc2V0IilbMF0u
d2lsbFZhbGlkYXRlJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdUZXh0YXJlYSBlbGVtZW50Jyk7
CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjx0ZXh0YXJlYSBuYW1lPSJ0ZXh0Ij48L3RleHRh
cmVhPjwvZm9ybT4nOworc2hvdWxkQmVUcnVlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgidGV4dGFyZWEiKVswXS53aWxsVmFsaWRhdGUnKTsKKworZGVidWcoJycpOworZGVidWcoJ091
dHB1dCBlbGVtZW50Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxvdXRwdXQ+PC9vdXRw
dXQ+PC9mb3JtPic7CitzaG91bGRCZUZhbHNlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgib3V0cHV0IilbMF0ud2lsbFZhbGlkYXRlJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdPYmpl
Y3QgZWxlbWVudCcpOworcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48b2JqZWN0Pjwvb2JqZWN0
PjwvZm9ybT4nOworc2hvdWxkQmVGYWxzZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
Im9iamVjdCIpWzBdLndpbGxWYWxpZGF0ZScpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnS2V5Z2Vu
IGVsZW1lbnQnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0+PGtleWdlbj48L2Zvcm0+JzsK
K3Nob3VsZEJlRmFsc2UoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJrZXlnZW4iKVsw
XS53aWxsVmFsaWRhdGUnKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>