Porting GMP-4.2.2 on QNX6.3.0....didn't work

"bhanu rao" <[email protected]> Wed, 12 Mar 2008 12:12:55 +0530
Newsgroups gmane.os.qnx.openqnx.devel
Message-ID <[email protected]>
------=_Part_12835_20237180.1205304176067
Content-Type: multipart/alternative; 
	boundary="----=_Part_12836_19874347.1205304176067"

------=_Part_12836_19874347.1205304176067
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Trying to configure GMP-4.2.2 for QNX6.3.0 for MPC5000b (powerpc603e) on a
windows XP cross compiler. try to configure using

./configure --build=pentium4-pc-nto-qnx6 --host=ppcbe-powerpc-nto-qnx6
make

was able to build the libgmp.a, but when i include in my qnx workspace it
give me linking error,two cases might be there:
1. Library is not configured for QNX6.3.0 on MPC5000b (powerpc603e board).
2. May be i am missing somewhera in providing it proper path.

please let me known the correct configure options and linking options.
does it needs some changes in configure file?

attach is the config.log file

thanks ,
bhanu

------=_Part_12836_19874347.1205304176067
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<p>Trying to configure GMP-4.2.2 for QNX6.3.0 for MPC5000b (powerpc603e) on a windows XP cross compiler. try to configure using </p>
<p>./configure --build=pentium4-pc-nto-qnx6 --host=ppcbe-powerpc-nto-qnx6 <br>make </p>
<p>was able to build the libgmp.a, but when i include in my qnx workspace it give me linking error,two cases might be there: <br>1. Library is not configured for QNX6.3.0 on MPC5000b (powerpc603e board). <br>2. May be i am missing somewhera in providing it proper path. </p>

<p>please let me known the correct configure options and linking options. <br>does it needs some changes in configure file? </p>
<p>attach is the config.log file </p>
<p>thanks , <br>bhanu&nbsp; </p>

------=_Part_12836_19874347.1205304176067--

------=_Part_12835_20237180.1205304176067
Content-Type: application/octet-stream; name=config.log
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fdpiyavb
Content-Disposition: attachment; filename=config.log

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IEdOVSBNUCBjb25maWd1cmUgNC4yLjIsIHdo
aWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1h
bmQgbGluZSB3YXMKCiAgJCAuL2NvbmZpZ3VyZSAtLWJ1aWxkPXBlbnRpdW00LXBjLWN5Z3dpbiAt
LWhvc3Q9cHBjYmUtcG93ZXJwYy1udG8tcW54NgoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3Jt
LiAjIwojIyAtLS0tLS0tLS0gIyMKCmhvc3RuYW1lID0gSU5CQUdEVExBQkZPVVIKdW5hbWUgLW0g
PSBpNjg2CnVuYW1lIC1yID0gMS41LjI1KDAuMTU2LzQvMikKdW5hbWUgLXMgPSBDWUdXSU5fTlQt
NS4xCnVuYW1lIC12ID0gMjAwNy0xMi0xNCAxOToyMQoKL3Vzci9iaW4vdW5hbWUgLXAgPSB1bmtu
b3duCi9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9
IGk2ODYKL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lz
aW5mbyA9IHVua25vd24KaG9zdGluZm8gICAgICAgICAgICAgICA9IHVua25vd24KL2Jpbi9tYWNo
aW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24K
L2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC91c3IvbG9jYWwvYmluDQpQ
QVRIOiAvdXNyL2Jpbg0KUEFUSDogL2Jpbg0KUEFUSDogL3Vzci9YMTFSNi9iaW4NClBBVEg6IC9j
eWdkcml2ZS9jL1BlcmwvYmluDQpQQVRIOiAvY3lnZHJpdmUvYy9XSU5OVC9zeXN0ZW0zMg0KUEFU
SDogL2N5Z2RyaXZlL2MvV0lOTlQNClBBVEg6IC9jeWdkcml2ZS9jL1dJTk5UL1N5c3RlbTMyL1di
ZW0NClBBVEg6IC9jeWdkcml2ZS9jL1Byb2dyYW0gRmlsZXMvUXVpY2tUaW1lL1FUU3lzdGVtLw0K
UEFUSDogL2N5Z2RyaXZlL2MvUU5YNjMwL2hvc3Qvd2luMzIveDg2L3Vzci9iaW4NClBBVEg6IC9j
eWdkcml2ZS9jL1Byb2dyYW0gRmlsZXMvUU5YIFNvZnR3YXJlIFN5c3RlbXMvYmluDQpQQVRIOiAv
Y3lnZHJpdmUvYy9RTlg2MzAvaG9zdC93aW4zMi94ODYvdXNyL250b3BwYy9iaW4NClBBVEg6IC91
c3IvYmluDQpQQVRIOiAvY3lnZHJpdmUvYy9RTlg2MzAvaG9zdC93aW4zMi94ODYvdXNyL2dtcC00
LjIuMi8ubGlicw0KUEFUSDogL2N5Z2RyaXZlL2MvUHJvZ3JhbSBGaWxlcy9TVEkvYmluL3BjLXdp
bjk1DQoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0t
ICMjCgpjb25maWd1cmU6MTY1NDogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUNCmNvbmZpZ3Vy
ZToxNjcyOiByZXN1bHQ6IHBlbnRpdW00LXBjLWN5Z3dpbg0KY29uZmlndXJlOjE2ODA6IGNoZWNr
aW5nIGhvc3Qgc3lzdGVtIHR5cGUNCmNvbmZpZ3VyZToxNjk0OiByZXN1bHQ6IHBwY2JlLXBvd2Vy
cGMtbnRvLXFueDYNCmNvbmZpZ3VyZToxNzE3OiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs
ZSBpbnN0YWxsDQpjb25maWd1cmU6MTc3MjogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsIC1jDQpj
b25maWd1cmU6MTc4MzogY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l
DQpjb25maWd1cmU6MTgyNjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxODgzOiBjaGVja2luZyBm
b3IgZ2F3aw0KY29uZmlndXJlOjE4OTk6IGZvdW5kIC91c3IvYmluL2dhd2sNCmNvbmZpZ3VyZTox
OTA5OiByZXN1bHQ6IGdhd2sNCmNvbmZpZ3VyZToxOTE5OiBjaGVja2luZyB3aGV0aGVyIG1ha2Ug
c2V0cyAkKE1BS0UpDQpjb25maWd1cmU6MTkzOTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyMDE4
OiBjaGVja2luZyBmb3IgcHBjYmUtcG93ZXJwYy1udG8tcW54Ni1zdHJpcA0KY29uZmlndXJlOjIw
NDc6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyMDU2OiBjaGVja2luZyBmb3Igc3RyaXANCmNvbmZp
Z3VyZToyMDcyOiBmb3VuZCAvdXNyL2Jpbi9zdHJpcA0KY29uZmlndXJlOjIwODM6IHJlc3VsdDog
c3RyaXANCmNvbmZpZ3VyZToyMTA1OiBjaGVja2luZyB3aGV0aGVyIHRvIGVuYWJsZSBtYWludGFp
bmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlcw0KY29uZmlndXJlOjIxMTQ6IHJlc3Vs
dDogbm8NClVzZXI6CkFCST0KQ0M9CkNGTEFHUz0odW5zZXQpCkNQUEZMQUdTPSh1bnNldCkKTVBO
X1BBVEg9CkdNUDoKYWJpbGlzdD1zdGFuZGFyZApjY2xpc3Q9Z2NjIGNjCmNvbmZpZ3VyZTozNzk0
OiBwcGNiZS1wb3dlcnBjLW50by1xbng2LWdjYyAyPiYxIHwgZ3JlcCB4bGMgPi9kZXYvbnVsbA0K
Y29uZmlndXJlOjM3OTc6ICQ/ID0gMQ0KY29uZmlndXJlOjM4NTE6IGNoZWNraW5nIGNvbXBpbGVy
IHBwY2JlLXBvd2VycGMtbnRvLXFueDYtZ2NjIC1PMyANClRlc3QgY29tcGlsZTogDQpjb25maWd1
cmU6Mzg2NTogcHBjYmUtcG93ZXJwYy1udG8tcW54Ni1nY2MgLU8zICBjb25mdGVzdC5jID4mNQ0K
Li9jb25maWd1cmU6IGxpbmUgMzg2NjogcHBjYmUtcG93ZXJwYy1udG8tcW54Ni1nY2M6IGNvbW1h
bmQgbm90IGZvdW5kDQpjb25maWd1cmU6Mzg2ODogJD8gPSAxMjcNCmZhaWxlZCBwcm9ncmFtIHdh
czoNCgppbnQgbWFpbiAoKSB7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo0ODc0OiByZXN1bHQ6IG5v
DQpjb25maWd1cmU6Mzc5NDogZ2NjIDI+JjEgfCBncmVwIHhsYyA+L2Rldi9udWxsDQpjb25maWd1
cmU6Mzc5NzogJD8gPSAxDQpjb25maWd1cmU6Mzg1MTogY2hlY2tpbmcgY29tcGlsZXIgZ2NjIC1P
MyANClRlc3QgY29tcGlsZTogDQpjb25maWd1cmU6Mzg2NTogZ2NjIC1PMyAgY29uZnRlc3QuYyA+
JjUNCmNvbmZpZ3VyZTozODY4OiAkPyA9IDANClRlc3QgY29tcGlsZTogZnVuY3Rpb24gcG9pbnRl
ciByZXR1cm4NCmNvbmZpZ3VyZTozOTE5OiBnY2MgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmln
dXJlOjM5MjI6ICQ/ID0gMA0KVGVzdCBjb21waWxlOiBjbW92IGluc3RydWN0aW9uDQpjb25maWd1
cmU6Mzk3NTogZ2NjIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTozOTc4OiAkPyA9IDAN
ClRlc3QgY29tcGlsZTogZG91YmxlIC0+IHVsb25nIGNvbnZlcnNpb24NCmNvbmZpZ3VyZTo0MDMy
OiBnY2MgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjQwMzU6ICQ/ID0gMA0KVGVzdCBj
b21waWxlOiBkb3VibGUgbmVnYXRpb24NCmNvbmZpZ3VyZTo0MDg3OiBnY2MgLU8zICBjb25mdGVz
dC5jID4mNQ0KY29uZmlndXJlOjQwOTA6ICQ/ID0gMA0KVGVzdCBjb21waWxlOiBkb3VibGUgLT4g
ZmxvYXQgY29udmVyc2lvbg0KY29uZmlndXJlOjQxNDM6IGdjYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1
DQpjb25maWd1cmU6NDE0NjogJD8gPSAwDQpUZXN0IGNvbXBpbGU6IGdudXBybyBhbHBoYSBldjYg
Y2hhciBzcGlsbGluZw0KY29uZmlndXJlOjQyMjc6IGdjYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpj
b25maWd1cmU6NDIzMDogJD8gPSAwDQpUZXN0IGNvbXBpbGU6IF9fYnVpbHRpbl9hbGxvY2EgYXZh
aWxhYmlsaXR5DQpjb25maWd1cmU6NDI3ODogZ2NjIC1PMyAgY29uZnRlc3QuYyA+JjUNCi91c3Iv
bGliL2djYy9pNjg2LXBjLWN5Z3dpbi8zLjQuNC8uLi8uLi8uLi9saWJjeWd3aW4uYShsaWJjbWFp
bi5vKTooLnRleHQrMHhhYik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9XaW5NYWluQDE2Jw0K
Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNvbmZpZ3VyZTo0MjgxOiAkPyA9
IDENCmZhaWxlZCBwcm9ncmFtIHdhczoNCmludCBrOyBpbnQgZm9vICgpIHsgX19idWlsdGluX2Fs
bG9jYSAoayk7IH0KVGVzdCBjb21waWxlOiBhYnMgaW50IC0+IGRvdWJsZSBjb252ZXJzaW9uDQpj
b25maWd1cmU6NDQwMjogZ2NjIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo0NDA1OiAk
PyA9IDANClRlc3QgY29tcGlsZTogbG9uZyBsb25nIHJlbGlhYmlsaXR5IHRlc3QgMQ0KY29uZmln
dXJlOjQ0NjY6IGdjYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NDQ2OTogJD8gPSAw
DQpUZXN0IGNvbXBpbGU6IGxvbmcgbG9uZyByZWxpYWJpbGl0eSB0ZXN0IDINCmNvbmZpZ3VyZTo0
NTI2OiBnY2MgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjQ1Mjk6ICQ/ID0gMA0KVGVz
dCBjb21waWxlOiBtcG5fbHNoaWZ0X2NvbSBvcHRpbWl6YXRpb24NCmNvbmZpZ3VyZTo0NjE3OiBn
Y2MgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjQ2MjA6ICQ/ID0gMA0KVGVzdCBjb21w
aWxlOiBtcG5fbHNoaWZ0X2NvbSBvcHRpbWl6YXRpb24gMg0KY29uZmlndXJlOjQ3MTc6IGdjYyAt
TzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NDcyMDogJD8gPSAwDQpjb25maWd1cmU6NDg3
NDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo2NDc3OiBjaGVja2luZyBmb3IgcHBjYmUtcG93ZXJw
Yy1udG8tcW54Ni1nY2MNCmNvbmZpZ3VyZTo2NTAzOiByZXN1bHQ6IGdjYw0KY29uZmlndXJlOjY3
ODU6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24NCmNvbmZpZ3VyZTo2Nzg4OiBnY2Mg
LS12ZXJzaW9uIDwvZGV2L251bGwgPiY1DQpnY2MgKEdDQykgMy40LjQgKGN5Z21pbmcgc3BlY2lh
bCwgZ2RjIDAuMTIsIHVzaW5nIGRtZCAwLjEyNSkNCkNvcHlyaWdodCAoQykgMjAwNCBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBz
b3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PDQp3YXJyYW50eTsgbm90
IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4NCg0KY29uZmlndXJlOjY3OTE6ICQ/ID0gMA0KY29uZmlndXJlOjY3OTM6IGdjYyAtdiA8
L2Rldi9udWxsID4mNQ0KUmVhZGluZyBzcGVjcyBmcm9tIC91c3IvbGliL2djYy9pNjg2LXBjLWN5
Z3dpbi8zLjQuNC9zcGVjcw0KQ29uZmlndXJlZCB3aXRoOiAvdXNyL2J1aWxkL3BhY2thZ2Uvb3Jp
Zy90ZXN0LnJlc3Bpbi9nY2MtMy40LjQtMy9jb25maWd1cmUgLS12ZXJib3NlIC0tcHJlZml4PS91
c3IgLS1leGVjLXByZWZpeD0vdXNyIC0tc3lzY29uZmRpcj0vZXRjIC0tbGliZGlyPS91c3IvbGli
IC0tbGliZXhlY2Rpcj0vdXNyL2xpYiAtLW1hbmRpcj0vdXNyL3NoYXJlL21hbiAtLWluZm9kaXI9
L3Vzci9zaGFyZS9pbmZvIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssZCxmNzcscGFzY2Fs
LGphdmEsb2JqYyAtLWVuYWJsZS1ubHMgLS13aXRob3V0LWluY2x1ZGVkLWdldHRleHQgLS1lbmFi
bGUtdmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMgLS13aXRob3V0LXggLS1lbmFibGUtbGli
Z2NqIC0tZGlzYWJsZS1qYXZhLWF3dCAtLXdpdGgtc3lzdGVtLXpsaWIgLS1lbmFibGUtaW50ZXJw
cmV0ZXIgLS1kaXNhYmxlLWxpYmdjai1kZWJ1ZyAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tZW5h
YmxlLWphdmEtZ2M9Ym9laG0gLS1kaXNhYmxlLXdpbjMyLXJlZ2lzdHJ5IC0tZW5hYmxlLXNqbGot
ZXhjZXB0aW9ucyAtLWVuYWJsZS1oYXNoLXN5bmNocm9uaXphdGlvbiAtLWVuYWJsZS1saWJzdGRj
eHgtZGVidWcNClRocmVhZCBtb2RlbDogcG9zaXgNCmdjYyB2ZXJzaW9uIDMuNC40IChjeWdtaW5n
IHNwZWNpYWwsIGdkYyAwLjEyLCB1c2luZyBkbWQgMC4xMjUpDQpjb25maWd1cmU6Njc5NjogJD8g
PSAwDQpjb25maWd1cmU6Njc5ODogZ2NjIC1WIDwvZGV2L251bGwgPiY1DQpnY2M6IGAtVicgb3B0
aW9uIG11c3QgaGF2ZSBhcmd1bWVudA0KY29uZmlndXJlOjY4MDE6ICQ/ID0gMQ0KY29uZmlndXJl
OjY4MjQ6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZQ0K
Y29uZmlndXJlOjY4Mjc6IGdjYyAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZTo2ODMw
OiAkPyA9IDANCmNvbmZpZ3VyZTo2ODc2OiByZXN1bHQ6IGEuZXhlDQpjb25maWd1cmU6Njg4MTog
Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcw0KY29uZmlndXJlOjY5MDc6IHJl
c3VsdDogeWVzDQpjb25maWd1cmU6NjkxNDogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg
Y29tcGlsaW5nDQpjb25maWd1cmU6NjkxNjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo2OTE5OiBj
aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzDQpjb25maWd1cmU6NjkyMTogZ2NjIC1v
IGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZTo2OTI0OiAkPyA9
IDANCmNvbmZpZ3VyZTo2OTQ5OiByZXN1bHQ6IC5leGUNCmNvbmZpZ3VyZTo2OTU1OiBjaGVja2lu
ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcw0KY29uZmlndXJlOjY5NzY6IGdjYyAtYyAtTzMg
IGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6Njk3OTogJD8gPSAwDQpjb25maWd1cmU6NzAwMTog
cmVzdWx0OiBvDQpjb25maWd1cmU6NzAwNTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg
dGhlIEdOVSBDIGNvbXBpbGVyDQpjb25maWd1cmU6NzAyOTogZ2NjIC1jIC1PMyAgY29uZnRlc3Qu
YyA+JjUNCmNvbmZpZ3VyZTo3MDM1OiAkPyA9IDANCmNvbmZpZ3VyZTo3MDM5OiB0ZXN0IC16IA0K
CQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZTo3MDQyOiAkPyA9IDANCmNv
bmZpZ3VyZTo3MDQ1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTo3MDQ4OiAkPyA9IDAN
CmNvbmZpZ3VyZTo3MDYxOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjcwNjc6IGNoZWNraW5nIHdo
ZXRoZXIgZ2NjIGFjY2VwdHMgLWcNCmNvbmZpZ3VyZTo3MDg4OiBnY2MgLWMgLWcgIGNvbmZ0ZXN0
LmMgPiY1DQpjb25maWd1cmU6NzA5NDogJD8gPSAwDQpjb25maWd1cmU6NzA5ODogdGVzdCAteiAN
CgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6NzEwMTogJD8gPSAwDQpj
b25maWd1cmU6NzEwNDogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6NzEwNzogJD8gPSAw
DQpjb25maWd1cmU6NzExODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo3MTM1OiBjaGVja2luZyBm
b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgQU5TSSBDDQpjb25maWd1cmU6NzIwNTogZ2NjICAtYyAt
TzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NzIxMTogJD8gPSAwDQpjb25maWd1cmU6NzIx
NTogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6NzIx
ODogJD8gPSAwDQpjb25maWd1cmU6NzIyMTogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6
NzIyNDogJD8gPSAwDQpjb25maWd1cmU6NzI0MjogcmVzdWx0OiBub25lIG5lZWRlZA0KY29uZmln
dXJlOjcyNjA6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOjI6IGVycm9y
OiBwYXJzZSBlcnJvciBiZWZvcmUgIm1lIg0NCmNvbmZpZ3VyZTo3MjY2OiAkPyA9IDENCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAjaWZuZGVmIF9fY3BsdXNwbHVzDQp8ICAgY2hv
a2UgbWUNCnwgI2VuZGlmDQpjb25maWd1cmU6NzQwNTogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUg
QyBwcmVwcm9jZXNzb3INCmNvbmZpZ3VyZTo3NDQwOiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZp
Z3VyZTo3NDQ2OiAkPyA9IDANCmNvbmZpZ3VyZTo3NDc4OiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCmNv
bmZ0ZXN0LmM6MTM6Mjg6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkNDQpjb25maWd1cmU6NzQ4NDogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiIN
CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZp
bmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdB
TlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4NCmNvbmZpZ3VyZTo3NTIz
OiByZXN1bHQ6IGdjYyAtRQ0KY29uZmlndXJlOjc1NDc6IGdjYyAtRSAgY29uZnRlc3QuYw0KY29u
ZmlndXJlOjc1NTM6ICQ/ID0gMA0KY29uZmlndXJlOjc1ODU6IGdjYyAtRSAgY29uZnRlc3QuYw0K
Y29uZnRlc3QuYzoxMzoyODogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQ0NCmNvbmZpZ3VyZTo3NTkxOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH
TlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FH
RV9WRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4y
Ig0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2Rl
ZmluZSBQQUNLQUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUg
V0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAvKiBlbmQgY29u
ZmRlZnMuaC4gICovDQp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPg0KY29uZmlndXJlOjc2
NjY6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NzY3MjogJD8gPSAwDQpj
b25maWd1cmU6NzY3NjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpj
b25maWd1cmU6NzY3OTogJD8gPSAwDQpjb25maWd1cmU6NzY4MjogdGVzdCAtcyBjb25mdGVzdC5v
DQpjb25maWd1cmU6NzY4NTogJD8gPSAwDQpjb25maWd1cmU6Nzc3MzogY2hlY2tpbmcgYnVpbGQg
c3lzdGVtIGNvbXBpbGVyIGdjYw0KY29uZmlndXJlOjc3ODY6IGdjYyBjb25mdGVzdC5jDQpjb25m
aWd1cmU6Nzc4OTogJD8gPSAwDQouL2NvbmZpZ3VyZTogbGluZSA3NzkxOiAuL2Eub3V0OiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5DQouL2NvbmZpZ3VyZTogbGluZSA3NzkxOiAuL2Iub3V0OiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6Nzc5NjogcmVzdWx0OiB5ZXMNCmNv
bmZpZ3VyZTo3ODE3OiBjaGVja2luZyBmb3IgYnVpbGQgc3lzdGVtIHByZXByb2Nlc3Nvcg0KY29u
ZmlndXJlOjc4Mjg6IGdjYyAtRSBjb25mdGVzdC5jDQojIDEgImNvbmZ0ZXN0LmMiDQojIDEgIjxi
dWlsdC1pbj4iDQojIDEgIjxjb21tYW5kIGxpbmU+Ig0KIyAxICJjb25mdGVzdC5jIg0KY29uZmln
dXJlOjc4MzE6ICQ/ID0gMA0KY29uZmlndXJlOjc4NDg6IHJlc3VsdDogZ2NjIC1FDQpjb25maWd1
cmU6Nzg1NTogY2hlY2tpbmcgZm9yIGJ1aWxkIHN5c3RlbSBleGVjdXRhYmxlIHN1ZmZpeA0KY29u
ZmlndXJlOjc4Njk6IGdjYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0LmV4ZQ0KY29uZmlndXJlOjc4
NzI6ICQ/ID0gMA0KY29uZmlndXJlOjc4ODg6IHJlc3VsdDogLmV4ZQ0KY29uZmlndXJlOjc4OTQ6
IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQgc3lzdGVtIGNvbXBpbGVyIGlzIEFOU0kNCmNvbmZpZ3Vy
ZTo3OTA3OiBnY2MgY29uZnRlc3QuYw0KY29uZmlndXJlOjc5MTA6ICQ/ID0gMA0KY29uZmlndXJl
Ojc5MTk6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NzkyOTogY2hlY2tpbmcgZm9yIGJ1aWxkIHN5
c3RlbSBjb21waWxlciBtYXRoIGxpYnJhcnkNCmNvbmZpZ3VyZTo3OTQ4OiBnY2MgY29uZnRlc3Qu
YyAtbG0NCmNvbmZpZ3VyZTo3OTUxOiAkPyA9IDANCmNvbmZpZ3VyZTo3OTYwOiByZXN1bHQ6IC1s
bQ0KY29uZmlndXJlOjg3NzA6IGNoZWNraW5nIGZvciBlZ3JlcA0KY29uZmlndXJlOjg3ODA6IHJl
c3VsdDogZ3JlcCAtRQ0KRGVjaWRlZDoKQUJJPXN0YW5kYXJkCkNDPWdjYwpDRkxBR1M9LU8zCkNQ
UEZMQUdTPQpHTVBfTERGTEFHUz0KQ1hYPQpDWFhGTEFHUz0KcGF0aD0gIGdlbmVyaWMKY29uZmln
dXJlOjkwNTQ6IGNoZWNraW5nIGZvciBmdW5jdGlvbiBwcm90b3R5cGVzDQpjb25maWd1cmU6OTA1
NzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo5MDc0OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRl
ciBmaWxlcw0KY29uZmlndXJlOjkwOTk6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25m
aWd1cmU6OTEwNTogJD8gPSAwDQpjb25maWd1cmU6OTEwOTogdGVzdCAteiANCgkJCSB8fCB0ZXN0
ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6OTExMjogJD8gPSAwDQpjb25maWd1cmU6OTEx
NTogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6OTExODogJD8gPSAwDQpjb25maWd1cmU6
OTIzMDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo5MjU0OiBjaGVja2luZyBmb3Igc3lzL3R5cGVz
LmgNCmNvbmZpZ3VyZTo5MjcwOiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJl
OjkyNzY6ICQ/ID0gMA0KY29uZmlndXJlOjkyODA6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1z
IGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjkyODM6ICQ/ID0gMA0KY29uZmlndXJlOjkyODY6IHRl
c3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjkyODk6ICQ/ID0gMA0KY29uZmlndXJlOjkzMDA6
IHJlc3VsdDogeWVzDQpjb25maWd1cmU6OTI1NDogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgNCmNv
bmZpZ3VyZTo5MjcwOiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjkyNzY6
ICQ/ID0gMA0KY29uZmlndXJlOjkyODA6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0
ZXN0LmVycg0KY29uZmlndXJlOjkyODM6ICQ/ID0gMA0KY29uZmlndXJlOjkyODY6IHRlc3QgLXMg
Y29uZnRlc3Qubw0KY29uZmlndXJlOjkyODk6ICQ/ID0gMA0KY29uZmlndXJlOjkzMDA6IHJlc3Vs
dDogeWVzDQpjb25maWd1cmU6OTI1NDogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oDQpjb25maWd1cmU6
OTI3MDogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo5Mjc2OiAkPyA9IDAN
CmNvbmZpZ3VyZTo5MjgwOiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIN
CmNvbmZpZ3VyZTo5MjgzOiAkPyA9IDANCmNvbmZpZ3VyZTo5Mjg2OiB0ZXN0IC1zIGNvbmZ0ZXN0
Lm8NCmNvbmZpZ3VyZTo5Mjg5OiAkPyA9IDANCmNvbmZpZ3VyZTo5MzAwOiByZXN1bHQ6IHllcw0K
Y29uZmlndXJlOjkyNTQ6IGNoZWNraW5nIGZvciBzdHJpbmcuaA0KY29uZmlndXJlOjkyNzA6IGdj
YyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6OTI3NjogJD8gPSAwDQpjb25maWd1
cmU6OTI4MDogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1
cmU6OTI4MzogJD8gPSAwDQpjb25maWd1cmU6OTI4NjogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25m
aWd1cmU6OTI4OTogJD8gPSAwDQpjb25maWd1cmU6OTMwMDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy
ZTo5MjU0OiBjaGVja2luZyBmb3IgbWVtb3J5LmgNCmNvbmZpZ3VyZTo5MjcwOiBnY2MgLWMgLU8z
ICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjkyNzY6ICQ/ID0gMA0KY29uZmlndXJlOjkyODA6
IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjkyODM6
ICQ/ID0gMA0KY29uZmlndXJlOjkyODY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjky
ODk6ICQ/ID0gMA0KY29uZmlndXJlOjkzMDA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6OTI1NDog
Y2hlY2tpbmcgZm9yIHN0cmluZ3MuaA0KY29uZmlndXJlOjkyNzA6IGdjYyAtYyAtTzMgIGNvbmZ0
ZXN0LmMgPiY1DQpjb25maWd1cmU6OTI3NjogJD8gPSAwDQpjb25maWd1cmU6OTI4MDogdGVzdCAt
eiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6OTI4MzogJD8gPSAw
DQpjb25maWd1cmU6OTI4NjogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6OTI4OTogJD8g
PSAwDQpjb25maWd1cmU6OTMwMDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo5MjU0OiBjaGVja2lu
ZyBmb3IgaW50dHlwZXMuaA0KY29uZmlndXJlOjkyNzA6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMg
PiY1DQpjb25maWd1cmU6OTI3NjogJD8gPSAwDQpjb25maWd1cmU6OTI4MDogdGVzdCAteiANCgkJ
CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6OTI4MzogJD8gPSAwDQpjb25m
aWd1cmU6OTI4NjogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6OTI4OTogJD8gPSAwDQpj
b25maWd1cmU6OTMwMDogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo5MjU0OiBjaGVja2luZyBmb3Ig
c3RkaW50LmgNCmNvbmZpZ3VyZTo5MjcwOiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29u
ZmlndXJlOjkyNzY6ICQ/ID0gMA0KY29uZmlndXJlOjkyODA6IHRlc3QgLXogDQoJCQkgfHwgdGVz
dCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjkyODM6ICQ/ID0gMA0KY29uZmlndXJlOjky
ODY6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjkyODk6ICQ/ID0gMA0KY29uZmlndXJl
OjkzMDA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6OTI1NDogY2hlY2tpbmcgZm9yIHVuaXN0ZC5o
DQpjb25maWd1cmU6OTI3MDogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo5
Mjc2OiAkPyA9IDANCmNvbmZpZ3VyZTo5MjgwOiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBj
b25mdGVzdC5lcnINCmNvbmZpZ3VyZTo5MjgzOiAkPyA9IDANCmNvbmZpZ3VyZTo5Mjg2OiB0ZXN0
IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTo5Mjg5OiAkPyA9IDANCmNvbmZpZ3VyZTo5MzAwOiBy
ZXN1bHQ6IHllcw0KY29uZmlndXJlOjkzMjU6IGNoZWNraW5nIGZvciBzdHJpbmcuaA0KY29uZmln
dXJlOjkzMzA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6OTQ3NzogY2hlY2tpbmcgZm9yIHBwY2Jl
LXBvd2VycGMtbnRvLXFueDYtYXINCmNvbmZpZ3VyZTo5NTA2OiByZXN1bHQ6IG5vDQpjb25maWd1
cmU6OTUxNTogY2hlY2tpbmcgZm9yIGFyDQpjb25maWd1cmU6OTUzMTogZm91bmQgL3Vzci9iaW4v
YXINCmNvbmZpZ3VyZTo5NTQyOiByZXN1bHQ6IGFyDQpjb25maWd1cmU6OTU3MzogY2hlY2tpbmcg
Zm9yIEJTRC1jb21wYXRpYmxlIG5tDQpjb25maWd1cmU6OTYyMjogcmVzdWx0OiBubQ0KY29uZmln
dXJlOjk2Mzk6IGNoZWNraW5nIGZvciBCU0QtY29tcGF0aWJsZSBubQ0KY29uZmlndXJlOjk2ODg6
IHJlc3VsdDogL3Vzci9iaW4vbm0gLUINCmNvbmZpZ3VyZTo5ODk0OiBjaGVja2luZyBmb3IgYSBz
ZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQNCmNvbmZpZ3VyZTo5OTUwOiByZXN1bHQ6
IC91c3IvYmluL3NlZA0KY29uZmlndXJlOjk5NjQ6IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGdj
Yw0KY29uZmlndXJlOjEwMDMxOiByZXN1bHQ6IC91c3IvaTY4Ni1wYy1jeWd3aW4vYmluL2xkLmV4
ZQ0KY29uZmlndXJlOjEwMDQwOiBjaGVja2luZyBpZiB0aGUgbGlua2VyICgvdXNyL2k2ODYtcGMt
Y3lnd2luL2Jpbi9sZC5leGUpIGlzIEdOVSBsZA0KY29uZmlndXJlOjEwMDU1OiByZXN1bHQ6IHll
cw0KY29uZmlndXJlOjEwMDYwOiBjaGVja2luZyBmb3IgL3Vzci9pNjg2LXBjLWN5Z3dpbi9iaW4v
bGQuZXhlIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzDQpjb25maWd1cmU6MTAwNjc6IHJl
c3VsdDogLXINCmNvbmZpZ3VyZToxMDA4NTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcw0K
Y29uZmlndXJlOjEwMDg5OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEwMDk2OiBjaGVja2luZyBo
b3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMNCmNvbmZpZ3VyZToxMDI4MjogcmVz
dWx0OiB1bmtub3duDQpjb25maWd1cmU6MTA3NzY6IGNoZWNraW5nIGRsZmNuLmggdXNhYmlsaXR5
DQpjb25maWd1cmU6MTA3ODg6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6
MTA3OTQ6ICQ/ID0gMA0KY29uZmlndXJlOjEwNzk4OiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAt
cyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZToxMDgwMTogJD8gPSAwDQpjb25maWd1cmU6MTA4MDQ6
IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjEwODA3OiAkPyA9IDANCmNvbmZpZ3VyZTox
MDgxNzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMDgyMTogY2hlY2tpbmcgZGxmY24uaCBwcmVz
ZW5jZQ0KY29uZmlndXJlOjEwODMxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToxMDgz
NzogJD8gPSAwDQpjb25maWd1cmU6MTA4NTc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTA4OTI6
IGNoZWNraW5nIGZvciBkbGZjbi5oDQpjb25maWd1cmU6MTA4OTk6IHJlc3VsdDogeWVzDQpjb25m
aWd1cmU6MTExNTU6IGNoZWNraW5nIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBjb21tYW5kIGxpbmUg
YXJndW1lbnRzDQpjb25maWd1cmU6MTEyNjc6IHJlc3VsdDogODE5Mg0KY29uZmlndXJlOjExMjc5
OiBjaGVja2luZyBjb21tYW5kIHRvIHBhcnNlIC91c3IvYmluL25tIC1CIG91dHB1dCBmcm9tIGdj
YyBvYmplY3QNCmNvbmZpZ3VyZToxMTM4NDogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNv
bmZpZ3VyZToxMTM4NzogJD8gPSAwDQpjb25maWd1cmU6MTEzOTE6IC91c3IvYmluL25tIC1CIGNv
bmZ0ZXN0Lm8gXHwgc2VkIC1uIC1lICdzL14uKlsgCV1cKFtBQkNER0lSU1RXXVtBQkNER0lSU1RX
XSpcKVsgCV1bIAldKlwoW19BLVphLXpdW19BLVphLXowLTldKlwpJC9cMSBcMiBcMi9wJyBcPiBj
b25mdGVzdC5ubQ0KY29uZmlndXJlOjExMzk0OiAkPyA9IDANCmNhbm5vdCBmaW5kIG5tX3Rlc3Rf
dmFyIGluIGNvbmZ0ZXN0Lm5tDQpjb25maWd1cmU6MTEzODQ6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0
LmMgPiY1DQpjb25maWd1cmU6MTEzODc6ICQ/ID0gMA0KY29uZmlndXJlOjExMzkxOiAvdXNyL2Jp
bi9ubSAtQiBjb25mdGVzdC5vIFx8IHNlZCAtbiAtZSAncy9eLipbIAldXChbQUJDREdJUlNUV11b
QUJDREdJUlNUV10qXClbIAldWyAJXSpfXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIF9c
MiBcMi9wJyBcPiBjb25mdGVzdC5ubQ0KY29uZmlndXJlOjExMzk0OiAkPyA9IDANCmNhbm5vdCBm
aW5kIG5tX3Rlc3RfdmFyIGluIGNvbmZ0ZXN0Lm5tDQpjb25maWd1cmU6MTE0ODQ6IHJlc3VsdDog
ZmFpbGVkDQpjb25maWd1cmU6MTE0OTE6IGNoZWNraW5nIGZvciBvYmpkaXINCmNvbmZpZ3VyZTox
MTUwNjogcmVzdWx0OiAubGlicw0KY29uZmlndXJlOjExNTU4OiBjaGVja2luZyBmb3IgcHBjYmUt
cG93ZXJwYy1udG8tcW54Ni1hcg0KY29uZmlndXJlOjExNTg0OiByZXN1bHQ6IGFyDQpjb25maWd1
cmU6MTE2Mzg6IGNoZWNraW5nIGZvciBwcGNiZS1wb3dlcnBjLW50by1xbng2LXJhbmxpYg0KY29u
ZmlndXJlOjExNjY3OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MTE2NzY6IGNoZWNraW5nIGZvciBy
YW5saWINCmNvbmZpZ3VyZToxMTY5MjogZm91bmQgL3Vzci9iaW4vcmFubGliDQpjb25maWd1cmU6
MTE3MDM6IHJlc3VsdDogcmFubGliDQpjb25maWd1cmU6MTE3MTg6IGNoZWNraW5nIGZvciBwcGNi
ZS1wb3dlcnBjLW50by1xbng2LXN0cmlwDQpjb25maWd1cmU6MTE3NDQ6IHJlc3VsdDogc3RyaXAN
CmNvbmZpZ3VyZToxMjA1NTogY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5v
LWV4Y2VwdGlvbnMNCmNvbmZpZ3VyZToxMjA3MzogZ2NjIC1jIC1PMyAgLWZuby1ydHRpIC1mbm8t
ZXhjZXB0aW9ucyBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiBjb21tYW5kIGxpbmUgb3B0
aW9uICItZm5vLXJ0dGkiIGlzIHZhbGlkIGZvciBDKysvT2JqQysrIGJ1dCBub3QgZm9yIEMNCmNv
bmZpZ3VyZToxMjA3NzogJD8gPSAwDQpjb25maWd1cmU6MTIwOTA6IHJlc3VsdDogbm8NCmNvbmZp
Z3VyZToxMjEwNTogY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMNCmNvbmZp
Z3VyZToxMjMzNzogcmVzdWx0OiAtZlBJQw0KY29uZmlndXJlOjEyMzQ1OiBjaGVja2luZyBpZiBn
Y2MgUElDIGZsYWcgLWZQSUMgd29ya3MNCmNvbmZpZ3VyZToxMjM2MzogZ2NjIC1jIC1PMyAgLWZQ
SUMgLURQSUMgY29uZnRlc3QuYyA+JjUNCmNvbmZ0ZXN0LmM6MTogd2FybmluZzogLWZQSUMgaWdu
b3JlZCBmb3IgdGFyZ2V0IChhbGwgY29kZSBpcyBwb3NpdGlvbiBpbmRlcGVuZGVudCkNCmNvbmZp
Z3VyZToxMjM2NzogJD8gPSAwDQpjb25maWd1cmU6MTIzODA6IHJlc3VsdDogbm8NCmNvbmZpZ3Vy
ZToxMjQwODogY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MNCmNvbmZp
Z3VyZToxMjQzNjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMjQ0NjogY2hlY2tpbmcgaWYgZ2Nj
IHN1cHBvcnRzIC1jIC1vIGZpbGUubw0KY29uZmlndXJlOjEyNDY3OiBnY2MgLWMgLU8zICAtbyBv
dXQvY29uZnRlc3QyLm8gY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToxMjQ3MTogJD8gPSAwDQpj
b25maWd1cmU6MTI0OTM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTI1MTk6IGNoZWNraW5nIHdo
ZXRoZXIgdGhlIGdjYyBsaW5rZXIgKC91c3IvaTY4Ni1wYy1jeWd3aW4vYmluL2xkLmV4ZSkgc3Vw
cG9ydHMgc2hhcmVkIGxpYnJhcmllcw0KY29uZmlndXJlOjEzNTAzOiByZXN1bHQ6IHllcw0KY29u
ZmlndXJlOjEzNTI0OiBjaGVja2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBs
aW5rZWQgaW4NCmNvbmZpZ3VyZToxMzUyOTogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNv
bmZpZ3VyZToxMzUzMjogJD8gPSAwDQpjb25maWd1cmU6MTM1NDc6IGdjYyAtc2hhcmVkIGNvbmZ0
ZXN0Lm8gIC12IC1XbCwtc29uYW1lIC1XbCxjb25mdGVzdCAtbyBjb25mdGVzdCAyXD5cJjEgXHwg
Z3JlcCAgLWxjICBcPi9kZXYvbnVsbCAyXD5cJjENCmNvbmZpZ3VyZToxMzU1MDogJD8gPSAxDQpj
b25maWd1cmU6MTM1NjI6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTM1NzA6IGNoZWNraW5nIGR5
bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcw0KY29uZmlndXJlOjE0MTcyOiByZXN1bHQ6IG50
by1xbng2IGxkLnNvDQpjb25maWd1cmU6MTQxODE6IGNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBs
aWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMNCmNvbmZpZ3VyZToxNDIwNjogcmVzdWx0OiBpbW1l
ZGlhdGUNCmNvbmZpZ3VyZToxNDIyMDogY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcgbGlicmFy
aWVzIGlzIHBvc3NpYmxlDQpjb25maWd1cmU6MTQyMjU6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6
MTUwNjA6IGNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcw0KY29u
ZmlndXJlOjE1MDYyOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE1MDY1OiBjaGVja2luZyB3aGV0
aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMNCmNvbmZpZ3VyZToxNTA4NjogcmVzdWx0OiB5
ZXMNCmNvbmZpZ3VyZToxNTA4OTogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzdGF0aWMgbGli
cmFyaWVzDQpjb25maWd1cmU6MTUwOTM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTUxODY6IGNy
ZWF0aW5nIGxpYnRvb2wNCmNvbmZpZ3VyZToyNDQyMDogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFk
ZXIgZmlsZXMNCmNvbmZpZ3VyZToyNDU3NjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNDU4Njog
Y2hlY2tpbmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVk
ZWQNCmNvbmZpZ3VyZToyNDYxMTogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3Vy
ZToyNDYxNzogJD8gPSAwDQpjb25maWd1cmU6MjQ2MjE6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAh
IC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI0NjI0OiAkPyA9IDANCmNvbmZpZ3VyZToyNDYy
NzogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjQ2MzA6ICQ/ID0gMA0KY29uZmlndXJl
OjI0NjQxOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBmY250bC5oIHVz
YWJpbGl0eQ0KY29uZmlndXJlOjI0NzE5OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29u
ZmlndXJlOjI0NzI1OiAkPyA9IDANCmNvbmZpZ3VyZToyNDcyOTogdGVzdCAteiANCgkJCSB8fCB0
ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MjQ3MzI6ICQ/ID0gMA0KY29uZmlndXJl
OjI0NzM1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNDczODogJD8gPSAwDQpjb25m
aWd1cmU6MjQ3NDg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjQ3NTI6IGNoZWNraW5nIGZjbnRs
LmggcHJlc2VuY2UNCmNvbmZpZ3VyZToyNDc2MjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25maWd1
cmU6MjQ3Njg6ICQ/ID0gMA0KY29uZmlndXJlOjI0Nzg4OiByZXN1bHQ6IHllcw0KY29uZmlndXJl
OjI0ODIzOiBjaGVja2luZyBmb3IgZmNudGwuaA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6IHll
cw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBmbG9hdC5oIHVzYWJpbGl0eQ0KY29uZmlndXJl
OjI0NzE5OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI0NzI1OiAkPyA9
IDANCmNvbmZpZ3VyZToyNDcyOTogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3Qu
ZXJyDQpjb25maWd1cmU6MjQ3MzI6ICQ/ID0gMA0KY29uZmlndXJlOjI0NzM1OiB0ZXN0IC1zIGNv
bmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNDczODogJD8gPSAwDQpjb25maWd1cmU6MjQ3NDg6IHJlc3Vs
dDogeWVzDQpjb25maWd1cmU6MjQ3NTI6IGNoZWNraW5nIGZsb2F0LmggcHJlc2VuY2UNCmNvbmZp
Z3VyZToyNDc2MjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0gMA0K
Y29uZmlndXJlOjI0Nzg4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0ODIzOiBjaGVja2luZyBm
b3IgZmxvYXQuaA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0NzA3
OiBjaGVja2luZyBpbnZlbnQuaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToyNDcxOTogZ2NjIC1jIC1P
MyAgY29uZnRlc3QuYyA+JjUNCmNvbmZ0ZXN0LmM6NjU6MjA6IGludmVudC5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5DQ0KY29uZmlndXJlOjI0NzI1OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFD
S0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi
R05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294
LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIi
DQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0K
fCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFE
RVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNO
VExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
Lw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNs
dWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBp
bmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGlu
Y2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlm
IEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2Vu
ZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01F
TU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8
c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxz
dHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8
aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUg
PHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAj
IGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2luY2x1ZGUgPGludmVudC5oPg0KY29u
ZmlndXJlOjI0NzQ4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MjQ3NTI6IGNoZWNraW5nIGludmVu
dC5oIHByZXNlbmNlDQpjb25maWd1cmU6MjQ3NjI6IGdjYyAtRSAgY29uZnRlc3QuYw0KY29uZnRl
c3QuYzozMToyMDogaW52ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNDQpjb25maWd1
cmU6MjQ3Njg6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNv
bmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQu
Mi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0Ug
ImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8
ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8
ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFW
RV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lU
SF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZM
T0FUX0ggMQ0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8ICNpbmNsdWRlIDxpbnZlbnQuaD4N
CmNvbmZpZ3VyZToyNDc4ODogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0ODIzOiBjaGVja2luZyBm
b3IgaW52ZW50LmgNCmNvbmZpZ3VyZToyNDgzMDogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzA3
OiBjaGVja2luZyBsYW5naW5mby5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjI0NzE5OiBnY2MgLWMg
LU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI0NzI1OiAkPyA9IDANCmNvbmZpZ3VyZToy
NDcyOTogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6
MjQ3MzI6ICQ/ID0gMA0KY29uZmlndXJlOjI0NzM1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZp
Z3VyZToyNDczODogJD8gPSAwDQpjb25maWd1cmU6MjQ3NDg6IHJlc3VsdDogeWVzDQpjb25maWd1
cmU6MjQ3NTI6IGNoZWNraW5nIGxhbmdpbmZvLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToyNDc2Mjog
Z2NjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0gMA0KY29uZmlndXJlOjI0
Nzg4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0ODIzOiBjaGVja2luZyBmb3IgbGFuZ2luZm8u
aA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2lu
ZyBsb2NhbGUuaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToyNDcxOTogZ2NjIC1jIC1PMyAgY29uZnRl
c3QuYyA+JjUNCmNvbmZpZ3VyZToyNDcyNTogJD8gPSAwDQpjb25maWd1cmU6MjQ3Mjk6IHRlc3Qg
LXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI0NzMyOiAkPyA9
IDANCmNvbmZpZ3VyZToyNDczNTogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjQ3Mzg6
ICQ/ID0gMA0KY29uZmlndXJlOjI0NzQ4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0NzUyOiBj
aGVja2luZyBsb2NhbGUuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjI0NzYyOiBnY2MgLUUgIGNvbmZ0
ZXN0LmMNCmNvbmZpZ3VyZToyNDc2ODogJD8gPSAwDQpjb25maWd1cmU6MjQ3ODg6IHJlc3VsdDog
eWVzDQpjb25maWd1cmU6MjQ4MjM6IGNoZWNraW5nIGZvciBsb2NhbGUuaA0KY29uZmlndXJlOjI0
ODMwOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBubF90eXBlcy5oIHVz
YWJpbGl0eQ0KY29uZmlndXJlOjI0NzE5OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29u
ZnRlc3QuYzo2NzoyMjogbmxfdHlwZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0NCmNv
bmZpZ3VyZToyNDcyNTogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwg
LyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0K
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP
TiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiINCnwgI2Rl
ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUgUEFD
S0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZU
IDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9UT1RZUEVT
IDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEN
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwg
I2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmlu
ZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgVElN
RV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmluZSBIQVZF
X0xPQ0FMRV9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8u
aD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwg
I2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0K
fCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAj
IGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAg
aW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklO
R19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUg
PG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0K
fCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0K
fCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UN
CnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlm
DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0K
fCAjZW5kaWYNCnwgI2luY2x1ZGUgPG5sX3R5cGVzLmg+DQpjb25maWd1cmU6MjQ3NDg6IHJlc3Vs
dDogbm8NCmNvbmZpZ3VyZToyNDc1MjogY2hlY2tpbmcgbmxfdHlwZXMuaCBwcmVzZW5jZQ0KY29u
ZmlndXJlOjI0NzYyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZ0ZXN0LmM6MzM6MjI6IG5sX3R5
cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNDQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0g
MQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0K
fCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RB
Uk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmlu
ZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9I
T1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9U
T1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwg
I2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8
ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPG5sX3R5cGVzLmg+DQpjb25maWd1cmU6MjQ3
ODg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNDgyMzogY2hlY2tpbmcgZm9yIG5sX3R5cGVzLmgN
CmNvbmZpZ3VyZToyNDgzMDogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBz
eXMvYXR0cmlidXRlcy5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjI0NzE5OiBnY2MgLWMgLU8zICBj
b25mdGVzdC5jID4mNQ0KY29uZnRlc3QuYzo2NzoyODogc3lzL2F0dHJpYnV0ZXMuaDogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQ0NCmNvbmZpZ3VyZToyNDcyNTogJD8gPSAxDQpjb25maWd1cmU6
IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0K
fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ
TkcgIkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NA
c3dveC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQu
Mi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2Jl
IDENCnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENf
SEVBREVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZF
X0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5H
SU5GT19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmgu
ICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBp
bmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwg
IyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAj
IGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAj
IGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwg
I2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZF
X01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVk
ZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRl
IDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVk
ZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1
ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0K
fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2luY2x1ZGUgPHN5cy9hdHRyaWJ1
dGVzLmg+DQpjb25maWd1cmU6MjQ3NDg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNDc1MjogY2hl
Y2tpbmcgc3lzL2F0dHJpYnV0ZXMuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjI0NzYyOiBnY2MgLUUg
IGNvbmZ0ZXN0LmMNCmNvbmZ0ZXN0LmM6MzM6Mjg6IHN5cy9hdHRyaWJ1dGVzLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkNDQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0gMQ0KY29uZmlndXJlOiBm
YWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwg
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
ICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3
b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIu
MiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAx
DQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hF
QURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9G
Q05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lO
Rk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8NCnwgI2luY2x1ZGUgPHN5cy9hdHRyaWJ1dGVzLmg+DQpjb25maWd1cmU6MjQ3ODg6IHJlc3Vs
dDogbm8NCmNvbmZpZ3VyZToyNDgyMzogY2hlY2tpbmcgZm9yIHN5cy9hdHRyaWJ1dGVzLmgNCmNv
bmZpZ3VyZToyNDgzMDogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBzeXMv
aW9ncmFwaC5oIHVzYWJpbGl0eQ0KY29uZmlndXJlOjI0NzE5OiBnY2MgLWMgLU8zICBjb25mdGVz
dC5jID4mNQ0KY29uZnRlc3QuYzo2NzoyNTogc3lzL2lvZ3JhcGguaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQ0NCmNvbmZpZ3VyZToyNDcyNTogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0Vf
TkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5l
IFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBN
UCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20i
DQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAj
ZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2Rl
ZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NU
RElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklO
R19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
DQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEN
CnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAj
aW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxz
eXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRl
IDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUg
PHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVf
U1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8
ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9I
DQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5n
Lmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdz
Lmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlw
ZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGlu
dC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1
ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2luY2x1ZGUgPHN5cy9pb2dyYXBoLmg+DQpjb25m
aWd1cmU6MjQ3NDg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNDc1MjogY2hlY2tpbmcgc3lzL2lv
Z3JhcGguaCBwcmVzZW5jZQ0KY29uZmlndXJlOjI0NzYyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCmNv
bmZ0ZXN0LmM6MzM6MjU6IHN5cy9pb2dyYXBoLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkN
DQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBN
UCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5l
IFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5U
X0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9U
WVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
DQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8
ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5l
IFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmlu
ZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUg
SEFWRV9MT0NBTEVfSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN5
cy9pb2dyYXBoLmg+DQpjb25maWd1cmU6MjQ3ODg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNDgy
MzogY2hlY2tpbmcgZm9yIHN5cy9pb2dyYXBoLmgNCmNvbmZpZ3VyZToyNDgzMDogcmVzdWx0OiBu
bw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBzeXMvbW1hbi5oIHVzYWJpbGl0eQ0KY29uZmln
dXJlOjI0NzE5OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI0NzI1OiAk
PyA9IDANCmNvbmZpZ3VyZToyNDcyOTogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl
c3QuZXJyDQpjb25maWd1cmU6MjQ3MzI6ICQ/ID0gMA0KY29uZmlndXJlOjI0NzM1OiB0ZXN0IC1z
IGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNDczODogJD8gPSAwDQpjb25maWd1cmU6MjQ3NDg6IHJl
c3VsdDogeWVzDQpjb25maWd1cmU6MjQ3NTI6IGNoZWNraW5nIHN5cy9tbWFuLmggcHJlc2VuY2UN
CmNvbmZpZ3VyZToyNDc2MjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MjQ3Njg6ICQ/
ID0gMA0KY29uZmlndXJlOjI0Nzg4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0ODIzOiBjaGVj
a2luZyBmb3Igc3lzL21tYW4uaA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6IHllcw0KY29uZmln
dXJlOjI0NzA3OiBjaGVja2luZyBzeXMvcGFyYW0uaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToyNDcx
OTogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToyNDcyNTogJD8gPSAwDQpj
b25maWd1cmU6MjQ3Mjk6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0K
Y29uZmlndXJlOjI0NzMyOiAkPyA9IDANCmNvbmZpZ3VyZToyNDczNTogdGVzdCAtcyBjb25mdGVz
dC5vDQpjb25maWd1cmU6MjQ3Mzg6ICQ/ID0gMA0KY29uZmlndXJlOjI0NzQ4OiByZXN1bHQ6IHll
cw0KY29uZmlndXJlOjI0NzUyOiBjaGVja2luZyBzeXMvcGFyYW0uaCBwcmVzZW5jZQ0KY29uZmln
dXJlOjI0NzYyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToyNDc2ODogJD8gPSAwDQpj
b25maWd1cmU6MjQ3ODg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjQ4MjM6IGNoZWNraW5nIGZv
ciBzeXMvcGFyYW0uaA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0
NzA3OiBjaGVja2luZyBzeXMvcHJvY2Vzc29yLmggdXNhYmlsaXR5DQpjb25maWd1cmU6MjQ3MTk6
IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOjY5OjI3OiBzeXMvcHJvY2Vz
c29yLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNDQpjb25maWd1cmU6MjQ3MjU6ICQ/ID0g
MQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0K
fCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RB
Uk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmlu
ZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9I
T1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9U
T1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwg
I2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8
ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgLyog
ZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lT
X1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZF
X1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNU
RENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o
Pg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+
DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENf
SEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVu
ZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdT
X0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBF
U19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElO
VF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYg
SEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2luY2x1
ZGUgPHN5cy9wcm9jZXNzb3IuaD4NCmNvbmZpZ3VyZToyNDc0ODogcmVzdWx0OiBubw0KY29uZmln
dXJlOjI0NzUyOiBjaGVja2luZyBzeXMvcHJvY2Vzc29yLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToy
NDc2MjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25mdGVzdC5jOjM1OjI3OiBzeXMvcHJvY2Vzc29y
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNDQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0gMQ0K
Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCAN
CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBB
Q0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
ImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBW
RVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NU
X0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZ
UEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNk
ZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUg
SEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgLyogZW5k
IGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3lzL3Byb2Nlc3Nvci5oPg0KY29uZmlndXJl
OjI0Nzg4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MjQ4MjM6IGNoZWNraW5nIGZvciBzeXMvcHJv
Y2Vzc29yLmgNCmNvbmZpZ3VyZToyNDgzMDogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzA3OiBj
aGVja2luZyBzeXMvcHN0YXQuaCB1c2FiaWxpdHkNCmNvbmZpZ3VyZToyNDcxOTogZ2NjIC1jIC1P
MyAgY29uZnRlc3QuYyA+JjUNCmNvbmZ0ZXN0LmM6Njk6MjM6IHN5cy9wc3RhdC5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5DQ0KY29uZmlndXJlOjI0NzI1OiAkPyA9IDENCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUg
UEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8
ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO
RyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bz
d294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4y
LjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUg
MQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2Rl
ZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19I
RUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVf
RkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJ
TkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01N
QU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5o
LiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMg
aW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8
ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwg
IyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwg
IyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8
ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFW
RV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1
ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVk
ZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1
ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNs
dWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gN
CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2VuZGlmDQp8ICNpbmNsdWRlIDxzeXMvcHN0YXQu
aD4NCmNvbmZpZ3VyZToyNDc0ODogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzUyOiBjaGVja2lu
ZyBzeXMvcHN0YXQuaCBwcmVzZW5jZQ0KY29uZmlndXJlOjI0NzYyOiBnY2MgLUUgIGNvbmZ0ZXN0
LmMNCmNvbmZ0ZXN0LmM6MzU6MjM6IHN5cy9wc3RhdC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5DQ0KY29uZmlndXJlOjI0NzY4OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH
TlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FH
RV9WRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4y
Ig0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2Rl
ZmluZSBQQUNLQUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUg
V0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBS
T1RPVFlQRVMgMQ0KfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFE
RVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2Rl
ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9GTE9BVF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfTE9DQUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfUEFSQU1fSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1
ZGUgPHN5cy9wc3RhdC5oPg0KY29uZmlndXJlOjI0Nzg4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6
MjQ4MjM6IGNoZWNraW5nIGZvciBzeXMvcHN0YXQuaA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6
IG5vDQpjb25maWd1cmU6MjQ3MDc6IGNoZWNraW5nIHN5cy9zeXNpbmZvLmggdXNhYmlsaXR5DQpj
b25maWd1cmU6MjQ3MTk6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOjY5
OjI1OiBzeXMvc3lzaW5mby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQ0KY29uZmlndXJl
OjI0NzI1OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25m
ZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIu
MiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBB
Q0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJn
bXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAj
ZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAj
ZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmlu
ZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
RExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhf
U1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9B
VF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxF
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS
QU1fSCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8
ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRp
Zg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2Vu
ZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNs
dWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1
ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0K
fCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1v
cnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lm
IEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lm
IEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMg
aWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAj
ZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2Vu
ZGlmDQp8ICNpbmNsdWRlIDxzeXMvc3lzaW5mby5oPg0KY29uZmlndXJlOjI0NzQ4OiByZXN1bHQ6
IG5vDQpjb25maWd1cmU6MjQ3NTI6IGNoZWNraW5nIHN5cy9zeXNpbmZvLmggcHJlc2VuY2UNCmNv
bmZpZ3VyZToyNDc2MjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25mdGVzdC5jOjM1OjI1OiBzeXMv
c3lzaW5mby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQ0KY29uZmlndXJlOjI0NzY4OiAk
PyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5oLiAg
Ki8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FH
RV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIuMiINCnwgI2Rl
ZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVH
UkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJnbXAiDQp8ICNk
ZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhB
VkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIF9f
UFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVN
T1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx
DQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg
MQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDENCnwg
I2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxDQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN5cy9zeXNpbmZvLmg+DQpjb25m
aWd1cmU6MjQ3ODg6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNDgyMzogY2hlY2tpbmcgZm9yIHN5
cy9zeXNpbmZvLmgNCmNvbmZpZ3VyZToyNDgzMDogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzA3
OiBjaGVja2luZyBzeXMvc3lzc2dpLmggdXNhYmlsaXR5DQpjb25maWd1cmU6MjQ3MTk6IGdjYyAt
YyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOjY5OjI0OiBzeXMvc3lzc2dpLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNDQpjb25maWd1cmU6MjQ3MjU6ICQ/ID0gMQ0KY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2Rl
ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdt
cCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf
U1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1i
dWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9O
ICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9w
cGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEN
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBT
VERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUg
SEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
TEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
WVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gN
CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFU
X0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVS
Uw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxz
ZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5k
aWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAm
JiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMg
aW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBp
bmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMg
aW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMg
IGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklT
VERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2luY2x1ZGUgPHN5cy9z
eXNzZ2kuaD4NCmNvbmZpZ3VyZToyNDc0ODogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzUyOiBj
aGVja2luZyBzeXMvc3lzc2dpLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToyNDc2MjogZ2NjIC1FICBj
b25mdGVzdC5jDQpjb25mdGVzdC5jOjM1OjI0OiBzeXMvc3lzc2dpLmg6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkNDQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQg
cHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdF
X05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmlu
ZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg
TVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29t
Ig0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwg
I2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNk
ZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBT
VERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I
IDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAx
DQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0K
fCAjaW5jbHVkZSA8c3lzL3N5c3NnaS5oPg0KY29uZmlndXJlOjI0Nzg4OiByZXN1bHQ6IG5vDQpj
b25maWd1cmU6MjQ4MjM6IGNoZWNraW5nIGZvciBzeXMvc3lzc2dpLmgNCmNvbmZpZ3VyZToyNDgz
MDogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBzeXMvc3lzdGVtY2ZnLmgg
dXNhYmlsaXR5DQpjb25maWd1cmU6MjQ3MTk6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpj
b25mdGVzdC5jOjY5OjI3OiBzeXMvc3lzdGVtY2ZnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkNDQpjb25maWd1cmU6MjQ3MjU6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO
VSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIi
DQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVm
aW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBX
QU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJP
VE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURF
UlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
SCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
DQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8
ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVm
aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2Rl
ZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZp
bmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmlu
ZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVk
ZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlw
ZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMv
c3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxp
Yi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElC
X0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBI
QVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMg
IGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8
ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8
ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4N
CnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0K
fCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVu
aXN0ZC5oPg0KfCAjZW5kaWYNCnwgI2luY2x1ZGUgPHN5cy9zeXN0ZW1jZmcuaD4NCmNvbmZpZ3Vy
ZToyNDc0ODogcmVzdWx0OiBubw0KY29uZmlndXJlOjI0NzUyOiBjaGVja2luZyBzeXMvc3lzdGVt
Y2ZnLmggcHJlc2VuY2UNCmNvbmZpZ3VyZToyNDc2MjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25m
dGVzdC5jOjM1OjI3OiBzeXMvc3lzdGVtY2ZnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkN
DQpjb25maWd1cmU6MjQ3Njg6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBN
UCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5l
IFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5U
X0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9U
WVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
DQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8
ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5l
IFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmlu
ZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUg
SEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBI
QVZFX1NZU19QQVJBTV9IIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8
c3lzL3N5c3RlbWNmZy5oPg0KY29uZmlndXJlOjI0Nzg4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6
MjQ4MjM6IGNoZWNraW5nIGZvciBzeXMvc3lzdGVtY2ZnLmgNCmNvbmZpZ3VyZToyNDgzMDogcmVz
dWx0OiBubw0KY29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBzeXMvdGltZS5oIHVzYWJpbGl0eQ0K
Y29uZmlndXJlOjI0NzE5OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI0
NzI1OiAkPyA9IDANCmNvbmZpZ3VyZToyNDcyOTogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMg
Y29uZnRlc3QuZXJyDQpjb25maWd1cmU6MjQ3MzI6ICQ/ID0gMA0KY29uZmlndXJlOjI0NzM1OiB0
ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNDczODogJD8gPSAwDQpjb25maWd1cmU6MjQ3
NDg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjQ3NTI6IGNoZWNraW5nIHN5cy90aW1lLmggcHJl
c2VuY2UNCmNvbmZpZ3VyZToyNDc2MjogZ2NjIC1FICBjb25mdGVzdC5jDQpjb25maWd1cmU6MjQ3
Njg6ICQ/ID0gMA0KY29uZmlndXJlOjI0Nzg4OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI0ODIz
OiBjaGVja2luZyBmb3Igc3lzL3RpbWUuaA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6IHllcw0K
Y29uZmlndXJlOjI0NzA3OiBjaGVja2luZyBzeXMvdGltZXMuaCB1c2FiaWxpdHkNCmNvbmZpZ3Vy
ZToyNDcxOTogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToyNDcyNTogJD8g
PSAwDQpjb25maWd1cmU6MjQ3Mjk6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0
LmVycg0KY29uZmlndXJlOjI0NzMyOiAkPyA9IDANCmNvbmZpZ3VyZToyNDczNTogdGVzdCAtcyBj
b25mdGVzdC5vDQpjb25maWd1cmU6MjQ3Mzg6ICQ/ID0gMA0KY29uZmlndXJlOjI0NzQ4OiByZXN1
bHQ6IHllcw0KY29uZmlndXJlOjI0NzUyOiBjaGVja2luZyBzeXMvdGltZXMuaCBwcmVzZW5jZQ0K
Y29uZmlndXJlOjI0NzYyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMNCmNvbmZpZ3VyZToyNDc2ODogJD8g
PSAwDQpjb25maWd1cmU6MjQ3ODg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjQ4MjM6IGNoZWNr
aW5nIGZvciBzeXMvdGltZXMuaA0KY29uZmlndXJlOjI0ODMwOiByZXN1bHQ6IHllcw0KY29uZmln
dXJlOjI0ODQ5OiBjaGVja2luZyBmb3Igc3lzL3Jlc291cmNlLmgNCmNvbmZpZ3VyZToyNDg3NDog
Z2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToyNDg4MDogJD8gPSAwDQpjb25m
aWd1cmU6MjQ4ODQ6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29u
ZmlndXJlOjI0ODg3OiAkPyA9IDANCmNvbmZpZ3VyZToyNDg5MDogdGVzdCAtcyBjb25mdGVzdC5v
DQpjb25maWd1cmU6MjQ4OTM6ICQ/ID0gMA0KY29uZmlndXJlOjI0OTA0OiByZXN1bHQ6IHllcw0K
Y29uZmlndXJlOjI0OTIxOiBjaGVja2luZyBmb3Igc3lzL3N5c2N0bC5oDQpjb25maWd1cmU6MjQ5
Mzk6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOjQyOjI0OiBzeXMvc3lz
Y3RsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNDQpjb25maWd1cmU6MjQ5NDU6ICQ/ID0g
MQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0K
fCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RB
Uk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmlu
ZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9I
T1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9U
T1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwg
I2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8
ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgI2Rl
ZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8
ICNpZiBIQVZFX1NZU19QQVJBTV9IDQp8ICMgaW5jbHVkZSA8c3lzL3BhcmFtLmg+DQp8ICNlbmRp
Zg0KfCANCnwgI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4NCmNvbmZpZ3VyZToyNDk2OTogcmVzdWx0
OiBubw0KY29uZmlndXJlOjI0OTg2OiBjaGVja2luZyBmb3IgbWFjaGluZS9oYWxfc3lzaW5mby5o
DQpjb25maWd1cmU6MjUwMDQ6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5j
OjQyOjMzOiBtYWNoaW5lL2hhbF9zeXNpbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkN
DQpjb25maWd1cmU6MjUwMTA6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBN
UCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5l
IFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5U
X0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9U
WVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
DQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8
ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5l
IFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmlu
ZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUg
SEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBI
QVZFX1NZU19QQVJBTV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1lTX1RJTUVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAv
KiBlbmQgY29uZmRlZnMuaC4gICovDQp8ICNpZiBIQVZFX1NZU19TWVNJTkZPX0gNCnwgIyBpbmNs
dWRlIDxzeXMvc3lzaW5mby5oPg0KfCAjZW5kaWYNCnwgDQp8ICNpbmNsdWRlIDxtYWNoaW5lL2hh
bF9zeXNpbmZvLmg+DQpjb25maWd1cmU6MjUwMzQ6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNTA1
NzogY2hlY2tpbmcgd2hldGhlciBmZ2V0YyBpcyBkZWNsYXJlZA0KY29uZmlndXJlOjI1MDgxOiBn
Y2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI1MDg3OiAkPyA9IDANCmNvbmZp
Z3VyZToyNTA5MTogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25m
aWd1cmU6MjUwOTQ6ICQ/ID0gMA0KY29uZmlndXJlOjI1MDk3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8N
CmNvbmZpZ3VyZToyNTEwMDogJD8gPSAwDQpjb25maWd1cmU6MjUxMTE6IHJlc3VsdDogeWVzDQpj
b25maWd1cmU6MjUxMjc6IGNoZWNraW5nIHdoZXRoZXIgZnNjYW5mIGlzIGRlY2xhcmVkDQpjb25m
aWd1cmU6MjUxNTE6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MjUxNTc6
ICQ/ID0gMA0KY29uZmlndXJlOjI1MTYxOiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25m
dGVzdC5lcnINCmNvbmZpZ3VyZToyNTE2NDogJD8gPSAwDQpjb25maWd1cmU6MjUxNjc6IHRlc3Qg
LXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjI1MTcwOiAkPyA9IDANCmNvbmZpZ3VyZToyNTE4MTog
cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNTE5NzogY2hlY2tpbmcgd2hldGhlciBvcHRhcmcgaXMg
ZGVjbGFyZWQNCmNvbmZpZ3VyZToyNTIyMTogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNv
bmZpZ3VyZToyNTIyNzogJD8gPSAwDQpjb25maWd1cmU6MjUyMzE6IHRlc3QgLXogDQoJCQkgfHwg
dGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI1MjM0OiAkPyA9IDANCmNvbmZpZ3Vy
ZToyNTIzNzogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjUyNDA6ICQ/ID0gMA0KY29u
ZmlndXJlOjI1MjUxOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI1MjY3OiBjaGVja2luZyB3aGV0
aGVyIHVuZ2V0YyBpcyBkZWNsYXJlZA0KY29uZmlndXJlOjI1MjkxOiBnY2MgLWMgLU8zICBjb25m
dGVzdC5jID4mNQ0KY29uZmlndXJlOjI1Mjk3OiAkPyA9IDANCmNvbmZpZ3VyZToyNTMwMTogdGVz
dCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MjUzMDQ6ICQ/
ID0gMA0KY29uZmlndXJlOjI1MzA3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNTMx
MDogJD8gPSAwDQpjb25maWd1cmU6MjUzMjE6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjUzMzc6
IGNoZWNraW5nIHdoZXRoZXIgdmZwcmludGYgaXMgZGVjbGFyZWQNCmNvbmZpZ3VyZToyNTM2MTog
Z2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToyNTM2NzogJD8gPSAwDQpjb25m
aWd1cmU6MjUzNzE6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29u
ZmlndXJlOjI1Mzc0OiAkPyA9IDANCmNvbmZpZ3VyZToyNTM3NzogdGVzdCAtcyBjb25mdGVzdC5v
DQpjb25maWd1cmU6MjUzODA6ICQ/ID0gMA0KY29uZmlndXJlOjI1MzkxOiByZXN1bHQ6IHllcw0K
Y29uZmlndXJlOjI1NDA5OiBjaGVja2luZyB3aGV0aGVyIHN5c19lcnJsaXN0IGlzIGRlY2xhcmVk
DQpjb25maWd1cmU6MjU0MzU6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6
MjU0NDE6ICQ/ID0gMA0KY29uZmlndXJlOjI1NDQ1OiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAt
cyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZToyNTQ0ODogJD8gPSAwDQpjb25maWd1cmU6MjU0NTE6
IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjI1NDU0OiAkPyA9IDANCmNvbmZpZ3VyZToy
NTQ2NTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNTQ4MTogY2hlY2tpbmcgd2hldGhlciBzeXNf
bmVyciBpcyBkZWNsYXJlZA0KY29uZmlndXJlOjI1NTA3OiBnY2MgLWMgLU8zICBjb25mdGVzdC5j
ID4mNQ0KY29uZmlndXJlOjI1NTEzOiAkPyA9IDANCmNvbmZpZ3VyZToyNTUxNzogdGVzdCAteiAN
CgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MjU1MjA6ICQ/ID0gMA0K
Y29uZmlndXJlOjI1NTIzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNTUyNjogJD8g
PSAwDQpjb25maWd1cmU6MjU1Mzc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjU1NTY6IGNoZWNr
aW5nIHJldHVybiB0eXBlIG9mIHNpZ25hbCBoYW5kbGVycw0KY29uZmlndXJlOjI1NTg3OiBnY2Mg
LWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI1NTkzOiAkPyA9IDANCmNvbmZpZ3Vy
ZToyNTU5NzogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1
cmU6MjU2MDA6ICQ/ID0gMA0KY29uZmlndXJlOjI1NjAzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNv
bmZpZ3VyZToyNTYwNjogJD8gPSAwDQpjb25maWd1cmU6MjU2MTc6IHJlc3VsdDogdm9pZA0KY29u
ZmlndXJlOjI1NjM2OiBjaGVja2luZyBmb3IgaW50bWF4X3QNCmNvbmZpZ3VyZToyNTY2MDogZ2Nj
IC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToyNTY2NjogJD8gPSAwDQpjb25maWd1
cmU6MjU2NzA6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmln
dXJlOjI1NjczOiAkPyA9IDANCmNvbmZpZ3VyZToyNTY3NjogdGVzdCAtcyBjb25mdGVzdC5vDQpj
b25maWd1cmU6MjU2Nzk6ICQ/ID0gMA0KY29uZmlndXJlOjI1NjkwOiByZXN1bHQ6IHllcw0KY29u
ZmlndXJlOjI1NzAwOiBjaGVja2luZyBmb3IgbG9uZyBkb3VibGUNCmNvbmZpZ3VyZToyNTcyNDog
Z2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToyNTczMDogJD8gPSAwDQpjb25m
aWd1cmU6MjU3MzQ6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29u
ZmlndXJlOjI1NzM3OiAkPyA9IDANCmNvbmZpZ3VyZToyNTc0MDogdGVzdCAtcyBjb25mdGVzdC5v
DQpjb25maWd1cmU6MjU3NDM6ICQ/ID0gMA0KY29uZmlndXJlOjI1NzU0OiByZXN1bHQ6IHllcw0K
Y29uZmlndXJlOjI1NzY0OiBjaGVja2luZyBmb3IgbG9uZyBsb25nDQpjb25maWd1cmU6MjU3ODg6
IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MjU3OTQ6ICQ/ID0gMA0KY29u
ZmlndXJlOjI1Nzk4OiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNv
bmZpZ3VyZToyNTgwMTogJD8gPSAwDQpjb25maWd1cmU6MjU4MDQ6IHRlc3QgLXMgY29uZnRlc3Qu
bw0KY29uZmlndXJlOjI1ODA3OiAkPyA9IDANCmNvbmZpZ3VyZToyNTgxODogcmVzdWx0OiB5ZXMN
CmNvbmZpZ3VyZToyNTgyODogY2hlY2tpbmcgZm9yIHB0cmRpZmZfdA0KY29uZmlndXJlOjI1ODUy
OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI1ODU4OiAkPyA9IDANCmNv
bmZpZ3VyZToyNTg2MjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpj
b25maWd1cmU6MjU4NjU6ICQ/ID0gMA0KY29uZmlndXJlOjI1ODY4OiB0ZXN0IC1zIGNvbmZ0ZXN0
Lm8NCmNvbmZpZ3VyZToyNTg3MTogJD8gPSAwDQpjb25maWd1cmU6MjU4ODI6IHJlc3VsdDogeWVz
DQpjb25maWd1cmU6MjU4OTI6IGNoZWNraW5nIGZvciBxdWFkX3QNCmNvbmZpZ3VyZToyNTkxNjog
Z2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWlu
JzoNDQpjb25mdGVzdC5jOjg3OiBlcnJvcjogYHF1YWRfdCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNl
IGluIHRoaXMgZnVuY3Rpb24pDQ0KY29uZnRlc3QuYzo4NzogZXJyb3I6IChFYWNoIHVuZGVjbGFy
ZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UNDQpjb25mdGVzdC5jOjg3OiBlcnJv
cjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pDQ0KY29uZnRlc3QuYzo4NzogZXJy
b3I6IHBhcnNlIGVycm9yIGJlZm9yZSAnKScgdG9rZW4NDQpjb25maWd1cmU6MjU5MjI6ICQ/ID0g
MQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0K
fCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RB
Uk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmlu
ZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9I
T1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9U
T1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwg
I2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8
ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgI2Rl
ZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUQyAx
DQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFS
RyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZG
UFJJTlRGIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVmaW5lIEhB
VkVfREVDTF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNkZWZpbmUg
SEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNkZWZpbmUg
SEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgLyogZW5kIGNv
bmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lTX1RZUEVT
X0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NZU19T
VEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNURENfSEVB
REVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPg0KfCAj
ZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMg
ZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENfSEVBREVS
UyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVuZGlmDQp8
ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdTX0gNCnwg
IyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBFU19IDQp8
ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElOVF9IDQp8
ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9V
TklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgaW50DQp8IG1haW4g
KCkNCnwgew0KfCBpZiAoKHF1YWRfdCAqKSAwKQ0KfCAgIHJldHVybiAwOw0KfCBpZiAoc2l6ZW9m
IChxdWFkX3QpKQ0KfCAgIHJldHVybiAwOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29u
ZmlndXJlOjI1OTQ2OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MjU5NTY6IGNoZWNraW5nIGZvciB1
aW50X2xlYXN0MzJfdA0KY29uZmlndXJlOjI1OTgwOiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4m
NQ0KY29uZmlndXJlOjI1OTg2OiAkPyA9IDANCmNvbmZpZ3VyZToyNTk5MDogdGVzdCAteiANCgkJ
CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MjU5OTM6ICQ/ID0gMA0KY29u
ZmlndXJlOjI1OTk2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNTk5OTogJD8gPSAw
DQpjb25maWd1cmU6MjYwMTA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjYwMjI6IGNoZWNraW5n
IGZvciBwcmVwcm9jZXNzb3Igc3RyaW5naXppbmcgb3BlcmF0b3INCmNvbmZpZ3VyZToyNjA0Njog
cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNjA2MDogY2hlY2tpbmcgZm9yIHdvcmtpbmcgdm9sYXRp
bGUNCmNvbmZpZ3VyZToyNjA4MzogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3Vy
ZToyNjA4OTogJD8gPSAwDQpjb25maWd1cmU6MjYwOTM6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAh
IC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI2MDk2OiAkPyA9IDANCmNvbmZpZ3VyZToyNjA5
OTogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjYxMDI6ICQ/ID0gMA0KY29uZmlndXJl
OjI2MTEzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI2MTI2OiBjaGVja2luZyB3aGV0aGVyIDxz
dGRhcmcuaD4gZXhpc3RzIGFuZCB3b3Jrcw0KY29uZmlndXJlOjI2MTU2OiBnY2MgLWMgLU8zICBj
b25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI2MTYyOiAkPyA9IDANCmNvbmZpZ3VyZToyNjE2Njog
dGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MjYxNjk6
ICQ/ID0gMA0KY29uZmlndXJlOjI2MTcyOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToy
NjE3NTogJD8gPSAwDQpjb25maWd1cmU6MjYxODc6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjYx
OTc6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIF9fYXR0cmlidXRlX18gKChjb25zdCkpIHdvcmtzDQpj
b25maWd1cmU6MjYyMTg6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MjYy
MjQ6ICQ/ID0gMA0KY29uZmlndXJlOjI2MjI4OiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBj
b25mdGVzdC5lcnINCmNvbmZpZ3VyZToyNjIzMTogJD8gPSAwDQpjb25maWd1cmU6MjYyMzQ6IHRl
c3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjI2MjM3OiAkPyA9IDANCmNvbmZpZ3VyZToyNjI0
OTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNjI1OTogY2hlY2tpbmcgd2hldGhlciBnY2MgX19h
dHRyaWJ1dGVfXyAoKG1hbGxvYykpIHdvcmtzDQpjb25maWd1cmU6MjYyNjg6IGdjYyAtTzMgIC1j
IGNvbmZ0ZXN0LmMgPmNvbmZ0ZXN0Lm91dCAyPiYxDQpjb25maWd1cmU6MjYyNzE6ICQ/ID0gMA0K
Y29uZmlndXJlOjI2Mjg1OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI2Mjk1OiBjaGVja2luZyB3
aGV0aGVyIGdjYyBfX2F0dHJpYnV0ZV9fICgobW9kZSAoWFgpKSkgd29ya3MNCmNvbmZpZ3VyZToy
NjMxNjogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToyNjMyMjogJD8gPSAw
DQpjb25maWd1cmU6MjYzMjY6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy
cg0KY29uZmlndXJlOjI2MzI5OiAkPyA9IDANCmNvbmZpZ3VyZToyNjMzMjogdGVzdCAtcyBjb25m
dGVzdC5vDQpjb25maWd1cmU6MjYzMzU6ICQ/ID0gMA0KY29uZmlndXJlOjI2MzQ3OiByZXN1bHQ6
IHllcw0KY29uZmlndXJlOjI2MzU3OiBjaGVja2luZyB3aGV0aGVyIGdjYyBfX2F0dHJpYnV0ZV9f
ICgobm9yZXR1cm4pKSB3b3Jrcw0KY29uZmlndXJlOjI2Mzc4OiBnY2MgLWMgLU8zICBjb25mdGVz
dC5jID4mNQ0KY29uZmlndXJlOjI2Mzg0OiAkPyA9IDANCmNvbmZpZ3VyZToyNjM4ODogdGVzdCAt
eiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MjYzOTE6ICQ/ID0g
MA0KY29uZmlndXJlOjI2Mzk0OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToyNjM5Nzog
JD8gPSAwDQpjb25maWd1cmU6MjY0MDk6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MjY0MjA6IGNo
ZWNraW5nIGZvciBpbmxpbmUNCmNvbmZpZ3VyZToyNjQ0MTogZ2NjIC1jIC1PMyAgY29uZnRlc3Qu
YyA+JjUNCmNvbmZpZ3VyZToyNjQ0NzogJD8gPSAwDQpjb25maWd1cmU6MjY0NTE6IHRlc3QgLXog
DQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI2NDU0OiAkPyA9IDAN
CmNvbmZpZ3VyZToyNjQ1NzogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MjY0NjA6ICQ/
ID0gMA0KY29uZmlndXJlOjI2NDcyOiByZXN1bHQ6IGlubGluZQ0KY29uZmlndXJlOjI2NTIyOiBn
Y2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI2NTI4OiAkPyA9IDANCmNvbmZp
Z3VyZToyNjUzMjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25m
aWd1cmU6MjY1MzU6ICQ/ID0gMA0KY29uZmlndXJlOjI2NTM4OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8N
CmNvbmZpZ3VyZToyNjU0MTogJD8gPSAwDQpjb25maWd1cmU6MjY3MDU6IGNoZWNraW5nIGZvciBj
b3MgaW4gLWxtDQpjb25maWd1cmU6MjY3MzU6IGdjYyAtbyBjb25mdGVzdC5leGUgLU8zICAgY29u
ZnRlc3QuYyAtbG0gICA+JjUNCmNvbmZ0ZXN0LmM6NjQ6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5
cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnY29zJw0NCmNvbmZpZ3VyZToyNjc0MTogJD8gPSAw
DQpjb25maWd1cmU6MjY3NDU6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy
cg0KY29uZmlndXJlOjI2NzQ4OiAkPyA9IDANCmNvbmZpZ3VyZToyNjc1MTogdGVzdCAtcyBjb25m
dGVzdC5leGUNCmNvbmZpZ3VyZToyNjc1NDogJD8gPSAwDQpjb25maWd1cmU6MjY3Njc6IHJlc3Vs
dDogeWVzDQpjb25maWd1cmU6MjY3ODA6IGNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oDQpj
b25maWd1cmU6MjY4MDE6IGdjYyAtbyBjb25mdGVzdC5leGUgLU8zICAgY29uZnRlc3QuYyAgPiY1
DQpjb25maWd1cmU6MjY4MDc6ICQ/ID0gMA0KY29uZmlndXJlOjI2ODExOiB0ZXN0IC16IA0KCQkJ
IHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZToyNjgxNDogJD8gPSAwDQpjb25m
aWd1cmU6MjY4MTc6IHRlc3QgLXMgY29uZnRlc3QuZXhlDQpjb25maWd1cmU6MjY4MjA6ICQ/ID0g
MA0KY29uZmlndXJlOjI2ODMyOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI2ODQzOiBjaGVja2lu
ZyBmb3IgYWxsb2NhICh2aWEgZ21wLWltcGwuaCkNCmNvbmZpZ3VyZToyNjg3MjogZ2NjIC1vIGNv
bmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZToyNjg3ODogJD8gPSAw
DQpjb25maWd1cmU6MjY4ODI6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy
cg0KY29uZmlndXJlOjI2ODg1OiAkPyA9IDANCmNvbmZpZ3VyZToyNjg4ODogdGVzdCAtcyBjb25m
dGVzdC5leGUNCmNvbmZpZ3VyZToyNjg5MTogJD8gPSAwDQpjb25maWd1cmU6MjY5MDM6IHJlc3Vs
dDogeWVzDQpjb25maWd1cmU6MjY5MTQ6IGNoZWNraW5nIGhvdyB0byBhbGxvY2F0ZSB0ZW1wb3Jh
cnkgbWVtb3J5DQpjb25maWd1cmU6MjY5Mzg6IHJlc3VsdDogYWxsb2NhDQpjb25maWd1cmU6Mjcw
MTU6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MjcwMjE6ICQ/ID0gMA0K
Y29uZmlndXJlOjI3MDI1OiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIN
CmNvbmZpZ3VyZToyNzAyODogJD8gPSAwDQpjb25maWd1cmU6MjcwMzE6IHRlc3QgLXMgY29uZnRl
c3Qubw0KY29uZmlndXJlOjI3MDM0OiAkPyA9IDANCmNvbmZpZ3VyZToyNzA0NzogY2hlY2tpbmcg
d2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbg0KY29uZmlndXJlOjI3MDc0OiBnY2Mg
LWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjI3MDgwOiAkPyA9IDANCmNvbmZpZ3Vy
ZToyNzA4NDogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1
cmU6MjcwODc6ICQ/ID0gMA0KY29uZmlndXJlOjI3MDkwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNv
bmZpZ3VyZToyNzA5MzogJD8gPSAwDQpjb25maWd1cmU6MjcxMTc6IGdjYyAtYyAtTzMgIGNvbmZ0
ZXN0LmMgPiY1DQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6DQ0KY29uZnRlc3QuYzo2
NzogZXJyb3I6IGBub3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0N
CmNvbmZ0ZXN0LmM6Njc6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVw
b3J0ZWQgb25seSBvbmNlDQ0KY29uZnRlc3QuYzo2NzogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9u
IGl0IGFwcGVhcnMgaW4uKQ0NCmNvbmZ0ZXN0LmM6Njc6IGVycm9yOiBwYXJzZSBlcnJvciBiZWZv
cmUgImJpZyINDQpjb25maWd1cmU6MjcxMjM6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJv
Z3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05B
TUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQ
QUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAg
NC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0K
fCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2Rl
ZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZp
bmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERD
X0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJ
TlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
SCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0K
fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEN
CnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8
ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwg
I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZT
Q0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNM
X1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZGUFJJTlRGIDENCnwgI2RlZmluZSBIQVZF
X0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8ICNk
ZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZp
bmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVm
aW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2RlZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDENCnwg
I2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAjZGVm
aW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NQUxM
T0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01PREUgMQ0KfCAjZGVmaW5lIEhBVkVfQVRU
UklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDENCnwgI2RlZmluZSBI
QVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FOVF9UTVBfQUxMT0NBIDENCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNpbmNsdWRlIDxzeXMvcGFy
YW0uaD4NCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgI2lmIEJZVEVfT1JERVIgIT0gQklH
X0VORElBTg0KfCAgbm90IGJpZyBlbmRpYW4NCnwgI2VuZGlmDQp8IA0KfCAgIDsNCnwgICByZXR1
cm4gMDsNCnwgfQ0KY29uZmlndXJlOjI3MjU4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MjcyODc6
IGNoZWNraW5nIGZvcm1hdCBvZiBgZG91YmxlJyBmbG9hdGluZyBwb2ludA0KY29uZmlndXJlOjI3
MzA1OiBnY2MgLU8zICAtYyBjb25mdGVzdC5jID4mNSAyPiYxDQpjb25maWd1cmU6MjczMDg6ICQ/
ID0gMA0KY29uZmlndXJlOjI3NDc1OiByZXN1bHQ6IElFRUUgbGl0dGxlIGVuZGlhbg0KY29uZmln
dXJlOjI3NjA1OiBjaGVja2luZyBmb3IgYWxhcm0NCmNvbmZpZ3VyZToyNzY2MjogZ2NjIC1vIGNv
bmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZToyNzY2ODogJD8gPSAw
DQpjb25maWd1cmU6Mjc2NzI6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy
cg0KY29uZmlndXJlOjI3Njc1OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3ODogdGVzdCAtcyBjb25m
dGVzdC5leGUNCmNvbmZpZ3VyZToyNzY4MTogJD8gPSAwDQpjb25maWd1cmU6Mjc2OTM6IHJlc3Vs
dDogeWVzDQpjb25maWd1cmU6Mjc2MDU6IGNoZWNraW5nIGZvciBhdHRyX2dldA0KY29uZmlndXJl
OjI3NjYyOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KL2N5Z2Ry
aXZlL2MvRE9DVU1FfjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1wL2NjdzhqMkNPLm86Y29uZnRl
c3QuYzooLnRleHQrMHgyMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9hdHRyX2dldCcNDQov
Y3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5CL0xPQ0FMU34xL1RlbXAvY2N3OGoyQ08ubzpj
b25mdGVzdC5jOiguZGF0YSsweDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfYXR0cl9nZXQn
DQ0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNDQpjb25maWd1cmU6Mjc2Njg6
ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmgu
ICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwg
I2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUg
SEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUg
X19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I
IDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
RSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9G
R0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNM
X09QVEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9E
RUNMX1ZGUFJJTlRGIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNk
ZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNk
ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2Rl
ZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8
ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDEN
CnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NQUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklC
VVRFX01PREUgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmlu
ZSBIQVZFX0FMTE9DQV9IIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FO
VF9UTVBfQUxMT0NBIDENCnwgI2RlZmluZSBIQVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNk
ZWZpbmUgSEFWRV9ET1VCTEVfSUVFRV9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FM
QVJNIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAvKiBEZWZpbmUgYXR0cl9nZXQgdG8g
YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBhdHRyX2dl
dC4NCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRp
bWVvZmRheS4gICovDQp8ICNkZWZpbmUgYXR0cl9nZXQgaW5ub2N1b3VzX2F0dHJfZ2V0DQp8IA0K
fCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg
ZmV3IHByb3RvdHlwZXMsDQp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGF0dHJf
Z2V0ICgpOyBiZWxvdy4NCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg
X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UNCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g
b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovDQp8IA0KfCAjaWZkZWYgX19TVERDX18NCnwg
IyBpbmNsdWRlIDxsaW1pdHMuaD4NCnwgI2Vsc2UNCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4NCnwg
I2VuZGlmDQp8IA0KfCAjdW5kZWYgYXR0cl9nZXQNCnwgDQp8IC8qIE92ZXJyaWRlIGFueSBnY2My
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQp8ICNpZmRlZiBfX2Nw
bHVzcGx1cw0KfCBleHRlcm4gIkMiDQp8IHsNCnwgI2VuZGlmDQp8IC8qIFdlIHVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8NCnwgY2hhciBhdHRyX2dldCAoKTsNCnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0
aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KfCAgICAgdG8gYWx3YXlzIGZh
aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCnwgICAg
IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp
YXMuICAqLw0KfCAjaWYgZGVmaW5lZCAoX19zdHViX2F0dHJfZ2V0KSB8fCBkZWZpbmVkIChfX3N0
dWJfX19hdHRyX2dldCkNCnwgY2hva2UgbWUNCnwgI2Vsc2UNCnwgY2hhciAoKmYpICgpID0gYXR0
cl9nZXQ7DQp8ICNlbmRpZg0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgfQ0KfCAjZW5kaWYNCnwg
DQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgcmV0dXJuIGYgIT0gYXR0cl9nZXQ7DQp8ICAgOw0K
fCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6Mjc2OTM6IHJlc3VsdDogbm8NCmNvbmZpZ3Vy
ZToyNzYwNTogY2hlY2tpbmcgZm9yIGNsb2NrDQpjb25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25m
dGVzdC5leGUgLU8zICAgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1cmU6Mjc2Njg6ICQ/ID0gMA0K
Y29uZmlndXJlOjI3NjcyOiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIN
CmNvbmZpZ3VyZToyNzY3NTogJD8gPSAwDQpjb25maWd1cmU6Mjc2Nzg6IHRlc3QgLXMgY29uZnRl
c3QuZXhlDQpjb25maWd1cmU6Mjc2ODE6ICQ/ID0gMA0KY29uZmlndXJlOjI3NjkzOiByZXN1bHQ6
IHllcw0KY29uZmlndXJlOjI3NjA1OiBjaGVja2luZyBmb3IgY2xvY2tfZ2V0dGltZQ0KY29uZmln
dXJlOjI3NjYyOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29u
ZmlndXJlOjI3NjY4OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3MjogdGVzdCAteiANCgkJCSB8fCB0
ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6Mjc2NzU6ICQ/ID0gMA0KY29uZmlndXJl
OjI3Njc4OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQ0KY29uZmlndXJlOjI3NjgxOiAkPyA9IDANCmNv
bmZpZ3VyZToyNzY5MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9y
IGNwdXRpbWUNCmNvbmZpZ3VyZToyNzY2MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25m
dGVzdC5jICA+JjUNCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL1ZDSU1+MS5JTkIvTE9DQUxTfjEvVGVt
cC9jYzZNRHlJQi5vOmNvbmZ0ZXN0LmM6KC50ZXh0KzB4MjApOiB1bmRlZmluZWQgcmVmZXJlbmNl
IHRvIGBfY3B1dGltZScNDQovY3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5CL0xPQ0FMU34x
L1RlbXAvY2M2TUR5SUIubzpjb25mdGVzdC5jOiguZGF0YSsweDApOiB1bmRlZmluZWQgcmVmZXJl
bmNlIHRvIGBfY3B1dGltZScNDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0N
CmNvbmZpZ3VyZToyNzY2ODogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoN
CnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1Q
Ig0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVS
U0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiINCnwg
I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUg
UEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRf
RkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9UT1RZ
UEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
DQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I
IDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEN
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8
ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwg
I2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2Rl
ZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUg
VElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmluZSBI
QVZFX0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNkZWZpbmUg
SEFWRV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5GIDENCnwg
I2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5HRVRDIDEN
CnwgI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNf
RVJSTElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmluZSBSRVRT
SUdUWVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBIQVZFX0xP
TkdfRE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUgSEFWRV9Q
VFJESUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVmaW5lIEhB
VkVfU1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUgSEFWRV9B
VFRSSUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAxDQp8ICNk
ZWZpbmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTk9S
RVRVUk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NB
IDENCnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElNQl9MSVRU
TEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJQU4gMQ0K
fCAjZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAjZGVmaW5l
IEhBVkVfQ0xPQ0tfR0VUVElNRSAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgLyogRGVm
aW5lIGNwdXRpbWUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBk
ZWNsYXJlcyBjcHV0aW1lLg0KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4g
ZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8NCnwgI2RlZmluZSBjcHV0aW1lIGlubm9jdW91c19j
cHV0aW1lDQp8IA0KfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu
ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0
aCBjaGFyIGNwdXRpbWUgKCk7IGJlbG93Lg0KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFz
c2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQ0KfCAgICAgPGxpbWl0cy5oPiBl
eGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8NCnwgDQp8ICNpZmRlZiBf
X1NURENfXw0KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPg0KfCAjZWxzZQ0KfCAjIGluY2x1ZGUgPGFz
c2VydC5oPg0KfCAjZW5kaWYNCnwgDQp8ICN1bmRlZiBjcHV0aW1lDQp8IA0KfCAvKiBPdmVycmlk
ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KfCAj
aWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJuICJDIg0KfCB7DQp8ICNlbmRpZg0KfCAvKiBXZSB1
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
DQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS4gICovDQp8IGNoYXIgY3B1dGltZSAoKTsNCnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg
ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KfCAgICAgdG8g
YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt
ZWQNCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg
aXMgYW4gYWxpYXMuICAqLw0KfCAjaWYgZGVmaW5lZCAoX19zdHViX2NwdXRpbWUpIHx8IGRlZmlu
ZWQgKF9fc3R1Yl9fX2NwdXRpbWUpDQp8IGNob2tlIG1lDQp8ICNlbHNlDQp8IGNoYXIgKCpmKSAo
KSA9IGNwdXRpbWU7DQp8ICNlbmRpZg0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgfQ0KfCAjZW5k
aWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgcmV0dXJuIGYgIT0gY3B1dGltZTsNCnwg
ICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiBubw0KY29u
ZmlndXJlOjI3NjA1OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUNCmNvbmZpZ3VyZToyNzY2Mjog
Z2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZToyNzY2
ODogJD8gPSAwDQpjb25maWd1cmU6Mjc2NzI6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNv
bmZ0ZXN0LmVycg0KY29uZmlndXJlOjI3Njc1OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3ODogdGVz
dCAtcyBjb25mdGVzdC5leGUNCmNvbmZpZ3VyZToyNzY4MTogJD8gPSAwDQpjb25maWd1cmU6Mjc2
OTM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6Mjc2MDU6IGNoZWNraW5nIGZvciBnZXRydXNhZ2UN
CmNvbmZpZ3VyZToyNzY2MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+
JjUNCmNvbmZpZ3VyZToyNzY2ODogJD8gPSAwDQpjb25maWd1cmU6Mjc2NzI6IHRlc3QgLXogDQoJ
CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI3Njc1OiAkPyA9IDANCmNv
bmZpZ3VyZToyNzY3ODogdGVzdCAtcyBjb25mdGVzdC5leGUNCmNvbmZpZ3VyZToyNzY4MTogJD8g
PSAwDQpjb25maWd1cmU6Mjc2OTM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6Mjc2MDU6IGNoZWNr
aW5nIGZvciBnZXR0aW1lb2ZkYXkNCmNvbmZpZ3VyZToyNzY2MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4
ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZToyNzY2ODogJD8gPSAwDQpjb25maWd1
cmU6Mjc2NzI6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmln
dXJlOjI3Njc1OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3ODogdGVzdCAtcyBjb25mdGVzdC5leGUN
CmNvbmZpZ3VyZToyNzY4MTogJD8gPSAwDQpjb25maWd1cmU6Mjc2OTM6IHJlc3VsdDogeWVzDQpj
b25maWd1cmU6Mjc2MDU6IGNoZWNraW5nIGZvciBnZXRzeXNpbmZvDQpjb25maWd1cmU6Mjc2NjI6
IGdjYyAtbyBjb25mdGVzdC5leGUgLU8zICAgY29uZnRlc3QuYyAgPiY1DQovY3lnZHJpdmUvYy9E
T0NVTUV+MS9WQ0lNfjEuSU5CL0xPQ0FMU34xL1RlbXAvY2MwMTRGcloubzpjb25mdGVzdC5jOigu
dGV4dCsweDIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2dldHN5c2luZm8nDQ0KL2N5Z2Ry
aXZlL2MvRE9DVU1FfjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1wL2NjMDE0RnJaLm86Y29uZnRl
c3QuYzooLmRhdGErMHgwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2dldHN5c2luZm8nDQ0K
Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNDQpjb25maWd1cmU6Mjc2Njg6ICQ/
ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAq
Lw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdF
X1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVm
aW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
RVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2Rl
ZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFW
RV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19Q
Uk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1P
UllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
RVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEN
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx
DQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwg
I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VU
QyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
VEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNM
X1ZGUFJJTlRGIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVmaW5l
IEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNkZWZp
bmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNkZWZp
bmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2RlZmlu
ZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8ICNk
ZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDENCnwg
I2RlZmluZSBIQVZFX0FUVFJJQlVURV9NQUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRF
X01PREUgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmluZSBI
QVZFX0FMTE9DQV9IIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FOVF9U
TVBfQUxMT0NBIDENCnwgI2RlZmluZSBIQVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNkZWZp
bmUgSEFWRV9ET1VCTEVfSUVFRV9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FMQVJN
IDENCnwgI2RlZmluZSBIQVZFX0NMT0NLIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUg
MQ0KfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdF
IDENCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8NCnwgLyogRGVmaW5lIGdldHN5c2luZm8gdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh
c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRzeXNpbmZvLg0KfCAgICBGb3IgZXhhbXBsZSwgSFAt
VVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8NCnwgI2RlZmluZSBn
ZXRzeXNpbmZvIGlubm9jdW91c19nZXRzeXNpbmZvDQp8IA0KfCAvKiBTeXN0ZW0gaGVhZGVyIHRv
IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQp8ICAg
ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldHN5c2luZm8gKCk7IGJlbG93Lg0KfCAg
ICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk
LCBzaW5jZQ0KfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t
cGlsZXJzLiAgKi8NCnwgDQp8ICNpZmRlZiBfX1NURENfXw0KfCAjIGluY2x1ZGUgPGxpbWl0cy5o
Pg0KfCAjZWxzZQ0KfCAjIGluY2x1ZGUgPGFzc2VydC5oPg0KfCAjZW5kaWYNCnwgDQp8ICN1bmRl
ZiBnZXRzeXNpbmZvDQp8IA0KfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJu
ICJDIg0KfCB7DQp8ICNlbmRpZg0KfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt
YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz
IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQp8IGNoYXIgZ2V0c3lz
aW5mbyAoKTsNCnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv
bnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu
ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCnwgICAgIHNvbWV0aGluZyBzdGFy
dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KfCAjaWYg
ZGVmaW5lZCAoX19zdHViX2dldHN5c2luZm8pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2dldHN5c2lu
Zm8pDQp8IGNob2tlIG1lDQp8ICNlbHNlDQp8IGNoYXIgKCpmKSAoKSA9IGdldHN5c2luZm87DQp8
ICNlbmRpZg0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgfQ0KfCAjZW5kaWYNCnwgDQp8IGludA0K
fCBtYWluICgpDQp8IHsNCnwgcmV0dXJuIGYgIT0gZ2V0c3lzaW5mbzsNCnwgICA7DQp8ICAgcmV0
dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiBubw0KY29uZmlndXJlOjI3NjA1
OiBjaGVja2luZyBmb3IgbG9jYWxlY29udg0KY29uZmlndXJlOjI3NjYyOiBnY2MgLW8gY29uZnRl
c3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDANCmNv
bmZpZ3VyZToyNzY3MjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpj
b25maWd1cmU6Mjc2NzU6ICQ/ID0gMA0KY29uZmlndXJlOjI3Njc4OiB0ZXN0IC1zIGNvbmZ0ZXN0
LmV4ZQ0KY29uZmlndXJlOjI3NjgxOiAkPyA9IDANCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiB5
ZXMNCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9yIG1lbXNldA0KY29uZmlndXJlOjI3NjYy
OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZnRlc3QuYzo5
Mzogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdtZW1z
ZXQnDQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3MjogdGVzdCAteiAN
CgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6Mjc2NzU6ICQ/ID0gMA0K
Y29uZmlndXJlOjI3Njc4OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQ0KY29uZmlndXJlOjI3NjgxOiAk
PyA9IDANCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzYwNTogY2hl
Y2tpbmcgZm9yIG1tYXANCmNvbmZpZ3VyZToyNzY2MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMg
ICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZToyNzY2ODogJD8gPSAwDQpjb25maWd1cmU6Mjc2
NzI6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI3
Njc1OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3ODogdGVzdCAtcyBjb25mdGVzdC5leGUNCmNvbmZp
Z3VyZToyNzY4MTogJD8gPSAwDQpjb25maWd1cmU6Mjc2OTM6IHJlc3VsdDogeWVzDQpjb25maWd1
cmU6Mjc2MDU6IGNoZWNraW5nIGZvciBtcHJvdGVjdA0KY29uZmlndXJlOjI3NjYyOiBnY2MgLW8g
Y29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9
IDANCmNvbmZpZ3VyZToyNzY3MjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3Qu
ZXJyDQpjb25maWd1cmU6Mjc2NzU6ICQ/ID0gMA0KY29uZmlndXJlOjI3Njc4OiB0ZXN0IC1zIGNv
bmZ0ZXN0LmV4ZQ0KY29uZmlndXJlOjI3NjgxOiAkPyA9IDANCmNvbmZpZ3VyZToyNzY5MzogcmVz
dWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9yIG5sX2xhbmdpbmZvDQpjb25m
aWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUgLU8zICAgY29uZnRlc3QuYyAgPiY1DQpj
b25maWd1cmU6Mjc2Njg6ICQ/ID0gMA0KY29uZmlndXJlOjI3NjcyOiB0ZXN0IC16IA0KCQkJIHx8
IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZToyNzY3NTogJD8gPSAwDQpjb25maWd1
cmU6Mjc2Nzg6IHRlc3QgLXMgY29uZnRlc3QuZXhlDQpjb25maWd1cmU6Mjc2ODE6ICQ/ID0gMA0K
Y29uZmlndXJlOjI3NjkzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI3NjA1OiBjaGVja2luZyBm
b3Igb2JzdGFja192cHJpbnRmDQpjb25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUg
LU8zICAgY29uZnRlc3QuYyAgPiY1DQovY3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5CL0xP
Q0FMU34xL1RlbXAvY2NvdGR2Tmkubzpjb25mdGVzdC5jOigudGV4dCsweDIwKTogdW5kZWZpbmVk
IHJlZmVyZW5jZSB0byBgX29ic3RhY2tfdnByaW50ZicNDQovY3lnZHJpdmUvYy9ET0NVTUV+MS9W
Q0lNfjEuSU5CL0xPQ0FMU34xL1RlbXAvY2NvdGR2Tmkubzpjb25mdGVzdC5jOiguZGF0YSsweDAp
OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfb2JzdGFja192cHJpbnRmJw0NCmNvbGxlY3QyOiBs
ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDENCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNk
ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJn
bXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAt
YnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lP
TiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVf
cHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAx
DQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxDQp8ICNkZWZpbmUg
U1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5l
IEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDENCnwgI2RlZmluZSBIQVZF
X0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxDQp8ICNkZWZpbmUgSEFW
RV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDENCnwgI2RlZmluZSBI
QVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVEMgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQ0KfCAj
ZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9WRlBSSU5URiAx
DQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJMSVNUIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xf
U1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZA0KfCAjZGVmaW5lIEhBVkVfSU5U
TUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQ0KfCAjZGVmaW5lIEhBVkVfTE9O
R19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxDQp8ICNkZWZpbmUgSEFWRV9VSU5U
X0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdJWkUgMQ0KfCAjZGVmaW5lIEhBVkVf
U1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9DT05TVCAxDQp8ICNkZWZpbmUgSEFW
RV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NT0RFIDENCnwg
I2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVSTiAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
SCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0KfCAjZGVmaW5lIFdBTlRfVE1QX0FMTE9DQSAx
DQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfRE9V
QkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxDQp8ICNkZWZp
bmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDENCnwgI2RlZmlu
ZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxDQp8ICNkZWZp
bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFQ09OViAxDQp8ICNk
ZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5lIEhBVkVfTU1BUCAxDQp8ICNkZWZpbmUgSEFW
RV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9OTF9MQU5HSU5GTyAxDQp8IC8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8NCnwgLyogRGVmaW5lIG9ic3RhY2tfdnByaW50ZiB0byBhbiBpbm5vY3VvdXMg
dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIG9ic3RhY2tfdnByaW50Zi4NCnwg
ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh
eS4gICovDQp8ICNkZWZpbmUgb2JzdGFja192cHJpbnRmIGlubm9jdW91c19vYnN0YWNrX3Zwcmlu
dGYNCnwgDQp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv
cGVmdWxseSBmZXcgcHJvdG90eXBlcywNCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo
YXIgb2JzdGFja192cHJpbnRmICgpOyBiZWxvdy4NCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv
IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UNCnwgICAgIDxsaW1pdHMu
aD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovDQp8IA0KfCAjaWZk
ZWYgX19TVERDX18NCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4NCnwgI2Vsc2UNCnwgIyBpbmNsdWRl
IDxhc3NlcnQuaD4NCnwgI2VuZGlmDQp8IA0KfCAjdW5kZWYgb2JzdGFja192cHJpbnRmDQp8IA0K
fCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuICAqLw0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJuICJDIg0KfCB7DQp8ICNlbmRp
Zg0KfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5
cGUgb2YgYSBnY2MyDQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw
ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQp8IGNoYXIgb2JzdGFja192cHJpbnRmICgpOw0KfCAv
KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp
bXBsZW1lbnRzDQp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp
b25zIGFyZSBhY3R1YWxseSBuYW1lZA0KfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18g
YW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovDQp8ICNpZiBkZWZpbmVkIChfX3N0
dWJfb2JzdGFja192cHJpbnRmKSB8fCBkZWZpbmVkIChfX3N0dWJfX19vYnN0YWNrX3ZwcmludGYp
DQp8IGNob2tlIG1lDQp8ICNlbHNlDQp8IGNoYXIgKCpmKSAoKSA9IG9ic3RhY2tfdnByaW50ZjsN
CnwgI2VuZGlmDQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0KfCB9DQp8ICNlbmRpZg0KfCANCnwgaW50
DQp8IG1haW4gKCkNCnwgew0KfCByZXR1cm4gZiAhPSBvYnN0YWNrX3ZwcmludGY7DQp8ICAgOw0K
fCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6Mjc2OTM6IHJlc3VsdDogbm8NCmNvbmZpZ3Vy
ZToyNzYwNTogY2hlY2tpbmcgZm9yIHBvcGVuDQpjb25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25m
dGVzdC5leGUgLU8zICAgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1cmU6Mjc2Njg6ICQ/ID0gMA0K
Y29uZmlndXJlOjI3NjcyOiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIN
CmNvbmZpZ3VyZToyNzY3NTogJD8gPSAwDQpjb25maWd1cmU6Mjc2Nzg6IHRlc3QgLXMgY29uZnRl
c3QuZXhlDQpjb25maWd1cmU6Mjc2ODE6ICQ/ID0gMA0KY29uZmlndXJlOjI3NjkzOiByZXN1bHQ6
IHllcw0KY29uZmlndXJlOjI3NjA1OiBjaGVja2luZyBmb3IgcHJvY2Vzc29yX2luZm8NCmNvbmZp
Z3VyZToyNzY2MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCi9j
eWdkcml2ZS9jL0RPQ1VNRX4xL1ZDSU1+MS5JTkIvTE9DQUxTfjEvVGVtcC9jYzhVeW5ReC5vOmNv
bmZ0ZXN0LmM6KC50ZXh0KzB4MjApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfcHJvY2Vzc29y
X2luZm8nDQ0KL2N5Z2RyaXZlL2MvRE9DVU1FfjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1wL2Nj
OFV5blF4Lm86Y29uZnRlc3QuYzooLmRhdGErMHgwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg
X3Byb2Nlc3Nvcl9pbmZvJw0NCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQ0K
Y29uZmlndXJlOjI3NjY4OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0K
fCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAi
DQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT
SU9OICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAj
ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQ
QUNLQUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9G
RlQgMQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQ
RVMgMQ0KfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBU
SU1FX1dJVEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUg
SEFWRV9GTE9BVF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfTE9DQUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFW
RV9TWVNfUEFSQU1fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBI
QVZFX1NZU19USU1FU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfRkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAj
ZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0K
fCAjZGVmaW5lIEhBVkVfREVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19F
UlJMSVNUIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJ
R1RZUEUgdm9pZA0KfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9O
R19ET1VCTEUgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BU
UkRJRkZfVCAxDQp8ICNkZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFW
RV9TVFJJTkdJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FU
VFJJQlVURV9DT05TVCAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2Rl
ZmluZSBIQVZFX0FUVFJJQlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JF
VFVSTiAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg
MQ0KfCAjZGVmaW5lIFdBTlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRM
RV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8
ICNkZWZpbmUgSEFWRV9BTEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUg
SEFWRV9DTE9DS19HRVRUSU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2Rl
ZmluZSBIQVZFX0dFVFJVU0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAj
ZGVmaW5lIEhBVkVfTE9DQUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVm
aW5lIEhBVkVfTU1BUCAxDQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFW
RV9OTF9MQU5HSU5GTyAxDQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8IC8qIGVuZCBjb25mZGVm
cy5oLiAgKi8NCnwgLyogRGVmaW5lIHByb2Nlc3Nvcl9pbmZvIHRvIGFuIGlubm9jdW91cyB2YXJp
YW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgcHJvY2Vzc29yX2luZm8uDQp8ICAgIEZv
ciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAq
Lw0KfCAjZGVmaW5lIHByb2Nlc3Nvcl9pbmZvIGlubm9jdW91c19wcm9jZXNzb3JfaW5mbw0KfCAN
CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5
IGZldyBwcm90b3R5cGVzLA0KfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwcm9j
ZXNzb3JfaW5mbyAoKTsgYmVsb3cuDQp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0
Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlDQp8ICAgICA8bGltaXRzLmg+IGV4aXN0
cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLw0KfCANCnwgI2lmZGVmIF9fU1RE
Q19fDQp8ICMgaW5jbHVkZSA8bGltaXRzLmg+DQp8ICNlbHNlDQp8ICMgaW5jbHVkZSA8YXNzZXJ0
Lmg+DQp8ICNlbmRpZg0KfCANCnwgI3VuZGVmIHByb2Nlc3Nvcl9pbmZvDQp8IA0KfCAvKiBPdmVy
cmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0K
fCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJuICJDIg0KfCB7DQp8ICNlbmRpZg0KfCAvKiBX
ZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBn
Y2MyDQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz
dGlsbCBhcHBseS4gICovDQp8IGNoYXIgcHJvY2Vzc29yX2luZm8gKCk7DQp8IC8qIFRoZSBHTlUg
QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMN
CnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFj
dHVhbGx5IG5hbWVkDQp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v
cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9wcm9jZXNz
b3JfaW5mbykgfHwgZGVmaW5lZCAoX19zdHViX19fcHJvY2Vzc29yX2luZm8pDQp8IGNob2tlIG1l
DQp8ICNlbHNlDQp8IGNoYXIgKCpmKSAoKSA9IHByb2Nlc3Nvcl9pbmZvOw0KfCAjZW5kaWYNCnwg
I2lmZGVmIF9fY3BsdXNwbHVzDQp8IH0NCnwgI2VuZGlmDQp8IA0KfCBpbnQNCnwgbWFpbiAoKQ0K
fCB7DQp8IHJldHVybiBmICE9IHByb2Nlc3Nvcl9pbmZvOw0KfCAgIDsNCnwgICByZXR1cm4gMDsN
CnwgfQ0KY29uZmlndXJlOjI3NjkzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6Mjc2MDU6IGNoZWNr
aW5nIGZvciBwc3RhdF9nZXRwcm9jZXNzb3INCmNvbmZpZ3VyZToyNzY2MjogZ2NjIC1vIGNvbmZ0
ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL1ZDSU1+
MS5JTkIvTE9DQUxTfjEvVGVtcC9jY3dvNk1kTi5vOmNvbmZ0ZXN0LmM6KC50ZXh0KzB4MjApOiB1
bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfcHN0YXRfZ2V0cHJvY2Vzc29yJw0NCi9jeWdkcml2ZS9j
L0RPQ1VNRX4xL1ZDSU1+MS5JTkIvTE9DQUxTfjEvVGVtcC9jY3dvNk1kTi5vOmNvbmZ0ZXN0LmM6
KC5kYXRhKzB4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9wc3RhdF9nZXRwcm9jZXNzb3In
DQ0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNDQpjb25maWd1cmU6Mjc2Njg6
ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmgu
ICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwg
I2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUg
SEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUg
X19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I
IDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
RSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9G
R0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNM
X09QVEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9E
RUNMX1ZGUFJJTlRGIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNk
ZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNk
ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2Rl
ZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8
ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDEN
CnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NQUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklC
VVRFX01PREUgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmlu
ZSBIQVZFX0FMTE9DQV9IIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FO
VF9UTVBfQUxMT0NBIDENCnwgI2RlZmluZSBIQVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNk
ZWZpbmUgSEFWRV9ET1VCTEVfSUVFRV9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FM
QVJNIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ
TUUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUlVT
QUdFIDENCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxDQp8ICNkZWZpbmUgSEFWRV9MT0NB
TEVDT05WIDENCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxDQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEN
CnwgI2RlZmluZSBIQVZFX01QUk9URUNUIDENCnwgI2RlZmluZSBIQVZFX05MX0xBTkdJTkZPIDEN
CnwgI2RlZmluZSBIQVZFX1BPUEVOIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAvKiBE
ZWZpbmUgcHN0YXRfZ2V0cHJvY2Vzc29yIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl
IDxsaW1pdHMuaD4gZGVjbGFyZXMgcHN0YXRfZ2V0cHJvY2Vzc29yLg0KfCAgICBGb3IgZXhhbXBs
ZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8NCnwgI2Rl
ZmluZSBwc3RhdF9nZXRwcm9jZXNzb3IgaW5ub2N1b3VzX3BzdGF0X2dldHByb2Nlc3Nvcg0KfCAN
CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5
IGZldyBwcm90b3R5cGVzLA0KfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwc3Rh
dF9nZXRwcm9jZXNzb3IgKCk7IGJlbG93Lg0KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFz
c2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQ0KfCAgICAgPGxpbWl0cy5oPiBl
eGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8NCnwgDQp8ICNpZmRlZiBf
X1NURENfXw0KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPg0KfCAjZWxzZQ0KfCAjIGluY2x1ZGUgPGFz
c2VydC5oPg0KfCAjZW5kaWYNCnwgDQp8ICN1bmRlZiBwc3RhdF9nZXRwcm9jZXNzb3INCnwgDQp8
IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
ci4gICovDQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0KfCBleHRlcm4gIkMiDQp8IHsNCnwgI2VuZGlm
DQp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw
ZSBvZiBhIGdjYzINCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl
IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCnwgY2hhciBwc3RhdF9nZXRwcm9jZXNzb3IgKCk7DQp8
IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0
IGltcGxlbWVudHMNCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j
dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf
XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8NCnwgI2lmIGRlZmluZWQgKF9f
c3R1Yl9wc3RhdF9nZXRwcm9jZXNzb3IpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3BzdGF0X2dldHBy
b2Nlc3NvcikNCnwgY2hva2UgbWUNCnwgI2Vsc2UNCnwgY2hhciAoKmYpICgpID0gcHN0YXRfZ2V0
cHJvY2Vzc29yOw0KfCAjZW5kaWYNCnwgI2lmZGVmIF9fY3BsdXNwbHVzDQp8IH0NCnwgI2VuZGlm
DQp8IA0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IHJldHVybiBmICE9IHBzdGF0X2dldHByb2Nl
c3NvcjsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0
OiBubw0KY29uZmlndXJlOjI3NjA1OiBjaGVja2luZyBmb3IgcmFpc2UNCmNvbmZpZ3VyZToyNzY2
MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZToy
NzY2ODogJD8gPSAwDQpjb25maWd1cmU6Mjc2NzI6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1z
IGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI3Njc1OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3ODog
dGVzdCAtcyBjb25mdGVzdC5leGUNCmNvbmZpZ3VyZToyNzY4MTogJD8gPSAwDQpjb25maWd1cmU6
Mjc2OTM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6Mjc2MDU6IGNoZWNraW5nIGZvciByZWFkX3Jl
YWxfdGltZQ0KY29uZmlndXJlOjI3NjYyOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0
ZXN0LmMgID4mNQ0KL2N5Z2RyaXZlL2MvRE9DVU1FfjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1w
L2NjZ0hXUE1pLm86Y29uZnRlc3QuYzooLnRleHQrMHgyMCk6IHVuZGVmaW5lZCByZWZlcmVuY2Ug
dG8gYF9yZWFkX3JlYWxfdGltZScNDQovY3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5CL0xP
Q0FMU34xL1RlbXAvY2NnSFdQTWkubzpjb25mdGVzdC5jOiguZGF0YSsweDApOiB1bmRlZmluZWQg
cmVmZXJlbmNlIHRvIGBfcmVhZF9yZWFsX3RpbWUnDQ0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEg
ZXhpdCBzdGF0dXMNDQpjb25maWd1cmU6Mjc2Njg6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQg
cHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdF
X05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmlu
ZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg
TVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29t
Ig0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwg
I2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNk
ZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBT
VERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I
IDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAx
DQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V
UkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNM
X0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9E
RUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZGUFJJTlRGIDENCnwgI2RlZmluZSBI
QVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8
ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNk
ZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAj
ZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2RlZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDEN
CnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAj
ZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9N
QUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01PREUgMQ0KfCAjZGVmaW5lIEhBVkVf
QVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDENCnwgI2RlZmlu
ZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FOVF9UTVBfQUxMT0NBIDENCnwgI2RlZmluZSBI
QVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUgSEFWRV9ET1VCTEVfSUVFRV9MSVRU
TEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FMQVJNIDENCnwgI2RlZmluZSBIQVZFX0NMT0NL
IDENCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUEFH
RVNJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDENCnwgI2RlZmluZSBIQVZFX0dFVFRJ
TUVPRkRBWSAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVDT05WIDENCnwgI2RlZmluZSBIQVZFX01F
TVNFVCAxDQp8ICNkZWZpbmUgSEFWRV9NTUFQIDENCnwgI2RlZmluZSBIQVZFX01QUk9URUNUIDEN
CnwgI2RlZmluZSBIQVZFX05MX0xBTkdJTkZPIDENCnwgI2RlZmluZSBIQVZFX1BPUEVOIDENCnwg
I2RlZmluZSBIQVZFX1JBSVNFIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAvKiBEZWZp
bmUgcmVhZF9yZWFsX3RpbWUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0
cy5oPiBkZWNsYXJlcyByZWFkX3JlYWxfdGltZS4NCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDEx
aSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovDQp8ICNkZWZpbmUgcmVhZF9y
ZWFsX3RpbWUgaW5ub2N1b3VzX3JlYWRfcmVhbF90aW1lDQp8IA0KfCAvKiBTeXN0ZW0gaGVhZGVy
IHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQp8
ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHJlYWRfcmVhbF90aW1lICgpOyBiZWxv
dy4NCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg
ZGVmaW5lZCwgc2luY2UNCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k
aW5nIGNvbXBpbGVycy4gICovDQp8IA0KfCAjaWZkZWYgX19TVERDX18NCnwgIyBpbmNsdWRlIDxs
aW1pdHMuaD4NCnwgI2Vsc2UNCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4NCnwgI2VuZGlmDQp8IA0K
fCAjdW5kZWYgcmVhZF9yZWFsX3RpbWUNCnwgDQp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVy
bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQp8ICNpZmRlZiBfX2NwbHVzcGx1
cw0KfCBleHRlcm4gIkMiDQp8IHsNCnwgI2VuZGlmDQp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug
aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCnwgICAgYnVpbHRpbiBh
bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCnwg
Y2hhciByZWFkX3JlYWxfdGltZSAoKTsNCnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0
aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KfCAgICAgdG8gYWx3YXlzIGZh
aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQNCnwgICAg
IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp
YXMuICAqLw0KfCAjaWYgZGVmaW5lZCAoX19zdHViX3JlYWRfcmVhbF90aW1lKSB8fCBkZWZpbmVk
IChfX3N0dWJfX19yZWFkX3JlYWxfdGltZSkNCnwgY2hva2UgbWUNCnwgI2Vsc2UNCnwgY2hhciAo
KmYpICgpID0gcmVhZF9yZWFsX3RpbWU7DQp8ICNlbmRpZg0KfCAjaWZkZWYgX19jcGx1c3BsdXMN
CnwgfQ0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgcmV0dXJuIGYgIT0g
cmVhZF9yZWFsX3RpbWU7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6Mjc2
OTM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9yIHNpZ2FjdGlvbg0K
Y29uZmlndXJlOjI3NjYyOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4m
NQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3MjogdGVzdCAteiANCgkJ
CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6Mjc2NzU6ICQ/ID0gMA0KY29u
ZmlndXJlOjI3Njc4OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQ0KY29uZmlndXJlOjI3NjgxOiAkPyA9
IDANCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tp
bmcgZm9yIHNpZ2FsdHN0YWNrDQpjb25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUg
LU8zICAgY29uZnRlc3QuYyAgPiY1DQovY3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5CL0xP
Q0FMU34xL1RlbXAvY2MyeGFoZmcubzpjb25mdGVzdC5jOigudGV4dCsweDIwKTogdW5kZWZpbmVk
IHJlZmVyZW5jZSB0byBgX3NpZ2FsdHN0YWNrJw0NCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL1ZDSU1+
MS5JTkIvTE9DQUxTfjEvVGVtcC9jYzJ4YWhmZy5vOmNvbmZ0ZXN0LmM6KC5kYXRhKzB4MCk6IHVu
ZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9zaWdhbHRzdGFjaycNDQpjb2xsZWN0MjogbGQgcmV0dXJu
ZWQgMSBleGl0IHN0YXR1cw0NCmNvbmZpZ3VyZToyNzY2ODogJD8gPSAxDQpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBB
Q0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAj
ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg
IkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dv
eC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4y
Ig0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDEN
CnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVm
aW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBI
QVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVB
REVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZD
TlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G
T19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFO
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJ
TUVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
UkVTT1VSQ0VfSCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZF
X0RFQ0xfRlNDQU5GIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBI
QVZFX0RFQ0xfVU5HRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJS
IDENCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDEN
CnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAx
DQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMy
X1QgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAx
DQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklC
VVRFX01BTExPQyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUg
SEFWRV9BVFRSSUJVVEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfQUxMT0NBIDENCnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVm
aW5lIEhBVkVfTElNQl9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVF
X0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVf
Q0xPQ0sgMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9H
RVRQQUdFU0laRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5lIEhBVkVf
R0VUVElNRU9GREFZIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVmaW5lIEhB
VkVfTUVNU0VUIDENCnwgI2RlZmluZSBIQVZFX01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVfTVBST1RF
Q1QgMQ0KfCAjZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVfUE9QRU4g
MQ0KfCAjZGVmaW5lIEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDENCnwg
LyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAvKiBEZWZpbmUgc2lnYWx0c3RhY2sgdG8gYW4gaW5u
b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzaWdhbHRzdGFjay4N
CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv
ZmRheS4gICovDQp8ICNkZWZpbmUgc2lnYWx0c3RhY2sgaW5ub2N1b3VzX3NpZ2FsdHN0YWNrDQp8
IA0KfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs
bHkgZmV3IHByb3RvdHlwZXMsDQp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHNp
Z2FsdHN0YWNrICgpOyBiZWxvdy4NCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu
aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UNCnwgICAgIDxsaW1pdHMuaD4gZXhpc3Rz
IGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovDQp8IA0KfCAjaWZkZWYgX19TVERD
X18NCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4NCnwgI2Vsc2UNCnwgIyBpbmNsdWRlIDxhc3NlcnQu
aD4NCnwgI2VuZGlmDQp8IA0KfCAjdW5kZWYgc2lnYWx0c3RhY2sNCnwgDQp8IC8qIE92ZXJyaWRl
IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQp8ICNp
ZmRlZiBfX2NwbHVzcGx1cw0KfCBleHRlcm4gIkMiDQp8IHsNCnwgI2VuZGlmDQp8IC8qIFdlIHVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIN
CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs
IGFwcGx5LiAgKi8NCnwgY2hhciBzaWdhbHRzdGFjayAoKTsNCnwgLyogVGhlIEdOVSBDIGxpYnJh
cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cw0KfCAgICAg
dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg
bmFtZWQNCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h
bWUgaXMgYW4gYWxpYXMuICAqLw0KfCAjaWYgZGVmaW5lZCAoX19zdHViX3NpZ2FsdHN0YWNrKSB8
fCBkZWZpbmVkIChfX3N0dWJfX19zaWdhbHRzdGFjaykNCnwgY2hva2UgbWUNCnwgI2Vsc2UNCnwg
Y2hhciAoKmYpICgpID0gc2lnYWx0c3RhY2s7DQp8ICNlbmRpZg0KfCAjaWZkZWYgX19jcGx1c3Bs
dXMNCnwgfQ0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgcmV0dXJuIGYg
IT0gc2lnYWx0c3RhY2s7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6Mjc2
OTM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9yIHNpZ3N0YWNrDQpj
b25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUgLU8zICAgY29uZnRlc3QuYyAgPiY1
DQovY3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5CL0xPQ0FMU34xL1RlbXAvY2NVa3V2akQu
bzpjb25mdGVzdC5jOigudGV4dCsweDIwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3NpZ3N0
YWNrJw0NCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL1ZDSU1+MS5JTkIvTE9DQUxTfjEvVGVtcC9jY1Vr
dXZqRC5vOmNvbmZ0ZXN0LmM6KC5kYXRhKzB4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9z
aWdzdGFjaycNDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0NCmNvbmZpZ3Vy
ZToyNzY2ODogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29u
ZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVm
aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4y
LjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQ
QUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAi
Z21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwg
I2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwg
I2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmlu
ZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBI
QVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZF
X0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRI
X1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxP
QVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FM
RV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1BB
UkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
VElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQp8ICNkZWZpbmUgSEFW
RV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5GIDENCnwgI2RlZmluZSBI
QVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5HRVRDIDENCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAx
DQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZv
aWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxF
IDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1Qg
MQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5H
SVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVf
Q09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAxDQp8ICNkZWZpbmUgSEFW
RV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTk9SRVRVUk4gMQ0K
fCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDENCnwgI2Rl
ZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElNQl9MSVRUTEVfRU5ESUFO
IDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5l
IEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAjZGVmaW5lIEhBVkVfQ0xP
Q0tfR0VUVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxDQp8ICNkZWZpbmUgSEFW
RV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDENCnwgI2RlZmluZSBI
QVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDENCnwgI2RlZmluZSBIQVZF
X01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAjZGVmaW5lIEhBVkVfTkxfTEFO
R0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVmaW5lIEhBVkVfUkFJU0UgMQ0K
fCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAv
KiBEZWZpbmUgc2lnc3RhY2sgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0
cy5oPiBkZWNsYXJlcyBzaWdzdGFjay4NCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt
aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovDQp8ICNkZWZpbmUgc2lnc3RhY2sgaW5u
b2N1b3VzX3NpZ3N0YWNrDQp8IA0KfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQp8ICAgICB3aGljaCBjYW4gY29u
ZmxpY3Qgd2l0aCBjaGFyIHNpZ3N0YWNrICgpOyBiZWxvdy4NCnwgICAgIFByZWZlciA8bGltaXRz
Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UNCnwgICAgIDxs
aW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovDQp8IA0K
fCAjaWZkZWYgX19TVERDX18NCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4NCnwgI2Vsc2UNCnwgIyBp
bmNsdWRlIDxhc3NlcnQuaD4NCnwgI2VuZGlmDQp8IA0KfCAjdW5kZWYgc2lnc3RhY2sNCnwgDQp8
IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
ci4gICovDQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0KfCBleHRlcm4gIkMiDQp8IHsNCnwgI2VuZGlm
DQp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw
ZSBvZiBhIGdjYzINCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl
IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCnwgY2hhciBzaWdzdGFjayAoKTsNCnwgLyogVGhlIEdO
VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50
cw0KfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg
YWN0dWFsbHkgbmFtZWQNCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg
bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KfCAjaWYgZGVmaW5lZCAoX19zdHViX3NpZ3N0
YWNrKSB8fCBkZWZpbmVkIChfX3N0dWJfX19zaWdzdGFjaykNCnwgY2hva2UgbWUNCnwgI2Vsc2UN
CnwgY2hhciAoKmYpICgpID0gc2lnc3RhY2s7DQp8ICNlbmRpZg0KfCAjaWZkZWYgX19jcGx1c3Bs
dXMNCnwgfQ0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgcmV0dXJuIGYg
IT0gc2lnc3RhY2s7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6Mjc2OTM6
IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9yIHN5c3NnaQ0KY29uZmln
dXJlOjI3NjYyOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KL2N5
Z2RyaXZlL2MvRE9DVU1FfjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1wL2NjdTljazVjLm86Y29u
ZnRlc3QuYzooLnRleHQrMHgyMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9zeXNzZ2knDQ0K
L2N5Z2RyaXZlL2MvRE9DVU1FfjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1wL2NjdTljazVjLm86
Y29uZnRlc3QuYzooLmRhdGErMHgwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3N5c3NnaScN
DQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0NCmNvbmZpZ3VyZToyNzY2ODog
JD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4g
ICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAj
ZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBI
QVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBf
X1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01F
TU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNU
RF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0gg
MQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F
IDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8
ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwg
I2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZH
RVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5GIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xf
T1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5HRVRDIDENCnwgI2RlZmluZSBIQVZFX0RF
Q0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAxDQp8ICNkZWZp
bmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2Rl
ZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDENCnwgI2Rl
ZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVm
aW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HSVpFIDENCnwg
I2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0K
fCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJV
VEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5l
IEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDENCnwgI2RlZmluZSBXQU5U
X1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElNQl9MSVRUTEVfRU5ESUFOIDENCnwgI2Rl
ZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxB
Uk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElN
RSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB
R0UgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FM
RUNPTlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDENCnwgI2RlZmluZSBIQVZFX01NQVAgMQ0K
fCAjZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAjZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0K
fCAjZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVmaW5lIEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5l
IEhBVkVfU0lHQUNUSU9OIDENCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAvKiBEZWZpbmUg
c3lzc2dpIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFy
ZXMgc3lzc2dpLg0KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy
ZXMgZ2V0dGltZW9mZGF5LiAgKi8NCnwgI2RlZmluZSBzeXNzZ2kgaW5ub2N1b3VzX3N5c3NnaQ0K
fCANCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1
bGx5IGZldyBwcm90b3R5cGVzLA0KfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBz
eXNzZ2kgKCk7IGJlbG93Lg0KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBp
ZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQ0KfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl
biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8NCnwgDQp8ICNpZmRlZiBfX1NURENfXw0K
fCAjIGluY2x1ZGUgPGxpbWl0cy5oPg0KfCAjZWxzZQ0KfCAjIGluY2x1ZGUgPGFzc2VydC5oPg0K
fCAjZW5kaWYNCnwgDQp8ICN1bmRlZiBzeXNzZ2kNCnwgDQp8IC8qIE92ZXJyaWRlIGFueSBnY2My
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQp8ICNpZmRlZiBfX2Nw
bHVzcGx1cw0KfCBleHRlcm4gIkMiDQp8IHsNCnwgI2VuZGlmDQp8IC8qIFdlIHVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8NCnwgY2hhciBzeXNzZ2kgKCk7DQp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMNCnwgICAgIHRvIGFsd2F5cyBmYWls
IHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkDQp8ICAgICBz
b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz
LiAgKi8NCnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9zeXNzZ2kpIHx8IGRlZmluZWQgKF9fc3R1Yl9f
X3N5c3NnaSkNCnwgY2hva2UgbWUNCnwgI2Vsc2UNCnwgY2hhciAoKmYpICgpID0gc3lzc2dpOw0K
fCAjZW5kaWYNCnwgI2lmZGVmIF9fY3BsdXNwbHVzDQp8IH0NCnwgI2VuZGlmDQp8IA0KfCBpbnQN
CnwgbWFpbiAoKQ0KfCB7DQp8IHJldHVybiBmICE9IHN5c3NnaTsNCnwgICA7DQp8ICAgcmV0dXJu
IDA7DQp8IH0NCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiBubw0KY29uZmlndXJlOjI3NjA1OiBj
aGVja2luZyBmb3Igc3RyY2hyDQpjb25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUg
LU8zICAgY29uZnRlc3QuYyAgPiY1DQpjb25mdGVzdC5jOjEwMDogd2FybmluZzogY29uZmxpY3Rp
bmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJjaHInDQ0KY29uZmlndXJlOjI3NjY4
OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3MjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29u
ZnRlc3QuZXJyDQpjb25maWd1cmU6Mjc2NzU6ICQ/ID0gMA0KY29uZmlndXJlOjI3Njc4OiB0ZXN0
IC1zIGNvbmZ0ZXN0LmV4ZQ0KY29uZmlndXJlOjI3NjgxOiAkPyA9IDANCmNvbmZpZ3VyZToyNzY5
MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9yIHN0cmVycm9yDQpj
b25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUgLU8zICAgY29uZnRlc3QuYyAgPiY1
DQpjb25maWd1cmU6Mjc2Njg6ICQ/ID0gMA0KY29uZmlndXJlOjI3NjcyOiB0ZXN0IC16IA0KCQkJ
IHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZToyNzY3NTogJD8gPSAwDQpjb25m
aWd1cmU6Mjc2Nzg6IHRlc3QgLXMgY29uZnRlc3QuZXhlDQpjb25maWd1cmU6Mjc2ODE6ICQ/ID0g
MA0KY29uZmlndXJlOjI3NjkzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI3NjA1OiBjaGVja2lu
ZyBmb3Igc3Rybmxlbg0KY29uZmlndXJlOjI3NjYyOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAg
IGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3
MjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6Mjc2
NzU6ICQ/ID0gMA0KY29uZmlndXJlOjI3Njc4OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQ0KY29uZmln
dXJlOjI3NjgxOiAkPyA9IDANCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy
ZToyNzYwNTogY2hlY2tpbmcgZm9yIHN0cnRvbA0KY29uZmlndXJlOjI3NjYyOiBnY2MgLW8gY29u
ZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDAN
CmNvbmZpZ3VyZToyNzY3MjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy
DQpjb25maWd1cmU6Mjc2NzU6ICQ/ID0gMA0KY29uZmlndXJlOjI3Njc4OiB0ZXN0IC1zIGNvbmZ0
ZXN0LmV4ZQ0KY29uZmlndXJlOjI3NjgxOiAkPyA9IDANCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0
OiB5ZXMNCmNvbmZpZ3VyZToyNzYwNTogY2hlY2tpbmcgZm9yIHN0cnRvdWwNCmNvbmZpZ3VyZToy
NzY2MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3Vy
ZToyNzY2ODogJD8gPSAwDQpjb25maWd1cmU6Mjc2NzI6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAh
IC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI3Njc1OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3
ODogdGVzdCAtcyBjb25mdGVzdC5leGUNCmNvbmZpZ3VyZToyNzY4MTogJD8gPSAwDQpjb25maWd1
cmU6Mjc2OTM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6Mjc2MDU6IGNoZWNraW5nIGZvciBzeXNj
b25mDQpjb25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUgLU8zICAgY29uZnRlc3Qu
YyAgPiY1DQpjb25maWd1cmU6Mjc2Njg6ICQ/ID0gMA0KY29uZmlndXJlOjI3NjcyOiB0ZXN0IC16
IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZToyNzY3NTogJD8gPSAw
DQpjb25maWd1cmU6Mjc2Nzg6IHRlc3QgLXMgY29uZnRlc3QuZXhlDQpjb25maWd1cmU6Mjc2ODE6
ICQ/ID0gMA0KY29uZmlndXJlOjI3NjkzOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjI3NjA1OiBj
aGVja2luZyBmb3Igc3lzY3RsDQpjb25maWd1cmU6Mjc2NjI6IGdjYyAtbyBjb25mdGVzdC5leGUg
LU8zICAgY29uZnRlc3QuYyAgPiY1DQovY3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5CL0xP
Q0FMU34xL1RlbXAvY2NHdUlDT0Yubzpjb25mdGVzdC5jOigudGV4dCsweDIwKTogdW5kZWZpbmVk
IHJlZmVyZW5jZSB0byBgX3N5c2N0bCcNDQovY3lnZHJpdmUvYy9ET0NVTUV+MS9WQ0lNfjEuSU5C
L0xPQ0FMU34xL1RlbXAvY2NHdUlDT0Yubzpjb25mdGVzdC5jOiguZGF0YSsweDApOiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBfc3lzY3RsJw0NCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQg
c3RhdHVzDQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy
YW0gd2FzOg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
ICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFD
S0FHRV9WRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQu
Mi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwg
I2RlZmluZSBQQUNLQUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZp
bmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5l
IFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19I
RUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RS
SU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5U
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwg
I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8
ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwg
I2RlZmluZSBIQVZFX1NZU19USU1FU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I
IDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NB
TkYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9V
TkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9E
RUNMX1NZU19FUlJMSVNUIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVm
aW5lIFJFVFNJR1RZUEUgdm9pZA0KfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5l
IEhBVkVfTE9OR19ET1VCTEUgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmlu
ZSBIQVZFX1BUUkRJRkZfVCAxDQp8ICNkZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmlu
ZSBIQVZFX0FUVFJJQlVURV9DT05TVCAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9D
IDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJ
QlVURV9OT1JFVFVSTiAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFW
RV9BTExPQ0EgMQ0KfCAjZGVmaW5lIFdBTlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9M
SU1CX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VO
RElBTiAxDQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8
ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF
IDENCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE
QVkgMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQg
MQ0KfCAjZGVmaW5lIEhBVkVfTU1BUCAxDQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNk
ZWZpbmUgSEFWRV9OTF9MQU5HSU5GTyAxDQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZp
bmUgSEFWRV9SQUlTRSAxDQp8ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhB
VkVfU1RSQ0hSIDENCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NU
Uk5MRU4gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTQ09ORiAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwg
LyogRGVmaW5lIHN5c2N0bCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz
Lmg+IGRlY2xhcmVzIHN5c2N0bC4NCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz
Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovDQp8ICNkZWZpbmUgc3lzY3RsIGlubm9jdW91
c19zeXNjdGwNCnwgDQp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3
aXRoIGNoYXIgc3lzY3RsICgpOyBiZWxvdy4NCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxh
c3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UNCnwgICAgIDxsaW1pdHMuaD4g
ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovDQp8IA0KfCAjaWZkZWYg
X19TVERDX18NCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4NCnwgI2Vsc2UNCnwgIyBpbmNsdWRlIDxh
c3NlcnQuaD4NCnwgI2VuZGlmDQp8IA0KfCAjdW5kZWYgc3lzY3RsDQp8IA0KfCAvKiBPdmVycmlk
ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KfCAj
aWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJuICJDIg0KfCB7DQp8ICNlbmRpZg0KfCAvKiBXZSB1
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
DQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS4gICovDQp8IGNoYXIgc3lzY3RsICgpOw0KfCAvKiBUaGUgR05VIEMgbGlicmFyeSBk
ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQp8ICAgICB0byBh
bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l
ZA0KfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp
cyBhbiBhbGlhcy4gICovDQp8ICNpZiBkZWZpbmVkIChfX3N0dWJfc3lzY3RsKSB8fCBkZWZpbmVk
IChfX3N0dWJfX19zeXNjdGwpDQp8IGNob2tlIG1lDQp8ICNlbHNlDQp8IGNoYXIgKCpmKSAoKSA9
IHN5c2N0bDsNCnwgI2VuZGlmDQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0KfCB9DQp8ICNlbmRpZg0K
fCANCnwgaW50DQp8IG1haW4gKCkNCnwgew0KfCByZXR1cm4gZiAhPSBzeXNjdGw7DQp8ICAgOw0K
fCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6Mjc2OTM6IHJlc3VsdDogbm8NCmNvbmZpZ3Vy
ZToyNzYwNTogY2hlY2tpbmcgZm9yIHN5c2N0bGJ5bmFtZQ0KY29uZmlndXJlOjI3NjYyOiBnY2Mg
LW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KL2N5Z2RyaXZlL2MvRE9DVU1F
fjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1wL2NjdFA0UmFoLm86Y29uZnRlc3QuYzooLnRleHQr
MHgyMCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9zeXNjdGxieW5hbWUnDQ0KL2N5Z2RyaXZl
L2MvRE9DVU1FfjEvVkNJTX4xLklOQi9MT0NBTFN+MS9UZW1wL2NjdFA0UmFoLm86Y29uZnRlc3Qu
YzooLmRhdGErMHgwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3N5c2N0bGJ5bmFtZScNDQpj
b2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0NCmNvbmZpZ3VyZToyNzY2ODogJD8g
PSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICov
DQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVm
aW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZF
X0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BS
T1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9S
WV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0K
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEN
CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgI2Rl
ZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRD
IDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5GIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
QVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5HRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xf
VkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAxDQp8ICNkZWZpbmUg
SEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2RlZmlu
ZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDENCnwgI2RlZmlu
ZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVmaW5l
IEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HSVpFIDENCnwgI2Rl
ZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0KfCAj
ZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVf
TU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5lIEhB
VkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDENCnwgI2RlZmluZSBXQU5UX1RN
UF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElNQl9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmlu
ZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxBUk0g
MQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAx
DQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0Ug
MQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRUNP
TlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDENCnwgI2RlZmluZSBIQVZFX01NQVAgMQ0KfCAj
ZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAjZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0KfCAj
ZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVmaW5lIEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5lIEhB
VkVfU0lHQUNUSU9OIDENCnwgI2RlZmluZSBIQVZFX1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJFUlJPUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJOTEVOIDENCnwgI2RlZmluZSBIQVZFX1NUUlRP
TCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VMIDENCnwgI2RlZmluZSBIQVZFX1NZU0NPTkYgMQ0K
fCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IC8qIERlZmluZSBzeXNjdGxieW5hbWUgdG8gYW4g
aW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzeXNjdGxieW5h
bWUuDQp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0
aW1lb2ZkYXkuICAqLw0KfCAjZGVmaW5lIHN5c2N0bGJ5bmFtZSBpbm5vY3VvdXNfc3lzY3RsYnlu
YW1lDQp8IA0KfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo
b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj
aGFyIHN5c2N0bGJ5bmFtZSAoKTsgYmVsb3cuDQp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8
YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlDQp8ICAgICA8bGltaXRzLmg+
IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLw0KfCANCnwgI2lmZGVm
IF9fU1REQ19fDQp8ICMgaW5jbHVkZSA8bGltaXRzLmg+DQp8ICNlbHNlDQp8ICMgaW5jbHVkZSA8
YXNzZXJ0Lmg+DQp8ICNlbmRpZg0KfCANCnwgI3VuZGVmIHN5c2N0bGJ5bmFtZQ0KfCANCnwgLyog
T3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAg
Ki8NCnwgI2lmZGVmIF9fY3BsdXNwbHVzDQp8IGV4dGVybiAiQyINCnwgew0KfCAjZW5kaWYNCnwg
LyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m
IGEgZ2NjMg0KfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291
bGQgc3RpbGwgYXBwbHkuICAqLw0KfCBjaGFyIHN5c2N0bGJ5bmFtZSAoKTsNCnwgLyogVGhlIEdO
VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50
cw0KfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg
YWN0dWFsbHkgbmFtZWQNCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg
bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLw0KfCAjaWYgZGVmaW5lZCAoX19zdHViX3N5c2N0
bGJ5bmFtZSkgfHwgZGVmaW5lZCAoX19zdHViX19fc3lzY3RsYnluYW1lKQ0KfCBjaG9rZSBtZQ0K
fCAjZWxzZQ0KfCBjaGFyICgqZikgKCkgPSBzeXNjdGxieW5hbWU7DQp8ICNlbmRpZg0KfCAjaWZk
ZWYgX19jcGx1c3BsdXMNCnwgfQ0KfCAjZW5kaWYNCnwgDQp8IGludA0KfCBtYWluICgpDQp8IHsN
CnwgcmV0dXJuIGYgIT0gc3lzY3RsYnluYW1lOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0K
Y29uZmlndXJlOjI3NjkzOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6Mjc2MDU6IGNoZWNraW5nIGZv
ciB0aW1lcw0KY29uZmlndXJlOjI3NjYyOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNvbmZ0
ZXN0LmMgID4mNQ0KY29uZmlndXJlOjI3NjY4OiAkPyA9IDANCmNvbmZpZ3VyZToyNzY3MjogdGVz
dCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6Mjc2NzU6ICQ/
ID0gMA0KY29uZmlndXJlOjI3Njc4OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQ0KY29uZmlndXJlOjI3
NjgxOiAkPyA9IDANCmNvbmZpZ3VyZToyNzY5MzogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNzcw
NTogY2hlY2tpbmcgZm9yIHZzbnByaW50Zg0KY29uZmlndXJlOjI3NzYyOiBnY2MgLW8gY29uZnRl
c3QuZXhlIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZnRlc3QuYzoxMDc6IHdhcm5pbmc6IGNv
bmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAndnNucHJpbnRmJw0NCmNvbmZp
Z3VyZToyNzc2ODogJD8gPSAwDQpjb25maWd1cmU6Mjc3NzI6IHRlc3QgLXogDQoJCQkgfHwgdGVz
dCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjI3Nzc1OiAkPyA9IDANCmNvbmZpZ3VyZToy
Nzc3ODogdGVzdCAtcyBjb25mdGVzdC5leGUNCmNvbmZpZ3VyZToyNzc4MTogJD8gPSAwDQpjb25m
aWd1cmU6Mjc3OTM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6Mjc4MDQ6IGNoZWNraW5nIHdoZXRo
ZXIgdnNucHJpbnRmIHdvcmtzDQpjb25maWd1cmU6Mjc4OTU6IHJlc3VsdDogcHJvYmFibHkNCmNv
bmZpZ3VyZToyNzg5ODogV0FSTklORzogY2Fubm90IGNoZWNrIGZvciBwcm9wZXJseSB3b3JraW5n
IHZzbnByaW50ZiB3aGVuIGNyb3NzIGNvbXBpbGluZywgd2lsbCBhc3N1bWUgaXQncyBvaw0KY29u
ZmlndXJlOjI3OTEwOiBjaGVja2luZyB3aGV0aGVyIHNzY2FuZiBuZWVkcyB3cml0YWJsZSBpbnB1
dA0KY29uZmlndXJlOjI3OTIyOiByZXN1bHQ6IG5vDQpjb25maWd1cmU6Mjc5NDA6IGNoZWNraW5n
IGZvciBzdHJ1Y3QgcHN0X3Byb2Nlc3Nvci5wc3BfaXRpY2tzcGVyY2xrdGljaw0KY29uZmlndXJl
OjI3OTY0OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZnRlc3QuYzo4NDoyMzogc3lz
L3BzdGF0Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNDQpjb25mdGVzdC5jOiBJbiBmdW5j
dGlvbiBgbWFpbic6DQ0KY29uZnRlc3QuYzo4OTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnYWNf
YWdncicgaXNuJ3Qga25vd24NDQpjb25mdGVzdC5jOjg5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9m
IGBhY19hZ2dyJyBpc24ndCBrbm93bg0NCmNvbmZpZ3VyZToyNzk3MDogJD8gPSAxDQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21w
Ig0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9T
VFJJTkcgIkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1
Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04g
IjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3Bw
Y2JlIDENCnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0K
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwg
I2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBI
QVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9M
QU5HSU5GT19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZ
U19NTUFOX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TWVNfUkVTT1VSQ0VfSCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfRlNDQU5GIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfVU5HRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0K
fCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZ
U19ORVJSIDENCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1B
WF9UIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdf
TE9ORyAxDQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9M
RUFTVDMyX1QgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NU
REFSRyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVf
QVRUUklCVVRFX01BTExPQyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNk
ZWZpbmUgSEFWRV9BVFRSSUJVVEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDENCnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0K
fCAjZGVmaW5lIEhBVkVfTElNQl9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJM
RV9JRUVFX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5l
IEhBVkVfQ0xPQ0sgMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxDQp8ICNkZWZpbmUg
SEFWRV9HRVRQQUdFU0laRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5l
IEhBVkVfR0VUVElNRU9GREFZIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVm
aW5lIEhBVkVfTUVNU0VUIDENCnwgI2RlZmluZSBIQVZFX01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVf
TVBST1RFQ1QgMQ0KfCAjZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVf
UE9QRU4gMQ0KfCAjZGVmaW5lIEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9O
IDENCnwgI2RlZmluZSBIQVZFX1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxDQp8
ICNkZWZpbmUgSEFWRV9TVFJOTEVOIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8ICNkZWZp
bmUgSEFWRV9TVFJUT1VMIDENCnwgI2RlZmluZSBIQVZFX1NZU0NPTkYgMQ0KfCAjZGVmaW5lIEhB
VkVfVElNRVMgMQ0KfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDENCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLw0KfCAjaW5jbHVkZSA8c3lzL3BzdGF0Lmg+DQp8IA0KfCBpbnQNCnwgbWFpbiAoKQ0K
fCB7DQp8IHN0YXRpYyBzdHJ1Y3QgcHN0X3Byb2Nlc3NvciBhY19hZ2dyOw0KfCBpZiAoYWNfYWdn
ci5wc3BfaXRpY2tzcGVyY2xrdGljaykNCnwgcmV0dXJuIDA7DQp8ICAgOw0KfCAgIHJldHVybiAw
Ow0KfCB9DQpjb25maWd1cmU6MjgwMDk6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25m
dGVzdC5jOjg0OjIzOiBzeXMvcHN0YXQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0NCmNv
bmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWluJzoNDQpjb25mdGVzdC5jOjg5OiBlcnJvcjogc3Rv
cmFnZSBzaXplIG9mICdhY19hZ2dyJyBpc24ndCBrbm93bg0NCmNvbmZ0ZXN0LmM6ODk6IGVycm9y
OiBzdG9yYWdlIHNpemUgb2YgYGFjX2FnZ3InIGlzbid0IGtub3duDQ0KY29uZmlndXJlOjI4MDE1
OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5o
LiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIuMiINCnwg
I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf
QlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJnbXAiDQp8
ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5l
IEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5l
IF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
TUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lO
VFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05f
SCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ
TUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEN
CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
DQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19I
IDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xf
RkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVmaW5lIEhBVkVfREVD
TF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVf
REVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJMSVNUIDENCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZA0KfCAj
ZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQ0KfCAj
ZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxDQp8ICNk
ZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdJWkUgMQ0K
fCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9DT05TVCAx
DQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJ
QlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVSTiAxDQp8ICNkZWZp
bmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0KfCAjZGVmaW5lIFdB
TlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJQU4gMQ0KfCAj
ZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUgSEFWRV9B
TEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU
SU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmluZSBIQVZFX0dFVFJV
U0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVmaW5lIEhBVkVfTE9D
QUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5lIEhBVkVfTU1BUCAx
DQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9OTF9MQU5HSU5GTyAx
DQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZpbmUgSEFWRV9SQUlTRSAxDQp8ICNkZWZp
bmUgSEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDENCnwgI2RlZmluZSBI
QVZFX1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQ0KfCAjZGVmaW5lIEhBVkVf
U1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTQ09O
RiAxDQp8ICNkZWZpbmUgSEFWRV9USU1FUyAxDQp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQ0K
fCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8ICNpbmNsdWRlIDxzeXMvcHN0YXQuaD4NCnwgDQp8
IGludA0KfCBtYWluICgpDQp8IHsNCnwgc3RhdGljIHN0cnVjdCBwc3RfcHJvY2Vzc29yIGFjX2Fn
Z3I7DQp8IGlmIChzaXplb2YgYWNfYWdnci5wc3BfaXRpY2tzcGVyY2xrdGljaykNCnwgcmV0dXJu
IDA7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MjgwNDE6IHJlc3VsdDog
bm8NCmNvbmZpZ3VyZTozMDMwODogY2hlY2tpbmcgZm9yIHVuc2lnbmVkIHNob3J0DQpjb25maWd1
cmU6MzAzMzI6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MzAzMzg6ICQ/
ID0gMA0KY29uZmlndXJlOjMwMzQyOiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVz
dC5lcnINCmNvbmZpZ3VyZTozMDM0NTogJD8gPSAwDQpjb25maWd1cmU6MzAzNDg6IHRlc3QgLXMg
Y29uZnRlc3Qubw0KY29uZmlndXJlOjMwMzUxOiAkPyA9IDANCmNvbmZpZ3VyZTozMDM2MjogcmVz
dWx0OiB5ZXMNCmNvbmZpZ3VyZTozMDM2NTogY2hlY2tpbmcgc2l6ZSBvZiB1bnNpZ25lZCBzaG9y
dA0KY29uZmlndXJlOjMwMzk1OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJl
OjMwNDAxOiAkPyA9IDANCmNvbmZpZ3VyZTozMDQwNTogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEg
LXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MzA0MDg6ICQ/ID0gMA0KY29uZmlndXJlOjMwNDEx
OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTozMDQxNDogJD8gPSAwDQpjb25maWd1cmU6
MzA0MzY6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv
biBgbWFpbic6DQ0KY29uZnRlc3QuYzoxMjI6IGVycm9yOiBzaXplIG9mIGFycmF5IGB0ZXN0X2Fy
cmF5JyBpcyBuZWdhdGl2ZQ0NCmNvbmZpZ3VyZTozMDQ0MjogJD8gPSAxDQpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBB
Q0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAj
ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg
IkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dv
eC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4y
Ig0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDEN
CnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVm
aW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBI
QVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVB
REVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZD
TlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G
T19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFO
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJ
TUVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
UkVTT1VSQ0VfSCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZF
X0RFQ0xfRlNDQU5GIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBI
QVZFX0RFQ0xfVU5HRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJS
IDENCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDEN
CnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAx
DQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMy
X1QgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAx
DQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklC
VVRFX01BTExPQyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUg
SEFWRV9BVFRSSUJVVEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfQUxMT0NBIDENCnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVm
aW5lIEhBVkVfTElNQl9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVF
X0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVf
Q0xPQ0sgMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9H
RVRQQUdFU0laRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5lIEhBVkVf
R0VUVElNRU9GREFZIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVmaW5lIEhB
VkVfTUVNU0VUIDENCnwgI2RlZmluZSBIQVZFX01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVfTVBST1RF
Q1QgMQ0KfCAjZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVfUE9QRU4g
MQ0KfCAjZGVmaW5lIEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDENCnwg
I2RlZmluZSBIQVZFX1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxDQp8ICNkZWZp
bmUgSEFWRV9TVFJOTEVOIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8ICNkZWZpbmUgSEFW
RV9TVFJUT1VMIDENCnwgI2RlZmluZSBIQVZFX1NZU0NPTkYgMQ0KfCAjZGVmaW5lIEhBVkVfVElN
RVMgMQ0KfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDENCnwgI2RlZmluZSBHTVBfTVBBUkFNX0hf
U1VHR0VTVCAiLi9tcG4vZ2VuZXJpYy9nbXAtbXBhcmFtLmgiDQp8IC8qIGVuZCBjb25mZGVmcy5o
LiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMg
aW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8
ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwg
IyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwg
IyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8
ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFW
RV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1
ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVk
ZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1
ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNs
dWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gN
CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2VuZGlmDQp8IGludA0KfCBtYWluICgpDQp8IHsN
Cnwgc3RhdGljIGludCB0ZXN0X2FycmF5IFsxIC0gMiAqICEoKChsb25nKSAoc2l6ZW9mICh1bnNp
Z25lZCBzaG9ydCkpKSA8PSAwKV07DQp8IHRlc3RfYXJyYXkgWzBdID0gMA0KfCANCnwgICA7DQp8
ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZTozMDQzNjogZ2NjIC1jIC1PMyAgY29uZnRlc3Qu
YyA+JjUNCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWluJzoNDQpjb25mdGVzdC5jOjEyMjog
ZXJyb3I6IHNpemUgb2YgYXJyYXkgYHRlc3RfYXJyYXknIGlzIG5lZ2F0aXZlDQ0KY29uZmlndXJl
OjMwNDQyOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25m
ZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIu
MiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBB
Q0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJn
bXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAj
ZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAj
ZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmlu
ZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
RExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhf
U1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9B
VF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxF
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS
QU1fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19U
SU1FU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmluZSBIQVZF
X0RFQ0xfRkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVmaW5lIEhB
VkVfREVDTF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAjZGVmaW5l
IEhBVkVfREVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJMSVNUIDEN
CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9p
ZA0KfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUg
MQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAx
DQp8ICNkZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdJ
WkUgMQ0KfCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9D
T05TVCAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmluZSBIQVZF
X0FUVFJJQlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVSTiAxDQp8
ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0KfCAjZGVm
aW5lIFdBTlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJQU4g
MQ0KfCAjZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUg
SEFWRV9BTEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFWRV9DTE9D
S19HRVRUSU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmluZSBIQVZF
X0dFVFJVU0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVmaW5lIEhB
VkVfTE9DQUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5lIEhBVkVf
TU1BUCAxDQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9OTF9MQU5H
SU5GTyAxDQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZpbmUgSEFWRV9SQUlTRSAxDQp8
ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDENCnwgI2Rl
ZmluZSBIQVZFX1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQ0KfCAjZGVmaW5l
IEhBVkVfU1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTQ09ORiAxDQp8ICNkZWZpbmUgSEFWRV9USU1FUyAxDQp8ICNkZWZpbmUgSEFWRV9WU05QUklO
VEYgMQ0KfCAjZGVmaW5lIEdNUF9NUEFSQU1fSF9TVUdHRVNUICIuL21wbi9nZW5lcmljL2dtcC1t
cGFyYW0uaCINCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4N
CnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2Vu
ZGlmDQp8ICNpZiBIQVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAj
ZW5kaWYNCnwgI2lmIFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGlu
Y2x1ZGUgPHN0ZGRlZi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5j
bHVkZSA8c3RkbGliLmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19I
DQp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1l
bW9yeS5oPg0KfCAjIGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAj
aWYgSEFWRV9TVFJJTkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAj
aWYgSEFWRV9JTlRUWVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwg
IyBpZiBIQVZFX1NURElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8
ICNlbmRpZg0KfCAjaWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAj
ZW5kaWYNCnwgaW50DQp8IG1haW4gKCkNCnwgew0KfCBzdGF0aWMgaW50IHRlc3RfYXJyYXkgWzEg
LSAyICogISgoKGxvbmcpIChzaXplb2YgKHVuc2lnbmVkIHNob3J0KSkpIDw9IDEpXTsNCnwgdGVz
dF9hcnJheSBbMF0gPSAwDQp8IA0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJl
OjMwNDM2OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjMwNDQyOiAkPyA9
IDANCmNvbmZpZ3VyZTozMDQ0NjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3Qu
ZXJyDQpjb25maWd1cmU6MzA0NDk6ICQ/ID0gMA0KY29uZmlndXJlOjMwNDUyOiB0ZXN0IC1zIGNv
bmZ0ZXN0Lm8NCmNvbmZpZ3VyZTozMDQ1NTogJD8gPSAwDQpjb25maWd1cmU6MzA1OTk6IGdjYyAt
YyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MzA2MDU6ICQ/ID0gMA0KY29uZmlndXJl
OjMwNjA5OiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3Vy
ZTozMDYxMjogJD8gPSAwDQpjb25maWd1cmU6MzA2MTU6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29u
ZmlndXJlOjMwNjE4OiAkPyA9IDANCmNvbmZpZ3VyZTozMDcxNTogcmVzdWx0OiAyDQpjb25maWd1
cmU6MzA3MjI6IGNoZWNraW5nIGZvciB1bnNpZ25lZA0KY29uZmlndXJlOjMwNzQ2OiBnY2MgLWMg
LU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjMwNzUyOiAkPyA9IDANCmNvbmZpZ3VyZToz
MDc1NjogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6
MzA3NTk6ICQ/ID0gMA0KY29uZmlndXJlOjMwNzYyOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZp
Z3VyZTozMDc2NTogJD8gPSAwDQpjb25maWd1cmU6MzA3NzY6IHJlc3VsdDogeWVzDQpjb25maWd1
cmU6MzA3Nzk6IGNoZWNraW5nIHNpemUgb2YgdW5zaWduZWQNCmNvbmZpZ3VyZTozMDgwOTogZ2Nj
IC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTozMDgxNTogJD8gPSAwDQpjb25maWd1
cmU6MzA4MTk6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmln
dXJlOjMwODIyOiAkPyA9IDANCmNvbmZpZ3VyZTozMDgyNTogdGVzdCAtcyBjb25mdGVzdC5vDQpj
b25maWd1cmU6MzA4Mjg6ICQ/ID0gMA0KY29uZmlndXJlOjMwODUwOiBnY2MgLWMgLU8zICBjb25m
dGVzdC5jID4mNQ0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gYG1haW4nOg0NCmNvbmZ0ZXN0LmM6
MTIzOiBlcnJvcjogc2l6ZSBvZiBhcnJheSBgdGVzdF9hcnJheScgaXMgbmVnYXRpdmUNDQpjb25m
aWd1cmU6MzA4NTY6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8q
IGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwg
I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tB
R0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAx
DQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAx
DQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZp
bmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUg
SEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVf
V0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZF
X0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9M
T0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZ
U19QQVJBTV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1RJTUVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfREVDTF9GR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZp
bmUgSEFWRV9ERUNMX09QVEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX1ZGUFJJTlRGIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJ
U1QgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQ
RSB2b2lkDQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RP
VUJMRSAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElG
Rl9UIDENCnwgI2RlZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDENCnwgI2RlZmluZSBIQVZFX1NU
UklOR0laRSAxDQp8ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklC
VVRFX0NPTlNUIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NQUxMT0MgMQ0KfCAjZGVmaW5l
IEhBVkVfQVRUUklCVVRFX01PREUgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX05PUkVUVVJO
IDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxDQp8
ICNkZWZpbmUgV0FOVF9UTVBfQUxMT0NBIDENCnwgI2RlZmluZSBIQVZFX0xJTUJfTElUVExFX0VO
RElBTiAxDQp8ICNkZWZpbmUgSEFWRV9ET1VCTEVfSUVFRV9MSVRUTEVfRU5ESUFOIDENCnwgI2Rl
ZmluZSBIQVZFX0FMQVJNIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLIDENCnwgI2RlZmluZSBIQVZF
X0NMT0NLX0dFVFRJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQ0KfCAjZGVmaW5l
IEhBVkVfR0VUUlVTQUdFIDENCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxDQp8ICNkZWZp
bmUgSEFWRV9MT0NBTEVDT05WIDENCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxDQp8ICNkZWZpbmUg
SEFWRV9NTUFQIDENCnwgI2RlZmluZSBIQVZFX01QUk9URUNUIDENCnwgI2RlZmluZSBIQVZFX05M
X0xBTkdJTkZPIDENCnwgI2RlZmluZSBIQVZFX1BPUEVOIDENCnwgI2RlZmluZSBIQVZFX1JBSVNF
IDENCnwgI2RlZmluZSBIQVZFX1NJR0FDVElPTiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJDSFIgMQ0K
fCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSTkxFTiAxDQp8ICNk
ZWZpbmUgSEFWRV9TVFJUT0wgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSVE9VTCAxDQp8ICNkZWZpbmUg
SEFWRV9TWVNDT05GIDENCnwgI2RlZmluZSBIQVZFX1RJTUVTIDENCnwgI2RlZmluZSBIQVZFX1ZT
TlBSSU5URiAxDQp8ICNkZWZpbmUgR01QX01QQVJBTV9IX1NVR0dFU1QgIi4vbXBuL2dlbmVyaWMv
Z21wLW1wYXJhbS5oIg0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJR05FRF9TSE9SVCAyDQp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8ICNpZiBIQVZFX1NZU19U
WVBFU19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9T
WVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwgI2VuZGlmDQp8ICNpZiBTVERD
X0hFQURFUlMNCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4N
CnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPg0K
fCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdfSA0KfCAjIGlmICFTVERDX0hF
QURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4NCnwgIyBlbmRp
Zg0KfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HU19I
DQp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfSU5UVFlQRVNf
SA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERJTlRf
SA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhB
VkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwgI2VuZGlmDQp8IGludA0KfCBt
YWluICgpDQp8IHsNCnwgc3RhdGljIGludCB0ZXN0X2FycmF5IFsxIC0gMiAqICEoKChsb25nKSAo
c2l6ZW9mICh1bnNpZ25lZCkpKSA8PSAwKV07DQp8IHRlc3RfYXJyYXkgWzBdID0gMA0KfCANCnwg
ICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZTozMDg1MDogZ2NjIC1jIC1PMyAgY29u
ZnRlc3QuYyA+JjUNCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWluJzoNDQpjb25mdGVzdC5j
OjEyMzogZXJyb3I6IHNpemUgb2YgYXJyYXkgYHRlc3RfYXJyYXknIGlzIG5lZ2F0aXZlDQ0KY29u
ZmlndXJlOjMwODU2OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAv
KiBjb25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8
ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICI0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVm
aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNL
QUdFICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQg
MQ0KfCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMg
MQ0KfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwg
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1F
X1dJVEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFW
RV9GTE9BVF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
TE9DQUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9T
WVNfUEFSQU1fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZF
X1NZU19USU1FU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfRkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAj
ZGVmaW5lIEhBVkVfREVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJM
SVNUIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZ
UEUgdm9pZA0KfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19E
T1VCTEUgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJ
RkZfVCAxDQp8ICNkZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJ
QlVURV9DT05TVCAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmlu
ZSBIQVZFX0FUVFJJQlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVS
TiAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0K
fCAjZGVmaW5lIFdBTlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9F
TkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNk
ZWZpbmUgSEFWRV9BTEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFW
RV9DTE9DS19HRVRUSU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmlu
ZSBIQVZFX0dFVFJVU0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVm
aW5lIEhBVkVfTE9DQUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5l
IEhBVkVfTU1BUCAxDQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9O
TF9MQU5HSU5GTyAxDQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZpbmUgSEFWRV9SQUlT
RSAxDQp8ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDEN
CnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQ0KfCAj
ZGVmaW5lIEhBVkVfU1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KfCAjZGVmaW5l
IEhBVkVfU1lTQ09ORiAxDQp8ICNkZWZpbmUgSEFWRV9USU1FUyAxDQp8ICNkZWZpbmUgSEFWRV9W
U05QUklOVEYgMQ0KfCAjZGVmaW5lIEdNUF9NUEFSQU1fSF9TVUdHRVNUICIuL21wbi9nZW5lcmlj
L2dtcC1tcGFyYW0uaCINCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORURfU0hPUlQgMg0KfCAvKiBl
bmQgY29uZmRlZnMuaC4gICovDQp8ICNpbmNsdWRlIDxzdGRpby5oPg0KfCAjaWYgSEFWRV9TWVNf
VFlQRVNfSA0KfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVf
U1lTX1NUQVRfSA0KfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+DQp8ICNlbmRpZg0KfCAjaWYgU1RE
Q19IRUFERVJTDQp8ICMgaW5jbHVkZSA8c3RkbGliLmg+DQp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+
DQp8ICNlbHNlDQp8ICMgaWYgSEFWRV9TVERMSUJfSA0KfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4N
CnwgIyBlbmRpZg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1RSSU5HX0gNCnwgIyBpZiAhU1REQ19I
RUFERVJTICYmIEhBVkVfTUVNT1JZX0gNCnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQp8ICMgZW5k
aWYNCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR1Nf
SA0KfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX0lOVFRZUEVT
X0gNCnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RESU5U
X0gNCnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBI
QVZFX1VOSVNURF9IDQp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+DQp8ICNlbmRpZg0KfCBpbnQNCnwg
bWFpbiAoKQ0KfCB7DQp8IHN0YXRpYyBpbnQgdGVzdF9hcnJheSBbMSAtIDIgKiAhKCgobG9uZykg
KHNpemVvZiAodW5zaWduZWQpKSkgPD0gMSldOw0KfCB0ZXN0X2FycmF5IFswXSA9IDANCnwgDQp8
ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MzA4NTA6IGdjYyAtYyAtTzMgIGNv
bmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6DQ0KY29uZnRlc3Qu
YzoxMjM6IGVycm9yOiBzaXplIG9mIGFycmF5IGB0ZXN0X2FycmF5JyBpcyBuZWdhdGl2ZQ0NCmNv
bmZpZ3VyZTozMDg1NjogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwg
LyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0K
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP
TiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiINCnwgI2Rl
ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUgUEFD
S0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZU
IDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9UT1RZUEVT
IDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEN
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwg
I2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmlu
ZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgVElN
RV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmluZSBIQVZF
X0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQp8ICNkZWZp
bmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5GIDENCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5HRVRDIDENCnwg
I2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfRVJS
TElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmluZSBSRVRTSUdU
WVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBIQVZFX0xPTkdf
RE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUgSEFWRV9QVFJE
SUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVmaW5lIEhBVkVf
U1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRS
SUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAxDQp8ICNkZWZp
bmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTk9SRVRV
Uk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEN
CnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElNQl9MSVRUTEVf
RU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJQU4gMQ0KfCAj
ZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAjZGVmaW5lIEhB
VkVfQ0xPQ0tfR0VUVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxDQp8ICNkZWZp
bmUgSEFWRV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDENCnwgI2Rl
ZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDENCnwgI2RlZmlu
ZSBIQVZFX01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAjZGVmaW5lIEhBVkVf
TkxfTEFOR0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVmaW5lIEhBVkVfUkFJ
U0UgMQ0KfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDENCnwgI2RlZmluZSBIQVZFX1NUUkNIUiAx
DQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJOTEVOIDENCnwg
I2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VMIDENCnwgI2RlZmlu
ZSBIQVZFX1NZU0NPTkYgMQ0KfCAjZGVmaW5lIEhBVkVfVElNRVMgMQ0KfCAjZGVmaW5lIEhBVkVf
VlNOUFJJTlRGIDENCnwgI2RlZmluZSBHTVBfTVBBUkFNX0hfU1VHR0VTVCAiLi9tcG4vZ2VuZXJp
Yy9nbXAtbXBhcmFtLmgiDQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX1NIT1JUIDINCnwgLyog
ZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVfU1lT
X1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZF
X1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lmIFNU
RENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRlZi5o
Pg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+
DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNURENf
SEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAjIGVu
ZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdT
X0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRUWVBF
U19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURElO
VF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYg
SEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgaW50DQp8
IG1haW4gKCkNCnwgew0KfCBzdGF0aWMgaW50IHRlc3RfYXJyYXkgWzEgLSAyICogISgoKGxvbmcp
IChzaXplb2YgKHVuc2lnbmVkKSkpIDw9IDMpXTsNCnwgdGVzdF9hcnJheSBbMF0gPSAwDQp8IA0K
fCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjMwODUwOiBnY2MgLWMgLU8zICBj
b25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjMwODU2OiAkPyA9IDANCmNvbmZpZ3VyZTozMDg2MDog
dGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MzA4NjM6
ICQ/ID0gMA0KY29uZmlndXJlOjMwODY2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZToz
MDg2OTogJD8gPSAwDQpjb25maWd1cmU6MzEwMTM6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1
DQpjb25maWd1cmU6MzEwMTk6ICQ/ID0gMA0KY29uZmlndXJlOjMxMDIzOiB0ZXN0IC16IA0KCQkJ
IHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZTozMTAyNjogJD8gPSAwDQpjb25m
aWd1cmU6MzEwMjk6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjMxMDMyOiAkPyA9IDAN
CmNvbmZpZ3VyZTozMTAxMzogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZToz
MTAxOTogJD8gPSAwDQpjb25maWd1cmU6MzEwMjM6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1z
IGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjMxMDI2OiAkPyA9IDANCmNvbmZpZ3VyZTozMTAyOTog
dGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MzEwMzI6ICQ/ID0gMA0KY29uZmlndXJlOjMx
MTI5OiByZXN1bHQ6IDQNCmNvbmZpZ3VyZTozMTEzNjogY2hlY2tpbmcgZm9yIHVuc2lnbmVkIGxv
bmcNCmNvbmZpZ3VyZTozMTE2MDogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3Vy
ZTozMTE2NjogJD8gPSAwDQpjb25maWd1cmU6MzExNzA6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAh
IC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjMxMTczOiAkPyA9IDANCmNvbmZpZ3VyZTozMTE3
NjogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MzExNzk6ICQ/ID0gMA0KY29uZmlndXJl
OjMxMTkwOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjMxMTkzOiBjaGVja2luZyBzaXplIG9mIHVu
c2lnbmVkIGxvbmcNCmNvbmZpZ3VyZTozMTIyMzogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUN
CmNvbmZpZ3VyZTozMTIyOTogJD8gPSAwDQpjb25maWd1cmU6MzEyMzM6IHRlc3QgLXogDQoJCQkg
fHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjMxMjM2OiAkPyA9IDANCmNvbmZp
Z3VyZTozMTIzOTogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MzEyNDI6ICQ/ID0gMA0K
Y29uZmlndXJlOjMxMjY0OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZnRlc3QuYzog
SW4gZnVuY3Rpb24gYG1haW4nOg0NCmNvbmZ0ZXN0LmM6MTI0OiBlcnJvcjogc2l6ZSBvZiBhcnJh
eSBgdGVzdF9hcnJheScgaXMgbmVnYXRpdmUNDQpjb25maWd1cmU6MzEyNzA6ICQ/ID0gMQ0KY29u
ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwg
I2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdt
cC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJT
SU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQ
VV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVT
IDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZp
bmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgI2RlZmluZSBI
QVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUQyAxDQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxDQp8
ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZGUFJJTlRG
IDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVmaW5lIEhBVkVfREVD
TF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNkZWZpbmUgSEFWRV9J
TlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNkZWZpbmUgSEFWRV9M
T05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2RlZmluZSBIQVZFX1VJ
TlRfTEVBU1QzMl9UIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8ICNkZWZpbmUgSEFW
RV9TVERBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDENCnwgI2RlZmluZSBI
QVZFX0FUVFJJQlVURV9NQUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01PREUgMQ0K
fCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmluZSBIQVZFX0FMTE9D
QV9IIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FOVF9UTVBfQUxMT0NB
IDENCnwgI2RlZmluZSBIQVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUgSEFWRV9E
T1VCTEVfSUVFRV9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FMQVJNIDENCnwgI2Rl
ZmluZSBIQVZFX0NMT0NLIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQ0KfCAjZGVm
aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDENCnwgI2Rl
ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVDT05WIDENCnwg
I2RlZmluZSBIQVZFX01FTVNFVCAxDQp8ICNkZWZpbmUgSEFWRV9NTUFQIDENCnwgI2RlZmluZSBI
QVZFX01QUk9URUNUIDENCnwgI2RlZmluZSBIQVZFX05MX0xBTkdJTkZPIDENCnwgI2RlZmluZSBI
QVZFX1BPUEVOIDENCnwgI2RlZmluZSBIQVZFX1JBSVNFIDENCnwgI2RlZmluZSBIQVZFX1NJR0FD
VElPTiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJDSFIgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSRVJST1Ig
MQ0KfCAjZGVmaW5lIEhBVkVfU1RSTkxFTiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT0wgMQ0KfCAj
ZGVmaW5lIEhBVkVfU1RSVE9VTCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNDT05GIDENCnwgI2RlZmlu
ZSBIQVZFX1RJTUVTIDENCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxDQp8ICNkZWZpbmUgR01Q
X01QQVJBTV9IX1NVR0dFU1QgIi4vbXBuL2dlbmVyaWMvZ21wLW1wYXJhbS5oIg0KfCAjZGVmaW5l
IFNJWkVPRl9VTlNJR05FRF9TSE9SVCAyDQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEIDQNCnwg
LyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c3RkaW8uaD4NCnwgI2lmIEhBVkVf
U1lTX1RZUEVTX0gNCnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCnwgI2VuZGlmDQp8ICNpZiBI
QVZFX1NZU19TVEFUX0gNCnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KfCAjZW5kaWYNCnwgI2lm
IFNURENfSEVBREVSUw0KfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGluY2x1ZGUgPHN0ZGRl
Zi5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RETElCX0gNCnwgIyAgaW5jbHVkZSA8c3RkbGli
Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR19IDQp8ICMgaWYgIVNU
RENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9IDQp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPg0KfCAj
IGVuZGlmDQp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJ
TkdTX0gNCnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+DQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9JTlRU
WVBFU19IDQp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NU
RElOVF9IDQp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAj
aWYgSEFWRV9VTklTVERfSA0KfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPg0KfCAjZW5kaWYNCnwgaW50
DQp8IG1haW4gKCkNCnwgew0KfCBzdGF0aWMgaW50IHRlc3RfYXJyYXkgWzEgLSAyICogISgoKGxv
bmcpIChzaXplb2YgKHVuc2lnbmVkIGxvbmcpKSkgPD0gMCldOw0KfCB0ZXN0X2FycmF5IFswXSA9
IDANCnwgDQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MzEyNjQ6IGdjYyAt
YyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6DQ0K
Y29uZnRlc3QuYzoxMjQ6IGVycm9yOiBzaXplIG9mIGFycmF5IGB0ZXN0X2FycmF5JyBpcyBuZWdh
dGl2ZQ0NCmNvbmZpZ3VyZTozMTI3MDogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi
R05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tB
R0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIu
MiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNk
ZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5l
IFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQ
Uk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVB
REVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklO
R19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf
SCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEN
CnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNk
ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2Rl
ZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx
DQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5G
IDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5H
RVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVD
TF9TWVNfRVJSTElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmlu
ZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBI
QVZFX0xPTkdfRE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUg
SEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVm
aW5lIEhBVkVfU1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUg
SEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAx
DQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJV
VEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
QUxMT0NBIDENCnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElN
Ql9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJ
QU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAj
ZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx
DQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ
IDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEN
CnwgI2RlZmluZSBIQVZFX01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAjZGVm
aW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVmaW5l
IEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDENCnwgI2RlZmluZSBIQVZF
X1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJO
TEVOIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VMIDEN
CnwgI2RlZmluZSBIQVZFX1NZU0NPTkYgMQ0KfCAjZGVmaW5lIEhBVkVfVElNRVMgMQ0KfCAjZGVm
aW5lIEhBVkVfVlNOUFJJTlRGIDENCnwgI2RlZmluZSBHTVBfTVBBUkFNX0hfU1VHR0VTVCAiLi9t
cG4vZ2VuZXJpYy9nbXAtbXBhcmFtLmgiDQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX1NIT1JU
IDINCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORUQgNA0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
DQp8ICNpbmNsdWRlIDxzdGRpby5oPg0KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSA0KfCAjIGluY2x1
ZGUgPHN5cy90eXBlcy5oPg0KfCAjZW5kaWYNCnwgI2lmIEhBVkVfU1lTX1NUQVRfSA0KfCAjIGlu
Y2x1ZGUgPHN5cy9zdGF0Lmg+DQp8ICNlbmRpZg0KfCAjaWYgU1REQ19IRUFERVJTDQp8ICMgaW5j
bHVkZSA8c3RkbGliLmg+DQp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+DQp8ICNlbHNlDQp8ICMgaWYg
SEFWRV9TVERMSUJfSA0KfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBlbmRpZg0KfCAjZW5k
aWYNCnwgI2lmIEhBVkVfU1RSSU5HX0gNCnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVN
T1JZX0gNCnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+DQp8ICMgZW5kaWYNCnwgIyBpbmNsdWRlIDxz
dHJpbmcuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1NUUklOR1NfSA0KfCAjIGluY2x1ZGUgPHN0
cmluZ3MuaD4NCnwgI2VuZGlmDQp8ICNpZiBIQVZFX0lOVFRZUEVTX0gNCnwgIyBpbmNsdWRlIDxp
bnR0eXBlcy5oPg0KfCAjZWxzZQ0KfCAjIGlmIEhBVkVfU1RESU5UX0gNCnwgIyAgaW5jbHVkZSA8
c3RkaW50Lmg+DQp8ICMgZW5kaWYNCnwgI2VuZGlmDQp8ICNpZiBIQVZFX1VOSVNURF9IDQp8ICMg
aW5jbHVkZSA8dW5pc3RkLmg+DQp8ICNlbmRpZg0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IHN0
YXRpYyBpbnQgdGVzdF9hcnJheSBbMSAtIDIgKiAhKCgobG9uZykgKHNpemVvZiAodW5zaWduZWQg
bG9uZykpKSA8PSAxKV07DQp8IHRlc3RfYXJyYXkgWzBdID0gMA0KfCANCnwgICA7DQp8ICAgcmV0
dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZTozMTI2NDogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUN
CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWluJzoNDQpjb25mdGVzdC5jOjEyNDogZXJyb3I6
IHNpemUgb2YgYXJyYXkgYHRlc3RfYXJyYXknIGlzIG5lZ2F0aXZlDQ0KY29uZmlndXJlOjMxMjcw
OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5o
LiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIuMiINCnwg
I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf
QlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJnbXAiDQp8
ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5l
IEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5l
IF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
TUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lO
VFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05f
SCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ
TUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEN
CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
DQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19I
IDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xf
RkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVmaW5lIEhBVkVfREVD
TF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVf
REVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJMSVNUIDENCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZA0KfCAj
ZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQ0KfCAj
ZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxDQp8ICNk
ZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdJWkUgMQ0K
fCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9DT05TVCAx
DQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJ
QlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVSTiAxDQp8ICNkZWZp
bmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0KfCAjZGVmaW5lIFdB
TlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJQU4gMQ0KfCAj
ZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUgSEFWRV9B
TEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU
SU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmluZSBIQVZFX0dFVFJV
U0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVmaW5lIEhBVkVfTE9D
QUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5lIEhBVkVfTU1BUCAx
DQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9OTF9MQU5HSU5GTyAx
DQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZpbmUgSEFWRV9SQUlTRSAxDQp8ICNkZWZp
bmUgSEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDENCnwgI2RlZmluZSBI
QVZFX1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQ0KfCAjZGVmaW5lIEhBVkVf
U1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTQ09O
RiAxDQp8ICNkZWZpbmUgSEFWRV9USU1FUyAxDQp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQ0K
fCAjZGVmaW5lIEdNUF9NUEFSQU1fSF9TVUdHRVNUICIuL21wbi9nZW5lcmljL2dtcC1tcGFyYW0u
aCINCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORURfU0hPUlQgMg0KfCAjZGVmaW5lIFNJWkVPRl9V
TlNJR05FRCA0DQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1ZGUgPHN0ZGlvLmg+
DQp8ICNpZiBIQVZFX1NZU19UWVBFU19IDQp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQp8ICNl
bmRpZg0KfCAjaWYgSEFWRV9TWVNfU1RBVF9IDQp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCnwg
I2VuZGlmDQp8ICNpZiBTVERDX0hFQURFUlMNCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4NCnwgIyBp
bmNsdWRlIDxzdGRkZWYuaD4NCnwgI2Vsc2UNCnwgIyBpZiBIQVZFX1NURExJQl9IDQp8ICMgIGlu
Y2x1ZGUgPHN0ZGxpYi5oPg0KfCAjIGVuZGlmDQp8ICNlbmRpZg0KfCAjaWYgSEFWRV9TVFJJTkdf
SA0KfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSA0KfCAjICBpbmNsdWRlIDxt
ZW1vcnkuaD4NCnwgIyBlbmRpZg0KfCAjIGluY2x1ZGUgPHN0cmluZy5oPg0KfCAjZW5kaWYNCnwg
I2lmIEhBVkVfU1RSSU5HU19IDQp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KfCAjZW5kaWYNCnwg
I2lmIEhBVkVfSU5UVFlQRVNfSA0KfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+DQp8ICNlbHNlDQp8
ICMgaWYgSEFWRV9TVERJTlRfSA0KfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4NCnwgIyBlbmRpZg0K
fCAjZW5kaWYNCnwgI2lmIEhBVkVfVU5JU1REX0gNCnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4NCnwg
I2VuZGlmDQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwgc3RhdGljIGludCB0ZXN0X2FycmF5IFsx
IC0gMiAqICEoKChsb25nKSAoc2l6ZW9mICh1bnNpZ25lZCBsb25nKSkpIDw9IDMpXTsNCnwgdGVz
dF9hcnJheSBbMF0gPSAwDQp8IA0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJl
OjMxMjY0OiBnY2MgLWMgLU8zICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjMxMjcwOiAkPyA9
IDANCmNvbmZpZ3VyZTozMTI3NDogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3Qu
ZXJyDQpjb25maWd1cmU6MzEyNzc6ICQ/ID0gMA0KY29uZmlndXJlOjMxMjgwOiB0ZXN0IC1zIGNv
bmZ0ZXN0Lm8NCmNvbmZpZ3VyZTozMTI4MzogJD8gPSAwDQpjb25maWd1cmU6MzE0Mjc6IGdjYyAt
YyAtTzMgIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MzE0MzM6ICQ/ID0gMA0KY29uZmlndXJl
OjMxNDM3OiB0ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3Vy
ZTozMTQ0MDogJD8gPSAwDQpjb25maWd1cmU6MzE0NDM6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29u
ZmlndXJlOjMxNDQ2OiAkPyA9IDANCmNvbmZpZ3VyZTozMTQyNzogZ2NjIC1jIC1PMyAgY29uZnRl
c3QuYyA+JjUNCmNvbmZpZ3VyZTozMTQzMzogJD8gPSAwDQpjb25maWd1cmU6MzE0Mzc6IHRlc3Qg
LXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0KY29uZmlndXJlOjMxNDQwOiAkPyA9
IDANCmNvbmZpZ3VyZTozMTQ0MzogdGVzdCAtcyBjb25mdGVzdC5vDQpjb25maWd1cmU6MzE0NDY6
ICQ/ID0gMA0KY29uZmlndXJlOjMxNTQzOiByZXN1bHQ6IDQNCmNvbmZpZ3VyZTozMTU1MDogY2hl
Y2tpbmcgZm9yIG1wX2xpbWJfdA0KY29uZmlndXJlOjMxNTgxOiBnY2MgLWMgLU8zICBjb25mdGVz
dC5jID4mNQ0KY29uZmlndXJlOjMxNTg3OiAkPyA9IDANCmNvbmZpZ3VyZTozMTU5MTogdGVzdCAt
eiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MzE1OTQ6ICQ/ID0g
MA0KY29uZmlndXJlOjMxNTk3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3VyZTozMTYwMDog
JD8gPSAwDQpjb25maWd1cmU6MzE2MTE6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MzE2MTQ6IGNo
ZWNraW5nIHNpemUgb2YgbXBfbGltYl90DQpjb25maWd1cmU6MzE2NTE6IGdjYyAtYyAtTzMgIGNv
bmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MzE2NTc6ICQ/ID0gMA0KY29uZmlndXJlOjMxNjYxOiB0
ZXN0IC16IA0KCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZTozMTY2NDog
JD8gPSAwDQpjb25maWd1cmU6MzE2Njc6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjMx
NjcwOiAkPyA9IDANCmNvbmZpZ3VyZTozMTY5OTogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUN
CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWluJzoNDQpjb25mdGVzdC5jOjk5OiBlcnJvcjog
c2l6ZSBvZiBhcnJheSBgdGVzdF9hcnJheScgaXMgbmVnYXRpdmUNDQpjb25maWd1cmU6MzE3MDU6
ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmgu
ICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwg
I2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUg
SEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUg
X19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I
IDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
RSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9G
R0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNM
X09QVEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9E
RUNMX1ZGUFJJTlRGIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNk
ZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNk
ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2Rl
ZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8
ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDEN
CnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NQUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklC
VVRFX01PREUgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmlu
ZSBIQVZFX0FMTE9DQV9IIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FO
VF9UTVBfQUxMT0NBIDENCnwgI2RlZmluZSBIQVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNk
ZWZpbmUgSEFWRV9ET1VCTEVfSUVFRV9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FM
QVJNIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ
TUUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUlVT
QUdFIDENCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxDQp8ICNkZWZpbmUgSEFWRV9MT0NB
TEVDT05WIDENCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxDQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEN
CnwgI2RlZmluZSBIQVZFX01QUk9URUNUIDENCnwgI2RlZmluZSBIQVZFX05MX0xBTkdJTkZPIDEN
CnwgI2RlZmluZSBIQVZFX1BPUEVOIDENCnwgI2RlZmluZSBIQVZFX1JBSVNFIDENCnwgI2RlZmlu
ZSBIQVZFX1NJR0FDVElPTiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJDSFIgMQ0KfCAjZGVmaW5lIEhB
VkVfU1RSRVJST1IgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSTkxFTiAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJUT0wgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSVE9VTCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNDT05G
IDENCnwgI2RlZmluZSBIQVZFX1RJTUVTIDENCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxDQp8
ICNkZWZpbmUgR01QX01QQVJBTV9IX1NVR0dFU1QgIi4vbXBuL2dlbmVyaWMvZ21wLW1wYXJhbS5o
Ig0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJR05FRF9TSE9SVCAyDQp8ICNkZWZpbmUgU0laRU9GX1VO
U0lHTkVEIDQNCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORURfTE9ORyA0DQp8IC8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8NCnwgI2RlZmluZSBfX0dNUF9XSVRISU5fQ09ORklHVVJFIDEgICAvKiBpZ25v
cmUgdGVtcGxhdGUgc3R1ZmYgKi8NCnwgI2RlZmluZSBHTVBfTkFJTF9CSVRTIDANCnwgI2RlZmlu
ZSBfX0dNUF9CSVRTX1BFUl9NUF9MSU1CIDEyMyAvKiBkdW1teSBmb3IgR01QX05VTUJfQklUUyBl
dGMgKi8NCnwgI2RlZmluZSBHTVBfTElNQl9CSVRTIDEyMw0KfCAvKiAjdW5kZWYgX0xPTkdfTE9O
R19MSU1CICovDQp8ICNpbmNsdWRlICIuL2dtcC1oLmluIg0KfCANCnwgDQp8IGludA0KfCBtYWlu
ICgpDQp8IHsNCnwgc3RhdGljIGludCB0ZXN0X2FycmF5IFsxIC0gMiAqICEoKChsb25nKSAoc2l6
ZW9mIChtcF9saW1iX3QpKSkgPD0gMCldOw0KfCB0ZXN0X2FycmF5IFswXSA9IDANCnwgDQp8ICAg
Ow0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MzE2OTk6IGdjYyAtYyAtTzMgIGNvbmZ0
ZXN0LmMgPiY1DQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6DQ0KY29uZnRlc3QuYzo5
OTogZXJyb3I6IHNpemUgb2YgYXJyYXkgYHRlc3RfYXJyYXknIGlzIG5lZ2F0aXZlDQ0KY29uZmln
dXJlOjMxNzA1OiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBj
b25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0
LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5l
IFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdF
ICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0K
fCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0K
fCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmlu
ZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJ
VEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9G
TE9BVF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9D
QUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
UEFSQU1fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZ
U19USU1FU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmluZSBI
QVZFX0RFQ0xfRkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVmaW5l
IEhBVkVfREVDTF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJMSVNU
IDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZUEUg
dm9pZA0KfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VC
TEUgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZf
VCAxDQp8ICNkZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVU
RV9DT05TVCAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmluZSBI
QVZFX0FUVFJJQlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVSTiAx
DQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0KfCAj
ZGVmaW5lIFdBTlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJ
QU4gMQ0KfCAjZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNkZWZp
bmUgSEFWRV9BTEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFWRV9D
TE9DS19HRVRUSU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmluZSBI
QVZFX0dFVFJVU0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVmaW5l
IEhBVkVfTE9DQUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5lIEhB
VkVfTU1BUCAxDQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9OTF9M
QU5HSU5GTyAxDQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZpbmUgSEFWRV9SQUlTRSAx
DQp8ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDENCnwg
I2RlZmluZSBIQVZFX1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQ0KfCAjZGVm
aW5lIEhBVkVfU1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KfCAjZGVmaW5lIEhB
VkVfU1lTQ09ORiAxDQp8ICNkZWZpbmUgSEFWRV9USU1FUyAxDQp8ICNkZWZpbmUgSEFWRV9WU05Q
UklOVEYgMQ0KfCAjZGVmaW5lIEdNUF9NUEFSQU1fSF9TVUdHRVNUICIuL21wbi9nZW5lcmljL2dt
cC1tcGFyYW0uaCINCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORURfU0hPUlQgMg0KfCAjZGVmaW5l
IFNJWkVPRl9VTlNJR05FRCA0DQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX0xPTkcgNA0KfCAv
KiBlbmQgY29uZmRlZnMuaC4gICovDQp8ICNkZWZpbmUgX19HTVBfV0lUSElOX0NPTkZJR1VSRSAx
ICAgLyogaWdub3JlIHRlbXBsYXRlIHN0dWZmICovDQp8ICNkZWZpbmUgR01QX05BSUxfQklUUyAw
DQp8ICNkZWZpbmUgX19HTVBfQklUU19QRVJfTVBfTElNQiAxMjMgLyogZHVtbXkgZm9yIEdNUF9O
VU1CX0JJVFMgZXRjICovDQp8ICNkZWZpbmUgR01QX0xJTUJfQklUUyAxMjMNCnwgLyogI3VuZGVm
IF9MT05HX0xPTkdfTElNQiAqLw0KfCAjaW5jbHVkZSAiLi9nbXAtaC5pbiINCnwgDQp8IA0KfCBp
bnQNCnwgbWFpbiAoKQ0KfCB7DQp8IHN0YXRpYyBpbnQgdGVzdF9hcnJheSBbMSAtIDIgKiAhKCgo
bG9uZykgKHNpemVvZiAobXBfbGltYl90KSkpIDw9IDEpXTsNCnwgdGVzdF9hcnJheSBbMF0gPSAw
DQp8IA0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJlOjMxNjk5OiBnY2MgLWMg
LU8zICBjb25mdGVzdC5jID4mNQ0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gYG1haW4nOg0NCmNv
bmZ0ZXN0LmM6OTk6IGVycm9yOiBzaXplIG9mIGFycmF5IGB0ZXN0X2FycmF5JyBpcyBuZWdhdGl2
ZQ0NCmNvbmZpZ3VyZTozMTcwNTogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiIN
CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZp
bmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdB
TlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9U
T1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19I
IDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
DQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEN
CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwg
I2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZp
bmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmlu
ZSBIQVZFX0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQp8
ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5GIDEN
CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5HRVRD
IDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9T
WVNfRVJSTElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmluZSBS
RVRTSUdUWVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBIQVZF
X0xPTkdfRE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUgSEFW
RV9QVFJESUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVmaW5l
IEhBVkVfU1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUgSEFW
RV9BVFRSSUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAxDQp8
ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVf
Tk9SRVRVUk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVfQUxM
T0NBIDENCnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElNQl9M
SVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJQU4g
MQ0KfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAjZGVm
aW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxDQp8
ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEN
CnwgI2RlZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDENCnwg
I2RlZmluZSBIQVZFX01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAjZGVmaW5l
IEhBVkVfTkxfTEFOR0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVmaW5lIEhB
VkVfUkFJU0UgMQ0KfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDENCnwgI2RlZmluZSBIQVZFX1NU
UkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJOTEVO
IDENCnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VMIDENCnwg
I2RlZmluZSBIQVZFX1NZU0NPTkYgMQ0KfCAjZGVmaW5lIEhBVkVfVElNRVMgMQ0KfCAjZGVmaW5l
IEhBVkVfVlNOUFJJTlRGIDENCnwgI2RlZmluZSBHTVBfTVBBUkFNX0hfU1VHR0VTVCAiLi9tcG4v
Z2VuZXJpYy9nbXAtbXBhcmFtLmgiDQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX1NIT1JUIDIN
CnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORUQgNA0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJR05FRF9M
T05HIDQNCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjZGVmaW5lIF9fR01QX1dJVEhJTl9D
T05GSUdVUkUgMSAgIC8qIGlnbm9yZSB0ZW1wbGF0ZSBzdHVmZiAqLw0KfCAjZGVmaW5lIEdNUF9O
QUlMX0JJVFMgMA0KfCAjZGVmaW5lIF9fR01QX0JJVFNfUEVSX01QX0xJTUIgMTIzIC8qIGR1bW15
IGZvciBHTVBfTlVNQl9CSVRTIGV0YyAqLw0KfCAjZGVmaW5lIEdNUF9MSU1CX0JJVFMgMTIzDQp8
IC8qICN1bmRlZiBfTE9OR19MT05HX0xJTUIgKi8NCnwgI2luY2x1ZGUgIi4vZ21wLWguaW4iDQp8
IA0KfCANCnwgaW50DQp8IG1haW4gKCkNCnwgew0KfCBzdGF0aWMgaW50IHRlc3RfYXJyYXkgWzEg
LSAyICogISgoKGxvbmcpIChzaXplb2YgKG1wX2xpbWJfdCkpKSA8PSAzKV07DQp8IHRlc3RfYXJy
YXkgWzBdID0gMA0KfCANCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZTozMTY5
OTogZ2NjIC1jIC1PMyAgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTozMTcwNTogJD8gPSAwDQpj
b25maWd1cmU6MzE3MDk6IHRlc3QgLXogDQoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycg0K
Y29uZmlndXJlOjMxNzEyOiAkPyA9IDANCmNvbmZpZ3VyZTozMTcxNTogdGVzdCAtcyBjb25mdGVz
dC5vDQpjb25maWd1cmU6MzE3MTg6ICQ/ID0gMA0KY29uZmlndXJlOjMxODgzOiBnY2MgLWMgLU8z
ICBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjMxODg5OiAkPyA9IDANCmNvbmZpZ3VyZTozMTg5
MzogdGVzdCAteiANCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyDQpjb25maWd1cmU6MzE4
OTY6ICQ/ID0gMA0KY29uZmlndXJlOjMxODk5OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8NCmNvbmZpZ3Vy
ZTozMTkwMjogJD8gPSAwDQpjb25maWd1cmU6MzE4ODM6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMg
PiY1DQpjb25maWd1cmU6MzE4ODk6ICQ/ID0gMA0KY29uZmlndXJlOjMxODkzOiB0ZXN0IC16IA0K
CQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnINCmNvbmZpZ3VyZTozMTg5NjogJD8gPSAwDQpj
b25maWd1cmU6MzE4OTk6IHRlc3QgLXMgY29uZnRlc3Qubw0KY29uZmlndXJlOjMxOTAyOiAkPyA9
IDANCmNvbmZpZ3VyZTozMjAwNjogcmVzdWx0OiA0DQpjb25maWd1cmU6MzIxNzE6IGNoZWNraW5n
IGZvciBzdGFja190DQpjb25maWd1cmU6MzIxOTY6IGdjYyAtYyAtTzMgIGNvbmZ0ZXN0LmMgPiY1
DQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6DQ0KY29uZnRlc3QuYzo5NTogZXJyb3I6
IGBzdGFja190JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikNDQpjb25m
dGVzdC5jOjk1OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk
IG9ubHkgb25jZQ0NCmNvbmZ0ZXN0LmM6OTU6IGVycm9yOiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh
cHBlYXJzIGluLikNDQpjb25mdGVzdC5jOjk1OiBlcnJvcjogcGFyc2UgZXJyb3IgYmVmb3JlICcp
JyB0b2tlbg0NCmNvbmZpZ3VyZTozMjIwMjogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
RSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBB
Q0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0
LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8
ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAjZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVm
aW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBIQVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmlu
ZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENf
SEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklO
R1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElO
VF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19I
IDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8
ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwg
I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf
SCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlND
QU5GIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xf
VU5HRVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVf
REVDTF9TWVNfRVJSTElTVCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2Rl
ZmluZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmlu
ZSBIQVZFX0xPTkdfRE9VQkxFIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZp
bmUgSEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HSVpFIDENCnwgI2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZp
bmUgSEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExP
QyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRS
SUJVVEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfQUxMT0NBIDENCnwgI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVf
TElNQl9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9F
TkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0K
fCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la
RSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G
REFZIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VU
IDENCnwgI2RlZmluZSBIQVZFX01NQVAgMQ0KfCAjZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAj
ZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0KfCAjZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVm
aW5lIEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDENCnwgI2RlZmluZSBI
QVZFX1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJOTEVOIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VM
IDENCnwgI2RlZmluZSBIQVZFX1NZU0NPTkYgMQ0KfCAjZGVmaW5lIEhBVkVfVElNRVMgMQ0KfCAj
ZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDENCnwgI2RlZmluZSBHTVBfTVBBUkFNX0hfU1VHR0VTVCAi
Li9tcG4vZ2VuZXJpYy9nbXAtbXBhcmFtLmgiDQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX1NI
T1JUIDINCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORUQgNA0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJ
R05FRF9MT05HIDQNCnwgI2RlZmluZSBTSVpFT0ZfTVBfTElNQl9UIDQNCnwgI2RlZmluZSBUVU5F
X1NRUl9LQVJBVFNVQkFfTUFYIFNRUl9LQVJBVFNVQkFfTUFYX0dFTkVSSUMNCnwgLyogZW5kIGNv
bmZkZWZzLmguICAqLw0KfCAjaW5jbHVkZSA8c2lnbmFsLmg+DQp8IA0KfCBpbnQNCnwgbWFpbiAo
KQ0KfCB7DQp8IGlmICgoc3RhY2tfdCAqKSAwKQ0KfCAgIHJldHVybiAwOw0KfCBpZiAoc2l6ZW9m
IChzdGFja190KSkNCnwgICByZXR1cm4gMDsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNv
bmZpZ3VyZTozMjIyNjogcmVzdWx0OiBubw0KY29uZmlndXJlOjMyMjY0OiBjaGVja2luZyBmb3Ig
dHB1dHMgaW4gLWxuY3Vyc2VzDQpjb25maWd1cmU6MzIyOTQ6IGdjYyAtbyBjb25mdGVzdC5leGUg
LU8zICAgY29uZnRlc3QuYyAtbG5jdXJzZXMgICA+JjUNCi91c3IvbGliL2djYy9pNjg2LXBjLWN5
Z3dpbi8zLjQuNC8uLi8uLi8uLi8uLi9pNjg2LXBjLWN5Z3dpbi9iaW4vbGQ6IGNhbm5vdCBmaW5k
IC1sbmN1cnNlcw0NCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQ0KY29uZmln
dXJlOjMyMzAwOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBj
b25mZGVmcy5oLiAgKi8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0
LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5l
IFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdF
ICJnbXAiDQp8ICNkZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0K
fCAjZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0K
fCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmlu
ZSBIQVZFX0lOVFRZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfRExGQ05fSCAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJ
VEhfU1lTX1RJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9G
TE9BVF9IIDENCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9D
QUxFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
UEFSQU1fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZ
U19USU1FU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmluZSBI
QVZFX0RFQ0xfRkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVmaW5l
IEhBVkVfREVDTF9PUFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJMSVNU
IDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZUEUg
dm9pZA0KfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VC
TEUgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZf
VCAxDQp8ICNkZWZpbmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVU
RV9DT05TVCAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmluZSBI
QVZFX0FUVFJJQlVURV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVSTiAx
DQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0KfCAj
ZGVmaW5lIFdBTlRfVE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJ
QU4gMQ0KfCAjZGVmaW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNkZWZp
bmUgSEFWRV9BTEFSTSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFWRV9D
TE9DS19HRVRUSU1FIDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmluZSBI
QVZFX0dFVFJVU0FHRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVmaW5l
IEhBVkVfTE9DQUxFQ09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5lIEhB
VkVfTU1BUCAxDQp8ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9OTF9M
QU5HSU5GTyAxDQp8ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZpbmUgSEFWRV9SQUlTRSAx
DQp8ICNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDENCnwg
I2RlZmluZSBIQVZFX1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQ0KfCAjZGVm
aW5lIEhBVkVfU1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KfCAjZGVmaW5lIEhB
VkVfU1lTQ09ORiAxDQp8ICNkZWZpbmUgSEFWRV9USU1FUyAxDQp8ICNkZWZpbmUgSEFWRV9WU05Q
UklOVEYgMQ0KfCAjZGVmaW5lIEdNUF9NUEFSQU1fSF9TVUdHRVNUICIuL21wbi9nZW5lcmljL2dt
cC1tcGFyYW0uaCINCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORURfU0hPUlQgMg0KfCAjZGVmaW5l
IFNJWkVPRl9VTlNJR05FRCA0DQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX0xPTkcgNA0KfCAj
ZGVmaW5lIFNJWkVPRl9NUF9MSU1CX1QgNA0KfCAjZGVmaW5lIFRVTkVfU1FSX0tBUkFUU1VCQV9N
QVggU1FSX0tBUkFUU1VCQV9NQVhfR0VORVJJQw0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8
IA0KfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g
ZXJyb3IuICAqLw0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJuICJDIg0KfCAjZW5kaWYN
CnwgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgZ2NjMg0KfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg
d291bGQgc3RpbGwgYXBwbHkuICAqLw0KfCBjaGFyIHRwdXRzICgpOw0KfCBpbnQNCnwgbWFpbiAo
KQ0KfCB7DQp8IHRwdXRzICgpOw0KfCAgIDsNCnwgICByZXR1cm4gMDsNCnwgfQ0KY29uZmlndXJl
OjMyMzI2OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MzIzMzE6IGNoZWNraW5nIGZvciB0cHV0cyBp
biAtbGN1cnNlcw0KY29uZmlndXJlOjMyMzYxOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNv
bmZ0ZXN0LmMgLWxjdXJzZXMgICA+JjUNCi91c3IvbGliL2djYy9pNjg2LXBjLWN5Z3dpbi8zLjQu
NC8uLi8uLi8uLi8uLi9pNjg2LXBjLWN5Z3dpbi9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sY3Vyc2Vz
DQ0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNDQpjb25maWd1cmU6MzIzNjc6
ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmgu
ICAqLw0KfCANCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImdtcCINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImdtcC1idWdzQHN3b3guY29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwg
I2RlZmluZSBWRVJTSU9OICI0LjIuMiINCnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUg
SEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUg
X19QUk9UT1RZUEVTIDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I
IDENCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
RSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg
MQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9G
R0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNM
X09QVEFSRyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9E
RUNMX1ZGUFJJTlRGIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVm
aW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNk
ZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNk
ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0KfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2Rl
ZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9UIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8
ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDEN
CnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9NQUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklC
VVRFX01PREUgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmlu
ZSBIQVZFX0FMTE9DQV9IIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FO
VF9UTVBfQUxMT0NBIDENCnwgI2RlZmluZSBIQVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNk
ZWZpbmUgSEFWRV9ET1VCTEVfSUVFRV9MSVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FM
QVJNIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJ
TUUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUlVT
QUdFIDENCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxDQp8ICNkZWZpbmUgSEFWRV9MT0NB
TEVDT05WIDENCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxDQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEN
CnwgI2RlZmluZSBIQVZFX01QUk9URUNUIDENCnwgI2RlZmluZSBIQVZFX05MX0xBTkdJTkZPIDEN
CnwgI2RlZmluZSBIQVZFX1BPUEVOIDENCnwgI2RlZmluZSBIQVZFX1JBSVNFIDENCnwgI2RlZmlu
ZSBIQVZFX1NJR0FDVElPTiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJDSFIgMQ0KfCAjZGVmaW5lIEhB
VkVfU1RSRVJST1IgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSTkxFTiAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJUT0wgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSVE9VTCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNDT05G
IDENCnwgI2RlZmluZSBIQVZFX1RJTUVTIDENCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxDQp8
ICNkZWZpbmUgR01QX01QQVJBTV9IX1NVR0dFU1QgIi4vbXBuL2dlbmVyaWMvZ21wLW1wYXJhbS5o
Ig0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJR05FRF9TSE9SVCAyDQp8ICNkZWZpbmUgU0laRU9GX1VO
U0lHTkVEIDQNCnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORURfTE9ORyA0DQp8ICNkZWZpbmUgU0la
RU9GX01QX0xJTUJfVCA0DQp8ICNkZWZpbmUgVFVORV9TUVJfS0FSQVRTVUJBX01BWCBTUVJfS0FS
QVRTVUJBX01BWF9HRU5FUklDDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgDQp8IC8qIE92
ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov
DQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0KfCBleHRlcm4gIkMiDQp8ICNlbmRpZg0KfCAvKiBXZSB1
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
DQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS4gICovDQp8IGNoYXIgdHB1dHMgKCk7DQp8IGludA0KfCBtYWluICgpDQp8IHsNCnwg
dHB1dHMgKCk7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MzIzOTM6IHJl
c3VsdDogbm8NCmNvbmZpZ3VyZTozMjQwNjogY2hlY2tpbmcgZm9yIHJlYWRsaW5lIGluIC1scmVh
ZGxpbmUNCmNvbmZpZ3VyZTozMjQzNjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVz
dC5jIC1scmVhZGxpbmUgICA+JjUNCi91c3IvbGliL2djYy9pNjg2LXBjLWN5Z3dpbi8zLjQuNC8u
Li8uLi8uLi8uLi9pNjg2LXBjLWN5Z3dpbi9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1scmVhZGxpbmUN
DQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0NCmNvbmZpZ3VyZTozMjQ0Mjog
JD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4g
ICovDQp8IA0KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIE1QIg0KfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAiZ21wIg0KfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiNC4yLjIiDQp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBNUCA0LjIuMiINCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ21wLWJ1Z3NAc3dveC5jb20iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ21wIg0KfCAj
ZGVmaW5lIFZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFdBTlRfRkZUIDENCnwgI2RlZmluZSBI
QVZFX0hPU1RfQ1BVX3BwY2JlIDENCnwgI2RlZmluZSBQUk9UT1RZUEVTIDENCnwgI2RlZmluZSBf
X1BST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01F
TU9SWV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNU
RF9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0gg
MQ0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F
IDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxDQp8
ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCnwg
I2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0K
fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAx
DQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZH
RVRDIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlNDQU5GIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xf
T1BUQVJHIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfVU5HRVRDIDENCnwgI2RlZmluZSBIQVZFX0RF
Q0xfVkZQUklOVEYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAxDQp8ICNkZWZp
bmUgSEFWRV9ERUNMX1NZU19ORVJSIDENCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQNCnwgI2Rl
ZmluZSBIQVZFX0lOVE1BWF9UIDENCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDENCnwgI2Rl
ZmluZSBIQVZFX0xPTkdfTE9ORyAxDQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1QgMQ0KfCAjZGVm
aW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HSVpFIDENCnwg
I2RlZmluZSBIQVZFX1NUREFSRyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfQ09OU1QgMQ0K
fCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01BTExPQyAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJV
VEVfTU9ERSAxDQp8ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTk9SRVRVUk4gMQ0KfCAjZGVmaW5l
IEhBVkVfQUxMT0NBX0ggMQ0KfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDENCnwgI2RlZmluZSBXQU5U
X1RNUF9BTExPQ0EgMQ0KfCAjZGVmaW5lIEhBVkVfTElNQl9MSVRUTEVfRU5ESUFOIDENCnwgI2Rl
ZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVmaW5lIEhBVkVfQUxB
Uk0gMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElN
RSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNB
R0UgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDENCnwgI2RlZmluZSBIQVZFX0xPQ0FM
RUNPTlYgMQ0KfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDENCnwgI2RlZmluZSBIQVZFX01NQVAgMQ0K
fCAjZGVmaW5lIEhBVkVfTVBST1RFQ1QgMQ0KfCAjZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0K
fCAjZGVmaW5lIEhBVkVfUE9QRU4gMQ0KfCAjZGVmaW5lIEhBVkVfUkFJU0UgMQ0KfCAjZGVmaW5l
IEhBVkVfU0lHQUNUSU9OIDENCnwgI2RlZmluZSBIQVZFX1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFW
RV9TVFJFUlJPUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJOTEVOIDENCnwgI2RlZmluZSBIQVZFX1NU
UlRPTCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VMIDENCnwgI2RlZmluZSBIQVZFX1NZU0NPTkYg
MQ0KfCAjZGVmaW5lIEhBVkVfVElNRVMgMQ0KfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDENCnwg
I2RlZmluZSBHTVBfTVBBUkFNX0hfU1VHR0VTVCAiLi9tcG4vZ2VuZXJpYy9nbXAtbXBhcmFtLmgi
DQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX1NIT1JUIDINCnwgI2RlZmluZSBTSVpFT0ZfVU5T
SUdORUQgNA0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJR05FRF9MT05HIDQNCnwgI2RlZmluZSBTSVpF
T0ZfTVBfTElNQl9UIDQNCnwgI2RlZmluZSBUVU5FX1NRUl9LQVJBVFNVQkFfTUFYIFNRUl9LQVJB
VFNVQkFfTUFYX0dFTkVSSUMNCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCANCnwgLyogT3Zl
cnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8N
CnwgI2lmZGVmIF9fY3BsdXNwbHVzDQp8IGV4dGVybiAiQyINCnwgI2VuZGlmDQp8IC8qIFdlIHVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIN
CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs
IGFwcGx5LiAgKi8NCnwgY2hhciByZWFkbGluZSAoKTsNCnwgaW50DQp8IG1haW4gKCkNCnwgew0K
fCByZWFkbGluZSAoKTsNCnwgICA7DQp8ICAgcmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZTozMjQ2
ODogcmVzdWx0OiBubw0KY29uZmlndXJlOjMyNzU2OiBjaGVja2luZyByZWFkbGluZSBkZXRlY3Rl
ZA0KY29uZmlndXJlOjMyNzU4OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6MzI3NzM6IGNoZWNraW5n
IGZvciBiaXNvbg0KY29uZmlndXJlOjMyNzg5OiBmb3VuZCAvY3lnZHJpdmUvYy9RTlg2MzAvaG9z
dC93aW4zMi94ODYvdXNyL2Jpbi9iaXNvbg0KY29uZmlndXJlOjMyNzk5OiByZXN1bHQ6IGJpc29u
IC15DQpjb25maWd1cmU6MzI4MTQ6IGNoZWNraW5nIGZvciBmbGV4DQpjb25maWd1cmU6MzI4MzA6
IGZvdW5kIC9jeWdkcml2ZS9jL1FOWDYzMC9ob3N0L3dpbjMyL3g4Ni91c3IvYmluL2ZsZXgNCmNv
bmZpZ3VyZTozMjg0MDogcmVzdWx0OiBmbGV4DQpjb25maWd1cmU6MzI4NTM6IGNoZWNraW5nIGZv
ciB5eXdyYXAgaW4gLWxmbA0KY29uZmlndXJlOjMyODgzOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1P
MyAgIGNvbmZ0ZXN0LmMgLWxmbCAgID4mNQ0KL3Vzci9saWIvZ2NjL2k2ODYtcGMtY3lnd2luLzMu
NC40Ly4uLy4uLy4uLy4uL2k2ODYtcGMtY3lnd2luL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxmbA0N
CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQ0KY29uZmlndXJlOjMyODg5OiAk
PyA9IDENCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5oLiAg
Ki8NCnwgDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTVAiDQp8ICNkZWZpbmUgUEFDS0FH
RV9UQVJOQU1FICJnbXAiDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICI0LjIuMiINCnwgI2Rl
ZmluZSBQQUNLQUdFX1NUUklORyAiR05VIE1QIDQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfQlVH
UkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCnwgI2RlZmluZSBQQUNLQUdFICJnbXAiDQp8ICNk
ZWZpbmUgVkVSU0lPTiAiNC4yLjIiDQp8ICNkZWZpbmUgV0FOVF9GRlQgMQ0KfCAjZGVmaW5lIEhB
VkVfSE9TVF9DUFVfcHBjYmUgMQ0KfCAjZGVmaW5lIFBST1RPVFlQRVMgMQ0KfCAjZGVmaW5lIF9f
UFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDENCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
U1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTUVN
T1JZX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDENCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx
DQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg
MQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxDQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDENCnwg
I2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxDQp8
ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEN
CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDENCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdF
VEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GU0NBTkYgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9P
UFRBUkcgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KfCAjZGVmaW5lIEhBVkVfREVD
TF9WRlBSSU5URiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19FUlJMSVNUIDENCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfU1lTX05FUlIgMQ0KfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZA0KfCAjZGVm
aW5lIEhBVkVfSU5UTUFYX1QgMQ0KfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQ0KfCAjZGVm
aW5lIEhBVkVfTE9OR19MT05HIDENCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxDQp8ICNkZWZp
bmUgSEFWRV9VSU5UX0xFQVNUMzJfVCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdJWkUgMQ0KfCAj
ZGVmaW5lIEhBVkVfU1REQVJHIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9DT05TVCAxDQp8
ICNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfTUFMTE9DIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVU
RV9NT0RFIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVURV9OT1JFVFVSTiAxDQp8ICNkZWZpbmUg
SEFWRV9BTExPQ0FfSCAxDQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQ0KfCAjZGVmaW5lIFdBTlRf
VE1QX0FMTE9DQSAxDQp8ICNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJQU4gMQ0KfCAjZGVm
aW5lIEhBVkVfRE9VQkxFX0lFRUVfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUgSEFWRV9BTEFS
TSAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DSyAxDQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1F
IDENCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FH
RSAxDQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQ0KfCAjZGVmaW5lIEhBVkVfTE9DQUxF
Q09OViAxDQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQ0KfCAjZGVmaW5lIEhBVkVfTU1BUCAxDQp8
ICNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQp8ICNkZWZpbmUgSEFWRV9OTF9MQU5HSU5GTyAxDQp8
ICNkZWZpbmUgSEFWRV9QT1BFTiAxDQp8ICNkZWZpbmUgSEFWRV9SQUlTRSAxDQp8ICNkZWZpbmUg
SEFWRV9TSUdBQ1RJT04gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDENCnwgI2RlZmluZSBIQVZF
X1NUUkVSUk9SIDENCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQ0KfCAjZGVmaW5lIEhBVkVfU1RS
VE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTQ09ORiAx
DQp8ICNkZWZpbmUgSEFWRV9USU1FUyAxDQp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQ0KfCAj
ZGVmaW5lIEdNUF9NUEFSQU1fSF9TVUdHRVNUICIuL21wbi9nZW5lcmljL2dtcC1tcGFyYW0uaCIN
CnwgI2RlZmluZSBTSVpFT0ZfVU5TSUdORURfU0hPUlQgMg0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJ
R05FRCA0DQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEX0xPTkcgNA0KfCAjZGVmaW5lIFNJWkVP
Rl9NUF9MSU1CX1QgNA0KfCAjZGVmaW5lIFRVTkVfU1FSX0tBUkFUU1VCQV9NQVggU1FSX0tBUkFU
U1VCQV9NQVhfR0VORVJJQw0KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovDQp8IA0KfCAvKiBPdmVy
cmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0K
fCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJuICJDIg0KfCAjZW5kaWYNCnwgLyogV2UgdXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0K
fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLw0KfCBjaGFyIHl5d3JhcCAoKTsNCnwgaW50DQp8IG1haW4gKCkNCnwgew0KfCB5
eXdyYXAgKCk7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MzI5MTU6IHJl
c3VsdDogbm8NCmNvbmZpZ3VyZTozMjkyMDogY2hlY2tpbmcgZm9yIHl5d3JhcCBpbiAtbGwNCmNv
bmZpZ3VyZTozMjk1MDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtTzMgICBjb25mdGVzdC5jIC1sbCAg
ID4mNQ0KL3Vzci9saWIvZ2NjL2k2ODYtcGMtY3lnd2luLzMuNC40Ly4uLy4uLy4uLy4uL2k2ODYt
cGMtY3lnd2luL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxsDQ0KY29sbGVjdDI6IGxkIHJldHVybmVk
IDEgZXhpdCBzdGF0dXMNDQpjb25maWd1cmU6MzI5NTY6ICQ/ID0gMQ0KY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIGNvbmZkZWZzLmguICAqLw0KfCANCnwgI2RlZmluZSBQQUNL
QUdFX05BTUUgIkdOVSBNUCINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdtcCINCnwgI2Rl
ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4yIg0KfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH
TlUgTVAgNC4yLjIiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdtcC1idWdzQHN3b3gu
Y29tIg0KfCAjZGVmaW5lIFBBQ0tBR0UgImdtcCINCnwgI2RlZmluZSBWRVJTSU9OICI0LjIuMiIN
CnwgI2RlZmluZSBXQU5UX0ZGVCAxDQp8ICNkZWZpbmUgSEFWRV9IT1NUX0NQVV9wcGNiZSAxDQp8
ICNkZWZpbmUgUFJPVE9UWVBFUyAxDQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDENCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFW
RV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBTVERDX0hFQURF
UlMgMQ0KfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxDQp8ICNkZWZpbmUgSEFWRV9GQ05U
TF9IIDENCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f
SCAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9I
IDENCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDENCnwgI2RlZmluZSBIQVZFX1NZU19USU1F
X0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1JF
U09VUkNFX0ggMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9E
RUNMX0ZTQ0FORiAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxDQp8ICNkZWZpbmUgSEFW
RV9ERUNMX1VOR0VUQyAxDQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZGUFJJTlRGIDENCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgMQ0KfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfTkVSUiAx
DQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxDQp8
ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxDQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQ0K
fCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDENCnwgI2RlZmluZSBIQVZFX1VJTlRfTEVBU1QzMl9U
IDENCnwgI2RlZmluZSBIQVZFX1NUUklOR0laRSAxDQp8ICNkZWZpbmUgSEFWRV9TVERBUkcgMQ0K
fCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX0NPTlNUIDENCnwgI2RlZmluZSBIQVZFX0FUVFJJQlVU
RV9NQUxMT0MgMQ0KfCAjZGVmaW5lIEhBVkVfQVRUUklCVVRFX01PREUgMQ0KfCAjZGVmaW5lIEhB
VkVfQVRUUklCVVRFX05PUkVUVVJOIDENCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDENCnwgI2Rl
ZmluZSBIQVZFX0FMTE9DQSAxDQp8ICNkZWZpbmUgV0FOVF9UTVBfQUxMT0NBIDENCnwgI2RlZmlu
ZSBIQVZFX0xJTUJfTElUVExFX0VORElBTiAxDQp8ICNkZWZpbmUgSEFWRV9ET1VCTEVfSUVFRV9M
SVRUTEVfRU5ESUFOIDENCnwgI2RlZmluZSBIQVZFX0FMQVJNIDENCnwgI2RlZmluZSBIQVZFX0NM
T0NLIDENCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VU
UEFHRVNJWkUgMQ0KfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDENCnwgI2RlZmluZSBIQVZFX0dF
VFRJTUVPRkRBWSAxDQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVDT05WIDENCnwgI2RlZmluZSBIQVZF
X01FTVNFVCAxDQp8ICNkZWZpbmUgSEFWRV9NTUFQIDENCnwgI2RlZmluZSBIQVZFX01QUk9URUNU
IDENCnwgI2RlZmluZSBIQVZFX05MX0xBTkdJTkZPIDENCnwgI2RlZmluZSBIQVZFX1BPUEVOIDEN
CnwgI2RlZmluZSBIQVZFX1JBSVNFIDENCnwgI2RlZmluZSBIQVZFX1NJR0FDVElPTiAxDQp8ICNk
ZWZpbmUgSEFWRV9TVFJDSFIgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQ0KfCAjZGVmaW5l
IEhBVkVfU1RSTkxFTiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJUT0wgMQ0KfCAjZGVmaW5lIEhBVkVf
U1RSVE9VTCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNDT05GIDENCnwgI2RlZmluZSBIQVZFX1RJTUVT
IDENCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxDQp8ICNkZWZpbmUgR01QX01QQVJBTV9IX1NV
R0dFU1QgIi4vbXBuL2dlbmVyaWMvZ21wLW1wYXJhbS5oIg0KfCAjZGVmaW5lIFNJWkVPRl9VTlNJ
R05FRF9TSE9SVCAyDQp8ICNkZWZpbmUgU0laRU9GX1VOU0lHTkVEIDQNCnwgI2RlZmluZSBTSVpF
T0ZfVU5TSUdORURfTE9ORyA0DQp8ICNkZWZpbmUgU0laRU9GX01QX0xJTUJfVCA0DQp8ICNkZWZp
bmUgVFVORV9TUVJfS0FSQVRTVUJBX01BWCBTUVJfS0FSQVRTVUJBX01BWF9HRU5FUklDDQp8IC8q
IGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgDQp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs
IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0K
fCBleHRlcm4gIkMiDQp8ICNlbmRpZg0KfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdo
dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g
aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovDQp8IGNoYXIgeXl3
cmFwICgpOw0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IHl5d3JhcCAoKTsNCnwgICA7DQp8ICAg
cmV0dXJuIDA7DQp8IH0NCmNvbmZpZ3VyZTozMjk4MjogcmVzdWx0OiBubw0KY29uZmlndXJlOjMy
OTkzOiBjaGVja2luZyBsZXggb3V0cHV0IGZpbGUgcm9vdA0KY29uZmlndXJlOjMzMDA0OiBmbGV4
IGNvbmZ0ZXN0LmwNCmNvbmZpZ3VyZTozMzAwNzogJD8gPSAwDQpjb25maWd1cmU6MzMwMTk6IHJl
c3VsdDogbGV4Lnl5DQpjb25maWd1cmU6MzMwMjQ6IGNoZWNraW5nIHdoZXRoZXIgeXl0ZXh0IGlz
IGEgcG9pbnRlcg0KY29uZmlndXJlOjMzMDQwOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1PMyAgIGNv
bmZ0ZXN0LmMgICA+JjUNCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL1ZDSU1+MS5JTkIvTE9DQUxTfjEv
VGVtcC9jY2VzU0xBOC5vOmNvbmZ0ZXN0LmM6KC50ZXh0KzB4ODg1KTogdW5kZWZpbmVkIHJlZmVy
ZW5jZSB0byBgX3l5d3JhcCcNDQovdXNyL2xpYi9nY2MvaTY4Ni1wYy1jeWd3aW4vMy40LjQvLi4v
Li4vLi4vbGliY3lnd2luLmEobGliY21haW4ubyk6KC50ZXh0KzB4YWIpOiB1bmRlZmluZWQgcmVm
ZXJlbmNlIHRvIGBfV2luTWFpbkAxNicNDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0
YXR1cw0NCmNvbmZpZ3VyZTozMzA0NjogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoNCnwgLyogQSBsZXhpY2FsIHNjYW5uZXIgZ2VuZXJhdGVkIGJ5IGZsZXggKi8NCnwgDQp8
IC8qIFNjYW5uZXIgc2tlbGV0b24gdmVyc2lvbjoNCnwgICogJEhlYWRlcjogL2hvbWUvZGFmZnkv
dTAvdmVybi9mbGV4L1JDUy9mbGV4LnNrbCx2IDIuOTEgOTYvMDkvMTAgMTY6NTg6NDggdmVybiBF
eHAgJA0KfCAgKi8NCnwgDQp8ICNkZWZpbmUgRkxFWF9TQ0FOTkVSDQp8ICNkZWZpbmUgWVlfRkxF
WF9NQUpPUl9WRVJTSU9OIDINCnwgI2RlZmluZSBZWV9GTEVYX01JTk9SX1ZFUlNJT04gNQ0KfCAN
CnwgI2luY2x1ZGUgPHN0ZGlvLmg+DQp8IA0KfCANCnwgLyogY2Zyb250IDEuMiBkZWZpbmVzICJj
X3BsdXNwbHVzIiBpbnN0ZWFkIG9mICJfX2NwbHVzcGx1cyIgKi8NCnwgI2lmZGVmIGNfcGx1c3Bs
dXMNCnwgI2lmbmRlZiBfX2NwbHVzcGx1cw0KfCAjZGVmaW5lIF9fY3BsdXNwbHVzDQp8ICNlbmRp
Zg0KfCAjZW5kaWYNCnwgDQp8IA0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgDQp8ICNpbmNsdWRl
IDxzdGRsaWIuaD4NCnwgI2luY2x1ZGUgPHVuaXN0ZC5oPg0KfCANCnwgLyogVXNlIHByb3RvdHlw
ZXMgaW4gZnVuY3Rpb24gZGVjbGFyYXRpb25zLiAqLw0KfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MN
CnwgDQp8IC8qIFRoZSAiY29uc3QiIHN0b3JhZ2UtY2xhc3MtbW9kaWZpZXIgaXMgdmFsaWQuICov
DQp8ICNkZWZpbmUgWVlfVVNFX0NPTlNUDQp8IA0KfCAjZWxzZQkvKiAhIF9fY3BsdXNwbHVzICov
DQp8IA0KfCAjaWYgX19TVERDX18NCnwgDQp8ICNkZWZpbmUgWVlfVVNFX1BST1RPUw0KfCAjZGVm
aW5lIFlZX1VTRV9DT05TVA0KfCANCnwgI2VuZGlmCS8qIF9fU1REQ19fICovDQp8ICNlbmRpZgkv
KiAhIF9fY3BsdXNwbHVzICovDQp8IA0KfCAjaWZkZWYgX19UVVJCT0NfXw0KfCAgI3ByYWdtYSB3
YXJuIC1yY2gNCnwgICNwcmFnbWEgd2FybiAtdXNlDQp8ICNpbmNsdWRlIDxpby5oPg0KfCAjaW5j
bHVkZSA8c3RkbGliLmg+DQp8ICNkZWZpbmUgWVlfVVNFX0NPTlNUDQp8ICNkZWZpbmUgWVlfVVNF
X1BST1RPUw0KfCAjZW5kaWYNCnwgDQp8ICNpZmRlZiBZWV9VU0VfQ09OU1QNCnwgI2RlZmluZSB5
eWNvbnN0IGNvbnN0DQp8ICNlbHNlDQp8ICNkZWZpbmUgeXljb25zdA0KfCAjZW5kaWYNCnwgDQp8
IA0KfCAjaWZkZWYgWVlfVVNFX1BST1RPUw0KfCAjZGVmaW5lIFlZX1BST1RPKHByb3RvKSBwcm90
bw0KfCAjZWxzZQ0KfCAjZGVmaW5lIFlZX1BST1RPKHByb3RvKSAoKQ0KfCAjZW5kaWYNCnwgDQp8
IC8qIFJldHVybmVkIHVwb24gZW5kLW9mLWZpbGUuICovDQp8ICNkZWZpbmUgWVlfTlVMTCAwDQp8
IA0KfCAvKiBQcm9tb3RlcyBhIHBvc3NpYmx5IG5lZ2F0aXZlLCBwb3NzaWJseSBzaWduZWQgY2hh
ciB0byBhbiB1bnNpZ25lZA0KfCAgKiBpbnRlZ2VyIGZvciB1c2UgYXMgYW4gYXJyYXkgaW5kZXgu
ICBJZiB0aGUgc2lnbmVkIGNoYXIgaXMgbmVnYXRpdmUsDQp8ICAqIHdlIHdhbnQgdG8gaW5zdGVh
ZCB0cmVhdCBpdCBhcyBhbiA4LWJpdCB1bnNpZ25lZCBjaGFyLCBoZW5jZSB0aGUNCnwgICogZG91
YmxlIGNhc3QuDQp8ICAqLw0KfCAjZGVmaW5lIFlZX1NDX1RPX1VJKGMpICgodW5zaWduZWQgaW50
KSAodW5zaWduZWQgY2hhcikgYykNCnwgDQp8IC8qIEVudGVyIGEgc3RhcnQgY29uZGl0aW9uLiAg
VGhpcyBtYWNybyByZWFsbHkgb3VnaHQgdG8gdGFrZSBhIHBhcmFtZXRlciwNCnwgICogYnV0IHdl
IGRvIGl0IHRoZSBkaXNndXN0aW5nIGNydWZ0eSB3YXkgZm9yY2VkIG9uIHVzIGJ5IHRoZSAoKS1s
ZXNzDQp8ICAqIGRlZmluaXRpb24gb2YgQkVHSU4uDQp8ICAqLw0KfCAjZGVmaW5lIEJFR0lOIHl5
X3N0YXJ0ID0gMSArIDIgKg0KfCANCnwgLyogVHJhbnNsYXRlIHRoZSBjdXJyZW50IHN0YXJ0IHN0
YXRlIGludG8gYSB2YWx1ZSB0aGF0IGNhbiBiZSBsYXRlciBoYW5kZWQNCnwgICogdG8gQkVHSU4g
dG8gcmV0dXJuIHRvIHRoZSBzdGF0ZS4gIFRoZSBZWVNUQVRFIGFsaWFzIGlzIGZvciBsZXgNCnwg
ICogY29tcGF0aWJpbGl0eS4NCnwgICovDQp8ICNkZWZpbmUgWVlfU1RBUlQgKCh5eV9zdGFydCAt
IDEpIC8gMikNCnwgI2RlZmluZSBZWVNUQVRFIFlZX1NUQVJUDQp8IA0KfCAvKiBBY3Rpb24gbnVt
YmVyIGZvciBFT0YgcnVsZSBvZiBhIGdpdmVuIHN0YXJ0IHN0YXRlLiAqLw0KfCAjZGVmaW5lIFlZ
X1NUQVRFX0VPRihzdGF0ZSkgKFlZX0VORF9PRl9CVUZGRVIgKyBzdGF0ZSArIDEpDQp8IA0KfCAv
KiBTcGVjaWFsIGFjdGlvbiBtZWFuaW5nICJzdGFydCBwcm9jZXNzaW5nIGEgbmV3IGZpbGUiLiAq
Lw0KfCAjZGVmaW5lIFlZX05FV19GSUxFIHl5cmVzdGFydCggeXlpbiApDQp8IA0KfCAjZGVmaW5l
IFlZX0VORF9PRl9CVUZGRVJfQ0hBUiAwDQp8IA0KfCAvKiBTaXplIG9mIGRlZmF1bHQgaW5wdXQg
YnVmZmVyLiAqLw0KfCAjZGVmaW5lIFlZX0JVRl9TSVpFIDE2Mzg0DQp8IA0KfCB0eXBlZGVmIHN0
cnVjdCB5eV9idWZmZXJfc3RhdGUgKllZX0JVRkZFUl9TVEFURTsNCnwgDQp8IGV4dGVybiBpbnQg
eXlsZW5nOw0KfCBleHRlcm4gRklMRSAqeXlpbiwgKnl5b3V0Ow0KfCANCnwgI2RlZmluZSBFT0Jf
QUNUX0NPTlRJTlVFX1NDQU4gMA0KfCAjZGVmaW5lIEVPQl9BQ1RfRU5EX09GX0ZJTEUgMQ0KfCAj
ZGVmaW5lIEVPQl9BQ1RfTEFTVF9NQVRDSCAyDQp8IA0KfCAvKiBUaGUgZnVua3kgZG8td2hpbGUg
aW4gdGhlIGZvbGxvd2luZyAjZGVmaW5lIGlzIHVzZWQgdG8gdHVybiB0aGUgZGVmaW5pdGlvbg0K
fCAgKiBpbnQgYSBzaW5nbGUgQyBzdGF0ZW1lbnQgKHdoaWNoIG5lZWRzIGEgc2VtaS1jb2xvbiB0
ZXJtaW5hdG9yKS4gIFRoaXMNCnwgICogYXZvaWRzIHByb2JsZW1zIHdpdGggY29kZSBsaWtlOg0K
fCAgKg0KfCAgKiAJaWYgKCBjb25kaXRpb25faG9sZHMgKQ0KfCAgKgkJeXlsZXNzKCA1ICk7DQp8
ICAqCWVsc2UNCnwgICoJCWRvX3NvbWV0aGluZ19lbHNlKCk7DQp8ICAqDQp8ICAqIFByaW9yIHRv
IHVzaW5nIHRoZSBkby13aGlsZSB0aGUgY29tcGlsZXIgd291bGQgZ2V0IHVwc2V0IGF0IHRoZQ0K
fCAgKiAiZWxzZSIgYmVjYXVzZSBpdCBpbnRlcnByZXRlZCB0aGUgImlmIiBzdGF0ZW1lbnQgYXMg
YmVpbmcgYWxsDQp8ICAqIGRvbmUgd2hlbiBpdCByZWFjaGVkIHRoZSAnOycgYWZ0ZXIgdGhlIHl5
bGVzcygpIGNhbGwuDQp8ICAqLw0KfCANCnwgLyogUmV0dXJuIGFsbCBidXQgdGhlIGZpcnN0ICdu
JyBtYXRjaGVkIGNoYXJhY3RlcnMgYmFjayB0byB0aGUgaW5wdXQgc3RyZWFtLiAqLw0KfCANCnwg
I2RlZmluZSB5eWxlc3MobikgXA0KfCAJZG8gXA0KfCAJCXsgXA0KfCAJCS8qIFVuZG8gZWZmZWN0
cyBvZiBzZXR0aW5nIHVwIHl5dGV4dC4gKi8gXA0KfCAJCSp5eV9jcCA9IHl5X2hvbGRfY2hhcjsg
XA0KfCAJCVlZX1JFU1RPUkVfWVlfTU9SRV9PRkZTRVQgXA0KfCAJCXl5X2NfYnVmX3AgPSB5eV9j
cCA9IHl5X2JwICsgbiAtIFlZX01PUkVfQURKOyBcDQp8IAkJWVlfRE9fQkVGT1JFX0FDVElPTjsg
Lyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLyBcDQp8IAkJfSBcDQp8IAl3aGlsZSAoIDAgKQ0KfCAN
CnwgI2RlZmluZSB1bnB1dChjKSB5eXVucHV0KCBjLCB5eXRleHRfcHRyICkNCnwgDQp8IC8qIFRo
ZSBmb2xsb3dpbmcgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgcG9ydGFibHkgZ2V0IG91ciBoYW5kcyBv
biBzaXplX3QNCnwgICogKHdpdGhvdXQgYXV0b2NvbmYncyBoZWxwLCB3aGljaCBpc24ndCBhdmFp
bGFibGUgYmVjYXVzZSB3ZSB3YW50DQp8ICAqIGZsZXgtZ2VuZXJhdGVkIHNjYW5uZXJzIHRvIGNv
bXBpbGUgb24gdGhlaXIgb3duKS4NCnwgICovDQp8IHR5cGVkZWYgdW5zaWduZWQgaW50IHl5X3Np
emVfdDsNCnwgDQp8IA0KfCBzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRlDQp8IAl7DQp8IAlGSUxFICp5
eV9pbnB1dF9maWxlOw0KfCANCnwgCWNoYXIgKnl5X2NoX2J1ZjsJCS8qIGlucHV0IGJ1ZmZlciAq
Lw0KfCAJY2hhciAqeXlfYnVmX3BvczsJCS8qIGN1cnJlbnQgcG9zaXRpb24gaW4gaW5wdXQgYnVm
ZmVyICovDQp8IA0KfCAJLyogU2l6ZSBvZiBpbnB1dCBidWZmZXIgaW4gYnl0ZXMsIG5vdCBpbmNs
dWRpbmcgcm9vbSBmb3IgRU9CDQp8IAkgKiBjaGFyYWN0ZXJzLg0KfCAJICovDQp8IAl5eV9zaXpl
X3QgeXlfYnVmX3NpemU7DQp8IA0KfCAJLyogTnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCBpbnRv
IHl5X2NoX2J1Ziwgbm90IGluY2x1ZGluZyBFT0INCnwgCSAqIGNoYXJhY3RlcnMuDQp8IAkgKi8N
CnwgCWludCB5eV9uX2NoYXJzOw0KfCANCnwgCS8qIFdoZXRoZXIgd2UgIm93biIgdGhlIGJ1ZmZl
ciAtIGkuZS4sIHdlIGtub3cgd2UgY3JlYXRlZCBpdCwNCnwgCSAqIGFuZCBjYW4gcmVhbGxvYygp
IGl0IHRvIGdyb3cgaXQsIGFuZCBzaG91bGQgZnJlZSgpIGl0IHRvDQp8IAkgKiBkZWxldGUgaXQu
DQp8IAkgKi8NCnwgCWludCB5eV9pc19vdXJfYnVmZmVyOw0KfCANCnwgCS8qIFdoZXRoZXIgdGhp
cyBpcyBhbiAiaW50ZXJhY3RpdmUiIGlucHV0IHNvdXJjZTsgaWYgc28sIGFuZA0KfCAJICogaWYg
d2UncmUgdXNpbmcgc3RkaW8gZm9yIGlucHV0LCB0aGVuIHdlIHdhbnQgdG8gdXNlIGdldGMoKQ0K
fCAJICogaW5zdGVhZCBvZiBmcmVhZCgpLCB0byBtYWtlIHN1cmUgd2Ugc3RvcCBmZXRjaGluZyBp
bnB1dCBhZnRlcg0KfCAJICogZWFjaCBuZXdsaW5lLg0KfCAJICovDQp8IAlpbnQgeXlfaXNfaW50
ZXJhY3RpdmU7DQp8IA0KfCAJLyogV2hldGhlciB3ZSdyZSBjb25zaWRlcmVkIHRvIGJlIGF0IHRo
ZSBiZWdpbm5pbmcgb2YgYSBsaW5lLg0KfCAJICogSWYgc28sICdeJyBydWxlcyB3aWxsIGJlIGFj
dGl2ZSBvbiB0aGUgbmV4dCBtYXRjaCwgb3RoZXJ3aXNlDQp8IAkgKiBub3QuDQp8IAkgKi8NCnwg
CWludCB5eV9hdF9ib2w7DQp8IA0KfCAJLyogV2hldGhlciB0byB0cnkgdG8gZmlsbCB0aGUgaW5w
dXQgYnVmZmVyIHdoZW4gd2UgcmVhY2ggdGhlDQp8IAkgKiBlbmQgb2YgaXQuDQp8IAkgKi8NCnwg
CWludCB5eV9maWxsX2J1ZmZlcjsNCnwgDQp8IAlpbnQgeXlfYnVmZmVyX3N0YXR1czsNCnwgI2Rl
ZmluZSBZWV9CVUZGRVJfTkVXIDANCnwgI2RlZmluZSBZWV9CVUZGRVJfTk9STUFMIDENCnwgCS8q
IFdoZW4gYW4gRU9GJ3MgYmVlbiBzZWVuIGJ1dCB0aGVyZSdzIHN0aWxsIHNvbWUgdGV4dCB0byBw
cm9jZXNzDQp8IAkgKiB0aGVuIHdlIG1hcmsgdGhlIGJ1ZmZlciBhcyBZWV9FT0ZfUEVORElORywg
dG8gaW5kaWNhdGUgdGhhdCB3ZQ0KfCAJICogc2hvdWxkbid0IHRyeSByZWFkaW5nIGZyb20gdGhl
IGlucHV0IHNvdXJjZSBhbnkgbW9yZS4gIFdlIG1pZ2h0DQp8IAkgKiBzdGlsbCBoYXZlIGEgYnVu
Y2ggb2YgdG9rZW5zIHRvIG1hdGNoLCB0aG91Z2gsIGJlY2F1c2Ugb2YNCnwgCSAqIHBvc3NpYmxl
IGJhY2tpbmctdXAuDQp8IAkgKg0KfCAJICogV2hlbiB3ZSBhY3R1YWxseSBzZWUgdGhlIEVPRiwg
d2UgY2hhbmdlIHRoZSBzdGF0dXMgdG8gIm5ldyINCnwgCSAqICh2aWEgeXlyZXN0YXJ0KCkpLCBz
byB0aGF0IHRoZSB1c2VyIGNhbiBjb250aW51ZSBzY2FubmluZyBieQ0KfCAJICoganVzdCBwb2lu
dGluZyB5eWluIGF0IGEgbmV3IGlucHV0IGZpbGUuDQp8IAkgKi8NCnwgI2RlZmluZSBZWV9CVUZG
RVJfRU9GX1BFTkRJTkcgMg0KfCAJfTsNCnwgDQp8IHN0YXRpYyBZWV9CVUZGRVJfU1RBVEUgeXlf
Y3VycmVudF9idWZmZXIgPSAwOw0KfCANCnwgLyogV2UgcHJvdmlkZSBtYWNyb3MgZm9yIGFjY2Vz
c2luZyBidWZmZXIgc3RhdGVzIGluIGNhc2UgaW4gdGhlDQp8ICAqIGZ1dHVyZSB3ZSB3YW50IHRv
IHB1dCB0aGUgYnVmZmVyIHN0YXRlcyBpbiBhIG1vcmUgZ2VuZXJhbA0KfCAgKiAic2Nhbm5lciBz
dGF0ZSIuDQp8ICAqLw0KfCAjZGVmaW5lIFlZX0NVUlJFTlRfQlVGRkVSIHl5X2N1cnJlbnRfYnVm
ZmVyDQp8IA0KfCANCnwgLyogeXlfaG9sZF9jaGFyIGhvbGRzIHRoZSBjaGFyYWN0ZXIgbG9zdCB3
aGVuIHl5dGV4dCBpcyBmb3JtZWQuICovDQp8IHN0YXRpYyBjaGFyIHl5X2hvbGRfY2hhcjsNCnwg
DQp8IHN0YXRpYyBpbnQgeXlfbl9jaGFyczsJCS8qIG51bWJlciBvZiBjaGFyYWN0ZXJzIHJlYWQg
aW50byB5eV9jaF9idWYgKi8NCnwgDQp8IA0KfCBpbnQgeXlsZW5nOw0KfCANCnwgLyogUG9pbnRz
IHRvIGN1cnJlbnQgY2hhcmFjdGVyIGluIGJ1ZmZlci4gKi8NCnwgc3RhdGljIGNoYXIgKnl5X2Nf
YnVmX3AgPSAoY2hhciAqKSAwOw0KfCBzdGF0aWMgaW50IHl5X2luaXQgPSAxOwkJLyogd2hldGhl
ciB3ZSBuZWVkIHRvIGluaXRpYWxpemUgKi8NCnwgc3RhdGljIGludCB5eV9zdGFydCA9IDA7CS8q
IHN0YXJ0IHN0YXRlIG51bWJlciAqLw0KfCANCnwgLyogRmxhZyB3aGljaCBpcyB1c2VkIHRvIGFs
bG93IHl5d3JhcCgpJ3MgdG8gZG8gYnVmZmVyIHN3aXRjaGVzDQp8ICAqIGluc3RlYWQgb2Ygc2V0
dGluZyB1cCBhIGZyZXNoIHl5aW4uICBBIGJpdCBvZiBhIGhhY2sgLi4uDQp8ICAqLw0KfCBzdGF0
aWMgaW50IHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZjsNCnwgDQp8IHZvaWQgeXlyZXN0YXJ0
IFlZX1BST1RPKCggRklMRSAqaW5wdXRfZmlsZSApKTsNCnwgDQp8IHZvaWQgeXlfc3dpdGNoX3Rv
X2J1ZmZlciBZWV9QUk9UTygoIFlZX0JVRkZFUl9TVEFURSBuZXdfYnVmZmVyICkpOw0KfCB2b2lk
IHl5X2xvYWRfYnVmZmVyX3N0YXRlIFlZX1BST1RPKCggdm9pZCApKTsNCnwgWVlfQlVGRkVSX1NU
QVRFIHl5X2NyZWF0ZV9idWZmZXIgWVlfUFJPVE8oKCBGSUxFICpmaWxlLCBpbnQgc2l6ZSApKTsN
Cnwgdm9pZCB5eV9kZWxldGVfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVGRkVSX1NUQVRFIGIgKSk7
DQp8IHZvaWQgeXlfaW5pdF9idWZmZXIgWVlfUFJPVE8oKCBZWV9CVUZGRVJfU1RBVEUgYiwgRklM
RSAqZmlsZSApKTsNCnwgdm9pZCB5eV9mbHVzaF9idWZmZXIgWVlfUFJPVE8oKCBZWV9CVUZGRVJf
U1RBVEUgYiApKTsNCnwgI2RlZmluZSBZWV9GTFVTSF9CVUZGRVIgeXlfZmx1c2hfYnVmZmVyKCB5
eV9jdXJyZW50X2J1ZmZlciApDQp8IA0KfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9idWZmZXIg
WVlfUFJPVE8oKCBjaGFyICpiYXNlLCB5eV9zaXplX3Qgc2l6ZSApKTsNCnwgWVlfQlVGRkVSX1NU
QVRFIHl5X3NjYW5fc3RyaW5nIFlZX1BST1RPKCggeXljb25zdCBjaGFyICp5eV9zdHIgKSk7DQp8
IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J5dGVzIFlZX1BST1RPKCggeXljb25zdCBjaGFyICpi
eXRlcywgaW50IGxlbiApKTsNCnwgDQp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2FsbG9jIFlZX1BS
T1RPKCggeXlfc2l6ZV90ICkpOw0KfCBzdGF0aWMgdm9pZCAqeXlfZmxleF9yZWFsbG9jIFlZX1BS
T1RPKCggdm9pZCAqLCB5eV9zaXplX3QgKSk7DQp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfZnJlZSBZ
WV9QUk9UTygoIHZvaWQgKiApKTsNCnwgDQp8ICNkZWZpbmUgeXlfbmV3X2J1ZmZlciB5eV9jcmVh
dGVfYnVmZmVyDQp8IA0KfCAjZGVmaW5lIHl5X3NldF9pbnRlcmFjdGl2ZShpc19pbnRlcmFjdGl2
ZSkgXA0KfCAJeyBcDQp8IAlpZiAoICEgeXlfY3VycmVudF9idWZmZXIgKSBcDQp8IAkJeXlfY3Vy
cmVudF9idWZmZXIgPSB5eV9jcmVhdGVfYnVmZmVyKCB5eWluLCBZWV9CVUZfU0laRSApOyBcDQp8
IAl5eV9jdXJyZW50X2J1ZmZlci0+eXlfaXNfaW50ZXJhY3RpdmUgPSBpc19pbnRlcmFjdGl2ZTsg
XA0KfCAJfQ0KfCANCnwgI2RlZmluZSB5eV9zZXRfYm9sKGF0X2JvbCkgXA0KfCAJeyBcDQp8IAlp
ZiAoICEgeXlfY3VycmVudF9idWZmZXIgKSBcDQp8IAkJeXlfY3VycmVudF9idWZmZXIgPSB5eV9j
cmVhdGVfYnVmZmVyKCB5eWluLCBZWV9CVUZfU0laRSApOyBcDQp8IAl5eV9jdXJyZW50X2J1ZmZl
ci0+eXlfYXRfYm9sID0gYXRfYm9sOyBcDQp8IAl9DQp8IA0KfCAjZGVmaW5lIFlZX0FUX0JPTCgp
ICh5eV9jdXJyZW50X2J1ZmZlci0+eXlfYXRfYm9sKQ0KfCANCnwgdHlwZWRlZiB1bnNpZ25lZCBj
aGFyIFlZX0NIQVI7DQp8IEZJTEUgKnl5aW4gPSAoRklMRSAqKSAwLCAqeXlvdXQgPSAoRklMRSAq
KSAwOw0KfCB0eXBlZGVmIGludCB5eV9zdGF0ZV90eXBlOw0KfCBleHRlcm4gY2hhciAqeXl0ZXh0
Ow0KfCAjZGVmaW5lIHl5dGV4dF9wdHIgeXl0ZXh0DQp8IA0KfCBzdGF0aWMgeXlfc3RhdGVfdHlw
ZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOw0KfCBzdGF0aWMgeXlf
c3RhdGVfdHlwZSB5eV90cnlfTlVMX3RyYW5zIFlZX1BST1RPKCggeXlfc3RhdGVfdHlwZSBjdXJy
ZW50X3N0YXRlICkpOw0KfCBzdGF0aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlciBZWV9QUk9UTygo
IHZvaWQgKSk7DQp8IHN0YXRpYyB2b2lkIHl5X2ZhdGFsX2Vycm9yIFlZX1BST1RPKCggeXljb25z
dCBjaGFyIG1zZ1tdICkpOw0KfCANCnwgLyogRG9uZSBhZnRlciB0aGUgY3VycmVudCBwYXR0ZXJu
IGhhcyBiZWVuIG1hdGNoZWQgYW5kIGJlZm9yZSB0aGUNCnwgICogY29ycmVzcG9uZGluZyBhY3Rp
b24gLSBzZXRzIHVwIHl5dGV4dC4NCnwgICovDQp8ICNkZWZpbmUgWVlfRE9fQkVGT1JFX0FDVElP
TiBcDQp8IAl5eXRleHRfcHRyID0geXlfYnA7IFwNCnwgCXl5bGVuZyA9IChpbnQpICh5eV9jcCAt
IHl5X2JwKTsgXA0KfCAJeXlfaG9sZF9jaGFyID0gKnl5X2NwOyBcDQp8IAkqeXlfY3AgPSAnXDAn
OyBcDQp8IAl5eV9jX2J1Zl9wID0geXlfY3A7DQp8IA0KfCAjZGVmaW5lIFlZX05VTV9SVUxFUyAx
DQp8ICNkZWZpbmUgWVlfRU5EX09GX0JVRkZFUiAyDQp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGlu
dCB5eV9hY2NlcHRbNl0gPQ0KfCAgICAgeyAgIDAsDQp8ICAgICAgICAgMCwgICAgMCwgICAgMiwg
ICAgMSwgICAgMA0KfCAgICAgfSA7DQp8IA0KfCBzdGF0aWMgeXljb25zdCBpbnQgeXlfZWNbMjU2
XSA9DQp8ICAgICB7ICAgMCwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLA0KfCANCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLA0KfCANCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMQ0KfCAg
ICAgfSA7DQp8IA0KfCBzdGF0aWMgeXljb25zdCBpbnQgeXlfbWV0YVsyXSA9DQp8ICAgICB7ICAg
MCwNCnwgICAgICAgICAxDQp8ICAgICB9IDsNCnwgDQp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGlu
dCB5eV9iYXNlWzddID0NCnwgICAgIHsgICAwLA0KfCAgICAgICAgIDAsICAgIDAsICAgIDIsICAg
IDMsICAgIDMsICAgIDANCnwgICAgIH0gOw0KfCANCnwgc3RhdGljIHl5Y29uc3Qgc2hvcnQgaW50
IHl5X2RlZls3XSA9DQp8ICAgICB7ICAgMCwNCnwgICAgICAgICA2LCAgICA2LCAgICA1LCAgICA1
LCAgICAwLCAgICA1DQp8ICAgICB9IDsNCnwgDQp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGludCB5
eV9ueHRbNV0gPQ0KfCAgICAgeyAgIDAsDQp8ICAgICAgICAgNCwgICAgNSwgICAgMywgICAgNQ0K
fCAgICAgfSA7DQp8IA0KfCBzdGF0aWMgeXljb25zdCBzaG9ydCBpbnQgeXlfY2hrWzVdID0NCnwg
ICAgIHsgICAwLA0KfCAgICAgICAgIDYsICAgIDMsICAgIDUsICAgIDUNCnwgICAgIH0gOw0KfCAN
Cnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfbGFzdF9hY2NlcHRpbmdfc3RhdGU7DQp8IHN0YXRp
YyBjaGFyICp5eV9sYXN0X2FjY2VwdGluZ19jcG9zOw0KfCANCnwgLyogVGhlIGludGVudCBiZWhp
bmQgdGhpcyBkZWZpbml0aW9uIGlzIHRoYXQgaXQnbGwgY2F0Y2gNCnwgICogYW55IHVzZXMgb2Yg
UkVKRUNUIHdoaWNoIGZsZXggbWlzc2VkLg0KfCAgKi8NCnwgI2RlZmluZSBSRUpFQ1QgcmVqZWN0
X3VzZWRfYnV0X25vdF9kZXRlY3RlZA0KfCAjZGVmaW5lIHl5bW9yZSgpIHl5bW9yZV91c2VkX2J1
dF9ub3RfZGV0ZWN0ZWQNCnwgI2RlZmluZSBZWV9NT1JFX0FESiAwDQp8ICNkZWZpbmUgWVlfUkVT
VE9SRV9ZWV9NT1JFX09GRlNFVA0KfCBjaGFyICp5eXRleHQ7DQp8ICNsaW5lIDEgImNvbmZ0ZXN0
LmwiDQp8ICNkZWZpbmUgSU5JVElBTCAwDQp8ICNsaW5lIDM2MyAibGV4Lnl5LmMiDQp8IA0KfCAv
KiBNYWNyb3MgYWZ0ZXIgdGhpcyBwb2ludCBjYW4gYWxsIGJlIG92ZXJyaWRkZW4gYnkgdXNlciBk
ZWZpbml0aW9ucyBpbg0KfCAgKiBzZWN0aW9uIDEuDQp8ICAqLw0KfCANCnwgI2lmbmRlZiBZWV9T
S0lQX1lZV1JBUA0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgZXh0ZXJuICJDIiBpbnQgeXl3cmFw
IFlZX1BST1RPKCggdm9pZCApKTsNCnwgI2Vsc2UNCnwgZXh0ZXJuIGludCB5eXdyYXAgWVlfUFJP
VE8oKCB2b2lkICkpOw0KfCAjZW5kaWYNCnwgI2VuZGlmDQp8IA0KfCAjaWZuZGVmIFlZX05PX1VO
UFVUDQp8IHN0YXRpYyB2b2lkIHl5dW5wdXQgWVlfUFJPVE8oKCBpbnQgYywgY2hhciAqYnVmX3B0
ciApKTsNCnwgI2VuZGlmDQp8IA0KfCAjaWZuZGVmIHl5dGV4dF9wdHINCnwgc3RhdGljIHZvaWQg
eXlfZmxleF9zdHJuY3B5IFlZX1BST1RPKCggY2hhciAqLCB5eWNvbnN0IGNoYXIgKiwgaW50ICkp
Ow0KfCAjZW5kaWYNCnwgDQp8ICNpZmRlZiBZWV9ORUVEX1NUUkxFTg0KfCBzdGF0aWMgaW50IHl5
X2ZsZXhfc3RybGVuIFlZX1BST1RPKCggeXljb25zdCBjaGFyICogKSk7DQp8ICNlbmRpZg0KfCAN
CnwgI2lmbmRlZiBZWV9OT19JTlBVVA0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgc3RhdGljIGlu
dCB5eWlucHV0IFlZX1BST1RPKCggdm9pZCApKTsNCnwgI2Vsc2UNCnwgc3RhdGljIGludCBpbnB1
dCBZWV9QUk9UTygoIHZvaWQgKSk7DQp8ICNlbmRpZg0KfCAjZW5kaWYNCnwgDQp8ICNpZiBZWV9T
VEFDS19VU0VEDQp8IHN0YXRpYyBpbnQgeXlfc3RhcnRfc3RhY2tfcHRyID0gMDsNCnwgc3RhdGlj
IGludCB5eV9zdGFydF9zdGFja19kZXB0aCA9IDA7DQp8IHN0YXRpYyBpbnQgKnl5X3N0YXJ0X3N0
YWNrID0gMDsNCnwgI2lmbmRlZiBZWV9OT19QVVNIX1NUQVRFDQp8IHN0YXRpYyB2b2lkIHl5X3B1
c2hfc3RhdGUgWVlfUFJPVE8oKCBpbnQgbmV3X3N0YXRlICkpOw0KfCAjZW5kaWYNCnwgI2lmbmRl
ZiBZWV9OT19QT1BfU1RBVEUNCnwgc3RhdGljIHZvaWQgeXlfcG9wX3N0YXRlIFlZX1BST1RPKCgg
dm9pZCApKTsNCnwgI2VuZGlmDQp8ICNpZm5kZWYgWVlfTk9fVE9QX1NUQVRFDQp8IHN0YXRpYyBp
bnQgeXlfdG9wX3N0YXRlIFlZX1BST1RPKCggdm9pZCApKTsNCnwgI2VuZGlmDQp8IA0KfCAjZWxz
ZQ0KfCAjZGVmaW5lIFlZX05PX1BVU0hfU1RBVEUgMQ0KfCAjZGVmaW5lIFlZX05PX1BPUF9TVEFU
RSAxDQp8ICNkZWZpbmUgWVlfTk9fVE9QX1NUQVRFIDENCnwgI2VuZGlmDQp8IA0KfCAjaWZkZWYg
WVlfTUFMTE9DX0RFQ0wNCnwgWVlfTUFMTE9DX0RFQ0wNCnwgI2Vsc2UNCnwgI2lmIF9fU1REQ19f
DQp8ICNpZm5kZWYgX19jcGx1c3BsdXMNCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPg0KfCAjZW5kaWYN
CnwgI2Vsc2UNCnwgLyogSnVzdCB0cnkgdG8gZ2V0IGJ5IHdpdGhvdXQgZGVjbGFyaW5nIHRoZSBy
b3V0aW5lcy4gIFRoaXMgd2lsbCBmYWlsDQp8ICAqIG1pc2VyYWJseSBvbiBub24tQU5TSSBzeXN0
ZW1zIGZvciB3aGljaCBzaXplb2Yoc2l6ZV90KSAhPSBzaXplb2YoaW50KQ0KfCAgKiBvciBzaXpl
b2Yodm9pZCopICE9IHNpemVvZihpbnQpLg0KfCAgKi8NCnwgI2VuZGlmDQp8ICNlbmRpZg0KfCAN
CnwgLyogQW1vdW50IG9mIHN0dWZmIHRvIHNsdXJwIHVwIHdpdGggZWFjaCByZWFkLiAqLw0KfCAj
aWZuZGVmIFlZX1JFQURfQlVGX1NJWkUNCnwgI2RlZmluZSBZWV9SRUFEX0JVRl9TSVpFIDgxOTIN
CnwgI2VuZGlmDQp8IA0KfCAvKiBDb3B5IHdoYXRldmVyIHRoZSBsYXN0IHJ1bGUgbWF0Y2hlZCB0
byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAqLw0KfCANCnwgI2lmbmRlZiBFQ0hPDQp8IC8qIFRoaXMg
dXNlZCB0byBiZSBhbiBmcHV0cygpLCBidXQgc2luY2UgdGhlIHN0cmluZyBtaWdodCBjb250YWlu
IE5VTCdzLA0KfCAgKiB3ZSBub3cgdXNlIGZ3cml0ZSgpLg0KfCAgKi8NCnwgI2RlZmluZSBFQ0hP
ICh2b2lkKSBmd3JpdGUoIHl5dGV4dCwgeXlsZW5nLCAxLCB5eW91dCApDQp8ICNlbmRpZg0KfCAN
CnwgLyogR2V0cyBpbnB1dCBhbmQgc3R1ZmZzIGl0IGludG8gImJ1ZiIuICBudW1iZXIgb2YgY2hh
cmFjdGVycyByZWFkLCBvciBZWV9OVUxMLA0KfCAgKiBpcyByZXR1cm5lZCBpbiAicmVzdWx0Ii4N
CnwgICovDQp8ICNpZm5kZWYgWVlfSU5QVVQNCnwgI2RlZmluZSBZWV9JTlBVVChidWYscmVzdWx0
LG1heF9zaXplKSBcDQp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyLT55eV9pc19pbnRlcmFjdGl2
ZSApIFwNCnwgCQl7IFwNCnwgCQlpbnQgYyA9ICcqJywgbjsgXA0KfCAJCWZvciAoIG4gPSAwOyBu
IDwgbWF4X3NpemUgJiYgXA0KfCAJCQkgICAgIChjID0gZ2V0YyggeXlpbiApKSAhPSBFT0YgJiYg
YyAhPSAnXG4nOyArK24gKSBcDQp8IAkJCWJ1ZltuXSA9IChjaGFyKSBjOyBcDQp8IAkJaWYgKCBj
ID09ICdcbicgKSBcDQp8IAkJCWJ1ZltuKytdID0gKGNoYXIpIGM7IFwNCnwgCQlpZiAoIGMgPT0g
RU9GICYmIGZlcnJvciggeXlpbiApICkgXA0KfCAJCQlZWV9GQVRBTF9FUlJPUiggImlucHV0IGlu
IGZsZXggc2Nhbm5lciBmYWlsZWQiICk7IFwNCnwgCQlyZXN1bHQgPSBuOyBcDQp8IAkJfSBcDQp8
IAllbHNlIGlmICggKChyZXN1bHQgPSBmcmVhZCggYnVmLCAxLCBtYXhfc2l6ZSwgeXlpbiApKSA9
PSAwKSBcDQp8IAkJICAmJiBmZXJyb3IoIHl5aW4gKSApIFwNCnwgCQlZWV9GQVRBTF9FUlJPUigg
ImlucHV0IGluIGZsZXggc2Nhbm5lciBmYWlsZWQiICk7DQp8ICNlbmRpZg0KfCANCnwgLyogTm8g
c2VtaS1jb2xvbiBhZnRlciByZXR1cm47IGNvcnJlY3QgdXNhZ2UgaXMgdG8gd3JpdGUgInl5dGVy
bWluYXRlKCk7IiAtDQp8ICAqIHdlIGRvbid0IHdhbnQgYW4gZXh0cmEgJzsnIGFmdGVyIHRoZSAi
cmV0dXJuIiBiZWNhdXNlIHRoYXQgd2lsbCBjYXVzZQ0KfCAgKiBzb21lIGNvbXBpbGVycyB0byBj
b21wbGFpbiBhYm91dCB1bnJlYWNoYWJsZSBzdGF0ZW1lbnRzLg0KfCAgKi8NCnwgI2lmbmRlZiB5
eXRlcm1pbmF0ZQ0KfCAjZGVmaW5lIHl5dGVybWluYXRlKCkgcmV0dXJuIFlZX05VTEwNCnwgI2Vu
ZGlmDQp8IA0KfCAvKiBOdW1iZXIgb2YgZW50cmllcyBieSB3aGljaCBzdGFydC1jb25kaXRpb24g
c3RhY2sgZ3Jvd3MuICovDQp8ICNpZm5kZWYgWVlfU1RBUlRfU1RBQ0tfSU5DUg0KfCAjZGVmaW5l
IFlZX1NUQVJUX1NUQUNLX0lOQ1IgMjUNCnwgI2VuZGlmDQp8IA0KfCAvKiBSZXBvcnQgYSBmYXRh
bCBlcnJvci4gKi8NCnwgI2lmbmRlZiBZWV9GQVRBTF9FUlJPUg0KfCAjZGVmaW5lIFlZX0ZBVEFM
X0VSUk9SKG1zZykgeXlfZmF0YWxfZXJyb3IoIG1zZyApDQp8ICNlbmRpZg0KfCANCnwgLyogRGVm
YXVsdCBkZWNsYXJhdGlvbiBvZiBnZW5lcmF0ZWQgc2Nhbm5lciAtIGEgZGVmaW5lIHNvIHRoZSB1
c2VyIGNhbg0KfCAgKiBlYXNpbHkgYWRkIHBhcmFtZXRlcnMuDQp8ICAqLw0KfCAjaWZuZGVmIFlZ
X0RFQ0wNCnwgI2RlZmluZSBZWV9ERUNMIGludCB5eWxleCBZWV9QUk9UTygoIHZvaWQgKSkNCnwg
I2VuZGlmDQp8IA0KfCAvKiBDb2RlIGV4ZWN1dGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBy
dWxlLCBhZnRlciB5eXRleHQgYW5kIHl5bGVuZw0KfCAgKiBoYXZlIGJlZW4gc2V0IHVwLg0KfCAg
Ki8NCnwgI2lmbmRlZiBZWV9VU0VSX0FDVElPTg0KfCAjZGVmaW5lIFlZX1VTRVJfQUNUSU9ODQp8
ICNlbmRpZg0KfCANCnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgZW5kIG9mIGVhY2ggcnVsZS4g
Ki8NCnwgI2lmbmRlZiBZWV9CUkVBSw0KfCAjZGVmaW5lIFlZX0JSRUFLIGJyZWFrOw0KfCAjZW5k
aWYNCnwgDQp8ICNkZWZpbmUgWVlfUlVMRV9TRVRVUCBcDQp8IAlZWV9VU0VSX0FDVElPTg0KfCAN
CnwgWVlfREVDTA0KfCAJew0KfCAJcmVnaXN0ZXIgeXlfc3RhdGVfdHlwZSB5eV9jdXJyZW50X3N0
YXRlOw0KfCAJcmVnaXN0ZXIgY2hhciAqeXlfY3AsICp5eV9icDsNCnwgCXJlZ2lzdGVyIGludCB5
eV9hY3Q7DQp8IA0KfCAjbGluZSAxICJjb25mdGVzdC5sIg0KfCANCnwgI2xpbmUgNTE2ICJsZXgu
eXkuYyINCnwgDQp8IAlpZiAoIHl5X2luaXQgKQ0KfCAJCXsNCnwgCQl5eV9pbml0ID0gMDsNCnwg
DQp8ICNpZmRlZiBZWV9VU0VSX0lOSVQNCnwgCQlZWV9VU0VSX0lOSVQ7DQp8ICNlbmRpZg0KfCAN
CnwgCQlpZiAoICEgeXlfc3RhcnQgKQ0KfCAJCQl5eV9zdGFydCA9IDE7CS8qIGZpcnN0IHN0YXJ0
IHN0YXRlICovDQp8IA0KfCAJCWlmICggISB5eWluICkNCnwgCQkJeXlpbiA9IHN0ZGluOw0KfCAN
CnwgCQlpZiAoICEgeXlvdXQgKQ0KfCAJCQl5eW91dCA9IHN0ZG91dDsNCnwgDQp8IAkJaWYgKCAh
IHl5X2N1cnJlbnRfYnVmZmVyICkNCnwgCQkJeXlfY3VycmVudF9idWZmZXIgPQ0KfCAJCQkJeXlf
Y3JlYXRlX2J1ZmZlciggeXlpbiwgWVlfQlVGX1NJWkUgKTsNCnwgDQp8IAkJeXlfbG9hZF9idWZm
ZXJfc3RhdGUoKTsNCnwgCQl9DQp8IA0KfCAJd2hpbGUgKCAxICkJCS8qIGxvb3BzIHVudGlsIGVu
ZC1vZi1maWxlIGlzIHJlYWNoZWQgKi8NCnwgCQl7DQp8IAkJeXlfY3AgPSB5eV9jX2J1Zl9wOw0K
fCANCnwgCQkvKiBTdXBwb3J0IG9mIHl5dGV4dC4gKi8NCnwgCQkqeXlfY3AgPSB5eV9ob2xkX2No
YXI7DQp8IA0KfCAJCS8qIHl5X2JwIHBvaW50cyB0byB0aGUgcG9zaXRpb24gaW4geXlfY2hfYnVm
IG9mIHRoZSBzdGFydCBvZg0KfCAJCSAqIHRoZSBjdXJyZW50IHJ1bi4NCnwgCQkgKi8NCnwgCQl5
eV9icCA9IHl5X2NwOw0KfCANCnwgCQl5eV9jdXJyZW50X3N0YXRlID0geXlfc3RhcnQ7DQp8IHl5
X21hdGNoOg0KfCAJCWRvDQp8IAkJCXsNCnwgCQkJcmVnaXN0ZXIgWVlfQ0hBUiB5eV9jID0geXlf
ZWNbWVlfU0NfVE9fVUkoKnl5X2NwKV07DQp8IAkJCWlmICggeXlfYWNjZXB0W3l5X2N1cnJlbnRf
c3RhdGVdICkNCnwgCQkJCXsNCnwgCQkJCXl5X2xhc3RfYWNjZXB0aW5nX3N0YXRlID0geXlfY3Vy
cmVudF9zdGF0ZTsNCnwgCQkJCXl5X2xhc3RfYWNjZXB0aW5nX2Nwb3MgPSB5eV9jcDsNCnwgCQkJ
CX0NCnwgCQkJd2hpbGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2Nd
ICE9IHl5X2N1cnJlbnRfc3RhdGUgKQ0KfCAJCQkJew0KfCAJCQkJeXlfY3VycmVudF9zdGF0ZSA9
IChpbnQpIHl5X2RlZlt5eV9jdXJyZW50X3N0YXRlXTsNCnwgCQkJCWlmICggeXlfY3VycmVudF9z
dGF0ZSA+PSA2ICkNCnwgCQkJCQl5eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9jXTsN
CnwgCQkJCX0NCnwgCQkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X254dFt5eV9iYXNlW3l5X2N1cnJl
bnRfc3RhdGVdICsgKHVuc2lnbmVkIGludCkgeXlfY107DQp8IAkJCSsreXlfY3A7DQp8IAkJCX0N
CnwgCQl3aGlsZSAoIHl5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gIT0gMyApOw0KfCANCnwgeXlf
ZmluZF9hY3Rpb246DQp8IAkJeXlfYWN0ID0geXlfYWNjZXB0W3l5X2N1cnJlbnRfc3RhdGVdOw0K
fCAJCWlmICggeXlfYWN0ID09IDAgKQ0KfCAJCQl7IC8qIGhhdmUgdG8gYmFjayB1cCAqLw0KfCAJ
CQl5eV9jcCA9IHl5X2xhc3RfYWNjZXB0aW5nX2Nwb3M7DQp8IAkJCXl5X2N1cnJlbnRfc3RhdGUg
PSB5eV9sYXN0X2FjY2VwdGluZ19zdGF0ZTsNCnwgCQkJeXlfYWN0ID0geXlfYWNjZXB0W3l5X2N1
cnJlbnRfc3RhdGVdOw0KfCAJCQl9DQp8IA0KfCAJCVlZX0RPX0JFRk9SRV9BQ1RJT047DQp8IA0K
fCANCnwgZG9fYWN0aW9uOgkvKiBUaGlzIGxhYmVsIGlzIHVzZWQgb25seSB0byBhY2Nlc3MgRU9G
IGFjdGlvbnMuICovDQp8IA0KfCANCnwgCQlzd2l0Y2ggKCB5eV9hY3QgKQ0KfCAJeyAvKiBiZWdp
bm5pbmcgb2YgYWN0aW9uIHN3aXRjaCAqLw0KfCAJCQljYXNlIDA6IC8qIG11c3QgYmFjayB1cCAq
Lw0KfCAJCQkvKiB1bmRvIHRoZSBlZmZlY3RzIG9mIFlZX0RPX0JFRk9SRV9BQ1RJT04gKi8NCnwg
CQkJKnl5X2NwID0geXlfaG9sZF9jaGFyOw0KfCAJCQl5eV9jcCA9IHl5X2xhc3RfYWNjZXB0aW5n
X2Nwb3M7DQp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9sYXN0X2FjY2VwdGluZ19zdGF0ZTsN
CnwgCQkJZ290byB5eV9maW5kX2FjdGlvbjsNCnwgDQp8IGNhc2UgMToNCnwgWVlfUlVMRV9TRVRV
UA0KfCAjbGluZSAyICJjb25mdGVzdC5sIg0KfCBFQ0hPOw0KfCAJWVlfQlJFQUsNCnwgI2xpbmUg
NjA0ICJsZXgueXkuYyINCnwgY2FzZSBZWV9TVEFURV9FT0YoSU5JVElBTCk6DQp8IAl5eXRlcm1p
bmF0ZSgpOw0KfCANCnwgCWNhc2UgWVlfRU5EX09GX0JVRkZFUjoNCnwgCQl7DQp8IAkJLyogQW1v
dW50IG9mIHRleHQgbWF0Y2hlZCBub3QgaW5jbHVkaW5nIHRoZSBFT0IgY2hhci4gKi8NCnwgCQlp
bnQgeXlfYW1vdW50X29mX21hdGNoZWRfdGV4dCA9IChpbnQpICh5eV9jcCAtIHl5dGV4dF9wdHIp
IC0gMTsNCnwgDQp8IAkJLyogVW5kbyB0aGUgZWZmZWN0cyBvZiBZWV9ET19CRUZPUkVfQUNUSU9O
LiAqLw0KfCAJCSp5eV9jcCA9IHl5X2hvbGRfY2hhcjsNCnwgCQlZWV9SRVNUT1JFX1lZX01PUkVf
T0ZGU0VUDQp8IA0KfCAJCWlmICggeXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9zdGF0dXMg
PT0gWVlfQlVGRkVSX05FVyApDQp8IAkJCXsNCnwgCQkJLyogV2UncmUgc2Nhbm5pbmcgYSBuZXcg
ZmlsZSBvciBpbnB1dCBzb3VyY2UuICBJdCdzDQp8IAkJCSAqIHBvc3NpYmxlIHRoYXQgdGhpcyBo
YXBwZW5lZCBiZWNhdXNlIHRoZSB1c2VyDQp8IAkJCSAqIGp1c3QgcG9pbnRlZCB5eWluIGF0IGEg
bmV3IHNvdXJjZSBhbmQgY2FsbGVkDQp8IAkJCSAqIHl5bGV4KCkuICBJZiBzbywgdGhlbiB3ZSBo
YXZlIHRvIGFzc3VyZQ0KfCAJCQkgKiBjb25zaXN0ZW5jeSBiZXR3ZWVuIHl5X2N1cnJlbnRfYnVm
ZmVyIGFuZCBvdXINCnwgCQkJICogZ2xvYmFscy4gIEhlcmUgaXMgdGhlIHJpZ2h0IHBsYWNlIHRv
IGRvIHNvLCBiZWNhdXNlDQp8IAkJCSAqIHRoaXMgaXMgdGhlIGZpcnN0IGFjdGlvbiAob3RoZXIg
dGhhbiBwb3NzaWJseSBhDQp8IAkJCSAqIGJhY2stdXApIHRoYXQgd2lsbCBtYXRjaCBmb3IgdGhl
IG5ldyBpbnB1dCBzb3VyY2UuDQp8IAkJCSAqLw0KfCAJCQl5eV9uX2NoYXJzID0geXlfY3VycmVu
dF9idWZmZXItPnl5X25fY2hhcnM7DQp8IAkJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9pbnB1dF9m
aWxlID0geXlpbjsNCnwgCQkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9zdGF0dXMgPSBZ
WV9CVUZGRVJfTk9STUFMOw0KfCAJCQl9DQp8IA0KfCAJCS8qIE5vdGUgdGhhdCBoZXJlIHdlIHRl
c3QgZm9yIHl5X2NfYnVmX3AgIjw9IiB0byB0aGUgcG9zaXRpb24NCnwgCQkgKiBvZiB0aGUgZmly
c3QgRU9CIGluIHRoZSBidWZmZXIsIHNpbmNlIHl5X2NfYnVmX3Agd2lsbA0KfCAJCSAqIGFscmVh
ZHkgaGF2ZSBiZWVuIGluY3JlbWVudGVkIHBhc3QgdGhlIE5VTCBjaGFyYWN0ZXINCnwgCQkgKiAo
c2luY2UgYWxsIHN0YXRlcyBtYWtlIHRyYW5zaXRpb25zIG9uIEVPQiB0byB0aGUNCnwgCQkgKiBl
bmQtb2YtYnVmZmVyIHN0YXRlKS4gIENvbnRyYXN0IHRoaXMgd2l0aCB0aGUgdGVzdA0KfCAJCSAq
IGluIGlucHV0KCkuDQp8IAkJICovDQp8IAkJaWYgKCB5eV9jX2J1Zl9wIDw9ICZ5eV9jdXJyZW50
X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnNdICkNCnwgCQkJeyAvKiBUaGlzIHdhcyByZWFs
bHkgYSBOVUwuICovDQp8IAkJCXl5X3N0YXRlX3R5cGUgeXlfbmV4dF9zdGF0ZTsNCnwgDQp8IAkJ
CXl5X2NfYnVmX3AgPSB5eXRleHRfcHRyICsgeXlfYW1vdW50X29mX21hdGNoZWRfdGV4dDsNCnwg
DQp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoKTsNCnwgDQp8
IAkJCS8qIE9rYXksIHdlJ3JlIG5vdyBwb3NpdGlvbmVkIHRvIG1ha2UgdGhlIE5VTA0KfCAJCQkg
KiB0cmFuc2l0aW9uLiAgV2UgY291bGRuJ3QgaGF2ZQ0KfCAJCQkgKiB5eV9nZXRfcHJldmlvdXNf
c3RhdGUoKSBnbyBhaGVhZCBhbmQgZG8gaXQNCnwgCQkJICogZm9yIHVzIGJlY2F1c2UgaXQgZG9l
c24ndCBrbm93IGhvdyB0byBkZWFsDQp8IAkJCSAqIHdpdGggdGhlIHBvc3NpYmlsaXR5IG9mIGph
bW1pbmcgKGFuZCB3ZSBkb24ndA0KfCAJCQkgKiB3YW50IHRvIGJ1aWxkIGphbW1pbmcgaW50byBp
dCBiZWNhdXNlIHRoZW4gaXQNCnwgCQkJICogd2lsbCBydW4gbW9yZSBzbG93bHkpLg0KfCAJCQkg
Ki8NCnwgDQp8IAkJCXl5X25leHRfc3RhdGUgPSB5eV90cnlfTlVMX3RyYW5zKCB5eV9jdXJyZW50
X3N0YXRlICk7DQp8IA0KfCAJCQl5eV9icCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsNCnwg
DQp8IAkJCWlmICggeXlfbmV4dF9zdGF0ZSApDQp8IAkJCQl7DQp8IAkJCQkvKiBDb25zdW1lIHRo
ZSBOVUwuICovDQp8IAkJCQl5eV9jcCA9ICsreXlfY19idWZfcDsNCnwgCQkJCXl5X2N1cnJlbnRf
c3RhdGUgPSB5eV9uZXh0X3N0YXRlOw0KfCAJCQkJZ290byB5eV9tYXRjaDsNCnwgCQkJCX0NCnwg
DQp8IAkJCWVsc2UNCnwgCQkJCXsNCnwgCQkJCXl5X2NwID0geXlfY19idWZfcDsNCnwgCQkJCWdv
dG8geXlfZmluZF9hY3Rpb247DQp8IAkJCQl9DQp8IAkJCX0NCnwgDQp8IAkJZWxzZSBzd2l0Y2gg
KCB5eV9nZXRfbmV4dF9idWZmZXIoKSApDQp8IAkJCXsNCnwgCQkJY2FzZSBFT0JfQUNUX0VORF9P
Rl9GSUxFOg0KfCAJCQkJew0KfCAJCQkJeXlfZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mID0gMDsN
CnwgDQp8IAkJCQlpZiAoIHl5d3JhcCgpICkNCnwgCQkJCQl7DQp8IAkJCQkJLyogTm90ZTogYmVj
YXVzZSB3ZSd2ZSB0YWtlbiBjYXJlIGluDQp8IAkJCQkJICogeXlfZ2V0X25leHRfYnVmZmVyKCkg
dG8gaGF2ZSBzZXQgdXANCnwgCQkJCQkgKiB5eXRleHQsIHdlIGNhbiBub3cgc2V0IHVwDQp8IAkJ
CQkJICogeXlfY19idWZfcCBzbyB0aGF0IGlmIHNvbWUgdG90YWwNCnwgCQkJCQkgKiBob3NlciAo
bGlrZSBmbGV4IGl0c2VsZikgd2FudHMgdG8NCnwgCQkJCQkgKiBjYWxsIHRoZSBzY2FubmVyIGFm
dGVyIHdlIHJldHVybiB0aGUNCnwgCQkJCQkgKiBZWV9OVUxMLCBpdCdsbCBzdGlsbCB3b3JrIC0g
YW5vdGhlcg0KfCAJCQkJCSAqIFlZX05VTEwgd2lsbCBnZXQgcmV0dXJuZWQuDQp8IAkJCQkJICov
DQp8IAkJCQkJeXlfY19idWZfcCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsNCnwgDQp8IAkJ
CQkJeXlfYWN0ID0gWVlfU1RBVEVfRU9GKFlZX1NUQVJUKTsNCnwgCQkJCQlnb3RvIGRvX2FjdGlv
bjsNCnwgCQkJCQl9DQp8IA0KfCAJCQkJZWxzZQ0KfCAJCQkJCXsNCnwgCQkJCQlpZiAoICEgeXlf
ZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mICkNCnwgCQkJCQkJWVlfTkVXX0ZJTEU7DQp8IAkJCQkJ
fQ0KfCAJCQkJYnJlYWs7DQp8IAkJCQl9DQp8IA0KfCAJCQljYXNlIEVPQl9BQ1RfQ09OVElOVUVf
U0NBTjoNCnwgCQkJCXl5X2NfYnVmX3AgPQ0KfCAJCQkJCXl5dGV4dF9wdHIgKyB5eV9hbW91bnRf
b2ZfbWF0Y2hlZF90ZXh0Ow0KfCANCnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJl
dmlvdXNfc3RhdGUoKTsNCnwgDQp8IAkJCQl5eV9jcCA9IHl5X2NfYnVmX3A7DQp8IAkJCQl5eV9i
cCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsNCnwgCQkJCWdvdG8geXlfbWF0Y2g7DQp8IA0K
fCAJCQljYXNlIEVPQl9BQ1RfTEFTVF9NQVRDSDoNCnwgCQkJCXl5X2NfYnVmX3AgPQ0KfCAJCQkJ
Jnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbeXlfbl9jaGFyc107DQp8IA0KfCAJCQkJeXlf
Y3VycmVudF9zdGF0ZSA9IHl5X2dldF9wcmV2aW91c19zdGF0ZSgpOw0KfCANCnwgCQkJCXl5X2Nw
ID0geXlfY19idWZfcDsNCnwgCQkJCXl5X2JwID0geXl0ZXh0X3B0ciArIFlZX01PUkVfQURKOw0K
fCAJCQkJZ290byB5eV9maW5kX2FjdGlvbjsNCnwgCQkJfQ0KfCAJCWJyZWFrOw0KfCAJCX0NCnwg
DQp8IAlkZWZhdWx0Og0KfCAJCVlZX0ZBVEFMX0VSUk9SKA0KfCAJCQkiZmF0YWwgZmxleCBzY2Fu
bmVyIGludGVybmFsIGVycm9yLS1ubyBhY3Rpb24gZm91bmQiICk7DQp8IAl9IC8qIGVuZCBvZiBh
Y3Rpb24gc3dpdGNoICovDQp8IAkJfSAvKiBlbmQgb2Ygc2Nhbm5pbmcgb25lIHRva2VuICovDQp8
IAl9IC8qIGVuZCBvZiB5eWxleCAqLw0KfCANCnwgDQp8IC8qIHl5X2dldF9uZXh0X2J1ZmZlciAt
IHRyeSB0byByZWFkIGluIGEgbmV3IGJ1ZmZlcg0KfCAgKg0KfCAgKiBSZXR1cm5zIGEgY29kZSBy
ZXByZXNlbnRpbmcgYW4gYWN0aW9uOg0KfCAgKglFT0JfQUNUX0xBU1RfTUFUQ0ggLQ0KfCAgKglF
T0JfQUNUX0NPTlRJTlVFX1NDQU4gLSBjb250aW51ZSBzY2FubmluZyBmcm9tIGN1cnJlbnQgcG9z
aXRpb24NCnwgICoJRU9CX0FDVF9FTkRfT0ZfRklMRSAtIGVuZCBvZiBmaWxlDQp8ICAqLw0KfCAN
Cnwgc3RhdGljIGludCB5eV9nZXRfbmV4dF9idWZmZXIoKQ0KfCAJew0KfCAJcmVnaXN0ZXIgY2hh
ciAqZGVzdCA9IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWY7DQp8IAlyZWdpc3RlciBjaGFy
ICpzb3VyY2UgPSB5eXRleHRfcHRyOw0KfCAJcmVnaXN0ZXIgaW50IG51bWJlcl90b19tb3ZlLCBp
Ow0KfCAJaW50IHJldF92YWw7DQp8IA0KfCAJaWYgKCB5eV9jX2J1Zl9wID4gJnl5X2N1cnJlbnRf
YnVmZmVyLT55eV9jaF9idWZbeXlfbl9jaGFycyArIDFdICkNCnwgCQlZWV9GQVRBTF9FUlJPUigN
CnwgCQkiZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQgb2YgYnVmZmVyIG1p
c3NlZCIgKTsNCnwgDQp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyLT55eV9maWxsX2J1ZmZlciA9
PSAwICkNCnwgCQl7IC8qIERvbid0IHRyeSB0byBmaWxsIHRoZSBidWZmZXIsIHNvIHRoaXMgaXMg
YW4gRU9GLiAqLw0KfCAJCWlmICggeXlfY19idWZfcCAtIHl5dGV4dF9wdHIgLSBZWV9NT1JFX0FE
SiA9PSAxICkNCnwgCQkJew0KfCAJCQkvKiBXZSBtYXRjaGVkIGEgc2luZ2xlIGNoYXJhY3Rlciwg
dGhlIEVPQiwgc28NCnwgCQkJICogdHJlYXQgdGhpcyBhcyBhIGZpbmFsIEVPRi4NCnwgCQkJICov
DQp8IAkJCXJldHVybiBFT0JfQUNUX0VORF9PRl9GSUxFOw0KfCAJCQl9DQp8IA0KfCAJCWVsc2UN
CnwgCQkJew0KfCAJCQkvKiBXZSBtYXRjaGVkIHNvbWUgdGV4dCBwcmlvciB0byB0aGUgRU9CLCBm
aXJzdA0KfCAJCQkgKiBwcm9jZXNzIGl0Lg0KfCAJCQkgKi8NCnwgCQkJcmV0dXJuIEVPQl9BQ1Rf
TEFTVF9NQVRDSDsNCnwgCQkJfQ0KfCAJCX0NCnwgDQp8IAkvKiBUcnkgdG8gcmVhZCBtb3JlIGRh
dGEuICovDQp8IA0KfCAJLyogRmlyc3QgbW92ZSBsYXN0IGNoYXJzIHRvIHN0YXJ0IG9mIGJ1ZmZl
ci4gKi8NCnwgCW51bWJlcl90b19tb3ZlID0gKGludCkgKHl5X2NfYnVmX3AgLSB5eXRleHRfcHRy
KSAtIDE7DQp8IA0KfCAJZm9yICggaSA9IDA7IGkgPCBudW1iZXJfdG9fbW92ZTsgKytpICkNCnwg
CQkqKGRlc3QrKykgPSAqKHNvdXJjZSsrKTsNCnwgDQp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVy
LT55eV9idWZmZXJfc3RhdHVzID09IFlZX0JVRkZFUl9FT0ZfUEVORElORyApDQp8IAkJLyogZG9u
J3QgZG8gdGhlIHJlYWQsIGl0J3Mgbm90IGd1YXJhbnRlZWQgdG8gcmV0dXJuIGFuIEVPRiwNCnwg
CQkgKiBqdXN0IGZvcmNlIGFuIEVPRg0KfCAJCSAqLw0KfCAJCXl5X2N1cnJlbnRfYnVmZmVyLT55
eV9uX2NoYXJzID0geXlfbl9jaGFycyA9IDA7DQp8IA0KfCAJZWxzZQ0KfCAJCXsNCnwgCQlpbnQg
bnVtX3RvX3JlYWQgPQ0KfCAJCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfYnVmX3NpemUgLSBudW1i
ZXJfdG9fbW92ZSAtIDE7DQp8IA0KfCAJCXdoaWxlICggbnVtX3RvX3JlYWQgPD0gMCApDQp8IAkJ
CXsgLyogTm90IGVub3VnaCByb29tIGluIHRoZSBidWZmZXIgLSBncm93IGl0LiAqLw0KfCAjaWZk
ZWYgWVlfVVNFU19SRUpFQ1QNCnwgCQkJWVlfRkFUQUxfRVJST1IoDQp8ICJpbnB1dCBidWZmZXIg
b3ZlcmZsb3csIGNhbid0IGVubGFyZ2UgYnVmZmVyIGJlY2F1c2Ugc2Nhbm5lciB1c2VzIFJFSkVD
VCIgKTsNCnwgI2Vsc2UNCnwgDQp8IAkJCS8qIGp1c3QgYSBzaG9ydGVyIG5hbWUgZm9yIHRoZSBj
dXJyZW50IGJ1ZmZlciAqLw0KfCAJCQlZWV9CVUZGRVJfU1RBVEUgYiA9IHl5X2N1cnJlbnRfYnVm
ZmVyOw0KfCANCnwgCQkJaW50IHl5X2NfYnVmX3Bfb2Zmc2V0ID0NCnwgCQkJCShpbnQpICh5eV9j
X2J1Zl9wIC0gYi0+eXlfY2hfYnVmKTsNCnwgDQp8IAkJCWlmICggYi0+eXlfaXNfb3VyX2J1ZmZl
ciApDQp8IAkJCQl7DQp8IAkJCQlpbnQgbmV3X3NpemUgPSBiLT55eV9idWZfc2l6ZSAqIDI7DQp8
IA0KfCAJCQkJaWYgKCBuZXdfc2l6ZSA8PSAwICkNCnwgCQkJCQliLT55eV9idWZfc2l6ZSArPSBi
LT55eV9idWZfc2l6ZSAvIDg7DQp8IAkJCQllbHNlDQp8IAkJCQkJYi0+eXlfYnVmX3NpemUgKj0g
MjsNCnwgDQp8IAkJCQliLT55eV9jaF9idWYgPSAoY2hhciAqKQ0KfCAJCQkJCS8qIEluY2x1ZGUg
cm9vbSBpbiBmb3IgMiBFT0IgY2hhcnMuICovDQp8IAkJCQkJeXlfZmxleF9yZWFsbG9jKCAodm9p
ZCAqKSBiLT55eV9jaF9idWYsDQp8IAkJCQkJCQkgYi0+eXlfYnVmX3NpemUgKyAyICk7DQp8IAkJ
CQl9DQp8IAkJCWVsc2UNCnwgCQkJCS8qIENhbid0IGdyb3cgaXQsIHdlIGRvbid0IG93biBpdC4g
Ki8NCnwgCQkJCWItPnl5X2NoX2J1ZiA9IDA7DQp8IA0KfCAJCQlpZiAoICEgYi0+eXlfY2hfYnVm
ICkNCnwgCQkJCVlZX0ZBVEFMX0VSUk9SKA0KfCAJCQkJImZhdGFsIGVycm9yIC0gc2Nhbm5lciBp
bnB1dCBidWZmZXIgb3ZlcmZsb3ciICk7DQp8IA0KfCAJCQl5eV9jX2J1Zl9wID0gJmItPnl5X2No
X2J1Zlt5eV9jX2J1Zl9wX29mZnNldF07DQp8IA0KfCAJCQludW1fdG9fcmVhZCA9IHl5X2N1cnJl
bnRfYnVmZmVyLT55eV9idWZfc2l6ZSAtDQp8IAkJCQkJCW51bWJlcl90b19tb3ZlIC0gMTsNCnwg
I2VuZGlmDQp8IAkJCX0NCnwgDQp8IAkJaWYgKCBudW1fdG9fcmVhZCA+IFlZX1JFQURfQlVGX1NJ
WkUgKQ0KfCAJCQludW1fdG9fcmVhZCA9IFlZX1JFQURfQlVGX1NJWkU7DQp8IA0KfCAJCS8qIFJl
YWQgaW4gbW9yZSBkYXRhLiAqLw0KfCAJCVlZX0lOUFVUKCAoJnl5X2N1cnJlbnRfYnVmZmVyLT55
eV9jaF9idWZbbnVtYmVyX3RvX21vdmVdKSwNCnwgCQkJeXlfbl9jaGFycywgbnVtX3RvX3JlYWQg
KTsNCnwgDQp8IAkJeXlfY3VycmVudF9idWZmZXItPnl5X25fY2hhcnMgPSB5eV9uX2NoYXJzOw0K
fCAJCX0NCnwgDQp8IAlpZiAoIHl5X25fY2hhcnMgPT0gMCApDQp8IAkJew0KfCAJCWlmICggbnVt
YmVyX3RvX21vdmUgPT0gWVlfTU9SRV9BREogKQ0KfCAJCQl7DQp8IAkJCXJldF92YWwgPSBFT0Jf
QUNUX0VORF9PRl9GSUxFOw0KfCAJCQl5eXJlc3RhcnQoIHl5aW4gKTsNCnwgCQkJfQ0KfCANCnwg
CQllbHNlDQp8IAkJCXsNCnwgCQkJcmV0X3ZhbCA9IEVPQl9BQ1RfTEFTVF9NQVRDSDsNCnwgCQkJ
eXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9zdGF0dXMgPQ0KfCAJCQkJWVlfQlVGRkVSX0VP
Rl9QRU5ESU5HOw0KfCAJCQl9DQp8IAkJfQ0KfCANCnwgCWVsc2UNCnwgCQlyZXRfdmFsID0gRU9C
X0FDVF9DT05USU5VRV9TQ0FOOw0KfCANCnwgCXl5X25fY2hhcnMgKz0gbnVtYmVyX3RvX21vdmU7
DQp8IAl5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnNdID0gWVlfRU5EX09G
X0JVRkZFUl9DSEFSOw0KfCAJeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5eV9uX2NoYXJz
ICsgMV0gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7DQp8IA0KfCAJeXl0ZXh0X3B0ciA9ICZ5eV9j
dXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmWzBdOw0KfCANCnwgCXJldHVybiByZXRfdmFsOw0KfCAJ
fQ0KfCANCnwgDQp8IC8qIHl5X2dldF9wcmV2aW91c19zdGF0ZSAtIGdldCB0aGUgc3RhdGUganVz
dCBiZWZvcmUgdGhlIEVPQiBjaGFyIHdhcyByZWFjaGVkICovDQp8IA0KfCBzdGF0aWMgeXlfc3Rh
dGVfdHlwZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoKQ0KfCAJew0KfCAJcmVnaXN0ZXIgeXlfc3Rh
dGVfdHlwZSB5eV9jdXJyZW50X3N0YXRlOw0KfCAJcmVnaXN0ZXIgY2hhciAqeXlfY3A7DQp8IA0K
fCAJeXlfY3VycmVudF9zdGF0ZSA9IHl5X3N0YXJ0Ow0KfCANCnwgCWZvciAoIHl5X2NwID0geXl0
ZXh0X3B0ciArIFlZX01PUkVfQURKOyB5eV9jcCA8IHl5X2NfYnVmX3A7ICsreXlfY3AgKQ0KfCAJ
CXsNCnwgCQlyZWdpc3RlciBZWV9DSEFSIHl5X2MgPSAoKnl5X2NwID8geXlfZWNbWVlfU0NfVE9f
VUkoKnl5X2NwKV0gOiAxKTsNCnwgCQlpZiAoIHl5X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRlXSAp
DQp8IAkJCXsNCnwgCQkJeXlfbGFzdF9hY2NlcHRpbmdfc3RhdGUgPSB5eV9jdXJyZW50X3N0YXRl
Ow0KfCAJCQl5eV9sYXN0X2FjY2VwdGluZ19jcG9zID0geXlfY3A7DQp8IAkJCX0NCnwgCQl3aGls
ZSAoIHl5X2Noa1t5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgeXlfY10gIT0geXlfY3VycmVu
dF9zdGF0ZSApDQp8IAkJCXsNCnwgCQkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2RlZlt5
eV9jdXJyZW50X3N0YXRlXTsNCnwgCQkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDYgKQ0KfCAJ
CQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlfY107DQp8IAkJCX0NCnwgCQl5eV9j
dXJyZW50X3N0YXRlID0geXlfbnh0W3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyAodW5zaWdu
ZWQgaW50KSB5eV9jXTsNCnwgCQl9DQp8IA0KfCAJcmV0dXJuIHl5X2N1cnJlbnRfc3RhdGU7DQp8
IAl9DQp8IA0KfCANCnwgLyogeXlfdHJ5X05VTF90cmFucyAtIHRyeSB0byBtYWtlIGEgdHJhbnNp
dGlvbiBvbiB0aGUgTlVMIGNoYXJhY3Rlcg0KfCAgKg0KfCAgKiBzeW5vcHNpcw0KfCAgKgluZXh0
X3N0YXRlID0geXlfdHJ5X05VTF90cmFucyggY3VycmVudF9zdGF0ZSApOw0KfCAgKi8NCnwgDQp8
ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxf
dHJhbnMoIHl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9zdGF0ZSApDQp8ICNlbHNlDQp8IHN0YXRp
YyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxfdHJhbnMoIHl5X2N1cnJlbnRfc3RhdGUgKQ0KfCB5
eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7DQp8ICNlbmRpZg0KfCAJew0KfCAJcmVnaXN0
ZXIgaW50IHl5X2lzX2phbTsNCnwgCXJlZ2lzdGVyIGNoYXIgKnl5X2NwID0geXlfY19idWZfcDsN
CnwgDQp8IAlyZWdpc3RlciBZWV9DSEFSIHl5X2MgPSAxOw0KfCAJaWYgKCB5eV9hY2NlcHRbeXlf
Y3VycmVudF9zdGF0ZV0gKQ0KfCAJCXsNCnwgCQl5eV9sYXN0X2FjY2VwdGluZ19zdGF0ZSA9IHl5
X2N1cnJlbnRfc3RhdGU7DQp8IAkJeXlfbGFzdF9hY2NlcHRpbmdfY3BvcyA9IHl5X2NwOw0KfCAJ
CX0NCnwgCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyB5eV9jXSAh
PSB5eV9jdXJyZW50X3N0YXRlICkNCnwgCQl7DQp8IAkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQp
IHl5X2RlZlt5eV9jdXJyZW50X3N0YXRlXTsNCnwgCQlpZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0g
NiApDQp8IAkJCXl5X2MgPSB5eV9tZXRhWyh1bnNpZ25lZCBpbnQpIHl5X2NdOw0KfCAJCX0NCnwg
CXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1
bnNpZ25lZCBpbnQpIHl5X2NdOw0KfCAJeXlfaXNfamFtID0gKHl5X2N1cnJlbnRfc3RhdGUgPT0g
NSk7DQp8IA0KfCAJcmV0dXJuIHl5X2lzX2phbSA/IDAgOiB5eV9jdXJyZW50X3N0YXRlOw0KfCAJ
fQ0KfCANCnwgDQp8ICNpZm5kZWYgWVlfTk9fVU5QVVQNCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MN
Cnwgc3RhdGljIHZvaWQgeXl1bnB1dCggaW50IGMsIHJlZ2lzdGVyIGNoYXIgKnl5X2JwICkNCnwg
I2Vsc2UNCnwgc3RhdGljIHZvaWQgeXl1bnB1dCggYywgeXlfYnAgKQ0KfCBpbnQgYzsNCnwgcmVn
aXN0ZXIgY2hhciAqeXlfYnA7DQp8ICNlbmRpZg0KfCAJew0KfCAJcmVnaXN0ZXIgY2hhciAqeXlf
Y3AgPSB5eV9jX2J1Zl9wOw0KfCANCnwgCS8qIHVuZG8gZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5
dGV4dCAqLw0KfCAJKnl5X2NwID0geXlfaG9sZF9jaGFyOw0KfCANCnwgCWlmICggeXlfY3AgPCB5
eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmICsgMiApDQp8IAkJeyAvKiBuZWVkIHRvIHNoaWZ0
IHRoaW5ncyB1cCB0byBtYWtlIHJvb20gKi8NCnwgCQkvKiArMiBmb3IgRU9CIGNoYXJzLiAqLw0K
fCAJCXJlZ2lzdGVyIGludCBudW1iZXJfdG9fbW92ZSA9IHl5X25fY2hhcnMgKyAyOw0KfCAJCXJl
Z2lzdGVyIGNoYXIgKmRlc3QgPSAmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1ZlsNCnwgCQkJ
CQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfYnVmX3NpemUgKyAyXTsNCnwgCQlyZWdpc3RlciBjaGFy
ICpzb3VyY2UgPQ0KfCAJCQkJJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbbnVtYmVyX3Rv
X21vdmVdOw0KfCANCnwgCQl3aGlsZSAoIHNvdXJjZSA+IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9j
aF9idWYgKQ0KfCAJCQkqLS1kZXN0ID0gKi0tc291cmNlOw0KfCANCnwgCQl5eV9jcCArPSAoaW50
KSAoZGVzdCAtIHNvdXJjZSk7DQp8IAkJeXlfYnAgKz0gKGludCkgKGRlc3QgLSBzb3VyY2UpOw0K
fCAJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9uX2NoYXJzID0NCnwgCQkJeXlfbl9jaGFycyA9IHl5
X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfc2l6ZTsNCnwgDQp8IAkJaWYgKCB5eV9jcCA8IHl5X2N1
cnJlbnRfYnVmZmVyLT55eV9jaF9idWYgKyAyICkNCnwgCQkJWVlfRkFUQUxfRVJST1IoICJmbGV4
IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93IiApOw0KfCAJCX0NCnwgDQp8IAkqLS15eV9jcCA9
IChjaGFyKSBjOw0KfCANCnwgDQp8IAl5eXRleHRfcHRyID0geXlfYnA7DQp8IAl5eV9ob2xkX2No
YXIgPSAqeXlfY3A7DQp8IAl5eV9jX2J1Zl9wID0geXlfY3A7DQp8IAl9DQp8ICNlbmRpZgkvKiBp
Zm5kZWYgWVlfTk9fVU5QVVQgKi8NCnwgDQp8IA0KfCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgc3Rh
dGljIGludCB5eWlucHV0KCkNCnwgI2Vsc2UNCnwgc3RhdGljIGludCBpbnB1dCgpDQp8ICNlbmRp
Zg0KfCAJew0KfCAJaW50IGM7DQp8IA0KfCAJKnl5X2NfYnVmX3AgPSB5eV9ob2xkX2NoYXI7DQp8
IA0KfCAJaWYgKCAqeXlfY19idWZfcCA9PSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgKQ0KfCAJCXsN
CnwgCQkvKiB5eV9jX2J1Zl9wIG5vdyBwb2ludHMgdG8gdGhlIGNoYXJhY3RlciB3ZSB3YW50IHRv
IHJldHVybi4NCnwgCQkgKiBJZiB0aGlzIG9jY3VycyAqYmVmb3JlKiB0aGUgRU9CIGNoYXJhY3Rl
cnMsIHRoZW4gaXQncyBhDQp8IAkJICogdmFsaWQgTlVMOyBpZiBub3QsIHRoZW4gd2UndmUgaGl0
IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4NCnwgCQkgKi8NCnwgCQlpZiAoIHl5X2NfYnVmX3AgPCAm
eXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5eV9uX2NoYXJzXSApDQp8IAkJCS8qIFRoaXMg
d2FzIHJlYWxseSBhIE5VTC4gKi8NCnwgCQkJKnl5X2NfYnVmX3AgPSAnXDAnOw0KfCANCnwgCQll
bHNlDQp8IAkJCXsgLyogbmVlZCBtb3JlIGlucHV0ICovDQp8IAkJCWludCBvZmZzZXQgPSB5eV9j
X2J1Zl9wIC0geXl0ZXh0X3B0cjsNCnwgCQkJKyt5eV9jX2J1Zl9wOw0KfCANCnwgCQkJc3dpdGNo
ICggeXlfZ2V0X25leHRfYnVmZmVyKCkgKQ0KfCAJCQkJew0KfCAJCQkJY2FzZSBFT0JfQUNUX0xB
U1RfTUFUQ0g6DQp8IAkJCQkJLyogVGhpcyBoYXBwZW5zIGJlY2F1c2UgeXlfZ19uX2IoKQ0KfCAJ
CQkJCSAqIHNlZXMgdGhhdCB3ZSd2ZSBhY2N1bXVsYXRlZCBhDQp8IAkJCQkJICogdG9rZW4gYW5k
IGZsYWdzIHRoYXQgd2UgbmVlZCB0bw0KfCAJCQkJCSAqIHRyeSBtYXRjaGluZyB0aGUgdG9rZW4g
YmVmb3JlDQp8IAkJCQkJICogcHJvY2VlZGluZy4gIEJ1dCBmb3IgaW5wdXQoKSwNCnwgCQkJCQkg
KiB0aGVyZSdzIG5vIG1hdGNoaW5nIHRvIGNvbnNpZGVyLg0KfCAJCQkJCSAqIFNvIGNvbnZlcnQg
dGhlIEVPQl9BQ1RfTEFTVF9NQVRDSA0KfCAJCQkJCSAqIHRvIEVPQl9BQ1RfRU5EX09GX0ZJTEUu
DQp8IAkJCQkJICovDQp8IA0KfCAJCQkJCS8qIFJlc2V0IGJ1ZmZlciBzdGF0dXMuICovDQp8IAkJ
CQkJeXlyZXN0YXJ0KCB5eWluICk7DQp8IA0KfCAJCQkJCS8qIGZhbGwgdGhyb3VnaCAqLw0KfCAN
CnwgCQkJCWNhc2UgRU9CX0FDVF9FTkRfT0ZfRklMRToNCnwgCQkJCQl7DQp8IAkJCQkJaWYgKCB5
eXdyYXAoKSApDQp8IAkJCQkJCXJldHVybiBFT0Y7DQp8IA0KfCAJCQkJCWlmICggISB5eV9kaWRf
YnVmZmVyX3N3aXRjaF9vbl9lb2YgKQ0KfCAJCQkJCQlZWV9ORVdfRklMRTsNCnwgI2lmZGVmIF9f
Y3BsdXNwbHVzDQp8IAkJCQkJcmV0dXJuIHl5aW5wdXQoKTsNCnwgI2Vsc2UNCnwgCQkJCQlyZXR1
cm4gaW5wdXQoKTsNCnwgI2VuZGlmDQp8IAkJCQkJfQ0KfCANCnwgCQkJCWNhc2UgRU9CX0FDVF9D
T05USU5VRV9TQ0FOOg0KfCAJCQkJCXl5X2NfYnVmX3AgPSB5eXRleHRfcHRyICsgb2Zmc2V0Ow0K
fCAJCQkJCWJyZWFrOw0KfCAJCQkJfQ0KfCAJCQl9DQp8IAkJfQ0KfCANCnwgCWMgPSAqKHVuc2ln
bmVkIGNoYXIgKikgeXlfY19idWZfcDsJLyogY2FzdCBmb3IgOC1iaXQgY2hhcidzICovDQp8IAkq
eXlfY19idWZfcCA9ICdcMCc7CS8qIHByZXNlcnZlIHl5dGV4dCAqLw0KfCAJeXlfaG9sZF9jaGFy
ID0gKisreXlfY19idWZfcDsNCnwgDQp8IA0KfCAJcmV0dXJuIGM7DQp8IAl9DQp8IA0KfCANCnwg
I2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgdm9pZCB5eXJlc3RhcnQoIEZJTEUgKmlucHV0X2ZpbGUg
KQ0KfCAjZWxzZQ0KfCB2b2lkIHl5cmVzdGFydCggaW5wdXRfZmlsZSApDQp8IEZJTEUgKmlucHV0
X2ZpbGU7DQp8ICNlbmRpZg0KfCAJew0KfCAJaWYgKCAhIHl5X2N1cnJlbnRfYnVmZmVyICkNCnwg
CQl5eV9jdXJyZW50X2J1ZmZlciA9IHl5X2NyZWF0ZV9idWZmZXIoIHl5aW4sIFlZX0JVRl9TSVpF
ICk7DQp8IA0KfCAJeXlfaW5pdF9idWZmZXIoIHl5X2N1cnJlbnRfYnVmZmVyLCBpbnB1dF9maWxl
ICk7DQp8IAl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSgpOw0KfCAJfQ0KfCANCnwgDQp8ICNpZmRlZiBZ
WV9VU0VfUFJPVE9TDQp8IHZvaWQgeXlfc3dpdGNoX3RvX2J1ZmZlciggWVlfQlVGRkVSX1NUQVRF
IG5ld19idWZmZXIgKQ0KfCAjZWxzZQ0KfCB2b2lkIHl5X3N3aXRjaF90b19idWZmZXIoIG5ld19i
dWZmZXIgKQ0KfCBZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlcjsNCnwgI2VuZGlmDQp8IAl7DQp8
IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyID09IG5ld19idWZmZXIgKQ0KfCAJCXJldHVybjsNCnwg
DQp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyICkNCnwgCQl7DQp8IAkJLyogRmx1c2ggb3V0IGlu
Zm9ybWF0aW9uIGZvciBvbGQgYnVmZmVyLiAqLw0KfCAJCSp5eV9jX2J1Zl9wID0geXlfaG9sZF9j
aGFyOw0KfCAJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfcG9zID0geXlfY19idWZfcDsNCnwg
CQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFycyA9IHl5X25fY2hhcnM7DQp8IAkJfQ0KfCAN
CnwgCXl5X2N1cnJlbnRfYnVmZmVyID0gbmV3X2J1ZmZlcjsNCnwgCXl5X2xvYWRfYnVmZmVyX3N0
YXRlKCk7DQp8IA0KfCAJLyogV2UgZG9uJ3QgYWN0dWFsbHkga25vdyB3aGV0aGVyIHdlIGRpZCB0
aGlzIHN3aXRjaCBkdXJpbmcNCnwgCSAqIEVPRiAoeXl3cmFwKCkpIHByb2Nlc3NpbmcsIGJ1dCB0
aGUgb25seSB0aW1lIHRoaXMgZmxhZw0KfCAJICogaXMgbG9va2VkIGF0IGlzIGFmdGVyIHl5d3Jh
cCgpIGlzIGNhbGxlZCwgc28gaXQncyBzYWZlDQp8IAkgKiB0byBnbyBhaGVhZCBhbmQgYWx3YXlz
IHNldCBpdC4NCnwgCSAqLw0KfCAJeXlfZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mID0gMTsNCnwg
CX0NCnwgDQp8IA0KfCAjaWZkZWYgWVlfVVNFX1BST1RPUw0KfCB2b2lkIHl5X2xvYWRfYnVmZmVy
X3N0YXRlKCB2b2lkICkNCnwgI2Vsc2UNCnwgdm9pZCB5eV9sb2FkX2J1ZmZlcl9zdGF0ZSgpDQp8
ICNlbmRpZg0KfCAJew0KfCAJeXlfbl9jaGFycyA9IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9uX2No
YXJzOw0KfCAJeXl0ZXh0X3B0ciA9IHl5X2NfYnVmX3AgPSB5eV9jdXJyZW50X2J1ZmZlci0+eXlf
YnVmX3BvczsNCnwgCXl5aW4gPSB5eV9jdXJyZW50X2J1ZmZlci0+eXlfaW5wdXRfZmlsZTsNCnwg
CXl5X2hvbGRfY2hhciA9ICp5eV9jX2J1Zl9wOw0KfCAJfQ0KfCANCnwgDQp8ICNpZmRlZiBZWV9V
U0VfUFJPVE9TDQp8IFlZX0JVRkZFUl9TVEFURSB5eV9jcmVhdGVfYnVmZmVyKCBGSUxFICpmaWxl
LCBpbnQgc2l6ZSApDQp8ICNlbHNlDQp8IFlZX0JVRkZFUl9TVEFURSB5eV9jcmVhdGVfYnVmZmVy
KCBmaWxlLCBzaXplICkNCnwgRklMRSAqZmlsZTsNCnwgaW50IHNpemU7DQp8ICNlbmRpZg0KfCAJ
ew0KfCAJWVlfQlVGRkVSX1NUQVRFIGI7DQp8IA0KfCAJYiA9IChZWV9CVUZGRVJfU1RBVEUpIHl5
X2ZsZXhfYWxsb2MoIHNpemVvZiggc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSApICk7DQp8IAlpZiAo
ICEgYiApDQp8IAkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlf
Y3JlYXRlX2J1ZmZlcigpIiApOw0KfCANCnwgCWItPnl5X2J1Zl9zaXplID0gc2l6ZTsNCnwgDQp8
IAkvKiB5eV9jaF9idWYgaGFzIHRvIGJlIDIgY2hhcmFjdGVycyBsb25nZXIgdGhhbiB0aGUgc2l6
ZSBnaXZlbiBiZWNhdXNlDQp8IAkgKiB3ZSBuZWVkIHRvIHB1dCBpbiAyIGVuZC1vZi1idWZmZXIg
Y2hhcmFjdGVycy4NCnwgCSAqLw0KfCAJYi0+eXlfY2hfYnVmID0gKGNoYXIgKikgeXlfZmxleF9h
bGxvYyggYi0+eXlfYnVmX3NpemUgKyAyICk7DQp8IAlpZiAoICEgYi0+eXlfY2hfYnVmICkNCnwg
CQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9jcmVhdGVfYnVm
ZmVyKCkiICk7DQp8IA0KfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDE7DQp8IA0KfCAJeXlfaW5p
dF9idWZmZXIoIGIsIGZpbGUgKTsNCnwgDQp8IAlyZXR1cm4gYjsNCnwgCX0NCnwgDQp8IA0KfCAj
aWZkZWYgWVlfVVNFX1BST1RPUw0KfCB2b2lkIHl5X2RlbGV0ZV9idWZmZXIoIFlZX0JVRkZFUl9T
VEFURSBiICkNCnwgI2Vsc2UNCnwgdm9pZCB5eV9kZWxldGVfYnVmZmVyKCBiICkNCnwgWVlfQlVG
RkVSX1NUQVRFIGI7DQp8ICNlbmRpZg0KfCAJew0KfCAJaWYgKCAhIGIgKQ0KfCAJCXJldHVybjsN
CnwgDQp8IAlpZiAoIGIgPT0geXlfY3VycmVudF9idWZmZXIgKQ0KfCAJCXl5X2N1cnJlbnRfYnVm
ZmVyID0gKFlZX0JVRkZFUl9TVEFURSkgMDsNCnwgDQp8IAlpZiAoIGItPnl5X2lzX291cl9idWZm
ZXIgKQ0KfCAJCXl5X2ZsZXhfZnJlZSggKHZvaWQgKikgYi0+eXlfY2hfYnVmICk7DQp8IA0KfCAJ
eXlfZmxleF9mcmVlKCAodm9pZCAqKSBiICk7DQp8IAl9DQp8IA0KfCANCnwgI2lmbmRlZiBZWV9B
TFdBWVNfSU5URVJBQ1RJVkUNCnwgI2lmbmRlZiBZWV9ORVZFUl9JTlRFUkFDVElWRQ0KfCBleHRl
cm4gaW50IGlzYXR0eSBZWV9QUk9UTygoIGludCApKTsNCnwgI2VuZGlmDQp8ICNlbmRpZg0KfCAN
CnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgdm9pZCB5eV9pbml0X2J1ZmZlciggWVlfQlVGRkVS
X1NUQVRFIGIsIEZJTEUgKmZpbGUgKQ0KfCAjZWxzZQ0KfCB2b2lkIHl5X2luaXRfYnVmZmVyKCBi
LCBmaWxlICkNCnwgWVlfQlVGRkVSX1NUQVRFIGI7DQp8IEZJTEUgKmZpbGU7DQp8ICNlbmRpZg0K
fCANCnwgDQp8IAl7DQp8IAl5eV9mbHVzaF9idWZmZXIoIGIgKTsNCnwgDQp8IAliLT55eV9pbnB1
dF9maWxlID0gZmlsZTsNCnwgCWItPnl5X2ZpbGxfYnVmZmVyID0gMTsNCnwgDQp8ICNpZiBZWV9B
TFdBWVNfSU5URVJBQ1RJVkUNCnwgCWItPnl5X2lzX2ludGVyYWN0aXZlID0gMTsNCnwgI2Vsc2UN
CnwgI2lmIFlZX05FVkVSX0lOVEVSQUNUSVZFDQp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IDA7
DQp8ICNlbHNlDQp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IGZpbGUgPyAoaXNhdHR5KCBmaWxl
bm8oZmlsZSkgKSA+IDApIDogMDsNCnwgI2VuZGlmDQp8ICNlbmRpZg0KfCAJfQ0KfCANCnwgDQp8
ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyKCBZWV9CVUZGRVJf
U1RBVEUgYiApDQp8ICNlbHNlDQp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyKCBiICkNCnwgWVlfQlVG
RkVSX1NUQVRFIGI7DQp8ICNlbmRpZg0KfCANCnwgCXsNCnwgCWlmICggISBiICkNCnwgCQlyZXR1
cm47DQp8IA0KfCAJYi0+eXlfbl9jaGFycyA9IDA7DQp8IA0KfCAJLyogV2UgYWx3YXlzIG5lZWQg
dHdvIGVuZC1vZi1idWZmZXIgY2hhcmFjdGVycy4gIFRoZSBmaXJzdCBjYXVzZXMNCnwgCSAqIGEg
dHJhbnNpdGlvbiB0byB0aGUgZW5kLW9mLWJ1ZmZlciBzdGF0ZS4gIFRoZSBzZWNvbmQgY2F1c2Vz
DQp8IAkgKiBhIGphbSBpbiB0aGF0IHN0YXRlLg0KfCAJICovDQp8IAliLT55eV9jaF9idWZbMF0g
PSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7DQp8IAliLT55eV9jaF9idWZbMV0gPSBZWV9FTkRfT0Zf
QlVGRkVSX0NIQVI7DQp8IA0KfCAJYi0+eXlfYnVmX3BvcyA9ICZiLT55eV9jaF9idWZbMF07DQp8
IA0KfCAJYi0+eXlfYXRfYm9sID0gMTsNCnwgCWItPnl5X2J1ZmZlcl9zdGF0dXMgPSBZWV9CVUZG
RVJfTkVXOw0KfCANCnwgCWlmICggYiA9PSB5eV9jdXJyZW50X2J1ZmZlciApDQp8IAkJeXlfbG9h
ZF9idWZmZXJfc3RhdGUoKTsNCnwgCX0NCnwgDQp8IA0KfCAjaWZuZGVmIFlZX05PX1NDQU5fQlVG
RkVSDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J1
ZmZlciggY2hhciAqYmFzZSwgeXlfc2l6ZV90IHNpemUgKQ0KfCAjZWxzZQ0KfCBZWV9CVUZGRVJf
U1RBVEUgeXlfc2Nhbl9idWZmZXIoIGJhc2UsIHNpemUgKQ0KfCBjaGFyICpiYXNlOw0KfCB5eV9z
aXplX3Qgc2l6ZTsNCnwgI2VuZGlmDQp8IAl7DQp8IAlZWV9CVUZGRVJfU1RBVEUgYjsNCnwgDQp8
IAlpZiAoIHNpemUgPCAyIHx8DQp8IAkgICAgIGJhc2Vbc2l6ZS0yXSAhPSBZWV9FTkRfT0ZfQlVG
RkVSX0NIQVIgfHwNCnwgCSAgICAgYmFzZVtzaXplLTFdICE9IFlZX0VORF9PRl9CVUZGRVJfQ0hB
UiApDQp8IAkJLyogVGhleSBmb3Jnb3QgdG8gbGVhdmUgcm9vbSBmb3IgdGhlIEVPQidzLiAqLw0K
fCAJCXJldHVybiAwOw0KfCANCnwgCWIgPSAoWVlfQlVGRkVSX1NUQVRFKSB5eV9mbGV4X2FsbG9j
KCBzaXplb2YoIHN0cnVjdCB5eV9idWZmZXJfc3RhdGUgKSApOw0KfCAJaWYgKCAhIGIgKQ0KfCAJ
CVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X3NjYW5fYnVmZmVy
KCkiICk7DQp8IA0KfCAJYi0+eXlfYnVmX3NpemUgPSBzaXplIC0gMjsJLyogIi0gMiIgdG8gdGFr
ZSBjYXJlIG9mIEVPQidzICovDQp8IAliLT55eV9idWZfcG9zID0gYi0+eXlfY2hfYnVmID0gYmFz
ZTsNCnwgCWItPnl5X2lzX291cl9idWZmZXIgPSAwOw0KfCAJYi0+eXlfaW5wdXRfZmlsZSA9IDA7
DQp8IAliLT55eV9uX2NoYXJzID0gYi0+eXlfYnVmX3NpemU7DQp8IAliLT55eV9pc19pbnRlcmFj
dGl2ZSA9IDA7DQp8IAliLT55eV9hdF9ib2wgPSAxOw0KfCAJYi0+eXlfZmlsbF9idWZmZXIgPSAw
Ow0KfCAJYi0+eXlfYnVmZmVyX3N0YXR1cyA9IFlZX0JVRkZFUl9ORVc7DQp8IA0KfCAJeXlfc3dp
dGNoX3RvX2J1ZmZlciggYiApOw0KfCANCnwgCXJldHVybiBiOw0KfCAJfQ0KfCAjZW5kaWYNCnwg
DQp8IA0KfCAjaWZuZGVmIFlZX05PX1NDQU5fU1RSSU5HDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9T
DQp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX3N0cmluZyggeXljb25zdCBjaGFyICp5eV9zdHIg
KQ0KfCAjZWxzZQ0KfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9zdHJpbmcoIHl5X3N0ciApDQp8
IHl5Y29uc3QgY2hhciAqeXlfc3RyOw0KfCAjZW5kaWYNCnwgCXsNCnwgCWludCBsZW47DQp8IAlm
b3IgKCBsZW4gPSAwOyB5eV9zdHJbbGVuXTsgKytsZW4gKQ0KfCAJCTsNCnwgDQp8IAlyZXR1cm4g
eXlfc2Nhbl9ieXRlcyggeXlfc3RyLCBsZW4gKTsNCnwgCX0NCnwgI2VuZGlmDQp8IA0KfCANCnwg
I2lmbmRlZiBZWV9OT19TQ0FOX0JZVEVTDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IFlZX0JV
RkZFUl9TVEFURSB5eV9zY2FuX2J5dGVzKCB5eWNvbnN0IGNoYXIgKmJ5dGVzLCBpbnQgbGVuICkN
CnwgI2Vsc2UNCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMoIGJ5dGVzLCBsZW4gKQ0K
fCB5eWNvbnN0IGNoYXIgKmJ5dGVzOw0KfCBpbnQgbGVuOw0KfCAjZW5kaWYNCnwgCXsNCnwgCVlZ
X0JVRkZFUl9TVEFURSBiOw0KfCAJY2hhciAqYnVmOw0KfCAJeXlfc2l6ZV90IG47DQp8IAlpbnQg
aTsNCnwgDQp8IAkvKiBHZXQgbWVtb3J5IGZvciBmdWxsIGJ1ZmZlciwgaW5jbHVkaW5nIHNwYWNl
IGZvciB0cmFpbGluZyBFT0Incy4gKi8NCnwgCW4gPSBsZW4gKyAyOw0KfCAJYnVmID0gKGNoYXIg
KikgeXlfZmxleF9hbGxvYyggbiApOw0KfCAJaWYgKCAhIGJ1ZiApDQp8IAkJWVlfRkFUQUxfRVJS
T1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlfc2Nhbl9ieXRlcygpIiApOw0KfCANCnwg
CWZvciAoIGkgPSAwOyBpIDwgbGVuOyArK2kgKQ0KfCAJCWJ1ZltpXSA9IGJ5dGVzW2ldOw0KfCAN
CnwgCWJ1ZltsZW5dID0gYnVmW2xlbisxXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsNCnwgDQp8
IAliID0geXlfc2Nhbl9idWZmZXIoIGJ1ZiwgbiApOw0KfCAJaWYgKCAhIGIgKQ0KfCAJCVlZX0ZB
VEFMX0VSUk9SKCAiYmFkIGJ1ZmZlciBpbiB5eV9zY2FuX2J5dGVzKCkiICk7DQp8IA0KfCAJLyog
SXQncyBva2F5IHRvIGdyb3cgZXRjLiB0aGlzIGJ1ZmZlciwgYW5kIHdlIHNob3VsZCB0aHJvdyBp
dA0KfCAJICogYXdheSB3aGVuIHdlJ3JlIGRvbmUuDQp8IAkgKi8NCnwgCWItPnl5X2lzX291cl9i
dWZmZXIgPSAxOw0KfCANCnwgCXJldHVybiBiOw0KfCAJfQ0KfCAjZW5kaWYNCnwgDQp8IA0KfCAj
aWZuZGVmIFlZX05PX1BVU0hfU1RBVEUNCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgc3RhdGlj
IHZvaWQgeXlfcHVzaF9zdGF0ZSggaW50IG5ld19zdGF0ZSApDQp8ICNlbHNlDQp8IHN0YXRpYyB2
b2lkIHl5X3B1c2hfc3RhdGUoIG5ld19zdGF0ZSApDQp8IGludCBuZXdfc3RhdGU7DQp8ICNlbmRp
Zg0KfCAJew0KfCAJaWYgKCB5eV9zdGFydF9zdGFja19wdHIgPj0geXlfc3RhcnRfc3RhY2tfZGVw
dGggKQ0KfCAJCXsNCnwgCQl5eV9zaXplX3QgbmV3X3NpemU7DQp8IA0KfCAJCXl5X3N0YXJ0X3N0
YWNrX2RlcHRoICs9IFlZX1NUQVJUX1NUQUNLX0lOQ1I7DQp8IAkJbmV3X3NpemUgPSB5eV9zdGFy
dF9zdGFja19kZXB0aCAqIHNpemVvZiggaW50ICk7DQp8IA0KfCAJCWlmICggISB5eV9zdGFydF9z
dGFjayApDQp8IAkJCXl5X3N0YXJ0X3N0YWNrID0gKGludCAqKSB5eV9mbGV4X2FsbG9jKCBuZXdf
c2l6ZSApOw0KfCANCnwgCQllbHNlDQp8IAkJCXl5X3N0YXJ0X3N0YWNrID0gKGludCAqKSB5eV9m
bGV4X3JlYWxsb2MoDQp8IAkJCQkJKHZvaWQgKikgeXlfc3RhcnRfc3RhY2ssIG5ld19zaXplICk7
DQp8IA0KfCAJCWlmICggISB5eV9zdGFydF9zdGFjayApDQp8IAkJCVlZX0ZBVEFMX0VSUk9SKA0K
fCAJCQkib3V0IG9mIG1lbW9yeSBleHBhbmRpbmcgc3RhcnQtY29uZGl0aW9uIHN0YWNrIiApOw0K
fCAJCX0NCnwgDQp8IAl5eV9zdGFydF9zdGFja1t5eV9zdGFydF9zdGFja19wdHIrK10gPSBZWV9T
VEFSVDsNCnwgDQp8IAlCRUdJTihuZXdfc3RhdGUpOw0KfCAJfQ0KfCAjZW5kaWYNCnwgDQp8IA0K
fCAjaWZuZGVmIFlZX05PX1BPUF9TVEFURQ0KfCBzdGF0aWMgdm9pZCB5eV9wb3Bfc3RhdGUoKQ0K
fCAJew0KfCAJaWYgKCAtLXl5X3N0YXJ0X3N0YWNrX3B0ciA8IDAgKQ0KfCAJCVlZX0ZBVEFMX0VS
Uk9SKCAic3RhcnQtY29uZGl0aW9uIHN0YWNrIHVuZGVyZmxvdyIgKTsNCnwgDQp8IAlCRUdJTih5
eV9zdGFydF9zdGFja1t5eV9zdGFydF9zdGFja19wdHJdKTsNCnwgCX0NCnwgI2VuZGlmDQp8IA0K
fCANCnwgI2lmbmRlZiBZWV9OT19UT1BfU1RBVEUNCnwgc3RhdGljIGludCB5eV90b3Bfc3RhdGUo
KQ0KfCAJew0KfCAJcmV0dXJuIHl5X3N0YXJ0X3N0YWNrW3l5X3N0YXJ0X3N0YWNrX3B0ciAtIDFd
Ow0KfCAJfQ0KfCAjZW5kaWYNCnwgDQp8ICNpZm5kZWYgWVlfRVhJVF9GQUlMVVJFDQp8ICNkZWZp
bmUgWVlfRVhJVF9GQUlMVVJFIDINCnwgI2VuZGlmDQp8IA0KfCAjaWZkZWYgWVlfVVNFX1BST1RP
Uw0KfCBzdGF0aWMgdm9pZCB5eV9mYXRhbF9lcnJvciggeXljb25zdCBjaGFyIG1zZ1tdICkNCnwg
I2Vsc2UNCnwgc3RhdGljIHZvaWQgeXlfZmF0YWxfZXJyb3IoIG1zZyApDQp8IGNoYXIgbXNnW107
DQp8ICNlbmRpZg0KfCAJew0KfCAJKHZvaWQpIGZwcmludGYoIHN0ZGVyciwgIiVzXG4iLCBtc2cg
KTsNCnwgCWV4aXQoIFlZX0VYSVRfRkFJTFVSRSApOw0KfCAJfQ0KfCANCnwgDQp8IA0KfCAvKiBS
ZWRlZmluZSB5eWxlc3MoKSBzbyBpdCB3b3JrcyBpbiBzZWN0aW9uIDMgY29kZS4gKi8NCnwgDQp8
ICN1bmRlZiB5eWxlc3MNCnwgI2RlZmluZSB5eWxlc3MobikgXA0KfCAJZG8gXA0KfCAJCXsgXA0K
fCAJCS8qIFVuZG8gZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5dGV4dC4gKi8gXA0KfCAJCXl5dGV4
dFt5eWxlbmddID0geXlfaG9sZF9jaGFyOyBcDQp8IAkJeXlfY19idWZfcCA9IHl5dGV4dCArIG47
IFwNCnwgCQl5eV9ob2xkX2NoYXIgPSAqeXlfY19idWZfcDsgXA0KfCAJCSp5eV9jX2J1Zl9wID0g
J1wwJzsgXA0KfCAJCXl5bGVuZyA9IG47IFwNCnwgCQl9IFwNCnwgCXdoaWxlICggMCApDQp8IA0K
fCANCnwgLyogSW50ZXJuYWwgdXRpbGl0eSByb3V0aW5lcy4gKi8NCnwgDQp8ICNpZm5kZWYgeXl0
ZXh0X3B0cg0KfCAjaWZkZWYgWVlfVVNFX1BST1RPUw0KfCBzdGF0aWMgdm9pZCB5eV9mbGV4X3N0
cm5jcHkoIGNoYXIgKnMxLCB5eWNvbnN0IGNoYXIgKnMyLCBpbnQgbiApDQp8ICNlbHNlDQp8IHN0
YXRpYyB2b2lkIHl5X2ZsZXhfc3RybmNweSggczEsIHMyLCBuICkNCnwgY2hhciAqczE7DQp8IHl5
Y29uc3QgY2hhciAqczI7DQp8IGludCBuOw0KfCAjZW5kaWYNCnwgCXsNCnwgCXJlZ2lzdGVyIGlu
dCBpOw0KfCAJZm9yICggaSA9IDA7IGkgPCBuOyArK2kgKQ0KfCAJCXMxW2ldID0gczJbaV07DQp8
IAl9DQp8ICNlbmRpZg0KfCANCnwgI2lmZGVmIFlZX05FRURfU1RSTEVODQp8ICNpZmRlZiBZWV9V
U0VfUFJPVE9TDQp8IHN0YXRpYyBpbnQgeXlfZmxleF9zdHJsZW4oIHl5Y29uc3QgY2hhciAqcyAp
DQp8ICNlbHNlDQp8IHN0YXRpYyBpbnQgeXlfZmxleF9zdHJsZW4oIHMgKQ0KfCB5eWNvbnN0IGNo
YXIgKnM7DQp8ICNlbmRpZg0KfCAJew0KfCAJcmVnaXN0ZXIgaW50IG47DQp8IAlmb3IgKCBuID0g
MDsgc1tuXTsgKytuICkNCnwgCQk7DQp8IA0KfCAJcmV0dXJuIG47DQp8IAl9DQp8ICNlbmRpZg0K
fCANCnwgDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2Fs
bG9jKCB5eV9zaXplX3Qgc2l6ZSApDQp8ICNlbHNlDQp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2Fs
bG9jKCBzaXplICkNCnwgeXlfc2l6ZV90IHNpemU7DQp8ICNlbmRpZg0KfCAJew0KfCAJcmV0dXJu
ICh2b2lkICopIG1hbGxvYyggc2l6ZSApOw0KfCAJfQ0KfCANCnwgI2lmZGVmIFlZX1VTRV9QUk9U
T1MNCnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfcmVhbGxvYyggdm9pZCAqcHRyLCB5eV9zaXplX3Qg
c2l6ZSApDQp8ICNlbHNlDQp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X3JlYWxsb2MoIHB0ciwgc2l6
ZSApDQp8IHZvaWQgKnB0cjsNCnwgeXlfc2l6ZV90IHNpemU7DQp8ICNlbmRpZg0KfCAJew0KfCAJ
LyogVGhlIGNhc3QgdG8gKGNoYXIgKikgaW4gdGhlIGZvbGxvd2luZyBhY2NvbW1vZGF0ZXMgYm90
aA0KfCAJICogaW1wbGVtZW50YXRpb25zIHRoYXQgdXNlIGNoYXIqIGdlbmVyaWMgcG9pbnRlcnMs
IGFuZCB0aG9zZQ0KfCAJICogdGhhdCB1c2Ugdm9pZCogZ2VuZXJpYyBwb2ludGVycy4gIEl0IHdv
cmtzIHdpdGggdGhlIGxhdHRlcg0KfCAJICogYmVjYXVzZSBib3RoIEFOU0kgQyBhbmQgQysrIGFs
bG93IGNhc3RsZXNzIGFzc2lnbm1lbnQgZnJvbQ0KfCAJICogYW55IHBvaW50ZXIgdHlwZSB0byB2
b2lkKiwgYW5kIGRlYWwgd2l0aCBhcmd1bWVudCBjb252ZXJzaW9ucw0KfCAJICogYXMgdGhvdWdo
IGRvaW5nIGFuIGFzc2lnbm1lbnQuDQp8IAkgKi8NCnwgCXJldHVybiAodm9pZCAqKSByZWFsbG9j
KCAoY2hhciAqKSBwdHIsIHNpemUgKTsNCnwgCX0NCnwgDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9T
DQp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfZnJlZSggdm9pZCAqcHRyICkNCnwgI2Vsc2UNCnwgc3Rh
dGljIHZvaWQgeXlfZmxleF9mcmVlKCBwdHIgKQ0KfCB2b2lkICpwdHI7DQp8ICNlbmRpZg0KfCAJ
ew0KfCAJZnJlZSggcHRyICk7DQp8IAl9DQp8IA0KfCAjaWYgWVlfTUFJTg0KfCBpbnQgbWFpbigp
DQp8IAl7DQp8IAl5eWxleCgpOw0KfCAJcmV0dXJuIDA7DQp8IAl9DQp8ICNlbmRpZg0KfCAjbGlu
ZSAyICJjb25mdGVzdC5sIg0KfCANCnwgZXh0ZXJuIGNoYXIgKnl5dGV4dDsNCmNvbmZpZ3VyZToz
MzA3MzogcmVzdWx0OiBubw0KY29uZmlndXJlOjMzMDk4OiBjaGVja2luZyBmb3IgcHBjYmUtcG93
ZXJwYy1udG8tcW54Ni1yYW5saWINCmNvbmZpZ3VyZTozMzEyNDogcmVzdWx0OiByYW5saWINCmNv
bmZpZ3VyZTozMzMzMDogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzDQoNCiMjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMNCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMNCiMjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gIyMNCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IEdOVSBNUCBjb25m
aWcuc3RhdHVzIDQuMi4yLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5
LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENP
TkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9
IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gSU5CQUdEVExBQkZPVVINCg0KY29uZmlnLnN0YXR1
czo3Nzk6IGNyZWF0aW5nIGRlbW9zL3BleHByLWNvbmZpZy5oDQpjb25maWcuc3RhdHVzOjc3OTog
Y3JlYXRpbmcgZGVtb3MvY2FsYy9jYWxjLWNvbmZpZy5oDQpjb25maWcuc3RhdHVzOjc3OTogY3Jl
YXRpbmcgTWFrZWZpbGUNCmNvbmZpZy5zdGF0dXM6Nzc5OiBjcmVhdGluZyBtcGJzZC9NYWtlZmls
ZQ0KY29uZmlnLnN0YXR1czo3Nzk6IGNyZWF0aW5nIG1wZi9NYWtlZmlsZQ0KY29uZmlnLnN0YXR1
czo3Nzk6IGNyZWF0aW5nIG1wbi9NYWtlZmlsZQ0KY29uZmlnLnN0YXR1czo3Nzk6IGNyZWF0aW5n
IG1wcS9NYWtlZmlsZQ0KY29uZmlnLnN0YXR1czo3Nzk6IGNyZWF0aW5nIG1wei9NYWtlZmlsZQ0K
Y29uZmlnLnN0YXR1czo3Nzk6IGNyZWF0aW5nIHByaW50Zi9NYWtlZmlsZQ0KY29uZmlnLnN0YXR1
czo3Nzk6IGNyZWF0aW5nIHNjYW5mL01ha2VmaWxlDQpjb25maWcuc3RhdHVzOjc3OTogY3JlYXRp
bmcgY3h4L01ha2VmaWxlDQpjb25maWcuc3RhdHVzOjc3OTogY3JlYXRpbmcgdGVzdHMvTWFrZWZp
bGUNCmNvbmZpZy5zdGF0dXM6Nzc5OiBjcmVhdGluZyB0ZXN0cy9kZXZlbC9NYWtlZmlsZQ0KY29u
ZmlnLnN0YXR1czo3Nzk6IGNyZWF0aW5nIHRlc3RzL21wYnNkL01ha2VmaWxlDQpjb25maWcuc3Rh
dHVzOjc3OTogY3JlYXRpbmcgdGVzdHMvbXBmL01ha2VmaWxlDQpjb25maWcuc3RhdHVzOjc3OTog
Y3JlYXRpbmcgdGVzdHMvbXBuL01ha2VmaWxlDQpjb25maWcuc3RhdHVzOjc3OTogY3JlYXRpbmcg
dGVzdHMvbXBxL01ha2VmaWxlDQpjb25maWcuc3RhdHVzOjc3OTogY3JlYXRpbmcgdGVzdHMvbXB6
L01ha2VmaWxlDQpjb25maWcuc3RhdHVzOjc3OTogY3JlYXRpbmcgdGVzdHMvcmFuZC9NYWtlZmls
ZQ0KY29uZmlnLnN0YXR1czo3Nzk6IGNyZWF0aW5nIHRlc3RzL21pc2MvTWFrZWZpbGUNCmNvbmZp
Zy5zdGF0dXM6Nzc5OiBjcmVhdGluZyB0ZXN0cy9jeHgvTWFrZWZpbGUNCmNvbmZpZy5zdGF0dXM6
Nzc5OiBjcmVhdGluZyBkb2MvTWFrZWZpbGUNCmNvbmZpZy5zdGF0dXM6Nzc5OiBjcmVhdGluZyB0
dW5lL01ha2VmaWxlDQpjb25maWcuc3RhdHVzOjc3OTogY3JlYXRpbmcgZGVtb3MvTWFrZWZpbGUN
CmNvbmZpZy5zdGF0dXM6Nzc5OiBjcmVhdGluZyBkZW1vcy9jYWxjL01ha2VmaWxlDQpjb25maWcu
c3RhdHVzOjc3OTogY3JlYXRpbmcgZGVtb3MvZXhwci9NYWtlZmlsZQ0KY29uZmlnLnN0YXR1czo3
Nzk6IGNyZWF0aW5nIGdtcC5oDQpjb25maWcuc3RhdHVzOjc3OTogY3JlYXRpbmcgbXAuaA0KY29u
ZmlnLnN0YXR1czo4ODM6IGNyZWF0aW5nIGNvbmZpZy5oDQpjb25maWcuc3RhdHVzOjEyNDI6IGxp
bmtpbmcgLi9tcG4vZ2VuZXJpYy9hZGQuYyB0byBtcG4vYWRkLmMNCmNvbmZpZy5zdGF0dXM6MTI0
MjogbGlua2luZyAuL21wbi9nZW5lcmljL2FkZF8xLmMgdG8gbXBuL2FkZF8xLmMNCmNvbmZpZy5z
dGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL2FkZF9uLmMgdG8gbXBuL2FkZF9uLmMN
CmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL3N1Yi5jIHRvIG1wbi9z
dWIuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvc3ViXzEuYyB0
byBtcG4vc3ViXzEuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMv
c3ViX24uYyB0byBtcG4vc3ViX24uYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBu
L2dlbmVyaWMvbXVsXzEuYyB0byBtcG4vbXVsXzEuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5r
aW5nIC4vbXBuL2dlbmVyaWMvYWRkbXVsXzEuYyB0byBtcG4vYWRkbXVsXzEuYw0KY29uZmlnLnN0
YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvc3VibXVsXzEuYyB0byBtcG4vc3VibXVs
XzEuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvbHNoaWZ0LmMg
dG8gbXBuL2xzaGlmdC5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJp
Yy9yc2hpZnQuYyB0byBtcG4vcnNoaWZ0LmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAu
L21wbi9nZW5lcmljL2RpdmVfMS5jIHRvIG1wbi9kaXZlXzEuYw0KY29uZmlnLnN0YXR1czoxMjQy
OiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvZGl2ZWJ5My5jIHRvIG1wbi9kaXZlYnkzLmMNCmNvbmZp
Zy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL2RpdmlzLmMgdG8gbXBuL2Rpdmlz
LmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL2RpdnJlbS5jIHRv
IG1wbi9kaXZyZW0uYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMv
ZGl2cmVtXzEuYyB0byBtcG4vZGl2cmVtXzEuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5n
IC4vbXBuL2dlbmVyaWMvZGl2cmVtXzIuYyB0byBtcG4vZGl2cmVtXzIuYw0KY29uZmlnLnN0YXR1
czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvZmliMl91aS5jIHRvIG1wbi9maWIyX3VpLmMN
CmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL21vZF8xLmMgdG8gbXBu
L21vZF8xLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL21vZF8z
NGxzdWIxLmMgdG8gbXBuL21vZF8zNGxzdWIxLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2lu
ZyAuL21wbi9nZW5lcmljL21vZGUxby5jIHRvIG1wbi9tb2RlMW8uYw0KY29uZmlnLnN0YXR1czox
MjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvcHJlX2RpdnJlbV8xLmMgdG8gbXBuL3ByZV9kaXZy
ZW1fMS5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9wcmVfbW9k
XzEuYyB0byBtcG4vcHJlX21vZF8xLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21w
bi9nZW5lcmljL2R1bXAuYyB0byBtcG4vZHVtcC5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtp
bmcgLi9tcG4vZ2VuZXJpYy9tdWwuYyB0byBtcG4vbXVsLmMNCmNvbmZpZy5zdGF0dXM6MTI0Mjog
bGlua2luZyAuL21wbi9nZW5lcmljL211bF9mZnQuYyB0byBtcG4vbXVsX2ZmdC5jDQpjb25maWcu
c3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9tdWxfbi5jIHRvIG1wbi9tdWxfbi5j
DQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9tdWxfYmFzZWNhc2Uu
YyB0byBtcG4vbXVsX2Jhc2VjYXNlLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21w
bi9nZW5lcmljL3Nxcl9iYXNlY2FzZS5jIHRvIG1wbi9zcXJfYmFzZWNhc2UuYw0KY29uZmlnLnN0
YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvcmFuZG9tLmMgdG8gbXBuL3JhbmRvbS5j
DQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9yYW5kb20yLmMgdG8g
bXBuL3JhbmRvbTIuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMv
cG93XzEuYyB0byBtcG4vcG93XzEuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBu
L2dlbmVyaWMvcm9vdHJlbS5jIHRvIG1wbi9yb290cmVtLmMNCmNvbmZpZy5zdGF0dXM6MTI0Mjog
bGlua2luZyAuL21wbi9nZW5lcmljL3NxcnRyZW0uYyB0byBtcG4vc3FydHJlbS5jDQpjb25maWcu
c3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9nZXRfc3RyLmMgdG8gbXBuL2dldF9z
dHIuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvc2V0X3N0ci5j
IHRvIG1wbi9zZXRfc3RyLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5l
cmljL3NjYW4wLmMgdG8gbXBuL3NjYW4wLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAu
L21wbi9nZW5lcmljL3NjYW4xLmMgdG8gbXBuL3NjYW4xLmMNCmNvbmZpZy5zdGF0dXM6MTI0Mjog
bGlua2luZyAuL21wbi9nZW5lcmljL3BvcGhhbS5jIHRvIG1wbi9wb3Bjb3VudC5jDQpjb25maWcu
c3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9wb3BoYW0uYyB0byBtcG4vaGFtZGlz
dC5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9jbXAuYyB0byBt
cG4vY21wLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL3BlcmZz
cXIuYyB0byBtcG4vcGVyZnNxci5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4v
Z2VuZXJpYy9iZGl2bW9kLmMgdG8gbXBuL2JkaXZtb2QuYw0KY29uZmlnLnN0YXR1czoxMjQyOiBs
aW5raW5nIC4vbXBuL2dlbmVyaWMvZ2NkXzEuYyB0byBtcG4vZ2NkXzEuYw0KY29uZmlnLnN0YXR1
czoxMjQyOiBsaW5raW5nIC4vbXBuL2dlbmVyaWMvZ2NkLmMgdG8gbXBuL2djZC5jDQpjb25maWcu
c3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9nY2RleHQuYyB0byBtcG4vZ2NkZXh0
LmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL3RkaXZfcXIuYyB0
byBtcG4vdGRpdl9xci5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJp
Yy9kY19kaXZyZW1fbi5jIHRvIG1wbi9kY19kaXZyZW1fbi5jDQpjb25maWcuc3RhdHVzOjEyNDI6
IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9zYl9kaXZyZW1fbW4uYyB0byBtcG4vc2JfZGl2cmVtX21u
LmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL2phY2Jhc2UuYyB0
byBtcG4vamFjYmFzZS5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJp
Yy9nZXRfZC5jIHRvIG1wbi9nZXRfZC5jDQpjb25maWcuc3RhdHVzOjEyNDI6IGxpbmtpbmcgLi9t
cG4vZ2VuZXJpYy9tdWxsb3dfbi5jIHRvIG1wbi9tdWxsb3dfbi5jDQpjb25maWcuc3RhdHVzOjEy
NDI6IGxpbmtpbmcgLi9tcG4vZ2VuZXJpYy9tdWxsb3dfYmFzZWNhc2UuYyB0byBtcG4vbXVsbG93
X2Jhc2VjYXNlLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAuL21wbi9nZW5lcmljL2Fk
ZHN1Yl9uLmMgdG8gbXBuL2FkZHN1Yl9uLmMNCmNvbmZpZy5zdGF0dXM6MTI0MjogbGlua2luZyAu
L21wbi9nZW5lcmljL2dtcC1tcGFyYW0uaCB0byBnbXAtbXBhcmFtLmgNCg0KIyMgLS0tLS0tLS0t
LS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMK
DQphY19jdl9idWlsZD1wZW50aXVtNC1wYy1jeWd3aW4NCmFjX2N2X2J1aWxkX2FsaWFzPXBlbnRp
dW00LXBjLWN5Z3dpbg0KYWNfY3ZfY19iaWdlbmRpYW49bm8NCmFjX2N2X2NfY29tcGlsZXJfZ251
PXllcw0KYWNfY3ZfY19pbmxpbmU9aW5saW5lDQphY19jdl9jX3N0cmluZ2l6ZT15ZXMNCmFjX2N2
X2Nfdm9sYXRpbGU9eWVzDQphY19jdl9lbnZfQUJJX3NldD0NCmFjX2N2X2Vudl9BQklfdmFsdWU9
DQphY19jdl9lbnZfQ0NfRk9SX0JVSUxEX3NldD0NCmFjX2N2X2Vudl9DQ19GT1JfQlVJTERfdmFs
dWU9DQphY19jdl9lbnZfQ0Nfc2V0PQ0KYWNfY3ZfZW52X0NDX3ZhbHVlPQ0KYWNfY3ZfZW52X0NG
TEFHU19zZXQ9DQphY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPQ0KYWNfY3ZfZW52X0NQUEZMQUdTX3Nl
dD0NCmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0NCmFjX2N2X2Vudl9DUFBfRk9SX0JVSUxEX3Nl
dD0NCmFjX2N2X2Vudl9DUFBfRk9SX0JVSUxEX3ZhbHVlPQ0KYWNfY3ZfZW52X0NQUF9zZXQ9DQph
Y19jdl9lbnZfQ1BQX3ZhbHVlPQ0KYWNfY3ZfZW52X0NYWENQUF9zZXQ9DQphY19jdl9lbnZfQ1hY
Q1BQX3ZhbHVlPQ0KYWNfY3ZfZW52X0NYWEZMQUdTX3NldD0NCmFjX2N2X2Vudl9DWFhGTEFHU192
YWx1ZT0NCmFjX2N2X2Vudl9DWFhfc2V0PQ0KYWNfY3ZfZW52X0NYWF92YWx1ZT0NCmFjX2N2X2Vu
dl9MREZMQUdTX3NldD0NCmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVlPQ0KYWNfY3ZfZW52X000X3Nl
dD0NCmFjX2N2X2Vudl9NNF92YWx1ZT0NCmFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9c2V0DQph
Y19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9cGVudGl1bTQtcGMtY3lnd2luDQphY19jdl9lbnZf
aG9zdF9hbGlhc19zZXQ9c2V0DQphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT1wcGNiZS1wb3dl
cnBjLW50by1xbng2DQphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0NCmFjX2N2X2Vudl90YXJn
ZXRfYWxpYXNfdmFsdWU9DQphY19jdl9leGVleHQ9LmV4ZQ0KYWNfY3ZfZnVuY19hbGFybT15ZXMN
CmFjX2N2X2Z1bmNfYXR0cl9nZXQ9bm8NCmFjX2N2X2Z1bmNfY2xvY2s9eWVzDQphY19jdl9mdW5j
X2Nsb2NrX2dldHRpbWU9eWVzDQphY19jdl9mdW5jX2NwdXRpbWU9bm8NCmFjX2N2X2Z1bmNfZ2V0
cGFnZXNpemU9eWVzDQphY19jdl9mdW5jX2dldHJ1c2FnZT15ZXMNCmFjX2N2X2Z1bmNfZ2V0c3lz
aW5mbz1ubw0KYWNfY3ZfZnVuY19nZXR0aW1lb2ZkYXk9eWVzDQphY19jdl9mdW5jX2xvY2FsZWNv
bnY9eWVzDQphY19jdl9mdW5jX21lbXNldD15ZXMNCmFjX2N2X2Z1bmNfbW1hcD15ZXMNCmFjX2N2
X2Z1bmNfbXByb3RlY3Q9eWVzDQphY19jdl9mdW5jX25sX2xhbmdpbmZvPXllcw0KYWNfY3ZfZnVu
Y19vYnN0YWNrX3ZwcmludGY9bm8NCmFjX2N2X2Z1bmNfcG9wZW49eWVzDQphY19jdl9mdW5jX3By
b2Nlc3Nvcl9pbmZvPW5vDQphY19jdl9mdW5jX3BzdGF0X2dldHByb2Nlc3Nvcj1ubw0KYWNfY3Zf
ZnVuY19yYWlzZT15ZXMNCmFjX2N2X2Z1bmNfcmVhZF9yZWFsX3RpbWU9bm8NCmFjX2N2X2Z1bmNf
c2lnYWN0aW9uPXllcw0KYWNfY3ZfZnVuY19zaWdhbHRzdGFjaz1ubw0KYWNfY3ZfZnVuY19zaWdz
dGFjaz1ubw0KYWNfY3ZfZnVuY19zdHJjaHI9eWVzDQphY19jdl9mdW5jX3N0cmVycm9yPXllcw0K
YWNfY3ZfZnVuY19zdHJubGVuPXllcw0KYWNfY3ZfZnVuY19zdHJ0b2w9eWVzDQphY19jdl9mdW5j
X3N0cnRvdWw9eWVzDQphY19jdl9mdW5jX3N5c2NvbmY9eWVzDQphY19jdl9mdW5jX3N5c2N0bD1u
bw0KYWNfY3ZfZnVuY19zeXNjdGxieW5hbWU9bm8NCmFjX2N2X2Z1bmNfc3lzc2dpPW5vDQphY19j
dl9mdW5jX3RpbWVzPXllcw0KYWNfY3ZfZnVuY192c25wcmludGY9eWVzDQphY19jdl9oYXZlX2Rl
Y2xfZmdldGM9eWVzDQphY19jdl9oYXZlX2RlY2xfZnNjYW5mPXllcw0KYWNfY3ZfaGF2ZV9kZWNs
X29wdGFyZz15ZXMNCmFjX2N2X2hhdmVfZGVjbF9zeXNfZXJybGlzdD15ZXMNCmFjX2N2X2hhdmVf
ZGVjbF9zeXNfbmVycj15ZXMNCmFjX2N2X2hhdmVfZGVjbF91bmdldGM9eWVzDQphY19jdl9oYXZl
X2RlY2xfdmZwcmludGY9eWVzDQphY19jdl9oZWFkZXJfZGxmY25faD15ZXMNCmFjX2N2X2hlYWRl
cl9mY250bF9oPXllcw0KYWNfY3ZfaGVhZGVyX2Zsb2F0X2g9eWVzDQphY19jdl9oZWFkZXJfaW50
dHlwZXNfaD15ZXMNCmFjX2N2X2hlYWRlcl9pbnZlbnRfaD1ubw0KYWNfY3ZfaGVhZGVyX2xhbmdp
bmZvX2g9eWVzDQphY19jdl9oZWFkZXJfbG9jYWxlX2g9eWVzDQphY19jdl9oZWFkZXJfbWFjaGlu
ZV9oYWxfc3lzaW5mb19oPW5vDQphY19jdl9oZWFkZXJfbWVtb3J5X2g9eWVzDQphY19jdl9oZWFk
ZXJfbmxfdHlwZXNfaD1ubw0KYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzDQphY19jdl9oZWFkZXJfc3Rk
aW50X2g9eWVzDQphY19jdl9oZWFkZXJfc3RkbGliX2g9eWVzDQphY19jdl9oZWFkZXJfc3RyaW5n
X2g9eWVzDQphY19jdl9oZWFkZXJfc3RyaW5nc19oPXllcw0KYWNfY3ZfaGVhZGVyX3N5c19hdHRy
aWJ1dGVzX2g9bm8NCmFjX2N2X2hlYWRlcl9zeXNfaW9ncmFwaF9oPW5vDQphY19jdl9oZWFkZXJf
c3lzX21tYW5faD15ZXMNCmFjX2N2X2hlYWRlcl9zeXNfcGFyYW1faD15ZXMNCmFjX2N2X2hlYWRl
cl9zeXNfcHJvY2Vzc29yX2g9bm8NCmFjX2N2X2hlYWRlcl9zeXNfcHN0YXRfaD1ubw0KYWNfY3Zf
aGVhZGVyX3N5c19yZXNvdXJjZV9oPXllcw0KYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzDQph
Y19jdl9oZWFkZXJfc3lzX3N5c2N0bF9oPW5vDQphY19jdl9oZWFkZXJfc3lzX3N5c2luZm9faD1u
bw0KYWNfY3ZfaGVhZGVyX3N5c19zeXNzZ2lfaD1ubw0KYWNfY3ZfaGVhZGVyX3N5c19zeXN0ZW1j
ZmdfaD1ubw0KYWNfY3ZfaGVhZGVyX3N5c190aW1lX2g9eWVzDQphY19jdl9oZWFkZXJfc3lzX3Rp
bWVzX2g9eWVzDQphY19jdl9oZWFkZXJfc3lzX3R5cGVzX2g9eWVzDQphY19jdl9oZWFkZXJfdGlt
ZT15ZXMNCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMNCmFjX2N2X2hvc3Q9cHBjYmUtcG93ZXJw
Yy1udG8tcW54Ng0KYWNfY3ZfaG9zdF9hbGlhcz1wcGNiZS1wb3dlcnBjLW50by1xbng2DQphY19j
dl9saWJfY3Vyc2VzX3RwdXRzPW5vDQphY19jdl9saWJfZmxfeXl3cmFwPW5vDQphY19jdl9saWJf
bF95eXdyYXA9bm8NCmFjX2N2X2xpYl9tX2Nvcz15ZXMNCmFjX2N2X2xpYl9uY3Vyc2VzX3RwdXRz
PW5vDQphY19jdl9saWJfcmVhZGxpbmVfcmVhZGxpbmU9bm8NCmFjX2N2X21lbWJlcl9zdHJ1Y3Rf
cHN0X3Byb2Nlc3Nvcl9wc3BfaXRpY2tzcGVyY2xrdGljaz1ubw0KYWNfY3Zfb2JqZXh0PW8NCmFj
X2N2X3BhdGhfaW5zdGFsbD0nL3Vzci9iaW4vaW5zdGFsbCAtYycNCmFjX2N2X3Byb2dfQVI9YXIN
CmFjX2N2X3Byb2dfQVdLPWdhd2sNCmFjX2N2X3Byb2dfQ0M9Z2NjDQphY19jdl9wcm9nX0NQUD0n
Z2NjIC1FJw0KYWNfY3ZfcHJvZ19MRVg9ZmxleA0KYWNfY3ZfcHJvZ19SQU5MSUI9cmFubGliDQph
Y19jdl9wcm9nX1NUUklQPXN0cmlwDQphY19jdl9wcm9nX1lBQ0M9J2Jpc29uIC15Jw0KYWNfY3Zf
cHJvZ19hY19jdF9BUj1hcg0KYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9cmFubGliDQphY19jdl9w
cm9nX2FjX2N0X1NUUklQPXN0cmlwDQphY19jdl9wcm9nX2NjX2c9eWVzDQphY19jdl9wcm9nX2Nj
X3N0ZGM9DQphY19jdl9wcm9nX2VncmVwPSdncmVwIC1FJw0KYWNfY3ZfcHJvZ19sZXhfcm9vdD1s
ZXgueXkNCmFjX2N2X3Byb2dfbGV4X3l5dGV4dF9wb2ludGVyPW5vDQphY19jdl9wcm9nX21ha2Vf
bWFrZV9zZXQ9eWVzDQphY19jdl9zaXplb2ZfbXBfbGltYl90PTQNCmFjX2N2X3NpemVvZl91bnNp
Z25lZD00DQphY19jdl9zaXplb2ZfdW5zaWduZWRfbG9uZz00DQphY19jdl9zaXplb2ZfdW5zaWdu
ZWRfc2hvcnQ9Mg0KYWNfY3ZfdHlwZV9pbnRtYXhfdD15ZXMNCmFjX2N2X3R5cGVfbG9uZ19kb3Vi
bGU9eWVzDQphY19jdl90eXBlX2xvbmdfbG9uZz15ZXMNCmFjX2N2X3R5cGVfbXBfbGltYl90PXll
cw0KYWNfY3ZfdHlwZV9wdHJkaWZmX3Q9eWVzDQphY19jdl90eXBlX3F1YWRfdD1ubw0KYWNfY3Zf
dHlwZV9zaWduYWw9dm9pZA0KYWNfY3ZfdHlwZV9zdGFja190PW5vDQphY19jdl90eXBlX3VpbnRf
bGVhc3QzMl90PXllcw0KYWNfY3ZfdHlwZV91bnNpZ25lZD15ZXMNCmFjX2N2X3R5cGVfdW5zaWdu
ZWRfbG9uZz15ZXMNCmFjX2N2X3R5cGVfdW5zaWduZWRfc2hvcnQ9eWVzDQpnbXBfY3ZfY19hdHRy
aWJ1dGVfY29uc3Q9eWVzDQpnbXBfY3ZfY19hdHRyaWJ1dGVfbWFsbG9jPXllcw0KZ21wX2N2X2Nf
YXR0cmlidXRlX21vZGU9eWVzDQpnbXBfY3ZfY19hdHRyaWJ1dGVfbm9yZXR1cm49eWVzDQpnbXBf
Y3ZfY19kb3VibGVfZm9ybWF0PSdJRUVFIGxpdHRsZSBlbmRpYW4nDQpnbXBfY3ZfY19mb3JfYnVp
bGRfYW5zaT15ZXMNCmdtcF9jdl9jX3N0ZGFyZz15ZXMNCmdtcF9jdl9jaGVja19saWJtX2Zvcl9i
dWlsZD0tbG0NCmdtcF9jdl9mdW5jX2FsbG9jYT15ZXMNCmdtcF9jdl9mdW5jX3NzY2FuZl93cml0
YWJsZV9pbnB1dD1ubw0KZ21wX2N2X2Z1bmNfdnNucHJpbnRmPXByb2JhYmx5DQpnbXBfY3ZfaGVh
ZGVyX2FsbG9jYT15ZXMNCmdtcF9jdl9vcHRpb25fYWxsb2NhPWFsbG9jYQ0KZ21wX2N2X3Byb2df
Y3BwX2Zvcl9idWlsZD0nZ2NjIC1FJw0KZ21wX2N2X3Byb2dfZXhlZXh0X2Zvcl9idWlsZD0uZXhl
DQpsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duDQpsdF9jdl9maWxlX21hZ2ljX2Nt
ZD0nJE1BR0lDX0NNRCcNCmx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPQ0KbHRfY3ZfbGRfcmVs
b2FkX2ZsYWc9LXINCmx0X2N2X29iamRpcj0ubGlicw0KbHRfY3ZfcGF0aF9MRD0vdXNyL2k2ODYt
cGMtY3lnd2luL2Jpbi9sZC5leGUNCmx0X2N2X3BhdGhfTk09Jy91c3IvYmluL25tIC1CJw0KbHRf
Y3ZfcGF0aF9TRUQ9L3Vzci9iaW4vc2VkDQpsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfbz15ZXMNCmx0
X2N2X3Byb2dfY29tcGlsZXJfcnR0aV9leGNlcHRpb25zPW5vDQpsdF9jdl9wcm9nX2dudV9sZD15
ZXMNCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9DQpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJv
bF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1uIC1lICdcJydzL146IFwoW14gXSpcKSAkLyAge1wi
XDFcIiwgKGx0X3B0cikgMH0sL3AnXCcnIC1lICdcJydzL15bQkNERUdSU1RdIFwoW14gXSpcKSBc
KFteIF0qXCkkLyAgeyJcMiIsIChsdF9wdHIpIFwmXDJ9LC9wJ1wnJycNCmx0X2N2X3N5c19nbG9i
YWxfc3ltYm9sX3RvX2NkZWNsPQ0KbHRfY3Zfc3lzX21heF9jbWRfbGVuPTgxOTINCmx0X2x0X2N2
X3Byb2dfY29tcGlsZXJfY19vPScieWVzIicNCmx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3Bp
cGU9JyIiJw0KbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JyJz
ZWQgLW4gLWUgJ1wnJ3MvXjogXFwoW14gXSpcXCkgXCQvICB7XFxcIlxcMVxcXCIsIChsdF9wdHIp
IDB9LC9wJ1wnJyAtZSAnXCcncy9eW0JDREVHUlNUXSBcXChbXiBdKlxcKSBcXChbXiBdKlxcKVwk
LyAge1wiXFwyXCIsIChsdF9wdHIpIFxcJlxcMn0sL3AnXCcnIicNCmx0X2x0X2N2X3N5c19nbG9i
YWxfc3ltYm9sX3RvX2NkZWNsPSciIicNCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0
cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKDQpBQkk9J3N0YW5kYXJk
Jw0KQUNMT0NBTD0nJHtTSEVMTH0gL2N5Z2RyaXZlL2MvUU5YNjMwL2hvc3Qvd2luMzIveDg2L3Vz
ci9nbXAtNC4yLjIvbWlzc2luZyAtLXJ1biBhY2xvY2FsLTEuOCcNCkFNVEFSPScke1NIRUxMfSAv
Y3lnZHJpdmUvYy9RTlg2MzAvaG9zdC93aW4zMi94ODYvdXNyL2dtcC00LjIuMi9taXNzaW5nIC0t
cnVuIHRhcicNCkFOU0kyS05SPScnDQpBUj0nYXInDQpBUz0nYXMnDQpBVVRPQ09ORj0nJHtTSEVM
TH0gL2N5Z2RyaXZlL2MvUU5YNjMwL2hvc3Qvd2luMzIveDg2L3Vzci9nbXAtNC4yLjIvbWlzc2lu
ZyAtLXJ1biBhdXRvY29uZicNCkFVVE9IRUFERVI9JyR7U0hFTEx9IC9jeWdkcml2ZS9jL1FOWDYz
MC9ob3N0L3dpbjMyL3g4Ni91c3IvZ21wLTQuMi4yL21pc3NpbmcgLS1ydW4gYXV0b2hlYWRlcicN
CkFVVE9NQUtFPScke1NIRUxMfSAvY3lnZHJpdmUvYy9RTlg2MzAvaG9zdC93aW4zMi94ODYvdXNy
L2dtcC00LjIuMi9taXNzaW5nIC0tcnVuIGF1dG9tYWtlLTEuOCcNCkFXSz0nZ2F3aycNCkJJVFNf
UEVSX01QX0xJTUI9JzMyJw0KQ0FMTElOR19DT05WRU5USU9OU19PQkpTPScnDQpDQz0nZ2NjJw0K
Q0NBUz0nZ2NjIC1jJw0KQ0NfRk9SX0JVSUxEPSdnY2MnDQpDRkxBR1M9Jy1PMycNCkNQUD0nZ2Nj
IC1FJw0KQ1BQRkxBR1M9JycNCkNQUF9GT1JfQlVJTEQ9J2djYyAtRScNCkNYWD0nJw0KQ1hYQ1BQ
PScnDQpDWFhGTEFHUz0nJw0KQ1lHUEFUSF9XPSdjeWdwYXRoIC13Jw0KREVGTl9MT05HX0xPTkdf
TElNQj0nLyogI3VuZGVmIF9MT05HX0xPTkdfTElNQiAqLycNCkRFRlM9Jy1ESEFWRV9DT05GSUdf
SCcNCkRMTFRPT0w9J2RsbHRvb2wnDQpFQ0hPPSdlY2hvJw0KRUNIT19DPScnDQpFQ0hPX049Jy1u
Jw0KRUNIT19UPScnDQpFR1JFUD0nZ3JlcCAtRScNCkVOQUJMRV9TVEFUSUNfRkFMU0U9JyMnDQpF
TkFCTEVfU1RBVElDX1RSVUU9JycNCkVYRUVYVD0nLmV4ZScNCkVYRUVYVF9GT1JfQlVJTEQ9Jy5l
eGUnDQpHTVBfTERGTEFHUz0nJw0KR01QX05BSUxfQklUUz0nMCcNCkhBVkVfQ0xPQ0tfMDE9JzEn
DQpIQVZFX0NQVVRJTUVfMDE9JzAnDQpIQVZFX0dFVFJVU0FHRV8wMT0nMScNCkhBVkVfR0VUVElN
RU9GREFZXzAxPScxJw0KSEFWRV9IT1NUX0NQVV9GQU1JTFlfcG93ZXI9JzAnDQpIQVZFX0hPU1Rf
Q1BVX0ZBTUlMWV9wb3dlcnBjPScwJw0KSEFWRV9TSUdBQ1RJT05fMDE9JzEnDQpIQVZFX1NJR0FM
VFNUQUNLXzAxPScwJw0KSEFWRV9TSUdTVEFDS18wMT0nMCcNCkhBVkVfU1RBQ0tfVF8wMT0nMCcN
CkhBVkVfU1lTX1JFU09VUkNFX0hfMDE9JzEnDQpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0g
NjQ0Jw0KSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9Jw0KSU5TVEFMTF9TQ1JJUFQ9JyR7SU5T
VEFMTH0nDQpJTlNUQUxMX1NUUklQX1BST0dSQU09JyR7U0hFTEx9ICQoaW5zdGFsbF9zaCkgLWMg
LXMnDQpMREZMQUdTPScnDQpMRVg9J2ZsZXgnDQpMRVhMSUI9JycNCkxFWF9PVVRQVVRfUk9PVD0n
bGV4Lnl5Jw0KTElCQ1VSU0VTPScnDQpMSUJHTVBYWF9MREZMQUdTPScnDQpMSUJHTVBfRExMPScw
Jw0KTElCR01QX0xERkxBR1M9JycNCkxJQk09Jy1sbScNCkxJQk1fRk9SX0JVSUxEPSctbG0nDQpM
SUJPQkpTPScnDQpMSUJSRUFETElORT0nJw0KTElCUz0nJw0KTElCVE9PTD0nJChTSEVMTCkgJCh0
b3BfYnVpbGRkaXIpL2xpYnRvb2wnDQpMTl9TPSdsbiAtcycNCkxUTElCT0JKUz0nJw0KTTQ9J200
LW5vdC1uZWVkZWQnDQpNQUlOVD0nIycNCk1BSU5UQUlORVJfTU9ERV9GQUxTRT0nJw0KTUFJTlRB
SU5FUl9NT0RFX1RSVUU9JyMnDQpNQUtFSU5GTz0nJHtTSEVMTH0gL2N5Z2RyaXZlL2MvUU5YNjMw
L2hvc3Qvd2luMzIveDg2L3Vzci9nbXAtNC4yLjIvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycNCk9C
SkRVTVA9J29iamR1bXAnDQpPQkpFWFQ9J28nDQpQQUNLQUdFPSdnbXAnDQpQQUNLQUdFX0JVR1JF
UE9SVD0nZ21wLWJ1Z3NAc3dveC5jb20nDQpQQUNLQUdFX05BTUU9J0dOVSBNUCcNClBBQ0tBR0Vf
U1RSSU5HPSdHTlUgTVAgNC4yLjInDQpQQUNLQUdFX1RBUk5BTUU9J2dtcCcNClBBQ0tBR0VfVkVS
U0lPTj0nNC4yLjInDQpQQVRIX1NFUEFSQVRPUj0nOicNClJBTkxJQj0ncmFubGliJw0KU0VEPScv
dXNyL2Jpbi9zZWQnDQpTRVRfTUFLRT0nJw0KU0hFTEw9Jy9iaW4vc2gnDQpTUEVFRF9DWUNMRUNP
VU5URVJfT0JKPScnDQpTVFJJUD0nc3RyaXAnDQpUQUxfT0JKRUNUPSd0YWwtcmVlbnQubG8nDQpU
VU5FX1NRUl9PQko9JycNClU9JycNClVfRk9SX0JVSUxEPScnDQpWRVJTSU9OPSc0LjIuMicNCldB
TlRfQ1hYX0ZBTFNFPScnDQpXQU5UX0NYWF9UUlVFPScjJw0KV0FOVF9NUEJTRF9GQUxTRT0nJw0K
V0FOVF9NUEJTRF9UUlVFPScjJw0KV0lUSF9SRUFETElORV8wMT0nMCcNCllBQ0M9J2Jpc29uIC15
Jw0KYWNfY3RfQVI9J2FyJw0KYWNfY3RfQVM9JycNCmFjX2N0X0NDPScnDQphY19jdF9DWFg9JycN
CmFjX2N0X0RMTFRPT0w9JycNCmFjX2N0X09CSkRVTVA9JycNCmFjX2N0X1JBTkxJQj0ncmFubGli
Jw0KYWNfY3RfU1RSSVA9J3N0cmlwJw0KYW1fX2xlYWRpbmdfZG90PScuJw0KYmluZGlyPScke2V4
ZWNfcHJlZml4fS9iaW4nDQpidWlsZD0ncGVudGl1bTQtcGMtY3lnd2luJw0KYnVpbGRfYWxpYXM9
J3BlbnRpdW00LXBjLWN5Z3dpbicNCmJ1aWxkX2NwdT0ncGVudGl1bTQnDQpidWlsZF9vcz0nY3ln
d2luJw0KYnVpbGRfdmVuZG9yPSdwYycNCmRhdGFkaXI9JyR7cHJlZml4fS9zaGFyZScNCmV4ZWNf
cHJlZml4PScke3ByZWZpeH0nDQpnbXBfc3JjbGlua3M9JyBtcG4vYWRkLmMgbXBuL2FkZF8xLmMg
bXBuL2FkZF9uLmMgbXBuL3N1Yi5jIG1wbi9zdWJfMS5jIG1wbi9zdWJfbi5jIG1wbi9tdWxfMS5j
IG1wbi9hZGRtdWxfMS5jIG1wbi9zdWJtdWxfMS5jIG1wbi9sc2hpZnQuYyBtcG4vcnNoaWZ0LmMg
bXBuL2RpdmVfMS5jIG1wbi9kaXZlYnkzLmMgbXBuL2RpdmlzLmMgbXBuL2RpdnJlbS5jIG1wbi9k
aXZyZW1fMS5jIG1wbi9kaXZyZW1fMi5jIG1wbi9maWIyX3VpLmMgbXBuL21vZF8xLmMgbXBuL21v
ZF8zNGxzdWIxLmMgbXBuL21vZGUxby5jIG1wbi9wcmVfZGl2cmVtXzEuYyBtcG4vcHJlX21vZF8x
LmMgbXBuL2R1bXAuYyBtcG4vbXVsLmMgbXBuL211bF9mZnQuYyBtcG4vbXVsX24uYyBtcG4vbXVs
X2Jhc2VjYXNlLmMgbXBuL3Nxcl9iYXNlY2FzZS5jIG1wbi9yYW5kb20uYyBtcG4vcmFuZG9tMi5j
IG1wbi9wb3dfMS5jIG1wbi9yb290cmVtLmMgbXBuL3NxcnRyZW0uYyBtcG4vZ2V0X3N0ci5jIG1w
bi9zZXRfc3RyLmMgbXBuL3NjYW4wLmMgbXBuL3NjYW4xLmMgbXBuL3BvcGNvdW50LmMgbXBuL2hh
bWRpc3QuYyBtcG4vY21wLmMgbXBuL3BlcmZzcXIuYyBtcG4vYmRpdm1vZC5jIG1wbi9nY2RfMS5j
IG1wbi9nY2QuYyBtcG4vZ2NkZXh0LmMgbXBuL3RkaXZfcXIuYyBtcG4vZGNfZGl2cmVtX24uYyBt
cG4vc2JfZGl2cmVtX21uLmMgbXBuL2phY2Jhc2UuYyBtcG4vZ2V0X2QuYyBtcG4vbXVsbG93X24u
YyBtcG4vbXVsbG93X2Jhc2VjYXNlLmMgbXBuL2FkZHN1Yl9uLmMgZ21wLW1wYXJhbS5oJw0KaG9z
dD0ncHBjYmUtcG93ZXJwYy1udG8tcW54NicNCmhvc3RfYWxpYXM9J3BwY2JlLXBvd2VycGMtbnRv
LXFueDYnDQpob3N0X2NwdT0ncHBjYmUnDQpob3N0X29zPSdudG8tcW54NicNCmhvc3RfdmVuZG9y
PSdwb3dlcnBjJw0KaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnDQppbmZvZGlyPScke3By
ZWZpeH0vaW5mbycNCmluc3RhbGxfc2g9Jy9jeWdkcml2ZS9jL1FOWDYzMC9ob3N0L3dpbjMyL3g4
Ni91c3IvZ21wLTQuMi4yL2luc3RhbGwtc2gnDQpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicN
CmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnDQpsb2NhbHN0YXRlZGlyPScke3By
ZWZpeH0vdmFyJw0KbWFuZGlyPScke3ByZWZpeH0vbWFuJw0KbWtkaXJfcD0nbWtkaXIgLXAgLS0g
LicNCm1wbl9vYmplY3RzPScgYWRkJFUubG8gYWRkXzEkVS5sbyBhZGRfbiRVLmxvIHN1YiRVLmxv
IHN1Yl8xJFUubG8gc3ViX24kVS5sbyBtdWxfMSRVLmxvIGFkZG11bF8xJFUubG8gc3VibXVsXzEk
VS5sbyBsc2hpZnQkVS5sbyByc2hpZnQkVS5sbyBkaXZlXzEkVS5sbyBkaXZlYnkzJFUubG8gZGl2
aXMkVS5sbyBkaXZyZW0kVS5sbyBkaXZyZW1fMSRVLmxvIGRpdnJlbV8yJFUubG8gZmliMl91aSRV
LmxvIG1vZF8xJFUubG8gbW9kXzM0bHN1YjEkVS5sbyBtb2RlMW8kVS5sbyBwcmVfZGl2cmVtXzEk
VS5sbyBwcmVfbW9kXzEkVS5sbyBkdW1wJFUubG8gbXVsJFUubG8gbXVsX2ZmdCRVLmxvIG11bF9u
JFUubG8gbXVsX2Jhc2VjYXNlJFUubG8gc3FyX2Jhc2VjYXNlJFUubG8gcmFuZG9tJFUubG8gcmFu
ZG9tMiRVLmxvIHBvd18xJFUubG8gcm9vdHJlbSRVLmxvIHNxcnRyZW0kVS5sbyBnZXRfc3RyJFUu
bG8gc2V0X3N0ciRVLmxvIHNjYW4wJFUubG8gc2NhbjEkVS5sbyBwb3Bjb3VudCRVLmxvIGhhbWRp
c3QkVS5sbyBjbXAkVS5sbyBwZXJmc3FyJFUubG8gYmRpdm1vZCRVLmxvIGdjZF8xJFUubG8gZ2Nk
JFUubG8gZ2NkZXh0JFUubG8gdGRpdl9xciRVLmxvIGRjX2RpdnJlbV9uJFUubG8gc2JfZGl2cmVt
X21uJFUubG8gamFjYmFzZSRVLmxvIGdldF9kJFUubG8gbXVsbG93X24kVS5sbyBtdWxsb3dfYmFz
ZWNhc2UkVS5sbyBhZGRzdWJfbiRVLmxvJw0KbXBuX29ianNfaW5fbGliZ21wPScgbXBuL2FkZCRV
LmxvIG1wbi9hZGRfMSRVLmxvIG1wbi9hZGRfbiRVLmxvIG1wbi9zdWIkVS5sbyBtcG4vc3ViXzEk
VS5sbyBtcG4vc3ViX24kVS5sbyBtcG4vbXVsXzEkVS5sbyBtcG4vYWRkbXVsXzEkVS5sbyBtcG4v
c3VibXVsXzEkVS5sbyBtcG4vbHNoaWZ0JFUubG8gbXBuL3JzaGlmdCRVLmxvIG1wbi9kaXZlXzEk
VS5sbyBtcG4vZGl2ZWJ5MyRVLmxvIG1wbi9kaXZpcyRVLmxvIG1wbi9kaXZyZW0kVS5sbyBtcG4v
ZGl2cmVtXzEkVS5sbyBtcG4vZGl2cmVtXzIkVS5sbyBtcG4vZmliMl91aSRVLmxvIG1wbi9tb2Rf
MSRVLmxvIG1wbi9tb2RfMzRsc3ViMSRVLmxvIG1wbi9tb2RlMW8kVS5sbyBtcG4vcHJlX2RpdnJl
bV8xJFUubG8gbXBuL3ByZV9tb2RfMSRVLmxvIG1wbi9kdW1wJFUubG8gbXBuL211bCRVLmxvIG1w
bi9tdWxfZmZ0JFUubG8gbXBuL211bF9uJFUubG8gbXBuL211bF9iYXNlY2FzZSRVLmxvIG1wbi9z
cXJfYmFzZWNhc2UkVS5sbyBtcG4vcmFuZG9tJFUubG8gbXBuL3JhbmRvbTIkVS5sbyBtcG4vcG93
XzEkVS5sbyBtcG4vcm9vdHJlbSRVLmxvIG1wbi9zcXJ0cmVtJFUubG8gbXBuL2dldF9zdHIkVS5s
byBtcG4vc2V0X3N0ciRVLmxvIG1wbi9zY2FuMCRVLmxvIG1wbi9zY2FuMSRVLmxvIG1wbi9wb3Bj
b3VudCRVLmxvIG1wbi9oYW1kaXN0JFUubG8gbXBuL2NtcCRVLmxvIG1wbi9wZXJmc3FyJFUubG8g
bXBuL2JkaXZtb2QkVS5sbyBtcG4vZ2NkXzEkVS5sbyBtcG4vZ2NkJFUubG8gbXBuL2djZGV4dCRV
LmxvIG1wbi90ZGl2X3FyJFUubG8gbXBuL2RjX2RpdnJlbV9uJFUubG8gbXBuL3NiX2RpdnJlbV9t
biRVLmxvIG1wbi9qYWNiYXNlJFUubG8gbXBuL2dldF9kJFUubG8gbXBuL211bGxvd19uJFUubG8g
bXBuL211bGxvd19iYXNlY2FzZSRVLmxvIG1wbi9hZGRzdWJfbiRVLmxvJw0KbXBuX29ianNfaW5f
bGlibXA9JyBtcG4vYWRkJFUubG8gbXBuL2FkZF8xJFUubG8gbXBuL2FkZF9uJFUubG8gbXBuL3N1
YiRVLmxvIG1wbi9zdWJfMSRVLmxvIG1wbi9zdWJfbiRVLmxvIG1wbi9tdWxfMSRVLmxvIG1wbi9h
ZGRtdWxfMSRVLmxvIG1wbi9zdWJtdWxfMSRVLmxvIG1wbi9sc2hpZnQkVS5sbyBtcG4vcnNoaWZ0
JFUubG8gbXBuL2RpdmVfMSRVLmxvIG1wbi9kaXZlYnkzJFUubG8gbXBuL2RpdmlzJFUubG8gbXBu
L2RpdnJlbSRVLmxvIG1wbi9kaXZyZW1fMSRVLmxvIG1wbi9kaXZyZW1fMiRVLmxvIG1wbi9maWIy
X3VpJFUubG8gbXBuL21vZF8xJFUubG8gbXBuL21vZF8zNGxzdWIxJFUubG8gbXBuL21vZGUxbyRV
LmxvIG1wbi9wcmVfZGl2cmVtXzEkVS5sbyBtcG4vcHJlX21vZF8xJFUubG8gbXBuL2R1bXAkVS5s
byBtcG4vbXVsJFUubG8gbXBuL211bF9mZnQkVS5sbyBtcG4vbXVsX24kVS5sbyBtcG4vbXVsX2Jh
c2VjYXNlJFUubG8gbXBuL3Nxcl9iYXNlY2FzZSRVLmxvIG1wbi9wb3dfMSRVLmxvIG1wbi9yb290
cmVtJFUubG8gbXBuL3NxcnRyZW0kVS5sbyBtcG4vZ2V0X3N0ciRVLmxvIG1wbi9zZXRfc3RyJFUu
bG8gbXBuL3NjYW4wJFUubG8gbXBuL3NjYW4xJFUubG8gbXBuL3BvcGNvdW50JFUubG8gbXBuL2hh
bWRpc3QkVS5sbyBtcG4vY21wJFUubG8gbXBuL3BlcmZzcXIkVS5sbyBtcG4vYmRpdm1vZCRVLmxv
IG1wbi9nY2RfMSRVLmxvIG1wbi9nY2QkVS5sbyBtcG4vZ2NkZXh0JFUubG8gbXBuL3RkaXZfcXIk
VS5sbyBtcG4vZGNfZGl2cmVtX24kVS5sbyBtcG4vc2JfZGl2cmVtX21uJFUubG8gbXBuL2phY2Jh
c2UkVS5sbyBtcG4vZ2V0X2QkVS5sbyBtcG4vbXVsbG93X24kVS5sbyBtcG4vbXVsbG93X2Jhc2Vj
YXNlJFUubG8gbXBuL2FkZHN1Yl9uJFUubG8nDQpvbGRpbmNsdWRlZGlyPScvdXNyL2luY2x1ZGUn
DQpwcmVmaXg9Jy91c3IvbG9jYWwnDQpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdzLHgseCwnDQpz
YmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJw0Kc2hhcmVkc3RhdGVkaXI9JyR7cHJlZml4fS9j
b20nDQpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJw0KdGFyZ2V0X2FsaWFzPScnDQoNCiMjIC0t
LS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCg0KI2RlZmlu
ZSBHTVBfTVBBUkFNX0hfU1VHR0VTVCAiLi9tcG4vZ2VuZXJpYy9nbXAtbXBhcmFtLmgiDQojZGVm
aW5lIEhBVkVfQUxBUk0gMQ0KI2RlZmluZSBIQVZFX0FMTE9DQSAxDQojZGVmaW5lIEhBVkVfQUxM
T0NBX0ggMQ0KI2RlZmluZSBIQVZFX0FUVFJJQlVURV9DT05TVCAxDQojZGVmaW5lIEhBVkVfQVRU
UklCVVRFX01BTExPQyAxDQojZGVmaW5lIEhBVkVfQVRUUklCVVRFX01PREUgMQ0KI2RlZmluZSBI
QVZFX0FUVFJJQlVURV9OT1JFVFVSTiAxDQojZGVmaW5lIEhBVkVfQ0xPQ0sgMQ0KI2RlZmluZSBI
QVZFX0NMT0NLX0dFVFRJTUUgMQ0KI2RlZmluZSBIQVZFX0RFQ0xfRkdFVEMgMQ0KI2RlZmluZSBI
QVZFX0RFQ0xfRlNDQU5GIDENCiNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxDQojZGVmaW5lIEhB
VkVfREVDTF9TWVNfRVJSTElTVCAxDQojZGVmaW5lIEhBVkVfREVDTF9TWVNfTkVSUiAxDQojZGVm
aW5lIEhBVkVfREVDTF9VTkdFVEMgMQ0KI2RlZmluZSBIQVZFX0RFQ0xfVkZQUklOVEYgMQ0KI2Rl
ZmluZSBIQVZFX0RMRkNOX0ggMQ0KI2RlZmluZSBIQVZFX0RPVUJMRV9JRUVFX0xJVFRMRV9FTkRJ
QU4gMQ0KI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQ0KI2Rl
ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDENCiNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQ0KI2RlZmlu
ZSBIQVZFX0dFVFRJTUVPRkRBWSAxDQojZGVmaW5lIEhBVkVfSE9TVF9DUFVfcHBjYmUgMQ0KI2Rl
ZmluZSBIQVZFX0lOVE1BWF9UIDENCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCiNkZWZpbmUg
SEFWRV9MQU5HSU5GT19IIDENCiNkZWZpbmUgSEFWRV9MSU1CX0xJVFRMRV9FTkRJQU4gMQ0KI2Rl
ZmluZSBIQVZFX0xPQ0FMRUNPTlYgMQ0KI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDENCiNkZWZpbmUg
SEFWRV9MT05HX0RPVUJMRSAxDQojZGVmaW5lIEhBVkVfTE9OR19MT05HIDENCiNkZWZpbmUgSEFW
RV9NRU1PUllfSCAxDQojZGVmaW5lIEhBVkVfTUVNU0VUIDENCiNkZWZpbmUgSEFWRV9NTUFQIDEN
CiNkZWZpbmUgSEFWRV9NUFJPVEVDVCAxDQojZGVmaW5lIEhBVkVfTkxfTEFOR0lORk8gMQ0KI2Rl
ZmluZSBIQVZFX1BPUEVOIDENCiNkZWZpbmUgSEFWRV9QVFJESUZGX1QgMQ0KI2RlZmluZSBIQVZF
X1JBSVNFIDENCiNkZWZpbmUgSEFWRV9TSUdBQ1RJT04gMQ0KI2RlZmluZSBIQVZFX1NUREFSRyAx
DQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQ0KI2RlZmluZSBIQVZFX1NURExJQl9IIDENCiNkZWZp
bmUgSEFWRV9TVFJDSFIgMQ0KI2RlZmluZSBIQVZFX1NUUkVSUk9SIDENCiNkZWZpbmUgSEFWRV9T
VFJJTkdJWkUgMQ0KI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQojZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQ0KI2RlZmluZSBIQVZFX1NUUklOR19IIDENCiNkZWZpbmUgSEFWRV9TVFJOTEVOIDENCiNk
ZWZpbmUgSEFWRV9TVFJUT0wgMQ0KI2RlZmluZSBIQVZFX1NUUlRPVUwgMQ0KI2RlZmluZSBIQVZF
X1NZU0NPTkYgMQ0KI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQ0KI2RlZmluZSBIQVZFX1NZU19Q
QVJBTV9IIDENCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxDQojZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxDQojZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQ0KI2RlZmluZSBIQVZFX1NZU19U
SU1FX0ggMQ0KI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCiNkZWZpbmUgSEFWRV9USU1FUyAx
DQojZGVmaW5lIEhBVkVfVUlOVF9MRUFTVDMyX1QgMQ0KI2RlZmluZSBIQVZFX1VOSVNURF9IIDEN
CiNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQ0KI2RlZmluZSBQQUNLQUdFICJnbXAiDQojZGVmaW5l
IFBBQ0tBR0VfQlVHUkVQT1JUICJnbXAtYnVnc0Bzd294LmNvbSINCiNkZWZpbmUgUEFDS0FHRV9O
QU1FICJHTlUgTVAiDQojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTVAgNC4yLjIiDQojZGVm
aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ21wIg0KI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjQuMi4y
Ig0KI2RlZmluZSBQUk9UT1RZUEVTIDENCiNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkDQojZGVmaW5l
IFNJWkVPRl9NUF9MSU1CX1QgNA0KI2RlZmluZSBTSVpFT0ZfVU5TSUdORUQgNA0KI2RlZmluZSBT
SVpFT0ZfVU5TSUdORURfTE9ORyA0DQojZGVmaW5lIFNJWkVPRl9VTlNJR05FRF9TSE9SVCAyDQoj
ZGVmaW5lIFNURENfSEVBREVSUyAxDQojZGVmaW5lIFNURENfSEVBREVSUyAxDQojZGVmaW5lIFRJ
TUVfV0lUSF9TWVNfVElNRSAxDQojZGVmaW5lIFRVTkVfU1FSX0tBUkFUU1VCQV9NQVggU1FSX0tB
UkFUU1VCQV9NQVhfR0VORVJJQw0KI2RlZmluZSBWRVJTSU9OICI0LjIuMiINCiNkZWZpbmUgV0FO
VF9GRlQgMQ0KI2RlZmluZSBXQU5UX1RNUF9BTExPQ0EgMQ0KI2RlZmluZSBfX1BST1RPVFlQRVMg
MQ0KDQpjb25maWd1cmU6IGV4aXQgMA0K
------=_Part_12835_20237180.1205304176067
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
------=_Part_12835_20237180.1205304176067
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
openqnx-developer mailing list
openqnx-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/openqnx-developer

------=_Part_12835_20237180.1205304176067--