Re: No curses detected

Luis Pascual Forner <[email protected]> Wed, 22 Mar 2023 11:46:18 +0100
Newsgroups gmane.comp.lang.4gl.aubit.general
Organization IVAL informática <http://www.ival.com>
Message-ID <[email protected]>
VGhlIGxpYm5jdXJzZXM2LTMyYml0IHBhY2thZ2UgaXMgYWxzbyBpbnN0YWxsZWQsIGJ1dCAKbmN1
cnNlczYtZGV2ZWwtMzJiaXQgZG9lc24ndCBleGlzdCAobmN1cnNlczUtZGV2ZWwtMzJiaXQgZG9l
cyBleGlzdCwgYW5kIAppcyBpbnN0YWxsZWQpCgpFbCAyMi8zLzIzIGEgbGFzIDExOjM1LCBNaWtl
IEF1YnVyeSBlc2NyaWJpw7M6Cj4gL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8u
Li8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gc2tpcHBpbmcgaW5jb21wYXRp
YmxlIC9saWIvbGlibmN1cnNlcy5zby42IHdoZW4gc2VhcmNoaW5nIGZvcgo+IC9saWIvbGlibmN1
cnNlcy5zby42Cj4gL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8u
Li94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gKmNhbm5vdCBmaW5kIC9saWIvbGlibmN1cnNl
cy5zby42OiBmaWxlIGluIHdyb25nIGZvcm1hdCoKPiAKPiAKPiBUaGVzZSBsb29rIGxpa2UgaXQg
ZG9lc24ndMKgaGF2ZSB0aGUgNjQgYml0IGJpbmFyaWVzLCBidXQgbWF5YmUgaGFzIDMyIAo+IGJp
dCB2ZXJzaW9ucyA/Cj4gCj4gCj4gT24gV2VkLCAyMiBNYXIgMjAyMyBhdCAxMDozMCwgTHVpcyBQ
YXNjdWFsIEZvcm5lciA8bHBhc2N1YWxAaXZhbC5jb20gCj4gPG1haWx0bzpscGFzY3VhbEBpdmFs
LmNvbT4+IHdyb3RlOgo+IAo+ICAgICBUaGlzIGlzIHRoZSBwaWVjZSBvZiBjb25maWcubG9nIHJl
ZmVycmluZyB0byBjdXJzZXMgKGl0J3MgYSBiaXQgbG9uZyk6Cj4gCj4gICAgIGNvbmZpZ3VyZToz
MDU2MzogcmVzdWx0OsKgIFsxbUNoZWNraW5nIGZvciBjdXJzZXMgbGlicmFyaWVzOiBbbQo+ICAg
ICBjb25maWd1cmU6MzA2MTA6IGNoZWNraW5nIGZvciBtYWluIGluIC1sbmN1cnNlcwo+ICAgICBj
b25maWd1cmU6MzA2MzA6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vz
ci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sbmN1cnNlc8KgIMKgPiY1
Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2
XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9s
aWJuY3Vyc2VzLnNvLjYgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIC9saWIvbGlibmN1cnNlcy5z
by42Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4v
eDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBjYW5ub3QgZmluZCAvbGliL2xpYm5jdXJz
ZXMuc28uNjogZmlsZSBpbiB3cm9uZyBmb3JtYXQKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0
LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAg
IHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGlu
ZyBmb3IKPiAgICAgL2xpYi9saWJuY3Vyc2VzLnNvLjYKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2
XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4g
ICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvdXNyL2xpYi9saWJ0aW5mby5zbyB3aGVuIHNlYXJj
aGluZyBmb3IgLWx0aW5mbwo+ICAgICAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83
Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgc2tpcHBpbmcgaW5j
b21wYXRpYmxlIC91c3IvbGliL2xpYnRpbmZvLmEgd2hlbiBzZWFyY2hpbmcgZm9yIC1sdGluZm8K
PiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZf
NjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xp
YmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAg
Y29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCj4gICAgIGNvbmZpZ3Vy
ZTozMDYzMDogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAg
ICB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0
Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICB8ICNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAg
IHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklU
X0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1
c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0Bs
aXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAg
ICAgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAi
MS42LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAg
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+
ICAgICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgIHwgI2RlZmluZSBIQVZFX1Vf
SU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9F
UlJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9J
Tl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgIHwgI2RlZmlu
ZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNT
TCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElC
X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJ
Ql9ERUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9M
SUJSRUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9VTklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+
ICAgICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+
ICAgICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICB8IC8qIGVuZCBjb25mZGVmcy5oLsKg
ICovCj4gICAgIHwKPiAgICAgfAo+ICAgICB8IGludAo+ICAgICB8IG1haW4gKHZvaWQpCj4gICAg
IHwgewo+ICAgICB8IHJldHVybiBtYWluICgpOwo+ICAgICB8wqAgwqA7Cj4gICAgIHzCoCDCoHJl
dHVybiAwOwo+ICAgICB8IH0KPiAgICAgY29uZmlndXJlOjMwNjQwOiByZXN1bHQ6IG5vCj4gICAg
IGNvbmZpZ3VyZTozMDY1MTogY2hlY2tpbmcgZm9yIHdpbm5zdHIgaW4gLWxuY3Vyc2VzCj4gICAg
IGNvbmZpZ3VyZTozMDY3NDogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwv
dXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzwqAgwqA+
JjUKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94
ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGli
L2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgL2xpYi9saWJuY3Vyc2Vz
LnNvLjYKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8u
Li94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIGNhbm5vdCBmaW5kIC9saWIvbGlibmN1
cnNlcy5zby42OiBmaWxlIGluIHdyb25nIGZvcm1hdAo+ICAgICAvdXNyL2xpYjY0L2djYy94ODZf
NjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAg
ICAgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGlibmN1cnNlcy5zby42IHdoZW4gc2VhcmNo
aW5nIGZvcgo+ICAgICAvbGliL2xpYm5jdXJzZXMuc28uNgo+ICAgICAvdXNyL2xpYjY0L2djYy94
ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoK
PiAgICAgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC91c3IvbGliL2xpYnRpbmZvLnNvIHdoZW4gc2Vh
cmNoaW5nIGZvciAtbHRpbmZvCj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4
LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBp
bmNvbXBhdGlibGUgL3Vzci9saWIvbGlidGluZm8uYSB3aGVuIHNlYXJjaGluZyBmb3IgLWx0aW5m
bwo+ICAgICAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4
Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIv
bGliZ2NjX3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgbGliZ2NjX3Muc28uMQo+ICAg
ICBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKPiAgICAgY29uZmln
dXJlOjMwNjc0OiAkPyA9IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4g
ICAgIHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJp
dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwg
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAg
ICAgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVC
SVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlz
Y3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNz
QGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+
ICAgICB8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9O
ICIxLjYuMSIKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+
ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9VTklTVERfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAg
ICB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx
Cj4gICAgIHwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVf
VV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X0VSUl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX1NZU19TT0NLRVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVU
X0lOX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVm
aW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JF
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElC
U1NMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pM
SUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9a
TElCX0RFRiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZF
X0xJQlJFQURMSU5FIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX1NRTElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+
ICAgICB8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVY
VF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX1VOSVhPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVm
aW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAw
Cj4gICAgIHwgI2RlZmluZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmgu
wqAgKi8KPiAgICAgfAo+ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90
eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8K
PiAgICAgfCBjaGFyIHdpbm5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkK
PiAgICAgfCB7Cj4gICAgIHwgcmV0dXJuIHdpbm5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAg
fMKgIMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA2ODQ6IHJlc3VsdDog
bm8KPiAgICAgY29uZmlndXJlOjMwNjk0OiBjaGVja2luZyBmb3Igd2lubnN0ciBpbiAtbGN1cnNl
cwo+ICAgICBjb25maWd1cmU6MzA3MTc6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKgIC1ML2xp
YsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sY3Vyc2Vz
wqAgwqA+JjUKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8u
Li8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIGNhbm5vdCBmaW5kIC1sY3Vyc2Vz
OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1z
dXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBz
a2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9saWJnY2Nfcy5zby4xIHdoZW4gc2VhcmNoaW5nIGZv
cgo+ICAgICBsaWJnY2Nfcy5zby4xCj4gICAgIGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQg
MSBleGl0IHN0YXR1cwo+ICAgICBjb25maWd1cmU6MzA3MTc6ICQ/ID0gMQo+ICAgICBjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwg
I2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICJhdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklU
X1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1
Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAg
ICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAg
fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRn
bCIKPiAgICAgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
VERJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9TVFJJTkdfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxp
YnMvIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1Vf
SU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
WVNFWElUU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05F
VElORVRfVENQX0ggMQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0gg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJa
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJ
QiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf
UERGIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJD
SU5TVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9QR09EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwg
I2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAK
PiAgICAgfCAvKiBlbmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJp
ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzC
oCDCoCBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
YSBHQ0MKPiAgICAgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw
ZSB3b3VsZCBzdGlsbCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgd2lubnN0ciAoKTsKPiAgICAg
fCBpbnQKPiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gd2lubnN0
ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAg
IGNvbmZpZ3VyZTozMDcyNzogcmVzdWx0OiBubwo+ICAgICBjb25maWd1cmU6MzA3NDU6IHJlc3Vs
dDogeWVzIC0gZm91bmQKPiAgICAgY29uZmlndXJlOjMwNzQ3OiBjaGVja2luZyBGb3IgYW55IGxp
Ym5jdXJzZXMgbGlicmFyeSBvbiB0aGUgc3lzdGVtCj4gICAgIGNvbmZpZ3VyZTozMDc1NzogY2hl
Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBtdmFkZF93Y2huc3RyCj4gICAgIGNvbmZpZ3Vy
ZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNyL2xvY2Fs
L2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmPCoCA+JjUKPiAgICAgL3Vzci9saWI2NC9n
Y2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4v
bGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBz
ZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2
XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4g
ICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hp
bmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1
c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIC90
bXAvY2NIYldHYjgubzogaW4gZnVuY3Rpb24gYG1haW4nOgo+ICAgICAvb3B0L2F1Yml0NGdsc3Jj
L2NvbmZ0ZXN0LmM6NzA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG12YWRkX3djaG5zdHInCj4g
ICAgIGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwo+ICAgICBjb25m
aWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
PiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkF1
Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIKPiAgICAg
fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+
ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRB
VUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJpdDRnbC1k
aXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1
c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi
Cj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5lIFZFUlNJ
T04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4g
ICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ETEZDTl9I
IDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8ICNkZWZpbmUgSEFW
RV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVmaW5lIEhB
VkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElO
RVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICAgICB8ICNk
ZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJHTVAg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlBD
UkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9M
SUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf
WkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgfCAjZGVmaW5lIEhB
VkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAw
Cj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCT0RC
QyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FM
RVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9O
IDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDR0VO
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBlbmQgY29uZmRlZnMu
aC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90
b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hhciBiZWNhdXNlIGlu
dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgfMKgIMKgIGJ1aWx0
aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS7CoCAq
Lwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQKPiAgICAgfCBtYWlu
ICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsKPiAgICAg
fMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAgIGNvbmZpZ3VyZToz
MDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNyL2xvY2FsL2xp
Ygo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliL2xpYm5jdXJzZXMuc28uNSBvdGhl
ci1saWJzwqAgwqA+JjUKPiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQo+ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwg
I2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICJhdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklU
X1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1
Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAg
ICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAg
fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRn
bCIKPiAgICAgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
VERJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9TVFJJTkdfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxp
YnMvIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1Vf
SU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
WVNFWElUU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05F
VElORVRfVENQX0ggMQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0gg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJa
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJ
QiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf
UERGIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJD
SU5TVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9QR09EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwg
I2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAK
PiAgICAgfCAvKiBlbmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJp
ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzC
oCDCoCBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
YSBHQ0MKPiAgICAgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw
ZSB3b3VsZCBzdGlsbCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsK
PiAgICAgfCBpbnQKPiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4g
bXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAg
ICAgfCB9Cj4gICAgIGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAg
LUwvbGliwqAgLUwvdXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwv
bGliL2xpYm5jdXJzZXMuc28uNS45IG90aGVyLWxpYnPCoCDCoD4mNQo+ICAgICBnY2M6IGVycm9y
OiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgIGNvbmZpZ3VyZToz
MDc4NzogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICB8
IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wi
Cj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICB8ICNkZWZp
bmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwg
I2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JV
SUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NA
bGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0
cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAg
fCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42
LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAgfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAg
ICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5U
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8
ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9I
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgIHwgI2RlZmluZSBZ
WVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAg
IHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNTTCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0gg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9E
RUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJS
RUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAg
fCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9V
TklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgIHwgI2RlZmluZSBI
QVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICov
Cj4gICAgIHwKPiAgICAgfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0
byBhdm9pZCBhbiBlcnJvci4KPiAgICAgfMKgIMKgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICB8wqAgwqAgYnVpbHRpbiBhbmQg
dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LsKgICovCj4gICAg
IHwgY2hhciBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8IGludAo+ICAgICB8IG1haW4gKHZvaWQp
Cj4gICAgIHwgewo+ICAgICB8IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8wqAgwqA7
Cj4gICAgIHzCoCDCoHJldHVybiAwOwo+ICAgICB8IH0KPiAgICAgY29uZmlndXJlOjMwNzg3OiBn
Y2MgLW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLCoCAtTC91c3IvbG9jYWwvbGliCj4gICAg
IC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWIvbGlibmN1cnNlcy5zby42IG90aGVyLWxpYnPC
oCDCoD4mNQo+ICAgICBnY2M6IGVycm9yOiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGly
ZWN0b3J5Cj4gICAgIGNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOgo+ICAgICB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lP
Ti4kQVVCSVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wg
JEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
RVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWls
dG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZp
bmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAg
ICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElPX0gg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19UWVBF
U19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9TWVNfVElNRV9IIDEKPiAgICAgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4g
ICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+
ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VYSVRT
X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9U
Q1BfSCAxCj4gICAgIHwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX1NFTkRNQUlMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAg
IHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+
ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJ
QlNRTElURTMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9TQVBPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8
ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0gg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BH
T0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5l
IEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICB8
IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgIHwKPiAgICAgfCAvKiBPdmVycmlkZSBhbnkg
R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KPiAgICAgfMKgIMKgIFVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+
ICAgICB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LsKgICovCj4gICAgIHwgY2hhciBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8
IGludAo+ICAgICB8IG1haW4gKHZvaWQpCj4gICAgIHwgewo+ICAgICB8IHJldHVybiBtdmFkZF93
Y2huc3RyICgpOwo+ICAgICB8wqAgwqA7Cj4gICAgIHzCoCDCoHJldHVybiAwOwo+ICAgICB8IH0K
PiAgICAgY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLC
oCAtTC91c3IvbG9jYWwvbGliCj4gICAgIC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWIvbGli
bmN1cnNlcy5zby42LjEgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzogZXJyb3I6IG90aGVy
LWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmlndXJlOjMwNzg3OiAk
PyA9IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAgIHwgLyogY29u
ZmRlZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAg
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNL
QUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4g
ICAgIHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5z
b3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJj
ZWZvcmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICB8ICNkZWZp
bmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURExJQl9I
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9J
TlRUWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICB8ICNkZWZpbmUg
U1REQ19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgIHwgI2Rl
ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19T
T0NLRVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVmaW5lIFlZVEVYVF9Q
T0lOVEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAg
IHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5F
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X1NRTElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICB8ICNkZWZp
bmUgSEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVhPREJD
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RL
X1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAg
fAo+ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk
IGFuIGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg
dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0
cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8KPiAgICAgfCBjaGFy
IG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkKPiAgICAg
fCB7Cj4gICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAg
fMKgIMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBj
b25mdGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNy
L2xpYiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMuc28uNSBvdGhlci1saWJzwqAgwqA+
JjUKPiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQo+ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNL
QUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJp
dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFV
QklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJ
VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
ICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1
Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAj
ZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lT
X1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8
ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0gg
MQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
RU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUg
SEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAg
fCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJ
VEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhB
VkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5l
IEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMg
MAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZF
X0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5l
IEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBl
bmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBp
bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAg
fMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQK
PiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0
ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAg
IGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwv
dXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliNjQvbGlibmN1
cnNlcy5zby41Ljkgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzogZXJyb3I6IG90aGVyLWxp
YnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmlndXJlOjMwNzg3OiAkPyA9
IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAgIHwgLyogY29uZmRl
ZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAgfCAj
ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBB
Q0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAg
IHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3Vy
Y2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZv
cmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICB8ICNkZWZpbmUg
UEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklTVERf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICB8ICNkZWZpbmUgU1RE
Q19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgIHwgI2RlZmlu
ZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8
ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TT0NL
RVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICB8
ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVmaW5lIFlZVEVYVF9QT0lO
VEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4gICAg
IHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NR
TElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICB8ICNkZWZpbmUg
SEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZF
UlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAgfAo+
ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu
IGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0cyBh
cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8KPiAgICAgfCBjaGFyIG12
YWRkX3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkKPiAgICAgfCB7
Cj4gICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAgfMKg
IMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25m
dGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xp
YiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMuc28uNiBvdGhlci1saWJzwqAgwqA+JjUK
PiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+
ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNLQUdF
X05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRn
bCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklU
X0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9W
RVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJh
dWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0
NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB
R0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAjZGVm
aW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RJ
TUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lT
X1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+
ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TRU5E
TUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUgSEFW
RV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUz
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf
U0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhB
VkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+
ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dU
S19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5lIEhB
VkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBlbmQg
Y29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl
cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hhciBi
ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgfMKg
IMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh
cHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQKPiAg
ICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAo
KTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAgIGNv
bmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNy
L2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliNjQvbGlibmN1cnNl
cy5zby42LjEgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzogZXJyb3I6IG90aGVyLWxpYnM6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmlndXJlOjMwNzg3OiAkPyA9IDEK
PiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAgIHwgLyogY29uZmRlZnMu
aCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAgfCAjZGVm
aW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwg
I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vm
b3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdl
Lm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICB8ICNkZWZpbmUgUEFD
S0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICB8ICNkZWZpbmUgU1REQ19I
RUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgIHwgI2RlZmluZSBM
VF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVS
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9J
S1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgfCAjZGVmaW5lIEhB
VkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTElU
RTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFW
RV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJ
T04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBI
QVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAgfAo+ICAg
ICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy
cm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl
dHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1
bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8KPiAgICAgfCBjaGFyIG12YWRk
X3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkKPiAgICAgfCB7Cj4g
ICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAgfMKgIMKg
cmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25mdGVz
dMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xpYiBj
b25mdGVzdC5jIC1sL3Vzci9saWIvbGlibmN1cnNlcy5zbyBvdGhlci1saWJzwqAgwqA+JjUKPiAg
ICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+ICAg
ICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX05B
TUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIK
PiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JV
SUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJT
SU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJp
dDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGds
LWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0Vf
VVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5l
IFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJ
TlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAg
IHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf
SCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9E
TEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8ICNkZWZp
bmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1VJ
T19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICAg
ICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJ
TCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9M
SUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgfCAjZGVm
aW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0FQ
T0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVf
TElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVmaW5lIEhB
VkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19W
RVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVf
UlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBlbmQgY29u
ZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h
bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgfMKgIMKg
IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs
eS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQKPiAgICAg
fCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsK
PiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAgIGNvbmZp
Z3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNyL2xv
Y2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvdXNyL2xpYi9uY3Vyc2VzNS9s
aWJuY3Vyc2VzLnNvIG90aGVyLWxpYnPCoCDCoD4mNQo+ICAgICBnY2M6IGVycm9yOiBvdGhlci1s
aWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgIGNvbmZpZ3VyZTozMDc4NzogJD8g
PSAxCj4gICAgIGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICB8IC8qIGNvbmZk
ZWZzLmggKi8KPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgIHwg
I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FH
RV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAg
ICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291
cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vm
b3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgfCAjZGVmaW5l
IFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAg
IHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAgfCAjZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAg
IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAgfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICB8ICNkZWZp
bmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAg
IHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU09D
S0VUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9ORVREQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgIHwgI2RlZmluZSBZWVRFWFRfUE9J
TlRFUiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgfCAjZGVmaW5lIEhB
VkVfSUtTRU1FTCAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICB8
ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
UUxJVEUzX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAgfCAjZGVmaW5l
IEhBVkVfSU9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19W
RVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZp
bmUgSEFWRV9HVEsgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9SUENMSUIgMAo+ICAgICB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgIHwK
PiAgICAgfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KPiAgICAgfMKgIMKgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg
YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LsKgICovCj4gICAgIHwgY2hhciBt
dmFkZF93Y2huc3RyICgpOwo+ICAgICB8IGludAo+ICAgICB8IG1haW4gKHZvaWQpCj4gICAgIHwg
ewo+ICAgICB8IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8wqAgwqA7Cj4gICAgIHzC
oCDCoHJldHVybiAwOwo+ICAgICB8IH0KPiAgICAgY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29u
ZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLCoCAtTC91c3IvbG9jYWwvbGliCj4gICAgIC1ML3Vzci9s
aWIgY29uZnRlc3QuYyAtbC91c3IvbGliNjQvbGlibmN1cnNlcy5zbyBvdGhlci1saWJzwqAgwqA+
JjUKPiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQo+ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNL
QUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJp
dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFV
QklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJ
VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
ICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1
Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAj
ZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW
RV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lT
X1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8
ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0gg
MQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T
RU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUg
SEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAj
ZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAg
fCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJ
VEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhB
VkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5l
IEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVm
aW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMg
MAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZF
X0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5l
IEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBl
bmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBp
bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAg
fMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQK
PiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0
ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAg
IGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwv
dXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvdXNyL2xpYjY0L25j
dXJzZXM1L2xpYm5jdXJzZXMuc28KPiAgICAgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzog
ZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmln
dXJlOjMwNzg3OiAkPyA9IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4g
ICAgIHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJp
dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwg
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAg
ICAgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVC
SVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlz
Y3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNz
QGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+
ICAgICB8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9O
ICIxLjYuMSIKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+
ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9VTklTVERfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAg
ICB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx
Cj4gICAgIHwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVf
VV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X0VSUl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX1NZU19TT0NLRVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVU
X0lOX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVm
aW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JF
IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElC
U1NMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pM
SUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9a
TElCX0RFRiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZF
X0xJQlJFQURMSU5FIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX1NRTElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+
ICAgICB8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVY
VF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBI
QVZFX1VOSVhPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVm
aW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAw
Cj4gICAgIHwgI2RlZmluZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAx
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmgu
wqAgKi8KPiAgICAgfAo+ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90
eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8K
PiAgICAgfCBjaGFyIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAo
dm9pZCkKPiAgICAgfCB7Cj4gICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzC
oCDCoDsKPiAgICAgfMKgIMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA4
MDc6IHJlc3VsdDogbm8KPiAgICAgY29uZmlndXJlOjMwODM2OiByZXN1bHQ6IEZvdW5kIG5vdGhp
bmcgd2l0aCBBQyBTRUFSQ0ggTElCUyBpbgo+ICAgICAvbGliL2xpYm5jdXJzZXMuc28uNQo+ICAg
ICAvbGliL2xpYm5jdXJzZXMuc28uNS45Cj4gICAgIC9saWIvbGlibmN1cnNlcy5zby42Cj4gICAg
IC9saWIvbGlibmN1cnNlcy5zby42LjEKPiAgICAgL2xpYjY0L2xpYm5jdXJzZXMuc28uNQo+ICAg
ICAvbGliNjQvbGlibmN1cnNlcy5zby41LjkKPiAgICAgL2xpYjY0L2xpYm5jdXJzZXMuc28uNgo+
ICAgICAvbGliNjQvbGlibmN1cnNlcy5zby42LjEKPiAgICAgL3Vzci9saWIvbGlibmN1cnNlcy5z
bwo+ICAgICAvdXNyL2xpYi9uY3Vyc2VzNS9saWJuY3Vyc2VzLnNvCj4gICAgIC91c3IvbGliNjQv
bGlibmN1cnNlcy5zbwo+ICAgICAvdXNyL2xpYjY0L25jdXJzZXM1L2xpYm5jdXJzZXMuc28KPiAg
ICAgY29uZmlndXJlOjMxMDc3OiBjaGVja2luZyBmb3IgY3Vyc2VzLmgKPiAgICAgY29uZmlndXJl
OjMxMDc3OiBnY2MgLWPCoCAtZyAtTzLCoCBjb25mdGVzdC5jID4mNQo+ICAgICBjb25maWd1cmU6
MzEwNzc6ICQ/ID0gMAo+ICAgICBjb25maWd1cmU6MzEwNzc6IHJlc3VsdDogeWVzCj4gICAgIGNv
bmZpZ3VyZTozMTA4MzogY2hlY2tpbmcgZm9yIG5jdXJzZXMuaAo+ICAgICBjb25maWd1cmU6MzEw
ODM6IGdjYyAtY8KgIC1nIC1PMsKgIGNvbmZ0ZXN0LmMgPiY1Cj4gICAgIGNvbmZpZ3VyZTozMTA4
MzogJD8gPSAwCj4gICAgIGNvbmZpZ3VyZTozMTA4MzogcmVzdWx0OiB5ZXMKPiAgICAgY29uZmln
dXJlOjMxMDg5OiBjaGVja2luZyBmb3IgbmN1cnNlcy9uY3Vyc2VzLmgKPiAgICAgY29uZmlndXJl
OjMxMDg5OiBnY2MgLWPCoCAtZyAtTzLCoCBjb25mdGVzdC5jID4mNQo+ICAgICBjb25maWd1cmU6
MzEwODk6ICQ/ID0gMAo+ICAgICBjb25maWd1cmU6MzEwODk6IHJlc3VsdDogeWVzCj4gICAgIGNv
bmZpZ3VyZTozMTA5NTogY2hlY2tpbmcgZm9yIGN1cnNlcy9jdXJzZXMuaAo+ICAgICBjb25maWd1
cmU6MzEwOTU6IGdjYyAtY8KgIC1nIC1PMsKgIGNvbmZ0ZXN0LmMgPiY1Cj4gICAgIGNvbmZ0ZXN0
LmM6OTM6MTA6IGZhdGFsIGVycm9yOiBjdXJzZXMvY3Vyc2VzLmg6IE5vIHN1Y2ggZmlsZSBvcgo+
ICAgICBkaXJlY3RvcnkKPiAgICAgIMKgICNpbmNsdWRlIDxjdXJzZXMvY3Vyc2VzLmg+Cj4gICAg
ICDCoCDCoCDCoCDCoCDCoCDCoF5+fn5+fn5+fn5+fn5+fn5+Cj4gICAgIGNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCj4gICAgIGNvbmZpZ3VyZTozMTA5NTogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVS
U0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0
Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxt
YWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNk
ZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+
ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElP
X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAg
ICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19U
WVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUg
SEFWRV9TWVNfVElNRV9IIDEKPiAgICAgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwg
I2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
Cj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQg
MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VY
SVRTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZp
bmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5F
VF9UQ1BfSCAxCj4gICAgIHwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmlu
ZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwg
I2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAg
fCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4g
ICAgIHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+
ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEK
PiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYg
MAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X0xJQlNRTElURTMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNk
ZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8
ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNU
X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZF
X1BHT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVm
aW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8
ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAg
ICB8ICNkZWZpbmUgSEFWRV9DVVJTRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05DVVJTRVNf
SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05DVVJTRVNfTkNVUlNFU19IIDEKPiAgICAgfCAvKiBl
bmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8ICNpbmNsdWRlIDxzdGRkZWYuaD4KPiAgICAgfCAj
aWZkZWYgSEFWRV9TVERJT19ICj4gICAgIHwgIyBpbmNsdWRlIDxzdGRpby5oPgo+ICAgICB8ICNl
bmRpZgo+ICAgICB8ICNpZmRlZiBIQVZFX1NURExJQl9ICj4gICAgIHwgIyBpbmNsdWRlIDxzdGRs
aWIuaD4KPiAgICAgfCAjZW5kaWYKPiAgICAgfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAo+ICAgICB8
ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVf
SU5UVFlQRVNfSAo+ICAgICB8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KPiAgICAgfCAjZW5kaWYK
PiAgICAgfCAjaWZkZWYgSEFWRV9TVERJTlRfSAo+ICAgICB8ICMgaW5jbHVkZSA8c3RkaW50Lmg+
Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICj4gICAgIHwgIyBp
bmNsdWRlIDxzdHJpbmdzLmg+Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVfU1lT
X1RZUEVTX0gKPiAgICAgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgo+ICAgICB8ICNlbmRpZgo+
ICAgICB8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKPiAgICAgfCAjIGluY2x1ZGUgPHN5cy9zdGF0
Lmg+Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVfVU5JU1REX0gKPiAgICAgfCAj
IGluY2x1ZGUgPHVuaXN0ZC5oPgo+ICAgICB8ICNlbmRpZgo+ICAgICB8ICNpbmNsdWRlIDxjdXJz
ZXMvY3Vyc2VzLmg+Cj4gICAgIGNvbmZpZ3VyZTozMTA5NTogcmVzdWx0OiBubwo+ICAgICBjb25m
aWd1cmU6MzExMzY6IGNoZWNraW5nIGZvciBtYWluIGluIC1sZm9ybQo+ICAgICBjb25maWd1cmU6
MzExNTY6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9s
aWIKPiAgICAgLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sZm9ybcKgIMKgPiY1Cj4gICAgIC91c3Iv
bGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGlu
dXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5z
byB3aGVuIHNlYXJjaGluZyBmb3IgLWxmb3JtCj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1z
dXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBz
a2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5hIHdoZW4gc2VhcmNoaW5nIGZv
ciAtbGZvcm0KPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8u
Li8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJs
ZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNv
LjEKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94
ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGli
L2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAg
ICAgY29uZmlndXJlOjMxMTU2OiAkPyA9IDAKPiAgICAgY29uZmlndXJlOjMxMTY2OiByZXN1bHQ6
IHllcwo+ICAgICBjb25maWd1cmU6MzExNzc6IGNoZWNraW5nIGZvciBtYWluIGluIC1scGFuZWwK
PiAgICAgY29uZmlndXJlOjMxMTk3OiBnY2MgLW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLC
oCAtTC91c3IvbG9jYWwvbGliCj4gICAgIC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbHBhbmVswqAg
LWxmb3JtwqAgPiY1Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4v
Li4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBpbmNvbXBh
dGlibGUgL3Vzci9saWIvbGlicGFuZWwuc28gd2hlbiBzZWFyY2hpbmcgZm9yIC1scGFuZWwKPiAg
ICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQt
c3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvdXNyL2xpYi9s
aWJwYW5lbC5hIHdoZW4gc2VhcmNoaW5nIGZvciAtbHBhbmVsCj4gICAgIC91c3IvbGliNjQvZ2Nj
L3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xk
Ogo+ICAgICBza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5zbyB3aGVuIHNl
YXJjaGluZyBmb3IgLWxmb3JtCj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4
LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBp
bmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5hIHdoZW4gc2VhcmNoaW5nIGZvciAtbGZvcm0K
PiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZf
NjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xp
YmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAg
L3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3Vz
ZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19z
LnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAgY29uZmln
dXJlOjMxMTk3OiAkPyA9IDAKPiAgICAgY29uZmlndXJlOjMxMjA3OiByZXN1bHQ6IHllcwo+ICAg
ICBjb25maWd1cmU6MzEyNDA6IHJlc3VsdDoKPiAgICAgY29uZmlndXJlOjMxMjQyOiByZXN1bHQ6
wqAgWzFtQ2hlY2tpbmcgZm9yIFBEY3Vyc2VzL1hjdXJzZXM6IFttCj4gCj4gCj4gICAgIEVsIDIy
LzMvMjMgYSBsYXMgMTE6MjEsIE1pa2UgQXVidXJ5IGVzY3JpYmnDszoKPiAgICAgID4gQ2FuIHlv
dSBzZW5kIHRoZSByZWxldmFudCBwb3J0aW9uIG9mIHRoZSBjb25maWcubG9nID8KPiAgICAgID4K
PiAgICAgID4gSWYgaXRzIG5vdCBmaW5kaW5nIHRoZSBuY3Vyc2VzIGRldmVsIGxpYnJhcnkgLSBp
dCBtaWdodCBiZSB0aGF0Cj4gICAgIGl0IGp1c3QKPiAgICAgID4gbmVlZHMgYSBudWRnZSBhcyB0
byB3aGVyZSBpdCBpcyBsb2NhdGVkLi4KPiAgICAgID4KPiAgICAgID4gT24gV2VkLCAyMiBNYXIg
MjAyMyBhdCAxMDoxOCwgTHVpcyBQYXNjdWFsIEZvcm5lcgo+ICAgICA8bHBhc2N1YWxAaXZhbC5j
b20gPG1haWx0bzpscGFzY3VhbEBpdmFsLmNvbT4KPiAgICAgID4gPG1haWx0bzpscGFzY3VhbEBp
dmFsLmNvbSA8bWFpbHRvOmxwYXNjdWFsQGl2YWwuY29tPj4+IHdyb3RlOgo+ICAgICAgPgo+ICAg
ICAgPsKgIMKgIMKgRGVhciBBdWJpdDRHTCB0ZWFtLAo+ICAgICAgPgo+ICAgICAgPsKgIMKgIMKg
SSBoYXZlIGNvbXBpbGVkIGF1Yml0NGdsIG9uIG9wZW5TVVNFIExlYXAgMTUuNC4gVGhlCj4gICAg
IGNvbXBpbGF0aW9uIHdhcwo+ICAgICAgPsKgIMKgIMKgc3VjY2Vzc2Z1bCwgYnV0IHRoZSBjdXJz
ZXMgbGlicmFyaWVzIGFyZSBub3QgZGV0ZWN0ZWQsIGV2ZW4KPiAgICAgdGhvdWdoIEkKPiAgICAg
ID7CoCDCoCDCoGhhdmUgYWxsIHRoZSBkaXN0cmlidXRpb24ncyBuY3Vyc2VzIHBhY2thZ2VzIGlu
c3RhbGxlZDoKPiAgICAgbGlibmN1cnNlczUsCj4gICAgICA+wqAgwqAgwqBsaWJuY3Vyc2VzNS0z
MmJpdCwgbGlibmN1cnNlczYsIGxpYm5jdXJzZXM2LTMyYml0LCBuY3Vyc2VzLWRldmVsLAo+ICAg
ICAgPsKgIMKgIMKgbmN1cnNlczUtZGV2ZWwgYW5kIG5jdXJzZXM1LWRldmVsLTMyYml0Lgo+ICAg
ICAgPgo+ICAgICAgPsKgIMKgIMKgVGhlIG91dHB1dCBvZiBjb25maWd1cmUgaXM6Cj4gICAgICA+
Cj4gICAgICA+wqAgwqAgwqBDaGVja2luZyBmb3IgY3Vyc2VzIGxpYnJhcmllczoKPiAgICAgID7C
oCDCoCDCoGNoZWNraW5nIGZvciBtYWluIGluIC1sbmN1cnNlcy4uLiBubwo+ICAgICAgPsKgIMKg
IMKgY2hlY2tpbmcgZm9yIHdpbm5zdHIgaW4gLWxuY3Vyc2VzLi4uIG5vCj4gICAgICA+wqAgwqAg
wqBjaGVja2luZyBmb3Igd2lubnN0ciBpbiAtbGN1cnNlcy4uLiBubwo+ICAgICAgPsKgIMKgIMKg
eWVzIC0gZm91bmQKPiAgICAgID7CoCDCoCDCoGNoZWNraW5nIEZvciBhbnkgbGlibmN1cnNlcyBs
aWJyYXJ5IG9uIHRoZSBzeXN0ZW0uLi4gY2hlY2tpbmcgZm9yCj4gICAgICA+wqAgwqAgwqBsaWJy
YXJ5IGNvbnRhaW5pbmcgbXZhZGRfd2NobnN0ci4uLiBubwo+ICAgICAgPsKgIMKgIMKgRGlkIG5v
dCBmaW5kIGl0Cj4gICAgICA+wqAgwqAgwqBGb3VuZCBub3RoaW5nIHdpdGggQUMgU0VBUkNIIExJ
QlMgaW4gL2xpYi9saWJuY3Vyc2VzLnNvLjUKPiAgICAgID7CoCDCoCDCoC9saWIvbGlibmN1cnNl
cy5zby41LjkKPiAgICAgID7CoCDCoCDCoC9saWIvbGlibmN1cnNlcy5zby42Cj4gICAgICA+wqAg
wqAgwqAvbGliL2xpYm5jdXJzZXMuc28uNi4xCj4gICAgICA+wqAgwqAgwqAvbGliNjQvbGlibmN1
cnNlcy5zby41Cj4gICAgICA+wqAgwqAgwqAvbGliNjQvbGlibmN1cnNlcy5zby41LjkKPiAgICAg
ID7CoCDCoCDCoC9saWI2NC9saWJuY3Vyc2VzLnNvLjYKPiAgICAgID7CoCDCoCDCoC9saWI2NC9s
aWJuY3Vyc2VzLnNvLjYuMQo+ICAgICAgPsKgIMKgIMKgL3Vzci9saWIvbGlibmN1cnNlcy5zbwo+
ICAgICAgPsKgIMKgIMKgL3Vzci9saWIvbmN1cnNlczUvbGlibmN1cnNlcy5zbwo+ICAgICAgPsKg
IMKgIMKgL3Vzci9saWI2NC9saWJuY3Vyc2VzLnNvCj4gICAgICA+wqAgwqAgwqAvdXNyL2xpYjY0
L25jdXJzZXM1L2xpYm5jdXJzZXMuc28KPiAgICAgID7CoCDCoCDCoGNoZWNraW5nIGZvciBjdXJz
ZXMuaC4uLiB5ZXMKPiAgICAgID7CoCDCoCDCoGNoZWNraW5nIGZvciBuY3Vyc2VzLmguLi4geWVz
Cj4gICAgICA+wqAgwqAgwqBjaGVja2luZyBmb3IgbmN1cnNlcy9uY3Vyc2VzLmguLi4geWVzCj4g
ICAgICA+wqAgwqAgwqBjaGVja2luZyBmb3IgY3Vyc2VzL2N1cnNlcy5oLi4uIG5vCj4gICAgICA+
wqAgwqAgwqBjaGVja2luZyBmb3IgbWFpbiBpbiAtbGZvcm0uLi4geWVzCj4gICAgICA+wqAgwqAg
wqBjaGVja2luZyBmb3IgbWFpbiBpbiAtbHBhbmVsLi4uIHllcwo+ICAgICAgPgo+ICAgICAgPsKg
IMKgIMKgV2hhdCBJIGNhbiBkbz8KPiAgICAgID4KPiAgICAgID7CoCDCoCDCoFRoYW5rcyBpbiBh
ZHZhbmNlCj4gICAgICA+Cj4gICAgICA+Cj4gICAgICA+wqAgwqAgwqBfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICAgICAgPsKgIMKgIMKgQXViaXQ0Z2wt
ZGlzY3VzcyBtYWlsaW5nIGxpc3QKPiAgICAgID4gQXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3Vy
Y2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzpBdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZv
cmdlLm5ldD4KPiAgICAgID7CoCDCoCDCoDxtYWlsdG86QXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5z
b3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzpBdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJj
ZWZvcmdlLm5ldD4+Cj4gICAgICA+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz
L2xpc3RpbmZvL2F1Yml0NGdsLWRpc2N1c3MKPiAgICAgPGh0dHBzOi8vbGlzdHMuc291cmNlZm9y
Z2UubmV0L2xpc3RzL2xpc3RpbmZvL2F1Yml0NGdsLWRpc2N1c3M+Cj4gICAgICA+ICAgCj4gICAg
ICDCoDxodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJpdDRn
bC1kaXNjdXNzCj4gICAgIDxodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0
aW5mby9hdWJpdDRnbC1kaXNjdXNzPj4KPiAgICAgID4KPiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovRXN0
ZSBtZW5zYWplIHkgbG9zIGZpY2hlcm9zIGFuZXhvcyBzb24gY29uZmlkZW5jaWFsZXMgeSBjb250
aWVuZW4KaW5mb3JtYWNpw7NuIHJlc2VydmFkYSBkZSBsYSBlbXByZXNhIHF1ZSBubyBwdWVkZSBz
ZXIgZGlmdW5kaWRhLiBTaSB1c3RlZApoYSByZWNpYmlkbyBlc3RlIGNvcnJlbyBwb3IgZXJyb3Is
IGxlIHJvZ2Ftb3MgcXVlIGxvIGVsaW1pbmUgZGUgc3UKc2lzdGVtYSB5IGF2aXNlIGFsIHJlbWl0
ZW50ZSBtZWRpYW50ZSByZWVudsOtbyBhIHN1IGRpcmVjY2nDs24KZWxlY3Ryw7NuaWNhOyBubyBk
ZWJlcsOhIGNvcGlhciBlbCBtZW5zYWplIG5pIGRpdnVsZ2FyIHN1IGNvbnRlbmlkbyBhCm5pbmd1
bmEgcGVyc29uYS4KLwovCi8KL1N1IGRpcmVjY2nDs24gZGUgY29ycmVvIGVsZWN0csOzbmljbyBq
dW50byBhIHN1cyBkYXRvcyBwZXJzb25hbGVzIGZvcm1hbgpwYXJ0ZSBkZSB1biBmaWNoZXJvIHRp
dHVsYXJpZGFkIGRlIElWQUwgaW5mb3Jtw6F0aWNhLCBjdXlhIGZpbmFsaWRhZCBlcwpsYSBkZSBt
YW50ZW5lciBlbCBjb250YWN0byBjb24gVWQuIERlIGFjdWVyZG8gY29uIGxhIExleSBPcmfDoW5p
Y2EKMy8yMDE4LCBkZSA1IGRlIGRpY2llbWJyZSwgZGUgUHJvdGVjY2nDs24gZGUgRGF0b3MgUGVy
c29uYWxlcyB5IGdhcmFudMOtYQpkZSBsb3MgZGVyZWNob3MgZGlnaXRhbGVzLCB1c3RlZCBwdWVk
ZSBlamVyY2l0YXIgc3VzIGRlcmVjaG9zIGRlIGFjY2VzbywKcmVjdGlmaWNhY2nDs24sIGNhbmNl
bGFjacOzbiB5LCBlbiBzdSBjYXNvLCBvcG9zaWNpw7NuIGVudmlhbmRvIHVuYQpzb2xpY2l0dWQg
cG9yIGVzY3JpdG8sIGFjb21wYcOxYWRhIGRlIHVuYSBmb3RvY29waWEgZGUgc3UgRE5JIGRpcmln
aWRhIGE6CkMvIENvbXByb21pc28gZGUgQ2FzcGUsIDEtUHRhLjIgKDQ2MDA3KSBWYWxlbmNpYS4g
LwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkF1Yml0
NGdsLWRpc2N1c3MgbWFpbGluZyBsaXN0CkF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9y
Z2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2F1Yml0
NGdsLWRpc2N1c3MK