Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Mar 2004 09:22:47 +0200
From:      Burkard Meyendriesch <bm@malepartus.de>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        freebsd-ports@freebsd.org
Subject:   amd64 -CURRENT: still problems with shared libraries
Message-ID:  <20040331092247.6de3b225.bm@malepartus.de>
In-Reply-To: <20040321000001.GA40310@xor.obsecurity.org>
References:  <20040320141343.37a38cc2.bm@malepartus.de> <20040321000001.GA40310@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart=_Wed__31_Mar_2004_09_22_47_+0200_IVAWlh/MouLt7b_T
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi Kris,

sorry to disturb you again with my shared libraries problem. I can not
find the cause of the strange behaviour of the ports system (maybe the
reason is that I don't fully understand the autoconf, configure, libtool
mechanism).

For example: If I try to compile and install libiconv:

# cd /usr/ports/converters/libiconv
# make clean
# make
# ls -l work/libiconv-1.9.1/lib/.libs
-rw-r--r--  1 root  wheel  1052434 31 Mr 08:45 libiconv.a
lrwxr-xr-x  1 root  wheel       14 31 Mr 08:45 libiconv.la -> ../libiconv.la
-rw-r--r--  1 root  wheel      619 31 Mr 08:45 libiconv.lai

I only get the static version of the library. It seems that libtool
decided not to build shared libraries:

# grep ^build_libtool_libs= work/libiconv-1.9.1/libtool
build_libtool_libs=no

Even if I force the generation of the shared libs:
# cd /usr/ports/converters/libiconv/work/libiconv-1.9.1
# make clean
# ./configure --enable-shared
# grep ^build_libtool_libs= libtool
build_libtool_libs=no

the system refuses to do so.
(Find the complete config.status and libtool appended.)

My environment:
# uname -a
FreeBSD Reineke.Malepartus.de 5.2-CURRENT FreeBSD 5.2-CURRENT #15: Mon Mar 22 19:28:17 CET 2004     bm@Reineke.Malepartus.de:/usr/obj/usr/src/sys/REINEKE  amd64

An actual /usr/ports tree (31.03.2004 04:00 UTC), *no* options enabled 
in /etc/make.conf.

Any help how to locate and fix the problem welcome :-)
Burkard

--
Burkard Meyendriesch
Stevern 2
D-48301 Nottuln

--Multipart=_Wed__31_Mar_2004_09_22_47_+0200_IVAWlh/MouLt7b_T
Content-Type: application/octet-stream;
 name="config.status"
Content-Disposition: attachment;
 filename="config.status"
Content-Transfer-Encoding: base64

IyEgL2Jpbi9iYXNoCiMgR2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZS4KIyBSdW4gdGhpcyBmaWxlIHRv
IHJlY3JlYXRlIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uCiMgQ29tcGlsZXIgb3V0cHV0IHBy
b2R1Y2VkIGJ5IGNvbmZpZ3VyZSwgdXNlZnVsIGZvciBkZWJ1Z2dpbmcKIyBjb25maWd1cmUsIGlz
IGluIGNvbmZpZy5sb2cgaWYgaXQgZXhpc3RzLgoKZGVidWc9ZmFsc2UKYWNfY3NfcmVjaGVjaz1m
YWxzZQphY19jc19zaWxlbnQ9ZmFsc2UKU0hFTEw9JHtDT05GSUdfU0hFTEwtL2Jpbi9iYXNofQoj
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgTTRzaCBJbml0aWFsaXphdGlvbi4gICMjCiMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKIyBCZSBCb3VybmUgY29tcGF0aWJsZQppZiB0ZXN0
IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYmIChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7
IHRoZW4KICBlbXVsYXRlIHNoCiAgTlVMTENNRD06CiAgIyBac2ggMy54IGFuZCA0LnggcGVyZm9y
bXMgd29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29udHJhcnkgdG8g
b3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcgJyR7MSsiJEAifSc9
JyIkQCInCmVsaWYgdGVzdCAtbiAiJHtCQVNIX1ZFUlNJT04rc2V0fSIgJiYgKHNldCAtbyBwb3Np
eCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgc2V0IC1vIHBvc2l4CmZpCgojIFN1cHBvcnQgdW5z
ZXQgd2hlbiBwb3NzaWJsZS4KaWYgKEZPTz1GT087IHVuc2V0IEZPTykgPi9kZXYvbnVsbCAyPiYx
OyB0aGVuCiAgYXNfdW5zZXQ9dW5zZXQKZWxzZQogIGFzX3Vuc2V0PWZhbHNlCmZpCgoKIyBXb3Jr
IGFyb3VuZCBidWdzIGluIHByZS0zLjAgVVdJTiBrc2guCiRhc191bnNldCBFTlYgTUFJTCBNQUlM
UEFUSApQUzE9JyQgJwpQUzI9Jz4gJwpQUzQ9JysgJwoKIyBOTFMgbnVpc2FuY2VzLgpmb3IgYXNf
dmFyIGluIFwKICBMQU5HIExBTkdVQUdFIExDX0FERFJFU1MgTENfQUxMIExDX0NPTExBVEUgTENf
Q1RZUEUgTENfSURFTlRJRklDQVRJT04gXAogIExDX01FQVNVUkVNRU5UIExDX01FU1NBR0VTIExD
X01PTkVUQVJZIExDX05BTUUgTENfTlVNRVJJQyBMQ19QQVBFUiBcCiAgTENfVEVMRVBIT05FIExD
X1RJTUUKZG8KICBpZiAoc2V0ICt4OyB0ZXN0IC1uICJgKGV2YWwgJGFzX3Zhcj1DOyBleHBvcnQg
JGFzX3ZhcikgMj4mMWAiKTsgdGhlbgogICAgZXZhbCAkYXNfdmFyPUM7IGV4cG9ydCAkYXNfdmFy
CiAgZWxzZQogICAgJGFzX3Vuc2V0ICRhc192YXIKICBmaQpkb25lCgojIFJlcXVpcmVkIHRvIHVz
ZSBiYXNlbmFtZS4KaWYgZXhwciBhIDogJ1woYVwpJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBh
c19leHByPWV4cHIKZWxzZQogIGFzX2V4cHI9ZmFsc2UKZmkKCmlmIChiYXNlbmFtZSAvKSA+L2Rl
di9udWxsIDI+JjEgJiYgdGVzdCAiWGBiYXNlbmFtZSAvIDI+JjFgIiA9ICJYLyI7IHRoZW4KICBh
c19iYXNlbmFtZT1iYXNlbmFtZQplbHNlCiAgYXNfYmFzZW5hbWU9ZmFsc2UKZmkKCgojIE5hbWUg
b2YgdGhlIGV4ZWN1dGFibGUuCmFzX21lPWAkYXNfYmFzZW5hbWUgIiQwIiB8fAokYXNfZXhwciBY
LyIkMCIgOiAnLiovXChbXi9dW14vXSpcKS8qJCcgXHwgXAoJIFgiJDAiIDogJ1hcKC8vXCkkJyBc
fCBcCgkgWCIkMCIgOiAnWFwoL1wpJCcgXHwgXAoJIC4gICAgIDogJ1woLlwpJyAyPi9kZXYvbnVs
bCB8fAplY2hvIFgvIiQwIiB8CiAgICBzZWQgJy9eLipcL1woW14vXVteL10qXClcLyokL3sgcy8v
XDEvOyBxOyB9CiAgCSAgL15YXC9cKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KICAJICAvXlhcL1wo
XC9cKS4qL3sgcy8vXDEvOyBxOyB9CiAgCSAgcy8uKi8uLzsgcSdgCgoKIyBQQVRIIG5lZWRzIENS
LCBhbmQgTElORU5PIG5lZWRzIENSIGFuZCBQQVRILgojIEF2b2lkIGRlcGVuZGluZyB1cG9uIENo
YXJhY3RlciBSYW5nZXMuCmFzX2NyX2xldHRlcnM9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6
Jwphc19jcl9MRVRURVJTPSdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicKYXNfY3JfTGV0dGVy
cz0kYXNfY3JfbGV0dGVycyRhc19jcl9MRVRURVJTCmFzX2NyX2RpZ2l0cz0nMDEyMzQ1Njc4OScK
YXNfY3JfYWxudW09JGFzX2NyX0xldHRlcnMkYXNfY3JfZGlnaXRzCgojIFRoZSB1c2VyIGlzIGFs
d2F5cyByaWdodC4KaWYgdGVzdCAiJHtQQVRIX1NFUEFSQVRPUitzZXR9IiAhPSBzZXQ7IHRoZW4K
ICBlY2hvICIjISAvYmluL3NoIiA+Y29uZiQkLnNoCiAgZWNobyAgImV4aXQgMCIgICA+PmNvbmYk
JC5zaAogIGNobW9kICt4IGNvbmYkJC5zaAogIGlmIChQQVRIPSIvbm9uZXhpc3RlbnQ7LiI7IGNv
bmYkJC5zaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgICBQQVRIX1NFUEFSQVRPUj0nOycKICBl
bHNlCiAgICBQQVRIX1NFUEFSQVRPUj06CiAgZmkKICBybSAtZiBjb25mJCQuc2gKZmkKCgogIGFz
X2xpbmVub18xPSRMSU5FTk8KICBhc19saW5lbm9fMj0kTElORU5PCiAgYXNfbGluZW5vXzM9YChl
eHByICRhc19saW5lbm9fMSArIDEpIDI+L2Rldi9udWxsYAogIHRlc3QgIngkYXNfbGluZW5vXzEi
ICE9ICJ4JGFzX2xpbmVub18yIiAmJgogIHRlc3QgIngkYXNfbGluZW5vXzMiICA9ICJ4JGFzX2xp
bmVub18yIiAgfHwgewogICMgRmluZCB3aG8gd2UgYXJlLiAgTG9vayBpbiB0aGUgcGF0aCBpZiB3
ZSBjb250YWluIG5vIHBhdGggYXQgYWxsCiAgIyByZWxhdGl2ZSBvciBub3QuCiAgY2FzZSAkMCBp
bgogICAgKltcXC9dKiApIGFzX215c2VsZj0kMCA7OwogICAgKikgYXNfc2F2ZV9JRlM9JElGUzsg
SUZTPSRQQVRIX1NFUEFSQVRPUgpmb3IgYXNfZGlyIGluICRQQVRICmRvCiAgSUZTPSRhc19zYXZl
X0lGUwogIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgdGVzdCAtciAiJGFzX2Rpci8k
MCIgJiYgYXNfbXlzZWxmPSRhc19kaXIvJDAgJiYgYnJlYWsKZG9uZQoKICAgICAgIDs7CiAgZXNh
YwogICMgV2UgZGlkIG5vdCBmaW5kIG91cnNlbHZlcywgbW9zdCBwcm9iYWJseSB3ZSB3ZXJlIHJ1
biBhcyBgc2ggQ09NTUFORCcKICAjIGluIHdoaWNoIGNhc2Ugd2UgYXJlIG5vdCB0byBiZSBmb3Vu
ZCBpbiB0aGUgcGF0aC4KICBpZiB0ZXN0ICJ4JGFzX215c2VsZiIgPSB4OyB0aGVuCiAgICBhc19t
eXNlbGY9JDAKICBmaQogIGlmIHRlc3QgISAtZiAiJGFzX215c2VsZiI7IHRoZW4KICAgIHsgeyBl
Y2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBmaW5kIG15c2VsZjsgcmVydW4gd2l0
aCBhbiBhYnNvbHV0ZSBwYXRoIiA+JjUKZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQg
bXlzZWxmOyByZXJ1biB3aXRoIGFuIGFic29sdXRlIHBhdGgiID4mMjt9CiAgIHsgKGV4aXQgMSk7
IGV4aXQgMTsgfTsgfQogIGZpCiAgY2FzZSAkQ09ORklHX1NIRUxMIGluCiAgJycpCiAgICBhc19z
YXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCmZvciBhc19kaXIgaW4gL2JpbiRQQVRI
X1NFUEFSQVRPUi91c3IvYmluJFBBVEhfU0VQQVJBVE9SJFBBVEgKZG8KICBJRlM9JGFzX3NhdmVf
SUZTCiAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICBmb3IgYXNfYmFzZSBpbiBzaCBi
YXNoIGtzaCBzaDU7IGRvCgkgY2FzZSAkYXNfZGlyIGluCgkgLyopCgkgICBpZiAoIiRhc19kaXIv
JGFzX2Jhc2UiIC1jICcKICBhc19saW5lbm9fMT0kTElORU5PCiAgYXNfbGluZW5vXzI9JExJTkVO
TwogIGFzX2xpbmVub18zPWAoZXhwciAkYXNfbGluZW5vXzEgKyAxKSAyPi9kZXYvbnVsbGAKICB0
ZXN0ICJ4JGFzX2xpbmVub18xIiAhPSAieCRhc19saW5lbm9fMiIgJiYKICB0ZXN0ICJ4JGFzX2xp
bmVub18zIiAgPSAieCRhc19saW5lbm9fMiIgJykgMj4vZGV2L251bGw7IHRoZW4KCSAgICAgJGFz
X3Vuc2V0IEJBU0hfRU5WIHx8IHRlc3QgIiR7QkFTSF9FTlYrc2V0fSIgIT0gc2V0IHx8IHsgQkFT
SF9FTlY9OyBleHBvcnQgQkFTSF9FTlY7IH0KCSAgICAgJGFzX3Vuc2V0IEVOViB8fCB0ZXN0ICIk
e0VOVitzZXR9IiAhPSBzZXQgfHwgeyBFTlY9OyBleHBvcnQgRU5WOyB9CgkgICAgIENPTkZJR19T
SEVMTD0kYXNfZGlyLyRhc19iYXNlCgkgICAgIGV4cG9ydCBDT05GSUdfU0hFTEwKCSAgICAgZXhl
YyAiJENPTkZJR19TSEVMTCIgIiQwIiAkezErIiRAIn0KCSAgIGZpOzsKCSBlc2FjCiAgICAgICBk
b25lCmRvbmUKOzsKICBlc2FjCgogICMgQ3JlYXRlICRhc19tZS5saW5lbm8gYXMgYSBjb3B5IG9m
ICRhc19teXNlbGYsIGJ1dCB3aXRoICRMSU5FTk8KICAjIHVuaWZvcm1seSByZXBsYWNlZCBieSB0
aGUgbGluZSBudW1iZXIuICBUaGUgZmlyc3QgJ3NlZCcgaW5zZXJ0cyBhCiAgIyBsaW5lLW51bWJl
ciBsaW5lIGJlZm9yZSBlYWNoIGxpbmU7IHRoZSBzZWNvbmQgJ3NlZCcgZG9lcyB0aGUgcmVhbAog
ICMgd29yay4gIFRoZSBzZWNvbmQgc2NyaXB0IHVzZXMgJ04nIHRvIHBhaXIgZWFjaCBsaW5lLW51
bWJlciBsaW5lCiAgIyB3aXRoIHRoZSBudW1iZXJlZCBsaW5lLCBhbmQgYXBwZW5kcyB0cmFpbGlu
ZyAnLScgZHVyaW5nCiAgIyBzdWJzdGl0dXRpb24gc28gdGhhdCAkTElORU5PIGlzIG5vdCBhIHNw
ZWNpYWwgY2FzZSBhdCBsaW5lIGVuZC4KICAjIChSYWphIFIgSGFyaW5hdGggc3VnZ2VzdGVkIHNl
ZCAnPScsIGFuZCBQYXVsIEVnZ2VydCB3cm90ZSB0aGUKICAjIHNlY29uZCAnc2VkJyBzY3JpcHQu
ICBCbGFtZSBMZWUgRS4gTWNNYWhvbiBmb3Igc2VkJ3Mgc3ludGF4LiAgOi0pCiAgc2VkICc9JyA8
JGFzX215c2VsZiB8CiAgICBzZWQgJwogICAgICBOCiAgICAgIHMsJCwtLAogICAgICA6IGxvb3AK
ICAgICAgcyxeXChbJyRhc19jcl9kaWdpdHMnXSpcKVwoLipcKVskXUxJTkVOT1woW14nJGFzX2Ny
X2FsbnVtJ19dXCksXDFcMlwxXDMsCiAgICAgIHQgbG9vcAogICAgICBzLC0kLCwKICAgICAgcyxe
WyckYXNfY3JfZGlnaXRzJ10qXG4sLAogICAgJyA+JGFzX21lLmxpbmVubyAmJgogIGNobW9kICt4
ICRhc19tZS5saW5lbm8gfHwKICAgIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNh
bm5vdCBjcmVhdGUgJGFzX21lLmxpbmVubzsgcmVydW4gd2l0aCBhIFBPU0lYIHNoZWxsIiA+JjUK
ZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGNyZWF0ZSAkYXNfbWUubGluZW5vOyByZXJ1biB3
aXRoIGEgUE9TSVggc2hlbGwiID4mMjt9CiAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQoKICAj
IERvbid0IHRyeSB0byBleGVjIGFzIGl0IGNoYW5nZXMgJFswXSwgY2F1c2luZyBhbGwgc29ydCBv
ZiBwcm9ibGVtcwogICMgKHRoZSBkaXJuYW1lIG9mICRbMF0gaXMgbm90IHRoZSBwbGFjZSB3aGVy
ZSB3ZSBtaWdodCBmaW5kIHRoZQogICMgb3JpZ2luYWwgYW5kIHNvIG9uLiAgQXV0b2NvbmYgaXMg
ZXNwZWNpYWxseSBzZW5zaWJsZSB0byB0aGlzKS4KICAuIC4vJGFzX21lLmxpbmVubwogICMgRXhp
dCBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kLgogIGV4aXQKfQoKCmNhc2UgYGVj
aG8gInRlc3RpbmdcYyI7IGVjaG8gMSwyLDNgLGBlY2hvIC1uIHRlc3Rpbmc7IGVjaG8gMSwyLDNg
IGluCiAgKmMqLC1uKikgRUNIT19OPSBFQ0hPX0M9JwonIEVDSE9fVD0nCScgOzsKICAqYyosKiAg
KSBFQ0hPX049LW4gRUNIT19DPSBFQ0hPX1Q9IDs7CiAgKikgICAgICAgRUNIT19OPSBFQ0hPX0M9
J1xjJyBFQ0hPX1Q9IDs7CmVzYWMKCmlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAyPiYx
OyB0aGVuCiAgYXNfZXhwcj1leHByCmVsc2UKICBhc19leHByPWZhbHNlCmZpCgpybSAtZiBjb25m
JCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQplY2hvID5jb25mJCQuZmlsZQppZiBsbiAtcyBjb25m
JCQuZmlsZSBjb25mJCQgMj4vZGV2L251bGw7IHRoZW4KICAjIFdlIGNvdWxkIGp1c3QgY2hlY2sg
Zm9yIERKR1BQOyBidXQgdGhpcyB0ZXN0IGEpIHdvcmtzIGIpIGlzIG1vcmUgZ2VuZXJpYwogICMg
YW5kIGMpIHdpbGwgcmVtYWluIHZhbGlkIG9uY2UgREpHUFAgc3VwcG9ydHMgc3ltbGlua3MgKERK
R1BQIDIuMDQpLgogIGlmIHRlc3QgLWYgY29uZiQkLmV4ZTsgdGhlbgogICAgIyBEb24ndCB1c2Ug
bG4gYXQgYWxsOyB3ZSBkb24ndCBoYXZlIGFueSBsaW5rcwogICAgYXNfbG5fcz0nY3AgLXAnCiAg
ZWxzZQogICAgYXNfbG5fcz0nbG4gLXMnCiAgZmkKZWxpZiBsbiBjb25mJCQuZmlsZSBjb25mJCQg
Mj4vZGV2L251bGw7IHRoZW4KICBhc19sbl9zPWxuCmVsc2UKICBhc19sbl9zPSdjcCAtcCcKZmkK
cm0gLWYgY29uZiQkIGNvbmYkJC5leGUgY29uZiQkLmZpbGUKCmlmIG1rZGlyIC1wIC4gMj4vZGV2
L251bGw7IHRoZW4KICBhc19ta2Rpcl9wPToKZWxzZQogIGFzX21rZGlyX3A9ZmFsc2UKZmkKCmFz
X2V4ZWN1dGFibGVfcD0idGVzdCAtZiIKCiMgU2VkIGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5n
IG9udG8gYSB2YWxpZCBDUFAgbmFtZS4KYXNfdHJfY3BwPSJzZWQgeSUqJGFzX2NyX2xldHRlcnMl
UCRhc19jcl9MRVRURVJTJTtzJVteXyRhc19jcl9hbG51bV0lXyVnIgoKIyBTZWQgZXhwcmVzc2lv
biB0byBtYXAgYSBzdHJpbmcgb250byBhIHZhbGlkIHZhcmlhYmxlIG5hbWUuCmFzX3RyX3NoPSJz
ZWQgeSUqKyVwcCU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyIKCgojIElGUwojIFdlIG5lZWQgc3Bh
Y2UsIHRhYiBhbmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVyLgphc19ubD0nCicK
SUZTPSIgCSRhc19ubCIKCiMgQ0RQQVRILgokYXNfdW5zZXQgQ0RQQVRICgpleGVjIDY+JjEKCiMg
T3BlbiB0aGUgbG9nIHJlYWwgc29vbiwgdG8ga2VlcCBcJFswXSBhbmQgc28gb24gbWVhbmluZ2Z1
bCwgYW5kIHRvCiMgcmVwb3J0IGFjdHVhbCBpbnB1dCB2YWx1ZXMgb2YgQ09ORklHX0ZJTEVTIGV0
Yy4gaW5zdGVhZCBvZiB0aGVpcgojIHZhbHVlcyBhZnRlciBvcHRpb25zIGhhbmRsaW5nLiAgTG9n
Z2luZyAtLXZlcnNpb24gZXRjLiBpcyBPSy4KZXhlYyA1Pj5jb25maWcubG9nCnsKICBlY2hvCiAg
c2VkICdoO3MvLi8tL2c7cy9eLi4uLyMjIC87cy8uLi4kLyAjIy87cDt4O3A7eCcgPDxfQVNCT1gK
IyMgUnVubmluZyAkYXNfbWUuICMjCl9BU0JPWAp9ID4mNQpjYXQgPiY1IDw8X0NTRU9GCgpUaGlz
IGZpbGUgd2FzIGV4dGVuZGVkIGJ5ICRhc19tZSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUg
QXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICBDT05GSUdfRklM
RVMgICAgPSAkQ09ORklHX0ZJTEVTCiAgQ09ORklHX0hFQURFUlMgID0gJENPTkZJR19IRUFERVJT
CiAgQ09ORklHX0xJTktTICAgID0gJENPTkZJR19MSU5LUwogIENPTkZJR19DT01NQU5EUyA9ICRD
T05GSUdfQ09NTUFORFMKICAkICQwICRACgpfQ1NFT0YKZWNobyAib24gYChob3N0bmFtZSB8fCB1
bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgIiA+JjUKZWNobyA+JjUKY29uZmlnX2ZpbGVz
PSIgTWFrZWZpbGUgbGliL01ha2VmaWxlIHNyY2xpYi9NYWtlZmlsZSBzcmMvTWFrZWZpbGUgcG8v
TWFrZWZpbGUuaW4gbWFuL01ha2VmaWxlIHRlc3RzL01ha2VmaWxlIGluY2x1ZGUvaWNvbnYuaCIK
Y29uZmlnX2hlYWRlcnM9IiBjb25maWcuaCBsaWIvY29uZmlnLmgiCmNvbmZpZ19jb21tYW5kcz0i
IGRlcGZpbGVzIGRlZmF1bHQtMSIKCmFjX2NzX3VzYWdlPSJcClxgJGFzX21lJyBpbnN0YW50aWF0
ZXMgZmlsZXMgZnJvbSB0ZW1wbGF0ZXMgYWNjb3JkaW5nIHRvIHRoZQpjdXJyZW50IGNvbmZpZ3Vy
YXRpb24uCgpVc2FnZTogJDAgW09QVElPTlNdIFtGSUxFXS4uLgoKICAtaCwgLS1oZWxwICAgICAg
IHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0CiAgLVYsIC0tdmVyc2lvbiAgICBwcmludCB2ZXJz
aW9uIG51bWJlciwgdGhlbiBleGl0CiAgLXEsIC0tcXVpZXQgICAgICBkbyBub3QgcHJpbnQgcHJv
Z3Jlc3MgbWVzc2FnZXMKICAtZCwgLS1kZWJ1ZyAgICAgIGRvbid0IHJlbW92ZSB0ZW1wb3Jhcnkg
ZmlsZXMKICAgICAgLS1yZWNoZWNrICAgIHVwZGF0ZSAkYXNfbWUgYnkgcmVjb25maWd1cmluZyBp
biB0aGUgc2FtZSBjb25kaXRpb25zCiAgLS1maWxlPUZJTEVbOlRFTVBMQVRFXQogICAgICAgICAg
ICAgICAgICAgaW5zdGFudGlhdGUgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBGSUxFCiAgLS1oZWFk
ZXI9RklMRVs6VEVNUExBVEVdCiAgICAgICAgICAgICAgICAgICBpbnN0YW50aWF0ZSB0aGUgY29u
ZmlndXJhdGlvbiBoZWFkZXIgRklMRQoKQ29uZmlndXJhdGlvbiBmaWxlczoKJGNvbmZpZ19maWxl
cwoKQ29uZmlndXJhdGlvbiBoZWFkZXJzOgokY29uZmlnX2hlYWRlcnMKCkNvbmZpZ3VyYXRpb24g
Y29tbWFuZHM6CiRjb25maWdfY29tbWFuZHMKClJlcG9ydCBidWdzIHRvIDxidWctYXV0b2NvbmZA
Z251Lm9yZz4uIgphY19jc192ZXJzaW9uPSJcCmNvbmZpZy5zdGF0dXMKY29uZmlndXJlZCBieSAu
L2NvbmZpZ3VyZSwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LAogIHdpdGggb3B0aW9u
cyBcIictLWVuYWJsZS1zaGFyZWQnXCIKCkNvcHlyaWdodCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1
LCAxOTk2LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxCkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLgpUaGlzIGNvbmZpZy5zdGF0dXMgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24KZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwg
ZGlzdHJpYnV0ZSBhbmQgbW9kaWZ5IGl0LiIKc3JjZGlyPS4KSU5TVEFMTD0iL3Vzci9iaW4vaW5z
dGFsbCAtYyIKIyBJZiBubyBmaWxlIGFyZSBzcGVjaWZpZWQgYnkgdGhlIHVzZXIsIHRoZW4gd2Ug
bmVlZCB0byBwcm92aWRlIGRlZmF1bHQKIyB2YWx1ZS4gIEJ5IHdlIG5lZWQgdG8ga25vdyBpZiBm
aWxlcyB3ZXJlIHNwZWNpZmllZCBieSB0aGUgdXNlci4KYWNfbmVlZF9kZWZhdWx0cz06CndoaWxl
IHRlc3QgJCMgIT0gMApkbwogIGNhc2UgJDEgaW4KICAtLSo9KikKICAgIGFjX29wdGlvbj1gZXhw
ciAieCQxIiA6ICd4XChbXj1dKlwpPSdgCiAgICBhY19vcHRhcmc9YGV4cHIgIngkMSIgOiAneFte
PV0qPVwoLipcKSdgCiAgICBhY19zaGlmdD06CiAgICA7OwogIC0qKQogICAgYWNfb3B0aW9uPSQx
CiAgICBhY19vcHRhcmc9JDIKICAgIGFjX3NoaWZ0PXNoaWZ0CiAgICA7OwogICopICMgVGhpcyBp
cyBub3QgYW4gb3B0aW9uLCBzbyB0aGUgdXNlciBoYXMgcHJvYmFibHkgZ2l2ZW4gZXhwbGljaXQK
ICAgICAjIGFyZ3VtZW50cy4KICAgICBhY19vcHRpb249JDEKICAgICBhY19uZWVkX2RlZmF1bHRz
PWZhbHNlOzsKICBlc2FjCgogIGNhc2UgJGFjX29wdGlvbiBpbgogICMgSGFuZGxpbmcgb2YgdGhl
IG9wdGlvbnMuCiAgLXJlY2hlY2sgfCAtLXJlY2hlY2sgfCAtLXJlY2hlYyB8IC0tcmVjaGUgfCAt
LXJlY2ggfCAtLXJlYyB8IC0tcmUgfCAtLXIpCiAgICBhY19jc19yZWNoZWNrPTogOzsKICAtLXZl
cnNpb24gfCAtLXZlcnMqIHwgLVYgKQogICAgZWNobyAiJGFjX2NzX3ZlcnNpb24iOyBleGl0IDAg
OzsKICAtLWhlIHwgLS1oKQogICAgIyBDb25mbGljdCBiZXR3ZWVuIC0taGVscCBhbmQgLS1oZWFk
ZXIKICAgIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGFtYmlndW91cyBvcHRpb246
ICQxClRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiA+JjUKZWNobyAiJGFz
X21lOiBlcnJvcjogYW1iaWd1b3VzIG9wdGlvbjogJDEKVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9y
ZSBpbmZvcm1hdGlvbi4iID4mMjt9CiAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfTs7CiAgLS1o
ZWxwIHwgLS1oZWwgfCAtaCApCiAgICBlY2hvICIkYWNfY3NfdXNhZ2UiOyBleGl0IDAgOzsKICAt
LWRlYnVnIHwgLS1kKiB8IC1kICkKICAgIGRlYnVnPTogOzsKICAtLWZpbGUgfCAtLWZpbCB8IC0t
ZmkgfCAtLWYgKQogICAgJGFjX3NoaWZ0CiAgICBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMg
JGFjX29wdGFyZyIKICAgIGFjX25lZWRfZGVmYXVsdHM9ZmFsc2U7OwogIC0taGVhZGVyIHwgLS1o
ZWFkZSB8IC0taGVhZCB8IC0taGVhICkKICAgICRhY19zaGlmdAogICAgQ09ORklHX0hFQURFUlM9
IiRDT05GSUdfSEVBREVSUyAkYWNfb3B0YXJnIgogICAgYWNfbmVlZF9kZWZhdWx0cz1mYWxzZTs7
CiAgLXEgfCAtcXVpZXQgfCAtLXF1aWV0IHwgLS1xdWllIHwgLS1xdWkgfCAtLXF1IHwgLS1xIFwK
ICB8IC1zaWxlbnQgfCAtLXNpbGVudCB8IC0tc2lsZW4gfCAtLXNpbGUgfCAtLXNpbCB8IC0tc2kg
fCAtLXMpCiAgICBhY19jc19zaWxlbnQ9OiA7OwoKICAjIFRoaXMgaXMgYW4gZXJyb3IuCiAgLSop
IHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IHVucmVjb2duaXplZCBvcHRpb246ICQx
ClRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiA+JjUKZWNobyAiJGFzX21l
OiBlcnJvcjogdW5yZWNvZ25pemVkIG9wdGlvbjogJDEKVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9y
ZSBpbmZvcm1hdGlvbi4iID4mMjt9CiAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfSA7OwoKICAq
KSBhY19jb25maWdfdGFyZ2V0cz0iJGFjX2NvbmZpZ190YXJnZXRzICQxIiA7OwoKICBlc2FjCiAg
c2hpZnQKZG9uZQoKYWNfY29uZmlndXJlX2V4dHJhX2FyZ3M9CgppZiAkYWNfY3Nfc2lsZW50OyB0
aGVuCiAgZXhlYyA2Pi9kZXYvbnVsbAogIGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzPSIkYWNfY29u
ZmlndXJlX2V4dHJhX2FyZ3MgLS1zaWxlbnQiCmZpCgppZiAkYWNfY3NfcmVjaGVjazsgdGhlbgog
IGVjaG8gInJ1bm5pbmcgL2Jpbi9iYXNoIC4vY29uZmlndXJlICIgJy0tZW5hYmxlLXNoYXJlZCcg
JGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzICIgLS1uby1jcmVhdGUgLS1uby1yZWN1cnNpb24iID4m
NgogIGV4ZWMgL2Jpbi9iYXNoIC4vY29uZmlndXJlICctLWVuYWJsZS1zaGFyZWQnICRhY19jb25m
aWd1cmVfZXh0cmFfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbgpmaQoKIwojIElOSVQt
Q09NTUFORFMgc2VjdGlvbi4KIwoKQU1ERVBfVFJVRT0iIiBhY19hdXhfZGlyPSJhdXRvY29uZiIK
IyBDYXB0dXJlIHRoZSB2YWx1ZSBvZiBvYnNvbGV0ZSBBTExfTElOR1VBUyBiZWNhdXNlIHdlIG5l
ZWQgaXQgdG8gY29tcHV0ZQogICAgIyBQT0ZJTEVTLCBHTU9GSUxFUywgVVBEQVRFUE9GSUxFUywg
RFVNTVlQT0ZJTEVTLCBDQVRBTE9HUy4gQnV0IGhpZGUgaXQKICAgICMgZnJvbSBhdXRvbWFrZS4K
ICAgIGV2YWwgJ09CU09MRVRFX0FMTF9MSU5HVUFTJyc9IiInCiAgICAjIENhcHR1cmUgdGhlIHZh
bHVlIG9mIExJTkdVQVMgYmVjYXVzZSB3ZSBuZWVkIGl0IHRvIGNvbXB1dGUgQ0FUQUxPR1MuCiAg
ICBMSU5HVUFTPSIlVU5TRVQlIgoKCmZvciBhY19jb25maWdfdGFyZ2V0IGluICRhY19jb25maWdf
dGFyZ2V0cwpkbwogIGNhc2UgIiRhY19jb25maWdfdGFyZ2V0IiBpbgogICMgSGFuZGxpbmcgb2Yg
YXJndW1lbnRzLgogICJNYWtlZmlsZSIgKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgTWFr
ZWZpbGUiIDs7CiAgImxpYi9NYWtlZmlsZSIgKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMg
bGliL01ha2VmaWxlIiA7OwogICJzcmNsaWIvTWFrZWZpbGUiICkgQ09ORklHX0ZJTEVTPSIkQ09O
RklHX0ZJTEVTIHNyY2xpYi9NYWtlZmlsZSIgOzsKICAic3JjL01ha2VmaWxlIiApIENPTkZJR19G
SUxFUz0iJENPTkZJR19GSUxFUyBzcmMvTWFrZWZpbGUiIDs7CiAgInBvL01ha2VmaWxlLmluIiAp
IENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBwby9NYWtlZmlsZS5pbiIgOzsKICAibWFuL01h
a2VmaWxlIiApIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBtYW4vTWFrZWZpbGUiIDs7CiAg
IiR7VEVTVFNfTUFLRUZJTEV9IiApIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyAke1RFU1RT
X01BS0VGSUxFfSIgOzsKICAiaW5jbHVkZS9pY29udi5oIiApIENPTkZJR19GSUxFUz0iJENPTkZJ
R19GSUxFUyBpbmNsdWRlL2ljb252LmgiIDs7CiAgImRlcGZpbGVzIiApIENPTkZJR19DT01NQU5E
Uz0iJENPTkZJR19DT01NQU5EUyBkZXBmaWxlcyIgOzsKICAiZGVmYXVsdC0xIiApIENPTkZJR19D
T01NQU5EUz0iJENPTkZJR19DT01NQU5EUyBkZWZhdWx0LTEiIDs7CiAgImNvbmZpZy5oIiApIENP
TkZJR19IRUFERVJTPSIkQ09ORklHX0hFQURFUlMgY29uZmlnLmgiIDs7CiAgImxpYi9jb25maWcu
aCIgKSBDT05GSUdfSEVBREVSUz0iJENPTkZJR19IRUFERVJTIGxpYi9jb25maWcuaCIgOzsKICAq
KSB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBpbnZhbGlkIGFyZ3VtZW50OiAkYWNf
Y29uZmlnX3RhcmdldCIgPiY1CmVjaG8gIiRhc19tZTogZXJyb3I6IGludmFsaWQgYXJndW1lbnQ6
ICRhY19jb25maWdfdGFyZ2V0IiA+JjI7fQogICB7IChleGl0IDEpOyBleGl0IDE7IH07IH07Owog
IGVzYWMKZG9uZQoKIyBJZiB0aGUgdXNlciBkaWQgbm90IHVzZSB0aGUgYXJndW1lbnRzIHRvIHNw
ZWNpZnkgdGhlIGl0ZW1zIHRvIGluc3RhbnRpYXRlLAojIHRoZW4gdGhlIGVudnZhciBpbnRlcmZh
Y2UgaXMgdXNlZC4gIFNldCBvbmx5IHRob3NlIHRoYXQgYXJlIG5vdC4KIyBXZSB1c2UgdGhlIGxv
bmcgZm9ybSBmb3IgdGhlIGRlZmF1bHQgYXNzaWdubWVudCBiZWNhdXNlIG9mIGFuIGV4dHJlbWVs
eQojIGJpemFycmUgYnVnIG9uIFN1bk9TIDQuMS4zLgppZiAkYWNfbmVlZF9kZWZhdWx0czsgdGhl
bgogIHRlc3QgIiR7Q09ORklHX0ZJTEVTK3NldH0iID0gc2V0IHx8IENPTkZJR19GSUxFUz0kY29u
ZmlnX2ZpbGVzCiAgdGVzdCAiJHtDT05GSUdfSEVBREVSUytzZXR9IiA9IHNldCB8fCBDT05GSUdf
SEVBREVSUz0kY29uZmlnX2hlYWRlcnMKICB0ZXN0ICIke0NPTkZJR19DT01NQU5EUytzZXR9IiA9
IHNldCB8fCBDT05GSUdfQ09NTUFORFM9JGNvbmZpZ19jb21tYW5kcwpmaQoKIyBIYXZlIGEgdGVt
cG9yYXJ5IGRpcmVjdG9yeSBmb3IgY29udmVuaWVuY2UuICBNYWtlIGl0IGluIHRoZSBidWlsZCB0
cmVlCiMgc2ltcGx5IGJlY2F1c2UgdGhlcmUgaXMgbm8gcmVhc29uIHRvIHB1dCBpdCBoZXJlLCBh
bmQgaW4gYWRkaXRpb24sCiMgY3JlYXRpbmcgYW5kIG1vdmluZyBmaWxlcyBmcm9tIC90bXAgY2Fu
IHNvbWV0aW1lcyBjYXVzZSBwcm9ibGVtcy4KIyBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5
LCBhbmQgaG9vayBmb3IgaXRzIHJlbW92YWwgdW5sZXNzIGRlYnVnZ2luZy4KJGRlYnVnIHx8CnsK
ICB0cmFwICdleGl0X3N0YXR1cz0kPzsgcm0gLXJmICR0bXAgJiYgZXhpdCAkZXhpdF9zdGF0dXMn
IDAKICB0cmFwICd7IChleGl0IDEpOyBleGl0IDE7IH0nIDEgMiAxMyAxNQp9CgojIENyZWF0ZSBh
IChzZWN1cmUpIHRtcCBkaXJlY3RvcnkgZm9yIHRtcCBmaWxlcy4KCnsKICB0bXA9YCh1bWFzayAw
NzcgJiYgbWt0ZW1wIC1kIC1xICIuL2NvbmZzdGF0WFhYWFhYIikgMj4vZGV2L251bGxgICYmCiAg
dGVzdCAtbiAiJHRtcCIgJiYgdGVzdCAtZCAiJHRtcCIKfSAgfHwKewogIHRtcD0uL2NvbmZzdGF0
JCQtJFJBTkRPTQogICh1bWFzayAwNzcgJiYgbWtkaXIgJHRtcCkKfSB8fAp7CiAgIGVjaG8gIiRt
ZTogY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gLiIgPiYyCiAgIHsgKGV4
aXQgMSk7IGV4aXQgMTsgfQp9CgoKIwojIENPTkZJR19GSUxFUyBzZWN0aW9uLgojCgojIE5vIG5l
ZWQgdG8gZ2VuZXJhdGUgdGhlIHNjcmlwdHMgaWYgdGhlcmUgYXJlIG5vIENPTkZJR19GSUxFUy4K
IyBUaGlzIGhhcHBlbnMgZm9yIGluc3RhbmNlIHdoZW4gLi9jb25maWcuc3RhdHVzIGNvbmZpZy5o
CmlmIHRlc3QgLW4gIiRDT05GSUdfRklMRVMiOyB0aGVuCiAgIyBQcm90ZWN0IGFnYWluc3QgYmVp
bmcgb24gdGhlIHJpZ2h0IHNpZGUgb2YgYSBzZWQgc3Vic3QgaW4gY29uZmlnLnN0YXR1cy4KICBz
ZWQgJ3MvLEAvQEAvOyBzL0AsL0BALzsgcy8sO3QgdCQvQDt0IHQvOyAvQDt0IHQkL3MvW1xcJixd
L1xcJi9nOwogICBzL0BALyxALzsgcy9AQC9ALC87IHMvQDt0IHQkLyw7dCB0LycgPiR0bXAvc3Vi
cy5zZWQgPDxcQ0VPRgpzLEBTSEVMTEAsL2Jpbi9iYXNoLDt0IHQKcyxAUEFUSF9TRVBBUkFUT1JA
LDosO3QgdApzLEBQQUNLQUdFX05BTUVALCw7dCB0CnMsQFBBQ0tBR0VfVEFSTkFNRUAsLDt0IHQK
cyxAUEFDS0FHRV9WRVJTSU9OQCwsO3QgdApzLEBQQUNLQUdFX1NUUklOR0AsLDt0IHQKcyxAUEFD
S0FHRV9CVUdSRVBPUlRALCw7dCB0CnMsQGV4ZWNfcHJlZml4QCwke3ByZWZpeH0sO3QgdApzLEBw
cmVmaXhALC91c3IvbG9jYWwsO3QgdApzLEBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lQCxzLHgseCws
O3QgdApzLEBiaW5kaXJALCR7ZXhlY19wcmVmaXh9L2Jpbiw7dCB0CnMsQHNiaW5kaXJALCR7ZXhl
Y19wcmVmaXh9L3NiaW4sO3QgdApzLEBsaWJleGVjZGlyQCwke2V4ZWNfcHJlZml4fS9saWJleGVj
LDt0IHQKcyxAZGF0YWRpckAsJHtwcmVmaXh9L3NoYXJlLDt0IHQKcyxAc3lzY29uZmRpckAsJHtw
cmVmaXh9L2V0Yyw7dCB0CnMsQHNoYXJlZHN0YXRlZGlyQCwke3ByZWZpeH0vY29tLDt0IHQKcyxA
bG9jYWxzdGF0ZWRpckAsJHtwcmVmaXh9L3Zhciw7dCB0CnMsQGxpYmRpckAsJHtleGVjX3ByZWZp
eH0vbGliLDt0IHQKcyxAaW5jbHVkZWRpckAsJHtwcmVmaXh9L2luY2x1ZGUsO3QgdApzLEBvbGRp
bmNsdWRlZGlyQCwvdXNyL2luY2x1ZGUsO3QgdApzLEBpbmZvZGlyQCwke3ByZWZpeH0vaW5mbyw7
dCB0CnMsQG1hbmRpckAsJHtwcmVmaXh9L21hbiw7dCB0CnMsQGJ1aWxkX2FsaWFzQCwsO3QgdApz
LEBob3N0X2FsaWFzQCwsO3QgdApzLEB0YXJnZXRfYWxpYXNALCw7dCB0CnMsQERFRlNALC1ESEFW
RV9DT05GSUdfSCw7dCB0CnMsQEVDSE9fQ0AsLDt0IHQKcyxARUNIT19OQCwtbiw7dCB0CnMsQEVD
SE9fVEAsLDt0IHQKcyxATElCU0AsLDt0IHQKcyxASU5TVEFMTF9QUk9HUkFNQCwke0lOU1RBTEx9
LDt0IHQKcyxASU5TVEFMTF9TQ1JJUFRALCR7SU5TVEFMTH0sO3QgdApzLEBJTlNUQUxMX0RBVEFA
LCR7SU5TVEFMTH0gLW0gNjQ0LDt0IHQKcyxAQ1lHUEFUSF9XQCxlY2hvLDt0IHQKcyxAUEFDS0FH
RUAsbGliaWNvbnYsO3QgdApzLEBWRVJTSU9OQCwxLjksO3QgdApzLEBBQ0xPQ0FMQCwke1NIRUxM
fSAvdXNyL3BvcnRzL2NvbnZlcnRlcnMvbGliaWNvbnYvd29yay9saWJpY29udi0xLjkuMS9hdXRv
Y29uZi9taXNzaW5nIC0tcnVuIGFjbG9jYWwtMS43LDt0IHQKcyxAQVVUT0NPTkZALCR7U0hFTEx9
IC91c3IvcG9ydHMvY29udmVydGVycy9saWJpY29udi93b3JrL2xpYmljb252LTEuOS4xL2F1dG9j
b25mL21pc3NpbmcgLS1ydW4gYXV0b2NvbmYsO3QgdApzLEBBVVRPTUFLRUAsJHtTSEVMTH0gL3Vz
ci9wb3J0cy9jb252ZXJ0ZXJzL2xpYmljb252L3dvcmsvbGliaWNvbnYtMS45LjEvYXV0b2NvbmYv
bWlzc2luZyAtLXJ1biBhdXRvbWFrZS0xLjcsO3QgdApzLEBBVVRPSEVBREVSQCwke1NIRUxMfSAv
dXNyL3BvcnRzL2NvbnZlcnRlcnMvbGliaWNvbnYvd29yay9saWJpY29udi0xLjkuMS9hdXRvY29u
Zi9taXNzaW5nIC0tcnVuIGF1dG9oZWFkZXIsO3QgdApzLEBNQUtFSU5GT0AsJHtTSEVMTH0gL3Vz
ci9wb3J0cy9jb252ZXJ0ZXJzL2xpYmljb252L3dvcmsvbGliaWNvbnYtMS45LjEvYXV0b2NvbmYv
bWlzc2luZyAtLXJ1biBtYWtlaW5mbyw7dCB0CnMsQEFNVEFSQCwke1NIRUxMfSAvdXNyL3BvcnRz
L2NvbnZlcnRlcnMvbGliaWNvbnYvd29yay9saWJpY29udi0xLjkuMS9hdXRvY29uZi9taXNzaW5n
IC0tcnVuIHRhciw7dCB0CnMsQGluc3RhbGxfc2hALC91c3IvcG9ydHMvY29udmVydGVycy9saWJp
Y29udi93b3JrL2xpYmljb252LTEuOS4xL2F1dG9jb25mL2luc3RhbGwtc2gsO3QgdApzLEBTVFJJ
UEAsc3RyaXAsO3QgdApzLEBhY19jdF9TVFJJUEAsc3RyaXAsO3QgdApzLEBJTlNUQUxMX1NUUklQ
X1BST0dSQU1ALCR7U0hFTEx9ICQoaW5zdGFsbF9zaCkgLWMgLXMsO3QgdApzLEBBV0tALG5hd2ss
O3QgdApzLEBTRVRfTUFLRUAsLDt0IHQKcyxAYW1fX2xlYWRpbmdfZG90QCwuLDt0IHQKcyxAQ0NA
LGdjYyw7dCB0CnMsQENGTEFHU0AsLWcgLU8yLDt0IHQKcyxATERGTEFHU0AsLDt0IHQKcyxAQ1BQ
RkxBR1NALC1JL3Vzci9sb2NhbC9pbmNsdWRlLDt0IHQKcyxAYWNfY3RfQ0NALGdjYyw7dCB0CnMs
QEVYRUVYVEAsLDt0IHQKcyxAT0JKRVhUQCxvLDt0IHQKcyxAREVQRElSQCwuZGVwcyw7dCB0CnMs
QGFtX19pbmNsdWRlQCxpbmNsdWRlLDt0IHQKcyxAYW1fX3F1b3RlQCwsO3QgdApzLEBBTURFUF9U
UlVFQCwsO3QgdApzLEBBTURFUF9GQUxTRUAsIyw7dCB0CnMsQEFNREVQQkFDS1NMQVNIQCxcLDt0
IHQKcyxAQ0NERVBNT0RFQCxkZXBtb2RlPW5vbmUsO3QgdApzLEBhbV9fZmFzdGRlcENDX1RSVUVA
LCMsO3QgdApzLEBhbV9fZmFzdGRlcENDX0ZBTFNFQCwsO3QgdApzLEBDUFBALGdjYyAtRSw7dCB0
CnMsQEVHUkVQQCxncmVwIC1FLDt0IHQKcyxAYnVpbGRALGFtZDY0LXVua25vd24ta2ZyZWVic2Q1
LjItZ251LDt0IHQKcyxAYnVpbGRfY3B1QCxhbWQ2NCw7dCB0CnMsQGJ1aWxkX3ZlbmRvckAsdW5r
bm93biw7dCB0CnMsQGJ1aWxkX29zQCxrZnJlZWJzZDUuMi1nbnUsO3QgdApzLEBob3N0QCxhbWQ2
NC11bmtub3duLWtmcmVlYnNkNS4yLWdudSw7dCB0CnMsQGhvc3RfY3B1QCxhbWQ2NCw7dCB0CnMs
QGhvc3RfdmVuZG9yQCx1bmtub3duLDt0IHQKcyxAaG9zdF9vc0Asa2ZyZWVic2Q1LjItZ251LDt0
IHQKcyxAUkVMT0NBVEFCTEVALG5vLDt0IHQKcyxATElCT0JKU0AsIGNhbm9uaWNhbGl6ZSRVLm8s
O3QgdApzLEBTRVRfUkVMT0NBVEFCTEVALCw7dCB0CnMsQFJFTE9DQVRBQkxFX1ZJQV9MRF9UUlVF
QCwjLDt0IHQKcyxAUkVMT0NBVEFCTEVfVklBX0xEX0ZBTFNFQCwsO3QgdApzLEBVU0VfRVhUUkFf
RU5DT0RJTkdTQCxubyw7dCB0CnMsQFJBTkxJQkAscmFubGliLDt0IHQKcyxAYWNfY3RfUkFOTElC
QCxyYW5saWIsO3QgdApzLEBDUEAsY3AgLXAsO3QgdApzLEBMTkAsbG4sO3QgdApzLEBMTl9TQCxs
biAtcyw7dCB0CnMsQEVDSE9ALGVjaG8sO3QgdApzLEBBUkAsYXIsO3QgdApzLEBhY19jdF9BUkAs
YXIsO3QgdApzLEBETExUT09MQCxkbGx0b29sLDt0IHQKcyxAYWNfY3RfRExMVE9PTEAsLDt0IHQK
cyxAQVNALGFzLDt0IHQKcyxAYWNfY3RfQVNALCw7dCB0CnMsQE9CSkRVTVBALG9iamR1bXAsO3Qg
dApzLEBhY19jdF9PQkpEVU1QQCwsO3QgdApzLEBDWFhALGcrKyw7dCB0CnMsQENYWEZMQUdTQCwt
ZyAtTzIsO3QgdApzLEBhY19jdF9DWFhALGcrKyw7dCB0CnMsQENYWERFUE1PREVALGRlcG1vZGU9
bm9uZSw7dCB0CnMsQGFtX19mYXN0ZGVwQ1hYX1RSVUVALCMsO3QgdApzLEBhbV9fZmFzdGRlcENY
WF9GQUxTRUAsLDt0IHQKcyxAQ1hYQ1BQQCxnKysgLUUsO3QgdApzLEBGNzdALGY3Nyw7dCB0CnMs
QEZGTEFHU0AsLWcgLU8yLDt0IHQKcyxAYWNfY3RfRjc3QCxmNzcsO3QgdApzLEBMSUJUT09MQCwk
KFNIRUxMKSAkKHRvcF9idWlsZGRpcikvbGlidG9vbCw7dCB0CnMsQExJQklDT05WQCwvdXNyL2xv
Y2FsL2xpYi9saWJpY29udi5zbyAtV2wsLXJwYXRoIC1XbCwvdXNyL2xvY2FsL2xpYiw7dCB0CnMs
QExUTElCSUNPTlZALC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAtUi91c3IvbG9jYWwvbGliLDt0
IHQKcyxATUtJTlNUQUxMRElSU0AsJCh0b3BfYnVpbGRkaXIpL2F1dG9jb25mL21raW5zdGFsbGRp
cnMsO3QgdApzLEBVU0VfTkxTQCx5ZXMsO3QgdApzLEBNU0dGTVRALC91c3IvbG9jYWwvYmluL21z
Z2ZtdCw7dCB0CnMsQEdNU0dGTVRALC91c3IvbG9jYWwvYmluL21zZ2ZtdCw7dCB0CnMsQFhHRVRU
RVhUQCwvdXNyL2xvY2FsL2Jpbi94Z2V0dGV4dCw7dCB0CnMsQE1TR01FUkdFQCwvdXNyL2xvY2Fs
L2Jpbi9tc2dtZXJnZSw7dCB0CnMsQElOVExMSUJTQCwvdXNyL2xvY2FsL2xpYi9saWJpbnRsLnNv
IC1XbCwtcnBhdGggLVdsLC91c3IvbG9jYWwvbGliLDt0IHQKcyxATElCSU5UTEAsL3Vzci9sb2Nh
bC9saWIvbGliaW50bC5zbyAtV2wsLXJwYXRoIC1XbCwvdXNyL2xvY2FsL2xpYiw7dCB0CnMsQExU
TElCSU5UTEAsLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgLVIvdXNyL2xvY2FsL2xpYiw7dCB0CnMs
QFBPU1VCQCxwbyw7dCB0CnMsQElDT05WX0NPTlNUQCxjb25zdCw7dCB0CnMsQEVJTFNFUUAsLDt0
IHQKcyxAQUxMT0NBQCwsO3QgdApzLEBBTExPQ0FfSEAsYWxsb2NhLmgsO3QgdApzLEBIQVZFX19C
T09MQCwsO3QgdApzLEBTVERCT09MX0hALCw7dCB0CnMsQE9TQCwsO3QgdApzLEBHQ0NALHllcyw7
dCB0CnMsQFBMVUdMSUJALCw7dCB0CnMsQHN1YmRpcnNALCBsaWJjaGFyc2V0LDt0IHQKcyxATFRM
SUJPQkpTQCwgY2Fub25pY2FsaXplJFUubG8sO3QgdApDRU9GCgogICMgU3BsaXQgdGhlIHN1YnN0
aXR1dGlvbnMgaW50byBiaXRlLXNpemVkIHBpZWNlcyBmb3Igc2VkcyB3aXRoCiAgIyBzbWFsbCBj
b21tYW5kIG51bWJlciBsaW1pdHMsIGxpa2Ugb24gRGlnaXRhbCBPU0YvMSBhbmQgSFAtVVguCiAg
YWNfbWF4X3NlZF9saW5lcz00OAogIGFjX3NlZF9mcmFnPTEgIyBOdW1iZXIgb2YgY3VycmVudCBm
aWxlLgogIGFjX2JlZz0xICMgRmlyc3QgbGluZSBmb3IgY3VycmVudCBmaWxlLgogIGFjX2VuZD0k
YWNfbWF4X3NlZF9saW5lcyAjIExpbmUgYWZ0ZXIgbGFzdCBsaW5lIGZvciBjdXJyZW50IGZpbGUu
CiAgYWNfbW9yZV9saW5lcz06CiAgYWNfc2VkX2NtZHM9CiAgd2hpbGUgJGFjX21vcmVfbGluZXM7
IGRvCiAgICBpZiB0ZXN0ICRhY19iZWcgLWd0IDE7IHRoZW4KICAgICAgc2VkICIxLCR7YWNfYmVn
fWQ7ICR7YWNfZW5kfXEiICR0bXAvc3Vicy5zZWQgPiR0bXAvc3Vicy5mcmFnCiAgICBlbHNlCiAg
ICAgIHNlZCAiJHthY19lbmR9cSIgJHRtcC9zdWJzLnNlZCA+JHRtcC9zdWJzLmZyYWcKICAgIGZp
CiAgICBpZiB0ZXN0ICEgLXMgJHRtcC9zdWJzLmZyYWc7IHRoZW4KICAgICAgYWNfbW9yZV9saW5l
cz1mYWxzZQogICAgZWxzZQogICAgICAjIFRoZSBwdXJwb3NlIG9mIHRoZSBsYWJlbCBhbmQgb2Yg
dGhlIGJyYW5jaGluZyBjb25kaXRpb24gaXMgdG8KICAgICAgIyBzcGVlZCB1cCB0aGUgc2VkIHBy
b2Nlc3NpbmcgKGlmIHRoZXJlIGFyZSBubyBgQCcgYXQgYWxsLCB0aGVyZQogICAgICAjIGlzIG5v
IG5lZWQgdG8gYnJvd3NlIGFueSBvZiB0aGUgc3Vic3RpdHV0aW9ucykuCiAgICAgICMgVGhlc2Ug
YXJlIHRoZSB0d28gZXh0cmEgc2VkIGNvbW1hbmRzIG1lbnRpb25lZCBhYm92ZS4KICAgICAgKGVj
aG8gJzp0CiAgL0BbYS16QS1aX11bYS16QS1aXzAtOV0qQC8hYicgJiYgY2F0ICR0bXAvc3Vicy5m
cmFnKSA+JHRtcC9zdWJzLSRhY19zZWRfZnJhZy5zZWQKICAgICAgaWYgdGVzdCAteiAiJGFjX3Nl
ZF9jbWRzIjsgdGhlbgogIAlhY19zZWRfY21kcz0ic2VkIC1mICR0bXAvc3Vicy0kYWNfc2VkX2Zy
YWcuc2VkIgogICAgICBlbHNlCiAgCWFjX3NlZF9jbWRzPSIkYWNfc2VkX2NtZHMgfCBzZWQgLWYg
JHRtcC9zdWJzLSRhY19zZWRfZnJhZy5zZWQiCiAgICAgIGZpCiAgICAgIGFjX3NlZF9mcmFnPWBl
eHByICRhY19zZWRfZnJhZyArIDFgCiAgICAgIGFjX2JlZz0kYWNfZW5kCiAgICAgIGFjX2VuZD1g
ZXhwciAkYWNfZW5kICsgJGFjX21heF9zZWRfbGluZXNgCiAgICBmaQogIGRvbmUKICBpZiB0ZXN0
IC16ICIkYWNfc2VkX2NtZHMiOyB0aGVuCiAgICBhY19zZWRfY21kcz1jYXQKICBmaQpmaSAjIHRl
c3QgLW4gIiRDT05GSUdfRklMRVMiCgpmb3IgYWNfZmlsZSBpbiA6ICRDT05GSUdfRklMRVM7IGRv
IHRlc3QgIngkYWNfZmlsZSIgPSB4OiAmJiBjb250aW51ZQogICMgU3VwcG9ydCAib3V0ZmlsZVs6
aW5maWxlWzppbmZpbGUuLi5dXSIsIGRlZmF1bHRpbmcgaW5maWxlPSJvdXRmaWxlLmluIi4KICBj
YXNlICRhY19maWxlIGluCiAgLSB8ICo6LSB8ICo6LToqICkgIyBpbnB1dCBmcm9tIHN0ZGluCiAg
ICAgICAgY2F0ID4kdG1wL3N0ZGluCiAgICAgICAgYWNfZmlsZV9pbj1gZWNobyAiJGFjX2ZpbGUi
IHwgc2VkICdzLFteOl0qOiwsJ2AKICAgICAgICBhY19maWxlPWBlY2hvICIkYWNfZmlsZSIgfCBz
ZWQgJ3MsOi4qLCwnYCA7OwogICo6KiApIGFjX2ZpbGVfaW49YGVjaG8gIiRhY19maWxlIiB8IHNl
ZCAncyxbXjpdKjosLCdgCiAgICAgICAgYWNfZmlsZT1gZWNobyAiJGFjX2ZpbGUiIHwgc2VkICdz
LDouKiwsJ2AgOzsKICAqICkgICBhY19maWxlX2luPSRhY19maWxlLmluIDs7CiAgZXNhYwoKICAj
IENvbXB1dGUgQHNyY2RpckAsIEB0b3Bfc3JjZGlyQCwgYW5kIEBJTlNUQUxMQCBmb3Igc3ViZGly
ZWN0b3JpZXMuCiAgYWNfZGlyPWAoZGlybmFtZSAiJGFjX2ZpbGUiKSAyPi9kZXYvbnVsbCB8fAok
YXNfZXhwciBYIiRhY19maWxlIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAog
ICAgICAgICBYIiRhY19maWxlIiA6ICdYXCgvL1wpW14vXScgXHwgXAogICAgICAgICBYIiRhY19m
aWxlIiA6ICdYXCgvL1wpJCcgXHwgXAogICAgICAgICBYIiRhY19maWxlIiA6ICdYXCgvXCknIFx8
IFwKICAgICAgICAgLiAgICAgOiAnXCguXCknIDI+L2Rldi9udWxsIHx8CmVjaG8gWCIkYWNfZmls
ZSIgfAogICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sgcy8vXDEvOyBx
OyB9CiAgCSAgL15YXChcL1wvXClbXi9dLioveyBzLy9cMS87IHE7IH0KICAJICAvXlhcKFwvXC9c
KSQveyBzLy9cMS87IHE7IH0KICAJICAvXlhcKFwvXCkuKi97IHMvL1wxLzsgcTsgfQogIAkgIHMv
LiovLi87IHEnYAogIHsgaWYgJGFzX21rZGlyX3A7IHRoZW4KICAgIG1rZGlyIC1wICIkYWNfZGly
IgogIGVsc2UKICAgIGFzX2Rpcj0iJGFjX2RpciIKICAgIGFzX2RpcnM9CiAgICB3aGlsZSB0ZXN0
ICEgLWQgIiRhc19kaXIiOyBkbwogICAgICBhc19kaXJzPSIkYXNfZGlyICRhc19kaXJzIgogICAg
ICBhc19kaXI9YChkaXJuYW1lICIkYXNfZGlyIikgMj4vZGV2L251bGwgfHwKJGFzX2V4cHIgWCIk
YXNfZGlyIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAogICAgICAgICBYIiRh
c19kaXIiIDogJ1hcKC8vXClbXi9dJyBcfCBcCiAgICAgICAgIFgiJGFzX2RpciIgOiAnWFwoLy9c
KSQnIFx8IFwKICAgICAgICAgWCIkYXNfZGlyIiA6ICdYXCgvXCknIFx8IFwKICAgICAgICAgLiAg
ICAgOiAnXCguXCknIDI+L2Rldi9udWxsIHx8CmVjaG8gWCIkYXNfZGlyIiB8CiAgICBzZWQgJy9e
WFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveyBzLy9cMS87IHE7IH0KICAJICAvXlhcKFwv
XC9cKVteL10uKi97IHMvL1wxLzsgcTsgfQogIAkgIC9eWFwoXC9cL1wpJC97IHMvL1wxLzsgcTsg
fQogIAkgIC9eWFwoXC9cKS4qL3sgcy8vXDEvOyBxOyB9CiAgCSAgcy8uKi8uLzsgcSdgCiAgICBk
b25lCiAgICB0ZXN0ICEgLW4gIiRhc19kaXJzIiB8fCBta2RpciAkYXNfZGlycwogIGZpIHx8IHsg
eyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IFwi
JGFjX2RpclwiIiA+JjUKZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGNyZWF0ZSBkaXJlY3Rv
cnkgXCIkYWNfZGlyXCIiID4mMjt9CiAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfTsgfQoKICBh
Y19idWlsZGRpcj0uCgppZiB0ZXN0ICIkYWNfZGlyIiAhPSAuOyB0aGVuCiAgYWNfZGlyX3N1ZmZp
eD0vYGVjaG8gIiRhY19kaXIiIHwgc2VkICdzLF5cLltcXC9dLCwnYAogICMgQSAiLi4vIiBmb3Ig
ZWFjaCBkaXJlY3RvcnkgaW4gJGFjX2Rpcl9zdWZmaXguCiAgYWNfdG9wX2J1aWxkZGlyPWBlY2hv
ICIkYWNfZGlyX3N1ZmZpeCIgfCBzZWQgJ3MsL1teXFwvXSosLi4vLGcnYAplbHNlCiAgYWNfZGly
X3N1ZmZpeD0gYWNfdG9wX2J1aWxkZGlyPQpmaQoKY2FzZSAkc3JjZGlyIGluCiAgLikgICMgTm8g
LS1zcmNkaXIgb3B0aW9uLiAgV2UgYXJlIGJ1aWxkaW5nIGluIHBsYWNlLgogICAgYWNfc3JjZGly
PS4KICAgIGlmIHRlc3QgLXogIiRhY190b3BfYnVpbGRkaXIiOyB0aGVuCiAgICAgICBhY190b3Bf
c3JjZGlyPS4KICAgIGVsc2UKICAgICAgIGFjX3RvcF9zcmNkaXI9YGVjaG8gJGFjX3RvcF9idWls
ZGRpciB8IHNlZCAncywvJCwsJ2AKICAgIGZpIDs7CiAgW1xcL10qIHwgPzpbXFwvXSogKSAgIyBB
YnNvbHV0ZSBwYXRoLgogICAgYWNfc3JjZGlyPSRzcmNkaXIkYWNfZGlyX3N1ZmZpeDsKICAgIGFj
X3RvcF9zcmNkaXI9JHNyY2RpciA7OwogICopICMgUmVsYXRpdmUgcGF0aC4KICAgIGFjX3NyY2Rp
cj0kYWNfdG9wX2J1aWxkZGlyJHNyY2RpciRhY19kaXJfc3VmZml4CiAgICBhY190b3Bfc3JjZGly
PSRhY190b3BfYnVpbGRkaXIkc3JjZGlyIDs7CmVzYWMKIyBEb24ndCBibGluZGx5IHBlcmZvcm0g
YSBgY2QgIiRhY19kaXIiLyRhY19mb28gJiYgcHdkYCBzaW5jZSAkYWNfZm9vIGNhbiBiZQojIGFi
c29sdXRlLgphY19hYnNfYnVpbGRkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNfYnVpbGRkaXIg
JiYgcHdkYAphY19hYnNfdG9wX2J1aWxkZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJHthY190b3Bf
YnVpbGRkaXJ9LiAmJiBwd2RgCmFjX2Fic19zcmNkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNf
c3JjZGlyICYmIHB3ZGAKYWNfYWJzX3RvcF9zcmNkaXI9YGNkICIkYWNfZGlyIiAmJiBjZCAkYWNf
dG9wX3NyY2RpciAmJiBwd2RgCgoKICBjYXNlICRJTlNUQUxMIGluCiAgW1xcLyRdKiB8ID86W1xc
L10qICkgYWNfSU5TVEFMTD0kSU5TVEFMTCA7OwogICopIGFjX0lOU1RBTEw9JGFjX3RvcF9idWls
ZGRpciRJTlNUQUxMIDs7CiAgZXNhYwoKICBpZiB0ZXN0IHgiJGFjX2ZpbGUiICE9IHgtOyB0aGVu
CiAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBjcmVhdGluZyAkYWNfZmlsZSIgPiY1CmVjaG8g
IiRhc19tZTogY3JlYXRpbmcgJGFjX2ZpbGUiID4mNjt9CiAgICBybSAtZiAiJGFjX2ZpbGUiCiAg
ZmkKICAjIExldCdzIHN0aWxsIHByZXRlbmQgaXQgaXMgYGNvbmZpZ3VyZScgd2hpY2ggaW5zdGFu
dGlhdGVzIChpLmUuLCBkb24ndAogICMgdXNlICRhc19tZSksIHBlb3BsZSB3b3VsZCBiZSBzdXJw
cmlzZWQgdG8gcmVhZDoKICAjICAgIC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVkIGJ5IGNvbmZpZy5z
dGF0dXMuICAqLwogIGlmIHRlc3QgeCIkYWNfZmlsZSIgPSB4LTsgdGhlbgogICAgY29uZmlndXJl
X2lucHV0PQogIGVsc2UKICAgIGNvbmZpZ3VyZV9pbnB1dD0iJGFjX2ZpbGUuICAiCiAgZmkKICBj
b25maWd1cmVfaW5wdXQ9JGNvbmZpZ3VyZV9pbnB1dCJHZW5lcmF0ZWQgZnJvbSBgZWNobyAkYWNf
ZmlsZV9pbiB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWQgJ3MsLiov
LCwnYCBieSBjb25maWd1cmUuIgoKICAjIEZpcnN0IGxvb2sgZm9yIHRoZSBpbnB1dCBmaWxlcyBp
biB0aGUgYnVpbGQgdHJlZSwgb3RoZXJ3aXNlIGluIHRoZQogICMgc3JjIHRyZWUuCiAgYWNfZmls
ZV9pbnB1dHM9YElGUz06CiAgICBmb3IgZiBpbiAkYWNfZmlsZV9pbjsgZG8KICAgICAgY2FzZSAk
ZiBpbgogICAgICAtKSBlY2hvICR0bXAvc3RkaW4gOzsKICAgICAgW1xcLyRdKikKICAgICAgICAg
IyBBYnNvbHV0ZSAoY2FuJ3QgYmUgRE9TLXN0eWxlLCBhcyBJRlM9OikKICAgICAgICAgdGVzdCAt
ZiAiJGYiIHx8IHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBmaW5kIGlu
cHV0IGZpbGU6ICRmIiA+JjUKZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgaW5wdXQg
ZmlsZTogJGYiID4mMjt9CiAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQogICAgICAgICBlY2hv
ICRmOzsKICAgICAgKikgIyBSZWxhdGl2ZQogICAgICAgICBpZiB0ZXN0IC1mICIkZiI7IHRoZW4K
ICAgICAgICAgICAjIEJ1aWxkIHRyZWUKICAgICAgICAgICBlY2hvICRmCiAgICAgICAgIGVsaWYg
dGVzdCAtZiAiJHNyY2Rpci8kZiI7IHRoZW4KICAgICAgICAgICAjIFNvdXJjZSB0cmVlCiAgICAg
ICAgICAgZWNobyAkc3JjZGlyLyRmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAjIC9kZXYvbnVs
bCB0cmVlCiAgICAgICAgICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90
IGZpbmQgaW5wdXQgZmlsZTogJGYiID4mNQplY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmlu
ZCBpbnB1dCBmaWxlOiAkZiIgPiYyO30KICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CiAgICAg
ICAgIGZpOzsKICAgICAgZXNhYwogICAgZG9uZWAgfHwgeyAoZXhpdCAxKTsgZXhpdCAxOyB9CiAg
c2VkICIvXlsgCV0qVlBBVEhbIAldKj0vewpzLzoqXCQoc3JjZGlyKToqLzovOwpzLzoqXCR7c3Jj
ZGlyfToqLzovOwpzLzoqQHNyY2RpckA6Ki86LzsKcy9eXChbXj1dKj1bIAldKlwpOiovXDEvOwpz
LzoqJC8vOwpzL15bXj1dKj1bIAldKiQvLzsKfQoKOnQKL0BbYS16QS1aX11bYS16QS1aXzAtOV0q
QC8hYgpzLEBjb25maWd1cmVfaW5wdXRALCRjb25maWd1cmVfaW5wdXQsO3QgdApzLEBzcmNkaXJA
LCRhY19zcmNkaXIsO3QgdApzLEBhYnNfc3JjZGlyQCwkYWNfYWJzX3NyY2Rpciw7dCB0CnMsQHRv
cF9zcmNkaXJALCRhY190b3Bfc3JjZGlyLDt0IHQKcyxAYWJzX3RvcF9zcmNkaXJALCRhY19hYnNf
dG9wX3NyY2Rpciw7dCB0CnMsQGJ1aWxkZGlyQCwkYWNfYnVpbGRkaXIsO3QgdApzLEBhYnNfYnVp
bGRkaXJALCRhY19hYnNfYnVpbGRkaXIsO3QgdApzLEB0b3BfYnVpbGRkaXJALCRhY190b3BfYnVp
bGRkaXIsO3QgdApzLEBhYnNfdG9wX2J1aWxkZGlyQCwkYWNfYWJzX3RvcF9idWlsZGRpciw7dCB0
CnMsQElOU1RBTExALCRhY19JTlNUQUxMLDt0IHQKIiAkYWNfZmlsZV9pbnB1dHMgfCAoZXZhbCAi
JGFjX3NlZF9jbWRzIikgPiR0bXAvb3V0CiAgcm0gLWYgJHRtcC9zdGRpbgogIGlmIHRlc3QgeCIk
YWNfZmlsZSIgIT0geC07IHRoZW4KICAgIG12ICR0bXAvb3V0ICRhY19maWxlCiAgZWxzZQogICAg
Y2F0ICR0bXAvb3V0CiAgICBybSAtZiAkdG1wL291dAogIGZpCgpkb25lCgojCiMgQ09ORklHX0hF
QURFUiBzZWN0aW9uLgojCgojIFRoZXNlIHNlZCBjb21tYW5kcyBhcmUgcGFzc2VkIHRvIHNlZCBh
cyAiQSBOQU1FIEIgTkFNRSBDIFZBTFVFIEQiLCB3aGVyZQojIE5BTUUgaXMgdGhlIGNwcCBtYWNy
byBiZWluZyBkZWZpbmVkIGFuZCBWQUxVRSBpcyB0aGUgdmFsdWUgaXQgaXMgYmVpbmcgZ2l2ZW4u
CiMKIyBhY19kIHNldHMgdGhlIHZhbHVlIGluICIjZGVmaW5lIE5BTUUgVkFMVUUiIGxpbmVzLgph
Y19kQT0ncyxeXChbIAldKlwpI1woWyAJXSpkZWZpbmVbIAldWyAJXSpcKScKYWNfZEI9J1sgCV0u
KiQsXDEjXDInCmFjX2RDPScgJwphY19kRD0nLDt0JwojIGFjX3UgdHVybnMgIiN1bmRlZiBOQU1F
IiB3aXRob3V0IHRyYWlsaW5nIGJsYW5rcyBpbnRvICIjZGVmaW5lIE5BTUUgVkFMVUUiLgphY191
QT0ncyxeXChbIAldKlwpI1woWyAJXSpcKXVuZGVmXChbIAldWyAJXSpcKScKYWNfdUI9JyQsXDEj
XDJkZWZpbmVcMycKYWNfdUM9JyAnCmFjX3VEPScsO3QnCgpmb3IgYWNfZmlsZSBpbiA6ICRDT05G
SUdfSEVBREVSUzsgZG8gdGVzdCAieCRhY19maWxlIiA9IHg6ICYmIGNvbnRpbnVlCiAgIyBTdXBw
b3J0ICJvdXRmaWxlWzppbmZpbGVbOmluZmlsZS4uLl1dIiwgZGVmYXVsdGluZyBpbmZpbGU9Im91
dGZpbGUuaW4iLgogIGNhc2UgJGFjX2ZpbGUgaW4KICAtIHwgKjotIHwgKjotOiogKSAjIGlucHV0
IGZyb20gc3RkaW4KICAgICAgICBjYXQgPiR0bXAvc3RkaW4KICAgICAgICBhY19maWxlX2luPWBl
Y2hvICIkYWNfZmlsZSIgfCBzZWQgJ3MsW146XSo6LCwnYAogICAgICAgIGFjX2ZpbGU9YGVjaG8g
IiRhY19maWxlIiB8IHNlZCAncyw6LiosLCdgIDs7CiAgKjoqICkgYWNfZmlsZV9pbj1gZWNobyAi
JGFjX2ZpbGUiIHwgc2VkICdzLFteOl0qOiwsJ2AKICAgICAgICBhY19maWxlPWBlY2hvICIkYWNf
ZmlsZSIgfCBzZWQgJ3MsOi4qLCwnYCA7OwogICogKSAgIGFjX2ZpbGVfaW49JGFjX2ZpbGUuaW4g
OzsKICBlc2FjCgogIHRlc3QgeCIkYWNfZmlsZSIgIT0geC0gJiYgeyBlY2hvICIkYXNfbWU6JExJ
TkVOTzogY3JlYXRpbmcgJGFjX2ZpbGUiID4mNQplY2hvICIkYXNfbWU6IGNyZWF0aW5nICRhY19m
aWxlIiA+JjY7fQoKICAjIEZpcnN0IGxvb2sgZm9yIHRoZSBpbnB1dCBmaWxlcyBpbiB0aGUgYnVp
bGQgdHJlZSwgb3RoZXJ3aXNlIGluIHRoZQogICMgc3JjIHRyZWUuCiAgYWNfZmlsZV9pbnB1dHM9
YElGUz06CiAgICBmb3IgZiBpbiAkYWNfZmlsZV9pbjsgZG8KICAgICAgY2FzZSAkZiBpbgogICAg
ICAtKSBlY2hvICR0bXAvc3RkaW4gOzsKICAgICAgW1xcLyRdKikKICAgICAgICAgIyBBYnNvbHV0
ZSAoY2FuJ3QgYmUgRE9TLXN0eWxlLCBhcyBJRlM9OikKICAgICAgICAgdGVzdCAtZiAiJGYiIHx8
IHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBmaW5kIGlucHV0IGZpbGU6
ICRmIiA+JjUKZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgaW5wdXQgZmlsZTogJGYi
ID4mMjt9CiAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQogICAgICAgICBlY2hvICRmOzsKICAg
ICAgKikgIyBSZWxhdGl2ZQogICAgICAgICBpZiB0ZXN0IC1mICIkZiI7IHRoZW4KICAgICAgICAg
ICAjIEJ1aWxkIHRyZWUKICAgICAgICAgICBlY2hvICRmCiAgICAgICAgIGVsaWYgdGVzdCAtZiAi
JHNyY2Rpci8kZiI7IHRoZW4KICAgICAgICAgICAjIFNvdXJjZSB0cmVlCiAgICAgICAgICAgZWNo
byAkc3JjZGlyLyRmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAjIC9kZXYvbnVsbCB0cmVlCiAg
ICAgICAgICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGZpbmQgaW5w
dXQgZmlsZTogJGYiID4mNQplY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBpbnB1dCBm
aWxlOiAkZiIgPiYyO30KICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CiAgICAgICAgIGZpOzsK
ICAgICAgZXNhYwogICAgZG9uZWAgfHwgeyAoZXhpdCAxKTsgZXhpdCAxOyB9CiAgIyBSZW1vdmUg
dGhlIHRyYWlsaW5nIHNwYWNlcy4KICBzZWQgJ3MvWyAJXSokLy8nICRhY19maWxlX2lucHV0cyA+
JHRtcC9pbgoKICAjIEhhbmRsZSBhbGwgdGhlICNkZWZpbmUgdGVtcGxhdGVzIG9ubHkgaWYgbmVj
ZXNzYXJ5LgogIGlmIGdyZXAgIl5bIAldKiNbIAldKmRlZmluZSIgJHRtcC9pbiA+L2Rldi9udWxs
OyB0aGVuCiAgIyBJZiB0aGVyZSBhcmUgbm8gZGVmaW5lcywgd2UgbWF5IGhhdmUgYW4gZW1wdHkg
aWYvZmkKICA6CiAgY2F0ID4kdG1wL2RlZmluZXMuc2VkIDw8Q0VPRgovXlsgCV0qI1sgCV0qZGVm
aW5lLyFiCnQgY2xyCjogY2xyCiR7YWNfZEF9UEFDS0FHRV9OQU1FJHthY19kQn1QQUNLQUdFX05B
TUUke2FjX2RDfSIiJHthY19kRH0KJHthY19kQX1QQUNLQUdFX1RBUk5BTUUke2FjX2RCfVBBQ0tB
R0VfVEFSTkFNRSR7YWNfZEN9IiIke2FjX2REfQoke2FjX2RBfVBBQ0tBR0VfVkVSU0lPTiR7YWNf
ZEJ9UEFDS0FHRV9WRVJTSU9OJHthY19kQ30iIiR7YWNfZER9CiR7YWNfZEF9UEFDS0FHRV9TVFJJ
Tkcke2FjX2RCfVBBQ0tBR0VfU1RSSU5HJHthY19kQ30iIiR7YWNfZER9CiR7YWNfZEF9UEFDS0FH
RV9CVUdSRVBPUlQke2FjX2RCfVBBQ0tBR0VfQlVHUkVQT1JUJHthY19kQ30iIiR7YWNfZER9CiR7
YWNfZEF9UEFDS0FHRSR7YWNfZEJ9UEFDS0FHRSR7YWNfZEN9ImxpYmljb252IiR7YWNfZER9CiR7
YWNfZEF9VkVSU0lPTiR7YWNfZEJ9VkVSU0lPTiR7YWNfZEN9IjEuOSIke2FjX2REfQoke2FjX2RB
fUlOU1RBTExQUkVGSVgke2FjX2RCfUlOU1RBTExQUkVGSVgke2FjX2RDfSIvdXNyL2xvY2FsIiR7
YWNfZER9CiR7YWNfZEF9X0dOVV9TT1VSQ0Uke2FjX2RCfV9HTlVfU09VUkNFJHthY19kQ30xJHth
Y19kRH0KJHthY19kQX1TVERDX0hFQURFUlMke2FjX2RCfVNURENfSEVBREVSUyR7YWNfZEN9MSR7
YWNfZER9CiR7YWNfZEF9SEFWRV9TWVNfVFlQRVNfSCR7YWNfZEJ9SEFWRV9TWVNfVFlQRVNfSCR7
YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9TWVNfU1RBVF9IJHthY19kQn1IQVZFX1NZU19T
VEFUX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfU1RETElCX0gke2FjX2RCfUhBVkVf
U1RETElCX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfU1RSSU5HX0gke2FjX2RCfUhB
VkVfU1RSSU5HX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfTUVNT1JZX0gke2FjX2RC
fUhBVkVfTUVNT1JZX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfU1RSSU5HU19IJHth
Y19kQn1IQVZFX1NUUklOR1NfSCR7YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9JTlRUWVBF
U19IJHthY19kQn1IQVZFX0lOVFRZUEVTX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVf
U1RESU5UX0gke2FjX2RCfUhBVkVfU1RESU5UX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhB
VkVfVU5JU1REX0gke2FjX2RCfUhBVkVfVU5JU1REX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RB
fUhBVkVfRExGQ05fSCR7YWNfZEJ9SEFWRV9ETEZDTl9IJHthY19kQ30xJHthY19kRH0KJHthY19k
QX1IQVZFX0lDT05WJHthY19kQn1IQVZFX0lDT05WJHthY19kQ30xJHthY19kRH0KJHthY19kQX1J
Q09OVl9DT05TVCR7YWNfZEJ9SUNPTlZfQ09OU1Qke2FjX2RDfWNvbnN0JHthY19kRH0KJHthY19k
QX1IQVZFX0lDT05WJHthY19kQn1IQVZFX0lDT05WJHthY19kQ30xJHthY19kRH0KJHthY19kQX1F
TkFCTEVfTkxTJHthY19kQn1FTkFCTEVfTkxTJHthY19kQ30xJHthY19kRH0KJHthY19kQX1IQVZF
X0dFVFRFWFQke2FjX2RCfUhBVkVfR0VUVEVYVCR7YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFW
RV9EQ0dFVFRFWFQke2FjX2RCfUhBVkVfRENHRVRURVhUJHthY19kQ30xJHthY19kRH0KJHthY19k
QX1TVERDX0hFQURFUlMke2FjX2RCfVNURENfSEVBREVSUyR7YWNfZEN9MSR7YWNfZER9CiR7YWNf
ZEF9SEFWRV9MT0NBTEVfSCR7YWNfZEJ9SEFWRV9MT0NBTEVfSCR7YWNfZEN9MSR7YWNfZER9CiR7
YWNfZEF9SEFWRV9TVERERUZfSCR7YWNfZEJ9SEFWRV9TVERERUZfSCR7YWNfZEN9MSR7YWNfZER9
CiR7YWNfZEF9SEFWRV9TVERMSUJfSCR7YWNfZEJ9SEFWRV9TVERMSUJfSCR7YWNfZEN9MSR7YWNf
ZER9CiR7YWNfZEF9SEFWRV9TVFJJTkdfSCR7YWNfZEJ9SEFWRV9TVFJJTkdfSCR7YWNfZEN9MSR7
YWNfZER9CiR7YWNfZEF9SEFWRV9TVERMSUJfSCR7YWNfZEJ9SEFWRV9TVERMSUJfSCR7YWNfZEN9
MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9HRVRDX1VOTE9DS0VEJHthY19kQn1IQVZFX0dFVENfVU5M
T0NLRUQke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfTUJSVE9XQyR7YWNfZEJ9SEFWRV9N
QlJUT1dDJHthY19kQ30xJHthY19kRH0KJHthY19kQX1IQVZFX1dDUlRPTUIke2FjX2RCfUhBVkVf
V0NSVE9NQiR7YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9NQlNJTklUJHthY19kQn1IQVZF
X01CU0lOSVQke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfU0VUTE9DQUxFJHthY19kQn1I
QVZFX1NFVExPQ0FMRSR7YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9NRU1NT1ZFJHthY19k
Qn1IQVZFX01FTU1PVkUke2FjX2RDfTEke2FjX2REfQpDRU9GCiAgc2VkIC1mICR0bXAvZGVmaW5l
cy5zZWQgJHRtcC9pbiA+JHRtcC9vdXQKICBybSAtZiAkdG1wL2luCiAgbXYgJHRtcC9vdXQgJHRt
cC9pbgoKICBjYXQgPiR0bXAvZGVmaW5lcy5zZWQgPDxDRU9GCi9eWyAJXSojWyAJXSpkZWZpbmUv
IWIKdCBjbHIKOiBjbHIKJHthY19kQX1IQVZFX0xBTkdJTkZPX0NPREVTRVQke2FjX2RCfUhBVkVf
TEFOR0lORk9fQ09ERVNFVCR7YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9XQ0hBUl9IJHth
Y19kQn1IQVZFX1dDSEFSX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfVdPUkRTX0xJVFRMRUVO
RElBTiR7YWNfZEJ9V09SRFNfTElUVExFRU5ESUFOJHthY19kQ30xJHthY19kRH0KJHthY19kQX1I
QVZFX0FMTE9DQSR7YWNfZEJ9SEFWRV9BTExPQ0Eke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhB
VkVfU1RETElCX0gke2FjX2RCfUhBVkVfU1RETElCX0gke2FjX2RDfTEke2FjX2REfQoke2FjX2RB
fUhBVkVfU1RSSU5HX0gke2FjX2RCfUhBVkVfU1RSSU5HX0gke2FjX2RDfTEke2FjX2REfQoke2Fj
X2RBfUhBVkVfU1lTX1BBUkFNX0gke2FjX2RCfUhBVkVfU1lTX1BBUkFNX0gke2FjX2RDfTEke2Fj
X2REfQoke2FjX2RBfUhBVkVfVU5JU1REX0gke2FjX2RCfUhBVkVfVU5JU1REX0gke2FjX2RDfTEk
e2FjX2REfQoke2FjX2RBfXJlYWxwYXRoJHthY19kQn1yZWFscGF0aCR7YWNfZEN9cnBsX3JlYWxw
YXRoJHthY19kRH0KJHthY19kQX1IQVZFX0dFVENXRCR7YWNfZEJ9SEFWRV9HRVRDV0Qke2FjX2RD
fTEke2FjX2REfQoke2FjX2RBfUhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCR7YWNfZEJ9SEFW
RV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEJHthY19kQ30xJHthY19kRH0KJHthY19kQX1IQVZFX0RF
Q0xfRkVPRl9VTkxPQ0tFRCR7YWNfZEJ9SEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQke2FjX2RDfTEk
e2FjX2REfQoke2FjX2RBfUhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQke2FjX2RCfUhBVkVfREVD
TF9GRVJST1JfVU5MT0NLRUQke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfREVDTF9GRkxV
U0hfVU5MT0NLRUQke2FjX2RCfUhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQke2FjX2RDfTAke2Fj
X2REfQoke2FjX2RBfUhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCR7YWNfZEJ9SEFWRV9ERUNMX0ZH
RVRTX1VOTE9DS0VEJHthY19kQ30wJHthY19kRH0KJHthY19kQX1IQVZFX0RFQ0xfRlBVVENfVU5M
T0NLRUQke2FjX2RCfUhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCR7YWNfZEN9MCR7YWNfZER9CiR7
YWNfZEF9SEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEJHthY19kQn1IQVZFX0RFQ0xfRlBVVFNfVU5M
T0NLRUQke2FjX2RDfTAke2FjX2REfQoke2FjX2RBfUhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCR7
YWNfZEJ9SEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEJHthY19kQ30wJHthY19kRH0KJHthY19kQX1I
QVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEJHthY19kQn1IQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VE
JHthY19kQ30wJHthY19kRH0KJHthY19kQX1IQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCR7YWNfZEJ9
SEFWRV9ERUNMX0dFVENfVU5MT0NLRUQke2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfREVD
TF9HRVRDSEFSX1VOTE9DS0VEJHthY19kQn1IQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCR7YWNf
ZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9ERUNMX1BVVENfVU5MT0NLRUQke2FjX2RCfUhBVkVf
REVDTF9QVVRDX1VOTE9DS0VEJHthY19kQ30xJHthY19kRH0KJHthY19kQX1IQVZFX0RFQ0xfUFVU
Q0hBUl9VTkxPQ0tFRCR7YWNfZEJ9SEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQke2FjX2RDfTEk
e2FjX2REfQoke2FjX2RBfUhBVkVfVlBSSU5URiR7YWNfZEJ9SEFWRV9WUFJJTlRGJHthY19kQ30x
JHthY19kRH0KJHthY19kQX1IQVZFX1NUUkVSUk9SJHthY19kQn1IQVZFX1NUUkVSUk9SJHthY19k
Q30xJHthY19kRH0KJHthY19kQX1IQVZFX0RFQ0xfU1RSRVJST1Ike2FjX2RCfUhBVkVfREVDTF9T
VFJFUlJPUiR7YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9ERUNMX1NUUkVSUk9SX1Ike2Fj
X2RCfUhBVkVfREVDTF9TVFJFUlJPUl9SJHthY19kQ30xJHthY19kRH0KJHthY19kQX1IQVZFX1NU
UkVSUk9SX1Ike2FjX2RCfUhBVkVfU1RSRVJST1JfUiR7YWNfZEN9MSR7YWNfZER9CiR7YWNfZEF9
SEFWRV9MSU1JVFNfSCR7YWNfZEJ9SEFWRV9MSU1JVFNfSCR7YWNfZEN9MSR7YWNfZER9CiR7YWNf
ZEF9SEFWRV9TRVRFTlYke2FjX2RCfUhBVkVfU0VURU5WJHthY19kQ30xJHthY19kRH0KJHthY19k
QX1IQVZFX1VOU0VURU5WJHthY19kQn1IQVZFX1VOU0VURU5WJHthY19kQ30xJHthY19kRH0KJHth
Y19kQX1IQVZFX1NFQVJDSF9IJHthY19kQn1IQVZFX1NFQVJDSF9IJHthY19kQ30xJHthY19kRH0K
JHthY19kQX1IQVZFX1NURExJQl9IJHthY19kQn1IQVZFX1NURExJQl9IJHthY19kQ30xJHthY19k
RH0KJHthY19kQX1IQVZFX1NUUklOR19IJHthY19kQn1IQVZFX1NUUklOR19IJHthY19kQ30xJHth
Y19kRH0KJHthY19kQX1IQVZFX1VOSVNURF9IJHthY19kQn1IQVZFX1VOSVNURF9IJHthY19kQ30x
JHthY19kRH0KJHthY19kQX1IQVZFX1RTRUFSQ0gke2FjX2RCfUhBVkVfVFNFQVJDSCR7YWNfZEN9
MSR7YWNfZER9CiR7YWNfZEF9SEFWRV9FUlJOT19ERUNMJHthY19kQn1IQVZFX0VSUk5PX0RFQ0wk
e2FjX2RDfTEke2FjX2REfQoke2FjX2RBfUhBVkVfU1REQk9PTF9IJHthY19kQn1IQVZFX1NUREJP
T0xfSCR7YWNfZEN9MSR7YWNfZER9CkNFT0YKICBzZWQgLWYgJHRtcC9kZWZpbmVzLnNlZCAkdG1w
L2luID4kdG1wL291dAogIHJtIC1mICR0bXAvaW4KICBtdiAkdG1wL291dCAkdG1wL2luCgogIGNh
dCA+JHRtcC9kZWZpbmVzLnNlZCA8PENFT0YKL15bIAldKiNbIAldKmRlZmluZS8hYgp0IGNscgo6
IGNscgoke2FjX2RBfUhBVkVfU1RSRVJST1Ike2FjX2RCfUhBVkVfU1RSRVJST1Ike2FjX2RDfTEk
e2FjX2REfQoke2FjX2RBfUhBVkVfU1lTX1RZUEVTX0gke2FjX2RCfUhBVkVfU1lTX1RZUEVTX0gk
e2FjX2RDfTEke2FjX2REfQpDRU9GCiAgc2VkIC1mICR0bXAvZGVmaW5lcy5zZWQgJHRtcC9pbiA+
JHRtcC9vdXQKICBybSAtZiAkdG1wL2luCiAgbXYgJHRtcC9vdXQgJHRtcC9pbgoKICBmaSAjIGdy
ZXAKCiAgIyBIYW5kbGUgYWxsIHRoZSAjdW5kZWYgdGVtcGxhdGVzCiAgY2F0ID4kdG1wL3VuZGVm
cy5zZWQgPDxDRU9GCi9eWyAJXSojWyAJXSp1bmRlZi8hYgp0IGNscgo6IGNscgoke2FjX3VBfVBB
Q0tBR0VfTkFNRSR7YWNfdUJ9UEFDS0FHRV9OQU1FJHthY191Q30iIiR7YWNfdUR9CiR7YWNfdUF9
UEFDS0FHRV9UQVJOQU1FJHthY191Qn1QQUNLQUdFX1RBUk5BTUUke2FjX3VDfSIiJHthY191RH0K
JHthY191QX1QQUNLQUdFX1ZFUlNJT04ke2FjX3VCfVBBQ0tBR0VfVkVSU0lPTiR7YWNfdUN9IiIk
e2FjX3VEfQoke2FjX3VBfVBBQ0tBR0VfU1RSSU5HJHthY191Qn1QQUNLQUdFX1NUUklORyR7YWNf
dUN9IiIke2FjX3VEfQoke2FjX3VBfVBBQ0tBR0VfQlVHUkVQT1JUJHthY191Qn1QQUNLQUdFX0JV
R1JFUE9SVCR7YWNfdUN9IiIke2FjX3VEfQoke2FjX3VBfVBBQ0tBR0Uke2FjX3VCfVBBQ0tBR0Uk
e2FjX3VDfSJsaWJpY29udiIke2FjX3VEfQoke2FjX3VBfVZFUlNJT04ke2FjX3VCfVZFUlNJT04k
e2FjX3VDfSIxLjkiJHthY191RH0KJHthY191QX1JTlNUQUxMUFJFRklYJHthY191Qn1JTlNUQUxM
UFJFRklYJHthY191Q30iL3Vzci9sb2NhbCIke2FjX3VEfQoke2FjX3VBfV9HTlVfU09VUkNFJHth
Y191Qn1fR05VX1NPVVJDRSR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9U1REQ19IRUFERVJTJHth
Y191Qn1TVERDX0hFQURFUlMke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfU1lTX1RZUEVT
X0gke2FjX3VCfUhBVkVfU1lTX1RZUEVTX0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVf
U1lTX1NUQVRfSCR7YWNfdUJ9SEFWRV9TWVNfU1RBVF9IJHthY191Q30xJHthY191RH0KJHthY191
QX1IQVZFX1NURExJQl9IJHthY191Qn1IQVZFX1NURExJQl9IJHthY191Q30xJHthY191RH0KJHth
Y191QX1IQVZFX1NUUklOR19IJHthY191Qn1IQVZFX1NUUklOR19IJHthY191Q30xJHthY191RH0K
JHthY191QX1IQVZFX01FTU9SWV9IJHthY191Qn1IQVZFX01FTU9SWV9IJHthY191Q30xJHthY191
RH0KJHthY191QX1IQVZFX1NUUklOR1NfSCR7YWNfdUJ9SEFWRV9TVFJJTkdTX0gke2FjX3VDfTEk
e2FjX3VEfQoke2FjX3VBfUhBVkVfSU5UVFlQRVNfSCR7YWNfdUJ9SEFWRV9JTlRUWVBFU19IJHth
Y191Q30xJHthY191RH0KJHthY191QX1IQVZFX1NURElOVF9IJHthY191Qn1IQVZFX1NURElOVF9I
JHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX1VOSVNURF9IJHthY191Qn1IQVZFX1VOSVNU
RF9IJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX0RMRkNOX0gke2FjX3VCfUhBVkVfRExG
Q05fSCR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9JQ09OViR7YWNfdUJ9SEFWRV9JQ09O
ViR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SUNPTlZfQ09OU1Qke2FjX3VCfUlDT05WX0NPTlNU
JHthY191Q31jb25zdCR7YWNfdUR9CiR7YWNfdUF9SEFWRV9JQ09OViR7YWNfdUJ9SEFWRV9JQ09O
ViR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9RU5BQkxFX05MUyR7YWNfdUJ9RU5BQkxFX05MUyR7
YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9HRVRURVhUJHthY191Qn1IQVZFX0dFVFRFWFQk
e2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfRENHRVRURVhUJHthY191Qn1IQVZFX0RDR0VU
VEVYVCR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9U1REQ19IRUFERVJTJHthY191Qn1TVERDX0hF
QURFUlMke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfTE9DQUxFX0gke2FjX3VCfUhBVkVf
TE9DQUxFX0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfU1REREVGX0gke2FjX3VCfUhB
VkVfU1REREVGX0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfU1RETElCX0gke2FjX3VC
fUhBVkVfU1RETElCX0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfU1RSSU5HX0gke2Fj
X3VCfUhBVkVfU1RSSU5HX0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfU1RETElCX0gk
e2FjX3VCfUhBVkVfU1RETElCX0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfR0VUQ19V
TkxPQ0tFRCR7YWNfdUJ9SEFWRV9HRVRDX1VOTE9DS0VEJHthY191Q30xJHthY191RH0KJHthY191
QX1IQVZFX01CUlRPV0Mke2FjX3VCfUhBVkVfTUJSVE9XQyR7YWNfdUN9MSR7YWNfdUR9CiR7YWNf
dUF9SEFWRV9XQ1JUT01CJHthY191Qn1IQVZFX1dDUlRPTUIke2FjX3VDfTEke2FjX3VEfQoke2Fj
X3VBfUhBVkVfTUJTSU5JVCR7YWNfdUJ9SEFWRV9NQlNJTklUJHthY191Q30xJHthY191RH0KJHth
Y191QX1IQVZFX1NFVExPQ0FMRSR7YWNfdUJ9SEFWRV9TRVRMT0NBTEUke2FjX3VDfTEke2FjX3VE
fQoke2FjX3VBfUhBVkVfTUVNTU9WRSR7YWNfdUJ9SEFWRV9NRU1NT1ZFJHthY191Q30xJHthY191
RH0KQ0VPRgogIHNlZCAtZiAkdG1wL3VuZGVmcy5zZWQgJHRtcC9pbiA+JHRtcC9vdXQKICBybSAt
ZiAkdG1wL2luCiAgbXYgJHRtcC9vdXQgJHRtcC9pbgoKICBjYXQgPiR0bXAvdW5kZWZzLnNlZCA8
PENFT0YKL15bIAldKiNbIAldKnVuZGVmLyFiCnQgY2xyCjogY2xyCiR7YWNfdUF9SEFWRV9MQU5H
SU5GT19DT0RFU0VUJHthY191Qn1IQVZFX0xBTkdJTkZPX0NPREVTRVQke2FjX3VDfTEke2FjX3VE
fQoke2FjX3VBfUhBVkVfV0NIQVJfSCR7YWNfdUJ9SEFWRV9XQ0hBUl9IJHthY191Q30xJHthY191
RH0KJHthY191QX1XT1JEU19MSVRUTEVFTkRJQU4ke2FjX3VCfVdPUkRTX0xJVFRMRUVORElBTiR7
YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9BTExPQ0Eke2FjX3VCfUhBVkVfQUxMT0NBJHth
Y191Q30xJHthY191RH0KJHthY191QX1IQVZFX1NURExJQl9IJHthY191Qn1IQVZFX1NURExJQl9I
JHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX1NUUklOR19IJHthY191Qn1IQVZFX1NUUklO
R19IJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX1NZU19QQVJBTV9IJHthY191Qn1IQVZF
X1NZU19QQVJBTV9IJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX1VOSVNURF9IJHthY191
Qn1IQVZFX1VOSVNURF9IJHthY191Q30xJHthY191RH0KJHthY191QX1yZWFscGF0aCR7YWNfdUJ9
cmVhbHBhdGgke2FjX3VDfXJwbF9yZWFscGF0aCR7YWNfdUR9CiR7YWNfdUF9SEFWRV9HRVRDV0Qk
e2FjX3VCfUhBVkVfR0VUQ1dEJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX0RFQ0xfQ0xF
QVJFUlJfVU5MT0NLRUQke2FjX3VCfUhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCR7YWNfdUN9
MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQke2FjX3VCfUhBVkVfREVD
TF9GRU9GX1VOTE9DS0VEJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX0RFQ0xfRkVSUk9S
X1VOTE9DS0VEJHthY191Qn1IQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEJHthY191Q30xJHthY191
RH0KJHthY191QX1IQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEJHthY191Qn1IQVZFX0RFQ0xfRkZM
VVNIX1VOTE9DS0VEJHthY191Q30wJHthY191RH0KJHthY191QX1IQVZFX0RFQ0xfRkdFVFNfVU5M
T0NLRUQke2FjX3VCfUhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCR7YWNfdUN9MCR7YWNfdUR9CiR7
YWNfdUF9SEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEJHthY191Qn1IQVZFX0RFQ0xfRlBVVENfVU5M
T0NLRUQke2FjX3VDfTAke2FjX3VEfQoke2FjX3VBfUhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCR7
YWNfdUJ9SEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEJHthY191Q30wJHthY191RH0KJHthY191QX1I
QVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQke2FjX3VCfUhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCR7
YWNfdUN9MCR7YWNfdUR9CiR7YWNfdUF9SEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCR7YWNfdUJ9
SEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCR7YWNfdUN9MCR7YWNfdUR9CiR7YWNfdUF9SEFWRV9E
RUNMX0dFVENfVU5MT0NLRUQke2FjX3VCfUhBVkVfREVDTF9HRVRDX1VOTE9DS0VEJHthY191Q30x
JHthY191RH0KJHthY191QX1IQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCR7YWNfdUJ9SEFWRV9E
RUNMX0dFVENIQVJfVU5MT0NLRUQke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfREVDTF9Q
VVRDX1VOTE9DS0VEJHthY191Qn1IQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCR7YWNfdUN9MSR7YWNf
dUR9CiR7YWNfdUF9SEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQke2FjX3VCfUhBVkVfREVDTF9Q
VVRDSEFSX1VOTE9DS0VEJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX1ZQUklOVEYke2Fj
X3VCfUhBVkVfVlBSSU5URiR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9TVFJFUlJPUiR7
YWNfdUJ9SEFWRV9TVFJFUlJPUiR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9ERUNMX1NU
UkVSUk9SJHthY191Qn1IQVZFX0RFQ0xfU1RSRVJST1Ike2FjX3VDfTEke2FjX3VEfQoke2FjX3VB
fUhBVkVfREVDTF9TVFJFUlJPUl9SJHthY191Qn1IQVZFX0RFQ0xfU1RSRVJST1JfUiR7YWNfdUN9
MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9TVFJFUlJPUl9SJHthY191Qn1IQVZFX1NUUkVSUk9SX1Ik
e2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfTElNSVRTX0gke2FjX3VCfUhBVkVfTElNSVRT
X0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfU0VURU5WJHthY191Qn1IQVZFX1NFVEVO
ViR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9VTlNFVEVOViR7YWNfdUJ9SEFWRV9VTlNF
VEVOViR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9TRUFSQ0hfSCR7YWNfdUJ9SEFWRV9T
RUFSQ0hfSCR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9TVERMSUJfSCR7YWNfdUJ9SEFW
RV9TVERMSUJfSCR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9TVFJJTkdfSCR7YWNfdUJ9
SEFWRV9TVFJJTkdfSCR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9VTklTVERfSCR7YWNf
dUJ9SEFWRV9VTklTVERfSCR7YWNfdUN9MSR7YWNfdUR9CiR7YWNfdUF9SEFWRV9UU0VBUkNIJHth
Y191Qn1IQVZFX1RTRUFSQ0gke2FjX3VDfTEke2FjX3VEfQoke2FjX3VBfUhBVkVfRVJSTk9fREVD
TCR7YWNfdUJ9SEFWRV9FUlJOT19ERUNMJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX1NU
REJPT0xfSCR7YWNfdUJ9SEFWRV9TVERCT09MX0gke2FjX3VDfTEke2FjX3VEfQpDRU9GCiAgc2Vk
IC1mICR0bXAvdW5kZWZzLnNlZCAkdG1wL2luID4kdG1wL291dAogIHJtIC1mICR0bXAvaW4KICBt
diAkdG1wL291dCAkdG1wL2luCgogIGNhdCA+JHRtcC91bmRlZnMuc2VkIDw8Q0VPRgovXlsgCV0q
I1sgCV0qdW5kZWYvIWIKdCBjbHIKOiBjbHIKJHthY191QX1IQVZFX1NUUkVSUk9SJHthY191Qn1I
QVZFX1NUUkVSUk9SJHthY191Q30xJHthY191RH0KJHthY191QX1IQVZFX1NZU19UWVBFU19IJHth
Y191Qn1IQVZFX1NZU19UWVBFU19IJHthY191Q30xJHthY191RH0KcyxeWyAJXSojWyAJXSp1bmRl
ZlsgCV1bIAldKlthLXpBLVpfXVthLXpBLVpfMC05XSosLyogJiAqLywKQ0VPRgogIHNlZCAtZiAk
dG1wL3VuZGVmcy5zZWQgJHRtcC9pbiA+JHRtcC9vdXQKICBybSAtZiAkdG1wL2luCiAgbXYgJHRt
cC9vdXQgJHRtcC9pbgoKICAjIExldCdzIHN0aWxsIHByZXRlbmQgaXQgaXMgYGNvbmZpZ3VyZScg
d2hpY2ggaW5zdGFudGlhdGVzIChpLmUuLCBkb24ndAogICMgdXNlICRhc19tZSksIHBlb3BsZSB3
b3VsZCBiZSBzdXJwcmlzZWQgdG8gcmVhZDoKICAjICAgIC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVk
IGJ5IGNvbmZpZy5zdGF0dXMuICAqLwogIGlmIHRlc3QgeCIkYWNfZmlsZSIgPSB4LTsgdGhlbgog
ICAgZWNobyAiLyogR2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZS4gICovIiA+JHRtcC9jb25maWcuaAog
IGVsc2UKICAgIGVjaG8gIi8qICRhY19maWxlLiAgR2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZS4gICov
IiA+JHRtcC9jb25maWcuaAogIGZpCiAgY2F0ICR0bXAvaW4gPj4kdG1wL2NvbmZpZy5oCiAgcm0g
LWYgJHRtcC9pbgogIGlmIHRlc3QgeCIkYWNfZmlsZSIgIT0geC07IHRoZW4KICAgIGlmIGRpZmYg
JGFjX2ZpbGUgJHRtcC9jb25maWcuaCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICAgICAgeyBlY2hv
ICIkYXNfbWU6JExJTkVOTzogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjUKZWNobyAiJGFzX21l
OiAkYWNfZmlsZSBpcyB1bmNoYW5nZWQiID4mNjt9CiAgICBlbHNlCiAgICAgIGFjX2Rpcj1gKGRp
cm5hbWUgIiRhY19maWxlIikgMj4vZGV2L251bGwgfHwKJGFzX2V4cHIgWCIkYWNfZmlsZSIgOiAn
WFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKICAgICAgICAgWCIkYWNfZmlsZSIgOiAn
WFwoLy9cKVteL10nIFx8IFwKICAgICAgICAgWCIkYWNfZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwK
ICAgICAgICAgWCIkYWNfZmlsZSIgOiAnWFwoL1wpJyBcfCBcCiAgICAgICAgIC4gICAgIDogJ1wo
LlwpJyAyPi9kZXYvbnVsbCB8fAplY2hvIFgiJGFjX2ZpbGUiIHwKICAgIHNlZCAnL15YXCguKlte
L11cKVwvXC8qW14vXVteL10qXC8qJC97IHMvL1wxLzsgcTsgfQogIAkgIC9eWFwoXC9cL1wpW14v
XS4qL3sgcy8vXDEvOyBxOyB9CiAgCSAgL15YXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9CiAgCSAg
L15YXChcL1wpLioveyBzLy9cMS87IHE7IH0KICAJICBzLy4qLy4vOyBxJ2AKICAgICAgeyBpZiAk
YXNfbWtkaXJfcDsgdGhlbgogICAgbWtkaXIgLXAgIiRhY19kaXIiCiAgZWxzZQogICAgYXNfZGly
PSIkYWNfZGlyIgogICAgYXNfZGlycz0KICAgIHdoaWxlIHRlc3QgISAtZCAiJGFzX2RpciI7IGRv
CiAgICAgIGFzX2RpcnM9IiRhc19kaXIgJGFzX2RpcnMiCiAgICAgIGFzX2Rpcj1gKGRpcm5hbWUg
IiRhc19kaXIiKSAyPi9kZXYvbnVsbCB8fAokYXNfZXhwciBYIiRhc19kaXIiIDogJ1hcKC4qW14v
XVwpLy8qW14vXVteL10qLyokJyBcfCBcCiAgICAgICAgIFgiJGFzX2RpciIgOiAnWFwoLy9cKVte
L10nIFx8IFwKICAgICAgICAgWCIkYXNfZGlyIiA6ICdYXCgvL1wpJCcgXHwgXAogICAgICAgICBY
IiRhc19kaXIiIDogJ1hcKC9cKScgXHwgXAogICAgICAgICAuICAgICA6ICdcKC5cKScgMj4vZGV2
L251bGwgfHwKZWNobyBYIiRhc19kaXIiIHwKICAgIHNlZCAnL15YXCguKlteL11cKVwvXC8qW14v
XVteL10qXC8qJC97IHMvL1wxLzsgcTsgfQogIAkgIC9eWFwoXC9cL1wpW14vXS4qL3sgcy8vXDEv
OyBxOyB9CiAgCSAgL15YXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9CiAgCSAgL15YXChcL1wpLiov
eyBzLy9cMS87IHE7IH0KICAJICBzLy4qLy4vOyBxJ2AKICAgIGRvbmUKICAgIHRlc3QgISAtbiAi
JGFzX2RpcnMiIHx8IG1rZGlyICRhc19kaXJzCiAgZmkgfHwgeyB7IGVjaG8gIiRhc19tZTokTElO
RU5POiBlcnJvcjogY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgXCIkYWNfZGlyXCIiID4mNQplY2hv
ICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBcIiRhY19kaXJcIiIgPiYy
O30KICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9OyB9CgogICAgICBybSAtZiAkYWNfZmlsZQog
ICAgICBtdiAkdG1wL2NvbmZpZy5oICRhY19maWxlCiAgICBmaQogIGVsc2UKICAgIGNhdCAkdG1w
L2NvbmZpZy5oCiAgICBybSAtZiAkdG1wL2NvbmZpZy5oCiAgZmkKIyBDb21wdXRlICRhY19maWxl
J3MgaW5kZXggaW4gJGNvbmZpZ19oZWFkZXJzLgpfYW1fc3RhbXBfY291bnQ9MQpmb3IgX2FtX2hl
YWRlciBpbiAkY29uZmlnX2hlYWRlcnMgOjsgZG8KICBjYXNlICRfYW1faGVhZGVyIGluCiAgICAk
YWNfZmlsZSB8ICRhY19maWxlOiogKQogICAgICBicmVhayA7OwogICAgKiApCiAgICAgIF9hbV9z
dGFtcF9jb3VudD1gZXhwciAkX2FtX3N0YW1wX2NvdW50ICsgMWAgOzsKICBlc2FjCmRvbmUKZWNo
byAidGltZXN0YW1wIGZvciAkYWNfZmlsZSIgPmAoZGlybmFtZSAkYWNfZmlsZSkgMj4vZGV2L251
bGwgfHwKJGFzX2V4cHIgWCRhY19maWxlIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBc
fCBcCiAgICAgICAgIFgkYWNfZmlsZSA6ICdYXCgvL1wpW14vXScgXHwgXAogICAgICAgICBYJGFj
X2ZpbGUgOiAnWFwoLy9cKSQnIFx8IFwKICAgICAgICAgWCRhY19maWxlIDogJ1hcKC9cKScgXHwg
XAogICAgICAgICAuICAgICA6ICdcKC5cKScgMj4vZGV2L251bGwgfHwKZWNobyBYJGFjX2ZpbGUg
fAogICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sgcy8vXDEvOyBxOyB9
CiAgCSAgL15YXChcL1wvXClbXi9dLioveyBzLy9cMS87IHE7IH0KICAJICAvXlhcKFwvXC9cKSQv
eyBzLy9cMS87IHE7IH0KICAJICAvXlhcKFwvXCkuKi97IHMvL1wxLzsgcTsgfQogIAkgIHMvLiov
Li87IHEnYC9zdGFtcC1oJF9hbV9zdGFtcF9jb3VudApkb25lCgojCiMgQ09ORklHX0NPTU1BTkRT
IHNlY3Rpb24uCiMKZm9yIGFjX2ZpbGUgaW4gOiAkQ09ORklHX0NPTU1BTkRTOyBkbyB0ZXN0ICJ4
JGFjX2ZpbGUiID0geDogJiYgY29udGludWUKICBhY19kZXN0PWBlY2hvICIkYWNfZmlsZSIgfCBz
ZWQgJ3MsOi4qLCwnYAogIGFjX3NvdXJjZT1gZWNobyAiJGFjX2ZpbGUiIHwgc2VkICdzLFteOl0q
OiwsJ2AKICBhY19kaXI9YChkaXJuYW1lICIkYWNfZGVzdCIpIDI+L2Rldi9udWxsIHx8CiRhc19l
eHByIFgiJGFjX2Rlc3QiIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBcfCBcCiAgICAg
ICAgIFgiJGFjX2Rlc3QiIDogJ1hcKC8vXClbXi9dJyBcfCBcCiAgICAgICAgIFgiJGFjX2Rlc3Qi
IDogJ1hcKC8vXCkkJyBcfCBcCiAgICAgICAgIFgiJGFjX2Rlc3QiIDogJ1hcKC9cKScgXHwgXAog
ICAgICAgICAuICAgICA6ICdcKC5cKScgMj4vZGV2L251bGwgfHwKZWNobyBYIiRhY19kZXN0IiB8
CiAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveyBzLy9cMS87IHE7IH0K
ICAJICAvXlhcKFwvXC9cKVteL10uKi97IHMvL1wxLzsgcTsgfQogIAkgIC9eWFwoXC9cL1wpJC97
IHMvL1wxLzsgcTsgfQogIAkgIC9eWFwoXC9cKS4qL3sgcy8vXDEvOyBxOyB9CiAgCSAgcy8uKi8u
LzsgcSdgCiAgYWNfYnVpbGRkaXI9LgoKaWYgdGVzdCAiJGFjX2RpciIgIT0gLjsgdGhlbgogIGFj
X2Rpcl9zdWZmaXg9L2BlY2hvICIkYWNfZGlyIiB8IHNlZCAncyxeXC5bXFwvXSwsJ2AKICAjIEEg
Ii4uLyIgZm9yIGVhY2ggZGlyZWN0b3J5IGluICRhY19kaXJfc3VmZml4LgogIGFjX3RvcF9idWls
ZGRpcj1gZWNobyAiJGFjX2Rpcl9zdWZmaXgiIHwgc2VkICdzLC9bXlxcL10qLC4uLyxnJ2AKZWxz
ZQogIGFjX2Rpcl9zdWZmaXg9IGFjX3RvcF9idWlsZGRpcj0KZmkKCmNhc2UgJHNyY2RpciBpbgog
IC4pICAjIE5vIC0tc3JjZGlyIG9wdGlvbi4gIFdlIGFyZSBidWlsZGluZyBpbiBwbGFjZS4KICAg
IGFjX3NyY2Rpcj0uCiAgICBpZiB0ZXN0IC16ICIkYWNfdG9wX2J1aWxkZGlyIjsgdGhlbgogICAg
ICAgYWNfdG9wX3NyY2Rpcj0uCiAgICBlbHNlCiAgICAgICBhY190b3Bfc3JjZGlyPWBlY2hvICRh
Y190b3BfYnVpbGRkaXIgfCBzZWQgJ3MsLyQsLCdgCiAgICBmaSA7OwogIFtcXC9dKiB8ID86W1xc
L10qICkgICMgQWJzb2x1dGUgcGF0aC4KICAgIGFjX3NyY2Rpcj0kc3JjZGlyJGFjX2Rpcl9zdWZm
aXg7CiAgICBhY190b3Bfc3JjZGlyPSRzcmNkaXIgOzsKICAqKSAjIFJlbGF0aXZlIHBhdGguCiAg
ICBhY19zcmNkaXI9JGFjX3RvcF9idWlsZGRpciRzcmNkaXIkYWNfZGlyX3N1ZmZpeAogICAgYWNf
dG9wX3NyY2Rpcj0kYWNfdG9wX2J1aWxkZGlyJHNyY2RpciA7Owplc2FjCiMgRG9uJ3QgYmxpbmRs
eSBwZXJmb3JtIGEgYGNkICIkYWNfZGlyIi8kYWNfZm9vICYmIHB3ZGAgc2luY2UgJGFjX2ZvbyBj
YW4gYmUKIyBhYnNvbHV0ZS4KYWNfYWJzX2J1aWxkZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJGFj
X2J1aWxkZGlyICYmIHB3ZGAKYWNfYWJzX3RvcF9idWlsZGRpcj1gY2QgIiRhY19kaXIiICYmIGNk
ICR7YWNfdG9wX2J1aWxkZGlyfS4gJiYgcHdkYAphY19hYnNfc3JjZGlyPWBjZCAiJGFjX2RpciIg
JiYgY2QgJGFjX3NyY2RpciAmJiBwd2RgCmFjX2Fic190b3Bfc3JjZGlyPWBjZCAiJGFjX2RpciIg
JiYgY2QgJGFjX3RvcF9zcmNkaXIgJiYgcHdkYAoKCiAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzog
ZXhlY3V0aW5nICRhY19kZXN0IGNvbW1hbmRzIiA+JjUKZWNobyAiJGFzX21lOiBleGVjdXRpbmcg
JGFjX2Rlc3QgY29tbWFuZHMiID4mNjt9CiAgY2FzZSAkYWNfZGVzdCBpbgogICAgZGVwZmlsZXMg
KSB0ZXN0IHgiJEFNREVQX1RSVUUiICE9IHgiIiB8fCBmb3IgbWYgaW4gJENPTkZJR19GSUxFUzsg
ZG8KICAjIFN0cmlwIE1GIHNvIHdlIGVuZCB1cCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBmaWxlLgog
IG1mPWBlY2hvICIkbWYiIHwgc2VkIC1lICdzLzouKiQvLydgCiAgIyBDaGVjayB3aGV0aGVyIHRo
aXMgaXMgYW4gQXV0b21ha2UgZ2VuZXJhdGVkIE1ha2VmaWxlIG9yIG5vdC4KICAjIFdlIHVzZWQg
dG8gbWF0Y2ggb25seSB0aGUgZmlsZXMgbmFtZWQgYE1ha2VmaWxlLmluJywgYnV0CiAgIyBzb21l
IHBlb3BsZSByZW5hbWUgdGhlbTsgc28gaW5zdGVhZCB3ZSBsb29rIGF0IHRoZSBmaWxlIGNvbnRl
bnQuCiAgIyBHcmVwJ2luZyB0aGUgZmlyc3QgbGluZSBpcyBub3QgZW5vdWdoOiBzb21lIHBlb3Bs
ZSBwb3N0LXByb2Nlc3MKICAjIGVhY2ggTWFrZWZpbGUuaW4gYW5kIGFkZCBhIG5ldyBsaW5lIG9u
IHRvcCBvZiBlYWNoIGZpbGUgdG8gc2F5IHNvLgogICMgU28gbGV0J3MgZ3JlcCB3aG9sZSBmaWxl
LgogIGlmIGdyZXAgJ14jLipnZW5lcmF0ZWQgYnkgYXV0b21ha2UnICRtZiA+IC9kZXYvbnVsbCAy
PiYxOyB0aGVuCiAgICBkaXJwYXJ0PWAoZGlybmFtZSAiJG1mIikgMj4vZGV2L251bGwgfHwKJGFz
X2V4cHIgWCIkbWYiIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBcfCBcCiAgICAgICAg
IFgiJG1mIiA6ICdYXCgvL1wpW14vXScgXHwgXAogICAgICAgICBYIiRtZiIgOiAnWFwoLy9cKSQn
IFx8IFwKICAgICAgICAgWCIkbWYiIDogJ1hcKC9cKScgXHwgXAogICAgICAgICAuICAgICA6ICdc
KC5cKScgMj4vZGV2L251bGwgfHwKZWNobyBYIiRtZiIgfAogICAgc2VkICcvXlhcKC4qW14vXVwp
XC9cLypbXi9dW14vXSpcLyokL3sgcy8vXDEvOyBxOyB9CiAgCSAgL15YXChcL1wvXClbXi9dLiov
eyBzLy9cMS87IHE7IH0KICAJICAvXlhcKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KICAJICAvXlhc
KFwvXCkuKi97IHMvL1wxLzsgcTsgfQogIAkgIHMvLiovLi87IHEnYAogIGVsc2UKICAgIGNvbnRp
bnVlCiAgZmkKICBncmVwICdeREVQX0ZJTEVTICo9ICpbXiAjXScgPCAiJG1mIiA+IC9kZXYvbnVs
bCB8fCBjb250aW51ZQogICMgRXh0cmFjdCB0aGUgZGVmaW5pdGlvbiBvZiBERVBfRklMRVMgZnJv
bSB0aGUgTWFrZWZpbGUgd2l0aG91dAogICMgcnVubmluZyBgbWFrZScuCiAgREVQRElSPWBzZWQg
LW4gLWUgJy9eREVQRElSID0gLyBzLy8vcCcgPCAiJG1mImAKICB0ZXN0IC16ICIkREVQRElSIiAm
JiBjb250aW51ZQogICMgV2hlbiB1c2luZyBhbnNpMmtuciwgVSBtYXkgYmUgZW1wdHkgb3IgYW4g
dW5kZXJzY29yZTsgZXhwYW5kIGl0CiAgVT1gc2VkIC1uIC1lICcvXlUgPSAvIHMvLy9wJyA8ICIk
bWYiYAogIHRlc3QgLWQgIiRkaXJwYXJ0LyRERVBESVIiIHx8IG1rZGlyICIkZGlycGFydC8kREVQ
RElSIgogICMgV2UgaW52b2tlIHNlZCB0d2ljZSBiZWNhdXNlIGl0IGlzIHRoZSBzaW1wbGVzdCBh
cHByb2FjaCB0bwogICMgY2hhbmdpbmcgJChERVBESVIpIHRvIGl0cyBhY3R1YWwgdmFsdWUgaW4g
dGhlIGV4cGFuc2lvbi4KICBmb3IgZmlsZSBpbiBgc2VkIC1uIC1lICcKICAgIC9eREVQX0ZJTEVT
ID0gLipcXFxcJC8gewogICAgICBzL15ERVBfRklMRVMgPSAvLwogICAgICA6bG9vcAoJcy9cXFxc
JC8vCglwCgluCgkvXFxcXCQvIGIgbG9vcAogICAgICBwCiAgICB9CiAgICAvXkRFUF9GSUxFUyA9
IC8gcy9eREVQX0ZJTEVTID0gLy9wJyA8ICIkbWYiIHwgXAogICAgICAgc2VkIC1lICdzL1wkKERF
UERJUikvJyIkREVQRElSIicvZycgLWUgJ3MvXCRVLyciJFUiJy9nJ2A7IGRvCiAgICAjIE1ha2Ug
c3VyZSB0aGUgZGlyZWN0b3J5IGV4aXN0cy4KICAgIHRlc3QgLWYgIiRkaXJwYXJ0LyRmaWxlIiAm
JiBjb250aW51ZQogICAgZmRpcj1gKGRpcm5hbWUgIiRmaWxlIikgMj4vZGV2L251bGwgfHwKJGFz
X2V4cHIgWCIkZmlsZSIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKICAgICAg
ICAgWCIkZmlsZSIgOiAnWFwoLy9cKVteL10nIFx8IFwKICAgICAgICAgWCIkZmlsZSIgOiAnWFwo
Ly9cKSQnIFx8IFwKICAgICAgICAgWCIkZmlsZSIgOiAnWFwoL1wpJyBcfCBcCiAgICAgICAgIC4g
ICAgIDogJ1woLlwpJyAyPi9kZXYvbnVsbCB8fAplY2hvIFgiJGZpbGUiIHwKICAgIHNlZCAnL15Y
XCguKlteL11cKVwvXC8qW14vXVteL10qXC8qJC97IHMvL1wxLzsgcTsgfQogIAkgIC9eWFwoXC9c
L1wpW14vXS4qL3sgcy8vXDEvOyBxOyB9CiAgCSAgL15YXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9
CiAgCSAgL15YXChcL1wpLioveyBzLy9cMS87IHE7IH0KICAJICBzLy4qLy4vOyBxJ2AKICAgIHsg
aWYgJGFzX21rZGlyX3A7IHRoZW4KICAgIG1rZGlyIC1wICRkaXJwYXJ0LyRmZGlyCiAgZWxzZQog
ICAgYXNfZGlyPSRkaXJwYXJ0LyRmZGlyCiAgICBhc19kaXJzPQogICAgd2hpbGUgdGVzdCAhIC1k
ICIkYXNfZGlyIjsgZG8KICAgICAgYXNfZGlycz0iJGFzX2RpciAkYXNfZGlycyIKICAgICAgYXNf
ZGlyPWAoZGlybmFtZSAiJGFzX2RpciIpIDI+L2Rldi9udWxsIHx8CiRhc19leHByIFgiJGFzX2Rp
ciIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKICAgICAgICAgWCIkYXNfZGly
IiA6ICdYXCgvL1wpW14vXScgXHwgXAogICAgICAgICBYIiRhc19kaXIiIDogJ1hcKC8vXCkkJyBc
fCBcCiAgICAgICAgIFgiJGFzX2RpciIgOiAnWFwoL1wpJyBcfCBcCiAgICAgICAgIC4gICAgIDog
J1woLlwpJyAyPi9kZXYvbnVsbCB8fAplY2hvIFgiJGFzX2RpciIgfAogICAgc2VkICcvXlhcKC4q
W14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sgcy8vXDEvOyBxOyB9CiAgCSAgL15YXChcL1wvXClb
Xi9dLioveyBzLy9cMS87IHE7IH0KICAJICAvXlhcKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KICAJ
ICAvXlhcKFwvXCkuKi97IHMvL1wxLzsgcTsgfQogIAkgIHMvLiovLi87IHEnYAogICAgZG9uZQog
ICAgdGVzdCAhIC1uICIkYXNfZGlycyIgfHwgbWtkaXIgJGFzX2RpcnMKICBmaSB8fCB7IHsgZWNo
byAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAkZGlycGFy
dC8kZmRpciIgPiY1CmVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5
ICRkaXJwYXJ0LyRmZGlyIiA+JjI7fQogICB7IChleGl0IDEpOyBleGl0IDE7IH07IH07IH0KCiAg
ICAjIGVjaG8gImNyZWF0aW5nICRkaXJwYXJ0LyRmaWxlIgogICAgZWNobyAnIyBkdW1teScgPiAi
JGRpcnBhcnQvJGZpbGUiCiAgZG9uZQpkb25lCiA7OwogICAgZGVmYXVsdC0xICkKICAgIGZvciBh
Y19maWxlIGluICRDT05GSUdfRklMRVM7IGRvCiAgICAgICMgU3VwcG9ydCAib3V0ZmlsZVs6aW5m
aWxlWzppbmZpbGUuLi5dXSIKICAgICAgY2FzZSAiJGFjX2ZpbGUiIGluCiAgICAgICAgKjoqKSBh
Y19maWxlPWBlY2hvICIkYWNfZmlsZSJ8c2VkICdzJTouKiUlJ2AgOzsKICAgICAgZXNhYwogICAg
ICAjIFBPIGRpcmVjdG9yaWVzIGhhdmUgYSBNYWtlZmlsZS5pbiBnZW5lcmF0ZWQgZnJvbSBNYWtl
ZmlsZS5pbi5pbi4KICAgICAgY2FzZSAiJGFjX2ZpbGUiIGluICovTWFrZWZpbGUuaW4pCiAgICAg
ICAgIyBBZGp1c3QgYSByZWxhdGl2ZSBzcmNkaXIuCiAgICAgICAgYWNfZGlyPWBlY2hvICIkYWNf
ZmlsZSJ8c2VkICdzJS9bXi9dW14vXSokJSUnYAogICAgICAgIGFjX2Rpcl9zdWZmaXg9Ii9gZWNo
byAiJGFjX2RpciJ8c2VkICdzJV5cLi8lJSdgIgogICAgICAgIGFjX2RvdHM9YGVjaG8gIiRhY19k
aXJfc3VmZml4InxzZWQgJ3MlL1teL10qJS4uLyVnJ2AKICAgICAgICAjIEluIGF1dG9jb25mLTIu
MTMgaXQgaXMgY2FsbGVkICRhY19naXZlbl9zcmNkaXIuCiAgICAgICAgIyBJbiBhdXRvY29uZi0y
LjUwIGl0IGlzIGNhbGxlZCAkc3JjZGlyLgogICAgICAgIHRlc3QgLW4gIiRhY19naXZlbl9zcmNk
aXIiIHx8IGFjX2dpdmVuX3NyY2Rpcj0iJHNyY2RpciIKICAgICAgICBjYXNlICIkYWNfZ2l2ZW5f
c3JjZGlyIiBpbgogICAgICAgICAgLikgIHRvcF9zcmNkaXI9YGVjaG8gJGFjX2RvdHN8c2VkICdz
JS8kJSUnYCA7OwogICAgICAgICAgLyopIHRvcF9zcmNkaXI9IiRhY19naXZlbl9zcmNkaXIiIDs7
CiAgICAgICAgICAqKSAgdG9wX3NyY2Rpcj0iJGFjX2RvdHMkYWNfZ2l2ZW5fc3JjZGlyIiA7Owog
ICAgICAgIGVzYWMKICAgICAgICBpZiB0ZXN0IC1mICIkYWNfZ2l2ZW5fc3JjZGlyLyRhY19kaXIv
UE9URklMRVMuaW4iOyB0aGVuCiAgICAgICAgICBybSAtZiAiJGFjX2Rpci9QT1RGSUxFUyIKICAg
ICAgICAgIHRlc3QgLW4gIiRhc19tZSIgJiYgZWNobyAiJGFzX21lOiBjcmVhdGluZyAkYWNfZGly
L1BPVEZJTEVTIiB8fCBlY2hvICJjcmVhdGluZyAkYWNfZGlyL1BPVEZJTEVTIgogICAgICAgICAg
Y2F0ICIkYWNfZ2l2ZW5fc3JjZGlyLyRhY19kaXIvUE9URklMRVMuaW4iIHwgc2VkIC1lICIvXiMv
ZCIgLWUgIi9eWyAJXSpcJC9kIiAtZSAicywuKiwgICAgICR0b3Bfc3JjZGlyLyYgXFxcXCwiIHwg
c2VkIC1lICJcJHMvXCguKlwpIFxcXFwvXDEvIiA+ICIkYWNfZGlyL1BPVEZJTEVTIgogICAgICAg
ICAgUE9NQUtFRklMRURFUFM9IlBPVEZJTEVTLmluIgogICAgICAgICAgIyBBTExfTElOR1VBUywg
UE9GSUxFUywgR01PRklMRVMsIFVQREFURVBPRklMRVMsIERVTU1ZUE9GSUxFUyBkZXBlbmQKICAg
ICAgICAgICMgb24gJGFjX2RpciBidXQgZG9uJ3QgZGVwZW5kIG9uIHVzZXItc3BlY2lmaWVkIGNv
bmZpZ3VyYXRpb24KICAgICAgICAgICMgcGFyYW1ldGVycy4KICAgICAgICAgIGlmIHRlc3QgLWYg
IiRhY19naXZlbl9zcmNkaXIvJGFjX2Rpci9MSU5HVUFTIjsgdGhlbgogICAgICAgICAgICAjIFRo
ZSBMSU5HVUFTIGZpbGUgY29udGFpbnMgdGhlIHNldCBvZiBhdmFpbGFibGUgbGFuZ3VhZ2VzLgog
ICAgICAgICAgICBpZiB0ZXN0IC1uICIkT0JTT0xFVEVfQUxMX0xJTkdVQVMiOyB0aGVuCiAgICAg
ICAgICAgICAgdGVzdCAtbiAiJGFzX21lIiAmJiBlY2hvICIkYXNfbWU6IHNldHRpbmcgQUxMX0xJ
TkdVQVMgaW4gY29uZmlndXJlLmluIGlzIG9ic29sZXRlIiB8fCBlY2hvICJzZXR0aW5nIEFMTF9M
SU5HVUFTIGluIGNvbmZpZ3VyZS5pbiBpcyBvYnNvbGV0ZSIKICAgICAgICAgICAgZmkKICAgICAg
ICAgICAgQUxMX0xJTkdVQVNfPWBzZWQgLWUgIi9eIy9kIiAiJGFjX2dpdmVuX3NyY2Rpci8kYWNf
ZGlyL0xJTkdVQVMiYAogICAgICAgICAgICAjIEhpZGUgdGhlIEFMTF9MSU5HVUFTIGFzc2lnbWVu
dCBmcm9tIGF1dG9tYWtlLgogICAgICAgICAgICBldmFsICdBTExfTElOR1VBUycnPSRBTExfTElO
R1VBU18nCiAgICAgICAgICAgIFBPTUFLRUZJTEVERVBTPSIkUE9NQUtFRklMRURFUFMgTElOR1VB
UyIKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIyBUaGUgc2V0IG9mIGF2YWlsYWJsZSBsYW5n
dWFnZXMgd2FzIGdpdmVuIGluIGNvbmZpZ3VyZS5pbi4KICAgICAgICAgICAgZXZhbCAnQUxMX0xJ
TkdVQVMnJz0kT0JTT0xFVEVfQUxMX0xJTkdVQVMnCiAgICAgICAgICBmaQogICAgICAgICAgY2Fz
ZSAiJGFjX2dpdmVuX3NyY2RpciIgaW4KICAgICAgICAgICAgLikgc3JjZGlycHJlPSA7OwogICAg
ICAgICAgICAqKSBzcmNkaXJwcmU9JyQoc3JjZGlyKS8nIDs7CiAgICAgICAgICBlc2FjCiAgICAg
ICAgICBQT0ZJTEVTPQogICAgICAgICAgR01PRklMRVM9CiAgICAgICAgICBVUERBVEVQT0ZJTEVT
PQogICAgICAgICAgRFVNTVlQT0ZJTEVTPQogICAgICAgICAgZm9yIGxhbmcgaW4gJEFMTF9MSU5H
VUFTOyBkbwogICAgICAgICAgICBQT0ZJTEVTPSIkUE9GSUxFUyAkc3JjZGlycHJlJGxhbmcucG8i
CiAgICAgICAgICAgIEdNT0ZJTEVTPSIkR01PRklMRVMgJHNyY2RpcnByZSRsYW5nLmdtbyIKICAg
ICAgICAgICAgVVBEQVRFUE9GSUxFUz0iJFVQREFURVBPRklMRVMgJGxhbmcucG8tdXBkYXRlIgog
ICAgICAgICAgICBEVU1NWVBPRklMRVM9IiREVU1NWVBPRklMRVMgJGxhbmcubm9wIgogICAgICAg
ICAgZG9uZQogICAgICAgICAgIyBDQVRBTE9HUyBkZXBlbmRzIG9uIGJvdGggJGFjX2RpciBhbmQg
dGhlIHVzZXIncyBMSU5HVUFTCiAgICAgICAgICAjIGVudmlyb25tZW50IHZhcmlhYmxlLgogICAg
ICAgICAgSU5TVF9MSU5HVUFTPQogICAgICAgICAgaWYgdGVzdCAtbiAiJEFMTF9MSU5HVUFTIjsg
dGhlbgogICAgICAgICAgICBmb3IgcHJlc2VudGxhbmcgaW4gJEFMTF9MSU5HVUFTOyBkbwogICAg
ICAgICAgICAgIHVzZWl0PW5vCiAgICAgICAgICAgICAgaWYgdGVzdCAiJVVOU0VUJSIgIT0gIiRM
SU5HVUFTIjsgdGhlbgogICAgICAgICAgICAgICAgZGVzaXJlZGxhbmd1YWdlcz0iJExJTkdVQVMi
CiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZGVzaXJlZGxhbmd1YWdlcz0iJEFM
TF9MSU5HVUFTIgogICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgZm9yIGRlc2lyZWRsYW5n
IGluICRkZXNpcmVkbGFuZ3VhZ2VzOyBkbwogICAgICAgICAgICAgICAgIyBVc2UgdGhlIHByZXNl
bnRsYW5nIGNhdGFsb2cgaWYgZGVzaXJlZGxhbmcgaXMKICAgICAgICAgICAgICAgICMgICBhLiBl
cXVhbCB0byBwcmVzZW50bGFuZywgb3IKICAgICAgICAgICAgICAgICMgICBiLiBhIHZhcmlhbnQg
b2YgcHJlc2VudGxhbmcgKGJlY2F1c2UgaW4gdGhpcyBjYXNlLAogICAgICAgICAgICAgICAgIyAg
ICAgIHByZXNlbnRsYW5nIGNhbiBiZSB1c2VkIGFzIGEgZmFsbGJhY2sgZm9yIG1lc3NhZ2VzCiAg
ICAgICAgICAgICAgICAjICAgICAgd2hpY2ggYXJlIG5vdCB0cmFuc2xhdGVkIGluIHRoZSBkZXNp
cmVkbGFuZyBjYXRhbG9nKS4KICAgICAgICAgICAgICAgIGNhc2UgIiRkZXNpcmVkbGFuZyIgaW4K
ICAgICAgICAgICAgICAgICAgIiRwcmVzZW50bGFuZyIqKSB1c2VpdD15ZXM7OwogICAgICAgICAg
ICAgICAgZXNhYwogICAgICAgICAgICAgIGRvbmUKICAgICAgICAgICAgICBpZiB0ZXN0ICR1c2Vp
dCA9IHllczsgdGhlbgogICAgICAgICAgICAgICAgSU5TVF9MSU5HVUFTPSIkSU5TVF9MSU5HVUFT
ICRwcmVzZW50bGFuZyIKICAgICAgICAgICAgICBmaQogICAgICAgICAgICBkb25lCiAgICAgICAg
ICBmaQogICAgICAgICAgQ0FUQUxPR1M9CiAgICAgICAgICBpZiB0ZXN0IC1uICIkSU5TVF9MSU5H
VUFTIjsgdGhlbgogICAgICAgICAgICBmb3IgbGFuZyBpbiAkSU5TVF9MSU5HVUFTOyBkbwogICAg
ICAgICAgICAgIENBVEFMT0dTPSIkQ0FUQUxPR1MgJGxhbmcuZ21vIgogICAgICAgICAgICBkb25l
CiAgICAgICAgICBmaQogICAgICAgICAgdGVzdCAtbiAiJGFzX21lIiAmJiBlY2hvICIkYXNfbWU6
IGNyZWF0aW5nICRhY19kaXIvTWFrZWZpbGUiIHx8IGVjaG8gImNyZWF0aW5nICRhY19kaXIvTWFr
ZWZpbGUiCiAgICAgICAgICBzZWQgLWUgIi9eUE9URklMRVMgPS9yICRhY19kaXIvUE9URklMRVMi
IC1lICIvXiMgTWFrZXZhcnMvciAkYWNfZ2l2ZW5fc3JjZGlyLyRhY19kaXIvTWFrZXZhcnMiIC1l
ICJzfEBQT0ZJTEVTQHwkUE9GSUxFU3xnIiAtZSAic3xAR01PRklMRVNAfCRHTU9GSUxFU3xnIiAt
ZSAic3xAVVBEQVRFUE9GSUxFU0B8JFVQREFURVBPRklMRVN8ZyIgLWUgInN8QERVTU1ZUE9GSUxF
U0B8JERVTU1ZUE9GSUxFU3xnIiAtZSAic3xAQ0FUQUxPR1NAfCRDQVRBTE9HU3xnIiAtZSAic3xA
UE9NQUtFRklMRURFUFNAfCRQT01BS0VGSUxFREVQU3xnIiAiJGFjX2Rpci9NYWtlZmlsZS5pbiIg
PiAiJGFjX2Rpci9NYWtlZmlsZSIKICAgICAgICAgIGZvciBmIGluICIkYWNfZ2l2ZW5fc3JjZGly
LyRhY19kaXIiL1J1bGVzLSo7IGRvCiAgICAgICAgICAgIGlmIHRlc3QgLWYgIiRmIjsgdGhlbgog
ICAgICAgICAgICAgIGNhc2UgIiRmIiBpbgogICAgICAgICAgICAgICAgKi5vcmlnIHwgKi5iYWsg
fCAqfikgOzsKICAgICAgICAgICAgICAgICopIGNhdCAiJGYiID4+ICIkYWNfZGlyL01ha2VmaWxl
IiA7OwogICAgICAgICAgICAgIGVzYWMKICAgICAgICAgICAgZmkKICAgICAgICAgIGRvbmUKICAg
ICAgICBmaQogICAgICAgIDs7CiAgICAgIGVzYWMKICAgIGRvbmUgOzsKICBlc2FjCmRvbmUKCnsg
KGV4aXQgMCk7IGV4aXQgMDsgfQo=

--Multipart=_Wed__31_Mar_2004_09_22_47_+0200_IVAWlh/MouLt7b_T
Content-Type: application/octet-stream;
 name="libtool"
Content-Disposition: attachment;
 filename="libtool"
Content-Transfer-Encoding: base64

IyEgL2Jpbi9iYXNoCgojIGxpYnRvb2wgLSBQcm92aWRlIGdlbmVyYWxpemVkIGxpYnJhcnktYnVp
bGRpbmcgc3VwcG9ydCBzZXJ2aWNlcy4KIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBsdGNv
bmZpZyAoR05VIGxpYnRvb2wgMS4zLjUtZnJlZWJzZC1wb3J0cyAoMS4zODUuMi4yMDYgMjAwMC8w
NS8yNyAxMToxMjoyNykpCiMgTk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJl
IGxvc3Q6IGxvb2sgYXQgbHRjb25maWcgb3IgbHRtYWluLnNoLgojCiMgQ29weXJpZ2h0IChDKSAx
OTk2LTE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgT3JpZ2luYWxseSBieSBH
b3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKIwojIFRoaXMgcHJv
Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k
aWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiMgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMg
cHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3
LCBVU0EuCiMKIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSwgaWYgeW91CiMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHBy
b2dyYW0gdGhhdCBjb250YWlucyBhCiMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5
IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKIyB0aGUgc2FtZSBkaXN0cmlidXRp
b24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCgojIFNl
ZCB0aGF0IGhlbHBzIHVzIGF2b2lkIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIGVjaG8oMSkgb3B0
aW9ucyBsaWtlIC1uLgpYc2VkPSJzZWQgLWUgcy9eWC8vIgoKIyBUaGUgSFAtVVgga3NoIGFuZCBQ
T1NJWCBzaGVsbCBwcmludCB0aGUgdGFyZ2V0IGRpcmVjdG9yeSB0byBzdGRvdXQKIyBpZiBDRFBB
VEggaXMgc2V0LgppZiB0ZXN0ICJYJHtDRFBBVEgrc2V0fSIgPSBYc2V0OyB0aGVuIENEUEFUSD06
OyBleHBvcnQgQ0RQQVRIOyBmaQoKIyMjIEJFR0lOIExJQlRPT0wgQ09ORklHCiMgTGlidG9vbCB3
YXMgY29uZmlndXJlZCBhcyBmb2xsb3dzLCBvbiBob3N0IFJlaW5la2UuTWFsZXBhcnR1cy5kZToK
IwojIENDPSIiIENGTEFHUz0iIiBDUFBGTEFHUz0iIiBcCiMgTEQ9IiIgTERGTEFHUz0iIiBMSUJT
PSIiIFwKIyBOTT0iIiBSQU5MSUI9IiIgTE5fUz0iIiBcCiMgRExMVE9PTD0iIiBPQkpEVU1QPSIi
IEFTPSIiIFwKIyAgIC91c3IvbG9jYWwvc2hhcmUvbGlidG9vbDEzL2x0Y29uZmlnMTMgLS1kaXNh
YmxlLWx0bGlicyAvdXNyL2xvY2FsL3NoYXJlL2xpYnRvb2wxMy9sdG1haW4uc2gKIwojIENvbXBp
bGVyIGFuZCBvdGhlciB0ZXN0IG91dHB1dCBwcm9kdWNlZCBieSBsdGNvbmZpZzEzLCB1c2VmdWwg
Zm9yCiMgZGVidWdnaW5nIGx0Y29uZmlnMTMsIGlzIGluIC4vY29uZmlnLmxvZyBpZiBpdCBleGlz
dHMuCgojIFRoZSB2ZXJzaW9uIG9mIGx0Y29uZmlnMTMgdGhhdCBnZW5lcmF0ZWQgdGhpcyBzY3Jp
cHQuCkxUQ09ORklHX1ZFUlNJT049IjEuMy41LWZyZWVic2QtcG9ydHMiCgojIFNoZWxsIHRvIHVz
ZSB3aGVuIGludm9raW5nIHNoZWxsIHNjcmlwdHMuClNIRUxMPSIvYmluL2Jhc2giCgojIFdoZXRo
ZXIgdG8gd2FzdGUgZGlzayBzcGFjZS4KaW5zdGFsbF9sdGxpYnM9bm8gCgojIFdoYXQgdG8gZG8g
d2l0aCAtcmVsZWFzZS4KIyAgeWVzIC0gb25seSBmb3Igc2hhcmVkIGFyY2hpdmUKIyAgbm8gIC0g
aW5nbm9yZQojICBhbGwgLSBmb3IgYWxsIGFyY2hpdmVzCnJlbGVhc2Vfc3VmZml4PXllcwoKIyBX
aGV0aGVyIG9yIG5vdCB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX2xp
YnM9bm8KCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcy4KYnVpbGRf
b2xkX2xpYnM9eWVzCgojIFdoZXRoZXIgb3Igbm90IHRvIG9wdGltaXplIGZvciBmYXN0IGluc3Rh
bGxhdGlvbi4KZmFzdF9pbnN0YWxsPW5lZWRsZXNzCgojIFRoZSBob3N0IHN5c3RlbS4KaG9zdF9h
bGlhcz1hbWQ2NC11bmtub3duLWtmcmVlYnNkNS4yLWdudQpob3N0PWFtZDY0LXVua25vd24ta2Zy
ZWVic2Q1LjItZ251CgojIEFuIGVjaG8gcHJvZ3JhbSB0aGF0IGRvZXMgbm90IGludGVycHJldCBi
YWNrc2xhc2hlcy4KZWNobz0iZWNobyIKCiMgVGhlIGFyY2hpdmVyLgpBUj0iYXIiCgojIFRoZSBk
ZWZhdWx0IEMgY29tcGlsZXIuCkNDPSJnY2MiCgojIFRoZSBsaW5rZXIgdXNlZCB0byBidWlsZCBs
aWJyYXJpZXMuCkxEPSIvdXNyL2Jpbi9sZCIKCiMgV2hldGhlciB3ZSBuZWVkIGhhcmQgb3Igc29m
dCBsaW5rcy4KTE5fUz0ibG4gLXNmIgoKIyBBIEJTRC1jb21wYXRpYmxlIG5tIHByb2dyYW0uCk5N
PSIvdXNyL2Jpbi9ubSAtQiIKCiMgVXNlZCBvbiBjeWd3aW46IERMTCBjcmVhdGlvbiBwcm9ncmFt
LgpETExUT09MPSJkbGx0b29sIgoKIyBVc2VkIG9uIGN5Z3dpbjogb2JqZWN0IGR1bXBlci4KT0JK
RFVNUD0ib2JqZHVtcCIKCiMgVXNlZCBvbiBjeWd3aW46IGFzc2VtYmxlci4KQVM9ImFzIgoKIyBU
aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wg
ZmlsZXMuCm9iamRpcj0ubGlicwoKIyBIb3cgdG8gY3JlYXRlIHJlbG9hZGFibGUgb2JqZWN0IGZp
bGVzLgpyZWxvYWRfZmxhZz0iIC1yIgpyZWxvYWRfY21kcz0iXCRMRFwkcmVsb2FkX2ZsYWcgLW8g
XCRvdXRwdXRcJHJlbG9hZF9vYmpzIgoKIyBIb3cgdG8gcGFzcyBhIGxpbmtlciBmbGFnIHRocm91
Z2ggdGhlIGNvbXBpbGVyLgp3bD0iLVdsLCIKCiMgT2JqZWN0IGZpbGUgc3VmZml4IChub3JtYWxs
eSAibyIpLgpvYmpleHQ9Im8iCgojIE9sZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4K
bGliZXh0PSJhIgoKIyBFeGVjdXRhYmxlIGZpbGUgc3VmZml4IChub3JtYWxseSAiIikuCmV4ZWV4
dD0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJyYXJ5IG9i
amVjdHMuCnBpY19mbGFnPSIgLWZQSUMiCgojIERvZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkg
c3VwcG9ydCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIENhbiB3ZSB3
cml0ZSBkaXJlY3RseSB0byBhIC5sbyA/CmNvbXBpbGVyX29fbG89InllcyIKCiMgTXVzdCB3ZSBs
b2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24gPwpuZWVkX2xvY2tzPSJubyIKCiMgRG8g
d2UgbmVlZCB0aGUgbGliIHByZWZpeCBmb3IgbW9kdWxlcz8KbmVlZF9saWJfcHJlZml4PXVua25v
d24KCiMgRG8gd2UgbmVlZCBhIHZlcnNpb24gZm9yIGxpYnJhcmllcz8KbmVlZF92ZXJzaW9uPXVu
a25vd24KCiMgV2hldGhlciBkbG9wZW4gaXMgc3VwcG9ydGVkLgpkbG9wZW49dW5rbm93bgoKIyBX
aGV0aGVyIGRsb3BlbiBvZiBwcm9ncmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxmPXVua25v
d24KCiMgV2hldGhlciBkbG9wZW4gb2Ygc3RhdGljYWxseSBsaW5rZWQgcHJvZ3JhbXMgaXMgc3Vw
cG9ydGVkLgpkbG9wZW5fc2VsZl9zdGF0aWM9dW5rbm93bgoKIyBDb21waWxlciBmbGFnIHRvIHBy
ZXZlbnQgZHluYW1pYyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSItc3RhdGljIgoKIyBDb21w
aWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9
IiAtZm5vLWJ1aWx0aW4iCgojIENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3Bl
bnMuCmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0iXCR7d2x9LS1leHBvcnQtZHluYW1pYyIKCiMg
Q29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFy
Y2hpdmVzLgp3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0iXCR7d2x9LS13aG9sZS1hcmNoaXZlXCRj
b252ZW5pZW5jZSBcJHt3bH0tLW5vLXdob2xlLWFyY2hpdmUiCgojIENvbXBpbGVyIGZsYWcgdG8g
Z2VuZXJhdGUgdGhyZWFkLXNhZmUgb2JqZWN0cy4KdGhyZWFkX3NhZmVfZmxhZ19zcGVjPSIiCgoj
IExpYnJhcnkgdmVyc2lvbmluZyB0eXBlLgp2ZXJzaW9uX3R5cGU9bm9uZQoKIyBGb3JtYXQgb2Yg
bGlicmFyeSBuYW1lIHByZWZpeC4KbGlibmFtZV9zcGVjPSJsaWJcJG5hbWUiCgojIExpc3Qgb2Yg
YXJjaGl2ZSBuYW1lcy4gIEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwgb25lLCB0aGUgcmVzdCBhcmUg
bGlua3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25lIHRoYXQgdGhlIGxpbmtlciBmaW5kcyB3
aXRoIC1sTkFNRS4KbGlicmFyeV9uYW1lc19zcGVjPSIiCgojIFRoZSBjb2RlZCBuYW1lIG9mIHRo
ZSBsaWJyYXJ5LCBpZiBkaWZmZXJlbnQgZnJvbSB0aGUgcmVhbCBuYW1lLgpzb25hbWVfc3BlYz0i
IgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGFuIG9sZC1zdHlsZSBhcmNo
aXZlLgpSQU5MSUI9InJhbmxpYiIKb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBjcnUgXCRvbGRsaWJc
JG9sZG9ianN+XCRSQU5MSUIgXCRvbGRsaWIiCm9sZF9wb3N0aW5zdGFsbF9jbWRzPSJcJFJBTkxJ
QiBcJG9sZGxpYn5jaG1vZCA2NDQgXCRvbGRsaWIiCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9IiIK
CiMgQ3JlYXRlIGFuIG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xk
X2FyY2hpdmVfZnJvbV9uZXdfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuZCBp
bnN0YWxsIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iXCRDQyAtc2hhcmVkIFwkY29t
cGlsZV9ycGF0aCBcJGxpYm9ianMgXCRkZXBsaWJzIFwkbGlua29wdHMgXCR7d2x9LXNvbmFtZSBc
JHdsXCRzb25hbWUgLW8gXCRsaWIiCmFyY2hpdmVfZXhwc3ltX2NtZHM9IlwkQ0MgLXNoYXJlZCBc
JGNvbXBpbGVfcnBhdGggXCRsaWJvYmpzIFwkZGVwbGlicyBcJGxpbmtvcHRzIFwke3dsfS1zb25h
bWUgXCR3bFwkc29uYW1lIFwke3dsfS1yZXRhaW4tc3ltYm9scy1maWxlIFwkd2xcJGV4cG9ydF9z
eW1ib2xzIC1vIFwkbGliIgpwb3N0aW5zdGFsbF9jbWRzPSIiCnBvc3R1bmluc3RhbGxfY21kcz0i
IgoKIyBNZXRob2QgdG8gY2hlY2sgd2hldGhlciBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBzaGFy
ZWQgb2JqZWN0cy4KZGVwbGlic19jaGVja19tZXRob2Q9InVua25vd24iCgojIENvbW1hbmQgdG8g
dXNlIHdoZW4gZGVwbGlic19jaGVja19tZXRob2QgPT0gZmlsZV9tYWdpYy4KZmlsZV9tYWdpY19j
bWQ9IiIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGggdW5kZWZpbmVk
IHN5bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5lZF9mbGFnPSIiCgojIEZsYWcgdGhh
dCBmb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5vX3VuZGVmaW5lZF9mbGFnPSIiCgojIENv
bW1hbmRzIHVzZWQgdG8gZmluaXNoIGEgbGlidG9vbCBsaWJyYXJ5IGluc3RhbGxhdGlvbiBpbiBh
IGRpcmVjdG9yeS4KZmluaXNoX2NtZHM9IiIKCiMgU2FtZSBhcyBhYm92ZSwgYnV0IGEgc2luZ2xl
IHNjcmlwdCBmcmFnbWVudCB0byBiZSBldmFsZWQgYnV0IG5vdCBzaG93bi4KZmluaXNoX2V2YWw9
IiIKCiMgVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBwcm9kdWNlIGEgbGlzdGluZyBvZiByYXcg
c3ltYm9scyBhbmQgQyBuYW1lcy4KZ2xvYmFsX3N5bWJvbF9waXBlPSJzZWQgLW4gLWUgJ3MvXi4q
WyAJXVxcKFtBQkNER0lTVFddXFwpWyAJXVsgCV0qXFwoXFwpXFwoW19BLVphLXpdW19BLVphLXow
LTldKlxcKVwkL1xcMSBcXDJcXDMgXFwzL3AnIgoKIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBu
bSBpbiBhIHByb3BlciBDIGRlY2xhcmF0aW9uCmdsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAt
biAtZSAncy9eLiAuKiBcXCguKlxcKVwkL2V4dGVybiBjaGFyIFxcMTsvcCciCgojIFRoaXMgaXMg
dGhlIHNoYXJlZCBsaWJyYXJ5IHJ1bnRpbWUgcGF0aCB2YXJpYWJsZS4KcnVucGF0aF92YXI9TERf
UlVOX1BBVEgKCiMgVGhpcyBpcyB0aGUgc2hhcmVkIGxpYnJhcnkgcGF0aCB2YXJpYWJsZS4Kc2hs
aWJwYXRoX3Zhcj0KCiMgSXMgc2hsaWJwYXRoIHNlYXJjaGVkIGJlZm9yZSB0aGUgaGFyZC1jb2Rl
ZCBsaWJyYXJ5IHNlYXJjaCBwYXRoPwpzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9dW5rbm93
bgoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0
YWJsZS4KaGFyZGNvZGVfYWN0aW9uPWltbWVkaWF0ZQoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJk
aXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlm
ICRsaWJkaXIgZG9lcyBub3QgZXhpc3QuCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Ilwke3ds
fS0tcnBhdGggXCR7d2x9XCRsaWJkaXIiCgojIFdoZXRoZXIgd2UgbmVlZCBhIHNpbmdsZSAtcnBh
dGggZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJfc2VwYXJh
dG9yPSIiCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgRElSL2xpYk5BTUUuc28gZHVyaW5nIGxpbmtp
bmcgaGFyZGNvZGVzIERJUiBpbnRvIHRoZQojIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2Rp
cmVjdD1ubwoKIyBTZXQgdG8geWVzIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5r
aW5nIGhhcmRjb2RlcyBESVIgaW50byB0aGUKIyByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9t
aW51c19MPW5vCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUiBpbnRvCiMgdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRj
b2RlX3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKCiMgQ29tcGlsZS10aW1lIHN5c3RlbSBzZWFy
Y2ggcGF0aCBmb3IgbGlicmFyaWVzCnN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNy
L2xpYiIKCiMgUnVuLXRpbWUgc3lzdGVtIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMKc3lzX2xp
Yl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii9saWIgL3Vzci9saWIiCgojIEZpeCB0aGUgc2hlbGwgdmFy
aWFibGUgJHNyY2ZpbGUgZm9yIHRoZSBjb21waWxlci4KZml4X3NyY2ZpbGVfcGF0aD0iIgoKIyBT
ZXQgdG8geWVzIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0
X3N5bWJvbHM9bm8KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhw
b3J0X3N5bWJvbHNfY21kcz0iXCROTSBcJGxpYm9ianMgXCRjb252ZW5pZW5jZSB8IFwkZ2xvYmFs
X3N5bWJvbF9waXBlIHwgc2VkICdzLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBvcnRfc3lt
Ym9scyIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2Fk
ZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSJfR0xPQkFMX09GRlNFVF9UQUJMRV8iCgojIFN5
bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4KaW5jbHVkZV9leHBzeW1zPSIiCgoj
IyMgRU5EIExJQlRPT0wgQ09ORklHCgojIGx0bWFpbi5zaCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQg
bGlicmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgojIE5PVEU6IENoYW5naW5nIHRoaXMg
ZmlsZSB3aWxsIG5vdCBhZmZlY3QgYW55dGhpbmcgdW50aWwgeW91IHJlcnVuIGx0Y29uZmlnLgoj
CiMgQ29weXJpZ2h0IChDKSAxOTk2LTE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
CiMgT3JpZ2luYWxseSBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4s
IDE5OTYKIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CiMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
IyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9z
dG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiMKIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiMgZGlzdHJpYnV0ZSB0aGlzIGZp
bGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCiMgY29uZmlndXJhdGlvbiBz
Y3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKIyB0
aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0
aGF0IHByb2dyYW0uCgpFWFBSX0NPTVBBVD0xCmV4cG9ydCBFWFBSX0NPTVBBVAoKIyBDaGVjayB0
aGF0IHdlIGhhdmUgYSB3b3JraW5nICRlY2hvLgppZiB0ZXN0ICJYJDEiID0gWC0tbm8tcmVleGVj
OyB0aGVuCiAgIyBEaXNjYXJkIHRoZSAtLW5vLXJlZXhlYyBmbGFnLCBhbmQgY29udGludWUuCiAg
c2hpZnQKZWxpZiB0ZXN0ICJYJDEiID0gWC0tZmFsbGJhY2stZWNobzsgdGhlbgogICMgQXZvaWQg
aW5saW5lIGRvY3VtZW50IGhlcmUsIGl0IG1heSBiZSBsZWZ0IG92ZXIKICA6CmVsaWYgdGVzdCAi
WGAoJGVjaG8gJ1x0JykgMj4vZGV2L251bGxgIiA9ICdYXHQnOyB0aGVuCiAgIyBZaXBwZWUsICRl
Y2hvIHdvcmtzIQogIDoKZWxzZQogICMgUmVzdGFydCB1bmRlciB0aGUgY29ycmVjdCBzaGVsbCwg
YW5kIHRoZW4gbWF5YmUgJGVjaG8gd2lsbCB3b3JrLgogIGV4ZWMgJFNIRUxMICIkMCIgLS1uby1y
ZWV4ZWMgJHsxKyIkQCJ9CmZpCgppZiB0ZXN0ICJYJDEiID0gWC0tZmFsbGJhY2stZWNobzsgdGhl
bgogICMgdXNlZCBhcyBmYWxsYmFjayBlY2hvCiAgc2hpZnQKICBjYXQgPDxFT0YKJCoKRU9GCiAg
ZXhpdCAwCmZpCgojIFRoZSBuYW1lIG9mIHRoaXMgcHJvZ3JhbS4KcHJvZ25hbWU9YCRlY2hvICIk
MCIgfCBzZWQgJ3MlXi4qLyUlJ2AKbW9kZW5hbWU9IiRwcm9nbmFtZSIKCiMgQ29uc3RhbnRzLgpQ
Uk9HUkFNPWx0bWFpbi5zaApQQUNLQUdFPWxpYnRvb2wKVkVSU0lPTj0xLjMuNS1mcmVlYnNkLXBv
cnRzClRJTUVTVEFNUD0iICgxLjM4NS4yLjIwNiAyMDAwLzA1LzI3IDExOjEyOjI3KSIKCmRlZmF1
bHRfbW9kZT0KaGVscD0iVHJ5IFxgJHByb2duYW1lIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRp
b24uIgptYWdpYz0iJSUlTUFHSUMgdmFyaWFibGUlJSUiCm1rZGlyPSJta2RpciIKbXY9Im12IC1m
IgpybT0icm0gLWYiCgojIFNlZCBzdWJzdGl0dXRpb24gdGhhdCBoZWxwcyB1cyBkbyByb2J1c3Qg
cXVvdGluZy4gIEl0IGJhY2tzbGFzaGlmaWVzCiMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUgc3Rp
bGwgYWN0aXZlIHdpdGhpbiBkb3VibGUtcXVvdGVkIHN0cmluZ3MuClhzZWQ9J3NlZCAtZSAxcy9e
WC8vJwpzZWRfcXVvdGVfc3Vic3Q9J3MvXChbXFxgXFwiJFxcXFxdXCkvXFxcMS9nJwpTUDJOTD0n
dHIgXDA0MCBcMDEyJwpOTDJTUD0ndHIgXDAxNVwwMTIgXDA0MFwwNDAnCgojIE5MUyBudWlzYW5j
ZXMuCiMgT25seSBzZXQgTEFORyBhbmQgTENfQUxMIHRvIEMgaWYgYWxyZWFkeSBzZXQuCiMgVGhl
c2UgbXVzdCBub3QgYmUgc2V0IHVuY29uZGl0aW9uYWxseSBiZWNhdXNlIG5vdCBhbGwgc3lzdGVt
cyB1bmRlcnN0YW5kCiMgZS5nLiBMQU5HPUMgKG5vdGFibHkgU0NPKS4KIyBXZSBzYXZlIHRoZSBv
bGQgdmFsdWVzIHRvIHJlc3RvcmUgZHVyaW5nIGV4ZWN1dGUgbW9kZS4KaWYgdGVzdCAiJHtMQ19B
TEwrc2V0fSIgPSBzZXQ7IHRoZW4KICBzYXZlX0xDX0FMTD0iJExDX0FMTCI7IExDX0FMTD1DOyBl
eHBvcnQgTENfQUxMCmZpCmlmIHRlc3QgIiR7TEFORytzZXR9IiA9IHNldDsgdGhlbgogIHNhdmVf
TEFORz0iJExBTkciOyBMQU5HPUM7IGV4cG9ydCBMQU5HCmZpCgppZiB0ZXN0ICIkTFRDT05GSUdf
VkVSU0lPTiIgIT0gIiRWRVJTSU9OIjsgdGhlbgogIGVjaG8gIiRtb2RlbmFtZTogbHRjb25maWcg
dmVyc2lvbiBcYCRMVENPTkZJR19WRVJTSU9OJyBkb2VzIG5vdCBtYXRjaCAkUFJPR1JBTSB2ZXJz
aW9uIFxgJFZFUlNJT04nIiAxPiYyCiAgZWNobyAiRmF0YWwgY29uZmlndXJhdGlvbiBlcnJvci4g
IFNlZSB0aGUgJFBBQ0tBR0UgZG9jcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iIDE+JjIKICBleGl0
IDEKZmkKCmlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllcyAmJiB0ZXN0ICIkYnVp
bGRfb2xkX2xpYnMiICE9IHllczsgdGhlbgogIGVjaG8gIiRtb2RlbmFtZTogbm90IGNvbmZpZ3Vy
ZWQgdG8gYnVpbGQgYW55IGtpbmQgb2YgbGlicmFyeSIgMT4mMgogIGVjaG8gIkZhdGFsIGNvbmZp
Z3VyYXRpb24gZXJyb3IuICBTZWUgdGhlICRQQUNLQUdFIGRvY3MgZm9yIG1vcmUgaW5mb3JtYXRp
b24uIiAxPiYyCiAgZXhpdCAxCmZpCgojIEdsb2JhbCB2YXJpYWJsZXMuCm1vZGU9JGRlZmF1bHRf
bW9kZQpub25vcHQ9CnByZXY9CnByZXZvcHQ9CnJ1bj0Kc2hvdz0iJGVjaG8iCnNob3dfaGVscD0K
ZXhlY3V0ZV9kbGZpbGVzPQpsbzJvPSJzL1xcLmxvXCQvLiR7b2JqZXh0fS8iCm8ybG89InMvXFwu
JHtvYmpleHR9XCQvLmxvLyIKCiMgUGFyc2Ugb3VyIGNvbW1hbmQgbGluZSBvcHRpb25zIG9uY2Us
IHRob3JvdWdobHkuCndoaWxlIHRlc3QgJCMgLWd0IDAKZG8KICBhcmc9IiQxIgogIHNoaWZ0Cgog
IGNhc2UgIiRhcmciIGluCiAgLSo9Kikgb3B0YXJnPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUg
J3MvWy1fYS16QS1aMC05XSo9Ly8nYCA7OwogICopIG9wdGFyZz0gOzsKICBlc2FjCgogICMgSWYg
dGhlIHByZXZpb3VzIG9wdGlvbiBuZWVkcyBhbiBhcmd1bWVudCwgYXNzaWduIGl0LgogIGlmIHRl
c3QgLW4gIiRwcmV2IjsgdGhlbgogICAgY2FzZSAiJHByZXYiIGluCiAgICBleGVjdXRlX2RsZmls
ZXMpCiAgICAgIGV2YWwgIiRwcmV2PVwiXCQkcHJldiBcJGFyZ1wiIgogICAgICA7OwogICAgKikK
ICAgICAgZXZhbCAiJHByZXY9XCRhcmciCiAgICAgIDs7CiAgICBlc2FjCgogICAgcHJldj0KICAg
IHByZXZvcHQ9CiAgICBjb250aW51ZQogIGZpCgogICMgSGF2ZSB3ZSBzZWVuIGEgbm9uLW9wdGlv
bmFsIGFyZ3VtZW50IHlldD8KICBjYXNlICIkYXJnIiBpbgogIC0taGVscCkKICAgIHNob3dfaGVs
cD15ZXMKICAgIDs7CgogIC0tdmVyc2lvbikKICAgIGVjaG8gIiRQUk9HUkFNIChHTlUgJFBBQ0tB
R0UpICRWRVJTSU9OJFRJTUVTVEFNUCIKICAgIGV4aXQgMAogICAgOzsKCiAgLS1jb25maWcpCiAg
ICBzZWQgLWUgJzEsL14jIyMgQkVHSU4gTElCVE9PTCBDT05GSUcvZCcgLWUgJy9eIyMjIEVORCBM
SUJUT09MIENPTkZJRy8sJGQnICQwCiAgICBleGl0IDAKICAgIDs7CgogIC0tZGVidWcpCiAgICBl
Y2hvICIkcHJvZ25hbWU6IGVuYWJsaW5nIHNoZWxsIHRyYWNlIG1vZGUiCiAgICBzZXQgLXgKICAg
IDs7CgogIC0tZHJ5LXJ1biB8IC1uKQogICAgcnVuPToKICAgIDs7CgogIC0tZmVhdHVyZXMpCiAg
ICBlY2hvICJob3N0OiAkaG9zdCIKICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0g
eWVzOyB0aGVuCiAgICAgIGVjaG8gImVuYWJsZSBzaGFyZWQgbGlicmFyaWVzIgogICAgZWxzZQog
ICAgICBlY2hvICJkaXNhYmxlIHNoYXJlZCBsaWJyYXJpZXMiCiAgICBmaQogICAgaWYgdGVzdCAi
JGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICBlY2hvICJlbmFibGUgc3RhdGljIGxp
YnJhcmllcyIKICAgIGVsc2UKICAgICAgZWNobyAiZGlzYWJsZSBzdGF0aWMgbGlicmFyaWVzIgog
ICAgZmkKICAgIGV4aXQgMAogICAgOzsKCiAgLS1maW5pc2gpIG1vZGU9ImZpbmlzaCIgOzsKCiAg
LS1tb2RlKSBwcmV2b3B0PSItLW1vZGUiIHByZXY9bW9kZSA7OwogIC0tbW9kZT0qKSBtb2RlPSIk
b3B0YXJnIiA7OwoKICAtLXF1aWV0IHwgLS1zaWxlbnQpCiAgICBzaG93PToKICAgIDs7CgogIC1k
bG9wZW4pCiAgICBwcmV2b3B0PSItZGxvcGVuIgogICAgcHJldj1leGVjdXRlX2RsZmlsZXMKICAg
IDs7CgogIC0qKQogICAgJGVjaG8gIiRtb2RlbmFtZTogdW5yZWNvZ25pemVkIG9wdGlvbiBcYCRh
cmcnIiAxPiYyCiAgICAkZWNobyAiJGhlbHAiIDE+JjIKICAgIGV4aXQgMQogICAgOzsKCiAgKikK
ICAgIG5vbm9wdD0iJGFyZyIKICAgIGJyZWFrCiAgICA7OwogIGVzYWMKZG9uZQoKaWYgdGVzdCAt
biAiJHByZXZvcHQiOyB0aGVuCiAgJGVjaG8gIiRtb2RlbmFtZTogb3B0aW9uIFxgJHByZXZvcHQn
IHJlcXVpcmVzIGFuIGFyZ3VtZW50IiAxPiYyCiAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgZXhpdCAx
CmZpCgppZiB0ZXN0IC16ICIkc2hvd19oZWxwIjsgdGhlbgoKICAjIEluZmVyIHRoZSBvcGVyYXRp
b24gbW9kZS4KICBpZiB0ZXN0IC16ICIkbW9kZSI7IHRoZW4KICAgIGNhc2UgIiRub25vcHQiIGlu
CiAgICAqY2MgfCAqKysgfCBnY2MqIHwgKi1nY2MqKQogICAgICBtb2RlPWxpbmsKICAgICAgZm9y
IGFyZwogICAgICBkbwoJY2FzZSAiJGFyZyIgaW4KCS1jKQoJICAgbW9kZT1jb21waWxlCgkgICBi
cmVhawoJICAgOzsKCWVzYWMKICAgICAgZG9uZQogICAgICA7OwogICAgKmRiIHwgKmRieCB8ICpz
dHJhY2UgfCAqdHJ1c3MpCiAgICAgIG1vZGU9ZXhlY3V0ZQogICAgICA7OwogICAgKmluc3RhbGwq
fGNwfG12KQogICAgICBtb2RlPWluc3RhbGwKICAgICAgOzsKICAgICpybSkKICAgICAgbW9kZT11
bmluc3RhbGwKICAgICAgOzsKICAgICopCiAgICAgICMgSWYgd2UgaGF2ZSBubyBtb2RlLCBidXQg
ZGxmaWxlcyB3ZXJlIHNwZWNpZmllZCwgdGhlbiBkbyBleGVjdXRlIG1vZGUuCiAgICAgIHRlc3Qg
LW4gIiRleGVjdXRlX2RsZmlsZXMiICYmIG1vZGU9ZXhlY3V0ZQoKICAgICAgIyBKdXN0IHVzZSB0
aGUgZGVmYXVsdCBvcGVyYXRpb24gbW9kZS4KICAgICAgaWYgdGVzdCAteiAiJG1vZGUiOyB0aGVu
CglpZiB0ZXN0IC1uICIkbm9ub3B0IjsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5n
OiBjYW5ub3QgaW5mZXIgb3BlcmF0aW9uIG1vZGUgZnJvbSBcYCRub25vcHQnIiAxPiYyCgllbHNl
CgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNhbm5vdCBpbmZlciBvcGVyYXRpb24gbW9k
ZSB3aXRob3V0IE1PREUtQVJHUyIgMT4mMgoJZmkKICAgICAgZmkKICAgICAgOzsKICAgIGVzYWMK
ICBmaQoKICAjIE9ubHkgZXhlY3V0ZSBtb2RlIGlzIGFsbG93ZWQgdG8gaGF2ZSAtZGxvcGVuIGZs
YWdzLgogIGlmIHRlc3QgLW4gIiRleGVjdXRlX2RsZmlsZXMiICYmIHRlc3QgIiRtb2RlIiAhPSBl
eGVjdXRlOyB0aGVuCiAgICAkZWNobyAiJG1vZGVuYW1lOiB1bnJlY29nbml6ZWQgb3B0aW9uIFxg
LWRsb3BlbiciIDE+JjIKICAgICRlY2hvICIkaGVscCIgMT4mMgogICAgZXhpdCAxCiAgZmkKCiAg
IyBDaGFuZ2UgdGhlIGhlbHAgbWVzc2FnZSB0byBhIG1vZGUtc3BlY2lmaWMgb25lLgogIGdlbmVy
aWNfaGVscD0iJGhlbHAiCiAgaGVscD0iVHJ5IFxgJG1vZGVuYW1lIC0taGVscCAtLW1vZGU9JG1v
ZGUnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKCiAgIyBUaGVzZSBtb2RlcyBhcmUgaW4gb3JkZXIg
b2YgZXhlY3V0aW9uIGZyZXF1ZW5jeSBzbyB0aGF0IHRoZXkgcnVuIHF1aWNrbHkuCiAgY2FzZSAi
JG1vZGUiIGluCiAgIyBsaWJ0b29sIGNvbXBpbGUgbW9kZQogIGNvbXBpbGUpCiAgICBtb2RlbmFt
ZT0iJG1vZGVuYW1lOiBjb21waWxlIgogICAgIyBHZXQgdGhlIGNvbXBpbGF0aW9uIGNvbW1hbmQg
YW5kIHRoZSBzb3VyY2UgZmlsZS4KICAgIGJhc2VfY29tcGlsZT0KICAgIGxhc3Rhcmc9CiAgICBz
cmNmaWxlPSIkbm9ub3B0IgogICAgc3VwcHJlc3Nfb3V0cHV0PQoKICAgIHVzZXJfdGFyZ2V0PW5v
CiAgICBmb3IgYXJnCiAgICBkbwogICAgICAjIEFjY2VwdCBhbnkgY29tbWFuZC1saW5lIG9wdGlv
bnMuCiAgICAgIGNhc2UgIiRhcmciIGluCiAgICAgIC1vKQoJaWYgdGVzdCAiJHVzZXJfdGFyZ2V0
IiAhPSAibm8iOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBjYW5ub3Qgc3BlY2lmeSBc
YC1vJyBtb3JlIHRoYW4gb25jZSIgMT4mMgoJICBleGl0IDEKCWZpCgl1c2VyX3RhcmdldD1uZXh0
Cgk7OwoKICAgICAgLXN0YXRpYykKCWJ1aWxkX29sZF9saWJzPXllcwoJY29udGludWUKCTs7CiAg
ICAgIGVzYWMKCiAgICAgIGNhc2UgIiR1c2VyX3RhcmdldCIgaW4KICAgICAgbmV4dCkKCSMgVGhl
IG5leHQgb25lIGlzIHRoZSAtbyB0YXJnZXQgbmFtZQoJdXNlcl90YXJnZXQ9eWVzCgljb250aW51
ZQoJOzsKICAgICAgeWVzKQoJIyBXZSBnb3QgdGhlIG91dHB1dCBmaWxlCgl1c2VyX3RhcmdldD1z
ZXQKCWxpYm9iaj0iJGFyZyIKCWNvbnRpbnVlCgk7OwogICAgICBlc2FjCgogICAgICAjIEFjY2Vw
dCB0aGUgY3VycmVudCBhcmd1bWVudCBhcyB0aGUgc291cmNlIGZpbGUuCiAgICAgIGxhc3Rhcmc9
IiRzcmNmaWxlIgogICAgICBzcmNmaWxlPSIkYXJnIgoKICAgICAgIyBBZXN0aGV0aWNhbGx5IHF1
b3RlIHRoZSBwcmV2aW91cyBhcmd1bWVudC4KCiAgICAgICMgQmFja3NsYXNoaWZ5IGFueSBiYWNr
c2xhc2hlcywgZG91YmxlIHF1b3RlcywgYW5kIGRvbGxhciBzaWducy4KICAgICAgIyBUaGVzZSBh
cmUgdGhlIG9ubHkgY2hhcmFjdGVycyB0aGF0IGFyZSBzdGlsbCBzcGVjaWFsbHkKICAgICAgIyBp
bnRlcnByZXRlZCBpbnNpZGUgb2YgZG91YmxlLXF1b3RlZCBzY3JpbmdzLgogICAgICBsYXN0YXJn
PWAkZWNobyAiWCRsYXN0YXJnIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKCiAgICAg
ICMgRG91YmxlLXF1b3RlIGFyZ3MgY29udGFpbmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVy
cy4KICAgICAgIyBNYW55IEJvdXJuZSBzaGVsbHMgY2Fubm90IGhhbmRsZSBjbG9zZSBicmFja2V0
cyBjb3JyZWN0bHkgaW4gc2NhbgogICAgICAjIHNldHMsIHNvIHdlIHNwZWNpZnkgaXQgc2VwYXJh
dGVseS4KICAgICAgY2FzZSAiJGxhc3RhcmciIGluCiAgICAgICpbXFtcflwjXF5cJlwqXChcKVx7
XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qKQoJbGFzdGFyZz0iXCIkbGFzdGFyZ1wiIgoJOzsKICAg
ICAgZXNhYwoKICAgICAgIyBBZGQgdGhlIHByZXZpb3VzIGFyZ3VtZW50IHRvIGJhc2VfY29tcGls
ZS4KICAgICAgaWYgdGVzdCAteiAiJGJhc2VfY29tcGlsZSI7IHRoZW4KCWJhc2VfY29tcGlsZT0i
JGxhc3RhcmciCiAgICAgIGVsc2UKCWJhc2VfY29tcGlsZT0iJGJhc2VfY29tcGlsZSAkbGFzdGFy
ZyIKICAgICAgZmkKICAgIGRvbmUKCiAgICBjYXNlICIkdXNlcl90YXJnZXQiIGluCiAgICBzZXQp
CiAgICAgIDs7CiAgICBubykKICAgICAgIyBHZXQgdGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgb2Jq
ZWN0LgogICAgICBsaWJvYmo9YCRlY2hvICJYJHNyY2ZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUl
J2AKICAgICAgOzsKICAgICopCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNp
ZnkgYSB0YXJnZXQgd2l0aCBcYC1vJyIgMT4mMgogICAgICBleGl0IDEKICAgICAgOzsKICAgIGVz
YWMKCiAgICAjIFJlY29nbml6ZSBzZXZlcmFsIGRpZmZlcmVudCBmaWxlIHN1ZmZpeGVzLgogICAg
IyBJZiB0aGUgdXNlciBzcGVjaWZpZXMgLW8gZmlsZS5vLCBpdCBpcyByZXBsYWNlZCB3aXRoIGZp
bGUubG8KICAgIHhmb3JtPSdbY0NGU2Ztc29dJwogICAgY2FzZSAiJGxpYm9iaiIgaW4KICAgICou
YWRhKSB4Zm9ybT1hZGEgOzsKICAgICouYWRiKSB4Zm9ybT1hZGIgOzsKICAgICouYWRzKSB4Zm9y
bT1hZHMgOzsKICAgICouYXNtKSB4Zm9ybT1hc20gOzsKICAgICouYysrKSB4Zm9ybT1jKysgOzsK
ICAgICouY2MpIHhmb3JtPWNjIDs7CiAgICAqLmNwcCkgeGZvcm09Y3BwIDs7CiAgICAqLmN4eCkg
eGZvcm09Y3h4IDs7CiAgICAqLmY5MCkgeGZvcm09ZjkwIDs7CiAgICAqLmZvcikgeGZvcm09Zm9y
IDs7CiAgICBlc2FjCgogICAgbGlib2JqPWAkZWNobyAiWCRsaWJvYmoiIHwgJFhzZWQgLWUgInMv
XC4keGZvcm0kLy5sby8iYAoKICAgIGNhc2UgIiRsaWJvYmoiIGluCiAgICAqLmxvKSBvYmo9YCRl
Y2hvICJYJGxpYm9iaiIgfCAkWHNlZCAtZSAiJGxvMm8iYCA7OwogICAgKikKICAgICAgJGVjaG8g
IiRtb2RlbmFtZTogY2Fubm90IGRldGVybWluZSBuYW1lIG9mIGxpYnJhcnkgb2JqZWN0IGZyb20g
XGAkbGlib2JqJyIgMT4mMgogICAgICBleGl0IDEKICAgICAgOzsKICAgIGVzYWMKCiAgICBpZiB0
ZXN0IC16ICIkYmFzZV9jb21waWxlIjsgdGhlbgogICAgICAkZWNobyAiJG1vZGVuYW1lOiB5b3Ug
bXVzdCBzcGVjaWZ5IGEgY29tcGlsYXRpb24gY29tbWFuZCIgMT4mMgogICAgICAkZWNobyAiJGhl
bHAiIDE+JjIKICAgICAgZXhpdCAxCiAgICBmaQoKICAgICMgRGVsZXRlIGFueSBsZWZ0b3ZlciBs
aWJyYXJ5IG9iamVjdHMuCiAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVu
CiAgICAgIHJlbW92ZWxpc3Q9IiRvYmogJGxpYm9iaiIKICAgIGVsc2UKICAgICAgcmVtb3ZlbGlz
dD0iJGxpYm9iaiIKICAgIGZpCgogICAgJHJ1biAkcm0gJHJlbW92ZWxpc3QKICAgIHRyYXAgIiRy
dW4gJHJtICRyZW1vdmVsaXN0OyBleGl0IDEiIDEgMiAxNQoKICAgICMgQ2FsY3VsYXRlIHRoZSBm
aWxlbmFtZSBvZiB0aGUgb3V0cHV0IG9iamVjdCBpZiBjb21waWxlciBkb2VzCiAgICAjIG5vdCBz
dXBwb3J0IC1vIHdpdGggLWMKICAgIGlmIHRlc3QgIiRjb21waWxlcl9jX28iID0gbm87IHRoZW4K
ICAgICAgb3V0cHV0X29iaj1gJGVjaG8gIlgkc3JjZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUn
IC1lICdzJVwuLiokJSUnYC4ke29iamV4dH0KICAgICAgbG9ja2ZpbGU9IiRvdXRwdXRfb2JqLmxv
Y2siCiAgICAgIHJlbW92ZWxpc3Q9IiRyZW1vdmVsaXN0ICRvdXRwdXRfb2JqICRsb2NrZmlsZSIK
ICAgICAgdHJhcCAiJHJ1biAkcm0gJHJlbW92ZWxpc3Q7IGV4aXQgMSIgMSAyIDE1CiAgICBlbHNl
CiAgICAgIG5lZWRfbG9ja3M9bm8KICAgICAgbG9ja2ZpbGU9CiAgICBmaQoKICAgICMgTG9jayB0
aGlzIGNyaXRpY2FsIHNlY3Rpb24gaWYgaXQgaXMgbmVlZGVkCiAgICAjIFdlIHVzZSB0aGlzIHNj
cmlwdCBmaWxlIHRvIG1ha2UgdGhlIGxpbmssIGl0IGF2b2lkcyBjcmVhdGluZyBhIG5ldyBmaWxl
CiAgICBpZiB0ZXN0ICIkbmVlZF9sb2NrcyIgPSB5ZXM7IHRoZW4KICAgICAgdW50aWwgbG4gIiQw
IiAiJGxvY2tmaWxlIiAyPi9kZXYvbnVsbDsgZG8KCSRzaG93ICJXYWl0aW5nIGZvciAkbG9ja2Zp
bGUgdG8gYmUgcmVtb3ZlZCIKCXNsZWVwIDIKICAgICAgZG9uZQogICAgZWxpZiB0ZXN0ICIkbmVl
ZF9sb2NrcyIgPSB3YXJuOyB0aGVuCiAgICAgIGlmIHRlc3QgLWYgIiRsb2NrZmlsZSI7IHRoZW4K
CWVjaG8gIlwKKioqIEVSUk9SLCAkbG9ja2ZpbGUgZXhpc3RzIGFuZCBjb250YWluczoKYGNhdCAk
bG9ja2ZpbGUgMj4vZGV2L251bGxgCgpUaGlzIGluZGljYXRlcyB0aGF0IGFub3RoZXIgcHJvY2Vz
cyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCnRlbXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxp
YnRvb2wgY291bGQgbm90IHdvcmsgYXJvdW5kIGl0IGJlY2F1c2UKeW91ciBjb21waWxlciBkb2Vz
IG5vdCBzdXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQpyZXBlYXQgdGhp
cyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5jZSwgYnV0IHlvdSBoYWQgYmV0
dGVyCmF2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwgb3Ig
Z2V0IGEgYmV0dGVyCmNvbXBpbGVyLiIKCgkkcnVuICRybSAkcmVtb3ZlbGlzdAoJZXhpdCAxCiAg
ICAgIGZpCiAgICAgIGVjaG8gJHNyY2ZpbGUgPiAiJGxvY2tmaWxlIgogICAgZmkKCiAgICBpZiB0
ZXN0IC1uICIkZml4X3NyY2ZpbGVfcGF0aCI7IHRoZW4KICAgICAgZXZhbCBzcmNmaWxlPVwiJGZp
eF9zcmNmaWxlX3BhdGhcIgogICAgZmkKCiAgICAjIE9ubHkgYnVpbGQgYSBQSUMgb2JqZWN0IGlm
IHdlIGFyZSBidWlsZGluZyBsaWJ0b29sIGxpYnJhcmllcy4KICAgIGlmIHRlc3QgIiRidWlsZF9s
aWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCiAgICAgICMgV2l0aG91dCB0aGlzIGFzc2lnbm1lbnQs
IGJhc2VfY29tcGlsZSBnZXRzIGVtcHRpZWQuCiAgICAgIGZic2RfaGlkZW91c19zaF9idWc9JGJh
c2VfY29tcGlsZQoKICAgICAgIyBBbGwgcGxhdGZvcm1zIHVzZSAtRFBJQywgdG8gbm90aWZ5IHBy
ZXByb2Nlc3NlZCBhc3NlbWJsZXIgY29kZS4KICAgICAgY29tbWFuZD0iJGJhc2VfY29tcGlsZSAk
c3JjZmlsZSAkcGljX2ZsYWcgLURQSUMiCiAgICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIg
PSB5ZXM7IHRoZW4KCWxvX2xpYm9iaj0iJGxpYm9iaiIKCWRpcj1gJGVjaG8gIlgkbGlib2JqIiB8
ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCglpZiB0ZXN0ICJYJGRpciIgPSAiWCRsaWJvYmoiOyB0
aGVuCgkgIGRpcj0iJG9iamRpciIKCWVsc2UKCSAgZGlyPSIkZGlyLyRvYmpkaXIiCglmaQoJbGli
b2JqPSIkZGlyLyJgJGVjaG8gIlgkbGlib2JqIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgoJaWYg
dGVzdCAtZCAiJGRpciI7IHRoZW4KCSAgJHNob3cgIiRybSAkbGlib2JqIgoJICAkcnVuICRybSAk
bGlib2JqCgllbHNlCgkgICRzaG93ICIkbWtkaXIgJGRpciIKCSAgJHJ1biAkbWtkaXIgJGRpcgoJ
ICBzdGF0dXM9JD8KCSAgaWYgdGVzdCAkc3RhdHVzIC1uZSAwICYmIHRlc3QgISAtZCAkZGlyOyB0
aGVuCgkgICAgZXhpdCAkc3RhdHVzCgkgIGZpCglmaQogICAgICBmaQogICAgICBpZiB0ZXN0ICIk
Y29tcGlsZXJfb19sbyIgPSB5ZXM7IHRoZW4KCW91dHB1dF9vYmo9IiRsaWJvYmoiCgljb21tYW5k
PSIkY29tbWFuZCAtbyAkb3V0cHV0X29iaiIKICAgICAgZWxpZiB0ZXN0ICIkY29tcGlsZXJfY19v
IiA9IHllczsgdGhlbgoJb3V0cHV0X29iaj0iJG9iaiIKCWNvbW1hbmQ9IiRjb21tYW5kIC1vICRv
dXRwdXRfb2JqIgogICAgICBmaQoKICAgICAgJHJ1biAkcm0gIiRvdXRwdXRfb2JqIgogICAgICAk
c2hvdyAiJGNvbW1hbmQiCiAgICAgIGlmICRydW4gZXZhbCAiJGNvbW1hbmQiOyB0aGVuIDoKICAg
ICAgZWxzZQoJdGVzdCAtbiAiJG91dHB1dF9vYmoiICYmICRydW4gJHJtICRyZW1vdmVsaXN0Cgll
eGl0IDEKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm4gJiYKCSB0
ZXN0IHgiYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgIiAhPSB4IiRzcmNmaWxlIjsgdGhlbgoJ
ZWNobyAiXAoqKiogRVJST1IsICRsb2NrZmlsZSBjb250YWluczoKYGNhdCAkbG9ja2ZpbGUgMj4v
ZGV2L251bGxgCgpidXQgaXQgc2hvdWxkIGNvbnRhaW46CiRzcmNmaWxlCgpUaGlzIGluZGljYXRl
cyB0aGF0IGFub3RoZXIgcHJvY2VzcyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCnRlbXBvcmFy
eSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291bGQgbm90IHdvcmsgYXJvdW5kIGl0IGJlY2F1
c2UKeW91ciBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhl
ci4gIElmIHlvdQpyZXBlYXQgdGhpcyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNo
YW5jZSwgYnV0IHlvdSBoYWQgYmV0dGVyCmF2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAtaikg
aW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0dGVyCmNvbXBpbGVyLiIKCgkkcnVuICRybSAk
cmVtb3ZlbGlzdAoJZXhpdCAxCiAgICAgIGZpCgogICAgICAjIEp1c3QgbW92ZSB0aGUgb2JqZWN0
IGlmIG5lZWRlZCwgdGhlbiBnbyBvbiB0byBjb21waWxlIHRoZSBuZXh0IG9uZQogICAgICBpZiB0
ZXN0IHgiJG91dHB1dF9vYmoiICE9IHgiJGxpYm9iaiI7IHRoZW4KCSRzaG93ICIkbXYgJG91dHB1
dF9vYmogJGxpYm9iaiIKCWlmICRydW4gJG12ICRvdXRwdXRfb2JqICRsaWJvYmo7IHRoZW4gOgoJ
ZWxzZQoJICBlcnJvcj0kPwoJICAkcnVuICRybSAkcmVtb3ZlbGlzdAoJICBleGl0ICRlcnJvcgoJ
ZmkKICAgICAgZmkKCiAgICAgICMgSWYgd2UgaGF2ZSBubyBwaWNfZmxhZywgdGhlbiBjb3B5IHRo
ZSBvYmplY3QgaW50byBwbGFjZSBhbmQgZmluaXNoLgogICAgICBpZiB0ZXN0IC16ICIkcGljX2Zs
YWciICYmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KCSMgUmVuYW1lIHRoZSAu
bG8gZnJvbSB3aXRoaW4gb2JqZGlyIHRvIG9iagoJaWYgdGVzdCAtZiAkb2JqOyB0aGVuCgkgICRz
aG93ICRybSAkb2JqCgkgICRydW4gJHJtICRvYmoKCWZpCgoJJHNob3cgIiRtdiAkbGlib2JqICRv
YmoiCglpZiAkcnVuICRtdiAkbGlib2JqICRvYmo7IHRoZW4gOgoJZWxzZQoJICBlcnJvcj0kPwoJ
ICAkcnVuICRybSAkcmVtb3ZlbGlzdAoJICBleGl0ICRlcnJvcgoJZmkKCgl4ZGlyPWAkZWNobyAi
WCRvYmoiIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKCWlmIHRlc3QgIlgkeGRpciIgPSAiWCRv
YmoiOyB0aGVuCgkgIHhkaXI9Ii4iCgllbHNlCgkgIHhkaXI9IiR4ZGlyIgoJZmkKCWJhc2VvYmo9
YCRlY2hvICJYJG9iaiIgfCAkWHNlZCAtZSAicyUuKi8lJSJgCglsaWJvYmo9YCRlY2hvICJYJGJh
c2VvYmoiIHwgJFhzZWQgLWUgIiRvMmxvImAKCSMgTm93IGFycmFuZ2UgdGhhdCBvYmogYW5kIGxv
X2xpYm9iaiBiZWNvbWUgdGhlIHNhbWUgZmlsZQoJJHNob3cgIihjZCAkeGRpciAmJiAkTE5fUyAk
YmFzZW9iaiAkbGlib2JqKSIKCWlmICRydW4gZXZhbCAnKGNkICR4ZGlyICYmICRMTl9TICRiYXNl
b2JqICRsaWJvYmopJzsgdGhlbgoJICBleGl0IDAKCWVsc2UKCSAgZXJyb3I9JD8KCSAgJHJ1biAk
cm0gJHJlbW92ZWxpc3QKCSAgZXhpdCAkZXJyb3IKCWZpCiAgICAgIGZpCgogICAgICAjIEFsbG93
IGVycm9yIG1lc3NhZ2VzIG9ubHkgZnJvbSB0aGUgZmlyc3QgY29tcGlsYXRpb24uCiAgICAgIHN1
cHByZXNzX291dHB1dD0nID4vZGV2L251bGwgMj4mMScKICAgIGZpCgogICAgIyBPbmx5IGJ1aWxk
IGEgcG9zaXRpb24tZGVwZW5kZW50IG9iamVjdCBpZiB3ZSBidWlsZCBvbGQgbGlicmFyaWVzLgog
ICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICBjb21tYW5kPSIk
YmFzZV9jb21waWxlICRzcmNmaWxlIgogICAgICBpZiB0ZXN0ICIkY29tcGlsZXJfY19vIiA9IHll
czsgdGhlbgoJY29tbWFuZD0iJGNvbW1hbmQgLW8gJG9iaiIKCW91dHB1dF9vYmo9IiRvYmoiCiAg
ICAgIGZpCgogICAgICAjIFN1cHByZXNzIGNvbXBpbGVyIG91dHB1dCBpZiB3ZSBhbHJlYWR5IGRp
ZCBhIFBJQyBjb21waWxhdGlvbi4KICAgICAgY29tbWFuZD0iJGNvbW1hbmQkc3VwcHJlc3Nfb3V0
cHV0IgogICAgICAkcnVuICRybSAiJG91dHB1dF9vYmoiCiAgICAgICRzaG93ICIkY29tbWFuZCIK
ICAgICAgaWYgJHJ1biBldmFsICIkY29tbWFuZCI7IHRoZW4gOgogICAgICBlbHNlCgkkcnVuICRy
bSAkcmVtb3ZlbGlzdAoJZXhpdCAxCiAgICAgIGZpCgogICAgICBpZiB0ZXN0ICIkbmVlZF9sb2Nr
cyIgPSB3YXJuICYmCgkgdGVzdCB4ImBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYCIgIT0geCIk
c3JjZmlsZSI7IHRoZW4KCWVjaG8gIlwKKioqIEVSUk9SLCAkbG9ja2ZpbGUgY29udGFpbnM6CmBj
YXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYAoKYnV0IGl0IHNob3VsZCBjb250YWluOgokc3JjZmls
ZQoKVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVzZSB0
aGUgc2FtZQp0ZW1wb3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0b29sIGNvdWxkIG5vdCB3b3Jr
IGFyb3VuZCBpdCBiZWNhdXNlCnlvdXIgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBcYC1jJyBh
bmQgXGAtbycgdG9nZXRoZXIuICBJZiB5b3UKcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1h
eSBzdWNjZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgphdm9pZCBwYXJhbGxlbCBi
dWlsZHMgKG1ha2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdldCBhIGJldHRlcgpjb21waWxl
ci4iCgoJJHJ1biAkcm0gJHJlbW92ZWxpc3QKCWV4aXQgMQogICAgICBmaQoKICAgICAgIyBKdXN0
IG1vdmUgdGhlIG9iamVjdCBpZiBuZWVkZWQKICAgICAgaWYgdGVzdCB4IiRvdXRwdXRfb2JqIiAh
PSB4IiRvYmoiOyB0aGVuCgkkc2hvdyAiJG12ICRvdXRwdXRfb2JqICRvYmoiCglpZiAkcnVuICRt
diAkb3V0cHV0X29iaiAkb2JqOyB0aGVuIDoKCWVsc2UKCSAgZXJyb3I9JD8KCSAgJHJ1biAkcm0g
JHJlbW92ZWxpc3QKCSAgZXhpdCAkZXJyb3IKCWZpCiAgICAgIGZpCgogICAgICAjIENyZWF0ZSBh
biBpbnZhbGlkIGxpYnRvb2wgb2JqZWN0IGlmIG5vIFBJQywgc28gdGhhdCB3ZSBkbyBub3QKICAg
ICAgIyBhY2NpZGVudGFsbHkgbGluayBpdCBpbnRvIGEgcHJvZ3JhbS4KICAgICAgaWYgdGVzdCAi
JGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVuCgkkc2hvdyAiZWNobyB0aW1lc3RhbXAg
PiAkbGlib2JqIgoJJHJ1biBldmFsICJlY2hvIHRpbWVzdGFtcCA+IFwkbGlib2JqIiB8fCBleGl0
ICQ/CiAgICAgIGVsc2UKCSMgTW92ZSB0aGUgLmxvIGZyb20gd2l0aGluIG9iamRpcgoJJHNob3cg
IiRtdiAkbGlib2JqICRsb19saWJvYmoiCglpZiAkcnVuICRtdiAkbGlib2JqICRsb19saWJvYmo7
IHRoZW4gOgoJZWxzZQoJICBlcnJvcj0kPwoJICAkcnVuICRybSAkcmVtb3ZlbGlzdAoJICBleGl0
ICRlcnJvcgoJZmkKICAgICAgZmkKICAgIGZpCgogICAgIyBVbmxvY2sgdGhlIGNyaXRpY2FsIHNl
Y3Rpb24gaWYgaXQgd2FzIGxvY2tlZAogICAgaWYgdGVzdCAiJG5lZWRfbG9ja3MiICE9IG5vOyB0
aGVuCiAgICAgICRybSAiJGxvY2tmaWxlIgogICAgZmkKCiAgICBleGl0IDAKICAgIDs7CgogICMg
bGlidG9vbCBsaW5rIG1vZGUKICBsaW5rKQogICAgbW9kZW5hbWU9IiRtb2RlbmFtZTogbGluayIK
ICAgIGNhc2UgIiRob3N0IiBpbgogICAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLW9z
MiopCiAgICAgICMgSXQgaXMgaW1wb3NzaWJsZSB0byBsaW5rIGEgZGxsIHdpdGhvdXQgdGhpcyBz
ZXR0aW5nLCBhbmQKICAgICAgIyB3ZSBzaG91bGRuJ3QgZm9yY2UgdGhlIG1ha2VmaWxlIG1haW50
YWluZXIgdG8gZmlndXJlIG91dAogICAgICAjIHdoaWNoIHN5c3RlbSB3ZSBhcmUgY29tcGlsaW5n
IGZvciBpbiBvcmRlciB0byBwYXNzIGFuIGV4dHJhCiAgICAgICMgZmxhZyBmb3IgZXZlcnkgbGli
dG9vbCBpbnZva2F0aW9uLgogICAgICAjIGFsbG93X3VuZGVmaW5lZD1ubwoKICAgICAgIyBGSVhN
RTogVW5mb3J0dW5hdGVseSwgdGhlcmUgYXJlIHByb2JsZW1zIHdpdGggdGhlIGFib3ZlIHdoZW4g
dHJ5aW5nCiAgICAgICMgdG8gbWFrZSBhIGRsbCB3aGljaCBoYXMgdW5kZWZpbmVkIHN5bWJvbHMs
IGluIHdoaWNoIGNhc2Ugbm90CiAgICAgICMgZXZlbiBhIHN0YXRpYyBsaWJyYXJ5IGlzIGJ1aWx0
LiAgRm9yIG5vdywgd2UgbmVlZCB0byBzcGVjaWZ5CiAgICAgICMgLW5vLXVuZGVmaW5lZCBvbiB0
aGUgbGlidG9vbCBsaW5rIGxpbmUgd2hlbiB3ZSBjYW4gYmUgY2VydGFpbgogICAgICAjIHRoYXQg
YWxsIHN5bWJvbHMgYXJlIHNhdGlzZmllZCwgb3RoZXJ3aXNlIHdlIGdldCBhIHN0YXRpYyBsaWJy
YXJ5LgogICAgICBhbGxvd191bmRlZmluZWQ9eWVzCgogICAgICAjIFRoaXMgaXMgYSBzb3VyY2Ug
cHJvZ3JhbSB0aGF0IGlzIHVzZWQgdG8gY3JlYXRlIGRsbHMgb24gV2luZG93cwogICAgICAjIERv
bid0IHJlbW92ZSBub3IgbW9kaWZ5IHRoZSBzdGFydGluZyBhbmQgY2xvc2luZyBjb21tZW50cwoj
IC8qIGx0ZGxsLmMgc3RhcnRzIGhlcmUgKi8KIyAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4K
IyAjaW5jbHVkZSA8d2luZG93cy5oPgojICN1bmRlZiBXSU4zMl9MRUFOX0FORF9NRUFOCiMgI2lu
Y2x1ZGUgPHN0ZGlvLmg+CiMKIyAjaWZuZGVmIF9fQ1lHV0lOX18KIyAjICBpZmRlZiBfX0NZR1dJ
TjMyX18KIyAjICAgIGRlZmluZSBfX0NZR1dJTl9fIF9fQ1lHV0lOMzJfXwojICMgIGVuZGlmCiMg
I2VuZGlmCiMKIyAjaWZkZWYgX19jcGx1c3BsdXMKIyBleHRlcm4gIkMiIHsKIyAjZW5kaWYKIyBC
T09MIEFQSUVOVFJZIERsbE1haW4gKEhJTlNUQU5DRSBoSW5zdCwgRFdPUkQgcmVhc29uLCBMUFZP
SUQgcmVzZXJ2ZWQpOwojICNpZmRlZiBfX2NwbHVzcGx1cwojIH0KIyAjZW5kaWYKIwojICNpZmRl
ZiBfX0NZR1dJTl9fCiMgI2luY2x1ZGUgPGN5Z3dpbi9jeWd3aW5fZGxsLmg+CiMgREVDTEFSRV9D
WUdXSU5fRExMKCBEbGxNYWluICk7CiMgI2VuZGlmCiMgSElOU1RBTkNFIF9faERsbEluc3RhbmNl
X2Jhc2U7CiMKIyBCT09MIEFQSUVOVFJZCiMgRGxsTWFpbiAoSElOU1RBTkNFIGhJbnN0LCBEV09S
RCByZWFzb24sIExQVk9JRCByZXNlcnZlZCkKIyB7CiMgICBfX2hEbGxJbnN0YW5jZV9iYXNlID0g
aEluc3Q7CiMgICByZXR1cm4gVFJVRTsKIyB9CiMgLyogbHRkbGwuYyBlbmRzIGhlcmUgKi8KICAg
ICAgIyBUaGlzIGlzIGEgc291cmNlIHByb2dyYW0gdGhhdCBpcyB1c2VkIHRvIGNyZWF0ZSBpbXBv
cnQgbGlicmFyaWVzCiAgICAgICMgb24gV2luZG93cyBmb3IgZGxscyB3aGljaCBsYWNrIHRoZW0u
IERvbid0IHJlbW92ZSBub3IgbW9kaWZ5IHRoZQogICAgICAjIHN0YXJ0aW5nIGFuZCBjbG9zaW5n
IGNvbW1lbnRzCiMgLyogaW1wZ2VuLmMgc3RhcnRzIGhlcmUgKi8KIyAvKiAgIENvcHlyaWdodCAo
QykgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyAKIyAgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgR05VIGxpYnRvb2wuCiMgCiMgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMg
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yCiMgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgCiMgIFRo
aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAojICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgojICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCiMgCiMgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBp
ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgIEZvdW5kYXRpb24sIEluYy4sIDU5
IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiMg
ICovCiMgCiMgICNpbmNsdWRlIDxzdGRpby5oPgkJLyogZm9yIHByaW50ZigpICovCiMgICNpbmNs
dWRlIDx1bmlzdGQuaD4JCS8qIGZvciBvcGVuKCksIGxzZWVrKCksIHJlYWQoKSAqLwojICAjaW5j
bHVkZSA8ZmNudGwuaD4JCS8qIGZvciBPX1JET05MWSwgT19CSU5BUlkgKi8KIyAgI2luY2x1ZGUg
PHN0cmluZy5oPgkJLyogZm9yIHN0cmR1cCgpICovCiMgCiMgIHN0YXRpYyB1bnNpZ25lZCBpbnQK
IyAgcGVfZ2V0MTYgKGZkLCBvZmZzZXQpCiMgICAgICAgaW50IGZkOwojICAgICAgIGludCBvZmZz
ZXQ7CiMgIHsKIyAgICB1bnNpZ25lZCBjaGFyIGJbMl07CiMgICAgbHNlZWsgKGZkLCBvZmZzZXQs
IFNFRUtfU0VUKTsKIyAgICByZWFkIChmZCwgYiwgMik7CiMgICAgcmV0dXJuIGJbMF0gKyAoYlsx
XTw8OCk7CiMgIH0KIyAKIyAgc3RhdGljIHVuc2lnbmVkIGludAojICBwZV9nZXQzMiAoZmQsIG9m
ZnNldCkKIyAgICAgIGludCBmZDsKIyAgICAgIGludCBvZmZzZXQ7CiMgIHsKIyAgICB1bnNpZ25l
ZCBjaGFyIGJbNF07CiMgICAgbHNlZWsgKGZkLCBvZmZzZXQsIFNFRUtfU0VUKTsKIyAgICByZWFk
IChmZCwgYiwgNCk7CiMgICAgcmV0dXJuIGJbMF0gKyAoYlsxXTw8OCkgKyAoYlsyXTw8MTYpICsg
KGJbM108PDI0KTsKIyAgfQojIAojICBzdGF0aWMgdW5zaWduZWQgaW50CiMgIHBlX2FzMzIgKHB0
cikKIyAgICAgICB2b2lkICpwdHI7CiMgIHsKIyAgICB1bnNpZ25lZCBjaGFyICpiID0gcHRyOwoj
ICAgIHJldHVybiBiWzBdICsgKGJbMV08PDgpICsgKGJbMl08PDE2KSArIChiWzNdPDwyNCk7CiMg
IH0KIyAKIyAgaW50CiMgIG1haW4gKGFyZ2MsIGFyZ3YpCiMgICAgICBpbnQgYXJnYzsKIyAgICAg
IGNoYXIgKmFyZ3ZbXTsKIyAgewojICAgICAgaW50IGRsbDsKIyAgICAgIHVuc2lnbmVkIGxvbmcg
cGVfaGVhZGVyX29mZnNldCwgb3B0aGRyX29mcywgbnVtX2VudHJpZXMsIGk7CiMgICAgICB1bnNp
Z25lZCBsb25nIGV4cG9ydF9ydmEsIGV4cG9ydF9zaXplLCBuc2VjdGlvbnMsIHNlY3B0ciwgZXhw
cHRyOwojICAgICAgdW5zaWduZWQgbG9uZyBuYW1lX3J2YXMsIG5leHA7CiMgICAgICB1bnNpZ25l
ZCBjaGFyICpleHBkYXRhLCAqZXJ2YTsKIyAgICAgIGNoYXIgKmZpbGVuYW1lLCAqZGxsX25hbWU7
CiMgCiMgICAgICBmaWxlbmFtZSA9IGFyZ3ZbMV07CiMgCiMgICAgICBkbGwgPSBvcGVuKGZpbGVu
YW1lLCBPX1JET05MWXxPX0JJTkFSWSk7CiMgICAgICBpZiAoIWRsbCkKIyAgCXJldHVybiAxOwoj
IAojICAgICAgZGxsX25hbWUgPSBmaWxlbmFtZTsKIyAgICAKIyAgICAgIGZvciAoaT0wOyBmaWxl
bmFtZVtpXTsgaSsrKQojICAJaWYgKGZpbGVuYW1lW2ldID09ICcvJyB8fCBmaWxlbmFtZVtpXSA9
PSAnXFwnICB8fCBmaWxlbmFtZVtpXSA9PSAnOicpCiMgIAkgICAgZGxsX25hbWUgPSBmaWxlbmFt
ZSArIGkgKzE7CiMgCiMgICAgICBwZV9oZWFkZXJfb2Zmc2V0ID0gcGVfZ2V0MzIgKGRsbCwgMHgz
Yyk7CiMgICAgICBvcHRoZHJfb2ZzID0gcGVfaGVhZGVyX29mZnNldCArIDQgKyAyMDsKIyAgICAg
IG51bV9lbnRyaWVzID0gcGVfZ2V0MzIgKGRsbCwgb3B0aGRyX29mcyArIDkyKTsKIyAKIyAgICAg
IGlmIChudW1fZW50cmllcyA8IDEpIC8qIG5vIGV4cG9ydHMgKi8KIyAgCXJldHVybiAxOwojIAoj
ICAgICAgZXhwb3J0X3J2YSA9IHBlX2dldDMyIChkbGwsIG9wdGhkcl9vZnMgKyA5Nik7CiMgICAg
ICBleHBvcnRfc2l6ZSA9IHBlX2dldDMyIChkbGwsIG9wdGhkcl9vZnMgKyAxMDApOwojICAgICAg
bnNlY3Rpb25zID0gcGVfZ2V0MTYgKGRsbCwgcGVfaGVhZGVyX29mZnNldCArIDQgKzIpOwojICAg
ICAgc2VjcHRyID0gKHBlX2hlYWRlcl9vZmZzZXQgKyA0ICsgMjAgKwojICAJICAgICAgcGVfZ2V0
MTYgKGRsbCwgcGVfaGVhZGVyX29mZnNldCArIDQgKyAxNikpOwojIAojICAgICAgZXhwcHRyID0g
MDsKIyAgICAgIGZvciAoaSA9IDA7IGkgPCBuc2VjdGlvbnM7IGkrKykKIyAgICAgIHsKIyAgCWNo
YXIgc25hbWVbOF07CiMgIAl1bnNpZ25lZCBsb25nIHNlY3B0cjEgPSBzZWNwdHIgKyA0MCAqIGk7
CiMgIAl1bnNpZ25lZCBsb25nIHZhZGRyID0gcGVfZ2V0MzIgKGRsbCwgc2VjcHRyMSArIDEyKTsK
IyAgCXVuc2lnbmVkIGxvbmcgdnNpemUgPSBwZV9nZXQzMiAoZGxsLCBzZWNwdHIxICsgMTYpOwoj
ICAJdW5zaWduZWQgbG9uZyBmcHRyID0gcGVfZ2V0MzIgKGRsbCwgc2VjcHRyMSArIDIwKTsKIyAg
CWxzZWVrKGRsbCwgc2VjcHRyMSwgU0VFS19TRVQpOwojICAJcmVhZChkbGwsIHNuYW1lLCA4KTsK
IyAgCWlmICh2YWRkciA8PSBleHBvcnRfcnZhICYmIHZhZGRyK3ZzaXplID4gZXhwb3J0X3J2YSkK
IyAgCXsKIyAgCSAgICBleHBwdHIgPSBmcHRyICsgKGV4cG9ydF9ydmEgLSB2YWRkcik7CiMgIAkg
ICAgaWYgKGV4cG9ydF9ydmEgKyBleHBvcnRfc2l6ZSA+IHZhZGRyICsgdnNpemUpCiMgIAkJZXhw
b3J0X3NpemUgPSB2c2l6ZSAtIChleHBvcnRfcnZhIC0gdmFkZHIpOwojICAJICAgIGJyZWFrOwoj
ICAJfQojICAgICAgfQojIAojICAgICAgZXhwZGF0YSA9ICh1bnNpZ25lZCBjaGFyKiltYWxsb2Mo
ZXhwb3J0X3NpemUpOwojICAgICAgbHNlZWsgKGRsbCwgZXhwcHRyLCBTRUVLX1NFVCk7CiMgICAg
ICByZWFkIChkbGwsIGV4cGRhdGEsIGV4cG9ydF9zaXplKTsKIyAgICAgIGVydmEgPSBleHBkYXRh
IC0gZXhwb3J0X3J2YTsKIyAKIyAgICAgIG5leHAgPSBwZV9hczMyIChleHBkYXRhKzI0KTsKIyAg
ICAgIG5hbWVfcnZhcyA9IHBlX2FzMzIgKGV4cGRhdGErMzIpOwojIAojICAgICAgcHJpbnRmICgi
RVhQT1JUU1xuIik7CiMgICAgICBmb3IgKGkgPSAwOyBpPG5leHA7IGkrKykKIyAgICAgIHsKIyAg
CXVuc2lnbmVkIGxvbmcgbmFtZV9ydmEgPSBwZV9hczMyIChlcnZhK25hbWVfcnZhcytpKjQpOwoj
ICAJcHJpbnRmICgiXHQlcyBAICVsZCA7XG4iLCBlcnZhK25hbWVfcnZhLCAxKyBpKTsKIyAgICAg
IH0KIyAKIyAgICAgIHJldHVybiAwOwojICB9CiMgLyogaW1wZ2VuLmMgZW5kcyBoZXJlICovCiAg
ICAgIDs7CiAgICAqKQogICAgICBhbGxvd191bmRlZmluZWQ9eWVzCiAgICAgIDs7CiAgICBlc2Fj
CiAgICBjb21waWxlX2NvbW1hbmQ9IiRub25vcHQiCiAgICBmaW5hbGl6ZV9jb21tYW5kPSIkbm9u
b3B0IgoKICAgIGNvbXBpbGVfcnBhdGg9CiAgICBmaW5hbGl6ZV9ycGF0aD0KICAgIGNvbXBpbGVf
c2hsaWJwYXRoPQogICAgZmluYWxpemVfc2hsaWJwYXRoPQogICAgY29udmVuaWVuY2U9CiAgICBv
bGRfY29udmVuaWVuY2U9CiAgICBkZXBsaWJzPQogICAgbGlua29wdHM9CgogICAgaWYgdGVzdCAt
biAiJHNobGlicGF0aF92YXIiOyB0aGVuCiAgICAgICMgZ2V0IHRoZSBkaXJlY3RvcmllcyBsaXN0
ZWQgaW4gJHNobGlicGF0aF92YXIKICAgICAgZXZhbCBsaWJfc2VhcmNoX3BhdGg9XGBcJGVjaG8g
XCJYIFwkeyRzaGxpYnBhdGhfdmFyfVwiIFx8IFwkWHNlZCAtZSBcJ3MvOi8gL2dcJ1xgCiAgICBl
bHNlCiAgICAgIGxpYl9zZWFyY2hfcGF0aD0KICAgIGZpCiAgICAjIG5vdyBwcmVwZW5kIHRoZSBz
eXN0ZW0tc3BlY2lmaWMgb25lcwogICAgZXZhbCBsaWJfc2VhcmNoX3BhdGg9XCIkc3lzX2xpYl9z
ZWFyY2hfcGF0aF9zcGVjXCRsaWJfc2VhcmNoX3BhdGhcIgogICAgZXZhbCBzeXNfbGliX2Rsc2Vh
cmNoX3BhdGg9XCIkc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWNcIgogICAgCiAgICBhdm9pZF92
ZXJzaW9uPW5vCiAgICBkbGZpbGVzPQogICAgZGxwcmVmaWxlcz0KICAgIGRsc2VsZj1ubwogICAg
ZXhwb3J0X2R5bmFtaWM9bm8KICAgIGV4cG9ydF9zeW1ib2xzPQogICAgZXhwb3J0X3N5bWJvbHNf
cmVnZXg9CiAgICBnZW5lcmF0ZWQ9CiAgICBsaWJvYmpzPQogICAgbGlua19hZ2FpbnN0X2xpYnRv
b2xfbGlicz0KICAgIGx0bGlicz0KICAgIG1vZHVsZT1ubwogICAgb2Jqcz0KICAgIHByZWZlcl9z
dGF0aWNfbGlicz1ubwogICAgcHJlbG9hZD1ubwogICAgcHJldj0KICAgIHByZXZhcmc9CiAgICBy
ZWxlYXNlPQogICAgcnBhdGg9CiAgICB4cnBhdGg9CiAgICBwZXJtX3JwYXRoPQogICAgdGVtcF9y
cGF0aD0KICAgIHRocmVhZF9zYWZlPW5vCiAgICB2aW5mbz0KCiAgICAjIFdlIG5lZWQgdG8ga25v
dyAtc3RhdGljLCB0byBnZXQgdGhlIHJpZ2h0IG91dHB1dCBmaWxlbmFtZXMuCiAgICBmb3IgYXJn
CiAgICBkbwogICAgICBjYXNlICIkYXJnIiBpbgogICAgICAtYWxsLXN0YXRpYyB8IC1zdGF0aWMp
CglpZiB0ZXN0ICJYJGFyZyIgPSAiWC1hbGwtc3RhdGljIjsgdGhlbgoJICBpZiB0ZXN0ICIkYnVp
bGRfbGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0IC16ICIkbGlua19zdGF0aWNfZmxhZyI7IHRo
ZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBjb21wbGV0ZSBzdGF0aWMgbGlua2lu
ZyBpcyBpbXBvc3NpYmxlIGluIHRoaXMgY29uZmlndXJhdGlvbiIgMT4mMgoJICBmaQoJICBpZiB0
ZXN0IC1uICIkbGlua19zdGF0aWNfZmxhZyI7IHRoZW4KCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVu
X3NlbGZfc3RhdGljCgkgIGZpCgllbHNlCgkgIGlmIHRlc3QgLXogIiRwaWNfZmxhZyIgJiYgdGVz
dCAtbiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZGxvcGVuX3NlbGY9JGRsb3Blbl9z
ZWxmX3N0YXRpYwoJICBmaQoJZmkKCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJYnVpbGRfb2xkX2xp
YnM9eWVzCglwcmVmZXJfc3RhdGljX2xpYnM9eWVzCglicmVhawoJOzsKICAgICAgZXNhYwogICAg
ZG9uZQoKICAgICMgU2VlIGlmIG91ciBzaGFyZWQgYXJjaGl2ZXMgZGVwZW5kIG9uIHN0YXRpYyBh
cmNoaXZlcy4KICAgIHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzIiAmJiBidWls
ZF9vbGRfbGlicz15ZXMKCiAgICAjIEdvIHRocm91Z2ggdGhlIGFyZ3VtZW50cywgdHJhbnNmb3Jt
aW5nIHRoZW0gb24gdGhlIHdheS4KICAgIHdoaWxlIHRlc3QgJCMgLWd0IDA7IGRvCiAgICAgIGFy
Zz0iJDEiCiAgICAgIHNoaWZ0CgogICAgICAjIElmIHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZHMg
YW4gYXJndW1lbnQsIGFzc2lnbiBpdC4KICAgICAgaWYgdGVzdCAtbiAiJHByZXYiOyB0aGVuCglj
YXNlICIkcHJldiIgaW4KCW91dHB1dCkKCSAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21t
YW5kIEBPVVRQVVRAIgoJICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCBAT1VU
UFVUQCIKCSAgOzsKCWVzYWMKCgljYXNlICIkcHJldiIgaW4KCWRsZmlsZXN8ZGxwcmVmaWxlcykK
CSAgaWYgdGVzdCAiJHByZWxvYWQiID0gbm87IHRoZW4KCSAgICAjIEFkZCB0aGUgc3ltYm9sIG9i
amVjdCBpbnRvIHRoZSBsaW5raW5nIGNvbW1hbmRzLgoJICAgIGNvbXBpbGVfY29tbWFuZD0iJGNv
bXBpbGVfY29tbWFuZCBAU1lNRklMRUAiCgkgICAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXpl
X2NvbW1hbmQgQFNZTUZJTEVAIgoJICAgIHByZWxvYWQ9eWVzCgkgIGZpCgkgIGNhc2UgIiRhcmci
IGluCgkgICoubGEgfCAqLmxvKSA7OyAgIyBXZSBoYW5kbGUgdGhlc2UgY2FzZXMgYmVsb3cuCgkg
IGZvcmNlKQoJICAgIGlmIHRlc3QgIiRkbHNlbGYiID0gbm87IHRoZW4KCSAgICAgIGRsc2VsZj1u
ZWVkbGVzcwoJICAgICAgZXhwb3J0X2R5bmFtaWM9eWVzCgkgICAgZmkKCSAgICBwcmV2PQoJICAg
IGNvbnRpbnVlCgkgICAgOzsKCSAgc2VsZikKCSAgICBpZiB0ZXN0ICIkcHJldiIgPSBkbHByZWZp
bGVzOyB0aGVuCgkgICAgICBkbHNlbGY9eWVzCgkgICAgZWxpZiB0ZXN0ICIkcHJldiIgPSBkbGZp
bGVzICYmIHRlc3QgIiRkbG9wZW5fc2VsZiIgIT0geWVzOyB0aGVuCgkgICAgICBkbHNlbGY9eWVz
CgkgICAgZWxzZQoJICAgICAgZGxzZWxmPW5lZWRsZXNzCgkgICAgICBleHBvcnRfZHluYW1pYz15
ZXMKCSAgICBmaQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICAqKQoJICAgIGlm
IHRlc3QgIiRwcmV2IiA9IGRsZmlsZXM7IHRoZW4KCSAgICAgIGRsZmlsZXM9IiRkbGZpbGVzICRh
cmciCgkgICAgZWxzZQoJICAgICAgZGxwcmVmaWxlcz0iJGRscHJlZmlsZXMgJGFyZyIKCSAgICBm
aQoJICAgIHByZXY9CgkgICAgOzsKCSAgZXNhYwoJICA7OwoJZXhwc3ltcykKCSAgZXhwb3J0X3N5
bWJvbHM9IiRhcmciCgkgIGlmIHRlc3QgISAtZiAiJGFyZyI7IHRoZW4KCSAgICAkZWNobyAiJG1v
ZGVuYW1lOiBzeW1ib2wgZmlsZSBcYCRhcmcnIGRvZXMgbm90IGV4aXN0IgoJICAgIGV4aXQgMQoJ
ICBmaQoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJZXhwc3ltc19yZWdleCkKCSAgZXhwb3J0
X3N5bWJvbHNfcmVnZXg9IiRhcmciCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglyZWxlYXNl
KQoJICBpZiB0ZXN0ICIkcmVsZWFzZV9zdWZmaXgiID0gYWxsOyB0aGVuCgkgICAgcmVsZWFzZT0i
JGFyZyIKCSAgZWxpZiB0ZXN0ICIkcmVsZWFzZV9zdWZmaXgiID0geWVzOyB0aGVuCgkgIHJlbGVh
c2U9Ii0kYXJnIgoJICBmaQoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJcnBhdGggfCB4cnBh
dGgpCgkgICMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgoJICBjYXNlICIkYXJnIiBpbgoJICBb
XFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7CgkgICopCgkgICAgJGVjaG8gIiRtb2RlbmFtZTog
b25seSBhYnNvbHV0ZSBydW4tcGF0aHMgYXJlIGFsbG93ZWQiIDE+JjIKCSAgICBleGl0IDEKCSAg
ICA7OwoJICBlc2FjCgkgIGlmIHRlc3QgIiRwcmV2IiA9IHJwYXRoOyB0aGVuCgkgICAgY2FzZSAi
JHJwYXRoICIgaW4KCSAgICAqIiAkYXJnICIqKSA7OwoJICAgICopIHJwYXRoPSIkcnBhdGggJGFy
ZyIgOzsKCSAgICBlc2FjCgkgIGVsc2UKCSAgICBjYXNlICIkeHJwYXRoICIgaW4KCSAgICAqIiAk
YXJnICIqKSA7OwoJICAgICopIHhycGF0aD0iJHhycGF0aCAkYXJnIiA7OwoJICAgIGVzYWMKCSAg
ZmkKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCSopCgkgIGV2YWwgIiRwcmV2PVwiXCRhcmdc
IiIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCWVzYWMKICAgICAgZmkKCiAgICAgIHByZXZh
cmc9IiRhcmciCgogICAgICBjYXNlICIkYXJnIiBpbgogICAgICAtYWxsLXN0YXRpYykKCWlmIHRl
c3QgLW4gIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICBjb21waWxlX2NvbW1hbmQ9IiRjb21w
aWxlX2NvbW1hbmQgJGxpbmtfc3RhdGljX2ZsYWciCgkgIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5h
bGl6ZV9jb21tYW5kICRsaW5rX3N0YXRpY19mbGFnIgoJZmkKCWNvbnRpbnVlCgk7OwoKICAgICAg
LWFsbG93LXVuZGVmaW5lZCkKCSMgRklYTUU6IHJlbW92ZSB0aGlzIGZsYWcgc29tZXRpbWUgaW4g
dGhlIGZ1dHVyZS4KCSRlY2hvICIkbW9kZW5hbWU6IFxgLWFsbG93LXVuZGVmaW5lZCcgaXMgZGVw
cmVjYXRlZCBiZWNhdXNlIGl0IGlzIHRoZSBkZWZhdWx0IiAxPiYyCgljb250aW51ZQoJOzsKCiAg
ICAgIC1hdm9pZC12ZXJzaW9uKQoJYnVpbGRfb2xkX2xpYnM9bm8KCWF2b2lkX3ZlcnNpb249eWVz
Cgljb250aW51ZQoJOzsKCiAgICAgIC1kbG9wZW4pCglwcmV2PWRsZmlsZXMKCWNvbnRpbnVlCgk7
OwoKICAgICAgLWRscHJlb3BlbikKCXByZXY9ZGxwcmVmaWxlcwoJY29udGludWUKCTs7CgogICAg
ICAtZXhwb3J0LWR5bmFtaWMpCglleHBvcnRfZHluYW1pYz15ZXMKCWNvbnRpbnVlCgk7OwoKICAg
ICAgLWV4cG9ydC1zeW1ib2xzIHwgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4KQoJaWYgdGVzdCAtbiAi
JGV4cG9ydF9zeW1ib2xzIiB8fCB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiOyB0aGVu
CgkgICRlY2hvICIkbW9kZW5hbWU6IG5vdCBtb3JlIHRoYW4gb25lIC1leHBvcnRlZC1zeW1ib2xz
IGFyZ3VtZW50IGFsbG93ZWQiCgkgIGV4aXQgMQoJZmkKCWlmIHRlc3QgIlgkYXJnIiA9ICJYLWV4
cG9ydC1zeW1ib2xzIjsgdGhlbgoJICBwcmV2PWV4cHN5bXMKCWVsc2UKCSAgcHJldj1leHBzeW1z
X3JlZ2V4CglmaQoJY29udGludWUKCTs7CgogICAgICAtTCopCglkaXI9YCRlY2hvICJYJGFyZyIg
fCAkWHNlZCAtZSAncy9eLUwvLydgCgkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0aC4KCWNhc2Ug
IiRkaXIiIGluCglbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7CgkqKQoJICBhYnNkaXI9YGNk
ICIkZGlyIiAmJiBwd2RgCgkgIGlmIHRlc3QgLXogIiRhYnNkaXIiOyB0aGVuCgkgICAgJGVjaG8g
IiRtb2RlbmFtZTogd2FybmluZzogY2Fubm90IGRldGVybWluZSBhYnNvbHV0ZSBkaXJlY3Rvcnkg
bmFtZSBvZiBcYCRkaXInIiAxPiYyCgkgICAgJGVjaG8gIiRtb2RlbmFtZTogcGFzc2luZyBpdCBs
aXRlcmFsbHkgdG8gdGhlIGxpbmtlciwgYWx0aG91Z2ggaXQgbWlnaHQgZmFpbCIgMT4mMgoJICAg
IGFic2Rpcj0iJGRpciIKCSAgZmkKCSAgZGlyPSIkYWJzZGlyIgoJICA7OwoJZXNhYwoJY2FzZSAi
ICRkZXBsaWJzICIgaW4KCSoiICRhcmcgIiopIDs7CgkqKSBkZXBsaWJzPSIkZGVwbGlicyAkYXJn
Ijs7Cgllc2FjCgljYXNlICIgJGxpYl9zZWFyY2hfcGF0aCAiIGluCgkqIiAkZGlyICIqKSA7OwoJ
KikgbGliX3NlYXJjaF9wYXRoPSIkbGliX3NlYXJjaF9wYXRoICRkaXIiOzsKCWVzYWMKCWNhc2Ug
IiRob3N0IiBpbgoJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLW9zMiopCgkgIGRsbHNl
YXJjaGRpcj1gY2QgIiRkaXIiICYmIHB3ZCB8fCBlY2hvICIkZGlyImAKCSAgY2FzZSAiOiRkbGxz
ZWFyY2hwYXRoOiIgaW4KCSAgOjopIGRsbHNlYXJjaHBhdGg9IiRkbGxzZWFyY2hkaXIiOzsKCSAg
KiI6JGRsbHNlYXJjaGRpcjoiKikgOzsKCSAgKikgZGxsc2VhcmNocGF0aD0iJGRsbHNlYXJjaHBh
dGg6JGRsbHNlYXJjaGRpciI7OwoJICBlc2FjCgkgIDs7Cgllc2FjCgk7OwoKICAgICAgLWwqKQoJ
aWYgdGVzdCAiJGFyZyIgPSAiLWxjIjsgdGhlbgoJICBjYXNlICIkaG9zdCIgaW4KCSAgKi0qLWN5
Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLW9zMiogfCAqLSotYmVvcyopCgkgICAgIyBUaGVzZSBz
eXN0ZW1zIGRvbid0IGFjdHVhbGx5IGhhdmUgYyBsaWJyYXJ5IChhcyBzdWNoKQoJICAgIGNvbnRp
bnVlCgkgICAgOzsKCSAgZXNhYwoJZWxpZiB0ZXN0ICIkYXJnIiA9ICItbG0iOyB0aGVuCgkgIGNh
c2UgIiRob3N0IiBpbgoJICAqLSotY3lnd2luKiB8ICotKi1iZW9zKikKCSAgICAjIFRoZXNlIHN5
c3RlbXMgZG9uJ3QgYWN0dWFsbHkgaGF2ZSBtYXRoIGxpYnJhcnkgKGFzIHN1Y2gpCgkgICAgY29u
dGludWUKCSAgICA7OwoJICBlc2FjCglmaQoJZGVwbGlicz0iJGRlcGxpYnMgJGFyZyIKCTs7Cgog
ICAgICAtP3RocmVhZCkKCWRlcGxpYnM9IiRkZXBsaWJzICRhcmciCgk7OwoKICAgICAgLW1vZHVs
ZSkKCW1vZHVsZT15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLW5vLXVuZGVmaW5lZCkKCWFsbG93
X3VuZGVmaW5lZD1ubwoJY29udGludWUKCTs7CgogICAgICAtbykgcHJldj1vdXRwdXQgOzsKCiAg
ICAgIC1yZWxlYXNlKQoJcHJldj1yZWxlYXNlCgljb250aW51ZQoJOzsKCiAgICAgIC1ycGF0aCkK
CXByZXY9cnBhdGgKCWNvbnRpbnVlCgk7OwoKICAgICAgLVIpCglwcmV2PXhycGF0aAoJY29udGlu
dWUKCTs7CgogICAgICAtUiopCglkaXI9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAncy9eLVIv
LydgCgkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0aC4KCWNhc2UgIiRkaXIiIGluCglbXFwvXSog
fCBbQS1aYS16XTpbXFwvXSopIDs7CgkqKQoJICAkZWNobyAiJG1vZGVuYW1lOiBvbmx5IGFic29s
dXRlIHJ1bi1wYXRocyBhcmUgYWxsb3dlZCIgMT4mMgoJICBleGl0IDEKCSAgOzsKCWVzYWMKCWNh
c2UgIiR4cnBhdGggIiBpbgoJKiIgJGRpciAiKikgOzsKCSopIHhycGF0aD0iJHhycGF0aCAkZGly
IiA7OwoJZXNhYwoJY29udGludWUKCTs7CgogICAgICAtc3RhdGljKQoJIyBJZiB3ZSBoYXZlIG5v
IHBpY19mbGFnLCB0aGVuIHRoaXMgaXMgdGhlIHNhbWUgYXMgLWFsbC1zdGF0aWMuCglpZiB0ZXN0
IC16ICIkcGljX2ZsYWciICYmIHRlc3QgLW4gIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICBj
b21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJGxpbmtfc3RhdGljX2ZsYWciCgkgIGZp
bmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICRsaW5rX3N0YXRpY19mbGFnIgoJZmkK
CWNvbnRpbnVlCgk7OwoKICAgICAgLXRocmVhZC1zYWZlKQoJdGhyZWFkX3NhZmU9eWVzCgljb250
aW51ZQoJOzsKCiAgICAgIC12ZXJzaW9uLWluZm8pCglwcmV2PXZpbmZvCgljb250aW51ZQoJOzsK
CiAgICAgICMgU29tZSBvdGhlciBjb21waWxlciBmbGFnLgogICAgICAtKiB8ICsqKQoJIyBVbmtu
b3duIGFyZ3VtZW50cyBpbiBib3RoIGZpbmFsaXplX2NvbW1hbmQgYW5kIGNvbXBpbGVfY29tbWFu
ZCBuZWVkCgkjIHRvIGJlIGFlc3RoZXRpY2FsbHkgcXVvdGVkIGJlY2F1c2UgdGhleSBhcmUgZXZh
bGVkIGxhdGVyLgoJYXJnPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vi
c3QiYAoJY2FzZSAiJGFyZyIgaW4KCSpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdc
IFwJXSp8Kl0qKQoJICBhcmc9IlwiJGFyZ1wiIgoJICA7OwoJZXNhYwoJOzsKCiAgICAgICoubyB8
ICoub2JqIHwgKi5hIHwgKi5saWIpCgkjIEEgc3RhbmRhcmQgb2JqZWN0LgoJbGlib2Jqcz0iJGxp
Ym9ianMgJGFyZyIKCTs7CgogICAgICAqLmxvKQoJIyBBIGxpYnJhcnkgb2JqZWN0LgoJaWYgdGVz
dCAiJHByZXYiID0gZGxmaWxlczsgdGhlbgoJICBkbGZpbGVzPSIkZGxmaWxlcyAkYXJnIgoJICBp
ZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0ICIkZGxvcGVuIiA9IHll
czsgdGhlbgoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgZWxzZQoJICAgICMgSWYgbGlidG9v
bCBvYmplY3RzIGFyZSB1bnN1cHBvcnRlZCwgdGhlbiB3ZSBuZWVkIHRvIHByZWxvYWQuCgkgICAg
cHJldj1kbHByZWZpbGVzCgkgIGZpCglmaQoKCWlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7
IHRoZW4KCSAgIyBQcmVsb2FkIHRoZSBvbGQtc3R5bGUgb2JqZWN0LgoJICBkbHByZWZpbGVzPSIk
ZGxwcmVmaWxlcyAiYCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJGxvMm8iYAoJICBwcmV2PQoJ
ZmkKCWxpYm9ianM9IiRsaWJvYmpzICRhcmciCgk7OwoKICAgICAgKi5sYSkKCSMgQSBsaWJ0b29s
LWNvbnRyb2xsZWQgbGlicmFyeS4KCglkbG5hbWU9CglsaWJkaXI9CglsaWJyYXJ5X25hbWVzPQoJ
b2xkX2xpYnJhcnk9CgoJIyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBhIGxpYnRv
b2wgYXJjaGl2ZS4KCWlmIChzZWQgLWUgJzJxJyAkYXJnIHwgZWdyZXAgIl4jIEdlbmVyYXRlZCBi
eSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKCWVsc2UKCSAgJGVjaG8gIiRt
b2RlbmFtZTogXGAkYXJnJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUiIDE+JjIKCSAg
ZXhpdCAxCglmaQoKCSMgSWYgdGhlIGxpYnJhcnkgd2FzIGluc3RhbGxlZCB3aXRoIGFuIG9sZCBy
ZWxlYXNlIG9mIGxpYnRvb2wsCgkjIGl0IHdpbGwgbm90IHJlZGVmaW5lIHZhcmlhYmxlIGluc3Rh
bGxlZC4KCWluc3RhbGxlZD15ZXMKCgkjIFJlYWQgdGhlIC5sYSBmaWxlCgkjIElmIHRoZXJlIGlz
IG5vIGRpcmVjdG9yeSBjb21wb25lbnQsIHRoZW4gYWRkIG9uZS4KCWNhc2UgIiRhcmciIGluCgkq
LyogfCAqXFwqKSAuICRhcmcgOzsKCSopIC4gLi8kYXJnIDs7Cgllc2FjCgoJIyBHZXQgdGhlIG5h
bWUgb2YgdGhlIGxpYnJhcnkgd2UgbGluayBhZ2FpbnN0LgoJbGlua2xpYj0KCWZvciBsIGluICRv
bGRfbGlicmFyeSAkbGlicmFyeV9uYW1lczsgZG8KCSAgbGlua2xpYj0iJGwiCglkb25lCgoJaWYg
dGVzdCAteiAiJGxpbmtsaWIiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBmaW5k
IG5hbWUgb2YgbGluayBsaWJyYXJ5IGZvciBcYCRhcmcnIiAxPiYyCgkgIGV4aXQgMQoJZmkKCgkj
IEZpbmQgdGhlIHJlbGV2YW50IG9iamVjdCBkaXJlY3RvcnkgYW5kIGxpYnJhcnkgbmFtZS4KCW5h
bWU9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAncyVeLiovJSUnIC1lICdzL1wubGEkLy8nIC1l
ICdzL15saWIvLydgCgoJaWYgdGVzdCAiWCRpbnN0YWxsZWQiID0gWHllczsgdGhlbgoJICBkaXI9
IiRsaWJkaXIiCgllbHNlCgkgIGRpcj1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICdzJS9bXi9d
KiQlJSdgCgkgIGlmIHRlc3QgIlgkZGlyIiA9ICJYJGFyZyI7IHRoZW4KCSAgICBkaXI9IiRvYmpk
aXIiCgkgIGVsc2UKCSAgICBkaXI9IiRkaXIvJG9iamRpciIKCSAgZmkKCWZpCgoJaWYgdGVzdCAt
biAiJGRlcGVuZGVuY3lfbGlicyI7IHRoZW4KCSAgIyBFeHRyYWN0IC1SIGFuZCAtTCBmcm9tIGRl
cGVuZGVuY3lfbGlicwoJICB0ZW1wX2RlcGxpYnM9CgkgIGZvciBkZXBsaWIgaW4gJGRlcGVuZGVu
Y3lfbGliczsgZG8KCSAgICBjYXNlICIkZGVwbGliIiBpbgoJICAgIC1SKikgdGVtcF94cnBhdGg9
YCRlY2hvICJYJGRlcGxpYiIgfCAkWHNlZCAtZSAncy9eLVIvLydgCgkJIGNhc2UgIiAkcnBhdGgg
JHhycGF0aCAiIGluCgkJICoiICR0ZW1wX3hycGF0aCAiKikgOzsKCQkgKikgeHJwYXRoPSIkeHJw
YXRoICR0ZW1wX3hycGF0aCI7OwoJCSBlc2FjOzsKCSAgICAtTCopIGNhc2UgIiRjb21waWxlX2Nv
bW1hbmQgJHRlbXBfZGVwbGlicyAiIGluCgkJICoiICRkZXBsaWIgIiopIDs7CgkJICopIHRlbXBf
ZGVwbGlicz0iJHRlbXBfZGVwbGlicyAkZGVwbGliIjs7CgkJIGVzYWMKCQkgdGVtcF9kaXI9YCRl
Y2hvICJYJGRlcGxpYiIgfCAkWHNlZCAtZSAncy9eLUwvLydgCgkJIGNhc2UgIiAkbGliX3NlYXJj
aF9wYXRoICIgaW4KCQkgKiIgJHRlbXBfZGlyICIqKSA7OwoJCSAqKSBsaWJfc2VhcmNoX3BhdGg9
IiRsaWJfc2VhcmNoX3BhdGggJHRlbXBfZGlyIjs7CgkJIGVzYWMKCQkgOzsKCSAgICAqKSB0ZW1w
X2RlcGxpYnM9IiR0ZW1wX2RlcGxpYnMgJGRlcGxpYiI7OwoJICAgIGVzYWMKCSAgZG9uZQoJICBk
ZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX2RlcGxpYnMiCglmaQoKCWlmIHRlc3QgLXogIiRsaWJkaXIi
OyB0aGVuCgkgICMgSXQgaXMgYSBsaWJ0b29sIGNvbnZlbmllbmNlIGxpYnJhcnksIHNvIGFkZCBp
biBpdHMgb2JqZWN0cy4KCSAgY29udmVuaWVuY2U9IiRjb252ZW5pZW5jZSAkZGlyLyRvbGRfbGli
cmFyeSIKCSAgb2xkX2NvbnZlbmllbmNlPSIkb2xkX2NvbnZlbmllbmNlICRkaXIvJG9sZF9saWJy
YXJ5IgoJICBkZXBsaWJzPSIkZGVwbGlicyRkZXBlbmRlbmN5X2xpYnMiCgkgIGNvbXBpbGVfY29t
bWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkZGlyLyRvbGRfbGlicmFyeSRkZXBlbmRlbmN5X2xpYnMi
CgkgIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICRkaXIvJG9sZF9saWJyYXJ5
JGRlcGVuZGVuY3lfbGlicyIKCSAgY29udGludWUKCWZpCgoJIyBUaGlzIGxpYnJhcnkgd2FzIHNw
ZWNpZmllZCB3aXRoIC1kbG9wZW4uCglpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVuCgkg
IGRsZmlsZXM9IiRkbGZpbGVzICRhcmciCgkgIGlmIHRlc3QgLXogIiRkbG5hbWUiIHx8IHRlc3Qg
IiRkbG9wZW4iICE9IHllcyB8fCB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVu
CgkgICAgIyBJZiB0aGVyZSBpcyBubyBkbG5hbWUsIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdlJ3Jl
IGxpbmtpbmcgc3RhdGljYWxseSwKCSAgICAjIHdlIG5lZWQgdG8gcHJlbG9hZC4KCSAgICBwcmV2
PWRscHJlZmlsZXMKCSAgZWxzZQoJICAgICMgV2Ugc2hvdWxkIG5vdCBjcmVhdGUgYSBkZXBlbmRl
bmN5IG9uIHRoaXMgbGlicmFyeSwgYnV0IHdlCgkgICAgIyBtYXkgbmVlZCBhbnkgbGlicmFyaWVz
IGl0IHJlcXVpcmVzLgoJICAgIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCRkZXBl
bmRlbmN5X2xpYnMiCgkgICAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQkZGVw
ZW5kZW5jeV9saWJzIgoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgZmkKCWZpCgoJIyBUaGUg
bGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRscHJlb3Blbi4KCWlmIHRlc3QgIiRwcmV2IiA9
IGRscHJlZmlsZXM7IHRoZW4KCSAgIyBQcmVmZXIgdXNpbmcgYSBzdGF0aWMgbGlicmFyeSAoc28g
dGhhdCBubyBzaWxseSBfRFlOQU1JQyBzeW1ib2xzCgkgICMgYXJlIHJlcXVpcmVkIHRvIGxpbmsp
LgoJICBpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkgICAgZGxwcmVmaWxlcz0iJGRs
cHJlZmlsZXMgJGRpci8kb2xkX2xpYnJhcnkiCgkgIGVsc2UKCSAgICBkbHByZWZpbGVzPSIkZGxw
cmVmaWxlcyAkZGlyLyRsaW5rbGliIgoJICBmaQoJICBwcmV2PQoJZmkKCglpZiB0ZXN0IC1uICIk
bGlicmFyeV9uYW1lcyIgJiYKCSAgIHsgdGVzdCAiJHByZWZlcl9zdGF0aWNfbGlicyIgPSBubyB8
fCB0ZXN0IC16ICIkb2xkX2xpYnJhcnkiOyB9OyB0aGVuCgkgIGxpbmtfYWdhaW5zdF9saWJ0b29s
X2xpYnM9IiRsaW5rX2FnYWluc3RfbGlidG9vbF9saWJzICRhcmciCgkgIGlmIHRlc3QgLW4gIiRz
aGxpYnBhdGhfdmFyIjsgdGhlbgoJICAgICMgTWFrZSBzdXJlIHRoZSBycGF0aCBjb250YWlucyBv
bmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAgICBjYXNlICIkdGVtcF9ycGF0aCAiIGluCgkgICAg
KiIgJGRpciAiKikgOzsKCSAgICAqKSB0ZW1wX3JwYXRoPSIkdGVtcF9ycGF0aCAkZGlyIiA7OwoJ
ICAgIGVzYWMKCSAgZmkKCgkgICMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgoJICBjYXNlICIk
ZGlyIiBpbgoJICBbXFwvXSB8IFtBLVphLXpdOltcXC9dKikgYWJzZGlyPSIkZGlyIiA7OwoJICAq
KQoJICAgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3ZGAKCSAgICBpZiB0ZXN0IC16ICIkYWJzZGly
IjsgdGhlbgoJICAgICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogY2Fubm90IGRldGVybWlu
ZSBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZSBvZiBcYCRkaXInIiAxPiYyCgkgICAgICAkZWNobyAi
JG1vZGVuYW1lOiBwYXNzaW5nIGl0IGxpdGVyYWxseSB0byB0aGUgbGlua2VyLCBhbHRob3VnaCBp
dCBtaWdodCBmYWlsIiAxPiYyCgkgICAgICBhYnNkaXI9IiRkaXIiCgkgICAgZmkKCSAgICA7OwoJ
ICBlc2FjCgkgIAoJICAjIFRoaXMgaXMgdGhlIG1hZ2ljIHRvIHVzZSAtcnBhdGguCgkgICMgU2tp
cCBkaXJlY3RvcmllcyB0aGF0IGFyZSBpbiB0aGUgc3lzdGVtIGRlZmF1bHQgcnVuLXRpbWUKCSAg
IyBzZWFyY2ggcGF0aCwgdW5sZXNzIHRoZXkgaGF2ZSBiZWVuIHJlcXVlc3RlZCB3aXRoIC1SLgoJ
ICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCgkgICoiICRhYnNkaXIgIiopIDs7
CgkgICopCgkgICAgY2FzZSAiJGNvbXBpbGVfcnBhdGggIiBpbgoJICAgICoiICRhYnNkaXIgIiop
IDs7CgkgICAgKikgY29tcGlsZV9ycGF0aD0iJGNvbXBpbGVfcnBhdGggJGFic2RpciIgCgkgICAg
ZXNhYwoJICAgIDs7CgkgIGVzYWMKCgkgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIg
aW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikKCSAgICBjYXNlICIkZmluYWxpemVfcnBhdGgg
IiBpbgoJICAgICoiICRsaWJkaXIgIiopIDs7CgkgICAgKikgZmluYWxpemVfcnBhdGg9IiRmaW5h
bGl6ZV9ycGF0aCAkbGliZGlyIgoJICAgIGVzYWMKCSAgICA7OwoJICBlc2FjCgoJICBsaWJfbGlu
a2VkPXllcwoJICBjYXNlICIkaGFyZGNvZGVfYWN0aW9uIiBpbgoJICBpbW1lZGlhdGUgfCB1bnN1
cHBvcnRlZCkKCSAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiA9IG5vOyB0aGVuCgkgICAg
ICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJGRpci8kbGlua2xpYiIKCSAgICAg
IGRlcGxpYnM9IiRkZXBsaWJzICRkaXIvJGxpbmtsaWIiCgkgICAgICBjYXNlICIkaG9zdCIgaW4K
CSAgICAgICotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1vczIqKQoJCWRsbHNlYXJjaGRp
cj1gY2QgIiRkaXIiICYmIHB3ZCB8fCBlY2hvICIkZGlyImAKCQlpZiB0ZXN0IC1uICIkZGxsc2Vh
cmNocGF0aCI7IHRoZW4KCQkgIGRsbHNlYXJjaHBhdGg9IiRkbGxzZWFyY2hwYXRoOiRkbGxzZWFy
Y2hkaXIiCgkJZWxzZQoJCSAgZGxsc2VhcmNocGF0aD0iJGRsbHNlYXJjaGRpciIKCQlmaQoJCTs7
CgkgICAgICBlc2FjCgkgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWludXNfTCIgPSBubzsgdGhl
bgoJICAgICAgY2FzZSAiJGhvc3QiIGluCgkgICAgICAqLSotc3Vub3MqKQoJCWNvbXBpbGVfc2hs
aWJwYXRoPSIkY29tcGlsZV9zaGxpYnBhdGgkZGlyOiIKCQk7OwoJICAgICAgZXNhYwoJICAgICAg
Y2FzZSAiJGNvbXBpbGVfY29tbWFuZCAiIGluCgkgICAgICAqIiAtTCRkaXIgIiopIDs7CgkgICAg
ICAqKSBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgLUwkZGlyIjs7CgkgICAgICBl
c2FjCgkgICAgICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgLWwkbmFtZSIKCSAg
ICAgIGRlcGxpYnM9IiRkZXBsaWJzIC1MJGRpciAtbCRuYW1lIgoJICAgIGVsaWYgdGVzdCAiJGhh
cmRjb2RlX3NobGlicGF0aF92YXIiID0gbm87IHRoZW4KCSAgICAgIGNhc2UgIjokY29tcGlsZV9z
aGxpYnBhdGg6IiBpbgoJICAgICAgKiI6JGRpcjoiKikgOzsKCSAgICAgICopIGNvbXBpbGVfc2hs
aWJwYXRoPSIkY29tcGlsZV9zaGxpYnBhdGgkZGlyOiI7OwoJICAgICAgZXNhYwoJICAgICAgY29t
cGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kIC1sJG5hbWUiCgkgICAgICBkZXBsaWJzPSIk
ZGVwbGlicyAtbCRuYW1lIgoJICAgIGVsc2UKCSAgICAgIGxpYl9saW5rZWQ9bm8KCSAgICBmaQoJ
ICAgIDs7CgoJICByZWxpbmspCgkgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgPSB5ZXM7
IHRoZW4KCSAgICAgIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkYWJzZGlyLyRs
aW5rbGliIgoJICAgICAgZGVwbGlicz0iJGRlcGxpYnMgJGFic2Rpci8kbGlua2xpYiIKCSAgICBl
bGlmIHRlc3QgIiRoYXJkY29kZV9taW51c19MIiA9IHllczsgdGhlbgoJICAgICAgY2FzZSAiJGNv
bXBpbGVfY29tbWFuZCAiIGluCgkgICAgICAqIiAtTCRhYnNkaXIgIiopIDs7CgkgICAgICAqKSBj
b21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgLUwkYWJzZGlyIjs7CgkgICAgICBlc2Fj
CgkgICAgICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgLWwkbmFtZSIKCSAgICAg
IGRlcGxpYnM9IiRkZXBsaWJzIC1MJGFic2RpciAtbCRuYW1lIgoJICAgIGVsaWYgdGVzdCAiJGhh
cmRjb2RlX3NobGlicGF0aF92YXIiID0geWVzOyB0aGVuCgkgICAgICBjYXNlICI6JGNvbXBpbGVf
c2hsaWJwYXRoOiIgaW4KCSAgICAgICoiOiRhYnNkaXI6IiopIDs7CgkgICAgICAqKSBjb21waWxl
X3NobGlicGF0aD0iJGNvbXBpbGVfc2hsaWJwYXRoJGFic2RpcjoiOzsKCSAgICAgIGVzYWMKCSAg
ICAgIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAtbCRuYW1lIgoJICAgICAgZGVw
bGlicz0iJGRlcGxpYnMgLWwkbmFtZSIKCSAgICBlbHNlCgkgICAgICBsaWJfbGlua2VkPW5vCgkg
ICAgZmkKCSAgICA7OwoKCSAgKikKCSAgICBsaWJfbGlua2VkPW5vCgkgICAgOzsKCSAgZXNhYwoK
CSAgaWYgdGVzdCAiJGxpYl9saW5rZWQiICE9IHllczsgdGhlbgoJICAgICRlY2hvICIkbW9kZW5h
bWU6IGNvbmZpZ3VyYXRpb24gZXJyb3I6IHVuc3VwcG9ydGVkIGhhcmRjb2RlIHByb3BlcnRpZXMi
CgkgICAgZXhpdCAxCgkgIGZpCgoJICAjIEZpbmFsaXplIGNvbW1hbmQgZm9yIGJvdGggaXMgc2lt
cGxlOiBqdXN0IGhhcmRjb2RlIGl0LgoJICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiA9IHll
czsgdGhlbgoJICAgIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICRsaWJkaXIv
JGxpbmtsaWIiCgkgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX21pbnVzX0wiID0geWVzOyB0aGVuCgkg
ICAgY2FzZSAiJGZpbmFsaXplX2NvbW1hbmQgIiBpbgoJICAgICoiIC1MJGxpYmRpciAiKikgOzsK
CSAgICAqKSBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAtTCRsaWJkaXIiOzsK
CSAgICBlc2FjCgkgICAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgLWwkbmFt
ZSIKCSAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgPSB5ZXM7IHRoZW4KCSAg
ICBjYXNlICI6JGZpbmFsaXplX3NobGlicGF0aDoiIGluCgkgICAgKiI6JGxpYmRpcjoiKikgOzsK
CSAgICAqKSBmaW5hbGl6ZV9zaGxpYnBhdGg9IiRmaW5hbGl6ZV9zaGxpYnBhdGgkbGliZGlyOiI7
OwoJICAgIGVzYWMKCSAgICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAtbCRu
YW1lIgoJICBlbHNlCgkgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mg
d2UnbGwgZmFrZSBpdC4KCSAgICBjYXNlICIkZmluYWxpemVfY29tbWFuZCAiIGluCgkgICAgKiIg
LUwkZGlyICIqKSA7OwoJICAgICopIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5k
IC1MJGxpYmRpciI7OwoJICAgIGVzYWMKCSAgICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVf
Y29tbWFuZCAtbCRuYW1lIgoJICBmaQoJZWxzZQoJICAjIFRyYW5zZm9ybSBkaXJlY3RseSB0byBv
bGQgYXJjaGl2ZXMgaWYgd2UgZG9uJ3QgYnVpbGQgbmV3IGxpYnJhcmllcy4KCSAgaWYgdGVzdCAt
biAiJHBpY19mbGFnIiAmJiB0ZXN0IC16ICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkgICAgJGVjaG8g
IiRtb2RlbmFtZTogY2Fubm90IGZpbmQgc3RhdGljIGxpYnJhcnkgZm9yIFxgJGFyZyciIDE+JjIK
CSAgICBleGl0IDEKCSAgZmkKCgkgICMgSGVyZSB3ZSBhc3N1bWUgdGhhdCBvbmUgb2YgaGFyZGNv
ZGVfZGlyZWN0IG9yIGhhcmRjb2RlX21pbnVzX0wKCSAgIyBpcyBub3QgdW5zdXBwb3J0ZWQuICBU
aGlzIGlzIHZhbGlkIG9uIGFsbCBrbm93biBzdGF0aWMgYW5kCgkgICMgc2hhcmVkIHBsYXRmb3Jt
cy4KCSAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgIT0gdW5zdXBwb3J0ZWQ7IHRoZW4KCSAg
ICB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIGxpbmtsaWI9IiRvbGRfbGlicmFyeSIKCSAgICBj
b21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJGRpci8kbGlua2xpYiIKCSAgICBmaW5h
bGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkZGlyLyRsaW5rbGliIgoJICBlbHNlCgkg
ICAgY2FzZSAiJGNvbXBpbGVfY29tbWFuZCAiIGluCgkgICAgKiIgLUwkZGlyICIqKSA7OwoJICAg
ICopIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAtTCRkaXIiOzsKCSAgICBlc2Fj
CgkgICAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kIC1sJG5hbWUiCgkgICAgY2Fz
ZSAiJGZpbmFsaXplX2NvbW1hbmQgIiBpbgoJICAgICoiIC1MJGRpciAiKikgOzsKCSAgICAqKSBm
aW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAtTCRkaXIiOzsKCSAgICBlc2FjCgkg
ICAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgLWwkbmFtZSIKCSAgZmkKCWZp
CgoJIyBBZGQgaW4gYW55IGxpYnJhcmllcyB0aGF0IHRoaXMgb25lIGRlcGVuZHMgdXBvbi4KCWNv
bXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCRkZXBlbmRlbmN5X2xpYnMiCglmaW5hbGl6
ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCRkZXBlbmRlbmN5X2xpYnMiCgljb250aW51ZQoJ
OzsKCiAgICAgICMgU29tZSBvdGhlciBjb21waWxlciBhcmd1bWVudC4KICAgICAgKikKCSMgVW5r
bm93biBhcmd1bWVudHMgaW4gYm90aCBmaW5hbGl6ZV9jb21tYW5kIGFuZCBjb21waWxlX2NvbW1h
bmQgbmVlZAoJIyB0byBiZSBhZXN0aGV0aWNhbGx5IHF1b3RlZCBiZWNhdXNlIHRoZXkgYXJlIGV2
YWxlZCBsYXRlci4KCWFyZz1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1
YnN0ImAKCWNhc2UgIiRhcmciIGluCgkqW1xbXH5cI1xeXCZcKlwoXClce1x9XHxcO1w8XD5cP1wn
XCBcCV0qfCpdKikKCSAgYXJnPSJcIiRhcmdcIiIKCSAgOzsKCWVzYWMKCTs7CiAgICAgIGVzYWMK
CiAgICAgICMgTm93IGFjdHVhbGx5IHN1YnN0aXR1dGUgdGhlIGFyZ3VtZW50IGludG8gdGhlIGNv
bW1hbmRzLgogICAgICBpZiB0ZXN0IC1uICIkYXJnIjsgdGhlbgoJY29tcGlsZV9jb21tYW5kPSIk
Y29tcGlsZV9jb21tYW5kICRhcmciCglmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFu
ZCAkYXJnIgogICAgICBmaQogICAgZG9uZQoKICAgIGlmIHRlc3QgLW4gIiRwcmV2IjsgdGhlbgog
ICAgICAkZWNobyAiJG1vZGVuYW1lOiB0aGUgXGAkcHJldmFyZycgb3B0aW9uIHJlcXVpcmVzIGFu
IGFyZ3VtZW50IiAxPiYyCiAgICAgICRlY2hvICIkaGVscCIgMT4mMgogICAgICBleGl0IDEKICAg
IGZpCgogICAgaWYgdGVzdCAiJGV4cG9ydF9keW5hbWljIiA9IHllcyAmJiB0ZXN0IC1uICIkZXhw
b3J0X2R5bmFtaWNfZmxhZ19zcGVjIjsgdGhlbgogICAgICBldmFsIGFyZz1cIiRleHBvcnRfZHlu
YW1pY19mbGFnX3NwZWNcIgogICAgICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQg
JGFyZyIKICAgICAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJGFyZyIKICAg
IGZpCgogICAgb2xkbGlicz0KICAgICMgY2FsY3VsYXRlIHRoZSBuYW1lIG9mIHRoZSBmaWxlLCB3
aXRob3V0IGl0cyBkaXJlY3RvcnkKICAgIG91dHB1dG5hbWU9YCRlY2hvICJYJG91dHB1dCIgfCAk
WHNlZCAtZSAncyVeLiovJSUnYAogICAgbGlib2Jqc19zYXZlPSIkbGlib2JqcyIKCiAgICBjYXNl
ICIkb3V0cHV0IiBpbgogICAgIiIpCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNw
ZWNpZnkgYW4gb3V0cHV0IGZpbGUiIDE+JjIKICAgICAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgICAg
IGV4aXQgMQogICAgICA7OwoKICAgICouYSB8ICoubGliKQogICAgICBpZiB0ZXN0IC1uICIkbGlu
a19hZ2FpbnN0X2xpYnRvb2xfbGlicyI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IGVycm9yOiBj
YW5ub3QgbGluayBsaWJ0b29sIGxpYnJhcmllcyBpbnRvIGFyY2hpdmVzIiAxPiYyCglleGl0IDEK
ICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRkZXBsaWJzIjsgdGhlbgoJJGVjaG8gIiRtb2Rl
bmFtZTogd2FybmluZzogXGAtbCcgYW5kIFxgLUwnIGFyZSBpZ25vcmVkIGZvciBhcmNoaXZlcyIg
MT4mMgogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJGRsZmlsZXMkZGxwcmVmaWxlcyIgfHwg
dGVzdCAiJGRsc2VsZiIgIT0gbm87IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxg
LWRsb3BlbicgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlm
IHRlc3QgLW4gIiRycGF0aCI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXJw
YXRoJyBpcyBpZ25vcmVkIGZvciBhcmNoaXZlcyIgMT4mMgogICAgICBmaQoKICAgICAgaWYgdGVz
dCAtbiAiJHhycGF0aCI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLVInIGlz
IGlnbm9yZWQgZm9yIGFyY2hpdmVzIiAxPiYyCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIk
dmluZm8iOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC12ZXJzaW9uLWluZm8n
IGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIiAxPiYyCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1u
ICIkcmVsZWFzZSI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXJlbGVhc2Un
IGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIiAxPiYyCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1u
ICIkZXhwb3J0X3N5bWJvbHMiIHx8IHRlc3QgLW4gIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRo
ZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLWV4cG9ydC1zeW1ib2xzJyBpcyBpZ25v
cmVkIGZvciBhcmNoaXZlcyIgMT4mMgogICAgICBmaQoKICAgICAgIyBOb3cgc2V0IHRoZSB2YXJp
YWJsZXMgZm9yIGJ1aWxkaW5nIG9sZCBsaWJyYXJpZXMuCiAgICAgIGJ1aWxkX2xpYnRvb2xfbGli
cz1ubwogICAgICBvbGRsaWJzPSIkb3V0cHV0IgogICAgICA7OwoKICAgICoubGEpCiAgICAgICMg
TWFrZSBzdXJlIHdlIG9ubHkgZ2VuZXJhdGUgbGlicmFyaWVzIG9mIHRoZSBmb3JtIGBsaWJOQU1F
LmxhJy4KICAgICAgY2FzZSAiJG91dHB1dG5hbWUiIGluCiAgICAgIGxpYiopCgluYW1lPWAkZWNo
byAiWCRvdXRwdXRuYW1lIiB8ICRYc2VkIC1lICdzL1wubGEkLy8nIC1lICdzL15saWIvLydgCgll
dmFsIGxpYm5hbWU9XCIkbGlibmFtZV9zcGVjXCIKCTs7CiAgICAgICopCglpZiB0ZXN0ICIkbW9k
dWxlIiA9IG5vOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IGxpYnRvb2wgbGlicmFyeSBcYCRv
dXRwdXQnIG11c3QgYmVnaW4gd2l0aCBcYGxpYiciIDE+JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYy
CgkgIGV4aXQgMQoJZmkKCWlmIHRlc3QgIiRuZWVkX2xpYl9wcmVmaXgiICE9IG5vOyB0aGVuCgkg
ICMgQWRkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXMgaWYgcmVxdWlyZWQKCSAgbmFtZT1g
JGVjaG8gIlgkb3V0cHV0bmFtZSIgfCAkWHNlZCAtZSAncy9cLmxhJC8vJ2AKCSAgZXZhbCBsaWJu
YW1lPVwiJGxpYm5hbWVfc3BlY1wiCgllbHNlCgkgIGxpYm5hbWU9YCRlY2hvICJYJG91dHB1dG5h
bWUiIHwgJFhzZWQgLWUgJ3MvXC5sYSQvLydgCglmaQoJOzsKICAgICAgZXNhYwoKICAgICAgb3V0
cHV0X29iamRpcj1gJGVjaG8gIlgkb3V0cHV0IiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCiAg
ICAgIGlmIHRlc3QgIlgkb3V0cHV0X29iamRpciIgPSAiWCRvdXRwdXQiOyB0aGVuCglvdXRwdXRf
b2JqZGlyPSIkb2JqZGlyIgogICAgICBlbHNlCglvdXRwdXRfb2JqZGlyPSIkb3V0cHV0X29iamRp
ci8kb2JqZGlyIgogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJG9ianMiOyB0aGVuCgkkZWNo
byAiJG1vZGVuYW1lOiBjYW5ub3QgYnVpbGQgbGlidG9vbCBsaWJyYXJ5IFxgJG91dHB1dCcgZnJv
bSBub24tbGlidG9vbCBvYmplY3RzOiRvYmpzIiAyPiYxCglleGl0IDEKICAgICAgZmkKCiAgICAg
IGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5v
OyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1kbG9wZW4nIGlzIGlnbm9yZWQg
Zm9yIGxpYnRvb2wgbGlicmFyaWVzIiAxPiYyCiAgICAgIGZpCgogICAgICBzZXQgZHVtbXkgJHJw
YXRoCiAgICAgIGlmIHRlc3QgJCMgLWd0IDI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5p
bmc6IGlnbm9yaW5nIG11bHRpcGxlIFxgLXJwYXRoJ3MgZm9yIGEgbGlidG9vbCBsaWJyYXJ5IiAx
PiYyCiAgICAgIGZpCiAgICAgIGluc3RhbGxfbGliZGlyPSIkMiIKCiAgICAgIG9sZGxpYnM9CiAg
ICAgIGlmIHRlc3QgLXogIiRycGF0aCI7IHRoZW4KCWlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xp
YnMiID0geWVzOyB0aGVuCgkgICMgQnVpbGRpbmcgYSBsaWJ0b29sIGNvbnZlbmllbmNlIGxpYnJh
cnkuCgkgIGxpYmV4dD1hbAoJICBvbGRsaWJzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS4kbGli
ZXh0ICRvbGRsaWJzIgoJICBidWlsZF9saWJ0b29sX2xpYnM9Y29udmVuaWVuY2UKCSAgYnVpbGRf
b2xkX2xpYnM9eWVzCglmaQoJZGVwZW5kZW5jeV9saWJzPSIkZGVwbGlicyIKCglpZiB0ZXN0IC1u
ICIkdmluZm8iOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXZlcnNpb24t
aW5mbycgaXMgaWdub3JlZCBmb3IgY29udmVuaWVuY2UgbGlicmFyaWVzIiAxPiYyCglmaQoKCWlm
IHRlc3QgLW4gIiRyZWxlYXNlIjsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBc
YC1yZWxlYXNlJyBpcyBpZ25vcmVkIGZvciBjb252ZW5pZW5jZSBsaWJyYXJpZXMiIDE+JjIKCWZp
CiAgICAgIGVsc2UKCgkjIFBhcnNlIHRoZSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFyZ3VtZW50LgoJ
SUZTPSIke0lGUz0gCX0iOyBzYXZlX2lmcz0iJElGUyI7IElGUz0nOicKCXNldCBkdW1teSAkdmlu
Zm8gMCAwIDAKCUlGUz0iJHNhdmVfaWZzIgoKCWlmIHRlc3QgLW4gIiQ4IjsgdGhlbgoJICAkZWNo
byAiJG1vZGVuYW1lOiB0b28gbWFueSBwYXJhbWV0ZXJzIHRvIFxgLXZlcnNpb24taW5mbyciIDE+
JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYyCgkgIGV4aXQgMQoJZmkKCgljdXJyZW50PSIkMiIKCXJl
dmlzaW9uPSIkMyIKCWFnZT0iJDQiCgoJIyBDaGVjayB0aGF0IGVhY2ggb2YgdGhlIHRoaW5ncyBh
cmUgdmFsaWQgbnVtYmVycy4KCWNhc2UgIiRjdXJyZW50IiBpbgoJMCB8IFsxLTldIHwgWzEtOV1b
MC05XSopIDs7CgkqKQoJICAkZWNobyAiJG1vZGVuYW1lOiBDVVJSRU5UIFxgJGN1cnJlbnQnIGlz
IG5vdCBhIG5vbm5lZ2F0aXZlIGludGVnZXIiIDE+JjIKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAk
dmluZm8nIGlzIG5vdCB2YWxpZCB2ZXJzaW9uIGluZm9ybWF0aW9uIiAxPiYyCgkgIGV4aXQgMQoJ
ICA7OwoJZXNhYwoKCWNhc2UgIiRyZXZpc2lvbiIgaW4KCTAgfCBbMS05XSB8IFsxLTldWzAtOV0q
KSA7OwoJKikKCSAgJGVjaG8gIiRtb2RlbmFtZTogUkVWSVNJT04gXGAkcmV2aXNpb24nIGlzIG5v
dCBhIG5vbm5lZ2F0aXZlIGludGVnZXIiIDE+JjIKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkdmlu
Zm8nIGlzIG5vdCB2YWxpZCB2ZXJzaW9uIGluZm9ybWF0aW9uIiAxPiYyCgkgIGV4aXQgMQoJICA7
OwoJZXNhYwoKCWNhc2UgIiRhZ2UiIGluCgkwIHwgWzEtOV0gfCBbMS05XVswLTldKikgOzsKCSop
CgkgICRlY2hvICIkbW9kZW5hbWU6IEFHRSBcYCRhZ2UnIGlzIG5vdCBhIG5vbm5lZ2F0aXZlIGlu
dGVnZXIiIDE+JjIKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2
ZXJzaW9uIGluZm9ybWF0aW9uIiAxPiYyCgkgIGV4aXQgMQoJICA7OwoJZXNhYwoKCWlmIHRlc3Qg
JGFnZSAtZ3QgJGN1cnJlbnQ7IHRoZW4KCSAgJGVjaG8gIiRtb2RlbmFtZTogQUdFIFxgJGFnZScg
aXMgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50IGludGVyZmFjZSBudW1iZXIgXGAkY3VycmVudCci
IDE+JjIKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2ZXJzaW9u
IGluZm9ybWF0aW9uIiAxPiYyCgkgIGV4aXQgMQoJZmkKCgkjIENhbGN1bGF0ZSB0aGUgdmVyc2lv
biB2YXJpYWJsZXMuCgltYWpvcj0KCXZlcnN1ZmZpeD0KCXZlcnN0cmluZz0KCWNhc2UgIiR2ZXJz
aW9uX3R5cGUiIGluCglub25lKSA7OwoKCWlyaXgpCgkgIG1ham9yPWBleHByICRjdXJyZW50IC0g
JGFnZSArIDFgCgkgIHZlcnN1ZmZpeD0iJG1ham9yLiRyZXZpc2lvbiIKCSAgdmVyc3RyaW5nPSJz
Z2kkbWFqb3IuJHJldmlzaW9uIgoKCSAgIyBBZGQgaW4gYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQg
d2UgYXJlIGNvbXBhdGlibGUgd2l0aC4KCSAgbG9vcD0kcmV2aXNpb24KCSAgd2hpbGUgdGVzdCAk
bG9vcCAhPSAwOyBkbwoJICAgIGlmYWNlPWBleHByICRyZXZpc2lvbiAtICRsb29wYAoJICAgIGxv
b3A9YGV4cHIgJGxvb3AgLSAxYAoJICAgIHZlcnN0cmluZz0ic2dpJG1ham9yLiRpZmFjZTokdmVy
c3RyaW5nIgoJICBkb25lCgkgIDs7CgoJbGludXgpCgkgIG1ham9yPS5gZXhwciAkY3VycmVudCAt
ICRhZ2VgCgkgIHZlcnN1ZmZpeD0iJG1ham9yLiRhZ2UuJHJldmlzaW9uIgoJICA7OwoKCW9zZikK
CSAgbWFqb3I9YGV4cHIgJGN1cnJlbnQgLSAkYWdlYAoJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4k
YWdlLiRyZXZpc2lvbiIKCSAgdmVyc3RyaW5nPSIkY3VycmVudC4kYWdlLiRyZXZpc2lvbiIKCgkg
ICMgQWRkIGluIGFsbCB0aGUgaW50ZXJmYWNlcyB0aGF0IHdlIGFyZSBjb21wYXRpYmxlIHdpdGgu
CgkgIGxvb3A9JGFnZQoJICB3aGlsZSB0ZXN0ICRsb29wICE9IDA7IGRvCgkgICAgaWZhY2U9YGV4
cHIgJGN1cnJlbnQgLSAkbG9vcGAKCSAgICBsb29wPWBleHByICRsb29wIC0gMWAKCSAgICB2ZXJz
dHJpbmc9IiR2ZXJzdHJpbmc6JHtpZmFjZX0uMCIKCSAgZG9uZQoKCSAgIyBNYWtlIGV4ZWN1dGFi
bGVzIGRlcGVuZCBvbiBvdXIgY3VycmVudCB2ZXJzaW9uLgoJICB2ZXJzdHJpbmc9IiR2ZXJzdHJp
bmc6JHtjdXJyZW50fS4wIgoJICA7OwoKCXN1bm9zKQoJICBtYWpvcj0iLiRjdXJyZW50IgoJICB2
ZXJzdWZmaXg9Ii4kY3VycmVudC4kcmV2aXNpb24iCgkgIDs7CgoJZnJlZWJzZC1hb3V0KQoJICBt
YWpvcj0iLiRjdXJyZW50IgoJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4kcmV2aXNpb24iOwoJICA7
OwoKCWZyZWVic2QtZWxmKQoJICBtYWpvcj0iLiRjdXJyZW50IgoJICB2ZXJzdWZmaXg9Ii4kY3Vy
cmVudCI7CgkgIDs7CgoJd2luZG93cykKCSAgIyBMaWtlIExpbnV4LCBidXQgd2l0aCAnLScgcmF0
aGVyIHRoYW4gJy4nLCBzaW5jZSB3ZSBvbmx5CgkgICMgd2FudCBvbmUgZXh0ZW5zaW9uIG9uIFdp
bmRvd3MgOTUuCgkgIG1ham9yPWBleHByICRjdXJyZW50IC0gJGFnZWAKCSAgdmVyc3VmZml4PSIt
JG1ham9yLSRhZ2UtJHJldmlzaW9uIgoJICA7OwoKCSopCgkgICRlY2hvICIkbW9kZW5hbWU6IHVu
a25vd24gbGlicmFyeSB2ZXJzaW9uIHR5cGUgXGAkdmVyc2lvbl90eXBlJyIgMT4mMgoJICBlY2hv
ICJGYXRhbCBjb25maWd1cmF0aW9uIGVycm9yLiAgU2VlIHRoZSAkUEFDS0FHRSBkb2NzIGZvciBt
b3JlIGluZm9ybWF0aW9uLiIgMT4mMgoJICBleGl0IDEKCSAgOzsKCWVzYWMKCgkjIENsZWFyIHRo
ZSB2ZXJzaW9uIGluZm8gaWYgd2UgZGVmYXVsdGVkLCBhbmQgdGhleSBzcGVjaWZpZWQgYSByZWxl
YXNlLgoJaWYgdGVzdCAteiAiJHZpbmZvIiAmJiB0ZXN0IC1uICIkcmVsZWFzZSI7IHRoZW4KCSAg
bWFqb3I9CgkgIHZlcnN0cmluZz0iMC4wIgoJICBpZiB0ZXN0ICIkbmVlZF92ZXJzaW9uIiA9IG5v
OyB0aGVuCgkgICAgdmVyc3VmZml4PQoJICBlbHNlCgkgICAgdmVyc3VmZml4PSIuMC4wIgoJICBm
aQoJZmkKCgkjIFJlbW92ZSB2ZXJzaW9uIGluZm8gZnJvbSBuYW1lIGlmIHZlcnNpb25pbmcgc2hv
dWxkIGJlIGF2b2lkZWQKCWlmIHRlc3QgIiRhdm9pZF92ZXJzaW9uIiA9IHllcyAmJiB0ZXN0ICIk
bmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVuCgkgIG1ham9yPQoJICB2ZXJzdWZmaXg9CgkgIHZlcnN0
cmluZz0iIgoJZmkKCQoJIyBDaGVjayB0byBzZWUgaWYgdGhlIGFyY2hpdmUgd2lsbCBoYXZlIHVu
ZGVmaW5lZCBzeW1ib2xzLgoJaWYgdGVzdCAiJGFsbG93X3VuZGVmaW5lZCIgPSB5ZXM7IHRoZW4K
CSAgaWYgdGVzdCAiJGFsbG93X3VuZGVmaW5lZF9mbGFnIiA9IHVuc3VwcG9ydGVkOyB0aGVuCgkg
ICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogdW5kZWZpbmVkIHN5bWJvbHMgbm90IGFsbG93
ZWQgaW4gJGhvc3Qgc2hhcmVkIGxpYnJhcmllcyIgMT4mMgoJICAgIGJ1aWxkX2xpYnRvb2xfbGli
cz1ubwoJICAgIGJ1aWxkX29sZF9saWJzPXllcwoJICBmaQoJZWxzZQoJICAjIERvbid0IGFsbG93
IHVuZGVmaW5lZCBzeW1ib2xzLgoJICBhbGxvd191bmRlZmluZWRfZmxhZz0iJG5vX3VuZGVmaW5l
ZF9mbGFnIgoJZmkKCglkZXBlbmRlbmN5X2xpYnM9IiRkZXBsaWJzIgoJY2FzZSAiJGhvc3QiIGlu
CgkqLSotY3lnd2luKiB8ICotKi1taW5ndyogfCAqLSotb3MyKiB8ICotKi1iZW9zKikKCSAgIyB0
aGVzZSBzeXN0ZW1zIGRvbid0IGFjdHVhbGx5IGhhdmUgYSBjIGxpYnJhcnkgKGFzIHN1Y2gpIQoJ
ICA7OwogICAgICAgICotKi1yaGFwc29keSopCgkgICMgcmhhcHNvZHkgaXMgYSBsaXR0bGUgb2Rk
Li4uCgkgIGRlcGxpYnM9IiRkZXBsaWJzIC1mcmFtZXdvcmsgU3lzdGVtIgoJICA7OwoJKi0qLWZy
ZWVic2QqKQoJICAjIEZyZWVCU0QgZG9lc24ndCBuZWVkIHRoaXMuLi4KCSAgOzsKCSopCgkgICMg
QWRkIGxpYmMgdG8gZGVwbGlicyBvbiBhbGwgb3RoZXIgc3lzdGVtcy4KCSAgZGVwbGlicz0iJGRl
cGxpYnMgLWxjIgoJICA7OwoJZXNhYwogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHJwYXRo
JHhycGF0aCI7IHRoZW4KCSMgSWYgdGhlIHVzZXIgc3BlY2lmaWVkIGFueSBycGF0aCBmbGFncywg
dGhlbiBhZGQgdGhlbS4KCWZvciBsaWJkaXIgaW4gJHJwYXRoICR4cnBhdGg7IGRvCgkgICMgVGhp
cyBpcyB0aGUgbWFnaWMgdG8gdXNlIC1ycGF0aC4KCSAgY2FzZSAiJGNvbXBpbGVfcnBhdGggIiBp
bgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBjb21waWxlX3JwYXRoPSIkY29tcGlsZV9ycGF0
aCAkbGliZGlyIiA7OwoJICBlc2FjCgkgIGNhc2UgIiRmaW5hbGl6ZV9ycGF0aCAiIGluCgkgICoi
ICRsaWJkaXIgIiopIDs7CgkgICopIGZpbmFsaXplX3JwYXRoPSIkZmluYWxpemVfcnBhdGggJGxp
YmRpciIgOzsKCSAgZXNhYwoJZG9uZQogICAgICBmaQoKICAgICAgIyBOb3cgaGFyZGNvZGUgdGhl
IGxpYnJhcnkgcGF0aHMKICAgICAgcnBhdGg9CiAgICAgIGhhcmRjb2RlX2xpYmRpcnM9CiAgICAg
IGZvciBsaWJkaXIgaW4gJGNvbXBpbGVfcnBhdGg7IGRvCglpZiB0ZXN0IC1uICIkaGFyZGNvZGVf
bGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9z
ZXBhcmF0b3IiOyB0aGVuCgkgICAgaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVu
CgkgICAgICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgoJICAgIGVsc2UKCSAgICAgICMgSnVz
dCBhY2N1bXVsYXRlIHRoZSB1bmlxdWUgbGliZGlycy4KCSAgICAgIGNhc2UgIiRoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRv
ciIgaW4KCSAgICAgICoiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyJGhhcmRjb2Rl
X2xpYmRpcl9zZXBhcmF0b3IiKikKCQk7OwoJICAgICAgKikKCQloYXJkY29kZV9saWJkaXJzPSIk
aGFyZGNvZGVfbGliZGlycyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yJGxpYmRpciIKCQk7OwoJ
ICAgICAgZXNhYwoJICAgIGZpCgkgIGVsc2UKCSAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGli
ZGlyX2ZsYWdfc3BlY1wiCgkgICAgcnBhdGg9IiRycGF0aCAkZmxhZyIKCSAgZmkKCWVsaWYgdGVz
dCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgoJICBjYXNlICIkcGVybV9ycGF0aCAiIGluCgkgICoi
ICRsaWJkaXIgIiopIDs7CgkgICopIHBlcm1fcnBhdGg9IiRwZXJtX3JwYXRoICRsaWJkaXIiIDs7
CgkgIGVzYWMKCWZpCiAgICAgIGRvbmUKICAgICAgIyBTdWJzdGl0dXRlIHRoZSBoYXJkY29kZWQg
bGliZGlycyBpbnRvIHRoZSBycGF0aC4KICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3IiICYmCgkgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCglsaWJk
aXI9IiRoYXJkY29kZV9saWJkaXJzIgoJZXZhbCBycGF0aD1cIiAkaGFyZGNvZGVfbGliZGlyX2Zs
YWdfc3BlY1wiCiAgICAgIGZpCiAgICAgIGNvbXBpbGVfcnBhdGg9IiRycGF0aCIKCiAgICAgIHJw
YXRoPQogICAgICBoYXJkY29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRmaW5hbGl6
ZV9ycGF0aDsgZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhl
bgoJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KCSAgICBp
ZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRjb2RlX2xpYmRp
cnM9IiRsaWJkaXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3VtdWxhdGUgdGhlIHVuaXF1
ZSBsaWJkaXJzLgoJICAgICAgY2FzZSAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkaGFyZGNv
ZGVfbGliZGlycyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIiBpbgoJICAgICAgKiIkaGFyZGNv
ZGVfbGliZGlyX3NlcGFyYXRvciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIqKQoJ
CTs7CgkgICAgICAqKQoJCWhhcmRjb2RlX2xpYmRpcnM9IiRoYXJkY29kZV9saWJkaXJzJGhhcmRj
b2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyIgoJCTs7CgkgICAgICBlc2FjCgkgICAgZmkKCSAg
ZWxzZQoJICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKCSAgICBy
cGF0aD0iJHJwYXRoICRmbGFnIgoJICBmaQoJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0
aGVuCgkgIGNhc2UgIiRmaW5hbGl6ZV9wZXJtX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikg
OzsKCSAgKikgZmluYWxpemVfcGVybV9ycGF0aD0iJGZpbmFsaXplX3Blcm1fcnBhdGggJGxpYmRp
ciIgOzsKCSAgZXNhYwoJZmkKICAgICAgZG9uZQogICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRj
b2RlZCBsaWJkaXJzIGludG8gdGhlIHJwYXRoLgogICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvciIgJiYKCSB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4K
CWxpYmRpcj0iJGhhcmRjb2RlX2xpYmRpcnMiCglldmFsIHJwYXRoPVwiICRoYXJkY29kZV9saWJk
aXJfZmxhZ19zcGVjXCIKICAgICAgZmkKICAgICAgZmluYWxpemVfcnBhdGg9IiRycGF0aCIKCiAg
ICAgICMgQ3JlYXRlIHRoZSBvdXRwdXQgZGlyZWN0b3J5LCBvciByZW1vdmUgb3VyIG91dHB1dHMg
aWYgd2UgbmVlZCB0by4KICAgICAgaWYgdGVzdCAtZCAkb3V0cHV0X29iamRpcjsgdGhlbgoJJHNo
b3cgIiR7cm19ciAkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSAkb3V0cHV0X29iamRpci8kbGli
bmFtZS4qICRvdXRwdXRfb2JqZGlyLyR7bGlibmFtZX0ke3JlbGVhc2V9LioiCgkkcnVuICR7cm19
ciAkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSAkb3V0cHV0X29iamRpci8kbGlibmFtZS4qICRv
dXRwdXRfb2JqZGlyLyR7bGlibmFtZX0ke3JlbGVhc2V9LioKICAgICAgZWxzZQoJJHNob3cgIiRt
a2RpciAkb3V0cHV0X29iamRpciIKCSRydW4gJG1rZGlyICRvdXRwdXRfb2JqZGlyCglzdGF0dXM9
JD8KCWlmIHRlc3QgJHN0YXR1cyAtbmUgMCAmJiB0ZXN0ICEgLWQgJG91dHB1dF9vYmpkaXI7IHRo
ZW4KCSAgZXhpdCAkc3RhdHVzCglmaQogICAgICBmaQoKICAgICAgIyBOb3cgc2V0IHRoZSB2YXJp
YWJsZXMgZm9yIGJ1aWxkaW5nIG9sZCBsaWJyYXJpZXMuCiAgICAgIGlmIHRlc3QgIiRidWlsZF9v
bGRfbGlicyIgPSB5ZXMgJiYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0gY29udmVuaWVu
Y2UgOyB0aGVuCglpZiB0ZXN0ICIkcmVsZWFzZV9zdWZmaXgiID0gYWxsOyB0aGVuCgkgb2xkbGli
cz0iJG9sZGxpYnMgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUkcmVsZWFzZS4kbGliZXh0IgoJZWxz
ZQoJb2xkbGlicz0iJG9sZGxpYnMgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCWZp
CgoJIyBUcmFuc2Zvcm0gLmxvIGZpbGVzIHRvIC5vIGZpbGVzLgoJb2xkb2Jqcz0iJG9ianMgImAk
ZWNobyAiWCRsaWJvYmpzIiB8ICRTUDJOTCB8ICRYc2VkIC1lICcvXC4nJHtsaWJleHR9JyQvZCcg
LWUgIiRsbzJvIiB8ICROTDJTUGAKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0
b29sX2xpYnMiID0geWVzOyB0aGVuCgkjIFRyYW5zZm9ybSBkZXBsaWJzIGludG8gb25seSBkZXBs
aWJzIHRoYXQgY2FuIGJlIGxpbmtlZCBpbiBzaGFyZWQuCgluYW1lX3NhdmU9JG5hbWUKCWxpYm5h
bWVfc2F2ZT0kbGlibmFtZQoJcmVsZWFzZV9zYXZlPSRyZWxlYXNlCgl2ZXJzdWZmaXhfc2F2ZT0k
dmVyc3VmZml4CgltYWpvcl9zYXZlPSRtYWpvcgoJIyBJJ20gbm90IHN1cmUgaWYgSSdtIHRyZWF0
aW5nIHRoZSByZWxlYXNlIGNvcnJlY3RseS4gIEkgdGhpbmsKCSMgcmVsZWFzZSBzaG91bGQgc2hv
dyB1cCBpbiB0aGUgLWwgKGllIC1sZ21wNSkgc28gd2UgZG9uJ3Qgd2FudCB0bwoJIyBhZGQgaXQg
aW4gdHdpY2UuICBJcyB0aGF0IGNvcnJlY3Q/CglyZWxlYXNlPSIiCgl2ZXJzdWZmaXg9IiIKCW1h
am9yPSIiCgluZXdkZXBsaWJzPQoJZHJvcHBlZGRlcHM9bm8KCWNhc2UgIiRkZXBsaWJzX2NoZWNr
X21ldGhvZCIgaW4KCXBhc3NfYWxsKQoJICAjIERvbid0IGNoZWNrIGZvciBzaGFyZWQvc3RhdGlj
LiAgRXZlcnl0aGluZyB3b3Jrcy4KCSAgIyBUaGlzIG1pZ2h0IGJlIGEgbGl0dGxlIG5haXZlLiAg
V2UgbWlnaHQgd2FudCB0byBjaGVjawoJICAjIHdoZXRoZXIgdGhlIGxpYnJhcnkgZXhpc3RzIG9y
IG5vdC4gIEJ1dCB0aGlzIGlzIG9uCgkgICMgb3NmMyAmIG9zZjQgYW5kIEknbSBub3QgcmVhbGx5
IHN1cmUuLi4gSnVzdAoJICAjIGltcGxlbWVudGluZyB3aGF0IHdhcyBhbHJlYWR5IHRoZSBiZWhh
dmlvdXIuCgkgIG5ld2RlcGxpYnM9JGRlcGxpYnMKCSAgOzsKCXRlc3RfY29tcGlsZSkKCSAgIyBU
aGlzIGNvZGUgc3RyZXNzZXMgdGhlICJsaWJyYXJpZXMgYXJlIHByb2dyYW1zIiBwYXJhZGlnbSB0
byBpdHMKCSAgIyBsaW1pdHMuIE1heWJlIGV2ZW4gYnJlYWtzIGl0LiAgV2UgY29tcGlsZSBhIHBy
b2dyYW0sIGxpbmtpbmcgaXQKCSAgIyBhZ2FpbnN0IHRoZSBkZXBsaWJzIGFzIGEgcHJveHkgZm9y
IHRoZSBsaWJyYXJ5LiAgVGhlbiB3ZSBjYW4gY2hlY2sKCSAgIyB3aGV0aGVyIHRoZXkgbGlua2Vk
IGluIHN0YXRpY2FsbHkgb3IgZHluYW1pY2FsbHkgd2l0aCBsZGQuCgkgICRybSBjb25mdGVzdC5j
CgkgIGNhdCA+IGNvbmZ0ZXN0LmMgPDxFT0YKCSAgaW50IG1haW4oKSB7IHJldHVybiAwOyB9CkVP
RgoJICAkcm0gY29uZnRlc3QKCSAgJENDIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgJGRlcGxpYnMK
CSAgaWYgdGVzdCAkPyAtZXEgMCA7IHRoZW4KCSAgICBsZGRfb3V0cHV0PWBsZGQgY29uZnRlc3Rg
CgkgICAgZm9yIGkgaW4gJGRlcGxpYnM7IGRvCgkgICAgICBuYW1lPSJgZXhwciAkaSA6ICctbFwo
LipcKSdgIgoJICAgICAgIyBJZiAkbmFtZSBpcyBlbXB0eSB3ZSBhcmUgb3BlcmF0aW5nIG9uIGEg
LUwgYXJndW1lbnQuCgkgICAgICBpZiB0ZXN0ICIkbmFtZSIgIT0gIiIgOyB0aGVuCgkJbGlibmFt
ZT1gZXZhbCBcXCRlY2hvIFwiJGxpYm5hbWVfc3BlY1wiYAoJCWRlcGxpYl9tYXRjaGVzPWBldmFs
IFxcJGVjaG8gXCIkbGlicmFyeV9uYW1lc19zcGVjXCJgCgkJc2V0IGR1bW15ICRkZXBsaWJfbWF0
Y2hlcwoJCWRlcGxpYl9tYXRjaD0kMgoJCWlmIHRlc3QgYGV4cHIgIiRsZGRfb3V0cHV0IiA6ICIu
KiRkZXBsaWJfbWF0Y2giYCAtbmUgMCA7IHRoZW4KCQkgIG5ld2RlcGxpYnM9IiRuZXdkZXBsaWJz
ICRpIgoJCWVsc2UKCQkgIGRyb3BwZWRkZXBzPXllcwoJCSAgZWNobwoJCSAgZWNobyAiKioqIFdh
cm5pbmc6IFRoaXMgbGlicmFyeSBuZWVkcyBzb21lIGZ1bmN0aW9uYWxpdHkgcHJvdmlkZWQgYnkg
JGkuIgoJCSAgZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGli
cmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKCQkgIGVjaG8gIioqKiB5b3UgbGluayB0
byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCgkJ
ICBlY2hvICIqKiogc2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBu
b3QgYXBwZWFyIHRvIGhhdmUuIgoJCWZpCgkgICAgICBlbHNlCgkJbmV3ZGVwbGlicz0iJG5ld2Rl
cGxpYnMgJGkiCgkgICAgICBmaQoJICAgIGRvbmUKCSAgZWxzZQoJICAgICMgRXJyb3Igb2NjdXJl
ZCBpbiB0aGUgZmlyc3QgY29tcGlsZS4gIExldCdzIHRyeSB0byBzYWx2YWdlIHRoZSBzaXR1YXRp
b246CgkgICAgIyBDb21waWxlIGEgc2VwZXJhdGUgcHJvZ3JhbSBmb3IgZWFjaCBsaWJyYXJ5LgoJ
ICAgIGZvciBpIGluICRkZXBsaWJzOyBkbwoJICAgICAgbmFtZT0iYGV4cHIgJGkgOiAnLWxcKC4q
XCknYCIKCSAgICAgIyBJZiAkbmFtZSBpcyBlbXB0eSB3ZSBhcmUgb3BlcmF0aW5nIG9uIGEgLUwg
YXJndW1lbnQuCgkgICAgICBpZiB0ZXN0ICIkbmFtZSIgIT0gIiIgOyB0aGVuCgkJJHJtIGNvbmZ0
ZXN0CgkJJENDIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgJGkKCQkjIERpZCBpdCB3b3JrPwoJCWlm
IHRlc3QgJD8gLWVxIDAgOyB0aGVuCgkJICBsZGRfb3V0cHV0PWBsZGQgY29uZnRlc3RgCgkJICBs
aWJuYW1lPWBldmFsIFxcJGVjaG8gXCIkbGlibmFtZV9zcGVjXCJgCgkJICBkZXBsaWJfbWF0Y2hl
cz1gZXZhbCBcXCRlY2hvIFwiJGxpYnJhcnlfbmFtZXNfc3BlY1wiYAoJCSAgc2V0IGR1bW15ICRk
ZXBsaWJfbWF0Y2hlcwoJCSAgZGVwbGliX21hdGNoPSQyCgkJICBpZiB0ZXN0IGBleHByICIkbGRk
X291dHB1dCIgOiAiLiokZGVwbGliX21hdGNoImAgLW5lIDAgOyB0aGVuCgkJICAgIG5ld2RlcGxp
YnM9IiRuZXdkZXBsaWJzICRpIgoJCSAgZWxzZQoJCSAgICBkcm9wcGVkZGVwcz15ZXMKCQkgICAg
ZWNobwoJCSAgICBlY2hvICIqKiogV2FybmluZzogVGhpcyBsaWJyYXJ5IG5lZWRzIHNvbWUgZnVu
Y3Rpb25hbGl0eSBwcm92aWRlZCBieSAkaS4iCgkJICAgIGVjaG8gIioqKiBJIGhhdmUgdGhlIGNh
cGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4i
CgkJICAgIGVjaG8gIioqKiB5b3UgbGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25s
eSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCgkJICAgIGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBv
ZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZS4iCgkJICBmaQoJ
CWVsc2UKCQkgIGRyb3BwZWRkZXBzPXllcwoJCSAgZWNobwoJCSAgZWNobyAiKioqIFdhcm5pbmch
ICBMaWJyYXJ5ICRpIGlzIG5lZWRlZCBieSB0aGlzIGxpYnJhcnkgYnV0IEkgd2FzIG5vdCBhYmxl
IHRvIgoJCSAgZWNobyAiKioqICBtYWtlIGl0IGxpbmsgaW4hICBZb3Ugd2lsbCBwcm9iYWJseSBu
ZWVkIHRvIGluc3RhbGwgaXQgb3Igc29tZSIKCQkgIGVjaG8gIioqKiBsaWJyYXJ5IHRoYXQgaXQg
ZGVwZW5kcyBvbiBiZWZvcmUgdGhpcyBsaWJyYXJ5IHdpbGwgYmUgZnVsbHkiCgkJICBlY2hvICIq
KiogZnVuY3Rpb25hbC4gIEluc3RhbGxpbmcgaXQgYmVmb3JlIGNvbnRpbnVpbmcgd291bGQgYmUg
ZXZlbiBiZXR0ZXIuIgoJCWZpCgkgICAgICBlbHNlCgkJbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMg
JGkiCgkgICAgICBmaQoJICAgIGRvbmUKCSAgZmkKCSAgOzsKCWZpbGVfbWFnaWMqKQoJICBzZXQg
ZHVtbXkgJGRlcGxpYnNfY2hlY2tfbWV0aG9kCgkgIGZpbGVfbWFnaWNfcmVnZXg9ImBleHByIFwi
JGRlcGxpYnNfY2hlY2tfbWV0aG9kXCIgOiBcIiQyIFwoLipcKVwiYCIKCSAgZm9yIGFfZGVwbGli
IGluICRkZXBsaWJzOyBkbwoJICAgIG5hbWU9ImBleHByICRhX2RlcGxpYiA6ICctbFwoLipcKSdg
IgoJICAgICMgSWYgJG5hbWUgaXMgZW1wdHkgd2UgYXJlIG9wZXJhdGluZyBvbiBhIC1MIGFyZ3Vt
ZW50LgoJICAgIGlmIHRlc3QgIiRuYW1lIiAhPSAiIiA7IHRoZW4KCSAgICAgIGxpYm5hbWU9YGV2
YWwgXFwkZWNobyBcIiRsaWJuYW1lX3NwZWNcImAKCSAgICAgIGZvciBpIGluICRsaWJfc2VhcmNo
X3BhdGg7IGRvCgkJICAgIHBvdGVudGlhbF9saWJzPWBscyAkaS8kbGlibmFtZVsuLV0qIDI+L2Rl
di9udWxsYAoJCSAgICBmb3IgcG90ZW50X2xpYiBpbiAkcG90ZW50aWFsX2xpYnM7IGRvCgkJICAg
ICAgIyBGb2xsb3cgc29mdCBsaW5rcy4KCQkgICAgICBpZiBscyAtbExkICIkcG90ZW50X2xpYiIg
Mj4vZGV2L251bGwgXAoJCQkgfCBncmVwICIgLT4gIiA+L2Rldi9udWxsOyB0aGVuCgkJCWNvbnRp
bnVlIAoJCSAgICAgIGZpCgkJICAgICAgIyBUaGUgc3RhdGVtZW50IGFib3ZlIHRyaWVzIHRvIGF2
b2lkIGVudGVyaW5nIGFuCgkJICAgICAgIyBlbmRsZXNzIGxvb3AgYmVsb3csIGluIGNhc2Ugb2Yg
Y3ljbGljIGxpbmtzLgoJCSAgICAgICMgV2UgbWlnaHQgc3RpbGwgZW50ZXIgYW4gZW5kbGVzcyBs
b29wLCBzaW5jZSBhIGxpbmsKCQkgICAgICAjIGxvb3AgY2FuIGJlIGNsb3NlZCB3aGlsZSB3ZSBm
b2xsb3cgbGlua3MsCgkJICAgICAgIyBidXQgc28gd2hhdD8KCQkgICAgICBwb3RsaWI9IiRwb3Rl
bnRfbGliIgoJCSAgICAgIHdoaWxlIHRlc3QgLWggIiRwb3RsaWIiIDI+L2Rldi9udWxsOyBkbwoJ
CQlwb3RsaWJsaW5rPWBscyAtbGQgJHBvdGxpYiB8IHNlZCAncy8uKiAtPiAvLydgCgkJCWNhc2Ug
IiRwb3RsaWJsaW5rIiBpbgoJCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIHBvdGxpYj0iJHBv
dGxpYmxpbmsiOzsKCQkJKikgcG90bGliPWAkZWNobyAiWCRwb3RsaWIiIHwgJFhzZWQgLWUgJ3Ms
W14vXSokLCwnYCIkcG90bGlibGluayI7OwoJCQllc2FjCgkJICAgICAgZG9uZQoJCSAgICAgIGlm
IGV2YWwgJGZpbGVfbWFnaWNfY21kIFwiXCRwb3RsaWJcIiAyPi9kZXYvbnVsbCBcCgkJCSB8IHNl
ZCAxMHEgXAoJCQkgfCBlZ3JlcCAiJGZpbGVfbWFnaWNfcmVnZXgiID4gL2Rldi9udWxsOyB0aGVu
CgkJCW5ld2RlcGxpYnM9IiRuZXdkZXBsaWJzICRhX2RlcGxpYiIKCQkJYV9kZXBsaWI9IiIKCQkJ
YnJlYWsgMgoJCSAgICAgIGZpCgkJICAgIGRvbmUKCSAgICAgIGRvbmUKCSAgICAgIGlmIHRlc3Qg
LW4gIiRhX2RlcGxpYiIgOyB0aGVuCgkJZHJvcHBlZGRlcHM9eWVzCgkJZWNobwoJCWVjaG8gIioq
KiBXYXJuaW5nOiBUaGlzIGxpYnJhcnkgbmVlZHMgc29tZSBmdW5jdGlvbmFsaXR5IHByb3ZpZGVk
IGJ5ICRhX2RlcGxpYi4iCgkJZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtl
IHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKCQllY2hvICIqKiogeW91
IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2
ZSBhIgoJCWVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91
IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZS4iCgkgICAgICBmaQoJICAgIGVsc2UKCSAgICAgICMgQWRk
IGEgLUwgYXJndW1lbnQuCgkgICAgICBuZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkYV9kZXBsaWIi
CgkgICAgZmkKCSAgZG9uZSAjIEdvbmUgdGhyb3VnaCBhbGwgZGVwbGlicy4KCSAgOzsKCW5vbmUg
fCB1bmtub3duIHwgKikKCSAgbmV3ZGVwbGlicz0iIgoJICBpZiAkZWNobyAiWCAkZGVwbGlicyIg
fCAkWHNlZCAtZSAncy8gLWxjJC8vJyBcCgkgICAgICAgLWUgJ3MvIC1bTFJdW14gXSovL2cnIC1l
ICdzL1sgCV0vL2cnIHwKCSAgICAgZ3JlcCAuID4vZGV2L251bGw7IHRoZW4KCSAgICBlY2hvCgkg
ICAgaWYgdGVzdCAiWCRkZXBsaWJzX2NoZWNrX21ldGhvZCIgPSAiWG5vbmUiOyB0aGVuCgkgICAg
ICBlY2hvICIqKiogV2FybmluZzogaW50ZXItbGlicmFyeSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBz
dXBwb3J0ZWQgaW4gdGhpcyBwbGF0Zm9ybS4iCgkgICAgZWxzZQoJICAgICAgZWNobyAiKioqIFdh
cm5pbmc6IGludGVyLWxpYnJhcnkgZGVwZW5kZW5jaWVzIGFyZSBub3Qga25vd24gdG8gYmUgc3Vw
cG9ydGVkLiIKCSAgICBmaQoJICAgIGVjaG8gIioqKiBBbGwgZGVjbGFyZWQgaW50ZXItbGlicmFy
eSBkZXBlbmRlbmNpZXMgYXJlIGJlaW5nIGRyb3BwZWQuIgoJICAgIGRyb3BwZWRkZXBzPXllcwoJ
ICBmaQoJICA7OwoJZXNhYwoJdmVyc3VmZml4PSR2ZXJzdWZmaXhfc2F2ZQoJbWFqb3I9JG1ham9y
X3NhdmUKCXJlbGVhc2U9JHJlbGVhc2Vfc2F2ZQoJbGlibmFtZT0kbGlibmFtZV9zYXZlCgluYW1l
PSRuYW1lX3NhdmUKCglpZiB0ZXN0ICIkZHJvcHBlZGRlcHMiID0geWVzOyB0aGVuCgkgIGlmIHRl
c3QgIiRtb2R1bGUiID0geWVzOyB0aGVuCgkgICAgZWNobwoJICAgIGVjaG8gIioqKiBXYXJuaW5n
OiBsaWJ0b29sIGNvdWxkIG5vdCBzYXRpc2Z5IGFsbCBkZWNsYXJlZCBpbnRlci1saWJyYXJ5IgoJ
ICAgIGVjaG8gIioqKiBkZXBlbmRlbmNpZXMgb2YgbW9kdWxlICRsaWJuYW1lLiAgVGhlcmVmb3Jl
LCBsaWJ0b29sIHdpbGwgY3JlYXRlIgoJICAgIGVjaG8gIioqKiBhIHN0YXRpYyBtb2R1bGUsIHRo
YXQgc2hvdWxkIHdvcmsgYXMgbG9uZyBhcyB0aGUgZGxvcGVuaW5nIgoJICAgIGVjaG8gIioqKiBh
cHBsaWNhdGlvbiBpcyBsaW5rZWQgd2l0aCB0aGUgLWRsb3BlbiBmbGFnLiIKCSAgICBpZiB0ZXN0
IC16ICIkZ2xvYmFsX3N5bWJvbF9waXBlIjsgdGhlbgoJICAgICAgZWNobwoJICAgICAgZWNobyAi
KioqIEhvd2V2ZXIsIHRoaXMgd291bGQgb25seSB3b3JrIGlmIGxpYnRvb2wgd2FzIGFibGUgdG8g
ZXh0cmFjdCBzeW1ib2wiCgkgICAgICBlY2hvICIqKiogbGlzdHMgZnJvbSBhIHByb2dyYW0sIHVz
aW5nIFxgbm0nIG9yIGVxdWl2YWxlbnQsIGJ1dCBsaWJ0b29sIGNvdWxkIgoJICAgICAgZWNobyAi
KioqIG5vdCBmaW5kIHN1Y2ggYSBwcm9ncmFtLiAgU28sIHRoaXMgbW9kdWxlIGlzIHByb2JhYmx5
IHVzZWxlc3MuIgoJICAgICAgZWNobyAiKioqIFxgbm0nIGZyb20gR05VIGJpbnV0aWxzIGFuZCBh
IGZ1bGwgcmVidWlsZCBtYXkgaGVscC4iCgkgICAgZmkKCSAgICBpZiB0ZXN0ICIkYnVpbGRfb2xk
X2xpYnMiID0gbm87IHRoZW4KCSAgICAgIGlmIHRlc3QgIiRyZWxlYXNlX3N1ZmZpeCIgPSBhbGw7
IHRoZW4KCSAgICAgICAgb2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUkcmVsZWFzZS4k
bGliZXh0IgoJICAgICAgZWxzZQoJICAgICAgb2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5h
bWUuJGxpYmV4dCIKCSAgICAgIGZpCgkgICAgICBidWlsZF9saWJ0b29sX2xpYnM9bW9kdWxlCgkg
ICAgICBidWlsZF9vbGRfbGlicz15ZXMKCSAgICBlbHNlCgkgICAgICBidWlsZF9saWJ0b29sX2xp
YnM9bm8KCSAgICBmaQoJICBlbHNlCgkgICAgZWNobyAiKioqIFRoZSBpbnRlci1saWJyYXJ5IGRl
cGVuZGVuY2llcyB0aGF0IGhhdmUgYmVlbiBkcm9wcGVkIGhlcmUgd2lsbCBiZSIKCSAgICBlY2hv
ICIqKiogYXV0b21hdGljYWxseSBhZGRlZCB3aGVuZXZlciBhIHByb2dyYW0gaXMgbGlua2VkIHdp
dGggdGhpcyBsaWJyYXJ5IgoJICAgIGVjaG8gIioqKiBvciBpcyBkZWNsYXJlZCB0byAtZGxvcGVu
IGl0LiIKCSAgZmkKCWZpCgkjIERvbmUgY2hlY2tpbmcgZGVwbGlicyEKCWRlcGxpYnM9JG5ld2Rl
cGxpYnMKICAgICAgZmkKCiAgICAgICMgQWxsIHRoZSBsaWJyYXJ5LXNwZWNpZmljIHZhcmlhYmxl
cyAoaW5zdGFsbF9saWJkaXIgaXMgc2V0IGFib3ZlKS4KICAgICAgbGlicmFyeV9uYW1lcz0KICAg
ICAgb2xkX2xpYnJhcnk9CiAgICAgIGRsbmFtZT0KICAgICAgCiAgICAgICMgVGVzdCBhZ2Fpbiwg
d2UgbWF5IGhhdmUgZGVjaWRlZCBub3QgdG8gYnVpbGQgaXQgYW55IG1vcmUKICAgICAgaWYgdGVz
dCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCSMgR2V0IHRoZSByZWFsIGFuZCBs
aW5rIG5hbWVzIG9mIHRoZSBsaWJyYXJ5LgoJZXZhbCBsaWJyYXJ5X25hbWVzPVwiJGxpYnJhcnlf
bmFtZXNfc3BlY1wiCglzZXQgZHVtbXkgJGxpYnJhcnlfbmFtZXMKCXJlYWxuYW1lPSIkMiIKCXNo
aWZ0OyBzaGlmdAoKCWlmIHRlc3QgLW4gIiRzb25hbWVfc3BlYyI7IHRoZW4KCSAgZXZhbCBzb25h
bWU9XCIkc29uYW1lX3NwZWNcIgoJZWxzZQoJICBzb25hbWU9IiRyZWFsbmFtZSIKCWZpCgoJbGli
PSIkb3V0cHV0X29iamRpci8kcmVhbG5hbWUiCglmb3IgbGluawoJZG8KCSAgbGlua25hbWVzPSIk
bGlua25hbWVzICRsaW5rIgoJZG9uZQoKCSMgRW5zdXJlIHRoYXQgd2UgaGF2ZSAubyBvYmplY3Rz
IGZvciBsaW5rZXJzIHdoaWNoIGRpc2xpa2UgLmxvCgkjIChlLmcuIGFpeCkgaW4gY2FzZSB3ZSBh
cmUgcnVubmluZyAtLWRpc2FibGUtc3RhdGljCglmb3Igb2JqIGluICRsaWJvYmpzOyBkbwoJICB4
ZGlyPWAkZWNobyAiWCRvYmoiIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKCSAgaWYgdGVzdCAi
WCR4ZGlyIiA9ICJYJG9iaiI7IHRoZW4KCSAgICB4ZGlyPSIuIgoJICBlbHNlCgkgICAgeGRpcj0i
JHhkaXIiCgkgIGZpCgkgIGJhc2VvYmo9YCRlY2hvICJYJG9iaiIgfCAkWHNlZCAtZSAncyVeLiov
JSUnYAoJICBvbGRvYmo9YCRlY2hvICJYJGJhc2VvYmoiIHwgJFhzZWQgLWUgIiRsbzJvImAKCSAg
aWYgdGVzdCAhIC1mICR4ZGlyLyRvbGRvYmo7IHRoZW4KCSAgICAkc2hvdyAiKGNkICR4ZGlyICYm
ICR7TE5fU30gJGJhc2VvYmogJG9sZG9iaikiCgkgICAgJHJ1biBldmFsICcoY2QgJHhkaXIgJiYg
JHtMTl9TfSAkYmFzZW9iaiAkb2xkb2JqKScgfHwgZXhpdCAkPwoJICBmaQoJZG9uZQoKCSMgVXNl
IHN0YW5kYXJkIG9iamVjdHMgaWYgdGhleSBhcmUgcGljCgl0ZXN0IC16ICIkcGljX2ZsYWciICYm
IGxpYm9ianM9YCRlY2hvICJYJGxpYm9ianMiIHwgJFNQMk5MIHwgJFhzZWQgLWUgIiRsbzJvIiB8
ICROTDJTUGAKCgkjIFByZXBhcmUgdGhlIGxpc3Qgb2YgZXhwb3J0ZWQgc3ltYm9scwoJaWYgdGVz
dCAteiAiJGV4cG9ydF9zeW1ib2xzIjsgdGhlbgoJICBpZiB0ZXN0ICIkYWx3YXlzX2V4cG9ydF9z
eW1ib2xzIiA9IHllcyB8fCB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiOyB0aGVuCgkg
ICAgJHNob3cgImdlbmVyYXRpbmcgc3ltYm9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIgoJICAg
IGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS5leHAiCgkgICAgJHJ1biAk
cm0gJGV4cG9ydF9zeW1ib2xzCgkgICAgZXZhbCBjbWRzPVwiJGV4cG9ydF9zeW1ib2xzX2NtZHNc
IgoJICAgIElGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCgkgICAgZm9y
IGNtZCBpbiAkY21kczsgZG8KCSAgICAgIElGUz0iJHNhdmVfaWZzIgoJICAgICAgJHNob3cgIiRj
bWQiCgkgICAgICAkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KCSAgICBkb25lCgkgICAgSUZT
PSIkc2F2ZV9pZnMiCgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzX3JlZ2V4IjsgdGhl
bgoJICAgICAgJHNob3cgImVncmVwIC1lIFwiJGV4cG9ydF9zeW1ib2xzX3JlZ2V4XCIgXCIkZXhw
b3J0X3N5bWJvbHNcIiA+IFwiJHtleHBvcnRfc3ltYm9sc31UXCIiCgkgICAgICAkcnVuIGV2YWwg
J2VncmVwIC1lICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiICIkZXhwb3J0X3N5bWJvbHMiID4gIiR7
ZXhwb3J0X3N5bWJvbHN9VCInCgkgICAgICAkc2hvdyAiJG12IFwiJHtleHBvcnRfc3ltYm9sc31U
XCIgXCIkZXhwb3J0X3N5bWJvbHNcIiIKCSAgICAgICRydW4gZXZhbCAnJG12ICIke2V4cG9ydF9z
eW1ib2xzfVQiICIkZXhwb3J0X3N5bWJvbHMiJwoJICAgIGZpCgkgIGZpCglmaQoKCWlmIHRlc3Qg
LW4gIiRleHBvcnRfc3ltYm9scyIgJiYgdGVzdCAtbiAiJGluY2x1ZGVfZXhwc3ltcyI7IHRoZW4K
CSAgJHJ1biBldmFsICckZWNobyAiWCRpbmNsdWRlX2V4cHN5bXMiIHwgJFNQMk5MID4+ICIkZXhw
b3J0X3N5bWJvbHMiJwoJZmkKCglpZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiOyB0aGVuCgkgIGlm
IHRlc3QgLW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7IHRoZW4KCSAgICBldmFsIGxpYm9i
anM9XCJcJGxpYm9ianMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjXCIKCSAgZWxzZQoJICAgIGdl
bnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgICAgJHNob3cgIiR7cm19ciAk
Z2VudG9wIgoJICAgICRydW4gJHtybX1yICIkZ2VudG9wIgoJICAgICRzaG93ICJta2RpciAkZ2Vu
dG9wIgoJICAgICRydW4gbWtkaXIgIiRnZW50b3AiCgkgICAgc3RhdHVzPSQ/CgkgICAgaWYgdGVz
dCAkc3RhdHVzIC1uZSAwICYmIHRlc3QgISAtZCAiJGdlbnRvcCI7IHRoZW4KCSAgICAgIGV4aXQg
JHN0YXR1cwoJICAgIGZpCgkgICAgZ2VuZXJhdGVkPSIkZ2VuZXJhdGVkICRnZW50b3AiCgoJICAg
IGZvciB4bGliIGluICRjb252ZW5pZW5jZTsgZG8KCSAgICAgICMgRXh0cmFjdCB0aGUgb2JqZWN0
cy4KCSAgICAgIGNhc2UgIiR4bGliIiBpbgoJICAgICAgW1xcL10qIHwgW0EtWmEtel06W1xcL10q
KSB4YWJzPSIkeGxpYiIgOzsKCSAgICAgICopIHhhYnM9YHB3ZGAiLyR4bGliIiA7OwoJICAgICAg
ZXNhYwoJICAgICAgeGxpYj1gJGVjaG8gIlgkeGxpYiIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoJ
ICAgICAgeGRpcj0iJGdlbnRvcC8keGxpYiIKCgkgICAgICAkc2hvdyAiJHtybX1yICR4ZGlyIgoJ
ICAgICAgJHJ1biAke3JtfXIgIiR4ZGlyIgoJICAgICAgJHNob3cgIm1rZGlyICR4ZGlyIgoJICAg
ICAgJHJ1biBta2RpciAiJHhkaXIiCgkgICAgICBzdGF0dXM9JD8KCSAgICAgIGlmIHRlc3QgJHN0
YXR1cyAtbmUgMCAmJiB0ZXN0ICEgLWQgIiR4ZGlyIjsgdGhlbgoJCWV4aXQgJHN0YXR1cwoJICAg
ICAgZmkKCSAgICAgICRzaG93ICIoY2QgJHhkaXIgJiYgJEFSIHggJHhhYnMpIgoJICAgICAgJHJ1
biBldmFsICIoY2QgXCR4ZGlyICYmICRBUiB4IFwkeGFicykiIHx8IGV4aXQgJD8KCgkgICAgICBs
aWJvYmpzPSIkbGlib2JqcyAiYGZpbmQgJHhkaXIgLW5hbWUgXCoubyAtcHJpbnQgLW8gLW5hbWUg
XCoubG8gLXByaW50IHwgJE5MMlNQYAoJICAgIGRvbmUKCSAgZmkKCWZpCgoJaWYgdGVzdCAiJHRo
cmVhZF9zYWZlIiA9IHllcyAmJiB0ZXN0IC1uICIkdGhyZWFkX3NhZmVfZmxhZ19zcGVjIjsgdGhl
bgoJICBldmFsIGZsYWc9XCIkdGhyZWFkX3NhZmVfZmxhZ19zcGVjXCIKCSAgbGlua29wdHM9IiRs
aW5rb3B0cyAkZmxhZyIKCWZpCgoJIyBEbyBlYWNoIG9mIHRoZSBhcmNoaXZlIGNvbW1hbmRzLgoJ
aWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1uICIkYXJjaGl2ZV9leHBzeW1f
Y21kcyI7IHRoZW4KCSAgZXZhbCBjbWRzPVwiJGFyY2hpdmVfZXhwc3ltX2NtZHNcIgoJZWxzZQoJ
ICBldmFsIGNtZHM9XCIkYXJjaGl2ZV9jbWRzXCIKCWZpCglJRlM9IiR7SUZTPSAJfSI7IHNhdmVf
aWZzPSIkSUZTIjsgSUZTPSd+JwoJZm9yIGNtZCBpbiAkY21kczsgZG8KCSAgSUZTPSIkc2F2ZV9p
ZnMiCgkgICRzaG93ICIkY21kIgoJICAkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KCWRvbmUK
CUlGUz0iJHNhdmVfaWZzIgoKCSMgQ3JlYXRlIGxpbmtzIHRvIHRoZSByZWFsIGxpYnJhcnkuCglm
b3IgbGlua25hbWUgaW4gJGxpbmtuYW1lczsgZG8KCSAgaWYgdGVzdCAiJHJlYWxuYW1lIiAhPSAi
JGxpbmtuYW1lIjsgdGhlbgoJICAgICRzaG93ICIoY2QgJG91dHB1dF9vYmpkaXIgJiYgJHJtICRs
aW5rbmFtZSAmJiAkTE5fUyAkcmVhbG5hbWUgJGxpbmtuYW1lKSIKCSAgICAkcnVuIGV2YWwgJyhj
ZCAkb3V0cHV0X29iamRpciAmJiAkcm0gJGxpbmtuYW1lICYmICRMTl9TICRyZWFsbmFtZSAkbGlu
a25hbWUpJyB8fCBleGl0ICQ/CgkgIGZpCglkb25lCgoJIyBJZiAtbW9kdWxlIG9yIC1leHBvcnQt
ZHluYW1pYyB3YXMgc3BlY2lmaWVkLCBzZXQgdGhlIGRsbmFtZS4KCWlmIHRlc3QgIiRtb2R1bGUi
ID0geWVzIHx8IHRlc3QgIiRleHBvcnRfZHluYW1pYyIgPSB5ZXM7IHRoZW4KCSAgIyBPbiBhbGwg
a25vd24gb3BlcmF0aW5nIHN5c3RlbXMsIHRoZXNlIGFyZSBpZGVudGljYWwuCgkgIGRsbmFtZT0i
JHNvbmFtZSIKCWZpCiAgICAgIGZpCiAgICAgIDs7CgogICAgKi5sbyB8ICoubyB8ICoub2JqKQog
ICAgICBpZiB0ZXN0IC1uICIkbGlua19hZ2FpbnN0X2xpYnRvb2xfbGlicyI7IHRoZW4KCSRlY2hv
ICIkbW9kZW5hbWU6IGVycm9yOiBjYW5ub3QgbGluayBsaWJ0b29sIGxpYnJhcmllcyBpbnRvIG9i
amVjdHMiIDE+JjIKCWV4aXQgMQogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJGRlcGxpYnMi
OyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1sJyBhbmQgXGAtTCcgYXJlIGln
bm9yZWQgZm9yIG9iamVjdHMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRkbGZp
bGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCgkkZWNobyAiJG1v
ZGVuYW1lOiB3YXJuaW5nOiBcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+JjIK
ICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRycGF0aCI7IHRoZW4KCSRlY2hvICIkbW9kZW5h
bWU6IHdhcm5pbmc6IFxgLXJwYXRoJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIiAxPiYyCiAgICAg
IGZpCgogICAgICBpZiB0ZXN0IC1uICIkeHJwYXRoIjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTog
d2FybmluZzogXGAtUicgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIgMT4mMgogICAgICBmaQoKICAg
ICAgaWYgdGVzdCAtbiAiJHZpbmZvIjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzog
XGAtdmVyc2lvbi1pbmZvJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIiAxPiYyCiAgICAgIGZpCgog
ICAgICBpZiB0ZXN0IC1uICIkcmVsZWFzZSI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5p
bmc6IFxgLXJlbGVhc2UnIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+JjIKICAgICAgZmkKCiAg
ICAgIGNhc2UgIiRvdXRwdXQiIGluCiAgICAgICoubG8pCglpZiB0ZXN0IC1uICIkb2JqcyI7IHRo
ZW4KCSAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGJ1aWxkIGxpYnJhcnkgb2JqZWN0IFxgJG91
dHB1dCcgZnJvbSBub24tbGlidG9vbCBvYmplY3RzIiAxPiYyCgkgIGV4aXQgMQoJZmkKCWxpYm9i
aj0iJG91dHB1dCIKCW9iaj1gJGVjaG8gIlgkb3V0cHV0IiB8ICRYc2VkIC1lICIkbG8ybyJgCgk7
OwogICAgICAqKQoJbGlib2JqPQoJb2JqPSIkb3V0cHV0IgoJOzsKICAgICAgZXNhYwoKICAgICAg
IyBEZWxldGUgdGhlIG9sZCBvYmplY3RzLgogICAgICAkcnVuICRybSAkb2JqICRsaWJvYmoKCiAg
ICAgICMgT2JqZWN0cyBmcm9tIGNvbnZlbmllbmNlIGxpYnJhcmllcy4gIFRoaXMgYXNzdW1lcwog
ICAgICAjIHNpbmdsZS12ZXJzaW9uIGNvbnZlbmllbmNlIGxpYnJhcmllcy4gIFdoZW5ldmVyIHdl
IGNyZWF0ZQogICAgICAjIGRpZmZlcmVudCBvbmVzIGZvciBQSUMvbm9uLVBJQywgdGhpcyB3ZSds
bCBoYXZlIHRvIGR1cGxpY2F0ZQogICAgICAjIHRoZSBleHRyYWN0aW9uLgogICAgICByZWxvYWRf
Y29udl9vYmpzPQogICAgICBnZW50b3A9CiAgICAgICMgcmVsb2FkX2NtZHMgcnVucyAkTEQgZGly
ZWN0bHksIHNvIGxldCB1cyBnZXQgcmlkIG9mCiAgICAgICMgLVdsIGZyb20gd2hvbGVfYXJjaGl2
ZV9mbGFnX3NwZWMKICAgICAgd2w9IAoKICAgICAgaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIjsg
dGhlbgoJaWYgdGVzdCAtbiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhlbgoJICBldmFs
IHJlbG9hZF9jb252X29ianM9XCJcJHJlbG9hZF9vYmpzICR3aG9sZV9hcmNoaXZlX2ZsYWdfc3Bl
Y1wiCgllbHNlCgkgIGdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvYmp9eCIKCSAgJHNob3cgIiR7
cm19ciAkZ2VudG9wIgoJICAkcnVuICR7cm19ciAiJGdlbnRvcCIKCSAgJHNob3cgIm1rZGlyICRn
ZW50b3AiCgkgICRydW4gbWtkaXIgIiRnZW50b3AiCgkgIHN0YXR1cz0kPwoJICBpZiB0ZXN0ICRz
dGF0dXMgLW5lIDAgJiYgdGVzdCAhIC1kICIkZ2VudG9wIjsgdGhlbgoJICAgIGV4aXQgJHN0YXR1
cwoJICBmaQoJICBnZW5lcmF0ZWQ9IiRnZW5lcmF0ZWQgJGdlbnRvcCIKCgkgIGZvciB4bGliIGlu
ICRjb252ZW5pZW5jZTsgZG8KCSAgICAjIEV4dHJhY3QgdGhlIG9iamVjdHMuCgkgICAgY2FzZSAi
JHhsaWIiIGluCgkgICAgW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSB4YWJzPSIkeGxpYiIgOzsK
CSAgICAqKSB4YWJzPWBwd2RgIi8keGxpYiIgOzsKCSAgICBlc2FjCgkgICAgeGxpYj1gJGVjaG8g
IlgkeGxpYiIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoJICAgIHhkaXI9IiRnZW50b3AvJHhsaWIi
CgoJICAgICRzaG93ICIke3JtfXIgJHhkaXIiCgkgICAgJHJ1biAke3JtfXIgIiR4ZGlyIgoJICAg
ICRzaG93ICJta2RpciAkeGRpciIKCSAgICAkcnVuIG1rZGlyICIkeGRpciIKCSAgICBzdGF0dXM9
JD8KCSAgICBpZiB0ZXN0ICRzdGF0dXMgLW5lIDAgJiYgdGVzdCAhIC1kICIkeGRpciI7IHRoZW4K
CSAgICAgIGV4aXQgJHN0YXR1cwoJICAgIGZpCgkgICAgJHNob3cgIihjZCAkeGRpciAmJiAkQVIg
eCAkeGFicykiCgkgICAgJHJ1biBldmFsICIoY2QgXCR4ZGlyICYmICRBUiB4IFwkeGFicykiIHx8
IGV4aXQgJD8KCgkgICAgcmVsb2FkX2NvbnZfb2Jqcz0iJHJlbG9hZF9vYmpzICJgZmluZCAkeGRp
ciAtbmFtZSBcKi5vIC1wcmludCAtbyAtbmFtZSBcKi5sbyAtcHJpbnQgfCAkTkwyU1BgCgkgIGRv
bmUKCWZpCiAgICAgIGZpCgogICAgICAjIENyZWF0ZSB0aGUgb2xkLXN0eWxlIG9iamVjdC4KICAg
ICAgcmVsb2FkX29ianM9IiRvYmpzICJgJGVjaG8gIlgkbGlib2JqcyIgfCAkU1AyTkwgfCAkWHNl
ZCAtZSAnL1wuJyR7bGliZXh0fSQnL2QnIC1lICcvXC5saWIkL2QnIC1lICIkbG8ybyIgfCAkTkwy
U1BgIiAkcmVsb2FkX2NvbnZfb2JqcyIKCiAgICAgIG91dHB1dD0iJG9iaiIKICAgICAgZXZhbCBj
bWRzPVwiJHJlbG9hZF9jbWRzXCIKICAgICAgSUZTPSIke0lGUz0gCX0iOyBzYXZlX2lmcz0iJElG
UyI7IElGUz0nficKICAgICAgZm9yIGNtZCBpbiAkY21kczsgZG8KCUlGUz0iJHNhdmVfaWZzIgoJ
JHNob3cgIiRjbWQiCgkkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KICAgICAgZG9uZQogICAg
ICBJRlM9IiRzYXZlX2lmcyIKCiAgICAgICMgRXhpdCBpZiB3ZSBhcmVuJ3QgZG9pbmcgYSBsaWJy
YXJ5IG9iamVjdCBmaWxlLgogICAgICBpZiB0ZXN0IC16ICIkbGlib2JqIjsgdGhlbgoJaWYgdGVz
dCAtbiAiJGdlbnRvcCI7IHRoZW4KCSAgJHNob3cgIiR7cm19ciAkZ2VudG9wIgoJICAkcnVuICR7
cm19ciAkZ2VudG9wCglmaQoKCWV4aXQgMAogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJGJ1aWxk
X2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVuCglpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJ
ICAkc2hvdyAiJHtybX1yICRnZW50b3AiCgkgICRydW4gJHtybX1yICRnZW50b3AKCWZpCgoJIyBD
cmVhdGUgYW4gaW52YWxpZCBsaWJ0b29sIG9iamVjdCBpZiBubyBQSUMsIHNvIHRoYXQgd2UgZG9u
J3QKCSMgYWNjaWRlbnRhbGx5IGxpbmsgaXQgaW50byBhIHByb2dyYW0uCgkkc2hvdyAiZWNobyB0
aW1lc3RhbXAgPiAkbGlib2JqIgoJJHJ1biBldmFsICJlY2hvIHRpbWVzdGFtcCA+ICRsaWJvYmoi
IHx8IGV4aXQgJD8KCWV4aXQgMAogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHBpY19mbGFn
IjsgdGhlbgoJIyBPbmx5IGRvIGNvbW1hbmRzIGlmIHdlIHJlYWxseSBoYXZlIGRpZmZlcmVudCBQ
SUMgb2JqZWN0cy4KCXJlbG9hZF9vYmpzPSIkbGlib2JqcyAkcmVsb2FkX2NvbnZfb2JqcyIKCW91
dHB1dD0iJGxpYm9iaiIKCWV2YWwgY21kcz1cIiRyZWxvYWRfY21kc1wiCglJRlM9IiR7SUZTPSAJ
fSI7IHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJZm9yIGNtZCBpbiAkY21kczsgZG8KCSAgSUZT
PSIkc2F2ZV9pZnMiCgkgICRzaG93ICIkY21kIgoJICAkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQg
JD8KCWRvbmUKCUlGUz0iJHNhdmVfaWZzIgogICAgICBlbHNlCgkjIEp1c3QgY3JlYXRlIGEgc3lt
bGluay4KCSRzaG93ICRybSAkbGlib2JqCgkkcnVuICRybSAkbGlib2JqCgl4ZGlyPWAkZWNobyAi
WCRsaWJvYmoiIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKCWlmIHRlc3QgIlgkeGRpciIgPSAi
WCRsaWJvYmoiOyB0aGVuCgkgIHhkaXI9Ii4iCgllbHNlCgkgIHhkaXI9IiR4ZGlyIgoJZmkKCWJh
c2VvYmo9YCRlY2hvICJYJGxpYm9iaiIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoJb2xkb2JqPWAk
ZWNobyAiWCRiYXNlb2JqIiB8ICRYc2VkIC1lICIkbG8ybyJgCgkkc2hvdyAiKGNkICR4ZGlyICYm
ICRMTl9TICRvbGRvYmogJGJhc2VvYmopIgoJJHJ1biBldmFsICcoY2QgJHhkaXIgJiYgJExOX1Mg
JG9sZG9iaiAkYmFzZW9iaiknIHx8IGV4aXQgJD8KICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4g
IiRnZW50b3AiOyB0aGVuCgkkc2hvdyAiJHtybX1yICRnZW50b3AiCgkkcnVuICR7cm19ciAkZ2Vu
dG9wCiAgICAgIGZpCgogICAgICBleGl0IDAKICAgICAgOzsKCiAgICAjIEFueXRoaW5nIGVsc2Ug
c2hvdWxkIGJlIGEgcHJvZ3JhbS4KICAgICopCiAgICAgIGlmIHRlc3QgLW4gIiR2aW5mbyI7IHRo
ZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXZlcnNpb24taW5mbycgaXMgaWdub3Jl
ZCBmb3IgcHJvZ3JhbXMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRyZWxlYXNl
IjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtcmVsZWFzZScgaXMgaWdub3Jl
ZCBmb3IgcHJvZ3JhbXMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgIiRwcmVsb2FkIiA9
IHllczsgdGhlbgoJaWYgdGVzdCAiJGRsb3BlbiIgPSB1bmtub3duICYmIHRlc3QgIiRkbG9wZW5f
c2VsZiIgPSB1bmtub3duICYmCgkgICB0ZXN0ICIkZGxvcGVuX3NlbGZfc3RhdGljIiA9IHVua25v
d247IHRoZW4KCSAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGBBQ19MSUJUT09MX0RMT1BF
Ticgbm90IHVzZWQuIEFzc3VtaW5nIG5vIGRsb3BlbiBzdXBwb3J0LiIKCWZpIAogICAgICBmaQog
ICAgCiAgICAgIGlmIHRlc3QgLW4gIiRycGF0aCR4cnBhdGgiOyB0aGVuCgkjIElmIHRoZSB1c2Vy
IHNwZWNpZmllZCBhbnkgcnBhdGggZmxhZ3MsIHRoZW4gYWRkIHRoZW0uCglmb3IgbGliZGlyIGlu
ICRycGF0aCAkeHJwYXRoOyBkbwoJICAjIFRoaXMgaXMgdGhlIG1hZ2ljIHRvIHVzZSAtcnBhdGgu
CgkgIGNhc2UgIiRjb21waWxlX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikg
Y29tcGlsZV9ycGF0aD0iJGNvbXBpbGVfcnBhdGggJGxpYmRpciIgOzsKCSAgZXNhYwoJICBjYXNl
ICIkZmluYWxpemVfcnBhdGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBmaW5hbGl6
ZV9ycGF0aD0iJGZpbmFsaXplX3JwYXRoICRsaWJkaXIiIDs7CgkgIGVzYWMKCWRvbmUKICAgICAg
ZmkKCiAgICAgICMgTm93IGhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGhzCiAgICAgIHJwYXRoPQog
ICAgICBoYXJkY29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRo
ICRmaW5hbGl6ZV9ycGF0aDsgZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19z
cGVjIjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRo
ZW4KCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRj
b2RlX2xpYmRpcnM9IiRsaWJkaXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3VtdWxhdGUg
dGhlIHVuaXF1ZSBsaWJkaXJzLgoJICAgICAgY2FzZSAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3IkaGFyZGNvZGVfbGliZGlycyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIiBpbgoJICAgICAg
KiIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFy
YXRvciIqKQoJCTs7CgkgICAgICAqKQoJCWhhcmRjb2RlX2xpYmRpcnM9IiRoYXJkY29kZV9saWJk
aXJzJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyIgoJCTs7CgkgICAgICBlc2FjCgkg
ICAgZmkKCSAgZWxzZQoJICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
XCIKCSAgICBycGF0aD0iJHJwYXRoICRmbGFnIgoJICBmaQoJZWxpZiB0ZXN0IC1uICIkcnVucGF0
aF92YXIiOyB0aGVuCgkgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikg
OzsKCSAgKikgcGVybV9ycGF0aD0iJHBlcm1fcnBhdGggJGxpYmRpciIgOzsKCSAgZXNhYwoJZmkK
ICAgICAgZG9uZQogICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2RlZCBsaWJkaXJzIGludG8g
dGhlIHJwYXRoLgogICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIg
JiYKCSB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCWxpYmRpcj0iJGhhcmRjb2Rl
X2xpYmRpcnMiCglldmFsIHJwYXRoPVwiICRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKICAg
ICAgZmkKICAgICAgY29tcGlsZV9ycGF0aD0iJHJwYXRoIgoKICAgICAgcnBhdGg9CiAgICAgIGhh
cmRjb2RlX2xpYmRpcnM9CiAgICAgIGZvciBsaWJkaXIgaW4gJGZpbmFsaXplX3JwYXRoOyBkbwoJ
aWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCgkgIGlmIHRlc3Qg
LW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgoJICAgIGlmIHRlc3QgLXogIiRo
YXJkY29kZV9saWJkaXJzIjsgdGhlbgoJICAgICAgaGFyZGNvZGVfbGliZGlycz0iJGxpYmRpciIK
CSAgICBlbHNlCgkgICAgICAjIEp1c3QgYWNjdW11bGF0ZSB0aGUgdW5pcXVlIGxpYmRpcnMuCgkg
ICAgICBjYXNlICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJzJGhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiIGluCgkgICAgICAqIiRoYXJkY29kZV9saWJkaXJfc2Vw
YXJhdG9yJGxpYmRpciRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIiopCgkJOzsKCSAgICAgICop
CgkJaGFyZGNvZGVfbGliZGlycz0iJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvciRsaWJkaXIiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJICBlbHNlCgkgICAgZXZh
bCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgoJICAgIHJwYXRoPSIkcnBhdGgg
JGZsYWciCgkgIGZpCgllbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KCSAgY2FzZSAi
JGZpbmFsaXplX3Blcm1fcnBhdGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBmaW5h
bGl6ZV9wZXJtX3JwYXRoPSIkZmluYWxpemVfcGVybV9ycGF0aCAkbGliZGlyIiA7OwoJICBlc2Fj
CglmaQogICAgICBkb25lCiAgICAgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxpYmRpcnMg
aW50byB0aGUgcnBhdGguCiAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJh
dG9yIiAmJgoJIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgoJbGliZGlyPSIkaGFy
ZGNvZGVfbGliZGlycyIKCWV2YWwgcnBhdGg9XCIgJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNc
IgogICAgICBmaQogICAgICBmaW5hbGl6ZV9ycGF0aD0iJHJwYXRoIgoKICAgICAgb3V0cHV0X29i
amRpcj1gJGVjaG8gIlgkb3V0cHV0IiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCiAgICAgIGlm
IHRlc3QgIlgkb3V0cHV0X29iamRpciIgPSAiWCRvdXRwdXQiOyB0aGVuCglvdXRwdXRfb2JqZGly
PSIkb2JqZGlyIgogICAgICBlbHNlCglvdXRwdXRfb2JqZGlyPSIkb3V0cHV0X29iamRpci8kb2Jq
ZGlyIgogICAgICBmaQoKICAgICAgIyBDcmVhdGUgdGhlIGJpbmFyeSBpbiB0aGUgb2JqZWN0IGRp
cmVjdG9yeSwgdGhlbiB3cmFwIGl0LgogICAgICBpZiB0ZXN0ICEgLWQgJG91dHB1dF9vYmpkaXI7
IHRoZW4KCSRzaG93ICIkbWtkaXIgJG91dHB1dF9vYmpkaXIiCgkkcnVuICRta2RpciAkb3V0cHV0
X29iamRpcgoJc3RhdHVzPSQ/CglpZiB0ZXN0ICRzdGF0dXMgLW5lIDAgJiYgdGVzdCAhIC1kICRv
dXRwdXRfb2JqZGlyOyB0aGVuCgkgIGV4aXQgJHN0YXR1cwoJZmkKICAgICAgZmkKCiAgICAgIGlm
IHRlc3QgLW4gIiRsaWJvYmpzIiAmJiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVu
CgkjIFRyYW5zZm9ybSBhbGwgdGhlIGxpYnJhcnkgb2JqZWN0cyBpbnRvIHN0YW5kYXJkIG9iamVj
dHMuCgljb21waWxlX2NvbW1hbmQ9YCRlY2hvICJYJGNvbXBpbGVfY29tbWFuZCIgfCAkU1AyTkwg
fCAkWHNlZCAtZSAiJGxvMm8iIHwgJE5MMlNQYAoJZmluYWxpemVfY29tbWFuZD1gJGVjaG8gIlgk
ZmluYWxpemVfY29tbWFuZCIgfCAkU1AyTkwgfCAkWHNlZCAtZSAiJGxvMm8iIHwgJE5MMlNQYAog
ICAgICBmaQoKICAgICAgZGxzeW1zPQogICAgICBpZiB0ZXN0IC1uICIkZGxmaWxlcyRkbHByZWZp
bGVzIiB8fCB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgoJaWYgdGVzdCAtbiAiJE5NIiAmJiB0
ZXN0IC1uICIkZ2xvYmFsX3N5bWJvbF9waXBlIjsgdGhlbgoJICBkbHN5bXM9IiR7b3V0cHV0bmFt
ZX1TLmMiCgllbHNlCgkgICRlY2hvICIkbW9kZW5hbWU6IG5vdCBjb25maWd1cmVkIHRvIGV4dHJh
Y3QgZ2xvYmFsIHN5bWJvbHMgZnJvbSBkbHByZW9wZW5lZCBmaWxlcyIgMT4mMgoJZmkKICAgICAg
ZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRkbHN5bXMiOyB0aGVuCgljYXNlICIkZGxzeW1zIiBpbgoJ
IiIpIDs7CgkqLmMpCgkgICMgRGlzY292ZXIgdGhlIG5saXN0IG9mIGVhY2ggb2YgdGhlIGRsZmls
ZXMuCgkgIG5saXN0PSIkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9Lm5tIgoKCSAgJHNob3cg
IiRybSAkbmxpc3QgJHtubGlzdH1TICR7bmxpc3R9VCIKCSAgJHJ1biAkcm0gIiRubGlzdCIgIiR7
bmxpc3R9UyIgIiR7bmxpc3R9VCIKCgkgICMgUGFyc2UgdGhlIG5hbWUgbGlzdCBpbnRvIGEgc291
cmNlIGZpbGUuCgkgICRzaG93ICJjcmVhdGluZyAkb3V0cHV0X29iamRpci8kZGxzeW1zIgoKCSAg
dGVzdCAteiAiJHJ1biIgJiYgJGVjaG8gPiAiJG91dHB1dF9vYmpkaXIvJGRsc3ltcyIgIlwKLyog
JGRsc3ltcyAtIHN5bWJvbCByZXNvbHV0aW9uIHRhYmxlIGZvciBcYCRvdXRwdXRuYW1lJyBkbHN5
bSBlbXVsYXRpb24uICovCi8qIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAtIEdOVSAkUEFDS0FHRSAk
VkVSU0lPTiRUSU1FU1RBTVAgKi8KCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gXCJDXCIgewoj
ZW5kaWYKCi8qIFByZXZlbnQgdGhlIG9ubHkga2luZCBvZiBkZWNsYXJhdGlvbiBjb25mbGljdHMg
d2UgY2FuIG1ha2UuICovCiNkZWZpbmUgbHRfcHJlbG9hZGVkX3N5bWJvbHMgc29tZV9vdGhlcl9z
eW1ib2wKCi8qIEV4dGVybmFsIHN5bWJvbCBkZWNsYXJhdGlvbnMgZm9yIHRoZSBjb21waWxlci4g
Ki9cCiIKCgkgIGlmIHRlc3QgIiRkbHNlbGYiID0geWVzOyB0aGVuCgkgICAgJHNob3cgImdlbmVy
YXRpbmcgc3ltYm9sIGxpc3QgZm9yIFxgJG91dHB1dCciCgoJICAgIHRlc3QgLXogIiRydW4iICYm
ICRlY2hvICc6IEBQUk9HUkFNQCAnID4gIiRubGlzdCIKCgkgICAgIyBBZGQgb3VyIG93biBwcm9n
cmFtIG9iamVjdHMgdG8gdGhlIHN5bWJvbCBsaXN0LgoJICAgIHByb2dmaWxlcz1gJGVjaG8gIlgk
b2JqcyIgfCAkU1AyTkwgfCAkWHNlZCAtZSAiJGxvMm8iIHwgJE5MMlNQYAoJICAgIGZvciBhcmcg
aW4gJHByb2dmaWxlczsgZG8KCSAgICAgICRzaG93ICJleHRyYWN0aW5nIGdsb2JhbCBDIHN5bWJv
bHMgZnJvbSBcYCRhcmcnIgoJICAgICAgJHJ1biBldmFsICIkTk0gJGFyZyB8ICRnbG9iYWxfc3lt
Ym9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgZG9uZQoKCSAgICBpZiB0ZXN0IC1uICIkZXhjbHVk
ZV9leHBzeW1zIjsgdGhlbgoJICAgICAgJHJ1biBldmFsICdlZ3JlcCAtdiAiICgkZXhjbHVkZV9l
eHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJUJwoJICAgICAgJHJ1biBldmFsICckbXYgIiRu
bGlzdCJUICIkbmxpc3QiJwoJICAgIGZpCgkgICAgCgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9z
eW1ib2xzX3JlZ2V4IjsgdGhlbgoJICAgICAgJHJ1biBldmFsICdlZ3JlcCAtZSAiJGV4cG9ydF9z
eW1ib2xzX3JlZ2V4IiAiJG5saXN0IiA+ICIkbmxpc3QiVCcKCSAgICAgICRydW4gZXZhbCAnJG12
ICIkbmxpc3QiVCAiJG5saXN0IicKCSAgICBmaQoKCSAgICAjIFByZXBhcmUgdGhlIGxpc3Qgb2Yg
ZXhwb3J0ZWQgc3ltYm9scwoJICAgIGlmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9scyI7IHRoZW4K
CSAgICAgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kb3V0cHV0LmV4cCIKCSAgICAg
ICRydW4gJHJtICRleHBvcnRfc3ltYm9scwoJICAgICAgJHJ1biBldmFsICJzZWQgLW4gLWUgJy9e
OiBAUFJPR1JBTUAkL2QnIC1lICdzL14uKiBcKC4qXCkkL1wxL3AnICInPCAiJG5saXN0IiA+ICIk
ZXhwb3J0X3N5bWJvbHMiJwoJICAgIGVsc2UKCSAgICAgICRydW4gZXZhbCAic2VkIC1lICdzL1wo
W11bLipeJF1cKS9cXFwxL2cnIC1lICdzL14vIC8nIC1lICdzLyQvJC8nIicgPCAiJGV4cG9ydF9z
eW1ib2xzIiA+ICIkb3V0cHV0X29iamRpci8kb3V0cHV0LmV4cCInCgkgICAgICAkcnVuIGV2YWwg
J2dyZXAgLWYgIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXQuZXhwIiA8ICIkbmxpc3QiID4gIiRubGlz
dCJUJwoJICAgICAgJHJ1biBldmFsICdtdiAiJG5saXN0IlQgIiRubGlzdCInCgkgICAgZmkKCSAg
ZmkKCgkgIGZvciBhcmcgaW4gJGRscHJlZmlsZXM7IGRvCgkgICAgJHNob3cgImV4dHJhY3Rpbmcg
Z2xvYmFsIEMgc3ltYm9scyBmcm9tIFxgJGFyZyciCgkgICAgbmFtZT1gZWNobyAiJGFyZyIgfCBz
ZWQgLWUgJ3MlXi4qLyUlJ2AKCSAgICAkcnVuIGV2YWwgJ2VjaG8gIjogJG5hbWUgIiA+PiAiJG5s
aXN0IicKCSAgICAkcnVuIGV2YWwgIiROTSAkYXJnIHwgJGdsb2JhbF9zeW1ib2xfcGlwZSA+PiAn
JG5saXN0JyIKCSAgZG9uZQoKCSAgaWYgdGVzdCAteiAiJHJ1biI7IHRoZW4KCSAgICAjIE1ha2Ug
c3VyZSB3ZSBoYXZlIGF0IGxlYXN0IGFuIGVtcHR5IGZpbGUuCgkgICAgdGVzdCAtZiAiJG5saXN0
IiB8fCA6ID4gIiRubGlzdCIKCgkgICAgaWYgdGVzdCAtbiAiJGV4Y2x1ZGVfZXhwc3ltcyI7IHRo
ZW4KCSAgICAgIGVncmVwIC12ICIgKCRleGNsdWRlX2V4cHN5bXMpJCIgIiRubGlzdCIgPiAiJG5s
aXN0IlQKCSAgICAgICRtdiAiJG5saXN0IlQgIiRubGlzdCIKCSAgICBmaQoKCSAgICAjIFRyeSBz
b3J0aW5nIGFuZCB1bmlxdWlmeWluZyB0aGUgb3V0cHV0LgoJICAgIGlmIGdyZXAgLXYgIl46ICIg
PCAiJG5saXN0IiB8IHNvcnQgKzIgfCB1bmlxID4gIiRubGlzdCJTOyB0aGVuCgkgICAgICA6Cgkg
ICAgZWxzZQoJICAgICAgZ3JlcCAtdiAiXjogIiA8ICIkbmxpc3QiID4gIiRubGlzdCJTCgkgICAg
ZmkKCgkgICAgaWYgdGVzdCAtZiAiJG5saXN0IlM7IHRoZW4KCSAgICAgIGV2YWwgIiRnbG9iYWxf
c3ltYm9sX3RvX2NkZWNsIicgPCAiJG5saXN0IlMgPj4gIiRvdXRwdXRfb2JqZGlyLyRkbHN5bXMi
JwoJICAgIGVsc2UKCSAgICAgIGVjaG8gJy8qIE5PTkUgKi8nID4+ICIkb3V0cHV0X29iamRpci8k
ZGxzeW1zIgoJICAgIGZpCgoJICAgICRlY2hvID4+ICIkb3V0cHV0X29iamRpci8kZGxzeW1zIiAi
XAoKI3VuZGVmIGx0X3ByZWxvYWRlZF9zeW1ib2xzCgojaWYgZGVmaW5lZCAoX19TVERDX18pICYm
IF9fU1REQ19fCiMgZGVmaW5lIGx0X3B0cl90IHZvaWQgKgojZWxzZQojIGRlZmluZSBsdF9wdHJf
dCBjaGFyICoKIyBkZWZpbmUgY29uc3QKI2VuZGlmCgovKiBUaGUgbWFwcGluZyBiZXR3ZWVuIHN5
bWJvbCBuYW1lcyBhbmQgc3ltYm9scy4gKi8KY29uc3Qgc3RydWN0IHsKICBjb25zdCBjaGFyICpu
YW1lOwogIGx0X3B0cl90IGFkZHJlc3M7Cn0KbHRfcHJlbG9hZGVkX3N5bWJvbHNbXSA9CntcCiIK
CgkgICAgc2VkIC1uIC1lICdzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKGx0X3B0cl90KSAw
fSwvcCcgXAoJCS1lICdzL14uIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJcMiIsIChsdF9wdHJf
dCkgXCZcMn0sL3AnIFwKCQkgIDwgIiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRkbHN5bXMi
CgoJICAgICRlY2hvID4+ICIkb3V0cHV0X29iamRpci8kZGxzeW1zIiAiXAogIHswLCAobHRfcHRy
X3QpIDB9Cn07CgovKiBUaGlzIHdvcmtzIGFyb3VuZCBhIHByb2JsZW0gaW4gRnJlZUJTRCBsaW5r
ZXIgKi8KI2lmZGVmIEZSRUVCU0RfV09SS0FST1VORApzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJl
bG9hZGVkX3NldHVwKCkgewogIHJldHVybiBsdF9wcmVsb2FkZWRfc3ltYm9sczsKfQojZW5kaWYK
CiNpZmRlZiBfX2NwbHVzcGx1cwp9CiNlbmRpZlwKIgoJICBmaQoKCSAgcGljX2ZsYWdfZm9yX3N5
bXRhYmxlPQoJICBjYXNlICIkaG9zdCIgaW4KCSAgIyBjb21waWxpbmcgdGhlIHN5bWJvbCB0YWJs
ZSBmaWxlIHdpdGggcGljX2ZsYWcgd29ya3MgYXJvdW5kCgkgICMgYSBGcmVlQlNEIGJ1ZyB0aGF0
IGNhdXNlcyBwcm9ncmFtcyB0byBjcmFzaCB3aGVuIC1sbSBpcwoJICAjIGxpbmtlZCBiZWZvcmUg
YW55IG90aGVyIFBJQyBvYmplY3QuICBCdXQgd2UgbXVzdCBub3QgdXNlCgkgICMgcGljX2ZsYWcg
d2hlbiBsaW5raW5nIHdpdGggLXN0YXRpYy4gIFRoZSBwcm9ibGVtIGV4aXN0cyBpbgoJICAjIEZy
ZWVCU0QgMi4yLjYgYW5kIGlzIGZpeGVkIGluIEZyZWVCU0QgMy4xLgoJICAqLSotZnJlZWJzZDIq
fCotKi1mcmVlYnNkMy4wKnwqLSotZnJlZWJzZGVsZjMuMCopDQoJICAgIGNhc2UgIiRjb21waWxl
X2NvbW1hbmQgIiBpbgoJICAgICoiIC1zdGF0aWMgIiopIDs7CgkgICAgKikgcGljX2ZsYWdfZm9y
X3N5bXRhYmxlPSIgJHBpY19mbGFnIC1EUElDIC1ERlJFRUJTRF9XT1JLQVJPVU5EIjs7CgkgICAg
ZXNhYzs7CgkgICotKi1ocHV4KikKCSAgICBjYXNlICIkY29tcGlsZV9jb21tYW5kICIgaW4KCSAg
ICAqIiAtc3RhdGljICIqKSA7OwoJICAgICopIHBpY19mbGFnX2Zvcl9zeW10YWJsZT0iICRwaWNf
ZmxhZyAtRFBJQyI7OwoJICAgIGVzYWMKCSAgZXNhYwoKCSAgIyBOb3cgY29tcGlsZSB0aGUgZHlu
YW1pYyBzeW1ib2wgZmlsZS4KCSAgJHNob3cgIihjZCAkb3V0cHV0X29iamRpciAmJiAkQ0MgLWMk
bm9fYnVpbHRpbl9mbGFnJHBpY19mbGFnX2Zvcl9zeW10YWJsZSBcIiRkbHN5bXNcIikiCgkgICRy
dW4gZXZhbCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRDQyAtYyRub19idWlsdGluX2ZsYWckcGlj
X2ZsYWdfZm9yX3N5bXRhYmxlICIkZGxzeW1zIiknIHx8IGV4aXQgJD8KCgkgICMgQ2xlYW4gdXAg
dGhlIGdlbmVyYXRlZCBmaWxlcy4KCSAgJHNob3cgIiRybSAkb3V0cHV0X29iamRpci8kZGxzeW1z
ICRubGlzdCAke25saXN0fVMgJHtubGlzdH1UIgoJICAkcnVuICRybSAiJG91dHB1dF9vYmpkaXIv
JGRsc3ltcyIgIiRubGlzdCIgIiR7bmxpc3R9UyIgIiR7bmxpc3R9VCIKCgkgICMgVHJhbnNmb3Jt
IHRoZSBzeW1ib2wgZmlsZSBpbnRvIHRoZSBjb3JyZWN0IG5hbWUuCgkgIGNvbXBpbGVfY29tbWFu
ZD1gJGVjaG8gIlgkY29tcGlsZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJUBTWU1GSUxFQCUkb3V0
cHV0X29iamRpci8ke291dHB1dG5hbWV9Uy4ke29iamV4dH0lImAKCSAgZmluYWxpemVfY29tbWFu
ZD1gJGVjaG8gIlgkZmluYWxpemVfY29tbWFuZCIgfCAkWHNlZCAtZSAicyVAU1lNRklMRUAlJG91
dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfVMuJHtvYmpleHR9JSJgCgkgIDs7CgkqKQoJICAkZWNo
byAiJG1vZGVuYW1lOiB1bmtub3duIHN1ZmZpeCBmb3IgXGAkZGxzeW1zJyIgMT4mMgoJICBleGl0
IDEKCSAgOzsKCWVzYWMKICAgICAgZWxzZQoJIyBXZSBrZWVwIGdvaW5nIGp1c3QgaW4gY2FzZSB0
aGUgdXNlciBkaWRuJ3QgcmVmZXIgdG8KCSMgbHRfcHJlbG9hZGVkX3N5bWJvbHMuICBUaGUgbGlu
a2VyIHdpbGwgZmFpbCBpZiBnbG9iYWxfc3ltYm9sX3BpcGUKCSMgcmVhbGx5IHdhcyByZXF1aXJl
ZC4KCgkjIE51bGxpZnkgdGhlIHN5bWJvbCBmaWxlLgoJY29tcGlsZV9jb21tYW5kPWAkZWNobyAi
WCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlIEBTWU1GSUxFQCUlImAKCWZpbmFsaXpl
X2NvbW1hbmQ9YCRlY2hvICJYJGZpbmFsaXplX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlIEBTWU1G
SUxFQCUlImAKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLXogIiRsaW5rX2FnYWluc3RfbGlidG9v
bF9saWJzIiB8fCB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXM7IHRoZW4KCSMgUmVw
bGFjZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlvbi4KCWNvbXBpbGVfY29tbWFuZD1gJGVj
aG8gIlgkY29tcGlsZV9jb21tYW5kIiB8ICRYc2VkIC1lICdzJUBPVVRQVVRAJSciJG91dHB1dCIn
JWcnYAoJbGlua19jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kJGNvbXBpbGVfcnBhdGgiCgoJIyBX
ZSBoYXZlIG5vIHVuaW5zdGFsbGVkIGxpYnJhcnkgZGVwZW5kZW5jaWVzLCBzbyBmaW5hbGl6ZSBy
aWdodCBub3cuCgkkc2hvdyAiJGxpbmtfY29tbWFuZCIKCSRydW4gZXZhbCAiJGxpbmtfY29tbWFu
ZCIKCXN0YXR1cz0kPwoJCgkjIERlbGV0ZSB0aGUgZ2VuZXJhdGVkIGZpbGVzLgoJaWYgdGVzdCAt
biAiJGRsc3ltcyI7IHRoZW4KCSAgJHNob3cgIiRybSAkb3V0cHV0X29iamRpci8ke291dHB1dG5h
bWV9Uy4ke29iamV4dH0iCgkgICRydW4gJHJtICIkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9
Uy4ke29iamV4dH0iCglmaQoKCWV4aXQgJHN0YXR1cwogICAgICBmaQoKICAgICAgaWYgdGVzdCAt
biAiJHNobGlicGF0aF92YXIiOyB0aGVuCgkjIFdlIHNob3VsZCBzZXQgdGhlIHNobGlicGF0aF92
YXIKCXJwYXRoPQoJZm9yIGRpciBpbiAkdGVtcF9ycGF0aDsgZG8KCSAgY2FzZSAiJGRpciIgaW4K
CSAgW1xcL10qIHwgW0EtWmEtel06W1xcL10qKQoJICAgICMgQWJzb2x1dGUgcGF0aC4KCSAgICBy
cGF0aD0iJHJwYXRoJGRpcjoiCgkgICAgOzsKCSAgKikKCSAgICAjIFJlbGF0aXZlIHBhdGg6IGFk
ZCBhIHRoaXNkaXIgZW50cnkuCgkgICAgcnBhdGg9IiRycGF0aFwkdGhpc2Rpci8kZGlyOiIKCSAg
ICA7OwoJICBlc2FjCglkb25lCgl0ZW1wX3JwYXRoPSIkcnBhdGgiCiAgICAgIGZpCgogICAgICBp
ZiB0ZXN0IC1uICIkY29tcGlsZV9zaGxpYnBhdGgkZmluYWxpemVfc2hsaWJwYXRoIjsgdGhlbgoJ
Y29tcGlsZV9jb21tYW5kPSIkc2hsaWJwYXRoX3Zhcj1cIiRjb21waWxlX3NobGlicGF0aCRmaW5h
bGl6ZV9zaGxpYnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIgJGNvbXBpbGVfY29tbWFuZCIKICAgICAg
ZmkKICAgICAgaWYgdGVzdCAtbiAiJGZpbmFsaXplX3NobGlicGF0aCI7IHRoZW4KCWZpbmFsaXpl
X2NvbW1hbmQ9IiRzaGxpYnBhdGhfdmFyPVwiJGZpbmFsaXplX3NobGlicGF0aFwkJHNobGlicGF0
aF92YXJcIiAkZmluYWxpemVfY29tbWFuZCIKICAgICAgZmkKCiAgICAgIGNvbXBpbGVfdmFyPQog
ICAgICBmaW5hbGl6ZV92YXI9CiAgICAgIGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4K
CWlmIHRlc3QgLW4gIiRwZXJtX3JwYXRoIjsgdGhlbgoJICAjIFdlIHNob3VsZCBzZXQgdGhlIHJ1
bnBhdGhfdmFyLgoJICBycGF0aD0KCSAgZm9yIGRpciBpbiAkcGVybV9ycGF0aDsgZG8KCSAgICBy
cGF0aD0iJHJwYXRoJGRpcjoiCgkgIGRvbmUKCSAgY29tcGlsZV92YXI9IiRydW5wYXRoX3Zhcj1c
IiRycGF0aFwkJHJ1bnBhdGhfdmFyXCIgIgoJZmkKCWlmIHRlc3QgLW4gIiRmaW5hbGl6ZV9wZXJt
X3JwYXRoIjsgdGhlbgoJICAjIFdlIHNob3VsZCBzZXQgdGhlIHJ1bnBhdGhfdmFyLgoJICBycGF0
aD0KCSAgZm9yIGRpciBpbiAkZmluYWxpemVfcGVybV9ycGF0aDsgZG8KCSAgICBycGF0aD0iJHJw
YXRoJGRpcjoiCgkgIGRvbmUKCSAgZmluYWxpemVfdmFyPSIkcnVucGF0aF92YXI9XCIkcnBhdGhc
JCRydW5wYXRoX3ZhclwiICIKCWZpCiAgICAgIGZpCgogICAgICBpZiB0ZXN0ICIkaGFyZGNvZGVf
YWN0aW9uIiA9IHJlbGluazsgdGhlbgoJIyBGYXN0IGluc3RhbGxhdGlvbiBpcyBub3Qgc3VwcG9y
dGVkCglsaW5rX2NvbW1hbmQ9IiRjb21waWxlX3ZhciRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9y
cGF0aCIKCXJlbGlua19jb21tYW5kPSIkZmluYWxpemVfdmFyJGZpbmFsaXplX2NvbW1hbmQkZmlu
YWxpemVfcnBhdGgiCgkKCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IHRoaXMgcGxhdGZvcm0g
ZG9lcyBub3QgbGlrZSB1bmluc3RhbGxlZCBzaGFyZWQgbGlicmFyaWVzIiAxPiYyCgkkZWNobyAi
JG1vZGVuYW1lOiBcYCRvdXRwdXQnIHdpbGwgYmUgcmVsaW5rZWQgZHVyaW5nIGluc3RhbGxhdGlv
biIgMT4mMgogICAgICBlbHNlCglpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiAhPSBubzsgdGhlbgoJ
ICBsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92YXIkY29tcGlsZV9jb21tYW5kJGZpbmFsaXplX3Jw
YXRoIgoJICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IHllczsgdGhlbgoJICAgIHJlbGlua19j
b21tYW5kPWAkZWNobyAiWCRjb21waWxlX3ZhciRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0
aCIgfCAkWHNlZCAtZSAncyVAT1VUUFVUQCVcJHByb2dkaXIvXCRmaWxlJWcnYAoJICBlbHNlCgkg
ICAgIyBmYXN0X2luc3RhbGwgaXMgc2V0IHRvIG5lZWRsZXNzCgkgICAgcmVsaW5rX2NvbW1hbmQ9
CgkgIGZpCgllbHNlCgkgIGxpbmtfY29tbWFuZD0iJGNvbXBpbGVfdmFyJGNvbXBpbGVfY29tbWFu
ZCRjb21waWxlX3JwYXRoIgoJICByZWxpbmtfY29tbWFuZD0iJGZpbmFsaXplX3ZhciRmaW5hbGl6
ZV9jb21tYW5kJGZpbmFsaXplX3JwYXRoIgoJZmkKICAgICAgZmkKCiAgICAgICMgUmVwbGFjZSB0
aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlvbi4KICAgICAgbGlua19jb21tYW5kPWAkZWNobyAi
WCRsaW5rX2NvbW1hbmQiIHwgJFhzZWQgLWUgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0X29iamRpci8k
b3V0cHV0bmFtZSInJWcnYAogICAgICAKICAgICAgIyBEZWxldGUgdGhlIG9sZCBvdXRwdXQgZmls
ZXMuCiAgICAgICRydW4gJHJtICRvdXRwdXQgJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUgJG91
dHB1dF9vYmpkaXIvbHQtJG91dHB1dG5hbWUKCiAgICAgICRzaG93ICIkbGlua19jb21tYW5kIgog
ICAgICAkcnVuIGV2YWwgIiRsaW5rX2NvbW1hbmQiIHx8IGV4aXQgJD8KCiAgICAgICMgTm93IGNy
ZWF0ZSB0aGUgd3JhcHBlciBzY3JpcHQuCiAgICAgICRzaG93ICJjcmVhdGluZyAkb3V0cHV0IgoK
ICAgICAgIyBRdW90ZSB0aGUgcmVsaW5rIGNvbW1hbmQgZm9yIHNoaXBwaW5nLgogICAgICBpZiB0
ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCglyZWxpbmtfY29tbWFuZD1gJGVjaG8gIlgk
cmVsaW5rX2NvbW1hbmQiIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBmaQoK
ICAgICAgIyBRdW90ZSAkZWNobyBmb3Igc2hpcHBpbmcuCiAgICAgIGlmIHRlc3QgIlgkZWNobyIg
PSAiWCRTSEVMTCAkMCAtLWZhbGxiYWNrLWVjaG8iOyB0aGVuCgljYXNlICIkMCIgaW4KCVtcXC9d
KiB8IFtBLVphLXpdOltcXC9dKikgcWVjaG89IiRTSEVMTCAkMCAtLWZhbGxiYWNrLWVjaG8iOzsK
CSopIHFlY2hvPSIkU0hFTEwgYHB3ZGAvJDAgLS1mYWxsYmFjay1lY2hvIjs7Cgllc2FjCglxZWNo
bz1gJGVjaG8gIlgkcWVjaG8iIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBl
bHNlCglxZWNobz1gJGVjaG8gIlgkZWNobyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJg
CiAgICAgIGZpCgogICAgICAjIE9ubHkgYWN0dWFsbHkgZG8gdGhpbmdzIGlmIG91ciBydW4gY29t
bWFuZCBpcyBub24tbnVsbC4KICAgICAgaWYgdGVzdCAteiAiJHJ1biI7IHRoZW4KCSMgd2luMzIg
d2lsbCB0aGluayB0aGUgc2NyaXB0IGlzIGEgYmluYXJ5IGlmIGl0IGhhcwoJIyBhIC5leGUgc3Vm
Zml4LCBzbyB3ZSBzdHJpcCBpdCBvZmYgaGVyZS4KCWNhc2UgJG91dHB1dCBpbgoJICAqLmV4ZSkg
b3V0cHV0PWBlY2hvICRvdXRwdXR8c2VkICdzLC5leGUkLCwnYCA7OwoJZXNhYwoJJHJtICRvdXRw
dXQKCXRyYXAgIiRybSAkb3V0cHV0OyBleGl0IDEiIDEgMiAxNQoKCSRlY2hvID4gJG91dHB1dCAi
XAojISAkU0hFTEwKCiMgJG91dHB1dCAtIHRlbXBvcmFyeSB3cmFwcGVyIHNjcmlwdCBmb3IgJG9i
amRpci8kb3V0cHV0bmFtZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAtIEdOVSAkUEFDS0FHRSAk
VkVSU0lPTiRUSU1FU1RBTVAKIwojIFRoZSAkb3V0cHV0IHByb2dyYW0gY2Fubm90IGJlIGRpcmVj
dGx5IGV4ZWN1dGVkIHVudGlsIGFsbCB0aGUgbGlidG9vbAojIGxpYnJhcmllcyB0aGF0IGl0IGRl
cGVuZHMgb24gYXJlIGluc3RhbGxlZC4KIwojIFRoaXMgd3JhcHBlciBzY3JpcHQgc2hvdWxkIG5l
dmVyIGJlIG1vdmVkIG91dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5LgojIElmIGl0IGlzLCBpdCB3
aWxsIG5vdCBvcGVyYXRlIGNvcnJlY3RseS4KCiMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBz
IHVzIGRvIHJvYnVzdCBxdW90aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKIyBtZXRhY2hhcmFjdGVy
cyB0aGF0IGFyZSBzdGlsbCBhY3RpdmUgd2l0aGluIGRvdWJsZS1xdW90ZWQgc3RyaW5ncy4KWHNl
ZD0nc2VkIC1lIDFzL15YLy8nCnNlZF9xdW90ZV9zdWJzdD0nJHNlZF9xdW90ZV9zdWJzdCcKCiMg
VGhlIEhQLVVYIGtzaCBhbmQgUE9TSVggc2hlbGwgcHJpbnQgdGhlIHRhcmdldCBkaXJlY3Rvcnkg
dG8gc3Rkb3V0CiMgaWYgQ0RQQVRIIGlzIHNldC4KaWYgdGVzdCBcIlwke0NEUEFUSCtzZXR9XCIg
PSBzZXQ7IHRoZW4gQ0RQQVRIPTo7IGV4cG9ydCBDRFBBVEg7IGZpCgpyZWxpbmtfY29tbWFuZD1c
IiRyZWxpbmtfY29tbWFuZFwiCgojIFRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgZGV0ZXJtaW5l
cyBvdXIgb3BlcmF0aW9uIG1vZGUuCmlmIHRlc3QgXCJcJGxpYnRvb2xfaW5zdGFsbF9tYWdpY1wi
ID0gXCIkbWFnaWNcIjsgdGhlbgogICMgaW5zdGFsbCBtb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcg
dmFyaWFibGU6CiAgbGlua19hZ2FpbnN0X2xpYnRvb2xfbGlicz0nJGxpbmtfYWdhaW5zdF9saWJ0
b29sX2xpYnMnCmVsc2UKICAjIFdoZW4gd2UgYXJlIHNvdXJjZWQgaW4gZXhlY3V0ZSBtb2RlLCBc
JGZpbGUgYW5kIFwkZWNobyBhcmUgYWxyZWFkeSBzZXQuCiAgaWYgdGVzdCBcIlwkbGlidG9vbF9l
eGVjdXRlX21hZ2ljXCIgIT0gXCIkbWFnaWNcIjsgdGhlbgogICAgZWNobz1cIiRxZWNob1wiCiAg
ICBmaWxlPVwiXCQwXCIKICAgICMgTWFrZSBzdXJlIGVjaG8gd29ya3MuCiAgICBpZiB0ZXN0IFwi
WFwkMVwiID0gWC0tbm8tcmVleGVjOyB0aGVuCiAgICAgICMgRGlzY2FyZCB0aGUgLS1uby1yZWV4
ZWMgZmxhZywgYW5kIGNvbnRpbnVlLgogICAgICBzaGlmdAogICAgZWxpZiB0ZXN0IFwiWFxgKFwk
ZWNobyAnXHQnKSAyPi9kZXYvbnVsbFxgXCIgPSAnWFx0JzsgdGhlbgogICAgICAjIFlpcHBlZSwg
XCRlY2hvIHdvcmtzIQogICAgICA6CiAgICBlbHNlCiAgICAgICMgUmVzdGFydCB1bmRlciB0aGUg
Y29ycmVjdCBzaGVsbCwgYW5kIHRoZW4gbWF5YmUgXCRlY2hvIHdpbGwgd29yay4KICAgICAgZXhl
YyAkU0hFTEwgXCJcJDBcIiAtLW5vLXJlZXhlYyBcJHsxK1wiXCRAXCJ9CiAgICBmaQogIGZpXAoi
CgkkZWNobyA+PiAkb3V0cHV0ICJcCgogICMgRmluZCB0aGUgZGlyZWN0b3J5IHRoYXQgdGhpcyBz
Y3JpcHQgbGl2ZXMgaW4uCiAgdGhpc2Rpcj1cYFwkZWNobyBcIlhcJGZpbGVcIiB8IFwkWHNlZCAt
ZSAncyUvW14vXSokJSUnXGAKICB0ZXN0IFwieFwkdGhpc2RpclwiID0gXCJ4XCRmaWxlXCIgJiYg
dGhpc2Rpcj0uCgogICMgRm9sbG93IHN5bWJvbGljIGxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUg
cmVhbCB0aGlzZGlyLgogIGZpbGU9XGBscyAtbGQgXCJcJGZpbGVcIiB8IHNlZCAtbiAncy8uKi0+
IC8vcCdcYAogIHdoaWxlIHRlc3QgLW4gXCJcJGZpbGVcIjsgZG8KICAgIGRlc3RkaXI9XGBcJGVj
aG8gXCJYXCRmaWxlXCIgfCBcJFhzZWQgLWUgJ3MlL1teL10qXCQlJSdcYAoKICAgICMgSWYgdGhl
cmUgd2FzIGEgZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBjaGFuZ2UgdGhpc2Rpci4KICAgIGlm
IHRlc3QgXCJ4XCRkZXN0ZGlyXCIgIT0gXCJ4XCRmaWxlXCI7IHRoZW4KICAgICAgY2FzZSBcIlwk
ZGVzdGRpclwiIGluCiAgICAgIFtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgdGhpc2Rpcj1cIlwk
ZGVzdGRpclwiIDs7CiAgICAgICopIHRoaXNkaXI9XCJcJHRoaXNkaXIvXCRkZXN0ZGlyXCIgOzsK
ICAgICAgZXNhYwogICAgZmkKCiAgICBmaWxlPVxgXCRlY2hvIFwiWFwkZmlsZVwiIHwgXCRYc2Vk
IC1lICdzJV4uKi8lJSdcYAogICAgZmlsZT1cYGxzIC1sZCBcIlwkdGhpc2Rpci9cJGZpbGVcIiB8
IHNlZCAtbiAncy8uKi0+IC8vcCdcYAogIGRvbmUKCiAgIyBUcnkgdG8gZ2V0IHRoZSBhYnNvbHV0
ZSBkaXJlY3RvcnkgbmFtZS4KICBhYnNkaXI9XGBjZCBcIlwkdGhpc2RpclwiICYmIHB3ZFxgCiAg
dGVzdCAtbiBcIlwkYWJzZGlyXCIgJiYgdGhpc2Rpcj1cIlwkYWJzZGlyXCIKIgoKCWlmIHRlc3Qg
IiRmYXN0X2luc3RhbGwiID0geWVzOyB0aGVuCgkgIGVjaG8gPj4gJG91dHB1dCAiXAogIHByb2dy
YW09bHQtJyRvdXRwdXRuYW1lJwogIHByb2dkaXI9XCJcJHRoaXNkaXIvJG9iamRpclwiCiAgCiAg
aWYgdGVzdCAhIC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiIHx8IFxcCiAgICAgeyBmaWxlPVxg
bHMgLTFkdCBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiBcIlwkcHJvZ2Rpci8uLi9cJHByb2dyYW1c
IiAyPi9kZXYvbnVsbCB8IHNlZCAxcVxgOyBcXAogICAgICAgdGVzdCBcIlhcJGZpbGVcIiAhPSBc
IlhcJHByb2dkaXIvXCRwcm9ncmFtXCI7IH07IHRoZW4KCiAgICBmaWxlPVwiXCRcJC1cJHByb2dy
YW1cIgoKICAgIGlmIHRlc3QgISAtZCBcIlwkcHJvZ2RpclwiOyB0aGVuCiAgICAgICRta2RpciBc
IlwkcHJvZ2RpclwiCiAgICBlbHNlCiAgICAgICRybSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgogICAg
ZmkiCgoJICBlY2hvID4+ICRvdXRwdXQgIlwKCiAgICAjIHJlbGluayBleGVjdXRhYmxlIGlmIG5l
Y2Vzc2FyeQogICAgaWYgdGVzdCAtbiBcIlwkcmVsaW5rX2NvbW1hbmRcIjsgdGhlbgogICAgICBp
ZiAoY2QgXCJcJHRoaXNkaXJcIiAmJiBldmFsIFwkcmVsaW5rX2NvbW1hbmQpOyB0aGVuIDoKICAg
ICAgZWxzZQoJJHJtIFwiXCRwcm9nZGlyL1wkZmlsZVwiCglleGl0IDEKICAgICAgZmkKICAgIGZp
CgogICAgJG12IFwiXCRwcm9nZGlyL1wkZmlsZVwiIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiIDI+
L2Rldi9udWxsIHx8CiAgICB7ICRybSBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIjsKICAgICAgJG12
IFwiXCRwcm9nZGlyL1wkZmlsZVwiIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOyB9CiAgICAkcm0g
XCJcJHByb2dkaXIvXCRmaWxlXCIKICBmaSIKCWVsc2UKCSAgZWNobyA+PiAkb3V0cHV0ICJcCiAg
cHJvZ3JhbT0nJG91dHB1dG5hbWUnCiAgcHJvZ2Rpcj1cIlwkdGhpc2Rpci8kb2JqZGlyXCIKIgoJ
ZmkKCgllY2hvID4+ICRvdXRwdXQgIlwKCiAgaWYgdGVzdCAtZiBcIlwkcHJvZ2Rpci9cJHByb2dy
YW1cIjsgdGhlbiIKCgkjIEV4cG9ydCBvdXIgc2hsaWJwYXRoX3ZhciBpZiB3ZSBoYXZlIG9uZS4K
CWlmIHRlc3QgIiRzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGgiID0geWVzICYmIHRlc3QgLW4g
IiRzaGxpYnBhdGhfdmFyIiAmJiB0ZXN0IC1uICIkdGVtcF9ycGF0aCI7IHRoZW4KCSAgJGVjaG8g
Pj4gJG91dHB1dCAiXAogICAgIyBBZGQgb3VyIG93biBsaWJyYXJ5IHBhdGggdG8gJHNobGlicGF0
aF92YXIKICAgICRzaGxpYnBhdGhfdmFyPVwiJHRlbXBfcnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIK
CiAgICAjIFNvbWUgc3lzdGVtcyBjYW5ub3QgY29wZSB3aXRoIGNvbG9uLXRlcm1pbmF0ZWQgJHNo
bGlicGF0aF92YXIKICAgICMgVGhlIHNlY29uZCBjb2xvbiBpcyBhIHdvcmthcm91bmQgZm9yIGEg
YnVnIGluIEJlT1MgUjQgc2VkCiAgICAkc2hsaWJwYXRoX3Zhcj1cYFwkZWNobyBcIlhcJCRzaGxp
YnBhdGhfdmFyXCIgfCBcJFhzZWQgLWUgJ3MvOjoqXCQvLydcYAoKICAgIGV4cG9ydCAkc2hsaWJw
YXRoX3ZhcgoiCglmaQoKCSMgZml4dXAgdGhlIGRsbCBzZWFyY2hwYXRoIGlmIHdlIG5lZWQgdG8u
CglpZiB0ZXN0IC1uICIkZGxsc2VhcmNocGF0aCI7IHRoZW4KCSAgJGVjaG8gPj4gJG91dHB1dCAi
XAogICAgIyBBZGQgdGhlIGRsbCBzZWFyY2ggcGF0aCBjb21wb25lbnRzIHRvIHRoZSBleGVjdXRh
YmxlIFBBVEgKICAgIFBBVEg9JGRsbHNlYXJjaHBhdGg6XCRQQVRICiIKCWZpCgoJJGVjaG8gPj4g
JG91dHB1dCAiXAogICAgaWYgdGVzdCBcIlwkbGlidG9vbF9leGVjdXRlX21hZ2ljXCIgIT0gXCIk
bWFnaWNcIjsgdGhlbgogICAgICAjIFJ1biB0aGUgYWN0dWFsIHByb2dyYW0gd2l0aCBvdXIgYXJn
dW1lbnRzLgoiCgljYXNlICRob3N0IGluCgkgICMgd2luMzIgc3lzdGVtcyBuZWVkIHRvIHVzZSB0
aGUgcHJvZyBwYXRoIGZvciBkbGwKCSAgIyBsb29rdXAgdG8gd29yawoJKi0qLWN5Z3dpbiopCgkg
ICRlY2hvID4+ICRvdXRwdXQgIlwKICAgICAgZXhlYyBcJHByb2dkaXIvXCRwcm9ncmFtIFwkezEr
XCJcJEBcIn0KIgoJICA7OwoKCSMgQmFja3NsYXNoZXMgc2VwYXJhdGUgZGlyZWN0b3JpZXMgb24g
cGxhaW4gd2luZG93cwoJKi0qLW1pbmd3IHwgKi0qLW9zMiopCgkgICRlY2hvID4+ICRvdXRwdXQg
IlwKICAgICAgZXhlYyBcJHByb2dkaXJcXFxcXCRwcm9ncmFtIFwkezErXCJcJEBcIn0KIgoJICA7
OwoKCSopCgkgICRlY2hvID4+ICRvdXRwdXQgIlwKICAgICAgIyBFeHBvcnQgdGhlIHBhdGggdG8g
dGhlIHByb2dyYW0uCiAgICAgIFBBVEg9XCJcJHByb2dkaXI6XCRQQVRIXCIKICAgICAgZXhwb3J0
IFBBVEgKCiAgICAgIGV4ZWMgXCRwcm9ncmFtIFwkezErXCJcJEBcIn0KIgoJICA7OwoJZXNhYwoJ
JGVjaG8gPj4gJG91dHB1dCAiXAogICAgICBcJGVjaG8gXCJcJDA6IGNhbm5vdCBleGVjIFwkcHJv
Z3JhbSBcJHsxK1wiXCRAXCJ9XCIKICAgICAgZXhpdCAxCiAgICBmaQogIGVsc2UKICAgICMgVGhl
IHByb2dyYW0gZG9lc24ndCBleGlzdC4KICAgIFwkZWNobyBcIlwkMDogZXJyb3I6IFwkcHJvZ2Rp
ci9cJHByb2dyYW0gZG9lcyBub3QgZXhpc3RcIiAxPiYyCiAgICBcJGVjaG8gXCJUaGlzIHNjcmlw
dCBpcyBqdXN0IGEgd3JhcHBlciBmb3IgXCRwcm9ncmFtLlwiIDE+JjIKICAgIGVjaG8gXCJTZWUg
dGhlICRQQUNLQUdFIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXCIgMT4mMgog
ICAgZXhpdCAxCiAgZmkKZmlcCiIKCWNobW9kICt4ICRvdXRwdXQKICAgICAgZmkKICAgICAgZXhp
dCAwCiAgICAgIDs7CiAgICBlc2FjCgogICAgIyBTZWUgaWYgd2UgbmVlZCB0byBidWlsZCBhbiBv
bGQtZmFzaGlvbmVkIGFyY2hpdmUuCiAgICBmb3Igb2xkbGliIGluICRvbGRsaWJzOyBkbwoKICAg
ICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBjb252ZW5pZW5jZTsgdGhlbgoJb2xk
b2Jqcz0iJGxpYm9ianNfc2F2ZSIKCWFkZGxpYnM9IiRjb252ZW5pZW5jZSIKCWJ1aWxkX2xpYnRv
b2xfbGlicz1ubwogICAgICBlbHNlCglpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG1v
ZHVsZTsgdGhlbgoJICBvbGRvYmpzPSIkbGlib2Jqc19zYXZlIgoJICBidWlsZF9saWJ0b29sX2xp
YnM9bm8KCWVsc2UKCSAgb2xkb2Jqcz0iJG9ianMgImAkZWNobyAiWCRsaWJvYmpzX3NhdmUiIHwg
JFNQMk5MIHwgJFhzZWQgLWUgJy9cLicke2xpYmV4dH0nJC9kJyAtZSAnL1wubGliJC9kJyAtZSAi
JGxvMm8iIHwgJE5MMlNQYAoJZmkKCWFkZGxpYnM9IiRvbGRfY29udmVuaWVuY2UiCiAgICAgIGZp
CgogICAgICBpZiB0ZXN0IC1uICIkYWRkbGlicyI7IHRoZW4KCWdlbnRvcD0iJG91dHB1dF9vYmpk
aXIvJHtvdXRwdXRuYW1lfXgiCgkkc2hvdyAiJHtybX1yICRnZW50b3AiCgkkcnVuICR7cm19ciAi
JGdlbnRvcCIKCSRzaG93ICJta2RpciAkZ2VudG9wIgoJJHJ1biBta2RpciAiJGdlbnRvcCIKCXN0
YXR1cz0kPwoJaWYgdGVzdCAkc3RhdHVzIC1uZSAwICYmIHRlc3QgISAtZCAiJGdlbnRvcCI7IHRo
ZW4KCSAgZXhpdCAkc3RhdHVzCglmaQoJZ2VuZXJhdGVkPSIkZ2VuZXJhdGVkICRnZW50b3AiCgkg
IAoJIyBBZGQgaW4gbWVtYmVycyBmcm9tIGNvbnZlbmllbmNlIGFyY2hpdmVzLgoJZm9yIHhsaWIg
aW4gJGFkZGxpYnM7IGRvCgkgICMgRXh0cmFjdCB0aGUgb2JqZWN0cy4KCSAgY2FzZSAiJHhsaWIi
IGluCgkgIFtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgeGFicz0iJHhsaWIiIDs7CgkgICopIHhh
YnM9YHB3ZGAiLyR4bGliIiA7OwoJICBlc2FjCgkgIHhsaWI9YCRlY2hvICJYJHhsaWIiIHwgJFhz
ZWQgLWUgJ3MlXi4qLyUlJ2AKCSAgeGRpcj0iJGdlbnRvcC8keGxpYiIKCgkgICRzaG93ICIke3Jt
fXIgJHhkaXIiCgkgICRydW4gJHtybX1yICIkeGRpciIKCSAgJHNob3cgIm1rZGlyICR4ZGlyIgoJ
ICAkcnVuIG1rZGlyICIkeGRpciIKCSAgc3RhdHVzPSQ/CgkgIGlmIHRlc3QgJHN0YXR1cyAtbmUg
MCAmJiB0ZXN0ICEgLWQgIiR4ZGlyIjsgdGhlbgoJICAgIGV4aXQgJHN0YXR1cwoJICBmaQoJICAk
c2hvdyAiKGNkICR4ZGlyICYmICRBUiB4ICR4YWJzKSIKCSAgJHJ1biBldmFsICIoY2QgXCR4ZGly
ICYmICRBUiB4IFwkeGFicykiIHx8IGV4aXQgJD8KCgkgIG9sZG9ianM9IiRvbGRvYmpzICJgZmlu
ZCAkeGRpciAtbmFtZSBcKi4ke29iamV4dH0gLXByaW50IC1vIC1uYW1lIFwqLmxvIC1wcmludCB8
ICROTDJTUGAKCWRvbmUKICAgICAgZmkKCiAgICAgICMgRG8gZWFjaCBjb21tYW5kIGluIHRoZSBh
cmNoaXZlIGNvbW1hbmRzLgogICAgICBpZiB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9uZXdf
Y21kcyIgJiYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCWV2YWwgY21k
cz1cIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzXCIKICAgICAgZWxzZQoJIyBFbnN1cmUgdGhh
dCB3ZSBoYXZlIC5vIG9iamVjdHMgaW4gcGxhY2UgaW4gY2FzZSB3ZSBkZWNpZGVkCgkjIG5vdCB0
byBidWlsZCBhIHNoYXJlZCBsaWJyYXJ5LCBhbmQgaGF2ZSBmYWxsZW4gYmFjayB0byBidWlsZGlu
ZwoJIyBzdGF0aWMgbGlicyBldmVuIHRob3VnaCAtLWRpc2FibGUtc3RhdGljIHdhcyBwYXNzZWQh
Cglmb3Igb2xkb2JqIGluICRvbGRvYmpzOyBkbwoJICBpZiB0ZXN0ICEgLWYgJG9sZG9iajsgdGhl
bgoJICAgIHhkaXI9YCRlY2hvICJYJG9sZG9iaiIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAoJ
ICAgIGlmIHRlc3QgIlgkeGRpciIgPSAiWCRvbGRvYmoiOyB0aGVuCgkgICAgICB4ZGlyPSIuIgoJ
ICAgIGVsc2UKCSAgICAgIHhkaXI9IiR4ZGlyIgoJICAgIGZpCgkgICAgYmFzZW9iaj1gJGVjaG8g
Ilgkb2xkb2JqIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgkgICAgb2JqPWAkZWNobyAiWCRiYXNl
b2JqIiB8ICRYc2VkIC1lICIkbzJsbyJgCgkgICAgJHNob3cgIihjZCAkeGRpciAmJiAke0xOX1N9
ICRvYmogJGJhc2VvYmopIgoJICAgICRydW4gZXZhbCAnKGNkICR4ZGlyICYmICR7TE5fU30gJG9i
aiAkYmFzZW9iaiknIHx8IGV4aXQgJD8KCSAgZmkKCWRvbmUKCglldmFsIGNtZHM9XCIkb2xkX2Fy
Y2hpdmVfY21kc1wiCiAgICAgIGZpCiAgICAgIElGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJ
RlMiOyBJRlM9J34nCiAgICAgIGZvciBjbWQgaW4gJGNtZHM7IGRvCglJRlM9IiRzYXZlX2lmcyIK
CSRzaG93ICIkY21kIgoJJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/CiAgICAgIGRvbmUKICAg
ICAgSUZTPSIkc2F2ZV9pZnMiCiAgICBkb25lCgogICAgaWYgdGVzdCAtbiAiJGdlbmVyYXRlZCI7
IHRoZW4KICAgICAgJHNob3cgIiR7cm19ciRnZW5lcmF0ZWQiCiAgICAgICRydW4gJHtybX1yJGdl
bmVyYXRlZAogICAgZmkKCiAgICAjIE5vdyBjcmVhdGUgdGhlIGxpYnRvb2wgYXJjaGl2ZS4KICAg
IGNhc2UgIiRvdXRwdXQiIGluCiAgICAqLmxhKQogICAgICBvbGRfbGlicmFyeT0KICAgICAgaWYg
dGVzdCAiJHJlbGVhc2Vfc3VmZml4IiA9IGFsbDsgdGhlbgogICAgICAgIHRlc3QgIiRidWlsZF9v
bGRfbGlicyIgPSB5ZXMgJiYgb2xkX2xpYnJhcnk9IiRsaWJuYW1lJHJlbGVhc2UuJGxpYmV4dCIK
ICAgICAgZWxzZQogICAgICB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzICYmIG9sZF9saWJy
YXJ5PSIkbGlibmFtZS4kbGliZXh0IgogICAgICBmaQogICAgICAkc2hvdyAiY3JlYXRpbmcgJG91
dHB1dCIKCiAgICAgIGlmIHRlc3QgLW4gIiR4cnBhdGgiOyB0aGVuCgl0ZW1wX3hycGF0aD0KCWZv
ciBsaWJkaXIgaW4gJHhycGF0aDsgZG8KCSAgdGVtcF94cnBhdGg9IiR0ZW1wX3hycGF0aCAtUiRs
aWJkaXIiCglkb25lCglkZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX3hycGF0aCAkZGVwZW5kZW5jeV9s
aWJzIgogICAgICBmaQoKICAgICAgIyBPbmx5IGNyZWF0ZSB0aGUgb3V0cHV0IGlmIG5vdCBhIGRy
eSBydW4uCiAgICAgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVuCglmb3IgaW5zdGFsbGVkIGluIG5v
IHllczsgZG8KCSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSB5ZXM7IHRoZW4KCSAgICBpZiB0ZXN0
IC16ICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCgkgICAgICBicmVhawoJICAgIGZpCgkgICAgb3V0
cHV0PSIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSJpCgkgIGZpCgkgICRybSAkb3V0cHV0Cgkg
ICRlY2hvID4gJG91dHB1dCAiXAojICRvdXRwdXRuYW1lIC0gYSBsaWJ0b29sIGxpYnJhcnkgZmls
ZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAtIEdOVSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1FU1RB
TVAKIwojIFBsZWFzZSBETyBOT1QgZGVsZXRlIHRoaXMgZmlsZSEKIyBJdCBpcyBuZWNlc3Nhcnkg
Zm9yIGxpbmtpbmcgdGhlIGxpYnJhcnkuCgojIFRoZSBuYW1lIHRoYXQgd2UgY2FuIGRsb3Blbigz
KS4KZGxuYW1lPSckZGxuYW1lJwoKIyBOYW1lcyBvZiB0aGlzIGxpYnJhcnkuCmxpYnJhcnlfbmFt
ZXM9JyRsaWJyYXJ5X25hbWVzJwoKIyBUaGUgbmFtZSBvZiB0aGUgc3RhdGljIGFyY2hpdmUuCm9s
ZF9saWJyYXJ5PSckb2xkX2xpYnJhcnknCgojIExpYnJhcmllcyB0aGF0IHRoaXMgb25lIGRlcGVu
ZHMgdXBvbi4KZGVwZW5kZW5jeV9saWJzPSckZGVwZW5kZW5jeV9saWJzJwoKIyBWZXJzaW9uIGlu
Zm9ybWF0aW9uIGZvciAkbGlibmFtZS4KY3VycmVudD0kY3VycmVudAphZ2U9JGFnZQpyZXZpc2lv
bj0kcmV2aXNpb24KCiMgSXMgdGhpcyBhbiBhbHJlYWR5IGluc3RhbGxlZCBsaWJyYXJ5PwppbnN0
YWxsZWQ9JGluc3RhbGxlZAoKIyBEaXJlY3RvcnkgdGhhdCB0aGlzIGxpYnJhcnkgbmVlZHMgdG8g
YmUgaW5zdGFsbGVkIGluOgpsaWJkaXI9JyRpbnN0YWxsX2xpYmRpcidcCiIKCWRvbmUKICAgICAg
ZmkKCiAgICAgICMgRG8gYSBzeW1ib2xpYyBsaW5rIHNvIHRoYXQgdGhlIGxpYnRvb2wgYXJjaGl2
ZSBjYW4gYmUgZm91bmQgaW4KICAgICAgIyBMRF9MSUJSQVJZX1BBVEggYmVmb3JlIHRoZSBwcm9n
cmFtIGlzIGluc3RhbGxlZC4KICAgICAgJHNob3cgIihjZCAkb3V0cHV0X29iamRpciAmJiAkcm0g
JG91dHB1dG5hbWUgJiYgJExOX1MgLi4vJG91dHB1dG5hbWUgJG91dHB1dG5hbWUpIgogICAgICAk
cnVuIGV2YWwgIihjZCAkb3V0cHV0X29iamRpciAmJiAkcm0gJG91dHB1dG5hbWUgJiYgJExOX1Mg
Li4vJG91dHB1dG5hbWUgJG91dHB1dG5hbWUpIiB8fCBleGl0ICQ/CiAgICAgIDs7CiAgICBlc2Fj
CiAgICBleGl0IDAKICAgIDs7CgogICMgbGlidG9vbCBpbnN0YWxsIG1vZGUKICBpbnN0YWxsKQog
ICAgbW9kZW5hbWU9IiRtb2RlbmFtZTogaW5zdGFsbCIKCiAgICAjIFRoZXJlIG1heSBiZSBhbiBv
cHRpb25hbCBzaCgxKSBhcmd1bWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mCiAgICAjIGluc3RhbGxf
cHJvZyAoZXNwZWNpYWxseSBvbiBXaW5kb3dzIE5UKS4KICAgIGlmIHRlc3QgIiRub25vcHQiID0g
IiRTSEVMTCIgfHwgdGVzdCAiJG5vbm9wdCIgPSAvYmluL3NoOyB0aGVuCiAgICAgICMgQWVzdGhl
dGljYWxseSBxdW90ZSBpdC4KICAgICAgYXJnPWAkZWNobyAiWCRub25vcHQiIHwgJFhzZWQgLWUg
IiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBjYXNlICIkYXJnIiBpbgogICAgICAqW1xbXH5cI1xe
XCZcKlwoXClce1x9XHxcO1w8XD5cP1wnXCBcCV0qfCpdKikKCWFyZz0iXCIkYXJnXCIiCgk7Owog
ICAgICBlc2FjCiAgICAgIGluc3RhbGxfcHJvZz0iJGFyZyAiCiAgICAgIGFyZz0iJDEiCiAgICAg
IHNoaWZ0CiAgICBlbHNlCiAgICAgIGluc3RhbGxfcHJvZz0KICAgICAgYXJnPSIkbm9ub3B0Igog
ICAgZmkKCiAgICAjIFRoZSByZWFsIGZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSB0aGUgbmFtZSBv
ZiB0aGUgaW5zdGFsbGF0aW9uIHByb2dyYW0uCiAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgaXQu
CiAgICBhcmc9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCiAg
ICBjYXNlICIkYXJnIiBpbgogICAgKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wg
XAldKnwqXSopCiAgICAgIGFyZz0iXCIkYXJnXCIiCiAgICAgIDs7CiAgICBlc2FjCiAgICBpbnN0
YWxsX3Byb2c9IiRpbnN0YWxsX3Byb2ckYXJnIgoKICAgICMgV2UgbmVlZCB0byBhY2NlcHQgYXQg
bGVhc3QgYWxsIHRoZSBCU0QgaW5zdGFsbCBmbGFncy4KICAgIGRlc3Q9CiAgICBmaWxlcz0KICAg
IG9wdHM9CiAgICBwcmV2PQogICAgaW5zdGFsbF90eXBlPQogICAgaXNkaXI9bm8KICAgIHN0cmlw
bWU9CiAgICBmb3IgYXJnCiAgICBkbwogICAgICBpZiB0ZXN0IC1uICIkZGVzdCI7IHRoZW4KCWZp
bGVzPSIkZmlsZXMgJGRlc3QiCglkZXN0PSIkYXJnIgoJY29udGludWUKICAgICAgZmkKCiAgICAg
IGNhc2UgIiRhcmciIGluCiAgICAgIC1kKSBpc2Rpcj15ZXMgOzsKICAgICAgLWYpIHByZXY9Ii1m
IiA7OwogICAgICAtZykgcHJldj0iLWciIDs7CiAgICAgIC1tKSBwcmV2PSItbSIgOzsKICAgICAg
LW8pIHByZXY9Ii1vIiA7OwogICAgICAtcykKCXN0cmlwbWU9IiAtcyIKCWNvbnRpbnVlCgk7Owog
ICAgICAtKikgOzsKCiAgICAgICopCgkjIElmIHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZGVkIGFu
IGFyZ3VtZW50LCB0aGVuIHNraXAgaXQuCglpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4KCSAgcHJl
dj0KCWVsc2UKCSAgZGVzdD0iJGFyZyIKCSAgY29udGludWUKCWZpCgk7OwogICAgICBlc2FjCgog
ICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhlIGFyZ3VtZW50LgogICAgICBhcmc9YCRlY2hv
ICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCiAgICAgIGNhc2UgIiRhcmci
IGluCiAgICAgICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qKQoJ
YXJnPSJcIiRhcmdcIiIKCTs7CiAgICAgIGVzYWMKICAgICAgaW5zdGFsbF9wcm9nPSIkaW5zdGFs
bF9wcm9nICRhcmciCiAgICBkb25lCgogICAgaWYgdGVzdCAteiAiJGluc3RhbGxfcHJvZyI7IHRo
ZW4KICAgICAgJGVjaG8gIiRtb2RlbmFtZTogeW91IG11c3Qgc3BlY2lmeSBhbiBpbnN0YWxsIHBy
b2dyYW0iIDE+JjIKICAgICAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgICAgIGV4aXQgMQogICAgZmkK
CiAgICBpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4KICAgICAgJGVjaG8gIiRtb2RlbmFtZTogdGhl
IFxgJHByZXYnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIgMT4mMgogICAgICAkZWNobyAi
JGhlbHAiIDE+JjIKICAgICAgZXhpdCAxCiAgICBmaQoKICAgIGlmIHRlc3QgLXogIiRmaWxlcyI7
IHRoZW4KICAgICAgaWYgdGVzdCAteiAiJGRlc3QiOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiBu
byBmaWxlIG9yIGRlc3RpbmF0aW9uIHNwZWNpZmllZCIgMT4mMgogICAgICBlbHNlCgkkZWNobyAi
JG1vZGVuYW1lOiB5b3UgbXVzdCBzcGVjaWZ5IGEgZGVzdGluYXRpb24iIDE+JjIKICAgICAgZmkK
ICAgICAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgICAgIGV4aXQgMQogICAgZmkKCiAgICAjIFN0cmlw
IGFueSB0cmFpbGluZyBzbGFzaCBmcm9tIHRoZSBkZXN0aW5hdGlvbi4KICAgIGRlc3Q9YCRlY2hv
ICJYJGRlc3QiIHwgJFhzZWQgLWUgJ3MlLyQlJSdgCgogICAgIyBDaGVjayB0byBzZWUgdGhhdCB0
aGUgZGVzdGluYXRpb24gaXMgYSBkaXJlY3RvcnkuCiAgICB0ZXN0IC1kICIkZGVzdCIgJiYgaXNk
aXI9eWVzCiAgICBpZiB0ZXN0ICIkaXNkaXIiID0geWVzOyB0aGVuCiAgICAgIGRlc3RkaXI9IiRk
ZXN0IgogICAgICBkZXN0bmFtZT0KICAgIGVsc2UKICAgICAgZGVzdGRpcj1gJGVjaG8gIlgkZGVz
dCIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAogICAgICB0ZXN0ICJYJGRlc3RkaXIiID0gIlgk
ZGVzdCIgJiYgZGVzdGRpcj0uCiAgICAgIGRlc3RuYW1lPWAkZWNobyAiWCRkZXN0IiB8ICRYc2Vk
IC1lICdzJV4uKi8lJSdgCgogICAgICAjIE5vdCBhIGRpcmVjdG9yeSwgc28gY2hlY2sgdG8gc2Vl
IHRoYXQgdGhlcmUgaXMgb25seSBvbmUgZmlsZSBzcGVjaWZpZWQuCiAgICAgIHNldCBkdW1teSAk
ZmlsZXMKICAgICAgaWYgdGVzdCAkIyAtZ3QgMjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogXGAk
ZGVzdCcgaXMgbm90IGEgZGlyZWN0b3J5IiAxPiYyCgkkZWNobyAiJGhlbHAiIDE+JjIKCWV4aXQg
MQogICAgICBmaQogICAgZmkKICAgIGNhc2UgIiRkZXN0ZGlyIiBpbgogICAgW1xcL10qIHwgW0Et
WmEtel06W1xcL10qKSA7OwogICAgKikKICAgICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBkbwoJY2Fz
ZSAiJGZpbGUiIGluCgkqLmxvKSA7OwoJKikKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkZGVzdGRp
cicgbXVzdCBiZSBhbiBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZSIgMT4mMgoJICAkZWNobyAiJGhl
bHAiIDE+JjIKCSAgZXhpdCAxCgkgIDs7Cgllc2FjCiAgICAgIGRvbmUKICAgICAgOzsKICAgIGVz
YWMKCiAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMgd3JhcHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0
IHZhcmlhYmxlcyByYXRoZXIKICAgICMgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgogICAg
bGlidG9vbF9pbnN0YWxsX21hZ2ljPSIkbWFnaWMiCgogICAgc3RhdGljbGlicz0KICAgIGZ1dHVy
ZV9saWJkaXJzPQogICAgY3VycmVudF9saWJkaXJzPQogICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBk
bwoKICAgICAgIyBEbyBlYWNoIGluc3RhbGxhdGlvbi4KICAgICAgY2FzZSAiJGZpbGUiIGluCiAg
ICAgICouYSB8ICoubGliKQoJIyBEbyB0aGUgc3RhdGljIGxpYnJhcmllcyBsYXRlci4KCXN0YXRp
Y2xpYnM9IiRzdGF0aWNsaWJzICRmaWxlIgoJOzsKCiAgICAgICoubGEpCgkjIENoZWNrIHRvIHNl
ZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGlidG9vbCBhcmNoaXZlLgoJaWYgKHNlZCAtZSAnMnEn
ICRmaWxlIHwgZWdyZXAgIl4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAy
PiYxOyB0aGVuIDoKCWVsc2UKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkZmlsZScgaXMgbm90IGEg
dmFsaWQgbGlidG9vbCBhcmNoaXZlIiAxPiYyCgkgICRlY2hvICIkaGVscCIgMT4mMgoJICBleGl0
IDEKCWZpCgoJbGlicmFyeV9uYW1lcz0KCW9sZF9saWJyYXJ5PQoJIyBJZiB0aGVyZSBpcyBubyBk
aXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUuCgljYXNlICIkZmlsZSIgaW4KCSovKiB8
ICpcXCopIC4gJGZpbGUgOzsKCSopIC4gLi8kZmlsZSA7OwoJZXNhYwoKCSMgQWRkIHRoZSBsaWJk
aXIgdG8gY3VycmVudF9saWJkaXJzIGlmIGl0IGlzIHRoZSBkZXN0aW5hdGlvbi4KCWlmIHRlc3Qg
IlgkZGVzdGRpciIgPSAiWCRsaWJkaXIiOyB0aGVuCgkgIGNhc2UgIiRjdXJyZW50X2xpYmRpcnMg
IiBpbgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBjdXJyZW50X2xpYmRpcnM9IiRjdXJyZW50
X2xpYmRpcnMgJGxpYmRpciIgOzsKCSAgZXNhYwoJZWxzZQoJICAjIE5vdGUgdGhlIGxpYmRpciBh
cyBhIGZ1dHVyZSBsaWJkaXIuCgkgIGNhc2UgIiRmdXR1cmVfbGliZGlycyAiIGluCgkgICoiICRs
aWJkaXIgIiopIDs7CgkgICopIGZ1dHVyZV9saWJkaXJzPSIkZnV0dXJlX2xpYmRpcnMgJGxpYmRp
ciIgOzsKCSAgZXNhYwoJZmkKCglkaXI9ImAkZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJS9b
Xi9dKiQlJSdgLyIKCXRlc3QgIlgkZGlyIiA9ICJYJGZpbGUvIiAmJiBkaXI9CglkaXI9IiRkaXIk
b2JqZGlyIgoKCSMgU2VlIHRoZSBuYW1lcyBvZiB0aGUgc2hhcmVkIGxpYnJhcnkuCglzZXQgZHVt
bXkgJGxpYnJhcnlfbmFtZXMKCWlmIHRlc3QgLW4gIiQyIjsgdGhlbgoJICByZWFsbmFtZT0iJDIi
CgkgIHNoaWZ0CgkgIHNoaWZ0CgoJICAjIEluc3RhbGwgdGhlIHNoYXJlZCBsaWJyYXJ5IGFuZCBi
dWlsZCB0aGUgc3ltbGlua3MuCgkgICRzaG93ICIkaW5zdGFsbF9wcm9nICRkaXIvJHJlYWxuYW1l
ICRkZXN0ZGlyLyRyZWFsbmFtZSIKCSAgJHJ1biBldmFsICIkaW5zdGFsbF9wcm9nICRkaXIvJHJl
YWxuYW1lICRkZXN0ZGlyLyRyZWFsbmFtZSIgfHwgZXhpdCAkPwoKCSAgaWYgdGVzdCAkIyAtZ3Qg
MDsgdGhlbgoJICAgICMgRGVsZXRlIHRoZSBvbGQgc3ltbGlua3MsIGFuZCBjcmVhdGUgbmV3IG9u
ZXMuCgkgICAgZm9yIGxpbmtuYW1lCgkgICAgZG8KCSAgICAgIGlmIHRlc3QgIiRsaW5rbmFtZSIg
IT0gIiRyZWFsbmFtZSI7IHRoZW4KCQkkc2hvdyAiKGNkICRkZXN0ZGlyICYmICRybSAkbGlua25h
bWUgJiYgJExOX1MgJHJlYWxuYW1lICRsaW5rbmFtZSkiCgkJJHJ1biBldmFsICIoY2QgJGRlc3Rk
aXIgJiYgJHJtICRsaW5rbmFtZSAmJiAkTE5fUyAkcmVhbG5hbWUgJGxpbmtuYW1lKSIKCSAgICAg
IGZpCgkgICAgZG9uZQoJICBmaQoKCSAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIHBvc3RpbnN0
YWxsIGNvbW1hbmRzLgoJICBsaWI9IiRkZXN0ZGlyLyRyZWFsbmFtZSIKCSAgZXZhbCBjbWRzPVwi
JHBvc3RpbnN0YWxsX2NtZHNcIgoJICBJRlM9IiR7SUZTPSAJfSI7IHNhdmVfaWZzPSIkSUZTIjsg
SUZTPSd+JwoJICBmb3IgY21kIGluICRjbWRzOyBkbwoJICAgIElGUz0iJHNhdmVfaWZzIgoJICAg
ICRzaG93ICIkY21kIgoJICAgICRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPwoJICBkb25lCgkg
IElGUz0iJHNhdmVfaWZzIgoJZmkKCgkjIEluc3RhbGwgdGhlIHBzZXVkby1saWJyYXJ5IGZvciBp
bmZvcm1hdGlvbiBwdXJwb3Nlcy4KCWlmIHRlc3QgIiRpbnN0YWxsX2x0bGlicyIgPSB5ZXM7IHRo
ZW4KCW5hbWU9YCRlY2hvICJYJGZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCWluc3RuYW1l
PSIkZGlyLyRuYW1lImkKCSRzaG93ICIkaW5zdGFsbF9wcm9nICRpbnN0bmFtZSAkZGVzdGRpci8k
bmFtZSIKCSRydW4gZXZhbCAiJGluc3RhbGxfcHJvZyAkaW5zdG5hbWUgJGRlc3RkaXIvJG5hbWUi
IHx8IGV4aXQgJD8KCWZpCgoJIyBNYXliZSBpbnN0YWxsIHRoZSBzdGF0aWMgbGlicmFyeSwgdG9v
LgoJdGVzdCAtbiAiJG9sZF9saWJyYXJ5IiAmJiBzdGF0aWNsaWJzPSIkc3RhdGljbGlicyAkZGly
LyRvbGRfbGlicmFyeSIKCTs7CgogICAgICAqLmxvKQoJIyBJbnN0YWxsIChpLmUuIGNvcHkpIGEg
bGlidG9vbCBvYmplY3QuCgoJIyBGaWd1cmUgb3V0IGRlc3RpbmF0aW9uIGZpbGUgbmFtZSwgaWYg
aXQgd2Fzbid0IGFscmVhZHkgc3BlY2lmaWVkLgoJaWYgdGVzdCAtbiAiJGRlc3RuYW1lIjsgdGhl
bgoJICBkZXN0ZmlsZT0iJGRlc3RkaXIvJGRlc3RuYW1lIgoJZWxzZQoJICBkZXN0ZmlsZT1gJGVj
aG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoJICBkZXN0ZmlsZT0iJGRlc3RkaXIv
JGRlc3RmaWxlIgoJZmkKCgkjIERlZHVjZSB0aGUgbmFtZSBvZiB0aGUgZGVzdGluYXRpb24gb2xk
LXN0eWxlIG9iamVjdCBmaWxlLgoJY2FzZSAiJGRlc3RmaWxlIiBpbgoJKi5sbykKCSAgc3RhdGlj
ZGVzdD1gJGVjaG8gIlgkZGVzdGZpbGUiIHwgJFhzZWQgLWUgIiRsbzJvImAKCSAgOzsKCSoubyB8
ICoub2JqKQoJICBzdGF0aWNkZXN0PSIkZGVzdGZpbGUiCgkgIGRlc3RmaWxlPQoJICA7OwoJKikK
CSAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGNvcHkgYSBsaWJ0b29sIG9iamVjdCB0byBcYCRk
ZXN0ZmlsZSciIDE+JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYyCgkgIGV4aXQgMQoJICA7OwoJZXNh
YwoKCSMgSW5zdGFsbCB0aGUgbGlidG9vbCBvYmplY3QgaWYgcmVxdWVzdGVkLgoJaWYgdGVzdCAt
biAiJGRlc3RmaWxlIjsgdGhlbgoJICAkc2hvdyAiJGluc3RhbGxfcHJvZyAkZmlsZSAkZGVzdGZp
bGUiCgkgICRydW4gZXZhbCAiJGluc3RhbGxfcHJvZyAkZmlsZSAkZGVzdGZpbGUiIHx8IGV4aXQg
JD8KCWZpCgoJIyBJbnN0YWxsIHRoZSBvbGQgb2JqZWN0IGlmIGVuYWJsZWQuCglpZiB0ZXN0ICIk
YnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVuCgkgICMgRGVkdWNlIHRoZSBuYW1lIG9mIHRoZSBv
bGQtc3R5bGUgb2JqZWN0IGZpbGUuCgkgIHN0YXRpY29iaj1gJGVjaG8gIlgkZmlsZSIgfCAkWHNl
ZCAtZSAiJGxvMm8iYAoKCSAgJHNob3cgIiRpbnN0YWxsX3Byb2cgJHN0YXRpY29iaiAkc3RhdGlj
ZGVzdCIKCSAgJHJ1biBldmFsICIkaW5zdGFsbF9wcm9nIFwkc3RhdGljb2JqIFwkc3RhdGljZGVz
dCIgfHwgZXhpdCAkPwoJZmkKCWV4aXQgMAoJOzsKCiAgICAgICopCgkjIEZpZ3VyZSBvdXQgZGVz
dGluYXRpb24gZmlsZSBuYW1lLCBpZiBpdCB3YXNuJ3QgYWxyZWFkeSBzcGVjaWZpZWQuCglpZiB0
ZXN0IC1uICIkZGVzdG5hbWUiOyB0aGVuCgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVzdG5hbWUi
CgllbHNlCgkgIGRlc3RmaWxlPWAkZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdg
CgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVzdGZpbGUiCglmaQoKCSMgRG8gYSB0ZXN0IHRvIHNl
ZSBpZiB0aGlzIGlzIHJlYWxseSBhIGxpYnRvb2wgcHJvZ3JhbS4KCWlmIChzZWQgLWUgJzRxJyAk
ZmlsZSB8IGVncmVwICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4m
MTsgdGhlbgoJICBsaW5rX2FnYWluc3RfbGlidG9vbF9saWJzPQoJICByZWxpbmtfY29tbWFuZD0K
CgkgICMgSWYgdGhlcmUgaXMgbm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgoJ
ICBjYXNlICIkZmlsZSIgaW4KCSAgKi8qIHwgKlxcKikgLiAkZmlsZSA7OwoJICAqKSAuIC4vJGZp
bGUgOzsKCSAgZXNhYwoKCSAgIyBDaGVjayB0aGUgdmFyaWFibGVzIHRoYXQgc2hvdWxkIGhhdmUg
YmVlbiBzZXQuCgkgIGlmIHRlc3QgLXogIiRsaW5rX2FnYWluc3RfbGlidG9vbF9saWJzIjsgdGhl
bgoJICAgICRlY2hvICIkbW9kZW5hbWU6IGludmFsaWQgbGlidG9vbCB3cmFwcGVyIHNjcmlwdCBc
YCRmaWxlJyIgMT4mMgoJICAgIGV4aXQgMQoJICBmaQoKCSAgZmluYWxpemU9eWVzCgkgIGZvciBs
aWIgaW4gJGxpbmtfYWdhaW5zdF9saWJ0b29sX2xpYnM7IGRvCgkgICAgIyBDaGVjayB0byBzZWUg
dGhhdCBlYWNoIGxpYnJhcnkgaXMgaW5zdGFsbGVkLgoJICAgIGxpYmRpcj0KCSAgICBpZiB0ZXN0
IC1mICIkbGliIjsgdGhlbgoJICAgICAgIyBJZiB0aGVyZSBpcyBubyBkaXJlY3RvcnkgY29tcG9u
ZW50LCB0aGVuIGFkZCBvbmUuCgkgICAgICBjYXNlICIkbGliIiBpbgoJICAgICAgKi8qIHwgKlxc
KikgLiAkbGliIDs7CgkgICAgICAqKSAuIC4vJGxpYiA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkg
ICAgbGliZmlsZT0iJGxpYmRpci9gJGVjaG8gIlgkbGliIiB8ICRYc2VkIC1lICdzJV4uKi8lJWcn
YCIKCSAgICBpZiB0ZXN0IC1uICIkbGliZGlyIiAmJiB0ZXN0ICEgLWYgIiRsaWJmaWxlIjsgdGhl
bgoJICAgICAgZmluYWxpemU9bm8KCSAgICBmaQoJICBkb25lCgoJICBvdXRwdXRuYW1lPQoJICBp
ZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IG5vICYmIHRlc3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7
IHRoZW4KCSAgICBpZiB0ZXN0ICIkZmluYWxpemUiID0geWVzICYmIHRlc3QgLXogIiRydW4iOyB0
aGVuCgkgICAgICB0bXBkaXI9Ii90bXAiCgkgICAgICB0ZXN0IC1uICIkVE1QRElSIiAmJiB0bXBk
aXI9IiRUTVBESVIiCgkgICAgICB0bXBkaXI9IiR0bXBkaXIvbGlidG9vbC0kJCIKCSAgICAgIHNh
dmVfdW1hc2s9YHVtYXNrYAoJICAgICAgdW1hc2sgMDA3NwoJICAgICAgaWYgJG1rZGlyICIkdG1w
ZGlyIjsgdGhlbgoJCXVtYXNrICRzYXZlX3VtYXNrCgkgICAgICBlbHNlCgkJdW1hc2sgJHNhdmVf
dW1hc2sKCQkkZWNobyAiJG1vZGVuYW1lOiBlcnJvcjogY2Fubm90IGNyZWF0ZSB0ZW1wb3Jhcnkg
ZGlyZWN0b3J5IFxgJHRtcGRpciciIDE+JjIKCQljb250aW51ZQoJICAgICAgZmkKCSAgICAgIG91
dHB1dG5hbWU9IiR0bXBkaXIvJGZpbGUiCgkgICAgICAjIFJlcGxhY2UgdGhlIG91dHB1dCBmaWxl
IHNwZWNpZmljYXRpb24uCgkgICAgICByZWxpbmtfY29tbWFuZD1gJGVjaG8gIlgkcmVsaW5rX2Nv
bW1hbmQiIHwgJFhzZWQgLWUgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0bmFtZSInJWcnYAoKCSAgICAg
ICRzaG93ICIkcmVsaW5rX2NvbW1hbmQiCgkgICAgICBpZiAkcnVuIGV2YWwgIiRyZWxpbmtfY29t
bWFuZCI7IHRoZW4gOgoJICAgICAgZWxzZQoJCSRlY2hvICIkbW9kZW5hbWU6IGVycm9yOiByZWxp
bmsgXGAkZmlsZScgd2l0aCB0aGUgYWJvdmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdCIg
MT4mMgoJCSR7cm19ciAiJHRtcGRpciIKCQljb250aW51ZQoJICAgICAgZmkKCSAgICAgIGZpbGU9
IiRvdXRwdXRuYW1lIgoJICAgIGVsc2UKCSAgICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6
IGNhbm5vdCByZWxpbmsgXGAkZmlsZSciIDE+JjIKCSAgICBmaQoJICBlbHNlCgkgICAgIyBJbnN0
YWxsIHRoZSBiaW5hcnkgdGhhdCB3ZSBjb21waWxlZCBlYXJsaWVyLgoJICAgIGZpbGU9YCRlY2hv
ICJYJGZpbGUiIHwgJFhzZWQgLWUgInMlXChbXi9dKlwpJCUkb2JqZGlyL1wxJSJgCgkgIGZpCglm
aQoKCSRzaG93ICIkaW5zdGFsbF9wcm9nJHN0cmlwbWUgJGZpbGUgJGRlc3RmaWxlIgoJJHJ1biBl
dmFsICIkaW5zdGFsbF9wcm9nXCRzdHJpcG1lIFwkZmlsZSBcJGRlc3RmaWxlIiB8fCBleGl0ICQ/
Cgl0ZXN0IC1uICIkb3V0cHV0bmFtZSIgJiYgJHtybX1yICIkdG1wZGlyIgoJOzsKICAgICAgZXNh
YwogICAgZG9uZQoKICAgIGZvciBmaWxlIGluICRzdGF0aWNsaWJzOyBkbwogICAgICBuYW1lPWAk
ZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgogICAgICAjIFNldCB1cCB0aGUg
cmFubGliIHBhcmFtZXRlcnMuCiAgICAgIG9sZGxpYj0iJGRlc3RkaXIvJG5hbWUiCgogICAgICAk
c2hvdyAiJGluc3RhbGxfcHJvZyAkZmlsZSAkb2xkbGliIgogICAgICAkcnVuIGV2YWwgIiRpbnN0
YWxsX3Byb2cgXCRmaWxlIFwkb2xkbGliIiB8fCBleGl0ICQ/CgogICAgICAjIERvIGVhY2ggY29t
bWFuZCBpbiB0aGUgcG9zdGluc3RhbGwgY29tbWFuZHMuCiAgICAgIGV2YWwgY21kcz1cIiRvbGRf
cG9zdGluc3RhbGxfY21kc1wiCiAgICAgIElGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJRlMi
OyBJRlM9J34nCiAgICAgIGZvciBjbWQgaW4gJGNtZHM7IGRvCglJRlM9IiRzYXZlX2lmcyIKCSRz
aG93ICIkY21kIgoJJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/CiAgICAgIGRvbmUKICAgICAg
SUZTPSIkc2F2ZV9pZnMiCiAgICBkb25lCgogICAgaWYgdGVzdCAtbiAiJGZ1dHVyZV9saWJkaXJz
IjsgdGhlbgogICAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiByZW1lbWJlciB0byBydW4g
XGAkcHJvZ25hbWUgLS1maW5pc2gkZnV0dXJlX2xpYmRpcnMnIiAxPiYyCiAgICBmaQoKICAgIGlm
IHRlc3QgLW4gIiRjdXJyZW50X2xpYmRpcnMiOyB0aGVuCiAgICAgICMgTWF5YmUganVzdCBkbyBh
IGRyeSBydW4uCiAgICAgIHRlc3QgLW4gIiRydW4iICYmIGN1cnJlbnRfbGliZGlycz0iIC1uJGN1
cnJlbnRfbGliZGlycyIKICAgICAgZXhlYyAkU0hFTEwgJDAgLS1maW5pc2gkY3VycmVudF9saWJk
aXJzCiAgICAgIGV4aXQgMQogICAgZmkKCiAgICBleGl0IDAKICAgIDs7CgogICMgbGlidG9vbCBm
aW5pc2ggbW9kZQogIGZpbmlzaCkKICAgIG1vZGVuYW1lPSIkbW9kZW5hbWU6IGZpbmlzaCIKICAg
IGxpYmRpcnM9IiRub25vcHQiCiAgICBhZG1pbmNtZHM9CgogICAgaWYgdGVzdCAtbiAiJGZpbmlz
aF9jbWRzJGZpbmlzaF9ldmFsIiAmJiB0ZXN0IC1uICIkbGliZGlycyI7IHRoZW4KICAgICAgZm9y
IGRpcgogICAgICBkbwoJbGliZGlycz0iJGxpYmRpcnMgJGRpciIKICAgICAgZG9uZQoKICAgICAg
Zm9yIGxpYmRpciBpbiAkbGliZGlyczsgZG8KCWlmIHRlc3QgLW4gIiRmaW5pc2hfY21kcyI7IHRo
ZW4KCSAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIGZpbmlzaCBjb21tYW5kcy4KCSAgZXZhbCBj
bWRzPVwiJGZpbmlzaF9jbWRzXCIKCSAgSUZTPSIke0lGUz0gCX0iOyBzYXZlX2lmcz0iJElGUyI7
IElGUz0nficKCSAgZm9yIGNtZCBpbiAkY21kczsgZG8KCSAgICBJRlM9IiRzYXZlX2lmcyIKCSAg
ICAkc2hvdyAiJGNtZCIKCSAgICAkcnVuIGV2YWwgIiRjbWQiIHx8IGFkbWluY21kcz0iJGFkbWlu
Y21kcwogICAgICAgJGNtZCIKCSAgZG9uZQoJICBJRlM9IiRzYXZlX2lmcyIKCWZpCglpZiB0ZXN0
IC1uICIkZmluaXNoX2V2YWwiOyB0aGVuCgkgICMgRG8gdGhlIHNpbmdsZSBmaW5pc2hfZXZhbC4K
CSAgZXZhbCBjbWRzPVwiJGZpbmlzaF9ldmFsXCIKCSAgJHJ1biBldmFsICIkY21kcyIgfHwgYWRt
aW5jbWRzPSIkYWRtaW5jbWRzCiAgICAgICAkY21kcyIKCWZpCiAgICAgIGRvbmUKICAgIGZpCgog
ICAgIyBFeGl0IGhlcmUgaWYgdGhleSB3YW50ZWQgc2lsZW50IG1vZGUuCiAgICB0ZXN0ICIkc2hv
dyIgPSA6ICYmIGV4aXQgMAoKICAgIGVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCiAgICBlY2hvICJMaWJy
YXJpZXMgaGF2ZSBiZWVuIGluc3RhbGxlZCBpbjoiCiAgICBmb3IgbGliZGlyIGluICRsaWJkaXJz
OyBkbwogICAgICBlY2hvICIgICAkbGliZGlyIgogICAgZG9uZQogICAgZWNobwogICAgZWNobyAi
SWYgeW91IGV2ZXIgaGFwcGVuIHRvIHdhbnQgdG8gbGluayBhZ2FpbnN0IGluc3RhbGxlZCBsaWJy
YXJpZXMiCiAgICBlY2hvICJpbiBhIGdpdmVuIGRpcmVjdG9yeSwgTElCRElSLCB5b3UgbXVzdCBl
aXRoZXIgdXNlIGxpYnRvb2wsIGFuZCIKICAgIGVjaG8gInNwZWNpZnkgdGhlIGZ1bGwgcGF0aG5h
bWUgb2YgdGhlIGxpYnJhcnksIG9yIHVzZSBcYC1MTElCRElSJyIKICAgIGVjaG8gImZsYWcgZHVy
aW5nIGxpbmtpbmcgYW5kIGRvIGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nOiIKICAgIGlm
IHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIjsgdGhlbgogICAgICBlY2hvICIgICAtIGFkZCBMSUJE
SVIgdG8gdGhlIFxgJHNobGlicGF0aF92YXInIGVudmlyb25tZW50IHZhcmlhYmxlIgogICAgICBl
Y2hvICIgICAgIGR1cmluZyBleGVjdXRpb24iCiAgICBmaQogICAgaWYgdGVzdCAtbiAiJHJ1bnBh
dGhfdmFyIjsgdGhlbgogICAgICBlY2hvICIgICAtIGFkZCBMSUJESVIgdG8gdGhlIFxgJHJ1bnBh
dGhfdmFyJyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKICAgICAgZWNobyAiICAgICBkdXJpbmcgbGlu
a2luZyIKICAgIGZpCiAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7
IHRoZW4KICAgICAgbGliZGlyPUxJQkRJUgogICAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGli
ZGlyX2ZsYWdfc3BlY1wiCgogICAgICBlY2hvICIgICAtIHVzZSB0aGUgXGAkZmxhZycgbGlua2Vy
IGZsYWciCiAgICBmaQogICAgaWYgdGVzdCAtbiAiJGFkbWluY21kcyI7IHRoZW4KICAgICAgZWNo
byAiICAgLSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgcnVuIHRoZXNlIGNvbW1hbmRz
OiRhZG1pbmNtZHMiCiAgICBmaQogICAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNvbmY7IHRoZW4K
ICAgICAgZWNobyAiICAgLSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgYWRkIExJQkRJ
UiB0byBcYC9ldGMvbGQuc28uY29uZiciCiAgICBmaQogICAgZWNobwogICAgZWNobyAiU2VlIGFu
eSBvcGVyYXRpbmcgc3lzdGVtIGRvY3VtZW50YXRpb24gYWJvdXQgc2hhcmVkIGxpYnJhcmllcyBm
b3IiCiAgICBlY2hvICJtb3JlIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSBsZCgxKSBhbmQgbGQu
c28oOCkgbWFudWFsIHBhZ2VzLiIKICAgIGVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCiAgICBleGl0IDAK
ICAgIDs7CgogICMgbGlidG9vbCBleGVjdXRlIG1vZGUKICBleGVjdXRlKQogICAgbW9kZW5hbWU9
IiRtb2RlbmFtZTogZXhlY3V0ZSIKCiAgICAjIFRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUgY29t
bWFuZCBuYW1lLgogICAgY21kPSIkbm9ub3B0IgogICAgaWYgdGVzdCAteiAiJGNtZCI7IHRoZW4K
ICAgICAgJGVjaG8gIiRtb2RlbmFtZTogeW91IG11c3Qgc3BlY2lmeSBhIENPTU1BTkQiIDE+JjIK
ICAgICAgJGVjaG8gIiRoZWxwIgogICAgICBleGl0IDEKICAgIGZpCgogICAgIyBIYW5kbGUgLWRs
b3BlbiBmbGFncyBpbW1lZGlhdGVseS4KICAgIGZvciBmaWxlIGluICRleGVjdXRlX2RsZmlsZXM7
IGRvCiAgICAgIGlmIHRlc3QgISAtZiAiJGZpbGUiOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiBc
YCRmaWxlJyBpcyBub3QgYSBmaWxlIiAxPiYyCgkkZWNobyAiJGhlbHAiIDE+JjIKCWV4aXQgMQog
ICAgICBmaQoKICAgICAgZGlyPQogICAgICBjYXNlICIkZmlsZSIgaW4KICAgICAgKi5sYSkKCSMg
Q2hlY2sgdG8gc2VlIHRoYXQgdGhpcyByZWFsbHkgaXMgYSBsaWJ0b29sIGFyY2hpdmUuCglpZiAo
c2VkIC1lICcycScgJGZpbGUgfCBlZ3JlcCAiXiMgR2VuZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+
L2Rldi9udWxsIDI+JjE7IHRoZW4gOgoJZWxzZQoJICAkZWNobyAiJG1vZGVuYW1lOiBcYCRsaWIn
IGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIgMT4mMgoJICAkZWNobyAiJGhlbHAiIDE+
JjIKCSAgZXhpdCAxCglmaQoKCSMgUmVhZCB0aGUgbGlidG9vbCBsaWJyYXJ5LgoJZGxuYW1lPQoJ
bGlicmFyeV9uYW1lcz0KCgkjIElmIHRoZXJlIGlzIG5vIGRpcmVjdG9yeSBjb21wb25lbnQsIHRo
ZW4gYWRkIG9uZS4KCWNhc2UgIiRmaWxlIiBpbgoJKi8qIHwgKlxcKikgLiAkZmlsZSA7OwoJKikg
LiAuLyRmaWxlIDs7Cgllc2FjCgoJIyBTa2lwIHRoaXMgbGlicmFyeSBpZiBpdCBjYW5ub3QgYmUg
ZGxvcGVuZWQuCglpZiB0ZXN0IC16ICIkZGxuYW1lIjsgdGhlbgoJICAjIFdhcm4gaWYgaXQgd2Fz
IGEgc2hhcmVkIGxpYnJhcnkuCgkgIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIiAmJiAkZWNobyAi
JG1vZGVuYW1lOiB3YXJuaW5nOiBcYCRmaWxlJyB3YXMgbm90IGxpbmtlZCB3aXRoIFxgLWV4cG9y
dC1keW5hbWljJyIKCSAgY29udGludWUKCWZpCgoJZGlyPWAkZWNobyAiWCRmaWxlIiB8ICRYc2Vk
IC1lICdzJS9bXi9dKiQlJSdgCgl0ZXN0ICJYJGRpciIgPSAiWCRmaWxlIiAmJiBkaXI9LgoKCWlm
IHRlc3QgLWYgIiRkaXIvJG9iamRpci8kZGxuYW1lIjsgdGhlbgoJICBkaXI9IiRkaXIvJG9iamRp
ciIKCWVsc2UKCSAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGZpbmQgXGAkZGxuYW1lJyBpbiBc
YCRkaXInIG9yIFxgJGRpci8kb2JqZGlyJyIgMT4mMgoJICBleGl0IDEKCWZpCgk7OwoKICAgICAg
Ki5sbykKCSMgSnVzdCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSAubG8gZmlsZS4K
CWRpcj1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAoJdGVzdCAiWCRk
aXIiID0gIlgkZmlsZSIgJiYgZGlyPS4KCTs7CgogICAgICAqKQoJJGVjaG8gIiRtb2RlbmFtZTog
d2FybmluZyBcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIG5vbi1saWJ0b29sIGxpYnJhcmllcyBh
bmQgb2JqZWN0cyIgMT4mMgoJY29udGludWUKCTs7CiAgICAgIGVzYWMKCiAgICAgICMgR2V0IHRo
ZSBhYnNvbHV0ZSBwYXRobmFtZS4KICAgICAgYWJzZGlyPWBjZCAiJGRpciIgJiYgcHdkYAogICAg
ICB0ZXN0IC1uICIkYWJzZGlyIiAmJiBkaXI9IiRhYnNkaXIiCgogICAgICAjIE5vdyBhZGQgdGhl
IGRpcmVjdG9yeSB0byBzaGxpYnBhdGhfdmFyLgogICAgICBpZiBldmFsICJ0ZXN0IC16IFwiXCQk
c2hsaWJwYXRoX3ZhclwiIjsgdGhlbgoJZXZhbCAiJHNobGlicGF0aF92YXI9XCJcJGRpclwiIgog
ICAgICBlbHNlCglldmFsICIkc2hsaWJwYXRoX3Zhcj1cIlwkZGlyOlwkJHNobGlicGF0aF92YXJc
IiIKICAgICAgZmkKICAgIGRvbmUKCiAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMgd3JhcHBlciBz
Y3JpcHRzIGp1c3QgdG8gc2V0IHNobGlicGF0aF92YXIKICAgICMgcmF0aGVyIHRoYW4gcnVubmlu
ZyB0aGVpciBwcm9ncmFtcy4KICAgIGxpYnRvb2xfZXhlY3V0ZV9tYWdpYz0iJG1hZ2ljIgoKICAg
ICMgQ2hlY2sgaWYgYW55IG9mIHRoZSBhcmd1bWVudHMgaXMgYSB3cmFwcGVyIHNjcmlwdC4KICAg
IGFyZ3M9CiAgICBmb3IgZmlsZQogICAgZG8KICAgICAgY2FzZSAiJGZpbGUiIGluCiAgICAgIC0q
KSA7OwogICAgICAqKQoJIyBEbyBhIHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgcmVhbGx5IGEgbGli
dG9vbCBwcm9ncmFtLgoJaWYgKHNlZCAtZSAnNHEnICRmaWxlIHwgZWdyZXAgIl4jIEdlbmVyYXRl
ZCBieSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCgkgICMgSWYgdGhlcmUgaXMg
bm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgoJICBjYXNlICIkZmlsZSIgaW4K
CSAgKi8qIHwgKlxcKikgLiAkZmlsZSA7OwoJICAqKSAuIC4vJGZpbGUgOzsKCSAgZXNhYwoKCSAg
IyBUcmFuc2Zvcm0gYXJnIHRvIHdyYXBwZWQgbmFtZS4KCSAgZmlsZT0iJHByb2dkaXIvJHByb2dy
YW0iCglmaQoJOzsKICAgICAgZXNhYwogICAgICAjIFF1b3RlIGFyZ3VtZW50cyAodG8gcHJlc2Vy
dmUgc2hlbGwgbWV0YWNoYXJhY3RlcnMpLgogICAgICBmaWxlPWAkZWNobyAiWCRmaWxlIiB8ICRY
c2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKICAgICAgYXJncz0iJGFyZ3MgXCIkZmlsZVwiIgog
ICAgZG9uZQoKICAgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiRz
aGxpYnBhdGhfdmFyIjsgdGhlbgogICAgICAgICMgRXhwb3J0IHRoZSBzaGxpYnBhdGhfdmFyLgog
ICAgICAgIGV2YWwgImV4cG9ydCAkc2hsaWJwYXRoX3ZhciIKICAgICAgZmkKCiAgICAgICMgUmVz
dG9yZSBzYXZlZCBlbnZpcm9tZW50IHZhcmlhYmxlcwogICAgICBpZiB0ZXN0ICIke3NhdmVfTENf
QUxMK3NldH0iID0gc2V0OyB0aGVuCglMQ19BTEw9IiRzYXZlX0xDX0FMTCI7IGV4cG9ydCBMQ19B
TEwKICAgICAgZmkKICAgICAgaWYgdGVzdCAiJHtzYXZlX0xBTkcrc2V0fSIgPSBzZXQ7IHRoZW4K
CUxBTkc9IiRzYXZlX0xBTkciOyBleHBvcnQgTEFORwogICAgICBmaQoKICAgICAgIyBOb3cgYWN0
dWFsbHkgZXhlYyB0aGUgY29tbWFuZC4KICAgICAgZXZhbCAiZXhlYyBcJGNtZCRhcmdzIgoKICAg
ICAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGV4ZWMgXCRjbWQkYXJncyIKICAgICAgZXhpdCAx
CiAgICBlbHNlCiAgICAgICMgRGlzcGxheSB3aGF0IHdvdWxkIGJlIGRvbmUuCiAgICAgIGlmIHRl
c3QgLW4gIiRzaGxpYnBhdGhfdmFyIjsgdGhlbgogICAgICAgIGV2YWwgIlwkZWNobyBcIlwkc2hs
aWJwYXRoX3Zhcj1cJCRzaGxpYnBhdGhfdmFyXCIiCiAgICAgICAgJGVjaG8gImV4cG9ydCAkc2hs
aWJwYXRoX3ZhciIKICAgICAgZmkKICAgICAgJGVjaG8gIiRjbWQkYXJncyIKICAgICAgZXhpdCAw
CiAgICBmaQogICAgOzsKCiAgIyBsaWJ0b29sIHVuaW5zdGFsbCBtb2RlCiAgdW5pbnN0YWxsKQog
ICAgbW9kZW5hbWU9IiRtb2RlbmFtZTogdW5pbnN0YWxsIgogICAgcm09IiRub25vcHQiCiAgICBm
aWxlcz0KCiAgICBmb3IgYXJnCiAgICBkbwogICAgICBjYXNlICIkYXJnIiBpbgogICAgICAtKikg
cm09IiRybSAkYXJnIiA7OwogICAgICAqKSBmaWxlcz0iJGZpbGVzICRhcmciIDs7CiAgICAgIGVz
YWMKICAgIGRvbmUKCiAgICBpZiB0ZXN0IC16ICIkcm0iOyB0aGVuCiAgICAgICRlY2hvICIkbW9k
ZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYW4gUk0gcHJvZ3JhbSIgMT4mMgogICAgICAkZWNobyAi
JGhlbHAiIDE+JjIKICAgICAgZXhpdCAxCiAgICBmaQoKICAgIGZvciBmaWxlIGluICRmaWxlczsg
ZG8KICAgICAgZGlyPWAkZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCiAg
ICAgIHRlc3QgIlgkZGlyIiA9ICJYJGZpbGUiICYmIGRpcj0uCiAgICAgIG5hbWU9YCRlY2hvICJY
JGZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCiAgICAgIHJtZmlsZXM9IiRmaWxlIgoKICAg
ICAgY2FzZSAiJG5hbWUiIGluCiAgICAgICoubGEpCgkjIFBvc3NpYmx5IGEgbGlidG9vbCBhcmNo
aXZlLCBzbyB2ZXJpZnkgaXQuCglpZiAoc2VkIC1lICcycScgJGZpbGUgfCBlZ3JlcCAiXiMgR2Vu
ZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KCSAgLiAkZGlyLyRu
YW1lCgoJICAjIERlbGV0ZSB0aGUgbGlidG9vbCBsaWJyYXJpZXMgYW5kIHN5bWxpbmtzLgoJICBm
b3IgbiBpbiAkbGlicmFyeV9uYW1lczsgZG8KCSAgICBybWZpbGVzPSIkcm1maWxlcyAkZGlyLyRu
IgoJICBkb25lCgkgIHRlc3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgcm1maWxlcz0iJHJtZmlsZXMg
JGRpci8kb2xkX2xpYnJhcnkiCgoJICAkc2hvdyAiJHJtICRybWZpbGVzIgoJICAkcnVuICRybSAk
cm1maWxlcwoKCSAgaWYgdGVzdCAtbiAiJGxpYnJhcnlfbmFtZXMiOyB0aGVuCgkgICAgIyBEbyBl
YWNoIGNvbW1hbmQgaW4gdGhlIHBvc3R1bmluc3RhbGwgY29tbWFuZHMuCgkgICAgZXZhbCBjbWRz
PVwiJHBvc3R1bmluc3RhbGxfY21kc1wiCgkgICAgSUZTPSIke0lGUz0gCX0iOyBzYXZlX2lmcz0i
JElGUyI7IElGUz0nficKCSAgICBmb3IgY21kIGluICRjbWRzOyBkbwoJICAgICAgSUZTPSIkc2F2
ZV9pZnMiCgkgICAgICAkc2hvdyAiJGNtZCIKCSAgICAgICRydW4gZXZhbCAiJGNtZCIKCSAgICBk
b25lCgkgICAgSUZTPSIkc2F2ZV9pZnMiCgkgIGZpCgoJICBpZiB0ZXN0IC1uICIkb2xkX2xpYnJh
cnkiOyB0aGVuCgkgICAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIG9sZF9wb3N0dW5pbnN0YWxs
IGNvbW1hbmRzLgoJICAgIGV2YWwgY21kcz1cIiRvbGRfcG9zdHVuaW5zdGFsbF9jbWRzXCIKCSAg
ICBJRlM9IiR7SUZTPSAJfSI7IHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJICAgIGZvciBjbWQg
aW4gJGNtZHM7IGRvCgkgICAgICBJRlM9IiRzYXZlX2lmcyIKCSAgICAgICRzaG93ICIkY21kIgoJ
ICAgICAgJHJ1biBldmFsICIkY21kIgoJICAgIGRvbmUKCSAgICBJRlM9IiRzYXZlX2lmcyIKCSAg
ZmkKCgkgICMgRklYTUU6IHNob3VsZCByZWluc3RhbGwgdGhlIGJlc3QgcmVtYWluaW5nIHNoYXJl
ZCBsaWJyYXJ5LgoJZmkKCTs7CgogICAgICAqLmxvKQoJaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJz
IiA9IHllczsgdGhlbgoJICBvbGRvYmo9YCRlY2hvICJYJG5hbWUiIHwgJFhzZWQgLWUgIiRsbzJv
ImAKCSAgcm1maWxlcz0iJHJtZmlsZXMgJGRpci8kb2xkb2JqIgoJZmkKCSRzaG93ICIkcm0gJHJt
ZmlsZXMiCgkkcnVuICRybSAkcm1maWxlcwoJOzsKCiAgICAgICopCgkkc2hvdyAiJHJtICRybWZp
bGVzIgoJJHJ1biAkcm0gJHJtZmlsZXMKCTs7CiAgICAgIGVzYWMKICAgIGRvbmUKICAgIGV4aXQg
MAogICAgOzsKCiAgIiIpCiAgICAkZWNobyAiJG1vZGVuYW1lOiB5b3UgbXVzdCBzcGVjaWZ5IGEg
TU9ERSIgMT4mMgogICAgJGVjaG8gIiRnZW5lcmljX2hlbHAiIDE+JjIKICAgIGV4aXQgMQogICAg
OzsKICBlc2FjCgogICRlY2hvICIkbW9kZW5hbWU6IGludmFsaWQgb3BlcmF0aW9uIG1vZGUgXGAk
bW9kZSciIDE+JjIKICAkZWNobyAiJGdlbmVyaWNfaGVscCIgMT4mMgogIGV4aXQgMQpmaSAjIHRl
c3QgLXogIiRzaG93X2hlbHAiCgojIFdlIG5lZWQgdG8gZGlzcGxheSBoZWxwIGZvciBlYWNoIG9m
IHRoZSBtb2Rlcy4KY2FzZSAiJG1vZGUiIGluCiIiKSAkZWNobyBcCiJVc2FnZTogJG1vZGVuYW1l
IFtPUFRJT05dLi4uIFtNT0RFLUFSR10uLi4KClByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1i
dWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgoKICAgIC0tY29uZmlnICAgICAgICAgIHNob3cgYWxs
IGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCiAgICAtLWRlYnVnICAgICAgICAgICBlbmFibGUgdmVy
Ym9zZSBzaGVsbCB0cmFjaW5nCi1uLCAtLWRyeS1ydW4gICAgICAgICBkaXNwbGF5IGNvbW1hbmRz
IHdpdGhvdXQgbW9kaWZ5aW5nIGFueSBmaWxlcwogICAgLS1mZWF0dXJlcyAgICAgICAgZGlzcGxh
eSBiYXNpYyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGFuZCBleGl0CiAgICAtLWZpbmlzaCAg
ICAgICAgICBzYW1lIGFzIFxgLS1tb2RlPWZpbmlzaCcKICAgIC0taGVscCAgICAgICAgICAgIGRp
c3BsYXkgdGhpcyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXQKICAgIC0tbW9kZT1NT0RFICAgICAgIHVz
ZSBvcGVyYXRpb24gbW9kZSBNT0RFIFtkZWZhdWx0PWluZmVycmVkIGZyb20gTU9ERS1BUkdTXQog
ICAgLS1xdWlldCAgICAgICAgICAgc2FtZSBhcyBcYC0tc2lsZW50JwogICAgLS1zaWxlbnQgICAg
ICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb25hbCBtZXNzYWdlcwogICAgLS12ZXJzaW9uICAg
ICAgICAgcHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbgoKTU9ERSBtdXN0IGJlIG9uZSBvZiB0aGUg
Zm9sbG93aW5nOgoKICAgICAgY29tcGlsZSAgICAgICAgIGNvbXBpbGUgYSBzb3VyY2UgZmlsZSBp
bnRvIGEgbGlidG9vbCBvYmplY3QKICAgICAgZXhlY3V0ZSAgICAgICAgIGF1dG9tYXRpY2FsbHkg
c2V0IGxpYnJhcnkgcGF0aCwgdGhlbiBydW4gYSBwcm9ncmFtCiAgICAgIGZpbmlzaCAgICAgICAg
ICBjb21wbGV0ZSB0aGUgaW5zdGFsbGF0aW9uIG9mIGxpYnRvb2wgbGlicmFyaWVzCiAgICAgIGlu
c3RhbGwgICAgICAgICBpbnN0YWxsIGxpYnJhcmllcyBvciBleGVjdXRhYmxlcwogICAgICBsaW5r
ICAgICAgICAgICAgY3JlYXRlIGEgbGlicmFyeSBvciBhbiBleGVjdXRhYmxlCiAgICAgIHVuaW5z
dGFsbCAgICAgICByZW1vdmUgbGlicmFyaWVzIGZyb20gYW4gaW5zdGFsbGVkIGRpcmVjdG9yeQoK
TU9ERS1BUkdTIHZhcnkgZGVwZW5kaW5nIG9uIHRoZSBNT0RFLiAgVHJ5IFxgJG1vZGVuYW1lIC0t
aGVscCAtLW1vZGU9TU9ERScgZm9yCmEgbW9yZSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiBNT0RF
LiIKICBleGl0IDAKICA7OwoKY29tcGlsZSkKICAkZWNobyBcCiJVc2FnZTogJG1vZGVuYW1lIFtP
UFRJT05dLi4uIC0tbW9kZT1jb21waWxlIENPTVBJTEUtQ09NTUFORC4uLiBTT1VSQ0VGSUxFCgpD
b21waWxlIGEgc291cmNlIGZpbGUgaW50byBhIGxpYnRvb2wgbGlicmFyeSBvYmplY3QuCgpUaGlz
IG1vZGUgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9uczoKCiAgLW8gT1VU
UFVULUZJTEUgICAgc2V0IHRoZSBvdXRwdXQgZmlsZSBuYW1lIHRvIE9VVFBVVC1GSUxFCiAgLXN0
YXRpYyAgICAgICAgICAgYWx3YXlzIGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJsZSBmb3Igc3Rh
dGljIGxpbmtpbmcKCkNPTVBJTEUtQ09NTUFORCBpcyBhIGNvbW1hbmQgdG8gYmUgdXNlZCBpbiBj
cmVhdGluZyBhIFxgc3RhbmRhcmQnIG9iamVjdCBmaWxlCmZyb20gdGhlIGdpdmVuIFNPVVJDRUZJ
TEUuCgpUaGUgb3V0cHV0IGZpbGUgbmFtZSBpcyBkZXRlcm1pbmVkIGJ5IHJlbW92aW5nIHRoZSBk
aXJlY3RvcnkgY29tcG9uZW50IGZyb20KU09VUkNFRklMRSwgdGhlbiBzdWJzdGl0dXRpbmcgdGhl
IEMgc291cmNlIGNvZGUgc3VmZml4IFxgLmMnIHdpdGggdGhlCmxpYnJhcnkgb2JqZWN0IHN1ZmZp
eCwgXGAubG8nLiIKICA7OwoKZXhlY3V0ZSkKICAkZWNobyBcCiJVc2FnZTogJG1vZGVuYW1lIFtP
UFRJT05dLi4uIC0tbW9kZT1leGVjdXRlIENPTU1BTkQgW0FSR1NdLi4uCgpBdXRvbWF0aWNhbGx5
IHNldCBsaWJyYXJ5IHBhdGgsIHRoZW4gcnVuIGEgcHJvZ3JhbS4KClRoaXMgbW9kZSBhY2NlcHRz
IHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgoKICAtZGxvcGVuIEZJTEUgICAgICBh
ZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEUgdG8gdGhlIGxpYnJhcnkgcGF0aAoKVGhp
cyBtb2RlIHNldHMgdGhlIGxpYnJhcnkgcGF0aCBlbnZpcm9ubWVudCB2YXJpYWJsZSBhY2NvcmRp
bmcgdG8gXGAtZGxvcGVuJwpmbGFncy4KCklmIGFueSBvZiB0aGUgQVJHUyBhcmUgbGlidG9vbCBl
eGVjdXRhYmxlIHdyYXBwZXJzLCB0aGVuIHRoZXkgYXJlIHRyYW5zbGF0ZWQKaW50byB0aGVpciBj
b3JyZXNwb25kaW5nIHVuaW5zdGFsbGVkIGJpbmFyeSwgYW5kIGFueSBvZiB0aGVpciByZXF1aXJl
ZCBsaWJyYXJ5CmRpcmVjdG9yaWVzIGFyZSBhZGRlZCB0byB0aGUgbGlicmFyeSBwYXRoLgoKVGhl
biwgQ09NTUFORCBpcyBleGVjdXRlZCwgd2l0aCBBUkdTIGFzIGFyZ3VtZW50cy4iCiAgOzsKCmZp
bmlzaCkKICAkZWNobyBcCiJVc2FnZTogJG1vZGVuYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1maW5p
c2ggW0xJQkRJUl0uLi4KCkNvbXBsZXRlIHRoZSBpbnN0YWxsYXRpb24gb2YgbGlidG9vbCBsaWJy
YXJpZXMuCgpFYWNoIExJQkRJUiBpcyBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIGxpYnRvb2wg
bGlicmFyaWVzLgoKVGhlIGNvbW1hbmRzIHRoYXQgdGhpcyBtb2RlIGV4ZWN1dGVzIG1heSByZXF1
aXJlIHN1cGVydXNlciBwcml2aWxlZ2VzLiAgVXNlCnRoZSBcYC0tZHJ5LXJ1bicgb3B0aW9uIGlm
IHlvdSBqdXN0IHdhbnQgdG8gc2VlIHdoYXQgd291bGQgYmUgZXhlY3V0ZWQuIgogIDs7CgppbnN0
YWxsKQogICRlY2hvIFwKIlVzYWdlOiAkbW9kZW5hbWUgW09QVElPTl0uLi4gLS1tb2RlPWluc3Rh
bGwgSU5TVEFMTC1DT01NQU5ELi4uCgpJbnN0YWxsIGV4ZWN1dGFibGVzIG9yIGxpYnJhcmllcy4K
CklOU1RBTEwtQ09NTUFORCBpcyB0aGUgaW5zdGFsbGF0aW9uIGNvbW1hbmQuICBUaGUgZmlyc3Qg
Y29tcG9uZW50IHNob3VsZCBiZQplaXRoZXIgdGhlIFxgaW5zdGFsbCcgb3IgXGBjcCcgcHJvZ3Jh
bS4KClRoZSByZXN0IG9mIHRoZSBjb21wb25lbnRzIGFyZSBpbnRlcnByZXRlZCBhcyBhcmd1bWVu
dHMgdG8gdGhhdCBjb21tYW5kIChvbmx5CkJTRC1jb21wYXRpYmxlIGluc3RhbGwgb3B0aW9ucyBh
cmUgcmVjb2duaXplZCkuIgogIDs7CgpsaW5rKQogICRlY2hvIFwKIlVzYWdlOiAkbW9kZW5hbWUg
W09QVElPTl0uLi4gLS1tb2RlPWxpbmsgTElOSy1DT01NQU5ELi4uCgpMaW5rIG9iamVjdCBmaWxl
cyBvciBsaWJyYXJpZXMgdG9nZXRoZXIgdG8gZm9ybSBhbm90aGVyIGxpYnJhcnksIG9yIHRvCmNy
ZWF0ZSBhbiBleGVjdXRhYmxlIHByb2dyYW0uCgpMSU5LLUNPTU1BTkQgaXMgYSBjb21tYW5kIHVz
aW5nIHRoZSBDIGNvbXBpbGVyIHRoYXQgeW91IHdvdWxkIHVzZSB0byBjcmVhdGUKYSBwcm9ncmFt
IGZyb20gc2V2ZXJhbCBvYmplY3QgZmlsZXMuCgpUaGUgZm9sbG93aW5nIGNvbXBvbmVudHMgb2Yg
TElOSy1DT01NQU5EIGFyZSB0cmVhdGVkIHNwZWNpYWxseToKCiAgLWFsbC1zdGF0aWMgICAgICAg
ZG8gbm90IGRvIGFueSBkeW5hbWljIGxpbmtpbmcgYXQgYWxsCiAgLWF2b2lkLXZlcnNpb24gICAg
ZG8gbm90IGFkZCBhIHZlcnNpb24gc3VmZml4IGlmIHBvc3NpYmxlCiAgLWRsb3BlbiBGSUxFICAg
ICAgXGAtZGxwcmVvcGVuJyBGSUxFIGlmIGl0IGNhbm5vdCBiZSBkbG9wZW5lZCBhdCBydW50aW1l
CiAgLWRscHJlb3BlbiBGSUxFICAgbGluayBpbiBGSUxFIGFuZCBhZGQgaXRzIHN5bWJvbHMgdG8g
bHRfcHJlbG9hZGVkX3N5bWJvbHMKICAtZXhwb3J0LWR5bmFtaWMgICBhbGxvdyBzeW1ib2xzIGZy
b20gT1VUUFVULUZJTEUgdG8gYmUgcmVzb2x2ZWQgd2l0aCBkbHN5bSgzKQogIC1leHBvcnQtc3lt
Ym9scyBTWU1GSUxFCgkJICAgIHRyeSB0byBleHBvcnQgb25seSB0aGUgc3ltYm9scyBsaXN0ZWQg
aW4gU1lNRklMRQogIC1leHBvcnQtc3ltYm9scy1yZWdleCBSRUdFWAoJCSAgICB0cnkgdG8gZXhw
b3J0IG9ubHkgdGhlIHN5bWJvbHMgbWF0Y2hpbmcgUkVHRVgKICAtTExJQkRJUiAgICAgICAgICBz
ZWFyY2ggTElCRElSIGZvciByZXF1aXJlZCBpbnN0YWxsZWQgbGlicmFyaWVzCiAgLWxOQU1FICAg
ICAgICAgICAgT1VUUFVULUZJTEUgcmVxdWlyZXMgdGhlIGluc3RhbGxlZCBsaWJyYXJ5IGxpYk5B
TUUKICAtbW9kdWxlICAgICAgICAgICBidWlsZCBhIGxpYnJhcnkgdGhhdCBjYW4gZGxvcGVuZWQK
ICAtbm8tdW5kZWZpbmVkICAgICBkZWNsYXJlIHRoYXQgYSBsaWJyYXJ5IGRvZXMgbm90IHJlZmVy
IHRvIGV4dGVybmFsIHN5bWJvbHMKICAtbyBPVVRQVVQtRklMRSAgICBjcmVhdGUgT1VUUFVULUZJ
TEUgZnJvbSB0aGUgc3BlY2lmaWVkIG9iamVjdHMKICAtcmVsZWFzZSBSRUxFQVNFICBzcGVjaWZ5
IHBhY2thZ2UgcmVsZWFzZSBpbmZvcm1hdGlvbgogIC1ycGF0aCBMSUJESVIgICAgIHRoZSBjcmVh
dGVkIGxpYnJhcnkgd2lsbCBldmVudHVhbGx5IGJlIGluc3RhbGxlZCBpbiBMSUJESVIKICAtUlsg
XUxJQkRJUiAgICAgICBhZGQgTElCRElSIHRvIHRoZSBydW50aW1lIHBhdGggb2YgcHJvZ3JhbXMg
YW5kIGxpYnJhcmllcwogIC1zdGF0aWMgICAgICAgICAgIGRvIG5vdCBkbyBhbnkgZHluYW1pYyBs
aW5raW5nIG9mIGxpYnRvb2wgbGlicmFyaWVzCiAgLXZlcnNpb24taW5mbyBDVVJSRU5UWzpSRVZJ
U0lPTls6QUdFXV0KCQkgICAgc3BlY2lmeSBsaWJyYXJ5IHZlcnNpb24gaW5mbyBbZWFjaCB2YXJp
YWJsZSBkZWZhdWx0cyB0byAwXQoKQWxsIG90aGVyIG9wdGlvbnMgKGFyZ3VtZW50cyBiZWdpbm5p
bmcgd2l0aCBcYC0nKSBhcmUgaWdub3JlZC4KCkV2ZXJ5IG90aGVyIGFyZ3VtZW50IGlzIHRyZWF0
ZWQgYXMgYSBmaWxlbmFtZS4gIEZpbGVzIGVuZGluZyBpbiBcYC5sYScgYXJlCnRyZWF0ZWQgYXMg
dW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMsIG90aGVyIGZpbGVzIGFyZSBzdGFuZGFyZCBv
ciBsaWJyYXJ5Cm9iamVjdCBmaWxlcy4KCklmIHRoZSBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxh
JywgdGhlbiBhIGxpYnRvb2wgbGlicmFyeSBpcyBjcmVhdGVkLApvbmx5IGxpYnJhcnkgb2JqZWN0
cyAoXGAubG8nIGZpbGVzKSBtYXkgYmUgc3BlY2lmaWVkLCBhbmQgXGAtcnBhdGgnIGlzCnJlcXVp
cmVkLCBleGNlcHQgd2hlbiBjcmVhdGluZyBhIGNvbnZlbmllbmNlIGxpYnJhcnkuCgpJZiBPVVRQ
VVQtRklMRSBlbmRzIGluIFxgLmEnIG9yIFxgLmxpYicsIHRoZW4gYSBzdGFuZGFyZCBsaWJyYXJ5
IGlzIGNyZWF0ZWQKdXNpbmcgXGBhcicgYW5kIFxgcmFubGliJywgb3Igb24gV2luZG93cyB1c2lu
ZyBcYGxpYicuCgpJZiBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxvJyBvciBcYC4ke29iamV4dH0n
LCB0aGVuIGEgcmVsb2FkYWJsZSBvYmplY3QgZmlsZQppcyBjcmVhdGVkLCBvdGhlcndpc2UgYW4g
ZXhlY3V0YWJsZSBwcm9ncmFtIGlzIGNyZWF0ZWQuIgogIDs7Cgp1bmluc3RhbGwpCiAgJGVjaG8g
XAoiVXNhZ2U6ICRtb2RlbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9dW5pbnN0YWxsIFJNIFtSTS1P
UFRJT05dLi4uIEZJTEUuLi4KClJlbW92ZSBsaWJyYXJpZXMgZnJvbSBhbiBpbnN0YWxsYXRpb24g
ZGlyZWN0b3J5LgoKUk0gaXMgdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0gdG8gdXNlIHRvIGRlbGV0
ZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBGSUxFCih0eXBpY2FsbHkgXGAvYmluL3JtJyku
ICBSTS1PUFRJT05TIGFyZSBvcHRpb25zIChzdWNoIGFzIFxgLWYnKSB0byBiZSBwYXNzZWQKdG8g
Uk0uCgpJZiBGSUxFIGlzIGEgbGlidG9vbCBsaWJyYXJ5LCBhbGwgdGhlIGZpbGVzIGFzc29jaWF0
ZWQgd2l0aCBpdCBhcmUgZGVsZXRlZC4KT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRl
bGV0ZWQgdXNpbmcgUk0uIgogIDs7CgoqKQogICRlY2hvICIkbW9kZW5hbWU6IGludmFsaWQgb3Bl
cmF0aW9uIG1vZGUgXGAkbW9kZSciIDE+JjIKICAkZWNobyAiJGhlbHAiIDE+JjIKICBleGl0IDEK
ICA7Owplc2FjCgplY2hvCiRlY2hvICJUcnkgXGAkbW9kZW5hbWUgLS1oZWxwJyBmb3IgbW9yZSBp
bmZvcm1hdGlvbiBhYm91dCBvdGhlciBtb2Rlcy4iCgpleGl0IDAKCiMgTG9jYWwgVmFyaWFibGVz
OgojIG1vZGU6c2hlbGwtc2NyaXB0CiMgc2gtaW5kZW50YXRpb246MgojIEVuZDoK

--Multipart=_Wed__31_Mar_2004_09_22_47_+0200_IVAWlh/MouLt7b_T--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040331092247.6de3b225.bm>