<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>216243</bug_id>
          
          <creation_ts>2008-04-04 20:48 0000</creation_ts>
          <short_desc>opendx fails with error in linux-mod.eclass</short_desc>
          <delta_ts>2008-04-05 17:30:09 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Eclasses and Profiles</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>billie@gentoo.org</reporter>
          <assigned_to>sci@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>billie@gentoo.org</who>
            <bug_when>2008-04-04 20:48:54 0000</bug_when>
            <thetext>The eclass fails to locate the directory for the kernel source and configuration although everything is in place!

It fails for x86 and ~x86 version of opendx.

uname -a
Linux gentoo 2.6.24-gentoo-r3 #2 SMP PREEMPT Fri Mar 14 20:23:11 CET 2008 i686 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux

ls -al /usr/src/
insgesamt 16
drwxr-xr-x  4 root root 4096  4. Apr 22:35 .
drwxr-xr-x 14 root root 4096  4. Apr 21:25 ..
lrwxrwxrwx  1 root root   22  4. Apr 22:35 linux -&gt; linux-2.6.24-gentoo-r3
drwxr-xr-x 21 root root 4096  4. Apr 22:04 linux-2.6.24-gentoo-r3
drwxr-xr-x 20 root root 4096 31. Mär 18:47 linux-2.6.24-gentoo-r4

ls -al /usr/src/linux/ | grep .config
-rw-r--r--  1 root root   40708 14. Mär 19:37 .config
-rw-r--r--  1 root root   40686 14. Mär 19:34 .config.old</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>billie@gentoo.org</who>
            <bug_when>2008-04-04 20:49:42 0000</bug_when>
            <thetext>Created an attachment (id=148653)
emerge output

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>billie@gentoo.org</who>
            <bug_when>2008-04-04 20:50:07 0000</bug_when>
            <thetext>Created an attachment (id=148654)
environment

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>billie@gentoo.org</who>
            <bug_when>2008-04-04 20:50:27 0000</bug_when>
            <thetext>Created an attachment (id=148656)
emerge info

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2008-04-05 13:41:43 0000</bug_when>
            <thetext>(In reply to comment #3)
&gt; Created an attachment (id=148656) [edit]
&gt; emerge info
&gt; 

From what you posted I don&apos;t quite see what the
problem could be. What does (in a bash shell)

[ -s /usr/src/linux/.config ] || echo &quot;broken&quot;

give when executed as a regular user?

Thanks,
Markus</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>billie@gentoo.org</who>
            <bug_when>2008-04-05 13:43:19 0000</bug_when>
            <thetext>~ $ [ -s /usr/src/linux/.config ] || echo &quot;broken&quot;
~ $ 
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>markusle@gentoo.org</who>
            <bug_when>2008-04-05 17:27:13 0000</bug_when>
            <thetext>Thanks! I think I fixed it. The linux-info.eclass 
recently changed and the ebuilds were now missing 
a call to linux-info_pkg_setup. I&apos;ve just committed
this to portage cvs. Please re-sync in an hour or so
and re-open if it is still broken.

Thanks,
Makrus</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>billie@gentoo.org</who>
            <bug_when>2008-04-05 17:30:09 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt; Thanks! I think I fixed it. The linux-info.eclass 
&gt; recently changed and the ebuilds were now missing 
&gt; a call to linux-info_pkg_setup. I&apos;ve just committed
&gt; this to portage cvs. Please re-sync in an hour or so
&gt; and re-open if it is still broken.
&gt; 
&gt; Thanks,
&gt; Makrus
&gt; 

Thanks for your fast response, i will try it and report back!

Regards,
Daniel</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>148653</attachid>
            <date>2008-04-04 20:49 0000</date>
            <desc>emerge output</desc>
            <filename>emerge.log</filename>
            <type>text/plain</type>
            <data encoding="base64">Pj4+IFVucGFja2luZyBzb3VyY2UuLi4KPj4+IFVucGFja2luZyBkeC00LjQuNC50YXIuZ3ogdG8g
L3Zhci90bXAvcG9ydGFnZS9zY2ktdmlzdWFsaXphdGlvbi9vcGVuZHgtNC40LjQvd29yawogKiBB
cHBseWluZyBvcGVuZHgtNC4zLjItc3lzLmgucGF0Y2ggLi4uCiAgWyBvayBdCiAqIEFwcGx5aW5n
IG9wZW5keC1jb21wcmVzc2VkLW1hbi5wYXRjaCAuLi4KICBbIG9rIF0KICogUnVubmluZyBlYXV0
b3JlY29uZiBpbiAnL3Zhci90bXAvcG9ydGFnZS9zY2ktdmlzdWFsaXphdGlvbi9vcGVuZHgtNC40
LjQvd29yay9keC00LjQuNCcgLi4uCiAqIFJ1bm5pbmcgYWNsb2NhbCAuLi4KICBbIG9rIF0KICog
UnVubmluZyBsaWJ0b29saXplIC0tY29weSAtLWZvcmNlIC0tYXV0b21ha2UgLi4uCiAgWyBvayBd
CiAqIFJ1bm5pbmcgYWNsb2NhbCAuLi4KICBbIG9rIF0KICogUnVubmluZyBhdXRvY29uZiAuLi4K
ICBbIG9rIF0KICogUnVubmluZyBhdXRvaGVhZGVyIC4uLgogIFsgb2sgXQogKiBSdW5uaW5nIGF1
dG9tYWtlIC0tYWRkLW1pc3NpbmcgLS1jb3B5IC4uLgogIFsgb2sgXQogKiBSdW5uaW5nIGVsaWJ0
b29saXplIGluOiBkeC00LjQuNAogKiAgIEFwcGx5aW5nIGluc3RhbGwtc2gtMS41LnBhdGNoIC4u
LgogKiAgIEFwcGx5aW5nIHBvcnRhZ2UtMS41LjEwLnBhdGNoIC4uLgogKiAgIEFwcGx5aW5nIHNl
ZC0xLjUuNi5wYXRjaCAuLi4KPj4+IFNvdXJjZSB1bnBhY2tlZC4KPj4+IENvbXBpbGluZyBzb3Vy
Y2UgaW4gL3Zhci90bXAvcG9ydGFnZS9zY2ktdmlzdWFsaXphdGlvbi9vcGVuZHgtNC40LjQvd29y
ay9keC00LjQuNCAuLi4KICogQ291bGQgbm90IGZpbmQgYSB1c2FibGUgLmNvbmZpZyBpbiB0aGUg
a2VybmVsIHNvdXJjZSBkaXJlY3RvcnkuCiAqIFBsZWFzZSBlbnN1cmUgdGhhdCAvdXNyL3NyYy9s
aW51eCBwb2ludHMgdG8gYSBjb25maWd1cmVkIHNldCBvZiBMaW51eCBzb3VyY2VzLgogKiBJZiB5
b3UgYXJlIHVzaW5nIEtCVUlMRF9PVVRQVVQsIHBsZWFzZSBzZXQgdGhlIGVudmlyb25tZW50IHZh
ciBzbyB0aGF0CiAqIGl0IHBvaW50cyB0byB0aGUgbmVjZXNzYXJ5IG9iamVjdCBkaXJlY3Rvcnkg
c28gdGhhdCBpdCBtaWdodCBmaW5kIC5jb25maWcuCiAqIAogKiBFUlJPUjogc2NpLXZpc3VhbGl6
YXRpb24vb3BlbmR4LTQuNC40IGZhaWxlZC4KICogQ2FsbCBzdGFjazoKICogICAgICAgICAgICAg
ICBlYnVpbGQuc2gsIGxpbmUgICA0OTogIENhbGxlZCBzcmNfY29tcGlsZQogKiAgICAgICAgICAg
ICBlbnZpcm9ubWVudCwgbGluZSAzNTU2OiAgQ2FsbGVkIHNtcF9jaGVjawogKiAgICAgICAgICAg
ICBlbnZpcm9ubWVudCwgbGluZSAzNTQ3OiAgQ2FsbGVkIGxpbnV4X2Noa2NvbmZpZ19wcmVzZW50
ICdzcmNfY29tcGlsZScKICogICAgICAgICAgICAgZW52aXJvbm1lbnQsIGxpbmUgMjgyMDogIENh
bGxlZCByZXF1aXJlX2NvbmZpZ3VyZWRfa2VybmVsCiAqICAgICAgICAgICAgIGVudmlyb25tZW50
LCBsaW5lIDM0ODQ6ICBDYWxsZWQgZGllCiAqIFRoZSBzcGVjaWZpYyBzbmlwcGV0IG9mIGNvZGU6
CiAqICAgICAgICAgICBkaWUgIktlcm5lbCBub3QgY29uZmlndXJlZDsgbm8gLmNvbmZpZyBmb3Vu
ZCBpbiAke0tWX09VVF9ESVJ9IjsKICogIFRoZSBkaWUgbWVzc2FnZToKICogICBLZXJuZWwgbm90
IGNvbmZpZ3VyZWQ7IG5vIC5jb25maWcgZm91bmQgaW4gCiAqIAogKiBJZiB5b3UgbmVlZCBzdXBw
b3J0LCBwb3N0IHRoZSB0b3Btb3N0IGJ1aWxkIGVycm9yLCBhbmQgdGhlIGNhbGwgc3RhY2sgaWYg
cmVsZXZhbnQuCiAqIEEgY29tcGxldGUgYnVpbGQgbG9nIGlzIGxvY2F0ZWQgYXQgJy92YXIvbG9n
L3BvcnRhZ2Uvc2NpLXZpc3VhbGl6YXRpb246b3BlbmR4LTQuNC40OjIwMDgwNDA0LTIwNDE1MC5s
b2cnLgogKiBUaGUgZWJ1aWxkIGVudmlyb25tZW50IGZpbGUgaXMgbG9jYXRlZCBhdCAnL3Zhci90
bXAvcG9ydGFnZS9zY2ktdmlzdWFsaXphdGlvbi9vcGVuZHgtNC40LjQvdGVtcC9lbnZpcm9ubWVu
dCcuCiAqIAo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>148654</attachid>
            <date>2008-04-04 20:50 0000</date>
            <desc>environment</desc>
            <filename>emerge.env</filename>
            <type>text/plain</type>
            <data encoding="base64">QUxTQV9DQVJEUz0nYWxpNTQ1MSBhbHM0MDAwIGF0aWl4cCBhdGlpeHAtbW9kZW0gYnQ4N3ggY2Ew
MTA2IGNtaXBjaSBlbXUxMGsxIGVtdTEwazF4IGVuczEzNzAgZW5zMTM3MSBlczE5MzggZXMxOTY4
IGZtODAxIGhkYS1pbnRlbCBpbnRlbDh4MCBpbnRlbDh4MG0gbWFlc3RybzMgdHJpZGVudCB1c2It
YXVkaW8gdmlhODJ4eCB2aWE4Mnh4LW1vZGVtIHltZnBjaScKQUxTQV9QQ01fUExVR0lOUz0nYWRw
Y20gYWxhdyBhc3ltIGNvcHkgZG1peCBkc2hhcmUgZHNub29wIGVtcHR5IGV4dHBsdWcgZmlsZSBo
b29rcyBpZWM5NTggaW9wbHVnIGxhZHNwYSBsZmxvYXQgbGluZWFyIG1ldGVyIG11bGF3IG11bHRp
IG51bGwgcGx1ZyByYXRlIHJvdXRlIHNoYXJlIHNobSBzb2Z0dm9sJwpBTlRfSE9NRT0vdXNyL3No
YXJlL2FudC1jb3JlCkFQQUNIRTJfTU9EVUxFUz0nYWN0aW9ucyBhbGlhcyBhdXRoX2Jhc2ljIGF1
dGhuX2FsaWFzIGF1dGhuX2Fub24gYXV0aG5fZGJtIGF1dGhuX2RlZmF1bHQgYXV0aG5fZmlsZSBh
dXRoel9kYm0gYXV0aHpfZGVmYXVsdCBhdXRoel9ncm91cGZpbGUgYXV0aHpfaG9zdCBhdXRoel9v
d25lciBhdXRoel91c2VyIGF1dG9pbmRleCBjYWNoZSBkYXYgZGF2X2ZzIGRhdl9sb2NrIGRlZmxh
dGUgZGlyIGRpc2tfY2FjaGUgZW52IGV4cGlyZXMgZXh0X2ZpbHRlciBmaWxlX2NhY2hlIGZpbHRl
ciBoZWFkZXJzIGluY2x1ZGUgaW5mbyBsb2dfY29uZmlnIGxvZ2lvIG1lbV9jYWNoZSBtaW1lIG1p
bWVfbWFnaWMgbmVnb3RpYXRpb24gcmV3cml0ZSBzZXRlbnZpZiBzcGVsaW5nIHN0YXR1cyB1bmlx
dWVfaWQgdXNlcmRpciB1c2VydHJhY2sgdmhvc3RfYWxpYXMnCkFSQ0g9eDg2CkFUX0dOVUNPTkZf
VVBEQVRFPW5vCkFUX000RElSPQpDQlVJTEQ9aTY4Ni1wYy1saW51eC1nbnUKQ0RFRklORV9kZWZh
dWx0PV9fdW5peF9fCkNGTEFHUz0nLW1hcmNoPXByZXNjb3R0IC1PMiAtcGlwZSAtZm9taXQtZnJh
bWUtcG9pbnRlcicKQ0ZMQUdTX2RlZmF1bHQ9CkNIT1NUPWk2ODYtcGMtbGludXgtZ251CkNIT1NU
X2RlZmF1bHQ9aTY4Ni1wYy1saW51eC1nbnUKQ0xBU1NQQVRIPS4KQ1RBUkdFVF9kZWZhdWx0PWk2
ODYtcGMtbGludXgtZ251CkNWU19SU0g9c3NoCkNYWEZMQUdTPSctbWFyY2g9cHJlc2NvdHQgLU8y
IC1waXBlIC1mb21pdC1mcmFtZS1wb2ludGVyJwpEQlVTX1NFU1NJT05fQlVTX0FERFJFU1M9dW5p
eDphYnN0cmFjdD0vdG1wL2RidXMtUHZmc1J0U0dieCxndWlkPTBmOTJhZDNjZjU0Njg4Y2M1MjFm
OTU0NjQ3ZjYzZGY4CkRFRkFVTFRfQUJJPWRlZmF1bHQKREVQRU5EPSQneDExLWxpYnMvbGliWG11
XG5cdHgxMS1saWJzL2xpYlhpXG5cdHgxMS1saWJzL2xpYlhwXG5cdHgxMS1saWJzL2xpYlhwbVxu
XHR4MTEtbGlicy9vcGVubW90aWZcblx0c3ppcD8gKCBzY2ktbGlicy9zemlwIClcblx0aGRmPyAo
IHNjaS1saWJzL2hkZiApXG5cdGNkZj8gKCBzY2ktbGlicy9jZGYgKVxuXHRuZXRjZGY/ICggc2Np
LWxpYnMvbmV0Y2RmIClcblx0dGlmZj8gKCBtZWRpYS1saWJzL3RpZmYgKVxuXHRpbWFnZW1hZ2lj
az8gKCA+PW1lZGlhLWdmeC9pbWFnZW1hZ2ljay01LjMuNCApICBrZXJuZWxfbGludXg/ICggdmly
dHVhbC9saW51eC1zb3VyY2VzICkgPXN5cy1kZXZlbC9hdXRvbWFrZS0xLjEwKlxuXHQ+PXN5cy1k
ZXZlbC9hdXRvY29uZi0yLjYxXG5cdHN5cy1kZXZlbC9saWJ0b29sJwpERVNDUklQVElPTj0nQSAz
RCBkYXRhIHZpc3VhbGl6YXRpb24gdG9vbCcKREVTVFRSRUU9L3VzcgpESVJPUFRJT05TPS1tMDc1
NQpFQVBJPQpFTElCQz1nbGliYwpFTElCVE9PTF9WRVJTSU9OPTIuMC4yCkVMVF9BUFBMSUVEX1BB
VENIRVM9JyAxLjUgMS41LjEwIDEuNS42JwpFTFRfTFRNQUlOX1NIPS92YXIvdG1wL3BvcnRhZ2Uv
c2NpLXZpc3VhbGl6YXRpb24vb3BlbmR4LTQuNC40L3dvcmsvZHgtNC40LjQvbHRtYWluLnNoCkVM
VF9QQVRDSF9ESVI9L21lZGlhL3N5c3RlbS9yZXBvc2l0b3JpZXMvcG9ydGFnZS9lY2xhc3MvRUxU
LXBhdGNoZXMKRVBBVENIX0VYQ0xVREU9CkVQQVRDSF9GT1JDRT1ubwpFUEFUQ0hfTVVMVElfTVNH
PSdBcHBseWluZyB2YXJpb3VzIHBhdGNoZXMgKGJ1Z2ZpeGVzL3VwZGF0ZXMpIC4uLicKRVBBVENI
X09QVFM9Jy1nMCAtRSAtLW5vLWJhY2t1cC1pZi1taXNtYXRjaCcKRVBBVENIX1NJTkdMRV9NU0c9
CkVQQVRDSF9TT1VSQ0U9L3Zhci90bXAvcG9ydGFnZS9zY2ktdmlzdWFsaXphdGlvbi9vcGVuZHgt
NC40LjQvd29yay9wYXRjaApFUEFUQ0hfU1VGRklYPXBhdGNoLmJ6MgpFWEVPUFRJT05TPS1tMDc1
NQpGRUFUVVJFUz0nY2NhY2hlIGNvbGxpc2lvbi1wcm90ZWN0IGRpc3Rsb2NrcyBtZXRhZGF0YS10
cmFuc2ZlciBwYXJhbGxlbC1mZXRjaCBzYW5kYm94IHNmcGVybXMgc3RyaWN0IHVubWVyZ2Utb3Jw
aGFucycKRklORENSVUZUX0NPTkZESVI9L29wdC9maW5kY3J1ZnQvbGliL2ZpbmRjcnVmdApHQ0Nf
U1BFQ1M9CkdES19VU0VfWEZUPTEKR0RNX0xBTkc9ZGVfREUudXRmOApHRU5FUkFUSU9OPTIKSElT
VENPTlRST0w9aWdub3JlYm90aDplcmFzZWR1cHMKSElTVEZJTEU9L2hvbWUvYmlsbGllLy5iYXNo
X2hpc3RvcnkKSElTVEZJTEVTSVpFPTQ1MApISVNUU0laRT00NTAKSE9NRVBBR0U9aHR0cDovL3d3
dy5vcGVuZHgub3JnLwpJTkhFUklURUQ9J3Rvb2xjaGFpbi1mdW5jcyBwb3J0YWJpbGl0eSBmbGFn
LW8tbWF0aWMgdmVyc2lvbmF0b3IgbXVsdGlsaWIgbGlidG9vbCBsaW51eC1pbmZvIGF1dG90b29s
cyBldXRpbHMnCklOUFVUX0RFVklDRVM9J2V2ZGV2IGtleWJvYXJkIG1vdXNlJwpJTlNERVNUVFJF
RT0KSU5TT1BUSU9OUz0tbTA2NDQKSVVTRT0nIGhkZiBjZGYgbmV0Y2RmIHRpZmYgaW1hZ2VtYWdp
Y2sgc3ppcCcKSkFWQUM9L2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtL2Jpbi9q
YXZhYwpKQVZBX0hPTUU9L2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtCkpES19I
T01FPS9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bQpLREVESVJTPS91c3I6L3Vz
ci9sb2NhbDovdXNyL2tkZS8zLjUKS0VSTkVMPWxpbnV4CktFUk5FTF9BQkk9ZGVmYXVsdApLRVJO
RUxfRElSPS91c3Ivc3JjL2xpbnV4CktFWVdPUkRTPSd+YW1kNjQgfnBwYyB+eDg2JwpLVj0yLjYu
MjQtZ2VudG9vLXIzCkxBRFNQQV9QQVRIPS91c3IvbGliL2xhZHNwYQpMQU5HPWRlX0RFLnV0ZjgK
TEFOR1M9ZGUKTENEX0RFVklDRVM9J2JheXJhZCBjZm9udHogY2ZvbnR6NjMzIGdsayBoZDQ0Nzgw
IGxiMjE2IGxjZG0wMDEgbXR4b3JiIG5jdXJzZXMgdGV4dCcKTENfQUREUkVTUz1kZV9ERS51dGY4
CkxDX0FMTD1kZV9ERS51dGY4CkxDX0NPTExBVEU9ZGVfREUudXRmOApMQ19DVFlQRT1kZV9ERS51
dGY4CkxDX0lERU5USUZJQ0FUSU9OPWRlX0RFLnV0ZjgKTENfTUVBU1VSRU1FTlQ9ZGVfREUudXRm
OApMQ19NRVNTQUdFUz1lbl9VUy51dGY4CkxDX01PTkVUQVJZPWRlX0RFLnV0ZjgKTENfTkFNRT1k
ZV9ERS51dGY4CkxDX05VTUVSSUM9ZGVfREUudXRmOApMQ19QQVBFUj1kZV9ERS51dGY4CkxDX1RF
TEVQSE9ORT1kZV9ERS51dGY4CkxDX1RJTUU9ZGVfREUudXRmOApMREZMQUdTX2RlZmF1bHQ9CkxJ
QkRJUl9kZWZhdWx0PWxpYgpMSUJPUFRJT05TPS1tMDY0NApMSUNFTlNFPUlQTC0xCkxJTkdVQVM9
ZGUKTUFJTD0vdmFyL21haWwvYmlsbGllCk1BS0VPUFRTPS1qNwpNVUxUSUxJQl9BQklTPWRlZmF1
bHQKTk9DT0xPUj10cnVlCk9QRU5HTF9QUk9GSUxFPW52aWRpYQpQREVQRU5EPScgJwpQS0dfQ09O
RklHX1BBVEg9L3Vzci9xdC8zL2xpYi9wa2djb25maWcKUFJFTElOS19QQVRIX01BU0s9L3Vzci9s
aWIva2xpYmMKUFJPVklERT0KUFlUSE9OUEFUSD0vdXNyL2xpYi9wb3J0YWdlL3B5bQpRTUFLRVNQ
RUM9bGludXgtZysrClFURElSPS91c3IvcXQvMwpSREVQRU5EPSQneDExLWxpYnMvbGliWG11XG5c
dHgxMS1saWJzL2xpYlhpXG5cdHgxMS1saWJzL2xpYlhwXG5cdHgxMS1saWJzL2xpYlhwbVxuXHR4
MTEtbGlicy9vcGVubW90aWZcblx0c3ppcD8gKCBzY2ktbGlicy9zemlwIClcblx0aGRmPyAoIHNj
aS1saWJzL2hkZiApXG5cdGNkZj8gKCBzY2ktbGlicy9jZGYgKVxuXHRuZXRjZGY/ICggc2NpLWxp
YnMvbmV0Y2RmIClcblx0dGlmZj8gKCBtZWRpYS1saWJzL3RpZmYgKVxuXHRpbWFnZW1hZ2ljaz8g
KCA+PW1lZGlhLWdmeC9pbWFnZW1hZ2ljay01LjMuNCApICAgJwpSRVNUUklDVD0KUlVCWU9QVD0t
cmF1dG9fZ2VtClM9L3Zhci90bXAvcG9ydGFnZS9zY2ktdmlzdWFsaXphdGlvbi9vcGVuZHgtNC40
LjQvd29yay9keC00LjQuNApTQU5EQk9YX0RFTlk9L2V0Yy9sZC5zby5wcmVsb2FkClNBTkRCT1hf
UFJFRElDVD06L2Rldi9jb25zb2xlOi9kZXYvcmFuZG9tOi9wcm9jL3NlbGYvbWFwczovdXNyL2xp
Yi9wb3J0YWdlL3B5bTovdXNyL2xpYi9weXRob24yLjAvOi91c3IvbGliL3B5dGhvbjIuMS86L3Vz
ci9saWIvcHl0aG9uMi4yLzovdXNyL2xpYi9weXRob24yLjMvOi91c3IvbGliL3B5dGhvbjIuNC86
L3Vzci9saWIvcHl0aG9uMi41LzovdXNyL2xpYi9weXRob24zLjAvOi92YXIvY2FjaGUvZWRiL2Rl
cDovdmFyL2RiL2FsaWFzZXMuZGI6L3Zhci9kYi9ldGhlcnMuZGI6L3Zhci9kYi9ncm91cC5kYjov
dmFyL2RiL2hvc3RzLmRiOi92YXIvZGIvbmV0Z3JvdXAuZGI6L3Zhci9kYi9uZXRtYXNrcy5kYjov
dmFyL2RiL25ldHdvcmtzLmRiOi92YXIvZGIvcGFzc3dkLmRiOi92YXIvZGIvcHJvdG9jb2xzLmRi
Oi92YXIvZGIvcnBjLmRiOi92YXIvZGIvc2VydmljZXMuZGI6L3Zhci90bXAvcG9ydGFnZS9zY2kt
dmlzdWFsaXphdGlvbi9vcGVuZHgtNC40LjQvaG9tZWRpci8uOgpTQU5EQk9YX1JFQUQ9Oi86L2Rl
di9zaG06L2Rldi9zdGRpbjovbWVkaWEvc3lzdGVtL2NjYWNoZS86L3Zhci90bXA6ClNBTkRCT1hf
V1JJVEU9Oi9kZXYvY29uc29sZTovZGV2L2ZkOi9kZXYvbnVsbDovZGV2L3B0cy86L2Rldi9wdHk6
L2Rldi9zaG06L2Rldi9zaG0vbmdwdDovZGV2L3N0ZGVycjovZGV2L3N0ZG91dDovZGV2L3R0czov
ZGV2L3R0eTovZGV2L3ZjLzovZGV2L3plcm86L21lZGlhL3N5c3RlbS9jY2FjaGUvOi9wcm9jL3Nl
bGYvZmQ6L3RtcDovdG1wLzovdXNyL2xpYjMyL2NmOi91c3IvbGliMzIvY29uZnRlc3Q6L3Vzci9s
aWI2NC9jZjovdXNyL2xpYjY0L2NvbmZ0ZXN0Oi91c3IvbGliL2NmOi91c3IvbGliL2NvbmZ0ZXN0
Oi91c3IvdG1wL2NmOi91c3IvdG1wL2NvbmZ0ZXN0Oi92YXIvbG9nL3Njcm9sbGtlZXBlci5sb2c6
L3Zhci90bXA6L3Zhci90bXAvOi92YXIvdG1wL3BvcnRhZ2Uvc2NpLXZpc3VhbGl6YXRpb24vb3Bl
bmR4LTQuNC40L2hvbWVkaXIvLmJhc2hfaGlzdG9yeTovdmFyL3RtcC9wb3J0YWdlL3NjaS12aXN1
YWxpemF0aW9uL29wZW5keC00LjQuNC9ob21lZGlyLy5nY29uZmQvbG9jazoKU0VTU0lPTl9NQU5B
R0VSPWxvY2FsL2dlbnRvbzovdG1wLy5JQ0UtdW5peC8zMTg2ClNMT1Q9MApTUkNfVVJJPWh0dHA6
Ly9vcGVuZHgubnBhY2kuZWR1L3NvdXJjZS9keC00LjQuNC50YXIuZ3oKU1RBR0UxX1VTRT0nbnB0
bCBucHRsb25seSB1bmljb2RlJwpTVURPX0NPTU1BTkQ9Jy91c3IvYmluL2VtZXJnZSAtLWNvbG9y
PW4gLS1vbmVzaG90IHNjaS12aXN1YWxpemF0aW9uL29wZW5keCA9dmlydHVhbC9tcGktMS4wJwpT
VURPX0dJRD0xMDAKU1VET19VSUQ9MTAwMApTVURPX1VTRVI9YmlsbGllClVTRT0nZWxpYmNfZ2xp
YmMgaW1hZ2VtYWdpY2sga2VybmVsX2xpbnV4IHRpZmYgdXNlcmxhbmRfR05VIHg4NicKVVNFUkxB
TkQ9R05VClZJREVPX0NBUkRTPSdmYmRldiB2NGwgdmVzYSB2Z2EgbnZpZGlhIG52JwpWTUhBTkRM
RT1zdW4tamRrLTEuNApXQU5UX0FVVE9DT05GPTIuNQpXQU5UX0FVVE9NQUtFPTEuMTAKV0lORE9X
SUQ9MzM1NTQ4NjMKWERHX0RBVEFfRElSUz0vdXNyL3NoYXJlOi91c3Iva2RlLzMuNS9zaGFyZTov
dXNyL2xvY2FsL3NoYXJlOi91c3Ivc2hhcmUKXz1fUkNfR0VUX0tWX0NBQ0hFCl9FX0RPQ0RFU1RU
UkVFXz0KX0VfRVhFREVTVFRSRUVfPQpfX19FQ0xBU1NfUkVDVVJfTVVMVElMSUI9eWVzCl9fX0VD
TEFTU19SRUNVUl9UT09MQ0hBSU5fRlVOQ1M9eWVzCmNvbmY9b3BlbmR4LTQuNC40LXIwCkVMVF9m
aW5kX2x0bWFpbl9zaCAoKSAKeyAKICAgIGxvY2FsIHg9OwogICAgbG9jYWwgZGlybGlzdD07CiAg
ICBmb3IgeCBpbiAkKGZpbmQgIiR7U30iIC1uYW1lICdsdG1haW4uc2gnKTsKICAgIGRvCiAgICAg
ICAgZGlybGlzdD0iJHtkaXJsaXN0fSAke3glLyp9IjsKICAgIGRvbmU7CiAgICBlY2hvICIke2Rp
cmxpc3R9Igp9CkVMVF9saWJ0b29sX3ZlcnNpb24gKCkgCnsgCiAgICBsb2NhbCBsdG1haW5fc2g9
JDE7CiAgICBsb2NhbCB2ZXJzaW9uPTsKICAgIHZlcnNpb249JChldmFsICQoZ3JlcCAtZSAnXltb
OnNwYWNlOl1dKlZFUlNJT049JyAiJHtsdG1haW5fc2h9Iik7IAkgICAgICAgICAgICAgICAgIGVj
aG8gIiR7VkVSU0lPTn0iKTsKICAgIFtbIC16ICR7dmVyc2lvbn0gXV0gJiYgdmVyc2lvbj0iMCI7
CiAgICBlY2hvICIke3ZlcnNpb259Igp9CkVMVF90cnlfYW5kX2FwcGx5X3BhdGNoICgpIAp7IAog
ICAgbG9jYWwgcmV0PTA7CiAgICBsb2NhbCBmaWxlPSQxOwogICAgbG9jYWwgcGF0Y2g9JDI7CiAg
ICBpZiBwYXRjaCAtcDAgLS1kcnktcnVuICIke2ZpbGV9IiAiJHtwYXRjaH0iID4mIiR7VH0vZWxp
YnRvb2wubG9nIjsgdGhlbgogICAgICAgIGVpbmZvICIgIEFwcGx5aW5nICQoYmFzZW5hbWUgIiQo
ZGlybmFtZSAiJHtwYXRjaH0iKSIpLSR7cGF0Y2gjIyovfS5wYXRjaCAuLi4iOwogICAgICAgIHBh
dGNoIC1wMCAtZzAgLS1uby1iYWNrdXAtaWYtbWlzbWF0Y2ggIiR7ZmlsZX0iICIke3BhdGNofSIg
PiYiJHtUfS9lbGlidG9vbC5sb2ciOwogICAgICAgIHJldD0kPzsKICAgICAgICBleHBvcnQgRUxU
X0FQUExJRURfUEFUQ0hFUz0iJHtFTFRfQVBQTElFRF9QQVRDSEVTfSAke3BhdGNoIyMqL30iOwog
ICAgZWxzZQogICAgICAgIHJldD0xOwogICAgZmk7CiAgICByZXR1cm4gIiR7cmV0fSIKfQpFTFRf
d2Fsa19wYXRjaGVzICgpIAp7IAogICAgbG9jYWwgeD07CiAgICBsb2NhbCB5PTsKICAgIGxvY2Fs
IHJldD0xOwogICAgbG9jYWwgZmlsZT0kMTsKICAgIGxvY2FsIHBhdGNoX3NldD0kMjsKICAgIGxv
Y2FsIHBhdGNoX2Rpcj07CiAgICBsb2NhbCByZW1faW50X2RlcD0kMzsKICAgIGlmIFtbIC1uICR7
cGF0Y2hfc2V0fSBdXTsgdGhlbgogICAgICAgIGlmIFtbIC1kICR7RUxUX1BBVENIX0RJUn0vJHtw
YXRjaF9zZXR9IF1dOyB0aGVuCiAgICAgICAgICAgIHBhdGNoX2Rpcj0iJHtFTFRfUEFUQ0hfRElS
fS8ke3BhdGNoX3NldH0iOwogICAgICAgIGVsc2UKICAgICAgICAgICAgcmV0dXJuICIke3JldH0i
OwogICAgICAgIGZpOwogICAgICAgIGZvciB4IGluICQobHMgLWQgIiR7cGF0Y2hfZGlyfSIvKiAy
PiAvZGV2L251bGwgfCBncmVwIC12ICdDVlMnIHwgc29ydCAtcik7CiAgICAgICAgZG8KICAgICAg
ICAgICAgaWYgW1sgLW4gJHt4fSAmJiAtZiAke3h9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBp
ZiBbWyAtbiAke3JlbV9pbnRfZGVwfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIHNlZCAt
ZSAic3xAUkVNX0lOVF9ERVBAfCR7cmVtX2ludF9kZXB9fGciICR7eH0gPiAiJHtUfS8kJC5yZW1f
aW50X2RlcHMucGF0Y2giOwogICAgICAgICAgICAgICAgICAgIHg9IiR7VH0vJCQucmVtX2ludF9k
ZXBzLnBhdGNoIjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgaWYgRUxUX3Ry
eV9hbmRfYXBwbHlfcGF0Y2ggIiR7ZmlsZX0iICIke3h9IjsgdGhlbgogICAgICAgICAgICAgICAg
ICAgIHJldD0wOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgZmk7
CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICBmaTsKICAgIHJldHVybiAiJHtyZXR9
Igp9ClZFUl9tYWpvciAoKSAKeyAKICAgIFtbIC16ICQxIF1dICYmIHJldHVybiAxOwogICAgbG9j
YWwgVkVSPSRAOwogICAgZWNobyAiJHtWRVIlJVteWzpkaWdpdDpdXSp9Igp9ClZFUl9taWNybyAo
KSAKeyAKICAgIFtbIC16ICQxIF1dICYmIHJldHVybiAxOwogICAgbG9jYWwgVkVSPSRAOwogICAg
VkVSPSR7VkVSIyouKi59OwogICAgZWNobyAiJHtWRVIlJVteWzpkaWdpdDpdXSp9Igp9ClZFUl9t
aW5vciAoKSAKeyAKICAgIFtbIC16ICQxIF1dICYmIHJldHVybiAxOwogICAgbG9jYWwgVkVSPSRA
OwogICAgVkVSPSR7VkVSIyoufTsKICAgIGVjaG8gIiR7VkVSJSVbXls6ZGlnaXQ6XV0qfSIKfQpW
RVJfdG9faW50ICgpIAp7IAogICAgW1sgLXogJDEgXV0gJiYgcmV0dXJuIDE7CiAgICBsb2NhbCBW
RVJfTUFKT1I9JChWRVJfbWFqb3IgIiQxIik7CiAgICBsb2NhbCBWRVJfTUlOT1I9JChWRVJfbWlu
b3IgIiQxIik7CiAgICBsb2NhbCBWRVJfTUlDUk89JChWRVJfbWljcm8gIiQxIik7CiAgICBsb2Nh
bCBWRVJfaW50PSQoKCBWRVJfTUFKT1IgKiA2NTUzNiArIFZFUl9NSU5PUiAqIDI1NiArIFZFUl9N
SUNSTyApKTsKICAgIGlmIFtbICR7VkVSX2ludH0gLWdlIDY1NTM2IF1dOyB0aGVuCiAgICAgICAg
ZWNobyAiJHtWRVJfaW50fSI7CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGVjaG8gMTsK
ICAgIHJldHVybiAxCn0KX192ZXJzaW9uYXRvcl9fdGVzdF92ZXJzaW9uX2NvbXBhcmUgKCkgCnsg
CiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAgIGxvY2FsIGx0PTEgZXE9MiBn
dD0zIHAgcTsKICAgIGZ1bmN0aW9uIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJl
X3QgKCkgCiAgICB7IAogICAgICAgIHZlcnNpb25fY29tcGFyZSAiJHsxfSIgIiR7M30iOwogICAg
ICAgIGxvY2FsIHI9JD87CiAgICAgICAgW1sgJHtyfSAtZXEgJHsyfSBdXSB8fCBlY2hvICJGQUlM
OiAke0B9IChnb3QgJHtyfSBleHAgJHsyfSkiCiAgICB9OwogICAgZWNobyAiCgkJMCAgICAgICAg
ICAgICAkbHQgMQoJCTEgICAgICAgICAgICAgJGx0IDIKCQkyICAgICAgICAgICAgICRndCAxCgkJ
MiAgICAgICAgICAgICAkZXEgMgoJCTAgICAgICAgICAgICAgJGVxIDAKCQkxMCAgICAgICAgICAg
ICRsdCAyMAoJCTY4ICAgICAgICAgICAgJGVxIDA2OAoJCTA2OCAgICAgICAgICAgJGd0IDY3CgkJ
MDY4ICAgICAgICAgICAkbHQgNjkKCgkJMS4wICAgICAgICAgICAkbHQgMi4wCgkJMi4wICAgICAg
ICAgICAkZXEgMi4wCgkJMi4wICAgICAgICAgICAkZ3QgMS4wCgoJCTEuMCAgICAgICAgICAgJGd0
IDAuMAoJCTAuMCAgICAgICAgICAgJGVxIDAuMAoJCTAuMCAgICAgICAgICAgJGx0IDEuMAoKCQkw
LjEgICAgICAgICAgICRsdCAwLjIKCQkwLjIgICAgICAgICAgICRlcSAwLjIKCQkwLjMgICAgICAg
ICAgICRndCAwLjIKCgkJMS4yICAgICAgICAgICAkbHQgMi4xCgkJMi4xICAgICAgICAgICAkZ3Qg
MS4yCgoJCTEuMi4zICAgICAgICAgJGx0IDEuMi40CgkJMS4yLjQgICAgICAgICAkZ3QgMS4yLjMK
CgkJMS4yLjAgICAgICAgICAkZXEgMS4yCgkJMS4yLjEgICAgICAgICAkZ3QgMS4yCgkJMS4yICAg
ICAgICAgICAkbHQgMS4yLjEKCgkJMS4yYiAgICAgICAgICAkZXEgMS4yYgoJCTEuMmIgICAgICAg
ICAgJGx0IDEuMmMKCQkxLjJiICAgICAgICAgICRndCAxLjJhCgkJMS4yYiAgICAgICAgICAkZ3Qg
MS4yCgkJMS4yICAgICAgICAgICAkbHQgMS4yYQoKCQkxLjMgICAgICAgICAgICRndCAxLjJhCgkJ
MS4zICAgICAgICAgICAkbHQgMS4zYQoKCQkxLjBfYWxwaGE3ICAgICRsdCAxLjBfYmV0YTcKCQkx
LjBfYmV0YSAgICAgICRsdCAxLjBfcHJlCgkJMS4wX3ByZTUgICAgICAkbHQgMS4wX3JjMgoJCTEu
MF9yYzIgICAgICAgJGx0IDEuMAoKCQkxLjBfcDEgICAgICAgICRndCAxLjAKCQkxLjBfcDEtcjEg
ICAgICRndCAxLjBfcDEKCgkJMS4wX2FscGhhNi1yMSAkZ3QgMS4wX2FscGhhNgoJCTEuMF9iZXRh
Ni1yMSAgJGd0IDEuMF9hbHBoYTYtcjIKCgkJMS4wX3ByZTEgICAgICAkbHQgMS4wLXAxCgoJCTEu
MHAgICAgICAgICAgJGd0IDEuMF9wMQoJCTEuMHIgICAgICAgICAgJGd0IDEuMC1yMQoJCTEuNi4x
NSAgICAgICAgJGd0IDEuNi4xMC1yMgoJCTEuNi4xMC1yMiAgICAgJGx0IDEuNi4xNQoKCSIgfCB3
aGlsZSByZWFkIGEgYiBjOyBkbwogICAgICAgIFtbIC16ICIke2F9JHtifSR7Y30iIF1dICYmIGNv
bnRpbnVlOwogICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIiR7
YX0iICIke2J9IiAiJHtjfSI7CiAgICBkb25lOwogICAgZm9yIHEgaW4gImFscGhhIGJldGEgcHJl
IHJjPSR7bHR9OyR7Z3R9IiAicCByPSR7Z3R9OyR7bHR9IjsKICAgIGRvCiAgICAgICAgZm9yIHAg
aW4gJHtxJSU9Kn07CiAgICAgICAgZG8KICAgICAgICAgICAgbG9jYWwgYz0ke3EjIyo9fTsKICAg
ICAgICAgICAgbG9jYWwgYWx0PSR7YyUlOyp9IGFndD0ke2MjIyo7fTsKICAgICAgICAgICAgX192
ZXJzaW9uYXRvcl9fdGVzdF92ZXJzaW9uX2NvbXBhcmVfdCAiMS4wIiAkYWd0ICIxLjBfJHtwfSI7
CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjEuMCIg
JGFndCAiMS4wXyR7cH0xIjsKICAgICAgICAgICAgX192ZXJzaW9uYXRvcl9fdGVzdF92ZXJzaW9u
X2NvbXBhcmVfdCAiMS4wIiAkYWd0ICIxLjBfJHtwfTA2OCI7CiAgICAgICAgICAgIF9fdmVyc2lv
bmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjIuMF8ke3B9IiAkYWx0ICIyLjAiOwogICAg
ICAgICAgICBfX3ZlcnNpb25hdG9yX190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICIyLjBfJHtwfTEi
ICRhbHQgIjIuMCI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21w
YXJlX3QgIjIuMF8ke3B9MDY4IiAkYWx0ICIyLjAiOwogICAgICAgICAgICBfX3ZlcnNpb25hdG9y
X190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICIxLjBfJHtwfSIgJGVxICIxLjBfJHtwfSI7CiAgICAg
ICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjAuMF8ke3B9IiAk
bHQgIjAuMF8ke3B9MSI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9j
b21wYXJlX3QgIjY2Nl8ke3B9MyIgJGd0ICI2NjZfJHtwfSI7CiAgICAgICAgICAgIF9fdmVyc2lv
bmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjFfJHtwfTciICRsdCAiMV8ke3B9OCI7CiAg
ICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjFfJHtwfTci
ICRlcSAiMV8ke3B9NyI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9j
b21wYXJlX3QgIjFfJHtwfTciICRndCAiMV8ke3B9NiI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0
b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjFfJHtwfTA5IiAkZXEgIjFfJHtwfTkiOwogICAg
ICAgIGRvbmU7CiAgICBkb25lOwogICAgZm9yIHAgaW4gIi1yIiAiX3AiOwogICAgZG8KICAgICAg
ICBfX3ZlcnNpb25hdG9yX190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICI3LjIke3B9MSIgJGx0ICI3
LjIke3B9MiI7CiAgICAgICAgX192ZXJzaW9uYXRvcl9fdGVzdF92ZXJzaW9uX2NvbXBhcmVfdCAi
Ny4yJHtwfTIiICRndCAiNy4yJHtwfTEiOwogICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVy
c2lvbl9jb21wYXJlX3QgIjcuMiR7cH0zIiAkZ3QgIjcuMiR7cH0yIjsKICAgICAgICBfX3ZlcnNp
b25hdG9yX190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICI3LjIke3B9MiIgJGx0ICI3LjIke3B9MyI7
CiAgICBkb25lOwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0KX192ZXJzaW9u
YXRvcl9zaG9wdF90b2dnbGUgKCkgCnsgCiAgICBWRVJTSU9OQVRPUl9SRUNVUlNJT049JHtWRVJT
SU9OQVRPUl9SRUNVUlNJT046LTB9OwogICAgY2FzZSAiJDEiIGluIAogICAgICAgICJvbiIpCiAg
ICAgICAgICAgIGlmIFtbICRWRVJTSU9OQVRPUl9SRUNVUlNJT04gLWx0IDEgXV07IHRoZW4KICAg
ICAgICAgICAgICAgIFZFUlNJT05BVE9SX09MRF9FWFRHTE9CPSQoc2hvcHQgLXAgZXh0Z2xvYik7
CiAgICAgICAgICAgICAgICBzaG9wdCAtcyBleHRnbG9iOwogICAgICAgICAgICBmaTsKICAgICAg
ICAgICAgVkVSU0lPTkFUT1JfUkVDVVJTSU9OPSQoKCAkVkVSU0lPTkFUT1JfUkVDVVJTSU9OICsg
MSApKQogICAgICAgIDs7CiAgICAgICAgIm9mZiIpCiAgICAgICAgICAgIFZFUlNJT05BVE9SX1JF
Q1VSU0lPTj0kKCggJFZFUlNJT05BVE9SX1JFQ1VSU0lPTiAtIDEgKSk7CiAgICAgICAgICAgIGlm
IFtbICRWRVJTSU9OQVRPUl9SRUNVUlNJT04gLWx0IDEgXV07IHRoZW4KICAgICAgICAgICAgICAg
IGV2YWwgJFZFUlNJT05BVE9SX09MRF9FWFRHTE9COwogICAgICAgICAgICBmaQogICAgICAgIDs7
CiAgICBlc2FjOwogICAgcmV0dXJuIDAKfQpfY2Ryb21fbG9jYXRlX2ZpbGVfb25fY2QgKCkgCnsg
CiAgICBsb2NhbCBtbGluZT0iIjsKICAgIGxvY2FsIHNob3dlZG1zZz0wIHNob3dqb2xpZXRtc2c9
MDsKICAgIHdoaWxlIFtbIC16ICR7Q0RST01fUk9PVH0gXV07IGRvCiAgICAgICAgbG9jYWwgaT0w
OwogICAgICAgIGxvY2FsIC1hIGNkc2V0PSgkeyovLzovIH0pOwogICAgICAgIGlmIFtbIC1uICR7
Q0RST01fU0VUfSBdXTsgdGhlbgogICAgICAgICAgICBjZHNldD0oJHtjZHNldFske0NEUk9NX1NF
VH1dfSk7CiAgICAgICAgZmk7CiAgICAgICAgd2hpbGUgW1sgLW4gJHtjZHNldFske2l9XX0gXV07
IGRvCiAgICAgICAgICAgIGxvY2FsIGRpcj0kKGRpcm5hbWUgJHtjZHNldFske2l9XX0pOwogICAg
ICAgICAgICBsb2NhbCBmaWxlPSQoYmFzZW5hbWUgJHtjZHNldFske2l9XX0pOwogICAgICAgICAg
ICBsb2NhbCBwb2ludD0gbm9kZT0gZnM9IGZvbz07CiAgICAgICAgICAgIHdoaWxlIHJlYWQgcG9p
bnQgbm9kZSBmcyBmb287IGRvCiAgICAgICAgICAgICAgICBbWyAiIGNkOTY2MCBpc285NjYwIHVk
ZiAiICE9ICoiICR7ZnN9ICIqIF1dICYmICEgW1sgJHtmc30gPT0gInN1YmZzIiAmJiAiLCR7b3B0
c30sIiA9PSAqIixmcz1jZGZzcywiKiBdXSAmJiBjb250aW51ZTsKICAgICAgICAgICAgICAgIHBv
aW50PSR7cG9pbnQvL1wwNDAvIH07CiAgICAgICAgICAgICAgICBbWyAhIC1kICR7cG9pbnR9LyR7
ZGlyfSBdXSAmJiBjb250aW51ZTsKICAgICAgICAgICAgICAgIFtbIC16ICQoZmluZCAiJHtwb2lu
dH0vJHtkaXJ9IiAtbWF4ZGVwdGggMSAtaW5hbWUgIiR7ZmlsZX0iKSBdXSAmJiBjb250aW51ZTsK
ICAgICAgICAgICAgICAgIGV4cG9ydCBDRFJPTV9ST09UPSR7cG9pbnR9OwogICAgICAgICAgICAg
ICAgZXhwb3J0IENEUk9NX1NFVD0ke2l9OwogICAgICAgICAgICAgICAgZXhwb3J0IENEUk9NX01B
VENIPSR7Y2RzZXRbJHtpfV19OwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICBk
b25lIDw8PCAiJChnZXRfbW91bnRzKSI7CiAgICAgICAgICAgICgoKytpKSk7CiAgICAgICAgZG9u
ZTsKICAgICAgICBlY2hvOwogICAgICAgIGlmIFtbICR7c2hvd2VkbXNnfSAtZXEgMCBdXTsgdGhl
bgogICAgICAgICAgICBpZiBbWyAke0NEUk9NX1RPVEFMX0NEU30gLWVxIDEgXV07IHRoZW4KICAg
ICAgICAgICAgICAgIGlmIFtbIC16ICR7Q0RST01fTkFNRX0gXV07IHRoZW4KICAgICAgICAgICAg
ICAgICAgICBlaW5mbyAiUGxlYXNlIGluc2VydCttb3VudCB0aGUgY2Ryb20gZm9yICR7UE59IG5v
dyAhIjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBlaW5mbyAiUGxl
YXNlIGluc2VydCttb3VudCB0aGUgJHtDRFJPTV9OQU1FfSBjZHJvbSBub3cgISI7CiAgICAgICAg
ICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgaWYgW1sgLXogJHtD
RFJPTV9OQU1FXzF9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZWluZm8gIlBsZWFzZSBp
bnNlcnQrbW91bnQgY2QgIyR7Q0RST01fQ1VSUkVOVF9DRH0gZm9yICR7UE59IG5vdyAhIjsKICAg
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBsb2NhbCB2YXI9IkNEUk9NX05B
TUVfJHtDRFJPTV9DVVJSRU5UX0NEfSI7CiAgICAgICAgICAgICAgICAgICAgZWluZm8gIlBsZWFz
ZSBpbnNlcnQrbW91bnQgdGhlICR7IXZhcn0gY2Ryb20gbm93ICEiOwogICAgICAgICAgICAgICAg
Zmk7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBzaG93ZWRtc2c9MTsKICAgICAgICBmaTsK
ICAgICAgICBlaW5mbyAiUHJlc3MgcmV0dXJuIHRvIHNjYW4gZm9yIHRoZSBjZCBhZ2FpbiI7CiAg
ICAgICAgZWluZm8gIm9yIGhpdCBDVFJMK0MgdG8gYWJvcnQgdGhlIGVtZXJnZS4iOwogICAgICAg
IGVjaG87CiAgICAgICAgaWYgW1sgJHtzaG93am9saWV0bXNnfSAtZXEgMCBdXTsgdGhlbgogICAg
ICAgICAgICBzaG93am9saWV0bXNnPTE7CiAgICAgICAgZWxzZQogICAgICAgICAgICBld2FybiAi
SWYgeW91IGFyZSBoYXZpbmcgdHJvdWJsZSB3aXRoIHRoZSBkZXRlY3Rpb24iOwogICAgICAgICAg
ICBld2FybiAib2YgeW91ciBDRCwgaXQgaXMgcG9zc2libGUgdGhhdCB5b3UgZG8gbm90IGhhdmUi
OwogICAgICAgICAgICBld2FybiAiSm9saWV0IHN1cHBvcnQgZW5hYmxlZCBpbiB5b3VyIGtlcm5l
bC4gIFBsZWFzZSI7CiAgICAgICAgICAgIGV3YXJuICJjaGVjayB0aGF0IENPTkZJR19KT0xJRVQg
aXMgZW5hYmxlZCBpbiB5b3VyIGtlcm5lbC4iOwogICAgICAgICAgICBlYmVlcCA1OwogICAgICAg
IGZpOwogICAgICAgIHJlYWQgfHwgZGllICJzb21ldGhpbmcgaXMgc2NyZXdlZCB3aXRoIHlvdXIg
c3lzdGVtIjsKICAgIGRvbmUKfQpfZWxpYnRvb2xpemUgKCkgCnsgCiAgICBsb2NhbCBvcHRzOwog
ICAgbG9jYWwgbHR0ZXN0OwogICAgbHR0ZXN0PSIkKGF1dG90b29sc19jaGVja19tYWNybyAiQUNf
UFJPR19MSUJUT09MIikkKGF1dG90b29sc19jaGVja19tYWNybyAiQU1fUFJPR19MSUJUT09MIiki
OwogICAgW1sgLW4gJGx0dGVzdCBdXSB8fCByZXR1cm4gMDsKICAgIFtbIC1mIEdOVW1ha2VmaWxl
LmFtIHx8IC1mIE1ha2VmaWxlLmFtIF1dICYmIG9wdHM9Ii0tYXV0b21ha2UiOwogICAgW1sgIiR7
VVNFUkxBTkR9IiA9PSAiRGFyd2luIiBdXSAmJiBMSUJUT09MSVpFPSJnbGlidG9vbGl6ZSI7CiAg
ICBhdXRvdG9vbHNfcnVuX3Rvb2wgJHtMSUJUT09MSVpFOi1saWJ0b29saXplfSAiJEAiICR7b3B0
c307CiAgICBlYWNsb2NhbAp9Cl9lcGF0Y2hfYXNzZXJ0ICgpIAp7IAogICAgbG9jYWwgX3BpcGVz
dGF0dXM9JHtQSVBFU1RBVFVTWypdfTsKICAgIFtbICR7X3BpcGVzdGF0dXMvLyAvfSAtZXEgMCBd
XQp9Cl9lcGF0Y2hfZHJhd19saW5lICgpIAp7IAogICAgW1sgLXogJDEgXV0gJiYgc2V0ICIkKHBy
aW50ZiAiJTY1cyIgJycpIjsKICAgIGVjaG8gIiR7MS8vPy89fSIKfQpfZmlsdGVyLWhhcmRlbmVk
ICgpIAp7IAogICAgbG9jYWwgZjsKICAgIGZvciBmIGluICIkQCI7CiAgICBkbwogICAgICAgIGNh
c2UgIiR7Zn0iIGluIAogICAgICAgICAgICAtZlBJQyB8IC1mcGljIHwgLWZQSUUgfCAtZnBpZSB8
IC1XbCxwaWUgfCAtcGllKQogICAgICAgICAgICAgICAgZ2NjLXNwZWNzLXBpZSB8fCBjb250aW51
ZTsKICAgICAgICAgICAgICAgIGlzLWZsYWdxIC1ub3BpZSB8fCBhcHBlbmQtZmxhZ3MgLW5vcGll
CiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIC1mc3RhY2stcHJvdGVjdG9yKQogICAgICAgICAg
ICAgICAgZ2NjLXNwZWNzLXNzcCB8fCBjb250aW51ZTsKICAgICAgICAgICAgICAgIGlzLWZsYWdx
IC1mbm8tc3RhY2stcHJvdGVjdG9yIHx8IGFwcGVuZC1mbGFncyAtZm5vLXN0YWNrLXByb3RlY3Rv
cgogICAgICAgICAgICA7OwogICAgICAgICAgICAtZnN0YWNrLXByb3RlY3Rvci1hbGwpCiAgICAg
ICAgICAgICAgICBnY2Mtc3BlY3Mtc3NwLXRvLWFsbCB8fCBjb250aW51ZTsKICAgICAgICAgICAg
ICAgIGlzLWZsYWdxIC1mbm8tc3RhY2stcHJvdGVjdG9yLWFsbCB8fCBhcHBlbmQtZmxhZ3MgLWZu
by1zdGFjay1wcm90ZWN0b3ItYWxsCiAgICAgICAgICAgIDs7CiAgICAgICAgZXNhYzsKICAgIGRv
bmUKfQpfZmlsdGVyLXZhciAoKSAKeyAKICAgIGxvY2FsIGYgeCBWQVIgVkFMOwogICAgZGVjbGFy
ZSAtYSBuZXc7CiAgICBWQVI9JDE7CiAgICBzaGlmdDsKICAgIGV2YWwgVkFMPVwkeyR7VkFSfX07
CiAgICBmb3IgZiBpbiAke1ZBTH07CiAgICBkbwogICAgICAgIGZvciB4IGluICIkQCI7CiAgICAg
ICAgZG8KICAgICAgICAgICAgW1sgJHtmfSA9PSAke3h9IF1dICYmIGNvbnRpbnVlIDI7CiAgICAg
ICAgZG9uZTsKICAgICAgICBldmFsIG5ld1xbXCR7XCNuZXdcW0BdfV09XCR7Zn07CiAgICBkb25l
OwogICAgZXZhbCBleHBvcnQgJHtWQVJ9PVwke25ld1xbKl19Cn0KX2djYy1pbnN0YWxsLWRpciAo
KSAKeyAKICAgIGVjaG8gIiQoJCh0Yy1nZXRDQykgLXByaW50LXNlYXJjaC1kaXJzIDI+IC9kZXYv
bnVsbCB8CQlhd2sgJyQxPT0iaW5zdGFsbDoiIHtwcmludCAkMn0nKSIKfQpfZ2NjLXNwZWNzLWRp
cmVjdGl2ZV9yYXcgKCkgCnsgCiAgICBsb2NhbCBjYz0kKHRjLWdldENDKTsKICAgIGxvY2FsIHNw
ZWNmaWxlcz0kKExDX0FMTD1DICR7Y2N9IC12IDI+JjEgfCBhd2sgJyQxPT0iUmVhZGluZyIge3By
aW50ICRORn0nKTsKICAgICR7Y2N9IC1kdW1wc3BlY3MgMj4gL2Rldi9udWxsIHwgY2F0IC0gJHtz
cGVjZmlsZXN9IHwgYXdrIC12IGRpcmVjdGl2ZT0kMSAnQkVHSU4JeyBwc3BlYz0iIjsgc3BlYz0i
Ijsgb3V0c2lkZT0xIH0KJDE9PSIqImRpcmVjdGl2ZSI6IiAgeyBwc3BlYz1zcGVjOyBzcGVjPSIi
OyBvdXRzaWRlPTA7IG5leHQgfQoJb3V0c2lkZSB8fCBORj09MCB8fCAoIHN1YnN0cigkMSwxLDEp
PT0iKiIgJiYgc3Vic3RyKCQxLGxlbmd0aCgkMSksMSk9PSI6IiApIHsgb3V0c2lkZT0xOyBuZXh0
IH0KCXNwZWM9PSIiICYmIHN1YnN0cigkMCwxLDEpPT0iKyIgeyBzcGVjPXBzcGVjICIgIiBzdWJz
dHIoJDAsMik7IG5leHQgfQoJeyBzcGVjPXNwZWMgJDAgfQpFTkQJeyBwcmludCBzcGVjIH0nOwog
ICAgcmV0dXJuIDAKfQpfZ2NjLXNwZWNzLWV4aXN0cyAoKSAKeyAKICAgIFtbIC1mICQoX2djYy1p
bnN0YWxsLWRpcikvJDEgXV0KfQpfaXNfZmxhZ3EgKCkgCnsgCiAgICBsb2NhbCB4OwogICAgZm9y
IHggaW4gJHshMX07CiAgICBkbwogICAgICAgIFtbICR7eH0gPT0gJDIgXV0gJiYgcmV0dXJuIDA7
CiAgICBkb25lOwogICAgcmV0dXJuIDEKfQphcHBlbmQtY3BwZmxhZ3MgKCkgCnsgCiAgICBbWyAt
eiAkKiBdXSAmJiByZXR1cm4gMDsKICAgIGV4cG9ydCBDUFBGTEFHUz0iJHtDUFBGTEFHU30gJCoi
OwogICAgcmV0dXJuIDAKfQphcHBlbmQtZmxhZ3MgKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBy
ZXR1cm4gMDsKICAgIGV4cG9ydCBDRkxBR1M9IiR7Q0ZMQUdTfSAkKiI7CiAgICBleHBvcnQgQ1hY
RkxBR1M9IiR7Q1hYRkxBR1N9ICQqIjsKICAgIHJldHVybiAwCn0KYXBwZW5kLWxkZmxhZ3MgKCkg
CnsgCiAgICBbWyAteiAkKiBdXSAmJiByZXR1cm4gMDsKICAgIGV4cG9ydCBMREZMQUdTPSIke0xE
RkxBR1N9ICQqIjsKICAgIHJldHVybiAwCn0KYXBwZW5kLWxmcy1mbGFncyAoKSAKeyAKICAgIFtb
IC1uICRAIF1dICYmIGRpZSAiYXBwZW5kLWxmcy1mbGFncyB0YWtlcyBubyBhcmd1bWVudHMiOwog
ICAgYXBwZW5kLWNwcGZsYWdzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NP
VVJDRSAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UKfQphdXRvdG9vbHNfY2hlY2tfbWFjcm8gKCkgCnsg
CiAgICBbWyAtZiBjb25maWd1cmUuYWMgfHwgLWYgY29uZmlndXJlLmluIF1dICYmIFdBTlRfQVVU
T0NPTkY9IjIuNSIgYXV0b2NvbmYgLS10cmFjZT0kMSAyPiAvZGV2L251bGw7CiAgICByZXR1cm4g
MAp9CmF1dG90b29sc19nZXRfYXV4ZGlyICgpIAp7IAogICAgbG9jYWwgYXV4ZGlyX3NjYW5fb3V0
OwogICAgYXV4ZGlyX3NjYW5fb3V0PSQoYXV0b3Rvb2xzX2NoZWNrX21hY3JvICJBQ19DT05GSUdf
QVVYX0RJUiIpOwogICAgW1sgLW4gJHthdXhkaXJfc2Nhbl9vdXR9IF1dIHx8IHJldHVybiAwOwog
ICAgZWNobyAke2F1eGRpcl9zY2FuX291dH0gfCBnYXdrICcoJDAgIX4gL15bWzpzcGFjZTpdXSoo
I3xkbmwpLykgewoJCWlmIChtYXRjaCgkMCwgL0FDX0NPTkZJR19BVVhfRElSOiguKikkLywgcmVz
KSkKCQkJcHJpbnQgcmVzWzFdCgl9JyB8IHVuaXE7CiAgICByZXR1cm4gMAp9CmF1dG90b29sc19n
ZXRfc3ViZGlycyAoKSAKeyAKICAgIGxvY2FsIHN1YmRpcnNfc2Nhbl9vdXQ7CiAgICBzdWJkaXJz
X3NjYW5fb3V0PSQoYXV0b3Rvb2xzX2NoZWNrX21hY3JvICJBQ19DT05GSUdfU1VCRElSUyIpOwog
ICAgW1sgLW4gJHtzdWJkaXJzX3NjYW5fb3V0fSBdXSB8fCByZXR1cm4gMDsKICAgIGVjaG8gIiR7
c3ViZGlyc19zY2FuX291dH0iIHwgZ2F3ayAnKCQwICF+IC9eW1s6c3BhY2U6XV0qKCN8ZG5sKS8p
IHsKCQlpZiAobWF0Y2goJDAsIC9BQ19DT05GSUdfU1VCRElSUzooLiopJC8sIHJlcykpCgkJCXBy
aW50IHJlc1sxXQoJfScgfCB1bmlxOwogICAgcmV0dXJuIDAKfQphdXRvdG9vbHNfcnVuX3Rvb2wg
KCkgCnsgCiAgICBpZiBbWyAke0VCVUlMRF9QSEFTRX0gIT0gInVucGFjayIgXV07IHRoZW4KICAg
ICAgICBld2FybiAiUUEgV2FybmluZzogcnVubmluZyAkMSBpbiAke0VCVUlMRF9QSEFTRX0gcGhh
c2UiOwogICAgZmk7CiAgICBsb2NhbCBTVERFUlJfVEFSR0VUPSIke1R9LyQkLm91dCI7CiAgICBs
b2NhbCByaXM7CiAgICBwcmludGYgIioqKioqICQxICoqKioqXG4qKioqKiAkKlxuXG4iID4gIiR7
U1RERVJSX1RBUkdFVCUvKn0vJDEtJHtTVERFUlJfVEFSR0VUIyMqL30iOwogICAgZWJlZ2luICJS
dW5uaW5nICRAIjsKICAgICIkQCIgPj4gIiR7U1RERVJSX1RBUkdFVCUvKn0vJDEtJHtTVERFUlJf
VEFSR0VUIyMqL30iIDI+JjE7CiAgICByaXM9JD87CiAgICBlZW5kICR7cmlzfTsKICAgIGlmIFtb
ICR7cmlzfSAhPSAwICYmICR7Tk9fRkFJTH0gIT0gMSBdXTsgdGhlbgogICAgICAgIGVjaG87CiAg
ICAgICAgZWVycm9yICJGYWlsZWQgUnVubmluZyAkMSAhIjsKICAgICAgICBlZXJyb3I7CiAgICAg
ICAgZWVycm9yICJJbmNsdWRlIGluIHlvdXIgYnVncmVwb3J0IHRoZSBjb250ZW50cyBvZjoiOwog
ICAgICAgIGVlcnJvcjsKICAgICAgICBlZXJyb3IgIiAgJHtTVERFUlJfVEFSR0VUJS8qfS8kMS0k
e1NUREVSUl9UQVJHRVQjIyovfSI7CiAgICAgICAgZWNobzsKICAgICAgICBkaWUgIkZhaWxlZCBS
dW5uaW5nICQxICEiOwogICAgZmkKfQpiaW5kbm93LWZsYWdzICgpIAp7IAogICAgZXdhcm4gIlFB
OiBzdG9wIHVzaW5nIHRoZSBiaW5kbm93LWZsYWdzIGZ1bmN0aW9uIC4uLiBzaW1wbHkgZHJvcCBp
dCBmcm9tIHlvdXIgZWJ1aWxkIiAxPiYyOwogICAgY2FzZSAkKCQodGMtZ2V0TEQpIC12IDI+JjEg
PC9kZXYvbnVsbCkgaW4gCiAgICAgICAgKkdOVSogfCAqJ3dpdGggQkZEJyopCiAgICAgICAgICAg
IGVjaG8gIi1XbCwteixub3ciCiAgICAgICAgOzsKICAgICAgICAqQXBwbGUqKQogICAgICAgICAg
ICBlY2hvICItYmluZF9hdF9sb2FkIgogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAg
Y2FzZSAkKCQodGMtZ2V0TEQpIC1WIDI+JjEgPC9kZXYvbnVsbCkgaW4gCiAgICAgICAgICAgICAg
ICAqU29sYXJpcyopCiAgICAgICAgICAgICAgICAgICAgZWNobyAiLVdsLC16LG5vdyIKICAgICAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWMKICAgICAgICA7OwogICAgZXNhYwp9CmJ1aWx0
X3dpdGhfdXNlICgpIAp7IAogICAgbG9jYWwgaGlkZGVuPSJubyI7CiAgICBpZiBbWyAkMSA9PSAi
LS1oaWRkZW4iIF1dOyB0aGVuCiAgICAgICAgaGlkZGVuPSJ5ZXMiOwogICAgICAgIHNoaWZ0Owog
ICAgZmk7CiAgICBsb2NhbCBtaXNzaW5nX2FjdGlvbj0iZGllIjsKICAgIGlmIFtbICQxID09ICIt
LW1pc3NpbmciIF1dOyB0aGVuCiAgICAgICAgbWlzc2luZ19hY3Rpb249JDI7CiAgICAgICAgc2hp
ZnQ7CiAgICAgICAgc2hpZnQ7CiAgICAgICAgY2FzZSAke21pc3NpbmdfYWN0aW9ufSBpbiAKICAg
ICAgICAgICAgdHJ1ZSB8IGZhbHNlIHwgZGllKQoKICAgICAgICAgICAgOzsKICAgICAgICAgICAg
KikKICAgICAgICAgICAgICAgIGRpZSAidW5rbm93biBhY3Rpb24gJyR7bWlzc2luZ19hY3Rpb259
JyIKICAgICAgICAgICAgOzsKICAgICAgICBlc2FjOwogICAgZmk7CiAgICBsb2NhbCBvcHQ9JDE7
CiAgICBbWyAke29wdDowOjF9ID0gIi0iIF1dICYmIHNoaWZ0IHx8IG9wdD0iLWEiOwogICAgbG9j
YWwgUEtHPSQoYmVzdF92ZXJzaW9uICQxKTsKICAgIFtbIC16ICR7UEtHfSBdXSAmJiBkaWUgIlVu
YWJsZSB0byByZXNvbHZlICQxIHRvIGFuIGluc3RhbGxlZCBwYWNrYWdlIjsKICAgIHNoaWZ0Owog
ICAgbG9jYWwgVVNFRklMRT0ke1JPT1R9L3Zhci9kYi9wa2cvJHtQS0d9L1VTRTsKICAgIGxvY2Fs
IElVU0VGSUxFPSR7Uk9PVH0vdmFyL2RiL3BrZy8ke1BLR30vSVVTRTsKICAgIGlmIFtbICEgLWUg
JHtVU0VGSUxFfSBdXSB8fCBbWyAhIC1lICR7SVVTRUZJTEV9ICYmICR7aGlkZGVufSA9PSAibm8i
IF1dOyB0aGVuCiAgICAgICAgY2FzZSAke21pc3NpbmdfYWN0aW9ufSBpbiAKICAgICAgICAgICAg
dHJ1ZSkKICAgICAgICAgICAgICAgIHJldHVybiAwCiAgICAgICAgICAgIDs7CiAgICAgICAgICAg
IGZhbHNlKQogICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgZGllKQogICAgICAgICAgICAgICAgZGllICJVbmFibGUgdG8gZGV0ZXJtaW5lIHdoYXQgVVNF
IGZsYWdzICRQS0cgd2FzIGJ1aWx0IHdpdGgiCiAgICAgICAgICAgIDs7CiAgICAgICAgZXNhYzsK
ICAgIGZpOwogICAgaWYgW1sgJHtoaWRkZW59ID09ICJubyIgXV07IHRoZW4KICAgICAgICBsb2Nh
bCBJVVNFX0JVSUxUPSQoPCR7SVVTRUZJTEV9KTsKICAgICAgICBsb2NhbCBleHBhbmQ7CiAgICAg
ICAgZm9yIGV4cGFuZCBpbiAkKGVjaG8gJHtVU0VfRVhQQU5EfSB8IHRyICdbOnVwcGVyOl0nICdb
Omxvd2VyOl0nKTsKICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAkMSA9PSAke2V4cGFuZH1f
KiBdXTsgdGhlbgogICAgICAgICAgICAgICAgZXhwYW5kPSIiOwogICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAgICAgaWYgW1sgLW4gJHtleHBh
bmR9IF1dOyB0aGVuCiAgICAgICAgICAgIGlmICEgaGFzICQxICR7SVVTRV9CVUlMVH07IHRoZW4K
ICAgICAgICAgICAgICAgIGNhc2UgJHttaXNzaW5nX2FjdGlvbn0gaW4gCiAgICAgICAgICAgICAg
ICAgICAgdHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICAgICAg
ICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGZhbHNlKQogICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gMQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAg
ZGllKQogICAgICAgICAgICAgICAgICAgICAgICBkaWUgIiRQS0cgZG9lcyBub3QgYWN0dWFsbHkg
c3VwcG9ydCB0aGUgJDEgVVNFIGZsYWchIgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICBlc2FjOwogICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpOwogICAgbG9j
YWwgVVNFX0JVSUxUPSQoPCR7VVNFRklMRX0pOwogICAgd2hpbGUgW1sgJCMgLWd0IDAgXV07IGRv
CiAgICAgICAgaWYgW1sgJHtvcHR9ID0gIi1vIiBdXTsgdGhlbgogICAgICAgICAgICBoYXMgJDEg
JHtVU0VfQlVJTFR9ICYmIHJldHVybiAwOwogICAgICAgIGVsc2UKICAgICAgICAgICAgaGFzICQx
ICR7VVNFX0JVSUxUfSB8fCByZXR1cm4gMTsKICAgICAgICBmaTsKICAgICAgICBzaGlmdDsKICAg
IGRvbmU7CiAgICBbWyAke29wdH0gPSAiLWEiIF1dCn0KY2Ryb21fZ2V0X2NkcyAoKSAKeyAKICAg
IGxvY2FsIGNkY250PTA7CiAgICBsb2NhbCBmPTsKICAgIGZvciBmIGluICIkQCI7CiAgICBkbwog
ICAgICAgICgoKytjZGNudCkpOwogICAgICAgIGV4cG9ydCBDRFJPTV9DSEVDS18ke2NkY250fT0i
JGYiOwogICAgZG9uZTsKICAgIGV4cG9ydCBDRFJPTV9UT1RBTF9DRFM9JHtjZGNudH07CiAgICBl
eHBvcnQgQ0RST01fQ1VSUkVOVF9DRD0xOwogICAgaWYgW1sgLW4gJHtDRF9ST09UfSR7Q0RfUk9P
VF8xfSBdXTsgdGhlbgogICAgICAgIGxvY2FsIHZhcj07CiAgICAgICAgY2RjbnQ9MDsKICAgICAg
ICB3aGlsZSBbWyAke2NkY250fSAtbHQgJHtDRFJPTV9UT1RBTF9DRFN9IF1dOyBkbwogICAgICAg
ICAgICAoKCsrY2RjbnQpKTsKICAgICAgICAgICAgdmFyPSJDRF9ST09UXyR7Y2RjbnR9IjsKICAg
ICAgICAgICAgW1sgLXogJHshdmFyfSBdXSAmJiB2YXI9IkNEX1JPT1QiOwogICAgICAgICAgICBp
ZiBbWyAteiAkeyF2YXJ9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlZXJyb3IgIllvdSBtdXN0
IGVpdGhlciB1c2UganVzdCB0aGUgQ0RfUk9PVCI7CiAgICAgICAgICAgICAgICBlZXJyb3IgIm9y
IHNwZWNpZnkgQUxMIHRoZSBDRF9ST09UX1ggdmFyaWFibGVzLiI7CiAgICAgICAgICAgICAgICBl
ZXJyb3IgIkluIHRoaXMgY2FzZSwgeW91IHdpbGwgbmVlZCAke0NEUk9NX1RPVEFMX0NEU30gQ0Rf
Uk9PVF9YIHZhcmlhYmxlcy4iOwogICAgICAgICAgICAgICAgZGllICJjb3VsZCBub3QgbG9jYXRl
IENEX1JPT1RfJHtjZGNudH0iOwogICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgICAg
IGV4cG9ydCBDRFJPTV9ST09UPSR7Q0RfUk9PVF8xOi0ke0NEX1JPT1R9fTsKICAgICAgICBlaW5m
byAiRm91bmQgQ0QgIyR7Q0RST01fQ1VSUkVOVF9DRH0gcm9vdCBhdCAke0NEUk9NX1JPT1R9IjsK
ICAgICAgICBleHBvcnQgQ0RST01fU0VUPS0xOwogICAgICAgIGZvciBmIGluICR7Q0RST01fQ0hF
Q0tfMS8vOi8gfTsKICAgICAgICBkbwogICAgICAgICAgICAoKCsrQ0RST01fU0VUKSk7CiAgICAg
ICAgICAgIFtbIC1lICR7Q0RfUk9PVH0vJHtmfSBdXSAmJiBicmVhazsKICAgICAgICBkb25lOwog
ICAgICAgIGV4cG9ydCBDRFJPTV9NQVRDSD0ke2Z9OwogICAgICAgIHJldHVybjsKICAgIGZpOwog
ICAgaWYgW1sgJHtDRFJPTV9UT1RBTF9DRFN9IC1lcSAxIF1dOyB0aGVuCiAgICAgICAgZWluZm8g
IlRoaXMgZWJ1aWxkIHdpbGwgbmVlZCB0aGUgJHtDRFJPTV9OQU1FOi1jZHJvbSBmb3IgJHtQTn19
IjsKICAgICAgICBlY2hvOwogICAgICAgIGVpbmZvICJJZiB5b3UgZG8gbm90IGhhdmUgdGhlIENE
LCBidXQgaGF2ZSB0aGUgZGF0YSBmaWxlcyI7CiAgICAgICAgZWluZm8gIm1vdW50ZWQgc29tZXdo
ZXJlIG9uIHlvdXIgZmlsZXN5c3RlbSwganVzdCBleHBvcnQiOwogICAgICAgIGVpbmZvICJ0aGUg
dmFyaWFibGUgQ0RfUk9PVCBzbyB0aGF0IGl0IHBvaW50cyB0byB0aGUiOwogICAgICAgIGVpbmZv
ICJkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgZmlsZXMuIjsKICAgICAgICBlY2hvOwogICAgICAg
IGVpbmZvICJGb3IgZXhhbXBsZToiOwogICAgICAgIGVpbmZvICJleHBvcnQgQ0RfUk9PVD0vbW50
L2Nkcm9tIjsKICAgICAgICBlY2hvOwogICAgZWxzZQogICAgICAgIGlmIFtbIC1uICR7Q0RST01f
TkFNRV9TRVR9IF1dOyB0aGVuCiAgICAgICAgICAgIGNkY250PTA7CiAgICAgICAgICAgIHdoaWxl
IFtbICR7Y2RjbnR9IC1sdCAke0NEUk9NX1RPVEFMX0NEU30gXV07IGRvCiAgICAgICAgICAgICAg
ICAoKCsrY2RjbnQpKTsKICAgICAgICAgICAgICAgIGV4cG9ydCBDRFJPTV9OQU1FXyR7Y2RjbnR9
PSIke0NEUk9NX05BTUVfU0VUWyQoKCR7Y2RjbnR9LTEpKV19IjsKICAgICAgICAgICAgZG9uZTsK
ICAgICAgICBmaTsKICAgICAgICBlaW5mbyAiVGhpcyBwYWNrYWdlIHdpbGwgbmVlZCBhY2Nlc3Mg
dG8gJHtDRFJPTV9UT1RBTF9DRFN9IGNkcy4iOwogICAgICAgIGNkY250PTA7CiAgICAgICAgd2hp
bGUgW1sgJHtjZGNudH0gLWx0ICR7Q0RST01fVE9UQUxfQ0RTfSBdXTsgZG8KICAgICAgICAgICAg
KCgrK2NkY250KSk7CiAgICAgICAgICAgIHZhcj0iQ0RST01fTkFNRV8ke2NkY250fSI7CiAgICAg
ICAgICAgIFtbICEgLXogJHshdmFyfSBdXSAmJiBlaW5mbyAiIENEICR7Y2RjbnR9OiAkeyF2YXJ9
IjsKICAgICAgICBkb25lOwogICAgICAgIGVjaG87CiAgICAgICAgZWluZm8gIklmIHlvdSBkbyBu
b3QgaGF2ZSB0aGUgQ0RzLCBidXQgaGF2ZSB0aGUgZGF0YSBmaWxlcyI7CiAgICAgICAgZWluZm8g
Im1vdW50ZWQgc29tZXdoZXJlIG9uIHlvdXIgZmlsZXN5c3RlbSwganVzdCBleHBvcnQiOwogICAg
ICAgIGVpbmZvICJ0aGUgZm9sbG93aW5nIHZhcmlhYmxlcyBzbyB0aGV5IHBvaW50IHRvIHRoZSBy
aWdodCBwbGFjZToiOwogICAgICAgIGVpbmZvbiAiIjsKICAgICAgICBjZGNudD0wOwogICAgICAg
IHdoaWxlIFtbICR7Y2RjbnR9IC1sdCAke0NEUk9NX1RPVEFMX0NEU30gXV07IGRvCiAgICAgICAg
ICAgICgoKytjZGNudCkpOwogICAgICAgICAgICBlY2hvIC1uICIgQ0RfUk9PVF8ke2NkY250fSI7
CiAgICAgICAgZG9uZTsKICAgICAgICBlY2hvOwogICAgICAgIGVpbmZvICJPciwgaWYgeW91IGhh
dmUgYWxsIHRoZSBmaWxlcyBpbiB0aGUgc2FtZSBwbGFjZSwgb3IiOwogICAgICAgIGVpbmZvICJ5
b3Ugb25seSBoYXZlIG9uZSBjZHJvbSwgeW91IGNhbiBleHBvcnQgQ0RfUk9PVCI7CiAgICAgICAg
ZWluZm8gImFuZCB0aGF0IHBsYWNlIHdpbGwgYmUgdXNlZCBhcyB0aGUgc2FtZSBkYXRhIHNvdXJj
ZSI7CiAgICAgICAgZWluZm8gImZvciBhbGwgdGhlIENEcy4iOwogICAgICAgIGVjaG87CiAgICAg
ICAgZWluZm8gIkZvciBleGFtcGxlOiI7CiAgICAgICAgZWluZm8gImV4cG9ydCBDRF9ST09UXzE9
L21udC9jZHJvbSI7CiAgICAgICAgZWNobzsKICAgIGZpOwogICAgZXhwb3J0IENEUk9NX1NFVD0i
IjsKICAgIGV4cG9ydCBDRFJPTV9DVVJSRU5UX0NEPTA7CiAgICBjZHJvbV9sb2FkX25leHRfY2QK
fQpjZHJvbV9sb2FkX25leHRfY2QgKCkgCnsgCiAgICBsb2NhbCB2YXI7CiAgICAoKCsrQ0RST01f
Q1VSUkVOVF9DRCkpOwogICAgdW5zZXQgQ0RST01fUk9PVDsKICAgIHZhcj1DRF9ST09UXyR7Q0RS
T01fQ1VSUkVOVF9DRH07CiAgICBbWyAteiAkeyF2YXJ9IF1dICYmIHZhcj0iQ0RfUk9PVCI7CiAg
ICBpZiBbWyAteiAkeyF2YXJ9IF1dOyB0aGVuCiAgICAgICAgdmFyPSJDRFJPTV9DSEVDS18ke0NE
Uk9NX0NVUlJFTlRfQ0R9IjsKICAgICAgICBfY2Ryb21fbG9jYXRlX2ZpbGVfb25fY2QgJHshdmFy
fTsKICAgIGVsc2UKICAgICAgICBleHBvcnQgQ0RST01fUk9PVD0keyF2YXJ9OwogICAgZmk7CiAg
ICBlaW5mbyAiRm91bmQgQ0QgIyR7Q0RST01fQ1VSUkVOVF9DRH0gcm9vdCBhdCAke0NEUk9NX1JP
T1R9Igp9CmNoZWNrX2V4dHJhX2NvbmZpZyAoKSAKeyAKICAgIGxvY2FsIGNvbmZpZyBuZWdhdGUg
ZGllIGVycm9yIHJld29ya21vZHVsZW5hbWVzOwogICAgbG9jYWwgc29mdF9lcnJvcnNfY291bnQ9
MCBoYXJkX2Vycm9yc19jb3VudD0wIGNvbmZpZ19yZXF1aXJlZD0wOwogICAgZ2V0X3ZlcnNpb247
CiAgICBmb3IgY29uZmlnIGluICR7Q09ORklHX0NIRUNLfTsKICAgIGRvCiAgICAgICAgaWYgW1sg
IiR7Y29uZmlnOjA6MX0iICE9ICJ+IiBdXTsgdGhlbgogICAgICAgICAgICBjb25maWdfcmVxdWly
ZWQ9MTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgaWYgW1sg
JHtjb25maWdfcmVxdWlyZWR9ID09IDAgXV07IHRoZW4KICAgICAgICBpZiAhIGxpbnV4X2NvbmZp
Z19leGlzdHM7IHRoZW4KICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgZmk7CiAgICBlbHNl
CiAgICAgICAgcmVxdWlyZV9jb25maWd1cmVkX2tlcm5lbDsKICAgIGZpOwogICAgZWluZm8gIkNo
ZWNraW5nIGZvciBzdWl0YWJsZSBrZXJuZWwgY29uZmlndXJhdGlvbiBvcHRpb25zLi4uIjsKICAg
IGZvciBjb25maWcgaW4gJHtDT05GSUdfQ0hFQ0t9OwogICAgZG8KICAgICAgICBkaWU9MTsKICAg
ICAgICBlcnJvcj0wOwogICAgICAgIG5lZ2F0ZT0wOwogICAgICAgIHJld29ya21vZHVsZW5hbWVz
PTA7CiAgICAgICAgaWYgW1sgJHtjb25maWc6MDoxfSA9PSAifiIgXV07IHRoZW4KICAgICAgICAg
ICAgZGllPTA7CiAgICAgICAgICAgIGNvbmZpZz0ke2NvbmZpZzoxfTsKICAgICAgICBlbHNlCiAg
ICAgICAgICAgIGlmIFtbICR7Y29uZmlnOjA6MX0gPT0gIkAiIF1dOyB0aGVuCiAgICAgICAgICAg
ICAgICBkaWU9MDsKICAgICAgICAgICAgICAgIHJld29ya21vZHVsZW5hbWVzPTE7CiAgICAgICAg
ICAgICAgICBjb25maWc9JHtjb25maWc6MX07CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwog
ICAgICAgIGlmIFtbICR7Y29uZmlnOjA6MX0gPT0gIiEiIF1dOyB0aGVuCiAgICAgICAgICAgIG5l
Z2F0ZT0xOwogICAgICAgICAgICBjb25maWc9JHtjb25maWc6MX07CiAgICAgICAgZmk7CiAgICAg
ICAgaWYgW1sgJHtuZWdhdGV9ID09IDEgXV07IHRoZW4KICAgICAgICAgICAgbGludXhfY2hrY29u
ZmlnX3ByZXNlbnQgJHtjb25maWd9ICYmIGVycm9yPTI7CiAgICAgICAgZWxzZQogICAgICAgICAg
ICBpZiBbWyAke3Jld29ya21vZHVsZW5hbWVzfSA9PSAxIF1dOyB0aGVuCiAgICAgICAgICAgICAg
ICBsb2NhbCB0ZW1wX2NvbmZpZz0iJHtjb25maWcvLyo6fSIgaSBuOwogICAgICAgICAgICAgICAg
Y29uZmlnPSIke2NvbmZpZy8vOip9IjsKICAgICAgICAgICAgICAgIGlmIGxpbnV4X2Noa2NvbmZp
Z19wcmVzZW50ICR7Y29uZmlnfTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGZvciBpIGluICR7
TU9EVUxFX05BTUVTfTsKICAgICAgICAgICAgICAgICAgICBkbwogICAgICAgICAgICAgICAgICAg
ICAgICBuPSIke2kvLyR7dGVtcF9jb25maWd9fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIFtb
IC16ICR7bi8vXCgqfSBdXSAmJiBNT0RVTEVfSUdOT1JFPSIke01PRFVMRV9JR05PUkV9ICR7dGVt
cF9jb25maWd9IjsKICAgICAgICAgICAgICAgICAgICBkb25lOwogICAgICAgICAgICAgICAgICAg
IGVycm9yPTI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgbGludXhfY2hrY29uZmlnX3ByZXNlbnQgJHtjb25maWd9IHx8IGVycm9yPTE7CiAgICAg
ICAgICAgIGZpOwogICAgICAgIGZpOwogICAgICAgIGlmIFtbICR7ZXJyb3J9ID4gMCBdXTsgdGhl
bgogICAgICAgICAgICBsb2NhbCByZXBvcnRfZnVuYz0iZWVycm9yIiBsb2NhbF9lcnJvcjsKICAg
ICAgICAgICAgbG9jYWxfZXJyb3I9IkVSUk9SXyR7Y29uZmlnfSI7CiAgICAgICAgICAgIGxvY2Fs
X2Vycm9yPSIkeyFsb2NhbF9lcnJvcn0iOwogICAgICAgICAgICBpZiBbWyAteiAiJHtsb2NhbF9l
cnJvcn0iIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBsb2NhbF9lcnJvcj0iJHtjb25maWd9X0VS
Uk9SIjsKICAgICAgICAgICAgICAgIGxvY2FsX2Vycm9yPSIkeyFsb2NhbF9lcnJvcn0iOwogICAg
ICAgICAgICBmaTsKICAgICAgICAgICAgaWYgW1sgJHtkaWV9ID09IDAgJiYgLXogIiR7bG9jYWxf
ZXJyb3J9IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgbG9jYWxfZXJyb3I9IldBUk5JTkdfJHtj
b25maWd9IjsKICAgICAgICAgICAgICAgIGxvY2FsX2Vycm9yPSIkeyFsb2NhbF9lcnJvcn0iOwog
ICAgICAgICAgICAgICAgaWYgW1sgLW4gIiR7bG9jYWxfZXJyb3J9IiBdXTsgdGhlbgogICAgICAg
ICAgICAgICAgICAgIHJlcG9ydF9mdW5jPSJld2FybiI7CiAgICAgICAgICAgICAgICBmaTsKICAg
ICAgICAgICAgZmk7CiAgICAgICAgICAgIGlmIFtbIC16ICIke2xvY2FsX2Vycm9yfSIgXV07IHRo
ZW4KICAgICAgICAgICAgICAgIFtbICR7ZXJyb3J9ID09IDEgXV0gJiYgbG9jYWxfZXJyb3I9Imlz
IG5vdCBzZXQgd2hlbiBpdCBzaG91bGQgYmUuIiB8fCBsb2NhbF9lcnJvcj0ic2hvdWxkIG5vdCBi
ZSBzZXQuIEJ1dCBpdCBpcy4iOwogICAgICAgICAgICAgICAgbG9jYWxfZXJyb3I9IkNPTkZJR18k
e2NvbmZpZ306XHQgJHtsb2NhbF9lcnJvcn0iOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAg
aWYgW1sgJHtkaWV9ID09IDAgXV07IHRoZW4KICAgICAgICAgICAgICAgICR7cmVwb3J0X2Z1bmN9
ICIgICR7bG9jYWxfZXJyb3J9IjsKICAgICAgICAgICAgICAgIHNvZnRfZXJyb3JzX2NvdW50PSRb
c29mdF9lcnJvcnNfY291bnQgKyAxXTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
JHtyZXBvcnRfZnVuY30gIiAgJHtsb2NhbF9lcnJvcn0iOwogICAgICAgICAgICAgICAgaGFyZF9l
cnJvcnNfY291bnQ9JFtoYXJkX2Vycm9yc19jb3VudCArIDFdOwogICAgICAgICAgICBmaTsKICAg
ICAgICBmaTsKICAgIGRvbmU7CiAgICBpZiBbWyAke2hhcmRfZXJyb3JzX2NvdW50fSA+IDAgXV07
IHRoZW4KICAgICAgICBlZXJyb3IgIlBsZWFzZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlc2Ugb3B0
aW9ucyBhcmUgc2V0IGNvcnJlY3RseS4iOwogICAgICAgIGVlcnJvciAiRmFpbHVyZSB0byBkbyBz
byBtYXkgY2F1c2UgdW5leHBlY3RlZCBwcm9ibGVtcy4iOwogICAgICAgIGVlcnJvciAiT25jZSB5
b3UgaGF2ZSBzYXRpc2ZpZWQgdGhlc2Ugb3B0aW9ucywgcGxlYXNlIHRyeSBtZXJnaW5nIjsKICAg
ICAgICBlZXJyb3IgInRoaXMgcGFja2FnZSBhZ2Fpbi4iOwogICAgICAgIGRpZSAiSW5jb3JyZWN0
IGtlcm5lbCBjb25maWd1cmF0aW9uIG9wdGlvbnMiOwogICAgZWxzZQogICAgICAgIGlmIFtbICR7
c29mdF9lcnJvcnNfY291bnR9ID4gMCBdXTsgdGhlbgogICAgICAgICAgICBld2FybiAiUGxlYXNl
IGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGVzZSBvcHRpb25zIGFyZSBzZXQgY29ycmVjdGx5LiI7CiAg
ICAgICAgICAgIGV3YXJuICJGYWlsdXJlIHRvIGRvIHNvIG1heSBjYXVzZSB1bmV4cGVjdGVkIHBy
b2JsZW1zLiI7CiAgICAgICAgZWxzZQogICAgICAgICAgICBlZW5kIDA7CiAgICAgICAgZmk7CiAg
ICBmaQp9CmNoZWNrX2tlcm5lbF9idWlsdCAoKSAKeyAKICAgIHJlcXVpcmVfY29uZmlndXJlZF9r
ZXJuZWw7CiAgICBnZXRfdmVyc2lvbjsKICAgIGlmIFsgISAtZiAiJHtLVl9PVVRfRElSfS9pbmNs
dWRlL2xpbnV4L3ZlcnNpb24uaCIgXTsgdGhlbgogICAgICAgIGVlcnJvciAiVGhlc2Ugc291cmNl
cyBoYXZlIG5vdCB5ZXQgYmVlbiBwcmVwYXJlZC4iOwogICAgICAgIGVlcnJvciAiV2UgY2Fubm90
IGJ1aWxkIGFnYWluc3QgYW4gdW5wcmVwYXJlZCB0cmVlLiI7CiAgICAgICAgZWVycm9yICJUbyBy
ZXNvbHZlIHRoaXMsIHBsZWFzZSB0eXBlIHRoZSBmb2xsb3dpbmc6IjsKICAgICAgICBlZXJyb3I7
CiAgICAgICAgZWVycm9yICIjIGNkICR7S1ZfRElSfSI7CiAgICAgICAgZWVycm9yICIjIG1ha2Ug
b2xkY29uZmlnIjsKICAgICAgICBlZXJyb3IgIiMgbWFrZSBtb2R1bGVzX3ByZXBhcmUiOwogICAg
ICAgIGVlcnJvcjsKICAgICAgICBlZXJyb3IgIlRoZW4gcGxlYXNlIHRyeSBtZXJnaW5nIHRoaXMg
bW9kdWxlIGFnYWluLiI7CiAgICAgICAgZGllICJLZXJuZWwgc291cmNlcyBuZWVkIGNvbXBpbGlu
ZyBmaXJzdCI7CiAgICBmaQp9CmNoZWNrX2xpY2Vuc2UgKCkgCnsgCiAgICBsb2NhbCBsaWM9JDE7
CiAgICBpZiBbIC16ICIke2xpY30iIF07IHRoZW4KICAgICAgICBsaWM9IiR7UE9SVERJUn0vbGlj
ZW5zZXMvJHtMSUNFTlNFfSI7CiAgICBlbHNlCiAgICAgICAgaWYgWyAtZSAiJHtQT1JURElSfS9s
aWNlbnNlcy8ke2xpY30iIF07IHRoZW4KICAgICAgICAgICAgbGljPSIke1BPUlRESVJ9L2xpY2Vu
c2VzLyR7bGljfSI7CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbIC1lICIke1BXRH0vJHts
aWN9IiBdOyB0aGVuCiAgICAgICAgICAgICAgICBsaWM9IiR7UFdEfS8ke2xpY30iOwogICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICBpZiBbIC1lICIke2xpY30iIF07IHRoZW4KICAgICAg
ICAgICAgICAgICAgICBsaWM9IiR7bGljfSI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAg
ICAgZmk7CiAgICAgICAgZmk7CiAgICBmaTsKICAgIFsgISAtZiAiJHtsaWN9IiBdICYmIGRpZSAi
Q291bGQgbm90IGZpbmQgcmVxdWVzdGVkIGxpY2Vuc2UgJHtsaWN9IjsKICAgIGxvY2FsIGw9ImBi
YXNlbmFtZSAke2xpY31gIjsKICAgIGxvY2FsIHNob3B0cz0kLTsKICAgIGxvY2FsIGFsaWM7CiAg
ICBzZXQgLW8gbm9nbG9iOwogICAgZm9yIGFsaWMgaW4gJHtBQ0NFUFRfTElDRU5TRX07CiAgICBk
bwogICAgICAgIGlmIFtbICR7YWxpY30gPT0gJHtsfSBdXTsgdGhlbgogICAgICAgICAgICBzZXQg
K28gbm9nbG9iOwogICAgICAgICAgICBzZXQgLSR7c2hvcHRzfTsKICAgICAgICAgICAgcmV0dXJu
IDA7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgc2V0ICtvIG5vZ2xvYjsKICAgIHNldCAtJHNo
b3B0czsKICAgIGxvY2FsIGxpY21zZz0kKGVta3RlbXApOwogICAgY2F0ID4gJHtsaWNtc2d9ICA8
PC1FT0YKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgpUaGUgZm9sbG93aW5nIGxpY2Vuc2Ugb3V0bGluZXMgdGhlIHRlcm1zIG9mIHVzZSBv
ZiB0aGlzCnBhY2thZ2UuICBZb3UgTVVTVCBhY2NlcHQgdGhpcyBsaWNlbnNlIGZvciBpbnN0YWxs
YXRpb24gdG8KY29udGludWUuICBXaGVuIHlvdSBhcmUgZG9uZSB2aWV3aW5nLCBoaXQgJ3EnLglJ
ZiB5b3UKQ1RSTCtDIG91dCBvZiB0aGlzLCB0aGUgaW5zdGFsbCB3aWxsIG5vdCBydW4hCioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCkVP
RgoKICAgIGNhdCAke2xpY30gPj4gJHtsaWNtc2d9OwogICAgJHtQQUdFUjotbGVzc30gJHtsaWNt
c2d9IHx8IGRpZSAiQ291bGQgbm90IGV4ZWN1dGUgcGFnZXIgKCR7UEFHRVJ9KSB0byBhY2NlcHQg
JHtsaWN9IjsKICAgIGVpbmZvbiAiRG8geW91IGFjY2VwdCB0aGUgdGVybXMgb2YgdGhpcyBsaWNl
bnNlICgke2x9KT8gW3llcy9ub10gIjsKICAgIHJlYWQgYWxpYzsKICAgIGNhc2UgJHthbGljfSBp
biAKICAgICAgICB5ZXMgfCBZZXMgfCB5IHwgWSkKICAgICAgICAgICAgcmV0dXJuIDAKICAgICAg
ICA7OwogICAgICAgICopCiAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgIGVjaG87CiAgICAg
ICAgICAgIGVjaG87CiAgICAgICAgICAgIGVlcnJvciAiWW91IE1VU1QgYWNjZXB0IHRoZSBsaWNl
bnNlIHRvIGNvbnRpbnVlISAgRXhpdGluZyEiOwogICAgICAgICAgICBkaWUgIkZhaWxlZCB0byBh
Y2NlcHQgbGljZW5zZSIKICAgICAgICA7OwogICAgZXNhYwp9CmNoZWNrX21vZHVsZXNfc3VwcG9y
dGVkICgpIAp7IAogICAgcmVxdWlyZV9jb25maWd1cmVkX2tlcm5lbDsKICAgIGdldF92ZXJzaW9u
OwogICAgaWYgISBsaW51eF9jaGtjb25maWdfYnVpbHRpbiAiTU9EVUxFUyI7IHRoZW4KICAgICAg
ICBlZXJyb3IgIlRoZXNlIHNvdXJjZXMgZG8gbm90IHN1cHBvcnQgbG9hZGluZyBleHRlcm5hbCBt
b2R1bGVzLiI7CiAgICAgICAgZWVycm9yICJ0byBiZSBhYmxlIHRvIHVzZSB0aGlzIG1vZHVsZSBw
bGVhc2UgZW5hYmxlIFwiTG9hZGFibGUgbW9kdWxlcyBzdXBwb3J0XCIiOwogICAgICAgIGVlcnJv
ciAiaW4geW91ciBrZXJuZWwsIHJlY29tcGlsZSBhbmQgdGhlbiB0cnkgbWVyZ2luZyB0aGlzIG1v
ZHVsZSBhZ2Fpbi4iOwogICAgICAgIGRpZSAiTm8gc3VwcG9ydCBmb3IgZXh0ZXJuYWwgbW9kdWxl
cyBpbiAke0tWX0ZVTEx9IGNvbmZpZyI7CiAgICBmaQp9CmNoZWNrX3psaWJpbmZsYXRlICgpIAp7
IAogICAgcmVxdWlyZV9jb25maWd1cmVkX2tlcm5lbDsKICAgIGdldF92ZXJzaW9uOwogICAgbG9j
YWwgSU5GTEFURTsKICAgIGxvY2FsIERFRkxBVEU7CiAgICBlaW5mbyAiRGV0ZXJtaW5pbmcgdGhl
IHVzYWJpbGl0eSBvZiBaTElCX0lORkxBVEUgc3VwcG9ydCBpbiB5b3VyIGtlcm5lbCI7CiAgICBl
YmVnaW4gImNoZWNraW5nIFpMSUJfSU5GTEFURSI7CiAgICBnZXRmaWxldmFyX2lzYnVpbHRpbiBD
T05GSUdfWkxJQl9JTkZMQVRFICR7S1ZfRElSfS8uY29uZmlnOwogICAgZWVuZCAkPzsKICAgIFsg
IiQ/IiAhPSAwIF0gJiYgZGllOwogICAgZWJlZ2luICJjaGVja2luZyBaTElCX0RFRkxBVEUiOwog
ICAgZ2V0ZmlsZXZhcl9pc2J1aWx0aW4gQ09ORklHX1pMSUJfREVGTEFURSAke0tWX0RJUn0vLmNv
bmZpZzsKICAgIGVlbmQgJD87CiAgICBbICIkPyIgIT0gMCBdICYmIGRpZTsKICAgIGxvY2FsIExJ
TkVOT19TVEFSVDsKICAgIGxvY2FsIExJTkVOT19FTkQ7CiAgICBsb2NhbCBTWU1CT0xTOwogICAg
bG9jYWwgeDsKICAgIExJTkVOT19FTkQ9IiQoZ3JlcCAtbiAnQ09ORklHX1pMSUJfSU5GTEFURSB5
JyAke0tWX0RJUn0vbGliL0NvbmZpZy5pbiB8IGN1dCAtZCA6IC1mIDEpIjsKICAgIExJTkVOT19T
VEFSVD0iJChoZWFkIC1uICRMSU5FTk9fRU5EICR7S1ZfRElSfS9saWIvQ29uZmlnLmluIHwgZ3Jl
cCAtbiAnaWYgXFsnIHwgdGFpbCAtbiAxIHwgY3V0IC1kIDogLWYgMSkiOwogICAgKCggTElORU5P
X0FNT1VOVCA9ICRMSU5FTk9fRU5EIC0gJExJTkVOT19TVEFSVCApKTsKICAgICgoIExJTkVOT19F
TkQgPSAkTElORU5PX0VORCAtIDEgKSk7CiAgICBTWU1CT0xTPSIkKGhlYWQgLW4gJExJTkVOT19F
TkQgJHtLVl9ESVJ9L2xpYi9Db25maWcuaW4gfCB0YWlsIC1uICRMSU5FTk9fQU1PVU5UIHwgc2Vk
IC1lICdzL14uKlwoQ09ORklHX1teXCIgXSpcKS4qL1wxL2c7JykiOwogICAgZm9yIHggaW4gJFNZ
TUJPTFM7CiAgICBkbwogICAgICAgIGlmIFsgIiR7IXh9IiA9ICJ5IiBdOyB0aGVuCiAgICAgICAg
ICAgIGVpbmZvICIke3h9IGVuc3VyZXMgemxpYiBpcyBsaW5rZWQgaW50byB5b3VyIGtlcm5lbCAt
IGV4Y2VsbGVudCI7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGZpOwogICAgZG9uZTsK
ICAgIGVlcnJvcjsKICAgIGVlcnJvciAiVGhpcyBrZXJuZWwgbW9kdWxlIHJlcXVpcmVzIFpMSUIg
bGlicmFyeSBzdXBwb3J0LiI7CiAgICBlZXJyb3IgIllvdSBoYXZlIGVuYWJsZWQgemxpYiBzdXBw
b3J0IGluIHlvdXIga2VybmVsLCBidXQgaGF2ZW4ndCBlbmFibGVkIjsKICAgIGVlcnJvciAiZW5h
YmxlZCBhbnkgb3B0aW9uIHRoYXQgd2lsbCBlbnN1cmUgdGhhdCB6bGliIGlzIGxpbmtlZCBpbnRv
IHlvdXIiOwogICAgZWVycm9yICJrZXJuZWwuIjsKICAgIGVlcnJvcjsKICAgIGVlcnJvciAiUGxl
YXNlIGVuc3VyZSB0aGF0IHlvdSBlbmFibGUgYXQgbGVhc3Qgb25lIG9mIHRoZXNlIG9wdGlvbnM6
IjsKICAgIGVlcnJvcjsKICAgIGZvciB4IGluICRTWU1CT0xTOwogICAgZG8KICAgICAgICBlZXJy
b3IgIiAgKiAkeCI7CiAgICBkb25lOwogICAgZWVycm9yOwogICAgZWVycm9yICJQbGVhc2UgcmVt
ZW1iZXIgdG8gcmVjb21waWxlIGFuZCBpbnN0YWxsIHlvdXIga2VybmVsLCBhbmQgcmVib290IjsK
ICAgIGVlcnJvciAiaW50byB5b3VyIG5ldyBrZXJuZWwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gbG9h
ZCB0aGlzIGtlcm5lbCBtb2R1bGUuIjsKICAgIGRpZSAiS2VybmVsIGRvZXNuJ3QgaW5jbHVkZSB6
bGliIHN1cHBvcnQiCn0KY3JlYXRlX21sX2luY2x1ZGVzICgpIAp7IAogICAgbG9jYWwgZGVzdD0k
MTsKICAgIHNoaWZ0OwogICAgbG9jYWwgYmFzZWRpcnM9JChjcmVhdGVfbWxfaW5jbHVkZXMtbGlz
dGRpcnMgIiRAIik7CiAgICBjcmVhdGVfbWxfaW5jbHVkZXMtbWFrZWRlc3RkaXJzICR7ZGVzdH0g
JHtiYXNlZGlyc307CiAgICBsb2NhbCBmaWxlOwogICAgZm9yIGZpbGUgaW4gJChjcmVhdGVfbWxf
aW5jbHVkZXMtYWxsZmlsZXMgJHtiYXNlZGlyc30pOwogICAgZG8KICAgICAgICAoIGVjaG8gIi8q
IEF1dG9nZW5lcmF0ZWQgYnkgY3JlYXRlX21sX2luY2x1ZGVzKCkgaW4gbXVsdGlsaWIuZWNsYXNz
ICovIjsKICAgICAgICBsb2NhbCBkaXI7CiAgICAgICAgZm9yIGRpciBpbiAke2Jhc2VkaXJzfTsK
ICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAtZiAke0R9LyR7ZGlyfS8ke2ZpbGV9IF1dOyB0
aGVuCiAgICAgICAgICAgICAgICBlY2hvICIiOwogICAgICAgICAgICAgICAgbG9jYWwgc3ltPSQo
Y3JlYXRlX21sX2luY2x1ZGVzLXN5bV9mb3JfZGlyICR7ZGlyfSAiJEAiKTsKICAgICAgICAgICAg
ICAgIGlmIFtbICR7c3ltLz19ICE9ICIke3N5bX0iIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAg
ICAgZWNobyAiI2lmICR7c3ltfSI7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg
ICAgICAgaWYgW1sgJHtzeW06OjF9ID09ICIhIiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAg
ICAgICBlY2hvICIjaWZuZGVmICR7c3ltOjF9IjsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIiNpZmRlZiAke3N5bX0iOwogICAgICAgICAgICAg
ICAgICAgIGZpOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBlY2hvICIjIGlu
Y2x1ZGUgPCQoY3JlYXRlX21sX2luY2x1ZGVzLWFic29sdXRlICR7ZGlyfS8ke2ZpbGV9KT4iOwog
ICAgICAgICAgICAgICAgZWNobyAiI2VuZGlmIC8qICR7c3ltfSAqLyI7CiAgICAgICAgICAgIGZp
OwogICAgICAgIGRvbmUgKSA+ICIke0R9LyR7ZGVzdH0vJHtmaWxlfSI7CiAgICBkb25lCn0KY3Jl
YXRlX21sX2luY2x1ZGVzLWFic29sdXRlICgpIAp7IAogICAgbG9jYWwgZHN0PSIkKGNyZWF0ZV9t
bF9pbmNsdWRlcy10aWR5X3BhdGggJDEpIjsKICAgIGRzdD0oJHtkc3QvL1wvLyB9KTsKICAgIGxv
Y2FsIGk7CiAgICBmb3IgKChpPTA7IGk8JHsjZHN0WypdfTsgaSsrKSkKICAgIGRvCiAgICAgICAg
WyAiJHtkc3RbaV19IiA9PSAiaW5jbHVkZSIgXSAmJiBicmVhazsKICAgIGRvbmU7CiAgICBsb2Nh
bCBzdHJpcF91cHRvPSRpOwogICAgZm9yICgoaT1zdHJpcF91cHRvKzE7IGk8JHsjZHN0WypdfS0x
OyBpKyspKQogICAgZG8KICAgICAgICBlY2hvIC1uICR7ZHN0W2ldfS87CiAgICBkb25lOwogICAg
ZWNobyAtbiAke2RzdFtpXX0KfQpjcmVhdGVfbWxfaW5jbHVkZXMtYWxsZmlsZXMgKCkgCnsgCiAg
ICBsb2NhbCBiYXNlZGlyIGZpbGU7CiAgICBmb3IgYmFzZWRpciBpbiAiJEAiOwogICAgZG8KICAg
ICAgICBmb3IgZmlsZSBpbiAkKGZpbmQgIiR7RH0iLyR7YmFzZWRpcn0gLXR5cGUgZik7CiAgICAg
ICAgZG8KICAgICAgICAgICAgZWNobyAke2ZpbGUvJHtEfVwvJHtiYXNlZGlyfVwvL307CiAgICAg
ICAgZG9uZTsKICAgIGRvbmUgfCBzb3J0IHwgdW5pcQp9CmNyZWF0ZV9tbF9pbmNsdWRlcy1saXN0
ZGlycyAoKSAKeyAKICAgIGxvY2FsIGRpcnM7CiAgICBsb2NhbCBkYXRhOwogICAgZm9yIGRhdGEg
aW4gIiRAIjsKICAgIGRvCiAgICAgICAgZGlycz0iJHtkaXJzfSAke2RhdGEvKjovfSI7CiAgICBk
b25lOwogICAgZWNobyAke2RpcnM6MX0KfQpjcmVhdGVfbWxfaW5jbHVkZXMtbWFrZWRlc3RkaXJz
ICgpIAp7IAogICAgbG9jYWwgZGVzdD0kMTsKICAgIHNoaWZ0OwogICAgbG9jYWwgYmFzZWRpcnM9
JEA7CiAgICBkb2RpciAke2Rlc3R9OwogICAgbG9jYWwgYmFzZWRpcjsKICAgIGZvciBiYXNlZGly
IGluICR7YmFzZWRpcnN9OwogICAgZG8KICAgICAgICBsb2NhbCBkaXI7CiAgICAgICAgZm9yIGRp
ciBpbiAkKGZpbmQgJHtEfS8ke2Jhc2VkaXJ9IC10eXBlIGQpOwogICAgICAgIGRvCiAgICAgICAg
ICAgIGRvZGlyICR7ZGVzdH0vJHtkaXIvJHtEfVwvJHtiYXNlZGlyfS99OwogICAgICAgIGRvbmU7
CiAgICBkb25lCn0KY3JlYXRlX21sX2luY2x1ZGVzLXN5bV9mb3JfZGlyICgpIAp7IAogICAgbG9j
YWwgZGlyPSQxOwogICAgc2hpZnQ7CiAgICBsb2NhbCBkYXRhOwogICAgZm9yIGRhdGEgaW4gIiRA
IjsKICAgIGRvCiAgICAgICAgaWYgW1sgJHtkYXRhfSA9PSAqOiR7ZGlyfSBdXTsgdGhlbgogICAg
ICAgICAgICBlY2hvICR7ZGF0YS86Ki99OwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBm
aTsKICAgIGRvbmU7CiAgICBlY2hvICJTaG91bGRuJ3QgYmUgaGVyZSAtLSBjcmVhdGVfbWxfaW5j
bHVkZXMtc3ltX2Zvcl9kaXIgJDEgJEAiOwogICAgZXhpdCAxCn0KY3JlYXRlX21sX2luY2x1ZGVz
LXRpZHlfcGF0aCAoKSAKeyAKICAgIGxvY2FsIHJlbW92ZWQ9JDE7CiAgICBpZiBbIC1uICIke3Jl
bW92ZWR9IiBdOyB0aGVuCiAgICAgICAgd2hpbGUgWyAiJHtyZW1vdmVkfSIgIT0gIiR7cmVtb3Zl
ZC9cL1wvL1wvfSIgXTsgZG8KICAgICAgICAgICAgcmVtb3ZlZD0ke3JlbW92ZWQvXC9cLy9cL307
CiAgICAgICAgZG9uZTsKICAgICAgICB3aGlsZSBbICIke3JlbW92ZWR9IiAhPSAiJHtyZW1vdmVk
Ly9cLy5cLy9cL30iIF07IGRvCiAgICAgICAgICAgIHJlbW92ZWQ9JHtyZW1vdmVkLy9cLy5cLy9c
L307CiAgICAgICAgZG9uZTsKICAgICAgICBbICIke3JlbW92ZWQjIyovfSIgPSAiLiIgXSAmJiBy
ZW1vdmVkPSR7cmVtb3ZlZCUvKn07CiAgICAgICAgd2hpbGUgWyAiJHtyZW1vdmVkfSIgIT0gIiR7
cmVtb3ZlZC8vXC8uLlwvfSIgXTsgZG8KICAgICAgICAgICAgbG9jYWwgcDE9IiR7cmVtb3ZlZCUl
XC8uLlwvKn0iOwogICAgICAgICAgICBsb2NhbCBwMj0iJHtyZW1vdmVkIypcLy4uXC99IjsKICAg
ICAgICAgICAgcmVtb3ZlZD0iJHtwMSVcLyp9LyR7cDJ9IjsKICAgICAgICBkb25lOwogICAgICAg
IFsgIiR7cmVtb3ZlZCMjKi99IiA9ICIuLiIgXSAmJiByZW1vdmVkPSR7cmVtb3ZlZCUvKi8qfTsK
ICAgICAgICBbICIke3JlbW92ZWQjIyovfSIgPSAiIiBdICYmIHJlbW92ZWQ9JHtyZW1vdmVkJS8q
fTsKICAgICAgICBlY2hvICR7cmVtb3ZlZH07CiAgICBmaQp9CmRhcndpbnRvb2xpemUgKCkgCnsg
CiAgICBld2FybiAiZGFyd2ludG9vbGl6ZSgpIGlzIGRlcHJlY2F0ZWQsIHBsZWFzZSBqdXN0IHVz
ZSBlbGlidG9vbGl6ZSgpISI7CiAgICBlbGlidG9vbGl6ZQp9CmRlbGV0ZV9hbGxfdmVyc2lvbl9z
ZXBhcmF0b3JzICgpIAp7IAogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb247CiAgICBy
ZXBsYWNlX2FsbF92ZXJzaW9uX3NlcGFyYXRvcnMgIiIgIiR7MX0iOwogICAgX192ZXJzaW9uYXRv
cl9zaG9wdF90b2dnbGUgb2ZmCn0KZGVsZXRlX3ZlcnNpb25fc2VwYXJhdG9yICgpIAp7IAogICAg
X192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb247CiAgICByZXBsYWNlX3ZlcnNpb25fc2VwYXJh
dG9yICIkezF9IiAiIiAiJHsyfSI7CiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYK
fQpkbG9wZW5fbGliICgpIAp7IAogICAgaWYgW1sgJHtFTElCQ30gIT0gKkJTRCBdXTsgdGhlbgog
ICAgICAgIGVjaG8gIi1sZGwiOwogICAgZmkKfQpkb2ljb24gKCkgCnsgCiAgICAoIGxvY2FsIGkg
aiByZXQ7CiAgICBpbnNpbnRvIC91c3Ivc2hhcmUvcGl4bWFwczsKICAgIGZvciBpIGluICIkQCI7
CiAgICBkbwogICAgICAgIGlmIFtbIC1mICR7aX0gXV07IHRoZW4KICAgICAgICAgICAgZG9pbnMg
IiR7aX0iOwogICAgICAgICAgICAoKHJldCs9JD8pKTsKICAgICAgICBlbHNlCiAgICAgICAgICAg
IGlmIFtbIC1kICR7aX0gXV07IHRoZW4KICAgICAgICAgICAgICAgIGZvciBqIGluICIke2l9Ii8q
LnBuZzsKICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAgICAgZG9pbnMgIiR7an0i
OwogICAgICAgICAgICAgICAgICAgICgocmV0Kz0kPykpOwogICAgICAgICAgICAgICAgZG9uZTsK
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgKCgrK3JldCkpOwogICAgICAgICAgICBm
aTsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBleGl0ICR7cmV0fSApCn0KZG9tZW51ICgpIAp7
IAogICAgKCBsb2NhbCBpIGogcmV0PTA7CiAgICBpbnNpbnRvIC91c3Ivc2hhcmUvYXBwbGljYXRp
b25zOwogICAgZm9yIGkgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgaWYgW1sgLWYgJHtpfSBdXTsg
dGhlbgogICAgICAgICAgICBkb2lucyAiJHtpfSI7CiAgICAgICAgICAgICgocmV0Kz0kPykpOwog
ICAgICAgIGVsc2UKICAgICAgICAgICAgaWYgW1sgLWQgJHtpfSBdXTsgdGhlbgogICAgICAgICAg
ICAgICAgZm9yIGogaW4gIiR7aX0iLyouZGVza3RvcDsKICAgICAgICAgICAgICAgIGRvCiAgICAg
ICAgICAgICAgICAgICAgZG9pbnMgIiR7an0iOwogICAgICAgICAgICAgICAgICAgICgocmV0Kz0k
PykpOwogICAgICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgKCgrK3JldCkpOwogICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBl
eGl0ICR7cmV0fSApCn0KZWFjbG9jYWwgKCkgCnsgCiAgICBsb2NhbCBhY2xvY2FsX29wdHM7CiAg
ICBpZiBbWyAtbiAke0FUX000RElSfSBdXTsgdGhlbgogICAgICAgIGZvciB4IGluICR7QVRfTTRE
SVJ9OwogICAgICAgIGRvCiAgICAgICAgICAgIGNhc2UgIiR7eH0iIGluIAogICAgICAgICAgICAg
ICAgIi1JIikKCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKikKICAgICAgICAg
ICAgICAgICAgICBbWyAhIC1kICR7eH0gXV0gJiYgZXdhcm4gImVhY2xvY2FsOiAnJHt4fScgZG9l
cyBub3QgZXhpc3QiOwogICAgICAgICAgICAgICAgICAgIGFjbG9jYWxfb3B0cz0iJHthY2xvY2Fs
X29wdHN9IC1JICR7eH0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICBlc2FjOwogICAg
ICAgIGRvbmU7CiAgICBmaTsKICAgIFtbICEgLWYgYWNsb2NhbC5tNCB8fCAtbiAkKGdyZXAgLWUg
J2dlbmVyYXRlZC4qYnkgYWNsb2NhbCcgYWNsb2NhbC5tNCkgXV0gJiYgYXV0b3Rvb2xzX3J1bl90
b29sIGFjbG9jYWwgIiRAIiAke2FjbG9jYWxfb3B0c30KfQplYXV0b2NvbmYgKCkgCnsgCiAgICBp
ZiBbWyAhIC1mIGNvbmZpZ3VyZS5hYyAmJiAhIC1mIGNvbmZpZ3VyZS5pbiBdXTsgdGhlbgogICAg
ICAgIGVjaG87CiAgICAgICAgZWVycm9yICJObyBjb25maWd1cmUue2FjLGlufSBwcmVzZW50IGlu
ICckKHB3ZCB8IHNlZCAtZSAnczouKi86OicpJyEiOwogICAgICAgIGVjaG87CiAgICAgICAgZGll
ICJObyBjb25maWd1cmUue2FjLGlufSBwcmVzZW50ISI7CiAgICBmaTsKICAgIGF1dG90b29sc19y
dW5fdG9vbCBhdXRvY29uZiAiJEAiCn0KZWF1dG9oZWFkZXIgKCkgCnsgCiAgICBbWyAtbiAkKGF1
dG90b29sc19jaGVja19tYWNybyAiQUNfQ09ORklHX0hFQURFUlMiKSBdXSB8fCByZXR1cm4gMDsK
ICAgIE5PX0ZBSUw9MSBhdXRvdG9vbHNfcnVuX3Rvb2wgYXV0b2hlYWRlciAiJEAiCn0KZWF1dG9t
YWtlICgpIAp7IAogICAgbG9jYWwgZXh0cmFfb3B0czsKICAgIGxvY2FsIG1ha2VmaWxlX25hbWU7
CiAgICBpZiBbWyAtZiBHTlVtYWtlZmlsZS5hbSBdXTsgdGhlbgogICAgICAgIG1ha2VmaWxlX25h
bWU9IkdOVW1ha2VmaWxlIjsKICAgIGVsc2UKICAgICAgICBpZiBbWyAtZiBNYWtlZmlsZS5hbSBd
XTsgdGhlbgogICAgICAgICAgICBtYWtlZmlsZV9uYW1lPSJNYWtlZmlsZSI7CiAgICAgICAgZWxz
ZQogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBmaTsKICAgIGZpOwogICAgaWYgW1sgLXog
JHtGUk9NX0VBVVRPUkVDT05GfSAmJiAtZiAke21ha2VmaWxlX25hbWV9LmluIF1dOyB0aGVuCiAg
ICAgICAgbG9jYWwgdXNlZF9hdXRvbWFrZTsKICAgICAgICBsb2NhbCBpbnN0YWxsZWRfYXV0b21h
a2U7CiAgICAgICAgaW5zdGFsbGVkX2F1dG9tYWtlPSQoYXV0b21ha2UgLS12ZXJzaW9uIHwgaGVh
ZCAtbiAxIHwgCQkJc2VkIC1lICdzOi4qKEdOVSBhdXRvbWFrZSkgOjonKTsKICAgICAgICB1c2Vk
X2F1dG9tYWtlPSQoaGVhZCAtbiAxIDwgJHttYWtlZmlsZV9uYW1lfS5pbiB8IAkJCXNlZCAtZSAn
czouKmJ5IGF1dG9tYWtlIFwoLipcKSBmcm9tIC4qOlwxOicpOwogICAgICAgIGlmIFtbICR7aW5z
dGFsbGVkX2F1dG9tYWtlfSAhPSAke3VzZWRfYXV0b21ha2V9IF1dOyB0aGVuCiAgICAgICAgICAg
IGVpbmZvICJBdXRvbWFrZSB1c2VkIGZvciB0aGUgcGFja2FnZSAoJHt1c2VkX2F1dG9tYWtlfSkg
ZGlmZmVycyBmcm9tIjsKICAgICAgICAgICAgZWluZm8gInRoZSBpbnN0YWxsZWQgdmVyc2lvbiAo
JHtpbnN0YWxsZWRfYXV0b21ha2V9KS4iOwogICAgICAgICAgICBlYXV0b3JlY29uZjsKICAgICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgICAgZmk7CiAgICBmaTsKICAgIFtbIC1mIElOU1RBTEwgJiYg
LWYgQVVUSE9SUyAmJiAtZiBDaGFuZ2VMb2cgJiYgLWYgTkVXUyBdXSB8fCBleHRyYV9vcHRzPSIk
e2V4dHJhX29wdHN9IC0tZm9yZWlnbiI7CiAgICBhdXRvdG9vbHNfcnVuX3Rvb2wgYXV0b21ha2Ug
LS1hZGQtbWlzc2luZyAtLWNvcHkgJHtleHRyYV9vcHRzfSAiJEAiCn0KZWF1dG9yZWNvbmYgKCkg
CnsgCiAgICBsb2NhbCBwd2Q9JChwd2QpIHggYXV4ZGlyOwogICAgaWYgW1sgLXogJHtBVF9OT19S
RUNVUlNJVkV9IF1dOyB0aGVuCiAgICAgICAgZm9yIHggaW4gJChhdXRvdG9vbHNfZ2V0X3N1YmRp
cnMpOwogICAgICAgIGRvCiAgICAgICAgICAgIGlmIFtbIC1kICR7eH0gXV07IHRoZW4KICAgICAg
ICAgICAgICAgIGNkICIke3h9IjsKICAgICAgICAgICAgICAgIEFUX05PRUxJQlRPT0xJWkU9Inll
cyIgZWF1dG9yZWNvbmY7CiAgICAgICAgICAgICAgICBjZCAiJHtwd2R9IjsKICAgICAgICAgICAg
Zmk7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgYXV4ZGlyPSQoYXV0b3Rvb2xzX2dldF9hdXhk
aXIpOwogICAgZWluZm8gIlJ1bm5pbmcgZWF1dG9yZWNvbmYgaW4gJyQocHdkKScgLi4uIjsKICAg
IFtbIC1uICR7YXV4ZGlyfSBdXSAmJiBta2RpciAtcCAke2F1eGRpcn07CiAgICBlYWNsb2NhbDsK
ICAgIGlmICR7TElCVE9PTElaRTotbGlidG9vbGl6ZX0gLW4gLS1pbnN0YWxsID4mL2Rldi9udWxs
OyB0aGVuCiAgICAgICAgX2VsaWJ0b29saXplIC0tY29weSAtLWZvcmNlIC0taW5zdGFsbDsKICAg
IGVsc2UKICAgICAgICBfZWxpYnRvb2xpemUgLS1jb3B5IC0tZm9yY2U7CiAgICBmaTsKICAgIGVh
dXRvY29uZjsKICAgIGVhdXRvaGVhZGVyOwogICAgRlJPTV9FQVVUT1JFQ09ORj0ieWVzIiBlYXV0
b21ha2UgJHtBTV9PUFRTfTsKICAgIFtbICR7QVRfTk9FTElCVE9PTElaRX0gPT0gInllcyIgXV0g
JiYgcmV0dXJuIDA7CiAgICBlbGlidG9vbGl6ZTsKICAgIHJldHVybiAwCn0KZWJlZXAgKCkgCnsg
CiAgICBsb2NhbCBuOwogICAgaWYgW1sgLXogJHtFQkVFUF9JR05PUkV9IF1dOyB0aGVuCiAgICAg
ICAgZm9yICgobj0xIDsgbiA8PSAkezE6LTV9IDsgbisrKSkKICAgICAgICBkbwogICAgICAgICAg
ICBlY2hvIC1uZSAiXGEiOwogICAgICAgICAgICBzbGVlcCAwLjEgPiYvZGV2L251bGw7CiAgICAg
ICAgICAgIHNsZWVwIDAsMSA+Ji9kZXYvbnVsbDsKICAgICAgICAgICAgZWNobyAtbmUgIlxhIjsK
ICAgICAgICAgICAgc2xlZXAgMTsKICAgICAgICBkb25lOwogICAgZmkKfQplY3ZzX2NsZWFuICgp
IAp7IAogICAgW1sgLXogJCogXV0gJiYgc2V0IC0tIC47CiAgICBmaW5kICIkQCIgLXR5cGUgZCAt
bmFtZSAnQ1ZTJyAtcHJ1bmUgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1yZjsKICAgIGZpbmQgIiRA
IiAtdHlwZSBmIC1uYW1lICcuY3ZzKicgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1yZgp9CmVkb3My
dW5peCAoKSAKeyAKICAgIGVjaG8gIiRAIiB8IHhhcmdzIHNlZCAtaSAncy9cciQvLycKfQplZ2V0
ZW50ICgpIAp7IAogICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAgICAqLWRhcndpbiopCiAgICAg
ICAgICAgIGNhc2UgIiQyIiBpbiAKICAgICAgICAgICAgICAgICpbITAtOV0qKQogICAgICAgICAg
ICAgICAgICAgIG5pZHVtcCAkMSAuIHwgYXdrIC1GIjoiICJ7IGlmIChcJDEgfiAvXiQyJC8pIHtw
cmludCBcJDA7ZXhpdDt9IH0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKikK
ICAgICAgICAgICAgICAgICAgICBuaWR1bXAgJDEgLiB8IGF3ayAtRiI6IiAieyBpZiAoXCQzID09
ICQyKSB7cHJpbnQgXCQwO2V4aXQ7fSB9IgogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ZXNhYwogICAgICAgIDs7CiAgICAgICAgKi1mcmVlYnNkKiB8ICotZHJhZ29uZmx5KikKICAgICAg
ICAgICAgbG9jYWwgb3B0cyBhY3Rpb249InVzZXIiOwogICAgICAgICAgICBbWyAkMSA9PSAicGFz
c3dkIiBdXSB8fCBhY3Rpb249Imdyb3VwIjsKICAgICAgICAgICAgaWYgW1sgJDIgPT0gW1s6ZGln
aXQ6XV0qIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBbWyAke2FjdGlvbn0gPT0gInVzZXIiIF1d
ICYmIG9wdHM9Ii11IiB8fCBvcHRzPSItZyI7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBw
dyBzaG93ICR7YWN0aW9ufSAke29wdHN9ICIkMiIgLXEKICAgICAgICA7OwogICAgICAgICotbmV0
YnNkKiB8ICotb3BlbmJzZCopCiAgICAgICAgICAgIGdyZXAgIiQyOlwqOiIgL2V0Yy8kMQogICAg
ICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgdHlwZSAtcCBuc2NkID4mL2Rldi9udWxsICYm
IG5zY2QgLWkgIiQxIjsKICAgICAgICAgICAgZ2V0ZW50ICIkMSIgIiQyIgogICAgICAgIDs7CiAg
ICBlc2FjCn0KZWdldGhvbWUgKCkgCnsgCiAgICBlbnQ9JChlZ2V0ZW50IHBhc3N3ZCAkMSk7CiAg
ICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotZGFyd2luKiB8ICotZnJlZWJzZCogfCAqLWRy
YWdvbmZseSopCiAgICAgICAgICAgIGVjaG8gJHtlbnR9IHwgY3V0IC1kOiAtZjkKICAgICAgICA7
OwogICAgICAgICopCiAgICAgICAgICAgIGVjaG8gJHtlbnR9IHwgY3V0IC1kOiAtZjYKICAgICAg
ICA7OwogICAgZXNhYwp9CmVnZXRzaGVsbCAoKSAKeyAKICAgIGVudD0kKGVnZXRlbnQgcGFzc3dk
ICIkMSIpOwogICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAgICAqLWRhcndpbiogfCAqLWZyZWVi
c2QqIHwgKi1kcmFnb25mbHkqKQogICAgICAgICAgICBlY2hvICR7ZW50fSB8IGN1dCAtZDogLWYx
MAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgZWNobyAke2VudH0gY3V0IC1kOiAt
ZjcKICAgICAgICA7OwogICAgZXNhYwp9CmVsaWJ0b29saXplICgpIAp7IAogICAgbG9jYWwgeD07
CiAgICBsb2NhbCB5PTsKICAgIGxvY2FsIGRvX3BvcnRhZ2U9Im5vIjsKICAgIGxvY2FsIGRvX3Jl
dmVyc2VkZXBzPSJubyI7CiAgICBsb2NhbCBkb19vbmx5X3BhdGNoZXM9Im5vIjsKICAgIGxvY2Fs
IGRvX3VjbGliYz0ieWVzIjsKICAgIGxvY2FsIGRlcHRvcmVtb3ZlPTsKICAgIGxvY2FsIG15X2Rp
cmxpc3Q9OwogICAgbG9jYWwgZWx0X3BhdGNoZXM9Imluc3RhbGwtc2ggbHRtYWluIHBvcnRhZ2Ug
cmVsaW5rIG1heF9jbWRfbGVuIHNlZCB0ZXN0IHRtcCI7CiAgICBsb2NhbCBzdGFydF9kaXI9JHtQ
V0R9OwogICAgbXlfZGlybGlzdD0kKEVMVF9maW5kX2x0bWFpbl9zaCk7CiAgICBmb3IgeCBpbiAi
JEAiOwogICAgZG8KICAgICAgICBjYXNlICIke3h9IiBpbiAKICAgICAgICAgICAgIi0tcG9ydGFn
ZSIpCiAgICAgICAgICAgICAgICBkb19wb3J0YWdlPSJ5ZXMiCiAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgICItLXJldmVyc2UtZGVwcyIpCiAgICAgICAgICAgICAgICBkb19yZXZlcnNlZGVwcz0i
eWVzIjsKICAgICAgICAgICAgICAgIGVsdF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSBmaXgtcmVs
aW5rIgogICAgICAgICAgICA7OwogICAgICAgICAgICAiLS1wYXRjaC1vbmx5IikKICAgICAgICAg
ICAgICAgIGRvX29ubHlfcGF0Y2hlcz0ieWVzIgogICAgICAgICAgICA7OwogICAgICAgICAgICAi
Xi0tcmVtb3ZlLWludGVybmFsLWRlcD0iKikKICAgICAgICAgICAgICAgIGRlcHRvcmVtb3ZlPSQo
ZWNobyAiJHt4fSIgfCBzZWQgLWUgJ3N8LS1yZW1vdmUtaW50ZXJuYWwtZGVwPXx8Jyk7CiAgICAg
ICAgICAgICAgICBbWyAtbiAke2RlcHRvcmVtb3ZlfSBdXSAmJiBlbHRfcGF0Y2hlcz0iJHtlbHRf
cGF0Y2hlc30gcmVtLWludC1kZXAiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICItLXNoYWxs
b3ciKQogICAgICAgICAgICAgICAgaWYgW1sgLWYgJHtTfS9sdG1haW4uc2ggXV07IHRoZW4KICAg
ICAgICAgICAgICAgICAgICBteV9kaXJsaXN0PSR7U307CiAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgbXlfZGlybGlzdD07CiAgICAgICAgICAgICAgICBmaQogICAgICAg
ICAgICA7OwogICAgICAgICAgICAiLS1uby11Y2xpYmMiKQogICAgICAgICAgICAgICAgZG9fdWNs
aWJjPSJubyIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgIGVl
cnJvciAiSW52YWxpZCBlbGlidG9vbGl6ZSBvcHRpb246ICR7eH0iOwogICAgICAgICAgICAgICAg
ZGllICJlbGlidG9vbGl6ZSBjYWxsZWQgd2l0aCAke3h9ID8/IgogICAgICAgICAgICA7OwogICAg
ICAgIGVzYWM7CiAgICBkb25lOwogICAgW1sgJHtkb191Y2xpYmN9ID09ICJ5ZXMiIF1dICYmIGVs
dF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSB1Y2xpYmMtY29uZiB1Y2xpYmMtbHRjb25mIjsKICAg
IFtbICR7Q0hPU1R9ID09ICoiLWZyZWVic2QiKiBdXSAmJiBlbHRfcGF0Y2hlcz0iJHtlbHRfcGF0
Y2hlc30gZmJzZC1jb25mIGZic2QtbHRjb25mIjsKICAgIFtbICR7Q0hPU1R9ID09ICoiLWRhcndp
biIqIF1dICYmIGVsdF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSBkYXJ3aW4tbHRjb25mIGRhcndp
bi1sdG1haW4iOwogICAgZm9yIHggaW4gJHtteV9kaXJsaXN0fTsKICAgIGRvCiAgICAgICAgbG9j
YWwgdG1wPSQoZWNobyAiJHt4fSIgfCBzZWQgLWUgInN8JHtXT1JLRElSfXx8Iik7CiAgICAgICAg
ZXhwb3J0IEVMVF9BUFBMSUVEX1BBVENIRVM9OwogICAgICAgIGV4cG9ydCBFTFRfTFRNQUlOX1NI
PSIke3h9L2x0bWFpbi5zaCI7CiAgICAgICAgW1sgLWYgJHt4fS8uZWxpYnRvb2xpemVkIF1dICYm
IGNvbnRpbnVlOwogICAgICAgIGNkICR7eH07CiAgICAgICAgZWluZm8gIlJ1bm5pbmcgZWxpYnRv
b2xpemUgaW46ICQoZWNobyAiLyR7dG1wfSIgfCBzZWQgLWUgJ3N8Ly98L3xnOyBzfF4vfHwnKSI7
CiAgICAgICAgZm9yIHkgaW4gJHtlbHRfcGF0Y2hlc307CiAgICAgICAgZG8KICAgICAgICAgICAg
bG9jYWwgcmV0PTA7CiAgICAgICAgICAgIGNhc2UgIiR7eX0iIGluIAogICAgICAgICAgICAgICAg
InBvcnRhZ2UiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC16ICQoZ3JlcCAnV2UgZG8gbm90
IHdhbnQgcG9ydGFnZScgIiR7eH0vbHRtYWluLnNoIikgXV07IHRoZW4KICAgICAgICAgICAgICAg
ICAgICAgICAgRUxUX3dhbGtfcGF0Y2hlcyAiJHt4fS9sdG1haW4uc2giICIke3l9IjsKICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAg
ICAgICAgICA7OwogICAgICAgICAgICAgICAgInJlbS1pbnQtZGVwIikKICAgICAgICAgICAgICAg
ICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIgIiR7eX0iICIke2RlcHRvcmVt
b3ZlfSI7CiAgICAgICAgICAgICAgICAgICAgcmV0PSQ/CiAgICAgICAgICAgICAgICA7OwogICAg
ICAgICAgICAgICAgImZpeC1yZWxpbmsiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC1uICQo
Z3JlcCAnaW5zdF9wcmVmaXhfZGlyJyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgogICAgICAg
ICAgICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIgIiR7eX0i
OwogICAgICAgICAgICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAgZmkK
ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAibWF4X2NtZF9sZW4iKQogICAgICAg
ICAgICAgICAgICAgIGlmIFtbIC1uICQoZ3JlcCAnbWF4X2NtZF9sZW4nICIke3h9L2x0bWFpbi5z
aCIpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7
eH0vbHRtYWluLnNoIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAg
ICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICJ1
Y2xpYmMtY29uZiIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLWUgJHt4fS9jb25maWd1cmUg
JiYgLW4gJChncmVwICdUcmFuc2Zvcm0gbGludXgnICIke3h9L2NvbmZpZ3VyZSIpIF1dOyB0aGVu
CiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vY29uZmlndXJl
IiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAgICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIFtbICEgLWUgJHt4fS9jb25maWd1
cmUgJiYgLWUgJHt4fS8uLi9jb25maWd1cmUgJiYgLW4gJChncmVwICdUcmFuc2Zvcm0gbGludXgn
ICIke3h9Ly4uL2NvbmZpZ3VyZSIpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFTFRfd2Fsa19wYXRjaGVzICIke3h9Ly4uL2NvbmZpZ3VyZSIgIiR7eX0iOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAg
ICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICJ1
Y2xpYmMtbHRjb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAtcyAke3h9L2x0Y29uZmln
IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0v
bHRjb25maWciICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAg
ICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgImZic2Qt
Y29uZiIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLWUgJHt4fS9jb25maWd1cmUgJiYgLW4g
JChncmVwICd2ZXJzaW9uX3R5cGU9ZnJlZWJzZC0nICIke3h9L2NvbmZpZ3VyZSIpIF1dOyB0aGVu
CiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vY29uZmlndXJl
IiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAgICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIFtbICEgLWUgJHt4fS9jb25maWd1
cmUgJiYgLWUgJHt4fS8uLi9jb25maWd1cmUgJiYgLW4gJChncmVwICd2ZXJzaW9uX3R5cGU9ZnJl
ZWJzZC0nICIke3h9Ly4uL2NvbmZpZ3VyZSIpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9Ly4uL2NvbmZpZ3VyZSIgIiR7eX0iOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAgICAgICBm
aTsKICAgICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgICJmYnNkLWx0Y29uZiIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLXMgJHt4fS9sdGNv
bmZpZyBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIk
e3h9L2x0Y29uZmlnIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAg
ICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICJk
YXJ3aW4tbHRjb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAtcyAke3h9L2x0Y29uZmln
IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0v
bHRjb25maWciICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAg
ICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgImluc3Rh
bGwtc2giKQogICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vaW5zdGFs
bC1zaCIgIiR7eX0iOwogICAgICAgICAgICAgICAgICAgIHJldD0kPwogICAgICAgICAgICAgICAg
OzsKICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0Y2hl
cyAiJHt4fS9sdG1haW4uc2giICIke3l9IjsKICAgICAgICAgICAgICAgICAgICByZXQ9JD8KICAg
ICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGlmIFtbICR7cmV0
fSAtbmUgMCBdXTsgdGhlbgogICAgICAgICAgICAgICAgY2FzZSAke3l9IGluIAogICAgICAgICAg
ICAgICAgICAgICJyZWxpbmsiKQogICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCB2ZXJzaW9u
PSQoRUxUX2xpYnRvb2xfdmVyc2lvbiAiJHt4fS9sdG1haW4uc2giKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgW1sgLXogJChncmVwICdpbnN0X3ByZWZpeF9kaXInICIke3h9L2x0bWFpbi5z
aCIpICYmICQoVkVSX3RvX2ludCAiJHt2ZXJzaW9ufSIpIC1nZSAkKFZFUl90b19pbnQgIjEuNC4w
IikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV3YXJuICIgIENvdWxkIG5v
dCBhcHBseSByZWxpbmsucGF0Y2ghIjsKICAgICAgICAgICAgICAgICAgICAgICAgZmkKICAgICAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICJwb3J0YWdlIikKICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgW1sgJHtkb19wb3J0YWdlfSA9PSAieWVzIiBdXTsgdGhlbgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgLXogJChncmVwICdXZSBkbyBub3Qgd2FudCBw
b3J0YWdlJyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJQ
b3J0YWdlIHBhdGNoIHJlcXVlc3RlZCwgYnV0IGZhaWxlZCB0byBhcHBseSEiOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiUGxlYXNlIGJ1ZyBhemFyYWggb3IgdmFwaWVy
IHRvIGFkZCBwcm9wZXIgcGF0Y2guIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
aWUgIlBvcnRhZ2UgcGF0Y2ggcmVxdWVzdGVkLCBidXQgZmFpbGVkIHRvIGFwcGx5ISI7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgLW4gJChncmVwICdXZSBkbyBub3Qgd2Fu
dCBwb3J0YWdlJyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDo7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWwgdmVyc2lvbj0kKCAJCQkJCQkJCQlldmFsICQo
Z3JlcCAtZSAnXltbOnNwYWNlOl1dKlZFUlNJT049JyAiJHt4fS9sdG1haW4uc2giKTsgCQkJCQkJ
CQkJZWNobyAiJHtWRVJTSU9OfSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVj
aG87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJQb3J0YWdlIHBhdGNo
IGZhaWxlZCB0byBhcHBseSAobHRtYWluLnNoIHZlcnNpb24gJHt2ZXJzaW9ufSkhIjsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlZXJyb3IgIlBsZWFzZSBidWcgYXphcmFoIG9yIHZh
cGllciB0byBhZGQgcHJvcGVyIHBhdGNoLiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGllICJQb3J0YWdlIHBhdGNoIGZhaWxlZCB0byBhcHBseSEiOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTFRfQVBQTElFRF9Q
QVRDSEVTPSJwb3J0YWdlIjsKICAgICAgICAgICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAg
ICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICJ1Y2xpYmMtIiopCiAgICAgICAgICAgICAg
ICAgICAgICAgIFtbICR7Q0hPU1R9ID09ICoiLXVjbGliYyIgXV0gJiYgZXdhcm4gIiAgdUNsaWJj
IHBhdGNoIHNldCAnJHt5fScgZmFpbGVkIHRvIGFwcGx5ISIKICAgICAgICAgICAgICAgICAgICA7
OwogICAgICAgICAgICAgICAgICAgICJmYnNkLSIqKQogICAgICAgICAgICAgICAgICAgICAgICBp
ZiBbWyAke0NIT1NUfSA9PSAqIi1mcmVlYnNkIiogXV07IHRoZW4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIFtbIC16ICQoZ3JlcCAnSGFuZGxlIEdlbnRvby9GcmVlQlNEIGFzIGl0IHdh
cyBMaW51eCcgCQkJCQkJCQkiJHt4fS9jb25maWd1cmUiICIke3h9Ly4uL2NvbmZpZ3VyZSIgMj4v
ZGV2L251bGwpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9y
ICIgIEZyZWVCU0QgcGF0Y2ggc2V0ICcke3l9JyBmYWlsZWQgdG8gYXBwbHkhIjsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWUgIkZyZWVCU0QgcGF0Y2ggc2V0ICcke3l9JyBmYWls
ZWQgdG8gYXBwbHkhIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAg
ICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAg
ICAgImRhcndpbi0iKikKICAgICAgICAgICAgICAgICAgICAgICAgW1sgJHtDSE9TVH0gPT0gKiIt
ZGFyd2luIiogXV0gJiYgZXdhcm4gIiAgRGFyd2luIHBhdGNoIHNldCAnJHt5fScgZmFpbGVkIHRv
IGFwcGx5ISIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAg
ICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgICAgICBpZiBbWyAteiAke0VMVF9BUFBMSUVE
X1BBVENIRVN9IF1dOyB0aGVuCiAgICAgICAgICAgIGlmIFtbICR7ZG9fcG9ydGFnZX0gPT0gIm5v
IiAmJiAke2RvX3JldmVyc2VkZXBzfSA9PSAibm8iICYmICR7ZG9fb25seV9wYXRjaGVzfSA9PSAi
bm8iICYmICR7ZGVwdG9yZW1vdmV9ID09ICIiIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBld2Fy
biAiQ2Fubm90IGFwcGx5IGFueSBwYXRjaGVzLCBwbGVhc2UgZmlsZSBhIGJ1ZyBhYm91dCB0aGlz
IjsKICAgICAgICAgICAgICAgIGRpZTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICAg
ICAgW1sgLWYgJHt4fS9saWJ0b29sIF1dICYmIHJtIC1mICIke3h9L2xpYnRvb2wiOwogICAgICAg
IHRvdWNoICIke3h9Ly5lbGlidG9vbGl6ZWQiOwogICAgZG9uZTsKICAgIGNkICIke3N0YXJ0X2Rp
cn0iCn0KZW1rdGVtcCAoKSAKeyAKICAgIGxvY2FsIGV4ZT0idG91Y2giOwogICAgW1sgJDEgPT0g
LWQgXV0gJiYgZXhlPSJta2RpciIgJiYgc2hpZnQ7CiAgICBsb2NhbCB0b3BkaXI9JDE7CiAgICBp
ZiBbWyAteiAke3RvcGRpcn0gXV07IHRoZW4KICAgICAgICBbWyAteiAke1R9IF1dICYmIHRvcGRp
cj0iL3RtcCIgfHwgdG9wZGlyPSR7VH07CiAgICBmaTsKICAgIGlmICEgdHlwZSAtUCBta3RlbXAg
PiAvZGV2L251bGw7IHRoZW4KICAgICAgICBsb2NhbCB0bXA9LzsKICAgICAgICB3aGlsZSBbWyAt
ZSAke3RtcH0gXV07IGRvCiAgICAgICAgICAgIHRtcD0ke3RvcGRpcn0vdG1wLiR7UkFORE9NfS4k
e1JBTkRPTX0uJHtSQU5ET019OwogICAgICAgIGRvbmU7CiAgICAgICAgJHtleGV9ICIke3RtcH0i
IHx8ICR7ZXhlfSAtcCAiJHt0bXB9IjsKICAgICAgICBlY2hvICIke3RtcH0iOwogICAgZWxzZQog
ICAgICAgIGlmIFtbICR7ZXhlfSA9PSAidG91Y2giIF1dOyB0aGVuCiAgICAgICAgICAgIFRNUERJ
Uj0iJHt0b3BkaXJ9IiBta3RlbXAgLXQgdG1wLlhYWFhYWFhYWFg7CiAgICAgICAgZWxzZQogICAg
ICAgICAgICBUTVBESVI9IiR7dG9wZGlyfSIgbWt0ZW1wIC1kdCB0bXAuWFhYWFhYWFhYWDsKICAg
ICAgICBmaTsKICAgIGZpCn0KZW5ld2dyb3VwICgpIAp7IAogICAgY2FzZSAke0VCVUlMRF9QSEFT
RX0gaW4gCiAgICAgICAgdW5wYWNrIHwgY29tcGlsZSB8IHRlc3QgfCBpbnN0YWxsKQogICAgICAg
ICAgICBlZXJyb3IgIidlbmV3Z3JvdXAoKScgY2FsbGVkIGZyb20gJyR7RUJVSUxEX1BIQVNFfSgp
JyB3aGljaCBpcyBub3QgYSBwa2dfKiBmdW5jdGlvbi4iOwogICAgICAgICAgICBlZXJyb3IgIlBh
Y2thZ2UgZmFpbHMgYXQgUUEgYW5kIGF0IGxpZmUuICBQbGVhc2UgZmlsZSBhIGJ1Zy4iOwogICAg
ICAgICAgICBkaWUgIkJhZCBwYWNrYWdlISAgZW5ld2dyb3VwIGlzIG9ubHkgZm9yIHVzZSBpbiBw
a2dfKiBmdW5jdGlvbnMhIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgbG9jYWwgZWdyb3VwPSIk
MSI7CiAgICBzaGlmdDsKICAgIGlmIFsgLXogIiR7ZWdyb3VwfSIgXTsgdGhlbgogICAgICAgIGVl
cnJvciAiTm8gZ3JvdXAgc3BlY2lmaWVkICEiOwogICAgICAgIGRpZSAiQ2Fubm90IGNhbGwgZW5l
d2dyb3VwIHdpdGhvdXQgYSBncm91cCI7CiAgICBmaTsKICAgIGlmIFtbIC1uICQoZWdldGVudCBn
cm91cCAiJHtlZ3JvdXB9IikgXV07IHRoZW4KICAgICAgICByZXR1cm4gMDsKICAgIGZpOwogICAg
ZWluZm8gIkFkZGluZyBncm91cCAnJHtlZ3JvdXB9JyB0byB5b3VyIHN5c3RlbSAuLi4iOwogICAg
bG9jYWwgb3B0cz07CiAgICBsb2NhbCBlZ2lkPSIkMSI7CiAgICBzaGlmdDsKICAgIGlmIFsgISAt
eiAiJHtlZ2lkfSIgXTsgdGhlbgogICAgICAgIGlmIFsgIiR7ZWdpZH0iIC1ndCAwIF07IHRoZW4K
ICAgICAgICAgICAgaWYgWyAteiAiYGVnZXRlbnQgZ3JvdXAgJHtlZ2lkfWAiIF07IHRoZW4KICAg
ICAgICAgICAgICAgIGlmIFtbICIke0NIT1NUfSIgPT0gKi1kYXJ3aW4qIF1dOyB0aGVuCiAgICAg
ICAgICAgICAgICAgICAgb3B0cz0iJHtvcHRzfSAke2VnaWR9IjsKICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICBvcHRzPSIke29wdHN9IC1nICR7ZWdpZH0iOwogICAgICAg
ICAgICAgICAgZmk7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVnaWQ9Im5leHQg
YXZhaWxhYmxlOyByZXF1ZXN0ZWQgZ2lkIHRha2VuIjsKICAgICAgICAgICAgZmk7CiAgICAgICAg
ZWxzZQogICAgICAgICAgICBlZXJyb3IgIkdyb3VwaWQgZ2l2ZW4gYnV0IGlzIG5vdCBncmVhdGVy
IHRoYW4gMCAhIjsKICAgICAgICAgICAgZGllICIke2VnaWR9IGlzIG5vdCBhIHZhbGlkIEdJRCI7
CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAgICAgZWdpZD0ibmV4dCBhdmFpbGFibGUiOwogICAg
Zmk7CiAgICBlaW5mbyAiIC0gR3JvdXBpZDogJHtlZ2lkfSI7CiAgICBsb2NhbCBlZXh0cmE9IiRA
IjsKICAgIG9wdHM9IiR7b3B0c30gJHtlZXh0cmF9IjsKICAgIGxvY2FsIG9sZHNhbmRib3g9IiR7
U0FOREJPWF9PTn0iOwogICAgZXhwb3J0IFNBTkRCT1hfT049IjAiOwogICAgY2FzZSAke0NIT1NU
fSBpbiAKICAgICAgICAqLWRhcndpbiopCiAgICAgICAgICAgIGlmIFsgISAteiAiJHtlZXh0cmF9
IiBdOyB0aGVuCiAgICAgICAgICAgICAgICBlaW5mbyAiRXh0cmEgb3B0aW9ucyBhcmUgbm90IHN1
cHBvcnRlZCBvbiBEYXJ3aW4vT1MgWCB5ZXQiOwogICAgICAgICAgICAgICAgZWluZm8gIlBsZWFz
ZSByZXBvcnQgdGhlIGVidWlsZCBhbG9uZyB3aXRoIHRoZSBpbmZvIGJlbG93IjsKICAgICAgICAg
ICAgICAgIGVpbmZvICJlZXh0cmE6ICR7ZWV4dHJhfSI7CiAgICAgICAgICAgICAgICBkaWUgIlJl
cXVpcmVkIGZ1bmN0aW9uIG1pc3NpbmciOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgY2Fz
ZSAke2VnaWR9IGluIAogICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAgICAg
ICAgZm9yICgoZWdpZCA9IDEwMTsgZWdpZCA8PSA5OTk7IGVnaWQrKykpCiAgICAgICAgICAgICAg
ICAgICAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgW1sgLXogJChlZ2V0ZW50IGdyb3VwICR7
ZWdpZH0pIF1dICYmIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRvbmUKICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL2dyb3Vw
cy8ke2Vncm91cH0gZ2lkICR7ZWdpZH07CiAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL2dyb3Vw
cy8ke2Vncm91cH0gcGFzc3dkICcqJwogICAgICAgIDs7CiAgICAgICAgKi1mcmVlYnNkKiB8ICot
ZHJhZ29uZmx5KikKICAgICAgICAgICAgY2FzZSAke2VnaWR9IGluIAogICAgICAgICAgICAgICAg
KlshMC05XSopCiAgICAgICAgICAgICAgICAgICAgZm9yICgoZWdpZCA9IDEwMTsgZWdpZCA8PSA5
OTk7IGVnaWQrKykpCiAgICAgICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICAg
ICAgW1sgLXogJChlZ2V0ZW50IGdyb3VwICR7ZWdpZH0pIF1dICYmIGJyZWFrOwogICAgICAgICAg
ICAgICAgICAgIGRvbmUKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAg
ICAgICAgIHB3IGdyb3VwYWRkICR7ZWdyb3VwfSAtZyAke2VnaWR9IHx8IGRpZSAiZW5ld2dyb3Vw
IGZhaWxlZCIKICAgICAgICA7OwogICAgICAgICotbmV0YnNkKikKICAgICAgICAgICAgY2FzZSAk
e2VnaWR9IGluIAogICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAgICAgICAg
Zm9yICgoZWdpZCA9IDEwMTsgZWdpZCA8PSA5OTk7IGVnaWQrKykpCiAgICAgICAgICAgICAgICAg
ICAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgW1sgLXogJChlZ2V0ZW50IGdyb3VwICR7ZWdp
ZH0pIF1dICYmIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRvbmUKICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGdyb3VwYWRkIC1nICR7ZWdpZH0gJHtl
Z3JvdXB9IHx8IGRpZSAiZW5ld2dyb3VwIGZhaWxlZCIKICAgICAgICA7OwogICAgICAgICopCiAg
ICAgICAgICAgIGdyb3VwYWRkICR7b3B0c30gJHtlZ3JvdXB9IHx8IGRpZSAiZW5ld2dyb3VwIGZh
aWxlZCIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGV4cG9ydCBTQU5EQk9YX09OPSIke29sZHNh
bmRib3h9Igp9CmVuZXd1c2VyICgpIAp7IAogICAgY2FzZSAke0VCVUlMRF9QSEFTRX0gaW4gCiAg
ICAgICAgdW5wYWNrIHwgY29tcGlsZSB8IHRlc3QgfCBpbnN0YWxsKQogICAgICAgICAgICBlZXJy
b3IgIidlbmV3dXNlcigpJyBjYWxsZWQgZnJvbSAnJHtFQlVJTERfUEhBU0V9KCknIHdoaWNoIGlz
IG5vdCBhIHBrZ18qIGZ1bmN0aW9uLiI7CiAgICAgICAgICAgIGVlcnJvciAiUGFja2FnZSBmYWls
cyBhdCBRQSBhbmQgYXQgbGlmZS4gIFBsZWFzZSBmaWxlIGEgYnVnLiI7CiAgICAgICAgICAgIGRp
ZSAiQmFkIHBhY2thZ2UhICBlbmV3dXNlciBpcyBvbmx5IGZvciB1c2UgaW4gcGtnXyogZnVuY3Rp
b25zISIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGxvY2FsIGV1c2VyPSQxOwogICAgc2hpZnQ7
CiAgICBpZiBbWyAteiAke2V1c2VyfSBdXTsgdGhlbgogICAgICAgIGVlcnJvciAiTm8gdXNlcm5h
bWUgc3BlY2lmaWVkICEiOwogICAgICAgIGRpZSAiQ2Fubm90IGNhbGwgZW5ld3VzZXIgd2l0aG91
dCBhIHVzZXJuYW1lIjsKICAgIGZpOwogICAgaWYgW1sgLW4gJChlZ2V0ZW50IHBhc3N3ZCAiJHtl
dXNlcn0iKSBdXTsgdGhlbgogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBlaW5mbyAiQWRk
aW5nIHVzZXIgJyR7ZXVzZXJ9JyB0byB5b3VyIHN5c3RlbSAuLi4iOwogICAgbG9jYWwgb3B0cz07
CiAgICBsb2NhbCBldWlkPSQxOwogICAgc2hpZnQ7CiAgICBpZiBbWyAtbiAke2V1aWR9ICYmICR7
ZXVpZH0gIT0gLTEgXV07IHRoZW4KICAgICAgICBpZiBbWyAke2V1aWR9IC1ndCAwIF1dOyB0aGVu
CiAgICAgICAgICAgIGlmIFtbIC1uICQoZWdldGVudCBwYXNzd2QgJHtldWlkfSkgXV07IHRoZW4K
ICAgICAgICAgICAgICAgIGV1aWQ9Im5leHQiOwogICAgICAgICAgICBmaTsKICAgICAgICBlbHNl
CiAgICAgICAgICAgIGVlcnJvciAiVXNlcmlkIGdpdmVuIGJ1dCBpcyBub3QgZ3JlYXRlciB0aGFu
IDAgISI7CiAgICAgICAgICAgIGRpZSAiJHtldWlkfSBpcyBub3QgYSB2YWxpZCBVSUQiOwogICAg
ICAgIGZpOwogICAgZWxzZQogICAgICAgIGV1aWQ9Im5leHQiOwogICAgZmk7CiAgICBpZiBbWyAk
e2V1aWR9ID09ICJuZXh0IiBdXTsgdGhlbgogICAgICAgIGZvciAoKGV1aWQgPSAxMDE7IGV1aWQg
PD0gOTk5OyBldWlkKyspKQogICAgICAgIGRvCiAgICAgICAgICAgIFtbIC16ICQoZWdldGVudCBw
YXNzd2QgJHtldWlkfSkgXV0gJiYgYnJlYWs7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgb3B0
cz0iJHtvcHRzfSAtdSAke2V1aWR9IjsKICAgIGVpbmZvICIgLSBVc2VyaWQ6ICR7ZXVpZH0iOwog
ICAgbG9jYWwgZXNoZWxsPSQxOwogICAgc2hpZnQ7CiAgICBpZiBbWyAhIC16ICR7ZXNoZWxsfSBd
XSAmJiBbWyAke2VzaGVsbH0gIT0gIi0xIiBdXTsgdGhlbgogICAgICAgIGlmIFtbICEgLWUgJHtS
T09UfSR7ZXNoZWxsfSBdXTsgdGhlbgogICAgICAgICAgICBlZXJyb3IgIkEgc2hlbGwgd2FzIHNw
ZWNpZmllZCBidXQgaXQgZG9lcyBub3QgZXhpc3QgISI7CiAgICAgICAgICAgIGRpZSAiJHtlc2hl
bGx9IGRvZXMgbm90IGV4aXN0IGluICR7Uk9PVH0iOwogICAgICAgIGZpOwogICAgICAgIGlmIFtb
ICR7ZXNoZWxsfSA9PSAqL2ZhbHNlIHx8ICR7ZXNoZWxsfSA9PSAqL25vbG9naW4gXV07IHRoZW4K
ICAgICAgICAgICAgZWVycm9yICJEbyBub3Qgc3BlY2lmeSAke2VzaGVsbH0geW91cnNlbGYsIHVz
ZSAtMSI7CiAgICAgICAgICAgIGRpZSAiUGFzcyAnLTEnIGFzIHRoZSBzaGVsbCBwYXJhbWV0ZXIi
OwogICAgICAgIGZpOwogICAgZWxzZQogICAgICAgIGZvciBzaGVsbCBpbiAvc2Jpbi9ub2xvZ2lu
IC91c3Ivc2Jpbi9ub2xvZ2luIC9iaW4vZmFsc2UgL3Vzci9iaW4vZmFsc2UgL2Rldi9udWxsOwog
ICAgICAgIGRvCiAgICAgICAgICAgIFtbIC14ICR7Uk9PVH0ke3NoZWxsfSBdXSAmJiBicmVhazsK
ICAgICAgICBkb25lOwogICAgICAgIGlmIFtbICR7c2hlbGx9ID09ICIvZGV2L251bGwiIF1dOyB0
aGVuCiAgICAgICAgICAgIGVlcnJvciAiVW5hYmxlIHRvIGlkZW50aWZ5IHRoZSBzaGVsbCB0byB1
c2UsIHByb2NlZWRpbmcgd2l0aCB1c2VybGFuZCBkZWZhdWx0LiI7CiAgICAgICAgICAgIGNhc2Ug
JHtVU0VSTEFORH0gaW4gCiAgICAgICAgICAgICAgICBHTlUpCiAgICAgICAgICAgICAgICAgICAg
c2hlbGw9Ii9iaW4vZmFsc2UiCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgQlNE
KQogICAgICAgICAgICAgICAgICAgIHNoZWxsPSIvc2Jpbi9ub2xvZ2luIgogICAgICAgICAgICAg
ICAgOzsKICAgICAgICAgICAgICAgIERhcndpbikKICAgICAgICAgICAgICAgICAgICBzaGVsbD0i
L3Vzci9zYmluL25vbG9naW4iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKikK
ICAgICAgICAgICAgICAgICAgICBkaWUgIlVuYWJsZSB0byBpZGVudGlmeSB0aGUgZGVmYXVsdCBz
aGVsbCBmb3IgdXNlcmxhbmQgJHtVU0VSTEFORH0iCiAgICAgICAgICAgICAgICA7OwogICAgICAg
ICAgICBlc2FjOwogICAgICAgIGZpOwogICAgICAgIGVzaGVsbD0ke3NoZWxsfTsKICAgIGZpOwog
ICAgZWluZm8gIiAtIFNoZWxsOiAke2VzaGVsbH0iOwogICAgb3B0cz0iJHtvcHRzfSAtcyAke2Vz
aGVsbH0iOwogICAgbG9jYWwgZWhvbWU9JDE7CiAgICBzaGlmdDsKICAgIGlmIFtbIC16ICR7ZWhv
bWV9IF1dIHx8IFtbICR7ZWhvbWV9ID09ICItMSIgXV07IHRoZW4KICAgICAgICBlaG9tZT0iL2Rl
di9udWxsIjsKICAgIGZpOwogICAgZWluZm8gIiAtIEhvbWU6ICR7ZWhvbWV9IjsKICAgIG9wdHM9
IiR7b3B0c30gLWQgJHtlaG9tZX0iOwogICAgbG9jYWwgZWdyb3Vwcz0kMTsKICAgIHNoaWZ0Owog
ICAgaWYgW1sgISAteiAke2Vncm91cHN9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgb2xkaWZzPSR7
SUZTfTsKICAgICAgICBsb2NhbCBkZWZncm91cD0iIiBleGdyb3Vwcz0iIjsKICAgICAgICBleHBv
cnQgSUZTPSIsIjsKICAgICAgICBmb3IgZyBpbiAke2Vncm91cHN9OwogICAgICAgIGRvCiAgICAg
ICAgICAgIGV4cG9ydCBJRlM9JHtvbGRpZnN9OwogICAgICAgICAgICBpZiBbWyAteiAkKGVnZXRl
bnQgZ3JvdXAgIiR7Z30iKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWVycm9yICJZb3UgbXVz
dCBhZGQgZ3JvdXAgJHtnfSB0byB0aGUgc3lzdGVtIGZpcnN0IjsKICAgICAgICAgICAgICAgIGRp
ZSAiJHtnfSBpcyBub3QgYSB2YWxpZCBHSUQiOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAg
aWYgW1sgLXogJHtkZWZncm91cH0gXV07IHRoZW4KICAgICAgICAgICAgICAgIGRlZmdyb3VwPSR7
Z307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGV4Z3JvdXBzPSIke2V4Z3JvdXBz
fSwke2d9IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGV4cG9ydCBJRlM9IiwiOwogICAg
ICAgIGRvbmU7CiAgICAgICAgZXhwb3J0IElGUz0ke29sZGlmc307CiAgICAgICAgb3B0cz0iJHtv
cHRzfSAtZyAke2RlZmdyb3VwfSI7CiAgICAgICAgaWYgW1sgISAteiAke2V4Z3JvdXBzfSBdXTsg
dGhlbgogICAgICAgICAgICBvcHRzPSIke29wdHN9IC1HICR7ZXhncm91cHM6MX0iOwogICAgICAg
IGZpOwogICAgZWxzZQogICAgICAgIGVncm91cHM9Iihub25lKSI7CiAgICBmaTsKICAgIGVpbmZv
ICIgLSBHcm91cHM6ICR7ZWdyb3Vwc30iOwogICAgbG9jYWwgb2xkc2FuZGJveD0ke1NBTkRCT1hf
T059OwogICAgZXhwb3J0IFNBTkRCT1hfT049IjAiOwogICAgY2FzZSAke0NIT1NUfSBpbiAKICAg
ICAgICAqLWRhcndpbiopCiAgICAgICAgICAgIGlmIFtbIC16ICRAIF1dOyB0aGVuCiAgICAgICAg
ICAgICAgICBkc2NsIC4gY3JlYXRlIC91c2Vycy8ke2V1c2VyfSB1aWQgJHtldWlkfTsKICAgICAg
ICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IHNoZWxsICR7ZXNoZWxsfTsK
ICAgICAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IGhvbWUgJHtlaG9t
ZX07CiAgICAgICAgICAgICAgICBkc2NsIC4gY3JlYXRlIC91c2Vycy8ke2V1c2VyfSByZWFsbmFt
ZSAiYWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iOwogICAgICAgICAgICAgICAgbG9jYWwgb2xk
aWZzPSR7SUZTfTsKICAgICAgICAgICAgICAgIGV4cG9ydCBJRlM9IiwiOwogICAgICAgICAgICAg
ICAgZm9yIGcgaW4gJHtlZ3JvdXBzfTsKICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAg
ICAgICAgZHNjbCAuIG1lcmdlIC9ncm91cHMvJHtnfSB1c2VycyAke2V1c2VyfTsKICAgICAgICAg
ICAgICAgIGRvbmU7CiAgICAgICAgICAgICAgICBleHBvcnQgSUZTPSR7b2xkaWZzfTsKICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIkV4dHJhIG9wdGlvbnMgYXJlIG5vdCBz
dXBwb3J0ZWQgb24gRGFyd2luIHlldCI7CiAgICAgICAgICAgICAgICBlaW5mbyAiUGxlYXNlIHJl
cG9ydCB0aGUgZWJ1aWxkIGFsb25nIHdpdGggdGhlIGluZm8gYmVsb3ciOwogICAgICAgICAgICAg
ICAgZWluZm8gImVleHRyYTogJEAiOwogICAgICAgICAgICAgICAgZGllICJSZXF1aXJlZCBmdW5j
dGlvbiBtaXNzaW5nIjsKICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAgICAgICotZnJlZWJz
ZCogfCAqLWRyYWdvbmZseSopCiAgICAgICAgICAgIGlmIFtbIC16ICRAIF1dOyB0aGVuCiAgICAg
ICAgICAgICAgICBwdyB1c2VyYWRkICR7ZXVzZXJ9ICR7b3B0c30gLWMgImFkZGVkIGJ5IHBvcnRh
Z2UgZm9yICR7UE59IiBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgIGVpbmZvICIgLSBFeHRyYTogJEAiOwogICAgICAgICAgICAgICAgcHcgdXNl
cmFkZCAke2V1c2VyfSAke29wdHN9ICIkQCIgfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAg
ICAgICAgICBmaQogICAgICAgIDs7CiAgICAgICAgKi1uZXRic2QqKQogICAgICAgICAgICBpZiBb
WyAteiAkQCBdXTsgdGhlbgogICAgICAgICAgICAgICAgdXNlcmFkZCAke29wdHN9ICR7ZXVzZXJ9
IHx8IGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgZWluZm8gIiAtIEV4dHJhOiAkQCI7CiAgICAgICAgICAgICAgICB1c2VyYWRkICR7b3B0c30g
JHtldXNlcn0gIiRAIiB8fCBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGZpCiAg
ICAgICAgOzsKICAgICAgICAqLW9wZW5ic2QqKQogICAgICAgICAgICBpZiBbWyAteiAkQCBdXTsg
dGhlbgogICAgICAgICAgICAgICAgdXNlcmFkZCAtdSAke2V1aWR9IC1zICR7ZXNoZWxsfSAtZCAk
e2Vob21lfSAtYyAiQWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iIC1nICR7ZWdyb3Vwc30gJHtl
dXNlcn0gfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICBlaW5mbyAiIC0gRXh0cmE6ICRAIjsKICAgICAgICAgICAgICAgIHVzZXJhZGQgLXUg
JHtldWlkfSAtcyAke2VzaGVsbH0gLWQgJHtlaG9tZX0gLWMgIkFkZGVkIGJ5IHBvcnRhZ2UgZm9y
ICR7UE59IiAtZyAke2Vncm91cHN9ICR7ZXVzZXJ9ICIkQCIgfHwgZGllICJlbmV3dXNlciBmYWls
ZWQiOwogICAgICAgICAgICBmaQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgaWYg
W1sgLXogJEAgXV07IHRoZW4KICAgICAgICAgICAgICAgIHVzZXJhZGQgJHtvcHRzfSAke2V1c2Vy
fSAtYyAiYWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iIHx8IGRpZSAiZW5ld3VzZXIgZmFpbGVk
IjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIiAtIEV4dHJhOiAkQCI7
CiAgICAgICAgICAgICAgICB1c2VyYWRkICR7b3B0c30gJHtldXNlcn0gIiRAIiB8fCBkaWUgImVu
ZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBp
ZiBbWyAhIC1lICR7Uk9PVH0vJHtlaG9tZX0gXV07IHRoZW4KICAgICAgICBlaW5mbyAiIC0gQ3Jl
YXRpbmcgJHtlaG9tZX0gaW4gJHtST09UfSI7CiAgICAgICAgbWtkaXIgLXAgIiR7Uk9PVH0vJHtl
aG9tZX0iOwogICAgICAgIGNob3duICR7ZXVzZXJ9ICIke1JPT1R9LyR7ZWhvbWV9IjsKICAgICAg
ICBjaG1vZCA3NTUgIiR7Uk9PVH0vJHtlaG9tZX0iOwogICAgZmk7CiAgICBleHBvcnQgU0FOREJP
WF9PTj0ke29sZHNhbmRib3h9Cn0KZXBhdGNoICgpIAp7IAogICAgZnVuY3Rpb24gX2VwYXRjaF9k
cmF3X2xpbmUgKCkgCiAgICB7IAogICAgICAgIFtbIC16ICQxIF1dICYmIHNldCAiJChwcmludGYg
IiU2NXMiICcnKSI7CiAgICAgICAgZWNobyAiJHsxLy8/Lz19IgogICAgfTsKICAgIGZ1bmN0aW9u
IF9lcGF0Y2hfYXNzZXJ0ICgpIAogICAgeyAKICAgICAgICBsb2NhbCBfcGlwZXN0YXR1cz0ke1BJ
UEVTVEFUVVNbKl19OwogICAgICAgIFtbICR7X3BpcGVzdGF0dXMvLyAvfSAtZXEgMCBdXQogICAg
fTsKICAgIGxvY2FsIFBJUEVfQ01EPSIiOwogICAgbG9jYWwgU1RERVJSX1RBUkdFVD0iJHtUfS8k
JC5vdXQiOwogICAgbG9jYWwgUEFUQ0hfVEFSR0VUPSIke1R9LyQkLnBhdGNoIjsKICAgIGxvY2Fs
IFBBVENIX1NVRkZJWD0iIjsKICAgIGxvY2FsIFNJTkdMRV9QQVRDSD0ibm8iOwogICAgbG9jYWwg
eD0iIjsKICAgIHVuc2V0IFA0Q09ORklHIFA0UE9SVCBQNFVTRVI7CiAgICBpZiBbICIkIyIgLWd0
IDEgXTsgdGhlbgogICAgICAgIGxvY2FsIG09IiI7CiAgICAgICAgZm9yIG0gaW4gIiRAIjsKICAg
ICAgICBkbwogICAgICAgICAgICBlcGF0Y2ggIiR7bX0iOwogICAgICAgIGRvbmU7CiAgICAgICAg
cmV0dXJuIDA7CiAgICBmaTsKICAgIGlmIFsgLW4gIiQxIiAtYSAtZiAiJDEiIF07IHRoZW4KICAg
ICAgICBTSU5HTEVfUEFUQ0g9InllcyI7CiAgICAgICAgbG9jYWwgRVBBVENIX1NPVVJDRT0iJDEi
OwogICAgICAgIGxvY2FsIEVQQVRDSF9TVUZGSVg9IiR7MSMjKlwufSI7CiAgICBlbHNlCiAgICAg
ICAgaWYgWyAtbiAiJDEiIC1hIC1kICIkMSIgXTsgdGhlbgogICAgICAgICAgICBpZiBbICIke0VQ
QVRDSF9GT1JDRX0iID0gInllcyIgXSAmJiBbIC16ICIke0VQQVRDSF9TVUZGSVh9IiBdOyB0aGVu
CiAgICAgICAgICAgICAgICBsb2NhbCBFUEFUQ0hfU09VUkNFPSIkMS8qIjsKICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgbG9jYWwgRVBBVENIX1NPVVJDRT0iJDEvKi4ke0VQQVRDSF9T
VUZGSVh9IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbWyAh
IC1kICR7RVBBVENIX1NPVVJDRX0gXV0gfHwgW1sgLW4gJDEgXV07IHRoZW4KICAgICAgICAgICAg
ICAgIGlmIFsgLW4gIiQxIiAtYSAiJHtFUEFUQ0hfU09VUkNFfSIgPSAiJHtXT1JLRElSfS9wYXRj
aCIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIEVQQVRDSF9TT1VSQ0U9IiQxIjsKICAgICAg
ICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgIGVlcnJv
ciAiQ2Fubm90IGZpbmQgXCRFUEFUQ0hfU09VUkNFISAgVmFsdWUgZm9yIFwkRVBBVENIX1NPVVJD
RSBpczoiOwogICAgICAgICAgICAgICAgZWVycm9yOwogICAgICAgICAgICAgICAgZWVycm9yICIg
ICR7RVBBVENIX1NPVVJDRX0iOwogICAgICAgICAgICAgICAgZWVycm9yICIgICggJHtFUEFUQ0hf
U09VUkNFIyMqL30gKSI7CiAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAgICAgICAgZGll
ICJDYW5ub3QgZmluZCBcJEVQQVRDSF9TT1VSQ0UhIjsKICAgICAgICAgICAgZmk7CiAgICAgICAg
ICAgIGxvY2FsIEVQQVRDSF9TT1VSQ0U9IiR7RVBBVENIX1NPVVJDRX0vKi4ke0VQQVRDSF9TVUZG
SVh9IjsKICAgICAgICBmaTsKICAgIGZpOwogICAgY2FzZSAke0VQQVRDSF9TVUZGSVgjIypcLn0g
aW4gCiAgICAgICAgYnoyKQogICAgICAgICAgICBQSVBFX0NNRD0iYnppcDIgLWRjIjsKICAgICAg
ICAgICAgUEFUQ0hfU1VGRklYPSJiejIiCiAgICAgICAgOzsKICAgICAgICBneiB8IFogfCB6KQog
ICAgICAgICAgICBQSVBFX0NNRD0iZ3ppcCAtZGMiOwogICAgICAgICAgICBQQVRDSF9TVUZGSVg9
Imd6IgogICAgICAgIDs7CiAgICAgICAgWklQIHwgemlwKQogICAgICAgICAgICBQSVBFX0NNRD0i
dW56aXAgLXAiOwogICAgICAgICAgICBQQVRDSF9TVUZGSVg9InppcCIKICAgICAgICA7OwogICAg
ICAgICopCiAgICAgICAgICAgIFBJUEVfQ01EPSJjYXQiOwogICAgICAgICAgICBQQVRDSF9TVUZG
SVg9InBhdGNoIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgaWYgWyAiJHtTSU5HTEVfUEFUQ0h9
IiA9ICJubyIgXTsgdGhlbgogICAgICAgIGVpbmZvICIke0VQQVRDSF9NVUxUSV9NU0d9IjsKICAg
IGZpOwogICAgZm9yIHggaW4gJHtFUEFUQ0hfU09VUkNFfTsKICAgIGRvCiAgICAgICAgaWYgWyAt
ZiAke3h9IF0gJiYgKCBbICIke1NJTkdMRV9QQVRDSH0iID0gInllcyIgLW8gIiR7eC9fYWxsX30i
ICE9ICIke3h9IiAtbyAiJHt4L18ke0FSQ0h9X30iICE9ICIke3h9IiBdIHx8IFsgIiR7RVBBVENI
X0ZPUkNFfSIgPSAieWVzIiBdICk7IHRoZW4KICAgICAgICAgICAgbG9jYWwgY291bnQ9MDsKICAg
ICAgICAgICAgbG9jYWwgcG9wdHM9IiR7RVBBVENIX09QVFN9IjsKICAgICAgICAgICAgbG9jYWwg
cGF0Y2huYW1lPSR7eCMjKi99OwogICAgICAgICAgICBpZiBbIC1uICIke0VQQVRDSF9FWENMVURF
fSIgXTsgdGhlbgogICAgICAgICAgICAgICAgaWYgWyAiJHtFUEFUQ0hfRVhDTFVERS8ke3BhdGNo
bmFtZX19IiAhPSAiJHtFUEFUQ0hfRVhDTFVERX0iIF07IHRoZW4KICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAgICAgICAg
ICAgaWYgWyAiJHtTSU5HTEVfUEFUQ0h9IiA9ICJ5ZXMiIF07IHRoZW4KICAgICAgICAgICAgICAg
IGlmIFsgLW4gIiR7RVBBVENIX1NJTkdMRV9NU0d9IiBdOyB0aGVuCiAgICAgICAgICAgICAgICAg
ICAgZWluZm8gIiR7RVBBVENIX1NJTkdMRV9NU0d9IjsKICAgICAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgICAgICBlaW5mbyAiQXBwbHlpbmcgJHtwYXRjaG5hbWV9IC4uLiI7CiAgICAg
ICAgICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIiAg
JHtwYXRjaG5hbWV9IC4uLiI7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBlY2hvICIqKioq
KiAke3BhdGNobmFtZX0gKioqKioiID4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0t
JHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VU
JS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgIHdoaWxl
IFsgIiR7Y291bnR9IiAtbHQgNSBdOyBkbwogICAgICAgICAgICAgICAgX2VwYXRjaF9kcmF3X2xp
bmUgIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiIgPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3Bh
dGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBlY2hvID4+ICR7
U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAg
ICAgICAgICAgICAgaWYgWyAiJHtQQVRDSF9TVUZGSVh9IiAhPSAicGF0Y2giIF07IHRoZW4KICAg
ICAgICAgICAgICAgICAgICBlY2hvIC1uICJQSVBFX0NPTU1BTkQ6CSIgPj4gJHtTVERFUlJfVEFS
R0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAg
ICAgICAgZWNobyAiJHtQSVBFX0NNRH0gJHt4fSA+ICR7UEFUQ0hfVEFSR0VUfSIgPj4gJHtTVERF
UlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgUEFUQ0hfVEFSR0VUPSIke3h9IjsKICAg
ICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZWNobyAtbiAiUEFUQ0ggQ09NTUFORDoJ
ICIgPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMq
L307CiAgICAgICAgICAgICAgICBlY2hvICJwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9IDwgJHtQ
QVRDSF9UQVJHRVR9IiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVS
Ul9UQVJHRVQjIyovfTsKICAgICAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8q
fS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBfZXBh
dGNoX2RyYXdfbGluZSAiKioqKiogJHtwYXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJH
RVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAgICAg
IGlmIFsgIiR7UEFUQ0hfU1VGRklYfSIgIT0gInBhdGNoIiBdOyB0aGVuCiAgICAgICAgICAgICAg
ICAgICAgaWYgISAoICR7UElQRV9DTUR9ICR7eH0gPiAke1BBVENIX1RBUkdFVH0gKSA+PiAke1NU
REVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfSAyPiYxOyB0
aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICAgICAgICAg
IGVlcnJvciAiQ291bGQgbm90IGV4dHJhY3QgcGF0Y2ghIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgY291bnQ9NTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICAgICAgZmk7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGlmICggY2F0ICR7
UEFUQ0hfVEFSR0VUfSB8IHBhdGNoIC1wJHtjb3VudH0gJHtwb3B0c30gLS1kcnktcnVuIC1mOwog
ICAgICAgICAgICAgICAgX2VwYXRjaF9hc3NlcnQgKSA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7
cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfSAyPiYxOyB0aGVuCiAgICAgICAgICAgICAg
ICAgICAgX2VwYXRjaF9kcmF3X2xpbmUgIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiIgPiAke1NU
REVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwog
ICAgICAgICAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFt
ZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVhbDsKICAgICAgICAgICAgICAgICAgICBlY2hvICJB
Q1RVQUxMWSBBUFBMWUlORyAke3BhdGNobmFtZX0gLi4uIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9
LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAg
ICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFS
R0VUIyMqL30ucmVhbDsKICAgICAgICAgICAgICAgICAgICBfZXBhdGNoX2RyYXdfbGluZSAiKioq
KiogJHtwYXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1l
fS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIGNhdCAke1BB
VENIX1RBUkdFVH0gfCBwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9ID4+ICR7U1RERVJSX1RBUkdF
VCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJlYWwgMj4mMTsKICAgICAg
ICAgICAgICAgICAgICBfZXBhdGNoX2Fzc2VydDsKICAgICAgICAgICAgICAgICAgICBpZiBbICIk
PyIgLW5lIDAgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBjYXQgJHtTVERFUlJfVEFS
R0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVhbCA+PiAke1NUREVS
Ul9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAg
ICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJBIGRy
eS1ydW4gb2YgcGF0Y2ggY29tbWFuZCBzdWNjZWVkZWQsIGJ1dCBhY3R1YWxseSI7CiAgICAgICAg
ICAgICAgICAgICAgICAgIGVlcnJvciAiYXBwbHlpbmcgdGhlIHBhdGNoIGZhaWxlZCEiOwogICAg
ICAgICAgICAgICAgICAgICAgICBjb3VudD01OwogICAgICAgICAgICAgICAgICAgIGZpOwogICAg
ICAgICAgICAgICAgICAgIHJtIC1mICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7
U1RERVJSX1RBUkdFVCMjKi99LnJlYWw7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGNvdW50PSQoKGNvdW50ICsgMSkpOwogICAg
ICAgICAgICBkb25lOwogICAgICAgICAgICBpZiBbICIke1BBVENIX1NVRkZJWH0iICE9ICJwYXRj
aCIgXTsgdGhlbgogICAgICAgICAgICAgICAgcm0gLWYgJHtQQVRDSF9UQVJHRVR9OwogICAgICAg
ICAgICBmaTsKICAgICAgICAgICAgaWYgWyAiJHtjb3VudH0iIC1lcSA1IF07IHRoZW4KICAgICAg
ICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICBlZXJyb3IgIkZhaWxlZCBQYXRjaDogJHtw
YXRjaG5hbWV9ICEiOwogICAgICAgICAgICAgICAgZWVycm9yICIgKCAke1BBVENIX1RBUkdFVH0g
KSI7CiAgICAgICAgICAgICAgICBlZXJyb3I7CiAgICAgICAgICAgICAgICBlZXJyb3IgIkluY2x1
ZGUgaW4geW91ciBidWdyZXBvcnQgdGhlIGNvbnRlbnRzIG9mOiI7CiAgICAgICAgICAgICAgICBl
ZXJyb3I7CiAgICAgICAgICAgICAgICBlZXJyb3IgIiAgJHtTVERFUlJfVEFSR0VUJS8qfS8ke3Bh
dGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30iOwogICAgICAgICAgICAgICAgZWNobzsKICAg
ICAgICAgICAgICAgIGRpZSAiRmFpbGVkIFBhdGNoOiAke3BhdGNobmFtZX0hIjsKICAgICAgICAg
ICAgZmk7CiAgICAgICAgICAgIHJtIC1mICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9
LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAgICAgICAgICBlZW5kIDA7CiAgICAgICAgZmk7CiAg
ICBkb25lOwogICAgaWYgWyAiJHtTSU5HTEVfUEFUQ0h9IiA9ICJubyIgXTsgdGhlbgogICAgICAg
IGVpbmZvICJEb25lIHdpdGggcGF0Y2hpbmciOwogICAgZmkKfQplcGF1c2UgKCkgCnsgCiAgICBb
WyAteiAke0VQQVVTRV9JR05PUkV9IF1dICYmIHNsZWVwICR7MTotNX0KfQplcHVudF9jeHggKCkg
CnsgCiAgICBsb2NhbCBkaXI9JDE7CiAgICBbWyAteiAke2Rpcn0gXV0gJiYgZGlyPSR7U307CiAg
ICBlYmVnaW4gIlJlbW92aW5nIHVzZWxlc3MgQysrIGNoZWNrcyI7CiAgICBsb2NhbCBmOwogICAg
ZmluZCAiJHtkaXJ9IiAtbmFtZSBjb25maWd1cmUgfCB3aGlsZSByZWFkIGY7IGRvCiAgICAgICAg
cGF0Y2ggLS1uby1iYWNrdXAtaWYtbWlzbWF0Y2ggLXAwICIke2Z9IiAiJHtQT1JURElSfS9lY2xh
c3MvRUxULXBhdGNoZXMvbm9jeHgvbm9jeHgucGF0Y2giID4gL2Rldi9udWxsOwogICAgZG9uZTsK
ICAgIGVlbmQgMAp9CmVzdm5fY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBzZXQgLS0g
LjsKICAgIGZpbmQgIiRAIiAtdHlwZSBkIC1uYW1lICcuc3ZuJyAtcHJ1bmUgLXByaW50MCB8IHhh
cmdzIC0wIHJtIC1yZgp9CmZpbHRlci1mbGFncyAoKSAKeyAKICAgIF9maWx0ZXItaGFyZGVuZWQg
IiRAIjsKICAgIF9maWx0ZXItdmFyIENGTEFHUyAiJEAiOwogICAgX2ZpbHRlci12YXIgQ1BQRkxB
R1MgIiRAIjsKICAgIF9maWx0ZXItdmFyIENYWEZMQUdTICIkQCI7CiAgICByZXR1cm4gMAp9CmZp
bHRlci1sZGZsYWdzICgpIAp7IAogICAgX2ZpbHRlci12YXIgTERGTEFHUyAiJEAiOwogICAgcmV0
dXJuIDAKfQpmaWx0ZXItbGZzLWZsYWdzICgpIAp7IAogICAgW1sgLW4gJEAgXV0gJiYgZGllICJm
aWx0ZXItbGZzLWZsYWdzIHRha2VzIG5vIGFyZ3VtZW50cyI7CiAgICBmaWx0ZXItZmxhZ3MgLURf
RklMRV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0xBUkdFRklMRTY0X1NP
VVJDRQp9CmZpbHRlci1tZnBtYXRoICgpIAp7IAogICAgbG9jYWwgb3JpZ19tZnBtYXRoIG5ld19t
YXRoIHBydW5lX21hdGg7CiAgICBvcmlnX21mcG1hdGg9JChnZXQtZmxhZyAtbWZwbWF0aCk7CiAg
ICBuZXdfbWF0aD0kKGdldC1mbGFnIG1mcG1hdGgpOwogICAgbmV3X21hdGg9IiAke25ld19tYXRo
Ly8sLyB9ICI7CiAgICBwcnVuZV9tYXRoPSIiOwogICAgZm9yIHBydW5lX21hdGggaW4gIiRAIjsK
ICAgIGRvCiAgICAgICAgbmV3X21hdGg9JHtuZXdfbWF0aC8gJHtwcnVuZV9tYXRofSAvIH07CiAg
ICBkb25lOwogICAgbmV3X21hdGg9JChlY2hvICR7bmV3X21hdGh9KTsKICAgIG5ld19tYXRoPSR7
bmV3X21hdGgvLyAvLH07CiAgICBpZiBbWyAteiAke25ld19tYXRofSBdXTsgdGhlbgogICAgICAg
IGZpbHRlci1mbGFncyAke29yaWdfbWZwbWF0aH07CiAgICBlbHNlCiAgICAgICAgcmVwbGFjZS1m
bGFncyAke29yaWdfbWZwbWF0aH0gLW1mcG1hdGg9JHtuZXdfbWF0aH07CiAgICBmaTsKICAgIHJl
dHVybiAwCn0KZmluZF91bnBhY2thYmxlX2ZpbGUgKCkgCnsgCiAgICBsb2NhbCBzcmM9JDE7CiAg
ICBpZiBbWyAteiAke3NyY30gXV07IHRoZW4KICAgICAgICBzcmM9JHtESVNURElSfS8ke0F9Owog
ICAgZWxzZQogICAgICAgIGlmIFtbIC1lICR7RElTVERJUn0vJHtzcmN9IF1dOyB0aGVuCiAgICAg
ICAgICAgIHNyYz0ke0RJU1RESVJ9LyR7c3JjfTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGlm
IFtbIC1lICR7UFdEfS8ke3NyY30gXV07IHRoZW4KICAgICAgICAgICAgICAgIHNyYz0ke1BXRH0v
JHtzcmN9OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBpZiBbWyAtZSAke3NyY30g
XV07IHRoZW4KICAgICAgICAgICAgICAgICAgICBzcmM9JHtzcmN9OwogICAgICAgICAgICAgICAg
Zmk7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAgZmk7CiAgICBbWyAhIC1lICR7c3Jj
fSBdXSAmJiByZXR1cm4gMTsKICAgIGVjaG8gIiR7c3JjfSIKfQpnY2MtZnVsbHZlcnNpb24gKCkg
CnsgCiAgICAkKHRjLWdldENDICIkQCIpIC1kdW1wdmVyc2lvbgp9CmdjYy1tYWpvci12ZXJzaW9u
ICgpIAp7IAogICAgZ2NjLXZlcnNpb24gIiRAIiB8IGN1dCAtZjEgLWQuCn0KZ2NjLW1pY3JvLXZl
cnNpb24gKCkgCnsgCiAgICBnY2MtZnVsbHZlcnNpb24gIiRAIiB8IGN1dCAtZjMgLWQuIHwgY3V0
IC1mMSAtZC0KfQpnY2MtbWlub3ItdmVyc2lvbiAoKSAKeyAKICAgIGdjYy12ZXJzaW9uICIkQCIg
fCBjdXQgLWYyIC1kLgp9CmdjYy1zcGVjcy1kaXJlY3RpdmUgKCkgCnsgCiAgICBsb2NhbCBkaXJl
Y3RpdmUgc3ViZG5hbWUgc3ViZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSIkKF9nY2Mtc3BlY3Mt
ZGlyZWN0aXZlX3JhdyAkMSkiOwogICAgd2hpbGUgW1sgJHtkaXJlY3RpdmV9ID09IColXCgqXCkq
IF1dOyBkbwogICAgICAgIHN1YmRuYW1lPSR7ZGlyZWN0aXZlLyolXCh9OwogICAgICAgIHN1YmRu
YW1lPSR7c3ViZG5hbWUvXCkqfTsKICAgICAgICBzdWJkaXJlY3RpdmU9IiQoX2djYy1zcGVjcy1k
aXJlY3RpdmVfcmF3ICR7c3ViZG5hbWV9KSI7CiAgICAgICAgZGlyZWN0aXZlPSIke2RpcmVjdGl2
ZS8vXCUoJHtzdWJkbmFtZX0pLyR7c3ViZGlyZWN0aXZlfX0iOwogICAgZG9uZTsKICAgIGVjaG8g
IiR7ZGlyZWN0aXZlfSI7CiAgICByZXR1cm4gMAp9CmdjYy1zcGVjcy1ub3cgKCkgCnsgCiAgICBs
b2NhbCBkaXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGxpbmtf
Y29tbWFuZCk7CiAgICByZXR1cm4gJChbWyAke2RpcmVjdGl2ZS9ceyFub25vdzp9ICE9ICR7ZGly
ZWN0aXZlfSBdXSkKfQpnY2Mtc3BlY3MtcGllICgpIAp7IAogICAgbG9jYWwgZGlyZWN0aXZlOwog
ICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2ZSBjYzEpOwogICAgcmV0dXJuICQoW1sg
JHtkaXJlY3RpdmUvXHshbm9waWU6fSAhPSAke2RpcmVjdGl2ZX0gXV0pCn0KZ2NjLXNwZWNzLXJl
bHJvICgpIAp7IAogICAgbG9jYWwgZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNz
LWRpcmVjdGl2ZSBsaW5rX2NvbW1hbmQpOwogICAgcmV0dXJuICQoW1sgJHtkaXJlY3RpdmUvXHsh
bm9yZWxybzp9ICE9ICR7ZGlyZWN0aXZlfSBdXSkKfQpnY2Mtc3BlY3Mtc3NwICgpIAp7IAogICAg
bG9jYWwgZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2ZSBjYzEp
OwogICAgcmV0dXJuICQoW1sgJHtkaXJlY3RpdmUvXHshZm5vLXN0YWNrLXByb3RlY3Rvcjp9ICE9
ICR7ZGlyZWN0aXZlfSBdXSkKfQpnY2Mtc3BlY3Mtc3NwLXRvLWFsbCAoKSAKeyAKICAgIGxvY2Fs
IGRpcmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJlY3RpdmUgY2MxKTsKICAg
IHJldHVybiAkKFtbICR7ZGlyZWN0aXZlL1x7IWZuby1zdGFjay1wcm90ZWN0b3ItYWxsOn0gIT0g
JHtkaXJlY3RpdmV9IF1dKQp9CmdjYy12ZXJzaW9uICgpIAp7IAogICAgZ2NjLWZ1bGx2ZXJzaW9u
ICIkQCIgfCBjdXQgLWYxLDIgLWQuCn0KZ2VuX3Vzcl9sZHNjcmlwdCAoKSAKeyAKICAgIGxvY2Fs
IGxpYiBsaWJkaXI9JChnZXRfbGliZGlyKSBvdXRwdXRfZm9ybWF0PSIiOwogICAgZG9kaXIgL3Vz
ci8ke2xpYmRpcn07CiAgICBvdXRwdXRfZm9ybWF0PSQoJCh0Yy1nZXRDQykgJHtDRkxBR1N9ICR7
TERGTEFHU30gLVdsLC0tdmVyYm9zZSAyPiYxIHwgc2VkIC1uICdzL15PVVRQVVRfRk9STUFUKCJc
KFteIl0qXCkiLC4qL1wxL3AnKTsKICAgIFtbIC1uICR7b3V0cHV0X2Zvcm1hdH0gXV0gJiYgb3V0
cHV0X2Zvcm1hdD0iT1VUUFVUX0ZPUk1BVCAoICR7b3V0cHV0X2Zvcm1hdH0gKSI7CiAgICBmb3Ig
bGliIGluICIkQCI7CiAgICBkbwogICAgICAgIGlmIFtbICR7VVNFUkxBTkR9ID09ICJEYXJ3aW4i
IF1dOyB0aGVuCiAgICAgICAgICAgIGV3YXJuICJOb3QgY3JlYXRpbmcgZmFrZSBkeW5hbWljIGxp
YnJhcnkgZm9yICRsaWIgb24gRGFyd2luOyI7CiAgICAgICAgICAgIGV3YXJuICJtYWtpbmcgYSBz
eW1saW5rIGluc3RlYWQuIjsKICAgICAgICAgICAgZG9zeW0gIi8ke2xpYmRpcn0vJHtsaWJ9IiAi
L3Vzci8ke2xpYmRpcn0vJHtsaWJ9IjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGNhdCA+ICIk
e0R9L3Vzci8ke2xpYmRpcn0vJHtsaWJ9IiAgPDwtRU5EX0xEU0NSSVBUCi8qIEdOVSBsZCBzY3Jp
cHQKICAgU2luY2UgR2VudG9vIGhhcyBjcml0aWNhbCBkeW5hbWljIGxpYnJhcmllcwogICBpbiAv
bGliLCBhbmQgdGhlIHN0YXRpYyB2ZXJzaW9ucyBpbiAvdXNyL2xpYiwKICAgd2UgbmVlZCB0byBo
YXZlIGEgImZha2UiIGR5bmFtaWMgbGliIGluIC91c3IvbGliLAogICBvdGhlcndpc2Ugd2UgcnVu
IGludG8gbGlua2luZyBwcm9ibGVtcy4KCiAgIFNlZSBidWcgaHR0cDovL2J1Z3MuZ2VudG9vLm9y
Zy80NDExIGZvciBtb3JlIGluZm8uCiAqLwoke291dHB1dF9mb3JtYXR9CkdST1VQICggLyR7bGli
ZGlyfS8ke2xpYn0gKQpFTkRfTERTQ1JJUFQKCiAgICAgICAgZmkKICAgICAgICBmcGVybXMgYSt4
ICIvdXNyLyR7bGliZGlyfS8ke2xpYn0iIHx8IGRpZSAiY291bGQgbm90IGNoYW5nZSBwZXJtcyBv
biAke2xpYn0iOwogICAgZG9uZQp9CmdldC1mbGFnICgpIAp7IAogICAgbG9jYWwgZiBmaW5kZmxh
Zz0iJDEiOwogICAgZm9yIGYgaW4gJHtDRkxBR1N9ICR7Q1hYRkxBR1N9OwogICAgZG8KICAgICAg
ICBpZiBbICIke2YvJHtmaW5kZmxhZ319IiAhPSAiJHtmfSIgXTsgdGhlbgogICAgICAgICAgICBw
cmludGYgIiVzXG4iICIke2YvLSR7ZmluZGZsYWd9PX0iOwogICAgICAgICAgICByZXR1cm4gMDsK
ICAgICAgICBmaTsKICAgIGRvbmU7CiAgICByZXR1cm4gMQp9CmdldF9hYmlfQVNGTEFHUyAoKSAK
eyAKICAgIGdldF9hYmlfdmFyIEFTRkxBR1MgIiRAIgp9CmdldF9hYmlfQ0RFRklORSAoKSAKeyAK
ICAgIGdldF9hYmlfdmFyIENERUZJTkUgIiRAIgp9CmdldF9hYmlfQ0ZMQUdTICgpIAp7IAogICAg
Z2V0X2FiaV92YXIgQ0ZMQUdTICIkQCIKfQpnZXRfYWJpX0NIT1NUICgpIAp7IAogICAgZ2V0X2Fi
aV92YXIgQ0hPU1QgIiRAIgp9CmdldF9hYmlfQ1RBUkdFVCAoKSAKeyAKICAgIGdldF9hYmlfdmFy
IENUQVJHRVQgIiRAIgp9CmdldF9hYmlfRkFLRV9UQVJHRVRTICgpIAp7IAogICAgZ2V0X2FiaV92
YXIgRkFLRV9UQVJHRVRTICIkQCIKfQpnZXRfYWJpX0xERkxBR1MgKCkgCnsgCiAgICBnZXRfYWJp
X3ZhciBMREZMQUdTICIkQCIKfQpnZXRfYWJpX0xJQkRJUiAoKSAKeyAKICAgIGdldF9hYmlfdmFy
IExJQkRJUiAiJEAiCn0KZ2V0X2FiaV92YXIgKCkgCnsgCiAgICBsb2NhbCBmbGFnPSQxOwogICAg
bG9jYWwgYWJpOwogICAgaWYgWyAkIyAtZ3QgMSBdOyB0aGVuCiAgICAgICAgYWJpPSR7Mn07CiAg
ICBlbHNlCiAgICAgICAgaWYgWyAtbiAiJHtBQkl9IiBdOyB0aGVuCiAgICAgICAgICAgIGFiaT0k
e0FCSX07CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbIC1uICIke0RFRkFVTFRfQUJJfSIg
XTsgdGhlbgogICAgICAgICAgICAgICAgYWJpPSR7REVGQVVMVF9BQkl9OwogICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICBhYmk9ImRlZmF1bHQiOwogICAgICAgICAgICBmaTsKICAgICAg
ICBmaTsKICAgIGZpOwogICAgbG9jYWwgdmFyPSIke2ZsYWd9XyR7YWJpfSI7CiAgICBlY2hvICR7
IXZhcn0KfQpnZXRfYWZ0ZXJfbWFqb3JfdmVyc2lvbiAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jf
c2hvcHRfdG9nZ2xlIG9uOwogICAgZWNobyAkKGdldF92ZXJzaW9uX2NvbXBvbmVudF9yYW5nZSAy
LSAiJHsxOi0ke1BWfX0iICk7CiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYKfQpn
ZXRfYWxsX2FiaXMgKCkgCnsgCiAgICBsb2NhbCBvcmRlcj0iIjsKICAgIGlmIFtbIC16ICR7TVVM
VElMSUJfQUJJU30gXV07IHRoZW4KICAgICAgICBlY2hvICJkZWZhdWx0IjsKICAgICAgICByZXR1
cm4gMDsKICAgIGZpOwogICAgZm9yIHggaW4gJHtNVUxUSUxJQl9BQklTfTsKICAgIGRvCiAgICAg
ICAgaWYgW1sgJHt4fSAhPSAke0RFRkFVTFRfQUJJfSBdXTsgdGhlbgogICAgICAgICAgICBvcmRl
cj0iJHtvcmRlcjorJHtvcmRlcn0gfSR7eH0iOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIG9y
ZGVyPSIke29yZGVyOiske29yZGVyfSB9JHtERUZBVUxUX0FCSX0iOwogICAgZWNobyAke29yZGVy
fTsKICAgIHJldHVybiAwCn0KZ2V0X2FsbF9saWJkaXJzICgpIAp7IAogICAgbG9jYWwgbGliZGly
cz0ibGliIjsKICAgIGxvY2FsIGFiaTsKICAgIGxvY2FsIGRpcjsKICAgIGZvciBhYmkgaW4gJHtN
VUxUSUxJQl9BQklTfTsKICAgIGRvCiAgICAgICAgWyAiJChnZXRfYWJpX0xJQkRJUiAke2FiaX0p
IiAhPSAibGliIiBdICYmIGxpYmRpcnM9IiR7bGliZGlyc30gJChnZXRfYWJpX0xJQkRJUiAke2Fi
aX0pIjsKICAgIGRvbmU7CiAgICBlY2hvICIke2xpYmRpcnN9Igp9CmdldF9hbGxfdmVyc2lvbl9j
b21wb25lbnRzICgpIAp7IAogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb247CiAgICBs
b2NhbCB2ZXJfc3RyPSR7MTotJHtQVn19IHJlc3VsdCByZXN1bHRfaWR4PTA7CiAgICByZXN1bHQ9
KCk7CiAgICBpZiBbWyAiJHtWRVJTSU9OQVRPUl9DQUNIRV9WRVJfU1RSfSIgPT0gIiR7dmVyX3N0
cn0iIF1dOyB0aGVuCiAgICAgICAgZWNobyAke1ZFUlNJT05BVE9SX0NBQ0hFX1JFU1VMVH07CiAg
ICAgICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmOwogICAgICAgIHJldHVybjsKICAg
IGZpOwogICAgZXhwb3J0IFZFUlNJT05BVE9SX0NBQ0hFX1ZFUl9TVFI9IiR7dmVyX3N0cn0iOwog
ICAgd2hpbGUgW1sgLW4gIiR2ZXJfc3RyIiBdXTsgZG8KICAgICAgICBjYXNlICIke3Zlcl9zdHI6
MDoxfSIgaW4gCiAgICAgICAgICAgIFtbOmRpZ2l0Ol1dKQogICAgICAgICAgICAgICAgcmVzdWx0
WyRyZXN1bHRfaWR4XT0iJHt2ZXJfc3RyJSVbXls6ZGlnaXQ6XV0qfSI7CiAgICAgICAgICAgICAg
ICB2ZXJfc3RyPSIke3Zlcl9zdHIjIysoW1s6ZGlnaXQ6XV0pfSI7CiAgICAgICAgICAgICAgICBy
ZXN1bHRfaWR4PSQoKCRyZXN1bHRfaWR4ICsgMSkpCiAgICAgICAgICAgIDs7CiAgICAgICAgICAg
IFstXy5dKQogICAgICAgICAgICAgICAgcmVzdWx0WyRyZXN1bHRfaWR4XT0iJHt2ZXJfc3RyOjA6
MX0iOwogICAgICAgICAgICAgICAgdmVyX3N0cj0iJHt2ZXJfc3RyOjF9IjsKICAgICAgICAgICAg
ICAgIHJlc3VsdF9pZHg9JCgoJHJlc3VsdF9pZHggKyAxKSkKICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgW1s6YWxwaGE6XV0pCiAgICAgICAgICAgICAgICBsb2NhbCBub3RfbWF0Y2g9IiR7dmVy
X3N0ciMjKyhbWzphbHBoYTpdXSkqKFtbOmRpZ2l0Ol1dKX0iOwogICAgICAgICAgICAgICAgcmVz
dWx0WyRyZXN1bHRfaWR4XT0ke3Zlcl9zdHI6MDokKCgkeyN2ZXJfc3RyfSAtICR7I25vdF9tYXRj
aH0pKX07CiAgICAgICAgICAgICAgICB2ZXJfc3RyPSIke25vdF9tYXRjaH0iOwogICAgICAgICAg
ICAgICAgcmVzdWx0X2lkeD0kKCgkcmVzdWx0X2lkeCArIDEpKQogICAgICAgICAgICA7OwogICAg
ICAgICAgICAqKQogICAgICAgICAgICAgICAgcmVzdWx0WyRyZXN1bHRfaWR4XT0iJHt2ZXJfc3Ry
OjA6MX0iOwogICAgICAgICAgICAgICAgdmVyX3N0cj0iJHt2ZXJfc3RyOjF9IjsKICAgICAgICAg
ICAgICAgIHJlc3VsdF9pZHg9JCgoJHJlc3VsdF9pZHggKyAxKSkKICAgICAgICAgICAgOzsKICAg
ICAgICBlc2FjOwogICAgZG9uZTsKICAgIGV4cG9ydCBWRVJTSU9OQVRPUl9DQUNIRV9SRVNVTFQ9
IiR7cmVzdWx0W0BdfSI7CiAgICBlY2hvICR7cmVzdWx0W0BdfTsKICAgIF9fdmVyc2lvbmF0b3Jf
c2hvcHRfdG9nZ2xlIG9mZgp9CmdldF9ibWFrZSAoKSAKeyAKICAgIGlmIFtbICR7VVNFUkxBTkR9
ID09ICpCU0QgXV07IHRoZW4KICAgICAgICBlY2hvIG1ha2U7CiAgICBlbHNlCiAgICAgICAgaWYg
W1sgJHtVU0VSTEFORH0gPT0gIkRhcndpbiIgXV07IHRoZW4KICAgICAgICAgICAgZWNobyBic2Rt
YWtlOwogICAgICAgIGVsc2UKICAgICAgICAgICAgZWNobyBwbWFrZTsKICAgICAgICBmaTsKICAg
IGZpCn0KZ2V0X2luc3RhbGxfYWJpcyAoKSAKeyAKICAgIGxvY2FsIG9yZGVyPSIiOwogICAgaWYg
W1sgLXogJHtNVUxUSUxJQl9BQklTfSBdXTsgdGhlbgogICAgICAgIGVjaG8gImRlZmF1bHQiOwog
ICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBpZiBbWyAke0VNVUxUSUxJQl9QS0d9ID09ICJ0
cnVlIiBdXTsgdGhlbgogICAgICAgIGZvciB4IGluICR7TVVMVElMSUJfQUJJU307CiAgICAgICAg
ZG8KICAgICAgICAgICAgaWYgW1sgJHt4fSAhPSAiJHtERUZBVUxUX0FCSX0iIF1dOyB0aGVuCiAg
ICAgICAgICAgICAgICBoYXNxICR7eH0gJHtBQklfREVOWX0gfHwgb3JkZXJhPSIke29yZGVyYX0g
JHt4fSI7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAgICAgaGFzcSAke0RFRkFV
TFRfQUJJfSAke0FCSV9ERU5ZfSB8fCBvcmRlcj0iJHtvcmRlcmF9ICR7REVGQVVMVF9BQkl9IjsK
ICAgICAgICBpZiBbWyAtbiAke0FCSV9BTExPV30gXV07IHRoZW4KICAgICAgICAgICAgbG9jYWwg
b3JkZXJhPSIiOwogICAgICAgICAgICBmb3IgeCBpbiAke29yZGVyfTsKICAgICAgICAgICAgZG8K
ICAgICAgICAgICAgICAgIGlmIGhhc3EgJHt4fSAke0FCSV9BTExPV307IHRoZW4KICAgICAgICAg
ICAgICAgICAgICBvcmRlcmE9IiR7b3JkZXJhfSAke3h9IjsKICAgICAgICAgICAgICAgIGZpOwog
ICAgICAgICAgICBkb25lOwogICAgICAgICAgICBvcmRlcj0ke29yZGVyYX07CiAgICAgICAgZmk7
CiAgICBlbHNlCiAgICAgICAgb3JkZXI9JHtERUZBVUxUX0FCSX07CiAgICBmaTsKICAgIGlmIFtb
IC16ICR7b3JkZXJ9IF1dOyB0aGVuCiAgICAgICAgZGllICJUaGUgQUJJIGxpc3QgaXMgZW1wdHku
ICBBcmUgeW91IHVzaW5nIGEgcHJvcGVyIG11bHRpbGliIHByb2ZpbGU/ICBQZXJoYXBzIHlvdXIg
VVNFIGZsYWdzIG9yIE1VTFRJTElCX0FCSVMgYXJlIHRvbyByZXN0cmljdGl2ZSBmb3IgdGhpcyBw
YWNrYWdlLiI7CiAgICBmaTsKICAgIGVjaG8gJHtvcmRlcn07CiAgICByZXR1cm4gMAp9CmdldF9s
YXN0X3ZlcnNpb25fY29tcG9uZW50X2luZGV4ICgpIAp7IAogICAgX192ZXJzaW9uYXRvcl9zaG9w
dF90b2dnbGUgb247CiAgICBlY2hvICQoKCAkKGdldF92ZXJzaW9uX2NvbXBvbmVudF9jb3VudCAi
JHsxOi0ke1BWfX0iICkgLSAxICkpOwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2Zm
Cn0KZ2V0X2xpYmRpciAoKSAKeyAKICAgIGxvY2FsIENPTkZfTElCRElSOwogICAgaWYgWyAtbiAi
JHtDT05GX0xJQkRJUl9PVkVSUklERX0iIF07IHRoZW4KICAgICAgICBlY2hvICR7Q09ORl9MSUJE
SVJfT1ZFUlJJREV9OwogICAgZWxzZQogICAgICAgIGdldF9hYmlfTElCRElSOwogICAgZmkKfQpn
ZXRfbGliZGlyX292ZXJyaWRlICgpIAp7IAogICAgaWYgaGFzX211bHRpbGliX3Byb2ZpbGU7IHRo
ZW4KICAgICAgICBlZXJyb3IgImdldF9saWJkaXJfb3ZlcnJpZGUgY2FsbGVkLCBidXQgaXQgc2hv
dWxkbid0IGJlIG5lZWRlZCB3aXRoIHRoZSBuZXcgbXVsdGlsaWIgYXBwcm9hY2guICBQbGVhc2Ug
ZmlsZSBhIGJ1ZyBhdCBodHRwOi8vYnVncy5nZW50b28ub3JnIGFuZCBhc3NpZ24gaXQgdG8gZXJh
ZGljYXRvckBnZW50b28ub3JnIjsKICAgICAgICBleGl0IDE7CiAgICBmaTsKICAgIENPTkZfTElC
RElSPSIkMSI7CiAgICBDT05GX0xJQkRJUl9PVkVSUklERT0iJDEiOwogICAgTElCRElSX2RlZmF1
bHQ9IiQxIgp9CmdldF9saWJuYW1lICgpIAp7IAogICAgbG9jYWwgbGlibmFtZTsKICAgIGxvY2Fs
IHZlcj0kMTsKICAgIGNhc2UgJHtDSE9TVH0gaW4gCiAgICAgICAgKi1kYXJ3aW4qKQogICAgICAg
ICAgICBsaWJuYW1lPSJkeWxpYiIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGxp
Ym5hbWU9InNvIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgaWYgW1sgLXogJEAgXV07IHRoZW4K
ICAgICAgICBlY2hvICIuJHtsaWJuYW1lfSI7CiAgICBlbHNlCiAgICAgICAgZm9yIHZlciBpbiAi
JEAiOwogICAgICAgIGRvCiAgICAgICAgICAgIGNhc2UgJHtDSE9TVH0gaW4gCiAgICAgICAgICAg
ICAgICAqLWRhcndpbiopCiAgICAgICAgICAgICAgICAgICAgZWNobyAiLiR7dmVyfS4ke2xpYm5h
bWV9IgogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAg
ICAgICAgZWNobyAiLiR7bGlibmFtZX0uJHt2ZXJ9IgogICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgZXNhYzsKICAgICAgICBkb25lOwogICAgZmkKfQpnZXRfbG9jYWx2ZXJzaW9uICgpIAp7
IAogICAgbG9jYWwgbHZfbGlzdCBpIHg7CiAgICBmb3IgaSBpbiAkKGxzICR7MX0vbG9jYWx2ZXJz
aW9uKiAyPi9kZXYvbnVsbCk7CiAgICBkbwogICAgICAgIFtbIC1uICR7aS8vKn4qfSBdXSAmJiBs
dl9saXN0PSIke2x2X2xpc3R9ICR7aX0iOwogICAgZG9uZTsKICAgIGZvciBpIGluICR7bHZfbGlz
dH07CiAgICBkbwogICAgICAgIHg9IiR7eH0kKDwke2l9KSI7CiAgICBkb25lOwogICAgeD0ke3gv
IC99OwogICAgZWNobyAke3h9Cn0KZ2V0X21ham9yX3ZlcnNpb24gKCkgCnsgCiAgICBfX3ZlcnNp
b25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAgIGxvY2FsIGM7CiAgICBjPSgkKGdldF9hbGxfdmVy
c2lvbl9jb21wb25lbnRzICIkezE6LSR7UFZ9fSIgKSk7CiAgICBlY2hvICR7Y1swXX07CiAgICBf
X3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYKfQpnZXRfbWxfaW5jZGlyICgpIAp7IAogICAg
bG9jYWwgZGlyPS91c3IvaW5jbHVkZTsKICAgIGlmIFtbICQjIC1ndCAwIF1dOyB0aGVuCiAgICAg
ICAgaW5jZGlyPSQxOwogICAgICAgIHNoaWZ0OwogICAgZmk7CiAgICBpZiBbWyAteiAiJHtNVUxU
SUxJQl9BQklTfSIgXV07IHRoZW4KICAgICAgICBlY2hvICR7aW5jZGlyfTsKICAgICAgICByZXR1
cm4gMDsKICAgIGZpOwogICAgbG9jYWwgYWJpPSR7QUJJLSR7REVGQVVMVF9BQkl9fTsKICAgIGlm
IFtbICQjIC1ndCAwIF1dOyB0aGVuCiAgICAgICAgYWJpPSQxOwogICAgICAgIHNoaWZ0OwogICAg
Zmk7CiAgICBpZiBbWyAtZCAiJHtkaXJ9L2dlbnRvby1tdWx0aWxpYi8ke2FiaX0iIF1dOyB0aGVu
CiAgICAgICAgZWNobyAke2Rpcn0vZ2VudG9vLW11bHRpbGliLyR7YWJpfTsKICAgIGVsc2UKICAg
ICAgICBlY2hvICR7ZGlyfTsKICAgIGZpCn0KZ2V0X21vdW50cyAoKSAKeyAKICAgIGxvY2FsIHBv
aW50PSBub2RlPSBmcz0gb3B0cz0gZm9vPTsKICAgIGlmIFtbICQodW5hbWUgLXMpID09ICJMaW51
eCIgXV07IHRoZW4KICAgICAgICB3aGlsZSByZWFkIG5vZGUgcG9pbnQgZnMgb3B0cyBmb287IGRv
CiAgICAgICAgICAgIGVjaG8gIiR7cG9pbnR9ICR7bm9kZX0gJHtmc30gJHtvcHRzfSI7CiAgICAg
ICAgZG9uZSA8IC9wcm9jL21vdW50czsKICAgICAgICByZXR1cm47CiAgICBmaTsKICAgIGxvY2Fs
IElGUz0nCSc7CiAgICBMQ19BTEw9QyBtb3VudCAtcCB8IHdoaWxlIHJlYWQgbm9kZSBwb2ludCBm
cyBmb287IGRvCiAgICAgICAgb3B0cz0ke2ZzIyogfTsKICAgICAgICBmcz0ke2ZzJSUgKn07CiAg
ICAgICAgZWNobyAiJHtwb2ludC8vIC9cMDQwfSAke25vZGUvLyAvXDA0MH0gJHtmcyUlICp9ICR7
b3B0cy8vIC9cMDQwfSI7CiAgICBkb25lCn0KZ2V0X211bHRpbGliZGlyICgpIAp7IAogICAgaWYg
aGFzX211bHRpbGliX3Byb2ZpbGU7IHRoZW4KICAgICAgICBlZXJyb3IgImdldF9tdWx0aWxpYmRp
ciBjYWxsZWQsIGJ1dCBpdCBzaG91bGRuJ3QgYmUgbmVlZGVkIHdpdGggdGhlIG5ldyBtdWx0aWxp
YiBhcHByb2FjaC4gIFBsZWFzZSBmaWxlIGEgYnVnIGF0IGh0dHA6Ly9idWdzLmdlbnRvby5vcmcg
YW5kIGFzc2lnbiBpdCB0byBlcmFkaWNhdG9yQGdlbnRvby5vcmciOwogICAgICAgIGV4aXQgMTsK
ICAgIGZpOwogICAgZWNobyAke0NPTkZfTVVMVElMSUJESVI6PWxpYjMyfQp9CmdldF9ydW5uaW5n
X3ZlcnNpb24gKCkgCnsgCiAgICBLVl9GVUxMPSQodW5hbWUgLXIpOwogICAgaWYgW1sgLWYgJHtS
T09UfS9saWIvbW9kdWxlcy8ke0tWX0ZVTEx9L3NvdXJjZS9NYWtlZmlsZSBdXTsgdGhlbgogICAg
ICAgIEtFUk5FTF9ESVI9JChyZWFkbGluayAtZiAke1JPT1R9L2xpYi9tb2R1bGVzLyR7S1ZfRlVM
TH0vc291cmNlKTsKICAgICAgICB1bnNldCBLVl9GVUxMOwogICAgICAgIGdldF92ZXJzaW9uOwog
ICAgICAgIHJldHVybiAkPzsKICAgIGVsc2UKICAgICAgICBpZiBbWyAtZiAke1JPT1R9L2xpYi9t
b2R1bGVzLyR7S1ZfRlVMTH0vYnVpbGQvTWFrZWZpbGUgXV07IHRoZW4KICAgICAgICAgICAgS0VS
TkVMX0RJUj0kKHJlYWRsaW5rIC1mICR7Uk9PVH0vbGliL21vZHVsZXMvJHtLVl9GVUxMfS9idWls
ZCk7CiAgICAgICAgICAgIHVuc2V0IEtWX0ZVTEw7CiAgICAgICAgICAgIGdldF92ZXJzaW9uOwog
ICAgICAgICAgICByZXR1cm4gJD87CiAgICAgICAgZWxzZQogICAgICAgICAgICBLVl9NQUpPUj0k
KGdldF92ZXJzaW9uX2NvbXBvbmVudF9yYW5nZSAxICR7S1ZfRlVMTH0pOwogICAgICAgICAgICBL
Vl9NSU5PUj0kKGdldF92ZXJzaW9uX2NvbXBvbmVudF9yYW5nZSAyICR7S1ZfRlVMTH0pOwogICAg
ICAgICAgICBLVl9QQVRDSD0kKGdldF92ZXJzaW9uX2NvbXBvbmVudF9yYW5nZSAzLSAke0tWX0ZV
TEx9KTsKICAgICAgICAgICAgS1ZfUEFUQ0g9JHtLVl9QQVRDSC8vLSp9OwogICAgICAgICAgICBb
WyAtbiAke0tWX0ZVTEwjKi19IF1dICYmIFtbIC1uICR7S1ZfRlVMTC8vJHtLVl9GVUxMIyotfX0g
XV0gJiYgS1ZfRVhUUkE9Ii0ke0tWX0ZVTEwjKi19IjsKICAgICAgICBmaTsKICAgIGZpOwogICAg
cmV0dXJuIDAKfQpnZXRfdmVyc2lvbiAoKSAKeyAKICAgIGxvY2FsIGtidWlsZF9vdXRwdXQ7CiAg
ICBbIC1uICIke0tWX0ZVTEx9IiBdICYmIHJldHVybiAwOwogICAgdW5zZXQgS1ZfRElSOwogICAg
cWVpbmZvICJEZXRlcm1pbmluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGtlcm5lbCBzb3VyY2UgY29k
ZSI7CiAgICBbIC1oICIke0tFUk5FTF9ESVJ9IiBdICYmIEtWX0RJUj0iJChyZWFkbGluayAtZiAk
e0tFUk5FTF9ESVJ9KSI7CiAgICBbIC1kICIke0tFUk5FTF9ESVJ9IiBdICYmIEtWX0RJUj0iJHtL
RVJORUxfRElSfSI7CiAgICBpZiBbIC16ICIke0tWX0RJUn0iIF07IHRoZW4KICAgICAgICBxZWVy
cm9yICJVbmFibGUgdG8gZmluZCBrZXJuZWwgc291cmNlcyBhdCAke0tFUk5FTF9ESVJ9IjsKICAg
ICAgICBxZWluZm8gIlRoaXMgcGFja2FnZSByZXF1aXJlcyBMaW51eCBzb3VyY2VzLiI7CiAgICAg
ICAgaWYgWyAiJHtLRVJORUxfRElSfSIgPT0gIi91c3Ivc3JjL2xpbnV4IiBdOyB0aGVuCiAgICAg
ICAgICAgIHFlaW5mbyAiUGxlYXNlIG1ha2Ugc3VyZSB0aGF0ICR7S0VSTkVMX0RJUn0gcG9pbnRz
IGF0IHlvdXIgcnVubmluZyBrZXJuZWwsICI7CiAgICAgICAgICAgIHFlaW5mbyAiKG9yIHRoZSBr
ZXJuZWwgeW91IHdpc2ggdG8gYnVpbGQgYWdhaW5zdCkuIjsKICAgICAgICAgICAgcWVpbmZvICJB
bHRlcm5hdGl2ZWx5LCBzZXQgdGhlIEtFUk5FTF9ESVIgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8g
dGhlIGtlcm5lbCBzb3VyY2VzIGxvY2F0aW9uIjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHFl
aW5mbyAiUGxlYXNlIGVuc3VyZSB0aGF0IHRoZSBLRVJORUxfRElSIGVudmlyb25tZW50IHZhcmlh
YmxlIHBvaW50cyBhdCBmdWxsIExpbnV4IHNvdXJjZXMgb2YgdGhlIGtlcm5lbCB5b3Ugd2lzaCB0
byBjb21waWxlIGFnYWluc3QuIjsKICAgICAgICBmaTsKICAgICAgICByZXR1cm4gMTsKICAgIGZp
OwogICAgcWVpbmZvICJGb3VuZCBrZXJuZWwgc291cmNlIGRpcmVjdG9yeToiOwogICAgcWVpbmZv
ICIgICAgJHtLVl9ESVJ9IjsKICAgIGlmIFsgISAtcyAiJHtLVl9ESVJ9L01ha2VmaWxlIiBdOyB0
aGVuCiAgICAgICAgcWVlcnJvciAiQ291bGQgbm90IGZpbmQgYSBNYWtlZmlsZSBpbiB0aGUga2Vy
bmVsIHNvdXJjZSBkaXJlY3RvcnkuIjsKICAgICAgICBxZWVycm9yICJQbGVhc2UgZW5zdXJlIHRo
YXQgJHtLRVJORUxfRElSfSBwb2ludHMgdG8gYSBjb21wbGV0ZSBzZXQgb2YgTGludXggc291cmNl
cyI7CiAgICAgICAgcmV0dXJuIDE7CiAgICBmaTsKICAgIE9VVFBVVF9ESVI9IiR7T1VUUFVUX0RJ
UjotJHtLQlVJTERfT1VUUFVUfX0iOwogICAga2J1aWxkX291dHB1dD0iJChnZXRmaWxldmFyIEtC
VUlMRF9PVVRQVVQgJHtLVl9ESVJ9L01ha2VmaWxlKSI7CiAgICBPVVRQVVRfRElSPSIke09VVFBV
VF9ESVI6LSR7a2J1aWxkX291dHB1dH19IjsKICAgIEtWX01BSk9SPSIkKGdldGZpbGV2YXIgVkVS
U0lPTiAke0tWX0RJUn0vTWFrZWZpbGUpIjsKICAgIEtWX01JTk9SPSIkKGdldGZpbGV2YXIgUEFU
Q0hMRVZFTCAke0tWX0RJUn0vTWFrZWZpbGUpIjsKICAgIEtWX1BBVENIPSIkKGdldGZpbGV2YXIg
U1VCTEVWRUwgJHtLVl9ESVJ9L01ha2VmaWxlKSI7CiAgICBLVl9FWFRSQT0iJChnZXRmaWxldmFy
IEVYVFJBVkVSU0lPTiAke0tWX0RJUn0vTWFrZWZpbGUpIjsKICAgIGlmIFsgLXogIiR7S1ZfTUFK
T1J9IiAtbyAteiAiJHtLVl9NSU5PUn0iIC1vIC16ICIke0tWX1BBVENIfSIgXTsgdGhlbgogICAg
ICAgIHFlZXJyb3IgIkNvdWxkIG5vdCBkZXRlY3Qga2VybmVsIHZlcnNpb24uIjsKICAgICAgICBx
ZWVycm9yICJQbGVhc2UgZW5zdXJlIHRoYXQgJHtLRVJORUxfRElSfSBwb2ludHMgdG8gYSBjb21w
bGV0ZSBzZXQgb2YgTGludXggc291cmNlcy4iOwogICAgICAgIHJldHVybiAxOwogICAgZmk7CiAg
ICBbICIke0tWX01BSk9SfS4ke0tWX01JTk9SfS4ke0tWX1BBVENIfSR7S1ZfRVhUUkF9IiA9PSAi
JCh1bmFtZSAtcikiIF0gJiYgT1VUUFVUX0RJUj0iJHtPVVRQVVRfRElSOi0vbGliL21vZHVsZXMv
JHtLVl9NQUpPUn0uJHtLVl9NSU5PUn0uJHtLVl9QQVRDSH0ke0tWX0VYVFJBfS9idWlsZH0iOwog
ICAgWyAtaCAiJHtPVVRQVVRfRElSfSIgXSAmJiBLVl9PVVRfRElSPSIkKHJlYWRsaW5rIC1mICR7
T1VUUFVUX0RJUn0pIjsKICAgIFsgLWQgIiR7T1VUUFVUX0RJUn0iIF0gJiYgS1ZfT1VUX0RJUj0i
JHtPVVRQVVRfRElSfSI7CiAgICBpZiBbIC1uICIke0tWX09VVF9ESVJ9IiBdOyB0aGVuCiAgICAg
ICAgcWVpbmZvICJGb3VuZCBrZXJuZWwgb2JqZWN0IGRpcmVjdG9yeToiOwogICAgICAgIHFlaW5m
byAiICAgICR7S1ZfT1VUX0RJUn0iOwogICAgICAgIEtWX0xPQ0FMPSIkKGdldF9sb2NhbHZlcnNp
b24gJHtLVl9PVVRfRElSfSkiOwogICAgZmk7CiAgICBLVl9PVVRfRElSPSIke0tWX09VVF9ESVI6
LSR7S1ZfRElSfX0iOwogICAgS1ZfTE9DQUw9IiR7S1ZfTE9DQUx9JChnZXRfbG9jYWx2ZXJzaW9u
ICR7S1ZfRElSfSkiOwogICAgaWYgbGludXhfY29uZmlnX2V4aXN0czsgdGhlbgogICAgICAgIEtW
X0xPQ0FMPSIke0tWX0xPQ0FMfSQobGludXhfY2hrY29uZmlnX3N0cmluZyBMT0NBTFZFUlNJT04p
IjsKICAgICAgICBLVl9MT0NBTD0iJHtLVl9MT0NBTC8vXCIvfSI7CiAgICAgICAgWyAtZSAke0tW
X0RJUn0vc2NyaXB0cy9zZXRsb2NhbHZlcnNpb24gXSAmJiBsaW51eF9jaGtjb25maWdfYnVpbHRp
biBMT0NBTFZFUlNJT05fQVVUTyAmJiBLVl9MT0NBTD0iJHtLVl9MT0NBTH0kKHNoICR7S1ZfRElS
fS9zY3JpcHRzL3NldGxvY2FsdmVyc2lvbiAke0tWX0RJUn0pIjsKICAgIGZpOwogICAgS1ZfRlVM
TD0iJHtLVl9NQUpPUn0uJHtLVl9NSU5PUn0uJHtLVl9QQVRDSH0ke0tWX0VYVFJBfSR7S1ZfTE9D
QUx9IjsKICAgIHFlaW5mbyAiRm91bmQgc291cmNlcyBmb3Iga2VybmVsIHZlcnNpb246IjsKICAg
IHFlaW5mbyAiICAgICR7S1ZfRlVMTH0iOwogICAgcmV0dXJuIDAKfQpnZXRfdmVyc2lvbl9jb21w
b25lbnRfY291bnQgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAg
IGxvY2FsIGE7CiAgICBhPSgkKGdldF92ZXJzaW9uX2NvbXBvbmVudHMgIiR7MTotJHtQVn19IiAp
KTsKICAgIGVjaG8gJHsjYVtAXX07CiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYK
fQpnZXRfdmVyc2lvbl9jb21wb25lbnRfcmFuZ2UgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3No
b3B0X3RvZ2dsZSBvbjsKICAgIGxvY2FsIGMgdj0iJHsyOi0ke1BWfX0iIHJhbmdlPSIkezF9IiBy
YW5nZV9zdGFydCByYW5nZV9lbmQgaT0tMSBqPTA7CiAgICBjPSgkKGdldF9hbGxfdmVyc2lvbl9j
b21wb25lbnRzICR7dn0gKSk7CiAgICByYW5nZV9zdGFydD0iJHtyYW5nZSUtKn0iOwogICAgcmFu
Z2Vfc3RhcnQ9IiR7cmFuZ2Vfc3RhcnQ6LTF9IjsKICAgIHJhbmdlX2VuZD0iJHtyYW5nZSMqLX0i
OwogICAgcmFuZ2VfZW5kPSIke3JhbmdlX2VuZDotJHsjY1tAXX19IjsKICAgIHdoaWxlICgoIGog
PCAke3JhbmdlX3N0YXJ0fSApKTsgZG8KICAgICAgICBpPSQoKCRpICsgMSkpOwogICAgICAgIFtb
ICRpIC1ndCAkeyNjW0BdfSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYgJiYg
cmV0dXJuOwogICAgICAgIFtbIC1uICIke2NbJHtpfV0vL1stLl9dfSIgXV0gJiYgaj0kKCgkaiAr
IDEpKTsKICAgIGRvbmU7CiAgICB3aGlsZSAoKCBqIDw9ICR7cmFuZ2VfZW5kfSApKTsgZG8KICAg
ICAgICBlY2hvIC1uICR7Y1skaV19OwogICAgICAgIFtbICRpIC1ndCAkeyNjW0BdfSBdXSAmJiBf
X3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYgJiYgcmV0dXJuOwogICAgICAgIFtbIC1uICIk
e2NbJHtpfV0vL1stLl9dfSIgXV0gJiYgaj0kKCgkaiArIDEpKTsKICAgICAgICBpPSQoKCRpICsg
MSkpOwogICAgZG9uZTsKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZgp9CmdldF92
ZXJzaW9uX2NvbXBvbmVudHMgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBv
bjsKICAgIGxvY2FsIGM9IiQoZ2V0X2FsbF92ZXJzaW9uX2NvbXBvbmVudHMgIiR7MTotJHtQVn19
IikiOwogICAgYz0oJHtjW0BdLy9bLS5fXS8gfSk7CiAgICBlY2hvICR7Y1tAXX07CiAgICBfX3Zl
cnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYKfQpnZXRmaWxldmFyICgpIAp7IAogICAgbG9jYWwg
RVJST1Igd29ya2luZ2RpciBiYXNlZm5hbWUgYmFzZWRuYW1lIG15QVJDSD0iJHtBUkNIfSI7CiAg
ICBFUlJPUj0wOwogICAgWyAteiAiJHsxfSIgXSAmJiBFUlJPUj0xOwogICAgWyAhIC1mICIkezJ9
IiBdICYmIEVSUk9SPTE7CiAgICBpZiBbICIke0VSUk9SfSIgPSAxIF07IHRoZW4KICAgICAgICBl
Y2hvIC1lICJcbiI7CiAgICAgICAgZWVycm9yICJnZXRmaWxldmFyIHJlcXVpcmVzIDIgdmFyaWFi
bGVzLCB3aXRoIHRoZSBzZWNvbmQgYSB2YWxpZCBmaWxlLiI7CiAgICAgICAgZWVycm9yICIgICBn
ZXRmaWxldmFyIDxWQVJJQUJMRT4gPENPTkZJR0ZJTEU+IjsKICAgIGVsc2UKICAgICAgICB3b3Jr
aW5nZGlyPSIke1BXRH0iOwogICAgICAgIGJhc2VmbmFtZT0iJChiYXNlbmFtZSAkezJ9KSI7CiAg
ICAgICAgYmFzZWRuYW1lPSIkKGRpcm5hbWUgJHsyfSkiOwogICAgICAgIHVuc2V0IEFSQ0g7CiAg
ICAgICAgY2QgIiR7YmFzZWRuYW1lfSI7CiAgICAgICAgZWNobyAtZSAiZTpcXG5cXHRAZWNobyBc
JCgkezF9KVxcbmluY2x1ZGUgJHtiYXNlZm5hbWV9IiB8IG1ha2UgTT0iJHtTfSIgJHtCVUlMRF9G
SVhFU30gLXMgLWYgLSAyPiAvZGV2L251bGw7CiAgICAgICAgY2QgIiR7d29ya2luZ2Rpcn0iOwog
ICAgICAgIEFSQ0g9JHtteUFSQ0h9OwogICAgZmkKfQpoYXNfaGFyZGVuZWQgKCkgCnsgCiAgICBl
d2FybiAiaGFzX2hhcmRlbmVkOiBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGdjYy1zcGVjcy17cmVs
cm8sbm93fSgpISIgMT4mMjsKICAgIHRlc3RfdmVyc2lvbl9pbmZvIEhhcmRlbmVkICYmIHJldHVy
biAwOwogICAgW1sgLWYgJHtHQ0NfU1BFQ1N9ICYmICR7R0NDX1NQRUNTfSAhPSAke0dDQ19TUEVD
Uy9oYXJkZW5lZC99IF1dCn0KaGFzX20zMiAoKSAKeyAKICAgIFsgIiQodGMtYXJjaCkiID0gImFt
ZDY0IiBdICYmIGhhc19tdWx0aWxpYl9wcm9maWxlICYmIHJldHVybiAwOwogICAgbG9jYWwgdGVt
cD0kKGVta3RlbXApOwogICAgZWNobyAiaW50IG1haW4oKSB7IHJldHVybigwKTsgfSIgPiAiJHt0
ZW1wfSIuYzsKICAgIE1ZX0NDPSQodGMtZ2V0Q0MpOwogICAgJHtNWV9DQy8gLiovfSAtbTMyIC1v
ICIkKGVta3RlbXApIiAiJHt0ZW1wfSIuYyA+IC9kZXYvbnVsbCAyPiYxOwogICAgbG9jYWwgcmV0
PSQ/OwogICAgcm0gLWYgIiR7dGVtcH0iLmM7CiAgICBbWyAke3JldH0gIT0gMSBdXSAmJiByZXR1
cm4gMDsKICAgIHJldHVybiAxCn0KaGFzX202NCAoKSAKeyAKICAgIGxvY2FsIHRlbXA9IiQoZW1r
dGVtcCkiOwogICAgZWNobyAiaW50IG1haW4oKSB7IHJldHVybigwKTsgfSIgPiAiJHt0ZW1wfSIu
YzsKICAgIE1ZX0NDPSQodGMtZ2V0Q0MpOwogICAgJHtNWV9DQy8gLiovfSAtbTY0IC1vICIkKGVt
a3RlbXApIiAiJHt0ZW1wfSIuYyA+IC9kZXYvbnVsbCAyPiYxOwogICAgbG9jYWwgcmV0PSQ/Owog
ICAgcm0gLWYgIiR7dGVtcH0iLmM7CiAgICBbWyAke3JldH0gIT0gMSBdXSAmJiByZXR1cm4gMDsK
ICAgIHJldHVybiAxCn0KaGFzX211bHRpbGliX3Byb2ZpbGUgKCkgCnsgCiAgICBbIC1uICIke01V
TFRJTElCX0FCSVN9IiAtYSAiJHtNVUxUSUxJQl9BQklTfSIgIT0gIiR7TVVMVElMSUJfQUJJUy8g
L30iIF0KfQpoYXNfcGljICgpIAp7IAogICAgZXdhcm4gImhhc19waWM6IGRlcHJlY2F0ZWQsIHBs
ZWFzZSB1c2UgZ2NjLXNwZWNzLXBpZSgpISIgMT4mMjsKICAgIFtbICR7Q0ZMQUdTLy1mUElDfSAh
PSAke0NGTEFHU30gfHwgJHtDRkxBR1MvLWZwaWN9ICE9ICR7Q0ZMQUdTfSBdXSB8fCBnY2Mtc3Bl
Y3MtcGllCn0KaGFzX3BpZSAoKSAKeyAKICAgIGV3YXJuICJoYXNfcGllOiBkZXByZWNhdGVkLCBw
bGVhc2UgdXNlIGdjYy1zcGVjcy1waWUoKSEiIDE+JjI7CiAgICBbWyAke0NGTEFHUy8tZlBJRX0g
IT0gJHtDRkxBR1N9IHx8ICR7Q0ZMQUdTLy1mcGllfSAhPSAke0NGTEFHU30gXV0gfHwgZ2NjLXNw
ZWNzLXBpZQp9Cmhhc19zc3AgKCkgCnsgCiAgICBld2FybiAiaGFzX3NzcDogZGVwcmVjYXRlZCwg
cGxlYXNlIHVzZSBnY2Mtc3BlY3Mtc3NwKCkhIiAxPiYyOwogICAgW1sgJHtDRkxBR1MvLWZzdGFj
ay1wcm90ZWN0b3J9ICE9ICR7Q0ZMQUdTfSB8fCAtbiAkKGVjaG8gfCAkKHRjLWdldENDKSAke0NG
TEFHU30gLUUgLWRNIC0gfCBncmVwIF9fU1NQX18pIF1dIHx8IGdjYy1zcGVjcy1zc3AKfQpoYXNf
c3NwX2FsbCAoKSAKeyAKICAgIGV3YXJuICJoYXNfc3NwX2FsbDogZGVwcmVjYXRlZCwgcGxlYXNl
IHVzZSBnY2Mtc3BlY3Mtc3NwKCkhIiAxPiYyOwogICAgW1sgJHtDRkxBR1MvLWZzdGFjay1wcm90
ZWN0b3ItYWxsfSAhPSAke0NGTEFHU30gfHwgLW4gJChlY2hvIHwgJCh0Yy1nZXRDQykgJHtDRkxB
R1N9IC1FIC1kTSAtIHwgZ3JlcCBfX1NTUF9BTExfXykgXV0gfHwgZ2NjLXNwZWNzLXNzcC1hbGwK
fQppcy1mbGFnICgpIAp7IAogICAgaXMtZmxhZ3EgIiRAIiAmJiBlY2hvIHRydWUKfQppcy1mbGFn
cSAoKSAKeyAKICAgIFtbIC1uICQyIF1dICYmIGRpZSAiVXNhZ2U6IGlzLWZsYWcgPGZsYWc+IjsK
ICAgIF9pc19mbGFncSBDRkxBR1MgJDEgfHwgX2lzX2ZsYWdxIENYWEZMQUdTICQxCn0KaXMtbGRm
bGFnICgpIAp7IAogICAgaXMtbGRmbGFncSAiJEAiICYmIGVjaG8gdHJ1ZQp9CmlzLWxkZmxhZ3Eg
KCkgCnsgCiAgICBbWyAtbiAkMiBdXSAmJiBkaWUgIlVzYWdlOiBpcy1sZGZsYWcgPGZsYWc+IjsK
ICAgIF9pc19mbGFncSBMREZMQUdTICQxCn0KaXMtbG9naW4tZGlzYWJsZWQgKCkgCnsgCiAgICBz
aGVsbD0kKGVnZXRzaGVsbCAiJDEiKTsKICAgIGNhc2UgJHtzaGVsbH0gaW4gCiAgICAgICAgL2Jp
bi9mYWxzZSB8IC91c3IvYmluL2ZhbHNlIHwgL3NiaW4vbm9sb2dpbiB8IC91c3Ivc2Jpbi9ub2xv
Z2luKQogICAgICAgICAgICByZXR1cm4gMAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAg
ICAgcmV0dXJuIDEKICAgICAgICA7OwogICAgZXNhYwp9CmlzX2ZpbmFsX2FiaSAoKSAKeyAKICAg
IGhhc19tdWx0aWxpYl9wcm9maWxlIHx8IHJldHVybiAwOwogICAgbG9jYWwgQUxMX0FCSVM9JChn
ZXRfaW5zdGFsbF9hYmlzKTsKICAgIGxvY2FsIExBU1RfQUJJPSR7QUxMX0FCSVMvKiAvfTsKICAg
IFtbICR7TEFTVF9BQkl9ID09ICR7QUJJfSBdXQp9Cmtlcm5lbF9pcyAoKSAKeyAKICAgIGdldF92
ZXJzaW9uOwogICAgbG9jYWwgb3BlcmF0b3IgdGVzdCB2YWx1ZSB4PTAgeT0wIHo9MDsKICAgIGNh
c2UgJHsxfSBpbiAKICAgICAgICBsdCkKICAgICAgICAgICAgb3BlcmF0b3I9Ii1sdCI7CiAgICAg
ICAgICAgIHNoaWZ0CiAgICAgICAgOzsKICAgICAgICBndCkKICAgICAgICAgICAgb3BlcmF0b3I9
Ii1ndCI7CiAgICAgICAgICAgIHNoaWZ0CiAgICAgICAgOzsKICAgICAgICBsZSkKICAgICAgICAg
ICAgb3BlcmF0b3I9Ii1sZSI7CiAgICAgICAgICAgIHNoaWZ0CiAgICAgICAgOzsKICAgICAgICBn
ZSkKICAgICAgICAgICAgb3BlcmF0b3I9Ii1nZSI7CiAgICAgICAgICAgIHNoaWZ0CiAgICAgICAg
OzsKICAgICAgICBlcSkKICAgICAgICAgICAgb3BlcmF0b3I9Ii1lcSI7CiAgICAgICAgICAgIHNo
aWZ0CiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBvcGVyYXRvcj0iLWVxIgogICAg
ICAgIDs7CiAgICBlc2FjOwogICAgZm9yIHggaW4gJHtAfTsKICAgIGRvCiAgICAgICAgZm9yICgo
eT0wOyB5PCQoKDMgLSAkeyN4fSkpOyB5KyspKQogICAgICAgIGRvCiAgICAgICAgICAgIHZhbHVl
PSIke3ZhbHVlfTAiOwogICAgICAgIGRvbmU7CiAgICAgICAgdmFsdWU9IiR7dmFsdWV9JHt4fSI7
CiAgICAgICAgej0kKCgke3p9ICsgMSkpOwogICAgICAgIGNhc2UgJHt6fSBpbiAKICAgICAgICAg
ICAgMSkKICAgICAgICAgICAgICAgIGZvciAoKHk9MDsgeTwkKCgzIC0gJHsjS1ZfTUFKT1J9KSk7
IHkrKykpCiAgICAgICAgICAgICAgICBkbwogICAgICAgICAgICAgICAgICAgIHRlc3Q9IiR7dGVz
dH0wIjsKICAgICAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgICAgICB0ZXN0PSIke3Rlc3R9
JHtLVl9NQUpPUn0iCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIDIpCiAgICAgICAgICAgICAg
ICBmb3IgKCh5PTA7IHk8JCgoMyAtICR7I0tWX01JTk9SfSkpOyB5KyspKQogICAgICAgICAgICAg
ICAgZG8KICAgICAgICAgICAgICAgICAgICB0ZXN0PSIke3Rlc3R9MCI7CiAgICAgICAgICAgICAg
ICBkb25lOwogICAgICAgICAgICAgICAgdGVzdD0iJHt0ZXN0fSR7S1ZfTUlOT1J9IgogICAgICAg
ICAgICA7OwogICAgICAgICAgICAzKQogICAgICAgICAgICAgICAgZm9yICgoeT0wOyB5PCQoKDMg
LSAkeyNLVl9QQVRDSH0pKTsgeSsrKSkKICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAg
ICAgICAgdGVzdD0iJHt0ZXN0fTAiOwogICAgICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAg
ICAgIHRlc3Q9IiR7dGVzdH0ke0tWX1BBVENIfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAg
KikKICAgICAgICAgICAgICAgIGRpZSAiRXJyb3IgaW4ga2VybmVsLTJfa2VybmVsX2lzKCk6IFRv
byBtYW55IHBhcmFtZXRlcnMuIgogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICBkb25l
OwogICAgWyAke3Rlc3R9ICR7b3BlcmF0b3J9ICR7dmFsdWV9IF0gJiYgcmV0dXJuIDAgfHwgcmV0
dXJuIDEKfQpsaW51eC1pbmZvX3BrZ19zZXR1cCAoKSAKeyAKICAgIGdldF92ZXJzaW9uIHx8IGRp
ZSAiVW5hYmxlIHRvIGNhbGN1bGF0ZSBMaW51eCBLZXJuZWwgdmVyc2lvbiI7CiAgICBpZiBrZXJu
ZWxfaXMgMiA0OyB0aGVuCiAgICAgICAgaWYgWyAiJCggZ2NjLW1ham9yLXZlcnNpb24gKSIgLWVx
ICI0IiBdOyB0aGVuCiAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgIGV3YXJuICJCZSB3YXJu
ZWQgISEgPj1zeXMtZGV2ZWwvZ2NjLTQuMC4wIGlzbid0IHN1cHBvcnRlZCB3aXRoIjsKICAgICAg
ICAgICAgZXdhcm4gImxpbnV4LTIuNCAob3IgbW9kdWxlcyBidWlsZGluZyBhZ2FpbnN0IGEgbGlu
dXgtMi40IGtlcm5lbCkhIjsKICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgZXdhcm4gIkVp
dGhlciBzd2l0Y2ggdG8gYW5vdGhlciBnY2MtdmVyc2lvbiAodmlhIGdjYy1jb25maWcpIG9yIHVz
ZSBhIjsKICAgICAgICAgICAgZXdhcm4gIm5ld2VyIGtlcm5lbCB0aGF0IHN1cHBvcnRzIGdjYy00
LiI7CiAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgIGV3YXJuICJBbHNvIGJlIGF3YXJlIHRo
YXQgYnVncmVwb3J0cyBhYm91dCBnY2MtNCBub3Qgd29ya2luZyI7CiAgICAgICAgICAgIGV3YXJu
ICJ3aXRoIGxpbnV4LTIuNCBiYXNlZCBlYnVpbGRzIHdpbGwgYmUgY2xvc2VkIGFzIElOVkFMSUQh
IjsKICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgZXBhdXNlIDEwOwogICAgICAgIGZpOwog
ICAgZmk7CiAgICBbIC1uICIke0NPTkZJR19DSEVDS30iIF0gJiYgY2hlY2tfZXh0cmFfY29uZmln
Cn0KbGludXhfY2hrY29uZmlnX2J1aWx0aW4gKCkgCnsgCiAgICBsb2NhbCBSRVNVTFQ7CiAgICBy
ZXF1aXJlX2NvbmZpZ3VyZWRfa2VybmVsOwogICAgUkVTVUxUPSIkKGdldGZpbGV2YXIgQ09ORklH
XyR7MX0gJHtLVl9PVVRfRElSfS8uY29uZmlnKSI7CiAgICBbICIke1JFU1VMVH0iID0gInkiIF0g
JiYgcmV0dXJuIDAgfHwgcmV0dXJuIDEKfQpsaW51eF9jaGtjb25maWdfbW9kdWxlICgpIAp7IAog
ICAgbG9jYWwgUkVTVUxUOwogICAgcmVxdWlyZV9jb25maWd1cmVkX2tlcm5lbDsKICAgIFJFU1VM
VD0iJChnZXRmaWxldmFyIENPTkZJR18kezF9ICR7S1ZfT1VUX0RJUn0vLmNvbmZpZykiOwogICAg
WyAiJHtSRVNVTFR9IiA9ICJtIiBdICYmIHJldHVybiAwIHx8IHJldHVybiAxCn0KbGludXhfY2hr
Y29uZmlnX3ByZXNlbnQgKCkgCnsgCiAgICBsb2NhbCBSRVNVTFQ7CiAgICByZXF1aXJlX2NvbmZp
Z3VyZWRfa2VybmVsOwogICAgUkVTVUxUPSIkKGdldGZpbGV2YXIgQ09ORklHXyR7MX0gJHtLVl9P
VVRfRElSfS8uY29uZmlnKSI7CiAgICBbICIke1JFU1VMVH0iID0gIm0iIC1vICIke1JFU1VMVH0i
ID0gInkiIF0gJiYgcmV0dXJuIDAgfHwgcmV0dXJuIDEKfQpsaW51eF9jaGtjb25maWdfc3RyaW5n
ICgpIAp7IAogICAgcmVxdWlyZV9jb25maWd1cmVkX2tlcm5lbDsKICAgIGdldGZpbGV2YXIgIkNP
TkZJR18kezF9IiAiJHtLVl9PVVRfRElSfS8uY29uZmlnIgp9CmxpbnV4X2NvbmZpZ19leGlzdHMg
KCkgCnsgCiAgICBbIC1zICIke0tWX09VVF9ESVJ9Ly5jb25maWciIF0KfQptYWtlX2Rlc2t0b3Bf
ZW50cnkgKCkgCnsgCiAgICBbWyAteiAkMSBdXSAmJiBlZXJyb3IgIm1ha2VfZGVza3RvcF9lbnRy
eTogWW91IG11c3Qgc3BlY2lmeSB0aGUgZXhlY3V0YWJsZSIgJiYgcmV0dXJuIDE7CiAgICBsb2Nh
bCBleGVjPSR7MX07CiAgICBsb2NhbCBuYW1lPSR7MjotJHtQTn19OwogICAgbG9jYWwgaWNvbj0k
ezM6LSR7UE59fTsKICAgIGxvY2FsIHR5cGU9JHs0fTsKICAgIGxvY2FsIHBhdGg9JHs1fTsKICAg
IGlmIFtbIC16ICR7dHlwZX0gXV07IHRoZW4KICAgICAgICBsb2NhbCBjYXRtYWo9JHtDQVRFR09S
WSUlLSp9OwogICAgICAgIGxvY2FsIGNhdG1pbj0ke0NBVEVHT1JZIyMqLX07CiAgICAgICAgY2Fz
ZSAke2NhdG1han0gaW4gCiAgICAgICAgICAgIGFwcCkKICAgICAgICAgICAgICAgIGNhc2UgJHtj
YXRtaW59IGluIAogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkpCiAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGU9QWNjZXNzaWJpbGl0eQogICAgICAgICAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgICAgICAgICAgYWRtaW4pCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3lz
dGVtCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBhbnRpdmlydXMp
CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3lzdGVtCiAgICAgICAgICAgICAgICAgICAg
OzsKICAgICAgICAgICAgICAgICAgICBhcmNoKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
PUFyY2hpdmluZwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgYmFj
a3VwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFyY2hpdmluZwogICAgICAgICAgICAg
ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgY2RyKQogICAgICAgICAgICAgICAgICAgICAg
ICB0eXBlPURpc2NCdXJuaW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAg
ICAgICBkaWN0cykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1EaWN0aW9uYXJ5CiAgICAg
ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBkb2MpCiAgICAgICAgICAgICAg
ICAgICAgICAgIHR5cGU9RG9jdW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgICAgICAgICAgZWRpdG9ycykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UZXh0
RWRpdG9yCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBlbWFjcykK
ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UZXh0RWRpdG9yCiAgICAgICAgICAgICAgICAg
ICAgOzsKICAgICAgICAgICAgICAgICAgICBlbXVsYXRpb24pCiAgICAgICAgICAgICAgICAgICAg
ICAgIHR5cGU9RW11bGF0b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
ICAgIGxhcHRvcCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1IYXJkd2FyZVNldHRpbmdz
CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBvZmZpY2UpCiAgICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU9T2ZmaWNlCiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgICAgICBwZGEpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9UERBCiAg
ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB2aW0pCiAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGU9VGV4dEVkaXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgICAgICAgICAgeGVtYWNzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRleHRF
ZGl0b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgICAgIGVzYWMKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZGV2KQogICAgICAgICAgICAg
ICAgdHlwZT0iRGV2ZWxvcG1lbnQiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGdhbWVzKQog
ICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgYWN0
aW9uIHwgZnBzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFjdGlvbkdhbWUKICAgICAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGFyY2FkZSkKICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZT1BcmNhZGVHYW1lCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICBib2FyZCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1Cb2FyZEdh
bWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtdWxhdGlvbikK
ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbXVsYXRvcgogICAgICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAgICAga2lkcykKICAgICAgICAgICAgICAgICAgICAgICAgdHlw
ZT1LaWRzR2FtZQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcHV6
emxlKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUxvZ2ljR2FtZQogICAgICAgICAgICAg
ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcm9ndWVsaWtlKQogICAgICAgICAgICAgICAg
ICAgICAgICB0eXBlPVJvbGVQbGF5aW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgICAgICAgICBycGcpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Um9sZVBsYXlpbmcK
ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHNpbXVsYXRpb24pCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U2ltdWxhdGlvbgogICAgICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAgICAgc3BvcnRzKQogICAgICAgICAgICAgICAgICAgICAgICB0
eXBlPVNwb3J0c0dhbWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg
IHN0cmF0ZWd5KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVN0cmF0ZWd5R2FtZQogICAg
ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAg
ICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNh
YzsKICAgICAgICAgICAgICAgIHR5cGU9IkdhbWU7JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgZ25vbWUpCiAgICAgICAgICAgICAgICB0eXBlPSJHbm9tZTtHVEsiCiAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgIGtkZSkKICAgICAgICAgICAgICAgIHR5cGU9IktERTtRdCIKICAg
ICAgICAgICAgOzsKICAgICAgICAgICAgbWFpbCkKICAgICAgICAgICAgICAgIHR5cGU9Ik5ldHdv
cms7RW1haWwiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIG1lZGlhKQogICAgICAgICAgICAg
ICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgZ2Z4KQogICAgICAgICAg
ICAgICAgICAgICAgICB0eXBlPUdyYXBoaWNzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICByYWRpbykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UdW5lcgog
ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgc291bmQpCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9QXVkaW8KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAg
ICAgICAgICAgICAgIHR2KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRWCiAgICAgICAg
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB2aWRlbykKICAgICAgICAgICAgICAg
ICAgICAgICAgdHlwZT1WaWRlbwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAg
ICAgICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAg
ICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgICAgIHR5cGU9IkF1ZGlvVmlk
ZW87JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgbmV0KQogICAgICAgICAgICAg
ICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgZGlhbHVwKQogICAgICAg
ICAgICAgICAgICAgICAgICB0eXBlPURpYWx1cAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgICAgICAgICAgZnRwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUZpbGVUcmFu
c2ZlcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgaW0pCiAgICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU9SW5zdGFudE1lc3NhZ2luZwogICAgICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICAgICAgICAgaXJjKQogICAgICAgICAgICAgICAgICAgICAgICB0
eXBlPUlSQ0NsaWVudAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAg
bWFpbCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbWFpbAogICAgICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICAgICAgICAgbmV3cykKICAgICAgICAgICAgICAgICAgICAgICAg
dHlwZT1OZXdzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBubnRw
KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPU5ld3MKICAgICAgICAgICAgICAgICAgICA7
OwogICAgICAgICAgICAgICAgICAgIHAycCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1G
aWxlVHJhbnNmZXIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICop
CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgICAgICB0eXBlPSJOZXR3b3JrOyR7dHlwZX0i
CiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIHNjaSkKICAgICAgICAgICAgICAgIGNhc2UgJHtj
YXRtaW59IGluIAogICAgICAgICAgICAgICAgICAgIGFzdHJvKikKICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZT1Bc3Ryb25vbXkKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg
ICAgICAgIGJpbyopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QmlvbG9neQogICAgICAg
ICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgY2FsYyopCiAgICAgICAgICAgICAg
ICAgICAgICAgIHR5cGU9Q2FsY3VsYXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICAgICAgY2hlbSopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Q2hlbWlzdHJ5
CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBlbGVjKikKICAgICAg
ICAgICAgICAgICAgICAgICAgdHlwZT1FbGVjdHJvbmljcwogICAgICAgICAgICAgICAgICAgIDs7
CiAgICAgICAgICAgICAgICAgICAgZ2VvKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1H
ZW9sb2d5CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBtYXRoKikK
ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1NYXRoCiAgICAgICAgICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgICAgICAgICBwaHlzaWNzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
PVBoeXNpY3MKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHZpc3Vh
bCopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RGF0YVZpc3VhbGl6YXRpb24KICAgICAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAg
ICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7
CiAgICAgICAgICAgICAgICB0eXBlPSJTY2llbmNlOyR7dHlwZX0iCiAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgIHN5cykKICAgICAgICAgICAgICAgIHR5cGU9IlN5c3RlbSIKICAgICAgICAgICAg
OzsKICAgICAgICAgICAgd3d3KQogICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAg
ICAgICAgICAgICAgICAgICAgY2xpZW50KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVdl
YkJyb3dzZXIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgICAgICB0eXBlPSJOZXR3b3JrIgogICAgICAgICAg
ICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgOzsK
ICAgICAgICBlc2FjOwogICAgZmk7CiAgICBpZiBbICIke1NMT1R9IiA9PSAiMCIgXTsgdGhlbgog
ICAgICAgIGxvY2FsIGRlc2t0b3BfbmFtZT0iJHtQTn0iOwogICAgZWxzZQogICAgICAgIGxvY2Fs
IGRlc2t0b3BfbmFtZT0iJHtQTn0tJHtTTE9UfSI7CiAgICBmaTsKICAgIGxvY2FsIGRlc2t0b3A9
IiR7VH0vJChlY2hvICR7ZXhlY30gfCBzZWQgJ3M6W1s6c3BhY2U6XS86XTpfOmcnKS0ke2Rlc2t0
b3BfbmFtZX0uZGVza3RvcCI7CiAgICBjYXQgPiAiJHtkZXNrdG9wfSIgIDw8LUVPRgpbRGVza3Rv
cCBFbnRyeV0KVmVyc2lvbj0xLjAKTmFtZT0ke25hbWV9ClR5cGU9QXBwbGljYXRpb24KQ29tbWVu
dD0ke0RFU0NSSVBUSU9OfQpFeGVjPSR7ZXhlY30KVHJ5RXhlYz0ke2V4ZWMlJSAqfQpJY29uPSR7
aWNvbn0KQ2F0ZWdvcmllcz0ke3R5cGV9OwpFT0YKCiAgICBbWyAtbiAke3BhdGh9IF1dICYmIGVj
aG8gIlBhdGg9JHtwYXRofSIgPj4gIiR7ZGVza3RvcH0iOwogICAgKCBpbnNpbnRvIC91c3Ivc2hh
cmUvYXBwbGljYXRpb25zOwogICAgZG9pbnMgIiR7ZGVza3RvcH0iICkKfQptYWtlX3Nlc3Npb25f
ZGVza3RvcCAoKSAKeyAKICAgIFtbIC16ICQxIF1dICYmIGVlcnJvciAibWFrZV9zZXNzaW9uX2Rl
c2t0b3A6IFlvdSBtdXN0IHNwZWNpZnkgdGhlIHRpdGxlIiAmJiByZXR1cm4gMTsKICAgIFtbIC16
ICQyIF1dICYmIGVlcnJvciAibWFrZV9zZXNzaW9uX2Rlc2t0b3A6IFlvdSBtdXN0IHNwZWNpZnkg
dGhlIGNvbW1hbmQiICYmIHJldHVybiAxOwogICAgbG9jYWwgdGl0bGU9JDE7CiAgICBsb2NhbCBj
b21tYW5kPSQyOwogICAgbG9jYWwgZGVza3RvcD0ke1R9LyR7d219LmRlc2t0b3A7CiAgICBjYXQg
PiAiJHtkZXNrdG9wfSIgIDw8LUVPRgpbRGVza3RvcCBFbnRyeV0KTmFtZT0ke3RpdGxlfQpDb21t
ZW50PVRoaXMgc2Vzc2lvbiBsb2dzIHlvdSBpbnRvICR7dGl0bGV9CkV4ZWM9JHtjb21tYW5kfQpU
cnlFeGVjPSR7Y29tbWFuZH0KVHlwZT1BcHBsaWNhdGlvbgpFT0YKCiAgICAoIGluc2ludG8gL3Vz
ci9zaGFyZS94c2Vzc2lvbnM7CiAgICBkb2lucyAiJHtkZXNrdG9wfSIgKQp9Cm1ha2Vfd3JhcHBl
ciAoKSAKeyAKICAgIGxvY2FsIHdyYXBwZXI9JDEgYmluPSQyIGNoZGlyPSQzIGxpYmRpcj0kNCBw
YXRoPSQ1OwogICAgbG9jYWwgdG1wd3JhcHBlcj0kKGVta3RlbXApOwogICAgY2F0ID4gIiR7dG1w
d3JhcHBlcn0iICA8PEVPRgojIS9iaW4vc2gKY2QgIiR7Y2hkaXI6LS59IgppZiBbIC1uICIke2xp
YmRpcn0iIF0gOyB0aGVuCglpZiBbICJcJHtMRF9MSUJSQVJZX1BBVEgrc2V0fSIgPSAic2V0IiBd
IDsgdGhlbgoJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9Ilwke0xEX0xJQlJBUllfUEFUSH06JHts
aWJkaXJ9IgoJZWxzZQoJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9IiR7bGliZGlyfSIKCWZpCmZp
CmV4ZWMgJHtiaW59ICJcJEAiCkVPRgoKICAgIGNobW9kIGdvK3J4ICIke3RtcHdyYXBwZXJ9IjsK
ICAgIGlmIFtbIC1uICR7cGF0aH0gXV07IHRoZW4KICAgICAgICAoIGV4ZWludG8gIiR7cGF0aH0i
OwogICAgICAgIG5ld2V4ZSAiJHt0bXB3cmFwcGVyfSIgIiR7d3JhcHBlcn0iICkgfHwgZGllOwog
ICAgZWxzZQogICAgICAgIG5ld2JpbiAiJHt0bXB3cmFwcGVyfSIgIiR7d3JhcHBlcn0iIHx8IGRp
ZTsKICAgIGZpCn0KbXVsdGlsaWJfZW52ICgpIAp7IAogICAgbG9jYWwgQ1RBUkdFVD0kezE6LSR7
Q1RBUkdFVH19OwogICAgY2FzZSAke0NUQVJHRVR9IGluIAogICAgICAgIHg4Nl82NCopCiAgICAg
ICAgICAgIGV4cG9ydCBDRkxBR1NfeDg2PSR7Q0ZMQUdTX3g4Ni0tbTMyfTsKICAgICAgICAgICAg
ZXhwb3J0IENIT1NUX3g4Nj0ke0NUQVJHRVQveDg2XzY0L2k2ODZ9OwogICAgICAgICAgICBleHBv
cnQgQ1RBUkdFVF94ODY9JHtDSE9TVF94ODZ9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV94
ODY9Il9faTM4Nl9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl94ODY9ImxpYiI7CiAgICAg
ICAgICAgIGV4cG9ydCBDRkxBR1NfYW1kNjQ9JHtDRkxBR1NfYW1kNjQtLW02NH07CiAgICAgICAg
ICAgIGV4cG9ydCBDSE9TVF9hbWQ2ND0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RB
UkdFVF9hbWQ2ND0ke0NIT1NUX2FtZDY0fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfYW1k
NjQ9Il9feDg2XzY0X18iOwogICAgICAgICAgICBleHBvcnQgTElCRElSX2FtZDY0PSJsaWI2NCI7
CiAgICAgICAgICAgIGV4cG9ydCBNVUxUSUxJQl9BQklTPSJhbWQ2NCB4ODYiOwogICAgICAgICAg
ICBleHBvcnQgREVGQVVMVF9BQkk9ImFtZDY0IgogICAgICAgIDs7CiAgICAgICAgbWlwczY0KikK
ICAgICAgICAgICAgZXhwb3J0IENGTEFHU19vMzI9JHtDRkxBR1NfbzMyLS1tYWJpPTMyfTsKICAg
ICAgICAgICAgZXhwb3J0IENIT1NUX28zMj0ke0NUQVJHRVQvbWlwczY0L21pcHN9OwogICAgICAg
ICAgICBleHBvcnQgQ1RBUkdFVF9vMzI9JHtDSE9TVF9vMzJ9OwogICAgICAgICAgICBleHBvcnQg
Q0RFRklORV9vMzI9Il9NSVBTX1NJTSA9PSBfQUJJTzMyIjsKICAgICAgICAgICAgZXhwb3J0IExJ
QkRJUl9vMzI9ImxpYiI7CiAgICAgICAgICAgIGV4cG9ydCBDRkxBR1NfbjMyPSR7Q0ZMQUdTX24z
Mi0tbWFiaT1uMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfbjMyPSR7Q1RBUkdFVH07CiAg
ICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX24zMj0ke0NIT1NUX24zMn07CiAgICAgICAgICAgIGV4
cG9ydCBDREVGSU5FX24zMj0iX01JUFNfU0lNID09IF9BQklOMzIiOwogICAgICAgICAgICBleHBv
cnQgTElCRElSX24zMj0ibGliMzIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX242ND0ke0NG
TEFHU19uNjQtLW1hYmk9NjR9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfbjY0PSR7Q1RBUkdF
VH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX242ND0ke0NIT1NUX242NH07CiAgICAgICAg
ICAgIGV4cG9ydCBDREVGSU5FX242ND0iX01JUFNfU0lNID09IF9BQkk2NCI7CiAgICAgICAgICAg
IGV4cG9ydCBMSUJESVJfbjY0PSJsaWI2NCI7CiAgICAgICAgICAgIGV4cG9ydCBNVUxUSUxJQl9B
QklTPSJuNjQgbjMyIG8zMiI7CiAgICAgICAgICAgIGV4cG9ydCBERUZBVUxUX0FCST0ibjMyIgog
ICAgICAgIDs7CiAgICAgICAgcG93ZXJwYzY0KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19w
cGM9JHtDRkxBR1NfcHBjLS1tMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfcHBjPSR7Q1RB
UkdFVC9wb3dlcnBjNjQvcG93ZXJwY307CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3BwYz0k
e0NIT1NUX3BwY307CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX3BwYz0iIV9fcG93ZXJwYzY0
X18iOwogICAgICAgICAgICBleHBvcnQgTElCRElSX3BwYz0ibGliIjsKICAgICAgICAgICAgZXhw
b3J0IENGTEFHU19wcGM2ND0ke0NGTEFHU19wcGM2NC0tbTY0fTsKICAgICAgICAgICAgZXhwb3J0
IENIT1NUX3BwYzY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3BwYzY0
PSR7Q0hPU1RfcHBjNjR9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9wcGM2ND0iX19wb3dl
cnBjNjRfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfcHBjNjQ9ImxpYjY0IjsKICAgICAg
ICAgICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9InBwYzY0IHBwYyI7CiAgICAgICAgICAgIGV4cG9y
dCBERUZBVUxUX0FCST0icHBjNjQiCiAgICAgICAgOzsKICAgICAgICBzMzkweCopCiAgICAgICAg
ICAgIGV4cG9ydCBDRkxBR1NfczM5MD0ke0NGTEFHU19zMzkwLS1tMzF9OwogICAgICAgICAgICBl
eHBvcnQgQ0hPU1RfczM5MD0ke0NUQVJHRVQvczM5MHgvczM5MH07CiAgICAgICAgICAgIGV4cG9y
dCBDVEFSR0VUX3MzOTA9JHtDSE9TVF9zMzkwfTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVf
czM5MD0iIV9fczM5MHhfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfczM5MD0ibGliIjsK
ICAgICAgICAgICAgZXhwb3J0IENGTEFHU19zMzkweD0ke0NGTEFHU19zMzkweC0tbTY0fTsKICAg
ICAgICAgICAgZXhwb3J0IENIT1NUX3MzOTB4PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9y
dCBDVEFSR0VUX3MzOTB4PSR7Q0hPU1RfczM5MHh9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklO
RV9zMzkweD0iX19zMzkweF9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9zMzkweD0ibGli
NjQiOwogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0iczM5MHggczM5MCI7CiAgICAg
ICAgICAgIGV4cG9ydCBERUZBVUxUX0FCST0iczM5MHgiCiAgICAgICAgOzsKICAgICAgICBzcGFy
YzY0KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19zcGFyYzMyPSR7Q0ZMQUdTX3NwYXJjMzIt
LW0zMn07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9zcGFyYzMyPSR7Q1RBUkdFVC9zcGFyYzY0
L3NwYXJjfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfc3BhcmMzMj0ke0NIT1NUX3NwYXJj
MzJ9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9zcGFyYzMyPSIhX19hcmNoNjRfXyI7CiAg
ICAgICAgICAgIGV4cG9ydCBMSUJESVJfc3BhcmMzMj0ibGliIjsKICAgICAgICAgICAgZXhwb3J0
IENGTEFHU19zcGFyYzY0PSR7Q0ZMQUdTX3NwYXJjNjQtLW02NH07CiAgICAgICAgICAgIGV4cG9y
dCBDSE9TVF9zcGFyYzY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3Nw
YXJjNjQ9JHtDSE9TVF9zcGFyYzY0fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfc3BhcmM2
ND0iX19hcmNoNjRfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfc3BhcmM2ND0ibGliNjQi
OwogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0ic3BhcmM2NCBzcGFyYzMyIjsKICAg
ICAgICAgICAgZXhwb3J0IERFRkFVTFRfQUJJPSJzcGFyYzY0IgogICAgICAgIDs7CiAgICAgICAg
KikKICAgICAgICAgICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9ImRlZmF1bHQiOwogICAgICAgICAg
ICBleHBvcnQgREVGQVVMVF9BQkk9ImRlZmF1bHQiCiAgICAgICAgOzsKICAgIGVzYWMKfQptdWx0
aWxpYl90b29sY2hhaW5fc2V0dXAgKCkgCnsgCiAgICBleHBvcnQgQUJJPSQxOwogICAgaWYgaGFz
X3ZlcnNpb24gYXBwLWFkbWluL2VzZWxlY3QtY29tcGlsZXI7IHRoZW4KICAgICAgICBleHBvcnQg
TEQ9ImxkICQoZ2V0X2FiaV9MREZMQUdTICQxKSI7CiAgICAgICAgZXhwb3J0IEFTPSJhcyAkKGdl
dF9hYmlfQVNGTEFHUyAkMSkiOwogICAgICAgIGV4cG9ydCBDSE9TVD0kKGdldF9hYmlfQ0hPU1Qg
JDEpOwogICAgICAgIGV4cG9ydCBDQlVJTEQ9JChnZXRfYWJpX0NIT1NUICQxKTsKICAgIGVsc2UK
ICAgICAgICB0Yy1leHBvcnQgQ0M7CiAgICBmaQp9Cm5ld2ljb24gKCkgCnsgCiAgICAoIGluc2lu
dG8gL3Vzci9zaGFyZS9waXhtYXBzOwogICAgbmV3aW5zICIkQCIgKQp9Cm5ld21lbnUgKCkgCnsg
CiAgICAoIGluc2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM7CiAgICBuZXdpbnMgIiRAIiAp
Cn0KbnVtYmVyX2FiaXMgKCkgCnsgCiAgICBnZXRfaW5zdGFsbF9hYmlzIHwgd2MgLXcKfQpwa2df
bm9mZXRjaCAoKSAKeyAKICAgIFsgLXogIiR7U1JDX1VSSX0iIF0gJiYgcmV0dXJuOwogICAgZWNo
byAiISEhIFRoZSBmb2xsb3dpbmcgYXJlIGxpc3RlZCBpbiBTUkNfVVJJIGZvciAke1BOfToiOwog
ICAgbG9jYWwgeDsKICAgIGZvciB4IGluICQoZWNobyAke1NSQ19VUkl9KTsKICAgIGRvCiAgICAg
ICAgZWNobyAiISEhICAgJHt4fSI7CiAgICBkb25lCn0KcGtnX3NldHVwICgpIAp7IAogICAgaWYg
dXNlIGltYWdlbWFnaWNrOyB0aGVuCiAgICAgICAgaWYgYnVpbHRfd2l0aF91c2UgbWVkaWEtZ2Z4
L2ltYWdlbWFnaWNrIGhkcmk7IHRoZW4KICAgICAgICAgICAgZGllICJQbGVhc2UgcmUtZW1lcmdl
IGltYWdlbWFnaWNrIHdpdGggVVNFPVwiLWhkcmlcIiBvciBjb21waWxhdGlvbiB3aWxsIGZhaWwi
OwogICAgICAgIGZpOwogICAgZmkKfQpwcmVwX21sX2luY2x1ZGVzICgpIAp7IAogICAgaWYgW1sg
JChudW1iZXJfYWJpcykgLWd0IDEgXV07IHRoZW4KICAgICAgICBsb2NhbCBkaXI7CiAgICAgICAg
bG9jYWwgZGlyczsKICAgICAgICBsb2NhbCBiYXNlOwogICAgICAgIGlmIFtbICQjIC1lcSAwIF1d
OyB0aGVuCiAgICAgICAgICAgIGRpcnM9L3Vzci9pbmNsdWRlOwogICAgICAgIGVsc2UKICAgICAg
ICAgICAgZGlycz0iJEAiOwogICAgICAgIGZpOwogICAgICAgIGZvciBkaXIgaW4gJHtkaXJzfTsK
ICAgICAgICBkbwogICAgICAgICAgICBiYXNlPSR7VH0vZ2VudG9vLW11bHRpbGliLyR7ZGlyfS9n
ZW50b28tbXVsdGlsaWI7CiAgICAgICAgICAgIG1rZGlyIC1wICIke2Jhc2V9IjsKICAgICAgICAg
ICAgW1sgLWQgJHtiYXNlfS8ke0FCSX0gXV0gJiYgcm0gLXJmICIke2Jhc2V9LyR7QUJJfSI7CiAg
ICAgICAgICAgIG12ICIke0R9LyR7ZGlyfSIgIiR7YmFzZX0vJHtBQkl9IjsKICAgICAgICBkb25l
OwogICAgICAgIGlmIGlzX2ZpbmFsX2FiaTsgdGhlbgogICAgICAgICAgICBiYXNlPSR7VH0vZ2Vu
dG9vLW11bHRpbGliOwogICAgICAgICAgICBwdXNoZCAiJHtiYXNlfSI7CiAgICAgICAgICAgIGZp
bmQgLiB8IHRhciAtYyAtVCAtIC1mIC0gfCB0YXIgLXggLS1uby1zYW1lLW93bmVyIC1mIC0gLUMg
JHtEfTsKICAgICAgICAgICAgcG9wZDsKICAgICAgICAgICAgc2V0IC0tOwogICAgICAgICAgICBm
b3IgZGlyIGluICR7ZGlyc307CiAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICBzZXQgLS0g
IiRAIiAiJHtkaXJ9IjsKICAgICAgICAgICAgICAgIGxvY2FsIGFiaTsKICAgICAgICAgICAgICAg
IGZvciBhYmkgaW4gJChnZXRfaW5zdGFsbF9hYmlzKTsKICAgICAgICAgICAgICAgIGRvCiAgICAg
ICAgICAgICAgICAgICAgc2V0IC0tICIkQCIgIiQoZ2V0X2FiaV9DREVGSU5FICR7YWJpfSk6JHtk
aXJ9L2dlbnRvby1tdWx0aWxpYi8ke2FiaX0iOwogICAgICAgICAgICAgICAgZG9uZTsKICAgICAg
ICAgICAgICAgIGNyZWF0ZV9tbF9pbmNsdWRlcyAiJEAiOwogICAgICAgICAgICBkb25lOwogICAg
ICAgIGZpOwogICAgZmkKfQpwcmVzZXJ2ZV9vbGRfbGliICgpIAp7IAogICAgaWYgW1sgJHtFQlVJ
TERfUEhBU0V9ICE9ICJwcmVpbnN0IiBdXTsgdGhlbgogICAgICAgIGVlcnJvciAicHJlc2VydmVf
b2xkX2xpYigpIG11c3QgYmUgY2FsbGVkIGZyb20gcGtnX3ByZWluc3QoKSBvbmx5IjsKICAgICAg
ICBkaWUgIkludmFsaWQgcHJlc2VydmVfb2xkX2xpYigpIHVzYWdlIjsKICAgIGZpOwogICAgW1sg
LXogJDEgXV0gJiYgZGllICJVc2FnZTogcHJlc2VydmVfb2xkX2xpYiA8bGlicmFyeSB0byBwcmVz
ZXJ2ZT4gW21vcmUgbGlicmFyaWVzIHRvIHByZXNlcnZlXSI7CiAgICBoYXMgcHJlc2VydmUtbGli
cyAke0ZFQVRVUkVTfSAmJiByZXR1cm4gMDsKICAgIGxvY2FsIGxpYiBkaXI7CiAgICBmb3IgbGli
IGluICIkQCI7CiAgICBkbwogICAgICAgIFtbIC1lICR7Uk9PVH0vJHtsaWJ9IF1dIHx8IGNvbnRp
bnVlOwogICAgICAgIGRpcj0ke2xpYiUvKn07CiAgICAgICAgZG9kaXIgJHtkaXJ9IHx8IGRpZSAi
ZG9kaXIgJHtkaXJ9IGZhaWxlZCI7CiAgICAgICAgY3AgIiR7Uk9PVH0iLyR7bGlifSAiJHtEfSIv
JHtsaWJ9IHx8IGRpZSAiY3AgJHtsaWJ9IGZhaWxlZCI7CiAgICAgICAgdG91Y2ggIiR7RH0iLyR7
bGlifTsKICAgIGRvbmUKfQpwcmVzZXJ2ZV9vbGRfbGliX25vdGlmeSAoKSAKeyAKICAgIGlmIFtb
ICR7RUJVSUxEX1BIQVNFfSAhPSAicG9zdGluc3QiIF1dOyB0aGVuCiAgICAgICAgZWVycm9yICJw
cmVzZXJ2ZV9vbGRfbGliX25vdGlmeSgpIG11c3QgYmUgY2FsbGVkIGZyb20gcGtnX3Bvc3RpbnN0
KCkgb25seSI7CiAgICAgICAgZGllICJJbnZhbGlkIHByZXNlcnZlX29sZF9saWJfbm90aWZ5KCkg
dXNhZ2UiOwogICAgZmk7CiAgICBoYXMgcHJlc2VydmUtbGlicyAke0ZFQVRVUkVTfSAmJiByZXR1
cm4gMDsKICAgIGxvY2FsIGxpYiBub3RpY2U9MDsKICAgIGZvciBsaWIgaW4gIiRAIjsKICAgIGRv
CiAgICAgICAgW1sgLWUgJHtST09UfS8ke2xpYn0gXV0gfHwgY29udGludWU7CiAgICAgICAgaWYg
W1sgJHtub3RpY2V9IC1lcSAwIF1dOyB0aGVuCiAgICAgICAgICAgIG5vdGljZT0xOwogICAgICAg
ICAgICBld2FybiAiT2xkIHZlcnNpb25zIG9mIGluc3RhbGxlZCBsaWJyYXJpZXMgd2VyZSBkZXRl
Y3RlZCBvbiB5b3VyIHN5c3RlbS4iOwogICAgICAgICAgICBld2FybiAiSW4gb3JkZXIgdG8gYXZv
aWQgYnJlYWtpbmcgcGFja2FnZXMgdGhhdCBkZXBlbmQgb24gdGhlc2Ugb2xkIGxpYnMsIjsKICAg
ICAgICAgICAgZXdhcm4gInRoZSBsaWJyYXJpZXMgYXJlIG5vdCBiZWluZyByZW1vdmVkLiAgWW91
IG5lZWQgdG8gcnVuIHJldmRlcC1yZWJ1aWxkIjsKICAgICAgICAgICAgZXdhcm4gImluIG9yZGVy
IHRvIHJlbW92ZSB0aGVzZSBvbGQgZGVwZW5kZW5jaWVzLiAgSWYgeW91IGRvIG5vdCBoYXZlIHRo
aXMiOwogICAgICAgICAgICBld2FybiAiaGVscGVyIHByb2dyYW0sIHNpbXBseSBlbWVyZ2UgdGhl
ICdnZW50b29sa2l0JyBwYWNrYWdlLiI7CiAgICAgICAgICAgIGV3YXJuOwogICAgICAgIGZpOwog
ICAgICAgIGV3YXJuICIgICMgcmV2ZGVwLXJlYnVpbGQgLS1saWJyYXJ5ICR7bGliIyMqL30iOwog
ICAgZG9uZTsKICAgIGlmIFtbICR7bm90aWNlfSAtZXEgMSBdXTsgdGhlbgogICAgICAgIGV3YXJu
OwogICAgICAgIGV3YXJuICJPbmNlIHlvdSd2ZSBmaW5pc2hlZCBydW5uaW5nIHJldmRlcC1yZWJ1
aWxkLCBpdCBzaG91bGQgYmUgc2FmZSB0byI7CiAgICAgICAgZXdhcm4gImRlbGV0ZSB0aGUgb2xk
IGxpYnJhcmllcy4gIEhlcmUgaXMgYSBjb3B5ICYgcGFzdGUgZm9yIHRoZSBsYXp5OiI7CiAgICAg
ICAgZm9yIGxpYiBpbiAiJEAiOwogICAgICAgIGRvCiAgICAgICAgICAgIGV3YXJuICIgICMgcm0g
JyR7bGlifSciOwogICAgICAgIGRvbmU7CiAgICBmaQp9CnFlZXJyb3IgKCkgCnsgCiAgICBxb3V0
IGVlcnJvciAiJHtAfSIKfQpxZWluZm8gKCkgCnsgCiAgICBxb3V0IGVpbmZvICIke0B9Igp9CnFv
dXQgKCkgCnsgCiAgICBsb2NhbCBvdXRwdXRtc2cgdHlwZTsKICAgIHR5cGU9JHsxfTsKICAgIHNo
aWZ0OwogICAgb3V0cHV0bXNnPSIke0B9IjsKICAgIGNhc2UgIiR7RUJVSUxEX1BIQVNFfSIgaW4g
CiAgICAgICAgZGVwZW5kKQogICAgICAgICAgICB1bnNldCBvdXRwdXRtc2cKICAgICAgICA7Owog
ICAgICAgIGNsZWFuKQogICAgICAgICAgICB1bnNldCBvdXRwdXRtc2cKICAgICAgICA7OwogICAg
ICAgIHByZWluc3QpCiAgICAgICAgICAgIHVuc2V0IG91dHB1dG1zZwogICAgICAgIDs7CiAgICBl
c2FjOwogICAgWyAtbiAiJHtvdXRwdXRtc2d9IiBdICYmICR7dHlwZX0gIiR7b3V0cHV0bXNnfSIK
fQpyYXctbGRmbGFncyAoKSAKeyAKICAgIGxvY2FsIHggaW5wdXQ9IiRAIjsKICAgIFtbIC16ICR7
aW5wdXR9IF1dICYmIGlucHV0PSR7TERGTEFHU307CiAgICBzZXQgLS07CiAgICBmb3IgeCBpbiAk
e2lucHV0fTsKICAgIGRvCiAgICAgICAgeD0ke3gjLVdsLH07CiAgICAgICAgc2V0IC0tICIkQCIg
JHt4Ly8sLyB9OwogICAgZG9uZTsKICAgIGVjaG8gIiRAIgp9CnJlcGxhY2UtY3B1LWZsYWdzICgp
IAp7IAogICAgbG9jYWwgbmV3Y3B1PSIkIyI7CiAgICBuZXdjcHU9IiR7IW5ld2NwdX0iOwogICAg
d2hpbGUgWyAkIyAtZ3QgMSBdOyBkbwogICAgICAgIHJlcGxhY2UtZmxhZ3MgIi1tYXJjaD0kezF9
IiAiLW1hcmNoPSR7bmV3Y3B1fSI7CiAgICAgICAgcmVwbGFjZS1mbGFncyAiLW1jcHU9JHsxfSIg
Ii1tY3B1PSR7bmV3Y3B1fSI7CiAgICAgICAgcmVwbGFjZS1mbGFncyAiLW10dW5lPSR7MX0iICIt
bXR1bmU9JHtuZXdjcHV9IjsKICAgICAgICBzaGlmdDsKICAgIGRvbmU7CiAgICByZXR1cm4gMAp9
CnJlcGxhY2UtZmxhZ3MgKCkgCnsgCiAgICBbWyAkIyAhPSAyIF1dICYmIGVjaG8gJiYgZWVycm9y
ICJVc2FnZTogcmVwbGFjZS1mbGFncyA8b2xkIGZsYWc+IDxuZXcgZmxhZz4iICYmIGRpZSAicmVw
bGFjZS1mbGFncyB0YWtlcyAyIGFyZ3VtZW50cywgbm90ICQjIjsKICAgIGxvY2FsIGYgZnNldDsK
ICAgIGRlY2xhcmUgLWEgbmV3X0NGTEFHUyBuZXdfQ1hYRkxBR1M7CiAgICBmb3IgZnNldCBpbiBD
RkxBR1MgQ1hYRkxBR1M7CiAgICBkbwogICAgICAgIGZvciBmIGluICR7IWZzZXR9OwogICAgICAg
IGRvCiAgICAgICAgICAgIFtbICR7Zn0gPT0gJHsxfSBdXSAmJiBmPSR7Mn07CiAgICAgICAgICAg
IGV2YWwgbmV3XyR7ZnNldH1cW1wke1wjbmV3XyR7ZnNldH1cW0BdfV09XCR7Zn07CiAgICAgICAg
ZG9uZTsKICAgICAgICBldmFsIGV4cG9ydCAke2ZzZXR9PVwke25ld18ke2ZzZXR9XFsqXX07CiAg
ICBkb25lOwogICAgcmV0dXJuIDAKfQpyZXBsYWNlLXNwYXJjNjQtZmxhZ3MgKCkgCnsgCiAgICBs
b2NhbCBTUEFSQzY0X0NQVVM9InVsdHJhc3BhcmMzIHVsdHJhc3BhcmMgdjkiOwogICAgaWYgWyAi
JHtDRkxBR1MvbXR1bmV9IiAhPSAiJHtDRkxBR1N9IiBdOyB0aGVuCiAgICAgICAgZm9yIHggaW4g
JHtTUEFSQzY0X0NQVVN9OwogICAgICAgIGRvCiAgICAgICAgICAgIENGTEFHUz0iJHtDRkxBR1Mv
LW1jcHU9JHt4fS8tbWNwdT12OH0iOwogICAgICAgIGRvbmU7CiAgICBlbHNlCiAgICAgICAgZm9y
IHggaW4gJHtTUEFSQzY0X0NQVVN9OwogICAgICAgIGRvCiAgICAgICAgICAgIENGTEFHUz0iJHtD
RkxBR1MvLW1jcHU9JHt4fS8tbWNwdT12OCAtbXR1bmU9JHt4fX0iOwogICAgICAgIGRvbmU7CiAg
ICBmaTsKICAgIGlmIFsgIiR7Q1hYRkxBR1MvbXR1bmV9IiAhPSAiJHtDWFhGTEFHU30iIF07IHRo
ZW4KICAgICAgICBmb3IgeCBpbiAke1NQQVJDNjRfQ1BVU307CiAgICAgICAgZG8KICAgICAgICAg
ICAgQ1hYRkxBR1M9IiR7Q1hYRkxBR1MvLW1jcHU9JHt4fS8tbWNwdT12OH0iOwogICAgICAgIGRv
bmU7CiAgICBlbHNlCiAgICAgICAgZm9yIHggaW4gJHtTUEFSQzY0X0NQVVN9OwogICAgICAgIGRv
CiAgICAgICAgICAgIENYWEZMQUdTPSIke0NYWEZMQUdTLy1tY3B1PSR7eH0vLW1jcHU9djggLW10
dW5lPSR7eH19IjsKICAgICAgICBkb25lOwogICAgZmk7CiAgICBleHBvcnQgQ0ZMQUdTIENYWEZM
QUdTCn0KcmVwbGFjZV9hbGxfdmVyc2lvbl9zZXBhcmF0b3JzICgpIAp7IAogICAgX192ZXJzaW9u
YXRvcl9zaG9wdF90b2dnbGUgb247CiAgICBsb2NhbCBjOwogICAgYz0oJChnZXRfYWxsX3ZlcnNp
b25fY29tcG9uZW50cyAiJHsyOi0ke1BWfX0iICkpOwogICAgYz0iJHtjW0BdLy9bLS5fXS8kMX0i
OwogICAgZWNobyAke2MvLyB9OwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0K
cmVwbGFjZV92ZXJzaW9uX3NlcGFyYXRvciAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRf
dG9nZ2xlIG9uOwogICAgbG9jYWwgdyBpIGMgZm91bmQ9MCB2PSIkezM6LSR7UFZ9fSI7CiAgICB3
PSR7MTotMX07CiAgICBjPSgkKGdldF9hbGxfdmVyc2lvbl9jb21wb25lbnRzICR7dn0gKSk7CiAg
ICBpZiBbWyAiJHt3Ly9bWzpkaWdpdDpdXS99IiA9PSAiJHt3fSIgXV07IHRoZW4KICAgICAgICBm
b3IgKChpID0gMCA7IGkgPCAkeyNjW0BdfSA7IGkgPSAkaSArIDEgKSkKICAgICAgICBkbwogICAg
ICAgICAgICBpZiBbWyAiJHtjWyR7aX1dfSIgPT0gIiR7d30iIF1dOyB0aGVuCiAgICAgICAgICAg
ICAgICBjWyR7aX1dPSIkezJ9IjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBm
aTsKICAgICAgICBkb25lOwogICAgZWxzZQogICAgICAgIGZvciAoKGkgPSAwIDsgaSA8ICR7I2Nb
QF19IDsgaSA9ICRpICsgMSApKQogICAgICAgIGRvCiAgICAgICAgICAgIGlmIFtbIC1uICIke2Nb
JHtpfV0vL1teLS5fXX0iIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBmb3VuZD0kKCgkZm91bmQg
KyAxKSk7CiAgICAgICAgICAgICAgICBpZiBbWyAiJGZvdW5kIiA9PSAiJHt3fSIgXV07IHRoZW4K
ICAgICAgICAgICAgICAgICAgICBjWyR7aX1dPSIkezJ9IjsKICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwog
ICAgZmk7CiAgICBjPSR7Y1tAXX07CiAgICBlY2hvICR7Yy8vIH07CiAgICBfX3ZlcnNpb25hdG9y
X3Nob3B0X3RvZ2dsZSBvZmYKfQpyZXF1aXJlX2NvbmZpZ3VyZWRfa2VybmVsICgpIAp7IAogICAg
aWYgISBsaW51eF9jb25maWdfZXhpc3RzOyB0aGVuCiAgICAgICAgcWVlcnJvciAiQ291bGQgbm90
IGZpbmQgYSB1c2FibGUgLmNvbmZpZyBpbiB0aGUga2VybmVsIHNvdXJjZSBkaXJlY3RvcnkuIjsK
ICAgICAgICBxZWVycm9yICJQbGVhc2UgZW5zdXJlIHRoYXQgJHtLRVJORUxfRElSfSBwb2ludHMg
dG8gYSBjb25maWd1cmVkIHNldCBvZiBMaW51eCBzb3VyY2VzLiI7CiAgICAgICAgcWVlcnJvciAi
SWYgeW91IGFyZSB1c2luZyBLQlVJTERfT1VUUFVULCBwbGVhc2Ugc2V0IHRoZSBlbnZpcm9ubWVu
dCB2YXIgc28gdGhhdCI7CiAgICAgICAgcWVlcnJvciAiaXQgcG9pbnRzIHRvIHRoZSBuZWNlc3Nh
cnkgb2JqZWN0IGRpcmVjdG9yeSBzbyB0aGF0IGl0IG1pZ2h0IGZpbmQgLmNvbmZpZy4iOwogICAg
ICAgIGRpZSAiS2VybmVsIG5vdCBjb25maWd1cmVkOyBubyAuY29uZmlnIGZvdW5kIGluICR7S1Zf
T1VUX0RJUn0iOwogICAgZmkKfQpzZXEgKCkgCnsgCiAgICBsb2NhbCBwPSQodHlwZSAtUCBzZXEp
OwogICAgY2FzZSAkIyBpbiAKICAgICAgICAxKQogICAgICAgICAgICBtaW49MSBtYXg9JDEgc3Rl
cD0xCiAgICAgICAgOzsKICAgICAgICAyKQogICAgICAgICAgICBtaW49JDEgbWF4PSQyIHN0ZXA9
MQogICAgICAgIDs7CiAgICAgICAgMykKICAgICAgICAgICAgbWluPSQxIG1heD0kMyBzdGVwPSQy
CiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBkaWUgInNlcSBjYWxsZWQgd2l0aCB3
cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgaWYgW1sg
LXogJHtwfSBdXTsgdGhlbgogICAgICAgIGxvY2FsIHJlcHM7CiAgICAgICAgaWYgW1sgJHtzdGVw
fSAhPSAwIF1dOyB0aGVuCiAgICAgICAgICAgIHJlcHM9JCgoICgkbWF4LSRtaW4pIC8gJHN0ZXAg
KzEgKSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICByZXBzPTA7CiAgICAgICAgZmk7CiAgICAg
ICAgam90ICRyZXBzICRtaW4gJG1heCAkc3RlcDsKICAgIGVsc2UKICAgICAgICAiJHtwfSIgJG1p
biAkc3RlcCAkbWF4OwogICAgZmkKfQpzZXRfYXJjaF90b19rZXJuZWwgKCkgCnsgCiAgICBleHBv
cnQgQVJDSD0kKHRjLWFyY2gta2VybmVsKQp9CnNldF9hcmNoX3RvX3BvcnRhZ2UgKCkgCnsgCiAg
ICBleHBvcnQgQVJDSD0kKHRjLWFyY2gpCn0Kc2V0dXAtYWxsb3dlZC1mbGFncyAoKSAKeyAKICAg
IGlmIFtbIC16ICR7QUxMT1dFRF9GTEFHU30gXV07IHRoZW4KICAgICAgICBleHBvcnQgQUxMT1dF
RF9GTEFHUz0iLXBpcGUiOwogICAgICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdTPSIke0FMTE9XRURf
RkxBR1N9IC1PIC1PMCAtTzEgLU8yIC1tY3B1IC1tYXJjaCAtbXR1bmUiOwogICAgICAgIGV4cG9y
dCBBTExPV0VEX0ZMQUdTPSIke0FMTE9XRURfRkxBR1N9IC1mc3RhY2stcHJvdGVjdG9yIC1mc3Rh
Y2stcHJvdGVjdG9yLWFsbCI7CiAgICAgICAgZXhwb3J0IEFMTE9XRURfRkxBR1M9IiR7QUxMT1dF
RF9GTEFHU30gLWZib3VuZHMtY2hlY2tpbmciOwogICAgICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdT
PSIke0FMTE9XRURfRkxBR1N9IC1mbm8tUElFIC1mbm8tcGllIC1mbm8tdW5pdC1hdC1hLXRpbWUi
OwogICAgICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdTPSIke0FMTE9XRURfRkxBR1N9IC1nIC1nWzAt
OV0gLWdnZGIgLWdnZGJbMC05XSAtZ3N0YWJzIC1nc3RhYnMrIjsKICAgICAgICBleHBvcnQgQUxM
T1dFRF9GTEFHUz0iJHtBTExPV0VEX0ZMQUdTfSAtZm5vLWlkZW50IjsKICAgICAgICBleHBvcnQg
QUxMT1dFRF9GTEFHUz0iJHtBTExPV0VEX0ZMQUdTfSAtVyogLXciOwogICAgZmk7CiAgICBBTExP
V0VEX0ZMQUdTPSIke0FMTE9XRURfRkxBR1N9IC1mbm8tc3RhY2stcHJvdGVjdG9yIC1mbm8tc3Rh
Y2stcHJvdGVjdG9yLWFsbCAJCS1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tYm91bmRzLWNoZWNr
aW5nIjsKICAgIEFMTE9XRURfRkxBR1M9IiR7QUxMT1dFRF9GTEFHU30gLW1yZWdwYXJtIC1tbm8t
YXBwLXJlZ3MgLW1hcHAtcmVncyAJCS1tbm8tbW14IC1tbm8tc3NlIC1tbm8tc3NlMiAtbW5vLXNz
ZTMgLW1uby0zZG5vdyAJCS1taXBzMSAtbWlwczIgLW1pcHMzIC1taXBzNCAtbWlwczMyIC1taXBz
NjQgLW1pcHMxNiAJCS1tc29mdC1mbG9hdCAtbW5vLXNvZnQtZmxvYXQgLW1oYXJkLWZsb2F0IC1t
bm8taGFyZC1mbG9hdCAtbWZwdSAJCS1taWVlZSAtbWllZWUtd2l0aC1pbmV4YWN0IC1tc2NoZWR1
bGUgCQktbXRscy1kaXJlY3Qtc2VnLXJlZnMgLW1uby10bHMtZGlyZWN0LXNlZy1yZWZzIAkJLW1m
bGF0IC1tbm8tZmxhdCAtbW5vLWZhc3Rlci1zdHJ1Y3RzIC1tZmFzdGVyLXN0cnVjdHMgCQktbTMy
IC1tNjQgLW1hYmkgLW1saXR0bGUtZW5kaWFuIC1tYmlnLWVuZGlhbiAtRUwgLUVCIC1mUElDIAkJ
LW1saXZlLWcwIC1tY21vZGVsIC1tc3RhY2stYmlhcyAtbW5vLXN0YWNrLWJpYXMgCQktbXNlY3Vy
ZS1wbHQgLUQqIjsKICAgIGV4cG9ydCBVTlNUQUJMRV9GTEFHUz0iLU9zIC1PMyAtZnJlb3JkZXIt
YmxvY2tzIjsKICAgIHJldHVybiAwCn0Kc21wICgpIAp7IAogICAgaGFzICIkMSIgIiR7U01QfSIK
fQpzbXBfY2hlY2sgKCkgCnsgCiAgICBsaW51eF9jaGtjb25maWdfcHJlc2VudCBTTVAKfQpzcmNf
Y29tcGlsZSAoKSAKeyAKICAgIGxvY2FsIG15Y29uZj0iLS13aXRoLXggCQktLWhvc3Q9JHtDSE9T
VH0iOwogICAgaWYgc21wIG5vOyB0aGVuCiAgICAgICAgbXljb25mPSIke215Y29uZn0gLS1kaXNh
YmxlLXNtcC1saW51eCI7CiAgICAgICAgZWluZm8gIkRpc2FibGluZyBTTVAgY2FwYWJpbGl0aWVz
IjsKICAgIGVsc2UKICAgICAgICBpZiBzbXAgeWVzIHx8IHNtcF9jaGVjazsgdGhlbgogICAgICAg
ICAgICBteWNvbmY9IiR7bXljb25mfSAtLWVuYWJsZS1zbXAtbGludXgiOwogICAgICAgICAgICBl
aW5mbyAiRW5hYmxpbmcgU01QIGNhcGFiaWxpdGllcyI7CiAgICAgICAgZWxzZQogICAgICAgICAg
ICBteWNvbmY9IiR7bXljb25mfSAtLWRpc2FibGUtc21wLWxpbnV4IjsKICAgICAgICAgICAgZWlu
Zm8gIkRpc2FibGluZyBTTVAgY2FwYWJpbGl0aWVzIjsKICAgICAgICBmaTsKICAgIGZpOwogICAg
YXBwZW5kLWZsYWdzIC1mbm8tc3RyZW5ndGgtcmVkdWNlOwogICAgZmlsdGVyLWZsYWdzIC1maW5s
aW5lLWZ1bmN0aW9uczsKICAgIHJlcGxhY2UtZmxhZ3MgLU8zIC1PMjsKICAgIGxvY2FsIEdFTlRP
T0FSQ0g9IiR7QVJDSH0iOwogICAgdW5zZXQgQVJDSDsKICAgIGxvY2FsIG1vcmVsaWJzPSIiOwog
ICAgdXNlIHN6aXAgJiYgbW9yZWxpYnM9Ii1sc3oiOwogICAgZWNvbmYgTElCUz0iJHttb3JlbGli
c30iIGB1c2Vfd2l0aCBjZGZgIGB1c2Vfd2l0aCBuZXRjZGZgIGB1c2Vfd2l0aCBoZGZgIGB1c2Vf
d2l0aCB0aWZmYCBgdXNlX3dpdGggaW1hZ2VtYWdpY2sgbWFnaWNrYCAke215Y29uZn0gfHwgZGll
OwogICAgZW1ha2UgfHwgZGllOwogICAgQVJDSD0iJHtHRU5UT09BUkNIfSIKfQpzcmNfaW5zdGFs
bCAoKSAKeyAKICAgIG1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbCB8fCBkaWU7CiAgICBlY2hv
ICJNQU5QQVRIPS91c3IvZHgvbWFuIiA+IDUwb3BlbmR4OwogICAgZG9lbnZkIDUwb3BlbmR4Owog
ICAgaW5zaW50byAvZXRjL3JldmRlcC1yZWJ1aWxkOwogICAgZG9pbnMgIiR7RklMRVNESVJ9Ii8y
MC0ke1BOfS1yZXZkZXAKfQpzcmNfdGVzdCAoKSAKeyAKICAgIGlmIGVtYWtlIC1qMSBjaGVjayAt
biA+Ji9kZXYvbnVsbDsgdGhlbgogICAgICAgIHZlY2hvICI+Pj4gVGVzdCBwaGFzZSBbY2hlY2td
OiAke0NBVEVHT1JZfS8ke1BGfSI7CiAgICAgICAgaWYgISBlbWFrZSAtajEgY2hlY2s7IHRoZW4K
ICAgICAgICAgICAgaGFzcSB0ZXN0ICRGRUFUVVJFUyAmJiBkaWUgIk1ha2UgY2hlY2sgZmFpbGVk
LiBTZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsKICAgICAgICAgICAgaGFzcSB0ZXN0ICRGRUFUVVJF
UyB8fCBlZXJyb3IgIk1ha2UgY2hlY2sgZmFpbGVkLiBTZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsK
ICAgICAgICBmaTsKICAgIGVsc2UKICAgICAgICBpZiBlbWFrZSAtajEgdGVzdCAtbiA+Ji9kZXYv
bnVsbDsgdGhlbgogICAgICAgICAgICB2ZWNobyAiPj4+IFRlc3QgcGhhc2UgW3Rlc3RdOiAke0NB
VEVHT1JZfS8ke1BGfSI7CiAgICAgICAgICAgIGlmICEgZW1ha2UgLWoxIHRlc3Q7IHRoZW4KICAg
ICAgICAgICAgICAgIGhhc3EgdGVzdCAkRkVBVFVSRVMgJiYgZGllICJNYWtlIHRlc3QgZmFpbGVk
LiBTZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsKICAgICAgICAgICAgICAgIGhhc3EgdGVzdCAkRkVB
VFVSRVMgfHwgZWVycm9yICJNYWtlIHRlc3QgZmFpbGVkLiBTZWUgYWJvdmUgZm9yIGRldGFpbHMu
IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAgICAgICB2ZWNobyAiPj4+IFRl
c3QgcGhhc2UgW25vbmVdOiAke0NBVEVHT1JZfS8ke1BGfSI7CiAgICAgICAgZmk7CiAgICBmaQp9
CnNyY191bnBhY2sgKCkgCnsgCiAgICB1bnBhY2sgJHtBfTsKICAgIGNkICIke1N9IjsKICAgIGlm
IGhhc192ZXJzaW9uICc+PXN5cy1rZXJuZWwvbGludXgtaGVhZGVycy0yLjYuMTknOyB0aGVuCiAg
ICAgICAgZXBhdGNoICIke0ZJTEVTRElSfSIvJHtQTn0tNC4zLjItc3lzLmgucGF0Y2ggfHwgZGll
ICJGYWlsZWQgdG8gYXBwbHkgc3lzLmggcGF0Y2guIjsKICAgIGZpOwogICAgZXBhdGNoICIke0ZJ
TEVTRElSfSIvJHtQTn0tY29tcHJlc3NlZC1tYW4ucGF0Y2g7CiAgICBlYXV0b3JlY29uZiB8fCBk
aWUgIkZhaWxlZCBydW5uaW5nIGVhdXRvcmVjb25mLiIKfQpzdHJpcC1mbGFncyAoKSAKeyAKICAg
IGxvY2FsIHggeSBmbGFnIE5FV19DRkxBR1MgTkVXX0NYWEZMQUdTOwogICAgc2V0dXAtYWxsb3dl
ZC1mbGFnczsKICAgIGxvY2FsIE5FV19DRkxBR1M9IiI7CiAgICBsb2NhbCBORVdfQ1hYRkxBR1M9
IiI7CiAgICBpZiBoYXMgfiQodGMtYXJjaCkgJHtBQ0NFUFRfS0VZV09SRFN9OyB0aGVuCiAgICAg
ICAgQUxMT1dFRF9GTEFHUz0iJHtBTExPV0VEX0ZMQUdTfSAke1VOU1RBQkxFX0ZMQUdTfSI7CiAg
ICBmaTsKICAgIHNldCAtZjsKICAgIGZvciB4IGluICR7Q0ZMQUdTfTsKICAgIGRvCiAgICAgICAg
Zm9yIHkgaW4gJHtBTExPV0VEX0ZMQUdTfTsKICAgICAgICBkbwogICAgICAgICAgICBmbGFnPSR7
eCUlPSp9OwogICAgICAgICAgICBpZiBbICIke2ZsYWclJSR7eX19IiA9ICIiIF07IHRoZW4KICAg
ICAgICAgICAgICAgIE5FV19DRkxBR1M9IiR7TkVXX0NGTEFHU30gJHt4fSI7CiAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgIGRvbmU7CiAgICBm
b3IgeCBpbiAke0NYWEZMQUdTfTsKICAgIGRvCiAgICAgICAgZm9yIHkgaW4gJHtBTExPV0VEX0ZM
QUdTfTsKICAgICAgICBkbwogICAgICAgICAgICBmbGFnPSR7eCUlPSp9OwogICAgICAgICAgICBp
ZiBbICIke2ZsYWclJSR7eX19IiA9ICIiIF07IHRoZW4KICAgICAgICAgICAgICAgIE5FV19DWFhG
TEFHUz0iJHtORVdfQ1hYRkxBR1N9ICR7eH0iOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICBkb25lOwogICAgaWYgWyAiJHtDRkxBR1MvLU99
IiAhPSAiJHtDRkxBR1N9IiAtYSAiJHtORVdfQ0ZMQUdTLy1PfSIgPSAiJHtORVdfQ0ZMQUdTfSIg
XTsgdGhlbgogICAgICAgIE5FV19DRkxBR1M9IiR7TkVXX0NGTEFHU30gLU8yIjsKICAgIGZpOwog
ICAgaWYgWyAiJHtDWFhGTEFHUy8tT30iICE9ICIke0NYWEZMQUdTfSIgLWEgIiR7TkVXX0NYWEZM
QUdTLy1PfSIgPSAiJHtORVdfQ1hYRkxBR1N9IiBdOyB0aGVuCiAgICAgICAgTkVXX0NYWEZMQUdT
PSIke05FV19DWFhGTEFHU30gLU8yIjsKICAgIGZpOwogICAgc2V0ICtmOwogICAgZXhwb3J0IENG
TEFHUz0iJHtORVdfQ0ZMQUdTfSI7CiAgICBleHBvcnQgQ1hYRkxBR1M9IiR7TkVXX0NYWEZMQUdT
fSI7CiAgICByZXR1cm4gMAp9CnN0cmlwLWxpbmd1YXMgKCkgCnsgCiAgICBsb2NhbCBscyBuZXds
cyBub2xzOwogICAgaWYgW1sgJDEgPT0gIi1pIiBdXSB8fCBbWyAkMSA9PSAiLXUiIF1dOyB0aGVu
CiAgICAgICAgbG9jYWwgb3A9JDE7CiAgICAgICAgc2hpZnQ7CiAgICAgICAgbHM9JChmaW5kICIk
MSIgLW5hbWUgJyoucG8nIC1leGVjIGJhc2VuYW1lIHt9IC5wbyBcOyk7CiAgICAgICAgc2hpZnQ7
CiAgICAgICAgbG9jYWwgZCBmOwogICAgICAgIGZvciBkIGluICIkQCI7CiAgICAgICAgZG8KICAg
ICAgICAgICAgaWYgW1sgJHtvcH0gPT0gIi11IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgbmV3
bHM9JHtsc307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIG5ld2xzPSIiOwogICAg
ICAgICAgICBmaTsKICAgICAgICAgICAgZm9yIGYgaW4gJChmaW5kICIkZCIgLW5hbWUgJyoucG8n
IC1leGVjIGJhc2VuYW1lIHt9IC5wbyBcOyk7CiAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAg
ICBpZiBbWyAke29wfSA9PSAiLWkiIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgaGFzcSAk
e2Z9ICR7bHN9ICYmIG5ld2xzPSIke25ld2xzfSAke2Z9IjsKICAgICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICAgICBoYXNxICR7Zn0gJHtsc30gfHwgbmV3bHM9IiR7bmV3bHN9ICR7
Zn0iOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgIGxz
PSR7bmV3bHN9OwogICAgICAgIGRvbmU7CiAgICBlbHNlCiAgICAgICAgbHM9IiRAIjsKICAgIGZp
OwogICAgbm9scz0iIjsKICAgIG5ld2xzPSIiOwogICAgZm9yIGYgaW4gJHtMSU5HVUFTfTsKICAg
IGRvCiAgICAgICAgaWYgaGFzcSAke2Z9ICR7bHN9OyB0aGVuCiAgICAgICAgICAgIG5ld2xzPSIk
e25ld2xzfSAke2Z9IjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIG5vbHM9IiR7bm9sc30gJHtm
fSI7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgW1sgLW4gJHtub2xzfSBdXSAmJiBld2FybiAi
U29ycnksIGJ1dCAke1BOfSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBMSU5HVUFzOiIgJHtub2xzfTsK
ICAgIGV4cG9ydCBMSU5HVUFTPSR7bmV3bHM6MX0KfQpzdHJpcC11bnN1cHBvcnRlZC1mbGFncyAo
KSAKeyAKICAgIGV4cG9ydCBDRkxBR1M9JCh0ZXN0LWZsYWdzLUNDICR7Q0ZMQUdTfSk7CiAgICBl
eHBvcnQgQ1hYRkxBR1M9JCh0ZXN0LWZsYWdzLUNYWCAke0NYWEZMQUdTfSkKfQp0Yy1hcmNoICgp
IAp7IAogICAgdGMtbmluamFfbWFnaWNfdG9fYXJjaCBwb3J0YWdlICIkQCIKfQp0Yy1hcmNoLWtl
cm5lbCAoKSAKeyAKICAgIHRjLW5pbmphX21hZ2ljX3RvX2FyY2gga2VybiAiJEAiCn0KdGMtZW5k
aWFuICgpIAp7IAogICAgbG9jYWwgaG9zdD0kMTsKICAgIFtbIC16ICR7aG9zdH0gXV0gJiYgaG9z
dD0ke0NUQVJHRVQ6LSR7Q0hPU1R9fTsKICAgIGhvc3Q9JHtob3N0JSUtKn07CiAgICBjYXNlICR7
aG9zdH0gaW4gCiAgICAgICAgYWxwaGEqKQogICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7
CiAgICAgICAgYXJtKmIqKQogICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAg
YXJtKikKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAgICAgICA7OwogICAgICAgIGNyaXMqKQog
ICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAgICAgaHBwYSopCiAgICAgICAg
ICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBpPzg2KikKICAgICAgICAgICAgZWNobyBs
aXR0bGUKICAgICAgICA7OwogICAgICAgIGlhNjQqKQogICAgICAgICAgICBlY2hvIGxpdHRsZQog
ICAgICAgIDs7CiAgICAgICAgbTY4KikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7Owog
ICAgICAgIG1pcHMqbCopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAg
ICBtaXBzKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIHBvd2VycGMq
KQogICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgczM5MCopCiAgICAgICAg
ICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBzaCpiKikKICAgICAgICAgICAgZWNobyBi
aWcKICAgICAgICA7OwogICAgICAgIHNoKikKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAgICAg
ICA7OwogICAgICAgIHNwYXJjKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAg
ICAgIHg4Nl82NCopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICAq
KQogICAgICAgICAgICBlY2hvIHd0ZgogICAgICAgIDs7CiAgICBlc2FjCn0KdGMtZXhwb3J0ICgp
IAp7IAogICAgbG9jYWwgdmFyOwogICAgZm9yIHZhciBpbiAiJEAiOwogICAgZG8KICAgICAgICBl
dmFsIHRjLWdldCR7dmFyfSA+IC9kZXYvbnVsbDsKICAgIGRvbmUKfQp0Yy1nZXRBUiAoKSAKeyAK
ICAgIHRjLWdldFBST0cgQVIgYXIgIiRAIgp9CnRjLWdldEFTICgpIAp7IAogICAgdGMtZ2V0UFJP
RyBBUyBhcyAiJEAiCn0KdGMtZ2V0QlVJTERfQ0MgKCkgCnsgCiAgICBsb2NhbCB2OwogICAgZm9y
IHYgaW4gQ0NfRk9SX0JVSUxEIEJVSUxEX0NDIEhPU1RDQzsKICAgIGRvCiAgICAgICAgaWYgW1sg
LW4gJHshdn0gXV07IHRoZW4KICAgICAgICAgICAgZXhwb3J0IEJVSUxEX0NDPSR7IXZ9OwogICAg
ICAgICAgICBlY2hvICIkeyF2fSI7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGZpOwog
ICAgZG9uZTsKICAgIGxvY2FsIHNlYXJjaD07CiAgICBpZiBbWyAtbiAke0NCVUlMRH0gXV07IHRo
ZW4KICAgICAgICBzZWFyY2g9JCh0eXBlIC1wICR7Q0JVSUxEfS1nY2MpOwogICAgICAgIHNlYXJj
aD0ke3NlYXJjaCMjKi99OwogICAgZmk7CiAgICBzZWFyY2g9JHtzZWFyY2g6LWdjY307CiAgICBl
eHBvcnQgQlVJTERfQ0M9JHtzZWFyY2h9OwogICAgZWNobyAiJHtzZWFyY2h9Igp9CnRjLWdldEND
ICgpIAp7IAogICAgdGMtZ2V0UFJPRyBDQyBnY2MgIiRAIgp9CnRjLWdldENQUCAoKSAKeyAKICAg
IHRjLWdldFBST0cgQ1BQIGNwcCAiJEAiCn0KdGMtZ2V0Q1hYICgpIAp7IAogICAgdGMtZ2V0UFJP
RyBDWFggZysrICIkQCIKfQp0Yy1nZXRGNzcgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIEY3NyBmNzcg
IiRAIgp9CnRjLWdldEY5MCAoKSAKeyAKICAgIHRjLWdldFBST0cgRjkwIGdmb3J0cmFuICIkQCIK
fQp0Yy1nZXRGT1JUUkFOICgpIAp7IAogICAgdGMtZ2V0UFJPRyBGT1JUUkFOIGdmb3J0cmFuICIk
QCIKfQp0Yy1nZXRHQ0ogKCkgCnsgCiAgICB0Yy1nZXRQUk9HIEdDSiBnY2ogIiRAIgp9CnRjLWdl
dExEICgpIAp7IAogICAgdGMtZ2V0UFJPRyBMRCBsZCAiJEAiCn0KdGMtZ2V0Tk0gKCkgCnsgCiAg
ICB0Yy1nZXRQUk9HIE5NIG5tICIkQCIKfQp0Yy1nZXRQUk9HICgpIAp7IAogICAgbG9jYWwgdmFy
PSQxOwogICAgbG9jYWwgcHJvZz0kMjsKICAgIGlmIFtbIC1uICR7IXZhcn0gXV07IHRoZW4KICAg
ICAgICBlY2hvICIkeyF2YXJ9IjsKICAgICAgICByZXR1cm4gMDsKICAgIGZpOwogICAgbG9jYWwg
c2VhcmNoPTsKICAgIFtbIC1uICQzIF1dICYmIHNlYXJjaD0kKHR5cGUgLXAgIiQzLSR7cHJvZ30i
KTsKICAgIFtbIC16ICR7c2VhcmNofSAmJiAtbiAke0NIT1NUfSBdXSAmJiBzZWFyY2g9JCh0eXBl
IC1wICIke0NIT1NUfS0ke3Byb2d9Iik7CiAgICBbWyAtbiAke3NlYXJjaH0gXV0gJiYgcHJvZz0k
e3NlYXJjaCMjKi99OwogICAgZXhwb3J0ICR7dmFyfT0ke3Byb2d9OwogICAgZWNobyAiJHshdmFy
fSIKfQp0Yy1nZXRSQU5MSUIgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIFJBTkxJQiByYW5saWIgIiRA
Igp9CnRjLWdldFNUUklQICgpIAp7IAogICAgdGMtZ2V0UFJPRyBTVFJJUCBzdHJpcCAiJEAiCn0K
dGMtaXMtY3Jvc3MtY29tcGlsZXIgKCkgCnsgCiAgICByZXR1cm4gJChbWyAke0NCVUlMRDotJHtD
SE9TVH19ICE9ICR7Q0hPU1R9IF1dKQp9CnRjLWlzLXNvZnRmbG9hdCAoKSAKeyAKICAgIGNhc2Ug
JHtDVEFSR0VUfSBpbiAKICAgICAgICBiZmluKiB8IGg4MzAwKikKICAgICAgICAgICAgZWNobyAi
b25seSIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIFtbICR7Q1RBUkdFVC8vXy8t
fSA9PSAqLXNvZnRmbG9hdC0qIF1dICYmIGVjaG8gInllcyIgfHwgZWNobyAibm8iCiAgICAgICAg
OzsKICAgIGVzYWMKfQp0Yy1uaW5qYV9tYWdpY190b19hcmNoICgpIAp7IAogICAgZnVuY3Rpb24g
bmluaiAoKSAKICAgIHsgCiAgICAgICAgW1sgJHt0eXBlfSA9PSAia2VybiIgXV0gJiYgZWNobyAk
MSB8fCBlY2hvICQyCiAgICB9OwogICAgbG9jYWwgdHlwZT0kMTsKICAgIGxvY2FsIGhvc3Q9JDI7
CiAgICBbWyAteiAke2hvc3R9IF1dICYmIGhvc3Q9JHtDVEFSR0VUOi0ke0NIT1NUfX07CiAgICBj
YXNlICR7aG9zdH0gaW4gCiAgICAgICAgYWxwaGEqKQogICAgICAgICAgICBlY2hvIGFscGhhCiAg
ICAgICAgOzsKICAgICAgICBhcm0qKQogICAgICAgICAgICBlY2hvIGFybQogICAgICAgIDs7CiAg
ICAgICAgYXZyKikKICAgICAgICAgICAgbmluaiBhdnIzMiBhdnIKICAgICAgICA7OwogICAgICAg
IGJmaW4qKQogICAgICAgICAgICBuaW5qIGJsYWNrZmluIGJmaW4KICAgICAgICA7OwogICAgICAg
IGNyaXMqKQogICAgICAgICAgICBlY2hvIGNyaXMKICAgICAgICA7OwogICAgICAgIGhwcGEqKQog
ICAgICAgICAgICBuaW5qIHBhcmlzYyBocHBhCiAgICAgICAgOzsKICAgICAgICBpPzg2KikKICAg
ICAgICAgICAgaWYgW1sgJHt0eXBlfSA9PSAia2VybiIgXV0gJiYgW1sgJChLVl90b19pbnQgJHtL
Vn0pIC1sdCAkKEtWX3RvX2ludCAyLjYuMjQpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlY2hv
IGkzODY7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVjaG8geDg2OwogICAgICAg
ICAgICBmaQogICAgICAgIDs7CiAgICAgICAgaWE2NCopCiAgICAgICAgICAgIGVjaG8gaWE2NAog
ICAgICAgIDs7CiAgICAgICAgbTY4KikKICAgICAgICAgICAgZWNobyBtNjhrCiAgICAgICAgOzsK
ICAgICAgICBtaXBzKikKICAgICAgICAgICAgZWNobyBtaXBzCiAgICAgICAgOzsKICAgICAgICBu
aW9zMiopCiAgICAgICAgICAgIGVjaG8gbmlvczIKICAgICAgICA7OwogICAgICAgIG5pb3MqKQog
ICAgICAgICAgICBlY2hvIG5pb3MKICAgICAgICA7OwogICAgICAgIHBvd2VycGMqKQogICAgICAg
ICAgICBpZiBbWyAkKEtWX3RvX2ludCAke0tWfSkgLWdlICQoS1ZfdG9faW50IDIuNi4xNikgXV0g
JiYgW1sgJHt0eXBlfSA9PSAia2VybiIgXV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8gcG93
ZXJwYzsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgaWYgW1sgJChLVl90b19pbnQg
JHtLVn0pIC1lcSAkKEtWX3RvX2ludCAyLjYuMTUpIF1dICYmIFtbICR7dHlwZX0gPT0gImtlcm4i
IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgJHtob3N0fSA9PSBwb3dlcnBjNjQq
IF1dIHx8IFtbICR7UFJPRklMRV9BUkNIfSA9PSAicHBjNjQiIF1dOyB0aGVuCiAgICAgICAgICAg
ICAgICAgICAgICAgIGVjaG8gcG93ZXJwYzsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgIGVjaG8gcHBjOwogICAgICAgICAgICAgICAgICAgIGZpOwogICAg
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGlmIFtbICR7aG9zdH0gPT0gcG93
ZXJwYzY0KiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBlY2hvIHBwYzY0OwogICAg
ICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgJHtQUk9G
SUxFX0FSQ0h9ID09ICJwcGM2NCIgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5pbmogcHBjNjQgcHBjOwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBlY2hvIHBwYzsKICAgICAgICAgICAgICAgICAgICAgICAgZmk7CiAg
ICAgICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZmkK
ICAgICAgICA7OwogICAgICAgIHMzOTAqKQogICAgICAgICAgICBlY2hvIHMzOTAKICAgICAgICA7
OwogICAgICAgIHNoNjQqKQogICAgICAgICAgICBuaW5qIHNoNjQgc2gKICAgICAgICA7OwogICAg
ICAgIHNoKikKICAgICAgICAgICAgZWNobyBzaAogICAgICAgIDs7CiAgICAgICAgc3BhcmM2NCop
CiAgICAgICAgICAgIG5pbmogc3BhcmM2NCBzcGFyYwogICAgICAgIDs7CiAgICAgICAgc3BhcmMq
KQogICAgICAgICAgICBbWyAke1BST0ZJTEVfQVJDSH0gPT0gInNwYXJjNjQiIF1dICYmIG5pbmog
c3BhcmM2NCBzcGFyYyB8fCBlY2hvIHNwYXJjCiAgICAgICAgOzsKICAgICAgICB2YXgqKQogICAg
ICAgICAgICBlY2hvIHZheAogICAgICAgIDs7CiAgICAgICAgeDg2XzY0KikKICAgICAgICAgICAg
aWYgW1sgJHt0eXBlfSA9PSAia2VybiIgXV0gJiYgW1sgJChLVl90b19pbnQgJHtLVn0pIC1nZSAk
KEtWX3RvX2ludCAyLjYuMjQpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlY2hvIHg4NjsKICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgbmluaiB4ODZfNjQgYW1kNjQ7CiAgICAgICAg
ICAgIGZpCiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBlY2hvIHVua25vd24KICAg
ICAgICA7OwogICAgZXNhYwp9CnRlc3QtZmxhZy1DQyAoKSAKeyAKICAgIHRlc3QtZmxhZy1QUk9H
ICJDQyIgIiQxIgp9CnRlc3QtZmxhZy1DWFggKCkgCnsgCiAgICB0ZXN0LWZsYWctUFJPRyAiQ1hY
IiAiJDEiCn0KdGVzdC1mbGFnLVBST0cgKCkgCnsgCiAgICBsb2NhbCBjb21wPSQxOwogICAgbG9j
YWwgZmxhZ3M9IiQyIjsKICAgIFtbIC16ICR7Y29tcH0gfHwgLXogJHtmbGFnc30gXV0gJiYgcmV0
dXJuIDE7CiAgICBsb2NhbCBQUk9HPSQodGMtZ2V0JHtjb21wfSk7CiAgICAke1BST0d9ICR7Zmxh
Z3N9IC1TIC1vIC9kZXYvbnVsbCAteGMgL2Rldi9udWxsID4gL2Rldi9udWxsIDI+JjEKfQp0ZXN0
LWZsYWdzICgpIAp7IAogICAgdGVzdC1mbGFncy1DQyAiJEAiCn0KdGVzdC1mbGFncy1DQyAoKSAK
eyAKICAgIHRlc3QtZmxhZ3MtUFJPRyAiQ0MiICIkQCIKfQp0ZXN0LWZsYWdzLUNYWCAoKSAKeyAK
ICAgIHRlc3QtZmxhZ3MtUFJPRyAiQ1hYIiAiJEAiCn0KdGVzdC1mbGFncy1QUk9HICgpIAp7IAog
ICAgbG9jYWwgY29tcD0kMTsKICAgIGxvY2FsIGZsYWdzOwogICAgbG9jYWwgeDsKICAgIHNoaWZ0
OwogICAgW1sgLXogJHtjb21wfSBdXSAmJiByZXR1cm4gMTsKICAgIHg9IiI7CiAgICBmb3IgeCBp
biAiJEAiOwogICAgZG8KICAgICAgICB0ZXN0LWZsYWctJHtjb21wfSAiJHt4fSIgJiYgZmxhZ3M9
IiR7ZmxhZ3N9JHtmbGFnczorIH0ke3h9IjsKICAgIGRvbmU7CiAgICBlY2hvICIke2ZsYWdzfSI7
CiAgICBbWyAtbiAke2ZsYWdzfSBdXQp9CnRlc3RfZmxhZyAoKSAKeyAKICAgIGV3YXJuICJ0ZXN0
X2ZsYWc6IGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2UgdGVzdC1mbGFncygpISIgMT4mMjsKICAgIHRl
c3QtZmxhZ3MtQ0MgIiRAIgp9CnRlc3RfdmVyc2lvbl9pbmZvICgpIAp7IAogICAgaWYgW1sgJCgk
KHRjLWdldENDKSAtLXZlcnNpb24gMj4mMSkgPT0gKiQxKiBdXTsgdGhlbgogICAgICAgIHJldHVy
biAwOwogICAgZWxzZQogICAgICAgIHJldHVybiAxOwogICAgZmkKfQp0cmVlY29weSAoKSAKeyAK
ICAgIGRlc3Q9JHshI307CiAgICBmaWxlc19jb3VudD0kIzsKICAgIHdoaWxlICgoICQjID4gMSAp
KTsgZG8KICAgICAgICBkaXJzdHJ1Y3Q9JChkaXJuYW1lICIkMSIpOwogICAgICAgIG1rZGlyIC1w
ICIke2Rlc3R9LyR7ZGlyc3RydWN0fSI7CiAgICAgICAgY3AgLXBQUiAiJDEiICIke2Rlc3R9LyR7
ZGlyc3RydWN0fSI7CiAgICAgICAgc2hpZnQ7CiAgICBkb25lCn0KdWNsaWJjdG9vbGl6ZSAoKSAK
eyAKICAgIGV3YXJuICJ1Y2xpYmN0b29saXplKCkgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIGp1c3Qg
dXNlIGVsaWJ0b29saXplKCkhIjsKICAgIGVsaWJ0b29saXplCn0KdW5wYWNrX21ha2VzZWxmICgp
IAp7IAogICAgbG9jYWwgc3JjX2lucHV0PSR7MTotJHtBfX07CiAgICBsb2NhbCBzcmM9JChmaW5k
X3VucGFja2FibGVfZmlsZSAiJHtzcmNfaW5wdXR9Iik7CiAgICBsb2NhbCBza2lwPSQyOwogICAg
bG9jYWwgZXhlPSQzOwogICAgW1sgLXogJHtzcmN9IF1dICYmIGRpZSAiQ291bGQgbm90IGxvY2F0
ZSBzb3VyY2UgZm9yICcke3NyY19pbnB1dH0nIjsKICAgIGxvY2FsIHNocnRzcmM9JChiYXNlbmFt
ZSAiJHtzcmN9Iik7CiAgICBlY2hvICI+Pj4gVW5wYWNraW5nICR7c2hydHNyY30gdG8gJHtQV0R9
IjsKICAgIGlmIFtbIC16ICR7c2tpcH0gXV07IHRoZW4KICAgICAgICBsb2NhbCB2ZXI9JChncmVw
IC1hICcjLipNYWtlc2VsZicgIiR7c3JjfSIgfCBhd2sgJ3twcmludCAkTkZ9Jyk7CiAgICAgICAg
bG9jYWwgc2tpcD0wOwogICAgICAgIGV4ZT10YWlsOwogICAgICAgIGNhc2UgJHt2ZXJ9IGluIAog
ICAgICAgICAgICAxLjUuKiB8IDEuNi4wLW52KQogICAgICAgICAgICAgICAgc2tpcD0kKGdyZXAg
LWEgXnNraXA9ICIke3NyY30iIHwgY3V0IC1kPSAtZjIpCiAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgIDIuMCB8IDIuMC4xKQogICAgICAgICAgICAgICAgc2tpcD0kKGdyZXAgLWEgXicJJ3RhaWwg
IiR7c3JjfSIgfCBhd2sgJ3twcmludCAkMn0nIHwgY3V0IC1iMi0pCiAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgIDIuMS4xKQogICAgICAgICAgICAgICAgc2tpcD0kKGdyZXAgLWEgXm9mZnNldD0g
IiR7c3JjfSIgfCBhd2sgJ3twcmludCAkMn0nIHwgY3V0IC1iMi0pOwogICAgICAgICAgICAgICAg
bGV0IHNraXA9InNraXAgKyAxIgogICAgICAgICAgICA7OwogICAgICAgICAgICAyLjEuMikKICAg
ICAgICAgICAgICAgIHNraXA9JChncmVwIC1hIF5vZmZzZXQ9ICIke3NyY30iIHwgYXdrICd7cHJp
bnQgJDN9JyB8IGhlYWQgLW4gMSk7CiAgICAgICAgICAgICAgICBsZXQgc2tpcD0ic2tpcCArIDEi
CiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIDIuMS4zKQogICAgICAgICAgICAgICAgc2tpcD1g
Z3JlcCAtYSBeb2Zmc2V0PSAiJHtzcmN9IiB8IGF3ayAne3ByaW50ICQzfSdgOwogICAgICAgICAg
ICAgICAgbGV0IHNraXA9InNraXAgKyAxIgogICAgICAgICAgICA7OwogICAgICAgICAgICAyLjEu
NCB8IDIuMS41KQogICAgICAgICAgICAgICAgc2tpcD0kKGdyZXAgLWEgb2Zmc2V0PS4qaGVhZC4q
d2MgIiR7c3JjfSIgfCBhd2sgJ3twcmludCAkM30nIHwgaGVhZCAtbiAxKTsKICAgICAgICAgICAg
ICAgIHNraXA9JChoZWFkIC1uICR7c2tpcH0gIiR7c3JjfSIgfCB3YyAtYyk7CiAgICAgICAgICAg
ICAgICBleGU9ImRkIgogICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAg
ICAgZWVycm9yICJJJ20gc29ycnksIGJ1dCBJIHdhcyB1bmFibGUgdG8gc3VwcG9ydCB0aGUgTWFr
ZXNlbGYgZmlsZS4iOwogICAgICAgICAgICAgICAgZWVycm9yICJUaGUgdmVyc2lvbiBJIGRldGVj
dGVkIHdhcyAnJHt2ZXJ9Jy4iOwogICAgICAgICAgICAgICAgZWVycm9yICJQbGVhc2UgZmlsZSBh
IGJ1ZyBhYm91dCB0aGUgZmlsZSAke3NocnRzcmN9IGF0IjsKICAgICAgICAgICAgICAgIGVlcnJv
ciAiaHR0cDovL2J1Z3MuZ2VudG9vLm9yZy8gc28gdGhhdCBzdXBwb3J0IGNhbiBiZSBhZGRlZC4i
OwogICAgICAgICAgICAgICAgZGllICJtYWtlc2VsZiB2ZXJzaW9uICcke3Zlcn0nIG5vdCBzdXBw
b3J0ZWQiCiAgICAgICAgICAgIDs7CiAgICAgICAgZXNhYzsKICAgICAgICBkZWJ1Zy1wcmludCAi
RGV0ZWN0ZWQgTWFrZXNlbGYgdmVyc2lvbiAke3Zlcn0gLi4uIHVzaW5nICR7c2tpcH0gYXMgb2Zm
c2V0IjsKICAgIGZpOwogICAgY2FzZSAke2V4ZX0gaW4gCiAgICAgICAgdGFpbCkKICAgICAgICAg
ICAgZXhlPSJ0YWlsIC1uICske3NraXB9ICcke3NyY30nIgogICAgICAgIDs7CiAgICAgICAgZGQp
CiAgICAgICAgICAgIGV4ZT0iZGQgaWJzPSR7c2tpcH0gc2tpcD0xIG9icz0xMDI0IGNvbnY9c3lu
YyBpZj0nJHtzcmN9JyIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGRpZSAibWFr
ZXNlbGYgY2FudCBoYW5kbGUgZXhlICcke2V4ZX0nIgogICAgICAgIDs7CiAgICBlc2FjOwogICAg
bG9jYWwgdG1wZmlsZT0kKGVta3RlbXApOwogICAgZXZhbCAke2V4ZX0gMj4gL2Rldi9udWxsIHwg
aGVhZCAtYyA1MTIgPiAiJHt0bXBmaWxlfSI7CiAgICBsb2NhbCBmaWxldHlwZT0kKGZpbGUgLWIg
IiR7dG1wZmlsZX0iKTsKICAgIGNhc2UgJHtmaWxldHlwZX0gaW4gCiAgICAgICAgKnRhclwgYXJj
aGl2ZSopCiAgICAgICAgICAgIGV2YWwgJHtleGV9IHwgdGFyIC0tbm8tc2FtZS1vd25lciAteGYg
LQogICAgICAgIDs7CiAgICAgICAgYnppcDIqKQogICAgICAgICAgICBldmFsICR7ZXhlfSB8IGJ6
aXAyIC1kYyB8IHRhciAtLW5vLXNhbWUtb3duZXIgLXhmIC0KICAgICAgICA7OwogICAgICAgIGd6
aXAqKQogICAgICAgICAgICBldmFsICR7ZXhlfSB8IHRhciAtLW5vLXNhbWUtb3duZXIgLXh6ZiAt
CiAgICAgICAgOzsKICAgICAgICBjb21wcmVzcyopCiAgICAgICAgICAgIGV2YWwgJHtleGV9IHwg
Z3VuemlwIHwgdGFyIC0tbm8tc2FtZS1vd25lciAteGYgLQogICAgICAgIDs7CiAgICAgICAgKikK
ICAgICAgICAgICAgZWVycm9yICJVbmtub3duIGZpbGV0eXBlIFwiJHtmaWxldHlwZX1cIiA/IjsK
ICAgICAgICAgICAgZmFsc2UKICAgICAgICA7OwogICAgZXNhYzsKICAgIF9waXBlc3RhdHVzPSIk
e1BJUEVTVEFUVVNbKl19IjsKICAgIFtbICIke19waXBlc3RhdHVzLy8gL30iIC1lcSAwIF1dIHx8
IGRpZSAiZmFpbHVyZSB1bnBhY2tpbmcgKCR7ZmlsZXR5cGV9KSBtYWtlc2VsZiAke3NocnRzcmN9
ICgnJHt2ZXJ9JyArJHtza2lwfSkiCn0KdW5wYWNrX3BkdiAoKSAKeyAKICAgIGxvY2FsIHNyYz0k
KGZpbmRfdW5wYWNrYWJsZV9maWxlICIkMSIpOwogICAgbG9jYWwgc2l6ZW9mZl90PSQyOwogICAg
W1sgLXogJHtzcmN9IF1dICYmIGRpZSAiQ291bGQgbm90IGxvY2F0ZSBzb3VyY2UgZm9yICckMSci
OwogICAgW1sgLXogJHtzaXplb2ZmX3R9IF1dICYmIGRpZSAiTm8gaWRlYSB3aGF0IG9mZl90IHNp
emUgd2FzIHVzZWQgZm9yIHRoaXMgcGR2IDooIjsKICAgIGxvY2FsIHNocnRzcmM9JChiYXNlbmFt
ZSAiJHtzcmN9Iik7CiAgICBlY2hvICI+Pj4gVW5wYWNraW5nICR7c2hydHNyY30gdG8gJHtQV0R9
IjsKICAgIGxvY2FsIG1ldGFza2lwPSQodGFpbCAtYyAke3NpemVvZmZfdH0gIiR7c3JjfSIgfCBo
ZXhkdW1wIC1lIFwiJWlcIik7CiAgICBsb2NhbCB0YWlsc2tpcD0kKHRhaWwgLWMgJCgoJHtzaXpl
b2ZmX3R9KjIpKSAiJHtzcmN9IiB8IGhlYWQgLWMgJHtzaXplb2ZmX3R9IHwgaGV4ZHVtcCAtZSBc
IiVpXCIpOwogICAgbG9jYWwgbWV0YWZpbGU9JChlbWt0ZW1wKTsKICAgIHRhaWwgLWMgKyQoKCR7
bWV0YXNraXB9KzEpKSAiJHtzcmN9IiA+ICIke21ldGFmaWxlfSI7CiAgICBsb2NhbCBkYXRhZmls
ZT0kKHRhaWwgLWMgKyQoKCR7bWV0YXNraXB9KzEpKSAiJHtzcmN9IiB8IHN0cmluZ3MgfCBoZWFk
IC1uIDEpOwogICAgZGF0YWZpbGU9JChiYXNlbmFtZSAiJHtkYXRhZmlsZX0iKTsKICAgIGxvY2Fs
IHRtcGZpbGU9JChlbWt0ZW1wKTsKICAgIHRhaWwgLWMgKyQoKCR7dGFpbHNraXB9KzEpKSAke3Ny
Y30gMj4gL2Rldi9udWxsIHwgaGVhZCAtYyA1MTIgPiAke3RtcGZpbGV9OwogICAgbG9jYWwgaXNj
b21wcmVzc2VkPSQoZmlsZSAtYiAiJHt0bXBmaWxlfSIpOwogICAgaWYgW1sgJHtpc2NvbXByZXNz
ZWQ6MDo4fSA9PSAiY29tcHJlc3MiIF1dOyB0aGVuCiAgICAgICAgaXNjb21wcmVzc2VkPTE7CiAg
ICAgICAgbXYgJHt0bXBmaWxlfXssLlp9OwogICAgICAgIGd1bnppcCAke3RtcGZpbGV9OwogICAg
ZWxzZQogICAgICAgIGlzY29tcHJlc3NlZD0wOwogICAgZmk7CiAgICBsb2NhbCBpc3Rhcj0kKGZp
bGUgLWIgIiR7dG1wZmlsZX0iKTsKICAgIGlmIFtbICR7aXN0YXI6MDo5fSA9PSAiUE9TSVggdGFy
IiBdXTsgdGhlbgogICAgICAgIGlzdGFyPTE7CiAgICBlbHNlCiAgICAgICAgaXN0YXI9MDsKICAg
IGZpOwogICAgaWYgWyAke2lzY29tcHJlc3NlZH0gLWVxIDEgXTsgdGhlbgogICAgICAgIGlmIFsg
JHtpc3Rhcn0gLWVxIDEgXTsgdGhlbgogICAgICAgICAgICB0YWlsIC1jICskKCgke3RhaWxza2lw
fSsxKSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgJCgoJHttZXRhc2tpcH0tJHt0YWls
c2tpcH0pKSB8IHRhciAteHpmIC07CiAgICAgICAgZWxzZQogICAgICAgICAgICB0YWlsIC1jICsk
KCgke3RhaWxza2lwfSsxKSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgJCgoJHttZXRh
c2tpcH0tJHt0YWlsc2tpcH0pKSB8IGd6aXAgLWRjID4gJHtkYXRhZmlsZX07CiAgICAgICAgZmk7
CiAgICBlbHNlCiAgICAgICAgaWYgWyAke2lzdGFyfSAtZXEgMSBdOyB0aGVuCiAgICAgICAgICAg
IHRhaWwgLWMgKyQoKCR7dGFpbHNraXB9KzEpKSAke3NyY30gMj4gL2Rldi9udWxsIHwgaGVhZCAt
YyAkKCgke21ldGFza2lwfS0ke3RhaWxza2lwfSkpIHwgdGFyIC0tbm8tc2FtZS1vd25lciAteGYg
LTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHRhaWwgLWMgKyQoKCR7dGFpbHNraXB9KzEpKSAk
e3NyY30gMj4gL2Rldi9udWxsIHwgaGVhZCAtYyAkKCgke21ldGFza2lwfS0ke3RhaWxza2lwfSkp
ID4gJHtkYXRhZmlsZX07CiAgICAgICAgZmk7CiAgICBmaTsKICAgIHRydWUKfQp2YWxpZGF0ZV9k
ZXNrdG9wX2VudHJpZXMgKCkgCnsgCiAgICBpZiBbWyAteCAvdXNyL2Jpbi9kZXNrdG9wLWZpbGUt
dmFsaWRhdGUgXV07IHRoZW4KICAgICAgICBlaW5mbyAiQ2hlY2tpbmcgZGVza3RvcCBlbnRyeSB2
YWxpZGl0eSI7CiAgICAgICAgbG9jYWwgZGlyZWN0b3JpZXM9IiI7CiAgICAgICAgZm9yIGQgaW4g
L3Vzci9zaGFyZS9hcHBsaWNhdGlvbnMgJEA7CiAgICAgICAgZG8KICAgICAgICAgICAgW1sgLWQg
JHtEfSR7ZH0gXV0gJiYgZGlyZWN0b3JpZXM9IiR7ZGlyZWN0b3JpZXN9ICR7RH0ke2R9IjsKICAg
ICAgICBkb25lOwogICAgICAgIGlmIFtbIC1uICR7ZGlyZWN0b3JpZXN9IF1dOyB0aGVuCiAgICAg
ICAgICAgIGZvciBGSUxFIGluICQoZmluZCAke2RpcmVjdG9yaWVzfSAtbmFtZSAiKlwuZGVza3Rv
cCIgCQkJCQkJCS1ub3QgLXBhdGggJyouaGlkZGVuKicgfCBzb3J0IC11IDI+L2Rldi9udWxsKTsK
ICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgIGxvY2FsIHRlbXA9JChkZXNrdG9wLWZpbGUt
dmFsaWRhdGUgJHtGSUxFfSB8IGdyZXAgLXYgIndhcm5pbmc6IiB8IAkJCQkJCQkJc2VkIC1lICJz
fGVycm9yOiB8fCIgLWUgInN8JHtGSUxFfTp8LS18ZyIgKTsKICAgICAgICAgICAgICAgIFtbIC1u
ICR0ZW1wIF1dICYmIGVsb2cgJHt0ZW1wLy0tLyR7RklMRS8ke0R9L306fTsKICAgICAgICAgICAg
ZG9uZTsKICAgICAgICBmaTsKICAgICAgICBlY2hvICIiOwogICAgZWxzZQogICAgICAgIGVpbmZv
ICJQYXNzaW5nIGRlc2t0b3AgZW50cnkgdmFsaWRpdHkgY2hlY2suIEluc3RhbGwgZGV2LXV0aWwv
ZGVza3RvcC1maWxlLXV0aWxzLCBpZiB5b3Ugd2FudCB0byBoZWxwIHRvIGltcHJvdmUgR2VudG9v
LiI7CiAgICBmaQp9CnZlcnNpb25fY29tcGFyZSAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hv
cHRfdG9nZ2xlIG9uOwogICAgbG9jYWwgdmVyX2E9JHsxfSB2ZXJfYj0kezJ9IHBhcnRzX2EgcGFy
dHNfYiBjdXJfaWR4X2E9MCBjdXJfaWR4X2I9MDsKICAgIHBhcnRzX2E9KCQoZ2V0X2FsbF92ZXJz
aW9uX2NvbXBvbmVudHMgIiR7dmVyX2F9IiApKTsKICAgIHBhcnRzX2I9KCQoZ2V0X2FsbF92ZXJz
aW9uX2NvbXBvbmVudHMgIiR7dmVyX2J9IiApKTsKICAgIGxvY2FsIGluZl9sb29wPTA7CiAgICB3
aGlsZSB0cnVlOyBkbwogICAgICAgIGluZl9sb29wPSQoKCAke2luZl9sb29wfSArIDEgKSk7CiAg
ICAgICAgW1sgJHtpbmZfbG9vcH0gLWd0IDIwIF1dICYmIGRpZSAidmVyc2lvbmF0b3IgY29tcGFy
ZSBidWcgW251bWJlcnMsICR7dmVyX2F9LCAke3Zlcl9ifV0iOwogICAgICAgIGxvY2FsIGN1cl90
b2tfYT0ke3BhcnRzX2FbJHtjdXJfaWR4X2F9XX07CiAgICAgICAgbG9jYWwgY3VyX3Rva19iPSR7
cGFydHNfYlske2N1cl9pZHhfYn1dfTsKICAgICAgICBpZiBbWyAtbiAke2N1cl90b2tfYX0gXV0g
JiYgW1sgLXogJHtjdXJfdG9rX2EvL1tbOmRpZ2l0Ol1dfSBdXTsgdGhlbgogICAgICAgICAgICBj
dXJfaWR4X2E9JCgoICR7Y3VyX2lkeF9hfSArIDEgKSk7CiAgICAgICAgICAgIFtbICR7cGFydHNf
YVske2N1cl9pZHhfYX1dfSA9PSAiLiIgXV0gJiYgY3VyX2lkeF9hPSQoKCAke2N1cl9pZHhfYX0g
KyAxICkpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgY3VyX3Rva19hPSIiOwogICAgICAgIGZp
OwogICAgICAgIGlmIFtbIC1uICR7Y3VyX3Rva19ifSBdXSAmJiBbWyAteiAke2N1cl90b2tfYi8v
W1s6ZGlnaXQ6XV19IF1dOyB0aGVuCiAgICAgICAgICAgIGN1cl9pZHhfYj0kKCggJHtjdXJfaWR4
X2J9ICsgMSApKTsKICAgICAgICAgICAgW1sgJHtwYXJ0c19iWyR7Y3VyX2lkeF9ifV19ID09ICIu
IiBdXSAmJiBjdXJfaWR4X2I9JCgoICR7Y3VyX2lkeF9ifSArIDEgKSk7CiAgICAgICAgZWxzZQog
ICAgICAgICAgICBjdXJfdG9rX2I9IiI7CiAgICAgICAgZmk7CiAgICAgICAgW1sgLXogJHtjdXJf
dG9rX2F9IF1dICYmIFtbIC16ICR7Y3VyX3Rva19ifSBdXSAmJiBicmVhazsKICAgICAgICBjdXJf
dG9rX2E9JHtjdXJfdG9rX2EjIysoMCl9OwogICAgICAgIGN1cl90b2tfYj0ke2N1cl90b2tfYiMj
KygwKX07CiAgICAgICAgW1sgLXogJHtjdXJfdG9rX2F9IF1dICYmIGN1cl90b2tfYT0wOwogICAg
ICAgIFtbIC16ICR7Y3VyX3Rva19ifSBdXSAmJiBjdXJfdG9rX2I9MDsKICAgICAgICBbWyAke2N1
cl90b2tfYX0gLWx0ICR7Y3VyX3Rva19ifSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2ds
ZSBvZmYgJiYgcmV0dXJuIDE7CiAgICAgICAgW1sgJHtjdXJfdG9rX2F9IC1ndCAke2N1cl90b2tf
Yn0gXV0gJiYgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmICYmIHJldHVybiAzOwogICAg
ZG9uZTsKICAgIGxvY2FsIGxldHRlcl9hPTsKICAgIGxldHRlcl9hPSR7cGFydHNfYVske2N1cl9p
ZHhfYX1dfTsKICAgIGlmIFtbICR7I2xldHRlcl9hfSAtZXEgMSBdXSAmJiBbWyAteiAke2xldHRl
cl9hL1thLXpdfSBdXTsgdGhlbgogICAgICAgIGN1cl9pZHhfYT0kKCggJHtjdXJfaWR4X2F9ICsg
MSApKTsKICAgIGVsc2UKICAgICAgICBsZXR0ZXJfYT0iQCI7CiAgICBmaTsKICAgIGxvY2FsIGxl
dHRlcl9iPTsKICAgIGxldHRlcl9iPSR7cGFydHNfYlske2N1cl9pZHhfYn1dfTsKICAgIGlmIFtb
ICR7I2xldHRlcl9ifSAtZXEgMSBdXSAmJiBbWyAteiAke2xldHRlcl9iL1thLXpdfSBdXTsgdGhl
bgogICAgICAgIGN1cl9pZHhfYj0kKCggJHtjdXJfaWR4X2J9ICsgMSApKTsKICAgIGVsc2UKICAg
ICAgICBsZXR0ZXJfYj0iQCI7CiAgICBmaTsKICAgIFtbICR7bGV0dGVyX2F9IDwgJHtsZXR0ZXJf
Yn0gXV0gJiYgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmICYmIHJldHVybiAxOwogICAg
W1sgJHtsZXR0ZXJfYX0gPiAke2xldHRlcl9ifSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0X3Rv
Z2dsZSBvZmYgJiYgcmV0dXJuIDM7CiAgICBsb2NhbCBzdWZmaXggcnVsZSBwYXJ0IHJfbHQgcl9n
dDsKICAgIGZvciBydWxlIGluICJhbHBoYT0xIiAiYmV0YT0xIiAicHJlPTEiICJyYz0xIiAicD0z
IiAicj0zIjsKICAgIGRvCiAgICAgICAgc3VmZml4PSR7cnVsZSUlPSp9OwogICAgICAgIHJfbHQ9
JHtydWxlIyMqPX07CiAgICAgICAgW1sgJHtyX2x0fSAtZXEgMSBdXSAmJiByX2d0PTMgfHwgcl9n
dD0xOwogICAgICAgIGxvY2FsIHN1ZmZpeF9hPTsKICAgICAgICBmb3IgcGFydCBpbiAke3BhcnRz
X2FbQF19OwogICAgICAgIGRvCiAgICAgICAgICAgIFtbICR7cGFydCMke3N1ZmZpeH19ICE9ICR7
cGFydH0gXV0gJiYgW1sgLXogJHtwYXJ0IyMke3N1ZmZpeH0qKFtbOmRpZ2l0Ol1dKX0gXV0gJiYg
c3VmZml4X2E9JHtwYXJ0IyR7c3VmZml4fX0wOwogICAgICAgIGRvbmU7CiAgICAgICAgbG9jYWwg
c3VmZml4X2I9OwogICAgICAgIGZvciBwYXJ0IGluICR7cGFydHNfYltAXX07CiAgICAgICAgZG8K
ICAgICAgICAgICAgW1sgJHtwYXJ0IyR7c3VmZml4fX0gIT0gJHtwYXJ0fSBdXSAmJiBbWyAteiAk
e3BhcnQjIyR7c3VmZml4fSooW1s6ZGlnaXQ6XV0pfSBdXSAmJiBzdWZmaXhfYj0ke3BhcnQjJHtz
dWZmaXh9fTA7CiAgICAgICAgZG9uZTsKICAgICAgICBbWyAteiAke3N1ZmZpeF9hfSBdXSAmJiBb
WyAteiAke3N1ZmZpeF9ifSBdXSAmJiBjb250aW51ZTsKICAgICAgICBbWyAteiAke3N1ZmZpeF9h
fSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYgJiYgcmV0dXJuICR7cl9ndH07
CiAgICAgICAgW1sgLXogJHtzdWZmaXhfYn0gXV0gJiYgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dn
bGUgb2ZmICYmIHJldHVybiAke3JfbHR9OwogICAgICAgIHN1ZmZpeF9hPSR7c3VmZml4X2EjIyso
MCl9OwogICAgICAgIHN1ZmZpeF9hPSR7c3VmZml4X2E6LTB9OwogICAgICAgIHN1ZmZpeF9iPSR7
c3VmZml4X2IjIysoMCl9OwogICAgICAgIHN1ZmZpeF9iPSR7c3VmZml4X2I6LTB9OwogICAgICAg
IFtbICR7c3VmZml4X2F9IC1sdCAke3N1ZmZpeF9ifSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0
X3RvZ2dsZSBvZmYgJiYgcmV0dXJuIDE7CiAgICAgICAgW1sgJHtzdWZmaXhfYX0gLWd0ICR7c3Vm
Zml4X2J9IF1dICYmIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZiAmJiByZXR1cm4gMzsK
ICAgIGRvbmU7CiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmY7CiAgICByZXR1cm4g
Mgp9CnZlcnNpb25faXNfYXRfbGVhc3QgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3Rv
Z2dsZSBvbjsKICAgIGxvY2FsIHdhbnRfcz0iJDEiIGhhdmVfcz0iJHsyOi0ke1BWUn19IiByOwog
ICAgdmVyc2lvbl9jb21wYXJlICIke3dhbnRfc30iICIke2hhdmVfc30iOwogICAgcj0kPzsKICAg
IGNhc2UgJHIgaW4gCiAgICAgICAgMSB8IDIpCiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3Jfc2hv
cHRfdG9nZ2xlIG9mZjsKICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICA7OwogICAgICAgIDMp
CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZjsKICAgICAgICAgICAg
cmV0dXJuIDEKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3Jf
c2hvcHRfdG9nZ2xlIG9mZjsKICAgICAgICAgICAgZGllICJ2ZXJzaW9uYXRvciBjb21wYXJlIGJ1
ZyBbYXRsZWFzdCwgJHt3YW50X3N9LCAke2hhdmVfc30sICR7cn1dIgogICAgICAgIDs7CiAgICBl
c2FjOwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0KdmVyc2lvbl9zb3J0ICgp
IAp7IAogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb247CiAgICBsb2NhbCBpdGVtcz0g
bGVmdD0wOwogICAgaXRlbXM9KCRAKTsKICAgIHdoaWxlIFtbICR7bGVmdH0gLWx0ICR7I2l0ZW1z
W0BdfSBdXTsgZG8KICAgICAgICBsb2NhbCBsb3dlc3RfaWR4PSR7bGVmdH07CiAgICAgICAgbG9j
YWwgaWR4PSQoKCAke2xvd2VzdF9pZHh9ICsgMSApKTsKICAgICAgICB3aGlsZSBbWyAke2lkeH0g
LWx0ICR7I2l0ZW1zW0BdfSBdXTsgZG8KICAgICAgICAgICAgdmVyc2lvbl9jb21wYXJlICIke2l0
ZW1zWyR7bG93ZXN0X2lkeH1dfSIgIiR7aXRlbXNbJHtpZHh9XX0iOwogICAgICAgICAgICBbWyAk
PyAtZXEgMyBdXSAmJiBsb3dlc3RfaWR4PSR7aWR4fTsKICAgICAgICAgICAgaWR4PSQoKCAke2lk
eH0gKyAxICkpOwogICAgICAgIGRvbmU7CiAgICAgICAgbG9jYWwgdG1wPSR7aXRlbXNbJHtsb3dl
c3RfaWR4fV19OwogICAgICAgIGl0ZW1zWyR7bG93ZXN0X2lkeH1dPSR7aXRlbXNbJHtsZWZ0fV19
OwogICAgICAgIGl0ZW1zWyR7bGVmdH1dPSR7dG1wfTsKICAgICAgICBsZWZ0PSQoKCAke2xlZnR9
ICsgMSApKTsKICAgIGRvbmU7CiAgICBlY2hvICR7aXRlbXNbQF19OwogICAgX192ZXJzaW9uYXRv
cl9zaG9wdF90b2dnbGUgb2ZmCn0KZGVjbGFyZSAteCBBTFNBX0NBUkRTPSJhbGk1NDUxIGFsczQw
MDAgYXRpaXhwIGF0aWl4cC1tb2RlbSBidDg3eCBjYTAxMDYgY21pcGNpIGVtdTEwazEgZW11MTBr
MXggZW5zMTM3MCBlbnMxMzcxIGVzMTkzOCBlczE5NjggZm04MDEgaGRhLWludGVsIGludGVsOHgw
IGludGVsOHgwbSBtYWVzdHJvMyB0cmlkZW50IHVzYi1hdWRpbyB2aWE4Mnh4IHZpYTgyeHgtbW9k
ZW0geW1mcGNpIgpkZWNsYXJlIC14IEFMU0FfUENNX1BMVUdJTlM9ImFkcGNtIGFsYXcgYXN5bSBj
b3B5IGRtaXggZHNoYXJlIGRzbm9vcCBlbXB0eSBleHRwbHVnIGZpbGUgaG9va3MgaWVjOTU4IGlv
cGx1ZyBsYWRzcGEgbGZsb2F0IGxpbmVhciBtZXRlciBtdWxhdyBtdWx0aSBudWxsIHBsdWcgcmF0
ZSByb3V0ZSBzaGFyZSBzaG0gc29mdHZvbCIKZGVjbGFyZSAteCBBTlRfSE9NRT0iL3Vzci9zaGFy
ZS9hbnQtY29yZSIKZGVjbGFyZSAteCBBUEFDSEUyX01PRFVMRVM9ImFjdGlvbnMgYWxpYXMgYXV0
aF9iYXNpYyBhdXRobl9hbGlhcyBhdXRobl9hbm9uIGF1dGhuX2RibSBhdXRobl9kZWZhdWx0IGF1
dGhuX2ZpbGUgYXV0aHpfZGJtIGF1dGh6X2RlZmF1bHQgYXV0aHpfZ3JvdXBmaWxlIGF1dGh6X2hv
c3QgYXV0aHpfb3duZXIgYXV0aHpfdXNlciBhdXRvaW5kZXggY2FjaGUgZGF2IGRhdl9mcyBkYXZf
bG9jayBkZWZsYXRlIGRpciBkaXNrX2NhY2hlIGVudiBleHBpcmVzIGV4dF9maWx0ZXIgZmlsZV9j
YWNoZSBmaWx0ZXIgaGVhZGVycyBpbmNsdWRlIGluZm8gbG9nX2NvbmZpZyBsb2dpbyBtZW1fY2Fj
aGUgbWltZSBtaW1lX21hZ2ljIG5lZ290aWF0aW9uIHJld3JpdGUgc2V0ZW52aWYgc3BlbGluZyBz
dGF0dXMgdW5pcXVlX2lkIHVzZXJkaXIgdXNlcnRyYWNrIHZob3N0X2FsaWFzIgpkZWNsYXJlIC14
IEFSQ0g9Ing4NiIKZGVjbGFyZSAteCBDQlVJTEQ9Imk2ODYtcGMtbGludXgtZ251IgpkZWNsYXJl
IC14IENERUZJTkVfZGVmYXVsdD0iX191bml4X18iCmRlY2xhcmUgLXggQ0ZMQUdTPSItbWFyY2g9
cHJlc2NvdHQgLU8yIC1waXBlIC1mb21pdC1mcmFtZS1wb2ludGVyIgpkZWNsYXJlIC14IENGTEFH
U19kZWZhdWx0PSIiCmRlY2xhcmUgLXggQ0hPU1Q9Imk2ODYtcGMtbGludXgtZ251IgpkZWNsYXJl
IC14IENIT1NUX2RlZmF1bHQ9Imk2ODYtcGMtbGludXgtZ251IgpkZWNsYXJlIC14IENMQVNTUEFU
SD0iLiIKZGVjbGFyZSAteCBDVEFSR0VUX2RlZmF1bHQ9Imk2ODYtcGMtbGludXgtZ251IgpkZWNs
YXJlIC14IENWU19SU0g9InNzaCIKZGVjbGFyZSAteCBDWFhGTEFHUz0iLW1hcmNoPXByZXNjb3R0
IC1PMiAtcGlwZSAtZm9taXQtZnJhbWUtcG9pbnRlciIKZGVjbGFyZSAteCBEQlVTX1NFU1NJT05f
QlVTX0FERFJFU1M9InVuaXg6YWJzdHJhY3Q9L3RtcC9kYnVzLVB2ZnNSdFNHYngsZ3VpZD0wZjky
YWQzY2Y1NDY4OGNjNTIxZjk1NDY0N2Y2M2RmOCIKZGVjbGFyZSAteCBERUZBVUxUX0FCST0iZGVm
YXVsdCIKZGVjbGFyZSAteCBERVNUVFJFRT0iL3VzciIKZGVjbGFyZSAteCBESVJPUFRJT05TPSIt
bTA3NTUiCmRlY2xhcmUgLXggRUxJQkM9ImdsaWJjIgpkZWNsYXJlIC14IEVMVF9BUFBMSUVEX1BB
VENIRVM9IiAxLjUgMS41LjEwIDEuNS42IgpkZWNsYXJlIC14IEVMVF9MVE1BSU5fU0g9Ii92YXIv
dG1wL3BvcnRhZ2Uvc2NpLXZpc3VhbGl6YXRpb24vb3BlbmR4LTQuNC40L3dvcmsvZHgtNC40LjQv
bHRtYWluLnNoIgpkZWNsYXJlIC14IEVYRU9QVElPTlM9Ii1tMDc1NSIKZGVjbGFyZSAteCBGRUFU
VVJFUz0iY2NhY2hlIGNvbGxpc2lvbi1wcm90ZWN0IGRpc3Rsb2NrcyBtZXRhZGF0YS10cmFuc2Zl
ciBwYXJhbGxlbC1mZXRjaCBzYW5kYm94IHNmcGVybXMgc3RyaWN0IHVubWVyZ2Utb3JwaGFucyIK
ZGVjbGFyZSAteCBGSU5EQ1JVRlRfQ09ORkRJUj0iL29wdC9maW5kY3J1ZnQvbGliL2ZpbmRjcnVm
dCIKZGVjbGFyZSAteCBHQ0NfU1BFQ1M9IiIKZGVjbGFyZSAteCBHREtfVVNFX1hGVD0iMSIKZGVj
bGFyZSAteCBHRE1fTEFORz0iZGVfREUudXRmOCIKZGVjbGFyZSAteCBHRU5FUkFUSU9OPSIyIgpk
ZWNsYXJlIC14IEhJU1RDT05UUk9MPSJpZ25vcmVib3RoOmVyYXNlZHVwcyIKZGVjbGFyZSAteCBI
SVNURklMRT0iL2hvbWUvYmlsbGllLy5iYXNoX2hpc3RvcnkiCmRlY2xhcmUgLXggSElTVEZJTEVT
SVpFPSI0NTAiCmRlY2xhcmUgLXggSElTVFNJWkU9IjQ1MCIKZGVjbGFyZSAteCBJTkhFUklURUQ9
InRvb2xjaGFpbi1mdW5jcyBwb3J0YWJpbGl0eSBmbGFnLW8tbWF0aWMgdmVyc2lvbmF0b3IgbXVs
dGlsaWIgbGlidG9vbCBsaW51eC1pbmZvIGF1dG90b29scyBldXRpbHMiCmRlY2xhcmUgLXggSU5Q
VVRfREVWSUNFUz0iZXZkZXYga2V5Ym9hcmQgbW91c2UiCmRlY2xhcmUgLXggSU5TREVTVFRSRUU9
IiIKZGVjbGFyZSAteCBJTlNPUFRJT05TPSItbTA2NDQiCmRlY2xhcmUgLXggSVVTRT0iIGhkZiBj
ZGYgbmV0Y2RmIHRpZmYgaW1hZ2VtYWdpY2sgc3ppcCIKZGVjbGFyZSAteCBKQVZBQz0iL2V0Yy9q
YXZhLWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtL2Jpbi9qYXZhYyIKZGVjbGFyZSAteCBKQVZB
X0hPTUU9Ii9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bSIKZGVjbGFyZSAteCBK
REtfSE9NRT0iL2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtIgpkZWNsYXJlIC14
IEtERURJUlM9Ii91c3I6L3Vzci9sb2NhbDovdXNyL2tkZS8zLjUiCmRlY2xhcmUgLXggS0VSTkVM
PSJsaW51eCIKZGVjbGFyZSAteCBLRVJORUxfQUJJPSJkZWZhdWx0IgpkZWNsYXJlIC14IEtWPSIy
LjYuMjQtZ2VudG9vLXIzIgpkZWNsYXJlIC14IExBRFNQQV9QQVRIPSIvdXNyL2xpYi9sYWRzcGEi
CmRlY2xhcmUgLXggTEFORz0iZGVfREUudXRmOCIKZGVjbGFyZSAteCBMQU5HUz0iZGUiCmRlY2xh
cmUgLXggTENEX0RFVklDRVM9ImJheXJhZCBjZm9udHogY2ZvbnR6NjMzIGdsayBoZDQ0NzgwIGxi
MjE2IGxjZG0wMDEgbXR4b3JiIG5jdXJzZXMgdGV4dCIKZGVjbGFyZSAteCBMQ19BRERSRVNTPSJk
ZV9ERS51dGY4IgpkZWNsYXJlIC14IExDX0FMTD0iZGVfREUudXRmOCIKZGVjbGFyZSAteCBMQ19D
T0xMQVRFPSJkZV9ERS51dGY4IgpkZWNsYXJlIC14IExDX0NUWVBFPSJkZV9ERS51dGY4IgpkZWNs
YXJlIC14IExDX0lERU5USUZJQ0FUSU9OPSJkZV9ERS51dGY4IgpkZWNsYXJlIC14IExDX01FQVNV
UkVNRU5UPSJkZV9ERS51dGY4IgpkZWNsYXJlIC14IExDX01FU1NBR0VTPSJlbl9VUy51dGY4Igpk
ZWNsYXJlIC14IExDX01PTkVUQVJZPSJkZV9ERS51dGY4IgpkZWNsYXJlIC14IExDX05BTUU9ImRl
X0RFLnV0ZjgiCmRlY2xhcmUgLXggTENfTlVNRVJJQz0iZGVfREUudXRmOCIKZGVjbGFyZSAteCBM
Q19QQVBFUj0iZGVfREUudXRmOCIKZGVjbGFyZSAteCBMQ19URUxFUEhPTkU9ImRlX0RFLnV0Zjgi
CmRlY2xhcmUgLXggTENfVElNRT0iZGVfREUudXRmOCIKZGVjbGFyZSAteCBMREZMQUdTX2RlZmF1
bHQ9IiIKZGVjbGFyZSAteCBMSUJESVJfZGVmYXVsdD0ibGliIgpkZWNsYXJlIC14IExJQk9QVElP
TlM9Ii1tMDY0NCIKZGVjbGFyZSAteCBMSU5HVUFTPSJkZSIKZGVjbGFyZSAteCBNQUlMPSIvdmFy
L21haWwvYmlsbGllIgpkZWNsYXJlIC14IE1BS0VPUFRTPSItajciCmRlY2xhcmUgLXggTVVMVElM
SUJfQUJJUz0iZGVmYXVsdCIKZGVjbGFyZSAteCBOT0NPTE9SPSJ0cnVlIgpkZWNsYXJlIC14IE9Q
RU5HTF9QUk9GSUxFPSJudmlkaWEiCmRlY2xhcmUgLXggUEtHX0NPTkZJR19QQVRIPSIvdXNyL3F0
LzMvbGliL3BrZ2NvbmZpZyIKZGVjbGFyZSAteCBQUkVMSU5LX1BBVEhfTUFTSz0iL3Vzci9saWIv
a2xpYmMiCmRlY2xhcmUgLXggUFlUSE9OUEFUSD0iL3Vzci9saWIvcG9ydGFnZS9weW0iCmRlY2xh
cmUgLXggUU1BS0VTUEVDPSJsaW51eC1nKysiCmRlY2xhcmUgLXggUVRESVI9Ii91c3IvcXQvMyIK
ZGVjbGFyZSAteCBSREVQRU5EPSJ4MTEtbGlicy9saWJYbXUKCXgxMS1saWJzL2xpYlhpCgl4MTEt
bGlicy9saWJYcAoJeDExLWxpYnMvbGliWHBtCgl4MTEtbGlicy9vcGVubW90aWYKCXN6aXA/ICgg
c2NpLWxpYnMvc3ppcCApCgloZGY/ICggc2NpLWxpYnMvaGRmICkKCWNkZj8gKCBzY2ktbGlicy9j
ZGYgKQoJbmV0Y2RmPyAoIHNjaS1saWJzL25ldGNkZiApCgl0aWZmPyAoIG1lZGlhLWxpYnMvdGlm
ZiApCglpbWFnZW1hZ2ljaz8gKCA+PW1lZGlhLWdmeC9pbWFnZW1hZ2ljay01LjMuNCApICAgIgpk
ZWNsYXJlIC14IFJFU1RSSUNUPSIiCmRlY2xhcmUgLXggUlVCWU9QVD0iLXJhdXRvX2dlbSIKZGVj
bGFyZSAteCBTPSIvdmFyL3RtcC9wb3J0YWdlL3NjaS12aXN1YWxpemF0aW9uL29wZW5keC00LjQu
NC93b3JrL2R4LTQuNC40IgpkZWNsYXJlIC14IFNBTkRCT1hfREVOWT0iL2V0Yy9sZC5zby5wcmVs
b2FkIgpkZWNsYXJlIC14IFNBTkRCT1hfUFJFRElDVD0iOi9kZXYvY29uc29sZTovZGV2L3JhbmRv
bTovcHJvYy9zZWxmL21hcHM6L3Vzci9saWIvcG9ydGFnZS9weW06L3Vzci9saWIvcHl0aG9uMi4w
LzovdXNyL2xpYi9weXRob24yLjEvOi91c3IvbGliL3B5dGhvbjIuMi86L3Vzci9saWIvcHl0aG9u
Mi4zLzovdXNyL2xpYi9weXRob24yLjQvOi91c3IvbGliL3B5dGhvbjIuNS86L3Vzci9saWIvcHl0
aG9uMy4wLzovdmFyL2NhY2hlL2VkYi9kZXA6L3Zhci9kYi9hbGlhc2VzLmRiOi92YXIvZGIvZXRo
ZXJzLmRiOi92YXIvZGIvZ3JvdXAuZGI6L3Zhci9kYi9ob3N0cy5kYjovdmFyL2RiL25ldGdyb3Vw
LmRiOi92YXIvZGIvbmV0bWFza3MuZGI6L3Zhci9kYi9uZXR3b3Jrcy5kYjovdmFyL2RiL3Bhc3N3
ZC5kYjovdmFyL2RiL3Byb3RvY29scy5kYjovdmFyL2RiL3JwYy5kYjovdmFyL2RiL3NlcnZpY2Vz
LmRiOi92YXIvdG1wL3BvcnRhZ2Uvc2NpLXZpc3VhbGl6YXRpb24vb3BlbmR4LTQuNC40L2hvbWVk
aXIvLjoiCmRlY2xhcmUgLXggU0FOREJPWF9SRUFEPSI6LzovZGV2L3NobTovZGV2L3N0ZGluOi9t
ZWRpYS9zeXN0ZW0vY2NhY2hlLzovdmFyL3RtcDoiCmRlY2xhcmUgLXggU0FOREJPWF9XUklURT0i
Oi9kZXYvY29uc29sZTovZGV2L2ZkOi9kZXYvbnVsbDovZGV2L3B0cy86L2Rldi9wdHk6L2Rldi9z
aG06L2Rldi9zaG0vbmdwdDovZGV2L3N0ZGVycjovZGV2L3N0ZG91dDovZGV2L3R0czovZGV2L3R0
eTovZGV2L3ZjLzovZGV2L3plcm86L21lZGlhL3N5c3RlbS9jY2FjaGUvOi9wcm9jL3NlbGYvZmQ6
L3RtcDovdG1wLzovdXNyL2xpYjMyL2NmOi91c3IvbGliMzIvY29uZnRlc3Q6L3Vzci9saWI2NC9j
ZjovdXNyL2xpYjY0L2NvbmZ0ZXN0Oi91c3IvbGliL2NmOi91c3IvbGliL2NvbmZ0ZXN0Oi91c3Iv
dG1wL2NmOi91c3IvdG1wL2NvbmZ0ZXN0Oi92YXIvbG9nL3Njcm9sbGtlZXBlci5sb2c6L3Zhci90
bXA6L3Zhci90bXAvOi92YXIvdG1wL3BvcnRhZ2Uvc2NpLXZpc3VhbGl6YXRpb24vb3BlbmR4LTQu
NC40L2hvbWVkaXIvLmJhc2hfaGlzdG9yeTovdmFyL3RtcC9wb3J0YWdlL3NjaS12aXN1YWxpemF0
aW9uL29wZW5keC00LjQuNC9ob21lZGlyLy5nY29uZmQvbG9jazoiCmRlY2xhcmUgLXggU0VTU0lP
Tl9NQU5BR0VSPSJsb2NhbC9nZW50b286L3RtcC8uSUNFLXVuaXgvMzE4NiIKZGVjbGFyZSAteCBT
TE9UPSIwIgpkZWNsYXJlIC14IFNUQUdFMV9VU0U9Im5wdGwgbnB0bG9ubHkgdW5pY29kZSIKZGVj
bGFyZSAteCBTVURPX0NPTU1BTkQ9Ii91c3IvYmluL2VtZXJnZSAtLWNvbG9yPW4gLS1vbmVzaG90
IHNjaS12aXN1YWxpemF0aW9uL29wZW5keCA9dmlydHVhbC9tcGktMS4wIgpkZWNsYXJlIC14IFNV
RE9fR0lEPSIxMDAiCmRlY2xhcmUgLXggU1VET19VSUQ9IjEwMDAiCmRlY2xhcmUgLXggU1VET19V
U0VSPSJiaWxsaWUiCmRlY2xhcmUgLXggVVNFPSJlbGliY19nbGliYyBpbWFnZW1hZ2ljayBrZXJu
ZWxfbGludXggdGlmZiB1c2VybGFuZF9HTlUgeDg2IgpkZWNsYXJlIC14IFVTRVJMQU5EPSJHTlUi
CmRlY2xhcmUgLXggVklERU9fQ0FSRFM9ImZiZGV2IHY0bCB2ZXNhIHZnYSBudmlkaWEgbnYiCmRl
Y2xhcmUgLXggVk1IQU5ETEU9InN1bi1qZGstMS40IgpkZWNsYXJlIC14IFdBTlRfQVVUT0NPTkY9
IjIuNSIKZGVjbGFyZSAteCBXQU5UX0FVVE9NQUtFPSIxLjEwIgpkZWNsYXJlIC14IFdJTkRPV0lE
PSIzMzU1NDg2MyIKZGVjbGFyZSAteCBYREdfREFUQV9ESVJTPSIvdXNyL3NoYXJlOi91c3Iva2Rl
LzMuNS9zaGFyZTovdXNyL2xvY2FsL3NoYXJlOi91c3Ivc2hhcmUiCmRlY2xhcmUgLXggX0VfRE9D
REVTVFRSRUVfPSIiCmRlY2xhcmUgLXggX0VfRVhFREVTVFRSRUVfPSIiCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>148656</attachid>
            <date>2008-04-04 20:50 0000</date>
            <desc>emerge info</desc>
            <filename>emerge.info</filename>
            <type>text/plain</type>
            <data encoding="base64">UG9ydGFnZSAyLjEuNC40IChkZWZhdWx0LWxpbnV4L3g4Ni8yMDA3LjAsIGdjYy00LjEuMiwgZ2xp
YmMtMi42LjEtcjAsIDIuNi4yNC1nZW50b28tcjMgaTY4NikKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KU3lzdGVtIHVuYW1l
OiAyLjYuMjQtZ2VudG9vLXIzIGk2ODYgSW50ZWwoUikgQ29yZShUTSkyIENQVSA2NjAwIEAgMi40
MEdIegpUaW1lc3RhbXAgb2YgdHJlZTogRnJpLCAwNCBBcHIgMjAwOCAxNDoxNTowNCArMDAwMApj
Y2FjaGUgdmVyc2lvbiAyLjQgW2VuYWJsZWRdCmFwcC1zaGVsbHMvYmFzaDogICAgIDMuMl9wMTct
cjEKZGV2LWphdmEvamF2YS1jb25maWc6IDEuMy43LCAyLjEuNApkZXYtbGFuZy9weXRob246ICAg
ICAyLjQuNC1yOQpkZXYtcHl0aG9uL3B5Y3J5cHRvOiAyLjAuMS1yNgpkZXYtdXRpbC9jY2FjaGU6
ICAgICAyLjQtcjcKc3lzLWFwcHMvYmFzZWxheW91dDogMi4wLjAKc3lzLWFwcHMvc2FuZGJveDog
ICAgMS4yLjE4LjEtcjIKc3lzLWRldmVsL2F1dG9jb25mOiAgMi4xMywgMi42MS1yMQpzeXMtZGV2
ZWwvYXV0b21ha2U6ICAxLjcuOS1yMSwgMS44LjUtcjMsIDEuOS42LXIyLCAxLjEwCnN5cy1kZXZl
bC9iaW51dGlsczogIDIuMTgtcjEKc3lzLWRldmVsL2djYy1jb25maWc6IDEuNC4wLXI0CnN5cy1k
ZXZlbC9saWJ0b29sOiAgIDEuNS4yNgp2aXJ0dWFsL29zLWhlYWRlcnM6ICAyLjYuMjMtcjMKQUND
RVBUX0tFWVdPUkRTPSJ4ODYiCkNCVUlMRD0iaTY4Ni1wYy1saW51eC1nbnUiCkNGTEFHUz0iLW1h
cmNoPXByZXNjb3R0IC1PMiAtcGlwZSAtZm9taXQtZnJhbWUtcG9pbnRlciIKQ0hPU1Q9Imk2ODYt
cGMtbGludXgtZ251IgpDT05GSUdfUFJPVEVDVD0iL2V0YyAvdXNyL2tkZS8zLjUvZW52IC91c3Iv
a2RlLzMuNS9zaGFyZS9jb25maWcgL3Vzci9rZGUvMy41L3NodXRkb3duIC91c3Ivc2hhcmUvY29u
ZmlnIgpDT05GSUdfUFJPVEVDVF9NQVNLPSIvZXRjL2Vudi5kIC9ldGMvZW52LmQvamF2YS8gL2V0
Yy9mb250cy9mb250cy5jb25mIC9ldGMvZ2NvbmYgL2V0Yy9nZW50b28tcmVsZWFzZSAvZXRjL3Jl
dmRlcC1yZWJ1aWxkIC9ldGMvc3BsYXNoIC9ldGMvdGVybWluZm8gL2V0Yy91ZGV2L3J1bGVzLmQi
CkNYWEZMQUdTPSItbWFyY2g9cHJlc2NvdHQgLU8yIC1waXBlIC1mb21pdC1mcmFtZS1wb2ludGVy
IgpESVNURElSPSIvbWVkaWEvc3lzdGVtL3NvdXJjZS9kaXN0ZmlsZXMiCkVNRVJHRV9ERUZBVUxU
X09QVFM9Ii0td2l0aC1iZGVwcyB5IC0tbm9zcGlubmVyIgpGRUFUVVJFUz0iY2NhY2hlIGNvbGxp
c2lvbi1wcm90ZWN0IGRpc3Rsb2NrcyBtZXRhZGF0YS10cmFuc2ZlciBwYXJhbGxlbC1mZXRjaCBz
YW5kYm94IHNmcGVybXMgc3RyaWN0IHVubWVyZ2Utb3JwaGFucyIKR0VOVE9PX01JUlJPUlM9ImZ0
cDovL2Z0cC5iZWxuZXQuYmUvbWlycm9yL3JzeW5jLmdlbnRvby5vcmcvZ2VudG9vLyBmdHA6Ly9m
dHAuc250LnV0d2VudGUubmwvcHViL29zL2xpbnV4L2dlbnRvbyBmdHA6Ly9nZW50b28uaW1qLmZy
L3B1Yi9nZW50b28vIgpMQU5HPSJkZV9ERS51dGY4IgpMQ19BTEw9ImRlX0RFLnV0ZjgiCkxJTkdV
QVM9ImRlIgpNQUtFT1BUUz0iLWo3IgpQS0dESVI9Ii9tZWRpYS9zeXN0ZW0vc291cmNlL3BhY2th
Z2VzIgpQT1JUQUdFX1JTWU5DX0VYVFJBX09QVFM9Ii0taHVtYW4tcmVhZGFibGUiClBPUlRBR0Vf
UlNZTkNfT1BUUz0iLS1yZWN1cnNpdmUgLS1saW5rcyAtLXNhZmUtbGlua3MgLS1wZXJtcyAtLXRp
bWVzIC0tY29tcHJlc3MgLS1mb3JjZSAtLXdob2xlLWZpbGUgLS1kZWxldGUgLS1zdGF0cyAtLXRp
bWVvdXQ9MTgwIC0tZXhjbHVkZT0vZGlzdGZpbGVzIC0tZXhjbHVkZT0vbG9jYWwgLS1leGNsdWRl
PS9wYWNrYWdlcyIKUE9SVEFHRV9UTVBESVI9Ii92YXIvdG1wIgpQT1JURElSPSIvbWVkaWEvc3lz
dGVtL3JlcG9zaXRvcmllcy9wb3J0YWdlIgpQT1JURElSX09WRVJMQVk9Ii9tZWRpYS9zeXN0ZW0v
cmVwb3NpdG9yaWVzL3N1bnJpc2UgL21lZGlhL3N5c3RlbS9yZXBvc2l0b3JpZXMvYmVya2FubyAv
bWVkaWEvc3lzdGVtL3JlcG9zaXRvcmllcy9vcGVucmMgL21lZGlhL3N5c3RlbS9yZXBvc2l0b3Jp
ZXMvcG9ydGFnZS1iaWxsaWUiClNZTkM9InJzeW5jOi8vZ2VudG9vLXZkci9nZW50b28tcG9ydGFn
ZSIKVVNFPSI3emlwIFggYTUyIGFhYyBhYWxpYiBhY2UgYWNsIGFjcGkgYWRwbHVnIGFsc2EgYW1y
IGFtcm5iIGFtcndiIGFvIGFyaiBhdWRpb2ZpbGUgYmFzaC1jb21wbGV0aW9uIGJlcmtkYiBibCBi
emlwMiBjYWlybyBjZGRhIGNkZGIgY2RpbyBjZHBhcmFub2lhIGNoYXJkZXQgY2xpIGNyYWNrbGli
IGNyeXB0IGNzcyBjdXBzIGRidXMgZGdhIGRpcmVjdGZiIGRpdnggZGp2dSBkcmkgZHRzIGR2IGR2
YiBkdmQgZHZkbmF2IGR2ZHIgZHZkcmVhZCBlbmNvZGUgZXhpZiBmYW1lIGZiY29uIGZmbXBlZyBm
bGFjIGZvbnRjb25maWcgZm9ydHJhbiBnZCBnZGJtIGdnaSBnaWYgZ2xpdHogZ21lZGlhIGdwbSBn
dGsgaGFsIGhkcmkgaWNvbnYgaWQzdGFnIGllZWUxMzk0IGltYWdlbWFnaWNrIGltbGliIGlwdjYg
aXNkbmxvZyBqYWNrIGphdmEgamJpZyBqcGVnIGpwZWcyayBsYWRzcGEgbGFtZSBsY21zIGxoYSBs
aWJjYWNhIGxpYm5vdGlmeSBsaWJzYW1wbGVyYXRlIGxpdmUgbHpvIG1hZCBtYXRyb3NrYSBtaWRp
IG1pa21vZCBtanBlZyBtbXggbW14ZXh0IG1uZyBtb2RwbHVnIG1vbm8gbW90aWYgbXAyIG1wMyBt
cGVnIG11ZGZsYXAgbXVzZXBhY2sgbXVzaWNicmFpbnogbmFzIG5jdXJzZXMgbmV0amFjayBubHMg
bnB0bCBucHRsb25seSBuc3BsdWdpbiBvZ2cgb3BlbmFsIG9wZW5nbCBvcGVubXAgb3NzIHBhbSBw
Y3JlIHBkZiBwZXJsIHBuZyBwbm0gcG9ydGF1ZGlvIHBwcGQgcHVsc2VhdWRpbyBwdnIgcHl0aG9u
IHF0MyBxdDQgcXVpY2t0aW1lIHJhZGlvIHJhciByZWFkbGluZSByZWFsIHJlYWxtZWRpYSByZWZs
ZWN0aW9uIHJsZSBycG0gcnRzcCBzZGwgc2RsLWltYWdlIHNlc3Npb24gc2hvdXQgc2lkIHNsYW5n
IHNuZGZpbGUgc291bmQgc291bmR0b3VjaCBzcGVleCBzcGVsbCBzcGwgc3J0IHNzZSBzc2UyIHNz
bCBzc3NlMyBzdGFydHVwLW5vdGlmaWNhdGlvbiBzdHJlYW0gc3ZnIHRhZ2xpYiB0Y3BkIHRnYSB0
aGVvcmEgdGlmZiB0aW1pZGl0eSB0aXZvIHRydWV0eXBlIHR0YSB0d29sYW1lIHVuaWNvZGUgdjRs
IHY0bDIgdmFtcCB2Y2QgdmNkeCB2aWRpeCB2b3JiaXMgdm9yYmlzLXBzeSB3YXZwYWNrIHdpbjMy
Y29kZWNzIHdtYSB3bWYgd21wIHd4d2luZG93cyB4MjY0IHg4NiB4YW5pbSB4Y29tcG9zaXRlIHhv
cmcgeG9zZCB4cG0geHNjcmVlbnNhdmVyIHh2IHh2aWQgeHZtYyB5djEyIHppcCB6bGliIiBBTFNB
X0NBUkRTPSJhbGk1NDUxIGFsczQwMDAgYXRpaXhwIGF0aWl4cC1tb2RlbSBidDg3eCBjYTAxMDYg
Y21pcGNpIGVtdTEwazEgZW11MTBrMXggZW5zMTM3MCBlbnMxMzcxIGVzMTkzOCBlczE5NjggZm04
MDEgaGRhLWludGVsIGludGVsOHgwIGludGVsOHgwbSBtYWVzdHJvMyB0cmlkZW50IHVzYi1hdWRp
byB2aWE4Mnh4IHZpYTgyeHgtbW9kZW0geW1mcGNpIiBBTFNBX1BDTV9QTFVHSU5TPSJhZHBjbSBh
bGF3IGFzeW0gY29weSBkbWl4IGRzaGFyZSBkc25vb3AgZW1wdHkgZXh0cGx1ZyBmaWxlIGhvb2tz
IGllYzk1OCBpb3BsdWcgbGFkc3BhIGxmbG9hdCBsaW5lYXIgbWV0ZXIgbXVsYXcgbXVsdGkgbnVs
bCBwbHVnIHJhdGUgcm91dGUgc2hhcmUgc2htIHNvZnR2b2wiIEFQQUNIRTJfTU9EVUxFUz0iYWN0
aW9ucyBhbGlhcyBhdXRoX2Jhc2ljIGF1dGhuX2FsaWFzIGF1dGhuX2Fub24gYXV0aG5fZGJtIGF1
dGhuX2RlZmF1bHQgYXV0aG5fZmlsZSBhdXRoel9kYm0gYXV0aHpfZGVmYXVsdCBhdXRoel9ncm91
cGZpbGUgYXV0aHpfaG9zdCBhdXRoel9vd25lciBhdXRoel91c2VyIGF1dG9pbmRleCBjYWNoZSBk
YXYgZGF2X2ZzIGRhdl9sb2NrIGRlZmxhdGUgZGlyIGRpc2tfY2FjaGUgZW52IGV4cGlyZXMgZXh0
X2ZpbHRlciBmaWxlX2NhY2hlIGZpbHRlciBoZWFkZXJzIGluY2x1ZGUgaW5mbyBsb2dfY29uZmln
IGxvZ2lvIG1lbV9jYWNoZSBtaW1lIG1pbWVfbWFnaWMgbmVnb3RpYXRpb24gcmV3cml0ZSBzZXRl
bnZpZiBzcGVsaW5nIHN0YXR1cyB1bmlxdWVfaWQgdXNlcmRpciB1c2VydHJhY2sgdmhvc3RfYWxp
YXMiIEVMSUJDPSJnbGliYyIgSU5QVVRfREVWSUNFUz0iZXZkZXYga2V5Ym9hcmQgbW91c2UiIEtF
Uk5FTD0ibGludXgiIExDRF9ERVZJQ0VTPSJiYXlyYWQgY2ZvbnR6IGNmb250ejYzMyBnbGsgaGQ0
NDc4MCBsYjIxNiBsY2RtMDAxIG10eG9yYiBuY3Vyc2VzIHRleHQiIExJTkdVQVM9ImRlIiBVU0VS
TEFORD0iR05VIiBWSURFT19DQVJEUz0iZmJkZXYgdjRsIHZlc2EgdmdhIG52aWRpYSBudiIKVW5z
ZXQ6ICBDUFBGTEFHUywgQ1RBUkdFVCwgSU5TVEFMTF9NQVNLLCBMREZMQUdTLCBQT1JUQUdFX0NP
TVBSRVNTLCBQT1JUQUdFX0NPTVBSRVNTX0ZMQUdTCgo=
</data>        

          </attachment>
    </bug>

</bugzilla>