[plasma/kgamma] /: Remove content, replace with Readme

Nicolas Fella <[email protected]> Wed, 3 Jun 2026 11:03:46 +0000 (UTC)
Newsgroups gmane.comp.kde.doc,gmane.comp.kde.cvs
Message-ID <[email protected]>
R2l0IGNvbW1pdCBjOTY5ZjljYjgzZDYwZDc5ZWJiMDUxNDI5MTg2MWJlOTA4ZTIxM2JlIGJ5IE5p
Y29sYXMgRmVsbGEuCkNvbW1pdHRlZCBvbiAwMy8wNi8yMDI2IGF0IDEwOjE3LgpQdXNoZWQgYnkg
bmljb2xhc2ZlbGxhIGludG8gYnJhbmNoICdtYXN0ZXInLgoKUmVtb3ZlIGNvbnRlbnQsIHJlcGxh
Y2Ugd2l0aCBSZWFkbWUKClRoaXMgd2FzIG9ubHkgdXNlZCBvbiBYMTEsIHdoaWNoIHdlIGRvbid0
IHN1cHBvcnQgYW55IG1vcmUKCkQgICswICAgIC03MCAgIENNYWtlTGlzdHMudHh0CkQgICswICAg
IC01NCAgIENoYW5nZUxvZwpEICArMCAgICAtMTIxICBMSUNFTlNFUy9DQzAtMS4wLnR4dApEICAr
MCAgICAtMzE5ICBMSUNFTlNFUy9HUEwtMi4wLW9yLWxhdGVyLnR4dApBICArMyAgICAtMCAgICBS
RUFETUUubWQKRCAgKzAgICAgLTEgICAgZG9jL0NNYWtlTGlzdHMudHh0CkQgICswICAgIC0xNjQg
IGRvYy9pbmRleC5kb2Nib29rCkQgICswICAgIC0yMiAgIGtjbWtnYW1tYS9DTWFrZUxpc3RzLnR4
dApEICArMCAgICAtMiAgICBrY21rZ2FtbWEvTWVzc2FnZXMuc2gKRCAgKzAgICAgLTU0ICAga2Nt
a2dhbW1hL2Rpc3BsYXludW1iZXIuY3BwCkQgICswICAgIC0zNCAgIGtjbWtnYW1tYS9kaXNwbGF5
bnVtYmVyLmgKRCAgKzAgICAgLTEzMSAga2Nta2dhbW1hL2dhbW1hY3RybC5jcHAKRCAgKzAgICAg
LTY5ICAga2Nta2dhbW1hL2dhbW1hY3RybC5oCkQgICswICAgIC0xOTQgIGtjbWtnYW1tYS9rY21f
a2dhbW1hLmpzb24KRCAgKzAgICAgLTYxOCAga2Nta2dhbW1hL2tnYW1tYS5jcHAKRCAgKzAgICAg
LTY1ICAga2Nta2dhbW1hL2tnYW1tYS5oCkQgICswICAgIC0xMCAgIGtjbWtnYW1tYS9waWNzL0NN
YWtlTGlzdHMudHh0CkQgICstICAgIC0tICAgIGtjbWtnYW1tYS9waWNzL2JhY2tncm91bmQucG5n
CkQgICstICAgIC0tICAgIGtjbWtnYW1tYS9waWNzL2NteXNjYWxlLnBuZwpEICArLSAgICAtLSAg
ICBrY21rZ2FtbWEvcGljcy9kYXJrZ3JleS5wbmcKRCAgKy0gICAgLS0gICAga2Nta2dhbW1hL3Bp
Y3MvZ3JleXNjYWxlLnBuZwpEICArLSAgICAtLSAgICBrY21rZ2FtbWEvcGljcy9saWdodGdyZXku
cG5nCkQgICstICAgIC0tICAgIGtjbWtnYW1tYS9waWNzL21pZGdyZXkucG5nCkQgICstICAgIC0t
ICAgIGtjbWtnYW1tYS9waWNzL3JnYnNjYWxlLnBuZwpEICArMCAgICAtNTEgICBrY21rZ2FtbWEv
eGY4NmNvbmZpZ3BhdGguY3BwCkQgICswICAgIC0zMSAgIGtjbWtnYW1tYS94Zjg2Y29uZmlncGF0
aC5oCkQgICswICAgIC0xNzcgIGtjbWtnYW1tYS94dmlkZXh0d3JhcC5jcHAKRCAgKzAgICAgLTUy
ICAga2Nta2dhbW1hL3h2aWRleHR3cmFwLmgKRCAgKzAgICAgLTYgICAgeGY4NmdhbW1hY2ZnL0NN
YWtlTGlzdHMudHh0CkQgICswICAgIC0xMTkgIHhmODZnYW1tYWNmZy94Zjg2Z2FtbWFjZmcuY3Bw
CgpodHRwczovL2ludmVudC5rZGUub3JnL3BsYXNtYS9rZ2FtbWEvLS9jb21taXQvYzk2OWY5Y2I4
M2Q2MGQ3OWViYjA1MTQyOTE4NjFiZTkwOGUyMTNiZQoKZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMu
dHh0IGIvQ01ha2VMaXN0cy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhYWNl
NTcuLjAwMDAwMDAKLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3MCAr
MCwwIEBACi1jbWFrZV9taW5pbXVtX3JlcXVpcmVkKFZFUlNJT04gMy4xNikKLQotcHJvamVjdChr
Z2FtbWEpCi1zZXQoUFJPSkVDVF9WRVJTSU9OICI2LjcuODAiKQotCi1zZXQoUVRfTUlOX1ZFUlNJ
T04gIjYuMTAuMCIpCi1zZXQoS0Y2X01JTl9WRVJTSU9OICI2LjI2LjAiKQotc2V0KEtERV9DT01Q
SUxFUlNFVFRJTkdTX0xFVkVMICI1LjgyIikKLQotc2V0KENNQUtFX0NYWF9TVEFOREFSRCAyMCkK
LXNldChDTUFLRV9DWFhfU1RBTkRBUkRfUkVRVUlSRUQgT04pCi0KLWZpbmRfcGFja2FnZShFQ00g
JHtLRjZfTUlOX1ZFUlNJT059IFJFUVVJUkVEIE5PX01PRFVMRSkKLXNldChDTUFLRV9NT0RVTEVf
UEFUSCAke0VDTV9NT0RVTEVfUEFUSH0gICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9jbWFr
ZSkKLQotaW5jbHVkZShLREVJbnN0YWxsRGlycykKLWluY2x1ZGUoS0RFQ01ha2VTZXR0aW5ncykK
LWluY2x1ZGUoS0RFQ29tcGlsZXJTZXR0aW5ncyBOT19QT0xJQ1lfU0NPUEUpCi1pbmNsdWRlKEZl
YXR1cmVTdW1tYXJ5KQotaW5jbHVkZShLREVDbGFuZ0Zvcm1hdCkKLWluY2x1ZGUoS0RFR2l0Q29t
bWl0SG9va3MpCi1pbmNsdWRlKEVDTURlcHJlY2F0aW9uU2V0dGluZ3MpCi0KLW9wdGlvbihCVUlM
RF9ET0MgIldoZXRoZXIgdG8gYnVpbGQgdGhlIGRvY3VtZW50YXRpb24iIE9OKQotCi1maW5kX3Bh
Y2thZ2UoUXQ2ICR7UVRfTUlOX1ZFUlNJT059IENPTkZJRyBSRVFVSVJFRCBDT01QT05FTlRTIENv
cmUgR3VpIFdpZGdldHMpCi0KLWZpbmRfcGFja2FnZShLRjYgJHtLRjZfTUlOX1ZFUlNJT059IFJF
UVVJUkVEIENPTVBPTkVOVFMKLSAgICBDb25maWcKLSAgICBDb25maWdXaWRnZXRzCi0gICAgSTE4
bgotICAgIEtDTVV0aWxzCi0pCi0KLWlmIChCVUlMRF9ET0MpCi0gICAgZmluZF9wYWNrYWdlKEtG
NkRvY1Rvb2xzICR7S0Y2X01JTl9WRVJTSU9OfSkKLSAgICBzZXRfcGFja2FnZV9wcm9wZXJ0aWVz
KEtGNkRvY1Rvb2xzIFBST1BFUlRJRVMKLSAgICAgICAgREVTQ1JJUFRJT04gIlRvb2xzIHRvIGdl
bmVyYXRlIGRvY3VtZW50YXRpb24iCi0gICAgICAgIFRZUEUgUkVRVUlSRUQKLSAgICApCi1lbmRp
ZigpCi0KLWZpbmRfcGFja2FnZShYMTEgUkVRVUlSRUQgQ09NUE9ORU5UUyB4Zjg2dm1vZGUpCi0K
LSMgWDExX3hmODZ2bW9kZSBkaXNjb3ZlcnkgaXMgZG9uZSBieSBGaW5kWDExCi1hZGRfZmVhdHVy
ZV9pbmZvKCJYMTFfeGY4NnZtb2RlIiBYMTFfeGY4NnZtb2RlX0ZPVU5EICJSZXF1aXJlZCB0byBi
dWlsZCBrZ2FtbWEuIikKLQotaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfQklO
QVJZX0RJUn0pCi0KLWVjbV9zZXRfZGlzYWJsZWRfZGVwcmVjYXRpb25fdmVyc2lvbnMoUVQgNi4x
MS4wCi0gICAgS0YgNi4yMy4wCi0pCi0KLQotYWRkX3N1YmRpcmVjdG9yeShrY21rZ2FtbWEpCi0j
IGFkZF9zdWJkaXJlY3RvcnkoeGY4NmdhbW1hY2ZnKQotCi1pZiAoQlVJTERfRE9DKQotICAgIGFk
ZF9zdWJkaXJlY3RvcnkoZG9jKQotICAgIGtkb2N0b29sc19pbnN0YWxsKHBvKQotZW5kaWYoKQot
Ci0jIGFkZCBjbGFuZy1mb3JtYXQgdGFyZ2V0IGZvciBhbGwgb3VyIHJlYWwgc291cmNlIGZpbGVz
Ci1maWxlKEdMT0JfUkVDVVJTRSBBTExfQ0xBTkdfRk9STUFUX1NPVVJDRV9GSUxFUyAqLmNwcCAq
LmgpCi1rZGVfY2xhbmdfZm9ybWF0KCR7QUxMX0NMQU5HX0ZPUk1BVF9TT1VSQ0VfRklMRVN9KQot
a2RlX2NvbmZpZ3VyZV9naXRfcHJlX2NvbW1pdF9ob29rKENIRUNLUyBDTEFOR19GT1JNQVQpCi0K
LWtpMThuX2luc3RhbGwocG8pCi0KLWZlYXR1cmVfc3VtbWFyeShXSEFUIEFMTCBGQVRBTF9PTl9N
SVNTSU5HX1JFUVVJUkVEX1BBQ0tBR0VTKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdl
TG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmZjODIzLi4wMDAwMDAwCi0tLSBh
L0NoYW5nZUxvZworKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLUtHYW1tYSAwLjkuOToK
LQotKiBBZGQgbXVsdGktaGVhZCBzdXBwb3J0IChmaXggYnVnICMzMjEpCi0qIEFkZCBzY3JlZW4g
c2VsZWN0b3IKLSogQWRkIHNjcmVlbiBzeW5jaHJvbmlzYXRpb24KLSogQ2hhbmdlIGtnYW1tYXJj
IGZvcm1hdCAob2xkIHVzZXIgc2V0dGluZ3MgYXJlIGxvc3QpCi0qIEZpeCBhIGxvY2FsaXNhdGlv
biBidWcgaW4gY2xhc3MgR2FtbWFDdHJsIAotKiBBZGQgY2xhc3MgWEY4NkNvbmZpZ1BhdGgKLSog
QWRkIER1dGNoIHRyYW5zbGF0aW9uIChieSBSaW5zZSBkZSBWcmllcykgCi0qIEFkZCBDemVjaCB0
cmFuc2xhdGlvbiAoYnkgRGFuaWVsIFByeW55Y2gpCi0KLUtHYW1tYSAwLjkuMjoKLQotKiBGaXgg
Y29tcGlsZSBlcnJvcnMgd2l0aCBjb25maWd1cmUgb3B0aW9uIC0tZW5hYmxlLWZpbmFsIChhZ2Fp
bikKLSogQ2FuY2VsIHRoZSBzcGxpdCBpbnRvIHR3byBwYXJ0cyAoYWRtaW4gYW5kIHVzZXIgbW9k
ZSksIGFkZCBhCi0gIGNoZWNrYm94IHRvIGNob29zZSB3aGVyZSB0byBzdG9yZSB0aGUgc2V0dGlu
Z3MgKHVzZXIgY29uZmlnIGZpbGUgCi0gIG9yIFhGODZDb25maWcpCi0KLUtHYW1tYSAwLjkuMToK
LQotKiBGaXggY29tcGlsZSBlcnJvcnMgd2l0aCBjb25maWd1cmUgb3B0aW9uIC0tZW5hYmxlLWZp
bmFsCi0qIEZyZW5jaCBhbmQgc3BhbmlzaCB0cmFuc2xhdGlvbiB1cGRhdGUKLSogSW5zdGFsbCBz
Y3JpcHQgdXBkYXRlCi0KLUtHYW1tYSAwLjk6Ci0KLSogQWRkIGFkbWluIG1vZGUgKGluIHRoaXMg
bW9kZSwgZ2FtbWEgc2V0dGluZ3MgYXJlIHN0b3JlZCB0byBYRjg2Q29uZmlnKQotKiBBZGQgc3Bl
YyBmaWxlIGZvciBSUE0gYmFzZWQgZGlzdHJpYnV0aW9ucyAoRG9taW5payBTZWljaHRlcikKLSog
UmVtb3ZlIGNsYXNzIFJHQkN0cmwsIGhhbmRsZSB0aGUgd2lkZ2V0cyBpbiBtYWluIHdpZGdldAot
KiBBZGQgY2hlY2sgZm9yIFhGcmVlODYtVmlkTW9kZUV4dGVuc2lvbiB0byBjb25maWd1cmUuaW4u
aW4KLSogQWRkIHdyYXBwZXIgY2xhc3MgWFZpZEV4dFdyYXAgdG8gYWNjZXNzIFhGcmVlODYtVmlk
TW9kZUV4dGVuc2lvbiBkaXJlY3RseSwgCi0gIEtHYW1tYSBubyBsb25nZXIgbmVlZHMgeGdhbW1h
IGFzIGEgYmFja2VuZAotCi1LR2FtbWEgMC4yLjM6Ci0KLSogTWlub3IgaW5zdGFsbCBzY3JpcHQg
Y2hhbmdlcywgc2hvdWxkIGNvbXBpbGUgd2l0aCBLREUyIGFuZCBLREUzIG5vdyAKLQotS0dhbW1h
IDAuMi4yOgotCi0qIFBvcnRlZCB0byBLREUzIAotCi1LR2FtbWEgMC4yLjE6Ci0KLSogQ29kZSBj
bGVhbiB1cAotKiBDb252ZXJ0ZWQgYWxsIHN0cmluZ3MgdG8gUVN0cmluZyB0byBhdm9pZCBjb3B5
aW5nIGJldHdlZW4gUVN0cmluZyBhbmQgY2hhciogIAotKiBBZGQgZnJlbmNoIGxvY2FsaXNhdGlv
biAoUGllcnJlIEphcmlsbG9uKQotKiBBZGQgaXRhbGlhbiBsb2NhbGl6YXRpb24gKERhbmllbGUg
TWVkcmkpCi0KLUtHYW1tYSAwLjI6Ci0KLSogQWRkIHNwYW5pc2ggdHJhbnNsYXRpb24gKE1pZ3Vl
bCBOb3ZhcykKLSogQ2hhbmdlIGJlaGF2aW9yIG9mICJVc2UgRGVmYXVsdHMiIGJ1dHRvbiB0byBi
ZSBjb21wbGlhbnQgd2l0aCBrY29udHJvbCBzdGFuZGFyZCAKLSogUGFydGlhbCByZXdyaXRlIHRv
IG1ha2UgaXQgYSBLREUgY29udHJvbCBjZW50ZXIgcGx1Z2luCi0qIENyZWF0ZSBuZXcgbG9nbwpk
aWZmIC0tZ2l0IGEvTElDRU5TRVMvQ0MwLTEuMC50eHQgYi9MSUNFTlNFUy9DQzAtMS4wLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUyNTlkNC4uMDAwMDAwMAotLS0gYS9MSUNF
TlNFUy9DQzAtMS4wLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi1DcmVhdGl2
ZSBDb21tb25zIExlZ2FsIENvZGUKLQotQ0MwIDEuMCBVbml2ZXJzYWwKLQotICAgIENSRUFUSVZF
IENPTU1PTlMgQ09SUE9SQVRJT04gSVMgTk9UIEEgTEFXIEZJUk0gQU5EIERPRVMgTk9UIFBST1ZJ
REUKLSAgICBMRUdBTCBTRVJWSUNFUy4gRElTVFJJQlVUSU9OIE9GIFRISVMgRE9DVU1FTlQgRE9F
UyBOT1QgQ1JFQVRFIEFOCi0gICAgQVRUT1JORVktQ0xJRU5UIFJFTEFUSU9OU0hJUC4gQ1JFQVRJ
VkUgQ09NTU9OUyBQUk9WSURFUyBUSElTCi0gICAgSU5GT1JNQVRJT04gT04gQU4gIkFTLUlTIiBC
QVNJUy4gQ1JFQVRJVkUgQ09NTU9OUyBNQUtFUyBOTyBXQVJSQU5USUVTCi0gICAgUkVHQVJESU5H
IFRIRSBVU0UgT0YgVEhJUyBET0NVTUVOVCBPUiBUSEUgSU5GT1JNQVRJT04gT1IgV09SS1MKLSAg
ICBQUk9WSURFRCBIRVJFVU5ERVIsIEFORCBESVNDTEFJTVMgTElBQklMSVRZIEZPUiBEQU1BR0VT
IFJFU1VMVElORyBGUk9NCi0gICAgVEhFIFVTRSBPRiBUSElTIERPQ1VNRU5UIE9SIFRIRSBJTkZP
Uk1BVElPTiBPUiBXT1JLUyBQUk9WSURFRAotICAgIEhFUkVVTkRFUi4KLQotU3RhdGVtZW50IG9m
IFB1cnBvc2UKLQotVGhlIGxhd3Mgb2YgbW9zdCBqdXJpc2RpY3Rpb25zIHRocm91Z2hvdXQgdGhl
IHdvcmxkIGF1dG9tYXRpY2FsbHkgY29uZmVyCi1leGNsdXNpdmUgQ29weXJpZ2h0IGFuZCBSZWxh
dGVkIFJpZ2h0cyAoZGVmaW5lZCBiZWxvdykgdXBvbiB0aGUgY3JlYXRvcgotYW5kIHN1YnNlcXVl
bnQgb3duZXIocykgKGVhY2ggYW5kIGFsbCwgYW4gIm93bmVyIikgb2YgYW4gb3JpZ2luYWwgd29y
ayBvZgotYXV0aG9yc2hpcCBhbmQvb3IgYSBkYXRhYmFzZSAoZWFjaCwgYSAiV29yayIpLgotCi1D
ZXJ0YWluIG93bmVycyB3aXNoIHRvIHBlcm1hbmVudGx5IHJlbGlucXVpc2ggdGhvc2UgcmlnaHRz
IHRvIGEgV29yayBmb3IKLXRoZSBwdXJwb3NlIG9mIGNvbnRyaWJ1dGluZyB0byBhIGNvbW1vbnMg
b2YgY3JlYXRpdmUsIGN1bHR1cmFsIGFuZAotc2NpZW50aWZpYyB3b3JrcyAoIkNvbW1vbnMiKSB0
aGF0IHRoZSBwdWJsaWMgY2FuIHJlbGlhYmx5IGFuZCB3aXRob3V0IGZlYXIKLW9mIGxhdGVyIGNs
YWltcyBvZiBpbmZyaW5nZW1lbnQgYnVpbGQgdXBvbiwgbW9kaWZ5LCBpbmNvcnBvcmF0ZSBpbiBv
dGhlcgotd29ya3MsIHJldXNlIGFuZCByZWRpc3RyaWJ1dGUgYXMgZnJlZWx5IGFzIHBvc3NpYmxl
IGluIGFueSBmb3JtIHdoYXRzb2V2ZXIKLWFuZCBmb3IgYW55IHB1cnBvc2VzLCBpbmNsdWRpbmcg
d2l0aG91dCBsaW1pdGF0aW9uIGNvbW1lcmNpYWwgcHVycG9zZXMuCi1UaGVzZSBvd25lcnMgbWF5
IGNvbnRyaWJ1dGUgdG8gdGhlIENvbW1vbnMgdG8gcHJvbW90ZSB0aGUgaWRlYWwgb2YgYSBmcmVl
Ci1jdWx0dXJlIGFuZCB0aGUgZnVydGhlciBwcm9kdWN0aW9uIG9mIGNyZWF0aXZlLCBjdWx0dXJh
bCBhbmQgc2NpZW50aWZpYwotd29ya3MsIG9yIHRvIGdhaW4gcmVwdXRhdGlvbiBvciBncmVhdGVy
IGRpc3RyaWJ1dGlvbiBmb3IgdGhlaXIgV29yayBpbgotcGFydCB0aHJvdWdoIHRoZSB1c2UgYW5k
IGVmZm9ydHMgb2Ygb3RoZXJzLgotCi1Gb3IgdGhlc2UgYW5kL29yIG90aGVyIHB1cnBvc2VzIGFu
ZCBtb3RpdmF0aW9ucywgYW5kIHdpdGhvdXQgYW55Ci1leHBlY3RhdGlvbiBvZiBhZGRpdGlvbmFs
IGNvbnNpZGVyYXRpb24gb3IgY29tcGVuc2F0aW9uLCB0aGUgcGVyc29uCi1hc3NvY2lhdGluZyBD
QzAgd2l0aCBhIFdvcmsgKHRoZSAiQWZmaXJtZXIiKSwgdG8gdGhlIGV4dGVudCB0aGF0IGhlIG9y
IHNoZQotaXMgYW4gb3duZXIgb2YgQ29weXJpZ2h0IGFuZCBSZWxhdGVkIFJpZ2h0cyBpbiB0aGUg
V29yaywgdm9sdW50YXJpbHkKLWVsZWN0cyB0byBhcHBseSBDQzAgdG8gdGhlIFdvcmsgYW5kIHB1
YmxpY2x5IGRpc3RyaWJ1dGUgdGhlIFdvcmsgdW5kZXIgaXRzCi10ZXJtcywgd2l0aCBrbm93bGVk
Z2Ugb2YgaGlzIG9yIGhlciBDb3B5cmlnaHQgYW5kIFJlbGF0ZWQgUmlnaHRzIGluIHRoZQotV29y
ayBhbmQgdGhlIG1lYW5pbmcgYW5kIGludGVuZGVkIGxlZ2FsIGVmZmVjdCBvZiBDQzAgb24gdGhv
c2UgcmlnaHRzLgotCi0xLiBDb3B5cmlnaHQgYW5kIFJlbGF0ZWQgUmlnaHRzLiBBIFdvcmsgbWFk
ZSBhdmFpbGFibGUgdW5kZXIgQ0MwIG1heSBiZQotcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQg
cmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgKCJDb3B5cmlnaHQgYW5kCi1SZWxhdGVkIFJp
Z2h0cyIpLiBDb3B5cmlnaHQgYW5kIFJlbGF0ZWQgUmlnaHRzIGluY2x1ZGUsIGJ1dCBhcmUgbm90
Ci1saW1pdGVkIHRvLCB0aGUgZm9sbG93aW5nOgotCi0gIGkuIHRoZSByaWdodCB0byByZXByb2R1
Y2UsIGFkYXB0LCBkaXN0cmlidXRlLCBwZXJmb3JtLCBkaXNwbGF5LAotICAgICBjb21tdW5pY2F0
ZSwgYW5kIHRyYW5zbGF0ZSBhIFdvcms7Ci0gaWkuIG1vcmFsIHJpZ2h0cyByZXRhaW5lZCBieSB0
aGUgb3JpZ2luYWwgYXV0aG9yKHMpIGFuZC9vciBwZXJmb3JtZXIocyk7Ci1paWkuIHB1YmxpY2l0
eSBhbmQgcHJpdmFjeSByaWdodHMgcGVydGFpbmluZyB0byBhIHBlcnNvbidzIGltYWdlIG9yCi0g
ICAgIGxpa2VuZXNzIGRlcGljdGVkIGluIGEgV29yazsKLSBpdi4gcmlnaHRzIHByb3RlY3Rpbmcg
YWdhaW5zdCB1bmZhaXIgY29tcGV0aXRpb24gaW4gcmVnYXJkcyB0byBhIFdvcmssCi0gICAgIHN1
YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIGluIHBhcmFncmFwaCA0KGEpLCBiZWxvdzsKLSAgdi4g
cmlnaHRzIHByb3RlY3RpbmcgdGhlIGV4dHJhY3Rpb24sIGRpc3NlbWluYXRpb24sIHVzZSBhbmQg
cmV1c2Ugb2YgZGF0YQotICAgICBpbiBhIFdvcms7Ci0gdmkuIGRhdGFiYXNlIHJpZ2h0cyAoc3Vj
aCBhcyB0aG9zZSBhcmlzaW5nIHVuZGVyIERpcmVjdGl2ZSA5Ni85L0VDIG9mIHRoZQotICAgICBF
dXJvcGVhbiBQYXJsaWFtZW50IGFuZCBvZiB0aGUgQ291bmNpbCBvZiAxMSBNYXJjaCAxOTk2IG9u
IHRoZSBsZWdhbAotICAgICBwcm90ZWN0aW9uIG9mIGRhdGFiYXNlcywgYW5kIHVuZGVyIGFueSBu
YXRpb25hbCBpbXBsZW1lbnRhdGlvbgotICAgICB0aGVyZW9mLCBpbmNsdWRpbmcgYW55IGFtZW5k
ZWQgb3Igc3VjY2Vzc29yIHZlcnNpb24gb2Ygc3VjaAotICAgICBkaXJlY3RpdmUpOyBhbmQKLXZp
aS4gb3RoZXIgc2ltaWxhciwgZXF1aXZhbGVudCBvciBjb3JyZXNwb25kaW5nIHJpZ2h0cyB0aHJv
dWdob3V0IHRoZQotICAgICB3b3JsZCBiYXNlZCBvbiBhcHBsaWNhYmxlIGxhdyBvciB0cmVhdHks
IGFuZCBhbnkgbmF0aW9uYWwKLSAgICAgaW1wbGVtZW50YXRpb25zIHRoZXJlb2YuCi0KLTIuIFdh
aXZlci4gVG8gdGhlIGdyZWF0ZXN0IGV4dGVudCBwZXJtaXR0ZWQgYnksIGJ1dCBub3QgaW4gY29u
dHJhdmVudGlvbgotb2YsIGFwcGxpY2FibGUgbGF3LCBBZmZpcm1lciBoZXJlYnkgb3ZlcnRseSwg
ZnVsbHksIHBlcm1hbmVudGx5LAotaXJyZXZvY2FibHkgYW5kIHVuY29uZGl0aW9uYWxseSB3YWl2
ZXMsIGFiYW5kb25zLCBhbmQgc3VycmVuZGVycyBhbGwgb2YKLUFmZmlybWVyJ3MgQ29weXJpZ2h0
IGFuZCBSZWxhdGVkIFJpZ2h0cyBhbmQgYXNzb2NpYXRlZCBjbGFpbXMgYW5kIGNhdXNlcwotb2Yg
YWN0aW9uLCB3aGV0aGVyIG5vdyBrbm93biBvciB1bmtub3duIChpbmNsdWRpbmcgZXhpc3Rpbmcg
YXMgd2VsbCBhcwotZnV0dXJlIGNsYWltcyBhbmQgY2F1c2VzIG9mIGFjdGlvbiksIGluIHRoZSBX
b3JrIChpKSBpbiBhbGwgdGVycml0b3JpZXMKLXdvcmxkd2lkZSwgKGlpKSBmb3IgdGhlIG1heGlt
dW0gZHVyYXRpb24gcHJvdmlkZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKLXRyZWF0eSAoaW5jbHVk
aW5nIGZ1dHVyZSB0aW1lIGV4dGVuc2lvbnMpLCAoaWlpKSBpbiBhbnkgY3VycmVudCBvciBmdXR1
cmUKLW1lZGl1bSBhbmQgZm9yIGFueSBudW1iZXIgb2YgY29waWVzLCBhbmQgKGl2KSBmb3IgYW55
IHB1cnBvc2Ugd2hhdHNvZXZlciwKLWluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gY29tbWVy
Y2lhbCwgYWR2ZXJ0aXNpbmcgb3IgcHJvbW90aW9uYWwKLXB1cnBvc2VzICh0aGUgIldhaXZlciIp
LiBBZmZpcm1lciBtYWtlcyB0aGUgV2FpdmVyIGZvciB0aGUgYmVuZWZpdCBvZiBlYWNoCi1tZW1i
ZXIgb2YgdGhlIHB1YmxpYyBhdCBsYXJnZSBhbmQgdG8gdGhlIGRldHJpbWVudCBvZiBBZmZpcm1l
cidzIGhlaXJzIGFuZAotc3VjY2Vzc29ycywgZnVsbHkgaW50ZW5kaW5nIHRoYXQgc3VjaCBXYWl2
ZXIgc2hhbGwgbm90IGJlIHN1YmplY3QgdG8KLXJldm9jYXRpb24sIHJlc2Npc3Npb24sIGNhbmNl
bGxhdGlvbiwgdGVybWluYXRpb24sIG9yIGFueSBvdGhlciBsZWdhbCBvcgotZXF1aXRhYmxlIGFj
dGlvbiB0byBkaXNydXB0IHRoZSBxdWlldCBlbmpveW1lbnQgb2YgdGhlIFdvcmsgYnkgdGhlIHB1
YmxpYwotYXMgY29udGVtcGxhdGVkIGJ5IEFmZmlybWVyJ3MgZXhwcmVzcyBTdGF0ZW1lbnQgb2Yg
UHVycG9zZS4KLQotMy4gUHVibGljIExpY2Vuc2UgRmFsbGJhY2suIFNob3VsZCBhbnkgcGFydCBv
ZiB0aGUgV2FpdmVyIGZvciBhbnkgcmVhc29uCi1iZSBqdWRnZWQgbGVnYWxseSBpbnZhbGlkIG9y
IGluZWZmZWN0aXZlIHVuZGVyIGFwcGxpY2FibGUgbGF3LCB0aGVuIHRoZQotV2FpdmVyIHNoYWxs
IGJlIHByZXNlcnZlZCB0byB0aGUgbWF4aW11bSBleHRlbnQgcGVybWl0dGVkIHRha2luZyBpbnRv
Ci1hY2NvdW50IEFmZmlybWVyJ3MgZXhwcmVzcyBTdGF0ZW1lbnQgb2YgUHVycG9zZS4gSW4gYWRk
aXRpb24sIHRvIHRoZQotZXh0ZW50IHRoZSBXYWl2ZXIgaXMgc28ganVkZ2VkIEFmZmlybWVyIGhl
cmVieSBncmFudHMgdG8gZWFjaCBhZmZlY3RlZAotcGVyc29uIGEgcm95YWx0eS1mcmVlLCBub24g
dHJhbnNmZXJhYmxlLCBub24gc3VibGljZW5zYWJsZSwgbm9uIGV4Y2x1c2l2ZSwKLWlycmV2b2Nh
YmxlIGFuZCB1bmNvbmRpdGlvbmFsIGxpY2Vuc2UgdG8gZXhlcmNpc2UgQWZmaXJtZXIncyBDb3B5
cmlnaHQgYW5kCi1SZWxhdGVkIFJpZ2h0cyBpbiB0aGUgV29yayAoaSkgaW4gYWxsIHRlcnJpdG9y
aWVzIHdvcmxkd2lkZSwgKGlpKSBmb3IgdGhlCi1tYXhpbXVtIGR1cmF0aW9uIHByb3ZpZGVkIGJ5
IGFwcGxpY2FibGUgbGF3IG9yIHRyZWF0eSAoaW5jbHVkaW5nIGZ1dHVyZQotdGltZSBleHRlbnNp
b25zKSwgKGlpaSkgaW4gYW55IGN1cnJlbnQgb3IgZnV0dXJlIG1lZGl1bSBhbmQgZm9yIGFueSBu
dW1iZXIKLW9mIGNvcGllcywgYW5kIChpdikgZm9yIGFueSBwdXJwb3NlIHdoYXRzb2V2ZXIsIGlu
Y2x1ZGluZyB3aXRob3V0Ci1saW1pdGF0aW9uIGNvbW1lcmNpYWwsIGFkdmVydGlzaW5nIG9yIHBy
b21vdGlvbmFsIHB1cnBvc2VzICh0aGUKLSJMaWNlbnNlIikuIFRoZSBMaWNlbnNlIHNoYWxsIGJl
IGRlZW1lZCBlZmZlY3RpdmUgYXMgb2YgdGhlIGRhdGUgQ0MwIHdhcwotYXBwbGllZCBieSBBZmZp
cm1lciB0byB0aGUgV29yay4gU2hvdWxkIGFueSBwYXJ0IG9mIHRoZSBMaWNlbnNlIGZvciBhbnkK
LXJlYXNvbiBiZSBqdWRnZWQgbGVnYWxseSBpbnZhbGlkIG9yIGluZWZmZWN0aXZlIHVuZGVyIGFw
cGxpY2FibGUgbGF3LCBzdWNoCi1wYXJ0aWFsIGludmFsaWRpdHkgb3IgaW5lZmZlY3RpdmVuZXNz
IHNoYWxsIG5vdCBpbnZhbGlkYXRlIHRoZSByZW1haW5kZXIKLW9mIHRoZSBMaWNlbnNlLCBhbmQg
aW4gc3VjaCBjYXNlIEFmZmlybWVyIGhlcmVieSBhZmZpcm1zIHRoYXQgaGUgb3Igc2hlCi13aWxs
IG5vdCAoaSkgZXhlcmNpc2UgYW55IG9mIGhpcyBvciBoZXIgcmVtYWluaW5nIENvcHlyaWdodCBh
bmQgUmVsYXRlZAotUmlnaHRzIGluIHRoZSBXb3JrIG9yIChpaSkgYXNzZXJ0IGFueSBhc3NvY2lh
dGVkIGNsYWltcyBhbmQgY2F1c2VzIG9mCi1hY3Rpb24gd2l0aCByZXNwZWN0IHRvIHRoZSBXb3Jr
LCBpbiBlaXRoZXIgY2FzZSBjb250cmFyeSB0byBBZmZpcm1lcidzCi1leHByZXNzIFN0YXRlbWVu
dCBvZiBQdXJwb3NlLgotCi00LiBMaW1pdGF0aW9ucyBhbmQgRGlzY2xhaW1lcnMuCi0KLSBhLiBO
byB0cmFkZW1hcmsgb3IgcGF0ZW50IHJpZ2h0cyBoZWxkIGJ5IEFmZmlybWVyIGFyZSB3YWl2ZWQs
IGFiYW5kb25lZCwKLSAgICBzdXJyZW5kZXJlZCwgbGljZW5zZWQgb3Igb3RoZXJ3aXNlIGFmZmVj
dGVkIGJ5IHRoaXMgZG9jdW1lbnQuCi0gYi4gQWZmaXJtZXIgb2ZmZXJzIHRoZSBXb3JrIGFzLWlz
IGFuZCBtYWtlcyBubyByZXByZXNlbnRhdGlvbnMgb3IKLSAgICB3YXJyYW50aWVzIG9mIGFueSBr
aW5kIGNvbmNlcm5pbmcgdGhlIFdvcmssIGV4cHJlc3MsIGltcGxpZWQsCi0gICAgc3RhdHV0b3J5
IG9yIG90aGVyd2lzZSwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB3YXJyYW50aWVzIG9m
Ci0gICAgdGl0bGUsIG1lcmNoYW50YWJpbGl0eSwgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1
cnBvc2UsIG5vbgotICAgIGluZnJpbmdlbWVudCwgb3IgdGhlIGFic2VuY2Ugb2YgbGF0ZW50IG9y
IG90aGVyIGRlZmVjdHMsIGFjY3VyYWN5LCBvcgotICAgIHRoZSBwcmVzZW50IG9yIGFic2VuY2Ug
b2YgZXJyb3JzLCB3aGV0aGVyIG9yIG5vdCBkaXNjb3ZlcmFibGUsIGFsbCB0bwotICAgIHRoZSBn
cmVhdGVzdCBleHRlbnQgcGVybWlzc2libGUgdW5kZXIgYXBwbGljYWJsZSBsYXcuCi0gYy4gQWZm
aXJtZXIgZGlzY2xhaW1zIHJlc3BvbnNpYmlsaXR5IGZvciBjbGVhcmluZyByaWdodHMgb2Ygb3Ro
ZXIgcGVyc29ucwotICAgIHRoYXQgbWF5IGFwcGx5IHRvIHRoZSBXb3JrIG9yIGFueSB1c2UgdGhl
cmVvZiwgaW5jbHVkaW5nIHdpdGhvdXQKLSAgICBsaW1pdGF0aW9uIGFueSBwZXJzb24ncyBDb3B5
cmlnaHQgYW5kIFJlbGF0ZWQgUmlnaHRzIGluIHRoZSBXb3JrLgotICAgIEZ1cnRoZXIsIEFmZmly
bWVyIGRpc2NsYWltcyByZXNwb25zaWJpbGl0eSBmb3Igb2J0YWluaW5nIGFueSBuZWNlc3NhcnkK
LSAgICBjb25zZW50cywgcGVybWlzc2lvbnMgb3Igb3RoZXIgcmlnaHRzIHJlcXVpcmVkIGZvciBh
bnkgdXNlIG9mIHRoZQotICAgIFdvcmsuCi0gZC4gQWZmaXJtZXIgdW5kZXJzdGFuZHMgYW5kIGFj
a25vd2xlZGdlcyB0aGF0IENyZWF0aXZlIENvbW1vbnMgaXMgbm90IGEKLSAgICBwYXJ0eSB0byB0
aGlzIGRvY3VtZW50IGFuZCBoYXMgbm8gZHV0eSBvciBvYmxpZ2F0aW9uIHdpdGggcmVzcGVjdCB0
bwotICAgIHRoaXMgQ0MwIG9yIHVzZSBvZiB0aGUgV29yay4KZGlmZiAtLWdpdCBhL0xJQ0VOU0VT
L0dQTC0yLjAtb3ItbGF0ZXIudHh0IGIvTElDRU5TRVMvR1BMLTIuMC1vci1sYXRlci50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkODBhYzMuLjAwMDAwMDAKLS0tIGEvTElDRU5T
RVMvR1BMLTIuMC1vci1sYXRlci50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMTkgKzAsMCBAQAot
R05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKLQotVmVyc2lvbiAyLCBKdW5lIDE5OTEKLQotQ29w
eXJpZ2h0IChDKSAxOTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiAKLQot
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EKLQotRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0
aW0gY29waWVzIG9mIHRoaXMgbGljZW5zZQotZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBu
b3QgYWxsb3dlZC4KLQotUHJlYW1ibGUKLQotVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJl
IGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlCi1hbmQgY2hh
bmdlIGl0LiBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGlu
dGVuZGVkIHRvCi1ndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJl
ZSBzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZQotc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0
cyB1c2Vycy4gVGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8KLW1vc3Qgb2Yg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIg
cHJvZ3JhbSB3aG9zZQotYXV0aG9ycyBjb21taXQgdG8gdXNpbmcgaXQuIChTb21lIG90aGVyIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZQotaXMgY292ZXJlZCBieSB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSBZb3UgY2FuIGFwcGx5Ci1pdCB0
byB5b3VyIHByb2dyYW1zLCB0b28uCi0KLVdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwg
d2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QgcHJpY2UuIE91cgotR2VuZXJhbCBQdWJs
aWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdSBoYXZlIHRoZSBm
cmVlZG9tCi10byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdl
IGZvciB0aGlzIHNlcnZpY2UgaWYgeW91Ci13aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2Ug
Y29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdSB3YW50IGl0LCB0aGF0IHlvdQotY2FuIGNoYW5nZSB0
aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdCBpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5k
IHRoYXQKLXlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgotCi1UbyBwcm90ZWN0IHlv
dXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkIGFueW9u
ZSB0bwotZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRo
ZSByaWdodHMuIFRoZXNlIHJlc3RyaWN0aW9ucwotdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9u
c2liaWxpdGllcyBmb3IgeW91IGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZgotdGhlIHNvZnR3
YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0LgotCi1Gb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1
dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyIGdyYXRpcyBvcgotZm9yIGEgZmVl
LCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQgeW91IGhh
dmUuIFlvdQotbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdl
dCB0aGUgc291cmNlIGNvZGUuIEFuZCB5b3UKLW11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNv
IHRoZXkga25vdyB0aGVpciByaWdodHMuCi0KLVdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0
d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQgKDIpCi1vZmZlciB5b3Ug
dGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRp
c3RyaWJ1dGUKLWFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgotCi1BbHNvLCBmb3IgZWFjaCBh
dXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbiB0aGF0
Ci1ldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlz
IGZyZWUgc29mdHdhcmUuIElmCi10aGUgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgc29tZW9uZSBl
bHNlIGFuZCBwYXNzZWQgb24sIHdlIHdhbnQgaXRzIHJlY2lwaWVudHMKLXRvIGtub3cgdGhhdCB3
aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbyB0aGF0IGFueSBwcm9ibGVtcyBp
bnRyb2R1Y2VkCi1ieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwgYXV0
aG9ycycgcmVwdXRhdGlvbnMuCi0KLUZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0
ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuIFdlCi13aXNoIHRvIGF2b2lkIHRo
ZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUgcHJvZ3JhbSB3aWxsIGluZGl2
aWR1YWxseQotb2J0YWluIHBhdGVudCBsaWNlbnNlcywgaW4gZWZmZWN0IG1ha2luZyB0aGUgcHJv
Z3JhbSBwcm9wcmlldGFyeS4gVG8gcHJldmVudAotdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFy
IHRoYXQgYW55IHBhdGVudCBtdXN0IGJlIGxpY2Vuc2VkIGZvciBldmVyeW9uZSdzCi1mcmVlIHVz
ZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgotCi1UaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0
aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24KLWZvbGxvdy4K
LQotVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9E
SUZJQ0FUSU9OCi0KLTAuIFRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBwcm9ncmFtIG9yIG90
aGVyIHdvcmsgd2hpY2ggY29udGFpbnMgYSBub3RpY2UKLXBsYWNlZCBieSB0aGUgY29weXJpZ2h0
IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcwotb2Yg
dGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGUgIlByb2dyYW0iLCBiZWxvdywgcmVmZXJz
IHRvIGFueSBzdWNoIHByb2dyYW0KLW9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQ
cm9ncmFtIiBtZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55Ci1kZXJpdmF0aXZlIHdvcmsg
dW5kZXIgY29weXJpZ2h0IGxhdzogdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRo
ZQotUHJvZ3JhbSBvciBhIHBvcnRpb24gb2YgaXQsIGVpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1v
ZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQKLWludG8gYW5vdGhlciBsYW5ndWFnZS4gKEhl
cmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24KLWlu
IHRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMg
InlvdSIuCi0KLUFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5k
IG1vZGlmaWNhdGlvbiBhcmUgbm90IGNvdmVyZWQKLWJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUg
b3V0c2lkZSBpdHMgc2NvcGUuIFRoZSBhY3Qgb2YgcnVubmluZyB0aGUgUHJvZ3JhbQotaXMgbm90
IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0gaXMgY292ZXJlZCBv
bmx5IGlmIGl0cwotY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dy
YW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuCi1tYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dy
YW0pLiBXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIFByb2dyYW0KLWRv
ZXMuCi0KLTEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2Yg
dGhlIFByb2dyYW0ncyBzb3VyY2UgY29kZQotYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRp
dW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkKLXB1
Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGRp
c2NsYWltZXIgb2Ygd2FycmFudHk7Ci1rZWVwIGludGFjdCBhbGwgdGhlIG5vdGljZXMgdGhhdCBy
ZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlCi1vZiBhbnkgd2FycmFudHk7
IGFuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0
aGlzCi1MaWNlbnNlIGFsb25nIHdpdGggdGhlIFByb2dyYW0uCi0KLVlvdSBtYXkgY2hhcmdlIGEg
ZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZCB5b3UK
LW1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdl
IGZvciBhIGZlZS4KLQotMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0
aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdCwKLXRodXMgZm9ybWluZyBhIHdvcmsgYmFz
ZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZCBkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0
aW9ucwotb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxIGFib3ZlLCBwcm92aWRl
ZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsCi1vZiB0aGVzZSBjb25kaXRpb25zOgotCi1hKSBZb3Ug
bXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMg
c3RhdGluZyB0aGF0Ci15b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBj
aGFuZ2UuCi0KLWIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUg
b3IgcHVibGlzaCwgdGhhdCBpbiB3aG9sZSBvcgotaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJp
dmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55IHBhcnQgdGhlcmVvZiwgdG8gYmUKLWxpY2Vuc2Vk
IGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZCBwYXJ0aWVzIHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGlzCi1MaWNlbnNlLgotCi1jKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3Jt
YWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5IHdoZW4gcnVuLAoteW91IG11c3QgY2F1
c2UgaXQsIHdoZW4gc3RhcnRlZCBydW5uaW5nIGZvciBzdWNoIGludGVyYWN0aXZlIHVzZSBpbiB0
aGUgbW9zdAotb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuIGFubm91bmNlbWVu
dCBpbmNsdWRpbmcgYW4gYXBwcm9wcmlhdGUKLWNvcHlyaWdodCBub3RpY2UgYW5kIGEgbm90aWNl
IHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0Ci15b3UgcHJv
dmlkZSBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRoZSBwcm9n
cmFtIHVuZGVyCi10aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8g
dmlldyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLgotKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0g
aXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dCBkb2VzIG5vdCBub3JtYWxseSBwcmludAotc3VjaCBh
biBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSBpcyBub3QgcmVx
dWlyZWQgdG8gcHJpbnQKLWFuIGFubm91bmNlbWVudC4pCi0KLVRoZXNlIHJlcXVpcmVtZW50cyBh
cHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiBJZiBpZGVudGlmaWFibGUKLXNl
Y3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwgYW5k
IGNhbiBiZSByZWFzb25hYmx5Ci1jb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3
b3JrcyBpbiB0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwKLWFuZCBpdHMgdGVybXMsIGRv
IG5vdCBhcHBseSB0byB0aG9zZSBzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMK
LXNlcGFyYXRlIHdvcmtzLiBCdXQgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9u
cyBhcyBwYXJ0IG9mIGEgd2hvbGUKLXdoaWNoIGlzIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3Jh
bSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZQotb24gdGhlIHRlcm1zIG9m
IHRoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRl
bmQKLXRvIHRoZSBlbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQg
cmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUKLWl0LgotCi1UaHVzLCBpdCBpcyBub3QgdGhlIGludGVu
dCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QgeW91cgotcmlnaHRz
IHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0
byBleGVyY2lzZQotdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJp
dmF0aXZlIG9yIGNvbGxlY3RpdmUgd29ya3MgYmFzZWQKLW9uIHRoZSBQcm9ncmFtLgotCi1JbiBh
ZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRo
ZSBQcm9ncmFtIHdpdGgKLXRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUg
UHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlCi1vciBkaXN0cmlidXRpb24gbWVkaXVt
IGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyIHRoZSBzY29wZSBvZiB0aGlzCi1M
aWNlbnNlLgotCi0zLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9y
IGEgd29yayBiYXNlZCBvbiBpdCwgdW5kZXIgU2VjdGlvbgotMikgaW4gb2JqZWN0IGNvZGUgb3Ig
ZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3Zl
Ci1wcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgotCi1hKSBB
Y2NvbXBhbnkgaXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRh
YmxlIHNvdXJjZSBjb2RlLAotd2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVy
bXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bQotY3VzdG9tYXJpbHkgdXNl
ZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAotCi1iKSBBY2NvbXBhbnkgaXQgd2l0aCBh
IHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycywgdG8gZ2l2ZQot
YW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIgY29zdCBvZiBw
aHlzaWNhbGx5IHBlcmZvcm1pbmcKLXNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUgbWFj
aGluZS1yZWFkYWJsZSBjb3B5IG9mIHRoZSBjb3JyZXNwb25kaW5nCi1zb3VyY2UgY29kZSwgdG8g
YmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUg
b24KLWEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBv
ciwKLQotYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBh
cyB0byB0aGUgb2ZmZXIgdG8gZGlzdHJpYnV0ZQotY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4g
KFRoaXMgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsCi1kaXN0
cmlidXRpb24gYW5kIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBwcm9ncmFtIGluIG9iamVjdCBj
b2RlIG9yIGV4ZWN1dGFibGUKLWZvcm0gd2l0aCBzdWNoIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0
aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQotCi1UaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFu
cyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yIG1ha2luZwotbW9kaWZpY2F0aW9u
cyB0byBpdC4gRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlIGNvZGUgbWVh
bnMgYWxsCi10aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVz
IGFueSBhc3NvY2lhdGVkIGludGVyZmFjZQotZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2Ny
aXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbgotb2YgdGhl
IGV4ZWN1dGFibGUuIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24sIHRoZSBzb3VyY2Ug
Y29kZSBkaXN0cmlidXRlZAotbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IGlzIG5vcm1h
bGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yCi1iaW5hcnkgZm9ybSkgd2l0aCB0
aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUK
LW9wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRo
YXQgY29tcG9uZW50IGl0c2VsZgotYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCi0KLUlmIGRp
c3RyaWJ1dGlvbiBvZiBleGVjdXRhYmxlIG9yIG9iamVjdCBjb2RlIGlzIG1hZGUgYnkgb2ZmZXJp
bmcgYWNjZXNzIHRvCi1jb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5n
IGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlCi1zb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1l
IHBsYWNlIGNvdW50cyBhcyBkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLAotZXZlbiB0
aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90IGNvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2Ug
YWxvbmcgd2l0aAotdGhlIG9iamVjdCBjb2RlLgotCi00LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2Rp
ZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gZXhjZXB0Ci1hcyBleHBy
ZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiBBbnkgYXR0ZW1wdCBvdGhlcndpc2Ug
dG8gY29weSwgbW9kaWZ5LAotc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlz
IHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlCi15b3VyIHJpZ2h0cyB1bmRl
ciB0aGlzIExpY2Vuc2UuIEhvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVz
LAotb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlciB0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0
aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkCi1zbyBsb25nIGFzIHN1Y2ggcGFydGllcyByZW1haW4g
aW4gZnVsbCBjb21wbGlhbmNlLgotCi01LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQg
dGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3Qgc2lnbmVkCi1pdC4gSG93ZXZlciwgbm90
aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IgZGlzdHJpYnV0ZSB0
aGUKLVByb2dyYW0gb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuIFRoZXNlIGFjdGlvbnMgYXJlIHBy
b2hpYml0ZWQgYnkgbGF3IGlmIHlvdQotZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuIFRoZXJl
Zm9yZSwgYnkgbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbQotKG9yIGFueSB3
b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBv
ZiB0aGlzIExpY2Vuc2UKLXRvIGRvIHNvLCBhbmQgYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9u
cyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwotdGhlIFByb2dyYW0gb3Ig
d29ya3MgYmFzZWQgb24gaXQuCi0KLTYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQ
cm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSksCi10aGUgcmVjaXBpZW50
IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlIG9yaWdpbmFsIGxpY2Vu
c29yCi10byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRv
IHRoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLgotWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0
aGVyIHJlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YKLXRoZSByaWdo
dHMgZ3JhbnRlZCBoZXJlaW4uIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcg
Y29tcGxpYW5jZQotYnkgdGhpcmQgcGFydGllcyB0byB0aGlzIExpY2Vuc2UuCi0KLTcuIElmLCBh
cyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRl
bnQgaW5mcmluZ2VtZW50Ci1vciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8g
cGF0ZW50IGlzc3VlcyksIGNvbmRpdGlvbnMgYXJlIGltcG9zZWQKLW9uIHlvdSAod2hldGhlciBi
eSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yIG90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRo
ZQotY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90IGV4Y3VzZSB5b3UgZnJv
bSB0aGUgY29uZGl0aW9ucyBvZgotdGhpcyBMaWNlbnNlLiBJZiB5b3UgY2Fubm90IGRpc3RyaWJ1
dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyCi1vYmxpZ2F0aW9ucyB1bmRl
ciB0aGlzIExpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4g
YXMKLWEgY29uc2VxdWVuY2UgeW91IG1heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBh
bGwuIEZvciBleGFtcGxlLCBpZiBhCi1wYXRlbnQgbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJv
eWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbQotYnkgYWxsIHRob3NlIHdo
byByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVu
IHRoZQotb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNl
IHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkKLWZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQ
cm9ncmFtLgotCi1JZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlk
IG9yIHVuZW5mb3JjZWFibGUgdW5kZXIgYW55Ci1wYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhl
IGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gYXBwbHkgYW5kCi10aGUgc2Vj
dGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyIGNpcmN1bXN0YW5j
ZXMuCi0KLUl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlv
dSB0byBpbmZyaW5nZSBhbnkgcGF0ZW50cwotb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1z
IG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55IHN1Y2ggY2xhaW1zOwotdGhpcyBzZWN0aW9u
IGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlIGludGVncml0eSBvZiB0aGUg
ZnJlZQotc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMgaW1wbGVtZW50ZWQg
YnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLgotTWFueSBwZW9wbGUgaGF2ZSBtYWRlIGdlbmVy
b3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUKLWRpc3RyaWJ1
dGVkIHRocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNh
dGlvbiBvZiB0aGF0Ci1zeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVj
aWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nIHRvCi1kaXN0cmlidXRlIHNvZnR3YXJlIHRocm91
Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QgaW1wb3NlCi10aGF0IGNo
b2ljZS4KLQotVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVh
ciB3aGF0IGlzIGJlbGlldmVkIHRvIGJlIGEKLWNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRo
aXMgTGljZW5zZS4KLQotOC4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBQ
cm9ncmFtIGlzIHJlc3RyaWN0ZWQgaW4gY2VydGFpbgotY291bnRyaWVzIGVpdGhlciBieSBwYXRl
bnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZSBvcmlnaW5hbCBjb3B5cmlnaHQK
LWhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRk
IGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbAotZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVk
aW5nIHRob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMKLXBlcm1pdHRlZCBv
bmx5IGluIG9yIGFtb25nIGNvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gSW4gc3VjaCBjYXNl
LCB0aGlzCi1MaWNlbnNlIGluY29ycG9yYXRlcyB0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVu
IGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KLQotOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YKLXRoZSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiBTdWNoIG5ldyB2ZXJzaW9u
cyB3aWxsIGJlIHNpbWlsYXIKLWluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQg
bWF5IGRpZmZlciBpbiBkZXRhaWwgdG8gYWRkcmVzcyBuZXcKLXByb2JsZW1zIG9yIGNvbmNlcm5z
LgotCi1FYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJl
ci4gSWYgdGhlIFByb2dyYW0gc3BlY2lmaWVzCi1hIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGlj
ZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55IGxhdGVyIHZlcnNpb24iLAoteW91IGhh
dmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGVpdGhl
ciBvZiB0aGF0IHZlcnNpb24KLW9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiBJZiB0aGUKLVByb2dyYW0gZG9lcyBub3Qgc3Bl
Y2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UKLWFu
eSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u
Ci0KLTEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBp
bnRvIG90aGVyIGZyZWUgcHJvZ3JhbXMKLXdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFy
ZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IgdG8gYXNrIGZvcgotcGVybWlzc2lvbi4g
Rm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sCi13cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21l
dGltZXMgbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLgotT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3Vp
ZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMKLW9mIGFs
bCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQgb2YgcHJvbW90aW5nIHRoZSBz
aGFyaW5nIGFuZCByZXVzZQotb2Ygc29mdHdhcmUgZ2VuZXJhbGx5LgotCi0gICBOTyBXQVJSQU5U
WQotCi0xMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwg
VEhFUkUgSVMgTk8gV0FSUkFOVFkgRk9SCi1USEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJN
SVRURUQgQlkgQVBQTElDQUJMRSBMQVcuIEVYQ0VQVCBXSEVOIE9USEVSV0lTRQotU1RBVEVEIElO
IFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTIFBST1ZJ
REUgVEhFIFBST0dSQU0KLSJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlU
SEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsCi1CVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi1G
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFRIRSBFTlRJUkUgUklTSyBBUyBUTyBUSEUgUVVBTElU
WSBBTkQgUEVSRk9STUFOQ0UKLU9GIFRIRSBQUk9HUkFNIElTIFdJVEggWU9VLiBTSE9VTEQgVEhF
IFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FCi1USEUgQ09TVCBPRiBBTEwgTkVD
RVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uCi0KLTEyLiBJTiBOTyBFVkVO
VCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJ
TkcKLVdJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZ
IE1PRElGWSBBTkQvT1IgUkVESVNUUklCVVRFCi1USEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJP
VkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkKLUdFTkVSQUws
IFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VU
IE9GIFRIRSBVU0UKLU9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRiBEQVRBCi1PUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElO
QUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQgUEFSVElFUwotT1Ig
QSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgUFJPR1JB
TVMpLCBFVkVOIElGIFNVQ0gKLUhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCi1FTkQgT0YgVEVSTVMgQU5EIENP
TkRJVElPTlMKLQotSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1z
Ci0KLUlmIHlvdSBkZXZlbG9wIGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBv
ZiB0aGUgZ3JlYXRlc3QgcG9zc2libGUKLXVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkg
dG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQgZnJlZSBzb2Z0d2FyZQotd2hpY2ggZXZlcnlv
bmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgotCi1UbyBk
byBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gSXQgaXMg
c2FmZXN0IHRvIGF0dGFjaAotdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0
byBtb3N0IGVmZmVjdGl2ZWx5IGNvbnZleSB0aGUgZXhjbHVzaW9uCi1vZiB3YXJyYW50eTsgYW5k
IGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGUgImNvcHlyaWdodCIgbGluZSBhbmQg
YQotcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCi0KLTxvbmUgbGlu
ZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYW4gaWRlYSBvZiB3aGF0IGl0IGRvZXMu
PgotCi1Db3B5cmlnaHQgKEMpIDx5eXl5PiA8bmFtZSBvZiBhdXRob3I+Ci0KLVRoaXMgcHJvZ3Jh
bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
IGl0IHVuZGVyCi10aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQotRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIKLXZlcnNp
b24uCi0KLVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAotQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKLUZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgotCi1Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCi10aGlzIHByb2dyYW07IGlmIG5v
dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4KLVN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotCi1B
bHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBh
bmQgcGFwZXIgbWFpbC4KLQotSWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1ha2UgaXQg
b3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcyB3aGVuCi1pdCBzdGFydHMgaW4gYW4gaW50
ZXJhY3RpdmUgbW9kZToKLQotR25vbW92aXNpb24gdmVyc2lvbiA2OSwgQ29weXJpZ2h0IChDKSB5
ZWFyIG5hbWUgb2YgYXV0aG9yIEdub21vdmlzaW9uIGNvbWVzCi13aXRoIEFCU09MVVRFTFkgTk8g
V0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuIFRoaXMgaXMgZnJlZSBzb2Z0d2Fy
ZSwKLWFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0IHVuZGVyIGNlcnRhaW4g
Y29uZGl0aW9uczsgdHlwZSBgc2hvdwotYycgZm9yIGRldGFpbHMuCi0KLVRoZSBoeXBvdGhldGlj
YWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3By
aWF0ZQotcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIE9mIGNvdXJzZSwgdGhl
IGNvbW1hbmRzIHlvdSB1c2UgbWF5IGJlCi1jYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNo
b3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUgbW91c2UtY2xpY2tzCi1vciBt
ZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCi0KLVlvdSBzaG91bGQgYWxz
byBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3Vy
IHNjaG9vbCwKLWlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRo
ZSBwcm9ncmFtLCBpZiBuZWNlc3NhcnkuIEhlcmUKLWlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFt
ZXM6Ci0KLVlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50
ZXJlc3QgaW4gdGhlIHByb2dyYW0gYEdub21vdmlzaW9uJwotKHdoaWNoIG1ha2VzIHBhc3NlcyBh
dCBjb21waWxlcnMpIHdyaXR0ZW4gYnkgSmFtZXMgSGFja2VyLgotCi08c2lnbmF0dXJlIG9mIFR5
IENvb24+LCAxIEFwcmlsIDE5ODkgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UgVGhpcyBHZW5l
cmFsCi1QdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHBy
b2dyYW0gaW50byBwcm9wcmlldGFyeQotcHJvZ3JhbXMuIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1
YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heSBjb25zaWRlciBpdCBtb3JlCi11c2VmdWwgdG8gcGVy
bWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlIGxpYnJhcnkuIElm
IHRoaXMKLWlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGluc3RlYWQKLW9mIHRoaXMgTGljZW5zZS4KZGlmZiAtLWdpdCBhL1JF
QURNRS5tZCBiL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
NWU4MzBlCi0tLSAvZGV2L251bGwKKysrIGIvUkVBRE1FLm1kCkBAIC0wLDAgKzEsMyBAQAorVGhp
cyBwcm9qZWN0IGlzIG5vIGxvbmdlciBtYWludGFpbmVkIHNpbmNlIGl0IHdhcyBvbmx5IHJlbGV2
YW50IGluIGFuIFgxMSBzZXNzaW9uLgorCitUaGUgbGFzdCBtYWludGFpbmVkIHZlcnNpb24gaXMg
aW4gdGhlIFBsYXNtYS82LjcgYnJhbmNoLgpkaWZmIC0tZ2l0IGEvZG9jL0NNYWtlTGlzdHMudHh0
IGIvZG9jL0NNYWtlTGlzdHMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjk5
MDQ2Li4wMDAwMDAwCi0tLSBhL2RvYy9DTWFrZUxpc3RzLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
ICswLDAgQEAKLWtkb2N0b29sc19jcmVhdGVfaGFuZGJvb2soaW5kZXguZG9jYm9vayBJTlNUQUxM
X0RFU1RJTkFUSU9OICR7S0RFX0lOU1RBTExfRE9DQlVORExFRElSfS9lbiBTVUJESVIga2NvbnRy
b2wva2dhbW1hKQpkaWZmIC0tZ2l0IGEvZG9jL2luZGV4LmRvY2Jvb2sgYi9kb2MvaW5kZXguZG9j
Ym9vawpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWMwYjIwYi4uMDAwMDAwMAotLS0g
YS9kb2MvaW5kZXguZG9jYm9vaworKysgL2Rldi9udWxsCkBAIC0xLDE2NCArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiID8+Ci08IURPQ1RZUEUgYXJ0aWNsZSBQVUJMSUMgIi0vL0tERS8vRFRE
IERvY0Jvb2sgWE1MIFY0LjUtQmFzZWQgVmFyaWFudCBWMS4xLy9FTiIKLSAiZHRkL2tkZWRieDQ1
LmR0ZCIgWwotICA8IUVOVElUWSAlIGFkZGluZGV4ICJJR05PUkUiPgotICA8IUVOVElUWSAlIEVu
Z2xpc2ggIklOQ0xVREUiPjwhLS0gY2hhbmdlIGxhbmd1YWdlIG9ubHkgaGVyZSAtLT4KLV0+Ci0K
LTxhcnRpY2xlIGlkPSJrZ2FtbWEiIGxhbmc9IiZsYW5ndWFnZTsiPgotPHRpdGxlPk1vbml0b3Ig
R2FtbWE8L3RpdGxlPgotCi08YXJ0aWNsZWluZm8+Ci08YXV0aG9yZ3JvdXA+Ci08YXV0aG9yPgot
PGZpcnN0bmFtZT5NaWNoYWVsPC9maXJzdG5hbWU+Ci08c3VybmFtZT52Lk9zdGhlaW08L3N1cm5h
bWU+Ci08YWZmaWxpYXRpb24+Ci08YWRkcmVzcz48ZW1haWw+b3N0aGVpbW1AdXNlcnMuYmVybGlv
cy5kZTwvZW1haWw+PC9hZGRyZXNzPgotPC9hZmZpbGlhdGlvbj4KLTwvYXV0aG9yPgotPCEtLSBU
UkFOUzpST0xFU19PRl9UUkFOU0xBVE9SUyAtLT4KLTwvYXV0aG9yZ3JvdXA+Ci0KLTxkYXRlPjIw
MTUtMDctMzE8L2RhdGU+Ci08cmVsZWFzZWluZm8+UGxhc21hIDUuNDwvcmVsZWFzZWluZm8+Ci0K
LTxrZXl3b3Jkc2V0PgotPGtleXdvcmQ+S0RFPC9rZXl3b3JkPgotPGtleXdvcmQ+U3lzdGVtIFNl
dHRpbmdzPC9rZXl3b3JkPgotPGtleXdvcmQ+TW9uaXRvcjwva2V5d29yZD4KLTxrZXl3b3JkPkNh
bGlicmF0aW9uPC9rZXl3b3JkPgotPGtleXdvcmQ+R2FtbWE8L2tleXdvcmQ+Ci08L2tleXdvcmRz
ZXQ+Ci0KLTwvYXJ0aWNsZWluZm8+Ci0KLTxzZWN0MSBpZD0iaW50cm9kdWN0aW9uIj4KLTx0aXRs
ZT5JbnRyb2R1Y3Rpb248L3RpdGxlPgotCi08cGFyYT5UaGlzIG1vZHVsZSBpcyBhIHRvb2wgZm9y
IG1vbml0b3IgZ2FtbWEgY29ycmVjdGlvbi4gIFdpdGggcHJvcGVyIGdhbW1hCi1zZXR0aW5ncywg
eW91ciBkaXNwbGF5ICh3ZWJzaXRlcywgaW1hZ2VzLCAmZXRjOykgd2lsbCBsb29rIHRoZSBzYW1l
IG9uIHlvdXIKLW1vbml0b3IgYXMgb24gb3RoZXIgbW9uaXRvcnMuPC9wYXJhPgotPHBhcmE+SXQg
YWxsb3dzIHlvdSB0byBhbHRlciB0aGUgbW9uaXRvcidzIGdhbW1hIGNvcnJlY3Rpb24gb2YgdGhl
Ci0mWC1TZXJ2ZXI7LiBCdXQgdGhhdCdzIG5vdCBhbGwgdG8gZG8uIEZvciBnb29kIHJlc3VsdHMg
eW91IGhhdmUgdG8gc2V0IHRoZQotY29ycmVjdCBicmlnaHRuZXNzLCBjb250cmFzdCBhbmQgY29s
b3IgYmFsYW5jZSBvZiB5b3VyIG1vbml0b3IuIFRoaXMKLW1heSBiZSBkaWZmaWN1bHQgYW5kIHlv
dSBoYXZlIHRvIHJlcGVhdCBldmVyeSBzdGVwIHNldmVyYWwgdGltZXMuCi1Gb3IgcGVyZmVjdCBy
ZXN1bHRzIHlvdSBuZWVkIHJlYWxseSBnb29kIChhbmQgZXhwZW5zaXZlKSBoYXJkd2FyZS48L3Bh
cmE+Ci08cGFyYT5Vc2UgdGhlIGZvdXIgc2xpZGVycyB0byBkZWZpbmUgdGhlIGdhbW1hIGNvcnJl
Y3Rpb24gZWl0aGVyIGFzIGEgc2luZ2xlCi12YWx1ZSwgb3Igc2VwYXJhdGVseSBmb3IgdGhlIHJl
ZCwgZ3JlZW4gYW5kIGJsdWUgY29tcG9uZW50cy4gVGhlICZYLVNlcnZlcjsKLWRlZmF1bHQgc2V0
dGluZyBmb3IgZ2FtbWEgaXMgMS4wMCAoJk1hYzsgMS44MCwgV2luWFggMi4yMCkuIFRoZSB0ZXN0
IGltYWdlcyBoZWxwCi15b3UgdG8gZmluZCBwcm9wZXIgc2V0dGluZ3MuPC9wYXJhPgotPHBhcmE+
VG8gc3RvcmUgdGhlIGdhbW1hIHNldHRpbmdzIHN5c3RlbSB3aWRlLCBlbmFibGUgdGhlIG9wdGlv
biA8Z3VpbGFiZWw+U2F2ZQotc2V0dGluZ3Mgc3lzdGVtIHdpZGU8L2d1aWxhYmVsPi4gVGhlIHN5
c3RlbSBzZXR0aW5ncyB3aWxsIGJlIHJlc3RvcmVkIGF0IG5leHQgJlgtU2VydmVyOwotc3RhcnR1
cC4gWW91IG5lZWQgcm9vdCBhY2Nlc3MgdG8gdXNlIHRoaXMgb3B0aW9uLiBVc2UgdGhpcyBpZiB5
b3Ugd2FudCB0bwotY29ycmVjdCB0aGUgZ2FtbWEgc2V0dGluZ3MgZm9yIGFsbCB1c2VycyBhbmQg
Z3JhcGhpY2FsIGVudmlyb25tZW50cyBvbiB0aGlzCi1tYWNoaW5lLjwvcGFyYT4KLTxwYXJhPlRv
IHN0b3JlIHRoZSBnYW1tYSBzZXR0aW5ncyB0byB5b3VyIHBlcnNvbmFsICZwbGFzbWE7IGNvbmZp
Z3VyYXRpb24sIGRvIG5vdAotZW5hYmxlIHRoYXQgb3B0aW9uLiBUaGUgdXNlciBzZXR0aW5ncyB3
aWxsIGJlIHJlc3RvcmVkIGF0IG5leHQgJnBsYXNtYTsgc3RhcnR1cCBhbmQKLXJlcGxhY2UgdGVt
cG9yYXJ5IHRoZSBzeXN0ZW0gZ2FtbWEgc2V0dGluZ3MuIFRoZSBzeXN0ZW0gc2V0dGluZ3MgYXJl
IG5vdCByZW1vdmVkIGJ5Ci10aGF0IGFuZCB3aWxsIGJlIHJlc3RvcmVkIGF0IG5leHQgJlgtU2Vy
dmVyOyBzdGFydHVwLjwvcGFyYT4KLTxwYXJhPk9uIG11bHRpIGhlYWQgc3lzdGVtcywgc2VsZWN0
IHRoZSBzY3JlZW4geW91IHdhbnQgdG8gYWx0ZXIgd2l0aCB0aGUgY29tYm8KLWJveC4gVGhpcyB3
aWxsIGFsc28gd29yayB3aXRoIHhpbmVyYW1hIGVuYWJsZWQuIElmIHlvdSB3YW50IHRvIHNldCBh
bGwgc2NyZWVucwotdG8gdGhlIHNhbWUgZ2FtbWEgdmFsdWVzLCBlbmFibGUgdGhlIDxndWlsYWJl
bD5TeW5jIHNjcmVlbnM8L2d1aWxhYmVsPiBvcHRpb24uIE9uIHN5c3RlbXMgd2l0aCBvbmx5Ci1v
bmUgc2NyZWVuIHRoaXMgb3B0aW9uIHdpbGwgdGFrZSBubyBlZmZlY3QuPC9wYXJhPgotPC9zZWN0
MT4KLQotPHNlY3QxIGlkPSJ1c2luZ190ZXN0X2ltYWdlcyI+Ci08dGl0bGU+VXNpbmcgdGhlIFRl
c3QgSW1hZ2VzPC90aXRsZT4KLTxwYXJhPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNpeCBkaWZmZXJl
bnQgdGVzdCBwaWN0dXJlcyBzZWxlY3RhYmxlIGZyb20gdGhlIGRyb3AgZG93biBib3ggYXQgdGhl
IHRvcCBvZiB0aGUgd2luZG93LjwvcGFyYT4KLTxzZWN0MiBpZD0iZ3JleSI+Ci08dGl0bGU+R3Jl
eSBTY2FsZSBUZXN0IEltYWdlPC90aXRsZT4KLTxwYXJhPllvdSBzaG91bGQgYmUgYWJsZSB0byBz
ZWUgdGhlIGZvbGxvd2luZzo8L3BhcmE+Ci08aXRlbWl6ZWRsaXN0PgotPGxpc3RpdGVtPgotPHBh
cmE+QSBncmF5c2NhbGUgd2l0aCAyMCBkaWZmZXJlbnQgc2VjdGlvbnM8L3BhcmE+Ci08L2xpc3Rp
dGVtPgotPGxpc3RpdGVtPgotPHBhcmE+VGhlIGRhcmtlc3Qgc2VjdGlvbiBwdXJlIGJsYWNrPC9w
YXJhPgotPC9saXN0aXRlbT4KLTxsaXN0aXRlbT4KLTxwYXJhPlRoZSBsaWdodGVzdCBzZWN0aW9u
IHB1cmUgd2hpdGU8L3BhcmE+Ci08L2xpc3RpdGVtPgotPGxpc3RpdGVtPgotPHBhcmE+Tm8gaGlu
dCBvZiBhbnkgY29sb3IgaW4gdGhlIGdyYXkgdG9uZXM8L3BhcmE+Ci08L2xpc3RpdGVtPgotPC9p
dGVtaXplZGxpc3Q+Ci0KLTxwYXJhPklmIHlvdSBjYW5ub3Qgc2VlIGFsbCBvZiB0aGUgMjAgc2Vj
dGlvbnMsIHVzZSB5b3VyIG1vbml0b3JzIGNvbnRyYXN0IHNldHRpbmdzCi1vciB0aGUgPGd1aWxh
YmVsPkdhbW1hOjwvZ3VpbGFiZWw+IHNsaWRlciB0byBjb3JyZWN0IHRoaXMuIElmIGJsYWNrIGlz
IG5vdCBwdXJlIGJsYWNrLAotdHJ5IHRvIGRhcmtlbiB0aGUgbW9uaXRvciwgaWYgd2hpdGUgaXMg
bm90IHB1cmUgd2hpdGUsIHRyeSB0byBsaWdodGVuCi1pdC4gSWYgeW91IHNlZSBhbnkgY29sb3Jz
IGluIHRoZSBncmF5IHRvbmVzIGFsdGVyIHRoZSBjb2xvciBiYWxhbmNlIHNldHRpbmdzIG9mCi15
b3VyIG1vbml0b3Igb3IgdGhlIDxndWlsYWJlbD5SZWQ6PC9ndWlsYWJlbD4sIDxndWlsYWJlbD5H
cmVlbjo8L2d1aWxhYmVsPiBhbmQgPGd1aWxhYmVsPkJsdWU6PC9ndWlsYWJlbD4gc2xpZGVycy48
L3BhcmE+Ci08L3NlY3QyPgotCi08c2VjdDIgaWQ9IlJHQi1TY2FsZSI+Ci08dGl0bGU+UkdCIFNj
YWxlIFRlc3QgUGljdHVyZTwvdGl0bGU+Ci08cGFyYT4KLVlvdSBzaG91bGQgYmUgYWJsZSB0byBz
ZWUgdGhyZWUgc3RyaXBzLCBlYWNoIHdpdGggMTYgc2VjdGlvbnMgb2YgcmVkLAotZ3JlZW4gb3Ig
Ymx1ZSB0b25lcy4gVGhlIGRhcmtlc3Qgc2VjdGlvbnMgc2hvdWxkIGJlIHB1cmUgYmxhY2ssIHRo
ZSBicmlnaHRlc3QKLXNob3VsZCBiZSBwdXJlIHJlZCwgZ3JlZW4gb3IgYmx1ZS4gSWYgeW91IGRv
bid0IHNlZSBhbGwgc2VjdGlvbnMgb2YKLWEgY29sb3Igc3RyaXAsIHRyeSB0byBsaWdodGVuIG9y
IGRhcmtlbiB0aGlzIGNvbG9yLjwvcGFyYT4KLTwvc2VjdDI+Ci0KLTxzZWN0MiBpZD0iQ01ZLVNj
YWxlIj4KLTx0aXRsZT5DTVkgU2NhbGUgVGVzdCBQaWN0dXJlPC90aXRsZT4KLTxwYXJhPgotWW91
IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0aHJlZSBzdHJpcHMsIGVhY2ggd2l0aCAxMSBzZWN0aW9u
cyBvZiBjeWFuLAotbWFnZW50YSBvciB5ZWxsb3cgdG9uZXMuIFRoZSBicmlnaHRlc3Qgc2VjdGlv
bnMgc2hvdWxkIGJlIHB1cmUgd2hpdGUsIHRoZSBkYXJrZXN0Ci1zaG91bGQgYmUgcHVyZSBjeWFu
LCBtYWdlbnRhIG9yIHllbGxvdy48L3BhcmE+Ci0KLTxpdGVtaXplZGxpc3Q+Ci08bGlzdGl0ZW0+
Ci08cGFyYT5JZiB5b3UgY2Fubm90IHNlZSBhbGwgY3lhbiBzZWN0aW9ucywgdHJ5IHRvIGxpZ2h0
ZW4gb3IgZGFya2VuIHJlZDwvcGFyYT4KLTwvbGlzdGl0ZW0+Ci08bGlzdGl0ZW0+Ci08cGFyYT5J
ZiB5b3UgY2Fubm90IHNlZSBhbGwgbWFnZW50YSBzZWN0aW9ucywgdHJ5IHRvIGxpZ2h0ZW4gb3Ig
ZGFya2VuIGdyZWVuPC9wYXJhPgotPC9saXN0aXRlbT4KLTxsaXN0aXRlbT4KLTxwYXJhPklmIHlv
dSBjYW5ub3Qgc2VlIGFsbCB5ZWxsb3cgc2VjdGlvbnMsIHRyeSB0byBsaWdodGVuIG9yIGRhcmtl
biBibHVlPC9wYXJhPgotPC9saXN0aXRlbT4KLTwvaXRlbWl6ZWRsaXN0PgotPC9zZWN0Mj4KLQot
PHNlY3QyIGlkPSJhZHZhbmNlZCI+Ci08dGl0bGU+QWR2YW5jZWQgVGVzdCBQaWN0dXJlczwvdGl0
bGU+Ci08cGFyYT4KLVRoZSBmb2xsb3dpbmcgdGhyZWUgcGljdHVyZXMgc2hvdyB5b3UgdGhlIGFi
aWxpdGllcyBvZiB5b3VyIG1vbml0b3IgYXQKLXRocmVlIHBvaW50cyBvZiB0aGUgZ3JheSBzcGVj
dHJ1bS4gSWYgeW91IGNhbm5vdCBzZWUgYWxsIG9mIHRoZSBkZXRhaWxzLAotZG9uJ3QgYmUgd29y
cnksIG9yIGJ1eSBiZXR0ZXIgaGFyZHdhcmUuCi08L3BhcmE+Ci08c2VjdDMgaWQ9ImRhcmstZ3Jh
eSI+Ci08dGl0bGU+RGFyayBHcmF5IFRlc3QgUGljdHVyZTwvdGl0bGU+Ci08cGFyYT4KLVlvdSBz
aG91bGQgYmUgYWJsZSB0byBzZWUgMTAgZGlmZmVyZW50IHJlY3RhbmdsZXMgb2YgZGFyayBncmF5
IHdpdGhpbiBhCi1ibGFjayBib3guIFRoZSBjaGFydCBzaG93cyB5b3UgMSUgc3RlcHMgZnJvbSBi
bGFjay4KLTwvcGFyYT4KLTwvc2VjdDM+Ci08c2VjdDMgaWQ9Im1pZC1ncmF5Ij4KLTx0aXRsZT5N
aWQgR3JheSBUZXN0IFBpY3R1cmU8L3RpdGxlPgotPHBhcmE+Ci1UaGlzIHBpY3R1cmUgc2hvd3Mg
eW91IDExIGdyYXkgcmVjdGFuZ2xlcyB3aXRoaW4gYSA1MCUgZ3JheSBib3guIFlvdSBzaG91bGQg
YmUKLWFibGUgdG8gc2VlIGFsbCBvZiB0aGUgcmVjdGFuZ2xlcyBleGNlcHQgdGhlIG1pZGRsZSBv
bmUuIFRoZSByZWN0YW5nbGVzIHJlcHJlc2VudAotdGhlIHN0ZXBzIGZyb20gNDUlIHRvIDU1JSBn
cmF5LgotPC9wYXJhPgotPC9zZWN0Mz4KLTxzZWN0MyBpZD0ibGlnaHQtZ3JheSI+Ci08dGl0bGU+
TGlnaHQgR3JheSBUZXN0IFBpY3R1cmU8L3RpdGxlPgotPHBhcmE+Ci1Zb3Ugc2hvdWxkIGJlIGFi
bGUgdG8gc2VlIDEwIGRpZmZlcmVudCByZWN0YW5nbGVzIG9mIGxpZ2h0IGdyYXkgd2l0aGluIGEg
d2hpdGUgYm94LgotVGhlIGNoYXJ0IHNob3dzIHlvdSAxJSBzdGVwcyBmcm9tIHdoaXRlLgotPC9w
YXJhPgotPC9zZWN0Mz4KLTwvc2VjdDI+Ci08L3NlY3QxPgotCi08L2FydGljbGU+Ci08IS0tCi1M
b2NhbCBWYXJpYWJsZXM6Ci1tb2RlOiBzZ21sCi1zZ21sLW1pbmltaXplLWF0dHJpYnV0ZXM6bmls
Ci1zZ21sLWdlbmVyYWwtaW5zZXJ0LWNhc2U6bG93ZXIKLXNnbWwtaW5kZW50LXN0ZXA6MAotc2dt
bC1pbmRlbnQtZGF0YTpuaWwKLUVuZDoKLS0tPgpkaWZmIC0tZ2l0IGEva2Nta2dhbW1hL0NNYWtl
TGlzdHMudHh0IGIva2Nta2dhbW1hL0NNYWtlTGlzdHMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4Y2MxMGU4Li4wMDAwMDAwCi0tLSBhL2tjbWtnYW1tYS9DTWFrZUxpc3RzLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLWFkZF9kZWZpbml0aW9ucygtRFRSQU5T
TEFUSU9OX0RPTUFJTj1cImtjbWtnYW1tYVwiKQotCi1hZGRfc3ViZGlyZWN0b3J5KHBpY3MpCi0K
LWtjb3JlYWRkb25zX2FkZF9wbHVnaW4oa2NtX2tnYW1tYSBJTlNUQUxMX05BTUVTUEFDRSAicGxh
c21hL2tjbXMvc3lzdGVtc2V0dGluZ3NfcXdpZGdldHMiKQota2NtdXRpbHNfZ2VuZXJhdGVfZGVz
a3RvcF9maWxlKGtjbV9rZ2FtbWEpCi0KLXRhcmdldF9zb3VyY2VzKGtjbV9rZ2FtbWEgUFJJVkFU
RQotICAgeGY4NmNvbmZpZ3BhdGguY3BwIHhmODZjb25maWdwYXRoLmgKLSAgIHh2aWRleHR3cmFw
LmNwcCB4dmlkZXh0d3JhcC5oCi0gICBkaXNwbGF5bnVtYmVyLmNwcCBkaXNwbGF5bnVtYmVyLmgK
LSAgIGdhbW1hY3RybC5jcHAgZ2FtbWFjdHJsLmgKLSAgIGtnYW1tYS5jcHAga2dhbW1hLmgKLSkK
LQotdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGtjbV9rZ2FtbWEgJHtYMTFfWHhmODZ2bV9MSUJ9ICR7
WDExX0xJQlJBUklFU30gUXQ2OjpDb3JlIFF0Njo6V2lkZ2V0cyBLRjY6OkNvbmZpZ0NvcmUgS0Y2
OjpLQ01VdGlscyBLRjY6OkkxOG4pCi0KLWFkZF9jdXN0b21fY29tbWFuZChUQVJHRVQga2NtX2tn
YW1tYSBQT1NUX0JVSUxECi0gICAgICAgICAgICAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1B
TkR9IC1FIGNyZWF0ZV9zeW1saW5rIC4uL2tjbXMvc3lzdGVtc2V0dGluZ3NfcXdpZGdldHMva2Nt
X2tnYW1tYS5zbyBrY21fa2dhbW1hX2luaXQuc28pCi0KLWluc3RhbGwoRklMRVMgJHtDTUFLRV9D
VVJSRU5UX0JJTkFSWV9ESVJ9L2tjbV9rZ2FtbWFfaW5pdC5zbyBERVNUSU5BVElPTiAke0tERV9J
TlNUQUxMX1BMVUdJTkRJUn0vcGxhc21hL2tjbWluaXQpCi0KZGlmZiAtLWdpdCBhL2tjbWtnYW1t
YS9NZXNzYWdlcy5zaCBiL2tjbWtnYW1tYS9NZXNzYWdlcy5zaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2UxY2FmMS4uMDAwMDAwMAotLS0gYS9rY21rZ2FtbWEvTWVzc2FnZXMuc2gK
KysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLSMhIC9iaW4vc2gKLSRYR0VUVEVYVCAqLmNw
cCAtbyAkcG9kaXIva2Nta2dhbW1hLnBvdApkaWZmIC0tZ2l0IGEva2Nta2dhbW1hL2Rpc3BsYXlu
dW1iZXIuY3BwIGIva2Nta2dhbW1hL2Rpc3BsYXludW1iZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzYzlhZjI1Li4wMDAwMDAwCi0tLSBhL2tjbWtnYW1tYS9kaXNwbGF5bnVt
YmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiAgU1BEWC1MaWNl
bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKLSAqCi0gKiAgU1BEWC1GaWxlQ29weXJp
Z2h0VGV4dDogMjAwMyBNaWNoYWVsIHYuT3N0aGVpbSA8b3N0aGVpbW1AdXNlcnMuYmVybGlvcy5k
ZT4KLSAqLwotCi0jaW5jbHVkZSA8UURlYnVnPgotI2luY2x1ZGUgPFFGb250TWV0cmljcz4KLSNp
bmNsdWRlIDxRRnJhbWU+Ci0jaW5jbHVkZSA8UUxhYmVsPgotI2luY2x1ZGUgPFFTdHJpbmc+Ci0K
LSNpbmNsdWRlICJkaXNwbGF5bnVtYmVyLmgiCi0KLURpc3BsYXlOdW1iZXI6OkRpc3BsYXlOdW1i
ZXIoUVdpZGdldCAqcGFyZW50LCBpbnQgZGlnaXRzLCBpbnQgcHJlYykKLSAgICA6IFFMYWJlbChw
YXJlbnQpCi17Ci0gICAgc2V0UHJlY2lzaW9uKHByZWMpOwotICAgIHNldFdpZHRoKGRpZ2l0cyk7
Ci0gICAgc2V0QWxpZ25tZW50KFF0OjpBbGlnbkNlbnRlcik7Ci0gICAgc2V0Rm9jdXNQb2xpY3ko
UXQ6Ok5vRm9jdXMpOwotfQotCi1EaXNwbGF5TnVtYmVyOjp+RGlzcGxheU51bWJlcigpCi17Ci19
Ci0KLXZvaWQgRGlzcGxheU51bWJlcjo6c2V0Rm9udChjb25zdCBRRm9udCAmZikKLXsKLSAgICBR
TGFiZWw6OnNldEZvbnQoZik7Ci0gICAgc2V0V2lkdGgoZGcpOwotfQotCi12b2lkIERpc3BsYXlO
dW1iZXI6OnNldFdpZHRoKGludCBkaWdpdHMpCi17Ci0gICAgUUZvbnRNZXRyaWNzIGZtKGZvbnQo
KSk7Ci0gICAgUVN0cmluZyBzKFFTdHJpbmdMaXRlcmFsKCIwMTIzNDU2Nzg5ListIikpOwotICAg
IGludCB3aWR0aCA9IDAsIGNoYXJXaWR0aCA9IDA7Ci0KLSAgICBmb3IgKGludCBpID0gMDsgaSA8
IDExOyBpKyssIHdpZHRoID0gZm0uYm91bmRpbmdSZWN0KHNbaV0pLndpZHRoKCkpIHsKLSAgICAg
ICAgY2hhcldpZHRoID0gKHdpZHRoID4gY2hhcldpZHRoKSA/IHdpZHRoIDogY2hhcldpZHRoOwot
ICAgIH0KLQotICAgIGRnID0gZGlnaXRzOwotICAgIHNldE1pbmltdW1XaWR0aChkZyAqIGNoYXJX
aWR0aCArIGNoYXJXaWR0aCAvIDIpOwotfQotCi12b2lkIERpc3BsYXlOdW1iZXI6OnNldE51bShk
b3VibGUgbnVtKQotewotICAgIFFTdHJpbmcgdGV4dDsKLSAgICBzZXRUZXh0KHRleHQuc2V0TnVt
KG51bSwgJ2YnLCBwcmVjaXNpb24pKTsKLX0KLQotI2luY2x1ZGUgIm1vY19kaXNwbGF5bnVtYmVy
LmNwcCIKZGlmZiAtLWdpdCBhL2tjbWtnYW1tYS9kaXNwbGF5bnVtYmVyLmggYi9rY21rZ2FtbWEv
ZGlzcGxheW51bWJlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YWU1MWIxLi4w
MDAwMDAwCi0tLSBhL2tjbWtnYW1tYS9kaXNwbGF5bnVtYmVyLmgKKysrIC9kZXYvbnVsbApAQCAt
MSwzNCArMCwwIEBACi0vKgotICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y
LWxhdGVyCi0gKgotICogIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMDMgTWljaGFlbCB2Lk9z
dGhlaW0gPG9zdGhlaW1tQHVzZXJzLmJlcmxpb3MuZGU+Ci0gKi8KLQotI2lmbmRlZiBESVNQTEFZ
TlVNQkVSX0gKLSNkZWZpbmUgRElTUExBWU5VTUJFUl9ICi0KLSNpbmNsdWRlIDxxbGFiZWwuaD4K
LQotLyoqCi0gKkBhdXRob3IgTWljaGFlbCB2Lk9zdGhlaW0KLSAqLwotCi1jbGFzcyBEaXNwbGF5
TnVtYmVyIDogcHVibGljIFFMYWJlbAotewotICAgIFFfT0JKRUNUCi1wdWJsaWM6Ci0gICAgZXhw
bGljaXQgRGlzcGxheU51bWJlcihRV2lkZ2V0ICpwYXJlbnQgPSBudWxscHRyLCBpbnQgZGlnaXRz
ID0gMCwgaW50IHByZWMgPSAwKTsKLSAgICB+RGlzcGxheU51bWJlcigpIG92ZXJyaWRlOwotICAg
IHZvaWQgc2V0Rm9udChjb25zdCBRRm9udCAmZik7Ci0gICAgdm9pZCBzZXROdW0oZG91YmxlIG51
bSk7Ci0gICAgdm9pZCBzZXRXaWR0aChpbnQgZGlnaXRzKTsKLSAgICB2b2lkIHNldFByZWNpc2lv
bihpbnQgcHJlYykKLSAgICB7Ci0gICAgICAgIHByZWNpc2lvbiA9IHByZWM7Ci0gICAgfQotCi1w
cml2YXRlOgotICAgIGludCBkZywgcHJlY2lzaW9uOwotfTsKLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9rY21rZ2FtbWEvZ2FtbWFjdHJsLmNwcCBiL2tjbWtnYW1tYS9nYW1tYWN0cmwuY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDYzMjIxLi4wMDAwMDAwCi0tLSBhL2tjbWtnYW1t
YS9nYW1tYWN0cmwuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTMxICswLDAgQEAKLS8qCi0gKiAg
U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKLSAqCi0gKiAgU1BEWC1G
aWxlQ29weXJpZ2h0VGV4dDogMjAwMSBNaWNoYWVsIHYuT3N0aGVpbSA8TXZPc3RoZWltQHdlYi5k
ZT4KLSAqLwotCi0jaW5jbHVkZSAiZ2FtbWFjdHJsLmgiCi0KLSNpbmNsdWRlIDxRSEJveExheW91
dD4KLSNpbmNsdWRlIDxxbGFiZWwuaD4KLSNpbmNsdWRlIDxxbGluZWVkaXQuaD4KLSNpbmNsdWRl
IDxxc3RyaW5nLmg+Ci0KLSNpbmNsdWRlICJkaXNwbGF5bnVtYmVyLmgiCi0jaW5jbHVkZSAieHZp
ZGV4dHdyYXAuaCIKLQotR2FtbWFDdHJsOjpHYW1tYUN0cmwoUVdpZGdldCAqcGFyZW50LCBYVmlk
RXh0V3JhcCAqeHZpZCwgaW50IGNoYW5uZWwsIGNvbnN0IFFTdHJpbmcgJm1pbmdhbW1hLCBjb25z
dCBRU3RyaW5nICZtYXhnYW1tYSwgY29uc3QgUVN0cmluZyAmc2V0Z2FtbWEpCi0gICAgOiBRV2lk
Z2V0KHBhcmVudCkKLXsKLSAgICBpbnQgbWF4c2xpZGVyID0gKGludCkoKG1heGdhbW1hLnRvRG91
YmxlKCkgLSBtaW5nYW1tYS50b0RvdWJsZSgpICsgMC4wMDA1KSAqIDIwKTsKLSAgICBpbnQgc2V0
c2xpZGVyID0gKGludCkoKHNldGdhbW1hLnRvRG91YmxlKCkgLSBtaW5nYW1tYS50b0RvdWJsZSgp
ICsgMC4wMDA1KSAqIDIwKTsKLSAgICBzZXRzbGlkZXIgPSAoc2V0c2xpZGVyID4gbWF4c2xpZGVy
KSA/IG1heHNsaWRlciA6IHNldHNsaWRlcjsKLSAgICBzZXRzbGlkZXIgPSAoc2V0c2xpZGVyIDwg
MCkgPyAwIDogc2V0c2xpZGVyOwotCi0gICAgc3VzcGVuZGVkID0gZmFsc2U7Ci0gICAgY2hhbmdl
ZCA9IGZhbHNlOwotICAgIG1pbmcgPSBtaW5nYW1tYS50b0Zsb2F0KCk7Ci0gICAgbWdhbW1hID0g
bWluZ2FtbWE7Ci0gICAgb2xkcG9zID0gc2V0c2xpZGVyOwotICAgIGdjaGFubmVsID0gY2hhbm5l
bDsKLSAgICB4diA9IHh2aWQ7Ci0KLSAgICBRSEJveExheW91dCAqbGF5b3V0ID0gbmV3IFFIQm94
TGF5b3V0KHRoaXMpOwotCi0gICAgc2xpZGVyID0gbmV3IFFTbGlkZXIoUXQ6Okhvcml6b250YWws
IHRoaXMpOwotICAgIHNsaWRlci0+c2V0VGlja1Bvc2l0aW9uKFFTbGlkZXI6OlRpY2tzQmVsb3cp
OwotICAgIHNsaWRlci0+c2V0UmFuZ2UoMCwgbWF4c2xpZGVyKTsKLSAgICBzbGlkZXItPnNldFRp
Y2tJbnRlcnZhbCgyKTsKLSAgICBzbGlkZXItPnNldFZhbHVlKHNldHNsaWRlcik7Ci0gICAgbGF5
b3V0LT5hZGRXaWRnZXQoc2xpZGVyKTsKLSAgICBjb25uZWN0KHNsaWRlciwgJlFBYnN0cmFjdFNs
aWRlcjo6dmFsdWVDaGFuZ2VkLCB0aGlzLCBRT3ZlcmxvYWQ8aW50Pjo6b2YoJkdhbW1hQ3RybDo6
c2V0R2FtbWEpKTsKLSAgICBjb25uZWN0KHNsaWRlciwgJlFBYnN0cmFjdFNsaWRlcjo6c2xpZGVy
UHJlc3NlZCwgdGhpcywgJkdhbW1hQ3RybDo6cHJlc3NlZCk7Ci0KLSAgICB0ZXh0ZmllbGQgPSBu
ZXcgRGlzcGxheU51bWJlcih0aGlzLCA0LCAyKTsKLSAgICB0ZXh0ZmllbGQtPnNldFRleHQoc2V0
Z2FtbWEpOwotICAgIGxheW91dC0+YWRkV2lkZ2V0KHRleHRmaWVsZCk7Ci19Ci0KLUdhbW1hQ3Ry
bDo6fkdhbW1hQ3RybCgpCi17Ci19Ci0KLS8qKiBzZXQgZ2FtbWEsIHNsaWRlciBhbmQgdGV4dGZp
ZWxkICovCi12b2lkIEdhbW1hQ3RybDo6c2V0R2FtbWEoY29uc3QgUVN0cmluZyAmZ2FtbWEpCi17
Ci0gICAgaW50IHNsaWRlcnBvczsKLQotICAgIHNsaWRlcnBvcyA9IChpbnQpKChnYW1tYS50b0Rv
dWJsZSgpIC0gbWdhbW1hLnRvRG91YmxlKCkgKyAwLjAwMDUpICogMjApOwotICAgIGNoYW5nZWQg
PSB0cnVlOwotICAgIHNsaWRlci0+c2V0VmFsdWUoc2xpZGVycG9zKTsKLQotICAgIHNldEdhbW1h
KHNsaWRlcnBvcyk7Ci0gICAgaWYgKHN1c3BlbmRlZCkgewotICAgICAgICBzdXNwZW5kZWQgPSBm
YWxzZTsKLSAgICAgICAgdGV4dGZpZWxkLT5zZXREaXNhYmxlZChmYWxzZSk7Ci0gICAgfQotfQot
Ci0vKiogc2V0IHNsaWRlciBhbmQgdGV4dGZpZWxkICovCi12b2lkIEdhbW1hQ3RybDo6c2V0Q29u
dHJvbChjb25zdCBRU3RyaW5nICZnYW1tYSkKLXsKLSAgICBpbnQgc2xpZGVycG9zOwotCi0gICAg
c2xpZGVycG9zID0gKGludCkoKGdhbW1hLnRvRG91YmxlKCkgLSBtZ2FtbWEudG9Eb3VibGUoKSAr
IDAuMDAwNSkgKiAyMCk7Ci0gICAgc2V0Q3RybChzbGlkZXJwb3MpOwotfQotCi0vKiogUmV0dXJu
IHRoZSBjdXJyZW50IGdhbW1hIHZhbHVlIHdpdGggcHJlY2lzaW9uIHByZWMgKi8KLVFTdHJpbmcg
R2FtbWFDdHJsOjpnYW1tYShpbnQgcHJlYykKLXsKLSAgICBRU3RyaW5nIGdhbW1hdGV4dDsKLSAg
ICBnYW1tYXRleHQuc2V0TnVtKHh2LT5nZXRHYW1tYShnY2hhbm5lbCkgKyAwLjAwMDUsICdmJywg
cHJlYyk7Ci0KLSAgICByZXR1cm4gKGdhbW1hdGV4dCk7Ci19Ci0KLS8qKiBTbG90OiBzZXQgZ2Ft
bWEgYW5kIHRleHRmaWVsZCAqLwotdm9pZCBHYW1tYUN0cmw6OnNldEdhbW1hKGludCBzbGlkZXJw
b3MpCi17Ci0gICAgaWYgKHNsaWRlcnBvcyAhPSBvbGRwb3MgfHwgY2hhbmdlZCkgewotICAgICAg
ICB4di0+c2V0R2FtbWEoZ2NoYW5uZWwsIG1pbmcgKyAoZmxvYXQpKHNsaWRlci0+dmFsdWUoKSkg
KiAwLjA1KTsKLSAgICAgICAgdGV4dGZpZWxkLT5zZXROdW0oeHYtPmdldEdhbW1hKGdjaGFubmVs
KSk7Ci0gICAgICAgIG9sZHBvcyA9IHNsaWRlcnBvczsKLSAgICAgICAgY2hhbmdlZCA9IGZhbHNl
OwotICAgICAgICBRX0VNSVQgZ2FtbWFDaGFuZ2VkKHNsaWRlcnBvcyk7Ci0gICAgfQotfQotCi0v
KiogU2xvdDogc2V0IHNsaWRlciBhbmQgdGV4dGZpZWxkICovCi12b2lkIEdhbW1hQ3RybDo6c2V0
Q3RybChpbnQgc2xpZGVycG9zKQotewotICAgIGlmIChzdXNwZW5kZWQpIHsKLSAgICAgICAgc3Vz
cGVuZGVkID0gZmFsc2U7Ci0gICAgICAgIHRleHRmaWVsZC0+c2V0RGlzYWJsZWQoZmFsc2UpOwot
ICAgIH0KLSAgICBvbGRwb3MgPSBzbGlkZXJwb3M7Ci0gICAgc2xpZGVyLT5zZXRWYWx1ZShzbGlk
ZXJwb3MpOwotICAgIHRleHRmaWVsZC0+c2V0TnVtKHh2LT5nZXRHYW1tYShnY2hhbm5lbCkpOwot
fQotCi0vKiogU2xvdDogZGlzYWJsZSB0ZXh0ZmllbGQgKi8KLXZvaWQgR2FtbWFDdHJsOjpzdXNw
ZW5kKCkKLXsKLSAgICBpZiAoIXN1c3BlbmRlZCkgewotICAgICAgICBzdXNwZW5kZWQgPSB0cnVl
OwotICAgICAgICB0ZXh0ZmllbGQtPnNldERpc2FibGVkKHRydWUpOwotICAgIH0KLX0KLQotLyoq
IFNsb3Q6IENoYW5nZSBzdGF0dXMgb2YgR2FtbWFDdHJsIHdoZW4gcHJlc3NlZCAqLwotdm9pZCBH
YW1tYUN0cmw6OnByZXNzZWQoKQotewotICAgIGlmIChzdXNwZW5kZWQpIHsKLSAgICAgICAgc3Vz
cGVuZGVkID0gZmFsc2U7Ci0gICAgICAgIHRleHRmaWVsZC0+c2V0RGlzYWJsZWQoZmFsc2UpOwot
ICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgc2V0R2FtbWEoc2xpZGVyLT52YWx1ZSgp
KTsKLSAgICB9Ci19Ci0KLSNpbmNsdWRlICJtb2NfZ2FtbWFjdHJsLmNwcCIKZGlmZiAtLWdpdCBh
L2tjbWtnYW1tYS9nYW1tYWN0cmwuaCBiL2tjbWtnYW1tYS9nYW1tYWN0cmwuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZTY5MWIxMi4uMDAwMDAwMAotLS0gYS9rY21rZ2FtbWEvZ2Ft
bWFjdHJsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKgotICogIEEgaG9yaXpv
bnRhbCBzbGlkZXIgYW5kIGEgdGV4dCBmaWVsZCBmb3IgdGhlIGdhbW1hIHZhbHVlLgotICoKLSAq
ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgotICoKLSAqICBTUERY
LUZpbGVDb3B5cmlnaHRUZXh0OiAyMDAxIE1pY2hhZWwgdi5Pc3RoZWltIDxNdk9zdGhlaW1Ad2Vi
PgotICovCi0KLSNpZm5kZWYgR0FNTUFDVFJMX0gKLSNkZWZpbmUgR0FNTUFDVFJMX0gKLQotI2lu
Y2x1ZGUgPHFzbGlkZXIuaD4KLQotY2xhc3MgUVN0cmluZzsKLWNsYXNzIERpc3BsYXlOdW1iZXI7
Ci1jbGFzcyBYVmlkRXh0V3JhcDsKLQotY2xhc3MgR2FtbWFDdHJsIDogcHVibGljIFFXaWRnZXQK
LXsKLSAgICBRX09CSkVDVAotcHVibGljOgotICAgIC8qKiBjb25zdHJ1a3RvciAqLwotICAgIGV4
cGxpY2l0IEdhbW1hQ3RybChRV2lkZ2V0ICpwYXJlbnQgPSBudWxscHRyLAotICAgICAgICAgICAg
ICAgICAgICAgICBYVmlkRXh0V3JhcCAqeHZpZCA9IG51bGxwdHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgIGludCBjaGFubmVsID0gMCwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUVN0
cmluZyAmbWluZ2FtbWEgPSBRU3RyaW5nTGl0ZXJhbCgiMC40MCIpLAotICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBRU3RyaW5nICZtYXhnYW1tYSA9IFFTdHJpbmdMaXRlcmFsKCIzLjUwIiks
Ci0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgJnNldGdhbW1hID0gUVN0cmlu
Z0xpdGVyYWwoIjEuMDAiKSk7Ci0gICAgLyoqIGRlc3RydWt0b3IgKi8KLSAgICB+R2FtbWFDdHJs
KCkgb3ZlcnJpZGU7Ci0gICAgLyoqIFJldHVybiB0aGUgY3VycmVudCBnYW1tYSB2YWx1ZSB3aXRo
IHByZWNpc2lvbiBwcmVjICovCi0gICAgUVN0cmluZyBnYW1tYShpbnQpOwotICAgIC8qKiBTZXQg
Z2FtbWEsIHNsaWRlciBhbmQgdGV4dGZpZWxkICovCi0gICAgdm9pZCBzZXRHYW1tYShjb25zdCBR
U3RyaW5nICYpOwotICAgIC8qKiBTZXQgc2xpZGVyIGFuZCB0ZXh0ZmllbGQgKi8KLSAgICB2b2lk
IHNldENvbnRyb2woY29uc3QgUVN0cmluZyAmKTsKLSAgICAvKiogRGlzYWJsZSB0aGUgc2xpZGVy
ICovCi0gICAgdm9pZCBkaXNhYmxlU2xpZGVyKCkKLSAgICB7Ci0gICAgICAgIHNsaWRlci0+c2V0
RGlzYWJsZWQodHJ1ZSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFFTdHJpbmcgbWdhbW1hOwot
ICAgIFFTbGlkZXIgKnNsaWRlcjsKLSAgICBEaXNwbGF5TnVtYmVyICp0ZXh0ZmllbGQ7Ci0gICAg
Ym9vbCBzdXNwZW5kZWQsIGNoYW5nZWQ7Ci0gICAgaW50IGdjaGFubmVsLCBvbGRwb3M7Ci0gICAg
ZG91YmxlIG1pbmc7Ci0gICAgWFZpZEV4dFdyYXAgKnh2OwotCi1wdWJsaWMgUV9TTE9UUzoKLSAg
ICAvKiogRGlzYWJsZSB0ZXh0ZmllbGQgKi8KLSAgICB2b2lkIHN1c3BlbmQoKTsKLQotcHJvdGVj
dGVkIFFfU0xPVFM6Ci0gICAgLyoqIFNldCBzbGlkZXIgYW5kIHRleHRmaWVsZCAqLwotICAgIHZv
aWQgc2V0Q3RybChpbnQpOwotICAgIC8qKiBTZXQgZ2FtbWEgYW5kIHRleHRmaWVsZCAqLwotICAg
IHZvaWQgc2V0R2FtbWEoaW50KTsKLSAgICAvKiogQ2hhbmdlIHN0YXR1cyBvZiBHYW1tYUN0cmwg
d2hlbiBwcmVzc2VkICovCi0gICAgdm9pZCBwcmVzc2VkKCk7Ci0KLVFfU0lHTkFMUzoKLSAgICAv
KiogR2FtbWEgY2hhbmdlIHNpZ25hbCAqLwotICAgIHZvaWQgZ2FtbWFDaGFuZ2VkKGludCk7Ci19
OwotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2tjbWtnYW1tYS9rY21fa2dhbW1hLmpzb24gYi9rY21r
Z2FtbWEva2NtX2tnYW1tYS5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDYy
NjEzLi4wMDAwMDAwCi0tLSBhL2tjbWtnYW1tYS9rY21fa2dhbW1hLmpzb24KKysrIC9kZXYvbnVs
bApAQCAtMSwxOTQgKzAsMCBAQAotewotICAgICJLUGx1Z2luIjogewotICAgICAgICAiRGVzY3Jp
cHRpb24iOiAiQSBtb25pdG9yIGNhbGlicmF0aW9uIHRvb2wiLAotICAgICAgICAiRGVzY3JpcHRp
b25bYXJdIjogItij2K/Yp9ipINmF2LHYp9mC2Kgg2KfZhNmF2LnYp9mK2LHYqSIsCi0gICAgICAg
ICJEZXNjcmlwdGlvblthc3RdIjogIlVuYSBmZXJyYW1pZW50YSBwYSBjYWxpYnJhciBtb25pdG9y
ZXMiLAotICAgICAgICAiRGVzY3JpcHRpb25bYmVdIjogItCG0L3RgdGC0YDRg9C80LXQvdGCINC0
0LvRjyDQutCw0LvRltCx0YDQsNCy0LDQvdC90Y8g0LzQsNC90ZbRgtC+0YDQsCIsCi0gICAgICAg
ICJEZXNjcmlwdGlvbltiZ10iOiAi0JjQvdGB0YLRgNGD0LzQtdC90YIg0LfQsCDQutCw0LvQuNCx
0YDQuNGA0LDQvdC1INC90LAg0LzQvtC90LjRgtC+0YDQsCIsCi0gICAgICAgICJEZXNjcmlwdGlv
bltjYUB2YWxlbmNpYV0iOiAiVW5hIGVpbmEgZGUgY2FsaWJyYXRnZSBwZXIgYWwgbW9uaXRvciIs
Ci0gICAgICAgICJEZXNjcmlwdGlvbltjYV0iOiAiVW5hIGVpbmEgZGUgY2FsaWJyYXRnZSBwZXIg
YWwgbW9uaXRvciIsCi0gICAgICAgICJEZXNjcmlwdGlvbltjc10iOiAiTsOhc3Ryb2ogcHJvIGth
bGlicmFjaSBtb25pdG9ydSIsCi0gICAgICAgICJEZXNjcmlwdGlvbltkZV0iOiAiS2FsaWJyaWVy
dW5nc3dlcmt6ZXVnIGbDvHIgTW9uaXRvcmUiLAotICAgICAgICAiRGVzY3JpcHRpb25bZWxdIjog
Is6Izr3OsSDOtc+BzrPOsc67zrXOr86/IM6yzrHOuM68zr/Ovc+MzrzOt8+DzrfPgiDPhM63z4Ig
zr/OuM+Mzr3Ot8+CIiwKLSAgICAgICAgIkRlc2NyaXB0aW9uW2VuX0dCXSI6ICJBIG1vbml0b3Ig
Y2FsaWJyYXRpb24gdG9vbCIsCi0gICAgICAgICJEZXNjcmlwdGlvbltlb10iOiAiRWtyYW5hIGth
bGlicmlsbyIsCi0gICAgICAgICJEZXNjcmlwdGlvbltlc10iOiAiSGVycmFtaWVudGEgZGUgY2Fs
aWJyYWNpw7NuIGRlbCBtb25pdG9yIiwKLSAgICAgICAgIkRlc2NyaXB0aW9uW2V1XSI6ICJNb25p
dG9yZWFrIGthbGlicmF0emVrbyB0cmVzbmEgYmF0IiwKLSAgICAgICAgIkRlc2NyaXB0aW9uW2Zp
XSI6ICJOw6R5dMO2biBrYWxpYnJvaW50aXR5w7ZrYWx1IiwKLSAgICAgICAgIkRlc2NyaXB0aW9u
W2ZyXSI6ICJVbiBvdXRpbCBkJ8OpdGFsb25uYWdlIGQnw6ljcmFuIiwKLSAgICAgICAgIkRlc2Ny
aXB0aW9uW2dsXSI6ICJVbmhhIHV0aWxpZGFkZSBwYXJhIGNhbGlicmFyIG8gbW9uaXRvciIsCi0g
ICAgICAgICJEZXNjcmlwdGlvbltoZV0iOiAi15vXnNeZINec15vXmdeV15wg16bXkiIsCi0gICAg
ICAgICJEZXNjcmlwdGlvbltodV0iOiAiTW9uaXRvcmJlw6FsbMOtdMOzIHByb2dyYW0iLAotICAg
ICAgICAiRGVzY3JpcHRpb25baWFdIjogIkluc3RydW1lbnRvIGRlIGNhbGlicmF0aW9uIGRlIG1v
bml0b3IiLAotICAgICAgICAiRGVzY3JpcHRpb25baXNdIjogIlZlcmtmw6ZyaSB0aWwgYcOwIHN0
aWxsYSBza2rDoWlubiIsCi0gICAgICAgICJEZXNjcmlwdGlvbltpdF0iOiAiVW5vIHN0cnVtZW50
byBkaSBjYWxpYnJhemlvbmUgZGVsIG1vbml0b3IiLAotICAgICAgICAiRGVzY3JpcHRpb25ba2Fd
IjogIuGDlOGDmeGDoOGDkOGDnOGDmOGDoSDhg5nhg5Dhg5rhg5jhg5Hhg6Dhg5Dhg6rhg5jhg5jh
g6Eg4YOe4YOg4YOd4YOS4YOg4YOQ4YOb4YOQIiwKLSAgICAgICAgIkRlc2NyaXB0aW9uW2tvXSI6
ICLrqqjri4jthLAg67O07KCVIOuPhOq1rCIsCi0gICAgICAgICJEZXNjcmlwdGlvbltsdF0iOiAi
TW9uaXRvcmlhdXMga2FsaWJyYXZpbW8gxK9yYW5raXMiLAotICAgICAgICAiRGVzY3JpcHRpb25b
bHZdIjogIk1vbml0b3JhIGthbGlicsSTxaFhbmFzIHLEq2tzIiwKLSAgICAgICAgIkRlc2NyaXB0
aW9uW25sXSI6ICJFZW4gaHVscG1pZGRlbCB2b29yIGhldCBrYWxpYnJlcmVuIHZhbiBkZSBtb25p
dG9yIiwKLSAgICAgICAgIkRlc2NyaXB0aW9uW25uXSI6ICJFaXQgdmVya3TDuHkgZm9yIMOlIGth
bGlicmVyYSBza2plcm1lbiIsCi0gICAgICAgICJEZXNjcmlwdGlvbltwbF0iOiAiTmFyesSZZHpp
ZSBkbyBrYWxpYnJhY2ppIG1vbml0b3JhIiwKLSAgICAgICAgIkRlc2NyaXB0aW9uW3B0X0JSXSI6
ICJGZXJyYW1lbnRhIGRlIGNhbGlicmHDp8OjbyBkbyBtb25pdG9yIiwKLSAgICAgICAgIkRlc2Ny
aXB0aW9uW3JvXSI6ICJVbiB1dGlsaXRhciBkZSBjYWxpYnJhdCBtb25pdG9ydWwiLAotICAgICAg
ICAiRGVzY3JpcHRpb25bcnVdIjogItCa0LDQu9C40LHRgNC+0LLQutCwINC80L7QvdC40YLQvtGA
0LAiLAotICAgICAgICAiRGVzY3JpcHRpb25bc2FdIjogIuCkj+CkleCkgiDgpKrgpJ/gpLLgpK7g
pL7gpKrgpKjgpLjgpL7gpKfgpKjgpK7gpY0iLAotICAgICAgICAiRGVzY3JpcHRpb25bc2tdIjog
Ik7DoXN0cm9qIG5hIGthbGlicsOhY2l1IG1vbml0b3JhIiwKLSAgICAgICAgIkRlc2NyaXB0aW9u
W3NsXSI6ICJPcm9kamUgemEgdW1lcmphbmplIHphc2xvbm92IiwKLSAgICAgICAgIkRlc2NyaXB0
aW9uW3N2XSI6ICJFdHQga2FsaWJyZXJpbmdzdmVya3R5ZyBmw7ZyIGJpbGRza8Okcm1hciIsCi0g
ICAgICAgICJEZXNjcmlwdGlvblt0YV0iOiAi4K6k4K6/4K6w4K+IIOCuqOCuv+CuseCumuCvjeCu
muCvgOCusOCuruCviOCuquCvjeCuquCvgSDgrprgr4bgrq/grrLgrr8iLAotICAgICAgICAiRGVz
Y3JpcHRpb25bdHJdIjogIkJpciBtb25pdMO2ciBrYWxpYnJhc3lvbiBhcmFjxLEiLAotICAgICAg
ICAiRGVzY3JpcHRpb25bdWddIjogItmD24bYstuV2KrZg9uI2oYg2KrZiNi62LHZidmE2KfYtCDZ
gtmI2LHYp9mE2YkiLAotICAgICAgICAiRGVzY3JpcHRpb25bdWtdIjogItCX0LDRgdGW0LEg0LTQ
u9GPINC60LDQu9GW0LHRgNGD0LLQsNC90L3RjyDQvNC+0L3RltGC0L7RgNCwIiwKLSAgICAgICAg
IkRlc2NyaXB0aW9uW3poX0NOXSI6ICLnroDmmJPmmL7npLrlmajmoKHlh4blt6XlhbciLAotICAg
ICAgICAiRGVzY3JpcHRpb25bemhfVFddIjogIumhr+ekuuWZqOagoea6luW3peWFtyIsCi0gICAg
ICAgICJJY29uIjogInByZWZlcmVuY2VzLWRlc2t0b3AtZGlzcGxheS1jb2xvciIsCi0gICAgICAg
ICJOYW1lIjogIkdhbW1hIiwKLSAgICAgICAgIk5hbWVbYXJdIjogItis2KfZhdinIiwKLSAgICAg
ICAgIk5hbWVbYXpdIjogIlFhbW1hIiwKLSAgICAgICAgIk5hbWVbYmVdIjogItCT0LDQvNCwIiwK
LSAgICAgICAgIk5hbWVbYmddIjogItCT0LDQvNCwIiwKLSAgICAgICAgIk5hbWVbYnJdIjogIkdh
bW1hIiwKLSAgICAgICAgIk5hbWVbYnNdIjogIkdhbWEiLAotICAgICAgICAiTmFtZVtjYUB2YWxl
bmNpYV0iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtjYV0iOiAiR2FtbWEiLAotICAgICAgICAi
TmFtZVtjc10iOiAiR2FtYSIsCi0gICAgICAgICJOYW1lW2N5XSI6ICJHYW1hIiwKLSAgICAgICAg
Ik5hbWVbZGFdIjogIkdhbW1hIiwKLSAgICAgICAgIk5hbWVbZGVdIjogIkdhbW1hIiwKLSAgICAg
ICAgIk5hbWVbZWxdIjogIs6TzqzOvM68zrEiLAotICAgICAgICAiTmFtZVtlbl9HQl0iOiAiR2Ft
bWEiLAotICAgICAgICAiTmFtZVtlb10iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtlc10iOiAi
R2FtbWEiLAotICAgICAgICAiTmFtZVtldF0iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtldV0i
OiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtmYV0iOiAi2q/Yp9mF2KciLAotICAgICAgICAiTmFt
ZVtmaV0iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtmcl0iOiAiR2FtbWEiLAotICAgICAgICAi
TmFtZVtnYV0iOiAiR8OhbWEiLAotICAgICAgICAiTmFtZVtnbF0iOiAiR2FtbWEiLAotICAgICAg
ICAiTmFtZVtoZV0iOiAi15LXkNee15QiLAotICAgICAgICAiTmFtZVtoaV0iOiAi4KSX4KS+4KSu
4KS+IiwKLSAgICAgICAgIk5hbWVbaG5lXSI6ICLgpJfgpL7gpK7gpL4iLAotICAgICAgICAiTmFt
ZVtocl0iOiAiR2FtYSIsCi0gICAgICAgICJOYW1lW2h1XSI6ICJHYW1tYS1rb3JyZWtjacOzIiwK
LSAgICAgICAgIk5hbWVbaWFdIjogIkdhbW1hIiwKLSAgICAgICAgIk5hbWVbaWRdIjogIkdhbW1h
IiwKLSAgICAgICAgIk5hbWVbaXNdIjogIkxpdHLDs2YgKGdhbW1hKSIsCi0gICAgICAgICJOYW1l
W2l0XSI6ICJHYW1tYSIsCi0gICAgICAgICJOYW1lW2phXSI6ICLjgqzjg7Pjg54iLAotICAgICAg
ICAiTmFtZVtrYV0iOiAi4YOS4YOQ4YOb4YOQIiwKLSAgICAgICAgIk5hbWVba2tdIjogItCT0LDQ
vNC80LAiLAotICAgICAgICAiTmFtZVtrbV0iOiAi4Z6g4Z+S4Z6C4Z624Z6Y4Z+J4Z62IiwKLSAg
ICAgICAgIk5hbWVba29dIjogIkdhbW1hIiwKLSAgICAgICAgIk5hbWVba3VdIjogIkdhbW1hIiwK
LSAgICAgICAgIk5hbWVbbHRdIjogIkdhbW1hIiwKLSAgICAgICAgIk5hbWVbbHZdIjogIkdhbW1h
IiwKLSAgICAgICAgIk5hbWVbbXJdIjogIuCkl+CkvuCkruCkviIsCi0gICAgICAgICJOYW1lW21z
XSI6ICJHYW1tYSIsCi0gICAgICAgICJOYW1lW25iXSI6ICJHYW1tYSIsCi0gICAgICAgICJOYW1l
W25kc10iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtuZV0iOiAi4KSX4KS+4KSu4KS+IiwKLSAg
ICAgICAgIk5hbWVbbmxdIjogIkdhbW1hIiwKLSAgICAgICAgIk5hbWVbbm5dIjogIkdhbW1hIiwK
LSAgICAgICAgIk5hbWVbb2NdIjogIkdhbW3DoCIsCi0gICAgICAgICJOYW1lW3BhXSI6ICLgqZrg
qL7gqK7gqL4iLAotICAgICAgICAiTmFtZVtwbF0iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtw
dF0iOiAiJ0dhbWEnIiwKLSAgICAgICAgIk5hbWVbcHRfQlJdIjogIkdhbWEiLAotICAgICAgICAi
TmFtZVtyb10iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVtydV0iOiAi0KbQstC10YLQvtCy0LDR
jyDQutC+0YDRgNC10LrRhtC40Y8iLAotICAgICAgICAiTmFtZVtzYV0iOiAi4KSH4KS14KSw4KWN
4KSjIChHYW1tYSkiLAotICAgICAgICAiTmFtZVtzZV0iOiAiR2FtbWEiLAotICAgICAgICAiTmFt
ZVtzaV0iOiAi4Lac4LeQ4La44LePIiwKLSAgICAgICAgIk5hbWVbc2tdIjogIkdhbW1hIiwKLSAg
ICAgICAgIk5hbWVbc2xdIjogIkdhbWEiLAotICAgICAgICAiTmFtZVtzckBpamVrYXZpYW5dIjog
ItCT0LDQvNCwIiwKLSAgICAgICAgIk5hbWVbc3JAaWpla2F2aWFubGF0aW5dIjogIkdhbWEiLAot
ICAgICAgICAiTmFtZVtzckBsYXRpbl0iOiAiR2FtYSIsCi0gICAgICAgICJOYW1lW3NyXSI6ICLQ
k9Cw0LzQsCIsCi0gICAgICAgICJOYW1lW3N2XSI6ICJHYW1tYSIsCi0gICAgICAgICJOYW1lW3Rh
XSI6ICLgrpXgrr7grq7grr4iLAotICAgICAgICAiTmFtZVt0Z10iOiAi0JTQsNGA0LDSt9Cw0Lgg
0Y/QutC00LjQs9Cw0YDToyIsCi0gICAgICAgICJOYW1lW3RoXSI6ICLguYHguIHguKHguKHguLIi
LAotICAgICAgICAiTmFtZVt0cl0iOiAiR2FtYSIsCi0gICAgICAgICJOYW1lW3VnXSI6ICLar9in
2YXZhdinIiwKLSAgICAgICAgIk5hbWVbdWtdIjogItCT0LDQvNCwIiwKLSAgICAgICAgIk5hbWVb
dXpAY3lyaWxsaWNdIjogItCT0LDQvNC80LAiLAotICAgICAgICAiTmFtZVt1el0iOiAiR2FtbWEi
LAotICAgICAgICAiTmFtZVt2aV0iOiAiR2FtbWEiLAotICAgICAgICAiTmFtZVt4aF0iOiAiVW5v
YnVtYmEgd2VzaXRoYXRodSBrb25vb2J1bWJhIGJlc2lHcmlrZSIsCi0gICAgICAgICJOYW1lW3po
X0NOXSI6ICLkvL3pqawiLAotICAgICAgICAiTmFtZVt6aF9IS10iOiAi5Ly96aas77yIR2FtbWHv
vIkiLAotICAgICAgICAiTmFtZVt6aF9UV10iOiAiR2FtbWEiCi0gICAgfSwKLSAgICAiWC1Eb2NQ
YXRoIjogImtjb250cm9sL2tnYW1tYS9pbmRleC5odG1sIiwKLSAgICAiWC1LREUtSW5pdC1QaGFz
ZSI6IDEsCi0gICAgIlgtS0RFLUtleXdvcmRzIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2Ft
bWEiLAotICAgICJYLUtERS1LZXl3b3Jkc1thcl0iOiAi2YPYutin2YXYpyzYutin2YXYpyzYrNin
2YXYpyIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2F6XSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEs
IGdhbW1hIiwKLSAgICAiWC1LREUtS2V5d29yZHNbYmVdIjogIktHYW1tYSwga2dhbW1hLCBHYW1t
YSwg0LPQsNC80LAiLAotICAgICJYLUtERS1LZXl3b3Jkc1tiZ10iOiAiS0dhbW1hLCBrZ2FtbWEs
IEdhbW1hLCDQs9Cw0LzQsCIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2JzXSI6ICJLR2FtbWEsIGtn
YW1tYSwgR2FtbWEsIGdhbW1hLGdhbWEiLAotICAgICJYLUtERS1LZXl3b3Jkc1tjYUB2YWxlbmNp
YV0iOiAiS0dhbW1hLGtnYW1tYSxHYW1tYSxnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2Nh
XSI6ICJLR2FtbWEsa2dhbW1hLEdhbW1hLGdhbW1hIiwKLSAgICAiWC1LREUtS2V5d29yZHNbY3Nd
IjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEiLAotICAgICJYLUtERS1LZXl3b3Jkc1tk
YV0iOiAiS0dhbW1hLGtnYW1tYSxHYW1tYSxnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2Rl
XSI6ICJnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2VsXSI6ICJLR2FtbWEsIGtnYW1tYSwg
R2FtbWEsIGdhbW1hIiwKLSAgICAiWC1LREUtS2V5d29yZHNbZW5fR0JdIjogIktHYW1tYSwga2dh
bW1hLCBHYW1tYSwgZ2FtbWEiLAotICAgICJYLUtERS1LZXl3b3Jkc1tlb10iOiAiS0dhbW1hLCBr
Z2FtbWEsIEdhbW1hLCBnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2VzXSI6ICJLR2FtbWEs
IGtnYW1tYSwgR2FtbWEsIGdhbW1hIiwKLSAgICAiWC1LREUtS2V5d29yZHNbZXRdIjogIktHYW1t
YSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEiLAotICAgICJYLUtERS1LZXl3b3Jkc1tldV0iOiAiS0dh
bW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2ZhXSI6ICJL
R2FtbWEsIGtnYW1tYSwg2q/Yp9mF2KcsINqv2KfZhdinIiwKLSAgICAiWC1LREUtS2V5d29yZHNb
ZmldIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEiLAotICAgICJYLUtERS1LZXl3b3Jk
c1tmcl0iOiAiS0dhbW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdv
cmRzW2dhXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hLCBHw6FtYSIsCi0gICAgIlgt
S0RFLUtleXdvcmRzW2dsXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hIiwKLSAgICAi
WC1LREUtS2V5d29yZHNbaGVdIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEsINeS15DX
nteUIiwKLSAgICAiWC1LREUtS2V5d29yZHNbaGldIjogIuCkleClhy3gpJfgpL7gpK7gpL4s4KSV
4KWH4KSX4KS+4KSu4KS+LOCkl+CkvuCkruCkvizgpJfgpL7gpK7gpL4iLAotICAgICJYLUtERS1L
ZXl3b3Jkc1todV0iOiAiS0dhbW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSIsCi0gICAgIlgtS0RF
LUtleXdvcmRzW2lhXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hIiwKLSAgICAiWC1L
REUtS2V5d29yZHNbaWRdIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEiLAotICAgICJY
LUtERS1LZXl3b3Jkc1tpc10iOiAiS0dhbW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSxsaXRzdGls
bGluZyIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2l0XSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEs
IGdhbW1hIiwKLSAgICAiWC1LREUtS2V5d29yZHNba2FdIjogIktHYW1tYSwga2dhbW1hLCDhg5Lh
g5Dhg5vhg5AsIOGDmeGDkuGDkOGDm+GDkCIsCi0gICAgIlgtS0RFLUtleXdvcmRzW2trXSI6ICJL
R2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hLCDQs9Cw0LzQvNCwLCDQk9Cw0LzQvNCwIiwKLSAg
ICAiWC1LREUtS2V5d29yZHNba21dIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEiLAot
ICAgICJYLUtERS1LZXl3b3Jkc1trb10iOiAiS0dhbW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSzq
sJDrp4giLAotICAgICJYLUtERS1LZXl3b3Jkc1tsdF0iOiAiS0dhbW1hLCBrZ2FtbWEsIEdhbWEs
IGdhbWEiLAotICAgICJYLUtERS1LZXl3b3Jkc1tsdl0iOiAiS0dhbW1hLCBrZ2FtbWEsIGdhbW1h
IiwKLSAgICAiWC1LREUtS2V5d29yZHNbbXJdIjogIuCkleClh+Ckl+CkvuCkruCkviwg4KSV4KWH
4KSX4KS+4KSu4KS+LCDgpJfgpL7gpK7gpL4sIOCkl+CkvuCkruCkviIsCi0gICAgIlgtS0RFLUtl
eXdvcmRzW25iXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hIiwKLSAgICAiWC1LREUt
S2V5d29yZHNbbmRzXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hIiwKLSAgICAiWC1L
REUtS2V5d29yZHNbbmxdIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEiLAotICAgICJY
LUtERS1LZXl3b3Jkc1tubl0iOiAiS0dhbW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSIsCi0gICAg
IlgtS0RFLUtleXdvcmRzW3BhXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hLOCol+Co
vuCoruCovizgqJXgqYfgqJfgqL7gqK7gqL4iLAotICAgICJYLUtERS1LZXl3b3Jkc1twbF0iOiAi
S0dhbW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdvcmRzW3B0XSI6
ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hLCBHYW1hLCBnYW1hIiwKLSAgICAiWC1LREUt
S2V5d29yZHNbcHRfQlJdIjogIktHYW1tYSwga2dhbW1hLCBHYW1hLCBnYW1hIiwKLSAgICAiWC1L
REUtS2V5d29yZHNbcm9dIjogIktHYW1tYSwga2dhbW1hLCBnYW1hLCBnYW1tYSIsCi0gICAgIlgt
S0RFLUtleXdvcmRzW3J1XSI6ICJLR2FtbWEsa2dhbW1hLEdhbW1hLGdhbW1hLNCz0LDQvNC80LAs
0LzQvtC90LjRgtC+0YAiLAotICAgICJYLUtERS1LZXl3b3Jkc1tzYV0iOiAi4KSV4KWN4KSX4KSu
4KWN4KSu4KS+LCDgpJXgpY3gpJfgpY3gpK7gpY3gpK7gpL4sIOCkl+CkvuCkruCljeCkruCkviwg
4KSX4KS+4KSu4KWN4KSu4KS+IiwKLSAgICAiWC1LREUtS2V5d29yZHNbc2tdIjogIktHYW1tYSwg
a2dhbW1hLCBHYW1tYSwgZ2FtbWEiLAotICAgICJYLUtERS1LZXl3b3Jkc1tzbF0iOiAiS0dhbW1h
LGtnYW1tYSxHYW1tYSxnYW1tYSxnYW1hIiwKLSAgICAiWC1LREUtS2V5d29yZHNbc3JAaWpla2F2
aWFuXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hLNCa4oCR0LPQsNC80LAs0LPQsNC8
0LAiLAotICAgICJYLUtERS1LZXl3b3Jkc1tzckBpamVrYXZpYW5sYXRpbl0iOiAiS0dhbW1hLCBr
Z2FtbWEsIEdhbW1hLCBnYW1tYSxL4oCRZ2FtYSxnYW1hIiwKLSAgICAiWC1LREUtS2V5d29yZHNb
c3JAbGF0aW5dIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEsS+KAkWdhbWEsZ2FtYSIs
Ci0gICAgIlgtS0RFLUtleXdvcmRzW3NyXSI6ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1h
LNCa4oCR0LPQsNC80LAs0LPQsNC80LAiLAotICAgICJYLUtERS1LZXl3b3Jkc1tzdl0iOiAiS0dh
bW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSIsCi0gICAgIlgtS0RFLUtleXdvcmRzW3RhXSI6ICJL
R2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hLCDgrpXgr4fgrpXgrr7grq7grr4sIOCuleCvh+Cu
leCuvuCuruCvjeCuruCuviwg4K6V4K6+4K6u4K6+LCDgrpXgrr7grq7gr43grq7grr4iLAotICAg
ICJYLUtERS1LZXl3b3Jkc1t0Z10iOiAiS0dhbW1hLCBrZ2FtbWEsINCU0LDRgNCw0rfQsNC4INGP
0LrQtNC40LPQsNGA06MsINC00LDRgNCw0rfQsNC4INGP0LrQtNC40LPQsNGA06MiLAotICAgICJY
LUtERS1LZXl3b3Jkc1t0cl0iOiAiS0dhbW1hLCBrZ2FtbWEsIGdhbW1hLCBnYW1hIiwKLSAgICAi
WC1LREUtS2V5d29yZHNbdWddIjogIktHYW1tYSwga2dhbW1hLCBHYW1tYSwgZ2FtbWEsINqv2KfZ
hdmF2KciLAotICAgICJYLUtERS1LZXl3b3Jkc1t1a10iOiAiS0dhbW1hLGtnYW1tYSxHYW1tYSxn
YW1tYSzQs9Cw0LzQsCzRgNGW0LLQtdC90Yws0LrQvtC90YLRgNCw0YHRgtC90ZbRgdGC0Yws0YDR
ltCy0LXQvdGMINC60L7QvdGC0YDQsNGB0YLQvdC+0YHRgtGWIiwKLSAgICAiWC1LREUtS2V5d29y
ZHNbdmldIjogIktHYW1tYSxrZ2FtbWEsR2FtbWEsZ2FtbWEiLAotICAgICJYLUtERS1LZXl3b3Jk
c1t6aF9DTl0iOiAiS0dhbW1hLCBrZ2FtbWEsIEdhbW1hLCBnYW1tYSwgZ2FtYSwgZ2FtYXpoaSwg
5Ly96amsLCDkvL3njpssIOS8vemprOWAvCIsCi0gICAgIlgtS0RFLUtleXdvcmRzW3poX1RXXSI6
ICJLR2FtbWEsIGtnYW1tYSwgR2FtbWEsIGdhbW1hIiwKLSAgICAiWC1LREUtT25seVNob3dPblF0
UGxhdGZvcm1zIjogWwotICAgICAgICAieGNiIgotICAgIF0sCi0gICAgIlgtS0RFLVN5c3RlbS1T
ZXR0aW5ncy1QYXJlbnQtQ2F0ZWdvcnkiOiAiZGlzcGxheSIsCi0gICAgIlgtS0RFLVRlc3QtTW9k
dWxlIjogInRydWUiCi19CmRpZmYgLS1naXQgYS9rY21rZ2FtbWEva2dhbW1hLmNwcCBiL2tjbWtn
YW1tYS9rZ2FtbWEuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDQyYTNlLi4w
MDAwMDAwCi0tLSBhL2tjbWtnYW1tYS9rZ2FtbWEuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjE4
ICswLDAgQEAKLS8qCi0gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0
ZXIKLSAqCi0gKiAgU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogMjAwMSBNaWNoYWVsIHYuT3N0aGVp
bSA8TXZPc3RoZWltQHdlYi5kZT4KLSAqLwotCi0jaW5jbHVkZSAia2dhbW1hLmgiCi0KLSNpbmNs
dWRlICJnYW1tYWN0cmwuaCIKLSNpbmNsdWRlICJ4Zjg2Y29uZmlncGF0aC5oIgotI2luY2x1ZGUg
PHVuaXN0ZC5oPgotCi0jaW5jbHVkZSA8UUJveExheW91dD4KLSNpbmNsdWRlIDxRQ2hlY2tCb3g+
Ci0jaW5jbHVkZSA8UUNvbWJvQm94PgotI2luY2x1ZGUgPFFEaXI+Ci0jaW5jbHVkZSA8UUZvcm1M
YXlvdXQ+Ci0jaW5jbHVkZSA8UUZyYW1lPgotI2luY2x1ZGUgPFFHcmlkTGF5b3V0PgotI2luY2x1
ZGUgPFFIQm94TGF5b3V0PgotI2luY2x1ZGUgPFFMYWJlbD4KLSNpbmNsdWRlIDxRTGF5b3V0Pgot
I2luY2x1ZGUgPFFQaXhtYXA+Ci0jaW5jbHVkZSA8UVByb2Nlc3M+Ci0jaW5jbHVkZSA8UVN0YWNr
ZWRXaWRnZXQ+Ci0jaW5jbHVkZSA8UVN0YW5kYXJkUGF0aHM+Ci0jaW5jbHVkZSA8UVN0cmluZz4K
LSNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KLSNpbmNsdWRlIDxRVGV4dFN0cmVhbT4KLSNpbmNsdWRl
IDxRVkJveExheW91dD4KLQotI2luY2x1ZGUgPEtDb25maWc+Ci0jaW5jbHVkZSA8S0NvbmZpZ0dy
b3VwPgotI2luY2x1ZGUgPEtMb2NhbGl6ZWRTdHJpbmc+Ci0jaW5jbHVkZSA8S1BsdWdpbkZhY3Rv
cnk+Ci0KLSNpbmNsdWRlICJ4dmlkZXh0d3JhcC5oIgotCi1leHRlcm4gIkMiIHsKLWJvb2wgdGVz
dF9rZ2FtbWEoKQotewotICAgIGJvb2wgcmV0dmFsOwotICAgICh2b2lkKW5ldyBYVmlkRXh0V3Jh
cCgmcmV0dmFsLCBudWxscHRyKTsKLSAgICByZXR1cm4gcmV0dmFsOwotfQotfQotCi1LX1BMVUdJ
Tl9DTEFTU19XSVRIX0pTT04oS0dhbW1hLCAia2NtX2tnYW1tYS5qc29uIikKLQotS0dhbW1hOjpL
R2FtbWEoUU9iamVjdCAqcGFyZW50LCBjb25zdCBLUGx1Z2luTWV0YURhdGEgJmRhdGEpCi0gICAg
OiBLQ01vZHVsZShwYXJlbnQsIGRhdGEpCi0gICAgLCByb290UHJvY2VzcyhudWxscHRyKQotewot
ICAgIGJvb2wgb2s7Ci0gICAgR2FtbWFDb3JyZWN0aW9uID0gZmFsc2U7Ci0gICAgeHYgPSBuZXcg
WFZpZEV4dFdyYXAoJm9rLCBudWxscHRyKTsKLSAgICBpZiAob2spIHsgLyogS0RFIDQ6IFVuZWNj
ZXNzYXJ5IHRlc3QsIHdoZW4gYWxsIEtDTSB3cmFwcGVycyBkbyBjb25kaXRpb25hbCBsb2FkaW5n
ICovCi0gICAgICAgIHh2LT5nZXRHYW1tYShYVmlkRXh0V3JhcDo6UmVkLCAmb2spOwotICAgICAg
ICBpZiAob2spIHsKLSAgICAgICAgICAgIFNjcmVlbkNvdW50ID0geHYtPl9TY3JlZW5Db3VudCgp
OwotICAgICAgICAgICAgY3VycmVudFNjcmVlbiA9IHh2LT5nZXRTY3JlZW4oKTsKLSAgICAgICAg
ICAgIHh2LT5zZXRHYW1tYUxpbWl0cygwLjQsIDMuNSk7Ci0KLSAgICAgICAgICAgIGZvciAoaW50
IGkgPSAwOyBpIDwgU2NyZWVuQ291bnQ7IGkrKykgewotICAgICAgICAgICAgICAgIGFzc2lnbiA8
PCAwOwotICAgICAgICAgICAgICAgIHJnYW1tYSA8PCBRU3RyaW5nKCk7Ci0gICAgICAgICAgICAg
ICAgZ2dhbW1hIDw8IFFTdHJpbmcoKTsKLSAgICAgICAgICAgICAgICBiZ2FtbWEgPDwgUVN0cmlu
ZygpOwotCi0gICAgICAgICAgICAgICAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgZ2FtbWEgdmFsdWVz
Ci0gICAgICAgICAgICAgICAgeHYtPnNldFNjcmVlbihpKTsKLSAgICAgICAgICAgICAgICByYmFr
IDw8IHh2LT5nZXRHYW1tYShYVmlkRXh0V3JhcDo6UmVkKTsKLSAgICAgICAgICAgICAgICBnYmFr
IDw8IHh2LT5nZXRHYW1tYShYVmlkRXh0V3JhcDo6R3JlZW4pOwotICAgICAgICAgICAgICAgIGJi
YWsgPDwgeHYtPmdldEdhbW1hKFhWaWRFeHRXcmFwOjpCbHVlKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHh2LT5zZXRTY3JlZW4oY3VycmVudFNjcmVlbik7Ci0KLSAgICAgICAgICAgIHJv
b3RQcm9jZXNzID0gbmV3IFFQcm9jZXNzOwotICAgICAgICAgICAgR2FtbWFDb3JyZWN0aW9uID0g
dHJ1ZTsKLSAgICAgICAgICAgIHNldHVwVUkoKTsKLSAgICAgICAgICAgIHNhdmVkID0gZmFsc2U7
Ci0KLSAgICAgICAgICAgIGlmICghbG9hZFNldHRpbmdzKCkpIHsgLy8gdHJ5IHRvIGxvYWQgZ2Ft
bWEgdmFsdWVzIGZyb20gY29uZmlnIGZpbGUKLSAgICAgICAgICAgICAgICAvLyBpZiBmYWlsZWQs
IHRha2UgY3VycmVudCBnYW1tYSB2YWx1ZXMKLSAgICAgICAgICAgICAgICBmb3IgKGludCBpID0g
MDsgaSA8IFNjcmVlbkNvdW50OyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgcmdhbW1hW2ld
LnNldE51bShyYmFrW2ldLCAnZicsIDIpOwotICAgICAgICAgICAgICAgICAgICBnZ2FtbWFbaV0u
c2V0TnVtKGdiYWtbaV0sICdmJywgMik7Ci0gICAgICAgICAgICAgICAgICAgIGJnYW1tYVtpXS5z
ZXROdW0oYmJha1tpXSwgJ2YnLCAyKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBsb2FkKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKCFHYW1tYUNv
cnJlY3Rpb24pIHsgLy8gc29tZXRoaW5nIGlzIHdyb25nLCBzaG93IG9ubHkgZXJyb3IgbWVzc2Fn
ZQotICAgICAgICBzZXR1cFVJKCk7Ci0gICAgfQotfQotCi1LR2FtbWE6On5LR2FtbWEoKQotewot
ICAgIGRlbGV0ZSB4djsKLX0KLQotLyoqIFVzZXIgaW50ZXJmYWNlICovCi12b2lkIEtHYW1tYTo6
c2V0dXBVSSgpCi17Ci0gICAgUUJveExheW91dCAqdG9wTGF5b3V0ID0gbmV3IFFWQm94TGF5b3V0
KHdpZGdldCgpKTsKLQotICAgIGlmIChHYW1tYUNvcnJlY3Rpb24pIHsKLSAgICAgICAgUUhCb3hM
YXlvdXQgKmhib3ggPSBuZXcgUUhCb3hMYXlvdXQoKTsKLSAgICAgICAgdG9wTGF5b3V0LT5hZGRM
YXlvdXQoaGJveCk7Ci0gICAgICAgIFFMYWJlbCAqbGFiZWwgPSBuZXcgUUxhYmVsKGkxOG4oIiZT
ZWxlY3QgdGVzdCBwaWN0dXJlOiIpLCB3aWRnZXQoKSk7Ci0gICAgICAgIFFDb21ib0JveCAqY29t
Ym8gPSBuZXcgUUNvbWJvQm94KHdpZGdldCgpKTsKLSAgICAgICAgbGFiZWwtPnNldEJ1ZGR5KGNv
bWJvKTsKLQotICAgICAgICBRU3RyaW5nTGlzdCBsaXN0OwotICAgICAgICBsaXN0IDw8IGkxOG4o
IkdyYXkgU2NhbGUiKSA8PCBpMThuKCJSR0IgU2NhbGUiKSA8PCBpMThuKCJDTVkgU2NhbGUiKSA8
PCBpMThuKCJEYXJrIEdyYXkiKSA8PCBpMThuKCJNaWQgR3JheSIpIDw8IGkxOG4oIkxpZ2h0IEdy
YXkiKTsKLSAgICAgICAgY29tYm8tPmFkZEl0ZW1zKGxpc3QpOwotCi0gICAgICAgIGhib3gtPmFk
ZFdpZGdldChsYWJlbCk7Ci0gICAgICAgIGhib3gtPmFkZFdpZGdldChjb21ibyk7Ci0gICAgICAg
IGhib3gtPmFkZFN0cmV0Y2goKTsKLQotICAgICAgICBRU3RhY2tlZFdpZGdldCAqc3RhY2sgPSBu
ZXcgUVN0YWNrZWRXaWRnZXQod2lkZ2V0KCkpOwotCi0gICAgICAgIGNvbm5lY3QoY29tYm8sIFFP
dmVybG9hZDxpbnQ+OjpvZigmUUNvbWJvQm94OjphY3RpdmF0ZWQpLCBzdGFjaywgJlFTdGFja2Vk
V2lkZ2V0OjpzZXRDdXJyZW50SW5kZXgpOwotCi0gICAgICAgIFFMYWJlbCAqcGljMSA9IG5ldyBR
TGFiZWwoc3RhY2spOwotICAgICAgICBwaWMxLT5zZXRNaW5pbXVtU2l6ZSg1MzAsIDE3MSk7Ci0g
ICAgICAgIHBpYzEtPnNldFBpeG1hcChRUGl4bWFwKFFTdGFuZGFyZFBhdGhzOjpsb2NhdGUoUVN0
YW5kYXJkUGF0aHM6OkdlbmVyaWNEYXRhTG9jYXRpb24sIFFTdHJpbmdMaXRlcmFsKCJrZ2FtbWEv
cGljcy9ncmV5c2NhbGUucG5nIikpKSk7Ci0gICAgICAgIHBpYzEtPnNldEFsaWdubWVudChRdDo6
QWxpZ25DZW50ZXIpOwotICAgICAgICBzdGFjay0+aW5zZXJ0V2lkZ2V0KDAsIHBpYzEpOwotCi0g
ICAgICAgIFFMYWJlbCAqcGljMiA9IG5ldyBRTGFiZWwoc3RhY2spOwotICAgICAgICBwaWMyLT5z
ZXRQaXhtYXAoUVBpeG1hcChRU3RhbmRhcmRQYXRoczo6bG9jYXRlKFFTdGFuZGFyZFBhdGhzOjpH
ZW5lcmljRGF0YUxvY2F0aW9uLCBRU3RyaW5nTGl0ZXJhbCgia2dhbW1hL3BpY3Mvcmdic2NhbGUu
cG5nIikpKSk7Ci0gICAgICAgIHBpYzItPnNldEFsaWdubWVudChRdDo6QWxpZ25DZW50ZXIpOwot
ICAgICAgICBzdGFjay0+aW5zZXJ0V2lkZ2V0KDEsIHBpYzIpOwotCi0gICAgICAgIFFMYWJlbCAq
cGljMyA9IG5ldyBRTGFiZWwoc3RhY2spOwotICAgICAgICBwaWMzLT5zZXRQaXhtYXAoUVBpeG1h
cChRU3RhbmRhcmRQYXRoczo6bG9jYXRlKFFTdGFuZGFyZFBhdGhzOjpHZW5lcmljRGF0YUxvY2F0
aW9uLCBRU3RyaW5nTGl0ZXJhbCgia2dhbW1hL3BpY3MvY215c2NhbGUucG5nIikpKSk7Ci0gICAg
ICAgIHBpYzMtPnNldEFsaWdubWVudChRdDo6QWxpZ25DZW50ZXIpOwotICAgICAgICBzdGFjay0+
aW5zZXJ0V2lkZ2V0KDIsIHBpYzMpOwotCi0gICAgICAgIFFMYWJlbCAqcGljNCA9IG5ldyBRTGFi
ZWwoc3RhY2spOwotICAgICAgICBwaWM0LT5zZXRQaXhtYXAoUVBpeG1hcChRU3RhbmRhcmRQYXRo
czo6bG9jYXRlKFFTdGFuZGFyZFBhdGhzOjpHZW5lcmljRGF0YUxvY2F0aW9uLCBRU3RyaW5nTGl0
ZXJhbCgia2dhbW1hL3BpY3MvZGFya2dyZXkucG5nIikpKSk7Ci0gICAgICAgIHBpYzQtPnNldEFs
aWdubWVudChRdDo6QWxpZ25DZW50ZXIpOwotICAgICAgICBzdGFjay0+aW5zZXJ0V2lkZ2V0KDMs
IHBpYzQpOwotCi0gICAgICAgIFFMYWJlbCAqcGljNSA9IG5ldyBRTGFiZWwoc3RhY2spOwotICAg
ICAgICBwaWM1LT5zZXRQaXhtYXAoUVBpeG1hcChRU3RhbmRhcmRQYXRoczo6bG9jYXRlKFFTdGFu
ZGFyZFBhdGhzOjpHZW5lcmljRGF0YUxvY2F0aW9uLCBRU3RyaW5nTGl0ZXJhbCgia2dhbW1hL3Bp
Y3MvbWlkZ3JleS5wbmciKSkpKTsKLSAgICAgICAgcGljNS0+c2V0QWxpZ25tZW50KFF0OjpBbGln
bkNlbnRlcik7Ci0gICAgICAgIHN0YWNrLT5pbnNlcnRXaWRnZXQoNCwgcGljNSk7Ci0KLSAgICAg
ICAgUUxhYmVsICpwaWM2ID0gbmV3IFFMYWJlbChzdGFjayk7Ci0gICAgICAgIHBpYzYtPnNldFBp
eG1hcChRUGl4bWFwKFFTdGFuZGFyZFBhdGhzOjpsb2NhdGUoUVN0YW5kYXJkUGF0aHM6OkdlbmVy
aWNEYXRhTG9jYXRpb24sIFFTdHJpbmdMaXRlcmFsKCJrZ2FtbWEvcGljcy9saWdodGdyZXkucG5n
IikpKSk7Ci0gICAgICAgIHBpYzYtPnNldEFsaWdubWVudChRdDo6QWxpZ25DZW50ZXIpOwotICAg
ICAgICBzdGFjay0+aW5zZXJ0V2lkZ2V0KDUsIHBpYzYpOwotCi0gICAgICAgIHRvcExheW91dC0+
YWRkV2lkZ2V0KHN0YWNrLCAxMCk7Ci0KLSAgICAgICAgYXV0byBob3Jpem9udGFsU2VwYXJhdG9y
ID0gbmV3IFFGcmFtZSgpOwotICAgICAgICBob3Jpem9udGFsU2VwYXJhdG9yLT5zZXRGcmFtZVN0
eWxlKFFGcmFtZTo6SExpbmUpOwotICAgICAgICB0b3BMYXlvdXQtPmFkZFdpZGdldChob3Jpem9u
dGFsU2VwYXJhdG9yKTsKLQotICAgICAgICAvLyBTbGlkZXJzIGZvciBnYW1tYSBjb3JyZWN0aW9u
Ci0KLSAgICAgICAgUUxhYmVsICpnYW1tYWxhYmVsID0gbmV3IFFMYWJlbCh3aWRnZXQoKSk7Ci0g
ICAgICAgIGdhbW1hbGFiZWwtPnNldFRleHQoaTE4bigiR2FtbWE6IikpOwotCi0gICAgICAgIFFM
YWJlbCAqcmVkbGFiZWwgPSBuZXcgUUxhYmVsKHdpZGdldCgpKTsKLSAgICAgICAgcmVkbGFiZWwt
PnNldFRleHQoaTE4bigiUmVkOiIpKTsKLQotICAgICAgICBRTGFiZWwgKmdyZWVubGFiZWwgPSBu
ZXcgUUxhYmVsKHdpZGdldCgpKTsKLSAgICAgICAgZ3JlZW5sYWJlbC0+c2V0VGV4dChpMThuKCJH
cmVlbjoiKSk7Ci0KLSAgICAgICAgUUxhYmVsICpibHVlbGFiZWwgPSBuZXcgUUxhYmVsKHdpZGdl
dCgpKTsKLSAgICAgICAgYmx1ZWxhYmVsLT5zZXRUZXh0KGkxOG4oIkJsdWU6IikpOwotCi0gICAg
ICAgIGdjdHJsID0gbmV3IEdhbW1hQ3RybCh3aWRnZXQoKSwgeHYpOwotICAgICAgICBjb25uZWN0
KGdjdHJsLCAmR2FtbWFDdHJsOjpnYW1tYUNoYW5nZWQsIHRoaXMsICZLQ01vZHVsZTo6bWFya0Fz
Q2hhbmdlZCk7Ci0gICAgICAgIGNvbm5lY3QoZ2N0cmwsICZHYW1tYUN0cmw6OmdhbW1hQ2hhbmdl
ZCwgdGhpcywgJktHYW1tYTo6U3luY1NjcmVlbnMpOwotICAgICAgICBnYW1tYWxhYmVsLT5zZXRC
dWRkeShnY3RybCk7Ci0KLSAgICAgICAgcmdjdHJsID0gbmV3IEdhbW1hQ3RybCh3aWRnZXQoKSwg
eHYsIFhWaWRFeHRXcmFwOjpSZWQpOwotICAgICAgICBjb25uZWN0KHJnY3RybCwgJkdhbW1hQ3Ry
bDo6Z2FtbWFDaGFuZ2VkLCB0aGlzLCAmS0NNb2R1bGU6Om1hcmtBc0NoYW5nZWQpOwotICAgICAg
ICBjb25uZWN0KHJnY3RybCwgJkdhbW1hQ3RybDo6Z2FtbWFDaGFuZ2VkLCB0aGlzLCAmS0dhbW1h
OjpTeW5jU2NyZWVucyk7Ci0gICAgICAgIGNvbm5lY3QoZ2N0cmwsIFNJR05BTChnYW1tYUNoYW5n
ZWQoaW50KSksIHJnY3RybCwgU0xPVChzZXRDdHJsKGludCkpKTsKLSAgICAgICAgY29ubmVjdChy
Z2N0cmwsICZHYW1tYUN0cmw6OmdhbW1hQ2hhbmdlZCwgZ2N0cmwsICZHYW1tYUN0cmw6OnN1c3Bl
bmQpOwotICAgICAgICByZWRsYWJlbC0+c2V0QnVkZHkocmdjdHJsKTsKLQotICAgICAgICBnZ2N0
cmwgPSBuZXcgR2FtbWFDdHJsKHdpZGdldCgpLCB4diwgWFZpZEV4dFdyYXA6OkdyZWVuKTsKLSAg
ICAgICAgY29ubmVjdChnZ2N0cmwsICZHYW1tYUN0cmw6OmdhbW1hQ2hhbmdlZCwgdGhpcywgJktD
TW9kdWxlOjptYXJrQXNDaGFuZ2VkKTsKLSAgICAgICAgY29ubmVjdChnZ2N0cmwsICZHYW1tYUN0
cmw6OmdhbW1hQ2hhbmdlZCwgdGhpcywgJktHYW1tYTo6U3luY1NjcmVlbnMpOwotICAgICAgICBj
b25uZWN0KGdjdHJsLCBTSUdOQUwoZ2FtbWFDaGFuZ2VkKGludCkpLCBnZ2N0cmwsIFNMT1Qoc2V0
Q3RybChpbnQpKSk7Ci0gICAgICAgIGNvbm5lY3QoZ2djdHJsLCAmR2FtbWFDdHJsOjpnYW1tYUNo
YW5nZWQsIGdjdHJsLCAmR2FtbWFDdHJsOjpzdXNwZW5kKTsKLSAgICAgICAgZ3JlZW5sYWJlbC0+
c2V0QnVkZHkoZ2djdHJsKTsKLQotICAgICAgICBiZ2N0cmwgPSBuZXcgR2FtbWFDdHJsKHdpZGdl
dCgpLCB4diwgWFZpZEV4dFdyYXA6OkJsdWUpOwotICAgICAgICBjb25uZWN0KGJnY3RybCwgJkdh
bW1hQ3RybDo6Z2FtbWFDaGFuZ2VkLCB0aGlzLCAmS0NNb2R1bGU6Om1hcmtBc0NoYW5nZWQpOwot
ICAgICAgICBjb25uZWN0KGJnY3RybCwgJkdhbW1hQ3RybDo6Z2FtbWFDaGFuZ2VkLCB0aGlzLCAm
S0dhbW1hOjpTeW5jU2NyZWVucyk7Ci0gICAgICAgIGNvbm5lY3QoZ2N0cmwsIFNJR05BTChnYW1t
YUNoYW5nZWQoaW50KSksIGJnY3RybCwgU0xPVChzZXRDdHJsKGludCkpKTsKLSAgICAgICAgY29u
bmVjdChiZ2N0cmwsICZHYW1tYUN0cmw6OmdhbW1hQ2hhbmdlZCwgZ2N0cmwsICZHYW1tYUN0cmw6
OnN1c3BlbmQpOwotICAgICAgICBibHVlbGFiZWwtPnNldEJ1ZGR5KGJnY3RybCk7Ci0KLSAgICAg
ICAgUUZvcm1MYXlvdXQgKmZvcm0gPSBuZXcgUUZvcm1MYXlvdXQ7Ci0gICAgICAgIGZvcm0tPmFk
ZFJvdyhnYW1tYWxhYmVsLCBnY3RybCk7Ci0gICAgICAgIGZvcm0tPmFkZEl0ZW0obmV3IFFTcGFj
ZXJJdGVtKDAsIGdhbW1hbGFiZWwtPnNpemVIaW50KCkuaGVpZ2h0KCkgLyAzKSk7Ci0gICAgICAg
IGZvcm0tPmFkZFJvdyhyZWRsYWJlbCwgcmdjdHJsKTsKLSAgICAgICAgZm9ybS0+YWRkUm93KGdy
ZWVubGFiZWwsIGdnY3RybCk7Ci0gICAgICAgIGZvcm0tPmFkZFJvdyhibHVlbGFiZWwsIGJnY3Ry
bCk7Ci0KLSAgICAgICAgdG9wTGF5b3V0LT5hZGRMYXlvdXQoZm9ybSk7Ci0KLSAgICAgICAgLy8g
T3B0aW9ucwotICAgICAgICBRV2lkZ2V0ICpvcHRpb25zID0gbmV3IFFXaWRnZXQod2lkZ2V0KCkp
OwotICAgICAgICBRSEJveExheW91dCAqb3B0aW9uc0hCb3hMYXlvdXQgPSBuZXcgUUhCb3hMYXlv
dXQob3B0aW9ucyk7Ci0KLSAgICAgICAgeGY4NmNmZ2JveCA9IG5ldyBRQ2hlY2tCb3goaTE4bigi
U2F2ZSBzZXR0aW5ncyBzeXN0ZW0gd2lkZSIpLCBvcHRpb25zKTsKLSAgICAgICAgb3B0aW9uc0hC
b3hMYXlvdXQtPmFkZFdpZGdldCh4Zjg2Y2ZnYm94KTsKLSAgICAgICAgY29ubmVjdCh4Zjg2Y2Zn
Ym94LCAmUUFic3RyYWN0QnV0dG9uOjpjbGlja2VkLCB0aGlzLCAmS0dhbW1hOjpjaGFuZ2VDb25m
aWcpOwotCi0gICAgICAgIHN5bmNib3ggPSBuZXcgUUNoZWNrQm94KGkxOG4oIlN5bmMgc2NyZWVu
cyIpLCBvcHRpb25zKTsKLSAgICAgICAgb3B0aW9uc0hCb3hMYXlvdXQtPmFkZFdpZGdldChzeW5j
Ym94KTsKLSAgICAgICAgY29ubmVjdChzeW5jYm94LCAmUUFic3RyYWN0QnV0dG9uOjpjbGlja2Vk
LCB0aGlzLCAmS0dhbW1hOjpTeW5jU2NyZWVucyk7Ci0gICAgICAgIGNvbm5lY3Qoc3luY2JveCwg
JlFBYnN0cmFjdEJ1dHRvbjo6Y2xpY2tlZCwgdGhpcywgJktDTW9kdWxlOjptYXJrQXNDaGFuZ2Vk
KTsKLQotICAgICAgICBzY3JlZW5zZWxlY3QgPSBuZXcgUUNvbWJvQm94KG9wdGlvbnMpOwotICAg
ICAgICBvcHRpb25zSEJveExheW91dC0+YWRkV2lkZ2V0KHNjcmVlbnNlbGVjdCk7Ci0gICAgICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgU2NyZWVuQ291bnQ7IGkrKykgewotICAgICAgICAgICAgc2Ny
ZWVuc2VsZWN0LT5hZGRJdGVtKGkxOG4oIlNjcmVlbiAlMSIsIGkgKyAxKSk7Ci0gICAgICAgIH0K
LSAgICAgICAgc2NyZWVuc2VsZWN0LT5zZXRDdXJyZW50SW5kZXgoY3VycmVudFNjcmVlbik7Ci0g
ICAgICAgIGlmIChTY3JlZW5Db3VudCA8PSAxKSB7Ci0gICAgICAgICAgICBzY3JlZW5zZWxlY3Qt
PnNldEVuYWJsZWQoZmFsc2UpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgY29ubmVj
dChzY3JlZW5zZWxlY3QsIFFPdmVybG9hZDxpbnQ+OjpvZigmUUNvbWJvQm94OjphY3RpdmF0ZWQp
LCB0aGlzLCAmS0dhbW1hOjpjaGFuZ2VTY3JlZW4pOwotICAgICAgICB9Ci0KLSAgICAgICAgb3B0
aW9uc0hCb3hMYXlvdXQtPnNldFNwYWNpbmcoMTApOwotICAgICAgICBvcHRpb25zSEJveExheW91
dC0+c2V0U3RyZXRjaEZhY3Rvcih4Zjg2Y2ZnYm94LCAxMCk7Ci0gICAgICAgIG9wdGlvbnNIQm94
TGF5b3V0LT5zZXRTdHJldGNoRmFjdG9yKHN5bmNib3gsIDEpOwotICAgICAgICBvcHRpb25zSEJv
eExheW91dC0+c2V0U3RyZXRjaEZhY3RvcihzY3JlZW5zZWxlY3QsIDEpOwotCi0gICAgICAgIHRv
cExheW91dC0+YWRkV2lkZ2V0KG9wdGlvbnMpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFFMYWJl
bCAqZXJyb3IgPSBuZXcgUUxhYmVsKHdpZGdldCgpKTsKLSAgICAgICAgZXJyb3ItPnNldFRleHQo
Ci0gICAgICAgICAgICBpMThuKCJHYW1tYSBjb3JyZWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkg
eW91ciIKLSAgICAgICAgICAgICAgICAgIiBncmFwaGljcyBoYXJkd2FyZSBvciBkcml2ZXIuIikp
OwotICAgICAgICBlcnJvci0+c2V0QWxpZ25tZW50KFF0OjpBbGlnbkNlbnRlcik7Ci0gICAgICAg
IHRvcExheW91dC0+YWRkV2lkZ2V0KGVycm9yKTsKLSAgICB9Ci19Ci0KLS8qKiBSZXN0b3JlIGxh
dGVzdCBzYXZlZCBnYW1tYSB2YWx1ZXMgKi8KLXZvaWQgS0dhbW1hOjpsb2FkKCkKLXsKLSAgICBp
ZiAoR2FtbWFDb3JyZWN0aW9uKSB7Ci0gICAgICAgIEtDb25maWcgKmNvbmZpZyA9IG5ldyBLQ29u
ZmlnKFFTdHJpbmdMaXRlcmFsKCJrZ2FtbWFyYyIpKTsKLSAgICAgICAgS0NvbmZpZ0dyb3VwIGdy
b3VwID0gY29uZmlnLT5ncm91cCgiQ29uZmlnRmlsZSIpOwotCi0gICAgICAgIC8vIHNhdmUgY2hl
Y2tib3ggc3RhdHVzCi0gICAgICAgIGlmICh4Zjg2Y2ZnYm94LT5pc0NoZWNrZWQoKSkgewotICAg
ICAgICAgICAgZ3JvdXAud3JpdGVFbnRyeSgidXNlIiwgIlhGODZDb25maWciKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIGdyb3VwLndyaXRlRW50cnkoInVzZSIsICJrZ2FtbWFyYyIp
OwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gbG9hZCBzeW5jYm94IHN0YXR1cwotICAgICAgICBn
cm91cCA9IGNvbmZpZy0+Z3JvdXAoIlN5bmNCb3giKTsKLSAgICAgICAgaWYgKGdyb3VwLnJlYWRF
bnRyeSgic3luYyIpID09IFFMYXRpbjFTdHJpbmcoInllcyIpKSB7Ci0gICAgICAgICAgICBzeW5j
Ym94LT5zZXRDaGVja2VkKHRydWUpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgc3lu
Y2JveC0+c2V0Q2hlY2tlZChmYWxzZSk7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25maWctPnN5
bmMoKTsKLSAgICAgICAgZGVsZXRlIGNvbmZpZzsKLQotICAgICAgICBmb3IgKGludCBpID0gMDsg
aSA8IFNjcmVlbkNvdW50OyBpKyspIHsKLSAgICAgICAgICAgIHh2LT5zZXRTY3JlZW4oaSk7Ci0g
ICAgICAgICAgICBpZiAocmdhbW1hW2ldID09IGdnYW1tYVtpXSAmJiByZ2FtbWFbaV0gPT0gYmdh
bW1hW2ldKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGkgPT0gY3VycmVudFNjcmVlbikgewotICAg
ICAgICAgICAgICAgICAgICBnY3RybC0+c2V0R2FtbWEocmdhbW1hW2ldKTsKLSAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICB4di0+c2V0R2FtbWEoWFZpZEV4dFdy
YXA6OlZhbHVlLCByZ2FtbWFbaV0udG9GbG9hdCgpKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmIChpID09IGN1cnJlbnRTY3JlZW4p
IHsKLSAgICAgICAgICAgICAgICAgICAgcmdjdHJsLT5zZXRHYW1tYShyZ2FtbWFbaV0pOwotICAg
ICAgICAgICAgICAgICAgICBnZ2N0cmwtPnNldEdhbW1hKGdnYW1tYVtpXSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGJnY3RybC0+c2V0R2FtbWEoYmdhbW1hW2ldKTsKLSAgICAgICAgICAgICAgICAg
ICAgZ2N0cmwtPnN1c3BlbmQoKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICB4di0+c2V0R2FtbWEoWFZpZEV4dFdyYXA6OlJlZCwgcmdhbW1hW2ldLnRvRmxv
YXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgIHh2LT5zZXRHYW1tYShYVmlkRXh0V3JhcDo6R3Jl
ZW4sIGdnYW1tYVtpXS50b0Zsb2F0KCkpOwotICAgICAgICAgICAgICAgICAgICB4di0+c2V0R2Ft
bWEoWFZpZEV4dFdyYXA6OkJsdWUsIGJnYW1tYVtpXS50b0Zsb2F0KCkpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICB4di0+c2V0U2NyZWVuKGN1
cnJlbnRTY3JlZW4pOwotCi0gICAgICAgIHNldE5lZWRzU2F2ZShmYWxzZSk7Ci0gICAgfQotfQot
Ci12b2lkIEtHYW1tYTo6c2F2ZSgpCi17Ci0gICAgaWYgKEdhbW1hQ29ycmVjdGlvbikgewotICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IFNjcmVlbkNvdW50OyBpKyspIHsKLSAgICAgICAgICAg
IHh2LT5zZXRTY3JlZW4oaSk7Ci0gICAgICAgICAgICByZ2FtbWFbaV0gPSByZ2N0cmwtPmdhbW1h
KDIpOwotICAgICAgICAgICAgZ2dhbW1hW2ldID0gZ2djdHJsLT5nYW1tYSgyKTsKLSAgICAgICAg
ICAgIGJnYW1tYVtpXSA9IGJnY3RybC0+Z2FtbWEoMik7Ci0gICAgICAgIH0KLSAgICAgICAgeHYt
PnNldFNjcmVlbihjdXJyZW50U2NyZWVuKTsKLQotICAgICAgICBLQ29uZmlnICpjb25maWcgPSBu
ZXcgS0NvbmZpZyhRU3RyaW5nTGl0ZXJhbCgia2dhbW1hcmMiKSk7Ci0gICAgICAgIEtDb25maWdH
cm91cCBncm91cCA9IGNvbmZpZy0+Z3JvdXAoIlN5bmNCb3giKTsKLSAgICAgICAgaWYgKHN5bmNi
b3gtPmlzQ2hlY2tlZCgpKSB7Ci0gICAgICAgICAgICBncm91cC53cml0ZUVudHJ5KCJzeW5jIiwg
InllcyIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZ3JvdXAud3JpdGVFbnRyeSgi
c3luYyIsICJubyIpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCF4Zjg2Y2ZnYm94LT5pc0No
ZWNrZWQoKSkgeyAvLyB3cml0ZSBnYW1tYSBzZXR0aW5ncyB0byB0aGUgdXNlcnMgY29uZmlnCi0g
ICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IFNjcmVlbkNvdW50OyBpKyspIHsKLSAgICAg
ICAgICAgICAgICBLQ29uZmlnR3JvdXAgc2NyZWVuR3JvdXAgPSBjb25maWctPmdyb3VwKFFTdHJp
bmdMaXRlcmFsKCJTY3JlZW4gJTEiKS5hcmcoaSkpOwotICAgICAgICAgICAgICAgIHNjcmVlbkdy
b3VwLndyaXRlRW50cnkoInJnYW1tYSIsIHJnYW1tYVtpXSk7Ci0gICAgICAgICAgICAgICAgc2Ny
ZWVuR3JvdXAud3JpdGVFbnRyeSgiZ2dhbW1hIiwgZ2dhbW1hW2ldKTsKLSAgICAgICAgICAgICAg
ICBzY3JlZW5Hcm91cC53cml0ZUVudHJ5KCJiZ2FtbWEiLCBiZ2FtbWFbaV0pOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgS0NvbmZpZ0dyb3VwIGNvbmZHcm91cCA9IGNvbmZpZy0+Z3JvdXAo
IkNvbmZpZ0ZpbGUiKTsKLSAgICAgICAgICAgIGNvbmZHcm91cC53cml0ZUVudHJ5KCJ1c2UiLCAi
a2dhbW1hcmMiKTsKLSAgICAgICAgfSBlbHNlIHsgLy8gd3JpdGUgZ2FtbWEgc2V0dGluZ3MgdG8g
c2VjdGlvbiAiTW9uaXRvciIgb2YgWEY4NkNvbmZpZwotICAgICAgICAgICAgS0NvbmZpZ0dyb3Vw
IHg4Nmdyb3VwID0gY29uZmlnLT5ncm91cCgiQ29uZmlnRmlsZSIpOwotICAgICAgICAgICAgeDg2
Z3JvdXAud3JpdGVFbnRyeSgidXNlIiwgIlhGODZDb25maWciKTsKLQotICAgICAgICAgICAgaWYg
KCEocm9vdFByb2Nlc3MtPnN0YXRlKCkgPT0gUVByb2Nlc3M6OlJ1bm5pbmcpKSB7Ci0gICAgICAg
ICAgICAgICAgUVN0cmluZyBBcmd1bWVudHMgPSBRU3RyaW5nTGl0ZXJhbCgieGY4NmdhbW1hY2Zn
ICIpOwotICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgU2NyZWVuQ291bnQ7IGkr
KykgewotICAgICAgICAgICAgICAgICAgICBBcmd1bWVudHMgKz0gcmdhbW1hW2Fzc2lnbltpXV0g
KyBRTGF0aW4xQ2hhcignICcpICsgZ2dhbW1hW2Fzc2lnbltpXV0gKyBRTGF0aW4xQ2hhcignICcp
ICsgYmdhbW1hW2Fzc2lnbltpXV0gKyBRTGF0aW4xQ2hhcignICcpOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICByb290UHJvY2Vzcy0+c2V0UHJvZ3JhbShRU3RhbmRhcmRQYXRo
czo6ZmluZEV4ZWN1dGFibGUoUVN0cmluZ0xpdGVyYWwoImtkZXN1IikpKTsKLSAgICAgICAgICAg
ICAgICByb290UHJvY2Vzcy0+c2V0QXJndW1lbnRzKEFyZ3VtZW50cy5zcGxpdChRTGF0aW4xQ2hh
cignICcpKSk7Ci0gICAgICAgICAgICAgICAgcm9vdFByb2Nlc3MtPnN0YXJ0KCk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgY29uZmlnLT5zeW5jKCk7Ci0gICAgICAgIGRlbGV0
ZSBjb25maWc7Ci0gICAgICAgIHNhdmVkID0gdHJ1ZTsKLSAgICAgICAgc2V0TmVlZHNTYXZlKGZh
bHNlKTsKLSAgICB9Ci19Ci0KLXZvaWQgS0dhbW1hOjpkZWZhdWx0cygpCi17Ci0gICAgaWYgKEdh
bW1hQ29ycmVjdGlvbikgewotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IFNjcmVlbkNvdW50
OyBpKyspIHsKLSAgICAgICAgICAgIHh2LT5zZXRTY3JlZW4oaSk7Ci0gICAgICAgICAgICBnY3Ry
bC0+c2V0R2FtbWEoUVN0cmluZ0xpdGVyYWwoIjEuMDAiKSk7Ci0gICAgICAgIH0KLSAgICAgICAg
eHYtPnNldFNjcmVlbihjdXJyZW50U2NyZWVuKTsKLSAgICB9Ci0gICAgeGY4NmNmZ2JveC0+c2V0
Q2hlY2tlZChmYWxzZSk7Ci0gICAgc3luY2JveC0+c2V0Q2hlY2tlZChmYWxzZSk7Ci19Ci0KLWJv
b2wgS0dhbW1hOjpsb2FkU2V0dGluZ3MoKQotewotICAgIEtDb25maWcgKmNvbmZpZyA9IG5ldyBL
Q29uZmlnKFFTdHJpbmdMaXRlcmFsKCJrZ2FtbWFyYyIpKTsKLSAgICBLQ29uZmlnR3JvdXAgZ3Jw
ID0gY29uZmlnLT5ncm91cCgiQ29uZmlnRmlsZSIpOwotICAgIFFTdHJpbmcgQ29uZmlnRmlsZShn
cnAucmVhZEVudHJ5KCJ1c2UiKSk7Ci0gICAgS0NvbmZpZ0dyb3VwIHN5bmNHcm91cCA9IGNvbmZp
Zy0+Z3JvdXAoIlN5bmNCb3giKTsKLSAgICBpZiAoc3luY0dyb3VwLnJlYWRFbnRyeSgic3luYyIp
ID09IFFMYXRpbjFTdHJpbmcoInllcyIpKSB7Ci0gICAgICAgIHN5bmNib3gtPnNldENoZWNrZWQo
dHJ1ZSk7Ci0gICAgfQotICAgIGRlbGV0ZSBjb25maWc7Ci0KLSAgICBpZiAoQ29uZmlnRmlsZSA9
PSBRTGF0aW4xU3RyaW5nKCJYRjg2Q29uZmlnIikpIHsgLy8gcGFyc2UgWEY4NkNvbmZpZwotICAg
ICAgICBib29sIHZhbGlkR2xvYmFsQ29uZmlnID0gbG9hZFN5c3RlbVNldHRpbmdzKCk7Ci0gICAg
ICAgIHhmODZjZmdib3gtPnNldENoZWNrZWQodmFsaWRHbG9iYWxDb25maWcpOwotICAgICAgICBy
ZXR1cm4gKHZhbGlkR2xvYmFsQ29uZmlnKTsKLSAgICB9IGVsc2UgeyAvLyBnZXQgZ2FtbWEgc2V0
dGluZ3MgZnJvbSB1c2VyIGNvbmZpZwotICAgICAgICByZXR1cm4gKGxvYWRVc2VyU2V0dGluZ3Mo
KSk7Ci0gICAgfQotfQotCi1ib29sIEtHYW1tYTo6bG9hZFVzZXJTZXR0aW5ncygpCi17Ci0gICAg
S0NvbmZpZyAqY29uZmlnID0gbmV3IEtDb25maWcoUVN0cmluZ0xpdGVyYWwoImtnYW1tYXJjIikp
OwotCi0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTY3JlZW5Db3VudDsgaSsrKSB7Ci0gICAgICAg
IEtDb25maWdHcm91cCBzY3JlZW5Hcm91cCA9IGNvbmZpZy0+Z3JvdXAoUVN0cmluZ0xpdGVyYWwo
IlNjcmVlbiAlMSIpLmFyZyhpKSk7Ci0gICAgICAgIHJnYW1tYVtpXSA9IHNjcmVlbkdyb3VwLnJl
YWRFbnRyeSgicmdhbW1hIik7Ci0gICAgICAgIGdnYW1tYVtpXSA9IHNjcmVlbkdyb3VwLnJlYWRF
bnRyeSgiZ2dhbW1hIik7Ci0gICAgICAgIGJnYW1tYVtpXSA9IHNjcmVlbkdyb3VwLnJlYWRFbnRy
eSgiYmdhbW1hIik7Ci0gICAgfQotICAgIGRlbGV0ZSBjb25maWc7Ci0KLSAgICByZXR1cm4gKHZh
bGlkYXRlR2FtbWFWYWx1ZXMoKSk7Ci19Ci0KLWJvb2wgS0dhbW1hOjpsb2FkU3lzdGVtU2V0dGlu
Z3MoKQotewotICAgIFFTdHJpbmdMaXN0IE1vbml0b3IsIFNjcmVlbiwgU2NyZWVuTGF5b3V0LCBT
Y3JlZW5Nb25pdG9yLCBHYW1tYTsKLSAgICBRTGlzdDxpbnQ+IFNjcmVlbk5yOwotICAgIFFTdHJp
bmcgU2VjdGlvbjsKLSAgICBYRjg2Q29uZmlnUGF0aCBQYXRoOwotICAgIFFGaWxlIGYoUVN0cmlu
Zzo6ZnJvbVV0ZjgoUGF0aC5nZXQoKSkpOwotICAgIGlmIChmLm9wZW4oUUlPRGV2aWNlOjpSZWFk
T25seSkpIHsKLSAgICAgICAgUVRleHRTdHJlYW0gdCgmZik7Ci0gICAgICAgIFFTdHJpbmcgczsK
LSAgICAgICAgaW50IHNuID0gMDsKLSAgICAgICAgYm9vbCBnbSA9IGZhbHNlOwotCi0gICAgICAg
IC8vIEFuYWx5emUgU2NyZWVuPC0+TW9uaXRvciBhc3NpZ25tZW50cyBvZiBtdWx0aS1oZWFkIGNv
bmZpZ3VyYXRpb25zCi0gICAgICAgIHdoaWxlICghdC5hdEVuZCgpKSB7Ci0gICAgICAgICAgICBz
ID0gKHQucmVhZExpbmUoKSkuc2ltcGxpZmllZCgpOwotICAgICAgICAgICAgUVN0cmluZ0xpc3Qg
d29yZHMgPSBzLnNwbGl0KFFMYXRpbjFDaGFyKCcgJykpOwotICAgICAgICAgICAgaWYgKCF3b3Jk
cy5lbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdvcmRzWzBdID09IFFMYXRpbjFTdHJp
bmcoIlNlY3Rpb24iKSAmJiB3b3Jkcy5zaXplKCkgPiAxKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICgoU2VjdGlvbiA9IHdvcmRzWzFdKSA9PSBRTGF0aW4xU3RyaW5nKCJcIk1vbml0b3JcIiIp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnbSA9IGZhbHNlOwotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3b3Jkc1swXSA9PSBRTGF0aW4xU3Ry
aW5nKCJFbmRTZWN0aW9uIikpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKFNlY3Rpb24gPT0g
UUxhdGluMVN0cmluZygiXCJNb25pdG9yXCIiKSAmJiAhZ20pIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIEdhbW1hIDw8IFFTdHJpbmcoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdtID0g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgU2VjdGlv
biA9IFFTdHJpbmcoKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHdvcmRzWzBdID09IFFM
YXRpbjFTdHJpbmcoIklkZW50aWZpZXIiKSAmJiB3b3Jkcy5zaXplKCkgPiAxKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChTZWN0aW9uID09IFFMYXRpbjFTdHJpbmcoIlwiTW9uaXRvclwiIikp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIE1vbml0b3IgPDwgd29yZHNbMV07Ci0gICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VjdGlvbiA9PSBRTGF0aW4xU3RyaW5nKCJcIlNjcmVl
blwiIikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiA8PCB3b3Jkc1sxXTsKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAod29yZHNbMF0g
PT0gUUxhdGluMVN0cmluZygiU2NyZWVuIikgJiYgd29yZHMuc2l6ZSgpID4gMSkgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoU2VjdGlvbiA9PSBRTGF0aW4xU3RyaW5nKCJcIlNlcnZlckxheW91
dFwiIikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgb2s7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaSA9IHdvcmRzWzFdLnRvSW50KCZvayk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAob2sgJiYgd29yZHMuc2l6ZSgpID4gMikgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNjcmVlbk5yIDw8IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Ny
ZWVuTGF5b3V0IDw8IHdvcmRzWzJdOwotICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY3JlZW5OciA8PCBzbisrOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNjcmVlbkxheW91dCA8PCB3b3Jkc1sxXTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAod29yZHNbMF0gPT0gUUxhdGluMVN0cmluZygiTW9uaXRvciIpICYmIHdvcmRzLnNp
emUoKSA+IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKFNlY3Rpb24gPT0gUUxhdGluMVN0
cmluZygiXCJTY3JlZW5cIiIpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBTY3JlZW5Nb25p
dG9yIDw8IHdvcmRzWzFdOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIGlmICh3b3Jkc1swXSA9PSBRTGF0aW4xU3RyaW5nKCJHYW1tYSIpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChTZWN0aW9uID09IFFMYXRpbjFTdHJpbmcoIlwiTW9uaXRvclwiIikp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIEdhbW1hIDw8IHM7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBnbSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gLy8gRW5kIHdoaWxlCi0gICAgICAgIGYuY2xv
c2UoKTsKLSAgICAgICAgaWYgKCFNb25pdG9yLmlzRW1wdHkoKSAmJiAhU2NyZWVuTW9uaXRvci5p
c0VtcHR5KCkgJiYgIVNjcmVlbkxheW91dC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgU2NyZWVuQ291bnQ7IGkrKykgewotICAgICAgICAgICAgICAgIGZvciAo
aW50IGogPSAwOyBqIDwgU2NyZWVuQ291bnQ7IGorKykgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoU2NyZWVuTGF5b3V0W2ldID09IFNjcmVlbltqXSkgewotICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yIChpbnQgayA9IDA7IGsgPCBTY3JlZW5Db3VudDsgaysrKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKE1vbml0b3Jba10gPT0gU2NyZWVuTW9uaXRvcltqXSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25bU2NyZWVuTnJbaV1dID0gazsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAvLyBFeHRyYWN0IGdhbW1hIHZhbHVlcwotICAgICAgICAgICAgaWYgKGdtKSB7
Ci0gICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTY3JlZW5Db3VudDsgaSsrKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHJnYW1tYVtpXSA9IGdnYW1tYVtpXSA9IGJnYW1tYVtpXSA9
IFFTdHJpbmcoKTsKLQotICAgICAgICAgICAgICAgICAgICBRU3RyaW5nTGlzdCB3b3JkcyA9IEdh
bW1hW2Fzc2lnbltpXV0uc3BsaXQoUUxhdGluMUNoYXIoJyAnKSk7Ci0gICAgICAgICAgICAgICAg
ICAgIFFTdHJpbmdMaXN0OjpDb25zdEl0ZXJhdG9yIGl0ID0gd29yZHMuY29uc3RCZWdpbigpOwot
ICAgICAgICAgICAgICAgICAgICBpZiAod29yZHMuc2l6ZSgpIDwgNCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgcmdhbW1hW2ldID0gZ2dhbW1hW2ldID0gYmdhbW1hW2ldID0gKigrK2l0KTsg
Ly8gc2luZ2xlIGdhbW1hIHZhbHVlCi0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICByZ2FtbWFbaV0gPSAqKCsraXQpOyAvLyBldmVudHVhbGx5IHJn
YiBnYW1tYSB2YWx1ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgIGdnYW1tYVtpXSA9ICooKytp
dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBiZ2FtbWFbaV0gPSAqKCsraXQpOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgfQotICAgIHJldHVybiAodmFsaWRhdGVHYW1tYVZhbHVlcygpKTsKLX0KLQotYm9v
bCBLR2FtbWE6OnZhbGlkYXRlR2FtbWFWYWx1ZXMoKQotewotICAgIGJvb2wgck9rLCBnT2ssIGJP
aywgcmVzdWx0OwotCi0gICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8
IFNjcmVlbkNvdW50OyBpKyspIHsKLSAgICAgICAgcmdhbW1hW2ldLnRvRmxvYXQoJnJPayk7Ci0g
ICAgICAgIGdnYW1tYVtpXS50b0Zsb2F0KCZnT2spOwotICAgICAgICBiZ2FtbWFbaV0udG9GbG9h
dCgmYk9rKTsKLQotICAgICAgICBpZiAoIShyT2sgJiYgZ09rICYmIGJPaykpIHsKLSAgICAgICAg
ICAgIGlmIChyT2spIHsKLSAgICAgICAgICAgICAgICBnZ2FtbWFbaV0gPSBiZ2FtbWFbaV0gPSBy
Z2FtbWFbaV07Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHJlc3VsdCA9
IGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiAocmVz
dWx0KTsKLX0KLQotdm9pZCBLR2FtbWE6OmNoYW5nZUNvbmZpZygpCi17Ci0gICAgYm9vbCBPayA9
IGZhbHNlOwotCi0gICAgaWYgKHhmODZjZmdib3gtPmlzQ2hlY2tlZCgpKSB7Ci0gICAgICAgIE9r
ID0gbG9hZFN5c3RlbVNldHRpbmdzKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgT2sgPSBsb2Fk
VXNlclNldHRpbmdzKCk7Ci0gICAgfQotCi0gICAgaWYgKCFPaykgewotICAgICAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IFNjcmVlbkNvdW50OyBpKyspIHsKLSAgICAgICAgICAgIHh2LT5zZXRTY3Jl
ZW4oaSk7Ci0gICAgICAgICAgICByZ2FtbWFbaV0uc2V0TnVtKHh2LT5nZXRHYW1tYShYVmlkRXh0
V3JhcDo6UmVkKSwgJ2YnLCAyKTsKLSAgICAgICAgICAgIGdnYW1tYVtpXS5zZXROdW0oeHYtPmdl
dEdhbW1hKFhWaWRFeHRXcmFwOjpHcmVlbiksICdmJywgMik7Ci0gICAgICAgICAgICBiZ2FtbWFb
aV0uc2V0TnVtKHh2LT5nZXRHYW1tYShYVmlkRXh0V3JhcDo6Qmx1ZSksICdmJywgMik7Ci0gICAg
ICAgIH0KLSAgICAgICAgeHYtPnNldFNjcmVlbihjdXJyZW50U2NyZWVuKTsKLSAgICB9Ci0gICAg
bG9hZCgpOwotfQotCi12b2lkIEtHYW1tYTo6U3luY1NjcmVlbnMoKQotewotICAgIGlmIChzeW5j
Ym94LT5pc0NoZWNrZWQoKSkgewotICAgICAgICBmbG9hdCByZyA9IHh2LT5nZXRHYW1tYShYVmlk
RXh0V3JhcDo6UmVkKTsKLSAgICAgICAgZmxvYXQgZ2cgPSB4di0+Z2V0R2FtbWEoWFZpZEV4dFdy
YXA6OkdyZWVuKTsKLSAgICAgICAgZmxvYXQgYmcgPSB4di0+Z2V0R2FtbWEoWFZpZEV4dFdyYXA6
OkJsdWUpOwotCi0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgU2NyZWVuQ291bnQ7IGkrKykg
ewotICAgICAgICAgICAgaWYgKGkgIT0gY3VycmVudFNjcmVlbikgewotICAgICAgICAgICAgICAg
IHh2LT5zZXRTY3JlZW4oaSk7Ci0gICAgICAgICAgICAgICAgeHYtPnNldEdhbW1hKFhWaWRFeHRX
cmFwOjpSZWQsIHJnKTsKLSAgICAgICAgICAgICAgICB4di0+c2V0R2FtbWEoWFZpZEV4dFdyYXA6
OkdyZWVuLCBnZyk7Ci0gICAgICAgICAgICAgICAgeHYtPnNldEdhbW1hKFhWaWRFeHRXcmFwOjpC
bHVlLCBiZyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgeHYtPnNldFNjcmVl
bihjdXJyZW50U2NyZWVuKTsKLSAgICB9Ci19Ci0KLXZvaWQgS0dhbW1hOjpjaGFuZ2VTY3JlZW4o
aW50IHNuKQotewotICAgIFFTdHJpbmcgcmVkLCBncmVlbiwgYmx1ZTsKLQotICAgIHh2LT5zZXRT
Y3JlZW4oc24pOwotICAgIGN1cnJlbnRTY3JlZW4gPSBzbjsKLQotICAgIHJlZC5zZXROdW0oeHYt
PmdldEdhbW1hKFhWaWRFeHRXcmFwOjpSZWQpLCAnZicsIDIpOwotICAgIGdyZWVuLnNldE51bSh4
di0+Z2V0R2FtbWEoWFZpZEV4dFdyYXA6OkdyZWVuKSwgJ2YnLCAyKTsKLSAgICBibHVlLnNldE51
bSh4di0+Z2V0R2FtbWEoWFZpZEV4dFdyYXA6OkJsdWUpLCAnZicsIDIpOwotCi0gICAgZ2N0cmwt
PnNldENvbnRyb2wocmVkKTsKLSAgICByZ2N0cmwtPnNldENvbnRyb2wocmVkKTsKLSAgICBnZ2N0
cmwtPnNldENvbnRyb2woZ3JlZW4pOwotICAgIGJnY3RybC0+c2V0Q29udHJvbChibHVlKTsKLSAg
ICBpZiAocmVkICE9IGdyZWVuIHx8IHJlZCAhPSBibHVlKSB7Ci0gICAgICAgIGdjdHJsLT5zdXNw
ZW5kKCk7Ci0gICAgfQotfQotCi1pbnQgS0dhbW1hOjpidXR0b25zKCkKLXsKLSAgICByZXR1cm4g
RGVmYXVsdCB8IEFwcGx5IHwgSGVscDsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWV4dGVy
biAiQyIgewotLy8gUmVzdG9yZSB0aGUgdXNlciBnYW1tYSBzZXR0aW5ncwotUV9ERUNMX0VYUE9S
VCB2b2lkIGtjbWluaXQoKQotewotICAgIGJvb2wgb2s7Ci0gICAgWFZpZEV4dFdyYXAgeHYoJm9r
KTsKLQotICAgIGlmIChvaykgewotICAgICAgICB4di5zZXRHYW1tYUxpbWl0cygwLjQsIDMuNSk7
Ci0gICAgICAgIGZsb2F0IHJnYW1tYSwgZ2dhbW1hLCBiZ2FtbWE7Ci0gICAgICAgIEtDb25maWcg
KmNvbmZpZyA9IG5ldyBLQ29uZmlnKFFTdHJpbmdMaXRlcmFsKCJrZ2FtbWFyYyIpKTsKLQotICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IHh2Ll9TY3JlZW5Db3VudCgpOyBpKyspIHsKLSAgICAg
ICAgICAgIHh2LnNldFNjcmVlbihpKTsKLSAgICAgICAgICAgIEtDb25maWdHcm91cCBzY3JlZW5H
cm91cCA9IGNvbmZpZy0+Z3JvdXAoUVN0cmluZ0xpdGVyYWwoIlNjcmVlbiAlMSIpLmFyZyhpKSk7
Ci0KLSAgICAgICAgICAgIGlmICgocmdhbW1hID0gc2NyZWVuR3JvdXAucmVhZEVudHJ5KCJyZ2Ft
bWEiKS50b0Zsb2F0KCkpKSB7Ci0gICAgICAgICAgICAgICAgeHYuc2V0R2FtbWEoWFZpZEV4dFdy
YXA6OlJlZCwgcmdhbW1hKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICgoZ2dhbW1h
ID0gc2NyZWVuR3JvdXAucmVhZEVudHJ5KCJnZ2FtbWEiKS50b0Zsb2F0KCkpKSB7Ci0gICAgICAg
ICAgICAgICAgeHYuc2V0R2FtbWEoWFZpZEV4dFdyYXA6OkdyZWVuLCBnZ2FtbWEpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWYgKChiZ2FtbWEgPSBzY3JlZW5Hcm91cC5yZWFkRW50cnko
ImJnYW1tYSIpLnRvRmxvYXQoKSkpIHsKLSAgICAgICAgICAgICAgICB4di5zZXRHYW1tYShYVmlk
RXh0V3JhcDo6Qmx1ZSwgYmdhbW1hKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAg
ICBkZWxldGUgY29uZmlnOwotICAgIH0KLX0KLX0KLQotI2luY2x1ZGUgImtnYW1tYS5tb2MiCi0K
LSNpbmNsdWRlICJtb2Nfa2dhbW1hLmNwcCIKZGlmZiAtLWdpdCBhL2tjbWtnYW1tYS9rZ2FtbWEu
aCBiL2tjbWtnYW1tYS9rZ2FtbWEuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZh
MTgwZC4uMDAwMDAwMAotLS0gYS9rY21rZ2FtbWEva2dhbW1hLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2NSArMCwwIEBACi0vKgotICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y
LWxhdGVyCi0gKgotICogIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMDEgTWljaGFlbCB2Lk9z
dGhlaW0gPE12T3N0aGVpbUB3ZWIuZGU+Ci0gKi8KLQotI2lmbmRlZiBLR0FNTUFfSF8KLSNkZWZp
bmUgS0dBTU1BX0hfCi0KLSNpbmNsdWRlIDxLQ01vZHVsZT4KLS8vIEFkZGVkIGJ5IHF0M3RvNDoK
LSNpbmNsdWRlIDxRTGlzdD4KLQotY2xhc3MgR2FtbWFDdHJsOwotY2xhc3MgUUNoZWNrQm94Owot
Y2xhc3MgUUNvbWJvQm94OwotY2xhc3MgUVByb2Nlc3M7Ci1jbGFzcyBYVmlkRXh0V3JhcDsKLQot
Y2xhc3MgS0dhbW1hIDogcHVibGljIEtDTW9kdWxlCi17Ci0gICAgUV9PQkpFQ1QKLXB1YmxpYzoK
LSAgICBLR2FtbWEoUU9iamVjdCAqcGFyZW50LCBjb25zdCBLUGx1Z2luTWV0YURhdGEgJmRhdGEp
OwotICAgIH5LR2FtbWEoKSBvdmVycmlkZTsKLQotICAgIHZvaWQgbG9hZCgpIG92ZXJyaWRlOwot
ICAgIHZvaWQgc2F2ZSgpIG92ZXJyaWRlOwotICAgIHZvaWQgZGVmYXVsdHMoKSBvdmVycmlkZTsK
LSAgICBpbnQgYnV0dG9ucygpOwotCi1wcm90ZWN0ZWQ6IC8vIFByb3RlY3RlZCBtZXRob2RzCi0g
ICAgLyoqIFRoZSB1c2VyIGludGVyZmFjZSAqLwotICAgIHZvaWQgc2V0dXBVSSgpOwotICAgIC8q
KiBEZWNpZGVzIGlmIHRvIGxvYWQgc2V0dGluZ3MgZnJvbSB1c2VyIG9yIHN5c3RlbSBjb25maWcg
Ki8KLSAgICBib29sIGxvYWRTZXR0aW5ncygpOwotICAgIC8qKiBMb2FkIHNldHRpbmdzIGZyb20g
a2dhbW1hcmMgKi8KLSAgICBib29sIGxvYWRVc2VyU2V0dGluZ3MoKTsKLSAgICAvKiogTG9hZCBz
ZXR0aW5ncyBmcm9tIFhGODZDb25maWcgKi8KLSAgICBib29sIGxvYWRTeXN0ZW1TZXR0aW5ncygp
OwotICAgIC8qKiBWYWxpZGF0ZSB0aGUgbG9hZGVkIGdhbW1hIHZhbHVlcyAqLwotICAgIGJvb2wg
dmFsaWRhdGVHYW1tYVZhbHVlcygpOwotCi1wcml2YXRlIFFfU0xPVFM6Ci0gICAgLyoqIENhbGxl
ZCBpZiB0aGUgdXNlciBtYXJrZWQgb3IgdW5tYXJrZWQgdGhlIFhGODZDb25maWcgY2hlY2tib3gg
Ki8KLSAgICB2b2lkIGNoYW5nZUNvbmZpZygpOwotICAgIC8qKiBDYWxsZWQgaWYgdGhlIHVzZXIg
bWFya2VkIG9yIHVubWFya2VkIHRoZSBzeW5jIHNjcmVlbiBjaGVja2JveCAqLwotICAgIHZvaWQg
U3luY1NjcmVlbnMoKTsKLSAgICAvKiogQ2FsbGVkIGlmIHRoZSB1c2VyIGNob29zZXMgYSBuZXcg
c2NyZWVuICovCi0gICAgdm9pZCBjaGFuZ2VTY3JlZW4oaW50IHNuKTsKLQotcHJpdmF0ZToKLSAg
ICBib29sIHNhdmVkLCBHYW1tYUNvcnJlY3Rpb247Ci0gICAgaW50IFNjcmVlbkNvdW50LCBjdXJy
ZW50U2NyZWVuOwotICAgIFFTdHJpbmdMaXN0IHJnYW1tYSwgZ2dhbW1hLCBiZ2FtbWE7Ci0gICAg
UUxpc3Q8aW50PiBhc3NpZ247Ci0gICAgUUxpc3Q8ZmxvYXQ+IHJiYWssIGdiYWssIGJiYWs7Ci0g
ICAgR2FtbWFDdHJsICpnY3RybCwgKnJnY3RybCwgKmdnY3RybCwgKmJnY3RybDsKLSAgICBRQ2hl
Y2tCb3ggKnhmODZjZmdib3gsICpzeW5jYm94OwotICAgIFFDb21ib0JveCAqc2NyZWVuc2VsZWN0
OwotICAgIFFQcm9jZXNzICpyb290UHJvY2VzczsKLSAgICBYVmlkRXh0V3JhcCAqeHY7Ci19Owot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL2tjbWtnYW1tYS9waWNzL0NNYWtlTGlzdHMudHh0IGIva2Nt
a2dhbW1hL3BpY3MvQ01ha2VMaXN0cy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDIzZjBhYmIuLjAwMDAwMDAKLS0tIGEva2Nta2dhbW1hL3BpY3MvQ01ha2VMaXN0cy50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1pbnN0YWxsKEZJTEVTCi0gIGJhY2tncm91bmQu
cG5nCi0gIGNteXNjYWxlLnBuZwotICBkYXJrZ3JleS5wbmcKLSAgZ3JleXNjYWxlLnBuZwotICBs
aWdodGdyZXkucG5nCi0gIG1pZGdyZXkucG5nCi0gIHJnYnNjYWxlLnBuZwotICBERVNUSU5BVElP
TiAke0tERV9JTlNUQUxMX0RBVEFESVJ9L2tnYW1tYS9waWNzKQotCmRpZmYgLS1naXQgYS9rY21r
Z2FtbWEvcGljcy9iYWNrZ3JvdW5kLnBuZyBiL2tjbWtnYW1tYS9waWNzL2JhY2tncm91bmQucG5n
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NDgyOGU5Li4wMDAwMDAwCkJpbmFyeSBm
aWxlcyBhL2tjbWtnYW1tYS9waWNzL2JhY2tncm91bmQucG5nIGFuZCAvZGV2L251bGwgZGlmZmVy
CmRpZmYgLS1naXQgYS9rY21rZ2FtbWEvcGljcy9jbXlzY2FsZS5wbmcgYi9rY21rZ2FtbWEvcGlj
cy9jbXlzY2FsZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxNTQ1MjkuLjAw
MDAwMDAKQmluYXJ5IGZpbGVzIGEva2Nta2dhbW1hL3BpY3MvY215c2NhbGUucG5nIGFuZCAvZGV2
L251bGwgZGlmZmVyCmRpZmYgLS1naXQgYS9rY21rZ2FtbWEvcGljcy9kYXJrZ3JleS5wbmcgYi9r
Y21rZ2FtbWEvcGljcy9kYXJrZ3JleS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRkNjIyNzYuLjAwMDAwMDAKQmluYXJ5IGZpbGVzIGEva2Nta2dhbW1hL3BpY3MvZGFya2dyZXku
cG5nIGFuZCAvZGV2L251bGwgZGlmZmVyCmRpZmYgLS1naXQgYS9rY21rZ2FtbWEvcGljcy9ncmV5
c2NhbGUucG5nIGIva2Nta2dhbW1hL3BpY3MvZ3JleXNjYWxlLnBuZwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNWMzZWZhMS4uMDAwMDAwMApCaW5hcnkgZmlsZXMgYS9rY21rZ2FtbWEv
cGljcy9ncmV5c2NhbGUucG5nIGFuZCAvZGV2L251bGwgZGlmZmVyCmRpZmYgLS1naXQgYS9rY21r
Z2FtbWEvcGljcy9saWdodGdyZXkucG5nIGIva2Nta2dhbW1hL3BpY3MvbGlnaHRncmV5LnBuZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGU3MmZhZS4uMDAwMDAwMApCaW5hcnkgZmls
ZXMgYS9rY21rZ2FtbWEvcGljcy9saWdodGdyZXkucG5nIGFuZCAvZGV2L251bGwgZGlmZmVyCmRp
ZmYgLS1naXQgYS9rY21rZ2FtbWEvcGljcy9taWRncmV5LnBuZyBiL2tjbWtnYW1tYS9waWNzL21p
ZGdyZXkucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDZiMTI3Li4wMDAwMDAw
CkJpbmFyeSBmaWxlcyBhL2tjbWtnYW1tYS9waWNzL21pZGdyZXkucG5nIGFuZCAvZGV2L251bGwg
ZGlmZmVyCmRpZmYgLS1naXQgYS9rY21rZ2FtbWEvcGljcy9yZ2JzY2FsZS5wbmcgYi9rY21rZ2Ft
bWEvcGljcy9yZ2JzY2FsZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkMjgz
ODMuLjAwMDAwMDAKQmluYXJ5IGZpbGVzIGEva2Nta2dhbW1hL3BpY3Mvcmdic2NhbGUucG5nIGFu
ZCAvZGV2L251bGwgZGlmZmVyCmRpZmYgLS1naXQgYS9rY21rZ2FtbWEveGY4NmNvbmZpZ3BhdGgu
Y3BwIGIva2Nta2dhbW1hL3hmODZjb25maWdwYXRoLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzc5M2ZjZS4uMDAwMDAwMAotLS0gYS9rY21rZ2FtbWEveGY4NmNvbmZpZ3BhdGgu
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqICBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgotICoKLSAqICBTUERYLUZpbGVDb3B5cmlnaHRU
ZXh0OiAyMDAyIE1pY2hhZWwgdi5Pc3RoZWltIDxvc3RoZWltbUB1c2Vycy5iZXJsaW9zLmRlPgot
ICovCi0KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLQotI2luY2x1
ZGUgPHZlY3Rvcj4KLQotI2luY2x1ZGUgInhmODZjb25maWdwYXRoLmgiCi0KLXVzaW5nIG5hbWVz
cGFjZSBzdGQ7Ci0KLVhGODZDb25maWdQYXRoOjpYRjg2Q29uZmlnUGF0aCgpCi17Ci0gICAgdmVj
dG9yPHN0cmluZz4gc2VhcmNoUGF0aHM7Ci0gICAgc2VhcmNoUGF0aHMucHVzaF9iYWNrKCIvZXRj
L1gxMS9YRjg2Q29uZmlnLTQiKTsKLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi9ldGMvWDEx
L1hGODZDb25maWciKTsKLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi9ldGMvWEY4NkNvbmZp
ZyIpOwotICAgIHNlYXJjaFBhdGhzLnB1c2hfYmFjaygiL3Vzci9YMTFSNi9ldGMvWDExL1hGODZD
b25maWctNCIpOwotICAgIHNlYXJjaFBhdGhzLnB1c2hfYmFjaygiL3Vzci9YMTFSNi9ldGMvWDEx
L1hGODZDb25maWciKTsKLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi91c3IvWDExUjYvbGli
L1gxMS9YRjg2Q29uZmlnLTQiKTsKLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi91c3IvWDEx
UjYvbGliL1gxMS9YRjg2Q29uZmlnIik7Ci0KLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi9l
dGMvWDExL3hvcmcuY29uZi00Iik7Ci0gICAgc2VhcmNoUGF0aHMucHVzaF9iYWNrKCIvZXRjL1gx
MS94b3JnLmNvbmYiKTsKLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi9ldGMveG9yZy5jb25m
Iik7Ci0gICAgc2VhcmNoUGF0aHMucHVzaF9iYWNrKCIvdXNyL1gxMVI2L2V0Yy9YMTEveG9yZy5j
b25mLTQiKTsKLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi91c3IvWDExUjYvZXRjL1gxMS94
b3JnLmNvbmYiKTsKLSAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi91c3IvWDExUjYvbGliL1gx
MS94b3JnLmNvbmYtNCIpOwotICAgIHNlYXJjaFBhdGhzLnB1c2hfYmFjaygiL3Vzci9YMTFSNi9s
aWIvWDExL3hvcmcuY29uZiIpOwotCi0gICAgdmVjdG9yPHN0cmluZz46Oml0ZXJhdG9yIGl0ID0g
c2VhcmNoUGF0aHMuYmVnaW4oKTsKLSAgICBmb3IgKDsgaXQgIT0gc2VhcmNoUGF0aHMuZW5kKCk7
ICsraXQpIHsKLSAgICAgICAgaWYgKCFhY2Nlc3MoKFBhdGggPSAqaXQpLmNfc3RyKCksIEZfT0sp
KSB7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLX0KLQotWEY4NkNvbmZp
Z1BhdGg6On5YRjg2Q29uZmlnUGF0aCgpCi17Ci19Ci0KLS8qKiBSZXR1cm5zIHBhdGggKi8KLWNv
bnN0IGNoYXIgKlhGODZDb25maWdQYXRoOjpnZXQoKQotewotICAgIHJldHVybiAoUGF0aC5jX3N0
cigpKTsKLX0KZGlmZiAtLWdpdCBhL2tjbWtnYW1tYS94Zjg2Y29uZmlncGF0aC5oIGIva2Nta2dh
bW1hL3hmODZjb25maWdwYXRoLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlYWQ2
YWEuLjAwMDAwMDAKLS0tIGEva2Nta2dhbW1hL3hmODZjb25maWdwYXRoLmgKKysrIC9kZXYvbnVs
bApAQCAtMSwzMSArMCwwIEBACi0vKgotICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt
Mi4wLW9yLWxhdGVyCi0gKgotICogIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMDIgTWljaGFl
bCB2Lk9zdGhlaW0gPG9zdGhlaW1tQHVzZXJzLmJlcmxpb3MuZGU+Ci0gKi8KLQotI2lmbmRlZiBY
Rjg2Q09ORklHUEFUSF9ICi0jZGVmaW5lIFhGODZDT05GSUdQQVRIX0gKLQotI2luY2x1ZGUgPHN0
cmluZz4KLQotLyoqU2VhcmNoIGZvciBYRjg2Q29uZmlnIG9yIFhGODZDb25maWctNCB3aGljaCBj
YW4gYmUgbG9jYXRlZCBhdCBkaWZmZXJlbnQKLSAgcGxhY2VzLgotICAqQGF1dGhvciBNaWNoYWVs
IHYuT3N0aGVpbQotICAqLwotCi1jbGFzcyBYRjg2Q29uZmlnUGF0aAotewotcHVibGljOgotICAg
IFhGODZDb25maWdQYXRoKCk7Ci0gICAgflhGODZDb25maWdQYXRoKCk7Ci0KLSAgICAvKiogUmV0
dXJucyBQYXRoIHZhcmlhYmxlICovCi0gICAgY29uc3QgY2hhciAqZ2V0KCk7Ci0KLXByaXZhdGU6
IC8vIFByaXZhdGUgYXR0cmlidXRlcwotICAgIC8qKiBDb250YWlucyB0aGUgcGF0aCBvZiBYRjg2
Q29uZmlnIGZpbGUgKi8KLSAgICBzdGQ6OnN0cmluZyBQYXRoOwotfTsKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9rY21rZ2FtbWEveHZpZGV4dHdyYXAuY3BwIGIva2Nta2dhbW1hL3h2aWRleHR3cmFw
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdkZjViYS4uMDAwMDAwMAotLS0g
YS9rY21rZ2FtbWEveHZpZGV4dHdyYXAuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTc3ICswLDAg
QEAKLS8qCi0gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKLSAq
Ci0gKiAgU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogMjAwMiBNaWNoYWVsIHYuT3N0aGVpbSA8TXZP
c3RoZWltQHdlYi5kZT4KLSAqLwotCi0jaW5jbHVkZSA8UURlYnVnPgotCi0jaW5jbHVkZSA8ZnN0
cmVhbT4KLSNpbmNsdWRlIDxpb3N0cmVhbT4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLQotI2luY2x1
ZGUgPHNzdHJlYW0+Ci0jaW5jbHVkZSA8c3RyaW5nPgotI2luY2x1ZGUgPHZlY3Rvcj4KLQotI2lu
Y2x1ZGUgInhmODZjb25maWdwYXRoLmgiCi0KLSNpbmNsdWRlIDxYMTEvWGxpYi5oPgotI2luY2x1
ZGUgPFgxMS9Yb3MuaD4KLSNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy94Zjg2dm1vZGUuaD4KLQot
Ly8gI2luY2x1ZGUgPGZpeHgxMWguaD4KLSNpbmNsdWRlICJ4dmlkZXh0d3JhcC5oIgotCi11c2lu
ZyBuYW1lc3BhY2Ugc3RkOwotCi1YVmlkRXh0V3JhcDo6WFZpZEV4dFdyYXAoYm9vbCAqT0ssIGNv
bnN0IGNoYXIgKmRpc3BsYXluYW1lKQotewotICAgIGlmICgoZHB5ID0gWE9wZW5EaXNwbGF5KGRp
c3BsYXluYW1lKSkpIHsKLSAgICAgICAgc2NyZWVuID0gRGVmYXVsdFNjcmVlbihkcHkpOwotICAg
ICAgICBzZXRHYW1tYUxpbWl0cygwLjEsIDEwLjApOwotICAgICAgICAqT0sgPSB0cnVlOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIHFEZWJ1ZygpIDw8ICJLR2FtbWE6IHVuYWJsZSB0byBvcGVuIGRp
c3BsYXkgIiA8PCBkaXNwbGF5bmFtZTsKLSAgICAgICAgKk9LID0gZmFsc2U7Ci0gICAgfQotfQot
Ci1YVmlkRXh0V3JhcDo6flhWaWRFeHRXcmFwKCkKLXsKLSAgICBpZiAoZHB5KSB7Ci0gICAgICAg
IFhDbG9zZURpc3BsYXkoZHB5KTsKLSAgICB9Ci19Ci0KLWludCBYVmlkRXh0V3JhcDo6X0RlZmF1
bHRTY3JlZW4oKQotewotICAgIHJldHVybiBEZWZhdWx0U2NyZWVuKGRweSk7Ci19Ci0KLS8qKiBX
ZSBoYXZlIHRvIHBhcnNlIFhGODZDb25maWcgdG8gZ2V0IHRoZSBudW1iZXIgb2Ygc2NyZWVucywg
YmVjYXVzZSAqLwotLyoqIFNjcmVlbkNvdW50KCkgZnJvbSBYMTEvWGxpYi5oIGRvZXMgbm90IGNv
dW50IGNvcnJlY3RseSB3aXRoIHhpbmVyYW1hICovCi1pbnQgWFZpZEV4dFdyYXA6Ol9TY3JlZW5D
b3VudCgpCi17Ci0gICAgaW50IGNvdW50ID0gMDsKLSAgICBib29sIHNlY3Rpb24gPSBmYWxzZTsK
LSAgICBYRjg2Q29uZmlnUGF0aCBQYXRoOwotCi0gICAgc3RkOjppZnN0cmVhbSBpbihQYXRoLmdl
dCgpKTsKLQotICAgIGlmIChpbi5pc19vcGVuKCkpIHsKLSAgICAgICAgc3RkOjpzdHJpbmcgcywg
YnVmOwotICAgICAgICBzdGQ6OnZlY3RvcjxzdHJpbmc+IHdvcmRzOwotCi0gICAgICAgIHdoaWxl
IChnZXRsaW5lKGluLCBzLCAnXG4nKSkgewotICAgICAgICAgICAgd29yZHMuY2xlYXIoKTsKLSAg
ICAgICAgICAgIGlzdHJpbmdzdHJlYW0gc3Mocy5jX3N0cigpKTsKLSAgICAgICAgICAgIHdoaWxl
IChzcyA+PiBidWYpIHsKLSAgICAgICAgICAgICAgICB3b3Jkcy5wdXNoX2JhY2soYnVmKTsgLy8g
U3BsaXQgInMiIGludG8gd29yZHMKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCF3
b3Jkcy5lbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdvcmRzWzBdID09ICJTZWN0aW9u
IiAmJiB3b3Jkcy5zaXplKCkgPiAxKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3b3Jkc1sx
XSA9PSAiXCJTZXJ2ZXJMYXlvdXRcIiIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rp
b24gPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNl
IGlmICh3b3Jkc1swXSA9PSAiRW5kU2VjdGlvbiIpIHsKLSAgICAgICAgICAgICAgICAgICAgc2Vj
dGlvbiA9IGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoc2Vj
dGlvbiAmJiB3b3Jkc1swXSA9PSAiU2NyZWVuIikgewotICAgICAgICAgICAgICAgICAgICArK2Nv
dW50OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSAvLyBlbmQg
d2hpbGUKLSAgICAgICAgaW4uY2xvc2UoKTsKLSAgICB9Ci0KLSAgICBpZiAoIWNvdW50KSB7Ci0g
ICAgICAgIGNvdW50ID0gMTsgLy8gSWYgZmFpbGVkLGZpbGwgY291bnQgd2l0aCBhIHZhbGlkIHZh
bHVlOwotICAgIH0KLQotICAgIHJldHVybiAoY291bnQpOwotfQotCi1jb25zdCBjaGFyICpYVmlk
RXh0V3JhcDo6RGlzcGxheU5hbWUoKQotewotICAgIHJldHVybiBEaXNwbGF5U3RyaW5nKGRweSk7
Ci19Ci0KLXZvaWQgWFZpZEV4dFdyYXA6OnNldEdhbW1hKGludCBjaGFubmVsLCBmbG9hdCBnYW0s
IGJvb2wgKk9LKQotewotICAgIFhGODZWaWRNb2RlR2FtbWEgZ2FtbWE7Ci0KLSAgICBpZiAoZ2Ft
ID49IG1pbmdhbW1hICYmIGdhbSA8PSBtYXhnYW1tYSkgewotICAgICAgICBpZiAoIVhGODZWaWRN
b2RlR2V0R2FtbWEoZHB5LCBzY3JlZW4sICZnYW1tYSkpIHsKLSAgICAgICAgICAgIHFEZWJ1Zygp
IDw8ICJLR2FtbWE6IFVuYWJsZSB0byBxdWVyeSBnYW1tYSBjb3JyZWN0aW9uIjsKLSAgICAgICAg
ICAgIGlmIChPSykgewotICAgICAgICAgICAgICAgICpPSyA9IGZhbHNlOwotICAgICAgICAgICAg
fQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgc3dpdGNoIChjaGFubmVsKSB7Ci0gICAg
ICAgICAgICBjYXNlIFZhbHVlOgotICAgICAgICAgICAgICAgIGdhbW1hLnJlZCA9IGdhbTsKLSAg
ICAgICAgICAgICAgICBnYW1tYS5ncmVlbiA9IGdhbTsKLSAgICAgICAgICAgICAgICBnYW1tYS5i
bHVlID0gZ2FtOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBSZWQ6
Ci0gICAgICAgICAgICAgICAgZ2FtbWEucmVkID0gZ2FtOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgY2FzZSBHcmVlbjoKLSAgICAgICAgICAgICAgICBnYW1tYS5ncmVlbiA9
IGdhbTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgQmx1ZToKLSAg
ICAgICAgICAgICAgICBnYW1tYS5ibHVlID0gZ2FtOwotICAgICAgICAgICAgfTsKLSAgICAgICAg
ICAgIGlmICghWEY4NlZpZE1vZGVTZXRHYW1tYShkcHksIHNjcmVlbiwgJmdhbW1hKSkgewotICAg
ICAgICAgICAgICAgIHFEZWJ1ZygpIDw8ICJLR2FtbWE6IFVuYWJsZSB0byBzZXQgZ2FtbWEgY29y
cmVjdGlvbiI7Ci0gICAgICAgICAgICAgICAgaWYgKE9LKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICpPSyA9IGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgWEZsdXNoKGRweSk7Ci0gICAgICAgICAgICAgICAgaWYgKE9LKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICpPSyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgfQotfQotCi1mbG9hdCBYVmlkRXh0V3JhcDo6Z2V0R2Ft
bWEoaW50IGNoYW5uZWwsIGJvb2wgKk9LKQotewotICAgIFhGODZWaWRNb2RlR2FtbWEgZ2FtbWE7
Ci0gICAgZmxvYXQgZ2FtID0gMDsKLQotICAgIGlmICghWEY4NlZpZE1vZGVHZXRHYW1tYShkcHks
IHNjcmVlbiwgJmdhbW1hKSkgewotICAgICAgICBxRGVidWcoKSA8PCAiS0dhbW1hOiBVbmFibGUg
dG8gcXVlcnkgZ2FtbWEgY29ycmVjdGlvbiI7Ci0gICAgICAgIGlmIChPSykgewotICAgICAgICAg
ICAgKk9LID0gZmFsc2U7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBzd2l0Y2gg
KGNoYW5uZWwpIHsKLSAgICAgICAgY2FzZSBWYWx1ZToKLSAgICAgICAgICAgIGdhbSA9IGdhbW1h
LnJlZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJlZDoKLSAgICAgICAgICAg
IGdhbSA9IGdhbW1hLnJlZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEdyZWVu
OgotICAgICAgICAgICAgZ2FtID0gZ2FtbWEuZ3JlZW47Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBCbHVlOgotICAgICAgICAgICAgZ2FtID0gZ2FtbWEuYmx1ZTsKLSAgICAgICAg
fTsKLSAgICAgICAgaWYgKE9LKSB7Ci0gICAgICAgICAgICAqT0sgPSB0cnVlOwotICAgICAgICB9
Ci0gICAgfQotICAgIHJldHVybiAoZ2FtKTsKLX0KLQotdm9pZCBYVmlkRXh0V3JhcDo6c2V0R2Ft
bWFMaW1pdHMoZmxvYXQgbWluLCBmbG9hdCBtYXgpCi17Ci0gICAgbWluZ2FtbWEgPSAobWluIDwg
MC4xKSA/IDAuMSA6IG1pbjsKLSAgICBtYXhnYW1tYSA9IChtYXggPiAxMC4wKSA/IDEwLjAgOiBt
YXg7Ci19CmRpZmYgLS1naXQgYS9rY21rZ2FtbWEveHZpZGV4dHdyYXAuaCBiL2tjbWtnYW1tYS94
dmlkZXh0d3JhcC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZmRmNjhhLi4wMDAw
MDAwCi0tLSBhL2tjbWtnYW1tYS94dmlkZXh0d3JhcC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIg
KzAsMCBAQAotLyoKLSAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl
cgotICoKLSAqICBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDAyIE1pY2hhZWwgdi5Pc3RoZWlt
IDxNdk9zdGhlaW1Ad2ViLmRlPgotICovCi0KLSNpZm5kZWYgWFZJREVYVFdSQVBfSAotI2RlZmlu
ZSBYVklERVhUV1JBUF9ICi0KLSNpbmNsdWRlIDxYMTEvWHV0aWwuaD4KLQotLyoqQSB3cmFwcGVy
IGZvciBYRjg2VmlkTW9kZSBFeHRlbnNpb24KLSAqQGF1dGhvciBNaWNoYWVsIHYuT3N0aGVpbQot
ICovCi0KLWNsYXNzIFhWaWRFeHRXcmFwCi17Ci1wdWJsaWM6Ci0gICAgZW51bSBHYW1tYUNoYW5u
ZWwgeyBWYWx1ZSA9IDAsIFJlZCA9IDEsIEdyZWVuID0gMiwgQmx1ZSA9IDMgfTsKLSAgICBleHBs
aWNpdCBYVmlkRXh0V3JhcChib29sICpPSywgY29uc3QgY2hhciAqZGlzcGxheW5hbWUgPSBudWxs
cHRyKTsKLSAgICB+WFZpZEV4dFdyYXAoKTsKLQotICAgIC8qKiBSZXR1cm5zIHRoZSBkZWZhdWx0
IHNjcmVlbiAqLwotICAgIGludCBfRGVmYXVsdFNjcmVlbigpOwotICAgIC8qKiBSZXR1cm5zIHRo
ZSBudW1iZXIgb2Ygc2NyZWVucyAoZXh0cmFjdGVkIGZyb20gWEY4NkNvbmZpZykgKi8KLSAgICBp
bnQgX1NjcmVlbkNvdW50KCk7Ci0gICAgLyoqIFJldHVybnMgdGhlIGRpc3BsYXluYW1lICovCi0g
ICAgY29uc3QgY2hhciAqRGlzcGxheU5hbWUoKTsKLSAgICAvKiogU2V0cyB0aGUgc2NyZWVuIGFj
dGlvbnMgYXJlIHRha2UgZWZmZWN0ICovCi0gICAgdm9pZCBzZXRTY3JlZW4oaW50IHNjcm4pCi0g
ICAgewotICAgICAgICBzY3JlZW4gPSBzY3JuOwotICAgIH0KLSAgICAvKiogUmV0dXJucyB0aGUg
Y3VycmVudCBzY3JlZW4gKi8KLSAgICBpbnQgZ2V0U2NyZWVuKCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBzY3JlZW47Ci0gICAgfQotICAgIC8qKiBTZXRzIHRoZSBnYW1tYSB2YWx1ZSBvbiB0aGUg
Y3VycmVudCBzY3JlZW4gKi8KLSAgICB2b2lkIHNldEdhbW1hKGludCBjaGFubmVsLCBmbG9hdCBn
YW0sIGJvb2wgKk9LID0gbnVsbHB0cik7Ci0gICAgLyoqIEdldHMgdGhlIGdhbW1hIHZhbHVlIG9m
IHRoZSBjdXJyZW50IHNjcmVlbiAqLwotICAgIGZsb2F0IGdldEdhbW1hKGludCBjaGFubmVsLCBi
b29sICpPSyA9IG51bGxwdHIpOwotICAgIC8qKiBMaW1pdHMgdGhlIHBvc3NpYmxlIGdhbW1hIHZh
bHVlcyAoZGVmYXVsdCAwLjEtMTAuMCkgKi8KLSAgICB2b2lkIHNldEdhbW1hTGltaXRzKGZsb2F0
IG1pbiwgZmxvYXQgbWF4KTsKLQotcHJpdmF0ZToKLSAgICBmbG9hdCBtaW5nYW1tYSwgbWF4Z2Ft
bWE7Ci0gICAgaW50IHNjcmVlbjsKLSAgICBEaXNwbGF5ICpkcHk7Ci19OwotCi0jZW5kaWYKZGlm
ZiAtLWdpdCBhL3hmODZnYW1tYWNmZy9DTWFrZUxpc3RzLnR4dCBiL3hmODZnYW1tYWNmZy9DTWFr
ZUxpc3RzLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTFkMWY3NC4uMDAwMDAw
MAotLS0gYS94Zjg2Z2FtbWFjZmcvQ01ha2VMaXN0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2
ICswLDAgQEAKLXNldCh4Zjg2Z2FtbWFjZmdfU1JDUyB4Zjg2Z2FtbWFjZmcuY3BwKQotCi1hZGRf
ZXhlY3V0YWJsZSh4Zjg2Z2FtbWFjZmcgJHt4Zjg2Z2FtbWFjZmdfU1JDU30pCi0KLWluc3RhbGwo
VEFSR0VUUyB4Zjg2Z2FtbWFjZmcgJHtLREVfSU5TVEFMTF9UQVJHRVRTX0RFRkFVTFRfQVJHU30p
Ci0KZGlmZiAtLWdpdCBhL3hmODZnYW1tYWNmZy94Zjg2Z2FtbWFjZmcuY3BwIGIveGY4NmdhbW1h
Y2ZnL3hmODZnYW1tYWNmZy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2ZmUx
ZTMuLjAwMDAwMDAKLS0tIGEveGY4NmdhbW1hY2ZnL3hmODZnYW1tYWNmZy5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwxMTkgKzAsMCBAQAotLyoKLSAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog
R1BMLTIuMC1vci1sYXRlcgotICoKLSAqICBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDAyIE1p
Y2hhZWwgdi5Pc3RoZWltIDxNdk9zdGhlaW1Ad2ViLmRlPgotICovCi0KLSNpbmNsdWRlIDxzdGRp
by5oPgotCi0jaW5jbHVkZSA8c3RkbGliLmg+Ci0KLSNpbmNsdWRlIDxmc3RyZWFtPgotI2luY2x1
ZGUgPGlvc3RyZWFtPgotI2luY2x1ZGUgPHNzdHJlYW0+Ci0jaW5jbHVkZSA8c3RyaW5nPgotI2lu
Y2x1ZGUgPHZlY3Rvcj4KLQotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQotaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSkKLXsKLSAgICBib29sIGNweW9ubHksIHNlY21vbiwgc3VjY2VzczsK
LQotICAgIGNweW9ubHkgPSBzZWNtb24gPSBzdWNjZXNzID0gZmFsc2U7Ci0KLSAgICBpZiAoISgo
YXJnYyAtIDEpICUgMykpIHsKLSAgICAgICAgaW50IFNjcmVlbiA9IDA7Ci0gICAgICAgIGludCBT
Y3JlZW5Db3VudCA9IChhcmdjIC0gMSkgLyAzOwotCi0gICAgICAgIHZlY3RvcjxzdHJpbmc+IHNl
YXJjaFBhdGhzOwotCi0gICAgICAgIC8vIFhvcmcuY29uZiBmaWxlICh0aGUgZGVmYXVsdCBjb25m
aWcgZmlsZSBub3cpCi0gICAgICAgIHNlYXJjaFBhdGhzLnB1c2hfYmFjaygiL2V0Yy9YMTEveG9y
Zy5jb25mLTQiKTsKLSAgICAgICAgc2VhcmNoUGF0aHMucHVzaF9iYWNrKCIvZXRjL1gxMS94b3Jn
LmNvbmYiKTsKLSAgICAgICAgc2VhcmNoUGF0aHMucHVzaF9iYWNrKCIvZXRjL3hvcmcuY29uZiIp
OwotICAgICAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi91c3IvWDExUjYvZXRjL1gxMS94b3Jn
LmNvbmYtNCIpOwotICAgICAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2soIi91c3IvWDExUjYvZXRj
L1gxMS94b3JnLmNvbmYiKTsKLSAgICAgICAgc2VhcmNoUGF0aHMucHVzaF9iYWNrKCIvdXNyL1gx
MVI2L2xpYi9YMTEveG9yZy5jb25mLTQiKTsKLSAgICAgICAgc2VhcmNoUGF0aHMucHVzaF9iYWNr
KCIvdXNyL1gxMVI2L2xpYi9YMTEveG9yZy5jb25mIik7Ci0KLSAgICAgICAgLy8gRGVwcmVjYXRl
ZCBYRjg2Q29uZmlnIGZpbGUgKFhmcmVlODYgdGltZXMpCi0gICAgICAgIHNlYXJjaFBhdGhzLnB1
c2hfYmFjaygiL2V0Yy9YMTEvWEY4NkNvbmZpZy00Iik7Ci0gICAgICAgIHNlYXJjaFBhdGhzLnB1
c2hfYmFjaygiL2V0Yy9YMTEvWEY4NkNvbmZpZyIpOwotICAgICAgICBzZWFyY2hQYXRocy5wdXNo
X2JhY2soIi9ldGMvWEY4NkNvbmZpZyIpOwotICAgICAgICBzZWFyY2hQYXRocy5wdXNoX2JhY2so
Ii91c3IvWDExUjYvZXRjL1gxMS9YRjg2Q29uZmlnLTQiKTsKLSAgICAgICAgc2VhcmNoUGF0aHMu
cHVzaF9iYWNrKCIvdXNyL1gxMVI2L2V0Yy9YMTEvWEY4NkNvbmZpZyIpOwotICAgICAgICBzZWFy
Y2hQYXRocy5wdXNoX2JhY2soIi91c3IvWDExUjYvbGliL1gxMS9YRjg2Q29uZmlnLTQiKTsKLSAg
ICAgICAgc2VhcmNoUGF0aHMucHVzaF9iYWNrKCIvdXNyL1gxMVI2L2xpYi9YMTEvWEY4NkNvbmZp
ZyIpOwotCi0gICAgICAgIHN0ZDo6dmVjdG9yPHN0cmluZz46Oml0ZXJhdG9yIGl0ID0gc2VhcmNo
UGF0aHMuYmVnaW4oKTsKLSAgICAgICAgZm9yICg7IGl0ICE9IHNlYXJjaFBhdGhzLmVuZCgpOyAr
K2l0KSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gb3BlbiBmaWxlCi0gICAgICAgICAgICBzdGQ6
Omlmc3RyZWFtIGluKCgqaXQpLmNfc3RyKCkpOwotCi0gICAgICAgICAgICBpZiAoaW4uaXNfb3Bl
bigpKSB7Ci0gICAgICAgICAgICAgICAgc3RkOjpvZnN0cmVhbSBvdXQoKCgqaXQpICsgIi50bXAi
KS5jX3N0cigpKTsKLSAgICAgICAgICAgICAgICBpZiAob3V0LmlzX29wZW4oKSkgewotICAgICAg
ICAgICAgICAgICAgICBzdGQ6OnN0cmluZyBzLCBidWY7Ci0gICAgICAgICAgICAgICAgICAgIHN0
ZDo6dmVjdG9yPHN0cmluZz4gd29yZHM7Ci0KLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGdl
dGxpbmUoaW4sIHMsICdcbicpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNweW9u
bHkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3Jkcy5jbGVhcigpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXN0cmluZ3N0cmVhbSBzcyhzLmNfc3RyKCkpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChzcyA+PiBidWYpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgd29yZHMucHVzaF9iYWNrKGJ1Zik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF3
b3Jkcy5lbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3b3Jk
c1swXSA9PSAiU2VjdGlvbiIgJiYgd29yZHMuc2l6ZSgpID4gMSkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHdvcmRzWzFdID09ICJcIk1vbml0b3JcIiIpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNtb24gPSB0cnVlOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCA8PCBzIDw8IGVuZGw7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlY21vbikgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdvcmRzWzBdID09ICJHYW1t
YSIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPDwgIiAg
R2FtbWEgICAiIDw8IGFyZ3ZbMyAqIFNjcmVlbiArIDFdIDw8ICIgICIgPDwgYXJndlszICogU2Ny
ZWVuICsgMl0gPDwgIiAgIiA8PCBhcmd2WzMgKiBTY3JlZW4gKyAzXTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPDwgIiAgIyBjcmVhdGVkIGJ5IEtHYW1tYSIg
PDwgZW5kbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHlvbmx5
ID0gc3VjY2VzcyA9ICgrK1NjcmVlbiA9PSBTY3JlZW5Db3VudCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VjbW9uID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
d29yZHNbMF0gPT0gIkVuZFNlY3Rpb24iKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3V0IDw8ICIgIEdhbW1hICAgIiA8PCBhcmd2WzMgKiBTY3JlZW4gKyAxXSA8
PCAiICAiIDw8IGFyZ3ZbMyAqIFNjcmVlbiArIDJdIDw8ICIgICIgPDwgYXJndlszICogU2NyZWVu
ICsgM107Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IDw8ICIg
ICMgY3JlYXRlZCBieSBLR2FtbWEiIDw8IGVuZGw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3V0IDw8IHMgPDwgZW5kbDsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjcHlvbmx5ID0gc3VjY2VzcyA9ICgrK1NjcmVlbiA9PSBTY3JlZW5D
b3VudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjbW9uID0g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBvdXQgPDwgcyA8PCBl
bmRsOwotICAgICAgICAgICAgICAgICAgICB9IC8vIGVuZHdoaWxlCi0KLSAgICAgICAgICAgICAg
ICAgICAgaW4uY2xvc2UoKTsKLSAgICAgICAgICAgICAgICAgICAgb3V0LmNsb3NlKCk7Ci0KLSAg
ICAgICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHJlbmFtZSgoKml0KS5jX3N0cigpLCAoKml0ICsgIi5rZ2FtbWFvcmlnIikuY19zdHIoKSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICByZW5hbWUoKCppdCArICIudG1wIikuY19zdHIoKSwgKCpp
dCkuY19zdHIoKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICByZW1vdmUoKCppdCArICIudG1wIikuY19zdHIoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIGlmICghc3VjY2VzcykgewotICAg
ICAgICBjZXJyIDw8ICJVc2FnZTogeGY4NmdhbW1hY2ZnIFJHQU1NQSBHR0FNTUEgIgotICAgICAg
ICAgICAgICAgICJCR0FNTUEgW1JHQU1NQSBHR0FNTUEgQkdBTU1BIFsuLi5dXSIKLSAgICAgICAg
ICAgICA8PCBlbmRsOwotICAgIH0KLQotICAgIHJldHVybiAhc3VjY2VzczsKLX0K