[yt-svn] commit/yt: 197 new changesets

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Tue Dec 15 16:56:41 PST 2015


MTk3IG5ldyBjb21taXRzIGluIHl0OgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L2NvbW1pdHMvMjBjY2U5ODQwZjFjLwpDaGFuZ2VzZXQ6ICAgMjBjY2U5ODQwZjFjCkJyYW5j
aDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2LTAz
IDE1OjMzOjUyKzAwOjAwClN1bW1hcnk6ICAgICBNZXJnZSBmcm9tIHVwc3RyZWFtIHVuc3RydWN0
dXJlZF9tZXNoCkFmZmVjdGVkICM6ICAxMzQgZmlsZXMKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3
ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAyMGNjZTk4NDBmMWNiOGY2NDM4ZWRmNT0KMWQ2
ZjBlYTcxNGJkNjE4NWMgLmhnaWdub3JlCi0tLSBhLy5oZ2lnbm9yZQorKysgYi8uaGdpZ25vcmUK
QEAgLTEzLDYgKzEzLDcgQEAKIHl0L2Zyb250ZW5kcy9yYW1zZXMvX3JhbXNlc19yZWFkZXIuY3Bw
CiB5dC9nZW9tZXRyeS9mYWtlX29jdHJlZS5jCiB5dC9nZW9tZXRyeS9ncmlkX2NvbnRhaW5lci5j
Cit5dC9nZW9tZXRyeS9ncmlkX3Zpc2l0b3JzLmMKIHl0L2dlb21ldHJ5L29jdF9jb250YWluZXIu
YwogeXQvZ2VvbWV0cnkvb2N0X3Zpc2l0b3JzLmMKIHl0L2dlb21ldHJ5L3BhcnRpY2xlX2RlcG9z
aXQuYwpAQCAtMjUsNiArMjYsNyBAQAogeXQvdXRpbGl0aWVzL3NwYXRpYWwvY2tkdHJlZS5jCiB5
dC91dGlsaXRpZXMvbGliL2FsdF9yYXlfdHJhY2Vycy5jCiB5dC91dGlsaXRpZXMvbGliL2Ftcl9r
ZHRvb2xzLmMKK3l0L3V0aWxpdGllcy9saWIvYml0YXJyYXkuYwogeXQvdXRpbGl0aWVzL2xpYi9D
SUNEZXBvc2l0LmMKIHl0L3V0aWxpdGllcy9saWIvQ29udG91ckZpbmRpbmcuYwogeXQvdXRpbGl0
aWVzL2xpYi9EZXB0aEZpcnN0T2N0cmVlLmMKQEAgLTM5LDYgKzQxLDcgQEAKIHl0L3V0aWxpdGll
cy9saWIvbWlzY191dGlsaXRpZXMuYwogeXQvdXRpbGl0aWVzL2xpYi9PY3RyZWUuYwogeXQvdXRp
bGl0aWVzL2xpYi9vcmlnYW1pLmMKK3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRp
bmVzLmMKIHl0L3V0aWxpdGllcy9saWIvcG5nX3dyaXRlci5jCiB5dC91dGlsaXRpZXMvbGliL1Bv
aW50c0luVm9sdW1lLmMKIHl0L3V0aWxpdGllcy9saWIvUXVhZFRyZWUuYwpAQCAtNTksMyArNjIs
NCBAQAogZG9jL3NvdXJjZS9yZWZlcmVuY2UvYXBpL2dlbmVyYXRlZC8qCiBkb2MvX3RlbXAvKgog
ZG9jL3NvdXJjZS9ib290Y2FtcC8uaXB5bmJfY2hlY2twb2ludHMvCitkaXN0CgpkaWZmIC1yIDk2
MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhm
NjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVjIC5weXRob24tdmVyc2lvbgotLS0gL2Rldi9udWxs
CisrKyBiLy5weXRob24tdmVyc2lvbgpAQCAtMCwwICsxLDEgQEAKKzIuNy45CgpkaWZmIC1yIDk2
MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhm
NjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVjIFJFQURNRQotLS0gYS9SRUFETUUKKysrIGIvUkVB
RE1FCkBAIC0yMCw0ICsyMCw0IEBACiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBpbnN0YWxsYXRp
b24sIHdoYXQgdG8gZG8gaWYgeW91IHJ1biBpbnRvIHByb2JsZW1zLD0KIG9yPTIwCiB3YXlzIHRv
IGhlbHAgZGV2ZWxvcG1lbnQsIHBsZWFzZSB2aXNpdCBvdXIgd2Vic2l0ZS4KPTIwCi1FbmpveSEK
K0Vuam95IQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRpZmYgLXIgOTYyMDhhNTIyNjZj
OGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAyMGNjZTk4NDBmMWNiOGY2NDM4ZWRmNT0K
MWQ2ZjBlYTcxNGJkNjE4NWMgZGlzdHJpYnV0ZV9zZXR1cC5weQotLS0gYS9kaXN0cmlidXRlX3Nl
dHVwLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTQxICswLDAgQEAKLSMhcHl0aG9uCi0iIiJCb290
c3RyYXAgZGlzdHJpYnV0ZSBpbnN0YWxsYXRpb24KLQotSWYgeW91IHdhbnQgdG8gdXNlIHNldHVw
dG9vbHMgaW4geW91ciBwYWNrYWdlJ3Mgc2V0dXAucHksIGp1c3QgaW5jbHVkZSB0aGlzCi1maWxl
IGluIHRoZSBzYW1lIGRpcmVjdG9yeSB3aXRoIGl0LCBhbmQgYWRkIHRoaXMgdG8gdGhlIHRvcCBv
ZiB5b3VyIHNldHVwLj0KcHk6OgotCi0gICAgZnJvbSBkaXN0cmlidXRlX3NldHVwIGltcG9ydCB1
c2Vfc2V0dXB0b29scwotICAgIHVzZV9zZXR1cHRvb2xzKCkKLQotSWYgeW91IHdhbnQgdG8gcmVx
dWlyZSBhIHNwZWNpZmljIHZlcnNpb24gb2Ygc2V0dXB0b29scywgc2V0IGEgZG93bmxvYWQKLW1p
cnJvciwgb3IgdXNlIGFuIGFsdGVybmF0ZSBkb3dubG9hZCBkaXJlY3RvcnksIHlvdSBjYW4gZG8g
c28gYnkgc3VwcGx5aW5nCi10aGUgYXBwcm9wcmlhdGUgb3B0aW9ucyB0byBgYHVzZV9zZXR1cHRv
b2xzKClgYC4KLQotVGhpcyBmaWxlIGNhbiBhbHNvIGJlIHJ1biBhcyBhIHNjcmlwdCB0byBpbnN0
YWxsIG9yIHVwZ3JhZGUgc2V0dXB0b29scy4KLSIiIgotaW1wb3J0IG9zCi1pbXBvcnQgc2h1dGls
Ci1pbXBvcnQgc3lzCi1pbXBvcnQgdGltZQotaW1wb3J0IGZubWF0Y2gKLWltcG9ydCB0ZW1wZmls
ZQotaW1wb3J0IHRhcmZpbGUKLWltcG9ydCBvcHRwYXJzZQotCi1mcm9tIGRpc3R1dGlscyBpbXBv
cnQgbG9nCi0KLXRyeToKLSAgICBmcm9tIHNpdGUgaW1wb3J0IFVTRVJfU0lURQotZXhjZXB0IElt
cG9ydEVycm9yOgotICAgIFVTRVJfU0lURSA9M0QgTm9uZQotCi10cnk6Ci0gICAgaW1wb3J0IHN1
YnByb2Nlc3MKLQotICAgIGRlZiBfcHl0aG9uX2NtZCgqYXJncyk6Ci0gICAgICAgIGFyZ3MgPTNE
IChzeXMuZXhlY3V0YWJsZSwpICsgYXJncwotICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jYWxs
KGFyZ3MpID0zRD0zRCAwCi0KLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAjIHdpbGwgYmUgdXNl
ZCBmb3IgcHl0aG9uIDIuMwotICAgIGRlZiBfcHl0aG9uX2NtZCgqYXJncyk6Ci0gICAgICAgIGFy
Z3MgPTNEIChzeXMuZXhlY3V0YWJsZSwpICsgYXJncwotICAgICAgICAjIHF1b3RpbmcgYXJndW1l
bnRzIGlmIHdpbmRvd3MKLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtID0zRD0zRCAnd2luMzInOgot
ICAgICAgICAgICAgZGVmIHF1b3RlKGFyZyk6Ci0gICAgICAgICAgICAgICAgaWYgJyAnIGluIGFy
ZzoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICciJXMiJyAlIGFyZwotICAgICAgICAgICAg
ICAgIHJldHVybiBhcmcKLSAgICAgICAgICAgIGFyZ3MgPTNEIFtxdW90ZShhcmcpIGZvciBhcmcg
aW4gYXJnc10KLSAgICAgICAgcmV0dXJuIG9zLnNwYXdubChvcy5QX1dBSVQsIHN5cy5leGVjdXRh
YmxlLCAqYXJncykgPTNEPTNEIDAKLQotREVGQVVMVF9WRVJTSU9OID0zRCAiMC42LjMyIgotREVG
QVVMVF9VUkwgPTNEICJodHRwOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9kL2Rp
c3RyaWJ1dGUvIgotU0VUVVBUT09MU19GQUtFRF9WRVJTSU9OID0zRCAiMC42YzExIgotCi1TRVRV
UFRPT0xTX1BLR19JTkZPID0zRCAiIiJcCi1NZXRhZGF0YS1WZXJzaW9uOiAxLjAKLU5hbWU6IHNl
dHVwdG9vbHMKLVZlcnNpb246ICVzCi1TdW1tYXJ5OiB4eHh4Ci1Ib21lLXBhZ2U6IHh4eAotQXV0
aG9yOiB4eHgKLUF1dGhvci1lbWFpbDogeHh4Ci1MaWNlbnNlOiB4eHgKLURlc2NyaXB0aW9uOiB4
eHgKLSIiIiAlIFNFVFVQVE9PTFNfRkFLRURfVkVSU0lPTgotCi0KLWRlZiBfaW5zdGFsbCh0YXJi
YWxsLCBpbnN0YWxsX2FyZ3M9M0QoKSk6Ci0gICAgIyBleHRyYWN0aW5nIHRoZSB0YXJiYWxsCi0g
ICAgdG1wZGlyID0zRCB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICBsb2cud2FybignRXh0cmFjdGlu
ZyBpbiAlcycsIHRtcGRpcikKLSAgICBvbGRfd2QgPTNEIG9zLmdldGN3ZCgpCi0gICAgdHJ5Ogot
ICAgICAgICBvcy5jaGRpcih0bXBkaXIpCi0gICAgICAgIHRhciA9M0QgdGFyZmlsZS5vcGVuKHRh
cmJhbGwpCi0gICAgICAgIF9leHRyYWN0YWxsKHRhcikKLSAgICAgICAgdGFyLmNsb3NlKCkKLQot
ICAgICAgICAjIGdvaW5nIGluIHRoZSBkaXJlY3RvcnkKLSAgICAgICAgc3ViZGlyID0zRCBvcy5w
YXRoLmpvaW4odG1wZGlyLCBvcy5saXN0ZGlyKHRtcGRpcilbMF0pCi0gICAgICAgIG9zLmNoZGly
KHN1YmRpcikKLSAgICAgICAgbG9nLndhcm4oJ05vdyB3b3JraW5nIGluICVzJywgc3ViZGlyKQot
Ci0gICAgICAgICMgaW5zdGFsbGluZwotICAgICAgICBsb2cud2FybignSW5zdGFsbGluZyBEaXN0
cmlidXRlJykKLSAgICAgICAgaWYgbm90IF9weXRob25fY21kKCdzZXR1cC5weScsICdpbnN0YWxs
JywgKmluc3RhbGxfYXJncyk6Ci0gICAgICAgICAgICBsb2cud2FybignU29tZXRoaW5nIHdlbnQg
d3JvbmcgZHVyaW5nIHRoZSBpbnN0YWxsYXRpb24uJykKLSAgICAgICAgICAgIGxvZy53YXJuKCdT
ZWUgdGhlIGVycm9yIG1lc3NhZ2UgYWJvdmUuJykKLSAgICAgICAgICAgICMgZXhpdGNvZGUgd2ls
bCBiZSAyCi0gICAgICAgICAgICByZXR1cm4gMgotICAgIGZpbmFsbHk6Ci0gICAgICAgIG9zLmNo
ZGlyKG9sZF93ZCkKLSAgICAgICAgc2h1dGlsLnJtdHJlZSh0bXBkaXIpCi0KLQotZGVmIF9idWls
ZF9lZ2coZWdnLCB0YXJiYWxsLCB0b19kaXIpOgotICAgICMgZXh0cmFjdGluZyB0aGUgdGFyYmFs
bAotICAgIHRtcGRpciA9M0QgdGVtcGZpbGUubWtkdGVtcCgpCi0gICAgbG9nLndhcm4oJ0V4dHJh
Y3RpbmcgaW4gJXMnLCB0bXBkaXIpCi0gICAgb2xkX3dkID0zRCBvcy5nZXRjd2QoKQotICAgIHRy
eToKLSAgICAgICAgb3MuY2hkaXIodG1wZGlyKQotICAgICAgICB0YXIgPTNEIHRhcmZpbGUub3Bl
bih0YXJiYWxsKQotICAgICAgICBfZXh0cmFjdGFsbCh0YXIpCi0gICAgICAgIHRhci5jbG9zZSgp
Ci0KLSAgICAgICAgIyBnb2luZyBpbiB0aGUgZGlyZWN0b3J5Ci0gICAgICAgIHN1YmRpciA9M0Qg
b3MucGF0aC5qb2luKHRtcGRpciwgb3MubGlzdGRpcih0bXBkaXIpWzBdKQotICAgICAgICBvcy5j
aGRpcihzdWJkaXIpCi0gICAgICAgIGxvZy53YXJuKCdOb3cgd29ya2luZyBpbiAlcycsIHN1YmRp
cikKLQotICAgICAgICAjIGJ1aWxkaW5nIGFuIGVnZwotICAgICAgICBsb2cud2FybignQnVpbGRp
bmcgYSBEaXN0cmlidXRlIGVnZyBpbiAlcycsIHRvX2RpcikKLSAgICAgICAgX3B5dGhvbl9jbWQo
J3NldHVwLnB5JywgJy1xJywgJ2JkaXN0X2VnZycsICctLWRpc3QtZGlyJywgdG9fZGlyKQotCi0g
ICAgZmluYWxseToKLSAgICAgICAgb3MuY2hkaXIob2xkX3dkKQotICAgICAgICBzaHV0aWwucm10
cmVlKHRtcGRpcikKLSAgICAjIHJldHVybmluZyB0aGUgcmVzdWx0Ci0gICAgbG9nLndhcm4oZWdn
KQotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhlZ2cpOgotICAgICAgICByYWlzZSBJT0Vycm9y
KCdDb3VsZCBub3QgYnVpbGQgdGhlIGVnZy4nKQotCi0KLWRlZiBfZG9fZG93bmxvYWQodmVyc2lv
biwgZG93bmxvYWRfYmFzZSwgdG9fZGlyLCBkb3dubG9hZF9kZWxheSk6Ci0gICAgZWdnID0zRCBv
cy5wYXRoLmpvaW4odG9fZGlyLCAnZGlzdHJpYnV0ZS0lcy1weSVkLiVkLmVnZycKLSAgICAgICAg
ICAgICAgICAgICAgICAgJSAodmVyc2lvbiwgc3lzLnZlcnNpb25faW5mb1swXSwgc3lzLnZlcnNp
b25faW5mb1sxPQpdKSkKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZWdnKToKLSAgICAgICAg
dGFyYmFsbCA9M0QgZG93bmxvYWRfc2V0dXB0b29scyh2ZXJzaW9uLCBkb3dubG9hZF9iYXNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b19kaXIsIGRvd25sb2FkX2Rl
bGF5KQotICAgICAgICBfYnVpbGRfZWdnKGVnZywgdGFyYmFsbCwgdG9fZGlyKQotICAgIHN5cy5w
YXRoLmluc2VydCgwLCBlZ2cpCi0gICAgaW1wb3J0IHNldHVwdG9vbHMKLSAgICBzZXR1cHRvb2xz
LmJvb3RzdHJhcF9pbnN0YWxsX2Zyb20gPTNEIGVnZwotCi0KLWRlZiB1c2Vfc2V0dXB0b29scyh2
ZXJzaW9uPTNEREVGQVVMVF9WRVJTSU9OLCBkb3dubG9hZF9iYXNlPTNEREVGQVVMVF9VUkwsCi0g
ICAgICAgICAgICAgICAgICAgdG9fZGlyPTNEb3MuY3VyZGlyLCBkb3dubG9hZF9kZWxheT0zRDE1
LCBub19mYWtlPTNEVHJ1ZT0KKToKLSAgICAjIG1ha2luZyBzdXJlIHdlIHVzZSB0aGUgYWJzb2x1
dGUgcGF0aAotICAgIHRvX2RpciA9M0Qgb3MucGF0aC5hYnNwYXRoKHRvX2RpcikKLSAgICB3YXNf
aW1wb3J0ZWQgPTNEICdwa2dfcmVzb3VyY2VzJyBpbiBzeXMubW9kdWxlcyBvciBcCi0gICAgICAg
ICdzZXR1cHRvb2xzJyBpbiBzeXMubW9kdWxlcwotICAgIHRyeToKLSAgICAgICAgdHJ5OgotICAg
ICAgICAgICAgaW1wb3J0IHBrZ19yZXNvdXJjZXMKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRy
KHBrZ19yZXNvdXJjZXMsICdfZGlzdHJpYnV0ZScpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBu
b19mYWtlOgotICAgICAgICAgICAgICAgICAgICBfZmFrZV9zZXR1cHRvb2xzKCkKLSAgICAgICAg
ICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0g
ICAgICAgICAgICByZXR1cm4gX2RvX2Rvd25sb2FkKHZlcnNpb24sIGRvd25sb2FkX2Jhc2UsIHRv
X2RpciwgZG93bmxvYWRfZD0KZWxheSkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcGtnX3Jl
c291cmNlcy5yZXF1aXJlKCJkaXN0cmlidXRlPj0zRCIgKyB2ZXJzaW9uKQotICAgICAgICAgICAg
cmV0dXJuCi0gICAgICAgIGV4Y2VwdCBwa2dfcmVzb3VyY2VzLlZlcnNpb25Db25mbGljdDoKLSAg
ICAgICAgICAgIGUgPTNEIHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgICAgICBpZiB3YXNfaW1w
b3J0ZWQ6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgKLSAgICAgICAgICAgICAg
ICAiVGhlIHJlcXVpcmVkIHZlcnNpb24gb2YgZGlzdHJpYnV0ZSAoPj0zRCVzKSBpcyBub3QgYXZh
aWxhPQpibGUsXG4iCi0gICAgICAgICAgICAgICAgImFuZCBjYW4ndCBiZSBpbnN0YWxsZWQgd2hp
bGUgdGhpcyBzY3JpcHQgaXMgcnVubmluZy4gUGxlYT0Kc2VcbiIKLSAgICAgICAgICAgICAgICAi
aW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gZmlyc3QsIHVzaW5nXG4iCi0gICAgICAgICAg
ICAgICAgIidlYXN5X2luc3RhbGwgLVUgZGlzdHJpYnV0ZScuIgotICAgICAgICAgICAgICAgICJc
blxuKEN1cnJlbnRseSB1c2luZyAlcilcbiIgJSAodmVyc2lvbiwgZS5hcmdzWzBdKSkKLSAgICAg
ICAgICAgICAgICBzeXMuZXhpdCgyKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ICBkZWwgcGtnX3Jlc291cmNlcywgc3lzLm1vZHVsZXNbJ3BrZ19yZXNvdXJjZXMnXSAgICAjIHJl
bG9hPQpkIG9rCi0gICAgICAgICAgICAgICAgcmV0dXJuIF9kb19kb3dubG9hZCh2ZXJzaW9uLCBk
b3dubG9hZF9iYXNlLCB0b19kaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkb3dubG9hZF9kZWxheSkKLSAgICAgICAgZXhjZXB0IHBrZ19yZXNvdXJjZXMuRGlzdHJpYnV0
aW9uTm90Rm91bmQ6Ci0gICAgICAgICAgICByZXR1cm4gX2RvX2Rvd25sb2FkKHZlcnNpb24sIGRv
d25sb2FkX2Jhc2UsIHRvX2RpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93
bmxvYWRfZGVsYXkpCi0gICAgZmluYWxseToKLSAgICAgICAgaWYgbm90IG5vX2Zha2U6Ci0gICAg
ICAgICAgICBfY3JlYXRlX2Zha2Vfc2V0dXB0b29sc19wa2dfaW5mbyh0b19kaXIpCi0KLQotZGVm
IGRvd25sb2FkX3NldHVwdG9vbHModmVyc2lvbj0zRERFRkFVTFRfVkVSU0lPTiwgZG93bmxvYWRf
YmFzZT0zRERFRkFVTFQ9Cl9VUkwsCi0gICAgICAgICAgICAgICAgICAgICAgICB0b19kaXI9M0Rv
cy5jdXJkaXIsIGRlbGF5PTNEMTUpOgotICAgICIiIkRvd25sb2FkIGRpc3RyaWJ1dGUgZnJvbSBh
IHNwZWNpZmllZCBsb2NhdGlvbiBhbmQgcmV0dXJuIGl0cyBmaWxlbmE9Cm1lCi0KLSAgICBgdmVy
c2lvbmAgc2hvdWxkIGJlIGEgdmFsaWQgZGlzdHJpYnV0ZSB2ZXJzaW9uIG51bWJlciB0aGF0IGlz
IGF2YWlsYWJsZQotICAgIGFzIGFuIGVnZyBmb3IgZG93bmxvYWQgdW5kZXIgdGhlIGBkb3dubG9h
ZF9iYXNlYCBVUkwgKHdoaWNoIHNob3VsZCBlbmQKLSAgICB3aXRoIGEgJy8nKS4gYHRvX2RpcmAg
aXMgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgZWdnIHdpbGwgYmUgZG93bmxvYWRlPQpkLgotICAg
IGBkZWxheWAgaXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHBhdXNlIGJlZm9yZSBhbiBhY3R1
YWwgZG93bmxvYWQKLSAgICBhdHRlbXB0LgotICAgICIiIgotICAgICMgbWFraW5nIHN1cmUgd2Ug
dXNlIHRoZSBhYnNvbHV0ZSBwYXRoCi0gICAgdG9fZGlyID0zRCBvcy5wYXRoLmFic3BhdGgodG9f
ZGlyKQotICAgIHRyeToKLSAgICAgICAgZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJsb3Bl
bgotICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgZnJvbSB1cmxsaWIyIGltcG9ydCB1
cmxvcGVuCi0gICAgdGd6X25hbWUgPTNEICJkaXN0cmlidXRlLSVzLnRhci5neiIgJSB2ZXJzaW9u
Ci0gICAgdXJsID0zRCBkb3dubG9hZF9iYXNlICsgdGd6X25hbWUKLSAgICBzYXZldG8gPTNEIG9z
LnBhdGguam9pbih0b19kaXIsIHRnel9uYW1lKQotICAgIHNyYyA9M0QgZHN0ID0zRCBOb25lCi0g
ICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNhdmV0byk6ICAjIEF2b2lkIHJlcGVhdGVkIGRvd25s
b2FkcwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2cud2FybigiRG93bmxvYWRpbmcgJXMi
LCB1cmwpCi0gICAgICAgICAgICBzcmMgPTNEIHVybG9wZW4odXJsKQotICAgICAgICAgICAgIyBS
ZWFkL3dyaXRlIGFsbCBpbiBvbmUgYmxvY2ssIHNvIHdlIGRvbid0IGNyZWF0ZSBhIGNvcnJ1cHQg
Zmk9CmxlCi0gICAgICAgICAgICAjIGlmIHRoZSBkb3dubG9hZCBpcyBpbnRlcnJ1cHRlZC4KLSAg
ICAgICAgICAgIGRhdGEgPTNEIHNyYy5yZWFkKCkKLSAgICAgICAgICAgIGRzdCA9M0Qgb3Blbihz
YXZldG8sICJ3YiIpCi0gICAgICAgICAgICBkc3Qud3JpdGUoZGF0YSkKLSAgICAgICAgZmluYWxs
eToKLSAgICAgICAgICAgIGlmIHNyYzoKLSAgICAgICAgICAgICAgICBzcmMuY2xvc2UoKQotICAg
ICAgICAgICAgaWYgZHN0OgotICAgICAgICAgICAgICAgIGRzdC5jbG9zZSgpCi0gICAgcmV0dXJu
IG9zLnBhdGgucmVhbHBhdGgoc2F2ZXRvKQotCi0KLWRlZiBfbm9fc2FuZGJveChmdW5jdGlvbik6
Ci0gICAgZGVmIF9fbm9fc2FuZGJveCgqYXJncywgKiprdyk6Ci0gICAgICAgIHRyeToKLSAgICAg
ICAgICAgIGZyb20gc2V0dXB0b29scy5zYW5kYm94IGltcG9ydCBEaXJlY3RvcnlTYW5kYm94Ci0g
ICAgICAgICAgICBpZiBub3QgaGFzYXR0cihEaXJlY3RvcnlTYW5kYm94LCAnX29sZCcpOgotICAg
ICAgICAgICAgICAgIGRlZiB2aW9sYXRpb24oKmFyZ3MpOgotICAgICAgICAgICAgICAgICAgICBw
YXNzCi0gICAgICAgICAgICAgICAgRGlyZWN0b3J5U2FuZGJveC5fb2xkID0zRCBEaXJlY3RvcnlT
YW5kYm94Ll92aW9sYXRpb24KLSAgICAgICAgICAgICAgICBEaXJlY3RvcnlTYW5kYm94Ll92aW9s
YXRpb24gPTNEIHZpb2xhdGlvbgotICAgICAgICAgICAgICAgIHBhdGNoZWQgPTNEIFRydWUKLSAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcGF0Y2hlZCA9M0QgRmFsc2UKLSAgICAg
ICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgcGF0Y2hlZCA9M0QgRmFsc2UKLQot
ICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKmFyZ3MsICoqa3cpCi0g
ICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBpZiBwYXRjaGVkOgotICAgICAgICAgICAgICAg
IERpcmVjdG9yeVNhbmRib3guX3Zpb2xhdGlvbiA9M0QgRGlyZWN0b3J5U2FuZGJveC5fb2xkCi0g
ICAgICAgICAgICAgICAgZGVsIERpcmVjdG9yeVNhbmRib3guX29sZAotCi0gICAgcmV0dXJuIF9f
bm9fc2FuZGJveAotCi0KLWRlZiBfcGF0Y2hfZmlsZShwYXRoLCBjb250ZW50KToKLSAgICAiIiJX
aWxsIGJhY2t1cCB0aGUgZmlsZSB0aGVuIHBhdGNoIGl0IiIiCi0gICAgZXhpc3RpbmdfY29udGVu
dCA9M0Qgb3BlbihwYXRoKS5yZWFkKCkKLSAgICBpZiBleGlzdGluZ19jb250ZW50ID0zRD0zRCBj
b250ZW50OgotICAgICAgICAjIGFscmVhZHkgcGF0Y2hlZAotICAgICAgICBsb2cud2FybignQWxy
ZWFkeSBwYXRjaGVkLicpCi0gICAgICAgIHJldHVybiBGYWxzZQotICAgIGxvZy53YXJuKCdQYXRj
aGluZy4uLicpCi0gICAgX3JlbmFtZV9wYXRoKHBhdGgpCi0gICAgZiA9M0Qgb3BlbihwYXRoLCAn
dycpCi0gICAgdHJ5OgotICAgICAgICBmLndyaXRlKGNvbnRlbnQpCi0gICAgZmluYWxseToKLSAg
ICAgICAgZi5jbG9zZSgpCi0gICAgcmV0dXJuIFRydWUKLQotX3BhdGNoX2ZpbGUgPTNEIF9ub19z
YW5kYm94KF9wYXRjaF9maWxlKQotCi0KLWRlZiBfc2FtZV9jb250ZW50KHBhdGgsIGNvbnRlbnQp
OgotICAgIHJldHVybiBvcGVuKHBhdGgpLnJlYWQoKSA9M0Q9M0QgY29udGVudAotCi0KLWRlZiBf
cmVuYW1lX3BhdGgocGF0aCk6Ci0gICAgbmV3X25hbWUgPTNEIHBhdGggKyAnLk9MRC4lcycgJSB0
aW1lLnRpbWUoKQotICAgIGxvZy53YXJuKCdSZW5hbWluZyAlcyB0byAlcycsIHBhdGgsIG5ld19u
YW1lKQotICAgIG9zLnJlbmFtZShwYXRoLCBuZXdfbmFtZSkKLSAgICByZXR1cm4gbmV3X25hbWUK
LQotCi1kZWYgX3JlbW92ZV9mbGF0X2luc3RhbGxhdGlvbihwbGFjZWhvbGRlcik6Ci0gICAgaWYg
bm90IG9zLnBhdGguaXNkaXIocGxhY2Vob2xkZXIpOgotICAgICAgICBsb2cud2FybignVW5rbm93
biBpbnN0YWxsYXRpb24gYXQgJXMnLCBwbGFjZWhvbGRlcikKLSAgICAgICAgcmV0dXJuIEZhbHNl
Ci0gICAgZm91bmQgPTNEIEZhbHNlCi0gICAgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihwbGFjZWhv
bGRlcik6Ci0gICAgICAgIGlmIGZubWF0Y2guZm5tYXRjaChmaWxlLCAnc2V0dXB0b29scyouZWdn
LWluZm8nKToKLSAgICAgICAgICAgIGZvdW5kID0zRCBUcnVlCi0gICAgICAgICAgICBicmVhawot
ICAgIGlmIG5vdCBmb3VuZDoKLSAgICAgICAgbG9nLndhcm4oJ0NvdWxkIG5vdCBsb2NhdGUgc2V0
dXB0b29scyouZWdnLWluZm8nKQotICAgICAgICByZXR1cm4KLQotICAgIGxvZy53YXJuKCdNb3Zp
bmcgZWxlbWVudHMgb3V0IG9mIHRoZSB3YXkuLi4nKQotICAgIHBrZ19pbmZvID0zRCBvcy5wYXRo
LmpvaW4ocGxhY2Vob2xkZXIsIGZpbGUpCi0gICAgaWYgb3MucGF0aC5pc2Rpcihwa2dfaW5mbyk6
Ci0gICAgICAgIHBhdGNoZWQgPTNEIF9wYXRjaF9lZ2dfZGlyKHBrZ19pbmZvKQotICAgIGVsc2U6
Ci0gICAgICAgIHBhdGNoZWQgPTNEIF9wYXRjaF9maWxlKHBrZ19pbmZvLCBTRVRVUFRPT0xTX1BL
R19JTkZPKQotCi0gICAgaWYgbm90IHBhdGNoZWQ6Ci0gICAgICAgIGxvZy53YXJuKCclcyBhbHJl
YWR5IHBhdGNoZWQuJywgcGtnX2luZm8pCi0gICAgICAgIHJldHVybiBGYWxzZQotICAgICMgbm93
IGxldCdzIG1vdmUgdGhlIGZpbGVzIG91dCBvZiB0aGUgd2F5Ci0gICAgZm9yIGVsZW1lbnQgaW4g
KCdzZXR1cHRvb2xzJywgJ3BrZ19yZXNvdXJjZXMucHknLCAnc2l0ZS5weScpOgotICAgICAgICBl
bGVtZW50ID0zRCBvcy5wYXRoLmpvaW4ocGxhY2Vob2xkZXIsIGVsZW1lbnQpCi0gICAgICAgIGlm
IG9zLnBhdGguZXhpc3RzKGVsZW1lbnQpOgotICAgICAgICAgICAgX3JlbmFtZV9wYXRoKGVsZW1l
bnQpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBsb2cud2FybignQ291bGQgbm90IGZpbmQg
dGhlICVzIGVsZW1lbnQgb2YgdGhlICcKLSAgICAgICAgICAgICAgICAgICAgICdTZXR1cHRvb2xz
IGRpc3RyaWJ1dGlvbicsIGVsZW1lbnQpCi0gICAgcmV0dXJuIFRydWUKLQotX3JlbW92ZV9mbGF0
X2luc3RhbGxhdGlvbiA9M0QgX25vX3NhbmRib3goX3JlbW92ZV9mbGF0X2luc3RhbGxhdGlvbikK
LQotCi1kZWYgX2FmdGVyX2luc3RhbGwoZGlzdCk6Ci0gICAgbG9nLndhcm4oJ0FmdGVyIGluc3Rh
bGwgYm9vdHN0cmFwLicpCi0gICAgcGxhY2Vob2xkZXIgPTNEIGRpc3QuZ2V0X2NvbW1hbmRfb2Jq
KCdpbnN0YWxsJykuaW5zdGFsbF9wdXJlbGliCi0gICAgX2NyZWF0ZV9mYWtlX3NldHVwdG9vbHNf
cGtnX2luZm8ocGxhY2Vob2xkZXIpCi0KLQotZGVmIF9jcmVhdGVfZmFrZV9zZXR1cHRvb2xzX3Br
Z19pbmZvKHBsYWNlaG9sZGVyKToKLSAgICBpZiBub3QgcGxhY2Vob2xkZXIgb3Igbm90IG9zLnBh
dGguZXhpc3RzKHBsYWNlaG9sZGVyKToKLSAgICAgICAgbG9nLndhcm4oJ0NvdWxkIG5vdCBmaW5k
IHRoZSBpbnN0YWxsIGxvY2F0aW9uJykKLSAgICAgICAgcmV0dXJuCi0gICAgcHl2ZXIgPTNEICcl
cy4lcycgJSAoc3lzLnZlcnNpb25faW5mb1swXSwgc3lzLnZlcnNpb25faW5mb1sxXSkKLSAgICBz
ZXR1cHRvb2xzX2ZpbGUgPTNEICdzZXR1cHRvb2xzLSVzLXB5JXMuZWdnLWluZm8nICUgXAotICAg
ICAgICAgICAgKFNFVFVQVE9PTFNfRkFLRURfVkVSU0lPTiwgcHl2ZXIpCi0gICAgcGtnX2luZm8g
PTNEIG9zLnBhdGguam9pbihwbGFjZWhvbGRlciwgc2V0dXB0b29sc19maWxlKQotICAgIGlmIG9z
LnBhdGguZXhpc3RzKHBrZ19pbmZvKToKLSAgICAgICAgbG9nLndhcm4oJyVzIGFscmVhZHkgZXhp
c3RzJywgcGtnX2luZm8pCi0gICAgICAgIHJldHVybgotCi0gICAgbG9nLndhcm4oJ0NyZWF0aW5n
ICVzJywgcGtnX2luZm8pCi0gICAgdHJ5OgotICAgICAgICBmID0zRCBvcGVuKHBrZ19pbmZvLCAn
dycpCi0gICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3I6Ci0gICAgICAgIGxvZy53YXJuKCJEb24n
dCBoYXZlIHBlcm1pc3Npb25zIHRvIHdyaXRlICVzLCBza2lwcGluZyIsIHBrZ19pbmZvKQotICAg
ICAgICByZXR1cm4KLSAgICB0cnk6Ci0gICAgICAgIGYud3JpdGUoU0VUVVBUT09MU19QS0dfSU5G
TykKLSAgICBmaW5hbGx5OgotICAgICAgICBmLmNsb3NlKCkKLQotICAgIHB0aF9maWxlID0zRCBv
cy5wYXRoLmpvaW4ocGxhY2Vob2xkZXIsICdzZXR1cHRvb2xzLnB0aCcpCi0gICAgbG9nLndhcm4o
J0NyZWF0aW5nICVzJywgcHRoX2ZpbGUpCi0gICAgZiA9M0Qgb3BlbihwdGhfZmlsZSwgJ3cnKQot
ICAgIHRyeToKLSAgICAgICAgZi53cml0ZShvcy5wYXRoLmpvaW4ob3MuY3VyZGlyLCBzZXR1cHRv
b2xzX2ZpbGUpKQotICAgIGZpbmFsbHk6Ci0gICAgICAgIGYuY2xvc2UoKQotCi1fY3JlYXRlX2Zh
a2Vfc2V0dXB0b29sc19wa2dfaW5mbyA9M0QgX25vX3NhbmRib3goCi0gICAgX2NyZWF0ZV9mYWtl
X3NldHVwdG9vbHNfcGtnX2luZm8KLSkKLQotCi1kZWYgX3BhdGNoX2VnZ19kaXIocGF0aCk6Ci0g
ICAgIyBsZXQncyBjaGVjayBpZiBpdCdzIGFscmVhZHkgcGF0Y2hlZAotICAgIHBrZ19pbmZvID0z
RCBvcy5wYXRoLmpvaW4ocGF0aCwgJ0VHRy1JTkZPJywgJ1BLRy1JTkZPJykKLSAgICBpZiBvcy5w
YXRoLmV4aXN0cyhwa2dfaW5mbyk6Ci0gICAgICAgIGlmIF9zYW1lX2NvbnRlbnQocGtnX2luZm8s
IFNFVFVQVE9PTFNfUEtHX0lORk8pOgotICAgICAgICAgICAgbG9nLndhcm4oJyVzIGFscmVhZHkg
cGF0Y2hlZC4nLCBwa2dfaW5mbykKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgIF9yZW5h
bWVfcGF0aChwYXRoKQotICAgIG9zLm1rZGlyKHBhdGgpCi0gICAgb3MubWtkaXIob3MucGF0aC5q
b2luKHBhdGgsICdFR0ctSU5GTycpKQotICAgIHBrZ19pbmZvID0zRCBvcy5wYXRoLmpvaW4ocGF0
aCwgJ0VHRy1JTkZPJywgJ1BLRy1JTkZPJykKLSAgICBmID0zRCBvcGVuKHBrZ19pbmZvLCAndycp
Ci0gICAgdHJ5OgotICAgICAgICBmLndyaXRlKFNFVFVQVE9PTFNfUEtHX0lORk8pCi0gICAgZmlu
YWxseToKLSAgICAgICAgZi5jbG9zZSgpCi0gICAgcmV0dXJuIFRydWUKLQotX3BhdGNoX2VnZ19k
aXIgPTNEIF9ub19zYW5kYm94KF9wYXRjaF9lZ2dfZGlyKQotCi0KLWRlZiBfYmVmb3JlX2luc3Rh
bGwoKToKLSAgICBsb2cud2FybignQmVmb3JlIGluc3RhbGwgYm9vdHN0cmFwLicpCi0gICAgX2Zh
a2Vfc2V0dXB0b29scygpCi0KLQotZGVmIF91bmRlcl9wcmVmaXgobG9jYXRpb24pOgotICAgIGlm
ICdpbnN0YWxsJyBub3QgaW4gc3lzLmFyZ3Y6Ci0gICAgICAgIHJldHVybiBUcnVlCi0gICAgYXJn
cyA9M0Qgc3lzLmFyZ3Zbc3lzLmFyZ3YuaW5kZXgoJ2luc3RhbGwnKSArIDE6XQotICAgIGZvciBp
bmRleCwgYXJnIGluIGVudW1lcmF0ZShhcmdzKToKLSAgICAgICAgZm9yIG9wdGlvbiBpbiAoJy0t
cm9vdCcsICctLXByZWZpeCcpOgotICAgICAgICAgICAgaWYgYXJnLnN0YXJ0c3dpdGgoJyVzPTNE
JyAlIG9wdGlvbik6Ci0gICAgICAgICAgICAgICAgdG9wX2RpciA9M0QgYXJnLnNwbGl0KCdyb290
PTNEJylbLTFdCi0gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2F0aW9uLnN0YXJ0c3dpdGgodG9w
X2RpcikKLSAgICAgICAgICAgIGVsaWYgYXJnID0zRD0zRCBvcHRpb246Ci0gICAgICAgICAgICAg
ICAgaWYgbGVuKGFyZ3MpID4gaW5kZXg6Ci0gICAgICAgICAgICAgICAgICAgIHRvcF9kaXIgPTNE
IGFyZ3NbaW5kZXggKyAxXQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYXRpb24uc3Rh
cnRzd2l0aCh0b3BfZGlyKQotICAgICAgICBpZiBhcmcgPTNEPTNEICctLXVzZXInIGFuZCBVU0VS
X1NJVEUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gbG9jYXRpb24uc3RhcnRzd2l0
aChVU0VSX1NJVEUpCi0gICAgcmV0dXJuIFRydWUKLQotCi1kZWYgX2Zha2Vfc2V0dXB0b29scygp
OgotICAgIGxvZy53YXJuKCdTY2FubmluZyBpbnN0YWxsZWQgcGFja2FnZXMnKQotICAgIHRyeToK
LSAgICAgICAgaW1wb3J0IHBrZ19yZXNvdXJjZXMKLSAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0g
ICAgICAgICMgd2UncmUgY29vbAotICAgICAgICBsb2cud2FybignU2V0dXB0b29scyBvciBEaXN0
cmlidXRlIGRvZXMgbm90IHNlZW0gdG8gYmUgaW5zdGFsbGVkLicpCi0gICAgICAgIHJldHVybgot
ICAgIHdzID0zRCBwa2dfcmVzb3VyY2VzLndvcmtpbmdfc2V0Ci0gICAgdHJ5OgotICAgICAgICBz
ZXR1cHRvb2xzX2Rpc3QgPTNEIHdzLmZpbmQoCi0gICAgICAgICAgICBwa2dfcmVzb3VyY2VzLlJl
cXVpcmVtZW50LnBhcnNlKCdzZXR1cHRvb2xzJywgcmVwbGFjZW1lbnQ9M0RGYT0KbHNlKQotICAg
ICAgICAgICAgKQotICAgIGV4Y2VwdCBUeXBlRXJyb3I6Ci0gICAgICAgICMgb2xkIGRpc3RyaWJ1
dGUgQVBJCi0gICAgICAgIHNldHVwdG9vbHNfZGlzdCA9M0Qgd3MuZmluZCgKLSAgICAgICAgICAg
IHBrZ19yZXNvdXJjZXMuUmVxdWlyZW1lbnQucGFyc2UoJ3NldHVwdG9vbHMnKQotICAgICAgICAp
Ci0KLSAgICBpZiBzZXR1cHRvb2xzX2Rpc3QgaXMgTm9uZToKLSAgICAgICAgbG9nLndhcm4oJ05v
IHNldHVwdG9vbHMgZGlzdHJpYnV0aW9uIGZvdW5kJykKLSAgICAgICAgcmV0dXJuCi0gICAgIyBk
ZXRlY3RpbmcgaWYgaXQgd2FzIGFscmVhZHkgZmFrZWQKLSAgICBzZXR1cHRvb2xzX2xvY2F0aW9u
ID0zRCBzZXR1cHRvb2xzX2Rpc3QubG9jYXRpb24KLSAgICBsb2cud2FybignU2V0dXB0b29scyBp
bnN0YWxsYXRpb24gZGV0ZWN0ZWQgYXQgJXMnLCBzZXR1cHRvb2xzX2xvY2F0aW9uKQotCi0gICAg
IyBpZiAtLXJvb3Qgb3IgLS1wcmVpeCB3YXMgcHJvdmlkZWQsIGFuZCBpZgotICAgICMgc2V0dXB0
b29scyBpcyBub3QgbG9jYXRlZCBpbiB0aGVtLCB3ZSBkb24ndCBwYXRjaCBpdAotICAgIGlmIG5v
dCBfdW5kZXJfcHJlZml4KHNldHVwdG9vbHNfbG9jYXRpb24pOgotICAgICAgICBsb2cud2Fybign
Tm90IHBhdGNoaW5nLCAtLXJvb3Qgb3IgLS1wcmVmaXggaXMgaW5zdGFsbGluZyBEaXN0cmlidXQ9
CmUnCi0gICAgICAgICAgICAgICAgICcgaW4gYW5vdGhlciBsb2NhdGlvbicpCi0gICAgICAgIHJl
dHVybgotCi0gICAgIyBsZXQncyBzZWUgaWYgaXRzIGFuIGVnZwotICAgIGlmIG5vdCBzZXR1cHRv
b2xzX2xvY2F0aW9uLmVuZHN3aXRoKCcuZWdnJyk6Ci0gICAgICAgIGxvZy53YXJuKCdOb24tZWdn
IGluc3RhbGxhdGlvbicpCi0gICAgICAgIHJlcyA9M0QgX3JlbW92ZV9mbGF0X2luc3RhbGxhdGlv
bihzZXR1cHRvb2xzX2xvY2F0aW9uKQotICAgICAgICBpZiBub3QgcmVzOgotICAgICAgICAgICAg
cmV0dXJuCi0gICAgZWxzZToKLSAgICAgICAgbG9nLndhcm4oJ0VnZyBpbnN0YWxsYXRpb24nKQot
ICAgICAgICBwa2dfaW5mbyA9M0Qgb3MucGF0aC5qb2luKHNldHVwdG9vbHNfbG9jYXRpb24sICdF
R0ctSU5GTycsICdQS0ctSU49CkZPJykKLSAgICAgICAgaWYgKG9zLnBhdGguZXhpc3RzKHBrZ19p
bmZvKSBhbmQKLSAgICAgICAgICAgIF9zYW1lX2NvbnRlbnQocGtnX2luZm8sIFNFVFVQVE9PTFNf
UEtHX0lORk8pKToKLSAgICAgICAgICAgIGxvZy53YXJuKCdBbHJlYWR5IHBhdGNoZWQuJykKLSAg
ICAgICAgICAgIHJldHVybgotICAgICAgICBsb2cud2FybignUGF0Y2hpbmcuLi4nKQotICAgICAg
ICAjIGxldCdzIGNyZWF0ZSBhIGZha2UgZWdnIHJlcGxhY2luZyBzZXR1cHRvb2xzIG9uZQotICAg
ICAgICByZXMgPTNEIF9wYXRjaF9lZ2dfZGlyKHNldHVwdG9vbHNfbG9jYXRpb24pCi0gICAgICAg
IGlmIG5vdCByZXM6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICBsb2cud2FybignUGF0Y2hpbmcg
Y29tcGxldGUuJykKLSAgICBfcmVsYXVuY2goKQotCi0KLWRlZiBfcmVsYXVuY2goKToKLSAgICBs
b2cud2FybignUmVsYXVuY2hpbmcuLi4nKQotICAgICMgd2UgaGF2ZSB0byByZWxhdW5jaCB0aGUg
cHJvY2VzcwotICAgICMgcGlwIG1hcmtlciB0byBhdm9pZCBhIHJlbGF1bmNoIGJ1ZwotICAgIF9j
bWQxID0zRCBbJy1jJywgJ2luc3RhbGwnLCAnLS1zaW5nbGUtdmVyc2lvbi1leHRlcm5hbGx5LW1h
bmFnZWQnXQotICAgIF9jbWQyID0zRCBbJy1jJywgJ2luc3RhbGwnLCAnLS1yZWNvcmQnXQotICAg
IGlmIHN5cy5hcmd2WzozXSA9M0Q9M0QgX2NtZDEgb3Igc3lzLmFyZ3ZbOjNdID0zRD0zRCBfY21k
MjoKLSAgICAgICAgc3lzLmFyZ3ZbMF0gPTNEICdzZXR1cC5weScKLSAgICBhcmdzID0zRCBbc3lz
LmV4ZWN1dGFibGVdICsgc3lzLmFyZ3YKLSAgICBzeXMuZXhpdChzdWJwcm9jZXNzLmNhbGwoYXJn
cykpCi0KLQotZGVmIF9leHRyYWN0YWxsKHNlbGYsIHBhdGg9M0QiLiIsIG1lbWJlcnM9M0ROb25l
KToKLSAgICAiIiJFeHRyYWN0IGFsbCBtZW1iZXJzIGZyb20gdGhlIGFyY2hpdmUgdG8gdGhlIGN1
cnJlbnQgd29ya2luZwotICAgICAgIGRpcmVjdG9yeSBhbmQgc2V0IG93bmVyLCBtb2RpZmljYXRp
b24gdGltZSBhbmQgcGVybWlzc2lvbnMgb24KLSAgICAgICBkaXJlY3RvcmllcyBhZnRlcndhcmRz
LiBgcGF0aCcgc3BlY2lmaWVzIGEgZGlmZmVyZW50IGRpcmVjdG9yeQotICAgICAgIHRvIGV4dHJh
Y3QgdG8uIGBtZW1iZXJzJyBpcyBvcHRpb25hbCBhbmQgbXVzdCBiZSBhIHN1YnNldCBvZiB0aGUK
LSAgICAgICBsaXN0IHJldHVybmVkIGJ5IGdldG1lbWJlcnMoKS4KLSAgICAiIiIKLSAgICBpbXBv
cnQgY29weQotICAgIGltcG9ydCBvcGVyYXRvcgotICAgIGZyb20gdGFyZmlsZSBpbXBvcnQgRXh0
cmFjdEVycm9yCi0gICAgZGlyZWN0b3JpZXMgPTNEIFtdCi0KLSAgICBpZiBtZW1iZXJzIGlzIE5v
bmU6Ci0gICAgICAgIG1lbWJlcnMgPTNEIHNlbGYKLQotICAgIGZvciB0YXJpbmZvIGluIG1lbWJl
cnM6Ci0gICAgICAgIGlmIHRhcmluZm8uaXNkaXIoKToKLSAgICAgICAgICAgICMgRXh0cmFjdCBk
aXJlY3RvcmllcyB3aXRoIGEgc2FmZSBtb2RlLgotICAgICAgICAgICAgZGlyZWN0b3JpZXMuYXBw
ZW5kKHRhcmluZm8pCi0gICAgICAgICAgICB0YXJpbmZvID0zRCBjb3B5LmNvcHkodGFyaW5mbykK
LSAgICAgICAgICAgIHRhcmluZm8ubW9kZSA9M0QgNDQ4ICAjIGRlY2ltYWwgZm9yIG9jdCAwNzAw
Ci0gICAgICAgIHNlbGYuZXh0cmFjdCh0YXJpbmZvLCBwYXRoKQotCi0gICAgIyBSZXZlcnNlIHNv
cnQgZGlyZWN0b3JpZXMuCi0gICAgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgyLCA0KToKLSAgICAg
ICAgZGVmIHNvcnRlcihkaXIxLCBkaXIyKToKLSAgICAgICAgICAgIHJldHVybiBjbXAoZGlyMS5u
YW1lLCBkaXIyLm5hbWUpCi0gICAgICAgIGRpcmVjdG9yaWVzLnNvcnQoc29ydGVyKQotICAgICAg
ICBkaXJlY3Rvcmllcy5yZXZlcnNlKCkKLSAgICBlbHNlOgotICAgICAgICBkaXJlY3Rvcmllcy5z
b3J0KGtleT0zRG9wZXJhdG9yLmF0dHJnZXR0ZXIoJ25hbWUnKSwgcmV2ZXJzZT0zRFRydWUpCi0K
LSAgICAjIFNldCBjb3JyZWN0IG93bmVyLCBtdGltZSBhbmQgZmlsZW1vZGUgb24gZGlyZWN0b3Jp
ZXMuCi0gICAgZm9yIHRhcmluZm8gaW4gZGlyZWN0b3JpZXM6Ci0gICAgICAgIGRpcnBhdGggPTNE
IG9zLnBhdGguam9pbihwYXRoLCB0YXJpbmZvLm5hbWUpCi0gICAgICAgIHRyeToKLSAgICAgICAg
ICAgIHNlbGYuY2hvd24odGFyaW5mbywgZGlycGF0aCkKLSAgICAgICAgICAgIHNlbGYudXRpbWUo
dGFyaW5mbywgZGlycGF0aCkKLSAgICAgICAgICAgIHNlbGYuY2htb2QodGFyaW5mbywgZGlycGF0
aCkKLSAgICAgICAgZXhjZXB0IEV4dHJhY3RFcnJvcjoKLSAgICAgICAgICAgIGUgPTNEIHN5cy5l
eGNfaW5mbygpWzFdCi0gICAgICAgICAgICBpZiBzZWxmLmVycm9ybGV2ZWwgPiAxOgotICAgICAg
ICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYu
X2RiZygxLCAidGFyZmlsZTogJXMiICUgZSkKLQotCi1kZWYgX2J1aWxkX2luc3RhbGxfYXJncyhv
cHRpb25zKToKLSAgICAiIiIKLSAgICBCdWlsZCB0aGUgYXJndW1lbnRzIHRvICdweXRob24gc2V0
dXAucHkgaW5zdGFsbCcgb24gdGhlIGRpc3RyaWJ1dGUgcGFjPQprYWdlCi0gICAgIiIiCi0gICAg
aW5zdGFsbF9hcmdzID0zRCBbXQotICAgIGlmIG9wdGlvbnMudXNlcl9pbnN0YWxsOgotICAgICAg
ICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDIsIDYpOgotICAgICAgICAgICAgbG9nLndhcm4oIi0t
dXNlciByZXF1aXJlcyBQeXRob24gMi42IG9yIGxhdGVyIikKLSAgICAgICAgICAgIHJhaXNlIFN5
c3RlbUV4aXQoMSkKLSAgICAgICAgaW5zdGFsbF9hcmdzLmFwcGVuZCgnLS11c2VyJykKLSAgICBy
ZXR1cm4gaW5zdGFsbF9hcmdzCi0KLWRlZiBfcGFyc2VfYXJncygpOgotICAgICIiIgotICAgIFBh
cnNlIHRoZSBjb21tYW5kIGxpbmUgZm9yIG9wdGlvbnMKLSAgICAiIiIKLSAgICBwYXJzZXIgPTNE
IG9wdHBhcnNlLk9wdGlvblBhcnNlcigpCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oCi0gICAgICAg
ICctLXVzZXInLCBkZXN0PTNEJ3VzZXJfaW5zdGFsbCcsIGFjdGlvbj0zRCdzdG9yZV90cnVlJywg
ZGVmYXVsdD0zRD0KRmFsc2UsCi0gICAgICAgIGhlbHA9M0QnaW5zdGFsbCBpbiB1c2VyIHNpdGUg
cGFja2FnZSAocmVxdWlyZXMgUHl0aG9uIDIuNiBvciBsYXRlcj0KKScpCi0gICAgcGFyc2VyLmFk
ZF9vcHRpb24oCi0gICAgICAgICctLWRvd25sb2FkLWJhc2UnLCBkZXN0PTNEJ2Rvd25sb2FkX2Jh
c2UnLCBtZXRhdmFyPTNEIlVSTCIsCi0gICAgICAgIGRlZmF1bHQ9M0RERUZBVUxUX1VSTCwKLSAg
ICAgICAgaGVscD0zRCdhbHRlcm5hdGl2ZSBVUkwgZnJvbSB3aGVyZSB0byBkb3dubG9hZCB0aGUg
ZGlzdHJpYnV0ZSBwYWNrPQphZ2UnKQotICAgIG9wdGlvbnMsIGFyZ3MgPTNEIHBhcnNlci5wYXJz
ZV9hcmdzKCkKLSAgICAjIHBvc2l0aW9uYWwgYXJndW1lbnRzIGFyZSBpZ25vcmVkCi0gICAgcmV0
dXJuIG9wdGlvbnMKLQotZGVmIG1haW4odmVyc2lvbj0zRERFRkFVTFRfVkVSU0lPTik6Ci0gICAg
IiIiSW5zdGFsbCBvciB1cGdyYWRlIHNldHVwdG9vbHMgYW5kIEVhc3lJbnN0YWxsIiIiCi0gICAg
b3B0aW9ucyA9M0QgX3BhcnNlX2FyZ3MoKQotICAgIHRhcmJhbGwgPTNEIGRvd25sb2FkX3NldHVw
dG9vbHMoZG93bmxvYWRfYmFzZT0zRG9wdGlvbnMuZG93bmxvYWRfYmFzZSkKLSAgICByZXR1cm4g
X2luc3RhbGwodGFyYmFsbCwgX2J1aWxkX2luc3RhbGxfYXJncyhvcHRpb25zKSkKLQotaWYgX19u
YW1lX18gPTNEPTNEICdfX21haW5fXyc6Ci0gICAgc3lzLmV4aXQobWFpbigpKQoKZGlmZiAtciA5
NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDIwY2NlOTg0MGYxY2I4
ZjY0MzhlZGY1PQoxZDZmMGVhNzE0YmQ2MTg1YyBkb2MvaGVscGVyX3NjcmlwdHMvdXBkYXRlX3Jl
Y2lwZXMucHkKLS0tIGEvZG9jL2hlbHBlcl9zY3JpcHRzL3VwZGF0ZV9yZWNpcGVzLnB5CisrKyBi
L2RvYy9oZWxwZXJfc2NyaXB0cy91cGRhdGVfcmVjaXBlcy5weQpAQCAtOCw3ICs4LDcgQEAKPTIw
CiAuLiBub3RlOjoKICAgIEFsbCBvZiB0aGVzZSBzY3JpcHRzIGFyZSBsb2NhdGVkIGluIHRoZSBt
ZXJjdXJpYWwgcmVwb3NpdG9yeSBhdAotICAgaHR0cDovL2hnLnl0LXByb2plY3Qub3JnL2Nvb2ti
b29rLworICAgaHR0cDovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMvY29va2Jvb2svCj0yMAog
IiIiCiBmb290ZXIgPTNEICIiIiAiIiIKQEAgLTIzLDcgKzIzLDcgQEAKICAgICByZWNpcGVzID0z
RCBjU3RyaW5nSU8uU3RyaW5nSU8oKQogcmVjaXBlcy53cml0ZShoZWFkZXIpCj0yMAotdXJsID0z
RCAiaGVyZTogaHR0cDovL2hnLnl0LXByb2plY3Qub3JnL2Nvb2tib29rL3Jhdy90aXAvJXMgLiIK
K3VybCA9M0QgImhlcmU6IGh0dHA6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL2Nvb2tib29r
L3Jhdy90aXAvJXMgLiIKPTIwCiBkZWYgY29uZF9vdXRwdXQoZiwgdik6CiAgICAgaWYgbm90IHY6
CkBAIC0zMSw3ICszMSw3IEBACiAgICAgcmV0dXJuIFRydWUKPTIwCiByZXBvID0zRCBoZy5yZXBv
c2l0b3J5KHVpaSwgIi4uL2Nvb2tib29rLyIpCi1jb21tYW5kcy5wdWxsKHVpaSwgcmVwbywgImh0
dHA6Ly9oZy55dC1wcm9qZWN0Lm9yZy9jb29rYm9vay8iKQorY29tbWFuZHMucHVsbCh1aWksIHJl
cG8sICJodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy9jb29rYm9vay8iKQogY3R4ID0z
RCByZXBvWyJ0aXAiXQogZm9yIGZpbGUgaW4gY3R4OgogICAgIGlmIG5vdCBmaWxlLnN0YXJ0c3dp
dGgoInJlY2lwZXMvIik6IGNvbnRpbnVlCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIx
OWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3MTRi
ZDYxODVjIGRvYy9pbnN0YWxsX3NjcmlwdC5zaAotLS0gYS9kb2MvaW5zdGFsbF9zY3JpcHQuc2gK
KysrIGIvZG9jL2luc3RhbGxfc2NyaXB0LnNoCkBAIC0xLDE4ICsxLDE0IEBACiAjCiAjIEhpIHRo
ZXJlISAgV2VsY29tZSB0byB0aGUgeXQgaW5zdGFsbGF0aW9uIHNjcmlwdC4KICMKKyMgRmlyc3Qg
dGhpbmdzIGZpcnN0LCBpZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcywgcGxlYXNlIHZpc2l0IHRo
ZSBIZWxwPTIwCisjIHNlY3Rpb24gYXQgaHR0cDovL3l0LXByb2plY3Qub3JnLgorIwogIyBUaGlz
IHNjcmlwdCBpcyBkZXNpZ25lZCB0byBjcmVhdGUgYSBmdWxseSBpc29sYXRlZCBQeXRob24gaW5z
dGFsbGF0aW9uCiAjIHdpdGggdGhlIGRlcGVuZGVuY2llcyB5b3UgbmVlZCB0byBydW4geXQuCiAj
Ci0jIFRoZXJlIGFyZSBhIGZldyBvcHRpb25zLCBidXQgeW91IG9ubHkgbmVlZCB0byBzZXQgKm9u
ZSogb2YgdGhlbS4gIEFuZAotIyB0aGF0J3MgdGhlIG5leHQgb25lLCBERVNUX0RJUi4gIEJ1dCwg
aWYgeW91IHdhbnQgdG8gdXNlIGFuIGV4aXN0aW5nIEhERjUKLSMgaW5zdGFsbGF0aW9uIHlvdSBj
YW4gc2V0IEhERjVfRElSLCBvciBpZiB5b3Ugd2FudCB0byB1c2Ugc29tZSBvdGhlcgotIyBzdWJ2
ZXJzaW9uIGNoZWNrb3V0IG9mIHl0LCB5b3UgY2FuIHNldCBZVF9ESVIsIHRvby4gIChJdCdsbCBh
bHJlYWR5Ci0jIGNoZWNrIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBhbmQgb25lIHVwLgotIwotIyBJ
ZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcywgcGxlYXNlIHZpc2l0IHRoZSBIZWxwIHNlY3Rpb24g
YXQ9MjAKLSMgaHR0cDovL3l0LXByb2plY3Qub3JnLgotIworIyBUaGVyZSBhcmUgYSBmZXcgb3B0
aW9ucywgYnV0IHlvdSBvbmx5IG5lZWQgdG8gc2V0ICpvbmUqIG9mIHRoZW0sIHdoaWNoIGk9CnM9
MjAKKyMgdGhlIG5leHQgb25lLCBERVNUX0RJUjoKPTIwCiBERVNUX1NVRkZJWD0zRCJ5dC1gdW5h
bWUgLW1gIgogREVTVF9ESVI9M0QiYHB3ZGAvJHtERVNUX1NVRkZJWC8gL30iICAgIyBJbnN0YWxs
YXRpb24gbG9jYXRpb24KQEAgLTIzLDE2ICsxOSwyNSBAQAogICAgIERFU1RfRElSPTNEJHtZVF9E
RVNUfQogZmkKPTIwCisjIFdoYXQgZm9sbG93cyBhcmUgc29tZSBvdGhlciBvcHRpb25zIHRoYXQg
eW91IG1heSBvciBtYXkgbm90IG5lZWQgdG8gY2hhbj0KZ2UuCisKICMgSGVyZSdzIHdoZXJlIHlv
dSBwdXQgdGhlIEhERjUgcGF0aCBpZiB5b3UgbGlrZTsgb3RoZXJ3aXNlIGl0J2xsIGRvd25sb2Fk
PQogaXQKICMgYW5kIGluc3RhbGwgaXQgb24gaXRzIG93bgogI0hERjVfRElSPTNECj0yMAorIyBJ
ZiB5b3UndmUgZ290IHl0IHNvbWUgb3RoZXIgcGxhY2UsIHNldCB0aGlzIHRvIHBvaW50IHRvIGl0
LiBUaGUgc2NyaXB0IHc9CmlsbAorIyBhbHJlYWR5IGNoZWNrIHRoZSBjdXJyZW50IGRpcmVjdG9y
eSBhbmQgdGhlIG9uZSBhYm92ZSBpdCBpbiB0aGUgdHJlZS4KK1lUX0RJUj0zRCIiCisKICMgSWYg
eW91IG5lZWQgdG8gc3VwcGx5IGFyZ3VtZW50cyB0byB0aGUgTnVtUHkgb3IgU2NpUHkgYnVpbGQs
IHN1cHBseSB0aGVtPQogaGVyZQogIyBUaGlzIG9uZSB0dXJucyBvbiBnZm9ydHJhbiBtYW51YWxs
eToKICNOVU1QWV9BUkdTPTNEIi0tZmNvbXBpbGVyPTNEZ251OTUiCiAjIElmIHlvdSBhYnNvbHV0
ZWx5IGNhbid0IGdldCB0aGUgZm9ydHJhbiB0byB3b3JrLCB0cnkgdGhpczoKICNOVU1QWV9BUkdT
PTNEIi0tZmNvbXBpbGVyPTNEZmFrZSIKPTIwCitJTlNUX1BZMz0zRDAgICAgICAjIEluc3RhbGwg
UHl0aG9uIDMgYWxvbmcgd2l0aCBQeXRob24gMi4gSWYgdGhpcyBpcyB0dXJuZWQKKyAgICAgICAg
ICAgICAgICAjIG9uLCBhbGwgUHl0aG9uIHBhY2thZ2VzIChpbmNsdWRpbmcgeXQpIHdpbGwgYmUg
aW5zdGFsbGVkCisgICAgICAgICAgICAgICAgIyBpbiBQeXRob24gMyAoZXhjZXB0IE1lcmN1cmlh
bCwgd2hpY2ggcmVxdWlyZXMgUHl0aG9uIDIpLgogSU5TVF9IRz0zRDEgICAgICAgIyBJbnN0YWxs
IE1lcmN1cmlhbCBvciBub3Q/ICBJZiBoZyBpcyBub3QgYWxyZWFkeQogICAgICAgICAgICAgICAg
ICMgaW5zdGFsbGVkLCB5dCBjYW5ub3QgYmUgaW5zdGFsbGVkLgogSU5TVF9aTElCPTNEMSAgICAg
IyBPbiBzb21lIHN5c3RlbXMgKEtyYWtlbikgbWF0cGxvdGxpYiBoYXMgaXNzdWVzIHdpdGgKQEAg
LTUwLDkgKzU1LDYgQEAKIElOU1RfUk9DS1NUQVI9M0QwICMgSW5zdGFsbCB0aGUgUm9ja3N0YXIg
aGFsbyBmaW5kZXI/CiBJTlNUX1NDSVBZPTNEMCAgICAjIEluc3RhbGwgc2NpcHk/Cj0yMAotIyBJ
ZiB5b3UndmUgZ290IHl0IHNvbWUgb3RoZXIgcGxhY2UsIHNldCB0aGlzIHRvIHBvaW50IHRvIGl0
LgotWVRfRElSPTNEIiIKLQogIyBJZiB5b3UgbmVlZCB0byBwYXNzIGFueXRoaW5nIHRvIG1hdHBs
b3RsaWIsIGRvIHNvIGhlcmUuCiBNUExfU1VQUF9MREZMQUdTPTNEIiIKIE1QTF9TVVBQX0NGTEFH
Uz0zRCIiCkBAIC0xMTEsNiArMTEzLDcgQEAKICAgICBlY2hvIElOU1RfU1FMSVRFMz0zRCR7SU5T
VF9TUUxJVEUzfSA+PiAke0NPTkZJR19GSUxFfQogICAgIGVjaG8gSU5TVF9QWVg9M0Qke0lOU1Rf
UFlYfSA+PiAke0NPTkZJR19GSUxFfQogICAgIGVjaG8gSU5TVF8wTVE9M0Qke0lOU1RfME1RfSA+
PiAke0NPTkZJR19GSUxFfQorICAgIGVjaG8gSU5TVF9QWTM9M0Qke0lOU1RfUFkzfSA+PiAke0NP
TkZJR19GSUxFfQogICAgIGVjaG8gSU5TVF9ST0NLU1RBUj0zRCR7SU5TVF9ST0NLU1RBUn0gPj4g
JHtDT05GSUdfRklMRX0KICAgICBlY2hvIElOU1RfU0NJUFk9M0Qke0lOU1RfU0NJUFl9ID4+ICR7
Q09ORklHX0ZJTEV9CiAgICAgZWNobyBZVF9ESVI9M0Qke1lUX0RJUn0gPj4gJHtDT05GSUdfRklM
RX0KQEAgLTQxNSw2ICs0MTgsMTAgQEAKIGdldF93aWxsd29udCAke0lOU1RfU1FMSVRFM30KIGVj
aG8gImJlIGluc3RhbGxpbmcgU1FMaXRlMyIKPTIwCitwcmludGYgIiUtMTVzID0zRCAlcyBzbyBJ
ICIgIklOU1RfUFkzIiAiJHtJTlNUX1BZM30iCitnZXRfd2lsbHdvbnQgJHtJTlNUX1BZM30KK2Vj
aG8gImJlIGluc3RhbGxpbmcgUHl0aG9uIDMiCisKIHByaW50ZiAiJS0xNXMgPTNEICVzIHNvIEkg
IiAiSU5TVF9IRyIgIiR7SU5TVF9IR30iCiBnZXRfd2lsbHdvbnQgJHtJTlNUX0hHfQogZWNobyAi
YmUgaW5zdGFsbGluZyBNZXJjdXJpYWwiCkBAIC00ODcsNiArNDk0LDEzIEBACiAgICAgZXhpdCAx
CiB9Cj0yMAoraWYgWyAkSU5TVF9QWTMgLWVxIDEgXQordGhlbgorCSBQWVRIT05fRVhFQz0zRCdw
eXRob24zLjQnCitlbHNlPTIwCisJIFBZVEhPTl9FWEVDPTNEJ3B5dGhvbjIuNycKK2ZpCisKIGZ1
bmN0aW9uIGRvX3NldHVwX3B5CiB7CiAgICAgWyAtZSAkMS9kb25lIF0gJiYgcmV0dXJuCkBAIC01
MDEsMTkgKzUxNSwyNyBAQAogICAgIFsgISAtZSAkTElCL2V4dHJhY3RlZCBdICYmIHRhciB4Znog
JExJQi50YXIuZ3oKICAgICB0b3VjaCAkTElCL2V4dHJhY3RlZAogICAgIEJVSUxEX0FSR1M9M0Qi
IgorICAgIGlmIFtbICRMSUIgPTNEfiAuKm1lcmN1cmlhbC4qIF1dPTIwCisgICAgdGhlbgorICAg
ICAgICBQWUVYRT0zRCJweXRob24yLjciCisgICAgZWxzZQorICAgICAgICBQWUVYRT0zRCR7UFlU
SE9OX0VYRUN9CisgICAgZmkKICAgICBjYXNlICRMSUIgaW4KICAgICAgICAgKmg1cHkqKQotICAg
ICAgICAgICAgQlVJTERfQVJHUz0zRCItLWhkZjU9M0Qke0hERjVfRElSfSIKKyAgICAgICAgICAg
IHB1c2hkICRMSUIgJj4gL2Rldi9udWxsCisgICAgICAgICAgICAoICR7REVTVF9ESVJ9L2Jpbi8k
e1BZVEhPTl9FWEVDfSBzZXR1cC5weSBjb25maWd1cmUgLS1oZGY1PTNEJD0Ke0hERjVfRElSfSAy
PiYxICkgMT4+ICR7TE9HX0ZJTEV9IHx8IGRvX2V4aXQKKyAgICAgICAgICAgIHBvcGQgJj4gL2Rl
di9udWxsCiAgICAgICAgICAgICA7OwogICAgICAgICAqbnVtcHkqKQotICAgICAgICAgICAgaWYg
WyAtZSAke0RFU1RfRElSfS9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvbnVtcHkvX19pbml0
X189Ci5weSBdCisgICAgICAgICAgICBpZiBbIC1lICR7REVTVF9ESVJ9L2xpYi8ke1BZVEhPTl9F
WEVDfS9zaXRlLXBhY2thZ2VzL251bXB5L19faT0Kbml0X18ucHkgXQogICAgICAgICAgICAgdGhl
bgotICAgICAgICAgICAgICAgIFZFUj0zRCQoJHtERVNUX0RJUn0vYmluL3B5dGhvbiAtYyAnZnJv
bSBkaXN0dXRpbHMudmVyc2lvbiA9CmltcG9ydCBTdHJpY3RWZXJzaW9uIGFzIFNWOyBcCisgICAg
ICAgICAgICAgICAgVkVSPTNEJCgke0RFU1RfRElSfS9iaW4vJHtQWVRIT05fRVhFQ30gLWMgJ2Zy
b20gZGlzdHV0aWxzLj0KdmVyc2lvbiBpbXBvcnQgU3RyaWN0VmVyc2lvbiBhcyBTVjsgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydCBudW1w
eTsgcHJpbnQgU1YobnU9Cm1weS5fX3ZlcnNpb25fXykgPCBTVigiMS44LjAiKScpCiAgICAgICAg
ICAgICAgICAgaWYgWyAkVkVSID0zRD0zRCAiVHJ1ZSIgXQogICAgICAgICAgICAgICAgIHRoZW4K
ICAgICAgICAgICAgICAgICAgICAgZWNobyAiUmVtb3ZpbmcgcHJldmlvdXMgTnVtUHkgaW5zdGFu
Y2UgKHNlZSBpc3N1ZSAjODg5PQopIgotICAgICAgICAgICAgICAgICAgICBybSAtcmYgJHtERVNU
X0RJUn0vbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3tudW1weSo9CiwqLnB0aH0KKyAgICAg
ICAgICAgICAgICAgICAgcm0gLXJmICR7REVTVF9ESVJ9L2xpYi8ke1BZVEhPTl9FWEVDfS9zaXRl
LXBhY2thZ2VzL3tuPQp1bXB5KiwqLnB0aH0KICAgICAgICAgICAgICAgICBmaQogICAgICAgICAg
ICAgZmkKICAgICAgICAgICAgIDs7CkBAIC01MjEsOCArNTQzLDggQEAKICAgICAgICAgICAgIDs7
CiAgICAgZXNhYwogICAgIGNkICRMSUIKLSAgICAoICR7REVTVF9ESVJ9L2Jpbi9weXRob24yLjcg
c2V0dXAucHkgYnVpbGQgJHtCVUlMRF9BUkdTfSAkKiAyPiYxICkgMT4+PQogJHtMT0dfRklMRX0g
fHwgZG9fZXhpdAotICAgICggJHtERVNUX0RJUn0vYmluL3B5dGhvbjIuNyBzZXR1cC5weSBpbnN0
YWxsICAgIDI+JjEgKSAxPj4gJHtMT0dfRklMRX09CiB8fCBkb19leGl0CisgICAgKCAke0RFU1Rf
RElSfS9iaW4vJHtQWUVYRX0gc2V0dXAucHkgYnVpbGQgJHtCVUlMRF9BUkdTfSAkKiAyPiYxICkg
MT4+ID0KJHtMT0dfRklMRX0gfHwgZG9fZXhpdAorICAgICggJHtERVNUX0RJUn0vYmluLyR7UFlF
WEV9IHNldHVwLnB5IGluc3RhbGwgICAgMj4mMSApIDE+PiAke0xPR19GSUxFfSA9Cnx8IGRvX2V4
aXQKICAgICB0b3VjaCBkb25lCiAgICAgY2QgLi4KIH0KQEAgLTU5MCw2MCArNjEyLDY0IEBACiAj
IFNldCBwYXRocyB0byB3aGF0IHRoZXkgc2hvdWxkIGJlIHdoZW4geXQgaXMgYWN0aXZhdGVkLgog
ZXhwb3J0IFBBVEg9M0Qke0RFU1RfRElSfS9iaW46JFBBVEgKIGV4cG9ydCBMRF9MSUJSQVJZX1BB
VEg9M0Qke0RFU1RfRElSfS9saWI6JExEX0xJQlJBUllfUEFUSAotZXhwb3J0IFBZVEhPTlBBVEg9
M0Qke0RFU1RfRElSfS9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMKK2V4cG9ydCBQWVRIT05Q
QVRIPTNEJHtERVNUX0RJUn0vbGliLyR7UFlUSE9OX0VYRUN9L3NpdGUtcGFja2FnZXMKPTIwCiBt
a2RpciAtcCAke0RFU1RfRElSfS9zcmMKIGNkICR7REVTVF9ESVJ9L3NyYwo9MjAKLUNZVEhPTj0z
RCdDeXRob24tMC4yMC4yJworUFlUSE9OMj0zRCdQeXRob24tMi43LjknCitQWVRIT04zPTNEJ1B5
dGhvbi0zLjQuMycKK0NZVEhPTj0zRCdDeXRob24tMC4yMicKIFBZWD0zRCdQeVgtMC4xMi4xJwot
UFlUSE9OPTNEJ1B5dGhvbi0yLjcuOCcKIEJaTElCPTNEJ2J6aXAyLTEuMC42JwotRlJFRVRZUEVf
VkVSPTNEJ2ZyZWV0eXBlLTIuNC4xMicKLUg1UFk9M0QnaDVweS0yLjMuMScKLUhERjU9M0QnaGRm
NS0xLjguMTQnCi1JUFlUSE9OPTNEJ2lweXRob24tMi4yLjAnCitGUkVFVFlQRV9WRVI9M0QnZnJl
ZXR5cGUtMi40LjEyJz0yMAorSDVQWT0zRCdoNXB5LTIuNS4wJworSERGNT0zRCdoZGY1LTEuOC4x
NCc9MjAKK0lQWVRIT049M0QnaXB5dGhvbi0yLjQuMScKIExBUEFDSz0zRCdsYXBhY2stMy40LjIn
CiBQTkc9M0RsaWJwbmctMS42LjMKLU1BVFBMT1RMSUI9M0QnbWF0cGxvdGxpYi0xLjQuMCcKLU1F
UkNVUklBTD0zRCdtZXJjdXJpYWwtMy4xJwotTk9TRT0zRCdub3NlLTEuMy40JwotTlVNUFk9M0Qn
bnVtcHktMS44LjInCi1QWVRIT05fSEdMSUI9M0QncHl0aG9uLWhnbGliLTEuMCcKLVBZWk1RPTNE
J3B5em1xLTE0LjMuMScKK01BVFBMT1RMSUI9M0QnbWF0cGxvdGxpYi0xLjQuMycKK01FUkNVUklB
TD0zRCdtZXJjdXJpYWwtMy40JworTk9TRT0zRCdub3NlLTEuMy42JworTlVNUFk9M0QnbnVtcHkt
MS45LjInCitQWVRIT05fSEdMSUI9M0QncHl0aG9uLWhnbGliLTEuNicKK1BZWk1RPTNEJ3B5em1x
LTE0LjUuMCcKIFJPQ0tTVEFSPTNEJ3JvY2tzdGFyLTAuOTkuNicKLVNDSVBZPTNEJ3NjaXB5LTAu
MTQuMCcKK1NDSVBZPTNEJ3NjaXB5LTAuMTUuMScKIFNRTElURT0zRCdzcWxpdGUtYXV0b2NvbmYt
MzA3MTcwMCcKLVNZTVBZPTNEJ3N5bXB5LTAuNy41JwotVE9STkFETz0zRCd0b3JuYWRvLTQuMC4x
JwotWkVST01RPTNEJ3plcm9tcS00LjAuNCcKK1NZTVBZPTNEJ3N5bXB5LTAuNy42JworVE9STkFE
Tz0zRCd0b3JuYWRvLTQuMC4yJworWkVST01RPTNEJ3plcm9tcS00LjAuNScKIFpMSUI9M0Qnemxp
Yi0xLjIuOCcKK1NFVFVQVE9PTFM9M0Qnc2V0dXB0b29scy0xNi4wJwo9MjAKICMgTm93IHdlIGR1
bXAgYWxsIG91ciBTSEE1MTIgZmlsZXMgb3V0LgotZWNobyAnMTE4ZTNlYmQ3NmY1MGJkYTgxODdi
NzY2NTRlNjVjYWFiMmMyYzQwM2RmOWI4OWRhNTI1YzJjOTYzZGVkYzdiMzhkODk9CjhhZTBiOTJk
NDRiMjc4NzMxZDk2OWE4OTFlYjNmN2I1YmNjMTM4Y2ZlM2UwMzdmMTc1ZDRjODdjMjllYyAgQ3l0
aG9uLTAuMjAuMj0KLnRhci5neicgPiBDeXRob24tMC4yMC4yLnRhci5nei5zaGE1MTIKK2VjaG8g
Jzg1NjIyMGZhNTc5ZTI3MmFjMzhkY2VmMDkxNzYwZjUyNzQzMWZmM2I5OGRmOWFmNmU2ODQxNmZj
Zjc3ZDk2NTlhYzVhPQpiZTVjN2RlZTQxMzMxZjM1OTYxNDYzN2E0ZmY0NTIwMzMwODUzMzVlZTQ5
OTgzMGVkMTI2YWI1ODQyNjcgIEN5dGhvbi0wLjIyLnQ9CmFyLmd6JyA+IEN5dGhvbi0wLjIyLnRh
ci5nei5zaGE1MTIKIGVjaG8gJzQ5NDFmNWFhMjFhZmYzNzQzNTQ2NDk1ZmIwNzNjMTBkMjY1N2Zm
NDJiMmFmZjQwMTkwMzQ5ODYzODA5M2QwZTMxZTM0PQo0Y2NlNzc4OTgwZjI4YTcxNzBjNmQyOWVh
YjcyYWMwNzQyNzdiOWQ0MDg4Mzc2ZTg2OTJkYzcxZTU1YzEgIFB5WC0wLjEyLjEudGE9CnIuZ3on
ID4gUHlYLTAuMTIuMS50YXIuZ3ouc2hhNTEyCi1lY2hvICc0YjA1ZjBhNDkwZGRlZTM3ZThmYzc5
NzA0MDNiYjhiNzJjMzhlNWQxNzM3MDNkYjQwMzEwZTc4MTQwZDlkNWM1NzMyNz0KODlkNjljNjhk
YmQ1NjA1YTYyM2U0NTgyZjViOTY3MWY4MmI4MjM5ZWNkYjM0YWQ0MjYxMDE5ZGFjZTZhICBQeXRo
b24tMi43LjguPQp0Z3onID4gUHl0aG9uLTIuNy44LnRnei5zaGE1MTIKK2VjaG8gJ2E0MmYyOGVk
OGU0OWYwNGNmODllMmVhNzQzNGM1ZWNiYzI2NGU3MTg4ZGNiNzlhYjk3Zjc0NWFkZjY2NGRkOWFi
NTdmPQo5YTkxMzU0MzczMTYzNWY5MDg1OTUzNjI0NGFjMzdkY2E5YWRmMGZjMmFhMWIyMTViYTg4
NDgzOWQxNjAgIFB5dGhvbi0yLjcuOS49CnRneicgPiBQeXRob24tMi43LjkudGd6LnNoYTUxMgor
ZWNobyAnNjA5Y2M4MjU4NmZhYmVjYjI1ZjI1ZWNiNDEwZjI5MzhlMDFkMjFjZGU4NWRkM2Y4ODI0
ZmU1NWM2ZWRkZTllY2YzYjc9CjYwOTE5NTQ3M2QzZmEwNWExNmI5YjEyMTQ2NGY1NDE0ZGIxYTAx
ODcxMDNiNzhlYTZlZGZhNzE2ODRhNyAgUHl0aG9uLTMuNC4zLj0KdGd6JyA+IFB5dGhvbi0zLjQu
My50Z3ouc2hhNTEyCiBlY2hvICcyNzZiZDljMDYxZWM5YTI3ZDQ3OGIzMzA3OGE4NmY5MzE2NGVl
MmRhNzIyMTBlMTJlMmM5ZGE3MWRjZmZlYjY0NzY3ZT0KNDQ2MGI5M2YyNTczMDJiMDkzMjhlZGE4
NjU1ZTkzYzRiOWFlODVlNzQ0NzI4NjlhZmJlYWUzNWNhNzFlICBibGFzLnRhci5neicgPQo+IGJs
YXMudGFyLmd6LnNoYTUxMgogZWNobyAnMDBhY2U1NDM4Y2ZhMGM1NzdlNWY1NzhkOGE4MDg2MTMx
ODdlZmY1MjE3YzM1MTY0ZmZlMDQ0ZmJhZmRmZWM5ZTk4ZjQ9CjE5MmMwMmE3ZDY3ZTAxZTVhNWNj
Y2VkNjMwNTgzYWQxMDAzYzM3Njk3MjE5YjBmMTQ3MzQzYTNmZGQxMiAgYnppcDItMS4wLjYudD0K
YXIuZ3onID4gYnppcDItMS4wLjYudGFyLmd6LnNoYTUxMgogZWNobyAnYTI5NmRmY2FlZjdlODUz
ZTU4ZWVkNGUyNGIzN2M0ZmEyOWNmYzZhYzY4OGRlZjA0ODQ4MGY0YmIzODRiOWUzN2NhNDQ9Cjdm
YWY5NmVlYzdiMzc4ZmQ3NjRiYTI5MTcxM2YwM2FjNDY0NTgxZDYyMjc1ZTI4ZWIyZWM5OTExMGFi
NiAgcmVhc29uLWpzLTIwMT0KMjA2MjMuemlwJyA+IHJlYXNvbi1qcy0yMDEyMDYyMy56aXAuc2hh
NTEyCiBlY2hvICc2MDlhNjhhMzY3NTA4N2UwY2M5NTI2ODU3NGYzMWUxMDQ1NDlkYWE0OGVmZTE1
YTI1YTMzYjhlMjY5YTkzYjRiZDE2MD0KZjRjM2U4MTc4ZGNhOWM5NTBlZjVjYTUxNGIwMzlkNmZk
MWI0NWRiNmFmNTdmMjUzNDI0NjRkMDQyOWNlICBmcmVldHlwZS0yLjQuPQoxMi50YXIuZ3onID4g
ZnJlZXR5cGUtMi40LjEyLnRhci5nei5zaGE1MTIKLWVjaG8gJ2YwZGExZDJhYzg1NWMwMmZiODI4
NDQ0ZDcxOWExYjIzYTU4MGFkYjA0OTMzNWYzZTczMmFjZTY3NTU4YTEyNWFjOGNkPQozYjNhNjhh
YzZiZjlkMTBhYTNhYjE5ZTQ2NzJiODE0ZWIyOGNjOGM2NjkxMDc1MGM2MmVmYjY1NWQ3NDQgIGg1
cHktMi4zLjEudGE9CnIuZ3onID4gaDVweS0yLjMuMS50YXIuZ3ouc2hhNTEyCitlY2hvICc0YTgz
ZjlhZTE4NTVhN2ZhZDkwMTMzYjMyN2Q0MjYyMDFjOGNjZmQyZTdmYmU5ZjM5YjJkNjFhMmVlZTJm
M2ViZTJlYT0KMDJjZjgwZjNkNGUxYWQ2NTlmOGU3OTBjMTczZGY4Y2M5OWI4N2QwYjdjZTYzZDM0
YWE4OGNmZGM3OTM5ICBoNXB5LTIuNS4wLnRhPQpyLmd6JyA+IGg1cHktMi41LjAudGFyLmd6LnNo
YTUxMgogZWNobyAnNDA3M2ZiYTUxMGNjYWRhYmE0MWRiMDkzOWY5MDk2MTNjOWNiNTJiYThmYjZj
MTA2MmZjOTExOGVkYzYwMTM5NGM3NWU9CjEwMjMxMGJlMWFmNDA3N2QwN2M5YjMyN2U2YmJiMWE2
MzU5OTM5YTcyNjhkYzE0MDM4MmQwYzFlMDE5OSAgaGRmNS0xLjguMTQudD0KYXIuZ3onID4gaGRm
NS0xLjguMTQudGFyLmd6LnNoYTUxMgotZWNobyAnNDk1M2JmNWU5ZDZkNWM2YWQ1MzhkMDdkNjJi
NWIxMDBmZDg2YTM3ZjZiODYxMjM4NTAxNTgxYzAwNTliZDQ2NTUzNDU9CmNhMDVjZjM5NWU3OTcw
OWMzOGNlNGNiOWM2MjkzZjVkMTFhYzAyNTJhNjE4YWQ4MjcyYjE2MTE0MGQxMyAgaXB5dGhvbi0y
LjIuMD0KLnRhci5neicgPiBpcHl0aG9uLTIuMi4wLnRhci5nei5zaGE1MTIKK2VjaG8gJ2E5Y2Zm
YzA4YmExMGM0N2IwMzcxYjA1NjY0ZTU1ZWVlMDU2MmEzMGVmMGQ0YmJhZmFlNzllNTJlNWI5NzI3
OTA2YzQ1PQo4NDBjMDkxODEyMmMwNmM1NjcyYWM2NWU2ZWIzODEzOTlmMTAzZTFhODM2YWNhMDAz
ZWRhODFiMmFjZGUgIGlweXRob24tMi40LjE9Ci50YXIuZ3onID4gaXB5dGhvbi0yLjQuMS50YXIu
Z3ouc2hhNTEyCiBlY2hvICc4NzcwMjE0NDkxZTMxZjBhN2EzZWZhYWRlOTBlZWU3YjBlYjIwYThh
NmFiNjM1YzVmODU0ZDc4MjYzZjU5YTE4NDkxMz0KM2MxNGVmNTEyM2QwMTAyM2YwMTEwY2JiOWZj
NmY4MThkYTA1M2MwMTI3NzkxNGFlODE0NzM0MzBhOTUyICBsYXBhY2stMy40LjIuPQp0YXIuZ3on
ID4gbGFwYWNrLTMuNC4yLnRhci5nei5zaGE1MTIKIGVjaG8gJzg4NzU4MmU1YTIyZTRjZGUzMzhh
YThmZWM3YTg5ZjZkZDMxZjJmMDJiODg0MjczNWYwMGY5NzBmNjQ1ODIzMzNmYTAzPQo0MDFjZWE2
ZDAxNzA0MDgzNDAzYzdlOGI3ZWJjMjY2NTU0NjhjZTkzMDE2NTY3M2IzM2VmYTRiY2Q1ODYgIGxp
YnBuZy0xLjYuMy49CnRhci5neicgPiBsaWJwbmctMS42LjMudGFyLmd6LnNoYTUxMgotZWNobyAn
NjBhYTM4NjYzOWRlYzE3YjRmNTc5OTU1ZGY2MGYyYWE3YzhjY2Q1ODliMzQ5MGJiOWFmZWIyOTI5
ZWE0MThkNWQxYTM9CjZhMGIwMmI4ZDRhNjczNDI5MzA3NmU5MDY5NDI5OTU2YzU2Y2Y4YmQwOTli
NzU2MTM2ZjI2NTdjZjlkNCAgbWF0cGxvdGxpYi0xLj0KNC4wLnRhci5neicgPiBtYXRwbG90bGli
LTEuNC4wLnRhci5nei5zaGE1MTIKLWVjaG8gJzFlZTJmZTdhMjQxYmY4MTA4N2U1NWQ5ZTRlZThm
YTk4NmY0MWJiMDY1NWQ0ODI4ZDI0NDMyMmMxOGYzOTU4YTFmMzExPQoxNTA2ZTJkZjE1YWVmY2Y4
NjEwMGI0ZmU1MzBmY2FiMmQ0YzA0MWI1OTQ1NTk5ZWQzYjNhODg5ZDUwZjUgIG1lcmN1cmlhbC0z
LjE9Ci50YXIuZ3onID4gbWVyY3VyaWFsLTMuMS50YXIuZ3ouc2hhNTEyCi1lY2hvICcxOTQ5OWFi
MDgwMTgyMjllYTUxOTVjZGFjNzM5ZDZjN2MyNDdjNWFhNWIyYzkxYjgwMWNiZDk5YmFkMTI1ODRl
ZDg0Yz0KNWNmYWFhNmZhOGI0ODkzYTQ2MzI0NTcxYTJmOGExOTg4YTEzODFmNGRkZDU4MzkwZTU5
N2JkN2JkYzI0ICBub3NlLTEuMy40LnRhPQpyLmd6JyA+IG5vc2UtMS4zLjQudGFyLmd6LnNoYTUx
MgotZWNobyAnOTk2ZTZiOGUyZDQyZjIyM2U0NDY2MGY1NmJmNzNlYjhhYjEyNGY0MDBkODkyMThm
OGY1ZTRkN2M5ODYwYWRhNDRhNGQ9CjdjNTQ1MjYxMzdiMDY5NWM3YTEwZjM2ZTg4MzRmYmYwZDQy
YjdjYjIwYmNkYjVkNWMyNDVkNjczMzg1YyAgbnVtcHktMS44LjIudD0KYXIuZ3onID4gbnVtcHkt
MS44LjIudGFyLmd6LnNoYTUxMgotZWNobyAnOWMwYTYxMjk5Nzc5YWZmNjEzMTMxYWFhYmJjMjU1
Yzg2NDhmMGZhN2FiMTgwNmFmNTNmMTlmYmRjZWNlMGM4YTY4ZGQ9CmNhNzg4MGQyNWI5MjZkNjdm
ZjFiOTIwMTk1NGIyMDc5MTlmYjA5ZjZhMjkwYWNiMDc4ZThiYmVkN2I2OCAgcHl0aG9uLWhnbGli
LT0KMS4wLnRhci5neicgPiBweXRob24taGdsaWItMS4wLnRhci5nei5zaGE1MTIKLWVjaG8gJzNk
OTNhOGZiZDk0ZmMzZjFmOTBkZjY4MjU3Y2RhNTQ4YmExYWRmM2Q3YTgxOWU3YTE3ZWRjODY4MTg5
NDAwM2FjN2FlPQo2YWJkMzE5NDczMDU0MzQwYzExNDQzYTZhMzgxN2I5MzEzNjZmZDdkYWU3OGUz
ODA3ZDU0OWM1NDRmOGIgIHB5em1xLTE0LjMuMS49CnRhci5neicgPiBweXptcS0xNC4zLjEudGFy
Lmd6LnNoYTUxMgotZWNobyAnYWQxMjc4NzQwYzFkYzQ0YzVlMWIxNTMzNWQ2MWM0NTUyYjY2YzA0
MzkzMjVlZDZlZWViYzU4NzJhMWMwYmEzZmNlMWQ9CmQ4NTA5MTE2YjMxOGQwMWUyZDQxZGEyZWU0
OWVjMTY4ZGEzMzBhN2ZhZmQyMjUxMTEzOGIyOWY3MjM1ZCAgc2NpcHktMC4xNC4wLj0KdGFyLmd6
JyA+IHNjaXB5LTAuMTQuMC50YXIuZ3ouc2hhNTEyCitlY2hvICc1MWIwZjU4YjI2MThiNDdiNjUz
ZTE3ZTRmNmI2YTEyMTVkM2EzYjBmMTMzMWNlMzU1NWNjNzQzNWUzNjVkOWM3NTY5Mz0KZjI4OWNl
MTJmZTNiZjhmNjlmZDU3YjY2M2U1NDVmMGYxYzJjOTRlODFlYWE2NjFjYWMwNjg5ZTEyNWY1ICBt
YXRwbG90bGliLTEuPQo0LjMudGFyLmd6JyA+IG1hdHBsb3RsaWItMS40LjMudGFyLmd6LnNoYTUx
MgorZWNobyAnYTYxYjBkNGNmNTI4MTM2OTkxMjQzYmIyM2FjOTcyYzExYzUwYWI1NjgxZDA5Zjhi
MmQxMmNmN2QzN2QzYTlkNzYyNjI9CmY3ZmU2ZTdhMTgzNGJmNmQwM2U4ZGMwZWJiZDkyMzFkYTk4
MmUwNDllMDk4MzAzNDFkYWJlZmU1ZDA2NCAgbWVyY3VyaWFsLTMuND0KLnRhci5neicgPiBtZXJj
dXJpYWwtMy40LnRhci5nei5zaGE1MTIKK2VjaG8gJ2QwY2VkZTA4ZGMzM2E4YWMwYWYwZjE4MDYz
ZTU3ZjMxYjYxNWYwNmU5MTFlZGI1Y2EyNjQ1NzUxNzRkOGY0YWRiNDMzPQo4NDQ4OTY4YzQwMzgx
MWQ5ZGNjNjBmMzhhZGUzMTY0NjYyZDZjN2I2OWI0OTlmNTZmMDk4NGJiNjI4M2MgIG5vc2UtMS4z
LjYudGE9CnIuZ3onID4gbm9zZS0xLjMuNi50YXIuZ3ouc2hhNTEyCitlY2hvICc3MDQ3MGViYjlh
ZmVmNWRmZDBjODNjZWI3YTlkNWYxYjdhMDcyYjFhOWI1NGIwNGYwNGY1ZWQ1MGZiYWVkZDViNDkw
Nj0KYmQ1MDA0NzIyNjhkNDc4Zjk0ZGY5ZTc0OWE4ODY5OGIxZmYzMGYyZDgwMjU4ZTdmM2ZlYzA0
MDYxN2Q5ICBudW1weS0xLjkuMi50PQphci5neicgPiBudW1weS0xLjkuMi50YXIuZ3ouc2hhNTEy
CitlY2hvICdiZmQxMDQ1NWU3NGUzMGRmNTY4YzRjNDgyNzE0MGZiNmNjMjk4OTNiMGUwNjJjZTE3
NjRiZDUyODUyZWM3NDg3YTcwYT0KMGY1ZWE1M2MzZmNhNzg4NmY1ZDM2MzY1YzlmNGRiNTJiOGM5
M2NhZDM1ZmI2N2JlZWI0NGEyZDU2ZjJkICBweXRob24taGdsaWItPQoxLjYudGFyLmd6JyA+IHB5
dGhvbi1oZ2xpYi0xLjYudGFyLmd6LnNoYTUxMgorZWNobyAnMjAxNjRmN2IwNWMzMDhlMGYwODlj
MDdmYzQ2YjFjNTIyMDk0ZjNhYzEzNmYyZTBiYmE4NGYxOWNiNjNkZmQzNjE1MmE9CjI0NjVkZjcy
M2RkNGQ5M2M2ZmJkMmRlNGYwZDk0YzE2MGUyYmJjMzUzYTkyY2ZkNjgwZWIwM2NiZGM4NyAgcHl6
bXEtMTQuNS4wLj0KdGFyLmd6JyA+IHB5em1xLTE0LjUuMC50YXIuZ3ouc2hhNTEyCitlY2hvICdm
ZmY0NDEyZDg1MGM0MzFhMWI0ZTZlZTNiMTc5NThlZTVhYjNiZWI4MWU2Y2I4YThlN2Q1NmQzNjg3
NTFlYWE4NzgxZD0KN2MzZTY5ZDkzMmRjMDAyZDcxOGZkZGM2NmE3MjA5OGFjZmU3NGNmZTI5ZWM4
MGIyNGU2NzM2MzE3Mjc1ICBzY2lweS0wLjE1LjEuPQp0YXIuZ3onID4gc2NpcHktMC4xNS4xLnRh
ci5nei5zaGE1MTIKIGVjaG8gJzk2ZjNlNTFiNDY3NDE0NTBiYzZiNjM3NzljMTBlYmI0YTcwNjY4
NjBmZTU0NDM4NWQ2NGQxZWRhNTI1OTJlMzc2YTU4PQo5ZWYyODJhY2UyZTFkZjczZGY2MWMxMGVh
YjFhMGQ3OTNhYmJkYWY3NzBlNjAyODk0OTRkNGJmM2JjYjQgIHNxbGl0ZS1hdXRvY289Cm5mLTMw
NzE3MDAudGFyLmd6JyA+IHNxbGl0ZS1hdXRvY29uZi0zMDcxNzAwLnRhci5nei5zaGE1MTIKLWVj
aG8gJzhhNDZlNzVhYmMzZWQyMzg4YjVkYTljYjBlNTg3NGFlODc1ODBjZjM2MTJlMjkyMGI2NjJk
OGY4ZWVlODA0N2VmY2U1PQphYTk5OGVlZTk2NjYxZDM1NjUwNzBiMWE2YjkxNmM4YmVkNzQxMzhi
ODIxZjRlMDkxMTVmMTRiNjY3N2QgIHN5bXB5LTAuNy41LnQ9CmFyLmd6JyA+IHN5bXB5LTAuNy41
LnRhci5nei5zaGE1MTIKLWVjaG8gJ2E0ZTAyMzFlNzdlYmJjMjg4NWJhYjY0OGIyOTJiODQyY2Ix
NWM4NGQ2NmExOTcyZGUxOGNiMDBmY2M2MTFlYWUyNzk0PQpiODcyZjA3MGFiN2Q1YWYzMmRkMGM2
YzE3NzM1MjdmZTEzMzJiZDM4MmMxODIxZTFmMmQ1ZDc2ODA4ZmIgIHRvcm5hZG8tNC4wLjE9Ci50
YXIuZ3onID4gdG9ybmFkby00LjAuMS50YXIuZ3ouc2hhNTEyCi1lY2hvICc3ZDcwODU1ZDA1Mzc5
NzE4NDE4MTBhNjZiN2E5NDNhODgzMDRmNjk5MWNlNDQ1ZGYxOWVlYTAzNGFhZGM1M2RiY2U5ZD0K
MTNiZTkyYmY0NGNmZWYxZjNlMTk1MTFhNzU0ZWIwMTAwNmEzOTY4ZWRjMWVjM2QxNzY2ZWE0NzMw
Y2RhICB6ZXJvbXEtNC4wLjQuPQp0YXIuZ3onID4gemVyb21xLTQuMC40LnRhci5nei5zaGE1MTIK
K2VjaG8gJ2NlMGYxYTE3YWMwMWViNDhhZWMzMWZjMGFkNDMxZDlkN2VkOTkwN2YwZTg1ODRhNmQ3
OWQwZmZlNjg2NGZlNjJlMjAzPQpmZTNmMmEzYzNlNGUzZDQ4NTgwOTc1MGNlMDc1MDdhNjQ4OGU3
NzZhMzg4YTdhOWE3MTMxMTA4ODJmY2YgIHN5bXB5LTAuNy42LnQ9CmFyLmd6JyA+IHN5bXB5LTAu
Ny42LnRhci5nei5zaGE1MTIKK2VjaG8gJzkzNTkxMDY4ZGM2M2FmOGQ1MGE3OTI1ZDUyOGJjMGNj
Y2RkNzA1MjMyYzUyOWI2MTYyNjE5ZmUyOGRkZGFmMTE1ZThhPQo0NjBiMTg0Mjg3N2QzNTE2MGJk
N2VkNDgwYzFiZDBiZGJlYzU3ZDFmMzU5MDg1YmQxODE0ZTBjMWMyNDIgIHRvcm5hZG8tNC4wLjI9
Ci50YXIuZ3onID4gdG9ybmFkby00LjAuMi50YXIuZ3ouc2hhNTEyCitlY2hvICcwZDkyOGVkNjg4
ZWQ5NDBkNDYwZmE4ZjhkNTc0YTk4MTlkY2NjNGUwMzBkNzM1YThjN2RiNzFiNTkyODdlZTUwZmE3
ND0KMWEwODI0OWUzNTZjNzgzNTZiMDNjMjE3NGYyZjI2OTlmMDVhYTdkYzNkMzgwZWQ0N2Q4ZDdi
YWI1NDA4ICB6ZXJvbXEtNC4wLjUuPQp0YXIuZ3onID4gemVyb21xLTQuMC41LnRhci5nei5zaGE1
MTIKIGVjaG8gJ2VjZTIwOWQ0YzdlYzBjYjU4ZWRlNzkxNDQ0ZGM3NTRlMGQxMDgxMWNiYmRlYmUz
ZGY2MWMwZmQ5ZjlmOTg2N2MxYzNjPQpjZDVmMTgyN2Y4NDdjMDA1ZTI0ZWVmMzRmYjViZjg3YjVk
M2Y4OTRkNzVkYTA0ZjE3OTc1MzgyOTBlNGEgIHpsaWItMS4yLjgudGE9CnIuZ3onID4gemxpYi0x
LjIuOC50YXIuZ3ouc2hhNTEyCitlY2hvICczOGE4OWFhZDg5ZGM5YWE2ODJkYmZiY2E2MjNlMmY2
OTUxMWY1ZTIwZDRhMzUyNmMwMWFhYmJjN2U5M2FlNzhmMjBhYT0KYzU2NjY3NmI0MzFlMTExNTQw
YjQxNTQwYTFjNGY2NDRjZTQxNzRlN2VjZjA1MjMxODYxMjA3NWUwMmRjICBzZXR1cHRvb2xzLTE2
PQouMC50YXIuZ3onID4gc2V0dXB0b29scy0xNi4wLnRhci5nei5zaGE1MTIKICMgSW5kaXZpZHVh
bCBwcm9jZXNzZXMKIFsgLXogIiRIREY1X0RJUiIgXSAmJiBnZXRfeXRwcm9qZWN0ICRIREY1LnRh
ci5negogWyAkSU5TVF9aTElCIC1lcSAxIF0gJiYgZ2V0X3l0cHJvamVjdCAkWkxJQi50YXIuZ3oK
QEAgLTY1OCwxMCArNjg0LDExIEBACiBbICRJTlNUX1NDSVBZIC1lcSAxIF0gJiYgZ2V0X3l0cHJv
amVjdCAkU0NJUFkudGFyLmd6CiBbICRJTlNUX1NDSVBZIC1lcSAxIF0gJiYgZ2V0X3l0cHJvamVj
dCBibGFzLnRhci5negogWyAkSU5TVF9TQ0lQWSAtZXEgMSBdICYmIGdldF95dHByb2plY3QgJExB
UEFDSy50YXIuZ3oKLWdldF95dHByb2plY3QgJFBZVEhPTi50Z3oKK1sgJElOU1RfSEcgLWVxIDEg
XSAmJiBnZXRfeXRwcm9qZWN0ICRNRVJDVVJJQUwudGFyLmd6CitbICRJTlNUX1BZMyAtZXEgMSBd
ICYmIGdldF95dHByb2plY3QgJFBZVEhPTjMudGd6CitnZXRfeXRwcm9qZWN0ICRQWVRIT04yLnRn
egogZ2V0X3l0cHJvamVjdCAkTlVNUFkudGFyLmd6CiBnZXRfeXRwcm9qZWN0ICRNQVRQTE9UTElC
LnRhci5negotZ2V0X3l0cHJvamVjdCAkTUVSQ1VSSUFMLnRhci5negogZ2V0X3l0cHJvamVjdCAk
SVBZVEhPTi50YXIuZ3oKIGdldF95dHByb2plY3QgJEg1UFkudGFyLmd6CiBnZXRfeXRwcm9qZWN0
ICRDWVRIT04udGFyLmd6CkBAIC02NjksNiArNjk2LDcgQEAKIGdldF95dHByb2plY3QgJE5PU0Uu
dGFyLmd6CiBnZXRfeXRwcm9qZWN0ICRQWVRIT05fSEdMSUIudGFyLmd6CiBnZXRfeXRwcm9qZWN0
ICRTWU1QWS50YXIuZ3oKK2dldF95dHByb2plY3QgJFNFVFVQVE9PTFMudGFyLmd6CiBpZiBbICRJ
TlNUX0JaTElCIC1lcSAxIF0KIHRoZW4KICAgICBpZiBbICEgLWUgJEJaTElCL2RvbmUgXQpAQCAt
Nzg1LDExICs4MTMsMTEgQEAKICAgICBmaQogZmkKPTIwCi1pZiBbICEgLWUgJFBZVEhPTi9kb25l
IF0KK2lmIFsgISAtZSAkUFlUSE9OMi9kb25lIF0KIHRoZW4KLSAgICBlY2hvICJJbnN0YWxsaW5n
IFB5dGhvbi4gIFRoaXMgbWF5IHRha2UgYSB3aGlsZSwgYnV0IGRvbid0IHdvcnJ5LiAgeXQgPQps
b3ZlcyB5b3UuIgotICAgIFsgISAtZSAkUFlUSE9OIF0gJiYgdGFyIHhmeiAkUFlUSE9OLnRnegot
ICAgIGNkICRQWVRIT04KKyAgICBlY2hvICJJbnN0YWxsaW5nIFB5dGhvbiAyLiBUaGlzIG1heSB0
YWtlIGEgd2hpbGUsIGJ1dCBkb24ndCB3b3JyeS4geXQgPQpsb3ZlcyB5b3UuIgorICAgIFsgISAt
ZSAkUFlUSE9OMiBdICYmIHRhciB4ZnogJFBZVEhPTjIudGd6CisgICAgY2QgJFBZVEhPTjIKICAg
ICAoIC4vY29uZmlndXJlIC0tcHJlZml4PTNEJHtERVNUX0RJUn0vICR7UFlDT05GX0FSR1N9IDI+
JjEgKSAxPj4gJHtMT0dfPQpGSUxFfSB8fCBkb19leGl0Cj0yMAogICAgICggbWFrZSAke01BS0Vf
UFJPQ1N9IDI+JjEgKSAxPj4gJHtMT0dfRklMRX0gfHwgZG9fZXhpdApAQCAtODAwLDcgKzgyOCwz
MCBAQAogICAgIGNkIC4uCiBmaQo9MjAKLWV4cG9ydCBQWVRIT05QQVRIPTNEJHtERVNUX0RJUn0v
bGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLworaWYgWyAkSU5TVF9QWTMgLWVxIDEgXQordGhl
bgorICAgIGlmIFsgISAtZSAkUFlUSE9OMy9kb25lIF0KKyAgICB0aGVuCisgICAgICAgIGVjaG8g
Ikluc3RhbGxpbmcgUHl0aG9uIDMuIEJlY2F1c2UgdHdvIFB5dGhvbnMgYXJlIGJldHRlciB0aGFu
IG9uZT0KLiIKKyAgICAgICAgWyAhIC1lICRQWVRIT04zIF0gJiYgdGFyIHhmeiAkUFlUSE9OMy50
Z3oKKyAgICAgICAgY2QgJFBZVEhPTjMKKyAgICAgICAgKCAuL2NvbmZpZ3VyZSAtLXByZWZpeD0z
RCR7REVTVF9ESVJ9LyAke1BZQ09ORl9BUkdTfSAyPiYxICkgMT4+ICR7PQpMT0dfRklMRX0gfHwg
ZG9fZXhpdAorCisgICAgICAgICggbWFrZSAke01BS0VfUFJPQ1N9IDI+JjEgKSAxPj4gJHtMT0df
RklMRX0gfHwgZG9fZXhpdAorICAgICAgICAoIG1ha2UgaW5zdGFsbCAyPiYxICkgMT4+ICR7TE9H
X0ZJTEV9IHx8IGRvX2V4aXQKKyAgICAgICAgKCBsbiAtc2YgJHtERVNUX0RJUn0vYmluL3B5dGhv
bjMuNCAke0RFU1RfRElSfS9iaW4vcHl5dCAyPiYxICkgMT4+PQogJHtMT0dfRklMRX0KKyAgICAg
ICAgKCBsbiAtc2YgJHtERVNUX0RJUn0vYmluL3B5dGhvbjMuNCAke0RFU1RfRElSfS9iaW4vcHl0
aG9uIDI+JjEgKSAxPQo+PiAke0xPR19GSUxFfQorICAgICAgICAoIGxuIC1zZiAke0RFU1RfRElS
fS9iaW4vcHl0aG9uMy1jb25maWcgJHtERVNUX0RJUn0vYmluL3B5dGhvbi1jb249CmZpZyAyPiYx
ICkgMT4+ICR7TE9HX0ZJTEV9CisgICAgICAgICggbWFrZSBjbGVhbiAyPiYxKSAxPj4gJHtMT0df
RklMRX0gfHwgZG9fZXhpdAorICAgICAgICB0b3VjaCBkb25lCisgICAgICAgIGNkIC4uCisgICAg
ZmkKK2ZpCisKK2V4cG9ydCBQWVRIT05QQVRIPTNEJHtERVNUX0RJUn0vbGliLyR7UFlUSE9OX0VY
RUN9L3NpdGUtcGFja2FnZXMvCisKKyMgSW5zdGFsbCBzZXR1cHRvb2xzCitkb19zZXR1cF9weSAk
U0VUVVBUT09MUwo9MjAKIGlmIFsgJElOU1RfSEcgLWVxIDEgXQogdGhlbgpAQCAtODQ1LDEyICs4
OTYsMTAgQEAKPTIwCiAjIFRoaXMgZml4ZXMgcHJvYmxlbXMgd2l0aCBnZm9ydHJhbiBsaW5raW5n
LgogdW5zZXQgTERGTEFHUwotCi1lY2hvICJJbnN0YWxsaW5nIGRpc3RyaWJ1dGUiCi0oICR7REVT
VF9ESVJ9L2Jpbi9weXRob24yLjcgJHtZVF9ESVJ9L2Rpc3RyaWJ1dGVfc2V0dXAucHkgMj4mMSAp
IDE+PiAke0xPRz0KX0ZJTEV9IHx8IGRvX2V4aXQKLQorPTIwCiBlY2hvICJJbnN0YWxsaW5nIHBp
cCIKLSggJHtERVNUX0RJUn0vYmluL2Vhc3lfaW5zdGFsbC0yLjcgcGlwIDI+JjEgKSAxPj4gJHtM
T0dfRklMRX0gfHwgZG9fZXhpdAorKCAke0dFVEZJTEV9IGh0dHBzOi8vYm9vdHN0cmFwLnB5cGEu
aW8vZ2V0LXBpcC5weSAyPiYxICkgMT4+ICR7TE9HX0ZJTEV9IHw9CnwgZG9fZXhpdAorKCAke0RF
U1RfRElSfS9iaW4vJHtQWVRIT05fRVhFQ30gZ2V0LXBpcC5weSAyPiYxICkgMT4+ICR7TE9HX0ZJ
TEV9IHx8IGRvX2U9CnhpdAo9MjAKIGlmIFsgJElOU1RfU0NJUFkgLWVxIDAgXQogdGhlbgpAQCAt
OTQ2LDggKzk5NSw4IEBACiBmaQo9MjAKIGRvX3NldHVwX3B5ICRJUFlUSE9OCitkb19zZXR1cF9w
eSAkQ1lUSE9OCiBkb19zZXR1cF9weSAkSDVQWQotZG9fc2V0dXBfcHkgJENZVEhPTgogZG9fc2V0
dXBfcHkgJE5PU0UKIGRvX3NldHVwX3B5ICRQWVRIT05fSEdMSUIKIGRvX3NldHVwX3B5ICRTWU1Q
WQpAQCAtOTg0LDEzICsxMDMzLDE0IEBACj0yMAogZWNobyAiSW5zdGFsbGluZyB5dCIKIFsgJElO
U1RfUE5HIC1lcSAxIF0gJiYgZWNobyAkUE5HX0RJUiA+IHBuZy5jZmcKLSggZXhwb3J0IFBBVEg9
M0QkREVTVF9ESVIvYmluOiRQQVRIIDsgJHtERVNUX0RJUn0vYmluL3B5dGhvbjIuNyBzZXR1cC5w
eSBkPQpldmVsb3AgMj4mMSApIDE+PiAke0xPR19GSUxFfSB8fCBkb19leGl0CisoIGV4cG9ydCBQ
QVRIPTNEJERFU1RfRElSL2JpbjokUEFUSCA7ICR7REVTVF9ESVJ9L2Jpbi8ke1BZVEhPTl9FWEVD
fSBzZXR1cD0KLnB5IGRldmVsb3AgMj4mMSApIDE+PiAke0xPR19GSUxFfSB8fCBkb19leGl0CiB0
b3VjaCBkb25lCiBjZCAkTVlfUFdECj0yMAotaWYgISggKCAke0RFU1RfRElSfS9iaW4vcHl0aG9u
Mi43IC1jICJpbXBvcnQgcmVhZGxpbmUiIDI+JjEgKT4+ICR7TE9HX0ZJTEU9Cn0pCitpZiAhKCAo
ICR7REVTVF9ESVJ9L2Jpbi8ke1BZVEhPTl9FWEVDfSAtYyAiaW1wb3J0IHJlYWRsaW5lIiAyPiYx
ICk+PiAke0xPRz0KX0ZJTEV9KSB8fCBcCisJW1sgIiR7TVlPUyMjRGFyd2lufSIgIT0zRCAiJHtN
WU9TfSIgJiYgJElOU1RfUFkzIC1lcSAxIF1dPTIwCiB0aGVuCi0gICAgaWYgISggKCAke0RFU1Rf
RElSfS9iaW4vcHl0aG9uMi43IC1jICJpbXBvcnQgZ251cmVhZGxpbmUiIDI+JjEgKT4+ICR7TD0K
T0dfRklMRX0pCisgICAgaWYgISggKCAke0RFU1RfRElSfS9iaW4vJHtQWVRIT05fRVhFQ30gLWMg
ImltcG9ydCBnbnVyZWFkbGluZSIgMj4mMSApPj0KPiAke0xPR19GSUxFfSkKICAgICB0aGVuCiAg
ICAgICAgIGVjaG8gIkluc3RhbGxpbmcgcHVyZS1weXRob24gcmVhZGxpbmUiCiAgICAgICAgICgg
JHtERVNUX0RJUn0vYmluL3BpcCBpbnN0YWxsIGdudXJlYWRsaW5lIDI+JjEgKSAxPj4gJHtMT0df
RklMRX0KCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAt
ciAyMGNjZTk4NDBmMWNiOGY2NDM4ZWRmNT0KMWQ2ZjBlYTcxNGJkNjE4NWMgZG9jL3NvdXJjZS9h
Ym91dC9pbmRleC5yc3QKLS0tIGEvZG9jL3NvdXJjZS9hYm91dC9pbmRleC5yc3QKKysrIGIvZG9j
L3NvdXJjZS9hYm91dC9pbmRleC5yc3QKQEAgLTMxLDcgKzMxLDcgQEAKIGBvdXIgbWVtYmVycyB3
ZWJzaXRlLiA8aHR0cDovL3l0LXByb2plY3Qub3JnL21lbWJlcnMuaHRtbD5gXwo9MjAKIEZvciBh
biB1cC10by1kYXRlIGxpc3Qgb2YgZXZlcnlvbmUgd2hvIGhhcyBjb250cmlidXRlZCB0byB0aGUg
eXQgY29kZWJhc2UsPTIwCi1zZWUgdGhlIGN1cnJlbnQgYENSRURJVFMgPGh0dHA6Ly9oZy55dC1w
cm9qZWN0Lm9yZy95dC9zcmMveXQvQ1JFRElUUz5gXyBmaT0KbGUuID0yMAorc2VlIHRoZSBjdXJy
ZW50IGBDUkVESVRTIDxodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9zcmMveXQv
Q1JFREk9ClRTPmBfIGZpbGUuID0yMAogRm9yIGEgbW9yZSBkZXRhaWxlZCBicmVha3VwIG9mIGNv
bnRyaWJ1dGlvbnMgbWFkZSBieSBpbmRpdmlkdWFsIHVzZXJzLCBzZWU9CiBvdXQ9MjAKIGBPcGVu
IEhVQiBwYWdlIDxodHRwczovL3d3dy5vcGVuaHViLm5ldC9wL3l0X2Ftci9jb250cmlidXRvcnM/
cXVlcnk9M0Qmc29yPQp0PTNEY29tbWl0cz5gXy4KPTIwCgpkaWZmIC1yIDk2MjA4YTUyMjY2Yzhh
N2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFk
NmYwZWE3MTRiZDYxODVjIGRvYy9zb3VyY2UvYW5hbHl6aW5nL2FuYWx5c2lzX21vZHVsZXMvaGFs
b19maW5kZXJzLnJzdAotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy9hbmFseXNpc19tb2R1bGVz
L2hhbG9fZmluZGVycy5yc3QKKysrIGIvZG9jL3NvdXJjZS9hbmFseXppbmcvYW5hbHlzaXNfbW9k
dWxlcy9oYWxvX2ZpbmRlcnMucnN0CkBAIC0xMTYsNyArMTE2LDcgQEAKICAgdGhlIHdpZHRoIG9m
IHRoZSBzbWFsbGVzdCBncmlkIGVsZW1lbnQgaW4gdGhlIHNpbXVsYXRpb24gZnJvbSB0aGUKICAg
bGFzdCBkYXRhIHNuYXBzaG90IChpLmUuIHRoZSBvbmUgd2hlcmUgdGltZSBoYXMgZXZvbHZlZCB0
aGUKICAgbG9uZ2VzdCkgaW4gdGhlIHRpbWUgc2VyaWVzOgotICBgYGRzX2xhc3QuaW5kZXguZ2V0
X3NtYWxsZXN0X2R4KCkgKiBkc19sYXN0WydtcGNoJ11gYC4KKyAgYGBkc19sYXN0LmluZGV4Lmdl
dF9zbWFsbGVzdF9keCgpICogZHNfbGFzdFsnTXBjaCddYGAuCiAqIGBgdG90YWxfcGFydGljbGVz
YGAsIGlmIHN1cHBsaWVkLCB0aGlzIGlzIGEgcHJlLWNhbGN1bGF0ZWQKICAgdG90YWwgbnVtYmVy
IG9mIGRhcmsgbWF0dGVyCiAgIHBhcnRpY2xlcyBwcmVzZW50IGluIHRoZSBzaW11bGF0aW9uLiBG
b3IgZXhhbXBsZSwgdGhpcyBpcyB1c2VmdWwKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUy
MjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAyMGNjZTk4NDBmMWNiOGY2NDM4ZWRmNT0KMWQ2ZjBlYTcx
NGJkNjE4NWMgZG9jL3NvdXJjZS9hbmFseXppbmcvZmlsdGVyaW5nLnJzdAotLS0gYS9kb2Mvc291
cmNlL2FuYWx5emluZy9maWx0ZXJpbmcucnN0CisrKyBiL2RvYy9zb3VyY2UvYW5hbHl6aW5nL2Zp
bHRlcmluZy5yc3QKQEAgLTk5LDMwICs5OSwzNSBAQAogbWFzayBvdXQgZXZlcnl0aGluZyBleGNl
cHQgdGhlIHBhcnRpY2xlcyB3aXRoIHdoaWNoIHlvdSBhcmUgY29uY2VybmVkLgo9MjAKIENyZWF0
aW5nIGEgcGFydGljbGUgZmlsdGVyIHRha2VzIGEgZmV3IHN0ZXBzLiAgWW91IG11c3QgZmlyc3Qg
ZGVmaW5lIGE9MjAKLWZ1bmN0aW9uIHdoaWNoIGFjY2VwdHMgYSBnZW9tZXRyaWMgb2JqZWN0IChl
LmcuIGFsbF9kYXRhLCBzcGhlcmUsIGV0Yy4pCitmdW5jdGlvbiB3aGljaCBhY2NlcHRzIGEgZGF0
YSBvYmplY3QgKGUuZy4gYWxsX2RhdGEsIHNwaGVyZSwgZXRjLikKIGFzIGl0cyBhcmd1bWVudC4g
IEl0IHVzZXMgdGhlIGZpZWxkcyBhbmQgaW5mb3JtYXRpb24gaW4gdGhpcyBnZW9tZXRyaWMKLW9i
amVjdCBpbiBvcmRlciB0byBwcm9kdWNlIHNvbWUgc29ydCBvZiBjb25kaXRpb25hbCBtYXNrIHRo
YXQgaXMgdGhlbiByZXR1PQpybmVkLgotSGVyZSBpcyB0aGUgZnVuY3Rpb24gdG8gZmlsdGVyIG9u
bHkgdGhlIHBhcnRpY2xlcyB3aXRoIGBwYXJ0aWNsZV90eXBlYCAoaS49CmUuPTIwCi1maWVsZCA9
M0QgYCgnYWxsJywgJ3BhcnRpY2xlX3R5cGUnKWAgZXF1YWwgdG8gMi4gKFRoaXMgaXMgdGhlIGNh
c2Ugd2l0aAotRW56byBzdGFyIHBhcnRpY2xlcy4pCitvYmplY3QgaW4gb3JkZXIgdG8gcHJvZHVj
ZSBzb21lIHNvcnQgb2YgY29uZGl0aW9uYWwgbWFzayB0aGF0IGlzIHRoZW4gcmV0dT0Kcm5lZAor
dG8gY3JlYXRlIGEgbmV3IHBhcnRpY2xlIHR5cGUuCisKK0hlcmUgaXMgYSBwYXJ0aWNsZSBmaWx0
ZXIgdG8gY3JlYXRlIGEgbmV3IGBgc3RhcmBgIHBhcnRpY2xlIHR5cGUuICBGb3IgRW56bworc2lt
dWxhdGlvbnMsIHN0YXJzIGhhdmUgYGBwYXJ0aWNsZV90eXBlYGAgc2V0IHRvIDIsIHNvIG91ciBm
aWx0ZXIgd2lsbCBzZWw9CmVjdAorb25seSB0aGUgcGFydGljbGVzIHdpdGggYGBwYXJ0aWNsZV90
eXBlYGAgKGkuZS4gIGZpZWxkID0zRCBgYCgnYWxsJywKKydwYXJ0aWNsZV90eXBlJylgYCBlcXVh
bCB0byAyLgo9MjAKIC4uIGNvZGUtYmxvY2s6OiBweXRob24KPTIwCi0gICAgZGVmIFN0YXJzKHBm
aWx0ZXIsIGRhdGEpOgotICAgICAgICBmaWx0ZXIgPTNEIGRhdGFbKCJhbGwiLCAicGFydGljbGVf
dHlwZSIpXSA9M0Q9M0QgMgorICAgIEB5dC5wYXJ0aWNsZV9maWx0ZXIocmVxdWlyZXM9M0RbInBh
cnRpY2xlX3R5cGVdLCBmaWx0ZXJlZF90eXBlPTNEJ2FsbCcpCisgICAgZGVmIHN0YXJzKHBmaWx0
ZXIsIGRhdGEpOgorICAgICAgICBmaWx0ZXIgPTNEIGRhdGFbKHBmaWx0ZXIuZmlsdGVyZWRfdHlw
ZSwgInBhcnRpY2xlX3R5cGUiKV0gPTNEPTNEIDIKICAgICAgICAgcmV0dXJuIGZpbHRlcgo9MjAK
LVRoZSBwYXJ0aWNsZV9maWx0ZXIgbXVzdCBub3cgYmUgZGVmaW5lZCB0byBpbmNvcnBvcmF0ZSB0
aGlzIGZ1bmN0aW9uLiAgSXQgPQp0YWtlcwotYSBmZXcgYXJndW1lbnRzOiBhIG5hbWUgZm9yIHRo
ZSBmaWx0ZXIsIG91ciBmaWx0ZXIgZnVuY3Rpb24sIGFuZCB0aGUgZmllbGRzCi10aGF0IGl0IHJl
cXVpcmVzIGluIGEgZGF0YXNldCBpbiBvcmRlciB0byB3b3JrIChpbiB0aGlzIGNhc2UsIGl0IHJl
cXVpcmVzCi10aGUgKCdhbGwnLCAncGFydGljbGVfdHlwZScpIGZpZWxkLgorVGhlIDpmdW5jOmB+
eXQuZGF0YV9vYmplY3RzLnBhcnRpY2xlX2ZpbHRlcnMucGFydGljbGVfZmlsdGVyYCBkZWNvcmF0
b3IgdGE9CmtlcyBhCitmZXcgb3B0aW9ucy4gIFlvdSBtdXN0IHNwZWNpZnkgdGhlIG5hbWVzIG9m
IHRoZSBwYXJ0aWNsZSBmaWVsZHMgdGhhdCBhcmUKK3JlcXVpcmVkIGluIG9yZGVyIHRvIGRlZmlu
ZSB0aGUgZmlsdGVyIC0tLSBpbiB0aGlzIGNhc2UgdGhlIGBgcGFydGljbGVfdHlwPQplYGAKK2Zp
ZWxkLiAgQWRkaXRpb25hbGx5LCB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBwYXJ0aWNsZSB0eXBlIHRv
IGJlIGZpbHRlcmVkIC0tPQotIGluCit0aGlzIGNhc2Ugd2UgZmlsdGVyIGFsbCB0aGUgcGFydGlj
bGUgaW4gZGF0YXNldCBieSBzcGVjaWZ5aW5nIHRoZSBgYGFsbGBgCitwYXJ0aWNsZSB0eXBlLgo9
MjAKLS4uIGNvZGUtYmxvY2s6OiBweXRob24KK0luIGFkZGl0aW9uLCB5b3UgbWF5IHNwZWNpZnkg
YSBuYW1lIGZvciB0aGUgbmV3bHkgZGVmaW5lZCBwYXJ0aWNsZSB0eXBlLiAgPQpJZiBubworbmFt
ZSBpcyBzcGVjaWZpZWQsIHRoZSBuYW1lIGZvciB0aGUgcGFydGljbGUgdHlwZSB3aWxsIGJlIGlu
ZmVycmVkIGZyb20gdGg9CmUgbmFtZQorb2YgdGhlIGZpbHRlciBkZWZpbml0aW9uIC0tLSBpbiB0
aGlzIGNhc2UgdGhlIGluZmVycmVkIG5hbWUgd2lsbCBiZSBgYHN0YXI9CnNgYC4KPTIwCi0gICAg
ZnJvbSB5dC5kYXRhX29iamVjdHMucGFydGljbGVfZmlsdGVycyBpbXBvcnQgYWRkX3BhcnRpY2xl
X2ZpbHRlcgotICAgIGFkZF9wYXJ0aWNsZV9maWx0ZXIoInN0YXJzIiwgZnVuY3Rpb249M0RTdGFy
cywgZmlsdGVyZWRfdHlwZT0zRCdhbGwnLCA9CnJlcXVpcmVzPTNEWyJwYXJ0aWNsZV90eXBlIl0p
Ci0KLUFuZCBsYXN0bHksIHRoZSBmaWx0ZXIgbXVzdCBiZSBhcHBsaWVkIHRvIG91ciBkYXRhc2V0
IG9mIGNob2ljZS4gIE5vdGUgdGhhPQp0IHRoaXM9MjAKK0xhc3RseSwgdGhlIGZpbHRlciBtdXN0
IGJlIGFwcGxpZWQgdG8gb3VyIGRhdGFzZXQgb2YgY2hvaWNlLiAgTm90ZSB0aGF0IHRoPQppcz0y
MAogZmlsdGVyIGNhbiBiZSBhZGRlZCB0byBhcyBtYW55IGRhdGFzZXRzIGFzIHdlIHdpc2guICBJ
dCB3aWxsIG9ubHkgYWN0dWFsbHkKIGNyZWF0ZSBuZXcgZmlsdGVyZWQgZmllbGRzIGlmIHRoZSBk
YXRhc2V0IGhhcyB0aGUgcmVxdWlyZWQgZmllbGRzLCB0aG91Z2guCj0yMApAQCAtMTMzLDEwICsx
MzgsMjcgQEAKICAgICBkcy5hZGRfcGFydGljbGVfZmlsdGVyKCdzdGFycycpCj0yMAogQW5kIHRo
YXQncyBpdCEgIFdlIGNhbiBub3cgYWNjZXNzIGFsbCBvZiB0aGUgKCdzdGFycycsIGZpZWxkKSBm
aWVsZHMgZnJvbT0yMAotb3VyIGRhdGFzZXQgYGRzYCBhbmQgdHJlYXQgdGhlbSBhcyBhbnkgb3Ro
ZXIgcGFydGljbGUgZmllbGQuICBJbiBhZGRpdGlvbiwKLWl0IGNyZWF0ZWQgc29tZSBgZGVwb3Np
dGAgZmllbGRzLCB3aGVyZSB0aGUgcGFydGljbGVzIHdlcmUgZGVwb3NpdGVkIG9uIHRvCitvdXIg
ZGF0YXNldCBgYGRzYGAgYW5kIHRyZWF0IHRoZW0gYXMgYW55IG90aGVyIHBhcnRpY2xlIGZpZWxk
LiAgSW4gYWRkaXRpbz0KbiwKK2l0IGNyZWF0ZWQgc29tZSBgYGRlcG9zaXRgYCBmaWVsZHMsIHdo
ZXJlIHRoZSBwYXJ0aWNsZXMgd2VyZSBkZXBvc2l0ZWQgb24gPQp0bwogdGhlIGdyaWQgYXMgbWVz
aCBmaWVsZHMuCj0yMAorQXMgYW4gYWx0ZXJuYXRpdmUgc3ludGF4LCB5b3UgY2FuIGFsc28gZGVm
aW5lIGEgbmV3IHBhcnRpY2xlIGZpbHRlciB2aWEgdGhlCis6ZnVuYzpgfnl0LmRhdGFfb2JqZWN0
cy5wYXJ0aWNsZV9maWx0ZXIuYWRkX3BhcnRpY2xlX2ZpbHRlcmAgZnVuY3Rpb24uID0yMAorCisu
LiBjb2RlLWJsb2NrOjogcHl0aG9uCisKKworICAgIGRlZiBTdGFycyhwZmlsdGVyLCBkYXRhKToK
KyAgICAgICAgZmlsdGVyID0zRCBkYXRhWyhwZmlsdGVyLmZpbHRlcmVkX3R5cGUsICJwYXJ0aWNs
ZV90eXBlIildID0zRD0zRCAyCisgICAgICAgIHJldHVybiBmaWx0ZXIKKworICAgIGFkZF9wYXJ0
aWNsZV9maWx0ZXIoInN0YXJzIiwgZnVuY3Rpb249M0RTdGFycywgZmlsdGVyZWRfdHlwZT0zRCdh
bGwnLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXM9M0RbInBhcnRpY2xlX3R5cGUi
XSkKKworVGhpcyBpcyBlcXVpdmFsZW50IHRvIG91ciB1c2Ugb2YgdGhlIGBgcGFydGljbGVfZmls
dGVyYGAgZGVjb3JhdG9yIGFib3ZlLiA9CiBUaGUKK2Nob2ljZSB0byB1c2UgZWl0aGVyIHRoZSBg
YHBhcnRpY2xlX2ZpbHRlcmBgIGRlY29yYXRvciBvciB0aGUKK2BgYWRkX3BhcnRpY2xlX2ZpdGxl
cmBgIGZ1bmN0aW9uIGlzIGEgcHVyZWx5IHN0eWxpc3RpYyBjaG9pY2UuCisKIC4uIG5vdGVib29r
OjogcGFydGljbGVfZmlsdGVyLmlweW5iCj0yMAogLi4gX3BhcnRpY2xlLXVuaW9uczoKQEAgLTE3
Miw3ICsxOTQsNyBAQAo9MjAKIENyZWF0aW5nIGdlb21ldHJpYyBvYmplY3RzIGZvciBhIGRhdGFz
ZXQgcHJvdmlkZXMgYSBtZWFucyBmb3IgZmlsdGVyaW5nCiBhIGZpZWxkIGJhc2VkIG9uIHNwYXRp
YWwgbG9jYXRpb24uICBUaGUgbW9zdCBjb21tb25seSB1c2VkIG9mIHRoZXNlIGFyZQotc3BoZXJl
cywgcmVnaW9ucyAoM0QgcHJpc21zKSwgZWxsaXBzb2lkcywgZGlza3MsIGFuZCByYXlzLiAgVGhl
IGBhbGxfZGF0YWAKK3NwaGVyZXMsIHJlZ2lvbnMgKDNEIHByaXNtcyksIGVsbGlwc29pZHMsIGRp
c2tzLCBhbmQgcmF5cy4gIFRoZSBgYGFsbF9kYXRhPQpgYAogb2JqZWN0IHdoaWNoIGdldHMgdXNl
ZCB0aHJvdWdob3V0IHRoaXMgZG9jdW1lbnRhdGlvbiBzZWN0aW9uIGlzIGFuIGV4YW1wbGU9CiBv
Zj0yMAogYSBnZW9tZXRyaWMgb2JqZWN0LCBidXQgaXQgZGVmYXVsdHMgdG8gaW5jbHVkaW5nIGFs
bCB0aGUgZGF0YSBpbiB0aGUgZGF0YXM9CmV0CiB2b2x1bWUuICBUbyBzZWUgYWxsIG9mIHRoZSBn
ZW9tZXRyaWMgb2JqZWN0cyBhdmFpbGFibGUsIHNlZT0yMAoKZGlmZiAtciA5NjIwOGE1MjI2NmM4
YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDIwY2NlOTg0MGYxY2I4ZjY0MzhlZGY1PQox
ZDZmMGVhNzE0YmQ2MTg1YyBkb2Mvc291cmNlL2FuYWx5emluZy9nZW5lcmF0aW5nX3Byb2Nlc3Nl
ZF9kYXRhLnJzdAotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy9nZW5lcmF0aW5nX3Byb2Nlc3Nl
ZF9kYXRhLnJzdAorKysgYi9kb2Mvc291cmNlL2FuYWx5emluZy9nZW5lcmF0aW5nX3Byb2Nlc3Nl
ZF9kYXRhLnJzdApAQCAtNDcsMTAgKzQ3LDMwIEBACiAgICBmcmIgPTNEIEZpeGVkUmVzb2x1dGlv
bkJ1ZmZlcihzbCwgKDAuMywgMC41LCAwLjYsIDAuOCksICg1MTIsIDUxMikpCiAgICBteV9pbWFn
ZSA9M0QgZnJiWyJkZW5zaXR5Il0KPTIwCi1UaGlzIHJlc3VsdGFudCBhcnJheSBjYW4gYmUgc2F2
ZWQgb3V0IHRvIGRpc2sgb3IgdmlzdWFsaXplZCB1c2luZyBhCi1oYW5kLWNvbnN0cnVjdGVkIE1h
dHBsb3RsaWIgaW1hZ2UsIGZvciBpbnN0YW5jZSB1c2luZworVGhpcyBpbWFnZSBtYXkgdGhlbiBi
ZSB1c2VkIGluIGEgaGFuZC1jb25zdHJ1Y3RlZCBNYXRwbG90bGliIGltYWdlLCBmb3IgaW49CnN0
YW5jZSB1c2luZwogOmZ1bmM6YH5tYXRwbG90bGliLnB5cGxvdC5pbXNob3dgLgo9MjAKK1RoZSBi
dWZmZXIgYXJyYXlzIGNhbiBiZSBzYXZlZCBvdXQgdG8gZGlzayBpbiBlaXRoZXIgSERGNSBvciBG
SVRTIGZvcm1hdDoKKz0yMAorLi4gY29kZS1ibG9jazo6IHB5dGhvbgorCisgICBmcmIuZXhwb3J0
X2hkZjUoIm15X2ltYWdlcy5oNSIsIGZpZWxkcz0zRFsiZGVuc2l0eSIsInRlbXBlcmF0dXJlIl0p
CisgICBmcmIuZXhwb3J0X2ZpdHMoIm15X2ltYWdlcy5maXRzIiwgZmllbGRzPTNEWyJkZW5zaXR5
IiwidGVtcGVyYXR1cmUiXSwKKyAgICAgICAgICAgICAgICAgICBjbG9iYmVyPTNEVHJ1ZSwgdW5p
dHM9M0Qia3BjIikKKworSW4gdGhlIEZJVFMgY2FzZSwgdGhlcmUgaXMgYW4gb3B0aW9uIGZvciBz
ZXR0aW5nIHRoZSBgYHVuaXRzYGAgb2YgdGhlIGNvb3I9CmRpbmF0ZSBzeXN0ZW0gaW4KK3RoZSBm
aWxlLiBJZiB5b3Ugd2FudCB0byBvdmVyd3JpdGUgYSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSwg
c2V0IGBgY2xvYmJlPQpyPTNEVHJ1ZWBgLj0yMAorCitUaGUgOmNsYXNzOmB+eXQudmlzdWFsaXph
dGlvbi5maXhlZF9yZXNvbHV0aW9uLkZpeGVkUmVzb2x1dGlvbkJ1ZmZlcmAgY2FuID0KZXZlbiBi
ZSBleHBvcnRlZAorYXMgYSAyRCBkYXRhc2V0IGl0c2VsZiwgd2hpY2ggbWF5IGJlIG9wZXJhdGVk
IG9uIGluIHRoZSBzYW1lIHdheSBhcyBhbnkgb3Q9CmhlciBkYXRhc2V0IGluIHl0OgorCisuLiBj
b2RlLWJsb2NrOjogcHl0aG9uCisKKyAgIGRzX2ZyYiA9M0QgZnJiLmV4cG9ydF9kYXRhc2V0KGZp
ZWxkcz0zRFsiZGVuc2l0eSIsInRlbXBlcmF0dXJlIl0sIG5wcm9jPQpzPTNEOCkKKyAgIHNwID0z
RCBkc19mcmIuc3BoZXJlKCJjIiwgKDEwMC4sImtwYyIpKQorCit3aGVyZSB0aGUgYGBucHJvY3Ng
YCBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGVjb21wb3NlIHRoZSBpbWFnZSBpbnRvIGBgbj0K
cHJvY3NgYCBudW1iZXIgb2YgZ3JpZHMuCisKIC4uIF9nZW5lcmF0aW5nLXByb2ZpbGVzLWFuZC1o
aXN0b2dyYW1zOgo9MjAKIFByb2ZpbGVzIGFuZCBIaXN0b2dyYW1zCgpkaWZmIC1yIDk2MjA4YTUy
MjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVk
ZjU9CjFkNmYwZWE3MTRiZDYxODVjIGRvYy9zb3VyY2UvYW5hbHl6aW5nL3BhcnRpY2xlX2ZpbHRl
ci5pcHluYgotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy9wYXJ0aWNsZV9maWx0ZXIuaXB5bmIK
KysrIGIvZG9jL3NvdXJjZS9hbmFseXppbmcvcGFydGljbGVfZmlsdGVyLmlweW5iCkBAIC03OSwx
MCArNzksOSBAQAogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAiY29sbGFwc2VkIjog
ZmFsc2UsCiAgICAgICJpbnB1dCI6IFsKLSAgICAgICJmcm9tIHl0LmRhdGFfb2JqZWN0cy5wYXJ0
aWNsZV9maWx0ZXJzIGltcG9ydCBhZGRfcGFydGljbGVfZmlsdGVyXG4iLAorICAgICAgInl0LmFk
ZF9wYXJ0aWNsZV9maWx0ZXIoXCJ5b3VuZ19zdGFyc1wiLCBmdW5jdGlvbj0zRHlvdW5nX3N0YXJz
LCBmaWw9CnRlcmVkX3R5cGU9M0QnU3RhcnMnLCByZXF1aXJlcz0zRFtcImNyZWF0aW9uX3RpbWVc
Il0pXG4iLAogICAgICAgIlxuIiwKLSAgICAgICJhZGRfcGFydGljbGVfZmlsdGVyKFwieW91bmdf
c3RhcnNcIiwgZnVuY3Rpb249M0R5b3VuZ19zdGFycywgZmlsdGVyPQplZF90eXBlPTNEJ1N0YXJz
JywgcmVxdWlyZXM9M0RbXCJjcmVhdGlvbl90aW1lXCJdKVxuIiwKLSAgICAgICJhZGRfcGFydGlj
bGVfZmlsdGVyKFwib2xkX3N0YXJzXCIsIGZ1bmN0aW9uPTNEb2xkX3N0YXJzLCBmaWx0ZXJlZF90
PQp5cGU9M0QnU3RhcnMnLCByZXF1aXJlcz0zRFtcImNyZWF0aW9uX3RpbWVcIl0pIgorICAgICAg
Inl0LmFkZF9wYXJ0aWNsZV9maWx0ZXIoXCJvbGRfc3RhcnNcIiwgZnVuY3Rpb249M0RvbGRfc3Rh
cnMsIGZpbHRlcmU9CmRfdHlwZT0zRCdTdGFycycsIHJlcXVpcmVzPTNEW1wiY3JlYXRpb25fdGlt
ZVwiXSkiCiAgICAgIF0sCiAgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAogICAgICAibWV0YWRh
dGEiOiB7fSwKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4
YSAtciAyMGNjZTk4NDBmMWNiOGY2NDM4ZWRmNT0KMWQ2ZjBlYTcxNGJkNjE4NWMgZG9jL3NvdXJj
ZS9hbmFseXppbmcvdGltZV9zZXJpZXNfYW5hbHlzaXMucnN0Ci0tLSBhL2RvYy9zb3VyY2UvYW5h
bHl6aW5nL3RpbWVfc2VyaWVzX2FuYWx5c2lzLnJzdAorKysgYi9kb2Mvc291cmNlL2FuYWx5emlu
Zy90aW1lX3Nlcmllc19hbmFseXNpcy5yc3QKQEAgLTc5LDkgKzc5LDcgQEAKIEFuYWx5emluZyBh
biBFbnRpcmUgU2ltdWxhdGlvbgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj0yMAot
Li4gbm90ZTo6IEN1cnJlbnRseSBvbmx5IGltcGxlbWVudGVkIGZvciBFbnpvLiAgT3RoZXIgc2lt
dWxhdGlvbiB0eXBlcyBjb209CmluZz0yMAotICAgc29vbi4gIFVudGlsIHRoZW4sIHJlbHkgb24g
dGhlIGFib3ZlIHByZXNjcmlwdGlvbiBmb3IgY3JlYXRpbmc9MjAKLSAgIGBgRGF0YXNldFNlcmll
c2BgIG9iamVjdHMuCisuLiBub3RlOjogSW1wbGVtZW50ZWQgZm9yOiBFbnpvLCBHYWRnZXQsIE9X
TFMuCj0yMAogVGhlIHBhcmFtZXRlciBmaWxlIHVzZWQgdG8gcnVuIGEgc2ltdWxhdGlvbiBjb250
YWlucyBhbGwgdGhlIGluZm9ybWF0aW9uPTIwCiBuZWNlc3NhcnkgdG8ga25vdyB3aGF0IGRhdGFz
ZXRzIHNob3VsZCBiZSBhdmFpbGFibGUuICBUaGUgYGBzaW11bGF0aW9uYGA9MjAKQEAgLTkzLDgg
KzkxLDcgQEAKIC4uIGNvZGUtYmxvY2s6OiBweXRob24KPTIwCiAgIGltcG9ydCB5dAotICBteV9z
aW0gPTNEIHl0LnNpbXVsYXRpb24oJ2Vuem9fdGlueV9jb3Ntb2xvZ3kvMzJNcGNfMzIuZW56bycs
ICdFbnpvJywKLSAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kX291dHB1dHM9M0RGYWxzZSkK
KyAgbXlfc2ltID0zRCB5dC5zaW11bGF0aW9uKCdlbnpvX3RpbnlfY29zbW9sb2d5LzMyTXBjXzMy
LmVuem8nLCAnRW56bycpCj0yMAogVGhlbiwgY3JlYXRlIGEgYGBEYXRhc2V0U2VyaWVzYGAgb2Jq
ZWN0IHdpdGggdGhlPTIwCiA6bWV0aDpgZnJvbnRlbmRzLmVuem8uc2ltdWxhdGlvbl9oYW5kbGlu
Zy5FbnpvU2ltdWxhdGlvbi5nZXRfdGltZV9zZXJpZXNgPTIwCkBAIC0xMjMsMTAgKzEyMCwxMCBA
QAogdG8gc2VsZWN0IGEgc3Vic2V0IG9mIHRoZSB0b3RhbCBkYXRhOgo9MjAKICogYGB0aW1lX2Rh
dGFgYCAoKmJvb2wqKTogV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aW1lIG91dHB1dHMgd2hl
bj0yMAotICBnYXRoZXJpbmcgZGF0YXNldHMgZm9yIHRpbWUgc2VyaWVzLiAgRGVmYXVsdDogVHJ1
ZS4KKyAgZ2F0aGVyaW5nIGRhdGFzZXRzIGZvciB0aW1lIHNlcmllcy4gIERlZmF1bHQ6IFRydWUu
ICAoRW56byBvbmx5KQo9MjAKICogYGByZWRzaGlmdF9kYXRhYGAgKCpib29sKik6IFdoZXRoZXIg
b3Igbm90IHRvIGluY2x1ZGUgcmVkc2hpZnQgb3V0cHV0cz0yMAotICB3aGVuIGdhdGhlcmluZyBk
YXRhc2V0cyBmb3IgdGltZSBzZXJpZXMuICBEZWZhdWx0OiBUcnVlLgorICB3aGVuIGdhdGhlcmlu
ZyBkYXRhc2V0cyBmb3IgdGltZSBzZXJpZXMuICBEZWZhdWx0OiBUcnVlLiAgKEVuem8gb25seSkK
PTIwCiAqIGBgaW5pdGlhbF90aW1lYGAgKCpmbG9hdCopOiBUaGUgZWFybGllc3QgdGltZSBmb3Ig
b3V0cHV0cyB0byBiZSBpbmNsdWRlZD0KLiA9MjAKICAgSWYgTm9uZSwgdGhlIGluaXRpYWwgdGlt
ZSBvZiB0aGUgc2ltdWxhdGlvbiBpcyB1c2VkLiAgVGhpcyBjYW4gYmUgdXNlZCBpPQpuPTIwCkBA
IC0xMzksMTUgKzEzNiwxMiBAQAogKiBgYHRpbWVzYGAgKCpsaXN0Kik6IEEgbGlzdCBvZiB0aW1l
cyBmb3Igd2hpY2ggb3V0cHV0cyB3aWxsIGJlIGZvdW5kLgogICBEZWZhdWx0OiBOb25lLgo9MjAK
LSogYGB0aW1lX3VuaXRzYGAgKCpzdHIqKTogVGhlIHRpbWUgdW5pdHMgdXNlZCBmb3IgcmVxdWVz
dGluZyBvdXRwdXRzIGJ5IHRpPQptZS4KLSAgRGVmYXVsdDogJzEnIChjb2RlIHVuaXRzKS4KLQog
KiBgYGluaXRpYWxfcmVkc2hpZnRgYCAoKmZsb2F0Kik6IFRoZSBlYXJsaWVzdCByZWRzaGlmdCBm
b3Igb3V0cHV0cyB0byBiZT0yMAogICBpbmNsdWRlZC4gIElmIE5vbmUsIHRoZSBpbml0aWFsIHJl
ZHNoaWZ0IG9mIHRoZSBzaW11bGF0aW9uIGlzIHVzZWQuICBUaGlzCiAgIGNhbiBiZSB1c2VkIGlu
IGNvbWJpbmF0aW9uIHdpdGggZWl0aGVyIGBgZmluYWxfdGltZWBgIG9yIGBgZmluYWxfcmVkc2hp
Zj0KdGBgLgogICBEZWZhdWx0OiBOb25lLgo9MjAKLSogYGBmaW5hbF90aW1lYGAgKCpmbG9hdCop
OiBUaGUgbGF0ZXN0IHJlZHNoaWZ0IGZvciBvdXRwdXRzIHRvIGJlIGluY2x1ZGVkPQouID0yMAor
KiBgYGZpbmFsX3JlZHNoaWZ0YGAgKCpmbG9hdCopOiBUaGUgbGF0ZXN0IHJlZHNoaWZ0IGZvciBv
dXRwdXRzIHRvIGJlIGluY2w9CnVkZWQuID0yMAogICBJZiBOb25lLCB0aGUgZmluYWwgcmVkc2hp
ZnQgb2YgdGhlIHNpbXVsYXRpb24gaXMgdXNlZC4gIFRoaXMgY2FuIGJlIHVzZWQ9MjAKICAgaW4g
Y29tYmluYXRpb24gd2l0aCBlaXRoZXIgYGBpbml0aWFsX3RpbWVgYCBvciBgYGluaXRpYWxfcmVk
c2hpZnRgYC4gPTIwCiAgIERlZmF1bHQ6IE5vbmUuCkBAIC0xNTcsMTEgKzE1MSwxMSBAQAo9MjAK
ICogYGBpbml0aWFsX2N5Y2xlYGAgKCpmbG9hdCopOiBUaGUgZWFybGllc3QgY3ljbGUgZm9yIG91
dHB1dHMgdG8gYmU9MjAKICAgaW5jbHVkZWQuICBJZiBOb25lLCB0aGUgaW5pdGlhbCBjeWNsZSBv
ZiB0aGUgc2ltdWxhdGlvbiBpcyB1c2VkLiAgVGhpcyBjPQphbgotICBvbmx5IGJlIHVzZWQgd2l0
aCBmaW5hbF9jeWNsZS4gIERlZmF1bHQ6IE5vbmUuCisgIG9ubHkgYmUgdXNlZCB3aXRoIGZpbmFs
X2N5Y2xlLiAgRGVmYXVsdDogTm9uZS4gIChFbnpvIG9ubHkpCj0yMAogKiBgYGZpbmFsX2N5Y2xl
YGAgKCpmbG9hdCopOiBUaGUgbGF0ZXN0IGN5Y2xlIGZvciBvdXRwdXRzIHRvIGJlIGluY2x1ZGVk
LiA9MjAKICAgSWYgTm9uZSwgdGhlIGZpbmFsIGN5Y2xlIG9mIHRoZSBzaW11bGF0aW9uIGlzIHVz
ZWQuICBUaGlzIGNhbiBvbmx5IGJlIHVzPQplZD0yMAotICBpbiBjb21iaW5hdGlvbiB3aXRoIGlu
aXRpYWxfY3ljbGUuICBEZWZhdWx0OiBOb25lLgorICBpbiBjb21iaW5hdGlvbiB3aXRoIGluaXRp
YWxfY3ljbGUuICBEZWZhdWx0OiBOb25lLiAgKEVuem8gb25seSkKPTIwCiAqIGBgdG9sZXJhbmNl
YGAgKCpmbG9hdCopOiAgVXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGBgdGltZXNgYCBvciBgYHJl
ZHNoaT0KZnRzYGA9MjAKICAga2V5d29yZHMsIHRoaXMgaXMgdGhlIHRvbGVyYW5jZSB3aXRoaW4g
d2hpY2ggb3V0cHV0cyBhcmUgYWNjZXB0ZWQgZ2l2ZW49MjAKCmRpZmYgLXIgOTYyMDhhNTIyNjZj
OGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAyMGNjZTk4NDBmMWNiOGY2NDM4ZWRmNT0K
MWQ2ZjBlYTcxNGJkNjE4NWMgZG9jL3NvdXJjZS9hbmFseXppbmcvdW5pdHMvMilfRmllbGRzX2Fu
ZF91bml0X2NvbnZlcnNpb24uPQppcHluYgotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy91bml0
cy8yKV9GaWVsZHNfYW5kX3VuaXRfY29udmVyc2lvbi5pcHluYgorKysgYi9kb2Mvc291cmNlL2Fu
YWx5emluZy91bml0cy8yKV9GaWVsZHNfYW5kX3VuaXRfY29udmVyc2lvbi5pcHluYgpAQCAtMSw3
ICsxLDcgQEAKIHsKICAibWV0YWRhdGEiOiB7CiAgICJuYW1lIjogIiIsCi0gICJzaWduYXR1cmUi
OiAic2hhMjU2OmM3Y2ZiMmRiNDU2ZDEyN2JiNjMzYjdlZWU3YWQ2ZmUxNDI5MGFhNjIyYWM2MjY5
NGM3OD0KNDBkODAxMzdhZmFiYSIKKyAgInNpZ25hdHVyZSI6ICJzaGEyNTY6NGQxOWVlNDIxNzdj
NjBmYjRiMzk1NTBiNWFjZDdhMGY3ZTk3ZjU5ZjVjMmRhMzU2NWZmPQo0MmNkZDU4MDQ1NGIwIgog
IH0sCiAgIm5iZm9ybWF0IjogMywKICAibmJmb3JtYXRfbWlub3IiOiAwLApAQCAtMjM2LDcgKzIz
Niw3IEBACiAgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCiAgICAgICJjb2xsYXBzZWQiOiBmYWxz
ZSwKICAgICAgImlucHV0IjogWwotICAgICAgInExID0zRCB5dC5ZVEFycmF5KDEuMCxcIkNcIikg
IyBDb3Vsb21ic1xuIiwKKyAgICAgICJxMSA9M0QgeXQuWVRBcnJheSgxLjAsXCJDXCIpICMgY291
bG9tYnNcbiIsCiAgICAgICAicTIgPTNEIHl0LllUQXJyYXkoMS4wLFwiZXN1XCIpICMgZWxlY3Ry
b3N0YXRpYyB1bml0cyAvIHN0YXRjb3Vsb21iXD0KbiIsCiAgICAgICAiXG4iLAogICAgICAgInBy
aW50IFwidW5pdHMgPTNEXCIsIHExLmluX21rcygpLnVuaXRzLCBcIiwgZGltcyA9M0RcIiwgcTEu
dW5pdHMuZGk9Cm1lbnNpb25zXG4iLApAQCAtMjQ3LDIxICsyNDcsMTQgQEAKICAgICAgIm91dHB1
dHMiOiBbXQogICAgIH0sCiAgICAgewotICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKLSAg
ICAgIm1ldGFkYXRhIjoge30sCi0gICAgICJzb3VyY2UiOiBbCi0gICAgICAiVW5kZXIgdGhlIGhv
b2QsIHRoZSBgeXRgIHVuaXRzIHN5c3RlbSBoYXMgYSB0cmFuc2xhdGlvbiBsYXllciB0aGF0ID0K
Y29udmVydHMgYmV0d2VlbiB0aGVzZSB0d28gc3lzdGVtcywgd2l0aG91dCBhbnkgZnVydGhlciBl
ZmZvcnQgcmVxdWlyZWQuIEZvPQpyIGV4YW1wbGU6IgotICAgICBdCi0gICAgfSwKLSAgICB7CiAg
ICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCiAgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKICAgICAg
ImlucHV0IjogWwotICAgICAgImZyb20geXQudXRpbGl0aWVzLnBoeXNpY2FsX2NvbnN0YW50cyBp
bXBvcnQgZWxlbWVudGFyeV9jaGFyZ2VcbiIsCisgICAgICAiQjEgPTNEIHl0LllUQXJyYXkoMS4w
LFwiVFwiKSAjIHRlc2xhXG4iLAorICAgICAgIkIyID0zRCB5dC5ZVEFycmF5KDEuMCxcImdhdXNz
XCIpICMgZ2F1c3NcbiIsCiAgICAgICAiXG4iLAotICAgICAgInByaW50IGVsZW1lbnRhcnlfY2hh
cmdlXG4iLAotICAgICAgImVsZW1lbnRhcnlfY2hhcmdlX0MgPTNEIGVsZW1lbnRhcnlfY2hhcmdl
LmluX3VuaXRzKFwiQ1wiKVxuIiwKLSAgICAgICJwcmludCBlbGVtZW50YXJ5X2NoYXJnZV9DIgor
ICAgICAgInByaW50IFwidW5pdHMgPTNEXCIsIEIxLmluX21rcygpLnVuaXRzLCBcIiwgZGltcyA9
M0RcIiwgQjEudW5pdHMuZGk9Cm1lbnNpb25zXG4iLAorICAgICAgInByaW50IFwidW5pdHMgPTNE
XCIsIEIyLmluX2NncygpLnVuaXRzLCBcIiwgZGltcyA9M0RcIiwgQjIudW5pdHMuZGk9Cm1lbnNp
b25zIgogICAgICBdLAogICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKICAgICAgIm1ldGFkYXRh
Ijoge30sCkBAIC0yNzEsMTMgKzI2NCw3IEBACiAgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24i
LAogICAgICAibWV0YWRhdGEiOiB7fSwKICAgICAgInNvdXJjZSI6IFsKLSAgICAgICJUaGUgZWxl
Y3Ryb21hZ25ldGljIHVuaXQgdHJhbnNsYXRpb25zIGB5dGAgdW5kZXJzdGFuZHMgYXJlOlxuIiwK
LSAgICAgICJcbiIsCi0gICAgICAiKiBDaGFyZ2U6IDEgY291bG9tYiAoQykgJFxcbGVmdHJpZ2h0
YXJyb3ckIDAuMWMgZWxlY3Ryb3N0YXRpYyB1bml0ID0KKGVzdSwgRnIpXG4iLAotICAgICAgIiog
Q3VycmVudDogMSBhbXBlcmUgKEEsIEMvcykgJFxcbGVmdHJpZ2h0YXJyb3ckIDAuMWMgc3RhdGFt
cGVyZSAoc3Q9CmF0QSwgZXN1L3MsIEZyKSBcbiIsCi0gICAgICAiKiBNYWduZXRpYyBGaWVsZDog
MSB0ZXNsYSAoVCkgJFxcbGVmdHJpZ2h0YXJyb3cgMTBeNCQgZ2F1c3MgKEcpXG4iLAotICAgICAg
IlxuIiwKLSAgICAgICJ3aGVyZSBcIkZyXCIgaXMgdGhlIGZyYW5rbGluLCBhbiBhbHRlcm5hdGl2
ZSBuYW1lIGZvciB0aGUgZWxlY3Ryb3N0PQphdGljIHVuaXQsIGFuZCBjIGlzIHRoZSBzcGVlZCBv
ZiBsaWdodC4gIgorICAgICAgIlRvIGNvbnZlcnQgYmV0d2VlbiB0aGVzZSB0d28gc3lzdGVtcywg
dXNlIFtVbml0IEVxdWl2YWxlbmNpZXNdKHVuaXQ9Cl9lcXVpdmFsZW5jaWVzLmh0bWwpLiIKICAg
ICAgXQogICAgIH0sCiAgICAgewoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1
MjVjZWEwMDliZThhIC1yIDIwY2NlOTg0MGYxY2I4ZjY0MzhlZGY1PQoxZDZmMGVhNzE0YmQ2MTg1
YyBkb2Mvc291cmNlL2FuYWx5emluZy91bml0cy82KV9Vbml0X0VxdWl2YWxlbmNpZXMuaXB5bmIK
LS0tIGEvZG9jL3NvdXJjZS9hbmFseXppbmcvdW5pdHMvNilfVW5pdF9FcXVpdmFsZW5jaWVzLmlw
eW5iCisrKyBiL2RvYy9zb3VyY2UvYW5hbHl6aW5nL3VuaXRzLzYpX1VuaXRfRXF1aXZhbGVuY2ll
cy5pcHluYgpAQCAtMSw3ICsxLDcgQEAKIHsKICAibWV0YWRhdGEiOiB7CiAgICJuYW1lIjogIiIs
Ci0gICJzaWduYXR1cmUiOiAic2hhMjU2OmI2MmQ4M2MxNjg4MjhhZmE4MWJjZjA2MDNiYjM3ZDMx
ODNmMmE4MTAyNThmMjU5NjMyNT0KNGZmYjI0YTBhY2Q4MiIKKyAgInNpZ25hdHVyZSI6ICJzaGEy
NTY6ZjBiYmVlNjdiNDI5ZDNmZGU3Njg1NjhhZGI0NzU5MDhjYmJlMDRjNDI4Y2FmYjVhNDVjPQpk
MDFkNmIwZGUxNzQ1IgogIH0sCiAgIm5iZm9ybWF0IjogMywKICAibmJmb3JtYXRfbWlub3IiOiAw
LApAQCAtMzQsNiArMzQsNyBAQAogICAgICAiY29sbGFwc2VkIjogZmFsc2UsCiAgICAgICJpbnB1
dCI6IFsKICAgICAgICJpbXBvcnQgeXRcbiIsCisgICAgICAiZnJvbSB5dCBpbXBvcnQgWVRRdWFu
dGl0eVxuIiwKICAgICAgICJpbXBvcnQgbnVtcHkgYXMgbnBcbiIsCiAgICAgICAiXG4iLAogICAg
ICAgImRzID0zRCB5dC5sb2FkKCdJc29sYXRlZEdhbGF4eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAn
KVxuIiwKQEAgLTU2LDcgKzU3LDcgQEAKICAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCiAg
ICAgICJtZXRhZGF0YSI6IHt9LAogICAgICAic291cmNlIjogWwotICAgICAgIkVxdWl2YWxlbmNp
ZXMgY2FuIGdvIGluIGJvdGggZGlyZWN0aW9ucywgd2l0aG91dCBhbnkgaW5mb3JtYXRpb24gcmU9
CnF1aXJlZCBvdGhlciB0aGFuIHRoZSB1bml0IHlvdSB3YW50IHRvIGNvbnZlcnQgdG86IgorICAg
ICAgIk1vc3QgZXF1aXZhbGVuY2llcyBjYW4gZ28gaW4gYm90aCBkaXJlY3Rpb25zLCB3aXRob3V0
IGFueSBpbmZvcm1hdGk9Cm9uIHJlcXVpcmVkIG90aGVyIHRoYW4gdGhlIHVuaXQgeW91IHdhbnQg
dG8gY29udmVydCB0byAodGhpcyBpcyBub3QgdGhlIGNhcz0KZSBmb3IgdGhlIGVsZWN0cm9tYWdu
ZXRpYyBlcXVpdmFsZW5jaWVzLCB3aGljaCB3ZSdsbCBkaXNjdXNzIGxhdGVyKToiCiAgICAgIF0K
ICAgICB9LAogICAgIHsKQEAgLTEzMCw2ICsxMzEsMTE0IEBACiAgICAgICJsZXZlbCI6IDMsCiAg
ICAgICJtZXRhZGF0YSI6IHt9LAogICAgICAic291cmNlIjogWworICAgICAgIkVsZWN0cm9tYWdu
ZXRpYyBFcXVpdmFsZW5jaWVzIgorICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5
cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsK
KyAgICAgICJTcGVjaWFsLCBvbmUtd2F5IGVxdWl2YWxlbmNpZXMgZXhpc3QgZm9yIGNvbnZlcnRp
bmcgYmV0d2VlbiBlbGVjdHJvPQptYWduZXRpYyB1bml0cyBpbiB0aGUgY2dzIGFuZCBTSSB1bml0
IHN5c3RlbXMuIFRoZXNlIGV4aXN0IHNpbmNlIGluIHRoZSBjZ3M9CiBzeXN0ZW0sIGVsZWN0cm9t
YWduZXRpYyB1bml0cyBhcmUgY29tcHJpc2VkIG9mIHRoZSBiYXNlIHVuaXRzIG9mIHNlY29uZHMs
ID0KZ3JhbXMgYW5kIGNlbnRpbWV0ZXJzLCB3aGVyZWFzIGluIHRoZSBTSSBzeXN0ZW0gQW1wZXJl
IGlzIGEgYmFzZSB1bml0LiBGb3IgPQpleGFtcGxlLCB0aGUgZGltZW5zaW9ucyBvZiBjaGFyZ2Ug
YXJlIGNvbXBsZXRlbHkgZGlmZmVyZW50IGluIHRoZSB0d28gc3lzdGU9Cm1zOiIKKyAgICAgXQor
ICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2Vk
IjogZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJRMSA9M0QgWVRRdWFudGl0eSgxLjAs
XCJDXCIpXG4iLAorICAgICAgIlEyID0zRCBZVFF1YW50aXR5KDEuMCxcImVzdVwiKVxuIiwKKyAg
ICAgICJwcmludCBcIlExIGRpbXMgPTNEXCIsIFExLnVuaXRzLmRpbWVuc2lvbnNcbiIsCisgICAg
ICAicHJpbnQgXCJRMiBkaW1zID0zRFwiLCBRMi51bml0cy5kaW1lbnNpb25zXG4iLAorICAgICAg
InByaW50IFwiUTEgYmFzZSB1bml0cyA9M0RcIiwgUTEuaW5fbWtzKClcbiIsCisgICAgICAicHJp
bnQgXCJRMiBiYXNlIHVuaXRzID0zRFwiLCBRMi5pbl9jZ3MoKSIKKyAgICAgXSwKKyAgICAgImxh
bmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6
IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAi
bWV0YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAgICAgICJUbyBjb252ZXJ0IGZyb20g
YSBjZ3MgdW5pdCB0byBhbiBTSSB1bml0LCB1c2UgdGhlIFwiU0lcIiBlcXVpdmFsZW5jPQp5OiIK
KyAgICAgXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAi
Y29sbGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJmcm9tIHl0LnV0aWxp
dGllcy5waHlzaWNhbF9jb25zdGFudHMgaW1wb3J0IHFwICMgdGhlIGVsZW1lbnRhcnkgY2hhPQpy
Z2UgaW4gZXN1XG4iLAorICAgICAgInFwX1NJID0zRCBxcC50b19lcXVpdmFsZW50KFwiQ1wiLFwi
U0lcIikgIyBjb252ZXJ0IHRvIENvdWxvbWJzXG4iLAorICAgICAgInByaW50IHFwXG4iLAorICAg
ICAgInByaW50IHFwX1NJIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAg
ICAgIm1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9LAorICAgIHsKKyAg
ICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAi
c291cmNlIjogWworICAgICAgIlRvIGNvbnZlcnQgZnJvbSBhbiBTSSB1bml0IHRvIGEgY2dzIHVu
aXQsIHVzZSB0aGUgXCJDR1NcIiBlcXVpdmFsZW49CmN5OiIKKyAgICAgXQorICAgIH0sCisgICAg
eworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisg
ICAgICJpbnB1dCI6IFsKKyAgICAgICJCID0zRCBZVFF1YW50aXR5KDEuMCxcIlRcIikgIyBtYWdu
ZXRpYyBmaWVsZCBpbiBUZXNsYVxuIiwKKyAgICAgICJwcmludCBCLCBCLnRvX2VxdWl2YWxlbnQo
XCJnYXVzc1wiLFwiQ0dTXCIpICMgY29udmVydCB0byBHYXVzcyIKKyAgICAgXSwKKyAgICAgImxh
bmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6
IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAi
bWV0YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAgICAgICJFcXVpdmFsZW5jaWVzIGV4
aXN0IGJldHdlZW4gdGhlIFNJIGFuZCBjZ3MgZGltZW5zaW9ucyBvZiBjaGFyZ2UsIGN1PQpycmVu
dCwgbWFnbmV0aWMgZmllbGQsIGVsZWN0cmljIHBvdGVudGlhbCwgYW5kIHJlc2lzdGFuY2UuIEFz
IGEgbmVhdCBleGFtcGw9CmUsIHdlIGNhbiBjb252ZXJ0IGN1cnJlbnQgaW4gQW1wZXJlcyBhbmQg
cmVzaXN0YW5jZSBpbiBPaG1zIHRvIHRoZWlyIGNncyBlcT0KdWl2YWxlbnRzLCBhbmQgdGhlbiB1
c2UgdGhlbSB0byBjYWxjdWxhdGUgdGhlIFwiSm91bGUgaGVhdGluZ1wiIG9mIGEgY29uZHVjPQp0
b3Igd2l0aCByZXNpc3RhbmNlICRSJCBhbmQgY3VycmVudCAkSSQ6IgorICAgICBdCisgICAgfSwK
KyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQiOiBmYWxz
ZSwKKyAgICAgImlucHV0IjogWworICAgICAgIkkgPTNEIFlUUXVhbnRpdHkoMS4wLFwiQVwiKVxu
IiwKKyAgICAgICJJX2NncyA9M0QgSS50b19lcXVpdmFsZW50KFwic3RhdEFcIixcIkNHU1wiKVxu
IiwKKyAgICAgICJSID0zRCBZVFF1YW50aXR5KDEuMCxcIm9obVwiKVxuIiwKKyAgICAgICJSX2Nn
cyA9M0QgUi50b19lcXVpdmFsZW50KFwic3RhdG9obVwiLFwiQ0dTXCIpXG4iLAorICAgICAgIlAg
PTNEIEkqKjIqUlxuIiwKKyAgICAgICJQX2NncyA9M0QgSV9jZ3MqKjIqUl9jZ3MiCisgICAgIF0s
CisgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAg
Im91dHB1dHMiOiBbXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3du
IiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJzb3VyY2UiOiBbCisgICAgICAiVGhlIGRp
bWVuc2lvbnMgb2YgY3VycmVudCBhbmQgcmVzaXN0YW5jZSBpbiB0aGUgdHdvIHN5c3RlbXMgYXJl
IGNvbT0KcGxldGVseSBkaWZmZXJlbnQsIGJ1dCB0aGUgZm9ybXVsYSBnaXZlcyB1cyB0aGUgcG93
ZXIgZGlzc2lwYXRlZCBkaW1lbnNpb25zPQogb2YgZW5lcmd5IHBlciB0aW1lLCBzbyB0aGUgZGlt
ZW5zaW9ucyBhbmQgdGhlIHJlc3VsdCBzaG91bGQgYmUgdGhlIHNhbWUsIHc9CmhpY2ggd2UgY2Fu
IGNoZWNrOiIKKyAgICAgXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUi
LAorICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJwcmlu
dCBQX2Nncy51bml0cy5kaW1lbnNpb25zID0zRD0zRCBQLnVuaXRzLmRpbWVuc2lvbnNcbiIsCisg
ICAgICAicHJpbnQgUC5pbl91bml0cyhcIldcIiksIFBfY2dzLmluX3VuaXRzKFwiV1wiKSIKKyAg
ICAgXSwKKyAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAor
ICAgICAib3V0cHV0cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiaGVh
ZGluZyIsCisgICAgICJsZXZlbCI6IDMsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291
cmNlIjogWwogICAgICAgIkRldGVybWluaW5nIFZhbGlkIEVxdWl2YWxlbmNpZXMiCiAgICAgIF0K
ICAgICB9LAoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThh
IC1yIDIwY2NlOTg0MGYxY2I4ZjY0MzhlZGY1PQoxZDZmMGVhNzE0YmQ2MTg1YyBkb2Mvc291cmNl
L2Nvb2tib29rL3BhcnRpY2xlX29uZV9jb2xvcl9wbG90LnB5Ci0tLSAvZGV2L251bGwKKysrIGIv
ZG9jL3NvdXJjZS9jb29rYm9vay9wYXJ0aWNsZV9vbmVfY29sb3JfcGxvdC5weQpAQCAtMCwwICsx
LDEzIEBACitpbXBvcnQgeXQKKworIyBsb2FkIHRoZSBkYXRhc2V0CitkcyA9M0QgeXQubG9hZCgn
SXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwJykKKworIyBjcmVhdGUgb3VyIHBs
b3QKK3AgPTNEIHl0LlBhcnRpY2xlUGxvdChkcywgJ3BhcnRpY2xlX3Bvc2l0aW9uX3gnLCAncGFy
dGljbGVfcG9zaXRpb25feScsIGNvPQpsb3I9M0QnYicpCisKKyMgem9vbSBpbiBhIGxpdHRsZSBi
aXQKK3Auc2V0X3dpZHRoKDUwMCwgJ2twYycpCisKKyNzYXZlIHJlc3VsdAorcC5zYXZlKCkKCmRp
ZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAyMGNjZTk4
NDBmMWNiOGY2NDM4ZWRmNT0KMWQ2ZjBlYTcxNGJkNjE4NWMgZG9jL3NvdXJjZS9jb29rYm9vay9w
YXJ0aWNsZV94dnpfcGxvdC5weQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zb3VyY2UvY29va2Jv
b2svcGFydGljbGVfeHZ6X3Bsb3QucHkKQEAgLTAsMCArMSwxNSBAQAoraW1wb3J0IHl0CisKKyMg
bG9hZCB0aGUgZGF0YXNldAorZHMgPTNEIHl0LmxvYWQoJ0lzb2xhdGVkR2FsYXh5L2dhbGF4eTAw
MzAvZ2FsYXh5MDAzMCcpCisKKyMgY3JlYXRlIG91ciBwbG90CitwID0zRCB5dC5QYXJ0aWNsZVBs
b3QoZHMsICdwYXJ0aWNsZV9wb3NpdGlvbl94JywgJ3BhcnRpY2xlX3ZlbG9jaXR5X3onLCBbJz0K
cGFydGljbGVfbWFzcyddKQorCisjIHBpY2sgc29tZSBhcHByb3ByaWF0ZSB1bml0cworcC5zZXRf
dW5pdCgncGFydGljbGVfcG9zaXRpb25feCcsICdNcGMnKQorcC5zZXRfdW5pdCgncGFydGljbGVf
dmVsb2NpdHlfeicsICdrbS9zJykKK3Auc2V0X3VuaXQoJ3BhcnRpY2xlX21hc3MnLCAnTXN1bicp
CisKKyMgc2F2ZSByZXN1bHQKK3Auc2F2ZSgpCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFl
MjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3
MTRiZDYxODVjIGRvYy9zb3VyY2UvY29va2Jvb2svcGFydGljbGVfeHlfcGxvdC5weQotLS0gL2Rl
di9udWxsCisrKyBiL2RvYy9zb3VyY2UvY29va2Jvb2svcGFydGljbGVfeHlfcGxvdC5weQpAQCAt
MCwwICsxLDE0IEBACitpbXBvcnQgeXQKKworIyBsb2FkIHRoZSBkYXRhc2V0CitkcyA9M0QgeXQu
bG9hZCgnSXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwJykKKworIyBjcmVhdGUg
b3VyIHBsb3QKK3AgPTNEIHl0LlBhcnRpY2xlUGxvdChkcywgJ3BhcnRpY2xlX3Bvc2l0aW9uX3gn
LCAncGFydGljbGVfcG9zaXRpb25feScsICdwPQphcnRpY2xlX21hc3MnLCB3aWR0aD0zRCgwLjUs
IDAuNSkpCisKKyMgcGljayBzb21lIGFwcHJvcHJpYXRlIHVuaXRzCitwLnNldF9heGVzX3VuaXQo
J2twYycpCitwLnNldF91bml0KCdwYXJ0aWNsZV9tYXNzJywgJ01zdW4nKQorCisjc2F2ZSByZXN1
bHQKK3Auc2F2ZSgpCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAw
OWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVjIGRvYy9z
b3VyY2UvY29va2Jvb2svcmVuZGVyaW5nX3dpdGhfYm94X2FuZF9ncmlkcy5weQotLS0gYS9kb2Mv
c291cmNlL2Nvb2tib29rL3JlbmRlcmluZ193aXRoX2JveF9hbmRfZ3JpZHMucHkKKysrIGIvZG9j
L3NvdXJjZS9jb29rYm9vay9yZW5kZXJpbmdfd2l0aF9ib3hfYW5kX2dyaWRzLnB5CkBAIC0xNSw3
ICsxNSw3IEBACiAjIFdlIGJ1bXAgdXAgb3VyIG1pbmltdW0gdG8gY3V0IG91dCBzb21lIG9mIHRo
ZSBiYWNrZ3JvdW5kIGZsdWlkCiB0ZiA9M0QgeXQuQ29sb3JUcmFuc2ZlckZ1bmN0aW9uKChucC5s
b2cxMChtaSkrMi4wLCBucC5sb2cxMChtYSkpKQo9MjAKLSMgQWRkIHRocmVlIGd1YXNzaWFucywg
ZXZlbmx5IHNwYWNlZCBiZXR3ZWVuIHRoZSBtaW4gYW5kCisjIEFkZCB0aHJlZSBHYXVzc2lhbnMs
IGV2ZW5seSBzcGFjZWQgYmV0d2VlbiB0aGUgbWluIGFuZAogIyBtYXggc3BlY2lmaWVkIGFib3Zl
IHdpdGggd2lkdGhzIG9mIDAuMDIgYW5kIHVzaW5nIHRoZQogIyBnaXN0X3N0ZXJuIGNvbG9ybWFw
LgogdGYuYWRkX2xheWVycygzLCB3PTNEMC4wMiwgY29sb3JtYXA9M0QiZ2lzdF9zdGVybiIpCgpk
aWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5
ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVjIGRvYy9zb3VyY2UvY29va2Jvb2sv
c2ltcGxlX3Bsb3RzLnJzdAotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL3NpbXBsZV9wbG90cy5y
c3QKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay9zaW1wbGVfcGxvdHMucnN0CkBAIC0xMjQsNiAr
MTI0LDQxIEBACj0yMAogLi4geXRfY29va2Jvb2s6OiBzaW1wbGVfb2ZmX2F4aXNfcHJvamVjdGlv
bi5weQo9MjAKKy4uIF9jb29rYm9vay1zaW1wbGUtcGFydGljbGUtcGxvdDoKKworU2ltcGxlIFBh
cnRpY2xlIFBsb3QKK35+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1lvdSBjYW4gYWxzbyB1c2UgeXQg
dG8gbWFrZSBwYXJ0aWNsZS1vbmx5IHBsb3RzLiBUaGlzIHNjcmlwdCBzaG93cyBob3cgdG8KK3Bs
b3QgYWxsIHRoZSBwYXJ0aWNsZSB4IGFuZCB5IHBvc2l0aW9ucyBpbiBhIGRhdGFzZXQsIHVzaW5n
IHRoZSBwYXJ0aWNsZSBtPQphc3MKK3RvIHNldCB0aGUgY29sb3Igc2NhbGUuCitTZWUgOnJlZjpg
cGFydGljbGUtcGxvdHNgIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisuLiB5dF9jb29rYm9vazo6
IHBhcnRpY2xlX3h5X3Bsb3QucHkKKworLi4gX2Nvb2tib29rLW5vbi1zcGF0aWFsLXBhcnRpY2xl
LXBsb3Q6CisKK05vbi1zcGF0aWFsIFBhcnRpY2xlIFBsb3RzCit+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fgorCitZb3UgYXJlIG5vdCBsaW1pdGVkIHRvIHBsb3R0aW5nIHNwYXRpYWwgZmllbGRz
IG9uIHRoZSB4IGFuZCB5IGF4ZXMuIFRoaXMKK2V4YW1wbGUgc2hvd3MgaG93IHRvIHBsb3QgdGhl
IHBhcnRpY2xlIHgtY29vcmRpbmF0ZXMgdmVyc3VzIHRoZWlyIHotdmVsb2NpPQp0aWVzLAorYWdh
aW4gdXNpbmcgdGhlIHBhcnRpY2xlIG1hc3MgdG8gc2V0IHRoZSBjb2xvcmJhci49MjAKK1NlZSA6
cmVmOmBwYXJ0aWNsZS1wbG90c2AgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKy4uIHl0X2Nvb2ti
b29rOjogcGFydGljbGVfeHZ6X3Bsb3QucHkKKworLi4gX2Nvb2tib29rLXNpbmdsZS1jb2xvci1w
YXJ0aWNsZS1wbG90OgorCitTaW5nbGUtY29sb3IgUGFydGljbGUgUGxvdHMKK35+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fgorCitJZiB5b3UgZG9uJ3Qgd2FudCB0byBkaXNwbGF5IGEgdGhpcmQg
ZmllbGQgb24gdGhlIGNvbG9yIGJhciBheGlzLCBzaW1wbHkgcD0KYXNzCitpbiBhIGNvbG9yIHN0
cmluZyBpbnN0ZWFkIG9mIGEgcGFydGljbGUgZmllbGQuCitTZWUgOnJlZjpgcGFydGljbGUtcGxv
dHNgIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisuLiB5dF9jb29rYm9vazo6IHBhcnRpY2xlX29u
ZV9jb2xvcl9wbG90LnB5CisKIC4uIF9jb29rYm9vay1zaW1wbGVfdm9sdW1lX3JlbmRlcmluZzoK
PTIwCiBTaW1wbGUgVm9sdW1lIFJlbmRlcmluZwoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhh
ZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDIwY2NlOTg0MGYxY2I4ZjY0MzhlZGY1PQoxZDZmMGVh
NzE0YmQ2MTg1YyBkb2Mvc291cmNlL2Nvb2tib29rL3NpbXBsZV92b2x1bWVfcmVuZGVyaW5nLnB5
Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2svc2ltcGxlX3ZvbHVtZV9yZW5kZXJpbmcucHkKKysr
IGIvZG9jL3NvdXJjZS9jb29rYm9vay9zaW1wbGVfdm9sdW1lX3JlbmRlcmluZy5weQpAQCAtMTUs
OSArMTUsOSBAQAogIyBXZSBidW1wIHVwIG91ciBtaW5pbXVtIHRvIGN1dCBvdXQgc29tZSBvZiB0
aGUgYmFja2dyb3VuZCBmbHVpZAogdGYgPTNEIHl0LkNvbG9yVHJhbnNmZXJGdW5jdGlvbigobnAu
bG9nMTAobWkpKzEsIG5wLmxvZzEwKG1hKSkpCj0yMAotIyBBZGQgdGhyZWUgZ3Vhc3NpYW5zLCBl
dmVubHkgc3BhY2VkIGJldHdlZW4gdGhlIG1pbiBhbmQKKyMgQWRkIGZpdmUgR2F1c3NpYW5zLCBl
dmVubHkgc3BhY2VkIGJldHdlZW4gdGhlIG1pbiBhbmQKICMgbWF4IHNwZWNpZmllZCBhYm92ZSB3
aXRoIHdpZHRocyBvZiAwLjAyIGFuZCB1c2luZyB0aGUKLSMgZ2lzdF9zdGVybiBjb2xvcm1hcC4K
KyMgc3BlY3RyYWwgY29sb3JtYXAuCiB0Zi5hZGRfbGF5ZXJzKDUsIHc9M0QwLjAyLCBjb2xvcm1h
cD0zRCJzcGVjdHJhbCIpCj0yMAogIyBDaG9vc2UgYSBjZW50ZXIgZm9yIHRoZSByZW5kZXIuCgpk
aWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5
ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVjIGRvYy9zb3VyY2UvZGV2ZWxvcGlu
Zy9kZXZlbG9waW5nLnJzdAotLS0gYS9kb2Mvc291cmNlL2RldmVsb3BpbmcvZGV2ZWxvcGluZy5y
c3QKKysrIGIvZG9jL3NvdXJjZS9kZXZlbG9waW5nL2RldmVsb3BpbmcucnN0CkBAIC01LDkgKzUs
OSBAQAo9MjAKIC4uIG5vdGU6OiBJZiB5b3UgYWxyZWFkeSBrbm93IGhvdyB0byB1c2UgdmVyc2lv
biBjb250cm9sIGFuZCBhcmUgY29tZm9ydGFiPQpsZQogICAgd2l0aCBoYW5kbGluZyBpdCB5b3Vy
c2VsZiwgdGhlIHF1aWNrZXN0IHdheSB0byBjb250cmlidXRlIHRvIHl0IGlzIHRvIGA9CmZvcmsK
LSAgIHVzIG9uIEJpdEJ1Y2tldCA8aHR0cDovL2hnLnl0LXByb2plY3Qub3JnL3l0L2Zvcms+YF8s
IGBtYWtlIHlvdXIgY2hhbmdlcworICAgdXMgb24gQml0QnVja2V0IDxodHRwOi8vYml0YnVja2V0
Lm9yZy95dF9hbmFseXNpcy95dC9mb3JrPmBfLCBgbWFrZSB5b3U9CnIgY2hhbmdlcwogICAgPGh0
dHA6Ly9tZXJjdXJpYWwuc2VsZW5pYy5jb20vPmBfLCBhbmQgaXNzdWUgYSBgcHVsbCByZXF1ZXN0
Ci0gICA8aHR0cDovL2hnLnl0LXByb2plY3Qub3JnL3l0L3B1bGwtcmVxdWVzdHM+YF8uICBUaGUg
cmVzdCBvZiB0aGlzIGRvY3VtZT0KbnQgaXMganVzdCBhbgorICAgPGh0dHA6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0L3B1bGwtcmVxdWVzdHM+YF8uICBUaGUgcmVzdCBvZiB0aGk9CnMg
ZG9jdW1lbnQgaXMganVzdCBhbgogICAgZXhwbGFuYXRpb24gb2YgaG93IHRvIGRvIHRoYXQuCj0y
MAogeXQgaXMgYSBjb21tdW5pdHkgcHJvamVjdCEKQEAgLTM1NCw3ICszNTQsNyBAQAogLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPTIwCiB5dCBpcyBob3N0ZWQgb24gQml0
QnVja2V0LCBhbmQgeW91IGNhbiBzZWUgYWxsIG9mIHRoZSB5dCByZXBvc2l0b3JpZXMgYXQKLWh0
dHA6Ly9oZy55dC1wcm9qZWN0Lm9yZy8uICBXaXRoIHRoZSB5dCBpbnN0YWxsYXRpb24gc2NyaXB0
IHlvdSBzaG91bGQgaGF2PQplIGEKK2h0dHA6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzLy4g
IFdpdGggdGhlIHl0IGluc3RhbGxhdGlvbiBzY3JpcHQgeW91IHNoPQpvdWxkIGhhdmUgYQogY29w
eSBvZiBNZXJjdXJpYWwgZm9yIGNoZWNraW5nIG91dCBwaWVjZXMgb2YgY29kZS4gIE1ha2Ugc3Vy
ZSB5b3UgaGF2ZSBmb2w9Cmxvd2VkCiB0aGUgc3RlcHMgYWJvdmUgZm9yIGJvb3RzdHJhcHBpbmcg
eW91ciBkZXZlbG9wbWVudCAodG8gYXNzdXJlIHlvdSBoYXZlIGEKIGJpdGJ1Y2tldCBhY2NvdW50
LCBldGMuKQoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThh
IC1yIDIwY2NlOTg0MGYxY2I4ZjY0MzhlZGY1PQoxZDZmMGVhNzE0YmQ2MTg1YyBkb2Mvc291cmNl
L2V4YW1pbmluZy9sb2FkaW5nX2RhdGEucnN0Ci0tLSBhL2RvYy9zb3VyY2UvZXhhbWluaW5nL2xv
YWRpbmdfZGF0YS5yc3QKKysrIGIvZG9jL3NvdXJjZS9leGFtaW5pbmcvbG9hZGluZ19kYXRhLnJz
dApAQCAtNDY5LDYgKzQ2OSw4IEBACiAgIGZpcnN0IGltYWdlIGluIHRoZSBwcmltYXJ5IGZpbGUu
IElmIHRoaXMgaXMgbm90IHRoZSBjYXNlLAogICB5dCB3aWxsIHJhaXNlIGEgd2FybmluZyBhbmQg
d2lsbCBub3QgbG9hZCB0aGlzIGZpZWxkLgo9MjAKKy4uIF9hZGRpdGlvbmFsX2ZpdHNfb3B0aW9u
czoKKwogQWRkaXRpb25hbCBPcHRpb25zCiBeXl5eXl5eXl5eXl5eXl5eXl4KPTIwCkBAIC01NzAs
NiArNTcyLDM1IEBACiBgYFdDU0F4ZXNgYCBpcyBzdGlsbCBpbiBhbiBleHBlcmltZW50YWwgc3Rh
dGUsIGJ1dCBhcyBpdHMgZnVuY3Rpb25hbGl0eSBpbT0KcHJvdmVzIGl0IHdpbGwgYmUKIHV0aWxp
emVkIG1vcmUgaGVyZS4KPTIwCitgYGNyZWF0ZV9zcGVjdHJhbF9zbGFic2BgCisiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiCisKKy4uIG5vdGU6OgorCisgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25h
bGl0eSByZXF1aXJlcyB0aGUgYHNwZWN0cmFsLWN1YmUgPGh0dHA6Ly9zcGVjdHJhbD0KLWN1YmUu
cmVhZHRoZWRvY3Mub3JnPmBfCisgIGxpYnJhcnkgdG8gYmUgaW5zdGFsbGVkLj0yMAorID0yMAor
SWYgeW91IGhhdmUgYSBzcGVjdHJhbCBpbnRlbnNpdHkgZGF0YXNldCBvZiBzb21lIHNvcnQsIGFu
ZCB3b3VsZCBsaWtlIHRvIGU9Cnh0cmFjdCBlbWlzc2lvbiBpbj0yMAorcGFydGljdWxhciBzbGFi
cyBhbG9uZyB0aGUgc3BlY3RyYWwgYXhpcyBvZiBhIGNlcnRhaW4gd2lkdGgsIGBgY3JlYXRlX3Nw
ZWM9CnRyYWxfc2xhYnNgYCBjYW4gYmUKK3VzZWQgdG8gZ2VuZXJhdGUgYSBkYXRhc2V0IHdpdGgg
dGhlc2Ugc2xhYnMgYXMgZGlmZmVyZW50IGZpZWxkcy4gSW4gdGhpcyBlPQp4YW1wbGUsIHdlIHVz
ZSBpdAordG8gZXh0cmFjdCBpbmRpdmlkdWFsIGxpbmVzIGZyb20gYW4gaW50ZW5zaXR5IGN1YmU6
CisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKworICBzbGFiX2NlbnRlcnMgPTNEIHsnMTNDTic6
ICgyMTguMDMxMTcsICdHSHonKSwKKyAgICAgICAgICAgICAgICAgICdDSDNDSDJDSE8nOiAoMjE4
LjI4NDI1NiwgJ0dIeicpLAorICAgICAgICAgICAgICAgICAgJ0NIM05IMic6ICgyMTguNDA5NTYs
ICdHSHonKX0KKyAgc2xhYl93aWR0aCA9M0QgKDAuMDUsICJHSHoiKQorICBkcyA9M0QgY3JlYXRl
X3NwZWN0cmFsX3NsYWJzKCJpbnRlbnNpdHlfY3ViZS5maXRzIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNsYWJfY2VudGVycywgc2xhYl93aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5hbl9tYXNrPTNEMC4wKQorCitBbGwga2V5d29yZCBh
cmd1bWVudHMgdG8gYGNyZWF0ZV9zcGVjdHJhbF9zbGFic2AgYXJlIHBhc3NlZCBvbiB0byBgbG9h
ZGAgdz0KaGVuIGNyZWF0aW5nIHRoZSBkYXRhc2V0Cisoc2VlIDpyZWY6YGFkZGl0aW9uYWxfZml0
c19vcHRpb25zYCBhYm92ZSkuIEluIHRoZSByZXR1cm5lZCBkYXRhc2V0LCB0aGUgZD0KaWZmZXJl
bnQgc2xhYnMgd2lsbCBiZQorZGlmZmVyZW50IGZpZWxkcywgd2l0aCB0aGUgZmllbGQgbmFtZXMg
dGFrZW4gZnJvbSB0aGUga2V5cyBpbiBgYHNsYWJfY2VudGU9CnJzYGAuIFRoZSBXQ1MgY29vcmRp
bmF0ZXM9MjAKK29uIHRoZSBzcGVjdHJhbCBheGlzIGFyZSByZXNldCBzbyB0aGF0IHRoZSBjZW50
ZXIgb2YgdGhlIGRvbWFpbiBhbG9uZyB0aGlzPQogYXhpcyBpcyB6ZXJvLCBhbmQgdGhlPTIwCits
ZWZ0IGFuZCByaWdodCBlZGdlcyBvZiB0aGUgZG9tYWluIGFsb25nIHRoaXMgYXhpcyBhcmUgOm1h
dGg6YFxwbWAgYGAwLjUqcz0KbGFiX3dpZHRoYGAuCisKIEV4YW1wbGVzIG9mIFVzaW5nIEZJVFMg
RGF0YQogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCj0yMApAQCAtNjM1LDEzICs2NjYsMTQg
QEAKICAgIGltcG9ydCB5dAogICAgZHMgPTNEIHl0LmxvYWQoInNuYXBzaG90XzA2MS5oZGY1IikK
PTIwCi1Ib3dldmVyLCB5dCBjYW5ub3QgZGV0ZWN0IHJhdy1iaW5hcnkgR2FkZ2V0IGRhdGEsIGFu
ZCBzbyB5b3UgbXVzdCBzcGVjaWZ5ID0KdGhlCi1mb3JtYXQgYXMgYmVpbmcgR2FkZ2V0OgorR2Fk
Z2V0IGRhdGEgaW4gcmF3IGJpbmFyeSBmb3JtYXQgY2FuIGFsc28gYmUgbG9hZGVkIHdpdGggdGhl
IGBgbG9hZGBgIGNvbW09CmFuZC49MjAKK1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIHNuYXBz
aG90cyBjcmVhdGVkIHdpdGggdGhlIGBgU25hcEZvcm1hdGBgIHBhcmFtPQpldGVyPTIwCitzZXQg
dG8gMSAodGhlIHN0YW5kYXJkIGZvciBHYWRnZXQtMikuCj0yMAogLi4gY29kZS1ibG9jazo6IHB5
dGhvbgo9MjAKICAgIGltcG9ydCB5dAotICAgZHMgPTNEIHl0LkdhZGdldERhdGFzZXQoInNuYXBz
aG90XzA2MSIpCisgICBkcyA9M0QgeXQubG9hZCgic25hcHNob3RfMDYxIikKPTIwCiAuLiBfcGFy
dGljbGUtYmJveDoKPTIwCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNl
YTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVjIGRv
Yy9zb3VyY2UvaGVscC9pbmRleC5yc3QKLS0tIGEvZG9jL3NvdXJjZS9oZWxwL2luZGV4LnJzdAor
KysgYi9kb2Mvc291cmNlL2hlbHAvaW5kZXgucnN0CkBAIC0yMTEsNyArMjExLDcgQEAKIElmIHlv
dSBoYXZlIGdvbmUgdGhyb3VnaCBhbGwgb2YgdGhlIGFib3ZlIHN0ZXBzLCBhbmQgeW91J3JlIHN0
aWxsIGVuY291bnRlPQpyaW5nPTIwCiBwcm9ibGVtcywgdGhlbiB5b3UgaGF2ZSBmb3VuZCBhIGJ1
Zy4gPTIwCiBUbyBzdWJtaXQgYSBidWcgcmVwb3J0LCB5b3UgY2FuIGVpdGhlciBkaXJlY3RseSBj
cmVhdGUgb25lIHRocm91Z2ggdGhlCi1CaXRCdWNrZXQgYHdlYiBpbnRlcmZhY2UgPGh0dHA6Ly9o
Zy55dC1wcm9qZWN0Lm9yZy95dC9pc3N1ZXMvbmV3PmBfLAorQml0QnVja2V0IGB3ZWIgaW50ZXJm
YWNlIDxodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9pc3N1ZXMvbmV3PmA9Cl8s
CiBvciB5b3UgY2FuIHVzZSB0aGUgY29tbWFuZCBsaW5lIGBgeXQgYnVncmVwb3J0YGAgdG8gaW50
ZXJhY3RpdmVseSBjcmVhdGUgbz0KbmUuCiBBbHRlcm5hdGl2ZWx5LCBlbWFpbCB0aGUgYGB5dC11
c2Vyc2BgIG1haWxpbmcgbGlzdCBhbmQgd2Ugd2lsbCBjb25zdHJ1Y3QgYT0KIG5ldwogdGlja2V0
IGluIHlvdXIgc3RlYWQuICBSZW1lbWJlciB0byBpbmNsdWRlIHRoZSBpbmZvcm1hdGlvbgoKZGlm
ZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDIwY2NlOTg0
MGYxY2I4ZjY0MzhlZGY1PQoxZDZmMGVhNzE0YmQ2MTg1YyBkb2Mvc291cmNlL2luc3RhbGxpbmcu
cnN0Ci0tLSBhL2RvYy9zb3VyY2UvaW5zdGFsbGluZy5yc3QKKysrIGIvZG9jL3NvdXJjZS9pbnN0
YWxsaW5nLnJzdApAQCAtNjcsNyArNjcsNyBAQAo9MjAKIC4uIGNvZGUtYmxvY2s6OiBiYXNoCj0y
MAotICB3Z2V0IGh0dHA6Ly9oZy55dC1wcm9qZWN0Lm9yZy95dC9yYXcvc3RhYmxlL2RvYy9pbnN0
YWxsX3NjcmlwdC5zaAorICB3Z2V0IGh0dHA6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L3Jhdy9zdGFibGUvZG9jL2luc3RhbGxfc2NyaXB0LnNoCj0yMAogLi4gX2luc3RhbGxpbmcteXQ6
Cj0yMApAQCAtMjEzLDEwICsyMTMsMzEgQEAKICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrCj0yMAogVG8gaW5zdGFsbCB5dCBmcm9tIHNvdXJjZSwgeW91IG11c3QgbWFrZSBz
dXJlIHlvdSBoYXZlIHl0J3MgZGVwZW5kZW5jaWVzCi1pbnN0YWxsZWQgb24geW91ciBzeXN0ZW0u
ICBUaGVzZSBpbmNsdWRlOiBhIEMgY29tcGlsZXIsIGBgSERGNWBgLCBgYHB5dGhvbj0KYGAsCi1g
YEN5dGhvbmBgLCBgYE51bVB5YGAsIGBgbWF0cGxvdGxpYmBgLCBgYHN5bXB5YGAsIGFuZCBgYGg1
cHlgYC4gRnJvbSBoZXJlLD0KIHlvdQotY2FuIHVzZSBgYHBpcGBgICh3aGljaCBjb21lcyB3aXRo
IGBgUHl0aG9uYGApIHRvIGluc3RhbGwgdGhlIGxhdGVzdCBzdGFibGUKLXZlcnNpb24gb2YgeXQ6
CitpbnN0YWxsZWQgb24geW91ciBzeXN0ZW0uPTIwCisKK0lmIHlvdSB1c2UgYSBMaW51eCBPUywg
dXNlIHlvdXIgZGlzdHJvJ3MgcGFja2FnZSBtYW5hZ2VyIHRvIGluc3RhbGwgdGhlc2UgPQp5dAor
ZGVwZW5kZW5jaWVzIG9uIHlvdXIgc3lzdGVtOgorCistIGBgSERGNWBgCistIGBgemVyb21xYGAK
Ky0gYGBzcWxpdGVgYD0yMAorLSBgYG1lcmN1cmlhbGBgCisKK1RoZW4gaW5zdGFsbCB0aGUgcmVx
dWlyZWQgUHl0aG9uIHBhY2thZ2VzIHdpdGggYGBwaXBgYDoKKworLi4gY29kZS1ibG9jazo6IGJh
c2gKKworICAkIHBpcCBpbnN0YWxsIC1yIHJlcXVpcmVtZW50cy50eHQKKworSWYgeW91J3JlIHVz
aW5nIElQeXRob24gbm90ZWJvb2tzLCB5b3UgY2FuIGluc3RhbGwgaXRzIGRlcGVuZGVuY2llcwor
d2l0aCBgYHBpcGBgIGFzIHdlbGw6CisKKy4uIGNvZGUtYmxvY2s6OiBiYXNoCisKKyAgJCBwaXAg
aW5zdGFsbCAtciBvcHRpb25hbC1yZXF1aXJlbWVudHMudHh0CisKK0Zyb20gaGVyZSwgeW91IGNh
biB1c2UgYGBwaXBgYCAod2hpY2ggY29tZXMgd2l0aCBgYFB5dGhvbmBgKSB0byBpbnN0YWxsIHRo
PQplIGxhdGVzdAorc3RhYmxlIHZlcnNpb24gb2YgeXQ6Cj0yMAogLi4gY29kZS1ibG9jazo6IGJh
c2gKPTIwCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEg
LXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVjIGRvYy9zb3VyY2Uv
cmVmZXJlbmNlL2FwaS9hcGkucnN0Ci0tLSBhL2RvYy9zb3VyY2UvcmVmZXJlbmNlL2FwaS9hcGku
cnN0CisrKyBiL2RvYy9zb3VyY2UvcmVmZXJlbmNlL2FwaS9hcGkucnN0CkBAIC0zMCw2ICszMCwx
NiBAQAogICAgfnl0LnZpc3VhbGl6YXRpb24ucHJvZmlsZV9wbG90dGVyLlBoYXNlUGxvdAogICAg
fnl0LnZpc3VhbGl6YXRpb24ucHJvZmlsZV9wbG90dGVyLlBoYXNlUGxvdE1QTAo9MjAKK1BhcnRp
Y2xlIFBsb3RzCiteXl5eXl5eXl5eXl5eXgorCisuLiBhdXRvc3VtbWFyeTo6CisgICA6dG9jdHJl
ZTogZ2VuZXJhdGVkLworCisgICB+eXQudmlzdWFsaXphdGlvbi5wYXJ0aWNsZV9wbG90cy5QYXJ0
aWNsZVByb2plY3Rpb25QbG90CisgICB+eXQudmlzdWFsaXphdGlvbi5wYXJ0aWNsZV9wbG90cy5Q
YXJ0aWNsZVBoYXNlUGxvdAorICAgfnl0LnZpc3VhbGl6YXRpb24ucGFydGljbGVfcGxvdHMuUGFy
dGljbGVQbG90CisKIEZpeGVkIFJlc29sdXRpb24gUGl4ZWxpemF0aW9uCiBeXl5eXl5eXl5eXl5e
Xl5eXl5eXl5eXl5eXl5eXgo9MjAKQEAgLTM3LDYgKzQ3LDcgQEAKICAgIDp0b2N0cmVlOiBnZW5l
cmF0ZWQvCj0yMAogICAgfnl0LnZpc3VhbGl6YXRpb24uZml4ZWRfcmVzb2x1dGlvbi5GaXhlZFJl
c29sdXRpb25CdWZmZXIKKyAgIH55dC52aXN1YWxpemF0aW9uLmZpeGVkX3Jlc29sdXRpb24uUGFy
dGljbGVJbWFnZUJ1ZmZlcgogICAgfnl0LnZpc3VhbGl6YXRpb24uZml4ZWRfcmVzb2x1dGlvbi5D
eWxpbmRyaWNhbEZpeGVkUmVzb2x1dGlvbkJ1ZmZlcgogICAgfnl0LnZpc3VhbGl6YXRpb24uZml4
ZWRfcmVzb2x1dGlvbi5PYmxpcXVlRml4ZWRSZXNvbHV0aW9uQnVmZmVyCiAgICB+eXQudmlzdWFs
aXphdGlvbi5maXhlZF9yZXNvbHV0aW9uLk9mZkF4aXNQcm9qZWN0aW9uRml4ZWRSZXNvbHV0aW9u
QnVmZj0KZXIKQEAgLTQwOCw2ICs0MTksNyBAQAogICAgfnl0LmRhdGFfb2JqZWN0cy5wcm9maWxl
cy5Qcm9maWxlMUQKICAgIH55dC5kYXRhX29iamVjdHMucHJvZmlsZXMuUHJvZmlsZTJECiAgICB+
eXQuZGF0YV9vYmplY3RzLnByb2ZpbGVzLlByb2ZpbGUzRAorICAgfnl0LmRhdGFfb2JqZWN0cy5w
cm9maWxlcy5QYXJ0aWNsZVByb2ZpbGUKICAgIH55dC5kYXRhX29iamVjdHMucHJvZmlsZXMuY3Jl
YXRlX3Byb2ZpbGUKPTIwCiAuLiBfaGFsb19hbmFseXNpc19yZWY6CkBAIC00OTEsNiArNTAzLDE2
IEBACiAgICB+eXQuZmllbGRzLmZpZWxkX2luZm9fY29udGFpbmVyLkZpZWxkSW5mb0NvbnRhaW5l
ci5hZGRfZmllbGQKICAgIH55dC5kYXRhX29iamVjdHMuc3RhdGljX291dHB1dC5EYXRhc2V0LmFk
ZF9maWVsZAo9MjAKKworUGFydGljbGUgRmlsdGVycworLS0tLS0tLS0tLS0tLS0tLQorCisuLiBh
dXRvc3VtbWFyeTo6CisgICA6dG9jdHJlZTogZ2VuZXJhdGVkLworCisgICB+eXQuZGF0YV9vYmpl
Y3RzLnBhcnRpY2xlX2ZpbHRlcnMuYWRkX3BhcnRpY2xlX2ZpbHRlcgorICAgfnl0LmRhdGFfb2Jq
ZWN0cy5wYXJ0aWNsZV9maWx0ZXJzLnBhcnRpY2xlX2ZpbHRlcgorCiBJbWFnZSBIYW5kbGluZwog
LS0tLS0tLS0tLS0tLS0KPTIwCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUy
NWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYwZWE3MTRiZDYxODVj
IGRvYy9zb3VyY2UvcmVmZXJlbmNlL2NoYW5nZWxvZy5yc3QKLS0tIGEvZG9jL3NvdXJjZS9yZWZl
cmVuY2UvY2hhbmdlbG9nLnJzdAorKysgYi9kb2Mvc291cmNlL3JlZmVyZW5jZS9jaGFuZ2Vsb2cu
cnN0CkBAIC04LDcgKzgsNyBAQAogQ29udHJpYnV0b3JzCiAtLS0tLS0tLS0tLS0KPTIwCi1UaGUg
YENSRURJVFMgZmlsZSA8aHR0cDovL2hnLnl0LXByb2plY3Qub3JnL3l0L3NyYy95dC9DUkVESVRT
PmBfIGNvbnRhaW5zID0KdGhlCitUaGUgYENSRURJVFMgZmlsZSA8aHR0cDovL2JpdGJ1Y2tldC5v
cmcveXRfYW5hbHlzaXMveXQvc3JjL3l0L0NSRURJVFM+YF8gYz0Kb250YWlucyB0aGUKIG1vc3Qg
dXAtdG8tZGF0ZSBsaXN0IG9mIGV2ZXJ5b25lIHdobyBoYXMgY29udHJpYnV0ZWQgdG8gdGhlIHl0
IHNvdXJjZSBjb2RlLgo9MjAKIFZlcnNpb24gMy4xCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2Uw
OGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMjBjY2U5ODQwZjFjYjhmNjQzOGVkZjU9CjFkNmYw
ZWE3MTRiZDYxODVjIGRvYy9zb3VyY2UvdmlzdWFsaXppbmcvcGxvdHMucnN0Ci0tLSBhL2RvYy9z
b3VyY2UvdmlzdWFsaXppbmcvcGxvdHMucnN0CisrKyBiL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcv
cGxvdHMucnN0CkBAIC05NzksNiArOTc5LDIwNiBAQAogYmUgc2V0IGluZGVwZW5kZW50bHkgZm9y
IGVhY2ggYXhpcyBieSBzZXR0aW5nIGBgYWNjdW11bGF0aW9uYGAgdG8gYSBsaXN0IG9mCiBgYFRy
dWVgYC8gYGAtVHJ1ZWBgIC9gYEZhbHNlYGAgdmFsdWVzLgo9MjAKKy4uIF9wYXJ0aWNsZS1wbG90
czoKKworUGFydGljbGUgUGxvdHMKKy0tLS0tLS0tLS0tLS0tCisKK1NsaWNlIGFuZCBwcm9qZWN0
aW9uIHBsb3RzIGJvdGggcHJvdmlkZSBhIGNhbGxiYWNrIGZvciBvdmVyLXBsb3R0aW5nIHBhcnRp
PQpjbGUKK3Bvc2l0aW9ucyBvbnRvIGdhcyBmaWVsZHMuIEhvd2V2ZXIsIHNvbWV0aW1lcyB5b3Ug
d2FudCB0byBwbG90IHRoZSBwYXJ0aWNsPQplPTIwCitxdWFudGl0aWVzIGJ5IHRoZW1zZWx2ZXMs
IHBlcmhhcHMgYmVjYXVzZSB0aGUgZ2FzIGZpZWxkcyBhcmUgbm90IHJlbGV2YW50ID0KdG89MjAK
K3RoZSB5b3VyIHBvaW50LCBvciBwZXJoYXBzIGJlY2F1c2UgeW91ciBkYXRhc2V0IGRvZXNuJ3Qg
Y29udGFpbiBhbnkgZ2FzIGZpPQplbGRzPTIwCitpbiB0aGUgZmlyc3QgcGxhY2UuIEFkZGl0aW9u
YWxseSwgeW91IG1heSB3YW50IHRvIHBsb3QgeW91ciBwYXJ0aWNsZXMgd2l0aD0KIGE9MjAKK3Ro
aXJkIGZpZWxkLCBzdWNoIGFzIHBhcnRpY2xlIG1hc3Mgb3IgYWdlLCAgbWFwcGVkIHRvIGEgY29s
b3JiYXIuPTIwCis6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnBhcnRpY2xlX3Bsb3RzLlBhcnRp
Y2xlUGxvdGAgcHJvdmlkZXMgYSBjb252ZW5pZT0KbnQ9MjAKK3dheSB0byBkbyB0aGlzIGluIHl0
Lj0yMAorCitUaGUgZWFzaWVzdCB3YXkgdG8gbWFrZSBhIDpjbGFzczpgfnl0LnZpc3VhbGl6YXRp
b24ucGFydGljbGVfcGxvdHMuUGFydGljbD0KZVBsb3RgPTIwCitpcyB0byB1c2UgdGhlIGNvbnZl
bmllbmNlIHJvdXRpbmUuIFRoaXMgaGFzIHRoZSBzeW50YXg6CisKKy4uIGNvZGUtYmxvY2s6OiBw
eXRob24KKworICAgcCA9M0QgeXQuUGFydGljbGVQbG90KGRzLCAncGFydGljbGVfcG9zaXRpb25f
eCcsICdwYXJ0aWNsZV9wb3NpdGlvbl95JykKKyAgIHAuc2F2ZSgpCisKK0hlcmUsIGBgZHNgYCBp
cyBhIGRhdGFzZXQgd2UndmUgcHJldmlvdXNseSBvcGVuZWQuIFRoZSBjb21tYW5kcyBjcmVhdGUg
YSBwPQphcnRpY2xlCitwbG90IHRoYXQgc2hvd3MgdGhlIHggYW5kIHkgcG9zaXRpb25zIG9mIGFs
bCB0aGUgcGFydGljbGVzIGluIGBgZHNgYCBhbmQgcz0KYXZlIHRoZT0yMAorcmVzdWx0IHRvIGEg
ZmlsZSBvbiB0aGUgZGlzay4gVGhlIHR5cGUgb2YgcGxvdCByZXR1cm5lZCBkZXBlbmRzIG9uIHRo
ZSBmaWU9CmxkcyB5b3U9MjAKK3Bhc3MgaW47IGluIHRoaXMgY2FzZSwgYGBwYGAgd2lsbCBiZSBh
biA6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnBhcnRpY2xlPQpfcGxvdHMuUGFydGljbGVQcm9q
ZWN0aW9uUGxvdGAsPTIwCitiZWNhdXNlIHRoZSBmaWVsZHMgYXJlIGFsaWduZWQgdG8gdGhlIGNv
b3JkaW5hdGUgc3lzdGVtIG9mIHRoZSBzaW11bGF0aW9uLj0yMAorCitNb3N0IG9mIHRoZSBjYWxs
YmFja3MgdGhlIHdvcmsgZm9yIHNsaWNlIGFuZCBwcm9qZWN0aW9uIHBsb3RzIGFsc28gd29yayBm
b3IKKzpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24ucGFydGljbGVfcGxvdHMuUGFydGljbGVQcm9q
ZWN0aW9uUGxvdGAuCitGb3IgaW5zdGFuY2UsIHdlIGNhbiB6b29tIGluOgorCisuLiBjb2RlLWJs
b2NrOjogcHl0aG9uCisgID0yMAorICAgcCA9M0QgeXQuUGFydGljbGVQbG90KGRzLCAncGFydGlj
bGVfcG9zaXRpb25feCcsICdwYXJ0aWNsZV9wb3NpdGlvbl95JykKKyAgIHAuem9vbSgxMCkKKyAg
IHAuc2F2ZSgnem9vbScpCisKK2NoYW5nZSB0aGUgd2lkdGg6CisKKy4uIGNvZGUtYmxvY2s6OiBw
eXRob24KKworICAgcC5zZXRfd2lkdGgoKDUwMCwgJ2twYycpKQorCitvciBjaGFuZ2UgdGhlIGF4
aXMgdW5pdHM6CisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKworICAgcC5zZXRfdW5pdCgncGFy
dGljbGVfcG9zaXRpb25feCcsICdNcGMnKQorCitIZXJlIGlzIGEgZnVsbCBleGFtcGxlIHRoYXQg
c2hvd3MgdGhlIHNpbXBsZXN0IHdheSB0byB1c2U9MjAKKzpjbGFzczpgfnl0LnZpc3VhbGl6YXRp
b24ucGFydGljbGVfcGxvdHMuUGFydGljbGVQbG90YDoKKworLi4gcHl0aG9uLXNjcmlwdDo6CisK
KyAgIGltcG9ydCB5dAorICAgZHMgPTNEIHl0LmxvYWQoJ0lzb2xhdGVkR2FsYXh5L2dhbGF4eTAw
MzAvZ2FsYXh5MDAzMCcpCisgICBwID0zRCB5dC5QYXJ0aWNsZVBsb3QoZHMsICdwYXJ0aWNsZV9w
b3NpdGlvbl94JywgJ3BhcnRpY2xlX3Bvc2l0aW9uX3knKQorICAgcC5zYXZlKCkKKworSW4gdGhl
IGFib3ZlIGV4YW1wbGVzLCB3ZSBhcmUgc2ltcGx5IHNwbGF0dGluZyBwYXJ0aWNsZSB4IGFuZCB5
IHBvc2l0aW9ucyA9Cm9udG89MjAKK2EgcGxvdCB1c2luZyBzb21lIGNvbG9yLiBXZSBjYW4gYWxz
byBzdXBwbHkgYW4gYWRkaXRpb25hbCBwYXJ0aWNsZSBmaWVsZCwgPQphbmQgbWFwCit0aGF0IHRv
IGEgY29sb3JiYXIuIEZvciBpbnN0YW5jZToKKworLi4gY29kZS1ibG9jazo6IHB5dGhvbgorCisg
ICBwID0zRCB5dC5QYXJ0aWNsZVBsb3QoZHMsICdwYXJ0aWNsZV9wb3NpdGlvbl94JywgJ3BhcnRp
Y2xlX3Bvc2l0aW9uX3knLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcnRpY2xl
X21hc3MnLCB3aWR0aD0zRCgwLjUsIDAuNSkpCisgICBwLnNldF91bml0KCdwYXJ0aWNsZV9tYXNz
JywgJ01zdW4nKQorICAgcC5zYXZlKCkKKword2lsbCBjcmVhdGUgYSBwbG90IHdpdGggdGhlIHBh
cnRpY2xlIG1hc3MgdXNlZCB0byBzZXQgdGhlIGNvbG9yYmFyLj0yMAorU3BlY2lmaWNhbGx5LCA6
Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnBhcnRpY2xlX3Bsb3RzLlBhcnRpY2xlUGxvdGA9MjAK
K3Nob3dzIHRoZSB0b3RhbCBgYHpfZmllbGRgYCBmb3IgYWxsIHRoZSBwYXJ0aWNlcyBpbiBlYWNo
IHBpeGVsIG9uIHRoZT0yMAorY29sb3JiYXIgYXhpczsgdG8gcGxvdCBhdmVyYWdlIHF1YW50aXRp
ZXMgaW5zdGVhZCwgb25lIGNhbiBzdXBwbHkgYT0yMAorYGB3ZWlnaHRfZmllbGRgYCBhcmd1bWVu
dC49MjAKKworSGVyZSBpcyBhIGNvbXBsZXRlIGV4YW1wbGUgdGhhdCB1c2VzIHRoZSBgYHBhcnRp
Y2xlX21hc3NgYCBmaWVsZAordG8gc2V0IHRoZSBjb2xvcmJhciBhbmQgc2hvd3Mgb2ZmIHNvbWUg
b2YgdGhlIG1vZGlmaWNhdGlvbiBmdW5jdGlvbnMgZm9yPTIwCis6Y2xhc3M6YH55dC52aXN1YWxp
emF0aW9uLnBhcnRpY2xlX3Bsb3RzLlBhcnRpY2xlUHJvamVjdGlvblBsb3RgOgorCisuLiBweXRo
b24tc2NyaXB0OjoKKworICAgaW1wb3J0IHl0CisgICBkcyA9M0QgeXQubG9hZCgnSXNvbGF0ZWRH
YWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwJykKKyAgIHAgPTNEIHl0LlBhcnRpY2xlUGxvdChk
cywgJ3BhcnRpY2xlX3Bvc2l0aW9uX3gnLCAncGFydGljbGVfcG9zaXRpb25feScsPTIwCisgICAg
ICAgICAgICAgICAgICAgICAgICdwYXJ0aWNsZV9tYXNzJywgd2lkdGg9M0QoMC41LCAwLjUpKQor
ICAgcC5zZXRfdW5pdCgncGFydGljbGVfbWFzcycsICdNc3VuJykKKyAgIHAuem9vbSgzMikKKyAg
IHAuYW5ub3RhdGVfdGl0bGUoJ1pvb21lZC1pbiBQYXJ0aWNsZSBQbG90JykKKyAgIHAuc2F2ZSgp
CisKK0lmIHRoZSBmaWVsZHMgcGFzc2VkIGluIHRvIDpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24u
cGFydGljbGVfcGxvdHMuUGFydGljPQpsZVBsb3RgPTIwCitkbyBub3QgY29ycmVzcG9uZCB0byBh
IHZhbGlkIDpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24ucGFydGljbGVfcGxvdHMuUGFydD0KaWNs
ZVByb2plY3Rpb25QbG90YCw9MjAKK2EgOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi5wYXJ0aWNs
ZV9wbG90cy5QYXJ0aWNsZVBoYXNlUGxvdGAgd2lsbCBiZSByZXR1PQpybmVkIGluc3RlYWQuCis6
Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnBhcnRpY2xlX3Bsb3RzLlBhcnRpY2xlUGhhc2VQbG90
YCBpcyB1c2VkIHRvIHBsbz0KdCBhcmJpdHJhcnkgcGFydGljbGU9MjAKK2ZpZWxkcyBhZ2FpbnN0
IGVhY2ggb3RoZXIsIGFuZCBkbyBub3Qgc3VwcG9ydCBzb21lIG9mIHRoZSBjYWxsYmFja3MgYXZh
aWxhPQpibGUgaW49MjAKKzpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24ucGFydGljbGVfcGxvdHMu
UGFydGljbGVQcm9qZWN0aW9uUGxvdGAgLQorZm9yIGluc3RhbmNlLCA6bWV0aDpgfnl0LnZpc3Vh
bGl6YXRpb24ucGxvdF93aW5kb3cuQXhpc0FsaWduZWRTbGljZVBsb3QucGE9Cm5gIGFuZD0yMAor
Om1ldGg6YH55dC52aXN1YWxpemF0aW9uLnBsb3Rfd2luZG93LkF4aXNBbGlnbmVkU2xpY2VQbG90
Lnpvb21gIGRvbid0IG1ha2U9CiBtdWNoIHNlbnNlIHdoZW4gb2YgeW91ciBheGVzIGlzIGEgcG9z
aXRpb24KK2FuZCB0aGUgb3RoZXIgaXMgYSB2ZWxvY2l0eS4gVGhlIG1vZGlmaWNhdGlvbiBmdW5j
dGlvbnMgZGVmaW5lZCBmb3IgOmNsYXNzPQo6YH55dC52aXN1YWxpemF0aW9uLnByb2ZpbGVfcGxv
dHRlci5QaGFzZVBsb3RgPTIwCitzaG91bGQgYWxsIHdvcmssIGhvd2V2ZXIuCisKK0hlcmUgaXMg
YW4gZXhhbXBsZSBvZiBtYWtpbmcgYSA6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnBhcnRpY2xl
X3Bsb3RzLlBhPQpydGljbGVQaGFzZVBsb3RgPTIwCitvZiBgYHBhcnRpY2xlX3Bvc2l0aW9uX3hg
YCB2ZXJzdXMgYGBwYXJ0aWNsZV92ZWxvY2l0eV96YGAsIHdpdGggdGhlIGBgcGFydD0KaWNsZV9t
YXNzYGAgb24gdGhlIGNvbG9yYmFyOgorCisuLiBweXRob24tc2NyaXB0OjoKKworICAgaW1wb3J0
IHl0CisgICBkcyA9M0QgeXQubG9hZCgnSXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkw
MDMwJykKKyAgIHAgPTNEIHl0LlBhcnRpY2xlUGxvdChkcywgJ3BhcnRpY2xlX3Bvc2l0aW9uX3gn
LCAncGFydGljbGVfdmVsb2NpdHlfeicsPQogWydwYXJ0aWNsZV9tYXNzJ10pCisgICBwLnNldF91
bml0KCdwYXJ0aWNsZV9wb3NpdGlvbl94JywgJ01wYycpCisgICBwLnNldF91bml0KCdwYXJ0aWNs
ZV92ZWxvY2l0eV96JywgJ2ttL3MnKQorICAgcC5zZXRfdW5pdCgncGFydGljbGVfbWFzcycsICdN
c3VuJykKKyAgIHAuc2F2ZSgpCisKK2FuZCBoZXJlIGlzIG9uZSB3aXRoIHRoZSBwYXJ0aWNsZSB4
IGFuZCB5IHZlbG9jaXRpZXMgb24gdGhlIHBsb3QgYXhlczoKKworLi4gcHl0aG9uLXNjcmlwdDo6
CisKKyAgIGltcG9ydCB5dAorICAgZHMgPTNEIHl0LmxvYWQoJ0lzb2xhdGVkR2FsYXh5L2dhbGF4
eTAwMzAvZ2FsYXh5MDAzMCcpCisgICBwID0zRCB5dC5QYXJ0aWNsZVBsb3QoZHMsICdwYXJ0aWNs
ZV92ZWxvY2l0eV94JywgJ3BhcnRpY2xlX3ZlbG9jaXR5X3knLD0KICdwYXJ0aWNsZV9tYXNzJykK
KyAgIHAuc2V0X3VuaXQoJ3BhcnRpY2xlX3ZlbG9jaXR5X3gnLCAna20vcycpCisgICBwLnNldF91
bml0KCdwYXJ0aWNsZV92ZWxvY2l0eV95JywgJ2ttL3MnKQorICAgcC5zZXRfdW5pdCgncGFydGlj
bGVfbWFzcycsICdNc3VuJykKKyAgIHAuc2V0X3lsaW0oLTQwMCwgNDAwKQorICAgcC5zZXRfeGxp
bSgtNDAwLCA0MDApCisgICBwLnNhdmUoKQorCitJZiB5b3Ugd2FudCBtb3JlIGNvbnRyb2wgb3Zl
ciB0aGUgZGV0YWlscyBvZiB0aGUgOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbj0KLnBhcnRpY2xl
X3Bsb3RzLlBhcnRpY2xlUHJvamVjdGlvblBsb3RgIG9yPTIwCis6Y2xhc3M6YH55dC52aXN1YWxp
emF0aW9uLnBhcnRpY2xlX3Bsb3RzLlBhcnRpY2xlUGhhc2VQbG90YCwgeW91IGNhbiBhbHdheT0K
cyB1c2UgdGhlc2UgY2xhc3NlcyBkaXJlY3RseS4gRm9yIGluc3RhbmNlLD0yMAoraGVyZSBpcyBh
biBleGFtcGxlIG9mIHVzaW5nIHRoZSBgYGRlcHRoYGAgYXJndW1lbnQgdG8gOmNsYXNzOmB+eXQu
dmlzdWFsaXo9CmF0aW9uLnBhcnRpY2xlX3Bsb3RzLlBhcnRpY2xlUHJvamVjdGlvblBsb3RgCit0
byBvbmx5IHBsb3QgdGhlIHBhcnRpY2xlcyB0aGF0IGxpdmUgaW4gYSB0aGluIHNsaWNlIGFyb3Vu
ZCB0aGUgY2VudGVyIG9mID0KdGhlCitkb21haW46CisKKy4uIHB5dGhvbi1zY3JpcHQ6OgorCisg
ICBpbXBvcnQgeXQKKyAgIGRzID0zRCB5dC5sb2FkKCdJc29sYXRlZEdhbGF4eS9nYWxheHkwMDMw
L2dhbGF4eTAwMzAnKQorCisgICBwID0zRCB5dC5QYXJ0aWNsZVByb2plY3Rpb25QbG90KGRzLCAy
LCBbJ3BhcnRpY2xlX21hc3MnXSwgd2lkdGg9M0QoMC41LD0KIDAuNSksIGRlcHRoPTNEMC4wMSkK
KyAgIHAuc2V0X3VuaXQoJ3BhcnRpY2xlX21hc3MnLCAnTXN1bicpCisgICBwLnNhdmUoKQorCith
bmQgaGVyZSBpcyBhbiBleGFtcGxlIG9mIHVzaW5nIHRoZSBgYGRhdGFfc291cmNlYGAgYXJndW1l
bnQgdG8gOmNsYXNzOmB+eT0KdC52aXN1YWxpemF0aW9uLnBhcnRpY2xlX3Bsb3RzLlBhcnRpY2xl
UGhhc2VQbG90YAordG8gb25seSBjb25zaWRlciB0aGUgcGFydGljbGVzIHRoYXQgbGllIHdpdGhp
biBhIDUwIGtwYyBzcGhlcmUgYXJvdW5kIHRoZSA9CmRvbWFpbiBjZW50ZXI6CisKKy4uIHB5dGhv
bi1zY3JpcHQ6OgorCisgICBpbXBvcnQgeXQKKyAgIGRzID0zRCB5dC5sb2FkKCJJc29sYXRlZEdh
bGF4eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAiKQorCisgICBteV9zcGhlcmUgPTNEIGRzLnNwaGVy
ZSgiYyIsICg1MC4wLCAia3BjIikpCisKKyAgIHAgPTNEIHl0LlBhcnRpY2xlUGhhc2VQbG90KG15
X3NwaGVyZSwgInBhcnRpY2xlX3ZlbG9jaXR5X3giLCAicGFydGljbGVfPQp2ZWxvY2l0eV95IiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFydGljbGVfbWFzcyIpCisgICBwLnNldF91
bml0KCdwYXJ0aWNsZV92ZWxvY2l0eV94JywgJ2ttL3MnKQorICAgcC5zZXRfdW5pdCgncGFydGlj
bGVfdmVsb2NpdHlfeScsICdrbS9zJykKKyAgIHAuc2V0X3VuaXQoJ3BhcnRpY2xlX21hc3MnLCAn
TXN1bicpCisgICBwLnNldF95bGltKC00MDAsIDQwMCkKKyAgIHAuc2V0X3hsaW0oLTQwMCwgNDAw
KQorCisgICBwLnNhdmUoKQorCitGaW5hbGx5LCB3aXRoIDFEIGFuZCAyRCBQcm9maWxlcywgeW91
IGNhbiBjcmVhdGUgYSA6Y2xhc3M6YH55dC5kYXRhX29iamVjdD0Kcy5wcm9maWxlcy5QYXJ0aWNs
ZVByb2ZpbGVgCitvYmplY3Qgc2VwZXJhdGVseSB1c2luZyB0aGUgOmZ1bmM6YH55dC5kYXRhX29i
amVjdHMucHJvZmlsZXMuY3JlYXRlX3Byb2ZpbD0KZWAgZnVuY3Rpb24sIGFuZCB0aGVuIHVzZSBp
dAorY3JlYXRlIGEgOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi5wYXJ0aWNsZV9wbG90cy5QYXJ0
aWNsZVBoYXNlUGxvdGAgb2JqZWM9CnQgdXNpbmcgdGhlPTIwCis6bWV0aDpgfnl0LnZpc3VhbGl6
YXRpb24ucGFydGljbGVfcGxvdHMuUGFydGljbGVQaGFzZVBsb3QuZnJvbV9wcm9maWxlYCBtZT0K
dGhvZC4gSW4gdGhpcyBleGFtcGxlLAord2UgaGF2ZSBhbHNvIHVzZWQgdGhlIGBgd2VpZ2h0X2Zp
ZWxkYGAgYXJndW1lbnQgdG8gY29tcHV0ZSB0aGUgYXZlcmFnZSBgYHA9CmFydGljbGVfbWFzc2Bg
IGluIGVhY2gKK3BpeGVsLCBpbnN0ZWFkIG9mIHRoZSB0b3RhbDoKKworLi4gcHl0aG9uLXNjcmlw
dDo6CisKKyAgIGltcG9ydCB5dAorCisgICBkcyA9M0QgeXQubG9hZCgnSXNvbGF0ZWRHYWxheHkv
Z2FsYXh5MDAzMC9nYWxheHkwMDMwJykKKworICAgYWQgPTNEIGRzLmFsbF9kYXRhKCkKKworICAg
cHJvZmlsZSA9M0QgeXQuY3JlYXRlX3Byb2ZpbGUoYWQsIFsncGFydGljbGVfdmVsb2NpdHlfeCcs
ICdwYXJ0aWNsZV92ZWw9Cm9jaXR5X3knXSwgWydwYXJ0aWNsZV9tYXNzJ10sPTIwCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbl9iaW5zPTNEODAwLCB3ZWlnaHRfZmllbGQ9M0QncGFy
dGljbGVfb25lcz0KJykKKworICAgcCA9M0QgeXQuUGFydGljbGVQaGFzZVBsb3QuZnJvbV9wcm9m
aWxlKHByb2ZpbGUpCisgICBwLnNldF91bml0KCdwYXJ0aWNsZV92ZWxvY2l0eV94JywgJ2ttL3Mn
KQorICAgcC5zZXRfdW5pdCgncGFydGljbGVfdmVsb2NpdHlfeScsICdrbS9zJykKKyAgIHAuc2V0
X3VuaXQoJ3BhcnRpY2xlX21hc3MnLCAnTXN1bicpCisgICBwLnNldF95bGltKC00MDAsIDQwMCkK
KyAgIHAuc2V0X3hsaW0oLTQwMCwgNDAwKQorICAgcC5zYXZlKCkKKworVW5kZXIgdGhlIGhvb2Qs
IHRoZSA6Y2xhc3M6YH55dC5kYXRhX29iamVjdHMucHJvZmlsZXMuUGFydGljbGVQcm9maWxlYCBj
bGE9CnNzIHdvcmtzIGEgbG90IGxpa2UgYT0yMAorOmNsYXNzOmB+eXQuZGF0YV9vYmplY3RzLnBy
b2ZpbGVzLlByb2ZpbGUyRGAgb2JqZWN0LCBleGNlcHQgdGhhdCBpbnN0ZWFkIG89CmYganVzdCBi
aW5uaW5nIHRoZT0yMAorcGFydGljbGUgZmllbGQsIHlvdSBjYW4gYWxzbyB1c2UgaGlnaGVyLW9y
ZGVyIGRlcG9zaXRpb24gZnVuY3Rpb25zIGxpa2UgdGg9CmUgY2xvdWQtaW4tY2VsbD0yMAoraW50
ZXJwb2xhbnQgdG8gc3ByZWFkIG91dCB0aGUgcGFydGljbGUgcXVhbnRpdGVzIG92ZXIgYSBmZXcg
Y2VsbHMgaW4gdGhlIHA9CnJvZmlsZS4gVGhlPTIwCis6ZnVuYzpgfnl0LmRhdGFfb2JqZWN0cy5w
cm9maWxlcy5jcmVhdGVfcHJvZmlsZWAgd2lsbCBhdXRvbWF0aWNhbGx5IGRldGVjdD0KIHdoZW4g
YWxsIHRoZSBmaWVsZHMKK3lvdSBwYXNzIGluIGFyZSBwYXJ0aWNsZSBmaWVsZHMsIGFuZCByZXR1
cm4gYSA6Y2xhc3M6YH55dC5kYXRhX29iamVjdHMucHJvPQpmaWxlcy5QYXJ0aWNsZVByb2ZpbGVg
CitpZiB0aGF0IGlzIHRoZSBjYXNlLiBGb3IgYSBjb21wbGV0ZSBkZXNjcmlwdGlvbiBvZiB0aGUg
OmNsYXNzOmB+eXQuZGF0YV9vYj0KamVjdHMucHJvZmlsZXMuUGFydGljbGVQcm9maWxlYAorY2xh
c3MgcGxlYXNlIGNvbnN1bHQgdGhlIHJlZmVyZW5jZSBkb2N1bWVudGF0aW9uLgorCiAuLiBfaW50
ZXJhY3RpdmUtcGxvdHRpbmc6Cj0yMAogSW50ZXJhY3RpdmUgUGxvdHRpbmcKCmRpZmYgLXIgOTYy
MDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAyMGNjZTk4NDBmMWNiOGY2
NDM4ZWRmNT0KMWQ2ZjBlYTcxNGJkNjE4NWMgZG9jL3NvdXJjZS92aXN1YWxpemluZy9za2V0Y2hm
YWIucnN0Ci0tLSBhL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvc2tldGNoZmFiLnJzdAorKysgYi9k
b2Mvc291cmNlL3Zpc3VhbGl6aW5nL3NrZXRjaGZhYi5yc3QKQEAgLTU2LDcgKzU2LDcgQEAKPTIw
CiAgICBpbXBvcnQgeXQKICAgIGRzID0zRCB5dC5sb2FkKCIvZGF0YS93b3Jrc2hvcDIwMTIvSXNv
bGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwPQoiKQotICAgc3BoZXJlID0zRCBkcy5z
cGhlcmUoIm1heCIsICgxLjAsICJtcGMiKSkKKyAgIHNwaGVyZSA9M0QgZHMuc3BoZXJlKCJtYXgi
LCAoMS4wLCAiTXBjIikpCiAgICBzdXJmYWNlID0zRCBkcy5zdXJmYWNlKHNwaGVyZSwgImRlbnNp
dHkiLCAxZS0yNykKPTIwCiBUaGlzIG9iamVjdCwgYGBzdXJmYWNlYGAsIGNhbiBiZSBxdWVyaWVk
IGZvciB2YWx1ZXMgb24gdGhlIHN1cmZhY2UuICBGb3IKQEAgLTE3Miw3ICsxNzIsNyBAQAogICAg
dHJhbnMgPTNEIFsxLjAsIDAuNV0KICAgIGZpbGVuYW1lID0zRCAnLi9zdXJmYWNlcycKPTIwCi0g
ICBzcGhlcmUgPTNEIGRzLnNwaGVyZSgibWF4IiwgKDEuMCwgIm1wYyIpKQorICAgc3BoZXJlID0z
RCBkcy5zcGhlcmUoIm1heCIsICgxLjAsICJNcGMiKSkKICAgIGZvciBpLHIgaW4gZW51bWVyYXRl
KHJobyk6CiAgICAgICAgc3VyZiA9M0QgZHMuc3VyZmFjZShzcGhlcmUsICdkZW5zaXR5JywgcikK
ICAgICAgICBzdXJmLmV4cG9ydF9vYmooZmlsZW5hbWUsIHRyYW5zcGFyZW5jeSA9M0QgdHJhbnNb
aV0sIGNvbG9yX2ZpZWxkPTNEPQondGVtcGVyYXR1cmUnLCBwbG90X2luZGV4ID0zRCBpKQpAQCAt
MjQ4LDcgKzI0OCw3IEBACiAgICAgICAgcmV0dXJuIChkYXRhWydkZW5zaXR5J10qZGF0YVsnZGVu
c2l0eSddKm5wLnNxcnQoZGF0YVsndGVtcGVyYXR1cmUnXT0KKSkKICAgIGFkZF9maWVsZCgiZW1p
c3Npdml0eSIsIGZ1bmN0aW9uPTNEX0VtaXNzaXZpdHksIHVuaXRzPTNEciJnKksvY20qKjYiKQo9
MjAKLSAgIHNwaGVyZSA9M0QgZHMuc3BoZXJlKCJtYXgiLCAoMS4wLCAibXBjIikpCisgICBzcGhl
cmUgPTNEIGRzLnNwaGVyZSgibWF4IiwgKDEuMCwgIk1wYyIpKQogICAgZm9yIGksciBpbiBlbnVt
ZXJhdGUocmhvKToKICAgICAgICBzdXJmID0zRCBkcy5zdXJmYWNlKHNwaGVyZSwgJ2RlbnNpdHkn
LCByKQogICAgICAgIHN1cmYuZXhwb3J0X29iaihmaWxlbmFtZSwgdHJhbnNwYXJlbmN5ID0zRCB0
cmFuc1tpXSwKClRoaXMgZGlmZiBpcyBzbyBiaWcgdGhhdCB3ZSBuZWVkZWQgdG8gdHJ1bmNhdGUg
dGhlIHJlbWFpbmRlci4KCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21t
aXRzL2I2Y2ZiOGY0YTRiMS8KQ2hhbmdlc2V0OiAgIGI2Y2ZiOGY0YTRiMQpCcmFuY2g6ICAgICAg
eXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0wMyAxNjowNjow
NyswMDowMApTdW1tYXJ5OiAgICAgRXNzZW50aWFsbHkgY2hhbmdlIHNvbWUgbGluZXMgdG8gbWFr
ZSBtb3JlIHJlYWRhYmxlLgpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDIwY2NlOTg0MGYx
Y2I4ZjY0MzhlZGY1MWQ2ZjBlYTcxNGJkNjE4NWMgLXIgYjZjZmI4ZjRhNGIxNzcyMTI1YmU1MGI9
CjE5Zjk4YjU5YzU0ZDIzNDAzIHl0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVz
LnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKKysr
IGIveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4CkBAIC00MjIsMTIg
KzQyMiwxMyBAQAogICAgIHJldHVybiAxCj0yMAogZGVmIHBpeGVsaXplX2VsZW1lbnRfbWVzaChu
cC5uZGFycmF5W25wLmZsb2F0NjRfdCwgbmRpbT0zRDJdIGNvb3JkcywKLSAgICAgICAgICAgICAg
ICAgICAgICBucC5uZGFycmF5W25wLmludDY0X3QsIG5kaW09M0QyXSBjb25uLAotICAgICAgICAg
ICAgICAgICAgICAgIGJ1ZmZfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICBucC5uZGFycmF5
W25wLmZsb2F0NjRfdCwgbmRpbT0zRDFdIGZpZWxkLAotICAgICAgICAgICAgICAgICAgICAgIGV4
dGVudHMsIGludCBpbmRleF9vZmZzZXQgPTNEIDApOgorICAgICAgICAgICAgICAgICAgICAgICAg
ICBucC5uZGFycmF5W25wLmludDY0X3QsIG5kaW09M0QyXSBjb25uLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBidWZmX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG5wLm5kYXJy
YXlbbnAuZmxvYXQ2NF90LCBuZGltPTNEMV0gZmllbGQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV4dGVudHMsIGludCBpbmRleF9vZmZzZXQgPTNEIDApOgogICAgIGNkZWYgbnAubmRhcnJh
eVtucC5mbG9hdDY0X3QsIG5kaW09M0QzXSBpbWcKICAgICBpbWcgPTNEIG5wLnplcm9zKGJ1ZmZf
c2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIpCisKICAgICAjIFR3byBzdGVwczoKICAgICAjICAxLiBJ
cyBpbWFnZSBwb2ludCB3aXRoaW4gdGhlIG1lc2ggYm91bmRpbmcgYm94PwogICAgICMgIDIuIElz
IGltYWdlIHBvaW50IHdpdGhpbiB0aGUgbWVzaCBlbGVtZW50PwpAQCAtNDQ3LDYgKzQ0OCw3IEBA
CiAgICAgY2RlZiBucC5mbG9hdDY0X3QgKip2ZXJ0aWNlcwogICAgIGNkZWYgaW50IG52ZXJ0aWNl
cyA9M0QgY29ubi5zaGFwZVsxXQogICAgIGNkZWYgaW50IG5mCisKICAgICAjIEFsbG9jYXRlIG91
ciBzaWducyBhcnJheQogICAgIGlmIG52ZXJ0aWNlcyA9M0Q9M0QgNDoKICAgICAgICAgbmYgPTNE
IFRFVFJBX05GCkBAIC00NTYsMTAgKzQ1OCwxMyBAQAogICAgICAgICBuZiA9M0QgSEVYX05GCiAg
ICAgZWxzZToKICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCisKICAgICBzaWducyA9M0QgPG5w
LmludDhfdCAqPiBhbGxvY2Eoc2l6ZW9mKG5wLmludDhfdCkgKiBuZikKICAgICB2ZXJ0aWNlcyA9
M0QgPG5wLmZsb2F0NjRfdCAqKj4gYWxsb2NhKHNpemVvZihucC5mbG9hdDY0X3QgKikgKiBudmVy
dGljPQplcykKKwogICAgIGZvciBpIGluIHJhbmdlKG52ZXJ0aWNlcyk6CiAgICAgICAgIHZlcnRp
Y2VzW2ldID0zRCA8bnAuZmxvYXQ2NF90ICo+IGFsbG9jYShzaXplb2YobnAuZmxvYXQ2NF90KSAq
IDMpCisKICAgICBmb3IgaSBpbiByYW5nZSgzKToKICAgICAgICAgcExFW2ldID0zRCBleHRlbnRz
W2ldWzBdCiAgICAgICAgIHBSRVtpXSA9M0QgZXh0ZW50c1tpXVsxXQpAQCAtNDY4LDExICs0NzMs
MTMgQEAKICAgICAgICAgICAgIGlkZHNbaV0gPTNEIDAuMAogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgaWRkc1tpXSA9M0QgMS4wIC8gZGRzW2ldCisKICAgICBmb3IgY2kgaW4gcmFuZ2UoY29u
bi5zaGFwZVswXSk6CiAgICAgICAgICMgRmlsbCB0aGUgdmVydGljZXMgYW5kIGNvbXB1dGUgdGhl
IGNlbnRyb2lkCiAgICAgICAgIGNlbnRyb2lkWzBdID0zRCBjZW50cm9pZFsxXSA9M0QgY2VudHJv
aWRbMl0gPTNEIDAKICAgICAgICAgTEVbMF0gPTNEIExFWzFdID0zRCBMRVsyXSA9M0QgMWU2MAog
ICAgICAgICBSRVswXSA9M0QgUkVbMV0gPTNEIFJFWzJdID0zRCAtMWU2MAorCiAgICAgICAgIGZv
ciBuIGluIHJhbmdlKG52ZXJ0aWNlcyk6ICMgOAogICAgICAgICAgICAgY2ogPTNEIGNvbm5bY2ks
IG5dIC0gaW5kZXhfb2Zmc2V0CiAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKQEAgLTQ4
NCwzMCArNDkxLDM4IEBACiAgICAgICAgIGNlbnRyb2lkWzFdIC89M0QgbnZlcnRpY2VzCiAgICAg
ICAgIGNlbnRyb2lkWzJdIC89M0QgbnZlcnRpY2VzCiAgICAgICAgIHVzZSA9M0QgMQorCiAgICAg
ICAgIGZvciBpIGluIHJhbmdlKDMpOgogICAgICAgICAgICAgaWYgUkVbaV0gPCBwTEVbaV0gb3Ig
TEVbaV0gPj0zRCBwUkVbaV06CiAgICAgICAgICAgICAgICAgdXNlID0zRCAwCiAgICAgICAgICAg
ICAgICAgYnJlYWsKICAgICAgICAgICAgIHBzdGFydFtpXSA9M0QgaTY0bWF4KDxucC5pbnQ2NF90
PiAoKExFW2ldIC0gcExFW2ldKSppZGRzW2ldKSAtPQogMSwgMCkKICAgICAgICAgICAgIHBlbmRb
aV0gPTNEIGk2NG1pbig8bnAuaW50NjRfdD4gKChSRVtpXSAtIHBMRVtpXSkqaWRkc1tpXSkgKyAx
PQosIGltZy5zaGFwZVtpXS0xKQorCiAgICAgICAgIGlmIHVzZSA9M0Q9M0QgMDoKICAgICAgICAg
ICAgIGNvbnRpbnVlCisKICAgICAgICAgIyBOb3cgb3VyIGJvdW5kaW5nIGJveCBpbnRlcnNlY3Rz
LCBzbyB3ZSBnZXQgdGhlIGV4dGVudHMgb2Ygb3VyIHBpPQp4ZWwKICAgICAgICAgIyByZWdpb24g
d2hpY2ggb3ZlcmxhcHMgd2l0aCB0aGUgYm91bmRpbmcgYm94LCBhbmQgd2UnbGwgY2hlY2sgZWFj
aAogICAgICAgICAjIHBpeGVsIGluIHRoZXJlLgogICAgICAgICAjIEZpcnN0LCB3ZSBmaWd1cmUg
b3V0IHRoZSBkb3QgcHJvZHVjdCBvZiB0aGUgY2VudHJvaWQgd2l0aCBhbGwgdGhlCiAgICAgICAg
ICMgZmFjZXMuCiAgICAgICAgIGNoZWNrX2ZhY2VfZG90KG52ZXJ0aWNlcywgY2VudHJvaWQsIHZl
cnRpY2VzLCBzaWducywgMCkKKwogICAgICAgICBmb3IgcGkgaW4gcmFuZ2UocHN0YXJ0WzBdLCBw
ZW5kWzBdICsgMSk6CiAgICAgICAgICAgICBwcG9pbnRbMF0gPTNEIChwaSArIDAuNSkgKiBkZHNb
MF0gKyBwTEVbMF0KKwogICAgICAgICAgICAgZm9yIHBqIGluIHJhbmdlKHBzdGFydFsxXSwgcGVu
ZFsxXSArIDEpOgogICAgICAgICAgICAgICAgIHBwb2ludFsxXSA9M0QgKHBqICsgMC41KSAqIGRk
c1sxXSArIHBMRVsxXQorCiAgICAgICAgICAgICAgICAgZm9yIHBrIGluIHJhbmdlKHBzdGFydFsy
XSwgcGVuZFsyXSArIDEpOgogICAgICAgICAgICAgICAgICAgICBwcG9pbnRbMl0gPTNEIChwayAr
IDAuNSkgKiBkZHNbMl0gKyBwTEVbMl0KICAgICAgICAgICAgICAgICAgICAgIyBOb3cgd2UganVz
dCBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgb3VyIHBwb2ludCBpcyB3aXRoPQppbgogICAgICAgICAg
ICAgICAgICAgICAjIG91ciBzZXQgb2YgdmVydGljZXMuCisKICAgICAgICAgICAgICAgICAgICAg
aWYgY2hlY2tfZmFjZV9kb3QobnZlcnRpY2VzLCBwcG9pbnQsIHZlcnRpY2VzLCBzaWducywgPQox
KSA9M0Q9M0QgMDoKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKICAgICAgICAg
ICAgICAgICAgICAgIyBFbHNlLCB3ZSBkZXBvc2l0IQogICAgICAgICAgICAgICAgICAgICBpbWdb
cGksIHBqLCBwa10gPTNEIGZpZWxkW2NpXQogICAgIHJldHVybiBpbWcKCgpodHRwczovL2JpdGJ1
Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9mYjQzODU2ZWNjZGEvCkNoYW5nZXNldDog
ICBmYjQzODU2ZWNjZGEKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0
ZTogICAgICAgIDIwMTUtMDYtMDMgMTY6MjM6MjQrMDA6MDAKU3VtbWFyeTogICAgIEV4dHJhY3Qg
b3V0IHN1YnJvdXRpbmUgdG8gZGV0ZXJtaW5lIGVsZW1lbnQgdHlwZS4KQWZmZWN0ZWQgIzogIDEg
ZmlsZQoKZGlmZiAtciBiNmNmYjhmNGE0YjE3NzIxMjViZTUwYjE5Zjk4YjU5YzU0ZDIzNDAzIC1y
IGZiNDM4NTZlY2NkYTQyYjk2MDdhY2U5PQoxZjRkODI0NWEzMzMwYmRiOSB5dC91dGlsaXRpZXMv
bGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9waXhl
bGl6YXRpb25fcm91dGluZXMucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9u
X3JvdXRpbmVzLnB5eApAQCAtNDM4LDcgKzQzOCw3IEBACiAgICAgIyBjb21wYXJlIGFnYWluc3Qg
dGhlIGNlbnRyb2lkIG9mIHRoZSAoYXNzdW1lZCBjb252ZXgpIGVsZW1lbnQuCiAgICAgIyBOb3Rl
IHRoYXQgd2UgaGF2ZSB0byBoYXZlIGEgcHNldWRvLTNEIHBpeGVsIGJ1ZmZlci4gIE9uZSBkaW1l
bnNpb24gdz0KaWxsCiAgICAgIyBhbHdheXMgYmUgMS4KLSAgICBjZGVmIG5wLmZsb2F0NjRfdCBw
TEVbM10sIHBSRVszXQorICAgIGNkZWYgbnAuZmxvYXQ2NF90IHBMRVszXSwgcFJFWzNdPTIwCiAg
ICAgY2RlZiBucC5mbG9hdDY0X3QgTEVbM10sIFJFWzNdCiAgICAgY2RlZiBpbnQgdXNlCiAgICAg
Y2RlZiBucC5pbnQ4X3QgKnNpZ25zCkBAIC00NDksMTYgKzQ0OSwxMCBAQAogICAgIGNkZWYgaW50
IG52ZXJ0aWNlcyA9M0QgY29ubi5zaGFwZVsxXQogICAgIGNkZWYgaW50IG5mCj0yMAorICAgICMg
RGV0ZXJtaW5lIGVsZW1lbnQgdHlwZSBmcm9tIHRoZSBudW1iZXIgb2YgdmVydGljZXMgKG52ZXJ0
aWNlcykKKyAgICBuZiA9M0QgZ2V0X2VsZW1lbnRfdHlwZShudmVydGljZXMpCisKICAgICAjIEFs
bG9jYXRlIG91ciBzaWducyBhcnJheQotICAgIGlmIG52ZXJ0aWNlcyA9M0Q9M0QgNDoKLSAgICAg
ICAgbmYgPTNEIFRFVFJBX05GCi0gICAgZWxpZiBudmVydGljZXMgPTNEPTNEIDY6Ci0gICAgICAg
IG5mID0zRCBXRURHRV9ORgotICAgIGVsaWYgbnZlcnRpY2VzID0zRD0zRCA4OgotICAgICAgICBu
ZiA9M0QgSEVYX05GCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCi0KICAg
ICBzaWducyA9M0QgPG5wLmludDhfdCAqPiBhbGxvY2Eoc2l6ZW9mKG5wLmludDhfdCkgKiBuZikK
ICAgICB2ZXJ0aWNlcyA9M0QgPG5wLmZsb2F0NjRfdCAqKj4gYWxsb2NhKHNpemVvZihucC5mbG9h
dDY0X3QgKikgKiBudmVydGljPQplcykKPTIwCkBAIC01MjYsMyArNTIwLDE0IEBACiAgICAgICAg
ICAgICAgICAgICAgICMgRWxzZSwgd2UgZGVwb3NpdCEKICAgICAgICAgICAgICAgICAgICAgaW1n
W3BpLCBwaiwgcGtdID0zRCBmaWVsZFtjaV0KICAgICByZXR1cm4gaW1nCisKK2RlZiBnZXRfZWxl
bWVudF90eXBlKG52ZXJ0aWNlcyk6CisgICAgaWYgbnZlcnRpY2VzID0zRD0zRCA0OgorICAgICAg
ICByZXR1cm4gVEVUUkFfTkYKKyAgICBlbGlmIG52ZXJ0aWNlcyA9M0Q9M0QgNjoKKyAgICAgICAg
cmV0dXJuIFdFREdFX05GCisgICAgZWxpZiBudmVydGljZXMgPTNEPTNEIDg6CisgICAgICAgIHJl
dHVybiBIRVhfTkYKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKwoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzFkNDg3YTgxZTQyOC8K
Q2hhbmdlc2V0OiAgIDFkNDg3YTgxZTQyOApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFz
dHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0wMyAyMTowMDo0NyswMDowMApTdW1tYXJ5OiAg
ICAgQWRkIGNvbW1lbnRzIHRvIGV4cGxhaW4gZWFjaCBzdWJyb3V0aW5lLgpBZmZlY3RlZCAjOiAg
MSBmaWxlCgpkaWZmIC1yIGZiNDM4NTZlY2NkYTQyYjk2MDdhY2U5MWY0ZDgyNDVhMzMzMGJkYjkg
LXIgMWQ0ODdhODFlNDI4NmUzMzc0ODNlZGY9CjdmZDA2ODFkYzhhNTcyMGIzIHl0L3V0aWxpdGll
cy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL3Bp
eGVsaXphdGlvbl9yb3V0aW5lcy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRp
b25fcm91dGluZXMucHl4CkBAIC00NTIsMTMgKzQ1MiwxNCBAQAogICAgICMgRGV0ZXJtaW5lIGVs
ZW1lbnQgdHlwZSBmcm9tIHRoZSBudW1iZXIgb2YgdmVydGljZXMgKG52ZXJ0aWNlcykKICAgICBu
ZiA9M0QgZ2V0X2VsZW1lbnRfdHlwZShudmVydGljZXMpCj0yMAotICAgICMgQWxsb2NhdGUgb3Vy
IHNpZ25zIGFycmF5CisgICAgIyBBbGxvY2F0ZSBzdWJyb3V0aW5lCisgICAgIyMgQWxsb2NhdGUg
c2lnbnMgYXJyYXkKICAgICBzaWducyA9M0QgPG5wLmludDhfdCAqPiBhbGxvY2Eoc2l6ZW9mKG5w
LmludDhfdCkgKiBuZikKKyAgICAjIyBBbGxvY2F0ZSB2ZXJ0aWNlcyBwb2ludGVyIGFycmF5CiAg
ICAgdmVydGljZXMgPTNEIDxucC5mbG9hdDY0X3QgKio+IGFsbG9jYShzaXplb2YobnAuZmxvYXQ2
NF90ICopICogbnZlcnRpYz0KZXMpCi0KICAgICBmb3IgaSBpbiByYW5nZShudmVydGljZXMpOgog
ICAgICAgICB2ZXJ0aWNlc1tpXSA9M0QgPG5wLmZsb2F0NjRfdCAqPiBhbGxvY2Eoc2l6ZW9mKG5w
LmZsb2F0NjRfdCkgKiAzKQotCisgICA9MjAKICAgICBmb3IgaSBpbiByYW5nZSgzKToKICAgICAg
ICAgcExFW2ldID0zRCBleHRlbnRzW2ldWzBdCiAgICAgICAgIHBSRVtpXSA9M0QgZXh0ZW50c1tp
XVsxXQpAQCAtNDgxLDEyICs0ODIsMTUgQEAKICAgICAgICAgICAgICAgICBjZW50cm9pZFtpXSAr
PTNEIGNvb3Jkc1tjaiwgaV0KICAgICAgICAgICAgICAgICBMRVtpXSA9M0QgZm1pbihMRVtpXSwg
dmVydGljZXNbbl1baV0pCiAgICAgICAgICAgICAgICAgUkVbaV0gPTNEIGZtYXgoUkVbaV0sIHZl
cnRpY2VzW25dW2ldKQorCiAgICAgICAgIGNlbnRyb2lkWzBdIC89M0QgbnZlcnRpY2VzCiAgICAg
ICAgIGNlbnRyb2lkWzFdIC89M0QgbnZlcnRpY2VzCiAgICAgICAgIGNlbnRyb2lkWzJdIC89M0Qg
bnZlcnRpY2VzCiAgICAgICAgIHVzZSA9M0QgMQo9MjAKICAgICAgICAgZm9yIGkgaW4gcmFuZ2Uo
Myk6CisgICAgICAgICAgICAjIENoZWNrIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgd2l0aGluIHRo
ZSBwaXhlbCBib3VuZGluZyBib3gsID0KaS5lLgorICAgICAgICAgICAgIyB3aXRoaW4gdGhlIGRp
bWVuc2lvbnMgb2YgdGhlIGltYWdlCiAgICAgICAgICAgICBpZiBSRVtpXSA8IHBMRVtpXSBvciBM
RVtpXSA+PTNEIHBSRVtpXToKICAgICAgICAgICAgICAgICB1c2UgPTNEIDAKICAgICAgICAgICAg
ICAgICBicmVhawpAQCAtNTE3LDcgKzUyMSw3IEBACiAgICAgICAgICAgICAgICAgICAgIGlmIGNo
ZWNrX2ZhY2VfZG90KG52ZXJ0aWNlcywgcHBvaW50LCB2ZXJ0aWNlcywgc2lnbnMsID0KMSkgPTNE
PTNEIDA6CiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQo9MjAKLSAgICAgICAgICAg
ICAgICAgICAgIyBFbHNlLCB3ZSBkZXBvc2l0IQorICAgICAgICAgICAgICAgICAgICAjIE90aGVy
d2lzZSwgd2Ugd2lsbCBhZGQgYSBwaXhlbCB0byB0aGUgaW1hZ2UgYnVmZmVyCiAgICAgICAgICAg
ICAgICAgICAgIGltZ1twaSwgcGosIHBrXSA9M0QgZmllbGRbY2ldCiAgICAgcmV0dXJuIGltZwo9
MjAKQEAgLTUzMSwzICs1MzUsNCBAQAogICAgIGVsc2U6CiAgICAgICAgIHJhaXNlIFJ1bnRpbWVF
cnJvcgo9MjAKKwoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRz
L2RkMTBhZGE5NTJjMS8KQ2hhbmdlc2V0OiAgIGRkMTBhZGE5NTJjMQpCcmFuY2g6ICAgICAgeXQK
VXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0wNCAxNTo0MzoyNisw
MDowMApTdW1tYXJ5OiAgICAgTWVyZ2UgY2hhbmdlcyBmcm9tIHVwc3RyZWFtCkFmZmVjdGVkICM6
ICAzIGZpbGVzCgpkaWZmIC1yIDFkNDg3YTgxZTQyODZlMzM3NDgzZWRmN2ZkMDY4MWRjOGE1NzIw
YjMgLXIgZGQxMGFkYTk1MmMxOWM5OWY4ZjlhMGU9CmI2NmEyODAxYzY4MmZjOWE1IHl0L2ZpZWxk
cy9wYXJ0aWNsZV9maWVsZHMucHkKLS0tIGEveXQvZmllbGRzL3BhcnRpY2xlX2ZpZWxkcy5weQor
KysgYi95dC9maWVsZHMvcGFydGljbGVfZmllbGRzLnB5CkBAIC0yMyw3ICsyMyw4IEBACiAgICAg
VmFsaWRhdGVTcGF0aWFsCj0yMAogZnJvbSB5dC51bml0cy55dF9hcnJheSBpbXBvcnQgXAotICAg
IHVjb25jYXRlbmF0ZQorICAgIHVjb25jYXRlbmF0ZSwgXAorICAgIHVjcm9zcwo9MjAKIGZyb20g
eXQudXRpbGl0aWVzLm1hdGhfdXRpbHMgaW1wb3J0IFwKICAgICBnZXRfc3BoX3JfY29tcG9uZW50
LCBcCkBAIC0xMTgsMTAgKzExOSw4IEBACiAgICAgICAgICAgICAgdW5pdHMgPTNEICJnIikKPTIw
CiAgICAgZGVmIHBhcnRpY2xlX2RlbnNpdHkoZmllbGQsIGRhdGEpOgotICAgICAgICBwb3MgPTNE
IGRhdGFbcHR5cGUsIGNvb3JkX25hbWVdCi0gICAgICAgIG1hc3MgPTNEIGRhdGFbcHR5cGUsIG1h
c3NfbmFtZV0KLSAgICAgICAgcG9zLmNvbnZlcnRfdG9fdW5pdHMoImNvZGVfbGVuZ3RoIikKLSAg
ICAgICAgbWFzcy5jb252ZXJ0X3RvX3VuaXRzKCJjb2RlX21hc3MiKQorICAgICAgICBwb3MgPTNE
IGRhdGFbcHR5cGUsIGNvb3JkX25hbWVdLmNvbnZlcnRfdG9fdW5pdHMoImNvZGVfbGVuZ3RoIikK
KyAgICAgICAgbWFzcyA9M0QgZGF0YVtwdHlwZSwgbWFzc19uYW1lXS5jb252ZXJ0X3RvX3VuaXRz
KCJjb2RlX21hc3MiKQogICAgICAgICBkID0zRCBkYXRhLmRlcG9zaXQocG9zLCBbZGF0YVtwdHlw
ZSwgbWFzc19uYW1lXV0sIG1ldGhvZCA9M0QgInN1bSIpCiAgICAgICAgIGQgPTNEIGRhdGEuZHMu
YXJyKGQsICJjb2RlX21hc3MiKQogICAgICAgICBkIC89M0QgZGF0YVsiaW5kZXgiLCAiY2VsbF92
b2x1bWUiXQpAQCAtMjQ0LDE3ICsyNDMsMjYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgdW5p
dHMgPTNEICJjbSAvIHMiLAogICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWNsZV90eXBlPTNE
VHJ1ZSkKPTIwCitkZWYgZ2V0X2FuZ3VsYXJfbW9tZW50dW1fY29tcG9uZW50cyhwdHlwZSwgZGF0
YSwgc3Bvcywgc3ZlbCk6CisgICAgaWYgZGF0YS5oYXNfZmllbGRfcGFyYW1ldGVyKCJub3JtYWwi
KToKKyAgICAgICAgbm9ybWFsID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoIm5vcm1hbCIp
CisgICAgZWxzZToKKyAgICAgICAgbm9ybWFsID0zRCBkYXRhLmRzLmFycihbMC4wLDAuMCwxLjBd
LCJjb2RlX2xlbmd0aCIpICMgZGVmYXVsdCB0byBzPQppbXVsYXRpb24gYXhpcworICAgIGJ2ID0z
RCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoImJ1bGtfdmVsb2NpdHkiKQorICAgIHBvcyA9M0Qg
ZGF0YS5kcy5hcnIoW2RhdGFbcHR5cGUsIHNwb3MgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkuVAor
ICAgIHZlbCA9M0QgZGF0YS5kcy5hcnIoW2RhdGFbcHR5cGUsIHN2ZWwgJSBheF0gLSBidltpYXhd
IGZvciBpYXgsIGF4IGluIGU9Cm51bWVyYXRlKCJ4eXoiKV0pLlQKKyAgICByZXR1cm4gcG9zLCB2
ZWwsIG5vcm1hbCwgYnYKKwogZGVmIHN0YW5kYXJkX3BhcnRpY2xlX2ZpZWxkcyhyZWdpc3RyeSwg
cHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwb3MgPTNEICJwYXJ0aWNsZV9w
b3NpdGlvbl8lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZWwgPTNEICJwYXJ0
aWNsZV92ZWxvY2l0eV8lcyIpOgogICAgICMgVGhpcyBmdW5jdGlvbiB3aWxsIHNldCB0aGluZ3Mg
dXAgYmFzZWQgb24gdGhlIHNjYWxhciBmaWVsZHMgYW5kIHN0YW49CmRhcmQKICAgICAjIHl0IGZp
ZWxkIG5hbWVzLgorICAgICMgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCJidWxrX3ZlbG9jaXR5
IikgZGVmYXVsdHMgdG8gWVRBcnJheShbMCwwLDA9Cl0gY20vcykKPTIwCiAgICAgZGVmIF9wYXJ0
aWNsZV92ZWxvY2l0eV9tYWduaXR1ZGUoZmllbGQsIGRhdGEpOgogICAgICAgICAiIiIgTXt8dnx9
ICIiIgogICAgICAgICBidWxrX3ZlbG9jaXR5ID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIo
ImJ1bGtfdmVsb2NpdHkiKQotICAgICAgICBpZiBidWxrX3ZlbG9jaXR5IGlzIE5vbmU6Ci0gICAg
ICAgICAgICBidWxrX3ZlbG9jaXR5ID0zRCBucC56ZXJvcygzKQogICAgICAgICByZXR1cm4gbnAu
c3FydCgoZGF0YVtwdHlwZSwgc3ZlbCAlICd4J10gLSBidWxrX3ZlbG9jaXR5WzBdKSoqMgogICAg
ICAgICAgICAgICAgICAgICAgKyAoZGF0YVtwdHlwZSwgc3ZlbCAlICd5J10gLSBidWxrX3ZlbG9j
aXR5WzFdKSoqMgogICAgICAgICAgICAgICAgICAgICAgKyAoZGF0YVtwdHlwZSwgc3ZlbCAlICd6
J10gLSBidWxrX3ZlbG9jaXR5WzJdKSoqMiApCkBAIC0yNzAsMTkgKzI3OCwxMyBAQAogICAgICAg
ICBDYWxjdWxhdGUgdGhlIGFuZ3VsYXIgb2YgYSBwYXJ0aWNsZSB2ZWxvY2l0eS4gIFJldHVybnMg
YSB2ZWN0b3IgZm89CnIgZWFjaAogICAgICAgICBwYXJ0aWNsZS4KICAgICAgICAgIiIiCi0gICAg
ICAgIGlmIGRhdGEuaGFzX2ZpZWxkX3BhcmFtZXRlcigiYnVsa192ZWxvY2l0eSIpOgotICAgICAg
ICAgICAgYnYgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcigiYnVsa192ZWxvY2l0eSIpCi0g
ICAgICAgIGVsc2U6IGJ2ID0zRCBucC56ZXJvcygzLCBkdHlwZT0zRG5wLmZsb2F0NjQpCi0gICAg
ICAgIHh2ID0zRCBkYXRhW3B0eXBlLCBzdmVsICUgJ3gnXSAtIGJ2WzBdCi0gICAgICAgIHl2ID0z
RCBkYXRhW3B0eXBlLCBzdmVsICUgJ3knXSAtIGJ2WzFdCi0gICAgICAgIHp2ID0zRCBkYXRhW3B0
eXBlLCBzdmVsICUgJ3onXSAtIGJ2WzJdCiAgICAgICAgIGNlbnRlciA9M0QgZGF0YS5nZXRfZmll
bGRfcGFyYW1ldGVyKCdjZW50ZXInKQotICAgICAgICBjb29yZHMgPTNEIHNlbGYuZHMuYXJyKFtk
YXRhW3B0eXBlLCBzcG9zICUgZF0gZm9yIGQgaW4gJ3h5eiddLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkdHlwZT0zRG5wLmZsb2F0NjQsIHVuaXRzPTNEJ2NtJykKLSAgICAgICAgbmV3
X3NoYXBlID0zRCB0dXBsZShbM10gKyBbMV0qKGxlbihjb29yZHMuc2hhcGUpLTEpKQotICAgICAg
ICByX3ZlYyA9M0QgY29vcmRzIC0gbnAucmVzaGFwZShjZW50ZXIsbmV3X3NoYXBlKQotICAgICAg
ICB2X3ZlYyA9M0Qgc2VsZi5kcy5hcnIoW3h2LHl2LHp2XSwgZHR5cGU9M0RucC5mbG9hdDY0LCB1
bml0cz0zRCdjbS89CnMnKQotICAgICAgICByZXR1cm4gbnAuY3Jvc3Mocl92ZWMsIHZfdmVjLCBh
eGlzPTNEMCkuVAorICAgICAgICBwb3MsIHZlbCwgbm9ybWFsLCBidiA9M0QgZ2V0X2FuZ3VsYXJf
bW9tZW50dW1fY29tcG9uZW50cyhwdHlwZSwgZGE9CnRhLCBzcG9zLCBzdmVsKQorICAgICAgICBM
LCByX3ZlYywgdl92ZWMgPTNEIG1vZGlmeV9yZWZlcmVuY2VfZnJhbWUoY2VudGVyLCBub3JtYWws
IFA9M0Rwb3M9CiwgVj0zRHZlbCkKKyAgICAgICAgIyBhZGRpbmcgaW4gdGhlIHVuaXQgcmVnaXN0
cnkgYWxsb3dzIHVzIHRvIGhhdmUgYSByZWZlcmVuY2UgdG8gdGhlPQogZGF0YXNldAorICAgICAg
ICAjIGFuZCB0aHVzIHdlIHdpbGwgYWx3YXlzIGdldCB0aGUgY29ycmVjdCB1bml0cyBhZnRlciBh
cHBseWluZyB0aGU9CiBjcm9zcyBwcm9kdWN0LgorICAgICAgICByZXR1cm4gLXVjcm9zcyhyX3Zl
Yywgdl92ZWMsIHJlZ2lzdHJ5PTNEZGF0YS5kcy51bml0X3JlZ2lzdHJ5KQorCj0yMAogICAgIHJl
Z2lzdHJ5LmFkZF9maWVsZCgocHR5cGUsICJwYXJ0aWNsZV9zcGVjaWZpY19hbmd1bGFyX21vbWVu
dHVtIiksCiAgICAgICAgICAgICAgIGZ1bmN0aW9uPTNEX3BhcnRpY2xlX3NwZWNpZmljX2FuZ3Vs
YXJfbW9tZW50dW0sCkBAIC0yOTAsODcgKzI5MiwyOSBAQAogICAgICAgICAgICAgICB1bml0cz0z
RCJjbSoqMi9zIiwKICAgICAgICAgICAgICAgdmFsaWRhdG9ycz0zRFtWYWxpZGF0ZVBhcmFtZXRl
cigiY2VudGVyIildKQo9MjAKLSAgICBkZWYgX3BhcnRpY2xlX3NwZWNpZmljX2FuZ3VsYXJfbW9t
ZW50dW1feChmaWVsZCwgZGF0YSk6Ci0gICAgICAgIGlmIGRhdGEuaGFzX2ZpZWxkX3BhcmFtZXRl
cigiYnVsa192ZWxvY2l0eSIpOgotICAgICAgICAgICAgYnYgPTNEIGRhdGEuZ2V0X2ZpZWxkX3Bh
cmFtZXRlcigiYnVsa192ZWxvY2l0eSIpCi0gICAgICAgIGVsc2U6IGJ2ID0zRCBucC56ZXJvcygz
LCBkdHlwZT0zRG5wLmZsb2F0NjQpCi0gICAgICAgIGNlbnRlciA9M0QgZGF0YS5nZXRfZmllbGRf
cGFyYW1ldGVyKCdjZW50ZXInKQotICAgICAgICB5ID0zRCBkYXRhW3B0eXBlLCBzcG9zICUgInki
XSAtIGNlbnRlclsxXQotICAgICAgICB6ID0zRCBkYXRhW3B0eXBlLCBzcG9zICUgInoiXSAtIGNl
bnRlclsyXQotICAgICAgICB5diA9M0QgZGF0YVtwdHlwZSwgc3ZlbCAlICJ5Il0gLSBidlsxXQot
ICAgICAgICB6diA9M0QgZGF0YVtwdHlwZSwgc3ZlbCAlICJ6Il0gLSBidlsyXQotICAgICAgICBy
ZXR1cm4geXYqeiAtIHp2KnkKLQotICAgIHJlZ2lzdHJ5LmFkZF9maWVsZCgocHR5cGUsICJwYXJ0
aWNsZV9zcGVjaWZpY19hbmd1bGFyX21vbWVudHVtX3giKSwKLSAgICAgICAgICAgICAgZnVuY3Rp
b249M0RfcGFydGljbGVfc3BlY2lmaWNfYW5ndWxhcl9tb21lbnR1bV94LAotICAgICAgICAgICAg
ICBwYXJ0aWNsZV90eXBlPTNEVHJ1ZSwKLSAgICAgICAgICAgICAgdW5pdHM9M0QiY20qKjIvcyIs
Ci0gICAgICAgICAgICAgIHZhbGlkYXRvcnM9M0RbVmFsaWRhdGVQYXJhbWV0ZXIoImNlbnRlciIp
XSkKLQotICAgIGRlZiBfcGFydGljbGVfc3BlY2lmaWNfYW5ndWxhcl9tb21lbnR1bV95KGZpZWxk
LCBkYXRhKToKLSAgICAgICAgaWYgZGF0YS5oYXNfZmllbGRfcGFyYW1ldGVyKCJidWxrX3ZlbG9j
aXR5Iik6Ci0gICAgICAgICAgICBidiA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCJidWxr
X3ZlbG9jaXR5IikKLSAgICAgICAgZWxzZTogYnYgPTNEIG5wLnplcm9zKDMsIGR0eXBlPTNEbnAu
ZmxvYXQ2NCkKLSAgICAgICAgY2VudGVyID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoJ2Nl
bnRlcicpCi0gICAgICAgIHggPTNEIGRhdGFbcHR5cGUsIHNwb3MgJSAieCJdIC0gY2VudGVyWzBd
Ci0gICAgICAgIHogPTNEIGRhdGFbcHR5cGUsIHNwb3MgJSAieiJdIC0gY2VudGVyWzJdCi0gICAg
ICAgIHh2ID0zRCBkYXRhW3B0eXBlLCBzdmVsICUgIngiXSAtIGJ2WzBdCi0gICAgICAgIHp2ID0z
RCBkYXRhW3B0eXBlLCBzdmVsICUgInoiXSAtIGJ2WzJdCi0gICAgICAgIHJldHVybiAtKHh2Knog
LSB6dip4KQotCi0gICAgcmVnaXN0cnkuYWRkX2ZpZWxkKChwdHlwZSwgInBhcnRpY2xlX3NwZWNp
ZmljX2FuZ3VsYXJfbW9tZW50dW1feSIpLAotICAgICAgICAgICAgICBmdW5jdGlvbj0zRF9wYXJ0
aWNsZV9zcGVjaWZpY19hbmd1bGFyX21vbWVudHVtX3ksCi0gICAgICAgICAgICAgIHBhcnRpY2xl
X3R5cGU9M0RUcnVlLAotICAgICAgICAgICAgICB1bml0cz0zRCJjbSoqMi9zIiwKLSAgICAgICAg
ICAgICAgdmFsaWRhdG9ycz0zRFtWYWxpZGF0ZVBhcmFtZXRlcigiY2VudGVyIildKQotCi0gICAg
ZGVmIF9wYXJ0aWNsZV9zcGVjaWZpY19hbmd1bGFyX21vbWVudHVtX3ooZmllbGQsIGRhdGEpOgot
ICAgICAgICBpZiBkYXRhLmhhc19maWVsZF9wYXJhbWV0ZXIoImJ1bGtfdmVsb2NpdHkiKToKLSAg
ICAgICAgICAgIGJ2ID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoImJ1bGtfdmVsb2NpdHki
KQotICAgICAgICBlbHNlOiBidiA9M0QgbnAuemVyb3MoMywgZHR5cGU9M0RucC5mbG9hdDY0KQot
ICAgICAgICBjZW50ZXIgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcignY2VudGVyJykKLSAg
ICAgICAgeCA9M0QgZGF0YVtwdHlwZSwgc3BvcyAlICJ4Il0gLSBjZW50ZXJbMF0KLSAgICAgICAg
eSA9M0QgZGF0YVtwdHlwZSwgc3BvcyAlICJ5Il0gLSBjZW50ZXJbMV0KLSAgICAgICAgeHYgPTNE
IGRhdGFbcHR5cGUsIHN2ZWwgJSAieCJdIC0gYnZbMF0KLSAgICAgICAgeXYgPTNEIGRhdGFbcHR5
cGUsIHN2ZWwgJSAieSJdIC0gYnZbMV0KLSAgICAgICAgcmV0dXJuIHh2KnkgLSB5dip4Ci0KLSAg
ICByZWdpc3RyeS5hZGRfZmllbGQoKHB0eXBlLCAicGFydGljbGVfc3BlY2lmaWNfYW5ndWxhcl9t
b21lbnR1bV96IiksCi0gICAgICAgICAgICAgIGZ1bmN0aW9uPTNEX3BhcnRpY2xlX3NwZWNpZmlj
X2FuZ3VsYXJfbW9tZW50dW1feiwKLSAgICAgICAgICAgICAgcGFydGljbGVfdHlwZT0zRFRydWUs
Ci0gICAgICAgICAgICAgIHVuaXRzPTNEImNtKioyL3MiLAotICAgICAgICAgICAgICB2YWxpZGF0
b3JzPTNEW1ZhbGlkYXRlUGFyYW1ldGVyKCJjZW50ZXIiKV0pCi0KLSAgICBjcmVhdGVfbWFnbml0
dWRlX2ZpZWxkKHJlZ2lzdHJ5LCAicGFydGljbGVfc3BlY2lmaWNfYW5ndWxhcl9tb21lbnR1bSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAiY20qKjIvcyIsIGZ0eXBlPTNEcHR5cGUsIHBh
cnRpY2xlX3R5cGU9M0RUcnVlKQotCi0gICAgZGVmIF9wYXJ0aWNsZV9hbmd1bGFyX21vbWVudHVt
X3goZmllbGQsIGRhdGEpOgotICAgICAgICByZXR1cm4gZGF0YVtwdHlwZSwgInBhcnRpY2xlX21h
c3MiXSAqIFwKLSAgICAgICAgICAgICAgIGRhdGFbcHR5cGUsICJwYXJ0aWNsZV9zcGVjaWZpY19h
bmd1bGFyX21vbWVudHVtX3giXQotICAgIHJlZ2lzdHJ5LmFkZF9maWVsZCgocHR5cGUsICJwYXJ0
aWNsZV9hbmd1bGFyX21vbWVudHVtX3giKSwKLSAgICAgICAgICAgICBmdW5jdGlvbj0zRF9wYXJ0
aWNsZV9hbmd1bGFyX21vbWVudHVtX3gsCi0gICAgICAgICAgICAgdW5pdHM9M0QiZypjbSoqMi9z
IiwgcGFydGljbGVfdHlwZT0zRFRydWUsCi0gICAgICAgICAgICAgdmFsaWRhdG9ycz0zRFtWYWxp
ZGF0ZVBhcmFtZXRlcignY2VudGVyJyldKQotCi0gICAgZGVmIF9wYXJ0aWNsZV9hbmd1bGFyX21v
bWVudHVtX3koZmllbGQsIGRhdGEpOgotICAgICAgICByZXR1cm4gZGF0YVtwdHlwZSwgInBhcnRp
Y2xlX21hc3MiXSAqIFwKLSAgICAgICAgICAgICAgIGRhdGFbcHR5cGUsICJwYXJ0aWNsZV9zcGVj
aWZpY19hbmd1bGFyX21vbWVudHVtX3kiXQotICAgIHJlZ2lzdHJ5LmFkZF9maWVsZCgocHR5cGUs
ICJwYXJ0aWNsZV9hbmd1bGFyX21vbWVudHVtX3kiKSwKLSAgICAgICAgICAgICBmdW5jdGlvbj0z
RF9wYXJ0aWNsZV9hbmd1bGFyX21vbWVudHVtX3ksCi0gICAgICAgICAgICAgdW5pdHM9M0QiZypj
bSoqMi9zIiwgcGFydGljbGVfdHlwZT0zRFRydWUsCi0gICAgICAgICAgICAgdmFsaWRhdG9ycz0z
RFtWYWxpZGF0ZVBhcmFtZXRlcignY2VudGVyJyldKQotCi0gICAgZGVmIF9wYXJ0aWNsZV9hbmd1
bGFyX21vbWVudHVtX3ooZmllbGQsIGRhdGEpOgotICAgICAgICByZXR1cm4gZGF0YVtwdHlwZSwg
InBhcnRpY2xlX21hc3MiXSAqIFwKLSAgICAgICAgICAgICAgIGRhdGFbcHR5cGUsICJwYXJ0aWNs
ZV9zcGVjaWZpY19hbmd1bGFyX21vbWVudHVtX3oiXQotICAgIHJlZ2lzdHJ5LmFkZF9maWVsZCgo
cHR5cGUsICJwYXJ0aWNsZV9hbmd1bGFyX21vbWVudHVtX3oiKSwKLSAgICAgICAgICAgICBmdW5j
dGlvbj0zRF9wYXJ0aWNsZV9hbmd1bGFyX21vbWVudHVtX3osCi0gICAgICAgICAgICAgdW5pdHM9
M0QiZypjbSoqMi9zIiwgcGFydGljbGVfdHlwZT0zRFRydWUsCi0gICAgICAgICAgICAgdmFsaWRh
dG9ycz0zRFtWYWxpZGF0ZVBhcmFtZXRlcignY2VudGVyJyldKQorICAgIGRlZiBfZ2V0X3NwZWNf
YW5nX21vbV9jb21wKGF4aSwgYXgsIF9wdHlwZSk6CisgICAgICAgIGRlZiBfcGFydGljbGVfc3Bl
Y2lmaWNfYW5ndWxhcl9tb21lbnR1bV9jb21wb25lbnQoZmllbGQsIGRhdGEpOgorICAgICAgICAg
ICAgcmV0dXJuIGRhdGFbX3B0eXBlLCAicGFydGljbGVfc3BlY2lmaWNfYW5ndWxhcl9tb21lbnR1
bSJdWzosIGE9CnhpXQorICAgICAgICBkZWYgX3BhcnRpY2xlX2FuZ3VsYXJfbW9tZW50dW1fY29t
cG9uZW50KGZpZWxkLCBkYXRhKToKKyAgICAgICAgICAgIHJldHVybiBkYXRhW19wdHlwZSwgInBh
cnRpY2xlX21hc3MiXSAqIFwKKyAgICAgICAgICAgICAgICBkYXRhW3B0eXBlLCAicGFydGljbGVf
c3BlY2lmaWNfYW5ndWxhcl9tb21lbnR1bV8lcyIgJSBheF0KKyAgICAgICAgcmV0dXJuIF9wYXJ0
aWNsZV9zcGVjaWZpY19hbmd1bGFyX21vbWVudHVtX2NvbXBvbmVudCwgXAorICAgICAgICAgICAg
X3BhcnRpY2xlX2FuZ3VsYXJfbW9tZW50dW1fY29tcG9uZW50CisgICAgZm9yIGF4aSwgYXggaW4g
ZW51bWVyYXRlKCJ4eXoiKToKKyAgICAgICAgZiwgdiA9M0QgX2dldF9zcGVjX2FuZ19tb21fY29t
cChheGksIGF4LCBwdHlwZSkKKyAgICAgICAgcmVnaXN0cnkuYWRkX2ZpZWxkKAorICAgICAgICAg
ICAgKHB0eXBlLCAicGFydGljbGVfc3BlY2lmaWNfYW5ndWxhcl9tb21lbnR1bV8lcyIgJSBheCks
CisgICAgICAgICAgICBwYXJ0aWNsZV90eXBlID0zRCBUcnVlLCBmdW5jdGlvbj0zRGYsIHVuaXRz
PTNEImNtKioyL3MiLAorICAgICAgICAgICAgdmFsaWRhdG9ycz0zRFtWYWxpZGF0ZVBhcmFtZXRl
cigiY2VudGVyIildCisgICAgICAgICkKKyAgICAgICAgcmVnaXN0cnkuYWRkX2ZpZWxkKChwdHlw
ZSwgInBhcnRpY2xlX2FuZ3VsYXJfbW9tZW50dW1fJXMiICUgYXgpLAorICAgICAgICAgICAgZnVu
Y3Rpb249M0R2LCB1bml0cz0zRCJnKmNtKioyL3MiLCBwYXJ0aWNsZV90eXBlPTNEVHJ1ZSwKKyAg
ICAgICAgICAgIHZhbGlkYXRvcnM9M0RbVmFsaWRhdGVQYXJhbWV0ZXIoJ2NlbnRlcicpXSkKPTIw
CiAgICAgZGVmIF9wYXJ0aWNsZV9hbmd1bGFyX21vbWVudHVtKGZpZWxkLCBkYXRhKToKLSAgICAg
ICAgcmV0dXJuIChkYXRhW3B0eXBlLCAicGFydGljbGVfbWFzcyJdICoKLSAgICAgICAgICAgICAg
ICBkYXRhW3B0eXBlLCAicGFydGljbGVfc3BlY2lmaWNfYW5ndWxhcl9tb21lbnR1bSJdLlQpLlQK
KyAgICAgICAgYW0gPTNEIGRhdGFbcHR5cGUsICJwYXJ0aWNsZV9tYXNzIl0gKiBkYXRhW3B0eXBl
LCAicGFydGljbGVfc3BlY2lmPQppY19hbmd1bGFyX21vbWVudHVtIl0uVAorICAgICAgICByZXR1
cm4gYW0uVAorCiAgICAgcmVnaXN0cnkuYWRkX2ZpZWxkKChwdHlwZSwgInBhcnRpY2xlX2FuZ3Vs
YXJfbW9tZW50dW0iKSwKICAgICAgICAgICAgICAgZnVuY3Rpb249M0RfcGFydGljbGVfYW5ndWxh
cl9tb21lbnR1bSwKICAgICAgICAgICAgICAgcGFydGljbGVfdHlwZT0zRFRydWUsCkBAIC00MDUs
OSArMzQ5LDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIG5vcm1hbCA9M0QgZGF0YS5nZXRfZmll
bGRfcGFyYW1ldGVyKCdub3JtYWwnKQogICAgICAgICBjZW50ZXIgPTNEIGRhdGEuZ2V0X2ZpZWxk
X3BhcmFtZXRlcignY2VudGVyJykKLSAgICAgICAgcG9zID0zRCBzcG9zCi0gICAgICAgIHBvcyA9
M0QgWVRBcnJheShbZGF0YVtwdHlwZSwgcG9zICUgYXhdIGZvciBheCBpbiAieHl6Il0pCi0gICAg
ICAgIHBvcyA9M0QgcG9zLlQKKyAgICAgICAgcG9zID0zRCBkYXRhLmRzLmFycihbZGF0YVtwdHlw
ZSwgc3BvcyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKS5UCiAgICAgICAgIEwsIHBvcyA9M0QgbW9k
aWZ5X3JlZmVyZW5jZV9mcmFtZShjZW50ZXIsIG5vcm1hbCwgUD0zRHBvcykKICAgICAgICAgcmV0
dXJuIHBvcwo9MjAKQEAgLTQxOCw4MSArMzYwLDYgQEAKICAgICAgICAgdW5pdHM9M0QiY20iLAog
ICAgICAgICB2YWxpZGF0b3JzPTNEW1ZhbGlkYXRlUGFyYW1ldGVyKCJub3JtYWwiKSwgVmFsaWRh
dGVQYXJhbWV0ZXIoImNlbnQ9CmVyIildKQo9MjAKLSAgICBkZWYgX3BhcnRpY2xlX3Bvc2l0aW9u
X3JlbGF0aXZlX3goZmllbGQsIGRhdGEpOgotICAgICAgICAiIiJUaGUgeCBjb21wb25lbnQgb2Yg
dGhlICBwYXJ0aWNsZSBwb3NpdGlvbnMgaW4gYSByb3RhdGVkIHJlZmVyZW49CmNlCi0gICAgICAg
IGZyYW1lCi0KLSAgICAgICAgUmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGRlZmlu
ZWQgYnkgdGhlICpub3JtYWwqIHZlY3RvciBhPQpuZAotICAgICAgICAqY2VudGVyKiBmaWVsZCBw
YXJhbWV0ZXJzLgotCi0gICAgICAgIE5vdGUgdGhhdCB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHgg
YW5kIHkgYXhlcyBhcmUgYXJiaXRyYXJ5LgotICAgICAgICAiIiIKLSAgICAgICAgbm9ybWFsID0z
RCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoJ25vcm1hbCcpCi0gICAgICAgIGNlbnRlciA9M0Qg
ZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCdjZW50ZXInKQotICAgICAgICBwb3MgPTNEIHNwb3MK
LSAgICAgICAgcG9zID0zRCBZVEFycmF5KFtkYXRhW3B0eXBlLCBwb3MgJSBheF0gZm9yIGF4IGlu
ICJ4eXoiXSkKLSAgICAgICAgcG9zID0zRCBwb3MuVAotICAgICAgICBMLCBwb3MsID0zRCBtb2Rp
ZnlfcmVmZXJlbmNlX2ZyYW1lKGNlbnRlciwgbm9ybWFsLCBQPTNEcG9zKQotICAgICAgICBwb3Mg
PTNEIHBvcy5UCi0gICAgICAgIHJldHVybiBwb3NbMF0KLQotICAgIHJlZ2lzdHJ5LmFkZF9maWVs
ZCgKLSAgICAgICAgKHB0eXBlLCAicGFydGljbGVfcG9zaXRpb25fcmVsYXRpdmVfeCIpLAotICAg
ICAgICBmdW5jdGlvbj0zRF9wYXJ0aWNsZV9wb3NpdGlvbl9yZWxhdGl2ZV94LAotICAgICAgICBw
YXJ0aWNsZV90eXBlPTNEVHJ1ZSwKLSAgICAgICAgdW5pdHM9M0QiY20iLAotICAgICAgICB2YWxp
ZGF0b3JzPTNEW1ZhbGlkYXRlUGFyYW1ldGVyKCJub3JtYWwiKSwgVmFsaWRhdGVQYXJhbWV0ZXIo
ImNlbnQ9CmVyIildKQotCi0gICAgZGVmIF9wYXJ0aWNsZV9wb3NpdGlvbl9yZWxhdGl2ZV95KGZp
ZWxkLCBkYXRhKToKLSAgICAgICAgIiIiVGhlIHkgY29tcG9uZW50IG9mIHRoZSAgcGFydGljbGUg
cG9zaXRpb25zIGluIGEgcm90YXRlZCByZWZlcmVuPQpjZQotICAgICAgICBmcmFtZQotCi0gICAg
ICAgIFJlbGF0aXZlIHRvIHRoZSBjb29yZGluYXRlIHN5c3RlbSBkZWZpbmVkIGJ5IHRoZSAqbm9y
bWFsKiB2ZWN0b3IgYT0KbmQKLSAgICAgICAgKmNlbnRlciogZmllbGQgcGFyYW1ldGVycy4KLQot
ICAgICAgICBOb3RlIHRoYXQgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSB4IGFuZCB5IGF4ZXMgYXJl
IGFyYml0cmFyeS4KLSAgICAgICAgIiIiCi0gICAgICAgIG5vcm1hbCA9M0QgZGF0YS5nZXRfZmll
bGRfcGFyYW1ldGVyKCdub3JtYWwnKQotICAgICAgICBjZW50ZXIgPTNEIGRhdGEuZ2V0X2ZpZWxk
X3BhcmFtZXRlcignY2VudGVyJykKLSAgICAgICAgcG9zID0zRCBzcG9zCi0gICAgICAgIHBvcyA9
M0QgWVRBcnJheShbZGF0YVtwdHlwZSwgcG9zICUgYXhdIGZvciBheCBpbiAieHl6Il0pCi0gICAg
ICAgIHBvcyA9M0QgcG9zLlQKLSAgICAgICAgTCwgcG9zID0zRCBtb2RpZnlfcmVmZXJlbmNlX2Zy
YW1lKGNlbnRlciwgbm9ybWFsLCBQPTNEcG9zKQotICAgICAgICBwb3MgPTNEIHBvcy5UCi0gICAg
ICAgIHJldHVybiBwb3NbMV0KLQotICAgIHJlZ2lzdHJ5LmFkZF9maWVsZCgocHR5cGUsICJwYXJ0
aWNsZV9wb3NpdGlvbl9yZWxhdGl2ZV95IiksCi0gICAgICAgICAgICAgIGZ1bmN0aW9uPTNEX3Bh
cnRpY2xlX3Bvc2l0aW9uX3JlbGF0aXZlX3ksCi0gICAgICAgICAgICAgIHBhcnRpY2xlX3R5cGU9
M0RUcnVlLCB1bml0cz0zRCJjbSIsCi0gICAgICAgICAgICAgIHZhbGlkYXRvcnM9M0RbVmFsaWRh
dGVQYXJhbWV0ZXIoIm5vcm1hbCIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0
ZVBhcmFtZXRlcigiY2VudGVyIildKQotCi0KLSAgICBkZWYgX3BhcnRpY2xlX3Bvc2l0aW9uX3Jl
bGF0aXZlX3ooZmllbGQsIGRhdGEpOgotICAgICAgICAiIiJUaGUgeiBjb21wb25lbnQgb2YgdGhl
ICBwYXJ0aWNsZSBwb3NpdGlvbnMgaW4gYSByb3RhdGVkIHJlZmVyZW49CmNlCi0gICAgICAgIGZy
YW1lCi0KLSAgICAgICAgUmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGRlZmluZWQg
YnkgdGhlICpub3JtYWwqIHZlY3RvciBhPQpuZAotICAgICAgICAqY2VudGVyKiBmaWVsZCBwYXJh
bWV0ZXJzLgotCi0gICAgICAgIE5vdGUgdGhhdCB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHggYW5k
IHkgYXhlcyBhcmUgYXJiaXRyYXJ5LgotICAgICAgICAiIiIKLSAgICAgICAgbm9ybWFsID0zRCBk
YXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoJ25vcm1hbCcpCi0gICAgICAgIGNlbnRlciA9M0QgZGF0
YS5nZXRfZmllbGRfcGFyYW1ldGVyKCdjZW50ZXInKQotCi0gICAgICAgIHBvcyA9M0Qgc3Bvcwot
ICAgICAgICBwb3MgPTNEIFlUQXJyYXkoW2RhdGFbcHR5cGUsIHBvcyAlIGF4XSBmb3IgYXggaW4g
Inh5eiJdKQotICAgICAgICBwb3MgPTNEIHBvcy5UCi0gICAgICAgIEwsIHBvcyA9M0QgbW9kaWZ5
X3JlZmVyZW5jZV9mcmFtZShjZW50ZXIsIG5vcm1hbCwgUD0zRHBvcykKLSAgICAgICAgcG9zID0z
RCBwb3MuVAotICAgICAgICByZXR1cm4gcG9zWzJdCi0KLSAgICByZWdpc3RyeS5hZGRfZmllbGQo
KHB0eXBlLCAicGFydGljbGVfcG9zaXRpb25fcmVsYXRpdmVfeiIpLAotICAgICAgICAgICAgICBm
dW5jdGlvbj0zRF9wYXJ0aWNsZV9wb3NpdGlvbl9yZWxhdGl2ZV96LAotICAgICAgICAgICAgICBw
YXJ0aWNsZV90eXBlPTNEVHJ1ZSwgdW5pdHM9M0QiY20iLAotICAgICAgICAgICAgICB2YWxpZGF0
b3JzPTNEW1ZhbGlkYXRlUGFyYW1ldGVyKCJub3JtYWwiKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgVmFsaWRhdGVQYXJhbWV0ZXIoImNlbnRlciIpXSkKLQogICAgIGRlZiBfcGFydGljbGVf
dmVsb2NpdHlfcmVsYXRpdmUoZmllbGQsIGRhdGEpOgogICAgICAgICAiIiJUaGUgdmVjdG9yIHBh
cnRpY2xlIHZlbG9jaXRpZXMgaW4gYW4gYXJiaXRyYXJ5IGNvb3JkaW5hdGUgc3lzdGVtCj0yMApA
QCAtNTA0LDEwICszNzEsNyBAQAogICAgICAgICBub3JtYWwgPTNEIGRhdGEuZ2V0X2ZpZWxkX3Bh
cmFtZXRlcignbm9ybWFsJykKICAgICAgICAgY2VudGVyID0zRCBkYXRhLmdldF9maWVsZF9wYXJh
bWV0ZXIoJ2NlbnRlcicpCiAgICAgICAgIGJ2ID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIo
ImJ1bGtfdmVsb2NpdHkiKQotICAgICAgICB2ZWwgPTNEIHN2ZWwKLSAgICAgICAgdmVsID0zRCBZ
VEFycmF5KFtkYXRhW3B0eXBlLCB2ZWwgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkKLSAgICAgICAg
dmVsID0zRCB2ZWwgLSBucC5yZXNoYXBlKGJ2LCAoMywgMSkpCi0gICAgICAgIHZlbCA9M0QgdmVs
LlQKKyAgICAgICAgdmVsID0zRCBkYXRhLmRzLmFycihbZGF0YVtwdHlwZSwgc3ZlbCAlIGF4XSAt
IGJ2W2lheF0gZm9yIGlheCwgYXggPQppbiBlbnVtZXJhdGUoInh5eiIpXSkuVAogICAgICAgICBM
LCB2ZWwgPTNEIG1vZGlmeV9yZWZlcmVuY2VfZnJhbWUoY2VudGVyLCBub3JtYWwsIFY9M0R2ZWwp
CiAgICAgICAgIHJldHVybiB2ZWwKPTIwCkBAIC01MTcsODMgKzM4MSwyMiBAQAogICAgICAgICAg
ICAgICB2YWxpZGF0b3JzPTNEW1ZhbGlkYXRlUGFyYW1ldGVyKCJub3JtYWwiKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXJhbWV0ZXIoImNlbnRlciIpXSkKPTIwCi0gICAg
ZGVmIF9wYXJ0aWNsZV92ZWxvY2l0eV9yZWxhdGl2ZV94KGZpZWxkLCBkYXRhKToKLSAgICAgICAg
IiIiVGhlIHggY29tcG9uZW50IG9mIHRoZSBwYXJ0aWNsZSB2ZWxvY2l0aWVzIGluIGFuIGFyYml0
cmFyeSBjb29yPQpkaW5hdGUKLSAgICAgICAgc3lzdGVtCj0yMAotICAgICAgICBSZWxhdGl2ZSB0
byB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gZGVmaW5lZCBieSB0aGUgKm5vcm1hbCogdmVjdG9yLAot
ICAgICAgICAqYnVsa192ZWxvY2l0eSogdmVjdG9yIGFuZCAqY2VudGVyKiBmaWVsZCBwYXJhbWV0
ZXJzLgorICAgIGRlZiBfZ2V0X2Nvb3JkX2Z1bmNzX3JlbGF0aXZlKGF4aSwgX3B0eXBlKToKKyAg
ICAgICAgZGVmIF9wYXJ0aWNsZV9wb3NfcmVsKGZpZWxkLCBkYXRhKToKKyAgICAgICAgICAgIHJl
dHVybiBkYXRhW19wdHlwZSwgInBhcnRpY2xlX3Bvc2l0aW9uX3JlbGF0aXZlIl1bOiwgYXhpXQor
ICAgICAgICBkZWYgX3BhcnRpY2xlX3ZlbF9yZWwoZmllbGQsIGRhdGEpOgorICAgICAgICAgICAg
cmV0dXJuIGRhdGFbX3B0eXBlLCAicGFydGljbGVfdmVsb2NpdHlfcmVsYXRpdmUiXVs6LCBheGld
CisgICAgICAgIHJldHVybiBfcGFydGljbGVfdmVsX3JlbCwgX3BhcnRpY2xlX3Bvc19yZWwKKyAg
ICBmb3IgYXhpLCBheCBpbiBlbnVtZXJhdGUoInh5eiIpOgorICAgICAgICB2LCBwID0zRCBfZ2V0
X2Nvb3JkX2Z1bmNzX3JlbGF0aXZlKGF4aSwgcHR5cGUpCisgICAgICAgIHJlZ2lzdHJ5LmFkZF9m
aWVsZCgocHR5cGUsICJwYXJ0aWNsZV92ZWxvY2l0eV9yZWxhdGl2ZV8lcyIgJSBheCksCisgICAg
ICAgICAgICBwYXJ0aWNsZV90eXBlID0zRCBUcnVlLCBmdW5jdGlvbiA9M0QgdiwKKyAgICAgICAg
ICAgIHVuaXRzID0zRCAiY29kZV92ZWxvY2l0eSIpCisgICAgICAgIHJlZ2lzdHJ5LmFkZF9maWVs
ZCgocHR5cGUsICJwYXJ0aWNsZV9wb3NpdGlvbl9yZWxhdGl2ZV8lcyIgJSBheCksCisgICAgICAg
ICAgICBwYXJ0aWNsZV90eXBlID0zRCBUcnVlLCBmdW5jdGlvbiA9M0QgcCwKKyAgICAgICAgICAg
IHVuaXRzID0zRCAiY29kZV9sZW5ndGgiKQo9MjAKLSAgICAgICAgTm90ZSB0aGF0IHRoZSBvcmll
bnRhdGlvbiBvZiB0aGUgeCBhbmQgeSBheGVzIGFyZSBhcmJpdHJhcnkuCi0gICAgICAgICIiIgot
ICAgICAgICBub3JtYWwgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcignbm9ybWFsJykKLSAg
ICAgICAgY2VudGVyID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoJ2NlbnRlcicpCi0gICAg
ICAgIGJ2ID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoImJ1bGtfdmVsb2NpdHkiKQotICAg
ICAgICB2ZWwgPTNEIHN2ZWwKLSAgICAgICAgdmVsID0zRCBZVEFycmF5KFtkYXRhW3B0eXBlLCB2
ZWwgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkKLSAgICAgICAgdmVsID0zRCB2ZWwgLSBucC5yZXNo
YXBlKGJ2LCAoMywgMSkpCi0gICAgICAgIHZlbCA9M0QgdmVsLlQKLSAgICAgICAgTCwgdmVsID0z
RCBtb2RpZnlfcmVmZXJlbmNlX2ZyYW1lKGNlbnRlciwgbm9ybWFsLCBWPTNEdmVsKQotICAgICAg
ICB2ZWwgPTNEIHZlbC5UCi0gICAgICAgIHJldHVybiB2ZWxbMF0KLQotICAgIHJlZ2lzdHJ5LmFk
ZF9maWVsZCgocHR5cGUsICJwYXJ0aWNsZV92ZWxvY2l0eV9yZWxhdGl2ZV94IiksCi0gICAgICAg
ICAgICAgIGZ1bmN0aW9uPTNEX3BhcnRpY2xlX3ZlbG9jaXR5X3JlbGF0aXZlX3gsCi0gICAgICAg
ICAgICAgIHBhcnRpY2xlX3R5cGU9M0RUcnVlLCB1bml0cz0zRCJjbS9zIiwKLSAgICAgICAgICAg
ICAgdmFsaWRhdG9ycz0zRFtWYWxpZGF0ZVBhcmFtZXRlcigibm9ybWFsIiksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIFZhbGlkYXRlUGFyYW1ldGVyKCJjZW50ZXIiKV0pCi0KLSAgICBkZWYg
X3BhcnRpY2xlX3ZlbG9jaXR5X3JlbGF0aXZlX3koZmllbGQsIGRhdGEpOgotICAgICAgICAiIiJU
aGUgeSBjb21wb25lbnQgb2YgdGhlIHBhcnRpY2xlIHZlbG9jaXRpZXMgaW4gYW4gYXJiaXRyYXJ5
IGNvb3I9CmRpbmF0ZQotICAgICAgICBzeXN0ZW0KLQotICAgICAgICBSZWxhdGl2ZSB0byB0aGUg
Y29vcmRpbmF0ZSBzeXN0ZW0gZGVmaW5lZCBieSB0aGUgKm5vcm1hbCogdmVjdG9yLAotICAgICAg
ICAqYnVsa192ZWxvY2l0eSogdmVjdG9yIGFuZCAqY2VudGVyKiBmaWVsZCBwYXJhbWV0ZXJzLgot
Ci0gICAgICAgIE5vdGUgdGhhdCB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHggYW5kIHkgYXhlcyBh
cmUgYXJiaXRyYXJ5LgotICAgICAgICAiIiIKLSAgICAgICAgbm9ybWFsID0zRCBkYXRhLmdldF9m
aWVsZF9wYXJhbWV0ZXIoJ25vcm1hbCcpCi0gICAgICAgIGNlbnRlciA9M0QgZGF0YS5nZXRfZmll
bGRfcGFyYW1ldGVyKCdjZW50ZXInKQotICAgICAgICBidiA9M0QgZGF0YS5nZXRfZmllbGRfcGFy
YW1ldGVyKCdidWxrX3ZlbG9jaXR5JykKLSAgICAgICAgdmVsID0zRCBzdmVsCi0gICAgICAgIHZl
bCA9M0QgWVRBcnJheShbZGF0YVtwdHlwZSwgdmVsICUgYXhdIGZvciBheCBpbiAieHl6Il0pCi0g
ICAgICAgIHZlbCA9M0QgdmVsIC0gbnAucmVzaGFwZShidiwgKDMsIDEpKQotICAgICAgICB2ZWwg
PTNEIHZlbC5UCi0gICAgICAgIEwsIHZlbCA9M0QgbW9kaWZ5X3JlZmVyZW5jZV9mcmFtZShjZW50
ZXIsIG5vcm1hbCwgVj0zRHZlbCkKLSAgICAgICAgdmVsID0zRCB2ZWwuVAotICAgICAgICByZXR1
cm4gdmVsWzFdCi0KLSAgICByZWdpc3RyeS5hZGRfZmllbGQoKHB0eXBlLCAicGFydGljbGVfdmVs
b2NpdHlfcmVsYXRpdmVfeSIpLAotICAgICAgICAgICAgICBmdW5jdGlvbj0zRF9wYXJ0aWNsZV92
ZWxvY2l0eV9yZWxhdGl2ZV95LAotICAgICAgICAgICAgICBwYXJ0aWNsZV90eXBlPTNEVHJ1ZSwg
dW5pdHM9M0QiY20vcyIsCi0gICAgICAgICAgICAgIHZhbGlkYXRvcnM9M0RbVmFsaWRhdGVQYXJh
bWV0ZXIoIm5vcm1hbCIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhcmFt
ZXRlcigiY2VudGVyIildKQotCi0gICAgZGVmIF9wYXJ0aWNsZV92ZWxvY2l0eV9yZWxhdGl2ZV96
KGZpZWxkLCBkYXRhKToKLSAgICAgICAgIiIiVGhlIHogY29tcG9uZW50IG9mIHRoZSBwYXJ0aWNs
ZSB2ZWxvY2l0aWVzIGluIGFuIGFyYml0cmFyeSBjb29yPQpkaW5hdGUKLSAgICAgICAgc3lzdGVt
Ci0KLSAgICAgICAgUmVsYXRpdmUgdG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGRlZmluZWQgYnkg
dGhlICpub3JtYWwqIHZlY3RvciwKLSAgICAgICAgKmJ1bGtfdmVsb2NpdHkqIHZlY3RvciBhbmQg
KmNlbnRlciogZmllbGQgcGFyYW1ldGVycy4KLQotICAgICAgICBOb3RlIHRoYXQgdGhlIG9yaWVu
dGF0aW9uIG9mIHRoZSB4IGFuZCB5IGF4ZXMgYXJlIGFyYml0cmFyeS4KLSAgICAgICAgIiIiCi0g
ICAgICAgIG5vcm1hbCA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCdub3JtYWwnKQotICAg
ICAgICBjZW50ZXIgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcignY2VudGVyJykKLSAgICAg
ICAgYnYgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcigiYnVsa192ZWxvY2l0eSIpCi0gICAg
ICAgIHZlbCA9M0Qgc3ZlbAotICAgICAgICB2ZWwgPTNEIFlUQXJyYXkoW2RhdGFbcHR5cGUsIHZl
bCAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQotICAgICAgICBidiA9M0QgdmVsIC0gbnAucmVzaGFw
ZShidiwgKDMsIDEpKQotICAgICAgICB2ZWwgPTNEIHZlbC5UCi0gICAgICAgIEwsIHZlbCA9M0Qg
bW9kaWZ5X3JlZmVyZW5jZV9mcmFtZShjZW50ZXIsIG5vcm1hbCwgVj0zRHZlbCkKLSAgICAgICAg
dmVsID0zRCB2ZWwuVAotICAgICAgICByZXR1cm4gdmVsWzJdCi0KLSAgICByZWdpc3RyeS5hZGRf
ZmllbGQoKHB0eXBlLCAicGFydGljbGVfdmVsb2NpdHlfcmVsYXRpdmVfeiIpLAotICAgICAgICAg
ICAgICBmdW5jdGlvbj0zRF9wYXJ0aWNsZV92ZWxvY2l0eV9yZWxhdGl2ZV96LAotICAgICAgICAg
ICAgICBwYXJ0aWNsZV90eXBlPTNEVHJ1ZSwgdW5pdHM9M0QiY20vcyIsCi0gICAgICAgICAgICAg
IHZhbGlkYXRvcnM9M0RbVmFsaWRhdGVQYXJhbWV0ZXIoIm5vcm1hbCIpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBWYWxpZGF0ZVBhcmFtZXRlcigiY2VudGVyIildKQo9MjAKICAgICAjIHRo
aXMgaXMganVzdCBwYXJ0aWNsZSByYWRpdXMgYnV0IHdlIGFkZCBpdCB3aXRoIGFuIGFsaWFzIGZv
ciB0aGUgc2FrPQplIG9mCiAgICAgIyBjb25zaXN0ZW50IG5hbWluZwpAQCAtNjIxLDggKzQyNCw3
IEBACiAgICAgICAgICIiIgogICAgICAgICBub3JtYWwgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFt
ZXRlcigibm9ybWFsIikKICAgICAgICAgY2VudGVyID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0
ZXIoImNlbnRlciIpCi0gICAgICAgIHBvcyA9M0Qgc3BvcwotICAgICAgICBwb3MgPTNEIFlUQXJy
YXkoW2RhdGFbcHR5cGUsIHBvcyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQorICAgICAgICBwb3Mg
PTNEIGRhdGEuZHMuYXJyKFtkYXRhW3B0eXBlLCBzcG9zICUgYXhdIGZvciBheCBpbiAieHl6Il0p
CiAgICAgICAgIHBvcyA9M0QgcG9zIC0gbnAucmVzaGFwZShjZW50ZXIsICgzLCAxKSkKICAgICAg
ICAgcmV0dXJuIGRhdGEuZHMuYXJyKGdldF9zcGhfdGhldGEocG9zLCBub3JtYWwpLCAiIikKPTIw
CkBAIC02NTEsOCArNDUzLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIG5vcm1hbCA9M0QgZGF0
YS5nZXRfZmllbGRfcGFyYW1ldGVyKCJub3JtYWwiKQogICAgICAgICBjZW50ZXIgPTNEIGRhdGEu
Z2V0X2ZpZWxkX3BhcmFtZXRlcigiY2VudGVyIikKLSAgICAgICAgcG9zID0zRCBzcG9zCi0gICAg
ICAgIHBvcyA9M0QgWVRBcnJheShbZGF0YVtwdHlwZSwgcG9zICUgYXhdIGZvciBheCBpbiAieHl6
Il0pCisgICAgICAgIHBvcyA9M0QgZGF0YS5kcy5hcnIoW2RhdGFbcHR5cGUsIHNwb3MgJSBheF0g
Zm9yIGF4IGluICJ4eXoiXSkKICAgICAgICAgcG9zID0zRCBwb3MgLSBucC5yZXNoYXBlKGNlbnRl
ciwgKDMsIDEpKQogICAgICAgICByZXR1cm4gZGF0YS5kcy5hcnIoZ2V0X3NwaF9waGkocG9zLCBu
b3JtYWwpLCAiIikKPTIwCkBAIC02ODMsMTAgKzQ4NCw4IEBACiAgICAgICAgIG5vcm1hbCA9M0Qg
ZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCdub3JtYWwnKQogICAgICAgICBjZW50ZXIgPTNEIGRh
dGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcignY2VudGVyJykKICAgICAgICAgYnYgPTNEIGRhdGEuZ2V0
X2ZpZWxkX3BhcmFtZXRlcigiYnVsa192ZWxvY2l0eSIpCi0gICAgICAgIHBvcyA9M0Qgc3Bvcwot
ICAgICAgICBwb3MgPTNEIFlUQXJyYXkoW2RhdGFbcHR5cGUsIHBvcyAlIGF4XSBmb3IgYXggaW4g
Inh5eiJdKQotICAgICAgICB2ZWwgPTNEIHN2ZWwKLSAgICAgICAgdmVsID0zRCBZVEFycmF5KFtk
YXRhW3B0eXBlLCB2ZWwgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkKKyAgICAgICAgcG9zID0zRCBk
YXRhLmRzLmFycihbZGF0YVtwdHlwZSwgc3BvcyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQorICAg
ICAgICB2ZWwgPTNEIGRhdGEuZHMuYXJyKFtkYXRhW3B0eXBlLCBzdmVsICUgYXhdIGZvciBheCBp
biAieHl6Il0pCiAgICAgICAgIHRoZXRhID0zRCBnZXRfc3BoX3RoZXRhKHBvcywgY2VudGVyKQog
ICAgICAgICBwaGkgPTNEIGdldF9zcGhfcGhpKHBvcywgY2VudGVyKQogICAgICAgICBwb3MgPTNE
IHBvcyAtIG5wLnJlc2hhcGUoY2VudGVyLCAoMywgMSkpCkBAIC03MjgsMTAgKzUyNyw4IEBACiAg
ICAgICAgIG5vcm1hbCA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCdub3JtYWwnKQogICAg
ICAgICBjZW50ZXIgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcignY2VudGVyJykKICAgICAg
ICAgYnYgPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcigiYnVsa192ZWxvY2l0eSIpCi0gICAg
ICAgIHBvcyA9M0Qgc3BvcwotICAgICAgICBwb3MgPTNEIFlUQXJyYXkoW2RhdGFbcHR5cGUsIHBv
cyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQotICAgICAgICB2ZWwgPTNEIHN2ZWwKLSAgICAgICAg
dmVsID0zRCBZVEFycmF5KFtkYXRhW3B0eXBlLCB2ZWwgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkK
KyAgICAgICAgcG9zID0zRCBkYXRhLmRzLmFycihbZGF0YVtwdHlwZSwgc3BvcyAlIGF4XSBmb3Ig
YXggaW4gInh5eiJdKQorICAgICAgICB2ZWwgPTNEIGRhdGEuZHMuYXJyKFtkYXRhW3B0eXBlLCBz
dmVsICUgYXhdIGZvciBheCBpbiAieHl6Il0pCiAgICAgICAgIHRoZXRhID0zRCBnZXRfc3BoX3Ro
ZXRhKHBvcywgY2VudGVyKQogICAgICAgICBwaGkgPTNEIGdldF9zcGhfcGhpKHBvcywgY2VudGVy
KQogICAgICAgICBwb3MgPTNEIHBvcyAtIG5wLnJlc2hhcGUoY2VudGVyLCAoMywgMSkpCkBAIC03
NjUsOCArNTYyLDggQEAKICAgICAgICAgbm9ybWFsID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0
ZXIoJ25vcm1hbCcpCiAgICAgICAgIGNlbnRlciA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVy
KCdjZW50ZXInKQogICAgICAgICBidiA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCJidWxr
X3ZlbG9jaXR5IikKLSAgICAgICAgcG9zID0zRCBZVEFycmF5KFtkYXRhW3B0eXBlLCBzcG9zICUg
YXhdIGZvciBheCBpbiAieHl6Il0pCi0gICAgICAgIHZlbCA9M0QgWVRBcnJheShbZGF0YVtwdHlw
ZSwgc3ZlbCAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQorICAgICAgICBwb3MgPTNEIGRhdGEuZHMu
YXJyKFtkYXRhW3B0eXBlLCBzcG9zICUgYXhdIGZvciBheCBpbiAieHl6Il0pCisgICAgICAgIHZl
bCA9M0QgZGF0YS5kcy5hcnIoW2RhdGFbcHR5cGUsIHN2ZWwgJSBheF0gZm9yIGF4IGluICJ4eXoi
XSkKICAgICAgICAgcGhpID0zRCBnZXRfc3BoX3BoaShwb3MsIGNlbnRlcikKICAgICAgICAgcG9z
ID0zRCBwb3MgLSBucC5yZXNoYXBlKGNlbnRlciwgKDMsIDEpKQogICAgICAgICB2ZWwgPTNEIHZl
bCAtIG5wLnJlc2hhcGUoYnYsICgzLCAxKSkKQEAgLTc5OCw3ICs1OTUsNyBAQAogICAgICAgICAi
IiIKICAgICAgICAgbm9ybWFsID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoIm5vcm1hbCIp
CiAgICAgICAgIGNlbnRlciA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCdjZW50ZXInKQot
ICAgICAgICBwb3MgPTNEIFlUQXJyYXkoW2RhdGFbcHR5cGUsIHNwb3MgJSBheF0gZm9yIGF4IGlu
ICJ4eXoiXSkKKyAgICAgICAgcG9zID0zRCBkYXRhLmRzLmFycihbZGF0YVtwdHlwZSwgc3BvcyAl
IGF4XSBmb3IgYXggaW4gInh5eiJdKQogICAgICAgICBwb3MgPTNEIHBvcyAtIG5wLnJlc2hhcGUo
Y2VudGVyLCAoMywgMSkpCiAgICAgICAgIHJldHVybiBkYXRhLmRzLmFycihnZXRfY3lsX3IocG9z
LCBub3JtYWwpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvZGVfbGVuZ3RoJykKQEAg
LTgxOCw3ICs2MTUsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgbm9ybWFsID0zRCBkYXRhLmdl
dF9maWVsZF9wYXJhbWV0ZXIoIm5vcm1hbCIpCiAgICAgICAgIGNlbnRlciA9M0QgZGF0YS5nZXRf
ZmllbGRfcGFyYW1ldGVyKCdjZW50ZXInKQotICAgICAgICBwb3MgPTNEIFlUQXJyYXkoW2RhdGFb
cHR5cGUsIHNwb3MgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkKKyAgICAgICAgcG9zID0zRCBkYXRh
LmRzLmFycihbZGF0YVtwdHlwZSwgc3BvcyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQogICAgICAg
ICBwb3MgPTNEIHBvcyAtIG5wLnJlc2hhcGUoY2VudGVyLCAoMywgMSkpCiAgICAgICAgIHJldHVy
biBkYXRhLmRzLmFycihnZXRfY3lsX3RoZXRhKHBvcywgbm9ybWFsKSwgIiIpCj0yMApAQCAtODM3
LDcgKzYzNCw3IEBACiAgICAgICAgICIiIgogICAgICAgICBub3JtYWwgPTNEIGRhdGEuZ2V0X2Zp
ZWxkX3BhcmFtZXRlcigibm9ybWFsIikKICAgICAgICAgY2VudGVyID0zRCBkYXRhLmdldF9maWVs
ZF9wYXJhbWV0ZXIoJ2NlbnRlcicpCi0gICAgICAgIHBvcyA9M0QgWVRBcnJheShbZGF0YVtwdHlw
ZSwgc3BvcyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQorICAgICAgICBwb3MgPTNEIGRhdGEuZHMu
YXJyKFtkYXRhW3B0eXBlLCBzcG9zICUgYXhdIGZvciBheCBpbiAieHl6Il0pCiAgICAgICAgIHBv
cyA9M0QgcG9zIC0gbnAucmVzaGFwZShjZW50ZXIsICgzLCAxKSkKICAgICAgICAgcmV0dXJuIGRh
dGEuZHMuYXJyKGdldF9jeWxfeihwb3MsIG5vcm1hbCksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnY29kZV9sZW5ndGgnKQpAQCAtODU4LDEwICs2NTUsOCBAQAogICAgICAgICBub3JtYWwg
PTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcignbm9ybWFsJykKICAgICAgICAgY2VudGVyID0z
RCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoJ2NlbnRlcicpCiAgICAgICAgIGJ2ID0zRCBkYXRh
LmdldF9maWVsZF9wYXJhbWV0ZXIoImJ1bGtfdmVsb2NpdHkiKQotICAgICAgICBwb3MgPTNEIHNw
b3MKLSAgICAgICAgcG9zID0zRCBZVEFycmF5KFtkYXRhW3B0eXBlLCBwb3MgJSBheF0gZm9yIGF4
IGluICJ4eXoiXSkKLSAgICAgICAgdmVsID0zRCBzdmVsCi0gICAgICAgIHZlbCA9M0QgWVRBcnJh
eShbZGF0YVtwdHlwZSwgdmVsICUgYXhdIGZvciBheCBpbiAieHl6Il0pCisgICAgICAgIHBvcyA9
M0QgZGF0YS5kcy5hcnIoW2RhdGFbcHR5cGUsIHNwb3MgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkK
KyAgICAgICAgdmVsID0zRCBkYXRhLmRzLmFycihbZGF0YVtwdHlwZSwgc3ZlbCAlIGF4XSBmb3Ig
YXggaW4gInh5eiJdKQogICAgICAgICB0aGV0YSA9M0QgZ2V0X2N5bF90aGV0YShwb3MsIGNlbnRl
cikKICAgICAgICAgcG9zID0zRCBwb3MgLSBucC5yZXNoYXBlKGNlbnRlciwgKDMsIDEpKQogICAg
ICAgICB2ZWwgPTNEIHZlbCAtIG5wLnJlc2hhcGUoYnYsICgzLCAxKSkKQEAgLTg4NCwxMCArNjc5
LDggQEAKICAgICAgICAgbm9ybWFsID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoJ25vcm1h
bCcpCiAgICAgICAgIGNlbnRlciA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCdjZW50ZXIn
KQogICAgICAgICBidiA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCJidWxrX3ZlbG9jaXR5
IikKLSAgICAgICAgcG9zID0zRCBzcG9zCi0gICAgICAgIHBvcyA9M0QgWVRBcnJheShbZGF0YVtw
dHlwZSwgcG9zICUgYXhdIGZvciBheCBpbiAieHl6Il0pCi0gICAgICAgIHZlbCA9M0Qgc3ZlbAot
ICAgICAgICB2ZWwgPTNEIFlUQXJyYXkoW2RhdGFbcHR5cGUsIHZlbCAlIGF4XSBmb3IgYXggaW4g
Inh5eiJdKQorICAgICAgICBwb3MgPTNEIGRhdGEuZHMuYXJyKFtkYXRhW3B0eXBlLCBzcG9zICUg
YXhdIGZvciBheCBpbiAieHl6Il0pCisgICAgICAgIHZlbCA9M0QgZGF0YS5kcy5hcnIoW2RhdGFb
cHR5cGUsIHN2ZWwgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkKICAgICAgICAgdGhldGEgPTNEIGdl
dF9jeWxfdGhldGEocG9zLCBjZW50ZXIpCiAgICAgICAgIHBvcyA9M0QgcG9zIC0gbnAucmVzaGFw
ZShjZW50ZXIsICgzLCAxKSkKICAgICAgICAgdmVsID0zRCB2ZWwgLSBucC5yZXNoYXBlKGJ2LCAo
MywgMSkpCkBAIC05MjAsMTAgKzcxMyw4IEBACiAgICAgICAgIG5vcm1hbCA9M0QgZGF0YS5nZXRf
ZmllbGRfcGFyYW1ldGVyKCdub3JtYWwnKQogICAgICAgICBjZW50ZXIgPTNEIGRhdGEuZ2V0X2Zp
ZWxkX3BhcmFtZXRlcignY2VudGVyJykKICAgICAgICAgYnYgPTNEIGRhdGEuZ2V0X2ZpZWxkX3Bh
cmFtZXRlcigiYnVsa192ZWxvY2l0eSIpCi0gICAgICAgIHBvcyA9M0Qgc3BvcwotICAgICAgICBw
b3MgPTNEIFlUQXJyYXkoW2RhdGFbcHR5cGUsIHBvcyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQot
ICAgICAgICB2ZWwgPTNEIHN2ZWwKLSAgICAgICAgdmVsID0zRCBZVEFycmF5KFtkYXRhW3B0eXBl
LCB2ZWwgJSBheF0gZm9yIGF4IGluICJ4eXoiXSkKKyAgICAgICAgcG9zID0zRCBkYXRhLmRzLmFy
cihbZGF0YVtwdHlwZSwgc3BvcyAlIGF4XSBmb3IgYXggaW4gInh5eiJdKQorICAgICAgICB2ZWwg
PTNEIGRhdGEuZHMuYXJyKFtkYXRhW3B0eXBlLCBzdmVsICUgYXhdIGZvciBheCBpbiAieHl6Il0p
CiAgICAgICAgIHBvcyA9M0QgcG9zIC0gbnAucmVzaGFwZShjZW50ZXIsICgzLCAxKSkKICAgICAg
ICAgdmVsID0zRCB2ZWwgLSBucC5yZXNoYXBlKGJ2LCAoMywgMSkpCiAgICAgICAgIGN5bHogPTNE
IGdldF9jeWxfel9jb21wb25lbnQodmVsLCBub3JtYWwpCkBAIC0xMDQ0LDMgKzgzNSw0IEBACiAg
ICAgICAgICAgICAgICAgICAgICAgIHVuaXRzID0zRCAiZy9jbSoqMyIpCiAgICAgcmV0dXJuIFtm
aWVsZF9uYW1lXQo9MjAKKwoKZGlmZiAtciAxZDQ4N2E4MWU0Mjg2ZTMzNzQ4M2VkZjdmZDA2ODFk
YzhhNTcyMGIzIC1yIGRkMTBhZGE5NTJjMTljOTlmOGY5YTBlPQpiNjZhMjgwMWM2ODJmYzlhNSB5
dC91bml0cy95dF9hcnJheS5weQotLS0gYS95dC91bml0cy95dF9hcnJheS5weQorKysgYi95dC91
bml0cy95dF9hcnJheS5weQpAQCAtMTIyNCw2ICsxMjI0LDE5IEBACiAgICAgdiA9M0QgdmFsaWRh
dGVfbnVtcHlfd3JhcHBlcl91bml0cyh2LCBhcnJzKQogICAgIHJldHVybiB2Cj0yMAorZGVmIHVj
cm9zcyhhcnIxLGFycjIsIHJlZ2lzdHJ5PTNETm9uZSk6CisgICAgIiIiQXBwbGllcyB0aGUgY3Jv
c3MgcHJvZHVjdCB0byB0d28gWVQgYXJyYXlzLgorCisgICAgVGhpcyB3cmFwcGVyIGFyb3VuZCBu
dW1weS5jcm9zcyBwcmVzZXJ2ZXMgdW5pdHMuID0yMAorICAgIFNlZSB0aGUgZG9jdW1lbnRhdGlv
biBvZiBudW1weS5jcm9zcyBmb3IgZnVsbAorICAgIGRldGFpbHMuCisgICAgIiIiCisKKyAgICB2
ID0zRCBucC5jcm9zcyhhcnIxLGFycjIpCisgICAgdW5pdHMgPTNEIGFycjEudW5pdHMgKiBhcnIy
LnVuaXRzCisgICAgYXJyID0zRCBZVEFycmF5KHYsdW5pdHMsIHJlZ2lzdHJ5PTNEcmVnaXN0cnkp
CisgICAgcmV0dXJuIGFycgorCiBkZWYgdWludGVyc2VjdDFkKGFycjEsIGFycjIsIGFzc3VtZV91
bmlxdWU9M0RGYWxzZSk6CiAgICAgIiIiRmluZCB0aGUgc29ydGVkIHVuaXF1ZSBlbGVtZW50cyBv
ZiB0aGUgdHdvIGlucHV0IGFycmF5cy4KPTIwCgpkaWZmIC1yIDFkNDg3YTgxZTQyODZlMzM3NDgz
ZWRmN2ZkMDY4MWRjOGE1NzIwYjMgLXIgZGQxMGFkYTk1MmMxOWM5OWY4ZjlhMGU9CmI2NmEyODAx
YzY4MmZjOWE1IHl0L3V0aWxpdGllcy9tYXRoX3V0aWxzLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9t
YXRoX3V0aWxzLnB5CisrKyBiL3l0L3V0aWxpdGllcy9tYXRoX3V0aWxzLnB5CkBAIC0zMDEsMjIg
KzMwMSwzNyBAQAogICAgICAgICAgICBbICAwLjAwMDAwMDAwZSswMCwgICAwLjAwMDAwMDAwZSsw
MCwgICAwLjAwMDAwMDAwZSswMF1dKQo9MjAKICAgICAiIiIKLSAgICBpZiAoTCA9M0Q9M0QgbnAu
YXJyYXkoWzAsIDAsIDEuXSkpLmFsbCgpOgotICAgICAgICAjIFdoZXchIE5vdGhpbmcgdG8gZG8h
Ci0gICAgICAgIGlmIFYgaXMgTm9uZToKKyAgICAjIEZpcnN0IHRyYW5zbGF0ZSB0aGUgcG9zaXRp
b25zIHRvIGNlbnRlciBvZiBtYXNzIHJlZmVyZW5jZSBmcmFtZS4KKyAgICBpZiBQIGlzIG5vdCBO
b25lOgorICAgICAgICBQID0zRCBQIC0gQ29NCisKKyAgICAjIGlzIHRoZSBMIHZlY3RvciBwb2lu
dGluZyBpbiB0aGUgWiBkaXJlY3Rpb24/CisgICAgaWYgbnAuaW5uZXIoTFs6Ml0sIExbOjJdKSA9
M0Q9M0QgMC4wOgorICAgICAgICAjIHRoZSByZWFzb24gd2h5IHdlIG5lZWQgdG8gZXhwbGljaXRs
eSBjaGVjayBmb3IgdGhlIGFib3ZlCisgICAgICAgICMgaXMgdGhhdCBmb3JtdWxhIGlzIHVzZWQg
aW4gZGVub21pbmF0b3IKKyAgICAgICAgIyB0aGlzIGp1c3QgY2hlY2tzIGlmIHdlIG5lZWQgdG8g
ZmxpcCB0aGUgeiBheGlzIG9yIG5vdAorICAgICAgICBpZiBMWzJdIDwgMC4wOgorICAgICAgICAg
ICAgIyB0aGlzIGlzIGp1c3QgYSBzaW1wbGUgZmxpcCBpbiBkaXJlY3Rpb24gb2YgdGhlIHogYXhp
cworICAgICAgICAgICAgaWYgUCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBQID0zRCAt
UAorICAgICAgICAgICAgaWYgViBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBWID0zRCAt
VgorCisgICAgICAgICMgcmV0dXJuIHRoZSB2YWx1ZXMKKyAgICAgICAgaWYgViBpcyBOb25lIGFu
ZCBQIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcmV0dXJuIEwsIFAKLSAgICAgICAgaWYgUCBp
cyBOb25lOgorICAgICAgICBlbGlmIFAgaXMgTm9uZSBhbmQgViBpcyBub3QgTm9uZToKICAgICAg
ICAgICAgIHJldHVybiBMLCBWCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gTCwg
UCwgVgotICAgICMgRmlyc3QgdHJhbnNsYXRlIHRoZSBwb3NpdGlvbnMgdG8gY2VudGVyIG9mIG1h
c3MgcmVmZXJlbmNlIGZyYW1lLgotICAgIGlmIFAgaXMgbm90IE5vbmU6Ci0gICAgICAgIFAgPTNE
IFAgLSBDb00KKworICAgICMgTm9ybWFsIHZlY3RvciBpcyBub3QgYWxpZ25lZCB3aXRoIHNpbXVs
YXRpb24gWiBheGlzCisgICAgIyBUaGVyZWZvcmUgd2UgYXJlIGdvaW5nIHRvIGhhdmUgdG8gYXBw
bHkgYSByb3RhdGlvbgogICAgICMgTm93IGZpbmQgdGhlIGFuZ2xlIGJldHdlZW4gbW9kaWZpZWQg
TCBhbmQgdGhlIHgtYXhpcy4KICAgICBMTCA9M0QgTC5jb3B5KCkKLSAgICBMTFsyXSA9M0QgMC4K
LSAgICB0aGV0YSA9M0QgbnAuYXJjY29zKG5wLmlubmVyKExMLCBbMS4sMCwwXSkvbnAuaW5uZXIo
TEwsTEwpKiouNSkKLSAgICBpZiBMWzFdIDwgMDoKKyAgICBMTFsyXSA9M0QgMC4wCisgICAgdGhl
dGEgPTNEIG5wLmFyY2NvcyhucC5pbm5lcihMTCwgWzEuMCwgMC4wLCAwLjBdKSAvIG5wLmlubmVy
KExMLCBMTCkgKj0KKiAwLjUpCisgICAgaWYgTFsxXSA8IDAuMDoKICAgICAgICAgdGhldGEgPTNE
IC10aGV0YQogICAgICMgTm93IHJvdGF0ZSBhbGwgdGhlIHBvc2l0aW9uLCB2ZWxvY2l0eSwgYW5k
IEwgdmVjdG9ycyBieSB0aGlzIG11Y2ggYXI9Cm91bmQKICAgICAjIHRoZSB6IGF4aXMuCkBAIC0z
MjYsMTYgKzM0MSwxOCBAQAogICAgICAgICBWID0zRCByb3RhdGVfdmVjdG9yXzNEKFYsIDIsIHRo
ZXRhKQogICAgIEwgPTNEIHJvdGF0ZV92ZWN0b3JfM0QoTCwgMiwgdGhldGEpCiAgICAgIyBOb3cg
ZmluZCB0aGUgYW5nbGUgYmV0d2VlbiBMIGFuZCB0aGUgei1heGlzLgotICAgIHRoZXRhID0zRCBu
cC5hcmNjb3MobnAuaW5uZXIoTCwgWzAsMCwxXSkvbnAuaW5uZXIoTCxMKSoqLjUpCisgICAgdGhl
dGEgPTNEIG5wLmFyY2NvcyhucC5pbm5lcihMLCBbMC4wLCAwLjAsIDEuMF0pIC8gbnAuaW5uZXIo
TCwgTCkgKiogMD0KLjUpCiAgICAgIyBUaGlzIHRpbWUgd2Ugcm90YXRlIGFyb3VuZCB0aGUgeSBh
eGlzLgogICAgIGlmIFAgaXMgbm90IE5vbmU6CiAgICAgICAgIFAgPTNEIHJvdGF0ZV92ZWN0b3Jf
M0QoUCwgMSwgdGhldGEpCiAgICAgaWYgViBpcyBub3QgTm9uZToKICAgICAgICAgViA9M0Qgcm90
YXRlX3ZlY3Rvcl8zRChWLCAxLCB0aGV0YSkKICAgICBMID0zRCByb3RhdGVfdmVjdG9yXzNEKEws
IDEsIHRoZXRhKQotICAgIGlmIFYgaXMgTm9uZToKKworICAgICMgcmV0dXJuIHRoZSB2YWx1ZXMK
KyAgICBpZiBWIGlzIE5vbmUgYW5kIFAgaXMgbm90IE5vbmU6CiAgICAgICAgIHJldHVybiBMLCBQ
Ci0gICAgaWYgUCBpcyBOb25lOgorICAgIGVsaWYgUCBpcyBOb25lIGFuZCBWIGlzIG5vdCBOb25l
OgogICAgICAgICByZXR1cm4gTCwgVgogICAgIGVsc2U6CiAgICAgICAgIHJldHVybiBMLCBQLCBW
CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZmVlMTE2YzQy
MTJmLwpDaGFuZ2VzZXQ6ICAgZmVlMTE2YzQyMTJmCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAg
ICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2LTA0IDIwOjEyOjEzKzAwOjAwClN1bW1h
cnk6ICAgICBBZGQgRXhvZHVzUmVhZGVyIGNsYXNzCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZm
IC1yIGRkMTBhZGE5NTJjMTljOTlmOGY5YTBlYjY2YTI4MDFjNjgyZmM5YTUgLXIgZmVlMTE2YzQy
MTJmNjE5MzM3YTdhZWU9CjM3Y2I0MGViMDk1M2YxZjI5IHl0L3V0aWxpdGllcy9leG9kdXNfcmVh
ZGVyLnB5Ci0tLSAvZGV2L251bGwKKysrIGIveXQvdXRpbGl0aWVzL2V4b2R1c19yZWFkZXIucHkK
QEAgLTAsMCArMSw0NSBAQAoraW1wb3J0IHN0cmluZworZnJvbSBpdGVydG9vbHMgaW1wb3J0IHRh
a2V3aGlsZQoraW1wb3J0IG51bXB5IGFzIG5wCitmcm9tIG5ldENERjQgaW1wb3J0IERhdGFzZXQK
KworY2xhc3MgRXhvZHVzUmVhZGVyOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSk6
CisgICAgICAgIHNlbGYuZmlsZW5hbWUgPTNEIGZpbGVuYW1lCisgICAgICAgIHNlbGYuY29vcmRz
ID0zRCBbXQorICAgICAgICBzZWxmLmNvbm5lY3RzID0zRCBbXQorICAgICAgICBzZWxmLmRhdGEg
PTNEIFtdCisKKyAgICBkZWYgbG9hZF9kYXRhc2V0KHNlbGYpOgorICAgICAgICBkYXRhc2V0ID0z
RCBEYXRhc2V0KHNlbGYuZmlsZW5hbWUpLnZhcmlhYmxlcworCisgICAgICAgIG5lbGVtID0zRCBk
YXRhc2V0WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQorCisgICAgICAgIHZhcm5hbWVzID0zRCBb
c2VsZi5zYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBmb3IgdiBpbgorICAgICAgICAgICAg
ICAgICAgICBkYXRhc2V0WyJuYW1lX2VsZW1fdmFyIl1bOl1dCisKKyAgICAgICAgbm9kbmFtZXMg
PTNEIFtzZWxmLnNhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCisgICAgICAg
ICAgICAgICAgICAgIGRhdGFzZXRbIm5hbWVfbm9kX3ZhciJdWzpdXQorCisgICAgICAgIGNvb3Jk
ID0zRCBucC5hcnJheShbZGF0YXNldFsiY29vcmQlcyIgJSBheF1bOl0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICBmb3IgYXggaW4gJ3h5eiddKS50cmFuc3Bvc2UoKS5jb3B5KCkKKworICAgICAg
ICBmb3IgaSBpbiByYW5nZShuZWxlbSk6CisgICAgICAgICAgICBzZWxmLmNvbm5lY3RzLmFwcGVu
ZChkYXRhc2V0WyJjb25uZWN0JXMiICUgKGkrMSldWzpdLmFzdHlwZSgiaT0KOCIpKQorICAgICAg
ICAgICAgY2kgPTNEIHNlbGYuY29ubmVjdHNbLTFdCisgICAgICAgICAgICBzZWxmLmNvb3Jkcy5h
cHBlbmQoY29vcmQpICAjIFNhbWUgZm9yIGFsbAorICAgICAgICAgICAgdmFscyA9M0Qge30KKwor
ICAgICAgICAgICAgZm9yIGosIHYgaW4gZW51bWVyYXRlKHZhcm5hbWVzKToKKyAgICAgICAgICAg
ICAgICB2YWxzWydnYXMnLCB2XSA9M0QgZGF0YXNldFsidmFsc19lbGVtX3ZhciVzZWIlcyIgJSAo
aisxLCBpPQorMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQorCisgICAgICAgICAgICBmb3Igaiwg
diBpbiBlbnVtZXJhdGUobm9kbmFtZXMpOgorICAgICAgICAgICAgICAgICMgV2Ugd2FudCBqdXN0
IGZvciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhlIG5vZGUgdmFyaWFibGVzCisgICAgICAgICAg
ICAgICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRoZXNlIHZhbHVlcworICAgICAgICAgICAgICAg
IHZhbHNbJ2dhcycsIHZdID0zRCBkYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIgJSAoaisxKV1bOl0u
YXM9CnR5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQorCisgICAgICAgICAgICBzZWxmLmRhdGEu
YXBwZW5kKHZhbHMpCisKKyAgICBkZWYgc2FuaXRpemVfc3RyaW5nKHNlbGYsIHMpOgorICAgICAg
ICBzID0zRCAiIi5qb2luKF8gZm9yIF8gaW4gdGFrZXdoaWxlKGxhbWJkYSBhOiBhIGluIHN0cmlu
Zy5wcmludGFibGU9CiwgcykpCisgICAgICAgIHJldHVybiBzCgpkaWZmIC1yIGRkMTBhZGE5NTJj
MTljOTlmOGY5YTBlYjY2YTI4MDFjNjgyZmM5YTUgLXIgZmVlMTE2YzQyMTJmNjE5MzM3YTdhZWU9
CjM3Y2I0MGViMDk1M2YxZjI5IHl0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVz
LnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKKysr
IGIveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4CkBAIC00MjYsNiAr
NDI2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZl9zaXplLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBucC5uZGFycmF5W25wLmZsb2F0NjRfdCwgbmRpbT0zRDFdIGZpZWxk
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnRzLCBpbnQgaW5kZXhfb2Zmc2V0ID0z
RCAwKToKKwogICAgIGNkZWYgbnAubmRhcnJheVtucC5mbG9hdDY0X3QsIG5kaW09M0QzXSBpbWcK
ICAgICBpbWcgPTNEIG5wLnplcm9zKGJ1ZmZfc2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIpCj0yMApA
QCAtNDM4LDE1ICs0MzksMTUgQEAKICAgICAjIGNvbXBhcmUgYWdhaW5zdCB0aGUgY2VudHJvaWQg
b2YgdGhlIChhc3N1bWVkIGNvbnZleCkgZWxlbWVudC4KICAgICAjIE5vdGUgdGhhdCB3ZSBoYXZl
IHRvIGhhdmUgYSBwc2V1ZG8tM0QgcGl4ZWwgYnVmZmVyLiAgT25lIGRpbWVuc2lvbiB3PQppbGwK
ICAgICAjIGFsd2F5cyBiZSAxLgotICAgIGNkZWYgbnAuZmxvYXQ2NF90IHBMRVszXSwgcFJFWzNd
PTIwCi0gICAgY2RlZiBucC5mbG9hdDY0X3QgTEVbM10sIFJFWzNdCisgICAgY2RlZiBucC5mbG9h
dDY0X3QgcExFWzNdLCBwUkVbM10gIyBib3VuZGluZyBib3ggb2YgaW1hZ2UgYnVmZmVyCisgICAg
Y2RlZiBucC5mbG9hdDY0X3QgTEVbM10sIFJFWzNdICMgYm91bmRpbmcgYm94IGZvciBhbiBpbmRp
dmlkdWFsIGVsZW1lbnQKICAgICBjZGVmIGludCB1c2UKLSAgICBjZGVmIG5wLmludDhfdCAqc2ln
bnMKKyAgICBjZGVmIG5wLmludDhfdCAqc2lnbnMgIyB3ZSB1c2UgdGhpcyB0byBkZXRlcm1pbmUg
d2hldGhlciBhIHBpeGVsIGlzIHdpPQp0aGluIHRoZSBmaW5pdGUgZWxlbWVudAogICAgIGNkZWYg
bnAuaW50NjRfdCBuLCBpLCBqLCBrLCBwaSwgcGosIHBrLCBjaSwgY2osIGNrCiAgICAgY2RlZiBu
cC5pbnQ2NF90IHBzdGFydFszXSwgcGVuZFszXQotICAgIGNkZWYgbnAuZmxvYXQ2NF90IHBwb2lu
dFszXSwgY2VudHJvaWRbM10sIGlkZHNbM10sIGRkc1szXQotICAgIGNkZWYgbnAuZmxvYXQ2NF90
ICoqdmVydGljZXMKLSAgICBjZGVmIGludCBudmVydGljZXMgPTNEIGNvbm4uc2hhcGVbMV0KKyAg
ICBjZGVmIG5wLmZsb2F0NjRfdCBwcG9pbnRbM10sIGNlbnRyb2lkWzNdLCBpZGRzWzNdLCBkZHNb
M10gIyBkZHMtPltkeCwgPQpkeSwgZHpdCisgICAgY2RlZiBucC5mbG9hdDY0X3QgKip2ZXJ0aWNl
cz0yMAorICAgIGNkZWYgaW50IG52ZXJ0aWNlcyA9M0QgY29ubi5zaGFwZVsxXSAjIGdldCB0aGUg
bnVtYmVyIG9mIHZlcnRpY2VzCiAgICAgY2RlZiBpbnQgbmYKPTIwCiAgICAgIyBEZXRlcm1pbmUg
ZWxlbWVudCB0eXBlIGZyb20gdGhlIG51bWJlciBvZiB2ZXJ0aWNlcyAobnZlcnRpY2VzKQoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzA0M2M2Mzg3YjUzNy8K
Q2hhbmdlc2V0OiAgIDA0M2M2Mzg3YjUzNwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFz
dHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0wNCAyMDoyNTo1NCswMDowMApTdW1tYXJ5OiAg
ICAgU3RvcmUgdGhlIGRhdGFzZXQuCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgZmVlMTE2
YzQyMTJmNjE5MzM3YTdhZWUzN2NiNDBlYjA5NTNmMWYyOSAtciAwNDNjNjM4N2I1MzcxY2ZlNWEz
MWU3Mz0KMDBiNWVkODJjNjQ1YjVkNGYgeXQvdXRpbGl0aWVzL2V4b2R1c19yZWFkZXIucHkKLS0t
IGEveXQvdXRpbGl0aWVzL2V4b2R1c19yZWFkZXIucHkKKysrIGIveXQvdXRpbGl0aWVzL2V4b2R1
c19yZWFkZXIucHkKQEAgLTMsNDAgKzMsNDEgQEAKIGltcG9ydCBudW1weSBhcyBucAogZnJvbSBu
ZXRDREY0IGltcG9ydCBEYXRhc2V0Cj0yMAotY2xhc3MgRXhvZHVzUmVhZGVyOgorY2xhc3MgRXhv
ZHVzRGF0YToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUpOgogICAgICAgICBzZWxm
LmZpbGVuYW1lID0zRCBmaWxlbmFtZQorICAgICAgICBzZWxmLmRhdGFzZXQgPTNEIFtdCiAgICAg
ICAgIHNlbGYuY29vcmRzID0zRCBbXQogICAgICAgICBzZWxmLmNvbm5lY3RzID0zRCBbXQogICAg
ICAgICBzZWxmLmRhdGEgPTNEIFtdCj0yMAogICAgIGRlZiBsb2FkX2RhdGFzZXQoc2VsZik6Ci0g
ICAgICAgIGRhdGFzZXQgPTNEIERhdGFzZXQoc2VsZi5maWxlbmFtZSkudmFyaWFibGVzCisgICAg
ICAgIHNlbGYuZGF0YXNldCA9M0QgRGF0YXNldChzZWxmLmZpbGVuYW1lKS52YXJpYWJsZXMKPTIw
Ci0gICAgICAgIG5lbGVtID0zRCBkYXRhc2V0WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQorICAg
ICAgICBuZWxlbSA9M0Qgc2VsZi5kYXRhc2V0WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQo9MjAK
ICAgICAgICAgdmFybmFtZXMgPTNEIFtzZWxmLnNhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkp
IGZvciB2IGluCi0gICAgICAgICAgICAgICAgICAgIGRhdGFzZXRbIm5hbWVfZWxlbV92YXIiXVs6
XV0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5kYXRhc2V0WyJuYW1lX2VsZW1fdmFyIl1bOl1d
Cj0yMAogICAgICAgICBub2RuYW1lcyA9M0QgW3NlbGYuc2FuaXRpemVfc3RyaW5nKHYudG9zdHJp
bmcoKSkgZm9yIHYgaW4KLSAgICAgICAgICAgICAgICAgICAgZGF0YXNldFsibmFtZV9ub2RfdmFy
Il1bOl1dCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZGF0YXNldFsibmFtZV9ub2RfdmFyIl1b
Ol1dCj0yMAotICAgICAgICBjb29yZCA9M0QgbnAuYXJyYXkoW2RhdGFzZXRbImNvb3JkJXMiICUg
YXhdWzpdCisgICAgICAgIGNvb3JkID0zRCBucC5hcnJheShbc2VsZi5kYXRhc2V0WyJjb29yZCVz
IiAlIGF4XVs6XQogICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBheCBpbiAneHl6J10pLnRy
YW5zcG9zZSgpLmNvcHkoKQo9MjAKICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobmVsZW0pOgotICAg
ICAgICAgICAgc2VsZi5jb25uZWN0cy5hcHBlbmQoZGF0YXNldFsiY29ubmVjdCVzIiAlIChpKzEp
XVs6XS5hc3R5cGUoImk9CjgiKSkKKyAgICAgICAgICAgIHNlbGYuY29ubmVjdHMuYXBwZW5kKHNl
bGYuZGF0YXNldFsiY29ubmVjdCVzIiAlIChpKzEpXVs6XS5hc3R5PQpwZSgiaTgiKSkKICAgICAg
ICAgICAgIGNpID0zRCBzZWxmLmNvbm5lY3RzWy0xXQogICAgICAgICAgICAgc2VsZi5jb29yZHMu
YXBwZW5kKGNvb3JkKSAgIyBTYW1lIGZvciBhbGwKICAgICAgICAgICAgIHZhbHMgPTNEIHt9Cj0y
MAogICAgICAgICAgICAgZm9yIGosIHYgaW4gZW51bWVyYXRlKHZhcm5hbWVzKToKLSAgICAgICAg
ICAgICAgICB2YWxzWydnYXMnLCB2XSA9M0QgZGF0YXNldFsidmFsc19lbGVtX3ZhciVzZWIlcyIg
JSAoaisxLCBpPQorMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQorICAgICAgICAgICAgICAgIHZh
bHNbJ2dhcycsIHZdID0zRCBzZWxmLmRhdGFzZXRbInZhbHNfZWxlbV92YXIlc2ViJXMiICUgKGo9
CisxLCBpKzEpXVs6XS5hc3R5cGUoImY4IilbLTEsOl0KPTIwCiAgICAgICAgICAgICBmb3Igaiwg
diBpbiBlbnVtZXJhdGUobm9kbmFtZXMpOgogICAgICAgICAgICAgICAgICMgV2Ugd2FudCBqdXN0
IGZvciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhlIG5vZGUgdmFyaWFibGVzCiAgICAgICAgICAg
ICAgICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRoZXNlIHZhbHVlcwotICAgICAgICAgICAgICAg
IHZhbHNbJ2dhcycsIHZdID0zRCBkYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIgJSAoaisxKV1bOl0u
YXM9CnR5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQorICAgICAgICAgICAgICAgIHZhbHNbJ2dh
cycsIHZdID0zRCBzZWxmLmRhdGFzZXRbInZhbHNfbm9kX3ZhciVzIiAlIChqKzEpXVs9CjpdLmFz
dHlwZSgiZjgiKVstMSwgY2kgLSAxLCAuLi5dCj0yMAogICAgICAgICAgICAgc2VsZi5kYXRhLmFw
cGVuZCh2YWxzKQo9MjAKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29t
bWl0cy80ZGU5NTIyZDIwN2MvCkNoYW5nZXNldDogICA0ZGU5NTIyZDIwN2MKQnJhbmNoOiAgICAg
IHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDYtMDQgMjA6NDA6
MzMrMDA6MDAKU3VtbWFyeTogICAgIEVuY2Fwc3VsYXRlIHNvbWUgbW9yZSBzdHVmZi4KQWZmZWN0
ZWQgIzogIDEgZmlsZQoKZGlmZiAtciAwNDNjNjM4N2I1MzcxY2ZlNWEzMWU3MzAwYjVlZDgyYzY0
NWI1ZDRmIC1yIDRkZTk1MjJkMjA3Y2E3MTFkMDQyYTA4PQo2MDk0MWFkMTZkY2EwMThlMiB5dC91
dGlsaXRpZXMvZXhvZHVzX3JlYWRlci5weQotLS0gYS95dC91dGlsaXRpZXMvZXhvZHVzX3JlYWRl
ci5weQorKysgYi95dC91dGlsaXRpZXMvZXhvZHVzX3JlYWRlci5weQpAQCAtNiw0MSArNiw0MyBA
QAogY2xhc3MgRXhvZHVzRGF0YToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUpOgog
ICAgICAgICBzZWxmLmZpbGVuYW1lID0zRCBmaWxlbmFtZQotICAgICAgICBzZWxmLmRhdGFzZXQg
PTNEIFtdCiAgICAgICAgIHNlbGYuY29vcmRzID0zRCBbXQogICAgICAgICBzZWxmLmNvbm5lY3Rz
ID0zRCBbXQogICAgICAgICBzZWxmLmRhdGEgPTNEIFtdCj0yMAogICAgIGRlZiBsb2FkX2RhdGFz
ZXQoc2VsZik6Ci0gICAgICAgIHNlbGYuZGF0YXNldCA9M0QgRGF0YXNldChzZWxmLmZpbGVuYW1l
KS52YXJpYWJsZXMKKyAgICAgICAgZGF0YXNldCA9M0QgRGF0YXNldChzZWxmLmZpbGVuYW1lKS52
YXJpYWJsZXMKKyAgICAgICAgbmVsZW0gPTNEIGRhdGFzZXRbImViX3N0YXR1cyJdWzpdLnNoYXBl
WzBdCisgICAgICAgIHZhcm5hbWVzID0zRCBzZWxmLmdldF92YXJfbmFtZXMoZGF0YXNldCkKKyAg
ICAgICAgbm9kbmFtZXMgPTNEIHNlbGYuZ2V0X25vZF9uYW1lcyhkYXRhc2V0KQo9MjAKLSAgICAg
ICAgbmVsZW0gPTNEIHNlbGYuZGF0YXNldFsiZWJfc3RhdHVzIl1bOl0uc2hhcGVbMF0KLQotICAg
ICAgICB2YXJuYW1lcyA9M0QgW3NlbGYuc2FuaXRpemVfc3RyaW5nKHYudG9zdHJpbmcoKSkgZm9y
IHYgaW4KLSAgICAgICAgICAgICAgICAgICAgc2VsZi5kYXRhc2V0WyJuYW1lX2VsZW1fdmFyIl1b
Ol1dCi0KLSAgICAgICAgbm9kbmFtZXMgPTNEIFtzZWxmLnNhbml0aXplX3N0cmluZyh2LnRvc3Ry
aW5nKCkpIGZvciB2IGluCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZGF0YXNldFsibmFtZV9u
b2RfdmFyIl1bOl1dCi0KLSAgICAgICAgY29vcmQgPTNEIG5wLmFycmF5KFtzZWxmLmRhdGFzZXRb
ImNvb3JkJXMiICUgYXhdWzpdCisgICAgICAgIGNvb3JkID0zRCBucC5hcnJheShbZGF0YXNldFsi
Y29vcmQlcyIgJSBheF1bOl0KICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXggaW4gJ3h5
eiddKS50cmFuc3Bvc2UoKS5jb3B5KCkKPTIwCiAgICAgICAgIGZvciBpIGluIHJhbmdlKG5lbGVt
KToKLSAgICAgICAgICAgIHNlbGYuY29ubmVjdHMuYXBwZW5kKHNlbGYuZGF0YXNldFsiY29ubmVj
dCVzIiAlIChpKzEpXVs6XS5hc3R5PQpwZSgiaTgiKSkKKyAgICAgICAgICAgIHNlbGYuY29ubmVj
dHMuYXBwZW5kKGRhdGFzZXRbImNvbm5lY3QlcyIgJSAoaSsxKV1bOl0uYXN0eXBlKCJpPQo4Iikp
CiAgICAgICAgICAgICBjaSA9M0Qgc2VsZi5jb25uZWN0c1stMV0KICAgICAgICAgICAgIHNlbGYu
Y29vcmRzLmFwcGVuZChjb29yZCkgICMgU2FtZSBmb3IgYWxsCiAgICAgICAgICAgICB2YWxzID0z
RCB7fQo9MjAKICAgICAgICAgICAgIGZvciBqLCB2IGluIGVudW1lcmF0ZSh2YXJuYW1lcyk6Ci0g
ICAgICAgICAgICAgICAgdmFsc1snZ2FzJywgdl0gPTNEIHNlbGYuZGF0YXNldFsidmFsc19lbGVt
X3ZhciVzZWIlcyIgJSAoaj0KKzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQorICAgICAg
ICAgICAgICAgIHZhbHNbJ2dhcycsIHZdID0zRCBkYXRhc2V0WyJ2YWxzX2VsZW1fdmFyJXNlYiVz
IiAlIChqKzEsIGk9CisxKV1bOl0uYXN0eXBlKCJmOCIpWy0xLDpdCj0yMAogICAgICAgICAgICAg
Zm9yIGosIHYgaW4gZW51bWVyYXRlKG5vZG5hbWVzKToKICAgICAgICAgICAgICAgICAjIFdlIHdh
bnQganVzdCBmb3IgdGhpcyBzZXQgb2Ygbm9kZXMgYWxsIHRoZSBub2RlIHZhcmlhYmxlcwogICAg
ICAgICAgICAgICAgICMgVXNlIChjaSAtIDEpIHRvIGdldCB0aGVzZSB2YWx1ZXMKLSAgICAgICAg
ICAgICAgICB2YWxzWydnYXMnLCB2XSA9M0Qgc2VsZi5kYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIg
JSAoaisxKV1bPQo6XS5hc3R5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQorICAgICAgICAgICAg
ICAgIHZhbHNbJ2dhcycsIHZdID0zRCBkYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIgJSAoaisxKV1b
Ol0uYXM9CnR5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQo9MjAKICAgICAgICAgICAgIHNlbGYu
ZGF0YS5hcHBlbmQodmFscykKPTIwCisgICAgZGVmIGdldF92YXJfbmFtZXMoc2VsZiwgZGF0YXNl
dCk6CisgICAgICAgIHJldHVybiBbc2VsZi5zYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBm
b3IgdiBpbgorICAgICAgICAgICAgICAgIGRhdGFzZXRbIm5hbWVfZWxlbV92YXIiXVs6XV0KKwor
ICAgIGRlZiBnZXRfbm9kX25hbWVzKHNlbGYsIGRhdGFzZXQpOgorICAgICAgICByZXR1cm4gW3Nl
bGYuc2FuaXRpemVfc3RyaW5nKHYudG9zdHJpbmcoKSkgZm9yIHYgaW4KKyAgICAgICAgICAgICAg
ICBkYXRhc2V0WyJuYW1lX25vZF92YXIiXVs6XV0KKwogICAgIGRlZiBzYW5pdGl6ZV9zdHJpbmco
c2VsZiwgcyk6CiAgICAgICAgIHMgPTNEICIiLmpvaW4oXyBmb3IgXyBpbiB0YWtld2hpbGUobGFt
YmRhIGE6IGEgaW4gc3RyaW5nLnByaW50YWJsZT0KLCBzKSkKICAgICAgICAgcmV0dXJuIHMKCgpo
dHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy84MjI4MWEwNmNjMGYv
CkNoYW5nZXNldDogICA4MjI4MWEwNmNjMGYKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBh
c3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDYtMDQgMjA6NDI6MDcrMDA6MDAKU3VtbWFyeTog
ICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSB0ZW1wIHZhcnMuCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRp
ZmYgLXIgNGRlOTUyMmQyMDdjYTcxMWQwNDJhMDg2MDk0MWFkMTZkY2EwMThlMiAtciA4MjI4MWEw
NmNjMGY2NmIxMzVjZDkxND0KZGM4NDg5ZWU2ZWFlNTIyMWYgeXQvdXRpbGl0aWVzL2V4b2R1c19y
ZWFkZXIucHkKLS0tIGEveXQvdXRpbGl0aWVzL2V4b2R1c19yZWFkZXIucHkKKysrIGIveXQvdXRp
bGl0aWVzL2V4b2R1c19yZWFkZXIucHkKQEAgLTEzLDkgKzEzLDYgQEAKICAgICBkZWYgbG9hZF9k
YXRhc2V0KHNlbGYpOgogICAgICAgICBkYXRhc2V0ID0zRCBEYXRhc2V0KHNlbGYuZmlsZW5hbWUp
LnZhcmlhYmxlcwogICAgICAgICBuZWxlbSA9M0QgZGF0YXNldFsiZWJfc3RhdHVzIl1bOl0uc2hh
cGVbMF0KLSAgICAgICAgdmFybmFtZXMgPTNEIHNlbGYuZ2V0X3Zhcl9uYW1lcyhkYXRhc2V0KQot
ICAgICAgICBub2RuYW1lcyA9M0Qgc2VsZi5nZXRfbm9kX25hbWVzKGRhdGFzZXQpCi0KICAgICAg
ICAgY29vcmQgPTNEIG5wLmFycmF5KFtkYXRhc2V0WyJjb29yZCVzIiAlIGF4XVs6XQogICAgICAg
ICAgICAgICAgICAgICAgICAgIGZvciBheCBpbiAneHl6J10pLnRyYW5zcG9zZSgpLmNvcHkoKQo9
MjAKQEAgLTI1LDEwICsyMiwxMCBAQAogICAgICAgICAgICAgc2VsZi5jb29yZHMuYXBwZW5kKGNv
b3JkKSAgIyBTYW1lIGZvciBhbGwKICAgICAgICAgICAgIHZhbHMgPTNEIHt9Cj0yMAotICAgICAg
ICAgICAgZm9yIGosIHYgaW4gZW51bWVyYXRlKHZhcm5hbWVzKToKKyAgICAgICAgICAgIGZvciBq
LCB2IGluIGVudW1lcmF0ZShzZWxmLmdldF92YXJfbmFtZXMoZGF0YXNldCkpOgogICAgICAgICAg
ICAgICAgIHZhbHNbJ2dhcycsIHZdID0zRCBkYXRhc2V0WyJ2YWxzX2VsZW1fdmFyJXNlYiVzIiAl
IChqKzEsIGk9CisxKV1bOl0uYXN0eXBlKCJmOCIpWy0xLDpdCj0yMAotICAgICAgICAgICAgZm9y
IGosIHYgaW4gZW51bWVyYXRlKG5vZG5hbWVzKToKKyAgICAgICAgICAgIGZvciBqLCB2IGluIGVu
dW1lcmF0ZShzZWxmLmdldF9ub2RfbmFtZXMoZGF0YXNldCkpOgogICAgICAgICAgICAgICAgICMg
V2Ugd2FudCBqdXN0IGZvciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhlIG5vZGUgdmFyaWFibGVz
CiAgICAgICAgICAgICAgICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRoZXNlIHZhbHVlcwogICAg
ICAgICAgICAgICAgIHZhbHNbJ2dhcycsIHZdID0zRCBkYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIg
JSAoaisxKV1bOl0uYXM9CnR5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQoKCmh0dHBzOi8vYml0
YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzdlYTcwMzUzYTYyNS8KQ2hhbmdlc2V0
OiAgIDdlYTcwMzUzYTYyNQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpE
YXRlOiAgICAgICAgMjAxNS0wNi0wNCAyMToxMDo0MiswMDowMApTdW1tYXJ5OiAgICAgTWFrZSBk
YXRhc2V0IGFuIGF0dHJpYnV0ZSBvZiB0aGUgRXhvZHVzRGF0YS4KQWZmZWN0ZWQgIzogIDEgZmls
ZQoKZGlmZiAtciA4MjI4MWEwNmNjMGY2NmIxMzVjZDkxNGRjODQ4OWVlNmVhZTUyMjFmIC1yIDdl
YTcwMzUzYTYyNTZlMGFiNDBmMjc3PQpmOTE2MTk0YjQwNmMxMWIxYiB5dC91dGlsaXRpZXMvZXhv
ZHVzX3JlYWRlci5weQotLS0gYS95dC91dGlsaXRpZXMvZXhvZHVzX3JlYWRlci5weQorKysgYi95
dC91dGlsaXRpZXMvZXhvZHVzX3JlYWRlci5weQpAQCAtNiwzOSArNiw0MCBAQAogY2xhc3MgRXhv
ZHVzRGF0YToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUpOgogICAgICAgICBzZWxm
LmZpbGVuYW1lID0zRCBmaWxlbmFtZQorICAgICAgICBzZWxmLmRhdGFzZXQgPTNEIFtdCiAgICAg
ICAgIHNlbGYuY29vcmRzID0zRCBbXQogICAgICAgICBzZWxmLmNvbm5lY3RzID0zRCBbXQogICAg
ICAgICBzZWxmLmRhdGEgPTNEIFtdCj0yMAogICAgIGRlZiBsb2FkX2RhdGFzZXQoc2VsZik6Ci0g
ICAgICAgIGRhdGFzZXQgPTNEIERhdGFzZXQoc2VsZi5maWxlbmFtZSkudmFyaWFibGVzCi0gICAg
ICAgIG5lbGVtID0zRCBkYXRhc2V0WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQotICAgICAgICBj
b29yZCA9M0QgbnAuYXJyYXkoW2RhdGFzZXRbImNvb3JkJXMiICUgYXhdWzpdCisgICAgICAgIHNl
bGYuZGF0YXNldCA9M0QgRGF0YXNldChzZWxmLmZpbGVuYW1lKS52YXJpYWJsZXMKKyAgICAgICAg
bmVsZW0gPTNEIHNlbGYuZGF0YXNldFsiZWJfc3RhdHVzIl1bOl0uc2hhcGVbMF0KKyAgICAgICAg
Y29vcmQgPTNEIG5wLmFycmF5KFtzZWxmLmRhdGFzZXRbImNvb3JkJXMiICUgYXhdWzpdCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgZm9yIGF4IGluICd4eXonXSkudHJhbnNwb3NlKCkuY29weSgp
Cj0yMAogICAgICAgICBmb3IgaSBpbiByYW5nZShuZWxlbSk6Ci0gICAgICAgICAgICBzZWxmLmNv
bm5lY3RzLmFwcGVuZChkYXRhc2V0WyJjb25uZWN0JXMiICUgKGkrMSldWzpdLmFzdHlwZSgiaT0K
OCIpKQorICAgICAgICAgICAgc2VsZi5jb25uZWN0cy5hcHBlbmQoc2VsZi5kYXRhc2V0WyJjb25u
ZWN0JXMiICUgKGkrMSldWzpdLmFzdHk9CnBlKCJpOCIpKQogICAgICAgICAgICAgY2kgPTNEIHNl
bGYuY29ubmVjdHNbLTFdCiAgICAgICAgICAgICBzZWxmLmNvb3Jkcy5hcHBlbmQoY29vcmQpICAj
IFNhbWUgZm9yIGFsbAogICAgICAgICAgICAgdmFscyA9M0Qge30KPTIwCi0gICAgICAgICAgICBm
b3IgaiwgdiBpbiBlbnVtZXJhdGUoc2VsZi5nZXRfdmFyX25hbWVzKGRhdGFzZXQpKToKLSAgICAg
ICAgICAgICAgICB2YWxzWydnYXMnLCB2XSA9M0QgZGF0YXNldFsidmFsc19lbGVtX3ZhciVzZWIl
cyIgJSAoaisxLCBpPQorMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQorICAgICAgICAgICAgZm9y
IGosIHYgaW4gZW51bWVyYXRlKHNlbGYuZ2V0X3Zhcl9uYW1lcygpKToKKyAgICAgICAgICAgICAg
ICB2YWxzWydnYXMnLCB2XSA9M0Qgc2VsZi5kYXRhc2V0WyJ2YWxzX2VsZW1fdmFyJXNlYiVzIiAl
IChqPQorMSwgaSsxKV1bOl0uYXN0eXBlKCJmOCIpWy0xLDpdCj0yMAotICAgICAgICAgICAgZm9y
IGosIHYgaW4gZW51bWVyYXRlKHNlbGYuZ2V0X25vZF9uYW1lcyhkYXRhc2V0KSk6CisgICAgICAg
ICAgICBmb3IgaiwgdiBpbiBlbnVtZXJhdGUoc2VsZi5nZXRfbm9kX25hbWVzKCkpOgogICAgICAg
ICAgICAgICAgICMgV2Ugd2FudCBqdXN0IGZvciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhlIG5v
ZGUgdmFyaWFibGVzCiAgICAgICAgICAgICAgICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRoZXNl
IHZhbHVlcwotICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIHZdID0zRCBkYXRhc2V0WyJ2YWxz
X25vZF92YXIlcyIgJSAoaisxKV1bOl0uYXM9CnR5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQor
ICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIHZdID0zRCBzZWxmLmRhdGFzZXRbInZhbHNfbm9k
X3ZhciVzIiAlIChqKzEpXVs9CjpdLmFzdHlwZSgiZjgiKVstMSwgY2kgLSAxLCAuLi5dCj0yMAog
ICAgICAgICAgICAgc2VsZi5kYXRhLmFwcGVuZCh2YWxzKQo9MjAKLSAgICBkZWYgZ2V0X3Zhcl9u
YW1lcyhzZWxmLCBkYXRhc2V0KToKKyAgICBkZWYgZ2V0X3Zhcl9uYW1lcyhzZWxmKToKICAgICAg
ICAgcmV0dXJuIFtzZWxmLnNhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCi0g
ICAgICAgICAgICAgICAgZGF0YXNldFsibmFtZV9lbGVtX3ZhciJdWzpdXQorICAgICAgICAgICAg
ICAgIHNlbGYuZGF0YXNldFsibmFtZV9lbGVtX3ZhciJdWzpdXQo9MjAKLSAgICBkZWYgZ2V0X25v
ZF9uYW1lcyhzZWxmLCBkYXRhc2V0KToKKyAgICBkZWYgZ2V0X25vZF9uYW1lcyhzZWxmKToKICAg
ICAgICAgcmV0dXJuIFtzZWxmLnNhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGlu
Ci0gICAgICAgICAgICAgICAgZGF0YXNldFsibmFtZV9ub2RfdmFyIl1bOl1dCisgICAgICAgICAg
ICAgICAgc2VsZi5kYXRhc2V0WyJuYW1lX25vZF92YXIiXVs6XV0KPTIwCiAgICAgZGVmIHNhbml0
aXplX3N0cmluZyhzZWxmLCBzKToKICAgICAgICAgcyA9M0QgIiIuam9pbihfIGZvciBfIGluIHRh
a2V3aGlsZShsYW1iZGEgYTogYSBpbiBzdHJpbmcucHJpbnRhYmxlPQosIHMpKQoKCmh0dHBzOi8v
Yml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzRmYzk0MjJhNGFjNi8KQ2hhbmdl
c2V0OiAgIDRmYzk0MjJhNGFjNgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNr
cgpEYXRlOiAgICAgICAgMjAxNS0wNi0wNCAyMTozNToxNCswMDowMApTdW1tYXJ5OiAgICAgVXNl
IHRoZSBjb3JyZWN0IHR5cGUgZm9yIHRoZSBkYXRhc2V0LgpBZmZlY3RlZCAjOiAgMSBmaWxlCgpk
aWZmIC1yIDdlYTcwMzUzYTYyNTZlMGFiNDBmMjc3ZjkxNjE5NGI0MDZjMTFiMWIgLXIgNGZjOTQy
MmE0YWM2ODc2MTFkZmNmMjQ9CmI5MDE2Njg0OTgxODU0NjM0IHl0L3V0aWxpdGllcy9leG9kdXNf
cmVhZGVyLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5CisrKyBiL3l0L3V0
aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5CkBAIC0xLDEyICsxLDEzIEBACiBpbXBvcnQgc3RyaW5n
CiBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgdGFrZXdoaWxlCitmcm9tIGNvbGxlY3Rpb25zIGltcG9y
dCBPcmRlcmVkRGljdAogaW1wb3J0IG51bXB5IGFzIG5wCiBmcm9tIG5ldENERjQgaW1wb3J0IERh
dGFzZXQKPTIwCiBjbGFzcyBFeG9kdXNEYXRhOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxl
bmFtZSk6CiAgICAgICAgIHNlbGYuZmlsZW5hbWUgPTNEIGZpbGVuYW1lCi0gICAgICAgIHNlbGYu
ZGF0YXNldCA9M0QgW10KKyAgICAgICAgc2VsZi5kYXRhc2V0ID0zRCBPcmRlcmVkRGljdCgpCiAg
ICAgICAgIHNlbGYuY29vcmRzID0zRCBbXQogICAgICAgICBzZWxmLmNvbm5lY3RzID0zRCBbXQog
ICAgICAgICBzZWxmLmRhdGEgPTNEIFtdCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5
c2lzL3l0L2NvbW1pdHMvMTc2NTZjYjAyZjBkLwpDaGFuZ2VzZXQ6ICAgMTc2NTZjYjAyZjBkCkJy
YW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2
LTA1IDE2OjU3OjAwKzAwOjAwClN1bW1hcnk6ICAgICBNZXJnZWQgZnJvbSB1cHN0cmVhbQpBZmZl
Y3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDRmYzk0MjJhNGFjNjg3NjExZGZjZjI0YjkwMTY2ODQ5
ODE4NTQ2MzQgLXIgMTc2NTZjYjAyZjBkZDZiYjg0YjUxNWQ9CjEwZjIxZTU2YzczZGY5N2U0IHl0
L3Zpc3VhbGl6YXRpb24vcGxvdF9tb2RpZmljYXRpb25zLnB5Ci0tLSBhL3l0L3Zpc3VhbGl6YXRp
b24vcGxvdF9tb2RpZmljYXRpb25zLnB5CisrKyBiL3l0L3Zpc3VhbGl6YXRpb24vcGxvdF9tb2Rp
ZmljYXRpb25zLnB5CkBAIC0xODIxLDcgKzE4MjEsNyBAQAogICAgICAgICAgICAgJ2NvbG9yJzog
J3cnCiAgICAgICAgIH0KPTIwCi0gICAgICAgIGluc2V0X2JveF9hcmdzID0zRCB7CisgICAgICAg
IGRlZl9pbnNldF9ib3hfYXJncyA9M0QgewogICAgICAgICAgICAgJ2ZhY2Vjb2xvcic6ICdibGFj
aycsCiAgICAgICAgICAgICAnbGluZXdpZHRoJzogMywKICAgICAgICAgICAgICdlZGdlY29sb3In
OiAnd2hpdGUnLAoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRz
LzdhZjkwYjJhNDM5Zi8KQ2hhbmdlc2V0OiAgIDdhZjkwYjJhNDM5ZgpCcmFuY2g6ICAgICAgeXQK
VXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0wNSAxODoxMzo1NSsw
MDowMApTdW1tYXJ5OiAgICAgRXh0cmFjdCBtb3JlIG1ldGhvZHMuCkFmZmVjdGVkICM6ICAxIGZp
bGUKCmRpZmYgLXIgMTc2NTZjYjAyZjBkZDZiYjg0YjUxNWQxMGYyMWU1NmM3M2RmOTdlNCAtciA3
YWY5MGIyYTQzOWYwYWQ3ZGU0MmUyZT0KNWM5ZGFhMGJiODg0NGQ0MjQgeXQvdXRpbGl0aWVzL2V4
b2R1c19yZWFkZXIucHkKLS0tIGEveXQvdXRpbGl0aWVzL2V4b2R1c19yZWFkZXIucHkKKysrIGIv
eXQvdXRpbGl0aWVzL2V4b2R1c19yZWFkZXIucHkKQEAgLTE0LDI2ICsxNCwzNCBAQAo9MjAKICAg
ICBkZWYgbG9hZF9kYXRhc2V0KHNlbGYpOgogICAgICAgICBzZWxmLmRhdGFzZXQgPTNEIERhdGFz
ZXQoc2VsZi5maWxlbmFtZSkudmFyaWFibGVzCi0gICAgICAgIG5lbGVtID0zRCBzZWxmLmRhdGFz
ZXRbImViX3N0YXR1cyJdWzpdLnNoYXBlWzBdCisKICAgICAgICAgY29vcmQgPTNEIG5wLmFycmF5
KFtzZWxmLmRhdGFzZXRbImNvb3JkJXMiICUgYXhdWzpdCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yIGF4IGluICd4eXonXSkudHJhbnNwb3NlKCkuY29weSgpCj0yMAotICAgICAgICBmb3Ig
aSBpbiByYW5nZShuZWxlbSk6Ci0gICAgICAgICAgICBzZWxmLmNvbm5lY3RzLmFwcGVuZChzZWxm
LmRhdGFzZXRbImNvbm5lY3QlcyIgJSAoaSsxKV1bOl0uYXN0eT0KcGUoImk4IikpCisgICAgICAg
IGZvciBpIGluIHJhbmdlKHNlbGYuZ2V0X251bV9lbGVtKCkpOgorICAgICAgICAgICAgc2VsZi5h
ZGRfY29ubmVjdCgiY29ubmVjdCVzIiAlIChpKzEpKQorCiAgICAgICAgICAgICBjaSA9M0Qgc2Vs
Zi5jb25uZWN0c1stMV0KKwogICAgICAgICAgICAgc2VsZi5jb29yZHMuYXBwZW5kKGNvb3JkKSAg
IyBTYW1lIGZvciBhbGwKICAgICAgICAgICAgIHZhbHMgPTNEIHt9Cj0yMAotICAgICAgICAgICAg
Zm9yIGosIHYgaW4gZW51bWVyYXRlKHNlbGYuZ2V0X3Zhcl9uYW1lcygpKToKLSAgICAgICAgICAg
ICAgICB2YWxzWydnYXMnLCB2XSA9M0Qgc2VsZi5kYXRhc2V0WyJ2YWxzX2VsZW1fdmFyJXNlYiVz
IiAlIChqPQorMSwgaSsxKV1bOl0uYXN0eXBlKCJmOCIpWy0xLDpdCisgICAgICAgICAgICBmb3Ig
aiwgdmFyX25hbWUgaW4gZW51bWVyYXRlKHNlbGYuZ2V0X3Zhcl9uYW1lcygpKToKKyAgICAgICAg
ICAgICAgICB2YWxzWydnYXMnLCB2YXJfbmFtZV0gPTNEIHNlbGYuZGF0YXNldFsidmFsc19lbGVt
X3ZhciVzZWIlPQpzIiAlIChqKzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQo9MjAKLSAg
ICAgICAgICAgIGZvciBqLCB2IGluIGVudW1lcmF0ZShzZWxmLmdldF9ub2RfbmFtZXMoKSk6Cisg
ICAgICAgICAgICBmb3Igaiwgbm9kX25hbWUgaW4gZW51bWVyYXRlKHNlbGYuZ2V0X25vZF9uYW1l
cygpKToKICAgICAgICAgICAgICAgICAjIFdlIHdhbnQganVzdCBmb3IgdGhpcyBzZXQgb2Ygbm9k
ZXMgYWxsIHRoZSBub2RlIHZhcmlhYmxlcwogICAgICAgICAgICAgICAgICMgVXNlIChjaSAtIDEp
IHRvIGdldCB0aGVzZSB2YWx1ZXMKLSAgICAgICAgICAgICAgICB2YWxzWydnYXMnLCB2XSA9M0Qg
c2VsZi5kYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIgJSAoaisxKV1bPQo6XS5hc3R5cGUoImY4Iilb
LTEsIGNpIC0gMSwgLi4uXQorICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIG5vZF9uYW1lXSA9
M0Qgc2VsZi5kYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIgJSA9CihqKzEpXVs6XS5hc3R5cGUoImY4
IilbLTEsIGNpIC0gMSwgLi4uXQo9MjAKICAgICAgICAgICAgIHNlbGYuZGF0YS5hcHBlbmQodmFs
cykKPTIwCisgICAgZGVmIGdldF9udW1fZWxlbShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYu
ZGF0YXNldFsiZWJfc3RhdHVzIl1bOl0uc2hhcGVbMF0KKworICAgIGRlZiBhZGRfY29ubmVjdChz
ZWxmLCBjb25uZWN0X2tleSk6CisgICAgICAgIHNlbGYuY29ubmVjdHMuYXBwZW5kKHNlbGYuZGF0
YXNldFtjb25uZWN0X2tleV1bOl0uYXN0eXBlKCJpOCIpKQorCiAgICAgZGVmIGdldF92YXJfbmFt
ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBbc2VsZi5zYW5pdGl6ZV9zdHJpbmcodi50b3N0cmlu
ZygpKSBmb3IgdiBpbgogICAgICAgICAgICAgICAgIHNlbGYuZGF0YXNldFsibmFtZV9lbGVtX3Zh
ciJdWzpdXQpAQCAtNDMsNSArNTEsNSBAQAogICAgICAgICAgICAgICAgIHNlbGYuZGF0YXNldFsi
bmFtZV9ub2RfdmFyIl1bOl1dCj0yMAogICAgIGRlZiBzYW5pdGl6ZV9zdHJpbmcoc2VsZiwgcyk6
Ci0gICAgICAgIHMgPTNEICIiLmpvaW4oXyBmb3IgXyBpbiB0YWtld2hpbGUobGFtYmRhIGE6IGEg
aW4gc3RyaW5nLnByaW50YWJsZT0KLCBzKSkKLSAgICAgICAgcmV0dXJuIHMKKyAgICAgICAgcmV0
dXJuICIiLmpvaW4oXyBmb3IgXyBpbiB0YWtld2hpbGUobGFtYmRhIGE6IGEgaW4gc3RyaW5nLnBy
aW50YWJsPQplLCBzKSkKKwoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9j
b21taXRzL2EwYTcxNDg2NjVjOS8KQ2hhbmdlc2V0OiAgIGEwYTcxNDg2NjVjOQpCcmFuY2g6ICAg
ICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0wNSAxODoy
MjoyMyswMDowMApTdW1tYXJ5OiAgICAgUmVtb3ZlIGV4dHJhIHN0dWZmIGZyb20gY29vcmRzLgpB
ZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDdhZjkwYjJhNDM5ZjBhZDdkZTQyZTJlNWM5ZGFh
MGJiODg0NGQ0MjQgLXIgYTBhNzE0ODY2NWM5YmVlYTcwNDQxYWM9CjUwNzVhYjFjOGJmM2Y2NmE0
IHl0L3V0aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9leG9kdXNf
cmVhZGVyLnB5CisrKyBiL3l0L3V0aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5CkBAIC04LDIyICs4
LDE5IEBACiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lKToKICAgICAgICAgc2VsZi5m
aWxlbmFtZSA9M0QgZmlsZW5hbWUKICAgICAgICAgc2VsZi5kYXRhc2V0ID0zRCBPcmRlcmVkRGlj
dCgpCi0gICAgICAgIHNlbGYuY29vcmRzID0zRCBbXQorICAgICAgICBzZWxmLmNvb3JkcyA9M0Qg
bnAuYXJyYXkoW10pCiAgICAgICAgIHNlbGYuY29ubmVjdHMgPTNEIFtdCiAgICAgICAgIHNlbGYu
ZGF0YSA9M0QgW10KPTIwCiAgICAgZGVmIGxvYWRfZGF0YXNldChzZWxmKToKICAgICAgICAgc2Vs
Zi5kYXRhc2V0ID0zRCBEYXRhc2V0KHNlbGYuZmlsZW5hbWUpLnZhcmlhYmxlcwo9MjAKLSAgICAg
ICAgY29vcmQgPTNEIG5wLmFycmF5KFtzZWxmLmRhdGFzZXRbImNvb3JkJXMiICUgYXhdWzpdCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGF4IGluICd4eXonXSkudHJhbnNwb3NlKCkuY29w
eSgpCisgICAgICAgIHNlbGYuY29vcmRzID0zRCBucC5hcnJheShbc2VsZi5kYXRhc2V0WyJjb29y
ZCVzIiAlIGF4XVs6XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXggaW4g
J3h5eiddKS50cmFuc3Bvc2UoKS5jb3B5KCkKPTIwCiAgICAgICAgIGZvciBpIGluIHJhbmdlKHNl
bGYuZ2V0X251bV9lbGVtKCkpOgogICAgICAgICAgICAgc2VsZi5hZGRfY29ubmVjdCgiY29ubmVj
dCVzIiAlIChpKzEpKQotCiAgICAgICAgICAgICBjaSA9M0Qgc2VsZi5jb25uZWN0c1stMV0KLQot
ICAgICAgICAgICAgc2VsZi5jb29yZHMuYXBwZW5kKGNvb3JkKSAgIyBTYW1lIGZvciBhbGwKICAg
ICAgICAgICAgIHZhbHMgPTNEIHt9Cj0yMAogICAgICAgICAgICAgZm9yIGosIHZhcl9uYW1lIGlu
IGVudW1lcmF0ZShzZWxmLmdldF92YXJfbmFtZXMoKSk6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3Jn
L3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMzE5N2ZhMzkzODVkLwpDaGFuZ2VzZXQ6ICAgMzE5N2Zh
MzkzODVkCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAg
ICAyMDE1LTA2LTA1IDE5OjUzOjIxKzAwOjAwClN1bW1hcnk6ICAgICBVcGRhdGUgY2xhc3Mgc3Ry
dWN0dXJlLgpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGEwYTcxNDg2NjVjOWJlZWE3MDQ0
MWFjNTA3NWFiMWM4YmYzZjY2YTQgLXIgMzE5N2ZhMzkzODVkMWE1OThlOTY3ZTQ9CmI4OWU1MzY5
N2M5OGUxNTMyIHl0L3V0aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5Ci0tLSBhL3l0L3V0aWxpdGll
cy9leG9kdXNfcmVhZGVyLnB5CisrKyBiL3l0L3V0aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5CkBA
IC0xMiwxNCArMTIsMzMgQEAKICAgICAgICAgc2VsZi5jb25uZWN0cyA9M0QgW10KICAgICAgICAg
c2VsZi5kYXRhID0zRCBbXQo9MjAKKyAgICBkZWYgbG9hZF9hbGwoc2VsZik6CisgICAgICAgIGlm
IG5vdCBzZWxmLmRhdGFzZXQ6CisgICAgICAgICAgICBzZWxmLmxvYWRfZGF0YXNldCgpCisKKyAg
ICAgICAgc2VsZi5sb2FkX2Nvb3JkcygpCisgICAgICAgIHNlbGYubG9hZF9jb25uZWN0cygpCisg
ICAgICAgIHNlbGYubG9hZF9kYXRhKCkKKwogICAgIGRlZiBsb2FkX2RhdGFzZXQoc2VsZik6CiAg
ICAgICAgIHNlbGYuZGF0YXNldCA9M0QgRGF0YXNldChzZWxmLmZpbGVuYW1lKS52YXJpYWJsZXMK
PTIwCi0gICAgICAgIHNlbGYuY29vcmRzID0zRCBucC5hcnJheShbc2VsZi5kYXRhc2V0WyJjb29y
ZCVzIiAlIGF4XVs6XQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXggaW4g
J3h5eiddKS50cmFuc3Bvc2UoKS5jb3B5KCkKKyAgICBkZWYgbG9hZF9jb29yZHMoc2VsZiwgYXhl
cz0zRCd4eXonKToKKyAgICAgICAgc2VsZi5jb29yZHMgPTNEIG5wLmFycmF5KFtzZWxmLmRhdGFz
ZXRbImNvb3JkJXMiICUgYXhpc11bOl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Zm9yIGF4aXMgaW4gYXhlc10pLnRyYW5zcG9zZSgpLmNvcHkoKQo9MjAKKyAgICBkZWYgbG9hZF9j
b25uZWN0cyhzZWxmKToKICAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5nZXRfbnVtX2VsZW0o
KSk6CiAgICAgICAgICAgICBzZWxmLmFkZF9jb25uZWN0KCJjb25uZWN0JXMiICUgKGkrMSkpCisK
KyAgICBkZWYgZ2V0X251bV9lbGVtKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5kYXRhc2V0
WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQorCisgICAgZGVmIGFkZF9jb25uZWN0KHNlbGYsIGNv
bm5lY3Rfa2V5KToKKyAgICAgICAgc2VsZi5jb25uZWN0cy5hcHBlbmQoc2VsZi5kYXRhc2V0W2Nv
bm5lY3Rfa2V5XVs6XS5hc3R5cGUoImk4IikpCisKKyAgICBkZWYgbG9hZF9kYXRhKHNlbGYpOgor
ICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLmdldF9udW1fZWxlbSgpKToKICAgICAgICAgICAg
IGNpID0zRCBzZWxmLmNvbm5lY3RzWy0xXQogICAgICAgICAgICAgdmFscyA9M0Qge30KPTIwCkBA
IC0zMSwxNCArNTAsOCBAQAogICAgICAgICAgICAgICAgICMgVXNlIChjaSAtIDEpIHRvIGdldCB0
aGVzZSB2YWx1ZXMKICAgICAgICAgICAgICAgICB2YWxzWydnYXMnLCBub2RfbmFtZV0gPTNEIHNl
bGYuZGF0YXNldFsidmFsc19ub2RfdmFyJXMiICUgPQooaisxKV1bOl0uYXN0eXBlKCJmOCIpWy0x
LCBjaSAtIDEsIC4uLl0KPTIwCi0gICAgICAgICAgICBzZWxmLmRhdGEuYXBwZW5kKHZhbHMpCi0K
LSAgICBkZWYgZ2V0X251bV9lbGVtKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5kYXRhc2V0
WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQotCi0gICAgZGVmIGFkZF9jb25uZWN0KHNlbGYsIGNv
bm5lY3Rfa2V5KToKLSAgICAgICAgc2VsZi5jb25uZWN0cy5hcHBlbmQoc2VsZi5kYXRhc2V0W2Nv
bm5lY3Rfa2V5XVs6XS5hc3R5cGUoImk4IikpCi0KKyAgICAgICAgICAgIHNlbGYuZGF0YS5hcHBl
bmQodmFscyk9MjAKKyAgICAgICA9MjAKICAgICBkZWYgZ2V0X3Zhcl9uYW1lcyhzZWxmKToKICAg
ICAgICAgcmV0dXJuIFtzZWxmLnNhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGlu
CiAgICAgICAgICAgICAgICAgc2VsZi5kYXRhc2V0WyJuYW1lX2VsZW1fdmFyIl1bOl1dCgoKaHR0
cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNjk5MzBhMjllYWEyLwpD
aGFuZ2VzZXQ6ICAgNjk5MzBhMjllYWEyCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0
cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2LTA1IDIwOjIzOjA2KzAwOjAwClN1bW1hcnk6ICAg
ICBSZXZlcnQgRXhvZHVzRGF0YSBkdWUgdG8gZXJyb3JzIGluIHJlbmRlcmluZwpBZmZlY3RlZCAj
OiAgMSBmaWxlCgpkaWZmIC1yIDMxOTdmYTM5Mzg1ZDFhNTk4ZTk2N2U0Yjg5ZTUzNjk3Yzk4ZTE1
MzIgLXIgNjk5MzBhMjllYWEyMzc3NzY0OWY0MmU9Cjg3OWZhYWU5OWQxYTQ5MDUyIHl0L3V0aWxp
dGllcy9leG9kdXNfcmVhZGVyLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5
CisrKyBiL3l0L3V0aWxpdGllcy9leG9kdXNfcmVhZGVyLnB5CkBAIC0xMiwzMyArMTIsMTQgQEAK
ICAgICAgICAgc2VsZi5jb25uZWN0cyA9M0QgW10KICAgICAgICAgc2VsZi5kYXRhID0zRCBbXQo9
MjAKLSAgICBkZWYgbG9hZF9hbGwoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLmRhdGFzZXQ6
Ci0gICAgICAgICAgICBzZWxmLmxvYWRfZGF0YXNldCgpCi0KLSAgICAgICAgc2VsZi5sb2FkX2Nv
b3JkcygpCi0gICAgICAgIHNlbGYubG9hZF9jb25uZWN0cygpCi0gICAgICAgIHNlbGYubG9hZF9k
YXRhKCkKLQogICAgIGRlZiBsb2FkX2RhdGFzZXQoc2VsZik6CiAgICAgICAgIHNlbGYuZGF0YXNl
dCA9M0QgRGF0YXNldChzZWxmLmZpbGVuYW1lKS52YXJpYWJsZXMKPTIwCi0gICAgZGVmIGxvYWRf
Y29vcmRzKHNlbGYsIGF4ZXM9M0QneHl6Jyk6Ci0gICAgICAgIHNlbGYuY29vcmRzID0zRCBucC5h
cnJheShbc2VsZi5kYXRhc2V0WyJjb29yZCVzIiAlIGF4aXNdWzpdCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZvciBheGlzIGluIGF4ZXNdKS50cmFuc3Bvc2UoKS5jb3B5KCkKKyAg
ICAgICAgc2VsZi5jb29yZHMgPTNEIG5wLmFycmF5KFtzZWxmLmRhdGFzZXRbImNvb3JkJXMiICUg
YXhdWzpdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBheCBpbiAneHl6J10p
LnRyYW5zcG9zZSgpLmNvcHkoKQo9MjAKLSAgICBkZWYgbG9hZF9jb25uZWN0cyhzZWxmKToKICAg
ICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5nZXRfbnVtX2VsZW0oKSk6CiAgICAgICAgICAgICBz
ZWxmLmFkZF9jb25uZWN0KCJjb25uZWN0JXMiICUgKGkrMSkpCi0KLSAgICBkZWYgZ2V0X251bV9l
bGVtKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5kYXRhc2V0WyJlYl9zdGF0dXMiXVs6XS5z
aGFwZVswXQotCi0gICAgZGVmIGFkZF9jb25uZWN0KHNlbGYsIGNvbm5lY3Rfa2V5KToKLSAgICAg
ICAgc2VsZi5jb25uZWN0cy5hcHBlbmQoc2VsZi5kYXRhc2V0W2Nvbm5lY3Rfa2V5XVs6XS5hc3R5
cGUoImk4IikpCi0KLSAgICBkZWYgbG9hZF9kYXRhKHNlbGYpOgotICAgICAgICBmb3IgaSBpbiBy
YW5nZShzZWxmLmdldF9udW1fZWxlbSgpKToKICAgICAgICAgICAgIGNpID0zRCBzZWxmLmNvbm5l
Y3RzWy0xXQogICAgICAgICAgICAgdmFscyA9M0Qge30KPTIwCkBAIC01MCw4ICszMSwxNCBAQAog
ICAgICAgICAgICAgICAgICMgVXNlIChjaSAtIDEpIHRvIGdldCB0aGVzZSB2YWx1ZXMKICAgICAg
ICAgICAgICAgICB2YWxzWydnYXMnLCBub2RfbmFtZV0gPTNEIHNlbGYuZGF0YXNldFsidmFsc19u
b2RfdmFyJXMiICUgPQooaisxKV1bOl0uYXN0eXBlKCJmOCIpWy0xLCBjaSAtIDEsIC4uLl0KPTIw
Ci0gICAgICAgICAgICBzZWxmLmRhdGEuYXBwZW5kKHZhbHMpPTIwCi0gICAgICAgPTIwCisgICAg
ICAgICAgICBzZWxmLmRhdGEuYXBwZW5kKHZhbHMpCisKKyAgICBkZWYgZ2V0X251bV9lbGVtKHNl
bGYpOgorICAgICAgICByZXR1cm4gc2VsZi5kYXRhc2V0WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVsw
XQorCisgICAgZGVmIGFkZF9jb25uZWN0KHNlbGYsIGNvbm5lY3Rfa2V5KToKKyAgICAgICAgc2Vs
Zi5jb25uZWN0cy5hcHBlbmQoc2VsZi5kYXRhc2V0W2Nvbm5lY3Rfa2V5XVs6XS5hc3R5cGUoImk4
IikpCisKICAgICBkZWYgZ2V0X3Zhcl9uYW1lcyhzZWxmKToKICAgICAgICAgcmV0dXJuIFtzZWxm
LnNhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCiAgICAgICAgICAgICAgICAg
c2VsZi5kYXRhc2V0WyJuYW1lX2VsZW1fdmFyIl1bOl1dCgoKaHR0cHM6Ly9iaXRidWNrZXQub3Jn
L3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvYjMzOTJhYTY0OTg0LwpDaGFuZ2VzZXQ6ICAgYjMzOTJh
YTY0OTg0CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAg
ICAyMDE1LTA2LTA4IDE1OjAxOjEzKzAwOjAwClN1bW1hcnk6ICAgICBNZXJnaW5nCkFmZmVjdGVk
ICM6ICA2IGZpbGVzCgpkaWZmIC1yIDY5OTMwYTI5ZWFhMjM3Nzc2NDlmNDJlODc5ZmFhZTk5ZDFh
NDkwNTIgLXIgYjMzOTJhYTY0OTg0M2NmMjIwZGM3NzA9Cjg3NjY5Zjc3YWVhMWNhNjNjIHl0L2Zp
ZWxkcy9maWVsZF9kZXRlY3Rvci5weQotLS0gYS95dC9maWVsZHMvZmllbGRfZGV0ZWN0b3IucHkK
KysrIGIveXQvZmllbGRzL2ZpZWxkX2RldGVjdG9yLnB5CkBAIC0xMzYsNiArMTM2LDExIEBACiAg
ICAgICAgICAgICAgICAgc2VsZltpdGVtXSA9M0QgXAogICAgICAgICAgICAgICAgICAgWVRBcnJh
eShucC5vbmVzKChzZWxmLk51bWJlck9mUGFydGljbGVzLCAzKSksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbmZvLnVuaXRzLCByZWdpc3RyeT0zRHNlbGYuZHMudW5pdF9yZWdpc3RyeSkK
KyAgICAgICAgICAgIGVsaWYgIkZvdXJNZXRhbEZyYWN0aW9ucyIgaW4gKGl0ZW0sIGl0ZW1bMV0p
OgorICAgICAgICAgICAgICAgIHNlbGZbaXRlbV0gPTNEIFwKKyAgICAgICAgICAgICAgICAgIFlU
QXJyYXkobnAub25lcygoc2VsZi5OdW1iZXJPZlBhcnRpY2xlcywgNCkpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaW5mby51bml0cywgcmVnaXN0cnk9M0RzZWxmLmRzLnVuaXRfcmVnaXN0
cnkpCisKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgIyBOb3QgYSB2ZWN0b3IK
ICAgICAgICAgICAgICAgICBzZWxmW2l0ZW1dID0zRCBcCgpkaWZmIC1yIDY5OTMwYTI5ZWFhMjM3
Nzc2NDlmNDJlODc5ZmFhZTk5ZDFhNDkwNTIgLXIgYjMzOTJhYTY0OTg0M2NmMjIwZGM3NzA9Cjg3
NjY5Zjc3YWVhMWNhNjNjIHl0L2ZpZWxkcy9wYXJ0aWNsZV9maWVsZHMucHkKLS0tIGEveXQvZmll
bGRzL3BhcnRpY2xlX2ZpZWxkcy5weQorKysgYi95dC9maWVsZHMvcGFydGljbGVfZmllbGRzLnB5
CkBAIC02MSw2ICs2MSwxMCBAQAogICAgICdNZ19mcmFjdGlvbicsCiAgICAgJ1NpX2ZyYWN0aW9u
JywKICAgICAnRmVfZnJhY3Rpb24nLAorICAgICdDX2RlbnNpdHknLAorICAgICdPX2RlbnNpdHkn
LAorICAgICdTaV9kZW5zaXR5JywKKyAgICAnRmVfZGVuc2l0eScKICkKPTIwCj0yMAoKZGlmZiAt
ciA2OTkzMGEyOWVhYTIzNzc3NjQ5ZjQyZTg3OWZhYWU5OWQxYTQ5MDUyIC1yIGIzMzkyYWE2NDk4
NDNjZjIyMGRjNzcwPQo4NzY2OWY3N2FlYTFjYTYzYyB5dC9mcm9udGVuZHMvZ2FkZ2V0L2RlZmlu
aXRpb25zLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9nYWRnZXQvZGVmaW5pdGlvbnMucHkKKysrIGIv
eXQvZnJvbnRlbmRzL2dhZGdldC9kZWZpbml0aW9ucy5weQpAQCAtNjUsNSArNjUsMjIgQEAKICAg
ICAgICAgICAgICAgICAgICAoIkVsZWN0cm9uX051bWJlcl9EZW5zaXR5IiwgIkdhcyIpLAogICAg
ICAgICAgICAgICAgICAgICgiSElfTnVtYmVyRGVuc2l0eSIsICJHYXMiKSwKICAgICAgICAgICAg
ICAgICAgICAoIlNtb290aGluZ0xlbmd0aCIsICJHYXMiKSwKLSAgICApCisgICAgKSwKKyAgICBn
cm91cDAwMDAgPTNEICAoICJDb29yZGluYXRlcyIsCisgICAgICAgICAgICAgICAgICAgIlZlbG9j
aXRpZXMiLAorICAgICAgICAgICAgICAgICAgICJQYXJ0aWNsZUlEcyIsCisgICAgICAgICAgICAg
ICAgICAgIk1hc3MiLAorICAgICAgICAgICAgICAgICAgICJQb3RlbnRpYWwiLAorICAgICAgICAg
ICAgICAgICAgICgiVGVtcGVyYXR1cmUiLCAiR2FzIiksCisgICAgICAgICAgICAgICAgICAgKCJE
ZW5zaXR5IiwgIkdhcyIpLAorICAgICAgICAgICAgICAgICAgICgiRWxlY3Ryb25OdW1iZXJEZW5z
aXR5IiwgIkdhcyIpLAorICAgICAgICAgICAgICAgICAgICgiSElfTnVtYmVyRGVuc2l0eSIsICJH
YXMiKSwKKyAgICAgICAgICAgICAgICAgICAoIlNtb290aGluZ0xlbmd0aCIsICJHYXMiKSwKKyAg
ICAgICAgICAgICAgICAgICAoIlN0YXJGb3JtYXRpb25SYXRlIiwgIkdhcyIpLAorICAgICAgICAg
ICAgICAgICAgICgiRGVsYXlUaW1lIiwgIkdhcyIpLAorICAgICAgICAgICAgICAgICAgICgiRm91
ck1ldGFsRnJhY3Rpb25zIiwgKCJHYXMiLCAiU3RhcnMiKSksCisgICAgICAgICAgICAgICAgICAg
KCJNYXhUZW1wZXJhdHVyZSIsICgiR2FzIiwgIlN0YXJzIikpLAorICAgICAgICAgICAgICAgICAg
ICgiTlN0YXJzU3Bhd25lZCIsICgiR2FzIiwgIlN0YXJzIikpLAorICAgICAgICAgICAgICAgICAg
ICgiU3RlbGxhckFnZSIsICJTdGFycyIpCisgICAgKSwKICkKCmRpZmYgLXIgNjk5MzBhMjllYWEy
Mzc3NzY0OWY0MmU4NzlmYWFlOTlkMWE0OTA1MiAtciBiMzM5MmFhNjQ5ODQzY2YyMjBkYzc3MD0K
ODc2NjlmNzdhZWExY2E2M2MgeXQvZnJvbnRlbmRzL2dhZGdldC9maWVsZHMucHkKLS0tIGEveXQv
ZnJvbnRlbmRzL2dhZGdldC9maWVsZHMucHkKKysrIGIveXQvZnJvbnRlbmRzL2dhZGdldC9maWVs
ZHMucHkKQEAgLTIxLDEzICsyMSw1MyBAQAogY2xhc3MgR2FkZ2V0RmllbGRJbmZvKFNQSEZpZWxk
SW5mbyk6Cj0yMAogICAgIGRlZiBzZXR1cF9wYXJ0aWNsZV9maWVsZHMoc2VsZiwgcHR5cGUsICph
cmdzLCAqKmt3YXJncyk6CisKKyAgICAgICAgIyBzZXR1cCBzb21lIHNwZWNpYWwgZmllbGRzIHRo
YXQgb25seSBtYWtlIHNlbnNlIGZvciBTUEggcGFydGljbGVzCisKKyAgICAgICAgaWYgKHB0eXBl
LCAiRm91ck1ldGFsRnJhY3Rpb25zIikgaW4gc2VsZi5kcy5maWVsZF9saXN0OgorICAgICAgICAg
ICAgc2VsZi5fc2V0dXBfZm91cl9tZXRhbF9mcmFjdGlvbnMocHR5cGUpCisKICAgICAgICAgc3Vw
ZXIoR2FkZ2V0RmllbGRJbmZvLCBzZWxmKS5zZXR1cF9wYXJ0aWNsZV9maWVsZHMoCiAgICAgICAg
ICAgICBwdHlwZSwgKmFyZ3MsICoqa3dhcmdzKQo9MjAKLSAgICAgICAgIyBzZXR1cCBzb21lIHNw
ZWNpYWwgZmllbGRzIHRoYXQgb25seSBtYWtlIHNlbnNlIGZvciBTUEggcGFydGljbGVzCiAgICAg
ICAgIGlmIHB0eXBlIGluICgiUGFydFR5cGUwIiwgIkdhcyIpOgogICAgICAgICAgICAgc2VsZi5z
ZXR1cF9nYXNfcGFydGljbGVfZmllbGRzKHB0eXBlKQo9MjAKKyAgICBkZWYgX3NldHVwX2ZvdXJf
bWV0YWxfZnJhY3Rpb25zKHNlbGYsIHB0eXBlKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMg
ZnVuY3Rpb24gYnJlYWtzIHRoZSBGb3VyTWV0YWxGcmFjdGlvbnMgZmllbGQgKGlmIHByZXNlbnQp
PTIwCisgICAgICAgIGludG8gaXRzIGZvdXIgY29tcG9uZW50IG1ldGFsIGZyYWN0aW9uIGZpZWxk
cyBhbmQgYWRkcz0yMAorICAgICAgICBjb3JyZXNwb25kaW5nIG1ldGFsIGRlbnNpdHkgZmllbGRz
IHdoaWNoIHdpbGwgbGF0ZXIgZ2V0IHNtb290aGVkCisKKyAgICAgICAgVGhpcyBnZXRzIHVzZWQg
d2l0aCB0aGUgR2FkZ2V0IGdyb3VwMDAwMCBmb3JtYXQKKyAgICAgICAgYXMgZGVmaW5lZCBpbiB0
aGUgZ2FkZ2V0X2ZpZWxkX3NwZWNzIGluIGZyb250ZW5kcy9nYWRnZXQvZGVmaW5pdGlvPQpucy5w
eQorICAgICAgICAiIiIKKyAgICAgICAgbWV0YWxfbmFtZXMgPTNEIFsnQycsICdPJywgJ1NpJywg
J0ZlJ10KKyAgICAgICAgZm9yIGksIG1ldGFsX25hbWUgaW4gZW51bWVyYXRlKG1ldGFsX25hbWVz
KToKKworICAgICAgICAgICAgIyBhZGQgdGhlIG1ldGFsIGZyYWN0aW9uIGZpZWxkcworICAgICAg
ICAgICAgZGVmIF9GcmFjdGlvbl93cmFwKGkpOgorICAgICAgICAgICAgICAgIGRlZiBfRnJhY3Rp
b24oZmllbGQsIGRhdGEpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YVsocHR5cGUs
ICdGb3VyTWV0YWxGcmFjdGlvbnMnKV1bOixpXQorICAgICAgICAgICAgICAgIHJldHVybiBfRnJh
Y3Rpb24KKworICAgICAgICAgICAgc2VsZi5hZGRfZmllbGQoIChwdHlwZSwgbWV0YWxfbmFtZSsi
X2ZyYWN0aW9uIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb249M0RfRnJh
Y3Rpb25fd3JhcChpKSw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWNsZV90
eXBlPTNEVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0cz0zRCIiKQorCisg
ICAgICAgICAgICAjIGFkZCB0aGUgbWV0YWwgZGVuc2l0eSBmaWVsZHMKKyAgICAgICAgICAgIGRl
ZiBfRGVuc2l0eV93cmFwKGkpOgorICAgICAgICAgICAgICAgIGRlZiBfTWV0YWxfZGVuc2l0eShm
aWVsZCwgZGF0YSk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhWyhwdHlwZSwgJ0Zv
dXJNZXRhbEZyYWN0aW9ucycpXVs6LGldICogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0YVsocHR5cGUsICdkZW5zaXR5JyldCisgICAgICAgICAgICAgICAgcmV0dXJuIF9NZXRhbF9k
ZW5zaXR5CisKKyAgICAgICAgICAgIHNlbGYuYWRkX2ZpZWxkKCAocHR5cGUsIG1ldGFsX25hbWUr
Il9kZW5zaXR5IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb249M0RfRGVu
c2l0eV93cmFwKGkpLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY2xlX3R5
cGU9M0RUcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXRzPTNEImcvY20qKjMi
KQorCiAgICAgZGVmIHNldHVwX2dhc19wYXJ0aWNsZV9maWVsZHMoc2VsZiwgcHR5cGUpOgogICAg
ICAgICBpZiAocHR5cGUsICJFbGVjdHJvbkFidW5kYW5jZSIpIGluIHNlbGYuZHMuZmllbGRfbGlz
dDoKICAgICAgICAgICAgIGRlZiBfdGVtcGVyYXR1cmUoZmllbGQsIGRhdGEpOgoKZGlmZiAtciA2
OTkzMGEyOWVhYTIzNzc3NjQ5ZjQyZTg3OWZhYWU5OWQxYTQ5MDUyIC1yIGIzMzkyYWE2NDk4NDNj
ZjIyMGRjNzcwPQo4NzY2OWY3N2FlYTFjYTYzYyB5dC9mcm9udGVuZHMvZ2FkZ2V0L2lvLnB5Ci0t
LSBhL3l0L2Zyb250ZW5kcy9nYWRnZXQvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL2dhZGdldC9p
by5weQpAQCAtMzMsNyArMzMsMTAgQEAKICAgID0yMAogY2xhc3MgSU9IYW5kbGVyR2FkZ2V0Qmlu
YXJ5KEJhc2VJT0hhbmRsZXIpOgogICAgIF9kYXRhc2V0X3R5cGUgPTNEICJnYWRnZXRfYmluYXJ5
IgotICAgIF92ZWN0b3JfZmllbGRzID0zRCAoIkNvb3JkaW5hdGVzIiwgIlZlbG9jaXR5IiwgIlZl
bG9jaXRpZXMiKQorICAgIF92ZWN0b3JfZmllbGRzID0zRCAoKCJDb29yZGluYXRlcyIsIDMpLAor
ICAgICAgICAgICAgICAgICAgICAgICgiVmVsb2NpdHkiLCAzKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAoIlZlbG9jaXRpZXMiLCAzKSwKKyAgICAgICAgICAgICAgICAgICAgICAoIkZvdXJNZXRh
bEZyYWN0aW9ucyIsIDQpKQo9MjAKICAgICAjIFBhcnRpY2xlIHR5cGVzIChUYWJsZSAzIGluIEdB
REdFVC0yIHVzZXIgZ3VpZGUpCiAgICAgIwpAQCAtNTQsNiArNTcsNyBAQAogICAgIF92YXJfbWFz
cyA9M0QgTm9uZQo9MjAKICAgICBkZWYgX19pbml0X18oc2VsZiwgZHMsICphcmdzLCAqKmt3YXJn
cyk6CisgICAgICAgIHNlbGYuX3ZlY3Rvcl9maWVsZHMgPTNEIGRpY3Qoc2VsZi5fdmVjdG9yX2Zp
ZWxkcykKICAgICAgICAgc2VsZi5fZmllbGRzID0zRCBkcy5fZmllbGRfc3BlYwogICAgICAgICBz
ZWxmLl9wdHlwZXMgPTNEIGRzLl9wdHlwZV9zcGVjCiAgICAgICAgIHN1cGVyKElPSGFuZGxlckdh
ZGdldEJpbmFyeSwgc2VsZikuX19pbml0X18oZHMsICphcmdzLCAqKmt3YXJncykKQEAgLTEyNiwx
MCArMTMwLDExIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBkdCA9M0QgImZsb2F0MzIi
CiAgICAgICAgIGlmIG5hbWUgaW4gc2VsZi5fdmVjdG9yX2ZpZWxkczoKLSAgICAgICAgICAgIGNv
dW50ICo9M0QgMworICAgICAgICAgICAgY291bnQgKj0zRCBzZWxmLl92ZWN0b3JfZmllbGRzW25h
bWVdCiAgICAgICAgIGFyciA9M0QgbnAuZnJvbWZpbGUoZiwgZHR5cGU9M0RkdCwgY291bnQgPTNE
IGNvdW50KQogICAgICAgICBpZiBuYW1lIGluIHNlbGYuX3ZlY3Rvcl9maWVsZHM6Ci0gICAgICAg
ICAgICBhcnIgPTNEIGFyci5yZXNoYXBlKChjb3VudC8zLCAzKSwgb3JkZXI9M0QiQyIpCisgICAg
ICAgICAgICBmYWN0b3IgPTNEIHNlbGYuX3ZlY3Rvcl9maWVsZHNbbmFtZV0KKyAgICAgICAgICAg
IGFyciA9M0QgYXJyLnJlc2hhcGUoKGNvdW50L2ZhY3RvciwgZmFjdG9yKSwgb3JkZXI9M0QiQyIp
CiAgICAgICAgIHJldHVybiBhcnIuYXN0eXBlKCJmbG9hdDY0IikKPTIwCiAgICAgZGVmIF9pbml0
aWFsaXplX2luZGV4KHNlbGYsIGRhdGFfZmlsZSwgcmVnaW9ucyk6CkBAIC0xNzcsNyArMTgyLDcg
QEAKICAgICAgICAgICAgICAgICBvZmZzZXRzWyhwdHlwZSwgZmllbGQpXSA9M0QgcG9zCiAgICAg
ICAgICAgICAgICAgYW55X3B0eXBlcyA9M0QgVHJ1ZQogICAgICAgICAgICAgICAgIGlmIGZpZWxk
IGluIHNlbGYuX3ZlY3Rvcl9maWVsZHM6Ci0gICAgICAgICAgICAgICAgICAgIHBvcyArPTNEIDMg
KiBwY291bnRbcHR5cGVdICogZnMKKyAgICAgICAgICAgICAgICAgICAgcG9zICs9M0Qgc2VsZi5f
dmVjdG9yX2ZpZWxkc1tmaWVsZF0gKiBwY291bnRbcHR5cGVdICogPQpmcwogICAgICAgICAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHBvcyArPTNEIHBjb3VudFtwdHlwZV0gKiBm
cwogICAgICAgICAgICAgcG9zICs9M0QgNApAQCAtMjAzLDYgKzIwOCw4IEBACiAgICAgICAgICAg
ICAgICAgICAgIGZpZWxkLCByZXEgPTNEIGZpZWxkCiAgICAgICAgICAgICAgICAgICAgIGlmIHJl
cSBpcyBaZXJvTWFzczoKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG0gPiAwLjAgOiBjb250
aW51ZQorICAgICAgICAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UocmVxLCB0dXBsZSkgYW5k
IHB0eXBlIGluIHJlcToKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAg
ICAgICAgICAgZWxpZiByZXEgIT0zRCBwdHlwZToKICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlCiAgICAgICAgICAgICAgICAgZmllbGRfbGlzdC5hcHBlbmQoKHB0eXBlLCBmaWVsZCkp
CgpkaWZmIC1yIDY5OTMwYTI5ZWFhMjM3Nzc2NDlmNDJlODc5ZmFhZTk5ZDFhNDkwNTIgLXIgYjMz
OTJhYTY0OTg0M2NmMjIwZGM3NzA9Cjg3NjY5Zjc3YWVhMWNhNjNjIHl0L3V0aWxpdGllcy9pb19o
YW5kbGVyLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9pb19oYW5kbGVyLnB5CisrKyBiL3l0L3V0aWxp
dGllcy9pb19oYW5kbGVyLnB5CkBAIC00OSw2ICs0OSwxMCBAQAogICAgICAgICBzZWxmLl9sYXN0
X3NlbGVjdG9yX2NvdW50cyA9M0QgTm9uZQogICAgICAgICBzZWxmLl9hcnJheV9maWVsZHMgPTNE
IHt9CiAgICAgICAgIHNlbGYuX2NhY2hlZF9maWVsZHMgPTNEIHt9CisgICAgICAgICMgTWFrZSBz
dXJlIF92ZWN0b3JfZmllbGRzIGlzIGEgZGljdCBvZiBmaWVsZHMgYW5kIHRoZWlyIGRpbWVuc2lv
bgorICAgICAgICAjIGFuZCBhc3N1bWUgYWxsIG5vbi1zcGVjaWZpZWQgdmVjdG9yIGZpZWxkcyBh
cmUgM0QKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc2VsZi5fdmVjdG9yX2ZpZWxkcywgZGlj
dCk6CisgICAgICAgICAgICBzZWxmLl92ZWN0b3JfZmllbGRzID0zRCBkaWN0KChmaWVsZCwgMykg
Zm9yIGZpZWxkIGluIHNlbGYuX3ZlYz0KdG9yX2ZpZWxkcykKPTIwCiAgICAgIyBXZSBuZWVkIGEg
ZnVuY3Rpb24gZm9yIHJlYWRpbmcgYSBsaXN0IG9mIHNldHMKICAgICAjIGFuZCBhIGZ1bmN0aW9u
IGZvciAqcG9wcGluZyogZnJvbSBhIHF1ZXVlIGFsbCB0aGUgYXBwcm9wcmlhdGUgc2V0cwpAQCAt
MTY2LDcgKzE3MCw3IEBACiAgICAgICAgICAgICAgICAgZnNpemVbZmllbGRdICs9M0QgcHNpemUu
Z2V0KGZpZWxkWzBdLCAwKQogICAgICAgICBmb3IgZmllbGQgaW4gZmllbGRzOgogICAgICAgICAg
ICAgaWYgZmllbGRbMV0gaW4gc2VsZi5fdmVjdG9yX2ZpZWxkczoKLSAgICAgICAgICAgICAgICBz
aGFwZSA9M0QgKGZzaXplW2ZpZWxkXSwgMykKKyAgICAgICAgICAgICAgICBzaGFwZSA9M0QgKGZz
aXplW2ZpZWxkXSwgc2VsZi5fdmVjdG9yX2ZpZWxkc1tmaWVsZFsxXV0pCiAgICAgICAgICAgICBl
bGlmIGZpZWxkWzFdIGluIHNlbGYuX2FycmF5X2ZpZWxkczoKICAgICAgICAgICAgICAgICBzaGFw
ZSA9M0QgKGZzaXplW2ZpZWxkXSwpK3NlbGYuX2FycmF5X2ZpZWxkc1tmaWVsZFsxXV0KICAgICAg
ICAgICAgIGVsc2U6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvOTg4MjYyOTYwNmYxLwpDaGFuZ2VzZXQ6ICAgOTg4MjYyOTYwNmYxCkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2LTA4IDE3OjM3OjM3
KzAwOjAwClN1bW1hcnk6ICAgICBTdGFydCB3b3JrIG9uIEV4b2R1c2lpIGZyb250ZW5kLgpBZmZl
Y3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciBiMzM5MmFhNjQ5ODQzY2YyMjBkYzc3MDg3NjY5Zjc3
YWVhMWNhNjNjIC1yIDk4ODI2Mjk2MDZmMWIxMzdjMGMwNmIxPQpkZGQyNTQ2MTM4ZWQyNWY4YyB5
dC9mcm9udGVuZHMvZXhvZHVzaWkvYXBpLnB5Ci0tLSAvZGV2L251bGwKKysrIGIveXQvZnJvbnRl
bmRzL2V4b2R1c2lpL2FwaS5weQpAQCAtMCwwICsxLDI0IEBACisiIiIKK0FQSSBmb3IgeXQuZnJv
bnRlbmRzLmV4b2R1c2lpCisKKworCisiIiIKKworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KKyMg
Q29weXJpZ2h0IChjKSAyMDE1LCB5dCBEZXZlbG9wbWVudCBUZWFtLgorIworIyBEaXN0cmlidXRl
ZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgorIworIyBUaGUg
ZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3aXRo
IHRoaXMgc29mdHc9CmFyZS4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCitmcm9tIC5kYXRhX3N0
cnVjdHVyZXMgaW1wb3J0IFwKKyAgICAgIEV4b2R1c2lpRGF0YXNldAorCitmcm9tIC5maWVsZHMg
aW1wb3J0IFwKKyAgICAgIEV4b2R1c2lpRmllbGRJbmZvCisKK2Zyb20gLmlvIGltcG9ydCBcCisg
ICAgICBJT0hhbmRsZXJFeG9kdXNpaQorCisKCmRpZmYgLXIgYjMzOTJhYTY0OTg0M2NmMjIwZGM3
NzA4NzY2OWY3N2FlYTFjYTYzYyAtciA5ODgyNjI5NjA2ZjFiMTM3YzBjMDZiMT0KZGRkMjU0NjEz
OGVkMjVmOGMgeXQvZnJvbnRlbmRzL2V4b2R1c2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gL2Rl
di9udWxsCisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9kYXRhX3N0cnVjdHVyZXMucHkKQEAg
LTAsMCArMSwyNSBAQAorIiIiCitEYXRhIHN0cnVjdHVyZXMgZm9yIEV4b2R1c2lpLgorCisKKwor
IiIiCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisjIENvcHlyaWdodCAoYykgMjAxNSwgeXQg
RGV2ZWxvcG1lbnQgVGVhbS4KKyMKKyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBNb2RpZmllZCBCU0QgTGljZW5zZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUg
ZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCisjLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLT0KLS0tLQorCitpbXBvcnQgc3RyaW5nCitmcm9tIGl0ZXJ0b29scyBpbXBv
cnQgdGFrZXdoaWxlCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAoraW1wb3J0
IG51bXB5IGFzIG5wCitmcm9tIHl0LmZ1bmNzIGltcG9ydCAqCitmcm9tIG5ldENERjQgaW1wb3J0
IERhdGFzZXQKK2Zyb20geXQuZGF0YV9vYmplY3RzLnN0YXRpY19vdXRwdXQgaW1wb3J0IFwKKyAg
ICAgICAgICAgRGF0YXNldAorZnJvbSAuZmllbGRzIGltcG9ydCBFeG9kdXNpaUZpZWxkSW5mbwor
CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMGYwMmI5YjUw
OTdmLwpDaGFuZ2VzZXQ6ICAgMGYwMmI5YjUwOTdmCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAg
ICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2LTA4IDIyOjEzOjQ4KzAwOjAwClN1bW1h
cnk6ICAgICBCYXNlIG9mZiBvZiB0aGUgcHJvdmlkZWQgX3NrZWxldG9uCkFmZmVjdGVkICM6ICAx
MCBmaWxlcwoKZGlmZiAtciA5ODgyNjI5NjA2ZjFiMTM3YzBjMDZiMWRkZDI1NDYxMzhlZDI1Zjhj
IC1yIDBmMDJiOWI1MDk3ZmQ5YmY1Y2Y0MGNhPQpiOTQxYzNkNTc3ZDMyYzllNSByZXF1aXJlbWVu
dHMudHh0Ci0tLSBhL3JlcXVpcmVtZW50cy50eHQKKysrIGIvcmVxdWlyZW1lbnRzLnR4dApAQCAt
NCwzICs0LDQgQEAKIGg1cHk9M0Q9M0QyLjUuMD0yMAogbm9zZT0zRD0zRDEuMy42PTIwCiBzeW1w
eT0zRD0zRDAuNy42PTIwCituZXRDREY0CgpkaWZmIC1yIDk4ODI2Mjk2MDZmMWIxMzdjMGMwNmIx
ZGRkMjU0NjEzOGVkMjVmOGMgLXIgMGYwMmI5YjUwOTdmZDliZjVjZjQwY2E9CmI5NDFjM2Q1Nzdk
MzJjOWU1IHl0L2Zyb250ZW5kcy9leG9kdXNpaS9fX2luaXRfXy5weQotLS0gL2Rldi9udWxsCisr
KyBiL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9fX2luaXRfXy5weQpAQCAtMCwwICsxLDE0IEBACisi
IiIKK0FQSSBmb3IgeXQuZnJvbnRlbmRzLnNrZWxldG9uCisKKworCisiIiIKKworIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS09Ci0tLS0KKyMgQ29weXJpZ2h0IChjKSAyMDEzLCB5dCBEZXZlbG9wbWVudCBUZWFt
LgorIworIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBM
aWNlbnNlLgorIworIyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0
LCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KKyMtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQot
LS0tCgpkaWZmIC1yIDk4ODI2Mjk2MDZmMWIxMzdjMGMwNmIxZGRkMjU0NjEzOGVkMjVmOGMgLXIg
MGYwMmI5YjUwOTdmZDliZjVjZjQwY2E9CmI5NDFjM2Q1NzdkMzJjOWU1IHl0L2Zyb250ZW5kcy9l
eG9kdXNpaS9hcGkucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2FwaS5weQorKysgYi95
dC9mcm9udGVuZHMvZXhvZHVzaWkvYXBpLnB5CkBAIC0xLDI0ICsxLDI1IEBACiAiIiIKLUFQSSBm
b3IgeXQuZnJvbnRlbmRzLmV4b2R1c2lpCitBUEkgZm9yIHl0LmZyb250ZW5kcy5fc2tlbGV0b24K
PTIwCj0yMAo9MjAKICIiIgo9MjAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCi0jIENvcHlyaWdo
dCAoYykgMjAxNSwgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMgQ29weXJpZ2h0IChjKSAyMDEzLCB5
dCBEZXZlbG9wbWVudCBUZWFtLgogIwogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgogIwogIyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRo
ZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KICMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tPQotLS0tCisKIGZyb20gLmRhdGFfc3RydWN0dXJlcyBpbXBvcnQgXAot
ICAgICAgRXhvZHVzaWlEYXRhc2V0CisgICAgICBTa2VsZXRvbkdyaWQsIFwKKyAgICAgIFNrZWxl
dG9uSGllcmFyY2h5LCBcCisgICAgICBTa2VsZXRvbkRhdGFzZXQKPTIwCiBmcm9tIC5maWVsZHMg
aW1wb3J0IFwKLSAgICAgIEV4b2R1c2lpRmllbGRJbmZvCisgICAgICBTa2VsZXRvbkZpZWxkSW5m
bwo9MjAKIGZyb20gLmlvIGltcG9ydCBcCi0gICAgICBJT0hhbmRsZXJFeG9kdXNpaQotCi0KKyAg
ICAgIElPSGFuZGxlclNrZWxldG9uCgpkaWZmIC1yIDk4ODI2Mjk2MDZmMWIxMzdjMGMwNmIxZGRk
MjU0NjEzOGVkMjVmOGMgLXIgMGYwMmI5YjUwOTdmZDliZjVjZjQwY2E9CmI5NDFjM2Q1NzdkMzJj
OWU1IHl0L2Zyb250ZW5kcy9leG9kdXNpaS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJv
bnRlbmRzL2V4b2R1c2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhv
ZHVzaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0xLDI1ICsxLDE0MyBAQAogIiIiCi1EYXRhIHN0
cnVjdHVyZXMgZm9yIEV4b2R1c2lpLgorU2tlbGV0b24gZGF0YSBzdHJ1Y3R1cmVzCj0yMAo9MjAK
PTIwCiAiIiIKPTIwCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQotIyBDb3B5cmlnaHQgKGMpIDIw
MTUsIHl0IERldmVsb3BtZW50IFRlYW0uCisjIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxv
cG1lbnQgVGVhbS4KICMKICMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNb2Rp
ZmllZCBCU0QgTGljZW5zZS4KICMKICMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBD
T1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCiAjLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLT0KLS0tLQo9MjAKLWltcG9ydCBzdHJpbmcKLWZyb20gaXRlcnRvb2xzIGltcG9ydCB0
YWtld2hpbGUKLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0Ci1pbXBvcnQgbnVt
cHkgYXMgbnAKLWZyb20geXQuZnVuY3MgaW1wb3J0ICoKLWZyb20gbmV0Q0RGNCBpbXBvcnQgRGF0
YXNldAorZnJvbSB5dC5kYXRhX29iamVjdHMuZ3JpZF9wYXRjaCBpbXBvcnQgXAorICAgIEFNUkdy
aWRQYXRjaAorZnJvbSB5dC5nZW9tZXRyeS5ncmlkX2dlb21ldHJ5X2hhbmRsZXIgaW1wb3J0IFwK
KyAgICBHcmlkSW5kZXgKIGZyb20geXQuZGF0YV9vYmplY3RzLnN0YXRpY19vdXRwdXQgaW1wb3J0
IFwKLSAgICAgICAgICAgRGF0YXNldAotZnJvbSAuZmllbGRzIGltcG9ydCBFeG9kdXNpaUZpZWxk
SW5mbworICAgIERhdGFzZXQKK2Zyb20gLmZpZWxkcyBpbXBvcnQgU2tlbGV0b25GaWVsZEluZm8K
PTIwCitjbGFzcyBTa2VsZXRvbkdyaWQoQU1SR3JpZFBhdGNoKToKKyAgICBfaWRfb2Zmc2V0ID0z
RCAwCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlkLCBpbmRleCwgbGV2ZWwsIHN0YXJ0LCBkaW1l
bnNpb25zKToKKyAgICAgICAgQU1SR3JpZFBhdGNoLl9faW5pdF9fKHNlbGYsIGlkLCBmaWxlbmFt
ZT0zRGluZGV4LmluZGV4X2ZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5kZXg9M0RpbmRleCkKKyAgICAgICAgc2VsZi5QYXJlbnQgPTNEIFtdCisgICAgICAgIHNlbGYu
Q2hpbGRyZW4gPTNEIFtdCisgICAgICAgIHNlbGYuTGV2ZWwgPTNEIGxldmVsCisgICAgICAgIHNl
bGYuc3RhcnRfaW5kZXggPTNEIHN0YXJ0LmNvcHkoKQorICAgICAgICBzZWxmLnN0b3BfaW5kZXgg
PTNEIHNlbGYuc3RhcnRfaW5kZXggKyBkaW1lbnNpb25zCisgICAgICAgIHNlbGYuQWN0aXZlRGlt
ZW5zaW9ucyA9M0QgZGltZW5zaW9ucy5jb3B5KCkKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToK
KyAgICAgICAgcmV0dXJuICJTa2VsZXRvbkdyaWRfJTA0aSAoJXMpIiAlIChzZWxmLmlkLCBzZWxm
LkFjdGl2ZURpbWVuc2lvbnMpCisKK2NsYXNzIFNrZWxldG9uSGllcmFyY2h5KEdyaWRJbmRleCk6
CisgICAgZ3JpZCA9M0QgU2tlbGV0b25HcmlkCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZHMs
IGRhdGFzZXRfdHlwZT0zRCdza2VsZXRvbicpOgorICAgICAgICBzZWxmLmRhdGFzZXRfdHlwZSA9
M0QgZGF0YXNldF90eXBlCisgICAgICAgICMgZm9yIG5vdywgdGhlIGluZGV4IGZpbGUgaXMgdGhl
IGRhdGFzZXQhCisgICAgICAgIHNlbGYuaW5kZXhfZmlsZW5hbWUgPTNEIHNlbGYuZGF0YXNldC5w
YXJhbWV0ZXJfZmlsZW5hbWUKKyAgICAgICAgc2VsZi5kaXJlY3RvcnkgPTNEIG9zLnBhdGguZGly
bmFtZShzZWxmLmluZGV4X2ZpbGVuYW1lKQorICAgICAgICBHcmlkSW5kZXguX19pbml0X18oc2Vs
ZiwgZHMsIGRhdGFzZXRfdHlwZSkKKworICAgIGRlZiBfZGV0ZWN0X291dHB1dF9maWVsZHMoc2Vs
Zik6CisgICAgICAgICMgVGhpcyBuZWVkcyB0byBzZXQgYSBzZWxmLmZpZWxkX2xpc3QgdGhhdCBj
b250YWlucyBhbGwgdGhlIGF2YWlsYT0KYmxlLAorICAgICAgICAjIG9uLWRpc2sgZmllbGRzLgor
ICAgICAgICAjIE5PVEU6IEVhY2ggc2hvdWxkIGJlIGEgdHVwbGUsIHdoZXJlIHRoZSBmaXJzdCBl
bGVtZW50IGlzIHRoZSBvbi09CmRpc2sKKyAgICAgICAgIyBmbHVpZCB0eXBlIG9yIHBhcnRpY2xl
IHR5cGUuICBDb252ZW50aW9uIHN1Z2dlc3RzIHRoYXQgdGhlIG9uLWRpPQpzaworICAgICAgICAj
IGZsdWlkIHR5cGUgaXMgdXN1YWxseSB0aGUgZGF0YXNldF90eXBlIGFuZCB0aGUgb24tZGlzayBw
YXJ0aWNsZSA9CnR5cGUKKyAgICAgICAgIyAoZm9yIGEgc2luZ2xlIHBvcHVsYXRpb24gb2YgcGFy
dGljbGVzKSBpcyAiaW8iLgorICAgICAgICBwYXNzCisKKyAgICBkZWYgX2NvdW50X2dyaWRzKHNl
bGYpOgorICAgICAgICAjIFRoaXMgbmVlZHMgdG8gc2V0IHNlbGYubnVtX2dyaWRzCisgICAgICAg
IHBhc3MKKworICAgIGRlZiBfcGFyc2VfaW5kZXgoc2VsZik6CisgICAgICAgICMgVGhpcyBuZWVk
cyB0byBmaWxsIHRoZSBmb2xsb3dpbmcgYXJyYXlzLCB3aGVyZSBOIGlzIHNlbGYubnVtX2dyaT0K
ZHM6CisgICAgICAgICMgICBzZWxmLmdyaWRfbGVmdF9lZGdlICAgICAgICAgKE4sIDMpIDw9M0Qg
ZmxvYXQ2NAorICAgICAgICAjICAgc2VsZi5ncmlkX3JpZ2h0X2VkZ2UgICAgICAgIChOLCAzKSA8
PTNEIGZsb2F0NjQKKyAgICAgICAgIyAgIHNlbGYuZ3JpZF9kaW1lbnNpb25zICAgICAgICAoTiwg
MykgPD0zRCBpbnQKKyAgICAgICAgIyAgIHNlbGYuZ3JpZF9wYXJ0aWNsZV9jb3VudCAgICAoTiwg
MSkgPD0zRCBpbnQKKyAgICAgICAgIyAgIHNlbGYuZ3JpZF9sZXZlbHMgICAgICAgICAgICAoTiwg
MSkgPD0zRCBpbnQKKyAgICAgICAgIyAgIHNlbGYuZ3JpZHMgICAgICAgICAgICAgICAgICAoTiwg
MSkgPD0zRCBncmlkIG9iamVjdHMKKyAgICAgICAgIworICAgICAgICBwYXNzCisKKyAgICBkZWYg
X3BvcHVsYXRlX2dyaWRfb2JqZWN0cyhzZWxmKToKKyAgICAgICAgIyBGb3IgZWFjaCBncmlkLCB0
aGlzIG11c3QgY2FsbDoKKyAgICAgICAgIyAgIGdyaWQuX3ByZXBhcmVfZ3JpZCgpCisgICAgICAg
ICMgICBncmlkLl9zZXR1cF9keCgpCisgICAgICAgICMgVGhpcyBtdXN0IGFsc28gc2V0OgorICAg
ICAgICAjICAgZ3JpZC5DaGlsZHJlbiA8PTNEIGxpc3Qgb2YgY2hpbGQgZ3JpZHMKKyAgICAgICAg
IyAgIGdyaWQuUGFyZW50ICAgPD0zRCBwYXJlbnQgZ3JpZAorICAgICAgICAjIFRoaXMgaXMgaGFu
ZGxlZCBieSB0aGUgZnJvbnRlbmQgYmVjYXVzZSBvZnRlbiB0aGUgY2hpbGRyZW4gbXVzdCA9CmJl
CisgICAgICAgICMgaWRlbnRpZmllZC4KKyAgICAgICAgcGFzcworCitjbGFzcyBTa2VsZXRvbkRh
dGFzZXQoRGF0YXNldCk6CisgICAgX2luZGV4X2NsYXNzID0zRCBTa2VsZXRvbkhpZXJhcmNoeQor
ICAgIF9maWVsZF9pbmZvX2NsYXNzID0zRCBTa2VsZXRvbkZpZWxkSW5mbworCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0X3R5cGU9M0Qnc2tlbGV0b24nLAorICAgICAg
ICAgICAgICAgICBzdG9yYWdlX2ZpbGVuYW1lPTNETm9uZSwKKyAgICAgICAgICAgICAgICAgdW5p
dHNfb3ZlcnJpZGU9M0ROb25lKToKKyAgICAgICAgc2VsZi5mbHVpZF90eXBlcyArPTNEICgnc2tl
bGV0b24nLCkKKyAgICAgICAgRGF0YXNldC5fX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNl
dF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlPTNEdW5pdHNf
b3ZlcnJpZGUpCisgICAgICAgIHNlbGYuc3RvcmFnZV9maWxlbmFtZSA9M0Qgc3RvcmFnZV9maWxl
bmFtZQorCisgICAgZGVmIF9zZXRfY29kZV91bml0X2F0dHJpYnV0ZXMoc2VsZik6CisgICAgICAg
ICMgVGhpcyBpcyB3aGVyZSBxdWFudGl0aWVzIGFyZSBjcmVhdGVkIHRoYXQgcmVwcmVzZW50IHRo
ZSB2YXJpb3VzCisgICAgICAgICMgb24tZGlzayB1bml0cy4gIFRoZXNlIGFyZSB0aGUgY3VycmVu
dGx5IGF2YWlsYWJsZSBxdWFudGl0aWVzIHdoaT0KY2gKKyAgICAgICAgIyBzaG91bGQgYmUgc2V0
LCBhbG9uZyB3aXRoIGV4YW1wbGVzIG9mIGhvdyB0byBzZXQgdGhlbSB0byBzdGFuZGFyZAorICAg
ICAgICAjIHZhbHVlcy4KKyAgICAgICAgIworICAgICAgICAjIHNlbGYubGVuZ3RoX3VuaXQgPTNE
IHNlbGYucXVhbigxLjAsICJjbSIpCisgICAgICAgICMgc2VsZi5tYXNzX3VuaXQgPTNEIHNlbGYu
cXVhbigxLjAsICJnIikKKyAgICAgICAgIyBzZWxmLnRpbWVfdW5pdCA9M0Qgc2VsZi5xdWFuKDEu
MCwgInMiKQorICAgICAgICAjIHNlbGYudGltZV91bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAicyIp
CisgICAgICAgICMKKyAgICAgICAgIyBUaGVzZSBjYW4gYWxzbyBiZSBzZXQ6CisgICAgICAgICMg
c2VsZi52ZWxvY2l0eV91bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiY20vcyIpCisgICAgICAgICMg
c2VsZi5tYWduZXRpY191bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiZ2F1c3MiKQorICAgICAgICBw
YXNzCisKKyAgICBkZWYgX3BhcnNlX3BhcmFtZXRlcl9maWxlKHNlbGYpOgorICAgICAgICAjIFRo
aXMgbmVlZHMgdG8gc2V0IHVwIHRoZSBmb2xsb3dpbmcgaXRlbXMuICBOb3RlIHRoYXQgdGhlc2Ug
YXJlIGE9CmxsCisgICAgICAgICMgYXNzdW1lZCB0byBiZSBpbiBjb2RlIHVuaXRzOyBkb21haW5f
bGVmdF9lZGdlIGFuZCBkb21haW5fcmlnaHRfZT0KZGdlCisgICAgICAgICMgd2lsbCBiZSB1cGRh
dGVkIHRvIGJlIGluIGNvZGUgdW5pdHMgYXQgYSBsYXRlciB0aW1lLiAgVGhpcyBpbmNsdT0KZGVz
CisgICAgICAgICMgdGhlIGNvc21vbG9naWNhbCBwYXJhbWV0ZXJzLgorICAgICAgICAjCisgICAg
ICAgICMgICBzZWxmLnVuaXF1ZV9pZGVudGlmaWVyCisgICAgICAgICMgICBzZWxmLnBhcmFtZXRl
cnMgICAgICAgICAgICAgPD0zRCBmdWxsIG9mIGNvZGUtc3BlY2lmaWMgaXRlbXMgbz0KZiB1c2UK
KyAgICAgICAgIyAgIHNlbGYuZG9tYWluX2xlZnRfZWRnZSAgICAgICA8PTNEIGFycmF5IG9mIGZs
b2F0NjQKKyAgICAgICAgIyAgIHNlbGYuZG9tYWluX3JpZ2h0X2VkZ2UgICAgICA8PTNEIGFycmF5
IG9mIGZsb2F0NjQKKyAgICAgICAgIyAgIHNlbGYuZGltZW5zaW9uYWxpdHkgICAgICAgICA8PTNE
IGludAorICAgICAgICAjICAgc2VsZi5kb21haW5fZGltZW5zaW9ucyAgICAgIDw9M0QgYXJyYXkg
b2YgaW50NjQKKyAgICAgICAgIyAgIHNlbGYucGVyaW9kaWNpdHkgICAgICAgICAgICA8PTNEIHRo
cmVlLWVsZW1lbnQgdHVwbGUgb2YgYm9vbGVhPQpucworICAgICAgICAjICAgc2VsZi5jdXJyZW50
X3RpbWUgICAgICAgICAgIDw9M0Qgc2ltdWxhdGlvbiB0aW1lIGluIGNvZGUgdW5pdHMKKyAgICAg
ICAgIworICAgICAgICAjIFdlIGFsc28gc2V0IHVwIGNvc21vbG9naWNhbCBpbmZvcm1hdGlvbi4g
IFNldCB0aGVzZSB0byB6ZXJvIGlmCisgICAgICAgICMgbm9uLWNvc21vbG9naWNhbC4KKyAgICAg
ICAgIworICAgICAgICAjICAgc2VsZi5jb3Ntb2xvZ2ljYWxfc2ltdWxhdGlvbiAgICA8PTNEIGlu
dCwgMCBvciAxCisgICAgICAgICMgICBzZWxmLmN1cnJlbnRfcmVkc2hpZnQgICAgICAgICAgIDw9
M0QgZmxvYXQKKyAgICAgICAgIyAgIHNlbGYub21lZ2FfbGFtYmRhICAgICAgICAgICAgICAgPD0z
RCBmbG9hdAorICAgICAgICAjICAgc2VsZi5vbWVnYV9tYXR0ZXIgICAgICAgICAgICAgICA8PTNE
IGZsb2F0CisgICAgICAgICMgICBzZWxmLmh1YmJsZV9jb25zdGFudCAgICAgICAgICAgIDw9M0Qg
ZmxvYXQKKyAgICAgICAgcGFzcworCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9pc192YWxp
ZChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAjIFRoaXMgYWNjZXB0cyBhIGZpbGVu
YW1lIG9yIGEgc2V0IG9mIGFyZ3VtZW50cyBhbmQgcmV0dXJucyBUcnVlIG9yCisgICAgICAgICMg
RmFsc2UgZGVwZW5kaW5nIG9uIGlmIHRoZSBmaWxlIGlzIG9mIHRoZSB0eXBlIHJlcXVlc3RlZC4K
KyAgICAgICAgcmV0dXJuIEZhbHNlCisKKwoKZGlmZiAtciA5ODgyNjI5NjA2ZjFiMTM3YzBjMDZi
MWRkZDI1NDYxMzhlZDI1ZjhjIC1yIDBmMDJiOWI1MDk3ZmQ5YmY1Y2Y0MGNhPQpiOTQxYzNkNTc3
ZDMyYzllNSB5dC9mcm9udGVuZHMvZXhvZHVzaWkvZGVmaW5pdGlvbnMucHkKLS0tIC9kZXYvbnVs
bAorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzaWkvZGVmaW5pdGlvbnMucHkKQEAgLTAsMCArMSwx
IEBACisjIFRoaXMgZmlsZSBpcyBvZnRlbiBlbXB0eS4gIEl0IGNhbiBob2xkIGRlZmluaXRpb25z
IHJlbGF0ZWQgdG8gYSBmcm9udGVuZC4KCmRpZmYgLXIgOTg4MjYyOTYwNmYxYjEzN2MwYzA2YjFk
ZGQyNTQ2MTM4ZWQyNWY4YyAtciAwZjAyYjliNTA5N2ZkOWJmNWNmNDBjYT0KYjk0MWMzZDU3N2Qz
MmM5ZTUgeXQvZnJvbnRlbmRzL2V4b2R1c2lpL2ZpZWxkcy5weQotLS0gL2Rldi9udWxsCisrKyBi
L3l0L2Zyb250ZW5kcy9leG9kdXNpaS9maWVsZHMucHkKQEAgLTAsMCArMSw0NyBAQAorIiIiCitT
a2VsZXRvbi1zcGVjaWZpYyBmaWVsZHMKKworCisKKyIiIgorCisjLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0K
LS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTMsIHl0IERldmVsb3BtZW50IFRlYW0uCisjCisjIERp
c3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTW9kaWZpZWQgQlNEIExpY2Vuc2UuCisj
CisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1
dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KKworaW1w
b3J0IG51bXB5IGFzIG5wCitmcm9tIHl0LmZ1bmNzIGltcG9ydCBteWxvZworZnJvbSB5dC5maWVs
ZHMuZmllbGRfaW5mb19jb250YWluZXIgaW1wb3J0IFwKKyAgICBGaWVsZEluZm9Db250YWluZXIK
KworIyBXZSBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZmllbGRzIHdlIG1pZ2h0IGhhdmUgaW4gb3Vy
IGRhdGFzZXQuICBUaGUgZmllbGQ9CiBpbmZvCisjIGNvbnRhaW5lciBzdWJjbGFzcyBoZXJlIHdp
bGwgZGVmaW5lIHdoaWNoIGZpZWxkcyBpdCBrbm93cyBhYm91dC4gIFRoZXJlID0KYXJlCisjIG9w
dGlvbmFsbHkgbWV0aG9kcyBvbiBpdCB0aGF0IGdldCBjYWxsZWQgd2hpY2ggY2FuIGJlIHN1YmNs
YXNzZWQuCisKK2NsYXNzIFNrZWxldG9uRmllbGRJbmZvKEZpZWxkSW5mb0NvbnRhaW5lcik6Cisg
ICAga25vd25fb3RoZXJfZmllbGRzID0zRCAoCisgICAgICAgICMgRWFjaCBlbnRyeSBoZXJlIGlz
IG9mIHRoZSBmb3JtCisgICAgICAgICMgKCAibmFtZSIsICgidW5pdHMiLCBbImZpZWxkcyIsICJ0
byIsICJhbGlhcyJdLCAjICJkaXNwbGF5X25hbWUiKT0KKSwKKyAgICApCisKKyAgICBrbm93bl9w
YXJ0aWNsZV9maWVsZHMgPTNEICgKKyAgICAgICAgIyBJZGVudGljYWwgZm9ybSB0byBhYm92ZQor
ICAgICAgICAjICggIm5hbWUiLCAoInVuaXRzIiwgWyJmaWVsZHMiLCAidG8iLCAiYWxpYXMiXSwg
IyAiZGlzcGxheV9uYW1lIik9CiksCisgICAgKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRz
KToKKyAgICAgICAgc3VwZXIoU2tlbGV0b25GaWVsZEluZm8sIHNlbGYpLl9faW5pdF9fKGRzKQor
ICAgICAgICAjIElmIHlvdSB3YW50LCB5b3UgY2FuIGNoZWNrIHNlbGYuZmllbGRfbGlzdAorCisg
ICAgZGVmIHNldHVwX2ZsdWlkX2ZpZWxkcyhzZWxmKToKKyAgICAgICAgIyBIZXJlIHdlIGRvIGFu
eXRoaW5nIHRoYXQgbWlnaHQgbmVlZCBpbmZvIGFib3V0IHRoZSBkYXRhc2V0LgorICAgICAgICAj
IFlvdSBjYW4gdXNlIHNlbGYuYWxpYXMsIHNlbGYuYWRkX291dHB1dF9maWVsZCBhbmQgc2VsZi5h
ZGRfZmllbGQ9CiAuCisgICAgICAgIHBhc3MKKworICAgIGRlZiBzZXR1cF9wYXJ0aWNsZV9maWVs
ZHMoc2VsZiwgcHR5cGUpOgorICAgICAgICAjIFRoaXMgd2lsbCBnZXQgY2FsbGVkIGZvciBldmVy
eSBwYXJ0aWNsZSB0eXBlLgorICAgICAgICBwYXNzCgpkaWZmIC1yIDk4ODI2Mjk2MDZmMWIxMzdj
MGMwNmIxZGRkMjU0NjEzOGVkMjVmOGMgLXIgMGYwMmI5YjUwOTdmZDliZjVjZjQwY2E9CmI5NDFj
M2Q1NzdkMzJjOWU1IHl0L2Zyb250ZW5kcy9leG9kdXNpaS9pby5weQotLS0gL2Rldi9udWxsCisr
KyBiL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9pby5weQpAQCAtMCwwICsxLDUwIEBACisiIiIKK1Nr
ZWxldG9uLXNwZWNpZmljIElPIGZ1bmN0aW9ucworCisKKworIiIiCisKKyMtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tPQotLS0tCisjIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMK
KyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNb2RpZmllZCBCU0QgTGljZW5z
ZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlz
dHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQor
Citmcm9tIHl0LnV0aWxpdGllcy5pb19oYW5kbGVyIGltcG9ydCBcCisgICAgQmFzZUlPSGFuZGxl
cgorCitjbGFzcyBJT0hhbmRsZXJTa2VsZXRvbihCYXNlSU9IYW5kbGVyKToKKyAgICBfcGFydGlj
bGVfcmVhZGVyID0zRCBGYWxzZQorICAgIF9kYXRhc2V0X3R5cGUgPTNEICJza2VsZXRvbiIKKwor
ICAgIGRlZiBfcmVhZF9wYXJ0aWNsZV9jb29yZHMoc2VsZiwgY2h1bmtzLCBwdGYpOgorICAgICAg
ICAjIFRoaXMgbmVlZHMgdG8gKnlpZWxkKiBhIHNlcmllcyBvZiB0dXBsZXMgb2YgKHB0eXBlLCAo
eCwgeSwgeikpLgorICAgICAgICAjIGNodW5rcyBpcyBhIGxpc3Qgb2YgY2h1bmtzLCBhbmQgcHRm
IGlzIGEgZGljdCB3aGVyZSB0aGUga2V5cyBhcmUKKyAgICAgICAgIyBwdHlwZXMgYW5kIHRoZSB2
YWx1ZXMgYXJlIGxpc3RzIG9mIGZpZWxkcy4KKyAgICAgICAgcGFzcworCisgICAgZGVmIF9yZWFk
X3BhcnRpY2xlX2ZpZWxkcyhzZWxmLCBjaHVua3MsIHB0Ziwgc2VsZWN0b3IpOgorICAgICAgICAj
IFRoaXMgZ2V0cyBjYWxsZWQgYWZ0ZXIgdGhlIGFycmF5cyBoYXZlIGJlZW4gYWxsb2NhdGVkLiAg
SXQgbmVlZHM9CiB0bworICAgICAgICAjIHlpZWxkICgocHR5cGUsIGZpZWxkKSwgZGF0YSkgd2hl
cmUgZGF0YSBpcyB0aGUgbWFza2VkIHJlc3VsdHMgb2YKKyAgICAgICAgIyByZWFkaW5nIHB0eXBl
LCBmaWVsZCBhbmQgYXBwbHlpbmcgdGhlIHNlbGVjdG9yIHRvIHRoZSBkYXRhIHJlYWQgPQppbi4K
KyAgICAgICAgIyBTZWxlY3RvciBvYmplY3RzIGhhdmUgYSAuc2VsZWN0X3BvaW50cyh4LHkseikg
dGhhdCByZXR1cm5zIGEgbWFzPQprLCBzbworICAgICAgICAjIHlvdSBuZWVkIHRvIGRvIHlvdXIg
bWFza2luZyBoZXJlLgorICAgICAgICBwYXNzCisKKworICAgIGRlZiBfcmVhZF9mbHVpZF9zZWxl
Y3Rpb24oc2VsZiwgY2h1bmtzLCBzZWxlY3RvciwgZmllbGRzLCBzaXplKToKKyAgICAgICAgIyBU
aGlzIG5lZWRzIHRvIGFsbG9jYXRlIGEgc2V0IG9mIGFycmF5cyBpbnNpZGUgYSBkaWN0aW9uYXJ5
LCB3aGVyPQplIHRoZQorICAgICAgICAjIGtleXMgYXJlIHRoZSAoZnR5cGUsIGZuYW1lKSB0dXBs
ZXMgYW5kIHRoZSB2YWx1ZXMgYXJlIGFycmF5cyB0aGF0CisgICAgICAgICMgaGF2ZSBiZWVuIG1h
c2tlZCB1c2luZyB3aGF0ZXZlciBzZWxlY3RvciBtZXRob2QgaXMgYXBwcm9wcmlhdGUuID0KIFRo
ZQorICAgICAgICAjIGRpY3QgZ2V0cyByZXR1cm5lZCBhdCB0aGUgZW5kIGFuZCBpdCBzaG91bGQg
YmUgZmxhdCwgd2l0aCBzZWxlY3Q9CmVkCisgICAgICAgICMgZGF0YS4gIE5vdGUgdGhhdCBpZiB5
b3UncmUgcmVhZGluZyBncmlkIGRhdGEsIHlvdSBtaWdodCBuZWVkIHRvCisgICAgICAgICMgc3Bl
Y2lhbC1jYXNlIGEgZ3JpZCBzZWxlY3RvciBvYmplY3QuCisgICAgICAgIHBhc3MKKworICAgIGRl
ZiBfcmVhZF9jaHVua19kYXRhKHNlbGYsIGNodW5rLCBmaWVsZHMpOgorICAgICAgICAjIFRoaXMg
cmVhZHMgdGhlIGRhdGEgZnJvbSBhIHNpbmdsZSBjaHVuaywgYW5kIGlzIG9ubHkgdXNlZCBmb3IK
KyAgICAgICAgIyBjYWNoaW5nLgorICAgICAgICBwYXNzCgpkaWZmIC1yIDk4ODI2Mjk2MDZmMWIx
MzdjMGMwNmIxZGRkMjU0NjEzOGVkMjVmOGMgLXIgMGYwMmI5YjUwOTdmZDliZjVjZjQwY2E9CmI5
NDFjM2Q1NzdkMzJjOWU1IHl0L2Zyb250ZW5kcy9leG9kdXNpaS9zZXR1cC5weQotLS0gL2Rldi9u
dWxsCisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9zZXR1cC5weQpAQCAtMCwwICsxLDEzIEBA
CisjIS91c3IvYmluL2VudiBweXRob24KK2ltcG9ydCBzZXR1cHRvb2xzCitpbXBvcnQgb3MKK2lt
cG9ydCBzeXMKK2ltcG9ydCBvcy5wYXRoCisKKworZGVmIGNvbmZpZ3VyYXRpb24ocGFyZW50X3Bh
Y2thZ2U9M0QnJywgdG9wX3BhdGg9M0ROb25lKToKKyAgICBmcm9tIG51bXB5LmRpc3R1dGlscy5t
aXNjX3V0aWwgaW1wb3J0IENvbmZpZ3VyYXRpb24KKyAgICBjb25maWcgPTNEIENvbmZpZ3VyYXRp
b24oJ3NrZWxldG9uJywgcGFyZW50X3BhY2thZ2UsIHRvcF9wYXRoKQorICAgIGNvbmZpZy5tYWtl
X2NvbmZpZ19weSgpICAjIGluc3RhbGxzIF9fY29uZmlnX18ucHkKKyAgICAjY29uZmlnLm1ha2Vf
c3ZuX3ZlcnNpb25fcHkoKQorICAgIHJldHVybiBjb25maWcKCmRpZmYgLXIgOTg4MjYyOTYwNmYx
YjEzN2MwYzA2YjFkZGQyNTQ2MTM4ZWQyNWY4YyAtciAwZjAyYjliNTA5N2ZkOWJmNWNmNDBjYT0K
Yjk0MWMzZDU3N2QzMmM5ZTUgeXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMu
cHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eAorKysg
Yi95dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKQEAgLTQ1Niw2ICs0
NTYsNyBAQAogICAgICMgQWxsb2NhdGUgc3Vicm91dGluZQogICAgICMjIEFsbG9jYXRlIHNpZ25z
IGFycmF5CiAgICAgc2lnbnMgPTNEIDxucC5pbnQ4X3QgKj4gYWxsb2NhKHNpemVvZihucC5pbnQ4
X3QpICogbmYpCisKICAgICAjIyBBbGxvY2F0ZSB2ZXJ0aWNlcyBwb2ludGVyIGFycmF5CiAgICAg
dmVydGljZXMgPTNEIDxucC5mbG9hdDY0X3QgKio+IGFsbG9jYShzaXplb2YobnAuZmxvYXQ2NF90
ICopICogbnZlcnRpYz0KZXMpCiAgICAgZm9yIGkgaW4gcmFuZ2UobnZlcnRpY2VzKToKCgpodHRw
czovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy85ZTVhM2M5NTIwNzkvCkNo
YW5nZXNldDogICA5ZTVhM2M5NTIwNzkKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ry
b2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDYtMDkgMTU6NTg6MjcrMDA6MDAKU3VtbWFyeTogICAg
IFJlbmFtZSBza2VsZXRvbiBjbGFzc2VzIHRvIEV4b2R1c0lJLgpBZmZlY3RlZCAjOiAgNiBmaWxl
cwoKZGlmZiAtciAwZjAyYjliNTA5N2ZkOWJmNWNmNDBjYWI5NDFjM2Q1NzdkMzJjOWU1IC1yIDll
NWEzYzk1MjA3OTVmNTk0M2EyZWMxPQowM2Q4ZDQ2MGY0ZTE2MTNiMCB5dC9mcm9udGVuZHMvZXhv
ZHVzaWkvX19pbml0X18ucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c2lpL19faW5pdF9fLnB5
CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9fX2luaXRfXy5weQpAQCAtMSw1ICsxLDUgQEAK
ICIiIgotQVBJIGZvciB5dC5mcm9udGVuZHMuc2tlbGV0b24KK0FQSSBmb3IgeXQuZnJvbnRlbmRz
LmV4b2R1c2lpCj0yMAo9MjAKPTIwCgpkaWZmIC1yIDBmMDJiOWI1MDk3ZmQ5YmY1Y2Y0MGNhYjk0
MWMzZDU3N2QzMmM5ZTUgLXIgOWU1YTNjOTUyMDc5NWY1OTQzYTJlYzE9CjAzZDhkNDYwZjRlMTYx
M2IwIHl0L2Zyb250ZW5kcy9leG9kdXNpaS9hcGkucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1
c2lpL2FwaS5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzaWkvYXBpLnB5CkBAIC0xLDEyICsx
LDEyIEBACiAiIiIKLUFQSSBmb3IgeXQuZnJvbnRlbmRzLl9za2VsZXRvbgorQVBJIGZvciB5dC5m
cm9udGVuZHMuZXhvZHVzaWkKPTIwCj0yMAo9MjAKICIiIgo9MjAKICMtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
PQotLS0tCi0jIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMgQ29w
eXJpZ2h0IChjKSAyMDE1LCB5dCBEZXZlbG9wbWVudCBUZWFtLgogIwogIyBEaXN0cmlidXRlZCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgogIwpAQCAtMTQsMTIg
KzE0LDEyIEBACiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQo9MjAKIGZyb20gLmRhdGFfc3RydWN0
dXJlcyBpbXBvcnQgXAotICAgICAgU2tlbGV0b25HcmlkLCBcCi0gICAgICBTa2VsZXRvbkhpZXJh
cmNoeSwgXAotICAgICAgU2tlbGV0b25EYXRhc2V0CisgICAgICBFeG9kdXNJSUdyaWQsIFwKKyAg
ICAgIEV4b2R1c0lJSGllcmFyY2h5LCBcCisgICAgICBFeG9kdXNJSURhdGFzZXQKPTIwCiBmcm9t
IC5maWVsZHMgaW1wb3J0IFwKLSAgICAgIFNrZWxldG9uRmllbGRJbmZvCisgICAgICBFeG9kdXNJ
SUZpZWxkSW5mbwo9MjAKIGZyb20gLmlvIGltcG9ydCBcCi0gICAgICBJT0hhbmRsZXJTa2VsZXRv
bgorICAgICAgSU9IYW5kbGVyRXhvZHVzSUkKCmRpZmYgLXIgMGYwMmI5YjUwOTdmZDliZjVjZjQw
Y2FiOTQxYzNkNTc3ZDMyYzllNSAtciA5ZTVhM2M5NTIwNzk1ZjU5NDNhMmVjMT0KMDNkOGQ0NjBm
NGUxNjEzYjAgeXQvZnJvbnRlbmRzL2V4b2R1c2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95
dC9mcm9udGVuZHMvZXhvZHVzaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5k
cy9leG9kdXNpaS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTEsNSArMSw1IEBACiAiIiIKLVNrZWxl
dG9uIGRhdGEgc3RydWN0dXJlcworRXhvZHVzSUkgZGF0YSBzdHJ1Y3R1cmVzCj0yMAo9MjAKPTIw
CkBAIC0xOSw5ICsxOSw5IEBACiAgICAgR3JpZEluZGV4CiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5z
dGF0aWNfb3V0cHV0IGltcG9ydCBcCiAgICAgRGF0YXNldAotZnJvbSAuZmllbGRzIGltcG9ydCBT
a2VsZXRvbkZpZWxkSW5mbworZnJvbSAuZmllbGRzIGltcG9ydCBFeG9kdXNJSUZpZWxkSW5mbwo9
MjAKLWNsYXNzIFNrZWxldG9uR3JpZChBTVJHcmlkUGF0Y2gpOgorY2xhc3MgRXhvZHVzSUlHcmlk
KEFNUkdyaWRQYXRjaCk6CiAgICAgX2lkX29mZnNldCA9M0QgMAogICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBpZCwgaW5kZXgsIGxldmVsLCBzdGFydCwgZGltZW5zaW9ucyk6CiAgICAgICAgIEFNUkdy
aWRQYXRjaC5fX2luaXRfXyhzZWxmLCBpZCwgZmlsZW5hbWU9M0RpbmRleC5pbmRleF9maWxlbmFt
ZSwKQEAgLTM0LDEyICszNCwxMiBAQAogICAgICAgICBzZWxmLkFjdGl2ZURpbWVuc2lvbnMgPTNE
IGRpbWVuc2lvbnMuY29weSgpCj0yMAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAg
cmV0dXJuICJTa2VsZXRvbkdyaWRfJTA0aSAoJXMpIiAlIChzZWxmLmlkLCBzZWxmLkFjdGl2ZURp
bWVuc2lvbnMpCisgICAgICAgIHJldHVybiAiRXhvZHVzSUlHcmlkXyUwNGkgKCVzKSIgJSAoc2Vs
Zi5pZCwgc2VsZi5BY3RpdmVEaW1lbnNpb25zKQo9MjAKLWNsYXNzIFNrZWxldG9uSGllcmFyY2h5
KEdyaWRJbmRleCk6Ci0gICAgZ3JpZCA9M0QgU2tlbGV0b25HcmlkCitjbGFzcyBFeG9kdXNJSUhp
ZXJhcmNoeShHcmlkSW5kZXgpOgorICAgIGdyaWQgPTNEIEV4b2R1c0lJR3JpZAo9MjAKLSAgICBk
ZWYgX19pbml0X18oc2VsZiwgZHMsIGRhdGFzZXRfdHlwZT0zRCdza2VsZXRvbicpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBkcywgZGF0YXNldF90eXBlPTNEJ2V4b2R1c2lpJyk6CiAgICAgICAg
IHNlbGYuZGF0YXNldF90eXBlID0zRCBkYXRhc2V0X3R5cGUKICAgICAgICAgIyBmb3Igbm93LCB0
aGUgaW5kZXggZmlsZSBpcyB0aGUgZGF0YXNldCEKICAgICAgICAgc2VsZi5pbmRleF9maWxlbmFt
ZSA9M0Qgc2VsZi5kYXRhc2V0LnBhcmFtZXRlcl9maWxlbmFtZQpAQCAtODEsMTQgKzgxLDE0IEBA
CiAgICAgICAgICMgaWRlbnRpZmllZC4KICAgICAgICAgcGFzcwo9MjAKLWNsYXNzIFNrZWxldG9u
RGF0YXNldChEYXRhc2V0KToKLSAgICBfaW5kZXhfY2xhc3MgPTNEIFNrZWxldG9uSGllcmFyY2h5
Ci0gICAgX2ZpZWxkX2luZm9fY2xhc3MgPTNEIFNrZWxldG9uRmllbGRJbmZvCitjbGFzcyBFeG9k
dXNJSURhdGFzZXQoRGF0YXNldCk6CisgICAgX2luZGV4X2NsYXNzID0zRCBFeG9kdXNJSUhpZXJh
cmNoeQorICAgIF9maWVsZF9pbmZvX2NsYXNzID0zRCBFeG9kdXNJSUZpZWxkSW5mbwo9MjAKLSAg
ICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGRhdGFzZXRfdHlwZT0zRCdza2VsZXRvbics
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0X3R5cGU9M0QnZXhvZHVz
aWknLAogICAgICAgICAgICAgICAgICBzdG9yYWdlX2ZpbGVuYW1lPTNETm9uZSwKICAgICAgICAg
ICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0ROb25lKToKLSAgICAgICAgc2VsZi5mbHVpZF90eXBl
cyArPTNEICgnc2tlbGV0b24nLCkKKyAgICAgICAgc2VsZi5mbHVpZF90eXBlcyArPTNEICgnZXhv
ZHVzaWknLCkKICAgICAgICAgRGF0YXNldC5fX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNl
dF90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlPTNEdW5pdHNf
b3ZlcnJpZGUpCiAgICAgICAgIHNlbGYuc3RvcmFnZV9maWxlbmFtZSA9M0Qgc3RvcmFnZV9maWxl
bmFtZQoKZGlmZiAtciAwZjAyYjliNTA5N2ZkOWJmNWNmNDBjYWI5NDFjM2Q1NzdkMzJjOWU1IC1y
IDllNWEzYzk1MjA3OTVmNTk0M2EyZWMxPQowM2Q4ZDQ2MGY0ZTE2MTNiMCB5dC9mcm9udGVuZHMv
ZXhvZHVzaWkvZmllbGRzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9maWVsZHMucHkK
KysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2ZpZWxkcy5weQpAQCAtMSw1ICsxLDUgQEAKICIi
IgotU2tlbGV0b24tc3BlY2lmaWMgZmllbGRzCitFeG9kdXNJSS1zcGVjaWZpYyBmaWVsZHMKPTIw
Cj0yMAo9MjAKQEAgLTIyLDcgKzIyLDcgQEAKICMgY29udGFpbmVyIHN1YmNsYXNzIGhlcmUgd2ls
bCBkZWZpbmUgd2hpY2ggZmllbGRzIGl0IGtub3dzIGFib3V0LiAgVGhlcmUgPQphcmUKICMgb3B0
aW9uYWxseSBtZXRob2RzIG9uIGl0IHRoYXQgZ2V0IGNhbGxlZCB3aGljaCBjYW4gYmUgc3ViY2xh
c3NlZC4KPTIwCi1jbGFzcyBTa2VsZXRvbkZpZWxkSW5mbyhGaWVsZEluZm9Db250YWluZXIpOgor
Y2xhc3MgRXhvZHVzSUlGaWVsZEluZm8oRmllbGRJbmZvQ29udGFpbmVyKToKICAgICBrbm93bl9v
dGhlcl9maWVsZHMgPTNEICgKICAgICAgICAgIyBFYWNoIGVudHJ5IGhlcmUgaXMgb2YgdGhlIGZv
cm0KICAgICAgICAgIyAoICJuYW1lIiwgKCJ1bml0cyIsIFsiZmllbGRzIiwgInRvIiwgImFsaWFz
Il0sICMgImRpc3BsYXlfbmFtZSIpPQopLApAQCAtMzQsNyArMzQsNyBAQAogICAgICkKPTIwCiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzKToKLSAgICAgICAgc3VwZXIoU2tlbGV0b25GaWVsZElu
Zm8sIHNlbGYpLl9faW5pdF9fKGRzKQorICAgICAgICBzdXBlcihFeG9kdXNJSUZpZWxkSW5mbywg
c2VsZikuX19pbml0X18oZHMpCiAgICAgICAgICMgSWYgeW91IHdhbnQsIHlvdSBjYW4gY2hlY2sg
c2VsZi5maWVsZF9saXN0Cj0yMAogICAgIGRlZiBzZXR1cF9mbHVpZF9maWVsZHMoc2VsZik6Cgpk
aWZmIC1yIDBmMDJiOWI1MDk3ZmQ5YmY1Y2Y0MGNhYjk0MWMzZDU3N2QzMmM5ZTUgLXIgOWU1YTNj
OTUyMDc5NWY1OTQzYTJlYzE9CjAzZDhkNDYwZjRlMTYxM2IwIHl0L2Zyb250ZW5kcy9leG9kdXNp
aS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzaWkvaW8ucHkKKysrIGIveXQvZnJvbnRl
bmRzL2V4b2R1c2lpL2lvLnB5CkBAIC0xLDEyICsxLDEyIEBACiAiIiIKLVNrZWxldG9uLXNwZWNp
ZmljIElPIGZ1bmN0aW9ucworRXhvZHVzSUktc3BlY2lmaWMgSU8gZnVuY3Rpb25zCj0yMAo9MjAK
PTIwCiAiIiIKPTIwCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQotIyBDb3B5cmlnaHQgKGMpIDIw
MTMsIHl0IERldmVsb3BtZW50IFRlYW0uCisjIENvcHlyaWdodCAoYykgMjAxNSwgeXQgRGV2ZWxv
cG1lbnQgVGVhbS4KICMKICMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNb2Rp
ZmllZCBCU0QgTGljZW5zZS4KICMKQEAgLTE2LDkgKzE2LDkgQEAKIGZyb20geXQudXRpbGl0aWVz
LmlvX2hhbmRsZXIgaW1wb3J0IFwKICAgICBCYXNlSU9IYW5kbGVyCj0yMAotY2xhc3MgSU9IYW5k
bGVyU2tlbGV0b24oQmFzZUlPSGFuZGxlcik6CitjbGFzcyBJT0hhbmRsZXJFeG9kdXNJSShCYXNl
SU9IYW5kbGVyKToKICAgICBfcGFydGljbGVfcmVhZGVyID0zRCBGYWxzZQotICAgIF9kYXRhc2V0
X3R5cGUgPTNEICJza2VsZXRvbiIKKyAgICBfZGF0YXNldF90eXBlID0zRCAiZXhvZHVzaWkiCj0y
MAogICAgIGRlZiBfcmVhZF9wYXJ0aWNsZV9jb29yZHMoc2VsZiwgY2h1bmtzLCBwdGYpOgogICAg
ICAgICAjIFRoaXMgbmVlZHMgdG8gKnlpZWxkKiBhIHNlcmllcyBvZiB0dXBsZXMgb2YgKHB0eXBl
LCAoeCwgeSwgeikpLgoKZGlmZiAtciAwZjAyYjliNTA5N2ZkOWJmNWNmNDBjYWI5NDFjM2Q1Nzdk
MzJjOWU1IC1yIDllNWEzYzk1MjA3OTVmNTk0M2EyZWMxPQowM2Q4ZDQ2MGY0ZTE2MTNiMCB5dC9m
cm9udGVuZHMvZXhvZHVzaWkvc2V0dXAucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c2lpL3Nl
dHVwLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9zZXR1cC5weQpAQCAtNyw3ICs3LDcg
QEAKPTIwCiBkZWYgY29uZmlndXJhdGlvbihwYXJlbnRfcGFja2FnZT0zRCcnLCB0b3BfcGF0aD0z
RE5vbmUpOgogICAgIGZyb20gbnVtcHkuZGlzdHV0aWxzLm1pc2NfdXRpbCBpbXBvcnQgQ29uZmln
dXJhdGlvbgotICAgIGNvbmZpZyA9M0QgQ29uZmlndXJhdGlvbignc2tlbGV0b24nLCBwYXJlbnRf
cGFja2FnZSwgdG9wX3BhdGgpCisgICAgY29uZmlnID0zRCBDb25maWd1cmF0aW9uKCdleG9kdXNp
aScsIHBhcmVudF9wYWNrYWdlLCB0b3BfcGF0aCkKICAgICBjb25maWcubWFrZV9jb25maWdfcHko
KSAgIyBpbnN0YWxscyBfX2NvbmZpZ19fLnB5CiAgICAgI2NvbmZpZy5tYWtlX3N2bl92ZXJzaW9u
X3B5KCkKICAgICByZXR1cm4gY29uZmlnCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5
c2lzL3l0L2NvbW1pdHMvNDA3ZmE5ODNhMDc5LwpDaGFuZ2VzZXQ6ICAgNDA3ZmE5ODNhMDc5CkJy
YW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2
LTA5IDE1OjU5OjMyKzAwOjAwClN1bW1hcnk6ICAgICBVcGRhdGUKQWZmZWN0ZWQgIzogIDEgZmls
ZQoKZGlmZiAtciA5ZTVhM2M5NTIwNzk1ZjU5NDNhMmVjMTAzZDhkNDYwZjRlMTYxM2IwIC1yIDQw
N2ZhOTgzYTA3OTBkZjY3OGY5YzdiPQo0ODc0YmM2ZmVhOGM3OTljZSB5dC9mcm9udGVuZHMvZXhv
ZHVzaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9kYXRh
X3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2RhdGFfc3RydWN0dXJl
cy5weQpAQCAtNiw3ICs2LDcgQEAKICIiIgo9MjAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCi0j
IENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMgQ29weXJpZ2h0IChj
KSAyMDE1LCB5dCBEZXZlbG9wbWVudCBUZWFtLgogIwogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgogIwoKCmh0dHBzOi8vYml0YnVja2V0
Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzRlZmZkMjI5MDAxNi8KQ2hhbmdlc2V0OiAgIDRl
ZmZkMjI5MDAxNgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAg
ICAgICAgMjAxNS0wNi0xMSAwNDowODowOSswMDowMApTdW1tYXJ5OiAgICAgVXBkYXRlIGxvY2Fs
CkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIGIzMzkyYWE2NDk4NDNjZjIyMGRjNzcwODc2
NjlmNzdhZWExY2E2M2MgLXIgNGVmZmQyMjkwMDE2NjEzNTYyY2NmODA9CjhjMzUxODM2NDhkZDI4
YTVjIGRvYy9zb3VyY2UvcXVpY2tzdGFydC8xKV9JbnRyb2R1Y3Rpb24uaXB5bmIKLS0tIGEvZG9j
L3NvdXJjZS9xdWlja3N0YXJ0LzEpX0ludHJvZHVjdGlvbi5pcHluYgorKysgYi9kb2Mvc291cmNl
L3F1aWNrc3RhcnQvMSlfSW50cm9kdWN0aW9uLmlweW5iCkBAIC0xLDcgKzEsNyBAQAogewogICJt
ZXRhZGF0YSI6IHsKICAgIm5hbWUiOiAiIiwKLSAgInNpZ25hdHVyZSI6ICJzaGEyNTY6NTlkNGY0
NTQyMTg0MTU2ODliZWY0M2Q0NWRmY2Q1OWJmOTkxM2NmYmViNDE2ZWZhNTk2PQpmYTk5ZmY1YzQ0
ODU2IgorICAic2lnbmF0dXJlIjogInNoYTI1Njo2Nzg3ZmNhMzViYjlkZGJkYWQ2ZGI3NWU2MjYw
MTEwNzQwZjQ0M2I1ZmY0NzE0MzNjYzU9CjdmZGEyOGMwODZhNjQiCiAgfSwKICAibmJmb3JtYXQi
OiAzLAogICJuYmZvcm1hdF9taW5vciI6IDAsCkBAIC02Myw2ICs2Myw0NCBAQAogICAgICBdLAog
ICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKICAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJv
dXRwdXRzIjogWworICAgICAgeworICAgICAgICJvdXRwdXRfdHlwZSI6ICJzdHJlYW0iLAorICAg
ICAgICJzdHJlYW0iOiAic3Rkb3V0IiwKKyAgICAgICAidGV4dCI6IFsKKyAgICAgICAgIkdvdCBl
bnpvX3RpbnlfY29zbW9sb2d5XG4iCisgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAg
ICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKKyAgICAgICAic3RyZWFtIjogInN0ZG91dCIsCisg
ICAgICAgInRleHQiOiBbCisgICAgICAgICJHb3QgRW56b182NFxuIgorICAgICAgIF0KKyAgICAg
IH0sCisgICAgICB7CisgICAgICAgIm91dHB1dF90eXBlIjogInN0cmVhbSIsCisgICAgICAgInN0
cmVhbSI6ICJzdGRvdXQiLAorICAgICAgICJ0ZXh0IjogWworICAgICAgICAiR290IElzb2xhdGVk
R2FsYXh5XG4iCisgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAib3V0cHV0X3R5
cGUiOiAic3RyZWFtIiwKKyAgICAgICAic3RyZWFtIjogInN0ZG91dCIsCisgICAgICAgInRleHQi
OiBbCisgICAgICAgICJBbGwgZG9uZSFcbiIKKyAgICAgICBdCisgICAgICB9CisgICAgIF0sCisg
ICAgICJwcm9tcHRfbnVtYmVyIjogMgorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjog
ImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6IFtdLAorICAg
ICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCiAgICAgICJvdXRw
dXRzIjogW10KICAgICB9CiAgICBdLAoKZGlmZiAtciBiMzM5MmFhNjQ5ODQzY2YyMjBkYzc3MDg3
NjY5Zjc3YWVhMWNhNjNjIC1yIDRlZmZkMjI5MDAxNjYxMzU2MmNjZjgwPQo4YzM1MTgzNjQ4ZGQy
OGE1YyBkb2Mvc291cmNlL3F1aWNrc3RhcnQvMilfRGF0YV9JbnNwZWN0aW9uLmlweW5iCi0tLSBh
L2RvYy9zb3VyY2UvcXVpY2tzdGFydC8yKV9EYXRhX0luc3BlY3Rpb24uaXB5bmIKKysrIGIvZG9j
L3NvdXJjZS9xdWlja3N0YXJ0LzIpX0RhdGFfSW5zcGVjdGlvbi5pcHluYgpAQCAtMSw3ICsxLDcg
QEAKIHsKICAibWV0YWRhdGEiOiB7CiAgICJuYW1lIjogIiIsCi0gICJzaWduYXR1cmUiOiAic2hh
MjU2OmE4ZmU3ODcxNWMxZjM5MDBjMzdjNjc1ZDg0MzIwZmU2NWYwYmE4NzM0YWJiYTYwZmQxMj0K
ZTc0ZDk1N2U1ZDhlZSIKKyAgInNpZ25hdHVyZSI6ICJzaGEyNTY6YWE3MWRiMTJhMTMxZjBjMzEz
NzJhYmQ2NzY1ZTI4ZDY1ZDNhYzgzMTk2MjE1MGNmMjEwPQo3MTUwYzFkMjA1N2I5IgogIH0sCiAg
Im5iZm9ybWF0IjogMywKICAibmJmb3JtYXRfbWlub3IiOiAwLApAQCAtMjUsNyArMjUsOCBAQAog
ICAgICBdLAogICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKICAgICAgIm1ldGFkYXRhIjoge30s
Ci0gICAgICJvdXRwdXRzIjogW10KKyAgICAgIm91dHB1dHMiOiBbXSwKKyAgICAgInByb21wdF9u
dW1iZXIiOiAxCiAgICAgfSwKICAgICB7CiAgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLApA
QCAtNDIsNyArNDMsNDQgQEAKICAgICAgXSwKICAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCiAg
ICAgICJtZXRhZGF0YSI6IHt9LAotICAgICAib3V0cHV0cyI6IFtdCisgICAgICJvdXRwdXRzIjog
WworICAgICAgeworICAgICAgICJvdXRwdXRfdHlwZSI6ICJzdHJlYW0iLAorICAgICAgICJzdHJl
YW0iOiAic3RkZXJyIiwKKyAgICAgICAidGV4dCI6IFsKKyAgICAgICAgInl0IDogW0lORk8gICAg
IF0gMjAxNS0wNi0wNSAxNTo1NjowOSw5NjEgUGFyYW1ldGVyczogY3VycmVudF90aW1lPQogICAg
ICAgICAgICAgID0zRCAwLjAwNjAwMDAyMDAwMjgzXG4iCisgICAgICAgXQorICAgICAgfSwKKyAg
ICAgIHsKKyAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKKyAgICAgICAic3RyZWFtIjog
InN0ZGVyciIsCisgICAgICAgInRleHQiOiBbCisgICAgICAgICJ5dCA6IFtJTkZPICAgICBdIDIw
MTUtMDYtMDUgMTU6NTY6MDksOTYyIFBhcmFtZXRlcnM6IGRvbWFpbl9kaW1lbj0Kc2lvbnMgICAg
ICAgICA9M0QgWzMyIDMyIDMyXVxuIgorICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAg
ICAgIm91dHB1dF90eXBlIjogInN0cmVhbSIsCisgICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAor
ICAgICAgICJ0ZXh0IjogWworICAgICAgICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1
OjU2OjA5LDk2NSBQYXJhbWV0ZXJzOiBkb21haW5fbGVmdF89CmVkZ2UgICAgICAgICAgPTNEIFsg
MC4gIDAuICAwLl1cbiIKKyAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICJvdXRw
dXRfdHlwZSI6ICJzdHJlYW0iLAorICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwKKyAgICAgICAi
dGV4dCI6IFsKKyAgICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1NjowOSw5
NjYgUGFyYW1ldGVyczogZG9tYWluX3JpZ2h0PQpfZWRnZSAgICAgICAgID0zRCBbIDEuICAxLiAg
MS5dXG4iCisgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAib3V0cHV0X3R5cGUi
OiAic3RyZWFtIiwKKyAgICAgICAic3RyZWFtIjogInN0ZGVyciIsCisgICAgICAgInRleHQiOiBb
CisgICAgICAgICJ5dCA6IFtJTkZPICAgICBdIDIwMTUtMDYtMDUgMTU6NTY6MDksOTY2IFBhcmFt
ZXRlcnM6IGNvc21vbG9naWNhbD0KX3NpbXVsYXRpb24gICA9M0QgMC4wXG4iCisgICAgICAgXQor
ICAgICAgfQorICAgICBdLAorICAgICAicHJvbXB0X251bWJlciI6IDIKICAgICB9LAogICAgIHsK
ICAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCkBAIC02MSw3ICs5OSwxMjEgQEAKICAgICAg
XSwKICAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCiAgICAgICJtZXRhZGF0YSI6IHt9LAotICAg
ICAib3V0cHV0cyI6IFtdCisgICAgICJvdXRwdXRzIjogWworICAgICAgeworICAgICAgICJvdXRw
dXRfdHlwZSI6ICJzdHJlYW0iLAorICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwKKyAgICAgICAi
dGV4dCI6IFsKKyAgICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1Nzo0OSwz
NjUgR2F0aGVyaW5nIGEgZmllbGQgbGlzdCAoPQp0aGlzIG1heSB0YWtlIGEgbW9tZW50LilcbiIK
KyAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICJvdXRwdXRfdHlwZSI6ICJzdHJl
YW0iLAorICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwKKyAgICAgICAidGV4dCI6IFsKKyAgICAg
ICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1Nzo0OSw3NjkgTG9hZGluZyBmaWVs
ZCBwbHVnaW5zLlxuIgorICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgIm91dHB1
dF90eXBlIjogInN0cmVhbSIsCisgICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAorICAgICAgICJ0
ZXh0IjogWworICAgICAgICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3
MCBMb2FkZWQgYW5ndWxhcl9tb21lbnR1bSA9Cig4IG5ldyBmaWVsZHMpXG4iCisgICAgICAgXQor
ICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKKyAgICAg
ICAic3RyZWFtIjogInN0ZGVyciIsCisgICAgICAgInRleHQiOiBbCisgICAgICAgICJ5dCA6IFtJ
TkZPICAgICBdIDIwMTUtMDYtMDUgMTU6NTc6NDksNzcwIExvYWRlZCBhc3RybyAoMTUgbmV3IGZp
ZT0KbGRzKVxuIgorICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgIm91dHB1dF90
eXBlIjogInN0cmVhbSIsCisgICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAorICAgICAgICJ0ZXh0
IjogWworICAgICAgICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3MSBM
b2FkZWQgY29zbW9sb2d5ICgyMiBuZXc9CiBmaWVsZHMpXG4iCisgICAgICAgXQorICAgICAgfSwK
KyAgICAgIHsKKyAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKKyAgICAgICAic3RyZWFt
IjogInN0ZGVyciIsCisgICAgICAgInRleHQiOiBbCisgICAgICAgICJ5dCA6IFtJTkZPICAgICBd
IDIwMTUtMDYtMDUgMTU6NTc6NDksNzcyIExvYWRlZCBmbHVpZCAoNjQgbmV3IGZpZT0KbGRzKVxu
IgorICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgIm91dHB1dF90eXBlIjogInN0
cmVhbSIsCisgICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAorICAgICAgICJ0ZXh0IjogWworICAg
ICAgICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3MyBMb2FkZWQgZmx1
aWRfdmVjdG9yICg5NiA9Cm5ldyBmaWVsZHMpXG4iCisgICAgICAgXQorICAgICAgfSwKKyAgICAg
IHsKKyAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKKyAgICAgICAic3RyZWFtIjogInN0
ZGVyciIsCisgICAgICAgInRleHQiOiBbCisgICAgICAgICJ5dCA6IFtJTkZPICAgICBdIDIwMTUt
MDYtMDUgMTU6NTc6NDksNzczIExvYWRlZCBnZW9tZXRyaWMgKDExMiBuZT0KdyBmaWVsZHMpXG4i
CisgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAib3V0cHV0X3R5cGUiOiAic3Ry
ZWFtIiwKKyAgICAgICAic3RyZWFtIjogInN0ZGVyciIsCisgICAgICAgInRleHQiOiBbCisgICAg
ICAgICJ5dCA6IFtJTkZPICAgICBdIDIwMTUtMDYtMDUgMTU6NTc6NDksNzc0IExvYWRlZCBsb2Nh
bCAoMTEyIG5ldyBmaT0KZWxkcylcbiIKKyAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAg
ICAgICJvdXRwdXRfdHlwZSI6ICJzdHJlYW0iLAorICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwK
KyAgICAgICAidGV4dCI6IFsKKyAgICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAx
NTo1Nzo0OSw3NzQgTG9hZGVkIG1hZ25ldGljX2ZpZWxkICgxPQoyMCBuZXcgZmllbGRzKVxuIgor
ICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgIm91dHB1dF90eXBlIjogInN0cmVh
bSIsCisgICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAorICAgICAgICJ0ZXh0IjogWworICAgICAg
ICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3NCBMb2FkZWQgbXlfcGx1
Z2lucyAoMTIwIG49CmV3IGZpZWxkcylcbiIKKyAgICAgICBdCisgICAgICB9LAorICAgICAgewor
ICAgICAgICJvdXRwdXRfdHlwZSI6ICJzdHJlYW0iLAorICAgICAgICJzdHJlYW0iOiAic3RkZXJy
IiwKKyAgICAgICAidGV4dCI6IFsKKyAgICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0w
NSAxNTo1Nzo0OSw3NzYgTG9hZGVkIHNwZWNpZXMgKDE0MCBuZXcgPQpmaWVsZHMpXG4iCisgICAg
ICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwK
KyAgICAgICAic3RyZWFtIjogInN0ZG91dCIsCisgICAgICAgInRleHQiOiBbCisgICAgICAgICJs
ZXZlbFx0IyBncmlkc1x0ICAgICAgICMgY2VsbHNcdCAgICAgIyBjZWxsc14zXG4iLAorICAgICAg
ICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIiwKKyAg
ICAgICAgIiAgMFx0ICAgICAxXHQgICAgICAgICAzMjc2OFx0ICAgICAgICAgICAgMzJcbiIsCisg
ICAgICAgICIgIDFcdCAgICAgOFx0ICAgICAgICAgMzQzMDRcdCAgICAgICAgICAgIDMzXG4iLAor
ICAgICAgICAiICAyXHQgICAgIDhcdCAgICAgICAgMTgxODg4XHQgICAgICAgICAgICA1N1xuIiwK
KyAgICAgICAgIiAgM1x0ICAgICA4XHQgICAgICAgIDY0Njk2OFx0ICAgICAgICAgICAgODdcbiIs
CisgICAgICAgICIgIDRcdCAgICAxNVx0ICAgICAgICA5NDc4NTZcdCAgICAgICAgICAgIDk5XG4i
LAorICAgICAgICAiICA1XHQgICAgNTFcdCAgICAgICAgODc0MTI4XHQgICAgICAgICAgICA5Nlxu
IiwKKyAgICAgICAgIiAgNlx0ICAgIDE4XHQgICAgICAgIDc4NjMyOFx0ICAgICAgICAgICAgOTNc
biIsCisgICAgICAgICIgIDdcdCAgICAyOFx0ICAgICAgICA0NDY3NzZcdCAgICAgICAgICAgIDc3
XG4iLAorICAgICAgICAiICA4XHQgICAgMzZcdCAgICAgICAgMjA5NDAwXHQgICAgICAgICAgICA2
MFxuIiwKKyAgICAgICAgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS1cbiIsCisgICAgICAgICIgICBcdCAgIDE3M1x0ICAgICAgIDQxNjA0MTZcbiIsCisgICAg
ICAgICJcbiIsCisgICAgICAgICJcbiIsCisgICAgICAgICJ0ID0zRCA2LjAwMDAyMDAwZS0wMyA9
M0QgMS4zOTc2ODA2NmUrMTYgcyA9M0QgNC40Mjg5ODI3NWUrMDggeWVhcj0Kc1xuIiwKKyAgICAg
ICAgIlxuIiwKKyAgICAgICAgIlNtYWxsZXN0IENlbGw6XG4iLAorICAgICAgICAiXHRXaWR0aDog
MS4yMjFlLTA0IE1wY1xuIiwKKyAgICAgICAgIlx0V2lkdGg6IDEuMjIxZSswMiBwY1xuIiwKKyAg
ICAgICAgIlx0V2lkdGg6IDIuNTE4ZSswNyBBVVxuIiwKKyAgICAgICAgIlx0V2lkdGg6IDMuNzY3
ZSsyMCBjbVxuIgorICAgICAgIF0KKyAgICAgIH0KKyAgICAgXSwKKyAgICAgInByb21wdF9udW1i
ZXIiOiAzCiAgICAgfSwKICAgICB7CiAgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzU1MGJmODNhMTU5Yy8K
Q2hhbmdlc2V0OiAgIDU1MGJmODNhMTU5YwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFz
dHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0xMSAxNzozNToyNiswMDowMApTdW1tYXJ5OiAg
ICAgUHVsbCBpbiB1cHN0cmVhbSBjaGFuZ2VzCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1y
IDQwN2ZhOTgzYTA3OTBkZjY3OGY5YzdiNDg3NGJjNmZlYThjNzk5Y2UgLXIgNTUwYmY4M2ExNTlj
NjhhOTU5YjRkY2Y9CmZhZDRiZTIzYWRhNjdkNTBmIGRvYy9oZWxwZXJfc2NyaXB0cy9ydW5fcmVj
aXBlcy5weQotLS0gYS9kb2MvaGVscGVyX3NjcmlwdHMvcnVuX3JlY2lwZXMucHkKKysrIGIvZG9j
L2hlbHBlcl9zY3JpcHRzL3J1bl9yZWNpcGVzLnB5CkBAIC0xMyw3ICsxMyw3IEBACiBmcm9tIHl0
LmNvbmZpZyBpbXBvcnQgeXRjZmcKPTIwCiBGUEFUVEVSTlMgPTNEIFsnKi5wbmcnLCAnKi50eHQn
LCAnKi5oNScsICcqLmRhdCddCi1EUEFUVEVSTlMgPTNEIFsnTEMqJywgJ0xSJywgJ0REMDA0Nics
ICdoYWxvX2FuYWx5c2lzJ10KK0RQQVRURVJOUyA9M0QgWydMQyonLCAnTFInLCAnREQwMDQ2J10K
IEJBREYgPTNEIFsnY2xvdWR5X2VtaXNzaXZpdHkuaDUnLCAnYXBlY19lbWlzc2l2aXR5Lmg1JywK
ICAgICAgICAgJ3hyYXlfZW1pc3Npdml0eS5oNScsICdBTVJHcmlkRGF0YV9TbGljZV94X2RlbnNp
dHkucG5nJ10KIENXRCA9M0Qgb3MuZ2V0Y3dkKCkKCmRpZmYgLXIgNDA3ZmE5ODNhMDc5MGRmNjc4
ZjljN2I0ODc0YmM2ZmVhOGM3OTljZSAtciA1NTBiZjgzYTE1OWM2OGE5NTliNGRjZj0KZmFkNGJl
MjNhZGE2N2Q1MGYgeXQvZnJvbnRlbmRzL2Vuem8vZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0
L2Zyb250ZW5kcy9lbnpvL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZW56
by9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTQ1Miw5ICs0NTIsMTYgQEAKICAgICAgICAgICAgIGlm
ICJBcHBlbmRBY3RpdmVQYXJ0aWNsZVR5cGUiIGluIHNlbGYuZGF0YXNldC5wYXJhbWV0ZXJzOgog
ICAgICAgICAgICAgICAgIGFwX2ZpZWxkcyA9M0Qgc2VsZi5fZGV0ZWN0X2FjdGl2ZV9wYXJ0aWNs
ZV9maWVsZHMoKQogICAgICAgICAgICAgICAgIGZpZWxkX2xpc3QgPTNEIGxpc3Qoc2V0KGZpZWxk
X2xpc3QpLnVuaW9uKGFwX2ZpZWxkcykpCisgICAgICAgICAgICBwdHlwZXMgPTNEIHNlbGYuZGF0
YXNldC5wYXJ0aWNsZV90eXBlcworICAgICAgICAgICAgcHR5cGVzX3JhdyA9M0Qgc2VsZi5kYXRh
c2V0LnBhcnRpY2xlX3R5cGVzX3JhdwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZmllbGRf
bGlzdCA9M0QgTm9uZQorICAgICAgICAgICAgcHR5cGVzID0zRCBOb25lCisgICAgICAgICAgICBw
dHlwZXNfcmF3ID0zRCBOb25lCiAgICAgICAgIHNlbGYuZmllbGRfbGlzdCA9M0QgbGlzdChzZWxm
LmNvbW0ubXBpX2JjYXN0KGZpZWxkX2xpc3QpKQorICAgICAgICBzZWxmLmRhdGFzZXQucGFydGlj
bGVfdHlwZXMgPTNEIGxpc3Qoc2VsZi5jb21tLm1waV9iY2FzdChwdHlwZXMpKQorICAgICAgICBz
ZWxmLmRhdGFzZXQucGFydGljbGVfdHlwZXNfcmF3ID0zRCBsaXN0KHNlbGYuY29tbS5tcGlfYmNh
c3QocHR5cGU9CnNfcmF3KSkKKwo9MjAKICAgICBkZWYgX2dlbmVyYXRlX3JhbmRvbV9ncmlkcyhz
ZWxmKToKICAgICAgICAgaWYgc2VsZi5udW1fZ3JpZHMgPiA0MDoKCgpodHRwczovL2JpdGJ1Y2tl
dC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9hYzM5M2YwMDQ1NjcvCkNoYW5nZXNldDogICBh
YzM5M2YwMDQ1NjcKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTog
ICAgICAgIDIwMTUtMDYtMTEgMTc6MzU6NDMrMDA6MDAKU3VtbWFyeTogICAgIE1lcmdlZCB3aXRo
IHVwc3RyZWFtCkFmZmVjdGVkICM6ICAxMiBmaWxlcwoKZGlmZiAtciA0ZWZmZDIyOTAwMTY2MTM1
NjJjY2Y4MDhjMzUxODM2NDhkZDI4YTVjIC1yIGFjMzkzZjAwNDU2NzRlZWFmNzk5NTE2PQowZDQ1
ZjRiOGYzMDE1OWQ0YiBkb2MvaGVscGVyX3NjcmlwdHMvcnVuX3JlY2lwZXMucHkKLS0tIGEvZG9j
L2hlbHBlcl9zY3JpcHRzL3J1bl9yZWNpcGVzLnB5CisrKyBiL2RvYy9oZWxwZXJfc2NyaXB0cy9y
dW5fcmVjaXBlcy5weQpAQCAtMTMsNyArMTMsNyBAQAogZnJvbSB5dC5jb25maWcgaW1wb3J0IHl0
Y2ZnCj0yMAogRlBBVFRFUk5TID0zRCBbJyoucG5nJywgJyoudHh0JywgJyouaDUnLCAnKi5kYXQn
XQotRFBBVFRFUk5TID0zRCBbJ0xDKicsICdMUicsICdERDAwNDYnLCAnaGFsb19hbmFseXNpcydd
CitEUEFUVEVSTlMgPTNEIFsnTEMqJywgJ0xSJywgJ0REMDA0NiddCiBCQURGID0zRCBbJ2Nsb3Vk
eV9lbWlzc2l2aXR5Lmg1JywgJ2FwZWNfZW1pc3Npdml0eS5oNScsCiAgICAgICAgICd4cmF5X2Vt
aXNzaXZpdHkuaDUnLCAnQU1SR3JpZERhdGFfU2xpY2VfeF9kZW5zaXR5LnBuZyddCiBDV0QgPTNE
IG9zLmdldGN3ZCgpCgpkaWZmIC1yIDRlZmZkMjI5MDAxNjYxMzU2MmNjZjgwOGMzNTE4MzY0OGRk
MjhhNWMgLXIgYWMzOTNmMDA0NTY3NGVlYWY3OTk1MTY9CjBkNDVmNGI4ZjMwMTU5ZDRiIHJlcXVp
cmVtZW50cy50eHQKLS0tIGEvcmVxdWlyZW1lbnRzLnR4dAorKysgYi9yZXF1aXJlbWVudHMudHh0
CkBAIC00LDMgKzQsNCBAQAogaDVweT0zRD0zRDIuNS4wPTIwCiBub3NlPTNEPTNEMS4zLjY9MjAK
IHN5bXB5PTNEPTNEMC43LjY9MjAKK25ldENERjQKCmRpZmYgLXIgNGVmZmQyMjkwMDE2NjEzNTYy
Y2NmODA4YzM1MTgzNjQ4ZGQyOGE1YyAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5OTUxNj0KMGQ0NWY0
YjhmMzAxNTlkNGIgeXQvZnJvbnRlbmRzL2Vuem8vZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0
L2Zyb250ZW5kcy9lbnpvL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZW56
by9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTQ1Miw5ICs0NTIsMTYgQEAKICAgICAgICAgICAgIGlm
ICJBcHBlbmRBY3RpdmVQYXJ0aWNsZVR5cGUiIGluIHNlbGYuZGF0YXNldC5wYXJhbWV0ZXJzOgog
ICAgICAgICAgICAgICAgIGFwX2ZpZWxkcyA9M0Qgc2VsZi5fZGV0ZWN0X2FjdGl2ZV9wYXJ0aWNs
ZV9maWVsZHMoKQogICAgICAgICAgICAgICAgIGZpZWxkX2xpc3QgPTNEIGxpc3Qoc2V0KGZpZWxk
X2xpc3QpLnVuaW9uKGFwX2ZpZWxkcykpCisgICAgICAgICAgICBwdHlwZXMgPTNEIHNlbGYuZGF0
YXNldC5wYXJ0aWNsZV90eXBlcworICAgICAgICAgICAgcHR5cGVzX3JhdyA9M0Qgc2VsZi5kYXRh
c2V0LnBhcnRpY2xlX3R5cGVzX3JhdwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZmllbGRf
bGlzdCA9M0QgTm9uZQorICAgICAgICAgICAgcHR5cGVzID0zRCBOb25lCisgICAgICAgICAgICBw
dHlwZXNfcmF3ID0zRCBOb25lCiAgICAgICAgIHNlbGYuZmllbGRfbGlzdCA9M0QgbGlzdChzZWxm
LmNvbW0ubXBpX2JjYXN0KGZpZWxkX2xpc3QpKQorICAgICAgICBzZWxmLmRhdGFzZXQucGFydGlj
bGVfdHlwZXMgPTNEIGxpc3Qoc2VsZi5jb21tLm1waV9iY2FzdChwdHlwZXMpKQorICAgICAgICBz
ZWxmLmRhdGFzZXQucGFydGljbGVfdHlwZXNfcmF3ID0zRCBsaXN0KHNlbGYuY29tbS5tcGlfYmNh
c3QocHR5cGU9CnNfcmF3KSkKKwo9MjAKICAgICBkZWYgX2dlbmVyYXRlX3JhbmRvbV9ncmlkcyhz
ZWxmKToKICAgICAgICAgaWYgc2VsZi5udW1fZ3JpZHMgPiA0MDoKCmRpZmYgLXIgNGVmZmQyMjkw
MDE2NjEzNTYyY2NmODA4YzM1MTgzNjQ4ZGQyOGE1YyAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5OTUx
Nj0KMGQ0NWY0YjhmMzAxNTlkNGIgeXQvZnJvbnRlbmRzL2V4b2R1c2lpL19faW5pdF9fLnB5Ci0t
LSAvZGV2L251bGwKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL19faW5pdF9fLnB5CkBAIC0w
LDAgKzEsMTQgQEAKKyIiIgorQVBJIGZvciB5dC5mcm9udGVuZHMuZXhvZHVzaWkKKworCisKKyIi
IgorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTMsIHl0IERl
dmVsb3BtZW50IFRlYW0uCisjCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
TW9kaWZpZWQgQlNEIExpY2Vuc2UuCisjCisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZp
bGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS09Ci0tLS0KCmRpZmYgLXIgNGVmZmQyMjkwMDE2NjEzNTYyY2NmODA4YzM1MTgz
NjQ4ZGQyOGE1YyAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5OTUxNj0KMGQ0NWY0YjhmMzAxNTlkNGIg
eXQvZnJvbnRlbmRzL2V4b2R1c2lpL2FwaS5weQotLS0gL2Rldi9udWxsCisrKyBiL3l0L2Zyb250
ZW5kcy9leG9kdXNpaS9hcGkucHkKQEAgLTAsMCArMSwyNSBAQAorIiIiCitBUEkgZm9yIHl0LmZy
b250ZW5kcy5leG9kdXNpaQorCisKKworIiIiCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisj
IENvcHlyaWdodCAoYykgMjAxNSwgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMKKyMgRGlzdHJpYnV0
ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNb2RpZmllZCBCU0QgTGljZW5zZS4KKyMKKyMgVGhl
IGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0
aCB0aGlzIHNvZnR3PQphcmUuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorCitmcm9tIC5kYXRh
X3N0cnVjdHVyZXMgaW1wb3J0IFwKKyAgICAgIEV4b2R1c0lJR3JpZCwgXAorICAgICAgRXhvZHVz
SUlIaWVyYXJjaHksIFwKKyAgICAgIEV4b2R1c0lJRGF0YXNldAorCitmcm9tIC5maWVsZHMgaW1w
b3J0IFwKKyAgICAgIEV4b2R1c0lJRmllbGRJbmZvCisKK2Zyb20gLmlvIGltcG9ydCBcCisgICAg
ICBJT0hhbmRsZXJFeG9kdXNJSQoKZGlmZiAtciA0ZWZmZDIyOTAwMTY2MTM1NjJjY2Y4MDhjMzUx
ODM2NDhkZDI4YTVjIC1yIGFjMzkzZjAwNDU2NzRlZWFmNzk5NTE2PQowZDQ1ZjRiOGYzMDE1OWQ0
YiB5dC9mcm9udGVuZHMvZXhvZHVzaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSAvZGV2L251bGwK
KysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMCwwICsx
LDE0MyBAQAorIiIiCitFeG9kdXNJSSBkYXRhIHN0cnVjdHVyZXMKKworCisKKyIiIgorCisjLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLT0KLS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTUsIHl0IERldmVsb3BtZW50
IFRlYW0uCisjCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTW9kaWZpZWQg
QlNEIExpY2Vuc2UuCisjCisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlO
Ry50eHQsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS09Ci0tLS0KKworZnJvbSB5dC5kYXRhX29iamVjdHMuZ3JpZF9wYXRjaCBpbXBvcnQgXAorICAg
IEFNUkdyaWRQYXRjaAorZnJvbSB5dC5nZW9tZXRyeS5ncmlkX2dlb21ldHJ5X2hhbmRsZXIgaW1w
b3J0IFwKKyAgICBHcmlkSW5kZXgKK2Zyb20geXQuZGF0YV9vYmplY3RzLnN0YXRpY19vdXRwdXQg
aW1wb3J0IFwKKyAgICBEYXRhc2V0Citmcm9tIC5maWVsZHMgaW1wb3J0IEV4b2R1c0lJRmllbGRJ
bmZvCisKK2NsYXNzIEV4b2R1c0lJR3JpZChBTVJHcmlkUGF0Y2gpOgorICAgIF9pZF9vZmZzZXQg
PTNEIDAKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaWQsIGluZGV4LCBsZXZlbCwgc3RhcnQsIGRp
bWVuc2lvbnMpOgorICAgICAgICBBTVJHcmlkUGF0Y2guX19pbml0X18oc2VsZiwgaWQsIGZpbGVu
YW1lPTNEaW5kZXguaW5kZXhfZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbmRleD0zRGluZGV4KQorICAgICAgICBzZWxmLlBhcmVudCA9M0QgW10KKyAgICAgICAgc2Vs
Zi5DaGlsZHJlbiA9M0QgW10KKyAgICAgICAgc2VsZi5MZXZlbCA9M0QgbGV2ZWwKKyAgICAgICAg
c2VsZi5zdGFydF9pbmRleCA9M0Qgc3RhcnQuY29weSgpCisgICAgICAgIHNlbGYuc3RvcF9pbmRl
eCA9M0Qgc2VsZi5zdGFydF9pbmRleCArIGRpbWVuc2lvbnMKKyAgICAgICAgc2VsZi5BY3RpdmVE
aW1lbnNpb25zID0zRCBkaW1lbnNpb25zLmNvcHkoKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYp
OgorICAgICAgICByZXR1cm4gIkV4b2R1c0lJR3JpZF8lMDRpICglcykiICUgKHNlbGYuaWQsIHNl
bGYuQWN0aXZlRGltZW5zaW9ucykKKworY2xhc3MgRXhvZHVzSUlIaWVyYXJjaHkoR3JpZEluZGV4
KToKKyAgICBncmlkID0zRCBFeG9kdXNJSUdyaWQKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBk
cywgZGF0YXNldF90eXBlPTNEJ2V4b2R1c2lpJyk6CisgICAgICAgIHNlbGYuZGF0YXNldF90eXBl
ID0zRCBkYXRhc2V0X3R5cGUKKyAgICAgICAgIyBmb3Igbm93LCB0aGUgaW5kZXggZmlsZSBpcyB0
aGUgZGF0YXNldCEKKyAgICAgICAgc2VsZi5pbmRleF9maWxlbmFtZSA9M0Qgc2VsZi5kYXRhc2V0
LnBhcmFtZXRlcl9maWxlbmFtZQorICAgICAgICBzZWxmLmRpcmVjdG9yeSA9M0Qgb3MucGF0aC5k
aXJuYW1lKHNlbGYuaW5kZXhfZmlsZW5hbWUpCisgICAgICAgIEdyaWRJbmRleC5fX2luaXRfXyhz
ZWxmLCBkcywgZGF0YXNldF90eXBlKQorCisgICAgZGVmIF9kZXRlY3Rfb3V0cHV0X2ZpZWxkcyhz
ZWxmKToKKyAgICAgICAgIyBUaGlzIG5lZWRzIHRvIHNldCBhIHNlbGYuZmllbGRfbGlzdCB0aGF0
IGNvbnRhaW5zIGFsbCB0aGUgYXZhaWxhPQpibGUsCisgICAgICAgICMgb24tZGlzayBmaWVsZHMu
CisgICAgICAgICMgTk9URTogRWFjaCBzaG91bGQgYmUgYSB0dXBsZSwgd2hlcmUgdGhlIGZpcnN0
IGVsZW1lbnQgaXMgdGhlIG9uLT0KZGlzaworICAgICAgICAjIGZsdWlkIHR5cGUgb3IgcGFydGlj
bGUgdHlwZS4gIENvbnZlbnRpb24gc3VnZ2VzdHMgdGhhdCB0aGUgb24tZGk9CnNrCisgICAgICAg
ICMgZmx1aWQgdHlwZSBpcyB1c3VhbGx5IHRoZSBkYXRhc2V0X3R5cGUgYW5kIHRoZSBvbi1kaXNr
IHBhcnRpY2xlID0KdHlwZQorICAgICAgICAjIChmb3IgYSBzaW5nbGUgcG9wdWxhdGlvbiBvZiBw
YXJ0aWNsZXMpIGlzICJpbyIuCisgICAgICAgIHBhc3MKKworICAgIGRlZiBfY291bnRfZ3JpZHMo
c2VsZik6CisgICAgICAgICMgVGhpcyBuZWVkcyB0byBzZXQgc2VsZi5udW1fZ3JpZHMKKyAgICAg
ICAgcGFzcworCisgICAgZGVmIF9wYXJzZV9pbmRleChzZWxmKToKKyAgICAgICAgIyBUaGlzIG5l
ZWRzIHRvIGZpbGwgdGhlIGZvbGxvd2luZyBhcnJheXMsIHdoZXJlIE4gaXMgc2VsZi5udW1fZ3Jp
PQpkczoKKyAgICAgICAgIyAgIHNlbGYuZ3JpZF9sZWZ0X2VkZ2UgICAgICAgICAoTiwgMykgPD0z
RCBmbG9hdDY0CisgICAgICAgICMgICBzZWxmLmdyaWRfcmlnaHRfZWRnZSAgICAgICAgKE4sIDMp
IDw9M0QgZmxvYXQ2NAorICAgICAgICAjICAgc2VsZi5ncmlkX2RpbWVuc2lvbnMgICAgICAgIChO
LCAzKSA8PTNEIGludAorICAgICAgICAjICAgc2VsZi5ncmlkX3BhcnRpY2xlX2NvdW50ICAgIChO
LCAxKSA8PTNEIGludAorICAgICAgICAjICAgc2VsZi5ncmlkX2xldmVscyAgICAgICAgICAgIChO
LCAxKSA8PTNEIGludAorICAgICAgICAjICAgc2VsZi5ncmlkcyAgICAgICAgICAgICAgICAgIChO
LCAxKSA8PTNEIGdyaWQgb2JqZWN0cworICAgICAgICAjCisgICAgICAgIHBhc3MKKworICAgIGRl
ZiBfcG9wdWxhdGVfZ3JpZF9vYmplY3RzKHNlbGYpOgorICAgICAgICAjIEZvciBlYWNoIGdyaWQs
IHRoaXMgbXVzdCBjYWxsOgorICAgICAgICAjICAgZ3JpZC5fcHJlcGFyZV9ncmlkKCkKKyAgICAg
ICAgIyAgIGdyaWQuX3NldHVwX2R4KCkKKyAgICAgICAgIyBUaGlzIG11c3QgYWxzbyBzZXQ6Cisg
ICAgICAgICMgICBncmlkLkNoaWxkcmVuIDw9M0QgbGlzdCBvZiBjaGlsZCBncmlkcworICAgICAg
ICAjICAgZ3JpZC5QYXJlbnQgICA8PTNEIHBhcmVudCBncmlkCisgICAgICAgICMgVGhpcyBpcyBo
YW5kbGVkIGJ5IHRoZSBmcm9udGVuZCBiZWNhdXNlIG9mdGVuIHRoZSBjaGlsZHJlbiBtdXN0ID0K
YmUKKyAgICAgICAgIyBpZGVudGlmaWVkLgorICAgICAgICBwYXNzCisKK2NsYXNzIEV4b2R1c0lJ
RGF0YXNldChEYXRhc2V0KToKKyAgICBfaW5kZXhfY2xhc3MgPTNEIEV4b2R1c0lJSGllcmFyY2h5
CisgICAgX2ZpZWxkX2luZm9fY2xhc3MgPTNEIEV4b2R1c0lJRmllbGRJbmZvCisKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGRhdGFzZXRfdHlwZT0zRCdleG9kdXNpaScsCisgICAg
ICAgICAgICAgICAgIHN0b3JhZ2VfZmlsZW5hbWU9M0ROb25lLAorICAgICAgICAgICAgICAgICB1
bml0c19vdmVycmlkZT0zRE5vbmUpOgorICAgICAgICBzZWxmLmZsdWlkX3R5cGVzICs9M0QgKCdl
eG9kdXNpaScsKQorICAgICAgICBEYXRhc2V0Ll9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRh
c2V0X3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0R1bml0
c19vdmVycmlkZSkKKyAgICAgICAgc2VsZi5zdG9yYWdlX2ZpbGVuYW1lID0zRCBzdG9yYWdlX2Zp
bGVuYW1lCisKKyAgICBkZWYgX3NldF9jb2RlX3VuaXRfYXR0cmlidXRlcyhzZWxmKToKKyAgICAg
ICAgIyBUaGlzIGlzIHdoZXJlIHF1YW50aXRpZXMgYXJlIGNyZWF0ZWQgdGhhdCByZXByZXNlbnQg
dGhlIHZhcmlvdXMKKyAgICAgICAgIyBvbi1kaXNrIHVuaXRzLiAgVGhlc2UgYXJlIHRoZSBjdXJy
ZW50bHkgYXZhaWxhYmxlIHF1YW50aXRpZXMgd2hpPQpjaAorICAgICAgICAjIHNob3VsZCBiZSBz
ZXQsIGFsb25nIHdpdGggZXhhbXBsZXMgb2YgaG93IHRvIHNldCB0aGVtIHRvIHN0YW5kYXJkCisg
ICAgICAgICMgdmFsdWVzLgorICAgICAgICAjCisgICAgICAgICMgc2VsZi5sZW5ndGhfdW5pdCA9
M0Qgc2VsZi5xdWFuKDEuMCwgImNtIikKKyAgICAgICAgIyBzZWxmLm1hc3NfdW5pdCA9M0Qgc2Vs
Zi5xdWFuKDEuMCwgImciKQorICAgICAgICAjIHNlbGYudGltZV91bml0ID0zRCBzZWxmLnF1YW4o
MS4wLCAicyIpCisgICAgICAgICMgc2VsZi50aW1lX3VuaXQgPTNEIHNlbGYucXVhbigxLjAsICJz
IikKKyAgICAgICAgIworICAgICAgICAjIFRoZXNlIGNhbiBhbHNvIGJlIHNldDoKKyAgICAgICAg
IyBzZWxmLnZlbG9jaXR5X3VuaXQgPTNEIHNlbGYucXVhbigxLjAsICJjbS9zIikKKyAgICAgICAg
IyBzZWxmLm1hZ25ldGljX3VuaXQgPTNEIHNlbGYucXVhbigxLjAsICJnYXVzcyIpCisgICAgICAg
IHBhc3MKKworICAgIGRlZiBfcGFyc2VfcGFyYW1ldGVyX2ZpbGUoc2VsZik6CisgICAgICAgICMg
VGhpcyBuZWVkcyB0byBzZXQgdXAgdGhlIGZvbGxvd2luZyBpdGVtcy4gIE5vdGUgdGhhdCB0aGVz
ZSBhcmUgYT0KbGwKKyAgICAgICAgIyBhc3N1bWVkIHRvIGJlIGluIGNvZGUgdW5pdHM7IGRvbWFp
bl9sZWZ0X2VkZ2UgYW5kIGRvbWFpbl9yaWdodF9lPQpkZ2UKKyAgICAgICAgIyB3aWxsIGJlIHVw
ZGF0ZWQgdG8gYmUgaW4gY29kZSB1bml0cyBhdCBhIGxhdGVyIHRpbWUuICBUaGlzIGluY2x1PQpk
ZXMKKyAgICAgICAgIyB0aGUgY29zbW9sb2dpY2FsIHBhcmFtZXRlcnMuCisgICAgICAgICMKKyAg
ICAgICAgIyAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIKKyAgICAgICAgIyAgIHNlbGYucGFyYW1l
dGVycyAgICAgICAgICAgICA8PTNEIGZ1bGwgb2YgY29kZS1zcGVjaWZpYyBpdGVtcyBvPQpmIHVz
ZQorICAgICAgICAjICAgc2VsZi5kb21haW5fbGVmdF9lZGdlICAgICAgIDw9M0QgYXJyYXkgb2Yg
ZmxvYXQ2NAorICAgICAgICAjICAgc2VsZi5kb21haW5fcmlnaHRfZWRnZSAgICAgIDw9M0QgYXJy
YXkgb2YgZmxvYXQ2NAorICAgICAgICAjICAgc2VsZi5kaW1lbnNpb25hbGl0eSAgICAgICAgIDw9
M0QgaW50CisgICAgICAgICMgICBzZWxmLmRvbWFpbl9kaW1lbnNpb25zICAgICAgPD0zRCBhcnJh
eSBvZiBpbnQ2NAorICAgICAgICAjICAgc2VsZi5wZXJpb2RpY2l0eSAgICAgICAgICAgIDw9M0Qg
dGhyZWUtZWxlbWVudCB0dXBsZSBvZiBib29sZWE9Cm5zCisgICAgICAgICMgICBzZWxmLmN1cnJl
bnRfdGltZSAgICAgICAgICAgPD0zRCBzaW11bGF0aW9uIHRpbWUgaW4gY29kZSB1bml0cworICAg
ICAgICAjCisgICAgICAgICMgV2UgYWxzbyBzZXQgdXAgY29zbW9sb2dpY2FsIGluZm9ybWF0aW9u
LiAgU2V0IHRoZXNlIHRvIHplcm8gaWYKKyAgICAgICAgIyBub24tY29zbW9sb2dpY2FsLgorICAg
ICAgICAjCisgICAgICAgICMgICBzZWxmLmNvc21vbG9naWNhbF9zaW11bGF0aW9uICAgIDw9M0Qg
aW50LCAwIG9yIDEKKyAgICAgICAgIyAgIHNlbGYuY3VycmVudF9yZWRzaGlmdCAgICAgICAgICAg
PD0zRCBmbG9hdAorICAgICAgICAjICAgc2VsZi5vbWVnYV9sYW1iZGEgICAgICAgICAgICAgICA8
PTNEIGZsb2F0CisgICAgICAgICMgICBzZWxmLm9tZWdhX21hdHRlciAgICAgICAgICAgICAgIDw9
M0QgZmxvYXQKKyAgICAgICAgIyAgIHNlbGYuaHViYmxlX2NvbnN0YW50ICAgICAgICAgICAgPD0z
RCBmbG9hdAorICAgICAgICBwYXNzCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX2lzX3Zh
bGlkKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICMgVGhpcyBhY2NlcHRzIGEgZmls
ZW5hbWUgb3IgYSBzZXQgb2YgYXJndW1lbnRzIGFuZCByZXR1cm5zIFRydWUgb3IKKyAgICAgICAg
IyBGYWxzZSBkZXBlbmRpbmcgb24gaWYgdGhlIGZpbGUgaXMgb2YgdGhlIHR5cGUgcmVxdWVzdGVk
LgorICAgICAgICByZXR1cm4gRmFsc2UKKworCgpkaWZmIC1yIDRlZmZkMjI5MDAxNjYxMzU2MmNj
ZjgwOGMzNTE4MzY0OGRkMjhhNWMgLXIgYWMzOTNmMDA0NTY3NGVlYWY3OTk1MTY9CjBkNDVmNGI4
ZjMwMTU5ZDRiIHl0L2Zyb250ZW5kcy9leG9kdXNpaS9kZWZpbml0aW9ucy5weQotLS0gL2Rldi9u
dWxsCisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9kZWZpbml0aW9ucy5weQpAQCAtMCwwICsx
LDEgQEAKKyMgVGhpcyBmaWxlIGlzIG9mdGVuIGVtcHR5LiAgSXQgY2FuIGhvbGQgZGVmaW5pdGlv
bnMgcmVsYXRlZCB0byBhIGZyb250ZW5kLgoKZGlmZiAtciA0ZWZmZDIyOTAwMTY2MTM1NjJjY2Y4
MDhjMzUxODM2NDhkZDI4YTVjIC1yIGFjMzkzZjAwNDU2NzRlZWFmNzk5NTE2PQowZDQ1ZjRiOGYz
MDE1OWQ0YiB5dC9mcm9udGVuZHMvZXhvZHVzaWkvZmllbGRzLnB5Ci0tLSAvZGV2L251bGwKKysr
IGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2ZpZWxkcy5weQpAQCAtMCwwICsxLDQ3IEBACisiIiIK
K0V4b2R1c0lJLXNwZWNpZmljIGZpZWxkcworCisKKworIiIiCisKKyMtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
PQotLS0tCisjIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMKKyMg
RGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNb2RpZmllZCBCU0QgTGljZW5zZS4K
KyMKKyMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJp
YnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorCitp
bXBvcnQgbnVtcHkgYXMgbnAKK2Zyb20geXQuZnVuY3MgaW1wb3J0IG15bG9nCitmcm9tIHl0LmZp
ZWxkcy5maWVsZF9pbmZvX2NvbnRhaW5lciBpbXBvcnQgXAorICAgIEZpZWxkSW5mb0NvbnRhaW5l
cgorCisjIFdlIG5lZWQgdG8gc3BlY2lmeSB3aGljaCBmaWVsZHMgd2UgbWlnaHQgaGF2ZSBpbiBv
dXIgZGF0YXNldC4gIFRoZSBmaWVsZD0KIGluZm8KKyMgY29udGFpbmVyIHN1YmNsYXNzIGhlcmUg
d2lsbCBkZWZpbmUgd2hpY2ggZmllbGRzIGl0IGtub3dzIGFib3V0LiAgVGhlcmUgPQphcmUKKyMg
b3B0aW9uYWxseSBtZXRob2RzIG9uIGl0IHRoYXQgZ2V0IGNhbGxlZCB3aGljaCBjYW4gYmUgc3Vi
Y2xhc3NlZC4KKworY2xhc3MgRXhvZHVzSUlGaWVsZEluZm8oRmllbGRJbmZvQ29udGFpbmVyKToK
KyAgICBrbm93bl9vdGhlcl9maWVsZHMgPTNEICgKKyAgICAgICAgIyBFYWNoIGVudHJ5IGhlcmUg
aXMgb2YgdGhlIGZvcm0KKyAgICAgICAgIyAoICJuYW1lIiwgKCJ1bml0cyIsIFsiZmllbGRzIiwg
InRvIiwgImFsaWFzIl0sICMgImRpc3BsYXlfbmFtZSIpPQopLAorICAgICkKKworICAgIGtub3du
X3BhcnRpY2xlX2ZpZWxkcyA9M0QgKAorICAgICAgICAjIElkZW50aWNhbCBmb3JtIHRvIGFib3Zl
CisgICAgICAgICMgKCAibmFtZSIsICgidW5pdHMiLCBbImZpZWxkcyIsICJ0byIsICJhbGlhcyJd
LCAjICJkaXNwbGF5X25hbWUiKT0KKSwKKyAgICApCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
ZHMpOgorICAgICAgICBzdXBlcihFeG9kdXNJSUZpZWxkSW5mbywgc2VsZikuX19pbml0X18oZHMp
CisgICAgICAgICMgSWYgeW91IHdhbnQsIHlvdSBjYW4gY2hlY2sgc2VsZi5maWVsZF9saXN0CisK
KyAgICBkZWYgc2V0dXBfZmx1aWRfZmllbGRzKHNlbGYpOgorICAgICAgICAjIEhlcmUgd2UgZG8g
YW55dGhpbmcgdGhhdCBtaWdodCBuZWVkIGluZm8gYWJvdXQgdGhlIGRhdGFzZXQuCisgICAgICAg
ICMgWW91IGNhbiB1c2Ugc2VsZi5hbGlhcywgc2VsZi5hZGRfb3V0cHV0X2ZpZWxkIGFuZCBzZWxm
LmFkZF9maWVsZD0KIC4KKyAgICAgICAgcGFzcworCisgICAgZGVmIHNldHVwX3BhcnRpY2xlX2Zp
ZWxkcyhzZWxmLCBwdHlwZSk6CisgICAgICAgICMgVGhpcyB3aWxsIGdldCBjYWxsZWQgZm9yIGV2
ZXJ5IHBhcnRpY2xlIHR5cGUuCisgICAgICAgIHBhc3MKCmRpZmYgLXIgNGVmZmQyMjkwMDE2NjEz
NTYyY2NmODA4YzM1MTgzNjQ4ZGQyOGE1YyAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5OTUxNj0KMGQ0
NWY0YjhmMzAxNTlkNGIgeXQvZnJvbnRlbmRzL2V4b2R1c2lpL2lvLnB5Ci0tLSAvZGV2L251bGwK
KysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2lvLnB5CkBAIC0wLDAgKzEsNTAgQEAKKyIiIgor
RXhvZHVzSUktc3BlY2lmaWMgSU8gZnVuY3Rpb25zCisKKworCisiIiIKKworIy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS09Ci0tLS0KKyMgQ29weXJpZ2h0IChjKSAyMDE1LCB5dCBEZXZlbG9wbWVudCBUZWFtLgor
IworIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNl
bnNlLgorIworIyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBk
aXN0cmlidXRlZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0t
CisKK2Zyb20geXQudXRpbGl0aWVzLmlvX2hhbmRsZXIgaW1wb3J0IFwKKyAgICBCYXNlSU9IYW5k
bGVyCisKK2NsYXNzIElPSGFuZGxlckV4b2R1c0lJKEJhc2VJT0hhbmRsZXIpOgorICAgIF9wYXJ0
aWNsZV9yZWFkZXIgPTNEIEZhbHNlCisgICAgX2RhdGFzZXRfdHlwZSA9M0QgImV4b2R1c2lpIgor
CisgICAgZGVmIF9yZWFkX3BhcnRpY2xlX2Nvb3JkcyhzZWxmLCBjaHVua3MsIHB0Zik6CisgICAg
ICAgICMgVGhpcyBuZWVkcyB0byAqeWllbGQqIGEgc2VyaWVzIG9mIHR1cGxlcyBvZiAocHR5cGUs
ICh4LCB5LCB6KSkuCisgICAgICAgICMgY2h1bmtzIGlzIGEgbGlzdCBvZiBjaHVua3MsIGFuZCBw
dGYgaXMgYSBkaWN0IHdoZXJlIHRoZSBrZXlzIGFyZQorICAgICAgICAjIHB0eXBlcyBhbmQgdGhl
IHZhbHVlcyBhcmUgbGlzdHMgb2YgZmllbGRzLgorICAgICAgICBwYXNzCisKKyAgICBkZWYgX3Jl
YWRfcGFydGljbGVfZmllbGRzKHNlbGYsIGNodW5rcywgcHRmLCBzZWxlY3Rvcik6CisgICAgICAg
ICMgVGhpcyBnZXRzIGNhbGxlZCBhZnRlciB0aGUgYXJyYXlzIGhhdmUgYmVlbiBhbGxvY2F0ZWQu
ICBJdCBuZWVkcz0KIHRvCisgICAgICAgICMgeWllbGQgKChwdHlwZSwgZmllbGQpLCBkYXRhKSB3
aGVyZSBkYXRhIGlzIHRoZSBtYXNrZWQgcmVzdWx0cyBvZgorICAgICAgICAjIHJlYWRpbmcgcHR5
cGUsIGZpZWxkIGFuZCBhcHBseWluZyB0aGUgc2VsZWN0b3IgdG8gdGhlIGRhdGEgcmVhZCA9Cmlu
LgorICAgICAgICAjIFNlbGVjdG9yIG9iamVjdHMgaGF2ZSBhIC5zZWxlY3RfcG9pbnRzKHgseSx6
KSB0aGF0IHJldHVybnMgYSBtYXM9CmssIHNvCisgICAgICAgICMgeW91IG5lZWQgdG8gZG8geW91
ciBtYXNraW5nIGhlcmUuCisgICAgICAgIHBhc3MKKworCisgICAgZGVmIF9yZWFkX2ZsdWlkX3Nl
bGVjdGlvbihzZWxmLCBjaHVua3MsIHNlbGVjdG9yLCBmaWVsZHMsIHNpemUpOgorICAgICAgICAj
IFRoaXMgbmVlZHMgdG8gYWxsb2NhdGUgYSBzZXQgb2YgYXJyYXlzIGluc2lkZSBhIGRpY3Rpb25h
cnksIHdoZXI9CmUgdGhlCisgICAgICAgICMga2V5cyBhcmUgdGhlIChmdHlwZSwgZm5hbWUpIHR1
cGxlcyBhbmQgdGhlIHZhbHVlcyBhcmUgYXJyYXlzIHRoYXQKKyAgICAgICAgIyBoYXZlIGJlZW4g
bWFza2VkIHVzaW5nIHdoYXRldmVyIHNlbGVjdG9yIG1ldGhvZCBpcyBhcHByb3ByaWF0ZS4gPQog
VGhlCisgICAgICAgICMgZGljdCBnZXRzIHJldHVybmVkIGF0IHRoZSBlbmQgYW5kIGl0IHNob3Vs
ZCBiZSBmbGF0LCB3aXRoIHNlbGVjdD0KZWQKKyAgICAgICAgIyBkYXRhLiAgTm90ZSB0aGF0IGlm
IHlvdSdyZSByZWFkaW5nIGdyaWQgZGF0YSwgeW91IG1pZ2h0IG5lZWQgdG8KKyAgICAgICAgIyBz
cGVjaWFsLWNhc2UgYSBncmlkIHNlbGVjdG9yIG9iamVjdC4KKyAgICAgICAgcGFzcworCisgICAg
ZGVmIF9yZWFkX2NodW5rX2RhdGEoc2VsZiwgY2h1bmssIGZpZWxkcyk6CisgICAgICAgICMgVGhp
cyByZWFkcyB0aGUgZGF0YSBmcm9tIGEgc2luZ2xlIGNodW5rLCBhbmQgaXMgb25seSB1c2VkIGZv
cgorICAgICAgICAjIGNhY2hpbmcuCisgICAgICAgIHBhc3MKCmRpZmYgLXIgNGVmZmQyMjkwMDE2
NjEzNTYyY2NmODA4YzM1MTgzNjQ4ZGQyOGE1YyAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5OTUxNj0K
MGQ0NWY0YjhmMzAxNTlkNGIgeXQvZnJvbnRlbmRzL2V4b2R1c2lpL3NldHVwLnB5Ci0tLSAvZGV2
L251bGwKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL3NldHVwLnB5CkBAIC0wLDAgKzEsMTMg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgoraW1wb3J0IHNldHVwdG9vbHMKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworaW1wb3J0IG9zLnBhdGgKKworCitkZWYgY29uZmlndXJhdGlvbihwYXJlbnRf
cGFja2FnZT0zRCcnLCB0b3BfcGF0aD0zRE5vbmUpOgorICAgIGZyb20gbnVtcHkuZGlzdHV0aWxz
Lm1pc2NfdXRpbCBpbXBvcnQgQ29uZmlndXJhdGlvbgorICAgIGNvbmZpZyA9M0QgQ29uZmlndXJh
dGlvbignZXhvZHVzaWknLCBwYXJlbnRfcGFja2FnZSwgdG9wX3BhdGgpCisgICAgY29uZmlnLm1h
a2VfY29uZmlnX3B5KCkgICMgaW5zdGFsbHMgX19jb25maWdfXy5weQorICAgICNjb25maWcubWFr
ZV9zdm5fdmVyc2lvbl9weSgpCisgICAgcmV0dXJuIGNvbmZpZwoKZGlmZiAtciA0ZWZmZDIyOTAw
MTY2MTM1NjJjY2Y4MDhjMzUxODM2NDhkZDI4YTVjIC1yIGFjMzkzZjAwNDU2NzRlZWFmNzk5NTE2
PQowZDQ1ZjRiOGYzMDE1OWQ0YiB5dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5l
cy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4Cisr
KyBiL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eApAQCAtNDU2LDYg
KzQ1Niw3IEBACiAgICAgIyBBbGxvY2F0ZSBzdWJyb3V0aW5lCiAgICAgIyMgQWxsb2NhdGUgc2ln
bnMgYXJyYXkKICAgICBzaWducyA9M0QgPG5wLmludDhfdCAqPiBhbGxvY2Eoc2l6ZW9mKG5wLmlu
dDhfdCkgKiBuZikKKwogICAgICMjIEFsbG9jYXRlIHZlcnRpY2VzIHBvaW50ZXIgYXJyYXkKICAg
ICB2ZXJ0aWNlcyA9M0QgPG5wLmZsb2F0NjRfdCAqKj4gYWxsb2NhKHNpemVvZihucC5mbG9hdDY0
X3QgKikgKiBudmVydGljPQplcykKICAgICBmb3IgaSBpbiByYW5nZShudmVydGljZXMpOgoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzEzMGIzZjRlNzE1Zi8K
Q2hhbmdlc2V0OiAgIDEzMGIzZjRlNzE1ZgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFz
dHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNi0xNSAxNDoyMDo1OCswMDowMApTdW1tYXJ5OiAg
ICAgTWVyZ2VkIHVwc3RyZWFtCkFmZmVjdGVkICM6ICA2IGZpbGVzCgpkaWZmIC1yIGFjMzkzZjAw
NDU2NzRlZWFmNzk5NTE2MGQ0NWY0YjhmMzAxNTlkNGIgLXIgMTMwYjNmNGU3MTVmM2RkYjlkYmEz
Y2Q9Cjc0NDdiZTk5OGU3OTQyMjdiIGRvYy9zb3VyY2UvYW5hbHl6aW5nL2ZpZWxkcy5yc3QKLS0t
IGEvZG9jL3NvdXJjZS9hbmFseXppbmcvZmllbGRzLnJzdAorKysgYi9kb2Mvc291cmNlL2FuYWx5
emluZy9maWVsZHMucnN0CkBAIC0yNzEsNiArMjcxLDI5IEBACj0yMAogRm9yIGEgcHJhY3RpY2Fs
IGFwcGxpY2F0aW9uIG9mIHRoaXMsIHNlZSA6cmVmOmBjb29rYm9vay1yYWRpYWwtdmVsb2NpdHlg
Lgo9MjAKK0dyYWRpZW50IEZpZWxkcworLS0tLS0tLS0tLS0tLS0tCisKK3l0IHByb3ZpZGVzIGEg
d2F5IHRvIGNvbXB1dGUgZ3JhZGllbnRzIG9mIHNwYXRpYWwgZmllbGRzIHVzaW5nIHRoZQorOm1l
dGg6YH55dC5mcm9udGVuZHMuZmxhc2guZGF0YV9zdHJ1Y3R1cmVzLkZMQVNIRGF0YXNldC5hZGRf
Z3JhZGllbnRfZmllbGQ9CnNgPTIwCittZXRob2QuIElmIHlvdSBoYXZlIGEgc3BhdGlhbGx5LWJh
c2VkIGZpZWxkIHN1Y2ggYXMgZGVuc2l0eSBvciB0ZW1wZXJhdHVyZT0KLD0yMAorYW5kIHdhbnQg
dG8gY2FsY3VsYXRlIHRoZSBncmFkaWVudCBvZiB0aGF0IGZpZWxkLCB5b3UgY2FuIGRvIGl0IGxp
a2Ugc286CisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKworICAgIGRzID0zRCB5dC5sb2FkKCJH
YXNTbG9zaGluZy9zbG9zaGluZ19ub21hZzJfaGRmNV9wbHRfY250XzAxNTAiKQorICAgIGdyYWRf
ZmllbGRzID0zRCBkcy5hZGRfZ3JhZGllbnRfZmllbGRzKCgiZ2FzIiwidGVtcGVyYXR1cmUiKSkK
Kword2hlcmUgdGhlIGBgZ3JhZF9maWVsZHNgYCBsaXN0IHdpbGwgbm93IGhhdmUgYSBsaXN0IG9m
IG5ldyBmaWVsZCBuYW1lcyB0aGE9CnQgY2FuIGJlIHVzZWQKK2luIGNhbGN1bGF0aW9ucywgcmVw
cmVzZW50aW5nIHRoZSAzIGRpZmZlcmVudCBjb21wb25lbnRzIG9mIHRoZSBmaWVsZCBhbmQgPQp0
aGUgbWFnbml0dWRlCitvZiB0aGUgZ3JhZGllbnQsIGUuZy4sIGBgInRlbXBlcmF0dXJlX2dyYWRp
ZW50X3giYGAsIGBgInRlbXBlcmF0dXJlX2dyYWRpZT0KbnRfeSJgYCwKK2BgInRlbXBlcmF0dXJl
X2dyYWRpZW50X3oiYGAsIGFuZCBgYCJ0ZW1wZXJhdHVyZV9ncmFkaWVudF9tYWduaXR1ZGUiYGAu
IFRvPQogc2VlIGFuIGV4YW1wbGUKK29mIGhvdyB0byBjcmVhdGUgYW5kIHVzZSB0aGVzZSBmaWVs
ZHMsIHNlZSA6cmVmOmBjb29rYm9vay1jb21wbGljYXRlZC1kZXJpPQp2ZWQtZmllbGRzYC4KKwor
Li4gbm90ZTo6CisKKyAgICBgYGFkZF9ncmFkaWVudF9maWVsZHNgYCBjdXJyZW50bHkgb25seSBz
dXBwb3J0cyBDYXJ0ZXNpYW4gZ2VvbWV0cmllcyEKKwogR2VuZXJhbCBQYXJ0aWNsZSBGaWVsZHMK
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj0yMAoKZGlmZiAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5
OTUxNjBkNDVmNGI4ZjMwMTU5ZDRiIC1yIDEzMGIzZjRlNzE1ZjNkZGI5ZGJhM2NkPQo3NDQ3YmU5
OThlNzk0MjI3YiBkb2Mvc291cmNlL2Nvb2tib29rL2NhbGN1bGF0aW5nX2luZm9ybWF0aW9uLnJz
dAotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2NhbGN1bGF0aW5nX2luZm9ybWF0aW9uLnJzdAor
KysgYi9kb2Mvc291cmNlL2Nvb2tib29rL2NhbGN1bGF0aW5nX2luZm9ybWF0aW9uLnJzdApAQCAt
ODIsNiArODIsMTcgQEAKPTIwCiAuLiB5dF9jb29rYm9vazo6IGRlcml2ZWRfZmllbGQucHkKPTIw
CisuLiBfY29va2Jvb2stY29tcGxpY2F0ZWQtZGVyaXZlZC1maWVsZHM6CisKK0NvbXBsaWNhdGVk
IERlcml2ZWQgRmllbGRzCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitUaGlzIHJlY2lw
ZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHVzZSB0aGU9MjAKKzptZXRoOmB+eXQuZnJvbnRlbmRzLmZs
YXNoLmRhdGFfc3RydWN0dXJlcy5GTEFTSERhdGFzZXQuYWRkX2dyYWRpZW50X2ZpZWxkPQpzYCBt
ZXRob2QKK3RvIGdlbmVyYXRlIGdyYWRpZW50IGZpZWxkcyBhbmQgdXNlIHRoZW0gaW4gYSBtb3Jl
IGNvbXBsZXggZGVyaXZlZCBmaWVsZC49MjAKKworLi4geXRfY29va2Jvb2s6OiBoc2VfZmllbGQu
cHkKKwogVXNpbmcgUGFydGljbGUgRmlsdGVycyB0byBDYWxjdWxhdGUgU3RhciBGb3JtYXRpb24g
UmF0ZXMKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+Cj0yMAoKZGlmZiAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5OTUxNjBkNDVmNGI4ZjMwMTU5
ZDRiIC1yIDEzMGIzZjRlNzE1ZjNkZGI5ZGJhM2NkPQo3NDQ3YmU5OThlNzk0MjI3YiBkb2Mvc291
cmNlL2Nvb2tib29rL2hzZV9maWVsZC5weQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2hzZV9m
aWVsZC5weQorKysgYi9kb2Mvc291cmNlL2Nvb2tib29rL2hzZV9maWVsZC5weQpAQCAtMSw0NCAr
MSwzMiBAQAogaW1wb3J0IG51bXB5IGFzIG5wCiBpbXBvcnQgeXQKPTIwCi1mcm9tIHl0LmZpZWxk
cy5maWVsZF9wbHVnaW5fcmVnaXN0cnkgaW1wb3J0IFwKLSAgICByZWdpc3Rlcl9maWVsZF9wbHVn
aW4KLWZyb20geXQuZmllbGRzLmZsdWlkX2ZpZWxkcyBpbXBvcnQgXAotICAgIHNldHVwX2dyYWRp
ZW50X2ZpZWxkcwotCi0KLSMgRGVmaW5lIHRoZSBjb21wb25lbnRzIG9mIHRoZSBncmF2aXRhdGlv
bmFsIGFjY2VsZXJhdGlvbiB2ZWN0b3IgZmllbGQgYnkKLSMgdGFraW5nIHRoZSBncmFkaWVudCBv
ZiB0aGUgZ3Jhdml0YXRpb25hbCBwb3RlbnRpYWwKLUByZWdpc3Rlcl9maWVsZF9wbHVnaW4KLWRl
ZiBzZXR1cF9teV9maWVsZHMocmVnaXN0cnksIGZ0eXBlPTNEImdhcyIsIHNsaWNlX2luZm89M0RO
b25lKToKLSAgICBzZXR1cF9ncmFkaWVudF9maWVsZHMocmVnaXN0cnksIChmdHlwZSwgImdyYXZp
dGF0aW9uYWxfcG90ZW50aWFsIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJjbSAqKiAy
IC8gcyAqKiAyIiwgc2xpY2VfaW5mbykKLQotIyBEZWZpbmUgdGhlICJkZWdyZWUgb2YgaHlkcm9z
dGF0aWMgZXF1aWxpYnJpdW0iIGZpZWxkCi0KLQotQHl0LmRlcml2ZWRfZmllbGQobmFtZT0zRCdI
U0UnLCB1bml0cz0zRE5vbmUsIHRha2VfbG9nPTNERmFsc2UsCi0gICAgICAgICAgICAgICAgICBk
aXNwbGF5X25hbWU9M0QnSHlkcm9zdGF0aWMgRXF1aWxpYnJpdW0nKQotZGVmIEhTRShmaWVsZCwg
ZGF0YSk6Ci0KLSAgICBneCA9M0QgZGF0YVsiZGVuc2l0eSJdICogZGF0YVsiZ3Jhdml0YXRpb25h
bF9wb3RlbnRpYWxfZ3JhZGllbnRfeCJdCi0gICAgZ3kgPTNEIGRhdGFbImRlbnNpdHkiXSAqIGRh
dGFbImdyYXZpdGF0aW9uYWxfcG90ZW50aWFsX2dyYWRpZW50X3kiXQotICAgIGd6ID0zRCBkYXRh
WyJkZW5zaXR5Il0gKiBkYXRhWyJncmF2aXRhdGlvbmFsX3BvdGVudGlhbF9ncmFkaWVudF96Il0K
LQotICAgIGh4ID0zRCBkYXRhWyJwcmVzc3VyZV9ncmFkaWVudF94Il0gLSBneAotICAgIGh5ID0z
RCBkYXRhWyJwcmVzc3VyZV9ncmFkaWVudF95Il0gLSBneQotICAgIGh6ID0zRCBkYXRhWyJwcmVz
c3VyZV9ncmFkaWVudF96Il0gLSBnegotCi0gICAgaCA9M0QgbnAuc3FydCgoaHggKiBoeCArIGh5
ICogaHkgKyBoeiAqIGh6KSAvIChneCAqIGd4ICsgZ3kgKiBneSArIGd6ID0KKiBneikpCi0KLSAg
ICByZXR1cm4gaAotCi0KICMgT3BlbiBhIGRhdGFzZXQgZnJvbSB3aGVuIHRoZXJlJ3MgYSBsb3Qg
b2Ygc2xvc2hpbmcgZ29pbmcgb24uCj0yMAogZHMgPTNEIHl0LmxvYWQoIkdhc1Nsb3NoaW5nTG93
UmVzL3Nsb3NoaW5nX2xvd19yZXNfaGRmNV9wbHRfY250XzAzNTAiKQo9MjAKLSMgZ3JhZGllbnQg
b3BlcmF0b3IgcmVxdWlyZXMgcGVyaW9kaWMgYm91bmRhcmllcy4gIFRoaXMgZGF0YXNldCBoYXMK
KyMgRGVmaW5lIHRoZSBjb21wb25lbnRzIG9mIHRoZSBncmF2aXRhdGlvbmFsIGFjY2VsZXJhdGlv
biB2ZWN0b3IgZmllbGQgYnkKKyMgdGFraW5nIHRoZSBncmFkaWVudCBvZiB0aGUgZ3Jhdml0YXRp
b25hbCBwb3RlbnRpYWwKK2dyYWRfZmllbGRzID0zRCBkcy5hZGRfZ3JhZGllbnRfZmllbGRzKCgi
Z2FzIiwiZ3Jhdml0YXRpb25hbF9wb3RlbnRpYWwiKSkKKworIyBXZSBkb24ndCBuZWVkIHRvIGRv
IHRoZSBzYW1lIGZvciB0aGUgcHJlc3N1cmUgZmllbGQgYmVjYXVzZSB5dCBhbHJlYWR5CisjIGhh
cyBwcmVzc3VyZSBncmFkaWVudCBmaWVsZHMuIE5vdywgZGVmaW5lIHRoZSAiZGVncmVlIG9mIGh5
ZHJvc3RhdGljPTIwCisjIGVxdWlsaWJyaXVtIiBmaWVsZC4KKworZGVmIF9oc2UoZmllbGQsIGRh
dGEpOgorICAgICMgUmVtZW1iZXIgdGhhdCBnIGlzIHRoZSBuZWdhdGl2ZSBvZiB0aGUgcG90ZW50
aWFsIGdyYWRpZW50CisgICAgZ3ggPTNEIC1kYXRhWyJkZW5zaXR5Il0gKiBkYXRhWyJncmF2aXRh
dGlvbmFsX3BvdGVudGlhbF9ncmFkaWVudF94Il0KKyAgICBneSA9M0QgLWRhdGFbImRlbnNpdHki
XSAqIGRhdGFbImdyYXZpdGF0aW9uYWxfcG90ZW50aWFsX2dyYWRpZW50X3kiXQorICAgIGd6ID0z
RCAtZGF0YVsiZGVuc2l0eSJdICogZGF0YVsiZ3Jhdml0YXRpb25hbF9wb3RlbnRpYWxfZ3JhZGll
bnRfeiJdCisgICAgaHggPTNEIGRhdGFbInByZXNzdXJlX2dyYWRpZW50X3giXSAtIGd4CisgICAg
aHkgPTNEIGRhdGFbInByZXNzdXJlX2dyYWRpZW50X3kiXSAtIGd5CisgICAgaHogPTNEIGRhdGFb
InByZXNzdXJlX2dyYWRpZW50X3oiXSAtIGd6CisgICAgaCA9M0QgbnAuc3FydCgoaHggKiBoeCAr
IGh5ICogaHkgKyBoeiAqIGh6KSAvIChneCAqIGd4ICsgZ3kgKiBneSArIGd6ID0KKiBneikpCisg
ICAgcmV0dXJuIGgKK2RzLmFkZF9maWVsZCgoJ2dhcycsJ0hTRScpLCBmdW5jdGlvbj0zRF9oc2Us
IHVuaXRzPTNEIiIsIHRha2VfbG9nPTNERmFsc2UsCisgICAgICAgICAgICAgZGlzcGxheV9uYW1l
PTNEJ0h5ZHJvc3RhdGljIEVxdWlsaWJyaXVtJykKKworIyBUaGUgZ3JhZGllbnQgb3BlcmF0b3Ig
cmVxdWlyZXMgcGVyaW9kaWMgYm91bmRhcmllcy4gIFRoaXMgZGF0YXNldCBoYXMKICMgb3BlbiBi
b3VuZGFyeSBjb25kaXRpb25zLiAgV2UgbmVlZCB0byBoYWNrIGl0IGZvciBub3cgKHRoaXMgd2ls
bCBiZSBmaXhlZAogIyBpbiBmdXR1cmUgdmVyc2lvbiBvZiB5dCkKIGRzLnBlcmlvZGljaXR5ID0z
RCAoVHJ1ZSwgVHJ1ZSwgVHJ1ZSkKCmRpZmYgLXIgYWMzOTNmMDA0NTY3NGVlYWY3OTk1MTYwZDQ1
ZjRiOGYzMDE1OWQ0YiAtciAxMzBiM2Y0ZTcxNWYzZGRiOWRiYTNjZD0KNzQ0N2JlOTk4ZTc5NDIy
N2IgeXQvZGF0YV9vYmplY3RzL2NvbnN0cnVjdGlvbl9kYXRhX2NvbnRhaW5lcnMucHkKLS0tIGEv
eXQvZGF0YV9vYmplY3RzL2NvbnN0cnVjdGlvbl9kYXRhX2NvbnRhaW5lcnMucHkKKysrIGIveXQv
ZGF0YV9vYmplY3RzL2NvbnN0cnVjdGlvbl9kYXRhX2NvbnRhaW5lcnMucHkKQEAgLTkyLDcgKzky
LDcgQEAKICAgICA+Pj4gc3RyZWFtbGluZXMgPTNEIFN0cmVhbWxpbmVzKGRzLCBbMC41XSozKQog
ICAgID4+PiBzdHJlYW1saW5lcy5pbnRlZ3JhdGVfdGhyb3VnaF92b2x1bWUoKQogICAgID4+PiBz
dHJlYW0gPTNEIHN0cmVhbWxpbmVzLnBhdGgoMCkKLSAgICA+Pj4gbWF0cGxvdGxpYi5weWxhYi5z
ZW1pbG9neShzdHJlYW1bJ3QnXSwgc3RyZWFtWydEZW5zaXR5J10sICcteCcpCisgICAgPj4+IG1h
dHBsb3RsaWIucHlsYWIuc2VtaWxvZ3koc3RyZWFtWyd0J10sIHN0cmVhbVsnZGVuc2l0eSddLCAn
LXgnKQo9MjAKICAgICAiIiIKICAgICBfdHlwZV9uYW1lID0zRCAic3RyZWFtbGluZSIKQEAgLTk5
MSwxMiArOTkxLDEzIEBACiAgICAgVGhpcyB3aWxsIGNyZWF0ZSBhIGRhdGEgb2JqZWN0LCBmaW5k
IGEgbmljZSB2YWx1ZSBpbiB0aGUgY2VudGVyLCBhbmQKICAgICBvdXRwdXQgdGhlIHZlcnRpY2Vz
IHRvICJ0cmlhbmdsZXMub2JqIiBhZnRlciByZXNjYWxpbmcgdGhlbS4KPTIwCisgICAgPj4+IGZy
b20geXQudW5pdHMgaW1wb3J0IGtwYwogICAgID4+PiBzcCA9M0QgZHMuc3BoZXJlKCJtYXgiLCAo
MTAsICJrcGMiKQotICAgID4+PiBzdXJmID0zRCBkcy5zdXJmYWNlKHNwLCAiRGVuc2l0eSIsIDVl
LTI3KQotICAgID4+PiBwcmludCBzdXJmWyJUZW1wZXJhdHVyZSJdCisgICAgPj4+IHN1cmYgPTNE
IGRzLnN1cmZhY2Uoc3AsICJkZW5zaXR5IiwgNWUtMjcpCisgICAgPj4+IHByaW50IHN1cmZbInRl
bXBlcmF0dXJlIl0KICAgICA+Pj4gcHJpbnQgc3VyZi52ZXJ0aWNlcwotICAgID4+PiBib3VuZHMg
PTNEIFsoc3AuY2VudGVyW2ldIC0gNS4wL2RzWydrcGMnXSwKLSAgICAuLi4gICAgICAgICAgICBz
cC5jZW50ZXJbaV0gKyA1LjAvZHNbJ2twYyddKSBmb3IgaSBpbiByYW5nZSgzKV0KKyAgICA+Pj4g
Ym91bmRzID0zRCBbKHNwLmNlbnRlcltpXSAtIDUuMCprcGMsCisgICAgLi4uICAgICAgICAgICAg
c3AuY2VudGVyW2ldICsgNS4wKmtwYykgZm9yIGkgaW4gcmFuZ2UoMyldCiAgICAgPj4+IHN1cmYu
ZXhwb3J0X3BseSgibXlfZ2FsYXh5LnBseSIsIGJvdW5kcyA9M0QgYm91bmRzKQogICAgICIiIgog
ICAgIF90eXBlX25hbWUgPTNEICJzdXJmYWNlIgpAQCAtMTExNyw5ICsxMTE4LDkgQEAKICAgICAg
ICAgY2FsY3VsYXRlIHRoZSBtZXRhbCBmbHV4IG92ZXIgaXQuCj0yMAogICAgICAgICA+Pj4gc3Ag
PTNEIGRzLnNwaGVyZSgibWF4IiwgKDEwLCAia3BjIikKLSAgICAgICAgPj4+IHN1cmYgPTNEIGRz
LnN1cmZhY2Uoc3AsICJEZW5zaXR5IiwgNWUtMjcpCisgICAgICAgID4+PiBzdXJmID0zRCBkcy5z
dXJmYWNlKHNwLCAiZGVuc2l0eSIsIDVlLTI3KQogICAgICAgICA+Pj4gZmx1eCA9M0Qgc3VyZi5j
YWxjdWxhdGVfZmx1eCgKLSAgICAgICAgLi4uICAgICAidmVsb2NpdHlfeCIsICJ2ZWxvY2l0eV95
IiwgInZlbG9jaXR5X3oiLCAiTWV0YWxfRGVuc2l0eSIpCisgICAgICAgIC4uLiAgICAgInZlbG9j
aXR5X3giLCAidmVsb2NpdHlfeSIsICJ2ZWxvY2l0eV96IiwgIm1ldGFsX2RlbnNpdHkiKQogICAg
ICAgICAiIiIKICAgICAgICAgZmx1eCA9M0QgMC4wCiAgICAgICAgIG15bG9nLmluZm8oIkZsdXhp
bmcgJXMiLCBmbHV4aW5nX2ZpZWxkKQpAQCAtMTIwNCwxOCArMTIwNSwxOCBAQAogICAgICAgICA+
Pj4gc3AgPTNEIGRzLnNwaGVyZSgibWF4IiwgKDEwLCAia3BjIikpCiAgICAgICAgID4+PiB0cmFu
cyA9M0QgMS4wCiAgICAgICAgID4+PiBkaXN0ZiA9M0QgMy4xZTE4KjFlMyAjIGRpc3RhbmNlcyBp
bnRvIGtwYwotICAgICAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFjZShzcCwgIkRlbnNpdHkiLCA1
ZS0yNykKKyAgICAgICAgPj4+IHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsICJkZW5zaXR5IiwgNWUt
MjcpCiAgICAgICAgID4+PiBzdXJmLmV4cG9ydF9vYmooIm15X2dhbGF4eSIsIHRyYW5zcGFyZW5j
eT0zRHRyYW5zLCBkaXN0X2ZhYyA9Cj0zRCBkaXN0ZikKPTIwCiAgICAgICAgID4+PiBzcCA9M0Qg
ZHMuc3BoZXJlKCJtYXgiLCAoMTAsICJrcGMiKSkKLSAgICAgICAgPj4+IG1pLCBtYSA9M0Qgc3Au
cXVhbnRpdGllc1snRXh0cmVtYSddKCdUZW1wZXJhdHVyZScpWzBdCisgICAgICAgID4+PiBtaSwg
bWEgPTNEIHNwLnF1YW50aXRpZXMuZXh0cmVtYSgndGVtcGVyYXR1cmUnKVswXQogICAgICAgICA+
Pj4gcmhvcyA9M0QgWzFlLTI0LCAxZS0yNV0KICAgICAgICAgPj4+IHRyYW5zID0zRCBbMC41LCAx
LjBdCiAgICAgICAgID4+PiBkaXN0ZiA9M0QgMy4xZTE4KjFlMyAjIGRpc3RhbmNlcyBpbnRvIGtw
YwogICAgICAgICA+Pj4gZm9yIGksIHIgaW4gZW51bWVyYXRlKHJob3MpOgotICAgICAgICAuLi4g
ICAgIHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsJ0RlbnNpdHknLHIpCisgICAgICAgIC4uLiAgICAg
c3VyZiA9M0QgZHMuc3VyZmFjZShzcCwnZGVuc2l0eScscikKICAgICAgICAgLi4uICAgICBzdXJm
LmV4cG9ydF9vYmooIm15X2dhbGF4eSIsIHRyYW5zcGFyZW5jeT0zRHRyYW5zW2ldLD0yMAotICAg
ICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgY29sb3JfZmllbGQ9M0QnVGVtcGVyYXR1cmUn
LCBkaXN0X2ZhYyA9M0Q9CiBkaXN0Ziw9MjAKKyAgICAgICAgLi4uICAgICAgICAgICAgICAgICAg
ICAgIGNvbG9yX2ZpZWxkPTNEJ3RlbXBlcmF0dXJlJywgZGlzdF9mYWMgPTNEPQogZGlzdGYsPTIw
CiAgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICBwbG90X2luZGV4ID0zRCBpLCBjb2xv
cl9maWVsZF9tYXggPTNEIG1hLD0yMAogICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAg
Y29sb3JfZmllbGRfbWluID0zRCBtaSkKPTIwCkBAIC0xMjI0LDEyICsxMjI1LDEyIEBACiAgICAg
ICAgID4+PiB0cmFucyA9M0QgWzAuNSwgMS4wXQogICAgICAgICA+Pj4gZGlzdGYgPTNEIDMuMWUx
OCoxZTMgIyBkaXN0YW5jZXMgaW50byBrcGMKICAgICAgICAgPj4+IGRlZiBfRW1pc3Npdml0eShm
aWVsZCwgZGF0YSk6Ci0gICAgICAgIC4uLiAgICAgcmV0dXJuIChkYXRhWydEZW5zaXR5J10qZGF0
YVsnRGVuc2l0eSddKm5wLnNxcnQoZGF0YVsnVGVtcD0KZXJhdHVyZSddKSkKLSAgICAgICAgPj4+
IGFkZF9maWVsZCgiRW1pc3Npdml0eSIsIGZ1bmN0aW9uPTNEX0VtaXNzaXZpdHksIHVuaXRzPTNE
ciJccm17PQpnIEt9L1xybXtjbX1eezZ9IikKKyAgICAgICAgLi4uICAgICByZXR1cm4gKGRhdGFb
J2RlbnNpdHknXSpkYXRhWydkZW5zaXR5J10qbnAuc3FydChkYXRhWyd0ZW1wPQplcmF0dXJlJ10p
KQorICAgICAgICA+Pj4gZHMuYWRkX2ZpZWxkKCJlbWlzc2l2aXR5IiwgZnVuY3Rpb249M0RfRW1p
c3Npdml0eSwgdW5pdHM9M0RyImc9CipLL2NtKio2IikKICAgICAgICAgPj4+IGZvciBpLCByIGlu
IGVudW1lcmF0ZShyaG9zKToKLSAgICAgICAgLi4uICAgICBzdXJmID0zRCBkcy5zdXJmYWNlKHNw
LCdEZW5zaXR5JyxyKQotICAgICAgICAuLi4gICAgIHN1cmYuZXhwb3J0X29iaigibXlfZ2FsYXh5
IiwgdHJhbnNwYXJlbmN5PTNEdHJhbnNbaV0sPTIwCi0gICAgICAgIC4uLiAgICAgICAgICAgICAg
ICAgICAgICBjb2xvcl9maWVsZD0zRCdUZW1wZXJhdHVyZScsIGVtaXRfZmllbGQgPQo9M0QgJ0Vt
aXNzaXZpdHknLD0yMAorICAgICAgICAuLi4gICAgIHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsJ2Rl
bnNpdHknLHIpCisgICAgICAgIC4uLiAgICAgc3VyZi5leHBvcnRfb2JqKCJteV9nYWxheHkiLCB0
cmFuc3BhcmVuY3k9M0R0cmFuc1tpXSwKKyAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAg
IGNvbG9yX2ZpZWxkPTNEJ3RlbXBlcmF0dXJlJywgZW1pdF9maWVsZCA9Cj0zRCAnZW1pc3Npdml0
eScsCiAgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICBkaXN0X2ZhYyA9M0QgZGlzdGYs
IHBsb3RfaW5kZXggPTNEIGkpCj0yMAogICAgICAgICAiIiIKQEAgLTE0NTksMTggKzE0NjAsMTgg
QEAKICAgICAgICAgPj4+IHNwID0zRCBkcy5zcGhlcmUoIm1heCIsICgxMCwgImtwYyIpKQogICAg
ICAgICA+Pj4gdHJhbnMgPTNEIDEuMAogICAgICAgICA+Pj4gZGlzdGYgPTNEIDMuMWUxOCoxZTMg
IyBkaXN0YW5jZXMgaW50byBrcGMKLSAgICAgICAgPj4+IHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3As
ICJEZW5zaXR5IiwgNWUtMjcpCisgICAgICAgID4+PiBzdXJmID0zRCBkcy5zdXJmYWNlKHNwLCAi
ZGVuc2l0eSIsIDVlLTI3KQogICAgICAgICA+Pj4gc3VyZi5leHBvcnRfb2JqKCJteV9nYWxheHki
LCB0cmFuc3BhcmVuY3k9M0R0cmFucywgZGlzdF9mYWMgPQo9M0QgZGlzdGYpCj0yMAogICAgICAg
ICA+Pj4gc3AgPTNEIGRzLnNwaGVyZSgibWF4IiwgKDEwLCAia3BjIikpCi0gICAgICAgID4+PiBt
aSwgbWEgPTNEIHNwLnF1YW50aXRpZXNbJ0V4dHJlbWEnXSgnVGVtcGVyYXR1cmUnKVswXQorICAg
ICAgICA+Pj4gbWksIG1hID0zRCBzcC5xdWFudGl0aWVzLmV4dHJlbWEoJ3RlbXBlcmF0dXJlJylb
MF0KICAgICAgICAgPj4+IHJob3MgPTNEIFsxZS0yNCwgMWUtMjVdCiAgICAgICAgID4+PiB0cmFu
cyA9M0QgWzAuNSwgMS4wXQogICAgICAgICA+Pj4gZGlzdGYgPTNEIDMuMWUxOCoxZTMgIyBkaXN0
YW5jZXMgaW50byBrcGMKICAgICAgICAgPj4+IGZvciBpLCByIGluIGVudW1lcmF0ZShyaG9zKToK
LSAgICAgICAgLi4uICAgICBzdXJmID0zRCBkcy5zdXJmYWNlKHNwLCdEZW5zaXR5JyxyKQorICAg
ICAgICAuLi4gICAgIHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsJ2RlbnNpdHknLHIpCiAgICAgICAg
IC4uLiAgICAgc3VyZi5leHBvcnRfb2JqKCJteV9nYWxheHkiLCB0cmFuc3BhcmVuY3k9M0R0cmFu
c1tpXSwKLSAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgIGNvbG9yX2ZpZWxkPTNEJ1Rl
bXBlcmF0dXJlJywgZGlzdF9mYWMgPTNEPQogZGlzdGYsCisgICAgICAgIC4uLiAgICAgICAgICAg
ICAgICAgICAgICBjb2xvcl9maWVsZD0zRCd0ZW1wZXJhdHVyZScsIGRpc3RfZmFjID0zRD0KIGRp
c3RmLAogICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgcGxvdF9pbmRleCA9M0QgaSwg
Y29sb3JfZmllbGRfbWF4ID0zRCBtYSwKICAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAg
IGNvbG9yX2ZpZWxkX21pbiA9M0QgbWkpCj0yMApAQCAtMTQ3OSwxMiArMTQ4MCwxMiBAQAogICAg
ICAgICA+Pj4gdHJhbnMgPTNEIFswLjUsIDEuMF0KICAgICAgICAgPj4+IGRpc3RmID0zRCAzLjFl
MTgqMWUzICMgZGlzdGFuY2VzIGludG8ga3BjCiAgICAgICAgID4+PiBkZWYgX0VtaXNzaXZpdHko
ZmllbGQsIGRhdGEpOgotICAgICAgICAuLi4gICAgIHJldHVybiAoZGF0YVsnRGVuc2l0eSddKmRh
dGFbJ0RlbnNpdHknXSpucC5zcXJ0KGRhdGFbJ1RlbXA9CmVyYXR1cmUnXSkpCi0gICAgICAgID4+
PiBhZGRfZmllbGQoIkVtaXNzaXZpdHkiLCBmdW5jdGlvbj0zRF9FbWlzc2l2aXR5LCB1bml0cz0z
RHIiXHJtez0KZyBLfS9ccm17Y219Xns2fSIpCisgICAgICAgIC4uLiAgICAgcmV0dXJuIChkYXRh
WydkZW5zaXR5J10qZGF0YVsnZGVuc2l0eSddKm5wLnNxcnQoZGF0YVsndGVtcD0KZXJhdHVyZSdd
KSkKKyAgICAgICAgPj4+IGRzLmFkZF9maWVsZCgiZW1pc3Npdml0eSIsIGZ1bmN0aW9uPTNEX0Vt
aXNzaXZpdHksIHVuaXRzPTNEImcgPQovIGNtKio2IikKICAgICAgICAgPj4+IGZvciBpLCByIGlu
IGVudW1lcmF0ZShyaG9zKToKLSAgICAgICAgLi4uICAgICBzdXJmID0zRCBkcy5zdXJmYWNlKHNw
LCdEZW5zaXR5JyxyKQorICAgICAgICAuLi4gICAgIHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsJ2Rl
bnNpdHknLHIpCiAgICAgICAgIC4uLiAgICAgc3VyZi5leHBvcnRfb2JqKCJteV9nYWxheHkiLCB0
cmFuc3BhcmVuY3k9M0R0cmFuc1tpXSwKLSAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAg
IGNvbG9yX2ZpZWxkPTNEJ1RlbXBlcmF0dXJlJywgZW1pdF9maWVsZCA9Cj0zRCAnRW1pc3Npdml0
eScsCisgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICBjb2xvcl9maWVsZD0zRCd0ZW1w
ZXJhdHVyZScsIGVtaXRfZmllbGQgPQo9M0QgJ2VtaXNzaXZpdHknLAogICAgICAgICAuLi4gICAg
ICAgICAgICAgICAgICAgICAgZGlzdF9mYWMgPTNEIGRpc3RmLCBwbG90X2luZGV4ID0zRCBpKQo9
MjAKICAgICAgICAgIiIiCkBAIC0xNTgxLDEyICsxNTgyLDEzIEBACiAgICAgICAgIEV4YW1wbGVz
CiAgICAgICAgIC0tLS0tLS0tCj0yMAorICAgICAgICA+Pj4gZnJvbSB5dC51bml0cyBpbXBvcnQg
a3BjCiAgICAgICAgID4+PiBzcCA9M0QgZHMuc3BoZXJlKCJtYXgiLCAoMTAsICJrcGMiKQotICAg
ICAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFjZShzcCwgIkRlbnNpdHkiLCA1ZS0yNykKLSAgICAg
ICAgPj4+IHByaW50IHN1cmZbIlRlbXBlcmF0dXJlIl0KKyAgICAgICAgPj4+IHN1cmYgPTNEIGRz
LnN1cmZhY2Uoc3AsICJkZW5zaXR5IiwgNWUtMjcpCisgICAgICAgID4+PiBwcmludCBzdXJmWyJ0
ZW1wZXJhdHVyZSJdCiAgICAgICAgID4+PiBwcmludCBzdXJmLnZlcnRpY2VzCi0gICAgICAgID4+
PiBib3VuZHMgPTNEIFsoc3AuY2VudGVyW2ldIC0gNS4wL2RzWydrcGMnXSwKLSAgICAgICAgLi4u
ICAgICAgICAgICAgc3AuY2VudGVyW2ldICsgNS4wL2RzWydrcGMnXSkgZm9yIGkgaW4gcmFuZ2Uo
MyldCisgICAgICAgID4+PiBib3VuZHMgPTNEIFsoc3AuY2VudGVyW2ldIC0gNS4wKmtwYywKKyAg
ICAgICAgLi4uICAgICAgICAgICAgc3AuY2VudGVyW2ldICsgNS4wKmtwYykgZm9yIGkgaW4gcmFu
Z2UoMyldCiAgICAgICAgID4+PiBzdXJmLmV4cG9ydF9wbHkoIm15X2dhbGF4eS5wbHkiLCBib3Vu
ZHMgPTNEIGJvdW5kcykKICAgICAgICAgIiIiCiAgICAgICAgIGlmIHNlbGYudmVydGljZXMgaXMg
Tm9uZToKQEAgLTE3MTYsMTggKzE3MTgsMTcgQEAKICAgICAgICAgRXhhbXBsZXMKICAgICAgICAg
LS0tLS0tLS0KPTIwCi0gICAgICAgID4+PiBmcm9tIHl0Lm1vZHMgaW1wb3J0ICoKLSAgICAgICAg
Pj4+IGRzID0zRCBsb2FkKCJyZWRzaGlmdDAwNTgiKQorICAgICAgICA+Pj4gZnJvbSB5dC51bml0
cyBpbXBvcnQga3BjCiAgICAgICAgID4+PiBkZCA9M0QgZHMuc3BoZXJlKCJtYXgiLCAoMjAwLCAi
a3BjIikpCiAgICAgICAgID4+PiByaG8gPTNEIDVlLTI3Ci0gICAgICAgID4+PiBib3VuZHMgPTNE
IFsoZGQuY2VudGVyW2ldIC0gMTAwLjAvZHNbJ2twYyddLAotICAgICAgICAuLi4gICAgICAgICAg
ICBkZC5jZW50ZXJbaV0gKyAxMDAuMC9kc1sna3BjJ10pIGZvciBpIGluIHJhbmdlKDMpXQorICAg
ICAgICA+Pj4gYm91bmRzID0zRCBbKGRkLmNlbnRlcltpXSAtIDEwMC4wKmtwYywKKyAgICAgICAg
Li4uICAgICAgICAgICAgZGQuY2VudGVyW2ldICsgMTAwLjAqa3BjKSBmb3IgaSBpbiByYW5nZSgz
KV0KICAgICAgICAgLi4uCi0gICAgICAgID4+PiBzdXJmID0zRCBkcy5zdXJmYWNlKGRkLCAiRGVu
c2l0eSIsIHJobykKKyAgICAgICAgPj4+IHN1cmYgPTNEIGRzLnN1cmZhY2UoZGQsICJkZW5zaXR5
IiwgcmhvKQogICAgICAgICA+Pj4gcnYgPTNEIHN1cmYuZXhwb3J0X3NrZXRjaGZhYigKICAgICAg
ICAgLi4uICAgICB0aXRsZSA9M0QgIlRlc3RpbmcgVXBsb2FkIiwKICAgICAgICAgLi4uICAgICBk
ZXNjcmlwdGlvbiA9M0QgIkEgc2ltcGxlIHRlc3Qgb2YgdGhlIHVwbG9hZGVyIiwKLSAgICAgICAg
Li4uICAgICBjb2xvcl9maWVsZCA9M0QgIlRlbXBlcmF0dXJlIiwKKyAgICAgICAgLi4uICAgICBj
b2xvcl9maWVsZCA9M0QgInRlbXBlcmF0dXJlIiwKICAgICAgICAgLi4uICAgICBjb2xvcl9tYXAg
PTNEICJob3QiLAogICAgICAgICAuLi4gICAgIGNvbG9yX2xvZyA9M0QgVHJ1ZSwKICAgICAgICAg
Li4uICAgICBib3VuZHMgPTNEIGJvdW5kcykKCmRpZmYgLXIgYWMzOTNmMDA0NTY3NGVlYWY3OTk1
MTYwZDQ1ZjRiOGYzMDE1OWQ0YiAtciAxMzBiM2Y0ZTcxNWYzZGRiOWRiYTNjZD0KNzQ0N2JlOTk4
ZTc5NDIyN2IgeXQvZGF0YV9vYmplY3RzL3N0YXRpY19vdXRwdXQucHkKLS0tIGEveXQvZGF0YV9v
YmplY3RzL3N0YXRpY19vdXRwdXQucHkKKysrIGIveXQvZGF0YV9vYmplY3RzL3N0YXRpY19vdXRw
dXQucHkKQEAgLTM1LDYgKzM1LDggQEAKICAgICBWYWxpZGF0ZVNwYXRpYWwKIGZyb20geXQuZmll
bGRzLmZpZWxkX2luZm9fY29udGFpbmVyIGltcG9ydCBcCiAgICAgRmllbGRJbmZvQ29udGFpbmVy
LCBOdWxsRnVuYworZnJvbSB5dC5maWVsZHMuZmx1aWRfZmllbGRzIGltcG9ydCBcCisgICAgc2V0
dXBfZ3JhZGllbnRfZmllbGRzCiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5wYXJ0aWNsZV9maWx0ZXJz
IGltcG9ydCBcCiAgICAgZmlsdGVyX3JlZ2lzdHJ5CiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5wYXJ0
aWNsZV91bmlvbnMgaW1wb3J0IFwKQEAgLTk2NSw2ICs5NjcsNTAgQEAKICAgICAgICAgICAgIHZh
bGlkYXRvcnM9M0RbVmFsaWRhdGVTcGF0aWFsKCldKQogICAgICAgICByZXR1cm4gKCJkZXBvc2l0
IiwgZmllbGRfbmFtZSkKPTIwCisgICAgZGVmIGFkZF9ncmFkaWVudF9maWVsZHMoc2VsZiwgaW5w
dXRfZmllbGQpOgorICAgICAgICAiIiJBZGQgZ3JhZGllbnQgZmllbGRzLj0yMAorCisgICAgICAg
IENyZWF0ZXMgZm91ciBuZXcgZ3JpZC1iYXNlZCBmaWVsZHMgdGhhdCByZXByZXNlbnQgdGhlIGNv
bXBvbmVudHMgb2YKKyAgICAgICAgdGhlIGdyYWRpZW50IG9mIGFuIGV4aXN0aW5nIGZpZWxkLCBw
bHVzIGFuIGV4dHJhIGZpZWxkIGZvciB0aGUgbWFnPQpuaXR1ZGUKKyAgICAgICAgb2YgdGhlIGdy
YWRpZW50LiBDdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgaW4gQ2FydGVzaWFuIGdlb21ldHJpZXMu
PQogVGhlPTIwCisgICAgICAgIGdyYWRpZW50IGlzIGNvbXB1dGVkIHVzaW5nIHNlY29uZC1vcmRl
ciBjZW50ZXJlZCBkaWZmZXJlbmNlcy49MjAKKworICAgICAgICBQYXJhbWV0ZXJzCisgICAgICAg
IC0tLS0tLS0tLS0KKyAgICAgICAgaW5wdXRfZmllbGQgOiB0dXBsZQorICAgICAgICAgICBUaGUg
ZmllbGQgbmFtZSB0dXBsZSBvZiB0aGUgcGFydGljbGUgZmllbGQgdGhlIGRlcG9zaXRlZCBmaWVs
ZCA9CndpbGwKKyAgICAgICAgICAgYmUgY3JlYXRlZCBmcm9tLiAgVGhpcyBtdXN0IGJlIGEgZmll
bGQgbmFtZSB0dXBsZSBzbyB5dCBjYW4KKyAgICAgICAgICAgYXBwcm9wcmlhdGVseSBpbmZlciB0
aGUgY29ycmVjdCBmaWVsZCB0eXBlLgorCisgICAgICAgIFJldHVybnMKKyAgICAgICAgLS0tLS0t
LQorICAgICAgICBBIGxpc3Qgb2YgZmllbGQgbmFtZSB0dXBsZXMgZm9yIHRoZSBuZXdseSBjcmVh
dGVkIGZpZWxkcy4KKyAgICAgICA9MjAKKyAgICAgICAgRXhhbXBsZXMKKyAgICAgICAgLS0tLS0t
LS0KKyAgICAgICAgPj4+IGdyYWRfZmllbGRzID0zRCBkcy5hZGRfZ3JhZGllbnRfZmllbGRzKCgi
Z2FzIiwidGVtcGVyYXR1cmUiKSkKKyAgICAgICAgPj4+IHByaW50KGdyYWRfZmllbGRzKQorICAg
ICAgICBbKCdnYXMnLCAndGVtcGVyYXR1cmVfZ3JhZGllbnRfeCcpLD0yMAorICAgICAgICAgKCdn
YXMnLCAndGVtcGVyYXR1cmVfZ3JhZGllbnRfeScpLD0yMAorICAgICAgICAgKCdnYXMnLCAndGVt
cGVyYXR1cmVfZ3JhZGllbnRfeicpLD0yMAorICAgICAgICAgKCdnYXMnLCAndGVtcGVyYXR1cmVf
Z3JhZGllbnRfbWFnbml0dWRlJyldCisgICAgICAgICIiIgorICAgICAgICBzZWxmLmluZGV4Cisg
ICAgICAgIGlmIGlzaW5zdGFuY2UoaW5wdXRfZmllbGQsIHR1cGxlKToKKyAgICAgICAgICAgIGZ0
eXBlLCBpbnB1dF9maWVsZCA9M0QgaW5wdXRfZmllbGRbMF0sIGlucHV0X2ZpZWxkWzFdCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKyAgICAgICAgdW5pdHMg
PTNEIHNlbGYuZmllbGRfaW5mb1tmdHlwZSwgaW5wdXRfZmllbGRdLnVuaXRzCisgICAgICAgIHNl
dHVwX2dyYWRpZW50X2ZpZWxkcyhzZWxmLmZpZWxkX2luZm8sIChmdHlwZSwgaW5wdXRfZmllbGQp
LCB1bml0cykKKyAgICAgICAgIyBOb3cgd2UgbWFrZSBhIGxpc3Qgb2YgdGhlIGZpZWxkcyB0aGF0
IHdlcmUganVzdCBtYWRlLCB0byBjaGVjayB0PQpoZW0KKyAgICAgICAgIyBhbmQgdG8gcmV0dXJu
IHRoZW0KKyAgICAgICAgZ3JhZF9maWVsZHMgPTNEIFsoZnR5cGUsaW5wdXRfZmllbGQrIl9ncmFk
aWVudF8lcyIgJSBzdWZmaXgpCisgICAgICAgICAgICAgICAgICAgICAgIGZvciBzdWZmaXggaW4g
Inh5eiJdCisgICAgICAgIGdyYWRfZmllbGRzLmFwcGVuZCgoZnR5cGUsaW5wdXRfZmllbGQrIl9n
cmFkaWVudF9tYWduaXR1ZGUiKSkKKyAgICAgICAgZGVwcywgXyA9M0Qgc2VsZi5maWVsZF9pbmZv
LmNoZWNrX2Rlcml2ZWRfZmllbGRzKGdyYWRfZmllbGRzKQorICAgICAgICBzZWxmLmZpZWxkX2Rl
cGVuZGVuY2llcy51cGRhdGUoZGVwcykKKyAgICAgICAgcmV0dXJuIGdyYWRfZmllbGRzCisKIGRl
ZiBfcmVjb25zdHJ1Y3RfZHMoKmFyZ3MsICoqa3dhcmdzKToKICAgICBkYXRhc2V0cyA9M0QgUGFy
YW1ldGVyRmlsZVN0b3JlKCkKICAgICBkcyA9M0QgZGF0YXNldHMuZ2V0X2RzX2hhc2goKmFyZ3Mp
CgpkaWZmIC1yIGFjMzkzZjAwNDU2NzRlZWFmNzk5NTE2MGQ0NWY0YjhmMzAxNTlkNGIgLXIgMTMw
YjNmNGU3MTVmM2RkYjlkYmEzY2Q9Cjc0NDdiZTk5OGU3OTQyMjdiIHl0L2ZpZWxkcy90ZXN0cy90
ZXN0X2ZpZWxkcy5weQotLS0gYS95dC9maWVsZHMvdGVzdHMvdGVzdF9maWVsZHMucHkKKysrIGIv
eXQvZmllbGRzL3Rlc3RzL3Rlc3RfZmllbGRzLnB5CkBAIC0xOTQsNiArMTk0LDE4IEBACiAgICAg
cmV0ID0zRCBhZFtmbl0KICAgICBhc3NlcnRfZXF1YWwocmV0LnN1bSgpLCBhZFsncGFydGljbGVf
b25lcyddLnN1bSgpKQo9MjAKK2RlZiB0ZXN0X2FkZF9ncmFkaWVudF9maWVsZHMoKToKKyAgICBn
ZmllbGRzID0zRCBiYXNlX2RzLmFkZF9ncmFkaWVudF9maWVsZHMoKCJnYXMiLCJkZW5zaXR5Iikp
CisgICAgZmllbGRfbGlzdCA9M0QgWygnZ2FzJywgJ2RlbnNpdHlfZ3JhZGllbnRfeCcpLAorICAg
ICAgICAgICAgICAgICAgKCdnYXMnLCAnZGVuc2l0eV9ncmFkaWVudF95JyksCisgICAgICAgICAg
ICAgICAgICAoJ2dhcycsICdkZW5zaXR5X2dyYWRpZW50X3onKSwKKyAgICAgICAgICAgICAgICAg
ICgnZ2FzJywgJ2RlbnNpdHlfZ3JhZGllbnRfbWFnbml0dWRlJyldCisgICAgYXNzZXJ0X2VxdWFs
KGdmaWVsZHMsIGZpZWxkX2xpc3QpCisgICAgYWQgPTNEIGJhc2VfZHMuYWxsX2RhdGEoKQorICAg
IGZvciBmaWVsZCBpbiBmaWVsZF9saXN0OgorICAgICAgICByZXQgPTNEIGFkW2ZpZWxkXQorICAg
ICAgICBhc3NlcnQgc3RyKHJldC51bml0cykgPTNEPTNEICJnL2NtKio0IgorCiBkZWYgZ2V0X2Rh
dGEoZHMsIGZpZWxkX25hbWUpOgogICAgICMgTmVlZCB0byBjcmVhdGUgYSBuZXcgZGF0YSBvYmpl
Y3Qgb3RoZXJ3aXNlIHRoZSBlcnJvcnMgd2UgYXJlCiAgICAgIyBpbnRlbnRpb25hbGx5IHJhaXNp
bmcgbGVhZCB0byBzcHVyaW91cyBHZW5lcmF0aW9uSW5Qcm9ncmVzcyBlcnJvcnMKCgpodHRwczov
L2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9kNWRlZDFlZWJlZDQvCkNoYW5n
ZXNldDogICBkNWRlZDFlZWJlZDQKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hj
a3IKRGF0ZTogICAgICAgIDIwMTUtMDYtMTUgMTQ6MTk6MzIrMDA6MDAKU3VtbWFyeTogICAgIFNl
dHVwIEV4b2R1c0lJVW5zdHJ1Y3R1cmVkTWVzaERhdGFzZXQKQWZmZWN0ZWQgIzogIDEgZmlsZQoK
ZGlmZiAtciBhYzM5M2YwMDQ1Njc0ZWVhZjc5OTUxNjBkNDVmNGI4ZjMwMTU5ZDRiIC1yIGQ1ZGVk
MWVlYmVkNDRmZjQ3ODNmMTcyPQo4NzczYjYwMzU0NThlZGVhOSB5dC9mcm9udGVuZHMvZXhvZHVz
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNpaS9kYXRhX3N0
cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2RhdGFfc3RydWN0dXJlcy5w
eQpAQCAtMTMsMTMgKzEzLDQwIEBACiAjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUg
Q09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgogIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS09Ci0tLS0KPTIwCitmcm9tIHl0LmZ1bmNzIGltcG9ydCAqCitmcm9tIHl0LmNvbmZp
ZyBpbXBvcnQgeXRjZmcKK2Zyb20geXQuZGF0YV9vYmplY3RzLmRhdGFfY29udGFpbmVycyBpbXBv
cnQgXAorICAgIFlURmllbGREYXRhLCBcCisgICAgWVREYXRhQ29udGFpbmVyLCBcCisgICAgWVRT
ZWxlY3Rpb25Db250YWluZXIKIGZyb20geXQuZGF0YV9vYmplY3RzLmdyaWRfcGF0Y2ggaW1wb3J0
IFwKICAgICBBTVJHcmlkUGF0Y2gKIGZyb20geXQuZ2VvbWV0cnkuZ3JpZF9nZW9tZXRyeV9oYW5k
bGVyIGltcG9ydCBcCiAgICAgR3JpZEluZGV4CiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5zdGF0aWNf
b3V0cHV0IGltcG9ydCBcCiAgICAgRGF0YXNldAorZnJvbSB5dC5nZW9tZXRyeS51bnN0cnVjdHVy
ZWRfbWVzaF9oYW5kbGVyIGltcG9ydCBcCisgICAgICAgICAgIFVuc3RydWN0dXJlZEluZGV4Citm
cm9tIHl0LmRhdGFfb2JqZWN0cy51bnN0cnVjdHVyZWRfbWVzaCBpbXBvcnQgXAorICAgICAgICAg
ICBTZW1pU3RydWN0dXJlZE1lc2gsIFwKKyAgICAgICAgICAgVW5zdHJ1Y3R1cmVkTWVzaAogZnJv
bSAuZmllbGRzIGltcG9ydCBFeG9kdXNJSUZpZWxkSW5mbworZnJvbSBtb29zZV9wYXJzZXIuZGF0
YSBpbXBvcnQgRGF0YQorCitjbGFzcyBFeG9kdXNJSUhhbmRsZXIob2JqZWN0KToKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgbGVmdF9lZGdlcywgcmlnaHRfZWRnZXMpOgorICAgICAgICBzZWxmLmxl
ZnRfZWRnZXMgPTNEIG5wLmFycmF5KGxlZnRfZWRnZXMpCisgICAgICAgIHNlbGYucmlnaHRfZWRn
ZXMgPTNEIG5wLmFycmF5KHJpZ2h0X2VkZ2VzKQorICAgICAgICAgICA9MjAKKyAgICBkZWYgZ2V0
X2ZpZWxkcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZmllbGRzLmFsbF9maWVsZHMKKwor
ICAgIGRlZiBnZXRfcGFydGljbGVfdHlwZShzZWxmLCBmaWVsZCkgOgorCisgICAgICAgIGlmIGZp
ZWxkIGluIHNlbGYucGFydGljbGVfdHlwZXMgOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFy
dGljbGVfdHlwZXNbZmllbGRdCisgICAgICAgIGVsc2UgOgorICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCj0yMAogY2xhc3MgRXhvZHVzSUlHcmlkKEFNUkdyaWRQYXRjaCk6CiAgICAgX2lkX29mZnNl
dCA9M0QgMApAQCAtODQsMzAgKzExMSwxNSBAQAogY2xhc3MgRXhvZHVzSUlEYXRhc2V0KERhdGFz
ZXQpOgogICAgIF9pbmRleF9jbGFzcyA9M0QgRXhvZHVzSUlIaWVyYXJjaHkKICAgICBfZmllbGRf
aW5mb19jbGFzcyA9M0QgRXhvZHVzSUlGaWVsZEluZm8KKyAgICBfZGF0YXNldF90eXBlID0zRCAn
ZXhvZHVzaWknCj0yMAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNldF90
eXBlPTNEJ2V4b2R1c2lpJywKLSAgICAgICAgICAgICAgICAgc3RvcmFnZV9maWxlbmFtZT0zRE5v
bmUsCi0gICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlPTNETm9uZSk6Ci0gICAgICAgIHNl
bGYuZmx1aWRfdHlwZXMgKz0zRCAoJ2V4b2R1c2lpJywpCi0gICAgICAgIERhdGFzZXQuX19pbml0
X18oc2VsZiwgZmlsZW5hbWUsIGRhdGFzZXRfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB1bml0c19vdmVycmlkZT0zRHVuaXRzX292ZXJyaWRlKQotICAgICAgICBzZWxmLnN0b3JhZ2Vf
ZmlsZW5hbWUgPTNEIHN0b3JhZ2VfZmlsZW5hbWUKLQotICAgIGRlZiBfc2V0X2NvZGVfdW5pdF9h
dHRyaWJ1dGVzKHNlbGYpOgotICAgICAgICAjIFRoaXMgaXMgd2hlcmUgcXVhbnRpdGllcyBhcmUg
Y3JlYXRlZCB0aGF0IHJlcHJlc2VudCB0aGUgdmFyaW91cwotICAgICAgICAjIG9uLWRpc2sgdW5p
dHMuICBUaGVzZSBhcmUgdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgcXVhbnRpdGllcyB3aGk9CmNo
Ci0gICAgICAgICMgc2hvdWxkIGJlIHNldCwgYWxvbmcgd2l0aCBleGFtcGxlcyBvZiBob3cgdG8g
c2V0IHRoZW0gdG8gc3RhbmRhcmQKLSAgICAgICAgIyB2YWx1ZXMuCi0gICAgICAgICMKLSAgICAg
ICAgIyBzZWxmLmxlbmd0aF91bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiY20iKQotICAgICAgICAj
IHNlbGYubWFzc191bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiZyIpCi0gICAgICAgICMgc2VsZi50
aW1lX3VuaXQgPTNEIHNlbGYucXVhbigxLjAsICJzIikKLSAgICAgICAgIyBzZWxmLnRpbWVfdW5p
dCA9M0Qgc2VsZi5xdWFuKDEuMCwgInMiKQotICAgICAgICAjCi0gICAgICAgICMgVGhlc2UgY2Fu
IGFsc28gYmUgc2V0OgotICAgICAgICAjIHNlbGYudmVsb2NpdHlfdW5pdCA9M0Qgc2VsZi5xdWFu
KDEuMCwgImNtL3MiKQotICAgICAgICAjIHNlbGYubWFnbmV0aWNfdW5pdCA9M0Qgc2VsZi5xdWFu
KDEuMCwgImdhdXNzIikKLSAgICAgICAgcGFzcworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleG9k
dXNpaV9oYW5kbGVyLCBzdG9yYWdlX2ZpbGVuYW1lPTNETm9uZSwgZ2VvbWV0cnk9Cj0zRCJjYXJ0
ZXNpYW4iKToKKyAgICAgICAgc2VsZi5nZW9tZXRyeSA9M0QgZ2VvbWV0cnkKKyAgICAgICAgc2Vs
Zi5leG9kdXNpaV9oYW5kbGVyID0zRCBleG9kdXNpaV9oYW5kbGVyCisgICAgICAgIG5hbWUgPTNE
ICJJbk1lbW9yeVBhcmFtZXRlckZpbGVfJXMiICUgKHV1aWQudXVpZDQoKS5oZXgpCisgICAgICAg
IGZyb20geXQuZGF0YV9vYmplY3RzLnN0YXRpY19vdXRwdXQgaW1wb3J0IF9jYWNoZWRfZGF0YXNl
dHMKKyAgICAgICAgX2NhY2hlZF9kYXRhc2V0c1tuYW1lXSA9M0Qgc2VsZgorICAgICAgICBEYXRh
c2V0Ll9faW5pdF9fKHNlbGYsIG5hbWUsIHNlbGYuX2RhdGFzZXRfdHlwZSkKPTIwCiAgICAgZGVm
IF9wYXJzZV9wYXJhbWV0ZXJfZmlsZShzZWxmKToKICAgICAgICAgIyBUaGlzIG5lZWRzIHRvIHNl
dCB1cCB0aGUgZm9sbG93aW5nIGl0ZW1zLiAgTm90ZSB0aGF0IHRoZXNlIGFyZSBhPQpsbApAQCAt
MTM0LDEwICsxNDYsODYgQEAKICAgICAgICAgIyAgIHNlbGYuaHViYmxlX2NvbnN0YW50ICAgICAg
ICAgICAgPD0zRCBmbG9hdAogICAgICAgICBwYXNzCj0yMAorICAgIGRlZiBfc2V0X3VuaXRzKHNl
bGYpOgorICAgICAgICBzZWxmLmZpZWxkX3VuaXRzID0zRCBzZWxmLmV4b2R1c2lpX2hhbmRsZXIu
ZmllbGRfdW5pdHMKKworICAgIGRlZiBfc2V0X2NvZGVfdW5pdF9hdHRyaWJ1dGVzKHNlbGYpOgor
ICAgICAgICBiYXNlX3VuaXRzID0zRCBzZWxmLmV4b2R1c2lpX2hhbmRsZXIuY29kZV91bml0cwor
ICAgICAgICBhdHRycyA9M0QgKCdsZW5ndGhfdW5pdCcsICdtYXNzX3VuaXQnLCAndGltZV91bml0
JywgJ3ZlbG9jaXR5X3VuaXQ9CicsICdtYWduZXRpY191bml0JykKKyAgICAgICAgY2dzX3VuaXRz
ID0zRCAoJ2NtJywgJ2cnLCAncycsICdjbS9zJywgJ2dhdXNzJykKKyAgICAgICAgZm9yIHVuaXQs
IGF0dHIsIGNnc191bml0IGluIHppcChiYXNlX3VuaXRzLCBhdHRycywgY2dzX3VuaXRzKToKKyAg
ICAgICAgICAgIGlmIGlzaW5zdGFuY2UodW5pdCwgc3RyaW5nX3R5cGVzKToKKyAgICAgICAgICAg
ICAgICB1cSA9M0Qgc2VsZi5xdWFuKDEuMCwgdW5pdCkKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0
YW5jZSh1bml0LCBudW1lcmljX3R5cGUpOgorICAgICAgICAgICAgICAgIHVxID0zRCBzZWxmLnF1
YW4odW5pdCwgY2dzX3VuaXQpCisgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UodW5pdCwgWVRR
dWFudGl0eSk6CisgICAgICAgICAgICAgICAgdXEgPTNEIHVuaXQKKyAgICAgICAgICAgIGVsaWYg
aXNpbnN0YW5jZSh1bml0LCB0dXBsZSk6CisgICAgICAgICAgICAgICAgdXEgPTNEIHNlbGYucXVh
bih1bml0WzBdLCB1bml0WzFdKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBy
YWlzZSBSdW50aW1lRXJyb3IoIiVzICglcykgaXMgaW52YWxpZC4iICUgKGF0dHIsIHVuaXQpKQor
ICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBhdHRyLCB1cSkKKworCiAgICAgQGNsYXNzbWV0aG9k
CiAgICAgZGVmIF9pc192YWxpZChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICAjIFRo
aXMgYWNjZXB0cyBhIGZpbGVuYW1lIG9yIGEgc2V0IG9mIGFyZ3VtZW50cyBhbmQgcmV0dXJucyBU
cnVlIG9yCiAgICAgICAgICMgRmFsc2UgZGVwZW5kaW5nIG9uIGlmIHRoZSBmaWxlIGlzIG9mIHRo
ZSB0eXBlIHJlcXVlc3RlZC4KICAgICAgICAgcmV0dXJuIEZhbHNlCj0yMAorY2xhc3MgRXhvZHVz
SUlEaWN0RmllbGRIYW5kbGVyKGRpY3QpOgorICAgIF9hZGRpdGlvbmFsX2ZpZWxkcyA9M0QgKCkK
PTIwCisgICAgQHByb3BlcnR5CisgICAgZGVmIGFsbF9maWVsZHMoc2VsZik6CisgICAgICAgIHNl
bGZfZmllbGRzID0zRCBjaGFpbi5mcm9tX2l0ZXJhYmxlKHMua2V5cygpIGZvciBzIGluIHNlbGYu
dmFsdWVzKD0KKSkKKyAgICAgICAgc2VsZl9maWVsZHMgPTNEIGxpc3Qoc2V0KHNlbGZfZmllbGRz
KSkKKyAgICAgICAgZmllbGRzID0zRCBsaXN0KHNlbGYuX2FkZGl0aW9uYWxfZmllbGRzKSArIHNl
bGZfZmllbGRzCisgICAgICAgIGZpZWxkcyA9M0QgbGlzdChzZXQoZmllbGRzKSkKKyAgICAgICAg
cmV0dXJuIGZpZWxkcyAgID0yMAorCitjbGFzcyBFeG9kdXNJSVVuc3RydWN0dXJlZE1lc2goVW5z
dHJ1Y3R1cmVkTWVzaCk6CisgICAgX2luZGV4X29mZnNldCA9M0QgMQorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHN1cGVyKEV4b2R1c0lJVW5zdHJ1
Y3R1cmVkTWVzaCwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQorCitjbGFzcyBFeG9k
dXNJSVVuc3RydWN0dXJlZEluZGV4KFVuc3RydWN0dXJlZEluZGV4KToKKworICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBkcywgZGF0YXNldF90eXBlID0zRCBOb25lKToKKyAgICAgICAgc2VsZi5leG9k
dXNpaV9oYW5kbGVyID0zRCBkcy5leG9kdXNpaV9oYW5kbGVyCisgICAgICAgIHN1cGVyKEV4b2R1
c0lJVW5zdHJ1Y3R1cmVkSW5kZXgsIHNlbGYpLl9faW5pdF9fKGRzLCBkYXRhc2V0X3R5cGUpCisK
KyAgICBkZWYgX2luaXRpYWxpemVfbWVzaChzZWxmKToKKyAgICAgICAgY29vcmRzID0zRCBlbnN1
cmVfbGlzdChzZWxmLnN0cmVhbV9oYW5kbGVyLmZpZWxkcy5wb3AoImNvb3JkaW5hdGVzPQoiKSkK
KyAgICAgICAgY29ubmVjID0zRCBlbnN1cmVfbGlzdChzZWxmLnN0cmVhbV9oYW5kbGVyLmZpZWxk
cy5wb3AoImNvbm5lY3Rpdml0PQp5IikpCisgICAgICAgIHNlbGYubWVzaGVzID0zRCBbU3RyZWFt
VW5zdHJ1Y3R1cmVkTWVzaCgKKyAgICAgICAgICBpLCBzZWxmLmluZGV4X2ZpbGVuYW1lLCBjMSwg
YzIsIHNlbGYpCisgICAgICAgICAgZm9yIGksIChjMSwgYzIpIGluIGVudW1lcmF0ZSh6aXAoY29u
bmVjLCBjb29yZHMpKV0KKworICAgIGRlZiBfc2V0dXBfZGF0YV9pbyhzZWxmKToKKyAgICAgICAg
aWYgc2VsZi5zdHJlYW1faGFuZGxlci5pbyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYu
aW8gPTNEIHNlbGYuc3RyZWFtX2hhbmRsZXIuaW8KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAg
IHNlbGYuaW8gPTNEIGlvX3JlZ2lzdHJ5W3NlbGYuZGF0YXNldF90eXBlXShzZWxmLmRzKQorCisg
ICAgZGVmIF9kZXRlY3Rfb3V0cHV0X2ZpZWxkcyhzZWxmKToKKyAgICAgICAgc2VsZi5maWVsZF9s
aXN0ID0zRCBsaXN0KHNldChzZWxmLnN0cmVhbV9oYW5kbGVyLmdldF9maWVsZHMoKSkpCisKK2Ns
YXNzIEV4b2R1c0lJVW5zdHJ1Y3R1cmVkTWVzaERhdGFzZXQoRXhvZHVzSUlEYXRhc2V0KToKKyAg
ICBfaW5kZXhfY2xhc3MgPTNEIEV4b2R1c0lJVW5zdHJ1Y3R1cmVkSW5kZXgKKyAgICBfZmllbGRf
aW5mb19jbGFzcyA9M0QgRXhvZHVzSUlGaWVsZEluZm8KKyAgICBfZGF0YXNldF90eXBlID0zRCAi
ZXhvZHVzaWlfdW5zdHJ1Y3R1cmVkIgorCitkZWYgbG9hZF91bnN0cnVjdHVyZWRfbWVzaChkYXRh
LCBjb25uZWN0aXZpdHksIGNvb3JkaW5hdGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxl
bmd0aF91bml0ID0zRCBOb25lLCBiYm94PTNETm9uZSwgc2ltX3RpbWU9M0QwLjAsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgbWFzc191bml0ID0zRCBOb25lLCB0aW1lX3VuaXQgPTNEIE5vbmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgdmVsb2NpdHlfdW5pdCA9M0QgTm9uZSwgbWFnbmV0
aWNfdW5pdCA9M0QgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2RpY2l0eT0z
RChGYWxzZSwgRmFsc2UsIEZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBnZW9tZXRy
eSA9M0QgImNhcnRlc2lhbiIpOgorICAgPTIwCisgICAgaGFuZGxlciA9M0QgRXhvZHVzSUlIYW5k
bGVyKCkKKyAgICBlZHMgPTNEIEV4b2R1c0lJVW5zdHJ1Y3R1cmVkTWVzaERhdGFzZXQoaGFuZGxl
ciwgZ2VvbWV0cnkgPTNEIGdlb21ldHJ5KQorCisgICAgcmV0dXJuIGVkcworICAgPTIwCgoKaHR0
cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMWI5N2YzYmNkOTE3LwpD
aGFuZ2VzZXQ6ICAgMWI5N2YzYmNkOTE3CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0
cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2LTE1IDE0OjQ4OjUzKzAwOjAwClN1bW1hcnk6ICAg
ICBNZXJnZWQKQWZmZWN0ZWQgIzogIDYgZmlsZXMKCmRpZmYgLXIgZDVkZWQxZWViZWQ0NGZmNDc4
M2YxNzI4NzczYjYwMzU0NThlZGVhOSAtciAxYjk3ZjNiY2Q5MTc1YmFiOTZjMzZjMD0KNGUzNjNh
ZmMyNTM3M2UxODggZG9jL3NvdXJjZS9hbmFseXppbmcvZmllbGRzLnJzdAotLS0gYS9kb2Mvc291
cmNlL2FuYWx5emluZy9maWVsZHMucnN0CisrKyBiL2RvYy9zb3VyY2UvYW5hbHl6aW5nL2ZpZWxk
cy5yc3QKQEAgLTI3MSw2ICsyNzEsMjkgQEAKPTIwCiBGb3IgYSBwcmFjdGljYWwgYXBwbGljYXRp
b24gb2YgdGhpcywgc2VlIDpyZWY6YGNvb2tib29rLXJhZGlhbC12ZWxvY2l0eWAuCj0yMAorR3Jh
ZGllbnQgRmllbGRzCistLS0tLS0tLS0tLS0tLS0KKworeXQgcHJvdmlkZXMgYSB3YXkgdG8gY29t
cHV0ZSBncmFkaWVudHMgb2Ygc3BhdGlhbCBmaWVsZHMgdXNpbmcgdGhlCis6bWV0aDpgfnl0LmZy
b250ZW5kcy5mbGFzaC5kYXRhX3N0cnVjdHVyZXMuRkxBU0hEYXRhc2V0LmFkZF9ncmFkaWVudF9m
aWVsZD0Kc2A9MjAKK21ldGhvZC4gSWYgeW91IGhhdmUgYSBzcGF0aWFsbHktYmFzZWQgZmllbGQg
c3VjaCBhcyBkZW5zaXR5IG9yIHRlbXBlcmF0dXJlPQosPTIwCithbmQgd2FudCB0byBjYWxjdWxh
dGUgdGhlIGdyYWRpZW50IG9mIHRoYXQgZmllbGQsIHlvdSBjYW4gZG8gaXQgbGlrZSBzbzoKKwor
Li4gY29kZS1ibG9jazo6IHB5dGhvbgorCisgICAgZHMgPTNEIHl0LmxvYWQoIkdhc1Nsb3NoaW5n
L3Nsb3NoaW5nX25vbWFnMl9oZGY1X3BsdF9jbnRfMDE1MCIpCisgICAgZ3JhZF9maWVsZHMgPTNE
IGRzLmFkZF9ncmFkaWVudF9maWVsZHMoKCJnYXMiLCJ0ZW1wZXJhdHVyZSIpKQorCit3aGVyZSB0
aGUgYGBncmFkX2ZpZWxkc2BgIGxpc3Qgd2lsbCBub3cgaGF2ZSBhIGxpc3Qgb2YgbmV3IGZpZWxk
IG5hbWVzIHRoYT0KdCBjYW4gYmUgdXNlZAoraW4gY2FsY3VsYXRpb25zLCByZXByZXNlbnRpbmcg
dGhlIDMgZGlmZmVyZW50IGNvbXBvbmVudHMgb2YgdGhlIGZpZWxkIGFuZCA9CnRoZSBtYWduaXR1
ZGUKK29mIHRoZSBncmFkaWVudCwgZS5nLiwgYGAidGVtcGVyYXR1cmVfZ3JhZGllbnRfeCJgYCwg
YGAidGVtcGVyYXR1cmVfZ3JhZGllPQpudF95ImBgLAorYGAidGVtcGVyYXR1cmVfZ3JhZGllbnRf
eiJgYCwgYW5kIGBgInRlbXBlcmF0dXJlX2dyYWRpZW50X21hZ25pdHVkZSJgYC4gVG89CiBzZWUg
YW4gZXhhbXBsZQorb2YgaG93IHRvIGNyZWF0ZSBhbmQgdXNlIHRoZXNlIGZpZWxkcywgc2VlIDpy
ZWY6YGNvb2tib29rLWNvbXBsaWNhdGVkLWRlcmk9CnZlZC1maWVsZHNgLgorCisuLiBub3RlOjoK
KworICAgIGBgYWRkX2dyYWRpZW50X2ZpZWxkc2BgIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIENh
cnRlc2lhbiBnZW9tZXRyaWVzIQorCiBHZW5lcmFsIFBhcnRpY2xlIEZpZWxkcwogLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KPTIwCgpkaWZmIC1yIGQ1ZGVkMWVlYmVkNDRmZjQ3ODNmMTcyODc3M2I2
MDM1NDU4ZWRlYTkgLXIgMWI5N2YzYmNkOTE3NWJhYjk2YzM2YzA9CjRlMzYzYWZjMjUzNzNlMTg4
IGRvYy9zb3VyY2UvY29va2Jvb2svY2FsY3VsYXRpbmdfaW5mb3JtYXRpb24ucnN0Ci0tLSBhL2Rv
Yy9zb3VyY2UvY29va2Jvb2svY2FsY3VsYXRpbmdfaW5mb3JtYXRpb24ucnN0CisrKyBiL2RvYy9z
b3VyY2UvY29va2Jvb2svY2FsY3VsYXRpbmdfaW5mb3JtYXRpb24ucnN0CkBAIC04Miw2ICs4Miwx
NyBAQAo9MjAKIC4uIHl0X2Nvb2tib29rOjogZGVyaXZlZF9maWVsZC5weQo9MjAKKy4uIF9jb29r
Ym9vay1jb21wbGljYXRlZC1kZXJpdmVkLWZpZWxkczoKKworQ29tcGxpY2F0ZWQgRGVyaXZlZCBG
aWVsZHMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1RoaXMgcmVjaXBlIGRlbW9uc3Ry
YXRlcyBob3cgdG8gdXNlIHRoZT0yMAorOm1ldGg6YH55dC5mcm9udGVuZHMuZmxhc2guZGF0YV9z
dHJ1Y3R1cmVzLkZMQVNIRGF0YXNldC5hZGRfZ3JhZGllbnRfZmllbGQ9CnNgIG1ldGhvZAordG8g
Z2VuZXJhdGUgZ3JhZGllbnQgZmllbGRzIGFuZCB1c2UgdGhlbSBpbiBhIG1vcmUgY29tcGxleCBk
ZXJpdmVkIGZpZWxkLj0yMAorCisuLiB5dF9jb29rYm9vazo6IGhzZV9maWVsZC5weQorCiBVc2lu
ZyBQYXJ0aWNsZSBGaWx0ZXJzIHRvIENhbGN1bGF0ZSBTdGFyIEZvcm1hdGlvbiBSYXRlcwogfn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPTIw
CgpkaWZmIC1yIGQ1ZGVkMWVlYmVkNDRmZjQ3ODNmMTcyODc3M2I2MDM1NDU4ZWRlYTkgLXIgMWI5
N2YzYmNkOTE3NWJhYjk2YzM2YzA9CjRlMzYzYWZjMjUzNzNlMTg4IGRvYy9zb3VyY2UvY29va2Jv
b2svaHNlX2ZpZWxkLnB5Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2svaHNlX2ZpZWxkLnB5Cisr
KyBiL2RvYy9zb3VyY2UvY29va2Jvb2svaHNlX2ZpZWxkLnB5CkBAIC0xLDQ0ICsxLDMyIEBACiBp
bXBvcnQgbnVtcHkgYXMgbnAKIGltcG9ydCB5dAo9MjAKLWZyb20geXQuZmllbGRzLmZpZWxkX3Bs
dWdpbl9yZWdpc3RyeSBpbXBvcnQgXAotICAgIHJlZ2lzdGVyX2ZpZWxkX3BsdWdpbgotZnJvbSB5
dC5maWVsZHMuZmx1aWRfZmllbGRzIGltcG9ydCBcCi0gICAgc2V0dXBfZ3JhZGllbnRfZmllbGRz
Ci0KLQotIyBEZWZpbmUgdGhlIGNvbXBvbmVudHMgb2YgdGhlIGdyYXZpdGF0aW9uYWwgYWNjZWxl
cmF0aW9uIHZlY3RvciBmaWVsZCBieQotIyB0YWtpbmcgdGhlIGdyYWRpZW50IG9mIHRoZSBncmF2
aXRhdGlvbmFsIHBvdGVudGlhbAotQHJlZ2lzdGVyX2ZpZWxkX3BsdWdpbgotZGVmIHNldHVwX215
X2ZpZWxkcyhyZWdpc3RyeSwgZnR5cGU9M0QiZ2FzIiwgc2xpY2VfaW5mbz0zRE5vbmUpOgotICAg
IHNldHVwX2dyYWRpZW50X2ZpZWxkcyhyZWdpc3RyeSwgKGZ0eXBlLCAiZ3Jhdml0YXRpb25hbF9w
b3RlbnRpYWwiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgImNtICoqIDIgLyBzICoqIDIi
LCBzbGljZV9pbmZvKQotCi0jIERlZmluZSB0aGUgImRlZ3JlZSBvZiBoeWRyb3N0YXRpYyBlcXVp
bGlicml1bSIgZmllbGQKLQotCi1AeXQuZGVyaXZlZF9maWVsZChuYW1lPTNEJ0hTRScsIHVuaXRz
PTNETm9uZSwgdGFrZV9sb2c9M0RGYWxzZSwKLSAgICAgICAgICAgICAgICAgIGRpc3BsYXlfbmFt
ZT0zRCdIeWRyb3N0YXRpYyBFcXVpbGlicml1bScpCi1kZWYgSFNFKGZpZWxkLCBkYXRhKToKLQot
ICAgIGd4ID0zRCBkYXRhWyJkZW5zaXR5Il0gKiBkYXRhWyJncmF2aXRhdGlvbmFsX3BvdGVudGlh
bF9ncmFkaWVudF94Il0KLSAgICBneSA9M0QgZGF0YVsiZGVuc2l0eSJdICogZGF0YVsiZ3Jhdml0
YXRpb25hbF9wb3RlbnRpYWxfZ3JhZGllbnRfeSJdCi0gICAgZ3ogPTNEIGRhdGFbImRlbnNpdHki
XSAqIGRhdGFbImdyYXZpdGF0aW9uYWxfcG90ZW50aWFsX2dyYWRpZW50X3oiXQotCi0gICAgaHgg
PTNEIGRhdGFbInByZXNzdXJlX2dyYWRpZW50X3giXSAtIGd4Ci0gICAgaHkgPTNEIGRhdGFbInBy
ZXNzdXJlX2dyYWRpZW50X3kiXSAtIGd5Ci0gICAgaHogPTNEIGRhdGFbInByZXNzdXJlX2dyYWRp
ZW50X3oiXSAtIGd6Ci0KLSAgICBoID0zRCBucC5zcXJ0KChoeCAqIGh4ICsgaHkgKiBoeSArIGh6
ICogaHopIC8gKGd4ICogZ3ggKyBneSAqIGd5ICsgZ3ogPQoqIGd6KSkKLQotICAgIHJldHVybiBo
Ci0KLQogIyBPcGVuIGEgZGF0YXNldCBmcm9tIHdoZW4gdGhlcmUncyBhIGxvdCBvZiBzbG9zaGlu
ZyBnb2luZyBvbi4KPTIwCiBkcyA9M0QgeXQubG9hZCgiR2FzU2xvc2hpbmdMb3dSZXMvc2xvc2hp
bmdfbG93X3Jlc19oZGY1X3BsdF9jbnRfMDM1MCIpCj0yMAotIyBncmFkaWVudCBvcGVyYXRvciBy
ZXF1aXJlcyBwZXJpb2RpYyBib3VuZGFyaWVzLiAgVGhpcyBkYXRhc2V0IGhhcworIyBEZWZpbmUg
dGhlIGNvbXBvbmVudHMgb2YgdGhlIGdyYXZpdGF0aW9uYWwgYWNjZWxlcmF0aW9uIHZlY3RvciBm
aWVsZCBieQorIyB0YWtpbmcgdGhlIGdyYWRpZW50IG9mIHRoZSBncmF2aXRhdGlvbmFsIHBvdGVu
dGlhbAorZ3JhZF9maWVsZHMgPTNEIGRzLmFkZF9ncmFkaWVudF9maWVsZHMoKCJnYXMiLCJncmF2
aXRhdGlvbmFsX3BvdGVudGlhbCIpKQorCisjIFdlIGRvbid0IG5lZWQgdG8gZG8gdGhlIHNhbWUg
Zm9yIHRoZSBwcmVzc3VyZSBmaWVsZCBiZWNhdXNlIHl0IGFscmVhZHkKKyMgaGFzIHByZXNzdXJl
IGdyYWRpZW50IGZpZWxkcy4gTm93LCBkZWZpbmUgdGhlICJkZWdyZWUgb2YgaHlkcm9zdGF0aWM9
MjAKKyMgZXF1aWxpYnJpdW0iIGZpZWxkLgorCitkZWYgX2hzZShmaWVsZCwgZGF0YSk6CisgICAg
IyBSZW1lbWJlciB0aGF0IGcgaXMgdGhlIG5lZ2F0aXZlIG9mIHRoZSBwb3RlbnRpYWwgZ3JhZGll
bnQKKyAgICBneCA9M0QgLWRhdGFbImRlbnNpdHkiXSAqIGRhdGFbImdyYXZpdGF0aW9uYWxfcG90
ZW50aWFsX2dyYWRpZW50X3giXQorICAgIGd5ID0zRCAtZGF0YVsiZGVuc2l0eSJdICogZGF0YVsi
Z3Jhdml0YXRpb25hbF9wb3RlbnRpYWxfZ3JhZGllbnRfeSJdCisgICAgZ3ogPTNEIC1kYXRhWyJk
ZW5zaXR5Il0gKiBkYXRhWyJncmF2aXRhdGlvbmFsX3BvdGVudGlhbF9ncmFkaWVudF96Il0KKyAg
ICBoeCA9M0QgZGF0YVsicHJlc3N1cmVfZ3JhZGllbnRfeCJdIC0gZ3gKKyAgICBoeSA9M0QgZGF0
YVsicHJlc3N1cmVfZ3JhZGllbnRfeSJdIC0gZ3kKKyAgICBoeiA9M0QgZGF0YVsicHJlc3N1cmVf
Z3JhZGllbnRfeiJdIC0gZ3oKKyAgICBoID0zRCBucC5zcXJ0KChoeCAqIGh4ICsgaHkgKiBoeSAr
IGh6ICogaHopIC8gKGd4ICogZ3ggKyBneSAqIGd5ICsgZ3ogPQoqIGd6KSkKKyAgICByZXR1cm4g
aAorZHMuYWRkX2ZpZWxkKCgnZ2FzJywnSFNFJyksIGZ1bmN0aW9uPTNEX2hzZSwgdW5pdHM9M0Qi
IiwgdGFrZV9sb2c9M0RGYWxzZSwKKyAgICAgICAgICAgICBkaXNwbGF5X25hbWU9M0QnSHlkcm9z
dGF0aWMgRXF1aWxpYnJpdW0nKQorCisjIFRoZSBncmFkaWVudCBvcGVyYXRvciByZXF1aXJlcyBw
ZXJpb2RpYyBib3VuZGFyaWVzLiAgVGhpcyBkYXRhc2V0IGhhcwogIyBvcGVuIGJvdW5kYXJ5IGNv
bmRpdGlvbnMuICBXZSBuZWVkIHRvIGhhY2sgaXQgZm9yIG5vdyAodGhpcyB3aWxsIGJlIGZpeGVk
CiAjIGluIGZ1dHVyZSB2ZXJzaW9uIG9mIHl0KQogZHMucGVyaW9kaWNpdHkgPTNEIChUcnVlLCBU
cnVlLCBUcnVlKQoKZGlmZiAtciBkNWRlZDFlZWJlZDQ0ZmY0NzgzZjE3Mjg3NzNiNjAzNTQ1OGVk
ZWE5IC1yIDFiOTdmM2JjZDkxNzViYWI5NmMzNmMwPQo0ZTM2M2FmYzI1MzczZTE4OCB5dC9kYXRh
X29iamVjdHMvY29uc3RydWN0aW9uX2RhdGFfY29udGFpbmVycy5weQotLS0gYS95dC9kYXRhX29i
amVjdHMvY29uc3RydWN0aW9uX2RhdGFfY29udGFpbmVycy5weQorKysgYi95dC9kYXRhX29iamVj
dHMvY29uc3RydWN0aW9uX2RhdGFfY29udGFpbmVycy5weQpAQCAtOTIsNyArOTIsNyBAQAogICAg
ID4+PiBzdHJlYW1saW5lcyA9M0QgU3RyZWFtbGluZXMoZHMsIFswLjVdKjMpCiAgICAgPj4+IHN0
cmVhbWxpbmVzLmludGVncmF0ZV90aHJvdWdoX3ZvbHVtZSgpCiAgICAgPj4+IHN0cmVhbSA9M0Qg
c3RyZWFtbGluZXMucGF0aCgwKQotICAgID4+PiBtYXRwbG90bGliLnB5bGFiLnNlbWlsb2d5KHN0
cmVhbVsndCddLCBzdHJlYW1bJ0RlbnNpdHknXSwgJy14JykKKyAgICA+Pj4gbWF0cGxvdGxpYi5w
eWxhYi5zZW1pbG9neShzdHJlYW1bJ3QnXSwgc3RyZWFtWydkZW5zaXR5J10sICcteCcpCj0yMAog
ICAgICIiIgogICAgIF90eXBlX25hbWUgPTNEICJzdHJlYW1saW5lIgpAQCAtOTkxLDEyICs5OTEs
MTMgQEAKICAgICBUaGlzIHdpbGwgY3JlYXRlIGEgZGF0YSBvYmplY3QsIGZpbmQgYSBuaWNlIHZh
bHVlIGluIHRoZSBjZW50ZXIsIGFuZAogICAgIG91dHB1dCB0aGUgdmVydGljZXMgdG8gInRyaWFu
Z2xlcy5vYmoiIGFmdGVyIHJlc2NhbGluZyB0aGVtLgo9MjAKKyAgICA+Pj4gZnJvbSB5dC51bml0
cyBpbXBvcnQga3BjCiAgICAgPj4+IHNwID0zRCBkcy5zcGhlcmUoIm1heCIsICgxMCwgImtwYyIp
Ci0gICAgPj4+IHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsICJEZW5zaXR5IiwgNWUtMjcpCi0gICAg
Pj4+IHByaW50IHN1cmZbIlRlbXBlcmF0dXJlIl0KKyAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFj
ZShzcCwgImRlbnNpdHkiLCA1ZS0yNykKKyAgICA+Pj4gcHJpbnQgc3VyZlsidGVtcGVyYXR1cmUi
XQogICAgID4+PiBwcmludCBzdXJmLnZlcnRpY2VzCi0gICAgPj4+IGJvdW5kcyA9M0QgWyhzcC5j
ZW50ZXJbaV0gLSA1LjAvZHNbJ2twYyddLAotICAgIC4uLiAgICAgICAgICAgIHNwLmNlbnRlcltp
XSArIDUuMC9kc1sna3BjJ10pIGZvciBpIGluIHJhbmdlKDMpXQorICAgID4+PiBib3VuZHMgPTNE
IFsoc3AuY2VudGVyW2ldIC0gNS4wKmtwYywKKyAgICAuLi4gICAgICAgICAgICBzcC5jZW50ZXJb
aV0gKyA1LjAqa3BjKSBmb3IgaSBpbiByYW5nZSgzKV0KICAgICA+Pj4gc3VyZi5leHBvcnRfcGx5
KCJteV9nYWxheHkucGx5IiwgYm91bmRzID0zRCBib3VuZHMpCiAgICAgIiIiCiAgICAgX3R5cGVf
bmFtZSA9M0QgInN1cmZhY2UiCkBAIC0xMTE3LDkgKzExMTgsOSBAQAogICAgICAgICBjYWxjdWxh
dGUgdGhlIG1ldGFsIGZsdXggb3ZlciBpdC4KPTIwCiAgICAgICAgID4+PiBzcCA9M0QgZHMuc3Bo
ZXJlKCJtYXgiLCAoMTAsICJrcGMiKQotICAgICAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFjZShz
cCwgIkRlbnNpdHkiLCA1ZS0yNykKKyAgICAgICAgPj4+IHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3As
ICJkZW5zaXR5IiwgNWUtMjcpCiAgICAgICAgID4+PiBmbHV4ID0zRCBzdXJmLmNhbGN1bGF0ZV9m
bHV4KAotICAgICAgICAuLi4gICAgICJ2ZWxvY2l0eV94IiwgInZlbG9jaXR5X3kiLCAidmVsb2Np
dHlfeiIsICJNZXRhbF9EZW5zaXR5IikKKyAgICAgICAgLi4uICAgICAidmVsb2NpdHlfeCIsICJ2
ZWxvY2l0eV95IiwgInZlbG9jaXR5X3oiLCAibWV0YWxfZGVuc2l0eSIpCiAgICAgICAgICIiIgog
ICAgICAgICBmbHV4ID0zRCAwLjAKICAgICAgICAgbXlsb2cuaW5mbygiRmx1eGluZyAlcyIsIGZs
dXhpbmdfZmllbGQpCkBAIC0xMjA0LDE4ICsxMjA1LDE4IEBACiAgICAgICAgID4+PiBzcCA9M0Qg
ZHMuc3BoZXJlKCJtYXgiLCAoMTAsICJrcGMiKSkKICAgICAgICAgPj4+IHRyYW5zID0zRCAxLjAK
ICAgICAgICAgPj4+IGRpc3RmID0zRCAzLjFlMTgqMWUzICMgZGlzdGFuY2VzIGludG8ga3BjCi0g
ICAgICAgID4+PiBzdXJmID0zRCBkcy5zdXJmYWNlKHNwLCAiRGVuc2l0eSIsIDVlLTI3KQorICAg
ICAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFjZShzcCwgImRlbnNpdHkiLCA1ZS0yNykKICAgICAg
ICAgPj4+IHN1cmYuZXhwb3J0X29iaigibXlfZ2FsYXh5IiwgdHJhbnNwYXJlbmN5PTNEdHJhbnMs
IGRpc3RfZmFjID0KPTNEIGRpc3RmKQo9MjAKICAgICAgICAgPj4+IHNwID0zRCBkcy5zcGhlcmUo
Im1heCIsICgxMCwgImtwYyIpKQotICAgICAgICA+Pj4gbWksIG1hID0zRCBzcC5xdWFudGl0aWVz
WydFeHRyZW1hJ10oJ1RlbXBlcmF0dXJlJylbMF0KKyAgICAgICAgPj4+IG1pLCBtYSA9M0Qgc3Au
cXVhbnRpdGllcy5leHRyZW1hKCd0ZW1wZXJhdHVyZScpWzBdCiAgICAgICAgID4+PiByaG9zID0z
RCBbMWUtMjQsIDFlLTI1XQogICAgICAgICA+Pj4gdHJhbnMgPTNEIFswLjUsIDEuMF0KICAgICAg
ICAgPj4+IGRpc3RmID0zRCAzLjFlMTgqMWUzICMgZGlzdGFuY2VzIGludG8ga3BjCiAgICAgICAg
ID4+PiBmb3IgaSwgciBpbiBlbnVtZXJhdGUocmhvcyk6Ci0gICAgICAgIC4uLiAgICAgc3VyZiA9
M0QgZHMuc3VyZmFjZShzcCwnRGVuc2l0eScscikKKyAgICAgICAgLi4uICAgICBzdXJmID0zRCBk
cy5zdXJmYWNlKHNwLCdkZW5zaXR5JyxyKQogICAgICAgICAuLi4gICAgIHN1cmYuZXhwb3J0X29i
aigibXlfZ2FsYXh5IiwgdHJhbnNwYXJlbmN5PTNEdHJhbnNbaV0sPTIwCi0gICAgICAgIC4uLiAg
ICAgICAgICAgICAgICAgICAgICBjb2xvcl9maWVsZD0zRCdUZW1wZXJhdHVyZScsIGRpc3RfZmFj
ID0zRD0KIGRpc3RmLD0yMAorICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgY29sb3Jf
ZmllbGQ9M0QndGVtcGVyYXR1cmUnLCBkaXN0X2ZhYyA9M0Q9CiBkaXN0Ziw9MjAKICAgICAgICAg
Li4uICAgICAgICAgICAgICAgICAgICAgIHBsb3RfaW5kZXggPTNEIGksIGNvbG9yX2ZpZWxkX21h
eCA9M0QgbWEsPTIwCiAgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICBjb2xvcl9maWVs
ZF9taW4gPTNEIG1pKQo9MjAKQEAgLTEyMjQsMTIgKzEyMjUsMTIgQEAKICAgICAgICAgPj4+IHRy
YW5zID0zRCBbMC41LCAxLjBdCiAgICAgICAgID4+PiBkaXN0ZiA9M0QgMy4xZTE4KjFlMyAjIGRp
c3RhbmNlcyBpbnRvIGtwYwogICAgICAgICA+Pj4gZGVmIF9FbWlzc2l2aXR5KGZpZWxkLCBkYXRh
KToKLSAgICAgICAgLi4uICAgICByZXR1cm4gKGRhdGFbJ0RlbnNpdHknXSpkYXRhWydEZW5zaXR5
J10qbnAuc3FydChkYXRhWydUZW1wPQplcmF0dXJlJ10pKQotICAgICAgICA+Pj4gYWRkX2ZpZWxk
KCJFbWlzc2l2aXR5IiwgZnVuY3Rpb249M0RfRW1pc3Npdml0eSwgdW5pdHM9M0RyIlxybXs9Cmcg
S30vXHJte2NtfV57Nn0iKQorICAgICAgICAuLi4gICAgIHJldHVybiAoZGF0YVsnZGVuc2l0eSdd
KmRhdGFbJ2RlbnNpdHknXSpucC5zcXJ0KGRhdGFbJ3RlbXA9CmVyYXR1cmUnXSkpCisgICAgICAg
ID4+PiBkcy5hZGRfZmllbGQoImVtaXNzaXZpdHkiLCBmdW5jdGlvbj0zRF9FbWlzc2l2aXR5LCB1
bml0cz0zRHIiZz0KKksvY20qKjYiKQogICAgICAgICA+Pj4gZm9yIGksIHIgaW4gZW51bWVyYXRl
KHJob3MpOgotICAgICAgICAuLi4gICAgIHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsJ0RlbnNpdHkn
LHIpCi0gICAgICAgIC4uLiAgICAgc3VyZi5leHBvcnRfb2JqKCJteV9nYWxheHkiLCB0cmFuc3Bh
cmVuY3k9M0R0cmFuc1tpXSw9MjAKLSAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgIGNv
bG9yX2ZpZWxkPTNEJ1RlbXBlcmF0dXJlJywgZW1pdF9maWVsZCA9Cj0zRCAnRW1pc3Npdml0eScs
PTIwCisgICAgICAgIC4uLiAgICAgc3VyZiA9M0QgZHMuc3VyZmFjZShzcCwnZGVuc2l0eScscikK
KyAgICAgICAgLi4uICAgICBzdXJmLmV4cG9ydF9vYmooIm15X2dhbGF4eSIsIHRyYW5zcGFyZW5j
eT0zRHRyYW5zW2ldLAorICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgY29sb3JfZmll
bGQ9M0QndGVtcGVyYXR1cmUnLCBlbWl0X2ZpZWxkID0KPTNEICdlbWlzc2l2aXR5JywKICAgICAg
ICAgLi4uICAgICAgICAgICAgICAgICAgICAgIGRpc3RfZmFjID0zRCBkaXN0ZiwgcGxvdF9pbmRl
eCA9M0QgaSkKPTIwCiAgICAgICAgICIiIgpAQCAtMTQ1OSwxOCArMTQ2MCwxOCBAQAogICAgICAg
ICA+Pj4gc3AgPTNEIGRzLnNwaGVyZSgibWF4IiwgKDEwLCAia3BjIikpCiAgICAgICAgID4+PiB0
cmFucyA9M0QgMS4wCiAgICAgICAgID4+PiBkaXN0ZiA9M0QgMy4xZTE4KjFlMyAjIGRpc3RhbmNl
cyBpbnRvIGtwYwotICAgICAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFjZShzcCwgIkRlbnNpdHki
LCA1ZS0yNykKKyAgICAgICAgPj4+IHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsICJkZW5zaXR5Iiwg
NWUtMjcpCiAgICAgICAgID4+PiBzdXJmLmV4cG9ydF9vYmooIm15X2dhbGF4eSIsIHRyYW5zcGFy
ZW5jeT0zRHRyYW5zLCBkaXN0X2ZhYyA9Cj0zRCBkaXN0ZikKPTIwCiAgICAgICAgID4+PiBzcCA9
M0QgZHMuc3BoZXJlKCJtYXgiLCAoMTAsICJrcGMiKSkKLSAgICAgICAgPj4+IG1pLCBtYSA9M0Qg
c3AucXVhbnRpdGllc1snRXh0cmVtYSddKCdUZW1wZXJhdHVyZScpWzBdCisgICAgICAgID4+PiBt
aSwgbWEgPTNEIHNwLnF1YW50aXRpZXMuZXh0cmVtYSgndGVtcGVyYXR1cmUnKVswXQogICAgICAg
ICA+Pj4gcmhvcyA9M0QgWzFlLTI0LCAxZS0yNV0KICAgICAgICAgPj4+IHRyYW5zID0zRCBbMC41
LCAxLjBdCiAgICAgICAgID4+PiBkaXN0ZiA9M0QgMy4xZTE4KjFlMyAjIGRpc3RhbmNlcyBpbnRv
IGtwYwogICAgICAgICA+Pj4gZm9yIGksIHIgaW4gZW51bWVyYXRlKHJob3MpOgotICAgICAgICAu
Li4gICAgIHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsJ0RlbnNpdHknLHIpCisgICAgICAgIC4uLiAg
ICAgc3VyZiA9M0QgZHMuc3VyZmFjZShzcCwnZGVuc2l0eScscikKICAgICAgICAgLi4uICAgICBz
dXJmLmV4cG9ydF9vYmooIm15X2dhbGF4eSIsIHRyYW5zcGFyZW5jeT0zRHRyYW5zW2ldLAotICAg
ICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgY29sb3JfZmllbGQ9M0QnVGVtcGVyYXR1cmUn
LCBkaXN0X2ZhYyA9M0Q9CiBkaXN0ZiwKKyAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAg
IGNvbG9yX2ZpZWxkPTNEJ3RlbXBlcmF0dXJlJywgZGlzdF9mYWMgPTNEPQogZGlzdGYsCiAgICAg
ICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICBwbG90X2luZGV4ID0zRCBpLCBjb2xvcl9maWVs
ZF9tYXggPTNEIG1hLAogICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgY29sb3JfZmll
bGRfbWluID0zRCBtaSkKPTIwCkBAIC0xNDc5LDEyICsxNDgwLDEyIEBACiAgICAgICAgID4+PiB0
cmFucyA9M0QgWzAuNSwgMS4wXQogICAgICAgICA+Pj4gZGlzdGYgPTNEIDMuMWUxOCoxZTMgIyBk
aXN0YW5jZXMgaW50byBrcGMKICAgICAgICAgPj4+IGRlZiBfRW1pc3Npdml0eShmaWVsZCwgZGF0
YSk6Ci0gICAgICAgIC4uLiAgICAgcmV0dXJuIChkYXRhWydEZW5zaXR5J10qZGF0YVsnRGVuc2l0
eSddKm5wLnNxcnQoZGF0YVsnVGVtcD0KZXJhdHVyZSddKSkKLSAgICAgICAgPj4+IGFkZF9maWVs
ZCgiRW1pc3Npdml0eSIsIGZ1bmN0aW9uPTNEX0VtaXNzaXZpdHksIHVuaXRzPTNEciJccm17PQpn
IEt9L1xybXtjbX1eezZ9IikKKyAgICAgICAgLi4uICAgICByZXR1cm4gKGRhdGFbJ2RlbnNpdHkn
XSpkYXRhWydkZW5zaXR5J10qbnAuc3FydChkYXRhWyd0ZW1wPQplcmF0dXJlJ10pKQorICAgICAg
ICA+Pj4gZHMuYWRkX2ZpZWxkKCJlbWlzc2l2aXR5IiwgZnVuY3Rpb249M0RfRW1pc3Npdml0eSwg
dW5pdHM9M0QiZyA9Ci8gY20qKjYiKQogICAgICAgICA+Pj4gZm9yIGksIHIgaW4gZW51bWVyYXRl
KHJob3MpOgotICAgICAgICAuLi4gICAgIHN1cmYgPTNEIGRzLnN1cmZhY2Uoc3AsJ0RlbnNpdHkn
LHIpCisgICAgICAgIC4uLiAgICAgc3VyZiA9M0QgZHMuc3VyZmFjZShzcCwnZGVuc2l0eScscikK
ICAgICAgICAgLi4uICAgICBzdXJmLmV4cG9ydF9vYmooIm15X2dhbGF4eSIsIHRyYW5zcGFyZW5j
eT0zRHRyYW5zW2ldLAotICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgY29sb3JfZmll
bGQ9M0QnVGVtcGVyYXR1cmUnLCBlbWl0X2ZpZWxkID0KPTNEICdFbWlzc2l2aXR5JywKKyAgICAg
ICAgLi4uICAgICAgICAgICAgICAgICAgICAgIGNvbG9yX2ZpZWxkPTNEJ3RlbXBlcmF0dXJlJywg
ZW1pdF9maWVsZCA9Cj0zRCAnZW1pc3Npdml0eScsCiAgICAgICAgIC4uLiAgICAgICAgICAgICAg
ICAgICAgICBkaXN0X2ZhYyA9M0QgZGlzdGYsIHBsb3RfaW5kZXggPTNEIGkpCj0yMAogICAgICAg
ICAiIiIKQEAgLTE1ODEsMTIgKzE1ODIsMTMgQEAKICAgICAgICAgRXhhbXBsZXMKICAgICAgICAg
LS0tLS0tLS0KPTIwCisgICAgICAgID4+PiBmcm9tIHl0LnVuaXRzIGltcG9ydCBrcGMKICAgICAg
ICAgPj4+IHNwID0zRCBkcy5zcGhlcmUoIm1heCIsICgxMCwgImtwYyIpCi0gICAgICAgID4+PiBz
dXJmID0zRCBkcy5zdXJmYWNlKHNwLCAiRGVuc2l0eSIsIDVlLTI3KQotICAgICAgICA+Pj4gcHJp
bnQgc3VyZlsiVGVtcGVyYXR1cmUiXQorICAgICAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFjZShz
cCwgImRlbnNpdHkiLCA1ZS0yNykKKyAgICAgICAgPj4+IHByaW50IHN1cmZbInRlbXBlcmF0dXJl
Il0KICAgICAgICAgPj4+IHByaW50IHN1cmYudmVydGljZXMKLSAgICAgICAgPj4+IGJvdW5kcyA9
M0QgWyhzcC5jZW50ZXJbaV0gLSA1LjAvZHNbJ2twYyddLAotICAgICAgICAuLi4gICAgICAgICAg
ICBzcC5jZW50ZXJbaV0gKyA1LjAvZHNbJ2twYyddKSBmb3IgaSBpbiByYW5nZSgzKV0KKyAgICAg
ICAgPj4+IGJvdW5kcyA9M0QgWyhzcC5jZW50ZXJbaV0gLSA1LjAqa3BjLAorICAgICAgICAuLi4g
ICAgICAgICAgICBzcC5jZW50ZXJbaV0gKyA1LjAqa3BjKSBmb3IgaSBpbiByYW5nZSgzKV0KICAg
ICAgICAgPj4+IHN1cmYuZXhwb3J0X3BseSgibXlfZ2FsYXh5LnBseSIsIGJvdW5kcyA9M0QgYm91
bmRzKQogICAgICAgICAiIiIKICAgICAgICAgaWYgc2VsZi52ZXJ0aWNlcyBpcyBOb25lOgpAQCAt
MTcxNiwxOCArMTcxOCwxNyBAQAogICAgICAgICBFeGFtcGxlcwogICAgICAgICAtLS0tLS0tLQo9
MjAKLSAgICAgICAgPj4+IGZyb20geXQubW9kcyBpbXBvcnQgKgotICAgICAgICA+Pj4gZHMgPTNE
IGxvYWQoInJlZHNoaWZ0MDA1OCIpCisgICAgICAgID4+PiBmcm9tIHl0LnVuaXRzIGltcG9ydCBr
cGMKICAgICAgICAgPj4+IGRkID0zRCBkcy5zcGhlcmUoIm1heCIsICgyMDAsICJrcGMiKSkKICAg
ICAgICAgPj4+IHJobyA9M0QgNWUtMjcKLSAgICAgICAgPj4+IGJvdW5kcyA9M0QgWyhkZC5jZW50
ZXJbaV0gLSAxMDAuMC9kc1sna3BjJ10sCi0gICAgICAgIC4uLiAgICAgICAgICAgIGRkLmNlbnRl
cltpXSArIDEwMC4wL2RzWydrcGMnXSkgZm9yIGkgaW4gcmFuZ2UoMyldCisgICAgICAgID4+PiBi
b3VuZHMgPTNEIFsoZGQuY2VudGVyW2ldIC0gMTAwLjAqa3BjLAorICAgICAgICAuLi4gICAgICAg
ICAgICBkZC5jZW50ZXJbaV0gKyAxMDAuMCprcGMpIGZvciBpIGluIHJhbmdlKDMpXQogICAgICAg
ICAuLi4KLSAgICAgICAgPj4+IHN1cmYgPTNEIGRzLnN1cmZhY2UoZGQsICJEZW5zaXR5Iiwgcmhv
KQorICAgICAgICA+Pj4gc3VyZiA9M0QgZHMuc3VyZmFjZShkZCwgImRlbnNpdHkiLCByaG8pCiAg
ICAgICAgID4+PiBydiA9M0Qgc3VyZi5leHBvcnRfc2tldGNoZmFiKAogICAgICAgICAuLi4gICAg
IHRpdGxlID0zRCAiVGVzdGluZyBVcGxvYWQiLAogICAgICAgICAuLi4gICAgIGRlc2NyaXB0aW9u
ID0zRCAiQSBzaW1wbGUgdGVzdCBvZiB0aGUgdXBsb2FkZXIiLAotICAgICAgICAuLi4gICAgIGNv
bG9yX2ZpZWxkID0zRCAiVGVtcGVyYXR1cmUiLAorICAgICAgICAuLi4gICAgIGNvbG9yX2ZpZWxk
ID0zRCAidGVtcGVyYXR1cmUiLAogICAgICAgICAuLi4gICAgIGNvbG9yX21hcCA9M0QgImhvdCIs
CiAgICAgICAgIC4uLiAgICAgY29sb3JfbG9nID0zRCBUcnVlLAogICAgICAgICAuLi4gICAgIGJv
dW5kcyA9M0QgYm91bmRzKQoKZGlmZiAtciBkNWRlZDFlZWJlZDQ0ZmY0NzgzZjE3Mjg3NzNiNjAz
NTQ1OGVkZWE5IC1yIDFiOTdmM2JjZDkxNzViYWI5NmMzNmMwPQo0ZTM2M2FmYzI1MzczZTE4OCB5
dC9kYXRhX29iamVjdHMvc3RhdGljX291dHB1dC5weQotLS0gYS95dC9kYXRhX29iamVjdHMvc3Rh
dGljX291dHB1dC5weQorKysgYi95dC9kYXRhX29iamVjdHMvc3RhdGljX291dHB1dC5weQpAQCAt
MzUsNiArMzUsOCBAQAogICAgIFZhbGlkYXRlU3BhdGlhbAogZnJvbSB5dC5maWVsZHMuZmllbGRf
aW5mb19jb250YWluZXIgaW1wb3J0IFwKICAgICBGaWVsZEluZm9Db250YWluZXIsIE51bGxGdW5j
Citmcm9tIHl0LmZpZWxkcy5mbHVpZF9maWVsZHMgaW1wb3J0IFwKKyAgICBzZXR1cF9ncmFkaWVu
dF9maWVsZHMKIGZyb20geXQuZGF0YV9vYmplY3RzLnBhcnRpY2xlX2ZpbHRlcnMgaW1wb3J0IFwK
ICAgICBmaWx0ZXJfcmVnaXN0cnkKIGZyb20geXQuZGF0YV9vYmplY3RzLnBhcnRpY2xlX3VuaW9u
cyBpbXBvcnQgXApAQCAtOTY1LDYgKzk2Nyw1MCBAQAogICAgICAgICAgICAgdmFsaWRhdG9ycz0z
RFtWYWxpZGF0ZVNwYXRpYWwoKV0pCiAgICAgICAgIHJldHVybiAoImRlcG9zaXQiLCBmaWVsZF9u
YW1lKQo9MjAKKyAgICBkZWYgYWRkX2dyYWRpZW50X2ZpZWxkcyhzZWxmLCBpbnB1dF9maWVsZCk6
CisgICAgICAgICIiIkFkZCBncmFkaWVudCBmaWVsZHMuPTIwCisKKyAgICAgICAgQ3JlYXRlcyBm
b3VyIG5ldyBncmlkLWJhc2VkIGZpZWxkcyB0aGF0IHJlcHJlc2VudCB0aGUgY29tcG9uZW50cyBv
ZgorICAgICAgICB0aGUgZ3JhZGllbnQgb2YgYW4gZXhpc3RpbmcgZmllbGQsIHBsdXMgYW4gZXh0
cmEgZmllbGQgZm9yIHRoZSBtYWc9Cm5pdHVkZQorICAgICAgICBvZiB0aGUgZ3JhZGllbnQuIEN1
cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBpbiBDYXJ0ZXNpYW4gZ2VvbWV0cmllcy49CiBUaGU9MjAK
KyAgICAgICAgZ3JhZGllbnQgaXMgY29tcHV0ZWQgdXNpbmcgc2Vjb25kLW9yZGVyIGNlbnRlcmVk
IGRpZmZlcmVuY2VzLj0yMAorCisgICAgICAgIFBhcmFtZXRlcnMKKyAgICAgICAgLS0tLS0tLS0t
LQorICAgICAgICBpbnB1dF9maWVsZCA6IHR1cGxlCisgICAgICAgICAgIFRoZSBmaWVsZCBuYW1l
IHR1cGxlIG9mIHRoZSBwYXJ0aWNsZSBmaWVsZCB0aGUgZGVwb3NpdGVkIGZpZWxkID0Kd2lsbAor
ICAgICAgICAgICBiZSBjcmVhdGVkIGZyb20uICBUaGlzIG11c3QgYmUgYSBmaWVsZCBuYW1lIHR1
cGxlIHNvIHl0IGNhbgorICAgICAgICAgICBhcHByb3ByaWF0ZWx5IGluZmVyIHRoZSBjb3JyZWN0
IGZpZWxkIHR5cGUuCisKKyAgICAgICAgUmV0dXJucworICAgICAgICAtLS0tLS0tCisgICAgICAg
IEEgbGlzdCBvZiBmaWVsZCBuYW1lIHR1cGxlcyBmb3IgdGhlIG5ld2x5IGNyZWF0ZWQgZmllbGRz
LgorICAgICAgID0yMAorICAgICAgICBFeGFtcGxlcworICAgICAgICAtLS0tLS0tLQorICAgICAg
ICA+Pj4gZ3JhZF9maWVsZHMgPTNEIGRzLmFkZF9ncmFkaWVudF9maWVsZHMoKCJnYXMiLCJ0ZW1w
ZXJhdHVyZSIpKQorICAgICAgICA+Pj4gcHJpbnQoZ3JhZF9maWVsZHMpCisgICAgICAgIFsoJ2dh
cycsICd0ZW1wZXJhdHVyZV9ncmFkaWVudF94JyksPTIwCisgICAgICAgICAoJ2dhcycsICd0ZW1w
ZXJhdHVyZV9ncmFkaWVudF95JyksPTIwCisgICAgICAgICAoJ2dhcycsICd0ZW1wZXJhdHVyZV9n
cmFkaWVudF96JyksPTIwCisgICAgICAgICAoJ2dhcycsICd0ZW1wZXJhdHVyZV9ncmFkaWVudF9t
YWduaXR1ZGUnKV0KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuaW5kZXgKKyAgICAgICAgaWYg
aXNpbnN0YW5jZShpbnB1dF9maWVsZCwgdHVwbGUpOgorICAgICAgICAgICAgZnR5cGUsIGlucHV0
X2ZpZWxkID0zRCBpbnB1dF9maWVsZFswXSwgaW5wdXRfZmllbGRbMV0KKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgorICAgICAgICB1bml0cyA9M0Qgc2VsZi5m
aWVsZF9pbmZvW2Z0eXBlLCBpbnB1dF9maWVsZF0udW5pdHMKKyAgICAgICAgc2V0dXBfZ3JhZGll
bnRfZmllbGRzKHNlbGYuZmllbGRfaW5mbywgKGZ0eXBlLCBpbnB1dF9maWVsZCksIHVuaXRzKQor
ICAgICAgICAjIE5vdyB3ZSBtYWtlIGEgbGlzdCBvZiB0aGUgZmllbGRzIHRoYXQgd2VyZSBqdXN0
IG1hZGUsIHRvIGNoZWNrIHQ9CmhlbQorICAgICAgICAjIGFuZCB0byByZXR1cm4gdGhlbQorICAg
ICAgICBncmFkX2ZpZWxkcyA9M0QgWyhmdHlwZSxpbnB1dF9maWVsZCsiX2dyYWRpZW50XyVzIiAl
IHN1ZmZpeCkKKyAgICAgICAgICAgICAgICAgICAgICAgZm9yIHN1ZmZpeCBpbiAieHl6Il0KKyAg
ICAgICAgZ3JhZF9maWVsZHMuYXBwZW5kKChmdHlwZSxpbnB1dF9maWVsZCsiX2dyYWRpZW50X21h
Z25pdHVkZSIpKQorICAgICAgICBkZXBzLCBfID0zRCBzZWxmLmZpZWxkX2luZm8uY2hlY2tfZGVy
aXZlZF9maWVsZHMoZ3JhZF9maWVsZHMpCisgICAgICAgIHNlbGYuZmllbGRfZGVwZW5kZW5jaWVz
LnVwZGF0ZShkZXBzKQorICAgICAgICByZXR1cm4gZ3JhZF9maWVsZHMKKwogZGVmIF9yZWNvbnN0
cnVjdF9kcygqYXJncywgKiprd2FyZ3MpOgogICAgIGRhdGFzZXRzID0zRCBQYXJhbWV0ZXJGaWxl
U3RvcmUoKQogICAgIGRzID0zRCBkYXRhc2V0cy5nZXRfZHNfaGFzaCgqYXJncykKCmRpZmYgLXIg
ZDVkZWQxZWViZWQ0NGZmNDc4M2YxNzI4NzczYjYwMzU0NThlZGVhOSAtciAxYjk3ZjNiY2Q5MTc1
YmFiOTZjMzZjMD0KNGUzNjNhZmMyNTM3M2UxODggeXQvZmllbGRzL3Rlc3RzL3Rlc3RfZmllbGRz
LnB5Ci0tLSBhL3l0L2ZpZWxkcy90ZXN0cy90ZXN0X2ZpZWxkcy5weQorKysgYi95dC9maWVsZHMv
dGVzdHMvdGVzdF9maWVsZHMucHkKQEAgLTE5NCw2ICsxOTQsMTggQEAKICAgICByZXQgPTNEIGFk
W2ZuXQogICAgIGFzc2VydF9lcXVhbChyZXQuc3VtKCksIGFkWydwYXJ0aWNsZV9vbmVzJ10uc3Vt
KCkpCj0yMAorZGVmIHRlc3RfYWRkX2dyYWRpZW50X2ZpZWxkcygpOgorICAgIGdmaWVsZHMgPTNE
IGJhc2VfZHMuYWRkX2dyYWRpZW50X2ZpZWxkcygoImdhcyIsImRlbnNpdHkiKSkKKyAgICBmaWVs
ZF9saXN0ID0zRCBbKCdnYXMnLCAnZGVuc2l0eV9ncmFkaWVudF94JyksCisgICAgICAgICAgICAg
ICAgICAoJ2dhcycsICdkZW5zaXR5X2dyYWRpZW50X3knKSwKKyAgICAgICAgICAgICAgICAgICgn
Z2FzJywgJ2RlbnNpdHlfZ3JhZGllbnRfeicpLAorICAgICAgICAgICAgICAgICAgKCdnYXMnLCAn
ZGVuc2l0eV9ncmFkaWVudF9tYWduaXR1ZGUnKV0KKyAgICBhc3NlcnRfZXF1YWwoZ2ZpZWxkcywg
ZmllbGRfbGlzdCkKKyAgICBhZCA9M0QgYmFzZV9kcy5hbGxfZGF0YSgpCisgICAgZm9yIGZpZWxk
IGluIGZpZWxkX2xpc3Q6CisgICAgICAgIHJldCA9M0QgYWRbZmllbGRdCisgICAgICAgIGFzc2Vy
dCBzdHIocmV0LnVuaXRzKSA9M0Q9M0QgImcvY20qKjQiCisKIGRlZiBnZXRfZGF0YShkcywgZmll
bGRfbmFtZSk6CiAgICAgIyBOZWVkIHRvIGNyZWF0ZSBhIG5ldyBkYXRhIG9iamVjdCBvdGhlcndp
c2UgdGhlIGVycm9ycyB3ZSBhcmUKICAgICAjIGludGVudGlvbmFsbHkgcmFpc2luZyBsZWFkIHRv
IHNwdXJpb3VzIEdlbmVyYXRpb25JblByb2dyZXNzIGVycm9ycwoKCmh0dHBzOi8vYml0YnVja2V0
Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2UxODE0NmNhOGNmOC8KQ2hhbmdlc2V0OiAgIGUx
ODE0NmNhOGNmOApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAg
ICAgICAgMjAxNS0wNi0xNSAxNTo0MDoyOCswMDowMApTdW1tYXJ5OiAgICAgVXBkYXRlIC5weXRo
b24tdmVyc2lvbgpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDFiOTdmM2JjZDkxNzViYWI5
NmMzNmMwNGUzNjNhZmMyNTM3M2UxODggLXIgZTE4MTQ2Y2E4Y2Y4YjU5YmNjYzdhMGU9CjA0Njk1
NzUyNTVhODY2OTI2IC5weXRob24tdmVyc2lvbgotLS0gYS8ucHl0aG9uLXZlcnNpb24KKysrIGIv
LnB5dGhvbi12ZXJzaW9uCkBAIC0xLDEgKzEsMSBAQAotMi43LjkKKzIuNy4xMAoKCmh0dHBzOi8v
Yml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2M5ODUyNzk0ZTNjZi8KQ2hhbmdl
c2V0OiAgIGM5ODUyNzk0ZTNjZgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNr
cgpEYXRlOiAgICAgICAgMjAxNS0wNi0xNSAyMTo0MTowMCswMDowMApTdW1tYXJ5OiAgICAgQWRk
IHRlc3RzIGRpcgpBZmZlY3RlZCAjOiAgMSBmaWxlCgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95
dF9hbmFseXNpcy95dC9jb21taXRzLzA4NDdlZWYzMDgxMC8KQ2hhbmdlc2V0OiAgIDA4NDdlZWYz
MDgxMApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAg
MjAxNS0wNi0xOCAxNTo1NDo0OSswMDowMApTdW1tYXJ5OiAgICAgbWVyZ2VkIHdpdGggdXBzdHJl
YW0KQWZmZWN0ZWQgIzogIDE4IGZpbGVzCgpkaWZmIC1yIGM5ODUyNzk0ZTNjZmJhZTkxNmZkMGJj
YmEzMGI3Y2QzYjc0OTJkYzQgLXIgMDg0N2VlZjMwODEwOTg1NTFkZjllOTE9Cjk4OTFlMjZkZTJi
Mjg5MDljIGRvYy9zb3VyY2UvdmlzdWFsaXppbmcvRklUU0ltYWdlQnVmZmVyLmlweW5iCi0tLSBh
L2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvRklUU0ltYWdlQnVmZmVyLmlweW5iCisrKyAvZGV2L251
bGwKQEAgLTEsMjA1ICswLDAgQEAKLXsKLSAibWV0YWRhdGEiOiB7Ci0gICJuYW1lIjogIiIsCi0g
ICJzaWduYXR1cmUiOiAic2hhMjU2Ojg3MmY3NTI1ZWRkM2MxZWUwOWM2N2Y2ZWNkZDg1NTIyMThk
ZjA1ZWJlNWFiNzNiY2FiNT0KNTY1NGVkZjBhYzJiYiIKLSB9LAotICJuYmZvcm1hdCI6IDMsCi0g
Im5iZm9ybWF0X21pbm9yIjogMCwKLSAid29ya3NoZWV0cyI6IFsKLSAgewotICAgImNlbGxzIjog
WwotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCi0gICAgICJtZXRhZGF0YSI6
IHt9LAotICAgICAic291cmNlIjogWwotICAgICAgInl0IGhhcyBjYXBhYmlsaXRpZXMgZm9yIHdy
aXRpbmcgMkQgYW5kIDNEIHVuaWZvcm1seSBncmlkZGVkIGRhdGEgZ2U9Cm5lcmF0ZWQgZnJvbSBk
YXRhc2V0cyB0byBGSVRTIGZpbGVzLiBUaGlzIGlzIHZpYSB0aGUgYEZJVFNJbWFnZUJ1ZmZlcmAg
Y2xhcz0Kcywgd2hpY2ggaGFzIHN1YmNsYXNzZXMgYEZJVFNTbGljZWAgYW5kIGBGSVRTUHJvamVj
dGlvbmAgdG8gd3JpdGUgc2xpY2VzIGFuPQpkIHByb2plY3Rpb25zIGRpcmVjdGx5IHRvIEZJVFMu
IFdlJ2xsIHRlc3QgdGhpcyBvdXQgb24gYW4gQXRoZW5hIGRhdGFzZXQuIgotICAgICBdCi0gICAg
fSwKLSAgICB7Ci0gICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCi0gICAgICJjb2xsYXBzZWQiOiBm
YWxzZSwKLSAgICAgImlucHV0IjogWwotICAgICAgIiVtYXRwbG90bGliIGlubGluZVxuIiwKLSAg
ICAgICJpbXBvcnQgeXRcbiIsCi0gICAgICAiZnJvbSB5dC51dGlsaXRpZXMuZml0c19pbWFnZSBp
bXBvcnQgRklUU0ltYWdlQnVmZmVyLCBGSVRTU2xpY2UsIEZJVD0KU1Byb2plY3Rpb24iCi0gICAg
IF0sCi0gICAgICJsYW5ndWFnZSI6ICJweXRob24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAg
ICAgIm91dHB1dHMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAiY2VsbF90eXBlIjogImNvZGUi
LAotICAgICAiY29sbGFwc2VkIjogZmFsc2UsCi0gICAgICJpbnB1dCI6IFsKLSAgICAgICJkcyA9
M0QgeXQubG9hZChcIk1IRFNsb3NoaW5nL3ZpcmdvX2xvd19yZXMuMDA1NC52dGtcIiwgcGFyYW1l
dGVycz0KPTNEe1wibGVuZ3RoX3VuaXRcIjooMS4wLFwiTXBjXCIpLFxuIiwKLSAgICAgICIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcIm1hPQpzc191bml0XCI6KDEuMGUxNCxcIk1zdW5cIiksXG4iLAotICAgICAgIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwi
dGk9Cm1lX3VuaXRcIjooMS4wLFwiTXlyXCIpfSkiCi0gICAgIF0sCi0gICAgICJsYW5ndWFnZSI6
ICJweXRob24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAgICAgIm91dHB1dHMiOiBbXQotICAg
IH0sCi0gICAgewotICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKLSAgICAgIm1ldGFkYXRh
Ijoge30sCi0gICAgICJzb3VyY2UiOiBbCi0gICAgICAiVG8gZGVtb25zdHJhdGUgYSB1c2VmdWwg
ZXhhbXBsZSBvZiBjcmVhdGluZyBhIEZJVFMgZmlsZSwgbGV0J3MgZmlycz0KdCBtYWtlIGEgYFBy
b2plY3Rpb25QbG90YDoiCi0gICAgIF0KLSAgICB9LAotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6
ICJjb2RlIiwKLSAgICAgImNvbGxhcHNlZCI6IGZhbHNlLAotICAgICAiaW5wdXQiOiBbCi0gICAg
ICAicHJqID0zRCB5dC5Qcm9qZWN0aW9uUGxvdChkcywgXCJ6XCIsIFtcInRlbXBlcmF0dXJlXCJd
LCB3ZWlnaHRfZmllbD0KZD0zRFwiZGVuc2l0eVwiLCB3aWR0aD0zRCg1MDAuLFwia3BjXCIpKVxu
IiwKLSAgICAgICJwcmouc2hvdygpIgotICAgICBdLAotICAgICAibGFuZ3VhZ2UiOiAicHl0aG9u
IiwKLSAgICAgIm1ldGFkYXRhIjoge30sCi0gICAgICJvdXRwdXRzIjogW10KLSAgICB9LAotICAg
IHsKLSAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCi0gICAgICJtZXRhZGF0YSI6IHt9LAot
ICAgICAic291cmNlIjogWwotICAgICAgIlN1cHBvc2UgdGhhdCB3ZSB3YW50ZWQgdG8gd3JpdGUg
dGhpcyBwcm9qZWN0aW9uIHRvIGEgRklUUyBmaWxlIGZvciA9CmFuYWx5c2lzIGFuZCB2aXN1YWxp
emF0aW9uIGluIG90aGVyIHByb2dyYW1zLCBzdWNoIGFzIGRzOS4gV2UgY2FuIGRvIHRoYXQgdT0K
c2luZyBgRklUU1Byb2plY3Rpb25gOiIKLSAgICAgXQotICAgIH0sCi0gICAgewotICAgICAiY2Vs
bF90eXBlIjogImNvZGUiLAotICAgICAiY29sbGFwc2VkIjogZmFsc2UsCi0gICAgICJpbnB1dCI6
IFsKLSAgICAgICJwcmpfZml0cyA9M0QgRklUU1Byb2plY3Rpb24oZHMsIFwielwiLCBbXCJ0ZW1w
ZXJhdHVyZVwiXSwgd2VpZ2h0X2ZpPQplbGQ9M0RcImRlbnNpdHlcIikiCi0gICAgIF0sCi0gICAg
ICJsYW5ndWFnZSI6ICJweXRob24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAgICAgIm91dHB1
dHMiOiBbXQotICAgIH0sCi0gICAgewotICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKLSAg
ICAgIm1ldGFkYXRhIjoge30sCi0gICAgICJzb3VyY2UiOiBbCi0gICAgICAid2hpY2ggdG9vayB0
aGUgc2FtZSBwYXJhbWV0ZXJzIGFzIGBQcm9qZWN0aW9uUGxvdGAgZXhjZXB0IHRoZSB3aWR0aD0K
LCBiZWNhdXNlIGBGSVRTUHJvamVjdGlvbmAgYW5kIGBGSVRTU2xpY2VgIGFsd2F5cyBtYWtlIHNs
aWNlcyBhbmQgcHJvamVjdGlvPQpucyBvZiB0aGUgd2lkdGggb2YgdGhlIGRvbWFpbiBzaXplLCBh
dCB0aGUgZmluZXN0IHJlc29sdXRpb24gYXZhaWxhYmxlIGluIHQ9CmhlIHNpbXVsYXRpb24sIGlu
IGEgdW5pdCBkZXRlcm1pbmVkIHRvIGJlIGFwcHJvcHJpYXRlIGZvciB0aGUgcGh5c2ljYWwgc2l6
ZT0KIG9mIHRoZSBkYXRhc2V0LiBgcHJqX2ZpdHNgIGlzIGEgZnVsbC1mbGVkZ2VkIEZJVFMgZmls
ZSBpbiBtZW1vcnksIHNwZWNpZmljPQphbGx5IGFuIFtBc3Ryb1B5IGBIRFVMaXN0YF0oaHR0cDov
L2FzdHJvcHkucmVhZHRoZWRvY3Mub3JnL2VuL2xhdGVzdC9pby9maXQ9CnMvYXBpL2hkdWxpc3Rz
Lmh0bWwpIG9iamVjdC4gVGhpcyBtZWFucyB0aGF0IHdlIGNhbiB1c2UgYWxsIG9mIHRoZSBtZXRo
b2RzID0KaW5oZXJpdGVkIGZyb20gYEhEVUxpc3RgOiIKLSAgICAgXQotICAgIH0sCi0gICAgewot
ICAgICAiY2VsbF90eXBlIjogImNvZGUiLAotICAgICAiY29sbGFwc2VkIjogZmFsc2UsCi0gICAg
ICJpbnB1dCI6IFsKLSAgICAgICJwcmpfZml0cy5pbmZvKCkiCi0gICAgIF0sCi0gICAgICJsYW5n
dWFnZSI6ICJweXRob24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAgICAgIm91dHB1dHMiOiBb
XQotICAgIH0sCi0gICAgewotICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKLSAgICAgIm1l
dGFkYXRhIjoge30sCi0gICAgICJzb3VyY2UiOiBbCi0gICAgICAiYGluZm9gIHNob3dzIHVzIHRo
ZSBjb250ZW50cyBvZiB0aGUgdmlydHVhbCBGSVRTIGZpbGUuIFdlIGNhbiBhbHNvID0KbG9vayBh
dCB0aGUgaGVhZGVyIGZvciB0aGUgYFwidGVtcGVyYXR1cmVcImAgaW1hZ2UsIGxpa2Ugc286Igot
ICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCi0gICAgICJj
b2xsYXBzZWQiOiBmYWxzZSwKLSAgICAgImlucHV0IjogWwotICAgICAgInByal9maXRzW1widGVt
cGVyYXR1cmVcIl0uaGVhZGVyIgotICAgICBdLAotICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwK
LSAgICAgIm1ldGFkYXRhIjoge30sCi0gICAgICJvdXRwdXRzIjogW10KLSAgICB9LAotICAgIHsK
LSAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCi0gICAgICJtZXRhZGF0YSI6IHt9LAotICAg
ICAic291cmNlIjogWwotICAgICAgIndoZXJlIHdlIGNhbiBzZWUgdGhhdCB0aGUgdGVtcGVyYXR1
cmUgdW5pdHMgYXJlIGluIEtlbHZpbiBhbmQgdGhlIGM9CmVsbCB3aWR0aHMgYXJlIGluIGtpbG9w
YXJzZWNzLiBUaGUgcHJvamVjdGlvbiBjYW4gYmUgd3JpdHRlbiB0byBkaXNrIHVzaW5nID0KdGhl
IGB3cml0ZXRvYCBtZXRob2Q6IgotICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAgICJjZWxsX3R5
cGUiOiAiY29kZSIsCi0gICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKLSAgICAgImlucHV0IjogWwot
ICAgICAgInByal9maXRzLndyaXRldG8oXCJzbG9zaGluZy5maXRzXCIsIGNsb2JiZXI9M0RUcnVl
KSIKLSAgICAgXSwKLSAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCi0gICAgICJtZXRhZGF0YSI6
IHt9LAotICAgICAib3V0cHV0cyI6IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICJjZWxsX3R5cGUi
OiAibWFya2Rvd24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAgICAgInNvdXJjZSI6IFsKLSAg
ICAgICJTaW5jZSB5dCBjYW4gcmVhZCBGSVRTIGltYWdlIGZpbGVzLCBpdCBjYW4gYmUgbG9hZGVk
IHVwIGp1c3QgbGlrZSBhPQpueSBvdGhlciBkYXRhc2V0OiIKLSAgICAgXQotICAgIH0sCi0gICAg
ewotICAgICAiY2VsbF90eXBlIjogImNvZGUiLAotICAgICAiY29sbGFwc2VkIjogZmFsc2UsCi0g
ICAgICJpbnB1dCI6IFsKLSAgICAgICJkczIgPTNEIHl0LmxvYWQoXCJzbG9zaGluZy5maXRzXCIp
IgotICAgICBdLAotICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKLSAgICAgIm1ldGFkYXRhIjog
e30sCi0gICAgICJvdXRwdXRzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6
ICJtYXJrZG93biIsCi0gICAgICJtZXRhZGF0YSI6IHt9LAotICAgICAic291cmNlIjogWwotICAg
ICAgImFuZCB3ZSBjYW4gbWFrZSBhIGBTbGljZVBsb3RgIG9mIHRoZSAyRCBpbWFnZSwgd2hpY2gg
c2hvd3MgdGhlIHNhbWU9CiBkYXRhIGFzIHRoZSBwcmV2aW91cyBpbWFnZToiCi0gICAgIF0KLSAg
ICB9LAotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKLSAgICAgImNvbGxhcHNlZCI6
IGZhbHNlLAotICAgICAiaW5wdXQiOiBbCi0gICAgICAic2xjMiA9M0QgeXQuU2xpY2VQbG90KGRz
MiwgXCJ6XCIsIFtcInRlbXBlcmF0dXJlXCJdLCB3aWR0aD0zRCg1MDAuLD0KXCJrcGNcIikpXG4i
LAotICAgICAgInNsYzIuc2V0X2xvZyhcInRlbXBlcmF0dXJlXCIsIFRydWUpXG4iLAotICAgICAg
InNsYzIuc2hvdygpIgotICAgICBdLAotICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKLSAgICAg
Im1ldGFkYXRhIjoge30sCi0gICAgICJvdXRwdXRzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAg
ImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCi0gICAgICJtZXRhZGF0YSI6IHt9LAotICAgICAic291
cmNlIjogWwotICAgICAgIklmIHlvdSB3YW50IG1vcmUgZmluZS1ncmFpbmVkIGNvbnRyb2wgb3Zl
ciB3aGF0IGdvZXMgaW50byB0aGUgRklUUyA9CmZpbGUsIHlvdSBjYW4gY2FsbCBgRklUU0ltYWdl
QnVmZmVyYCBkaXJlY3RseSwgd2l0aCB2YXJpb3VzIGtpbmRzIG9mIGlucHV0cz0KLiBGb3IgZXhh
bXBsZSwgeW91IGNvdWxkIHVzZSBhIGBGaXhlZFJlc29sdXRpb25CdWZmZXJgLCBhbmQgc3BlY2lm
eSB5b3Ugd2FuPQp0IHRoZSB1bml0cyBpbiBwYXJzZWNzIGluc3RlYWQ6IgotICAgICBdCi0gICAg
fSwKLSAgICB7Ci0gICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCi0gICAgICJjb2xsYXBzZWQiOiBm
YWxzZSwKLSAgICAgImlucHV0IjogWwotICAgICAgInNsYzMgPTNEIGRzLnNsaWNlKDAsIDAuMClc
biIsCi0gICAgICAiZnJiID0zRCBzbGMzLnRvX2ZyYigoNTAwLixcImtwY1wiKSwgODAwKVxuIiwK
LSAgICAgICJmaWIgPTNEIEZJVFNJbWFnZUJ1ZmZlcihmcmIsIGZpZWxkcz0zRFtcImRlbnNpdHlc
IixcInRlbXBlcmF0dXJlXCJdPQosIHVuaXRzPTNEXCJwY1wiKSIKLSAgICAgXSwKLSAgICAgImxh
bmd1YWdlIjogInB5dGhvbiIsCi0gICAgICJtZXRhZGF0YSI6IHt9LAotICAgICAib3V0cHV0cyI6
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAotICAgICAi
bWV0YWRhdGEiOiB7fSwKLSAgICAgInNvdXJjZSI6IFsKLSAgICAgICJGaW5hbGx5LCBhIDNEIEZJ
VFMgY3ViZSBjYW4gYmUgY3JlYXRlZCBmcm9tIGEgY292ZXJpbmcgZ3JpZDoiCi0gICAgIF0KLSAg
ICB9LAotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKLSAgICAgImNvbGxhcHNlZCI6
IGZhbHNlLAotICAgICAiaW5wdXQiOiBbCi0gICAgICAiY3ZnID0zRCBkcy5jb3ZlcmluZ19ncmlk
KGRzLmluZGV4Lm1heF9sZXZlbCwgWy0wLjUsLTAuNSwtMC41XSwgWzY0LD0KIDY0LCA2NF0sIGZp
ZWxkcz0zRFtcImRlbnNpdHlcIixcInRlbXBlcmF0dXJlXCJdKVxuIiwKLSAgICAgICJmaWIgPTNE
IEZJVFNJbWFnZUJ1ZmZlcihjdmcsIGZpZWxkcz0zRFtcImRlbnNpdHlcIixcInRlbXBlcmF0dXJl
XCJdPQosIHVuaXRzPTNEXCJNcGNcIikiCi0gICAgIF0sCi0gICAgICJsYW5ndWFnZSI6ICJweXRo
b24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAgICAgIm91dHB1dHMiOiBbXQotICAgIH0KLSAg
IF0sCi0gICAibWV0YWRhdGEiOiB7fQotICB9Ci0gXQotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKCmRpZmYgLXIgYzk4NTI3OTRlM2NmYmFlOTE2ZmQwYmNiYTMwYjdjZDNiNzQ5MmRjNCAt
ciAwODQ3ZWVmMzA4MTA5ODU1MWRmOWU5MT0KOTg5MWUyNmRlMmIyODkwOWMgZG9jL3NvdXJjZS92
aXN1YWxpemluZy9GSVRTSW1hZ2VEYXRhLmlweW5iCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Nv
dXJjZS92aXN1YWxpemluZy9GSVRTSW1hZ2VEYXRhLmlweW5iCkBAIC0wLDAgKzEsNDA5IEBACit7
CisgIm1ldGFkYXRhIjogeworICAibmFtZSI6ICIiLAorICAic2lnbmF0dXJlIjogInNoYTI1Njpj
N2RlNWVmMTkwZmVhYTIyODk1OTVhZWM3ZWFhMDVkYjAyZmQ1MzVlNDA4ZTBkMDRhYTU9CjQwODhi
MGJkM2ViYWUiCisgfSwKKyAibmJmb3JtYXQiOiAzLAorICJuYmZvcm1hdF9taW5vciI6IDAsCisg
IndvcmtzaGVldHMiOiBbCisgIHsKKyAgICJjZWxscyI6IFsKKyAgICB7CisgICAgICJjZWxsX3R5
cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsK
KyAgICAgICJ5dCBoYXMgY2FwYWJpbGl0aWVzIGZvciB3cml0aW5nIDJEIGFuZCAzRCB1bmlmb3Jt
bHkgZ3JpZGRlZCBkYXRhIGdlPQpuZXJhdGVkIGZyb20gZGF0YXNldHMgdG8gRklUUyBmaWxlcy4g
VGhpcyBpcyB2aWEgdGhlIGBGSVRTSW1hZ2VEYXRhYCBjbGFzcy49CiBXZSdsbCB0ZXN0IHRoZXNl
IGNhcGFiaWxpdGllcyBvdXQgb24gYW4gQXRoZW5hIGRhdGFzZXQuIgorICAgICBdCisgICAgfSwK
KyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQiOiBmYWxz
ZSwKKyAgICAgImlucHV0IjogWworICAgICAgImltcG9ydCB5dFxuIiwKKyAgICAgICJmcm9tIHl0
LnV0aWxpdGllcy5maXRzX2ltYWdlIGltcG9ydCBGSVRTSW1hZ2VEYXRhLCBGSVRTUHJvamVjdGlv
biIKKyAgICAgXSwKKyAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6
IHt9LAorICAgICAib3V0cHV0cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUi
OiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKKyAgICAgImlucHV0IjogWworICAg
ICAgImRzID0zRCB5dC5sb2FkKFwiTUhEU2xvc2hpbmcvdmlyZ29fbG93X3Jlcy4wMDU0LnZ0a1wi
LCBwYXJhbWV0ZXJzPQo9M0R7XCJsZW5ndGhfdW5pdFwiOigxLjAsXCJNcGNcIiksXG4iLAorICAg
ICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwibWE9CnNzX3VuaXRcIjooMS4wZTE0LFwiTXN1blwiKSxcbiIsCisgICAgICAi
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXCJ0aT0KbWVfdW5pdFwiOigxLjAsXCJNeXJcIil9KSIKKyAgICAgXSwKKyAgICAgImxh
bmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6
IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiaGVhZGluZyIsCisgICAgICJs
ZXZlbCI6IDIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWworICAgICAg
IkNyZWF0aW5nIEZJVFMgaW1hZ2VzIGZyb20gU2xpY2VzIGFuZCBQcm9qZWN0aW9ucyIKKyAgICAg
XQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKKyAgICAgIm1l
dGFkYXRhIjoge30sCisgICAgICJzb3VyY2UiOiBbCisgICAgICAiVGhlcmUgYXJlIHNldmVyYWwg
d2F5cyB0byBtYWtlIGEgYEZJVFNJbWFnZURhdGFgIGluc3RhbmNlLiBUaGUgbW9zdD0KIGludHVp
dGl2ZSB3YXlzIGFyZSB0byB1c2UgdGhlIGBGSVRTU2xpY2VgLCBgRklUU1Byb2plY3Rpb25gLCBg
RklUU09mZkF4aXNTPQpsaWNlYCwgYW5kIGBGSVRTT2ZmQXhpc1Byb2plY3Rpb25gIGNsYXNzZXMg
dG8gd3JpdGUgc2xpY2VzIGFuZCBwcm9qZWN0aW9ucyA9CmRpcmVjdGx5IHRvIEZJVFMuIFRvIGRl
bW9uc3RyYXRlIGEgdXNlZnVsIGV4YW1wbGUgb2YgY3JlYXRpbmcgYSBGSVRTIGZpbGUsID0KbGV0
J3MgZmlyc3QgbWFrZSBhIGBQcm9qZWN0aW9uUGxvdGA6IgorICAgICBdCisgICAgfSwKKyAgICB7
CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKKyAg
ICAgImlucHV0IjogWworICAgICAgInByaiA9M0QgeXQuUHJvamVjdGlvblBsb3QoZHMsIFwielwi
LCBbXCJ0ZW1wZXJhdHVyZVwiXSwgd2VpZ2h0X2ZpZWw9CmQ9M0RcImRlbnNpdHlcIiwgd2lkdGg9
M0QoNTAwLixcImtwY1wiKSlcbiIsCisgICAgICAicHJqLnNob3coKSIKKyAgICAgXSwKKyAgICAg
Imxhbmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0
cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAg
ICAibWV0YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAgICAgICJTdXBwb3NlIHRoYXQg
d2Ugd2FudGVkIHRvIHdyaXRlIHRoaXMgcHJvamVjdGlvbiB0byBhIEZJVFMgZmlsZSBmb3IgPQph
bmFseXNpcyBhbmQgdmlzdWFsaXphdGlvbiBpbiBvdGhlciBwcm9ncmFtcywgc3VjaCBhcyBkczku
IFdlIGNhbiBkbyB0aGF0IHU9CnNpbmcgYEZJVFNQcm9qZWN0aW9uYDoiCisgICAgIF0KKyAgICB9
LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKKyAgICAgImNvbGxhcHNlZCI6IGZh
bHNlLAorICAgICAiaW5wdXQiOiBbCisgICAgICAicHJqX2ZpdHMgPTNEIEZJVFNQcm9qZWN0aW9u
KGRzLCBcInpcIiwgW1widGVtcGVyYXR1cmVcIl0sIHdlaWdodF9maT0KZWxkPTNEXCJkZW5zaXR5
XCIpIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRh
Ijoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlw
ZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWwor
ICAgICAgIndoaWNoIHRvb2sgdGhlIHNhbWUgcGFyYW1ldGVycyBhcyBgUHJvamVjdGlvblBsb3Rg
IGV4Y2VwdCB0aGUgd2lkdGg9CiwgYmVjYXVzZSBgRklUU1Byb2plY3Rpb25gIGFuZCBgRklUU1Ns
aWNlYCBhbHdheXMgbWFrZSBzbGljZXMgYW5kIHByb2plY3Rpbz0KbnMgb2YgdGhlIHdpZHRoIG9m
IHRoZSBkb21haW4gc2l6ZSwgYXQgdGhlIGZpbmVzdCByZXNvbHV0aW9uIGF2YWlsYWJsZSBpbiB0
PQpoZSBzaW11bGF0aW9uLCBpbiBhIHVuaXQgZGV0ZXJtaW5lZCB0byBiZSBhcHByb3ByaWF0ZSBm
b3IgdGhlIHBoeXNpY2FsIHNpemU9CiBvZiB0aGUgZGF0YXNldC4iCisgICAgIF0KKyAgICB9LAor
ICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRhZGF0YSI6IHt9
LAorICAgICAic291cmNlIjogWworICAgICAgIkJlY2F1c2UgYEZJVFNJbWFnZURhdGFgIGluaGVy
aXRzIGZyb20gdGhlIFtBc3Ryb1B5IGBIRFVMaXN0YF0oaHR0cDo9Ci8vYXN0cm9weS5yZWFkdGhl
ZG9jcy5vcmcvZW4vbGF0ZXN0L2lvL2ZpdHMvYXBpL2hkdWxpc3RzLmh0bWwpIGNsYXNzLCB3ZSBj
YT0KbiBjYWxsIGl0cyBtZXRob2RzLiBGb3IgZXhhbXBsZSwgYGluZm9gIHNob3dzIHVzIHRoZSBj
b250ZW50cyBvZiB0aGUgdmlydHVhPQpsIEZJVFMgZmlsZToiCisgICAgIF0KKyAgICB9LAorICAg
IHsKKyAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKKyAgICAgImNvbGxhcHNlZCI6IGZhbHNlLAor
ICAgICAiaW5wdXQiOiBbCisgICAgICAicHJqX2ZpdHMuaW5mbygpIgorICAgICBdLAorICAgICAi
bGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRz
IjogW10KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAg
ICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIldlIGNhbiBhbHNvIGxv
b2sgYXQgdGhlIGhlYWRlciBmb3IgYSBwYXJ0aWN1bGFyIGZpZWxkOiIKKyAgICAgXQorICAgIH0s
CisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFs
c2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJwcmpfZml0c1tcInRlbXBlcmF0dXJlXCJdLmhl
YWRlciIKKyAgICAgXSwKKyAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0
YSI6IHt9LAorICAgICAib3V0cHV0cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5
cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsK
KyAgICAgICJ3aGVyZSB3ZSBjYW4gc2VlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHVuaXRzIGFyZSBp
biBLZWx2aW4gYW5kIHRoZSBjPQplbGwgd2lkdGhzIGFyZSBpbiBraWxvcGFyc2Vjcy4gSWYgd2Ug
d2FudCB0aGUgcmF3IGltYWdlIGRhdGEgd2l0aCB1bml0cywgd2U9CiBjYW4gY2FsbCBgZ2V0X2Rh
dGFgOiIKKyAgICAgXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAor
ICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJwcmpfZml0
cy5nZXRfZGF0YShcInRlbXBlcmF0dXJlXCIpIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAi
cHl0aG9uIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9
LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRhZGF0YSI6
IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIldlIGNhbiB1c2UgdGhlIGBzZXRfdW5pdGAg
bWV0aG9kIHRvIGNoYW5nZSB0aGUgdW5pdHMgb2YgYSBwYXJ0aWN1bGE9CnIgZmllbGQ6IgorICAg
ICBdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xs
YXBzZWQiOiBmYWxzZSwKKyAgICAgImlucHV0IjogWworICAgICAgInByal9maXRzLnNldF91bml0
KFwidGVtcGVyYXR1cmVcIixcIlJcIilcbiIsCisgICAgICAicHJqX2ZpdHMuZ2V0X2RhdGEoXCJ0
ZW1wZXJhdHVyZVwiKSIKKyAgICAgXSwKKyAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCisgICAg
ICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAg
ICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAgInNv
dXJjZSI6IFsKKyAgICAgICJUaGUgaW1hZ2UgY2FuIGJlIHdyaXR0ZW4gdG8gZGlzayB1c2luZyB0
aGUgYHdyaXRldG9gIG1ldGhvZDoiCisgICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxf
dHlwZSI6ICJjb2RlIiwKKyAgICAgImNvbGxhcHNlZCI6IGZhbHNlLAorICAgICAiaW5wdXQiOiBb
CisgICAgICAicHJqX2ZpdHMud3JpdGV0byhcInNsb3NoaW5nLmZpdHNcIiwgY2xvYmJlcj0zRFRy
dWUpIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRh
Ijoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlw
ZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWwor
ICAgICAgIlNpbmNlIHl0IGNhbiByZWFkIEZJVFMgaW1hZ2UgZmlsZXMsIGl0IGNhbiBiZSBsb2Fk
ZWQgdXAganVzdCBsaWtlIGE9Cm55IG90aGVyIGRhdGFzZXQ6IgorICAgICBdCisgICAgfSwKKyAg
ICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwK
KyAgICAgImlucHV0IjogWworICAgICAgImRzMiA9M0QgeXQubG9hZChcInNsb3NoaW5nLmZpdHNc
IikiCisgICAgIF0sCisgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAorICAgICAibWV0YWRhdGEi
OiB7fSwKKyAgICAgIm91dHB1dHMiOiBbXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBl
IjogIm1hcmtkb3duIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJzb3VyY2UiOiBbCisg
ICAgICAiYW5kIHdlIGNhbiBtYWtlIGEgYFNsaWNlUGxvdGAgb2YgdGhlIDJEIGltYWdlLCB3aGlj
aCBzaG93cyB0aGUgc2FtZT0KIGRhdGEgYXMgdGhlIHByZXZpb3VzIGltYWdlOiIKKyAgICAgXQor
ICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2Vk
IjogZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJzbGMyID0zRCB5dC5TbGljZVBsb3Qo
ZHMyLCBcInpcIiwgW1widGVtcGVyYXR1cmVcIl0sIHdpZHRoPTNEKDUwMC4sPQpcImtwY1wiKSlc
biIsCisgICAgICAic2xjMi5zZXRfbG9nKFwidGVtcGVyYXR1cmVcIiwgVHJ1ZSlcbiIsCisgICAg
ICAic2xjMi5zaG93KCkiCisgICAgIF0sCisgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAorICAg
ICAibWV0YWRhdGEiOiB7fSwKKyAgICAgIm91dHB1dHMiOiBbXQorICAgIH0sCisgICAgeworICAg
ICAiY2VsbF90eXBlIjogImhlYWRpbmciLAorICAgICAibGV2ZWwiOiAyLAorICAgICAibWV0YWRh
dGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAgICAgICJVc2luZyBgRklUU0ltYWdlRGF0YWAg
ZGlyZWN0bHkiCisgICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJr
ZG93biIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIklm
IHlvdSB3YW50IG1vcmUgZmluZS1ncmFpbmVkIGNvbnRyb2wgb3ZlciB3aGF0IGdvZXMgaW50byB0
aGUgRklUUyA9CmZpbGUsIHlvdSBjYW4gY2FsbCBgRklUU0ltYWdlRGF0YWAgZGlyZWN0bHksIHdp
dGggdmFyaW91cyBraW5kcyBvZiBpbnB1dHMuID0KRm9yIGV4YW1wbGUsIHlvdSBjb3VsZCB1c2Ug
YSBgRml4ZWRSZXNvbHV0aW9uQnVmZmVyYCwgYW5kIHNwZWNpZnkgeW91IHdhbnQgPQp0aGUgdW5p
dHMgaW4gcGFyc2VjcyBpbnN0ZWFkOiIKKyAgICAgXQorICAgIH0sCisgICAgeworICAgICAiY2Vs
bF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6
IFsKKyAgICAgICJzbGMzID0zRCBkcy5zbGljZSgwLCAwLjApXG4iLAorICAgICAgImZyYiA9M0Qg
c2xjMy50b19mcmIoKDUwMC4sXCJrcGNcIiksIDgwMClcbiIsCisgICAgICAiZmlkX2ZyYiA9M0Qg
RklUU0ltYWdlRGF0YShmcmIsIGZpZWxkcz0zRFtcImRlbnNpdHlcIixcInRlbXBlcmF0dXJlXD0K
Il0sIHVuaXRzPTNEXCJwY1wiKSIKKyAgICAgXSwKKyAgICAgImxhbmd1YWdlIjogInB5dGhvbiIs
CisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6IFtdCisgICAgfSwKKyAgICB7
CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAg
ICAgInNvdXJjZSI6IFsKKyAgICAgICJBIDNEIEZJVFMgY3ViZSBjYW4gYWxzbyBiZSBjcmVhdGVk
IGZyb20gYSBjb3ZlcmluZyBncmlkOiIKKyAgICAgXQorICAgIH0sCisgICAgeworICAgICAiY2Vs
bF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6
IFsKKyAgICAgICJjdmcgPTNEIGRzLmNvdmVyaW5nX2dyaWQoZHMuaW5kZXgubWF4X2xldmVsLCBb
LTAuNSwtMC41LC0wLjVdLCBbNjQsPQogNjQsIDY0XSwgZmllbGRzPTNEW1wiZGVuc2l0eVwiLFwi
dGVtcGVyYXR1cmVcIl0pXG4iLAorICAgICAgImZpZF9jdmcgPTNEIEZJVFNJbWFnZURhdGEoY3Zn
LCBmaWVsZHM9M0RbXCJkZW5zaXR5XCIsXCJ0ZW1wZXJhdHVyZVw9CiJdLCB1bml0cz0zRFwiTXBj
XCIpIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRh
Ijoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlw
ZSI6ICJoZWFkaW5nIiwKKyAgICAgImxldmVsIjogMiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisg
ICAgICJzb3VyY2UiOiBbCisgICAgICAiT3RoZXIgYEZJVFNJbWFnZURhdGFgIE1ldGhvZHMiCisg
ICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAg
ICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIkEgYEZJVFNJbWFnZURh
dGFgIGluc3RhbmNlIGNhbiBiZSBnZW5lcmF0ZWQgZnJvbSBvbmUgcHJldmlvdXNseSB3cmk9CnR0
ZW4gdG8gZGlzayB1c2luZyB0aGUgYGZyb21fZmlsZWAgY2xhc3NtZXRob2Q6IgorICAgICBdCisg
ICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQi
OiBmYWxzZSwKKyAgICAgImlucHV0IjogWworICAgICAgImZpZCA9M0QgRklUU0ltYWdlRGF0YS5m
cm9tX2ZpbGUoXCJzbG9zaGluZy5maXRzXCIpXG4iLAorICAgICAgImZpZC5pbmZvKCkiCisgICAg
IF0sCisgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAg
ICAgIm91dHB1dHMiOiBbXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogIm1hcmtk
b3duIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJzb3VyY2UiOiBbCisgICAgICAiTXVs
dGlwbGUgYEZJVFNJbWFnZURhdGFgIGNhbiBiZSBjb21iaW5lZCB0byBjcmVhdGUgYSBuZXcgb25l
LCBwcm92aT0KZGVkIHRoYXQgdGhlIGNvb3JkaW5hdGUgaW5mb3JtYXRpb24gaXMgdGhlIHNhbWU6
IgorICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAg
ICJjb2xsYXBzZWQiOiBmYWxzZSwKKyAgICAgImlucHV0IjogWworICAgICAgInByal9maXRzMiA9
M0QgRklUU1Byb2plY3Rpb24oZHMsIFwielwiLCBbXCJkZW5zaXR5XCJdKVxuIiwKKyAgICAgICJw
cmpfZml0czMgPTNEIEZJVFNJbWFnZURhdGEuZnJvbV9pbWFnZXMoW3Byal9maXRzLCBwcmpfZml0
czJdKVxuIiwKKyAgICAgICJwcmpfZml0czMuaW5mbygpIgorICAgICBdLAorICAgICAibGFuZ3Vh
Z2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRzIjogW10K
KyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRh
ZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIkFsdGVybmF0aXZlbHksIGluZGl2
aWR1YWwgZmllbGRzIGNhbiBiZSBwb3BwZWQgYXMgd2VsbDoiCisgICAgIF0KKyAgICB9LAorICAg
IHsKKyAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKKyAgICAgImNvbGxhcHNlZCI6IGZhbHNlLAor
ICAgICAiaW5wdXQiOiBbCisgICAgICAiZGVuc19maXRzID0zRCBwcmpfZml0czMucG9wKFwiZGVu
c2l0eVwiKSIKKyAgICAgXSwKKyAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRh
ZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxs
X3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKKyAgICAgImlucHV0Ijog
WworICAgICAgImRlbnNfZml0cy5pbmZvKCkiCisgICAgIF0sCisgICAgICJsYW5ndWFnZSI6ICJw
eXRob24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAgIm91dHB1dHMiOiBbXQorICAgIH0s
CisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFs
c2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJwcmpfZml0czMuaW5mbygpIgorICAgICBdLAor
ICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJv
dXRwdXRzIjogW10KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIs
CisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIlNvIGZhciwg
dGhlIEZJVFMgaW1hZ2VzIHdlIGhhdmUgc2hvd24gaGF2ZSBsaW5lYXIgc3BhdGlhbCBjb29yZGlu
YXQ9CmVzLiBPbmUgbWF5IHdhbnQgdG8gdGFrZSBhIHByb2plY3Rpb24gb2YgYW4gb2JqZWN0IGFu
ZCBtYWtlIGEgY3J1ZGUgbW9jayBvYj0Kc2VydmF0aW9uIG91dCBvZiBpdCwgd2l0aCBjZWxlc3Rp
YWwgY29vcmRpbmF0ZXMuIEZvciB0aGlzLCB3ZSBjYW4gdXNlIHRoZSBgPQpjcmVhdGVfc2t5X3dj
c2AgbWV0aG9kLiBTcGVjaWZ5IGEgY2VudGVyIChSQSwgRGVjKSBjb29yZGluYXRlIGluIGRlZ3Jl
ZXMsIGE9CnMgd2VsbCBhcyBhIGxpbmVhciBzY2FsZSBpbiB0ZXJtcyBvZiBhbmdsZSBwZXIgZGlz
dGFuY2U6IgorICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIs
CisgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKKyAgICAgImlucHV0IjogWworICAgICAgInNreV9j
ZW50ZXIgPTNEIFszMC4sNDUuXSAjIGluIGRlZ3JlZXNcbiIsCisgICAgICAic2t5X3NjYWxlID0z
RCAoMi41LCBcImFyY3NlYy9rcGNcIikgIyBjb3VsZCBhbHNvIHVzZSBhIFlUUXVhbnRpdHlcbj0K
IiwKKyAgICAgICJwcmpfZml0cy5jcmVhdGVfc2t5X3djcyhza3lfY2VudGVyLCBza3lfc2NhbGUs
IGN0eXBlPTNEW1wiUkEtLS1UQU5cPQoiLFwiREVDLS1UQU5cIl0pIgorICAgICBdLAorICAgICAi
bGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRz
IjogW10KKyAgICB9LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAg
ICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIkJ5IHRoZSBkZWZhdWx0
LCBhIHRhbmdlbnQgUkEvRGVjIHByb2plY3Rpb24gaXMgdXNlZCwgYnV0IG9uZSBjb3VsZCA9CmFs
c28gdXNlIGFub3RoZXIgcHJvamVjdGlvbiB1c2luZyB0aGUgYGN0eXBlYCBrZXl3b3JkLiBXZSBj
YW4gbm93IGxvb2sgYXQgdD0KaGUgaGVhZGVyIGFuZCBzZWUgaXQgaGFzIHRoZSBhcHByb3ByaWF0
ZSBXQ1M6IgorICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIs
CisgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKKyAgICAgImlucHV0IjogWworICAgICAgInByal9m
aXRzW1widGVtcGVyYXR1cmVcIl0uaGVhZGVyIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAi
cHl0aG9uIiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9
LAorICAgIHsKKyAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRhZGF0YSI6
IHt9LAorICAgICAic291cmNlIjogWworICAgICAgIkZpbmFsbHksIHdlIGNhbiBhZGQgaGVhZGVy
IGtleXdvcmRzIHRvIGEgc2luZ2xlIGZpZWxkIG9yIGZvciBhbGwgZmk9CmVsZHMgaW4gdGhlIEZJ
VFMgaW1hZ2UgdXNpbmcgYHVwZGF0ZV9oZWFkZXJgOiIKKyAgICAgXQorICAgIH0sCisgICAgewor
ICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAg
ICJpbnB1dCI6IFsKKyAgICAgICJmaWRfZnJiLnVwZGF0ZV9oZWFkZXIoXCJhbGxcIiwgXCJ0aW1l
XCIsIDAuMSkgIyBVcGRhdGUgYWxsIHRoZSBmaWVsPQpkc1xuIiwKKyAgICAgICJmaWRfZnJiLnVw
ZGF0ZV9oZWFkZXIoXCJ0ZW1wZXJhdHVyZVwiLCBcInNjYWxlXCIsIFwiUmFua2luZVwiKSAjIFVw
PQpkYXRlIGp1c3Qgb25lIGZpZWxkIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAicHl0aG9u
IiwKKyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9LAorICAg
IHsKKyAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKKyAgICAgImNvbGxhcHNlZCI6IGZhbHNlLAor
ICAgICAiaW5wdXQiOiBbCisgICAgICAicHJpbnQgZmlkX2ZyYltcImRlbnNpdHlcIl0uaGVhZGVy
W1widGltZVwiXVxuIiwKKyAgICAgICJwcmludCBmaWRfZnJiW1widGVtcGVyYXR1cmVcIl0uaGVh
ZGVyW1wic2NhbGVcIl0iCisgICAgIF0sCisgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAorICAg
ICAibWV0YWRhdGEiOiB7fSwKKyAgICAgIm91dHB1dHMiOiBbXQorICAgIH0KKyAgIF0sCisgICAi
bWV0YWRhdGEiOiB7fQorICB9CisgXQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRp
ZmYgLXIgYzk4NTI3OTRlM2NmYmFlOTE2ZmQwYmNiYTMwYjdjZDNiNzQ5MmRjNCAtciAwODQ3ZWVm
MzA4MTA5ODU1MWRmOWU5MT0KOTg5MWUyNmRlMmIyODkwOWMgZG9jL3NvdXJjZS92aXN1YWxpemlu
Zy9tYW51YWxfcGxvdHRpbmcucnN0Ci0tLSBhL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvbWFudWFs
X3Bsb3R0aW5nLnJzdAorKysgYi9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL21hbnVhbF9wbG90dGlu
Zy5yc3QKQEAgLTY2LDYgKzY2LDU3IEBACiBzZXR0aW5nIHVwIG11bHRpcGxlIGF4ZXMgd2l0aCBj
b2xvcmJhcnMgZWFzaWVyIHRoYW4gaXQgd291bGQgYmUgdXNpbmcgb25seQogbWF0cGxvdGxpYiBj
YW4gYmUgZm91bmQgaW4gdGhlIDpyZWY6YGFkdmFuY2VkLW11bHRpLXBhbmVsYCBjb29rYm9vayBy
ZWNpcGUuCj0yMAorLi4gX2ZyYi1maWx0ZXJzOgorCitGaXhlZCBSZXNvbHV0aW9uIEJ1ZmZlciBG
aWx0ZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBGUkIgY2FuIGJl
IG1vZGlmaWVkIGJ5IHVzaW5nIHNldCBvZiBwcmVkZWZpbmVkIGZpbHRlcnMgaW4gb3JkZXIgdG8g
ZS5nLgorY3JlYXRlIHJlYWxpc3RpY2FsbHkgbG9va2luZywgbW9jayBvYnNlcnZhdGlvbiBpbWFn
ZXMgb3V0IG9mIHNpbXVsYXRpb24gZGE9CnRhLgorQXBwbHlpbmcgZmlsdGVyIGlzIGFuIGlycmV2
ZXJzaWJsZSBvcGVyYXRpb24sIGhlbmNlIHRoZSBvcmRlciBpbiB3aGljaCB5b3U9CiBhcmUKK3Vz
aW5nIHRoZW0gbWF0dGVycy4KKworLi4gcHl0aG9uLXNjcmlwdDo6CisKKyAgIGltcG9ydCBtYXRw
bG90bGliCisgICBtYXRwbG90bGliLnVzZSgnQWdnJykKKyAgIGZyb20gbWF0cGxvdGxpYiBpbXBv
cnQgcHlwbG90IGFzIHBsdAorCisgICBpbXBvcnQgeXQKKworICAgZHMgPTNEIHl0LmxvYWQoJ0lz
b2xhdGVkR2FsYXh5L2dhbGF4eTAwMzAvZ2FsYXh5MDAzMCcpCisgICBzbGMgPTNEIGRzLnNsaWNl
KCd6JywgMC41KQorICAgZnJiID0zRCBzbGMudG9fZnJiKCgyMCwgJ2twYycpLCA1MTIpCisgICBm
cmIuYXBwbHlfZ2F1c3NfYmVhbShuYmVhbT0zRDMwLCBzaWdtYT0zRDIuMCkKKyAgIGZyYi5hcHBs
eV93aGl0ZV9ub2lzZSg1ZS0yMykKKyAgIHBsdC5pbXNob3coZnJiWydkZW5zaXR5J10uZCkKKyAg
IHBsdC5zYXZlZmlnKCdmcmJfZmlsdGVycy5wbmcnKQorCitDdXJyZW50bHkgYXZhaWxhYmxlIGZp
bHRlcnM6CisKK0dhdXNzaWFuIFNtb290aGluZworfn5+fn5+fn5+fn5+fn5+fn5+CisKKy4uIGZ1
bmN0aW9uOjogYXBwbHlfZ2F1c3NfYmVhbShzZWxmLCBuYmVhbT0zRDMwLCBzaWdtYT0zRDIuMCkK
KworICAgKFRoaXMgaXMgYSBwcm94eSBmb3IKKyAgIDpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24u
Zml4ZWRfcmVzb2x1dGlvbl9maWx0ZXJzLkZpeGVkUmVzb2x1dGlvbkJ1ZmZlPQpyR2F1c3NCZWFt
RmlsdGVyYC4pCisKKyAgICBUaGlzIGZpbHRlciBjb252b2x2ZXMgdGhlIEZSQiB3aXRoIDJkIEdh
dXNzaWFuIHRoYXQgaXMgIm5iZWFtIiBwaXhlbCB3PQppZGUKKyAgICBhbmQgaGFzIHN0YW5kYXJk
IGRldmlhdGlvbiAic2lnbWEiLgorCitXaGl0ZSBOb2lzZQorfn5+fn5+fn5+fn4KKworLi4gZnVu
Y3Rpb246OiBhcHBseV93aGl0ZV9ub2lzZShzZWxmLCBiZ19sdmw9M0ROb25lKQorCisgICAoVGhp
cyBpcyBhIHByb3h5IGZvcgorICAgOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi5maXhlZF9yZXNv
bHV0aW9uX2ZpbHRlcnMuRml4ZWRSZXNvbHV0aW9uQnVmZmU9CnJXaGl0ZU5vaXNlRmlsdGVyYC4p
CisKKyAgICBUaGlzIGZpbHRlciBhZGRzIHdoaXRlIG5vaXNlIHdpdGggdGhlIGFtcGxpdHVkZSAi
YmdfbHZsIiB0byB0aGUgRlJCLgorICAgIElmICJiZ19sdmwiIGlzIG5vdCBwcmVzZW50LCAxMHRo
IHBlcmNlbnRpbGUgb2YgdGhlIEZSQidzIHZhbHVlcyBpcyB1c2VkCisgICAgaW5zdGVhZC4KKwog
Li4gX21hbnVhbC1saW5lLXBsb3RzOgo9MjAKIExpbmUgUGxvdHMKCmRpZmYgLXIgYzk4NTI3OTRl
M2NmYmFlOTE2ZmQwYmNiYTMwYjdjZDNiNzQ5MmRjNCAtciAwODQ3ZWVmMzA4MTA5ODU1MWRmOWU5
MT0KOTg5MWUyNmRlMmIyODkwOWMgZG9jL3NvdXJjZS92aXN1YWxpemluZy93cml0aW5nX2ZpdHNf
aW1hZ2VzLnJzdAotLS0gYS9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3dyaXRpbmdfZml0c19pbWFn
ZXMucnN0CisrKyBiL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvd3JpdGluZ19maXRzX2ltYWdlcy5y
c3QKQEAgLTMsNCArMyw0IEBACiBXcml0aW5nIEZJVFMgSW1hZ2VzCiA9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
Cj0zRD0zRAo9MjAKLS4uIG5vdGVib29rOjogRklUU0ltYWdlQnVmZmVyLmlweW5iClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorLi4gbm90ZWJvb2s6OiBGSVRTSW1hZ2VEYXRhLmlweW5iClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKZGlmZiAtciBjOTg1Mjc5NGUzY2ZiYWU5MTZmZDBi
Y2JhMzBiN2NkM2I3NDkyZGM0IC1yIDA4NDdlZWYzMDgxMDk4NTUxZGY5ZTkxPQo5ODkxZTI2ZGUy
YjI4OTA5YyB5dC9hbmFseXNpc19tb2R1bGVzL3Bwdl9jdWJlL3Bwdl9jdWJlLnB5Ci0tLSBhL3l0
L2FuYWx5c2lzX21vZHVsZXMvcHB2X2N1YmUvcHB2X2N1YmUucHkKKysrIGIveXQvYW5hbHlzaXNf
bW9kdWxlcy9wcHZfY3ViZS9wcHZfY3ViZS5weQpAQCAtMTMsOCArMTMsNyBAQAogaW1wb3J0IG51
bXB5IGFzIG5wCiBmcm9tIHl0LnV0aWxpdGllcy5vbl9kZW1hbmRfaW1wb3J0cyBpbXBvcnQgX2Fz
dHJvcHkKIGZyb20geXQudXRpbGl0aWVzLm9yaWVudGF0aW9uIGltcG9ydCBPcmllbnRhdGlvbgot
ZnJvbSB5dC51dGlsaXRpZXMuZml0c19pbWFnZSBpbXBvcnQgRklUU0ltYWdlQnVmZmVyLCBzYW5p
dGl6ZV9maXRzX3VuaXQsIFwKLSAgICBjcmVhdGVfc2t5X3djcworZnJvbSB5dC51dGlsaXRpZXMu
Zml0c19pbWFnZSBpbXBvcnQgRklUU0ltYWdlRGF0YSwgc2FuaXRpemVfZml0c191bml0CiBmcm9t
IHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1lcmEgaW1wb3J0IG9mZl9heGlz
X3Byb2plY3Rpb24KIGZyb20geXQuZnVuY3MgaW1wb3J0IGdldF9wYmFyCiBmcm9tIHl0LnV0aWxp
dGllcy5waHlzaWNhbF9jb25zdGFudHMgaW1wb3J0IGNsaWdodCwgbWgKQEAgLTg5LDYgKzg4LDgg
QEAKICAgICAgICAgZGltcyA6IGludGVnZXIsIG9wdGlvbmFsCiAgICAgICAgICAgICBUaGUgc3Bh
dGlhbCByZXNvbHV0aW9uIG9mIHRoZSBjdWJlLiBJbXBsaWVzIG54ID0zRCBueSwgZS5nLiB0aD0K
ZT0yMAogICAgICAgICAgICAgYXNwZWN0IHJhdGlvIG9mIHRoZSBQUFZDdWJlJ3Mgc3BhdGlhbCBk
aW1lbnNpb25zIGlzIDEuCisgICAgICAgIHRoZXJtYWxfYnJvYWQgOiBib29sZWFuLCBvcHRpb25h
bAorICAgICAgICAgICAgV2hldGhlciBvciBub3QgdG8gYnJvYWRlbiB0aGUgbGluZSB1c2luZyB0
aGUgZ2FzIHRlbXBlcmF0dXJlLiA9CkRlZmF1bHQ6IEZhbHNlLgogICAgICAgICBhdG9taWNfd2Vp
Z2h0IDogZmxvYXQsIG9wdGlvbmFsCiAgICAgICAgICAgICBTZXQgdGhpcyB2YWx1ZSB0byB0aGUg
YXRvbWljIHdlaWdodCBvZiB0aGUgcGFydGljbGUgdGhhdCBpcyBlbT0KaXR0aW5nIHRoZSBsaW5l
CiAgICAgICAgICAgICBpZiAqdGhlcm1hbF9icm9hZCogaXMgVHJ1ZS4gRGVmYXVsdHMgdG8gNTYg
KEZlKS4KQEAgLTE1Miw5ICsxNTMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJtZXRob2RzIGFyZSBzdXBwb3J0ZWQgaW4gUFBWQ3ViZS4iKQo9MjAKICAgICAgICAgZGQgPTNE
IGRzLmFsbF9kYXRhKCkKLQogICAgICAgICBmZCA9M0QgZGQuX2RldGVybWluZV9maWVsZHMoZmll
bGQpWzBdCi0KICAgICAgICAgc2VsZi5maWVsZF91bml0cyA9M0QgZHMuX2dldF9maWVsZF9pbmZv
KGZkKS51bml0cwo9MjAKICAgICAgICAgc2VsZi52YmlucyA9M0QgZHMuYXJyKG5wLmxpbnNwYWNl
KHZlbG9jaXR5X2JvdW5kc1swXSwKQEAgLTE3Miw3ICsxNzEsNyBAQAogICAgICAgICBfdmxvcyA9
M0QgY3JlYXRlX3Zsb3Mobm9ybWFsLCBzZWxmLm5vX3NoaWZ0aW5nKQogICAgICAgICBzZWxmLmRz
LmFkZF9maWVsZCgoImdhcyIsInZfbG9zIiksIGZ1bmN0aW9uPTNEX3Zsb3MsIHVuaXRzPTNEImNt
L3M9CiIpCj0yMAotICAgICAgICBfaW50ZW5zaXR5ID0zRCBzZWxmLmNyZWF0ZV9pbnRlbnNpdHko
KQorICAgICAgICBfaW50ZW5zaXR5ID0zRCBzZWxmLl9jcmVhdGVfaW50ZW5zaXR5KCkKICAgICAg
ICAgc2VsZi5kcy5hZGRfZmllbGQoKCJnYXMiLCJpbnRlbnNpdHkiKSwgZnVuY3Rpb249M0RfaW50
ZW5zaXR5LCB1bml0PQpzPTNEc2VsZi5maWVsZF91bml0cykKPTIwCiAgICAgICAgIGlmIG1ldGhv
ZCA9M0Q9M0QgImludGVncmF0ZSIgYW5kIHdlaWdodF9maWVsZCBpcyBOb25lOgpAQCAtMjE0LDE2
ICsyMTMsNiBAQAogICAgICAgICBzZWxmLmRzLmZpZWxkX2luZm8ucG9wKCgiZ2FzIiwiaW50ZW5z
aXR5IikpCiAgICAgICAgIHNlbGYuZHMuZmllbGRfaW5mby5wb3AoKCJnYXMiLCJ2X2xvcyIpKQo9
MjAKLSAgICBkZWYgY3JlYXRlX2ludGVuc2l0eShzZWxmKToKLSAgICAgICAgZGVmIF9pbnRlbnNp
dHkoZmllbGQsIGRhdGEpOgotICAgICAgICAgICAgdiA9M0Qgc2VsZi5jdXJyZW50X3YtZGF0YVsi
dl9sb3MiXS52Ci0gICAgICAgICAgICBUID0zRCBkYXRhWyJ0ZW1wZXJhdHVyZSJdLnYKLSAgICAg
ICAgICAgIHcgPTNEIHBwdl91dGlscy5jb21wdXRlX3dlaWdodChzZWxmLnRoZXJtYWxfYnJvYWQs
IHNlbGYuZHZfY2dzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnBhcnRpY2xlX21hc3MsIHYuZmxhdHRlbigpLCA9ClQuZmxhdHRlbigpKQotICAgICAgICAg
ICAgd1tucC5pc25hbih3KV0gPTNEIDAuMAotICAgICAgICAgICAgcmV0dXJuIGRhdGFbc2VsZi5m
aWVsZF0qdy5yZXNoYXBlKHYuc2hhcGUpCi0gICAgICAgIHJldHVybiBfaW50ZW5zaXR5Ci0KICAg
ICBkZWYgdHJhbnNmb3JtX3NwZWN0cmFsX2F4aXMoc2VsZiwgcmVzdF92YWx1ZSwgdW5pdHMpOgog
ICAgICAgICAiIiIKICAgICAgICAgQ2hhbmdlIHRoZSB1bml0cyBvZiB0aGUgc3BlY3RyYWwgYXhp
cyB0byBzb21lIGVxdWl2YWxlbnQgdW5pdCwgc3VjaApAQCAtMjU5LDE3ICsyNDgsMTggQEAKICAg
ICAgICAgc2VsZi5kdiA9M0Qgc2VsZi52Ymluc1sxXS1zZWxmLnZiaW5zWzBdCj0yMAogICAgIEBw
YXJhbGxlbF9yb290X29ubHkKLSAgICBkZWYgd3JpdGVfZml0cyhzZWxmLCBmaWxlbmFtZSwgY2xv
YmJlcj0zRFRydWUsIGxlbmd0aF91bml0PTNETm9uZSwKKyAgICBkZWYgd3JpdGVfZml0cyhzZWxm
LCBmaWxlbmFtZSwgY2xvYmJlcj0zREZhbHNlLCBsZW5ndGhfdW5pdD0zRE5vbmUsCiAgICAgICAg
ICAgICAgICAgICAgc2t5X3NjYWxlPTNETm9uZSwgc2t5X2NlbnRlcj0zRE5vbmUpOgogICAgICAg
ICByIiIiIFdyaXRlIHRoZSBQUFZDdWJlIHRvIGEgRklUUyBmaWxlLgo9MjAKICAgICAgICAgUGFy
YW1ldGVycwogICAgICAgICAtLS0tLS0tLS0tCiAgICAgICAgIGZpbGVuYW1lIDogc3RyaW5nCi0g
ICAgICAgICAgICBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byB3cml0ZS4KLSAgICAgICAgY2xvYmJl
ciA6IGJvb2xlYW4KLSAgICAgICAgICAgIFdoZXRoZXIgb3Igbm90IHRvIGNsb2JiZXIgYW4gZXhp
c3RpbmcgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUuCi0gICAgICAgIGxlbmd0aF91bml0IDogc3Ry
aW5nCisgICAgICAgICAgICBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byB3cml0ZSB0by49MjAKKyAg
ICAgICAgY2xvYmJlciA6IGJvb2xlYW4sIG9wdGlvbmFsCisgICAgICAgICAgICBXaGV0aGVyIHRv
IG92ZXJ3cml0ZSBhIGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lIHRoYXQgYWxyZWFkeT0yMAorICAg
ICAgICAgICAgZXhpc3RzLiBEZWZhdWx0IEZhbHNlLgorICAgICAgICBsZW5ndGhfdW5pdCA6IHN0
cmluZywgb3B0aW9uYWwKICAgICAgICAgICAgIFRoZSB1bml0cyB0byBjb252ZXJ0IHRoZSBjb29y
ZGluYXRlcyB0byBpbiB0aGUgZmlsZS4KICAgICAgICAgc2t5X3NjYWxlIDogdHVwbGUsIG9wdGlv
bmFsCiAgICAgICAgICAgICBDb252ZXJzaW9uIGJldHdlZW4gYW4gYW5nbGUgdW5pdCBhbmQgYSBs
ZW5ndGggdW5pdCwgaWYgc2t5CkBAIC0yODAsNyArMjcwLDggQEAKPTIwCiAgICAgICAgIEV4YW1w
bGVzCiAgICAgICAgIC0tLS0tLS0tCi0gICAgICAgID4+PiBjdWJlLndyaXRlX2ZpdHMoIm15X2N1
YmUuZml0cyIsIGNsb2JiZXI9M0RGYWxzZSwgc2t5X3NjYWxlPTNEKD0KMS4wLCJhcmNzZWMva3Bj
IikpCisgICAgICAgID4+PiBjdWJlLndyaXRlX2ZpdHMoIm15X2N1YmUuZml0cyIsIGNsb2JiZXI9
M0RGYWxzZSw9MjAKKyAgICAgICAgLi4uICAgICAgICAgICAgICAgICBza3lfc2NhbGU9M0QoMS4w
LCJhcmNzZWMva3BjIiksIHNreV9jZW50ZXI9M0QoPQozMC4sNDUuKSkKICAgICAgICAgIiIiCiAg
ICAgICAgIHZ1bml0ID0zRCBmaXRzX2luZm9bc2VsZi5heGlzX3R5cGVdWzBdCiAgICAgICAgIHZ0
eXBlID0zRCBmaXRzX2luZm9bc2VsZi5heGlzX3R5cGVdWzFdCkBAIC0zMDMsMTMgKzI5NCwxMSBA
QAogICAgICAgICB3Lndjcy5jdW5pdCA9M0QgW3VuaXRzLHVuaXRzLHZ1bml0XQogICAgICAgICB3
Lndjcy5jdHlwZSA9M0QgWyJMSU5FQVIiLCJMSU5FQVIiLHZ0eXBlXQo9MjAKKyAgICAgICAgZmli
ID0zRCBGSVRTSW1hZ2VEYXRhKHNlbGYuZGF0YS50cmFuc3Bvc2UoKSwgZmllbGRzPTNEc2VsZi5m
aWVsZCwgPQp3Y3M9M0R3KQorICAgICAgICBmaWIudXBkYXRlX2FsbF9oZWFkZXJzKCJidW5pdCIs
IHJlLnN1YignKCknLCAnJywgc3RyKHNlbGYucHJval91bmk9CnRzKSkpCisgICAgICAgIGZpYi51
cGRhdGVfYWxsX2hlYWRlcnMoImJ0eXBlIiwgc2VsZi5maWVsZCkKICAgICAgICAgaWYgc2t5X3Nj
YWxlIGlzIG5vdCBOb25lIGFuZCBza3lfY2VudGVyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAg
dyA9M0QgY3JlYXRlX3NreV93Y3Modywgc2t5X2NlbnRlciwgc2t5X3NjYWxlKQotCi0gICAgICAg
IGZpYiA9M0QgRklUU0ltYWdlQnVmZmVyKHNlbGYuZGF0YS50cmFuc3Bvc2UoKSwgZmllbGRzPTNE
c2VsZi5maWVsZD0KLCB3Y3M9M0R3KQotICAgICAgICBmaWJbMF0uaGVhZGVyWyJidW5pdCJdID0z
RCByZS5zdWIoJygpJywgJycsIHN0cihzZWxmLnByb2pfdW5pdHMpKQotICAgICAgICBmaWJbMF0u
aGVhZGVyWyJidHlwZSJdID0zRCBzZWxmLmZpZWxkCi0KKyAgICAgICAgICAgIGZpYi5jcmVhdGVf
c2t5X3djcyhza3lfY2VudGVyLCBza3lfc2NhbGUpCiAgICAgICAgIGZpYi53cml0ZXRvKGZpbGVu
YW1lLCBjbG9iYmVyPTNEY2xvYmJlcikKPTIwCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgpAQCAt
MzIwLDMgKzMwOSwxMyBAQAo9MjAKICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgaXRlbSk6CiAg
ICAgICAgIHJldHVybiBzZWxmLmRhdGFbaXRlbV0KKworICAgIGRlZiBfY3JlYXRlX2ludGVuc2l0
eShzZWxmKToKKyAgICAgICAgZGVmIF9pbnRlbnNpdHkoZmllbGQsIGRhdGEpOgorICAgICAgICAg
ICAgdiA9M0Qgc2VsZi5jdXJyZW50X3YtZGF0YVsidl9sb3MiXS5pbl9jZ3MoKS52CisgICAgICAg
ICAgICBUID0zRCAoZGF0YVsidGVtcGVyYXR1cmUiXSkuaW5fY2dzKCkudgorICAgICAgICAgICAg
dyA9M0QgcHB2X3V0aWxzLmNvbXB1dGVfd2VpZ2h0KHNlbGYudGhlcm1hbF9icm9hZCwgc2VsZi5k
dl9jZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFy
dGljbGVfbWFzcywgdi5mbGF0dGVuKCksID0KVC5mbGF0dGVuKCkpCisgICAgICAgICAgICB3W25w
LmlzbmFuKHcpXSA9M0QgMC4wCisgICAgICAgICAgICByZXR1cm4gZGF0YVtzZWxmLmZpZWxkXSp3
LnJlc2hhcGUodi5zaGFwZSkKKyAgICAgICAgcmV0dXJuIF9pbnRlbnNpdHkKCmRpZmYgLXIgYzk4
NTI3OTRlM2NmYmFlOTE2ZmQwYmNiYTMwYjdjZDNiNzQ5MmRjNCAtciAwODQ3ZWVmMzA4MTA5ODU1
MWRmOWU5MT0KOTg5MWUyNmRlMmIyODkwOWMgeXQvYW5hbHlzaXNfbW9kdWxlcy9wcHZfY3ViZS90
ZXN0cy90ZXN0X3Bwdi5weQotLS0gYS95dC9hbmFseXNpc19tb2R1bGVzL3Bwdl9jdWJlL3Rlc3Rz
L3Rlc3RfcHB2LnB5CisrKyBiL3l0L2FuYWx5c2lzX21vZHVsZXMvcHB2X2N1YmUvdGVzdHMvdGVz
dF9wcHYucHkKQEAgLTEsNSArMSw1IEBACiAiIiIKLVVuaXQgdGVzdCB0aGUgc3VueWFldl96ZWxk
b3ZpY2ggYW5hbHlzaXMgbW9kdWxlLgorVW5pdCB0ZXN0IHRoZSBQUFZDdWJlIGFuYWx5c2lzIG1v
ZHVsZS4KICIiIgo9MjAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCgpkaWZmIC1yIGM5ODUyNzk0
ZTNjZmJhZTkxNmZkMGJjYmEzMGI3Y2QzYjc0OTJkYzQgLXIgMDg0N2VlZjMwODEwOTg1NTFkZjll
OTE9Cjk4OTFlMjZkZTJiMjg5MDljIHl0L2FuYWx5c2lzX21vZHVsZXMvc3VueWFldl96ZWxkb3Zp
Y2gvcHJvamVjdGlvbi5weQotLS0gYS95dC9hbmFseXNpc19tb2R1bGVzL3N1bnlhZXZfemVsZG92
aWNoL3Byb2plY3Rpb24ucHkKKysrIGIveXQvYW5hbHlzaXNfbW9kdWxlcy9zdW55YWV2X3plbGRv
dmljaC9wcm9qZWN0aW9uLnB5CkBAIC0zMTYsNyArMzE2LDcgQEAKICAgICAgICAgPj4+IHNreV9j
ZW50ZXIgPTNEICgzMC4sIDQ1LiwgImRlZyIpCiAgICAgICAgID4+PiBzenByai53cml0ZV9maXRz
KCJTWmJ1bGxldC5maXRzIiwgc2t5X2NlbnRlcj0zRHNreV9jZW50ZXIsIHNreT0KX3NjYWxlPTNE
c2t5X3NjYWxlKQogICAgICAgICAiIiIKLSAgICAgICAgZnJvbSB5dC51dGlsaXRpZXMuZml0c19p
bWFnZSBpbXBvcnQgRklUU0ltYWdlQnVmZmVyLCBjcmVhdGVfc2t5X3djcworICAgICAgICBmcm9t
IHl0LnV0aWxpdGllcy5maXRzX2ltYWdlIGltcG9ydCBGSVRTSW1hZ2VEYXRhCj0yMAogICAgICAg
ICBkeCA9M0Qgc2VsZi5keC5pbl91bml0cygia3BjIikKICAgICAgICAgZHkgPTNEIGR4CkBAIC0z
MjgsMTAgKzMyOCw5IEBACiAgICAgICAgIHcud2NzLmN1bml0ID0zRCBbImtwYyJdKjIKICAgICAg
ICAgdy53Y3MuY3R5cGUgPTNEIFsiTElORUFSIl0qMgo9MjAKKyAgICAgICAgZmliID0zRCBGSVRT
SW1hZ2VEYXRhKHNlbGYuZGF0YSwgZmllbGRzPTNEc2VsZi5kYXRhLmtleXMoKSwgd2NzPTNEPQp3
KQogICAgICAgICBpZiBza3lfc2NhbGUgaXMgbm90IE5vbmUgYW5kIHNreV9jZW50ZXIgaXMgbm90
IE5vbmU6Ci0gICAgICAgICAgICB3ID0zRCBjcmVhdGVfc2t5X3djcyh3LCBza3lfY2VudGVyLCBz
a3lfc2NhbGUpCi0KLSAgICAgICAgZmliID0zRCBGSVRTSW1hZ2VCdWZmZXIoc2VsZi5kYXRhLCBm
aWVsZHM9M0RzZWxmLmRhdGEua2V5cygpLCB3Y3M9Cj0zRHcpCisgICAgICAgICAgICBmaWIuY3Jl
YXRlX3NreV93Y3Moc2t5X2NlbnRlciwgc2t5X3NjYWxlKQogICAgICAgICBmaWIud3JpdGV0byhm
aWxlbmFtZSwgY2xvYmJlcj0zRGNsb2JiZXIpCiAgICAgICAgPTIwCiAgICAgQHBhcmFsbGVsX3Jv
b3Rfb25seQoKZGlmZiAtciBjOTg1Mjc5NGUzY2ZiYWU5MTZmZDBiY2JhMzBiN2NkM2I3NDkyZGM0
IC1yIDA4NDdlZWYzMDgxMDk4NTUxZGY5ZTkxPQo5ODkxZTI2ZGUyYjI4OTA5YyB5dC9kYXRhX29i
amVjdHMvcHJvZmlsZXMucHkKLS0tIGEveXQvZGF0YV9vYmplY3RzL3Byb2ZpbGVzLnB5CisrKyBi
L3l0L2RhdGFfb2JqZWN0cy9wcm9maWxlcy5weQpAQCAtOTM3LDYgKzkzNyw5IEBACiAgICAgZGVm
IGl0ZW1zKHNlbGYpOgogICAgICAgICByZXR1cm4gWyhrLHNlbGZba10pIGZvciBrIGluIHNlbGYu
ZmllbGRfZGF0YS5rZXlzKCldCj0yMAorICAgIGRlZiBrZXlzKHNlbGYpOgorICAgICAgICByZXR1
cm4gc2VsZi5maWVsZF9kYXRhLmtleXMoKQorCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAg
ICAgICByZXR1cm4gc29ydGVkKHNlbGYuaXRlbXMoKSkKPTIwCgpkaWZmIC1yIGM5ODUyNzk0ZTNj
ZmJhZTkxNmZkMGJjYmEzMGI3Y2QzYjc0OTJkYzQgLXIgMDg0N2VlZjMwODEwOTg1NTFkZjllOTE9
Cjk4OTFlMjZkZTJiMjg5MDljIHl0L2Zyb250ZW5kcy9maXRzL2RhdGFfc3RydWN0dXJlcy5weQot
LS0gYS95dC9mcm9udGVuZHMvZml0cy9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRl
bmRzL2ZpdHMvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0xNTksNyArMTU5LDcgQEAKICAgICAgICAg
ICAgIG5heGlzNCA9M0QgMQogICAgICAgICBmb3IgaSwgZml0c19maWxlIGluIGVudW1lcmF0ZShz
ZWxmLmRhdGFzZXQuX2hhbmRsZS5fZml0c19maWxlcyk6CiAgICAgICAgICAgICBmb3IgaiwgaGR1
IGluIGVudW1lcmF0ZShmaXRzX2ZpbGUpOgotICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uo
aGR1LCBfYXN0cm9weS5weWZpdHMuQmluVGFibGVIRFUpOgorICAgICAgICAgICAgICAgIGlmIGlz
aW5zdGFuY2UoaGR1LCBfYXN0cm9weS5weWZpdHMuQmluVGFibGVIRFUpIG9yIGhkdS5oZWE9CmRl
clsibmF4aXMiXSA9M0Q9M0QgMDoKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAg
ICAgICAgICAgICBpZiBzZWxmLl9lbnN1cmVfc2FtZV9kaW1zKGhkdSk6CiAgICAgICAgICAgICAg
ICAgICAgIHVuaXRzID0zRCBzZWxmLl9kZXRlcm1pbmVfaW1hZ2VfdW5pdHMoaGR1LmhlYWRlciwg
a25vdz0Kbl91bml0cykKQEAgLTM4NiwxNCArMzg2LDE3IEBACiAgICAgICAgICAgICAgICAgICAg
ICAgICAgKHNlbGYuZXZlbnRzX2luZm9bInkiXVsxXS1zZWxmLmV2ZW50c19pbmZvWyJ5Il1bMD0K
XSkvc2VsZi5yZWJsb2NrXQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5ldmVudHNf
ZGF0YSA9M0QgRmFsc2UKLSAgICAgICAgICAgIHNlbGYuZmlyc3RfaW1hZ2UgPTNEIDAKKyAgICAg
ICAgICAgICMgU29tZXRpbWVzIHRoZSBwcmltYXJ5IGhkdSBkb2Vzbid0IGhhdmUgYW4gaW1hZ2UK
KyAgICAgICAgICAgIGlmIGxlbihzZWxmLl9oYW5kbGUpID4gMSBhbmQgc2VsZi5faGFuZGxlWzBd
LmhlYWRlclsibmF4aXMiXSA9Cj0zRD0zRCAwOgorICAgICAgICAgICAgICAgIHNlbGYuZmlyc3Rf
aW1hZ2UgPTNEIDEKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5maXJz
dF9pbWFnZSA9M0QgMAogICAgICAgICAgICAgc2VsZi5wcmltYXJ5X2hlYWRlciA9M0Qgc2VsZi5f
aGFuZGxlW3NlbGYuZmlyc3RfaW1hZ2VdLmhlYWRlcgogICAgICAgICAgICAgc2VsZi5uYXhpcyA9
M0Qgc2VsZi5wcmltYXJ5X2hlYWRlclsibmF4aXMiXQotICAgICAgICAgICAgc2VsZi5heGlzX25h
bWVzID0zRCBbc2VsZi5wcmltYXJ5X2hlYWRlclsiY3R5cGUlZCIgJSAoaSsxKV0KKyAgICAgICAg
ICAgIHNlbGYuYXhpc19uYW1lcyA9M0QgW3NlbGYucHJpbWFyeV9oZWFkZXIuZ2V0KCJjdHlwZSVk
IiAlIChpKzEpPQosIkxJTkVBUiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9y
IGkgaW4gcmFuZ2Uoc2VsZi5uYXhpcyldCiAgICAgICAgICAgICBzZWxmLmRpbXMgPTNEIFtzZWxm
LnByaW1hcnlfaGVhZGVyWyJuYXhpcyVkIiAlIChpKzEpXQogICAgICAgICAgICAgICAgICAgICAg
ICAgIGZvciBpIGluIHJhbmdlKHNlbGYubmF4aXMpXQotCiAgICAgICAgICAgICB3Y3MgPTNEIF9h
c3Ryb3B5LnB5d2NzLldDUyhoZWFkZXI9M0RzZWxmLnByaW1hcnlfaGVhZGVyKQogICAgICAgICAg
ICAgaWYgc2VsZi5uYXhpcyA9M0Q9M0QgNDoKICAgICAgICAgICAgICAgICBzZWxmLndjcyA9M0Qg
X2FzdHJvcHkucHl3Y3MuV0NTKG5heGlzPTNEMykKQEAgLTUxNSwxMiArNTE4LDIwIEBACj0yMAog
ICAgICAgICAjIENoZWNrIHRvIHNlZSBpZiB0aGlzIGRhdGEgaXMgaW4gc29tZSBraW5kIG9mIChM
YXQsTG9uLFZlbCkgZm9ybWF0CiAgICAgICAgIHNlbGYuc3BlY19jdWJlID0zRCBGYWxzZQorICAg
ICAgICBzZWxmLndjc18yZCA9M0QgTm9uZQogICAgICAgICB4ID0zRCAwCiAgICAgICAgIGZvciBw
IGluIGxvbl9wcmVmaXhlcytsYXRfcHJlZml4ZXMrbGlzdChzcGVjX25hbWVzLmtleXMoKSk6CiAg
ICAgICAgICAgICB5ID0zRCBucF9jaGFyLnN0YXJ0c3dpdGgoc2VsZi5heGlzX25hbWVzWzpzZWxm
LmRpbWVuc2lvbmFsaXR5XT0KLCBwKQogICAgICAgICAgICAgeCArPTNEIG5wLmFueSh5KQotICAg
ICAgICBpZiB4ID0zRD0zRCBzZWxmLmRpbWVuc2lvbmFsaXR5IGFuZCBzZWxmLmF4aXNfbmFtZXMg
IT0zRCBbJ0xJTkVBUic9CiwnTElORUFSJ106PTIwCi0gICAgICAgICAgICBzZWxmLl9zZXR1cF9z
cGVjX2N1YmUoKQorICAgICAgICBpZiB4ID0zRD0zRCBzZWxmLmRpbWVuc2lvbmFsaXR5OgorICAg
ICAgICAgICAgaWYgc2VsZi5heGlzX25hbWVzID0zRD0zRCBbJ0xJTkVBUicsJ0xJTkVBUiddOgor
ICAgICAgICAgICAgICAgIHNlbGYud2NzXzJkID0zRCBzZWxmLndjcworICAgICAgICAgICAgICAg
IHNlbGYubGF0X2F4aXMgPTNEIDEKKyAgICAgICAgICAgICAgICBzZWxmLmxvbl9heGlzID0zRCAw
CisgICAgICAgICAgICAgICAgc2VsZi5sYXRfbmFtZSA9M0QgIlkiCisgICAgICAgICAgICAgICAg
c2VsZi5sb25fbmFtZSA9M0QgIlgiCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
IHNlbGYuX3NldHVwX3NwZWNfY3ViZSgpCj0yMAogICAgIGRlZiBfc2V0dXBfc3BlY19jdWJlKHNl
bGYpOgo9MjAKQEAgLTU4Nyw3ICs1OTgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNwZWN0cmFsX2ZhY3Rvcio9CkR6CiAgICAg
ICAgICAgICBzZWxmLl9keiAvPTNEIHNlbGYuc3BlY3RyYWxfZmFjdG9yCiAgICAgICAgICAgICBz
ZWxmLl9wMCA9M0QgKHNlbGYuX3AwLTAuNSkqc2VsZi5zcGVjdHJhbF9mYWN0b3IgKyAwLjUKLSAg
ICAgICAgICAgPTIwCisKICAgICAgICAgZWxzZToKPTIwCiAgICAgICAgICAgICBzZWxmLndjc18y
ZCA9M0Qgc2VsZi53Y3MKQEAgLTYyMCw4ICs2MzEsOCBAQAogICAgICAgICAgICAgICAgIHdhcm5p
bmdzLmZpbHRlcndhcm5pbmdzKCdpZ25vcmUnLCBjYXRlZ29yeT0zRFVzZXJXYXJuaW5nLCA9CmFw
cGVuZD0zRFRydWUpCiAgICAgICAgICAgICAgICAgZmlsZWggPTNEIF9hc3Ryb3B5LnB5Zml0cy5v
cGVuKGFyZ3NbMF0pCiAgICAgICAgICAgICB2YWxpZCA9M0QgZmlsZWhbMF0uaGVhZGVyWyJuYXhp
cyJdID49M0QgMgotICAgICAgICAgICAgaWYgbGVuKGZpbGVoKSA+IDEgYW5kIGZpbGVoWzFdLm5h
bWUgPTNEPTNEICJFVkVOVFMiOgotICAgICAgICAgICAgICAgIHZhbGlkID0zRCBmaWxlaFsxXS5o
ZWFkZXJbIm5heGlzIl0gPj0zRCAyCisgICAgICAgICAgICBpZiBsZW4oZmlsZWgpID4gMToKKyAg
ICAgICAgICAgICAgICB2YWxpZCA9M0QgZmlsZWhbMV0uaGVhZGVyWyJuYXhpcyJdID49M0QgMiBv
ciB2YWxpZAogICAgICAgICAgICAgZmlsZWguY2xvc2UoKQogICAgICAgICAgICAgcmV0dXJuIHZh
bGlkCiAgICAgICAgIGV4Y2VwdDoKCmRpZmYgLXIgYzk4NTI3OTRlM2NmYmFlOTE2ZmQwYmNiYTMw
YjdjZDNiNzQ5MmRjNCAtciAwODQ3ZWVmMzA4MTA5ODU1MWRmOWU5MT0KOTg5MWUyNmRlMmIyODkw
OWMgeXQvZnJvbnRlbmRzL2ZpdHMvbWlzYy5weQotLS0gYS95dC9mcm9udGVuZHMvZml0cy9taXNj
LnB5CisrKyBiL3l0L2Zyb250ZW5kcy9maXRzL21pc2MucHkKQEAgLTE4LDcgKzE4LDcgQEAKIGZy
b20geXQuZnVuY3MgaW1wb3J0IG15bG9nLCBnZXRfaW1hZ2Vfc3VmZml4CiBmcm9tIHl0LnZpc3Vh
bGl6YXRpb24uX21wbF9pbXBvcnRzIGltcG9ydCBGaWd1cmVDYW52YXNBZ2cKIGZyb20geXQudW5p
dHMueXRfYXJyYXkgaW1wb3J0IFlUUXVhbnRpdHksIFlUQXJyYXkKLWZyb20geXQudXRpbGl0aWVz
LmZpdHNfaW1hZ2UgaW1wb3J0IEZJVFNJbWFnZUJ1ZmZlcgorZnJvbSB5dC51dGlsaXRpZXMuZml0
c19pbWFnZSBpbXBvcnQgRklUU0ltYWdlRGF0YQo9MjAKIGltcG9ydCBvcwo9MjAKQEAgLTEyNyw3
ICsxMjcsNyBAQAogICAgIHcgPTNEIHN1YmN1YmUud2NzLmNvcHkoKQogICAgIHcud2NzLmNycGl4
Wy0xXSA9M0QgMC41CiAgICAgdy53Y3MuY3J2YWxbLTFdID0zRCAtMC41KndpZHRoCi0gICAgZmlk
ID0zRCBGSVRTSW1hZ2VCdWZmZXIoc2xhYl9kYXRhLCB3Y3M9M0R3KQorICAgIGZpZCA9M0QgRklU
U0ltYWdlRGF0YShzbGFiX2RhdGEsIHdjcz0zRHcpCiAgICAgZm9yIGhkdSBpbiBmaWQ6CiAgICAg
ICAgIGhkdS5oZWFkZXIucG9wKCJSRVNURlJFUSIsIE5vbmUpCiAgICAgICAgIGhkdS5oZWFkZXIu
cG9wKCJSRVNURlJRIiwgTm9uZSkKCmRpZmYgLXIgYzk4NTI3OTRlM2NmYmFlOTE2ZmQwYmNiYTMw
YjdjZDNiNzQ5MmRjNCAtciAwODQ3ZWVmMzA4MTA5ODU1MWRmOWU5MT0KOTg5MWUyNmRlMmIyODkw
OWMgeXQvdXRpbGl0aWVzL2ZpdHNfaW1hZ2UucHkKLS0tIGEveXQvdXRpbGl0aWVzL2ZpdHNfaW1h
Z2UucHkKKysrIGIveXQvdXRpbGl0aWVzL2ZpdHNfaW1hZ2UucHkKQEAgLTEsNSArMSw1IEBACiAi
IiIKLUZJVFNJbWFnZUJ1ZmZlciBDbGFzcworRklUU0ltYWdlRGF0YSBDbGFzcwogIiIiCj0yMAog
Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KQEAgLTE2LDYgKzE2LDEwIEBACiBmcm9tIHl0LmRhdGFf
b2JqZWN0cy5jb25zdHJ1Y3Rpb25fZGF0YV9jb250YWluZXJzIGltcG9ydCBZVENvdmVyaW5nR3Jp
ZEJhc2UKIGZyb20geXQudXRpbGl0aWVzLm9uX2RlbWFuZF9pbXBvcnRzIGltcG9ydCBfYXN0cm9w
eSwgTm90QU1vZHVsZQogZnJvbSB5dC51bml0cy55dF9hcnJheSBpbXBvcnQgWVRRdWFudGl0eSwg
WVRBcnJheQorZnJvbSB5dC51bml0cyBpbXBvcnQgZGltZW5zaW9ucworZnJvbSB5dC51dGlsaXRp
ZXMucGFyYWxsZWxfdG9vbHMucGFyYWxsZWxfYW5hbHlzaXNfaW50ZXJmYWNlIGltcG9ydCBcCisg
ICAgcGFyYWxsZWxfcm9vdF9vbmx5Citmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRl
cmluZy5jYW1lcmEgaW1wb3J0IG9mZl9heGlzX3Byb2plY3Rpb24KIGltcG9ydCByZQo9MjAKIHB5
Zml0cyA9M0QgX2FzdHJvcHkucHlmaXRzCkBAIC0yNiwxOCArMzAsMTcgQEAKIGVsc2U6CiAgICAg
SERVTGlzdCA9M0QgcHlmaXRzLkhEVUxpc3QKPTIwCi1jbGFzcyBGSVRTSW1hZ2VCdWZmZXIoSERV
TGlzdCk6CitjbGFzcyBGSVRTSW1hZ2VEYXRhKEhEVUxpc3QpOgo9MjAKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgZGF0YSwgZmllbGRzPTNETm9uZSwgdW5pdHM9M0ROb25lLCBwaXhlbF9zY2FsZT0z
RE5vPQpuZSwgd2NzPTNETm9uZSk6Ci0gICAgICAgIHIiIiIgSW5pdGlhbGl6ZSBhIEZJVFNJbWFn
ZUJ1ZmZlciBvYmplY3QuCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRhdGEsIGZpZWxkcz0zRE5v
bmUsIHVuaXRzPTNETm9uZSwgd2lkdGg9M0ROb25lLCB3Yz0Kcz0zRE5vbmUpOgorICAgICAgICBy
IiIiIEluaXRpYWxpemUgYSBGSVRTSW1hZ2VEYXRhIG9iamVjdC4KPTIwCi0gICAgICAgIEZJVFNJ
bWFnZUJ1ZmZlciBjb250YWlucyBhIGxpc3Qgb2YgRklUUyBJbWFnZUhEVSBpbnN0YW5jZXMsIGFu
ZAotICAgICAgICBvcHRpb25hbGx5IGluY2x1ZGVzIFdDUyBpbmZvcm1hdGlvbi4gSXQgaW5oZXJp
dHMgZnJvbSBIRFVMaXN0LCBzbwotICAgICAgICBvcGVyYXRpb25zIHN1Y2ggYXMgYHdyaXRldG9g
IGFyZSBlbmFibGVkLiBJbWFnZXMgY2FuIGJlIGNvbnN0cnVjdGVkCi0gICAgICAgIGZyb20gSW1h
Z2VBcnJheXMsIE51bVB5IGFycmF5cywgZGljdHMgb2Ygc3VjaCBhcnJheXMsCi0gICAgICAgIEZp
eGVkUmVzb2x1dGlvbkJ1ZmZlcnMsIGFuZCBZVENvdmVyaW5nR3JpZHMuIFRoZSBsYXR0ZXIgdHdv
IGFyZSB0aGUKLSAgICAgICAgbW9zdCBwb3dlcmZ1bCBiZWNhdXNlIFdDUyBpbmZvcm1hdGlvbiBj
YW4gYmUgY29uc3RydWN0ZWQgZnJvbSB0aGVpcgotICAgICAgICBjb29yZGluYXRlcy4KKyAgICAg
ICAgRklUU0ltYWdlRGF0YSBjb250YWlucyBhIGNvbGxlY3Rpb24gb2YgRklUUyBJbWFnZUhEVSBp
bnN0YW5jZXMgYW5kCisgICAgICAgIFdDUyBpbmZvcm1hdGlvbiwgYWxvbmcgd2l0aCB1bml0cyBm
b3IgZWFjaCBvZiB0aGUgaW1hZ2VzLiBGSVRTSW1hZz0KZURhdGEKKyAgICAgICAgaW5zdGFuY2Vz
IGNhbiBiZSBjb25zdHJ1Y3RlZCBmcm9tIEltYWdlQXJyYXlzLCBOdW1QeSBhcnJheXMsIGRpY3Rz
PTIwCisgICAgICAgIG9mIHN1Y2ggYXJyYXlzLCBGaXhlZFJlc29sdXRpb25CdWZmZXJzLCBhbmQg
WVRDb3ZlcmluZ0dyaWRzLiBUaGUgbD0KYXR0ZXI9MjAKKyAgICAgICAgdHdvIGFyZSB0aGUgbW9z
dCBwb3dlcmZ1bCBiZWNhdXNlIFdDUyBpbmZvcm1hdGlvbiBjYW4gYmUgY29uc3RydWN0PQplZD0y
MAorICAgICAgICBhdXRvbWF0aWNhbGx5IGZyb20gdGhlaXIgY29vcmRpbmF0ZXMuCj0yMAogICAg
ICAgICBQYXJhbWV0ZXJzCiAgICAgICAgIC0tLS0tLS0tLS0KQEAgLTUwLDEwICs1MywxMCBAQAog
ICAgICAgICAgICAgc2luZ2xlIGFycmF5IG9uZSBmaWVsZCBuYW1lIG11c3QgYmUgc3BlY2lmaWVk
LgogICAgICAgICB1bml0cyA6IHN0cmluZwogICAgICAgICAgICAgVGhlIHVuaXRzIG9mIHRoZSBX
Q1MgY29vcmRpbmF0ZXMuIERlZmF1bHRzIHRvICJjbSIuCi0gICAgICAgIHBpeGVsX3NjYWxlIDog
ZmxvYXQKLSAgICAgICAgICAgIFRoZSBzY2FsZSBvZiB0aGUgcGl4ZWwsIGluICp1bml0cyouIEVp
dGhlciBhIHNpbmdsZSBmbG9hdCBvcgotICAgICAgICAgICAgaXRlcmFibGUgb2YgZmxvYXRzLiBP
bmx5IHVzZWQgaWYgdGhpcyBpbmZvcm1hdGlvbiBpcyBub3QgYWxyZWE9CmR5Ci0gICAgICAgICAg
ICBwcm92aWRlZCBieSAqZGF0YSouCisgICAgICAgIHdpZHRoIDogZmxvYXQgb3IgWVRRdWFudGl0
eQorICAgICAgICAgICAgVGhlIHdpZHRoIG9mIHRoZSBpbWFnZS4gRWl0aGVyIGEgc2luZ2xlIHZh
bHVlIG9yIGl0ZXJhYmxlIG9mIHY9CmFsdWVzLgorICAgICAgICAgICAgSWYgYSBmbG9hdCwgYXNz
dW1lZCB0byBiZSBpbiAqdW5pdHMqLiBPbmx5IHVzZWQgaWYgdGhpcyBpbmZvcm09CmF0aW9uPTIw
CisgICAgICAgICAgICBpcyBub3QgYWxyZWFkeSBwcm92aWRlZCBieSAqZGF0YSouCiAgICAgICAg
IHdjcyA6IGBhc3Ryb3B5Lndjcy5XQ1NgIGluc3RhbmNlLCBvcHRpb25hbAogICAgICAgICAgICAg
U3VwcGx5IGFuIEFzdHJvUHkgV0NTIGluc3RhbmNlLiBXaWxsIG92ZXJyaWRlIGF1dG9tYXRpYyBX
Q1MKICAgICAgICAgICAgIGNyZWF0aW9uIGZyb20gRml4ZWRSZXNvbHV0aW9uQnVmZmVycyBhbmQg
WVRDb3ZlcmluZ0dyaWRzLgpAQCAtNjYsNyArNjksNyBAQAogICAgICAgICA+Pj4gcHJqID0zRCBk
cy5wcm9qKDIsICJrVCIsIHdlaWdodF9maWVsZD0zRCJkZW5zaXR5IikKICAgICAgICAgPj4+IGZy
YiA9M0QgcHJqLnRvX2ZyYigoMC41LCAiTXBjIiksIDgwMCkKICAgICAgICAgPj4+ICMgVGhpcyBl
eGFtcGxlIGp1c3QgdXNlcyB0aGUgRlJCIGFuZCBwdXRzIHRoZSBjb29yZHMgaW4ga3BjLgotICAg
ICAgICA+Pj4gZl9rcGMgPTNEIEZJVFNJbWFnZUJ1ZmZlcihmcmIsIGZpZWxkcz0zRCJrVCIsIHVu
aXRzPTNEImtwYyIpCisgICAgICAgID4+PiBmX2twYyA9M0QgRklUU0ltYWdlRGF0YShmcmIsIGZp
ZWxkcz0zRCJrVCIsIHVuaXRzPTNEImtwYyIpCiAgICAgICAgID4+PiAjIFRoaXMgZXhhbXBsZSBz
cGVjaWZpZXMgYSBzcGVjaWZpYyBXQ1MuCiAgICAgICAgID4+PiBmcm9tIGFzdHJvcHkud2NzIGlt
cG9ydCBXQ1MKICAgICAgICAgPj4+IHcgPTNEIFdDUyhuYXhpcz0zRHNlbGYuZGltZW5zaW9uYWxp
dHkpCkBAIC03Nyw0NiArODAsNTIgQEAKICAgICAgICAgPj4+IHcud2NzLmN0eXBlID0zRCBbIlJB
LS0tVEFOIiwiREVDLS1UQU4iXQogICAgICAgICA+Pj4gc2NhbGUgPTNEIDEuLzM2MDAuICMgT25l
IGFyY3NlYyBwZXIgcGl4ZWwKICAgICAgICAgPj4+IHcud2NzLmNkZWx0ID0zRCBbLXNjYWxlLCBz
Y2FsZV0KLSAgICAgICAgPj4+IGZfZGVnID0zRCBGSVRTSW1hZ2VCdWZmZXIoZnJiLCBmaWVsZHM9
M0Qia1QiLCB3Y3M9M0R3KQorICAgICAgICA+Pj4gZl9kZWcgPTNEIEZJVFNJbWFnZURhdGEoZnJi
LCBmaWVsZHM9M0Qia1QiLCB3Y3M9M0R3KQogICAgICAgICA+Pj4gZl9kZWcud3JpdGV0bygidGVt
cC5maXRzIikKICAgICAgICAgIiIiCj0yMAotICAgICAgICBpZiB1bml0cyBpcyBOb25lOiB1bml0
cyA9M0QgImNtIgotICAgICAgICBpZiBwaXhlbF9zY2FsZSBpcyBOb25lOiBwaXhlbF9zY2FsZSA9
M0QgMS4wCisgICAgICAgIGlmIHVuaXRzIGlzIE5vbmU6CisgICAgICAgICAgICB1bml0cyA9M0Qg
ImNtIgorICAgICAgICBpZiB3aWR0aCBpcyBOb25lOgorICAgICAgICAgICAgd2lkdGggPTNEIDEu
MAo9MjAKLSAgICAgICAgc3VwZXIoRklUU0ltYWdlQnVmZmVyLCBzZWxmKS5fX2luaXRfXygpCisg
ICAgICAgIGV4Y2x1ZGVfZmllbGRzID0zRCBbJ3gnLCd5JywneicsJ3B4JywncHknLCdweicsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICdwZHgnLCdwZHknLCdwZHonLCd3ZWlnaHRfZmllbGQn
XQorCisgICAgICAgIHN1cGVyKEZJVFNJbWFnZURhdGEsIHNlbGYpLl9faW5pdF9fKCkKPTIwCiAg
ICAgICAgIGlmIGlzaW5zdGFuY2UoZmllbGRzLCBzdHJpbmdfdHlwZXMpOgogICAgICAgICAgICAg
ZmllbGRzID0zRCBbZmllbGRzXQo9MjAKLSAgICAgICAgZXhjbHVkZV9maWVsZHMgPTNEIFsneCcs
ICd5JywgJ3onLCAncHgnLCAncHknLCAncHonLAotICAgICAgICAgICAgICAgICAgICAgICAgICAn
cGR4JywgJ3BkeScsICdwZHonLCAnd2VpZ2h0X2ZpZWxkJ10KLQogICAgICAgICBpZiBoYXNhdHRy
KGRhdGEsICdrZXlzJyk6CiAgICAgICAgICAgICBpbWdfZGF0YSA9M0QgZGF0YQotICAgICAgICBl
bHNlOgotICAgICAgICAgICAgaW1nX2RhdGEgPTNEIHt9CiAgICAgICAgICAgICBpZiBmaWVsZHMg
aXMgTm9uZToKLSAgICAgICAgICAgICAgICBteWxvZy5lcnJvcigiUGxlYXNlIHNwZWNpZnkgYSBm
aWVsZCBuYW1lIGZvciB0aGlzIGFycmF5LiIpCi0gICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJy
b3IoIlBsZWFzZSBzcGVjaWZ5IGEgZmllbGQgbmFtZSBmb3IgdGhpcyBhcnJheT0KLiIpCi0gICAg
ICAgICAgICBpbWdfZGF0YVtmaWVsZHNbMF1dID0zRCBkYXRhCisgICAgICAgICAgICAgICAgZmll
bGRzID0zRCBsaXN0KGltZ19kYXRhLmtleXMoKSkKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGRh
dGEsIG5wLm5kYXJyYXkpOgorICAgICAgICAgICAgaWYgZmllbGRzIGlzIE5vbmU6CisgICAgICAg
ICAgICAgICAgbXlsb2cud2FybmluZygiTm8gZmllbGQgbmFtZSBnaXZlbiBmb3IgdGhpcyBhcnJh
eS4gQ2FsbGluZz0KIGl0ICdpbWFnZV9kYXRhJy4iKQorICAgICAgICAgICAgICAgIGZuID0zRCAn
aW1hZ2VfZGF0YScKKyAgICAgICAgICAgICAgICBmaWVsZHMgPTNEIFtmbl0KKyAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgZm4gPTNEIGZpZWxkc1swXQorICAgICAgICAgICAgaW1n
X2RhdGEgPTNEIHtmbjogZGF0YX0KPTIwCi0gICAgICAgIGlmIGZpZWxkcyBpcyBOb25lOiBmaWVs
ZHMgPTNEIGltZ19kYXRhLmtleXMoKQotICAgICAgICBpZiBsZW4oZmllbGRzKSA9M0Q9M0QgMDoK
LSAgICAgICAgICAgIG15bG9nLmVycm9yKCJQbGVhc2Ugc3BlY2lmeSBvbmUgb3IgbW9yZSBmaWVs
ZHMgdG8gd3JpdGUuIikKLSAgICAgICAgICAgIHJhaXNlIEtleUVycm9yKCJQbGVhc2Ugc3BlY2lm
eSBvbmUgb3IgbW9yZSBmaWVsZHMgdG8gd3JpdGUuIikKKyAgICAgICAgc2VsZi5maWVsZHMgPTNE
IFtdCisgICAgICAgIGZvciBmZCBpbiBmaWVsZHM6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNl
KGZkLCB0dXBsZSk6CisgICAgICAgICAgICAgICAgc2VsZi5maWVsZHMuYXBwZW5kKGZkWzFdKQor
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmZpZWxkcy5hcHBlbmQoZmQp
Cj0yMAogICAgICAgICBmaXJzdCA9M0QgVHJ1ZQotCiAgICAgICAgIHNlbGYuZmllbGRfdW5pdHMg
PTNEIHt9Ci0KICAgICAgICAgZm9yIGtleSBpbiBmaWVsZHM6CiAgICAgICAgICAgICBpZiBrZXkg
bm90IGluIGV4Y2x1ZGVfZmllbGRzOgogICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIoaW1nX2Rh
dGFba2V5XSwgInVuaXRzIik6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmllbGRfdW5pdHNb
a2V5XSA9M0Qgc3RyKGltZ19kYXRhW2tleV0udW5pdHMpCiAgICAgICAgICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5maWVsZF91bml0c1trZXldID0zRCAiZGltZW5zaW9u
bGVzcyIKLSAgICAgICAgICAgICAgICBteWxvZy5pbmZvKCJNYWtpbmcgYSBGSVRTIGltYWdlIG9m
IGZpZWxkICVzIiAlIChrZXkpKQorICAgICAgICAgICAgICAgIG15bG9nLmluZm8oIk1ha2luZyBh
IEZJVFMgaW1hZ2Ugb2YgZmllbGQgJXMiICUga2V5KQogICAgICAgICAgICAgICAgIGlmIGZpcnN0
OgogICAgICAgICAgICAgICAgICAgICBoZHUgPTNEIHB5Zml0cy5QcmltYXJ5SERVKG5wLmFycmF5
KGltZ19kYXRhW2tleV0pKQogICAgICAgICAgICAgICAgICAgICBmaXJzdCA9M0QgRmFsc2UKQEAg
LTEyOCwxMiArMTM3LDggQEAKICAgICAgICAgICAgICAgICAgICAgaGR1LmhlYWRlclsiYnVuaXQi
XSA9M0QgcmUuc3ViKCcoKScsICcnLCBzdHIoaW1nX2RhdGFbPQprZXldLnVuaXRzKSkKICAgICAg
ICAgICAgICAgICBzZWxmLmFwcGVuZChoZHUpCj0yMAotICAgICAgICBzZWxmLmRpbWVuc2lvbmFs
aXR5ID0zRCBsZW4oc2VsZlswXS5kYXRhLnNoYXBlKQotICAgICAgID0yMAotICAgICAgICBpZiBz
ZWxmLmRpbWVuc2lvbmFsaXR5ID0zRD0zRCAyOgotICAgICAgICAgICAgc2VsZi5ueCwgc2VsZi5u
eSA9M0Qgc2VsZlswXS5kYXRhLnNoYXBlCi0gICAgICAgIGVsaWYgc2VsZi5kaW1lbnNpb25hbGl0
eSA9M0Q9M0QgMzoKLSAgICAgICAgICAgIHNlbGYubngsIHNlbGYubnksIHNlbGYubnogPTNEIHNl
bGZbMF0uZGF0YS5zaGFwZQorICAgICAgICBzZWxmLnNoYXBlID0zRCBzZWxmWzBdLnNoYXBlCisg
ICAgICAgIHNlbGYuZGltZW5zaW9uYWxpdHkgPTNEIGxlbihzZWxmLnNoYXBlKQo9MjAKICAgICAg
ICAgaWYgd2NzIGlzIE5vbmU6CiAgICAgICAgICAgICB3ID0zRCBweXdjcy5XQ1MoaGVhZGVyPTNE
c2VsZlswXS5oZWFkZXIsIG5heGlzPTNEc2VsZi5kaW1lbnNpbz0KbmFsaXR5KQpAQCAtMTQxLDIy
ICsxNDYsMjQgQEAKICAgICAgICAgICAgICAgICAjIEZSQnMgYXJlIGEgc3BlY2lhbCBjYXNlIHdo
ZXJlIHdlIGhhdmUgY29vcmRpbmF0ZQogICAgICAgICAgICAgICAgICMgaW5mb3JtYXRpb24sIHNv
IHdlIHRha2UgYWR2YW50YWdlIG9mIHRoaXMgYW5kCiAgICAgICAgICAgICAgICAgIyBjb25zdHJ1
Y3QgdGhlIFdDUyBvYmplY3QKLSAgICAgICAgICAgICAgICBkeCA9M0QgKGltZ19kYXRhLmJvdW5k
c1sxXS1pbWdfZGF0YS5ib3VuZHNbMF0pLmluX3VuaXRzKHVuPQppdHMpL3NlbGYubngKLSAgICAg
ICAgICAgICAgICBkeSA9M0QgKGltZ19kYXRhLmJvdW5kc1szXS1pbWdfZGF0YS5ib3VuZHNbMl0p
LmluX3VuaXRzKHVuPQppdHMpL3NlbGYubnkKLSAgICAgICAgICAgICAgICB4Y3RyID0zRCAwLjUq
KGltZ19kYXRhLmJvdW5kc1sxXStpbWdfZGF0YS5ib3VuZHNbMF0pLmluX3VuPQppdHModW5pdHMp
Ci0gICAgICAgICAgICAgICAgeWN0ciA9M0QgMC41KihpbWdfZGF0YS5ib3VuZHNbM10raW1nX2Rh
dGEuYm91bmRzWzJdKS5pbl91bj0KaXRzKHVuaXRzKQorICAgICAgICAgICAgICAgIGR4ID0zRCAo
aW1nX2RhdGEuYm91bmRzWzFdLWltZ19kYXRhLmJvdW5kc1swXSkuaW5fdW5pdHModW49Cml0cyku
di9zZWxmLnNoYXBlWzBdCisgICAgICAgICAgICAgICAgZHkgPTNEIChpbWdfZGF0YS5ib3VuZHNb
M10taW1nX2RhdGEuYm91bmRzWzJdKS5pbl91bml0cyh1bj0KaXRzKS52L3NlbGYuc2hhcGVbMV0K
KyAgICAgICAgICAgICAgICB4Y3RyID0zRCAwLjUqKGltZ19kYXRhLmJvdW5kc1sxXStpbWdfZGF0
YS5ib3VuZHNbMF0pLmluX3VuPQppdHModW5pdHMpLnYKKyAgICAgICAgICAgICAgICB5Y3RyID0z
RCAwLjUqKGltZ19kYXRhLmJvdW5kc1szXStpbWdfZGF0YS5ib3VuZHNbMl0pLmluX3VuPQppdHMo
dW5pdHMpLnYKICAgICAgICAgICAgICAgICBjZW50ZXIgPTNEIFt4Y3RyLCB5Y3RyXQogICAgICAg
ICAgICAgICAgIGNkZWx0ID0zRCBbZHgsZHldCiAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uo
aW1nX2RhdGEsIFlUQ292ZXJpbmdHcmlkQmFzZSk6CiAgICAgICAgICAgICAgICAgY2RlbHQgPTNE
IGltZ19kYXRhLmRkcy5pbl91bml0cyh1bml0cykudgotICAgICAgICAgICAgICAgIGNlbnRlciA9
M0QgMC41KihpbWdfZGF0YS5sZWZ0X2VkZ2UraW1nX2RhdGEucmlnaHRfZWRnZSkuaW49Cl91bml0
cyh1bml0cykKKyAgICAgICAgICAgICAgICBjZW50ZXIgPTNEIDAuNSooaW1nX2RhdGEubGVmdF9l
ZGdlK2ltZ19kYXRhLnJpZ2h0X2VkZ2UpLmluPQpfdW5pdHModW5pdHMpLnYKICAgICAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICAgICAgIyBJZiBpbWdfZGF0YSBpcyBqdXN0IGFuIGFycmF5LCB3
ZSBhc3N1bWUgdGhlIGNlbnRlciBpcyB0aD0KZSBvcmlnaW4KLSAgICAgICAgICAgICAgICAjIGFu
ZCB1c2UgKnBpeGVsX3NjYWxlKiB0byBkZXRlcm1pbmUgdGhlIGNlbGwgd2lkdGhzCi0gICAgICAg
ICAgICAgICAgaWYgaXRlcmFibGUocGl4ZWxfc2NhbGUpOgotICAgICAgICAgICAgICAgICAgICBj
ZGVsdCA9M0QgcGl4ZWxfc2NhbGUKKyAgICAgICAgICAgICAgICAjIGFuZCB1c2UgdGhlIGltYWdl
IHdpZHRoIHRvIGRldGVybWluZSB0aGUgY2VsbCB3aWR0aHMKKyAgICAgICAgICAgICAgICBpZiBu
b3QgaXRlcmFibGUod2lkdGgpOgorICAgICAgICAgICAgICAgICAgICB3aWR0aCA9M0QgW3dpZHRo
XSpzZWxmLmRpbWVuc2lvbmFsaXR5CisgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh3aWR0
aFswXSwgWVRRdWFudGl0eSk6CisgICAgICAgICAgICAgICAgICAgIGNkZWx0ID0zRCBbd2guaW5f
dW5pdHModW5pdHMpLnYvbiBmb3Igd2gsIG4gaW4gemlwKHdpZD0KdGgsIHNlbGYuc2hhcGUpXQog
ICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGNkZWx0ID0zRCBbcGl4
ZWxfc2NhbGVdKnNlbGYuZGltZW5zaW9uYWxpdHkKKyAgICAgICAgICAgICAgICAgICAgY2RlbHQg
PTNEIFtmbG9hdCh3aCkvbiBmb3Igd2gsIG4gaW4gemlwKHdpZHRoLCBzZWxmLnNoPQphcGUpXQog
ICAgICAgICAgICAgICAgIGNlbnRlciA9M0QgWzAuMF0qc2VsZi5kaW1lbnNpb25hbGl0eQogICAg
ICAgICAgICAgdy53Y3MuY3JwaXggPTNEIDAuNSoobnAuYXJyYXkoc2VsZi5zaGFwZSkrMSkKICAg
ICAgICAgICAgIHcud2NzLmNydmFsID0zRCBjZW50ZXIKQEAgLTE3OCw1MyArMTg1LDc5IEBACiAg
ICAgICAgICAgICBmb3IgaywgdiBpbiBoLml0ZW1zKCk6CiAgICAgICAgICAgICAgICAgaW1nLmhl
YWRlcltrXSA9M0Qgdgo9MjAKKyAgICBkZWYgdXBkYXRlX2hlYWRlcihzZWxmLCBmaWVsZCwga2V5
LCB2YWx1ZSk6CisgICAgICAgICIiIgorICAgICAgICBVcGRhdGUgdGhlIEZJVFMgaGVhZGVyIGZv
ciAqZmllbGQqIHdpdGggYQorICAgICAgICAqa2V5KiwgKnZhbHVlKiBwYWlyLiBJZiAqZmllbGQq
ID0zRD0zRCAiYWxsIiwgYWxsPTIwCisgICAgICAgIGhlYWRlcnMgd2lsbCBiZSB1cGRhdGVkLgor
ICAgICAgICAiIiIKKyAgICAgICAgaWYgZmllbGQgPTNEPTNEICJhbGwiOgorICAgICAgICAgICAg
Zm9yIGltZyBpbiBzZWxmOgorICAgICAgICAgICAgICAgIGltZy5oZWFkZXJba2V5XSA9M0QgdmFs
dWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGZpZWxkIG5vdCBpbiBzZWxmLmtleXMo
KToKKyAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcigiJXMgbm90IGFuIGltYWdlISIgJSBm
aWVsZCkKKyAgICAgICAgICAgIGlkeCA9M0Qgc2VsZi5maWVsZHMuaW5kZXgoZmllbGQpCisgICAg
ICAgICAgICBzZWxmW2lkeF0uaGVhZGVyW2tleV0gPTNEIHZhbHVlCisKICAgICBkZWYgdXBkYXRl
X2FsbF9oZWFkZXJzKHNlbGYsIGtleSwgdmFsdWUpOgotICAgICAgICAiIiIKLSAgICAgICAgVXBk
YXRlIHRoZSBGSVRTIGhlYWRlcnMgZm9yIGFsbCBpbWFnZXMgd2l0aCB0aGUKLSAgICAgICAgc2Ft
ZSAqa2V5KiwgKnZhbHVlKiBwYWlyLgotICAgICAgICAiIiIKLSAgICAgICAgZm9yIGltZyBpbiBz
ZWxmOiBpbWcuaGVhZGVyW2tleV0gPTNEIHZhbHVlCisgICAgICAgIG15bG9nLndhcm5pbmcoInVw
ZGF0ZV9hbGxfaGVhZGVycyBpcyBkZXByZWNhdGVkLiAiKworICAgICAgICAgICAgICAgICAgICAg
ICJVc2UgdXBkYXRlX2hlYWRlcignYWxsJywga2V5LCB2YWx1ZSkgaW5zdGVhZC4iKQorICAgICAg
ICBzZWxmLnVwZGF0ZV9oZWFkZXIoImFsbCIsIGtleSwgdmFsdWUpCj0yMAogICAgIGRlZiBrZXlz
KHNlbGYpOgotICAgICAgICByZXR1cm4gW2YubmFtZS5sb3dlcigpIGZvciBmIGluIHNlbGZdCisg
ICAgICAgIHJldHVybiBzZWxmLmZpZWxkcwo9MjAKICAgICBkZWYgaGFzX2tleShzZWxmLCBrZXkp
OgotICAgICAgICByZXR1cm4ga2V5IGluIHNlbGYua2V5cygpCisgICAgICAgIHJldHVybiBrZXkg
aW4gc2VsZi5maWVsZHMKPTIwCiAgICAgZGVmIHZhbHVlcyhzZWxmKToKLSAgICAgICAgcmV0dXJu
IFtzZWxmW2tdIGZvciBrIGluIHNlbGYua2V5cygpXQorICAgICAgICByZXR1cm4gW3NlbGZba10g
Zm9yIGsgaW4gc2VsZi5maWVsZHNdCj0yMAogICAgIGRlZiBpdGVtcyhzZWxmKToKLSAgICAgICAg
cmV0dXJuIFsoaywgc2VsZltrXSkgZm9yIGsgaW4gc2VsZi5rZXlzKCldCisgICAgICAgIHJldHVy
biBbKGssIHNlbGZba10pIGZvciBrIGluIHNlbGYuZmllbGRzXQo9MjAKLSAgICBkZWYgd3JpdGV0
byhzZWxmLCBmaWxlb2JqLCAqKmt3YXJncyk6Ci0gICAgICAgIHB5Zml0cy5IRFVMaXN0KHNlbGYp
LndyaXRldG8oZmlsZW9iaiwgKiprd2FyZ3MpCisgICAgQHBhcmFsbGVsX3Jvb3Rfb25seQorICAg
IGRlZiB3cml0ZXRvKHNlbGYsIGZpbGVvYmosIGZpZWxkcz0zRE5vbmUsIGNsb2JiZXI9M0RGYWxz
ZSwgKiprd2FyZ3MpOgorICAgICAgICByIiIiCisgICAgICAgIFdyaXRlIGFsbCBvZiB0aGUgZmll
bGRzIG9yIGEgc3Vic2V0IG9mIHRoZW0gdG8gYSBGSVRTIGZpbGUuPTIwCj0yMAotICAgIEBwcm9w
ZXJ0eQotICAgIGRlZiBzaGFwZShzZWxmKToKLSAgICAgICAgaWYgc2VsZi5kaW1lbnNpb25hbGl0
eSA9M0Q9M0QgMjoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLm54LCBzZWxmLm55Ci0gICAgICAg
IGVsaWYgc2VsZi5kaW1lbnNpb25hbGl0eSA9M0Q9M0QgMzoKLSAgICAgICAgICAgIHJldHVybiBz
ZWxmLm54LCBzZWxmLm55LCBzZWxmLm56CisgICAgICAgIFBhcmFtZXRlcnMKKyAgICAgICAgLS0t
LS0tLS0tLQorICAgICAgICBmaWxlb2JqIDogc3RyaW5nCisgICAgICAgICAgICBUaGUgbmFtZSBv
ZiB0aGUgZmlsZSB0byB3cml0ZSB0by49MjAKKyAgICAgICAgZmllbGRzIDogbGlzdCBvZiBzdHJp
bmdzLCBvcHRpb25hbAorICAgICAgICAgICAgVGhlIGZpZWxkcyB0byB3cml0ZSB0byB0aGUgZmls
ZS4gSWYgbm90IHNwZWNpZmllZAorICAgICAgICAgICAgYWxsIG9mIHRoZSBmaWVsZHMgaW4gdGhl
IGJ1ZmZlciB3aWxsIGJlIHdyaXR0ZW4uCisgICAgICAgIGNsb2JiZXIgOiBib29sZWFuLCBvcHRp
b25hbAorICAgICAgICAgICAgV2hldGhlciBvciBub3QgdG8gb3ZlcndyaXRlIGEgcHJldmlvdXNs
eSBleGlzdGluZyBmaWxlLgorICAgICAgICAgICAgRGVmYXVsdDogRmFsc2UKKyAgICAgICAgQWxs
IG90aGVyIGtleXdvcmQgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGB3cml0ZXRvYAorICAg
ICAgICBtZXRob2Qgb2YgYGFzdHJvcHkuaW8uZml0cy5IRFVMaXN0YC4KKyAgICAgICAgIiIiCisg
ICAgICAgIGlmIGZpZWxkcyBpcyBOb25lOgorICAgICAgICAgICAgaGR1cyA9M0QgcHlmaXRzLkhE
VUxpc3Qoc2VsZikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGhkdXMgPTNEIHB5Zml0cy5I
RFVMaXN0KCkKKyAgICAgICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZHM6CisgICAgICAgICAgICAg
ICAgaGR1cy5hcHBlbmQoc2VsZltmaWVsZF0pCisgICAgICAgIGhkdXMud3JpdGV0byhmaWxlb2Jq
LCBjbG9iYmVyPTNEY2xvYmJlciwgKiprd2FyZ3MpCj0yMAogICAgIGRlZiB0b19nbHVlKHNlbGYs
IGxhYmVsPTNEInl0IiwgZGF0YV9jb2xsZWN0aW9uPTNETm9uZSk6CiAgICAgICAgICIiIgotICAg
ICAgICBUYWtlcyB0aGUgZGF0YSBpbiB0aGUgRklUU0ltYWdlQnVmZmVyIGFuZCBleHBvcnRzIGl0
IHRvCi0gICAgICAgIEdsdWUgKGh0dHA6Ly93d3cuZ2x1ZXZpei5vcmcpIGZvciBpbnRlcmFjdGl2
ZQotICAgICAgICBhbmFseXNpcy4gT3B0aW9uYWxseSBhZGQgYSAqbGFiZWwqLiBJZiB5b3UgYXJl
IGFscmVhZHkgd2l0aGluCi0gICAgICAgIHRoZSBHbHVlIGVudmlyb25tZW50LCB5b3UgY2FuIHBh
c3MgYSAqZGF0YV9jb2xsZWN0aW9uKiBvYmplY3QsCi0gICAgICAgIG90aGVyd2lzZSBHbHVlIHdp
bGwgYmUgc3RhcnRlZC4KKyAgICAgICAgVGFrZXMgdGhlIGRhdGEgaW4gdGhlIEZJVFNJbWFnZURh
dGEgaW5zdGFuY2UgYW5kIGV4cG9ydHMgaXQgdG8KKyAgICAgICAgR2x1ZSAoaHR0cDovL3d3dy5n
bHVldml6Lm9yZykgZm9yIGludGVyYWN0aXZlIGFuYWx5c2lzLiBPcHRpb25hbGx5PTIwCisgICAg
ICAgIGFkZCBhICpsYWJlbCouIElmIHlvdSBhcmUgYWxyZWFkeSB3aXRoaW4gdGhlIEdsdWUgZW52
aXJvbm1lbnQsIHlvdT0yMAorICAgICAgICBjYW4gcGFzcyBhICpkYXRhX2NvbGxlY3Rpb24qIG9i
amVjdCwgb3RoZXJ3aXNlIEdsdWUgd2lsbCBiZSBzdGFydGU9CmQuCiAgICAgICAgICIiIgogICAg
ICAgICBmcm9tIGdsdWUuY29yZSBpbXBvcnQgRGF0YUNvbGxlY3Rpb24sIERhdGEKICAgICAgICAg
ZnJvbSBnbHVlLmNvcmUuY29vcmRpbmF0ZXMgaW1wb3J0IGNvb3JkaW5hdGVzX2Zyb21faGVhZGVy
CiAgICAgICAgIGZyb20gZ2x1ZS5xdC5nbHVlX2FwcGxpY2F0aW9uIGltcG9ydCBHbHVlQXBwbGlj
YXRpb24KPTIwCi0gICAgICAgIGZpZWxkX2RpY3QgPTNEIGRpY3QoKGtleSxzZWxmW2tleV0uZGF0
YSkgZm9yIGtleSBpbiBzZWxmLmtleXMoKSkKLSAgICAgICA9MjAKICAgICAgICAgaW1hZ2UgPTNE
IERhdGEobGFiZWw9M0RsYWJlbCkKICAgICAgICAgaW1hZ2UuY29vcmRzID0zRCBjb29yZGluYXRl
c19mcm9tX2hlYWRlcihzZWxmLndjcy50b19oZWFkZXIoKSkKLSAgICAgICAgZm9yIGssdiBpbiBm
aWVsZF9kaWN0Lml0ZW1zKCk6Ci0gICAgICAgICAgICBpbWFnZS5hZGRfY29tcG9uZW50KHYsIGsp
CisgICAgICAgIGZvciBrLGYgaW4gc2VsZi5pdGVtcygpOgorICAgICAgICAgICAgaW1hZ2UuYWRk
X2NvbXBvbmVudChmLmRhdGEsIGspCiAgICAgICAgIGlmIGRhdGFfY29sbGVjdGlvbiBpcyBOb25l
OgogICAgICAgICAgICAgZGMgPTNEIERhdGFDb2xsZWN0aW9uKFtpbWFnZV0pCiAgICAgICAgICAg
ICBhcHAgPTNEIEdsdWVBcHBsaWNhdGlvbihkYykKQEAgLTI0Miw2NCArMjc1LDEzOSBAQAogICAg
ICAgICByZXR1cm4gYXBscHkuRklUU0ZpZ3VyZShzZWxmLCAqKmt3YXJncykKPTIwCiAgICAgZGVm
IGdldF9kYXRhKHNlbGYsIGZpZWxkKToKKyAgICAgICAgIiIiCisgICAgICAgIFJldHVybiB0aGUg
ZGF0YSBhcnJheSBvZiB0aGUgaW1hZ2UgY29ycmVzcG9uZGluZyB0byAqZmllbGQqCisgICAgICAg
IHdpdGggdW5pdHMgYXR0YWNoZWQuCisgICAgICAgICIiIgogICAgICAgICByZXR1cm4gWVRBcnJh
eShzZWxmW2ZpZWxkXS5kYXRhLCBzZWxmLmZpZWxkX3VuaXRzW2ZpZWxkXSkKPTIwCiAgICAgZGVm
IHNldF91bml0KHNlbGYsIGZpZWxkLCB1bml0cyk6CiAgICAgICAgICIiIgogICAgICAgICBTZXQg
dGhlIHVuaXRzIG9mICpmaWVsZCogdG8gKnVuaXRzKi4KICAgICAgICAgIiIiCi0gICAgICAgIG5l
d19kYXRhID0zRCBZVEFycmF5KHNlbGZbZmllbGRdLmRhdGEsIHNlbGYuZmllbGRfdW5pdHNbZmll
bGRdKS5pbj0KX3VuaXRzKHVuaXRzKQotICAgICAgICBzZWxmW2ZpZWxkXS5kYXRhID0zRCBuZXdf
ZGF0YS52Ci0gICAgICAgIHNlbGZbZmllbGRdLmhlYWRlclsiYnVuaXQiXSA9M0QgdW5pdHMKKyAg
ICAgICAgaWYgZmllbGQgbm90IGluIHNlbGYua2V5cygpOgorICAgICAgICAgICAgcmFpc2UgS2V5
RXJyb3IoIiVzIG5vdCBhbiBpbWFnZSEiICUgZmllbGQpCisgICAgICAgIGlkeCA9M0Qgc2VsZi5m
aWVsZHMuaW5kZXgoZmllbGQpCisgICAgICAgIG5ld19kYXRhID0zRCBZVEFycmF5KHNlbGZbaWR4
XS5kYXRhLCBzZWxmLmZpZWxkX3VuaXRzW2ZpZWxkXSkuaW5fdT0Kbml0cyh1bml0cykKKyAgICAg
ICAgc2VsZltpZHhdLmRhdGEgPTNEIG5ld19kYXRhLnYKKyAgICAgICAgc2VsZltpZHhdLmhlYWRl
clsiYnVuaXQiXSA9M0QgdW5pdHMKICAgICAgICAgc2VsZi5maWVsZF91bml0c1tmaWVsZF0gPTNE
IHVuaXRzCj0yMAotYXhpc193Y3MgPTNEIFtbMSwyXSxbMCwyXSxbMCwxXV0KKyAgICBkZWYgcG9w
KHNlbGYsIGtleSk6CisgICAgICAgICIiIgorICAgICAgICBSZW1vdmUgYSBmaWVsZCB3aXRoIG5h
bWUgKmtleSoKKyAgICAgICAgYW5kIHJldHVybiBpdCBhcyBhIG5ldyBGSVRTSW1hZ2VEYXRhPTIw
CisgICAgICAgIGluc3RhbmNlLgorICAgICAgICAiIiIKKyAgICAgICAgaWYga2V5IG5vdCBpbiBz
ZWxmLmtleXMoKToKKyAgICAgICAgICAgIHJhaXNlIEtleUVycm9yKCIlcyBub3QgYW4gaW1hZ2Uh
IiAlIGtleSkKKyAgICAgICAgaWR4ID0zRCBzZWxmLmZpZWxkcy5pbmRleChrZXkpCisgICAgICAg
IGltID0zRCBzdXBlcihGSVRTSW1hZ2VEYXRhLCBzZWxmKS5wb3AoaWR4KQorICAgICAgICBkYXRh
ID0zRCBZVEFycmF5KGltLmRhdGEsIHNlbGYuZmllbGRfdW5pdHNba2V5XSkKKyAgICAgICAgc2Vs
Zi5maWVsZF91bml0cy5wb3Aoa2V5KQorICAgICAgICBzZWxmLmZpZWxkcy5yZW1vdmUoa2V5KQor
ICAgICAgICByZXR1cm4gRklUU0ltYWdlRGF0YShkYXRhLCBmaWVsZHM9M0RrZXksIHdjcz0zRHNl
bGYud2NzKQo9MjAKLWRlZiBjcmVhdGVfc2t5X3djcyhvbGRfd2NzLCBza3lfY2VudGVyLCBza3lf
c2NhbGUsCi0gICAgICAgICAgICAgICAgICAgY3R5cGU9M0RbIlJBLS0tVEFOIiwiREVDLS1UQU4i
XSwgY3JvdGE9M0ROb25lKToKLSAgICAiIiIKLSAgICBUYWtlcyBhbiBhc3Ryb3B5Lndjcy5XQ1Mg
aW5zdGFuY2UgY3JlYXRlZCBpbiB5dCBmcm9tIGEKLSAgICBzaW11bGF0aW9uIHRoYXQgaGFzIGEg
Q2FydGVzaWFuIGNvb3JkaW5hdGUgc3lzdGVtIGFuZAotICAgIGNvbnZlcnRzIGl0IHRvIG9uZSBp
biBhIGNlbGVzdGlhbCBjb29yZGluYXRlIHN5c3RlbS4KKyAgICBAY2xhc3NtZXRob2QKKyAgICBk
ZWYgZnJvbV9maWxlKGNscywgZmlsZW5hbWUpOgorICAgICAgICAiIiIKKyAgICAgICAgR2VuZXJh
dGUgYSBGSVRTSW1hZ2VEYXRhIGluc3RhbmNlIGZyb20gb25lIHByZXZpb3VzbHkgd3JpdHRlbiB0
bz0yMAorICAgICAgICBkaXNrLgo9MjAKLSAgICBQYXJhbWV0ZXJzCi0gICAgLS0tLS0tLS0tLQot
ICAgIG9sZF93Y3MgOiBhc3Ryb3B5Lndjcy5XQ1MKLSAgICAgICAgVGhlIG9yaWdpbmFsIFdDUyB0
byBiZSBjb252ZXJ0ZWQuCi0gICAgc2t5X2NlbnRlciA6IHR1cGxlCi0gICAgICAgIFJlZmVyZW5j
ZSBjb29yZGluYXRlcyBvZiB0aGUgV0NTIGluIGRlZ3JlZXMuCi0gICAgc2t5X3NjYWxlIDogdHVw
bGUKLSAgICAgICAgQ29udmVyc2lvbiBiZXR3ZWVuIGFuIGFuZ2xlIHVuaXQgYW5kIGEgbGVuZ3Ro
IHVuaXQsCi0gICAgICAgIGUuZy4gKDMuMCwgImFyY3NlYy9rcGMiKQotICAgIGN0eXBlIDogbGlz
dCBvZiBzdHJpbmdzLCBvcHRpb25hbAotICAgICAgICBUaGUgdHlwZSBvZiB0aGUgY29vcmRpbmF0
ZSBzeXN0ZW0gdG8gY3JlYXRlLgotICAgIGNyb3RhIDogbGlzdCBvZiBmbG9hdHMsIG9wdGlvbmFs
Ci0gICAgICAgIFJvdGF0aW9uIGFuZ2xlcyBiZXR3ZWVuIGNhcnRlc2lhbiBjb29yZGluYXRlcyBh
bmQKLSAgICAgICAgdGhlIGNlbGVzdGlhbCBjb29yZGluYXRlcy4KLSAgICAiIiIKLSAgICBuYXhp
cyA9M0Qgb2xkX3djcy5uYXhpcwotICAgIGNydmFsID0zRCBbc2t5X2NlbnRlclswXSwgc2t5X2Nl
bnRlclsxXV0KLSAgICBzY2FsZXEgPTNEIFlUUXVhbnRpdHkoc2t5X3NjYWxlWzBdLHNreV9zY2Fs
ZVsxXSkKLSAgICBkZWx0YXMgPTNEIG9sZF93Y3Mud2NzLmNkZWx0Ci0gICAgdW5pdHMgPTNEIFtz
dHIodW5pdCkgZm9yIHVuaXQgaW4gb2xkX3djcy53Y3MuY3VuaXRdCi0gICAgbmV3X2R4ID0zRCAo
WVRRdWFudGl0eSgtZGVsdGFzWzBdLCB1bml0c1swXSkqc2NhbGVxKS5pbl91bml0cygiZGVnIikK
LSAgICBuZXdfZHkgPTNEIChZVFF1YW50aXR5KGRlbHRhc1sxXSwgdW5pdHNbMV0pKnNjYWxlcSku
aW5fdW5pdHMoImRlZyIpCi0gICAgbmV3X3djcyA9M0QgcHl3Y3MuV0NTKG5heGlzPTNEbmF4aXMp
Ci0gICAgY2RlbHQgPTNEIFtuZXdfZHgudiwgbmV3X2R5LnZdCi0gICAgY3VuaXQgPTNEIFsiZGVn
Il0qMgotICAgIGlmIG5heGlzID0zRD0zRCAzOgotICAgICAgICBjcnZhbC5hcHBlbmQob2xkX3dj
cy53Y3MuY3J2YWxbMl0pCi0gICAgICAgIGNkZWx0LmFwcGVuZChvbGRfd2NzLndjcy5jZGVsdFsy
XSkKLSAgICAgICAgY3R5cGUuYXBwZW5kKG9sZF93Y3Mud2NzLmN0eXBlWzJdKQotICAgICAgICBj
dW5pdC5hcHBlbmQob2xkX3djcy53Y3MuY3VuaXRbMl0pCi0gICAgbmV3X3djcy53Y3MuY3JwaXgg
PTNEIG9sZF93Y3Mud2NzLmNycGl4Ci0gICAgbmV3X3djcy53Y3MuY2RlbHQgPTNEIGNkZWx0Ci0g
ICAgbmV3X3djcy53Y3MuY3J2YWwgPTNEIGNydmFsCi0gICAgbmV3X3djcy53Y3MuY3VuaXQgPTNE
IGN1bml0Ci0gICAgbmV3X3djcy53Y3MuY3R5cGUgPTNEIGN0eXBlCi0gICAgaWYgY3JvdGEgaXMg
bm90IE5vbmU6Ci0gICAgICAgIG5ld193Y3Mud2NzLmNyb3RhID0zRCBjcm90YQotICAgIHJldHVy
biBuZXdfd2NzCisgICAgICAgIFBhcmFtZXRlcnMKKyAgICAgICAgLS0tLS0tLS0tLQorICAgICAg
ICBmaWxlbmFtZSA6IHN0cmluZworICAgICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8g
b3Blbi4KKyAgICAgICAgIiIiCisgICAgICAgIGYgPTNEIHB5Zml0cy5vcGVuKGZpbGVuYW1lKQor
ICAgICAgICBkYXRhID0zRCB7fQorICAgICAgICBmb3IgaGR1IGluIGY6CisgICAgICAgICAgICBk
YXRhW2hkdS5oZWFkZXJbImJ0eXBlIl1dID0zRCBZVEFycmF5KGhkdS5kYXRhLCBoZHUuaGVhZGVy
WyJidT0Kbml0Il0pCisgICAgICAgIGYuY2xvc2UoKQorICAgICAgICByZXR1cm4gY2xzKGRhdGEs
IHdjcz0zRHB5d2NzLldDUyhoZWFkZXI9M0RoZHUuaGVhZGVyKSkKKworICAgIEBjbGFzc21ldGhv
ZAorICAgIGRlZiBmcm9tX2ltYWdlcyhjbHMsIGltYWdlX2xpc3QpOgorICAgICAgICAiIiIKKyAg
ICAgICAgR2VuZXJhdGUgYSBuZXcgRklUU0ltYWdlRGF0YSBpbnN0YW5jZSBmcm9tIGEgbGlzdCBv
ZiBGSVRTSW1hZ2VEYXRhPTIwCisgICAgICAgIGluc3RhbmNlcy4KKworICAgICAgICBQYXJhbWV0
ZXJzCisgICAgICAgIC0tLS0tLS0tLS0KKyAgICAgICAgaW1hZ2VfbGlzdCA6IGxpc3Qgb2YgRklU
U0ltYWdlRGF0YSBpbnN0YW5jZXMKKyAgICAgICAgICAgIFRoZSBpbWFnZXMgdG8gYmUgY29tYmlu
ZWQuCisgICAgICAgICIiIgorICAgICAgICB3ID0zRCBpbWFnZV9saXN0WzBdLndjcworICAgICAg
ICBpbWdfc2hhcGUgPTNEIGltYWdlX2xpc3RbMF0uc2hhcGUKKyAgICAgICAgZGF0YSA9M0Qge30K
KyAgICAgICAgZm9yIGltYWdlIGluIGltYWdlX2xpc3Q6CisgICAgICAgICAgICBhc3NlcnRfc2Ft
ZV93Y3ModywgaW1hZ2Uud2NzKQorICAgICAgICAgICAgaWYgaW1nX3NoYXBlICE9M0QgaW1hZ2Uu
c2hhcGU6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJJbWFnZXMgZG8gbm90
IGhhdmUgdGhlIHNhbWUgc2hhcGUhIikKKyAgICAgICAgICAgIGZvciBrZXkgaW4gaW1hZ2Uua2V5
cygpOgorICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9M0QgaW1hZ2UuZ2V0X2RhdGEoa2V5KQor
ICAgICAgICByZXR1cm4gY2xzKGRhdGEsIHdjcz0zRHcpCisKKyAgICBkZWYgY3JlYXRlX3NreV93
Y3Moc2VsZiwgc2t5X2NlbnRlciwgc2t5X3NjYWxlLAorICAgICAgICAgICAgICAgICAgICAgICBj
dHlwZT0zRFsiUkEtLS1UQU4iLCJERUMtLVRBTiJdLAorICAgICAgICAgICAgICAgICAgICAgICBj
cm90YT0zRE5vbmUsIGNkPTNETm9uZSwgcGM9M0ROb25lKToKKyAgICAgICAgIiIiCisgICAgICAg
IFRha2VzIGEgQ2FydGVzaWFuIFdDUyBhbmQgY29udmVydHMgaXQgdG8gb25lIGluIGEKKyAgICAg
ICAgY2VsZXN0aWFsIGNvb3JkaW5hdGUgc3lzdGVtLgorCisgICAgICAgIFBhcmFtZXRlcnMKKyAg
ICAgICAgLS0tLS0tLS0tLQorICAgICAgICBza3lfY2VudGVyIDogaXRlcmFibGUgb2YgZmxvYXRz
CisgICAgICAgICAgICBSZWZlcmVuY2UgY29vcmRpbmF0ZXMgb2YgdGhlIFdDUyBpbiBkZWdyZWVz
LgorICAgICAgICBza3lfc2NhbGUgOiB0dXBsZSBvciBZVFF1YW50aXR5CisgICAgICAgICAgICBD
b252ZXJzaW9uIGJldHdlZW4gYW4gYW5nbGUgdW5pdCBhbmQgYSBsZW5ndGggdW5pdCwKKyAgICAg
ICAgICAgIGUuZy4gKDMuMCwgImFyY3NlYy9rcGMiKQorICAgICAgICBjdHlwZSA6IGxpc3Qgb2Yg
c3RyaW5ncywgb3B0aW9uYWwKKyAgICAgICAgICAgIFRoZSB0eXBlIG9mIHRoZSBjb29yZGluYXRl
IHN5c3RlbSB0byBjcmVhdGUuCisgICAgICAgIGNyb3RhIDogMi1lbGVtZW50IG5kYXJyYXksIG9w
dGlvbmFsCisgICAgICAgICAgICBSb3RhdGlvbiBhbmdsZXMgYmV0d2VlbiBjYXJ0ZXNpYW4gY29v
cmRpbmF0ZXMgYW5kCisgICAgICAgICAgICB0aGUgY2VsZXN0aWFsIGNvb3JkaW5hdGVzLgorICAg
ICAgICBjZCA6IDJ4Mi1lbGVtZW50IG5kYXJyYXksIG9wdGlvbmFsCisgICAgICAgICAgICBEaW1l
bnNpb25lZCBjb29yZGluYXRlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4KKyAgICAgICAgcGMgOiAy
eDItZWxlbWVudCBuZGFycmF5LCBvcHRpb25hbAorICAgICAgICAgICAgQ29vcmRpbmF0ZSB0cmFu
c2Zvcm1hdGlvbiBtYXRyaXguCisgICAgICAgICIiIgorICAgICAgICBvbGRfd2NzID0zRCBzZWxm
LndjcworICAgICAgICBuYXhpcyA9M0Qgb2xkX3djcy5uYXhpcworICAgICAgICBjcnZhbCA9M0Qg
W3NreV9jZW50ZXJbMF0sIHNreV9jZW50ZXJbMV1dCisgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2t5
X3NjYWxlLCBZVFF1YW50aXR5KToKKyAgICAgICAgICAgIHNjYWxlcSA9M0Qgc2t5X3NjYWxlCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBzY2FsZXEgPTNEIFlUUXVhbnRpdHkoc2t5X3NjYWxl
WzBdLHNreV9zY2FsZVsxXSkKKyAgICAgICAgaWYgc2NhbGVxLnVuaXRzLmRpbWVuc2lvbnMgIT0z
RCBkaW1lbnNpb25zLmFuZ2xlL2RpbWVuc2lvbnMubGVuZ3RoOgorICAgICAgICAgICAgcmFpc2Ug
UnVudGltZUVycm9yKCJza3lfc2NhbGUgJXMgbm90IGluIGNvcnJlY3QgZGltZW5zaW9ucyBvZiA9
CmFuZ2xlL2xlbmd0aCEiICUgc2t5X3NjYWxlKQorICAgICAgICBkZWx0YXMgPTNEIG9sZF93Y3Mu
d2NzLmNkZWx0CisgICAgICAgIHVuaXRzID0zRCBbc3RyKHVuaXQpIGZvciB1bml0IGluIG9sZF93
Y3Mud2NzLmN1bml0XQorICAgICAgICBuZXdfZHggPTNEIChZVFF1YW50aXR5KC1kZWx0YXNbMF0s
IHVuaXRzWzBdKSpzY2FsZXEpLmluX3VuaXRzKCJkZWc9CiIpCisgICAgICAgIG5ld19keSA9M0Qg
KFlUUXVhbnRpdHkoZGVsdGFzWzFdLCB1bml0c1sxXSkqc2NhbGVxKS5pbl91bml0cygiZGVnIikK
KyAgICAgICAgbmV3X3djcyA9M0QgcHl3Y3MuV0NTKG5heGlzPTNEbmF4aXMpCisgICAgICAgIGNk
ZWx0ID0zRCBbbmV3X2R4LnYsIG5ld19keS52XQorICAgICAgICBjdW5pdCA9M0QgWyJkZWciXSoy
CisgICAgICAgIGlmIG5heGlzID0zRD0zRCAzOgorICAgICAgICAgICAgY3J2YWwuYXBwZW5kKG9s
ZF93Y3Mud2NzLmNydmFsWzJdKQorICAgICAgICAgICAgY2RlbHQuYXBwZW5kKG9sZF93Y3Mud2Nz
LmNkZWx0WzJdKQorICAgICAgICAgICAgY3R5cGUuYXBwZW5kKG9sZF93Y3Mud2NzLmN0eXBlWzJd
KQorICAgICAgICAgICAgY3VuaXQuYXBwZW5kKG9sZF93Y3Mud2NzLmN1bml0WzJdKQorICAgICAg
ICBuZXdfd2NzLndjcy5jcnBpeCA9M0Qgb2xkX3djcy53Y3MuY3JwaXgKKyAgICAgICAgbmV3X3dj
cy53Y3MuY2RlbHQgPTNEIGNkZWx0CisgICAgICAgIG5ld193Y3Mud2NzLmNydmFsID0zRCBjcnZh
bAorICAgICAgICBuZXdfd2NzLndjcy5jdW5pdCA9M0QgY3VuaXQKKyAgICAgICAgbmV3X3djcy53
Y3MuY3R5cGUgPTNEIGN0eXBlCisgICAgICAgIGlmIGNyb3RhIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgbmV3X3djcy53Y3MuY3JvdGEgPTNEIGNyb3RhCisgICAgICAgIGlmIGNkIGlzIG5vdCBO
b25lOgorICAgICAgICAgICAgbmV3X3djcy53Y3MuY2QgPTNEIGNkCisgICAgICAgIGlmIHBjIGlz
IG5vdCBOb25lOgorICAgICAgICAgICAgbmV3X3djcy53Y3MuY2QgPTNEIHBjCisgICAgICAgIHNl
bGYuc2V0X3djcyhuZXdfd2NzKQorCitjbGFzcyBGSVRTSW1hZ2VCdWZmZXIoRklUU0ltYWdlRGF0
YSk6CisgICAgcGFzcwo9MjAKIGRlZiBzYW5pdGl6ZV9maXRzX3VuaXQodW5pdCk6CiAgICAgaWYg
dW5pdCA9M0Q9M0QgIk1wYyI6CkBAIC0zMDksMTEgKzQxNyw5IEBACiAgICAgICAgIHVuaXQgPTNE
ICJBVSIKICAgICByZXR1cm4gdW5pdAo9MjAKLWRlZiBjb25zdHJ1Y3RfaW1hZ2UoZGF0YV9zb3Vy
Y2UsIGNlbnRlcj0zRE5vbmUsIHdpZHRoPTNETm9uZSwgaW1hZ2VfcmVzPTNEPQpOb25lKToKLSAg
ICBkcyA9M0QgZGF0YV9zb3VyY2UuZHMKLSAgICBheGlzID0zRCBkYXRhX3NvdXJjZS5heGlzCi0g
ICAgaWYgY2VudGVyIGlzIE5vbmUgb3Igd2lkdGggaXMgTm9uZToKLSAgICAgICAgY2VudGVyID0z
RCBkcy5kb21haW5fY2VudGVyW2F4aXNfd2NzW2F4aXNdXQorYXhpc193Y3MgPTNEIFtbMSwyXSxb
MCwyXSxbMCwxXV0KKworZGVmIGNvbnN0cnVjdF9pbWFnZShkcywgYXhpcywgZGF0YV9zb3VyY2Us
IGNlbnRlciwgd2lkdGg9M0ROb25lLCBpbWFnZV9yZXM9Cj0zRE5vbmUpOgogICAgIGlmIHdpZHRo
IGlzIE5vbmU6CiAgICAgICAgIHdpZHRoID0zRCBkcy5kb21haW5fd2lkdGhbYXhpc193Y3NbYXhp
c11dCiAgICAgICAgIHVuaXQgPTNEIGRzLmdldF9zbWFsbGVzdF9hcHByb3ByaWF0ZV91bml0KHdp
ZHRoWzBdKQpAQCAtMzIzLDI4ICs0MjksMjggQEAKICAgICAgICAgd2lkdGggPTNEIGRzLmNvb3Jk
aW5hdGVzLnNhbml0aXplX3dpZHRoKGF4aXMsIHdpZHRoLCBOb25lKQogICAgICAgICB1bml0ID0z
RCBzdHIod2lkdGhbMF0udW5pdHMpCiAgICAgaWYgaW1hZ2VfcmVzIGlzIE5vbmU6Ci0gICAgICAg
IGRkID0zRCBkcy5hbGxfZGF0YSgpCi0gICAgICAgIGR4LCBkeSA9M0QgW2RkLnF1YW50aXRpZXMu
ZXh0cmVtYSgiZCVzIiAlICJ4eXoiW2lkeF0pWzBdCi0gICAgICAgICAgICAgICAgICBmb3IgaWR4
IGluIGF4aXNfd2NzW2F4aXNdXQotICAgICAgICBueCA9M0QgaW50KCh3aWR0aFswXS9keCkuaW5f
dW5pdHMoImRpbWVuc2lvbmxlc3MiKSkKLSAgICAgICAgbnkgPTNEIGludCgod2lkdGhbMV0vZHkp
LmluX3VuaXRzKCJkaW1lbnNpb25sZXNzIikpCisgICAgICAgIGRkaW1zID0zRCBkcy5kb21haW5f
ZGltZW5zaW9ucypkcy5yZWZpbmVfYnkqKmRzLmluZGV4Lm1heF9sZXZlbAorICAgICAgICBpZiBp
dGVyYWJsZShheGlzKToKKyAgICAgICAgICAgIG54ID0zRCBkZGltcy5tYXgoKQorICAgICAgICAg
ICAgbnkgPTNEIGRkaW1zLm1heCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBueCwgbnkg
PTNEIFtkZGltc1tpZHhdIGZvciBpZHggaW4gYXhpc193Y3NbYXhpc11dCiAgICAgZWxzZToKICAg
ICAgICAgaWYgaXRlcmFibGUoaW1hZ2VfcmVzKToKICAgICAgICAgICAgIG54LCBueSA9M0QgaW1h
Z2VfcmVzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBueCwgbnkgPTNEIGltYWdlX3Jlcywg
aW1hZ2VfcmVzCi0gICAgICAgIGR4LCBkeSA9M0Qgd2lkdGhbMF0vbngsIHdpZHRoWzFdL255Cisg
ICAgZHgsIGR5ID0zRCB3aWR0aFswXS9ueCwgd2lkdGhbMV0vbnkKICAgICBjcnBpeCA9M0QgWzAu
NSoobngrMSksIDAuNSoobnkrMSldCi0gICAgaWYgaGFzYXR0cihkcywgIndjcyIpOgorICAgIGlm
IGhhc2F0dHIoZHMsICJ3Y3MiKSBhbmQgbm90IGl0ZXJhYmxlKGF4aXMpOgogICAgICAgICAjIFRo
aXMgaXMgYSBGSVRTIGRhdGFzZXQsIHNvIHdlIHVzZSBpdCB0byBjb25zdHJ1Y3QgdGhlIFdDUwog
ICAgICAgICBjdW5pdCA9M0QgW3N0cihkcy53Y3Mud2NzLmN1bml0W2lkeF0pIGZvciBpZHggaW4g
YXhpc193Y3NbYXhpc11dCiAgICAgICAgIGN0eXBlID0zRCBbZHMud2NzLndjcy5jdHlwZVtpZHhd
IGZvciBpZHggaW4gYXhpc193Y3NbYXhpc11dCiAgICAgICAgIGNkZWx0ID0zRCBbZHMud2NzLndj
cy5jZGVsdFtpZHhdIGZvciBpZHggaW4gYXhpc193Y3NbYXhpc11dCiAgICAgICAgIGN0cl9waXgg
PTNEIGNlbnRlci5pbl91bml0cygiY29kZV9sZW5ndGgiKVs6ZHMuZGltZW5zaW9uYWxpdHldLnYK
LSAgICAgICAgY3J2YWwgPTNEIGRzLndjcy53Y3NfcGl4MndvcmxkKGN0cl9waXgucmVzaGFwZSgx
LGRzLmRpbWVuc2lvbmFsaXR5PQopKVswXQorICAgICAgICBjcnZhbCA9M0QgZHMud2NzLndjc19w
aXgyd29ybGQoY3RyX3BpeC5yZXNoYXBlKDEsIGRzLmRpbWVuc2lvbmFsaXQ9CnkpKVswXQogICAg
ICAgICBjcnZhbCA9M0QgW2NydmFsW2lkeF0gZm9yIGlkeCBpbiBheGlzX3djc1theGlzXV0KICAg
ICBlbHNlOgotICAgICAgICAjIFRoaXMgaXMgc29tZSBvdGhlciBraW5kIG9mIGRhdGFzZXQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0yMAogICAgICAgICBpZiB1bml0ID0zRD0zRCAidW5pdGFyeSI6CiAgICAgICAg
ICAgICB1bml0ID0zRCBkcy5nZXRfc21hbGxlc3RfYXBwcm9wcmlhdGVfdW5pdChkcy5kb21haW5f
d2lkdGgubWF4KD0KKSkKICAgICAgICAgZWxpZiB1bml0ID0zRD0zRCAiY29kZV9sZW5ndGgiOgpA
QCAtMzUzLDggKzQ1OSwxNyBAQAogICAgICAgICBjdW5pdCA9M0QgW3VuaXRdKjIKICAgICAgICAg
Y3R5cGUgPTNEIFsiTElORUFSIl0qMgogICAgICAgICBjZGVsdCA9M0QgW2R4LmluX3VuaXRzKHVu
aXQpXSoyCi0gICAgICAgIGNydmFsID0zRCBbY2VudGVyW2lkeF0uaW5fdW5pdHModW5pdCkgZm9y
IGlkeCBpbiBheGlzX3djc1theGlzXV0KLSAgICBmcmIgPTNEIGRhdGFfc291cmNlLnRvX2ZyYih3
aWR0aFswXSwgKG54LG55KSwgY2VudGVyPTNEY2VudGVyLCBoZWlnaHQ9Cj0zRHdpZHRoWzFdKQor
ICAgICAgICBpZiBpdGVyYWJsZShheGlzKToKKyAgICAgICAgICAgIGNydmFsID0zRCBjZW50ZXIu
aW5fdW5pdHModW5pdCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNydmFsID0zRCBbY2Vu
dGVyW2lkeF0uaW5fdW5pdHModW5pdCkgZm9yIGlkeCBpbiBheGlzX3djc1theGlzPQpdXQorICAg
IGlmIGhhc2F0dHIoZGF0YV9zb3VyY2UsICd0b19mcmInKToKKyAgICAgICAgaWYgaXRlcmFibGUo
YXhpcyk6CisgICAgICAgICAgICBmcmIgPTNEIGRhdGFfc291cmNlLnRvX2ZyYih3aWR0aFswXSwg
KG54LCBueSksIGhlaWdodD0zRHdpZHRoWz0KMV0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBmcmIgPTNEIGRhdGFfc291cmNlLnRvX2ZyYih3aWR0aFswXSwgKG54LCBueSksIGNlbnRlcj0z
RGNlbnRlcj0KLCBoZWlnaHQ9M0R3aWR0aFsxXSkKKyAgICBlbHNlOgorICAgICAgICBmcmIgPTNE
IE5vbmUKICAgICB3ID0zRCBweXdjcy5XQ1MobmF4aXM9M0QyKQogICAgIHcud2NzLmNycGl4ID0z
RCBjcnBpeAogICAgIHcud2NzLmNkZWx0ID0zRCBjZGVsdApAQCAtMzYzLDE0ICs0NzgsNDIgQEAK
ICAgICB3Lndjcy5jdHlwZSA9M0QgY3R5cGUKICAgICByZXR1cm4gdywgZnJiCj0yMAotY2xhc3Mg
RklUU1NsaWNlKEZJVFNJbWFnZUJ1ZmZlcik6CitkZWYgYXNzZXJ0X3NhbWVfd2NzKHdjczEsIHdj
czIpOgorICAgIGZyb20gbnVtcHkudGVzdGluZyBpbXBvcnQgYXNzZXJ0X2FsbGNsb3NlCisgICAg
YXNzZXJ0IHdjczEubmF4aXMgPTNEPTNEIHdjczIubmF4aXMKKyAgICBmb3IgaSBpbiByYW5nZSh3
Y3MxLm5heGlzKToKKyAgICAgICAgYXNzZXJ0IHdjczEud2NzLmN1bml0W2ldID0zRD0zRCB3Y3My
Lndjcy5jdW5pdFtpXQorICAgICAgICBhc3NlcnQgd2NzMS53Y3MuY3R5cGVbaV0gPTNEPTNEIHdj
czIud2NzLmN0eXBlW2ldCisgICAgYXNzZXJ0X2FsbGNsb3NlKHdjczEud2NzLmNycGl4LCB3Y3My
Lndjcy5jcnBpeCkKKyAgICBhc3NlcnRfYWxsY2xvc2Uod2NzMS53Y3MuY2RlbHQsIHdjczIud2Nz
LmNkZWx0KQorICAgIGFzc2VydF9hbGxjbG9zZSh3Y3MxLndjcy5jcnZhbCwgd2NzMi53Y3MuY3J2
YWwpCisgICAgY3JvdGExID0zRCBnZXRhdHRyKHdjczEud2NzLCAiY3JvdGEiLCBOb25lKQorICAg
IGNyb3RhMiA9M0QgZ2V0YXR0cih3Y3MyLndjcywgImNyb3RhIiwgTm9uZSkKKyAgICBpZiBjcm90
YTEgaXMgTm9uZSBvciBjcm90YTIgaXMgTm9uZToKKyAgICAgICAgYXNzZXJ0IGNyb3RhMSA9M0Q9
M0QgY3JvdGEyCisgICAgZWxzZToKKyAgICAgICAgYXNzZXJ0X2FsbGNsb3NlKHdjczEud2NzLmNy
b3RhLCB3Y3MyLndjcy5jcm90YSkKKyAgICBjZDEgPTNEIGdldGF0dHIod2NzMS53Y3MsICJjZCIs
IE5vbmUpCisgICAgY2QyID0zRCBnZXRhdHRyKHdjczIud2NzLCAiY2QiLCBOb25lKQorICAgIGlm
IGNkMSBpcyBOb25lIG9yIGNkMiBpcyBOb25lOgorICAgICAgICBhc3NlcnQgY2QxID0zRD0zRCBj
ZDIKKyAgICBlbHNlOgorICAgICAgICBhc3NlcnRfYWxsY2xvc2Uod2NzMS53Y3MuY2QsIHdjczIu
d2NzLmNkKQorICAgIHBjMSA9M0QgZ2V0YXR0cih3Y3MxLndjcywgInBjIiwgTm9uZSkKKyAgICBw
YzIgPTNEIGdldGF0dHIod2NzMi53Y3MsICJwYyIsIE5vbmUpCisgICAgaWYgcGMxIGlzIE5vbmUg
b3IgcGMyIGlzIE5vbmU6CisgICAgICAgIGFzc2VydCBwYzEgPTNEPTNEIHBjMgorICAgIGVsc2U6
CisgICAgICAgIGFzc2VydF9hbGxjbG9zZSh3Y3MxLndjcy5wYywgd2NzMi53Y3MucGMpCisKK2Ns
YXNzIEZJVFNTbGljZShGSVRTSW1hZ2VEYXRhKToKICAgICByIiIiCi0gICAgR2VuZXJhdGUgYSBG
SVRTSW1hZ2VCdWZmZXIgb2YgYW4gb24tYXhpcyBzbGljZS4KKyAgICBHZW5lcmF0ZSBhIEZJVFNJ
bWFnZURhdGEgb2YgYW4gb24tYXhpcyBzbGljZS4KPTIwCiAgICAgUGFyYW1ldGVycwogICAgIC0t
LS0tLS0tLS0KLSAgICBkcyA6IEZJVFNEYXRhc2V0Ci0gICAgICAgIFRoZSBGSVRTIGRhdGFzZXQg
b2JqZWN0LgorICAgIGRzIDogOmNsYXNzOmB5dC5kYXRhX29iamVjdHMuYXBpLkRhdGFzZXRgCisg
ICAgICAgIFRoZSBkYXRhc2V0IG9iamVjdC4KICAgICBheGlzIDogY2hhcmFjdGVyIG9yIGludGVn
ZXIKICAgICAgICAgVGhlIGF4aXMgb2YgdGhlIHNsaWNlLiBPbmUgb2YgIngiLCJ5IiwieiIsIG9y
IDAsMSwyLgogICAgIGZpZWxkcyA6IHN0cmluZyBvciBsaXN0IG9mIHN0cmluZ3MKQEAgLTQxNCwy
MCArNTU3LDE4IEBACiAgICAgICAgIGF4aXMgPTNEIGZpeF9heGlzKGF4aXMsIGRzKQogICAgICAg
ICBjZW50ZXIsIGRjZW50ZXIgPTNEIGRzLmNvb3JkaW5hdGVzLnNhbml0aXplX2NlbnRlcihjZW50
ZXIsIGF4aXMpCiAgICAgICAgIHNsYyA9M0QgZHMuc2xpY2UoYXhpcywgY2VudGVyW2F4aXNdLCAq
Kmt3YXJncykKLSAgICAgICAgdywgZnJiID0zRCBjb25zdHJ1Y3RfaW1hZ2Uoc2xjLCBjZW50ZXI9
M0RkY2VudGVyLCB3aWR0aD0zRHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW1hZ2VfcmVzPTNEaW1hZ2VfcmVzKQorICAgICAgICB3LCBmcmIgPTNEIGNvbnN0cnVjdF9p
bWFnZShkcywgYXhpcywgc2xjLCBkY2VudGVyLCB3aWR0aD0zRHdpZHRoLCA9CmltYWdlX3Jlcz0z
RGltYWdlX3JlcykKICAgICAgICAgc3VwZXIoRklUU1NsaWNlLCBzZWxmKS5fX2luaXRfXyhmcmIs
IGZpZWxkcz0zRGZpZWxkcywgd2NzPTNEdykKLSAgICAgICAgZm9yIGksIGZpZWxkIGluIGVudW1l
cmF0ZShmaWVsZHMpOgotICAgICAgICAgICAgc2VsZltpXS5oZWFkZXJbImJ1bml0Il0gPTNEIHN0
cihmcmJbZmllbGRdLnVuaXRzKQo9MjAKLWNsYXNzIEZJVFNQcm9qZWN0aW9uKEZJVFNJbWFnZUJ1
ZmZlcik6CisKK2NsYXNzIEZJVFNQcm9qZWN0aW9uKEZJVFNJbWFnZURhdGEpOgogICAgIHIiIiIK
LSAgICBHZW5lcmF0ZSBhIEZJVFNJbWFnZUJ1ZmZlciBvZiBhbiBvbi1heGlzIHByb2plY3Rpb24u
CisgICAgR2VuZXJhdGUgYSBGSVRTSW1hZ2VEYXRhIG9mIGFuIG9uLWF4aXMgcHJvamVjdGlvbi4K
PTIwCiAgICAgUGFyYW1ldGVycwogICAgIC0tLS0tLS0tLS0KLSAgICBkcyA6IEZJVFNEYXRhc2V0
Ci0gICAgICAgIFRoZSBGSVRTIGRhdGFzZXQgb2JqZWN0LgorICAgIGRzIDogOmNsYXNzOmB5dC5k
YXRhX29iamVjdHMuYXBpLkRhdGFzZXRgCisgICAgICAgIFRoZSBkYXRhc2V0IG9iamVjdC4KICAg
ICBheGlzIDogY2hhcmFjdGVyIG9yIGludGVnZXIKICAgICAgICAgVGhlIGF4aXMgYWxvbmcgd2hp
Y2ggdG8gcHJvamVjdC4gT25lIG9mICJ4IiwieSIsInoiLCBvciAwLDEsMi4KICAgICBmaWVsZHMg
OiBzdHJpbmcgb3IgbGlzdCBvZiBzdHJpbmdzCkBAIC00NjgsMTQgKzYwOSwxNjEgQEAKICAgICAg
ICAgU3BlY2lmeSB0aGUgcmVzb2x1dGlvbiBvZiB0aGUgcmVzdWx0aW5nIGltYWdlLiBJZiBub3Qg
cHJvdmlkZWQsIGl0PQogd2lsbCBiZQogICAgICAgICBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBt
aW5pbXVtIGNlbGwgc2l6ZSBvZiB0aGUgZGF0YXNldC4KICAgICAiIiIKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgZHMsIGF4aXMsIGZpZWxkcywgY2VudGVyPTNEImMiLCB3aWR0aD0zRE5vbmUsPTIw
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzLCBheGlzLCBmaWVsZHMsIGNlbnRlcj0zRCJjIiwg
d2lkdGg9M0ROb25lLAogICAgICAgICAgICAgICAgICB3ZWlnaHRfZmllbGQ9M0ROb25lLCBpbWFn
ZV9yZXM9M0ROb25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZpZWxkcyA9M0QgZW5zdXJlX2xpc3Qo
ZmllbGRzKQogICAgICAgICBheGlzID0zRCBmaXhfYXhpcyhheGlzLCBkcykKICAgICAgICAgY2Vu
dGVyLCBkY2VudGVyID0zRCBkcy5jb29yZGluYXRlcy5zYW5pdGl6ZV9jZW50ZXIoY2VudGVyLCBh
eGlzKQogICAgICAgICBwcmogPTNEIGRzLnByb2ooZmllbGRzWzBdLCBheGlzLCB3ZWlnaHRfZmll
bGQ9M0R3ZWlnaHRfZmllbGQsICoqa3c9CmFyZ3MpCi0gICAgICAgIHcsIGZyYiA9M0QgY29uc3Ry
dWN0X2ltYWdlKHByaiwgY2VudGVyPTNEZGNlbnRlciwgd2lkdGg9M0R3aWR0aCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlX3Jlcz0zRGltYWdlX3JlcykKKyAgICAgICAg
dywgZnJiID0zRCBjb25zdHJ1Y3RfaW1hZ2UoZHMsIGF4aXMsIHByaiwgZGNlbnRlciwgd2lkdGg9
M0R3aWR0aCwgPQppbWFnZV9yZXM9M0RpbWFnZV9yZXMpCiAgICAgICAgIHN1cGVyKEZJVFNQcm9q
ZWN0aW9uLCBzZWxmKS5fX2luaXRfXyhmcmIsIGZpZWxkcz0zRGZpZWxkcywgd2NzPTNEdykKLSAg
ICAgICAgZm9yIGksIGZpZWxkIGluIGVudW1lcmF0ZShmaWVsZHMpOgotICAgICAgICAgICAgc2Vs
ZltpXS5oZWFkZXJbImJ1bml0Il0gPTNEIHN0cihmcmJbZmllbGRdLnVuaXRzKQorCitjbGFzcyBG
SVRTT2ZmQXhpc1NsaWNlKEZJVFNJbWFnZURhdGEpOgorICAgIHIiIiIKKyAgICBHZW5lcmF0ZSBh
IEZJVFNJbWFnZURhdGEgb2YgYW4gb2ZmLWF4aXMgc2xpY2UuCisKKyAgICBQYXJhbWV0ZXJzCisg
ICAgLS0tLS0tLS0tLQorICAgIGRzIDogOmNsYXNzOmB5dC5kYXRhX29iamVjdHMuYXBpLkRhdGFz
ZXRgCisgICAgICAgIFRoZSBkYXRhc2V0IG9iamVjdC4KKyAgICBub3JtYWwgOiBhIHNlcXVlbmNl
IG9mIGZsb2F0cworICAgICAgICBUaGUgdmVjdG9yIG5vcm1hbCB0byB0aGUgcHJvamVjdGlvbiBw
bGFuZS4KKyAgICBmaWVsZHMgOiBzdHJpbmcgb3IgbGlzdCBvZiBzdHJpbmdzCisgICAgICAgIFRo
ZSBmaWVsZHMgdG8gc2xpY2UKKyAgICBjZW50ZXIgOiBBIHNlcXVlbmNlIG9mIGZsb2F0cywgYSBz
dHJpbmcsIG9yIGEgdHVwbGUuCisgICAgICAgIFRoZSBjb29yZGluYXRlIG9mIHRoZSBjZW50ZXIg
b2YgdGhlIGltYWdlLiBJZiBzZXQgdG8gJ2MnLCAnY2VudGVyJz0KIG9yCisgICAgICAgIGxlZnQg
YmxhbmssIHRoZSBwbG90IGlzIGNlbnRlcmVkIG9uIHRoZSBtaWRkbGUgb2YgdGhlIGRvbWFpbi4g
SWYgcz0KZXQgdG8KKyAgICAgICAgJ21heCcgb3IgJ20nLCB0aGUgY2VudGVyIHdpbGwgYmUgbG9j
YXRlZCBhdCB0aGUgbWF4aW11bSBvZiB0aGUKKyAgICAgICAgKCdnYXMnLCAnZGVuc2l0eScpIGZp
ZWxkLiBDZW50ZXJpbmcgb24gdGhlIG1heCBvciBtaW4gb2YgYSBzcGVjaWZpYworICAgICAgICBm
aWVsZCBpcyBzdXBwb3J0ZWQgYnkgcHJvdmlkaW5nIGEgdHVwbGUgc3VjaCBhcyAoIm1pbiIsInRl
bXBlcmF0dXI9CmUiKSBvcgorICAgICAgICAoIm1heCIsImRhcmtfbWF0dGVyX2RlbnNpdHkiKS4g
VW5pdHMgY2FuIGJlIHNwZWNpZmllZCBieSBwYXNzaW5nIGk9Cm4gKmNlbnRlcioKKyAgICAgICAg
YXMgYSB0dXBsZSBjb250YWluaW5nIGEgY29vcmRpbmF0ZSBhbmQgc3RyaW5nIHVuaXQgbmFtZSBv
ciBieSBwYXNzPQppbmcKKyAgICAgICAgaW4gYSBZVEFycmF5LiBJZiBhIGxpc3Qgb3IgdW5pdGxl
c3MgYXJyYXkgaXMgc3VwcGxpZWQsIGNvZGUgdW5pdHMgPQphcmUKKyAgICAgICAgYXNzdW1lZC4K
KyAgICB3aWR0aCA6IHR1cGxlIG9yIGEgZmxvYXQuCisgICAgICAgIFdpZHRoIGNhbiBoYXZlIGZv
dXIgZGlmZmVyZW50IGZvcm1hdHMgdG8gc3VwcG9ydCB3aW5kb3dzIHdpdGggdmFyaT0KYWJsZQor
ICAgICAgICB4IGFuZCB5IHdpZHRocy4gIFRoZXkgYXJlOgorCisgICAgICAgID0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0K
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEICAgICA9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAor
ICAgICAgICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFtcGxlCisg
ICAgICAgID0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEICAg
ICA9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRAorICAgICAgICAoZmxvYXQsIHN0cmluZykgICAgICAgICAgICAgICAg
ICAgICAgICAoMTAsJ2twYycpCisgICAgICAgICgoZmxvYXQsIHN0cmluZyksIChmbG9hdCwgc3Ry
aW5nKSkgICAgICgoMTAsJ2twYycpLCgxNSwna3BjJykpCisgICAgICAgIGZsb2F0ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAuMgorICAgICAgICAoZmxvYXQsIGZsb2F0KSAgICAg
ICAgICAgICAgICAgICAgICAgICAoMC4yLCAwLjMpCisgICAgICAgID0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEICAgICA9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorCisgICAg
ICAgIEZvciBleGFtcGxlLCAoMTAsICdrcGMnKSByZXF1ZXN0cyBhIHBsb3Qgd2luZG93IHRoYXQg
aXMgMTAga2lsb3Bhcj0Kc2VjcworICAgICAgICB3aWRlIGluIHRoZSB4IGFuZCB5IGRpcmVjdGlv
bnMsICgoMTAsJ2twYycpLCgxNSwna3BjJykpIHJlcXVlc3RzIGEKKyAgICAgICAgd2luZG93IHRo
YXQgaXMgMTAga2lsb3BhcnNlY3Mgd2lkZSBhbG9uZyB0aGUgeCBheGlzIGFuZCAxNQorICAgICAg
ICBraWxvcGFyc2VjcyB3aWRlIGFsb25nIHRoZSB5IGF4aXMuICBJbiB0aGUgb3RoZXIgdHdvIGV4
YW1wbGVzLCBjb2RlCisgICAgICAgIHVuaXRzIGFyZSBhc3N1bWVkLCBmb3IgZXhhbXBsZSAoMC4y
LCAwLjMpIHJlcXVlc3RzIGEgcGxvdCB0aGF0IGhhcz0KIGFuCisgICAgICAgIHggd2lkdGggb2Yg
MC4yIGFuZCBhIHkgd2lkdGggb2YgMC4zIGluIGNvZGUgdW5pdHMuICBJZiB1bml0cyBhcmUKKyAg
ICAgICAgcHJvdmlkZWQgdGhlIHJlc3VsdGluZyBwbG90IGF4aXMgbGFiZWxzIHdpbGwgdXNlIHRo
ZSBzdXBwbGllZCB1bml0PQpzLgorICAgIGltYWdlX3JlcyA6IGFuIGludCBvciAyLXR1cGxlIG9m
IGludHMKKyAgICAgICAgU3BlY2lmeSB0aGUgcmVzb2x1dGlvbiBvZiB0aGUgcmVzdWx0aW5nIGlt
YWdlLgorICAgIG5vcnRoX3ZlY3RvciA6IGEgc2VxdWVuY2Ugb2YgZmxvYXRzCisgICAgICAgIEEg
dmVjdG9yIGRlZmluaW5nIHRoZSAndXAnIGRpcmVjdGlvbiBpbiB0aGUgcGxvdC4gIFRoaXMKKyAg
ICAgICAgb3B0aW9uIHNldHMgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBzbGljaW5nIHBsYW5lLiAg
SWYgbm90CisgICAgICAgIHNldCwgYW4gYXJiaXRyYXJ5IGdyaWQtYWxpZ25lZCBub3J0aC12ZWN0
b3IgaXMgY2hvc2VuLgorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcywgbm9ybWFs
LCBmaWVsZHMsIGNlbnRlcj0zRCdjJywgd2lkdGg9M0ROb25lLCBpbWE9CmdlX3Jlcz0zRDUxMiwK
KyAgICAgICAgICAgICAgICAgbm9ydGhfdmVjdG9yPTNETm9uZSk6CisgICAgICAgIGZpZWxkcyA9
M0QgZW5zdXJlX2xpc3QoZmllbGRzKQorICAgICAgICBjZW50ZXIsIGRjZW50ZXIgPTNEIGRzLmNv
b3JkaW5hdGVzLnNhbml0aXplX2NlbnRlcihjZW50ZXIsIDQpCisgICAgICAgIGN1dCA9M0QgZHMu
Y3V0dGluZyhub3JtYWwsIGNlbnRlciwgbm9ydGhfdmVjdG9yPTNEbm9ydGhfdmVjdG9yKQorICAg
ICAgICBjZW50ZXIgPTNEIGRzLmFycihbMC4wXSAqIDIsICdjb2RlX2xlbmd0aCcpCisgICAgICAg
IHcsIGZyYiA9M0QgY29uc3RydWN0X2ltYWdlKGRzLCBub3JtYWwsIGN1dCwgY2VudGVyLCB3aWR0
aD0zRHdpZHRoLD0KIGltYWdlX3Jlcz0zRGltYWdlX3JlcykKKyAgICAgICAgc3VwZXIoRklUU09m
ZkF4aXNTbGljZSwgc2VsZikuX19pbml0X18oZnJiLCBmaWVsZHM9M0RmaWVsZHMsIHdjcz0KPTNE
dykKKworCitjbGFzcyBGSVRTT2ZmQXhpc1Byb2plY3Rpb24oRklUU0ltYWdlRGF0YSk6CisgICAg
ciIiIgorICAgIEdlbmVyYXRlIGEgRklUU0ltYWdlRGF0YSBvZiBhbiBvZmYtYXhpcyBwcm9qZWN0
aW9uLgorCisgICAgUGFyYW1ldGVycworICAgIC0tLS0tLS0tLS0KKyAgICBkcyA6IDpjbGFzczpg
eXQuZGF0YV9vYmplY3RzLmFwaS5EYXRhc2V0YAorICAgICAgICBUaGlzIGlzIHRoZSBkYXRhc2V0
IG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZQorICAgICAgICBzaW11bGF0aW9uIG91dHB1dCB0
byBiZSBwbG90dGVkLgorICAgIG5vcm1hbCA6IGEgc2VxdWVuY2Ugb2YgZmxvYXRzCisgICAgICAg
IFRoZSB2ZWN0b3Igbm9ybWFsIHRvIHRoZSBwcm9qZWN0aW9uIHBsYW5lLgorICAgIGZpZWxkcyA6
IHN0cmluZywgbGlzdCBvZiBzdHJpbmdzCisgICAgICAgIFRoZSBuYW1lIG9mIHRoZSBmaWVsZChz
KSB0byBiZSBwbG90dGVkLgorICAgIGNlbnRlciA6IEEgc2VxdWVuY2Ugb2YgZmxvYXRzLCBhIHN0
cmluZywgb3IgYSB0dXBsZS4KKyAgICAgICAgIFRoZSBjb29yZGluYXRlIG9mIHRoZSBjZW50ZXIg
b2YgdGhlIGltYWdlLiBJZiBzZXQgdG8gJ2MnLCAnY2VudGVyPQonIG9yCisgICAgICAgICBsZWZ0
IGJsYW5rLCB0aGUgcGxvdCBpcyBjZW50ZXJlZCBvbiB0aGUgbWlkZGxlIG9mIHRoZSBkb21haW4u
IElmID0Kc2V0IHRvCisgICAgICAgICAnbWF4JyBvciAnbScsIHRoZSBjZW50ZXIgd2lsbCBiZSBs
b2NhdGVkIGF0IHRoZSBtYXhpbXVtIG9mIHRoZQorICAgICAgICAgKCdnYXMnLCAnZGVuc2l0eScp
IGZpZWxkLiBDZW50ZXJpbmcgb24gdGhlIG1heCBvciBtaW4gb2YgYSBzcGVjaWY9CmljCisgICAg
ICAgICBmaWVsZCBpcyBzdXBwb3J0ZWQgYnkgcHJvdmlkaW5nIGEgdHVwbGUgc3VjaCBhcyAoIm1p
biIsInRlbXBlcmF0dT0KcmUiKSBvcgorICAgICAgICAgKCJtYXgiLCJkYXJrX21hdHRlcl9kZW5z
aXR5IikuIFVuaXRzIGNhbiBiZSBzcGVjaWZpZWQgYnkgcGFzc2luZyA9CmluICpjZW50ZXIqCisg
ICAgICAgICBhcyBhIHR1cGxlIGNvbnRhaW5pbmcgYSBjb29yZGluYXRlIGFuZCBzdHJpbmcgdW5p
dCBuYW1lIG9yIGJ5IHBhcz0Kc2luZworICAgICAgICAgaW4gYSBZVEFycmF5LiBJZiBhIGxpc3Qg
b3IgdW5pdGxlc3MgYXJyYXkgaXMgc3VwcGxpZWQsIGNvZGUgdW5pdHM9CiBhcmUKKyAgICAgICAg
IGFzc3VtZWQuCisgICAgd2lkdGggOiB0dXBsZSBvciBhIGZsb2F0LgorICAgICAgICAgV2lkdGgg
Y2FuIGhhdmUgZm91ciBkaWZmZXJlbnQgZm9ybWF0cyB0byBzdXBwb3J0IHdpbmRvd3Mgd2l0aCB2
YXI9CmlhYmxlCisgICAgICAgICB4IGFuZCB5IHdpZHRocy4gIFRoZXkgYXJlOgorCisgICAgICAg
ICA9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRCAgICAgPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0QKKyAgICAgICAgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV4YW1wbGUKKyAgICAgICAgID0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEICAgICA9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorICAgICAgICAgKGZsb2F0LCBzdHJpbmcp
ICAgICAgICAgICAgICAgICAgICAgICAgKDEwLCdrcGMnKQorICAgICAgICAgKChmbG9hdCwgc3Ry
aW5nKSwgKGZsb2F0LCBzdHJpbmcpKSAgICAgKCgxMCwna3BjJyksKDE1LCdrcGMnKSkKKyAgICAg
ICAgIGZsb2F0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMgorICAgICAgICAg
KGZsb2F0LCBmbG9hdCkgICAgICAgICAgICAgICAgICAgICAgICAgKDAuMiwgMC4zKQorICAgICAg
ICAgPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QgICAgID0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNECisKKyAgICAgICAgIEZvciBleGFtcGxlLCAoMTAsICdrcGMnKSByZXF1ZXN0
cyBhIHBsb3Qgd2luZG93IHRoYXQgaXMgMTAga2lsb3BhPQpyc2VjcworICAgICAgICAgd2lkZSBp
biB0aGUgeCBhbmQgeSBkaXJlY3Rpb25zLCAoKDEwLCdrcGMnKSwoMTUsJ2twYycpKSByZXF1ZXN0
cyBhCisgICAgICAgICB3aW5kb3cgdGhhdCBpcyAxMCBraWxvcGFyc2VjcyB3aWRlIGFsb25nIHRo
ZSB4IGF4aXMgYW5kIDE1CisgICAgICAgICBraWxvcGFyc2VjcyB3aWRlIGFsb25nIHRoZSB5IGF4
aXMuICBJbiB0aGUgb3RoZXIgdHdvIGV4YW1wbGVzLCBjbz0KZGUKKyAgICAgICAgIHVuaXRzIGFy
ZSBhc3N1bWVkLCBmb3IgZXhhbXBsZSAoMC4yLCAwLjMpIHJlcXVlc3RzIGEgcGxvdCB0aGF0IGhh
PQpzIGFuCisgICAgICAgICB4IHdpZHRoIG9mIDAuMiBhbmQgYSB5IHdpZHRoIG9mIDAuMyBpbiBj
b2RlIHVuaXRzLiAgSWYgdW5pdHMgYXJlCisgICAgICAgICBwcm92aWRlZCB0aGUgcmVzdWx0aW5n
IHBsb3QgYXhpcyBsYWJlbHMgd2lsbCB1c2UgdGhlIHN1cHBsaWVkIHVuaT0KdHMuCisgICAgZGVw
dGggOiBBIHR1cGxlIG9yIGEgZmxvYXQKKyAgICAgICAgIEEgdHVwbGUgY29udGFpbmluZyB0aGUg
ZGVwdGggdG8gcHJvamVjdCB0aHJvdWdoIGFuZCB0aGUgc3RyaW5nCisgICAgICAgICBrZXkgb2Yg
dGhlIHVuaXQ6ICh3aWR0aCwgJ3VuaXQnKS4gIElmIHNldCB0byBhIGZsb2F0LCBjb2RlIHVuaXRz
CisgICAgICAgICBhcmUgYXNzdW1lZAorICAgIHdlaWdodF9maWVsZCA6IHN0cmluZworICAgICAg
ICAgVGhlIG5hbWUgb2YgdGhlIHdlaWdodGluZyBmaWVsZC4gIFNldCB0byBOb25lIGZvciBubyB3
ZWlnaHQuCisgICAgaW1hZ2VfcmVzIDogYW4gaW50IG9yIDItdHVwbGUgb2YgaW50cworICAgICAg
ICBTcGVjaWZ5IHRoZSByZXNvbHV0aW9uIG9mIHRoZSByZXN1bHRpbmcgaW1hZ2UuPTIwCisgICAg
ZGVwdGhfcmVzIDogYW4gaW50PTIwCisgICAgICAgIFNwZWNpZnkgdGhlIHJlc29sdXRpb24gb2Yg
dGhlIGRlcHRoIG9mIHRoZSBwcm9qZWN0aW9uLgorICAgIG5vcnRoX3ZlY3RvciA6IGEgc2VxdWVu
Y2Ugb2YgZmxvYXRzCisgICAgICAgICBBIHZlY3RvciBkZWZpbmluZyB0aGUgJ3VwJyBkaXJlY3Rp
b24gaW4gdGhlIHBsb3QuICBUaGlzCisgICAgICAgICBvcHRpb24gc2V0cyB0aGUgb3JpZW50YXRp
b24gb2YgdGhlIHNsaWNpbmcgcGxhbmUuICBJZiBub3QKKyAgICAgICAgIHNldCwgYW4gYXJiaXRy
YXJ5IGdyaWQtYWxpZ25lZCBub3J0aC12ZWN0b3IgaXMgY2hvc2VuLgorICAgIG1ldGhvZCA6IHN0
cmluZworICAgICAgICAgVGhlIG1ldGhvZCBvZiBwcm9qZWN0aW9uLiAgVmFsaWQgbWV0aG9kcyBh
cmU6CisKKyAgICAgICAgICJpbnRlZ3JhdGUiIHdpdGggbm8gd2VpZ2h0X2ZpZWxkIHNwZWNpZmll
ZCA6IGludGVncmF0ZSB0aGUgcmVxdWVzPQp0ZWQKKyAgICAgICAgIGZpZWxkIGFsb25nIHRoZSBs
aW5lIG9mIHNpZ2h0LgorCisgICAgICAgICAiaW50ZWdyYXRlIiB3aXRoIGEgd2VpZ2h0X2ZpZWxk
IHNwZWNpZmllZCA6IHdlaWdodCB0aGUgcmVxdWVzdGVkCisgICAgICAgICBmaWVsZCBieSB0aGUg
d2VpZ2h0aW5nIGZpZWxkIGFuZCBpbnRlZ3JhdGUgYWxvbmcgdGhlIGxpbmUgb2Ygc2lnaD0KdC4K
KworICAgICAgICAgInN1bSIgOiBUaGlzIG1ldGhvZCBpcyB0aGUgc2FtZSBhcyBpbnRlZ3JhdGUs
IGV4Y2VwdCB0aGF0IGl0IGRvZXM9CiBub3QKKyAgICAgICAgIG11bHRpcGx5IGJ5IGEgcGF0aCBs
ZW5ndGggd2hlbiBwZXJmb3JtaW5nIHRoZSBpbnRlZ3JhdGlvbiwgYW5kIGlzCisgICAgICAgICBq
dXN0IGEgc3RyYWlnaHQgc3VtbWF0aW9uIG9mIHRoZSBmaWVsZCBhbG9uZyB0aGUgZ2l2ZW4gYXhp
cy4gV0FSTj0KSU5HOgorICAgICAgICAgVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGZvciB1bmlm
b3JtIHJlc29sdXRpb24gZ3JpZCBkYXRhc2V0cywgYXM9CiBvdGhlcgorICAgICAgICAgZGF0YXNl
dHMgbWF5IHJlc3VsdCBpbiB1bnBoeXNpY2FsIGltYWdlcy4KKyAgICAiIiIKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgZHMsIG5vcm1hbCwgZmllbGRzLCBjZW50ZXI9M0QnYycsIHdpZHRoPTNEKDEu
MCwgJ3VuPQppdGFyeScpLAorICAgICAgICAgICAgICAgICB3ZWlnaHRfZmllbGQ9M0ROb25lLCBp
bWFnZV9yZXM9M0Q1MTIsIGRlcHRoX3Jlcz0zRDI1NiwKKyAgICAgICAgICAgICAgICAgbm9ydGhf
dmVjdG9yPTNETm9uZSwgZGVwdGg9M0QoMS4wLCJ1bml0YXJ5IiksIG5vX2dob3N0PTNEPQpGYWxz
ZSwgbWV0aG9kPTNEJ2ludGVncmF0ZScpOgorICAgICAgICBmaWVsZHMgPTNEIGVuc3VyZV9saXN0
KGZpZWxkcykKKyAgICAgICAgY2VudGVyLCBkY2VudGVyID0zRCBkcy5jb29yZGluYXRlcy5zYW5p
dGl6ZV9jZW50ZXIoY2VudGVyLCA0KQorICAgICAgICBidWYgPTNEIHt9CisgICAgICAgIHdpZHRo
ID0zRCBkcy5jb29yZGluYXRlcy5zYW5pdGl6ZV93aWR0aChub3JtYWwsIHdpZHRoLCBkZXB0aCkK
KyAgICAgICAgd2QgPTNEIHR1cGxlKGVsLmluX3VuaXRzKCdjb2RlX2xlbmd0aCcpLnYgZm9yIGVs
IGluIHdpZHRoKQorICAgICAgICBpZiBub3QgaXRlcmFibGUoaW1hZ2VfcmVzKToKKyAgICAgICAg
ICAgIGltYWdlX3JlcyA9M0QgKGltYWdlX3JlcywgaW1hZ2VfcmVzKQorICAgICAgICByZXMgPTNE
IChpbWFnZV9yZXNbMF0sIGltYWdlX3Jlc1sxXSwgZGVwdGhfcmVzKQorICAgICAgICBmb3IgZmll
bGQgaW4gZmllbGRzOgorICAgICAgICAgICAgYnVmW2ZpZWxkXSA9M0Qgb2ZmX2F4aXNfcHJvamVj
dGlvbihkcywgY2VudGVyLCBub3JtYWwsIHdkLCByZXM9CiwgZmllbGQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub19naG9zdD0zRG5vX2dob3N0LCBub3J0
aF92ZT0KY3Rvcj0zRG5vcnRoX3ZlY3RvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1ldGhvZD0zRG1ldGhvZCwgd2VpZ2h0PTNEd2VpPQpnaHRfZmllbGQp
LnN3YXBheGVzKDAsIDEpCisgICAgICAgIGNlbnRlciA9M0QgZHMuYXJyKFswLjBdICogMiwgJ2Nv
ZGVfbGVuZ3RoJykKKyAgICAgICAgdywgbm90X2FuX2ZyYiA9M0QgY29uc3RydWN0X2ltYWdlKGRz
LCBub3JtYWwsIGJ1ZiwgY2VudGVyLCB3aWR0aD0KPTNEd2lkdGgsIGltYWdlX3Jlcz0zRGltYWdl
X3JlcykKKyAgICAgICAgc3VwZXIoRklUU09mZkF4aXNQcm9qZWN0aW9uLCBzZWxmKS5fX2luaXRf
XyhidWYsIGZpZWxkcz0zRGZpZWxkcywgPQp3Y3M9M0R3KQoKZGlmZiAtciBjOTg1Mjc5NGUzY2Zi
YWU5MTZmZDBiY2JhMzBiN2NkM2I3NDkyZGM0IC1yIDA4NDdlZWYzMDgxMDk4NTUxZGY5ZTkxPQo5
ODkxZTI2ZGUyYjI4OTA5YyB5dC91dGlsaXRpZXMvb25fZGVtYW5kX2ltcG9ydHMucHkKLS0tIGEv
eXQvdXRpbGl0aWVzL29uX2RlbWFuZF9pbXBvcnRzLnB5CisrKyBiL3l0L3V0aWxpdGllcy9vbl9k
ZW1hbmRfaW1wb3J0cy5weQpAQCAtMTQyLDUgKzE0MiwxNiBAQAogICAgICAgICAgICAgICAgIHNw
ZWNpYWwgPTNEIE5vdEFNb2R1bGUoc2VsZi5fbmFtZSkKICAgICAgICAgICAgIHNlbGYuX3NwZWNp
YWwgPTNEIHNwZWNpYWwKICAgICAgICAgcmV0dXJuIHNlbGYuX3NwZWNpYWwKKyAgID0yMAorICAg
IF9zaWduYWwgPTNEIE5vbmUKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc2lnbmFsKHNlbGYpOgor
ICAgICAgICBpZiBzZWxmLl9zaWduYWwgaXMgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAg
ICAgICAgICAgICBpbXBvcnQgc2NpcHkuc2lnbmFsIGFzIHNpZ25hbAorICAgICAgICAgICAgZXhj
ZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgICAgIHNpZ25hbCA9M0QgTm90QU1vZHVsZShz
ZWxmLl9uYW1lKQorICAgICAgICAgICAgc2VsZi5fc2lnbmFsID0zRCBzaWduYWwKKyAgICAgICAg
cmV0dXJuIHNlbGYuX3NpZ25hbAo9MjAKLV9zY2lweSA9M0Qgc2NpcHlfaW1wb3J0cygpClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorX3NjaXB5ID0zRCBzY2lweV9pbXBvcnRzKCkKCmRpZmYg
LXIgYzk4NTI3OTRlM2NmYmFlOTE2ZmQwYmNiYTMwYjdjZDNiNzQ5MmRjNCAtciAwODQ3ZWVmMzA4
MTA5ODU1MWRmOWU5MT0KOTg5MWUyNmRlMmIyODkwOWMgeXQvdXRpbGl0aWVzL3Rlc3RzL3Rlc3Rf
Zml0c19pbWFnZS5weQotLS0gL2Rldi9udWxsCisrKyBiL3l0L3V0aWxpdGllcy90ZXN0cy90ZXN0
X2ZpdHNfaW1hZ2UucHkKQEAgLTAsMCArMSwxMjggQEAKKyIiIgorVW5pdCB0ZXN0IEZJVFMgaW1h
Z2UgY3JlYXRpb24gaW4geXQuCisKKworCisiIiIKKworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0K
KyMgQ29weXJpZ2h0IChjKSAyMDEzLCB5dCBEZXZlbG9wbWVudCBUZWFtLgorIworIyBEaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgorIworIyBU
aGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3
aXRoIHRoaXMgc29mdHc9CmFyZS4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisKK2ltcG9ydCB0
ZW1wZmlsZQoraW1wb3J0IG9zCitpbXBvcnQgbnVtcHkgYXMgbnAKK2ltcG9ydCBzaHV0aWwKK2Zy
b20geXQudGVzdGluZyBpbXBvcnQgZmFrZV9yYW5kb21fZHMKK2Zyb20geXQuY29udmVuaWVuY2Ug
aW1wb3J0IGxvYWQKK2Zyb20gbnVtcHkudGVzdGluZyBpbXBvcnQgXAorICAgIGFzc2VydF9lcXVh
bAorZnJvbSB5dC51dGlsaXRpZXMuZml0c19pbWFnZSBpbXBvcnQgXAorICAgIEZJVFNJbWFnZURh
dGEsIEZJVFNQcm9qZWN0aW9uLCBcCisgICAgRklUU1NsaWNlLCBGSVRTT2ZmQXhpc1NsaWNlLCBc
CisgICAgRklUU09mZkF4aXNQcm9qZWN0aW9uLCBcCisgICAgYXNzZXJ0X3NhbWVfd2NzCitmcm9t
IHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1lcmEgaW1wb3J0IFwKKyAgICBv
ZmZfYXhpc19wcm9qZWN0aW9uCisKK2RlZiB0ZXN0X2ZpdHNfaW1hZ2UoKToKKyAgICB0bXBkaXIg
PTNEIHRlbXBmaWxlLm1rZHRlbXAoKQorICAgIGN1cmRpciA9M0Qgb3MuZ2V0Y3dkKCkKKyAgICBv
cy5jaGRpcih0bXBkaXIpCisKKyAgICBmaWVsZHMgPTNEICgiZGVuc2l0eSIsICJ0ZW1wZXJhdHVy
ZSIpCisgICAgdW5pdHMgPTNEICgnZy9jbSoqMycsICdLJywpCisgICAgZHMgPTNEIGZha2VfcmFu
ZG9tX2RzKDY0LCBmaWVsZHM9M0RmaWVsZHMsIHVuaXRzPTNEdW5pdHMsIG5wcm9jcz0zRDE2LAor
ICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoX3VuaXQ9M0QxMDAuMCkKKworICAgIHByaiA9
M0QgZHMucHJvaigiZGVuc2l0eSIsIDIpCisgICAgcHJqX2ZyYiA9M0QgcHJqLnRvX2ZyYigoMC41
LCAidW5pdGFyeSIpLCAxMjgpCisKKyAgICBmaWQxID0zRCBGSVRTSW1hZ2VEYXRhKHByal9mcmIs
IGZpZWxkcz0zRFsiZGVuc2l0eSIsInRlbXBlcmF0dXJlIl0sIHVuPQppdHM9M0QiY20iKQorICAg
IGZpdHNfcHJqID0zRCBGSVRTUHJvamVjdGlvbihkcywgInoiLCBbImRlbnNpdHkiLCJ0ZW1wZXJh
dHVyZSJdLCBpbWFnZV89CnJlcz0zRDEyOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHdpZHRoPTNEKDAuNSwidW5pdGFyeSIpKQorCisgICAgeWllbGQgYXNzZXJ0X2VxdWFsLCBmaWQx
LmdldF9kYXRhKCJkZW5zaXR5IiksIGZpdHNfcHJqLmdldF9kYXRhKCJkZW5zaT0KdHkiKQorICAg
IHlpZWxkIGFzc2VydF9lcXVhbCwgZmlkMS5nZXRfZGF0YSgidGVtcGVyYXR1cmUiKSwgZml0c19w
cmouZ2V0X2RhdGEoInQ9CmVtcGVyYXR1cmUiKQorCisgICAgZmlkMS53cml0ZXRvKCJmaWQxLmZp
dHMiLCBjbG9iYmVyPTNEVHJ1ZSkKKyAgICBuZXdfZmlkMSA9M0QgRklUU0ltYWdlRGF0YS5mcm9t
X2ZpbGUoImZpZDEuZml0cyIpCisKKyAgICB5aWVsZCBhc3NlcnRfZXF1YWwsIGZpZDEuZ2V0X2Rh
dGEoImRlbnNpdHkiKSwgbmV3X2ZpZDEuZ2V0X2RhdGEoImRlbnNpPQp0eSIpCisgICAgeWllbGQg
YXNzZXJ0X2VxdWFsLCBmaWQxLmdldF9kYXRhKCJ0ZW1wZXJhdHVyZSIpLCBuZXdfZmlkMS5nZXRf
ZGF0YSgidD0KZW1wZXJhdHVyZSIpCisKKyAgICBkczIgPTNEIGxvYWQoImZpZDEuZml0cyIpCisg
ICAgZHMyLmluZGV4CisKKyAgICBhc3NlcnQgKCJmaXRzIiwiZGVuc2l0eSIpIGluIGRzMi5maWVs
ZF9saXN0CisgICAgYXNzZXJ0ICgiZml0cyIsInRlbXBlcmF0dXJlIikgaW4gZHMyLmZpZWxkX2xp
c3QKKworICAgIGR3X2NtID0zRCBkczIuZG9tYWluX3dpZHRoLmluX3VuaXRzKCJjbSIpCisKKyAg
ICBhc3NlcnQgZHdfY21bMF0udiA9M0Q9M0QgNTAuCisgICAgYXNzZXJ0IGR3X2NtWzFdLnYgPTNE
PTNEIDUwLgorCisgICAgc2xjID0zRCBkcy5zbGljZSgyLCAwLjUpCisgICAgc2xjX2ZyYiA9M0Qg
c2xjLnRvX2ZyYigoMC41LCAidW5pdGFyeSIpLCAxMjgpCisKKyAgICBmaWQyID0zRCBGSVRTSW1h
Z2VEYXRhKHNsY19mcmIsIGZpZWxkcz0zRFsiZGVuc2l0eSIsInRlbXBlcmF0dXJlIl0sIHVuPQpp
dHM9M0QiY20iKQorICAgIGZpdHNfc2xjID0zRCBGSVRTU2xpY2UoZHMsICJ6IiwgWyJkZW5zaXR5
IiwidGVtcGVyYXR1cmUiXSwgaW1hZ2VfcmVzPQo9M0QxMjgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgd2lkdGg9M0QoMC41LCJ1bml0YXJ5IikpCisKKyAgICB5aWVsZCBhc3NlcnRfZXF1YWws
IGZpZDIuZ2V0X2RhdGEoImRlbnNpdHkiKSwgZml0c19zbGMuZ2V0X2RhdGEoImRlbnNpPQp0eSIp
CisgICAgeWllbGQgYXNzZXJ0X2VxdWFsLCBmaWQyLmdldF9kYXRhKCJ0ZW1wZXJhdHVyZSIpLCBm
aXRzX3NsYy5nZXRfZGF0YSgidD0KZW1wZXJhdHVyZSIpCisKKyAgICBkZW5zX2ltZyA9M0QgZmlk
Mi5wb3AoImRlbnNpdHkiKQorICAgIHRlbXBfaW1nID0zRCBmaWQyLnBvcCgidGVtcGVyYXR1cmUi
KQorCisgICAgIyBUaGlzIGFscmVhZHkgaGFzIHNvbWUgYXNzZXJ0aW9ucyBpbiBpdCwgc28gd2Ug
ZG9uJ3QgbmVlZCB0byBkbyBhbnl0aD0KaW5nCisgICAgIyB3aXRoIGl0IG90aGVyIGNhbiBqdXN0
IG1ha2Ugb25lCisgICAgZmlkX2NvbWIgPTNEIEZJVFNJbWFnZURhdGEuZnJvbV9pbWFnZXMoW2Rl
bnNfaW1nLCB0ZW1wX2ltZ10pCisKKyAgICBjdXQgPTNEIGRzLmN1dHRpbmcoWzAuMSwgMC4yLCAt
MC45XSwgWzAuNSwgMC40MiwgMC42XSkKKyAgICBjdXRfZnJiID0zRCBjdXQudG9fZnJiKCgwLjUs
ICJ1bml0YXJ5IiksIDEyOCkKKworICAgIGZpZDMgPTNEIEZJVFNJbWFnZURhdGEoY3V0X2ZyYiwg
ZmllbGRzPTNEWyJkZW5zaXR5IiwidGVtcGVyYXR1cmUiXSwgdW49Cml0cz0zRCJjbSIpCisgICAg
Zml0c19jdXQgPTNEIEZJVFNPZmZBeGlzU2xpY2UoZHMsIFswLjEsIDAuMiwgLTAuOV0sIFsiZGVu
c2l0eSIsInRlbXBlcj0KYXR1cmUiXSw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW1hZ2VfcmVzPTNEMTI4LCBjZW50ZXI9M0RbMC41LCAwLjQyLCAwLjZdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0zRCgwLjUsInVuaXRhcnkiKSkKKworICAgIHlp
ZWxkIGFzc2VydF9lcXVhbCwgZmlkMy5nZXRfZGF0YSgiZGVuc2l0eSIpLCBmaXRzX2N1dC5nZXRf
ZGF0YSgiZGVuc2k9CnR5IikKKyAgICB5aWVsZCBhc3NlcnRfZXF1YWwsIGZpZDMuZ2V0X2RhdGEo
InRlbXBlcmF0dXJlIiksIGZpdHNfY3V0LmdldF9kYXRhKCJ0PQplbXBlcmF0dXJlIikKKworICAg
IGZpZDMuY3JlYXRlX3NreV93Y3MoWzMwLiw0NS5dLCAoMS4wLCJhcmNzZWMva3BjIikpCisgICAg
ZmlkMy53cml0ZXRvKCJmaWQzLmZpdHMiLCBjbG9iYmVyPTNEVHJ1ZSkKKyAgICBuZXdfZmlkMyA9
M0QgRklUU0ltYWdlRGF0YS5mcm9tX2ZpbGUoImZpZDMuZml0cyIpCisgICAgYXNzZXJ0X3NhbWVf
d2NzKGZpZDMud2NzLCBuZXdfZmlkMy53Y3MpCisgICAgYXNzZXJ0IG5ld19maWQzLndjcy53Y3Mu
Y3VuaXRbMF0gPTNEPTNEICJkZWciCisgICAgYXNzZXJ0IG5ld19maWQzLndjcy53Y3MuY3VuaXRb
MV0gPTNEPTNEICJkZWciCisgICAgYXNzZXJ0IG5ld19maWQzLndjcy53Y3MuY3R5cGVbMF0gPTNE
PTNEICJSQS0tLVRBTiIKKyAgICBhc3NlcnQgbmV3X2ZpZDMud2NzLndjcy5jdHlwZVsxXSA9M0Q9
M0QgIkRFQy0tVEFOIgorCisgICAgYnVmID0zRCBvZmZfYXhpc19wcm9qZWN0aW9uKGRzLCBkcy5k
b21haW5fY2VudGVyLCBbMC4xLCAwLjIsIC0wLjldLD0yMAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMC41LCAxMjgsICJkZW5zaXR5Iikuc3dhcGF4ZXMoMCwgMSkKKyAgICBmaWQ0ID0z
RCBGSVRTSW1hZ2VEYXRhKGJ1ZiwgZmllbGRzPTNEImRlbnNpdHkiLCB3aWR0aD0zRDEwMC4wKQor
ICAgIGZpdHNfb2FwID0zRCBGSVRTT2ZmQXhpc1Byb2plY3Rpb24oZHMsIFswLjEsIDAuMiwgLTAu
OV0sICJkZW5zaXR5Iiw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3
aWR0aD0zRCgwLjUsInVuaXRhcnkiKSwgaW1hZ2VfcmVzPTNEPQoxMjgsPTIwCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGhfcmVzPTNEMTI4LCBkZXB0aD0zRCgwLjUs
InVuaXRhcj0KeSIpKQorCisgICAgeWllbGQgYXNzZXJ0X2VxdWFsLCBmaWQ0LmdldF9kYXRhKCJk
ZW5zaXR5IiksIGZpdHNfb2FwLmdldF9kYXRhKCJkZW5zaT0KdHkiKQorCisgICAgY3ZnID0zRCBk
cy5jb3ZlcmluZ19ncmlkKGRzLmluZGV4Lm1heF9sZXZlbCwgWzAuMjUsMC4yNSwwLjI1XSw9MjAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIFszMiwgMzIsIDMyXSwgZmllbGRzPTNEWyJkZW5z
aXR5IiwidGVtcGVyYXR1cmUiPQpdKQorICAgIGZpZDUgPTNEIEZJVFNJbWFnZURhdGEoY3ZnLCBm
aWVsZHM9M0RbImRlbnNpdHkiLCJ0ZW1wZXJhdHVyZSJdKQorICAgIGFzc2VydCBmaWQ1LmRpbWVu
c2lvbmFsaXR5ID0zRD0zRCAzCisKKyAgICBmaWQ1LnVwZGF0ZV9oZWFkZXIoImRlbnNpdHkiLCAi
dGltZSIsIDAuMSkKKyAgICBmaWQ1LnVwZGF0ZV9oZWFkZXIoImFsbCIsICJ1bml0cyIsICJjZ3Mi
KQorICAgPTIwCisgICAgYXNzZXJ0IGZpZDVbImRlbnNpdHkiXS5oZWFkZXJbInRpbWUiXSA9M0Q9
M0QgMC4xCisgICAgYXNzZXJ0IGZpZDVbInRlbXBlcmF0dXJlIl0uaGVhZGVyWyJ1bml0cyJdID0z
RD0zRCAiY2dzIgorICAgIGFzc2VydCBmaWQ1WyJkZW5zaXR5Il0uaGVhZGVyWyJ1bml0cyJdID0z
RD0zRCAiY2dzIgorICAgPTIwCisgICAgb3MuY2hkaXIoY3VyZGlyKQorICAgIHNodXRpbC5ybXRy
ZWUodG1wZGlyKQoKVGhpcyBkaWZmIGlzIHNvIGJpZyB0aGF0IHdlIG5lZWRlZCB0byB0cnVuY2F0
ZSB0aGUgcmVtYWluZGVyLgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2Nv
bW1pdHMvNzFmYjM5MTMxNjgxLwpDaGFuZ2VzZXQ6ICAgNzFmYjM5MTMxNjgxCkJyYW5jaDogICAg
ICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA2LTE5IDE5OjIw
OjUxKzAwOjAwClN1bW1hcnk6ICAgICBOYWl2ZSBpbXBsZW1lbnRhdGlvbiBvZiBmYWtlX3JhbmRv
bV9tZXNoX2RzCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIDA4NDdlZWYzMDgxMDk4NTUx
ZGY5ZTkxOTg5MWUyNmRlMmIyODkwOWMgLXIgNzFmYjM5MTMxNjgxMzg5OWY2MzM1MmQ9CjJkZTUw
MDVkYjk3MmE3ZDRmIHl0L3Rlc3RpbmcucHkKLS0tIGEveXQvdGVzdGluZy5weQorKysgYi95dC90
ZXN0aW5nLnB5CkBAIC0xOTgsNiArMTk4LDI4IEBACiAgICAgdWcgPTNEIGxvYWRfdW5pZm9ybV9n
cmlkKGRhdGEsIG5kaW1zLCBsZW5ndGhfdW5pdD0zRGxlbmd0aF91bml0LCBucHJvYz0Kcz0zRG5w
cm9jcykKICAgICByZXR1cm4gdWcKPTIwCitkZWYgZmFrZV9yYW5kb21fbWVzaF9kcyhuZWxlbXMs
IG52ZXJ0aWNlcywgbmRpbWVuc2lvbnM9M0QzLCBuc2xpY2VzPTNEMik6CisgICAgZnJvbSB5dC5m
cm9udGVuZHMuc3RyZWFtLmFwaSBpbXBvcnQgbG9hZF91bnN0cnVjdHVyZWRfbWVzaAorICAgICMg
Q3JlYXRlIEZha2UgUGFydGljbGUgRGF0YQorICAgIGRhdGEgPTNEIFtdCisgICAgZGF0YV9rZXlz
ID0zRCBbKCdnYXMnLCAnZGlmZnVzZWQnKSwKKyAgICAgICAgICAgICAgICAgKCdnYXMnLCAnY29u
dmVjdGVkJyksCisgICAgICAgICAgICAgICAgICgnZ2FzJywgJ2NvbnZfaW5kaWNhdG9yJyksCisg
ICAgICAgICAgICAgICAgICgnZ2FzJywgJ2NvbnZfbWFya2VyJyldCisKKyAgICBmb3IgXyBpbiBy
YW5nZShuc2xpY2VzKToKKyAgICAgICAgZmFrZV9kYXRhID0zRCB7fQorICAgICAgICBmb3Iga2V5
IGluIGRhdGFfa2V5czoKKyAgICAgICAgICAgIGZha2VfZGF0YVtrZXldID0zRCBucC5yYW5kb20u
cmFuZG9tX3NhbXBsZSgobmVsZW1zLCBudmVydGljZXMpKQorICAgICAgICBkYXRhLmFwcGVuZChm
YWtlX2RhdGEpCisKKyAgICBjb29yZGluYXRlcyA9M0QgbnAucmFuZG9tLnJhbmRvbV9zYW1wbGUo
KG5lbGVtcywgbmRpbWVuc2lvbnMpKQorCisgICAgY29ubmVjdGl2aXR5ID0zRCBucC5yYW5kb20u
cmFuZG9tX2ludGVnZXJzKG5lbGVtcywgc2l6ZT0zRChuZWxlbXMsIG52ZT0KcnRpY2VzKSkKKwor
ICAgIGRzID0zRCBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoKGRhdGEsIGNvbm5lY3Rpdml0eSwgY29v
cmRpbmF0ZXMpCisgICAgcmV0dXJuIGRzCisKIF9nZW9tX3RyYW5zZm9ybXMgPTNEIHsKICAgICAj
IFRoZXNlIGFyZSB0aGUgYm91bmRzIHdlIHdhbnQuICBDYXJ0ZXNpYW4gd2UganVzdCBhc3N1bWUg
Z29lcyAwIC4uIDEuCiAgICAgJ2NhcnRlc2lhbicgIDogKCAoMC4wLCAwLjAsIDAuMCksICgxLjAs
IDEuMCwgMS4wKSApLAoKZGlmZiAtciAwODQ3ZWVmMzA4MTA5ODU1MWRmOWU5MTk4OTFlMjZkZTJi
Mjg5MDljIC1yIDcxZmIzOTEzMTY4MTM4OTlmNjMzNTJkPQoyZGU1MDA1ZGI5NzJhN2Q0ZiB5dC91
dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0aWVz
L2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvcGl4
ZWxpemF0aW9uX3JvdXRpbmVzLnB5eApAQCAtNDQ2LDcgKzQ0Niw3IEBACiAgICAgY2RlZiBucC5p
bnQ2NF90IG4sIGksIGosIGssIHBpLCBwaiwgcGssIGNpLCBjaiwgY2sKICAgICBjZGVmIG5wLmlu
dDY0X3QgcHN0YXJ0WzNdLCBwZW5kWzNdCiAgICAgY2RlZiBucC5mbG9hdDY0X3QgcHBvaW50WzNd
LCBjZW50cm9pZFszXSwgaWRkc1szXSwgZGRzWzNdICMgZGRzLT5bZHgsID0KZHksIGR6XQotICAg
IGNkZWYgbnAuZmxvYXQ2NF90ICoqdmVydGljZXM9MjAKKyAgICBjZGVmIG5wLmZsb2F0NjRfdCAq
KnZlcnRpY2VzCiAgICAgY2RlZiBpbnQgbnZlcnRpY2VzID0zRCBjb25uLnNoYXBlWzFdICMgZ2V0
IHRoZSBudW1iZXIgb2YgdmVydGljZXMKICAgICBjZGVmIGludCBuZgo9MjAKQEAgLTQ2MSw3ICs0
NjEsNyBAQAogICAgIHZlcnRpY2VzID0zRCA8bnAuZmxvYXQ2NF90ICoqPiBhbGxvY2Eoc2l6ZW9m
KG5wLmZsb2F0NjRfdCAqKSAqIG52ZXJ0aWM9CmVzKQogICAgIGZvciBpIGluIHJhbmdlKG52ZXJ0
aWNlcyk6CiAgICAgICAgIHZlcnRpY2VzW2ldID0zRCA8bnAuZmxvYXQ2NF90ICo+IGFsbG9jYShz
aXplb2YobnAuZmxvYXQ2NF90KSAqIDMpCi0gICA9MjAKKwogICAgIGZvciBpIGluIHJhbmdlKDMp
OgogICAgICAgICBwTEVbaV0gPTNEIGV4dGVudHNbaV1bMF0KICAgICAgICAgcFJFW2ldID0zRCBl
eHRlbnRzW2ldWzFdCkBAIC00OTEsNiArNDkxLDcgQEAKICAgICAgICAgdXNlID0zRCAxCj0yMAog
ICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKKwogICAgICAgICAgICAgIyBDaGVjayB3aGV0aGVy
IHRoZSBlbGVtZW50IGlzIHdpdGhpbiB0aGUgcGl4ZWwgYm91bmRpbmcgYm94LCA9CmkuZS4KICAg
ICAgICAgICAgICMgd2l0aGluIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBpbWFnZQogICAgICAgICAg
ICAgaWYgUkVbaV0gPCBwTEVbaV0gb3IgTEVbaV0gPj0zRCBwUkVbaV06CgoKaHR0cHM6Ly9iaXRi
dWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvYmVjMmY4NzYwYzc2LwpDaGFuZ2VzZXQ6
ICAgYmVjMmY4NzYwYzc2CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRh
dGU6ICAgICAgICAyMDE1LTA2LTI0IDIxOjA5OjIxKzAwOjAwClN1bW1hcnk6ICAgICBVcGRhdGUg
cHl0aG9uCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgNzU5ZDg3ZTRiYmIyNTQ5ZTJiNTBh
NjA0MTNiYjFhMDM5OWY4ZDZjNyAtciBiZWMyZjg3NjBjNzYzM2QwMDIxNDc3Yz0KN2Y0OGRhYzE5
NTBmZDI2MDAgLnB5dGhvbi12ZXJzaW9uCi0tLSBhLy5weXRob24tdmVyc2lvbgorKysgYi8ucHl0
aG9uLXZlcnNpb24KQEAgLTEsMSArMSwxIEBACi0yLjcuOQorMi43LjEwCgoKaHR0cHM6Ly9iaXRi
dWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNmM1ZjY2ZTkwYjA2LwpDaGFuZ2VzZXQ6
ICAgNmM1ZjY2ZTkwYjA2CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRh
dGU6ICAgICAgICAyMDE1LTA2LTI0IDIxOjA5OjU4KzAwOjAwClN1bW1hcnk6ICAgICBNZXJnZSB1
cHN0cmVhbQpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciA3MWZiMzkxMzE2ODEzODk5ZjYz
MzUyZDJkZTUwMDVkYjk3MmE3ZDRmIC1yIDZjNWY2NmU5MGIwNjVmM2Y5OWUxZGJlPQpmYjZjMjc2
ZjE1YjYyMDJkNiB5dC9hbmFseXNpc19tb2R1bGVzL2Fic29ycHRpb25fc3BlY3RydW0vYWJzb3Jw
dGlvbl9zcGVjdHI9CnVtLnB5Ci0tLSBhL3l0L2FuYWx5c2lzX21vZHVsZXMvYWJzb3JwdGlvbl9z
cGVjdHJ1bS9hYnNvcnB0aW9uX3NwZWN0cnVtLnB5CisrKyBiL3l0L2FuYWx5c2lzX21vZHVsZXMv
YWJzb3JwdGlvbl9zcGVjdHJ1bS9hYnNvcnB0aW9uX3NwZWN0cnVtLnB5CkBAIC0yNzQsOCArMjc0
LDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnYl90aGVybWFsJzogdGhlcm1hbF9iPQpbbGl4ZWxdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWRzaGlmdCc6IGZpZWxkX2RhdGE9Clsn
cmVkc2hpZnQnXVtsaXhlbF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3ZfcGVjJzogcGVjdWxpYXJfdmVsbz0KY2l0eX0pCi0gICAgICAgICAg
ICAgICAgICAgIHBiYXIudXBkYXRlKGkpCi0gICAgICAgICAgICAgICAgcGJhci5maW5pc2goKQor
ICAgICAgICAgICAgICAgIHBiYXIudXBkYXRlKGkpCisgICAgICAgICAgICBwYmFyLmZpbmlzaCgp
Cj0yMAogICAgICAgICAgICAgZGVsIGNvbHVtbl9kZW5zaXR5LCBkZWx0YV9sYW1iZGEsIHRoZXJt
YWxfYiwgXAogICAgICAgICAgICAgICAgIGNlbnRlcl9iaW5zLCB3aWR0aF9yYXRpbywgbGVmdF9p
bmRleCwgcmlnaHRfaW5kZXgKCmRpZmYgLXIgNzFmYjM5MTMxNjgxMzg5OWY2MzM1MmQyZGU1MDA1
ZGI5NzJhN2Q0ZiAtciA2YzVmNjZlOTBiMDY1ZjNmOTllMWRiZT0KZmI2YzI3NmYxNWI2MjAyZDYg
eXQvYW5hbHlzaXNfbW9kdWxlcy9oYWxvX2FuYWx5c2lzL2hhbG9fY2FsbGJhY2tzLnB5Ci0tLSBh
L3l0L2FuYWx5c2lzX21vZHVsZXMvaGFsb19hbmFseXNpcy9oYWxvX2NhbGxiYWNrcy5weQorKysg
Yi95dC9hbmFseXNpc19tb2R1bGVzL2hhbG9fYW5hbHlzaXMvaGFsb19jYWxsYmFja3MucHkKQEAg
LTQwMCw3ICs0MDAsNyBAQAogICAgICAgICBUaGUgZmllbGQgdXNlZCBhcyB0aGUgb3ZlcmRlbnNp
dHkgZnJvbSB3aGljaCBpbnRlcnBvbGF0aW9uIGlzIGRvbmU9CiB0bz0yMAogICAgICAgICBjYWxj
dWxhdGUgdmlyaWFsIHF1YW50aXRpZXMuCiAgICAgICAgIERlZmF1bHQ6ICgiZ2FzIiwgIm92ZXJk
ZW5zaXR5IikKLSAgICBjcml0aWNhbF9kZW5zaXR5IDogZmxvYXQKKyAgICBjcml0aWNhbF9vdmVy
ZGVuc2l0eSA6IGZsb2F0CiAgICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgb3ZlcmRlbnNpdHkgYXQg
d2hpY2ggdG8gZXZhdWxhdGUgdGhlIHZpcmlhbCBxdWFudD0KaXRpZXMuID0yMAogICAgICAgICBP
dmVyZGVuc2l0eSBpcyB3aXRoIHJlc3BlY3QgdG8gdGhlIGNyaXRpY2FsIGRlbnNpdHkuCiAgICAg
ICAgIERlZmF1bHQ6IDIwMAoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9j
b21taXRzLzViZGRmMjExNzY3OC8KQ2hhbmdlc2V0OiAgIDViZGRmMjExNzY3OApCcmFuY2g6ICAg
ICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNy0wMiAxNzox
NzowNiswMDowMApTdW1tYXJ5OiAgICAgTWVyZ2UgdXBzdHJlYW0KQWZmZWN0ZWQgIzogIDYgZmls
ZXMKCmRpZmYgLXIgNmM1ZjY2ZTkwYjA2NWYzZjk5ZTFkYmVmYjZjMjc2ZjE1YjYyMDJkNiAtciA1
YmRkZjIxMTc2NzgwNTNmYzk2M2FjYz0KYTdjMmZjNjQ1NWM4OTYwNzYgeXQvZnJvbnRlbmRzL2No
b21iby9hcGkucHkKLS0tIGEveXQvZnJvbnRlbmRzL2Nob21iby9hcGkucHkKKysrIGIveXQvZnJv
bnRlbmRzL2Nob21iby9hcGkucHkKQEAgLTMzLDcgKzMzLDYgQEAKICAgICBQbHV0b0ZpZWxkSW5m
bwo9MjAKIGZyb20gLmlvIGltcG9ydCBcCi0gICAgSU9IYW5kbGVyQ2hvbWJvSERGNSxcCi0gICAg
SU9IYW5kbGVyUGx1dG9IREY1CisgICAgSU9IYW5kbGVyQ2hvbWJvSERGNQo9MjAKIGZyb20gLiBp
bXBvcnQgdGVzdHMKCmRpZmYgLXIgNmM1ZjY2ZTkwYjA2NWYzZjk5ZTFkYmVmYjZjMjc2ZjE1YjYy
MDJkNiAtciA1YmRkZjIxMTc2NzgwNTNmYzk2M2FjYz0KYTdjMmZjNjQ1NWM4OTYwNzYgeXQvZnJv
bnRlbmRzL2Nob21iby9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2Nob21i
by9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2Nob21iby9kYXRhX3N0cnVj
dHVyZXMucHkKQEAgLTQ3LDYgKzQ3LDcgQEAKIGNsYXNzIENob21ib0dyaWQoQU1SR3JpZFBhdGNo
KToKICAgICBfaWRfb2Zmc2V0ID0zRCAwCiAgICAgX19zbG90c19fID0zRCBbIl9sZXZlbF9pZCIs
ICJzdG9wX2luZGV4Il0KKwogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpZCwgaW5kZXgsIGxldmVs
LCBzdGFydCwgc3RvcCk6CiAgICAgICAgIEFNUkdyaWRQYXRjaC5fX2luaXRfXyhzZWxmLCBpZCwg
ZmlsZW5hbWUgPTNEIGluZGV4LmluZGV4X2ZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kZXggPTNEIGluZGV4KQpAQCAtOTksMTIgKzEwMCw2IEBACiAgICAgICAgIHNl
bGYuZG9tYWluX2xlZnRfZWRnZSA9M0QgZHMuZG9tYWluX2xlZnRfZWRnZQogICAgICAgICBzZWxm
LmRvbWFpbl9yaWdodF9lZGdlID0zRCBkcy5kb21haW5fcmlnaHRfZWRnZQogICAgICAgICBzZWxm
LmRhdGFzZXRfdHlwZSA9M0QgZGF0YXNldF90eXBlCi0KLSAgICAgICAgaWYgZHMuZGltZW5zaW9u
YWxpdHkgPTNEPTNEIDE6Ci0gICAgICAgICAgICBzZWxmLmRhdGFzZXRfdHlwZSA9M0QgImNob21i
bzFkX2hkZjUiCi0gICAgICAgIGlmIGRzLmRpbWVuc2lvbmFsaXR5ID0zRD0zRCAyOgotICAgICAg
ICAgICAgc2VsZi5kYXRhc2V0X3R5cGUgPTNEICJjaG9tYm8yZF9oZGY1IgotCiAgICAgICAgIHNl
bGYuZmllbGRfaW5kZXhlcyA9M0Qge30KICAgICAgICAgc2VsZi5kYXRhc2V0ID0zRCB3ZWFrcmVm
LnByb3h5KGRzKQogICAgICAgICAjIGZvciBub3csIHRoZSBpbmRleCBmaWxlIGlzIHRoZSBkYXRh
c2V0IQpAQCAtMTE0LDcgKzEwOSw3IEBACiAgICAgICAgIHNlbGYuX2hhbmRsZSA9M0QgZHMuX2hh
bmRsZQo9MjAKICAgICAgICAgdHIgPTNEIHNlbGYuX2hhbmRsZVsnQ2hvbWJvX2dsb2JhbCddLmF0
dHJzLmdldCgidGVzdFJlYWwiLCAiZmxvYXQzPQoyIikKLSAgICAgICAgICAgPTIwCisKICAgICAg
ICAgc2VsZi5fbGV2ZWxzID0zRCBba2V5IGZvciBrZXkgaW4gc2VsZi5faGFuZGxlLmtleXMoKSBp
ZiBrZXkuc3RhcnRzPQp3aXRoKCdsZXZlbCcpXQogICAgICAgICBHcmlkSW5kZXguX19pbml0X18o
c2VsZiwgZHMsIGRhdGFzZXRfdHlwZSkKPTIwCkBAIC0yNTYsMTcgKzI1MSwxMCBAQAogICAgICAg
ICBzZWxmLl9oYW5kbGUgPTNEIEhERjVGaWxlSGFuZGxlcihmaWxlbmFtZSkKICAgICAgICAgc2Vs
Zi5kYXRhc2V0X3R5cGUgPTNEIGRhdGFzZXRfdHlwZQo9MjAKLSAgICAgICAgIyBsb29rIHVwIHRo
ZSBkaW1lbnNpb25hbGl0eSBvZiB0aGUgZGF0YXNldAotICAgICAgICBEID0zRCBzZWxmLl9oYW5k
bGVbJ0Nob21ib19nbG9iYWwvJ10uYXR0cnNbJ1NwYWNlRGltJ10KLSAgICAgICAgaWYgRCA9M0Q9
M0QgMToKLSAgICAgICAgICAgIHNlbGYuZGF0YXNldF90eXBlID0zRCAnY2hvbWJvMWRfaGRmNScK
LSAgICAgICAgaWYgRCA9M0Q9M0QgMjoKLSAgICAgICAgICAgIHNlbGYuZGF0YXNldF90eXBlID0z
RCAnY2hvbWJvMmRfaGRmNScKLQogICAgICAgICBzZWxmLmdlb21ldHJ5ID0zRCAiY2FydGVzaWFu
IgogICAgICAgICBzZWxmLmluaV9maWxlbmFtZSA9M0QgaW5pX2ZpbGVuYW1lCiAgICAgICAgIHNl
bGYuZnVsbHBsb3RkaXIgPTNEIG9zLnBhdGguYWJzcGF0aChmaWxlbmFtZSkKLSAgICAgICAgRGF0
YXNldC5fX2luaXRfXyhzZWxmLGZpbGVuYW1lLCBzZWxmLmRhdGFzZXRfdHlwZSwKKyAgICAgICAg
RGF0YXNldC5fX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgc2VsZi5kYXRhc2V0X3R5cGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0R1bml0c19vdmVycmlkZSkKICAg
ICAgICAgc2VsZi5zdG9yYWdlX2ZpbGVuYW1lID0zRCBzdG9yYWdlX2ZpbGVuYW1lCiAgICAgICAg
IHNlbGYuY29zbW9sb2dpY2FsX3NpbXVsYXRpb24gPTNEIEZhbHNlCkBAIC0zOTgsNyArMzg2LDcg
QEAKPTIwCiBjbGFzcyBQbHV0b0hpZXJhcmNoeShDaG9tYm9IaWVyYXJjaHkpOgo9MjAKLSAgICBk
ZWYgX19pbml0X18oc2VsZiwgZHMsIGRhdGFzZXRfdHlwZT0zRCJwbHV0b19jaG9tYm9fbmF0aXZl
Iik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzLCBkYXRhc2V0X3R5cGU9M0QiY2hvbWJvX2hk
ZjUiKToKICAgICAgICAgQ2hvbWJvSGllcmFyY2h5Ll9faW5pdF9fKHNlbGYsIGRzLCBkYXRhc2V0
X3R5cGUpCj0yMAogICAgIGRlZiBfcGFyc2VfaW5kZXgoc2VsZik6CkBAIC00NTYsNyArNDQ0LDcg
QEAKICAgICBfaW5kZXhfY2xhc3MgPTNEIFBsdXRvSGllcmFyY2h5CiAgICAgX2ZpZWxkX2luZm9f
Y2xhc3MgPTNEIFBsdXRvRmllbGRJbmZvCj0yMAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxl
bmFtZSwgZGF0YXNldF90eXBlPTNEJ3BsdXRvX2Nob21ib19uYXRpdmUnLAorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNldF90eXBlPTNEJ2Nob21ib19oZGY1JywKICAgICAg
ICAgICAgICAgICAgc3RvcmFnZV9maWxlbmFtZSA9M0QgTm9uZSwgaW5pX2ZpbGVuYW1lID0zRCBO
b25lLAogICAgICAgICAgICAgICAgICB1bml0c19vdmVycmlkZT0zRE5vbmUpOgo9MjAKCmRpZmYg
LXIgNmM1ZjY2ZTkwYjA2NWYzZjk5ZTFkYmVmYjZjMjc2ZjE1YjYyMDJkNiAtciA1YmRkZjIxMTc2
NzgwNTNmYzk2M2FjYz0KYTdjMmZjNjQ1NWM4OTYwNzYgeXQvZnJvbnRlbmRzL2Nob21iby9maWVs
ZHMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2Nob21iby9maWVsZHMucHkKKysrIGIveXQvZnJvbnRl
bmRzL2Nob21iby9maWVsZHMucHkKQEAgLTUxLDggKzUxLDExIEBACiAgICAgICAgICgiWC1tYWdu
ZmllbGQiLCAoYl91bml0cywgWyJtYWduZXRpY19maWVsZF94Il0sIE5vbmUpKSwKICAgICAgICAg
KCJZLW1hZ25maWVsZCIsIChiX3VuaXRzLCBbIm1hZ25ldGljX2ZpZWxkX3kiXSwgTm9uZSkpLAog
ICAgICAgICAoIlotbWFnbmZpZWxkIiwgKGJfdW5pdHMsIFsibWFnbmV0aWNfZmllbGRfeiJdLCBO
b25lKSksCi0gICAgKQotCisgICAgICAgICgiZGlyZWN0cmFkLWRlZHQtZGVuc2l0eSIsIChlZGVu
X3VuaXRzLCBbImRpcmVjdHJhZC1kZWR0LWRlbnNpdHkiXT0KLCBOb25lKSksCisgICAgICAgICgi
ZGlyZWN0cmFkLWRweGR0LWRlbnNpdHkiLCAobW9tX3VuaXRzLCBbImRpcmVjdHJhZC1kcHhkdC1k
ZW5zaXR5Ij0KXSwgTm9uZSkpLAorICAgICAgICAoImRpcmVjdHJhZC1kcHlkdC1kZW5zaXR5Iiwg
KG1vbV91bml0cywgWyJkaXJlY3RyYWQtZHB5ZHQtZGVuc2l0eSI9Cl0sIE5vbmUpKSwKKyAgICAg
ICAgKCJkaXJlY3RyYWQtZHB6ZHQtZGVuc2l0eSIsIChtb21fdW5pdHMsIFsiZGlyZWN0cmFkLWRw
emR0LWRlbnNpdHkiPQpdLCBOb25lKSksCisgICAgICAgICkKICAgICBrbm93bl9wYXJ0aWNsZV9m
aWVsZHMgPTNEICgKICAgICAgICAgKCJwYXJ0aWNsZV9tYXNzIiwgKCJjb2RlX21hc3MiLCBbXSwg
Tm9uZSkpLAogICAgICAgICAoInBhcnRpY2xlX3Bvc2l0aW9uX3giLCAoImNvZGVfbGVuZ3RoIiwg
W10sIE5vbmUpKSwKCmRpZmYgLXIgNmM1ZjY2ZTkwYjA2NWYzZjk5ZTFkYmVmYjZjMjc2ZjE1YjYy
MDJkNiAtciA1YmRkZjIxMTc2NzgwNTNmYzk2M2FjYz0KYTdjMmZjNjQ1NWM4OTYwNzYgeXQvZnJv
bnRlbmRzL2Nob21iby9pby5weQotLS0gYS95dC9mcm9udGVuZHMvY2hvbWJvL2lvLnB5CisrKyBi
L3l0L2Zyb250ZW5kcy9jaG9tYm8vaW8ucHkKQEAgLTc1LDcgKzc1LDcgQEAKICAgICAgICAgZmll
bGRfZGljdCA9M0Qge30KICAgICAgICAgZm9yIGtleSwgdmFsIGluIHNlbGYuX2hhbmRsZS5hdHRy
cy5pdGVtcygpOgogICAgICAgICAgICAgaWYga2V5LnN0YXJ0c3dpdGgoJ2NvbXBvbmVudF8nKToK
LSAgICAgICAgICAgICAgICBjb21wX251bWJlciA9M0QgaW50KHJlLm1hdGNoKCdjb21wb25lbnRf
KFxkKScsIGtleSkuZ3JvdXBzPQooKVswXSkKKyAgICAgICAgICAgICAgICBjb21wX251bWJlciA9
M0QgaW50KHJlLm1hdGNoKCdjb21wb25lbnRfKFxkKyknLCBrZXkpLmdyb3VwPQpzKClbMF0pCiAg
ICAgICAgICAgICAgICAgZmllbGRfZGljdFt2YWxdID0zRCBjb21wX251bWJlcgogICAgICAgICBz
ZWxmLl9maWVsZF9kaWN0ID0zRCBmaWVsZF9kaWN0CiAgICAgICAgIHJldHVybiBzZWxmLl9maWVs
ZF9kaWN0CkBAIC05MywxNSArOTMsMTEgQEAKICAgICAgICAgc2VsZi5fcGFydGljbGVfZmllbGRf
aW5kZXggPTNEIGZpZWxkX2RpY3QKICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnRpY2xlX2ZpZWxk
X2luZGV4Cj0yMAotICAgIGRlZiBfcmVhZF9maWVsZF9uYW1lcyhzZWxmLCBncmlkKToKLSAgICAg
ICAgbmNvbXAgPTNEIGludChzZWxmLl9oYW5kbGUuYXR0cnNbJ251bV9jb21wb25lbnRzJ10pCi0g
ICAgICAgIGZucyA9M0QgW2NbMV0gZm9yIGMgaW4gZi5hdHRycy5pdGVtcygpWy1uY29tcC0xOi0x
XV0KLQogICAgIGRlZiBfcmVhZF9kYXRhKHNlbGYsIGdyaWQsIGZpZWxkKToKICAgICAgICAgbHN0
cmluZyA9M0QgJ2xldmVsXyVpJyAlIGdyaWQuTGV2ZWwKICAgICAgICAgbGV2ID0zRCBzZWxmLl9o
YW5kbGVbbHN0cmluZ10KICAgICAgICAgZGltcyA9M0QgZ3JpZC5BY3RpdmVEaW1lbnNpb25zCi0g
ICAgICAgIHNoYXBlID0zRCBncmlkLkFjdGl2ZURpbWVuc2lvbnMgKyAyKnNlbGYuZ2hvc3QKKyAg
ICAgICAgc2hhcGUgPTNEIGRpbXMgKyAyKnNlbGYuZ2hvc3QKICAgICAgICAgYm94c2l6ZSA9M0Qg
c2hhcGUucHJvZCgpCj0yMAogICAgICAgICBpZiBzZWxmLl9vZmZzZXRzIGlzIG5vdCBOb25lOgpA
QCAtMTEyLDcgKzEwOCw3IEBACiAgICAgICAgIHN0b3AgPTNEIHN0YXJ0ICsgYm94c2l6ZQogICAg
ICAgICBkYXRhID0zRCBsZXZbc2VsZi5fZGF0YV9zdHJpbmddW3N0YXJ0OnN0b3BdCiAgICAgICAg
IGRhdGFfbm9fZ2hvc3QgPTNEIGRhdGEucmVzaGFwZShzaGFwZSwgb3JkZXI9M0QnRicpCi0gICAg
ICAgIGdob3N0X3NsaWNlID0zRCBbc2xpY2UoZywgZC1nLCBOb25lKSBmb3IgZywgZCBpbiB6aXAo
c2VsZi5naG9zdCwgZz0KcmlkLkFjdGl2ZURpbWVuc2lvbnMpXQorICAgICAgICBnaG9zdF9zbGlj
ZSA9M0QgW3NsaWNlKGcsIGQtZywgTm9uZSkgZm9yIGcsIGQgaW4gemlwKHNlbGYuZ2hvc3QsIGQ9
CmltcyldCiAgICAgICAgIGdob3N0X3NsaWNlID0zRCBnaG9zdF9zbGljZVswOnNlbGYuZGltXQog
ICAgICAgICByZXR1cm4gZGF0YV9ub19naG9zdFtnaG9zdF9zbGljZV0KPTIwCkBAIC0yMDEsNDMg
KzE5Nyw2IEBACiAgICAgICAgIHJldHVybiBucC5hc2FycmF5KGRhdGFbZmllbGRfaW5kZXg6Oml0
ZW1zX3Blcl9wYXJ0aWNsZV0sIGR0eXBlPTNEbj0KcC5mbG9hdDY0LCBvcmRlcj0zRCdGJykKPTIw
Cj0yMAotY2xhc3MgSU9IYW5kbGVyQ2hvbWJvMkRIREY1KElPSGFuZGxlckNob21ib0hERjUpOgot
ICAgIF9kYXRhc2V0X3R5cGUgPTNEICJjaG9tYm8yZF9oZGY1IgotICAgIF9vZmZzZXRfc3RyaW5n
ID0zRCAnZGF0YTpvZmZzZXRzPTNEMCcKLSAgICBfZGF0YV9zdHJpbmcgPTNEICdkYXRhOmRhdGF0
eXBlPTNEMCcKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcywgKmFyZ3MsICoqa3dhcmdzKToK
LSAgICAgICAgQmFzZUlPSGFuZGxlci5fX2luaXRfXyhzZWxmLCBkcywgKmFyZ3MsICoqa3dhcmdz
KQotICAgICAgICBzZWxmLmRzID0zRCBkcwotICAgICAgICBzZWxmLl9oYW5kbGUgPTNEIGRzLl9o
YW5kbGUKLSAgICAgICAgc2VsZi5kaW0gPTNEIDIKLSAgICAgICAgc2VsZi5fcmVhZF9naG9zdF9p
bmZvKCkKLQotCi1jbGFzcyBJT0hhbmRsZXJDaG9tYm8xREhERjUoSU9IYW5kbGVyQ2hvbWJvSERG
NSk6Ci0gICAgX2RhdGFzZXRfdHlwZSA9M0QgImNob21ibzFkX2hkZjUiCi0gICAgX29mZnNldF9z
dHJpbmcgPTNEICdkYXRhOm9mZnNldHM9M0QwJwotICAgIF9kYXRhX3N0cmluZyA9M0QgJ2RhdGE6
ZGF0YXR5cGU9M0QwJwotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzLCAqYXJncywgKiprd2Fy
Z3MpOgotICAgICAgICBCYXNlSU9IYW5kbGVyLl9faW5pdF9fKHNlbGYsIGRzLCAqYXJncywgKipr
d2FyZ3MpCi0gICAgICAgIHNlbGYuZHMgPTNEIGRzCi0gICAgICAgIHNlbGYuZGltID0zRCAxCi0g
ICAgICAgIHNlbGYuX2hhbmRsZSA9M0QgZHMuX2hhbmRsZQotICAgICAgICBzZWxmLl9yZWFkX2do
b3N0X2luZm8oKQotCi0KLWNsYXNzIElPSGFuZGxlclBsdXRvSERGNShJT0hhbmRsZXJDaG9tYm9I
REY1KToKLSAgICBfZGF0YXNldF90eXBlID0zRCAicGx1dG9fY2hvbWJvX25hdGl2ZSIKLSAgICBf
b2Zmc2V0X3N0cmluZyA9M0QgJ2RhdGE6b2Zmc2V0cz0zRDAnCi0gICAgX2RhdGFfc3RyaW5nID0z
RCAnZGF0YTpkYXRhdHlwZT0zRDAnCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgZHMsICphcmdz
LCAqKmt3YXJncyk6Ci0gICAgICAgIEJhc2VJT0hhbmRsZXIuX19pbml0X18oc2VsZiwgZHMsICph
cmdzLCAqKmt3YXJncykKLSAgICAgICAgc2VsZi5kcyA9M0QgZHMKLSAgICAgICAgc2VsZi5faGFu
ZGxlID0zRCBkcy5faGFuZGxlCi0KLQogZGVmIHBhcnNlX29yaW9uX3NpbmtzKGZuKToKICAgICAn
JycKPTIwCgpkaWZmIC1yIDZjNWY2NmU5MGIwNjVmM2Y5OWUxZGJlZmI2YzI3NmYxNWI2MjAyZDYg
LXIgNWJkZGYyMTE3Njc4MDUzZmM5NjNhY2M9CmE3YzJmYzY0NTVjODk2MDc2IHl0L2dlb21ldHJ5
L2dyaWRfZ2VvbWV0cnlfaGFuZGxlci5weQotLS0gYS95dC9nZW9tZXRyeS9ncmlkX2dlb21ldHJ5
X2hhbmRsZXIucHkKKysrIGIveXQvZ2VvbWV0cnkvZ3JpZF9nZW9tZXRyeV9oYW5kbGVyLnB5CkBA
IC0yODYsNyArMjg2LDcgQEAKICAgICAgICAgICAgIHJldHVybiBnLmZpbGVuYW1lCiAgICAgICAg
IGlmIGRvYmouX3R5cGVfbmFtZSA9M0Q9M0QgImdyaWQiOgogICAgICAgICAgICAgZG9iai5fY2h1
bmtfaW5mbyA9M0QgbnAuZW1wdHkoMSwgZHR5cGU9M0Qnb2JqZWN0JykKLSAgICAgICAgICAgIGRv
YmouX2NodW5rX2luZm9bMF0gPTNEIGRvYmoKKyAgICAgICAgICAgIGRvYmouX2NodW5rX2luZm9b
MF0gPTNEIHdlYWtyZWYucHJveHkoZG9iaikKICAgICAgICAgZWxpZiBnZXRhdHRyKGRvYmosICJf
Z3JpZHMiLCBOb25lKSBpcyBOb25lOgogICAgICAgICAgICAgZ2kgPTNEIGRvYmouc2VsZWN0b3Iu
c2VsZWN0X2dyaWRzKHNlbGYuZ3JpZF9sZWZ0X2VkZ2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZ3JpZF9yaWdodF9lZGdlLAoKZGlmZiAtciA2YzVm
NjZlOTBiMDY1ZjNmOTllMWRiZWZiNmMyNzZmMTViNjIwMmQ2IC1yIDViZGRmMjExNzY3ODA1M2Zj
OTYzYWNjPQphN2MyZmM2NDU1Yzg5NjA3NiB5dC92aXN1YWxpemF0aW9uL3Bsb3Rfd2luZG93LnB5
Ci0tLSBhL3l0L3Zpc3VhbGl6YXRpb24vcGxvdF93aW5kb3cucHkKKysrIGIveXQvdmlzdWFsaXph
dGlvbi9wbG90X3dpbmRvdy5weQpAQCAtNTM0LDcgKzUzNCw3IEBACj0yMAogICAgICAgICBpZiBo
YXNhdHRyKHNlbGYsJ3psaW0nKToKICAgICAgICAgICAgIGNlbnRlcnogPTNEIChzZWxmLnpsaW1b
MV0gKyBzZWxmLnpsaW1bMF0pLzIuCi0gICAgICAgICAgICBtdyA9M0QgbnAubWF4KFt3aWR0aFsw
XSwgd2lkdGhbMV1dKQorICAgICAgICAgICAgbXcgPTNEIHNlbGYuZHMuYXJyKHdpZHRoKS5tYXgo
KQogICAgICAgICAgICAgc2VsZi56bGltID0zRCAoY2VudGVyeiAtIG13LzIuLAogICAgICAgICAg
ICAgICAgICAgICAgICAgIGNlbnRlcnogKyBtdy8yLikKPTIwCgoKaHR0cHM6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvYjM2N2Y3YWMwMWI0LwpDaGFuZ2VzZXQ6ICAgYjM2
N2Y3YWMwMWI0CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAg
ICAgICAyMDE1LTA3LTAyIDIxOjE5OjMxKzAwOjAwClN1bW1hcnk6ICAgICBEZWJ1ZyBwaXhlbGl6
YXRpb24gcm91dGluZSBmb3IgbWVzaCBkYXRhCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1y
IDViZGRmMjExNzY3ODA1M2ZjOTYzYWNjYTdjMmZjNjQ1NWM4OTYwNzYgLXIgYjM2N2Y3YWMwMWI0
OWJlMGIwN2FhMjk9CmIxZjQ4MzAyMmZmNWE0MGQ4IHl0L3Rlc3RpbmcucHkKLS0tIGEveXQvdGVz
dGluZy5weQorKysgYi95dC90ZXN0aW5nLnB5CkBAIC0yMDEsNyArMjAxLDE0IEBACiBkZWYgZmFr
ZV9yYW5kb21fbWVzaF9kcyhuZWxlbXMsIG52ZXJ0aWNlcywgbmRpbWVuc2lvbnM9M0QzLCBuc2xp
Y2VzPTNEMik6CiAgICAgZnJvbSB5dC5mcm9udGVuZHMuc3RyZWFtLmFwaSBpbXBvcnQgbG9hZF91
bnN0cnVjdHVyZWRfbWVzaAogICAgICMgQ3JlYXRlIEZha2UgUGFydGljbGUgRGF0YQotICAgIGRh
dGEgPTNEIFtdCisgICAgZGF0YSA9M0QgZmFrZV9yYW5kb21fZ2FzX2RzKG5lbGVtcywgbnZlcnRp
Y2VzLCBuc2xpY2VzKQorICAgIGNvb3JkaW5hdGVzID0zRCBucC5yYW5kb20ucmFuZG9tX3NhbXBs
ZSgobmVsZW1zLCBuZGltZW5zaW9ucykpCisgICAgY29ubmVjdGl2aXR5ID0zRCBucC5yYW5kb20u
cmFuZG9tX2ludGVnZXJzKG5lbGVtcywgc2l6ZT0zRChuZWxlbXMsIG52ZT0KcnRpY2VzKSkKKyAg
ICBkcyA9M0QgbG9hZF91bnN0cnVjdHVyZWRfbWVzaChkYXRhLCBjb25uZWN0aXZpdHksIGNvb3Jk
aW5hdGVzKQorICAgIHJldHVybiBkcworCitkZWYgZmFrZV9yYW5kb21fZ2FzX2RzKG5lbGVtcywg
bnZlcnRpY2VzLCBuc2xpY2VzPTNEMik6CisgICAgZHMgPTNEIFtdCiAgICAgZGF0YV9rZXlzID0z
RCBbKCdnYXMnLCAnZGlmZnVzZWQnKSwKICAgICAgICAgICAgICAgICAgKCdnYXMnLCAnY29udmVj
dGVkJyksCiAgICAgICAgICAgICAgICAgICgnZ2FzJywgJ2NvbnZfaW5kaWNhdG9yJyksCkBAIC0y
MTEsMTMgKzIxOCw4IEBACiAgICAgICAgIGZha2VfZGF0YSA9M0Qge30KICAgICAgICAgZm9yIGtl
eSBpbiBkYXRhX2tleXM6CiAgICAgICAgICAgICBmYWtlX2RhdGFba2V5XSA9M0QgbnAucmFuZG9t
LnJhbmRvbV9zYW1wbGUoKG5lbGVtcywgbnZlcnRpY2VzKSkKLSAgICAgICAgZGF0YS5hcHBlbmQo
ZmFrZV9kYXRhKQorICAgICAgICBkcy5hcHBlbmQoZmFrZV9kYXRhKQo9MjAKLSAgICBjb29yZGlu
YXRlcyA9M0QgbnAucmFuZG9tLnJhbmRvbV9zYW1wbGUoKG5lbGVtcywgbmRpbWVuc2lvbnMpKQot
Ci0gICAgY29ubmVjdGl2aXR5ID0zRCBucC5yYW5kb20ucmFuZG9tX2ludGVnZXJzKG5lbGVtcywg
c2l6ZT0zRChuZWxlbXMsIG52ZT0KcnRpY2VzKSkKLQotICAgIGRzID0zRCBsb2FkX3Vuc3RydWN0
dXJlZF9tZXNoKGRhdGEsIGNvbm5lY3Rpdml0eSwgY29vcmRpbmF0ZXMpCiAgICAgcmV0dXJuIGRz
Cj0yMAogX2dlb21fdHJhbnNmb3JtcyA9M0QgewoKZGlmZiAtciA1YmRkZjIxMTc2NzgwNTNmYzk2
M2FjY2E3YzJmYzY0NTVjODk2MDc2IC1yIGIzNjdmN2FjMDFiNDliZTBiMDdhYTI5PQpiMWY0ODMw
MjJmZjVhNDBkOCB5dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKLS0t
IGEveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4CisrKyBiL3l0L3V0
aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eApAQCAtMTg1LDEwICsxODUsMTAg
QEAKICAgICBjZGVmIG5wLmZsb2F0NjRfdCByX2ksIHRoZXRhX2ksIGRyX2ksIGR0aGV0YV9pLCBk
dGhldGFtaW4KICAgICBjZGVmIG5wLmZsb2F0NjRfdCBjb3N0aGV0YSwgc2ludGhldGEKICAgICBj
ZGVmIGludCBpLCBwaSwgcGoKLSAgID0yMAorCiAgICAgaW1heCA9M0QgcmFkaXVzLmFyZ21heCgp
CiAgICAgcm1heCA9M0QgcmFkaXVzW2ltYXhdICsgZHJhZGl1c1tpbWF4XQotICAgICAgICAgPTIw
CisKICAgICBpZiBpbnB1dF9pbWcgaXMgTm9uZToKICAgICAgICAgaW1nID0zRCBucC56ZXJvcygo
YnVmZl9zaXplWzBdLCBidWZmX3NpemVbMV0pKQogICAgICAgICBpbWdbOl0gPTNEIG5wLm5hbgpA
QCAtMjM5LDcgKzIzOSw3IEBACiAgICAgICAgICAgICBzaW50aGV0YSA9M0QgbWF0aC5zaW4odGhl
dGFfaSkKICAgICAgICAgICAgIHdoaWxlIHJfaSA8IHIwICsgZHJfaToKICAgICAgICAgICAgICAg
ICBpZiBybWF4IDw9M0Qgcl9pOgotICAgICAgICAgICAgICAgICAgICByX2kgKz0zRCAwLjUqZHg9
MjAKKyAgICAgICAgICAgICAgICAgICAgcl9pICs9M0QgMC41KmR4CiAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgeSA9M0Qgcl9pICogY29zdGhldGEKICAgICAg
ICAgICAgICAgICB4ID0zRCByX2kgKiBzaW50aGV0YQpAQCAtMjUwLDcgKzI1MCw3IEBACiAgICAg
ICAgICAgICAgICAgICAgIGlmIGltZ1twaSwgcGpdICE9M0QgaW1nW3BpLCBwal06CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpbWdbcGksIHBqXSA9M0QgMC4wCiAgICAgICAgICAgICAgICAgICAg
IGltZ1twaSwgcGpdID0zRCBmaWVsZFtpXQotICAgICAgICAgICAgICAgIHJfaSArPTNEIDAuNSpk
eD0yMAorICAgICAgICAgICAgICAgIHJfaSArPTNEIDAuNSpkeAogICAgICAgICAgICAgdGhldGFf
aSArPTNEIGR0aGV0YW1pbgo9MjAKICAgICByZXR1cm4gaW1nCkBAIC0yODksNyArMjg5LDcgQEAK
ICAgICBjZGVmIG5wLmZsb2F0NjRfdCBzMiA9M0QgbWF0aC5zcXJ0KDIuMCkKICAgICBjZGVmIG5w
LmZsb2F0NjRfdCB4bWF4LCB5bWF4LCB4bWluLCB5bWluCiAgICAgbmYgPTNEIGZpZWxkLnNoYXBl
WzBdCi0gICA9MjAKKwogICAgIGlmIGlucHV0X2ltZyBpcyBOb25lOgogICAgICAgICBpbWcgPTNE
IG5wLnplcm9zKChidWZmX3NpemVbMF0sIGJ1ZmZfc2l6ZVsxXSkpCiAgICAgICAgIGltZ1s6XSA9
M0QgbnAubmFuCkBAIC00MjksNiArNDI5LDcgQEAKPTIwCiAgICAgY2RlZiBucC5uZGFycmF5W25w
LmZsb2F0NjRfdCwgbmRpbT0zRDNdIGltZwogICAgIGltZyA9M0QgbnAuemVyb3MoYnVmZl9zaXpl
LCBkdHlwZT0zRCJmbG9hdDY0IikKKyAgICBkZWJ1ZyA9M0QgW10KPTIwCiAgICAgIyBUd28gc3Rl
cHM6CiAgICAgIyAgMS4gSXMgaW1hZ2UgcG9pbnQgd2l0aGluIHRoZSBtZXNoIGJvdW5kaW5nIGJv
eD8KQEAgLTQ3MSwxMyArNDcyLDE0IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpZGRz
W2ldID0zRCAxLjAgLyBkZHNbaV0KPTIwCisgICAgIyBHbyB0aHJvdWdoIGVhY2ggZWxlbWVudAog
ICAgIGZvciBjaSBpbiByYW5nZShjb25uLnNoYXBlWzBdKToKICAgICAgICAgIyBGaWxsIHRoZSB2
ZXJ0aWNlcyBhbmQgY29tcHV0ZSB0aGUgY2VudHJvaWQKICAgICAgICAgY2VudHJvaWRbMF0gPTNE
IGNlbnRyb2lkWzFdID0zRCBjZW50cm9pZFsyXSA9M0QgMAogICAgICAgICBMRVswXSA9M0QgTEVb
MV0gPTNEIExFWzJdID0zRCAxZTYwCiAgICAgICAgIFJFWzBdID0zRCBSRVsxXSA9M0QgUkVbMl0g
PTNEIC0xZTYwCj0yMAotICAgICAgICBmb3IgbiBpbiByYW5nZShudmVydGljZXMpOiAjIDgKKyAg
ICAgICAgZm9yIG4gaW4gcmFuZ2UobnZlcnRpY2VzKTogIyA4IGZvciBhIGhleGFoZWRyYWwgbWVz
aCwgNCBmb3IgYSB0ZXRyPQphaGVkcmFsCiAgICAgICAgICAgICBjaiA9M0QgY29ubltjaSwgbl0g
LSBpbmRleF9vZmZzZXQKICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgogICAgICAgICAg
ICAgICAgIHZlcnRpY2VzW25dW2ldID0zRCBjb29yZHNbY2osIGldCkBAIC01MjEsMTIgKzUyMywx
NCBAQAogICAgICAgICAgICAgICAgICAgICAjIE5vdyB3ZSBqdXN0IG5lZWQgdG8gZmlndXJlIG91
dCBpZiBvdXIgcHBvaW50IGlzIHdpdGg9CmluCiAgICAgICAgICAgICAgICAgICAgICMgb3VyIHNl
dCBvZiB2ZXJ0aWNlcy4KPTIwCi0gICAgICAgICAgICAgICAgICAgIGlmIGNoZWNrX2ZhY2VfZG90
KG52ZXJ0aWNlcywgcHBvaW50LCB2ZXJ0aWNlcywgc2lnbnMsID0KMSkgPTNEPTNEIDA6Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorIyAgICAgICAgICAgICAgICAgICAgaWYgY2hl
Y2tfZmFjZV9kb3QobnZlcnRpY2VzLCBwcG9pbnQsIHZlcnRpY2VzLCBzaWducyw9CiAxKSA9M0Q9
M0QgMDoKKyMgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQo9MjAKICAgICAgICAgICAg
ICAgICAgICAgIyBPdGhlcndpc2UsIHdlIHdpbGwgYWRkIGEgcGl4ZWwgdG8gdGhlIGltYWdlIGJ1
ZmZlcgorICAgICAgICAgICAgICAgICAgICBkZWJ1Zy5hcHBlbmQoZmllbGRbY2ldKQogICAgICAg
ICAgICAgICAgICAgICBpbWdbcGksIHBqLCBwa10gPTNEIGZpZWxkW2NpXQotICAgIHJldHVybiBp
bWcKKworICAgIHJldHVybiBkZWJ1ZyxmaWVsZCwgaW1nCj0yMAogZGVmIGdldF9lbGVtZW50X3R5
cGUobnZlcnRpY2VzKToKICAgICBpZiBudmVydGljZXMgPTNEPTNEIDQ6CkBAIC01MzcsNSArNTQx
LDMgQEAKICAgICAgICAgcmV0dXJuIEhFWF9ORgogICAgIGVsc2U6CiAgICAgICAgIHJhaXNlIFJ1
bnRpbWVFcnJvcgotCi0KCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29t
bWl0cy9kMGI5ODBlZGRlNGUvCkNoYW5nZXNldDogICBkMGI5ODBlZGRlNGUKQnJhbmNoOiAgICAg
IHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMDYgMTg6NDI6
MzIrMDA6MDAKU3VtbWFyeTogICAgIFB1dCBzYW1wbGUgQU1SIGRhdGEgaW50byB0ZXN0aW5nX2Rh
dGEKQWZmZWN0ZWQgIzogIDMgZmlsZXMKCmRpZmYgLXIgYjM2N2Y3YWMwMWI0OWJlMGIwN2FhMjli
MWY0ODMwMjJmZjVhNDBkOCAtciBkMGI5ODBlZGRlNGU0OTM5ZTRiYTc3Nj0KMDBiMDZjZTc3YjM2
ODBmNGMgeXQvdGVzdGluZy5weQotLS0gYS95dC90ZXN0aW5nLnB5CisrKyBiL3l0L3Rlc3Rpbmcu
cHkKQEAgLTI4LDcgKzI4LDcgQEAKIGZyb20geXQudW5pdHMueXRfYXJyYXkgaW1wb3J0IHVjb25j
YXRlbmF0ZQogaW1wb3J0IHl0LmZpZWxkcy5hcGkgYXMgZmllbGRfYXBpCiBmcm9tIHl0LmNvbnZl
bmllbmNlIGltcG9ydCBsb2FkCi0KK2Zyb20geXQudGVzdGluZ19kYXRhLnNhbXBsZV9hbXJfaW5k
ZXggaW1wb3J0IF9hbXJfZ3JpZF9pbmRleAo9MjAKIGRlZiBhc3NlcnRfcmVsX2VxdWFsKGExLCBh
MiwgZGVjaW1hbHMsIGVycl9tc2c9M0QnJywgdmVyYm9zZT0zRFRydWUpOgogICAgICMgV2UgaGF2
ZSBuYW4gY2hlY2tzIGluIGhlcmUgYmVjYXVzZSBvY2Nhc2lvbmFsbHkgd2UgaGF2ZSBmaWVsZHMg
dGhhdCA9CmdldApAQCAtNDM2LDIxMSArNDM2LDYgQEAKICAgICAgICAgICAgIGF0dHJzMi5hcHBl
bmQodW5pdF9hdHRyKQogICAgIHlpZWxkIGFzc2VydF9lcXVhbCwgYXR0cnMxLCBhdHRyczIKPTIw
Ci0jIFRoaXMgaXMgYW4gZXhwb3J0IG9mIHRoZSA0MCBncmlkcyBpbiBJc29sYXRlZEdhbGF4eSB0
aGF0IGFyZSBvZiBsZXZlbCA0ID0Kb3IKLSMgbG93ZXIuICBJdCdzIGp1c3QgZGVzaWduZWQgdG8g
Z2l2ZSBhIHNhbXBsZSBBTVIgaW5kZXggdG8gZGVhbCB3aXRoLgotX2Ftcl9ncmlkX2luZGV4ID0z
RCBbCi0gWyAwLAotICBbMC4wLDAuMCwwLjBdLAotICBbMS4wLDEuMCwxLjBdLAotICBbMzIsMzIs
MzJdLAotIF0sCi0gWyAxLAotICBbMC4yNSwwLjIxODc1LDAuMjVdLAotICBbMC41LDAuNSwwLjVd
LAotICBbMTYsMTgsMTZdLAotIF0sCi0gWyAxLAotICBbMC41LDAuMjE4NzUsMC4yNV0sCi0gIFsw
Ljc1LDAuNSwwLjVdLAotICBbMTYsMTgsMTZdLAotIF0sCi0gWyAxLAotICBbMC4yMTg3NSwwLjUs
MC4yNV0sCi0gIFswLjUsMC43NSwwLjVdLAotICBbMTgsMTYsMTZdLAotIF0sCi0gWyAxLAotICBb
MC41LDAuNSwwLjI1XSwKLSAgWzAuNzUsMC43NSwwLjVdLAotICBbMTYsMTYsMTZdLAotIF0sCi0g
WyAxLAotICBbMC4yNSwwLjI1LDAuNV0sCi0gIFswLjUsMC41LDAuNzVdLAotICBbMTYsMTYsMTZd
LAotIF0sCi0gWyAxLAotICBbMC41LDAuMjUsMC41XSwKLSAgWzAuNzUsMC41LDAuNzVdLAotICBb
MTYsMTYsMTZdLAotIF0sCi0gWyAxLAotICBbMC4yNSwwLjUsMC41XSwKLSAgWzAuNSwwLjc1LDAu
NzVdLAotICBbMTYsMTYsMTZdLAotIF0sCi0gWyAxLAotICBbMC41LDAuNSwwLjVdLAotICBbMC43
NSwwLjc1LDAuNzVdLAotICBbMTYsMTYsMTZdLAotIF0sCi0gWyAyLAotICBbMC41LDAuNSwwLjVd
LAotICBbMC43MTg3NSwwLjcxODc1LDAuNzE4NzVdLAotICBbMjgsMjgsMjhdLAotIF0sCi0gWyAz
LAotICBbMC41LDAuNSwwLjVdLAotICBbMC42NjQwNjI1LDAuNjU2MjUsMC42Nzk2ODc1XSwKLSAg
WzQyLDQwLDQ2XSwKLSBdLAotIFsgNCwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzAuNTk3NjU2MjUs
MC42MDE1NjI1LDAuNjAxNTYyNV0sCi0gIFs1MCw1Miw1Ml0sCi0gXSwKLSBbIDIsCi0gIFswLjI4
MTI1LDAuNSwwLjVdLAotICBbMC41LDAuNzM0Mzc1LDAuNzE4NzVdLAotICBbMjgsMzAsMjhdLAot
IF0sCi0gWyAzLAotICBbMC4zMzU5Mzc1LDAuNSwwLjVdLAotICBbMC41LDAuNjcxODc1LDAuNjY0
MDYyNV0sCi0gIFs0Miw0NCw0Ml0sCi0gXSwKLSBbIDQsCi0gIFswLjQwNjI1LDAuNSwwLjVdLAot
ICBbMC41LDAuNTk3NjU2MjUsMC41OTc2NTYyNV0sCi0gIFs0OCw1MCw1MF0sCi0gXSwKLSBbIDIs
Ci0gIFswLjUsMC4yODEyNSwwLjVdLAotICBbMC43MTg3NSwwLjUsMC43MTg3NV0sCi0gIFsyOCwy
OCwyOF0sCi0gXSwKLSBbIDMsCi0gIFswLjUsMC4zMzU5Mzc1LDAuNV0sCi0gIFswLjY3MTg3NSww
LjUsMC42NjQwNjI1XSwKLSAgWzQ0LDQyLDQyXSwKLSBdLAotIFsgNCwKLSAgWzAuNSwwLjQwNjI1
LDAuNV0sCi0gIFswLjYwMTU2MjUsMC41LDAuNTk3NjU2MjVdLAotICBbNTIsNDgsNTBdLAotIF0s
Ci0gWyAyLAotICBbMC4yODEyNSwwLjI4MTI1LDAuNV0sCi0gIFswLjUsMC41LDAuNzE4NzVdLAot
ICBbMjgsMjgsMjhdLAotIF0sCi0gWyAzLAotICBbMC4zMzU5Mzc1LDAuMzM1OTM3NSwwLjVdLAot
ICBbMC41LDAuNSwwLjY3MTg3NV0sCi0gIFs0Miw0Miw0NF0sCi0gXSwKLSBbIDQsCi0gIFswLjQ2
NDg0Mzc1LDAuMzc4OTA2MjUsMC41MDM5MDYyNV0sCi0gIFswLjQ3NjU2MjUsMC4zOTA2MjUsMC41
MTU2MjVdLAotICBbNiw2LDZdLAotIF0sCi0gWyA0LAotICBbMC40MDYyNSwwLjQwNjI1LDAuNV0s
Ci0gIFswLjUsMC41LDAuNTk3NjU2MjVdLAotICBbNDgsNDgsNTBdLAotIF0sCi0gWyAyLAotICBb
MC41LDAuNSwwLjI4MTI1XSwKLSAgWzAuNzE4NzUsMC43MTg3NSwwLjVdLAotICBbMjgsMjgsMjhd
LAotIF0sCi0gWyAzLAotICBbMC41LDAuNSwwLjMzNTkzNzVdLAotICBbMC42Nzk2ODc1LDAuNjk1
MzEyNSwwLjVdLAotICBbNDYsNTAsNDJdLAotIF0sCi0gWyA0LAotICBbMC41LDAuNSwwLjQwMjM0
Mzc1XSwKLSAgWzAuNTkzNzUsMC42MDE1NjI1LDAuNV0sCi0gIFs0OCw1Miw1MF0sCi0gXSwKLSBb
IDIsCi0gIFswLjI2NTYyNSwwLjUsMC4yODEyNV0sCi0gIFswLjUsMC43MTg3NSwwLjVdLAotICBb
MzAsMjgsMjhdLAotIF0sCi0gWyAzLAotICBbMC4zMzU5Mzc1LDAuNSwwLjMyODEyNV0sCi0gIFsw
LjUsMC42NTYyNSwwLjVdLAotICBbNDIsNDAsNDRdLAotIF0sCi0gWyA0LAotICBbMC40MDIzNDM3
NSwwLjUsMC40MDYyNV0sCi0gIFswLjUsMC42MDU0Njg3NSwwLjVdLAotICBbNTAsNTQsNDhdLAot
IF0sCi0gWyAyLAotICBbMC41LDAuMjY1NjI1LDAuMjgxMjVdLAotICBbMC43MTg3NSwwLjUsMC41
XSwKLSAgWzI4LDMwLDI4XSwKLSBdLAotIFsgMywKLSAgWzAuNSwwLjMyMDMxMjUsMC4zMjgxMjVd
LAotICBbMC42NjQwNjI1LDAuNSwwLjVdLAotICBbNDIsNDYsNDRdLAotIF0sCi0gWyA0LAotICBb
MC41LDAuMzk4NDM3NSwwLjQwNjI1XSwKLSAgWzAuNTQ2ODc1LDAuNSwwLjVdLAotICBbMjQsNTIs
NDhdLAotIF0sCi0gWyA0LAotICBbMC41NDY4NzUsMC40MTc5Njg3NSwwLjQ0NTMxMjVdLAotICBb
MC41NjI1LDAuNDM3NSwwLjVdLAotICBbOCwxMCwyOF0sCi0gXSwKLSBbIDQsCi0gIFswLjU0Njg3
NSwwLjQ1MzEyNSwwLjQxNzk2ODc1XSwKLSAgWzAuNTU0Njg3NSwwLjQ4MDQ2ODc1LDAuNDM3NV0s
Ci0gIFs0LDE0LDEwXSwKLSBdLAotIFsgNCwKLSAgWzAuNTQ2ODc1LDAuNDM3NSwwLjQzNzVdLAot
ICBbMC42MDkzNzUsMC41LDAuNV0sCi0gIFszMiwzMiwzMl0sCi0gXSwKLSBbIDQsCi0gIFswLjU0
Njg3NSwwLjQ5MjE4NzUsMC40MTc5Njg3NV0sCi0gIFswLjU2NjQwNjI1LDAuNSwwLjQzNzVdLAot
ICBbMTAsNCwxMF0sCi0gXSwKLSBbIDQsCi0gIFswLjU0Njg3NSwwLjQ4MDQ2ODc1LDAuNDE3OTY4
NzVdLAotICBbMC41NzAzMTI1LDAuNDkyMTg3NSwwLjQzNzVdLAotICBbMTIsNiwxMF0sCi0gXSwK
LSBbIDQsCi0gIFswLjU1ODU5Mzc1LDAuNDY4NzUsMC40MzM1OTM3NV0sCi0gIFswLjU3MDMxMjUs
MC40ODA0Njg3NSwwLjQzNzVdLAotICBbNiw2LDJdLAotIF0sCi0gWyAyLAotICBbMC4yNjU2MjUs
MC4yODEyNSwwLjI4MTI1XSwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzMwLDI4LDI4XSwKLSBdLAot
IFsgMywKLSAgWzAuMzI4MTI1LDAuMzM1OTM3NSwwLjMyODEyNV0sCi0gIFswLjUsMC41LDAuNV0s
Ci0gIFs0NCw0Miw0NF0sCi0gXSwKLSBbIDQsCi0gIFswLjQxNDA2MjUsMC40MDYyNSwwLjQwNjI1
XSwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzQ0LDQ4LDQ4XSwKLSBdLAotXQotCiBkZWYgY2hlY2tf
cmVzdWx0cyhmdW5jKToKICAgICByIiIiVGhpcyBpcyBhIGRlY29yYXRvciBmb3IgYSBmdW5jdGlv
biB0byB2ZXJpZnkgdGhhdCB0aGUgKG51bXB5IG5kYXJyPQpheSkKICAgICByZXN1bHQgb2YgYSBm
dW5jdGlvbiBpcyB3aGF0IGl0IHNob3VsZCBiZS4KCmRpZmYgLXIgYjM2N2Y3YWMwMWI0OWJlMGIw
N2FhMjliMWY0ODMwMjJmZjVhNDBkOCAtciBkMGI5ODBlZGRlNGU0OTM5ZTRiYTc3Nj0KMDBiMDZj
ZTc3YjM2ODBmNGMgeXQvdGVzdGluZ19kYXRhL3NhbXBsZV9hbXJfaW5kZXgucHkKLS0tIC9kZXYv
bnVsbAorKysgYi95dC90ZXN0aW5nX2RhdGEvc2FtcGxlX2Ftcl9pbmRleC5weQpAQCAtMCwwICsx
LDIwNSBAQAorIyBUaGlzIGlzIGFuIGV4cG9ydCBvZiB0aGUgNDAgZ3JpZHMgaW4gSXNvbGF0ZWRH
YWxheHkgdGhhdCBhcmUgb2YgbGV2ZWwgNCA9Cm9yCisjIGxvd2VyLiAgSXQncyBqdXN0IGRlc2ln
bmVkIHRvIGdpdmUgYSBzYW1wbGUgQU1SIGluZGV4IHRvIGRlYWwgd2l0aC4KK19hbXJfZ3JpZF9p
bmRleCA9M0QgWworIFsgMCwKKyAgWzAuMCwwLjAsMC4wXSwKKyAgWzEuMCwxLjAsMS4wXSwKKyAg
WzMyLDMyLDMyXSwKKyBdLAorIFsgMSwKKyAgWzAuMjUsMC4yMTg3NSwwLjI1XSwKKyAgWzAuNSww
LjUsMC41XSwKKyAgWzE2LDE4LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuNSwwLjIxODc1LDAuMjVd
LAorICBbMC43NSwwLjUsMC41XSwKKyAgWzE2LDE4LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuMjE4
NzUsMC41LDAuMjVdLAorICBbMC41LDAuNzUsMC41XSwKKyAgWzE4LDE2LDE2XSwKKyBdLAorIFsg
MSwKKyAgWzAuNSwwLjUsMC4yNV0sCisgIFswLjc1LDAuNzUsMC41XSwKKyAgWzE2LDE2LDE2XSwK
KyBdLAorIFsgMSwKKyAgWzAuMjUsMC4yNSwwLjVdLAorICBbMC41LDAuNSwwLjc1XSwKKyAgWzE2
LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuNSwwLjI1LDAuNV0sCisgIFswLjc1LDAuNSwwLjc1
XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuMjUsMC41LDAuNV0sCisgIFswLjUs
MC43NSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuNSwwLjUsMC41XSwK
KyAgWzAuNzUsMC43NSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMiwKKyAgWzAuNSww
LjUsMC41XSwKKyAgWzAuNzE4NzUsMC43MTg3NSwwLjcxODc1XSwKKyAgWzI4LDI4LDI4XSwKKyBd
LAorIFsgMywKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzAuNjY0MDYyNSwwLjY1NjI1LDAuNjc5Njg3
NV0sCisgIFs0Miw0MCw0Nl0sCisgXSwKKyBbIDQsCisgIFswLjUsMC41LDAuNV0sCisgIFswLjU5
NzY1NjI1LDAuNjAxNTYyNSwwLjYwMTU2MjVdLAorICBbNTAsNTIsNTJdLAorIF0sCisgWyAyLAor
ICBbMC4yODEyNSwwLjUsMC41XSwKKyAgWzAuNSwwLjczNDM3NSwwLjcxODc1XSwKKyAgWzI4LDMw
LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuMzM1OTM3NSwwLjUsMC41XSwKKyAgWzAuNSwwLjY3MTg3
NSwwLjY2NDA2MjVdLAorICBbNDIsNDQsNDJdLAorIF0sCisgWyA0LAorICBbMC40MDYyNSwwLjUs
MC41XSwKKyAgWzAuNSwwLjU5NzY1NjI1LDAuNTk3NjU2MjVdLAorICBbNDgsNTAsNTBdLAorIF0s
CisgWyAyLAorICBbMC41LDAuMjgxMjUsMC41XSwKKyAgWzAuNzE4NzUsMC41LDAuNzE4NzVdLAor
ICBbMjgsMjgsMjhdLAorIF0sCisgWyAzLAorICBbMC41LDAuMzM1OTM3NSwwLjVdLAorICBbMC42
NzE4NzUsMC41LDAuNjY0MDYyNV0sCisgIFs0NCw0Miw0Ml0sCisgXSwKKyBbIDQsCisgIFswLjUs
MC40MDYyNSwwLjVdLAorICBbMC42MDE1NjI1LDAuNSwwLjU5NzY1NjI1XSwKKyAgWzUyLDQ4LDUw
XSwKKyBdLAorIFsgMiwKKyAgWzAuMjgxMjUsMC4yODEyNSwwLjVdLAorICBbMC41LDAuNSwwLjcx
ODc1XSwKKyAgWzI4LDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuMzM1OTM3NSwwLjMzNTkzNzUs
MC41XSwKKyAgWzAuNSwwLjUsMC42NzE4NzVdLAorICBbNDIsNDIsNDRdLAorIF0sCisgWyA0LAor
ICBbMC40NjQ4NDM3NSwwLjM3ODkwNjI1LDAuNTAzOTA2MjVdLAorICBbMC40NzY1NjI1LDAuMzkw
NjI1LDAuNTE1NjI1XSwKKyAgWzYsNiw2XSwKKyBdLAorIFsgNCwKKyAgWzAuNDA2MjUsMC40MDYy
NSwwLjVdLAorICBbMC41LDAuNSwwLjU5NzY1NjI1XSwKKyAgWzQ4LDQ4LDUwXSwKKyBdLAorIFsg
MiwKKyAgWzAuNSwwLjUsMC4yODEyNV0sCisgIFswLjcxODc1LDAuNzE4NzUsMC41XSwKKyAgWzI4
LDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuNSwwLjUsMC4zMzU5Mzc1XSwKKyAgWzAuNjc5Njg3
NSwwLjY5NTMxMjUsMC41XSwKKyAgWzQ2LDUwLDQyXSwKKyBdLAorIFsgNCwKKyAgWzAuNSwwLjUs
MC40MDIzNDM3NV0sCisgIFswLjU5Mzc1LDAuNjAxNTYyNSwwLjVdLAorICBbNDgsNTIsNTBdLAor
IF0sCisgWyAyLAorICBbMC4yNjU2MjUsMC41LDAuMjgxMjVdLAorICBbMC41LDAuNzE4NzUsMC41
XSwKKyAgWzMwLDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuMzM1OTM3NSwwLjUsMC4zMjgxMjVd
LAorICBbMC41LDAuNjU2MjUsMC41XSwKKyAgWzQyLDQwLDQ0XSwKKyBdLAorIFsgNCwKKyAgWzAu
NDAyMzQzNzUsMC41LDAuNDA2MjVdLAorICBbMC41LDAuNjA1NDY4NzUsMC41XSwKKyAgWzUwLDU0
LDQ4XSwKKyBdLAorIFsgMiwKKyAgWzAuNSwwLjI2NTYyNSwwLjI4MTI1XSwKKyAgWzAuNzE4NzUs
MC41LDAuNV0sCisgIFsyOCwzMCwyOF0sCisgXSwKKyBbIDMsCisgIFswLjUsMC4zMjAzMTI1LDAu
MzI4MTI1XSwKKyAgWzAuNjY0MDYyNSwwLjUsMC41XSwKKyAgWzQyLDQ2LDQ0XSwKKyBdLAorIFsg
NCwKKyAgWzAuNSwwLjM5ODQzNzUsMC40MDYyNV0sCisgIFswLjU0Njg3NSwwLjUsMC41XSwKKyAg
WzI0LDUyLDQ4XSwKKyBdLAorIFsgNCwKKyAgWzAuNTQ2ODc1LDAuNDE3OTY4NzUsMC40NDUzMTI1
XSwKKyAgWzAuNTYyNSwwLjQzNzUsMC41XSwKKyAgWzgsMTAsMjhdLAorIF0sCisgWyA0LAorICBb
MC41NDY4NzUsMC40NTMxMjUsMC40MTc5Njg3NV0sCisgIFswLjU1NDY4NzUsMC40ODA0Njg3NSww
LjQzNzVdLAorICBbNCwxNCwxMF0sCisgXSwKKyBbIDQsCisgIFswLjU0Njg3NSwwLjQzNzUsMC40
Mzc1XSwKKyAgWzAuNjA5Mzc1LDAuNSwwLjVdLAorICBbMzIsMzIsMzJdLAorIF0sCisgWyA0LAor
ICBbMC41NDY4NzUsMC40OTIxODc1LDAuNDE3OTY4NzVdLAorICBbMC41NjY0MDYyNSwwLjUsMC40
Mzc1XSwKKyAgWzEwLDQsMTBdLAorIF0sCisgWyA0LAorICBbMC41NDY4NzUsMC40ODA0Njg3NSww
LjQxNzk2ODc1XSwKKyAgWzAuNTcwMzEyNSwwLjQ5MjE4NzUsMC40Mzc1XSwKKyAgWzEyLDYsMTBd
LAorIF0sCisgWyA0LAorICBbMC41NTg1OTM3NSwwLjQ2ODc1LDAuNDMzNTkzNzVdLAorICBbMC41
NzAzMTI1LDAuNDgwNDY4NzUsMC40Mzc1XSwKKyAgWzYsNiwyXSwKKyBdLAorIFsgMiwKKyAgWzAu
MjY1NjI1LDAuMjgxMjUsMC4yODEyNV0sCisgIFswLjUsMC41LDAuNV0sCisgIFszMCwyOCwyOF0s
CisgXSwKKyBbIDMsCisgIFswLjMyODEyNSwwLjMzNTkzNzUsMC4zMjgxMjVdLAorICBbMC41LDAu
NSwwLjVdLAorICBbNDQsNDIsNDRdLAorIF0sCisgWyA0LAorICBbMC40MTQwNjI1LDAuNDA2MjUs
MC40MDYyNV0sCisgIFswLjUsMC41LDAuNV0sCisgIFs0NCw0OCw0OF0sCisgXSwKK10KKwoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzU2MWYxZDg3MzhiZC8K
Q2hhbmdlc2V0OiAgIDU2MWYxZDg3MzhiZApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFz
dHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNy0wNiAxODo1NjowMyswMDowMApTdW1tYXJ5OiAg
ICAgQWRkIGZha2UgdW5zdHJ1Y3R1cmVkX21lc2ggZGF0YQpBZmZlY3RlZCAjOiAgNiBmaWxlcwoK
ZGlmZiAtciBkMGI5ODBlZGRlNGU0OTM5ZTRiYTc3NjAwYjA2Y2U3N2IzNjgwZjRjIC1yIDU2MWYx
ZDg3MzhiZDJlYWQ3NDFhZDJmPQo3Y2RkZjE3MGVjOGVhODlhNyB5dC9zYW1wbGVfZGF0YS9zYW1w
bGVfYW1yX2luZGV4LnB5Ci0tLSAvZGV2L251bGwKKysrIGIveXQvc2FtcGxlX2RhdGEvc2FtcGxl
X2Ftcl9pbmRleC5weQpAQCAtMCwwICsxLDIwNSBAQAorIyBUaGlzIGlzIGFuIGV4cG9ydCBvZiB0
aGUgNDAgZ3JpZHMgaW4gSXNvbGF0ZWRHYWxheHkgdGhhdCBhcmUgb2YgbGV2ZWwgNCA9Cm9yCisj
IGxvd2VyLiAgSXQncyBqdXN0IGRlc2lnbmVkIHRvIGdpdmUgYSBzYW1wbGUgQU1SIGluZGV4IHRv
IGRlYWwgd2l0aC4KK19hbXJfZ3JpZF9pbmRleCA9M0QgWworIFsgMCwKKyAgWzAuMCwwLjAsMC4w
XSwKKyAgWzEuMCwxLjAsMS4wXSwKKyAgWzMyLDMyLDMyXSwKKyBdLAorIFsgMSwKKyAgWzAuMjUs
MC4yMTg3NSwwLjI1XSwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzE2LDE4LDE2XSwKKyBdLAorIFsg
MSwKKyAgWzAuNSwwLjIxODc1LDAuMjVdLAorICBbMC43NSwwLjUsMC41XSwKKyAgWzE2LDE4LDE2
XSwKKyBdLAorIFsgMSwKKyAgWzAuMjE4NzUsMC41LDAuMjVdLAorICBbMC41LDAuNzUsMC41XSwK
KyAgWzE4LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuNSwwLjUsMC4yNV0sCisgIFswLjc1LDAu
NzUsMC41XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuMjUsMC4yNSwwLjVdLAor
ICBbMC41LDAuNSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuNSwwLjI1
LDAuNV0sCisgIFswLjc1LDAuNSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAg
WzAuMjUsMC41LDAuNV0sCisgIFswLjUsMC43NSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAor
IFsgMSwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzAuNzUsMC43NSwwLjc1XSwKKyAgWzE2LDE2LDE2
XSwKKyBdLAorIFsgMiwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzAuNzE4NzUsMC43MTg3NSwwLjcx
ODc1XSwKKyAgWzI4LDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzAu
NjY0MDYyNSwwLjY1NjI1LDAuNjc5Njg3NV0sCisgIFs0Miw0MCw0Nl0sCisgXSwKKyBbIDQsCisg
IFswLjUsMC41LDAuNV0sCisgIFswLjU5NzY1NjI1LDAuNjAxNTYyNSwwLjYwMTU2MjVdLAorICBb
NTAsNTIsNTJdLAorIF0sCisgWyAyLAorICBbMC4yODEyNSwwLjUsMC41XSwKKyAgWzAuNSwwLjcz
NDM3NSwwLjcxODc1XSwKKyAgWzI4LDMwLDI4XSwKKyBdLAorIFsgMywKKyAgWzAuMzM1OTM3NSww
LjUsMC41XSwKKyAgWzAuNSwwLjY3MTg3NSwwLjY2NDA2MjVdLAorICBbNDIsNDQsNDJdLAorIF0s
CisgWyA0LAorICBbMC40MDYyNSwwLjUsMC41XSwKKyAgWzAuNSwwLjU5NzY1NjI1LDAuNTk3NjU2
MjVdLAorICBbNDgsNTAsNTBdLAorIF0sCisgWyAyLAorICBbMC41LDAuMjgxMjUsMC41XSwKKyAg
WzAuNzE4NzUsMC41LDAuNzE4NzVdLAorICBbMjgsMjgsMjhdLAorIF0sCisgWyAzLAorICBbMC41
LDAuMzM1OTM3NSwwLjVdLAorICBbMC42NzE4NzUsMC41LDAuNjY0MDYyNV0sCisgIFs0NCw0Miw0
Ml0sCisgXSwKKyBbIDQsCisgIFswLjUsMC40MDYyNSwwLjVdLAorICBbMC42MDE1NjI1LDAuNSww
LjU5NzY1NjI1XSwKKyAgWzUyLDQ4LDUwXSwKKyBdLAorIFsgMiwKKyAgWzAuMjgxMjUsMC4yODEy
NSwwLjVdLAorICBbMC41LDAuNSwwLjcxODc1XSwKKyAgWzI4LDI4LDI4XSwKKyBdLAorIFsgMywK
KyAgWzAuMzM1OTM3NSwwLjMzNTkzNzUsMC41XSwKKyAgWzAuNSwwLjUsMC42NzE4NzVdLAorICBb
NDIsNDIsNDRdLAorIF0sCisgWyA0LAorICBbMC40NjQ4NDM3NSwwLjM3ODkwNjI1LDAuNTAzOTA2
MjVdLAorICBbMC40NzY1NjI1LDAuMzkwNjI1LDAuNTE1NjI1XSwKKyAgWzYsNiw2XSwKKyBdLAor
IFsgNCwKKyAgWzAuNDA2MjUsMC40MDYyNSwwLjVdLAorICBbMC41LDAuNSwwLjU5NzY1NjI1XSwK
KyAgWzQ4LDQ4LDUwXSwKKyBdLAorIFsgMiwKKyAgWzAuNSwwLjUsMC4yODEyNV0sCisgIFswLjcx
ODc1LDAuNzE4NzUsMC41XSwKKyAgWzI4LDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuNSwwLjUs
MC4zMzU5Mzc1XSwKKyAgWzAuNjc5Njg3NSwwLjY5NTMxMjUsMC41XSwKKyAgWzQ2LDUwLDQyXSwK
KyBdLAorIFsgNCwKKyAgWzAuNSwwLjUsMC40MDIzNDM3NV0sCisgIFswLjU5Mzc1LDAuNjAxNTYy
NSwwLjVdLAorICBbNDgsNTIsNTBdLAorIF0sCisgWyAyLAorICBbMC4yNjU2MjUsMC41LDAuMjgx
MjVdLAorICBbMC41LDAuNzE4NzUsMC41XSwKKyAgWzMwLDI4LDI4XSwKKyBdLAorIFsgMywKKyAg
WzAuMzM1OTM3NSwwLjUsMC4zMjgxMjVdLAorICBbMC41LDAuNjU2MjUsMC41XSwKKyAgWzQyLDQw
LDQ0XSwKKyBdLAorIFsgNCwKKyAgWzAuNDAyMzQzNzUsMC41LDAuNDA2MjVdLAorICBbMC41LDAu
NjA1NDY4NzUsMC41XSwKKyAgWzUwLDU0LDQ4XSwKKyBdLAorIFsgMiwKKyAgWzAuNSwwLjI2NTYy
NSwwLjI4MTI1XSwKKyAgWzAuNzE4NzUsMC41LDAuNV0sCisgIFsyOCwzMCwyOF0sCisgXSwKKyBb
IDMsCisgIFswLjUsMC4zMjAzMTI1LDAuMzI4MTI1XSwKKyAgWzAuNjY0MDYyNSwwLjUsMC41XSwK
KyAgWzQyLDQ2LDQ0XSwKKyBdLAorIFsgNCwKKyAgWzAuNSwwLjM5ODQzNzUsMC40MDYyNV0sCisg
IFswLjU0Njg3NSwwLjUsMC41XSwKKyAgWzI0LDUyLDQ4XSwKKyBdLAorIFsgNCwKKyAgWzAuNTQ2
ODc1LDAuNDE3OTY4NzUsMC40NDUzMTI1XSwKKyAgWzAuNTYyNSwwLjQzNzUsMC41XSwKKyAgWzgs
MTAsMjhdLAorIF0sCisgWyA0LAorICBbMC41NDY4NzUsMC40NTMxMjUsMC40MTc5Njg3NV0sCisg
IFswLjU1NDY4NzUsMC40ODA0Njg3NSwwLjQzNzVdLAorICBbNCwxNCwxMF0sCisgXSwKKyBbIDQs
CisgIFswLjU0Njg3NSwwLjQzNzUsMC40Mzc1XSwKKyAgWzAuNjA5Mzc1LDAuNSwwLjVdLAorICBb
MzIsMzIsMzJdLAorIF0sCisgWyA0LAorICBbMC41NDY4NzUsMC40OTIxODc1LDAuNDE3OTY4NzVd
LAorICBbMC41NjY0MDYyNSwwLjUsMC40Mzc1XSwKKyAgWzEwLDQsMTBdLAorIF0sCisgWyA0LAor
ICBbMC41NDY4NzUsMC40ODA0Njg3NSwwLjQxNzk2ODc1XSwKKyAgWzAuNTcwMzEyNSwwLjQ5MjE4
NzUsMC40Mzc1XSwKKyAgWzEyLDYsMTBdLAorIF0sCisgWyA0LAorICBbMC41NTg1OTM3NSwwLjQ2
ODc1LDAuNDMzNTkzNzVdLAorICBbMC41NzAzMTI1LDAuNDgwNDY4NzUsMC40Mzc1XSwKKyAgWzYs
NiwyXSwKKyBdLAorIFsgMiwKKyAgWzAuMjY1NjI1LDAuMjgxMjUsMC4yODEyNV0sCisgIFswLjUs
MC41LDAuNV0sCisgIFszMCwyOCwyOF0sCisgXSwKKyBbIDMsCisgIFswLjMyODEyNSwwLjMzNTkz
NzUsMC4zMjgxMjVdLAorICBbMC41LDAuNSwwLjVdLAorICBbNDQsNDIsNDRdLAorIF0sCisgWyA0
LAorICBbMC40MTQwNjI1LDAuNDA2MjUsMC40MDYyNV0sCisgIFswLjUsMC41LDAuNV0sCisgIFs0
NCw0OCw0OF0sCisgXSwKK10KKwoKVGhpcyBkaWZmIGlzIHNvIGJpZyB0aGF0IHdlIG5lZWRlZCB0
byB0cnVuY2F0ZSB0aGUgcmVtYWluZGVyLgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5
c2lzL3l0L2NvbW1pdHMvNDVlODFkN2JhYjljLwpDaGFuZ2VzZXQ6ICAgNDVlODFkN2JhYjljCkJy
YW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA3
LTA2IDE5OjE5OjQ2KzAwOjAwClN1bW1hcnk6ICAgICBSZW1vdmUgZGVidWdnaW5nIGNvZGUgZnJv
bSBwaXhlbGl6YXRpb25fcm91dGluZXMKQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIgNTYx
ZjFkODczOGJkMmVhZDc0MWFkMmY3Y2RkZjE3MGVjOGVhODlhNyAtciA0NWU4MWQ3YmFiOWM1YTRm
ZGU0ZTYzYj0KZDQyYzQxNWQ2YWE2MDJjMTEgeXQvdGVzdGluZy5weQotLS0gYS95dC90ZXN0aW5n
LnB5CisrKyBiL3l0L3Rlc3RpbmcucHkKQEAgLTE5OSwxMyArMTk5LDEwIEBACiAgICAgdWcgPTNE
IGxvYWRfdW5pZm9ybV9ncmlkKGRhdGEsIG5kaW1zLCBsZW5ndGhfdW5pdD0zRGxlbmd0aF91bml0
LCBucHJvYz0Kcz0zRG5wcm9jcykKICAgICByZXR1cm4gdWcKPTIwCi1kZWYgZmFrZV9yYW5kb21f
bWVzaF9kcyhuZWxlbXMsIG52ZXJ0aWNlcywgbmRpbWVuc2lvbnM9M0QzLCBuc2xpY2VzPTNEMik6
CitkZWYgZmFrZV91bnN0cnVjdHVyZWRfdGV0cmFoZWRyYWxfbWVzaF9kcygpOgogICAgIGZyb20g
eXQuZnJvbnRlbmRzLnN0cmVhbS5hcGkgaW1wb3J0IGxvYWRfdW5zdHJ1Y3R1cmVkX21lc2gKLSAg
ICAjIENyZWF0ZSBGYWtlIFBhcnRpY2xlIERhdGEKLSAgICBkYXRhID0zRCBmYWtlX3JhbmRvbV9n
YXNfZHMobmVsZW1zLCBudmVydGljZXMsIG5zbGljZXMpCi0gICAgY29vcmRpbmF0ZXMgPTNEIG5w
LnJhbmRvbS5yYW5kb21fc2FtcGxlKChuZWxlbXMsIG5kaW1lbnNpb25zKSkKLSAgICBjb25uZWN0
aXZpdHkgPTNEIG5wLnJhbmRvbS5yYW5kb21faW50ZWdlcnMobmVsZW1zLCBzaXplPTNEKG5lbGVt
cywgbnZlPQpydGljZXMpKQotICAgIGRzID0zRCBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoKGRhdGEs
IGNvbm5lY3Rpdml0eSwgY29vcmRpbmF0ZXMpCisgICAgZGF0YSA9M0QgZmFrZV9yYW5kb21fZ2Fz
X2RzKF9jb29yZGluYXRlcy5zaGFwZVswXSwgX2Nvbm5lY3Rpdml0eS5zaGFwZT0KWzFdKQorICAg
IGRzID0zRCBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoKGRhdGEsIF9jb25uZWN0aXZpdHksIF9jb29y
ZGluYXRlcykKICAgICByZXR1cm4gZHMKPTIwCiBkZWYgZmFrZV9yYW5kb21fZ2FzX2RzKG5lbGVt
cywgbnZlcnRpY2VzLCBuc2xpY2VzPTNEMik6CgpkaWZmIC1yIDU2MWYxZDg3MzhiZDJlYWQ3NDFh
ZDJmN2NkZGYxNzBlYzhlYTg5YTcgLXIgNDVlODFkN2JhYjljNWE0ZmRlNGU2M2I9CmQ0MmM0MTVk
NmFhNjAyYzExIHl0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eAotLS0g
YS95dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKKysrIGIveXQvdXRp
bGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4CkBAIC00MjksNyArNDI5LDYgQEAK
PTIwCiAgICAgY2RlZiBucC5uZGFycmF5W25wLmZsb2F0NjRfdCwgbmRpbT0zRDNdIGltZwogICAg
IGltZyA9M0QgbnAuemVyb3MoYnVmZl9zaXplLCBkdHlwZT0zRCJmbG9hdDY0IikKLSAgICBkZWJ1
ZyA9M0QgW10KPTIwCiAgICAgIyBUd28gc3RlcHM6CiAgICAgIyAgMS4gSXMgaW1hZ2UgcG9pbnQg
d2l0aGluIHRoZSBtZXNoIGJvdW5kaW5nIGJveD8KQEAgLTUyMywxNCArNTIyLDEzIEBACiAgICAg
ICAgICAgICAgICAgICAgICMgTm93IHdlIGp1c3QgbmVlZCB0byBmaWd1cmUgb3V0IGlmIG91ciBw
cG9pbnQgaXMgd2l0aD0KaW4KICAgICAgICAgICAgICAgICAgICAgIyBvdXIgc2V0IG9mIHZlcnRp
Y2VzLgo9MjAKLSMgICAgICAgICAgICAgICAgICAgIGlmIGNoZWNrX2ZhY2VfZG90KG52ZXJ0aWNl
cywgcHBvaW50LCB2ZXJ0aWNlcywgc2lnbnMsPQogMSkgPTNEPTNEIDA6Ci0jICAgICAgICAgICAg
ICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgaWYgY2hlY2tfZmFjZV9k
b3QobnZlcnRpY2VzLCBwcG9pbnQsIHZlcnRpY2VzLCBzaWducywgPQoxKSA9M0Q9M0QgMDoKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCj0yMAogICAgICAgICAgICAgICAgICAgICAj
IE90aGVyd2lzZSwgd2Ugd2lsbCBhZGQgYSBwaXhlbCB0byB0aGUgaW1hZ2UgYnVmZmVyCi0gICAg
ICAgICAgICAgICAgICAgIGRlYnVnLmFwcGVuZChmaWVsZFtjaV0pCiAgICAgICAgICAgICAgICAg
ICAgIGltZ1twaSwgcGosIHBrXSA9M0QgZmllbGRbY2ldCj0yMAotICAgIHJldHVybiBkZWJ1Zyxm
aWVsZCwgaW1nCisgICAgcmV0dXJuIGltZwo9MjAKIGRlZiBnZXRfZWxlbWVudF90eXBlKG52ZXJ0
aWNlcyk6CiAgICAgaWYgbnZlcnRpY2VzID0zRD0zRCA0OgoKCmh0dHBzOi8vYml0YnVja2V0Lm9y
Zy95dF9hbmFseXNpcy95dC9jb21taXRzL2FiYmY2YjZlNmY5Yy8KQ2hhbmdlc2V0OiAgIGFiYmY2
YjZlNmY5YwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAg
ICAgMjAxNS0wNy0wNiAxOToyNTo1NiswMDowMApTdW1tYXJ5OiAgICAgUmVtb3ZlIHVudXNlZCBt
b2R1bGUKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciA0NWU4MWQ3YmFiOWM1YTRmZGU0ZTYz
YmQ0MmM0MTVkNmFhNjAyYzExIC1yIGFiYmY2YjZlNmY5YzgzNDdmYTNjOThiPQoyZDYxOTJmNzFh
OTUwZDgxZCB5dC91dGlsaXRpZXMvZXhvZHVzX3JlYWRlci5weQotLS0gYS95dC91dGlsaXRpZXMv
ZXhvZHVzX3JlYWRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLWltcG9ydCBz
dHJpbmcKLWZyb20gaXRlcnRvb2xzIGltcG9ydCB0YWtld2hpbGUKLWZyb20gY29sbGVjdGlvbnMg
aW1wb3J0IE9yZGVyZWREaWN0Ci1pbXBvcnQgbnVtcHkgYXMgbnAKLWZyb20gbmV0Q0RGNCBpbXBv
cnQgRGF0YXNldAotCi1jbGFzcyBFeG9kdXNEYXRhOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBm
aWxlbmFtZSk6Ci0gICAgICAgIHNlbGYuZmlsZW5hbWUgPTNEIGZpbGVuYW1lCi0gICAgICAgIHNl
bGYuZGF0YXNldCA9M0QgT3JkZXJlZERpY3QoKQotICAgICAgICBzZWxmLmNvb3JkcyA9M0QgbnAu
YXJyYXkoW10pCi0gICAgICAgIHNlbGYuY29ubmVjdHMgPTNEIFtdCi0gICAgICAgIHNlbGYuZGF0
YSA9M0QgW10KLQotICAgIGRlZiBsb2FkX2RhdGFzZXQoc2VsZik6Ci0gICAgICAgIHNlbGYuZGF0
YXNldCA9M0QgRGF0YXNldChzZWxmLmZpbGVuYW1lKS52YXJpYWJsZXMKLQotICAgICAgICBzZWxm
LmNvb3JkcyA9M0QgbnAuYXJyYXkoW3NlbGYuZGF0YXNldFsiY29vcmQlcyIgJSBheF1bOl0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGF4IGluICd4eXonXSkudHJhbnNwb3Nl
KCkuY29weSgpCi0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5nZXRfbnVtX2VsZW0oKSk6
Ci0gICAgICAgICAgICBzZWxmLmFkZF9jb25uZWN0KCJjb25uZWN0JXMiICUgKGkrMSkpCi0gICAg
ICAgICAgICBjaSA9M0Qgc2VsZi5jb25uZWN0c1stMV0KLSAgICAgICAgICAgIHZhbHMgPTNEIHt9
Ci0KLSAgICAgICAgICAgIGZvciBqLCB2YXJfbmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5nZXRfdmFy
X25hbWVzKCkpOgotICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIHZhcl9uYW1lXSA9M0Qgc2Vs
Zi5kYXRhc2V0WyJ2YWxzX2VsZW1fdmFyJXNlYiU9CnMiICUgKGorMSwgaSsxKV1bOl0uYXN0eXBl
KCJmOCIpWy0xLDpdCi0KLSAgICAgICAgICAgIGZvciBqLCBub2RfbmFtZSBpbiBlbnVtZXJhdGUo
c2VsZi5nZXRfbm9kX25hbWVzKCkpOgotICAgICAgICAgICAgICAgICMgV2Ugd2FudCBqdXN0IGZv
ciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhlIG5vZGUgdmFyaWFibGVzCi0gICAgICAgICAgICAg
ICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRoZXNlIHZhbHVlcwotICAgICAgICAgICAgICAgIHZh
bHNbJ2dhcycsIG5vZF9uYW1lXSA9M0Qgc2VsZi5kYXRhc2V0WyJ2YWxzX25vZF92YXIlcyIgJSA9
CihqKzEpXVs6XS5hc3R5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQotCi0gICAgICAgICAgICBz
ZWxmLmRhdGEuYXBwZW5kKHZhbHMpCi0KLSAgICBkZWYgZ2V0X251bV9lbGVtKHNlbGYpOgotICAg
ICAgICByZXR1cm4gc2VsZi5kYXRhc2V0WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQotCi0gICAg
ZGVmIGFkZF9jb25uZWN0KHNlbGYsIGNvbm5lY3Rfa2V5KToKLSAgICAgICAgc2VsZi5jb25uZWN0
cy5hcHBlbmQoc2VsZi5kYXRhc2V0W2Nvbm5lY3Rfa2V5XVs6XS5hc3R5cGUoImk4IikpCi0KLSAg
ICBkZWYgZ2V0X3Zhcl9uYW1lcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFtzZWxmLnNhbml0aXpl
X3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCi0gICAgICAgICAgICAgICAgc2VsZi5kYXRh
c2V0WyJuYW1lX2VsZW1fdmFyIl1bOl1dCi0KLSAgICBkZWYgZ2V0X25vZF9uYW1lcyhzZWxmKToK
LSAgICAgICAgcmV0dXJuIFtzZWxmLnNhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2
IGluCi0gICAgICAgICAgICAgICAgc2VsZi5kYXRhc2V0WyJuYW1lX25vZF92YXIiXVs6XV0KLQot
ICAgIGRlZiBzYW5pdGl6ZV9zdHJpbmcoc2VsZiwgcyk6Ci0gICAgICAgIHJldHVybiAiIi5qb2lu
KF8gZm9yIF8gaW4gdGFrZXdoaWxlKGxhbWJkYSBhOiBhIGluIHN0cmluZy5wcmludGFibD0KZSwg
cykpCi0KCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9lODQx
OGE1MzhhZDgvCkNoYW5nZXNldDogICBlODQxOGE1MzhhZDgKQnJhbmNoOiAgICAgIHl0ClVzZXI6
ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMDYgMTk6Mjk6MTErMDA6MDAK
U3VtbWFyeTogICAgIFVwZGF0ZSB1cHN0cmVhbQpBZmZlY3RlZCAjOiAgOSBmaWxlcwoKZGlmZiAt
ciBhYmJmNmI2ZTZmOWM4MzQ3ZmEzYzk4YjJkNjE5MmY3MWE5NTBkODFkIC1yIGU4NDE4YTUzOGFk
OGQzMGUyMGViNDY4PQphMjY1MzVhNmU4NzhmYWNmOSB5dC9mcm9udGVuZHMvZXhvZHVzaWkvX19p
bml0X18ucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c2lpL19faW5pdF9fLnB5CisrKyAvZGV2
L251bGwKQEAgLTEsMTQgKzAsMCBAQAotIiIiCi1BUEkgZm9yIHl0LmZyb250ZW5kcy5leG9kdXNp
aQotCi0KLQotIiIiCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCi0jIENvcHlyaWdodCAoYykg
MjAxMywgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KLSMKLSMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBNb2RpZmllZCBCU0QgTGljZW5zZS4KLSMKLSMgVGhlIGZ1bGwgbGljZW5zZSBp
cyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQph
cmUuCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQoKZGlmZiAtciBhYmJmNmI2ZTZmOWM4MzQ3ZmEz
Yzk4YjJkNjE5MmY3MWE5NTBkODFkIC1yIGU4NDE4YTUzOGFkOGQzMGUyMGViNDY4PQphMjY1MzVh
NmU4NzhmYWNmOSB5dC9mcm9udGVuZHMvZXhvZHVzaWkvYXBpLnB5Ci0tLSBhL3l0L2Zyb250ZW5k
cy9leG9kdXNpaS9hcGkucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0iIiIKLUFQ
SSBmb3IgeXQuZnJvbnRlbmRzLmV4b2R1c2lpCi0KLQotCi0iIiIKLQotIy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS09Ci0tLS0KLSMgQ29weXJpZ2h0IChjKSAyMDE1LCB5dCBEZXZlbG9wbWVudCBUZWFtLgotIwot
IyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNl
LgotIwotIyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0
cmlidXRlZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCi0K
LWZyb20gLmRhdGFfc3RydWN0dXJlcyBpbXBvcnQgXAotICAgICAgRXhvZHVzSUlHcmlkLCBcCi0g
ICAgICBFeG9kdXNJSUhpZXJhcmNoeSwgXAotICAgICAgRXhvZHVzSUlEYXRhc2V0Ci0KLWZyb20g
LmZpZWxkcyBpbXBvcnQgXAotICAgICAgRXhvZHVzSUlGaWVsZEluZm8KLQotZnJvbSAuaW8gaW1w
b3J0IFwKLSAgICAgIElPSGFuZGxlckV4b2R1c0lJCgpkaWZmIC1yIGFiYmY2YjZlNmY5YzgzNDdm
YTNjOThiMmQ2MTkyZjcxYTk1MGQ4MWQgLXIgZTg0MThhNTM4YWQ4ZDMwZTIwZWI0Njg9CmEyNjUz
NWE2ZTg3OGZhY2Y5IHl0L2Zyb250ZW5kcy9leG9kdXNpaS9kYXRhX3N0cnVjdHVyZXMucHkKLS0t
IGEveXQvZnJvbnRlbmRzL2V4b2R1c2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgL2Rldi9udWxs
CkBAIC0xLDIzMSArMCwwIEBACi0iIiIKLUV4b2R1c0lJIGRhdGEgc3RydWN0dXJlcwotCi0KLQot
IiIiCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCi0jIENvcHlyaWdodCAoYykgMjAxNSwgeXQg
RGV2ZWxvcG1lbnQgVGVhbS4KLSMKLSMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBNb2RpZmllZCBCU0QgTGljZW5zZS4KLSMKLSMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUg
ZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCi0jLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLT0KLS0tLQotCi1mcm9tIHl0LmZ1bmNzIGltcG9ydCAqCi1mcm9tIHl0LmNv
bmZpZyBpbXBvcnQgeXRjZmcKLWZyb20geXQuZGF0YV9vYmplY3RzLmRhdGFfY29udGFpbmVycyBp
bXBvcnQgXAotICAgIFlURmllbGREYXRhLCBcCi0gICAgWVREYXRhQ29udGFpbmVyLCBcCi0gICAg
WVRTZWxlY3Rpb25Db250YWluZXIKLWZyb20geXQuZGF0YV9vYmplY3RzLmdyaWRfcGF0Y2ggaW1w
b3J0IFwKLSAgICBBTVJHcmlkUGF0Y2gKLWZyb20geXQuZ2VvbWV0cnkuZ3JpZF9nZW9tZXRyeV9o
YW5kbGVyIGltcG9ydCBcCi0gICAgR3JpZEluZGV4Ci1mcm9tIHl0LmRhdGFfb2JqZWN0cy5zdGF0
aWNfb3V0cHV0IGltcG9ydCBcCi0gICAgRGF0YXNldAotZnJvbSB5dC5nZW9tZXRyeS51bnN0cnVj
dHVyZWRfbWVzaF9oYW5kbGVyIGltcG9ydCBcCi0gICAgICAgICAgIFVuc3RydWN0dXJlZEluZGV4
Ci1mcm9tIHl0LmRhdGFfb2JqZWN0cy51bnN0cnVjdHVyZWRfbWVzaCBpbXBvcnQgXAotICAgICAg
ICAgICBTZW1pU3RydWN0dXJlZE1lc2gsIFwKLSAgICAgICAgICAgVW5zdHJ1Y3R1cmVkTWVzaAot
ZnJvbSAuZmllbGRzIGltcG9ydCBFeG9kdXNJSUZpZWxkSW5mbwotZnJvbSBtb29zZV9wYXJzZXIu
ZGF0YSBpbXBvcnQgRGF0YQotCi1jbGFzcyBFeG9kdXNJSUhhbmRsZXIob2JqZWN0KToKLSAgICBk
ZWYgX19pbml0X18oc2VsZiwgbGVmdF9lZGdlcywgcmlnaHRfZWRnZXMpOgotICAgICAgICBzZWxm
LmxlZnRfZWRnZXMgPTNEIG5wLmFycmF5KGxlZnRfZWRnZXMpCi0gICAgICAgIHNlbGYucmlnaHRf
ZWRnZXMgPTNEIG5wLmFycmF5KHJpZ2h0X2VkZ2VzKQotICAgICAgICAgICA9MjAKLSAgICBkZWYg
Z2V0X2ZpZWxkcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuZmllbGRzLmFsbF9maWVsZHMK
LQotICAgIGRlZiBnZXRfcGFydGljbGVfdHlwZShzZWxmLCBmaWVsZCkgOgotCi0gICAgICAgIGlm
IGZpZWxkIGluIHNlbGYucGFydGljbGVfdHlwZXMgOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYu
cGFydGljbGVfdHlwZXNbZmllbGRdCi0gICAgICAgIGVsc2UgOgotICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCi0KLWNsYXNzIEV4b2R1c0lJR3JpZChBTVJHcmlkUGF0Y2gpOgotICAgIF9pZF9vZmZz
ZXQgPTNEIDAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgaWQsIGluZGV4LCBsZXZlbCwgc3RhcnQs
IGRpbWVuc2lvbnMpOgotICAgICAgICBBTVJHcmlkUGF0Y2guX19pbml0X18oc2VsZiwgaWQsIGZp
bGVuYW1lPTNEaW5kZXguaW5kZXhfZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbmRleD0zRGluZGV4KQotICAgICAgICBzZWxmLlBhcmVudCA9M0QgW10KLSAgICAgICAg
c2VsZi5DaGlsZHJlbiA9M0QgW10KLSAgICAgICAgc2VsZi5MZXZlbCA9M0QgbGV2ZWwKLSAgICAg
ICAgc2VsZi5zdGFydF9pbmRleCA9M0Qgc3RhcnQuY29weSgpCi0gICAgICAgIHNlbGYuc3RvcF9p
bmRleCA9M0Qgc2VsZi5zdGFydF9pbmRleCArIGRpbWVuc2lvbnMKLSAgICAgICAgc2VsZi5BY3Rp
dmVEaW1lbnNpb25zID0zRCBkaW1lbnNpb25zLmNvcHkoKQotCi0gICAgZGVmIF9fcmVwcl9fKHNl
bGYpOgotICAgICAgICByZXR1cm4gIkV4b2R1c0lJR3JpZF8lMDRpICglcykiICUgKHNlbGYuaWQs
IHNlbGYuQWN0aXZlRGltZW5zaW9ucykKLQotY2xhc3MgRXhvZHVzSUlIaWVyYXJjaHkoR3JpZElu
ZGV4KToKLSAgICBncmlkID0zRCBFeG9kdXNJSUdyaWQKLQotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBkcywgZGF0YXNldF90eXBlPTNEJ2V4b2R1c2lpJyk6Ci0gICAgICAgIHNlbGYuZGF0YXNldF90
eXBlID0zRCBkYXRhc2V0X3R5cGUKLSAgICAgICAgIyBmb3Igbm93LCB0aGUgaW5kZXggZmlsZSBp
cyB0aGUgZGF0YXNldCEKLSAgICAgICAgc2VsZi5pbmRleF9maWxlbmFtZSA9M0Qgc2VsZi5kYXRh
c2V0LnBhcmFtZXRlcl9maWxlbmFtZQotICAgICAgICBzZWxmLmRpcmVjdG9yeSA9M0Qgb3MucGF0
aC5kaXJuYW1lKHNlbGYuaW5kZXhfZmlsZW5hbWUpCi0gICAgICAgIEdyaWRJbmRleC5fX2luaXRf
XyhzZWxmLCBkcywgZGF0YXNldF90eXBlKQotCi0gICAgZGVmIF9kZXRlY3Rfb3V0cHV0X2ZpZWxk
cyhzZWxmKToKLSAgICAgICAgIyBUaGlzIG5lZWRzIHRvIHNldCBhIHNlbGYuZmllbGRfbGlzdCB0
aGF0IGNvbnRhaW5zIGFsbCB0aGUgYXZhaWxhPQpibGUsCi0gICAgICAgICMgb24tZGlzayBmaWVs
ZHMuCi0gICAgICAgICMgTk9URTogRWFjaCBzaG91bGQgYmUgYSB0dXBsZSwgd2hlcmUgdGhlIGZp
cnN0IGVsZW1lbnQgaXMgdGhlIG9uLT0KZGlzawotICAgICAgICAjIGZsdWlkIHR5cGUgb3IgcGFy
dGljbGUgdHlwZS4gIENvbnZlbnRpb24gc3VnZ2VzdHMgdGhhdCB0aGUgb24tZGk9CnNrCi0gICAg
ICAgICMgZmx1aWQgdHlwZSBpcyB1c3VhbGx5IHRoZSBkYXRhc2V0X3R5cGUgYW5kIHRoZSBvbi1k
aXNrIHBhcnRpY2xlID0KdHlwZQotICAgICAgICAjIChmb3IgYSBzaW5nbGUgcG9wdWxhdGlvbiBv
ZiBwYXJ0aWNsZXMpIGlzICJpbyIuCi0gICAgICAgIHBhc3MKLQotICAgIGRlZiBfY291bnRfZ3Jp
ZHMoc2VsZik6Ci0gICAgICAgICMgVGhpcyBuZWVkcyB0byBzZXQgc2VsZi5udW1fZ3JpZHMKLSAg
ICAgICAgcGFzcwotCi0gICAgZGVmIF9wYXJzZV9pbmRleChzZWxmKToKLSAgICAgICAgIyBUaGlz
IG5lZWRzIHRvIGZpbGwgdGhlIGZvbGxvd2luZyBhcnJheXMsIHdoZXJlIE4gaXMgc2VsZi5udW1f
Z3JpPQpkczoKLSAgICAgICAgIyAgIHNlbGYuZ3JpZF9sZWZ0X2VkZ2UgICAgICAgICAoTiwgMykg
PD0zRCBmbG9hdDY0Ci0gICAgICAgICMgICBzZWxmLmdyaWRfcmlnaHRfZWRnZSAgICAgICAgKE4s
IDMpIDw9M0QgZmxvYXQ2NAotICAgICAgICAjICAgc2VsZi5ncmlkX2RpbWVuc2lvbnMgICAgICAg
IChOLCAzKSA8PTNEIGludAotICAgICAgICAjICAgc2VsZi5ncmlkX3BhcnRpY2xlX2NvdW50ICAg
IChOLCAxKSA8PTNEIGludAotICAgICAgICAjICAgc2VsZi5ncmlkX2xldmVscyAgICAgICAgICAg
IChOLCAxKSA8PTNEIGludAotICAgICAgICAjICAgc2VsZi5ncmlkcyAgICAgICAgICAgICAgICAg
IChOLCAxKSA8PTNEIGdyaWQgb2JqZWN0cwotICAgICAgICAjCi0gICAgICAgIHBhc3MKLQotICAg
IGRlZiBfcG9wdWxhdGVfZ3JpZF9vYmplY3RzKHNlbGYpOgotICAgICAgICAjIEZvciBlYWNoIGdy
aWQsIHRoaXMgbXVzdCBjYWxsOgotICAgICAgICAjICAgZ3JpZC5fcHJlcGFyZV9ncmlkKCkKLSAg
ICAgICAgIyAgIGdyaWQuX3NldHVwX2R4KCkKLSAgICAgICAgIyBUaGlzIG11c3QgYWxzbyBzZXQ6
Ci0gICAgICAgICMgICBncmlkLkNoaWxkcmVuIDw9M0QgbGlzdCBvZiBjaGlsZCBncmlkcwotICAg
ICAgICAjICAgZ3JpZC5QYXJlbnQgICA8PTNEIHBhcmVudCBncmlkCi0gICAgICAgICMgVGhpcyBp
cyBoYW5kbGVkIGJ5IHRoZSBmcm9udGVuZCBiZWNhdXNlIG9mdGVuIHRoZSBjaGlsZHJlbiBtdXN0
ID0KYmUKLSAgICAgICAgIyBpZGVudGlmaWVkLgotICAgICAgICBwYXNzCi0KLWNsYXNzIEV4b2R1
c0lJRGF0YXNldChEYXRhc2V0KToKLSAgICBfaW5kZXhfY2xhc3MgPTNEIEV4b2R1c0lJSGllcmFy
Y2h5Ci0gICAgX2ZpZWxkX2luZm9fY2xhc3MgPTNEIEV4b2R1c0lJRmllbGRJbmZvCi0gICAgX2Rh
dGFzZXRfdHlwZSA9M0QgJ2V4b2R1c2lpJwotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4b2R1
c2lpX2hhbmRsZXIsIHN0b3JhZ2VfZmlsZW5hbWU9M0ROb25lLCBnZW9tZXRyeT0KPTNEImNhcnRl
c2lhbiIpOgotICAgICAgICBzZWxmLmdlb21ldHJ5ID0zRCBnZW9tZXRyeQotICAgICAgICBzZWxm
LmV4b2R1c2lpX2hhbmRsZXIgPTNEIGV4b2R1c2lpX2hhbmRsZXIKLSAgICAgICAgbmFtZSA9M0Qg
IkluTWVtb3J5UGFyYW1ldGVyRmlsZV8lcyIgJSAodXVpZC51dWlkNCgpLmhleCkKLSAgICAgICAg
ZnJvbSB5dC5kYXRhX29iamVjdHMuc3RhdGljX291dHB1dCBpbXBvcnQgX2NhY2hlZF9kYXRhc2V0
cwotICAgICAgICBfY2FjaGVkX2RhdGFzZXRzW25hbWVdID0zRCBzZWxmCi0gICAgICAgIERhdGFz
ZXQuX19pbml0X18oc2VsZiwgbmFtZSwgc2VsZi5fZGF0YXNldF90eXBlKQotCi0gICAgZGVmIF9w
YXJzZV9wYXJhbWV0ZXJfZmlsZShzZWxmKToKLSAgICAgICAgIyBUaGlzIG5lZWRzIHRvIHNldCB1
cCB0aGUgZm9sbG93aW5nIGl0ZW1zLiAgTm90ZSB0aGF0IHRoZXNlIGFyZSBhPQpsbAotICAgICAg
ICAjIGFzc3VtZWQgdG8gYmUgaW4gY29kZSB1bml0czsgZG9tYWluX2xlZnRfZWRnZSBhbmQgZG9t
YWluX3JpZ2h0X2U9CmRnZQotICAgICAgICAjIHdpbGwgYmUgdXBkYXRlZCB0byBiZSBpbiBjb2Rl
IHVuaXRzIGF0IGEgbGF0ZXIgdGltZS4gIFRoaXMgaW5jbHU9CmRlcwotICAgICAgICAjIHRoZSBj
b3Ntb2xvZ2ljYWwgcGFyYW1ldGVycy4KLSAgICAgICAgIwotICAgICAgICAjICAgc2VsZi51bmlx
dWVfaWRlbnRpZmllcgotICAgICAgICAjICAgc2VsZi5wYXJhbWV0ZXJzICAgICAgICAgICAgIDw9
M0QgZnVsbCBvZiBjb2RlLXNwZWNpZmljIGl0ZW1zIG89CmYgdXNlCi0gICAgICAgICMgICBzZWxm
LmRvbWFpbl9sZWZ0X2VkZ2UgICAgICAgPD0zRCBhcnJheSBvZiBmbG9hdDY0Ci0gICAgICAgICMg
ICBzZWxmLmRvbWFpbl9yaWdodF9lZGdlICAgICAgPD0zRCBhcnJheSBvZiBmbG9hdDY0Ci0gICAg
ICAgICMgICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAgICAgICAgPD0zRCBpbnQKLSAgICAgICAgIyAg
IHNlbGYuZG9tYWluX2RpbWVuc2lvbnMgICAgICA8PTNEIGFycmF5IG9mIGludDY0Ci0gICAgICAg
ICMgICBzZWxmLnBlcmlvZGljaXR5ICAgICAgICAgICAgPD0zRCB0aHJlZS1lbGVtZW50IHR1cGxl
IG9mIGJvb2xlYT0KbnMKLSAgICAgICAgIyAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICA8
PTNEIHNpbXVsYXRpb24gdGltZSBpbiBjb2RlIHVuaXRzCi0gICAgICAgICMKLSAgICAgICAgIyBX
ZSBhbHNvIHNldCB1cCBjb3Ntb2xvZ2ljYWwgaW5mb3JtYXRpb24uICBTZXQgdGhlc2UgdG8gemVy
byBpZgotICAgICAgICAjIG5vbi1jb3Ntb2xvZ2ljYWwuCi0gICAgICAgICMKLSAgICAgICAgIyAg
IHNlbGYuY29zbW9sb2dpY2FsX3NpbXVsYXRpb24gICAgPD0zRCBpbnQsIDAgb3IgMQotICAgICAg
ICAjICAgc2VsZi5jdXJyZW50X3JlZHNoaWZ0ICAgICAgICAgICA8PTNEIGZsb2F0Ci0gICAgICAg
ICMgICBzZWxmLm9tZWdhX2xhbWJkYSAgICAgICAgICAgICAgIDw9M0QgZmxvYXQKLSAgICAgICAg
IyAgIHNlbGYub21lZ2FfbWF0dGVyICAgICAgICAgICAgICAgPD0zRCBmbG9hdAotICAgICAgICAj
ICAgc2VsZi5odWJibGVfY29uc3RhbnQgICAgICAgICAgICA8PTNEIGZsb2F0Ci0gICAgICAgIHBh
c3MKLQotICAgIGRlZiBfc2V0X3VuaXRzKHNlbGYpOgotICAgICAgICBzZWxmLmZpZWxkX3VuaXRz
ID0zRCBzZWxmLmV4b2R1c2lpX2hhbmRsZXIuZmllbGRfdW5pdHMKLQotICAgIGRlZiBfc2V0X2Nv
ZGVfdW5pdF9hdHRyaWJ1dGVzKHNlbGYpOgotICAgICAgICBiYXNlX3VuaXRzID0zRCBzZWxmLmV4
b2R1c2lpX2hhbmRsZXIuY29kZV91bml0cwotICAgICAgICBhdHRycyA9M0QgKCdsZW5ndGhfdW5p
dCcsICdtYXNzX3VuaXQnLCAndGltZV91bml0JywgJ3ZlbG9jaXR5X3VuaXQ9CicsICdtYWduZXRp
Y191bml0JykKLSAgICAgICAgY2dzX3VuaXRzID0zRCAoJ2NtJywgJ2cnLCAncycsICdjbS9zJywg
J2dhdXNzJykKLSAgICAgICAgZm9yIHVuaXQsIGF0dHIsIGNnc191bml0IGluIHppcChiYXNlX3Vu
aXRzLCBhdHRycywgY2dzX3VuaXRzKToKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodW5pdCwg
c3RyaW5nX3R5cGVzKToKLSAgICAgICAgICAgICAgICB1cSA9M0Qgc2VsZi5xdWFuKDEuMCwgdW5p
dCkKLSAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh1bml0LCBudW1lcmljX3R5cGUpOgotICAg
ICAgICAgICAgICAgIHVxID0zRCBzZWxmLnF1YW4odW5pdCwgY2dzX3VuaXQpCi0gICAgICAgICAg
ICBlbGlmIGlzaW5zdGFuY2UodW5pdCwgWVRRdWFudGl0eSk6Ci0gICAgICAgICAgICAgICAgdXEg
PTNEIHVuaXQKLSAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh1bml0LCB0dXBsZSk6Ci0gICAg
ICAgICAgICAgICAgdXEgPTNEIHNlbGYucXVhbih1bml0WzBdLCB1bml0WzFdKQotICAgICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIiVzICglcykgaXMg
aW52YWxpZC4iICUgKGF0dHIsIHVuaXQpKQotICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBhdHRy
LCB1cSkKLQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIF9pc192YWxpZChzZWxmLCAqYXJn
cywgKiprd2FyZ3MpOgotICAgICAgICAjIFRoaXMgYWNjZXB0cyBhIGZpbGVuYW1lIG9yIGEgc2V0
IG9mIGFyZ3VtZW50cyBhbmQgcmV0dXJucyBUcnVlIG9yCi0gICAgICAgICMgRmFsc2UgZGVwZW5k
aW5nIG9uIGlmIHRoZSBmaWxlIGlzIG9mIHRoZSB0eXBlIHJlcXVlc3RlZC4KLSAgICAgICAgcmV0
dXJuIEZhbHNlCi0KLWNsYXNzIEV4b2R1c0lJRGljdEZpZWxkSGFuZGxlcihkaWN0KToKLSAgICBf
YWRkaXRpb25hbF9maWVsZHMgPTNEICgpCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYWxsX2Zp
ZWxkcyhzZWxmKToKLSAgICAgICAgc2VsZl9maWVsZHMgPTNEIGNoYWluLmZyb21faXRlcmFibGUo
cy5rZXlzKCkgZm9yIHMgaW4gc2VsZi52YWx1ZXMoPQopKQotICAgICAgICBzZWxmX2ZpZWxkcyA9
M0QgbGlzdChzZXQoc2VsZl9maWVsZHMpKQotICAgICAgICBmaWVsZHMgPTNEIGxpc3Qoc2VsZi5f
YWRkaXRpb25hbF9maWVsZHMpICsgc2VsZl9maWVsZHMKLSAgICAgICAgZmllbGRzID0zRCBsaXN0
KHNldChmaWVsZHMpKQotICAgICAgICByZXR1cm4gZmllbGRzICAgPTIwCi0KLWNsYXNzIEV4b2R1
c0lJVW5zdHJ1Y3R1cmVkTWVzaChVbnN0cnVjdHVyZWRNZXNoKToKLSAgICBfaW5kZXhfb2Zmc2V0
ID0zRCAxCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAg
ICAgc3VwZXIoRXhvZHVzSUlVbnN0cnVjdHVyZWRNZXNoLCBzZWxmKS5fX2luaXRfXygqYXJncywg
Kiprd2FyZ3MpCi0KLWNsYXNzIEV4b2R1c0lJVW5zdHJ1Y3R1cmVkSW5kZXgoVW5zdHJ1Y3R1cmVk
SW5kZXgpOgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzLCBkYXRhc2V0X3R5cGUgPTNEIE5v
bmUpOgotICAgICAgICBzZWxmLmV4b2R1c2lpX2hhbmRsZXIgPTNEIGRzLmV4b2R1c2lpX2hhbmRs
ZXIKLSAgICAgICAgc3VwZXIoRXhvZHVzSUlVbnN0cnVjdHVyZWRJbmRleCwgc2VsZikuX19pbml0
X18oZHMsIGRhdGFzZXRfdHlwZSkKLQotICAgIGRlZiBfaW5pdGlhbGl6ZV9tZXNoKHNlbGYpOgot
ICAgICAgICBjb29yZHMgPTNEIGVuc3VyZV9saXN0KHNlbGYuc3RyZWFtX2hhbmRsZXIuZmllbGRz
LnBvcCgiY29vcmRpbmF0ZXM9CiIpKQotICAgICAgICBjb25uZWMgPTNEIGVuc3VyZV9saXN0KHNl
bGYuc3RyZWFtX2hhbmRsZXIuZmllbGRzLnBvcCgiY29ubmVjdGl2aXQ9CnkiKSkKLSAgICAgICAg
c2VsZi5tZXNoZXMgPTNEIFtTdHJlYW1VbnN0cnVjdHVyZWRNZXNoKAotICAgICAgICAgIGksIHNl
bGYuaW5kZXhfZmlsZW5hbWUsIGMxLCBjMiwgc2VsZikKLSAgICAgICAgICBmb3IgaSwgKGMxLCBj
MikgaW4gZW51bWVyYXRlKHppcChjb25uZWMsIGNvb3JkcykpXQotCi0gICAgZGVmIF9zZXR1cF9k
YXRhX2lvKHNlbGYpOgotICAgICAgICBpZiBzZWxmLnN0cmVhbV9oYW5kbGVyLmlvIGlzIG5vdCBO
b25lOgotICAgICAgICAgICAgc2VsZi5pbyA9M0Qgc2VsZi5zdHJlYW1faGFuZGxlci5pbwotICAg
ICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5pbyA9M0QgaW9fcmVnaXN0cnlbc2VsZi5kYXRh
c2V0X3R5cGVdKHNlbGYuZHMpCi0KLSAgICBkZWYgX2RldGVjdF9vdXRwdXRfZmllbGRzKHNlbGYp
OgotICAgICAgICBzZWxmLmZpZWxkX2xpc3QgPTNEIGxpc3Qoc2V0KHNlbGYuc3RyZWFtX2hhbmRs
ZXIuZ2V0X2ZpZWxkcygpKSkKLQotY2xhc3MgRXhvZHVzSUlVbnN0cnVjdHVyZWRNZXNoRGF0YXNl
dChFeG9kdXNJSURhdGFzZXQpOgotICAgIF9pbmRleF9jbGFzcyA9M0QgRXhvZHVzSUlVbnN0cnVj
dHVyZWRJbmRleAotICAgIF9maWVsZF9pbmZvX2NsYXNzID0zRCBFeG9kdXNJSUZpZWxkSW5mbwot
ICAgIF9kYXRhc2V0X3R5cGUgPTNEICJleG9kdXNpaV91bnN0cnVjdHVyZWQiCi0KLWRlZiBsb2Fk
X3Vuc3RydWN0dXJlZF9tZXNoKGRhdGEsIGNvbm5lY3Rpdml0eSwgY29vcmRpbmF0ZXMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoX3VuaXQgPTNEIE5vbmUsIGJib3g9M0ROb25lLCBz
aW1fdGltZT0zRDAuMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBtYXNzX3VuaXQgPTNEIE5v
bmUsIHRpbWVfdW5pdCA9M0QgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ZWxvY2l0
eV91bml0ID0zRCBOb25lLCBtYWduZXRpY191bml0ID0zRCBOb25lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHBlcmlvZGljaXR5PTNEKEZhbHNlLCBGYWxzZSwgRmFsc2UpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGdlb21ldHJ5ID0zRCAiY2FydGVzaWFuIik6Ci0gICA9MjAKLSAgICBo
YW5kbGVyID0zRCBFeG9kdXNJSUhhbmRsZXIoKQotICAgIGVkcyA9M0QgRXhvZHVzSUlVbnN0cnVj
dHVyZWRNZXNoRGF0YXNldChoYW5kbGVyLCBnZW9tZXRyeSA9M0QgZ2VvbWV0cnkpCi0KLSAgICBy
ZXR1cm4gZWRzCi0gICA9MjAKCmRpZmYgLXIgYWJiZjZiNmU2ZjljODM0N2ZhM2M5OGIyZDYxOTJm
NzFhOTUwZDgxZCAtciBlODQxOGE1MzhhZDhkMzBlMjBlYjQ2OD0KYTI2NTM1YTZlODc4ZmFjZjkg
eXQvZnJvbnRlbmRzL2V4b2R1c2lpL2RlZmluaXRpb25zLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9l
eG9kdXNpaS9kZWZpbml0aW9ucy5weQorKysgL2Rldi9udWxsCkBAIC0xLDEgKzAsMCBAQAotIyBU
aGlzIGZpbGUgaXMgb2Z0ZW4gZW1wdHkuICBJdCBjYW4gaG9sZCBkZWZpbml0aW9ucyByZWxhdGVk
IHRvIGEgZnJvbnRlbmQuCgpkaWZmIC1yIGFiYmY2YjZlNmY5YzgzNDdmYTNjOThiMmQ2MTkyZjcx
YTk1MGQ4MWQgLXIgZTg0MThhNTM4YWQ4ZDMwZTIwZWI0Njg9CmEyNjUzNWE2ZTg3OGZhY2Y5IHl0
L2Zyb250ZW5kcy9leG9kdXNpaS9maWVsZHMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c2lp
L2ZpZWxkcy5weQorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLSIiIgotRXhvZHVzSUkt
c3BlY2lmaWMgZmllbGRzCi0KLQotCi0iIiIKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KLSMg
Q29weXJpZ2h0IChjKSAyMDEzLCB5dCBEZXZlbG9wbWVudCBUZWFtLgotIwotIyBEaXN0cmlidXRl
ZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgotIwotIyBUaGUg
ZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3aXRo
IHRoaXMgc29mdHc9CmFyZS4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCi0KLWltcG9ydCBudW1w
eSBhcyBucAotZnJvbSB5dC5mdW5jcyBpbXBvcnQgbXlsb2cKLWZyb20geXQuZmllbGRzLmZpZWxk
X2luZm9fY29udGFpbmVyIGltcG9ydCBcCi0gICAgRmllbGRJbmZvQ29udGFpbmVyCi0KLSMgV2Ug
bmVlZCB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkcyB3ZSBtaWdodCBoYXZlIGluIG91ciBkYXRhc2V0
LiAgVGhlIGZpZWxkPQogaW5mbwotIyBjb250YWluZXIgc3ViY2xhc3MgaGVyZSB3aWxsIGRlZmlu
ZSB3aGljaCBmaWVsZHMgaXQga25vd3MgYWJvdXQuICBUaGVyZSA9CmFyZQotIyBvcHRpb25hbGx5
IG1ldGhvZHMgb24gaXQgdGhhdCBnZXQgY2FsbGVkIHdoaWNoIGNhbiBiZSBzdWJjbGFzc2VkLgot
Ci1jbGFzcyBFeG9kdXNJSUZpZWxkSW5mbyhGaWVsZEluZm9Db250YWluZXIpOgotICAgIGtub3du
X290aGVyX2ZpZWxkcyA9M0QgKAotICAgICAgICAjIEVhY2ggZW50cnkgaGVyZSBpcyBvZiB0aGUg
Zm9ybQotICAgICAgICAjICggIm5hbWUiLCAoInVuaXRzIiwgWyJmaWVsZHMiLCAidG8iLCAiYWxp
YXMiXSwgIyAiZGlzcGxheV9uYW1lIik9CiksCi0gICAgKQotCi0gICAga25vd25fcGFydGljbGVf
ZmllbGRzID0zRCAoCi0gICAgICAgICMgSWRlbnRpY2FsIGZvcm0gdG8gYWJvdmUKLSAgICAgICAg
IyAoICJuYW1lIiwgKCJ1bml0cyIsIFsiZmllbGRzIiwgInRvIiwgImFsaWFzIl0sICMgImRpc3Bs
YXlfbmFtZSIpPQopLAotICAgICkKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcyk6Ci0gICAg
ICAgIHN1cGVyKEV4b2R1c0lJRmllbGRJbmZvLCBzZWxmKS5fX2luaXRfXyhkcykKLSAgICAgICAg
IyBJZiB5b3Ugd2FudCwgeW91IGNhbiBjaGVjayBzZWxmLmZpZWxkX2xpc3QKLQotICAgIGRlZiBz
ZXR1cF9mbHVpZF9maWVsZHMoc2VsZik6Ci0gICAgICAgICMgSGVyZSB3ZSBkbyBhbnl0aGluZyB0
aGF0IG1pZ2h0IG5lZWQgaW5mbyBhYm91dCB0aGUgZGF0YXNldC4KLSAgICAgICAgIyBZb3UgY2Fu
IHVzZSBzZWxmLmFsaWFzLCBzZWxmLmFkZF9vdXRwdXRfZmllbGQgYW5kIHNlbGYuYWRkX2ZpZWxk
PQogLgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgc2V0dXBfcGFydGljbGVfZmllbGRzKHNlbGYs
IHB0eXBlKToKLSAgICAgICAgIyBUaGlzIHdpbGwgZ2V0IGNhbGxlZCBmb3IgZXZlcnkgcGFydGlj
bGUgdHlwZS4KLSAgICAgICAgcGFzcwoKZGlmZiAtciBhYmJmNmI2ZTZmOWM4MzQ3ZmEzYzk4YjJk
NjE5MmY3MWE5NTBkODFkIC1yIGU4NDE4YTUzOGFkOGQzMGUyMGViNDY4PQphMjY1MzVhNmU4Nzhm
YWNmOSB5dC9mcm9udGVuZHMvZXhvZHVzaWkvaW8ucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1
c2lpL2lvLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotIiIiCi1FeG9kdXNJSS1z
cGVjaWZpYyBJTyBmdW5jdGlvbnMKLQotCi0KLSIiIgotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0t
LQotIyBDb3B5cmlnaHQgKGMpIDIwMTUsIHl0IERldmVsb3BtZW50IFRlYW0uCi0jCi0jIERpc3Ry
aWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTW9kaWZpZWQgQlNEIExpY2Vuc2UuCi0jCi0j
IFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVk
IHdpdGggdGhpcyBzb2Z0dz0KYXJlLgotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KLQotZnJvbSB5
dC51dGlsaXRpZXMuaW9faGFuZGxlciBpbXBvcnQgXAotICAgIEJhc2VJT0hhbmRsZXIKLQotY2xh
c3MgSU9IYW5kbGVyRXhvZHVzSUkoQmFzZUlPSGFuZGxlcik6Ci0gICAgX3BhcnRpY2xlX3JlYWRl
ciA9M0QgRmFsc2UKLSAgICBfZGF0YXNldF90eXBlID0zRCAiZXhvZHVzaWkiCi0KLSAgICBkZWYg
X3JlYWRfcGFydGljbGVfY29vcmRzKHNlbGYsIGNodW5rcywgcHRmKToKLSAgICAgICAgIyBUaGlz
IG5lZWRzIHRvICp5aWVsZCogYSBzZXJpZXMgb2YgdHVwbGVzIG9mIChwdHlwZSwgKHgsIHksIHop
KS4KLSAgICAgICAgIyBjaHVua3MgaXMgYSBsaXN0IG9mIGNodW5rcywgYW5kIHB0ZiBpcyBhIGRp
Y3Qgd2hlcmUgdGhlIGtleXMgYXJlCi0gICAgICAgICMgcHR5cGVzIGFuZCB0aGUgdmFsdWVzIGFy
ZSBsaXN0cyBvZiBmaWVsZHMuCi0gICAgICAgIHBhc3MKLQotICAgIGRlZiBfcmVhZF9wYXJ0aWNs
ZV9maWVsZHMoc2VsZiwgY2h1bmtzLCBwdGYsIHNlbGVjdG9yKToKLSAgICAgICAgIyBUaGlzIGdl
dHMgY2FsbGVkIGFmdGVyIHRoZSBhcnJheXMgaGF2ZSBiZWVuIGFsbG9jYXRlZC4gIEl0IG5lZWRz
PQogdG8KLSAgICAgICAgIyB5aWVsZCAoKHB0eXBlLCBmaWVsZCksIGRhdGEpIHdoZXJlIGRhdGEg
aXMgdGhlIG1hc2tlZCByZXN1bHRzIG9mCi0gICAgICAgICMgcmVhZGluZyBwdHlwZSwgZmllbGQg
YW5kIGFwcGx5aW5nIHRoZSBzZWxlY3RvciB0byB0aGUgZGF0YSByZWFkID0KaW4uCi0gICAgICAg
ICMgU2VsZWN0b3Igb2JqZWN0cyBoYXZlIGEgLnNlbGVjdF9wb2ludHMoeCx5LHopIHRoYXQgcmV0
dXJucyBhIG1hcz0Kaywgc28KLSAgICAgICAgIyB5b3UgbmVlZCB0byBkbyB5b3VyIG1hc2tpbmcg
aGVyZS4KLSAgICAgICAgcGFzcwotCi0KLSAgICBkZWYgX3JlYWRfZmx1aWRfc2VsZWN0aW9uKHNl
bGYsIGNodW5rcywgc2VsZWN0b3IsIGZpZWxkcywgc2l6ZSk6Ci0gICAgICAgICMgVGhpcyBuZWVk
cyB0byBhbGxvY2F0ZSBhIHNldCBvZiBhcnJheXMgaW5zaWRlIGEgZGljdGlvbmFyeSwgd2hlcj0K
ZSB0aGUKLSAgICAgICAgIyBrZXlzIGFyZSB0aGUgKGZ0eXBlLCBmbmFtZSkgdHVwbGVzIGFuZCB0
aGUgdmFsdWVzIGFyZSBhcnJheXMgdGhhdAotICAgICAgICAjIGhhdmUgYmVlbiBtYXNrZWQgdXNp
bmcgd2hhdGV2ZXIgc2VsZWN0b3IgbWV0aG9kIGlzIGFwcHJvcHJpYXRlLiA9CiBUaGUKLSAgICAg
ICAgIyBkaWN0IGdldHMgcmV0dXJuZWQgYXQgdGhlIGVuZCBhbmQgaXQgc2hvdWxkIGJlIGZsYXQs
IHdpdGggc2VsZWN0PQplZAotICAgICAgICAjIGRhdGEuICBOb3RlIHRoYXQgaWYgeW91J3JlIHJl
YWRpbmcgZ3JpZCBkYXRhLCB5b3UgbWlnaHQgbmVlZCB0bwotICAgICAgICAjIHNwZWNpYWwtY2Fz
ZSBhIGdyaWQgc2VsZWN0b3Igb2JqZWN0LgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgX3JlYWRf
Y2h1bmtfZGF0YShzZWxmLCBjaHVuaywgZmllbGRzKToKLSAgICAgICAgIyBUaGlzIHJlYWRzIHRo
ZSBkYXRhIGZyb20gYSBzaW5nbGUgY2h1bmssIGFuZCBpcyBvbmx5IHVzZWQgZm9yCi0gICAgICAg
ICMgY2FjaGluZy4KLSAgICAgICAgcGFzcwoKZGlmZiAtciBhYmJmNmI2ZTZmOWM4MzQ3ZmEzYzk4
YjJkNjE5MmY3MWE5NTBkODFkIC1yIGU4NDE4YTUzOGFkOGQzMGUyMGViNDY4PQphMjY1MzVhNmU4
NzhmYWNmOSB5dC9mcm9udGVuZHMvZXhvZHVzaWkvc2V0dXAucHkKLS0tIGEveXQvZnJvbnRlbmRz
L2V4b2R1c2lpL3NldHVwLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uCi1pbXBvcnQgc2V0dXB0b29scwotaW1wb3J0IG9zCi1pbXBvcnQgc3lz
Ci1pbXBvcnQgb3MucGF0aAotCi0KLWRlZiBjb25maWd1cmF0aW9uKHBhcmVudF9wYWNrYWdlPTNE
JycsIHRvcF9wYXRoPTNETm9uZSk6Ci0gICAgZnJvbSBudW1weS5kaXN0dXRpbHMubWlzY191dGls
IGltcG9ydCBDb25maWd1cmF0aW9uCi0gICAgY29uZmlnID0zRCBDb25maWd1cmF0aW9uKCdleG9k
dXNpaScsIHBhcmVudF9wYWNrYWdlLCB0b3BfcGF0aCkKLSAgICBjb25maWcubWFrZV9jb25maWdf
cHkoKSAgIyBpbnN0YWxscyBfX2NvbmZpZ19fLnB5Ci0gICAgI2NvbmZpZy5tYWtlX3N2bl92ZXJz
aW9uX3B5KCkKLSAgICByZXR1cm4gY29uZmlnCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2Fu
YWx5c2lzL3l0L2NvbW1pdHMvYmYxYTJmOWViMTA3LwpDaGFuZ2VzZXQ6ICAgYmYxYTJmOWViMTA3
CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1
LTA3LTA2IDE5OjM4OjU2KzAwOjAwClN1bW1hcnk6ICAgICBSZW1vdmUgY2hhbmdlcwpBZmZlY3Rl
ZCAjOiAgMyBmaWxlcwoKZGlmZiAtciBlODQxOGE1MzhhZDhkMzBlMjBlYjQ2OGEyNjUzNWE2ZTg3
OGZhY2Y5IC1yIGJmMWEyZjllYjEwN2JiNTk4ZWQ2ZjA5PQoxMTlhNTdiOGIzNzUzZGE5MiAucHl0
aG9uLXZlcnNpb24KLS0tIGEvLnB5dGhvbi12ZXJzaW9uCisrKyBiLy5weXRob24tdmVyc2lvbgpA
QCAtMSwxICsxLDEgQEAKLTIuNy4xMAorMi43LjkKCmRpZmYgLXIgZTg0MThhNTM4YWQ4ZDMwZTIw
ZWI0NjhhMjY1MzVhNmU4NzhmYWNmOSAtciBiZjFhMmY5ZWIxMDdiYjU5OGVkNmYwOT0KMTE5YTU3
YjhiMzc1M2RhOTIgZG9jL3NvdXJjZS9xdWlja3N0YXJ0LzEpX0ludHJvZHVjdGlvbi5pcHluYgot
LS0gYS9kb2Mvc291cmNlL3F1aWNrc3RhcnQvMSlfSW50cm9kdWN0aW9uLmlweW5iCisrKyBiL2Rv
Yy9zb3VyY2UvcXVpY2tzdGFydC8xKV9JbnRyb2R1Y3Rpb24uaXB5bmIKQEAgLTEsNyArMSw3IEBA
CiB7CiAgIm1ldGFkYXRhIjogewogICAibmFtZSI6ICIiLAotICAic2lnbmF0dXJlIjogInNoYTI1
Njo2Nzg3ZmNhMzViYjlkZGJkYWQ2ZGI3NWU2MjYwMTEwNzQwZjQ0M2I1ZmY0NzE0MzNjYzU9Cjdm
ZGEyOGMwODZhNjQiCisgICJzaWduYXR1cmUiOiAic2hhMjU2OjU5ZDRmNDU0MjE4NDE1Njg5YmVm
NDNkNDVkZmNkNTliZjk5MTNjZmJlYjQxNmVmYTU5Nj0KZmE5OWZmNWM0NDg1NiIKICB9LAogICJu
YmZvcm1hdCI6IDMsCiAgIm5iZm9ybWF0X21pbm9yIjogMCwKQEAgLTYzLDQ0ICs2Myw2IEBACiAg
ICAgIF0sCiAgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAogICAgICAibWV0YWRhdGEiOiB7fSwK
LSAgICAgIm91dHB1dHMiOiBbCi0gICAgICB7Ci0gICAgICAgIm91dHB1dF90eXBlIjogInN0cmVh
bSIsCi0gICAgICAgInN0cmVhbSI6ICJzdGRvdXQiLAotICAgICAgICJ0ZXh0IjogWwotICAgICAg
ICAiR290IGVuem9fdGlueV9jb3Ntb2xvZ3lcbiIKLSAgICAgICBdCi0gICAgICB9LAotICAgICAg
ewotICAgICAgICJvdXRwdXRfdHlwZSI6ICJzdHJlYW0iLAotICAgICAgICJzdHJlYW0iOiAic3Rk
b3V0IiwKLSAgICAgICAidGV4dCI6IFsKLSAgICAgICAgIkdvdCBFbnpvXzY0XG4iCi0gICAgICAg
XQotICAgICAgfSwKLSAgICAgIHsKLSAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKLSAg
ICAgICAic3RyZWFtIjogInN0ZG91dCIsCi0gICAgICAgInRleHQiOiBbCi0gICAgICAgICJHb3Qg
SXNvbGF0ZWRHYWxheHlcbiIKLSAgICAgICBdCi0gICAgICB9LAotICAgICAgewotICAgICAgICJv
dXRwdXRfdHlwZSI6ICJzdHJlYW0iLAotICAgICAgICJzdHJlYW0iOiAic3Rkb3V0IiwKLSAgICAg
ICAidGV4dCI6IFsKLSAgICAgICAgIkFsbCBkb25lIVxuIgotICAgICAgIF0KLSAgICAgIH0KLSAg
ICAgXSwKLSAgICAgInByb21wdF9udW1iZXIiOiAyCi0gICAgfSwKLSAgICB7Ci0gICAgICJjZWxs
X3R5cGUiOiAiY29kZSIsCi0gICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKLSAgICAgImlucHV0Ijog
W10sCi0gICAgICJsYW5ndWFnZSI6ICJweXRob24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKICAg
ICAgIm91dHB1dHMiOiBbXQogICAgIH0KICAgIF0sCgpkaWZmIC1yIGU4NDE4YTUzOGFkOGQzMGUy
MGViNDY4YTI2NTM1YTZlODc4ZmFjZjkgLXIgYmYxYTJmOWViMTA3YmI1OThlZDZmMDk9CjExOWE1
N2I4YjM3NTNkYTkyIGRvYy9zb3VyY2UvcXVpY2tzdGFydC8yKV9EYXRhX0luc3BlY3Rpb24uaXB5
bmIKLS0tIGEvZG9jL3NvdXJjZS9xdWlja3N0YXJ0LzIpX0RhdGFfSW5zcGVjdGlvbi5pcHluYgor
KysgYi9kb2Mvc291cmNlL3F1aWNrc3RhcnQvMilfRGF0YV9JbnNwZWN0aW9uLmlweW5iCkBAIC0x
LDcgKzEsNyBAQAogewogICJtZXRhZGF0YSI6IHsKICAgIm5hbWUiOiAiIiwKLSAgInNpZ25hdHVy
ZSI6ICJzaGEyNTY6YWE3MWRiMTJhMTMxZjBjMzEzNzJhYmQ2NzY1ZTI4ZDY1ZDNhYzgzMTk2MjE1
MGNmMjEwPQo3MTUwYzFkMjA1N2I5IgorICAic2lnbmF0dXJlIjogInNoYTI1NjphOGZlNzg3MTVj
MWYzOTAwYzM3YzY3NWQ4NDMyMGZlNjVmMGJhODczNGFiYmE2MGZkMTI9CmU3NGQ5NTdlNWQ4ZWUi
CiAgfSwKICAibmJmb3JtYXQiOiAzLAogICJuYmZvcm1hdF9taW5vciI6IDAsCkBAIC0yNSw4ICsy
NSw3IEBACiAgICAgIF0sCiAgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAogICAgICAibWV0YWRh
dGEiOiB7fSwKLSAgICAgIm91dHB1dHMiOiBbXSwKLSAgICAgInByb21wdF9udW1iZXIiOiAxCisg
ICAgICJvdXRwdXRzIjogW10KICAgICB9LAogICAgIHsKICAgICAgImNlbGxfdHlwZSI6ICJtYXJr
ZG93biIsCkBAIC00Myw0NCArNDIsNyBAQAogICAgICBdLAogICAgICAibGFuZ3VhZ2UiOiAicHl0
aG9uIiwKICAgICAgIm1ldGFkYXRhIjoge30sCi0gICAgICJvdXRwdXRzIjogWwotICAgICAgewot
ICAgICAgICJvdXRwdXRfdHlwZSI6ICJzdHJlYW0iLAotICAgICAgICJzdHJlYW0iOiAic3RkZXJy
IiwKLSAgICAgICAidGV4dCI6IFsKLSAgICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0w
NSAxNTo1NjowOSw5NjEgUGFyYW1ldGVyczogY3VycmVudF90aW1lPQogICAgICAgICAgICAgID0z
RCAwLjAwNjAwMDAyMDAwMjgzXG4iCi0gICAgICAgXQotICAgICAgfSwKLSAgICAgIHsKLSAgICAg
ICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKLSAgICAgICAic3RyZWFtIjogInN0ZGVyciIsCi0g
ICAgICAgInRleHQiOiBbCi0gICAgICAgICJ5dCA6IFtJTkZPICAgICBdIDIwMTUtMDYtMDUgMTU6
NTY6MDksOTYyIFBhcmFtZXRlcnM6IGRvbWFpbl9kaW1lbj0Kc2lvbnMgICAgICAgICA9M0QgWzMy
IDMyIDMyXVxuIgotICAgICAgIF0KLSAgICAgIH0sCi0gICAgICB7Ci0gICAgICAgIm91dHB1dF90
eXBlIjogInN0cmVhbSIsCi0gICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAotICAgICAgICJ0ZXh0
IjogWwotICAgICAgICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU2OjA5LDk2NSBQ
YXJhbWV0ZXJzOiBkb21haW5fbGVmdF89CmVkZ2UgICAgICAgICAgPTNEIFsgMC4gIDAuICAwLl1c
biIKLSAgICAgICBdCi0gICAgICB9LAotICAgICAgewotICAgICAgICJvdXRwdXRfdHlwZSI6ICJz
dHJlYW0iLAotICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwKLSAgICAgICAidGV4dCI6IFsKLSAg
ICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1NjowOSw5NjYgUGFyYW1ldGVy
czogZG9tYWluX3JpZ2h0PQpfZWRnZSAgICAgICAgID0zRCBbIDEuICAxLiAgMS5dXG4iCi0gICAg
ICAgXQotICAgICAgfSwKLSAgICAgIHsKLSAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwK
LSAgICAgICAic3RyZWFtIjogInN0ZGVyciIsCi0gICAgICAgInRleHQiOiBbCi0gICAgICAgICJ5
dCA6IFtJTkZPICAgICBdIDIwMTUtMDYtMDUgMTU6NTY6MDksOTY2IFBhcmFtZXRlcnM6IGNvc21v
bG9naWNhbD0KX3NpbXVsYXRpb24gICA9M0QgMC4wXG4iCi0gICAgICAgXQotICAgICAgfQotICAg
ICBdLAotICAgICAicHJvbXB0X251bWJlciI6IDIKKyAgICAgIm91dHB1dHMiOiBbXQogICAgIH0s
CiAgICAgewogICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKQEAgLTk5LDEyMSArNjEsNyBA
QAogICAgICBdLAogICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKICAgICAgIm1ldGFkYXRhIjog
e30sCi0gICAgICJvdXRwdXRzIjogWwotICAgICAgewotICAgICAgICJvdXRwdXRfdHlwZSI6ICJz
dHJlYW0iLAotICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwKLSAgICAgICAidGV4dCI6IFsKLSAg
ICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1Nzo0OSwzNjUgR2F0aGVyaW5n
IGEgZmllbGQgbGlzdCAoPQp0aGlzIG1heSB0YWtlIGEgbW9tZW50LilcbiIKLSAgICAgICBdCi0g
ICAgICB9LAotICAgICAgewotICAgICAgICJvdXRwdXRfdHlwZSI6ICJzdHJlYW0iLAotICAgICAg
ICJzdHJlYW0iOiAic3RkZXJyIiwKLSAgICAgICAidGV4dCI6IFsKLSAgICAgICAgInl0IDogW0lO
Rk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1Nzo0OSw3NjkgTG9hZGluZyBmaWVsZCBwbHVnaW5zLlxu
IgotICAgICAgIF0KLSAgICAgIH0sCi0gICAgICB7Ci0gICAgICAgIm91dHB1dF90eXBlIjogInN0
cmVhbSIsCi0gICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAotICAgICAgICJ0ZXh0IjogWwotICAg
ICAgICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3MCBMb2FkZWQgYW5n
dWxhcl9tb21lbnR1bSA9Cig4IG5ldyBmaWVsZHMpXG4iCi0gICAgICAgXQotICAgICAgfSwKLSAg
ICAgIHsKLSAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKLSAgICAgICAic3RyZWFtIjog
InN0ZGVyciIsCi0gICAgICAgInRleHQiOiBbCi0gICAgICAgICJ5dCA6IFtJTkZPICAgICBdIDIw
MTUtMDYtMDUgMTU6NTc6NDksNzcwIExvYWRlZCBhc3RybyAoMTUgbmV3IGZpZT0KbGRzKVxuIgot
ICAgICAgIF0KLSAgICAgIH0sCi0gICAgICB7Ci0gICAgICAgIm91dHB1dF90eXBlIjogInN0cmVh
bSIsCi0gICAgICAgInN0cmVhbSI6ICJzdGRlcnIiLAotICAgICAgICJ0ZXh0IjogWwotICAgICAg
ICAieXQgOiBbSU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3MSBMb2FkZWQgY29zbW9s
b2d5ICgyMiBuZXc9CiBmaWVsZHMpXG4iCi0gICAgICAgXQotICAgICAgfSwKLSAgICAgIHsKLSAg
ICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKLSAgICAgICAic3RyZWFtIjogInN0ZGVyciIs
Ci0gICAgICAgInRleHQiOiBbCi0gICAgICAgICJ5dCA6IFtJTkZPICAgICBdIDIwMTUtMDYtMDUg
MTU6NTc6NDksNzcyIExvYWRlZCBmbHVpZCAoNjQgbmV3IGZpZT0KbGRzKVxuIgotICAgICAgIF0K
LSAgICAgIH0sCi0gICAgICB7Ci0gICAgICAgIm91dHB1dF90eXBlIjogInN0cmVhbSIsCi0gICAg
ICAgInN0cmVhbSI6ICJzdGRlcnIiLAotICAgICAgICJ0ZXh0IjogWwotICAgICAgICAieXQgOiBb
SU5GTyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3MyBMb2FkZWQgZmx1aWRfdmVjdG9yICg5
NiA9Cm5ldyBmaWVsZHMpXG4iCi0gICAgICAgXQotICAgICAgfSwKLSAgICAgIHsKLSAgICAgICAi
b3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKLSAgICAgICAic3RyZWFtIjogInN0ZGVyciIsCi0gICAg
ICAgInRleHQiOiBbCi0gICAgICAgICJ5dCA6IFtJTkZPICAgICBdIDIwMTUtMDYtMDUgMTU6NTc6
NDksNzczIExvYWRlZCBnZW9tZXRyaWMgKDExMiBuZT0KdyBmaWVsZHMpXG4iCi0gICAgICAgXQot
ICAgICAgfSwKLSAgICAgIHsKLSAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKLSAgICAg
ICAic3RyZWFtIjogInN0ZGVyciIsCi0gICAgICAgInRleHQiOiBbCi0gICAgICAgICJ5dCA6IFtJ
TkZPICAgICBdIDIwMTUtMDYtMDUgMTU6NTc6NDksNzc0IExvYWRlZCBsb2NhbCAoMTEyIG5ldyBm
aT0KZWxkcylcbiIKLSAgICAgICBdCi0gICAgICB9LAotICAgICAgewotICAgICAgICJvdXRwdXRf
dHlwZSI6ICJzdHJlYW0iLAotICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwKLSAgICAgICAidGV4
dCI6IFsKLSAgICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1Nzo0OSw3NzQg
TG9hZGVkIG1hZ25ldGljX2ZpZWxkICgxPQoyMCBuZXcgZmllbGRzKVxuIgotICAgICAgIF0KLSAg
ICAgIH0sCi0gICAgICB7Ci0gICAgICAgIm91dHB1dF90eXBlIjogInN0cmVhbSIsCi0gICAgICAg
InN0cmVhbSI6ICJzdGRlcnIiLAotICAgICAgICJ0ZXh0IjogWwotICAgICAgICAieXQgOiBbSU5G
TyAgICAgXSAyMDE1LTA2LTA1IDE1OjU3OjQ5LDc3NCBMb2FkZWQgbXlfcGx1Z2lucyAoMTIwIG49
CmV3IGZpZWxkcylcbiIKLSAgICAgICBdCi0gICAgICB9LAotICAgICAgewotICAgICAgICJvdXRw
dXRfdHlwZSI6ICJzdHJlYW0iLAotICAgICAgICJzdHJlYW0iOiAic3RkZXJyIiwKLSAgICAgICAi
dGV4dCI6IFsKLSAgICAgICAgInl0IDogW0lORk8gICAgIF0gMjAxNS0wNi0wNSAxNTo1Nzo0OSw3
NzYgTG9hZGVkIHNwZWNpZXMgKDE0MCBuZXcgPQpmaWVsZHMpXG4iCi0gICAgICAgXQotICAgICAg
fSwKLSAgICAgIHsKLSAgICAgICAib3V0cHV0X3R5cGUiOiAic3RyZWFtIiwKLSAgICAgICAic3Ry
ZWFtIjogInN0ZG91dCIsCi0gICAgICAgInRleHQiOiBbCi0gICAgICAgICJsZXZlbFx0IyBncmlk
c1x0ICAgICAgICMgY2VsbHNcdCAgICAgIyBjZWxsc14zXG4iLAotICAgICAgICAiLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIiwKLSAgICAgICAgIiAgMFx0
ICAgICAxXHQgICAgICAgICAzMjc2OFx0ICAgICAgICAgICAgMzJcbiIsCi0gICAgICAgICIgIDFc
dCAgICAgOFx0ICAgICAgICAgMzQzMDRcdCAgICAgICAgICAgIDMzXG4iLAotICAgICAgICAiICAy
XHQgICAgIDhcdCAgICAgICAgMTgxODg4XHQgICAgICAgICAgICA1N1xuIiwKLSAgICAgICAgIiAg
M1x0ICAgICA4XHQgICAgICAgIDY0Njk2OFx0ICAgICAgICAgICAgODdcbiIsCi0gICAgICAgICIg
IDRcdCAgICAxNVx0ICAgICAgICA5NDc4NTZcdCAgICAgICAgICAgIDk5XG4iLAotICAgICAgICAi
ICA1XHQgICAgNTFcdCAgICAgICAgODc0MTI4XHQgICAgICAgICAgICA5NlxuIiwKLSAgICAgICAg
IiAgNlx0ICAgIDE4XHQgICAgICAgIDc4NjMyOFx0ICAgICAgICAgICAgOTNcbiIsCi0gICAgICAg
ICIgIDdcdCAgICAyOFx0ICAgICAgICA0NDY3NzZcdCAgICAgICAgICAgIDc3XG4iLAotICAgICAg
ICAiICA4XHQgICAgMzZcdCAgICAgICAgMjA5NDAwXHQgICAgICAgICAgICA2MFxuIiwKLSAgICAg
ICAgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIsCi0g
ICAgICAgICIgICBcdCAgIDE3M1x0ICAgICAgIDQxNjA0MTZcbiIsCi0gICAgICAgICJcbiIsCi0g
ICAgICAgICJcbiIsCi0gICAgICAgICJ0ID0zRCA2LjAwMDAyMDAwZS0wMyA9M0QgMS4zOTc2ODA2
NmUrMTYgcyA9M0QgNC40Mjg5ODI3NWUrMDggeWVhcj0Kc1xuIiwKLSAgICAgICAgIlxuIiwKLSAg
ICAgICAgIlNtYWxsZXN0IENlbGw6XG4iLAotICAgICAgICAiXHRXaWR0aDogMS4yMjFlLTA0IE1w
Y1xuIiwKLSAgICAgICAgIlx0V2lkdGg6IDEuMjIxZSswMiBwY1xuIiwKLSAgICAgICAgIlx0V2lk
dGg6IDIuNTE4ZSswNyBBVVxuIiwKLSAgICAgICAgIlx0V2lkdGg6IDMuNzY3ZSsyMCBjbVxuIgot
ICAgICAgIF0KLSAgICAgIH0KLSAgICAgXSwKLSAgICAgInByb21wdF9udW1iZXIiOiAzCisgICAg
ICJvdXRwdXRzIjogW10KICAgICB9LAogICAgIHsKICAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93
biIsCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZjk5OGJi
ZTUwMzMwLwpDaGFuZ2VzZXQ6ICAgZjk5OGJiZTUwMzMwCkJyYW5jaDogICAgICB5dApVc2VyOiAg
ICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA3LTA2IDE5OjQ2OjExKzAwOjAwClN1
bW1hcnk6ICAgICBSZXZlcnQgdG8gdXBzdHJlYW0KQWZmZWN0ZWQgIzogIDE0IGZpbGVzCgpkaWZm
IC1yIGJmMWEyZjllYjEwN2JiNTk4ZWQ2ZjA5MTE5YTU3YjhiMzc1M2RhOTIgLXIgZjk5OGJiZTUw
MzMwMWNhN2YwYzViZmY9CjdlYmFlYWU4YjNhM2I1YjU2IHl0L2RhdGFfb2JqZWN0cy9kYXRhX2Nv
bnRhaW5lcnMucHkKLS0tIGEveXQvZGF0YV9vYmplY3RzL2RhdGFfY29udGFpbmVycy5weQorKysg
Yi95dC9kYXRhX29iamVjdHMvZGF0YV9jb250YWluZXJzLnB5CkBAIC04MjYsMTMgKzgyNiw2IEBA
CiAgICAgICAgICAgICBzZWxmLmluZGV4Ll9pZGVudGlmeV9iYXNlX2NodW5rKHNlbGYpCiAgICAg
ICAgIHJldHVybiBzZWxmLl9jdXJyZW50X2NodW5rLmZ3aWR0aAo9MjAKLSAgICBAcHJvcGVydHkK
LSAgICBkZWYgZmNvb3Jkc192ZXJ0ZXgoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuX2N1cnJlbnRf
Y2h1bmsgaXMgTm9uZToKLSAgICAgICAgICAgIHNlbGYuaW5kZXguX2lkZW50aWZ5X2Jhc2VfY2h1
bmsoc2VsZikKLSAgICAgICAgcmV0dXJuIHNlbGYuX2N1cnJlbnRfY2h1bmsuZmNvb3Jkc192ZXJ0
ZXgKLQotCiBjbGFzcyBZVFNlbGVjdGlvbkNvbnRhaW5lcjBEKFlUU2VsZWN0aW9uQ29udGFpbmVy
KToKICAgICBfc3BhdGlhbCA9M0QgRmFsc2UKICAgICBfZGltZW5zaW9uYWxpdHkgPTNEIDAKCmRp
ZmYgLXIgYmYxYTJmOWViMTA3YmI1OThlZDZmMDkxMTlhNTdiOGIzNzUzZGE5MiAtciBmOTk4YmJl
NTAzMzAxY2E3ZjBjNWJmZj0KN2ViYWVhZThiM2EzYjViNTYgeXQvZGF0YV9vYmplY3RzL3Vuc3Ry
dWN0dXJlZF9tZXNoLnB5Ci0tLSBhL3l0L2RhdGFfb2JqZWN0cy91bnN0cnVjdHVyZWRfbWVzaC5w
eQorKysgYi95dC9kYXRhX29iamVjdHMvdW5zdHJ1Y3R1cmVkX21lc2gucHkKQEAgLTQ2LDEwICs0
Niw3IEBACiAgICAgICAgICMgVGhpcyBpcyB3aGVyZSB3ZSBzZXQgdXAgdGhlIGNvbm5lY3Rpdml0
eSBpbmZvcm1hdGlvbgogICAgICAgICBzZWxmLmNvbm5lY3Rpdml0eV9pbmRpY2VzID0zRCBjb25u
ZWN0aXZpdHlfaW5kaWNlcwogICAgICAgICBpZiBjb25uZWN0aXZpdHlfaW5kaWNlcy5zaGFwZVsx
XSAhPTNEIHNlbGYuX2Nvbm5lY3Rpdml0eV9sZW5ndGg6Ci0gICAgICAgICAgICBpZiBzZWxmLl9j
b25uZWN0aXZpdHlfbGVuZ3RoID0zRD0zRCAtMToKLSAgICAgICAgICAgICAgICBzZWxmLl9jb25u
ZWN0aXZpdHlfbGVuZ3RoID0zRCBjb25uZWN0aXZpdHlfaW5kaWNlcy5zaGFwZVsxXQotICAgICAg
ICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKyAgICAgICAg
ICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgogICAgICAgICBzZWxmLmNvbm5lY3Rpdml0eV9jb29yZHMg
PTNEIGNvbm5lY3Rpdml0eV9jb29yZHMKICAgICAgICAgc2VsZi5kcyA9M0QgaW5kZXguZGF0YXNl
dAogICAgICAgICBzZWxmLl9pbmRleCA9M0QgaW5kZXgKQEAgLTkzLDE0ICs5MCw4IEBACiAgICAg
ZGVmIF9nZW5lcmF0ZV9jb250YWluZXJfZmllbGQoc2VsZiwgZmllbGQpOgogICAgICAgICByYWlz
ZSBOb3RJbXBsZW1lbnRlZEVycm9yCj0yMAotICAgIGRlZiBzZWxlY3RfZmNvb3JkcyhzZWxmLCBk
b2JqID0zRCBOb25lKToKLSAgICAgICAgIyBUaGlzIGNvbXB1dGVzIGNlbnRyb2lkcyEKLSAgICAg
ICAgbWFzayA9M0Qgc2VsZi5fZ2V0X3NlbGVjdG9yX21hc2soZG9iai5zZWxlY3RvcikKLSAgICAg
ICAgaWYgbWFzayBpcyBOb25lOiByZXR1cm4gbnAuZW1wdHkoKDAsMyksIGR0eXBlPTNEJ2Zsb2F0
NjQnKQotICAgICAgICBjZW50ZXJzID0zRCBmaWxsX2Zjb29yZHMoc2VsZi5jb25uZWN0aXZpdHlf
Y29vcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdGl2aXR5
X2luZGljZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5kZXhfb2Zm
c2V0KQotICAgICAgICByZXR1cm4gY2VudGVyc1ttYXNrLCA6XQorICAgIGRlZiBzZWxlY3RfZmNv
b3JkcyhzZWxmLCBkb2JqKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgo9MjAK
ICAgICBkZWYgc2VsZWN0X2Z3aWR0aChzZWxmLCBkb2JqKToKICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcgpAQCAtMTM1LDcgKzEyNiw3IEBACiAgICAgICAgIG1hc2sgPTNEIHNlbGYu
X2dldF9zZWxlY3Rvcl9tYXNrKHNlbGVjdG9yKQogICAgICAgICBjb3VudCA9M0Qgc2VsZi5jb3Vu
dChzZWxlY3RvcikKICAgICAgICAgaWYgY291bnQgPTNEPTNEIDA6IHJldHVybiAwCi0gICAgICAg
IGRlc3Rbb2Zmc2V0Om9mZnNldCtjb3VudF0gPTNEIHNvdXJjZVttYXNrLC4uLl0KKyAgICAgICAg
ZGVzdFtvZmZzZXQ6b2Zmc2V0K2NvdW50XSA9M0Qgc291cmNlLmZsYXRbbWFza10KICAgICAgICAg
cmV0dXJuIGNvdW50Cj0yMAogICAgIGRlZiBjb3VudChzZWxmLCBzZWxlY3Rvcik6CkBAIC0xNTIs
MjUgKzE0Myw2IEBACiAgICAgICAgIG1hc2sgPTNEIHNlbGVjdG9yLnNlbGVjdF9wb2ludHMoeCx5
LHosIDAuMCkKICAgICAgICAgcmV0dXJuIG1hc2sKPTIwCi0gICAgZGVmIF9nZXRfc2VsZWN0b3Jf
bWFzayhzZWxmLCBzZWxlY3Rvcik6Ci0gICAgICAgIGlmIGhhc2goc2VsZWN0b3IpID0zRD0zRCBz
ZWxmLl9sYXN0X3NlbGVjdG9yX2lkOgotICAgICAgICAgICAgbWFzayA9M0Qgc2VsZi5fbGFzdF9t
YXNrCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9sYXN0X21hc2sgPTNEIG1hc2sg
PTNEIHNlbGVjdG9yLmZpbGxfbWVzaF9jZWxsX21hc2soc2VsZikKLSAgICAgICAgICAgIHNlbGYu
X2xhc3Rfc2VsZWN0b3JfaWQgPTNEIGhhc2goc2VsZWN0b3IpCi0gICAgICAgICAgICBpZiBtYXNr
IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5fbGFzdF9jb3VudCA9M0QgMAotICAgICAg
ICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLl9sYXN0X2NvdW50ID0zRCBtYXNrLnN1
bSgpCi0gICAgICAgIHJldHVybiBtYXNrCi0KLSAgICBkZWYgc2VsZWN0X2Zjb29yZHNfdmVydGV4
KHNlbGYsIGRvYmogPTNEIE5vbmUpOgotICAgICAgICBtYXNrID0zRCBzZWxmLl9nZXRfc2VsZWN0
b3JfbWFzayhkb2JqLnNlbGVjdG9yKQotICAgICAgICBpZiBtYXNrIGlzIE5vbmU6IHJldHVybiBu
cC5lbXB0eSgoMCxzZWxmLl9jb25uZWN0aXZpdHlfbGVuZ3RoLDMpLCA9CmR0eXBlPTNEJ2Zsb2F0
NjQnKQotICAgICAgICB2ZXJ0aWNlcyA9M0Qgc2VsZi5jb25uZWN0aXZpdHlfY29vcmRzWwotICAg
ICAgICAgICAgICAgIHNlbGYuY29ubmVjdGl2aXR5X2luZGljZXMgLSAxXQotICAgICAgICByZXR1
cm4gdmVydGljZXNbbWFzaywgOiwgOl0KLQogY2xhc3MgU2VtaVN0cnVjdHVyZWRNZXNoKFVuc3Ry
dWN0dXJlZE1lc2gpOgogICAgIF9jb25uZWN0aXZpdHlfbGVuZ3RoID0zRCA4CiAgICAgX3R5cGVf
bmFtZSA9M0QgJ3NlbWlfc3RydWN0dXJlZF9tZXNoJwpAQCAtMTg5LDYgKzE2MSwxNCBAQAogICAg
ICAgICBlbGlmIGZpZWxkID0zRD0zRCAiZHoiOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2N1
cnJlbnRfY2h1bmsuZndpZHRoWzosMl0KPTIwCisgICAgZGVmIHNlbGVjdF9mY29vcmRzKHNlbGYs
IGRvYmogPTNEIE5vbmUpOgorICAgICAgICBtYXNrID0zRCBzZWxmLl9nZXRfc2VsZWN0b3JfbWFz
ayhkb2JqLnNlbGVjdG9yKQorICAgICAgICBpZiBtYXNrIGlzIE5vbmU6IHJldHVybiBucC5lbXB0
eSgoMCwzKSwgZHR5cGU9M0QnZmxvYXQ2NCcpCisgICAgICAgIGNlbnRlcnMgPTNEIGZpbGxfZmNv
b3JkcyhzZWxmLmNvbm5lY3Rpdml0eV9jb29yZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5jb25uZWN0aXZpdHlfaW5kaWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLl9pbmRleF9vZmZzZXQpCisgICAgICAgIHJldHVybiBjZW50ZXJzW21hc2ss
IDpdCisKICAgICBkZWYgc2VsZWN0X2Z3aWR0aChzZWxmLCBkb2JqKToKICAgICAgICAgbWFzayA9
M0Qgc2VsZi5fZ2V0X3NlbGVjdG9yX21hc2soZG9iai5zZWxlY3RvcikKICAgICAgICAgaWYgbWFz
ayBpcyBOb25lOiByZXR1cm4gbnAuZW1wdHkoKDAsMyksIGR0eXBlPTNEJ2Zsb2F0NjQnKQpAQCAt
MjA5LDMgKzE4OSwxNSBAQAogICAgICAgICBkdCwgdCA9M0QgZG9iai5zZWxlY3Rvci5nZXRfZHRf
bWVzaChzZWxmLCBtYXNrLnN1bSgpLCBzZWxmLl9pbmRleF89Cm9mZnNldCkKICAgICAgICAgcmV0
dXJuIGR0LCB0Cj0yMAorICAgIGRlZiBfZ2V0X3NlbGVjdG9yX21hc2soc2VsZiwgc2VsZWN0b3Ip
OgorICAgICAgICBpZiBoYXNoKHNlbGVjdG9yKSA9M0Q9M0Qgc2VsZi5fbGFzdF9zZWxlY3Rvcl9p
ZDoKKyAgICAgICAgICAgIG1hc2sgPTNEIHNlbGYuX2xhc3RfbWFzaworICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgc2VsZi5fbGFzdF9tYXNrID0zRCBtYXNrID0zRCBzZWxlY3Rvci5maWxsX21l
c2hfY2VsbF9tYXNrKHNlbGYpCisgICAgICAgICAgICBzZWxmLl9sYXN0X3NlbGVjdG9yX2lkID0z
RCBoYXNoKHNlbGVjdG9yKQorICAgICAgICAgICAgaWYgbWFzayBpcyBOb25lOgorICAgICAgICAg
ICAgICAgIHNlbGYuX2xhc3RfY291bnQgPTNEIDAKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICAgICAgc2VsZi5fbGFzdF9jb3VudCA9M0QgbWFzay5zdW0oKQorICAgICAgICByZXR1cm4g
bWFzaworCgpkaWZmIC1yIGJmMWEyZjllYjEwN2JiNTk4ZWQ2ZjA5MTE5YTU3YjhiMzc1M2RhOTIg
LXIgZjk5OGJiZTUwMzMwMWNhN2YwYzViZmY9CjdlYmFlYWU4YjNhM2I1YjU2IHl0L2ZpZWxkcy9m
aWVsZF9kZXRlY3Rvci5weQotLS0gYS95dC9maWVsZHMvZmllbGRfZGV0ZWN0b3IucHkKKysrIGIv
eXQvZmllbGRzL2ZpZWxkX2RldGVjdG9yLnB5CkBAIC0yNDAsMTMgKzI0MCw2IEBACiAgICAgICAg
IHJldHVybiBzZWxmLmRzLmFycihmYywgaW5wdXRfdW5pdHMgPTNEICJjb2RlX2xlbmd0aCIpCj0y
MAogICAgIEBwcm9wZXJ0eQotICAgIGRlZiBmY29vcmRzX3ZlcnRleChzZWxmKToKLSAgICAgICAg
ZmMgPTNEIG5wLnJhbmRvbS5yYW5kb20oKHNlbGYubmQsIHNlbGYubmQsIHNlbGYubmQsIDgsIDMp
KQotICAgICAgICBpZiBzZWxmLmZsYXQ6Ci0gICAgICAgICAgICBmYy5zaGFwZSA9M0QgKHNlbGYu
bmQqc2VsZi5uZCpzZWxmLm5kLCA4LCAzKQotICAgICAgICByZXR1cm4gc2VsZi5kcy5hcnIoZmMs
IGlucHV0X3VuaXRzID0zRCAiY29kZV9sZW5ndGgiKQotCi0gICAgQHByb3BlcnR5CiAgICAgZGVm
IGljb29yZHMoc2VsZik6CiAgICAgICAgIGljID0zRCBucC5tZ3JpZFswOnNlbGYubmQtMTpzZWxm
Lm5kKjFqLAogICAgICAgICAgICAgICAgICAgICAgIDA6c2VsZi5uZC0xOnNlbGYubmQqMWosCgpk
aWZmIC1yIGJmMWEyZjllYjEwN2JiNTk4ZWQ2ZjA5MTE5YTU3YjhiMzc1M2RhOTIgLXIgZjk5OGJi
ZTUwMzMwMWNhN2YwYzViZmY9CjdlYmFlYWU4YjNhM2I1YjU2IHl0L2Zyb250ZW5kcy9zdHJlYW0v
YXBpLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9zdHJlYW0vYXBpLnB5CisrKyBiL3l0L2Zyb250ZW5k
cy9zdHJlYW0vYXBpLnB5CkBAIC0yNCw4ICsyNCw3IEBACiAgICAgICBsb2FkX2hleGFoZWRyYWxf
bWVzaCwgXAogICAgICAgaGV4YWhlZHJhbF9jb25uZWN0aXZpdHksIFwKICAgICAgIGxvYWRfb2N0
cmVlLCBcCi0gICAgICByZWZpbmVfYW1yLCBcCi0gICAgICBsb2FkX3Vuc3RydWN0dXJlZF9tZXNo
CisgICAgICByZWZpbmVfYW1yCj0yMAogZnJvbSAuZmllbGRzIGltcG9ydCBcCiAgICAgICBTdHJl
YW1GaWVsZEluZm8KCmRpZmYgLXIgYmYxYTJmOWViMTA3YmI1OThlZDZmMDkxMTlhNTdiOGIzNzUz
ZGE5MiAtciBmOTk4YmJlNTAzMzAxY2E3ZjBjNWJmZj0KN2ViYWVhZThiM2EzYjViNTYgeXQvZnJv
bnRlbmRzL3N0cmVhbS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL3N0cmVh
bS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL3N0cmVhbS9kYXRhX3N0cnVj
dHVyZXMucHkKQEAgLTE2MDIsNyArMTYwMiw3IEBACiAgICAgICAgIGNvbm5lYyA9M0QgZW5zdXJl
X2xpc3Qoc2VsZi5zdHJlYW1faGFuZGxlci5maWVsZHMucG9wKCJjb25uZWN0aXZpdD0KeSIpKQog
ICAgICAgICBzZWxmLm1lc2hlcyA9M0QgW1N0cmVhbVVuc3RydWN0dXJlZE1lc2goCiAgICAgICAg
ICAgaSwgc2VsZi5pbmRleF9maWxlbmFtZSwgYzEsIGMyLCBzZWxmKQotICAgICAgICAgIGZvciBp
LCAoYzEsIGMyKSBpbiBlbnVtZXJhdGUoemlwKGNvbm5lYywgY29vcmRzKSldCisgICAgICAgICAg
Zm9yIGksIChjMSwgYzIpIGluIGVudW1lcmF0ZSh6aXAoY29vcmRzLCBjb25uZWMpKV0KPTIwCiAg
ICAgZGVmIF9zZXR1cF9kYXRhX2lvKHNlbGYpOgogICAgICAgICBpZiBzZWxmLnN0cmVhbV9oYW5k
bGVyLmlvIGlzIG5vdCBOb25lOgpAQCAtMTYxNCwxNDIgKzE2MTQsNyBAQAogICAgICAgICBzZWxm
LmZpZWxkX2xpc3QgPTNEIGxpc3Qoc2V0KHNlbGYuc3RyZWFtX2hhbmRsZXIuZ2V0X2ZpZWxkcygp
KSkKPTIwCiBjbGFzcyBTdHJlYW1VbnN0cnVjdHVyZWRNZXNoRGF0YXNldChTdHJlYW1EYXRhc2V0
KToKLSAgICBfaW5kZXhfY2xhc3MgPTNEIFN0cmVhbVVuc3RydWN0dXJlZEluZGV4CisgICAgX2lu
ZGV4X2NsYXNzID0zRCBTdHJlYW1VbnN0cnVjdHVyZWRNZXNoCiAgICAgX2ZpZWxkX2luZm9fY2xh
c3MgPTNEIFN0cmVhbUZpZWxkSW5mbwogICAgIF9kYXRhc2V0X3R5cGUgPTNEICJzdHJlYW1fdW5z
dHJ1Y3R1cmVkIgo9MjAKLWRlZiBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoKGRhdGEsIGNvbm5lY3Rp
dml0eSwgY29vcmRpbmF0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoX3VuaXQg
PTNEIE5vbmUsIGJib3g9M0ROb25lLCBzaW1fdGltZT0zRDAuMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICBtYXNzX3VuaXQgPTNEIE5vbmUsIHRpbWVfdW5pdCA9M0QgTm9uZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICB2ZWxvY2l0eV91bml0ID0zRCBOb25lLCBtYWduZXRpY191bml0ID0z
RCBOb25lLAotICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmlvZGljaXR5PTNEKEZhbHNlLCBG
YWxzZSwgRmFsc2UpLAotICAgICAgICAgICAgICAgICAgICAgICAgIGdlb21ldHJ5ID0zRCAiY2Fy
dGVzaWFuIik6Ci0gICAgciIiIkxvYWQgYW4gdW5zdHJ1Y3R1cmVkIG1lc2ggb2YgZGF0YSBpbnRv
IHl0IGFzIGEKLSAgICA6Y2xhc3M6YH55dC5mcm9udGVuZHMuc3RyZWFtLmRhdGFfc3RydWN0dXJl
cy5TdHJlYW1IYW5kbGVyYC4KLQotICAgIFRoaXMgc2hvdWxkIGFsbG93IGFuIHVuc3RydWN0dXJl
ZCBtZXNoIGRhdGEgdG8gYmUgbG9hZGVkIGRpcmVjdGx5IGludG8KLSAgICB5dCBhbmQgYW5hbHl6
ZWQgYXMgd291bGQgYW55IG90aGVycy4gIE5vdCBhbGwgZnVuY3Rpb25hbGl0eSBmb3IKLSAgICB2
aXN1YWxpemF0aW9uIHdpbGwgYmUgcHJlc2VudCwgYW5kIHNvbWUgYW5hbHlzaXMgZnVuY3Rpb25z
IG1heSBub3QgeWV0PQogaGF2ZQotICAgIGJlZW4gaW1wbGVtZW50ZWQuCi0KLSAgICBQYXJ0aWNs
ZSBmaWVsZHMgYXJlIGRldGVjdGVkIGFzIG9uZS1kaW1lbnNpb25hbCBmaWVsZHMuIFRoZSBudW1i
ZXIgb2YgPQpwYXJ0aWNsZXMKLSAgICBpcyBzZXQgYnkgdGhlICJudW1iZXJfb2ZfcGFydGljbGVz
IiBrZXkgaW4gZGF0YS4KLSAgID0yMAotICAgIFBhcmFtZXRlcnMKLSAgICAtLS0tLS0tLS0tCi0g
ICAgZGF0YSA6IGRpY3Qgb3IgbGlzdCBvZiBkaWN0cwotICAgICAgICBUaGlzIGlzIGEgbGlzdCBv
ZiBkaWN0cyBvZiBudW1weSBhcnJheXMsIHdoZXJlIGVhY2ggZWxlbWVudCBpbiB0aGU9CiBsaXN0
Ci0gICAgICAgIGlzIGEgZGlmZmVyZW50IG1lc2gsIGFuZCB3aGVyZSB0aGUga2V5cyBvZiBkaWN0
cyBhcmUgdGhlIGZpZWxkIG5hbT0KZXMuPTIwCi0gICAgICAgIE5vdGUgdGhhdCB0aGUgZGF0YSBp
biB0aGUgbnVtcHkgYXJyYXlzIHNob3VsZCBkZWZpbmUgdGhlIGNlbGwtYXZlcj0KYWdlZAotICAg
ICAgICB2YWx1ZSBmb3Igb2YgdGhlIHF1YW50aXR5IGluIHRoZSBtZXNoIGNlbGxzLCBhbHRob3Vn
aCB0aGlzIHdpbGwgY2g9CmFuZ2UKLSAgICAgICAgd2l0aCBzdWJzZXF1ZW50IGdlbmVyYXRpb25z
IG9mIHVuc3RydWN0dXJlZCBtZXNoIHN1cHBvcnQuICBJZiBhIGRpPQpjdCBpcwotICAgICAgICBz
dXBwbGllZCwgdGhpcyB3aWxsIGJlIGFzc3VtZWQgdG8gYmUgdGhlIG9ubHkgbWVzaC4KLSAgICBj
b25uZWN0aXZpdHkgOiBsaXN0IG9mIGFycmF5X2xpa2Ugb3IgYXJyYXlfbGlrZQotICAgICAgICBU
aGlzIGlzIHRoZSBjb25uZWN0aXZpdHkgYXJyYXkgZm9yIHRoZSBtZXNoZXM7IHRoaXMgc2hvdWxk
IGVpdGhlciA9CmJlIGEKLSAgICAgICAgbGlzdCB3aGVyZSBlYWNoIGVsZW1lbnQgaW4gdGhlIGxp
c3QgaXMgYSBudW1weSBhcnJheSBvciBhIHNpbmdsZSBuPQp1bXB5Ci0gICAgICAgIGFycmF5LiAg
RWFjaCBhcnJheSBpbiB0aGUgbGlzdCBjYW4gaGF2ZSBkaWZmZXJlbnQgY29ubmVjdGl2aXR5IGxl
bj0KZ3RoCi0gICAgICAgIGFuZCBzaG91bGQgYmUgb2Ygc2hhcGUgKE4sTSkgd2hlcmUgTiBpcyB0
aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGFuZD0KIE0gaXMKLSAgICAgICAgdGhlIGNvbm5lY3Rpdml0
eSBsZW5ndGguCi0gICAgY29vcmRpbmF0ZXMgOiBhcnJheV9saWtlCi0gICAgICAgIFRoaXMgc2hv
dWxkIGJlIG9mIHNpemUgKEwsMykgd2hlcmUgTCBpcyB0aGUgbnVtYmVyIG9mIHZlcnRpY2VzCi0g
ICAgICAgIGluZGljYXRlZCBpbiB0aGUgY29ubmVjdGl2aXR5IG1hdHJpeC4KLSAgICBiYm94IDog
YXJyYXlfbGlrZSAoeGRpbTp6ZGltLCBMRTpSRSksIG9wdGlvbmFsCi0gICAgICAgIFNpemUgb2Yg
Y29tcHV0YXRpb25hbCBkb21haW4gaW4gdW5pdHMgb2YgdGhlIGxlbmd0aCB1bml0LgotICAgIHNp
bV90aW1lIDogZmxvYXQsIG9wdGlvbmFsCi0gICAgICAgIFRoZSBzaW11bGF0aW9uIHRpbWUgaW4g
c2Vjb25kcwotICAgIG1hc3NfdW5pdCA6IHN0cmluZwotICAgICAgICBVbml0IHRvIHVzZSBmb3Ig
bWFzc2VzLiAgRGVmYXVsdHMgdG8gdW5pdGxlc3MuCi0gICAgdGltZV91bml0IDogc3RyaW5nCi0g
ICAgICAgIFVuaXQgdG8gdXNlIGZvciB0aW1lcy4gIERlZmF1bHRzIHRvIHVuaXRsZXNzLgotICAg
IHZlbG9jaXR5X3VuaXQgOiBzdHJpbmcKLSAgICAgICAgVW5pdCB0byB1c2UgZm9yIHZlbG9jaXRp
ZXMuICBEZWZhdWx0cyB0byB1bml0bGVzcy4KLSAgICBtYWduZXRpY191bml0IDogc3RyaW5nCi0g
ICAgICAgIFVuaXQgdG8gdXNlIGZvciBtYWduZXRpYyBmaWVsZHMuIERlZmF1bHRzIHRvIHVuaXRs
ZXNzLgotICAgIHBlcmlvZGljaXR5IDogdHVwbGUgb2YgYm9vbGVhbnMKLSAgICAgICAgRGV0ZXJt
aW5lcyB3aGV0aGVyIHRoZSBkYXRhIHdpbGwgYmUgdHJlYXRlZCBhcyBwZXJpb2RpYyBhbG9uZwot
ICAgICAgICBlYWNoIGF4aXMKLSAgICBnZW9tZXRyeSA6IHN0cmluZyBvciB0dXBsZQotICAgICAg
ICAiY2FydGVzaWFuIiwgImN5bGluZHJpY2FsIiwgInBvbGFyIiwgInNwaGVyaWNhbCIsICJnZW9n
cmFwaGljIiBvcgotICAgICAgICAic3BlY3RyYWxfY3ViZSIuICBPcHRpb25hbGx5LCBhIHR1cGxl
IGNhbiBiZSBwcm92aWRlZCB0byBzcGVjaWZ5IHQ9CmhlCi0gICAgICAgIGF4aXMgb3JkZXJpbmcg
LS0gZm9yIGluc3RhbmNlLCB0byBzcGVjaWZ5IHRoYXQgdGhlIGF4aXMgb3JkZXJpbmcgcz0KaG91
bGQKLSAgICAgICAgYmUgeiwgeCwgeSwgdGhpcyB3b3VsZCBiZTogKCJjYXJ0ZXNpYW4iLCAoInoi
LCAieCIsICJ5IikpLiAgVGhlIHNhPQptZQotICAgICAgICBjYW4gYmUgZG9uZSBmb3Igb3RoZXIg
Y29vcmRpbmF0ZXMsIGZvciBpbnN0YW5jZTo9MjAKLSAgICAgICAgKCJzcGhlcmljYWwiLCAoInRo
ZXRhIiwgInBoaSIsICJyIikpLgotCi0gICAgIiIiCi0KLSAgICBkb21haW5fZGltZW5zaW9ucyA9
M0QgbnAub25lcygzLCAiaW50MzIiKSAqIDIKLSAgICBucHJvY3MgPTNEIDEKLSAgICBkYXRhID0z
RCBlbnN1cmVfbGlzdChkYXRhKQotICAgIGNvbm5lY3Rpdml0eSA9M0QgZW5zdXJlX2xpc3QoY29u
bmVjdGl2aXR5KQotICAgIGlmIGJib3ggaXMgTm9uZToKLSAgICAgICAgYmJveCA9M0QgbnAuYXJy
YXkoWyBbY29vcmRpbmF0ZXNbOixpXS5taW4oKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvb3JkaW5hdGVzWzosaV0ubWF4KCldCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBp
IGluIHJhbmdlKDMpXSwgImZsb2F0NjQiKQotICAgIGRvbWFpbl9sZWZ0X2VkZ2UgPTNEIG5wLmFy
cmF5KGJib3hbOiwgMF0sICdmbG9hdDY0JykKLSAgICBkb21haW5fcmlnaHRfZWRnZSA9M0QgbnAu
YXJyYXkoYmJveFs6LCAxXSwgJ2Zsb2F0NjQnKQotICAgIGdyaWRfbGV2ZWxzID0zRCBucC56ZXJv
cyhucHJvY3MsIGR0eXBlPTNEJ2ludDMyJykucmVzaGFwZSgobnByb2NzLDEpKQotCi0gICAgZmll
bGRfdW5pdHMgPTNEIHt9Ci0gICAgcGFydGljbGVfdHlwZXMgPTNEIHt9Ci0gICAgc2ZoID0zRCBT
dHJlYW1EaWN0RmllbGRIYW5kbGVyKCkKLSAgID0yMAotICAgIHNmaC51cGRhdGUoeydjb25uZWN0
aXZpdHknOiBjb25uZWN0aXZpdHksCi0gICAgICAgICAgICAgICAgJ2Nvb3JkaW5hdGVzJzogY29v
cmRpbmF0ZXN9KQotICAgIGZvciBpLCBkIGluIGVudW1lcmF0ZShkYXRhKToKLSAgICAgICAgX2Zf
dW5pdCwgX2RhdGEgPTNEIHVuaXRpZnlfZGF0YShkKQotICAgICAgICBmaWVsZF91bml0cy51cGRh
dGUoX2ZfdW5pdCkKLSAgICAgICAgc2ZoW2ldID0zRCBfZGF0YQotICAgICAgICBwYXJ0aWNsZV90
eXBlcy51cGRhdGUoc2V0X3BhcnRpY2xlX3R5cGVzKGQpKQotICAgICMgU2ltcGxlIGNoZWNrIGZv
ciBheGlzIGxlbmd0aCBjb3JyZWN0bmVzcwotICAgIGlmIDAgYW5kIGxlbihkYXRhKSA+IDA6Ci0g
ICAgICAgIGZuID0zRCBsaXN0KHNvcnRlZChkYXRhKSlbMF0KLSAgICAgICAgYXJyYXlfdmFsdWVz
ID0zRCBkYXRhW2ZuXQotICAgICAgICBpZiBhcnJheV92YWx1ZXMuc2l6ZSAhPTNEIGNvbm5lY3Rp
dml0eS5zaGFwZVswXToKLSAgICAgICAgICAgIG15bG9nLmVycm9yKCJEaW1lbnNpb25zIG9mIGFy
cmF5IG11c3QgYmUgb25lIGZld2VyIHRoYW4gdGhlIiArCi0gICAgICAgICAgICAgICAgICAgICAg
ICAiIGNvb3JkaW5hdGUgc2V0LiIpCi0gICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKLSAg
ICBncmlkX2xlZnRfZWRnZXMgPTNEIGRvbWFpbl9sZWZ0X2VkZ2UKLSAgICBncmlkX3JpZ2h0X2Vk
Z2VzID0zRCBkb21haW5fcmlnaHRfZWRnZQotICAgIGdyaWRfZGltZW5zaW9ucyA9M0QgZG9tYWlu
X2RpbWVuc2lvbnMucmVzaGFwZShucHJvY3MsMykuYXN0eXBlKCJpbnQzMiIpCi0KLSAgICBpZiBs
ZW5ndGhfdW5pdCBpcyBOb25lOgotICAgICAgICBsZW5ndGhfdW5pdCA9M0QgJ2NvZGVfbGVuZ3Ro
JwotICAgIGlmIG1hc3NfdW5pdCBpcyBOb25lOgotICAgICAgICBtYXNzX3VuaXQgPTNEICdjb2Rl
X21hc3MnCi0gICAgaWYgdGltZV91bml0IGlzIE5vbmU6Ci0gICAgICAgIHRpbWVfdW5pdCA9M0Qg
J2NvZGVfdGltZScKLSAgICBpZiB2ZWxvY2l0eV91bml0IGlzIE5vbmU6Ci0gICAgICAgIHZlbG9j
aXR5X3VuaXQgPTNEICdjb2RlX3ZlbG9jaXR5JwotICAgIGlmIG1hZ25ldGljX3VuaXQgaXMgTm9u
ZToKLSAgICAgICAgbWFnbmV0aWNfdW5pdCA9M0QgJ2NvZGVfbWFnbmV0aWMnCi0KLSAgICAjIEkn
bSBub3Qgc3VyZSB3ZSBuZWVkIGFueSBvZiB0aGlzLgotICAgIGhhbmRsZXIgPTNEIFN0cmVhbUhh
bmRsZXIoCi0gICAgICAgIGdyaWRfbGVmdF9lZGdlcywKLSAgICAgICAgZ3JpZF9yaWdodF9lZGdl
cywKLSAgICAgICAgZ3JpZF9kaW1lbnNpb25zLAotICAgICAgICBncmlkX2xldmVscywKLSAgICAg
ICAgLW5wLm9uZXMobnByb2NzLCBkdHlwZT0zRCdpbnQ2NCcpLAotICAgICAgICBucC56ZXJvcyhu
cHJvY3MsIGR0eXBlPTNEJ2ludDY0JykucmVzaGFwZShucHJvY3MsMSksICMgVGVtcG9yYXJ5Ci0g
ICAgICAgIG5wLnplcm9zKG5wcm9jcykucmVzaGFwZSgobnByb2NzLDEpKSwKLSAgICAgICAgc2Zo
LAotICAgICAgICBmaWVsZF91bml0cywKLSAgICAgICAgKGxlbmd0aF91bml0LCBtYXNzX3VuaXQs
IHRpbWVfdW5pdCwgdmVsb2NpdHlfdW5pdCwgbWFnbmV0aWNfdW5pdCksCi0gICAgICAgIHBhcnRp
Y2xlX3R5cGVzPTNEcGFydGljbGVfdHlwZXMsCi0gICAgICAgIHBlcmlvZGljaXR5PTNEcGVyaW9k
aWNpdHkKLSAgICApCi0KLSAgICBoYW5kbGVyLm5hbWUgPTNEICJVbnN0cnVjdHVyZWRNZXNoRGF0
YSIKLSAgICBoYW5kbGVyLmRvbWFpbl9sZWZ0X2VkZ2UgPTNEIGRvbWFpbl9sZWZ0X2VkZ2UKLSAg
ICBoYW5kbGVyLmRvbWFpbl9yaWdodF9lZGdlID0zRCBkb21haW5fcmlnaHRfZWRnZQotICAgIGhh
bmRsZXIucmVmaW5lX2J5ID0zRCAyCi0gICAgaGFuZGxlci5kaW1lbnNpb25hbGl0eSA9M0QgMwot
ICAgIGhhbmRsZXIuZG9tYWluX2RpbWVuc2lvbnMgPTNEIGRvbWFpbl9kaW1lbnNpb25zCi0gICAg
aGFuZGxlci5zaW11bGF0aW9uX3RpbWUgPTNEIHNpbV90aW1lCi0gICAgaGFuZGxlci5jb3Ntb2xv
Z3lfc2ltdWxhdGlvbiA9M0QgMAotCi0gICAgc2RzID0zRCBTdHJlYW1VbnN0cnVjdHVyZWRNZXNo
RGF0YXNldChoYW5kbGVyLCBnZW9tZXRyeSA9M0QgZ2VvbWV0cnkpCi0KLSAgICByZXR1cm4gc2Rz
Ci0KCmRpZmYgLXIgYmYxYTJmOWViMTA3YmI1OThlZDZmMDkxMTlhNTdiOGIzNzUzZGE5MiAtciBm
OTk4YmJlNTAzMzAxY2E3ZjBjNWJmZj0KN2ViYWVhZThiM2EzYjViNTYgeXQvZnJvbnRlbmRzL3N0
cmVhbS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvc3RyZWFtL2lvLnB5CisrKyBiL3l0L2Zyb250
ZW5kcy9zdHJlYW0vaW8ucHkKQEAgLTI1NSwzNiArMjU1LDMgQEAKICAgICAgICAgICAgICAgICAg
ICAgICAgIHN1YnNldC5kb21haW5faWQgLSBzdWJzZXQuX2RvbWFpbl9vZmZzZXRdW2ZpZWxkXQog
ICAgICAgICAgICAgICAgIHN1YnNldC5maWxsKGZpZWxkX3ZhbHMsIHJ2LCBzZWxlY3RvciwgaW5k
KQogICAgICAgICByZXR1cm4gcnYKLQotY2xhc3MgSU9IYW5kbGVyU3RyZWFtVW5zdHJ1Y3R1cmVk
KEJhc2VJT0hhbmRsZXIpOgotICAgIF9kYXRhc2V0X3R5cGUgPTNEICJzdHJlYW1fdW5zdHJ1Y3R1
cmVkIgotICAgIF9ub2RlX3R5cGVzID0zRCAoImRpZmZ1c2VkIiwgImNvbnZlY3RlZCIpCi0KLSAg
ICBkZWYgX19pbml0X18oc2VsZiwgZHMpOgotICAgICAgICBzZWxmLmZpZWxkcyA9M0QgZHMuc3Ry
ZWFtX2hhbmRsZXIuZmllbGRzCi0gICAgICAgIHN1cGVyKElPSGFuZGxlclN0cmVhbVVuc3RydWN0
dXJlZCwgc2VsZikuX19pbml0X18oZHMpCi0KLSAgICBkZWYgX3JlYWRfZmx1aWRfc2VsZWN0aW9u
KHNlbGYsIGNodW5rcywgc2VsZWN0b3IsIGZpZWxkcywgc2l6ZSk6Ci0gICAgICAgIGNodW5rcyA9
M0QgbGlzdChjaHVua3MpCi0gICAgICAgIGNodW5rID0zRCBjaHVua3NbMF0KLSAgICAgICAgcnYg
PTNEIHt9Ci0gICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZHM6Ci0gICAgICAgICAgICBmdHlwZSwg
Zm5hbWUgPTNEIGZpZWxkCi0gICAgICAgICAgICBpZiBmbmFtZSBpbiBzZWxmLl9ub2RlX3R5cGVz
OgotICAgICAgICAgICAgICAgIHJ2W2ZpZWxkXSA9M0QgbnAuZW1wdHkoKHNpemUsIDgpLCBkdHlw
ZT0zRCJmbG9hdDY0IikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcnZbZmll
bGRdID0zRCBucC5lbXB0eShzaXplLCBkdHlwZT0zRCJmbG9hdDY0IikKLSAgICAgICAgbmdyaWRz
ID0zRCBzdW0obGVuKGNodW5rLm9ianMpIGZvciBjaHVuayBpbiBjaHVua3MpCi0gICAgICAgIG15
bG9nLmRlYnVnKCJSZWFkaW5nICVzIGNlbGxzIG9mICVzIGZpZWxkcyBpbiAlcyBibG9ja3MiLAot
ICAgICAgICAgICAgICAgICAgICBzaXplLCBbZm5hbWUgZm9yIGZ0eXBlLCBmbmFtZSBpbiBmaWVs
ZHNdLCBuZ3JpZHMpCi0gICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZHM6Ci0gICAgICAgICAgICBp
bmQgPTNEIDAKLSAgICAgICAgICAgIGZ0eXBlLCBmbmFtZSA9M0QgZmllbGQKLSAgICAgICAgICAg
IGZvciBjaHVuayBpbiBjaHVua3M6Ci0gICAgICAgICAgICAgICAgZm9yIGcgaW4gY2h1bmsub2Jq
czoKLSAgICAgICAgICAgICAgICAgICAgZHMgPTNEIHNlbGYuZmllbGRzW2cubWVzaF9pZF0uZ2V0
KGZpZWxkLCBOb25lKQotICAgICAgICAgICAgICAgICAgICBpZiBkcyBpcyBOb25lOgotICAgICAg
ICAgICAgICAgICAgICAgICAgZHMgPTNEIHNlbGYuZmllbGRzW2cubWVzaF9pZF1bZm5hbWVdCi0g
ICAgICAgICAgICAgICAgICAgIGluZCArPTNEIGcuc2VsZWN0KHNlbGVjdG9yLCBkcywgcnZbZmll
bGRdLCBpbmQpICMgY2FjaD0KZXMKLSAgICAgICAgcmV0dXJuIHJ2Ci0KCmRpZmYgLXIgYmYxYTJm
OWViMTA3YmI1OThlZDZmMDkxMTlhNTdiOGIzNzUzZGE5MiAtciBmOTk4YmJlNTAzMzAxY2E3ZjBj
NWJmZj0KN2ViYWVhZThiM2EzYjViNTYgeXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVzaWFu
X2Nvb3JkaW5hdGVzLnB5Ci0tLSBhL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9j
b29yZGluYXRlcy5weQorKysgYi95dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0ZXNpYW5fY29v
cmRpbmF0ZXMucHkKQEAgLTE4LDEwICsxOCw4IEBACiBmcm9tIC5jb29yZGluYXRlX2hhbmRsZXIg
aW1wb3J0IFwKICAgICBDb29yZGluYXRlSGFuZGxlciwgXAogICAgIF91bmtub3duX2Nvb3JkLCBc
Ci0gICAgX2dldF9jb29yZF9maWVsZHMsIFwKLSAgICBfZ2V0X3ZlcnRfZmllbGRzCisgICAgX2dl
dF9jb29yZF9maWVsZHMKIGltcG9ydCB5dC52aXN1YWxpemF0aW9uLl9NUEwgYXMgX01QTAotZnJv
bSB5dC5maWVsZHMuZGVyaXZlZF9maWVsZCBpbXBvcnQgTnVsbEZ1bmMKPTIwCiBjbGFzcyBDYXJ0
ZXNpYW5Db29yZGluYXRlSGFuZGxlcihDb29yZGluYXRlSGFuZGxlcik6Cj0yMApAQCAtNDAsMTAg
KzM4LDYgQEAKICAgICAgICAgICAgIHJlZ2lzdHJ5LmFkZF9maWVsZCgoImluZGV4IiwgIiVzIiAl
IGF4KSwgZnVuY3Rpb24gPTNEIGYyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRp
c3BsYXlfZmllbGQgPTNEIEZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
aXRzID0zRCAiY29kZV9sZW5ndGgiKQotICAgICAgICAgICAgZjMgPTNEIF9nZXRfdmVydF9maWVs
ZHMoYXhpKQotICAgICAgICAgICAgcmVnaXN0cnkuYWRkX2ZpZWxkKCgiaW5kZXgiLCAidmVydGV4
XyVzIiAlIGF4KSwgZnVuY3Rpb24gPTNEIGY9CjMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlzcGxheV9maWVsZCA9M0QgRmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5pdHMgPTNEICJjb2RlX2xlbmd0aCIpCiAgICAgICAgIGRlZiBfY2VsbF92b2x1bWUo
ZmllbGQsIGRhdGEpOgogICAgICAgICAgICAgcnYgID0zRCBkYXRhWyJpbmRleCIsICJkeCJdLmNv
cHkob3JkZXI9M0QnSycpCiAgICAgICAgICAgICBydiAqPTNEIGRhdGFbImluZGV4IiwgImR5Il0K
CmRpZmYgLXIgYmYxYTJmOWViMTA3YmI1OThlZDZmMDkxMTlhNTdiOGIzNzUzZGE5MiAtciBmOTk4
YmJlNTAzMzAxY2E3ZjBjNWJmZj0KN2ViYWVhZThiM2EzYjViNTYgeXQvZ2VvbWV0cnkvY29vcmRp
bmF0ZXMvY29vcmRpbmF0ZV9oYW5kbGVyLnB5Ci0tLSBhL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVz
L2Nvb3JkaW5hdGVfaGFuZGxlci5weQorKysgYi95dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jb29y
ZGluYXRlX2hhbmRsZXIucHkKQEAgLTQ1LDEyICs0NSw2IEBACiAgICAgICAgIHJldHVybiBkYXRh
Ll9yZXNoYXBlX3ZhbHMocnYpCiAgICAgcmV0dXJuIF9kZHMsIF9jb29yZHMKPTIwCi1kZWYgX2dl
dF92ZXJ0X2ZpZWxkcyhheGksIHVuaXRzID0zRCAiY29kZV9sZW5ndGgiKToKLSAgICBkZWYgX3Zl
cnQoZmllbGQsIGRhdGEpOgotICAgICAgICBydiA9M0QgZGF0YS5kcy5hcnIoZGF0YS5mY29vcmRz
X3ZlcnRleFsuLi4sYXhpXS5jb3B5KCksIHVuaXRzKQotICAgICAgICByZXR1cm4gcnYKLSAgICBy
ZXR1cm4gX3ZlcnQKLQogZGVmIHZhbGlkYXRlX2l0ZXJhYmxlX3dpZHRoKHdpZHRoLCBkcywgdW5p
dD0zRE5vbmUpOgogICAgIGlmIGlzaW5zdGFuY2Uod2lkdGhbMF0sIHR1cGxlKSBhbmQgaXNpbnN0
YW5jZSh3aWR0aFsxXSwgdHVwbGUpOgogICAgICAgICB2YWxpZGF0ZV93aWR0aF90dXBsZSh3aWR0
aFswXSkKCmRpZmYgLXIgYmYxYTJmOWViMTA3YmI1OThlZDZmMDkxMTlhNTdiOGIzNzUzZGE5MiAt
ciBmOTk4YmJlNTAzMzAxY2E3ZjBjNWJmZj0KN2ViYWVhZThiM2EzYjViNTYgeXQvZ2VvbWV0cnkv
Z2VvbWV0cnlfaGFuZGxlci5weQotLS0gYS95dC9nZW9tZXRyeS9nZW9tZXRyeV9oYW5kbGVyLnB5
CisrKyBiL3l0L2dlb21ldHJ5L2dlb21ldHJ5X2hhbmRsZXIucHkKQEAgLTQwMiwyMCArNDAyLDYg
QEAKICAgICAgICAgICAgIGluZCArPTNEIGd0LnNpemUKICAgICAgICAgcmV0dXJuIGNkdAo9MjAK
LSAgICBAY2FjaGVkX3Byb3BlcnR5Ci0gICAgZGVmIGZjb29yZHNfdmVydGV4KHNlbGYpOgotICAg
ICAgICBjaSA9M0QgbnAuZW1wdHkoKHNlbGYuZGF0YV9zaXplLCA4LCAzKSwgZHR5cGU9M0QnZmxv
YXQ2NCcpCi0gICAgICAgIGNpID0zRCBZVEFycmF5KGNpLCBpbnB1dF91bml0cyA9M0QgImNvZGVf
bGVuZ3RoIiwKLSAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5ID0zRCBzZWxmLmRvYmouZHMu
dW5pdF9yZWdpc3RyeSkKLSAgICAgICAgaWYgc2VsZi5kYXRhX3NpemUgPTNEPTNEIDA6IHJldHVy
biBjaQotICAgICAgICBpbmQgPTNEIDAKLSAgICAgICAgZm9yIG9iaiBpbiBzZWxmLm9ianM6Ci0g
ICAgICAgICAgICBjID0zRCBvYmouc2VsZWN0X2Zjb29yZHNfdmVydGV4KHNlbGYuZG9iaikKLSAg
ICAgICAgICAgIGlmIGMuc2hhcGVbMF0gPTNEPTNEIDA6IGNvbnRpbnVlCi0gICAgICAgICAgICBj
aVtpbmQ6aW5kK2Muc2hhcGVbMF0sIDosIDpdID0zRCBjCi0gICAgICAgICAgICBpbmQgKz0zRCBj
LnNoYXBlWzBdCi0gICAgICAgIHJldHVybiBjaQotCiBjbGFzcyBDaHVua0RhdGFDYWNoZShvYmpl
Y3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBiYXNlX2l0ZXIsIHByZWxvYWRfZmllbGRzLCBn
ZW9tZXRyeV9oYW5kbGVyLAogICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoID0zRCAyNTYpOgoK
ZGlmZiAtciBiZjFhMmY5ZWIxMDdiYjU5OGVkNmYwOTExOWE1N2I4YjM3NTNkYTkyIC1yIGY5OThi
YmU1MDMzMDFjYTdmMGM1YmZmPQo3ZWJhZWFlOGIzYTNiNWI1NiB5dC9nZW9tZXRyeS9zZWxlY3Rp
b25fcm91dGluZXMucHl4Ci0tLSBhL3l0L2dlb21ldHJ5L3NlbGVjdGlvbl9yb3V0aW5lcy5weXgK
KysrIGIveXQvZ2VvbWV0cnkvc2VsZWN0aW9uX3JvdXRpbmVzLnB5eApAQCAtMzg3LDYgKzM4Nyw4
IEBACiAgICAgICAgIGNkZWYgaW50IG5wb2ludHMsIG52ID0zRCBtZXNoLl9jb25uZWN0aXZpdHlf
bGVuZ3RoCiAgICAgICAgIGNkZWYgaW50IHRvdGFsID0zRCAwCiAgICAgICAgIGNkZWYgaW50IG9m
ZnNldCA9M0QgbWVzaC5faW5kZXhfb2Zmc2V0CisgICAgICAgIGlmIG52ICE9M0QgODoKKyAgICAg
ICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgogICAgICAgICBjb29yZHMgPTNEIF9lbnN1cmVfY29k
ZShtZXNoLmNvbm5lY3Rpdml0eV9jb29yZHMpCiAgICAgICAgIGluZGljZXMgPTNEIG1lc2guY29u
bmVjdGl2aXR5X2luZGljZXMKICAgICAgICAgbnBvaW50cyA9M0QgaW5kaWNlcy5zaGFwZVswXQoK
ZGlmZiAtciBiZjFhMmY5ZWIxMDdiYjU5OGVkNmYwOTExOWE1N2I4YjM3NTNkYTkyIC1yIGY5OThi
YmU1MDMzMDFjYTdmMGM1YmZmPQo3ZWJhZWFlOGIzYTNiNWI1NiB5dC91dGlsaXRpZXMvbGliL21l
c2hfdHJhdmVyc2FsLnB4ZAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfdHJhdmVyc2FsLnB4
ZAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotY2ltcG9ydCBydGNvcmUKLWNpbXBvcnQg
cnRjb3JlX3NjZW5lCi1jaW1wb3J0IHJ0Y29yZV9yYXkKCmRpZmYgLXIgYmYxYTJmOWViMTA3YmI1
OThlZDZmMDkxMTlhNTdiOGIzNzUzZGE5MiAtciBmOTk4YmJlNTAzMzAxY2E3ZjBjNWJmZj0KN2Vi
YWVhZThiM2EzYjViNTYgeXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZlcnNhbC5weXgKLS0tIGEv
eXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZlcnNhbC5weXgKKysrIC9kZXYvbnVsbApAQCAtMSwy
ICswLDAgQEAKLWRlZiBoZWxsb193b3JsZCgpOgotICAgIHByaW50ICJIZWxsbyEiCgpkaWZmIC1y
IGJmMWEyZjllYjEwN2JiNTk4ZWQ2ZjA5MTE5YTU3YjhiMzc1M2RhOTIgLXIgZjk5OGJiZTUwMzMw
MWNhN2YwYzViZmY9CjdlYmFlYWU4YjNhM2I1YjU2IHl0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0
aW9uX3JvdXRpbmVzLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0
aW5lcy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4
CkBAIC0xODUsMTAgKzE4NSwxMCBAQAogICAgIGNkZWYgbnAuZmxvYXQ2NF90IHJfaSwgdGhldGFf
aSwgZHJfaSwgZHRoZXRhX2ksIGR0aGV0YW1pbgogICAgIGNkZWYgbnAuZmxvYXQ2NF90IGNvc3Ro
ZXRhLCBzaW50aGV0YQogICAgIGNkZWYgaW50IGksIHBpLCBwagotCisgICA9MjAKICAgICBpbWF4
ID0zRCByYWRpdXMuYXJnbWF4KCkKICAgICBybWF4ID0zRCByYWRpdXNbaW1heF0gKyBkcmFkaXVz
W2ltYXhdCi0KKyAgICAgICAgID0yMAogICAgIGlmIGlucHV0X2ltZyBpcyBOb25lOgogICAgICAg
ICBpbWcgPTNEIG5wLnplcm9zKChidWZmX3NpemVbMF0sIGJ1ZmZfc2l6ZVsxXSkpCiAgICAgICAg
IGltZ1s6XSA9M0QgbnAubmFuCkBAIC0yMzksNyArMjM5LDcgQEAKICAgICAgICAgICAgIHNpbnRo
ZXRhID0zRCBtYXRoLnNpbih0aGV0YV9pKQogICAgICAgICAgICAgd2hpbGUgcl9pIDwgcjAgKyBk
cl9pOgogICAgICAgICAgICAgICAgIGlmIHJtYXggPD0zRCByX2k6Ci0gICAgICAgICAgICAgICAg
ICAgIHJfaSArPTNEIDAuNSpkeAorICAgICAgICAgICAgICAgICAgICByX2kgKz0zRCAwLjUqZHg9
MjAKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICB5ID0zRCBy
X2kgKiBjb3N0aGV0YQogICAgICAgICAgICAgICAgIHggPTNEIHJfaSAqIHNpbnRoZXRhCkBAIC0y
NTAsNyArMjUwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgaW1nW3BpLCBwal0gIT0zRCBp
bWdbcGksIHBqXToKICAgICAgICAgICAgICAgICAgICAgICAgIGltZ1twaSwgcGpdID0zRCAwLjAK
ICAgICAgICAgICAgICAgICAgICAgaW1nW3BpLCBwal0gPTNEIGZpZWxkW2ldCi0gICAgICAgICAg
ICAgICAgcl9pICs9M0QgMC41KmR4CisgICAgICAgICAgICAgICAgcl9pICs9M0QgMC41KmR4PTIw
CiAgICAgICAgICAgICB0aGV0YV9pICs9M0QgZHRoZXRhbWluCj0yMAogICAgIHJldHVybiBpbWcK
QEAgLTI4OSw3ICsyODksNyBAQAogICAgIGNkZWYgbnAuZmxvYXQ2NF90IHMyID0zRCBtYXRoLnNx
cnQoMi4wKQogICAgIGNkZWYgbnAuZmxvYXQ2NF90IHhtYXgsIHltYXgsIHhtaW4sIHltaW4KICAg
ICBuZiA9M0QgZmllbGQuc2hhcGVbMF0KLQorICAgPTIwCiAgICAgaWYgaW5wdXRfaW1nIGlzIE5v
bmU6CiAgICAgICAgIGltZyA9M0QgbnAuemVyb3MoKGJ1ZmZfc2l6ZVswXSwgYnVmZl9zaXplWzFd
KSkKICAgICAgICAgaW1nWzpdID0zRCBucC5uYW4KQEAgLTQyMiwxNCArNDIyLDEyIEBACiAgICAg
cmV0dXJuIDEKPTIwCiBkZWYgcGl4ZWxpemVfZWxlbWVudF9tZXNoKG5wLm5kYXJyYXlbbnAuZmxv
YXQ2NF90LCBuZGltPTNEMl0gY29vcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBucC5u
ZGFycmF5W25wLmludDY0X3QsIG5kaW09M0QyXSBjb25uLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBidWZmX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG5wLm5kYXJyYXlbbnAu
ZmxvYXQ2NF90LCBuZGltPTNEMV0gZmllbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGV4
dGVudHMsIGludCBpbmRleF9vZmZzZXQgPTNEIDApOgotCisgICAgICAgICAgICAgICAgICAgICAg
bnAubmRhcnJheVtucC5pbnQ2NF90LCBuZGltPTNEMl0gY29ubiwKKyAgICAgICAgICAgICAgICAg
ICAgICBidWZmX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgbnAubmRhcnJheVtucC5mbG9h
dDY0X3QsIG5kaW09M0QxXSBmaWVsZCwKKyAgICAgICAgICAgICAgICAgICAgICBleHRlbnRzLCBp
bnQgaW5kZXhfb2Zmc2V0ID0zRCAwKToKICAgICBjZGVmIG5wLm5kYXJyYXlbbnAuZmxvYXQ2NF90
LCBuZGltPTNEM10gaW1nCiAgICAgaW1nID0zRCBucC56ZXJvcyhidWZmX3NpemUsIGR0eXBlPTNE
ImZsb2F0NjQiKQotCiAgICAgIyBUd28gc3RlcHM6CiAgICAgIyAgMS4gSXMgaW1hZ2UgcG9pbnQg
d2l0aGluIHRoZSBtZXNoIGJvdW5kaW5nIGJveD8KICAgICAjICAyLiBJcyBpbWFnZSBwb2ludCB3
aXRoaW4gdGhlIG1lc2ggZWxlbWVudD8KQEAgLTQzOSwyOSArNDM3LDI5IEBACiAgICAgIyBjb21w
YXJlIGFnYWluc3QgdGhlIGNlbnRyb2lkIG9mIHRoZSAoYXNzdW1lZCBjb252ZXgpIGVsZW1lbnQu
CiAgICAgIyBOb3RlIHRoYXQgd2UgaGF2ZSB0byBoYXZlIGEgcHNldWRvLTNEIHBpeGVsIGJ1ZmZl
ci4gIE9uZSBkaW1lbnNpb24gdz0KaWxsCiAgICAgIyBhbHdheXMgYmUgMS4KLSAgICBjZGVmIG5w
LmZsb2F0NjRfdCBwTEVbM10sIHBSRVszXSAjIGJvdW5kaW5nIGJveCBvZiBpbWFnZSBidWZmZXIK
LSAgICBjZGVmIG5wLmZsb2F0NjRfdCBMRVszXSwgUkVbM10gIyBib3VuZGluZyBib3ggZm9yIGFu
IGluZGl2aWR1YWwgZWxlbWVudAorICAgIGNkZWYgbnAuZmxvYXQ2NF90IHBMRVszXSwgcFJFWzNd
CisgICAgY2RlZiBucC5mbG9hdDY0X3QgTEVbM10sIFJFWzNdCiAgICAgY2RlZiBpbnQgdXNlCi0g
ICAgY2RlZiBucC5pbnQ4X3QgKnNpZ25zICMgd2UgdXNlIHRoaXMgdG8gZGV0ZXJtaW5lIHdoZXRo
ZXIgYSBwaXhlbCBpcyB3aT0KdGhpbiB0aGUgZmluaXRlIGVsZW1lbnQKKyAgICBjZGVmIG5wLmlu
dDhfdCAqc2lnbnMKICAgICBjZGVmIG5wLmludDY0X3QgbiwgaSwgaiwgaywgcGksIHBqLCBwaywg
Y2ksIGNqLCBjawogICAgIGNkZWYgbnAuaW50NjRfdCBwc3RhcnRbM10sIHBlbmRbM10KLSAgICBj
ZGVmIG5wLmZsb2F0NjRfdCBwcG9pbnRbM10sIGNlbnRyb2lkWzNdLCBpZGRzWzNdLCBkZHNbM10g
IyBkZHMtPltkeCwgPQpkeSwgZHpdCisgICAgY2RlZiBucC5mbG9hdDY0X3QgcHBvaW50WzNdLCBj
ZW50cm9pZFszXSwgaWRkc1szXSwgZGRzWzNdCiAgICAgY2RlZiBucC5mbG9hdDY0X3QgKip2ZXJ0
aWNlcwotICAgIGNkZWYgaW50IG52ZXJ0aWNlcyA9M0QgY29ubi5zaGFwZVsxXSAjIGdldCB0aGUg
bnVtYmVyIG9mIHZlcnRpY2VzCisgICAgY2RlZiBpbnQgbnZlcnRpY2VzID0zRCBjb25uLnNoYXBl
WzFdCiAgICAgY2RlZiBpbnQgbmYKLQotICAgICMgRGV0ZXJtaW5lIGVsZW1lbnQgdHlwZSBmcm9t
IHRoZSBudW1iZXIgb2YgdmVydGljZXMgKG52ZXJ0aWNlcykKLSAgICBuZiA9M0QgZ2V0X2VsZW1l
bnRfdHlwZShudmVydGljZXMpCi0KLSAgICAjIEFsbG9jYXRlIHN1YnJvdXRpbmUKLSAgICAjIyBB
bGxvY2F0ZSBzaWducyBhcnJheQorICAgICMgQWxsb2NhdGUgb3VyIHNpZ25zIGFycmF5CisgICAg
aWYgbnZlcnRpY2VzID0zRD0zRCA0OgorICAgICAgICBuZiA9M0QgVEVUUkFfTkYKKyAgICBlbGlm
IG52ZXJ0aWNlcyA9M0Q9M0QgNjoKKyAgICAgICAgbmYgPTNEIFdFREdFX05GCisgICAgZWxpZiBu
dmVydGljZXMgPTNEPTNEIDg6CisgICAgICAgIG5mID0zRCBIRVhfTkYKKyAgICBlbHNlOgorICAg
ICAgICByYWlzZSBSdW50aW1lRXJyb3IKICAgICBzaWducyA9M0QgPG5wLmludDhfdCAqPiBhbGxv
Y2Eoc2l6ZW9mKG5wLmludDhfdCkgKiBuZikKLQotICAgICMjIEFsbG9jYXRlIHZlcnRpY2VzIHBv
aW50ZXIgYXJyYXkKICAgICB2ZXJ0aWNlcyA9M0QgPG5wLmZsb2F0NjRfdCAqKj4gYWxsb2NhKHNp
emVvZihucC5mbG9hdDY0X3QgKikgKiBudmVydGljPQplcykKICAgICBmb3IgaSBpbiByYW5nZShu
dmVydGljZXMpOgogICAgICAgICB2ZXJ0aWNlc1tpXSA9M0QgPG5wLmZsb2F0NjRfdCAqPiBhbGxv
Y2Eoc2l6ZW9mKG5wLmZsb2F0NjRfdCkgKiAzKQotCiAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6CiAg
ICAgICAgIHBMRVtpXSA9M0QgZXh0ZW50c1tpXVswXQogICAgICAgICBwUkVbaV0gPTNEIGV4dGVu
dHNbaV1bMV0KQEAgLTQ3MCw3MiArNDY4LDQ2IEBACiAgICAgICAgICAgICBpZGRzW2ldID0zRCAw
LjAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlkZHNbaV0gPTNEIDEuMCAvIGRkc1tpXQot
Ci0gICAgIyBHbyB0aHJvdWdoIGVhY2ggZWxlbWVudAogICAgIGZvciBjaSBpbiByYW5nZShjb25u
LnNoYXBlWzBdKToKICAgICAgICAgIyBGaWxsIHRoZSB2ZXJ0aWNlcyBhbmQgY29tcHV0ZSB0aGUg
Y2VudHJvaWQKICAgICAgICAgY2VudHJvaWRbMF0gPTNEIGNlbnRyb2lkWzFdID0zRCBjZW50cm9p
ZFsyXSA9M0QgMAogICAgICAgICBMRVswXSA9M0QgTEVbMV0gPTNEIExFWzJdID0zRCAxZTYwCiAg
ICAgICAgIFJFWzBdID0zRCBSRVsxXSA9M0QgUkVbMl0gPTNEIC0xZTYwCi0KLSAgICAgICAgZm9y
IG4gaW4gcmFuZ2UobnZlcnRpY2VzKTogIyA4IGZvciBhIGhleGFoZWRyYWwgbWVzaCwgNCBmb3Ig
YSB0ZXRyPQphaGVkcmFsCisgICAgICAgIGZvciBuIGluIHJhbmdlKG52ZXJ0aWNlcyk6ICMgOAog
ICAgICAgICAgICAgY2ogPTNEIGNvbm5bY2ksIG5dIC0gaW5kZXhfb2Zmc2V0CiAgICAgICAgICAg
ICBmb3IgaSBpbiByYW5nZSgzKToKICAgICAgICAgICAgICAgICB2ZXJ0aWNlc1tuXVtpXSA9M0Qg
Y29vcmRzW2NqLCBpXQogICAgICAgICAgICAgICAgIGNlbnRyb2lkW2ldICs9M0QgY29vcmRzW2Nq
LCBpXQogICAgICAgICAgICAgICAgIExFW2ldID0zRCBmbWluKExFW2ldLCB2ZXJ0aWNlc1tuXVtp
XSkKICAgICAgICAgICAgICAgICBSRVtpXSA9M0QgZm1heChSRVtpXSwgdmVydGljZXNbbl1baV0p
Ci0KICAgICAgICAgY2VudHJvaWRbMF0gLz0zRCBudmVydGljZXMKICAgICAgICAgY2VudHJvaWRb
MV0gLz0zRCBudmVydGljZXMKICAgICAgICAgY2VudHJvaWRbMl0gLz0zRCBudmVydGljZXMKICAg
ICAgICAgdXNlID0zRCAxCi0KICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6Ci0KLSAgICAgICAg
ICAgICMgQ2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBpcyB3aXRoaW4gdGhlIHBpeGVsIGJvdW5k
aW5nIGJveCwgPQppLmUuCi0gICAgICAgICAgICAjIHdpdGhpbiB0aGUgZGltZW5zaW9ucyBvZiB0
aGUgaW1hZ2UKICAgICAgICAgICAgIGlmIFJFW2ldIDwgcExFW2ldIG9yIExFW2ldID49M0QgcFJF
W2ldOgogICAgICAgICAgICAgICAgIHVzZSA9M0QgMAogICAgICAgICAgICAgICAgIGJyZWFrCiAg
ICAgICAgICAgICBwc3RhcnRbaV0gPTNEIGk2NG1heCg8bnAuaW50NjRfdD4gKChMRVtpXSAtIHBM
RVtpXSkqaWRkc1tpXSkgLT0KIDEsIDApCiAgICAgICAgICAgICBwZW5kW2ldID0zRCBpNjRtaW4o
PG5wLmludDY0X3Q+ICgoUkVbaV0gLSBwTEVbaV0pKmlkZHNbaV0pICsgMT0KLCBpbWcuc2hhcGVb
aV0tMSkKLQogICAgICAgICBpZiB1c2UgPTNEPTNEIDA6CiAgICAgICAgICAgICBjb250aW51ZQot
CiAgICAgICAgICMgTm93IG91ciBib3VuZGluZyBib3ggaW50ZXJzZWN0cywgc28gd2UgZ2V0IHRo
ZSBleHRlbnRzIG9mIG91ciBwaT0KeGVsCiAgICAgICAgICMgcmVnaW9uIHdoaWNoIG92ZXJsYXBz
IHdpdGggdGhlIGJvdW5kaW5nIGJveCwgYW5kIHdlJ2xsIGNoZWNrIGVhY2gKICAgICAgICAgIyBw
aXhlbCBpbiB0aGVyZS4KICAgICAgICAgIyBGaXJzdCwgd2UgZmlndXJlIG91dCB0aGUgZG90IHBy
b2R1Y3Qgb2YgdGhlIGNlbnRyb2lkIHdpdGggYWxsIHRoZQogICAgICAgICAjIGZhY2VzLgogICAg
ICAgICBjaGVja19mYWNlX2RvdChudmVydGljZXMsIGNlbnRyb2lkLCB2ZXJ0aWNlcywgc2lnbnMs
IDApCi0KICAgICAgICAgZm9yIHBpIGluIHJhbmdlKHBzdGFydFswXSwgcGVuZFswXSArIDEpOgog
ICAgICAgICAgICAgcHBvaW50WzBdID0zRCAocGkgKyAwLjUpICogZGRzWzBdICsgcExFWzBdCi0K
ICAgICAgICAgICAgIGZvciBwaiBpbiByYW5nZShwc3RhcnRbMV0sIHBlbmRbMV0gKyAxKToKICAg
ICAgICAgICAgICAgICBwcG9pbnRbMV0gPTNEIChwaiArIDAuNSkgKiBkZHNbMV0gKyBwTEVbMV0K
LQogICAgICAgICAgICAgICAgIGZvciBwayBpbiByYW5nZShwc3RhcnRbMl0sIHBlbmRbMl0gKyAx
KToKICAgICAgICAgICAgICAgICAgICAgcHBvaW50WzJdID0zRCAocGsgKyAwLjUpICogZGRzWzJd
ICsgcExFWzJdCiAgICAgICAgICAgICAgICAgICAgICMgTm93IHdlIGp1c3QgbmVlZCB0byBmaWd1
cmUgb3V0IGlmIG91ciBwcG9pbnQgaXMgd2l0aD0KaW4KICAgICAgICAgICAgICAgICAgICAgIyBv
dXIgc2V0IG9mIHZlcnRpY2VzLgotCiAgICAgICAgICAgICAgICAgICAgIGlmIGNoZWNrX2ZhY2Vf
ZG90KG52ZXJ0aWNlcywgcHBvaW50LCB2ZXJ0aWNlcywgc2lnbnMsID0KMSkgPTNEPTNEIDA6CiAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAgICAgICAgICMg
T3RoZXJ3aXNlLCB3ZSB3aWxsIGFkZCBhIHBpeGVsIHRvIHRoZSBpbWFnZSBidWZmZXIKKyAgICAg
ICAgICAgICAgICAgICAgIyBFbHNlLCB3ZSBkZXBvc2l0IQogICAgICAgICAgICAgICAgICAgICBp
bWdbcGksIHBqLCBwa10gPTNEIGZpZWxkW2NpXQotCiAgICAgcmV0dXJuIGltZwotCi1kZWYgZ2V0
X2VsZW1lbnRfdHlwZShudmVydGljZXMpOgotICAgIGlmIG52ZXJ0aWNlcyA9M0Q9M0QgNDoKLSAg
ICAgICAgcmV0dXJuIFRFVFJBX05GCi0gICAgZWxpZiBudmVydGljZXMgPTNEPTNEIDY6Ci0gICAg
ICAgIHJldHVybiBXRURHRV9ORgotICAgIGVsaWYgbnZlcnRpY2VzID0zRD0zRCA4OgotICAgICAg
ICByZXR1cm4gSEVYX05GCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCgpk
aWZmIC1yIGJmMWEyZjllYjEwN2JiNTk4ZWQ2ZjA5MTE5YTU3YjhiMzc1M2RhOTIgLXIgZjk5OGJi
ZTUwMzMwMWNhN2YwYzViZmY9CjdlYmFlYWU4YjNhM2I1YjU2IHl0L3V0aWxpdGllcy9saWIvc2V0
dXAucHkKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9zZXR1cC5weQorKysgYi95dC91dGlsaXRpZXMv
bGliL3NldHVwLnB5CkBAIC0xLDYgKzEsNSBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiBmcm9t
IF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCi1pbXBvcnQgcGtnX3Jlc291cmNlcwog
aW1wb3J0IHNldHVwdG9vbHMKIGltcG9ydCBvcywgc3lzLCBvcy5wYXRoLCBnbG9iLCBcCiAgICAg
dGVtcGZpbGUsIHN1YnByb2Nlc3MsIHNodXRpbApAQCAtNDQsMTMgKzQzLDYgQEAKPTIwCiAgICAg
cmV0dXJuIGV4aXRfY29kZSA9M0Q9M0QgMAo9MjAKLWRlZiBjaGVja19mb3JfcHllbWJyZWUoKToK
LSAgICB0cnk6Ci0gICAgICAgIGZuID0zRCBwa2dfcmVzb3VyY2VzLnJlc291cmNlX2ZpbGVuYW1l
KCJweWVtYnJlZSIsICJydGNvcmUucHhkIikKLSAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAg
ICAgIHJldHVybiBOb25lCi0gICAgcmV0dXJuIG9zLnBhdGguZGlybmFtZShmbikKLQogZGVmIGNv
bmZpZ3VyYXRpb24ocGFyZW50X3BhY2thZ2U9M0QnJyx0b3BfcGF0aD0zRE5vbmUpOgogICAgIGZy
b20gbnVtcHkuZGlzdHV0aWxzLm1pc2NfdXRpbCBpbXBvcnQgQ29uZmlndXJhdGlvbgogICAgIGNv
bmZpZyA9M0QgQ29uZmlndXJhdGlvbignbGliJyxwYXJlbnRfcGFja2FnZSx0b3BfcGF0aCkKQEAg
LTE2MywxMyArMTU1LDYgQEAKICAgICBjb25maWcuYWRkX2V4dGVuc2lvbigiYW1yX2tkdG9vbHMi
LD0yMAogICAgICAgICAgICAgICAgICAgICAgICAgIFsieXQvdXRpbGl0aWVzL2xpYi9hbXJfa2R0
b29scy5weXgiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9M0RbIm0iXSwg
ZGVwZW5kcz0zRFsieXQvdXRpbGl0aWVzL2xpYi9mPQpwX3V0aWxzLnB4ZCJdKQotICAgIGluY2x1
ZGVfZGlycyA9M0QgY2hlY2tfZm9yX3B5ZW1icmVlKCkKLSAgICBpZiBpbmNsdWRlX2RpcnMgaXMg
bm90IE5vbmU6Ci0gICAgICAgIGNvbmZpZy5hZGRfZXh0ZW5zaW9uKCJtZXNoX3RyYXZlcnNhbCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsieXQvdXRpbGl0aWVzL2xpYi9tZXNoX3Ry
YXZlcnNhbC5weXgiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJz
PTNEWyJ5dC91dGlsaXRpZXMvbGliIiwgaW5jbHVkZV9kPQppcnNdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJyYXJpZXM9M0RbIm0iXSwgbGFuZ3VhZ2U9M0QiYysrIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kcz0zRFsieXQvdXRpbGl0aWVzL2xpYi9tZXNo
X3RyYXZlcnNhbC5wPQp4ZCJdKQogICAgIGNvbmZpZy5hZGRfc3VicGFja2FnZSgidGVzdHMiKQo9
MjAKICAgICBpZiBvcy5lbnZpcm9uLmdldCgiR1BFUkZUT09MUyIsICJubyIpLnVwcGVyKCkgIT0z
RCAiTk8iOgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzlh
YmIzNTkxNWMzNC8KQ2hhbmdlc2V0OiAgIDlhYmIzNTkxNWMzNApCcmFuY2g6ICAgICAgeXQKVXNl
cjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNy0wNiAxOTo0NzoxMCswMDow
MApTdW1tYXJ5OiAgICAgUmV2ZXJ0IHJlcXVpcmVtZW50cy50eHQKQWZmZWN0ZWQgIzogIDEgZmls
ZQoKZGlmZiAtciBmOTk4YmJlNTAzMzAxY2E3ZjBjNWJmZjdlYmFlYWU4YjNhM2I1YjU2IC1yIDlh
YmIzNTkxNWMzNDIzNjUxNzUwNjJjPQplYTYzMzQyMjQ5YWRiMzM4MiByZXF1aXJlbWVudHMudHh0
Ci0tLSBhL3JlcXVpcmVtZW50cy50eHQKKysrIGIvcmVxdWlyZW1lbnRzLnR4dApAQCAtNCw0ICs0
LDMgQEAKIGg1cHk9M0Q9M0QyLjUuMD0yMAogbm9zZT0zRD0zRDEuMy42PTIwCiBzeW1weT0zRD0z
RDAuNy42PTIwCi1uZXRDREY0CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L2NvbW1pdHMvMjM1ZjEzZmQ3ZGRmLwpDaGFuZ2VzZXQ6ICAgMjM1ZjEzZmQ3ZGRmCkJyYW5jaDog
ICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA3LTA2IDE5
OjQ5OjA1KzAwOjAwClN1bW1hcnk6ICAgICBSZXZlcnQsIHJldmVydApBZmZlY3RlZCAjOiAgMSBm
aWxlCgpkaWZmIC1yIDlhYmIzNTkxNWMzNDIzNjUxNzUwNjJjZWE2MzM0MjI0OWFkYjMzODIgLXIg
MjM1ZjEzZmQ3ZGRmNTQxNDg2Yjg5ZjU9CmRiYjNjZGE1Y2EwMmNiZDUyIHl0L19faW5pdF9fLnB5
Ci0tLSBhL3l0L19faW5pdF9fLnB5CisrKyBiL3l0L19faW5pdF9fLnB5CkBAIC0xMzQsNyArMTM0
LDcgQEAKIGZyb20geXQuZnJvbnRlbmRzLnN0cmVhbS5hcGkgaW1wb3J0IFwKICAgICBsb2FkX3Vu
aWZvcm1fZ3JpZCwgbG9hZF9hbXJfZ3JpZHMsIFwKICAgICBsb2FkX3BhcnRpY2xlcywgbG9hZF9o
ZXhhaGVkcmFsX21lc2gsIGxvYWRfb2N0cmVlLCBcCi0gICAgaGV4YWhlZHJhbF9jb25uZWN0aXZp
dHksIGxvYWRfdW5zdHJ1Y3R1cmVkX21lc2gKKyAgICBoZXhhaGVkcmFsX2Nvbm5lY3Rpdml0eQo9
MjAKICMgRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CiBHYWRnZXREYXRhc2V0ID0zRCBmcm9u
dGVuZHMuZ2FkZ2V0LkdhZGdldERhdGFzZXQKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5h
bHlzaXMveXQvY29tbWl0cy9jYzY1MzNjNDgxODkvCkNoYW5nZXNldDogICBjYzY1MzNjNDgxODkK
QnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUt
MDctMDYgMTk6NTM6MzUrMDA6MDAKU3VtbWFyeTogICAgIFJlbW92ZSBtZXNoIGRzIG1ldGhvZApB
ZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDIzNWYxM2ZkN2RkZjU0MTQ4NmI4OWY1ZGJiM2Nk
YTVjYTAyY2JkNTIgLXIgY2M2NTMzYzQ4MTg5ZTdmN2QwYzQ1OTA9Cjg0ZTYwNTc3ZWQyOWRjY2Rh
IHl0L3Rlc3RpbmcucHkKLS0tIGEveXQvdGVzdGluZy5weQorKysgYi95dC90ZXN0aW5nLnB5CkBA
IC0xOTksMTIgKzE5OSw2IEBACiAgICAgdWcgPTNEIGxvYWRfdW5pZm9ybV9ncmlkKGRhdGEsIG5k
aW1zLCBsZW5ndGhfdW5pdD0zRGxlbmd0aF91bml0LCBucHJvYz0Kcz0zRG5wcm9jcykKICAgICBy
ZXR1cm4gdWcKPTIwCi1kZWYgZmFrZV91bnN0cnVjdHVyZWRfdGV0cmFoZWRyYWxfbWVzaF9kcygp
OgotICAgIGZyb20geXQuZnJvbnRlbmRzLnN0cmVhbS5hcGkgaW1wb3J0IGxvYWRfdW5zdHJ1Y3R1
cmVkX21lc2gKLSAgICBkYXRhID0zRCBmYWtlX3JhbmRvbV9nYXNfZHMoX2Nvb3JkaW5hdGVzLnNo
YXBlWzBdLCBfY29ubmVjdGl2aXR5LnNoYXBlPQpbMV0pCi0gICAgZHMgPTNEIGxvYWRfdW5zdHJ1
Y3R1cmVkX21lc2goZGF0YSwgX2Nvbm5lY3Rpdml0eSwgX2Nvb3JkaW5hdGVzKQotICAgIHJldHVy
biBkcwotCiBkZWYgZmFrZV9yYW5kb21fZ2FzX2RzKG5lbGVtcywgbnZlcnRpY2VzLCBuc2xpY2Vz
PTNEMik6CiAgICAgZHMgPTNEIFtdCiAgICAgZGF0YV9rZXlzID0zRCBbKCdnYXMnLCAnZGlmZnVz
ZWQnKSwKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy82OThl
NjdlMmE2ODkvCkNoYW5nZXNldDogICA2OThlNjdlMmE2ODkKQnJhbmNoOiAgICAgIHl0ClVzZXI6
ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMDYgMjA6MTA6NTUrMDA6MDAK
U3VtbWFyeTogICAgIFJldmVydCB0byB1cHN0cmVhbSBkZXYgY2hhbmdlcwpBZmZlY3RlZCAjOiAg
NCBmaWxlcwoKZGlmZiAtciBjYzY1MzNjNDgxODllN2Y3ZDBjNDU5MDg0ZTYwNTc3ZWQyOWRjY2Rh
IC1yIDY5OGU2N2UyYTY4OTAzY2QwZTk5NGM3PQo2ZDU2MWM2ZDNjNDMwNTUzNiB5dC9zYW1wbGVf
ZGF0YS9zYW1wbGVfYW1yX2luZGV4LnB5Ci0tLSBhL3l0L3NhbXBsZV9kYXRhL3NhbXBsZV9hbXJf
aW5kZXgucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyMDUgKzAsMCBAQAotIyBUaGlzIGlzIGFuIGV4
cG9ydCBvZiB0aGUgNDAgZ3JpZHMgaW4gSXNvbGF0ZWRHYWxheHkgdGhhdCBhcmUgb2YgbGV2ZWwg
NCA9Cm9yCi0jIGxvd2VyLiAgSXQncyBqdXN0IGRlc2lnbmVkIHRvIGdpdmUgYSBzYW1wbGUgQU1S
IGluZGV4IHRvIGRlYWwgd2l0aC4KLV9hbXJfZ3JpZF9pbmRleCA9M0QgWwotIFsgMCwKLSAgWzAu
MCwwLjAsMC4wXSwKLSAgWzEuMCwxLjAsMS4wXSwKLSAgWzMyLDMyLDMyXSwKLSBdLAotIFsgMSwK
LSAgWzAuMjUsMC4yMTg3NSwwLjI1XSwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzE2LDE4LDE2XSwK
LSBdLAotIFsgMSwKLSAgWzAuNSwwLjIxODc1LDAuMjVdLAotICBbMC43NSwwLjUsMC41XSwKLSAg
WzE2LDE4LDE2XSwKLSBdLAotIFsgMSwKLSAgWzAuMjE4NzUsMC41LDAuMjVdLAotICBbMC41LDAu
NzUsMC41XSwKLSAgWzE4LDE2LDE2XSwKLSBdLAotIFsgMSwKLSAgWzAuNSwwLjUsMC4yNV0sCi0g
IFswLjc1LDAuNzUsMC41XSwKLSAgWzE2LDE2LDE2XSwKLSBdLAotIFsgMSwKLSAgWzAuMjUsMC4y
NSwwLjVdLAotICBbMC41LDAuNSwwLjc1XSwKLSAgWzE2LDE2LDE2XSwKLSBdLAotIFsgMSwKLSAg
WzAuNSwwLjI1LDAuNV0sCi0gIFswLjc1LDAuNSwwLjc1XSwKLSAgWzE2LDE2LDE2XSwKLSBdLAot
IFsgMSwKLSAgWzAuMjUsMC41LDAuNV0sCi0gIFswLjUsMC43NSwwLjc1XSwKLSAgWzE2LDE2LDE2
XSwKLSBdLAotIFsgMSwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzAuNzUsMC43NSwwLjc1XSwKLSAg
WzE2LDE2LDE2XSwKLSBdLAotIFsgMiwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzAuNzE4NzUsMC43
MTg3NSwwLjcxODc1XSwKLSAgWzI4LDI4LDI4XSwKLSBdLAotIFsgMywKLSAgWzAuNSwwLjUsMC41
XSwKLSAgWzAuNjY0MDYyNSwwLjY1NjI1LDAuNjc5Njg3NV0sCi0gIFs0Miw0MCw0Nl0sCi0gXSwK
LSBbIDQsCi0gIFswLjUsMC41LDAuNV0sCi0gIFswLjU5NzY1NjI1LDAuNjAxNTYyNSwwLjYwMTU2
MjVdLAotICBbNTAsNTIsNTJdLAotIF0sCi0gWyAyLAotICBbMC4yODEyNSwwLjUsMC41XSwKLSAg
WzAuNSwwLjczNDM3NSwwLjcxODc1XSwKLSAgWzI4LDMwLDI4XSwKLSBdLAotIFsgMywKLSAgWzAu
MzM1OTM3NSwwLjUsMC41XSwKLSAgWzAuNSwwLjY3MTg3NSwwLjY2NDA2MjVdLAotICBbNDIsNDQs
NDJdLAotIF0sCi0gWyA0LAotICBbMC40MDYyNSwwLjUsMC41XSwKLSAgWzAuNSwwLjU5NzY1NjI1
LDAuNTk3NjU2MjVdLAotICBbNDgsNTAsNTBdLAotIF0sCi0gWyAyLAotICBbMC41LDAuMjgxMjUs
MC41XSwKLSAgWzAuNzE4NzUsMC41LDAuNzE4NzVdLAotICBbMjgsMjgsMjhdLAotIF0sCi0gWyAz
LAotICBbMC41LDAuMzM1OTM3NSwwLjVdLAotICBbMC42NzE4NzUsMC41LDAuNjY0MDYyNV0sCi0g
IFs0NCw0Miw0Ml0sCi0gXSwKLSBbIDQsCi0gIFswLjUsMC40MDYyNSwwLjVdLAotICBbMC42MDE1
NjI1LDAuNSwwLjU5NzY1NjI1XSwKLSAgWzUyLDQ4LDUwXSwKLSBdLAotIFsgMiwKLSAgWzAuMjgx
MjUsMC4yODEyNSwwLjVdLAotICBbMC41LDAuNSwwLjcxODc1XSwKLSAgWzI4LDI4LDI4XSwKLSBd
LAotIFsgMywKLSAgWzAuMzM1OTM3NSwwLjMzNTkzNzUsMC41XSwKLSAgWzAuNSwwLjUsMC42NzE4
NzVdLAotICBbNDIsNDIsNDRdLAotIF0sCi0gWyA0LAotICBbMC40NjQ4NDM3NSwwLjM3ODkwNjI1
LDAuNTAzOTA2MjVdLAotICBbMC40NzY1NjI1LDAuMzkwNjI1LDAuNTE1NjI1XSwKLSAgWzYsNiw2
XSwKLSBdLAotIFsgNCwKLSAgWzAuNDA2MjUsMC40MDYyNSwwLjVdLAotICBbMC41LDAuNSwwLjU5
NzY1NjI1XSwKLSAgWzQ4LDQ4LDUwXSwKLSBdLAotIFsgMiwKLSAgWzAuNSwwLjUsMC4yODEyNV0s
Ci0gIFswLjcxODc1LDAuNzE4NzUsMC41XSwKLSAgWzI4LDI4LDI4XSwKLSBdLAotIFsgMywKLSAg
WzAuNSwwLjUsMC4zMzU5Mzc1XSwKLSAgWzAuNjc5Njg3NSwwLjY5NTMxMjUsMC41XSwKLSAgWzQ2
LDUwLDQyXSwKLSBdLAotIFsgNCwKLSAgWzAuNSwwLjUsMC40MDIzNDM3NV0sCi0gIFswLjU5Mzc1
LDAuNjAxNTYyNSwwLjVdLAotICBbNDgsNTIsNTBdLAotIF0sCi0gWyAyLAotICBbMC4yNjU2MjUs
MC41LDAuMjgxMjVdLAotICBbMC41LDAuNzE4NzUsMC41XSwKLSAgWzMwLDI4LDI4XSwKLSBdLAot
IFsgMywKLSAgWzAuMzM1OTM3NSwwLjUsMC4zMjgxMjVdLAotICBbMC41LDAuNjU2MjUsMC41XSwK
LSAgWzQyLDQwLDQ0XSwKLSBdLAotIFsgNCwKLSAgWzAuNDAyMzQzNzUsMC41LDAuNDA2MjVdLAot
ICBbMC41LDAuNjA1NDY4NzUsMC41XSwKLSAgWzUwLDU0LDQ4XSwKLSBdLAotIFsgMiwKLSAgWzAu
NSwwLjI2NTYyNSwwLjI4MTI1XSwKLSAgWzAuNzE4NzUsMC41LDAuNV0sCi0gIFsyOCwzMCwyOF0s
Ci0gXSwKLSBbIDMsCi0gIFswLjUsMC4zMjAzMTI1LDAuMzI4MTI1XSwKLSAgWzAuNjY0MDYyNSww
LjUsMC41XSwKLSAgWzQyLDQ2LDQ0XSwKLSBdLAotIFsgNCwKLSAgWzAuNSwwLjM5ODQzNzUsMC40
MDYyNV0sCi0gIFswLjU0Njg3NSwwLjUsMC41XSwKLSAgWzI0LDUyLDQ4XSwKLSBdLAotIFsgNCwK
LSAgWzAuNTQ2ODc1LDAuNDE3OTY4NzUsMC40NDUzMTI1XSwKLSAgWzAuNTYyNSwwLjQzNzUsMC41
XSwKLSAgWzgsMTAsMjhdLAotIF0sCi0gWyA0LAotICBbMC41NDY4NzUsMC40NTMxMjUsMC40MTc5
Njg3NV0sCi0gIFswLjU1NDY4NzUsMC40ODA0Njg3NSwwLjQzNzVdLAotICBbNCwxNCwxMF0sCi0g
XSwKLSBbIDQsCi0gIFswLjU0Njg3NSwwLjQzNzUsMC40Mzc1XSwKLSAgWzAuNjA5Mzc1LDAuNSww
LjVdLAotICBbMzIsMzIsMzJdLAotIF0sCi0gWyA0LAotICBbMC41NDY4NzUsMC40OTIxODc1LDAu
NDE3OTY4NzVdLAotICBbMC41NjY0MDYyNSwwLjUsMC40Mzc1XSwKLSAgWzEwLDQsMTBdLAotIF0s
Ci0gWyA0LAotICBbMC41NDY4NzUsMC40ODA0Njg3NSwwLjQxNzk2ODc1XSwKLSAgWzAuNTcwMzEy
NSwwLjQ5MjE4NzUsMC40Mzc1XSwKLSAgWzEyLDYsMTBdLAotIF0sCi0gWyA0LAotICBbMC41NTg1
OTM3NSwwLjQ2ODc1LDAuNDMzNTkzNzVdLAotICBbMC41NzAzMTI1LDAuNDgwNDY4NzUsMC40Mzc1
XSwKLSAgWzYsNiwyXSwKLSBdLAotIFsgMiwKLSAgWzAuMjY1NjI1LDAuMjgxMjUsMC4yODEyNV0s
Ci0gIFswLjUsMC41LDAuNV0sCi0gIFszMCwyOCwyOF0sCi0gXSwKLSBbIDMsCi0gIFswLjMyODEy
NSwwLjMzNTkzNzUsMC4zMjgxMjVdLAotICBbMC41LDAuNSwwLjVdLAotICBbNDQsNDIsNDRdLAot
IF0sCi0gWyA0LAotICBbMC40MTQwNjI1LDAuNDA2MjUsMC40MDYyNV0sCi0gIFswLjUsMC41LDAu
NV0sCi0gIFs0NCw0OCw0OF0sCi0gXSwKLV0KLQoKVGhpcyBkaWZmIGlzIHNvIGJpZyB0aGF0IHdl
IG5lZWRlZCB0byB0cnVuY2F0ZSB0aGUgcmVtYWluZGVyLgoKaHR0cHM6Ly9iaXRidWNrZXQub3Jn
L3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZDM1NGE2YjM1M2FjLwpDaGFuZ2VzZXQ6ICAgZDM1NGE2
YjM1M2FjCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAg
ICAyMDE1LTA3LTA2IDIwOjE2OjI1KzAwOjAwClN1bW1hcnk6ICAgICBBZGQgYmFjayBteSBjaGFu
Z2VzCkFmZmVjdGVkICM6ICAzIGZpbGVzCgpkaWZmIC1yIDY5OGU2N2UyYTY4OTAzY2QwZTk5NGM3
NmQ1NjFjNmQzYzQzMDU1MzYgLXIgZDM1NGE2YjM1M2FjNjBkZDNhMWI3MjE9CjljODVjZWRkMzIy
NDA5NTc0IHl0L3NhbXBsZV9kYXRhL3NhbXBsZV9hbXJfaW5kZXgucHkKLS0tIC9kZXYvbnVsbAor
KysgYi95dC9zYW1wbGVfZGF0YS9zYW1wbGVfYW1yX2luZGV4LnB5CkBAIC0wLDAgKzEsMjA1IEBA
CisjIFRoaXMgaXMgYW4gZXhwb3J0IG9mIHRoZSA0MCBncmlkcyBpbiBJc29sYXRlZEdhbGF4eSB0
aGF0IGFyZSBvZiBsZXZlbCA0ID0Kb3IKKyMgbG93ZXIuICBJdCdzIGp1c3QgZGVzaWduZWQgdG8g
Z2l2ZSBhIHNhbXBsZSBBTVIgaW5kZXggdG8gZGVhbCB3aXRoLgorX2Ftcl9ncmlkX2luZGV4ID0z
RCBbCisgWyAwLAorICBbMC4wLDAuMCwwLjBdLAorICBbMS4wLDEuMCwxLjBdLAorICBbMzIsMzIs
MzJdLAorIF0sCisgWyAxLAorICBbMC4yNSwwLjIxODc1LDAuMjVdLAorICBbMC41LDAuNSwwLjVd
LAorICBbMTYsMTgsMTZdLAorIF0sCisgWyAxLAorICBbMC41LDAuMjE4NzUsMC4yNV0sCisgIFsw
Ljc1LDAuNSwwLjVdLAorICBbMTYsMTgsMTZdLAorIF0sCisgWyAxLAorICBbMC4yMTg3NSwwLjUs
MC4yNV0sCisgIFswLjUsMC43NSwwLjVdLAorICBbMTgsMTYsMTZdLAorIF0sCisgWyAxLAorICBb
MC41LDAuNSwwLjI1XSwKKyAgWzAuNzUsMC43NSwwLjVdLAorICBbMTYsMTYsMTZdLAorIF0sCisg
WyAxLAorICBbMC4yNSwwLjI1LDAuNV0sCisgIFswLjUsMC41LDAuNzVdLAorICBbMTYsMTYsMTZd
LAorIF0sCisgWyAxLAorICBbMC41LDAuMjUsMC41XSwKKyAgWzAuNzUsMC41LDAuNzVdLAorICBb
MTYsMTYsMTZdLAorIF0sCisgWyAxLAorICBbMC4yNSwwLjUsMC41XSwKKyAgWzAuNSwwLjc1LDAu
NzVdLAorICBbMTYsMTYsMTZdLAorIF0sCisgWyAxLAorICBbMC41LDAuNSwwLjVdLAorICBbMC43
NSwwLjc1LDAuNzVdLAorICBbMTYsMTYsMTZdLAorIF0sCisgWyAyLAorICBbMC41LDAuNSwwLjVd
LAorICBbMC43MTg3NSwwLjcxODc1LDAuNzE4NzVdLAorICBbMjgsMjgsMjhdLAorIF0sCisgWyAz
LAorICBbMC41LDAuNSwwLjVdLAorICBbMC42NjQwNjI1LDAuNjU2MjUsMC42Nzk2ODc1XSwKKyAg
WzQyLDQwLDQ2XSwKKyBdLAorIFsgNCwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzAuNTk3NjU2MjUs
MC42MDE1NjI1LDAuNjAxNTYyNV0sCisgIFs1MCw1Miw1Ml0sCisgXSwKKyBbIDIsCisgIFswLjI4
MTI1LDAuNSwwLjVdLAorICBbMC41LDAuNzM0Mzc1LDAuNzE4NzVdLAorICBbMjgsMzAsMjhdLAor
IF0sCisgWyAzLAorICBbMC4zMzU5Mzc1LDAuNSwwLjVdLAorICBbMC41LDAuNjcxODc1LDAuNjY0
MDYyNV0sCisgIFs0Miw0NCw0Ml0sCisgXSwKKyBbIDQsCisgIFswLjQwNjI1LDAuNSwwLjVdLAor
ICBbMC41LDAuNTk3NjU2MjUsMC41OTc2NTYyNV0sCisgIFs0OCw1MCw1MF0sCisgXSwKKyBbIDIs
CisgIFswLjUsMC4yODEyNSwwLjVdLAorICBbMC43MTg3NSwwLjUsMC43MTg3NV0sCisgIFsyOCwy
OCwyOF0sCisgXSwKKyBbIDMsCisgIFswLjUsMC4zMzU5Mzc1LDAuNV0sCisgIFswLjY3MTg3NSww
LjUsMC42NjQwNjI1XSwKKyAgWzQ0LDQyLDQyXSwKKyBdLAorIFsgNCwKKyAgWzAuNSwwLjQwNjI1
LDAuNV0sCisgIFswLjYwMTU2MjUsMC41LDAuNTk3NjU2MjVdLAorICBbNTIsNDgsNTBdLAorIF0s
CisgWyAyLAorICBbMC4yODEyNSwwLjI4MTI1LDAuNV0sCisgIFswLjUsMC41LDAuNzE4NzVdLAor
ICBbMjgsMjgsMjhdLAorIF0sCisgWyAzLAorICBbMC4zMzU5Mzc1LDAuMzM1OTM3NSwwLjVdLAor
ICBbMC41LDAuNSwwLjY3MTg3NV0sCisgIFs0Miw0Miw0NF0sCisgXSwKKyBbIDQsCisgIFswLjQ2
NDg0Mzc1LDAuMzc4OTA2MjUsMC41MDM5MDYyNV0sCisgIFswLjQ3NjU2MjUsMC4zOTA2MjUsMC41
MTU2MjVdLAorICBbNiw2LDZdLAorIF0sCisgWyA0LAorICBbMC40MDYyNSwwLjQwNjI1LDAuNV0s
CisgIFswLjUsMC41LDAuNTk3NjU2MjVdLAorICBbNDgsNDgsNTBdLAorIF0sCisgWyAyLAorICBb
MC41LDAuNSwwLjI4MTI1XSwKKyAgWzAuNzE4NzUsMC43MTg3NSwwLjVdLAorICBbMjgsMjgsMjhd
LAorIF0sCisgWyAzLAorICBbMC41LDAuNSwwLjMzNTkzNzVdLAorICBbMC42Nzk2ODc1LDAuNjk1
MzEyNSwwLjVdLAorICBbNDYsNTAsNDJdLAorIF0sCisgWyA0LAorICBbMC41LDAuNSwwLjQwMjM0
Mzc1XSwKKyAgWzAuNTkzNzUsMC42MDE1NjI1LDAuNV0sCisgIFs0OCw1Miw1MF0sCisgXSwKKyBb
IDIsCisgIFswLjI2NTYyNSwwLjUsMC4yODEyNV0sCisgIFswLjUsMC43MTg3NSwwLjVdLAorICBb
MzAsMjgsMjhdLAorIF0sCisgWyAzLAorICBbMC4zMzU5Mzc1LDAuNSwwLjMyODEyNV0sCisgIFsw
LjUsMC42NTYyNSwwLjVdLAorICBbNDIsNDAsNDRdLAorIF0sCisgWyA0LAorICBbMC40MDIzNDM3
NSwwLjUsMC40MDYyNV0sCisgIFswLjUsMC42MDU0Njg3NSwwLjVdLAorICBbNTAsNTQsNDhdLAor
IF0sCisgWyAyLAorICBbMC41LDAuMjY1NjI1LDAuMjgxMjVdLAorICBbMC43MTg3NSwwLjUsMC41
XSwKKyAgWzI4LDMwLDI4XSwKKyBdLAorIFsgMywKKyAgWzAuNSwwLjMyMDMxMjUsMC4zMjgxMjVd
LAorICBbMC42NjQwNjI1LDAuNSwwLjVdLAorICBbNDIsNDYsNDRdLAorIF0sCisgWyA0LAorICBb
MC41LDAuMzk4NDM3NSwwLjQwNjI1XSwKKyAgWzAuNTQ2ODc1LDAuNSwwLjVdLAorICBbMjQsNTIs
NDhdLAorIF0sCisgWyA0LAorICBbMC41NDY4NzUsMC40MTc5Njg3NSwwLjQ0NTMxMjVdLAorICBb
MC41NjI1LDAuNDM3NSwwLjVdLAorICBbOCwxMCwyOF0sCisgXSwKKyBbIDQsCisgIFswLjU0Njg3
NSwwLjQ1MzEyNSwwLjQxNzk2ODc1XSwKKyAgWzAuNTU0Njg3NSwwLjQ4MDQ2ODc1LDAuNDM3NV0s
CisgIFs0LDE0LDEwXSwKKyBdLAorIFsgNCwKKyAgWzAuNTQ2ODc1LDAuNDM3NSwwLjQzNzVdLAor
ICBbMC42MDkzNzUsMC41LDAuNV0sCisgIFszMiwzMiwzMl0sCisgXSwKKyBbIDQsCisgIFswLjU0
Njg3NSwwLjQ5MjE4NzUsMC40MTc5Njg3NV0sCisgIFswLjU2NjQwNjI1LDAuNSwwLjQzNzVdLAor
ICBbMTAsNCwxMF0sCisgXSwKKyBbIDQsCisgIFswLjU0Njg3NSwwLjQ4MDQ2ODc1LDAuNDE3OTY4
NzVdLAorICBbMC41NzAzMTI1LDAuNDkyMTg3NSwwLjQzNzVdLAorICBbMTIsNiwxMF0sCisgXSwK
KyBbIDQsCisgIFswLjU1ODU5Mzc1LDAuNDY4NzUsMC40MzM1OTM3NV0sCisgIFswLjU3MDMxMjUs
MC40ODA0Njg3NSwwLjQzNzVdLAorICBbNiw2LDJdLAorIF0sCisgWyAyLAorICBbMC4yNjU2MjUs
MC4yODEyNSwwLjI4MTI1XSwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzMwLDI4LDI4XSwKKyBdLAor
IFsgMywKKyAgWzAuMzI4MTI1LDAuMzM1OTM3NSwwLjMyODEyNV0sCisgIFswLjUsMC41LDAuNV0s
CisgIFs0NCw0Miw0NF0sCisgXSwKKyBbIDQsCisgIFswLjQxNDA2MjUsMC40MDYyNSwwLjQwNjI1
XSwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzQ0LDQ4LDQ4XSwKKyBdLAorXQorCgpUaGlzIGRpZmYg
aXMgc28gYmlnIHRoYXQgd2UgbmVlZGVkIHRvIHRydW5jYXRlIHRoZSByZW1haW5kZXIuCgpodHRw
czovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy8wNjk3MmJlMjExNjkvCkNo
YW5nZXNldDogICAwNjk3MmJlMjExNjkKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ry
b2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMTMgMTg6MDM6NDMrMDA6MDAKU3VtbWFyeTogICAg
IE1lcmdlZCBmcm9tIHVwc3RyZWFtCkFmZmVjdGVkICM6ICAxNzggZmlsZXMKCmRpZmYgLXIgOTYy
MDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3MmJlMjExNjk3ZWJm
MWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgLmhnaWdub3JlCi0tLSBhLy5oZ2lnbm9yZQorKysg
Yi8uaGdpZ25vcmUKQEAgLTEzLDYgKzEzLDcgQEAKIHl0L2Zyb250ZW5kcy9yYW1zZXMvX3JhbXNl
c19yZWFkZXIuY3BwCiB5dC9nZW9tZXRyeS9mYWtlX29jdHJlZS5jCiB5dC9nZW9tZXRyeS9ncmlk
X2NvbnRhaW5lci5jCit5dC9nZW9tZXRyeS9ncmlkX3Zpc2l0b3JzLmMKIHl0L2dlb21ldHJ5L29j
dF9jb250YWluZXIuYwogeXQvZ2VvbWV0cnkvb2N0X3Zpc2l0b3JzLmMKIHl0L2dlb21ldHJ5L3Bh
cnRpY2xlX2RlcG9zaXQuYwpAQCAtMjUsNiArMjYsNyBAQAogeXQvdXRpbGl0aWVzL3NwYXRpYWwv
Y2tkdHJlZS5jCiB5dC91dGlsaXRpZXMvbGliL2FsdF9yYXlfdHJhY2Vycy5jCiB5dC91dGlsaXRp
ZXMvbGliL2Ftcl9rZHRvb2xzLmMKK3l0L3V0aWxpdGllcy9saWIvYml0YXJyYXkuYwogeXQvdXRp
bGl0aWVzL2xpYi9DSUNEZXBvc2l0LmMKIHl0L3V0aWxpdGllcy9saWIvQ29udG91ckZpbmRpbmcu
YwogeXQvdXRpbGl0aWVzL2xpYi9EZXB0aEZpcnN0T2N0cmVlLmMKQEAgLTM5LDYgKzQxLDcgQEAK
IHl0L3V0aWxpdGllcy9saWIvbWlzY191dGlsaXRpZXMuYwogeXQvdXRpbGl0aWVzL2xpYi9PY3Ry
ZWUuYwogeXQvdXRpbGl0aWVzL2xpYi9vcmlnYW1pLmMKK3l0L3V0aWxpdGllcy9saWIvcGl4ZWxp
emF0aW9uX3JvdXRpbmVzLmMKIHl0L3V0aWxpdGllcy9saWIvcG5nX3dyaXRlci5jCiB5dC91dGls
aXRpZXMvbGliL1BvaW50c0luVm9sdW1lLmMKIHl0L3V0aWxpdGllcy9saWIvUXVhZFRyZWUuYwpA
QCAtNTksMyArNjIsNCBAQAogZG9jL3NvdXJjZS9yZWZlcmVuY2UvYXBpL2dlbmVyYXRlZC8qCiBk
b2MvX3RlbXAvKgogZG9jL3NvdXJjZS9ib290Y2FtcC8uaXB5bmJfY2hlY2twb2ludHMvCitkaXN0
CgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMDY5
NzJiZTIxMTY5N2ViZjFlYzNlNWM9CjlmMWMyMjJjOWNjYjY5YjY1IC5weXRob24tdmVyc2lvbgot
LS0gL2Rldi9udWxsCisrKyBiLy5weXRob24tdmVyc2lvbgpAQCAtMCwwICsxLDEgQEAKKzIuNy45
CgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMDY5
NzJiZTIxMTY5N2ViZjFlYzNlNWM9CjlmMWMyMjJjOWNjYjY5YjY1IFJFQURNRQotLS0gYS9SRUFE
TUUKKysrIGIvUkVBRE1FCkBAIC0yMCw0ICsyMCw0IEBACiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBv
biBpbnN0YWxsYXRpb24sIHdoYXQgdG8gZG8gaWYgeW91IHJ1biBpbnRvIHByb2JsZW1zLD0KIG9y
PTIwCiB3YXlzIHRvIGhlbHAgZGV2ZWxvcG1lbnQsIHBsZWFzZSB2aXNpdCBvdXIgd2Vic2l0ZS4K
PTIwCi1FbmpveSEKK0Vuam95IQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRpZmYgLXIg
OTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3MmJlMjExNjk3
ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgZGlzdHJpYnV0ZV9zZXR1cC5weQotLS0gYS9k
aXN0cmlidXRlX3NldHVwLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTQxICswLDAgQEAKLSMhcHl0
aG9uCi0iIiJCb290c3RyYXAgZGlzdHJpYnV0ZSBpbnN0YWxsYXRpb24KLQotSWYgeW91IHdhbnQg
dG8gdXNlIHNldHVwdG9vbHMgaW4geW91ciBwYWNrYWdlJ3Mgc2V0dXAucHksIGp1c3QgaW5jbHVk
ZSB0aGlzCi1maWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeSB3aXRoIGl0LCBhbmQgYWRkIHRoaXMg
dG8gdGhlIHRvcCBvZiB5b3VyIHNldHVwLj0KcHk6OgotCi0gICAgZnJvbSBkaXN0cmlidXRlX3Nl
dHVwIGltcG9ydCB1c2Vfc2V0dXB0b29scwotICAgIHVzZV9zZXR1cHRvb2xzKCkKLQotSWYgeW91
IHdhbnQgdG8gcmVxdWlyZSBhIHNwZWNpZmljIHZlcnNpb24gb2Ygc2V0dXB0b29scywgc2V0IGEg
ZG93bmxvYWQKLW1pcnJvciwgb3IgdXNlIGFuIGFsdGVybmF0ZSBkb3dubG9hZCBkaXJlY3Rvcnks
IHlvdSBjYW4gZG8gc28gYnkgc3VwcGx5aW5nCi10aGUgYXBwcm9wcmlhdGUgb3B0aW9ucyB0byBg
YHVzZV9zZXR1cHRvb2xzKClgYC4KLQotVGhpcyBmaWxlIGNhbiBhbHNvIGJlIHJ1biBhcyBhIHNj
cmlwdCB0byBpbnN0YWxsIG9yIHVwZ3JhZGUgc2V0dXB0b29scy4KLSIiIgotaW1wb3J0IG9zCi1p
bXBvcnQgc2h1dGlsCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGltZQotaW1wb3J0IGZubWF0Y2gKLWlt
cG9ydCB0ZW1wZmlsZQotaW1wb3J0IHRhcmZpbGUKLWltcG9ydCBvcHRwYXJzZQotCi1mcm9tIGRp
c3R1dGlscyBpbXBvcnQgbG9nCi0KLXRyeToKLSAgICBmcm9tIHNpdGUgaW1wb3J0IFVTRVJfU0lU
RQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIFVTRVJfU0lURSA9M0QgTm9uZQotCi10cnk6Ci0g
ICAgaW1wb3J0IHN1YnByb2Nlc3MKLQotICAgIGRlZiBfcHl0aG9uX2NtZCgqYXJncyk6Ci0gICAg
ICAgIGFyZ3MgPTNEIChzeXMuZXhlY3V0YWJsZSwpICsgYXJncwotICAgICAgICByZXR1cm4gc3Vi
cHJvY2Vzcy5jYWxsKGFyZ3MpID0zRD0zRCAwCi0KLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAj
IHdpbGwgYmUgdXNlZCBmb3IgcHl0aG9uIDIuMwotICAgIGRlZiBfcHl0aG9uX2NtZCgqYXJncyk6
Ci0gICAgICAgIGFyZ3MgPTNEIChzeXMuZXhlY3V0YWJsZSwpICsgYXJncwotICAgICAgICAjIHF1
b3RpbmcgYXJndW1lbnRzIGlmIHdpbmRvd3MKLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtID0zRD0z
RCAnd2luMzInOgotICAgICAgICAgICAgZGVmIHF1b3RlKGFyZyk6Ci0gICAgICAgICAgICAgICAg
aWYgJyAnIGluIGFyZzoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICciJXMiJyAlIGFyZwot
ICAgICAgICAgICAgICAgIHJldHVybiBhcmcKLSAgICAgICAgICAgIGFyZ3MgPTNEIFtxdW90ZShh
cmcpIGZvciBhcmcgaW4gYXJnc10KLSAgICAgICAgcmV0dXJuIG9zLnNwYXdubChvcy5QX1dBSVQs
IHN5cy5leGVjdXRhYmxlLCAqYXJncykgPTNEPTNEIDAKLQotREVGQVVMVF9WRVJTSU9OID0zRCAi
MC42LjMyIgotREVGQVVMVF9VUkwgPTNEICJodHRwOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2Vz
L3NvdXJjZS9kL2Rpc3RyaWJ1dGUvIgotU0VUVVBUT09MU19GQUtFRF9WRVJTSU9OID0zRCAiMC42
YzExIgotCi1TRVRVUFRPT0xTX1BLR19JTkZPID0zRCAiIiJcCi1NZXRhZGF0YS1WZXJzaW9uOiAx
LjAKLU5hbWU6IHNldHVwdG9vbHMKLVZlcnNpb246ICVzCi1TdW1tYXJ5OiB4eHh4Ci1Ib21lLXBh
Z2U6IHh4eAotQXV0aG9yOiB4eHgKLUF1dGhvci1lbWFpbDogeHh4Ci1MaWNlbnNlOiB4eHgKLURl
c2NyaXB0aW9uOiB4eHgKLSIiIiAlIFNFVFVQVE9PTFNfRkFLRURfVkVSU0lPTgotCi0KLWRlZiBf
aW5zdGFsbCh0YXJiYWxsLCBpbnN0YWxsX2FyZ3M9M0QoKSk6Ci0gICAgIyBleHRyYWN0aW5nIHRo
ZSB0YXJiYWxsCi0gICAgdG1wZGlyID0zRCB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICBsb2cud2Fy
bignRXh0cmFjdGluZyBpbiAlcycsIHRtcGRpcikKLSAgICBvbGRfd2QgPTNEIG9zLmdldGN3ZCgp
Ci0gICAgdHJ5OgotICAgICAgICBvcy5jaGRpcih0bXBkaXIpCi0gICAgICAgIHRhciA9M0QgdGFy
ZmlsZS5vcGVuKHRhcmJhbGwpCi0gICAgICAgIF9leHRyYWN0YWxsKHRhcikKLSAgICAgICAgdGFy
LmNsb3NlKCkKLQotICAgICAgICAjIGdvaW5nIGluIHRoZSBkaXJlY3RvcnkKLSAgICAgICAgc3Vi
ZGlyID0zRCBvcy5wYXRoLmpvaW4odG1wZGlyLCBvcy5saXN0ZGlyKHRtcGRpcilbMF0pCi0gICAg
ICAgIG9zLmNoZGlyKHN1YmRpcikKLSAgICAgICAgbG9nLndhcm4oJ05vdyB3b3JraW5nIGluICVz
Jywgc3ViZGlyKQotCi0gICAgICAgICMgaW5zdGFsbGluZwotICAgICAgICBsb2cud2FybignSW5z
dGFsbGluZyBEaXN0cmlidXRlJykKLSAgICAgICAgaWYgbm90IF9weXRob25fY21kKCdzZXR1cC5w
eScsICdpbnN0YWxsJywgKmluc3RhbGxfYXJncyk6Ci0gICAgICAgICAgICBsb2cud2FybignU29t
ZXRoaW5nIHdlbnQgd3JvbmcgZHVyaW5nIHRoZSBpbnN0YWxsYXRpb24uJykKLSAgICAgICAgICAg
IGxvZy53YXJuKCdTZWUgdGhlIGVycm9yIG1lc3NhZ2UgYWJvdmUuJykKLSAgICAgICAgICAgICMg
ZXhpdGNvZGUgd2lsbCBiZSAyCi0gICAgICAgICAgICByZXR1cm4gMgotICAgIGZpbmFsbHk6Ci0g
ICAgICAgIG9zLmNoZGlyKG9sZF93ZCkKLSAgICAgICAgc2h1dGlsLnJtdHJlZSh0bXBkaXIpCi0K
LQotZGVmIF9idWlsZF9lZ2coZWdnLCB0YXJiYWxsLCB0b19kaXIpOgotICAgICMgZXh0cmFjdGlu
ZyB0aGUgdGFyYmFsbAotICAgIHRtcGRpciA9M0QgdGVtcGZpbGUubWtkdGVtcCgpCi0gICAgbG9n
Lndhcm4oJ0V4dHJhY3RpbmcgaW4gJXMnLCB0bXBkaXIpCi0gICAgb2xkX3dkID0zRCBvcy5nZXRj
d2QoKQotICAgIHRyeToKLSAgICAgICAgb3MuY2hkaXIodG1wZGlyKQotICAgICAgICB0YXIgPTNE
IHRhcmZpbGUub3Blbih0YXJiYWxsKQotICAgICAgICBfZXh0cmFjdGFsbCh0YXIpCi0gICAgICAg
IHRhci5jbG9zZSgpCi0KLSAgICAgICAgIyBnb2luZyBpbiB0aGUgZGlyZWN0b3J5Ci0gICAgICAg
IHN1YmRpciA9M0Qgb3MucGF0aC5qb2luKHRtcGRpciwgb3MubGlzdGRpcih0bXBkaXIpWzBdKQot
ICAgICAgICBvcy5jaGRpcihzdWJkaXIpCi0gICAgICAgIGxvZy53YXJuKCdOb3cgd29ya2luZyBp
biAlcycsIHN1YmRpcikKLQotICAgICAgICAjIGJ1aWxkaW5nIGFuIGVnZwotICAgICAgICBsb2cu
d2FybignQnVpbGRpbmcgYSBEaXN0cmlidXRlIGVnZyBpbiAlcycsIHRvX2RpcikKLSAgICAgICAg
X3B5dGhvbl9jbWQoJ3NldHVwLnB5JywgJy1xJywgJ2JkaXN0X2VnZycsICctLWRpc3QtZGlyJywg
dG9fZGlyKQotCi0gICAgZmluYWxseToKLSAgICAgICAgb3MuY2hkaXIob2xkX3dkKQotICAgICAg
ICBzaHV0aWwucm10cmVlKHRtcGRpcikKLSAgICAjIHJldHVybmluZyB0aGUgcmVzdWx0Ci0gICAg
bG9nLndhcm4oZWdnKQotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhlZ2cpOgotICAgICAgICBy
YWlzZSBJT0Vycm9yKCdDb3VsZCBub3QgYnVpbGQgdGhlIGVnZy4nKQotCi0KLWRlZiBfZG9fZG93
bmxvYWQodmVyc2lvbiwgZG93bmxvYWRfYmFzZSwgdG9fZGlyLCBkb3dubG9hZF9kZWxheSk6Ci0g
ICAgZWdnID0zRCBvcy5wYXRoLmpvaW4odG9fZGlyLCAnZGlzdHJpYnV0ZS0lcy1weSVkLiVkLmVn
ZycKLSAgICAgICAgICAgICAgICAgICAgICAgJSAodmVyc2lvbiwgc3lzLnZlcnNpb25faW5mb1sw
XSwgc3lzLnZlcnNpb25faW5mb1sxPQpdKSkKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZWdn
KToKLSAgICAgICAgdGFyYmFsbCA9M0QgZG93bmxvYWRfc2V0dXB0b29scyh2ZXJzaW9uLCBkb3du
bG9hZF9iYXNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b19kaXIs
IGRvd25sb2FkX2RlbGF5KQotICAgICAgICBfYnVpbGRfZWdnKGVnZywgdGFyYmFsbCwgdG9fZGly
KQotICAgIHN5cy5wYXRoLmluc2VydCgwLCBlZ2cpCi0gICAgaW1wb3J0IHNldHVwdG9vbHMKLSAg
ICBzZXR1cHRvb2xzLmJvb3RzdHJhcF9pbnN0YWxsX2Zyb20gPTNEIGVnZwotCi0KLWRlZiB1c2Vf
c2V0dXB0b29scyh2ZXJzaW9uPTNEREVGQVVMVF9WRVJTSU9OLCBkb3dubG9hZF9iYXNlPTNEREVG
QVVMVF9VUkwsCi0gICAgICAgICAgICAgICAgICAgdG9fZGlyPTNEb3MuY3VyZGlyLCBkb3dubG9h
ZF9kZWxheT0zRDE1LCBub19mYWtlPTNEVHJ1ZT0KKToKLSAgICAjIG1ha2luZyBzdXJlIHdlIHVz
ZSB0aGUgYWJzb2x1dGUgcGF0aAotICAgIHRvX2RpciA9M0Qgb3MucGF0aC5hYnNwYXRoKHRvX2Rp
cikKLSAgICB3YXNfaW1wb3J0ZWQgPTNEICdwa2dfcmVzb3VyY2VzJyBpbiBzeXMubW9kdWxlcyBv
ciBcCi0gICAgICAgICdzZXR1cHRvb2xzJyBpbiBzeXMubW9kdWxlcwotICAgIHRyeToKLSAgICAg
ICAgdHJ5OgotICAgICAgICAgICAgaW1wb3J0IHBrZ19yZXNvdXJjZXMKLSAgICAgICAgICAgIGlm
IG5vdCBoYXNhdHRyKHBrZ19yZXNvdXJjZXMsICdfZGlzdHJpYnV0ZScpOgotICAgICAgICAgICAg
ICAgIGlmIG5vdCBub19mYWtlOgotICAgICAgICAgICAgICAgICAgICBfZmFrZV9zZXR1cHRvb2xz
KCkKLSAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgotICAgICAgICBleGNlcHQgSW1w
b3J0RXJyb3I6Ci0gICAgICAgICAgICByZXR1cm4gX2RvX2Rvd25sb2FkKHZlcnNpb24sIGRvd25s
b2FkX2Jhc2UsIHRvX2RpciwgZG93bmxvYWRfZD0KZWxheSkKLSAgICAgICAgdHJ5OgotICAgICAg
ICAgICAgcGtnX3Jlc291cmNlcy5yZXF1aXJlKCJkaXN0cmlidXRlPj0zRCIgKyB2ZXJzaW9uKQot
ICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGV4Y2VwdCBwa2dfcmVzb3VyY2VzLlZlcnNpb25D
b25mbGljdDoKLSAgICAgICAgICAgIGUgPTNEIHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgICAg
ICBpZiB3YXNfaW1wb3J0ZWQ6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgKLSAg
ICAgICAgICAgICAgICAiVGhlIHJlcXVpcmVkIHZlcnNpb24gb2YgZGlzdHJpYnV0ZSAoPj0zRCVz
KSBpcyBub3QgYXZhaWxhPQpibGUsXG4iCi0gICAgICAgICAgICAgICAgImFuZCBjYW4ndCBiZSBp
bnN0YWxsZWQgd2hpbGUgdGhpcyBzY3JpcHQgaXMgcnVubmluZy4gUGxlYT0Kc2VcbiIKLSAgICAg
ICAgICAgICAgICAiaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gZmlyc3QsIHVzaW5nXG4i
Ci0gICAgICAgICAgICAgICAgIidlYXN5X2luc3RhbGwgLVUgZGlzdHJpYnV0ZScuIgotICAgICAg
ICAgICAgICAgICJcblxuKEN1cnJlbnRseSB1c2luZyAlcilcbiIgJSAodmVyc2lvbiwgZS5hcmdz
WzBdKSkKLSAgICAgICAgICAgICAgICBzeXMuZXhpdCgyKQotICAgICAgICAgICAgZWxzZToKLSAg
ICAgICAgICAgICAgICBkZWwgcGtnX3Jlc291cmNlcywgc3lzLm1vZHVsZXNbJ3BrZ19yZXNvdXJj
ZXMnXSAgICAjIHJlbG9hPQpkIG9rCi0gICAgICAgICAgICAgICAgcmV0dXJuIF9kb19kb3dubG9h
ZCh2ZXJzaW9uLCBkb3dubG9hZF9iYXNlLCB0b19kaXIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb3dubG9hZF9kZWxheSkKLSAgICAgICAgZXhjZXB0IHBrZ19yZXNvdXJj
ZXMuRGlzdHJpYnV0aW9uTm90Rm91bmQ6Ci0gICAgICAgICAgICByZXR1cm4gX2RvX2Rvd25sb2Fk
KHZlcnNpb24sIGRvd25sb2FkX2Jhc2UsIHRvX2RpciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG93bmxvYWRfZGVsYXkpCi0gICAgZmluYWxseToKLSAgICAgICAgaWYgbm90IG5v
X2Zha2U6Ci0gICAgICAgICAgICBfY3JlYXRlX2Zha2Vfc2V0dXB0b29sc19wa2dfaW5mbyh0b19k
aXIpCi0KLQotZGVmIGRvd25sb2FkX3NldHVwdG9vbHModmVyc2lvbj0zRERFRkFVTFRfVkVSU0lP
TiwgZG93bmxvYWRfYmFzZT0zRERFRkFVTFQ9Cl9VUkwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0b19kaXI9M0Rvcy5jdXJkaXIsIGRlbGF5PTNEMTUpOgotICAgICIiIkRvd25sb2FkIGRpc3Ry
aWJ1dGUgZnJvbSBhIHNwZWNpZmllZCBsb2NhdGlvbiBhbmQgcmV0dXJuIGl0cyBmaWxlbmE9Cm1l
Ci0KLSAgICBgdmVyc2lvbmAgc2hvdWxkIGJlIGEgdmFsaWQgZGlzdHJpYnV0ZSB2ZXJzaW9uIG51
bWJlciB0aGF0IGlzIGF2YWlsYWJsZQotICAgIGFzIGFuIGVnZyBmb3IgZG93bmxvYWQgdW5kZXIg
dGhlIGBkb3dubG9hZF9iYXNlYCBVUkwgKHdoaWNoIHNob3VsZCBlbmQKLSAgICB3aXRoIGEgJy8n
KS4gYHRvX2RpcmAgaXMgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgZWdnIHdpbGwgYmUgZG93bmxv
YWRlPQpkLgotICAgIGBkZWxheWAgaXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHBhdXNlIGJl
Zm9yZSBhbiBhY3R1YWwgZG93bmxvYWQKLSAgICBhdHRlbXB0LgotICAgICIiIgotICAgICMgbWFr
aW5nIHN1cmUgd2UgdXNlIHRoZSBhYnNvbHV0ZSBwYXRoCi0gICAgdG9fZGlyID0zRCBvcy5wYXRo
LmFic3BhdGgodG9fZGlyKQotICAgIHRyeToKLSAgICAgICAgZnJvbSB1cmxsaWIucmVxdWVzdCBp
bXBvcnQgdXJsb3BlbgotICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgZnJvbSB1cmxs
aWIyIGltcG9ydCB1cmxvcGVuCi0gICAgdGd6X25hbWUgPTNEICJkaXN0cmlidXRlLSVzLnRhci5n
eiIgJSB2ZXJzaW9uCi0gICAgdXJsID0zRCBkb3dubG9hZF9iYXNlICsgdGd6X25hbWUKLSAgICBz
YXZldG8gPTNEIG9zLnBhdGguam9pbih0b19kaXIsIHRnel9uYW1lKQotICAgIHNyYyA9M0QgZHN0
ID0zRCBOb25lCi0gICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNhdmV0byk6ICAjIEF2b2lkIHJl
cGVhdGVkIGRvd25sb2FkcwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2cud2FybigiRG93
bmxvYWRpbmcgJXMiLCB1cmwpCi0gICAgICAgICAgICBzcmMgPTNEIHVybG9wZW4odXJsKQotICAg
ICAgICAgICAgIyBSZWFkL3dyaXRlIGFsbCBpbiBvbmUgYmxvY2ssIHNvIHdlIGRvbid0IGNyZWF0
ZSBhIGNvcnJ1cHQgZmk9CmxlCi0gICAgICAgICAgICAjIGlmIHRoZSBkb3dubG9hZCBpcyBpbnRl
cnJ1cHRlZC4KLSAgICAgICAgICAgIGRhdGEgPTNEIHNyYy5yZWFkKCkKLSAgICAgICAgICAgIGRz
dCA9M0Qgb3BlbihzYXZldG8sICJ3YiIpCi0gICAgICAgICAgICBkc3Qud3JpdGUoZGF0YSkKLSAg
ICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlmIHNyYzoKLSAgICAgICAgICAgICAgICBzcmMu
Y2xvc2UoKQotICAgICAgICAgICAgaWYgZHN0OgotICAgICAgICAgICAgICAgIGRzdC5jbG9zZSgp
Ci0gICAgcmV0dXJuIG9zLnBhdGgucmVhbHBhdGgoc2F2ZXRvKQotCi0KLWRlZiBfbm9fc2FuZGJv
eChmdW5jdGlvbik6Ci0gICAgZGVmIF9fbm9fc2FuZGJveCgqYXJncywgKiprdyk6Ci0gICAgICAg
IHRyeToKLSAgICAgICAgICAgIGZyb20gc2V0dXB0b29scy5zYW5kYm94IGltcG9ydCBEaXJlY3Rv
cnlTYW5kYm94Ci0gICAgICAgICAgICBpZiBub3QgaGFzYXR0cihEaXJlY3RvcnlTYW5kYm94LCAn
X29sZCcpOgotICAgICAgICAgICAgICAgIGRlZiB2aW9sYXRpb24oKmFyZ3MpOgotICAgICAgICAg
ICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICAgICAgRGlyZWN0b3J5U2FuZGJveC5fb2xkID0z
RCBEaXJlY3RvcnlTYW5kYm94Ll92aW9sYXRpb24KLSAgICAgICAgICAgICAgICBEaXJlY3RvcnlT
YW5kYm94Ll92aW9sYXRpb24gPTNEIHZpb2xhdGlvbgotICAgICAgICAgICAgICAgIHBhdGNoZWQg
PTNEIFRydWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcGF0Y2hlZCA9M0Qg
RmFsc2UKLSAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgcGF0Y2hlZCA9
M0QgRmFsc2UKLQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKmFy
Z3MsICoqa3cpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBpZiBwYXRjaGVkOgotICAg
ICAgICAgICAgICAgIERpcmVjdG9yeVNhbmRib3guX3Zpb2xhdGlvbiA9M0QgRGlyZWN0b3J5U2Fu
ZGJveC5fb2xkCi0gICAgICAgICAgICAgICAgZGVsIERpcmVjdG9yeVNhbmRib3guX29sZAotCi0g
ICAgcmV0dXJuIF9fbm9fc2FuZGJveAotCi0KLWRlZiBfcGF0Y2hfZmlsZShwYXRoLCBjb250ZW50
KToKLSAgICAiIiJXaWxsIGJhY2t1cCB0aGUgZmlsZSB0aGVuIHBhdGNoIGl0IiIiCi0gICAgZXhp
c3RpbmdfY29udGVudCA9M0Qgb3BlbihwYXRoKS5yZWFkKCkKLSAgICBpZiBleGlzdGluZ19jb250
ZW50ID0zRD0zRCBjb250ZW50OgotICAgICAgICAjIGFscmVhZHkgcGF0Y2hlZAotICAgICAgICBs
b2cud2FybignQWxyZWFkeSBwYXRjaGVkLicpCi0gICAgICAgIHJldHVybiBGYWxzZQotICAgIGxv
Zy53YXJuKCdQYXRjaGluZy4uLicpCi0gICAgX3JlbmFtZV9wYXRoKHBhdGgpCi0gICAgZiA9M0Qg
b3BlbihwYXRoLCAndycpCi0gICAgdHJ5OgotICAgICAgICBmLndyaXRlKGNvbnRlbnQpCi0gICAg
ZmluYWxseToKLSAgICAgICAgZi5jbG9zZSgpCi0gICAgcmV0dXJuIFRydWUKLQotX3BhdGNoX2Zp
bGUgPTNEIF9ub19zYW5kYm94KF9wYXRjaF9maWxlKQotCi0KLWRlZiBfc2FtZV9jb250ZW50KHBh
dGgsIGNvbnRlbnQpOgotICAgIHJldHVybiBvcGVuKHBhdGgpLnJlYWQoKSA9M0Q9M0QgY29udGVu
dAotCi0KLWRlZiBfcmVuYW1lX3BhdGgocGF0aCk6Ci0gICAgbmV3X25hbWUgPTNEIHBhdGggKyAn
Lk9MRC4lcycgJSB0aW1lLnRpbWUoKQotICAgIGxvZy53YXJuKCdSZW5hbWluZyAlcyB0byAlcycs
IHBhdGgsIG5ld19uYW1lKQotICAgIG9zLnJlbmFtZShwYXRoLCBuZXdfbmFtZSkKLSAgICByZXR1
cm4gbmV3X25hbWUKLQotCi1kZWYgX3JlbW92ZV9mbGF0X2luc3RhbGxhdGlvbihwbGFjZWhvbGRl
cik6Ci0gICAgaWYgbm90IG9zLnBhdGguaXNkaXIocGxhY2Vob2xkZXIpOgotICAgICAgICBsb2cu
d2FybignVW5rbm93biBpbnN0YWxsYXRpb24gYXQgJXMnLCBwbGFjZWhvbGRlcikKLSAgICAgICAg
cmV0dXJuIEZhbHNlCi0gICAgZm91bmQgPTNEIEZhbHNlCi0gICAgZm9yIGZpbGUgaW4gb3MubGlz
dGRpcihwbGFjZWhvbGRlcik6Ci0gICAgICAgIGlmIGZubWF0Y2guZm5tYXRjaChmaWxlLCAnc2V0
dXB0b29scyouZWdnLWluZm8nKToKLSAgICAgICAgICAgIGZvdW5kID0zRCBUcnVlCi0gICAgICAg
ICAgICBicmVhawotICAgIGlmIG5vdCBmb3VuZDoKLSAgICAgICAgbG9nLndhcm4oJ0NvdWxkIG5v
dCBsb2NhdGUgc2V0dXB0b29scyouZWdnLWluZm8nKQotICAgICAgICByZXR1cm4KLQotICAgIGxv
Zy53YXJuKCdNb3ZpbmcgZWxlbWVudHMgb3V0IG9mIHRoZSB3YXkuLi4nKQotICAgIHBrZ19pbmZv
ID0zRCBvcy5wYXRoLmpvaW4ocGxhY2Vob2xkZXIsIGZpbGUpCi0gICAgaWYgb3MucGF0aC5pc2Rp
cihwa2dfaW5mbyk6Ci0gICAgICAgIHBhdGNoZWQgPTNEIF9wYXRjaF9lZ2dfZGlyKHBrZ19pbmZv
KQotICAgIGVsc2U6Ci0gICAgICAgIHBhdGNoZWQgPTNEIF9wYXRjaF9maWxlKHBrZ19pbmZvLCBT
RVRVUFRPT0xTX1BLR19JTkZPKQotCi0gICAgaWYgbm90IHBhdGNoZWQ6Ci0gICAgICAgIGxvZy53
YXJuKCclcyBhbHJlYWR5IHBhdGNoZWQuJywgcGtnX2luZm8pCi0gICAgICAgIHJldHVybiBGYWxz
ZQotICAgICMgbm93IGxldCdzIG1vdmUgdGhlIGZpbGVzIG91dCBvZiB0aGUgd2F5Ci0gICAgZm9y
IGVsZW1lbnQgaW4gKCdzZXR1cHRvb2xzJywgJ3BrZ19yZXNvdXJjZXMucHknLCAnc2l0ZS5weScp
OgotICAgICAgICBlbGVtZW50ID0zRCBvcy5wYXRoLmpvaW4ocGxhY2Vob2xkZXIsIGVsZW1lbnQp
Ci0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGVsZW1lbnQpOgotICAgICAgICAgICAgX3JlbmFt
ZV9wYXRoKGVsZW1lbnQpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBsb2cud2FybignQ291
bGQgbm90IGZpbmQgdGhlICVzIGVsZW1lbnQgb2YgdGhlICcKLSAgICAgICAgICAgICAgICAgICAg
ICdTZXR1cHRvb2xzIGRpc3RyaWJ1dGlvbicsIGVsZW1lbnQpCi0gICAgcmV0dXJuIFRydWUKLQot
X3JlbW92ZV9mbGF0X2luc3RhbGxhdGlvbiA9M0QgX25vX3NhbmRib3goX3JlbW92ZV9mbGF0X2lu
c3RhbGxhdGlvbikKLQotCi1kZWYgX2FmdGVyX2luc3RhbGwoZGlzdCk6Ci0gICAgbG9nLndhcm4o
J0FmdGVyIGluc3RhbGwgYm9vdHN0cmFwLicpCi0gICAgcGxhY2Vob2xkZXIgPTNEIGRpc3QuZ2V0
X2NvbW1hbmRfb2JqKCdpbnN0YWxsJykuaW5zdGFsbF9wdXJlbGliCi0gICAgX2NyZWF0ZV9mYWtl
X3NldHVwdG9vbHNfcGtnX2luZm8ocGxhY2Vob2xkZXIpCi0KLQotZGVmIF9jcmVhdGVfZmFrZV9z
ZXR1cHRvb2xzX3BrZ19pbmZvKHBsYWNlaG9sZGVyKToKLSAgICBpZiBub3QgcGxhY2Vob2xkZXIg
b3Igbm90IG9zLnBhdGguZXhpc3RzKHBsYWNlaG9sZGVyKToKLSAgICAgICAgbG9nLndhcm4oJ0Nv
dWxkIG5vdCBmaW5kIHRoZSBpbnN0YWxsIGxvY2F0aW9uJykKLSAgICAgICAgcmV0dXJuCi0gICAg
cHl2ZXIgPTNEICclcy4lcycgJSAoc3lzLnZlcnNpb25faW5mb1swXSwgc3lzLnZlcnNpb25faW5m
b1sxXSkKLSAgICBzZXR1cHRvb2xzX2ZpbGUgPTNEICdzZXR1cHRvb2xzLSVzLXB5JXMuZWdnLWlu
Zm8nICUgXAotICAgICAgICAgICAgKFNFVFVQVE9PTFNfRkFLRURfVkVSU0lPTiwgcHl2ZXIpCi0g
ICAgcGtnX2luZm8gPTNEIG9zLnBhdGguam9pbihwbGFjZWhvbGRlciwgc2V0dXB0b29sc19maWxl
KQotICAgIGlmIG9zLnBhdGguZXhpc3RzKHBrZ19pbmZvKToKLSAgICAgICAgbG9nLndhcm4oJyVz
IGFscmVhZHkgZXhpc3RzJywgcGtnX2luZm8pCi0gICAgICAgIHJldHVybgotCi0gICAgbG9nLndh
cm4oJ0NyZWF0aW5nICVzJywgcGtnX2luZm8pCi0gICAgdHJ5OgotICAgICAgICBmID0zRCBvcGVu
KHBrZ19pbmZvLCAndycpCi0gICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3I6Ci0gICAgICAgIGxv
Zy53YXJuKCJEb24ndCBoYXZlIHBlcm1pc3Npb25zIHRvIHdyaXRlICVzLCBza2lwcGluZyIsIHBr
Z19pbmZvKQotICAgICAgICByZXR1cm4KLSAgICB0cnk6Ci0gICAgICAgIGYud3JpdGUoU0VUVVBU
T09MU19QS0dfSU5GTykKLSAgICBmaW5hbGx5OgotICAgICAgICBmLmNsb3NlKCkKLQotICAgIHB0
aF9maWxlID0zRCBvcy5wYXRoLmpvaW4ocGxhY2Vob2xkZXIsICdzZXR1cHRvb2xzLnB0aCcpCi0g
ICAgbG9nLndhcm4oJ0NyZWF0aW5nICVzJywgcHRoX2ZpbGUpCi0gICAgZiA9M0Qgb3BlbihwdGhf
ZmlsZSwgJ3cnKQotICAgIHRyeToKLSAgICAgICAgZi53cml0ZShvcy5wYXRoLmpvaW4ob3MuY3Vy
ZGlyLCBzZXR1cHRvb2xzX2ZpbGUpKQotICAgIGZpbmFsbHk6Ci0gICAgICAgIGYuY2xvc2UoKQot
Ci1fY3JlYXRlX2Zha2Vfc2V0dXB0b29sc19wa2dfaW5mbyA9M0QgX25vX3NhbmRib3goCi0gICAg
X2NyZWF0ZV9mYWtlX3NldHVwdG9vbHNfcGtnX2luZm8KLSkKLQotCi1kZWYgX3BhdGNoX2VnZ19k
aXIocGF0aCk6Ci0gICAgIyBsZXQncyBjaGVjayBpZiBpdCdzIGFscmVhZHkgcGF0Y2hlZAotICAg
IHBrZ19pbmZvID0zRCBvcy5wYXRoLmpvaW4ocGF0aCwgJ0VHRy1JTkZPJywgJ1BLRy1JTkZPJykK
LSAgICBpZiBvcy5wYXRoLmV4aXN0cyhwa2dfaW5mbyk6Ci0gICAgICAgIGlmIF9zYW1lX2NvbnRl
bnQocGtnX2luZm8sIFNFVFVQVE9PTFNfUEtHX0lORk8pOgotICAgICAgICAgICAgbG9nLndhcm4o
JyVzIGFscmVhZHkgcGF0Y2hlZC4nLCBwa2dfaW5mbykKLSAgICAgICAgICAgIHJldHVybiBGYWxz
ZQotICAgIF9yZW5hbWVfcGF0aChwYXRoKQotICAgIG9zLm1rZGlyKHBhdGgpCi0gICAgb3MubWtk
aXIob3MucGF0aC5qb2luKHBhdGgsICdFR0ctSU5GTycpKQotICAgIHBrZ19pbmZvID0zRCBvcy5w
YXRoLmpvaW4ocGF0aCwgJ0VHRy1JTkZPJywgJ1BLRy1JTkZPJykKLSAgICBmID0zRCBvcGVuKHBr
Z19pbmZvLCAndycpCi0gICAgdHJ5OgotICAgICAgICBmLndyaXRlKFNFVFVQVE9PTFNfUEtHX0lO
Rk8pCi0gICAgZmluYWxseToKLSAgICAgICAgZi5jbG9zZSgpCi0gICAgcmV0dXJuIFRydWUKLQot
X3BhdGNoX2VnZ19kaXIgPTNEIF9ub19zYW5kYm94KF9wYXRjaF9lZ2dfZGlyKQotCi0KLWRlZiBf
YmVmb3JlX2luc3RhbGwoKToKLSAgICBsb2cud2FybignQmVmb3JlIGluc3RhbGwgYm9vdHN0cmFw
LicpCi0gICAgX2Zha2Vfc2V0dXB0b29scygpCi0KLQotZGVmIF91bmRlcl9wcmVmaXgobG9jYXRp
b24pOgotICAgIGlmICdpbnN0YWxsJyBub3QgaW4gc3lzLmFyZ3Y6Ci0gICAgICAgIHJldHVybiBU
cnVlCi0gICAgYXJncyA9M0Qgc3lzLmFyZ3Zbc3lzLmFyZ3YuaW5kZXgoJ2luc3RhbGwnKSArIDE6
XQotICAgIGZvciBpbmRleCwgYXJnIGluIGVudW1lcmF0ZShhcmdzKToKLSAgICAgICAgZm9yIG9w
dGlvbiBpbiAoJy0tcm9vdCcsICctLXByZWZpeCcpOgotICAgICAgICAgICAgaWYgYXJnLnN0YXJ0
c3dpdGgoJyVzPTNEJyAlIG9wdGlvbik6Ci0gICAgICAgICAgICAgICAgdG9wX2RpciA9M0QgYXJn
LnNwbGl0KCdyb290PTNEJylbLTFdCi0gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2F0aW9uLnN0
YXJ0c3dpdGgodG9wX2RpcikKLSAgICAgICAgICAgIGVsaWYgYXJnID0zRD0zRCBvcHRpb246Ci0g
ICAgICAgICAgICAgICAgaWYgbGVuKGFyZ3MpID4gaW5kZXg6Ci0gICAgICAgICAgICAgICAgICAg
IHRvcF9kaXIgPTNEIGFyZ3NbaW5kZXggKyAxXQotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bG9jYXRpb24uc3RhcnRzd2l0aCh0b3BfZGlyKQotICAgICAgICBpZiBhcmcgPTNEPTNEICctLXVz
ZXInIGFuZCBVU0VSX1NJVEUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gbG9jYXRp
b24uc3RhcnRzd2l0aChVU0VSX1NJVEUpCi0gICAgcmV0dXJuIFRydWUKLQotCi1kZWYgX2Zha2Vf
c2V0dXB0b29scygpOgotICAgIGxvZy53YXJuKCdTY2FubmluZyBpbnN0YWxsZWQgcGFja2FnZXMn
KQotICAgIHRyeToKLSAgICAgICAgaW1wb3J0IHBrZ19yZXNvdXJjZXMKLSAgICBleGNlcHQgSW1w
b3J0RXJyb3I6Ci0gICAgICAgICMgd2UncmUgY29vbAotICAgICAgICBsb2cud2FybignU2V0dXB0
b29scyBvciBEaXN0cmlidXRlIGRvZXMgbm90IHNlZW0gdG8gYmUgaW5zdGFsbGVkLicpCi0gICAg
ICAgIHJldHVybgotICAgIHdzID0zRCBwa2dfcmVzb3VyY2VzLndvcmtpbmdfc2V0Ci0gICAgdHJ5
OgotICAgICAgICBzZXR1cHRvb2xzX2Rpc3QgPTNEIHdzLmZpbmQoCi0gICAgICAgICAgICBwa2df
cmVzb3VyY2VzLlJlcXVpcmVtZW50LnBhcnNlKCdzZXR1cHRvb2xzJywgcmVwbGFjZW1lbnQ9M0RG
YT0KbHNlKQotICAgICAgICAgICAgKQotICAgIGV4Y2VwdCBUeXBlRXJyb3I6Ci0gICAgICAgICMg
b2xkIGRpc3RyaWJ1dGUgQVBJCi0gICAgICAgIHNldHVwdG9vbHNfZGlzdCA9M0Qgd3MuZmluZCgK
LSAgICAgICAgICAgIHBrZ19yZXNvdXJjZXMuUmVxdWlyZW1lbnQucGFyc2UoJ3NldHVwdG9vbHMn
KQotICAgICAgICApCi0KLSAgICBpZiBzZXR1cHRvb2xzX2Rpc3QgaXMgTm9uZToKLSAgICAgICAg
bG9nLndhcm4oJ05vIHNldHVwdG9vbHMgZGlzdHJpYnV0aW9uIGZvdW5kJykKLSAgICAgICAgcmV0
dXJuCi0gICAgIyBkZXRlY3RpbmcgaWYgaXQgd2FzIGFscmVhZHkgZmFrZWQKLSAgICBzZXR1cHRv
b2xzX2xvY2F0aW9uID0zRCBzZXR1cHRvb2xzX2Rpc3QubG9jYXRpb24KLSAgICBsb2cud2Fybign
U2V0dXB0b29scyBpbnN0YWxsYXRpb24gZGV0ZWN0ZWQgYXQgJXMnLCBzZXR1cHRvb2xzX2xvY2F0
aW9uKQotCi0gICAgIyBpZiAtLXJvb3Qgb3IgLS1wcmVpeCB3YXMgcHJvdmlkZWQsIGFuZCBpZgot
ICAgICMgc2V0dXB0b29scyBpcyBub3QgbG9jYXRlZCBpbiB0aGVtLCB3ZSBkb24ndCBwYXRjaCBp
dAotICAgIGlmIG5vdCBfdW5kZXJfcHJlZml4KHNldHVwdG9vbHNfbG9jYXRpb24pOgotICAgICAg
ICBsb2cud2FybignTm90IHBhdGNoaW5nLCAtLXJvb3Qgb3IgLS1wcmVmaXggaXMgaW5zdGFsbGlu
ZyBEaXN0cmlidXQ9CmUnCi0gICAgICAgICAgICAgICAgICcgaW4gYW5vdGhlciBsb2NhdGlvbicp
Ci0gICAgICAgIHJldHVybgotCi0gICAgIyBsZXQncyBzZWUgaWYgaXRzIGFuIGVnZwotICAgIGlm
IG5vdCBzZXR1cHRvb2xzX2xvY2F0aW9uLmVuZHN3aXRoKCcuZWdnJyk6Ci0gICAgICAgIGxvZy53
YXJuKCdOb24tZWdnIGluc3RhbGxhdGlvbicpCi0gICAgICAgIHJlcyA9M0QgX3JlbW92ZV9mbGF0
X2luc3RhbGxhdGlvbihzZXR1cHRvb2xzX2xvY2F0aW9uKQotICAgICAgICBpZiBub3QgcmVzOgot
ICAgICAgICAgICAgcmV0dXJuCi0gICAgZWxzZToKLSAgICAgICAgbG9nLndhcm4oJ0VnZyBpbnN0
YWxsYXRpb24nKQotICAgICAgICBwa2dfaW5mbyA9M0Qgb3MucGF0aC5qb2luKHNldHVwdG9vbHNf
bG9jYXRpb24sICdFR0ctSU5GTycsICdQS0ctSU49CkZPJykKLSAgICAgICAgaWYgKG9zLnBhdGgu
ZXhpc3RzKHBrZ19pbmZvKSBhbmQKLSAgICAgICAgICAgIF9zYW1lX2NvbnRlbnQocGtnX2luZm8s
IFNFVFVQVE9PTFNfUEtHX0lORk8pKToKLSAgICAgICAgICAgIGxvZy53YXJuKCdBbHJlYWR5IHBh
dGNoZWQuJykKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBsb2cud2FybignUGF0Y2hpbmcu
Li4nKQotICAgICAgICAjIGxldCdzIGNyZWF0ZSBhIGZha2UgZWdnIHJlcGxhY2luZyBzZXR1cHRv
b2xzIG9uZQotICAgICAgICByZXMgPTNEIF9wYXRjaF9lZ2dfZGlyKHNldHVwdG9vbHNfbG9jYXRp
b24pCi0gICAgICAgIGlmIG5vdCByZXM6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICBsb2cud2Fy
bignUGF0Y2hpbmcgY29tcGxldGUuJykKLSAgICBfcmVsYXVuY2goKQotCi0KLWRlZiBfcmVsYXVu
Y2goKToKLSAgICBsb2cud2FybignUmVsYXVuY2hpbmcuLi4nKQotICAgICMgd2UgaGF2ZSB0byBy
ZWxhdW5jaCB0aGUgcHJvY2VzcwotICAgICMgcGlwIG1hcmtlciB0byBhdm9pZCBhIHJlbGF1bmNo
IGJ1ZwotICAgIF9jbWQxID0zRCBbJy1jJywgJ2luc3RhbGwnLCAnLS1zaW5nbGUtdmVyc2lvbi1l
eHRlcm5hbGx5LW1hbmFnZWQnXQotICAgIF9jbWQyID0zRCBbJy1jJywgJ2luc3RhbGwnLCAnLS1y
ZWNvcmQnXQotICAgIGlmIHN5cy5hcmd2WzozXSA9M0Q9M0QgX2NtZDEgb3Igc3lzLmFyZ3ZbOjNd
ID0zRD0zRCBfY21kMjoKLSAgICAgICAgc3lzLmFyZ3ZbMF0gPTNEICdzZXR1cC5weScKLSAgICBh
cmdzID0zRCBbc3lzLmV4ZWN1dGFibGVdICsgc3lzLmFyZ3YKLSAgICBzeXMuZXhpdChzdWJwcm9j
ZXNzLmNhbGwoYXJncykpCi0KLQotZGVmIF9leHRyYWN0YWxsKHNlbGYsIHBhdGg9M0QiLiIsIG1l
bWJlcnM9M0ROb25lKToKLSAgICAiIiJFeHRyYWN0IGFsbCBtZW1iZXJzIGZyb20gdGhlIGFyY2hp
dmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZwotICAgICAgIGRpcmVjdG9yeSBhbmQgc2V0IG93bmVy
LCBtb2RpZmljYXRpb24gdGltZSBhbmQgcGVybWlzc2lvbnMgb24KLSAgICAgICBkaXJlY3Rvcmll
cyBhZnRlcndhcmRzLiBgcGF0aCcgc3BlY2lmaWVzIGEgZGlmZmVyZW50IGRpcmVjdG9yeQotICAg
ICAgIHRvIGV4dHJhY3QgdG8uIGBtZW1iZXJzJyBpcyBvcHRpb25hbCBhbmQgbXVzdCBiZSBhIHN1
YnNldCBvZiB0aGUKLSAgICAgICBsaXN0IHJldHVybmVkIGJ5IGdldG1lbWJlcnMoKS4KLSAgICAi
IiIKLSAgICBpbXBvcnQgY29weQotICAgIGltcG9ydCBvcGVyYXRvcgotICAgIGZyb20gdGFyZmls
ZSBpbXBvcnQgRXh0cmFjdEVycm9yCi0gICAgZGlyZWN0b3JpZXMgPTNEIFtdCi0KLSAgICBpZiBt
ZW1iZXJzIGlzIE5vbmU6Ci0gICAgICAgIG1lbWJlcnMgPTNEIHNlbGYKLQotICAgIGZvciB0YXJp
bmZvIGluIG1lbWJlcnM6Ci0gICAgICAgIGlmIHRhcmluZm8uaXNkaXIoKToKLSAgICAgICAgICAg
ICMgRXh0cmFjdCBkaXJlY3RvcmllcyB3aXRoIGEgc2FmZSBtb2RlLgotICAgICAgICAgICAgZGly
ZWN0b3JpZXMuYXBwZW5kKHRhcmluZm8pCi0gICAgICAgICAgICB0YXJpbmZvID0zRCBjb3B5LmNv
cHkodGFyaW5mbykKLSAgICAgICAgICAgIHRhcmluZm8ubW9kZSA9M0QgNDQ4ICAjIGRlY2ltYWwg
Zm9yIG9jdCAwNzAwCi0gICAgICAgIHNlbGYuZXh0cmFjdCh0YXJpbmZvLCBwYXRoKQotCi0gICAg
IyBSZXZlcnNlIHNvcnQgZGlyZWN0b3JpZXMuCi0gICAgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgy
LCA0KToKLSAgICAgICAgZGVmIHNvcnRlcihkaXIxLCBkaXIyKToKLSAgICAgICAgICAgIHJldHVy
biBjbXAoZGlyMS5uYW1lLCBkaXIyLm5hbWUpCi0gICAgICAgIGRpcmVjdG9yaWVzLnNvcnQoc29y
dGVyKQotICAgICAgICBkaXJlY3Rvcmllcy5yZXZlcnNlKCkKLSAgICBlbHNlOgotICAgICAgICBk
aXJlY3Rvcmllcy5zb3J0KGtleT0zRG9wZXJhdG9yLmF0dHJnZXR0ZXIoJ25hbWUnKSwgcmV2ZXJz
ZT0zRFRydWUpCi0KLSAgICAjIFNldCBjb3JyZWN0IG93bmVyLCBtdGltZSBhbmQgZmlsZW1vZGUg
b24gZGlyZWN0b3JpZXMuCi0gICAgZm9yIHRhcmluZm8gaW4gZGlyZWN0b3JpZXM6Ci0gICAgICAg
IGRpcnBhdGggPTNEIG9zLnBhdGguam9pbihwYXRoLCB0YXJpbmZvLm5hbWUpCi0gICAgICAgIHRy
eToKLSAgICAgICAgICAgIHNlbGYuY2hvd24odGFyaW5mbywgZGlycGF0aCkKLSAgICAgICAgICAg
IHNlbGYudXRpbWUodGFyaW5mbywgZGlycGF0aCkKLSAgICAgICAgICAgIHNlbGYuY2htb2QodGFy
aW5mbywgZGlycGF0aCkKLSAgICAgICAgZXhjZXB0IEV4dHJhY3RFcnJvcjoKLSAgICAgICAgICAg
IGUgPTNEIHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgICAgICBpZiBzZWxmLmVycm9ybGV2ZWwg
PiAxOgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgICAgIHNlbGYuX2RiZygxLCAidGFyZmlsZTogJXMiICUgZSkKLQotCi1kZWYgX2J1aWxkX2lu
c3RhbGxfYXJncyhvcHRpb25zKToKLSAgICAiIiIKLSAgICBCdWlsZCB0aGUgYXJndW1lbnRzIHRv
ICdweXRob24gc2V0dXAucHkgaW5zdGFsbCcgb24gdGhlIGRpc3RyaWJ1dGUgcGFjPQprYWdlCi0g
ICAgIiIiCi0gICAgaW5zdGFsbF9hcmdzID0zRCBbXQotICAgIGlmIG9wdGlvbnMudXNlcl9pbnN0
YWxsOgotICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDIsIDYpOgotICAgICAgICAgICAg
bG9nLndhcm4oIi0tdXNlciByZXF1aXJlcyBQeXRob24gMi42IG9yIGxhdGVyIikKLSAgICAgICAg
ICAgIHJhaXNlIFN5c3RlbUV4aXQoMSkKLSAgICAgICAgaW5zdGFsbF9hcmdzLmFwcGVuZCgnLS11
c2VyJykKLSAgICByZXR1cm4gaW5zdGFsbF9hcmdzCi0KLWRlZiBfcGFyc2VfYXJncygpOgotICAg
ICIiIgotICAgIFBhcnNlIHRoZSBjb21tYW5kIGxpbmUgZm9yIG9wdGlvbnMKLSAgICAiIiIKLSAg
ICBwYXJzZXIgPTNEIG9wdHBhcnNlLk9wdGlvblBhcnNlcigpCi0gICAgcGFyc2VyLmFkZF9vcHRp
b24oCi0gICAgICAgICctLXVzZXInLCBkZXN0PTNEJ3VzZXJfaW5zdGFsbCcsIGFjdGlvbj0zRCdz
dG9yZV90cnVlJywgZGVmYXVsdD0zRD0KRmFsc2UsCi0gICAgICAgIGhlbHA9M0QnaW5zdGFsbCBp
biB1c2VyIHNpdGUgcGFja2FnZSAocmVxdWlyZXMgUHl0aG9uIDIuNiBvciBsYXRlcj0KKScpCi0g
ICAgcGFyc2VyLmFkZF9vcHRpb24oCi0gICAgICAgICctLWRvd25sb2FkLWJhc2UnLCBkZXN0PTNE
J2Rvd25sb2FkX2Jhc2UnLCBtZXRhdmFyPTNEIlVSTCIsCi0gICAgICAgIGRlZmF1bHQ9M0RERUZB
VUxUX1VSTCwKLSAgICAgICAgaGVscD0zRCdhbHRlcm5hdGl2ZSBVUkwgZnJvbSB3aGVyZSB0byBk
b3dubG9hZCB0aGUgZGlzdHJpYnV0ZSBwYWNrPQphZ2UnKQotICAgIG9wdGlvbnMsIGFyZ3MgPTNE
IHBhcnNlci5wYXJzZV9hcmdzKCkKLSAgICAjIHBvc2l0aW9uYWwgYXJndW1lbnRzIGFyZSBpZ25v
cmVkCi0gICAgcmV0dXJuIG9wdGlvbnMKLQotZGVmIG1haW4odmVyc2lvbj0zRERFRkFVTFRfVkVS
U0lPTik6Ci0gICAgIiIiSW5zdGFsbCBvciB1cGdyYWRlIHNldHVwdG9vbHMgYW5kIEVhc3lJbnN0
YWxsIiIiCi0gICAgb3B0aW9ucyA9M0QgX3BhcnNlX2FyZ3MoKQotICAgIHRhcmJhbGwgPTNEIGRv
d25sb2FkX3NldHVwdG9vbHMoZG93bmxvYWRfYmFzZT0zRG9wdGlvbnMuZG93bmxvYWRfYmFzZSkK
LSAgICByZXR1cm4gX2luc3RhbGwodGFyYmFsbCwgX2J1aWxkX2luc3RhbGxfYXJncyhvcHRpb25z
KSkKLQotaWYgX19uYW1lX18gPTNEPTNEICdfX21haW5fXyc6Ci0gICAgc3lzLmV4aXQobWFpbigp
KQoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2
OTcyYmUyMTE2OTdlYmYxZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBkb2MvUkVBRE1FCi0tLSBh
L2RvYy9SRUFETUUKKysrIGIvZG9jL1JFQURNRQpAQCAtNyw0ICs3LDQgQEAKIEJlY2F1c2UgdGhl
IGRvY3VtZW50YXRpb24gcmVxdWlyZXMgYSBudW1iZXIgb2YgZGVwZW5kZW5jaWVzLCB3ZSBwcm92
aWRlCiBwcmUtYnVpbHQgdmVyc2lvbnMgb25saW5lLCBhY2Nlc3NpYmxlIGhlcmU6Cj0yMAotaHR0
cDovL3l0LXByb2plY3Qub3JnL2RvY3MvZGV2LTMuMC8KK2h0dHA6Ly95dC1wcm9qZWN0Lm9yZy9k
b2NzL2Rldi8KCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4
YSAtciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgZG9jL2hlbHBl
cl9zY3JpcHRzL3J1bl9yZWNpcGVzLnB5Ci0tLSBhL2RvYy9oZWxwZXJfc2NyaXB0cy9ydW5fcmVj
aXBlcy5weQorKysgYi9kb2MvaGVscGVyX3NjcmlwdHMvcnVuX3JlY2lwZXMucHkKQEAgLTEzLDcg
KzEzLDcgQEAKIGZyb20geXQuY29uZmlnIGltcG9ydCB5dGNmZwo9MjAKIEZQQVRURVJOUyA9M0Qg
WycqLnBuZycsICcqLnR4dCcsICcqLmg1JywgJyouZGF0J10KLURQQVRURVJOUyA9M0QgWydMQyon
LCAnTFInLCAnREQwMDQ2JywgJ2hhbG9fYW5hbHlzaXMnXQorRFBBVFRFUk5TID0zRCBbJ0xDKics
ICdMUicsICdERDAwNDYnXQogQkFERiA9M0QgWydjbG91ZHlfZW1pc3Npdml0eS5oNScsICdhcGVj
X2VtaXNzaXZpdHkuaDUnLAogICAgICAgICAneHJheV9lbWlzc2l2aXR5Lmg1JywgJ0FNUkdyaWRE
YXRhX1NsaWNlX3hfZGVuc2l0eS5wbmcnXQogQ1dEID0zRCBvcy5nZXRjd2QoKQoKZGlmZiAtciA5
NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdl
YmYxZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBkb2MvaGVscGVyX3NjcmlwdHMvdXBkYXRlX3Jl
Y2lwZXMucHkKLS0tIGEvZG9jL2hlbHBlcl9zY3JpcHRzL3VwZGF0ZV9yZWNpcGVzLnB5CisrKyBi
L2RvYy9oZWxwZXJfc2NyaXB0cy91cGRhdGVfcmVjaXBlcy5weQpAQCAtOCw3ICs4LDcgQEAKPTIw
CiAuLiBub3RlOjoKICAgIEFsbCBvZiB0aGVzZSBzY3JpcHRzIGFyZSBsb2NhdGVkIGluIHRoZSBt
ZXJjdXJpYWwgcmVwb3NpdG9yeSBhdAotICAgaHR0cDovL2hnLnl0LXByb2plY3Qub3JnL2Nvb2ti
b29rLworICAgaHR0cDovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMvY29va2Jvb2svCj0yMAog
IiIiCiBmb290ZXIgPTNEICIiIiAiIiIKQEAgLTIzLDcgKzIzLDcgQEAKICAgICByZWNpcGVzID0z
RCBjU3RyaW5nSU8uU3RyaW5nSU8oKQogcmVjaXBlcy53cml0ZShoZWFkZXIpCj0yMAotdXJsID0z
RCAiaGVyZTogaHR0cDovL2hnLnl0LXByb2plY3Qub3JnL2Nvb2tib29rL3Jhdy90aXAvJXMgLiIK
K3VybCA9M0QgImhlcmU6IGh0dHA6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL2Nvb2tib29r
L3Jhdy90aXAvJXMgLiIKPTIwCiBkZWYgY29uZF9vdXRwdXQoZiwgdik6CiAgICAgaWYgbm90IHY6
CkBAIC0zMSw3ICszMSw3IEBACiAgICAgcmV0dXJuIFRydWUKPTIwCiByZXBvID0zRCBoZy5yZXBv
c2l0b3J5KHVpaSwgIi4uL2Nvb2tib29rLyIpCi1jb21tYW5kcy5wdWxsKHVpaSwgcmVwbywgImh0
dHA6Ly9oZy55dC1wcm9qZWN0Lm9yZy9jb29rYm9vay8iKQorY29tbWFuZHMucHVsbCh1aWksIHJl
cG8sICJodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy9jb29rYm9vay8iKQogY3R4ID0z
RCByZXBvWyJ0aXAiXQogZm9yIGZpbGUgaW4gY3R4OgogICAgIGlmIG5vdCBmaWxlLnN0YXJ0c3dp
dGgoInJlY2lwZXMvIik6IGNvbnRpbnVlCgpkaWZmIC1yIDk2MjA4YTUyMjY2YzhhN2UwOGFlMjIx
OWQyMjUyNWNlYTAwOWJlOGEgLXIgMDY5NzJiZTIxMTY5N2ViZjFlYzNlNWM9CjlmMWMyMjJjOWNj
YjY5YjY1IGRvYy9pbnN0YWxsX3NjcmlwdC5zaAotLS0gYS9kb2MvaW5zdGFsbF9zY3JpcHQuc2gK
KysrIGIvZG9jL2luc3RhbGxfc2NyaXB0LnNoCkBAIC0xLDE4ICsxLDE0IEBACiAjCiAjIEhpIHRo
ZXJlISAgV2VsY29tZSB0byB0aGUgeXQgaW5zdGFsbGF0aW9uIHNjcmlwdC4KICMKKyMgRmlyc3Qg
dGhpbmdzIGZpcnN0LCBpZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcywgcGxlYXNlIHZpc2l0IHRo
ZSBIZWxwPTIwCisjIHNlY3Rpb24gYXQgaHR0cDovL3l0LXByb2plY3Qub3JnLgorIwogIyBUaGlz
IHNjcmlwdCBpcyBkZXNpZ25lZCB0byBjcmVhdGUgYSBmdWxseSBpc29sYXRlZCBQeXRob24gaW5z
dGFsbGF0aW9uCiAjIHdpdGggdGhlIGRlcGVuZGVuY2llcyB5b3UgbmVlZCB0byBydW4geXQuCiAj
Ci0jIFRoZXJlIGFyZSBhIGZldyBvcHRpb25zLCBidXQgeW91IG9ubHkgbmVlZCB0byBzZXQgKm9u
ZSogb2YgdGhlbS4gIEFuZAotIyB0aGF0J3MgdGhlIG5leHQgb25lLCBERVNUX0RJUi4gIEJ1dCwg
aWYgeW91IHdhbnQgdG8gdXNlIGFuIGV4aXN0aW5nIEhERjUKLSMgaW5zdGFsbGF0aW9uIHlvdSBj
YW4gc2V0IEhERjVfRElSLCBvciBpZiB5b3Ugd2FudCB0byB1c2Ugc29tZSBvdGhlcgotIyBzdWJ2
ZXJzaW9uIGNoZWNrb3V0IG9mIHl0LCB5b3UgY2FuIHNldCBZVF9ESVIsIHRvby4gIChJdCdsbCBh
bHJlYWR5Ci0jIGNoZWNrIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBhbmQgb25lIHVwLgotIwotIyBJ
ZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcywgcGxlYXNlIHZpc2l0IHRoZSBIZWxwIHNlY3Rpb24g
YXQ9MjAKLSMgaHR0cDovL3l0LXByb2plY3Qub3JnLgotIworIyBUaGVyZSBhcmUgYSBmZXcgb3B0
aW9ucywgYnV0IHlvdSBvbmx5IG5lZWQgdG8gc2V0ICpvbmUqIG9mIHRoZW0sIHdoaWNoIGk9CnM9
MjAKKyMgdGhlIG5leHQgb25lLCBERVNUX0RJUjoKPTIwCiBERVNUX1NVRkZJWD0zRCJ5dC1gdW5h
bWUgLW1gIgogREVTVF9ESVI9M0QiYHB3ZGAvJHtERVNUX1NVRkZJWC8gL30iICAgIyBJbnN0YWxs
YXRpb24gbG9jYXRpb24KQEAgLTIzLDE2ICsxOSwyNSBAQAogICAgIERFU1RfRElSPTNEJHtZVF9E
RVNUfQogZmkKPTIwCisjIFdoYXQgZm9sbG93cyBhcmUgc29tZSBvdGhlciBvcHRpb25zIHRoYXQg
eW91IG1heSBvciBtYXkgbm90IG5lZWQgdG8gY2hhbj0KZ2UuCisKICMgSGVyZSdzIHdoZXJlIHlv
dSBwdXQgdGhlIEhERjUgcGF0aCBpZiB5b3UgbGlrZTsgb3RoZXJ3aXNlIGl0J2xsIGRvd25sb2Fk
PQogaXQKICMgYW5kIGluc3RhbGwgaXQgb24gaXRzIG93bgogI0hERjVfRElSPTNECj0yMAorIyBJ
ZiB5b3UndmUgZ290IHl0IHNvbWUgb3RoZXIgcGxhY2UsIHNldCB0aGlzIHRvIHBvaW50IHRvIGl0
LiBUaGUgc2NyaXB0IHc9CmlsbAorIyBhbHJlYWR5IGNoZWNrIHRoZSBjdXJyZW50IGRpcmVjdG9y
eSBhbmQgdGhlIG9uZSBhYm92ZSBpdCBpbiB0aGUgdHJlZS4KK1lUX0RJUj0zRCIiCisKICMgSWYg
eW91IG5lZWQgdG8gc3VwcGx5IGFyZ3VtZW50cyB0byB0aGUgTnVtUHkgb3IgU2NpUHkgYnVpbGQs
IHN1cHBseSB0aGVtPQogaGVyZQogIyBUaGlzIG9uZSB0dXJucyBvbiBnZm9ydHJhbiBtYW51YWxs
eToKICNOVU1QWV9BUkdTPTNEIi0tZmNvbXBpbGVyPTNEZ251OTUiCiAjIElmIHlvdSBhYnNvbHV0
ZWx5IGNhbid0IGdldCB0aGUgZm9ydHJhbiB0byB3b3JrLCB0cnkgdGhpczoKICNOVU1QWV9BUkdT
PTNEIi0tZmNvbXBpbGVyPTNEZmFrZSIKPTIwCitJTlNUX1BZMz0zRDAgICAgICAjIEluc3RhbGwg
UHl0aG9uIDMgYWxvbmcgd2l0aCBQeXRob24gMi4gSWYgdGhpcyBpcyB0dXJuZWQKKyAgICAgICAg
ICAgICAgICAjIG9uLCBhbGwgUHl0aG9uIHBhY2thZ2VzIChpbmNsdWRpbmcgeXQpIHdpbGwgYmUg
aW5zdGFsbGVkCisgICAgICAgICAgICAgICAgIyBpbiBQeXRob24gMyAoZXhjZXB0IE1lcmN1cmlh
bCwgd2hpY2ggcmVxdWlyZXMgUHl0aG9uIDIpLgogSU5TVF9IRz0zRDEgICAgICAgIyBJbnN0YWxs
IE1lcmN1cmlhbCBvciBub3Q/ICBJZiBoZyBpcyBub3QgYWxyZWFkeQogICAgICAgICAgICAgICAg
ICMgaW5zdGFsbGVkLCB5dCBjYW5ub3QgYmUgaW5zdGFsbGVkLgogSU5TVF9aTElCPTNEMSAgICAg
IyBPbiBzb21lIHN5c3RlbXMgKEtyYWtlbikgbWF0cGxvdGxpYiBoYXMgaXNzdWVzIHdpdGgKQEAg
LTUwLDkgKzU1LDYgQEAKIElOU1RfUk9DS1NUQVI9M0QwICMgSW5zdGFsbCB0aGUgUm9ja3N0YXIg
aGFsbyBmaW5kZXI/CiBJTlNUX1NDSVBZPTNEMCAgICAjIEluc3RhbGwgc2NpcHk/Cj0yMAotIyBJ
ZiB5b3UndmUgZ290IHl0IHNvbWUgb3RoZXIgcGxhY2UsIHNldCB0aGlzIHRvIHBvaW50IHRvIGl0
LgotWVRfRElSPTNEIiIKLQogIyBJZiB5b3UgbmVlZCB0byBwYXNzIGFueXRoaW5nIHRvIG1hdHBs
b3RsaWIsIGRvIHNvIGhlcmUuCiBNUExfU1VQUF9MREZMQUdTPTNEIiIKIE1QTF9TVVBQX0NGTEFH
Uz0zRCIiCkBAIC0xMTEsNiArMTEzLDcgQEAKICAgICBlY2hvIElOU1RfU1FMSVRFMz0zRCR7SU5T
VF9TUUxJVEUzfSA+PiAke0NPTkZJR19GSUxFfQogICAgIGVjaG8gSU5TVF9QWVg9M0Qke0lOU1Rf
UFlYfSA+PiAke0NPTkZJR19GSUxFfQogICAgIGVjaG8gSU5TVF8wTVE9M0Qke0lOU1RfME1RfSA+
PiAke0NPTkZJR19GSUxFfQorICAgIGVjaG8gSU5TVF9QWTM9M0Qke0lOU1RfUFkzfSA+PiAke0NP
TkZJR19GSUxFfQogICAgIGVjaG8gSU5TVF9ST0NLU1RBUj0zRCR7SU5TVF9ST0NLU1RBUn0gPj4g
JHtDT05GSUdfRklMRX0KICAgICBlY2hvIElOU1RfU0NJUFk9M0Qke0lOU1RfU0NJUFl9ID4+ICR7
Q09ORklHX0ZJTEV9CiAgICAgZWNobyBZVF9ESVI9M0Qke1lUX0RJUn0gPj4gJHtDT05GSUdfRklM
RX0KQEAgLTQxNSw2ICs0MTgsMTAgQEAKIGdldF93aWxsd29udCAke0lOU1RfU1FMSVRFM30KIGVj
aG8gImJlIGluc3RhbGxpbmcgU1FMaXRlMyIKPTIwCitwcmludGYgIiUtMTVzID0zRCAlcyBzbyBJ
ICIgIklOU1RfUFkzIiAiJHtJTlNUX1BZM30iCitnZXRfd2lsbHdvbnQgJHtJTlNUX1BZM30KK2Vj
aG8gImJlIGluc3RhbGxpbmcgUHl0aG9uIDMiCisKIHByaW50ZiAiJS0xNXMgPTNEICVzIHNvIEkg
IiAiSU5TVF9IRyIgIiR7SU5TVF9IR30iCiBnZXRfd2lsbHdvbnQgJHtJTlNUX0hHfQogZWNobyAi
YmUgaW5zdGFsbGluZyBNZXJjdXJpYWwiCkBAIC00ODcsNiArNDk0LDEzIEBACiAgICAgZXhpdCAx
CiB9Cj0yMAoraWYgWyAkSU5TVF9QWTMgLWVxIDEgXQordGhlbgorCSBQWVRIT05fRVhFQz0zRCdw
eXRob24zLjQnCitlbHNlPTIwCisJIFBZVEhPTl9FWEVDPTNEJ3B5dGhvbjIuNycKK2ZpCisKIGZ1
bmN0aW9uIGRvX3NldHVwX3B5CiB7CiAgICAgWyAtZSAkMS9kb25lIF0gJiYgcmV0dXJuCkBAIC01
MDEsMTkgKzUxNSwyNyBAQAogICAgIFsgISAtZSAkTElCL2V4dHJhY3RlZCBdICYmIHRhciB4Znog
JExJQi50YXIuZ3oKICAgICB0b3VjaCAkTElCL2V4dHJhY3RlZAogICAgIEJVSUxEX0FSR1M9M0Qi
IgorICAgIGlmIFtbICRMSUIgPTNEfiAuKm1lcmN1cmlhbC4qIF1dPTIwCisgICAgdGhlbgorICAg
ICAgICBQWUVYRT0zRCJweXRob24yLjciCisgICAgZWxzZQorICAgICAgICBQWUVYRT0zRCR7UFlU
SE9OX0VYRUN9CisgICAgZmkKICAgICBjYXNlICRMSUIgaW4KICAgICAgICAgKmg1cHkqKQotICAg
ICAgICAgICAgQlVJTERfQVJHUz0zRCItLWhkZjU9M0Qke0hERjVfRElSfSIKKyAgICAgICAgICAg
IHB1c2hkICRMSUIgJj4gL2Rldi9udWxsCisgICAgICAgICAgICAoICR7REVTVF9ESVJ9L2Jpbi8k
e1BZVEhPTl9FWEVDfSBzZXR1cC5weSBjb25maWd1cmUgLS1oZGY1PTNEJD0Ke0hERjVfRElSfSAy
PiYxICkgMT4+ICR7TE9HX0ZJTEV9IHx8IGRvX2V4aXQKKyAgICAgICAgICAgIHBvcGQgJj4gL2Rl
di9udWxsCiAgICAgICAgICAgICA7OwogICAgICAgICAqbnVtcHkqKQotICAgICAgICAgICAgaWYg
WyAtZSAke0RFU1RfRElSfS9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvbnVtcHkvX19pbml0
X189Ci5weSBdCisgICAgICAgICAgICBpZiBbIC1lICR7REVTVF9ESVJ9L2xpYi8ke1BZVEhPTl9F
WEVDfS9zaXRlLXBhY2thZ2VzL251bXB5L19faT0Kbml0X18ucHkgXQogICAgICAgICAgICAgdGhl
bgotICAgICAgICAgICAgICAgIFZFUj0zRCQoJHtERVNUX0RJUn0vYmluL3B5dGhvbiAtYyAnZnJv
bSBkaXN0dXRpbHMudmVyc2lvbiA9CmltcG9ydCBTdHJpY3RWZXJzaW9uIGFzIFNWOyBcCisgICAg
ICAgICAgICAgICAgVkVSPTNEJCgke0RFU1RfRElSfS9iaW4vJHtQWVRIT05fRVhFQ30gLWMgJ2Zy
b20gZGlzdHV0aWxzLj0KdmVyc2lvbiBpbXBvcnQgU3RyaWN0VmVyc2lvbiBhcyBTVjsgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydCBudW1w
eTsgcHJpbnQgU1YobnU9Cm1weS5fX3ZlcnNpb25fXykgPCBTVigiMS44LjAiKScpCiAgICAgICAg
ICAgICAgICAgaWYgWyAkVkVSID0zRD0zRCAiVHJ1ZSIgXQogICAgICAgICAgICAgICAgIHRoZW4K
ICAgICAgICAgICAgICAgICAgICAgZWNobyAiUmVtb3ZpbmcgcHJldmlvdXMgTnVtUHkgaW5zdGFu
Y2UgKHNlZSBpc3N1ZSAjODg5PQopIgotICAgICAgICAgICAgICAgICAgICBybSAtcmYgJHtERVNU
X0RJUn0vbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3tudW1weSo9CiwqLnB0aH0KKyAgICAg
ICAgICAgICAgICAgICAgcm0gLXJmICR7REVTVF9ESVJ9L2xpYi8ke1BZVEhPTl9FWEVDfS9zaXRl
LXBhY2thZ2VzL3tuPQp1bXB5KiwqLnB0aH0KICAgICAgICAgICAgICAgICBmaQogICAgICAgICAg
ICAgZmkKICAgICAgICAgICAgIDs7CkBAIC01MjEsOCArNTQzLDggQEAKICAgICAgICAgICAgIDs7
CiAgICAgZXNhYwogICAgIGNkICRMSUIKLSAgICAoICR7REVTVF9ESVJ9L2Jpbi9weXRob24yLjcg
c2V0dXAucHkgYnVpbGQgJHtCVUlMRF9BUkdTfSAkKiAyPiYxICkgMT4+PQogJHtMT0dfRklMRX0g
fHwgZG9fZXhpdAotICAgICggJHtERVNUX0RJUn0vYmluL3B5dGhvbjIuNyBzZXR1cC5weSBpbnN0
YWxsICAgIDI+JjEgKSAxPj4gJHtMT0dfRklMRX09CiB8fCBkb19leGl0CisgICAgKCAke0RFU1Rf
RElSfS9iaW4vJHtQWUVYRX0gc2V0dXAucHkgYnVpbGQgJHtCVUlMRF9BUkdTfSAkKiAyPiYxICkg
MT4+ID0KJHtMT0dfRklMRX0gfHwgZG9fZXhpdAorICAgICggJHtERVNUX0RJUn0vYmluLyR7UFlF
WEV9IHNldHVwLnB5IGluc3RhbGwgICAgMj4mMSApIDE+PiAke0xPR19GSUxFfSA9Cnx8IGRvX2V4
aXQKICAgICB0b3VjaCBkb25lCiAgICAgY2QgLi4KIH0KQEAgLTU5MCw2MCArNjEyLDY0IEBACiAj
IFNldCBwYXRocyB0byB3aGF0IHRoZXkgc2hvdWxkIGJlIHdoZW4geXQgaXMgYWN0aXZhdGVkLgog
ZXhwb3J0IFBBVEg9M0Qke0RFU1RfRElSfS9iaW46JFBBVEgKIGV4cG9ydCBMRF9MSUJSQVJZX1BB
VEg9M0Qke0RFU1RfRElSfS9saWI6JExEX0xJQlJBUllfUEFUSAotZXhwb3J0IFBZVEhPTlBBVEg9
M0Qke0RFU1RfRElSfS9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMKK2V4cG9ydCBQWVRIT05Q
QVRIPTNEJHtERVNUX0RJUn0vbGliLyR7UFlUSE9OX0VYRUN9L3NpdGUtcGFja2FnZXMKPTIwCiBt
a2RpciAtcCAke0RFU1RfRElSfS9zcmMKIGNkICR7REVTVF9ESVJ9L3NyYwo9MjAKLUNZVEhPTj0z
RCdDeXRob24tMC4yMC4yJworUFlUSE9OMj0zRCdQeXRob24tMi43LjknCitQWVRIT04zPTNEJ1B5
dGhvbi0zLjQuMycKK0NZVEhPTj0zRCdDeXRob24tMC4yMicKIFBZWD0zRCdQeVgtMC4xMi4xJwot
UFlUSE9OPTNEJ1B5dGhvbi0yLjcuOCcKIEJaTElCPTNEJ2J6aXAyLTEuMC42JwotRlJFRVRZUEVf
VkVSPTNEJ2ZyZWV0eXBlLTIuNC4xMicKLUg1UFk9M0QnaDVweS0yLjMuMScKLUhERjU9M0QnaGRm
NS0xLjguMTQnCi1JUFlUSE9OPTNEJ2lweXRob24tMi4yLjAnCitGUkVFVFlQRV9WRVI9M0QnZnJl
ZXR5cGUtMi40LjEyJz0yMAorSDVQWT0zRCdoNXB5LTIuNS4wJworSERGNT0zRCdoZGY1LTEuOC4x
NCc9MjAKK0lQWVRIT049M0QnaXB5dGhvbi0yLjQuMScKIExBUEFDSz0zRCdsYXBhY2stMy40LjIn
CiBQTkc9M0RsaWJwbmctMS42LjMKLU1BVFBMT1RMSUI9M0QnbWF0cGxvdGxpYi0xLjQuMCcKLU1F
UkNVUklBTD0zRCdtZXJjdXJpYWwtMy4xJwotTk9TRT0zRCdub3NlLTEuMy40JwotTlVNUFk9M0Qn
bnVtcHktMS44LjInCi1QWVRIT05fSEdMSUI9M0QncHl0aG9uLWhnbGliLTEuMCcKLVBZWk1RPTNE
J3B5em1xLTE0LjMuMScKK01BVFBMT1RMSUI9M0QnbWF0cGxvdGxpYi0xLjQuMycKK01FUkNVUklB
TD0zRCdtZXJjdXJpYWwtMy40JworTk9TRT0zRCdub3NlLTEuMy42JworTlVNUFk9M0QnbnVtcHkt
MS45LjInCitQWVRIT05fSEdMSUI9M0QncHl0aG9uLWhnbGliLTEuNicKK1BZWk1RPTNEJ3B5em1x
LTE0LjUuMCcKIFJPQ0tTVEFSPTNEJ3JvY2tzdGFyLTAuOTkuNicKLVNDSVBZPTNEJ3NjaXB5LTAu
MTQuMCcKK1NDSVBZPTNEJ3NjaXB5LTAuMTUuMScKIFNRTElURT0zRCdzcWxpdGUtYXV0b2NvbmYt
MzA3MTcwMCcKLVNZTVBZPTNEJ3N5bXB5LTAuNy41JwotVE9STkFETz0zRCd0b3JuYWRvLTQuMC4x
JwotWkVST01RPTNEJ3plcm9tcS00LjAuNCcKK1NZTVBZPTNEJ3N5bXB5LTAuNy42JworVE9STkFE
Tz0zRCd0b3JuYWRvLTQuMC4yJworWkVST01RPTNEJ3plcm9tcS00LjAuNScKIFpMSUI9M0Qnemxp
Yi0xLjIuOCcKK1NFVFVQVE9PTFM9M0Qnc2V0dXB0b29scy0xNi4wJwo9MjAKICMgTm93IHdlIGR1
bXAgYWxsIG91ciBTSEE1MTIgZmlsZXMgb3V0LgotZWNobyAnMTE4ZTNlYmQ3NmY1MGJkYTgxODdi
NzY2NTRlNjVjYWFiMmMyYzQwM2RmOWI4OWRhNTI1YzJjOTYzZGVkYzdiMzhkODk9CjhhZTBiOTJk
NDRiMjc4NzMxZDk2OWE4OTFlYjNmN2I1YmNjMTM4Y2ZlM2UwMzdmMTc1ZDRjODdjMjllYyAgQ3l0
aG9uLTAuMjAuMj0KLnRhci5neicgPiBDeXRob24tMC4yMC4yLnRhci5nei5zaGE1MTIKK2VjaG8g
Jzg1NjIyMGZhNTc5ZTI3MmFjMzhkY2VmMDkxNzYwZjUyNzQzMWZmM2I5OGRmOWFmNmU2ODQxNmZj
Zjc3ZDk2NTlhYzVhPQpiZTVjN2RlZTQxMzMxZjM1OTYxNDYzN2E0ZmY0NTIwMzMwODUzMzVlZTQ5
OTgzMGVkMTI2YWI1ODQyNjcgIEN5dGhvbi0wLjIyLnQ9CmFyLmd6JyA+IEN5dGhvbi0wLjIyLnRh
ci5nei5zaGE1MTIKIGVjaG8gJzQ5NDFmNWFhMjFhZmYzNzQzNTQ2NDk1ZmIwNzNjMTBkMjY1N2Zm
NDJiMmFmZjQwMTkwMzQ5ODYzODA5M2QwZTMxZTM0PQo0Y2NlNzc4OTgwZjI4YTcxNzBjNmQyOWVh
YjcyYWMwNzQyNzdiOWQ0MDg4Mzc2ZTg2OTJkYzcxZTU1YzEgIFB5WC0wLjEyLjEudGE9CnIuZ3on
ID4gUHlYLTAuMTIuMS50YXIuZ3ouc2hhNTEyCi1lY2hvICc0YjA1ZjBhNDkwZGRlZTM3ZThmYzc5
NzA0MDNiYjhiNzJjMzhlNWQxNzM3MDNkYjQwMzEwZTc4MTQwZDlkNWM1NzMyNz0KODlkNjljNjhk
YmQ1NjA1YTYyM2U0NTgyZjViOTY3MWY4MmI4MjM5ZWNkYjM0YWQ0MjYxMDE5ZGFjZTZhICBQeXRo
b24tMi43LjguPQp0Z3onID4gUHl0aG9uLTIuNy44LnRnei5zaGE1MTIKK2VjaG8gJ2E0MmYyOGVk
OGU0OWYwNGNmODllMmVhNzQzNGM1ZWNiYzI2NGU3MTg4ZGNiNzlhYjk3Zjc0NWFkZjY2NGRkOWFi
NTdmPQo5YTkxMzU0MzczMTYzNWY5MDg1OTUzNjI0NGFjMzdkY2E5YWRmMGZjMmFhMWIyMTViYTg4
NDgzOWQxNjAgIFB5dGhvbi0yLjcuOS49CnRneicgPiBQeXRob24tMi43LjkudGd6LnNoYTUxMgor
ZWNobyAnNjA5Y2M4MjU4NmZhYmVjYjI1ZjI1ZWNiNDEwZjI5MzhlMDFkMjFjZGU4NWRkM2Y4ODI0
ZmU1NWM2ZWRkZTllY2YzYjc9CjYwOTE5NTQ3M2QzZmEwNWExNmI5YjEyMTQ2NGY1NDE0ZGIxYTAx
ODcxMDNiNzhlYTZlZGZhNzE2ODRhNyAgUHl0aG9uLTMuNC4zLj0KdGd6JyA+IFB5dGhvbi0zLjQu
My50Z3ouc2hhNTEyCiBlY2hvICcyNzZiZDljMDYxZWM5YTI3ZDQ3OGIzMzA3OGE4NmY5MzE2NGVl
MmRhNzIyMTBlMTJlMmM5ZGE3MWRjZmZlYjY0NzY3ZT0KNDQ2MGI5M2YyNTczMDJiMDkzMjhlZGE4
NjU1ZTkzYzRiOWFlODVlNzQ0NzI4NjlhZmJlYWUzNWNhNzFlICBibGFzLnRhci5neicgPQo+IGJs
YXMudGFyLmd6LnNoYTUxMgogZWNobyAnMDBhY2U1NDM4Y2ZhMGM1NzdlNWY1NzhkOGE4MDg2MTMx
ODdlZmY1MjE3YzM1MTY0ZmZlMDQ0ZmJhZmRmZWM5ZTk4ZjQ9CjE5MmMwMmE3ZDY3ZTAxZTVhNWNj
Y2VkNjMwNTgzYWQxMDAzYzM3Njk3MjE5YjBmMTQ3MzQzYTNmZGQxMiAgYnppcDItMS4wLjYudD0K
YXIuZ3onID4gYnppcDItMS4wLjYudGFyLmd6LnNoYTUxMgogZWNobyAnYTI5NmRmY2FlZjdlODUz
ZTU4ZWVkNGUyNGIzN2M0ZmEyOWNmYzZhYzY4OGRlZjA0ODQ4MGY0YmIzODRiOWUzN2NhNDQ9Cjdm
YWY5NmVlYzdiMzc4ZmQ3NjRiYTI5MTcxM2YwM2FjNDY0NTgxZDYyMjc1ZTI4ZWIyZWM5OTExMGFi
NiAgcmVhc29uLWpzLTIwMT0KMjA2MjMuemlwJyA+IHJlYXNvbi1qcy0yMDEyMDYyMy56aXAuc2hh
NTEyCiBlY2hvICc2MDlhNjhhMzY3NTA4N2UwY2M5NTI2ODU3NGYzMWUxMDQ1NDlkYWE0OGVmZTE1
YTI1YTMzYjhlMjY5YTkzYjRiZDE2MD0KZjRjM2U4MTc4ZGNhOWM5NTBlZjVjYTUxNGIwMzlkNmZk
MWI0NWRiNmFmNTdmMjUzNDI0NjRkMDQyOWNlICBmcmVldHlwZS0yLjQuPQoxMi50YXIuZ3onID4g
ZnJlZXR5cGUtMi40LjEyLnRhci5nei5zaGE1MTIKLWVjaG8gJ2YwZGExZDJhYzg1NWMwMmZiODI4
NDQ0ZDcxOWExYjIzYTU4MGFkYjA0OTMzNWYzZTczMmFjZTY3NTU4YTEyNWFjOGNkPQozYjNhNjhh
YzZiZjlkMTBhYTNhYjE5ZTQ2NzJiODE0ZWIyOGNjOGM2NjkxMDc1MGM2MmVmYjY1NWQ3NDQgIGg1
cHktMi4zLjEudGE9CnIuZ3onID4gaDVweS0yLjMuMS50YXIuZ3ouc2hhNTEyCitlY2hvICc0YTgz
ZjlhZTE4NTVhN2ZhZDkwMTMzYjMyN2Q0MjYyMDFjOGNjZmQyZTdmYmU5ZjM5YjJkNjFhMmVlZTJm
M2ViZTJlYT0KMDJjZjgwZjNkNGUxYWQ2NTlmOGU3OTBjMTczZGY4Y2M5OWI4N2QwYjdjZTYzZDM0
YWE4OGNmZGM3OTM5ICBoNXB5LTIuNS4wLnRhPQpyLmd6JyA+IGg1cHktMi41LjAudGFyLmd6LnNo
YTUxMgogZWNobyAnNDA3M2ZiYTUxMGNjYWRhYmE0MWRiMDkzOWY5MDk2MTNjOWNiNTJiYThmYjZj
MTA2MmZjOTExOGVkYzYwMTM5NGM3NWU9CjEwMjMxMGJlMWFmNDA3N2QwN2M5YjMyN2U2YmJiMWE2
MzU5OTM5YTcyNjhkYzE0MDM4MmQwYzFlMDE5OSAgaGRmNS0xLjguMTQudD0KYXIuZ3onID4gaGRm
NS0xLjguMTQudGFyLmd6LnNoYTUxMgotZWNobyAnNDk1M2JmNWU5ZDZkNWM2YWQ1MzhkMDdkNjJi
NWIxMDBmZDg2YTM3ZjZiODYxMjM4NTAxNTgxYzAwNTliZDQ2NTUzNDU9CmNhMDVjZjM5NWU3OTcw
OWMzOGNlNGNiOWM2MjkzZjVkMTFhYzAyNTJhNjE4YWQ4MjcyYjE2MTE0MGQxMyAgaXB5dGhvbi0y
LjIuMD0KLnRhci5neicgPiBpcHl0aG9uLTIuMi4wLnRhci5nei5zaGE1MTIKK2VjaG8gJ2E5Y2Zm
YzA4YmExMGM0N2IwMzcxYjA1NjY0ZTU1ZWVlMDU2MmEzMGVmMGQ0YmJhZmFlNzllNTJlNWI5NzI3
OTA2YzQ1PQo4NDBjMDkxODEyMmMwNmM1NjcyYWM2NWU2ZWIzODEzOTlmMTAzZTFhODM2YWNhMDAz
ZWRhODFiMmFjZGUgIGlweXRob24tMi40LjE9Ci50YXIuZ3onID4gaXB5dGhvbi0yLjQuMS50YXIu
Z3ouc2hhNTEyCiBlY2hvICc4NzcwMjE0NDkxZTMxZjBhN2EzZWZhYWRlOTBlZWU3YjBlYjIwYThh
NmFiNjM1YzVmODU0ZDc4MjYzZjU5YTE4NDkxMz0KM2MxNGVmNTEyM2QwMTAyM2YwMTEwY2JiOWZj
NmY4MThkYTA1M2MwMTI3NzkxNGFlODE0NzM0MzBhOTUyICBsYXBhY2stMy40LjIuPQp0YXIuZ3on
ID4gbGFwYWNrLTMuNC4yLnRhci5nei5zaGE1MTIKIGVjaG8gJzg4NzU4MmU1YTIyZTRjZGUzMzhh
YThmZWM3YTg5ZjZkZDMxZjJmMDJiODg0MjczNWYwMGY5NzBmNjQ1ODIzMzNmYTAzPQo0MDFjZWE2
ZDAxNzA0MDgzNDAzYzdlOGI3ZWJjMjY2NTU0NjhjZTkzMDE2NTY3M2IzM2VmYTRiY2Q1ODYgIGxp
YnBuZy0xLjYuMy49CnRhci5neicgPiBsaWJwbmctMS42LjMudGFyLmd6LnNoYTUxMgotZWNobyAn
NjBhYTM4NjYzOWRlYzE3YjRmNTc5OTU1ZGY2MGYyYWE3YzhjY2Q1ODliMzQ5MGJiOWFmZWIyOTI5
ZWE0MThkNWQxYTM9CjZhMGIwMmI4ZDRhNjczNDI5MzA3NmU5MDY5NDI5OTU2YzU2Y2Y4YmQwOTli
NzU2MTM2ZjI2NTdjZjlkNCAgbWF0cGxvdGxpYi0xLj0KNC4wLnRhci5neicgPiBtYXRwbG90bGli
LTEuNC4wLnRhci5nei5zaGE1MTIKLWVjaG8gJzFlZTJmZTdhMjQxYmY4MTA4N2U1NWQ5ZTRlZThm
YTk4NmY0MWJiMDY1NWQ0ODI4ZDI0NDMyMmMxOGYzOTU4YTFmMzExPQoxNTA2ZTJkZjE1YWVmY2Y4
NjEwMGI0ZmU1MzBmY2FiMmQ0YzA0MWI1OTQ1NTk5ZWQzYjNhODg5ZDUwZjUgIG1lcmN1cmlhbC0z
LjE9Ci50YXIuZ3onID4gbWVyY3VyaWFsLTMuMS50YXIuZ3ouc2hhNTEyCi1lY2hvICcxOTQ5OWFi
MDgwMTgyMjllYTUxOTVjZGFjNzM5ZDZjN2MyNDdjNWFhNWIyYzkxYjgwMWNiZDk5YmFkMTI1ODRl
ZDg0Yz0KNWNmYWFhNmZhOGI0ODkzYTQ2MzI0NTcxYTJmOGExOTg4YTEzODFmNGRkZDU4MzkwZTU5
N2JkN2JkYzI0ICBub3NlLTEuMy40LnRhPQpyLmd6JyA+IG5vc2UtMS4zLjQudGFyLmd6LnNoYTUx
MgotZWNobyAnOTk2ZTZiOGUyZDQyZjIyM2U0NDY2MGY1NmJmNzNlYjhhYjEyNGY0MDBkODkyMThm
OGY1ZTRkN2M5ODYwYWRhNDRhNGQ9CjdjNTQ1MjYxMzdiMDY5NWM3YTEwZjM2ZTg4MzRmYmYwZDQy
YjdjYjIwYmNkYjVkNWMyNDVkNjczMzg1YyAgbnVtcHktMS44LjIudD0KYXIuZ3onID4gbnVtcHkt
MS44LjIudGFyLmd6LnNoYTUxMgotZWNobyAnOWMwYTYxMjk5Nzc5YWZmNjEzMTMxYWFhYmJjMjU1
Yzg2NDhmMGZhN2FiMTgwNmFmNTNmMTlmYmRjZWNlMGM4YTY4ZGQ9CmNhNzg4MGQyNWI5MjZkNjdm
ZjFiOTIwMTk1NGIyMDc5MTlmYjA5ZjZhMjkwYWNiMDc4ZThiYmVkN2I2OCAgcHl0aG9uLWhnbGli
LT0KMS4wLnRhci5neicgPiBweXRob24taGdsaWItMS4wLnRhci5nei5zaGE1MTIKLWVjaG8gJzNk
OTNhOGZiZDk0ZmMzZjFmOTBkZjY4MjU3Y2RhNTQ4YmExYWRmM2Q3YTgxOWU3YTE3ZWRjODY4MTg5
NDAwM2FjN2FlPQo2YWJkMzE5NDczMDU0MzQwYzExNDQzYTZhMzgxN2I5MzEzNjZmZDdkYWU3OGUz
ODA3ZDU0OWM1NDRmOGIgIHB5em1xLTE0LjMuMS49CnRhci5neicgPiBweXptcS0xNC4zLjEudGFy
Lmd6LnNoYTUxMgotZWNobyAnYWQxMjc4NzQwYzFkYzQ0YzVlMWIxNTMzNWQ2MWM0NTUyYjY2YzA0
MzkzMjVlZDZlZWViYzU4NzJhMWMwYmEzZmNlMWQ9CmQ4NTA5MTE2YjMxOGQwMWUyZDQxZGEyZWU0
OWVjMTY4ZGEzMzBhN2ZhZmQyMjUxMTEzOGIyOWY3MjM1ZCAgc2NpcHktMC4xNC4wLj0KdGFyLmd6
JyA+IHNjaXB5LTAuMTQuMC50YXIuZ3ouc2hhNTEyCitlY2hvICc1MWIwZjU4YjI2MThiNDdiNjUz
ZTE3ZTRmNmI2YTEyMTVkM2EzYjBmMTMzMWNlMzU1NWNjNzQzNWUzNjVkOWM3NTY5Mz0KZjI4OWNl
MTJmZTNiZjhmNjlmZDU3YjY2M2U1NDVmMGYxYzJjOTRlODFlYWE2NjFjYWMwNjg5ZTEyNWY1ICBt
YXRwbG90bGliLTEuPQo0LjMudGFyLmd6JyA+IG1hdHBsb3RsaWItMS40LjMudGFyLmd6LnNoYTUx
MgorZWNobyAnYTYxYjBkNGNmNTI4MTM2OTkxMjQzYmIyM2FjOTcyYzExYzUwYWI1NjgxZDA5Zjhi
MmQxMmNmN2QzN2QzYTlkNzYyNjI9CmY3ZmU2ZTdhMTgzNGJmNmQwM2U4ZGMwZWJiZDkyMzFkYTk4
MmUwNDllMDk4MzAzNDFkYWJlZmU1ZDA2NCAgbWVyY3VyaWFsLTMuND0KLnRhci5neicgPiBtZXJj
dXJpYWwtMy40LnRhci5nei5zaGE1MTIKK2VjaG8gJ2QwY2VkZTA4ZGMzM2E4YWMwYWYwZjE4MDYz
ZTU3ZjMxYjYxNWYwNmU5MTFlZGI1Y2EyNjQ1NzUxNzRkOGY0YWRiNDMzPQo4NDQ4OTY4YzQwMzgx
MWQ5ZGNjNjBmMzhhZGUzMTY0NjYyZDZjN2I2OWI0OTlmNTZmMDk4NGJiNjI4M2MgIG5vc2UtMS4z
LjYudGE9CnIuZ3onID4gbm9zZS0xLjMuNi50YXIuZ3ouc2hhNTEyCitlY2hvICc3MDQ3MGViYjlh
ZmVmNWRmZDBjODNjZWI3YTlkNWYxYjdhMDcyYjFhOWI1NGIwNGYwNGY1ZWQ1MGZiYWVkZDViNDkw
Nj0KYmQ1MDA0NzIyNjhkNDc4Zjk0ZGY5ZTc0OWE4ODY5OGIxZmYzMGYyZDgwMjU4ZTdmM2ZlYzA0
MDYxN2Q5ICBudW1weS0xLjkuMi50PQphci5neicgPiBudW1weS0xLjkuMi50YXIuZ3ouc2hhNTEy
CitlY2hvICdiZmQxMDQ1NWU3NGUzMGRmNTY4YzRjNDgyNzE0MGZiNmNjMjk4OTNiMGUwNjJjZTE3
NjRiZDUyODUyZWM3NDg3YTcwYT0KMGY1ZWE1M2MzZmNhNzg4NmY1ZDM2MzY1YzlmNGRiNTJiOGM5
M2NhZDM1ZmI2N2JlZWI0NGEyZDU2ZjJkICBweXRob24taGdsaWItPQoxLjYudGFyLmd6JyA+IHB5
dGhvbi1oZ2xpYi0xLjYudGFyLmd6LnNoYTUxMgorZWNobyAnMjAxNjRmN2IwNWMzMDhlMGYwODlj
MDdmYzQ2YjFjNTIyMDk0ZjNhYzEzNmYyZTBiYmE4NGYxOWNiNjNkZmQzNjE1MmE9CjI0NjVkZjcy
M2RkNGQ5M2M2ZmJkMmRlNGYwZDk0YzE2MGUyYmJjMzUzYTkyY2ZkNjgwZWIwM2NiZGM4NyAgcHl6
bXEtMTQuNS4wLj0KdGFyLmd6JyA+IHB5em1xLTE0LjUuMC50YXIuZ3ouc2hhNTEyCitlY2hvICdm
ZmY0NDEyZDg1MGM0MzFhMWI0ZTZlZTNiMTc5NThlZTVhYjNiZWI4MWU2Y2I4YThlN2Q1NmQzNjg3
NTFlYWE4NzgxZD0KN2MzZTY5ZDkzMmRjMDAyZDcxOGZkZGM2NmE3MjA5OGFjZmU3NGNmZTI5ZWM4
MGIyNGU2NzM2MzE3Mjc1ICBzY2lweS0wLjE1LjEuPQp0YXIuZ3onID4gc2NpcHktMC4xNS4xLnRh
ci5nei5zaGE1MTIKIGVjaG8gJzk2ZjNlNTFiNDY3NDE0NTBiYzZiNjM3NzljMTBlYmI0YTcwNjY4
NjBmZTU0NDM4NWQ2NGQxZWRhNTI1OTJlMzc2YTU4PQo5ZWYyODJhY2UyZTFkZjczZGY2MWMxMGVh
YjFhMGQ3OTNhYmJkYWY3NzBlNjAyODk0OTRkNGJmM2JjYjQgIHNxbGl0ZS1hdXRvY289Cm5mLTMw
NzE3MDAudGFyLmd6JyA+IHNxbGl0ZS1hdXRvY29uZi0zMDcxNzAwLnRhci5nei5zaGE1MTIKLWVj
aG8gJzhhNDZlNzVhYmMzZWQyMzg4YjVkYTljYjBlNTg3NGFlODc1ODBjZjM2MTJlMjkyMGI2NjJk
OGY4ZWVlODA0N2VmY2U1PQphYTk5OGVlZTk2NjYxZDM1NjUwNzBiMWE2YjkxNmM4YmVkNzQxMzhi
ODIxZjRlMDkxMTVmMTRiNjY3N2QgIHN5bXB5LTAuNy41LnQ9CmFyLmd6JyA+IHN5bXB5LTAuNy41
LnRhci5nei5zaGE1MTIKLWVjaG8gJ2E0ZTAyMzFlNzdlYmJjMjg4NWJhYjY0OGIyOTJiODQyY2Ix
NWM4NGQ2NmExOTcyZGUxOGNiMDBmY2M2MTFlYWUyNzk0PQpiODcyZjA3MGFiN2Q1YWYzMmRkMGM2
YzE3NzM1MjdmZTEzMzJiZDM4MmMxODIxZTFmMmQ1ZDc2ODA4ZmIgIHRvcm5hZG8tNC4wLjE9Ci50
YXIuZ3onID4gdG9ybmFkby00LjAuMS50YXIuZ3ouc2hhNTEyCi1lY2hvICc3ZDcwODU1ZDA1Mzc5
NzE4NDE4MTBhNjZiN2E5NDNhODgzMDRmNjk5MWNlNDQ1ZGYxOWVlYTAzNGFhZGM1M2RiY2U5ZD0K
MTNiZTkyYmY0NGNmZWYxZjNlMTk1MTFhNzU0ZWIwMTAwNmEzOTY4ZWRjMWVjM2QxNzY2ZWE0NzMw
Y2RhICB6ZXJvbXEtNC4wLjQuPQp0YXIuZ3onID4gemVyb21xLTQuMC40LnRhci5nei5zaGE1MTIK
K2VjaG8gJ2NlMGYxYTE3YWMwMWViNDhhZWMzMWZjMGFkNDMxZDlkN2VkOTkwN2YwZTg1ODRhNmQ3
OWQwZmZlNjg2NGZlNjJlMjAzPQpmZTNmMmEzYzNlNGUzZDQ4NTgwOTc1MGNlMDc1MDdhNjQ4OGU3
NzZhMzg4YTdhOWE3MTMxMTA4ODJmY2YgIHN5bXB5LTAuNy42LnQ9CmFyLmd6JyA+IHN5bXB5LTAu
Ny42LnRhci5nei5zaGE1MTIKK2VjaG8gJzkzNTkxMDY4ZGM2M2FmOGQ1MGE3OTI1ZDUyOGJjMGNj
Y2RkNzA1MjMyYzUyOWI2MTYyNjE5ZmUyOGRkZGFmMTE1ZThhPQo0NjBiMTg0Mjg3N2QzNTE2MGJk
N2VkNDgwYzFiZDBiZGJlYzU3ZDFmMzU5MDg1YmQxODE0ZTBjMWMyNDIgIHRvcm5hZG8tNC4wLjI9
Ci50YXIuZ3onID4gdG9ybmFkby00LjAuMi50YXIuZ3ouc2hhNTEyCitlY2hvICcwZDkyOGVkNjg4
ZWQ5NDBkNDYwZmE4ZjhkNTc0YTk4MTlkY2NjNGUwMzBkNzM1YThjN2RiNzFiNTkyODdlZTUwZmE3
ND0KMWEwODI0OWUzNTZjNzgzNTZiMDNjMjE3NGYyZjI2OTlmMDVhYTdkYzNkMzgwZWQ0N2Q4ZDdi
YWI1NDA4ICB6ZXJvbXEtNC4wLjUuPQp0YXIuZ3onID4gemVyb21xLTQuMC41LnRhci5nei5zaGE1
MTIKIGVjaG8gJ2VjZTIwOWQ0YzdlYzBjYjU4ZWRlNzkxNDQ0ZGM3NTRlMGQxMDgxMWNiYmRlYmUz
ZGY2MWMwZmQ5ZjlmOTg2N2MxYzNjPQpjZDVmMTgyN2Y4NDdjMDA1ZTI0ZWVmMzRmYjViZjg3YjVk
M2Y4OTRkNzVkYTA0ZjE3OTc1MzgyOTBlNGEgIHpsaWItMS4yLjgudGE9CnIuZ3onID4gemxpYi0x
LjIuOC50YXIuZ3ouc2hhNTEyCitlY2hvICczOGE4OWFhZDg5ZGM5YWE2ODJkYmZiY2E2MjNlMmY2
OTUxMWY1ZTIwZDRhMzUyNmMwMWFhYmJjN2U5M2FlNzhmMjBhYT0KYzU2NjY3NmI0MzFlMTExNTQw
YjQxNTQwYTFjNGY2NDRjZTQxNzRlN2VjZjA1MjMxODYxMjA3NWUwMmRjICBzZXR1cHRvb2xzLTE2
PQouMC50YXIuZ3onID4gc2V0dXB0b29scy0xNi4wLnRhci5nei5zaGE1MTIKICMgSW5kaXZpZHVh
bCBwcm9jZXNzZXMKIFsgLXogIiRIREY1X0RJUiIgXSAmJiBnZXRfeXRwcm9qZWN0ICRIREY1LnRh
ci5negogWyAkSU5TVF9aTElCIC1lcSAxIF0gJiYgZ2V0X3l0cHJvamVjdCAkWkxJQi50YXIuZ3oK
QEAgLTY1OCwxMCArNjg0LDExIEBACiBbICRJTlNUX1NDSVBZIC1lcSAxIF0gJiYgZ2V0X3l0cHJv
amVjdCAkU0NJUFkudGFyLmd6CiBbICRJTlNUX1NDSVBZIC1lcSAxIF0gJiYgZ2V0X3l0cHJvamVj
dCBibGFzLnRhci5negogWyAkSU5TVF9TQ0lQWSAtZXEgMSBdICYmIGdldF95dHByb2plY3QgJExB
UEFDSy50YXIuZ3oKLWdldF95dHByb2plY3QgJFBZVEhPTi50Z3oKK1sgJElOU1RfSEcgLWVxIDEg
XSAmJiBnZXRfeXRwcm9qZWN0ICRNRVJDVVJJQUwudGFyLmd6CitbICRJTlNUX1BZMyAtZXEgMSBd
ICYmIGdldF95dHByb2plY3QgJFBZVEhPTjMudGd6CitnZXRfeXRwcm9qZWN0ICRQWVRIT04yLnRn
egogZ2V0X3l0cHJvamVjdCAkTlVNUFkudGFyLmd6CiBnZXRfeXRwcm9qZWN0ICRNQVRQTE9UTElC
LnRhci5negotZ2V0X3l0cHJvamVjdCAkTUVSQ1VSSUFMLnRhci5negogZ2V0X3l0cHJvamVjdCAk
SVBZVEhPTi50YXIuZ3oKIGdldF95dHByb2plY3QgJEg1UFkudGFyLmd6CiBnZXRfeXRwcm9qZWN0
ICRDWVRIT04udGFyLmd6CkBAIC02NjksNiArNjk2LDcgQEAKIGdldF95dHByb2plY3QgJE5PU0Uu
dGFyLmd6CiBnZXRfeXRwcm9qZWN0ICRQWVRIT05fSEdMSUIudGFyLmd6CiBnZXRfeXRwcm9qZWN0
ICRTWU1QWS50YXIuZ3oKK2dldF95dHByb2plY3QgJFNFVFVQVE9PTFMudGFyLmd6CiBpZiBbICRJ
TlNUX0JaTElCIC1lcSAxIF0KIHRoZW4KICAgICBpZiBbICEgLWUgJEJaTElCL2RvbmUgXQpAQCAt
Nzg1LDExICs4MTMsMTEgQEAKICAgICBmaQogZmkKPTIwCi1pZiBbICEgLWUgJFBZVEhPTi9kb25l
IF0KK2lmIFsgISAtZSAkUFlUSE9OMi9kb25lIF0KIHRoZW4KLSAgICBlY2hvICJJbnN0YWxsaW5n
IFB5dGhvbi4gIFRoaXMgbWF5IHRha2UgYSB3aGlsZSwgYnV0IGRvbid0IHdvcnJ5LiAgeXQgPQps
b3ZlcyB5b3UuIgotICAgIFsgISAtZSAkUFlUSE9OIF0gJiYgdGFyIHhmeiAkUFlUSE9OLnRnegot
ICAgIGNkICRQWVRIT04KKyAgICBlY2hvICJJbnN0YWxsaW5nIFB5dGhvbiAyLiBUaGlzIG1heSB0
YWtlIGEgd2hpbGUsIGJ1dCBkb24ndCB3b3JyeS4geXQgPQpsb3ZlcyB5b3UuIgorICAgIFsgISAt
ZSAkUFlUSE9OMiBdICYmIHRhciB4ZnogJFBZVEhPTjIudGd6CisgICAgY2QgJFBZVEhPTjIKICAg
ICAoIC4vY29uZmlndXJlIC0tcHJlZml4PTNEJHtERVNUX0RJUn0vICR7UFlDT05GX0FSR1N9IDI+
JjEgKSAxPj4gJHtMT0dfPQpGSUxFfSB8fCBkb19leGl0Cj0yMAogICAgICggbWFrZSAke01BS0Vf
UFJPQ1N9IDI+JjEgKSAxPj4gJHtMT0dfRklMRX0gfHwgZG9fZXhpdApAQCAtODAwLDcgKzgyOCwz
MCBAQAogICAgIGNkIC4uCiBmaQo9MjAKLWV4cG9ydCBQWVRIT05QQVRIPTNEJHtERVNUX0RJUn0v
bGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLworaWYgWyAkSU5TVF9QWTMgLWVxIDEgXQordGhl
bgorICAgIGlmIFsgISAtZSAkUFlUSE9OMy9kb25lIF0KKyAgICB0aGVuCisgICAgICAgIGVjaG8g
Ikluc3RhbGxpbmcgUHl0aG9uIDMuIEJlY2F1c2UgdHdvIFB5dGhvbnMgYXJlIGJldHRlciB0aGFu
IG9uZT0KLiIKKyAgICAgICAgWyAhIC1lICRQWVRIT04zIF0gJiYgdGFyIHhmeiAkUFlUSE9OMy50
Z3oKKyAgICAgICAgY2QgJFBZVEhPTjMKKyAgICAgICAgKCAuL2NvbmZpZ3VyZSAtLXByZWZpeD0z
RCR7REVTVF9ESVJ9LyAke1BZQ09ORl9BUkdTfSAyPiYxICkgMT4+ICR7PQpMT0dfRklMRX0gfHwg
ZG9fZXhpdAorCisgICAgICAgICggbWFrZSAke01BS0VfUFJPQ1N9IDI+JjEgKSAxPj4gJHtMT0df
RklMRX0gfHwgZG9fZXhpdAorICAgICAgICAoIG1ha2UgaW5zdGFsbCAyPiYxICkgMT4+ICR7TE9H
X0ZJTEV9IHx8IGRvX2V4aXQKKyAgICAgICAgKCBsbiAtc2YgJHtERVNUX0RJUn0vYmluL3B5dGhv
bjMuNCAke0RFU1RfRElSfS9iaW4vcHl5dCAyPiYxICkgMT4+PQogJHtMT0dfRklMRX0KKyAgICAg
ICAgKCBsbiAtc2YgJHtERVNUX0RJUn0vYmluL3B5dGhvbjMuNCAke0RFU1RfRElSfS9iaW4vcHl0
aG9uIDI+JjEgKSAxPQo+PiAke0xPR19GSUxFfQorICAgICAgICAoIGxuIC1zZiAke0RFU1RfRElS
fS9iaW4vcHl0aG9uMy1jb25maWcgJHtERVNUX0RJUn0vYmluL3B5dGhvbi1jb249CmZpZyAyPiYx
ICkgMT4+ICR7TE9HX0ZJTEV9CisgICAgICAgICggbWFrZSBjbGVhbiAyPiYxKSAxPj4gJHtMT0df
RklMRX0gfHwgZG9fZXhpdAorICAgICAgICB0b3VjaCBkb25lCisgICAgICAgIGNkIC4uCisgICAg
ZmkKK2ZpCisKK2V4cG9ydCBQWVRIT05QQVRIPTNEJHtERVNUX0RJUn0vbGliLyR7UFlUSE9OX0VY
RUN9L3NpdGUtcGFja2FnZXMvCisKKyMgSW5zdGFsbCBzZXR1cHRvb2xzCitkb19zZXR1cF9weSAk
U0VUVVBUT09MUwo9MjAKIGlmIFsgJElOU1RfSEcgLWVxIDEgXQogdGhlbgpAQCAtODQ1LDEyICs4
OTYsMTAgQEAKPTIwCiAjIFRoaXMgZml4ZXMgcHJvYmxlbXMgd2l0aCBnZm9ydHJhbiBsaW5raW5n
LgogdW5zZXQgTERGTEFHUwotCi1lY2hvICJJbnN0YWxsaW5nIGRpc3RyaWJ1dGUiCi0oICR7REVT
VF9ESVJ9L2Jpbi9weXRob24yLjcgJHtZVF9ESVJ9L2Rpc3RyaWJ1dGVfc2V0dXAucHkgMj4mMSAp
IDE+PiAke0xPRz0KX0ZJTEV9IHx8IGRvX2V4aXQKLQorPTIwCiBlY2hvICJJbnN0YWxsaW5nIHBp
cCIKLSggJHtERVNUX0RJUn0vYmluL2Vhc3lfaW5zdGFsbC0yLjcgcGlwIDI+JjEgKSAxPj4gJHtM
T0dfRklMRX0gfHwgZG9fZXhpdAorKCAke0dFVEZJTEV9IGh0dHBzOi8vYm9vdHN0cmFwLnB5cGEu
aW8vZ2V0LXBpcC5weSAyPiYxICkgMT4+ICR7TE9HX0ZJTEV9IHw9CnwgZG9fZXhpdAorKCAke0RF
U1RfRElSfS9iaW4vJHtQWVRIT05fRVhFQ30gZ2V0LXBpcC5weSAyPiYxICkgMT4+ICR7TE9HX0ZJ
TEV9IHx8IGRvX2U9CnhpdAo9MjAKIGlmIFsgJElOU1RfU0NJUFkgLWVxIDAgXQogdGhlbgpAQCAt
OTQ2LDggKzk5NSw4IEBACiBmaQo9MjAKIGRvX3NldHVwX3B5ICRJUFlUSE9OCitkb19zZXR1cF9w
eSAkQ1lUSE9OCiBkb19zZXR1cF9weSAkSDVQWQotZG9fc2V0dXBfcHkgJENZVEhPTgogZG9fc2V0
dXBfcHkgJE5PU0UKIGRvX3NldHVwX3B5ICRQWVRIT05fSEdMSUIKIGRvX3NldHVwX3B5ICRTWU1Q
WQpAQCAtOTg0LDEzICsxMDMzLDE0IEBACj0yMAogZWNobyAiSW5zdGFsbGluZyB5dCIKIFsgJElO
U1RfUE5HIC1lcSAxIF0gJiYgZWNobyAkUE5HX0RJUiA+IHBuZy5jZmcKLSggZXhwb3J0IFBBVEg9
M0QkREVTVF9ESVIvYmluOiRQQVRIIDsgJHtERVNUX0RJUn0vYmluL3B5dGhvbjIuNyBzZXR1cC5w
eSBkPQpldmVsb3AgMj4mMSApIDE+PiAke0xPR19GSUxFfSB8fCBkb19leGl0CisoIGV4cG9ydCBQ
QVRIPTNEJERFU1RfRElSL2JpbjokUEFUSCA7ICR7REVTVF9ESVJ9L2Jpbi8ke1BZVEhPTl9FWEVD
fSBzZXR1cD0KLnB5IGRldmVsb3AgMj4mMSApIDE+PiAke0xPR19GSUxFfSB8fCBkb19leGl0CiB0
b3VjaCBkb25lCiBjZCAkTVlfUFdECj0yMAotaWYgISggKCAke0RFU1RfRElSfS9iaW4vcHl0aG9u
Mi43IC1jICJpbXBvcnQgcmVhZGxpbmUiIDI+JjEgKT4+ICR7TE9HX0ZJTEU9Cn0pCitpZiAhKCAo
ICR7REVTVF9ESVJ9L2Jpbi8ke1BZVEhPTl9FWEVDfSAtYyAiaW1wb3J0IHJlYWRsaW5lIiAyPiYx
ICk+PiAke0xPRz0KX0ZJTEV9KSB8fCBcCisJW1sgIiR7TVlPUyMjRGFyd2lufSIgIT0zRCAiJHtN
WU9TfSIgJiYgJElOU1RfUFkzIC1lcSAxIF1dPTIwCiB0aGVuCi0gICAgaWYgISggKCAke0RFU1Rf
RElSfS9iaW4vcHl0aG9uMi43IC1jICJpbXBvcnQgZ251cmVhZGxpbmUiIDI+JjEgKT4+ICR7TD0K
T0dfRklMRX0pCisgICAgaWYgISggKCAke0RFU1RfRElSfS9iaW4vJHtQWVRIT05fRVhFQ30gLWMg
ImltcG9ydCBnbnVyZWFkbGluZSIgMj4mMSApPj0KPiAke0xPR19GSUxFfSkKICAgICB0aGVuCiAg
ICAgICAgIGVjaG8gIkluc3RhbGxpbmcgcHVyZS1weXRob24gcmVhZGxpbmUiCiAgICAgICAgICgg
JHtERVNUX0RJUn0vYmluL3BpcCBpbnN0YWxsIGdudXJlYWRsaW5lIDI+JjEgKSAxPj4gJHtMT0df
RklMRX0KCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAt
ciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgZG9jL3NvdXJjZS9h
Ym91dC9pbmRleC5yc3QKLS0tIGEvZG9jL3NvdXJjZS9hYm91dC9pbmRleC5yc3QKKysrIGIvZG9j
L3NvdXJjZS9hYm91dC9pbmRleC5yc3QKQEAgLTMxLDcgKzMxLDcgQEAKIGBvdXIgbWVtYmVycyB3
ZWJzaXRlLiA8aHR0cDovL3l0LXByb2plY3Qub3JnL21lbWJlcnMuaHRtbD5gXwo9MjAKIEZvciBh
biB1cC10by1kYXRlIGxpc3Qgb2YgZXZlcnlvbmUgd2hvIGhhcyBjb250cmlidXRlZCB0byB0aGUg
eXQgY29kZWJhc2UsPTIwCi1zZWUgdGhlIGN1cnJlbnQgYENSRURJVFMgPGh0dHA6Ly9oZy55dC1w
cm9qZWN0Lm9yZy95dC9zcmMveXQvQ1JFRElUUz5gXyBmaT0KbGUuID0yMAorc2VlIHRoZSBjdXJy
ZW50IGBDUkVESVRTIDxodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9zcmMveXQv
Q1JFREk9ClRTPmBfIGZpbGUuID0yMAogRm9yIGEgbW9yZSBkZXRhaWxlZCBicmVha3VwIG9mIGNv
bnRyaWJ1dGlvbnMgbWFkZSBieSBpbmRpdmlkdWFsIHVzZXJzLCBzZWU9CiBvdXQ9MjAKIGBPcGVu
IEhVQiBwYWdlIDxodHRwczovL3d3dy5vcGVuaHViLm5ldC9wL3l0X2Ftci9jb250cmlidXRvcnM/
cXVlcnk9M0Qmc29yPQp0PTNEY29tbWl0cz5gXy4KPTIwCgpkaWZmIC1yIDk2MjA4YTUyMjY2Yzhh
N2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMDY5NzJiZTIxMTY5N2ViZjFlYzNlNWM9Cjlm
MWMyMjJjOWNjYjY5YjY1IGRvYy9zb3VyY2UvYW5hbHl6aW5nL2FuYWx5c2lzX21vZHVsZXMvaGFs
b19maW5kZXJzLnJzdAotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy9hbmFseXNpc19tb2R1bGVz
L2hhbG9fZmluZGVycy5yc3QKKysrIGIvZG9jL3NvdXJjZS9hbmFseXppbmcvYW5hbHlzaXNfbW9k
dWxlcy9oYWxvX2ZpbmRlcnMucnN0CkBAIC0xMTYsNyArMTE2LDcgQEAKICAgdGhlIHdpZHRoIG9m
IHRoZSBzbWFsbGVzdCBncmlkIGVsZW1lbnQgaW4gdGhlIHNpbXVsYXRpb24gZnJvbSB0aGUKICAg
bGFzdCBkYXRhIHNuYXBzaG90IChpLmUuIHRoZSBvbmUgd2hlcmUgdGltZSBoYXMgZXZvbHZlZCB0
aGUKICAgbG9uZ2VzdCkgaW4gdGhlIHRpbWUgc2VyaWVzOgotICBgYGRzX2xhc3QuaW5kZXguZ2V0
X3NtYWxsZXN0X2R4KCkgKiBkc19sYXN0WydtcGNoJ11gYC4KKyAgYGBkc19sYXN0LmluZGV4Lmdl
dF9zbWFsbGVzdF9keCgpICogZHNfbGFzdFsnTXBjaCddYGAuCiAqIGBgdG90YWxfcGFydGljbGVz
YGAsIGlmIHN1cHBsaWVkLCB0aGlzIGlzIGEgcHJlLWNhbGN1bGF0ZWQKICAgdG90YWwgbnVtYmVy
IG9mIGRhcmsgbWF0dGVyCiAgIHBhcnRpY2xlcyBwcmVzZW50IGluIHRoZSBzaW11bGF0aW9uLiBG
b3IgZXhhbXBsZSwgdGhpcyBpcyB1c2VmdWwKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUy
MjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5
Y2NiNjliNjUgZG9jL3NvdXJjZS9hbmFseXppbmcvYW5hbHlzaXNfbW9kdWxlcy9waG90b25fc2lt
dWxhdG9yLnJzdAotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy9hbmFseXNpc19tb2R1bGVzL3Bo
b3Rvbl9zaW11bGF0b3IucnN0CisrKyBiL2RvYy9zb3VyY2UvYW5hbHl6aW5nL2FuYWx5c2lzX21v
ZHVsZXMvcGhvdG9uX3NpbXVsYXRvci5yc3QKQEAgLTEwLDYgKzEwLDEwIEBACiBzaW11bGF0ZWQg
WC1yYXkgcGhvdG9uIGxpc3RzIG9mIGV2ZW50cyBmcm9tIGRhdGFzZXRzIHRoYXQgeXQgaXMgYWJs
ZQogdG8gcmVhZC4gVGhlIHNpbXVsYXRlZCBldmVudHMgdGhlbiBjYW4gYmUgZXhwb3J0ZWQgdG8g
WC1yYXkgdGVsZXNjb3BlCiBzaW11bGF0b3JzIHRvIHByb2R1Y2UgcmVhbGlzdGljIG9ic2VydmF0
aW9ucyBvciBjYW4gYmUgYW5hbHl6ZWQgaW4tbGluZS4KKworRm9yIGRldGFpbGVkIGluZm9ybWF0
aW9uIGFib3V0IHRoZSBkZXNpZ24gb2YgdGhlIGFsZ29yaXRobSBpbiB5dCwgY2hlY2s9MjAKK291
dCBgdGhlIFNjaVB5IDIwMTQgUHJvY2VlZGluZ3MuIDxodHRwOi8vY29uZmVyZW5jZS5zY2lweS5v
cmcvcHJvY2VlZGluZ3MvPQpzY2lweTIwMTQvenVob25lLmh0bWw+YF8uCisKIFRoZSBhbGdvcml0
aG0gaXMgYmFzZWQgb2ZmIG9mIHRoYXQgaW1wbGVtZW50ZWQgaW4KIGBQSE9YIDxodHRwOi8vd3d3
Lm1wYS1nYXJjaGluZy5tcGcuZGUvfmtkb2xhZy9QaG94Lz5gXyBmb3IgU1BIIGRhdGFzZXRzCiBi
eSBWZXJvbmljYSBCaWZmaSBhbmQgS2xhdXMgRG9sYWcuIFRoZXJlIGFyZSB0d28gcmVsZXZhbnQg
cGFwZXJzOgpAQCAtMTM5LDYgKzE0MywxMiBAQAogdGhlIG9wdGlvbmFsIGtleXdvcmQgYGB0aGVy
bWFsX2Jyb2FkYGAgaXMgc2V0IHRvIGBgVHJ1ZWBgLCB0aGUgc3BlY3RyYWwKIGxpbmVzIHdpbGwg
YmUgdGhlcm1hbGx5IGJyb2FkZW5lZC4KPTIwCisuLiBub3RlOjo9MjAKKworICAgYGBTcGVjdHJh
bE1vZGVsYGAgb2JqZWN0cyBiYXNlZCBvbiBYU1BFQyBtb2RlbHMgKGJvdGggdGhlIHRoZXJtYWw9
MjAKKyAgIGVtaXNzaW9uIGFuZCBHYWxhY3RpYyBhYnNvcnB0aW9uIG1vZGVscyBtZW50aW9uZWQg
YmVsb3cpIG9ubHkgd29yaz0yMAorICAgaW4gUHl0aG9uIDIuNywgc2luY2UgY3VycmVudGx5IFB5
WHNwZWMgb25seSB3b3JrcyB3aXRoIFB5dGhvbiAyLnguPTIwCisgID0yMAogTm93IHRoYXQgd2Ug
aGF2ZSBvdXIgYGBTcGVjdHJhbE1vZGVsYGAgdGhhdCBnaXZlcyB1cyBhIHNwZWN0cnVtLCB3ZSBu
ZWVkCiB0byBjb25uZWN0IHRoaXMgbW9kZWwgdG8gYSBgYFBob3Rvbk1vZGVsYGAgdGhhdCB3aWxs
IGNvbm5lY3QgdGhlIGZpZWxkCiBkYXRhIGluIHRoZSBgYGRhdGFfc291cmNlYGAgdG8gdGhlIHNw
ZWN0cmFsIG1vZGVsIHRvIGFjdHVhbGx5IGdlbmVyYXRlCkBAIC0xNDgsNyArMTU4LDggQEAKIC4u
IGNvZGU6OiBweXRob24KPTIwCiAgICAgdGhlcm1hbF9tb2RlbCA9M0QgVGhlcm1hbFBob3Rvbk1v
ZGVsKGFwZWNfbW9kZWwsIFhfSD0zRDAuNzUsIFptZXQ9M0QwLj0KMywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBob3RvbnNfcGVyX2NodW5rPTNEMTAwMDAwMDAwKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhvdG9uc19wZXJfY2h1bms9
M0QxMDAwMDAwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRo
b2Q9M0QiaW52ZXJ0X2NkZiIpCj0yMAogV2hlcmUgd2UgcGFzcyBpbiB0aGUgYGBTcGVjdHJhbE1v
ZGVsYGAsIGFuZCBjYW4gb3B0aW9uYWxseSBzZXQgdmFsdWVzIGZvcgogdGhlIGh5ZHJvZ2VuIG1h
c3MgZnJhY3Rpb24gYGBYX0hgYCBhbmQgbWV0YWxsaWNpdHkgYGBaX21ldGBgLiBJZgpAQCAtMTY1
LDYgKzE3NiwxOCBAQAogdGhpcyBwYXJhbWV0ZXIgbmVlZHMgdG8gYmUgc2V0IGhpZ2hlciwgb3Ig
aWYgeW91IGFyZSBsb29raW5nIHRvIGRlY3JlYXNlIG09CmVtb3J5CiB1c2FnZSwgeW91IG1pZ2h0
IHNldCB0aGlzIHBhcmFtZXRlciBsb3dlci4KPTIwCitUaGUgYGBtZXRob2RgYCBrZXl3b3JkIGFy
Z3VtZW50IGlzIGFsc28gb3B0aW9uYWwsIGFuZCBkZXRlcm1pbmVzIGhvdyB0aGUgaT0KbmRpdmlk
dWFsCitwaG90b24gZW5lcmdpZXMgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZSBzcGVjdHJ1bS4gSXQg
bWF5IGJlIHNldCB0byBvbmUgb2YgdD0Kd28gdmFsdWVzOgorCisqIGBgbWV0aG9kPTNEImludmVy
dF9jZGYiYGA6IENvbnN0cnVjdCB0aGUgY3VtdWxhdGl2ZSBkaXN0cmlidXRpb24gZnVuY3Rpbz0K
biBvZiB0aGUgc3BlY3RydW0gYW5kIGludmVydAorICBpdCwgdXNpbmcgdW5pZm9ybWx5IGRyYXdu
IHJhbmRvbSBudW1iZXJzIHRvIGRldGVybWluZSB0aGUgcGhvdG9uIGVuZXJnaWU9CnMgKGZhc3Qs
IGJ1dCByZWxpZXMKKyAgb24gY29uc3RydWN0aW9uIG9mIHRoZSBDREYgYW5kIGludGVycG9sYXRp
b24gYmV0d2VlbiB0aGUgcG9pbnRzLCBzbyBmb3IgPQpzb21lIHNwZWN0cmEgaXQKKyAgbWF5IG5v
dCBiZSBhY2N1cmF0ZSBlbm91Z2gpLj0yMAorKiBgYG1ldGhvZD0zRCJhY2NlcHRfcmVqZWN0ImBg
OiBHZW5lcmF0ZSB0aGUgcGhvdG9uIGVuZXJnaWVzIGZyb20gdGhlIHNwZWM9CnRydW0gdXNpbmcg
YW4gYWNjZXB0YW5jZS1yZWplY3Rpb24KKyAgdGVjaG5pcXVlIChhY2N1cmF0ZSwgYnV0IGxpa2Vs
eSB0byBiZSBzbG93KS49MjAKKworYGBtZXRob2Q9M0QiaW52ZXJ0X2NkZiJgYCAodGhlIGRlZmF1
bHQpIHNob3VsZCBiZSBzdWZmaWNpZW50IGZvciBtb3N0IGNhc2U9CnMuPTIwCisKIE5leHQsIHdl
IG5lZWQgdG8gc3BlY2lmeSAiZmlkdWNpYWwiIHZhbHVlcyBmb3IgdGhlIHRlbGVzY29wZSBjb2xs
ZWN0aW5nCiBhcmVhLCBleHBvc3VyZSB0aW1lLCBhbmQgY29zbW9sb2dpY2FsIHJlZHNoaWZ0LiBS
ZW1lbWJlciwgdGhlIGluaXRpYWwKIHBob3RvbiBnZW5lcmF0aW9uIHdpbGwgYWN0IGFzIGEgc291
cmNlIGZvciBNb250ZS1DYXJsbyBzYW1wbGluZyBmb3IgbW9yZQpAQCAtMTkxLDEyICsyMTQsMjkg
QEAKIEJ5IGRlZmF1bHQsIHRoZSBhbmd1bGFyIGRpYW1ldGVyIGRpc3RhbmNlIHRvIHRoZSBvYmpl
Y3QgaXMgZGV0ZXJtaW5lZAogZnJvbSB0aGUgYGBjb3Ntb2xvZ3lgYCBhbmQgdGhlIGNvc21vbG9n
aWNhbCBgYHJlZHNoaWZ0YGAuIElmIGEKIGBgQ29zbW9sb2d5YGAgaW5zdGFuY2UgaXMgbm90IHBy
b3ZpZGVkLCBvbmUgd2lsbCBiZSBtYWRlIGZyb20gdGhlCi1kZWZhdWx0IGNvc21vbG9naWNhbCBw
YXJhbWV0ZXJzLiBJZiB5b3VyIHNvdXJjZSBpcyBsb2NhbCB0byB0aGUgZ2FsYXh5LAoteW91IGNh
biBzZXQgaXRzIGRpc3RhbmNlIGRpcmVjdGx5LCB1c2luZyBhIHR1cGxlLCBlLmcuCi1gYGRpc3Q9
M0QoMzAsICJrcGMiKWBgLiBJbiB0aGlzIGNhc2UsIHRoZSBgYHJlZHNoaWZ0YGAgYW5kIGBgY29z
bW9sb2d5YGAKLXdpbGwgYmUgaWdub3JlZC4gRmluYWxseSwgaWYgdGhlIHBob3RvbiBnZW5lcmF0
aW5nIGZ1bmN0aW9uIGFjY2VwdHMgYW55Ci1wYXJhbWV0ZXJzLCB0aGV5IGNhbiBiZSBwYXNzZWQg
dG8gYGBmcm9tX3NjcmF0Y2hgYCB2aWEgYSBgYHBhcmFtZXRlcnNgYAotZGljdGlvbmFyeS4KK2Rl
ZmF1bHQgY29zbW9sb2dpY2FsIHBhcmFtZXRlcnMuIFRoZSBgYGNlbnRlcmBgIGtleXdvcmQgYXJn
dW1lbnQgc3BlY2lmaWVzCit0aGUgY2VudGVyIG9mIHRoZSBwaG90b24gZGlzdHJpYnV0aW9uLCBh
bmQgdGhlIHBob3RvbiBwb3NpdGlvbnMgd2lsbCBiZT0yMAorcmVzY2FsZWQgd2l0aCB0aGlzIHZh
bHVlIGFzIHRoZSBvcmlnaW4uIFRoaXMgYXJndW1lbnQgYWNjZXB0cyB0aGUgZm9sbG93aW5nCit2
YWx1ZXM6CisKKyogQSBOdW1QeSBhcnJheSBvciBsaXN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNv
b3JkaW5hdGVzIG9mIHRoZSBjZW50ZXIgaW4KKyAgdW5pdHMgb2YgY29kZSBsZW5ndGguPTIwCisq
IEEgYGBZVEFycmF5YGAgY29ycmVzcG9uZGluZyB0byB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGNl
bnRlciBpbiBzb21lCisgIGxlbmd0aCB1bml0cy49MjAKKyogYGAiY2VudGVyImBgIG9yIGBgImMi
YGAgY29ycmVzcG9uZHMgdG8gdGhlIGRvbWFpbiBjZW50ZXIuPTIwCisqIGBgIm1heCJgYCBvciBg
YCJtImBgIGNvcnJlc3BvbmRzIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgbWF4aW11bSBnYXMgZGVu
cz0KaXR5Lj0yMAorKiBBIHR3by1lbGVtZW50IHR1cGxlIHNwZWNpZnlpbmcgdGhlIG1heCBvciBt
aW4gb2YgYSBzcGVjaWZpYyBmaWVsZCwgZS5nLiwKKyAgYGAoIm1pbiIsImdyYXZpdGF0aW9uYWxf
cG90ZW50aWFsIilgYCwgYGAoIm1heCIsImRhcmtfbWF0dGVyX2RlbnNpdHkiKWBgCisKK0lmIGBg
Y2VudGVyYGAgaXMgbm90IHNwZWNpZmllZCwgYGBmcm9tX3NjcmF0Y2hgYCB3aWxsIGF0dGVtcHQg
dG8gdXNlIHRoZT0yMAorYGAiY2VudGVyImBgIGZpZWxkIHBhcmFtZXRlciBvZiB0aGUgYGBkYXRh
X3NvdXJjZWBgLj0yMAorCitgYGZyb21fc2NyYXRjaGBgIHRha2VzIGEgZmV3IG90aGVyIG9wdGlv
bmFsIGtleXdvcmQgYXJndW1lbnRzLiBJZiB5b3VyPTIwCitzb3VyY2UgaXMgbG9jYWwgdG8gdGhl
IGdhbGF4eSwgeW91IGNhbiBzZXQgaXRzIGRpc3RhbmNlIGRpcmVjdGx5LCB1c2luZz0yMAorYSB0
dXBsZSwgZS5nLiBgYGRpc3Q9M0QoMzAsICJrcGMiKWBgLiBJbiB0aGlzIGNhc2UsIHRoZSBgYHJl
ZHNoaWZ0YGAgYW5kPTIwCitgYGNvc21vbG9neWBgIHdpbGwgYmUgaWdub3JlZC4gRmluYWxseSwg
aWYgdGhlIHBob3RvbiBnZW5lcmF0aW5nPTIwCitmdW5jdGlvbiBhY2NlcHRzIGFueSBwYXJhbWV0
ZXJzLCB0aGV5IGNhbiBiZSBwYXNzZWQgdG8gYGBmcm9tX3NjcmF0Y2hgYD0yMAordmlhIGEgYGBw
YXJhbWV0ZXJzYGAgZGljdGlvbmFyeS4KPTIwCiBBdCB0aGlzIHBvaW50LCB0aGUgYGBwaG90b25z
YGAgYXJlIGRpc3RyaWJ1dGVkIGluIHRoZSB0aHJlZS1kaW1lbnNpb25hbAogc3BhY2Ugb2YgdGhl
IGBgZGF0YV9zb3VyY2VgYCwgd2l0aCBlbmVyZ2llcyBpbiB0aGUgcmVzdCBmcmFtZSBvZiB0aGUK
QEAgLTI2NSw3ICszMDUsNyBAQAogICAgIGFic19tb2RlbCA9M0QgVGFibGVBYnNvcmJNb2RlbCgi
dGJhYnNfdGFibGUuaDUiLCAwLjEpCj0yMAogTm93IHdlJ3JlIHJlYWR5IHRvIHByb2plY3QgdGhl
IHBob3RvbnMuIEZpcnN0LCB3ZSBjaG9vc2UgYSBsaW5lLW9mLXNpZ2h0Ci12ZWN0b3IgYGBMYGAu
IFNlY29uZCwgd2UnbGwgYWRqdXN0IHRoZSBleHBvc3VyZSB0aW1lIGFuZCB0aGUgcmVkc2hpZnQu
Cit2ZWN0b3IgYGBub3JtYWxgYC4gU2Vjb25kLCB3ZSdsbCBhZGp1c3QgdGhlIGV4cG9zdXJlIHRp
bWUgYW5kIHRoZSByZWRzaGlmdC4KIFRoaXJkLCB3ZSdsbCBwYXNzIGluIHRoZSBhYnNvcnB0aW9u
IGBgU3BlY3RydW1Nb2RlbGBgLiBGb3VydGgsIHdlJ2xsCiBzcGVjaWZ5IGEgYGBza3lfY2VudGVy
YGAgaW4gUkEsREVDIG9uIHRoZSBza3kgaW4gZGVncmVlcy4KPTIwCkBAIC0yNzQsMjYgKzMxNCw0
MCBAQAogY291cnNlIGZhciBzaG9ydCBvZiBhIGZ1bGwgc2ltdWxhdGlvbiBvZiBhIHRlbGVzY29w
ZSByYXktdHJhY2UsIGJ1dCBpdCdzCiBhIHF1aWNrLWFuZC1kaXJ0eSB3YXkgdG8gZ2V0IHNvbWV0
aGluZyBjbG9zZSB0byB0aGUgcmVhbCB0aGluZy4gV2UnbGwKIGRpc2N1c3MgaG93IHRvIGdldCB5
b3VyIHNpbXVsYXRlZCBldmVudHMgaW50byBhIGZvcm1hdCBzdWl0YWJsZSBmb3IKLXJlYWRpbmcg
YnkgdGVsZXNjb3BlIHNpbXVsYXRpb24gY29kZXMgbGF0ZXIuCityZWFkaW5nIGJ5IHRlbGVzY29w
ZSBzaW11bGF0aW9uIGNvZGVzIGxhdGVyLiBJZiB5b3UganVzdCB3YW50IHRvIGNvbnZvbHZlPTIw
Cit0aGUgcGhvdG9ucyB3aXRoIGFuIEFSRiwgeW91IG1heSBzcGVjaWZ5IHRoYXQgYXMgdGhlIG9u
bHkgcmVzcG9uc2UsIGJ1dCBzbz0KbWUKK0FSRnMgYXJlIHVubm9ybWFsaXplZCBhbmQgc3RpbGwg
cmVxdWlyZSB0aGUgUk1GIGZvciBub3JtYWxpemF0aW9uLiBDaGVjayB3PQppdGgKK3RoZSBkb2N1
bWVudGF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSBmaWxlcyBmb3IgZGV0YWlscy4gSWYgd2Ug
YXJlIHVzaW5nPQogdGhlCitSTUYgdG8gY29udm9sdmUgZW5lcmdpZXMsIHdlIG11c3Qgc2V0IGBg
Y29udm9sdmVfZW5lcmdpZXM9M0RUcnVlYGAuPTIwCj0yMAogLi4gY29kZTo6IHB5dGhvbgo9MjAK
ICAgICBBUkYgPTNEICJjaGFuZHJhX0FDSVMtUzNfb25heGlzX2FyZi5maXRzIgogICAgIFJNRiA9
M0QgImNoYW5kcmFfQUNJUy1TM19vbmF4aXNfcm1mLmZpdHMiCi0gICAgTCA9M0QgWzAuMCwwLjAs
MS4wXQotICAgIGV2ZW50cyA9M0QgcGhvdG9ucy5wcm9qZWN0X3Bob3RvbnMoTCwgZXhwX3RpbWVf
bmV3PTNEMi4wZTUsIHJlZHNoaWZ0X249CmV3PTNEMC4wNywgYWJzb3JiX21vZGVsPTNEYWJzX21v
ZGVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNreV9jZW50ZXI9M0Qo
MTg3LjUsMTIuMzMzKSwgcmVzcG9uc2U9CnM9M0RbQVJGLFJNRl0pCisgICAgbm9ybWFsID0zRCBb
MC4wLDAuMCwxLjBdCisgICAgZXZlbnRzID0zRCBwaG90b25zLnByb2plY3RfcGhvdG9ucyhub3Jt
YWwsIGV4cF90aW1lX25ldz0zRDIuMGU1LCByZWRzaD0KaWZ0X25ldz0zRDAuMDcsIGRpc3RfbmV3
PTNETm9uZSw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNvcmJf
bW9kZWw9M0RhYnNfbW9kZWwsIHNreV9jZW50ZXI9Cj0zRCgxODcuNSwxMi4zMzMpLCByZXNwb25z
ZXM9M0RbQVJGLFJNRl0sPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udm9sdmVfZW5lcmdpZXM9M0RUcnVlLCBub19zaGlmdGluZz0KPTNERmFsc2UsIG5vcnRoX3Zl
Y3Rvcj0zRE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNmX3Np
Z21hPTNETm9uZSkKPTIwCi1BbHNvLCB0aGUgb3B0aW9uYWwga2V5d29yZCBgYHBzZl9zaWdtYWBg
IHNwZWNpZmllcyBhIEdhdXNzaWFuIHN0YW5kYXJkCi1kZXZpYXRpb24gdG8gc2NhdHRlciB0aGUg
cGhvdG9uIHNreSBwb3NpdGlvbnMgYXJvdW5kIHdpdGgsIHByb3ZpZGluZyBhCi1jcnVkZSByZXBy
ZXNlbnRhdGlvbiBvZiBhIFBTRi4KK0luIHRoaXMgY2FzZSwgd2UgY2hvc2UgYSB0aHJlZS12ZWN0
b3IgYGBub3JtYWxgYCB0byBzcGVjaWZ5IGFuIGFyYml0cmFyeT0yMAorbGluZS1vZi1zaWdodCwg
YnV0IGBgIngiYGAsIGBgInkiYGAsIG9yIGBgInoiYGAgY291bGQgYWxzbyBiZSBjaG9zZW4gdG89
MjAKK3Byb2plY3QgYWxvbmcgb25lIG9mIHRob3NlIGF4ZXMuPTIwCj0yMAotLi4gd2FybmluZzo6
CitgYHByb2plY3RfcGhvdG9uc2BgIHRha2VzIHNldmVyYWwgb3RoZXIgb3B0aW9uYWwga2V5d29y
ZCBhcmd1bWVudHMuPTIwCj0yMAotICAgVGhlIGJpbm5lZCBpbWFnZXMgdGhhdCByZXN1bHQsIGV2
ZW4gaWYgeW91IGNvbnZvbHZlIHdpdGggcmVzcG9uc2VzLAotICAgYXJlIHN0aWxsIG9mIHRoZSBz
YW1lIHJlc29sdXRpb24gYXMgdGhlIGZpbmVzdCBjZWxsIHNpemUgb2YgdGhlCi0gICBzaW11bGF0
aW9uIGRhdGFzZXQuIElmIHlvdSB3YW50IGEgbW9yZSBhY2N1cmF0ZSBzaW11bGF0aW9uIG9mIGEK
LSAgIHBhcnRpY3VsYXIgWC1yYXkgdGVsZXNjb3BlLCB5b3Ugc2hvdWxkIGNoZWNrIG91dCBgU3Rv
cmluZyBldmVudHMgZm9yIGZ1PQp0dXJlIHVzZSBhbmQgZm9yIHJlYWRpbmctaW4gYnkgdGVsZXNj
b3BlIHNpbXVsYXRvcnNgXy4KKyogYGBub19zaGlmdGluZ2BgIChkZWZhdWx0IGBgRmFsc2VgYCkg
Y29udHJvbHMgd2hldGhlciBvciBub3QgRG9wcGxlcj0yMAorICBzaGlmdGluZyBvZiBwaG90b24g
ZW5lcmdpZXMgaXMgdHVybmVkIG9uLj0yMAorKiBgYGRpc3RfbmV3YGAgaXMgYSAodmFsdWUsIHVu
aXQpIHR1cGxlIHRoYXQgaXMgdXNlZCB0byBzZXQgYSBuZXcKKyAgYW5ndWxhciBkaWFtZXRlciBk
aXN0YW5jZSBieSBoYW5kIGluc3RlYWQgb2YgaGF2aW5nIGl0IGRldGVybWluZWQKKyAgYnkgdGhl
IGNvc21vbG9neSBhbmQgdGhlIHZhbHVlIG9mIHRoZSByZWRzaGlmdC4gU2hvdWxkIG9ubHkgYmUg
dXNlZAorICBmb3Igc2ltdWxhdGlvbnMgb2YgbmVhcmJ5IG9iamVjdHMuPTIwCisqIEZvciBvZmYt
YXhpcyBgYG5vcm1hbGBgIHZlY3RvcnMsICB0aGUgYGBub3J0aF92ZWN0b3JgYCBhcmd1bWVudCBj
YW49MjAKKyAgYmUgdXNlZCB0byBjb250cm9sIHdoYXQgdmVjdG9yIGNvcnJlc3BvbmRzIHRvIHRo
ZSAidXAiIGRpcmVjdGlvbiBpbj0yMAorICB0aGUgcmVzdWx0aW5nIGV2ZW50IGxpc3QuPTIwCisq
IGBgcHNmX3NpZ21hYGAgbWF5IGJlIHNwZWNpZmllZCB0byBwcm92aWRlIGEgY3J1ZGUgcmVwcmVz
ZW50YXRpb24gb2Y9MjAKKyAgYSBQU0YsIGFuZCBjb3JyZXNwb25kcyB0byB0aGUgc3RhbmRhcmQg
ZGV2aWF0aW9uIChpbiBkZWdyZXNzKSBvZiBhPTIwCisgIEdhdXNzaWFuIFBTRiBtb2RlbC49MjAK
PTIwCiBMZXQncyBqdXN0IHRha2UgYSBxdWljayBsb29rIGF0IHRoZSByYXcgZXZlbnRzIG9iamVj
dDoKPTIwCkBAIC0zNDMsMTkgKzM5NywyNyBAQAo9MjAKIFdoaWNoIGlzIHN0YXJ0aW5nIHRvIGxv
b2sgbGlrZSBhIHJlYWwgb2JzZXJ2YXRpb24hCj0yMAorLi4gd2FybmluZzo6CisKKyAgIFRoZSBi
aW5uZWQgaW1hZ2VzIHRoYXQgcmVzdWx0LCBldmVuIGlmIHlvdSBjb252b2x2ZSB3aXRoIHJlc3Bv
bnNlcywKKyAgIGFyZSBzdGlsbCBvZiB0aGUgc2FtZSByZXNvbHV0aW9uIGFzIHRoZSBmaW5lc3Qg
Y2VsbCBzaXplIG9mIHRoZQorICAgc2ltdWxhdGlvbiBkYXRhc2V0LiBJZiB5b3Ugd2FudCBhIG1v
cmUgYWNjdXJhdGUgc2ltdWxhdGlvbiBvZiBhCisgICBwYXJ0aWN1bGFyIFgtcmF5IHRlbGVzY29w
ZSwgeW91IHNob3VsZCBjaGVjayBvdXQgYFN0b3JpbmcgZXZlbnRzIGZvciBmdT0KdHVyZSB1c2Ug
YW5kIGZvciByZWFkaW5nLWluIGJ5IHRlbGVzY29wZSBzaW11bGF0b3JzYF8uCisKIFdlIGNhbiBh
bHNvIGJpbiB1cCB0aGUgc3BlY3RydW0gaW50byBlbmVyZ3kgYmlucywgYW5kIHdyaXRlIGl0IHRv
IGEgRklUUwogdGFibGUgZmlsZS4gVGhpcyBpcyBhbiBleGFtcGxlIHdoZXJlIHdlJ3ZlIGJpbm5l
ZCB1cCB0aGUgc3BlY3RydW0KIGFjY29yZGluZyB0byB0aGUgdW5jb252b2x2ZWQgcGhvdG9uIGVu
ZXJneToKPTIwCiAuLiBjb2RlOjogcHl0aG9uCj0yMAotICAgIGV2ZW50cy53cml0ZV9zcGVjdHJ1
bSgidmlyZ29fc3BlYy5maXRzIiwgZW5lcmd5X2JpbnM9M0RUcnVlLCBlbWluPTNEMC49CjEsIGVt
YXg9M0QxMC4wLCBuY2hhbj0zRDIwMDAsIGNsb2JiZXI9M0RUcnVlKQorICAgIGV2ZW50cy53cml0
ZV9zcGVjdHJ1bSgidmlyZ29fc3BlYy5maXRzIiwgYmluX3R5cGU9M0QiZW5lcmd5IiwgZW1pbj0z
RDA9Ci4xLCBlbWF4PTNEMTAuMCwgbmNoYW49M0QyMDAwLCBjbG9iYmVyPTNEVHJ1ZSkKPTIwCi1J
ZiB3ZSBkb24ndCBzZXQgYGBlbmVyZ3lfYmlucz0zRFRydWVgYCwgYW5kIHdlIGhhdmUgY29udm9s
dmVkIG91ciBldmVudHMKK1dlIGNhbiBhbHNvIHNldCBgYGJpbl90eXBlPTNEImNoYW5uZWwiYGAu
IElmIHdlIGhhdmUgY29udm9sdmVkIG91ciBldmVudHMKIHdpdGggcmVzcG9uc2UgZmlsZXMsIHRo
ZW4gYW55IG90aGVyIGtleXdvcmRzIHdpbGwgYmUgaWdub3JlZCBhbmQgaXQgd2lsbAogdHJ5IHRv
IG1ha2UgYSBzcGVjdHJ1bSBmcm9tIHRoZSBjaGFubmVsIGluZm9ybWF0aW9uIHRoYXQgaXMgY29u
dGFpbmVkCi13aXRoaW4gdGhlIFJNRiwgc3VpdGFibGUgZm9yIGFuYWx5emluZyBpbiBYU1BFQy4g
Rm9yIG5vdywgd2UnbGwgc3RpY2sKLXdpdGggdGhlIGVuZXJneSBzcGVjdHJ1bSwgYW5kIHBsb3Qg
aXQgdXA6Cit3aXRoaW4gdGhlIFJNRi4gT3RoZXJ3aXNlLCB0aGUgY2hhbm5lbHMgd2lsbCBiZSBk
ZXRlcm1pbmVkIGZyb20gdGhlIGBgZW1pbj0KYGAsPTIwCitgYGVtYXhgYCwgYW5kIGBgbmNoYW5g
YCBrZXl3b3JkcywgYW5kIHdpbGwgYmUgbnVtYmVyZWQgZnJvbSAxIHRvIGBgbmNoYW5gYD0KLj0y
MAorRm9yIG5vdywgd2UnbGwgc3RpY2sgd2l0aCB0aGUgZW5lcmd5IHNwZWN0cnVtLCBhbmQgcGxv
dCBpdCB1cDoKPTIwCiAuLiBjb2RlOjogcHl0aG9uCj0yMAoKZGlmZiAtciA5NjIwOGE1MjI2NmM4
YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdlYmYxZWMzZTVjPQo5
ZjFjMjIyYzljY2I2OWI2NSBkb2Mvc291cmNlL2FuYWx5emluZy9maWVsZHMucnN0Ci0tLSBhL2Rv
Yy9zb3VyY2UvYW5hbHl6aW5nL2ZpZWxkcy5yc3QKKysrIGIvZG9jL3NvdXJjZS9hbmFseXppbmcv
ZmllbGRzLnJzdApAQCAtMjcxLDYgKzI3MSwyOSBAQAo9MjAKIEZvciBhIHByYWN0aWNhbCBhcHBs
aWNhdGlvbiBvZiB0aGlzLCBzZWUgOnJlZjpgY29va2Jvb2stcmFkaWFsLXZlbG9jaXR5YC4KPTIw
CitHcmFkaWVudCBGaWVsZHMKKy0tLS0tLS0tLS0tLS0tLQorCit5dCBwcm92aWRlcyBhIHdheSB0
byBjb21wdXRlIGdyYWRpZW50cyBvZiBzcGF0aWFsIGZpZWxkcyB1c2luZyB0aGUKKzptZXRoOmB+
eXQuZnJvbnRlbmRzLmZsYXNoLmRhdGFfc3RydWN0dXJlcy5GTEFTSERhdGFzZXQuYWRkX2dyYWRp
ZW50X2ZpZWxkPQpzYD0yMAorbWV0aG9kLiBJZiB5b3UgaGF2ZSBhIHNwYXRpYWxseS1iYXNlZCBm
aWVsZCBzdWNoIGFzIGRlbnNpdHkgb3IgdGVtcGVyYXR1cmU9Ciw9MjAKK2FuZCB3YW50IHRvIGNh
bGN1bGF0ZSB0aGUgZ3JhZGllbnQgb2YgdGhhdCBmaWVsZCwgeW91IGNhbiBkbyBpdCBsaWtlIHNv
OgorCisuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisKKyAgICBkcyA9M0QgeXQubG9hZCgiR2FzU2xv
c2hpbmcvc2xvc2hpbmdfbm9tYWcyX2hkZjVfcGx0X2NudF8wMTUwIikKKyAgICBncmFkX2ZpZWxk
cyA9M0QgZHMuYWRkX2dyYWRpZW50X2ZpZWxkcygoImdhcyIsInRlbXBlcmF0dXJlIikpCisKK3do
ZXJlIHRoZSBgYGdyYWRfZmllbGRzYGAgbGlzdCB3aWxsIG5vdyBoYXZlIGEgbGlzdCBvZiBuZXcg
ZmllbGQgbmFtZXMgdGhhPQp0IGNhbiBiZSB1c2VkCitpbiBjYWxjdWxhdGlvbnMsIHJlcHJlc2Vu
dGluZyB0aGUgMyBkaWZmZXJlbnQgY29tcG9uZW50cyBvZiB0aGUgZmllbGQgYW5kID0KdGhlIG1h
Z25pdHVkZQorb2YgdGhlIGdyYWRpZW50LCBlLmcuLCBgYCJ0ZW1wZXJhdHVyZV9ncmFkaWVudF94
ImBgLCBgYCJ0ZW1wZXJhdHVyZV9ncmFkaWU9Cm50X3kiYGAsCitgYCJ0ZW1wZXJhdHVyZV9ncmFk
aWVudF96ImBgLCBhbmQgYGAidGVtcGVyYXR1cmVfZ3JhZGllbnRfbWFnbml0dWRlImBgLiBUbz0K
IHNlZSBhbiBleGFtcGxlCitvZiBob3cgdG8gY3JlYXRlIGFuZCB1c2UgdGhlc2UgZmllbGRzLCBz
ZWUgOnJlZjpgY29va2Jvb2stY29tcGxpY2F0ZWQtZGVyaT0KdmVkLWZpZWxkc2AuCisKKy4uIG5v
dGU6OgorCisgICAgYGBhZGRfZ3JhZGllbnRfZmllbGRzYGAgY3VycmVudGx5IG9ubHkgc3VwcG9y
dHMgQ2FydGVzaWFuIGdlb21ldHJpZXMhCisKIEdlbmVyYWwgUGFydGljbGUgRmllbGRzCiAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQo9MjAKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5
ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2Ni
NjliNjUgZG9jL3NvdXJjZS9hbmFseXppbmcvZmlsdGVyaW5nLnJzdAotLS0gYS9kb2Mvc291cmNl
L2FuYWx5emluZy9maWx0ZXJpbmcucnN0CisrKyBiL2RvYy9zb3VyY2UvYW5hbHl6aW5nL2ZpbHRl
cmluZy5yc3QKQEAgLTk5LDMwICs5OSwzNSBAQAogbWFzayBvdXQgZXZlcnl0aGluZyBleGNlcHQg
dGhlIHBhcnRpY2xlcyB3aXRoIHdoaWNoIHlvdSBhcmUgY29uY2VybmVkLgo9MjAKIENyZWF0aW5n
IGEgcGFydGljbGUgZmlsdGVyIHRha2VzIGEgZmV3IHN0ZXBzLiAgWW91IG11c3QgZmlyc3QgZGVm
aW5lIGE9MjAKLWZ1bmN0aW9uIHdoaWNoIGFjY2VwdHMgYSBnZW9tZXRyaWMgb2JqZWN0IChlLmcu
IGFsbF9kYXRhLCBzcGhlcmUsIGV0Yy4pCitmdW5jdGlvbiB3aGljaCBhY2NlcHRzIGEgZGF0YSBv
YmplY3QgKGUuZy4gYWxsX2RhdGEsIHNwaGVyZSwgZXRjLikKIGFzIGl0cyBhcmd1bWVudC4gIEl0
IHVzZXMgdGhlIGZpZWxkcyBhbmQgaW5mb3JtYXRpb24gaW4gdGhpcyBnZW9tZXRyaWMKLW9iamVj
dCBpbiBvcmRlciB0byBwcm9kdWNlIHNvbWUgc29ydCBvZiBjb25kaXRpb25hbCBtYXNrIHRoYXQg
aXMgdGhlbiByZXR1PQpybmVkLgotSGVyZSBpcyB0aGUgZnVuY3Rpb24gdG8gZmlsdGVyIG9ubHkg
dGhlIHBhcnRpY2xlcyB3aXRoIGBwYXJ0aWNsZV90eXBlYCAoaS49CmUuPTIwCi1maWVsZCA9M0Qg
YCgnYWxsJywgJ3BhcnRpY2xlX3R5cGUnKWAgZXF1YWwgdG8gMi4gKFRoaXMgaXMgdGhlIGNhc2Ug
d2l0aAotRW56byBzdGFyIHBhcnRpY2xlcy4pCitvYmplY3QgaW4gb3JkZXIgdG8gcHJvZHVjZSBz
b21lIHNvcnQgb2YgY29uZGl0aW9uYWwgbWFzayB0aGF0IGlzIHRoZW4gcmV0dT0Kcm5lZAordG8g
Y3JlYXRlIGEgbmV3IHBhcnRpY2xlIHR5cGUuCisKK0hlcmUgaXMgYSBwYXJ0aWNsZSBmaWx0ZXIg
dG8gY3JlYXRlIGEgbmV3IGBgc3RhcmBgIHBhcnRpY2xlIHR5cGUuICBGb3IgRW56bworc2ltdWxh
dGlvbnMsIHN0YXJzIGhhdmUgYGBwYXJ0aWNsZV90eXBlYGAgc2V0IHRvIDIsIHNvIG91ciBmaWx0
ZXIgd2lsbCBzZWw9CmVjdAorb25seSB0aGUgcGFydGljbGVzIHdpdGggYGBwYXJ0aWNsZV90eXBl
YGAgKGkuZS4gIGZpZWxkID0zRCBgYCgnYWxsJywKKydwYXJ0aWNsZV90eXBlJylgYCBlcXVhbCB0
byAyLgo9MjAKIC4uIGNvZGUtYmxvY2s6OiBweXRob24KPTIwCi0gICAgZGVmIFN0YXJzKHBmaWx0
ZXIsIGRhdGEpOgotICAgICAgICBmaWx0ZXIgPTNEIGRhdGFbKCJhbGwiLCAicGFydGljbGVfdHlw
ZSIpXSA9M0Q9M0QgMgorICAgIEB5dC5wYXJ0aWNsZV9maWx0ZXIocmVxdWlyZXM9M0RbInBhcnRp
Y2xlX3R5cGVdLCBmaWx0ZXJlZF90eXBlPTNEJ2FsbCcpCisgICAgZGVmIHN0YXJzKHBmaWx0ZXIs
IGRhdGEpOgorICAgICAgICBmaWx0ZXIgPTNEIGRhdGFbKHBmaWx0ZXIuZmlsdGVyZWRfdHlwZSwg
InBhcnRpY2xlX3R5cGUiKV0gPTNEPTNEIDIKICAgICAgICAgcmV0dXJuIGZpbHRlcgo9MjAKLVRo
ZSBwYXJ0aWNsZV9maWx0ZXIgbXVzdCBub3cgYmUgZGVmaW5lZCB0byBpbmNvcnBvcmF0ZSB0aGlz
IGZ1bmN0aW9uLiAgSXQgPQp0YWtlcwotYSBmZXcgYXJndW1lbnRzOiBhIG5hbWUgZm9yIHRoZSBm
aWx0ZXIsIG91ciBmaWx0ZXIgZnVuY3Rpb24sIGFuZCB0aGUgZmllbGRzCi10aGF0IGl0IHJlcXVp
cmVzIGluIGEgZGF0YXNldCBpbiBvcmRlciB0byB3b3JrIChpbiB0aGlzIGNhc2UsIGl0IHJlcXVp
cmVzCi10aGUgKCdhbGwnLCAncGFydGljbGVfdHlwZScpIGZpZWxkLgorVGhlIDpmdW5jOmB+eXQu
ZGF0YV9vYmplY3RzLnBhcnRpY2xlX2ZpbHRlcnMucGFydGljbGVfZmlsdGVyYCBkZWNvcmF0b3Ig
dGE9CmtlcyBhCitmZXcgb3B0aW9ucy4gIFlvdSBtdXN0IHNwZWNpZnkgdGhlIG5hbWVzIG9mIHRo
ZSBwYXJ0aWNsZSBmaWVsZHMgdGhhdCBhcmUKK3JlcXVpcmVkIGluIG9yZGVyIHRvIGRlZmluZSB0
aGUgZmlsdGVyIC0tLSBpbiB0aGlzIGNhc2UgdGhlIGBgcGFydGljbGVfdHlwPQplYGAKK2ZpZWxk
LiAgQWRkaXRpb25hbGx5LCB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBwYXJ0aWNsZSB0eXBlIHRvIGJl
IGZpbHRlcmVkIC0tPQotIGluCit0aGlzIGNhc2Ugd2UgZmlsdGVyIGFsbCB0aGUgcGFydGljbGUg
aW4gZGF0YXNldCBieSBzcGVjaWZ5aW5nIHRoZSBgYGFsbGBgCitwYXJ0aWNsZSB0eXBlLgo9MjAK
LS4uIGNvZGUtYmxvY2s6OiBweXRob24KK0luIGFkZGl0aW9uLCB5b3UgbWF5IHNwZWNpZnkgYSBu
YW1lIGZvciB0aGUgbmV3bHkgZGVmaW5lZCBwYXJ0aWNsZSB0eXBlLiAgPQpJZiBubworbmFtZSBp
cyBzcGVjaWZpZWQsIHRoZSBuYW1lIGZvciB0aGUgcGFydGljbGUgdHlwZSB3aWxsIGJlIGluZmVy
cmVkIGZyb20gdGg9CmUgbmFtZQorb2YgdGhlIGZpbHRlciBkZWZpbml0aW9uIC0tLSBpbiB0aGlz
IGNhc2UgdGhlIGluZmVycmVkIG5hbWUgd2lsbCBiZSBgYHN0YXI9CnNgYC4KPTIwCi0gICAgZnJv
bSB5dC5kYXRhX29iamVjdHMucGFydGljbGVfZmlsdGVycyBpbXBvcnQgYWRkX3BhcnRpY2xlX2Zp
bHRlcgotICAgIGFkZF9wYXJ0aWNsZV9maWx0ZXIoInN0YXJzIiwgZnVuY3Rpb249M0RTdGFycywg
ZmlsdGVyZWRfdHlwZT0zRCdhbGwnLCA9CnJlcXVpcmVzPTNEWyJwYXJ0aWNsZV90eXBlIl0pCi0K
LUFuZCBsYXN0bHksIHRoZSBmaWx0ZXIgbXVzdCBiZSBhcHBsaWVkIHRvIG91ciBkYXRhc2V0IG9m
IGNob2ljZS4gIE5vdGUgdGhhPQp0IHRoaXM9MjAKK0xhc3RseSwgdGhlIGZpbHRlciBtdXN0IGJl
IGFwcGxpZWQgdG8gb3VyIGRhdGFzZXQgb2YgY2hvaWNlLiAgTm90ZSB0aGF0IHRoPQppcz0yMAog
ZmlsdGVyIGNhbiBiZSBhZGRlZCB0byBhcyBtYW55IGRhdGFzZXRzIGFzIHdlIHdpc2guICBJdCB3
aWxsIG9ubHkgYWN0dWFsbHkKIGNyZWF0ZSBuZXcgZmlsdGVyZWQgZmllbGRzIGlmIHRoZSBkYXRh
c2V0IGhhcyB0aGUgcmVxdWlyZWQgZmllbGRzLCB0aG91Z2guCj0yMApAQCAtMTMzLDEwICsxMzgs
MjcgQEAKICAgICBkcy5hZGRfcGFydGljbGVfZmlsdGVyKCdzdGFycycpCj0yMAogQW5kIHRoYXQn
cyBpdCEgIFdlIGNhbiBub3cgYWNjZXNzIGFsbCBvZiB0aGUgKCdzdGFycycsIGZpZWxkKSBmaWVs
ZHMgZnJvbT0yMAotb3VyIGRhdGFzZXQgYGRzYCBhbmQgdHJlYXQgdGhlbSBhcyBhbnkgb3RoZXIg
cGFydGljbGUgZmllbGQuICBJbiBhZGRpdGlvbiwKLWl0IGNyZWF0ZWQgc29tZSBgZGVwb3NpdGAg
ZmllbGRzLCB3aGVyZSB0aGUgcGFydGljbGVzIHdlcmUgZGVwb3NpdGVkIG9uIHRvCitvdXIgZGF0
YXNldCBgYGRzYGAgYW5kIHRyZWF0IHRoZW0gYXMgYW55IG90aGVyIHBhcnRpY2xlIGZpZWxkLiAg
SW4gYWRkaXRpbz0KbiwKK2l0IGNyZWF0ZWQgc29tZSBgYGRlcG9zaXRgYCBmaWVsZHMsIHdoZXJl
IHRoZSBwYXJ0aWNsZXMgd2VyZSBkZXBvc2l0ZWQgb24gPQp0bwogdGhlIGdyaWQgYXMgbWVzaCBm
aWVsZHMuCj0yMAorQXMgYW4gYWx0ZXJuYXRpdmUgc3ludGF4LCB5b3UgY2FuIGFsc28gZGVmaW5l
IGEgbmV3IHBhcnRpY2xlIGZpbHRlciB2aWEgdGhlCis6ZnVuYzpgfnl0LmRhdGFfb2JqZWN0cy5w
YXJ0aWNsZV9maWx0ZXIuYWRkX3BhcnRpY2xlX2ZpbHRlcmAgZnVuY3Rpb24uID0yMAorCisuLiBj
b2RlLWJsb2NrOjogcHl0aG9uCisKKworICAgIGRlZiBTdGFycyhwZmlsdGVyLCBkYXRhKToKKyAg
ICAgICAgZmlsdGVyID0zRCBkYXRhWyhwZmlsdGVyLmZpbHRlcmVkX3R5cGUsICJwYXJ0aWNsZV90
eXBlIildID0zRD0zRCAyCisgICAgICAgIHJldHVybiBmaWx0ZXIKKworICAgIGFkZF9wYXJ0aWNs
ZV9maWx0ZXIoInN0YXJzIiwgZnVuY3Rpb249M0RTdGFycywgZmlsdGVyZWRfdHlwZT0zRCdhbGwn
LAorICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXM9M0RbInBhcnRpY2xlX3R5cGUiXSkK
KworVGhpcyBpcyBlcXVpdmFsZW50IHRvIG91ciB1c2Ugb2YgdGhlIGBgcGFydGljbGVfZmlsdGVy
YGAgZGVjb3JhdG9yIGFib3ZlLiA9CiBUaGUKK2Nob2ljZSB0byB1c2UgZWl0aGVyIHRoZSBgYHBh
cnRpY2xlX2ZpbHRlcmBgIGRlY29yYXRvciBvciB0aGUKK2BgYWRkX3BhcnRpY2xlX2ZpdGxlcmBg
IGZ1bmN0aW9uIGlzIGEgcHVyZWx5IHN0eWxpc3RpYyBjaG9pY2UuCisKIC4uIG5vdGVib29rOjog
cGFydGljbGVfZmlsdGVyLmlweW5iCj0yMAogLi4gX3BhcnRpY2xlLXVuaW9uczoKQEAgLTE3Miw3
ICsxOTQsNyBAQAo9MjAKIENyZWF0aW5nIGdlb21ldHJpYyBvYmplY3RzIGZvciBhIGRhdGFzZXQg
cHJvdmlkZXMgYSBtZWFucyBmb3IgZmlsdGVyaW5nCiBhIGZpZWxkIGJhc2VkIG9uIHNwYXRpYWwg
bG9jYXRpb24uICBUaGUgbW9zdCBjb21tb25seSB1c2VkIG9mIHRoZXNlIGFyZQotc3BoZXJlcywg
cmVnaW9ucyAoM0QgcHJpc21zKSwgZWxsaXBzb2lkcywgZGlza3MsIGFuZCByYXlzLiAgVGhlIGBh
bGxfZGF0YWAKK3NwaGVyZXMsIHJlZ2lvbnMgKDNEIHByaXNtcyksIGVsbGlwc29pZHMsIGRpc2tz
LCBhbmQgcmF5cy4gIFRoZSBgYGFsbF9kYXRhPQpgYAogb2JqZWN0IHdoaWNoIGdldHMgdXNlZCB0
aHJvdWdob3V0IHRoaXMgZG9jdW1lbnRhdGlvbiBzZWN0aW9uIGlzIGFuIGV4YW1wbGU9CiBvZj0y
MAogYSBnZW9tZXRyaWMgb2JqZWN0LCBidXQgaXQgZGVmYXVsdHMgdG8gaW5jbHVkaW5nIGFsbCB0
aGUgZGF0YSBpbiB0aGUgZGF0YXM9CmV0CiB2b2x1bWUuICBUbyBzZWUgYWxsIG9mIHRoZSBnZW9t
ZXRyaWMgb2JqZWN0cyBhdmFpbGFibGUsIHNlZT0yMAoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdl
MDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdlYmYxZWMzZTVjPQo5ZjFj
MjIyYzljY2I2OWI2NSBkb2Mvc291cmNlL2FuYWx5emluZy9nZW5lcmF0aW5nX3Byb2Nlc3NlZF9k
YXRhLnJzdAotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy9nZW5lcmF0aW5nX3Byb2Nlc3NlZF9k
YXRhLnJzdAorKysgYi9kb2Mvc291cmNlL2FuYWx5emluZy9nZW5lcmF0aW5nX3Byb2Nlc3NlZF9k
YXRhLnJzdApAQCAtNDcsMTAgKzQ3LDMwIEBACiAgICBmcmIgPTNEIEZpeGVkUmVzb2x1dGlvbkJ1
ZmZlcihzbCwgKDAuMywgMC41LCAwLjYsIDAuOCksICg1MTIsIDUxMikpCiAgICBteV9pbWFnZSA9
M0QgZnJiWyJkZW5zaXR5Il0KPTIwCi1UaGlzIHJlc3VsdGFudCBhcnJheSBjYW4gYmUgc2F2ZWQg
b3V0IHRvIGRpc2sgb3IgdmlzdWFsaXplZCB1c2luZyBhCi1oYW5kLWNvbnN0cnVjdGVkIE1hdHBs
b3RsaWIgaW1hZ2UsIGZvciBpbnN0YW5jZSB1c2luZworVGhpcyBpbWFnZSBtYXkgdGhlbiBiZSB1
c2VkIGluIGEgaGFuZC1jb25zdHJ1Y3RlZCBNYXRwbG90bGliIGltYWdlLCBmb3IgaW49CnN0YW5j
ZSB1c2luZwogOmZ1bmM6YH5tYXRwbG90bGliLnB5cGxvdC5pbXNob3dgLgo9MjAKK1RoZSBidWZm
ZXIgYXJyYXlzIGNhbiBiZSBzYXZlZCBvdXQgdG8gZGlzayBpbiBlaXRoZXIgSERGNSBvciBGSVRT
IGZvcm1hdDoKKz0yMAorLi4gY29kZS1ibG9jazo6IHB5dGhvbgorCisgICBmcmIuZXhwb3J0X2hk
ZjUoIm15X2ltYWdlcy5oNSIsIGZpZWxkcz0zRFsiZGVuc2l0eSIsInRlbXBlcmF0dXJlIl0pCisg
ICBmcmIuZXhwb3J0X2ZpdHMoIm15X2ltYWdlcy5maXRzIiwgZmllbGRzPTNEWyJkZW5zaXR5Iiwi
dGVtcGVyYXR1cmUiXSwKKyAgICAgICAgICAgICAgICAgICBjbG9iYmVyPTNEVHJ1ZSwgdW5pdHM9
M0Qia3BjIikKKworSW4gdGhlIEZJVFMgY2FzZSwgdGhlcmUgaXMgYW4gb3B0aW9uIGZvciBzZXR0
aW5nIHRoZSBgYHVuaXRzYGAgb2YgdGhlIGNvb3I9CmRpbmF0ZSBzeXN0ZW0gaW4KK3RoZSBmaWxl
LiBJZiB5b3Ugd2FudCB0byBvdmVyd3JpdGUgYSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSwgc2V0
IGBgY2xvYmJlPQpyPTNEVHJ1ZWBgLj0yMAorCitUaGUgOmNsYXNzOmB+eXQudmlzdWFsaXphdGlv
bi5maXhlZF9yZXNvbHV0aW9uLkZpeGVkUmVzb2x1dGlvbkJ1ZmZlcmAgY2FuID0KZXZlbiBiZSBl
eHBvcnRlZAorYXMgYSAyRCBkYXRhc2V0IGl0c2VsZiwgd2hpY2ggbWF5IGJlIG9wZXJhdGVkIG9u
IGluIHRoZSBzYW1lIHdheSBhcyBhbnkgb3Q9CmhlciBkYXRhc2V0IGluIHl0OgorCisuLiBjb2Rl
LWJsb2NrOjogcHl0aG9uCisKKyAgIGRzX2ZyYiA9M0QgZnJiLmV4cG9ydF9kYXRhc2V0KGZpZWxk
cz0zRFsiZGVuc2l0eSIsInRlbXBlcmF0dXJlIl0sIG5wcm9jPQpzPTNEOCkKKyAgIHNwID0zRCBk
c19mcmIuc3BoZXJlKCJjIiwgKDEwMC4sImtwYyIpKQorCit3aGVyZSB0aGUgYGBucHJvY3NgYCBw
YXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZGVjb21wb3NlIHRoZSBpbWFnZSBpbnRvIGBgbj0KcHJv
Y3NgYCBudW1iZXIgb2YgZ3JpZHMuCisKIC4uIF9nZW5lcmF0aW5nLXByb2ZpbGVzLWFuZC1oaXN0
b2dyYW1zOgo9MjAKIFByb2ZpbGVzIGFuZCBIaXN0b2dyYW1zCgpkaWZmIC1yIDk2MjA4YTUyMjY2
YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMDY5NzJiZTIxMTY5N2ViZjFlYzNlNWM9
CjlmMWMyMjJjOWNjYjY5YjY1IGRvYy9zb3VyY2UvYW5hbHl6aW5nL3BhcnRpY2xlX2ZpbHRlci5p
cHluYgotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy9wYXJ0aWNsZV9maWx0ZXIuaXB5bmIKKysr
IGIvZG9jL3NvdXJjZS9hbmFseXppbmcvcGFydGljbGVfZmlsdGVyLmlweW5iCkBAIC03OSwxMCAr
NzksOSBAQAogICAgICAiY2VsbF90eXBlIjogImNvZGUiLAogICAgICAiY29sbGFwc2VkIjogZmFs
c2UsCiAgICAgICJpbnB1dCI6IFsKLSAgICAgICJmcm9tIHl0LmRhdGFfb2JqZWN0cy5wYXJ0aWNs
ZV9maWx0ZXJzIGltcG9ydCBhZGRfcGFydGljbGVfZmlsdGVyXG4iLAorICAgICAgInl0LmFkZF9w
YXJ0aWNsZV9maWx0ZXIoXCJ5b3VuZ19zdGFyc1wiLCBmdW5jdGlvbj0zRHlvdW5nX3N0YXJzLCBm
aWw9CnRlcmVkX3R5cGU9M0QnU3RhcnMnLCByZXF1aXJlcz0zRFtcImNyZWF0aW9uX3RpbWVcIl0p
XG4iLAogICAgICAgIlxuIiwKLSAgICAgICJhZGRfcGFydGljbGVfZmlsdGVyKFwieW91bmdfc3Rh
cnNcIiwgZnVuY3Rpb249M0R5b3VuZ19zdGFycywgZmlsdGVyPQplZF90eXBlPTNEJ1N0YXJzJywg
cmVxdWlyZXM9M0RbXCJjcmVhdGlvbl90aW1lXCJdKVxuIiwKLSAgICAgICJhZGRfcGFydGljbGVf
ZmlsdGVyKFwib2xkX3N0YXJzXCIsIGZ1bmN0aW9uPTNEb2xkX3N0YXJzLCBmaWx0ZXJlZF90PQp5
cGU9M0QnU3RhcnMnLCByZXF1aXJlcz0zRFtcImNyZWF0aW9uX3RpbWVcIl0pIgorICAgICAgInl0
LmFkZF9wYXJ0aWNsZV9maWx0ZXIoXCJvbGRfc3RhcnNcIiwgZnVuY3Rpb249M0RvbGRfc3RhcnMs
IGZpbHRlcmU9CmRfdHlwZT0zRCdTdGFycycsIHJlcXVpcmVzPTNEW1wiY3JlYXRpb25fdGltZVwi
XSkiCiAgICAgIF0sCiAgICAgICJsYW5ndWFnZSI6ICJweXRob24iLAogICAgICAibWV0YWRhdGEi
OiB7fSwKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAt
ciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgZG9jL3NvdXJjZS9h
bmFseXppbmcvdGltZV9zZXJpZXNfYW5hbHlzaXMucnN0Ci0tLSBhL2RvYy9zb3VyY2UvYW5hbHl6
aW5nL3RpbWVfc2VyaWVzX2FuYWx5c2lzLnJzdAorKysgYi9kb2Mvc291cmNlL2FuYWx5emluZy90
aW1lX3Nlcmllc19hbmFseXNpcy5yc3QKQEAgLTc5LDkgKzc5LDcgQEAKIEFuYWx5emluZyBhbiBF
bnRpcmUgU2ltdWxhdGlvbgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj0yMAotLi4g
bm90ZTo6IEN1cnJlbnRseSBvbmx5IGltcGxlbWVudGVkIGZvciBFbnpvLiAgT3RoZXIgc2ltdWxh
dGlvbiB0eXBlcyBjb209CmluZz0yMAotICAgc29vbi4gIFVudGlsIHRoZW4sIHJlbHkgb24gdGhl
IGFib3ZlIHByZXNjcmlwdGlvbiBmb3IgY3JlYXRpbmc9MjAKLSAgIGBgRGF0YXNldFNlcmllc2Bg
IG9iamVjdHMuCisuLiBub3RlOjogSW1wbGVtZW50ZWQgZm9yOiBFbnpvLCBHYWRnZXQsIE9XTFMu
Cj0yMAogVGhlIHBhcmFtZXRlciBmaWxlIHVzZWQgdG8gcnVuIGEgc2ltdWxhdGlvbiBjb250YWlu
cyBhbGwgdGhlIGluZm9ybWF0aW9uPTIwCiBuZWNlc3NhcnkgdG8ga25vdyB3aGF0IGRhdGFzZXRz
IHNob3VsZCBiZSBhdmFpbGFibGUuICBUaGUgYGBzaW11bGF0aW9uYGA9MjAKQEAgLTkzLDggKzkx
LDcgQEAKIC4uIGNvZGUtYmxvY2s6OiBweXRob24KPTIwCiAgIGltcG9ydCB5dAotICBteV9zaW0g
PTNEIHl0LnNpbXVsYXRpb24oJ2Vuem9fdGlueV9jb3Ntb2xvZ3kvMzJNcGNfMzIuZW56bycsICdF
bnpvJywKLSAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kX291dHB1dHM9M0RGYWxzZSkKKyAg
bXlfc2ltID0zRCB5dC5zaW11bGF0aW9uKCdlbnpvX3RpbnlfY29zbW9sb2d5LzMyTXBjXzMyLmVu
em8nLCAnRW56bycpCj0yMAogVGhlbiwgY3JlYXRlIGEgYGBEYXRhc2V0U2VyaWVzYGAgb2JqZWN0
IHdpdGggdGhlPTIwCiA6bWV0aDpgZnJvbnRlbmRzLmVuem8uc2ltdWxhdGlvbl9oYW5kbGluZy5F
bnpvU2ltdWxhdGlvbi5nZXRfdGltZV9zZXJpZXNgPTIwCkBAIC0xMjMsMTAgKzEyMCwxMCBAQAog
dG8gc2VsZWN0IGEgc3Vic2V0IG9mIHRoZSB0b3RhbCBkYXRhOgo9MjAKICogYGB0aW1lX2RhdGFg
YCAoKmJvb2wqKTogV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aW1lIG91dHB1dHMgd2hlbj0y
MAotICBnYXRoZXJpbmcgZGF0YXNldHMgZm9yIHRpbWUgc2VyaWVzLiAgRGVmYXVsdDogVHJ1ZS4K
KyAgZ2F0aGVyaW5nIGRhdGFzZXRzIGZvciB0aW1lIHNlcmllcy4gIERlZmF1bHQ6IFRydWUuICAo
RW56byBvbmx5KQo9MjAKICogYGByZWRzaGlmdF9kYXRhYGAgKCpib29sKik6IFdoZXRoZXIgb3Ig
bm90IHRvIGluY2x1ZGUgcmVkc2hpZnQgb3V0cHV0cz0yMAotICB3aGVuIGdhdGhlcmluZyBkYXRh
c2V0cyBmb3IgdGltZSBzZXJpZXMuICBEZWZhdWx0OiBUcnVlLgorICB3aGVuIGdhdGhlcmluZyBk
YXRhc2V0cyBmb3IgdGltZSBzZXJpZXMuICBEZWZhdWx0OiBUcnVlLiAgKEVuem8gb25seSkKPTIw
CiAqIGBgaW5pdGlhbF90aW1lYGAgKCpmbG9hdCopOiBUaGUgZWFybGllc3QgdGltZSBmb3Igb3V0
cHV0cyB0byBiZSBpbmNsdWRlZD0KLiA9MjAKICAgSWYgTm9uZSwgdGhlIGluaXRpYWwgdGltZSBv
ZiB0aGUgc2ltdWxhdGlvbiBpcyB1c2VkLiAgVGhpcyBjYW4gYmUgdXNlZCBpPQpuPTIwCkBAIC0x
MzksMTUgKzEzNiwxMiBAQAogKiBgYHRpbWVzYGAgKCpsaXN0Kik6IEEgbGlzdCBvZiB0aW1lcyBm
b3Igd2hpY2ggb3V0cHV0cyB3aWxsIGJlIGZvdW5kLgogICBEZWZhdWx0OiBOb25lLgo9MjAKLSog
YGB0aW1lX3VuaXRzYGAgKCpzdHIqKTogVGhlIHRpbWUgdW5pdHMgdXNlZCBmb3IgcmVxdWVzdGlu
ZyBvdXRwdXRzIGJ5IHRpPQptZS4KLSAgRGVmYXVsdDogJzEnIChjb2RlIHVuaXRzKS4KLQogKiBg
YGluaXRpYWxfcmVkc2hpZnRgYCAoKmZsb2F0Kik6IFRoZSBlYXJsaWVzdCByZWRzaGlmdCBmb3Ig
b3V0cHV0cyB0byBiZT0yMAogICBpbmNsdWRlZC4gIElmIE5vbmUsIHRoZSBpbml0aWFsIHJlZHNo
aWZ0IG9mIHRoZSBzaW11bGF0aW9uIGlzIHVzZWQuICBUaGlzCiAgIGNhbiBiZSB1c2VkIGluIGNv
bWJpbmF0aW9uIHdpdGggZWl0aGVyIGBgZmluYWxfdGltZWBgIG9yIGBgZmluYWxfcmVkc2hpZj0K
dGBgLgogICBEZWZhdWx0OiBOb25lLgo9MjAKLSogYGBmaW5hbF90aW1lYGAgKCpmbG9hdCopOiBU
aGUgbGF0ZXN0IHJlZHNoaWZ0IGZvciBvdXRwdXRzIHRvIGJlIGluY2x1ZGVkPQouID0yMAorKiBg
YGZpbmFsX3JlZHNoaWZ0YGAgKCpmbG9hdCopOiBUaGUgbGF0ZXN0IHJlZHNoaWZ0IGZvciBvdXRw
dXRzIHRvIGJlIGluY2w9CnVkZWQuID0yMAogICBJZiBOb25lLCB0aGUgZmluYWwgcmVkc2hpZnQg
b2YgdGhlIHNpbXVsYXRpb24gaXMgdXNlZC4gIFRoaXMgY2FuIGJlIHVzZWQ9MjAKICAgaW4gY29t
YmluYXRpb24gd2l0aCBlaXRoZXIgYGBpbml0aWFsX3RpbWVgYCBvciBgYGluaXRpYWxfcmVkc2hp
ZnRgYC4gPTIwCiAgIERlZmF1bHQ6IE5vbmUuCkBAIC0xNTcsMTEgKzE1MSwxMSBAQAo9MjAKICog
YGBpbml0aWFsX2N5Y2xlYGAgKCpmbG9hdCopOiBUaGUgZWFybGllc3QgY3ljbGUgZm9yIG91dHB1
dHMgdG8gYmU9MjAKICAgaW5jbHVkZWQuICBJZiBOb25lLCB0aGUgaW5pdGlhbCBjeWNsZSBvZiB0
aGUgc2ltdWxhdGlvbiBpcyB1c2VkLiAgVGhpcyBjPQphbgotICBvbmx5IGJlIHVzZWQgd2l0aCBm
aW5hbF9jeWNsZS4gIERlZmF1bHQ6IE5vbmUuCisgIG9ubHkgYmUgdXNlZCB3aXRoIGZpbmFsX2N5
Y2xlLiAgRGVmYXVsdDogTm9uZS4gIChFbnpvIG9ubHkpCj0yMAogKiBgYGZpbmFsX2N5Y2xlYGAg
KCpmbG9hdCopOiBUaGUgbGF0ZXN0IGN5Y2xlIGZvciBvdXRwdXRzIHRvIGJlIGluY2x1ZGVkLiA9
MjAKICAgSWYgTm9uZSwgdGhlIGZpbmFsIGN5Y2xlIG9mIHRoZSBzaW11bGF0aW9uIGlzIHVzZWQu
ICBUaGlzIGNhbiBvbmx5IGJlIHVzPQplZD0yMAotICBpbiBjb21iaW5hdGlvbiB3aXRoIGluaXRp
YWxfY3ljbGUuICBEZWZhdWx0OiBOb25lLgorICBpbiBjb21iaW5hdGlvbiB3aXRoIGluaXRpYWxf
Y3ljbGUuICBEZWZhdWx0OiBOb25lLiAgKEVuem8gb25seSkKPTIwCiAqIGBgdG9sZXJhbmNlYGAg
KCpmbG9hdCopOiAgVXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGBgdGltZXNgYCBvciBgYHJlZHNo
aT0KZnRzYGA9MjAKICAga2V5d29yZHMsIHRoaXMgaXMgdGhlIHRvbGVyYW5jZSB3aXRoaW4gd2hp
Y2ggb3V0cHV0cyBhcmUgYWNjZXB0ZWQgZ2l2ZW49MjAKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3
ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYx
YzIyMmM5Y2NiNjliNjUgZG9jL3NvdXJjZS9hbmFseXppbmcvdW5pdHMvMilfRmllbGRzX2FuZF91
bml0X2NvbnZlcnNpb24uPQppcHluYgotLS0gYS9kb2Mvc291cmNlL2FuYWx5emluZy91bml0cy8y
KV9GaWVsZHNfYW5kX3VuaXRfY29udmVyc2lvbi5pcHluYgorKysgYi9kb2Mvc291cmNlL2FuYWx5
emluZy91bml0cy8yKV9GaWVsZHNfYW5kX3VuaXRfY29udmVyc2lvbi5pcHluYgpAQCAtMSw3ICsx
LDcgQEAKIHsKICAibWV0YWRhdGEiOiB7CiAgICJuYW1lIjogIiIsCi0gICJzaWduYXR1cmUiOiAi
c2hhMjU2OmM3Y2ZiMmRiNDU2ZDEyN2JiNjMzYjdlZWU3YWQ2ZmUxNDI5MGFhNjIyYWM2MjY5NGM3
OD0KNDBkODAxMzdhZmFiYSIKKyAgInNpZ25hdHVyZSI6ICJzaGEyNTY6NGQxOWVlNDIxNzdjNjBm
YjRiMzk1NTBiNWFjZDdhMGY3ZTk3ZjU5ZjVjMmRhMzU2NWZmPQo0MmNkZDU4MDQ1NGIwIgogIH0s
CiAgIm5iZm9ybWF0IjogMywKICAibmJmb3JtYXRfbWlub3IiOiAwLApAQCAtMjM2LDcgKzIzNiw3
IEBACiAgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCiAgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwK
ICAgICAgImlucHV0IjogWwotICAgICAgInExID0zRCB5dC5ZVEFycmF5KDEuMCxcIkNcIikgIyBD
b3Vsb21ic1xuIiwKKyAgICAgICJxMSA9M0QgeXQuWVRBcnJheSgxLjAsXCJDXCIpICMgY291bG9t
YnNcbiIsCiAgICAgICAicTIgPTNEIHl0LllUQXJyYXkoMS4wLFwiZXN1XCIpICMgZWxlY3Ryb3N0
YXRpYyB1bml0cyAvIHN0YXRjb3Vsb21iXD0KbiIsCiAgICAgICAiXG4iLAogICAgICAgInByaW50
IFwidW5pdHMgPTNEXCIsIHExLmluX21rcygpLnVuaXRzLCBcIiwgZGltcyA9M0RcIiwgcTEudW5p
dHMuZGk9Cm1lbnNpb25zXG4iLApAQCAtMjQ3LDIxICsyNDcsMTQgQEAKICAgICAgIm91dHB1dHMi
OiBbXQogICAgIH0sCiAgICAgewotICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKLSAgICAg
Im1ldGFkYXRhIjoge30sCi0gICAgICJzb3VyY2UiOiBbCi0gICAgICAiVW5kZXIgdGhlIGhvb2Qs
IHRoZSBgeXRgIHVuaXRzIHN5c3RlbSBoYXMgYSB0cmFuc2xhdGlvbiBsYXllciB0aGF0ID0KY29u
dmVydHMgYmV0d2VlbiB0aGVzZSB0d28gc3lzdGVtcywgd2l0aG91dCBhbnkgZnVydGhlciBlZmZv
cnQgcmVxdWlyZWQuIEZvPQpyIGV4YW1wbGU6IgotICAgICBdCi0gICAgfSwKLSAgICB7CiAgICAg
ICJjZWxsX3R5cGUiOiAiY29kZSIsCiAgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKICAgICAgImlu
cHV0IjogWwotICAgICAgImZyb20geXQudXRpbGl0aWVzLnBoeXNpY2FsX2NvbnN0YW50cyBpbXBv
cnQgZWxlbWVudGFyeV9jaGFyZ2VcbiIsCisgICAgICAiQjEgPTNEIHl0LllUQXJyYXkoMS4wLFwi
VFwiKSAjIHRlc2xhXG4iLAorICAgICAgIkIyID0zRCB5dC5ZVEFycmF5KDEuMCxcImdhdXNzXCIp
ICMgZ2F1c3NcbiIsCiAgICAgICAiXG4iLAotICAgICAgInByaW50IGVsZW1lbnRhcnlfY2hhcmdl
XG4iLAotICAgICAgImVsZW1lbnRhcnlfY2hhcmdlX0MgPTNEIGVsZW1lbnRhcnlfY2hhcmdlLmlu
X3VuaXRzKFwiQ1wiKVxuIiwKLSAgICAgICJwcmludCBlbGVtZW50YXJ5X2NoYXJnZV9DIgorICAg
ICAgInByaW50IFwidW5pdHMgPTNEXCIsIEIxLmluX21rcygpLnVuaXRzLCBcIiwgZGltcyA9M0Rc
IiwgQjEudW5pdHMuZGk9Cm1lbnNpb25zXG4iLAorICAgICAgInByaW50IFwidW5pdHMgPTNEXCIs
IEIyLmluX2NncygpLnVuaXRzLCBcIiwgZGltcyA9M0RcIiwgQjIudW5pdHMuZGk9Cm1lbnNpb25z
IgogICAgICBdLAogICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKICAgICAgIm1ldGFkYXRhIjog
e30sCkBAIC0yNzEsMTMgKzI2NCw3IEBACiAgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAog
ICAgICAibWV0YWRhdGEiOiB7fSwKICAgICAgInNvdXJjZSI6IFsKLSAgICAgICJUaGUgZWxlY3Ry
b21hZ25ldGljIHVuaXQgdHJhbnNsYXRpb25zIGB5dGAgdW5kZXJzdGFuZHMgYXJlOlxuIiwKLSAg
ICAgICJcbiIsCi0gICAgICAiKiBDaGFyZ2U6IDEgY291bG9tYiAoQykgJFxcbGVmdHJpZ2h0YXJy
b3ckIDAuMWMgZWxlY3Ryb3N0YXRpYyB1bml0ID0KKGVzdSwgRnIpXG4iLAotICAgICAgIiogQ3Vy
cmVudDogMSBhbXBlcmUgKEEsIEMvcykgJFxcbGVmdHJpZ2h0YXJyb3ckIDAuMWMgc3RhdGFtcGVy
ZSAoc3Q9CmF0QSwgZXN1L3MsIEZyKSBcbiIsCi0gICAgICAiKiBNYWduZXRpYyBGaWVsZDogMSB0
ZXNsYSAoVCkgJFxcbGVmdHJpZ2h0YXJyb3cgMTBeNCQgZ2F1c3MgKEcpXG4iLAotICAgICAgIlxu
IiwKLSAgICAgICJ3aGVyZSBcIkZyXCIgaXMgdGhlIGZyYW5rbGluLCBhbiBhbHRlcm5hdGl2ZSBu
YW1lIGZvciB0aGUgZWxlY3Ryb3N0PQphdGljIHVuaXQsIGFuZCBjIGlzIHRoZSBzcGVlZCBvZiBs
aWdodC4gIgorICAgICAgIlRvIGNvbnZlcnQgYmV0d2VlbiB0aGVzZSB0d28gc3lzdGVtcywgdXNl
IFtVbml0IEVxdWl2YWxlbmNpZXNdKHVuaXQ9Cl9lcXVpdmFsZW5jaWVzLmh0bWwpLiIKICAgICAg
XQogICAgIH0sCiAgICAgewoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVj
ZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdlYmYxZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBk
b2Mvc291cmNlL2FuYWx5emluZy91bml0cy82KV9Vbml0X0VxdWl2YWxlbmNpZXMuaXB5bmIKLS0t
IGEvZG9jL3NvdXJjZS9hbmFseXppbmcvdW5pdHMvNilfVW5pdF9FcXVpdmFsZW5jaWVzLmlweW5i
CisrKyBiL2RvYy9zb3VyY2UvYW5hbHl6aW5nL3VuaXRzLzYpX1VuaXRfRXF1aXZhbGVuY2llcy5p
cHluYgpAQCAtMSw3ICsxLDcgQEAKIHsKICAibWV0YWRhdGEiOiB7CiAgICJuYW1lIjogIiIsCi0g
ICJzaWduYXR1cmUiOiAic2hhMjU2OmI2MmQ4M2MxNjg4MjhhZmE4MWJjZjA2MDNiYjM3ZDMxODNm
MmE4MTAyNThmMjU5NjMyNT0KNGZmYjI0YTBhY2Q4MiIKKyAgInNpZ25hdHVyZSI6ICJzaGEyNTY6
ZjBiYmVlNjdiNDI5ZDNmZGU3Njg1NjhhZGI0NzU5MDhjYmJlMDRjNDI4Y2FmYjVhNDVjPQpkMDFk
NmIwZGUxNzQ1IgogIH0sCiAgIm5iZm9ybWF0IjogMywKICAibmJmb3JtYXRfbWlub3IiOiAwLApA
QCAtMzQsNiArMzQsNyBAQAogICAgICAiY29sbGFwc2VkIjogZmFsc2UsCiAgICAgICJpbnB1dCI6
IFsKICAgICAgICJpbXBvcnQgeXRcbiIsCisgICAgICAiZnJvbSB5dCBpbXBvcnQgWVRRdWFudGl0
eVxuIiwKICAgICAgICJpbXBvcnQgbnVtcHkgYXMgbnBcbiIsCiAgICAgICAiXG4iLAogICAgICAg
ImRzID0zRCB5dC5sb2FkKCdJc29sYXRlZEdhbGF4eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAnKVxu
IiwKQEAgLTU2LDcgKzU3LDcgQEAKICAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCiAgICAg
ICJtZXRhZGF0YSI6IHt9LAogICAgICAic291cmNlIjogWwotICAgICAgIkVxdWl2YWxlbmNpZXMg
Y2FuIGdvIGluIGJvdGggZGlyZWN0aW9ucywgd2l0aG91dCBhbnkgaW5mb3JtYXRpb24gcmU9CnF1
aXJlZCBvdGhlciB0aGFuIHRoZSB1bml0IHlvdSB3YW50IHRvIGNvbnZlcnQgdG86IgorICAgICAg
Ik1vc3QgZXF1aXZhbGVuY2llcyBjYW4gZ28gaW4gYm90aCBkaXJlY3Rpb25zLCB3aXRob3V0IGFu
eSBpbmZvcm1hdGk9Cm9uIHJlcXVpcmVkIG90aGVyIHRoYW4gdGhlIHVuaXQgeW91IHdhbnQgdG8g
Y29udmVydCB0byAodGhpcyBpcyBub3QgdGhlIGNhcz0KZSBmb3IgdGhlIGVsZWN0cm9tYWduZXRp
YyBlcXVpdmFsZW5jaWVzLCB3aGljaCB3ZSdsbCBkaXNjdXNzIGxhdGVyKToiCiAgICAgIF0KICAg
ICB9LAogICAgIHsKQEAgLTEzMCw2ICsxMzEsMTE0IEBACiAgICAgICJsZXZlbCI6IDMsCiAgICAg
ICJtZXRhZGF0YSI6IHt9LAogICAgICAic291cmNlIjogWworICAgICAgIkVsZWN0cm9tYWduZXRp
YyBFcXVpdmFsZW5jaWVzIgorICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUi
OiAibWFya2Rvd24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAg
ICAgICJTcGVjaWFsLCBvbmUtd2F5IGVxdWl2YWxlbmNpZXMgZXhpc3QgZm9yIGNvbnZlcnRpbmcg
YmV0d2VlbiBlbGVjdHJvPQptYWduZXRpYyB1bml0cyBpbiB0aGUgY2dzIGFuZCBTSSB1bml0IHN5
c3RlbXMuIFRoZXNlIGV4aXN0IHNpbmNlIGluIHRoZSBjZ3M9CiBzeXN0ZW0sIGVsZWN0cm9tYWdu
ZXRpYyB1bml0cyBhcmUgY29tcHJpc2VkIG9mIHRoZSBiYXNlIHVuaXRzIG9mIHNlY29uZHMsID0K
Z3JhbXMgYW5kIGNlbnRpbWV0ZXJzLCB3aGVyZWFzIGluIHRoZSBTSSBzeXN0ZW0gQW1wZXJlIGlz
IGEgYmFzZSB1bml0LiBGb3IgPQpleGFtcGxlLCB0aGUgZGltZW5zaW9ucyBvZiBjaGFyZ2UgYXJl
IGNvbXBsZXRlbHkgZGlmZmVyZW50IGluIHRoZSB0d28gc3lzdGU9Cm1zOiIKKyAgICAgXQorICAg
IH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjog
ZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJRMSA9M0QgWVRRdWFudGl0eSgxLjAsXCJD
XCIpXG4iLAorICAgICAgIlEyID0zRCBZVFF1YW50aXR5KDEuMCxcImVzdVwiKVxuIiwKKyAgICAg
ICJwcmludCBcIlExIGRpbXMgPTNEXCIsIFExLnVuaXRzLmRpbWVuc2lvbnNcbiIsCisgICAgICAi
cHJpbnQgXCJRMiBkaW1zID0zRFwiLCBRMi51bml0cy5kaW1lbnNpb25zXG4iLAorICAgICAgInBy
aW50IFwiUTEgYmFzZSB1bml0cyA9M0RcIiwgUTEuaW5fbWtzKClcbiIsCisgICAgICAicHJpbnQg
XCJRMiBiYXNlIHVuaXRzID0zRFwiLCBRMi5pbl9jZ3MoKSIKKyAgICAgXSwKKyAgICAgImxhbmd1
YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6IFtd
CisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0
YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAgICAgICJUbyBjb252ZXJ0IGZyb20gYSBj
Z3MgdW5pdCB0byBhbiBTSSB1bml0LCB1c2UgdGhlIFwiU0lcIiBlcXVpdmFsZW5jPQp5OiIKKyAg
ICAgXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29s
bGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJmcm9tIHl0LnV0aWxpdGll
cy5waHlzaWNhbF9jb25zdGFudHMgaW1wb3J0IHFwICMgdGhlIGVsZW1lbnRhcnkgY2hhPQpyZ2Ug
aW4gZXN1XG4iLAorICAgICAgInFwX1NJID0zRCBxcC50b19lcXVpdmFsZW50KFwiQ1wiLFwiU0lc
IikgIyBjb252ZXJ0IHRvIENvdWxvbWJzXG4iLAorICAgICAgInByaW50IHFwXG4iLAorICAgICAg
InByaW50IHFwX1NJIgorICAgICBdLAorICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKKyAgICAg
Im1ldGFkYXRhIjoge30sCisgICAgICJvdXRwdXRzIjogW10KKyAgICB9LAorICAgIHsKKyAgICAg
ImNlbGxfdHlwZSI6ICJtYXJrZG93biIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291
cmNlIjogWworICAgICAgIlRvIGNvbnZlcnQgZnJvbSBhbiBTSSB1bml0IHRvIGEgY2dzIHVuaXQs
IHVzZSB0aGUgXCJDR1NcIiBlcXVpdmFsZW49CmN5OiIKKyAgICAgXQorICAgIH0sCisgICAgewor
ICAgICAiY2VsbF90eXBlIjogImNvZGUiLAorICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAg
ICJpbnB1dCI6IFsKKyAgICAgICJCID0zRCBZVFF1YW50aXR5KDEuMCxcIlRcIikgIyBtYWduZXRp
YyBmaWVsZCBpbiBUZXNsYVxuIiwKKyAgICAgICJwcmludCBCLCBCLnRvX2VxdWl2YWxlbnQoXCJn
YXVzc1wiLFwiQ0dTXCIpICMgY29udmVydCB0byBHYXVzcyIKKyAgICAgXSwKKyAgICAgImxhbmd1
YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAib3V0cHV0cyI6IFtd
CisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0
YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAgICAgICJFcXVpdmFsZW5jaWVzIGV4aXN0
IGJldHdlZW4gdGhlIFNJIGFuZCBjZ3MgZGltZW5zaW9ucyBvZiBjaGFyZ2UsIGN1PQpycmVudCwg
bWFnbmV0aWMgZmllbGQsIGVsZWN0cmljIHBvdGVudGlhbCwgYW5kIHJlc2lzdGFuY2UuIEFzIGEg
bmVhdCBleGFtcGw9CmUsIHdlIGNhbiBjb252ZXJ0IGN1cnJlbnQgaW4gQW1wZXJlcyBhbmQgcmVz
aXN0YW5jZSBpbiBPaG1zIHRvIHRoZWlyIGNncyBlcT0KdWl2YWxlbnRzLCBhbmQgdGhlbiB1c2Ug
dGhlbSB0byBjYWxjdWxhdGUgdGhlIFwiSm91bGUgaGVhdGluZ1wiIG9mIGEgY29uZHVjPQp0b3Ig
d2l0aCByZXNpc3RhbmNlICRSJCBhbmQgY3VycmVudCAkSSQ6IgorICAgICBdCisgICAgfSwKKyAg
ICB7CisgICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCisgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwK
KyAgICAgImlucHV0IjogWworICAgICAgIkkgPTNEIFlUUXVhbnRpdHkoMS4wLFwiQVwiKVxuIiwK
KyAgICAgICJJX2NncyA9M0QgSS50b19lcXVpdmFsZW50KFwic3RhdEFcIixcIkNHU1wiKVxuIiwK
KyAgICAgICJSID0zRCBZVFF1YW50aXR5KDEuMCxcIm9obVwiKVxuIiwKKyAgICAgICJSX2NncyA9
M0QgUi50b19lcXVpdmFsZW50KFwic3RhdG9obVwiLFwiQ0dTXCIpXG4iLAorICAgICAgIlAgPTNE
IEkqKjIqUlxuIiwKKyAgICAgICJQX2NncyA9M0QgSV9jZ3MqKjIqUl9jZ3MiCisgICAgIF0sCisg
ICAgICJsYW5ndWFnZSI6ICJweXRob24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAgICAgIm91
dHB1dHMiOiBbXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwK
KyAgICAgIm1ldGFkYXRhIjoge30sCisgICAgICJzb3VyY2UiOiBbCisgICAgICAiVGhlIGRpbWVu
c2lvbnMgb2YgY3VycmVudCBhbmQgcmVzaXN0YW5jZSBpbiB0aGUgdHdvIHN5c3RlbXMgYXJlIGNv
bT0KcGxldGVseSBkaWZmZXJlbnQsIGJ1dCB0aGUgZm9ybXVsYSBnaXZlcyB1cyB0aGUgcG93ZXIg
ZGlzc2lwYXRlZCBkaW1lbnNpb25zPQogb2YgZW5lcmd5IHBlciB0aW1lLCBzbyB0aGUgZGltZW5z
aW9ucyBhbmQgdGhlIHJlc3VsdCBzaG91bGQgYmUgdGhlIHNhbWUsIHc9CmhpY2ggd2UgY2FuIGNo
ZWNrOiIKKyAgICAgXQorICAgIH0sCisgICAgeworICAgICAiY2VsbF90eXBlIjogImNvZGUiLAor
ICAgICAiY29sbGFwc2VkIjogZmFsc2UsCisgICAgICJpbnB1dCI6IFsKKyAgICAgICJwcmludCBQ
X2Nncy51bml0cy5kaW1lbnNpb25zID0zRD0zRCBQLnVuaXRzLmRpbWVuc2lvbnNcbiIsCisgICAg
ICAicHJpbnQgUC5pbl91bml0cyhcIldcIiksIFBfY2dzLmluX3VuaXRzKFwiV1wiKSIKKyAgICAg
XSwKKyAgICAgImxhbmd1YWdlIjogInB5dGhvbiIsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAg
ICAib3V0cHV0cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICJjZWxsX3R5cGUiOiAiaGVhZGlu
ZyIsCisgICAgICJsZXZlbCI6IDMsCisgICAgICJtZXRhZGF0YSI6IHt9LAorICAgICAic291cmNl
IjogWwogICAgICAgIkRldGVybWluaW5nIFZhbGlkIEVxdWl2YWxlbmNpZXMiCiAgICAgIF0KICAg
ICB9LAoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1y
IDA2OTcyYmUyMTE2OTdlYmYxZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBkb2Mvc291cmNlL2Nv
b2tib29rL2NhbGN1bGF0aW5nX2luZm9ybWF0aW9uLnJzdAotLS0gYS9kb2Mvc291cmNlL2Nvb2ti
b29rL2NhbGN1bGF0aW5nX2luZm9ybWF0aW9uLnJzdAorKysgYi9kb2Mvc291cmNlL2Nvb2tib29r
L2NhbGN1bGF0aW5nX2luZm9ybWF0aW9uLnJzdApAQCAtODIsNiArODIsMTcgQEAKPTIwCiAuLiB5
dF9jb29rYm9vazo6IGRlcml2ZWRfZmllbGQucHkKPTIwCisuLiBfY29va2Jvb2stY29tcGxpY2F0
ZWQtZGVyaXZlZC1maWVsZHM6CisKK0NvbXBsaWNhdGVkIERlcml2ZWQgRmllbGRzCit+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fgorCitUaGlzIHJlY2lwZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHVz
ZSB0aGU9MjAKKzptZXRoOmB+eXQuZnJvbnRlbmRzLmZsYXNoLmRhdGFfc3RydWN0dXJlcy5GTEFT
SERhdGFzZXQuYWRkX2dyYWRpZW50X2ZpZWxkPQpzYCBtZXRob2QKK3RvIGdlbmVyYXRlIGdyYWRp
ZW50IGZpZWxkcyBhbmQgdXNlIHRoZW0gaW4gYSBtb3JlIGNvbXBsZXggZGVyaXZlZCBmaWVsZC49
MjAKKworLi4geXRfY29va2Jvb2s6OiBoc2VfZmllbGQucHkKKwogVXNpbmcgUGFydGljbGUgRmls
dGVycyB0byBDYWxjdWxhdGUgU3RhciBGb3JtYXRpb24gUmF0ZXMKIH5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj0yMAoKZGlmZiAtciA5NjIw
OGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdlYmYx
ZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBkb2Mvc291cmNlL2Nvb2tib29rL2hzZV9maWVsZC5w
eQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2hzZV9maWVsZC5weQorKysgYi9kb2Mvc291cmNl
L2Nvb2tib29rL2hzZV9maWVsZC5weQpAQCAtMSw0NCArMSwzMiBAQAogaW1wb3J0IG51bXB5IGFz
IG5wCiBpbXBvcnQgeXQKPTIwCi1mcm9tIHl0LmZpZWxkcy5maWVsZF9wbHVnaW5fcmVnaXN0cnkg
aW1wb3J0IFwKLSAgICByZWdpc3Rlcl9maWVsZF9wbHVnaW4KLWZyb20geXQuZmllbGRzLmZsdWlk
X2ZpZWxkcyBpbXBvcnQgXAotICAgIHNldHVwX2dyYWRpZW50X2ZpZWxkcwotCi0KLSMgRGVmaW5l
IHRoZSBjb21wb25lbnRzIG9mIHRoZSBncmF2aXRhdGlvbmFsIGFjY2VsZXJhdGlvbiB2ZWN0b3Ig
ZmllbGQgYnkKLSMgdGFraW5nIHRoZSBncmFkaWVudCBvZiB0aGUgZ3Jhdml0YXRpb25hbCBwb3Rl
bnRpYWwKLUByZWdpc3Rlcl9maWVsZF9wbHVnaW4KLWRlZiBzZXR1cF9teV9maWVsZHMocmVnaXN0
cnksIGZ0eXBlPTNEImdhcyIsIHNsaWNlX2luZm89M0ROb25lKToKLSAgICBzZXR1cF9ncmFkaWVu
dF9maWVsZHMocmVnaXN0cnksIChmdHlwZSwgImdyYXZpdGF0aW9uYWxfcG90ZW50aWFsIiksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICJjbSAqKiAyIC8gcyAqKiAyIiwgc2xpY2VfaW5mbykK
LQotIyBEZWZpbmUgdGhlICJkZWdyZWUgb2YgaHlkcm9zdGF0aWMgZXF1aWxpYnJpdW0iIGZpZWxk
Ci0KLQotQHl0LmRlcml2ZWRfZmllbGQobmFtZT0zRCdIU0UnLCB1bml0cz0zRE5vbmUsIHRha2Vf
bG9nPTNERmFsc2UsCi0gICAgICAgICAgICAgICAgICBkaXNwbGF5X25hbWU9M0QnSHlkcm9zdGF0
aWMgRXF1aWxpYnJpdW0nKQotZGVmIEhTRShmaWVsZCwgZGF0YSk6Ci0KLSAgICBneCA9M0QgZGF0
YVsiZGVuc2l0eSJdICogZGF0YVsiZ3Jhdml0YXRpb25hbF9wb3RlbnRpYWxfZ3JhZGllbnRfeCJd
Ci0gICAgZ3kgPTNEIGRhdGFbImRlbnNpdHkiXSAqIGRhdGFbImdyYXZpdGF0aW9uYWxfcG90ZW50
aWFsX2dyYWRpZW50X3kiXQotICAgIGd6ID0zRCBkYXRhWyJkZW5zaXR5Il0gKiBkYXRhWyJncmF2
aXRhdGlvbmFsX3BvdGVudGlhbF9ncmFkaWVudF96Il0KLQotICAgIGh4ID0zRCBkYXRhWyJwcmVz
c3VyZV9ncmFkaWVudF94Il0gLSBneAotICAgIGh5ID0zRCBkYXRhWyJwcmVzc3VyZV9ncmFkaWVu
dF95Il0gLSBneQotICAgIGh6ID0zRCBkYXRhWyJwcmVzc3VyZV9ncmFkaWVudF96Il0gLSBnegot
Ci0gICAgaCA9M0QgbnAuc3FydCgoaHggKiBoeCArIGh5ICogaHkgKyBoeiAqIGh6KSAvIChneCAq
IGd4ICsgZ3kgKiBneSArIGd6ID0KKiBneikpCi0KLSAgICByZXR1cm4gaAotCi0KICMgT3BlbiBh
IGRhdGFzZXQgZnJvbSB3aGVuIHRoZXJlJ3MgYSBsb3Qgb2Ygc2xvc2hpbmcgZ29pbmcgb24uCj0y
MAogZHMgPTNEIHl0LmxvYWQoIkdhc1Nsb3NoaW5nTG93UmVzL3Nsb3NoaW5nX2xvd19yZXNfaGRm
NV9wbHRfY250XzAzNTAiKQo9MjAKLSMgZ3JhZGllbnQgb3BlcmF0b3IgcmVxdWlyZXMgcGVyaW9k
aWMgYm91bmRhcmllcy4gIFRoaXMgZGF0YXNldCBoYXMKKyMgRGVmaW5lIHRoZSBjb21wb25lbnRz
IG9mIHRoZSBncmF2aXRhdGlvbmFsIGFjY2VsZXJhdGlvbiB2ZWN0b3IgZmllbGQgYnkKKyMgdGFr
aW5nIHRoZSBncmFkaWVudCBvZiB0aGUgZ3Jhdml0YXRpb25hbCBwb3RlbnRpYWwKK2dyYWRfZmll
bGRzID0zRCBkcy5hZGRfZ3JhZGllbnRfZmllbGRzKCgiZ2FzIiwiZ3Jhdml0YXRpb25hbF9wb3Rl
bnRpYWwiKSkKKworIyBXZSBkb24ndCBuZWVkIHRvIGRvIHRoZSBzYW1lIGZvciB0aGUgcHJlc3N1
cmUgZmllbGQgYmVjYXVzZSB5dCBhbHJlYWR5CisjIGhhcyBwcmVzc3VyZSBncmFkaWVudCBmaWVs
ZHMuIE5vdywgZGVmaW5lIHRoZSAiZGVncmVlIG9mIGh5ZHJvc3RhdGljPTIwCisjIGVxdWlsaWJy
aXVtIiBmaWVsZC4KKworZGVmIF9oc2UoZmllbGQsIGRhdGEpOgorICAgICMgUmVtZW1iZXIgdGhh
dCBnIGlzIHRoZSBuZWdhdGl2ZSBvZiB0aGUgcG90ZW50aWFsIGdyYWRpZW50CisgICAgZ3ggPTNE
IC1kYXRhWyJkZW5zaXR5Il0gKiBkYXRhWyJncmF2aXRhdGlvbmFsX3BvdGVudGlhbF9ncmFkaWVu
dF94Il0KKyAgICBneSA9M0QgLWRhdGFbImRlbnNpdHkiXSAqIGRhdGFbImdyYXZpdGF0aW9uYWxf
cG90ZW50aWFsX2dyYWRpZW50X3kiXQorICAgIGd6ID0zRCAtZGF0YVsiZGVuc2l0eSJdICogZGF0
YVsiZ3Jhdml0YXRpb25hbF9wb3RlbnRpYWxfZ3JhZGllbnRfeiJdCisgICAgaHggPTNEIGRhdGFb
InByZXNzdXJlX2dyYWRpZW50X3giXSAtIGd4CisgICAgaHkgPTNEIGRhdGFbInByZXNzdXJlX2dy
YWRpZW50X3kiXSAtIGd5CisgICAgaHogPTNEIGRhdGFbInByZXNzdXJlX2dyYWRpZW50X3oiXSAt
IGd6CisgICAgaCA9M0QgbnAuc3FydCgoaHggKiBoeCArIGh5ICogaHkgKyBoeiAqIGh6KSAvIChn
eCAqIGd4ICsgZ3kgKiBneSArIGd6ID0KKiBneikpCisgICAgcmV0dXJuIGgKK2RzLmFkZF9maWVs
ZCgoJ2dhcycsJ0hTRScpLCBmdW5jdGlvbj0zRF9oc2UsIHVuaXRzPTNEIiIsIHRha2VfbG9nPTNE
RmFsc2UsCisgICAgICAgICAgICAgZGlzcGxheV9uYW1lPTNEJ0h5ZHJvc3RhdGljIEVxdWlsaWJy
aXVtJykKKworIyBUaGUgZ3JhZGllbnQgb3BlcmF0b3IgcmVxdWlyZXMgcGVyaW9kaWMgYm91bmRh
cmllcy4gIFRoaXMgZGF0YXNldCBoYXMKICMgb3BlbiBib3VuZGFyeSBjb25kaXRpb25zLiAgV2Ug
bmVlZCB0byBoYWNrIGl0IGZvciBub3cgKHRoaXMgd2lsbCBiZSBmaXhlZAogIyBpbiBmdXR1cmUg
dmVyc2lvbiBvZiB5dCkKIGRzLnBlcmlvZGljaXR5ID0zRCAoVHJ1ZSwgVHJ1ZSwgVHJ1ZSkKCmRp
ZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3MmJl
MjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgZG9jL3NvdXJjZS9jb29rYm9vay9w
YXJ0aWNsZV9vbmVfY29sb3JfcGxvdC5weQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zb3VyY2Uv
Y29va2Jvb2svcGFydGljbGVfb25lX2NvbG9yX3Bsb3QucHkKQEAgLTAsMCArMSwxMyBAQAoraW1w
b3J0IHl0CisKKyMgbG9hZCB0aGUgZGF0YXNldAorZHMgPTNEIHl0LmxvYWQoJ0lzb2xhdGVkR2Fs
YXh5L2dhbGF4eTAwMzAvZ2FsYXh5MDAzMCcpCisKKyMgY3JlYXRlIG91ciBwbG90CitwID0zRCB5
dC5QYXJ0aWNsZVBsb3QoZHMsICdwYXJ0aWNsZV9wb3NpdGlvbl94JywgJ3BhcnRpY2xlX3Bvc2l0
aW9uX3knLCBjbz0KbG9yPTNEJ2InKQorCisjIHpvb20gaW4gYSBsaXR0bGUgYml0CitwLnNldF93
aWR0aCg1MDAsICdrcGMnKQorCisjc2F2ZSByZXN1bHQKK3Auc2F2ZSgpCgpkaWZmIC1yIDk2MjA4
YTUyMjY2YzhhN2UwOGFlMjIxOWQyMjUyNWNlYTAwOWJlOGEgLXIgMDY5NzJiZTIxMTY5N2ViZjFl
YzNlNWM9CjlmMWMyMjJjOWNjYjY5YjY1IGRvYy9zb3VyY2UvY29va2Jvb2svcGFydGljbGVfeHZ6
X3Bsb3QucHkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc291cmNlL2Nvb2tib29rL3BhcnRpY2xl
X3h2el9wbG90LnB5CkBAIC0wLDAgKzEsMTUgQEAKK2ltcG9ydCB5dAorCisjIGxvYWQgdGhlIGRh
dGFzZXQKK2RzID0zRCB5dC5sb2FkKCdJc29sYXRlZEdhbGF4eS9nYWxheHkwMDMwL2dhbGF4eTAw
MzAnKQorCisjIGNyZWF0ZSBvdXIgcGxvdAorcCA9M0QgeXQuUGFydGljbGVQbG90KGRzLCAncGFy
dGljbGVfcG9zaXRpb25feCcsICdwYXJ0aWNsZV92ZWxvY2l0eV96JywgWyc9CnBhcnRpY2xlX21h
c3MnXSkKKworIyBwaWNrIHNvbWUgYXBwcm9wcmlhdGUgdW5pdHMKK3Auc2V0X3VuaXQoJ3BhcnRp
Y2xlX3Bvc2l0aW9uX3gnLCAnTXBjJykKK3Auc2V0X3VuaXQoJ3BhcnRpY2xlX3ZlbG9jaXR5X3on
LCAna20vcycpCitwLnNldF91bml0KCdwYXJ0aWNsZV9tYXNzJywgJ01zdW4nKQorCisjIHNhdmUg
cmVzdWx0CitwLnNhdmUoKQoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVj
ZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdlYmYxZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBk
b2Mvc291cmNlL2Nvb2tib29rL3BhcnRpY2xlX3h5X3Bsb3QucHkKLS0tIC9kZXYvbnVsbAorKysg
Yi9kb2Mvc291cmNlL2Nvb2tib29rL3BhcnRpY2xlX3h5X3Bsb3QucHkKQEAgLTAsMCArMSwxNCBA
QAoraW1wb3J0IHl0CisKKyMgbG9hZCB0aGUgZGF0YXNldAorZHMgPTNEIHl0LmxvYWQoJ0lzb2xh
dGVkR2FsYXh5L2dhbGF4eTAwMzAvZ2FsYXh5MDAzMCcpCisKKyMgY3JlYXRlIG91ciBwbG90Citw
ID0zRCB5dC5QYXJ0aWNsZVBsb3QoZHMsICdwYXJ0aWNsZV9wb3NpdGlvbl94JywgJ3BhcnRpY2xl
X3Bvc2l0aW9uX3knLCAncD0KYXJ0aWNsZV9tYXNzJywgd2lkdGg9M0QoMC41LCAwLjUpKQorCisj
IHBpY2sgc29tZSBhcHByb3ByaWF0ZSB1bml0cworcC5zZXRfYXhlc191bml0KCdrcGMnKQorcC5z
ZXRfdW5pdCgncGFydGljbGVfbWFzcycsICdNc3VuJykKKworI3NhdmUgcmVzdWx0CitwLnNhdmUo
KQoKZGlmZiAtciA5NjIwOGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2
OTcyYmUyMTE2OTdlYmYxZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBkb2Mvc291cmNlL2Nvb2ti
b29rL3JlbmRlcmluZ193aXRoX2JveF9hbmRfZ3JpZHMucHkKLS0tIGEvZG9jL3NvdXJjZS9jb29r
Ym9vay9yZW5kZXJpbmdfd2l0aF9ib3hfYW5kX2dyaWRzLnB5CisrKyBiL2RvYy9zb3VyY2UvY29v
a2Jvb2svcmVuZGVyaW5nX3dpdGhfYm94X2FuZF9ncmlkcy5weQpAQCAtMTUsNyArMTUsNyBAQAog
IyBXZSBidW1wIHVwIG91ciBtaW5pbXVtIHRvIGN1dCBvdXQgc29tZSBvZiB0aGUgYmFja2dyb3Vu
ZCBmbHVpZAogdGYgPTNEIHl0LkNvbG9yVHJhbnNmZXJGdW5jdGlvbigobnAubG9nMTAobWkpKzIu
MCwgbnAubG9nMTAobWEpKSkKPTIwCi0jIEFkZCB0aHJlZSBndWFzc2lhbnMsIGV2ZW5seSBzcGFj
ZWQgYmV0d2VlbiB0aGUgbWluIGFuZAorIyBBZGQgdGhyZWUgR2F1c3NpYW5zLCBldmVubHkgc3Bh
Y2VkIGJldHdlZW4gdGhlIG1pbiBhbmQKICMgbWF4IHNwZWNpZmllZCBhYm92ZSB3aXRoIHdpZHRo
cyBvZiAwLjAyIGFuZCB1c2luZyB0aGUKICMgZ2lzdF9zdGVybiBjb2xvcm1hcC4KIHRmLmFkZF9s
YXllcnMoMywgdz0zRDAuMDIsIGNvbG9ybWFwPTNEImdpc3Rfc3Rlcm4iKQoKZGlmZiAtciA5NjIw
OGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdlYmYx
ZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBkb2Mvc291cmNlL2Nvb2tib29rL3NpbXBsZV9wbG90
cy5yc3QKLS0tIGEvZG9jL3NvdXJjZS9jb29rYm9vay9zaW1wbGVfcGxvdHMucnN0CisrKyBiL2Rv
Yy9zb3VyY2UvY29va2Jvb2svc2ltcGxlX3Bsb3RzLnJzdApAQCAtMTI0LDYgKzEyNCw0MSBAQAo9
MjAKIC4uIHl0X2Nvb2tib29rOjogc2ltcGxlX29mZl9heGlzX3Byb2plY3Rpb24ucHkKPTIwCisu
LiBfY29va2Jvb2stc2ltcGxlLXBhcnRpY2xlLXBsb3Q6CisKK1NpbXBsZSBQYXJ0aWNsZSBQbG90
Cit+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitZb3UgY2FuIGFsc28gdXNlIHl0IHRvIG1ha2UgcGFy
dGljbGUtb25seSBwbG90cy4gVGhpcyBzY3JpcHQgc2hvd3MgaG93IHRvCitwbG90IGFsbCB0aGUg
cGFydGljbGUgeCBhbmQgeSBwb3NpdGlvbnMgaW4gYSBkYXRhc2V0LCB1c2luZyB0aGUgcGFydGlj
bGUgbT0KYXNzCit0byBzZXQgdGhlIGNvbG9yIHNjYWxlLgorU2VlIDpyZWY6YHBhcnRpY2xlLXBs
b3RzYCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKworLi4geXRfY29va2Jvb2s6OiBwYXJ0aWNsZV94
eV9wbG90LnB5CisKKy4uIF9jb29rYm9vay1ub24tc3BhdGlhbC1wYXJ0aWNsZS1wbG90OgorCitO
b24tc3BhdGlhbCBQYXJ0aWNsZSBQbG90cworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwor
WW91IGFyZSBub3QgbGltaXRlZCB0byBwbG90dGluZyBzcGF0aWFsIGZpZWxkcyBvbiB0aGUgeCBh
bmQgeSBheGVzLiBUaGlzCitleGFtcGxlIHNob3dzIGhvdyB0byBwbG90IHRoZSBwYXJ0aWNsZSB4
LWNvb3JkaW5hdGVzIHZlcnN1cyB0aGVpciB6LXZlbG9jaT0KdGllcywKK2FnYWluIHVzaW5nIHRo
ZSBwYXJ0aWNsZSBtYXNzIHRvIHNldCB0aGUgY29sb3JiYXIuPTIwCitTZWUgOnJlZjpgcGFydGlj
bGUtcGxvdHNgIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisuLiB5dF9jb29rYm9vazo6IHBhcnRp
Y2xlX3h2el9wbG90LnB5CisKKy4uIF9jb29rYm9vay1zaW5nbGUtY29sb3ItcGFydGljbGUtcGxv
dDoKKworU2luZ2xlLWNvbG9yIFBhcnRpY2xlIFBsb3RzCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn4KKworSWYgeW91IGRvbid0IHdhbnQgdG8gZGlzcGxheSBhIHRoaXJkIGZpZWxkIG9uIHRo
ZSBjb2xvciBiYXIgYXhpcywgc2ltcGx5IHA9CmFzcworaW4gYSBjb2xvciBzdHJpbmcgaW5zdGVh
ZCBvZiBhIHBhcnRpY2xlIGZpZWxkLgorU2VlIDpyZWY6YHBhcnRpY2xlLXBsb3RzYCBmb3IgbW9y
ZSBpbmZvcm1hdGlvbi4KKworLi4geXRfY29va2Jvb2s6OiBwYXJ0aWNsZV9vbmVfY29sb3JfcGxv
dC5weQorCiAuLiBfY29va2Jvb2stc2ltcGxlX3ZvbHVtZV9yZW5kZXJpbmc6Cj0yMAogU2ltcGxl
IFZvbHVtZSBSZW5kZXJpbmcKCmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1
Y2VhMDA5YmU4YSAtciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUg
ZG9jL3NvdXJjZS9jb29rYm9vay9zaW1wbGVfdm9sdW1lX3JlbmRlcmluZy5weQotLS0gYS9kb2Mv
c291cmNlL2Nvb2tib29rL3NpbXBsZV92b2x1bWVfcmVuZGVyaW5nLnB5CisrKyBiL2RvYy9zb3Vy
Y2UvY29va2Jvb2svc2ltcGxlX3ZvbHVtZV9yZW5kZXJpbmcucHkKQEAgLTE1LDkgKzE1LDkgQEAK
ICMgV2UgYnVtcCB1cCBvdXIgbWluaW11bSB0byBjdXQgb3V0IHNvbWUgb2YgdGhlIGJhY2tncm91
bmQgZmx1aWQKIHRmID0zRCB5dC5Db2xvclRyYW5zZmVyRnVuY3Rpb24oKG5wLmxvZzEwKG1pKSsx
LCBucC5sb2cxMChtYSkpKQo9MjAKLSMgQWRkIHRocmVlIGd1YXNzaWFucywgZXZlbmx5IHNwYWNl
ZCBiZXR3ZWVuIHRoZSBtaW4gYW5kCisjIEFkZCBmaXZlIEdhdXNzaWFucywgZXZlbmx5IHNwYWNl
ZCBiZXR3ZWVuIHRoZSBtaW4gYW5kCiAjIG1heCBzcGVjaWZpZWQgYWJvdmUgd2l0aCB3aWR0aHMg
b2YgMC4wMiBhbmQgdXNpbmcgdGhlCi0jIGdpc3Rfc3Rlcm4gY29sb3JtYXAuCisjIHNwZWN0cmFs
IGNvbG9ybWFwLgogdGYuYWRkX2xheWVycyg1LCB3PTNEMC4wMiwgY29sb3JtYXA9M0Qic3BlY3Ry
YWwiKQo9MjAKICMgQ2hvb3NlIGEgY2VudGVyIGZvciB0aGUgcmVuZGVyLgoKZGlmZiAtciA5NjIw
OGE1MjI2NmM4YTdlMDhhZTIyMTlkMjI1MjVjZWEwMDliZThhIC1yIDA2OTcyYmUyMTE2OTdlYmYx
ZWMzZTVjPQo5ZjFjMjIyYzljY2I2OWI2NSBkb2Mvc291cmNlL2RldmVsb3BpbmcvZGV2ZWxvcGlu
Zy5yc3QKLS0tIGEvZG9jL3NvdXJjZS9kZXZlbG9waW5nL2RldmVsb3BpbmcucnN0CisrKyBiL2Rv
Yy9zb3VyY2UvZGV2ZWxvcGluZy9kZXZlbG9waW5nLnJzdApAQCAtNSw5ICs1LDkgQEAKPTIwCiAu
LiBub3RlOjogSWYgeW91IGFscmVhZHkga25vdyBob3cgdG8gdXNlIHZlcnNpb24gY29udHJvbCBh
bmQgYXJlIGNvbWZvcnRhYj0KbGUKICAgIHdpdGggaGFuZGxpbmcgaXQgeW91cnNlbGYsIHRoZSBx
dWlja2VzdCB3YXkgdG8gY29udHJpYnV0ZSB0byB5dCBpcyB0byBgPQpmb3JrCi0gICB1cyBvbiBC
aXRCdWNrZXQgPGh0dHA6Ly9oZy55dC1wcm9qZWN0Lm9yZy95dC9mb3JrPmBfLCBgbWFrZSB5b3Vy
IGNoYW5nZXMKKyAgIHVzIG9uIEJpdEJ1Y2tldCA8aHR0cDovL2JpdGJ1Y2tldC5vcmcveXRfYW5h
bHlzaXMveXQvZm9yaz5gXywgYG1ha2UgeW91PQpyIGNoYW5nZXMKICAgIDxodHRwOi8vbWVyY3Vy
aWFsLnNlbGVuaWMuY29tLz5gXywgYW5kIGlzc3VlIGEgYHB1bGwgcmVxdWVzdAotICAgPGh0dHA6
Ly9oZy55dC1wcm9qZWN0Lm9yZy95dC9wdWxsLXJlcXVlc3RzPmBfLiAgVGhlIHJlc3Qgb2YgdGhp
cyBkb2N1bWU9Cm50IGlzIGp1c3QgYW4KKyAgIDxodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFs
eXNpcy95dC9wdWxsLXJlcXVlc3RzPmBfLiAgVGhlIHJlc3Qgb2YgdGhpPQpzIGRvY3VtZW50IGlz
IGp1c3QgYW4KICAgIGV4cGxhbmF0aW9uIG9mIGhvdyB0byBkbyB0aGF0Lgo9MjAKIHl0IGlzIGEg
Y29tbXVuaXR5IHByb2plY3QhCkBAIC0zNTQsNyArMzU0LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj0yMAogeXQgaXMgaG9zdGVkIG9uIEJpdEJ1Y2tldCwgYW5k
IHlvdSBjYW4gc2VlIGFsbCBvZiB0aGUgeXQgcmVwb3NpdG9yaWVzIGF0Ci1odHRwOi8vaGcueXQt
cHJvamVjdC5vcmcvLiAgV2l0aCB0aGUgeXQgaW5zdGFsbGF0aW9uIHNjcmlwdCB5b3Ugc2hvdWxk
IGhhdj0KZSBhCitodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy8uICBXaXRoIHRoZSB5
dCBpbnN0YWxsYXRpb24gc2NyaXB0IHlvdSBzaD0Kb3VsZCBoYXZlIGEKIGNvcHkgb2YgTWVyY3Vy
aWFsIGZvciBjaGVja2luZyBvdXQgcGllY2VzIG9mIGNvZGUuICBNYWtlIHN1cmUgeW91IGhhdmUg
Zm9sPQpsb3dlZAogdGhlIHN0ZXBzIGFib3ZlIGZvciBib290c3RyYXBwaW5nIHlvdXIgZGV2ZWxv
cG1lbnQgKHRvIGFzc3VyZSB5b3UgaGF2ZSBhCiBiaXRidWNrZXQgYWNjb3VudCwgZXRjLikKCmRp
ZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3MmJl
MjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgZG9jL3NvdXJjZS9leGFtaW5pbmcv
bG9hZGluZ19kYXRhLnJzdAotLS0gYS9kb2Mvc291cmNlL2V4YW1pbmluZy9sb2FkaW5nX2RhdGEu
cnN0CisrKyBiL2RvYy9zb3VyY2UvZXhhbWluaW5nL2xvYWRpbmdfZGF0YS5yc3QKQEAgLTEwNCw3
ICsxMDQsMTEgQEAKIC0tLS0tLS0tLS0tCj0yMAogQXRoZW5hIDQueCBWVEsgZGF0YSBpcyAqbW9z
dGx5KiBzdXBwb3J0ZWQgYW5kIGNhcmVkIGZvciBieSBKb2huCi1adUhvbmUuIEJvdGggdW5pZm9y
bSBncmlkIGFuZCBTTVIgZGF0YXNldHMgYXJlIHN1cHBvcnRlZC4KK1p1SG9uZS4gQm90aCB1bmlm
b3JtIGdyaWQgYW5kIFNNUiBkYXRhc2V0cyBhcmUgc3VwcG9ydGVkLj0yMAorCisuLiBub3RlOj0y
MAorICAgeXQgYWxzbyByZWNvZ25pemVzIEZhcmdvM0QgZGF0YSB3cml0dGVuIHRvIFZUSyBmaWxl
cyBhcz0yMAorICAgQXRoZW5hIGRhdGEsIGJ1dCBzdXBwb3J0IGZvciBGYXJnbzNEIGRhdGEgaXMg
cHJlbGltaW5hcnkuPTIwCj0yMAogTG9hZGluZyBBdGhlbmEgZGF0YXNldHMgaXMgc2xpZ2h0bHkg
ZGlmZmVyZW50IGRlcGVuZGluZyBvbiB3aGV0aGVyCiB5b3VyIGRhdGFzZXQgY2FtZSBmcm9tIGEg
c2VyaWFsIG9yIGEgcGFyYWxsZWwgcnVuLiBJZiB0aGUgZGF0YSBjYW1lCkBAIC00NjksNiArNDcz
LDggQEAKICAgZmlyc3QgaW1hZ2UgaW4gdGhlIHByaW1hcnkgZmlsZS4gSWYgdGhpcyBpcyBub3Qg
dGhlIGNhc2UsCiAgIHl0IHdpbGwgcmFpc2UgYSB3YXJuaW5nIGFuZCB3aWxsIG5vdCBsb2FkIHRo
aXMgZmllbGQuCj0yMAorLi4gX2FkZGl0aW9uYWxfZml0c19vcHRpb25zOgorCiBBZGRpdGlvbmFs
IE9wdGlvbnMKIF5eXl5eXl5eXl5eXl5eXl5eXgo9MjAKQEAgLTU3MCw2ICs1NzYsMzUgQEAKIGBg
V0NTQXhlc2BgIGlzIHN0aWxsIGluIGFuIGV4cGVyaW1lbnRhbCBzdGF0ZSwgYnV0IGFzIGl0cyBm
dW5jdGlvbmFsaXR5IGltPQpwcm92ZXMgaXQgd2lsbCBiZQogdXRpbGl6ZWQgbW9yZSBoZXJlLgo9
MjAKK2BgY3JlYXRlX3NwZWN0cmFsX3NsYWJzYGAKKyIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIK
KworLi4gbm90ZTo6CisKKyAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHRo
ZSBgc3BlY3RyYWwtY3ViZSA8aHR0cDovL3NwZWN0cmFsPQotY3ViZS5yZWFkdGhlZG9jcy5vcmc+
YF8KKyAgbGlicmFyeSB0byBiZSBpbnN0YWxsZWQuPTIwCisgPTIwCitJZiB5b3UgaGF2ZSBhIHNw
ZWN0cmFsIGludGVuc2l0eSBkYXRhc2V0IG9mIHNvbWUgc29ydCwgYW5kIHdvdWxkIGxpa2UgdG8g
ZT0KeHRyYWN0IGVtaXNzaW9uIGluPTIwCitwYXJ0aWN1bGFyIHNsYWJzIGFsb25nIHRoZSBzcGVj
dHJhbCBheGlzIG9mIGEgY2VydGFpbiB3aWR0aCwgYGBjcmVhdGVfc3BlYz0KdHJhbF9zbGFic2Bg
IGNhbiBiZQordXNlZCB0byBnZW5lcmF0ZSBhIGRhdGFzZXQgd2l0aCB0aGVzZSBzbGFicyBhcyBk
aWZmZXJlbnQgZmllbGRzLiBJbiB0aGlzIGU9CnhhbXBsZSwgd2UgdXNlIGl0Cit0byBleHRyYWN0
IGluZGl2aWR1YWwgbGluZXMgZnJvbSBhbiBpbnRlbnNpdHkgY3ViZToKKworLi4gY29kZS1ibG9j
azo6IHB5dGhvbgorCisgIHNsYWJfY2VudGVycyA9M0QgeycxM0NOJzogKDIxOC4wMzExNywgJ0dI
eicpLAorICAgICAgICAgICAgICAgICAgJ0NIM0NIMkNITyc6ICgyMTguMjg0MjU2LCAnR0h6Jyks
CisgICAgICAgICAgICAgICAgICAnQ0gzTkgyJzogKDIxOC40MDk1NiwgJ0dIeicpfQorICBzbGFi
X3dpZHRoID0zRCAoMC4wNSwgIkdIeiIpCisgIGRzID0zRCBjcmVhdGVfc3BlY3RyYWxfc2xhYnMo
ImludGVuc2l0eV9jdWJlLmZpdHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2xhYl9jZW50ZXJzLCBzbGFiX3dpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbmFuX21hc2s9M0QwLjApCisKK0FsbCBrZXl3b3JkIGFyZ3VtZW50cyB0byBgY3Jl
YXRlX3NwZWN0cmFsX3NsYWJzYCBhcmUgcGFzc2VkIG9uIHRvIGBsb2FkYCB3PQpoZW4gY3JlYXRp
bmcgdGhlIGRhdGFzZXQKKyhzZWUgOnJlZjpgYWRkaXRpb25hbF9maXRzX29wdGlvbnNgIGFib3Zl
KS4gSW4gdGhlIHJldHVybmVkIGRhdGFzZXQsIHRoZSBkPQppZmZlcmVudCBzbGFicyB3aWxsIGJl
CitkaWZmZXJlbnQgZmllbGRzLCB3aXRoIHRoZSBmaWVsZCBuYW1lcyB0YWtlbiBmcm9tIHRoZSBr
ZXlzIGluIGBgc2xhYl9jZW50ZT0KcnNgYC4gVGhlIFdDUyBjb29yZGluYXRlcz0yMAorb24gdGhl
IHNwZWN0cmFsIGF4aXMgYXJlIHJlc2V0IHNvIHRoYXQgdGhlIGNlbnRlciBvZiB0aGUgZG9tYWlu
IGFsb25nIHRoaXM9CiBheGlzIGlzIHplcm8sIGFuZCB0aGU9MjAKK2xlZnQgYW5kIHJpZ2h0IGVk
Z2VzIG9mIHRoZSBkb21haW4gYWxvbmcgdGhpcyBheGlzIGFyZSA6bWF0aDpgXHBtYCBgYDAuNSpz
PQpsYWJfd2lkdGhgYC4KKwogRXhhbXBsZXMgb2YgVXNpbmcgRklUUyBEYXRhCiBeXl5eXl5eXl5e
Xl5eXl5eXl5eXl5eXl5eXl4KPTIwCkBAIC02MzUsMTMgKzY3MCwxNCBAQAogICAgaW1wb3J0IHl0
CiAgICBkcyA9M0QgeXQubG9hZCgic25hcHNob3RfMDYxLmhkZjUiKQo9MjAKLUhvd2V2ZXIsIHl0
IGNhbm5vdCBkZXRlY3QgcmF3LWJpbmFyeSBHYWRnZXQgZGF0YSwgYW5kIHNvIHlvdSBtdXN0IHNw
ZWNpZnkgPQp0aGUKLWZvcm1hdCBhcyBiZWluZyBHYWRnZXQ6CitHYWRnZXQgZGF0YSBpbiByYXcg
YmluYXJ5IGZvcm1hdCBjYW4gYWxzbyBiZSBsb2FkZWQgd2l0aCB0aGUgYGBsb2FkYGAgY29tbT0K
YW5kLj0yMAorVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCBmb3Igc25hcHNob3RzIGNyZWF0ZWQgd2l0
aCB0aGUgYGBTbmFwRm9ybWF0YGAgcGFyYW09CmV0ZXI9MjAKK3NldCB0byAxICh0aGUgc3RhbmRh
cmQgZm9yIEdhZGdldC0yKS4KPTIwCiAuLiBjb2RlLWJsb2NrOjogcHl0aG9uCj0yMAogICAgaW1w
b3J0IHl0Ci0gICBkcyA9M0QgeXQuR2FkZ2V0RGF0YXNldCgic25hcHNob3RfMDYxIikKKyAgIGRz
ID0zRCB5dC5sb2FkKCJzbmFwc2hvdF8wNjEiKQo9MjAKIC4uIF9wYXJ0aWNsZS1iYm94Ogo9MjAK
CmRpZmYgLXIgOTYyMDhhNTIyNjZjOGE3ZTA4YWUyMjE5ZDIyNTI1Y2VhMDA5YmU4YSAtciAwNjk3
MmJlMjExNjk3ZWJmMWVjM2U1Yz0KOWYxYzIyMmM5Y2NiNjliNjUgZG9jL3NvdXJjZS9oZWxwL2lu
ZGV4LnJzdAotLS0gYS9kb2Mvc291cmNlL2hlbHAvaW5kZXgucnN0CisrKyBiL2RvYy9zb3VyY2Uv
aGVscC9pbmRleC5yc3QKQEAgLTIxMSw3ICsyMTEsNyBAQAogSWYgeW91IGhhdmUgZ29uZSB0aHJv
dWdoIGFsbCBvZiB0aGUgYWJvdmUgc3RlcHMsIGFuZCB5b3UncmUgc3RpbGwgZW5jb3VudGU9CnJp
bmc9MjAKIHByb2JsZW1zLCB0aGVuIHlvdSBoYXZlIGZvdW5kIGEgYnVnLiA9MjAKIFRvIHN1Ym1p
dCBhIGJ1ZyByZXBvcnQsIHlvdSBjYW4gZWl0aGVyIGRpcmVjdGx5IGNyZWF0ZSBvbmUgdGhyb3Vn
aCB0aGUKLUJpdEJ1Y2tldCBgd2ViIGludGVyZmFjZSA8aHR0cDovL2hnLnl0LXByb2plY3Qub3Jn
L3l0L2lzc3Vlcy9uZXc+YF8sCitCaXRCdWNrZXQgYHdlYiBpbnRlcmZhY2UgPGh0dHA6Ly9iaXRi
dWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2lzc3Vlcy9uZXc+YD0KXywKIG9yIHlvdSBjYW4gdXNl
IHRoZSBjb21tYW5kIGxpbmUgYGB5dCBidWdyZXBvcnRgYCB0byBpbnRlcmFjdGl2ZWx5IGNyZWF0
ZSBvPQpuZS4KIEFsdGVybmF0aXZlbHksIGVtYWlsIHRoZSBgYHl0LXVzZXJzYGAgbWFpbGluZyBs
aXN0IGFuZCB3ZSB3aWxsIGNvbnN0cnVjdCBhPQogbmV3CiB0aWNrZXQgaW4geW91ciBzdGVhZC4g
IFJlbWVtYmVyIHRvIGluY2x1ZGUgdGhlIGluZm9ybWF0aW9uCgpUaGlzIGRpZmYgaXMgc28gYmln
IHRoYXQgd2UgbmVlZGVkIHRvIHRydW5jYXRlIHRoZSByZW1haW5kZXIuCgpodHRwczovL2JpdGJ1
Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy85ZmUwNzczMzYzNzcvCkNoYW5nZXNldDog
ICA5ZmUwNzczMzYzNzcKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0
ZTogICAgICAgIDIwMTUtMDctMTMgMTg6MjA6NDcrMDA6MDAKU3VtbWFyeTogICAgIEluaXRpYWxp
emUgRXhvZHVzIElJIHNrZWxldG9uIGZpbGVzCkFmZmVjdGVkICM6ICA4IGZpbGVzCgpkaWZmIC1y
IDA2OTcyYmUyMTE2OTdlYmYxZWMzZTVjOWYxYzIyMmM5Y2NiNjliNjUgLXIgOWZlMDc3MzM2Mzc3
YmI1YTE5MDBkMzU9Cjg0ZjAxMzYzNGY0NmFmM2RjIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvX19p
bml0X18ucHkKLS0tIC9kZXYvbnVsbAorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL19faW5p
dF9fLnB5CkBAIC0wLDAgKzEsMTQgQEAKKyIiIgorQVBJIGZvciB5dC5mcm9udGVuZHMuc2tlbGV0
b24KKworCisKKyIiIgorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorIyBDb3B5cmlnaHQgKGMp
IDIwMTMsIHl0IERldmVsb3BtZW50IFRlYW0uCisjCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgTW9kaWZpZWQgQlNEIExpY2Vuc2UuCisjCisjIFRoZSBmdWxsIGxpY2Vuc2Ug
aXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0K
YXJlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KCmRpZmYgLXIgMDY5NzJiZTIxMTY5N2ViZjFl
YzNlNWM5ZjFjMjIyYzljY2I2OWI2NSAtciA5ZmUwNzczMzYzNzdiYjVhMTkwMGQzNT0KODRmMDEz
NjM0ZjQ2YWYzZGMgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9hcGkucHkKLS0tIC9kZXYvbnVsbAor
KysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2FwaS5weQpAQCAtMCwwICsxLDI1IEBACisiIiIK
K0FQSSBmb3IgeXQuZnJvbnRlbmRzLl9za2VsZXRvbgorCisKKworIiIiCisKKyMtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tPQotLS0tCisjIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxvcG1lbnQgVGVhbS4K
KyMKKyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNb2RpZmllZCBCU0QgTGlj
ZW5zZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwg
ZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0t
LQorCitmcm9tIC5kYXRhX3N0cnVjdHVyZXMgaW1wb3J0IFwKKyAgICAgIFNrZWxldG9uR3JpZCwg
XAorICAgICAgU2tlbGV0b25IaWVyYXJjaHksIFwKKyAgICAgIFNrZWxldG9uRGF0YXNldAorCitm
cm9tIC5maWVsZHMgaW1wb3J0IFwKKyAgICAgIFNrZWxldG9uRmllbGRJbmZvCisKK2Zyb20gLmlv
IGltcG9ydCBcCisgICAgICBJT0hhbmRsZXJTa2VsZXRvbgoKZGlmZiAtciAwNjk3MmJlMjExNjk3
ZWJmMWVjM2U1YzlmMWMyMjJjOWNjYjY5YjY1IC1yIDlmZTA3NzMzNjM3N2JiNWExOTAwZDM1PQo4
NGYwMTM2MzRmNDZhZjNkYyB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5w
eQotLS0gL2Rldi9udWxsCisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1
cmVzLnB5CkBAIC0wLDAgKzEsMTQzIEBACisiIiIKK1NrZWxldG9uIGRhdGEgc3RydWN0dXJlcwor
CisKKworIiIiCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisjIENvcHlyaWdodCAoYykgMjAx
MywgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMKKyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBNb2RpZmllZCBCU0QgTGljZW5zZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5zZSBpcyBp
biB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUu
CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorCitmcm9tIHl0LmRhdGFfb2JqZWN0cy5ncmlkX3Bh
dGNoIGltcG9ydCBcCisgICAgQU1SR3JpZFBhdGNoCitmcm9tIHl0Lmdlb21ldHJ5LmdyaWRfZ2Vv
bWV0cnlfaGFuZGxlciBpbXBvcnQgXAorICAgIEdyaWRJbmRleAorZnJvbSB5dC5kYXRhX29iamVj
dHMuc3RhdGljX291dHB1dCBpbXBvcnQgXAorICAgIERhdGFzZXQKK2Zyb20gLmZpZWxkcyBpbXBv
cnQgU2tlbGV0b25GaWVsZEluZm8KKworY2xhc3MgU2tlbGV0b25HcmlkKEFNUkdyaWRQYXRjaCk6
CisgICAgX2lkX29mZnNldCA9M0QgMAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpZCwgaW5kZXgs
IGxldmVsLCBzdGFydCwgZGltZW5zaW9ucyk6CisgICAgICAgIEFNUkdyaWRQYXRjaC5fX2luaXRf
XyhzZWxmLCBpZCwgZmlsZW5hbWU9M0RpbmRleC5pbmRleF9maWxlbmFtZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGV4PTNEaW5kZXgpCisgICAgICAgIHNlbGYuUGFyZW50ID0z
RCBbXQorICAgICAgICBzZWxmLkNoaWxkcmVuID0zRCBbXQorICAgICAgICBzZWxmLkxldmVsID0z
RCBsZXZlbAorICAgICAgICBzZWxmLnN0YXJ0X2luZGV4ID0zRCBzdGFydC5jb3B5KCkKKyAgICAg
ICAgc2VsZi5zdG9wX2luZGV4ID0zRCBzZWxmLnN0YXJ0X2luZGV4ICsgZGltZW5zaW9ucworICAg
ICAgICBzZWxmLkFjdGl2ZURpbWVuc2lvbnMgPTNEIGRpbWVuc2lvbnMuY29weSgpCisKKyAgICBk
ZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAiU2tlbGV0b25HcmlkXyUwNGkgKCVz
KSIgJSAoc2VsZi5pZCwgc2VsZi5BY3RpdmVEaW1lbnNpb25zKQorCitjbGFzcyBTa2VsZXRvbkhp
ZXJhcmNoeShHcmlkSW5kZXgpOgorICAgIGdyaWQgPTNEIFNrZWxldG9uR3JpZAorCisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIGRzLCBkYXRhc2V0X3R5cGU9M0Qnc2tlbGV0b24nKToKKyAgICAgICAg
c2VsZi5kYXRhc2V0X3R5cGUgPTNEIGRhdGFzZXRfdHlwZQorICAgICAgICAjIGZvciBub3csIHRo
ZSBpbmRleCBmaWxlIGlzIHRoZSBkYXRhc2V0IQorICAgICAgICBzZWxmLmluZGV4X2ZpbGVuYW1l
ID0zRCBzZWxmLmRhdGFzZXQucGFyYW1ldGVyX2ZpbGVuYW1lCisgICAgICAgIHNlbGYuZGlyZWN0
b3J5ID0zRCBvcy5wYXRoLmRpcm5hbWUoc2VsZi5pbmRleF9maWxlbmFtZSkKKyAgICAgICAgR3Jp
ZEluZGV4Ll9faW5pdF9fKHNlbGYsIGRzLCBkYXRhc2V0X3R5cGUpCisKKyAgICBkZWYgX2RldGVj
dF9vdXRwdXRfZmllbGRzKHNlbGYpOgorICAgICAgICAjIFRoaXMgbmVlZHMgdG8gc2V0IGEgc2Vs
Zi5maWVsZF9saXN0IHRoYXQgY29udGFpbnMgYWxsIHRoZSBhdmFpbGE9CmJsZSwKKyAgICAgICAg
IyBvbi1kaXNrIGZpZWxkcy4KKyAgICAgICAgIyBOT1RFOiBFYWNoIHNob3VsZCBiZSBhIHR1cGxl
LCB3aGVyZSB0aGUgZmlyc3QgZWxlbWVudCBpcyB0aGUgb24tPQpkaXNrCisgICAgICAgICMgZmx1
aWQgdHlwZSBvciBwYXJ0aWNsZSB0eXBlLiAgQ29udmVudGlvbiBzdWdnZXN0cyB0aGF0IHRoZSBv
bi1kaT0Kc2sKKyAgICAgICAgIyBmbHVpZCB0eXBlIGlzIHVzdWFsbHkgdGhlIGRhdGFzZXRfdHlw
ZSBhbmQgdGhlIG9uLWRpc2sgcGFydGljbGUgPQp0eXBlCisgICAgICAgICMgKGZvciBhIHNpbmds
ZSBwb3B1bGF0aW9uIG9mIHBhcnRpY2xlcykgaXMgImlvIi4KKyAgICAgICAgcGFzcworCisgICAg
ZGVmIF9jb3VudF9ncmlkcyhzZWxmKToKKyAgICAgICAgIyBUaGlzIG5lZWRzIHRvIHNldCBzZWxm
Lm51bV9ncmlkcworICAgICAgICBwYXNzCisKKyAgICBkZWYgX3BhcnNlX2luZGV4KHNlbGYpOgor
ICAgICAgICAjIFRoaXMgbmVlZHMgdG8gZmlsbCB0aGUgZm9sbG93aW5nIGFycmF5cywgd2hlcmUg
TiBpcyBzZWxmLm51bV9ncmk9CmRzOgorICAgICAgICAjICAgc2VsZi5ncmlkX2xlZnRfZWRnZSAg
ICAgICAgIChOLCAzKSA8PTNEIGZsb2F0NjQKKyAgICAgICAgIyAgIHNlbGYuZ3JpZF9yaWdodF9l
ZGdlICAgICAgICAoTiwgMykgPD0zRCBmbG9hdDY0CisgICAgICAgICMgICBzZWxmLmdyaWRfZGlt
ZW5zaW9ucyAgICAgICAgKE4sIDMpIDw9M0QgaW50CisgICAgICAgICMgICBzZWxmLmdyaWRfcGFy
dGljbGVfY291bnQgICAgKE4sIDEpIDw9M0QgaW50CisgICAgICAgICMgICBzZWxmLmdyaWRfbGV2
ZWxzICAgICAgICAgICAgKE4sIDEpIDw9M0QgaW50CisgICAgICAgICMgICBzZWxmLmdyaWRzICAg
ICAgICAgICAgICAgICAgKE4sIDEpIDw9M0QgZ3JpZCBvYmplY3RzCisgICAgICAgICMKKyAgICAg
ICAgcGFzcworCisgICAgZGVmIF9wb3B1bGF0ZV9ncmlkX29iamVjdHMoc2VsZik6CisgICAgICAg
ICMgRm9yIGVhY2ggZ3JpZCwgdGhpcyBtdXN0IGNhbGw6CisgICAgICAgICMgICBncmlkLl9wcmVw
YXJlX2dyaWQoKQorICAgICAgICAjICAgZ3JpZC5fc2V0dXBfZHgoKQorICAgICAgICAjIFRoaXMg
bXVzdCBhbHNvIHNldDoKKyAgICAgICAgIyAgIGdyaWQuQ2hpbGRyZW4gPD0zRCBsaXN0IG9mIGNo
aWxkIGdyaWRzCisgICAgICAgICMgICBncmlkLlBhcmVudCAgIDw9M0QgcGFyZW50IGdyaWQKKyAg
ICAgICAgIyBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIGZyb250ZW5kIGJlY2F1c2Ugb2Z0ZW4gdGhl
IGNoaWxkcmVuIG11c3QgPQpiZQorICAgICAgICAjIGlkZW50aWZpZWQuCisgICAgICAgIHBhc3MK
KworY2xhc3MgU2tlbGV0b25EYXRhc2V0KERhdGFzZXQpOgorICAgIF9pbmRleF9jbGFzcyA9M0Qg
U2tlbGV0b25IaWVyYXJjaHkKKyAgICBfZmllbGRfaW5mb19jbGFzcyA9M0QgU2tlbGV0b25GaWVs
ZEluZm8KKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNldF90eXBlPTNE
J3NrZWxldG9uJywKKyAgICAgICAgICAgICAgICAgc3RvcmFnZV9maWxlbmFtZT0zRE5vbmUsCisg
ICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlPTNETm9uZSk6CisgICAgICAgIHNlbGYuZmx1
aWRfdHlwZXMgKz0zRCAoJ3NrZWxldG9uJywpCisgICAgICAgIERhdGFzZXQuX19pbml0X18oc2Vs
ZiwgZmlsZW5hbWUsIGRhdGFzZXRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1bml0
c19vdmVycmlkZT0zRHVuaXRzX292ZXJyaWRlKQorICAgICAgICBzZWxmLnN0b3JhZ2VfZmlsZW5h
bWUgPTNEIHN0b3JhZ2VfZmlsZW5hbWUKKworICAgIGRlZiBfc2V0X2NvZGVfdW5pdF9hdHRyaWJ1
dGVzKHNlbGYpOgorICAgICAgICAjIFRoaXMgaXMgd2hlcmUgcXVhbnRpdGllcyBhcmUgY3JlYXRl
ZCB0aGF0IHJlcHJlc2VudCB0aGUgdmFyaW91cworICAgICAgICAjIG9uLWRpc2sgdW5pdHMuICBU
aGVzZSBhcmUgdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgcXVhbnRpdGllcyB3aGk9CmNoCisgICAg
ICAgICMgc2hvdWxkIGJlIHNldCwgYWxvbmcgd2l0aCBleGFtcGxlcyBvZiBob3cgdG8gc2V0IHRo
ZW0gdG8gc3RhbmRhcmQKKyAgICAgICAgIyB2YWx1ZXMuCisgICAgICAgICMKKyAgICAgICAgIyBz
ZWxmLmxlbmd0aF91bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiY20iKQorICAgICAgICAjIHNlbGYu
bWFzc191bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiZyIpCisgICAgICAgICMgc2VsZi50aW1lX3Vu
aXQgPTNEIHNlbGYucXVhbigxLjAsICJzIikKKyAgICAgICAgIyBzZWxmLnRpbWVfdW5pdCA9M0Qg
c2VsZi5xdWFuKDEuMCwgInMiKQorICAgICAgICAjCisgICAgICAgICMgVGhlc2UgY2FuIGFsc28g
YmUgc2V0OgorICAgICAgICAjIHNlbGYudmVsb2NpdHlfdW5pdCA9M0Qgc2VsZi5xdWFuKDEuMCwg
ImNtL3MiKQorICAgICAgICAjIHNlbGYubWFnbmV0aWNfdW5pdCA9M0Qgc2VsZi5xdWFuKDEuMCwg
ImdhdXNzIikKKyAgICAgICAgcGFzcworCisgICAgZGVmIF9wYXJzZV9wYXJhbWV0ZXJfZmlsZShz
ZWxmKToKKyAgICAgICAgIyBUaGlzIG5lZWRzIHRvIHNldCB1cCB0aGUgZm9sbG93aW5nIGl0ZW1z
LiAgTm90ZSB0aGF0IHRoZXNlIGFyZSBhPQpsbAorICAgICAgICAjIGFzc3VtZWQgdG8gYmUgaW4g
Y29kZSB1bml0czsgZG9tYWluX2xlZnRfZWRnZSBhbmQgZG9tYWluX3JpZ2h0X2U9CmRnZQorICAg
ICAgICAjIHdpbGwgYmUgdXBkYXRlZCB0byBiZSBpbiBjb2RlIHVuaXRzIGF0IGEgbGF0ZXIgdGlt
ZS4gIFRoaXMgaW5jbHU9CmRlcworICAgICAgICAjIHRoZSBjb3Ntb2xvZ2ljYWwgcGFyYW1ldGVy
cy4KKyAgICAgICAgIworICAgICAgICAjICAgc2VsZi51bmlxdWVfaWRlbnRpZmllcgorICAgICAg
ICAjICAgc2VsZi5wYXJhbWV0ZXJzICAgICAgICAgICAgIDw9M0QgZnVsbCBvZiBjb2RlLXNwZWNp
ZmljIGl0ZW1zIG89CmYgdXNlCisgICAgICAgICMgICBzZWxmLmRvbWFpbl9sZWZ0X2VkZ2UgICAg
ICAgPD0zRCBhcnJheSBvZiBmbG9hdDY0CisgICAgICAgICMgICBzZWxmLmRvbWFpbl9yaWdodF9l
ZGdlICAgICAgPD0zRCBhcnJheSBvZiBmbG9hdDY0CisgICAgICAgICMgICBzZWxmLmRpbWVuc2lv
bmFsaXR5ICAgICAgICAgPD0zRCBpbnQKKyAgICAgICAgIyAgIHNlbGYuZG9tYWluX2RpbWVuc2lv
bnMgICAgICA8PTNEIGFycmF5IG9mIGludDY0CisgICAgICAgICMgICBzZWxmLnBlcmlvZGljaXR5
ICAgICAgICAgICAgPD0zRCB0aHJlZS1lbGVtZW50IHR1cGxlIG9mIGJvb2xlYT0KbnMKKyAgICAg
ICAgIyAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICA8PTNEIHNpbXVsYXRpb24gdGltZSBp
biBjb2RlIHVuaXRzCisgICAgICAgICMKKyAgICAgICAgIyBXZSBhbHNvIHNldCB1cCBjb3Ntb2xv
Z2ljYWwgaW5mb3JtYXRpb24uICBTZXQgdGhlc2UgdG8gemVybyBpZgorICAgICAgICAjIG5vbi1j
b3Ntb2xvZ2ljYWwuCisgICAgICAgICMKKyAgICAgICAgIyAgIHNlbGYuY29zbW9sb2dpY2FsX3Np
bXVsYXRpb24gICAgPD0zRCBpbnQsIDAgb3IgMQorICAgICAgICAjICAgc2VsZi5jdXJyZW50X3Jl
ZHNoaWZ0ICAgICAgICAgICA8PTNEIGZsb2F0CisgICAgICAgICMgICBzZWxmLm9tZWdhX2xhbWJk
YSAgICAgICAgICAgICAgIDw9M0QgZmxvYXQKKyAgICAgICAgIyAgIHNlbGYub21lZ2FfbWF0dGVy
ICAgICAgICAgICAgICAgPD0zRCBmbG9hdAorICAgICAgICAjICAgc2VsZi5odWJibGVfY29uc3Rh
bnQgICAgICAgICAgICA8PTNEIGZsb2F0CisgICAgICAgIHBhc3MKKworICAgIEBjbGFzc21ldGhv
ZAorICAgIGRlZiBfaXNfdmFsaWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIyBU
aGlzIGFjY2VwdHMgYSBmaWxlbmFtZSBvciBhIHNldCBvZiBhcmd1bWVudHMgYW5kIHJldHVybnMg
VHJ1ZSBvcgorICAgICAgICAjIEZhbHNlIGRlcGVuZGluZyBvbiBpZiB0aGUgZmlsZSBpcyBvZiB0
aGUgdHlwZSByZXF1ZXN0ZWQuCisgICAgICAgIHJldHVybiBGYWxzZQorCisKCmRpZmYgLXIgMDY5
NzJiZTIxMTY5N2ViZjFlYzNlNWM5ZjFjMjIyYzljY2I2OWI2NSAtciA5ZmUwNzczMzYzNzdiYjVh
MTkwMGQzNT0KODRmMDEzNjM0ZjQ2YWYzZGMgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kZWZpbml0
aW9ucy5weQotLS0gL2Rldi9udWxsCisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGVmaW5p
dGlvbnMucHkKQEAgLTAsMCArMSwxIEBACisjIFRoaXMgZmlsZSBpcyBvZnRlbiBlbXB0eS4gIEl0
IGNhbiBob2xkIGRlZmluaXRpb25zIHJlbGF0ZWQgdG8gYSBmcm9udGVuZC4KCmRpZmYgLXIgMDY5
NzJiZTIxMTY5N2ViZjFlYzNlNWM5ZjFjMjIyYzljY2I2OWI2NSAtciA5ZmUwNzczMzYzNzdiYjVh
MTkwMGQzNT0KODRmMDEzNjM0ZjQ2YWYzZGMgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9maWVsZHMu
cHkKLS0tIC9kZXYvbnVsbAorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2ZpZWxkcy5weQpA
QCAtMCwwICsxLDQ3IEBACisiIiIKK1NrZWxldG9uLXNwZWNpZmljIGZpZWxkcworCisKKworIiIi
CisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisjIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2
ZWxvcG1lbnQgVGVhbS4KKyMKKyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBN
b2RpZmllZCBCU0QgTGljZW5zZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmls
ZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCisjLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLT0KLS0tLQorCitpbXBvcnQgbnVtcHkgYXMgbnAKK2Zyb20geXQuZnVuY3MgaW1w
b3J0IG15bG9nCitmcm9tIHl0LmZpZWxkcy5maWVsZF9pbmZvX2NvbnRhaW5lciBpbXBvcnQgXAor
ICAgIEZpZWxkSW5mb0NvbnRhaW5lcgorCisjIFdlIG5lZWQgdG8gc3BlY2lmeSB3aGljaCBmaWVs
ZHMgd2UgbWlnaHQgaGF2ZSBpbiBvdXIgZGF0YXNldC4gIFRoZSBmaWVsZD0KIGluZm8KKyMgY29u
dGFpbmVyIHN1YmNsYXNzIGhlcmUgd2lsbCBkZWZpbmUgd2hpY2ggZmllbGRzIGl0IGtub3dzIGFi
b3V0LiAgVGhlcmUgPQphcmUKKyMgb3B0aW9uYWxseSBtZXRob2RzIG9uIGl0IHRoYXQgZ2V0IGNh
bGxlZCB3aGljaCBjYW4gYmUgc3ViY2xhc3NlZC4KKworY2xhc3MgU2tlbGV0b25GaWVsZEluZm8o
RmllbGRJbmZvQ29udGFpbmVyKToKKyAgICBrbm93bl9vdGhlcl9maWVsZHMgPTNEICgKKyAgICAg
ICAgIyBFYWNoIGVudHJ5IGhlcmUgaXMgb2YgdGhlIGZvcm0KKyAgICAgICAgIyAoICJuYW1lIiwg
KCJ1bml0cyIsIFsiZmllbGRzIiwgInRvIiwgImFsaWFzIl0sICMgImRpc3BsYXlfbmFtZSIpPQop
LAorICAgICkKKworICAgIGtub3duX3BhcnRpY2xlX2ZpZWxkcyA9M0QgKAorICAgICAgICAjIElk
ZW50aWNhbCBmb3JtIHRvIGFib3ZlCisgICAgICAgICMgKCAibmFtZSIsICgidW5pdHMiLCBbImZp
ZWxkcyIsICJ0byIsICJhbGlhcyJdLCAjICJkaXNwbGF5X25hbWUiKT0KKSwKKyAgICApCisKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgZHMpOgorICAgICAgICBzdXBlcihTa2VsZXRvbkZpZWxkSW5m
bywgc2VsZikuX19pbml0X18oZHMpCisgICAgICAgICMgSWYgeW91IHdhbnQsIHlvdSBjYW4gY2hl
Y2sgc2VsZi5maWVsZF9saXN0CisKKyAgICBkZWYgc2V0dXBfZmx1aWRfZmllbGRzKHNlbGYpOgor
ICAgICAgICAjIEhlcmUgd2UgZG8gYW55dGhpbmcgdGhhdCBtaWdodCBuZWVkIGluZm8gYWJvdXQg
dGhlIGRhdGFzZXQuCisgICAgICAgICMgWW91IGNhbiB1c2Ugc2VsZi5hbGlhcywgc2VsZi5hZGRf
b3V0cHV0X2ZpZWxkIGFuZCBzZWxmLmFkZF9maWVsZD0KIC4KKyAgICAgICAgcGFzcworCisgICAg
ZGVmIHNldHVwX3BhcnRpY2xlX2ZpZWxkcyhzZWxmLCBwdHlwZSk6CisgICAgICAgICMgVGhpcyB3
aWxsIGdldCBjYWxsZWQgZm9yIGV2ZXJ5IHBhcnRpY2xlIHR5cGUuCisgICAgICAgIHBhc3MKCmRp
ZmYgLXIgMDY5NzJiZTIxMTY5N2ViZjFlYzNlNWM5ZjFjMjIyYzljY2I2OWI2NSAtciA5ZmUwNzcz
MzYzNzdiYjVhMTkwMGQzNT0KODRmMDEzNjM0ZjQ2YWYzZGMgeXQvZnJvbnRlbmRzL2V4b2R1c19p
aS9pby5weQotLS0gL2Rldi9udWxsCisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkK
QEAgLTAsMCArMSw1MCBAQAorIiIiCitTa2VsZXRvbi1zcGVjaWZpYyBJTyBmdW5jdGlvbnMKKwor
CisKKyIiIgorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTMs
IHl0IERldmVsb3BtZW50IFRlYW0uCisjCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgTW9kaWZpZWQgQlNEIExpY2Vuc2UuCisjCisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4g
dGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgor
Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KKworZnJvbSB5dC51dGlsaXRpZXMuaW9faGFuZGxlciBp
bXBvcnQgXAorICAgIEJhc2VJT0hhbmRsZXIKKworY2xhc3MgSU9IYW5kbGVyU2tlbGV0b24oQmFz
ZUlPSGFuZGxlcik6CisgICAgX3BhcnRpY2xlX3JlYWRlciA9M0QgRmFsc2UKKyAgICBfZGF0YXNl
dF90eXBlID0zRCAic2tlbGV0b24iCisKKyAgICBkZWYgX3JlYWRfcGFydGljbGVfY29vcmRzKHNl
bGYsIGNodW5rcywgcHRmKToKKyAgICAgICAgIyBUaGlzIG5lZWRzIHRvICp5aWVsZCogYSBzZXJp
ZXMgb2YgdHVwbGVzIG9mIChwdHlwZSwgKHgsIHksIHopKS4KKyAgICAgICAgIyBjaHVua3MgaXMg
YSBsaXN0IG9mIGNodW5rcywgYW5kIHB0ZiBpcyBhIGRpY3Qgd2hlcmUgdGhlIGtleXMgYXJlCisg
ICAgICAgICMgcHR5cGVzIGFuZCB0aGUgdmFsdWVzIGFyZSBsaXN0cyBvZiBmaWVsZHMuCisgICAg
ICAgIHBhc3MKKworICAgIGRlZiBfcmVhZF9wYXJ0aWNsZV9maWVsZHMoc2VsZiwgY2h1bmtzLCBw
dGYsIHNlbGVjdG9yKToKKyAgICAgICAgIyBUaGlzIGdldHMgY2FsbGVkIGFmdGVyIHRoZSBhcnJh
eXMgaGF2ZSBiZWVuIGFsbG9jYXRlZC4gIEl0IG5lZWRzPQogdG8KKyAgICAgICAgIyB5aWVsZCAo
KHB0eXBlLCBmaWVsZCksIGRhdGEpIHdoZXJlIGRhdGEgaXMgdGhlIG1hc2tlZCByZXN1bHRzIG9m
CisgICAgICAgICMgcmVhZGluZyBwdHlwZSwgZmllbGQgYW5kIGFwcGx5aW5nIHRoZSBzZWxlY3Rv
ciB0byB0aGUgZGF0YSByZWFkID0KaW4uCisgICAgICAgICMgU2VsZWN0b3Igb2JqZWN0cyBoYXZl
IGEgLnNlbGVjdF9wb2ludHMoeCx5LHopIHRoYXQgcmV0dXJucyBhIG1hcz0Kaywgc28KKyAgICAg
ICAgIyB5b3UgbmVlZCB0byBkbyB5b3VyIG1hc2tpbmcgaGVyZS4KKyAgICAgICAgcGFzcworCisK
KyAgICBkZWYgX3JlYWRfZmx1aWRfc2VsZWN0aW9uKHNlbGYsIGNodW5rcywgc2VsZWN0b3IsIGZp
ZWxkcywgc2l6ZSk6CisgICAgICAgICMgVGhpcyBuZWVkcyB0byBhbGxvY2F0ZSBhIHNldCBvZiBh
cnJheXMgaW5zaWRlIGEgZGljdGlvbmFyeSwgd2hlcj0KZSB0aGUKKyAgICAgICAgIyBrZXlzIGFy
ZSB0aGUgKGZ0eXBlLCBmbmFtZSkgdHVwbGVzIGFuZCB0aGUgdmFsdWVzIGFyZSBhcnJheXMgdGhh
dAorICAgICAgICAjIGhhdmUgYmVlbiBtYXNrZWQgdXNpbmcgd2hhdGV2ZXIgc2VsZWN0b3IgbWV0
aG9kIGlzIGFwcHJvcHJpYXRlLiA9CiBUaGUKKyAgICAgICAgIyBkaWN0IGdldHMgcmV0dXJuZWQg
YXQgdGhlIGVuZCBhbmQgaXQgc2hvdWxkIGJlIGZsYXQsIHdpdGggc2VsZWN0PQplZAorICAgICAg
ICAjIGRhdGEuICBOb3RlIHRoYXQgaWYgeW91J3JlIHJlYWRpbmcgZ3JpZCBkYXRhLCB5b3UgbWln
aHQgbmVlZCB0bworICAgICAgICAjIHNwZWNpYWwtY2FzZSBhIGdyaWQgc2VsZWN0b3Igb2JqZWN0
LgorICAgICAgICBwYXNzCisKKyAgICBkZWYgX3JlYWRfY2h1bmtfZGF0YShzZWxmLCBjaHVuaywg
ZmllbGRzKToKKyAgICAgICAgIyBUaGlzIHJlYWRzIHRoZSBkYXRhIGZyb20gYSBzaW5nbGUgY2h1
bmssIGFuZCBpcyBvbmx5IHVzZWQgZm9yCisgICAgICAgICMgY2FjaGluZy4KKyAgICAgICAgcGFz
cwoKZGlmZiAtciAwNjk3MmJlMjExNjk3ZWJmMWVjM2U1YzlmMWMyMjJjOWNjYjY5YjY1IC1yIDlm
ZTA3NzMzNjM3N2JiNWExOTAwZDM1PQo4NGYwMTM2MzRmNDZhZjNkYyB5dC9mcm9udGVuZHMvZXhv
ZHVzX2lpL3NldHVwLnB5Ci0tLSAvZGV2L251bGwKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19p
aS9zZXR1cC5weQpAQCAtMCwwICsxLDEzIEBACisjIS91c3IvYmluL2VudiBweXRob24KK2ltcG9y
dCBzZXR1cHRvb2xzCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBvcy5wYXRoCisKKwor
ZGVmIGNvbmZpZ3VyYXRpb24ocGFyZW50X3BhY2thZ2U9M0QnJywgdG9wX3BhdGg9M0ROb25lKToK
KyAgICBmcm9tIG51bXB5LmRpc3R1dGlscy5taXNjX3V0aWwgaW1wb3J0IENvbmZpZ3VyYXRpb24K
KyAgICBjb25maWcgPTNEIENvbmZpZ3VyYXRpb24oJ3NrZWxldG9uJywgcGFyZW50X3BhY2thZ2Us
IHRvcF9wYXRoKQorICAgIGNvbmZpZy5tYWtlX2NvbmZpZ19weSgpICAjIGluc3RhbGxzIF9fY29u
ZmlnX18ucHkKKyAgICAjY29uZmlnLm1ha2Vfc3ZuX3ZlcnNpb25fcHkoKQorICAgIHJldHVybiBj
b25maWcKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9mNjk4
ZWE0YzI2OGEvCkNoYW5nZXNldDogICBmNjk4ZWE0YzI2OGEKQnJhbmNoOiAgICAgIHl0ClVzZXI6
ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMTMgMTg6MjY6NTYrMDA6MDAK
U3VtbWFyeTogICAgIFJlbmFtZQpBZmZlY3RlZCAjOiAgNiBmaWxlcwoKZGlmZiAtciA5ZmUwNzcz
MzYzNzdiYjVhMTkwMGQzNTg0ZjAxMzYzNGY0NmFmM2RjIC1yIGY2OThlYTRjMjY4YTJkYjczMzhk
NjcwPQo0Mzg2MzBhZGE3ODI4ZGU1ZCB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL19faW5pdF9fLnB5
Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvX19pbml0X18ucHkKKysrIGIveXQvZnJvbnRl
bmRzL2V4b2R1c19paS9fX2luaXRfXy5weQpAQCAtMSw1ICsxLDUgQEAKICIiIgotQVBJIGZvciB5
dC5mcm9udGVuZHMuc2tlbGV0b24KK0FQSSBmb3IgeXQuZnJvbnRlbmRzLmV4b2R1c19paQo9MjAK
PTIwCj0yMAoKZGlmZiAtciA5ZmUwNzczMzYzNzdiYjVhMTkwMGQzNTg0ZjAxMzYzNGY0NmFmM2Rj
IC1yIGY2OThlYTRjMjY4YTJkYjczMzhkNjcwPQo0Mzg2MzBhZGE3ODI4ZGU1ZCB5dC9mcm9udGVu
ZHMvZXhvZHVzX2lpL2FwaS5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2FwaS5weQor
KysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2FwaS5weQpAQCAtMSw1ICsxLDUgQEAKICIiIgot
QVBJIGZvciB5dC5mcm9udGVuZHMuX3NrZWxldG9uCitBUEkgZm9yIHl0LmZyb250ZW5kcy5leG9k
dXNfaWkKPTIwCj0yMAo9MjAKQEAgLTE0LDEyICsxNCwxMiBAQAogIy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09
Ci0tLS0KPTIwCiBmcm9tIC5kYXRhX3N0cnVjdHVyZXMgaW1wb3J0IFwKLSAgICAgIFNrZWxldG9u
R3JpZCwgXAotICAgICAgU2tlbGV0b25IaWVyYXJjaHksIFwKLSAgICAgIFNrZWxldG9uRGF0YXNl
dAorICAgICAgRXhvZHVzSUlHcmlkLCBcCisgICAgICBFeG9kdXNJSUhpZXJhcmNoeSwgXAorICAg
ICAgRXhvZHVzSUlEYXRhc2V0Cj0yMAogZnJvbSAuZmllbGRzIGltcG9ydCBcCi0gICAgICBTa2Vs
ZXRvbkZpZWxkSW5mbworICAgICAgRXhvZHVzSUlGaWVsZEluZm8KPTIwCiBmcm9tIC5pbyBpbXBv
cnQgXAotICAgICAgSU9IYW5kbGVyU2tlbGV0b24KKyAgICAgIElPSGFuZGxlckV4b2R1c0lJCgpk
aWZmIC1yIDlmZTA3NzMzNjM3N2JiNWExOTAwZDM1ODRmMDEzNjM0ZjQ2YWYzZGMgLXIgZjY5OGVh
NGMyNjhhMmRiNzMzOGQ2NzA9CjQzODYzMGFkYTc4MjhkZTVkIHl0L2Zyb250ZW5kcy9leG9kdXNf
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9z
dHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVz
LnB5CkBAIC0xLDUgKzEsNSBAQAogIiIiCi1Ta2VsZXRvbiBkYXRhIHN0cnVjdHVyZXMKK0V4b2R1
cyBJSSBkYXRhIHN0cnVjdHVyZXMKPTIwCj0yMAo9MjAKQEAgLTE5LDkgKzE5LDkgQEAKICAgICBH
cmlkSW5kZXgKIGZyb20geXQuZGF0YV9vYmplY3RzLnN0YXRpY19vdXRwdXQgaW1wb3J0IFwKICAg
ICBEYXRhc2V0Ci1mcm9tIC5maWVsZHMgaW1wb3J0IFNrZWxldG9uRmllbGRJbmZvCitmcm9tIC5m
aWVsZHMgaW1wb3J0IEV4b2R1c0lJRmllbGRJbmZvCj0yMAotY2xhc3MgU2tlbGV0b25HcmlkKEFN
UkdyaWRQYXRjaCk6CitjbGFzcyBFeG9kdXNJSUdyaWQoQU1SR3JpZFBhdGNoKToKICAgICBfaWRf
b2Zmc2V0ID0zRCAwCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlkLCBpbmRleCwgbGV2ZWwsIHN0
YXJ0LCBkaW1lbnNpb25zKToKICAgICAgICAgQU1SR3JpZFBhdGNoLl9faW5pdF9fKHNlbGYsIGlk
LCBmaWxlbmFtZT0zRGluZGV4LmluZGV4X2ZpbGVuYW1lLApAQCAtMzQsMTIgKzM0LDEyIEBACiAg
ICAgICAgIHNlbGYuQWN0aXZlRGltZW5zaW9ucyA9M0QgZGltZW5zaW9ucy5jb3B5KCkKPTIwCiAg
ICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIlNrZWxldG9uR3JpZF8lMDRp
ICglcykiICUgKHNlbGYuaWQsIHNlbGYuQWN0aXZlRGltZW5zaW9ucykKKyAgICAgICAgcmV0dXJu
ICJFeG9kdXNJSUdyaWRfJTA0aSAoJXMpIiAlIChzZWxmLmlkLCBzZWxmLkFjdGl2ZURpbWVuc2lv
bnMpCj0yMAotY2xhc3MgU2tlbGV0b25IaWVyYXJjaHkoR3JpZEluZGV4KToKLSAgICBncmlkID0z
RCBTa2VsZXRvbkdyaWQKK2NsYXNzIEV4b2R1c0lJSGllcmFyY2h5KEdyaWRJbmRleCk6CisgICAg
Z3JpZCA9M0QgRXhvZHVzSUlHcmlkCj0yMAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcywgZGF0
YXNldF90eXBlPTNEJ3NrZWxldG9uJyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzLCBkYXRh
c2V0X3R5cGU9M0QnZXhvZHVzX2lpJyk6CiAgICAgICAgIHNlbGYuZGF0YXNldF90eXBlID0zRCBk
YXRhc2V0X3R5cGUKICAgICAgICAgIyBmb3Igbm93LCB0aGUgaW5kZXggZmlsZSBpcyB0aGUgZGF0
YXNldCEKICAgICAgICAgc2VsZi5pbmRleF9maWxlbmFtZSA9M0Qgc2VsZi5kYXRhc2V0LnBhcmFt
ZXRlcl9maWxlbmFtZQpAQCAtODEsMTQgKzgxLDE0IEBACiAgICAgICAgICMgaWRlbnRpZmllZC4K
ICAgICAgICAgcGFzcwo9MjAKLWNsYXNzIFNrZWxldG9uRGF0YXNldChEYXRhc2V0KToKLSAgICBf
aW5kZXhfY2xhc3MgPTNEIFNrZWxldG9uSGllcmFyY2h5Ci0gICAgX2ZpZWxkX2luZm9fY2xhc3Mg
PTNEIFNrZWxldG9uRmllbGRJbmZvCitjbGFzcyBFeG9kdXNJSURhdGFzZXQoRGF0YXNldCk6Cisg
ICAgX2luZGV4X2NsYXNzID0zRCBFeG9kdXNJSUhpZXJhcmNoeQorICAgIF9maWVsZF9pbmZvX2Ns
YXNzID0zRCBFeG9kdXNJSUZpZWxkSW5mbwo9MjAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZmls
ZW5hbWUsIGRhdGFzZXRfdHlwZT0zRCdza2VsZXRvbicsCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGZpbGVuYW1lLCBkYXRhc2V0X3R5cGU9M0QnZXhvZHVzX2lpJywKICAgICAgICAgICAgICAgICAg
c3RvcmFnZV9maWxlbmFtZT0zRE5vbmUsCiAgICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRl
PTNETm9uZSk6Ci0gICAgICAgIHNlbGYuZmx1aWRfdHlwZXMgKz0zRCAoJ3NrZWxldG9uJywpCisg
ICAgICAgIHNlbGYuZmx1aWRfdHlwZXMgKz0zRCAoJ2V4b2R1c19paScsKQogICAgICAgICBEYXRh
c2V0Ll9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0X3R5cGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0R1bml0c19vdmVycmlkZSkKICAgICAgICAgc2Vs
Zi5zdG9yYWdlX2ZpbGVuYW1lID0zRCBzdG9yYWdlX2ZpbGVuYW1lCgpkaWZmIC1yIDlmZTA3NzMz
NjM3N2JiNWExOTAwZDM1ODRmMDEzNjM0ZjQ2YWYzZGMgLXIgZjY5OGVhNGMyNjhhMmRiNzMzOGQ2
NzA9CjQzODYzMGFkYTc4MjhkZTVkIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZmllbGRzLnB5Ci0t
LSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZmllbGRzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9l
eG9kdXNfaWkvZmllbGRzLnB5CkBAIC0xLDUgKzEsNSBAQAogIiIiCi1Ta2VsZXRvbi1zcGVjaWZp
YyBmaWVsZHMKK0V4b2R1c0lJLXNwZWNpZmljIGZpZWxkcwo9MjAKPTIwCj0yMApAQCAtMjIsNyAr
MjIsNyBAQAogIyBjb250YWluZXIgc3ViY2xhc3MgaGVyZSB3aWxsIGRlZmluZSB3aGljaCBmaWVs
ZHMgaXQga25vd3MgYWJvdXQuICBUaGVyZSA9CmFyZQogIyBvcHRpb25hbGx5IG1ldGhvZHMgb24g
aXQgdGhhdCBnZXQgY2FsbGVkIHdoaWNoIGNhbiBiZSBzdWJjbGFzc2VkLgo9MjAKLWNsYXNzIFNr
ZWxldG9uRmllbGRJbmZvKEZpZWxkSW5mb0NvbnRhaW5lcik6CitjbGFzcyBFeG9kdXNJSUZpZWxk
SW5mbyhGaWVsZEluZm9Db250YWluZXIpOgogICAgIGtub3duX290aGVyX2ZpZWxkcyA9M0QgKAog
ICAgICAgICAjIEVhY2ggZW50cnkgaGVyZSBpcyBvZiB0aGUgZm9ybQogICAgICAgICAjICggIm5h
bWUiLCAoInVuaXRzIiwgWyJmaWVsZHMiLCAidG8iLCAiYWxpYXMiXSwgIyAiZGlzcGxheV9uYW1l
Iik9CiksCkBAIC0zNCw3ICszNCw3IEBACiAgICAgKQo9MjAKICAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZHMpOgotICAgICAgICBzdXBlcihTa2VsZXRvbkZpZWxkSW5mbywgc2VsZikuX19pbml0X18o
ZHMpCisgICAgICAgIHN1cGVyKEV4b2R1c0lJRmllbGRJbmZvLCBzZWxmKS5fX2luaXRfXyhkcykK
ICAgICAgICAgIyBJZiB5b3Ugd2FudCwgeW91IGNhbiBjaGVjayBzZWxmLmZpZWxkX2xpc3QKPTIw
CiAgICAgZGVmIHNldHVwX2ZsdWlkX2ZpZWxkcyhzZWxmKToKCmRpZmYgLXIgOWZlMDc3MzM2Mzc3
YmI1YTE5MDBkMzU4NGYwMTM2MzRmNDZhZjNkYyAtciBmNjk4ZWE0YzI2OGEyZGI3MzM4ZDY3MD0K
NDM4NjMwYWRhNzgyOGRlNWQgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95dC9m
cm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8u
cHkKQEAgLTEsNSArMSw1IEBACiAiIiIKLVNrZWxldG9uLXNwZWNpZmljIElPIGZ1bmN0aW9ucwor
RXhvZHVzSUktc3BlY2lmaWMgSU8gZnVuY3Rpb25zCj0yMAo9MjAKPTIwCkBAIC0xNiw5ICsxNiw5
IEBACiBmcm9tIHl0LnV0aWxpdGllcy5pb19oYW5kbGVyIGltcG9ydCBcCiAgICAgQmFzZUlPSGFu
ZGxlcgo9MjAKLWNsYXNzIElPSGFuZGxlclNrZWxldG9uKEJhc2VJT0hhbmRsZXIpOgorY2xhc3Mg
SU9IYW5kbGVyRXhvZHVzSUkoQmFzZUlPSGFuZGxlcik6CiAgICAgX3BhcnRpY2xlX3JlYWRlciA9
M0QgRmFsc2UKLSAgICBfZGF0YXNldF90eXBlID0zRCAic2tlbGV0b24iCisgICAgX2RhdGFzZXRf
dHlwZSA9M0QgImV4b2R1c19paSIKPTIwCiAgICAgZGVmIF9yZWFkX3BhcnRpY2xlX2Nvb3Jkcyhz
ZWxmLCBjaHVua3MsIHB0Zik6CiAgICAgICAgICMgVGhpcyBuZWVkcyB0byAqeWllbGQqIGEgc2Vy
aWVzIG9mIHR1cGxlcyBvZiAocHR5cGUsICh4LCB5LCB6KSkuCgpkaWZmIC1yIDlmZTA3NzMzNjM3
N2JiNWExOTAwZDM1ODRmMDEzNjM0ZjQ2YWYzZGMgLXIgZjY5OGVhNGMyNjhhMmRiNzMzOGQ2NzA9
CjQzODYzMGFkYTc4MjhkZTVkIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvc2V0dXAucHkKLS0tIGEv
eXQvZnJvbnRlbmRzL2V4b2R1c19paS9zZXR1cC5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVz
X2lpL3NldHVwLnB5CkBAIC03LDcgKzcsNyBAQAo9MjAKIGRlZiBjb25maWd1cmF0aW9uKHBhcmVu
dF9wYWNrYWdlPTNEJycsIHRvcF9wYXRoPTNETm9uZSk6CiAgICAgZnJvbSBudW1weS5kaXN0dXRp
bHMubWlzY191dGlsIGltcG9ydCBDb25maWd1cmF0aW9uCi0gICAgY29uZmlnID0zRCBDb25maWd1
cmF0aW9uKCdza2VsZXRvbicsIHBhcmVudF9wYWNrYWdlLCB0b3BfcGF0aCkKKyAgICBjb25maWcg
PTNEIENvbmZpZ3VyYXRpb24oJ2V4b2R1c19paScsIHBhcmVudF9wYWNrYWdlLCB0b3BfcGF0aCkK
ICAgICBjb25maWcubWFrZV9jb25maWdfcHkoKSAgIyBpbnN0YWxscyBfX2NvbmZpZ19fLnB5CiAg
ICAgI2NvbmZpZy5tYWtlX3N2bl92ZXJzaW9uX3B5KCkKICAgICByZXR1cm4gY29uZmlnCgoKaHR0
cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMjdlMGRiNjhkNTkwLwpD
aGFuZ2VzZXQ6ICAgMjdlMGRiNjhkNTkwCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0
cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA3LTEzIDE4OjI4OjE3KzAwOjAwClN1bW1hcnk6ICAg
ICBBZGQgbmV0Q0RGNCBhcyBhIHJlcXVpcmVkIHBhY2thZ2UKQWZmZWN0ZWQgIzogIDEgZmlsZQoK
ZGlmZiAtciBmNjk4ZWE0YzI2OGEyZGI3MzM4ZDY3MDQzODYzMGFkYTc4MjhkZTVkIC1yIDI3ZTBk
YjY4ZDU5MDViZGY1MzhmM2Y0PQpkN2I3MDI1N2VmZDJjN2E0NCByZXF1aXJlbWVudHMudHh0Ci0t
LSBhL3JlcXVpcmVtZW50cy50eHQKKysrIGIvcmVxdWlyZW1lbnRzLnR4dApAQCAtNCwzICs0LDQg
QEAKIGg1cHk9M0Q9M0QyLjUuMD0yMAogbm9zZT0zRD0zRDEuMy42PTIwCiBzeW1weT0zRD0zRDAu
Ny42PTIwCituZXRDREY0PTNEPTNEMS4xLjgKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5h
bHlzaXMveXQvY29tbWl0cy8xY2IyZmZkZjcxOWUvCkNoYW5nZXNldDogICAxY2IyZmZkZjcxOWUK
QnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUt
MDctMTUgMjA6NDM6MDMrMDA6MDAKU3VtbWFyeTogICAgIExvYWQgaW5mb19yZWNvcmRzIGludG8g
dGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBFeG9kdXMgSUkgZnJvbnRlPQpuZC4KQWZmZWN0ZWQgIzog
IDMgZmlsZXMKCmRpZmYgLXIgMjdlMGRiNjhkNTkwNWJkZjUzOGYzZjRkN2I3MDI1N2VmZDJjN2E0
NCAtciAxY2IyZmZkZjcxOWUxYWM2YzU5YzU2Nj0KNDRlZjg2NDQxMTkyZDRiZDYgeXQvZnJvbnRl
bmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1
c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRh
X3N0cnVjdHVyZXMucHkKQEAgLTEzLDYgKzEzLDcgQEAKICMgVGhlIGZ1bGwgbGljZW5zZSBpcyBp
biB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUu
CiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQo9MjAKK2ltcG9ydCB0aW1lCiBmcm9tIHl0LmRhdGFf
b2JqZWN0cy5ncmlkX3BhdGNoIGltcG9ydCBcCiAgICAgQU1SR3JpZFBhdGNoCiBmcm9tIHl0Lmdl
b21ldHJ5LmdyaWRfZ2VvbWV0cnlfaGFuZGxlciBpbXBvcnQgXApAQCAtODUsMTAgKzg2LDEyIEBA
CiAgICAgX2luZGV4X2NsYXNzID0zRCBFeG9kdXNJSUhpZXJhcmNoeQogICAgIF9maWVsZF9pbmZv
X2NsYXNzID0zRCBFeG9kdXNJSUZpZWxkSW5mbwo9MjAKLSAgICBkZWYgX19pbml0X18oc2VsZiwg
ZmlsZW5hbWUsIGRhdGFzZXRfdHlwZT0zRCdleG9kdXNfaWknLAorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBmaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgZGF0YXNldF90eXBlPTNEJ2V4b2R1c19p
aScsCiAgICAgICAgICAgICAgICAgIHN0b3JhZ2VfZmlsZW5hbWU9M0ROb25lLAogICAgICAgICAg
ICAgICAgICB1bml0c19vdmVycmlkZT0zRE5vbmUpOgogICAgICAgICBzZWxmLmZsdWlkX3R5cGVz
ICs9M0QgKCdleG9kdXNfaWknLCkKKyAgICAgICAgc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUgPTNE
IGZpbGVuYW1lCiAgICAgICAgIERhdGFzZXQuX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGRhdGFz
ZXRfdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0c19vdmVycmlkZT0zRHVuaXRz
X292ZXJyaWRlKQogICAgICAgICBzZWxmLnN0b3JhZ2VfZmlsZW5hbWUgPTNEIHN0b3JhZ2VfZmls
ZW5hbWUKQEAgLTExMCwyOSArMTEzLDIwIEBACiAgICAgICAgIHBhc3MKPTIwCiAgICAgZGVmIF9w
YXJzZV9wYXJhbWV0ZXJfZmlsZShzZWxmKToKLSAgICAgICAgIyBUaGlzIG5lZWRzIHRvIHNldCB1
cCB0aGUgZm9sbG93aW5nIGl0ZW1zLiAgTm90ZSB0aGF0IHRoZXNlIGFyZSBhPQpsbAotICAgICAg
ICAjIGFzc3VtZWQgdG8gYmUgaW4gY29kZSB1bml0czsgZG9tYWluX2xlZnRfZWRnZSBhbmQgZG9t
YWluX3JpZ2h0X2U9CmRnZQotICAgICAgICAjIHdpbGwgYmUgdXBkYXRlZCB0byBiZSBpbiBjb2Rl
IHVuaXRzIGF0IGEgbGF0ZXIgdGltZS4gIFRoaXMgaW5jbHU9CmRlcwotICAgICAgICAjIHRoZSBj
b3Ntb2xvZ2ljYWwgcGFyYW1ldGVycy4KLSAgICAgICAgIwotICAgICAgICAjICAgc2VsZi51bmlx
dWVfaWRlbnRpZmllcgotICAgICAgICAjICAgc2VsZi5wYXJhbWV0ZXJzICAgICAgICAgICAgIDw9
M0QgZnVsbCBvZiBjb2RlLXNwZWNpZmljIGl0ZW1zIG89CmYgdXNlCisgICAgICAgIHNlbGYucGFy
YW1ldGVycyAgICAgICAgICAgICAgICAgPTNEIHNlbGYuZHMuaW5mb19yZWNvcmRzCisgICAgICAg
IHNlbGYudW5pcXVlX2lkZW50aWZpZXIgICAgICAgICAgPTNEIHNlbGYucGFyYW1ldGVyc1snVmVy
c2lvbiBJbmZvJz0KXVsnRXhlY3V0YWJsZSBUaW1lJ10KKyAgICAgICAgc2VsZi5jdXJyZW50X3Rp
bWUgICAgICAgICAgICAgICA9M0Qgc2VsZi5wYXJhbWV0ZXJzWydWZXJzaW9uIEluZm8nPQpdWydD
dXJyZW50IFRpbWUnXQorICAgICAgICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAgICAgICAgICAgID0z
RCAzCiAgICAgICAgICMgICBzZWxmLmRvbWFpbl9sZWZ0X2VkZ2UgICAgICAgPD0zRCBhcnJheSBv
ZiBmbG9hdDY0CiAgICAgICAgICMgICBzZWxmLmRvbWFpbl9yaWdodF9lZGdlICAgICAgPD0zRCBh
cnJheSBvZiBmbG9hdDY0Ci0gICAgICAgICMgICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAgICAgICAg
PD0zRCBpbnQKKwogICAgICAgICAjICAgc2VsZi5kb21haW5fZGltZW5zaW9ucyAgICAgIDw9M0Qg
YXJyYXkgb2YgaW50NjQKICAgICAgICAgIyAgIHNlbGYucGVyaW9kaWNpdHkgICAgICAgICAgICA8
PTNEIHRocmVlLWVsZW1lbnQgdHVwbGUgb2YgYm9vbGVhPQpucwotICAgICAgICAjICAgc2VsZi5j
dXJyZW50X3RpbWUgICAgICAgICAgIDw9M0Qgc2ltdWxhdGlvbiB0aW1lIGluIGNvZGUgdW5pdHMK
LSAgICAgICAgIwotICAgICAgICAjIFdlIGFsc28gc2V0IHVwIGNvc21vbG9naWNhbCBpbmZvcm1h
dGlvbi4gIFNldCB0aGVzZSB0byB6ZXJvIGlmCi0gICAgICAgICMgbm9uLWNvc21vbG9naWNhbC4K
LSAgICAgICAgIwotICAgICAgICAjICAgc2VsZi5jb3Ntb2xvZ2ljYWxfc2ltdWxhdGlvbiAgICA8
PTNEIGludCwgMCBvciAxCi0gICAgICAgICMgICBzZWxmLmN1cnJlbnRfcmVkc2hpZnQgICAgICAg
ICAgIDw9M0QgZmxvYXQKLSAgICAgICAgIyAgIHNlbGYub21lZ2FfbGFtYmRhICAgICAgICAgICAg
ICAgPD0zRCBmbG9hdAotICAgICAgICAjICAgc2VsZi5vbWVnYV9tYXR0ZXIgICAgICAgICAgICAg
ICA8PTNEIGZsb2F0Ci0gICAgICAgICMgICBzZWxmLmh1YmJsZV9jb25zdGFudCAgICAgICAgICAg
IDw9M0QgZmxvYXQKLSAgICAgICAgcGFzcworICAgICAgICBzZWxmLmNvc21vbG9naWNhbF9zaW11
bGF0aW9uICAgID0zRCAwCisgICAgICAgIHNlbGYuY3VycmVudF9yZWRzaGlmdCAgICAgICAgICAg
PTNEIDAKKyAgICAgICAgc2VsZi5vbWVnYV9sYW1iZGEgICAgICAgICAgICAgICA9M0QgMAorICAg
ICAgICBzZWxmLm9tZWdhX21hdHRlciAgICAgICAgICAgICAgID0zRCAwCisgICAgICAgIHNlbGYu
aHViYmxlX2NvbnN0YW50ICAgICAgICAgICAgPTNEIDAKPTIwCiAgICAgQGNsYXNzbWV0aG9kCiAg
ICAgZGVmIF9pc192YWxpZChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgoKZGlmZiAtciAyN2UwZGI2
OGQ1OTA1YmRmNTM4ZjNmNGQ3YjcwMjU3ZWZkMmM3YTQ0IC1yIDFjYjJmZmRmNzE5ZTFhYzZjNTlj
NTY2PQo0NGVmODY0NDExOTJkNGJkNiB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5Ci0tLSBh
L3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19p
aS9pby5weQpAQCAtMTIsNiArMTIsOCBAQAogIwogIyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRo
ZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KICMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tPQotLS0tCitmcm9tIC51dGlsIGltcG9ydCBFeG9kdXNJSURhdGEKK2lt
cG9ydCBudW1weSBhcyBucAo9MjAKIGZyb20geXQudXRpbGl0aWVzLmlvX2hhbmRsZXIgaW1wb3J0
IFwKICAgICBCYXNlSU9IYW5kbGVyCkBAIC0xOSw2ICsyMSwxMiBAQAogY2xhc3MgSU9IYW5kbGVy
RXhvZHVzSUkoQmFzZUlPSGFuZGxlcik6CiAgICAgX3BhcnRpY2xlX3JlYWRlciA9M0QgRmFsc2UK
ICAgICBfZGF0YXNldF90eXBlID0zRCAiZXhvZHVzX2lpIgorICAgIF9JTkRFWF9PRkZTRVQgPTNE
IDEKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5maWxlbmFtZSA9M0Qg
ZmlsZW5hbWUKKyAgICAgICAgc2VsZi5kcyAgICAgICA9M0QgRXhvZHVzSUlEYXRhKGZpbGVuYW1l
KQorICAgICAgICBzZWxmLmRzLnJlYWQoKQo9MjAKICAgICBkZWYgX3JlYWRfcGFydGljbGVfY29v
cmRzKHNlbGYsIGNodW5rcywgcHRmKToKICAgICAgICAgIyBUaGlzIG5lZWRzIHRvICp5aWVsZCog
YSBzZXJpZXMgb2YgdHVwbGVzIG9mIChwdHlwZSwgKHgsIHksIHopKS4KQEAgLTM0LDcgKzQyLDYg
QEAKICAgICAgICAgIyB5b3UgbmVlZCB0byBkbyB5b3VyIG1hc2tpbmcgaGVyZS4KICAgICAgICAg
cGFzcwo9MjAKLQogICAgIGRlZiBfcmVhZF9mbHVpZF9zZWxlY3Rpb24oc2VsZiwgY2h1bmtzLCBz
ZWxlY3RvciwgZmllbGRzLCBzaXplKToKICAgICAgICAgIyBUaGlzIG5lZWRzIHRvIGFsbG9jYXRl
IGEgc2V0IG9mIGFycmF5cyBpbnNpZGUgYSBkaWN0aW9uYXJ5LCB3aGVyPQplIHRoZQogICAgICAg
ICAjIGtleXMgYXJlIHRoZSAoZnR5cGUsIGZuYW1lKSB0dXBsZXMgYW5kIHRoZSB2YWx1ZXMgYXJl
IGFycmF5cyB0aGF0CkBAIC00Miw3ICs0OSwxNyBAQAogICAgICAgICAjIGRpY3QgZ2V0cyByZXR1
cm5lZCBhdCB0aGUgZW5kIGFuZCBpdCBzaG91bGQgYmUgZmxhdCwgd2l0aCBzZWxlY3Q9CmVkCiAg
ICAgICAgICMgZGF0YS4gIE5vdGUgdGhhdCBpZiB5b3UncmUgcmVhZGluZyBncmlkIGRhdGEsIHlv
dSBtaWdodCBuZWVkIHRvCiAgICAgICAgICMgc3BlY2lhbC1jYXNlIGEgZ3JpZCBzZWxlY3RvciBv
YmplY3QuCi0gICAgICAgIHBhc3MKKyAgICAgICAgbHVua3MgPTNEIGxpc3QoY2h1bmtzKQorICAg
ICAgICBydiA9M0Qge30KKyAgICAgICAgZm9yIGZpZWxkIGluIGZpZWxkczoKKyAgICAgICAgICAg
IHJ2W2ZpZWxkXSA9M0Qgc2VsZi5kcy5hcnIobnAuZW1wdHkoc2l6ZSwgZHR5cGU9M0QiZmxvYXQ2
NCIpKQorCisgICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZHM6CisgICAgICAgICAgICBmdHlwZSwg
Zm5hbWUgPTNEIGZpZWxkCisgICAgICAgICAgICBpbmQgPTNEIF9JTkRFWF9PRkZTRVQKKyAgICAg
ICAgICAgIGZvciBjaHVuayBpbiBjaHVua3MKKworICAgICAgICByZXR1cm4gcnYKPTIwCiAgICAg
ZGVmIF9yZWFkX2NodW5rX2RhdGEoc2VsZiwgY2h1bmssIGZpZWxkcyk6CiAgICAgICAgICMgVGhp
cyByZWFkcyB0aGUgZGF0YSBmcm9tIGEgc2luZ2xlIGNodW5rLCBhbmQgaXMgb25seSB1c2VkIGZv
cgoKZGlmZiAtciAyN2UwZGI2OGQ1OTA1YmRmNTM4ZjNmNGQ3YjcwMjU3ZWZkMmM3YTQ0IC1yIDFj
YjJmZmRmNzE5ZTFhYzZjNTljNTY2PQo0NGVmODY0NDExOTJkNGJkNiB5dC9mcm9udGVuZHMvZXhv
ZHVzX2lpL3V0aWwucHkKLS0tIC9kZXYvbnVsbAorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lp
L3V0aWwucHkKQEAgLTAsMCArMSwxMTAgQEAKK2ltcG9ydCBzdHJpbmcKK2Zyb20gaXRlcnRvb2xz
IGltcG9ydCB0YWtld2hpbGUKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0Citm
cm9tIG5ldENERjQgaW1wb3J0IERhdGFzZXQKK2ltcG9ydCBudW1weSBhcyBucAoraW1wb3J0IHJl
CisKK2NsYXNzIEV4b2R1c0lJRGF0YToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUp
OgorICAgICAgICBzZWxmLmZpbGVuYW1lID0zRCBmaWxlbmFtZQorICAgICAgICBzZWxmLmRhdGFz
ZXQgPTNEIE9yZGVyZWREaWN0KCkKKyAgICAgICAgc2VsZi5jb29yZGluYXRlcyA9M0QgbnAuYXJy
YXkoW10pCisgICAgICAgIHNlbGYuY29ubmVjdGl2aXR5ID0zRCBbXQorICAgICAgICBzZWxmLmlu
Zm9fcmVjb3JkcyA9M0Qge30KKyAgICAgICAgc2VsZi5kYXRhID0zRCBbXQorCisgICAgZGVmIHJl
YWQoc2VsZik6CisgICAgICAgIHByaW50ICJSZWFkaW5nIG5ldENERjQgRGF0YXNldCIKKyAgICAg
ICAgc2VsZi5kYXRhc2V0ID0zRCBEYXRhc2V0KHNlbGYuZmlsZW5hbWUpLnZhcmlhYmxlcworCisg
ICAgICAgIHByaW50ICJMb2FkaW5nIGNvb3JkaW5hdGVzIgorICAgICAgICBzZWxmLmNvb3JkaW5h
dGVzID0zRCBucC5hcnJheShbc2VsZi5kYXRhc2V0WyJjb29yZCVzIiAlIGF4XVs6XQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBheCBpbiAneHl6J10pLnRyYW5zcG9z
ZSgpLmNvcHkoKQorCisgICAgICAgIHByaW50ICJMb2FkaW5nIGNvbm5lY3Rpdml0eSIKKyAgICAg
ICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5nZXRfbnVtX2VsZW0oKSk6CisgICAgICAgICAgICBzZWxm
LmFkZF9jb25uZWN0KCJjb25uZWN0JXMiICUgKGkrMSkpCisgICAgICAgICAgICBjaSA9M0Qgc2Vs
Zi5jb25uZWN0aXZpdHlbLTFdCisgICAgICAgICAgICB2YWxzID0zRCB7fQorCisgICAgICAgICAg
ICBmb3IgaiwgdmFyX25hbWUgaW4gZW51bWVyYXRlKHNlbGYuZ2V0X3Zhcl9uYW1lcygpKToKKyAg
ICAgICAgICAgICAgICB2YWxzWydnYXMnLCB2YXJfbmFtZV0gPTNEIHNlbGYuZGF0YXNldFsidmFs
c19lbGVtX3ZhciVzZWIlPQpzIiAlIChqKzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQor
CisgICAgICAgICAgICBmb3Igaiwgbm9kX25hbWUgaW4gZW51bWVyYXRlKHNlbGYuZ2V0X25vZF9u
YW1lcygpKToKKyAgICAgICAgICAgICAgICAjIFdlIHdhbnQganVzdCBmb3IgdGhpcyBzZXQgb2Yg
bm9kZXMgYWxsIHRoZSBub2RlIHZhcmlhYmxlcworICAgICAgICAgICAgICAgICMgVXNlIChjaSAt
IDEpIHRvIGdldCB0aGVzZSB2YWx1ZXMKKyAgICAgICAgICAgICAgICB2YWxzWydnYXMnLCBub2Rf
bmFtZV0gPTNEIHNlbGYuZGF0YXNldFsidmFsc19ub2RfdmFyJXMiICUgPQooaisxKV1bOl0uYXN0
eXBlKCJmOCIpWy0xLCBjaSAtIDEsIC4uLl0KKworICAgICAgICAgICAgc2VsZi5kYXRhLmFwcGVu
ZCh2YWxzKQorCisgICAgICAgIGlmICdpbmZvX3JlY29yZHMnIGluIHNlbGYuZGF0YXNldC5rZXlz
KCk6CisgICAgICAgICAgICBwcmludCAiTG9hZGluZyBpbmZvIHJlY29yZHMiCisgICAgICAgICAg
ICBzZWxmLmluZm9fcmVjb3JkcyA9M0QgbG9hZF9pbmZvX3JlY29yZHMoc2VsZi5kYXRhc2V0Wydp
bmZvX3JlYz0Kb3JkcyddKQorCisgICAgZGVmIGdldF9udW1fZWxlbShzZWxmKToKKyAgICAgICAg
cmV0dXJuIHNlbGYuZGF0YXNldFsiZWJfc3RhdHVzIl1bOl0uc2hhcGVbMF0KKworICAgIGRlZiBh
ZGRfY29ubmVjdChzZWxmLCBjb25uZWN0X2tleSk6CisgICAgICAgIHNlbGYuY29ubmVjdGl2aXR5
LmFwcGVuZChzZWxmLmRhdGFzZXRbY29ubmVjdF9rZXldWzpdLmFzdHlwZSgiaTgiKSkKKworICAg
IGRlZiBnZXRfdmFyX25hbWVzKHNlbGYpOgorICAgICAgICByZXR1cm4gW3Nhbml0aXplX3N0cmlu
Zyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCisgICAgICAgICAgICAgICAgc2VsZi5kYXRhc2V0WyJu
YW1lX2VsZW1fdmFyIl1bOl1dCisKKyAgICBkZWYgZ2V0X25vZF9uYW1lcyhzZWxmKToKKyAgICAg
ICAgcmV0dXJuIFtzYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBmb3IgdiBpbgorICAgICAg
ICAgICAgICAgIHNlbGYuZGF0YXNldFsibmFtZV9ub2RfdmFyIl1bOl1dCisKKworCitkZWYgc2Fu
aXRpemVfc3RyaW5nKHMpOgorICAgIHJldHVybiAiIi5qb2luKF8gZm9yIF8gaW4gdGFrZXdoaWxl
KGxhbWJkYSBhOiBhIGluIHN0cmluZy5wcmludGFibGUsIHM9CikpCisKK2RlZiBsb2FkX2luZm9f
cmVjb3JkcyhpbmZvX3JlY29yZHMpOgorICAgIGluZm9fcmVjb3Jkc19wYXJzZWQgPTNEIFsiIi5q
b2luKGxpbmVfY2hhcnMpIGZvciBsaW5lX2NoYXJzIGluIGluZm9fcmU9CmNvcmRzXQorICAgIHJl
dHVybiBncm91cF9ieV9zZWN0aW9ucyhpbmZvX3JlY29yZHNfcGFyc2VkKQorICAgPTIwCitkZWYg
Z3JvdXBfYnlfc2VjdGlvbnMoaW5mb19yZWNvcmRzKToKKyAgICAjIDEuIFNwbGl0IGJ5IHRvcCBn
cm91cGluZ3MgICA9MjAKKyAgICB0b3BfbGV2ZWxzID0zRCBnZXRfdG9wX2xldmVscyhpbmZvX3Jl
Y29yZHMpCisgICAgIyAyLiBEZXRlcm1pbmUgaWYgaW4gc2VjdGlvbiBieSBpbmRleCBudW1iZXIK
KyAgICBncm91cGVkID0zRCBPcmRlcmVkRGljdCgpCisgICAgZm9yIHRpZHgsIHRvcF9sZXZlbCBp
biBlbnVtZXJhdGUodG9wX2xldmVscyk6CisgICAgICAgIGdyb3VwZWRbdG9wX2xldmVsWzFdXSA9
M0QgW10KKworICAgICAgICB0cnk6CisgICAgICAgICAgICBuZXh0X2lkeCA9M0QgdG9wX2xldmVs
c1t0aWR4ICsgMV1bMF0KKyAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CisgICAgICAgICAgICBu
ZXh0X2lkeCA9M0QgbGVuKGluZm9fcmVjb3JkcykgLSAxCisKKyAgICAgICAgZm9yIGlkeCBpbiBy
YW5nZSh0b3BfbGV2ZWxbMF0sIG5leHRfaWR4KTogICAgICA9MjAKKyAgICAgICAgICAgIGlmIGlk
eCA9M0Q9M0QgdG9wX2xldmVsWzBdOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAg
ICAgICAgIGdyb3VwZWRbdG9wX2xldmVsWzFdXS5hcHBlbmQoaW5mb19yZWNvcmRzW2lkeF0pCisK
KyAgICB2ZXJzaW9uX2luZm8gPTNEIE9yZGVyZWREaWN0KCkKKworICAgIGZvciBsaW5lIGluIGdy
b3VwZWRbJ1ZlcnNpb24gSW5mbyddOgorICAgICAgICBzcGxpdF9saW5lID0zRCBsaW5lLnNwbGl0
KCI6IikKKyAgICAgICAga2V5ID0zRCBzcGxpdF9saW5lWzBdCisgICAgICAgIHZhbCA9M0QgIjoi
LmpvaW4oc3BsaXRfbGluZVsxOl0pLmxzdHJpcCgpLnJzdHJpcCgpCisgICAgICAgIGlmIGtleSAh
PTNEICcnOgorICAgICAgICAgICAgdmVyc2lvbl9pbmZvW2tleV0gPTNEIHZhbAorCisgICAgZ3Jv
dXBlZFsnVmVyc2lvbiBJbmZvJ10gPTNEIHZlcnNpb25faW5mbworICAgPTIwCisgICAgcmV0dXJu
IGdyb3VwZWQKKyAgID0yMAorZGVmIGdldF90b3BfbGV2ZWxzKGluZm9fcmVjb3Jkcyk6CisgICAg
dG9wX2xldmVscyA9M0QgW10KKyAgICBmb3IgaWR4LCBsaW5lIGluIGVudW1lcmF0ZShpbmZvX3Jl
Y29yZHMpOgorICAgICAgICBwYXR0ZXJuID0zRCByZS5jb21waWxlKCIjIyNbYS16QS1aXHNdKyIp
CisgICAgICAgIGlmIHBhdHRlcm4ubWF0Y2gobGluZSk6CisgICAgICAgICAgICBjbGVhbl9saW5l
ID0zRCBsaW5lLnN0cmlwKCcjIyMnKS5sc3RyaXAoKS5yc3RyaXAoKQorICAgICAgICAgICAgdG9w
X2xldmVscy5hcHBlbmQoW2lkeCwgY2xlYW5fbGluZV0pCisgICA9MjAKKyAgICByZXR1cm4gdG9w
X2xldmVscworCisKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0
cy9lNTc4Zjk2MDI2ZTYvCkNoYW5nZXNldDogICBlNTc4Zjk2MDI2ZTYKQnJhbmNoOiAgICAgIHl0
ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMTUgMjA6NTM6MzUr
MDA6MDAKU3VtbWFyeTogICAgIEZpeCB0eXBvIGluIHJlYWRfZmx1aWQuCkFmZmVjdGVkICM6ICAx
IGZpbGUKCmRpZmYgLXIgMWNiMmZmZGY3MTllMWFjNmM1OWM1NjY0NGVmODY0NDExOTJkNGJkNiAt
ciBlNTc4Zjk2MDI2ZTZjNjAyN2Y1MWUzYz0KYWUzZDFhM2JjOTMwMGEwMDkgeXQvZnJvbnRlbmRz
L2V4b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CisrKyBi
L3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICAgICAg
IyBkaWN0IGdldHMgcmV0dXJuZWQgYXQgdGhlIGVuZCBhbmQgaXQgc2hvdWxkIGJlIGZsYXQsIHdp
dGggc2VsZWN0PQplZAogICAgICAgICAjIGRhdGEuICBOb3RlIHRoYXQgaWYgeW91J3JlIHJlYWRp
bmcgZ3JpZCBkYXRhLCB5b3UgbWlnaHQgbmVlZCB0bwogICAgICAgICAjIHNwZWNpYWwtY2FzZSBh
IGdyaWQgc2VsZWN0b3Igb2JqZWN0LgotICAgICAgICBsdW5rcyA9M0QgbGlzdChjaHVua3MpCisg
ICAgICAgIGNodW5rcyA9M0QgbGlzdChjaHVua3MpICMgY2h1bmtzIGluIHRoaXMgY2FzZSBjb3Jy
ZXNwb25kIHRvIG1lc2hfaT0KZCBvciBzbGljZXMgaW4gdGhlIEV4b2R1c0lJIGRhdGEKICAgICAg
ICAgcnYgPTNEIHt9CiAgICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZHM6CiAgICAgICAgICAgICBy
dltmaWVsZF0gPTNEIHNlbGYuZHMuYXJyKG5wLmVtcHR5KHNpemUsIGR0eXBlPTNEImZsb2F0NjQi
KSkKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9iNjY4NDRm
MTQzY2EvCkNoYW5nZXNldDogICBiNjY4NDRmMTQzY2EKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAg
ICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMTYgMTg6NTk6MjkrMDA6MDAKU3Vt
bWFyeTogICAgIFNldCBvdGhlciBhdHRyaWJ1dGVzCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZm
IC1yIGU1NzhmOTYwMjZlNmM2MDI3ZjUxZTNjYWUzZDFhM2JjOTMwMGEwMDkgLXIgYjY2ODQ0ZjE0
M2NhOTM5ODAwZjA2YmM9CmJmNTdhYTcyZTE3NDg2YjQ0IHl0L2Zyb250ZW5kcy9leG9kdXNfaWkv
ZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1
Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5
CkBAIC0xMTEsMTcgKzExMSwxOSBAQAogICAgICAgICAjIHNlbGYudmVsb2NpdHlfdW5pdCA9M0Qg
c2VsZi5xdWFuKDEuMCwgImNtL3MiKQogICAgICAgICAjIHNlbGYubWFnbmV0aWNfdW5pdCA9M0Qg
c2VsZi5xdWFuKDEuMCwgImdhdXNzIikKICAgICAgICAgcGFzcwotCisgICA9MjAKICAgICBkZWYg
X3BhcnNlX3BhcmFtZXRlcl9maWxlKHNlbGYpOgogICAgICAgICBzZWxmLnBhcmFtZXRlcnMgICAg
ICAgICAgICAgICAgID0zRCBzZWxmLmRzLmluZm9fcmVjb3JkcwogICAgICAgICBzZWxmLnVuaXF1
ZV9pZGVudGlmaWVyICAgICAgICAgID0zRCBzZWxmLnBhcmFtZXRlcnNbJ1ZlcnNpb24gSW5mbyc9
Cl1bJ0V4ZWN1dGFibGUgVGltZSddCiAgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAg
ICAgICAgPTNEIHNlbGYucGFyYW1ldGVyc1snVmVyc2lvbiBJbmZvJz0KXVsnQ3VycmVudCBUaW1l
J10KICAgICAgICAgc2VsZi5kaW1lbnNpb25hbGl0eSAgICAgICAgICAgICA9M0QgMwotICAgICAg
ICAjICAgc2VsZi5kb21haW5fbGVmdF9lZGdlICAgICAgIDw9M0QgYXJyYXkgb2YgZmxvYXQ2NAot
ICAgICAgICAjICAgc2VsZi5kb21haW5fcmlnaHRfZWRnZSAgICAgIDw9M0QgYXJyYXkgb2YgZmxv
YXQ2NAotCi0gICAgICAgICMgICBzZWxmLmRvbWFpbl9kaW1lbnNpb25zICAgICAgPD0zRCBhcnJh
eSBvZiBpbnQ2NAotICAgICAgICAjICAgc2VsZi5wZXJpb2RpY2l0eSAgICAgICAgICAgIDw9M0Qg
dGhyZWUtZWxlbWVudCB0dXBsZSBvZiBib29sZWE9Cm5zCisgICAgICAgIHNlbGYuZG9tYWluX2xl
ZnRfZWRnZSAgICAgICAgICAgPTNEIG5wLmFycmF5KFtzZWxmLmRzLmNvb3JkaW5hdGVzWz0KOiww
XS5taW4oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLmRzLmNvb3JkaW5hdGVzWzosPQowXS5tYXgoKV0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmxvYXQ2NCcpCisgICAgICAgIHNl
bGYuZG9tYWluX3JpZ2h0X2VkZ2UgICAgICAgICAgID0zRCBucC5hcnJheShbc2VsZi5kcy5jb29y
ZGluYXRlcz0KWzosMV0ubWluKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuZHMuY29vcmRpbmF0ZXNbOj0KLDFdLm1heCgpXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmxvYXQ2
NCcpCisgICAgICAgIHNlbGYucGVyaW9kaWNpdHkgICAgICAgICAgICAgICAgPTNEIChGYWxzZSwg
RmFsc2UsIEZhbHNlKQogICAgICAgICBzZWxmLmNvc21vbG9naWNhbF9zaW11bGF0aW9uICAgID0z
RCAwCiAgICAgICAgIHNlbGYuY3VycmVudF9yZWRzaGlmdCAgICAgICAgICAgPTNEIDAKICAgICAg
ICAgc2VsZi5vbWVnYV9sYW1iZGEgICAgICAgICAgICAgICA9M0QgMAoKZGlmZiAtciBlNTc4Zjk2
MDI2ZTZjNjAyN2Y1MWUzY2FlM2QxYTNiYzkzMDBhMDA5IC1yIGI2Njg0NGYxNDNjYTkzOTgwMGYw
NmJjPQpiZjU3YWE3MmUxNzQ4NmI0NCB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5Ci0tLSBh
L3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19p
aS9pby5weQpAQCAtMjEsNiArMjEsNyBAQAogY2xhc3MgSU9IYW5kbGVyRXhvZHVzSUkoQmFzZUlP
SGFuZGxlcik6CiAgICAgX3BhcnRpY2xlX3JlYWRlciA9M0QgRmFsc2UKICAgICBfZGF0YXNldF90
eXBlID0zRCAiZXhvZHVzX2lpIgorICAgIF9ub2RlX3R5cGVzID0zRCAoImRpZmZ1c2VkIiwgImNv
bnZlY3RlZCIpCiAgICAgX0lOREVYX09GRlNFVCA9M0QgMQo9MjAKICAgICBkZWYgX19pbml0X18o
c2VsZik6CkBAIC0yOSwxNyArMzAsOSBAQAogICAgICAgICBzZWxmLmRzLnJlYWQoKQo9MjAKICAg
ICBkZWYgX3JlYWRfcGFydGljbGVfY29vcmRzKHNlbGYsIGNodW5rcywgcHRmKToKLSAgICAgICAg
IyBUaGlzIG5lZWRzIHRvICp5aWVsZCogYSBzZXJpZXMgb2YgdHVwbGVzIG9mIChwdHlwZSwgKHgs
IHksIHopKS4KLSAgICAgICAgIyBjaHVua3MgaXMgYSBsaXN0IG9mIGNodW5rcywgYW5kIHB0ZiBp
cyBhIGRpY3Qgd2hlcmUgdGhlIGtleXMgYXJlCi0gICAgICAgICMgcHR5cGVzIGFuZCB0aGUgdmFs
dWVzIGFyZSBsaXN0cyBvZiBmaWVsZHMuCiAgICAgICAgIHBhc3MKPTIwCiAgICAgZGVmIF9yZWFk
X3BhcnRpY2xlX2ZpZWxkcyhzZWxmLCBjaHVua3MsIHB0Ziwgc2VsZWN0b3IpOgotICAgICAgICAj
IFRoaXMgZ2V0cyBjYWxsZWQgYWZ0ZXIgdGhlIGFycmF5cyBoYXZlIGJlZW4gYWxsb2NhdGVkLiAg
SXQgbmVlZHM9CiB0bwotICAgICAgICAjIHlpZWxkICgocHR5cGUsIGZpZWxkKSwgZGF0YSkgd2hl
cmUgZGF0YSBpcyB0aGUgbWFza2VkIHJlc3VsdHMgb2YKLSAgICAgICAgIyByZWFkaW5nIHB0eXBl
LCBmaWVsZCBhbmQgYXBwbHlpbmcgdGhlIHNlbGVjdG9yIHRvIHRoZSBkYXRhIHJlYWQgPQppbi4K
LSAgICAgICAgIyBTZWxlY3RvciBvYmplY3RzIGhhdmUgYSAuc2VsZWN0X3BvaW50cyh4LHkseikg
dGhhdCByZXR1cm5zIGEgbWFzPQprLCBzbwotICAgICAgICAjIHlvdSBuZWVkIHRvIGRvIHlvdXIg
bWFza2luZyBoZXJlLgogICAgICAgICBwYXNzCj0yMAogICAgIGRlZiBfcmVhZF9mbHVpZF9zZWxl
Y3Rpb24oc2VsZiwgY2h1bmtzLCBzZWxlY3RvciwgZmllbGRzLCBzaXplKToKCgpodHRwczovL2Jp
dGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9hMzI4MmFhNjM2MDUvCkNoYW5nZXNl
dDogICBhMzI4MmFhNjM2MDUKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IK
RGF0ZTogICAgICAgIDIwMTUtMDctMTYgMTk6NDI6MzQrMDA6MDAKU3VtbWFyeTogICAgIEZpeCB0
eXBvLgpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciBiNjY4NDRmMTQzY2E5Mzk4MDBmMDZi
Y2JmNTdhYTcyZTE3NDg2YjQ0IC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4PQpjODgxM2JhYTBm
MjcxOGRlMiB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95
dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVu
ZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMTMsNyArMTMsNiBAQAogIyBUaGUg
ZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3aXRo
IHRoaXMgc29mdHc9CmFyZS4KICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCj0yMAotaW1wb3J0IHRp
bWUKIGZyb20geXQuZGF0YV9vYmplY3RzLmdyaWRfcGF0Y2ggaW1wb3J0IFwKICAgICBBTVJHcmlk
UGF0Y2gKIGZyb20geXQuZ2VvbWV0cnkuZ3JpZF9nZW9tZXRyeV9oYW5kbGVyIGltcG9ydCBcCkBA
IC0yMSw2ICsyMCw4IEBACiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5zdGF0aWNfb3V0cHV0IGltcG9y
dCBcCiAgICAgRGF0YXNldAogZnJvbSAuZmllbGRzIGltcG9ydCBFeG9kdXNJSUZpZWxkSW5mbwor
ZnJvbSAuaW8gaW1wb3J0IElPSGFuZGxlckV4b2R1c0lJCitpbXBvcnQgbnVtcHkgYXMgbnAKPTIw
CiBjbGFzcyBFeG9kdXNJSUdyaWQoQU1SR3JpZFBhdGNoKToKICAgICBfaWRfb2Zmc2V0ID0zRCAw
CkBAIC04NiwxMiArODcsMTUgQEAKICAgICBfaW5kZXhfY2xhc3MgPTNEIEV4b2R1c0lJSGllcmFy
Y2h5CiAgICAgX2ZpZWxkX2luZm9fY2xhc3MgPTNEIEV4b2R1c0lJRmllbGRJbmZvCj0yMAotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwKKyAg
ICAgICAgICAgICAgICAgZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgIGRhdGFzZXRfdHlwZT0z
RCdleG9kdXNfaWknLAogICAgICAgICAgICAgICAgICBzdG9yYWdlX2ZpbGVuYW1lPTNETm9uZSwK
ICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0ROb25lKToKKworICAgICAgICBzZWxm
LmRzID0zRCBJT0hhbmRsZXJFeG9kdXNJSShmaWxlbmFtZSkuZHMKICAgICAgICAgc2VsZi5mbHVp
ZF90eXBlcyArPTNEICgnZXhvZHVzX2lpJywpCi0gICAgICAgIHNlbGYucGFyYW1ldGVyX2ZpbGVu
YW1lID0zRCBmaWxlbmFtZQorICAgICAgICBzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSA9M0Qgc3Rv
cmFnZV9maWxlbmFtZQogICAgICAgICBEYXRhc2V0Ll9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBk
YXRhc2V0X3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0R1
bml0c19vdmVycmlkZSkKICAgICAgICAgc2VsZi5zdG9yYWdlX2ZpbGVuYW1lID0zRCBzdG9yYWdl
X2ZpbGVuYW1lCkBAIC0xMTQsNyArMTE4LDcgQEAKICAgID0yMAogICAgIGRlZiBfcGFyc2VfcGFy
YW1ldGVyX2ZpbGUoc2VsZik6CiAgICAgICAgIHNlbGYucGFyYW1ldGVycyAgICAgICAgICAgICAg
ICAgPTNEIHNlbGYuZHMuaW5mb19yZWNvcmRzCi0gICAgICAgIHNlbGYudW5pcXVlX2lkZW50aWZp
ZXIgICAgICAgICAgPTNEIHNlbGYucGFyYW1ldGVyc1snVmVyc2lvbiBJbmZvJz0KXVsnRXhlY3V0
YWJsZSBUaW1lJ10KKyAgICAgICAgc2VsZi51bmlxdWVfaWRlbnRpZmllciAgICAgICAgICA9M0Qg
c2VsZi5wYXJhbWV0ZXJzWydWZXJzaW9uIEluZm8nPQpdWydFeGVjdXRhYmxlIFRpbWVzdGFtcCdd
CiAgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICAgICAgPTNEIHNlbGYucGFyYW1l
dGVyc1snVmVyc2lvbiBJbmZvJz0KXVsnQ3VycmVudCBUaW1lJ10KICAgICAgICAgc2VsZi5kaW1l
bnNpb25hbGl0eSAgICAgICAgICAgICA9M0QgMwogICAgICAgICBzZWxmLmRvbWFpbl9sZWZ0X2Vk
Z2UgICAgICAgICAgID0zRCBucC5hcnJheShbc2VsZi5kcy5jb29yZGluYXRlc1s9CjosMF0ubWlu
KCksCgpkaWZmIC1yIGI2Njg0NGYxNDNjYTkzOTgwMGYwNmJjYmY1N2FhNzJlMTc0ODZiNDQgLXIg
YTMyODJhYTYzNjA1MTJiMmUxZTE5OTg9CmM4ODEzYmFhMGYyNzE4ZGUyIHl0L2Zyb250ZW5kcy9l
eG9kdXNfaWkvaW8ucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQorKysgYi95
dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CkBAIC0yNCw3ICsyNCw3IEBACiAgICAgX25vZGVf
dHlwZXMgPTNEICgiZGlmZnVzZWQiLCAiY29udmVjdGVkIikKICAgICBfSU5ERVhfT0ZGU0VUID0z
RCAxCj0yMAotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
ZmlsZW5hbWUpOgogICAgICAgICBzZWxmLmZpbGVuYW1lID0zRCBmaWxlbmFtZQogICAgICAgICBz
ZWxmLmRzICAgICAgID0zRCBFeG9kdXNJSURhdGEoZmlsZW5hbWUpCiAgICAgICAgIHNlbGYuZHMu
cmVhZCgpCkBAIC00NSwxMiArNDUsMTAgQEAKICAgICAgICAgY2h1bmtzID0zRCBsaXN0KGNodW5r
cykgIyBjaHVua3MgaW4gdGhpcyBjYXNlIGNvcnJlc3BvbmQgdG8gbWVzaF9pPQpkIG9yIHNsaWNl
cyBpbiB0aGUgRXhvZHVzSUkgZGF0YQogICAgICAgICBydiA9M0Qge30KICAgICAgICAgZm9yIGZp
ZWxkIGluIGZpZWxkczoKLSAgICAgICAgICAgIHJ2W2ZpZWxkXSA9M0Qgc2VsZi5kcy5hcnIobnAu
ZW1wdHkoc2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIpKQotCi0gICAgICAgIGZvciBmaWVsZCBpbiBm
aWVsZHM6CiAgICAgICAgICAgICBmdHlwZSwgZm5hbWUgPTNEIGZpZWxkCiAgICAgICAgICAgICBp
bmQgPTNEIF9JTkRFWF9PRkZTRVQKLSAgICAgICAgICAgIGZvciBjaHVuayBpbiBjaHVua3MKKyAg
ICAgICAgICAgIGZvciBjaHVuayBpbiBjaHVua3M6CisgICAgICAgICAgICAgICAgcnZbZmllbGRd
ID0zRCBjaHVuawo9MjAKICAgICAgICAgcmV0dXJuIHJ2Cj0yMAoKCmh0dHBzOi8vYml0YnVja2V0
Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzEzMGE1OGFmZjFhYy8KQ2hhbmdlc2V0OiAgIDEz
MGE1OGFmZjFhYwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAg
ICAgICAgMjAxNS0wNy0xNyAxNzowMjoyNCswMDowMApTdW1tYXJ5OiAgICAgTWVyZ2UgZnJvbSB1
cHN0cmVhbQpBZmZlY3RlZCAjOiAgNDQgZmlsZXMKCmRpZmYgLXIgYTMyODJhYTYzNjA1MTJiMmUx
ZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYxYWM4ZjExOGI0OWFlNz0KNWU4MmU2
YzZkMTQ3OWVkNWQgLmhnaWdub3JlCi0tLSBhLy5oZ2lnbm9yZQorKysgYi8uaGdpZ25vcmUKQEAg
LTExLDYgKzExLDcgQEAKIHl0L2FuYWx5c2lzX21vZHVsZXMvaGFsb19maW5kaW5nL3JvY2tzdGFy
L3JvY2tzdGFyX2ludGVyZmFjZS5jCiB5dC9hbmFseXNpc19tb2R1bGVzL3Bwdl9jdWJlL3Bwdl91
dGlscy5jCiB5dC9mcm9udGVuZHMvcmFtc2VzL19yYW1zZXNfcmVhZGVyLmNwcAoreXQvZnJvbnRl
bmRzL3NwaC9zbW9vdGhpbmdfa2VybmVsLmMKIHl0L2dlb21ldHJ5L2Zha2Vfb2N0cmVlLmMKIHl0
L2dlb21ldHJ5L2dyaWRfY29udGFpbmVyLmMKIHl0L2dlb21ldHJ5L2dyaWRfdmlzaXRvcnMuYwpA
QCAtNDAsNiArNDEsNyBAQAogeXQvdXRpbGl0aWVzL2xpYi9tZXNoX3V0aWxpdGllcy5jCiB5dC91
dGlsaXRpZXMvbGliL21pc2NfdXRpbGl0aWVzLmMKIHl0L3V0aWxpdGllcy9saWIvT2N0cmVlLmMK
K3l0L3V0aWxpdGllcy9saWIvR3JpZFRyZWUuYwogeXQvdXRpbGl0aWVzL2xpYi9vcmlnYW1pLmMK
IHl0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLmMKIHl0L3V0aWxpdGllcy9s
aWIvcG5nX3dyaXRlci5jCgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEw
ZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIFJF
QURNRQotLS0gYS9SRUFETUUKKysrIGIvUkVBRE1FCkBAIC0yMCw0ICsyMCw1IEBACiBGb3IgbW9y
ZSBpbmZvcm1hdGlvbiBvbiBpbnN0YWxsYXRpb24sIHdoYXQgdG8gZG8gaWYgeW91IHJ1biBpbnRv
IHByb2JsZW1zLD0KIG9yPTIwCiB3YXlzIHRvIGhlbHAgZGV2ZWxvcG1lbnQsIHBsZWFzZSB2aXNp
dCBvdXIgd2Vic2l0ZS4KPTIwCi1FbmpveSEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitF
bmpveSEKKwoKZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUy
IC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCBkb2MvaW5zdGFs
bF9zY3JpcHQuc2gKLS0tIGEvZG9jL2luc3RhbGxfc2NyaXB0LnNoCisrKyBiL2RvYy9pbnN0YWxs
X3NjcmlwdC5zaApAQCAtNjQxLDcgKzY0MSw3IEBACiBUT1JOQURPPTNEJ3Rvcm5hZG8tNC4wLjIn
CiBaRVJPTVE9M0QnemVyb21xLTQuMC41JwogWkxJQj0zRCd6bGliLTEuMi44JwotU0VUVVBUT09M
Uz0zRCdzZXR1cHRvb2xzLTE2LjAnCitTRVRVUFRPT0xTPTNEJ3NldHVwdG9vbHMtMTguMC4xJwo9
MjAKICMgTm93IHdlIGR1bXAgYWxsIG91ciBTSEE1MTIgZmlsZXMgb3V0LgogZWNobyAnODU2MjIw
ZmE1NzllMjcyYWMzOGRjZWYwOTE3NjBmNTI3NDMxZmYzYjk4ZGY5YWY2ZTY4NDE2ZmNmNzdkOTY1
OWFjNWE9CmJlNWM3ZGVlNDEzMzFmMzU5NjE0NjM3YTRmZjQ1MjAzMzA4NTMzNWVlNDk5ODMwZWQx
MjZhYjU4NDI2NyAgQ3l0aG9uLTAuMjIudD0KYXIuZ3onID4gQ3l0aG9uLTAuMjIudGFyLmd6LnNo
YTUxMgpAQCAtNjY5LDcgKzY2OSw3IEBACiBlY2hvICc5MzU5MTA2OGRjNjNhZjhkNTBhNzkyNWQ1
MjhiYzBjY2NkZDcwNTIzMmM1MjliNjE2MjYxOWZlMjhkZGRhZjExNWU4YT0KNDYwYjE4NDI4Nzdk
MzUxNjBiZDdlZDQ4MGMxYmQwYmRiZWM1N2QxZjM1OTA4NWJkMTgxNGUwYzFjMjQyICB0b3JuYWRv
LTQuMC4yPQoudGFyLmd6JyA+IHRvcm5hZG8tNC4wLjIudGFyLmd6LnNoYTUxMgogZWNobyAnMGQ5
MjhlZDY4OGVkOTQwZDQ2MGZhOGY4ZDU3NGE5ODE5ZGNjYzRlMDMwZDczNWE4YzdkYjcxYjU5Mjg3
ZWU1MGZhNzQ9CjFhMDgyNDllMzU2Yzc4MzU2YjAzYzIxNzRmMmYyNjk5ZjA1YWE3ZGMzZDM4MGVk
NDdkOGQ3YmFiNTQwOCAgemVyb21xLTQuMC41Lj0KdGFyLmd6JyA+IHplcm9tcS00LjAuNS50YXIu
Z3ouc2hhNTEyCiBlY2hvICdlY2UyMDlkNGM3ZWMwY2I1OGVkZTc5MTQ0NGRjNzU0ZTBkMTA4MTFj
YmJkZWJlM2RmNjFjMGZkOWY5Zjk4NjdjMWMzYz0KY2Q1ZjE4MjdmODQ3YzAwNWUyNGVlZjM0ZmI1
YmY4N2I1ZDNmODk0ZDc1ZGEwNGYxNzk3NTM4MjkwZTRhICB6bGliLTEuMi44LnRhPQpyLmd6JyA+
IHpsaWItMS4yLjgudGFyLmd6LnNoYTUxMgotZWNobyAnMzhhODlhYWQ4OWRjOWFhNjgyZGJmYmNh
NjIzZTJmNjk1MTFmNWUyMGQ0YTM1MjZjMDFhYWJiYzdlOTNhZTc4ZjIwYWE9CmM1NjY2NzZiNDMx
ZTExMTU0MGI0MTU0MGExYzRmNjQ0Y2U0MTc0ZTdlY2YwNTIzMTg2MTIwNzVlMDJkYyAgc2V0dXB0
b29scy0xNj0KLjAudGFyLmd6JyA+IHNldHVwdG9vbHMtMTYuMC50YXIuZ3ouc2hhNTEyCitlY2hv
ICc5YjMxOGNlMmVlMmNmNzg3OTI5ZGNiODg2ZDc2YzQ5MmI0MzNlNzEwMjRmZGE5NDUyZDhiNDky
NzY1MmEyOThkNmJkMT0KYmRiN2E0YzczODgzYTk4ZTEwMDAyNGY4OWI0NmVhOGFhMTRiMjUwZjg5
NmU1NDllNmRkN2UxMGE2YjQxICBzZXR1cHRvb2xzLTE4PQouMC4xLnRhci5neicgPiBzZXR1cHRv
b2xzLTE4LjAuMS50YXIuZ3ouc2hhNTEyCiAjIEluZGl2aWR1YWwgcHJvY2Vzc2VzCiBbIC16ICIk
SERGNV9ESVIiIF0gJiYgZ2V0X3l0cHJvamVjdCAkSERGNS50YXIuZ3oKIFsgJElOU1RfWkxJQiAt
ZXEgMSBdICYmIGdldF95dHByb2plY3QgJFpMSUIudGFyLmd6CgpkaWZmIC1yIGEzMjgyYWE2MzYw
NTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9
CjVlODJlNmM2ZDE0NzllZDVkIGRvYy9zb3VyY2UvYW5hbHl6aW5nL2FuYWx5c2lzX21vZHVsZXMv
U1pfcHJvamVjdGlvbnMuaXB5bmIKLS0tIGEvZG9jL3NvdXJjZS9hbmFseXppbmcvYW5hbHlzaXNf
bW9kdWxlcy9TWl9wcm9qZWN0aW9ucy5pcHluYgorKysgYi9kb2Mvc291cmNlL2FuYWx5emluZy9h
bmFseXNpc19tb2R1bGVzL1NaX3Byb2plY3Rpb25zLmlweW5iCkBAIC0xLDcgKzEsNyBAQAogewog
ICJtZXRhZGF0YSI6IHsKICAgIm5hbWUiOiAiIiwKLSAgInNpZ25hdHVyZSI6ICJzaGEyNTY6MmNj
MTY4YjJjMTczN2M2NzY0N2FhMjk4OTJjMDIxM2U3YTU4MjMzZmE1M2M4MDlmOWNkPQo5NzVhNDMw
NmU5YmM4IgorICAic2lnbmF0dXJlIjogInNoYTI1Njo0ODczODNlYzIzYTA5MjMxMDUyMmVjMjVi
ZDAyYWQyZWIxNmEzNDAyYzVlZDNkMmIxMDM9CmQzM2ZlMTc2OTdiM2MiCiAgfSwKICAibmJmb3Jt
YXQiOiAzLAogICJuYmZvcm1hdF9taW5vciI6IDAsCkBAIC03MCw2ICs3MCwxMyBAQAogICAgICBd
CiAgICAgfSwKICAgICB7CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0
YWRhdGEiOiB7fSwKKyAgICAgInNvdXJjZSI6IFsKKyAgICAgICI8Zm9udCBjb2xvcj0zRCdyZWQn
PioqTk9URSoqPC9mb250PjogQ3VycmVudGx5LCB1c2Ugb2YgdGhlIFNacGFjayBsPQppYnJhcnkg
dG8gY3JlYXRlIFMtWiBwcm9qZWN0aW9ucyBpbiB5dCBpcyBsaW1pdGVkIHRvIFB5dGhvbiAyLngu
IgorICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICJjZWxsX3R5cGUiOiAiaGVhZGluZyIsCiAg
ICAgICJsZXZlbCI6IDIsCiAgICAgICJtZXRhZGF0YSI6IHt9LAoKZGlmZiAtciBhMzI4MmFhNjM2
MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3
PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCBkb2Mvc291cmNlL2FuYWx5emluZy9maWVsZHMucnN0Ci0tLSBh
L2RvYy9zb3VyY2UvYW5hbHl6aW5nL2ZpZWxkcy5yc3QKKysrIGIvZG9jL3NvdXJjZS9hbmFseXpp
bmcvZmllbGRzLnJzdApAQCAtMTc0LDcgKzE3NCw3IEBACj0yMAogRmllbGQgcGx1Z2lucyBjYW4g
YmUgbG9hZGVkIGR5bmFtaWNhbGx5LCBhbHRob3VnaCBhdCBwcmVzZW50IHRoaXMgaXMgbm90CiBw
YXJ0aWN1bGFybHkgdXNlZnVsLiAgUGxhbnMgZm9yIGV4dGVuZGluZyBmaWVsZCBwbHVnaW5zIHRv
IGR5bmFtaWNhbGx5IGxvYT0KZCwgdG8KLWVuYWJsZSBzaW1wbGUgZGVmaW5pdGlvbiBvZiBjb21t
b24gdHlwZXMgKGdyYWRpZW50LCBkaXZlcmdlbmNlLCBldGMpLCBhbmQgPQp0bworZW5hYmxlIHNp
bXBsZSBkZWZpbml0aW9uIG9mIGNvbW1vbiB0eXBlcyAoZGl2ZXJnZW5jZSwgY3VybCwgZXRjKSwg
YW5kIHRvCiBtb3JlIHZlcmJvc2VseSBkZXNjcmliZSBhdmFpbGFibGUgZmllbGRzLCBoYXZlIGJl
ZW4gcHV0IGluIHBsYWNlIGZvciBmdXR1cmUKIHZlcnNpb25zLgo9MjAKCmRpZmYgLXIgYTMyODJh
YTYzNjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYxYWM4ZjExOGI0
OWFlNz0KNWU4MmU2YzZkMTQ3OWVkNWQgZG9jL3NvdXJjZS9jb29rYm9vay9maXRfc3BlY3RydW0u
cHkKLS0tIGEvZG9jL3NvdXJjZS9jb29rYm9vay9maXRfc3BlY3RydW0ucHkKKysrIGIvZG9jL3Nv
dXJjZS9jb29rYm9vay9maXRfc3BlY3RydW0ucHkKQEAgLTEwLDEwICsxMCwxMCBAQAogZGVmIF9P
VklfbnVtYmVyX2RlbnNpdHkoZmllbGQsIGRhdGEpOgogICAgIHJldHVybiBkYXRhWydIX251bWJl
cl9kZW5zaXR5J10qMi4wCj0yMAotIyBEZWZpbmUgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYWNjZXB0
IGEgZHMgYW5kIGFkZCB0aGUgbmV3IGZpZWxkPTIwCisjIERlZmluZSBhIGZ1bmN0aW9uIHRoYXQg
d2lsbCBhY2NlcHQgYSBkcyBhbmQgYWRkIHRoZSBuZXcgZmllbGQKICMgZGVmaW5lZCBhYm92ZS4g
IFRoaXMgd2lsbCBiZSBnaXZlbiB0byB0aGUgTGlnaHRSYXkgYmVsb3cuCiBkZWYgc2V0dXBfZHMo
ZHMpOgotICAgIGRzLmFkZF9maWVsZCgiT19wNV9udW1iZXJfZGVuc2l0eSIsPTIwCisgICAgZHMu
YWRkX2ZpZWxkKCgiZ2FzIiwiT19wNV9udW1iZXJfZGVuc2l0eSIpLAogICAgICAgICAgICAgICAg
ICBmdW5jdGlvbj0zRF9PVklfbnVtYmVyX2RlbnNpdHksCiAgICAgICAgICAgICAgICAgIHVuaXRz
PTNEImNtKiotMyIpCj0yMApAQCAtNjIsNyArNjIsNyBAQAo9MjAKICMgR2V0IGFsbCBmaWVsZHMg
dGhhdCBuZWVkIHRvIGJlIGFkZGVkIHRvIHRoZSBsaWdodCByYXkKIGZpZWxkcyA9M0QgWyd0ZW1w
ZXJhdHVyZSddCi1mb3IgcywgcGFyYW1zIGluIHNwZWNpZXNfZGljdHMuaXRlcml0ZW1zKCk6Citm
b3IgcywgcGFyYW1zIGluIHNwZWNpZXNfZGljdHMuaXRlbXMoKToKICAgICBmaWVsZHMuYXBwZW5k
KHBhcmFtc1snZmllbGQnXSkKPTIwCiAjIE1ha2UgYSBsaWdodCByYXksIGFuZCBzZXQgbmpvYnMg
dG8gLTEgdG8gdXNlIG9uZSBjb3JlCkBAIC03OSw3ICs3OSw3IEBACiBzcCA9M0QgQWJzb3JwdGlv
blNwZWN0cnVtKDkwMC4wLCAxNDAwLjAsIDUwMDAwKQo9MjAKICMgSXRlcmF0ZSBvdmVyIHNwZWNp
ZXMKLWZvciBzLCBwYXJhbXMgaW4gc3BlY2llc19kaWN0cy5pdGVyaXRlbXMoKToKK2ZvciBzLCBw
YXJhbXMgaW4gc3BlY2llc19kaWN0cy5pdGVtcygpOgogICAgICMgSXRlcmF0ZSBvdmVyIHRyYW5z
aXRpb25zIGZvciBhIHNpbmdsZSBzcGVjaWVzCiAgICAgZm9yIGkgaW4gcmFuZ2UocGFyYW1zWydu
dW1MaW5lcyddKToKICAgICAgICAgIyBBZGQgdGhlIGxpbmVzIHRvIHRoZSBzcGVjdHJ1bQoKZGlm
ZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFm
ZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCBkb2Mvc291cmNlL2Nvb2tib29rL2Zy
ZWVfZnJlZV9maWVsZC5weQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2ZyZWVfZnJlZV9maWVs
ZC5weQorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0jIyMgVEhJUyBSRUNJUEUgSVMg
Q1VSUkVOVExZIEJST0tFTiBJTiBZVC0zLjAKLSMjIyBETyBOT1QgVFJVU1QgVEhJUyBSRUNJUEUg
VU5USUwgVEhJUyBMSU5FIElTIFJFTU9WRUQKLQotaW1wb3J0IG51bXB5IGFzIG5wCi1pbXBvcnQg
eXQKLSMgTmVlZCB0byBncmFiIHRoZSBwcm90b24gbWFzcyBmcm9tIHRoZSBjb25zdGFudHMgZGF0
YWJhc2UKLWZyb20geXQudXRpbGl0aWVzLnBoeXNpY2FsX2NvbnN0YW50cyBpbXBvcnQgbXAKLQot
ZXhpdCgpCi0jIERlZmluZSB0aGUgZW1pc3Npb24gZmllbGQKLQota2VWdG9lcmcgPTNEIDEuNjAy
ZS05ICAjIENvbnZlcnQgZW5lcmd5IGluIGtlViB0byBlbmVyZ3kgaW4gZXJnCi1LdG9rZVYgPTNE
IDguNjE3ZS0wOCAgIyBDb252ZXJ0IGRlZ3JlZXMgS2VsdmluIHRvIGRlZ3JlZXMga2VWCi1zcXJ0
MyA9M0QgbnAuc3FydCgzLikKLWV4cGdhbW1hID0zRCAxLjc4MTA3MjQxNzk5ICAjIEV4cG9uZW50
aWFsIG9mIEV1bGVyJ3MgY29uc3RhbnQKLQotCi1kZWYgX0ZyZWVGcmVlX0VtaXNzaW9uKGZpZWxk
LCBkYXRhKToKLQotICAgIGlmIGRhdGEuaGFzX2ZpZWxkX3BhcmFtZXRlcigiWiIpOgotICAgICAg
ICBaID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoIloiKQotICAgIGVsc2U6Ci0gICAgICAg
IFogPTNEIDEuMDc3ICAjIFByaW1vcmRpYWwgSC9IZSBwbGFzbWEKLQotICAgIGlmIGRhdGEuaGFz
X2ZpZWxkX3BhcmFtZXRlcigibXVlIik6Ci0gICAgICAgIG11ZSA9M0QgZGF0YS5nZXRfZmllbGRf
cGFyYW1ldGVyKCJtdWUiKQotICAgIGVsc2U6Ci0gICAgICAgIG11ZSA9M0QgMS4vMC44NzUgICMg
UHJpbW9yZGlhbCBIL0hlIHBsYXNtYQotCi0gICAgaWYgZGF0YS5oYXNfZmllbGRfcGFyYW1ldGVy
KCJtdWkiKToKLSAgICAgICAgbXVpID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoIm11aSIp
Ci0gICAgZWxzZToKLSAgICAgICAgbXVpID0zRCAxLi8wLjgxMjUgICMgUHJpbW9yZGlhbCBIL0hl
IHBsYXNtYQotCi0gICAgaWYgZGF0YS5oYXNfZmllbGRfcGFyYW1ldGVyKCJFcGhvdG9uIik6Ci0g
ICAgICAgIEVwaG90b24gPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcigiRXBob3RvbiIpCi0g
ICAgZWxzZToKLSAgICAgICAgRXBob3RvbiA9M0QgMS4wICAjIGluIGtlVgotCi0gICAgaWYgZGF0
YS5oYXNfZmllbGRfcGFyYW1ldGVyKCJwaG90b25fZW1pc3Npb24iKToKLSAgICAgICAgcGhvdG9u
X2VtaXNzaW9uID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoInBob3Rvbl9lbWlzc2lvbiIp
Ci0gICAgZWxzZToKLSAgICAgICAgcGhvdG9uX2VtaXNzaW9uID0zRCBGYWxzZSAgIyBGbGFnIGZv
ciBlbmVyZ3kgb3IgcGhvdG9uIGVtaXNzaW9uCi0KLSAgICBuX2UgPTNEIGRhdGFbImRlbnNpdHki
XS8obXVlKm1wKQotICAgIG5faSA9M0QgZGF0YVsiZGVuc2l0eSJdLyhtdWkqbXApCi0gICAga1Qg
PTNEIGRhdGFbInRlbXBlcmF0dXJlIl0qS3Rva2VWCi0KLSAgICAjIENvbXB1dGUgdGhlIEdhdW50
IGZhY3RvcgotCi0gICAgZ19mZiA9M0QgbnAuemVyb3Moa1Quc2hhcGUpCi0gICAgZ19mZltFcGhv
dG9uL2tUID4gMS5dID0zRCBucC5zcXJ0KCgzLi9ucC5waSkqa1RbRXBob3Rvbi9rVCA+IDEuXS9F
cGhvdD0Kb24pCi0gICAgZ19mZltFcGhvdG9uL2tUIDwgMS5dID0zRCAoc3FydDMvbnAucGkpKm5w
LmxvZygoNC4vZXhwZ2FtbWEpICoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBrVFtFcGhvdG9uL2tUIDwgMS5dL0VwaG90PQpvbikKLQotICAgIGVwc19F
ID0zRCAxLjY0ZS0yMCpaKloqbl9lKm5faS9ucC5zcXJ0KGRhdGFbInRlbXBlcmF0dXJlIl0pICog
XAotICAgICAgICBucC5leHAoLUVwaG90b24va1QpKmdfZmYKLQotICAgIGlmIHBob3Rvbl9lbWlz
c2lvbjoKLSAgICAgICAgZXBzX0UgLz0zRCAoRXBob3RvbiprZVZ0b2VyZykKLQotICAgIHJldHVy
biBlcHNfRQotCi15dC5hZGRfZmllbGQoIkZyZWVGcmVlX0VtaXNzaW9uIiwgZnVuY3Rpb249M0Rf
RnJlZUZyZWVfRW1pc3Npb24pCi0KLSMgRGVmaW5lIHRoZSBsdW1pbm9zaXR5IGRlcml2ZWQgcXVh
bnRpdHkKLWRlZiBfRnJlZUZyZWVMdW1pbm9zaXR5KGRhdGEpOgotICAgIHJldHVybiAoZGF0YVsi
RnJlZUZyZWVfRW1pc3Npb24iXSpkYXRhWyJjZWxsX3ZvbHVtZSJdKS5zdW0oKQotCi0KLWRlZiBf
Y29tYkZyZWVGcmVlTHVtaW5vc2l0eShkYXRhLCBsdW1pbm9zaXR5KToKLSAgICByZXR1cm4gbHVt
aW5vc2l0eS5zdW0oKQotCi15dC5hZGRfcXVhbnRpdHkoIkZyZWVGcmVlX0x1bWlub3NpdHkiLCBm
dW5jdGlvbj0zRF9GcmVlRnJlZUx1bWlub3NpdHksCi0gICAgICAgICAgICAgICAgY29tYmluZV9m
dW5jdGlvbj0zRF9jb21iRnJlZUZyZWVMdW1pbm9zaXR5LCBuX3JldD0zRDEpCi0KLWRzID0zRCB5
dC5sb2FkKCJHYXNTbG9zaGluZy9zbG9zaGluZ19ub21hZzJfaGRmNV9wbHRfY250XzAxNTAiKQot
Ci1zcGhlcmUgPTNEIGRzLnNwaGVyZShkcy5kb21haW5fY2VudGVyLCAoMTAwLiwgImtwYyIpKQot
Ci0jIFByaW50IG91dCB0aGUgdG90YWwgbHVtaW5vc2l0eSBhdCAxIGtlViBmb3IgdGhlIHNwaGVy
ZQotCi1wcmludCgiTF9FICgxIGtlViwgcHJpbW9yZGlhbCkgPTNEICIsIHNwaGVyZS5xdWFudGl0
aWVzWyJGcmVlRnJlZV9MdW1pbm9zaT0KdHkiXSgpKQotCi0jIFRoZSBkZWZhdWx0cyBmb3IgdGhl
IGZpZWxkIGFzc3VtZSBhIEgvSGUgcHJpbW9yZGlhbCBwbGFzbWEuCi0jIExldCdzIHNldCB0aGUg
YXBwcm9wcmlhdGUgcGFyYW1ldGVycyBmb3IgYSBwdXJlIGh5ZHJvZ2VuIHBsYXNtYS4KLQotc3Bo
ZXJlLnNldF9maWVsZF9wYXJhbWV0ZXIoIm11ZSIsIDEuMCkKLXNwaGVyZS5zZXRfZmllbGRfcGFy
YW1ldGVyKCJtdWkiLCAxLjApCi1zcGhlcmUuc2V0X2ZpZWxkX3BhcmFtZXRlcigiWiIsIDEuMCkK
LQotcHJpbnQoIkxfRSAoMSBrZVYsIHB1cmUgaHlkcm9nZW4pID0zRCAiLCBzcGhlcmUucXVhbnRp
dGllc1siRnJlZUZyZWVfTHVtaW49Cm9zaXR5Il0oKSkKLQotIyBOb3cgbGV0J3MgcHJpbnQgdGhl
IGx1bWlub3NpdHkgYXQgYW4gZW5lcmd5IG9mIEUgPTNEIDEwIGtlVgotCi1zcGhlcmUuc2V0X2Zp
ZWxkX3BhcmFtZXRlcigiRXBob3RvbiIsIDEwLjApCi0KLXByaW50KCJMX0UgKDEwIGtlViwgcHVy
ZSBoeWRyb2dlbikgPTNEICIsIHNwaGVyZS5xdWFudGl0aWVzWyJGcmVlRnJlZV9MdW1pPQpub3Np
dHkiXSgpKQotCi0jIEZpbmFsbHksIGxldCdzIHNldCB0aGUgZmxhZyBmb3IgcGhvdG9uIGVtaXNz
aW9uLCB0byBnZXQgdGhlIHRvdGFsIG51bWJlcgotIyBvZiBwaG90b25zIGVtaXR0ZWQgYXQgdGhp
cyBlbmVyZ3k6Ci0KLXNwaGVyZS5zZXRfZmllbGRfcGFyYW1ldGVyKCJwaG90b25fZW1pc3Npb24i
LCBUcnVlKQotCi1wcmludCgiTF9waCAoMTAga2VWLCBwdXJlIGh5ZHJvZ2VuKSA9M0QgIiwgc3Bo
ZXJlLnF1YW50aXRpZXNbIkZyZWVGcmVlX0x1bT0KaW5vc2l0eSJdKCkpCgpkaWZmIC1yIGEzMjgy
YWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThi
NDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIGRvYy9zb3VyY2UvY29va2Jvb2svc2ltdWxhdGlvbl9h
bmFseXNpcy5weQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL3NpbXVsYXRpb25fYW5hbHlzaXMu
cHkKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay9zaW11bGF0aW9uX2FuYWx5c2lzLnB5CkBAIC0y
LDExICsyLDExIEBACiB5dC5lbmFibGVfcGFyYWxsZWxpc20oKQogaW1wb3J0IGNvbGxlY3Rpb25z
Cj0yMAotIyBFbmFibGUgcGFyYWxsZWxpc20gaW4gdGhlIHNjcmlwdCAoYXNzdW1pbmcgaXQgd2Fz
IGNhbGxlZCB3aXRoPTIwCisjIEVuYWJsZSBwYXJhbGxlbGlzbSBpbiB0aGUgc2NyaXB0IChhc3N1
bWluZyBpdCB3YXMgY2FsbGVkIHdpdGgKICMgYG1waXJ1biAtbnAgPG5fcHJvY3M+YCApCiB5dC5l
bmFibGVfcGFyYWxsZWxpc20oKQo9MjAKLSMgQnkgdXNpbmcgd2lsZGNhcmRzIHN1Y2ggYXMgPyBh
bmQgKiB3aXRoIHRoZSBsb2FkIGNvbW1hbmQsIHdlIGNhbiBsb2FkIHVwPQogYT0yMAorIyBCeSB1
c2luZyB3aWxkY2FyZHMgc3VjaCBhcyA/IGFuZCAqIHdpdGggdGhlIGxvYWQgY29tbWFuZCwgd2Ug
Y2FuIGxvYWQgdXA9CiBhCiAjIFRpbWUgU2VyaWVzIGNvbnRhaW5pbmcgYWxsIG9mIHRoZXNlIGRh
dGFzZXRzIHNpbXVsdGFuZW91c2x5LgogdHMgPTNEIHl0LmxvYWQoJ2Vuem9fdGlueV9jb3Ntb2xv
Z3kvREQ/Pz8/L0REPz8/PycpCj0yMApAQCAtMTYsNyArMTYsNyBAQAogIyBDcmVhdGUgYW4gZW1w
dHkgZGljdGlvbmFyeQogZGF0YSA9M0Qge30KPTIwCi0jIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGRh
dGFzZXQgaW4gdGhlIFRpbWUgU2VyaWVzICh1c2luZyBwaXRlciBhbGxvd3MgaXQ9MjAKKyMgSXRl
cmF0ZSB0aHJvdWdoIGVhY2ggZGF0YXNldCBpbiB0aGUgVGltZSBTZXJpZXMgKHVzaW5nIHBpdGVy
IGFsbG93cyBpdAogIyB0byBoYXBwZW4gaW4gcGFyYWxsZWwgYXV0b21hdGljYWxseSBhY3Jvc3Mg
YXZhaWxhYmxlIHByb2Nlc3NvcnMpCiBmb3IgZHMgaW4gdHMucGl0ZXIoKToKICAgICBhZCA9M0Qg
ZHMuYWxsX2RhdGEoKQpAQCAtMzEsNiArMzEsNiBAQAogIyBQcmludCBvdXQgYWxsIHRoZSB2YWx1
ZXMgd2UgY2FsY3VsYXRlZC4KIHByaW50KCJEYXRhc2V0ICAgICAgUmVkc2hpZnQgICAgICAgIERl
bnNpdHkgTWluICAgICAgRGVuc2l0eSBNYXgiKQogcHJpbnQoIi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpCi1mb3Iga2V5LCB2YWwgaW4g
b2QuaXRlcml0ZW1zKCk6PTIwCitmb3Iga2V5LCB2YWwgaW4gb2QuaXRlbXMoKTo9MjAKICAgICBw
cmludCgiJXMgICAgICAgJTA1LjNmICAgICAgICAgICU1LjNnIGcvY21eMyAgICU1LjNnIGcvY21e
MyIgJSBcCiAgICAgICAgICAgIChrZXksIHZhbFsxXSwgdmFsWzBdWzBdLCB2YWxbMF1bMV0pKQoK
ZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1
OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCBkb2Mvc291cmNlL2Nvb2tib29r
L3RpbWVfc2VyaWVzLnB5Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2svdGltZV9zZXJpZXMucHkK
KysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay90aW1lX3Nlcmllcy5weQpAQCAtMTIsNyArMTIsNyBA
QAo9MjAKIHN0b3JhZ2UgPTNEIHt9Cj0yMAotIyBCeSB1c2luZyB0aGUgcGl0ZXIoKSBmdW5jdGlv
biwgd2UgY2FuIGl0ZXJhdGUgb24gZXZlcnkgZGF0YXNldCBpbj0yMAorIyBCeSB1c2luZyB0aGUg
cGl0ZXIoKSBmdW5jdGlvbiwgd2UgY2FuIGl0ZXJhdGUgb24gZXZlcnkgZGF0YXNldCBpbgogIyB0
aGUgVGltZVNlcmllcyBvYmplY3QuICBCeSB1c2luZyB0aGUgc3RvcmFnZSBrZXl3b3JkLCB3ZSBj
YW4gcG9wdWxhdGUKICMgYSBkaWN0aW9uYXJ5IHdoZXJlIHRoZSBkYXRhc2V0IGlzIHRoZSBrZXks
IGFuZCBzdG8ucmVzdWx0IGlzIHRoZSB2YWx1ZQogIyBmb3IgbGF0ZXIgdXNlIHdoZW4gdGhlIGxv
b3AgaXMgY29tcGxldGUuCkBAIC0yNSwxMyArMjUsMTMgQEAKICAgICBzcGhlcmUgPTNEIGRzLnNw
aGVyZSgiYyIsICgxMDAuLCAia3BjIikpCiAgICAgIyBDYWxjdWxhdGUgdGhlIGVudHJvcHkgd2l0
aGluIHRoYXQgc3BoZXJlCiAgICAgZW50ciA9M0Qgc3BoZXJlWyJlbnRyb3B5Il0uc3VtKCkKLSAg
ICAjIFN0b3JlIHRoZSBjdXJyZW50IHRpbWUgYW5kIHNwaGVyZSBlbnRyb3B5IGZvciB0aGlzIGRh
dGFzZXQgaW4gb3VyPTIwCisgICAgIyBTdG9yZSB0aGUgY3VycmVudCB0aW1lIGFuZCBzcGhlcmUg
ZW50cm9weSBmb3IgdGhpcyBkYXRhc2V0IGluIG91cgogICAgICMgc3RvcmFnZSBkaWN0aW9uYXJ5
IGFzIGEgdHVwbGUKICAgICBzdG9yZS5yZXN1bHQgPTNEIChkcy5jdXJyZW50X3RpbWUuaW5fdW5p
dHMoJ0d5cicpLCBlbnRyKQo9MjAKICMgQ29udmVydCB0aGUgc3RvcmFnZSBkaWN0aW9uYXJ5IHZh
bHVlcyB0byBhIE54MiBhcnJheSwgc28gdGhlIGNhbiBiZSBlYXNpPQpseQogIyBwbG90dGVkCi1h
cnIgPTNEIG5wLmFycmF5KHN0b3JhZ2UudmFsdWVzKCkpCithcnIgPTNEIG5wLmFycmF5KGxpc3Qo
c3RvcmFnZS52YWx1ZXMoKSkpCj0yMAogIyBQbG90IHVwIHRoZSByZXN1bHRzOiB0aW1lIHZlcnN1
cyBlbnRyb3B5CiBwbHQuc2VtaWxvZ3koYXJyWzosMF0sIGFycls6LDFdLCAnci0nKQoKZGlmZiAt
ciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFh
YzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCBkb2Mvc291cmNlL2RldmVsb3BpbmcvaW50
cm8ucnN0Ci0tLSBhL2RvYy9zb3VyY2UvZGV2ZWxvcGluZy9pbnRyby5yc3QKKysrIGIvZG9jL3Nv
dXJjZS9kZXZlbG9waW5nL2ludHJvLnJzdApAQCAtMTQyLDMgKzE0Miw3NyBAQAogZmVkZXJhdGVk
IGRhdGFiYXNlIGZvciBzaW11bGF0aW9uIG91dHB1dHMsIGFuZCBzbyBvbiBhbmQgc28gZm9ydGgu
Cj0yMAogeXQgaXMgYW4gYW1iaXRpb3VzIHByb2plY3QuICBMZXQncyBiZSBhbWJpdGlvdXMgdG9n
ZXRoZXIuCisKK3l0IENvbW11bml0eSBDb2RlIG9mIENvbmR1Y3QKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKworVGhlIGNvbW11bml0eSBvZiBwYXJ0aWNpcGFudHMgaW4gb3BlbiBzb3Vy
Y2U9MjAKK1NjaWVudGlmaWMgcHJvamVjdHMgaXMgbWFkZSB1cCBvZiBtZW1iZXJzIGZyb20gYXJv
dW5kIHRoZQorZ2xvYmUgd2l0aCBhIGRpdmVyc2Ugc2V0IG9mIHNraWxscywgcGVyc29uYWxpdGll
cywgYW5kCitleHBlcmllbmNlcy4gSXQgaXMgdGhyb3VnaCB0aGVzZSBkaWZmZXJlbmNlcyB0aGF0
IG91cgorY29tbXVuaXR5IGV4cGVyaWVuY2VzIHN1Y2Nlc3MgYW5kIGNvbnRpbnVlZCBncm93dGgu
IFdlCitleHBlY3QgZXZlcnlvbmUgaW4gb3VyIGNvbW11bml0eSB0byBmb2xsb3cgdGhlc2UgZ3Vp
ZGVsaW5lcword2hlbiBpbnRlcmFjdGluZyB3aXRoIG90aGVycyBib3RoIGluc2lkZSBhbmQgb3V0
c2lkZSBvZiBvdXIKK2NvbW11bml0eS4gT3VyIGdvYWwgaXMgdG8ga2VlcCBvdXJzIGEgcG9zaXRp
dmUsIGluY2x1c2l2ZSwKK3N1Y2Nlc3NmdWwsIGFuZCBncm93aW5nIGNvbW11bml0eS4KKworQXMg
bWVtYmVycyBvZiB0aGUgY29tbXVuaXR5LAorCistIFdlIHBsZWRnZSB0byB0cmVhdCBhbGwgcGVv
cGxlIHdpdGggcmVzcGVjdCBhbmQKKyAgcHJvdmlkZSBhIGhhcmFzc21lbnQtIGFuZCBidWxseWlu
Zy1mcmVlIGVudmlyb25tZW50LAorICByZWdhcmRsZXNzIG9mIHNleCwgc2V4dWFsIG9yaWVudGF0
aW9uIGFuZC9vciBnZW5kZXIKKyAgaWRlbnRpdHksIGRpc2FiaWxpdHksIHBoeXNpY2FsIGFwcGVh
cmFuY2UsIGJvZHkgc2l6ZSwKKyAgcmFjZSwgbmF0aW9uYWxpdHksIGV0aG5pY2l0eSwgYW5kIHJl
bGlnaW9uLiBJbgorICBwYXJ0aWN1bGFyLCBzZXh1YWwgbGFuZ3VhZ2UgYW5kIGltYWdlcnksIHNl
eGlzdCwKKyAgcmFjaXN0LCBvciBvdGhlcndpc2UgZXhjbHVzaW9uYXJ5IGpva2VzIGFyZSBub3QK
KyAgYXBwcm9wcmlhdGUuCisKKy0gV2UgcGxlZGdlIHRvIHJlc3BlY3QgdGhlIHdvcmsgb2Ygb3Ro
ZXJzIGJ5CisgIHJlY29nbml6aW5nIGFja25vd2xlZGdtZW50L2NpdGF0aW9uIHJlcXVlc3RzIG9m
CisgIG9yaWdpbmFsIGF1dGhvcnMuIEFzIGF1dGhvcnMsIHdlIHBsZWRnZSB0byBiZSBleHBsaWNp
dAorICBhYm91dCBob3cgd2Ugd2FudCBvdXIgb3duIHdvcmsgdG8gYmUgY2l0ZWQgb3IKKyAgYWNr
bm93bGVkZ2VkLgorCistIFdlIHBsZWRnZSB0byB3ZWxjb21lIHRob3NlIGludGVyZXN0ZWQgaW4g
am9pbmluZyB0aGUKKyAgY29tbXVuaXR5LCBhbmQgcmVhbGl6ZSB0aGF0IGluY2x1ZGluZyBwZW9w
bGUgd2l0aCBhCisgIHZhcmlldHkgb2Ygb3BpbmlvbnMgYW5kIGJhY2tncm91bmRzIHdpbGwgb25s
eSBzZXJ2ZSB0bworICBlbnJpY2ggb3VyIGNvbW11bml0eS4gSW4gcGFydGljdWxhciwgZGlzY3Vz
c2lvbnMKKyAgcmVsYXRpbmcgdG8gcHJvcy9jb25zIG9mIHZhcmlvdXMgdGVjaG5vbG9naWVzLAor
ICBwcm9ncmFtbWluZyBsYW5ndWFnZXMsIGFuZCBzbyBvbiBhcmUgd2VsY29tZSwgYnV0CisgIHRo
ZXNlIHNob3VsZCBiZSBkb25lIHdpdGggcmVzcGVjdCwgdGFraW5nIHByb2FjdGl2ZQorICBtZWFz
dXJlIHRvIGVuc3VyZSB0aGF0IGFsbCBwYXJ0aWNpcGFudHMgYXJlIGhlYXJkIGFuZAorICBmZWVs
IGNvbmZpZGVudCB0aGF0IHRoZXkgY2FuIGZyZWVseSBleHByZXNzIHRoZWlyCisgIG9waW5pb25z
LgorCistIFdlIHBsZWRnZSB0byB3ZWxjb21lIHF1ZXN0aW9ucyBhbmQgYW5zd2VyIHRoZW0KKyAg
cmVzcGVjdGZ1bGx5LCBwYXlpbmcgcGFydGljdWxhciBhdHRlbnRpb24gdG8gdGhvc2UgbmV3Cisg
IHRvIHRoZSBjb21tdW5pdHkuIFdlIHBsZWRnZSB0byBwcm92aWRlIHJlc3BlY3RmdWwKKyAgY3Jp
dGljaXNtcyBhbmQgZmVlZGJhY2sgaW4gZm9ydW1zLCBlc3BlY2lhbGx5IGluCisgIGRpc2N1c3Np
b24gdGhyZWFkcyByZXN1bHRpbmcgZnJvbSBjb2RlCisgIGNvbnRyaWJ1dGlvbnMuCisKKy0gV2Ug
cGxlZGdlIHRvIGJlIGNvbnNjaWVudGlvdXMgb2YgdGhlIHBlcmNlcHRpb25zIG9mCisgIHRoZSB3
aWRlciBjb21tdW5pdHkgYW5kIHRvIHJlc3BvbmQgdG8gY3JpdGljaXNtCisgIHJlc3BlY3RmdWxs
eS4gV2Ugd2lsbCBzdHJpdmUgdG8gbW9kZWwgYmVoYXZpb3JzIHRoYXQKKyAgZW5jb3VyYWdlIHBy
b2R1Y3RpdmUgZGViYXRlIGFuZCBkaXNhZ3JlZW1lbnQsIGJvdGgKKyAgd2l0aGluIG91ciBjb21t
dW5pdHkgYW5kIHdoZXJlIHdlIGFyZSBjcml0aWNpemVkLiBXZQorICB3aWxsIHRyZWF0IHRob3Nl
IG91dHNpZGUgb3VyIGNvbW11bml0eSB3aXRoIHRoZSBzYW1lCisgIHJlc3BlY3QgYXMgcGVvcGxl
IHdpdGhpbiBvdXIgY29tbXVuaXR5LgorCistIFdlIHBsZWRnZSB0byBoZWxwIHRoZSBlbnRpcmUg
Y29tbXVuaXR5IGZvbGxvdyB0aGUKKyAgY29kZSBvZiBjb25kdWN0LCBhbmQgdG8gbm90IHJlbWFp
biBzaWxlbnQgd2hlbiB3ZSBzZWUKKyAgdmlvbGF0aW9ucyBvZiB0aGUgY29kZSBvZiBjb25kdWN0
LiBXZSB3aWxsIHRha2UgYWN0aW9uCisgIHdoZW4gbWVtYmVycyBvZiBvdXIgY29tbXVuaXR5IHZp
b2xhdGUgdGhpcyBjb2RlIHN1Y2ggYXMKKyAgY29udGFjdGluZyBjb25maWRlbnRpYWxAeXQtcHJv
amVjdC5vcmcgKGFsbCBlbWFpbHMgc2VudCB0bworICB0aGlzIGFkZHJlc3Mgd2lsbCBiZSB0cmVh
dGVkIHdpdGggdGhlIHN0cmljdGVzdAorICBjb25maWRlbmNlKSBvciB0YWxraW5nIHByaXZhdGVs
eSB3aXRoIHRoZSBwZXJzb24uCisKK1RoaXMgY29kZSBvZiBjb25kdWN0IGFwcGxpZXMgdG8gYWxs
Citjb21tdW5pdHkgc2l0dWF0aW9ucyBvbmxpbmUgYW5kIG9mZmxpbmUsIGluY2x1ZGluZyBtYWls
aW5nCitsaXN0cywgZm9ydW1zLCBzb2NpYWwgbWVkaWEsIGNvbmZlcmVuY2VzLCBtZWV0aW5ncywK
K2Fzc29jaWF0ZWQgc29jaWFsIGV2ZW50cywgYW5kIG9uZS10by1vbmUgaW50ZXJhY3Rpb25zLgor
CitUaGUgeXQgQ29tbXVuaXR5IENvZGUgb2YgQ29uZHVjdCB3YXMgYWRhcHRlZCBmcm9tIHRoZT0y
MAorYEFzdHJvcHkgQ29tbXVuaXR5IENvZGUgb2YgQ29uZHVjdD0yMAorPGh0dHA6Ly93d3cuYXN0
cm9weS5vcmcvYWJvdXQuaHRtbCNjb2Rlb2Zjb25kdWN0PmBfLAord2hpY2ggd2FzIHBhcnRpYWxs
eSBpbnNwaXJlZCBieSB0aGUgUFNGIGNvZGUgb2YgY29uZHVjdC4KCmRpZmYgLXIgYTMyODJhYTYz
NjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYxYWM4ZjExOGI0OWFl
Nz0KNWU4MmU2YzZkMTQ3OWVkNWQgZG9jL3NvdXJjZS9leGFtaW5pbmcvbG9hZGluZ19kYXRhLnJz
dAotLS0gYS9kb2Mvc291cmNlL2V4YW1pbmluZy9sb2FkaW5nX2RhdGEucnN0CisrKyBiL2RvYy9z
b3VyY2UvZXhhbWluaW5nL2xvYWRpbmdfZGF0YS5yc3QKQEAgLTEwNzksNiArMTA3OSw3NiBAQAo9
MjAKIC4uIF9sb2FkaW5nLXB5bmUtZGF0YToKPTIwCitIYWxvIENhdGFsb2cgRGF0YQorLS0tLS0t
LS0tLS0tLS0tLS0KKworeXQgaGFzIHN1cHBvcnQgZm9yIHJlYWRpbmcgaGFsbyBjYXRhbG9ncyBw
cm9kdWNlZCBieSBSb2Nrc3RhciBhbmQgdGhlIGlubGk9Cm5lPTIwCitGT0YvU1VCRklORCBoYWxv
IGZpbmRlcnMgb2YgR2FkZ2V0IGFuZCBPV0xTLiAgVGhlIGhhbG8gY2F0YWxvZ3MgYXJlIHRyZWF0
ZT0KZCBhcz0yMAorcGFydGljbGUgZGF0YXNldHMgd2hlcmUgZWFjaCBwYXJ0aWNsZSByZXByZXNl
bnRzIGEgc2luZ2xlIGhhbG8uICBBdCB0aGlzIHQ9CmltZSw9MjAKK3l0IGRvZXMgbm90IGhhdmUg
dGhlIGFiaWxpdHkgdG8gbG9hZCB0aGUgbWVtYmVyIHBhcnRpY2xlcyBmb3IgYSBnaXZlbiBoYWxv
PQouID0yMAorSG93ZXZlciwgb25jZSBsb2FkZWQsIGZ1cnRoZXIgaGFsbyBhbmFseXNpcyBjYW4g
YmUgcGVyZm9ybWVkIHVzaW5nPTIwCis6cmVmOmBoYWxvX2NhdGFsb2dgLgorCitJbiB0aGUgY2Fz
ZSB3aGVyZSBoYWxvIGNhdGFsb2dzIGFyZSB3cml0dGVuIHRvIG11bHRpcGxlIGZpbGVzLCBvbmUg
bXVzdCBvbj0KbHk9MjAKK2dpdmUgdGhlIHBhdGggdG8gb25lIG9mIHRoZW0uCisKK0dhZGdldCBG
T0YvU1VCRklORAorXl5eXl5eXl5eXl5eXl5eXl5eCisKK1RoZSB0d28gZmllbGQgdHlwZXMgZm9y
IEdhZGdldEZPRiBkYXRhIGFyZSAiR3JvdXAiIChGT0YpIGFuZCAiU3ViaGFsbyIgKFNVPQpCRklO
RCkuCisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKworICAgaW1wb3J0IHl0CisgICBkcyA9M0Qg
eXQubG9hZCgiZ2FkZ2V0X2ZvZl9oYWxvcy9ncm91cHNfMDQyL2ZvZl9zdWJoYWxvX3RhYl8wNDIu
MC5oZGY1IikKKyAgIGFkID0zRCBkcy5hbGxfZGF0YSgpCisgICAjIFRoZSBoYWxvIG1hc3MKKyAg
IHByaW50IGFkWyJHcm91cCIsICJwYXJ0aWNsZV9tYXNzIl0KKyAgIHByaW50IGFkWyJTdWJoYWxv
IiwgInBhcnRpY2xlX21hc3MiXQorICAgIyBIYWxvIElECisgICBwcmludCBhZFsiR3JvdXAiLCAi
cGFydGljbGVfaWRlbnRpZmllciJdCisgICBwcmludCBhZFsiU3ViaGFsbyIsICJwYXJ0aWNsZV9p
ZGVudGlmaWVyIl0KKyAgICMgcG9zaXRpb25zCisgICBwcmludCBhZFsiR3JvdXAiLCAicGFydGlj
bGVfcG9zaXRpb25feCJdCisgICAjIHZlbG9jaXRpZXMKKyAgIHByaW50IGFkWyJHcm91cCIsICJw
YXJ0aWNsZV92ZWxvY2l0eV94Il0KKworTXVsdGlkaW1lbnNpb25hbCBmaWVsZHMgY2FuIGJlIGFj
Y2Vzc2VkIHRocm91Z2ggdGhlIGZpZWxkIG5hbWUgZm9sbG93ZWQgYnk9CiBhbj0yMAordW5kZXJz
Y29yZSBhbmQgdGhlIGluZGV4LgorCisuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisKKyAgICMgeCBj
b21wb25lbnQgb2YgdGhlIHNwaW4KKyAgIHByaW50IGFkWyJTdWJoYWxvIiwgIlN1YmhhbG9TcGlu
XzAiXQorCitPV0xTIEZPRi9TVUJGSU5ECiteXl5eXl5eXl5eXl5eXl5eCisKK09XTFMgaGFsbyBj
YXRhbG9ncyBoYXZlIGEgdmVyeSBzaW1pbGFyIHN0cnVjdHVyZSB0byByZWd1bGFyIEdhZGdldCBo
YWxvIGNhPQp0YWxvZ3MuID0yMAorVGhlIHR3byBmaWVsZCB0eXBlcyBhcmUgIkZPRiIgYW5kICJT
VUJGSU5EIi4KKworLi4gY29kZS1ibG9jazo6IHB5dGhvbgorCisgICBpbXBvcnQgeXQKKyAgIGRz
ID0zRCB5dC5sb2FkKCJvd2xzX2ZvZl9oYWxvcy9ncm91cHNfMDA4L2dyb3VwXzAwOC4wLmhkZjUi
KQorICAgYWQgPTNEIGRzLmFsbF9kYXRhKCkKKyAgICMgVGhlIGhhbG8gbWFzcworICAgcHJpbnQg
YWRbIkZPRiIsICJwYXJ0aWNsZV9tYXNzIl0KKworUm9ja3N0YXIKK15eXl5eXl5eCisKK1JvY2tz
dGFyIGhhbG8gY2F0YWxvZ3MgYXJlIGxvYWRlZCBieSBwcm92aWRpbmcgdGhlIHBhdGggdG8gb25l
IG9mIHRoZSAuYmluPQogZmlsZXMuCitUaGUgc2luZ2xlIGZpZWxkIHR5cGUgYXZhaWxhYmxlIGlz
ICJoYWxvcyIuCisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKworICAgaW1wb3J0IHl0CisgICBk
cyA9M0QgeXQubG9hZCgicm9ja3N0YXJfaGFsb3MvaGFsb3NfMC4wLmJpbiIpCisgICBhZCA9M0Qg
ZHMuYWxsX2RhdGEoKQorICAgIyBUaGUgaGFsbyBtYXNzCisgICBwcmludCBhZFsiaGFsb3MiLCAi
cGFydGljbGVfbWFzcyJdCisKIFB5TkUgRGF0YQogLS0tLS0tLS0tCj0yMAoKZGlmZiAtciBhMzI4
MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4
YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCB5dC9hbmFseXNpc19tb2R1bGVzL2Fic29ycHRpb25f
c3BlY3RydW0vYWJzb3JwdGlvbl9zcGVjdHI9CnVtX2ZpdC5weQotLS0gYS95dC9hbmFseXNpc19t
b2R1bGVzL2Fic29ycHRpb25fc3BlY3RydW0vYWJzb3JwdGlvbl9zcGVjdHJ1bV9maXQucHkKKysr
IGIveXQvYW5hbHlzaXNfbW9kdWxlcy9hYnNvcnB0aW9uX3NwZWN0cnVtL2Fic29ycHRpb25fc3Bl
Y3RydW1fZml0LnB5CkBAIC0xMDExLDcgKzEwMTEsNyBAQAo9MjAKICAgICAiIiIKICAgICBmID0z
RCBoNXB5LkZpbGUoZmlsZV9uYW1lLCAndycpCi0gICAgZm9yIGlvbiwgcGFyYW1zIGluIGxpbmVE
aWMuaXRlcml0ZW1zKCk6CisgICAgZm9yIGlvbiwgcGFyYW1zIGluIGxpbmVEaWMuaXRlbXMoKToK
ICAgICAgICAgZi5jcmVhdGVfZGF0YXNldCgiezB9L04iLmZvcm1hdChpb24pLGRhdGE9M0RwYXJh
bXNbJ04nXSkKICAgICAgICAgZi5jcmVhdGVfZGF0YXNldCgiezB9L2IiLmZvcm1hdChpb24pLGRh
dGE9M0RwYXJhbXNbJ2InXSkKICAgICAgICAgZi5jcmVhdGVfZGF0YXNldCgiezB9L3oiLmZvcm1h
dChpb24pLGRhdGE9M0RwYXJhbXNbJ3onXSkKCmRpZmYgLXIgYTMyODJhYTYzNjA1MTJiMmUxZTE5
OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYxYWM4ZjExOGI0OWFlNz0KNWU4MmU2YzZk
MTQ3OWVkNWQgeXQvYW5hbHlzaXNfbW9kdWxlcy9jb3Ntb2xvZ2ljYWxfb2JzZXJ2YXRpb24vbGln
aHRfY29uZS9sPQppZ2h0X2NvbmUucHkKLS0tIGEveXQvYW5hbHlzaXNfbW9kdWxlcy9jb3Ntb2xv
Z2ljYWxfb2JzZXJ2YXRpb24vbGlnaHRfY29uZS9saWdodF9jb25lLnB5CisrKyBiL3l0L2FuYWx5
c2lzX21vZHVsZXMvY29zbW9sb2dpY2FsX29ic2VydmF0aW9uL2xpZ2h0X2NvbmUvbGlnaHRfY29u
ZS5weQpAQCAtMzQzLDcgKzM0Myw3IEBACiAgICAgICAgICAgICBkZWwgb3V0cHV0WyJvYmplY3Qi
XQo9MjAKICAgICAgICAgIyBDb21iaW5lIHJlc3VsdHMgZnJvbSBlYWNoIHNsaWNlLgotICAgICAg
ICBhbGxfc2xpY2VzID0zRCBhbGxfc3RvcmFnZS5rZXlzKCkKKyAgICAgICAgYWxsX3NsaWNlcyA9
M0QgbGlzdChhbGxfc3RvcmFnZS5rZXlzKCkpCiAgICAgICAgIGFsbF9zbGljZXMuc29ydCgpCiAg
ICAgICAgIGZvciBteV9zbGljZSBpbiBhbGxfc2xpY2VzOgogICAgICAgICAgICAgaWYgc2F2ZV9z
bGljZV9pbWFnZXM6CgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3
MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L2Fu
YWx5c2lzX21vZHVsZXMvaGFsb19maW5kaW5nL2hhbG9fb2JqZWN0cy5weQotLS0gYS95dC9hbmFs
eXNpc19tb2R1bGVzL2hhbG9fZmluZGluZy9oYWxvX29iamVjdHMucHkKKysrIGIveXQvYW5hbHlz
aXNfbW9kdWxlcy9oYWxvX2ZpbmRpbmcvaGFsb19vYmplY3RzLnB5CkBAIC0yMiw2ICsyMiw3IEBA
CiBpbXBvcnQgZ2xvYgogaW1wb3J0IG9zCiBpbXBvcnQgb3MucGF0aCBhcyBwYXRoCitmcm9tIGZ1
bmN0b29scyBpbXBvcnQgY21wX3RvX2tleQogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVs
dGRpY3QKIGZyb20geXQuZXh0ZXJuLnNpeCBpbXBvcnQgYWRkX21ldGFjbGFzcwogZnJvbSB5dC5l
eHRlcm4uc2l4Lm1vdmVzIGltcG9ydCB6aXAgYXMgaXppcApAQCAtMzksNyArNDAsNyBAQAogICAg
IFRJTlkKIGZyb20geXQudXRpbGl0aWVzLnBoeXNpY2FsX3JhdGlvcyBpbXBvcnQgXAogICAgICBy
aG9fY3JpdF9nX2NtM19oMgotICAgPTIwCisKIGZyb20gLmhvcC5FbnpvSG9wIGltcG9ydCBSdW5I
T1AKIGZyb20gLmZvZi5FbnpvRk9GIGltcG9ydCBSdW5GT0YKPTIwCkBAIC0xMzgsOSArMTM5LDkg
QEAKICAgICAgICAgY1syXSA9M0Qgc2VsZlsicGFydGljbGVfcG9zaXRpb25feiJdIC0gc2VsZi5k
cy5kb21haW5fbGVmdF9lZGdlWzJdCiAgICAgICAgIGNvbSA9M0QgW10KICAgICAgICAgZm9yIGkg
aW4gcmFuZ2UoMyk6Ci0gICAgICAgICAgICAjIEEgaGFsbyBpcyBsaWtlbHkgcGVyaW9kaWMgYXJv
dW5kIGEgYm91bmRhcnkgaWYgdGhlIGRpc3RhbmNlPTIwCisgICAgICAgICAgICAjIEEgaGFsbyBp
cyBsaWtlbHkgcGVyaW9kaWMgYXJvdW5kIGEgYm91bmRhcnkgaWYgdGhlIGRpc3RhbmNlCiAgICAg
ICAgICAgICAjIGJldHdlZW4gdGhlIG1heCBhbmQgbWluIHBhcnRpY2xlCi0gICAgICAgICAgICAj
IHBvc2l0aW9ucyBhcmUgbGFyZ2VyIHRoYW4gaGFsZiB0aGUgYm94Lj0yMAorICAgICAgICAgICAg
IyBwb3NpdGlvbnMgYXJlIGxhcmdlciB0aGFuIGhhbGYgdGhlIGJveC4KICAgICAgICAgICAgICMg
U28gc2tpcCB0aGUgcmVzdCBpZiB0aGUgY29udmVyc2UgaXMgdHJ1ZS4KICAgICAgICAgICAgICMg
Tm90ZSB3ZSBtaWdodCBtYWtlIGEgY2hhbmdlIGhlcmUgd2hlbiBwZXJpb2RpY2l0eS1oYW5kbGlu
ZyBpcwogICAgICAgICAgICAgIyBmdWxseSBpbXBsZW1lbnRlZC4KQEAgLTQ0NCw3ICs0NDUsNyBA
QAogICAgICAgICBNc3VuMmcgPTNEIG1hc3Nfc3VuX2NncwogICAgICAgICByaG9fY3JpdCA9M0Qg
cmhvX2NyaXQgKiAoKDEuMCArIHopICoqIDMuMCkKICAgICAgICAgIyBHZXQgc29tZSBwZXJ0aW5l
bnQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhhbG8uCi0gICAgICAgIHNlbGYubWFzc19iaW5zID0z
RCBzZWxmLmRzLmFycihucC56ZXJvcyhzZWxmLmJpbl9jb3VudCArIDEsPTIwCisgICAgICAgIHNl
bGYubWFzc19iaW5zID0zRCBzZWxmLmRzLmFycihucC56ZXJvcyhzZWxmLmJpbl9jb3VudCArIDEs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHR5cGU9M0Qn
ZmxvYXQ2NCcpLCdNc3VuJykKICAgICAgICAgZGlzdCA9M0QgbnAuZW1wdHkodGhpc3NpemUsIGR0
eXBlPTNEJ2Zsb2F0NjQnKQogICAgICAgICBjZW4gPTNEIHNlbGYuY2VudGVyX29mX21hc3MoKQpA
QCAtNDc1LDcgKzQ3Niw3IEBACiAgICAgICAgIHNlbGYub3ZlcmRlbnNpdHkgPTNEIHNlbGYubWFz
c19iaW5zICogTXN1bjJnIC8gXAogICAgICAgICAgICAgKDQuLzMuICogbWF0aC5waSAqIHJob19j
cml0ICogXAogICAgICAgICAgICAgKHNlbGYucmFkaWFsX2JpbnMgKSoqMy4wKQotICAgICAgID0y
MAorCiAgICAgZGVmIF9nZXRfZWxsaXBzb2lkX3BhcmFtZXRlcnNfYmFzaWMoc2VsZik6CiAgICAg
ICAgIG5wLnNldGVycihhbGw9M0QnaWdub3JlJykKICAgICAgICAgIyBjaGVjayBpZiB0aGVyZSBh
cmUgNCBwYXJ0aWNsZXMgdG8gZm9ybSBhbiBlbGxpcHNvaWQKQEAgLTUwMSw3ICs1MDIsNyBAQAog
ICAgICAgICBmb3IgYXhpcyBpbiByYW5nZShucC5zaXplKERXKSk6CiAgICAgICAgICAgICBjYXNl
cyA9M0QgbnAuYXJyYXkoW3Bvc2l0aW9uW2F4aXNdLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwb3NpdGlvbltheGlzXSArIERXW2F4aXNdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcG9zaXRpb25bYXhpc10gLSBEV1theGlzXV0pICAgICAgID0yMAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25bYXhpc10gLSBEV1theGlzXV0pCiAgICAgICAg
ICAgICAjIHBpY2sgb3V0IHRoZSBzbWFsbGVzdCBhYnNvbHV0ZSBkaXN0YW5jZSBmcm9tIGNvbQog
ICAgICAgICAgICAgcG9zaXRpb25bYXhpc10gPTNEIG5wLmNob29zZShucC5hYnMoY2FzZXMpLmFy
Z21pbihheGlzPTNEMCksIGM9CmFzZXMpCiAgICAgICAgICMgZmluZCB0aGUgZnVydGhlc3QgcGFy
dGljbGUncyBpbmRleApAQCAtNTcxLDcgKzU3Miw3IEBACiAgICAgX25hbWUgPTNEICJSb2Nrc3Rh
ckhhbG8iCiAgICAgIyBTZWUgcGFydGljbGVfbWFzawogICAgIF9yYWRqdXN0ID0zRCA0LgotICAg
PTIwCisKICAgICBkZWYgbWF4aW11bV9kZW5zaXR5KHNlbGYpOgogICAgICAgICByIiIiTm90IGlt
cGxlbWVudGVkLiIiIgogICAgICAgICByZXR1cm4gLTEKQEAgLTYzNSwxMSArNjM2LDExIEBACiAg
ICAgZGVmIGdldF9lbGxpcHNvaWRfcGFyYW1ldGVycyhzZWxmKToKICAgICAgICAgciIiIkNhbGN1
bGF0ZSB0aGUgcGFyYW1ldGVycyB0aGF0IGRlc2NyaWJlIHRoZSBlbGxpcHNvaWQgb2YKICAgICAg
ICAgdGhlIHBhcnRpY2xlcyB0aGF0IGNvbnN0aXR1dGUgdGhlIGhhbG8uCi0gICAgICAgPTIwCisK
ICAgICAgICAgUGFyYW1ldGVycwogICAgICAgICAtLS0tLS0tLS0tCiAgICAgICAgIE5vbmUKLSAg
ICAgICA9MjAKKwogICAgICAgICBSZXR1cm5zCiAgICAgICAgIC0tLS0tLS0KICAgICAgICAgdHVw
bGUgOiAoY20sIG1hZ19BLCBtYWdfQiwgbWFnX0MsIGUwX3ZlY3RvciwgdGlsdCkKQEAgLTY1MCw3
ICs2NTEsNyBAQAogICAgICAgICAgICAgICAjLiBtYWdfQyBhcyBhIGZsb2F0LgogICAgICAgICAg
ICAgICAjLiBlMF92ZWN0b3IgYXMgYW4gYXJyYXkuCiAgICAgICAgICAgICAgICMuIHRpbHQgYXMg
YSBmbG9hdC4KLSAgICAgICA9MjAKKwogICAgICAgICBFeGFtcGxlcwogICAgICAgICAtLS0tLS0t
LQogICAgICAgICA+Pj4gcGFyYW1zID0zRCBoYWxvc1swXS5nZXRfZWxsaXBzb2lkX3BhcmFtZXRl
cnMoKQpAQCAtNjYyLDIyICs2NjMsMjIgQEAKICAgICAgICAgICAgIGJhc2ljX3BhcmFtZXRlcnNb
NF0sIGJhc2ljX3BhcmFtZXRlcnNbNV1dKSwgYmFzaWNfcGFyYW1ldGVyc1s2PQpdXQogICAgICAg
ICB0b3JldHVybi5leHRlbmQodXBkYXRlZCkKICAgICAgICAgcmV0dXJuIHR1cGxlKHRvcmV0dXJu
KQotICAgPTIwCisKICAgICBkZWYgZ2V0X2VsbGlwc29pZChzZWxmKToKICAgICAgICAgciIiIlJl
dHVybnMgYW4gZWxsaXBzb2lkYWwgZGF0YSBvYmplY3QuCi0gICAgICAgPTIwCisKICAgICAgICAg
VGhpcyB3aWxsIGdlbmVyYXRlIGEgbmV3LCBlbXB0eSBlbGxpcHNvaWRhbCBkYXRhIG9iamVjdCBm
b3IgdGhpcwogICAgICAgICBoYWxvLgotICAgICAgID0yMAorCiAgICAgICAgIFBhcmFtZXRlcnMK
ICAgICAgICAgLS0tLS0tLS0tLQogICAgICAgICBOb25lLgotICAgICAgID0yMAorCiAgICAgICAg
IFJldHVybnMKICAgICAgICAgLS0tLS0tLQogICAgICAgICBlbGxpcHNvaWQgOiBgeXQuZGF0YV9v
YmplY3RzLmRhdGFfY29udGFpbmVycy5ZVEVsbGlwc29pZEJhc2VgCiAgICAgICAgICAgICBUaGUg
ZWxsaXBzb2lkYWwgZGF0YSBvYmplY3QuCi0gICAgICAgPTIwCisKICAgICAgICAgRXhhbXBsZXMK
ICAgICAgICAgLS0tLS0tLS0KICAgICAgICAgPj4+IGVsbCA9M0QgaGFsb3NbMF0uZ2V0X2VsbGlw
c29pZCgpCkBAIC02ODYsNyArNjg3LDcgQEAKICAgICAgICAgZWxsID0zRCBzZWxmLmRhdGEuZHMu
ZWxsaXBzb2lkKGVwWzBdLCBlcFsxXSwgZXBbMl0sIGVwWzNdLAogICAgICAgICAgICAgZXBbNF0s
IGVwWzVdKQogICAgICAgICByZXR1cm4gZWxsCi0gICA9MjAKKwogY2xhc3MgSE9QSGFsbyhIYWxv
KToKICAgICBfbmFtZSA9M0QgIkhPUEhhbG8iCiAgICAgcGFzcwpAQCAtNzYzLDE0ICs3NjQsMTQg
QEAKICAgICAgICAgICAgIHNlbGYuc2l6ZSwga2V5KQogICAgICAgICBpZiBmaWVsZF9kYXRhIGlz
IG5vdCBOb25lOgogICAgICAgICAgICAgaWYga2V5ID0zRD0zRCAncGFydGljbGVfaW5kZXgnOgot
ICAgICAgICAgICAgICAgICN0aGlzIGlzIGFuIGluZGV4IGZvciB0dXJuaW5nIGRhdGEgc29ydGVk
IGJ5IHBhcnRpY2xlIGluZGU9Cng9MjAKKyAgICAgICAgICAgICAgICAjdGhpcyBpcyBhbiBpbmRl
eCBmb3IgdHVybmluZyBkYXRhIHNvcnRlZCBieSBwYXJ0aWNsZSBpbmRleAogICAgICAgICAgICAg
ICAgICNpbnRvIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBmaWVsZHMgb24gZGlzawogICAgICAgICAg
ICAgICAgIHNlbGYuX3BpZF9zb3J0ID0zRCBmaWVsZF9kYXRhLmFyZ3NvcnQoKS5hcmdzb3J0KCkK
ICAgICAgICAgICAgICNjb252ZXJ0IHRvIFlUQXJyYXkgdXNpbmcgdGhlIGRhdGEgZnJvbSBkaXNr
CiAgICAgICAgICAgICBpZiBrZXkgPTNEPTNEICdwYXJ0aWNsZV9tYXNzJzoKICAgICAgICAgICAg
ICAgICBmaWVsZF9kYXRhID0zRCBzZWxmLmRzLmFycihmaWVsZF9kYXRhLCAnTXN1bicpCiAgICAg
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIHNlbGYuZHMuYXJy
KGZpZWxkX2RhdGEsPTIwCisgICAgICAgICAgICAgICAgZmllbGRfZGF0YSA9M0Qgc2VsZi5kcy5h
cnIoZmllbGRfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgc2VsZi5kcy5fZ2V0X2ZpZWxkX2lu
Zm8oJ3Vua25vd24nLGtleSkudW5pdHMpCiAgICAgICAgICAgICBzZWxmLl9zYXZlZF9maWVsZHNb
a2V5XSA9M0QgZmllbGRfZGF0YQogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NhdmVkX2ZpZWxk
c1trZXldCkBAIC04NTYsMjEgKzg1NywyMSBAQAogICAgICAgICAgICAgYmFzaWNfcGFyYW1ldGVy
c1s0XSwgYmFzaWNfcGFyYW1ldGVyc1s1XV0pLCBiYXNpY19wYXJhbWV0ZXJzWzY9Cl1dCiAgICAg
ICAgIHRvcmV0dXJuLmV4dGVuZCh1cGRhdGVkKQogICAgICAgICByZXR1cm4gdHVwbGUodG9yZXR1
cm4pCi0gICA9MjAKKwogICAgIGRlZiBnZXRfZWxsaXBzb2lkKHNlbGYpOgotICAgICAgICByIiIi
UmV0dXJucyBhbiBlbGxpcHNvaWRhbCBkYXRhIG9iamVjdC4gICAgICAgPTIwCisgICAgICAgIHIi
IiJSZXR1cm5zIGFuIGVsbGlwc29pZGFsIGRhdGEgb2JqZWN0LgogICAgICAgICBUaGlzIHdpbGwg
Z2VuZXJhdGUgYSBuZXcsIGVtcHR5IGVsbGlwc29pZGFsIGRhdGEgb2JqZWN0IGZvciB0aGlzCiAg
ICAgICAgIGhhbG8uCi0gICAgICAgPTIwCisKICAgICAgICAgUGFyYW1ldGVycwogICAgICAgICAt
LS0tLS0tLS0tCiAgICAgICAgIE5vbmUuCi0gICAgICAgPTIwCisKICAgICAgICAgUmV0dXJucwog
ICAgICAgICAtLS0tLS0tCiAgICAgICAgIGVsbGlwc29pZCA6IGB5dC5kYXRhX29iamVjdHMuZGF0
YV9jb250YWluZXJzLllURWxsaXBzb2lkQmFzZWAKICAgICAgICAgICAgIFRoZSBlbGxpcHNvaWRh
bCBkYXRhIG9iamVjdC4KLSAgICAgICA9MjAKKwogICAgICAgICBFeGFtcGxlcwogICAgICAgICAt
LS0tLS0tLQogICAgICAgICA+Pj4gZWxsID0zRCBoYWxvc1swXS5nZXRfZWxsaXBzb2lkKCkKQEAg
LTk0NywxMSArOTQ4LDExIEBACiAgICAgZGVmIG1heGltdW1fZGVuc2l0eShzZWxmKToKICAgICAg
ICAgciIiIlVuZGVmaW5lZCBmb3IgdGV4dCBoYWxvcy4iIiIKICAgICAgICAgcmV0dXJuIC0xCi0g
ICA9MjAKKwogICAgIGRlZiBtYXhpbXVtX2RlbnNpdHlfbG9jYXRpb24oc2VsZik6CiAgICAgICAg
IHIiIiJVbmRlZmluZWQsIGRlZmF1bHQgdG8gQ29NIiIiCiAgICAgICAgIHJldHVybiBzZWxmLmNl
bnRlcl9vZl9tYXNzKCkKLSAgID0yMAorCiAgICAgZGVmIGdldF9zaXplKHNlbGYpOgogICAgICAg
ICAjIEhhdmUgdG8ganVzdCBnZXQgaXQgZnJvbSB0aGUgc3BoZXJlLgogICAgICAgICByZXR1cm4g
c2VsZlsicGFydGljbGVfcG9zaXRpb25feCJdLnNpemUKQEAgLTk2NCw4ICs5NjUsOCBAQAogICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBkYXRhX3NvdXJjZSwgZG1fb25seT0zRFRydWUsIHJlZHNoaWZ0
PTNELTEpOgogICAgICAgICAiIiIKICAgICAgICAgUnVuIGhvcCBvbiAqZGF0YV9zb3VyY2UqIHdp
dGggYSBnaXZlbiBkZW5zaXR5ICp0aHJlc2hvbGQqLiAgSWYKLSAgICAgICAgKmRtX29ubHkqIGlz
IFRydWUgKGRlZmF1bHQpLCBvbmx5IHJ1biBpdCBvbiB0aGUgZGFyayBtYXR0ZXIgcGFydGljPQps
ZXMsPTIwCi0gICAgICAgIG90aGVyd2lzZSBvbiBhbGwgcGFydGljbGVzLiAgUmV0dXJucyBhbiBp
dGVyYWJsZSBjb2xsZWN0aW9uIG9mPTIwCisgICAgICAgICpkbV9vbmx5KiBpcyBUcnVlIChkZWZh
dWx0KSwgb25seSBydW4gaXQgb24gdGhlIGRhcmsgbWF0dGVyIHBhcnRpYz0KbGVzLAorICAgICAg
ICBvdGhlcndpc2Ugb24gYWxsIHBhcnRpY2xlcy4gIFJldHVybnMgYW4gaXRlcmFibGUgY29sbGVj
dGlvbiBvZgogICAgICAgICAqSG9wR3JvdXAqIGl0ZW1zLgogICAgICAgICAiIiIKICAgICAgICAg
c2VsZi5fZGF0YV9zb3VyY2UgPTNEIGRhdGFfc291cmNlCkBAIC0xMDUxLDcgKzEwNTIsNyBAQAog
ICAgICAgICBlbGxpcHNvaWRfZGF0YSA6IGJvb2wuCiAgICAgICAgICAgICBXaGV0aGVyIHRvIHBy
aW50IHRoZSBlbGxpcHNvaWRhbCBpbmZvcm1hdGlvbiB0byB0aGUgZmlsZS4KICAgICAgICAgICAg
IERlZmF1bHQgPTNEIEZhbHNlLgotICAgICAgID0yMAorCiAgICAgICAgIEV4YW1wbGVzCiAgICAg
ICAgIC0tLS0tLS0tCiAgICAgICAgID4+PiBoYWxvcy53cml0ZV9vdXQoIkhvcEFuYWx5c2lzLm91
dCIpCkBAIC0xMTQ0LDEwICsxMTQ1LDEwIEBACiAgICAgX2hhbG9fZHQgPTNEIG5wLmR0eXBlKFso
J2lkJywgbnAuaW50NjQpLCAoJ3BvcycsIChucC5mbG9hdDMyLCA2KSksCiAgICAgICAgICgnY29y
ZXZlbCcsIChucC5mbG9hdDMyLCAzKSksICgnYnVsa3ZlbCcsIChucC5mbG9hdDMyLCAzKSksCiAg
ICAgICAgICgnbScsIG5wLmZsb2F0MzIpLCAoJ3InLCBucC5mbG9hdDMyKSwgKCdjaGlsZF9yJywg
bnAuZmxvYXQzMiksCi0gICAgICAgICgndm1heF9yJywgbnAuZmxvYXQzMiksPTIwCisgICAgICAg
ICgndm1heF9yJywgbnAuZmxvYXQzMiksCiAgICAgICAgICgnbWdyYXYnLCBucC5mbG9hdDMyKSwg
KCd2bWF4JywgbnAuZmxvYXQzMiksCiAgICAgICAgICgncnZtYXgnLCBucC5mbG9hdDMyKSwgKCdy
cycsIG5wLmZsb2F0MzIpLAotICAgICAgICAoJ2tseXBpbl9ycycsIG5wLmZsb2F0MzIpLD0yMAor
ICAgICAgICAoJ2tseXBpbl9ycycsIG5wLmZsb2F0MzIpLAogICAgICAgICAoJ3ZybXMnLCBucC5m
bG9hdDMyKSwgKCdKJywgKG5wLmZsb2F0MzIsIDMpKSwKICAgICAgICAgKCdlbmVyZ3knLCBucC5m
bG9hdDMyKSwgKCdzcGluJywgbnAuZmxvYXQzMiksCiAgICAgICAgICgnYWx0X20nLCAobnAuZmxv
YXQzMiwgNCkpLCAoJ1hvZmYnLCBucC5mbG9hdDMyKSwKQEAgLTEyMjEsOSArMTIyMiw5IEBACiAg
ICAgICAgICIiIgogICAgICAgICBSZWFkIHRoZSBvdXRfKi5saXN0IHRleHQgZmlsZSBwcm9kdWNl
ZAogICAgICAgICBieSBSb2Nrc3RhciBpbnRvIG1lbW9yeS4iIiIKLSAgICAgICA9MjAKKwogICAg
ICAgICBkcyA9M0Qgc2VsZi5kcwotICAgICAgICAjIEluIG9yZGVyIHRvIHJlYWQgdGhlIGJpbmFy
eSBkYXRhLCB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hpY2g9MjAKKyAgICAgICAgIyBJbiBvcmRl
ciB0byByZWFkIHRoZSBiaW5hcnkgZGF0YSwgd2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoaWNoCiAg
ICAgICAgICMgYmluYXJ5IGZpbGVzIGJlbG9uZyB0byB0aGlzIG91dHB1dC4KICAgICAgICAgYmFz
ZWRpciA9M0Qgb3MucGF0aC5kaXJuYW1lKHNlbGYub3V0X2xpc3QpCiAgICAgICAgIHMgPTNEIHNl
bGYub3V0X2xpc3Quc3BsaXQoJ18nKVstMV0KQEAgLTE1MjMsMTIgKzE1MjQsMTQgQEAKICAgICAg
ICAgICAgICAgICBpZCArPTNEIDEKPTIwCiAgICAgICAgIGRlZiBoYWxvQ21wKGgxLCBoMik6Cisg
ICAgICAgICAgICBkZWYgY21wKGEsIGIpOgorICAgICAgICAgICAgICAgIHJldHVybiAoYSA+IGIp
IC0gKGEgPCBiKQogICAgICAgICAgICAgYyA9M0QgY21wKGgxLnRvdGFsX21hc3MoKSwgaDIudG90
YWxfbWFzcygpKQogICAgICAgICAgICAgaWYgYyAhPTNEIDA6CiAgICAgICAgICAgICAgICAgcmV0
dXJuIC0xICogYwogICAgICAgICAgICAgaWYgYyA9M0Q9M0QgMDoKICAgICAgICAgICAgICAgICBy
ZXR1cm4gY21wKGgxLmNlbnRlcl9vZl9tYXNzKClbMF0sIGgyLmNlbnRlcl9vZl9tYXNzKClbMF0p
Ci0gICAgICAgIHNlbGYuX2dyb3Vwcy5zb3J0KGhhbG9DbXApCisgICAgICAgIHNlbGYuX2dyb3Vw
cy5zb3J0KGtleT0zRGNtcF90b19rZXkoaGFsb0NtcCkpCiAgICAgICAgIHNvcnRlZF9tYXhfZGVu
cyA9M0Qge30KICAgICAgICAgZm9yIGksIGhhbG8gaW4gZW51bWVyYXRlKHNlbGYuX2dyb3Vwcyk6
CiAgICAgICAgICAgICBpZiBoYWxvLmlkIGluIHNlbGYuX21heF9kZW5zOgpAQCAtMTg3Myw3ICsx
ODc2LDcgQEAKPTIwCiBjbGFzcyBMb2FkVGV4dEhhbG9lcyhHZW5lcmljSGFsb0ZpbmRlciwgVGV4
dEhhbG9MaXN0KToKICAgICByIiIiTG9hZCBhIHRleHQgZmlsZSBvZiBoYWxvcy4KLSAgID0yMAor
CiAgICAgTGlrZSBMb2FkSGFsb2VzLCBidXQgd2hlbiBhbGwgdGhhdCBpcyBhdmFpbGFibGUgaXMg
YSBwbGFpbgogICAgIHRleHQgZmlsZS4gVGhpcyBhc3N1bWVzIHRoZSB0ZXh0IGZpbGUgaGFzIHRo
ZSAzLXBvc2l0aW9ucyBvZiBoYWxvcwogICAgIGFsb25nIHdpdGggYSByYWRpdXMuIFRoZSBoYWxv
IG9iamVjdHMgY3JlYXRlZCBhcmUgc3BoZXJlcy4KQEAgLTE4ODIsNyArMTg4NSw3IEBACiAgICAg
LS0tLS0tLS0tLQogICAgIGZuYW1lIDogU3RyaW5nCiAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSB0
ZXh0IGZpbGUgdG8gcmVhZCBpbi4KLSAgID0yMAorCiAgICAgY29sdW1ucyA6IGRpY3QKICAgICAg
ICAgQSBkaWN0IGxpc3RpbmcgdGhlIGNvbHVtbiBuYW1lIDogY29sdW1uIG51bWJlciBwYWlycyBm
b3IgZGF0YQogICAgICAgICBpbiB0aGUgdGV4dCBmaWxlLiBJdCBpcyB6ZXJvLWJhc2VkIChsaWtl
IFB5dGhvbikuCkBAIC0xODkwLDcgKzE4OTMsNyBAQAogICAgICAgICBBbnkgY29sdW1uIG5hbWUg
b3V0c2lkZSBvZiBbJ3gnLCAneScsICd6JywgJ3InXSB3aWxsIGJlIGF0dGFjaGVkCiAgICAgICAg
IHRvIGVhY2ggaGFsbyBvYmplY3QgaW4gdGhlIHN1cHBsZW1lbnRhcnkgZGljdCAnc3VwcCcuIFNl
ZQogICAgICAgICBleGFtcGxlLgotICAgPTIwCisKICAgICBjb21tZW50IDogU3RyaW5nCiAgICAg
ICAgIElmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSBsaW5lIGlzIGVxdWFsIHRvIHRoaXMsIHRo
ZSBsaW5lIGlzCiAgICAgICAgIHNraXBwZWQuIERlZmF1bHQgPTNEICIjIi4KQEAgLTE5MTUsNyAr
MTkxOCw3IEBACiAgICAgUGFyYW1ldGVycwogICAgIC0tLS0tLS0tLS0KICAgICBmbmFtZSA6IFN0
cmluZwotICAgICAgICBUaGUgbmFtZSBvZiB0aGUgUm9ja3N0YXIgZmlsZSB0byByZWFkIGluLiBE
ZWZhdWx0ID0zRD0yMAorICAgICAgICBUaGUgbmFtZSBvZiB0aGUgUm9ja3N0YXIgZmlsZSB0byBy
ZWFkIGluLiBEZWZhdWx0ID0zRAogICAgICAgICAicm9ja3N0YXJfaGFsb3Mvb3V0XzAubGlzdCcu
Cj0yMAogICAgIEV4YW1wbGVzCgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNi
YWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVk
IHl0L2FuYWx5c2lzX21vZHVsZXMvbGV2ZWxfc2V0cy9jbHVtcF9oYW5kbGluZy5weQotLS0gYS95
dC9hbmFseXNpc19tb2R1bGVzL2xldmVsX3NldHMvY2x1bXBfaGFuZGxpbmcucHkKKysrIGIveXQv
YW5hbHlzaXNfbW9kdWxlcy9sZXZlbF9zZXRzL2NsdW1wX2hhbmRsaW5nLnB5CkBAIC0yMCw3ICsy
MCw4IEBACiBmcm9tIHl0LmZpZWxkcy5kZXJpdmVkX2ZpZWxkIGltcG9ydCBcCiAgICAgVmFsaWRh
dGVTcGF0aWFsCiBmcm9tIHl0LmZ1bmNzIGltcG9ydCBteWxvZwotICAgPTIwCitmcm9tIHl0LmV4
dGVybi5zaXggaW1wb3J0IHN0cmluZ190eXBlcworCiBmcm9tIC5jbHVtcF9pbmZvX2l0ZW1zIGlt
cG9ydCBcCiAgICAgY2x1bXBfaW5mb19yZWdpc3RyeQogZnJvbSAuY2x1bXBfdmFsaWRhdG9ycyBp
bXBvcnQgXApAQCAtMjY4LDcgKzI2OSw3IEBACj0yMAogZGVmIHdyaXRlX2NsdW1wX2luZGV4KGNs
dW1wLCBsZXZlbCwgZmgpOgogICAgIHRvcCA9M0QgRmFsc2UKLSAgICBpZiBub3QgaXNpbnN0YW5j
ZShmaCwgZmlsZSk6CisgICAgaWYgaXNpbnN0YW5jZShmaCwgc3RyaW5nX3R5cGVzKToKICAgICAg
ICAgZmggPTNEIG9wZW4oZmgsICJ3IikKICAgICAgICAgdG9wID0zRCBUcnVlCiAgICAgZm9yIHEg
aW4gcmFuZ2UobGV2ZWwpOgpAQCAtMjg1LDcgKzI4Niw3IEBACj0yMAogZGVmIHdyaXRlX2NsdW1w
cyhjbHVtcCwgbGV2ZWwsIGZoKToKICAgICB0b3AgPTNEIEZhbHNlCi0gICAgaWYgbm90IGlzaW5z
dGFuY2UoZmgsIGZpbGUpOgorICAgIGlmIGlzaW5zdGFuY2UoZmgsIHN0cmluZ190eXBlcyk6CiAg
ICAgICAgIGZoID0zRCBvcGVuKGZoLCAidyIpCiAgICAgICAgIHRvcCA9M0QgVHJ1ZQogICAgIGlm
ICgoY2x1bXAuY2hpbGRyZW4gaXMgTm9uZSkgb3IgKGxlbihjbHVtcC5jaGlsZHJlbikgPTNEPTNE
IDApKToKCmRpZmYgLXIgYTMyODJhYTYzNjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAt
ciAxMzBhNThhZmYxYWM4ZjExOGI0OWFlNz0KNWU4MmU2YzZkMTQ3OWVkNWQgeXQvZGF0YV9vYmpl
Y3RzL3RpbWVfc2VyaWVzLnB5Ci0tLSBhL3l0L2RhdGFfb2JqZWN0cy90aW1lX3Nlcmllcy5weQor
KysgYi95dC9kYXRhX29iamVjdHMvdGltZV9zZXJpZXMucHkKQEAgLTEzMCw3ICsxMzAsNyBAQAog
ICAgIGRlZiBfX25ld19fKGNscywgb3V0cHV0cywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAg
aWYgaXNpbnN0YW5jZShvdXRwdXRzLCBzdHJpbmdfdHlwZXMpOgogICAgICAgICAgICAgb3V0cHV0
cyA9M0QgZ2V0X2ZpbGVuYW1lc19mcm9tX2dsb2JfcGF0dGVybihvdXRwdXRzKQotICAgICAgICBy
ZXQgPTNEIHN1cGVyKERhdGFzZXRTZXJpZXMsIGNscykuX19uZXdfXyhjbHMsICphcmdzLCAqKmt3
YXJncykKKyAgICAgICAgcmV0ID0zRCBzdXBlcihEYXRhc2V0U2VyaWVzLCBjbHMpLl9fbmV3X18o
Y2xzKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXQuX3ByZV9vdXRwdXRzID0zRCBvdXRw
dXRzWzpdCiAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEy
YjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9CjVl
ODJlNmM2ZDE0NzllZDVkIHl0L2Zyb250ZW5kcy9hcGkucHkKLS0tIGEveXQvZnJvbnRlbmRzL2Fw
aS5weQorKysgYi95dC9mcm9udGVuZHMvYXBpLnB5CkBAIC0yNyw2ICsyNyw3IEBACiAgICAgJ2Zp
dHMnLAogICAgICdmbGFzaCcsCiAgICAgJ2dhZGdldCcsCisgICAgJ2dhZGdldF9mb2YnLAogICAg
ICdnZGYnLAogICAgICdoYWxvX2NhdGFsb2cnLAogICAgICdodHRwX3N0cmVhbScsCgpkaWZmIC1y
IGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFj
OGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L2Zyb250ZW5kcy9jaG9tYm8vaW8ucHkK
LS0tIGEveXQvZnJvbnRlbmRzL2Nob21iby9pby5weQorKysgYi95dC9mcm9udGVuZHMvY2hvbWJv
L2lvLnB5CkBAIC03Niw3ICs3Niw3IEBACiAgICAgICAgIGZvciBrZXksIHZhbCBpbiBzZWxmLl9o
YW5kbGUuYXR0cnMuaXRlbXMoKToKICAgICAgICAgICAgIGlmIGtleS5zdGFydHN3aXRoKCdjb21w
b25lbnRfJyk6CiAgICAgICAgICAgICAgICAgY29tcF9udW1iZXIgPTNEIGludChyZS5tYXRjaCgn
Y29tcG9uZW50XyhcZCspJywga2V5KS5ncm91cD0KcygpWzBdKQotICAgICAgICAgICAgICAgIGZp
ZWxkX2RpY3RbdmFsXSA9M0QgY29tcF9udW1iZXIKKyAgICAgICAgICAgICAgICBmaWVsZF9kaWN0
W3ZhbC5kZWNvZGUoJ3V0Zi04JyldID0zRCBjb21wX251bWJlcgogICAgICAgICBzZWxmLl9maWVs
ZF9kaWN0ID0zRCBmaWVsZF9kaWN0CiAgICAgICAgIHJldHVybiBzZWxmLl9maWVsZF9kaWN0Cj0y
MAoKZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEz
MGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCB5dC9mcm9udGVuZHMvZml0
cy9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZml0cy9pby5weQorKysgYi95dC9mcm9udGVuZHMv
Zml0cy9pby5weQpAQCAtMzIsNyArMzIsNyBAQAogICAgIGRlZiBfcmVhZF9wYXJ0aWNsZV9jb29y
ZHMoc2VsZiwgY2h1bmtzLCBwdGYpOgogICAgICAgICBwZGF0YSA9M0Qgc2VsZi5kcy5faGFuZGxl
W3NlbGYuZHMuZmlyc3RfaW1hZ2VdLmRhdGEKICAgICAgICAgYXNzZXJ0KGxlbihwdGYpID0zRD0z
RCAxKQotICAgICAgICBwdHlwZSA9M0QgcHRmLmtleXMoKVswXQorICAgICAgICBwdHlwZSA9M0Qg
bGlzdChwdGYua2V5cygpKVswXQogICAgICAgICB4ID0zRCBucC5hc2FycmF5KHBkYXRhLmZpZWxk
KCJYIiksIGR0eXBlPTNEIj0zRGY4IikKICAgICAgICAgeSA9M0QgbnAuYXNhcnJheShwZGF0YS5m
aWVsZCgiWSIpLCBkdHlwZT0zRCI9M0RmOCIpCiAgICAgICAgIHogPTNEIG5wLm9uZXMoeC5zaGFw
ZSkKQEAgLTQzLDcgKzQzLDcgQEAKICAgICBkZWYgX3JlYWRfcGFydGljbGVfZmllbGRzKHNlbGYs
IGNodW5rcywgcHRmLCBzZWxlY3Rvcik6CiAgICAgICAgIHBkYXRhID0zRCBzZWxmLmRzLl9oYW5k
bGVbc2VsZi5kcy5maXJzdF9pbWFnZV0uZGF0YQogICAgICAgICBhc3NlcnQobGVuKHB0ZikgPTNE
PTNEIDEpCi0gICAgICAgIHB0eXBlID0zRCBwdGYua2V5cygpWzBdCisgICAgICAgIHB0eXBlID0z
RCBsaXN0KHB0Zi5rZXlzKCkpWzBdCiAgICAgICAgIGZpZWxkX2xpc3QgPTNEIHB0ZltwdHlwZV0K
ICAgICAgICAgeCA9M0QgbnAuYXNhcnJheShwZGF0YS5maWVsZCgiWCIpLCBkdHlwZT0zRCI9M0Rm
OCIpCiAgICAgICAgIHkgPTNEIG5wLmFzYXJyYXkocGRhdGEuZmllbGQoIlkiKSwgZHR5cGU9M0Qi
PTNEZjgiKQoKZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUy
IC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCB5dC9mcm9udGVu
ZHMvZml0cy9taXNjLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9maXRzL21pc2MucHkKKysrIGIveXQv
ZnJvbnRlbmRzL2ZpdHMvbWlzYy5weQpAQCAtMTIsMTQgKzEyLDE4IEBACj0yMAogaW1wb3J0IG51
bXB5IGFzIG5wCiBpbXBvcnQgYmFzZTY0Ci1mcm9tIHl0LmV4dGVybi5zaXgubW92ZXMgaW1wb3J0
IFN0cmluZ0lPCitmcm9tIHl0LmV4dGVybi5zaXggaW1wb3J0IFBZMwogZnJvbSB5dC5maWVsZHMu
ZGVyaXZlZF9maWVsZCBpbXBvcnQgVmFsaWRhdGVTcGF0aWFsCiBmcm9tIHl0LnV0aWxpdGllcy5v
bl9kZW1hbmRfaW1wb3J0cyBpbXBvcnQgX2FzdHJvcHkKIGZyb20geXQuZnVuY3MgaW1wb3J0IG15
bG9nLCBnZXRfaW1hZ2Vfc3VmZml4CiBmcm9tIHl0LnZpc3VhbGl6YXRpb24uX21wbF9pbXBvcnRz
IGltcG9ydCBGaWd1cmVDYW52YXNBZ2cKIGZyb20geXQudW5pdHMueXRfYXJyYXkgaW1wb3J0IFlU
UXVhbnRpdHksIFlUQXJyYXkKIGZyb20geXQudXRpbGl0aWVzLmZpdHNfaW1hZ2UgaW1wb3J0IEZJ
VFNJbWFnZURhdGEKLQoraWYgUFkzOgorICAgIGZyb20gaW8gaW1wb3J0IEJ5dGVzSU8gYXMgSU8K
K2Vsc2U6CisgICAgZnJvbSB5dC5leHRlcm4uc2l4Lm1vdmVzIGltcG9ydCBTdHJpbmdJTyBhcyBJ
TworICAgPTIwCiBpbXBvcnQgb3MKPTIwCiBkZWYgX21ha2VfY291bnRzKGVtaW4sIGVtYXgpOgpA
QCAtMjU1LDEyICsyNTksMTIgQEAKPTIwCiAgICAgZGVmIF9yZXByX2h0bWxfKHNlbGYpOgogICAg
ICAgICByZXQgPTNEICcnCi0gICAgICAgIGZvciBrLCB2IGluIHNlbGYucGxvdHMuaXRlcml0ZW1z
KCk6CisgICAgICAgIGZvciBrLCB2IGluIHNlbGYucGxvdHMuaXRlbXMoKToKICAgICAgICAgICAg
IGNhbnZhcyA9M0QgRmlndXJlQ2FudmFzQWdnKHYpCi0gICAgICAgICAgICBmID0zRCBTdHJpbmdJ
TygpCisgICAgICAgICAgICBmID0zRCBJTygpCiAgICAgICAgICAgICBjYW52YXMucHJpbnRfZmln
dXJlKGYpCiAgICAgICAgICAgICBmLnNlZWsoMCkKLSAgICAgICAgICAgIGltZyA9M0QgYmFzZTY0
LmI2NGVuY29kZShmLnJlYWQoKSkKKyAgICAgICAgICAgIGltZyA9M0QgYmFzZTY0LmI2NGVuY29k
ZShmLnJlYWQoKSkuZGVjb2RlKCkKICAgICAgICAgICAgIHJldCArPTNEIHInPGltZyBzdHlsZT0z
RCJtYXgtd2lkdGg6MTAwJSU7bWF4LWhlaWdodDoxMDAlJTsiICcgXAogICAgICAgICAgICAgICAg
ICAgIHInc3JjPTNEImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwlcyI+PGJyPicgJSBpbWcKICAgICAg
ICAgcmV0dXJuIHJldAoKZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYy
NzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCB5dC9m
cm9udGVuZHMvZ2FkZ2V0L2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvZ2Fk
Z2V0L2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZ2FkZ2V0L2RhdGFfc3Ry
dWN0dXJlcy5weQpAQCAtMzg3LDcgKzM4Nyw3IEBACiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVm
IF9pc192YWxpZChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBuZWVkX2dyb3VwcyA9
M0QgWydIZWFkZXInXQotICAgICAgICB2ZXRvX2dyb3VwcyA9M0QgWydGT0YnXQorICAgICAgICB2
ZXRvX2dyb3VwcyA9M0QgWydGT0YnLCAnR3JvdXAnLCAnU3ViaGFsbyddCiAgICAgICAgIHZhbGlk
ID0zRCBUcnVlCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZoID0zRCBoNXB5LkZpbGUoYXJn
c1swXSwgbW9kZT0zRCdyJykKCmRpZmYgLXIgYTMyODJhYTYzNjA1MTJiMmUxZTE5OThjODgxM2Jh
YTBmMjcxOGRlMiAtciAxMzBhNThhZmYxYWM4ZjExOGI0OWFlNz0KNWU4MmU2YzZkMTQ3OWVkNWQg
eXQvZnJvbnRlbmRzL2dhZGdldF9mb2YvX19pbml0X18ucHkKLS0tIC9kZXYvbnVsbAorKysgYi95
dC9mcm9udGVuZHMvZ2FkZ2V0X2ZvZi9fX2luaXRfXy5weQpAQCAtMCwwICsxLDE1IEBACisiIiIK
K0FQSSBmb3IgSGFsb0NhdGFsb2cgZnJvbnRlbmQuCisKKworCisKKyIiIgorCisjLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLT0KLS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTMsIHl0IERldmVsb3BtZW50IFRlYW0u
CisjCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTW9kaWZpZWQgQlNEIExp
Y2Vuc2UuCisjCisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQs
IGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0t
LS0KCmRpZmYgLXIgYTMyODJhYTYzNjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAx
MzBhNThhZmYxYWM4ZjExOGI0OWFlNz0KNWU4MmU2YzZkMTQ3OWVkNWQgeXQvZnJvbnRlbmRzL2dh
ZGdldF9mb2YvYXBpLnB5Ci0tLSAvZGV2L251bGwKKysrIGIveXQvZnJvbnRlbmRzL2dhZGdldF9m
b2YvYXBpLnB5CkBAIC0wLDAgKzEsMjYgQEAKKyIiIgorQVBJIGZvciBHYWRnZXRGT0YgZnJvbnRl
bmQKKworCisKKworIiIiCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisjIENvcHlyaWdodCAo
YykgMjAxNSwgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMKKyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBNb2RpZmllZCBCU0QgTGljZW5zZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5z
ZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3
PQphcmUuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorCitmcm9tIC5kYXRhX3N0cnVjdHVyZXMg
aW1wb3J0IFwKKyAgICAgR2FkZ2V0Rk9GRGF0YXNldAorCitmcm9tIC5pbyBpbXBvcnQgXAorICAg
ICBJT0hhbmRsZXJHYWRnZXRGT0ZIREY1CisKK2Zyb20gLmZpZWxkcyBpbXBvcnQgXAorICAgICBH
YWRnZXRGT0ZGaWVsZEluZm8KKworZnJvbSAuIGltcG9ydCB0ZXN0cwoKZGlmZiAtciBhMzI4MmFh
NjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5
YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCB5dC9mcm9udGVuZHMvZ2FkZ2V0X2ZvZi9kYXRhX3N0cnVj
dHVyZXMucHkKLS0tIC9kZXYvbnVsbAorKysgYi95dC9mcm9udGVuZHMvZ2FkZ2V0X2ZvZi9kYXRh
X3N0cnVjdHVyZXMucHkKQEAgLTAsMCArMSwyNDYgQEAKKyIiIgorRGF0YSBzdHJ1Y3R1cmVzIGZv
ciBHYWRnZXRGT0YgZnJvbnRlbmQuCisKKworCisKKyIiIgorCisjLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0K
LS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTMsIHl0IERldmVsb3BtZW50IFRlYW0uCisjCisjIERp
c3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTW9kaWZpZWQgQlNEIExpY2Vuc2UuCisj
CisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1
dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KKworZnJv
bSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKK2ltcG9ydCBoNXB5CitpbXBvcnQgbnVt
cHkgYXMgbnAKK2ltcG9ydCBzdGF0CitpbXBvcnQgd2Vha3JlZgoraW1wb3J0IHN0cnVjdAoraW1w
b3J0IGdsb2IKK2ltcG9ydCB0aW1lCitpbXBvcnQgb3MKKworZnJvbSAuZmllbGRzIGltcG9ydCBc
CisgICAgR2FkZ2V0Rk9GRmllbGRJbmZvCisKK2Zyb20geXQudXRpbGl0aWVzLmNvc21vbG9neSBp
bXBvcnQgXAorICAgIENvc21vbG9neQorZnJvbSB5dC51dGlsaXRpZXMuZGVmaW5pdGlvbnMgaW1w
b3J0IFwKKyAgICBtcGNfY29udmVyc2lvbiwgc2VjX2NvbnZlcnNpb24KK2Zyb20geXQudXRpbGl0
aWVzLmV4Y2VwdGlvbnMgaW1wb3J0IFwKKyAgICBZVEV4Y2VwdGlvbgorZnJvbSB5dC51dGlsaXRp
ZXMubG9nZ2VyIGltcG9ydCB5dExvZ2dlciBhcyBcCisgICAgbXlsb2cKK2Zyb20geXQuZ2VvbWV0
cnkucGFydGljbGVfZ2VvbWV0cnlfaGFuZGxlciBpbXBvcnQgXAorICAgIFBhcnRpY2xlSW5kZXgK
K2Zyb20geXQuZGF0YV9vYmplY3RzLnN0YXRpY19vdXRwdXQgaW1wb3J0IFwKKyAgICBEYXRhc2V0
LCBcCisgICAgUGFydGljbGVGaWxlCitmcm9tIHl0LmZyb250ZW5kcy5nYWRnZXQuZGF0YV9zdHJ1
Y3R1cmVzIGltcG9ydCBcCisgICAgX2ZpeF91bml0X29yZGVyaW5nCitpbXBvcnQgeXQudXRpbGl0
aWVzLmZvcnRyYW5fdXRpbHMgYXMgZnB1Citmcm9tIHl0LnVuaXRzLnl0X2FycmF5IGltcG9ydCBc
CisgICAgWVRBcnJheSwgXAorICAgIFlUUXVhbnRpdHkKKworY2xhc3MgR2FkZ2V0Rk9GUGFydGlj
bGVJbmRleChQYXJ0aWNsZUluZGV4KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZHMsIGRhdGFz
ZXRfdHlwZSk6CisgICAgICAgIHN1cGVyKEdhZGdldEZPRlBhcnRpY2xlSW5kZXgsIHNlbGYpLl9f
aW5pdF9fKGRzLCBkYXRhc2V0X3R5cGUpCisKKyAgICBkZWYgX2NhbGN1bGF0ZV9wYXJ0aWNsZV9p
bmRleF9zdGFydHMoc2VsZik6CisgICAgICAgICMgSGFsbyBpbmRpY2VzIGFyZSBub3Qgc2F2ZWQg
aW4gdGhlIGZpbGUsIHNvIHdlIG11c3QgY291bnQgYnkgaGFuZC4KKyAgICAgICAgIyBGaWxlIDAg
aGFzIGhhbG9zIDAgdG8gTl8wIC0gMSwgZmlsZSAxIGhhcyBoYWxvcyBOXzAgdG8gTl8wICsgTl8x
PQogLSAxLCBldGMuCisgICAgICAgIHBhcnRpY2xlX2NvdW50ID0zRCBkZWZhdWx0ZGljdChpbnQp
CisgICAgICAgIG9mZnNldF9jb3VudCA9M0QgMAorICAgICAgICBmb3IgZGF0YV9maWxlIGluIHNl
bGYuZGF0YV9maWxlczoKKyAgICAgICAgICAgIGRhdGFfZmlsZS5pbmRleF9zdGFydCA9M0QgZGlj
dChbKHB0eXBlLCBwYXJ0aWNsZV9jb3VudFtwdHlwZV0pPQogZm9yCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHR5cGUgaW4gZGF0YV9maWxlLnRvdGFsX3BhcnRp
Yz0KbGVzXSkKKyAgICAgICAgICAgIGRhdGFfZmlsZS5vZmZzZXRfc3RhcnQgPTNEIG9mZnNldF9j
b3VudAorICAgICAgICAgICAgZm9yIHB0eXBlIGluIGRhdGFfZmlsZS50b3RhbF9wYXJ0aWNsZXM6
CisgICAgICAgICAgICAgICAgcGFydGljbGVfY291bnRbcHR5cGVdICs9M0QgZGF0YV9maWxlLnRv
dGFsX3BhcnRpY2xlc1twdHlwZV0KKyAgICAgICAgICAgIG9mZnNldF9jb3VudCArPTNEIGRhdGFf
ZmlsZS50b3RhbF9vZmZzZXQKKworICAgIGRlZiBfY2FsY3VsYXRlX2ZpbGVfb2Zmc2V0X21hcChz
ZWxmKToKKyAgICAgICAgIyBBZnRlciB0aGUgRk9GICBpcyBwZXJmb3JtZWQsIGEgbG9hZC1iYWxh
bmNpbmcgc3RlcCByZWRpc3RyaWJ1dGVzPQogaGFsb3M9MjAKKyAgICAgICAgIyBhbmQgdGhlbiB3
cml0ZXMgbW9yZSBmaWVsZHMuICBIZXJlLCBmb3IgZWFjaCBmaWxlLCB3ZSBjcmVhdGUgYSBsPQpp
c3Qgb2Y9MjAKKyAgICAgICAgIyBmaWxlcyB3aGljaCBjb250YWluIHRoZSByZXN0IG9mIHRoZSBy
ZWRpc3RyaWJ1dGVkIHBhcnRpY2xlcy4KKyAgICAgICAgaWZvZiA9M0QgbnAuYXJyYXkoW2RhdGFf
ZmlsZS50b3RhbF9wYXJ0aWNsZXNbIkdyb3VwIl0KKyAgICAgICAgICAgICAgICAgICAgICAgICBm
b3IgZGF0YV9maWxlIGluIHNlbGYuZGF0YV9maWxlc10pCisgICAgICAgIGlzdWIgPTNEIG5wLmFy
cmF5KFtkYXRhX2ZpbGUudG90YWxfb2Zmc2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgZm9y
IGRhdGFfZmlsZSBpbiBzZWxmLmRhdGFfZmlsZXNdKQorICAgICAgICBzdWJlbmQgPTNEIGlzdWIu
Y3Vtc3VtKCkKKyAgICAgICAgZm9mZW5kID0zRCBpZm9mLmN1bXN1bSgpCisgICAgICAgIGlzdGFy
dCA9M0QgbnAuZGlnaXRpemUoZm9mZW5kIC0gaWZvZiwgc3ViZW5kIC0gaXN1YikgLSAxCisgICAg
ICAgIGllbmQgPTNEIG5wLmNsaXAobnAuZGlnaXRpemUoZm9mZW5kLCBzdWJlbmQpLCAwLCBpZm9m
LnNpemUgLSAyKQorICAgICAgICBmb3IgaSwgZGF0YV9maWxlIGluIGVudW1lcmF0ZShzZWxmLmRh
dGFfZmlsZXMpOgorICAgICAgICAgICAgZGF0YV9maWxlLm9mZnNldF9maWxlcyA9M0Qgc2VsZi5k
YXRhX2ZpbGVzW2lzdGFydFtpXTogaWVuZFtpXSA9CisgMV0KKworICAgIGRlZiBfZGV0ZWN0X291
dHB1dF9maWVsZHMoc2VsZik6CisgICAgICAgICMgVE9ETzogQWRkIGFkZGl0aW9uYWwgZmllbGRz
CisgICAgICAgIGRzbCA9M0QgW10KKyAgICAgICAgdW5pdHMgPTNEIHt9CisgICAgICAgIGZvciBk
b20gaW4gc2VsZi5kYXRhX2ZpbGVzOgorICAgICAgICAgICAgZmwsIF91bml0cyA9M0Qgc2VsZi5p
by5faWRlbnRpZnlfZmllbGRzKGRvbSkKKyAgICAgICAgICAgIHVuaXRzLnVwZGF0ZShfdW5pdHMp
CisgICAgICAgICAgICBkb20uX2NhbGN1bGF0ZV9vZmZzZXRzKGZsKQorICAgICAgICAgICAgZm9y
IGYgaW4gZmw6CisgICAgICAgICAgICAgICAgaWYgZiBub3QgaW4gZHNsOiBkc2wuYXBwZW5kKGYp
CisgICAgICAgIHNlbGYuZmllbGRfbGlzdCA9M0QgZHNsCisgICAgICAgIGRzID0zRCBzZWxmLmRh
dGFzZXQKKyAgICAgICAgZHMucGFydGljbGVfdHlwZXMgPTNEIHR1cGxlKHNldChwdCBmb3IgcHQs
IGRzIGluIGRzbCkpCisgICAgICAgICMgVGhpcyBpcyBhbiBhdHRyaWJ1dGUgdGhhdCBtZWFucyB0
aGVzZSBwYXJ0aWNsZSB0eXBlcyAqYWN0dWFsbHkqCisgICAgICAgICMgZXhpc3QuICBBcyBpbiwg
dGhleSBhcmUgcmVhbCwgaW4gdGhlIGRhdGFzZXQuCisgICAgICAgIGRzLmZpZWxkX3VuaXRzLnVw
ZGF0ZSh1bml0cykKKyAgICAgICAgZHMucGFydGljbGVfdHlwZXNfcmF3ID0zRCBkcy5wYXJ0aWNs
ZV90eXBlcworICAgICAgICAgICA9MjAKKyAgICBkZWYgX3NldHVwX2dlb21ldHJ5KHNlbGYpOgor
ICAgICAgICBzdXBlcihHYWRnZXRGT0ZQYXJ0aWNsZUluZGV4LCBzZWxmKS5fc2V0dXBfZ2VvbWV0
cnkoKQorICAgICAgICBzZWxmLl9jYWxjdWxhdGVfcGFydGljbGVfaW5kZXhfc3RhcnRzKCkKKyAg
ICAgICAgc2VsZi5fY2FsY3VsYXRlX2ZpbGVfb2Zmc2V0X21hcCgpCisgICA9MjAKK2NsYXNzIEdh
ZGdldEZPRkhERjVGaWxlKFBhcnRpY2xlRmlsZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRz
LCBpbywgZmlsZW5hbWUsIGZpbGVfaWQpOgorICAgICAgICBzdXBlcihHYWRnZXRGT0ZIREY1Rmls
ZSwgc2VsZikuX19pbml0X18oZHMsIGlvLCBmaWxlbmFtZSwgZmlsZV9pZCkKKyAgICAgICAgd2l0
aCBoNXB5LkZpbGUoZmlsZW5hbWUsICJyIikgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuaGVhZGVy
ID0zRCBkaWN0KChmaWVsZCwgZi5hdHRyc1tmaWVsZF0pIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmb3IgZmllbGQgaW4gZi5hdHRycy5rZXlzKCkpCisgICA9MjAKK2NsYXNzIEdh
ZGdldEZPRkRhdGFzZXQoRGF0YXNldCk6CisgICAgX2luZGV4X2NsYXNzID0zRCBHYWRnZXRGT0ZQ
YXJ0aWNsZUluZGV4CisgICAgX2ZpbGVfY2xhc3MgPTNEIEdhZGdldEZPRkhERjVGaWxlCisgICAg
X2ZpZWxkX2luZm9fY2xhc3MgPTNEIEdhZGdldEZPRkZpZWxkSW5mbworICAgIF9zdWZmaXggPTNE
ICIuaGRmNSIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNldF90eXBl
PTNEImdhZGdldF9mb2ZfaGRmNSIsCisgICAgICAgICAgICAgICAgIG5fcmVmPTNEMTYsIG92ZXJf
cmVmaW5lX2ZhY3Rvcj0zRDEsCisgICAgICAgICAgICAgICAgIHVuaXRfYmFzZT0zRE5vbmUsIHVu
aXRzX292ZXJyaWRlPTNETm9uZSk6CisgICAgICAgIHNlbGYubl9yZWYgPTNEIG5fcmVmCisgICAg
ICAgIHNlbGYub3Zlcl9yZWZpbmVfZmFjdG9yID0zRCBvdmVyX3JlZmluZV9mYWN0b3IKKyAgICAg
ICAgaWYgdW5pdF9iYXNlIGlzIG5vdCBOb25lIGFuZCAiVW5pdExlbmd0aF9pbl9jbSIgaW4gdW5p
dF9iYXNlOgorICAgICAgICAgICAgIyBXZSBhc3N1bWUgdGhpcyBpcyBjb21vdmluZywgYmVjYXVz
ZSBpbiB0aGUgYWJzZW5jZSBvZiBjb21vdmk9Cm5nCisgICAgICAgICAgICAjIGludGVncmF0aW9u
IHRoZSByZWRzaGlmdCB3aWxsIGJlIHplcm8uCisgICAgICAgICAgICB1bml0X2Jhc2VbJ2NtY20n
XSA9M0QgMS4wIC8gdW5pdF9iYXNlWyJVbml0TGVuZ3RoX2luX2NtIl0KKyAgICAgICAgc2VsZi5f
dW5pdF9iYXNlID0zRCB1bml0X2Jhc2UKKyAgICAgICAgaWYgdW5pdHNfb3ZlcnJpZGUgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoInVuaXRzX292ZXJyaWRlIGlz
IG5vdCBzdXBwb3J0ZWQgZm9yIEdhZGdldD0KRk9GRGF0YXNldC4gIisKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiVXNlIHVuaXRfYmFzZSBpbnN0ZWFkLiIpCisgICAgICAgIHN1cGVy
KEdhZGdldEZPRkRhdGFzZXQsIHNlbGYpLl9faW5pdF9fKGZpbGVuYW1lLCBkYXRhc2V0X3R5cGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHNf
b3ZlcnJpZGU9M0R1bml0c19vdj0KZXJyaWRlKQorCisgICAgZGVmIF9wYXJzZV9wYXJhbWV0ZXJf
ZmlsZShzZWxmKToKKyAgICAgICAgaGFuZGxlID0zRCBoNXB5LkZpbGUoc2VsZi5wYXJhbWV0ZXJf
ZmlsZW5hbWUsIG1vZGU9M0QiciIpCisgICAgICAgIGh2YWxzID0zRCB7fQorICAgICAgICBodmFs
cy51cGRhdGUoKHN0cihrKSwgdikgZm9yIGssIHYgaW4gaGFuZGxlWyIvSGVhZGVyIl0uYXR0cnMu
aXRlbXM9CigpKQorICAgICAgICBodmFsc1siTnVtRmlsZXMiXSA9M0QgaHZhbHNbIk51bUZpbGVz
Il0KKworICAgICAgICBzZWxmLmRpbWVuc2lvbmFsaXR5ID0zRCAzCisgICAgICAgIHNlbGYucmVm
aW5lX2J5ID0zRCAyCisgICAgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIgPTNEIFwKKyAgICAg
ICAgICAgIGludChvcy5zdGF0KHNlbGYucGFyYW1ldGVyX2ZpbGVuYW1lKVtzdGF0LlNUX0NUSU1F
XSkKKworICAgICAgICAjIFNldCBzdGFuZGFyZCB2YWx1ZXMKKyAgICAgICAgc2VsZi5kb21haW5f
bGVmdF9lZGdlID0zRCBucC56ZXJvcygzLCAiZmxvYXQ2NCIpCisgICAgICAgIHNlbGYuZG9tYWlu
X3JpZ2h0X2VkZ2UgPTNEIG5wLm9uZXMoMywgImZsb2F0NjQiKSAqIGh2YWxzWyJCb3hTaXplIl0K
KyAgICAgICAgbnogPTNEIDEgPDwgc2VsZi5vdmVyX3JlZmluZV9mYWN0b3IKKyAgICAgICAgc2Vs
Zi5kb21haW5fZGltZW5zaW9ucyA9M0QgbnAub25lcygzLCAiaW50MzIiKSAqIG56CisgICAgICAg
IHNlbGYuY29zbW9sb2dpY2FsX3NpbXVsYXRpb24gPTNEIDEKKyAgICAgICAgc2VsZi5wZXJpb2Rp
Y2l0eSA9M0QgKFRydWUsIFRydWUsIFRydWUpCisgICAgICAgIHNlbGYuY3VycmVudF9yZWRzaGlm
dCA9M0QgaHZhbHNbIlJlZHNoaWZ0Il0KKyAgICAgICAgc2VsZi5vbWVnYV9sYW1iZGEgPTNEIGh2
YWxzWyJPbWVnYUxhbWJkYSJdCisgICAgICAgIHNlbGYub21lZ2FfbWF0dGVyID0zRCBodmFsc1si
T21lZ2EwIl0KKyAgICAgICAgc2VsZi5odWJibGVfY29uc3RhbnQgPTNEIGh2YWxzWyJIdWJibGVQ
YXJhbSJdCisKKyAgICAgICAgY29zbW9sb2d5ID0zRCBDb3Ntb2xvZ3koaHViYmxlX2NvbnN0YW50
PTNEc2VsZi5odWJibGVfY29uc3RhbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
bWVnYV9tYXR0ZXI9M0RzZWxmLm9tZWdhX21hdHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9tZWdhX2xhbWJkYT0zRHNlbGYub21lZ2FfbGFtYmRhKQorICAgICAgICBzZWxmLmN1
cnJlbnRfdGltZSA9M0QgY29zbW9sb2d5LnRfZnJvbV96KHNlbGYuY3VycmVudF9yZWRzaGlmdCkK
KworICAgICAgICBzZWxmLnBhcmFtZXRlcnMgPTNEIGh2YWxzCisgICAgICAgIHByZWZpeCA9M0Qg
b3MucGF0aC5hYnNwYXRoKAorICAgICAgICAgICAgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFt
ZShzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSksPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAg
b3MucGF0aC5iYXNlbmFtZShzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSkuc3BsaXQoIj0KLiIsIDEp
WzBdKSkKKyAgICAgICA9MjAKKyAgICAgICAgc3VmZml4ID0zRCBzZWxmLnBhcmFtZXRlcl9maWxl
bmFtZS5yc3BsaXQoIi4iLCAxKVstMV0KKyAgICAgICAgc2VsZi5maWxlbmFtZV90ZW1wbGF0ZSA9
M0QgIiVzLiUlKG51bSlpLiVzIiAlIChwcmVmaXgsIHN1ZmZpeCkKKyAgICAgICAgc2VsZi5maWxl
X2NvdW50ID0zRCBsZW4oZ2xvYi5nbG9iKHByZWZpeCArICIqIiArIHNlbGYuX3N1ZmZpeCkpCisg
ICAgICAgIGlmIHNlbGYuZmlsZV9jb3VudCA9M0Q9M0QgMDoKKyAgICAgICAgICAgIHJhaXNlIFlU
RXhjZXB0aW9uKG1lc3NhZ2U9M0QiTm8gZGF0YSBmaWxlcyBmb3VuZC4iLCBkcz0zRHNlbGYpCisg
ICAgICAgIHNlbGYucGFydGljbGVfdHlwZXMgPTNEICgiR3JvdXAiLCAiU3ViaGFsbyIpCisgICAg
ICAgIHNlbGYucGFydGljbGVfdHlwZXNfcmF3ID0zRCAoIkdyb3VwIiwgIlN1YmhhbG8iKQorICAg
ICAgID0yMAorICAgICAgICBoYW5kbGUuY2xvc2UoKQorCisgICAgZGVmIF9zZXRfY29kZV91bml0
X2F0dHJpYnV0ZXMoc2VsZik6CisgICAgICAgICMgU2V0IGEgc2FuZSBkZWZhdWx0IGZvciBjb3Nt
b2xvZ2ljYWwgc2ltdWxhdGlvbnMuCisgICAgICAgIGlmIHNlbGYuX3VuaXRfYmFzZSBpcyBOb25l
IGFuZCBzZWxmLmNvc21vbG9naWNhbF9zaW11bGF0aW9uID0zRD0zRD0KIDE6CisgICAgICAgICAg
ICBteWxvZy5pbmZvKCJBc3N1bWluZyBsZW5ndGggdW5pdHMgYXJlIGluIE1wYy9oIChjb21vdmlu
ZykiKQorICAgICAgICAgICAgc2VsZi5fdW5pdF9iYXNlID0zRCBkaWN0KGxlbmd0aCA9M0QgKDEu
MCwgIk1wY2NtL2giKSkKKyAgICAgICAgIyBUaGUgb3RoZXIgc2FtZSBkZWZhdWx0cyB3ZSB3aWxs
IHVzZSBmcm9tIHRoZSBzdGFuZGFyZCBHYWRnZXQKKyAgICAgICAgIyBkZWZhdWx0cy4KKyAgICAg
ICAgdW5pdF9iYXNlID0zRCBzZWxmLl91bml0X2Jhc2Ugb3Ige30KKyAgICAgICA9MjAKKyAgICAg
ICAgaWYgImxlbmd0aCIgaW4gdW5pdF9iYXNlOgorICAgICAgICAgICAgbGVuZ3RoX3VuaXQgPTNE
IHVuaXRfYmFzZVsibGVuZ3RoIl0KKyAgICAgICAgZWxpZiAiVW5pdExlbmd0aF9pbl9jbSIgaW4g
dW5pdF9iYXNlOgorICAgICAgICAgICAgaWYgc2VsZi5jb3Ntb2xvZ2ljYWxfc2ltdWxhdGlvbiA9
M0Q9M0QgMDoKKyAgICAgICAgICAgICAgICBsZW5ndGhfdW5pdCA9M0QgKHVuaXRfYmFzZVsiVW5p
dExlbmd0aF9pbl9jbSJdLCAiY20iKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICBsZW5ndGhfdW5pdCA9M0QgKHVuaXRfYmFzZVsiVW5pdExlbmd0aF9pbl9jbSJdLCAiY21jbS9o
IikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgorICAgICAg
ICBsZW5ndGhfdW5pdCA9M0QgX2ZpeF91bml0X29yZGVyaW5nKGxlbmd0aF91bml0KQorICAgICAg
ICBzZWxmLmxlbmd0aF91bml0ID0zRCBzZWxmLnF1YW4obGVuZ3RoX3VuaXRbMF0sIGxlbmd0aF91
bml0WzFdKQorICAgICAgID0yMAorICAgICAgICBpZiAidmVsb2NpdHkiIGluIHVuaXRfYmFzZToK
KyAgICAgICAgICAgIHZlbG9jaXR5X3VuaXQgPTNEIHVuaXRfYmFzZVsidmVsb2NpdHkiXQorICAg
ICAgICBlbGlmICJVbml0VmVsb2NpdHlfaW5fY21fcGVyX3MiIGluIHVuaXRfYmFzZToKKyAgICAg
ICAgICAgIHZlbG9jaXR5X3VuaXQgPTNEICh1bml0X2Jhc2VbIlVuaXRWZWxvY2l0eV9pbl9jbV9w
ZXJfcyJdLCAiY20vPQpzIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYuY29z
bW9sb2dpY2FsX3NpbXVsYXRpb24gPTNEPTNEIDA6CisgICAgICAgICAgICAgICAgdmVsb2NpdHlf
dW5pdCA9M0QgKDFlNSwgImNtL3MiKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICB2ZWxvY2l0eV91bml0ID0zRCAoMWU1LCAiY21jbS9zIikKKyAgICAgICAgdmVsb2NpdHlfdW5p
dCA9M0QgX2ZpeF91bml0X29yZGVyaW5nKHZlbG9jaXR5X3VuaXQpCisgICAgICAgIHNlbGYudmVs
b2NpdHlfdW5pdCA9M0Qgc2VsZi5xdWFuKHZlbG9jaXR5X3VuaXRbMF0sIHZlbG9jaXR5X3VuaXRb
MT0KXSkKKworICAgICAgICAjIFdlIHNldCBodWJibGVfY29uc3RhbnQgPTNEIDEuMCBmb3Igbm9u
LWNvc21vbG9neSwgc28gdGhpcyBpcyBzYWY9CmUuCisgICAgICAgICMgRGVmYXVsdCB0byAxZTEw
IE1zdW4vaCBpZiBtYXNzIGlzIG5vdCBzcGVjaWZpZWQuCisgICAgICAgIGlmICJtYXNzIiBpbiB1
bml0X2Jhc2U6CisgICAgICAgICAgICBtYXNzX3VuaXQgPTNEIHVuaXRfYmFzZVsibWFzcyJdCisg
ICAgICAgIGVsaWYgIlVuaXRNYXNzX2luX2ciIGluIHVuaXRfYmFzZToKKyAgICAgICAgICAgIGlm
IHNlbGYuY29zbW9sb2dpY2FsX3NpbXVsYXRpb24gPTNEPTNEIDA6CisgICAgICAgICAgICAgICAg
bWFzc191bml0ID0zRCAodW5pdF9iYXNlWyJVbml0TWFzc19pbl9nIl0sICJnIikKKyAgICAgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbWFzc191bml0ID0zRCAodW5pdF9iYXNlWyJVbml0
TWFzc19pbl9nIl0sICJnL2giKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBTYW5lIGRl
ZmF1bHQKKyAgICAgICAgICAgIG1hc3NfdW5pdCA9M0QgKDEuMCwgIjFlMTAqTXN1bi9oIikKKyAg
ICAgICAgbWFzc191bml0ID0zRCBfZml4X3VuaXRfb3JkZXJpbmcobWFzc191bml0KQorICAgICAg
ICBzZWxmLm1hc3NfdW5pdCA9M0Qgc2VsZi5xdWFuKG1hc3NfdW5pdFswXSwgbWFzc191bml0WzFd
KQorCisgICAgICAgIGlmICJ0aW1lIiBpbiB1bml0X2Jhc2U6CisgICAgICAgICAgICB0aW1lX3Vu
aXQgPTNEIHVuaXRfYmFzZVsidGltZSJdCisgICAgICAgIGVsaWYgIlVuaXRUaW1lX2luX3MiIGlu
IHVuaXRfYmFzZToKKyAgICAgICAgICAgIHRpbWVfdW5pdCA9M0QgKHVuaXRfYmFzZVsiVW5pdFRp
bWVfaW5fcyJdLCAicyIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0aW1lX3VuaXQgPTNE
ICgxLiwgInMiKSAgICAgICA9MjAKKyAgICAgICAgc2VsZi50aW1lX3VuaXQgPTNEIHNlbGYucXVh
bih0aW1lX3VuaXRbMF0sIHRpbWVfdW5pdFsxXSkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRl
ZiBfaXNfdmFsaWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgbmVlZF9ncm91cHMg
PTNEIFsnR3JvdXAnLCAnSGVhZGVyJywgJ1N1YmhhbG8nXQorICAgICAgICB2ZXRvX2dyb3VwcyA9
M0QgWydGT0YnXQorICAgICAgICB2YWxpZCA9M0QgVHJ1ZQorICAgICAgICB0cnk6CisgICAgICAg
ICAgICBmaCA9M0QgaDVweS5GaWxlKGFyZ3NbMF0sIG1vZGU9M0QncicpCisgICAgICAgICAgICB2
YWxpZCA9M0QgYWxsKG5nIGluIGZoWyIvIl0gZm9yIG5nIGluIG5lZWRfZ3JvdXBzKSBhbmQgXAor
ICAgICAgICAgICAgICBub3QgYW55KHZnIGluIGZoWyIvIl0gZm9yIHZnIGluIHZldG9fZ3JvdXBz
KQorICAgICAgICAgICAgZmguY2xvc2UoKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICB2
YWxpZCA9M0QgRmFsc2UKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgcmV0dXJuIHZhbGlkCgpk
aWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4
YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L2Zyb250ZW5kcy9nYWRnZXRf
Zm9mL2ZpZWxkcy5weQotLS0gL2Rldi9udWxsCisrKyBiL3l0L2Zyb250ZW5kcy9nYWRnZXRfZm9m
L2ZpZWxkcy5weQpAQCAtMCwwICsxLDQ4IEBACisiIiIKK0dhZGdldEZPRi1zcGVjaWZpYyBmaWVs
ZHMKKworCisKKworIiIiCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisjIENvcHlyaWdodCAo
YykgMjAxNSwgeXQgRGV2ZWxvcG1lbnQgVGVhbS4KKyMKKyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBNb2RpZmllZCBCU0QgTGljZW5zZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5z
ZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3
PQphcmUuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorCitmcm9tIHl0LmZ1bmNzIGltcG9ydCBt
eWxvZworZnJvbSB5dC5maWVsZHMuZmllbGRfaW5mb19jb250YWluZXIgaW1wb3J0IFwKKyAgICBG
aWVsZEluZm9Db250YWluZXIKK2Zyb20geXQudW5pdHMueXRfYXJyYXkgaW1wb3J0IFwKKyAgICBZ
VEFycmF5CisKK21fdW5pdHMgPTNEICJjb2RlX21hc3MiCitwX3VuaXRzID0zRCAiY29kZV9sZW5n
dGgiCit2X3VuaXRzID0zRCAiY29kZV92ZWxvY2l0eSIKKworY2xhc3MgR2FkZ2V0Rk9GRmllbGRJ
bmZvKEZpZWxkSW5mb0NvbnRhaW5lcik6CisgICAga25vd25fb3RoZXJfZmllbGRzID0zRCAoCisg
ICAgKQorCisgICAga25vd25fcGFydGljbGVfZmllbGRzID0zRCAoCisgICAgICAgICgiR3JvdXBQ
b3NfMCIsIChwX3VuaXRzLCBbIkdyb3VwIiwgInBhcnRpY2xlX3Bvc2l0aW9uX3giXSwgTm9uZSkp
LAorICAgICAgICAoIkdyb3VwUG9zXzEiLCAocF91bml0cywgWyJHcm91cCIsICJwYXJ0aWNsZV9w
b3NpdGlvbl95Il0sIE5vbmUpKSwKKyAgICAgICAgKCJHcm91cFBvc18yIiwgKHBfdW5pdHMsIFsi
R3JvdXAiLCAicGFydGljbGVfcG9zaXRpb25feiJdLCBOb25lKSksCisgICAgICAgICgiR3JvdXBW
ZWxfMCIsICh2X3VuaXRzLCBbIkdyb3VwIiwgInBhcnRpY2xlX3ZlbG9jaXR5X3giXSwgTm9uZSkp
LAorICAgICAgICAoIkdyb3VwVmVsXzEiLCAodl91bml0cywgWyJHcm91cCIsICJwYXJ0aWNsZV92
ZWxvY2l0eV95Il0sIE5vbmUpKSwKKyAgICAgICAgKCJHcm91cFZlbF8yIiwgKHZfdW5pdHMsIFsi
R3JvdXAiLCAicGFydGljbGVfdmVsb2NpdHlfeiJdLCBOb25lKSksCisgICAgICAgICgiR3JvdXBN
YXNzIiwgIChtX3VuaXRzLCBbIkdyb3VwIiwgInBhcnRpY2xlX21hc3MiXSwgTm9uZSkpLAorICAg
ICAgICAoIkdyb3VwTGVuIiwgICAoIiIsICAgICAgWyJHcm91cCIsICJwYXJ0aWNsZV9udW1iZXIi
XSwgTm9uZSkpLAorICAgICAgICAoIlN1YmhhbG9Qb3NfMCIsIChwX3VuaXRzLCBbIlN1YmhhbG8i
LCAicGFydGljbGVfcG9zaXRpb25feCJdLCBOb249CmUpKSwKKyAgICAgICAgKCJTdWJoYWxvUG9z
XzEiLCAocF91bml0cywgWyJTdWJoYWxvIiwgInBhcnRpY2xlX3Bvc2l0aW9uX3kiXSwgTm9uPQpl
KSksCisgICAgICAgICgiU3ViaGFsb1Bvc18yIiwgKHBfdW5pdHMsIFsiU3ViaGFsbyIsICJwYXJ0
aWNsZV9wb3NpdGlvbl96Il0sIE5vbj0KZSkpLAorICAgICAgICAoIlN1YmhhbG9WZWxfMCIsICh2
X3VuaXRzLCBbIlN1YmhhbG8iLCAicGFydGljbGVfdmVsb2NpdHlfeCJdLCBOb249CmUpKSwKKyAg
ICAgICAgKCJTdWJoYWxvVmVsXzEiLCAodl91bml0cywgWyJTdWJoYWxvIiwgInBhcnRpY2xlX3Zl
bG9jaXR5X3kiXSwgTm9uPQplKSksCisgICAgICAgICgiU3ViaGFsb1ZlbF8yIiwgKHZfdW5pdHMs
IFsiU3ViaGFsbyIsICJwYXJ0aWNsZV92ZWxvY2l0eV96Il0sIE5vbj0KZSkpLAorICAgICAgICAo
IlN1YmhhbG9NYXNzIiwgIChtX3VuaXRzLCBbIlN1YmhhbG8iLCAicGFydGljbGVfbWFzcyJdLCBO
b25lKSksCisgICAgICAgICgiU3ViaGFsb0xlbiIsICAgKCIiLCAgICAgIFsiU3ViaGFsbyIsICJw
YXJ0aWNsZV9udW1iZXIiXSwgTm9uZSkpLAorKQoKZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFl
MTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZj
NmQxNDc5ZWQ1ZCB5dC9mcm9udGVuZHMvZ2FkZ2V0X2ZvZi9pby5weQotLS0gL2Rldi9udWxsCisr
KyBiL3l0L2Zyb250ZW5kcy9nYWRnZXRfZm9mL2lvLnB5CkBAIC0wLDAgKzEsMjA3IEBACisiIiIK
K0dhZGdldEZPRiBkYXRhLWZpbGUgaGFuZGxpbmcgZnVuY3Rpb24KKworCisKKworIiIiCisKKyMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tPQotLS0tCisjIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxvcG1l
bnQgVGVhbS4KKyMKKyMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNb2RpZmll
ZCBCU0QgTGljZW5zZS4KKyMKKyMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBDT1BZ
SU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCisjLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLT0KLS0tLQorCitpbXBvcnQgaDVweQoraW1wb3J0IG51bXB5IGFzIG5wCisKK2Zyb20geXQu
dXRpbGl0aWVzLmV4Y2VwdGlvbnMgaW1wb3J0ICoKK2Zyb20geXQuZnVuY3MgaW1wb3J0IG15bG9n
CisKK2Zyb20geXQudXRpbGl0aWVzLmlvX2hhbmRsZXIgaW1wb3J0IFwKKyAgICBCYXNlSU9IYW5k
bGVyCisKK2Zyb20geXQudXRpbGl0aWVzLmxpYi5nZW9tZXRyeV91dGlscyBpbXBvcnQgY29tcHV0
ZV9tb3J0b24KKworY2xhc3MgSU9IYW5kbGVyR2FkZ2V0Rk9GSERGNShCYXNlSU9IYW5kbGVyKToK
KyAgICBfZGF0YXNldF90eXBlID0zRCAiZ2FkZ2V0X2ZvZl9oZGY1IgorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGRzKToKKyAgICAgICAgc3VwZXIoSU9IYW5kbGVyR2FkZ2V0Rk9GSERGNSwgc2Vs
ZikuX19pbml0X18oZHMpCisgICAgICAgIHNlbGYub2Zmc2V0X2ZpZWxkcyA9M0Qgc2V0KFtdKQor
CisgICAgZGVmIF9yZWFkX2ZsdWlkX3NlbGVjdGlvbihzZWxmLCBjaHVua3MsIHNlbGVjdG9yLCBm
aWVsZHMsIHNpemUpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisKKyAgICBk
ZWYgX3JlYWRfcGFydGljbGVfY29vcmRzKHNlbGYsIGNodW5rcywgcHRmKToKKyAgICAgICAgIyBU
aGlzIHdpbGwgcmVhZCBjaHVua3MgYW5kIHlpZWxkIHRoZSByZXN1bHRzLgorICAgICAgICBjaHVu
a3MgPTNEIGxpc3QoY2h1bmtzKQorICAgICAgICBkYXRhX2ZpbGVzID0zRCBzZXQoW10pCisgICAg
ICAgIGZvciBjaHVuayBpbiBjaHVua3M6CisgICAgICAgICAgICBmb3Igb2JqIGluIGNodW5rLm9i
anM6CisgICAgICAgICAgICAgICAgZGF0YV9maWxlcy51cGRhdGUob2JqLmRhdGFfZmlsZXMpCisg
ICAgICAgIGZvciBkYXRhX2ZpbGUgaW4gc29ydGVkKGRhdGFfZmlsZXMpOgorICAgICAgICAgICAg
d2l0aCBoNXB5LkZpbGUoZGF0YV9maWxlLmZpbGVuYW1lLCAiciIpIGFzIGY6CisgICAgICAgICAg
ICAgICAgZm9yIHB0eXBlLCBmaWVsZF9saXN0IGluIHNvcnRlZChwdGYuaXRlbXMoKSk6CisgICAg
ICAgICAgICAgICAgICAgIHBjb3VudCA9M0QgZGF0YV9maWxlLnRvdGFsX3BhcnRpY2xlc1twdHlw
ZV0KKyAgICAgICAgICAgICAgICAgICAgY29vcmRzID0zRCBmW3B0eXBlXVsiJXNQb3MiICUgcHR5
cGVdLnZhbHVlLmFzdHlwZSgiZmxvPQphdDY0IikKKyAgICAgICAgICAgICAgICAgICAgY29vcmRz
ID0zRCBucC5yZXNpemUoY29vcmRzLCAocGNvdW50LCAzKSkKKyAgICAgICAgICAgICAgICAgICAg
eCA9M0QgY29vcmRzWzosIDBdCisgICAgICAgICAgICAgICAgICAgIHkgPTNEIGNvb3Jkc1s6LCAx
XQorICAgICAgICAgICAgICAgICAgICB6ID0zRCBjb29yZHNbOiwgMl0KKyAgICAgICAgICAgICAg
ICAgICAgeWllbGQgcHR5cGUsICh4LCB5LCB6KQorCisgICAgZGVmIF9yZWFkX29mZnNldF9wYXJ0
aWNsZV9maWVsZChzZWxmLCBmaWVsZCwgZGF0YV9maWxlLCBmaCk6CisgICAgICAgIGZpZWxkX2Rh
dGEgPTNEIG5wLmVtcHR5KGRhdGFfZmlsZS50b3RhbF9wYXJ0aWNsZXNbIkdyb3VwIl0sIGR0eXBl
PQo9M0QiZmxvYXQ2NCIpCisgICAgICAgIGZvZmluZGV4ID0zRCBucC5hcmFuZ2UoZGF0YV9maWxl
LnRvdGFsX3BhcnRpY2xlc1siR3JvdXAiXSkgKyBkYXRhXz0KZmlsZS5pbmRleF9zdGFydFsiR3Jv
dXAiXQorICAgICAgICBmb3Igb2Zmc2V0X2ZpbGUgaW4gZGF0YV9maWxlLm9mZnNldF9maWxlczoK
KyAgICAgICAgICAgIGlmIGZoLmZpbGVuYW1lID0zRD0zRCBvZmZzZXRfZmlsZS5maWxlbmFtZToK
KyAgICAgICAgICAgICAgICBvZmggPTNEIGZoCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgICAgIG9maCA9M0QgaDVweS5GaWxlKG9mZnNldF9maWxlLmZpbGVuYW1lLCAiciIpCisgICAg
ICAgICAgICBzdWJpbmRleCA9M0QgbnAuYXJhbmdlKG9mZnNldF9maWxlLnRvdGFsX29mZnNldCkg
KyBvZmZzZXRfZmlsZT0KLm9mZnNldF9zdGFydAorICAgICAgICAgICAgc3Vic3RhcnQgPTNEIG1h
eChmb2ZpbmRleFswXSAtIHN1YmluZGV4WzBdLCAwKQorICAgICAgICAgICAgc3ViZW5kID0zRCBt
aW4oZm9maW5kZXhbLTFdIC0gc3ViaW5kZXhbMF0sIHN1YmluZGV4LnNpemUgLSAxKQorICAgICAg
ICAgICAgZm9mc3RhcnQgPTNEIHN1YnN0YXJ0ICsgc3ViaW5kZXhbMF0gLSBmb2ZpbmRleFswXQor
ICAgICAgICAgICAgZm9mZW5kID0zRCBzdWJlbmQgKyBzdWJpbmRleFswXSAtIGZvZmluZGV4WzBd
CisgICAgICAgICAgICBmaWVsZF9kYXRhW2ZvZnN0YXJ0OmZvZmVuZCArIDFdID0zRCBvZmhbIlN1
YmhhbG8iXVtmaWVsZF1bc3Vicz0KdGFydDpzdWJlbmQgKyAxXQorICAgICAgICByZXR1cm4gZmll
bGRfZGF0YQorICAgICAgICAgICAgICAgICAgID0yMAorICAgIGRlZiBfcmVhZF9wYXJ0aWNsZV9m
aWVsZHMoc2VsZiwgY2h1bmtzLCBwdGYsIHNlbGVjdG9yKToKKyAgICAgICAgIyBOb3cgd2UgaGF2
ZSBhbGwgdGhlIHNpemVzLCBhbmQgd2UgY2FuIGFsbG9jYXRlCisgICAgICAgIGNodW5rcyA9M0Qg
bGlzdChjaHVua3MpCisgICAgICAgIGRhdGFfZmlsZXMgPTNEIHNldChbXSkKKyAgICAgICAgZm9y
IGNodW5rIGluIGNodW5rczoKKyAgICAgICAgICAgIGZvciBvYmogaW4gY2h1bmsub2JqczoKKyAg
ICAgICAgICAgICAgICBkYXRhX2ZpbGVzLnVwZGF0ZShvYmouZGF0YV9maWxlcykKKyAgICAgICAg
Zm9yIGRhdGFfZmlsZSBpbiBzb3J0ZWQoZGF0YV9maWxlcyk6CisgICAgICAgICAgICB3aXRoIGg1
cHkuRmlsZShkYXRhX2ZpbGUuZmlsZW5hbWUsICJyIikgYXMgZjoKKyAgICAgICAgICAgICAgICBm
b3IgcHR5cGUsIGZpZWxkX2xpc3QgaW4gc29ydGVkKHB0Zi5pdGVtcygpKToKKyAgICAgICAgICAg
ICAgICAgICAgcGNvdW50ID0zRCBkYXRhX2ZpbGUudG90YWxfcGFydGljbGVzW3B0eXBlXQorICAg
ICAgICAgICAgICAgICAgICBpZiBwY291bnQgPTNEPTNEIDA6IGNvbnRpbnVlCisgICAgICAgICAg
ICAgICAgICAgIGNvb3JkcyA9M0QgZltwdHlwZV1bIiVzUG9zIiAlIHB0eXBlXS52YWx1ZS5hc3R5
cGUoImZsbz0KYXQ2NCIpCisgICAgICAgICAgICAgICAgICAgIGNvb3JkcyA9M0QgbnAucmVzaXpl
KGNvb3JkcywgKHBjb3VudCwgMykpCisgICAgICAgICAgICAgICAgICAgIHggPTNEIGNvb3Jkc1s6
LCAwXQorICAgICAgICAgICAgICAgICAgICB5ID0zRCBjb29yZHNbOiwgMV0KKyAgICAgICAgICAg
ICAgICAgICAgeiA9M0QgY29vcmRzWzosIDJdCisgICAgICAgICAgICAgICAgICAgIG1hc2sgPTNE
IHNlbGVjdG9yLnNlbGVjdF9wb2ludHMoeCwgeSwgeiwgMC4wKQorICAgICAgICAgICAgICAgICAg
ICBkZWwgeCwgeSwgegorICAgICAgICAgICAgICAgICAgICBpZiBtYXNrIGlzIE5vbmU6IGNvbnRp
bnVlCisgICAgICAgICAgICAgICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZF9saXN0OgorICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgZmllbGQgaW4gc2VsZi5vZmZzZXRfZmllbGRzOgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuX3JlYWRfb2Zmc2V0X3BhcnRpY2xlX2ZpZWxkKGZpZWxkLCBkYXRh
PQpfZmlsZSwgZikKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgZmllbGQgPTNEPTNEICJwYXJ0aWNsZV9pZGVudGlmaWVyIjoKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRfZGF0YSA9M0QgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5wLmFyYW5nZShkYXRhX2ZpbGUudG90YWxfcGFydGlj
bGVzW3B0eXA9CmVdKSArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh
X2ZpbGUuaW5kZXhfc3RhcnRbcHR5cGVdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxp
ZiBmaWVsZCBpbiBmW3B0eXBlXToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmll
bGRfZGF0YSA9M0QgZltwdHlwZV1bZmllbGRdLnZhbHVlLmFzdHlwPQplKCJmbG9hdDY0IikKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmbmFtZSA9M0QgZmllbGRbOmZpZWxkLnJmaW5kKCJfIildCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIGZbcHR5cGVdW2ZuYW1lXS52YWx1ZS5h
c3R5cD0KZSgiZmxvYXQ2NCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15X2Rp
diA9M0QgZmllbGRfZGF0YS5zaXplIC8gcGNvdW50CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIG15X2RpdiA+IDE6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWVsZF9kYXRhID0zRCBucC5yZXNpemUoZmllbGRfZGF0YSwgKD0KcGNvdW50LCBteV9kaXYp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluZGV4ID0zRCBpbnQoZmll
bGRbZmllbGQucmZpbmQoIl8iKSA9CisgMTpdKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmllbGRfZGF0YSA9M0QgZmllbGRfZGF0YVs6LCBmaW5kZXhdCisgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhID0zRCBmaWVsZF9kYXRhW21hc2tdCisgICAgICAgICAgICAgICAg
ICAgICAgICB5aWVsZCAocHR5cGUsIGZpZWxkKSwgZGF0YQorCisgICAgZGVmIF9pbml0aWFsaXpl
X2luZGV4KHNlbGYsIGRhdGFfZmlsZSwgcmVnaW9ucyk6CisgICAgICAgIHBjb3VudCA9M0Qgc3Vt
KGRhdGFfZmlsZS50b3RhbF9wYXJ0aWNsZXMudmFsdWVzKCkpCisgICAgICAgIG1vcnRvbiA9M0Qg
bnAuZW1wdHkocGNvdW50LCBkdHlwZT0zRCd1aW50NjQnKQorICAgICAgICBpZiBwY291bnQgPTNE
PTNEIDA6IHJldHVybiBtb3J0b24KKyAgICAgICAgbXlsb2cuZGVidWcoIkluaXRpYWxpemluZyBp
bmRleCAlIDVpICglIDdpIHBhcnRpY2xlcykiLAorICAgICAgICAgICAgICAgICAgICBkYXRhX2Zp
bGUuZmlsZV9pZCwgcGNvdW50KQorICAgICAgICBpbmQgPTNEIDAKKyAgICAgICAgd2l0aCBoNXB5
LkZpbGUoZGF0YV9maWxlLmZpbGVuYW1lLCAiciIpIGFzIGY6CisgICAgICAgICAgICBpZiBub3Qg
Zi5rZXlzKCk6IHJldHVybiBOb25lCisgICAgICAgICAgICBkeCA9M0QgbnAuZmluZm8oZlsiR3Jv
dXAiXVsiR3JvdXBQb3MiXS5kdHlwZSkuZXBzCisgICAgICAgICAgICBkeCA9M0QgMi4wKnNlbGYu
ZHMucXVhbihkeCwgImNvZGVfbGVuZ3RoIikKKworICAgICAgICAgICAgZm9yIHB0eXBlIGluIGRh
dGFfZmlsZS5kcy5wYXJ0aWNsZV90eXBlc19yYXc6CisgICAgICAgICAgICAgICAgaWYgZGF0YV9m
aWxlLnRvdGFsX3BhcnRpY2xlc1twdHlwZV0gPTNEPTNEIDA6IGNvbnRpbnVlCisgICAgICAgICAg
ICAgICAgcG9zID0zRCBmW3B0eXBlXVsiJXNQb3MiICUgcHR5cGVdLnZhbHVlLmFzdHlwZSgiZmxv
YXQ2NCIpCisgICAgICAgICAgICAgICAgcG9zID0zRCBucC5yZXNpemUocG9zLCAoZGF0YV9maWxl
LnRvdGFsX3BhcnRpY2xlc1twdHlwZV0sID0KMykpCisgICAgICAgICAgICAgICAgcG9zID0zRCBk
YXRhX2ZpbGUuZHMuYXJyKHBvcywgImNvZGVfbGVuZ3RoIikKKyAgICAgICAgICAgICAgID0yMAor
ICAgICAgICAgICAgICAgICMgVGhlc2UgYXJlIDMyIGJpdCBudW1iZXJzLCBzbyB3ZSBnaXZlIGEg
bGl0dGxlIGxlZS13YXkuCisgICAgICAgICAgICAgICAgIyBPdGhlcndpc2UsIGZvciBiaWcgc2V0
cyBvZiBwYXJ0aWNsZXMsIHdlIG9mdGVuIHdpbGwgYnVtcD0KIGludG8gdGhlCisgICAgICAgICAg
ICAgICAgIyBkb21haW4gZWRnZXMuICBUaGlzIGhlbHBzIGFsbGV2aWF0ZSB0aGF0LgorICAgICAg
ICAgICAgICAgIG5wLmNsaXAocG9zLCBzZWxmLmRzLmRvbWFpbl9sZWZ0X2VkZ2UgKyBkeCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kcy5kb21haW5fcmlnaHRfZWRnZSAtIGR4
LCBwb3MpCisgICAgICAgICAgICAgICAgaWYgbnAuYW55KHBvcy5taW4oYXhpcz0zRDApIDwgc2Vs
Zi5kcy5kb21haW5fbGVmdF9lZGdlKSBvcj0KIFwKKyAgICAgICAgICAgICAgICAgICBucC5hbnko
cG9zLm1heChheGlzPTNEMCkgPiBzZWxmLmRzLmRvbWFpbl9yaWdodF9lZGdlKToKKyAgICAgICAg
ICAgICAgICAgICAgcmFpc2UgWVREb21haW5PdmVyZmxvdyhwb3MubWluKGF4aXM9M0QwKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MubWF4KGF4aXM9M0Qw
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRzLmRv
bWFpbl9sZWZ0X2VkZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2VsZi5kcy5kb21haW5fcmlnaHRfZWRnZSkKKyAgICAgICAgICAgICAgICByZWdpb25zLmFk
ZF9kYXRhX2ZpbGUocG9zLCBkYXRhX2ZpbGUuZmlsZV9pZCkKKyAgICAgICAgICAgICAgICBtb3J0
b25baW5kOmluZCtwb3Muc2hhcGVbMF1dID0zRCBjb21wdXRlX21vcnRvbigKKyAgICAgICAgICAg
ICAgICAgICAgcG9zWzosMF0sIHBvc1s6LDFdLCBwb3NbOiwyXSwKKyAgICAgICAgICAgICAgICAg
ICAgZGF0YV9maWxlLmRzLmRvbWFpbl9sZWZ0X2VkZ2UsCisgICAgICAgICAgICAgICAgICAgIGRh
dGFfZmlsZS5kcy5kb21haW5fcmlnaHRfZWRnZSkKKyAgICAgICAgICAgICAgICBpbmQgKz0zRCBw
b3Muc2hhcGVbMF0KKyAgICAgICAgcmV0dXJuIG1vcnRvbgorCisgICAgZGVmIF9jb3VudF9wYXJ0
aWNsZXMoc2VsZiwgZGF0YV9maWxlKToKKyAgICAgICAgd2l0aCBoNXB5LkZpbGUoZGF0YV9maWxl
LmZpbGVuYW1lLCAiciIpIGFzIGY6CisgICAgICAgICAgICBwY291bnQgPTNEIHsiR3JvdXAiOiBm
WyJIZWFkZXIiXS5hdHRyc1siTmdyb3Vwc19UaGlzRmlsZSJdLAorICAgICAgICAgICAgICAgICAg
ICAgICJTdWJoYWxvIjogZlsiSGVhZGVyIl0uYXR0cnNbIk5zdWJncm91cHNfVGhpc0ZpbGUiXX0K
KyAgICAgICAgICAgIGRhdGFfZmlsZS50b3RhbF9vZmZzZXQgPTNEIDAgIyBuZWVkIHRvIGZpZ3Vy
ZSBvdXQgaG93IHN1YmZpbmQgPQp3b3JrcyBoZXJlCisgICAgICAgICAgICByZXR1cm4gcGNvdW50
CisKKyAgICBkZWYgX2lkZW50aWZ5X2ZpZWxkcyhzZWxmLCBkYXRhX2ZpbGUpOgorICAgICAgICBm
aWVsZHMgPTNEIFtdCisgICAgICAgIHBjb3VudCA9M0QgZGF0YV9maWxlLnRvdGFsX3BhcnRpY2xl
cworICAgICAgICBpZiBzdW0ocGNvdW50LnZhbHVlcygpKSA9M0Q9M0QgMDogcmV0dXJuIGZpZWxk
cywge30KKyAgICAgICAgd2l0aCBoNXB5LkZpbGUoZGF0YV9maWxlLmZpbGVuYW1lLCAiciIpIGFz
IGY6CisgICAgICAgICAgICBmb3IgcHR5cGUgaW4gc2VsZi5kcy5wYXJ0aWNsZV90eXBlc19yYXc6
CisgICAgICAgICAgICAgICAgaWYgZGF0YV9maWxlLnRvdGFsX3BhcnRpY2xlc1twdHlwZV0gPTNE
PTNEIDA6IGNvbnRpbnVlCisgICAgICAgICAgICAgICAgZmllbGRzLmFwcGVuZCgocHR5cGUsICJw
YXJ0aWNsZV9pZGVudGlmaWVyIikpCisgICAgICAgICAgICAgICAgbXlfZmllbGRzLCBteV9vZmZz
ZXRfZmllbGRzID0zRCBcCisgICAgICAgICAgICAgICAgICBzdWJmaW5kX2ZpZWxkX2xpc3QoZltw
dHlwZV0sIHB0eXBlLCBkYXRhX2ZpbGUudG90YWxfcGFydD0KaWNsZXMpCisgICAgICAgICAgICAg
ICAgZmllbGRzLmV4dGVuZChteV9maWVsZHMpCisgICAgICAgICAgICAgICAgc2VsZi5vZmZzZXRf
ZmllbGRzID0zRCBzZWxmLm9mZnNldF9maWVsZHMudW5pb24oc2V0KG15X29mZj0Kc2V0X2ZpZWxk
cykpCisgICAgICAgIHJldHVybiBmaWVsZHMsIHt9CisKK2RlZiBzdWJmaW5kX2ZpZWxkX2xpc3Qo
ZmgsIHB0eXBlLCBwY291bnQpOgorICAgIGZpZWxkcyA9M0QgW10KKyAgICBvZmZzZXRfZmllbGRz
ID0zRCBbXQorICAgIGZvciBmaWVsZCBpbiBmaC5rZXlzKCk6CisgICAgICAgIGlmIGlzaW5zdGFu
Y2UoZmhbZmllbGRdLCBoNXB5Lkdyb3VwKToKKyAgICAgICAgICAgIG15X2ZpZWxkcywgbXlfb2Zm
c2V0X2ZpZWxkcyA9M0QgXAorICAgICAgICAgICAgICBzdWJmaW5kX2ZpZWxkX2xpc3QoZmhbZmll
bGRdLCBwdHlwZSwgcGNvdW50KQorICAgICAgICAgICAgZmllbGRzLmV4dGVuZChteV9maWVsZHMp
CisgICAgICAgICAgICBteV9vZmZzZXRfZmllbGRzLmV4dGVuZChvZmZzZXRfZmllbGRzKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgaWYgbm90IGZoW2ZpZWxkXS5zaXplICUgcGNvdW50W3B0
eXBlXToKKyAgICAgICAgICAgICAgICBteV9kaXYgPTNEIGZoW2ZpZWxkXS5zaXplIC8gcGNvdW50
W3B0eXBlXQorICAgICAgICAgICAgICAgIGZuYW1lID0zRCBmaFtmaWVsZF0ubmFtZVtmaFtmaWVs
ZF0ubmFtZS5maW5kKHB0eXBlKSArIGxlbig9CnB0eXBlKSArIDE6XQorICAgICAgICAgICAgICAg
IGlmIG15X2RpdiA+IDE6CisgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKG15X2Rp
dik6CisgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHMuYXBwZW5kKChwdHlwZSwgIiVzXyVk
IiAlIChmbmFtZSwgaSkpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
ICAgIGZpZWxkcy5hcHBlbmQoKHB0eXBlLCBmbmFtZSkpCisgICAgICAgICAgICBlbGlmIHB0eXBl
ID0zRD0zRCAiU3ViZmluZCIgYW5kIFwKKyAgICAgICAgICAgICAgbm90IGZoW2ZpZWxkXS5zaXpl
ICUgZmhbIi9TdWJmaW5kIl0uYXR0cnNbIk51bWJlcl9vZl9ncm91cHMiPQpdOgorICAgICAgICAg
ICAgICAgICMgVGhlc2UgYXJlIGFjdHVhbGx5IEdyb3VwIGZpZWxkcywgYnV0IHRoZXkgd2VyZSB3
cml0dGVuIGE9CmZ0ZXI9MjAKKyAgICAgICAgICAgICAgICAjIGEgbG9hZCBiYWxhbmNpbmcgc3Rl
cCBtb3ZlZCBoYWxvcyBhcm91bmQgYW5kIHRodXMgdGhleSBkPQpvIG5vdAorICAgICAgICAgICAg
ICAgICMgY29ycmVzcG9uZCB0byB0aGUgaGFsb3Mgc3RvcmVkIGluIHRoZSBHcm91cCBncm91cC4K
KyAgICAgICAgICAgICAgICBteV9kaXYgPTNEIGZoW2ZpZWxkXS5zaXplIC8gZmhbIi9TdWJmaW5k
Il0uYXR0cnNbIk51bWJlcl9vPQpmX2dyb3VwcyJdCisgICAgICAgICAgICAgICAgZm5hbWUgPTNE
IGZoW2ZpZWxkXS5uYW1lW2ZoW2ZpZWxkXS5uYW1lLmZpbmQocHR5cGUpICsgbGVuKD0KcHR5cGUp
ICsgMTpdCisgICAgICAgICAgICAgICAgaWYgbXlfZGl2ID4gMToKKyAgICAgICAgICAgICAgICAg
ICAgZm9yIGkgaW4gcmFuZ2UobXlfZGl2KToKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxk
cy5hcHBlbmQoKCJHcm91cCIsICIlc18lZCIgJSAoZm5hbWUsIGkpKSkKKyAgICAgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBmaWVsZHMuYXBwZW5kKCgiR3JvdXAiLCBmbmFt
ZSkpCisgICAgICAgICAgICAgICAgb2Zmc2V0X2ZpZWxkcy5hcHBlbmQoZm5hbWUpCisgICAgICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG15bG9nLndhcm4oIkNhbm5vdCBhZGQgZmllbGQg
KCVzLCAlcykgd2l0aCBzaXplICVkLiIgJSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAo
cHR5cGUsIGZoW2ZpZWxkXS5uYW1lLCBmaFtmaWVsZF0uc2l6ZSkpCisgICAgICAgICAgICAgICAg
Y29udGludWUKKyAgICByZXR1cm4gZmllbGRzLCBvZmZzZXRfZmllbGRzCgpkaWZmIC1yIGEzMjgy
YWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThi
NDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L2Zyb250ZW5kcy9nYWRnZXRfZm9mL3NldHVwLnB5
Ci0tLSAvZGV2L251bGwKKysrIGIveXQvZnJvbnRlbmRzL2dhZGdldF9mb2Yvc2V0dXAucHkKQEAg
LTAsMCArMSwxMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCitpbXBvcnQgc2V0dXB0b29scwor
aW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgb3MucGF0aAorCisKK2RlZiBjb25maWd1cmF0
aW9uKHBhcmVudF9wYWNrYWdlPTNEJycsIHRvcF9wYXRoPTNETm9uZSk6CisgICAgZnJvbSBudW1w
eS5kaXN0dXRpbHMubWlzY191dGlsIGltcG9ydCBDb25maWd1cmF0aW9uCisgICAgY29uZmlnID0z
RCBDb25maWd1cmF0aW9uKCdnYWRnZXRfZm9mJywgcGFyZW50X3BhY2thZ2UsIHRvcF9wYXRoKQor
ICAgIGNvbmZpZy5tYWtlX2NvbmZpZ19weSgpICAjIGluc3RhbGxzIF9fY29uZmlnX18ucHkKKyAg
ICAjY29uZmlnLm1ha2Vfc3ZuX3ZlcnNpb25fcHkoKQorICAgIHJldHVybiBjb25maWcKCmRpZmYg
LXIgYTMyODJhYTYzNjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYx
YWM4ZjExOGI0OWFlNz0KNWU4MmU2YzZkMTQ3OWVkNWQgeXQvZnJvbnRlbmRzL2dhZGdldF9mb2Yv
dGVzdHMvdGVzdF9vdXRwdXRzLnB5Ci0tLSAvZGV2L251bGwKKysrIGIveXQvZnJvbnRlbmRzL2dh
ZGdldF9mb2YvdGVzdHMvdGVzdF9vdXRwdXRzLnB5CkBAIC0wLDAgKzEsNTYgQEAKKyIiIgorR2Fk
Z2V0Rk9GIGZyb250ZW5kIHRlc3RzIHVzaW5nIGdhZGdldF9mb2YgZGF0YXNldHMKKworCisKKyIi
IgorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTMsIHl0IERl
dmVsb3BtZW50IFRlYW0uCisjCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
TW9kaWZpZWQgQlNEIExpY2Vuc2UuCisjCisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZp
bGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS09Ci0tLS0KKworaW1wb3J0IG9zLnBhdGgKK2Zyb20geXQudGVzdGluZyBpbXBv
cnQgXAorICAgIGFzc2VydF9lcXVhbAorZnJvbSB5dC51dGlsaXRpZXMuYW5zd2VyX3Rlc3Rpbmcu
ZnJhbWV3b3JrIGltcG9ydCBcCisgICAgRmllbGRWYWx1ZXNUZXN0LCBcCisgICAgcmVxdWlyZXNf
ZHMsIFwKKyAgICByZXF1aXJlc19maWxlLCBcCisgICAgZGF0YV9kaXJfbG9hZAorZnJvbSB5dC5m
cm9udGVuZHMuZ2FkZ2V0X2ZvZi5hcGkgaW1wb3J0IEdhZGdldEZPRkRhdGFzZXQKKworcF90eXBl
cyAgPTNEICgiR3JvdXAiLCAiU3ViaGFsbyIpCitwX2ZpZWxkcyA9M0QgKCJwYXJ0aWNsZV9wb3Np
dGlvbl94IiwgInBhcnRpY2xlX3Bvc2l0aW9uX3kiLAorICAgICAgICAgICAgInBhcnRpY2xlX3Bv
c2l0aW9uX3oiLCAicGFydGljbGVfdmVsb2NpdHlfeCIsCisgICAgICAgICAgICAicGFydGljbGVf
dmVsb2NpdHlfeSIsICJwYXJ0aWNsZV92ZWxvY2l0eV96IiwKKyAgICAgICAgICAgICJwYXJ0aWNs
ZV9tYXNzIiwgInBhcnRpY2xlX2lkZW50aWZpZXIiKQorX2ZpZWxkcyA9M0QgdHVwbGUoWyhwX3R5
cGUsIHBfZmllbGQpIGZvciBwX3R5cGUgaW4gcF90eXBlcworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb3IgcF9maWVsZCBpbiBwX2ZpZWxkc10pCisKKyMgYSBkYXRhc2V0IHdp
dGggZW1wdHkgZmlsZXMKK2c1ID0zRCAiZ2FkZ2V0X2ZvZl9oYWxvcy9ncm91cHNfMDA1L2ZvZl9z
dWJoYWxvX3RhYl8wMDUuMC5oZGY1IgorZzQyID0zRCAiZ2FkZ2V0X2ZvZl9oYWxvcy9ncm91cHNf
MDQyL2ZvZl9zdWJoYWxvX3RhYl8wNDIuMC5oZGY1IgorCisKK0ByZXF1aXJlc19kcyhnNSkKK2Rl
ZiB0ZXN0X2ZpZWxkc19nNSgpOgorICAgIGRzID0zRCBkYXRhX2Rpcl9sb2FkKGc1KQorICAgIHlp
ZWxkIGFzc2VydF9lcXVhbCwgc3RyKGRzKSwgb3MucGF0aC5iYXNlbmFtZShnNSkKKyAgICBmb3Ig
ZmllbGQgaW4gX2ZpZWxkczoKKyAgICAgICAgeWllbGQgRmllbGRWYWx1ZXNUZXN0KGc1LCBmaWVs
ZCwgcGFydGljbGVfdHlwZT0zRFRydWUpCisKKworQHJlcXVpcmVzX2RzKGc0MikKK2RlZiB0ZXN0
X2ZpZWxkc19nNDIoKToKKyAgICBkcyA9M0QgZGF0YV9kaXJfbG9hZChnNDIpCisgICAgeWllbGQg
YXNzZXJ0X2VxdWFsLCBzdHIoZHMpLCBvcy5wYXRoLmJhc2VuYW1lKGc0MikKKyAgICBmb3IgZmll
bGQgaW4gX2ZpZWxkczoKKyAgICAgICAgeWllbGQgRmllbGRWYWx1ZXNUZXN0KGc0MiwgZmllbGQs
IHBhcnRpY2xlX3R5cGU9M0RUcnVlKQorCitAcmVxdWlyZXNfZmlsZShnNDIpCitkZWYgdGVzdF9H
YWRnZXRGT0ZEYXRhc2V0KCk6CisgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZGF0YV9kaXJfbG9hZChn
NDIpLCBHYWRnZXRGT0ZEYXRhc2V0KQoKZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4
ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5
ZWQ1ZCB5dC9mcm9udGVuZHMvaGFsb19jYXRhbG9nL2lvLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9o
YWxvX2NhdGFsb2cvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL2hhbG9fY2F0YWxvZy9pby5weQpA
QCAtMzksNyArMzksNyBAQAogICAgICAgICBkYXRhX2ZpbGVzID0zRCBzZXQoW10pCiAgICAgICAg
ICMgT25seSBzdXBwb3J0IGhhbG8gcmVhZGluZyBmb3Igbm93LgogICAgICAgICBhc3NlcnQobGVu
KHB0ZikgPTNEPTNEIDEpCi0gICAgICAgIGFzc2VydChwdGYua2V5cygpWzBdID0zRD0zRCAiaGFs
b3MiKQorICAgICAgICBhc3NlcnQobGlzdChwdGYua2V5cygpKVswXSA9M0Q9M0QgImhhbG9zIikK
ICAgICAgICAgZm9yIGNodW5rIGluIGNodW5rczoKICAgICAgICAgICAgIGZvciBvYmogaW4gY2h1
bmsub2JqczoKICAgICAgICAgICAgICAgICBkYXRhX2ZpbGVzLnVwZGF0ZShvYmouZGF0YV9maWxl
cykKQEAgLTU3LDcgKzU3LDcgQEAKICAgICAgICAgZGF0YV9maWxlcyA9M0Qgc2V0KFtdKQogICAg
ICAgICAjIE9ubHkgc3VwcG9ydCBoYWxvIHJlYWRpbmcgZm9yIG5vdy4KICAgICAgICAgYXNzZXJ0
KGxlbihwdGYpID0zRD0zRCAxKQotICAgICAgICBhc3NlcnQocHRmLmtleXMoKVswXSA9M0Q9M0Qg
ImhhbG9zIikKKyAgICAgICAgYXNzZXJ0KGxpc3QocHRmLmtleXMoKSlbMF0gPTNEPTNEICJoYWxv
cyIpCiAgICAgICAgIGZvciBjaHVuayBpbiBjaHVua3M6CiAgICAgICAgICAgICBmb3Igb2JqIGlu
IGNodW5rLm9ianM6CiAgICAgICAgICAgICAgICAgZGF0YV9maWxlcy51cGRhdGUob2JqLmRhdGFf
ZmlsZXMpCgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIg
LXIgMTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L2Zyb250ZW5k
cy9vd2xzL2lvLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9vd2xzL2lvLnB5CisrKyBiL3l0L2Zyb250
ZW5kcy9vd2xzL2lvLnB5CkBAIC03MCw3ICs3MCw3IEBACiAgICAgICAgIGZvciBjaHVuayBpbiBj
aHVua3M6CiAgICAgICAgICAgICBmb3Igb2JqIGluIGNodW5rLm9ianM6CiAgICAgICAgICAgICAg
ICAgZGF0YV9maWxlcy51cGRhdGUob2JqLmRhdGFfZmlsZXMpCi0gICAgICAgIGZvciBkYXRhX2Zp
bGUgaW4gc29ydGVkKGRhdGFfZmlsZXMpOgorICAgICAgICBmb3IgZGF0YV9maWxlIGluIHNvcnRl
ZChkYXRhX2ZpbGVzLCBrZXk9M0RsYW1iZGEgeDogeC5maWxlbmFtZSk6CiAgICAgICAgICAgICBm
ID0zRCBfZ2V0X2g1X2hhbmRsZShkYXRhX2ZpbGUuZmlsZW5hbWUpCiAgICAgICAgICAgICAjIFRo
aXMgZG91YmxlLXJlYWRzCiAgICAgICAgICAgICBmb3IgcHR5cGUsIGZpZWxkX2xpc3QgaW4gc29y
dGVkKHB0Zi5pdGVtcygpKToKQEAgLTg4LDcgKzg4LDcgQEAKICAgICAgICAgZm9yIGNodW5rIGlu
IGNodW5rczoKICAgICAgICAgICAgIGZvciBvYmogaW4gY2h1bmsub2JqczoKICAgICAgICAgICAg
ICAgICBkYXRhX2ZpbGVzLnVwZGF0ZShvYmouZGF0YV9maWxlcykKLSAgICAgICAgZm9yIGRhdGFf
ZmlsZSBpbiBzb3J0ZWQoZGF0YV9maWxlcyk6CisgICAgICAgIGZvciBkYXRhX2ZpbGUgaW4gc29y
dGVkKGRhdGFfZmlsZXMsIGtleT0zRGxhbWJkYSB4OiB4LmZpbGVuYW1lKToKICAgICAgICAgICAg
IGYgPTNEIF9nZXRfaDVfaGFuZGxlKGRhdGFfZmlsZS5maWxlbmFtZSkKICAgICAgICAgICAgIGZv
ciBwdHlwZSwgZmllbGRfbGlzdCBpbiBzb3J0ZWQocHRmLml0ZW1zKCkpOgogICAgICAgICAgICAg
ICAgIGlmIGRhdGFfZmlsZS50b3RhbF9wYXJ0aWNsZXNbcHR5cGVdID0zRD0zRCAwOgoKZGlmZiAt
ciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFh
YzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1ZCB5dC9mcm9udGVuZHMvb3dsc19zdWJmaW5k
L2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvb3dsc19zdWJmaW5kL2RhdGFf
c3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvb3dsc19zdWJmaW5kL2RhdGFfc3RydWN0
dXJlcy5weQpAQCAtMjcsMTEgKzI3LDE0IEBACiBmcm9tIC5maWVsZHMgaW1wb3J0IFwKICAgICBP
V0xTU3ViZmluZEZpZWxkSW5mbwo9MjAKLWZyb20geXQudXRpbGl0aWVzLmNvc21vbG9neSBpbXBv
cnQgQ29zbW9sb2d5Citmcm9tIHl0LnV0aWxpdGllcy5jb3Ntb2xvZ3kgaW1wb3J0IFwKKyAgICBD
b3Ntb2xvZ3kKIGZyb20geXQudXRpbGl0aWVzLmRlZmluaXRpb25zIGltcG9ydCBcCiAgICAgbXBj
X2NvbnZlcnNpb24sIHNlY19jb252ZXJzaW9uCiBmcm9tIHl0LnV0aWxpdGllcy5leGNlcHRpb25z
IGltcG9ydCBcCi0gICAgIFlURXhjZXB0aW9uCisgICAgWVRFeGNlcHRpb24KK2Zyb20geXQudXRp
bGl0aWVzLmxvZ2dlciBpbXBvcnQgeXRMb2dnZXIgYXMgXAorICAgICBteWxvZwogZnJvbSB5dC5n
ZW9tZXRyeS5wYXJ0aWNsZV9nZW9tZXRyeV9oYW5kbGVyIGltcG9ydCBcCiAgICAgUGFydGljbGVJ
bmRleAogZnJvbSB5dC5kYXRhX29iamVjdHMuc3RhdGljX291dHB1dCBpbXBvcnQgXApAQCAtMTcw
LDYgKzE3Myw3IEBACiAgICAgICAgICMgVGhlIG90aGVyIHNhbWUgZGVmYXVsdHMgd2Ugd2lsbCB1
c2UgZnJvbSB0aGUgc3RhbmRhcmQgR2FkZ2V0CiAgICAgICAgICMgZGVmYXVsdHMuCiAgICAgICAg
IHVuaXRfYmFzZSA9M0Qgc2VsZi5fdW5pdF9iYXNlIG9yIHt9CisKICAgICAgICAgaWYgImxlbmd0
aCIgaW4gdW5pdF9iYXNlOgogICAgICAgICAgICAgbGVuZ3RoX3VuaXQgPTNEIHVuaXRfYmFzZVsi
bGVuZ3RoIl0KICAgICAgICAgZWxpZiAiVW5pdExlbmd0aF9pbl9jbSIgaW4gdW5pdF9iYXNlOgpA
QCAtMTgyLDcgKzE4Niw2IEBACiAgICAgICAgIGxlbmd0aF91bml0ID0zRCBfZml4X3VuaXRfb3Jk
ZXJpbmcobGVuZ3RoX3VuaXQpCiAgICAgICAgIHNlbGYubGVuZ3RoX3VuaXQgPTNEIHNlbGYucXVh
bihsZW5ndGhfdW5pdFswXSwgbGVuZ3RoX3VuaXRbMV0pCj0yMAotICAgICAgICB1bml0X2Jhc2Ug
PTNEIHNlbGYuX3VuaXRfYmFzZSBvciB7fQogICAgICAgICBpZiAidmVsb2NpdHkiIGluIHVuaXRf
YmFzZToKICAgICAgICAgICAgIHZlbG9jaXR5X3VuaXQgPTNEIHVuaXRfYmFzZVsidmVsb2NpdHki
XQogICAgICAgICBlbGlmICJVbml0VmVsb2NpdHlfaW5fY21fcGVyX3MiIGluIHVuaXRfYmFzZToK
QEAgLTE5MSw2ICsxOTQsNyBAQAogICAgICAgICAgICAgdmVsb2NpdHlfdW5pdCA9M0QgKDFlNSwg
ImNtL3MiKQogICAgICAgICB2ZWxvY2l0eV91bml0ID0zRCBfZml4X3VuaXRfb3JkZXJpbmcodmVs
b2NpdHlfdW5pdCkKICAgICAgICAgc2VsZi52ZWxvY2l0eV91bml0ID0zRCBzZWxmLnF1YW4odmVs
b2NpdHlfdW5pdFswXSwgdmVsb2NpdHlfdW5pdFsxPQpdKQorCiAgICAgICAgICMgV2Ugc2V0IGh1
YmJsZV9jb25zdGFudCA9M0QgMS4wIGZvciBub24tY29zbW9sb2d5LCBzbyB0aGlzIGlzIHNhZj0K
ZS4KICAgICAgICAgIyBEZWZhdWx0IHRvIDFlMTAgTXN1bi9oIGlmIG1hc3MgaXMgbm90IHNwZWNp
ZmllZC4KICAgICAgICAgaWYgIm1hc3MiIGluIHVuaXRfYmFzZToKQEAgLTIwNSw3ICsyMDksMTQg
QEAKICAgICAgICAgICAgIG1hc3NfdW5pdCA9M0QgKDEuMCwgIjFlMTAqTXN1bi9oIikKICAgICAg
ICAgbWFzc191bml0ID0zRCBfZml4X3VuaXRfb3JkZXJpbmcobWFzc191bml0KQogICAgICAgICBz
ZWxmLm1hc3NfdW5pdCA9M0Qgc2VsZi5xdWFuKG1hc3NfdW5pdFswXSwgbWFzc191bml0WzFdKQot
ICAgICAgICBzZWxmLnRpbWVfdW5pdCA9M0Qgc2VsZi5xdWFuKHVuaXRfYmFzZVsiVW5pdFRpbWVf
aW5fcyJdLCAicyIpCisKKyAgICAgICAgaWYgInRpbWUiIGluIHVuaXRfYmFzZToKKyAgICAgICAg
ICAgIHRpbWVfdW5pdCA9M0QgdW5pdF9iYXNlWyJ0aW1lIl0KKyAgICAgICAgZWxpZiAiVW5pdFRp
bWVfaW5fcyIgaW4gdW5pdF9iYXNlOgorICAgICAgICAgICAgdGltZV91bml0ID0zRCAodW5pdF9i
YXNlWyJVbml0VGltZV9pbl9zIl0sICJzIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRp
bWVfdW5pdCA9M0QgKDEuLCAicyIpICAgICAgID0yMAorICAgICAgICBzZWxmLnRpbWVfdW5pdCA9
M0Qgc2VsZi5xdWFuKHRpbWVfdW5pdFswXSwgdGltZV91bml0WzFdKQo9MjAKICAgICBAY2xhc3Nt
ZXRob2QKICAgICBkZWYgX2lzX3ZhbGlkKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CgpkaWZmIC1y
IGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFj
OGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L2Zyb250ZW5kcy9yYW1zZXMvZGF0YV9z
dHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9yYW1zZXMvZGF0YV9zdHJ1Y3R1cmVzLnB5
CisrKyBiL3l0L2Zyb250ZW5kcy9yYW1zZXMvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC00OTEsMTMg
KzQ5MSwyMiBAQAogICAgICAgICAiIiIKICAgICAgICAgR2VuZXJhdGVzIHRoZSBjb252ZXJzaW9u
IHRvIHZhcmlvdXMgcGh5c2ljYWwgX3VuaXRzIGJhc2VkIG9uIHRoZSBwPQphcmFtZXRlciBmaWxl
CiAgICAgICAgICIiIgotICAgICAgICAjIE5vdGUgdGhhdCB1bml0X2wgKmFscmVhZHkqIGNvbnZl
cnRzIHRvIHByb3BlciEKLSAgICAgICAgIyBBbHNvIG5vdGUgdGhhdCB1bml0X2wgbXVzdCBiZSBt
dWx0aXBsaWVkIGJ5IHRoZSBib3hsZW4gcGFyYW1ldGVyPQogdG8KLSAgICAgICAgIyBlbnN1cmUg
d2UgYXJlIGNvcnJlY3RseSBzZXQgdXAgZm9yIHRoZSBjdXJyZW50IGRvbWFpbi4KLSAgICAgICAg
bGVuZ3RoX3VuaXQgPTNEIHNlbGYucGFyYW1ldGVyc1sndW5pdF9sJ10KLSAgICAgICAgYm94bGVu
ID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2JveGxlbiddCi0gICAgICAgIGRlbnNpdHlfdW5pdCA9M0Qg
c2VsZi5wYXJhbWV0ZXJzWyd1bml0X2QnXQotICAgICAgICBtYXNzX3VuaXQgPTNEIGRlbnNpdHlf
dW5pdCAqIChsZW5ndGhfdW5pdCAqIGJveGxlbikqKjMKKyAgICAgICAgI1BsZWFzZSBub3RlIHRo
YXQgZm9yIGFsbCB1bml0cyBnaXZlbiBpbiB0aGUgaW5mbyBmaWxlLCB0aGUgYm94bGVuCisgICAg
ICAgICNzdGlsbCBuZWVkcyB0byBiZSBmb2xkZWQgaW4sIGFzIHNob3duIGJlbG93IQorCisgICAg
ICAgIGJveGxlbj0zRHNlbGYucGFyYW1ldGVyc1snYm94bGVuJ10KKyAgICAgICAgbGVuZ3RoX3Vu
aXQgPTNEIHNlbGYucGFyYW1ldGVyc1sndW5pdF9sJ10gKiBib3hsZW4KKyAgICAgICAgZGVuc2l0
eV91bml0ID0zRCBzZWxmLnBhcmFtZXRlcnNbJ3VuaXRfZCddLyBib3hsZW4qKjMKKworICAgICAg
ICAjIEluIHRoZSBtYXNzIHVuaXQsIHRoZSBmYWN0b3JzIG9mIGJveGxlbiBjYW5jZWwgYmFjayBv
dXQsIHNvIHRoaXM9MjAKKyAgICAgICAgI2lzIGVxdWl2YWxlbnQgdG8gdW5pdF9kKnVuaXRfbCoq
MworCisgICAgICAgIG1hc3NfdW5pdCA9M0QgZGVuc2l0eV91bml0ICogbGVuZ3RoX3VuaXQqKjMK
KworICAgICAgICAjIENvc21vbG9naWNhbCBydW5zIGFyZSBkb25lIGluIGxvb2tiYWNrIGNvbmZv
cm1hbCB0aW1lLj0yMAorICAgICAgICAjIFRvIGNvbnZlcnQgdG8gcHJvcGVyIHRpbWUsIHRoZSB0
aW1lIHVuaXQgaXMgY2FsY3VsYXRlZCBmcm9tPTIwCisgICAgICAgICMgdGhlIGV4cGFuc2lvbiBm
YWN0b3IuIFRoaXMgaXMgbm90IHlldCAgZG9uZSBoZXJlIQorCiAgICAgICAgIHRpbWVfdW5pdCA9
M0Qgc2VsZi5wYXJhbWV0ZXJzWyd1bml0X3QnXQogICAgICAgICBtYWduZXRpY191bml0ID0zRCBu
cC5zcXJ0KDQqbnAucGkgKiBtYXNzX3VuaXQgLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAodGltZV91bml0KioyICogbGVuZ3RoX3VuaXQpKQoKZGlmZiAtciBhMzI4MmFhNjM2MDUx
MmIyZTFlMTk5OGM4ODEzYmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1
ZTgyZTZjNmQxNDc5ZWQ1ZCB5dC9mcm9udGVuZHMvcmFtc2VzL2lvLnB5Ci0tLSBhL3l0L2Zyb250
ZW5kcy9yYW1zZXMvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL3JhbXNlcy9pby5weQpAQCAtMjAs
NyArMjAsMTIgQEAKICAgICBCYXNlSU9IYW5kbGVyCiBmcm9tIHl0LnV0aWxpdGllcy5sb2dnZXIg
aW1wb3J0IHl0TG9nZ2VyIGFzIG15bG9nCiBpbXBvcnQgeXQudXRpbGl0aWVzLmZvcnRyYW5fdXRp
bHMgYXMgZnB1Ci1mcm9tIHl0LmV4dGVybi5zaXgubW92ZXMgaW1wb3J0IGNTdHJpbmdJTworZnJv
bSB5dC5leHRlcm4uc2l4IGltcG9ydCBQWTMKKworaWYgUFkzOgorICAgIGZyb20gaW8gaW1wb3J0
IEJ5dGVzSU8gYXMgSU8KK2Vsc2U6CisgICAgZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lP
IGFzIElPCj0yMAogY2xhc3MgSU9IYW5kbGVyUkFNU0VTKEJhc2VJT0hhbmRsZXIpOgogICAgIF9k
YXRhc2V0X3R5cGUgPTNEICJyYW1zZXMiCkBAIC0zNyw3ICs0Miw3IEBACiAgICAgICAgICAgICAg
ICAgZiA9M0Qgb3BlbihzdWJzZXQuZG9tYWluLmh5ZHJvX2ZuLCAicmIiKQogICAgICAgICAgICAg
ICAgICMgVGhpcyBjb250YWlucyB0aGUgYm91bmRhcnkgaW5mb3JtYXRpb24sIHNvIHdlIHNraW0g
dGhyb3U9CmdoCiAgICAgICAgICAgICAgICAgIyBhbmQgcGljayBvZmYgdGhlIHJpZ2h0IHZlY3Rv
cnMKLSAgICAgICAgICAgICAgICBjb250ZW50ID0zRCBjU3RyaW5nSU8oZi5yZWFkKCkpCisgICAg
ICAgICAgICAgICAgY29udGVudCA9M0QgSU8oZi5yZWFkKCkpCiAgICAgICAgICAgICAgICAgcnYg
PTNEIHN1YnNldC5maWxsKGNvbnRlbnQsIGZpZWxkcywgc2VsZWN0b3IpCiAgICAgICAgICAgICAg
ICAgZm9yIGZ0LCBmIGluIGZpZWxkczoKICAgICAgICAgICAgICAgICAgICAgZCA9M0QgcnYucG9w
KGYpCgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIg
MTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L2Zyb250ZW5kcy9y
b2Nrc3Rhci9pby5weQotLS0gYS95dC9mcm9udGVuZHMvcm9ja3N0YXIvaW8ucHkKKysrIGIveXQv
ZnJvbnRlbmRzL3JvY2tzdGFyL2lvLnB5CkBAIC0yOCw2ICsyOCw3IEBACiBmcm9tIHl0LnV0aWxp
dGllcy5saWIuZ2VvbWV0cnlfdXRpbHMgaW1wb3J0IGNvbXB1dGVfbW9ydG9uCj0yMAogZnJvbSB5
dC5nZW9tZXRyeS5vY3RfY29udGFpbmVyIGltcG9ydCBfT1JERVJfTUFYCitmcm9tIG9wZXJhdG9y
IGltcG9ydCBhdHRyZ2V0dGVyCj0yMAogY2xhc3MgSU9IYW5kbGVyUm9ja3N0YXJCaW5hcnkoQmFz
ZUlPSGFuZGxlcik6CiAgICAgX2RhdGFzZXRfdHlwZSA9M0QgInJvY2tzdGFyX2JpbmFyeSIKQEAg
LTQ1LDEyICs0NiwxMSBAQAogICAgICAgICBkYXRhX2ZpbGVzID0zRCBzZXQoW10pCiAgICAgICAg
ICMgT25seSBzdXBwb3J0IGhhbG8gcmVhZGluZyBmb3Igbm93LgogICAgICAgICBhc3NlcnQobGVu
KHB0ZikgPTNEPTNEIDEpCi0gICAgICAgIGFzc2VydChwdGYua2V5cygpWzBdID0zRD0zRCAiaGFs
b3MiKQorICAgICAgICBhc3NlcnQobGlzdChwdGYua2V5cygpKVswXSA9M0Q9M0QgImhhbG9zIikK
ICAgICAgICAgZm9yIGNodW5rIGluIGNodW5rczoKICAgICAgICAgICAgIGZvciBvYmogaW4gY2h1
bmsub2JqczoKICAgICAgICAgICAgICAgICBkYXRhX2ZpbGVzLnVwZGF0ZShvYmouZGF0YV9maWxl
cykKLSAgICAgICA9MjAKLSAgICAgICAgZm9yIGRhdGFfZmlsZSBpbiBzb3J0ZWQoZGF0YV9maWxl
cyk6CisgICAgICAgIGZvciBkYXRhX2ZpbGUgaW4gc29ydGVkKGRhdGFfZmlsZXMsa2V5PTNEYXR0
cmdldHRlcigiZmlsZW5hbWUiKSk6CiAgICAgICAgICAgICBwY291bnQgPTNEIGRhdGFfZmlsZS5o
ZWFkZXJbJ251bV9oYWxvcyddCiAgICAgICAgICAgICB3aXRoIG9wZW4oZGF0YV9maWxlLmZpbGVu
YW1lLCAicmIiKSBhcyBmOgogICAgICAgICAgICAgICAgIGYuc2VlayhkYXRhX2ZpbGUuX3Bvc2l0
aW9uX29mZnNldCwgb3MuU0VFS19TRVQpCkBAIC02NiwxMSArNjYsMTEgQEAKICAgICAgICAgZGF0
YV9maWxlcyA9M0Qgc2V0KFtdKQogICAgICAgICAjIE9ubHkgc3VwcG9ydCBoYWxvIHJlYWRpbmcg
Zm9yIG5vdy4KICAgICAgICAgYXNzZXJ0KGxlbihwdGYpID0zRD0zRCAxKQotICAgICAgICBhc3Nl
cnQocHRmLmtleXMoKVswXSA9M0Q9M0QgImhhbG9zIikKKyAgICAgICAgYXNzZXJ0KGxpc3QocHRm
LmtleXMoKSlbMF0gPTNEPTNEICJoYWxvcyIpCiAgICAgICAgIGZvciBjaHVuayBpbiBjaHVua3M6
CiAgICAgICAgICAgICBmb3Igb2JqIGluIGNodW5rLm9ianM6CiAgICAgICAgICAgICAgICAgZGF0
YV9maWxlcy51cGRhdGUob2JqLmRhdGFfZmlsZXMpCi0gICAgICAgIGZvciBkYXRhX2ZpbGUgaW4g
c29ydGVkKGRhdGFfZmlsZXMpOgorICAgICAgICBmb3IgZGF0YV9maWxlIGluIHNvcnRlZChkYXRh
X2ZpbGVzLGtleT0zRGF0dHJnZXR0ZXIoImZpbGVuYW1lIikpOgogICAgICAgICAgICAgcGNvdW50
ID0zRCBkYXRhX2ZpbGUuaGVhZGVyWydudW1faGFsb3MnXQogICAgICAgICAgICAgd2l0aCBvcGVu
KGRhdGFfZmlsZS5maWxlbmFtZSwgInJiIikgYXMgZjoKICAgICAgICAgICAgICAgICBmb3IgcHR5
cGUsIGZpZWxkX2xpc3QgaW4gc29ydGVkKHB0Zi5pdGVtcygpKToKCmRpZmYgLXIgYTMyODJhYTYz
NjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYxYWM4ZjExOGI0OWFl
Nz0KNWU4MmU2YzZkMTQ3OWVkNWQgeXQvZnJvbnRlbmRzL3NldHVwLnB5Ci0tLSBhL3l0L2Zyb250
ZW5kcy9zZXR1cC5weQorKysgYi95dC9mcm9udGVuZHMvc2V0dXAucHkKQEAgLTE3LDYgKzE3LDcg
QEAKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImZpdHMiKQogICAgIGNvbmZpZy5hZGRfc3Vi
cGFja2FnZSgiZmxhc2giKQogICAgIGNvbmZpZy5hZGRfc3VicGFja2FnZSgiZ2FkZ2V0IikKKyAg
ICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImdhZGdldF9mb2YiKQogICAgIGNvbmZpZy5hZGRfc3Vi
cGFja2FnZSgiZ2RmIikKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImhhbG9fY2F0YWxvZyIp
CiAgICAgY29uZmlnLmFkZF9zdWJwYWNrYWdlKCJodHRwX3N0cmVhbSIpCkBAIC0zNCwxMSArMzUs
MTIgQEAKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImF0aGVuYS90ZXN0cyIpCiAgICAgY29u
ZmlnLmFkZF9zdWJwYWNrYWdlKCJib3hsaWIvdGVzdHMiKQogICAgIGNvbmZpZy5hZGRfc3VicGFj
a2FnZSgiY2hvbWJvL3Rlc3RzIikKKyAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImVhZ2xlL3Rl
c3RzIikKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImVuem8vdGVzdHMiKQotICAgIGNvbmZp
Zy5hZGRfc3VicGFja2FnZSgiZWFnbGUvdGVzdHMiKQogICAgIGNvbmZpZy5hZGRfc3VicGFja2Fn
ZSgiZml0cy90ZXN0cyIpCiAgICAgY29uZmlnLmFkZF9zdWJwYWNrYWdlKCJmbGFzaC90ZXN0cyIp
CiAgICAgY29uZmlnLmFkZF9zdWJwYWNrYWdlKCJnYWRnZXQvdGVzdHMiKQorICAgIGNvbmZpZy5h
ZGRfc3VicGFja2FnZSgiZ2FkZ2V0X2ZvZi90ZXN0cyIpCiAgICAgY29uZmlnLmFkZF9zdWJwYWNr
YWdlKCJtb2FiL3Rlc3RzIikKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoIm93bHMvdGVzdHMi
KQogICAgIGNvbmZpZy5hZGRfc3VicGFja2FnZSgib3dsc19zdWJmaW5kL3Rlc3RzIikKCmRpZmYg
LXIgYTMyODJhYTYzNjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYx
YWM4ZjExOGI0OWFlNz0KNWU4MmU2YzZkMTQ3OWVkNWQgeXQvdXRpbGl0aWVzL2Fuc3dlcl90ZXN0
aW5nL2ZyYW1ld29yay5weQotLS0gYS95dC91dGlsaXRpZXMvYW5zd2VyX3Rlc3RpbmcvZnJhbWV3
b3JrLnB5CisrKyBiL3l0L3V0aWxpdGllcy9hbnN3ZXJfdGVzdGluZy9mcmFtZXdvcmsucHkKQEAg
LTY2Miw5ICs2NjIsMTEgQEAKPTIwCiBjbGFzcyBQbG90V2luZG93QXR0cmlidXRlVGVzdChBbnN3
ZXJUZXN0aW5nVGVzdCk6CiAgICAgX3R5cGVfbmFtZSA9M0QgIlBsb3RXaW5kb3dBdHRyaWJ1dGUi
Ci0gICAgX2F0dHJzID0zRCAoJ3Bsb3RfdHlwZScsICdwbG90X2ZpZWxkJywgJ3Bsb3RfYXhpcycs
ICdhdHRyX25hbWUnLCAnYXR0cj0KX2FyZ3MnKQorICAgIF9hdHRycyA9M0QgKCdwbG90X3R5cGUn
LCAncGxvdF9maWVsZCcsICdwbG90X2F4aXMnLCAnYXR0cl9uYW1lJywgJ2F0dHI9Cl9hcmdzJywK
KyAgICAgICAgICAgICAgJ2NhbGxiYWNrX2lkJykKICAgICBkZWYgX19pbml0X18oc2VsZiwgZHNf
Zm4sIHBsb3RfZmllbGQsIHBsb3RfYXhpcywgYXR0cl9uYW1lLCBhdHRyX2FyZ3MsCi0gICAgICAg
ICAgICAgICAgIGRlY2ltYWxzLCBwbG90X3R5cGUgPTNEICdTbGljZVBsb3QnKToKKyAgICAgICAg
ICAgICAgICAgZGVjaW1hbHMsIHBsb3RfdHlwZSA9M0QgJ1NsaWNlUGxvdCcsIGNhbGxiYWNrX2lk
ID0zRCAiIiwKKyAgICAgICAgICAgICAgICAgY2FsbGJhY2tfcnVubmVycyA9M0QgTm9uZSk6CiAg
ICAgICAgIHN1cGVyKFBsb3RXaW5kb3dBdHRyaWJ1dGVUZXN0LCBzZWxmKS5fX2luaXRfXyhkc19m
bikKICAgICAgICAgc2VsZi5wbG90X3R5cGUgPTNEIHBsb3RfdHlwZQogICAgICAgICBzZWxmLnBs
b3RfZmllbGQgPTNEIHBsb3RfZmllbGQKQEAgLTY3MywxMCArNjc1LDE4IEBACiAgICAgICAgIHNl
bGYuYXR0cl9uYW1lID0zRCBhdHRyX25hbWUKICAgICAgICAgc2VsZi5hdHRyX2FyZ3MgPTNEIGF0
dHJfYXJncwogICAgICAgICBzZWxmLmRlY2ltYWxzID0zRCBkZWNpbWFscworICAgICAgICAjIGNh
bGxiYWNrX2lkIGlzIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBoYXNoIHRoZSBhY3R1YWwgY2Fs
bGJhY2tzCisgICAgICAgICMgcnVuLCBidXQgaW5zdGVhZCB3ZSBjYWxsIHRoZW0gc29tZXRoaW5n
CisgICAgICAgIHNlbGYuY2FsbGJhY2tfaWQgPTNEIGNhbGxiYWNrX2lkCisgICAgICAgIGlmIGNh
bGxiYWNrX3J1bm5lcnMgaXMgTm9uZToKKyAgICAgICAgICAgIGNhbGxiYWNrX3J1bm5lcnMgPTNE
IFtdCisgICAgICAgIHNlbGYuY2FsbGJhY2tfcnVubmVycyA9M0QgY2FsbGJhY2tfcnVubmVycwo9
MjAKICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICBwbG90ID0zRCBzZWxmLmNyZWF0ZV9wbG90
KHNlbGYuZHMsIHNlbGYucGxvdF90eXBlLCBzZWxmLnBsb3RfZmllbGQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYucGxvdF9heGlzLCBzZWxmLnBsb3Rfa3dhcmdzKQorICAg
ICAgICBmb3IgciBpbiBzZWxmLmNhbGxiYWNrX3J1bm5lcnM6CisgICAgICAgICAgICByKHNlbGYs
IHBsb3QpCiAgICAgICAgIGF0dHIgPTNEIGdldGF0dHIocGxvdCwgc2VsZi5hdHRyX25hbWUpCiAg
ICAgICAgIGF0dHIoKnNlbGYuYXR0cl9hcmdzWzBdLCAqKnNlbGYuYXR0cl9hcmdzWzFdKQogICAg
ICAgICB0bXBmZCwgdG1wbmFtZSA9M0QgdGVtcGZpbGUubWtzdGVtcChzdWZmaXg9M0QnLnBuZycp
CgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMw
YTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L3V0aWxpdGllcy9maXRz
X2ltYWdlLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9maXRzX2ltYWdlLnB5CisrKyBiL3l0L3V0aWxp
dGllcy9maXRzX2ltYWdlLnB5CkBAIC0xMjIsNyArMTIyLDcgQEAKICAgICAgICAgZm9yIGtleSBp
biBmaWVsZHM6CiAgICAgICAgICAgICBpZiBrZXkgbm90IGluIGV4Y2x1ZGVfZmllbGRzOgogICAg
ICAgICAgICAgICAgIGlmIGhhc2F0dHIoaW1nX2RhdGFba2V5XSwgInVuaXRzIik6Ci0gICAgICAg
ICAgICAgICAgICAgIHNlbGYuZmllbGRfdW5pdHNba2V5XSA9M0Qgc3RyKGltZ19kYXRhW2tleV0u
dW5pdHMpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZmllbGRfdW5pdHNba2V5XSA9M0QgaW1n
X2RhdGFba2V5XS51bml0cwogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuZmllbGRfdW5pdHNba2V5XSA9M0QgImRpbWVuc2lvbmxlc3MiCiAgICAgICAgICAg
ICAgICAgbXlsb2cuaW5mbygiTWFraW5nIGEgRklUUyBpbWFnZSBvZiBmaWVsZCAlcyIgJSBrZXkp
CgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMw
YTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0NzllZDVkIHl0L3Zpc3VhbGl6YXRpb24v
Y29sb3JfbWFwcy5weQotLS0gYS95dC92aXN1YWxpemF0aW9uL2NvbG9yX21hcHMucHkKKysrIGIv
eXQvdmlzdWFsaXphdGlvbi9jb2xvcl9tYXBzLnB5CkBAIC0xMSw3ICsxMSw2IEBACiAjIFRoZSBm
dWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdpdGgg
dGhpcyBzb2Z0dz0KYXJlLgogIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KIGltcG9ydCBudW1weSBh
cyBucAotZnJvbSB5dC5leHRlcm4uc2l4Lm1vdmVzIGltcG9ydCB6aXAgYXMgaXppcAo9MjAKIGlt
cG9ydCBtYXRwbG90bGliCiBpbXBvcnQgbWF0cGxvdGxpYi5jb2xvcnMgYXMgY2MKQEAgLTg2LDkg
Kzg1LDkgQEAKICAgICAgICAgICAgICAgICAxOTQuNSpfdnMqKjIuODgrOTkuNzIqbnAuZXhwKC03
Ny4yNCooX3ZzLTAuNzQyKSoqMi4wKQogICAgICAgICAgICAgICArIDQ1LjQwKl92cyoqMC4wODkr
MTAuMCkvMjU1LjAKPTIwCi1jZGljdCA9M0QgeydyZWQnOnppcChfdnMsX2thbWFlX3JlZCxfa2Ft
YWVfcmVkKSwKLSAgICAgICAgICdncmVlbic6emlwKF92cyxfa2FtYWVfZ3JuLF9rYW1hZV9ncm4p
LAotICAgICAgICAgJ2JsdWUnOnppcChfdnMsX2thbWFlX2JsdSxfa2FtYWVfYmx1KX0KK2NkaWN0
ID0zRCB7J3JlZCc6bnAudHJhbnNwb3NlKFtfdnMsX2thbWFlX3JlZCxfa2FtYWVfcmVkXSksCisg
ICAgICAgICAnZ3JlZW4nOm5wLnRyYW5zcG9zZShbX3ZzLF9rYW1hZV9ncm4sX2thbWFlX2dybl0p
LAorICAgICAgICAgJ2JsdWUnOm5wLnRyYW5zcG9zZShbX3ZzLF9rYW1hZV9ibHUsX2thbWFlX2Js
dV0pfQogYWRkX2NtYXAoJ2thbWFlJywgY2RpY3QpCj0yMAogIyBUaGlzIG9uZSBpcyBhIHNpbXBs
ZSBibGFjayAmIGdyZWVuIG1hcApAQCAtMTUxLDkgKzE1MCw5IEBACiBfdnMgPTNEIG5wLmxpbnNw
YWNlKDAsMSwyNTYpCiBmb3Igayx2IGluIGxpc3QoX2NtLmNvbG9yX21hcF9sdXRzLml0ZW1zKCkp
OgogICAgIGlmIGsgbm90IGluIHl0X2NvbG9ybWFwcyBhbmQgayBub3QgaW4gbWNtLmNtYXBfZDoK
LSAgICAgICAgY2RpY3QgPTNEIHsgJ3JlZCc6IHppcChfdnMsdlswXSx2WzBdKSwKLSAgICAgICAg
ICAgICAgICAgICdncmVlbic6IHppcChfdnMsdlsxXSx2WzFdKSwKLSAgICAgICAgICAgICAgICAg
ICdibHVlJzogemlwKF92cyx2WzJdLHZbMl0pIH0KKyAgICAgICAgY2RpY3QgPTNEIHsgJ3JlZCc6
IG5wLnRyYW5zcG9zZShbX3ZzLHZbMF0sdlswXV0pLAorICAgICAgICAgICAgICAgICAgJ2dyZWVu
JzogbnAudHJhbnNwb3NlKFtfdnMsdlsxXSx2WzFdXSksCisgICAgICAgICAgICAgICAgICAnYmx1
ZSc6IG5wLnRyYW5zcG9zZShbX3ZzLHZbMl0sdlsyXV0pIH0KICAgICAgICAgYWRkX2NtYXAoaywg
Y2RpY3QpCj0yMAogZGVmIF9leHRyYWN0X2xvb2t1cF90YWJsZShjbWFwX25hbWUpOgpAQCAtMzkz
LDkgKzM5Miw5IEBACiAgICAgIyAgIFNlY29uZCBudW1iZXIgaXMgdGhlICgwLi4xKSBudW1iZXIg
dG8gaW50ZXJwb2xhdGUgdG8gd2hlbiBjb21pbmcgKj0KZnJvbSBiZWxvdyoKICAgICAjICAgVGhp
cmQgbnVtYmVyIGlzIHRoZSAoMC4uMSkgbnVtYmVyIHRvIGludGVycG9sYXRlIHRvIHdoZW4gY29t
aW5nICpmPQpyb20gYWJvdmUqCiAgICAgX3ZzID0zRCBucC5saW5zcGFjZSgwLDEsMjU2KQotICAg
IGNkaWN0ID0zRCB7J3JlZCc6ICAgemlwKF92cywgY21hcFs6LDBdLCBjbWFwWzosMF0pLAotICAg
ICAgICAgICAgICdncmVlbic6IHppcChfdnMsIGNtYXBbOiwxXSwgY21hcFs6LDFdKSwKLSAgICAg
ICAgICAgICAnYmx1ZSc6ICB6aXAoX3ZzLCBjbWFwWzosMl0sIGNtYXBbOiwyXSl9CisgICAgY2Rp
Y3QgPTNEIHsncmVkJzogICBucC50cmFuc3Bvc2UoW192cywgY21hcFs6LDBdLCBjbWFwWzosMF1d
KSwKKyAgICAgICAgICAgICAnZ3JlZW4nOiBucC50cmFuc3Bvc2UoW192cywgY21hcFs6LDFdLCBj
bWFwWzosMV1dKSwKKyAgICAgICAgICAgICAnYmx1ZSc6ICBucC50cmFuc3Bvc2UoW192cywgY21h
cFs6LDJdLCBjbWFwWzosMl1dKX0KPTIwCiAgICAgaWYgbmFtZSBpcyBub3QgTm9uZToKICAgICAg
ICAgYWRkX2NtYXAobmFtZSwgY2RpY3QpCgpkaWZmIC1yIGEzMjgyYWE2MzYwNTEyYjJlMWUxOTk4
Yzg4MTNiYWEwZjI3MThkZTIgLXIgMTMwYTU4YWZmMWFjOGYxMThiNDlhZTc9CjVlODJlNmM2ZDE0
NzllZDVkIHl0L3Zpc3VhbGl6YXRpb24vZml4ZWRfcmVzb2x1dGlvbi5weQotLS0gYS95dC92aXN1
YWxpemF0aW9uL2ZpeGVkX3Jlc29sdXRpb24ucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi9maXhl
ZF9yZXNvbHV0aW9uLnB5CkBAIC0yNyw3ICsyNyw2IEBACiBpbXBvcnQgbnVtcHkgYXMgbnAKIGlt
cG9ydCB3ZWFrcmVmCiBpbXBvcnQgcmUKLWltcG9ydCBzdHJpbmcKPTIwCiBjbGFzcyBGaXhlZFJl
c29sdXRpb25CdWZmZXIob2JqZWN0KToKICAgICByIiIiCkBAIC0xNzgsMTMgKzE3NywxMyBAQAog
ICAgICAgICAgICAgcHN0ciA9M0QgbS5zdHJpbmdbbS5zdGFydCgpKzE6bS5lbmQoKS0xXQogICAg
ICAgICAgICAgc2VnbWVudHMgPTNEIGZuYW1lLnNwbGl0KCJfIikKICAgICAgICAgICAgIGZvciBp
LHMgaW4gZW51bWVyYXRlKHNlZ21lbnRzKToKLSAgICAgICAgICAgICAgICBzZWdtZW50c1tpXSA9
M0Qgc3RyaW5nLmNhcGl0YWxpemUocykKKyAgICAgICAgICAgICAgICBzZWdtZW50c1tpXSA9M0Qg
cy5jYXBpdGFsaXplKCkKICAgICAgICAgICAgICAgICBpZiBzID0zRD0zRCBwc3RyOgogICAgICAg
ICAgICAgICAgICAgICBpcHN0ciA9M0QgaQogICAgICAgICAgICAgZWxlbWVudCA9M0Qgc2VnbWVu
dHNbaXBzdHItMV0KICAgICAgICAgICAgIHJvbWFuID0zRCBwbnVtMnJvbVtwc3RyWzE6XV0KICAg
ICAgICAgICAgIGxhYmVsID0zRCBlbGVtZW50ICsgJ1wgJyArIHJvbWFuICsgJ1wgJyArIFwKLSAg
ICAgICAgICAgICAgICBzdHJpbmcuam9pbihzZWdtZW50c1tpcHN0cisxOl0sICdcICcpCisgICAg
ICAgICAgICAgICAgJ1wgJy5qb2luKHNlZ21lbnRzW2lwc3RyKzE6XSkKICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgIGxhYmVsID0zRCBmbmFtZQogICAgICAgICByZXR1cm4gbGFiZWwKCmRpZmYg
LXIgYTMyODJhYTYzNjA1MTJiMmUxZTE5OThjODgxM2JhYTBmMjcxOGRlMiAtciAxMzBhNThhZmYx
YWM4ZjExOGI0OWFlNz0KNWU4MmU2YzZkMTQ3OWVkNWQgeXQvdmlzdWFsaXphdGlvbi9pbWFnZV93
cml0ZXIucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi9pbWFnZV93cml0ZXIucHkKKysrIGIveXQv
dmlzdWFsaXphdGlvbi9pbWFnZV93cml0ZXIucHkKQEAgLTE3MCw3ICsxNzAsNyBAQAogICAgICAg
ICBiaXRtYXBfYXJyYXkgPTNEIG5wLmNvbmNhdGVuYXRlKFtiaXRtYXBfYXJyYXkuYXN0eXBlKCd1
aW50OCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGFfY2hh
bm5lbF0sIGF4aXM9M0QtMSkKICAgICBpZiB0cmFuc3Bvc2U6Ci0gICAgICAgIGJpdG1hcF9hcnJh
eSA9M0QgYml0bWFwX2FycmF5LnN3YXBheGVzKDAsMSkKKyAgICAgICAgYml0bWFwX2FycmF5ID0z
RCBiaXRtYXBfYXJyYXkuc3dhcGF4ZXMoMCwxKS5jb3B5KG9yZGVyPTNEIkMiKQogICAgIGlmIGZp
bGVuYW1lIGlzIG5vdCBOb25lOgogICAgICAgICBwdy53cml0ZV9wbmcoYml0bWFwX2FycmF5LCBm
aWxlbmFtZSkKICAgICBlbHNlOgoKZGlmZiAtciBhMzI4MmFhNjM2MDUxMmIyZTFlMTk5OGM4ODEz
YmFhMGYyNzE4ZGUyIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3PQo1ZTgyZTZjNmQxNDc5ZWQ1
ZCB5dC92aXN1YWxpemF0aW9uL3Byb2ZpbGVfcGxvdHRlci5weQotLS0gYS95dC92aXN1YWxpemF0
aW9uL3Byb2ZpbGVfcGxvdHRlci5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3Byb2ZpbGVfcGxv
dHRlci5weQpAQCAtMjIyLDcgKzIyMiw3IEBACiAgICAgICAgICAgICBwbG90X3NwZWMgPTNEIFtw
bG90X3NwZWMuY29weSgpIGZvciBwIGluIHByb2ZpbGVzXQo9MjAKICAgICAgICAgUHJvZmlsZVBs
b3QuX2luaXRpYWxpemVfaW5zdGFuY2Uoc2VsZiwgcHJvZmlsZXMsIGxhYmVsLCBwbG90X3NwZWMs
PQogeV9sb2cpCi0KKyAgICAgICA9MjAKICAgICBAdmFsaWRhdGVfcGxvdAogICAgIGRlZiBzYXZl
KHNlbGYsIG5hbWU9M0ROb25lLCBzdWZmaXg9M0ROb25lKToKICAgICAgICAgciIiIgpAQCAtNTMw
LDE1ICs1MzAsMjAgQEAKICAgICAgICAgICAgICAgICB4bWEgPTNEIHhtYXgKICAgICAgICAgICAg
IGV4dHJlbWEgPTNEIHtwLnhfZmllbGQ6ICgoeG1pLCBzdHIocC54LnVuaXRzKSksICh4bWEsIHN0
cihwLnguPQp1bml0cykpKX0KICAgICAgICAgICAgIHVuaXRzID0zRCB7cC54X2ZpZWxkOiBzdHIo
cC54LnVuaXRzKX0KKyAgICAgICAgICAgIGlmIHNlbGYueF9sb2cgaXMgTm9uZToKKyAgICAgICAg
ICAgICAgICBsb2dzID0zRCBOb25lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
IGxvZ3MgPTNEIHtwLnhfZmllbGQ6IHNlbGYueF9sb2d9CiAgICAgICAgICAgICBmb3IgZmllbGQg
aW4gcC5maWVsZF9tYXAudmFsdWVzKCk6CiAgICAgICAgICAgICAgICAgdW5pdHNbZmllbGRdID0z
RCBzdHIocC5maWVsZF9kYXRhW2ZpZWxkXS51bml0cykKICAgICAgICAgICAgIHNlbGYucHJvZmls
ZXNbaV0gPTNEIFwKICAgICAgICAgICAgICAgICBjcmVhdGVfcHJvZmlsZShwLmRhdGFfc291cmNl
LCBwLnhfZmllbGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbl9iaW5zPTNEbGVu
KHAueF9iaW5zKS0xLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcz0zRHAu
ZmllbGRfbWFwLnZhbHVlcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxk
cz0zRGxpc3QocC5maWVsZF9tYXAudmFsdWVzKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHdlaWdodF9maWVsZD0zRHAud2VpZ2h0X2ZpZWxkLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjY3VtdWxhdGlvbj0zRHAuYWNjdW11bGF0aW9uLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZyYWN0aW9uYWw9M0RwLmZyYWN0aW9uYWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9ncz0zRGxvZ3MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZXh0cmVtYT0zRGV4dHJlbWEsIHVuaXRzPTNEdW5pdHMpCiAgICAgICAgIHJldHVy
biBzZWxmCj0yMApAQCAtMTE0Niw2ICsxMTUxLDE0IEBACiAgICAgICAgIGV4dHJlbWEgPTNEIHtw
LnhfZmllbGQ6ICgoeG1pbiwgc3RyKHAueC51bml0cykpLCAoeG1heCwgc3RyKHAueC51bj0KaXRz
KSkpLAogICAgICAgICAgICAgICAgICAgIHAueV9maWVsZDogKChwLnlfYmlucy5taW4oKSwgc3Ry
KHAueS51bml0cykpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwLnlfYmlucy5t
YXgoKSwgc3RyKHAueS51bml0cykpKX0KKyAgICAgICAgaWYgc2VsZi54X2xvZyBpcyBub3QgTm9u
ZSBvciBzZWxmLnlfbG9nIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbG9ncyA9M0Qge30KKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ3MgPTNEIE5vbmUKKyAgICAgICAgaWYgc2VsZi54
X2xvZyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGxvZ3NbcC54X2ZpZWxkXSA9M0Qgc2VsZi54
X2xvZworICAgICAgICBpZiBzZWxmLnlfbG9nIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbG9n
c1twLnlfZmllbGRdID0zRCBzZWxmLnlfbG9nCiAgICAgICAgIGRlcG9zaXRpb24gPTNEIGdldGF0
dHIoc2VsZi5wcm9maWxlLCAiZGVwb3NpdGlvbiIsIE5vbmUpCiAgICAgICAgIGlmIGRlcG9zaXRp
b24gaXMgTm9uZToKICAgICAgICAgICAgIGFkZGl0aW9uYWxfa3dhcmdzID0zRCB7J2FjY3VtdWxh
dGlvbic6IHAuYWNjdW11bGF0aW9uLApAQCAtMTE1NSwxMSArMTE2OCwxMiBAQAogICAgICAgICBz
ZWxmLnByb2ZpbGUgPTNEIGNyZWF0ZV9wcm9maWxlKAogICAgICAgICAgICAgcC5kYXRhX3NvdXJj
ZSwKICAgICAgICAgICAgIFtwLnhfZmllbGQsIHAueV9maWVsZF0sCi0gICAgICAgICAgICBwLmZp
ZWxkX21hcC52YWx1ZXMoKSwKKyAgICAgICAgICAgIGxpc3QocC5maWVsZF9tYXAudmFsdWVzKCkp
LAogICAgICAgICAgICAgbl9iaW5zPTNEW2xlbihwLnhfYmlucyktMSwgbGVuKHAueV9iaW5zKS0x
XSwKICAgICAgICAgICAgIHdlaWdodF9maWVsZD0zRHAud2VpZ2h0X2ZpZWxkLAogICAgICAgICAg
ICAgdW5pdHM9M0R1bml0cywKICAgICAgICAgICAgIGV4dHJlbWE9M0RleHRyZW1hLAorICAgICAg
ICAgICAgbG9ncz0zRGxvZ3MsCiAgICAgICAgICAgICAqKmFkZGl0aW9uYWxfa3dhcmdzKQogICAg
ICAgICBmb3IgZmllbGQgaW4genVuaXRzOgogICAgICAgICAgICAgc2VsZi5wcm9maWxlLnNldF9m
aWVsZF91bml0KGZpZWxkLCB6dW5pdHNbZmllbGRdKQpAQCAtMTIwMSw2ICsxMjE1LDE0IEBACiAg
ICAgICAgIGV4dHJlbWEgPTNEIHtwLnhfZmllbGQ6ICgocC54X2JpbnMubWluKCksIHN0cihwLngu
dW5pdHMpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocC54X2JpbnMubWF4KCks
IHN0cihwLngudW5pdHMpKSksCiAgICAgICAgICAgICAgICAgICAgcC55X2ZpZWxkOiAoKHltaW4s
IHN0cihwLnkudW5pdHMpKSwgKHltYXgsIHN0cihwLnkudW5pdD0KcykpKX0KKyAgICAgICAgaWYg
c2VsZi54X2xvZyBpcyBub3QgTm9uZSBvciBzZWxmLnlfbG9nIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgbG9ncyA9M0Qge30KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ3MgPTNEIE5v
bmUKKyAgICAgICAgaWYgc2VsZi54X2xvZyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGxvZ3Nb
cC54X2ZpZWxkXSA9M0Qgc2VsZi54X2xvZworICAgICAgICBpZiBzZWxmLnlfbG9nIGlzIG5vdCBO
b25lOgorICAgICAgICAgICAgbG9nc1twLnlfZmllbGRdID0zRCBzZWxmLnlfbG9nCiAgICAgICAg
IGRlcG9zaXRpb24gPTNEIGdldGF0dHIoc2VsZi5wcm9maWxlLCAiZGVwb3NpdGlvbiIsIE5vbmUp
CiAgICAgICAgIGlmIGRlcG9zaXRpb24gaXMgTm9uZToKICAgICAgICAgICAgIGFkZGl0aW9uYWxf
a3dhcmdzID0zRCB7J2FjY3VtdWxhdGlvbic6IHAuYWNjdW11bGF0aW9uLApAQCAtMTIxMCwxMSAr
MTIzMiwxMiBAQAogICAgICAgICBzZWxmLnByb2ZpbGUgPTNEIGNyZWF0ZV9wcm9maWxlKAogICAg
ICAgICAgICAgcC5kYXRhX3NvdXJjZSwKICAgICAgICAgICAgIFtwLnhfZmllbGQsIHAueV9maWVs
ZF0sCi0gICAgICAgICAgICBwLmZpZWxkX21hcC52YWx1ZXMoKSwKKyAgICAgICAgICAgIGxpc3Qo
cC5maWVsZF9tYXAudmFsdWVzKCkpLAogICAgICAgICAgICAgbl9iaW5zPTNEW2xlbihwLnhfYmlu
cyktMSwgbGVuKHAueV9iaW5zKS0xXSwKICAgICAgICAgICAgIHdlaWdodF9maWVsZD0zRHAud2Vp
Z2h0X2ZpZWxkLAogICAgICAgICAgICAgdW5pdHM9M0R1bml0cywKICAgICAgICAgICAgIGV4dHJl
bWE9M0RleHRyZW1hLAorICAgICAgICAgICAgbG9ncz0zRGxvZ3MsCiAgICAgICAgICAgICAqKmFk
ZGl0aW9uYWxfa3dhcmdzKQogICAgICAgICBmb3IgZmllbGQgaW4genVuaXRzOgogICAgICAgICAg
ICAgc2VsZi5wcm9maWxlLnNldF9maWVsZF91bml0KGZpZWxkLCB6dW5pdHNbZmllbGRdKQoKVGhp
cyBkaWZmIGlzIHNvIGJpZyB0aGF0IHdlIG5lZWRlZCB0byB0cnVuY2F0ZSB0aGUgcmVtYWluZGVy
LgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMTE0MDRiYTdm
ODRkLwpDaGFuZ2VzZXQ6ICAgMTE0MDRiYTdmODRkCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAg
ICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA3LTIwIDIxOjEwOjA1KzAwOjAwClN1bW1h
cnk6ICAgICBDcmVhdGUgRmlsZUhhbmRsZXIgY2xhc3MgZm9yIEV4b2R1c0lJIGRhdGEgYW5kIHVz
ZSBpbiBpby4KQWZmZWN0ZWQgIzogIDQgZmlsZXMKCmRpZmYgLXIgMTMwYTU4YWZmMWFjOGYxMThi
NDlhZTc1ZTgyZTZjNmQxNDc5ZWQ1ZCAtciAxMTQwNGJhN2Y4NGQyNWRkYjExY2FjOD0KOWFmOGJl
OGRkMzczZDJiZWIgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0t
IGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJv
bnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTEyLDYgKzEyLDggQEAKICMK
ICMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlzdHJpYnV0
ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQoraW1wb3J0
IG51bXB5IGFzIG5wCitpbXBvcnQgcmUKPTIwCiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5ncmlkX3Bh
dGNoIGltcG9ydCBcCiAgICAgQU1SR3JpZFBhdGNoCkBAIC0xOSw5ICsyMSwxMSBAQAogICAgIEdy
aWRJbmRleAogZnJvbSB5dC5kYXRhX29iamVjdHMuc3RhdGljX291dHB1dCBpbXBvcnQgXAogICAg
IERhdGFzZXQKLWZyb20gLmZpZWxkcyBpbXBvcnQgRXhvZHVzSUlGaWVsZEluZm8KLWZyb20gLmlv
IGltcG9ydCBJT0hhbmRsZXJFeG9kdXNJSQotaW1wb3J0IG51bXB5IGFzIG5wCitmcm9tIC5pbyBp
bXBvcnQgXAorICAgIElPSGFuZGxlckV4b2R1c0lJCitmcm9tIC5maWVsZHMgaW1wb3J0IFwKKyAg
ICBFeG9kdXNJSUZpZWxkSW5mbworZnJvbSAudXRpbCBpbXBvcnQgbG9hZF9pbmZvX3JlY29yZHMK
PTIwCiBjbGFzcyBFeG9kdXNJSUdyaWQoQU1SR3JpZFBhdGNoKToKICAgICBfaWRfb2Zmc2V0ID0z
RCAwCkBAIC0xMTcsMTYgKzEyMSwxNiBAQAogICAgICAgICBwYXNzCiAgICA9MjAKICAgICBkZWYg
X3BhcnNlX3BhcmFtZXRlcl9maWxlKHNlbGYpOgotICAgICAgICBzZWxmLnBhcmFtZXRlcnMgICAg
ICAgICAgICAgICAgID0zRCBzZWxmLmRzLmluZm9fcmVjb3JkcwotICAgICAgICBzZWxmLnVuaXF1
ZV9pZGVudGlmaWVyICAgICAgICAgID0zRCBzZWxmLnBhcmFtZXRlcnNbJ1ZlcnNpb24gSW5mbyc9
Cl1bJ0V4ZWN1dGFibGUgVGltZXN0YW1wJ10KLSAgICAgICAgc2VsZi5jdXJyZW50X3RpbWUgICAg
ICAgICAgICAgICA9M0Qgc2VsZi5wYXJhbWV0ZXJzWydWZXJzaW9uIEluZm8nPQpdWydDdXJyZW50
IFRpbWUnXQotICAgICAgICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAgICAgICAgICAgID0zRCAzCi0g
ICAgICAgIHNlbGYuZG9tYWluX2xlZnRfZWRnZSAgICAgICAgICAgPTNEIG5wLmFycmF5KFtzZWxm
LmRzLmNvb3JkaW5hdGVzWz0KOiwwXS5taW4oKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRzLmNvb3JkaW5hdGVzWzosPQowXS5tYXgo
KV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
ZmxvYXQ2NCcpCi0gICAgICAgIHNlbGYuZG9tYWluX3JpZ2h0X2VkZ2UgICAgICAgICAgID0zRCBu
cC5hcnJheShbc2VsZi5kcy5jb29yZGluYXRlcz0KWzosMV0ubWluKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZHMuY29vcmRpbmF0
ZXNbOj0KLDFdLm1heCgpXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnZmxvYXQ2NCcpCisgICAgICAgIHNlbGYucGFyYW1ldGVyc1snaW5mb19y
ZWNvcmRzJ10gPTNEIGxvYWRfaW5mb19yZWNvcmRzKHNlbGYuZHMudmFyaT0KYWJsZXNbJ2luZm9f
cmVjb3JkcyddKQorICAgICAgICBzZWxmLnVuaXF1ZV9pZGVudGlmaWVyICAgICAgICAgID0zRCBz
ZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmVjb3Jkcyc9Cl1bJ1ZlcnNpb24gSW5mbyddWydFeGVjdXRh
YmxlIFRpbWVzdGFtcCddCisgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICAgICAg
PTNEIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvcmRzJz0KXVsnVmVyc2lvbiBJbmZvJ11bJ0N1
cnJlbnQgVGltZSddCisgICAgICAgIHNlbGYuZGltZW5zaW9uYWxpdHkgICAgICAgICAgICAgPTNE
IHNlbGYuZHMudmFyaWFibGVzWydjb29yX25hbWVzJz0KXS5zaGFwZVswXQorICAgICAgICAjIHNl
bGYuZG9tYWluX2xlZnRfZWRnZSAgICAgICAgICAgPTNEIG5wLmFycmF5KFtzZWxmLmRzLmNvb3Jk
aW5hdGU9CnNbOiwwXS5taW4oKSwKKyAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuZHMuY29vcmRpbmF0ZXNbPQo6LDBdLm1heCgpXSwKKyAg
ICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zsb2F0
NjQnKQorICAgICAgICAjIHNlbGYuZG9tYWluX3JpZ2h0X2VkZ2UgICAgICAgICAgID0zRCBucC5h
cnJheShbc2VsZi5kcy5jb29yZGluYXQ9CmVzWzosMV0ubWluKCksCisgICAgICAgICMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kcy5jb29yZGluYXRl
cz0KWzosMV0ubWF4KCldLAorICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ2Zsb2F0NjQnKQogICAgICAgICBzZWxmLnBlcmlvZGljaXR5ICAgICAg
ICAgICAgICAgID0zRCAoRmFsc2UsIEZhbHNlLCBGYWxzZSkKICAgICAgICAgc2VsZi5jb3Ntb2xv
Z2ljYWxfc2ltdWxhdGlvbiAgICA9M0QgMAogICAgICAgICBzZWxmLmN1cnJlbnRfcmVkc2hpZnQg
ICAgICAgICAgID0zRCAwCgpkaWZmIC1yIDEzMGE1OGFmZjFhYzhmMTE4YjQ5YWU3NWU4MmU2YzZk
MTQ3OWVkNWQgLXIgMTE0MDRiYTdmODRkMjVkZGIxMWNhYzg9CjlhZjhiZThkZDM3M2QyYmViIHl0
L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9p
by5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CkBAIC0xMiwxMSArMTIsMTQg
QEAKICMKICMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBDT1BZSU5HLnR4dCwgZGlz
dHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQot
ZnJvbSAudXRpbCBpbXBvcnQgRXhvZHVzSUlEYXRhCiBpbXBvcnQgbnVtcHkgYXMgbnAKPTIwCiBm
cm9tIHl0LnV0aWxpdGllcy5pb19oYW5kbGVyIGltcG9ydCBcCisgICAgaW9fcmVnaXN0cnkKK2Zy
b20geXQudXRpbGl0aWVzLmlvX2hhbmRsZXIgaW1wb3J0IFwKICAgICBCYXNlSU9IYW5kbGVyCitm
cm9tIHl0LnV0aWxpdGllcy5maWxlX2hhbmRsZXIgaW1wb3J0IFwKKyAgICBFeG9kdXNJSUZpbGVI
YW5kbGVyCj0yMAogY2xhc3MgSU9IYW5kbGVyRXhvZHVzSUkoQmFzZUlPSGFuZGxlcik6CiAgICAg
X3BhcnRpY2xlX3JlYWRlciA9M0QgRmFsc2UKQEAgLTI2LDggKzI5LDggQEAKPTIwCiAgICAgZGVm
IF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lKToKICAgICAgICAgc2VsZi5maWxlbmFtZSA9M0QgZmls
ZW5hbWUKLSAgICAgICAgc2VsZi5kcyAgICAgICA9M0QgRXhvZHVzSUlEYXRhKGZpbGVuYW1lKQot
ICAgICAgICBzZWxmLmRzLnJlYWQoKQorICAgICAgICBleG9kdXNfaWlfaGFuZGxlciAgICAgICA9
M0QgRXhvZHVzSUlGaWxlSGFuZGxlcihmaWxlbmFtZSkKKyAgICAgICAgc2VsZi5kcyAgPTNEIGV4
b2R1c19paV9oYW5kbGVyLmRhdGFzZXQKPTIwCiAgICAgZGVmIF9yZWFkX3BhcnRpY2xlX2Nvb3Jk
cyhzZWxmLCBjaHVua3MsIHB0Zik6CiAgICAgICAgIHBhc3MKCmRpZmYgLXIgMTMwYTU4YWZmMWFj
OGYxMThiNDlhZTc1ZTgyZTZjNmQxNDc5ZWQ1ZCAtciAxMTQwNGJhN2Y4NGQyNWRkYjExY2FjOD0K
OWFmOGJlOGRkMzczZDJiZWIgeXQvZnJvbnRlbmRzL2V4b2R1c19paS91dGlsLnB5Ci0tLSBhL3l0
L2Zyb250ZW5kcy9leG9kdXNfaWkvdXRpbC5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lp
L3V0aWwucHkKQEAgLTY2LDcgKzY2LDcgQEAKICAgICByZXR1cm4gZ3JvdXBfYnlfc2VjdGlvbnMo
aW5mb19yZWNvcmRzX3BhcnNlZCkKICAgID0yMAogZGVmIGdyb3VwX2J5X3NlY3Rpb25zKGluZm9f
cmVjb3Jkcyk6Ci0gICAgIyAxLiBTcGxpdCBieSB0b3AgZ3JvdXBpbmdzICAgPTIwCisgICAgIyAx
LiBTcGxpdCBieSB0b3AgZ3JvdXBpbmdzCiAgICAgdG9wX2xldmVscyA9M0QgZ2V0X3RvcF9sZXZl
bHMoaW5mb19yZWNvcmRzKQogICAgICMgMi4gRGV0ZXJtaW5lIGlmIGluIHNlY3Rpb24gYnkgaW5k
ZXggbnVtYmVyCiAgICAgZ3JvdXBlZCA9M0QgT3JkZXJlZERpY3QoKQoKZGlmZiAtciAxMzBhNThh
ZmYxYWM4ZjExOGI0OWFlNzVlODJlNmM2ZDE0NzllZDVkIC1yIDExNDA0YmE3Zjg0ZDI1ZGRiMTFj
YWM4PQo5YWY4YmU4ZGQzNzNkMmJlYiB5dC91dGlsaXRpZXMvZmlsZV9oYW5kbGVyLnB5Ci0tLSBh
L3l0L3V0aWxpdGllcy9maWxlX2hhbmRsZXIucHkKKysrIGIveXQvdXRpbGl0aWVzL2ZpbGVfaGFu
ZGxlci5weQpAQCAtMSw1ICsxLDUgQEAKICIiIgotQSB3cmFwcGVyIGNsYXNzIGZvciBoNXB5IGZp
bGUgb2JqZWN0cy4KK1dyYXBwZXIgY2xhc3NlcyBmb3IgaDVweSBhbmQgbmV0Q0RGNCBmaWxlIG9i
amVjdHMuCj0yMAo9MjAKPTIwCkBAIC03NCwzICs3NCwxMCBAQAo9MjAKICAgICBkZWYgY2xvc2Uo
c2VsZik6CiAgICAgICAgIHBhc3MKKworY2xhc3MgRXhvZHVzSUlGaWxlSGFuZGxlcihvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSk6CisgICAgICAgIGZyb20gbmV0Q0RG
NCBpbXBvcnQgRGF0YXNldAorICAgICAgICBkcyA9M0QgRGF0YXNldChmaWxlbmFtZSkKKyAgICAg
ICAgc2VsZi5kYXRhc2V0ID0zRCBkcworCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5
c2lzL3l0L2NvbW1pdHMvYzE0OGUyZDc2NzY3LwpDaGFuZ2VzZXQ6ICAgYzE0OGUyZDc2NzY3CkJy
YW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA3
LTIxIDE5OjA0OjU1KzAwOjAwClN1bW1hcnk6ICAgICBIYW5kbGUgd2hlbiBkYXRhIGRvZXMgbm90
IGhhdmUgaW5mb19yZWNvcmRzIGF2YWlsYWJsZS4KQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYg
LXIgMTE0MDRiYTdmODRkMjVkZGIxMWNhYzg5YWY4YmU4ZGQzNzNkMmJlYiAtciBjMTQ4ZTJkNzY3
NjdkMjViN2YyNThjZT0KZDY0ZDk5ODZmOWIxZjQ1YzkgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9k
YXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVj
dHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkK
QEAgLTE0LDYgKzE0LDkgQEAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCiBpbXBvcnQgbnVtcHkg
YXMgbnAKIGltcG9ydCByZQoraW1wb3J0IHN0YXQKK2ltcG9ydCBvcworaW1wb3J0IHRpbWUKPTIw
CiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5ncmlkX3BhdGNoIGltcG9ydCBcCiAgICAgQU1SR3JpZFBh
dGNoCkBAIC0yMiw3ICsyNSw3IEBACiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5zdGF0aWNfb3V0cHV0
IGltcG9ydCBcCiAgICAgRGF0YXNldAogZnJvbSAuaW8gaW1wb3J0IFwKLSAgICBJT0hhbmRsZXJF
eG9kdXNJSQorICAgIElPSGFuZGxlckV4b2R1c0lJLCBteWxvZwogZnJvbSAuZmllbGRzIGltcG9y
dCBcCiAgICAgRXhvZHVzSUlGaWVsZEluZm8KIGZyb20gLnV0aWwgaW1wb3J0IGxvYWRfaW5mb19y
ZWNvcmRzCkBAIC0xMDAsNiArMTAzLDcgQEAKICAgICAgICAgc2VsZi5kcyA9M0QgSU9IYW5kbGVy
RXhvZHVzSUkoZmlsZW5hbWUpLmRzCiAgICAgICAgIHNlbGYuZmx1aWRfdHlwZXMgKz0zRCAoJ2V4
b2R1c19paScsKQogICAgICAgICBzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSA9M0Qgc3RvcmFnZV9m
aWxlbmFtZQorICAgICAgICBzZWxmLmZpbGVuYW1lID0zRCBmaWxlbmFtZQogICAgICAgICBEYXRh
c2V0Ll9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0X3R5cGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0R1bml0c19vdmVycmlkZSkKICAgICAgICAgc2Vs
Zi5zdG9yYWdlX2ZpbGVuYW1lID0zRCBzdG9yYWdlX2ZpbGVuYW1lCkBAIC0xMjEsOSArMTI1LDE1
IEBACiAgICAgICAgIHBhc3MKICAgID0yMAogICAgIGRlZiBfcGFyc2VfcGFyYW1ldGVyX2ZpbGUo
c2VsZik6Ci0gICAgICAgIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvcmRzJ10gPTNEIGxvYWRf
aW5mb19yZWNvcmRzKHNlbGYuZHMudmFyaT0KYWJsZXNbJ2luZm9fcmVjb3JkcyddKQotICAgICAg
ICBzZWxmLnVuaXF1ZV9pZGVudGlmaWVyICAgICAgICAgID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2lu
Zm9fcmVjb3Jkcyc9Cl1bJ1ZlcnNpb24gSW5mbyddWydFeGVjdXRhYmxlIFRpbWVzdGFtcCddCi0g
ICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICAgICAgPTNEIHNlbGYucGFyYW1ldGVy
c1snaW5mb19yZWNvcmRzJz0KXVsnVmVyc2lvbiBJbmZvJ11bJ0N1cnJlbnQgVGltZSddCisgICAg
ICAgIGlmICdpbmZvX3JlY29yZHMnIGluIHNlbGYuZHMudmFyaWFibGVzLmtleXMoKToKKyAgICAg
ICAgICAgIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvcmRzJ10gPTNEIGxvYWRfaW5mb19yZWNv
cmRzKHNlbGYuZHMuPQp2YXJpYWJsZXNbJ2luZm9fcmVjb3JkcyddKQorICAgICAgICAgICAgc2Vs
Zi51bmlxdWVfaWRlbnRpZmllciAgICAgICAgICA9M0Qgc2VsZi5wYXJhbWV0ZXJzWydpbmZvX3Jl
Y289CnJkcyddWydWZXJzaW9uIEluZm8nXVsnRXhlY3V0YWJsZSBUaW1lc3RhbXAnXQorICAgICAg
ICAgICAgc2VsZi5jdXJyZW50X3RpbWUgICAgICAgICAgICAgICA9M0Qgc2VsZi5wYXJhbWV0ZXJz
WydpbmZvX3JlY289CnJkcyddWydWZXJzaW9uIEluZm8nXVsnQ3VycmVudCBUaW1lJ10KKyAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgIG15bG9nLndhcm5pbmcoIk5vIGluZm9fcmVjb3JkcyBmb3Vu
ZCIpCisgICAgICAgICAgICBzZWxmLnVuaXF1ZV9pZGVudGlmaWVyID0zRCBzZWxmLmZpbGVuYW1l
Ll9faGFzaF9fKCkKKyAgICAgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgPTNEIDAuMAor
CiAgICAgICAgIHNlbGYuZGltZW5zaW9uYWxpdHkgICAgICAgICAgICAgPTNEIHNlbGYuZHMudmFy
aWFibGVzWydjb29yX25hbWVzJz0KXS5zaGFwZVswXQogICAgICAgICAjIHNlbGYuZG9tYWluX2xl
ZnRfZWRnZSAgICAgICAgICAgPTNEIG5wLmFycmF5KFtzZWxmLmRzLmNvb3JkaW5hdGU9CnNbOiww
XS5taW4oKSwKICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuZHMuY29vcmRpbmF0ZXNbPQo6LDBdLm1heCgpXSwKQEAgLTEzOCw2ICsxNDgs
NyBAQAogICAgICAgICBzZWxmLm9tZWdhX21hdHRlciAgICAgICAgICAgICAgID0zRCAwCiAgICAg
ICAgIHNlbGYuaHViYmxlX2NvbnN0YW50ICAgICAgICAgICAgPTNEIDAKPTIwCisKICAgICBAY2xh
c3NtZXRob2QKICAgICBkZWYgX2lzX3ZhbGlkKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAg
ICAgICMgVGhpcyBhY2NlcHRzIGEgZmlsZW5hbWUgb3IgYSBzZXQgb2YgYXJndW1lbnRzIGFuZCBy
ZXR1cm5zIFRydWUgb3IKCmRpZmYgLXIgMTE0MDRiYTdmODRkMjVkZGIxMWNhYzg5YWY4YmU4ZGQz
NzNkMmJlYiAtciBjMTQ4ZTJkNzY3NjdkMjViN2YyNThjZT0KZDY0ZDk5ODZmOWIxZjQ1YzkgeXQv
ZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lv
LnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTIwLDYgKzIwLDcgQEAK
ICAgICBCYXNlSU9IYW5kbGVyCiBmcm9tIHl0LnV0aWxpdGllcy5maWxlX2hhbmRsZXIgaW1wb3J0
IFwKICAgICBFeG9kdXNJSUZpbGVIYW5kbGVyCitmcm9tIHl0LnV0aWxpdGllcy5sb2dnZXIgaW1w
b3J0IHl0TG9nZ2VyIGFzIG15bG9nCj0yMAogY2xhc3MgSU9IYW5kbGVyRXhvZHVzSUkoQmFzZUlP
SGFuZGxlcik6CiAgICAgX3BhcnRpY2xlX3JlYWRlciA9M0QgRmFsc2UKCgpodHRwczovL2JpdGJ1
Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy8yYTkzMGY1MGYwZDcvCkNoYW5nZXNldDog
ICAyYTkzMGY1MGYwZDcKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0
ZTogICAgICAgIDIwMTUtMDctMjEgMTk6MDU6MzgrMDA6MDAKU3VtbWFyeTogICAgIFBhcmFtZXRl
ciBmaWxlbmFtZSBzaG91bGQgYmUganVzdCB0aGUgZmlsZW5hbWUgcGFzc2VkIGluLgpBZmZlY3Rl
ZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGMxNDhlMmQ3Njc2N2QyNWI3ZjI1OGNlZDY0ZDk5ODZmOWIx
ZjQ1YzkgLXIgMmE5MzBmNTBmMGQ3MjQxMjAwMWIwNDI9CmYzYjk4MDE5NWU5ZTU3NTFkIHl0L2Zy
b250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9l
eG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkv
ZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0xMDIsOCArMTAyLDcgQEAKPTIwCiAgICAgICAgIHNlbGYu
ZHMgPTNEIElPSGFuZGxlckV4b2R1c0lJKGZpbGVuYW1lKS5kcwogICAgICAgICBzZWxmLmZsdWlk
X3R5cGVzICs9M0QgKCdleG9kdXNfaWknLCkKLSAgICAgICAgc2VsZi5wYXJhbWV0ZXJfZmlsZW5h
bWUgPTNEIHN0b3JhZ2VfZmlsZW5hbWUKLSAgICAgICAgc2VsZi5maWxlbmFtZSA9M0QgZmlsZW5h
bWUKKyAgICAgICAgc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUgPTNEIGZpbGVuYW1lCiAgICAgICAg
IERhdGFzZXQuX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGRhdGFzZXRfdHlwZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bml0c19vdmVycmlkZT0zRHVuaXRzX292ZXJyaWRlKQogICAgICAg
ICBzZWxmLnN0b3JhZ2VfZmlsZW5hbWUgPTNEIHN0b3JhZ2VfZmlsZW5hbWUKCgpodHRwczovL2Jp
dGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy80MWU0ZDE3MGVhZGQvCkNoYW5nZXNl
dDogICA0MWU0ZDE3MGVhZGQKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IK
RGF0ZTogICAgICAgIDIwMTUtMDctMjEgMTk6MjA6NTMrMDA6MDAKU3VtbWFyeTogICAgIExvYWQg
Y29vcmRpbmF0ZXMuCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgMmE5MzBmNTBmMGQ3MjQx
MjAwMWIwNDJmM2I5ODAxOTVlOWU1NzUxZCAtciA0MWU0ZDE3MGVhZGRkZDQ1MjNjM2NhMz0KNGY2
ZjAyNjEyZWI1NzZlOTMgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkK
LS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQv
ZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTEzMCwxMCArMTMwLDEx
IEBACiAgICAgICAgICAgICBzZWxmLmN1cnJlbnRfdGltZSAgICAgICAgICAgICAgID0zRCBzZWxm
LnBhcmFtZXRlcnNbJ2luZm9fcmVjbz0KcmRzJ11bJ1ZlcnNpb24gSW5mbyddWydDdXJyZW50IFRp
bWUnXQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbXlsb2cud2FybmluZygiTm8gaW5mb19y
ZWNvcmRzIGZvdW5kIikKLSAgICAgICAgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIgPTNEIHNl
bGYuZmlsZW5hbWUuX19oYXNoX18oKQorICAgICAgICAgICAgc2VsZi51bmlxdWVfaWRlbnRpZmll
ciA9M0Qgc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUuX19oYXNoX18oKQogICAgICAgICAgICAgc2Vs
Zi5jdXJyZW50X3RpbWUgICAgICA9M0QgMC4wCj0yMAogICAgICAgICBzZWxmLmRpbWVuc2lvbmFs
aXR5ICAgICAgICAgICAgID0zRCBzZWxmLmRzLnZhcmlhYmxlc1snY29vcl9uYW1lcyc9Cl0uc2hh
cGVbMF0KKyAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydjb29yZGluYXRlcyddICA9M0Qgc2VsZi5f
bG9hZF9jb29yZGluYXRlcygpCiAgICAgICAgICMgc2VsZi5kb21haW5fbGVmdF9lZGdlICAgICAg
ICAgICA9M0QgbnAuYXJyYXkoW3NlbGYuZHMuY29vcmRpbmF0ZT0Kc1s6LDBdLm1pbigpLAogICAg
ICAgICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5k
cy5jb29yZGluYXRlc1s9CjosMF0ubWF4KCldLAogICAgICAgICAjICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnZmxvYXQ2NCcpCkBAIC0xNDcsNiArMTQ4LDE0IEBA
CiAgICAgICAgIHNlbGYub21lZ2FfbWF0dGVyICAgICAgICAgICAgICAgPTNEIDAKICAgICAgICAg
c2VsZi5odWJibGVfY29uc3RhbnQgICAgICAgICAgICA9M0QgMAo9MjAKKyAgICBkZWYgX2xvYWRf
Y29vcmRpbmF0ZXMoc2VsZik6CisgICAgICAgIGlmIHNlbGYuZGltZW5zaW9uYWxpdHkgPTNEPTNE
IDM6CisgICAgICAgICAgICBjb29yZF9heGVzID0zRCAneHl6JworICAgICAgICBlbGlmIHNlbGYu
ZGltZW5zaW9uYWxpdHkgPTNEPTNEIDI6CisgICAgICAgICAgICBjb29yZF9heGVzID0zRCAneHkn
CisKKyAgICAgICAgcmV0dXJuIG5wLmFycmF5KFtzZWxmLmRzLnZhcmlhYmxlc1siY29vcmQlcyIg
JSBheF1bOl0KKyAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXggaW4gY29vcmRfYXhlc10p
LnRyYW5zcG9zZSgpLmNvcHkoKQo9MjAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2lzX3Zh
bGlkKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2Fu
YWx5c2lzL3l0L2NvbW1pdHMvYWQ1NWY1YjdkNjk4LwpDaGFuZ2VzZXQ6ICAgYWQ1NWY1YjdkNjk4
CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1
LTA3LTIxIDE5OjU2OjM1KzAwOjAwClN1bW1hcnk6ICAgICBMb2FkIGNvbm5lY3Rpdml0eSBkYXRh
LgpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDQxZTRkMTcwZWFkZGRkNDUyM2MzY2EzNGY2
ZjAyNjEyZWI1NzZlOTMgLXIgYWQ1NWY1YjdkNjk4YzMyODhiMTM2Zjg9CjI3YTc3YzVmOGRmNTc1
Njc2IHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zy
b250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9l
eG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0xNyw2ICsxNyw3IEBACiBpbXBvcnQgc3Rh
dAogaW1wb3J0IG9zCiBpbXBvcnQgdGltZQoraW1wb3J0IG5ldENERjQKPTIwCiBmcm9tIHl0LmRh
dGFfb2JqZWN0cy5ncmlkX3BhdGNoIGltcG9ydCBcCiAgICAgQU1SR3JpZFBhdGNoCkBAIC0yOCw3
ICsyOSw4IEBACiAgICAgSU9IYW5kbGVyRXhvZHVzSUksIG15bG9nCiBmcm9tIC5maWVsZHMgaW1w
b3J0IFwKICAgICBFeG9kdXNJSUZpZWxkSW5mbwotZnJvbSAudXRpbCBpbXBvcnQgbG9hZF9pbmZv
X3JlY29yZHMKK2Zyb20gLnV0aWwgaW1wb3J0IFwKKyAgICBsb2FkX2luZm9fcmVjb3Jkcywgc2Fu
aXRpemVfc3RyaW5nCj0yMAogY2xhc3MgRXhvZHVzSUlHcmlkKEFNUkdyaWRQYXRjaCk6CiAgICAg
X2lkX29mZnNldCA9M0QgMApAQCAtMTM0LDcgKzEzNiwxMSBAQAogICAgICAgICAgICAgc2VsZi5j
dXJyZW50X3RpbWUgICAgICA9M0QgMC4wCj0yMAogICAgICAgICBzZWxmLmRpbWVuc2lvbmFsaXR5
ICAgICAgICAgICAgID0zRCBzZWxmLmRzLnZhcmlhYmxlc1snY29vcl9uYW1lcyc9Cl0uc2hhcGVb
MF0KKyAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydudW1fZWxlbSddICAgICA9M0Qgc2VsZi5kc1sn
ZWJfc3RhdHVzJ10uc2hhcGVbMF0KKyAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWyd2YXJfbmFtZXMn
XSAgICA9M0Qgc2VsZi5fZ2V0X3Zhcl9uYW1lcygpCisgICAgICAgIHNlbGYucGFyYW1ldGVyc1sn
bm9kX25hbWVzJ10gICA9M0Qgc2VsZi5fZ2V0X25vZF9uYW1lcygpCiAgICAgICAgIHNlbGYucGFy
YW1ldGVyc1snY29vcmRpbmF0ZXMnXSAgPTNEIHNlbGYuX2xvYWRfY29vcmRpbmF0ZXMoKQorICAg
ICAgICBzZWxmLnBhcmFtZXRlcnNbJ2Nvbm5lY3Rpdml0eSddID0zRCBzZWxmLl9sb2FkX2Nvbm5l
Y3Rpdml0eSgpCiAgICAgICAgICMgc2VsZi5kb21haW5fbGVmdF9lZGdlICAgICAgICAgICA9M0Qg
bnAuYXJyYXkoW3NlbGYuZHMuY29vcmRpbmF0ZT0Kc1s6LDBdLm1pbigpLAogICAgICAgICAjICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kcy5jb29yZGlu
YXRlc1s9CjosMF0ubWF4KCldLAogICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnZmxvYXQ2NCcpCkBAIC0xNDgsMTQgKzE1NCwzMyBAQAogICAgICAg
ICBzZWxmLm9tZWdhX21hdHRlciAgICAgICAgICAgICAgID0zRCAwCiAgICAgICAgIHNlbGYuaHVi
YmxlX2NvbnN0YW50ICAgICAgICAgICAgPTNEIDAKPTIwCisgICAgZGVmIF9nZXRfdmFyX25hbWVz
KHNlbGYpOgorICAgICAgICByZXR1cm4gW3Nhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZv
ciB2IGluCisgICAgICAgICAgICAgICAgc2VsZi5kcy52YXJpYWJsZXNbIm5hbWVfZWxlbV92YXIi
XV0KKworICAgIGRlZiBfZ2V0X25vZF9uYW1lcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIFtzYW5p
dGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBmb3IgdiBpbgorICAgICAgICAgICAgICAgIHNlbGYu
ZHMudmFyaWFibGVzWyJuYW1lX25vZF92YXIiXV0KKwogICAgIGRlZiBfbG9hZF9jb29yZGluYXRl
cyhzZWxmKToKICAgICAgICAgaWYgc2VsZi5kaW1lbnNpb25hbGl0eSA9M0Q9M0QgMzoKICAgICAg
ICAgICAgIGNvb3JkX2F4ZXMgPTNEICd4eXonCiAgICAgICAgIGVsaWYgc2VsZi5kaW1lbnNpb25h
bGl0eSA9M0Q9M0QgMjoKICAgICAgICAgICAgIGNvb3JkX2F4ZXMgPTNEICd4eScKPTIwCisgICAg
ICAgIG15bG9nLmluZm8oIkxvYWRpbmcgY29vcmRpbmF0ZXMgZm9yIGF4ZXMgJXMiICUgY29vcmRf
YXhlcykKKwogICAgICAgICByZXR1cm4gbnAuYXJyYXkoW3NlbGYuZHMudmFyaWFibGVzWyJjb29y
ZCVzIiAlIGF4XVs6XQogICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBheCBpbiBjb29yZF9h
eGVzXSkudHJhbnNwb3NlKCkuY29weSgpCisgICA9MjAKKyAgICBkZWYgX2xvYWRfY29ubmVjdGl2
aXR5KHNlbGYpOgorICAgICAgICBteWxvZy5pbmZvKCJMb2FkaW5nIGNvbm5lY3Rpdml0eSIpCisg
ICAgICAgIGNvbm5lY3Rpdml0eSA9M0QgW10KKworICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxm
LnBhcmFtZXRlcnNbJ251bV9lbGVtJ10pOgorICAgICAgICAgICAgY29ubmVjdGl2aXR5LmFwcGVu
ZChzZWxmLmRzLnZhcmlhYmxlc1siY29ubmVjdCVkIiAlIChpKzEpXVs6XS49CmFzdHlwZSgiaTgi
KSkKKworICAgICAgICByZXR1cm4gY29ubmVjdGl2aXR5Cj0yMAogICAgIEBjbGFzc21ldGhvZAog
ICAgIGRlZiBfaXNfdmFsaWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKCgpodHRwczovL2JpdGJ1
Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy82NDMyMzc1ZGZlMTYvCkNoYW5nZXNldDog
ICA2NDMyMzc1ZGZlMTYKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0
ZTogICAgICAgIDIwMTUtMDctMjEgMjA6MDA6NDQrMDA6MDAKU3VtbWFyeTogICAgIExvYWQgZG9t
YWluX2xlZnQvcmlnaHRfZWRnZQpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGFkNTVmNWI3
ZDY5OGMzMjg4YjEzNmY4MjdhNzdjNWY4ZGY1NzU2NzYgLXIgNjQzMjM3NWRmZTE2ZmZjMmRlNjk4
MTk9CjZlNDZhZTQxMzY0NWI3MDJkIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1
cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Cisr
KyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0xNDEsMTIg
KzE0MSw4IEBACiAgICAgICAgIHNlbGYucGFyYW1ldGVyc1snbm9kX25hbWVzJ10gICA9M0Qgc2Vs
Zi5fZ2V0X25vZF9uYW1lcygpCiAgICAgICAgIHNlbGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMn
XSAgPTNEIHNlbGYuX2xvYWRfY29vcmRpbmF0ZXMoKQogICAgICAgICBzZWxmLnBhcmFtZXRlcnNb
J2Nvbm5lY3Rpdml0eSddID0zRCBzZWxmLl9sb2FkX2Nvbm5lY3Rpdml0eSgpCi0gICAgICAgICMg
c2VsZi5kb21haW5fbGVmdF9lZGdlICAgICAgICAgICA9M0QgbnAuYXJyYXkoW3NlbGYuZHMuY29v
cmRpbmF0ZT0Kc1s6LDBdLm1pbigpLAotICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5kcy5jb29yZGluYXRlc1s9CjosMF0ubWF4KCldLAot
ICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmxv
YXQ2NCcpCi0gICAgICAgICMgc2VsZi5kb21haW5fcmlnaHRfZWRnZSAgICAgICAgICAgPTNEIG5w
LmFycmF5KFtzZWxmLmRzLmNvb3JkaW5hdD0KZXNbOiwxXS5taW4oKSwKLSAgICAgICAgIyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRzLmNvb3JkaW5h
dGVzPQpbOiwxXS5tYXgoKV0sCi0gICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnZmxvYXQ2NCcpCisgICAgICAgIHNlbGYuZG9tYWluX2xlZnRfZWRn
ZSAgICAgICAgICAgPTNEIHNlbGYuX2xvYWRfbGVmdF9lZGdlKCkKKyAgICAgICAgc2VsZi5kb21h
aW5fcmlnaHRfZWRnZSAgICAgICAgICAgPTNEIHNlbGYuX2xvYWRfcmlnaHRfZWRnZSgpCiAgICAg
ICAgIHNlbGYucGVyaW9kaWNpdHkgICAgICAgICAgICAgICAgPTNEIChGYWxzZSwgRmFsc2UsIEZh
bHNlKQogICAgICAgICBzZWxmLmNvc21vbG9naWNhbF9zaW11bGF0aW9uICAgID0zRCAwCiAgICAg
ICAgIHNlbGYuY3VycmVudF9yZWRzaGlmdCAgICAgICAgICAgPTNEIDAKQEAgLTE4Miw2ICsxNzgs
MTYgQEAKPTIwCiAgICAgICAgIHJldHVybiBjb25uZWN0aXZpdHkKPTIwCisgICAgZGVmIF9sb2Fk
X2xlZnRfZWRnZShzZWxmKToKKyAgICAgICAgcmV0dXJuIG5wLmFycmF5KFtzZWxmLnBhcmFtZXRl
cnNbJ2Nvb3JkaW5hdGVzJ11bOiwwXS5taW4oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJ11bOiwwXS5tYXgoKV0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAnZmxvYXQ2NCcpCisKKyAgICBkZWYgX2xvYWRfcmlnaHRfZWRnZShzZWxmKToK
KyAgICAgICAgcmV0dXJuIG5wLmFycmF5KFtzZWxmLnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJ11b
OiwxXS5taW4oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2Nv
b3JkaW5hdGVzJ11bOiwxXS5tYXgoKV0sCisgICAgICAgICAgICAgICAgICAgICAgICAnZmxvYXQ2
NCcpCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2lzX3ZhbGlkKHNlbGYsICphcmdzLCAq
Kmt3YXJncyk6CiAgICAgICAgICMgVGhpcyBhY2NlcHRzIGEgZmlsZW5hbWUgb3IgYSBzZXQgb2Yg
YXJndW1lbnRzIGFuZCByZXR1cm5zIFRydWUgb3IKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRf
YW5hbHlzaXMveXQvY29tbWl0cy80OWFmOTYwNjIxYzEvCkNoYW5nZXNldDogICA0OWFmOTYwNjIx
YzEKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIw
MTUtMDctMjEgMjA6MDI6NTErMDA6MDAKU3VtbWFyeTogICAgIERSWSBpdCB1cC4KQWZmZWN0ZWQg
IzogIDEgZmlsZQoKZGlmZiAtciA2NDMyMzc1ZGZlMTZmZmMyZGU2OTgxOTZlNDZhZTQxMzY0NWI3
MDJkIC1yIDQ5YWY5NjA2MjFjMTkwNjE0OTRmMGUzPQoyODJmZWU2NjU5ZGY1OGI2NSB5dC9mcm9u
dGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvZXhv
ZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2Rh
dGFfc3RydWN0dXJlcy5weQpAQCAtMTQxLDggKzE0MSw4IEBACiAgICAgICAgIHNlbGYucGFyYW1l
dGVyc1snbm9kX25hbWVzJ10gICA9M0Qgc2VsZi5fZ2V0X25vZF9uYW1lcygpCiAgICAgICAgIHNl
bGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXSAgPTNEIHNlbGYuX2xvYWRfY29vcmRpbmF0ZXMo
KQogICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2Nvbm5lY3Rpdml0eSddID0zRCBzZWxmLl9sb2Fk
X2Nvbm5lY3Rpdml0eSgpCi0gICAgICAgIHNlbGYuZG9tYWluX2xlZnRfZWRnZSAgICAgICAgICAg
PTNEIHNlbGYuX2xvYWRfbGVmdF9lZGdlKCkKLSAgICAgICAgc2VsZi5kb21haW5fcmlnaHRfZWRn
ZSAgICAgICAgICAgPTNEIHNlbGYuX2xvYWRfcmlnaHRfZWRnZSgpCisgICAgICAgIHNlbGYuZG9t
YWluX2xlZnRfZWRnZSAgICAgICAgICAgPTNEIHNlbGYuX2xvYWRfZG9tYWluX2VkZ2UoMCkKKyAg
ICAgICAgc2VsZi5kb21haW5fcmlnaHRfZWRnZSAgICAgICAgICAgPTNEIHNlbGYuX2xvYWRfZG9t
YWluX2VkZ2UoMSkKICAgICAgICAgc2VsZi5wZXJpb2RpY2l0eSAgICAgICAgICAgICAgICA9M0Qg
KEZhbHNlLCBGYWxzZSwgRmFsc2UpCiAgICAgICAgIHNlbGYuY29zbW9sb2dpY2FsX3NpbXVsYXRp
b24gICAgPTNEIDAKICAgICAgICAgc2VsZi5jdXJyZW50X3JlZHNoaWZ0ICAgICAgICAgICA9M0Qg
MApAQCAtMTc4LDE0ICsxNzgsOSBAQAo9MjAKICAgICAgICAgcmV0dXJuIGNvbm5lY3Rpdml0eQo9
MjAKLSAgICBkZWYgX2xvYWRfbGVmdF9lZGdlKHNlbGYpOgotICAgICAgICByZXR1cm4gbnAuYXJy
YXkoW3NlbGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXVs6LDBdLm1pbigpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXVs6LDBdLm1heCgp
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICdmbG9hdDY0JykKLQotICAgIGRlZiBfbG9hZF9y
aWdodF9lZGdlKHNlbGYpOgotICAgICAgICByZXR1cm4gbnAuYXJyYXkoW3NlbGYucGFyYW1ldGVy
c1snY29vcmRpbmF0ZXMnXVs6LDFdLm1pbigpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXVs6LDFdLm1heCgpXSwKKyAgICBkZWYgX2xvYWRf
ZG9tYWluX2VkZ2Uoc2VsZiwgZG9tYWluX2lkeCk6CisgICAgICAgIHJldHVybiBucC5hcnJheShb
c2VsZi5wYXJhbWV0ZXJzWydjb29yZGluYXRlcyddWzosZG9tYWluX2lkeF0ubWluKD0KKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJ11bOixk
b21haW5faWR4XS5tYXgoPQopXSwKICAgICAgICAgICAgICAgICAgICAgICAgICdmbG9hdDY0JykK
PTIwCiAgICAgQGNsYXNzbWV0aG9kCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L2NvbW1pdHMvNDU3NDk1ZGI1MWExLwpDaGFuZ2VzZXQ6ICAgNDU3NDk1ZGI1MWExCkJyYW5j
aDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA3LTIx
IDIwOjA1OjA5KzAwOjAwClN1bW1hcnk6ICAgICBBbGlnbgpBZmZlY3RlZCAjOiAgMSBmaWxlCgpk
aWZmIC1yIDQ5YWY5NjA2MjFjMTkwNjE0OTRmMGUzMjgyZmVlNjY1OWRmNThiNjUgLXIgNDU3NDk1
ZGI1MWExNDNiODE1MTEyYjI9CjllYzQ1ZDgwMjA1OTg2MWVkIHl0L2Zyb250ZW5kcy9leG9kdXNf
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9z
dHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVz
LnB5CkBAIC0xMzgsMTEgKzEzOCwxMSBAQAogICAgICAgICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAg
ICAgICAgICAgID0zRCBzZWxmLmRzLnZhcmlhYmxlc1snY29vcl9uYW1lcyc9Cl0uc2hhcGVbMF0K
ICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydudW1fZWxlbSddICAgICA9M0Qgc2VsZi5kc1snZWJf
c3RhdHVzJ10uc2hhcGVbMF0KICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWyd2YXJfbmFtZXMnXSAg
ICA9M0Qgc2VsZi5fZ2V0X3Zhcl9uYW1lcygpCi0gICAgICAgIHNlbGYucGFyYW1ldGVyc1snbm9k
X25hbWVzJ10gICA9M0Qgc2VsZi5fZ2V0X25vZF9uYW1lcygpCisgICAgICAgIHNlbGYucGFyYW1l
dGVyc1snbm9kX25hbWVzJ10gICAgPTNEIHNlbGYuX2dldF9ub2RfbmFtZXMoKQogICAgICAgICBz
ZWxmLnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJ10gID0zRCBzZWxmLl9sb2FkX2Nvb3JkaW5hdGVz
KCkKICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydjb25uZWN0aXZpdHknXSA9M0Qgc2VsZi5fbG9h
ZF9jb25uZWN0aXZpdHkoKQogICAgICAgICBzZWxmLmRvbWFpbl9sZWZ0X2VkZ2UgICAgICAgICAg
ID0zRCBzZWxmLl9sb2FkX2RvbWFpbl9lZGdlKDApCi0gICAgICAgIHNlbGYuZG9tYWluX3JpZ2h0
X2VkZ2UgICAgICAgICAgID0zRCBzZWxmLl9sb2FkX2RvbWFpbl9lZGdlKDEpCisgICAgICAgIHNl
bGYuZG9tYWluX3JpZ2h0X2VkZ2UgICAgICAgICAgPTNEIHNlbGYuX2xvYWRfZG9tYWluX2VkZ2Uo
MSkKICAgICAgICAgc2VsZi5wZXJpb2RpY2l0eSAgICAgICAgICAgICAgICA9M0QgKEZhbHNlLCBG
YWxzZSwgRmFsc2UpCiAgICAgICAgIHNlbGYuY29zbW9sb2dpY2FsX3NpbXVsYXRpb24gICAgPTNE
IDAKICAgICAgICAgc2VsZi5jdXJyZW50X3JlZHNoaWZ0ICAgICAgICAgICA9M0QgMAoKCmh0dHBz
Oi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzcyZDUwNjMxODM3Mi8KQ2hh
bmdlc2V0OiAgIDcyZDUwNjMxODM3MgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJv
aGNrcgpEYXRlOiAgICAgICAgMjAxNS0wNy0yMSAyMDoxMzowNyswMDowMApTdW1tYXJ5OiAgICAg
RG9uJ3QgaW1wb3J0IG5ldENERjQgYWdhaW4uCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1y
IDQ1NzQ5NWRiNTFhMTQzYjgxNTExMmIyOWVjNDVkODAyMDU5ODYxZWQgLXIgNzJkNTA2MzE4Mzcy
N2RhZTU0MjdiZjM9CmE5NDcyYTNmMjcxZDA3Yzg1IHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0
YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1
cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBA
IC0xNyw3ICsxNyw2IEBACiBpbXBvcnQgc3RhdAogaW1wb3J0IG9zCiBpbXBvcnQgdGltZQotaW1w
b3J0IG5ldENERjQKPTIwCiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5ncmlkX3BhdGNoIGltcG9ydCBc
CiAgICAgQU1SR3JpZFBhdGNoCgpkaWZmIC1yIDQ1NzQ5NWRiNTFhMTQzYjgxNTExMmIyOWVjNDVk
ODAyMDU5ODYxZWQgLXIgNzJkNTA2MzE4MzcyN2RhZTU0MjdiZjM9CmE5NDcyYTNmMjcxZDA3Yzg1
IHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvdXRpbC5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVz
X2lpL3V0aWwucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS91dGlsLnB5CkBAIC0xLDYz
ICsxLDggQEAKIGltcG9ydCBzdHJpbmcKIGZyb20gaXRlcnRvb2xzIGltcG9ydCB0YWtld2hpbGUK
IGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0Ci1mcm9tIG5ldENERjQgaW1wb3J0
IERhdGFzZXQKLWltcG9ydCBudW1weSBhcyBucAogaW1wb3J0IHJlCj0yMAotY2xhc3MgRXhvZHVz
SUlEYXRhOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSk6Ci0gICAgICAgIHNlbGYu
ZmlsZW5hbWUgPTNEIGZpbGVuYW1lCi0gICAgICAgIHNlbGYuZGF0YXNldCA9M0QgT3JkZXJlZERp
Y3QoKQotICAgICAgICBzZWxmLmNvb3JkaW5hdGVzID0zRCBucC5hcnJheShbXSkKLSAgICAgICAg
c2VsZi5jb25uZWN0aXZpdHkgPTNEIFtdCi0gICAgICAgIHNlbGYuaW5mb19yZWNvcmRzID0zRCB7
fQotICAgICAgICBzZWxmLmRhdGEgPTNEIFtdCi0KLSAgICBkZWYgcmVhZChzZWxmKToKLSAgICAg
ICAgcHJpbnQgIlJlYWRpbmcgbmV0Q0RGNCBEYXRhc2V0IgotICAgICAgICBzZWxmLmRhdGFzZXQg
PTNEIERhdGFzZXQoc2VsZi5maWxlbmFtZSkudmFyaWFibGVzCi0KLSAgICAgICAgcHJpbnQgIkxv
YWRpbmcgY29vcmRpbmF0ZXMiCi0gICAgICAgIHNlbGYuY29vcmRpbmF0ZXMgPTNEIG5wLmFycmF5
KFtzZWxmLmRhdGFzZXRbImNvb3JkJXMiICUgYXhdWzpdCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZm9yIGF4IGluICd4eXonXSkudHJhbnNwb3NlKCkuY29weSgpCi0KLSAg
ICAgICAgcHJpbnQgIkxvYWRpbmcgY29ubmVjdGl2aXR5IgotICAgICAgICBmb3IgaSBpbiByYW5n
ZShzZWxmLmdldF9udW1fZWxlbSgpKToKLSAgICAgICAgICAgIHNlbGYuYWRkX2Nvbm5lY3QoImNv
bm5lY3QlcyIgJSAoaSsxKSkKLSAgICAgICAgICAgIGNpID0zRCBzZWxmLmNvbm5lY3Rpdml0eVst
MV0KLSAgICAgICAgICAgIHZhbHMgPTNEIHt9Ci0KLSAgICAgICAgICAgIGZvciBqLCB2YXJfbmFt
ZSBpbiBlbnVtZXJhdGUoc2VsZi5nZXRfdmFyX25hbWVzKCkpOgotICAgICAgICAgICAgICAgIHZh
bHNbJ2dhcycsIHZhcl9uYW1lXSA9M0Qgc2VsZi5kYXRhc2V0WyJ2YWxzX2VsZW1fdmFyJXNlYiU9
CnMiICUgKGorMSwgaSsxKV1bOl0uYXN0eXBlKCJmOCIpWy0xLDpdCi0KLSAgICAgICAgICAgIGZv
ciBqLCBub2RfbmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5nZXRfbm9kX25hbWVzKCkpOgotICAgICAg
ICAgICAgICAgICMgV2Ugd2FudCBqdXN0IGZvciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhlIG5v
ZGUgdmFyaWFibGVzCi0gICAgICAgICAgICAgICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRoZXNl
IHZhbHVlcwotICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIG5vZF9uYW1lXSA9M0Qgc2VsZi5k
YXRhc2V0WyJ2YWxzX25vZF92YXIlcyIgJSA9CihqKzEpXVs6XS5hc3R5cGUoImY4IilbLTEsIGNp
IC0gMSwgLi4uXQotCi0gICAgICAgICAgICBzZWxmLmRhdGEuYXBwZW5kKHZhbHMpCi0KLSAgICAg
ICAgaWYgJ2luZm9fcmVjb3JkcycgaW4gc2VsZi5kYXRhc2V0LmtleXMoKToKLSAgICAgICAgICAg
IHByaW50ICJMb2FkaW5nIGluZm8gcmVjb3JkcyIKLSAgICAgICAgICAgIHNlbGYuaW5mb19yZWNv
cmRzID0zRCBsb2FkX2luZm9fcmVjb3JkcyhzZWxmLmRhdGFzZXRbJ2luZm9fcmVjPQpvcmRzJ10p
Ci0KLSAgICBkZWYgZ2V0X251bV9lbGVtKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5kYXRh
c2V0WyJlYl9zdGF0dXMiXVs6XS5zaGFwZVswXQotCi0gICAgZGVmIGFkZF9jb25uZWN0KHNlbGYs
IGNvbm5lY3Rfa2V5KToKLSAgICAgICAgc2VsZi5jb25uZWN0aXZpdHkuYXBwZW5kKHNlbGYuZGF0
YXNldFtjb25uZWN0X2tleV1bOl0uYXN0eXBlKCJpOCIpKQotCi0gICAgZGVmIGdldF92YXJfbmFt
ZXMoc2VsZik6Ci0gICAgICAgIHJldHVybiBbc2FuaXRpemVfc3RyaW5nKHYudG9zdHJpbmcoKSkg
Zm9yIHYgaW4KLSAgICAgICAgICAgICAgICBzZWxmLmRhdGFzZXRbIm5hbWVfZWxlbV92YXIiXVs6
XV0KLQotICAgIGRlZiBnZXRfbm9kX25hbWVzKHNlbGYpOgotICAgICAgICByZXR1cm4gW3Nhbml0
aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCi0gICAgICAgICAgICAgICAgc2VsZi5k
YXRhc2V0WyJuYW1lX25vZF92YXIiXVs6XV0KLQotCi0KIGRlZiBzYW5pdGl6ZV9zdHJpbmcocyk6
CiAgICAgcmV0dXJuICIiLmpvaW4oXyBmb3IgXyBpbiB0YWtld2hpbGUobGFtYmRhIGE6IGEgaW4g
c3RyaW5nLnByaW50YWJsZSwgcz0KKSkKPTIwCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2Fu
YWx5c2lzL3l0L2NvbW1pdHMvMGNiZmYyZjlkMGUyLwpDaGFuZ2VzZXQ6ICAgMGNiZmYyZjlkMGUy
CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1
LTA3LTIxIDIwOjI1OjMxKzAwOjAwClN1bW1hcnk6ICAgICBQdXQgaW1wb3J0cyBpbiByaWdodCBw
bGFjZXMuCkFmZmVjdGVkICM6ICAzIGZpbGVzCgpkaWZmIC1yIDcyZDUwNjMxODM3MjdkYWU1NDI3
YmYzYTk0NzJhM2YyNzFkMDdjODUgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE9CjhmMDZiNjVl
MzBiZDA2ZDg1IHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBh
L3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250
ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0yNCw2ICsyNCw4IEBACiAgICAg
R3JpZEluZGV4CiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5zdGF0aWNfb3V0cHV0IGltcG9ydCBcCiAg
ICAgRGF0YXNldAorZnJvbSB5dC51dGlsaXRpZXMuaW9faGFuZGxlciBpbXBvcnQgXAorICAgIGlv
X3JlZ2lzdHJ5CiBmcm9tIC5pbyBpbXBvcnQgXAogICAgIElPSGFuZGxlckV4b2R1c0lJLCBteWxv
ZwogZnJvbSAuZmllbGRzIGltcG9ydCBcCkBAIC0xNjIsMTkgKzE2NCwxNSBAQAogICAgICAgICAg
ICAgY29vcmRfYXhlcyA9M0QgJ3h5eicKICAgICAgICAgZWxpZiBzZWxmLmRpbWVuc2lvbmFsaXR5
ID0zRD0zRCAyOgogICAgICAgICAgICAgY29vcmRfYXhlcyA9M0QgJ3h5JwotCiAgICAgICAgIG15
bG9nLmluZm8oIkxvYWRpbmcgY29vcmRpbmF0ZXMgZm9yIGF4ZXMgJXMiICUgY29vcmRfYXhlcykK
LQogICAgICAgICByZXR1cm4gbnAuYXJyYXkoW3NlbGYuZHMudmFyaWFibGVzWyJjb29yZCVzIiAl
IGF4XVs6XQogICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBheCBpbiBjb29yZF9heGVzXSku
dHJhbnNwb3NlKCkuY29weSgpCiAgICA9MjAKICAgICBkZWYgX2xvYWRfY29ubmVjdGl2aXR5KHNl
bGYpOgogICAgICAgICBteWxvZy5pbmZvKCJMb2FkaW5nIGNvbm5lY3Rpdml0eSIpCiAgICAgICAg
IGNvbm5lY3Rpdml0eSA9M0QgW10KLQogICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnBhcmFt
ZXRlcnNbJ251bV9lbGVtJ10pOgogICAgICAgICAgICAgY29ubmVjdGl2aXR5LmFwcGVuZChzZWxm
LmRzLnZhcmlhYmxlc1siY29ubmVjdCVkIiAlIChpKzEpXVs6XS49CmFzdHlwZSgiaTgiKSkKLQog
ICAgICAgICByZXR1cm4gY29ubmVjdGl2aXR5Cj0yMAogICAgIGRlZiBfbG9hZF9kb21haW5fZWRn
ZShzZWxmLCBkb21haW5faWR4KToKCmRpZmYgLXIgNzJkNTA2MzE4MzcyN2RhZTU0MjdiZjNhOTQ3
MmEzZjI3MWQwN2M4NSAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMT0KOGYwNmI2NWUzMGJkMDZk
ODUgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVz
X2lpL2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTE1LDggKzE1
LDYgQEAKIGltcG9ydCBudW1weSBhcyBucAo9MjAKIGZyb20geXQudXRpbGl0aWVzLmlvX2hhbmRs
ZXIgaW1wb3J0IFwKLSAgICBpb19yZWdpc3RyeQotZnJvbSB5dC51dGlsaXRpZXMuaW9faGFuZGxl
ciBpbXBvcnQgXAogICAgIEJhc2VJT0hhbmRsZXIKIGZyb20geXQudXRpbGl0aWVzLmZpbGVfaGFu
ZGxlciBpbXBvcnQgXAogICAgIEV4b2R1c0lJRmlsZUhhbmRsZXIKCmRpZmYgLXIgNzJkNTA2MzE4
MzcyN2RhZTU0MjdiZjNhOTQ3MmEzZjI3MWQwN2M4NSAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAy
MT0KOGYwNmI2NWUzMGJkMDZkODUgeXQvZnJvbnRlbmRzL2V4b2R1c19paS91dGlsLnB5Ci0tLSBh
L3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvdXRpbC5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVz
X2lpL3V0aWwucHkKQEAgLTMwLDE0ICszMCwxMiBAQAogICAgICAgICAgICAgZ3JvdXBlZFt0b3Bf
bGV2ZWxbMV1dLmFwcGVuZChpbmZvX3JlY29yZHNbaWR4XSkKPTIwCiAgICAgdmVyc2lvbl9pbmZv
ID0zRCBPcmRlcmVkRGljdCgpCi0KICAgICBmb3IgbGluZSBpbiBncm91cGVkWydWZXJzaW9uIElu
Zm8nXToKICAgICAgICAgc3BsaXRfbGluZSA9M0QgbGluZS5zcGxpdCgiOiIpCiAgICAgICAgIGtl
eSA9M0Qgc3BsaXRfbGluZVswXQogICAgICAgICB2YWwgPTNEICI6Ii5qb2luKHNwbGl0X2xpbmVb
MTpdKS5sc3RyaXAoKS5yc3RyaXAoKQogICAgICAgICBpZiBrZXkgIT0zRCAnJzoKICAgICAgICAg
ICAgIHZlcnNpb25faW5mb1trZXldID0zRCB2YWwKLQogICAgIGdyb3VwZWRbJ1ZlcnNpb24gSW5m
byddID0zRCB2ZXJzaW9uX2luZm8KICAgID0yMAogICAgIHJldHVybiBncm91cGVkCgoKaHR0cHM6
Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNjQ0ZGFkNGRlNzE2LwpDaGFu
Z2VzZXQ6ICAgNjQ0ZGFkNGRlNzE2CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9o
Y2tyCkRhdGU6ICAgICAgICAyMDE1LTA3LTI3IDE5OjQwOjIwKzAwOjAwClN1bW1hcnk6ICAgICBV
cGRhdGUgdXBzdHJlYW0KQWZmZWN0ZWQgIzogIDMzIGZpbGVzCgpkaWZmIC1yIDBjYmZmMmY5ZDBl
MmNiYzFiY2Q5MDIxOGYwNmI2NWUzMGJkMDZkODUgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWE9
CmMwYWM1NTI2ZDVlNWFkYmI5IGRvYy9zb3VyY2UvY29uZi5weQotLS0gYS9kb2Mvc291cmNlL2Nv
bmYucHkKKysrIGIvZG9jL3NvdXJjZS9jb25mLnB5CkBAIC02Nyw5ICs2Nyw5IEBACiAjIGJ1aWx0
IGRvY3VtZW50cy4KICMKICMgVGhlIHNob3J0IFguWSB2ZXJzaW9uLgotdmVyc2lvbiA9M0QgJzMu
MicKK3ZlcnNpb24gPTNEICczLjMnCiAjIFRoZSBmdWxsIHZlcnNpb24sIGluY2x1ZGluZyBhbHBo
YS9iZXRhL3JjIHRhZ3MuCi1yZWxlYXNlID0zRCAnMy4yLWRldicKK3JlbGVhc2UgPTNEICczLjMt
ZGV2Jwo9MjAKICMgVGhlIGxhbmd1YWdlIGZvciBjb250ZW50IGF1dG9nZW5lcmF0ZWQgYnkgU3Bo
aW54LiBSZWZlciB0byBkb2N1bWVudGF0aW9uCiAjIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGxh
bmd1YWdlcy4KCmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4ZjA2YjY1ZTMwYmQwNmQ4
NSAtciA2NDRkYWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1YWRiYjkgZG9jL3NvdXJj
ZS9jb29rYm9vay9lbWJlZGRlZF9qYXZhc2NyaXB0X2FuaW1hdGlvbi5pcHluYgotLS0gYS9kb2Mv
c291cmNlL2Nvb2tib29rL2VtYmVkZGVkX2phdmFzY3JpcHRfYW5pbWF0aW9uLmlweW5iCisrKyAv
ZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotewotICJtZXRhZGF0YSI6IHsKLSAgIm5hbWUiOiAi
IiwKLSAgInNpZ25hdHVyZSI6ICJzaGEyNTY6YmVkNzlmMDIyNzc0MjcxNWE4NzUzYTk4ZjJhZDU0
MTc1NzY3YTdjOWRlZDE5YjE0OTc2PQplZTZjOGZmMjU1ZjA0IgotIH0sCi0gIm5iZm9ybWF0Ijog
MywKLSAibmJmb3JtYXRfbWlub3IiOiAwLAotICJ3b3Jrc2hlZXRzIjogWwotICB7Ci0gICAiY2Vs
bHMiOiBbCi0gICAgewotICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKLSAgICAgIm1ldGFk
YXRhIjoge30sCi0gICAgICJzb3VyY2UiOiBbCi0gICAgICAiVGhpcyBleGFtcGxlIHNob3dzIGhv
dyB0byBlbWJlZCBhbiBhbmltYXRpb24gcHJvZHVjZWQgYnkgYG1hdHBsb3RsaT0KYmAgaW50byBh
biBJUHl0aG9uIG5vdGVib29rLiAgVGhpcyBleGFtcGxlIG1ha2VzIHVzZSBvZiBgbWF0cGxvdGxp
YmAncyBbYW5pPQptYXRpb24gdG9vbGtpdF0oaHR0cDovL21hdHBsb3RsaWIub3JnL2FwaS9hbmlt
YXRpb25fYXBpLmh0bWwpIHRvIHRyYW5zZm9ybSA9CmluZGl2aWR1YWwgZnJhbWVzIGludG8gYSBm
aW5hbCByZW5kZXJlZCBtb3ZpZS4gIFxuIiwKLSAgICAgICJcbiIsCi0gICAgICAiQWRkaXRpb25h
bGx5LCB0aGlzIHVzZXMgSmFrZSBWYW5kZXJQbGFzJyBbYEpTQW5pbWF0aW9uYF0oaHR0cHM6Ly9n
aT0KdGh1Yi5jb20vamFrZXZkcC9KU0FuaW1hdGlvbikgbGlicmFyeSB0byBlbWJlZCB0aGUgbW92
aWUgYXMgYSBqYXZhc2NyaXB0IHdpPQpkZ2V0LCBkaXJlY3RseSBpbiB0aGUgbm90ZWJvb2suICBU
aGlzIGRvZXMgbm90IHVzZSBgZmZtcGVnYCB0byBzdGl0Y2ggdGhlIGY9CnJhbWVzIHRvZ2V0aGVy
IGFuZCB0aHVzIGRvZXMgbm90IHJlcXVpcmUgYGZmbXBlZ2AuICBIb3dldmVyLCB5b3UgbXVzdCBo
YXZlID0KYEpTQW5pbWF0aW9uYCBpbnN0YWxsZWQuXG4iLAotICAgICAgIlxuIiwKLSAgICAgICJU
byBkbyBzbywgY2xvbmUgdG8gZ2l0IHJlcG9zdGlvcnkgYW5kIHJ1biBgcHl0aG9uIHNldHVwLnB5
IGluc3RhbGxgPQogaW4gdGhlIHJvb3Qgb2YgdGhlIHJlcG9zaXRvcnkuIgotICAgICBdCi0gICAg
fSwKLSAgICB7Ci0gICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCi0gICAgICJjb2xsYXBzZWQiOiBm
YWxzZSwKLSAgICAgImlucHV0IjogWwotICAgICAgImltcG9ydCB5dFxuIiwKLSAgICAgICJmcm9t
IEpTQW5pbWF0aW9uIGltcG9ydCBJUHl0aG9uX2Rpc3BsYXlcbiIsCi0gICAgICAiZnJvbSBtYXRw
bG90bGliIGltcG9ydCBhbmltYXRpb24iCi0gICAgIF0sCi0gICAgICJsYW5ndWFnZSI6ICJweXRo
b24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAgICAgIm91dHB1dHMiOiBbXQotICAgIH0sCi0g
ICAgewotICAgICAiY2VsbF90eXBlIjogIm1hcmtkb3duIiwKLSAgICAgIm1ldGFkYXRhIjoge30s
Ci0gICAgICJzb3VyY2UiOiBbCi0gICAgICAiSGVyZSB3ZSBzZXQgdXAgdGhlIGFuaW1hdGlvbi4g
IFdlIHVzZSB5dCB0byBsb2FkIHRoZSBkYXRhIGFuZCBjcmVhdD0KZSBlYWNoIGZyYW1lIGFuZCB1
c2UgbWF0cGxvdGxpYiB0byBzdGl0Y2ggdGhlIGZyYW1lcyB0b2dldGhlci4gIE5vdGUgdGhhdCB3
PQplIGN1c3RvbWl6ZSB0aGUgcGxvdCBhIGJpdCBieSBjYWxsaW5nIHRoZSBgc2V0X3psaW1gIGZ1
bmN0aW9uLiAgQ3VzdG9taXphdGk9Cm9ucyBvbmx5IG5lZWQgdG8gYmUgYXBwbGllZCB0byB0aGUg
Zmlyc3QgZnJhbWUgLSB0aGV5IHdpbGwgY2FycnkgdGhyb3VnaCB0bz0KIHRoZSByZXN0LlxuIiwK
LSAgICAgICJcbiIsCi0gICAgICAiVGhpcyBtYXkgdGFrZSBhIHdoaWxlIHRvIHJ1biwgYmUgcGF0
aWVudC4iCi0gICAgIF0KLSAgICB9LAotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwK
LSAgICAgImNvbGxhcHNlZCI6IGZhbHNlLAotICAgICAiaW5wdXQiOiBbCi0gICAgICAiaW1wb3J0
IG1hdHBsb3RsaWIucHlwbG90IGFzIHBsdFxuIiwKLSAgICAgICJmcm9tIG1hdHBsb3RsaWIuYmFj
a2VuZHMuYmFja2VuZF9hZ2cgaW1wb3J0IEZpZ3VyZUNhbnZhc0FnZ1xuIiwKLSAgICAgICJcbiIs
Ci0gICAgICAicHJqID0zRCB5dC5Qcm9qZWN0aW9uUGxvdCh5dC5sb2FkKCdFbnpvXzY0L0REMDAw
MC9kYXRhMDAwMCcpLCAwLCAnZD0KZW5zaXR5Jywgd2VpZ2h0X2ZpZWxkPTNEJ2RlbnNpdHknLHdp
ZHRoPTNEKDE4MCwnTXBjY20nKSlcbiIsCi0gICAgICAicHJqLnNldF9maWd1cmVfc2l6ZSg1KVxu
IiwKLSAgICAgICJwcmouc2V0X3psaW0oJ2RlbnNpdHknLDFlLTMyLDFlLTI2KVxuIiwKLSAgICAg
ICJmaWcgPTNEIHByai5wbG90c1snZGVuc2l0eSddLmZpZ3VyZVxuIiwKLSAgICAgICJcbiIsCi0g
ICAgICAiIyBhbmltYXRpb24gZnVuY3Rpb24uICBUaGlzIGlzIGNhbGxlZCBzZXF1ZW50aWFsbHlc
biIsCi0gICAgICAiZGVmIGFuaW1hdGUoaSk6XG4iLAotICAgICAgIiAgICBkcyA9M0QgeXQubG9h
ZCgnRW56b182NC9ERCUwNGkvZGF0YSUwNGknICUgKGksaSkpXG4iLAotICAgICAgIiAgICBwcmou
X3N3aXRjaF9kcyhkcylcbiIsCi0gICAgICAiXG4iLAotICAgICAgIiMgY2FsbCB0aGUgYW5pbWF0
b3IuICBibGl0PTNEVHJ1ZSBtZWFucyBvbmx5IHJlLWRyYXcgdGhlIHBhcnRzIHRoYXQ9CiBoYXZl
IGNoYW5nZWQuXG4iLAotICAgICAgImFuaW1hdGlvbi5GdW5jQW5pbWF0aW9uKGZpZywgYW5pbWF0
ZSwgZnJhbWVzPTNENDQsIGludGVydmFsPTNEMjAwLCA9CmJsaXQ9M0RGYWxzZSkiCi0gICAgIF0s
Ci0gICAgICJsYW5ndWFnZSI6ICJweXRob24iLAotICAgICAibWV0YWRhdGEiOiB7fSwKLSAgICAg
Im91dHB1dHMiOiBbXQotICAgIH0KLSAgIF0sCi0gICAibWV0YWRhdGEiOiB7fQotICB9Ci0gXQot
fQoKZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0
NGRhZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSBkb2Mvc291cmNlL2Nvb2ti
b29rL2VtYmVkZGVkX2phdmFzY3JpcHRfYW5pbWF0aW9uLnJzdAotLS0gYS9kb2Mvc291cmNlL2Nv
b2tib29rL2VtYmVkZGVkX2phdmFzY3JpcHRfYW5pbWF0aW9uLnJzdAorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotTWFraW5nIGEgamF2YXNjcmlwdCBhbmltYXRpb24gd2lkZ2V0IHVzaW5n
IEpTQW5pbWF0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLQotLi4gbm90ZWJvb2s6OiBlbWJlZGRlZF9qYXZhc2NyaXB0X2FuaW1hdGlv
bi5pcHluYgoKZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1
IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSBkb2Mvc291cmNl
L2Nvb2tib29rL2luZGV4LnJzdAotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2luZGV4LnJzdAor
KysgYi9kb2Mvc291cmNlL2Nvb2tib29rL2luZGV4LnJzdApAQCAtNDEsNyArNDEsNiBAQAo9MjAK
ICAgIG5vdGVib29rX3R1dG9yaWFsCiAgICBjdXN0b21fY29sb3JiYXJfdGlja21hcmtzCi0gICBl
bWJlZGRlZF9qYXZhc2NyaXB0X2FuaW1hdGlvbgogICAgZW1iZWRkZWRfd2VibV9hbmltYXRpb24K
ICAgIGdhZGdldF9ub3RlYm9vawogICAgb3dsc19ub3RlYm9vawoKZGlmZiAtciAwY2JmZjJmOWQw
ZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNiODlh
PQpjMGFjNTUyNmQ1ZTVhZGJiOSBkb2Mvc291cmNlL2RldmVsb3BpbmcvYnVpbGRpbmdfdGhlX2Rv
Y3MucnN0Ci0tLSBhL2RvYy9zb3VyY2UvZGV2ZWxvcGluZy9idWlsZGluZ190aGVfZG9jcy5yc3QK
KysrIGIvZG9jL3NvdXJjZS9kZXZlbG9waW5nL2J1aWxkaW5nX3RoZV9kb2NzLnJzdApAQCAtMTY1
LDI0ICsxNjUsMjIgQEAKPTIwCiBUbyBidWlsZCB0aGUgZnVsbCBkb2N1bWVudGF0aW9uLCB5b3Ug
d2lsbCBuZWVkIHl0LCBJUHl0aG9uLCBydW5pcHksIGFuZCBhbD0KbD0yMAogc3VwcGxlbWVudGFy
eSB5dCBhbmFseXNpcyBtb2R1bGVzIGluc3RhbGxlZC4gVGhlIGZvbGxvd2luZyBkZXBlbmRlbmNp
ZXMgd2U9CnJlPTIwCi11c2VkIHRvIGdlbmVyYXRlIHRoZSB5dCBkb2N1bWVudGF0aW9uIGR1cmlu
ZyB0aGUgcmVsZWFzZSBvZiB5dCAyLjYgaW4gbGF0ZT0KIDIwMTMuCit1c2VkIHRvIGdlbmVyYXRl
IHRoZSB5dCBkb2N1bWVudGF0aW9uIGR1cmluZyB0aGUgcmVsZWFzZSBvZiB5dCAzLjIgaW4gMjAx
NS4KPTIwCi0qIFNwaGlueF8gMS4xLjMKLSogSVB5dGhvbl8gMS4xCi0qIHJ1bmlweV8gKGdpdCBo
YXNoIGY3NDQ1OGMyODc3KQotKiBwYW5kb2NfIDEuMTEuMQorKiBTcGhpbnhfIDEuMy4xCisqIElQ
eXRob25fIDIuNC4xCisqIHJ1bmlweV8gMC4xLjMKKyogcGFuZG9jXyAxLjEzLjIKICogUm9ja3N0
YXIgaGFsbyBmaW5kZXIgMC45OS42CiAqIFNacGFja18gMS4xLjEKLSogZmZtcGVnXyAxLjIuNCAo
Y29tcGlsZWQgd2l0aCBsaWJ2cHggc3VwcG9ydCkKLSogSlNBbmltYXRpb25fIChnaXQgaGFzaCAx
Yjk1Y2IzYTNhKQotKiBBc3Ryb3B5XyAwLjIuNQorKiBmZm1wZWdfIDIuNy4xIChjb21waWxlZCB3
aXRoIGxpYnZweCBzdXBwb3J0KQorKiBBc3Ryb3B5XyAwLjQuNAo9MjAKIC4uIF9TWnBhY2s6IGh0
dHA6Ly93d3cuY2l0YS51dG9yb250by5jYS9+amNobHViYS9TY2llbmNlX0plbnMvU1pwYWNrL1Na
cGFjPQprLmh0bWwKIC4uIF9Bc3Ryb3B5OiBodHRwOi8vYXN0cm9weS5vcmcvCiAuLiBfU3BoaW54
OiBodHRwOi8vc3BoaW54LWRvYy5vcmcvCiAuLiBfcGFuZG9jOiBodHRwOi8vam9obm1hY2Zhcmxh
bmUubmV0L3BhbmRvYy8KIC4uIF9mZm1wZWc6IGh0dHA6Ly93d3cuZmZtcGVnLm9yZy8KLS4uIF9K
U0FuaW1hdGlvbjogaHR0cHM6Ly9naXRodWIuY29tL2pha2V2ZHAvSlNBbmltYXRpb24KPTIwCiBZ
b3Ugd2lsbCBhbHNvIG5lZWQgdGhlIGZ1bGwgeXQgc3VpdGUgb2YgYHl0IHRlc3QgZGF0YQogPGh0
dHA6Ly95dC1wcm9qZWN0Lm9yZy9kYXRhLz5gXywgaW5jbHVkaW5nIHRoZSBsYXJnZXIgZGF0YXNl
dHMgdGhhdCBhcmUgbm89CnQgdXNlZAoKZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMThm
MDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1ZTVh
ZGJiOSBkb2Mvc291cmNlL2V4YW1pbmluZy9sb2FkaW5nX2RhdGEucnN0Ci0tLSBhL2RvYy9zb3Vy
Y2UvZXhhbWluaW5nL2xvYWRpbmdfZGF0YS5yc3QKKysrIGIvZG9jL3NvdXJjZS9leGFtaW5pbmcv
bG9hZGluZ19kYXRhLnJzdApAQCAtMjY4LDcgKzI2OCw3IEBACiBTdXBwb3J0IGZvciBQbHV0byBB
TVIgZGF0YSBpcyBwcm92aWRlZCB0aHJvdWdoIHRoZSBDaG9tYm8gZnJvbnRlbmQsIHdoaWNoCiBp
cyBjdXJyZW50bHkgbWFpbnRhaW5lZCBieSBBbmRyZXcgTXllcnMuIFBsdXRvIG91dHB1dCBmaWxl
cyB0aGF0IGRvbid0IHVzZQogdGhlIENob21ibyBIREY1IGZvcm1hdCBhcmUgY3VycmVudGx5IG5v
dCBzdXBwb3J0ZWQuIFRvIGxvYWQgYSBQbHV0byBkYXRhc2U9CnQsPTIwCi15b3UgY2FuIHVzZSB0
aGUgYGB5dC5sb2FkYGAgY29tbWFuZCBvbiB0aGUgKi5oZGY1IGZpbGUuIEZvciBleGFtcGxlLCB0
aGU9MjAKK3lvdSBjYW4gdXNlIHRoZSBgYHl0LmxvYWRgYCBjb21tYW5kIG9uIHRoZSBgYCouaGRm
NWBgIGZpbGVzLiBGb3IgZXhhbXBsZSwgPQp0aGU9MjAKIEtlbHZpbkhlbG1ob2x0eiBzYW1wbGUg
ZGF0YXNldCBpcyBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcKIGZpbGVz
Ogo9MjAKCmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4ZjA2YjY1ZTMwYmQwNmQ4NSAt
ciA2NDRkYWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1YWRiYjkgZG9jL3NvdXJjZS9y
ZWZlcmVuY2UvY2hhbmdlbG9nLnJzdAotLS0gYS9kb2Mvc291cmNlL3JlZmVyZW5jZS9jaGFuZ2Vs
b2cucnN0CisrKyBiL2RvYy9zb3VyY2UvcmVmZXJlbmNlL2NoYW5nZWxvZy5yc3QKQEAgLTExLDYg
KzExLDEyNCBAQAogVGhlIGBDUkVESVRTIGZpbGUgPGh0dHA6Ly9iaXRidWNrZXQub3JnL3l0X2Fu
YWx5c2lzL3l0L3NyYy95dC9DUkVESVRTPmBfIGM9Cm9udGFpbnMgdGhlCiBtb3N0IHVwLXRvLWRh
dGUgbGlzdCBvZiBldmVyeW9uZSB3aG8gaGFzIGNvbnRyaWJ1dGVkIHRvIHRoZSB5dCBzb3VyY2Ug
Y29kZS4KPTIwCitWZXJzaW9uIDMuMgorLS0tLS0tLS0tLS0KKworTWFqb3IgZW5oYW5jZW1lbnRz
CiteXl5eXl5eXl5eXl5eXl5eXl4KKworKiBQYXJ0aWNsZS1Pbmx5IFBsb3RzIC0gYSBzZXJpZXMg
b2YgbmV3IHBsb3R0aW5nIGZ1bmN0aW9ucyBmb3IgdmlzdWFsaXppbmc9MjAKKyAgcGFydGljbGUg
ZGF0YS4gIFNlZSBoZXJlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKiBMYXRlLXN0YWdlIGJldGEg
c3VwcG9ydCBmb3IgUHl0aG9uIDMgLSB1bml0IHRlc3RzIGFuZCBhbnN3ZXIgdGVzdHMgcGFzcyA9
CmZvcj0yMAorICBhbGwgdGhlIG1ham9yIGZyb250ZW5kcyB1bmRlciBweXRob24gMy40LCBhbmQg
eXQgc2hvdWxkIG5vdyBiZSBtb3N0bHkgaWY9CiBub3Q9MjAKKyAgZnVsbHkgdXNhYmxlLiAgQmVj
YXVzZSBtYW55IG9mIHRoZSB5dCBkZXZlbG9wZXJzIGFyZSBzdGlsbCBvbiBQeXRob24gMiBhPQp0
PTIwCisgIHRoaXMgcG9pbnQsIHRoaXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSA9RTI9ODA9OUNs
YXRlIHN0YWdlIGJldGE9RTI9ODA9Cj05RCBhcyB0aGVyZSBtYXkgYmU9MjAKKyAgcmVtYWluaW5n
IGlzc3VlcyB5ZXQgdG8gYmUgaWRlbnRpZmllZCBvciB3b3JrZWQgb3V0LgorKiBOb3cgc3VwcG9y
dGluZyBHYWRnZXQgRnJpZW5kLW9mLUZyaWVuZHMvU3ViZmluZCBjYXRhbG9ncyAtIHNlZSBoZXJl
IHRvIGw9CmVhcm49MjAKKyAgaG93IHRvIGxvYWQgaGFsbyBjYXRhbG9ncyBhcyByZWd1bGFyIHl0
IGRhdGFzZXRzLgorKiBDdXN0b20gY29sb3JtYXBzIGNhbiBub3cgYmUgZWFzaWx5IGRlZmluZWQg
YW5kIGFkZGVkIC0gc2VlIGhlcmUgdG8gbGVhcm49CiBob3chCisqIE5vdyBzdXBwb3J0aW5nIEZh
cmdvM0QgZGF0YQorKiBQZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgdGhyb3VnaG91dCB0aGUgY29k
ZSBiYXNlIGZvciBtZW1vcnkgYW5kIHNwZWVkCisKK01pbm9yIGVuaGFuY2VtZW50cworXl5eXl5e
Xl5eXl5eXl5eXl5eCisKKyogVmFyaW91cyB1cGRhdGVzIHRvIHRoZSBmb2xsb3dpbmcgZnJvbnRl
bmRzOiBBUlQsIEF0aGVuYSwgQ2FzdHJvLCBDaG9tYm8sPTIwCisgIEdhZGdldCwgR0RGLCBNYWVz
dHJvLCBQbHV0bywgUkFNU0VTLCBSb2Nrc3RhciwgU0RGLCBUaXBzeQorKiBOdW1lcm91cyBkb2N1
bWVudGF0aW9uIHVwZGF0ZXMKKyogR2VuZXJpYyBoZXhhaGVkcmFsIG1lc2ggcGl4ZWxpemVyCisq
IEFkZGluZyBhbm5vdGF0ZV9yYXkoKSBjYWxsYmFjayBmb3IgcGxvdHMKKyogQWJzb3JwdGlvblNw
ZWN0cnVtIHJldHVybmVkIHRvIGZ1bGwgZnVuY3Rpb25hbGl0eSBhbmQgbm93IHVzaW5nIGZhc3Rl
ciBTPQpjaVB5PTIwCisgIFZvaWd0IHByb2ZpbGUKKyogQWRkIGEgY29sb3JfZmllbGQgYXJndW1l
bnQgdG8gYW5ub3RhdGVfc3RyZWFtbGluZQorKiBTbW9vdGhpbmcgbGVuZ3RocyBhdXRvLWNhbGN1
bGF0ZWQgZm9yIFRpcHN5IERhdGFzZXRzCisqIEFkZGluZyBTaW11bGF0aW9uVGltZVNlcmllcyBz
dXBwb3J0IGZvciBHYWRnZXQgYW5kIE9XTFMuCisqIEdlbmVyYWxpemluZyBkZXJpdmVkIHF1YW50
aXR5IG91dHB1dHMgdG8gYWxsIGJlIFlUQXJyYXlzIG9yIGxpc3RzIG9mPTIwCisgIFlUQXJyYXlz
IGFzIGFwcHJvcHJpYXRlCisqIFN0YXIgYW5hbHlzaXMgcmV0dXJuZWQgdG8gZnVsbCBmdW5jdGlv
bmFsaXR5CisqIEZJVFMgaW1hZ2Ugd3JpdGluZyByZWZhY3RvcgorKiBBZGRpbmcgZ3JhZGllbnQg
ZmllbGRzIG9uIHRoZSBmbHkKKyogQWRkaW5nIHN1cHBvcnQgZm9yIEdhZGdldCBOeDQgbWV0YWxs
aWNpdHkgZmllbGRzCisqIFVwZGF0aW5nIHZhbHVlIG9mIHNvbGFyIG1ldGFsIG1hc3MgZnJhY3Rp
b24gdG8gYmUgY29uc2lzdGVudCB3aXRoIENsb3VkeS4KKyogR2FkZ2V0IHJhdyBiaW5hcnkgc25h
cHNob3QgaGFuZGxpbmcgJiBub24tY29zbW9sb2dpY2FsIHNpbXVsYXRpb24gdW5pdHMKKyogQWRk
aW5nIHN1cHBvcnQgZm9yIExpZ2h0UmF5IGNsYXNzIHRvIHdvcmsgd2l0aCBHYWRnZXQrVGlwc3kK
KyogQWRkIHN1cHBvcnQgZm9yIHN1YmNsYXNzZXMgb2YgZnJvbnRlbmRzCisqIERlcGVuZGVuY2ll
cyB1cGRhdGVkCisqIFNlcmlhbGl6YXRpb24gZm9yIHByb2plY3Rpb25zIHVzaW5nIG1pbmltYWwg
cmVwcmVzZW50YXRpb24KKyogQWRkaW5nIEdyaWQgdmlzaXRvcnMgaW4gQ3l0aG9uCisqIEltcHJv
dmVkIHNlbWFudGljcyBmb3IgZGVyaXZlZCBmaWVsZCB1bml0cworKiBBZGQgYSB5YXcoKSBtZXRo
b2QgZm9yIHRoZSBQZXJzcGVjdGl2ZUNhbWVyYSArIHN3aXRjaCBiYWNrIHRvIExIUworKiBBZGRp
bmcgYW5ub3RhdGVfY2xlYXIoKSBmdW5jdGlvbiB0byByZW1vdmUgcHJldmlvdXMgY2FsbGJhY2tz
IGZyb20gYSBwbG90CisqIEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIGhleGFoZWRyYWwgbWVzaCBv
biB3ZWJzaXRlCisqIFNwZWVkIHVwIG5lYXJlc3QgbmVpZ2hib3IgZXZhbHVhdGlvbgorKiBBZGQg
YSBjb252ZW5pZW5jZSBtZXRob2QgdG8gY3JlYXRlIGRlcG9zaXRlZCBwYXJ0aWNsZSBmaWVsZHMK
KyogVUkgYW5kIGRvY3MgdXBkYXRlcyBmb3IgM0Qgc3RyZWFtbGluZXMKKyogRW5zdXJlIHBhcnRp
Y2xlIGZpZWxkcyBhcmUgdGVzdGVkIGluIHRoZSBmaWVsZCB1bml0IHRlc3RzCisqIEFsbG93IGEg
c3VmZml4IHRvIGJlIHNwZWNpZmllZCB0byBzYXZlKCkKKyogQWRkIHByb2ZpbGluZyB1c2luZyBh
aXJzcGVlZCB2ZWxvY2l0eQorKiBWYXJpb3VzIHBsb3R0aW5nIGVuaGFuY2VtZW50cyBhbmQgYnVn
Zml4ZXMKKyogVXNlIGhnbGliIHRvIHVwZGF0ZQorKiBWYXJpb3VzIG1pbm9yIHVwZGF0ZXMgdG8g
aGFsb19hbmFseXNpcyB0b29sa2l0CisqIERvY2tlci1iYXNlZCB0ZXN0cyBmb3IgaW5zdGFsbF9z
Y3JpcHQuc2gKKyogQWRkaW5nIHN1cHBvcnQgZm9yIHNpbmdsZSBhbmQgbm9uLWNvc21vbG9naWNh
bCBkYXRhc2V0cyB0byBMaWdodFJheQorKiBBZGRpbmcgdGhlIFBhc2NhbCB1bml0CisqIEFkZCB3
ZWlnaHRfZmllbGQgdG8gUFBWQ3ViZQorKiBGSVRTIHJlYWRlcjogYWxsb3cgSERVIGluIGF1eGls
aWFyeQorKiBGaXhpbmcgZWxlY3Ryb21hZ25ldGljIHVuaXRzCisqIFNwZWNpZmljIEFuZ3VsYXIg
TW9tZW50dW0gW3h5el0gY29tcHV0ZWQgcmVsYXRpdmUgdG8gYSBub3JtYWwgdmVjdG9yCisKK0J1
Z2ZpeGVzCiteXl5eXl5eXgorCisqIEFkZGluZyBhYmlsaXR5IHRvIGNyZWF0ZSB1bmlvbiBmaWVs
ZHMgZnJvbSBhbGlhcyBmaWVsZHMKKyogU21hbGwgZml4IHRvIGFsbG93IGVuem8gQVAgZGF0YXNl
dHMgdG8gbG9hZCBpbiBwYXJhbGxlbCB3aGVuIG5vIEFQcyBwcmVzPQplbnQKKyogVXNlIHByb3Bl
ciBjZWxsIGRpbWVuc2lvbiBpbiBncmFkaWVudCBmdW5jdGlvbi4KKyogTWlub3IgbWVtb3J5IG9w
dGltaXphdGlvbiBmb3Igc21vb3RoZWQgcGFydGljbGUgZmllbGRzCisqIEZpeCB0aGVybWFsX2Vu
ZXJneSBmb3IgRW56byBIeWRyb01ldGhvZD0zRD0zRDYKKyogTWFrZSBzdXJlIGFubm90YXRlX3Bh
cnRpY2xlcyBoYW5kbGVzIHVuaXRmdWwgd2lkdGhzIHByb3Blcmx5CisqIEltcHJvdmVtZW50cyBm
b3IgYWRkX3BhcnRpY2xlX2ZpbHRlciBhbmQgcGFydGljbGVfZmlsdGVyCisqIFNwZWNpZnkgcmVn
aXN0cnkgaW4gb2ZmX2F4aXNfcHJvamVjdGlvbidzIGltYWdlIGZpbmFsaXphdGlvbgorKiBBcHBs
eSBmaXggZm9yIHBhcnRpY2xlIG1vbWVudHVtIHVuaXRzIHRvIHRoZSBib3hsaWIgZnJvbnRlbmQK
KyogQXZvaWQgdHJhY2ViYWNrIGluICJ5dCB2ZXJzaW9uIiB3aGVuIHB5dGhvbi1oZ2xpYiBpcyBu
b3QgaW5zdGFsbGVkCisqIEV4cG9zZSBub19naG9zdCBmcm9tIGV4cG9ydF9za2V0Y2hmYWIgZG93
biB0byBfZXh0cmFjdF9pc29jb250b3Vyc19mcm9tXz0KZ3JpZAorKiBGaXggYnJva2VuIG1hZ25l
dGljX3VuaXQgYXR0cmlidXRlCisqIEZpeGluZyBhbiBvZmYtYnktb25lIGVycm9yIGluIHRoZSBz
ZXQgeC95IGxpbSBtZXRob2RzIGZvciBwcm9maWxlIHBsb3RzCisqIFByb3ZpZGluZyBiZXR0ZXIg
ZXJyb3IgbWVzc2FnZXMgdG8gUGxvdFdpbmRvdyBjYWxsYmFja3MKKyogVXBkYXRpbmcgYW5ub3Rh
dGVfdGltZXN0YW1wIHRvIGF2b2lkIGF1dG8tb3ZlcnJpZGUKKyogVXBkYXRpbmcgY2FsbGJhY2tz
IHRvIGNvbnNpc3RlbnRseSBkZWZpbmUgY29vcmRpbmF0ZSBzeXN0ZW0KKyogRml4aW5nIHNwZWNp
ZXMgZmllbGRzIGZvciBPV0xTIGFuZCB0aXBzeQorKiBGaXggZXh0cmFwb2xhdGlvbiBmb3IgdmVy
dGV4LWNlbnRlcmVkIGRhdGEKKyogRml4IHBlcmlvZGljaXR5IGNoZWNrIGluIEZSQnMKKyogUmV3
cm90ZSBwcm9qZWN0X3RvX3BsYW5lKCkgaW4gUGVyc3BlY3RpdmVDYW1lcmEgZm9yIGRyYXdfZG9t
YWluKCkKKyogRml4IGludGVybWl0dGVudCBmYWlsdXJlIGluIHRlc3RfYWRkX2RlcG9zaXRlZF9w
YXJ0aWNsZV9maWVsZAorKiBJbXByb3ZlIG1pbm9ydGlja3MgZm9yIGEgc3ltbG9nIHBsb3Qgd2l0
aCBvbmUtc2lkZWQgZGF0YQorKiBGaXggc21vb3RoZWQgY292ZXJpbmcgZ3JpZCBjZWxsIGNvbXB1
dGF0aW9uCisqIEFic29ycHRpb24gc3BlY3RydW0gZ2VuZXJhdG9yIG5vdyAzLjAgY29tcGxpYW50
CisqIEZpeCBvZmYtYnktb25lLW9yLW1vcmUgaW4gcGFydGljbGUgc21hbGxlc3QgZHgKKyogRml4
IGRpbWVuc2lvbmFsaXR5IG1pc21hdGNoIGVycm9yIGluIGNvdmVyaW5nIGdyaWQKKyogRml4IGN1
cnZhdHVyZSB0ZXJtIGluIGNvc21vbG9neSBjYWxjdWxhdG9yCisqIEZpeCBnZW9ncmFwaGljIGF4
ZXMgYW5kIHBpeGVsaXphdGlvbgorKiBFbnN1cmUgYXhlcyBhc3BlY3QgcmF0aW9zIHJlc3BlY3Qg
dGhlIHVzZXItc2VsZWN0ZWQgcGxvdCBhc3BlY3QgcmF0aW8KKyogQXZvaWQgY2xvYmJlcmluZyBm
aWVsZF9tYXAgd2hlbiBjYWxsaW5nIHByb2ZpbGUuYWRkX2ZpZWxkcworKiBGaXhpbmcgdGhlIGFy
Yml0cmFyeSBncmlkIGRlcG9zaXQgY29kZQorKiBGaXggc3BoZXJpY2FsIHBsb3R0aW5nIGNlbnRl
cmluZworKiBNYWtlIHRoZSBiZWhhdmlvciBvZiB0b19mcmIgY29uc2lzdGVudCB3aXRoIHRoZSBk
b2NzdHJpbmcKKyogRW5zdXJlIHByb2plY3RlZCB1bml0cyBhcmUgaW5pdGlhbGl6ZWQgd2hlbiB0
aGVyZSBhcmUgbm8gY2h1bmtzLgorKiBSZW1vdmluZyAiZmllbGQgYWxyZWFkeSBleGlzdHMiIHdh
cm5pbmdzIGZyb20gdGhlIE93bHMgYW5kIEdhZGdldCBmcm9udGU9Cm5kcworKiBWYXJpb3VzIHBo
b3RvbiBzaW11bGF0b3IgYnVncworKiBGaXhlZCB1c2Ugb2YgTGFUZVggbWF0aCBtb2RlCisqIEZp
eCB1cGxvYWRfaW1hZ2UKKyogRW5mb3JjZSBwbG90IHdpZHRoIGluIENTUyB3aGVuIGRpc3BsYXll
ZCBpbiBhIG5vdGVib29rCisqIEZpeCBjU3RyaW5nSU8uU3RyaW5nSU8gLT4gY1N0cmluZ0lPIGlu
IHBuZ193cml0ZXIKKyogQWRkIHNvbWUgaW5wdXQgc2FuaXRpemluZyBhbmQgZXJyb3IgY2hlY2tp
bmcgdG8gY292ZXJpbmdfZ3JpZCBpbml0aWFsaXplcgorKiBGaXggZm9yIGdlb2dyYXBoaWMgcGxv
dHRpbmcKKyogVXNlIHRoZSBjb3JyZWN0IGZpbGVuYW1lIHRlbXBsYXRlIGZvciBzaW5nbGUtZmls
ZSBPV0xTIGRhdGFzZXRzLgorKiBGaXggRW56byBJTyBwZXJmb3JtYW5jZSBmb3IgMzIgYml0IGRh
dGFzZXRzCisqIEFkZGluZyBhIG51bWJlciBkZW5zaXR5IGZpZWxkIGZvciBFbnpvIE11bHRpU3Bl
Y2llcz0zRDAgZGF0YXNldHMuCisqIEZpeCBSQU1TRVMgYmxvY2sgb3JkZXJpbmcKKyogVXBkYXRp
bmcgcmFnZ2VkIGFycmF5IHRlc3RzIGZvciBOdW1QeSAxLjkuMQorKiBGb3JjZSByZXR1cm5pbmcg
bGlzdHMgZm9yIEhERjVGaWxlSGFuZGxlcgorCiBWZXJzaW9uIDMuMQogLS0tLS0tLS0tLS0KPTIw
CkBAIC0xOSw3ICsxMzcsNyBAQAo9MjAKPTIwCiBNYWpvciBjaGFuZ2VzOgotKysrKysrKysrKysr
KysKK15eXl5eXl5eXl5eXl5eCj0yMAogKiBUaGUgUkFETUMtM0QgZXhwb3J0IGFuYWx5c2lzIG1v
ZHVsZSBoYXMgYmVlbiB1cGRhdGVkLiBgUFIgMTM1OCA8aHR0cHM6Ly89CmJpdGJ1Y2tldC5vcmcv
eXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEzNTg+YF8sIGBQUiAxMzMyIDxodHRwczovL2Jp
dGJ1Yz0Ka2V0Lm9yZy95dF9hbmFseXNpcy95dC9wdWxsLXJlcXVlc3QvMTMzMj5gXy4KPTIwCkBA
IC00MSw3ICsxNTksNyBAQAogKiBUaGUgZG9jdW1lbnRhdGlvbiBoYXMgYmVlbiByZW9yZ2FuaXpl
ZCBhbmQgaGFzIHNlZW4gc3Vic3RhbnRpYWwgaW1wcm92ZW09CmVudHMuIGBQUiAxMzgzIDxodHRw
czovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEzODM+YF8sID0K
YFBSIDEzNzMgPGh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9wdWxsLXJlcXVl
c3QvMTM3Mz5gXywgYFBSIDEzPQo2NCA8aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L3B1bGwtcmVxdWVzdC8xMzY0PmBfLCBgUFIgMTM1MSA8aHQ9CnRwczovL2JpdGJ1Y2tldC5v
cmcveXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEzNTE+YF8sIGBQUiAxMzQ1IDxodHRwczov
Lz0KYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9wdWxsLXJlcXVlc3QvMTM0NT5gXy4gYFBS
IDEzMzMgPGh0dHBzOi8vYml0YnVjPQprZXQub3JnL3l0X2FuYWx5c2lzL3l0L3B1bGwtcmVxdWVz
dC8xMzMzPmBfLCBgUFIgMTM0MiA8aHR0cHM6Ly9iaXRidWNrZXQub3I9CmcveXRfYW5hbHlzaXMv
eXQvcHVsbC1yZXF1ZXN0LzEzNDI+YF8sIGBQUiAxMzM4IDxodHRwczovL2JpdGJ1Y2tldC5vcmcv
eXRfYT0KbmFseXNpcy95dC9wdWxsLXJlcXVlc3QvMTMzOD5gXywgYFBSIDEzMzAgPGh0dHBzOi8v
Yml0YnVja2V0Lm9yZy95dF9hbmFseXNpPQpzL3l0L3B1bGwtcmVxdWVzdC8xMzMwPmBfLCBgUFIg
MTMyNiA8aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L3A9CnVsbC1yZXF1ZXN0
LzEzMjY+YF8sIGBQUiAxMzIzIDxodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQv
cHVsbC1yZT0KcXVlc3QvMTMyMz5gXywgYFBSIDEzMTUgPGh0dHBzOi8vYml0YnVja2V0Lm9yZy95
dF9hbmFseXNpcy95dC9wdWxsLXJlcXVlc3QvPQoxMzE1PmBfLCBgUFIgMTMwNSA8aHR0cHM6Ly9i
aXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L3B1bGwtcmVxdWVzdC8xMzA1PmA9Cl8sIGBQUiAx
Mjg5IDxodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEy
ODk+YF8sIGBQUj0KIDEyNzYgPGh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9w
dWxsLXJlcXVlc3QvMTI3Nj5gXy4KPTIwCiBNaW5vciBvciBidWdmaXggY2hhbmdlczoKLSsrKysr
KysrKysrKysrKysrKysrKysrKworXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCj0yMAogKiBUaGUg
QW1wZXJlIHVuaXQgbm93IGFjY2VwdHMgU0kgcHJlZml4ZXMuICBgUFIgMTM5MyA8aHR0cHM6Ly9i
aXRidWNrZXQub3I9CmcveXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEzOTM+YF8uCj0yMApA
QCAtMTU2LDYgKzI3NCw3IEBACiByZXByZXNlbnRhdGlvbiBvZiB1bnN0cnVjdHVyZWQgbWVzaCBk
YXRhc2V0cy4KPTIwCiBIaWdobGlnaHRlZCBjaGFuZ2VzIGluIHl0IDMuMDoKK15eXl5eXl5eXl5e
Xl5eXl5eXl5eXl5eXl5eXl5eXgo9MjAKICAqIFVuaXRzIG5vdyBwZXJtZWF0ZSB0aGUgY29kZSBi
YXNlLCBlbmFibGluZyBzZWxmLWNvbnNpc3RlbnQgdW5pdAogICAgdHJhbnNmb3JtYXRpb25zIG9m
IGFsbCBhcnJheXMgYW5kIHF1YW50aXRpZXMgcmV0dXJuZWQgYnkgeXQuCkBAIC0yMDQsNiArMzIz
LDcgQEAKIHNlcmllcy4gIEJlbG93IGFyZSB0aGUgaXRlbWl6ZWQsIGFnZ3JlZ2F0ZSBjaGFuZ2Vz
IHNpbmNlIHZlcnNpb24gMi41Lgo9MjAKIE1ham9yIGNoYW5nZXM6CiteXl5eXl5eXl5eXl5eXgo9
MjAKICAgKiB5dCBpcyBub3cgbGljZW5zZWQgdW5kZXIgdGhlIDMtY2xhdXNlIEJTRCBsaWNlbnNl
LgogICAqIEhFQUxQaXggaGFzIGJlZW4gcmVtb3ZlZCBmb3IgdGhlIHRpbWUgYmVpbmcsIGFzIGEg
cmVzdWx0IG9mIGxpY2Vuc2luZwpAQCAtMjI3LDYgKzM0Nyw3IEBACiAgICogUHJvamVjdGlvblBs
b3Qgbm93IGFjY2VwdHMgYSBkYXRhX3NvdXJjZSBrZXl3b3JkIGFyZ3VtZW50Cj0yMAogTWlub3Ig
b3IgYnVnZml4IGNoYW5nZXM6CiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KPTIwCiAgICogRml4
IGZvciB2b2x1bWUgcmVuZGVyaW5nIG9uIHRoZSBjb21tYW5kIGxpbmUKICAgKiBtYXBfdG9fY29s
b3JtYXAgd2lsbCBubyBsb25nZXIgcmV0dXJuIG91dC1vZi1ib3VuZHMgZXJyb3JzCkBAIC0zMDcs
NyArNDI4LDcgQEAKIG1lcmdlZCB3aXRoIHRoZSBJUHl0aG9uIG5vdGVib29rIGluIGEgZnV0dXJl
IHJlbGVhc2UuCj0yMAogSW5zdGFsbCBTY3JpcHQgQ2hhbmdlczoKLX5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+CiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgo9MjAKICAqIFNjaVB5IGNhbiBub3cgYmUg
aW5zdGFsbGVkCiAgKiBSb2Nrc3RhciBjYW4gbm93IGJlIGluc3RhbGxlZApAQCAtMzI2LDcgKzQ0
Nyw3IEBACiBXZSd2ZSBhbHNvIGltcHJvdmVkIHN1cHBvcnQgZm9yIGluc3RhbGxpbmcgb24gT1NY
LCBVYnVudHUgYW5kIE9wZW5TVVNFLgo9MjAKIE1vc3QgVmlzaWJsZSBJbXByb3ZlbWVudHMKLX5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KPTIwCiAg
KiBOZWFybHkgMjAwIHB1bGwgcmVxdWVzdHMgYW5kIG92ZXIgMTAwMCBjaGFuZ2VzZXRzIGhhdmUg
YmVlbiBtZXJnZWQgc2luYz0KZSB5dAogICAgMi40IHdhcyByZWxlYXNlIG9uIEF1Z3VzdCAybmQs
IDIwMTIuCkBAIC00MDksNyArNTMwLDcgQEAKIGBkb3dubG9hZCBpdCBoZXJlIDxodHRwOi8veXQt
cHJvamVjdC5vcmcvZmlsZXMveXQyNC5pcHluYj5gXy4KPTIwCiBNb3N0IFZpc2libGUgSW1wcm92
ZW1lbnRzCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiteXl5eXl5eXl5eXl5eXl5eXl5eXl5e
Xl5eCj0yMAogICogVGhyZWFkZWQgdm9sdW1lIHJlbmRlcmVyLCBjb21wbGV0ZWx5IHJlZmFjdG9y
ZWQgZnJvbSB0aGUgZ3JvdW5kIHVwIGZvcgogICAgc3BlZWQgYW5kIHBhcmFsbGVsaXNtLgpAQCAt
NDMyLDcgKzU1Myw3IEBACiAgICBwbG90IGNvbGxlY3Rpb25zIHJpZ2h0IGZyb20gdGhlIHl0IGNv
bW1hbmQgbGluZSEKPTIwCiBPdGhlciBDaGFuZ2VzCi1+fn5+fn5+fn5+fn5+CiteXl5eXl5eXl5e
Xl5eCj0yMAogICogOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi5wbG90X3dpbmRvdy5Qcm9qZWN0
aW9uUGxvdGAgYW5kPTIwCiAgICA6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnBsb3Rfd2luZG93
LlNsaWNlUGxvdGAgc3VwcGxhbnQgdGhlIGZ1bmN0aW9uYT0KbGl0eQoKZGlmZiAtciAwY2JmZjJm
OWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNi
ODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSBkb2Mvc291cmNlL3Zpc3VhbGl6aW5nL2NvbG9ybWFwcy9p
bmRleC5yc3QKLS0tIGEvZG9jL3NvdXJjZS92aXN1YWxpemluZy9jb2xvcm1hcHMvaW5kZXgucnN0
CisrKyBiL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvY29sb3JtYXBzL2luZGV4LnJzdApAQCAtOCw3
ICs4LDcgQEAKIHZpc3VhbGl6YXRpb24gZnVuY3Rpb25zIHVzdWFsbHkgYWxsb3cgeW91IHRvIHNw
ZWNpZnkgYSBjb2xvcm1hcCB3aXRoIHRoZT0yMAogYGBjbWFwYGAgZmxhZy4KPTIwCi0uLiBfcGFs
ZXR0YWJsZToKKy4uIF9pbnN0YWxsLXBhbGV0dGFibGU6Cj0yMAogUGFsZXR0YWJsZSBhbmQgQ29s
b3JCcmV3ZXIyPTIwCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCmRpZmYgLXIgMGNiZmYy
ZjlkMGUyY2JjMWJjZDkwMjE4ZjA2YjY1ZTMwYmQwNmQ4NSAtciA2NDRkYWQ0ZGU3MTY2MGYwOGRj
Yjg5YT0KYzBhYzU1MjZkNWU1YWRiYjkgZG9jL3NvdXJjZS92aXN1YWxpemluZy9wbG90cy5yc3QK
LS0tIGEvZG9jL3NvdXJjZS92aXN1YWxpemluZy9wbG90cy5yc3QKKysrIGIvZG9jL3NvdXJjZS92
aXN1YWxpemluZy9wbG90cy5yc3QKQEAgLTEyMjQsMTggKzEyMjQsMTggQEAKICAgIGRzID0zRCB5
dC5sb2FkKCJHYXNTbG9zaGluZy9zbG9zaGluZ19ub21hZzJfaGRmNV9wbHRfY250XzAxMDAiKQog
ICAgc2xjID0zRCB5dC5TbGljZVBsb3QoZHMsICJ6IiwgWyJrVCIsImRlbnNpdHkiXSwgd2lkdGg9
M0QoNTAwLjAsImtwYyIpKQogICAgc2xjLnNhdmUoKQotICA9MjAKKwogd2hpY2ggd2lsbCB5aWVs
ZCBQTkcgcGxvdHMgd2l0aCB0aGUgZmlsZW5hbWVzCj0yMAogLi4gY29kZS1ibG9jazo6IGJhc2gK
PTIwCi0gICAkIGxzICoucG5nCisgICAkIGxzIFwqLnBuZwogICAgc2xvc2hpbmdfbm9tYWcyX2hk
ZjVfcGx0X2NudF8wMTAwX1NsaWNlX3pfZGVuc2l0eS5wbmcKICAgIHNsb3NoaW5nX25vbWFnMl9o
ZGY1X3BsdF9jbnRfMDEwMF9TbGljZV96X2tULnBuZwo9MjAKIHdoaWNoIGhhcyBhIGdlbmVyYWwg
Zm9ybSBvZgo9MjAKLS4uIGNvZGUtYmxvY2s6OgorLi4gY29kZS1ibG9jazo6IGJhc2gKID0yMAog
ICAgW2RhdGFzZXQgbmFtZV1fW3Bsb3QgdHlwZV1fW2F4aXNdX1tmaWVsZCBuYW1lXS5bc3VmZml4
XQogICA9MjAKQEAgLTEyNTYsNyArMTI1Niw3IEBACj0yMAogLi4gY29kZS1ibG9jazo6IGJhc2gK
PTIwCi0gICAkIGxzICoucG5nCisgICAkIGxzIFwqLnBuZwogICAgYmFuYW5hc19TbGljZV96X2tU
LnBuZwogICAgYmFuYW5hc19TbGljZV96X2RlbnNpdHkucG5nCj0yMAoKZGlmZiAtciAwY2JmZjJm
OWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNi
ODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSBzZXR1cC5weQotLS0gYS9zZXR1cC5weQorKysgYi9zZXR1
cC5weQpAQCAtMTE0LDcgKzExNCw3IEBACiAjIEVuZCBzbmlwcGV0CiAjIyMjIyMKPTIwCi1WRVJT
SU9OID0zRCAiMy4yZGV2IgorVkVSU0lPTiA9M0QgIjMuMy1kZXYiCj0yMAogaWYgb3MucGF0aC5l
eGlzdHMoJ01BTklGRVNUJyk6CiAgICAgb3MucmVtb3ZlKCdNQU5JRkVTVCcpCgpkaWZmIC1yIDBj
YmZmMmY5ZDBlMmNiYzFiY2Q5MDIxOGYwNmI2NWUzMGJkMDZkODUgLXIgNjQ0ZGFkNGRlNzE2NjBm
MDhkY2I4OWE9CmMwYWM1NTI2ZDVlNWFkYmI5IHl0L19faW5pdF9fLnB5Ci0tLSBhL3l0L19faW5p
dF9fLnB5CisrKyBiL3l0L19faW5pdF9fLnB5CkBAIC03Miw3ICs3Miw3IEBACiAjIFRoZSBmdWxs
IGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdpdGggdGhp
cyBzb2Z0dz0KYXJlLgogIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KPTIwCi1fX3ZlcnNpb25fXyA9
M0QgIjMuMi1kZXYiCitfX3ZlcnNpb25fXyA9M0QgIjMuMy1kZXYiCj0yMAogIyBGaXJzdCBtb2R1
bGUgaW1wb3J0cwogaW1wb3J0IG51bXB5IGFzIG5wICMgRm9yIG1vZGVybiBwdXJwb3NlcwoKZGlm
ZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRk
ZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSB5dC9hbmFseXNpc19tb2R1bGVzL3N0
YXJfYW5hbHlzaXMvc2ZyX3NwZWN0cnVtLnB5Ci0tLSBhL3l0L2FuYWx5c2lzX21vZHVsZXMvc3Rh
cl9hbmFseXNpcy9zZnJfc3BlY3RydW0ucHkKKysrIGIveXQvYW5hbHlzaXNfbW9kdWxlcy9zdGFy
X2FuYWx5c2lzL3Nmcl9zcGVjdHJ1bS5weQpAQCAtMzU0LDEyICszNTQsMTkgQEAKPTIwCiAgICAg
ICAgIHIiIiJGb3IgdGhlIHNldCBvZiBzdGFycywgY2FsY3VsYXRlIHRoZSBjb2xsZWN0aXZlIHNw
ZWN0cnVtLgogICAgICAgICBBdHRhY2hlZCB0byB0aGUgb3V0cHV0IGFyZSBzZXZlcmFsIHVzZWZ1
bCBvYmplY3RzOgotICAgICAgICBmaW5hbF9zcGVjOiBUaGUgY29sbGVjdGl2ZSBzcGVjdHJ1bSBp
biB1bml0cyBvZiBmbHV4IGJpbm5lZCBpbgotICAgICAgICAgICAgd2F2ZWxlbmd0aC4KLSAgICAg
ICAgd2F2ZWxlbmd0aDogVGhlIHdhdmVsZW5ndGggZm9yIHRoZSBzcGVjdHJ1bSBiaW5zLCBpbiBB
bmdzdHJvbXMuCi0gICAgICAgIHRvdGFsX21hc3M6IFRvdGFsIG1hc3Mgb2YgYWxsIHRoZSBzdGFy
cy4KLSAgICAgICAgYXZnX21hc3M6IEF2ZXJhZ2UgbWFzcyBvZiBhbGwgdGhlIHN0YXJzLgotICAg
ICAgICBhdmdfbWV0YWw6IEF2ZXJhZ2UgbWV0YWxsaWNpdHkgb2YgYWxsIHRoZSBzdGFycy4KKwor
ICAgICAgICBBdHRyaWJ1dGVzCisgICAgICAgIC0tLS0tLS0tLS0KKyAgICAgICAgZmluYWxfc3Bl
YzogYXJyYXkKKyAgICAgICAgICAgIFRoZSBjb2xsZWN0aXZlIHNwZWN0cnVtIGluIHVuaXRzIG9m
IGZsdXggYmlubmVkIGluIHdhdmVsZW5ndGguCisgICAgICAgIHdhdmVsZW5ndGg6IGFycmF5Cisg
ICAgICAgICAgICBUaGUgd2F2ZWxlbmd0aCBmb3IgdGhlIHNwZWN0cnVtIGJpbnMsIGluIEFuZ3N0
cm9tcy4KKyAgICAgICAgdG90YWxfbWFzczogZmxvYXQKKyAgICAgICAgICAgIFRvdGFsIG1hc3Mg
b2YgYWxsIHRoZSBzdGFycy4KKyAgICAgICAgYXZnX21hc3M6IGZsb2F0CisgICAgICAgICAgICBB
dmVyYWdlIG1hc3Mgb2YgYWxsIHRoZSBzdGFycy4KKyAgICAgICAgYXZnX21ldGFsOiBmbG9hdAor
ICAgICAgICAgICAgQXZlcmFnZSBtZXRhbGxpY2l0eSBvZiBhbGwgdGhlIHN0YXJzLgo9MjAKICAg
ICAgICAgUGFyYW1ldGVycwogICAgICAgICAtLS0tLS0tLS0tCkBAIC0zODksNiArMzk2LDcgQEAK
ICAgICAgICAgPj4+IHNwID0zRCBkcy5zcGhlcmUoWzAuNSwgMC41LCAwLjVdLCAwLjEpCiAgICAg
ICAgID4+PiBzcGVjLmNhbGN1bGF0ZV9zcGVjdHJ1bShkYXRhX3NvdXJjZT0zRHNwLCBtaW5fYWdl
PTNEMS5lNikKICAgICAgICAgIiIiCisKICAgICAgICAgIyBJbml0aWFsaXplIHZhbHVlcwogICAg
ICAgICBzZWxmLmZpbmFsX3NwZWMgPTNEIG5wLnplcm9zKHNlbGYud2F2ZWxlbmd0aC5zaXplLCBk
dHlwZT0zRCdmbG9hdDY9CjQnKQogICAgICAgICBzZWxmLl9kYXRhX3NvdXJjZSA9M0QgZGF0YV9z
b3VyY2UKCmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4ZjA2YjY1ZTMwYmQwNmQ4NSAt
ciA2NDRkYWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1YWRiYjkgeXQvY29uZmlnLnB5
Ci0tLSBhL3l0L2NvbmZpZy5weQorKysgYi95dC9jb25maWcucHkKQEAgLTEsMTEgKzEsMTAgQEAK
ICIiIgogVGhpcyBtb2R1bGUgaXMgdmVyeSBzaW1wbGUuICBJdCBpbXBvcnRzIHRoZSBjb25maWd1
cmF0aW9uCiB3ZSBoYXZlIHdyaXR0ZW4gZm9yIHl0LgotRXZlcnl0aGluZyB3aWxsIGJlIHJldHVy
bmVkIGluIGEgZ2xvYmFsIGNvbmZpZyBkaWN0aW9uYXJ5OiB5dGNmZwotCi0KK0V2ZXJ5dGhpbmcg
d2lsbCBiZSByZXR1cm5lZCBpbiBhIGdsb2JhbCBjb25maWcgZGljdGlvbmFyeSBgYHl0Y2ZnYGAK
PTIwCiAiIiIKKwogZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgo9MjAKICMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tPQotLS0tCgpkaWZmIC1yIDBjYmZmMmY5ZDBlMmNiYzFiY2Q5MDIxOGYw
NmI2NWUzMGJkMDZkODUgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWE9CmMwYWM1NTI2ZDVlNWFk
YmI5IHl0L2RhdGFfb2JqZWN0cy9jb25zdHJ1Y3Rpb25fZGF0YV9jb250YWluZXJzLnB5Ci0tLSBh
L3l0L2RhdGFfb2JqZWN0cy9jb25zdHJ1Y3Rpb25fZGF0YV9jb250YWluZXJzLnB5CisrKyBiL3l0
L2RhdGFfb2JqZWN0cy9jb25zdHJ1Y3Rpb25fZGF0YV9jb250YWluZXJzLnB5CkBAIC05NjEsMTUg
Kzk2MSwxNSBAQAogICAgIHdpdGggbm8gY29uc2lkZXJhdGlvbiBvZiBnbG9iYWwgY29ubmVjdGVk
bmVzcywgYW5kIHJldHVybnMgdGhlIHZlcnRpY2VzCiAgICAgb2YgdGhlIFRyaWFuZ2xlcyBpbiB0
aGF0IGlzb2NvbnRvdXIuCj0yMAotICAgIFRoaXMgb2JqZWN0IHNpbXBseSByZXR1cm5zIHRoZSB2
ZXJ0aWNlcyBvZiBhbGwgdGhlIHRyaWFuZ2xlcwotICAgIGNhbGN1bGF0ZWQgYnkgdGhlIG1hcmNo
aW5nIGN1YmVzIGFsZ29yaXRobTsgZm9yIG1vcmUgY29tcGxleAotICAgIG9wZXJhdGlvbnMsIHN1
Y2ggYXMgaWRlbnRpZnlpbmcgY29ubmVjdGVkIHNldHMgb2YgY2VsbHMgYWJvdmUgYSBnaXZlbgot
ICAgIHRocmVzaG9sZCwgc2VlIHRoZSBleHRyYWN0X2Nvbm5lY3RlZF9zZXRzIGZ1bmN0aW9uLiAg
VGhpcyBpcyBtb3JlCi0gICAgdXNlZnVsIGZvciBjYWxjdWxhdGluZywgZm9yIGluc3RhbmNlLCB0
b3RhbCBpc29jb250b3VyIGFyZWEsIG9yCisgICAgVGhpcyBvYmplY3Qgc2ltcGx5IHJldHVybnMg
dGhlIHZlcnRpY2VzIG9mIGFsbCB0aGUgdHJpYW5nbGVzIGNhbGN1bGF0ZT0KZCBieQorICAgIHRo
ZSBgbWFyY2hpbmcgY3ViZXMgPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWFyY2hpbmdf
Y3ViZXM+YF8KKyAgICBhbGdvcml0aG07IGZvciBtb3JlIGNvbXBsZXggb3BlcmF0aW9ucywgc3Vj
aCBhcyBpZGVudGlmeWluZyBjb25uZWN0ZWQgPQpzZXRzCisgICAgb2YgY2VsbHMgYWJvdmUgYSBn
aXZlbiB0aHJlc2hvbGQsIHNlZSB0aGUgZXh0cmFjdF9jb25uZWN0ZWRfc2V0cyBmdW5jdD0KaW9u
LgorICAgIFRoaXMgaXMgbW9yZSB1c2VmdWwgZm9yIGNhbGN1bGF0aW5nLCBmb3IgaW5zdGFuY2Us
IHRvdGFsIGlzb2NvbnRvdXIgYXI9CmVhLCBvcgogICAgIHZpc3VhbGl6aW5nIGluIGFuIGV4dGVy
bmFsIHByb2dyYW0gKHN1Y2ggYXMgYE1lc2hMYWIKLSAgICA8aHR0cDovL21lc2hsYWIuc2YubmV0
PmBfLikgIFRoZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0aWVzIC52ZXJ0aWNlcwotICAgIGFuZCB3
aWxsIHNhbXBsZSB2YWx1ZXMgaWYgYSBmaWVsZCBpcyByZXF1ZXN0ZWQuICBUaGUgdmFsdWVzIGFy
ZQotICAgIGludGVycG9sYXRlZCB0byB0aGUgY2VudGVyIG9mIGEgZ2l2ZW4gZmFjZS4KKyAgICA8
aHR0cDovL21lc2hsYWIuc2YubmV0PmBfLikgIFRoZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0aWVz
IC52ZXJ0aWNlcyBhPQpuZAorICAgIHdpbGwgc2FtcGxlIHZhbHVlcyBpZiBhIGZpZWxkIGlzIHJl
cXVlc3RlZC4gIFRoZSB2YWx1ZXMgYXJlIGludGVycG9sYXQ9CmVkIHRvCisgICAgdGhlIGNlbnRl
ciBvZiBhIGdpdmVuIGZhY2UuCj0yMAogICAgIFBhcmFtZXRlcnMKICAgICAtLS0tLS0tLS0tCkBA
IC05ODEsMTEgKzk4MSw2IEBACiAgICAgZmllbGRfdmFsdWUgOiBmbG9hdAogICAgICAgICBUaGUg
dmFsdWUgYXQgd2hpY2ggdGhlIGlzb2NvbnRvdXIgc2hvdWxkIGJlIGNhbGN1bGF0ZWQuCj0yMAot
ICAgIFJlZmVyZW5jZXMKLSAgICAtLS0tLS0tLS0tCi0KLSAgICAuLiBbMV0gTWFyY2hpbmcgQ3Vi
ZXM6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWFyY2hpbmdfY3ViZXMKLQogICAgIEV4
YW1wbGVzCiAgICAgLS0tLS0tLS0KICAgICBUaGlzIHdpbGwgY3JlYXRlIGEgZGF0YSBvYmplY3Qs
IGZpbmQgYSBuaWNlIHZhbHVlIGluIHRoZSBjZW50ZXIsIGFuZApAQCAtMTA3MCwxMSArMTA2NSwx
MiBAQAogICAgIGRlZiBjYWxjdWxhdGVfZmx1eChzZWxmLCBmaWVsZF94LCBmaWVsZF95LCBmaWVs
ZF96LCBmbHV4aW5nX2ZpZWxkID0zRCA9Ck5vbmUpOgogICAgICAgICByIiIiVGhpcyBjYWxjdWxh
dGVzIHRoZSBmbHV4IG92ZXIgdGhlIHN1cmZhY2UuCj0yMAotICAgICAgICBUaGlzIGZ1bmN0aW9u
IHdpbGwgY29uZHVjdCBtYXJjaGluZyBjdWJlcyBvbiBhbGwgdGhlIGNlbGxzIGluIGEgZ2k9CnZl
bgotICAgICAgICBkYXRhIGNvbnRhaW5lciAoZ3JpZC1ieS1ncmlkKSwgYW5kIHRoZW4gZm9yIGVh
Y2ggaWRlbnRpZmllZCB0cmlhbmc9CnVsYXIKLSAgICAgICAgc2VnbWVudCBvZiBhbiBpc29jb250
b3VyIGluIGEgZ2l2ZW4gY2VsbCwgY2FsY3VsYXRlIHRoZSBncmFkaWVudCAoPQppLmUuLAotICAg
ICAgICBub3JtYWwpIGluIHRoZSBpc29jb250b3VyZWQgZmllbGQsIGludGVycG9sYXRlIHRoZSBs
b2NhbCB2YWx1ZSBvZiA9CnRoZQotICAgICAgICAiZmx1eGluZyIgZmllbGQsIHRoZSBhcmVhIG9m
IHRoZSB0cmlhbmdsZSwgYW5kIHRoZW4gcmV0dXJuOgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdp
bGwgY29uZHVjdCBgbWFyY2hpbmcgY3ViZXMKKyAgICAgICAgPGh0dHA6Ly9lbi53aWtpcGVkaWEu
b3JnL3dpa2kvTWFyY2hpbmdfY3ViZXM+YF8gb24gYWxsIHRoZSBjZWxscyBpPQpuIGEKKyAgICAg
ICAgZ2l2ZW4gZGF0YSBjb250YWluZXIgKGdyaWQtYnktZ3JpZCksIGFuZCB0aGVuIGZvciBlYWNo
IGlkZW50aWZpZWQKKyAgICAgICAgdHJpYW5ndWxhciBzZWdtZW50IG9mIGFuIGlzb2NvbnRvdXIg
aW4gYSBnaXZlbiBjZWxsLCBjYWxjdWxhdGUgdGhlCisgICAgICAgIGdyYWRpZW50IChpLmUuLCBu
b3JtYWwpIGluIHRoZSBpc29jb250b3VyZWQgZmllbGQsIGludGVycG9sYXRlIHRoZT0KIGxvY2Fs
CisgICAgICAgIHZhbHVlIG9mIHRoZSAiZmx1eGluZyIgZmllbGQsIHRoZSBhcmVhIG9mIHRoZSB0
cmlhbmdsZSwgYW5kIHRoZW4gcj0KZXR1cm46Cj0yMAogICAgICAgICBhcmVhICogbG9jYWxfZmx1
eF92YWx1ZSAqIChuIGRvdCB2KQo9MjAKCmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4
ZjA2YjY1ZTMwYmQwNmQ4NSAtciA2NDRkYWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1
YWRiYjkgeXQvZGF0YV9vYmplY3RzL2RhdGFfY29udGFpbmVycy5weQotLS0gYS95dC9kYXRhX29i
amVjdHMvZGF0YV9jb250YWluZXJzLnB5CisrKyBiL3l0L2RhdGFfb2JqZWN0cy9kYXRhX2NvbnRh
aW5lcnMucHkKQEAgLTEwMzIsOSArMTAzMiwxMCBAQAogICAgICAgICBUcmlhbmdsZXMgaW4gdGhh
dCBpc29jb250b3VyLgo9MjAKICAgICAgICAgVGhpcyBmdW5jdGlvbiBzaW1wbHkgcmV0dXJucyB0
aGUgdmVydGljZXMgb2YgYWxsIHRoZSB0cmlhbmdsZXMKLSAgICAgICAgY2FsY3VsYXRlZCBieSB0
aGUgbWFyY2hpbmcgY3ViZXMgYWxnb3JpdGhtOyBmb3IgbW9yZSBjb21wbGV4Ci0gICAgICAgIG9w
ZXJhdGlvbnMsIHN1Y2ggYXMgaWRlbnRpZnlpbmcgY29ubmVjdGVkIHNldHMgb2YgY2VsbHMgYWJv
dmUgYSBnaT0KdmVuCi0gICAgICAgIHRocmVzaG9sZCwgc2VlIHRoZSBleHRyYWN0X2Nvbm5lY3Rl
ZF9zZXRzIGZ1bmN0aW9uLiAgVGhpcyBpcyBtb3JlCisgICAgICAgIGNhbGN1bGF0ZWQgYnkgdGhl
IGBtYXJjaGluZyBjdWJlcworICAgICAgICA8aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9N
YXJjaGluZ19jdWJlcz5gXyBhbGdvcml0aG07IGZvciBtb3JlCisgICAgICAgIGNvbXBsZXggb3Bl
cmF0aW9ucywgc3VjaCBhcyBpZGVudGlmeWluZyBjb25uZWN0ZWQgc2V0cyBvZiBjZWxscyBhYj0K
b3ZlIGEKKyAgICAgICAgZ2l2ZW4gdGhyZXNob2xkLCBzZWUgdGhlIGV4dHJhY3RfY29ubmVjdGVk
X3NldHMgZnVuY3Rpb24uICBUaGlzIGlzPQogbW9yZQogICAgICAgICB1c2VmdWwgZm9yIGNhbGN1
bGF0aW5nLCBmb3IgaW5zdGFuY2UsIHRvdGFsIGlzb2NvbnRvdXIgYXJlYSwgb3IKICAgICAgICAg
dmlzdWFsaXppbmcgaW4gYW4gZXh0ZXJuYWwgcHJvZ3JhbSAoc3VjaCBhcyBgTWVzaExhYgogICAg
ICAgICA8aHR0cDovL21lc2hsYWIuc2YubmV0PmBfLikKQEAgLTEwNjUsMTEgKzEwNjYsNiBAQAog
ICAgICAgICAgICAgY29udGFpbiB0aGUgdmFsdWVzIG9mIHRoZSBmaWVsZCBzcGVjaWZpZWQgYXQg
dGhlIGNlbnRlciBvZiBlYWNoCiAgICAgICAgICAgICB0cmlhbmdsZS4KPTIwCi0gICAgICAgIFJl
ZmVyZW5jZXMKLSAgICAgICAgLS0tLS0tLS0tLQotCi0gICAgICAgIC4uIFsxXSBNYXJjaGluZyBD
dWJlczogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYXJjaGluZ19jdWJlcwotCiAgICAg
ICAgIEV4YW1wbGVzCiAgICAgICAgIC0tLS0tLS0tCiAgICAgICAgIFRoaXMgd2lsbCBjcmVhdGUg
YSBkYXRhIG9iamVjdCwgZmluZCBhIG5pY2UgdmFsdWUgaW4gdGhlIGNlbnRlciwgYT0KbmQKQEAg
LTExMzAsMTEgKzExMjYsMTIgQEAKICAgICAgICAgY29uc2lkZXJhdGlvbiBvZiBnbG9iYWwgY29u
bmVjdGVkbmVzcywgYW5kIGNhbGN1bGF0ZXMgdGhlIGZsdXggb3ZlcgogICAgICAgICB0aG9zZSBj
b250b3Vycy4KPTIwCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBjb25kdWN0IG1hcmNoaW5n
IGN1YmVzIG9uIGFsbCB0aGUgY2VsbHMgaW4gYSBnaT0KdmVuCi0gICAgICAgIGRhdGEgY29udGFp
bmVyIChncmlkLWJ5LWdyaWQpLCBhbmQgdGhlbiBmb3IgZWFjaCBpZGVudGlmaWVkIHRyaWFuZz0K
dWxhcgotICAgICAgICBzZWdtZW50IG9mIGFuIGlzb2NvbnRvdXIgaW4gYSBnaXZlbiBjZWxsLCBj
YWxjdWxhdGUgdGhlIGdyYWRpZW50ICg9CmkuZS4sCi0gICAgICAgIG5vcm1hbCkgaW4gdGhlIGlz
b2NvbnRvdXJlZCBmaWVsZCwgaW50ZXJwb2xhdGUgdGhlIGxvY2FsIHZhbHVlIG9mID0KdGhlCi0g
ICAgICAgICJmbHV4aW5nIiBmaWVsZCwgdGhlIGFyZWEgb2YgdGhlIHRyaWFuZ2xlLCBhbmQgdGhl
biByZXR1cm46CisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBjb25kdWN0IGBtYXJjaGluZyBj
dWJlcworICAgICAgICA8aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYXJjaGluZ19jdWJl
cz5gXyBvbiBhbGwgdGhlIGNlbGxzIGk9Cm4gYQorICAgICAgICBnaXZlbiBkYXRhIGNvbnRhaW5l
ciAoZ3JpZC1ieS1ncmlkKSwgYW5kIHRoZW4gZm9yIGVhY2ggaWRlbnRpZmllZAorICAgICAgICB0
cmlhbmd1bGFyIHNlZ21lbnQgb2YgYW4gaXNvY29udG91ciBpbiBhIGdpdmVuIGNlbGwsIGNhbGN1
bGF0ZSB0aGUKKyAgICAgICAgZ3JhZGllbnQgKGkuZS4sIG5vcm1hbCkgaW4gdGhlIGlzb2NvbnRv
dXJlZCBmaWVsZCwgaW50ZXJwb2xhdGUgdGhlPQogbG9jYWwKKyAgICAgICAgdmFsdWUgb2YgdGhl
ICJmbHV4aW5nIiBmaWVsZCwgdGhlIGFyZWEgb2YgdGhlIHRyaWFuZ2xlLCBhbmQgdGhlbiByPQpl
dHVybjoKPTIwCiAgICAgICAgIGFyZWEgKiBsb2NhbF9mbHV4X3ZhbHVlICogKG4gZG90IHYpCj0y
MApAQCAtMTE3MiwxMSArMTE2OSw2IEBACiAgICAgICAgICAgICBUaGUgc3VtbWVkIGZsdXguICBO
b3RlIHRoYXQgaXQgaXMgbm90IGN1cnJlbnRseSBzY2FsZWQ7IHRoaXMgaXMKICAgICAgICAgICAg
IHNpbXBseSB0aGUgY29kZS11bml0IGFyZWEgdGltZXMgdGhlIGZpZWxkcy4KPTIwCi0gICAgICAg
IFJlZmVyZW5jZXMKLSAgICAgICAgLS0tLS0tLS0tLQotCi0gICAgICAgIC4uIFsxXSBNYXJjaGlu
ZyBDdWJlczogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYXJjaGluZ19jdWJlcwotCiAg
ICAgICAgIEV4YW1wbGVzCiAgICAgICAgIC0tLS0tLS0tCiAgICAgICAgIFRoaXMgd2lsbCBjcmVh
dGUgYSBkYXRhIG9iamVjdCwgZmluZCBhIG5pY2UgdmFsdWUgaW4gdGhlIGNlbnRlciwgYT0KbmQK
CmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4ZjA2YjY1ZTMwYmQwNmQ4NSAtciA2NDRk
YWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1YWRiYjkgeXQvZGF0YV9vYmplY3RzL3N0
YXRpY19vdXRwdXQucHkKLS0tIGEveXQvZGF0YV9vYmplY3RzL3N0YXRpY19vdXRwdXQucHkKKysr
IGIveXQvZGF0YV9vYmplY3RzL3N0YXRpY19vdXRwdXQucHkKQEAgLTI1NiwyNyArMjU2LDI3IEBA
CiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgZm9yIGkgaW4gc2VsZi5wYXJhbWV0ZXJz
OiB5aWVsZCBpCj0yMAotICAgIGRlZiBnZXRfc21hbGxlc3RfYXBwcm9wcmlhdGVfdW5pdChzZWxm
LCB2LCBxdWFudGl0eT0zRCdkaXN0YW5jZScsPTIwCisgICAgZGVmIGdldF9zbWFsbGVzdF9hcHBy
b3ByaWF0ZV91bml0KHNlbGYsIHYsIHF1YW50aXR5PTNEJ2Rpc3RhbmNlJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3F1YW50aXR5PTNERmFsc2UpOgogICAg
ICAgICAiIiIKLSAgICAgICAgUmV0dXJucyB0aGUgbGFyZ2VzdCB3aG9sZSB1bml0IHNtYWxsZXIg
dGhhbiB0aGUgWVRRdWFudGl0eSBwYXNzZWQgPQp0bz0yMAorICAgICAgICBSZXR1cm5zIHRoZSBs
YXJnZXN0IHdob2xlIHVuaXQgc21hbGxlciB0aGFuIHRoZSBZVFF1YW50aXR5IHBhc3NlZCA9CnRv
CiAgICAgICAgIGl0IGFzIGEgc3RyaW5nLgo9MjAKLSAgICAgICAgVGhlIHF1YW50aXR5IGtleXdv
cmQgY2FuIGJlIGVxdWFsIHRvIGBkaXN0YW5jZWAgb3IgYHRpbWVgLiAgSW4gdGhlPTIwCi0gICAg
ICAgIGNhc2Ugb2YgZGlzdGFuY2UsIHRoZSB1bml0cyBhcmU6ICdNcGMnLCAna3BjJywgJ3BjJywg
J2F1JywgJ3JzdW4nLD0yMAotICAgICAgICAna20nLCBldGMuICBGb3IgdGltZSwgdGhlIHVuaXRz
IGFyZTogJ015cicsICdreXInLCAneXInLCAnZGF5JywgJ2g9CnInLD0yMAorICAgICAgICBUaGUg
cXVhbnRpdHkga2V5d29yZCBjYW4gYmUgZXF1YWwgdG8gYGRpc3RhbmNlYCBvciBgdGltZWAuICBJ
biB0aGUKKyAgICAgICAgY2FzZSBvZiBkaXN0YW5jZSwgdGhlIHVuaXRzIGFyZTogJ01wYycsICdr
cGMnLCAncGMnLCAnYXUnLCAncnN1bicsCisgICAgICAgICdrbScsIGV0Yy4gIEZvciB0aW1lLCB0
aGUgdW5pdHMgYXJlOiAnTXlyJywgJ2t5cicsICd5cicsICdkYXknLCAnaD0KcicsCiAgICAgICAg
ICdzJywgJ21zJywgZXRjLgotICAgICAgID0yMAotICAgICAgICBJZiByZXR1cm5fcXVhbnRpdHkg
aXMgc2V0IHRvIFRydWUsIGl0IGZpbmRzIHRoZSBsYXJnZXN0IFlUUXVhbnRpdHk9MjAKLSAgICAg
ICAgb2JqZWN0IHdpdGggYSB3aG9sZSB1bml0IGFuZCBhIHBvd2VyIG9mIHRlbiBhcyB0aGUgY29l
ZmZpY2llbnQsIGFuPQpkIGl0PTIwCisKKyAgICAgICAgSWYgcmV0dXJuX3F1YW50aXR5IGlzIHNl
dCB0byBUcnVlLCBpdCBmaW5kcyB0aGUgbGFyZ2VzdCBZVFF1YW50aXR5CisgICAgICAgIG9iamVj
dCB3aXRoIGEgd2hvbGUgdW5pdCBhbmQgYSBwb3dlciBvZiB0ZW4gYXMgdGhlIGNvZWZmaWNpZW50
LCBhbj0KZCBpdAogICAgICAgICByZXR1cm5zIHRoaXMgWVRRdWFudGl0eS4KICAgICAgICAgIiIi
CiAgICAgICAgIGdvb2RfdSA9M0QgTm9uZQogICAgICAgICBpZiBxdWFudGl0eSA9M0Q9M0QgJ2Rp
c3RhbmNlJzoKLSAgICAgICAgICAgIHVuaXRfbGlzdCA9M0RbJ1BwYycsICdUcGMnLCAnR3BjJywg
J01wYycsICdrcGMnLCAncGMnLCAnYXUnLCAnPQpyc3VuJyw9MjAKKyAgICAgICAgICAgIHVuaXRf
bGlzdCA9M0RbJ1BwYycsICdUcGMnLCAnR3BjJywgJ01wYycsICdrcGMnLCAncGMnLCAnYXUnLCAn
PQpyc3VuJywKICAgICAgICAgICAgICAgICAgICAgICAgICdrbScsICdjbScsICd1bScsICdubScs
ICdwbSddCiAgICAgICAgIGVsaWYgcXVhbnRpdHkgPTNEPTNEICd0aW1lJzoKLSAgICAgICAgICAg
IHVuaXRfbGlzdCA9M0RbJ1l5cicsICdaeXInLCAnRXlyJywgJ1B5cicsICdUeXInLCAnR3lyJywg
J015cicsPQogJ2t5cicsPTIwCisgICAgICAgICAgICB1bml0X2xpc3QgPTNEWydZeXInLCAnWnly
JywgJ0V5cicsICdQeXInLCAnVHlyJywgJ0d5cicsICdNeXInLD0KICdreXInLAogICAgICAgICAg
ICAgICAgICAgICAgICAgJ3lyJywgJ2RheScsICdocicsICdzJywgJ21zJywgJ3VzJywgJ25zJywg
J3BzJywgJ2Y9CnMnXQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgU3ludGF4RXJy
b3IoIlNwZWNpZmllZCBxdWFudGl0eSBtdXN0IGJlIGVxdWFsIHRvICdkaXN0YW49CmNlJyJcCkBA
IC0zMDEsNyArMzAxLDcgQEAKICAgICAgICAgICAgICAgICB1cSA9M0Qgc2VsZi5xdWFuKGosIGdv
b2RfdSkKICAgICAgICAgICAgICAgICBpZiB1cSA8PTNEIHY6CiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiB1cQotICAgICAgICBlbHNlOiAgICAgICAgICAgPTIwCisgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICByZXR1cm4gZ29vZF91Cj0yMAogICAgIGRlZiBoYXNfa2V5KHNlbGYsIGtleSk6
CkBAIC0zNzUsNiArMzc1LDcgQEAKICAgICAgICAgICAgIG15bG9nLmRlYnVnKCJDcmVhdGluZyBQ
YXJ0aWNsZSBVbmlvbiAnYWxsJyIpCiAgICAgICAgICAgICBwdSA9M0QgUGFydGljbGVVbmlvbigi
YWxsIiwgbGlzdChzZWxmLnBhcnRpY2xlX3R5cGVzX3JhdykpCiAgICAgICAgICAgICBzZWxmLmFk
ZF9wYXJ0aWNsZV91bmlvbihwdSkKKyAgICAgICAgc2VsZi5maWVsZF9pbmZvLnNldHVwX2V4dHJh
X3VuaW9uX2ZpZWxkcygpCiAgICAgICAgIG15bG9nLmluZm8oIkxvYWRpbmcgZmllbGQgcGx1Z2lu
cy4iKQogICAgICAgICBzZWxmLmZpZWxkX2luZm8ubG9hZF9hbGxfcGx1Z2lucygpCiAgICAgICAg
IGRlcHMsIHVubG9hZGVkID0zRCBzZWxmLmZpZWxkX2luZm8uY2hlY2tfZGVyaXZlZF9maWVsZHMo
KQpAQCAtNTk5LDcgKzYwMCw3IEBACiAgICAgZGVmIGZpbmRfZmllbGRfdmFsdWVzX2F0X3BvaW50
KHNlbGYsIGZpZWxkcywgY29vcmRzKToKICAgICAgICAgIiIiCiAgICAgICAgIFJldHVybnMgdGhl
IHZhbHVlcyBbZmllbGQxLCBmaWVsZDIsLi4uXSBvZiB0aGUgZmllbGRzIGF0IHRoZSBnaXZlbgot
ICAgICAgICBjb29yZGluYXRlcy4gUmV0dXJucyBhIGxpc3Qgb2YgZmllbGQgdmFsdWVzIGluIHRo
ZSBzYW1lIG9yZGVyIGFzPTIwCisgICAgICAgIGNvb3JkaW5hdGVzLiBSZXR1cm5zIGEgbGlzdCBv
ZiBmaWVsZCB2YWx1ZXMgaW4gdGhlIHNhbWUgb3JkZXIgYXMKICAgICAgICAgdGhlIGlucHV0ICpm
aWVsZHMqLgogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIHNlbGYucG9pbnQoY29vcmRzKVtm
aWVsZHNdCkBAIC02MDcsNyArNjA4LDcgQEAKICAgICBkZWYgZmluZF9maWVsZF92YWx1ZXNfYXRf
cG9pbnRzKHNlbGYsIGZpZWxkcywgY29vcmRzKToKICAgICAgICAgIiIiCiAgICAgICAgIFJldHVy
bnMgdGhlIHZhbHVlcyBbZmllbGQxLCBmaWVsZDIsLi4uXSBvZiB0aGUgZmllbGRzIGF0IHRoZSBn
aXZlbgotICAgICAgICBbKHgxLCB5MSwgejIpLCAoeDIsIHkyLCB6MiksLi4uXSBwb2ludHMuICBS
ZXR1cm5zIGEgbGlzdCBvZiBmaWVsZD0yMAorICAgICAgICBbKHgxLCB5MSwgejIpLCAoeDIsIHky
LCB6MiksLi4uXSBwb2ludHMuICBSZXR1cm5zIGEgbGlzdCBvZiBmaWVsZAogICAgICAgICB2YWx1
ZXMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGlucHV0ICpmaWVsZHMqLgo9MjAKICAgICAgICAg
VGhpcyBpcyBxdWl0ZSBzbG93IHJpZ2h0IG5vdyBhcyBpdCBjcmVhdGVzIGEgbmV3IGRhdGEgb2Jq
ZWN0IGZvciBlPQphY2gKQEAgLTc4Nyw4ICs3ODgsNyBAQAo9MjAKICAgICAgICAgaW5wdXRfYXJy
YXkgOiBpdGVyYWJsZQogICAgICAgICAgICAgQSB0dXBsZSwgbGlzdCwgb3IgYXJyYXkgdG8gYXR0
YWNoIHVuaXRzIHRvCi0gICAgICAgIGlucHV0X3VuaXRzIDogU3RyaW5nIHVuaXQgc3BlY2lmaWNh
dGlvbiwgdW5pdCBzeW1ib2wgb2JqZWN0LCBvciBhcz0KdHJvcHkKLSAgICAgICAgICAgICAgICAg
ICAgICB1bml0cyBvYmplY3QKKyAgICAgICAgaW5wdXRfdW5pdHMgOiBTdHJpbmcgdW5pdCBzcGVj
aWZpY2F0aW9uLCB1bml0IHN5bWJvbCBvciBhc3Ryb3B5IG9iPQpqZWN0CiAgICAgICAgICAgICBU
aGUgdW5pdHMgb2YgdGhlIGFycmF5LiBQb3dlcnMgbXVzdCBiZSBzcGVjaWZpZWQgdXNpbmcgcHl0
aG9uID0Kc3ludGF4CiAgICAgICAgICAgICAoY20qKjMsIG5vdCBjbV4zKS4KICAgICAgICAgZHR5
cGUgOiBzdHJpbmcgb3IgTnVtUHkgZHR5cGUgb2JqZWN0CkBAIC04MTUsNiArODE1LDcgQEAKICAg
ICAgICAgICAgICAgICAgMS4wMDAxMDQ0OV0pIE1wYwo9MjAKICAgICAgICAgIiIiCisKICAgICAg
ICAgaWYgc2VsZi5fYXJyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2Fy
cgogICAgICAgICBzZWxmLl9hcnIgPTNEIGZ1bmN0b29scy5wYXJ0aWFsKFlUQXJyYXksIHJlZ2lz
dHJ5ID0zRCBzZWxmLnVuaXRfcmU9Cmdpc3RyeSkKQEAgLTgzMyw4ICs4MzQsNyBAQAo9MjAKICAg
ICAgICAgaW5wdXRfc2NhbGFyIDogYW4gaW50ZWdlciBvciBmbG9hdGluZyBwb2ludCBzY2FsYXIK
ICAgICAgICAgICAgIFRoZSBzY2FsYXIgdG8gYXR0YWNoIHVuaXRzIHRvCi0gICAgICAgIGlucHV0
X3VuaXRzIDogU3RyaW5nIHVuaXQgc3BlY2lmaWNhdGlvbiwgdW5pdCBzeW1ib2wgb2JqZWN0LCBv
ciBhcz0KdHJvcHkKLSAgICAgICAgICAgICAgICAgICAgICB1bml0cworICAgICAgICBpbnB1dF91
bml0cyA6IFN0cmluZyB1bml0IHNwZWNpZmljYXRpb24sIHVuaXQgc3ltYm9sIG9yIGFzdHJvcHkg
b2I9CmplY3QKICAgICAgICAgICAgIFRoZSB1bml0cyBvZiB0aGUgcXVhbnRpdHkuIFBvd2VycyBt
dXN0IGJlIHNwZWNpZmllZCB1c2luZyBweXRoPQpvbgogICAgICAgICAgICAgc3ludGF4IChjbSoq
Mywgbm90IGNtXjMpLgogICAgICAgICBkdHlwZSA6IHN0cmluZyBvciBOdW1QeSBkdHlwZSBvYmpl
Y3QKQEAgLTg2MSw2ICs4NjEsNyBAQAogICAgICAgICAxLjU0M2UrMjUgY20KPTIwCiAgICAgICAg
ICIiIgorCiAgICAgICAgIGlmIHNlbGYuX3F1YW4gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5fcXVhbgogICAgICAgICBzZWxmLl9xdWFuID0zRCBmdW5jdG9vbHMucGFydGlh
bChZVFF1YW50aXR5LCByZWdpc3RyeT0zRHNlbGYudW5pdF89CnJlZ2lzdHJ5KQpAQCAtOTY4LDEy
ICs5NjksMTIgQEAKICAgICAgICAgcmV0dXJuICgiZGVwb3NpdCIsIGZpZWxkX25hbWUpCj0yMAog
ICAgIGRlZiBhZGRfZ3JhZGllbnRfZmllbGRzKHNlbGYsIGlucHV0X2ZpZWxkKToKLSAgICAgICAg
IiIiQWRkIGdyYWRpZW50IGZpZWxkcy49MjAKKyAgICAgICAgIiIiQWRkIGdyYWRpZW50IGZpZWxk
cy4KPTIwCiAgICAgICAgIENyZWF0ZXMgZm91ciBuZXcgZ3JpZC1iYXNlZCBmaWVsZHMgdGhhdCBy
ZXByZXNlbnQgdGhlIGNvbXBvbmVudHMgb2YKICAgICAgICAgdGhlIGdyYWRpZW50IG9mIGFuIGV4
aXN0aW5nIGZpZWxkLCBwbHVzIGFuIGV4dHJhIGZpZWxkIGZvciB0aGUgbWFnPQpuaXR1ZGUKLSAg
ICAgICAgb2YgdGhlIGdyYWRpZW50LiBDdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgaW4gQ2FydGVz
aWFuIGdlb21ldHJpZXMuPQogVGhlPTIwCi0gICAgICAgIGdyYWRpZW50IGlzIGNvbXB1dGVkIHVz
aW5nIHNlY29uZC1vcmRlciBjZW50ZXJlZCBkaWZmZXJlbmNlcy49MjAKKyAgICAgICAgb2YgdGhl
IGdyYWRpZW50LiBDdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgaW4gQ2FydGVzaWFuIGdlb21ldHJp
ZXMuPQogVGhlCisgICAgICAgIGdyYWRpZW50IGlzIGNvbXB1dGVkIHVzaW5nIHNlY29uZC1vcmRl
ciBjZW50ZXJlZCBkaWZmZXJlbmNlcy4KPTIwCiAgICAgICAgIFBhcmFtZXRlcnMKICAgICAgICAg
LS0tLS0tLS0tLQpAQCAtOTg1LDE0ICs5ODYsMTQgQEAKICAgICAgICAgUmV0dXJucwogICAgICAg
ICAtLS0tLS0tCiAgICAgICAgIEEgbGlzdCBvZiBmaWVsZCBuYW1lIHR1cGxlcyBmb3IgdGhlIG5l
d2x5IGNyZWF0ZWQgZmllbGRzLgotICAgICAgID0yMAorCiAgICAgICAgIEV4YW1wbGVzCiAgICAg
ICAgIC0tLS0tLS0tCiAgICAgICAgID4+PiBncmFkX2ZpZWxkcyA9M0QgZHMuYWRkX2dyYWRpZW50
X2ZpZWxkcygoImdhcyIsInRlbXBlcmF0dXJlIikpCiAgICAgICAgID4+PiBwcmludChncmFkX2Zp
ZWxkcykKLSAgICAgICAgWygnZ2FzJywgJ3RlbXBlcmF0dXJlX2dyYWRpZW50X3gnKSw9MjAKLSAg
ICAgICAgICgnZ2FzJywgJ3RlbXBlcmF0dXJlX2dyYWRpZW50X3knKSw9MjAKLSAgICAgICAgICgn
Z2FzJywgJ3RlbXBlcmF0dXJlX2dyYWRpZW50X3onKSw9MjAKKyAgICAgICAgWygnZ2FzJywgJ3Rl
bXBlcmF0dXJlX2dyYWRpZW50X3gnKSwKKyAgICAgICAgICgnZ2FzJywgJ3RlbXBlcmF0dXJlX2dy
YWRpZW50X3knKSwKKyAgICAgICAgICgnZ2FzJywgJ3RlbXBlcmF0dXJlX2dyYWRpZW50X3onKSwK
ICAgICAgICAgICgnZ2FzJywgJ3RlbXBlcmF0dXJlX2dyYWRpZW50X21hZ25pdHVkZScpXQogICAg
ICAgICAiIiIKICAgICAgICAgc2VsZi5pbmRleAoKZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNk
OTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUy
NmQ1ZTVhZGJiOSB5dC9maWVsZHMvZmllbGRfaW5mb19jb250YWluZXIucHkKLS0tIGEveXQvZmll
bGRzL2ZpZWxkX2luZm9fY29udGFpbmVyLnB5CisrKyBiL3l0L2ZpZWxkcy9maWVsZF9pbmZvX2Nv
bnRhaW5lci5weQpAQCAtMjksNiArMjksNyBAQAogZnJvbSAuZmllbGRfcGx1Z2luX3JlZ2lzdHJ5
IGltcG9ydCBcCiAgICAgZmllbGRfcGx1Z2lucwogZnJvbSAucGFydGljbGVfZmllbGRzIGltcG9y
dCBcCisgICAgYWRkX3VuaW9uX2ZpZWxkLCBcCiAgICAgcGFydGljbGVfZGVwb3NpdGlvbl9mdW5j
dGlvbnMsIFwKICAgICBwYXJ0aWNsZV92ZWN0b3JfZnVuY3Rpb25zLCBcCiAgICAgcGFydGljbGVf
c2NhbGFyX2Z1bmN0aW9ucywgXApAQCAtNDcsNiArNDgsNyBAQAogICAgIGZhbGxiYWNrID0zRCBO
b25lCiAgICAga25vd25fb3RoZXJfZmllbGRzID0zRCAoKQogICAgIGtub3duX3BhcnRpY2xlX2Zp
ZWxkcyA9M0QgKCkKKyAgICBleHRyYV91bmlvbl9maWVsZHMgPTNEICgpCj0yMAogICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBkcywgZmllbGRfbGlzdCwgc2xpY2VfaW5mbyA9M0QgTm9uZSk6CiAgICAg
ICAgIHNlbGYuX3Nob3dfZmllbGRfZXJyb3JzID0zRCBbXQpAQCAtMTE3LDYgKzExOSwxMyBAQAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1fbmVpZ2hib3JzPTNEbnVtX25l
aWdoYm9ycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnR5cGU9M0RmdHlw
ZSkKPTIwCisgICAgZGVmIHNldHVwX2V4dHJhX3VuaW9uX2ZpZWxkcyhzZWxmLCBwdHlwZT0zRCJh
bGwiKToKKyAgICAgICAgaWYgcHR5cGUgIT0zRCAiYWxsIjoKKyAgICAgICAgICAgIHJhaXNlIFJ1
bnRpbWVFcnJvcigic2V0dXBfZXh0cmFfdW5pb25fZmllbGRzIGlzIGN1cnJlbnRseSIgKz0yMAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvbmx5IGVuYWJsZWQgZm9yIHBhcnRpY2xl
IHR5cGUgXCJhbGxcIi4iKQorICAgICAgICBmb3IgdW5pdHMsIGZpZWxkIGluIHNlbGYuZXh0cmFf
dW5pb25fZmllbGRzOgorICAgICAgICAgICAgYWRkX3VuaW9uX2ZpZWxkKHNlbGYsIHB0eXBlLCBm
aWVsZCwgdW5pdHMpCisKICAgICBkZWYgc2V0dXBfc21vb3RoZWRfZmllbGRzKHNlbGYsIHB0eXBl
LCBudW1fbmVpZ2hib3JzID0zRCA2NCwgZnR5cGUgPTNEPQogImdhcyIpOgogICAgICAgICAjIFdl
IGNhbiBpbiBwcmluY2lwbGUgY29tcHV0ZSB0aGlzLCBidXQgaXQgaXMgbm90IHlldCBpbXBsZW1l
bnRlZC4KICAgICAgICAgaWYgKHB0eXBlLCAiZGVuc2l0eSIpIG5vdCBpbiBzZWxmOgoKZGlmZiAt
ciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcx
NjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSB5dC9maWVsZHMvcGFydGljbGVfZmllbGRz
LnB5Ci0tLSBhL3l0L2ZpZWxkcy9wYXJ0aWNsZV9maWVsZHMucHkKKysrIGIveXQvZmllbGRzL3Bh
cnRpY2xlX2ZpZWxkcy5weQpAQCAtODM5LDQgKzgzOSwxNyBAQAogICAgICAgICAgICAgICAgICAg
ICAgICB1bml0cyA9M0QgImcvY20qKjMiKQogICAgIHJldHVybiBbZmllbGRfbmFtZV0KPTIwCitk
ZWYgYWRkX3VuaW9uX2ZpZWxkKHJlZ2lzdHJ5LCBwdHlwZSwgZmllbGRfbmFtZSwgdW5pdHMpOgor
ICAgICIiIgorICAgIENyZWF0ZSBhIGZpZWxkIHRoYXQgaXMgdGhlIGNvbmNhdGVuYXRpb24gb2Yg
bXVsdGlwbGUgcGFydGljbGUgdHlwZXMuCisgICAgVGhpcyBhbGxvd3MgdXMgdG8gY3JlYXRlIGZp
ZWxkcyBmb3IgcGFydGljbGUgdW5pb25zIHVzaW5nIGFsaWFzIG5hbWVzLgorICAgICIiIgo9MjAK
KyAgICBkZWYgX2NhdF9maWVsZChmaWVsZCwgZGF0YSk6CisgICAgICAgIHJldHVybiB1Y29uY2F0
ZW5hdGUoW2RhdGFbZGVwX3R5cGUsIGZpZWxkX25hbWVdCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZvciBkZXBfdHlwZSBpbiBkYXRhLmRzLnBhcnRpY2xlX3R5cGVzX3Jhd10pCisKKyAg
ICByZWdpc3RyeS5hZGRfZmllbGQoKHB0eXBlLCBmaWVsZF9uYW1lKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgZnVuY3Rpb249M0RfY2F0X2ZpZWxkLAorICAgICAgICAgICAgICAgICAgICAgICBw
YXJ0aWNsZV90eXBlPTNEVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgdW5pdHM9M0R1bml0
cykKCmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4ZjA2YjY1ZTMwYmQwNmQ4NSAtciA2
NDRkYWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1YWRiYjkgeXQvZnJvbnRlbmRzL2Fy
dC9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2FydC9kYXRhX3N0cnVjdHVy
ZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2FydC9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTI1NSw3
ICsyNTUsNiBAQAogICAgICAgICBzZWxmLnZlbG9jaXR5X3VuaXQgPTNEIHNlbGYucXVhbih2ZWxv
Y2l0eSwgImNtL3MiKQogICAgICAgICBzZWxmLnRpbWVfdW5pdCA9M0Qgc2VsZi5sZW5ndGhfdW5p
dCAvIHNlbGYudmVsb2NpdHlfdW5pdAo9MjAKLQogICAgIGRlZiBfcGFyc2VfcGFyYW1ldGVyX2Zp
bGUoc2VsZik6CiAgICAgICAgICIiIgogICAgICAgICBHZXQgdGhlIHZhcmlvdXMgc2ltdWxhdGlv
biBwYXJhbWV0ZXJzICYgY29uc3RhbnRzLgoKZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAy
MThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1
ZTVhZGJiOSB5dC9mcm9udGVuZHMvYXJ0L2ZpZWxkcy5weQotLS0gYS95dC9mcm9udGVuZHMvYXJ0
L2ZpZWxkcy5weQorKysgYi95dC9mcm9udGVuZHMvYXJ0L2ZpZWxkcy5weQpAQCAtNjAsMyArNjAs
NzUgQEAKICAgICAgICAgKCJwYXJ0aWNsZV9tZXRhbGxpY2l0eTEiLCAoIiIsIFtdLCBOb25lKSks
CiAgICAgICAgICgicGFydGljbGVfbWV0YWxsaWNpdHkyIiwgKCIiLCBbXSwgTm9uZSkpLAogICAg
ICkKKworICAgIGRlZiBzZXR1cF9mbHVpZF9maWVsZHMoc2VsZik6CisgICAgICAgIGRlZiBfdGVt
cGVyYXR1cmUoZmllbGQsIGRhdGEpOgorICAgICAgICAgICAgcjAgPTNEIGRhdGEuZHMucGFyYW1l
dGVyc1snYm94aCddIC8gZGF0YS5kcy5wYXJhbWV0ZXJzWyduZyddCisgICAgICAgICAgICB0ciA9
M0QgZGF0YS5kcy5xdWFuKDMuMDNlNSAqIHIwKioyLCAnSy9jb2RlX3ZlbG9jaXR5KioyJykKKyAg
ICAgICAgICAgIHRyICo9M0QgZGF0YS5kcy5wYXJhbWV0ZXJzWyd3bXUnXSAqIGRhdGEuZHMucGFy
YW1ldGVyc1snT20wJ10KKyAgICAgICAgICAgIHRyICo9M0QgKGRhdGEuZHMucGFyYW1ldGVyc1sn
Z2FtbWEnXSAtIDEuKQorICAgICAgICAgICAgdHIgLz0zRCBkYXRhLmRzLnBhcmFtZXRlcnNbJ2Fl
eHBuJ10qKjIKKyAgICAgICAgICAgIHJldHVybiAgdHIgKiBkYXRhWydhcnQnLCAnR2FzRW5lcmd5
J10gLyBkYXRhWydhcnQnLCAnRGVuc2l0eSddCisgICAgICAgIHNlbGYuYWRkX2ZpZWxkKCgnZ2Fz
JywgJ3RlbXBlcmF0dXJlJyksCisgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPTNEX3Rl
bXBlcmF0dXJlLD0yMAorICAgICAgICAgICAgICAgICAgICAgICB1bml0cz0zRCdLJykKKworICAg
ICAgICBkZWYgX2dldF92ZWwoYXhpcyk6CisgICAgICAgICAgICBkZWYgdmVsb2NpdHkoZmllbGQs
IGRhdGEpOgorICAgICAgICAgICAgICAgIHJldHVybiAoZGF0YVsoJ2dhcycsJ21vbWVudHVtXyVz
JyAlIGF4aXMpXSAvCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWygnZ2FzJywnZGVuc2l0
eScpXSkKKyAgICAgICAgICAgIHJldHVybiB2ZWxvY2l0eQorICAgICAgICBmb3IgYXggaW4gJ3h5
eic6CisgICAgICAgICAgICBzZWxmLmFkZF9maWVsZCgoJ2dhcycsJ3ZlbG9jaXR5XyVzJyAlIGF4
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uID0zRCBfZ2V0X3ZlbChheCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0cz0zRCdjbS9zJykKKworICAgICAgICBk
ZWYgX21vbWVudHVtX21hZ25pdHVkZShmaWVsZCwgZGF0YSk6CisgICAgICAgICAgICB0ciA9M0Qg
KGRhdGFbJ2dhcycsJ21vbWVudHVtX3gnXSoqMiArCisgICAgICAgICAgICAgICAgICBkYXRhWydn
YXMnLCdtb21lbnR1bV95J10qKjIgKworICAgICAgICAgICAgICAgICAgZGF0YVsnZ2FzJywnbW9t
ZW50dW1feiddKioyKSoqMC41CisgICAgICAgICAgICB0ciAqPTNEIGRhdGFbJ2luZGV4JywnY2Vs
bF92b2x1bWUnXS5pbl91bml0cygnY20qKjMnKQorICAgICAgICAgICAgcmV0dXJuIHRyCisgICAg
ICAgIHNlbGYuYWRkX2ZpZWxkKCgnZ2FzJywgJ21vbWVudHVtX21hZ25pdHVkZScpLAorICAgICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbj0zRF9tb21lbnR1bV9tYWduaXR1ZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgIHVuaXRzPTNEJ2cqY20vcycpCisKKyAgICAgICAgZGVmIF92ZWxvY2l0
eV9tYWduaXR1ZGUoZmllbGQsIGRhdGEpOgorICAgICAgICAgICAgdHIgPTNEIGRhdGFbJ2dhcycs
J21vbWVudHVtX21hZ25pdHVkZSddCisgICAgICAgICAgICB0ciAvPTNEIGRhdGFbJ2dhcycsJ2Nl
bGxfbWFzcyddCisgICAgICAgICAgICByZXR1cm4gdHIKKyAgICAgICAgc2VsZi5hZGRfZmllbGQo
KCdnYXMnLCAndmVsb2NpdHlfbWFnbml0dWRlJyksCisgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uPTNEX3ZlbG9jaXR5X21hZ25pdHVkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgdW5p
dHM9M0QnY20vcycpCisKKyAgICAgICAgZGVmIF9tZXRhbF9kZW5zaXR5KGZpZWxkLCBkYXRhKToK
KyAgICAgICAgICAgIHRyID0zRCBkYXRhWydnYXMnLCdtZXRhbF9pYV9kZW5zaXR5J10KKyAgICAg
ICAgICAgIHRyICs9M0QgZGF0YVsnZ2FzJywnbWV0YWxfaWlfZGVuc2l0eSddCisgICAgICAgICAg
ICByZXR1cm4gdHIKKyAgICAgICAgc2VsZi5hZGRfZmllbGQoKCdnYXMnLCdtZXRhbF9kZW5zaXR5
JyksCisgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPTNEX21ldGFsX2RlbnNpdHksCisg
ICAgICAgICAgICAgICAgICAgICAgIHVuaXRzPTNEJ2cvY20qKjMnKQorCisgICAgICAgIGRlZiBf
bWV0YWxfbWFzc19mcmFjdGlvbihmaWVsZCwgZGF0YSk6CisgICAgICAgICAgICB0ciA9M0QgZGF0
YVsnZ2FzJywnbWV0YWxfZGVuc2l0eSddCisgICAgICAgICAgICB0ciAvPTNEIGRhdGFbJ2dhcycs
J2RlbnNpdHknXQorICAgICAgICAgICAgcmV0dXJuIHRyCisgICAgICAgIHNlbGYuYWRkX2ZpZWxk
KCgnZ2FzJywgJ21ldGFsX21hc3NfZnJhY3Rpb24nKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb249M0RfbWV0YWxfbWFzc19mcmFjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
dW5pdHM9M0QnJykKKworICAgICAgICBkZWYgX0hfbWFzc19mcmFjdGlvbihmaWVsZCwgZGF0YSk6
CisgICAgICAgICAgICB0ciA9M0QgKDEuIC0gZGF0YS5kcy5wYXJhbWV0ZXJzWydZX3AnXSAtPTIw
CisgICAgICAgICAgICAgICAgICBkYXRhWydnYXMnLCAnbWV0YWxfbWFzc19mcmFjdGlvbiddKQor
ICAgICAgICAgICAgcmV0dXJuIHRyCisgICAgICAgIHNlbGYuYWRkX2ZpZWxkKCgnZ2FzJywgJ0hf
bWFzc19mcmFjdGlvbicpLAorICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbj0zRF9IX21h
c3NfZnJhY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgIHVuaXRzPTNEJycpCisKKyAgICAg
ICAgZGVmIF9tZXRhbGxpY2l0eShmaWVsZCwgZGF0YSk6CisgICAgICAgICAgICB0ciA9M0QgZGF0
YVsnZ2FzJywnbWV0YWxfbWFzc19mcmFjdGlvbiddCisgICAgICAgICAgICB0ciAvPTNEIGRhdGFb
J2dhcycsJ0hfbWFzc19mcmFjdGlvbiddCisgICAgICAgICAgICByZXR1cm4gdHIKKyAgICAgICAg
c2VsZi5hZGRfZmllbGQoKCdnYXMnLCAnbWV0YWxsaWNpdHknKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb249M0RfbWV0YWxsaWNpdHksCisgICAgICAgICAgICAgICAgICAgICAgIHVu
aXRzPTNEJycpCgpkaWZmIC1yIDBjYmZmMmY5ZDBlMmNiYzFiY2Q5MDIxOGYwNmI2NWUzMGJkMDZk
ODUgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWE9CmMwYWM1NTI2ZDVlNWFkYmI5IHl0L2Zyb250
ZW5kcy9hcnQvaW8ucHkKLS0tIGEveXQvZnJvbnRlbmRzL2FydC9pby5weQorKysgYi95dC9mcm9u
dGVuZHMvYXJ0L2lvLnB5CkBAIC0xMzMsNyArMTMzLDcgQEAKICAgICAgICAgICAgICAgICB0cltm
aWVsZF0gPTNEIHJwKFtheF0pWzBdL2RkIC0gb2ZmCiAgICAgICAgICAgICBpZiBmbmFtZS5zdGFy
dHN3aXRoKCJwYXJ0aWNsZV92ZWxvY2l0eV8lcyIgJSBheCk6CiAgICAgICAgICAgICAgICAgdHJb
ZmllbGRdLCA9M0QgcnAoWyd2JytheF0pCi0gICAgICAgIGlmIGZuYW1lID0zRD0zRCAicGFydGlj
bGVfbWFzcyI6CisgICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoInBhcnRpY2xlX21hc3MiKToK
ICAgICAgICAgICAgIGEgPTNEIDAKICAgICAgICAgICAgIGRhdGEgPTNEIG5wLnplcm9zKG5wYSwg
ZHR5cGU9M0QnZjgnKQogICAgICAgICAgICAgZm9yIHB0Yiwgc2l6ZSwgbSBpbiB6aXAocGJvb2ws
IHNpemVzLCBzZWxmLndzKToKQEAgLTE3MCw3ICsxNzAsNyBAQAogICAgICAgICAgICAgdHJbZmll
bGRdID0zRCB0ZW1wCiAgICAgICAgICAgICBkZWwgZGF0YQogICAgICAgICAjIFdlIGNoZWNrIGFn
YWluLCBhZnRlciBpdCdzIGJlZW4gZmlsbGVkCi0gICAgICAgIGlmIGZuYW1lID0zRD0zRCAicGFy
dGljbGVfbWFzcyI6CisgICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoInBhcnRpY2xlX21hc3Mi
KToKICAgICAgICAgICAgICMgV2Ugbm93IGRpdmlkZSBieSBOR3JpZCBpbiBvcmRlciB0byBtYWtl
IHRoaXMgbWF0Y2ggdXAuICBOb3RlPQogdGhhdAogICAgICAgICAgICAgIyB0aGlzIG1lYW5zIHRo
YXQgZXZlbiB3aGVuIHJlcXVlc3RlZCBpbiAqY29kZSB1bml0cyosIHdlIGFyZQogICAgICAgICAg
ICAgIyBnaXZpbmcgdGhlbSBhcyBtb2RpZmllZCBieSB0aGUgbmcgdmFsdWUuICBUaGlzIG9ubHkg
d29ya3MgZm9yCkBAIC0yMzksNyArMjM5LDcgQEAKICAgICAgICAgICAgICAgICB0cltmaWVsZF0g
PTNEIHJwKFtheF0pWzBdL2RkIC0gb2ZmCiAgICAgICAgICAgICBpZiBmbmFtZS5zdGFydHN3aXRo
KCJwYXJ0aWNsZV92ZWxvY2l0eV8lcyIgJSBheCk6CiAgICAgICAgICAgICAgICAgdHJbZmllbGRd
LCA9M0QgcnAoWyd2JytheF0pCi0gICAgICAgIGlmIGZuYW1lID0zRD0zRCAicGFydGljbGVfbWFz
cyI6CisgICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoInBhcnRpY2xlX21hc3MiKToKICAgICAg
ICAgICAgIGEgPTNEIDAKICAgICAgICAgICAgIGRhdGEgPTNEIG5wLnplcm9zKG5wYSwgZHR5cGU9
M0QnZjgnKQogICAgICAgICAgICAgZm9yIHB0Yiwgc2l6ZSwgbSBpbiB6aXAocGJvb2wsIHNpemVz
LCBzZWxmLndzKToKQEAgLTI2OSw3ICsyNjksNyBAQAogICAgICAgICAgICAgdHJbZmllbGRdID0z
RCB0ZW1wCiAgICAgICAgICAgICBkZWwgZGF0YQogICAgICAgICAjIFdlIGNoZWNrIGFnYWluLCBh
ZnRlciBpdCdzIGJlZW4gZmlsbGVkCi0gICAgICAgIGlmIGZuYW1lID0zRD0zRCAicGFydGljbGVf
bWFzcyI6CisgICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoInBhcnRpY2xlX21hc3MiKToKICAg
ICAgICAgICAgICMgV2Ugbm93IGRpdmlkZSBieSBOR3JpZCBpbiBvcmRlciB0byBtYWtlIHRoaXMg
bWF0Y2ggdXAuICBOb3RlPQogdGhhdAogICAgICAgICAgICAgIyB0aGlzIG1lYW5zIHRoYXQgZXZl
biB3aGVuIHJlcXVlc3RlZCBpbiAqY29kZSB1bml0cyosIHdlIGFyZQogICAgICAgICAgICAgIyBn
aXZpbmcgdGhlbSBhcyBtb2RpZmllZCBieSB0aGUgbmcgdmFsdWUuICBUaGlzIG9ubHkgd29ya3Mg
Zm9yCkBAIC00ODIsNyArNDgyLDggQEAKICAgICBkYXRhID0zRCB7fQogICAgIHdpdGggb3Blbihm
aWxlLCAncmInKSBhcyBmaDoKICAgICAgICAgZm9yIGR0eXBlLCB2YXJpYWJsZXMgaW4gc3Rhcl9z
dHJ1Y3Q6Ci0gICAgICAgICAgICBmb3VuZCA9M0QgZmllbGQgaW4gdmFyaWFibGVzIG9yIGZpZWxk
ID0zRD0zRCB2YXJpYWJsZXMKKyAgICAgICAgICAgIGZvdW5kID0zRCAoaXNpbnN0YW5jZSh2YXJp
YWJsZXMsIHR1cGxlKSBhbmQgZmllbGQgaW4gdmFyaWFibGVzPQopIG9yIFwKKyAgICAgICAgICAg
ICAgICBmaWVsZCA9M0Q9M0QgdmFyaWFibGVzCiAgICAgICAgICAgICBpZiBmb3VuZDoKICAgICAg
ICAgICAgICAgICBkYXRhW2ZpZWxkXSA9M0QgcmVhZF92ZWN0b3IoZmgsIGR0eXBlWzFdLCBkdHlw
ZVswXSkKICAgICAgICAgICAgIGVsc2U6CgpkaWZmIC1yIDBjYmZmMmY5ZDBlMmNiYzFiY2Q5MDIx
OGYwNmI2NWUzMGJkMDZkODUgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWE9CmMwYWM1NTI2ZDVl
NWFkYmI5IHl0L2Zyb250ZW5kcy9hcnQvdGVzdHMvdGVzdF9vdXRwdXRzLnB5Ci0tLSBhL3l0L2Zy
b250ZW5kcy9hcnQvdGVzdHMvdGVzdF9vdXRwdXRzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9hcnQv
dGVzdHMvdGVzdF9vdXRwdXRzLnB5CkBAIC00Niw2ICs0Niw0OSBAQAogICAgICAgICAgICAgICAg
ICAgICAgICAgZG9ial9uYW1lKQo9MjAKPTIwCisgICAgYWQgPTNEIGRzLmFsbF9kYXRhKCkKKyAg
ICAjICdBbmEnIHZhcmlhYmxlIHZhbHVlcyBvdXRwdXQgZnJvbSB0aGUgQVJUIEZvcnRyYW4gJ0FO
QScgYW5hbHlzaXMgY29kZQorICAgIEFuYU5TdGFycyA9M0QgNjI1NQorICAgIHlpZWxkIGFzc2Vy
dF9lcXVhbCwgYWRbKCdzdGFycycsJ3BhcnRpY2xlX3R5cGUnKV0uc2l6ZSwgQW5hTlN0YXJzCisg
ICAgeWllbGQgYXNzZXJ0X2VxdWFsLCBhZFsoJ3NwZWNpZTQnLCAncGFydGljbGVfdHlwZScpXS5z
aXplLCBBbmFOU3RhcnMKKyAgICBBbmFORE0gPTNEIDI4MzM0MDUKKyAgICB5aWVsZCBhc3NlcnRf
ZXF1YWwsIGFkWygnZGFya21hdHRlcicsJ3BhcnRpY2xlX3R5cGUnKV0uc2l6ZSwgQW5hTkRNCisg
ICAgeWllbGQgYXNzZXJ0X2VxdWFsLCBhZFsoJ3NwZWNpZTAnLCAncGFydGljbGVfdHlwZScpXS5z
aXplICsgXAorICAgICAgICBhZFsoJ3NwZWNpZTEnLCAncGFydGljbGVfdHlwZScpXS5zaXplICsg
XAorICAgICAgICBhZFsoJ3NwZWNpZTInLCAncGFydGljbGVfdHlwZScpXS5zaXplICsgXAorICAg
ICAgICBhZFsoJ3NwZWNpZTMnLCAncGFydGljbGVfdHlwZScpXS5zaXplLCBBbmFORE0KKworICAg
IEFuYUJveFNpemUgPTNEIHl0LnVuaXRzLnl0X2FycmF5LllUUXVhbnRpdHkoNy4xNDQyMTk2NTY0
LCdNcGMnKQorICAgIEFuYVZvbHVtZSA9M0QgeXQudW5pdHMueXRfYXJyYXkuWVRRdWFudGl0eSgz
NjQuNjQwMDc0NjU2LCdNcGMqKjMnKQorICAgIFZvbHVtZSA9M0QgMQorICAgIGZvciBpIGluIGRz
LmRvbWFpbl93aWR0aC5pbl91bml0cygnTXBjJyk6CisgICAgICAgIHlpZWxkIGFzc2VydF9hbG1v
c3RfZXF1YWwsIGksIEFuYUJveFNpemUKKyAgICAgICAgVm9sdW1lICo9M0QgaQorICAgIHlpZWxk
IGFzc2VydF9hbG1vc3RfZXF1YWwsIFZvbHVtZSwgQW5hVm9sdW1lCisKKyAgICBBbmFOQ2VsbHMg
PTNEIDQwODc0OTAKKyAgICB5aWVsZCBhc3NlcnRfZXF1YWwsIGxlbihhZFsoJ2luZGV4JywnY2Vs
bF92b2x1bWUnKV0pLCBBbmFOQ2VsbHMKKworICAgIEFuYVRvdERNTWFzcyA9M0QgeXQudW5pdHMu
eXRfYXJyYXkuWVRRdWFudGl0eSgxLjAxMTkxNzg2ODExZSsxNCwnTXN1bicpCisgICAgeWllbGQg
YXNzZXJ0X2FsbW9zdF9lcXVhbCwgYWRbKCdkYXJrbWF0dGVyJywncGFydGljbGVfbWFzcycpXS5z
dW0oKVwKKyAgICAgICAgLmluX3VuaXRzKCdNc3VuJyksIEFuYVRvdERNTWFzcworCisgICAgQW5h
VG90U3Rhck1hc3MgPTNEIHl0LnVuaXRzLnl0X2FycmF5LllUUXVhbnRpdHkoMTc3NjI1MS4sJ01z
dW4nKQorICAgIHlpZWxkIGFzc2VydF9hbG1vc3RfZXF1YWwsIGFkWygnc3RhcnMnLCdwYXJ0aWNs
ZV9tYXNzJyldLnN1bSgpXAorICAgICAgICAuaW5fdW5pdHMoJ01zdW4nKSwgQW5hVG90U3Rhck1h
c3MKKworICAgIEFuYVRvdFN0YXJNYXNzSW5pdGlhbCA9M0QgeXQudW5pdHMueXRfYXJyYXkuWVRR
dWFudGl0eSgyNDIyODU0LiwnTXN1bicpCisgICAgeWllbGQgYXNzZXJ0X2FsbW9zdF9lcXVhbCwg
YWRbKCdzdGFycycsJ3BhcnRpY2xlX21hc3NfaW5pdGlhbCcpXS5zdW0oKVwKKyAgICAgICAgLmlu
X3VuaXRzKCdNc3VuJyksIEFuYVRvdFN0YXJNYXNzCisKKyAgICBBbmFUb3RHYXNNYXNzID0zRCB5
dC51bml0cy55dF9hcnJheS5ZVFF1YW50aXR5KDEuNzgxOTk0ZSsxMywnTXN1bicpCisgICAgeWll
bGQgYXNzZXJ0X2FsbW9zdF9lcXVhbCwgYWRbKCdnYXMnLCdjZWxsX21hc3MnKV0uc3VtKClcCisg
ICAgICAgIC5pbl91bml0cygnTXN1bicpLCBBbmFUb3RHYXNNYXNzCisKKyAgICBBbmFUb3RUZW1w
ID0zRCB5dC51bml0cy55dF9hcnJheS5ZVFF1YW50aXR5KDEuNTAxOWUxMSwgJ0snKSAjanVzdCBs
ZWF2PQplcworICAgIHlpZWxkIGFzc2VydF9lcXVhbCwgYWRbKCdnYXMnLCd0ZW1wZXJhdHVyZScp
XS5zdW0oKSwgQW5hVG90VGVtcAorCisKIEByZXF1aXJlc19maWxlKGQ5cCkKIGRlZiB0ZXN0X0FS
VERhdGFzZXQoKToKICAgICBhc3NlcnQgaXNpbnN0YW5jZShkYXRhX2Rpcl9sb2FkKGQ5cCksIEFS
VERhdGFzZXQpCgpkaWZmIC1yIDBjYmZmMmY5ZDBlMmNiYzFiY2Q5MDIxOGYwNmI2NWUzMGJkMDZk
ODUgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWE9CmMwYWM1NTI2ZDVlNWFkYmI5IHl0L2Zyb250
ZW5kcy9nYWRnZXRfZm9mL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvZ2Fk
Z2V0X2ZvZi9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2dhZGdldF9mb2Yv
ZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC05NSw3ICs5NSw3IEBACiAgICAgICAgICMgVGhpcyBpcyBh
biBhdHRyaWJ1dGUgdGhhdCBtZWFucyB0aGVzZSBwYXJ0aWNsZSB0eXBlcyAqYWN0dWFsbHkqCiAg
ICAgICAgICMgZXhpc3QuICBBcyBpbiwgdGhleSBhcmUgcmVhbCwgaW4gdGhlIGRhdGFzZXQuCiAg
ICAgICAgIGRzLmZpZWxkX3VuaXRzLnVwZGF0ZSh1bml0cykKLSAgICAgICAgZHMucGFydGljbGVf
dHlwZXNfcmF3ID0zRCBkcy5wYXJ0aWNsZV90eXBlcworICAgICAgICBkcy5wYXJ0aWNsZV90eXBl
c19yYXcgPTNEIHR1cGxlKHNvcnRlZChkcy5wYXJ0aWNsZV90eXBlcykpCiAgICAgICAgICAgID0y
MAogICAgIGRlZiBfc2V0dXBfZ2VvbWV0cnkoc2VsZik6CiAgICAgICAgIHN1cGVyKEdhZGdldEZP
RlBhcnRpY2xlSW5kZXgsIHNlbGYpLl9zZXR1cF9nZW9tZXRyeSgpCgpkaWZmIC1yIDBjYmZmMmY5
ZDBlMmNiYzFiY2Q5MDIxOGYwNmI2NWUzMGJkMDZkODUgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4
OWE9CmMwYWM1NTI2ZDVlNWFkYmI5IHl0L2Zyb250ZW5kcy9nYWRnZXRfZm9mL2ZpZWxkcy5weQot
LS0gYS95dC9mcm9udGVuZHMvZ2FkZ2V0X2ZvZi9maWVsZHMucHkKKysrIGIveXQvZnJvbnRlbmRz
L2dhZGdldF9mb2YvZmllbGRzLnB5CkBAIC00NSw0ICs0NSwxNyBAQAogICAgICAgICAoIlN1Ymhh
bG9WZWxfMiIsICh2X3VuaXRzLCBbIlN1YmhhbG8iLCAicGFydGljbGVfdmVsb2NpdHlfeiJdLCBO
b249CmUpKSwKICAgICAgICAgKCJTdWJoYWxvTWFzcyIsICAobV91bml0cywgWyJTdWJoYWxvIiwg
InBhcnRpY2xlX21hc3MiXSwgTm9uZSkpLAogICAgICAgICAoIlN1YmhhbG9MZW4iLCAgICgiIiwg
ICAgICBbIlN1YmhhbG8iLCAicGFydGljbGVfbnVtYmVyIl0sIE5vbmUpKSwKLSkKKyAgICApCisK
KyAgICAjIHRoZXNlIGFyZSBleHRyYSBmaWVsZHMgdG8gYmUgY3JlYXRlZCBmb3IgdGhlICJhbGwi
IHBhcnRpY2xlIHR5cGUKKyAgICBleHRyYV91bmlvbl9maWVsZHMgPTNEICgKKyAgICAgICAgKHBf
dW5pdHMsICJwYXJ0aWNsZV9wb3NpdGlvbl94IiksCisgICAgICAgIChwX3VuaXRzLCAicGFydGlj
bGVfcG9zaXRpb25feSIpLAorICAgICAgICAocF91bml0cywgInBhcnRpY2xlX3Bvc2l0aW9uX3oi
KSwKKyAgICAgICAgKHZfdW5pdHMsICJwYXJ0aWNsZV92ZWxvY2l0eV94IiksCisgICAgICAgICh2
X3VuaXRzLCAicGFydGljbGVfdmVsb2NpdHlfeSIpLAorICAgICAgICAodl91bml0cywgInBhcnRp
Y2xlX3ZlbG9jaXR5X3oiKSwKKyAgICAgICAgKG1fdW5pdHMsICJwYXJ0aWNsZV9tYXNzIiksCisg
ICAgICAgICgiIiwgICAgICAicGFydGljbGVfbnVtYmVyIiksCisgICAgICAgICgiIiwgICAgICAi
cGFydGljbGVfb25lcyIpLAorICAgICkKCmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4
ZjA2YjY1ZTMwYmQwNmQ4NSAtciA2NDRkYWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1
YWRiYjkgeXQvZnJvbnRlbmRzL2dhZGdldF9mb2YvaW8ucHkKLS0tIGEveXQvZnJvbnRlbmRzL2dh
ZGdldF9mb2YvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL2dhZGdldF9mb2YvaW8ucHkKQEAgLTE4
Myw3ICsxODMsNyBAQAogICAgICAgICAgICAgICAgIG15X2RpdiA9M0QgZmhbZmllbGRdLnNpemUg
LyBwY291bnRbcHR5cGVdCiAgICAgICAgICAgICAgICAgZm5hbWUgPTNEIGZoW2ZpZWxkXS5uYW1l
W2ZoW2ZpZWxkXS5uYW1lLmZpbmQocHR5cGUpICsgbGVuKD0KcHR5cGUpICsgMTpdCiAgICAgICAg
ICAgICAgICAgaWYgbXlfZGl2ID4gMToKLSAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4gcmFu
Z2UobXlfZGl2KToKKyAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoaW50KG15X2Rp
dikpOgogICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzLmFwcGVuZCgocHR5cGUsICIlc18l
ZCIgJSAoZm5hbWUsIGkpKSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
ICAgICBmaWVsZHMuYXBwZW5kKChwdHlwZSwgZm5hbWUpKQpAQCAtMTk1LDcgKzE5NSw3IEBACiAg
ICAgICAgICAgICAgICAgbXlfZGl2ID0zRCBmaFtmaWVsZF0uc2l6ZSAvIGZoWyIvU3ViZmluZCJd
LmF0dHJzWyJOdW1iZXJfbz0KZl9ncm91cHMiXQogICAgICAgICAgICAgICAgIGZuYW1lID0zRCBm
aFtmaWVsZF0ubmFtZVtmaFtmaWVsZF0ubmFtZS5maW5kKHB0eXBlKSArIGxlbig9CnB0eXBlKSAr
IDE6XQogICAgICAgICAgICAgICAgIGlmIG15X2RpdiA+IDE6Ci0gICAgICAgICAgICAgICAgICAg
IGZvciBpIGluIHJhbmdlKG15X2Rpdik6CisgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJh
bmdlKGludChteV9kaXYpKToKICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcy5hcHBlbmQo
KCJHcm91cCIsICIlc18lZCIgJSAoZm5hbWUsIGkpKSkKICAgICAgICAgICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgICAgICAgICBmaWVsZHMuYXBwZW5kKCgiR3JvdXAiLCBmbmFtZSkpCgpkaWZm
IC1yIDBjYmZmMmY5ZDBlMmNiYzFiY2Q5MDIxOGYwNmI2NWUzMGJkMDZkODUgLXIgNjQ0ZGFkNGRl
NzE2NjBmMDhkY2I4OWE9CmMwYWM1NTI2ZDVlNWFkYmI5IHl0L2Zyb250ZW5kcy9nYWRnZXRfZm9m
L3Rlc3RzL3Rlc3Rfb3V0cHV0cy5weQotLS0gYS95dC9mcm9udGVuZHMvZ2FkZ2V0X2ZvZi90ZXN0
cy90ZXN0X291dHB1dHMucHkKKysrIGIveXQvZnJvbnRlbmRzL2dhZGdldF9mb2YvdGVzdHMvdGVz
dF9vdXRwdXRzLnB5CkBAIC0yMywxMyArMjMsMTAgQEAKICAgICBkYXRhX2Rpcl9sb2FkCiBmcm9t
IHl0LmZyb250ZW5kcy5nYWRnZXRfZm9mLmFwaSBpbXBvcnQgR2FkZ2V0Rk9GRGF0YXNldAo9MjAK
LXBfdHlwZXMgID0zRCAoIkdyb3VwIiwgIlN1YmhhbG8iKQotcF9maWVsZHMgPTNEICgicGFydGlj
bGVfcG9zaXRpb25feCIsICJwYXJ0aWNsZV9wb3NpdGlvbl95IiwKLSAgICAgICAgICAgICJwYXJ0
aWNsZV9wb3NpdGlvbl96IiwgInBhcnRpY2xlX3ZlbG9jaXR5X3giLAotICAgICAgICAgICAgInBh
cnRpY2xlX3ZlbG9jaXR5X3kiLCAicGFydGljbGVfdmVsb2NpdHlfeiIsCi0gICAgICAgICAgICAi
cGFydGljbGVfbWFzcyIsICJwYXJ0aWNsZV9pZGVudGlmaWVyIikKLV9maWVsZHMgPTNEIHR1cGxl
KFsocF90eXBlLCBwX2ZpZWxkKSBmb3IgcF90eXBlIGluIHBfdHlwZXMKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZm9yIHBfZmllbGQgaW4gcF9maWVsZHNdKQorX2ZpZWxkcyA9
M0QgKCJwYXJ0aWNsZV9wb3NpdGlvbl94IiwgInBhcnRpY2xlX3Bvc2l0aW9uX3kiLAorICAgICAg
ICAgICAicGFydGljbGVfcG9zaXRpb25feiIsICJwYXJ0aWNsZV92ZWxvY2l0eV94IiwKKyAgICAg
ICAgICAgInBhcnRpY2xlX3ZlbG9jaXR5X3kiLCAicGFydGljbGVfdmVsb2NpdHlfeiIsCisgICAg
ICAgICAgICJwYXJ0aWNsZV9tYXNzIiwgInBhcnRpY2xlX2lkZW50aWZpZXIiKQo9MjAKICMgYSBk
YXRhc2V0IHdpdGggZW1wdHkgZmlsZXMKIGc1ID0zRCAiZ2FkZ2V0X2ZvZl9oYWxvcy9ncm91cHNf
MDA1L2ZvZl9zdWJoYWxvX3RhYl8wMDUuMC5oZGY1IgoKZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMx
YmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFj
NTUyNmQ1ZTVhZGJiOSB5dC9mcm9udGVuZHMvb3dsc19zdWJmaW5kL2lvLnB5Ci0tLSBhL3l0L2Zy
b250ZW5kcy9vd2xzX3N1YmZpbmQvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL293bHNfc3ViZmlu
ZC9pby5weQpAQCAtMTkzLDcgKzE5Myw3IEBACiAgICAgICAgICAgICAgICAgbXlfZGl2ID0zRCBm
aFtmaWVsZF0uc2l6ZSAvIHBjb3VudFtwdHlwZV0KICAgICAgICAgICAgICAgICBmbmFtZSA9M0Qg
ZmhbZmllbGRdLm5hbWVbZmhbZmllbGRdLm5hbWUuZmluZChwdHlwZSkgKyBsZW4oPQpwdHlwZSkg
KyAxOl0KICAgICAgICAgICAgICAgICBpZiBteV9kaXYgPiAxOgotICAgICAgICAgICAgICAgICAg
ICBmb3IgaSBpbiByYW5nZShteV9kaXYpOgorICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiBy
YW5nZShpbnQobXlfZGl2KSk6CiAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHMuYXBwZW5k
KChwdHlwZSwgIiVzXyVkIiAlIChmbmFtZSwgaSkpKQogICAgICAgICAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICAgICAgICAgIGZpZWxkcy5hcHBlbmQoKHB0eXBlLCBmbmFtZSkpCkBAIC0yMDUs
NyArMjA1LDcgQEAKICAgICAgICAgICAgICAgICBteV9kaXYgPTNEIGZoW2ZpZWxkXS5zaXplIC8g
ZmhbIi9TVUJGSU5EIl0uYXR0cnNbIk51bWJlcl9vPQpmX2dyb3VwcyJdCiAgICAgICAgICAgICAg
ICAgZm5hbWUgPTNEIGZoW2ZpZWxkXS5uYW1lW2ZoW2ZpZWxkXS5uYW1lLmZpbmQocHR5cGUpICsg
bGVuKD0KcHR5cGUpICsgMTpdCiAgICAgICAgICAgICAgICAgaWYgbXlfZGl2ID4gMToKLSAgICAg
ICAgICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobXlfZGl2KToKKyAgICAgICAgICAgICAgICAg
ICAgZm9yIGkgaW4gcmFuZ2UoaW50KG15X2RpdikpOgogICAgICAgICAgICAgICAgICAgICAgICAg
ZmllbGRzLmFwcGVuZCgoIkZPRiIsICIlc18lZCIgJSAoZm5hbWUsIGkpKSkKICAgICAgICAgICAg
ICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBmaWVsZHMuYXBwZW5kKCgiRk9GIiwgZm5h
bWUpKQoKZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1y
IDY0NGRhZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSB5dC9mcm9udGVuZHMv
dGlwc3kvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy90aXBzeS9kYXRhX3N0
cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL3RpcHN5L2RhdGFfc3RydWN0dXJlcy5weQpA
QCAtMTgwLDcgKzE4MCw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5kb21haW5fbGVmdF9lZGdl
ID0zRCBOb25lCiAgICAgICAgICAgICAgICAgc2VsZi5kb21haW5fcmlnaHRfZWRnZSA9M0QgTm9u
ZQogICAgICAgICBlbHNlOj0yMAotICAgICAgICAgICAgYmJveCA9M0Qgc2VsZi5hcnIoc2VsZi5i
b3VuZGluZ19ib3gsICdjb2RlX2xlbmd0aCcsIGR0eXBlPTNEImY9CmxvYXQ2NCIpCisgICAgICAg
ICAgICBiYm94ID0zRCBucC5hcnJheShzZWxmLmJvdW5kaW5nX2JveCwgZHR5cGU9M0QiZmxvYXQ2
NCIpCiAgICAgICAgICAgICBpZiBiYm94LnNoYXBlID0zRD0zRCAoMiwgMyk6CiAgICAgICAgICAg
ICAgICAgYmJveCA9M0QgYmJveC50cmFuc3Bvc2UoKQogICAgICAgICAgICAgc2VsZi5kb21haW5f
bGVmdF9lZGdlID0zRCBiYm94WzosMF0KCmRpZmYgLXIgMGNiZmYyZjlkMGUyY2JjMWJjZDkwMjE4
ZjA2YjY1ZTMwYmQwNmQ4NSAtciA2NDRkYWQ0ZGU3MTY2MGYwOGRjYjg5YT0KYzBhYzU1MjZkNWU1
YWRiYjkgeXQvZnJvbnRlbmRzL3RpcHN5L2ZpZWxkcy5weQotLS0gYS95dC9mcm9udGVuZHMvdGlw
c3kvZmllbGRzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy90aXBzeS9maWVsZHMucHkKQEAgLTE2LDYg
KzE2LDggQEAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCj0yMAogZnJvbSB5dC5mcm9udGVuZHMu
c3BoLmZpZWxkcyBpbXBvcnQgU1BIRmllbGRJbmZvCitmcm9tIHl0LmZpZWxkcy5wYXJ0aWNsZV9m
aWVsZHMgaW1wb3J0IGFkZF92b2x1bWVfd2VpZ2h0ZWRfc21vb3RoZWRfZmllbGQsID0KYWRkX25l
YXJlc3RfbmVpZ2hib3JfZmllbGQKK2Zyb20geXQudXRpbGl0aWVzLnBoeXNpY2FsX2NvbnN0YW50
cyBpbXBvcnQgbXAsIGtiCj0yMAogY2xhc3MgVGlwc3lGaWVsZEluZm8oU1BIRmllbGRJbmZvKToK
ICAgICBhdXhfcGFydGljbGVfZmllbGRzID0zRCB7CkBAIC00NCwzICs0NiwyOSBAQAogICAgICAg
ICAgICAgICAgIHNlbGYuYXV4X3BhcnRpY2xlX2ZpZWxkc1tmaWVsZFsxXV0gbm90IGluIHNlbGYu
a25vd25fcGFydGk9CmNsZV9maWVsZHM6CiAgICAgICAgICAgICAgICAgc2VsZi5rbm93bl9wYXJ0
aWNsZV9maWVsZHMgKz0zRCAoc2VsZi5hdXhfcGFydGljbGVfZmllbGRzWz0KZmllbGRbMV1dLCkK
ICAgICAgICAgc3VwZXIoVGlwc3lGaWVsZEluZm8sc2VsZikuX19pbml0X18oZHMsIGZpZWxkX2xp
c3QsIHNsaWNlX2luZm8pCisKKyAgICBkZWYgc2V0dXBfcGFydGljbGVfZmllbGRzKHNlbGYsIHB0
eXBlLCAqYXJncywgKiprd2FyZ3MpOgorCisgICAgICAgICMgc2V0dXAgc29tZSBzcGVjaWFsIGZp
ZWxkcyB0aGF0IG9ubHkgbWFrZSBzZW5zZSBmb3IgU1BIIHBhcnRpY2xlcworCisgICAgICAgIGlm
IHB0eXBlIGluICgiUGFydFR5cGUwIiwgIkdhcyIpOgorICAgICAgICAgICAgc2VsZi5zZXR1cF9n
YXNfcGFydGljbGVfZmllbGRzKHB0eXBlKQorCisgICAgICAgIHN1cGVyKFRpcHN5RmllbGRJbmZv
LCBzZWxmKS5zZXR1cF9wYXJ0aWNsZV9maWVsZHMoCisgICAgICAgICAgICBwdHlwZSwgKmFyZ3Ms
ICoqa3dhcmdzKQorCisKKyAgICBkZWYgc2V0dXBfZ2FzX3BhcnRpY2xlX2ZpZWxkcyhzZWxmLCBw
dHlwZSk6CisKKyAgICAgICAgZGVmIF9zbW9vdGhpbmdfbGVuZ3RoKGZpZWxkLCBkYXRhKToKKyAg
ICAgICAgICAgICMgRm9yIG5vdywgd2UgaGFyZGNvZGUgbnVtX25laWdoYm9ycy4gIFdlIHNob3Vs
ZCBtYWtlIHRoaXMgY29uPQpmaWd1cmFibGUKKyAgICAgICAgICAgICMgaW4gdGhlIGZ1dHVyZS4K
KyAgICAgICAgICAgIG51bV9uZWlnaGJvcnMgPTNEIDY0CisgICAgICAgICAgICBmbiwgPTNEIGFk
ZF9uZWFyZXN0X25laWdoYm9yX2ZpZWxkKHB0eXBlLCAicGFydGljbGVfcG9zaXRpb24iLD0KIHNl
bGYsIG51bV9uZWlnaGJvcnMpCisgICAgICAgICAgICByZXR1cm4gZGF0YVtwdHlwZSwgJ25lYXJl
c3RfbmVpZ2hib3JfZGlzdGFuY2VfJWQnICUgbnVtX25laWdoYj0Kb3JzXQorCisgICAgICAgIHNl
bGYuYWRkX2ZpZWxkKAorICAgICAgICAgICAgKHB0eXBlLCAic21vb3RoaW5nX2xlbmd0aCIpLAor
ICAgICAgICAgICAgZnVuY3Rpb249M0Rfc21vb3RoaW5nX2xlbmd0aCwKKyAgICAgICAgICAgIHBh
cnRpY2xlX3R5cGU9M0RUcnVlLAorICAgICAgICAgICAgdW5pdHM9M0QiY29kZV9sZW5ndGgiKQoK
ZGlmZiAtciAwY2JmZjJmOWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRh
ZDRkZTcxNjYwZjA4ZGNiODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSB5dC9nZW9tZXRyeS9zZWxlY3Rp
b25fcm91dGluZXMucHl4Ci0tLSBhL3l0L2dlb21ldHJ5L3NlbGVjdGlvbl9yb3V0aW5lcy5weXgK
KysrIGIveXQvZ2VvbWV0cnkvc2VsZWN0aW9uX3JvdXRpbmVzLnB5eApAQCAtNjAxLDIwICs2MDEs
MjQgQEAKICAgICAgICAgcmV0dXJuIG1hc2sudmlldygiYm9vbCIpCj0yMAogICAgIGRlZiBfX2hh
c2hfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGhhc2goKCJtaW5lIiwgc2VsZi5faGFzaF92YWxz
KCkpICsKLSAgICAgICAgICAgICAgICAgICAgKCJiYXNlIiwgc2VsZi5fYmFzZV9oYXNoKCkpKQor
ICAgICAgICBjZGVmIG5wLmludDY0X3QgaGFzaF92YWwgPTNEIDAKKyAgICAgICAgZm9yIHYgaW4g
c2VsZi5faGFzaF92YWxzKCkgKyBzZWxmLl9iYXNlX2hhc2goKToKKyAgICAgICAgICAgIGhhc2hf
dmFsIF49M0QgaGFzaCh2KQorICAgICAgICByZXR1cm4gaGFzaF92YWwKPTIwCiAgICAgZGVmIF9o
YXNoX3ZhbHMoc2VsZik6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKPTIwCiAg
ICAgZGVmIF9iYXNlX2hhc2goc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5taW5fbGV2ZWws
IHNlbGYubWF4X2xldmVsLCBzZWxmLm92ZXJsYXBfY2VsbHMsCi0gICAgICAgICAgICAgICAgc2Vs
Zi5wZXJpb2RpY2l0eVswXSwKLSAgICAgICAgICAgICAgICBzZWxmLnBlcmlvZGljaXR5WzFdLAot
ICAgICAgICAgICAgICAgIHNlbGYucGVyaW9kaWNpdHlbMl0sCi0gICAgICAgICAgICAgICAgc2Vs
Zi5kb21haW5fd2lkdGhbMF0sCi0gICAgICAgICAgICAgICAgc2VsZi5kb21haW5fd2lkdGhbMV0s
Ci0gICAgICAgICAgICAgICAgc2VsZi5kb21haW5fd2lkdGhbMl0pCisgICAgICAgIHJldHVybiAo
KCJtaW5fbGV2ZWwiLCBzZWxmLm1pbl9sZXZlbCksCisgICAgICAgICAgICAgICAgKCJtYXhfbGV2
ZWwiLCBzZWxmLm1heF9sZXZlbCksCisgICAgICAgICAgICAgICAgKCJvdmVybGFwX2NlbGxzIiwg
c2VsZi5vdmVybGFwX2NlbGxzKSwKKyAgICAgICAgICAgICAgICAoInBlcmlvZGljaXR5WzBdIiwg
c2VsZi5wZXJpb2RpY2l0eVswXSksCisgICAgICAgICAgICAgICAgKCJwZXJpb2RpY2l0eVsxXSIs
IHNlbGYucGVyaW9kaWNpdHlbMV0pLAorICAgICAgICAgICAgICAgICgicGVyaW9kaWNpdHlbMl0i
LCBzZWxmLnBlcmlvZGljaXR5WzJdKSwKKyAgICAgICAgICAgICAgICAoImRvbWFpbl93aWR0aFsw
XSIsIHNlbGYuZG9tYWluX3dpZHRoWzBdKSwKKyAgICAgICAgICAgICAgICAoImRvbWFpbl93aWR0
aFsxXSIsIHNlbGYuZG9tYWluX3dpZHRoWzFdKSwKKyAgICAgICAgICAgICAgICAoImRvbWFpbl93
aWR0aFsyXSIsIHNlbGYuZG9tYWluX3dpZHRoWzJdKSkKPTIwCj0yMAogY2RlZiBjbGFzcyBQb2lu
dFNlbGVjdG9yKFNlbGVjdG9yT2JqZWN0KToKQEAgLTY2OCw3ICs2NzIsOSBAQAogICAgICAgICAg
ICAgcmV0dXJuIDAKPTIwCiAgICAgZGVmIF9oYXNoX3ZhbHMoc2VsZik6Ci0gICAgICAgIHJldHVy
biAoc2VsZi5wWzBdLCBzZWxmLnBbMV0sIHNlbGYucFsyXSkKKyAgICAgICAgcmV0dXJuICgoInBb
MF0iLCBzZWxmLnBbMF0pLAorICAgICAgICAgICAgICAgICgicFsxXSIsIHNlbGYucFsxXSksCisg
ICAgICAgICAgICAgICAgKCJwWzJdIiwgc2VsZi5wWzJdKSkKPTIwCiBwb2ludF9zZWxlY3RvciA9
M0QgUG9pbnRTZWxlY3Rvcgo9MjAKQEAgLTc2OSw4ICs3NzUsMTEgQEAKICAgICAgICAgcmV0dXJu
IDEKPTIwCiAgICAgZGVmIF9oYXNoX3ZhbHMoc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5y
YWRpdXMsIHNlbGYucmFkaXVzMiwKLSAgICAgICAgICAgICAgICBzZWxmLmNlbnRlclswXSwgc2Vs
Zi5jZW50ZXJbMV0sIHNlbGYuY2VudGVyWzJdKQorICAgICAgICByZXR1cm4gKCgicmFkaXVzIiwg
c2VsZi5yYWRpdXMpLAorICAgICAgICAgICAgICAgICgicmFkaXVzMiIsIHNlbGYucmFkaXVzMiks
CisgICAgICAgICAgICAgICAgKCJjZW50ZXJbMF0iLCBzZWxmLmNlbnRlclswXSksCisgICAgICAg
ICAgICAgICAgKCJjZW50ZXJbMV0iLCBzZWxmLmNlbnRlclsxXSksCisgICAgICAgICAgICAgICAg
KCJjZW50ZXJbMl0iLCBzZWxmLmNlbnRlclsyXSkpCj0yMAogc3BoZXJlX3NlbGVjdG9yID0zRCBT
cGhlcmVTZWxlY3Rvcgo9MjAKQEAgLTg2NSw4ICs4NzQsMTIgQEAKICAgICAgICAgcmV0dXJuIDEK
PTIwCiAgICAgZGVmIF9oYXNoX3ZhbHMoc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5sZWZ0
X2VkZ2VbMF0sIHNlbGYubGVmdF9lZGdlWzFdLCBzZWxmLmxlZnRfZWRnZVsyXSwKLSAgICAgICAg
ICAgICAgICBzZWxmLnJpZ2h0X2VkZ2VbMF0sIHNlbGYucmlnaHRfZWRnZVsxXSwgc2VsZi5yaWdo
dF9lZGdlWzJdKQorICAgICAgICByZXR1cm4gKCgibGVmdF9lZGdlWzBdIiwgc2VsZi5sZWZ0X2Vk
Z2VbMF0pLAorICAgICAgICAgICAgICAgICgibGVmdF9lZGdlWzFdIiwgc2VsZi5sZWZ0X2VkZ2Vb
MV0pLAorICAgICAgICAgICAgICAgICgibGVmdF9lZGdlWzJdIiwgc2VsZi5sZWZ0X2VkZ2VbMl0p
LAorICAgICAgICAgICAgICAgICgicmlnaHRfZWRnZVswXSIsIHNlbGYucmlnaHRfZWRnZVswXSks
CisgICAgICAgICAgICAgICAgKCJyaWdodF9lZGdlWzFdIiwgc2VsZi5yaWdodF9lZGdlWzFdKSwK
KyAgICAgICAgICAgICAgICAoInJpZ2h0X2VkZ2VbMl0iLCBzZWxmLnJpZ2h0X2VkZ2VbMl0pKQo9
MjAKIHJlZ2lvbl9zZWxlY3RvciA9M0QgUmVnaW9uU2VsZWN0b3IKPTIwCkBAIC04OTcsNyArOTEw
LDEwIEBACiAgICAgICAgIHJldHVybiAxCj0yMAogICAgIGRlZiBfaGFzaF92YWxzKHNlbGYpOgot
ICAgICAgICByZXR1cm4gc2VsZi5fY29uZGl0aW9uYWxzCisgICAgICAgIHQgPTNEICgpCisgICAg
ICAgIGZvciBpLCBjIGluIGVudW1lcmF0ZShzZWxmLl9jb25kaXRpb25hbHMpOgorICAgICAgICAg
ICAgdCArPTNEICgiY29uZGl0aW9uYWxbJXNdIiAlIGksIGMpCisgICAgICAgIHJldHVybiAoImNv
bmRpdGlvbmFscyIsIHQpCj0yMAogY3V0X3JlZ2lvbl9zZWxlY3RvciA9M0QgQ3V0UmVnaW9uU2Vs
ZWN0b3IKPTIwCkBAIC0xMDAzLDkgKzEwMTksMTUgQEAKICAgICAgICAgcmV0dXJuIDAKPTIwCiAg
ICAgZGVmIF9oYXNoX3ZhbHMoc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5ub3JtX3ZlY1sw
XSwgc2VsZi5ub3JtX3ZlY1sxXSwgc2VsZi5ub3JtX3ZlY1syXSwKLSAgICAgICAgICAgICAgICBz
ZWxmLmNlbnRlclswXSwgc2VsZi5jZW50ZXJbMV0sIHNlbGYuY2VudGVyWzJdLAotICAgICAgICAg
ICAgICAgIHNlbGYucmFkaXVzLCBzZWxmLnJhZGl1czIsIHNlbGYuaGVpZ2h0KQorICAgICAgICBy
ZXR1cm4gKCgibm9ybV92ZWNbMF0iLCBzZWxmLm5vcm1fdmVjWzBdKSwKKyAgICAgICAgICAgICAg
ICAoIm5vcm1fdmVjWzFdIiwgc2VsZi5ub3JtX3ZlY1sxXSksCisgICAgICAgICAgICAgICAgKCJu
b3JtX3ZlY1syXSIsIHNlbGYubm9ybV92ZWNbMl0pLAorICAgICAgICAgICAgICAgICgiY2VudGVy
WzBdIiwgc2VsZi5jZW50ZXJbMF0pLAorICAgICAgICAgICAgICAgICgiY2VudGVyWzFdIiwgc2Vs
Zi5jZW50ZXJbMV0pLAorICAgICAgICAgICAgICAgICgiY2VudGVyWzJdIiwgc2VsZi5jZW50ZXJb
Ml0pLAorICAgICAgICAgICAgICAgICgicmFkaXVzIiwgc2VsZi5yYWRpdXMpLAorICAgICAgICAg
ICAgICAgICgicmFkaXVzMiIsIHNlbGYucmFkaXVzMiksCisgICAgICAgICAgICAgICAgKCJoZWln
aHQiLCBzZWxmLmhlaWdodCkpCj0yMAogZGlza19zZWxlY3RvciA9M0QgRGlza1NlbGVjdG9yCj0y
MApAQCAtMTA4Miw4ICsxMTA0LDEwIEBACiAgICAgICAgIHJldHVybiAxCj0yMAogICAgIGRlZiBf
aGFzaF92YWxzKHNlbGYpOgotICAgICAgICByZXR1cm4gKHNlbGYubm9ybV92ZWNbMF0sIHNlbGYu
bm9ybV92ZWNbMV0sIHNlbGYubm9ybV92ZWNbMl0sCi0gICAgICAgICAgICAgICAgc2VsZi5kKQor
ICAgICAgICByZXR1cm4gKCgibm9ybV92ZWNbMF0iLCBzZWxmLm5vcm1fdmVjWzBdKSwKKyAgICAg
ICAgICAgICAgICAoIm5vcm1fdmVjWzFdIiwgc2VsZi5ub3JtX3ZlY1sxXSksPTIwCisgICAgICAg
ICAgICAgICAgKCJub3JtX3ZlY1syXSIsIHNlbGYubm9ybV92ZWNbMl0pLAorICAgICAgICAgICAg
ICAgICgiZCIsIHNlbGYuZCkpCj0yMAogY3V0dGluZ19zZWxlY3RvciA9M0QgQ3V0dGluZ1BsYW5l
U2VsZWN0b3IKPTIwCkBAIC0xMTcxLDcgKzExOTUsOCBAQAogICAgICAgICByZXR1cm4gMAo9MjAK
ICAgICBkZWYgX2hhc2hfdmFscyhzZWxmKToKLSAgICAgICAgcmV0dXJuIChzZWxmLmF4aXMsIHNl
bGYuY29vcmQpCisgICAgICAgIHJldHVybiAoKCJheGlzIiwgc2VsZi5heGlzKSwKKyAgICAgICAg
ICAgICAgICAoImNvb3JkIiwgc2VsZi5jb29yZCkpCj0yMAogc2xpY2Vfc2VsZWN0b3IgPTNEIFNs
aWNlU2VsZWN0b3IKPTIwCkBAIC0xMjY5LDcgKzEyOTQsMTEgQEAKICAgICAgICAgcmV0dXJuIDAK
PTIwCiAgICAgZGVmIF9oYXNoX3ZhbHMoc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5weF9h
eCwgc2VsZi5weV9heCwgc2VsZi5weCwgc2VsZi5weSwgc2VsZi5heGlzKQorICAgICAgICByZXR1
cm4gKCgicHhfYXgiLCBzZWxmLnB4X2F4KSwKKyAgICAgICAgICAgICAgICAoInB5X2F4Iiwgc2Vs
Zi5weV9heCksCisgICAgICAgICAgICAgICAgKCJweCIsIHNlbGYucHgpLAorICAgICAgICAgICAg
ICAgICgicHkiLCBzZWxmLnB5KSwKKyAgICAgICAgICAgICAgICAoImF4aXMiLCBzZWxmLmF4aXMp
KQo9MjAKIG9ydGhvX3JheV9zZWxlY3RvciA9M0QgT3J0aG9SYXlTZWxlY3Rvcgo9MjAKQEAgLTE0
OTMsOSArMTUyMiwxNSBAQAogICAgICAgICByZXR1cm4gc2VsZi5zZWxlY3RfYmJveChsZWZ0X2Vk
Z2UsIHJpZ2h0X2VkZ2UpCj0yMAogICAgIGRlZiBfaGFzaF92YWxzKHNlbGYpOgotICAgICAgICBy
ZXR1cm4gKHNlbGYucDFbMF0sIHNlbGYucDFbMV0sIHNlbGYucDFbMl0sCi0gICAgICAgICAgICAg
ICAgc2VsZi5wMlswXSwgc2VsZi5wMlsxXSwgc2VsZi5wMlsyXSwKLSAgICAgICAgICAgICAgICBz
ZWxmLnZlY1swXSwgc2VsZi52ZWNbMV0sIHNlbGYudmVjWzJdKQorICAgICAgICByZXR1cm4gKCgi
cDFbMF0iLCBzZWxmLnAxWzBdKSwKKyAgICAgICAgICAgICAgICAoInAxWzFdIiwgc2VsZi5wMVsx
XSksCisgICAgICAgICAgICAgICAgKCJwMVsyXSIsIHNlbGYucDFbMl0pLAorICAgICAgICAgICAg
ICAgICgicDJbMF0iLCBzZWxmLnAyWzBdKSwKKyAgICAgICAgICAgICAgICAoInAyWzFdIiwgc2Vs
Zi5wMlsxXSksCisgICAgICAgICAgICAgICAgKCJwMlsyXSIsIHNlbGYucDJbMl0pLAorICAgICAg
ICAgICAgICAgICgidmVjWzBdIiwgc2VsZi52ZWNbMF0pLAorICAgICAgICAgICAgICAgICgidmVj
WzFdIiwgc2VsZi52ZWNbMV0pLAorICAgICAgICAgICAgICAgICgidmVjWzJdIiwgc2VsZi52ZWNb
Ml0pKQo9MjAKIHJheV9zZWxlY3RvciA9M0QgUmF5U2VsZWN0b3IKPTIwCkBAIC0xNjIwLDExICsx
NjU1LDIxIEBACiAgICAgICAgIHJldHVybiAwCj0yMAogICAgIGRlZiBfaGFzaF92YWxzKHNlbGYp
OgotICAgICAgICByZXR1cm4gKHNlbGYudmVjWzBdWzBdLCBzZWxmLnZlY1swXVsxXSwgc2VsZi52
ZWNbMF1bMl0sCi0gICAgICAgICAgICAgICAgc2VsZi52ZWNbMV1bMF0sIHNlbGYudmVjWzFdWzFd
LCBzZWxmLnZlY1sxXVsyXSwKLSAgICAgICAgICAgICAgICBzZWxmLnZlY1syXVswXSwgc2VsZi52
ZWNbMl1bMV0sIHNlbGYudmVjWzJdWzJdLAotICAgICAgICAgICAgICAgIHNlbGYubWFnWzBdLCBz
ZWxmLm1hZ1sxXSwgc2VsZi5tYWdbMl0sCi0gICAgICAgICAgICAgICAgc2VsZi5jZW50ZXJbMF0s
IHNlbGYuY2VudGVyWzFdLCBzZWxmLmNlbnRlclsyXSkKKyAgICAgICAgcmV0dXJuICgoInZlY1sw
XVswXSIsIHNlbGYudmVjWzBdWzBdKSwKKyAgICAgICAgICAgICAgICAoInZlY1swXVsxXSIsIHNl
bGYudmVjWzBdWzFdKSwKKyAgICAgICAgICAgICAgICAoInZlY1swXVsyXSIsIHNlbGYudmVjWzBd
WzJdKSwKKyAgICAgICAgICAgICAgICAoInZlY1sxXVswXSIsIHNlbGYudmVjWzFdWzBdKSwKKyAg
ICAgICAgICAgICAgICAoInZlY1sxXVsxXSIsIHNlbGYudmVjWzFdWzFdKSwKKyAgICAgICAgICAg
ICAgICAoInZlY1sxXVsyXSIsIHNlbGYudmVjWzFdWzJdKSwKKyAgICAgICAgICAgICAgICAoInZl
Y1syXVswXSIsIHNlbGYudmVjWzJdWzBdKSwKKyAgICAgICAgICAgICAgICAoInZlY1syXVsxXSIs
IHNlbGYudmVjWzJdWzFdKSwKKyAgICAgICAgICAgICAgICAoInZlY1syXVsyXSIsIHNlbGYudmVj
WzJdWzJdKSwKKyAgICAgICAgICAgICAgICAoIm1hZ1swXSIsIHNlbGYubWFnWzBdKSwKKyAgICAg
ICAgICAgICAgICAoIm1hZ1sxXSIsIHNlbGYubWFnWzFdKSwKKyAgICAgICAgICAgICAgICAoIm1h
Z1syXSIsIHNlbGYubWFnWzJdKSwKKyAgICAgICAgICAgICAgICAoImNlbnRlclswXSIsIHNlbGYu
Y2VudGVyWzBdKSwKKyAgICAgICAgICAgICAgICAoImNlbnRlclsxXSIsIHNlbGYuY2VudGVyWzFd
KSwKKyAgICAgICAgICAgICAgICAoImNlbnRlclsyXSIsIHNlbGYuY2VudGVyWzJdKSkKPTIwCiBl
bGxpcHNvaWRfc2VsZWN0b3IgPTNEIEVsbGlwc29pZFNlbGVjdG9yCj0yMAoKZGlmZiAtciAwY2Jm
ZjJmOWQwZTJjYmMxYmNkOTAyMThmMDZiNjVlMzBiZDA2ZDg1IC1yIDY0NGRhZDRkZTcxNjYwZjA4
ZGNiODlhPQpjMGFjNTUyNmQ1ZTVhZGJiOSB5dC91dGlsaXRpZXMvcGFyYWxsZWxfdG9vbHMvcGFy
YWxsZWxfYW5hbHlzaXNfaW50ZXJmYWNlLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9wYXJhbGxlbF90
b29scy9wYXJhbGxlbF9hbmFseXNpc19pbnRlcmZhY2UucHkKKysrIGIveXQvdXRpbGl0aWVzL3Bh
cmFsbGVsX3Rvb2xzL3BhcmFsbGVsX2FuYWx5c2lzX2ludGVyZmFjZS5weQpAQCAtMzQ5LDggKzM0
OSw4IEBACiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLmNvbW0gPTNEIGNv
bW11bmljYXRpb25fc3lzdGVtLmNvbW11bmljYXRvcnNbLTFdCiAgICAgICAgIHNlbGYuc2l6ZSA9
M0Qgc2VsZi5jb21tLnNpemUKLSAgICAgICAgc2VsZi5yYW5rcyA9M0QgcmFuZ2Uoc2VsZi5zaXpl
KQotICAgICAgICBzZWxmLmF2YWlsYWJsZV9yYW5rcyA9M0QgcmFuZ2Uoc2VsZi5zaXplKQorICAg
ICAgICBzZWxmLnJhbmtzID0zRCBsaXN0KHJhbmdlKHNlbGYuc2l6ZSkpCisgICAgICAgIHNlbGYu
YXZhaWxhYmxlX3JhbmtzID0zRCBsaXN0KHJhbmdlKHNlbGYuc2l6ZSkpCiAgICAgICAgIHNlbGYu
d29ya2dyb3VwcyA9M0QgW10KPTIwCiAgICAgZGVmIGFkZF93b3JrZ3JvdXAoc2VsZiwgc2l6ZT0z
RE5vbmUsIHJhbmtzPTNETm9uZSwgbmFtZT0zRE5vbmUpOgpAQCAtMTI1OSw3ICsxMjU5LDcgQEAK
ICAgICAgICAgc2VsZi5udW1faXRlbXMgPTNEIGxlbihpdGVtcykKICAgICAgICAgc2VsZi5pdGVt
cyA9M0QgaXRlbXMKICAgICAgICAgYXNzZXJ0KHNlbGYubnVtX2l0ZW1zID49M0Qgc2VsZi5jb21t
LnNpemUpCi0gICAgICAgIHNlbGYub3duZWQgPTNEIHJhbmdlKHNlbGYuY29tbS5zaXplKQorICAg
ICAgICBzZWxmLm93bmVkID0zRCBsaXN0KHJhbmdlKHNlbGYuY29tbS5zaXplKSkKICAgICAgICAg
c2VsZi5wb2ludGVyID0zRCAwCiAgICAgICAgIGlmIHBhcmFsbGVsX2NhcGFibGU6CiAgICAgICAg
ICAgICBjb21tdW5pY2F0aW9uX3N5c3RlbS5wdXNoX3dpdGhfaWRzKFtzZWxmLmNvbW0ucmFua10p
CgpUaGlzIGRpZmYgaXMgc28gYmlnIHRoYXQgd2UgbmVlZGVkIHRvIHRydW5jYXRlIHRoZSByZW1h
aW5kZXIuCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy80ZGMz
OTc2MzNhOTkvCkNoYW5nZXNldDogICA0ZGMzOTc2MzNhOTkKQnJhbmNoOiAgICAgIHl0ClVzZXI6
ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMjkgMTU6Mzc6NTYrMDA6MDAK
U3VtbWFyeTogICAgIE1lcmdlZCB5dF9hbmFseXNpcy95dCBpbnRvIHl0CkFmZmVjdGVkICM6ICA5
NyBmaWxlcwoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIyNDA5NTc0
IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSAuaGdpZ25vcmUK
LS0tIGEvLmhnaWdub3JlCisrKyBiLy5oZ2lnbm9yZQpAQCAtMTEsNiArMTEsNyBAQAogeXQvYW5h
bHlzaXNfbW9kdWxlcy9oYWxvX2ZpbmRpbmcvcm9ja3N0YXIvcm9ja3N0YXJfaW50ZXJmYWNlLmMK
IHl0L2FuYWx5c2lzX21vZHVsZXMvcHB2X2N1YmUvcHB2X3V0aWxzLmMKIHl0L2Zyb250ZW5kcy9y
YW1zZXMvX3JhbXNlc19yZWFkZXIuY3BwCit5dC9mcm9udGVuZHMvc3BoL3Ntb290aGluZ19rZXJu
ZWwuYwogeXQvZ2VvbWV0cnkvZmFrZV9vY3RyZWUuYwogeXQvZ2VvbWV0cnkvZ3JpZF9jb250YWlu
ZXIuYwogeXQvZ2VvbWV0cnkvZ3JpZF92aXNpdG9ycy5jCkBAIC00MCw2ICs0MSw3IEBACiB5dC91
dGlsaXRpZXMvbGliL21lc2hfdXRpbGl0aWVzLmMKIHl0L3V0aWxpdGllcy9saWIvbWlzY191dGls
aXRpZXMuYwogeXQvdXRpbGl0aWVzL2xpYi9PY3RyZWUuYworeXQvdXRpbGl0aWVzL2xpYi9Hcmlk
VHJlZS5jCiB5dC91dGlsaXRpZXMvbGliL29yaWdhbWkuYwogeXQvdXRpbGl0aWVzL2xpYi9waXhl
bGl6YXRpb25fcm91dGluZXMuYwogeXQvdXRpbGl0aWVzL2xpYi9wbmdfd3JpdGVyLmMKCmRpZmYg
LXIgZDM1NGE2YjM1M2FjNjBkZDNhMWI3MjE5Yzg1Y2VkZDMyMjQwOTU3NCAtciA0ZGMzOTc2MzNh
OTliMzdjZGZiZGVmNT0KZmZmN2VhYWEyMTUxNTgyMzkgUkVBRE1FCi0tLSBhL1JFQURNRQorKysg
Yi9SRUFETUUKQEAgLTIwLDQgKzIwLDUgQEAKIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGluc3Rh
bGxhdGlvbiwgd2hhdCB0byBkbyBpZiB5b3UgcnVuIGludG8gcHJvYmxlbXMsPQogb3I9MjAKIHdh
eXMgdG8gaGVscCBkZXZlbG9wbWVudCwgcGxlYXNlIHZpc2l0IG91ciB3ZWJzaXRlLgo9MjAKLUVu
am95IQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK0Vuam95IQorCgpkaWZmIC1yIGQzNTRh
NmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2Rm
YmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IGRvYy9SRUFETUUKLS0tIGEvZG9jL1JFQURNRQorKysg
Yi9kb2MvUkVBRE1FCkBAIC03LDQgKzcsNCBAQAogQmVjYXVzZSB0aGUgZG9jdW1lbnRhdGlvbiBy
ZXF1aXJlcyBhIG51bWJlciBvZiBkZXBlbmRlbmNpZXMsIHdlIHByb3ZpZGUKIHByZS1idWlsdCB2
ZXJzaW9ucyBvbmxpbmUsIGFjY2Vzc2libGUgaGVyZToKPTIwCi1odHRwOi8veXQtcHJvamVjdC5v
cmcvZG9jcy9kZXYtMy4wLworaHR0cDovL3l0LXByb2plY3Qub3JnL2RvY3MvZGV2LwoKZGlmZiAt
ciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIyNDA5NTc0IC1yIDRkYzM5NzYzM2E5
OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSBkb2MvaW5zdGFsbF9zY3JpcHQuc2gKLS0t
IGEvZG9jL2luc3RhbGxfc2NyaXB0LnNoCisrKyBiL2RvYy9pbnN0YWxsX3NjcmlwdC5zaApAQCAt
NjQxLDcgKzY0MSw3IEBACiBUT1JOQURPPTNEJ3Rvcm5hZG8tNC4wLjInCiBaRVJPTVE9M0QnemVy
b21xLTQuMC41JwogWkxJQj0zRCd6bGliLTEuMi44JwotU0VUVVBUT09MUz0zRCdzZXR1cHRvb2xz
LTE2LjAnCitTRVRVUFRPT0xTPTNEJ3NldHVwdG9vbHMtMTguMC4xJwo9MjAKICMgTm93IHdlIGR1
bXAgYWxsIG91ciBTSEE1MTIgZmlsZXMgb3V0LgogZWNobyAnODU2MjIwZmE1NzllMjcyYWMzOGRj
ZWYwOTE3NjBmNTI3NDMxZmYzYjk4ZGY5YWY2ZTY4NDE2ZmNmNzdkOTY1OWFjNWE9CmJlNWM3ZGVl
NDEzMzFmMzU5NjE0NjM3YTRmZjQ1MjAzMzA4NTMzNWVlNDk5ODMwZWQxMjZhYjU4NDI2NyAgQ3l0
aG9uLTAuMjIudD0KYXIuZ3onID4gQ3l0aG9uLTAuMjIudGFyLmd6LnNoYTUxMgpAQCAtNjY5LDcg
KzY2OSw3IEBACiBlY2hvICc5MzU5MTA2OGRjNjNhZjhkNTBhNzkyNWQ1MjhiYzBjY2NkZDcwNTIz
MmM1MjliNjE2MjYxOWZlMjhkZGRhZjExNWU4YT0KNDYwYjE4NDI4NzdkMzUxNjBiZDdlZDQ4MGMx
YmQwYmRiZWM1N2QxZjM1OTA4NWJkMTgxNGUwYzFjMjQyICB0b3JuYWRvLTQuMC4yPQoudGFyLmd6
JyA+IHRvcm5hZG8tNC4wLjIudGFyLmd6LnNoYTUxMgogZWNobyAnMGQ5MjhlZDY4OGVkOTQwZDQ2
MGZhOGY4ZDU3NGE5ODE5ZGNjYzRlMDMwZDczNWE4YzdkYjcxYjU5Mjg3ZWU1MGZhNzQ9CjFhMDgy
NDllMzU2Yzc4MzU2YjAzYzIxNzRmMmYyNjk5ZjA1YWE3ZGMzZDM4MGVkNDdkOGQ3YmFiNTQwOCAg
emVyb21xLTQuMC41Lj0KdGFyLmd6JyA+IHplcm9tcS00LjAuNS50YXIuZ3ouc2hhNTEyCiBlY2hv
ICdlY2UyMDlkNGM3ZWMwY2I1OGVkZTc5MTQ0NGRjNzU0ZTBkMTA4MTFjYmJkZWJlM2RmNjFjMGZk
OWY5Zjk4NjdjMWMzYz0KY2Q1ZjE4MjdmODQ3YzAwNWUyNGVlZjM0ZmI1YmY4N2I1ZDNmODk0ZDc1
ZGEwNGYxNzk3NTM4MjkwZTRhICB6bGliLTEuMi44LnRhPQpyLmd6JyA+IHpsaWItMS4yLjgudGFy
Lmd6LnNoYTUxMgotZWNobyAnMzhhODlhYWQ4OWRjOWFhNjgyZGJmYmNhNjIzZTJmNjk1MTFmNWUy
MGQ0YTM1MjZjMDFhYWJiYzdlOTNhZTc4ZjIwYWE9CmM1NjY2NzZiNDMxZTExMTU0MGI0MTU0MGEx
YzRmNjQ0Y2U0MTc0ZTdlY2YwNTIzMTg2MTIwNzVlMDJkYyAgc2V0dXB0b29scy0xNj0KLjAudGFy
Lmd6JyA+IHNldHVwdG9vbHMtMTYuMC50YXIuZ3ouc2hhNTEyCitlY2hvICc5YjMxOGNlMmVlMmNm
Nzg3OTI5ZGNiODg2ZDc2YzQ5MmI0MzNlNzEwMjRmZGE5NDUyZDhiNDkyNzY1MmEyOThkNmJkMT0K
YmRiN2E0YzczODgzYTk4ZTEwMDAyNGY4OWI0NmVhOGFhMTRiMjUwZjg5NmU1NDllNmRkN2UxMGE2
YjQxICBzZXR1cHRvb2xzLTE4PQouMC4xLnRhci5neicgPiBzZXR1cHRvb2xzLTE4LjAuMS50YXIu
Z3ouc2hhNTEyCiAjIEluZGl2aWR1YWwgcHJvY2Vzc2VzCiBbIC16ICIkSERGNV9ESVIiIF0gJiYg
Z2V0X3l0cHJvamVjdCAkSERGNS50YXIuZ3oKIFsgJElOU1RfWkxJQiAtZXEgMSBdICYmIGdldF95
dHByb2plY3QgJFpMSUIudGFyLmd6CgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4
NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4
MjM5IGRvYy9zb3VyY2UvYW5hbHl6aW5nL2FuYWx5c2lzX21vZHVsZXMvU1pfcHJvamVjdGlvbnMu
aXB5bmIKLS0tIGEvZG9jL3NvdXJjZS9hbmFseXppbmcvYW5hbHlzaXNfbW9kdWxlcy9TWl9wcm9q
ZWN0aW9ucy5pcHluYgorKysgYi9kb2Mvc291cmNlL2FuYWx5emluZy9hbmFseXNpc19tb2R1bGVz
L1NaX3Byb2plY3Rpb25zLmlweW5iCkBAIC0xLDcgKzEsNyBAQAogewogICJtZXRhZGF0YSI6IHsK
ICAgIm5hbWUiOiAiIiwKLSAgInNpZ25hdHVyZSI6ICJzaGEyNTY6MmNjMTY4YjJjMTczN2M2NzY0
N2FhMjk4OTJjMDIxM2U3YTU4MjMzZmE1M2M4MDlmOWNkPQo5NzVhNDMwNmU5YmM4IgorICAic2ln
bmF0dXJlIjogInNoYTI1Njo0ODczODNlYzIzYTA5MjMxMDUyMmVjMjViZDAyYWQyZWIxNmEzNDAy
YzVlZDNkMmIxMDM9CmQzM2ZlMTc2OTdiM2MiCiAgfSwKICAibmJmb3JtYXQiOiAzLAogICJuYmZv
cm1hdF9taW5vciI6IDAsCkBAIC03MCw2ICs3MCwxMyBAQAogICAgICBdCiAgICAgfSwKICAgICB7
CisgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAorICAgICAibWV0YWRhdGEiOiB7fSwKKyAg
ICAgInNvdXJjZSI6IFsKKyAgICAgICI8Zm9udCBjb2xvcj0zRCdyZWQnPioqTk9URSoqPC9mb250
PjogQ3VycmVudGx5LCB1c2Ugb2YgdGhlIFNacGFjayBsPQppYnJhcnkgdG8gY3JlYXRlIFMtWiBw
cm9qZWN0aW9ucyBpbiB5dCBpcyBsaW1pdGVkIHRvIFB5dGhvbiAyLnguIgorICAgICBdCisgICAg
fSwKKyAgICB7CiAgICAgICJjZWxsX3R5cGUiOiAiaGVhZGluZyIsCiAgICAgICJsZXZlbCI6IDIs
CiAgICAgICJtZXRhZGF0YSI6IHt9LAoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTlj
ODVjZWRkMzIyNDA5NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1
ODIzOSBkb2Mvc291cmNlL2FuYWx5emluZy9hbmFseXNpc19tb2R1bGVzL3Bob3Rvbl9zaW11bGF0
b3IucnN0Ci0tLSBhL2RvYy9zb3VyY2UvYW5hbHl6aW5nL2FuYWx5c2lzX21vZHVsZXMvcGhvdG9u
X3NpbXVsYXRvci5yc3QKKysrIGIvZG9jL3NvdXJjZS9hbmFseXppbmcvYW5hbHlzaXNfbW9kdWxl
cy9waG90b25fc2ltdWxhdG9yLnJzdApAQCAtMTAsNiArMTAsMTAgQEAKIHNpbXVsYXRlZCBYLXJh
eSBwaG90b24gbGlzdHMgb2YgZXZlbnRzIGZyb20gZGF0YXNldHMgdGhhdCB5dCBpcyBhYmxlCiB0
byByZWFkLiBUaGUgc2ltdWxhdGVkIGV2ZW50cyB0aGVuIGNhbiBiZSBleHBvcnRlZCB0byBYLXJh
eSB0ZWxlc2NvcGUKIHNpbXVsYXRvcnMgdG8gcHJvZHVjZSByZWFsaXN0aWMgb2JzZXJ2YXRpb25z
IG9yIGNhbiBiZSBhbmFseXplZCBpbi1saW5lLgorCitGb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24g
YWJvdXQgdGhlIGRlc2lnbiBvZiB0aGUgYWxnb3JpdGhtIGluIHl0LCBjaGVjaz0yMAorb3V0IGB0
aGUgU2NpUHkgMjAxNCBQcm9jZWVkaW5ncy4gPGh0dHA6Ly9jb25mZXJlbmNlLnNjaXB5Lm9yZy9w
cm9jZWVkaW5ncy89CnNjaXB5MjAxNC96dWhvbmUuaHRtbD5gXy4KKwogVGhlIGFsZ29yaXRobSBp
cyBiYXNlZCBvZmYgb2YgdGhhdCBpbXBsZW1lbnRlZCBpbgogYFBIT1ggPGh0dHA6Ly93d3cubXBh
LWdhcmNoaW5nLm1wZy5kZS9+a2RvbGFnL1Bob3gvPmBfIGZvciBTUEggZGF0YXNldHMKIGJ5IFZl
cm9uaWNhIEJpZmZpIGFuZCBLbGF1cyBEb2xhZy4gVGhlcmUgYXJlIHR3byByZWxldmFudCBwYXBl
cnM6CkBAIC0xMzksNiArMTQzLDEyIEBACiB0aGUgb3B0aW9uYWwga2V5d29yZCBgYHRoZXJtYWxf
YnJvYWRgYCBpcyBzZXQgdG8gYGBUcnVlYGAsIHRoZSBzcGVjdHJhbAogbGluZXMgd2lsbCBiZSB0
aGVybWFsbHkgYnJvYWRlbmVkLgo9MjAKKy4uIG5vdGU6Oj0yMAorCisgICBgYFNwZWN0cmFsTW9k
ZWxgYCBvYmplY3RzIGJhc2VkIG9uIFhTUEVDIG1vZGVscyAoYm90aCB0aGUgdGhlcm1hbD0yMAor
ICAgZW1pc3Npb24gYW5kIEdhbGFjdGljIGFic29ycHRpb24gbW9kZWxzIG1lbnRpb25lZCBiZWxv
dykgb25seSB3b3JrPTIwCisgICBpbiBQeXRob24gMi43LCBzaW5jZSBjdXJyZW50bHkgUHlYc3Bl
YyBvbmx5IHdvcmtzIHdpdGggUHl0aG9uIDIueC49MjAKKyAgPTIwCiBOb3cgdGhhdCB3ZSBoYXZl
IG91ciBgYFNwZWN0cmFsTW9kZWxgYCB0aGF0IGdpdmVzIHVzIGEgc3BlY3RydW0sIHdlIG5lZWQK
IHRvIGNvbm5lY3QgdGhpcyBtb2RlbCB0byBhIGBgUGhvdG9uTW9kZWxgYCB0aGF0IHdpbGwgY29u
bmVjdCB0aGUgZmllbGQKIGRhdGEgaW4gdGhlIGBgZGF0YV9zb3VyY2VgYCB0byB0aGUgc3BlY3Ry
YWwgbW9kZWwgdG8gYWN0dWFsbHkgZ2VuZXJhdGUKQEAgLTE0OCw3ICsxNTgsOCBAQAogLi4gY29k
ZTo6IHB5dGhvbgo9MjAKICAgICB0aGVybWFsX21vZGVsID0zRCBUaGVybWFsUGhvdG9uTW9kZWwo
YXBlY19tb2RlbCwgWF9IPTNEMC43NSwgWm1ldD0zRDAuPQozLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGhvdG9uc19wZXJfY2h1bms9M0QxMDAwMDAwMDApCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaG90b25zX3Blcl9jaHVuaz0zRDEw
MDAwMDAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZD0z
RCJpbnZlcnRfY2RmIikKPTIwCiBXaGVyZSB3ZSBwYXNzIGluIHRoZSBgYFNwZWN0cmFsTW9kZWxg
YCwgYW5kIGNhbiBvcHRpb25hbGx5IHNldCB2YWx1ZXMgZm9yCiB0aGUgaHlkcm9nZW4gbWFzcyBm
cmFjdGlvbiBgYFhfSGBgIGFuZCBtZXRhbGxpY2l0eSBgYFpfbWV0YGAuIElmCkBAIC0xNjUsNiAr
MTc2LDE4IEBACiB0aGlzIHBhcmFtZXRlciBuZWVkcyB0byBiZSBzZXQgaGlnaGVyLCBvciBpZiB5
b3UgYXJlIGxvb2tpbmcgdG8gZGVjcmVhc2UgbT0KZW1vcnkKIHVzYWdlLCB5b3UgbWlnaHQgc2V0
IHRoaXMgcGFyYW1ldGVyIGxvd2VyLgo9MjAKK1RoZSBgYG1ldGhvZGBgIGtleXdvcmQgYXJndW1l
bnQgaXMgYWxzbyBvcHRpb25hbCwgYW5kIGRldGVybWluZXMgaG93IHRoZSBpPQpuZGl2aWR1YWwK
K3Bob3RvbiBlbmVyZ2llcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlIHNwZWN0cnVtLiBJdCBtYXkg
YmUgc2V0IHRvIG9uZSBvZiB0PQp3byB2YWx1ZXM6CisKKyogYGBtZXRob2Q9M0QiaW52ZXJ0X2Nk
ZiJgYDogQ29uc3RydWN0IHRoZSBjdW11bGF0aXZlIGRpc3RyaWJ1dGlvbiBmdW5jdGlvPQpuIG9m
IHRoZSBzcGVjdHJ1bSBhbmQgaW52ZXJ0CisgIGl0LCB1c2luZyB1bmlmb3JtbHkgZHJhd24gcmFu
ZG9tIG51bWJlcnMgdG8gZGV0ZXJtaW5lIHRoZSBwaG90b24gZW5lcmdpZT0KcyAoZmFzdCwgYnV0
IHJlbGllcworICBvbiBjb25zdHJ1Y3Rpb24gb2YgdGhlIENERiBhbmQgaW50ZXJwb2xhdGlvbiBi
ZXR3ZWVuIHRoZSBwb2ludHMsIHNvIGZvciA9CnNvbWUgc3BlY3RyYSBpdAorICBtYXkgbm90IGJl
IGFjY3VyYXRlIGVub3VnaCkuPTIwCisqIGBgbWV0aG9kPTNEImFjY2VwdF9yZWplY3QiYGA6IEdl
bmVyYXRlIHRoZSBwaG90b24gZW5lcmdpZXMgZnJvbSB0aGUgc3BlYz0KdHJ1bSB1c2luZyBhbiBh
Y2NlcHRhbmNlLXJlamVjdGlvbgorICB0ZWNobmlxdWUgKGFjY3VyYXRlLCBidXQgbGlrZWx5IHRv
IGJlIHNsb3cpLj0yMAorCitgYG1ldGhvZD0zRCJpbnZlcnRfY2RmImBgICh0aGUgZGVmYXVsdCkg
c2hvdWxkIGJlIHN1ZmZpY2llbnQgZm9yIG1vc3QgY2FzZT0Kcy49MjAKKwogTmV4dCwgd2UgbmVl
ZCB0byBzcGVjaWZ5ICJmaWR1Y2lhbCIgdmFsdWVzIGZvciB0aGUgdGVsZXNjb3BlIGNvbGxlY3Rp
bmcKIGFyZWEsIGV4cG9zdXJlIHRpbWUsIGFuZCBjb3Ntb2xvZ2ljYWwgcmVkc2hpZnQuIFJlbWVt
YmVyLCB0aGUgaW5pdGlhbAogcGhvdG9uIGdlbmVyYXRpb24gd2lsbCBhY3QgYXMgYSBzb3VyY2Ug
Zm9yIE1vbnRlLUNhcmxvIHNhbXBsaW5nIGZvciBtb3JlCkBAIC0xOTEsMTIgKzIxNCwyOSBAQAog
QnkgZGVmYXVsdCwgdGhlIGFuZ3VsYXIgZGlhbWV0ZXIgZGlzdGFuY2UgdG8gdGhlIG9iamVjdCBp
cyBkZXRlcm1pbmVkCiBmcm9tIHRoZSBgYGNvc21vbG9neWBgIGFuZCB0aGUgY29zbW9sb2dpY2Fs
IGBgcmVkc2hpZnRgYC4gSWYgYQogYGBDb3Ntb2xvZ3lgYCBpbnN0YW5jZSBpcyBub3QgcHJvdmlk
ZWQsIG9uZSB3aWxsIGJlIG1hZGUgZnJvbSB0aGUKLWRlZmF1bHQgY29zbW9sb2dpY2FsIHBhcmFt
ZXRlcnMuIElmIHlvdXIgc291cmNlIGlzIGxvY2FsIHRvIHRoZSBnYWxheHksCi15b3UgY2FuIHNl
dCBpdHMgZGlzdGFuY2UgZGlyZWN0bHksIHVzaW5nIGEgdHVwbGUsIGUuZy4KLWBgZGlzdD0zRCgz
MCwgImtwYyIpYGAuIEluIHRoaXMgY2FzZSwgdGhlIGBgcmVkc2hpZnRgYCBhbmQgYGBjb3Ntb2xv
Z3lgYAotd2lsbCBiZSBpZ25vcmVkLiBGaW5hbGx5LCBpZiB0aGUgcGhvdG9uIGdlbmVyYXRpbmcg
ZnVuY3Rpb24gYWNjZXB0cyBhbnkKLXBhcmFtZXRlcnMsIHRoZXkgY2FuIGJlIHBhc3NlZCB0byBg
YGZyb21fc2NyYXRjaGBgIHZpYSBhIGBgcGFyYW1ldGVyc2BgCi1kaWN0aW9uYXJ5LgorZGVmYXVs
dCBjb3Ntb2xvZ2ljYWwgcGFyYW1ldGVycy4gVGhlIGBgY2VudGVyYGAga2V5d29yZCBhcmd1bWVu
dCBzcGVjaWZpZXMKK3RoZSBjZW50ZXIgb2YgdGhlIHBob3RvbiBkaXN0cmlidXRpb24sIGFuZCB0
aGUgcGhvdG9uIHBvc2l0aW9ucyB3aWxsIGJlPTIwCityZXNjYWxlZCB3aXRoIHRoaXMgdmFsdWUg
YXMgdGhlIG9yaWdpbi4gVGhpcyBhcmd1bWVudCBhY2NlcHRzIHRoZSBmb2xsb3dpbmcKK3ZhbHVl
czoKKworKiBBIE51bVB5IGFycmF5IG9yIGxpc3QgY29ycmVzcG9uZGluZyB0byB0aGUgY29vcmRp
bmF0ZXMgb2YgdGhlIGNlbnRlciBpbgorICB1bml0cyBvZiBjb2RlIGxlbmd0aC49MjAKKyogQSBg
YFlUQXJyYXlgYCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgY2VudGVy
IGluIHNvbWUKKyAgbGVuZ3RoIHVuaXRzLj0yMAorKiBgYCJjZW50ZXIiYGAgb3IgYGAiYyJgYCBj
b3JyZXNwb25kcyB0byB0aGUgZG9tYWluIGNlbnRlci49MjAKKyogYGAibWF4ImBgIG9yIGBgIm0i
YGAgY29ycmVzcG9uZHMgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBtYXhpbXVtIGdhcyBkZW5zPQpp
dHkuPTIwCisqIEEgdHdvLWVsZW1lbnQgdHVwbGUgc3BlY2lmeWluZyB0aGUgbWF4IG9yIG1pbiBv
ZiBhIHNwZWNpZmljIGZpZWxkLCBlLmcuLAorICBgYCgibWluIiwiZ3Jhdml0YXRpb25hbF9wb3Rl
bnRpYWwiKWBgLCBgYCgibWF4IiwiZGFya19tYXR0ZXJfZGVuc2l0eSIpYGAKKworSWYgYGBjZW50
ZXJgYCBpcyBub3Qgc3BlY2lmaWVkLCBgYGZyb21fc2NyYXRjaGBgIHdpbGwgYXR0ZW1wdCB0byB1
c2UgdGhlPTIwCitgYCJjZW50ZXIiYGAgZmllbGQgcGFyYW1ldGVyIG9mIHRoZSBgYGRhdGFfc291
cmNlYGAuPTIwCisKK2BgZnJvbV9zY3JhdGNoYGAgdGFrZXMgYSBmZXcgb3RoZXIgb3B0aW9uYWwg
a2V5d29yZCBhcmd1bWVudHMuIElmIHlvdXI9MjAKK3NvdXJjZSBpcyBsb2NhbCB0byB0aGUgZ2Fs
YXh5LCB5b3UgY2FuIHNldCBpdHMgZGlzdGFuY2UgZGlyZWN0bHksIHVzaW5nPTIwCithIHR1cGxl
LCBlLmcuIGBgZGlzdD0zRCgzMCwgImtwYyIpYGAuIEluIHRoaXMgY2FzZSwgdGhlIGBgcmVkc2hp
ZnRgYCBhbmQ9MjAKK2BgY29zbW9sb2d5YGAgd2lsbCBiZSBpZ25vcmVkLiBGaW5hbGx5LCBpZiB0
aGUgcGhvdG9uIGdlbmVyYXRpbmc9MjAKK2Z1bmN0aW9uIGFjY2VwdHMgYW55IHBhcmFtZXRlcnMs
IHRoZXkgY2FuIGJlIHBhc3NlZCB0byBgYGZyb21fc2NyYXRjaGBgPTIwCit2aWEgYSBgYHBhcmFt
ZXRlcnNgYCBkaWN0aW9uYXJ5Lgo9MjAKIEF0IHRoaXMgcG9pbnQsIHRoZSBgYHBob3RvbnNgYCBh
cmUgZGlzdHJpYnV0ZWQgaW4gdGhlIHRocmVlLWRpbWVuc2lvbmFsCiBzcGFjZSBvZiB0aGUgYGBk
YXRhX3NvdXJjZWBgLCB3aXRoIGVuZXJnaWVzIGluIHRoZSByZXN0IGZyYW1lIG9mIHRoZQpAQCAt
MjY1LDcgKzMwNSw3IEBACiAgICAgYWJzX21vZGVsID0zRCBUYWJsZUFic29yYk1vZGVsKCJ0YmFi
c190YWJsZS5oNSIsIDAuMSkKPTIwCiBOb3cgd2UncmUgcmVhZHkgdG8gcHJvamVjdCB0aGUgcGhv
dG9ucy4gRmlyc3QsIHdlIGNob29zZSBhIGxpbmUtb2Ytc2lnaHQKLXZlY3RvciBgYExgYC4gU2Vj
b25kLCB3ZSdsbCBhZGp1c3QgdGhlIGV4cG9zdXJlIHRpbWUgYW5kIHRoZSByZWRzaGlmdC4KK3Zl
Y3RvciBgYG5vcm1hbGBgLiBTZWNvbmQsIHdlJ2xsIGFkanVzdCB0aGUgZXhwb3N1cmUgdGltZSBh
bmQgdGhlIHJlZHNoaWZ0LgogVGhpcmQsIHdlJ2xsIHBhc3MgaW4gdGhlIGFic29ycHRpb24gYGBT
cGVjdHJ1bU1vZGVsYGAuIEZvdXJ0aCwgd2UnbGwKIHNwZWNpZnkgYSBgYHNreV9jZW50ZXJgYCBp
biBSQSxERUMgb24gdGhlIHNreSBpbiBkZWdyZWVzLgo9MjAKQEAgLTI3NCwyNiArMzE0LDQwIEBA
CiBjb3Vyc2UgZmFyIHNob3J0IG9mIGEgZnVsbCBzaW11bGF0aW9uIG9mIGEgdGVsZXNjb3BlIHJh
eS10cmFjZSwgYnV0IGl0J3MKIGEgcXVpY2stYW5kLWRpcnR5IHdheSB0byBnZXQgc29tZXRoaW5n
IGNsb3NlIHRvIHRoZSByZWFsIHRoaW5nLiBXZSdsbAogZGlzY3VzcyBob3cgdG8gZ2V0IHlvdXIg
c2ltdWxhdGVkIGV2ZW50cyBpbnRvIGEgZm9ybWF0IHN1aXRhYmxlIGZvcgotcmVhZGluZyBieSB0
ZWxlc2NvcGUgc2ltdWxhdGlvbiBjb2RlcyBsYXRlci4KK3JlYWRpbmcgYnkgdGVsZXNjb3BlIHNp
bXVsYXRpb24gY29kZXMgbGF0ZXIuIElmIHlvdSBqdXN0IHdhbnQgdG8gY29udm9sdmU9MjAKK3Ro
ZSBwaG90b25zIHdpdGggYW4gQVJGLCB5b3UgbWF5IHNwZWNpZnkgdGhhdCBhcyB0aGUgb25seSBy
ZXNwb25zZSwgYnV0IHNvPQptZQorQVJGcyBhcmUgdW5ub3JtYWxpemVkIGFuZCBzdGlsbCByZXF1
aXJlIHRoZSBSTUYgZm9yIG5vcm1hbGl6YXRpb24uIENoZWNrIHc9Cml0aAordGhlIGRvY3VtZW50
YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZXNlIGZpbGVzIGZvciBkZXRhaWxzLiBJZiB3ZSBhcmUg
dXNpbmc9CiB0aGUKK1JNRiB0byBjb252b2x2ZSBlbmVyZ2llcywgd2UgbXVzdCBzZXQgYGBjb252
b2x2ZV9lbmVyZ2llcz0zRFRydWVgYC49MjAKPTIwCiAuLiBjb2RlOjogcHl0aG9uCj0yMAogICAg
IEFSRiA9M0QgImNoYW5kcmFfQUNJUy1TM19vbmF4aXNfYXJmLmZpdHMiCiAgICAgUk1GID0zRCAi
Y2hhbmRyYV9BQ0lTLVMzX29uYXhpc19ybWYuZml0cyIKLSAgICBMID0zRCBbMC4wLDAuMCwxLjBd
Ci0gICAgZXZlbnRzID0zRCBwaG90b25zLnByb2plY3RfcGhvdG9ucyhMLCBleHBfdGltZV9uZXc9
M0QyLjBlNSwgcmVkc2hpZnRfbj0KZXc9M0QwLjA3LCBhYnNvcmJfbW9kZWw9M0RhYnNfbW9kZWws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2t5X2NlbnRlcj0zRCgxODcu
NSwxMi4zMzMpLCByZXNwb25zZT0Kcz0zRFtBUkYsUk1GXSkKKyAgICBub3JtYWwgPTNEIFswLjAs
MC4wLDEuMF0KKyAgICBldmVudHMgPTNEIHBob3RvbnMucHJvamVjdF9waG90b25zKG5vcm1hbCwg
ZXhwX3RpbWVfbmV3PTNEMi4wZTUsIHJlZHNoPQppZnRfbmV3PTNEMC4wNywgZGlzdF9uZXc9M0RO
b25lLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFic29yYl9tb2Rl
bD0zRGFic19tb2RlbCwgc2t5X2NlbnRlcj0KPTNEKDE4Ny41LDEyLjMzMyksIHJlc3BvbnNlcz0z
RFtBUkYsUk1GXSw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb252
b2x2ZV9lbmVyZ2llcz0zRFRydWUsIG5vX3NoaWZ0aW5nPQo9M0RGYWxzZSwgbm9ydGhfdmVjdG9y
PTNETm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Zfc2lnbWE9
M0ROb25lKQo9MjAKLUFsc28sIHRoZSBvcHRpb25hbCBrZXl3b3JkIGBgcHNmX3NpZ21hYGAgc3Bl
Y2lmaWVzIGEgR2F1c3NpYW4gc3RhbmRhcmQKLWRldmlhdGlvbiB0byBzY2F0dGVyIHRoZSBwaG90
b24gc2t5IHBvc2l0aW9ucyBhcm91bmQgd2l0aCwgcHJvdmlkaW5nIGEKLWNydWRlIHJlcHJlc2Vu
dGF0aW9uIG9mIGEgUFNGLgorSW4gdGhpcyBjYXNlLCB3ZSBjaG9zZSBhIHRocmVlLXZlY3RvciBg
YG5vcm1hbGBgIHRvIHNwZWNpZnkgYW4gYXJiaXRyYXJ5PTIwCitsaW5lLW9mLXNpZ2h0LCBidXQg
YGAieCJgYCwgYGAieSJgYCwgb3IgYGAieiJgYCBjb3VsZCBhbHNvIGJlIGNob3NlbiB0bz0yMAor
cHJvamVjdCBhbG9uZyBvbmUgb2YgdGhvc2UgYXhlcy49MjAKPTIwCi0uLiB3YXJuaW5nOjoKK2Bg
cHJvamVjdF9waG90b25zYGAgdGFrZXMgc2V2ZXJhbCBvdGhlciBvcHRpb25hbCBrZXl3b3JkIGFy
Z3VtZW50cy49MjAKPTIwCi0gICBUaGUgYmlubmVkIGltYWdlcyB0aGF0IHJlc3VsdCwgZXZlbiBp
ZiB5b3UgY29udm9sdmUgd2l0aCByZXNwb25zZXMsCi0gICBhcmUgc3RpbGwgb2YgdGhlIHNhbWUg
cmVzb2x1dGlvbiBhcyB0aGUgZmluZXN0IGNlbGwgc2l6ZSBvZiB0aGUKLSAgIHNpbXVsYXRpb24g
ZGF0YXNldC4gSWYgeW91IHdhbnQgYSBtb3JlIGFjY3VyYXRlIHNpbXVsYXRpb24gb2YgYQotICAg
cGFydGljdWxhciBYLXJheSB0ZWxlc2NvcGUsIHlvdSBzaG91bGQgY2hlY2sgb3V0IGBTdG9yaW5n
IGV2ZW50cyBmb3IgZnU9CnR1cmUgdXNlIGFuZCBmb3IgcmVhZGluZy1pbiBieSB0ZWxlc2NvcGUg
c2ltdWxhdG9yc2BfLgorKiBgYG5vX3NoaWZ0aW5nYGAgKGRlZmF1bHQgYGBGYWxzZWBgKSBjb250
cm9scyB3aGV0aGVyIG9yIG5vdCBEb3BwbGVyPTIwCisgIHNoaWZ0aW5nIG9mIHBob3RvbiBlbmVy
Z2llcyBpcyB0dXJuZWQgb24uPTIwCisqIGBgZGlzdF9uZXdgYCBpcyBhICh2YWx1ZSwgdW5pdCkg
dHVwbGUgdGhhdCBpcyB1c2VkIHRvIHNldCBhIG5ldworICBhbmd1bGFyIGRpYW1ldGVyIGRpc3Rh
bmNlIGJ5IGhhbmQgaW5zdGVhZCBvZiBoYXZpbmcgaXQgZGV0ZXJtaW5lZAorICBieSB0aGUgY29z
bW9sb2d5IGFuZCB0aGUgdmFsdWUgb2YgdGhlIHJlZHNoaWZ0LiBTaG91bGQgb25seSBiZSB1c2Vk
CisgIGZvciBzaW11bGF0aW9ucyBvZiBuZWFyYnkgb2JqZWN0cy49MjAKKyogRm9yIG9mZi1heGlz
IGBgbm9ybWFsYGAgdmVjdG9ycywgIHRoZSBgYG5vcnRoX3ZlY3RvcmBgIGFyZ3VtZW50IGNhbj0y
MAorICBiZSB1c2VkIHRvIGNvbnRyb2wgd2hhdCB2ZWN0b3IgY29ycmVzcG9uZHMgdG8gdGhlICJ1
cCIgZGlyZWN0aW9uIGluPTIwCisgIHRoZSByZXN1bHRpbmcgZXZlbnQgbGlzdC49MjAKKyogYGBw
c2Zfc2lnbWFgYCBtYXkgYmUgc3BlY2lmaWVkIHRvIHByb3ZpZGUgYSBjcnVkZSByZXByZXNlbnRh
dGlvbiBvZj0yMAorICBhIFBTRiwgYW5kIGNvcnJlc3BvbmRzIHRvIHRoZSBzdGFuZGFyZCBkZXZp
YXRpb24gKGluIGRlZ3Jlc3MpIG9mIGE9MjAKKyAgR2F1c3NpYW4gUFNGIG1vZGVsLj0yMAo9MjAK
IExldCdzIGp1c3QgdGFrZSBhIHF1aWNrIGxvb2sgYXQgdGhlIHJhdyBldmVudHMgb2JqZWN0Ogo9
MjAKQEAgLTM0MywxOSArMzk3LDI3IEBACj0yMAogV2hpY2ggaXMgc3RhcnRpbmcgdG8gbG9vayBs
aWtlIGEgcmVhbCBvYnNlcnZhdGlvbiEKPTIwCisuLiB3YXJuaW5nOjoKKworICAgVGhlIGJpbm5l
ZCBpbWFnZXMgdGhhdCByZXN1bHQsIGV2ZW4gaWYgeW91IGNvbnZvbHZlIHdpdGggcmVzcG9uc2Vz
LAorICAgYXJlIHN0aWxsIG9mIHRoZSBzYW1lIHJlc29sdXRpb24gYXMgdGhlIGZpbmVzdCBjZWxs
IHNpemUgb2YgdGhlCisgICBzaW11bGF0aW9uIGRhdGFzZXQuIElmIHlvdSB3YW50IGEgbW9yZSBh
Y2N1cmF0ZSBzaW11bGF0aW9uIG9mIGEKKyAgIHBhcnRpY3VsYXIgWC1yYXkgdGVsZXNjb3BlLCB5
b3Ugc2hvdWxkIGNoZWNrIG91dCBgU3RvcmluZyBldmVudHMgZm9yIGZ1PQp0dXJlIHVzZSBhbmQg
Zm9yIHJlYWRpbmctaW4gYnkgdGVsZXNjb3BlIHNpbXVsYXRvcnNgXy4KKwogV2UgY2FuIGFsc28g
YmluIHVwIHRoZSBzcGVjdHJ1bSBpbnRvIGVuZXJneSBiaW5zLCBhbmQgd3JpdGUgaXQgdG8gYSBG
SVRTCiB0YWJsZSBmaWxlLiBUaGlzIGlzIGFuIGV4YW1wbGUgd2hlcmUgd2UndmUgYmlubmVkIHVw
IHRoZSBzcGVjdHJ1bQogYWNjb3JkaW5nIHRvIHRoZSB1bmNvbnZvbHZlZCBwaG90b24gZW5lcmd5
Ogo9MjAKIC4uIGNvZGU6OiBweXRob24KPTIwCi0gICAgZXZlbnRzLndyaXRlX3NwZWN0cnVtKCJ2
aXJnb19zcGVjLmZpdHMiLCBlbmVyZ3lfYmlucz0zRFRydWUsIGVtaW49M0QwLj0KMSwgZW1heD0z
RDEwLjAsIG5jaGFuPTNEMjAwMCwgY2xvYmJlcj0zRFRydWUpCisgICAgZXZlbnRzLndyaXRlX3Nw
ZWN0cnVtKCJ2aXJnb19zcGVjLmZpdHMiLCBiaW5fdHlwZT0zRCJlbmVyZ3kiLCBlbWluPTNEMD0K
LjEsIGVtYXg9M0QxMC4wLCBuY2hhbj0zRDIwMDAsIGNsb2JiZXI9M0RUcnVlKQo9MjAKLUlmIHdl
IGRvbid0IHNldCBgYGVuZXJneV9iaW5zPTNEVHJ1ZWBgLCBhbmQgd2UgaGF2ZSBjb252b2x2ZWQg
b3VyIGV2ZW50cworV2UgY2FuIGFsc28gc2V0IGBgYmluX3R5cGU9M0QiY2hhbm5lbCJgYC4gSWYg
d2UgaGF2ZSBjb252b2x2ZWQgb3VyIGV2ZW50cwogd2l0aCByZXNwb25zZSBmaWxlcywgdGhlbiBh
bnkgb3RoZXIga2V5d29yZHMgd2lsbCBiZSBpZ25vcmVkIGFuZCBpdCB3aWxsCiB0cnkgdG8gbWFr
ZSBhIHNwZWN0cnVtIGZyb20gdGhlIGNoYW5uZWwgaW5mb3JtYXRpb24gdGhhdCBpcyBjb250YWlu
ZWQKLXdpdGhpbiB0aGUgUk1GLCBzdWl0YWJsZSBmb3IgYW5hbHl6aW5nIGluIFhTUEVDLiBGb3Ig
bm93LCB3ZSdsbCBzdGljawotd2l0aCB0aGUgZW5lcmd5IHNwZWN0cnVtLCBhbmQgcGxvdCBpdCB1
cDoKK3dpdGhpbiB0aGUgUk1GLiBPdGhlcndpc2UsIHRoZSBjaGFubmVscyB3aWxsIGJlIGRldGVy
bWluZWQgZnJvbSB0aGUgYGBlbWluPQpgYCw9MjAKK2BgZW1heGBgLCBhbmQgYGBuY2hhbmBgIGtl
eXdvcmRzLCBhbmQgd2lsbCBiZSBudW1iZXJlZCBmcm9tIDEgdG8gYGBuY2hhbmBgPQouPTIwCitG
b3Igbm93LCB3ZSdsbCBzdGljayB3aXRoIHRoZSBlbmVyZ3kgc3BlY3RydW0sIGFuZCBwbG90IGl0
IHVwOgo9MjAKIC4uIGNvZGU6OiBweXRob24KPTIwCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQz
YTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdl
YWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvYW5hbHl6aW5nL2ZpZWxkcy5yc3QKLS0tIGEvZG9jL3Nv
dXJjZS9hbmFseXppbmcvZmllbGRzLnJzdAorKysgYi9kb2Mvc291cmNlL2FuYWx5emluZy9maWVs
ZHMucnN0CkBAIC0xNzQsNyArMTc0LDcgQEAKPTIwCiBGaWVsZCBwbHVnaW5zIGNhbiBiZSBsb2Fk
ZWQgZHluYW1pY2FsbHksIGFsdGhvdWdoIGF0IHByZXNlbnQgdGhpcyBpcyBub3QKIHBhcnRpY3Vs
YXJseSB1c2VmdWwuICBQbGFucyBmb3IgZXh0ZW5kaW5nIGZpZWxkIHBsdWdpbnMgdG8gZHluYW1p
Y2FsbHkgbG9hPQpkLCB0bwotZW5hYmxlIHNpbXBsZSBkZWZpbml0aW9uIG9mIGNvbW1vbiB0eXBl
cyAoZ3JhZGllbnQsIGRpdmVyZ2VuY2UsIGV0YyksIGFuZCA9CnRvCitlbmFibGUgc2ltcGxlIGRl
ZmluaXRpb24gb2YgY29tbW9uIHR5cGVzIChkaXZlcmdlbmNlLCBjdXJsLCBldGMpLCBhbmQgdG8K
IG1vcmUgdmVyYm9zZWx5IGRlc2NyaWJlIGF2YWlsYWJsZSBmaWVsZHMsIGhhdmUgYmVlbiBwdXQg
aW4gcGxhY2UgZm9yIGZ1dHVyZQogdmVyc2lvbnMuCj0yMAoKZGlmZiAtciBkMzU0YTZiMzUzYWM2
MGRkM2ExYjcyMTljODVjZWRkMzIyNDA5NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpm
ZmY3ZWFhYTIxNTE1ODIzOSBkb2Mvc291cmNlL2NvbmYucHkKLS0tIGEvZG9jL3NvdXJjZS9jb25m
LnB5CisrKyBiL2RvYy9zb3VyY2UvY29uZi5weQpAQCAtNjcsOSArNjcsOSBAQAogIyBidWlsdCBk
b2N1bWVudHMuCiAjCiAjIFRoZSBzaG9ydCBYLlkgdmVyc2lvbi4KLXZlcnNpb24gPTNEICczLjIn
Cit2ZXJzaW9uID0zRCAnMy4zJwogIyBUaGUgZnVsbCB2ZXJzaW9uLCBpbmNsdWRpbmcgYWxwaGEv
YmV0YS9yYyB0YWdzLgotcmVsZWFzZSA9M0QgJzMuMi1kZXYnCityZWxlYXNlID0zRCAnMy4zLWRl
dicKPTIwCiAjIFRoZSBsYW5ndWFnZSBmb3IgY29udGVudCBhdXRvZ2VuZXJhdGVkIGJ5IFNwaGlu
eC4gUmVmZXIgdG8gZG9jdW1lbnRhdGlvbgogIyBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBsYW5n
dWFnZXMuCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQg
LXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IGRvYy9zb3VyY2Uv
Y29va2Jvb2svY2FsY3VsYXRpbmdfaW5mb3JtYXRpb24ucnN0Ci0tLSBhL2RvYy9zb3VyY2UvY29v
a2Jvb2svY2FsY3VsYXRpbmdfaW5mb3JtYXRpb24ucnN0CisrKyBiL2RvYy9zb3VyY2UvY29va2Jv
b2svY2FsY3VsYXRpbmdfaW5mb3JtYXRpb24ucnN0CkBAIC05Myw2ICs5MywxNiBAQAo9MjAKIC4u
IHl0X2Nvb2tib29rOjogaHNlX2ZpZWxkLnB5Cj0yMAorU21vb3RoZWQgRmllbGRzCit+fn5+fn5+
fn5+fn5+fn4KKworVGhpcyByZWNpcGUgZGVtb25zdHJhdGVzIGhvdyB0byBjcmVhdGUgYSBzbW9v
dGhlZCBmaWVsZCwKK2NvcnJlc3BvbmRpbmcgdG8gYSB1c2VyLWNyZWF0ZWQgZGVyaXZlZCBmaWVs
ZCwgdXNpbmcgdGhlCis6bWV0aDpgfnl0LmZpZWxkcy5wYXJ0aWNsZV9maWVsZHMuYWRkX3ZvbHVt
ZV93ZWlnaHRlZF9zbW9vdGhlZF9maWVsZGAgbWV0aD0Kb2QuCitTZWUgOnJlZjpgZ2FkZ2V0LW5v
dGVib29rYCBmb3IgaG93IHRvIHdvcmsgd2l0aCBHYWRnZXQgZGF0YS4KKworLi4geXRfY29va2Jv
b2s6OiBzbW9vdGhlZF9maWVsZC5weQorCiBVc2luZyBQYXJ0aWNsZSBGaWx0ZXJzIHRvIENhbGN1
bGF0ZSBTdGFyIEZvcm1hdGlvbiBSYXRlcwogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPTIwCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQz
YTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdl
YWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvY29va2Jvb2svZW1iZWRkZWRfamF2YXNjcmlwdF9hbmlt
YXRpb24uaXB5bmIKLS0tIGEvZG9jL3NvdXJjZS9jb29rYm9vay9lbWJlZGRlZF9qYXZhc2NyaXB0
X2FuaW1hdGlvbi5pcHluYgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLXsKLSAibWV0
YWRhdGEiOiB7Ci0gICJuYW1lIjogIiIsCi0gICJzaWduYXR1cmUiOiAic2hhMjU2OmJlZDc5ZjAy
Mjc3NDI3MTVhODc1M2E5OGYyYWQ1NDE3NTc2N2E3YzlkZWQxOWIxNDk3Nj0KZWU2YzhmZjI1NWYw
NCIKLSB9LAotICJuYmZvcm1hdCI6IDMsCi0gIm5iZm9ybWF0X21pbm9yIjogMCwKLSAid29ya3No
ZWV0cyI6IFsKLSAgewotICAgImNlbGxzIjogWwotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6ICJt
YXJrZG93biIsCi0gICAgICJtZXRhZGF0YSI6IHt9LAotICAgICAic291cmNlIjogWwotICAgICAg
IlRoaXMgZXhhbXBsZSBzaG93cyBob3cgdG8gZW1iZWQgYW4gYW5pbWF0aW9uIHByb2R1Y2VkIGJ5
IGBtYXRwbG90bGk9CmJgIGludG8gYW4gSVB5dGhvbiBub3RlYm9vay4gIFRoaXMgZXhhbXBsZSBt
YWtlcyB1c2Ugb2YgYG1hdHBsb3RsaWJgJ3MgW2FuaT0KbWF0aW9uIHRvb2xraXRdKGh0dHA6Ly9t
YXRwbG90bGliLm9yZy9hcGkvYW5pbWF0aW9uX2FwaS5odG1sKSB0byB0cmFuc2Zvcm0gPQppbmRp
dmlkdWFsIGZyYW1lcyBpbnRvIGEgZmluYWwgcmVuZGVyZWQgbW92aWUuICBcbiIsCi0gICAgICAi
XG4iLAotICAgICAgIkFkZGl0aW9uYWxseSwgdGhpcyB1c2VzIEpha2UgVmFuZGVyUGxhcycgW2BK
U0FuaW1hdGlvbmBdKGh0dHBzOi8vZ2k9CnRodWIuY29tL2pha2V2ZHAvSlNBbmltYXRpb24pIGxp
YnJhcnkgdG8gZW1iZWQgdGhlIG1vdmllIGFzIGEgamF2YXNjcmlwdCB3aT0KZGdldCwgZGlyZWN0
bHkgaW4gdGhlIG5vdGVib29rLiAgVGhpcyBkb2VzIG5vdCB1c2UgYGZmbXBlZ2AgdG8gc3RpdGNo
IHRoZSBmPQpyYW1lcyB0b2dldGhlciBhbmQgdGh1cyBkb2VzIG5vdCByZXF1aXJlIGBmZm1wZWdg
LiAgSG93ZXZlciwgeW91IG11c3QgaGF2ZSA9CmBKU0FuaW1hdGlvbmAgaW5zdGFsbGVkLlxuIiwK
LSAgICAgICJcbiIsCi0gICAgICAiVG8gZG8gc28sIGNsb25lIHRvIGdpdCByZXBvc3Rpb3J5IGFu
ZCBydW4gYHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsYD0KIGluIHRoZSByb290IG9mIHRoZSByZXBv
c2l0b3J5LiIKLSAgICAgXQotICAgIH0sCi0gICAgewotICAgICAiY2VsbF90eXBlIjogImNvZGUi
LAotICAgICAiY29sbGFwc2VkIjogZmFsc2UsCi0gICAgICJpbnB1dCI6IFsKLSAgICAgICJpbXBv
cnQgeXRcbiIsCi0gICAgICAiZnJvbSBKU0FuaW1hdGlvbiBpbXBvcnQgSVB5dGhvbl9kaXNwbGF5
XG4iLAotICAgICAgImZyb20gbWF0cGxvdGxpYiBpbXBvcnQgYW5pbWF0aW9uIgotICAgICBdLAot
ICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKLSAgICAgIm1ldGFkYXRhIjoge30sCi0gICAgICJv
dXRwdXRzIjogW10KLSAgICB9LAotICAgIHsKLSAgICAgImNlbGxfdHlwZSI6ICJtYXJrZG93biIs
Ci0gICAgICJtZXRhZGF0YSI6IHt9LAotICAgICAic291cmNlIjogWwotICAgICAgIkhlcmUgd2Ug
c2V0IHVwIHRoZSBhbmltYXRpb24uICBXZSB1c2UgeXQgdG8gbG9hZCB0aGUgZGF0YSBhbmQgY3Jl
YXQ9CmUgZWFjaCBmcmFtZSBhbmQgdXNlIG1hdHBsb3RsaWIgdG8gc3RpdGNoIHRoZSBmcmFtZXMg
dG9nZXRoZXIuICBOb3RlIHRoYXQgdz0KZSBjdXN0b21pemUgdGhlIHBsb3QgYSBiaXQgYnkgY2Fs
bGluZyB0aGUgYHNldF96bGltYCBmdW5jdGlvbi4gIEN1c3RvbWl6YXRpPQpvbnMgb25seSBuZWVk
IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGZpcnN0IGZyYW1lIC0gdGhleSB3aWxsIGNhcnJ5IHRocm91
Z2ggdG89CiB0aGUgcmVzdC5cbiIsCi0gICAgICAiXG4iLAotICAgICAgIlRoaXMgbWF5IHRha2Ug
YSB3aGlsZSB0byBydW4sIGJlIHBhdGllbnQuIgotICAgICBdCi0gICAgfSwKLSAgICB7Ci0gICAg
ICJjZWxsX3R5cGUiOiAiY29kZSIsCi0gICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKLSAgICAgImlu
cHV0IjogWwotICAgICAgImltcG9ydCBtYXRwbG90bGliLnB5cGxvdCBhcyBwbHRcbiIsCi0gICAg
ICAiZnJvbSBtYXRwbG90bGliLmJhY2tlbmRzLmJhY2tlbmRfYWdnIGltcG9ydCBGaWd1cmVDYW52
YXNBZ2dcbiIsCi0gICAgICAiXG4iLAotICAgICAgInByaiA9M0QgeXQuUHJvamVjdGlvblBsb3Qo
eXQubG9hZCgnRW56b182NC9ERDAwMDAvZGF0YTAwMDAnKSwgMCwgJ2Q9CmVuc2l0eScsIHdlaWdo
dF9maWVsZD0zRCdkZW5zaXR5Jyx3aWR0aD0zRCgxODAsJ01wY2NtJykpXG4iLAotICAgICAgInBy
ai5zZXRfZmlndXJlX3NpemUoNSlcbiIsCi0gICAgICAicHJqLnNldF96bGltKCdkZW5zaXR5Jywx
ZS0zMiwxZS0yNilcbiIsCi0gICAgICAiZmlnID0zRCBwcmoucGxvdHNbJ2RlbnNpdHknXS5maWd1
cmVcbiIsCi0gICAgICAiXG4iLAotICAgICAgIiMgYW5pbWF0aW9uIGZ1bmN0aW9uLiAgVGhpcyBp
cyBjYWxsZWQgc2VxdWVudGlhbGx5XG4iLAotICAgICAgImRlZiBhbmltYXRlKGkpOlxuIiwKLSAg
ICAgICIgICAgZHMgPTNEIHl0LmxvYWQoJ0Vuem9fNjQvREQlMDRpL2RhdGElMDRpJyAlIChpLGkp
KVxuIiwKLSAgICAgICIgICAgcHJqLl9zd2l0Y2hfZHMoZHMpXG4iLAotICAgICAgIlxuIiwKLSAg
ICAgICIjIGNhbGwgdGhlIGFuaW1hdG9yLiAgYmxpdD0zRFRydWUgbWVhbnMgb25seSByZS1kcmF3
IHRoZSBwYXJ0cyB0aGF0PQogaGF2ZSBjaGFuZ2VkLlxuIiwKLSAgICAgICJhbmltYXRpb24uRnVu
Y0FuaW1hdGlvbihmaWcsIGFuaW1hdGUsIGZyYW1lcz0zRDQ0LCBpbnRlcnZhbD0zRDIwMCwgPQpi
bGl0PTNERmFsc2UpIgotICAgICBdLAotICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIiwKLSAgICAg
Im1ldGFkYXRhIjoge30sCi0gICAgICJvdXRwdXRzIjogW10KLSAgICB9Ci0gICBdLAotICAgIm1l
dGFkYXRhIjoge30KLSAgfQotIF0KLX0KCmRpZmYgLXIgZDM1NGE2YjM1M2FjNjBkZDNhMWI3MjE5
Yzg1Y2VkZDMyMjQwOTU3NCAtciA0ZGMzOTc2MzNhOTliMzdjZGZiZGVmNT0KZmZmN2VhYWEyMTUx
NTgyMzkgZG9jL3NvdXJjZS9jb29rYm9vay9lbWJlZGRlZF9qYXZhc2NyaXB0X2FuaW1hdGlvbi5y
c3QKLS0tIGEvZG9jL3NvdXJjZS9jb29rYm9vay9lbWJlZGRlZF9qYXZhc2NyaXB0X2FuaW1hdGlv
bi5yc3QKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLU1ha2luZyBhIGphdmFzY3JpcHQg
YW5pbWF0aW9uIHdpZGdldCB1c2luZyBKU0FuaW1hdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIG5vdGVib29rOjogZW1iZWRk
ZWRfamF2YXNjcmlwdF9hbmltYXRpb24uaXB5bmIKCmRpZmYgLXIgZDM1NGE2YjM1M2FjNjBkZDNh
MWI3MjE5Yzg1Y2VkZDMyMjQwOTU3NCAtciA0ZGMzOTc2MzNhOTliMzdjZGZiZGVmNT0KZmZmN2Vh
YWEyMTUxNTgyMzkgZG9jL3NvdXJjZS9jb29rYm9vay9maXRfc3BlY3RydW0ucHkKLS0tIGEvZG9j
L3NvdXJjZS9jb29rYm9vay9maXRfc3BlY3RydW0ucHkKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9v
ay9maXRfc3BlY3RydW0ucHkKQEAgLTEwLDEwICsxMCwxMCBAQAogZGVmIF9PVklfbnVtYmVyX2Rl
bnNpdHkoZmllbGQsIGRhdGEpOgogICAgIHJldHVybiBkYXRhWydIX251bWJlcl9kZW5zaXR5J10q
Mi4wCj0yMAotIyBEZWZpbmUgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYWNjZXB0IGEgZHMgYW5kIGFk
ZCB0aGUgbmV3IGZpZWxkPTIwCisjIERlZmluZSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBhY2NlcHQg
YSBkcyBhbmQgYWRkIHRoZSBuZXcgZmllbGQKICMgZGVmaW5lZCBhYm92ZS4gIFRoaXMgd2lsbCBi
ZSBnaXZlbiB0byB0aGUgTGlnaHRSYXkgYmVsb3cuCiBkZWYgc2V0dXBfZHMoZHMpOgotICAgIGRz
LmFkZF9maWVsZCgiT19wNV9udW1iZXJfZGVuc2l0eSIsPTIwCisgICAgZHMuYWRkX2ZpZWxkKCgi
Z2FzIiwiT19wNV9udW1iZXJfZGVuc2l0eSIpLAogICAgICAgICAgICAgICAgICBmdW5jdGlvbj0z
RF9PVklfbnVtYmVyX2RlbnNpdHksCiAgICAgICAgICAgICAgICAgIHVuaXRzPTNEImNtKiotMyIp
Cj0yMApAQCAtNjIsNyArNjIsNyBAQAo9MjAKICMgR2V0IGFsbCBmaWVsZHMgdGhhdCBuZWVkIHRv
IGJlIGFkZGVkIHRvIHRoZSBsaWdodCByYXkKIGZpZWxkcyA9M0QgWyd0ZW1wZXJhdHVyZSddCi1m
b3IgcywgcGFyYW1zIGluIHNwZWNpZXNfZGljdHMuaXRlcml0ZW1zKCk6Citmb3IgcywgcGFyYW1z
IGluIHNwZWNpZXNfZGljdHMuaXRlbXMoKToKICAgICBmaWVsZHMuYXBwZW5kKHBhcmFtc1snZmll
bGQnXSkKPTIwCiAjIE1ha2UgYSBsaWdodCByYXksIGFuZCBzZXQgbmpvYnMgdG8gLTEgdG8gdXNl
IG9uZSBjb3JlCkBAIC03OSw3ICs3OSw3IEBACiBzcCA9M0QgQWJzb3JwdGlvblNwZWN0cnVtKDkw
MC4wLCAxNDAwLjAsIDUwMDAwKQo9MjAKICMgSXRlcmF0ZSBvdmVyIHNwZWNpZXMKLWZvciBzLCBw
YXJhbXMgaW4gc3BlY2llc19kaWN0cy5pdGVyaXRlbXMoKToKK2ZvciBzLCBwYXJhbXMgaW4gc3Bl
Y2llc19kaWN0cy5pdGVtcygpOgogICAgICMgSXRlcmF0ZSBvdmVyIHRyYW5zaXRpb25zIGZvciBh
IHNpbmdsZSBzcGVjaWVzCiAgICAgZm9yIGkgaW4gcmFuZ2UocGFyYW1zWydudW1MaW5lcyddKToK
ICAgICAgICAgIyBBZGQgdGhlIGxpbmVzIHRvIHRoZSBzcGVjdHJ1bQoKZGlmZiAtciBkMzU0YTZi
MzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIyNDA5NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJk
ZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSBkb2Mvc291cmNlL2Nvb2tib29rL2ZyZWVfZnJlZV9maWVs
ZC5weQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2ZyZWVfZnJlZV9maWVsZC5weQorKysgL2Rl
di9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0jIyMgVEhJUyBSRUNJUEUgSVMgQ1VSUkVOVExZIEJS
T0tFTiBJTiBZVC0zLjAKLSMjIyBETyBOT1QgVFJVU1QgVEhJUyBSRUNJUEUgVU5USUwgVEhJUyBM
SU5FIElTIFJFTU9WRUQKLQotaW1wb3J0IG51bXB5IGFzIG5wCi1pbXBvcnQgeXQKLSMgTmVlZCB0
byBncmFiIHRoZSBwcm90b24gbWFzcyBmcm9tIHRoZSBjb25zdGFudHMgZGF0YWJhc2UKLWZyb20g
eXQudXRpbGl0aWVzLnBoeXNpY2FsX2NvbnN0YW50cyBpbXBvcnQgbXAKLQotZXhpdCgpCi0jIERl
ZmluZSB0aGUgZW1pc3Npb24gZmllbGQKLQota2VWdG9lcmcgPTNEIDEuNjAyZS05ICAjIENvbnZl
cnQgZW5lcmd5IGluIGtlViB0byBlbmVyZ3kgaW4gZXJnCi1LdG9rZVYgPTNEIDguNjE3ZS0wOCAg
IyBDb252ZXJ0IGRlZ3JlZXMgS2VsdmluIHRvIGRlZ3JlZXMga2VWCi1zcXJ0MyA9M0QgbnAuc3Fy
dCgzLikKLWV4cGdhbW1hID0zRCAxLjc4MTA3MjQxNzk5ICAjIEV4cG9uZW50aWFsIG9mIEV1bGVy
J3MgY29uc3RhbnQKLQotCi1kZWYgX0ZyZWVGcmVlX0VtaXNzaW9uKGZpZWxkLCBkYXRhKToKLQot
ICAgIGlmIGRhdGEuaGFzX2ZpZWxkX3BhcmFtZXRlcigiWiIpOgotICAgICAgICBaID0zRCBkYXRh
LmdldF9maWVsZF9wYXJhbWV0ZXIoIloiKQotICAgIGVsc2U6Ci0gICAgICAgIFogPTNEIDEuMDc3
ICAjIFByaW1vcmRpYWwgSC9IZSBwbGFzbWEKLQotICAgIGlmIGRhdGEuaGFzX2ZpZWxkX3BhcmFt
ZXRlcigibXVlIik6Ci0gICAgICAgIG11ZSA9M0QgZGF0YS5nZXRfZmllbGRfcGFyYW1ldGVyKCJt
dWUiKQotICAgIGVsc2U6Ci0gICAgICAgIG11ZSA9M0QgMS4vMC44NzUgICMgUHJpbW9yZGlhbCBI
L0hlIHBsYXNtYQotCi0gICAgaWYgZGF0YS5oYXNfZmllbGRfcGFyYW1ldGVyKCJtdWkiKToKLSAg
ICAgICAgbXVpID0zRCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoIm11aSIpCi0gICAgZWxzZToK
LSAgICAgICAgbXVpID0zRCAxLi8wLjgxMjUgICMgUHJpbW9yZGlhbCBIL0hlIHBsYXNtYQotCi0g
ICAgaWYgZGF0YS5oYXNfZmllbGRfcGFyYW1ldGVyKCJFcGhvdG9uIik6Ci0gICAgICAgIEVwaG90
b24gPTNEIGRhdGEuZ2V0X2ZpZWxkX3BhcmFtZXRlcigiRXBob3RvbiIpCi0gICAgZWxzZToKLSAg
ICAgICAgRXBob3RvbiA9M0QgMS4wICAjIGluIGtlVgotCi0gICAgaWYgZGF0YS5oYXNfZmllbGRf
cGFyYW1ldGVyKCJwaG90b25fZW1pc3Npb24iKToKLSAgICAgICAgcGhvdG9uX2VtaXNzaW9uID0z
RCBkYXRhLmdldF9maWVsZF9wYXJhbWV0ZXIoInBob3Rvbl9lbWlzc2lvbiIpCi0gICAgZWxzZToK
LSAgICAgICAgcGhvdG9uX2VtaXNzaW9uID0zRCBGYWxzZSAgIyBGbGFnIGZvciBlbmVyZ3kgb3Ig
cGhvdG9uIGVtaXNzaW9uCi0KLSAgICBuX2UgPTNEIGRhdGFbImRlbnNpdHkiXS8obXVlKm1wKQot
ICAgIG5faSA9M0QgZGF0YVsiZGVuc2l0eSJdLyhtdWkqbXApCi0gICAga1QgPTNEIGRhdGFbInRl
bXBlcmF0dXJlIl0qS3Rva2VWCi0KLSAgICAjIENvbXB1dGUgdGhlIEdhdW50IGZhY3RvcgotCi0g
ICAgZ19mZiA9M0QgbnAuemVyb3Moa1Quc2hhcGUpCi0gICAgZ19mZltFcGhvdG9uL2tUID4gMS5d
ID0zRCBucC5zcXJ0KCgzLi9ucC5waSkqa1RbRXBob3Rvbi9rVCA+IDEuXS9FcGhvdD0Kb24pCi0g
ICAgZ19mZltFcGhvdG9uL2tUIDwgMS5dID0zRCAoc3FydDMvbnAucGkpKm5wLmxvZygoNC4vZXhw
Z2FtbWEpICoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrVFtFcGhvdG9uL2tUIDwgMS5dL0VwaG90PQpvbikKLQotICAgIGVwc19FID0zRCAxLjY0ZS0y
MCpaKloqbl9lKm5faS9ucC5zcXJ0KGRhdGFbInRlbXBlcmF0dXJlIl0pICogXAotICAgICAgICBu
cC5leHAoLUVwaG90b24va1QpKmdfZmYKLQotICAgIGlmIHBob3Rvbl9lbWlzc2lvbjoKLSAgICAg
ICAgZXBzX0UgLz0zRCAoRXBob3RvbiprZVZ0b2VyZykKLQotICAgIHJldHVybiBlcHNfRQotCi15
dC5hZGRfZmllbGQoIkZyZWVGcmVlX0VtaXNzaW9uIiwgZnVuY3Rpb249M0RfRnJlZUZyZWVfRW1p
c3Npb24pCi0KLSMgRGVmaW5lIHRoZSBsdW1pbm9zaXR5IGRlcml2ZWQgcXVhbnRpdHkKLWRlZiBf
RnJlZUZyZWVMdW1pbm9zaXR5KGRhdGEpOgotICAgIHJldHVybiAoZGF0YVsiRnJlZUZyZWVfRW1p
c3Npb24iXSpkYXRhWyJjZWxsX3ZvbHVtZSJdKS5zdW0oKQotCi0KLWRlZiBfY29tYkZyZWVGcmVl
THVtaW5vc2l0eShkYXRhLCBsdW1pbm9zaXR5KToKLSAgICByZXR1cm4gbHVtaW5vc2l0eS5zdW0o
KQotCi15dC5hZGRfcXVhbnRpdHkoIkZyZWVGcmVlX0x1bWlub3NpdHkiLCBmdW5jdGlvbj0zRF9G
cmVlRnJlZUx1bWlub3NpdHksCi0gICAgICAgICAgICAgICAgY29tYmluZV9mdW5jdGlvbj0zRF9j
b21iRnJlZUZyZWVMdW1pbm9zaXR5LCBuX3JldD0zRDEpCi0KLWRzID0zRCB5dC5sb2FkKCJHYXNT
bG9zaGluZy9zbG9zaGluZ19ub21hZzJfaGRmNV9wbHRfY250XzAxNTAiKQotCi1zcGhlcmUgPTNE
IGRzLnNwaGVyZShkcy5kb21haW5fY2VudGVyLCAoMTAwLiwgImtwYyIpKQotCi0jIFByaW50IG91
dCB0aGUgdG90YWwgbHVtaW5vc2l0eSBhdCAxIGtlViBmb3IgdGhlIHNwaGVyZQotCi1wcmludCgi
TF9FICgxIGtlViwgcHJpbW9yZGlhbCkgPTNEICIsIHNwaGVyZS5xdWFudGl0aWVzWyJGcmVlRnJl
ZV9MdW1pbm9zaT0KdHkiXSgpKQotCi0jIFRoZSBkZWZhdWx0cyBmb3IgdGhlIGZpZWxkIGFzc3Vt
ZSBhIEgvSGUgcHJpbW9yZGlhbCBwbGFzbWEuCi0jIExldCdzIHNldCB0aGUgYXBwcm9wcmlhdGUg
cGFyYW1ldGVycyBmb3IgYSBwdXJlIGh5ZHJvZ2VuIHBsYXNtYS4KLQotc3BoZXJlLnNldF9maWVs
ZF9wYXJhbWV0ZXIoIm11ZSIsIDEuMCkKLXNwaGVyZS5zZXRfZmllbGRfcGFyYW1ldGVyKCJtdWki
LCAxLjApCi1zcGhlcmUuc2V0X2ZpZWxkX3BhcmFtZXRlcigiWiIsIDEuMCkKLQotcHJpbnQoIkxf
RSAoMSBrZVYsIHB1cmUgaHlkcm9nZW4pID0zRCAiLCBzcGhlcmUucXVhbnRpdGllc1siRnJlZUZy
ZWVfTHVtaW49Cm9zaXR5Il0oKSkKLQotIyBOb3cgbGV0J3MgcHJpbnQgdGhlIGx1bWlub3NpdHkg
YXQgYW4gZW5lcmd5IG9mIEUgPTNEIDEwIGtlVgotCi1zcGhlcmUuc2V0X2ZpZWxkX3BhcmFtZXRl
cigiRXBob3RvbiIsIDEwLjApCi0KLXByaW50KCJMX0UgKDEwIGtlViwgcHVyZSBoeWRyb2dlbikg
PTNEICIsIHNwaGVyZS5xdWFudGl0aWVzWyJGcmVlRnJlZV9MdW1pPQpub3NpdHkiXSgpKQotCi0j
IEZpbmFsbHksIGxldCdzIHNldCB0aGUgZmxhZyBmb3IgcGhvdG9uIGVtaXNzaW9uLCB0byBnZXQg
dGhlIHRvdGFsIG51bWJlcgotIyBvZiBwaG90b25zIGVtaXR0ZWQgYXQgdGhpcyBlbmVyZ3k6Ci0K
LXNwaGVyZS5zZXRfZmllbGRfcGFyYW1ldGVyKCJwaG90b25fZW1pc3Npb24iLCBUcnVlKQotCi1w
cmludCgiTF9waCAoMTAga2VWLCBwdXJlIGh5ZHJvZ2VuKSA9M0QgIiwgc3BoZXJlLnF1YW50aXRp
ZXNbIkZyZWVGcmVlX0x1bT0KaW5vc2l0eSJdKCkpCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQz
YTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdl
YWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvY29va2Jvb2svaW5kZXgucnN0Ci0tLSBhL2RvYy9zb3Vy
Y2UvY29va2Jvb2svaW5kZXgucnN0CisrKyBiL2RvYy9zb3VyY2UvY29va2Jvb2svaW5kZXgucnN0
CkBAIC00MSw3ICs0MSw2IEBACj0yMAogICAgbm90ZWJvb2tfdHV0b3JpYWwKICAgIGN1c3RvbV9j
b2xvcmJhcl90aWNrbWFya3MKLSAgIGVtYmVkZGVkX2phdmFzY3JpcHRfYW5pbWF0aW9uCiAgICBl
bWJlZGRlZF93ZWJtX2FuaW1hdGlvbgogICAgZ2FkZ2V0X25vdGVib29rCiAgICBvd2xzX25vdGVi
b29rCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIg
NGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvY29v
a2Jvb2svc2ltdWxhdGlvbl9hbmFseXNpcy5weQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL3Np
bXVsYXRpb25fYW5hbHlzaXMucHkKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay9zaW11bGF0aW9u
X2FuYWx5c2lzLnB5CkBAIC0yLDExICsyLDExIEBACiB5dC5lbmFibGVfcGFyYWxsZWxpc20oKQog
aW1wb3J0IGNvbGxlY3Rpb25zCj0yMAotIyBFbmFibGUgcGFyYWxsZWxpc20gaW4gdGhlIHNjcmlw
dCAoYXNzdW1pbmcgaXQgd2FzIGNhbGxlZCB3aXRoPTIwCisjIEVuYWJsZSBwYXJhbGxlbGlzbSBp
biB0aGUgc2NyaXB0IChhc3N1bWluZyBpdCB3YXMgY2FsbGVkIHdpdGgKICMgYG1waXJ1biAtbnAg
PG5fcHJvY3M+YCApCiB5dC5lbmFibGVfcGFyYWxsZWxpc20oKQo9MjAKLSMgQnkgdXNpbmcgd2ls
ZGNhcmRzIHN1Y2ggYXMgPyBhbmQgKiB3aXRoIHRoZSBsb2FkIGNvbW1hbmQsIHdlIGNhbiBsb2Fk
IHVwPQogYT0yMAorIyBCeSB1c2luZyB3aWxkY2FyZHMgc3VjaCBhcyA/IGFuZCAqIHdpdGggdGhl
IGxvYWQgY29tbWFuZCwgd2UgY2FuIGxvYWQgdXA9CiBhCiAjIFRpbWUgU2VyaWVzIGNvbnRhaW5p
bmcgYWxsIG9mIHRoZXNlIGRhdGFzZXRzIHNpbXVsdGFuZW91c2x5LgogdHMgPTNEIHl0LmxvYWQo
J2Vuem9fdGlueV9jb3Ntb2xvZ3kvREQ/Pz8/L0REPz8/PycpCj0yMApAQCAtMTYsNyArMTYsNyBA
QAogIyBDcmVhdGUgYW4gZW1wdHkgZGljdGlvbmFyeQogZGF0YSA9M0Qge30KPTIwCi0jIEl0ZXJh
dGUgdGhyb3VnaCBlYWNoIGRhdGFzZXQgaW4gdGhlIFRpbWUgU2VyaWVzICh1c2luZyBwaXRlciBh
bGxvd3MgaXQ9MjAKKyMgSXRlcmF0ZSB0aHJvdWdoIGVhY2ggZGF0YXNldCBpbiB0aGUgVGltZSBT
ZXJpZXMgKHVzaW5nIHBpdGVyIGFsbG93cyBpdAogIyB0byBoYXBwZW4gaW4gcGFyYWxsZWwgYXV0
b21hdGljYWxseSBhY3Jvc3MgYXZhaWxhYmxlIHByb2Nlc3NvcnMpCiBmb3IgZHMgaW4gdHMucGl0
ZXIoKToKICAgICBhZCA9M0QgZHMuYWxsX2RhdGEoKQpAQCAtMzEsNiArMzEsNiBAQAogIyBQcmlu
dCBvdXQgYWxsIHRoZSB2YWx1ZXMgd2UgY2FsY3VsYXRlZC4KIHByaW50KCJEYXRhc2V0ICAgICAg
UmVkc2hpZnQgICAgICAgIERlbnNpdHkgTWluICAgICAgRGVuc2l0eSBNYXgiKQogcHJpbnQoIi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIp
Ci1mb3Iga2V5LCB2YWwgaW4gb2QuaXRlcml0ZW1zKCk6PTIwCitmb3Iga2V5LCB2YWwgaW4gb2Qu
aXRlbXMoKTo9MjAKICAgICBwcmludCgiJXMgICAgICAgJTA1LjNmICAgICAgICAgICU1LjNnIGcv
Y21eMyAgICU1LjNnIGcvY21eMyIgJSBcCiAgICAgICAgICAgIChrZXksIHZhbFsxXSwgdmFsWzBd
WzBdLCB2YWxbMF1bMV0pKQoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRk
MzIyNDA5NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSBk
b2Mvc291cmNlL2Nvb2tib29rL3Ntb290aGVkX2ZpZWxkLnB5Ci0tLSAvZGV2L251bGwKKysrIGIv
ZG9jL3NvdXJjZS9jb29rYm9vay9zbW9vdGhlZF9maWVsZC5weQpAQCAtMCwwICsxLDQ4IEBACitp
bXBvcnQgeXQKKworIyBMb2FkIGEgR2FkZ2V0IGRhdGFzZXQgZm9sbG93aW5nIHRoZSBkZW1vbnN0
cmF0aW9uIG5vdGVib29rLgorZm5hbWUgPTNEICdHYWRnZXREaXNrR2FsYXh5L3NuYXBzaG90XzIw
MC5oZGY1JworCit1bml0X2Jhc2UgPTNEIHsnVW5pdExlbmd0aF9pbl9jbScgICAgICAgICA6IDMu
MDg1NjhlKzIxLAorICAgICAgICAgICAgICdVbml0TWFzc19pbl9nJyAgICAgICAgICAgIDogICAx
Ljk4OWUrNDMsCisgICAgICAgICAgICAgJ1VuaXRWZWxvY2l0eV9pbl9jbV9wZXJfcycgOiAgICAg
IDEwMDAwMH0KKworYmJveF9saW0gPTNEIDFlNSAgIyBrcGMKKworYmJveCA9M0QgW1stYmJveF9s
aW0sIGJib3hfbGltXSwKKyAgICAgICAgWy1iYm94X2xpbSwgYmJveF9saW1dLAorICAgICAgICBb
LWJib3hfbGltLCBiYm94X2xpbV1dCisKK2RzID0zRCB5dC5sb2FkKGZuYW1lLCB1bml0X2Jhc2U9
M0R1bml0X2Jhc2UsIGJvdW5kaW5nX2JveD0zRGJib3gpCisKKyMgQ3JlYXRlIGEgZGVyaXZlZCBm
aWVsZCwgdGhlIG1ldGFsIGRlbnNpdHkuCitkZWYgX21ldGFsX2RlbnNpdHkoZmllbGQsIGRhdGEp
OgorICAgIGRlbnNpdHkgPTNEIGRhdGFbJ1BhcnRUeXBlMCcsICdEZW5zaXR5J10KKyAgICBaID0z
RCBkYXRhWydQYXJ0VHlwZTAnLCAnbWV0YWxsaWNpdHknXQorICAgIHJldHVybiBkZW5zaXR5ICog
WgorICAgPTIwCisjIEFkZCBpdCB0byB0aGUgZGF0YXNldC4KK2RzLmFkZF9maWVsZCgoJ1BhcnRU
eXBlMCcsICdtZXRhbF9kZW5zaXR5JyksIGZ1bmN0aW9uPTNEX21ldGFsX2RlbnNpdHksCisgICAg
ICAgICAgICAgdW5pdHM9M0QiZy9jbSoqMyIsIHBhcnRpY2xlX3R5cGU9M0RUcnVlKQorCisKKyMg
QWRkIHRoZSBjb3JyZXNwb25kaW5nIHNtb290aGVkIGZpZWxkIHRvIHRoZSBkYXRhc2V0LgorZnJv
bSB5dC5maWVsZHMucGFydGljbGVfZmllbGRzIGltcG9ydCBhZGRfdm9sdW1lX3dlaWdodGVkX3Nt
b290aGVkX2ZpZWxkCisKK2FkZF92b2x1bWVfd2VpZ2h0ZWRfc21vb3RoZWRfZmllbGQoJ1BhcnRU
eXBlMCcsICdDb29yZGluYXRlcycsICdNYXNzZXMnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnU21vb3RoaW5nTGVuZ3RoJywgJ0RlbnNpdHknLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnbWV0YWxfZGVuc2l0eScsIGRzLmZpZWxkX2luZm8pCisKKyMg
RGVmaW5lIHRoZSByZWdpb24gd2hlcmUgdGhlIGRpc2sgZ2FsYXh5IGlzLiAoU2VlIHRoZSBHYWRn
ZXQgbm90ZWJvb2sgZm9yCisjIGRldGFpbHMuIEhlcmUgSSBtYWtlIHRoZSBib3ggYSBsaXR0bGUg
bGFyZ2VyIHRoYW4gbmVlZGVkIHRvIGVsaW1pbmF0ZSB0aGUKKyMgbWFyZ2luIGVmZmVjdC4pCitj
ZW50ZXIgPTNEIGRzLmFycihbMzE5OTYsIDMxNDc0LCAyODk3MF0sICJjb2RlX2xlbmd0aCIpCiti
b3hfc2l6ZSA9M0QgZHMucXVhbigyNTAsICJjb2RlX2xlbmd0aCIpCitsZWZ0X2VkZ2UgPTNEIGNl
bnRlciAtIGJveF9zaXplLzIqMS4xCityaWdodF9lZGdlID0zRCBjZW50ZXIgKyBib3hfc2l6ZS8y
KjEuMQorYm94ID0zRCBkcy5ib3gobGVmdF9lZGdlPTNEbGVmdF9lZGdlLCByaWdodF9lZGdlPTNE
cmlnaHRfZWRnZSkKKworIyBBbmQgbWFrZSBhIHByb2plY3Rpb24gcGxvdCEKK3l0LlByb2plY3Rp
b25QbG90KGRzLCAneicsCisgICAgICAgICAgICAgICAgICAoJ2RlcG9zaXQnLCAnUGFydFR5cGUw
X3Ntb290aGVkX21ldGFsX2RlbnNpdHknKSwKKyAgICAgICAgICAgICAgICAgIGNlbnRlcj0zRGNl
bnRlciwgd2lkdGg9M0Rib3hfc2l6ZSwgZGF0YV9zb3VyY2U9M0Rib3gpLnNhPQp2ZSgpCgpkaWZm
IC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMz
YTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvY29va2Jvb2svdGlt
ZV9zZXJpZXMucHkKLS0tIGEvZG9jL3NvdXJjZS9jb29rYm9vay90aW1lX3Nlcmllcy5weQorKysg
Yi9kb2Mvc291cmNlL2Nvb2tib29rL3RpbWVfc2VyaWVzLnB5CkBAIC0xMiw3ICsxMiw3IEBACj0y
MAogc3RvcmFnZSA9M0Qge30KPTIwCi0jIEJ5IHVzaW5nIHRoZSBwaXRlcigpIGZ1bmN0aW9uLCB3
ZSBjYW4gaXRlcmF0ZSBvbiBldmVyeSBkYXRhc2V0IGluPTIwCisjIEJ5IHVzaW5nIHRoZSBwaXRl
cigpIGZ1bmN0aW9uLCB3ZSBjYW4gaXRlcmF0ZSBvbiBldmVyeSBkYXRhc2V0IGluCiAjIHRoZSBU
aW1lU2VyaWVzIG9iamVjdC4gIEJ5IHVzaW5nIHRoZSBzdG9yYWdlIGtleXdvcmQsIHdlIGNhbiBw
b3B1bGF0ZQogIyBhIGRpY3Rpb25hcnkgd2hlcmUgdGhlIGRhdGFzZXQgaXMgdGhlIGtleSwgYW5k
IHN0by5yZXN1bHQgaXMgdGhlIHZhbHVlCiAjIGZvciBsYXRlciB1c2Ugd2hlbiB0aGUgbG9vcCBp
cyBjb21wbGV0ZS4KQEAgLTI1LDEzICsyNSwxMyBAQAogICAgIHNwaGVyZSA9M0QgZHMuc3BoZXJl
KCJjIiwgKDEwMC4sICJrcGMiKSkKICAgICAjIENhbGN1bGF0ZSB0aGUgZW50cm9weSB3aXRoaW4g
dGhhdCBzcGhlcmUKICAgICBlbnRyID0zRCBzcGhlcmVbImVudHJvcHkiXS5zdW0oKQotICAgICMg
U3RvcmUgdGhlIGN1cnJlbnQgdGltZSBhbmQgc3BoZXJlIGVudHJvcHkgZm9yIHRoaXMgZGF0YXNl
dCBpbiBvdXI9MjAKKyAgICAjIFN0b3JlIHRoZSBjdXJyZW50IHRpbWUgYW5kIHNwaGVyZSBlbnRy
b3B5IGZvciB0aGlzIGRhdGFzZXQgaW4gb3VyCiAgICAgIyBzdG9yYWdlIGRpY3Rpb25hcnkgYXMg
YSB0dXBsZQogICAgIHN0b3JlLnJlc3VsdCA9M0QgKGRzLmN1cnJlbnRfdGltZS5pbl91bml0cygn
R3lyJyksIGVudHIpCj0yMAogIyBDb252ZXJ0IHRoZSBzdG9yYWdlIGRpY3Rpb25hcnkgdmFsdWVz
IHRvIGEgTngyIGFycmF5LCBzbyB0aGUgY2FuIGJlIGVhc2k9Cmx5CiAjIHBsb3R0ZWQKLWFyciA9
M0QgbnAuYXJyYXkoc3RvcmFnZS52YWx1ZXMoKSkKK2FyciA9M0QgbnAuYXJyYXkobGlzdChzdG9y
YWdlLnZhbHVlcygpKSkKPTIwCiAjIFBsb3QgdXAgdGhlIHJlc3VsdHM6IHRpbWUgdmVyc3VzIGVu
dHJvcHkKIHBsdC5zZW1pbG9neShhcnJbOiwwXSwgYXJyWzosMV0sICdyLScpCgpkaWZmIC1yIGQz
NTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3
Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvZGV2ZWxvcGluZy9idWlsZGlu
Z190aGVfZG9jcy5yc3QKLS0tIGEvZG9jL3NvdXJjZS9kZXZlbG9waW5nL2J1aWxkaW5nX3RoZV9k
b2NzLnJzdAorKysgYi9kb2Mvc291cmNlL2RldmVsb3BpbmcvYnVpbGRpbmdfdGhlX2RvY3MucnN0
CkBAIC0xNjUsMjQgKzE2NSwyMiBAQAo9MjAKIFRvIGJ1aWxkIHRoZSBmdWxsIGRvY3VtZW50YXRp
b24sIHlvdSB3aWxsIG5lZWQgeXQsIElQeXRob24sIHJ1bmlweSwgYW5kIGFsPQpsPTIwCiBzdXBw
bGVtZW50YXJ5IHl0IGFuYWx5c2lzIG1vZHVsZXMgaW5zdGFsbGVkLiBUaGUgZm9sbG93aW5nIGRl
cGVuZGVuY2llcyB3ZT0KcmU9MjAKLXVzZWQgdG8gZ2VuZXJhdGUgdGhlIHl0IGRvY3VtZW50YXRp
b24gZHVyaW5nIHRoZSByZWxlYXNlIG9mIHl0IDIuNiBpbiBsYXRlPQogMjAxMy4KK3VzZWQgdG8g
Z2VuZXJhdGUgdGhlIHl0IGRvY3VtZW50YXRpb24gZHVyaW5nIHRoZSByZWxlYXNlIG9mIHl0IDMu
MiBpbiAyMDE1Lgo9MjAKLSogU3BoaW54XyAxLjEuMwotKiBJUHl0aG9uXyAxLjEKLSogcnVuaXB5
XyAoZ2l0IGhhc2ggZjc0NDU4YzI4NzcpCi0qIHBhbmRvY18gMS4xMS4xCisqIFNwaGlueF8gMS4z
LjEKKyogSVB5dGhvbl8gMi40LjEKKyogcnVuaXB5XyAwLjEuMworKiBwYW5kb2NfIDEuMTMuMgog
KiBSb2Nrc3RhciBoYWxvIGZpbmRlciAwLjk5LjYKICogU1pwYWNrXyAxLjEuMQotKiBmZm1wZWdf
IDEuMi40IChjb21waWxlZCB3aXRoIGxpYnZweCBzdXBwb3J0KQotKiBKU0FuaW1hdGlvbl8gKGdp
dCBoYXNoIDFiOTVjYjNhM2EpCi0qIEFzdHJvcHlfIDAuMi41CisqIGZmbXBlZ18gMi43LjEgKGNv
bXBpbGVkIHdpdGggbGlidnB4IHN1cHBvcnQpCisqIEFzdHJvcHlfIDAuNC40Cj0yMAogLi4gX1Na
cGFjazogaHR0cDovL3d3dy5jaXRhLnV0b3JvbnRvLmNhL35qY2hsdWJhL1NjaWVuY2VfSmVucy9T
WnBhY2svU1pwYWM9CmsuaHRtbAogLi4gX0FzdHJvcHk6IGh0dHA6Ly9hc3Ryb3B5Lm9yZy8KIC4u
IF9TcGhpbng6IGh0dHA6Ly9zcGhpbngtZG9jLm9yZy8KIC4uIF9wYW5kb2M6IGh0dHA6Ly9qb2hu
bWFjZmFybGFuZS5uZXQvcGFuZG9jLwogLi4gX2ZmbXBlZzogaHR0cDovL3d3dy5mZm1wZWcub3Jn
LwotLi4gX0pTQW5pbWF0aW9uOiBodHRwczovL2dpdGh1Yi5jb20vamFrZXZkcC9KU0FuaW1hdGlv
bgo9MjAKIFlvdSB3aWxsIGFsc28gbmVlZCB0aGUgZnVsbCB5dCBzdWl0ZSBvZiBgeXQgdGVzdCBk
YXRhCiA8aHR0cDovL3l0LXByb2plY3Qub3JnL2RhdGEvPmBfLCBpbmNsdWRpbmcgdGhlIGxhcmdl
ciBkYXRhc2V0cyB0aGF0IGFyZSBubz0KdCB1c2VkCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQz
YTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdl
YWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvZGV2ZWxvcGluZy9pbnRyby5yc3QKLS0tIGEvZG9jL3Nv
dXJjZS9kZXZlbG9waW5nL2ludHJvLnJzdAorKysgYi9kb2Mvc291cmNlL2RldmVsb3BpbmcvaW50
cm8ucnN0CkBAIC0xNDIsMyArMTQyLDc3IEBACiBmZWRlcmF0ZWQgZGF0YWJhc2UgZm9yIHNpbXVs
YXRpb24gb3V0cHV0cywgYW5kIHNvIG9uIGFuZCBzbyBmb3J0aC4KPTIwCiB5dCBpcyBhbiBhbWJp
dGlvdXMgcHJvamVjdC4gIExldCdzIGJlIGFtYml0aW91cyB0b2dldGhlci4KKworeXQgQ29tbXVu
aXR5IENvZGUgb2YgQ29uZHVjdAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUg
Y29tbXVuaXR5IG9mIHBhcnRpY2lwYW50cyBpbiBvcGVuIHNvdXJjZT0yMAorU2NpZW50aWZpYyBw
cm9qZWN0cyBpcyBtYWRlIHVwIG9mIG1lbWJlcnMgZnJvbSBhcm91bmQgdGhlCitnbG9iZSB3aXRo
IGEgZGl2ZXJzZSBzZXQgb2Ygc2tpbGxzLCBwZXJzb25hbGl0aWVzLCBhbmQKK2V4cGVyaWVuY2Vz
LiBJdCBpcyB0aHJvdWdoIHRoZXNlIGRpZmZlcmVuY2VzIHRoYXQgb3VyCitjb21tdW5pdHkgZXhw
ZXJpZW5jZXMgc3VjY2VzcyBhbmQgY29udGludWVkIGdyb3d0aC4gV2UKK2V4cGVjdCBldmVyeW9u
ZSBpbiBvdXIgY29tbXVuaXR5IHRvIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzCit3aGVuIGludGVy
YWN0aW5nIHdpdGggb3RoZXJzIGJvdGggaW5zaWRlIGFuZCBvdXRzaWRlIG9mIG91cgorY29tbXVu
aXR5LiBPdXIgZ29hbCBpcyB0byBrZWVwIG91cnMgYSBwb3NpdGl2ZSwgaW5jbHVzaXZlLAorc3Vj
Y2Vzc2Z1bCwgYW5kIGdyb3dpbmcgY29tbXVuaXR5LgorCitBcyBtZW1iZXJzIG9mIHRoZSBjb21t
dW5pdHksCisKKy0gV2UgcGxlZGdlIHRvIHRyZWF0IGFsbCBwZW9wbGUgd2l0aCByZXNwZWN0IGFu
ZAorICBwcm92aWRlIGEgaGFyYXNzbWVudC0gYW5kIGJ1bGx5aW5nLWZyZWUgZW52aXJvbm1lbnQs
CisgIHJlZ2FyZGxlc3Mgb2Ygc2V4LCBzZXh1YWwgb3JpZW50YXRpb24gYW5kL29yIGdlbmRlcgor
ICBpZGVudGl0eSwgZGlzYWJpbGl0eSwgcGh5c2ljYWwgYXBwZWFyYW5jZSwgYm9keSBzaXplLAor
ICByYWNlLCBuYXRpb25hbGl0eSwgZXRobmljaXR5LCBhbmQgcmVsaWdpb24uIEluCisgIHBhcnRp
Y3VsYXIsIHNleHVhbCBsYW5ndWFnZSBhbmQgaW1hZ2VyeSwgc2V4aXN0LAorICByYWNpc3QsIG9y
IG90aGVyd2lzZSBleGNsdXNpb25hcnkgam9rZXMgYXJlIG5vdAorICBhcHByb3ByaWF0ZS4KKwor
LSBXZSBwbGVkZ2UgdG8gcmVzcGVjdCB0aGUgd29yayBvZiBvdGhlcnMgYnkKKyAgcmVjb2duaXpp
bmcgYWNrbm93bGVkZ21lbnQvY2l0YXRpb24gcmVxdWVzdHMgb2YKKyAgb3JpZ2luYWwgYXV0aG9y
cy4gQXMgYXV0aG9ycywgd2UgcGxlZGdlIHRvIGJlIGV4cGxpY2l0CisgIGFib3V0IGhvdyB3ZSB3
YW50IG91ciBvd24gd29yayB0byBiZSBjaXRlZCBvcgorICBhY2tub3dsZWRnZWQuCisKKy0gV2Ug
cGxlZGdlIHRvIHdlbGNvbWUgdGhvc2UgaW50ZXJlc3RlZCBpbiBqb2luaW5nIHRoZQorICBjb21t
dW5pdHksIGFuZCByZWFsaXplIHRoYXQgaW5jbHVkaW5nIHBlb3BsZSB3aXRoIGEKKyAgdmFyaWV0
eSBvZiBvcGluaW9ucyBhbmQgYmFja2dyb3VuZHMgd2lsbCBvbmx5IHNlcnZlIHRvCisgIGVucmlj
aCBvdXIgY29tbXVuaXR5LiBJbiBwYXJ0aWN1bGFyLCBkaXNjdXNzaW9ucworICByZWxhdGluZyB0
byBwcm9zL2NvbnMgb2YgdmFyaW91cyB0ZWNobm9sb2dpZXMsCisgIHByb2dyYW1taW5nIGxhbmd1
YWdlcywgYW5kIHNvIG9uIGFyZSB3ZWxjb21lLCBidXQKKyAgdGhlc2Ugc2hvdWxkIGJlIGRvbmUg
d2l0aCByZXNwZWN0LCB0YWtpbmcgcHJvYWN0aXZlCisgIG1lYXN1cmUgdG8gZW5zdXJlIHRoYXQg
YWxsIHBhcnRpY2lwYW50cyBhcmUgaGVhcmQgYW5kCisgIGZlZWwgY29uZmlkZW50IHRoYXQgdGhl
eSBjYW4gZnJlZWx5IGV4cHJlc3MgdGhlaXIKKyAgb3BpbmlvbnMuCisKKy0gV2UgcGxlZGdlIHRv
IHdlbGNvbWUgcXVlc3Rpb25zIGFuZCBhbnN3ZXIgdGhlbQorICByZXNwZWN0ZnVsbHksIHBheWlu
ZyBwYXJ0aWN1bGFyIGF0dGVudGlvbiB0byB0aG9zZSBuZXcKKyAgdG8gdGhlIGNvbW11bml0eS4g
V2UgcGxlZGdlIHRvIHByb3ZpZGUgcmVzcGVjdGZ1bAorICBjcml0aWNpc21zIGFuZCBmZWVkYmFj
ayBpbiBmb3J1bXMsIGVzcGVjaWFsbHkgaW4KKyAgZGlzY3Vzc2lvbiB0aHJlYWRzIHJlc3VsdGlu
ZyBmcm9tIGNvZGUKKyAgY29udHJpYnV0aW9ucy4KKworLSBXZSBwbGVkZ2UgdG8gYmUgY29uc2Np
ZW50aW91cyBvZiB0aGUgcGVyY2VwdGlvbnMgb2YKKyAgdGhlIHdpZGVyIGNvbW11bml0eSBhbmQg
dG8gcmVzcG9uZCB0byBjcml0aWNpc20KKyAgcmVzcGVjdGZ1bGx5LiBXZSB3aWxsIHN0cml2ZSB0
byBtb2RlbCBiZWhhdmlvcnMgdGhhdAorICBlbmNvdXJhZ2UgcHJvZHVjdGl2ZSBkZWJhdGUgYW5k
IGRpc2FncmVlbWVudCwgYm90aAorICB3aXRoaW4gb3VyIGNvbW11bml0eSBhbmQgd2hlcmUgd2Ug
YXJlIGNyaXRpY2l6ZWQuIFdlCisgIHdpbGwgdHJlYXQgdGhvc2Ugb3V0c2lkZSBvdXIgY29tbXVu
aXR5IHdpdGggdGhlIHNhbWUKKyAgcmVzcGVjdCBhcyBwZW9wbGUgd2l0aGluIG91ciBjb21tdW5p
dHkuCisKKy0gV2UgcGxlZGdlIHRvIGhlbHAgdGhlIGVudGlyZSBjb21tdW5pdHkgZm9sbG93IHRo
ZQorICBjb2RlIG9mIGNvbmR1Y3QsIGFuZCB0byBub3QgcmVtYWluIHNpbGVudCB3aGVuIHdlIHNl
ZQorICB2aW9sYXRpb25zIG9mIHRoZSBjb2RlIG9mIGNvbmR1Y3QuIFdlIHdpbGwgdGFrZSBhY3Rp
b24KKyAgd2hlbiBtZW1iZXJzIG9mIG91ciBjb21tdW5pdHkgdmlvbGF0ZSB0aGlzIGNvZGUgc3Vj
aCBhcworICBjb250YWN0aW5nIGNvbmZpZGVudGlhbEB5dC1wcm9qZWN0Lm9yZyAoYWxsIGVtYWls
cyBzZW50IHRvCisgIHRoaXMgYWRkcmVzcyB3aWxsIGJlIHRyZWF0ZWQgd2l0aCB0aGUgc3RyaWN0
ZXN0CisgIGNvbmZpZGVuY2UpIG9yIHRhbGtpbmcgcHJpdmF0ZWx5IHdpdGggdGhlIHBlcnNvbi4K
KworVGhpcyBjb2RlIG9mIGNvbmR1Y3QgYXBwbGllcyB0byBhbGwKK2NvbW11bml0eSBzaXR1YXRp
b25zIG9ubGluZSBhbmQgb2ZmbGluZSwgaW5jbHVkaW5nIG1haWxpbmcKK2xpc3RzLCBmb3J1bXMs
IHNvY2lhbCBtZWRpYSwgY29uZmVyZW5jZXMsIG1lZXRpbmdzLAorYXNzb2NpYXRlZCBzb2NpYWwg
ZXZlbnRzLCBhbmQgb25lLXRvLW9uZSBpbnRlcmFjdGlvbnMuCisKK1RoZSB5dCBDb21tdW5pdHkg
Q29kZSBvZiBDb25kdWN0IHdhcyBhZGFwdGVkIGZyb20gdGhlPTIwCitgQXN0cm9weSBDb21tdW5p
dHkgQ29kZSBvZiBDb25kdWN0PTIwCis8aHR0cDovL3d3dy5hc3Ryb3B5Lm9yZy9hYm91dC5odG1s
I2NvZGVvZmNvbmR1Y3Q+YF8sCit3aGljaCB3YXMgcGFydGlhbGx5IGluc3BpcmVkIGJ5IHRoZSBQ
U0YgY29kZSBvZiBjb25kdWN0LgoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVj
ZWRkMzIyNDA5NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIz
OSBkb2Mvc291cmNlL2V4YW1pbmluZy9sb2FkaW5nX2RhdGEucnN0Ci0tLSBhL2RvYy9zb3VyY2Uv
ZXhhbWluaW5nL2xvYWRpbmdfZGF0YS5yc3QKKysrIGIvZG9jL3NvdXJjZS9leGFtaW5pbmcvbG9h
ZGluZ19kYXRhLnJzdApAQCAtMTA0LDcgKzEwNCwxMSBAQAogLS0tLS0tLS0tLS0KPTIwCiBBdGhl
bmEgNC54IFZUSyBkYXRhIGlzICptb3N0bHkqIHN1cHBvcnRlZCBhbmQgY2FyZWQgZm9yIGJ5IEpv
aG4KLVp1SG9uZS4gQm90aCB1bmlmb3JtIGdyaWQgYW5kIFNNUiBkYXRhc2V0cyBhcmUgc3VwcG9y
dGVkLgorWnVIb25lLiBCb3RoIHVuaWZvcm0gZ3JpZCBhbmQgU01SIGRhdGFzZXRzIGFyZSBzdXBw
b3J0ZWQuPTIwCisKKy4uIG5vdGU6PTIwCisgICB5dCBhbHNvIHJlY29nbml6ZXMgRmFyZ28zRCBk
YXRhIHdyaXR0ZW4gdG8gVlRLIGZpbGVzIGFzPTIwCisgICBBdGhlbmEgZGF0YSwgYnV0IHN1cHBv
cnQgZm9yIEZhcmdvM0QgZGF0YSBpcyBwcmVsaW1pbmFyeS49MjAKPTIwCiBMb2FkaW5nIEF0aGVu
YSBkYXRhc2V0cyBpcyBzbGlnaHRseSBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIHdoZXRoZXIKIHlv
dXIgZGF0YXNldCBjYW1lIGZyb20gYSBzZXJpYWwgb3IgYSBwYXJhbGxlbCBydW4uIElmIHRoZSBk
YXRhIGNhbWUKQEAgLTI2NCw3ICsyNjgsNyBAQAogU3VwcG9ydCBmb3IgUGx1dG8gQU1SIGRhdGEg
aXMgcHJvdmlkZWQgdGhyb3VnaCB0aGUgQ2hvbWJvIGZyb250ZW5kLCB3aGljaAogaXMgY3VycmVu
dGx5IG1haW50YWluZWQgYnkgQW5kcmV3IE15ZXJzLiBQbHV0byBvdXRwdXQgZmlsZXMgdGhhdCBk
b24ndCB1c2UKIHRoZSBDaG9tYm8gSERGNSBmb3JtYXQgYXJlIGN1cnJlbnRseSBub3Qgc3VwcG9y
dGVkLiBUbyBsb2FkIGEgUGx1dG8gZGF0YXNlPQp0LD0yMAoteW91IGNhbiB1c2UgdGhlIGBgeXQu
bG9hZGBgIGNvbW1hbmQgb24gdGhlICouaGRmNSBmaWxlLiBGb3IgZXhhbXBsZSwgdGhlPTIwCit5
b3UgY2FuIHVzZSB0aGUgYGB5dC5sb2FkYGAgY29tbWFuZCBvbiB0aGUgYGAqLmhkZjVgYCBmaWxl
cy4gRm9yIGV4YW1wbGUsID0KdGhlPTIwCiBLZWx2aW5IZWxtaG9sdHogc2FtcGxlIGRhdGFzZXQg
aXMgYSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0aGUgZm9sbG93aW5nCiBmaWxlczoKPTIwCkBA
IC0xMDc1LDYgKzEwNzksNzYgQEAKPTIwCiAuLiBfbG9hZGluZy1weW5lLWRhdGE6Cj0yMAorSGFs
byBDYXRhbG9nIERhdGEKKy0tLS0tLS0tLS0tLS0tLS0tCisKK3l0IGhhcyBzdXBwb3J0IGZvciBy
ZWFkaW5nIGhhbG8gY2F0YWxvZ3MgcHJvZHVjZWQgYnkgUm9ja3N0YXIgYW5kIHRoZSBpbmxpPQpu
ZT0yMAorRk9GL1NVQkZJTkQgaGFsbyBmaW5kZXJzIG9mIEdhZGdldCBhbmQgT1dMUy4gIFRoZSBo
YWxvIGNhdGFsb2dzIGFyZSB0cmVhdGU9CmQgYXM9MjAKK3BhcnRpY2xlIGRhdGFzZXRzIHdoZXJl
IGVhY2ggcGFydGljbGUgcmVwcmVzZW50cyBhIHNpbmdsZSBoYWxvLiAgQXQgdGhpcyB0PQppbWUs
PTIwCit5dCBkb2VzIG5vdCBoYXZlIHRoZSBhYmlsaXR5IHRvIGxvYWQgdGhlIG1lbWJlciBwYXJ0
aWNsZXMgZm9yIGEgZ2l2ZW4gaGFsbz0KLiA9MjAKK0hvd2V2ZXIsIG9uY2UgbG9hZGVkLCBmdXJ0
aGVyIGhhbG8gYW5hbHlzaXMgY2FuIGJlIHBlcmZvcm1lZCB1c2luZz0yMAorOnJlZjpgaGFsb19j
YXRhbG9nYC4KKworSW4gdGhlIGNhc2Ugd2hlcmUgaGFsbyBjYXRhbG9ncyBhcmUgd3JpdHRlbiB0
byBtdWx0aXBsZSBmaWxlcywgb25lIG11c3Qgb249Cmx5PTIwCitnaXZlIHRoZSBwYXRoIHRvIG9u
ZSBvZiB0aGVtLgorCitHYWRnZXQgRk9GL1NVQkZJTkQKK15eXl5eXl5eXl5eXl5eXl5eXgorCitU
aGUgdHdvIGZpZWxkIHR5cGVzIGZvciBHYWRnZXRGT0YgZGF0YSBhcmUgIkdyb3VwIiAoRk9GKSBh
bmQgIlN1YmhhbG8iIChTVT0KQkZJTkQpLgorCisuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisKKyAg
IGltcG9ydCB5dAorICAgZHMgPTNEIHl0LmxvYWQoImdhZGdldF9mb2ZfaGFsb3MvZ3JvdXBzXzA0
Mi9mb2Zfc3ViaGFsb190YWJfMDQyLjAuaGRmNSIpCisgICBhZCA9M0QgZHMuYWxsX2RhdGEoKQor
ICAgIyBUaGUgaGFsbyBtYXNzCisgICBwcmludCBhZFsiR3JvdXAiLCAicGFydGljbGVfbWFzcyJd
CisgICBwcmludCBhZFsiU3ViaGFsbyIsICJwYXJ0aWNsZV9tYXNzIl0KKyAgICMgSGFsbyBJRAor
ICAgcHJpbnQgYWRbIkdyb3VwIiwgInBhcnRpY2xlX2lkZW50aWZpZXIiXQorICAgcHJpbnQgYWRb
IlN1YmhhbG8iLCAicGFydGljbGVfaWRlbnRpZmllciJdCisgICAjIHBvc2l0aW9ucworICAgcHJp
bnQgYWRbIkdyb3VwIiwgInBhcnRpY2xlX3Bvc2l0aW9uX3giXQorICAgIyB2ZWxvY2l0aWVzCisg
ICBwcmludCBhZFsiR3JvdXAiLCAicGFydGljbGVfdmVsb2NpdHlfeCJdCisKK011bHRpZGltZW5z
aW9uYWwgZmllbGRzIGNhbiBiZSBhY2Nlc3NlZCB0aHJvdWdoIHRoZSBmaWVsZCBuYW1lIGZvbGxv
d2VkIGJ5PQogYW49MjAKK3VuZGVyc2NvcmUgYW5kIHRoZSBpbmRleC4KKworLi4gY29kZS1ibG9j
azo6IHB5dGhvbgorCisgICAjIHggY29tcG9uZW50IG9mIHRoZSBzcGluCisgICBwcmludCBhZFsi
U3ViaGFsbyIsICJTdWJoYWxvU3Bpbl8wIl0KKworT1dMUyBGT0YvU1VCRklORAorXl5eXl5eXl5e
Xl5eXl5eXgorCitPV0xTIGhhbG8gY2F0YWxvZ3MgaGF2ZSBhIHZlcnkgc2ltaWxhciBzdHJ1Y3R1
cmUgdG8gcmVndWxhciBHYWRnZXQgaGFsbyBjYT0KdGFsb2dzLiA9MjAKK1RoZSB0d28gZmllbGQg
dHlwZXMgYXJlICJGT0YiIGFuZCAiU1VCRklORCIuCisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24K
KworICAgaW1wb3J0IHl0CisgICBkcyA9M0QgeXQubG9hZCgib3dsc19mb2ZfaGFsb3MvZ3JvdXBz
XzAwOC9ncm91cF8wMDguMC5oZGY1IikKKyAgIGFkID0zRCBkcy5hbGxfZGF0YSgpCisgICAjIFRo
ZSBoYWxvIG1hc3MKKyAgIHByaW50IGFkWyJGT0YiLCAicGFydGljbGVfbWFzcyJdCisKK1JvY2tz
dGFyCiteXl5eXl5eXgorCitSb2Nrc3RhciBoYWxvIGNhdGFsb2dzIGFyZSBsb2FkZWQgYnkgcHJv
dmlkaW5nIHRoZSBwYXRoIHRvIG9uZSBvZiB0aGUgLmJpbj0KIGZpbGVzLgorVGhlIHNpbmdsZSBm
aWVsZCB0eXBlIGF2YWlsYWJsZSBpcyAiaGFsb3MiLgorCisuLiBjb2RlLWJsb2NrOjogcHl0aG9u
CisKKyAgIGltcG9ydCB5dAorICAgZHMgPTNEIHl0LmxvYWQoInJvY2tzdGFyX2hhbG9zL2hhbG9z
XzAuMC5iaW4iKQorICAgYWQgPTNEIGRzLmFsbF9kYXRhKCkKKyAgICMgVGhlIGhhbG8gbWFzcwor
ICAgcHJpbnQgYWRbImhhbG9zIiwgInBhcnRpY2xlX21hc3MiXQorCiBQeU5FIERhdGEKIC0tLS0t
LS0tLQo9MjAKCmRpZmYgLXIgZDM1NGE2YjM1M2FjNjBkZDNhMWI3MjE5Yzg1Y2VkZDMyMjQwOTU3
NCAtciA0ZGMzOTc2MzNhOTliMzdjZGZiZGVmNT0KZmZmN2VhYWEyMTUxNTgyMzkgZG9jL3NvdXJj
ZS9pbnN0YWxsaW5nLnJzdAotLS0gYS9kb2Mvc291cmNlL2luc3RhbGxpbmcucnN0CisrKyBiL2Rv
Yy9zb3VyY2UvaW5zdGFsbGluZy5yc3QKQEAgLTM5LDYgKzM5LDI4IEBACiAgIGhhdmUgdGhlIHRo
ZSBuZWNlc3NhcnkgY29tcGlsZXJzIGluc3RhbGxlZCAoZS5nLiB0aGUgYGBidWlsZC1lc3NlbnRp
YWxzYGAKICAgcGFja2FnZSBvbiBkZWJpYW4gYW5kIHVidW50dSkuCj0yMAorLi4gX2JyYW5jaGVz
LW9mLXl0OgorCitCcmFuY2hlcyBvZiB5dDogYGB5dGBgLCBgYHN0YWJsZWBgLCBhbmQgYGB5dC0y
LnhgYAorKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
KworQmVmb3JlIHlvdSBpbnN0YWxsIHl0LCB5b3UgbXVzdCBkZWNpZGUgd2hpY2ggYnJhbmNoIChp
LmUuIHZlcnNpb24pIG9mIHRoZSA9CmNvZGU9MjAKK3lvdSBwcmVmZXIgdG8gdXNlOgorCisqIGBg
eXRgYCAtLSBUaGUgbW9zdCB1cC10by1kYXRlICpkZXZlbG9wbWVudCogdmVyc2lvbiB3aXRoIHRo
ZSBtb3N0IGN1cnJlbj0KdCBmZWF0dXJlcyBidXQgc29tZXRpbWVzIHVuc3RhYmxlICh5dC0zLngp
CisqIGBgc3RhYmxlYGAgLS0gVGhlIGxhdGVzdCBzdGFibGUgcmVsZWFzZSBvZiB5dC0zLngKKyog
YGB5dC0yLnhgYCAtLSBUaGUgbGF0ZXN0IHN0YWJsZSByZWxlYXNlIG9mIHl0LTIueAorCitJZiB0
aGlzIGlzIHlvdXIgZmlyc3QgdGltZSB1c2luZyB0aGUgY29kZSwgd2UgcmVjb21tZW5kIHVzaW5n
IGBgc3RhYmxlYGAsPTIwCit1bmxlc3MgeW91IHNwZWNpZmljYWxseSBuZWVkIHNvbWUgcGllY2Ug
b2YgYnJhbmQtbmV3IGZ1bmN0aW9uYWxpdHkgb25seT0yMAorYXZhaWxhYmxlIGluIGBgeXRgYCBv
ciBuZWVkIHRvIHJ1biBhbiBvbGQgc2NyaXB0IGRldmVsb3BlZCBmb3IgYGB5dC0yLnhgYC4KK1Ro
ZXJlIHdlcmUgbWFqb3IgQVBJIGFuZCBmdW5jdGlvbmFsaXR5IGNoYW5nZXMgbWFkZSBpbiB5dCBh
ZnRlciB2ZXJzaW9uIDIuNworaW4gbW92aW5nIHRvIHZlcnNpb24gMy4wLiAgRm9yIGEgZGV0YWls
ZWQgZGVzY3JpcHRpb24gb2YgdGhlIGNoYW5nZXMKK2JldHdlZW4gdmVyc2lvbnMgMi54IChlLmcu
IGJyYW5jaCBgYHl0LTIueGBgKSBhbmQgMy54IChlLmcuIGJyYW5jaGVzIGBgeXRgPQpgIGFuZD0y
MAorYGBzdGFibGVgYCkgc2VlIDpyZWY6YHl0M2RpZmZlcmVuY2VzYC4gIExhc3RseSwgZG9uJ3Qg
ZmVlbCBsaWtlIHlvdSdyZSBsb2M9CmtlZD0yMAoraW50byBvbmUgYnJhbmNoIHdoZW4geW91IGlu
c3RhbGwgeXQsIGJlY2F1c2UgeW91IGNhbiBlYXNpbHkgY2hhbmdlIHRoZSBhY3Q9Cml2ZQorYnJh
bmNoIGJ5IGZvbGxvd2luZyB0aGUgaW5zdHJ1Y3Rpb25zIGluIDpyZWY6YHN3aXRjaGluZy1iZXR3
ZWVuLXl0LXZlcnNpb249CnNgLgorCiAuLiBfaW5zdGFsbC1zY3JpcHQ6Cj0yMAogQWxsLWluLU9u
ZSBJbnN0YWxsYXRpb24gU2NyaXB0CkBAIC02MCwxNiArODIsMjIgQEAKIGl0cyBkZXBlbmRlbmNp
ZXMgd2lsbCBiZSByZW1vdmVkIGZyb20geW91ciBzeXN0ZW0gKG5vIHNjYXR0ZXJlZCBmaWxlcyBy
ZW1hPQppbmluZwogdGhyb3VnaG91dCB5b3VyIHN5c3RlbSkuCj0yMAorLi4gX2luc3RhbGxpbmct
eXQ6CisKIFJ1bm5pbmcgdGhlIEluc3RhbGwgU2NyaXB0CiBeXl5eXl5eXl5eXl5eXl5eXl5eXl5e
Xl5eXgo9MjAKLVRvIGdldCB0aGUgaW5zdGFsbGF0aW9uIHNjcmlwdCwgZG93bmxvYWQgaXQgZnJv
bToKK1RvIGdldCB0aGUgaW5zdGFsbGF0aW9uIHNjcmlwdCBmb3IgdGhlIGBgc3RhYmxlYGAgYnJh
bmNoIG9mIHRoZSBjb2RlLD0yMAorZG93bmxvYWQgaXQgZnJvbToKPTIwCiAuLiBjb2RlLWJsb2Nr
OjogYmFzaAo9MjAKICAgd2dldCBodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9y
YXcvc3RhYmxlL2RvYy9pbnN0YWxsX3NjcmlwdC5zaAo9MjAKLS4uIF9pbnN0YWxsaW5nLXl0Ogor
SWYgeW91IHdpc2ggdG8gaW5zdGFsbCBhIGRpZmZlcmVudCB2ZXJzaW9uIG9mIHl0IChzZWU9MjAK
KzpyZWY6YGFib3ZlIDxicmFuY2hlcy1vZi15dD5gKSwgcmVwbGFjZSBgYHN0YWJsZWBgIHdpdGgg
dGhlIGFwcHJvcHJpYXRlPTIwCiticmFuY2ggbmFtZSAoZS5nLiBgYHl0YGAsIGBgeXQtMi54YGAp
IGluIHRoZSBwYXRoIGFib3ZlIHRvIGdldCB0aGUgY29ycmVjdD0yMAoraW5zdGFsbCBzY3JpcHQu
Cj0yMAogQnkgZGVmYXVsdCwgdGhlIGJhc2ggaW5zdGFsbCBzY3JpcHQgd2lsbCBpbnN0YWxsIGFu
IGFycmF5IG9mIGl0ZW1zLCBidXQgdGg9CmVyZQogYXJlIGFkZGl0aW9uYWwgcGFja2FnZXMgdGhh
dCBjYW4gYmUgZG93bmxvYWRlZCBhbmQgaW5zdGFsbGVkIChlLmcuIFNjaVB5LCA9CmVuem8sCkBA
IC0zMjksOCArMzU3LDggQEAKPTIwCiAuLiBfc3dpdGNoaW5nLWJldHdlZW4teXQtdmVyc2lvbnM6
Cj0yMAotU3dpdGNoaW5nIGJldHdlZW4geXQtMi54IGFuZCB5dC0zLngKLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitTd2l0Y2hpbmcgdmVyc2lvbnMgb2YgeXQ6IHl0LTIueCwg
eXQtMy54LCBzdGFibGUsIGFuZCBkZXYKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo9MjAKIFdpdGggdGhlIHJlbGVhc2Ugb2YgdmVyc2lv
biAzLjAgb2YgeXQsIGRldmVsb3BtZW50IG9mIHRoZSBsZWdhY3kgeXQgMi54IHNlPQpyaWVzCiBo
YXMgYmVlbiByZWxlZ2F0ZWQgdG8gYnVnZml4ZXMuICBUaGF0IHNhaWQsIHdlIHdpbGwgY29udGlu
dWUgc3VwcG9ydGluZyB0aD0KZSAyLngKQEAgLTM1NiwxMiArMzg0LDggQEAKICAgaGcgdXBkYXRl
IDxkZXNpcmVkLXZlcnNpb24+CiAgIHB5dGhvbiBzZXR1cC5weSBkZXZlbG9wCj0yMAotVmFsaWQg
dmVyc2lvbnMgdG8ganVtcCB0byBhcmU6CitWYWxpZCB2ZXJzaW9ucyB0byBqdW1wIHRvIGFyZSBk
ZXNjcmliZWQgaW4gOnJlZjpgYnJhbmNoZXMtb2YteXRgKS4KPTIwCi0qIGBgeXRgYCAtLSBUaGUg
bGF0ZXN0ICpkZXYqIGNoYW5nZXMgaW4geXQtMy54IChjYW4gYmUgdW5zdGFibGUpCi0qIGBgc3Rh
YmxlYGAgLS0gVGhlIGxhdGVzdCBzdGFibGUgcmVsZWFzZSBvZiB5dC0zLngKLSogYGB5dC0yLnhg
YCAtLSBUaGUgbGF0ZXN0IHN0YWJsZSByZWxlYXNlIG9mIHl0LTIueAotICAgPTIwCiBZb3UgY2Fu
IGNoZWNrIHdoaWNoIHZlcnNpb24gb2YgeXQgeW91IGhhdmUgaW5zdGFsbGVkIGJ5IGludm9raW5n
IGBgeXQgdmVycz0KaW9uYGAKIGF0IHRoZSBjb21tYW5kIGxpbmUuICBJZiB5b3UgZW5jb3VudGVy
IHByb2JsZW1zLCBzZWUgOnJlZjpgdXBkYXRlLWVycm9yc2AuCj0yMApAQCAtMzg3LDExICs0MTEs
NyBAQAogICBoZyB1cGRhdGUgPGRlc2lyZWQtdmVyc2lvbj4KICAgcHl0aG9uIHNldHVwLnB5IGlu
c3RhbGwgLS11c2VyIC0tcHJlZml4PTNECj0yMAotVmFsaWQgdmVyc2lvbnMgdG8ganVtcCB0byBh
cmU6Ci0KLSogYGB5dGBgIC0tIFRoZSBsYXRlc3QgKmRldiogY2hhbmdlcyBpbiB5dC0zLnggKGNh
biBiZSB1bnN0YWJsZSkKLSogYGBzdGFibGVgYCAtLSBUaGUgbGF0ZXN0IHN0YWJsZSByZWxlYXNl
IG9mIHl0LTMueAotKiBgYHl0LTIueGBgIC0tIFRoZSBsYXRlc3Qgc3RhYmxlIHJlbGVhc2Ugb2Yg
eXQtMi54CitWYWxpZCB2ZXJzaW9ucyB0byBqdW1wIHRvIGFyZSBkZXNjcmliZWQgaW4gOnJlZjpg
YnJhbmNoZXMtb2YteXRgKS4KICAgID0yMAogWW91IGNhbiBjaGVjayB3aGljaCB2ZXJzaW9uIG9m
IHl0IHlvdSBoYXZlIGluc3RhbGxlZCBieSBpbnZva2luZyBgYHl0IHZlcnM9CmlvbmBgCiBhdCB0
aGUgY29tbWFuZCBsaW5lLiAgSWYgeW91IGVuY291bnRlciBwcm9ibGVtcywgc2VlIDpyZWY6YHVw
ZGF0ZS1lcnJvcnNgLgoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIy
NDA5NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSBkb2Mv
c291cmNlL3JlZmVyZW5jZS9hcGkvYXBpLnJzdAotLS0gYS9kb2Mvc291cmNlL3JlZmVyZW5jZS9h
cGkvYXBpLnJzdAorKysgYi9kb2Mvc291cmNlL3JlZmVyZW5jZS9hcGkvYXBpLnJzdApAQCAtMjI3
LDggKzIyNyw2IEBACiAgICB+eXQuZnJvbnRlbmRzLmNob21iby5kYXRhX3N0cnVjdHVyZXMuT3Jp
b24ySGllcmFyY2h5CiAgICB+eXQuZnJvbnRlbmRzLmNob21iby5kYXRhX3N0cnVjdHVyZXMuT3Jp
b24yRGF0YXNldAogICAgfnl0LmZyb250ZW5kcy5jaG9tYm8uaW8uSU9IYW5kbGVyQ2hvbWJvSERG
NQotICAgfnl0LmZyb250ZW5kcy5jaG9tYm8uaW8uSU9IYW5kbGVyQ2hvbWJvMkRIREY1Ci0gICB+
eXQuZnJvbnRlbmRzLmNob21iby5pby5JT0hhbmRsZXJDaG9tYm8xREhERjUKICAgIH55dC5mcm9u
dGVuZHMuY2hvbWJvLmlvLklPSGFuZGxlck9yaW9uMkhERjUKPTIwCiBFbnpvCgpkaWZmIC1yIGQz
NTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3
Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IGRvYy9zb3VyY2UvcmVmZXJlbmNlL2NoYW5nZWxv
Zy5yc3QKLS0tIGEvZG9jL3NvdXJjZS9yZWZlcmVuY2UvY2hhbmdlbG9nLnJzdAorKysgYi9kb2Mv
c291cmNlL3JlZmVyZW5jZS9jaGFuZ2Vsb2cucnN0CkBAIC0xMSw2ICsxMSwxMjQgQEAKIFRoZSBg
Q1JFRElUUyBmaWxlIDxodHRwOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9zcmMveXQv
Q1JFRElUUz5gXyBjPQpvbnRhaW5zIHRoZQogbW9zdCB1cC10by1kYXRlIGxpc3Qgb2YgZXZlcnlv
bmUgd2hvIGhhcyBjb250cmlidXRlZCB0byB0aGUgeXQgc291cmNlIGNvZGUuCj0yMAorVmVyc2lv
biAzLjIKKy0tLS0tLS0tLS0tCisKK01ham9yIGVuaGFuY2VtZW50cworXl5eXl5eXl5eXl5eXl5e
Xl5eCisKKyogUGFydGljbGUtT25seSBQbG90cyAtIGEgc2VyaWVzIG9mIG5ldyBwbG90dGluZyBm
dW5jdGlvbnMgZm9yIHZpc3VhbGl6aW5nPTIwCisgIHBhcnRpY2xlIGRhdGEuICBTZWUgaGVyZSBm
b3IgbW9yZSBpbmZvcm1hdGlvbi4KKyogTGF0ZS1zdGFnZSBiZXRhIHN1cHBvcnQgZm9yIFB5dGhv
biAzIC0gdW5pdCB0ZXN0cyBhbmQgYW5zd2VyIHRlc3RzIHBhc3MgPQpmb3I9MjAKKyAgYWxsIHRo
ZSBtYWpvciBmcm9udGVuZHMgdW5kZXIgcHl0aG9uIDMuNCwgYW5kIHl0IHNob3VsZCBub3cgYmUg
bW9zdGx5IGlmPQogbm90PTIwCisgIGZ1bGx5IHVzYWJsZS4gIEJlY2F1c2UgbWFueSBvZiB0aGUg
eXQgZGV2ZWxvcGVycyBhcmUgc3RpbGwgb24gUHl0aG9uIDIgYT0KdD0yMAorICB0aGlzIHBvaW50
LCB0aGlzIHNob3VsZCBiZSBjb25zaWRlcmVkIGEgPUUyPTgwPTlDbGF0ZSBzdGFnZSBiZXRhPUUy
PTgwPQo9OUQgYXMgdGhlcmUgbWF5IGJlPTIwCisgIHJlbWFpbmluZyBpc3N1ZXMgeWV0IHRvIGJl
IGlkZW50aWZpZWQgb3Igd29ya2VkIG91dC4KKyogTm93IHN1cHBvcnRpbmcgR2FkZ2V0IEZyaWVu
ZC1vZi1GcmllbmRzL1N1YmZpbmQgY2F0YWxvZ3MgLSBzZWUgaGVyZSB0byBsPQplYXJuPTIwCisg
IGhvdyB0byBsb2FkIGhhbG8gY2F0YWxvZ3MgYXMgcmVndWxhciB5dCBkYXRhc2V0cy4KKyogQ3Vz
dG9tIGNvbG9ybWFwcyBjYW4gbm93IGJlIGVhc2lseSBkZWZpbmVkIGFuZCBhZGRlZCAtIHNlZSBo
ZXJlIHRvIGxlYXJuPQogaG93IQorKiBOb3cgc3VwcG9ydGluZyBGYXJnbzNEIGRhdGEKKyogUGVy
Zm9ybWFuY2UgaW1wcm92ZW1lbnRzIHRocm91Z2hvdXQgdGhlIGNvZGUgYmFzZSBmb3IgbWVtb3J5
IGFuZCBzcGVlZAorCitNaW5vciBlbmhhbmNlbWVudHMKK15eXl5eXl5eXl5eXl5eXl5eXgorCisq
IFZhcmlvdXMgdXBkYXRlcyB0byB0aGUgZm9sbG93aW5nIGZyb250ZW5kczogQVJULCBBdGhlbmEs
IENhc3RybywgQ2hvbWJvLD0yMAorICBHYWRnZXQsIEdERiwgTWFlc3RybywgUGx1dG8sIFJBTVNF
UywgUm9ja3N0YXIsIFNERiwgVGlwc3kKKyogTnVtZXJvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVz
CisqIEdlbmVyaWMgaGV4YWhlZHJhbCBtZXNoIHBpeGVsaXplcgorKiBBZGRpbmcgYW5ub3RhdGVf
cmF5KCkgY2FsbGJhY2sgZm9yIHBsb3RzCisqIEFic29ycHRpb25TcGVjdHJ1bSByZXR1cm5lZCB0
byBmdWxsIGZ1bmN0aW9uYWxpdHkgYW5kIG5vdyB1c2luZyBmYXN0ZXIgUz0KY2lQeT0yMAorICBW
b2lndCBwcm9maWxlCisqIEFkZCBhIGNvbG9yX2ZpZWxkIGFyZ3VtZW50IHRvIGFubm90YXRlX3N0
cmVhbWxpbmUKKyogU21vb3RoaW5nIGxlbmd0aHMgYXV0by1jYWxjdWxhdGVkIGZvciBUaXBzeSBE
YXRhc2V0cworKiBBZGRpbmcgU2ltdWxhdGlvblRpbWVTZXJpZXMgc3VwcG9ydCBmb3IgR2FkZ2V0
IGFuZCBPV0xTLgorKiBHZW5lcmFsaXppbmcgZGVyaXZlZCBxdWFudGl0eSBvdXRwdXRzIHRvIGFs
bCBiZSBZVEFycmF5cyBvciBsaXN0cyBvZj0yMAorICBZVEFycmF5cyBhcyBhcHByb3ByaWF0ZQor
KiBTdGFyIGFuYWx5c2lzIHJldHVybmVkIHRvIGZ1bGwgZnVuY3Rpb25hbGl0eQorKiBGSVRTIGlt
YWdlIHdyaXRpbmcgcmVmYWN0b3IKKyogQWRkaW5nIGdyYWRpZW50IGZpZWxkcyBvbiB0aGUgZmx5
CisqIEFkZGluZyBzdXBwb3J0IGZvciBHYWRnZXQgTng0IG1ldGFsbGljaXR5IGZpZWxkcworKiBV
cGRhdGluZyB2YWx1ZSBvZiBzb2xhciBtZXRhbCBtYXNzIGZyYWN0aW9uIHRvIGJlIGNvbnNpc3Rl
bnQgd2l0aCBDbG91ZHkuCisqIEdhZGdldCByYXcgYmluYXJ5IHNuYXBzaG90IGhhbmRsaW5nICYg
bm9uLWNvc21vbG9naWNhbCBzaW11bGF0aW9uIHVuaXRzCisqIEFkZGluZyBzdXBwb3J0IGZvciBM
aWdodFJheSBjbGFzcyB0byB3b3JrIHdpdGggR2FkZ2V0K1RpcHN5CisqIEFkZCBzdXBwb3J0IGZv
ciBzdWJjbGFzc2VzIG9mIGZyb250ZW5kcworKiBEZXBlbmRlbmNpZXMgdXBkYXRlZAorKiBTZXJp
YWxpemF0aW9uIGZvciBwcm9qZWN0aW9ucyB1c2luZyBtaW5pbWFsIHJlcHJlc2VudGF0aW9uCisq
IEFkZGluZyBHcmlkIHZpc2l0b3JzIGluIEN5dGhvbgorKiBJbXByb3ZlZCBzZW1hbnRpY3MgZm9y
IGRlcml2ZWQgZmllbGQgdW5pdHMKKyogQWRkIGEgeWF3KCkgbWV0aG9kIGZvciB0aGUgUGVyc3Bl
Y3RpdmVDYW1lcmEgKyBzd2l0Y2ggYmFjayB0byBMSFMKKyogQWRkaW5nIGFubm90YXRlX2NsZWFy
KCkgZnVuY3Rpb24gdG8gcmVtb3ZlIHByZXZpb3VzIGNhbGxiYWNrcyBmcm9tIGEgcGxvdAorKiBB
ZGRlZCBkb2N1bWVudGF0aW9uIGZvciBoZXhhaGVkcmFsIG1lc2ggb24gd2Vic2l0ZQorKiBTcGVl
ZCB1cCBuZWFyZXN0IG5laWdoYm9yIGV2YWx1YXRpb24KKyogQWRkIGEgY29udmVuaWVuY2UgbWV0
aG9kIHRvIGNyZWF0ZSBkZXBvc2l0ZWQgcGFydGljbGUgZmllbGRzCisqIFVJIGFuZCBkb2NzIHVw
ZGF0ZXMgZm9yIDNEIHN0cmVhbWxpbmVzCisqIEVuc3VyZSBwYXJ0aWNsZSBmaWVsZHMgYXJlIHRl
c3RlZCBpbiB0aGUgZmllbGQgdW5pdCB0ZXN0cworKiBBbGxvdyBhIHN1ZmZpeCB0byBiZSBzcGVj
aWZpZWQgdG8gc2F2ZSgpCisqIEFkZCBwcm9maWxpbmcgdXNpbmcgYWlyc3BlZWQgdmVsb2NpdHkK
KyogVmFyaW91cyBwbG90dGluZyBlbmhhbmNlbWVudHMgYW5kIGJ1Z2ZpeGVzCisqIFVzZSBoZ2xp
YiB0byB1cGRhdGUKKyogVmFyaW91cyBtaW5vciB1cGRhdGVzIHRvIGhhbG9fYW5hbHlzaXMgdG9v
bGtpdAorKiBEb2NrZXItYmFzZWQgdGVzdHMgZm9yIGluc3RhbGxfc2NyaXB0LnNoCisqIEFkZGlu
ZyBzdXBwb3J0IGZvciBzaW5nbGUgYW5kIG5vbi1jb3Ntb2xvZ2ljYWwgZGF0YXNldHMgdG8gTGln
aHRSYXkKKyogQWRkaW5nIHRoZSBQYXNjYWwgdW5pdAorKiBBZGQgd2VpZ2h0X2ZpZWxkIHRvIFBQ
VkN1YmUKKyogRklUUyByZWFkZXI6IGFsbG93IEhEVSBpbiBhdXhpbGlhcnkKKyogRml4aW5nIGVs
ZWN0cm9tYWduZXRpYyB1bml0cworKiBTcGVjaWZpYyBBbmd1bGFyIE1vbWVudHVtIFt4eXpdIGNv
bXB1dGVkIHJlbGF0aXZlIHRvIGEgbm9ybWFsIHZlY3RvcgorCitCdWdmaXhlcworXl5eXl5eXl4K
KworKiBBZGRpbmcgYWJpbGl0eSB0byBjcmVhdGUgdW5pb24gZmllbGRzIGZyb20gYWxpYXMgZmll
bGRzCisqIFNtYWxsIGZpeCB0byBhbGxvdyBlbnpvIEFQIGRhdGFzZXRzIHRvIGxvYWQgaW4gcGFy
YWxsZWwgd2hlbiBubyBBUHMgcHJlcz0KZW50CisqIFVzZSBwcm9wZXIgY2VsbCBkaW1lbnNpb24g
aW4gZ3JhZGllbnQgZnVuY3Rpb24uCisqIE1pbm9yIG1lbW9yeSBvcHRpbWl6YXRpb24gZm9yIHNt
b290aGVkIHBhcnRpY2xlIGZpZWxkcworKiBGaXggdGhlcm1hbF9lbmVyZ3kgZm9yIEVuem8gSHlk
cm9NZXRob2Q9M0Q9M0Q2CisqIE1ha2Ugc3VyZSBhbm5vdGF0ZV9wYXJ0aWNsZXMgaGFuZGxlcyB1
bml0ZnVsIHdpZHRocyBwcm9wZXJseQorKiBJbXByb3ZlbWVudHMgZm9yIGFkZF9wYXJ0aWNsZV9m
aWx0ZXIgYW5kIHBhcnRpY2xlX2ZpbHRlcgorKiBTcGVjaWZ5IHJlZ2lzdHJ5IGluIG9mZl9heGlz
X3Byb2plY3Rpb24ncyBpbWFnZSBmaW5hbGl6YXRpb24KKyogQXBwbHkgZml4IGZvciBwYXJ0aWNs
ZSBtb21lbnR1bSB1bml0cyB0byB0aGUgYm94bGliIGZyb250ZW5kCisqIEF2b2lkIHRyYWNlYmFj
ayBpbiAieXQgdmVyc2lvbiIgd2hlbiBweXRob24taGdsaWIgaXMgbm90IGluc3RhbGxlZAorKiBF
eHBvc2Ugbm9fZ2hvc3QgZnJvbSBleHBvcnRfc2tldGNoZmFiIGRvd24gdG8gX2V4dHJhY3RfaXNv
Y29udG91cnNfZnJvbV89CmdyaWQKKyogRml4IGJyb2tlbiBtYWduZXRpY191bml0IGF0dHJpYnV0
ZQorKiBGaXhpbmcgYW4gb2ZmLWJ5LW9uZSBlcnJvciBpbiB0aGUgc2V0IHgveSBsaW0gbWV0aG9k
cyBmb3IgcHJvZmlsZSBwbG90cworKiBQcm92aWRpbmcgYmV0dGVyIGVycm9yIG1lc3NhZ2VzIHRv
IFBsb3RXaW5kb3cgY2FsbGJhY2tzCisqIFVwZGF0aW5nIGFubm90YXRlX3RpbWVzdGFtcCB0byBh
dm9pZCBhdXRvLW92ZXJyaWRlCisqIFVwZGF0aW5nIGNhbGxiYWNrcyB0byBjb25zaXN0ZW50bHkg
ZGVmaW5lIGNvb3JkaW5hdGUgc3lzdGVtCisqIEZpeGluZyBzcGVjaWVzIGZpZWxkcyBmb3IgT1dM
UyBhbmQgdGlwc3kKKyogRml4IGV4dHJhcG9sYXRpb24gZm9yIHZlcnRleC1jZW50ZXJlZCBkYXRh
CisqIEZpeCBwZXJpb2RpY2l0eSBjaGVjayBpbiBGUkJzCisqIFJld3JvdGUgcHJvamVjdF90b19w
bGFuZSgpIGluIFBlcnNwZWN0aXZlQ2FtZXJhIGZvciBkcmF3X2RvbWFpbigpCisqIEZpeCBpbnRl
cm1pdHRlbnQgZmFpbHVyZSBpbiB0ZXN0X2FkZF9kZXBvc2l0ZWRfcGFydGljbGVfZmllbGQKKyog
SW1wcm92ZSBtaW5vcnRpY2tzIGZvciBhIHN5bWxvZyBwbG90IHdpdGggb25lLXNpZGVkIGRhdGEK
KyogRml4IHNtb290aGVkIGNvdmVyaW5nIGdyaWQgY2VsbCBjb21wdXRhdGlvbgorKiBBYnNvcnB0
aW9uIHNwZWN0cnVtIGdlbmVyYXRvciBub3cgMy4wIGNvbXBsaWFudAorKiBGaXggb2ZmLWJ5LW9u
ZS1vci1tb3JlIGluIHBhcnRpY2xlIHNtYWxsZXN0IGR4CisqIEZpeCBkaW1lbnNpb25hbGl0eSBt
aXNtYXRjaCBlcnJvciBpbiBjb3ZlcmluZyBncmlkCisqIEZpeCBjdXJ2YXR1cmUgdGVybSBpbiBj
b3Ntb2xvZ3kgY2FsY3VsYXRvcgorKiBGaXggZ2VvZ3JhcGhpYyBheGVzIGFuZCBwaXhlbGl6YXRp
b24KKyogRW5zdXJlIGF4ZXMgYXNwZWN0IHJhdGlvcyByZXNwZWN0IHRoZSB1c2VyLXNlbGVjdGVk
IHBsb3QgYXNwZWN0IHJhdGlvCisqIEF2b2lkIGNsb2JiZXJpbmcgZmllbGRfbWFwIHdoZW4gY2Fs
bGluZyBwcm9maWxlLmFkZF9maWVsZHMKKyogRml4aW5nIHRoZSBhcmJpdHJhcnkgZ3JpZCBkZXBv
c2l0IGNvZGUKKyogRml4IHNwaGVyaWNhbCBwbG90dGluZyBjZW50ZXJpbmcKKyogTWFrZSB0aGUg
YmVoYXZpb3Igb2YgdG9fZnJiIGNvbnNpc3RlbnQgd2l0aCB0aGUgZG9jc3RyaW5nCisqIEVuc3Vy
ZSBwcm9qZWN0ZWQgdW5pdHMgYXJlIGluaXRpYWxpemVkIHdoZW4gdGhlcmUgYXJlIG5vIGNodW5r
cy4KKyogUmVtb3ZpbmcgImZpZWxkIGFscmVhZHkgZXhpc3RzIiB3YXJuaW5ncyBmcm9tIHRoZSBP
d2xzIGFuZCBHYWRnZXQgZnJvbnRlPQpuZHMKKyogVmFyaW91cyBwaG90b24gc2ltdWxhdG9yIGJ1
Z3MKKyogRml4ZWQgdXNlIG9mIExhVGVYIG1hdGggbW9kZQorKiBGaXggdXBsb2FkX2ltYWdlCisq
IEVuZm9yY2UgcGxvdCB3aWR0aCBpbiBDU1Mgd2hlbiBkaXNwbGF5ZWQgaW4gYSBub3RlYm9vawor
KiBGaXggY1N0cmluZ0lPLlN0cmluZ0lPIC0+IGNTdHJpbmdJTyBpbiBwbmdfd3JpdGVyCisqIEFk
ZCBzb21lIGlucHV0IHNhbml0aXppbmcgYW5kIGVycm9yIGNoZWNraW5nIHRvIGNvdmVyaW5nX2dy
aWQgaW5pdGlhbGl6ZXIKKyogRml4IGZvciBnZW9ncmFwaGljIHBsb3R0aW5nCisqIFVzZSB0aGUg
Y29ycmVjdCBmaWxlbmFtZSB0ZW1wbGF0ZSBmb3Igc2luZ2xlLWZpbGUgT1dMUyBkYXRhc2V0cy4K
KyogRml4IEVuem8gSU8gcGVyZm9ybWFuY2UgZm9yIDMyIGJpdCBkYXRhc2V0cworKiBBZGRpbmcg
YSBudW1iZXIgZGVuc2l0eSBmaWVsZCBmb3IgRW56byBNdWx0aVNwZWNpZXM9M0QwIGRhdGFzZXRz
LgorKiBGaXggUkFNU0VTIGJsb2NrIG9yZGVyaW5nCisqIFVwZGF0aW5nIHJhZ2dlZCBhcnJheSB0
ZXN0cyBmb3IgTnVtUHkgMS45LjEKKyogRm9yY2UgcmV0dXJuaW5nIGxpc3RzIGZvciBIREY1Rmls
ZUhhbmRsZXIKKwogVmVyc2lvbiAzLjEKIC0tLS0tLS0tLS0tCj0yMApAQCAtMTksNyArMTM3LDcg
QEAKPTIwCj0yMAogTWFqb3IgY2hhbmdlczoKLSsrKysrKysrKysrKysrCiteXl5eXl5eXl5eXl5e
Xgo9MjAKICogVGhlIFJBRE1DLTNEIGV4cG9ydCBhbmFseXNpcyBtb2R1bGUgaGFzIGJlZW4gdXBk
YXRlZC4gYFBSIDEzNTggPGh0dHBzOi8vPQpiaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L3B1
bGwtcmVxdWVzdC8xMzU4PmBfLCBgUFIgMTMzMiA8aHR0cHM6Ly9iaXRidWM9CmtldC5vcmcveXRf
YW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEzMzI+YF8uCj0yMApAQCAtNDEsNyArMTU5LDcgQEAK
ICogVGhlIGRvY3VtZW50YXRpb24gaGFzIGJlZW4gcmVvcmdhbml6ZWQgYW5kIGhhcyBzZWVuIHN1
YnN0YW50aWFsIGltcHJvdmVtPQplbnRzLiBgUFIgMTM4MyA8aHR0cHM6Ly9iaXRidWNrZXQub3Jn
L3l0X2FuYWx5c2lzL3l0L3B1bGwtcmVxdWVzdC8xMzgzPmBfLCA9CmBQUiAxMzczIDxodHRwczov
L2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEzNzM+YF8sIGBQUiAx
Mz0KNjQgPGh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9wdWxsLXJlcXVlc3Qv
MTM2ND5gXywgYFBSIDEzNTEgPGh0PQp0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L3B1bGwtcmVxdWVzdC8xMzUxPmBfLCBgUFIgMTM0NSA8aHR0cHM6Ly89CmJpdGJ1Y2tldC5vcmcv
eXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEzNDU+YF8uIGBQUiAxMzMzIDxodHRwczovL2Jp
dGJ1Yz0Ka2V0Lm9yZy95dF9hbmFseXNpcy95dC9wdWxsLXJlcXVlc3QvMTMzMz5gXywgYFBSIDEz
NDIgPGh0dHBzOi8vYml0YnVja2V0Lm9yPQpnL3l0X2FuYWx5c2lzL3l0L3B1bGwtcmVxdWVzdC8x
MzQyPmBfLCBgUFIgMTMzOCA8aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2E9Cm5hbHlzaXMveXQv
cHVsbC1yZXF1ZXN0LzEzMzg+YF8sIGBQUiAxMzMwIDxodHRwczovL2JpdGJ1Y2tldC5vcmcveXRf
YW5hbHlzaT0Kcy95dC9wdWxsLXJlcXVlc3QvMTMzMD5gXywgYFBSIDEzMjYgPGh0dHBzOi8vYml0
YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9wPQp1bGwtcmVxdWVzdC8xMzI2PmBfLCBgUFIgMTMy
MyA8aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L3B1bGwtcmU9CnF1ZXN0LzEz
MjM+YF8sIGBQUiAxMzE1IDxodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvcHVs
bC1yZXF1ZXN0Lz0KMTMxNT5gXywgYFBSIDEzMDUgPGh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9h
bmFseXNpcy95dC9wdWxsLXJlcXVlc3QvMTMwNT5gPQpfLCBgUFIgMTI4OSA8aHR0cHM6Ly9iaXRi
dWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L3B1bGwtcmVxdWVzdC8xMjg5PmBfLCBgUFI9CiAxMjc2
IDxodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvcHVsbC1yZXF1ZXN0LzEyNzY+
YF8uCj0yMAogTWlub3Igb3IgYnVnZml4IGNoYW5nZXM6Ci0rKysrKysrKysrKysrKysrKysrKysr
KysKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgo9MjAKICogVGhlIEFtcGVyZSB1bml0IG5vdyBh
Y2NlcHRzIFNJIHByZWZpeGVzLiAgYFBSIDEzOTMgPGh0dHBzOi8vYml0YnVja2V0Lm9yPQpnL3l0
X2FuYWx5c2lzL3l0L3B1bGwtcmVxdWVzdC8xMzkzPmBfLgo9MjAKQEAgLTE1Niw2ICsyNzQsNyBA
QAogcmVwcmVzZW50YXRpb24gb2YgdW5zdHJ1Y3R1cmVkIG1lc2ggZGF0YXNldHMuCj0yMAogSGln
aGxpZ2h0ZWQgY2hhbmdlcyBpbiB5dCAzLjA6CiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e
Xl4KPTIwCiAgKiBVbml0cyBub3cgcGVybWVhdGUgdGhlIGNvZGUgYmFzZSwgZW5hYmxpbmcgc2Vs
Zi1jb25zaXN0ZW50IHVuaXQKICAgIHRyYW5zZm9ybWF0aW9ucyBvZiBhbGwgYXJyYXlzIGFuZCBx
dWFudGl0aWVzIHJldHVybmVkIGJ5IHl0LgpAQCAtMjA0LDYgKzMyMyw3IEBACiBzZXJpZXMuICBC
ZWxvdyBhcmUgdGhlIGl0ZW1pemVkLCBhZ2dyZWdhdGUgY2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDIu
NS4KPTIwCiBNYWpvciBjaGFuZ2VzOgorXl5eXl5eXl5eXl5eXl4KPTIwCiAgICogeXQgaXMgbm93
IGxpY2Vuc2VkIHVuZGVyIHRoZSAzLWNsYXVzZSBCU0QgbGljZW5zZS4KICAgKiBIRUFMUGl4IGhh
cyBiZWVuIHJlbW92ZWQgZm9yIHRoZSB0aW1lIGJlaW5nLCBhcyBhIHJlc3VsdCBvZiBsaWNlbnNp
bmcKQEAgLTIyNyw2ICszNDcsNyBAQAogICAqIFByb2plY3Rpb25QbG90IG5vdyBhY2NlcHRzIGEg
ZGF0YV9zb3VyY2Uga2V5d29yZCBhcmd1bWVudAo9MjAKIE1pbm9yIG9yIGJ1Z2ZpeCBjaGFuZ2Vz
OgorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCj0yMAogICAqIEZpeCBmb3Igdm9sdW1lIHJlbmRl
cmluZyBvbiB0aGUgY29tbWFuZCBsaW5lCiAgICogbWFwX3RvX2NvbG9ybWFwIHdpbGwgbm8gbG9u
Z2VyIHJldHVybiBvdXQtb2YtYm91bmRzIGVycm9ycwpAQCAtMzA3LDcgKzQyOCw3IEBACiBtZXJn
ZWQgd2l0aCB0aGUgSVB5dGhvbiBub3RlYm9vayBpbiBhIGZ1dHVyZSByZWxlYXNlLgo9MjAKIElu
c3RhbGwgU2NyaXB0IENoYW5nZXM6Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorXl5eXl5eXl5e
Xl5eXl5eXl5eXl5eXl4KPTIwCiAgKiBTY2lQeSBjYW4gbm93IGJlIGluc3RhbGxlZAogICogUm9j
a3N0YXIgY2FuIG5vdyBiZSBpbnN0YWxsZWQKQEAgLTMyNiw3ICs0NDcsNyBAQAogV2UndmUgYWxz
byBpbXByb3ZlZCBzdXBwb3J0IGZvciBpbnN0YWxsaW5nIG9uIE9TWCwgVWJ1bnR1IGFuZCBPcGVu
U1VTRS4KPTIwCiBNb3N0IFZpc2libGUgSW1wcm92ZW1lbnRzCi1+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+CiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCj0yMAogICogTmVhcmx5IDIwMCBwdWxs
IHJlcXVlc3RzIGFuZCBvdmVyIDEwMDAgY2hhbmdlc2V0cyBoYXZlIGJlZW4gbWVyZ2VkIHNpbmM9
CmUgeXQKICAgIDIuNCB3YXMgcmVsZWFzZSBvbiBBdWd1c3QgMm5kLCAyMDEyLgpAQCAtNDA5LDcg
KzUzMCw3IEBACiBgZG93bmxvYWQgaXQgaGVyZSA8aHR0cDovL3l0LXByb2plY3Qub3JnL2ZpbGVz
L3l0MjQuaXB5bmI+YF8uCj0yMAogTW9zdCBWaXNpYmxlIEltcHJvdmVtZW50cwotfn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fgorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgo9MjAKICAqIFRocmVh
ZGVkIHZvbHVtZSByZW5kZXJlciwgY29tcGxldGVseSByZWZhY3RvcmVkIGZyb20gdGhlIGdyb3Vu
ZCB1cCBmb3IKICAgIHNwZWVkIGFuZCBwYXJhbGxlbGlzbS4KQEAgLTQzMiw3ICs1NTMsNyBAQAog
ICAgcGxvdCBjb2xsZWN0aW9ucyByaWdodCBmcm9tIHRoZSB5dCBjb21tYW5kIGxpbmUhCj0yMAog
T3RoZXIgQ2hhbmdlcwotfn5+fn5+fn5+fn5+fgorXl5eXl5eXl5eXl5eXgo9MjAKICAqIDpjbGFz
czpgfnl0LnZpc3VhbGl6YXRpb24ucGxvdF93aW5kb3cuUHJvamVjdGlvblBsb3RgIGFuZD0yMAog
ICAgOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi5wbG90X3dpbmRvdy5TbGljZVBsb3RgIHN1cHBs
YW50IHRoZSBmdW5jdGlvbmE9CmxpdHkKCmRpZmYgLXIgZDM1NGE2YjM1M2FjNjBkZDNhMWI3MjE5
Yzg1Y2VkZDMyMjQwOTU3NCAtciA0ZGMzOTc2MzNhOTliMzdjZGZiZGVmNT0KZmZmN2VhYWEyMTUx
NTgyMzkgZG9jL3NvdXJjZS92aXN1YWxpemluZy9jYWxsYmFja3MucnN0Ci0tLSBhL2RvYy9zb3Vy
Y2UvdmlzdWFsaXppbmcvY2FsbGJhY2tzLnJzdAorKysgYi9kb2Mvc291cmNlL3Zpc3VhbGl6aW5n
L2NhbGxiYWNrcy5yc3QKQEAgLTQ4Myw3ICs0ODMsNyBAQAogICAgaW1wb3J0IHl0CiAgICBkcyA9
M0QgeXQubG9hZCgiSXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwIikKICAgIHMg
PTNEIHl0LlNsaWNlUGxvdChkcywgJ3onLCAnZGVuc2l0eScsIGNlbnRlcj0zRCdtYXgnLCB3aWR0
aD0zRCgxMCwgJ2twPQpjJykpCi0gICBzLmFubm90YXRlX3RleHQoKDIsIDIpLCBjb29yZF9zeXN0
ZW09M0QncGxvdCcsICdHYWxheHkhJykKKyAgIHMuYW5ub3RhdGVfdGV4dCgoMiwgMiksICdHYWxh
eHkhJywgY29vcmRfc3lzdGVtPTNEJ3Bsb3QnKQogICAgcy5zYXZlKCkKPTIwCiAuLiBfYW5ub3Rh
dGUtdGl0bGU6CgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1
NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IGRvYy9zb3Vy
Y2UvdmlzdWFsaXppbmcvY29sb3JtYXBzL2luZGV4LnJzdAotLS0gYS9kb2Mvc291cmNlL3Zpc3Vh
bGl6aW5nL2NvbG9ybWFwcy9pbmRleC5yc3QKKysrIGIvZG9jL3NvdXJjZS92aXN1YWxpemluZy9j
b2xvcm1hcHMvaW5kZXgucnN0CkBAIC04LDcgKzgsNyBAQAogdmlzdWFsaXphdGlvbiBmdW5jdGlv
bnMgdXN1YWxseSBhbGxvdyB5b3UgdG8gc3BlY2lmeSBhIGNvbG9ybWFwIHdpdGggdGhlPTIwCiBg
YGNtYXBgYCBmbGFnLgo9MjAKLS4uIF9wYWxldHRhYmxlOgorLi4gX2luc3RhbGwtcGFsZXR0YWJs
ZToKPTIwCiBQYWxldHRhYmxlIGFuZCBDb2xvckJyZXdlcjI9MjAKIH5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fgoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIyNDA5
NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSBkb2Mvc291
cmNlL3Zpc3VhbGl6aW5nL3Bsb3RzLnJzdAotLS0gYS9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3Bs
b3RzLnJzdAorKysgYi9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3Bsb3RzLnJzdApAQCAtMTIyNCwx
OCArMTIyNCwxOCBAQAogICAgZHMgPTNEIHl0LmxvYWQoIkdhc1Nsb3NoaW5nL3Nsb3NoaW5nX25v
bWFnMl9oZGY1X3BsdF9jbnRfMDEwMCIpCiAgICBzbGMgPTNEIHl0LlNsaWNlUGxvdChkcywgInoi
LCBbImtUIiwiZGVuc2l0eSJdLCB3aWR0aD0zRCg1MDAuMCwia3BjIikpCiAgICBzbGMuc2F2ZSgp
Ci0gID0yMAorCiB3aGljaCB3aWxsIHlpZWxkIFBORyBwbG90cyB3aXRoIHRoZSBmaWxlbmFtZXMK
PTIwCiAuLiBjb2RlLWJsb2NrOjogYmFzaAo9MjAKLSAgICQgbHMgKi5wbmcKKyAgICQgbHMgXCou
cG5nCiAgICBzbG9zaGluZ19ub21hZzJfaGRmNV9wbHRfY250XzAxMDBfU2xpY2Vfel9kZW5zaXR5
LnBuZwogICAgc2xvc2hpbmdfbm9tYWcyX2hkZjVfcGx0X2NudF8wMTAwX1NsaWNlX3pfa1QucG5n
Cj0yMAogd2hpY2ggaGFzIGEgZ2VuZXJhbCBmb3JtIG9mCj0yMAotLi4gY29kZS1ibG9jazo6Cisu
LiBjb2RlLWJsb2NrOjogYmFzaAogPTIwCiAgICBbZGF0YXNldCBuYW1lXV9bcGxvdCB0eXBlXV9b
YXhpc11fW2ZpZWxkIG5hbWVdLltzdWZmaXhdCiAgID0yMApAQCAtMTI1Niw3ICsxMjU2LDcgQEAK
PTIwCiAuLiBjb2RlLWJsb2NrOjogYmFzaAo9MjAKLSAgICQgbHMgKi5wbmcKKyAgICQgbHMgXCou
cG5nCiAgICBiYW5hbmFzX1NsaWNlX3pfa1QucG5nCiAgICBiYW5hbmFzX1NsaWNlX3pfZGVuc2l0
eS5wbmcKPTIwCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4NWNlZGQzMjI0MDk1
NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4MjM5IHNldHVwLnB5
Ci0tLSBhL3NldHVwLnB5CisrKyBiL3NldHVwLnB5CkBAIC00OSwxOSArNDksMTggQEAKICAgICBS
RUFTT05fRklMRVMuYXBwZW5kKChkaXJfbmFtZSwgZmlsZXMpKQo9MjAKICMgVmVyaWZ5IHRoYXQg
d2UgaGF2ZSBDeXRob24gaW5zdGFsbGVkCitSRVFfQ1lUSE9OID0zRCAnMC4yMicKIHRyeToKICAg
ICBpbXBvcnQgQ3l0aG9uCi0gICAgaWYgdmVyc2lvbi5Mb29zZVZlcnNpb24oQ3l0aG9uLl9fdmVy
c2lvbl9fKSA8IHZlcnNpb24uTG9vc2VWZXJzaW9uKCcwLj0KMTYnKToKLSAgICAgICAgbmVlZHNf
Y3l0aG9uID0zRCBUcnVlCi0gICAgZWxzZToKLSAgICAgICAgbmVlZHNfY3l0aG9uID0zRCBGYWxz
ZQorICAgIG5lZWRzX2N5dGhvbiA9M0QgXAorICAgICAgICB2ZXJzaW9uLkxvb3NlVmVyc2lvbihD
eXRob24uX192ZXJzaW9uX18pIDwgdmVyc2lvbi5Mb29zZVZlcnNpb24oUkU9ClFfQ1lUSE9OKQog
ZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6CiAgICAgbmVlZHNfY3l0aG9uID0zRCBUcnVlCj0yMAog
aWYgbmVlZHNfY3l0aG9uOgogICAgIHByaW50KCJDeXRob24gaXMgYSBidWlsZC10aW1lIHJlcXVp
cmVtZW50IGZvciB0aGUgc291cmNlIHRyZWUgb2YgeXQuIikKICAgICBwcmludCgiUGxlYXNlIGVp
dGhlciBpbnN0YWxsIHl0IGZyb20gYSBwcm92aWRlZCwgcmVsZWFzZSB0YXJiYWxsLCIpCi0gICAg
cHJpbnQoIm9yIGluc3RhbGwgQ3l0aG9uICh2ZXJzaW9uIDAuMTYgb3IgaGlnaGVyKS4iKQorICAg
IHByaW50KCJvciBpbnN0YWxsIEN5dGhvbiAodmVyc2lvbiAlcyBvciBoaWdoZXIpLiIgJSBSRVFf
Q1lUSE9OKQogICAgIHByaW50KCJZb3UgbWF5IGJlIGFibGUgdG8gYWNjb21wbGlzaCB0aGlzIGJ5
IHR5cGluZzoiKQogICAgIHByaW50KCIgICAgIHBpcCBpbnN0YWxsIC1VIEN5dGhvbiIpCiAgICAg
c3lzLmV4aXQoMSkKQEAgLTExNSw3ICsxMTQsNyBAQAogIyBFbmQgc25pcHBldAogIyMjIyMjCj0y
MAotVkVSU0lPTiA9M0QgIjMuMmRldiIKK1ZFUlNJT04gPTNEICIzLjMtZGV2Igo9MjAKIGlmIG9z
LnBhdGguZXhpc3RzKCdNQU5JRkVTVCcpOgogICAgIG9zLnJlbW92ZSgnTUFOSUZFU1QnKQoKZGlm
ZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIyNDA5NTc0IC1yIDRkYzM5NzYz
M2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSB5dC9fX2luaXRfXy5weQotLS0gYS95
dC9fX2luaXRfXy5weQorKysgYi95dC9fX2luaXRfXy5weQpAQCAtNzIsNyArNzIsNyBAQAogIyBU
aGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3
aXRoIHRoaXMgc29mdHc9CmFyZS4KICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCj0yMAotX192ZXJz
aW9uX18gPTNEICIzLjItZGV2IgorX192ZXJzaW9uX18gPTNEICIzLjMtZGV2Igo9MjAKICMgRmly
c3QgbW9kdWxlIGltcG9ydHMKIGltcG9ydCBudW1weSBhcyBucCAjIEZvciBtb2Rlcm4gcHVycG9z
ZXMKCmRpZmYgLXIgZDM1NGE2YjM1M2FjNjBkZDNhMWI3MjE5Yzg1Y2VkZDMyMjQwOTU3NCAtciA0
ZGMzOTc2MzNhOTliMzdjZGZiZGVmNT0KZmZmN2VhYWEyMTUxNTgyMzkgeXQvYW5hbHlzaXNfbW9k
dWxlcy9hYnNvcnB0aW9uX3NwZWN0cnVtL2Fic29ycHRpb25fbGluZS5weQotLS0gYS95dC9hbmFs
eXNpc19tb2R1bGVzL2Fic29ycHRpb25fc3BlY3RydW0vYWJzb3JwdGlvbl9saW5lLnB5CisrKyBi
L3l0L2FuYWx5c2lzX21vZHVsZXMvYWJzb3JwdGlvbl9zcGVjdHJ1bS9hYnNvcnB0aW9uX2xpbmUu
cHkKQEAgLTE4LDggKzE4LDE2IEBACiAgICAgY2hhcmdlX3Byb3Rvbl9jZ3MsIFwKICAgICBtYXNz
X2VsZWN0cm9uX2NncywgXAogICAgIHNwZWVkX29mX2xpZ2h0X2NncworZnJvbSB5dC51dGlsaXRp
ZXMub25fZGVtYW5kX2ltcG9ydHMgaW1wb3J0IF9zY2lweSwgTm90QU1vZHVsZQo9MjAKLWRlZiB2
b2lndChhLHUpOgorc3BlY2lhbCA9M0QgX3NjaXB5LnNwZWNpYWwKKworZGVmIHZvaWd0X3NjaXB5
KGEsIHUpOgorICAgIHggPTNEIG5wLmFzYXJyYXkodSkuYXN0eXBlKG5wLmZsb2F0NjQpCisgICAg
eSA9M0QgbnAuYXNhcnJheShhKS5hc3R5cGUobnAuZmxvYXQ2NCkKKyAgICByZXR1cm4gc3BlY2lh
bC53b2Z6KHggKyAxaiAqIHkpLnJlYWwKKworZGVmIHZvaWd0X29sZChhLCB1KToKICAgICAiIiIK
ICAgICBOQU1FOgogICAgICAgICBWT0lHVD0yMApAQCAtMjA5LDMgKzIxNyw4IEBACiAgICAgdGF1
cGhpID0zRCAodGF1MCAqIHBoaSkuaW5fdW5pdHMoIiIpICAgICAgICAgICAgICAgIyBwcm9maWxl
IHNjYWxlZCB3aT0KdGggdGF1MAo9MjAKICAgICByZXR1cm4gKGxhbWJkYV9iaW5zLCB0YXVwaGkp
CisKK2lmIGlzaW5zdGFuY2Uoc3BlY2lhbCwgTm90QU1vZHVsZSk6CisgICAgdm9pZ3QgPTNEIHZv
aWd0X29sZAorZWxzZToKKyAgICB2b2lndCA9M0Qgdm9pZ3Rfc2NpcHkKCmRpZmYgLXIgZDM1NGE2
YjM1M2FjNjBkZDNhMWI3MjE5Yzg1Y2VkZDMyMjQwOTU3NCAtciA0ZGMzOTc2MzNhOTliMzdjZGZi
ZGVmNT0KZmZmN2VhYWEyMTUxNTgyMzkgeXQvYW5hbHlzaXNfbW9kdWxlcy9hYnNvcnB0aW9uX3Nw
ZWN0cnVtL2Fic29ycHRpb25fc3BlY3RyPQp1bV9maXQucHkKLS0tIGEveXQvYW5hbHlzaXNfbW9k
dWxlcy9hYnNvcnB0aW9uX3NwZWN0cnVtL2Fic29ycHRpb25fc3BlY3RydW1fZml0LnB5CisrKyBi
L3l0L2FuYWx5c2lzX21vZHVsZXMvYWJzb3JwdGlvbl9zcGVjdHJ1bS9hYnNvcnB0aW9uX3NwZWN0
cnVtX2ZpdC5weQpAQCAtMTAxMSw3ICsxMDExLDcgQEAKPTIwCiAgICAgIiIiCiAgICAgZiA9M0Qg
aDVweS5GaWxlKGZpbGVfbmFtZSwgJ3cnKQotICAgIGZvciBpb24sIHBhcmFtcyBpbiBsaW5lRGlj
Lml0ZXJpdGVtcygpOgorICAgIGZvciBpb24sIHBhcmFtcyBpbiBsaW5lRGljLml0ZW1zKCk6CiAg
ICAgICAgIGYuY3JlYXRlX2RhdGFzZXQoInswfS9OIi5mb3JtYXQoaW9uKSxkYXRhPTNEcGFyYW1z
WydOJ10pCiAgICAgICAgIGYuY3JlYXRlX2RhdGFzZXQoInswfS9iIi5mb3JtYXQoaW9uKSxkYXRh
PTNEcGFyYW1zWydiJ10pCiAgICAgICAgIGYuY3JlYXRlX2RhdGFzZXQoInswfS96Ii5mb3JtYXQo
aW9uKSxkYXRhPTNEcGFyYW1zWyd6J10pCgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIx
OWM4NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1
MTU4MjM5IHl0L2FuYWx5c2lzX21vZHVsZXMvYWJzb3JwdGlvbl9zcGVjdHJ1bS90ZXN0cy90ZXN0
X2Fic29ycD0KdGlvbl9zcGVjdHJ1bS5weQotLS0gYS95dC9hbmFseXNpc19tb2R1bGVzL2Fic29y
cHRpb25fc3BlY3RydW0vdGVzdHMvdGVzdF9hYnNvcnB0aW9uX3NwZWN0cnU9Cm0ucHkKKysrIGIv
eXQvYW5hbHlzaXNfbW9kdWxlcy9hYnNvcnB0aW9uX3NwZWN0cnVtL3Rlc3RzL3Rlc3RfYWJzb3Jw
dGlvbl9zcGVjdHJ1PQptLnB5CkBAIC0xMCw4ICsxMCwxMSBAQAogIyBUaGUgZnVsbCBsaWNlbnNl
IGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc29mdHc9
CmFyZS4KICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCj0yMAotaW1wb3J0IHl0Ci1mcm9tIHl0LnRl
c3RpbmcgaW1wb3J0ICoKK2ltcG9ydCBudW1weSBhcyBucAorZnJvbSB5dC50ZXN0aW5nIGltcG9y
dCBcCisgICAgYXNzZXJ0X2FsbGNsb3NlLCByZXF1aXJlc19maWxlLCByZXF1aXJlc19tb2R1bGUK
K2Zyb20geXQuYW5hbHlzaXNfbW9kdWxlcy5hYnNvcnB0aW9uX3NwZWN0cnVtLmFic29ycHRpb25f
bGluZSBpbXBvcnQgXAorICAgIHZvaWd0X29sZCwgdm9pZ3Rfc2NpcHkKIGZyb20geXQuYW5hbHlz
aXNfbW9kdWxlcy5hYnNvcnB0aW9uX3NwZWN0cnVtLmFwaSBpbXBvcnQgQWJzb3JwdGlvblNwZWN0
cnVtCiBmcm9tIHl0LmFuYWx5c2lzX21vZHVsZXMuY29zbW9sb2dpY2FsX29ic2VydmF0aW9uLmFw
aSBpbXBvcnQgTGlnaHRSYXkKIGltcG9ydCB0ZW1wZmlsZQpAQCAtMjAsNiArMjMsNyBAQAo9MjAK
IENPU01PX1BMVVMgPTNEICJlbnpvX2Nvc21vbG9neV9wbHVzL0FNUkNvc21vbG9neS5lbnpvIgo9
MjAKKwogQHJlcXVpcmVzX2ZpbGUoQ09TTU9fUExVUykKIGRlZiB0ZXN0X2Fic29ycHRpb25fc3Bl
Y3RydW0oKToKICAgICAiIiIKQEAgLTQ0LDIyICs0OCwyNCBAQAo9MjAKICAgICBteV9sYWJlbCA9
M0QgJ0hJIEx5YScKICAgICBmaWVsZCA9M0QgJ0hfbnVtYmVyX2RlbnNpdHknCi0gICAgd2F2ZWxl
bmd0aCA9M0QgMTIxNS42NzAwICMgQW5nc3Ryb21zcworICAgIHdhdmVsZW5ndGggPTNEIDEyMTUu
NjcwMCAgIyBBbmdzdHJvbXNzCiAgICAgZl92YWx1ZSA9M0QgNC4xNjRFLTAxCiAgICAgZ2FtbWEg
PTNEIDYuMjY1ZSswOAogICAgIG1hc3MgPTNEIDEuMDA3OTQKPTIwCi0gICAgc3AuYWRkX2xpbmUo
bXlfbGFiZWwsIGZpZWxkLCB3YXZlbGVuZ3RoLCBmX3ZhbHVlLCBnYW1tYSwgbWFzcywgbGFiZWxf
dD0KaHJlc2hvbGQ9M0QxLmUxMCkKKyAgICBzcC5hZGRfbGluZShteV9sYWJlbCwgZmllbGQsIHdh
dmVsZW5ndGgsIGZfdmFsdWUsCisgICAgICAgICAgICAgICAgZ2FtbWEsIG1hc3MsIGxhYmVsX3Ro
cmVzaG9sZD0zRDEuZTEwKQo9MjAKICAgICBteV9sYWJlbCA9M0QgJ0hJIEx5YScKICAgICBmaWVs
ZCA9M0QgJ0hfbnVtYmVyX2RlbnNpdHknCi0gICAgd2F2ZWxlbmd0aCA9M0QgOTEyLjMyMzY2MCAj
IEFuZ3N0cm9tcworICAgIHdhdmVsZW5ndGggPTNEIDkxMi4zMjM2NjAgICMgQW5nc3Ryb21zCiAg
ICAgbm9ybWFsaXphdGlvbiA9M0QgMS42ZTE3CiAgICAgaW5kZXggPTNEIDMuMAo9MjAKICAgICBz
cC5hZGRfY29udGludXVtKG15X2xhYmVsLCBmaWVsZCwgd2F2ZWxlbmd0aCwgbm9ybWFsaXphdGlv
biwgaW5kZXgpCj0yMAotICAgIHdhdmVsZW5ndGgsIGZsdXggPTNEIHNwLm1ha2Vfc3BlY3RydW0o
J2xpZ2h0cmF5Lmg1Jywgb3V0cHV0X2ZpbGU9M0Qnc3A9CmVjdHJ1bS50eHQnLAorICAgIHdhdmVs
ZW5ndGgsIGZsdXggPTNEIHNwLm1ha2Vfc3BlY3RydW0oJ2xpZ2h0cmF5Lmg1JywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZmlsZT0zRCdzcGVjdHJ1bS50
eHQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVfbGlzdF9m
aWxlPTNEJ2xpbmVzLnR4dCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdXNlX3BlY3VsaWFyX3ZlbG9jaXR5PTNEVHJ1ZSkKPTIwCkBAIC05MywyNSArOTksMzQgQEAK
PTIwCiAgICAgbXlfbGFiZWwgPTNEICdISSBMeWEnCiAgICAgZmllbGQgPTNEICdIX251bWJlcl9k
ZW5zaXR5JwotICAgIHdhdmVsZW5ndGggPTNEIDEyMTUuNjcwMCAjIEFuZ3N0cm9tc3MKKyAgICB3
YXZlbGVuZ3RoID0zRCAxMjE1LjY3MDAgICMgQW5nc3Ryb21zcwogICAgIGZfdmFsdWUgPTNEIDQu
MTY0RS0wMQogICAgIGdhbW1hID0zRCA2LjI2NWUrMDgKICAgICBtYXNzID0zRCAxLjAwNzk0Cj0y
MAotICAgIHNwLmFkZF9saW5lKG15X2xhYmVsLCBmaWVsZCwgd2F2ZWxlbmd0aCwgZl92YWx1ZSwg
Z2FtbWEsIG1hc3MsIGxhYmVsX3Q9CmhyZXNob2xkPTNEMS5lMTApCisgICAgc3AuYWRkX2xpbmUo
bXlfbGFiZWwsIGZpZWxkLCB3YXZlbGVuZ3RoLCBmX3ZhbHVlLAorICAgICAgICAgICAgICAgIGdh
bW1hLCBtYXNzLCBsYWJlbF90aHJlc2hvbGQ9M0QxLmUxMCkKPTIwCiAgICAgbXlfbGFiZWwgPTNE
ICdISSBMeWEnCiAgICAgZmllbGQgPTNEICdIX251bWJlcl9kZW5zaXR5JwotICAgIHdhdmVsZW5n
dGggPTNEIDkxMi4zMjM2NjAgIyBBbmdzdHJvbXMKKyAgICB3YXZlbGVuZ3RoID0zRCA5MTIuMzIz
NjYwICAjIEFuZ3N0cm9tcwogICAgIG5vcm1hbGl6YXRpb24gPTNEIDEuNmUxNwogICAgIGluZGV4
ID0zRCAzLjAKPTIwCiAgICAgc3AuYWRkX2NvbnRpbnV1bShteV9sYWJlbCwgZmllbGQsIHdhdmVs
ZW5ndGgsIG5vcm1hbGl6YXRpb24sIGluZGV4KQo9MjAKLSAgICB3YXZlbGVuZ3RoLCBmbHV4ID0z
RCBzcC5tYWtlX3NwZWN0cnVtKCdsaWdodHJheS5oNScsIG91dHB1dF9maWxlPTNEJ3NwPQplY3Ry
dW0uZml0cycsCisgICAgd2F2ZWxlbmd0aCwgZmx1eCA9M0Qgc3AubWFrZV9zcGVjdHJ1bSgnbGln
aHRyYXkuaDUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1
dF9maWxlPTNEJ3NwZWN0cnVtLmZpdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpbmVfbGlzdF9maWxlPTNEJ2xpbmVzLnR4dCcsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdXNlX3BlY3VsaWFyX3ZlbG9jaXR5PTNEVHJ1ZSkKPTIw
CiAgICAgIyBjbGVhbiB1cAogICAgIG9zLmNoZGlyKGN1cmRpcikKICAgICBzaHV0aWwucm10cmVl
KHRtcGRpcikKKworCitAcmVxdWlyZXNfbW9kdWxlKCJzY2lweSIpCitkZWYgdGVzdF92b2lndF9w
cm9maWxlcygpOgorICAgIGEgPTNEIDEuN2UtNAorICAgIHggPTNEIG5wLmxpbnNwYWNlKDUuMCwg
LTMuNiwgNjApCisgICAgeWllbGQgYXNzZXJ0X2FsbGNsb3NlLCB2b2lndF9vbGQoYSwgeCksIHZv
aWd0X3NjaXB5KGEsIHgpLCAxZS04CgpkaWZmIC1yIGQzNTRhNmIzNTNhYzYwZGQzYTFiNzIxOWM4
NWNlZGQzMjI0MDk1NzQgLXIgNGRjMzk3NjMzYTk5YjM3Y2RmYmRlZjU9CmZmZjdlYWFhMjE1MTU4
MjM5IHl0L2FuYWx5c2lzX21vZHVsZXMvY29zbW9sb2dpY2FsX29ic2VydmF0aW9uL2xpZ2h0X2Nv
bmUvbD0KaWdodF9jb25lLnB5Ci0tLSBhL3l0L2FuYWx5c2lzX21vZHVsZXMvY29zbW9sb2dpY2Fs
X29ic2VydmF0aW9uL2xpZ2h0X2NvbmUvbGlnaHRfY29uZS5weQorKysgYi95dC9hbmFseXNpc19t
b2R1bGVzL2Nvc21vbG9naWNhbF9vYnNlcnZhdGlvbi9saWdodF9jb25lL2xpZ2h0X2NvbmUucHkK
QEAgLTM0Myw3ICszNDMsNyBAQAogICAgICAgICAgICAgZGVsIG91dHB1dFsib2JqZWN0Il0KPTIw
CiAgICAgICAgICMgQ29tYmluZSByZXN1bHRzIGZyb20gZWFjaCBzbGljZS4KLSAgICAgICAgYWxs
X3NsaWNlcyA9M0QgYWxsX3N0b3JhZ2Uua2V5cygpCisgICAgICAgIGFsbF9zbGljZXMgPTNEIGxp
c3QoYWxsX3N0b3JhZ2Uua2V5cygpKQogICAgICAgICBhbGxfc2xpY2VzLnNvcnQoKQogICAgICAg
ICBmb3IgbXlfc2xpY2UgaW4gYWxsX3NsaWNlczoKICAgICAgICAgICAgIGlmIHNhdmVfc2xpY2Vf
aW1hZ2VzOgoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIyNDA5NTc0
IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSB5dC9hbmFseXNp
c19tb2R1bGVzL2hhbG9fZmluZGluZy9oYWxvX29iamVjdHMucHkKLS0tIGEveXQvYW5hbHlzaXNf
bW9kdWxlcy9oYWxvX2ZpbmRpbmcvaGFsb19vYmplY3RzLnB5CisrKyBiL3l0L2FuYWx5c2lzX21v
ZHVsZXMvaGFsb19maW5kaW5nL2hhbG9fb2JqZWN0cy5weQpAQCAtMjIsNiArMjIsNyBAQAogaW1w
b3J0IGdsb2IKIGltcG9ydCBvcwogaW1wb3J0IG9zLnBhdGggYXMgcGF0aAorZnJvbSBmdW5jdG9v
bHMgaW1wb3J0IGNtcF90b19rZXkKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0
CiBmcm9tIHl0LmV4dGVybi5zaXggaW1wb3J0IGFkZF9tZXRhY2xhc3MKIGZyb20geXQuZXh0ZXJu
LnNpeC5tb3ZlcyBpbXBvcnQgemlwIGFzIGl6aXAKQEAgLTM5LDcgKzQwLDcgQEAKICAgICBUSU5Z
CiBmcm9tIHl0LnV0aWxpdGllcy5waHlzaWNhbF9yYXRpb3MgaW1wb3J0IFwKICAgICAgcmhvX2Ny
aXRfZ19jbTNfaDIKLSAgID0yMAorCiBmcm9tIC5ob3AuRW56b0hvcCBpbXBvcnQgUnVuSE9QCiBm
cm9tIC5mb2YuRW56b0ZPRiBpbXBvcnQgUnVuRk9GCj0yMApAQCAtMTM4LDkgKzEzOSw5IEBACiAg
ICAgICAgIGNbMl0gPTNEIHNlbGZbInBhcnRpY2xlX3Bvc2l0aW9uX3oiXSAtIHNlbGYuZHMuZG9t
YWluX2xlZnRfZWRnZVsyXQogICAgICAgICBjb20gPTNEIFtdCiAgICAgICAgIGZvciBpIGluIHJh
bmdlKDMpOgotICAgICAgICAgICAgIyBBIGhhbG8gaXMgbGlrZWx5IHBlcmlvZGljIGFyb3VuZCBh
IGJvdW5kYXJ5IGlmIHRoZSBkaXN0YW5jZT0yMAorICAgICAgICAgICAgIyBBIGhhbG8gaXMgbGlr
ZWx5IHBlcmlvZGljIGFyb3VuZCBhIGJvdW5kYXJ5IGlmIHRoZSBkaXN0YW5jZQogICAgICAgICAg
ICAgIyBiZXR3ZWVuIHRoZSBtYXggYW5kIG1pbiBwYXJ0aWNsZQotICAgICAgICAgICAgIyBwb3Np
dGlvbnMgYXJlIGxhcmdlciB0aGFuIGhhbGYgdGhlIGJveC49MjAKKyAgICAgICAgICAgICMgcG9z
aXRpb25zIGFyZSBsYXJnZXIgdGhhbiBoYWxmIHRoZSBib3guCiAgICAgICAgICAgICAjIFNvIHNr
aXAgdGhlIHJlc3QgaWYgdGhlIGNvbnZlcnNlIGlzIHRydWUuCiAgICAgICAgICAgICAjIE5vdGUg
d2UgbWlnaHQgbWFrZSBhIGNoYW5nZSBoZXJlIHdoZW4gcGVyaW9kaWNpdHktaGFuZGxpbmcgaXMK
ICAgICAgICAgICAgICMgZnVsbHkgaW1wbGVtZW50ZWQuCkBAIC00NDQsNyArNDQ1LDcgQEAKICAg
ICAgICAgTXN1bjJnID0zRCBtYXNzX3N1bl9jZ3MKICAgICAgICAgcmhvX2NyaXQgPTNEIHJob19j
cml0ICogKCgxLjAgKyB6KSAqKiAzLjApCiAgICAgICAgICMgR2V0IHNvbWUgcGVydGluZW50IGlu
Zm9ybWF0aW9uIGFib3V0IHRoZSBoYWxvLgotICAgICAgICBzZWxmLm1hc3NfYmlucyA9M0Qgc2Vs
Zi5kcy5hcnIobnAuemVyb3Moc2VsZi5iaW5fY291bnQgKyAxLD0yMAorICAgICAgICBzZWxmLm1h
c3NfYmlucyA9M0Qgc2VsZi5kcy5hcnIobnAuemVyb3Moc2VsZi5iaW5fY291bnQgKyAxLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR0eXBlPTNEJ2Zsb2F0
NjQnKSwnTXN1bicpCiAgICAgICAgIGRpc3QgPTNEIG5wLmVtcHR5KHRoaXNzaXplLCBkdHlwZT0z
RCdmbG9hdDY0JykKICAgICAgICAgY2VuID0zRCBzZWxmLmNlbnRlcl9vZl9tYXNzKCkKQEAgLTQ3
NSw3ICs0NzYsNyBAQAogICAgICAgICBzZWxmLm92ZXJkZW5zaXR5ID0zRCBzZWxmLm1hc3NfYmlu
cyAqIE1zdW4yZyAvIFwKICAgICAgICAgICAgICg0Li8zLiAqIG1hdGgucGkgKiByaG9fY3JpdCAq
IFwKICAgICAgICAgICAgIChzZWxmLnJhZGlhbF9iaW5zICkqKjMuMCkKLSAgICAgICA9MjAKKwog
ICAgIGRlZiBfZ2V0X2VsbGlwc29pZF9wYXJhbWV0ZXJzX2Jhc2ljKHNlbGYpOgogICAgICAgICBu
cC5zZXRlcnIoYWxsPTNEJ2lnbm9yZScpCiAgICAgICAgICMgY2hlY2sgaWYgdGhlcmUgYXJlIDQg
cGFydGljbGVzIHRvIGZvcm0gYW4gZWxsaXBzb2lkCkBAIC01MDEsNyArNTAyLDcgQEAKICAgICAg
ICAgZm9yIGF4aXMgaW4gcmFuZ2UobnAuc2l6ZShEVykpOgogICAgICAgICAgICAgY2FzZXMgPTNE
IG5wLmFycmF5KFtwb3NpdGlvbltheGlzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcG9zaXRpb25bYXhpc10gKyBEV1theGlzXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBvc2l0aW9uW2F4aXNdIC0gRFdbYXhpc11dKSAgICAgICA9MjAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBvc2l0aW9uW2F4aXNdIC0gRFdbYXhpc11dKQogICAgICAgICAgICAg
IyBwaWNrIG91dCB0aGUgc21hbGxlc3QgYWJzb2x1dGUgZGlzdGFuY2UgZnJvbSBjb20KICAgICAg
ICAgICAgIHBvc2l0aW9uW2F4aXNdID0zRCBucC5jaG9vc2UobnAuYWJzKGNhc2VzKS5hcmdtaW4o
YXhpcz0zRDApLCBjPQphc2VzKQogICAgICAgICAjIGZpbmQgdGhlIGZ1cnRoZXN0IHBhcnRpY2xl
J3MgaW5kZXgKQEAgLTU3MSw3ICs1NzIsNyBAQAogICAgIF9uYW1lID0zRCAiUm9ja3N0YXJIYWxv
IgogICAgICMgU2VlIHBhcnRpY2xlX21hc2sKICAgICBfcmFkanVzdCA9M0QgNC4KLSAgID0yMAor
CiAgICAgZGVmIG1heGltdW1fZGVuc2l0eShzZWxmKToKICAgICAgICAgciIiIk5vdCBpbXBsZW1l
bnRlZC4iIiIKICAgICAgICAgcmV0dXJuIC0xCkBAIC02MzUsMTEgKzYzNiwxMSBAQAogICAgIGRl
ZiBnZXRfZWxsaXBzb2lkX3BhcmFtZXRlcnMoc2VsZik6CiAgICAgICAgIHIiIiJDYWxjdWxhdGUg
dGhlIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmliZSB0aGUgZWxsaXBzb2lkIG9mCiAgICAgICAgIHRo
ZSBwYXJ0aWNsZXMgdGhhdCBjb25zdGl0dXRlIHRoZSBoYWxvLgotICAgICAgID0yMAorCiAgICAg
ICAgIFBhcmFtZXRlcnMKICAgICAgICAgLS0tLS0tLS0tLQogICAgICAgICBOb25lCi0gICAgICAg
PTIwCisKICAgICAgICAgUmV0dXJucwogICAgICAgICAtLS0tLS0tCiAgICAgICAgIHR1cGxlIDog
KGNtLCBtYWdfQSwgbWFnX0IsIG1hZ19DLCBlMF92ZWN0b3IsIHRpbHQpCkBAIC02NTAsNyArNjUx
LDcgQEAKICAgICAgICAgICAgICAgIy4gbWFnX0MgYXMgYSBmbG9hdC4KICAgICAgICAgICAgICAg
Iy4gZTBfdmVjdG9yIGFzIGFuIGFycmF5LgogICAgICAgICAgICAgICAjLiB0aWx0IGFzIGEgZmxv
YXQuCi0gICAgICAgPTIwCisKICAgICAgICAgRXhhbXBsZXMKICAgICAgICAgLS0tLS0tLS0KICAg
ICAgICAgPj4+IHBhcmFtcyA9M0QgaGFsb3NbMF0uZ2V0X2VsbGlwc29pZF9wYXJhbWV0ZXJzKCkK
QEAgLTY2MiwyMiArNjYzLDIyIEBACiAgICAgICAgICAgICBiYXNpY19wYXJhbWV0ZXJzWzRdLCBi
YXNpY19wYXJhbWV0ZXJzWzVdXSksIGJhc2ljX3BhcmFtZXRlcnNbNj0KXV0KICAgICAgICAgdG9y
ZXR1cm4uZXh0ZW5kKHVwZGF0ZWQpCiAgICAgICAgIHJldHVybiB0dXBsZSh0b3JldHVybikKLSAg
ID0yMAorCiAgICAgZGVmIGdldF9lbGxpcHNvaWQoc2VsZik6CiAgICAgICAgIHIiIiJSZXR1cm5z
IGFuIGVsbGlwc29pZGFsIGRhdGEgb2JqZWN0LgotICAgICAgID0yMAorCiAgICAgICAgIFRoaXMg
d2lsbCBnZW5lcmF0ZSBhIG5ldywgZW1wdHkgZWxsaXBzb2lkYWwgZGF0YSBvYmplY3QgZm9yIHRo
aXMKICAgICAgICAgaGFsby4KLSAgICAgICA9MjAKKwogICAgICAgICBQYXJhbWV0ZXJzCiAgICAg
ICAgIC0tLS0tLS0tLS0KICAgICAgICAgTm9uZS4KLSAgICAgICA9MjAKKwogICAgICAgICBSZXR1
cm5zCiAgICAgICAgIC0tLS0tLS0KICAgICAgICAgZWxsaXBzb2lkIDogYHl0LmRhdGFfb2JqZWN0
cy5kYXRhX2NvbnRhaW5lcnMuWVRFbGxpcHNvaWRCYXNlYAogICAgICAgICAgICAgVGhlIGVsbGlw
c29pZGFsIGRhdGEgb2JqZWN0LgotICAgICAgID0yMAorCiAgICAgICAgIEV4YW1wbGVzCiAgICAg
ICAgIC0tLS0tLS0tCiAgICAgICAgID4+PiBlbGwgPTNEIGhhbG9zWzBdLmdldF9lbGxpcHNvaWQo
KQpAQCAtNjg2LDcgKzY4Nyw3IEBACiAgICAgICAgIGVsbCA9M0Qgc2VsZi5kYXRhLmRzLmVsbGlw
c29pZChlcFswXSwgZXBbMV0sIGVwWzJdLCBlcFszXSwKICAgICAgICAgICAgIGVwWzRdLCBlcFs1
XSkKICAgICAgICAgcmV0dXJuIGVsbAotICAgPTIwCisKIGNsYXNzIEhPUEhhbG8oSGFsbyk6CiAg
ICAgX25hbWUgPTNEICJIT1BIYWxvIgogICAgIHBhc3MKQEAgLTc2MywxNCArNzY0LDE0IEBACiAg
ICAgICAgICAgICBzZWxmLnNpemUsIGtleSkKICAgICAgICAgaWYgZmllbGRfZGF0YSBpcyBub3Qg
Tm9uZToKICAgICAgICAgICAgIGlmIGtleSA9M0Q9M0QgJ3BhcnRpY2xlX2luZGV4JzoKLSAgICAg
ICAgICAgICAgICAjdGhpcyBpcyBhbiBpbmRleCBmb3IgdHVybmluZyBkYXRhIHNvcnRlZCBieSBw
YXJ0aWNsZSBpbmRlPQp4PTIwCisgICAgICAgICAgICAgICAgI3RoaXMgaXMgYW4gaW5kZXggZm9y
IHR1cm5pbmcgZGF0YSBzb3J0ZWQgYnkgcGFydGljbGUgaW5kZXgKICAgICAgICAgICAgICAgICAj
aW50byB0aGUgc2FtZSBvcmRlciBhcyB0aGUgZmllbGRzIG9uIGRpc2sKICAgICAgICAgICAgICAg
ICBzZWxmLl9waWRfc29ydCA9M0QgZmllbGRfZGF0YS5hcmdzb3J0KCkuYXJnc29ydCgpCiAgICAg
ICAgICAgICAjY29udmVydCB0byBZVEFycmF5IHVzaW5nIHRoZSBkYXRhIGZyb20gZGlzawogICAg
ICAgICAgICAgaWYga2V5ID0zRD0zRCAncGFydGljbGVfbWFzcyc6CiAgICAgICAgICAgICAgICAg
ZmllbGRfZGF0YSA9M0Qgc2VsZi5kcy5hcnIoZmllbGRfZGF0YSwgJ01zdW4nKQogICAgICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgICAgICBmaWVsZF9kYXRhID0zRCBzZWxmLmRzLmFycihmaWVs
ZF9kYXRhLD0yMAorICAgICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIHNlbGYuZHMuYXJyKGZp
ZWxkX2RhdGEsCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZHMuX2dldF9maWVsZF9pbmZvKCd1
bmtub3duJyxrZXkpLnVuaXRzKQogICAgICAgICAgICAgc2VsZi5fc2F2ZWRfZmllbGRzW2tleV0g
PTNEIGZpZWxkX2RhdGEKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9zYXZlZF9maWVsZHNba2V5
XQpAQCAtODU2LDIxICs4NTcsMjEgQEAKICAgICAgICAgICAgIGJhc2ljX3BhcmFtZXRlcnNbNF0s
IGJhc2ljX3BhcmFtZXRlcnNbNV1dKSwgYmFzaWNfcGFyYW1ldGVyc1s2PQpdXQogICAgICAgICB0
b3JldHVybi5leHRlbmQodXBkYXRlZCkKICAgICAgICAgcmV0dXJuIHR1cGxlKHRvcmV0dXJuKQot
ICAgPTIwCisKICAgICBkZWYgZ2V0X2VsbGlwc29pZChzZWxmKToKLSAgICAgICAgciIiIlJldHVy
bnMgYW4gZWxsaXBzb2lkYWwgZGF0YSBvYmplY3QuICAgICAgID0yMAorICAgICAgICByIiIiUmV0
dXJucyBhbiBlbGxpcHNvaWRhbCBkYXRhIG9iamVjdC4KICAgICAgICAgVGhpcyB3aWxsIGdlbmVy
YXRlIGEgbmV3LCBlbXB0eSBlbGxpcHNvaWRhbCBkYXRhIG9iamVjdCBmb3IgdGhpcwogICAgICAg
ICBoYWxvLgotICAgICAgID0yMAorCiAgICAgICAgIFBhcmFtZXRlcnMKICAgICAgICAgLS0tLS0t
LS0tLQogICAgICAgICBOb25lLgotICAgICAgID0yMAorCiAgICAgICAgIFJldHVybnMKICAgICAg
ICAgLS0tLS0tLQogICAgICAgICBlbGxpcHNvaWQgOiBgeXQuZGF0YV9vYmplY3RzLmRhdGFfY29u
dGFpbmVycy5ZVEVsbGlwc29pZEJhc2VgCiAgICAgICAgICAgICBUaGUgZWxsaXBzb2lkYWwgZGF0
YSBvYmplY3QuCi0gICAgICAgPTIwCisKICAgICAgICAgRXhhbXBsZXMKICAgICAgICAgLS0tLS0t
LS0KICAgICAgICAgPj4+IGVsbCA9M0QgaGFsb3NbMF0uZ2V0X2VsbGlwc29pZCgpCkBAIC05NDcs
MTEgKzk0OCwxMSBAQAogICAgIGRlZiBtYXhpbXVtX2RlbnNpdHkoc2VsZik6CiAgICAgICAgIHIi
IiJVbmRlZmluZWQgZm9yIHRleHQgaGFsb3MuIiIiCiAgICAgICAgIHJldHVybiAtMQotICAgPTIw
CisKICAgICBkZWYgbWF4aW11bV9kZW5zaXR5X2xvY2F0aW9uKHNlbGYpOgogICAgICAgICByIiIi
VW5kZWZpbmVkLCBkZWZhdWx0IHRvIENvTSIiIgogICAgICAgICByZXR1cm4gc2VsZi5jZW50ZXJf
b2ZfbWFzcygpCi0gICA9MjAKKwogICAgIGRlZiBnZXRfc2l6ZShzZWxmKToKICAgICAgICAgIyBI
YXZlIHRvIGp1c3QgZ2V0IGl0IGZyb20gdGhlIHNwaGVyZS4KICAgICAgICAgcmV0dXJuIHNlbGZb
InBhcnRpY2xlX3Bvc2l0aW9uX3giXS5zaXplCkBAIC05NjQsOCArOTY1LDggQEAKICAgICBkZWYg
X19pbml0X18oc2VsZiwgZGF0YV9zb3VyY2UsIGRtX29ubHk9M0RUcnVlLCByZWRzaGlmdD0zRC0x
KToKICAgICAgICAgIiIiCiAgICAgICAgIFJ1biBob3Agb24gKmRhdGFfc291cmNlKiB3aXRoIGEg
Z2l2ZW4gZGVuc2l0eSAqdGhyZXNob2xkKi4gIElmCi0gICAgICAgICpkbV9vbmx5KiBpcyBUcnVl
IChkZWZhdWx0KSwgb25seSBydW4gaXQgb24gdGhlIGRhcmsgbWF0dGVyIHBhcnRpYz0KbGVzLD0y
MAotICAgICAgICBvdGhlcndpc2Ugb24gYWxsIHBhcnRpY2xlcy4gIFJldHVybnMgYW4gaXRlcmFi
bGUgY29sbGVjdGlvbiBvZj0yMAorICAgICAgICAqZG1fb25seSogaXMgVHJ1ZSAoZGVmYXVsdCks
IG9ubHkgcnVuIGl0IG9uIHRoZSBkYXJrIG1hdHRlciBwYXJ0aWM9CmxlcywKKyAgICAgICAgb3Ro
ZXJ3aXNlIG9uIGFsbCBwYXJ0aWNsZXMuICBSZXR1cm5zIGFuIGl0ZXJhYmxlIGNvbGxlY3Rpb24g
b2YKICAgICAgICAgKkhvcEdyb3VwKiBpdGVtcy4KICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYu
X2RhdGFfc291cmNlID0zRCBkYXRhX3NvdXJjZQpAQCAtMTA1MSw3ICsxMDUyLDcgQEAKICAgICAg
ICAgZWxsaXBzb2lkX2RhdGEgOiBib29sLgogICAgICAgICAgICAgV2hldGhlciB0byBwcmludCB0
aGUgZWxsaXBzb2lkYWwgaW5mb3JtYXRpb24gdG8gdGhlIGZpbGUuCiAgICAgICAgICAgICBEZWZh
dWx0ID0zRCBGYWxzZS4KLSAgICAgICA9MjAKKwogICAgICAgICBFeGFtcGxlcwogICAgICAgICAt
LS0tLS0tLQogICAgICAgICA+Pj4gaGFsb3Mud3JpdGVfb3V0KCJIb3BBbmFseXNpcy5vdXQiKQpA
QCAtMTE0NCwxMCArMTE0NSwxMCBAQAogICAgIF9oYWxvX2R0ID0zRCBucC5kdHlwZShbKCdpZCcs
IG5wLmludDY0KSwgKCdwb3MnLCAobnAuZmxvYXQzMiwgNikpLAogICAgICAgICAoJ2NvcmV2ZWwn
LCAobnAuZmxvYXQzMiwgMykpLCAoJ2J1bGt2ZWwnLCAobnAuZmxvYXQzMiwgMykpLAogICAgICAg
ICAoJ20nLCBucC5mbG9hdDMyKSwgKCdyJywgbnAuZmxvYXQzMiksICgnY2hpbGRfcicsIG5wLmZs
b2F0MzIpLAotICAgICAgICAoJ3ZtYXhfcicsIG5wLmZsb2F0MzIpLD0yMAorICAgICAgICAoJ3Zt
YXhfcicsIG5wLmZsb2F0MzIpLAogICAgICAgICAoJ21ncmF2JywgbnAuZmxvYXQzMiksICgndm1h
eCcsIG5wLmZsb2F0MzIpLAogICAgICAgICAoJ3J2bWF4JywgbnAuZmxvYXQzMiksICgncnMnLCBu
cC5mbG9hdDMyKSwKLSAgICAgICAgKCdrbHlwaW5fcnMnLCBucC5mbG9hdDMyKSw9MjAKKyAgICAg
ICAgKCdrbHlwaW5fcnMnLCBucC5mbG9hdDMyKSwKICAgICAgICAgKCd2cm1zJywgbnAuZmxvYXQz
MiksICgnSicsIChucC5mbG9hdDMyLCAzKSksCiAgICAgICAgICgnZW5lcmd5JywgbnAuZmxvYXQz
MiksICgnc3BpbicsIG5wLmZsb2F0MzIpLAogICAgICAgICAoJ2FsdF9tJywgKG5wLmZsb2F0MzIs
IDQpKSwgKCdYb2ZmJywgbnAuZmxvYXQzMiksCkBAIC0xMjIxLDkgKzEyMjIsOSBAQAogICAgICAg
ICAiIiIKICAgICAgICAgUmVhZCB0aGUgb3V0XyoubGlzdCB0ZXh0IGZpbGUgcHJvZHVjZWQKICAg
ICAgICAgYnkgUm9ja3N0YXIgaW50byBtZW1vcnkuIiIiCi0gICAgICAgPTIwCisKICAgICAgICAg
ZHMgPTNEIHNlbGYuZHMKLSAgICAgICAgIyBJbiBvcmRlciB0byByZWFkIHRoZSBiaW5hcnkgZGF0
YSwgd2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoaWNoPTIwCisgICAgICAgICMgSW4gb3JkZXIgdG8g
cmVhZCB0aGUgYmluYXJ5IGRhdGEsIHdlIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaAogICAgICAg
ICAjIGJpbmFyeSBmaWxlcyBiZWxvbmcgdG8gdGhpcyBvdXRwdXQuCiAgICAgICAgIGJhc2VkaXIg
PTNEIG9zLnBhdGguZGlybmFtZShzZWxmLm91dF9saXN0KQogICAgICAgICBzID0zRCBzZWxmLm91
dF9saXN0LnNwbGl0KCdfJylbLTFdCkBAIC0xNTIzLDEyICsxNTI0LDE0IEBACiAgICAgICAgICAg
ICAgICAgaWQgKz0zRCAxCj0yMAogICAgICAgICBkZWYgaGFsb0NtcChoMSwgaDIpOgorICAgICAg
ICAgICAgZGVmIGNtcChhLCBiKToKKyAgICAgICAgICAgICAgICByZXR1cm4gKGEgPiBiKSAtIChh
IDwgYikKICAgICAgICAgICAgIGMgPTNEIGNtcChoMS50b3RhbF9tYXNzKCksIGgyLnRvdGFsX21h
c3MoKSkKICAgICAgICAgICAgIGlmIGMgIT0zRCAwOgogICAgICAgICAgICAgICAgIHJldHVybiAt
MSAqIGMKICAgICAgICAgICAgIGlmIGMgPTNEPTNEIDA6CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGNtcChoMS5jZW50ZXJfb2ZfbWFzcygpWzBdLCBoMi5jZW50ZXJfb2ZfbWFzcygpWzBdKQotICAg
ICAgICBzZWxmLl9ncm91cHMuc29ydChoYWxvQ21wKQorICAgICAgICBzZWxmLl9ncm91cHMuc29y
dChrZXk9M0RjbXBfdG9fa2V5KGhhbG9DbXApKQogICAgICAgICBzb3J0ZWRfbWF4X2RlbnMgPTNE
IHt9CiAgICAgICAgIGZvciBpLCBoYWxvIGluIGVudW1lcmF0ZShzZWxmLl9ncm91cHMpOgogICAg
ICAgICAgICAgaWYgaGFsby5pZCBpbiBzZWxmLl9tYXhfZGVuczoKQEAgLTE4NzMsNyArMTg3Niw3
IEBACj0yMAogY2xhc3MgTG9hZFRleHRIYWxvZXMoR2VuZXJpY0hhbG9GaW5kZXIsIFRleHRIYWxv
TGlzdCk6CiAgICAgciIiIkxvYWQgYSB0ZXh0IGZpbGUgb2YgaGFsb3MuCi0gICA9MjAKKwogICAg
IExpa2UgTG9hZEhhbG9lcywgYnV0IHdoZW4gYWxsIHRoYXQgaXMgYXZhaWxhYmxlIGlzIGEgcGxh
aW4KICAgICB0ZXh0IGZpbGUuIFRoaXMgYXNzdW1lcyB0aGUgdGV4dCBmaWxlIGhhcyB0aGUgMy1w
b3NpdGlvbnMgb2YgaGFsb3MKICAgICBhbG9uZyB3aXRoIGEgcmFkaXVzLiBUaGUgaGFsbyBvYmpl
Y3RzIGNyZWF0ZWQgYXJlIHNwaGVyZXMuCkBAIC0xODgyLDcgKzE4ODUsNyBAQAogICAgIC0tLS0t
LS0tLS0KICAgICBmbmFtZSA6IFN0cmluZwogICAgICAgICBUaGUgbmFtZSBvZiB0aGUgdGV4dCBm
aWxlIHRvIHJlYWQgaW4uCi0gICA9MjAKKwogICAgIGNvbHVtbnMgOiBkaWN0CiAgICAgICAgIEEg
ZGljdCBsaXN0aW5nIHRoZSBjb2x1bW4gbmFtZSA6IGNvbHVtbiBudW1iZXIgcGFpcnMgZm9yIGRh
dGEKICAgICAgICAgaW4gdGhlIHRleHQgZmlsZS4gSXQgaXMgemVyby1iYXNlZCAobGlrZSBQeXRo
b24pLgpAQCAtMTg5MCw3ICsxODkzLDcgQEAKICAgICAgICAgQW55IGNvbHVtbiBuYW1lIG91dHNp
ZGUgb2YgWyd4JywgJ3knLCAneicsICdyJ10gd2lsbCBiZSBhdHRhY2hlZAogICAgICAgICB0byBl
YWNoIGhhbG8gb2JqZWN0IGluIHRoZSBzdXBwbGVtZW50YXJ5IGRpY3QgJ3N1cHAnLiBTZWUKICAg
ICAgICAgZXhhbXBsZS4KLSAgID0yMAorCiAgICAgY29tbWVudCA6IFN0cmluZwogICAgICAgICBJ
ZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgbGluZSBpcyBlcXVhbCB0byB0aGlzLCB0aGUgbGlu
ZSBpcwogICAgICAgICBza2lwcGVkLiBEZWZhdWx0ID0zRCAiIyIuCkBAIC0xOTE1LDcgKzE5MTgs
NyBAQAogICAgIFBhcmFtZXRlcnMKICAgICAtLS0tLS0tLS0tCiAgICAgZm5hbWUgOiBTdHJpbmcK
LSAgICAgICAgVGhlIG5hbWUgb2YgdGhlIFJvY2tzdGFyIGZpbGUgdG8gcmVhZCBpbi4gRGVmYXVs
dCA9M0Q9MjAKKyAgICAgICAgVGhlIG5hbWUgb2YgdGhlIFJvY2tzdGFyIGZpbGUgdG8gcmVhZCBp
bi4gRGVmYXVsdCA9M0QKICAgICAgICAgInJvY2tzdGFyX2hhbG9zL291dF8wLmxpc3QnLgo9MjAK
ICAgICBFeGFtcGxlcwoKZGlmZiAtciBkMzU0YTZiMzUzYWM2MGRkM2ExYjcyMTljODVjZWRkMzIy
NDA5NTc0IC1yIDRkYzM5NzYzM2E5OWIzN2NkZmJkZWY1PQpmZmY3ZWFhYTIxNTE1ODIzOSB5dC9h
bmFseXNpc19tb2R1bGVzL2xldmVsX3NldHMvY2x1bXBfaGFuZGxpbmcucHkKLS0tIGEveXQvYW5h
bHlzaXNfbW9kdWxlcy9sZXZlbF9zZXRzL2NsdW1wX2hhbmRsaW5nLnB5CisrKyBiL3l0L2FuYWx5
c2lzX21vZHVsZXMvbGV2ZWxfc2V0cy9jbHVtcF9oYW5kbGluZy5weQpAQCAtMjAsNyArMjAsOCBA
QAogZnJvbSB5dC5maWVsZHMuZGVyaXZlZF9maWVsZCBpbXBvcnQgXAogICAgIFZhbGlkYXRlU3Bh
dGlhbAogZnJvbSB5dC5mdW5jcyBpbXBvcnQgbXlsb2cKLSAgID0yMAorZnJvbSB5dC5leHRlcm4u
c2l4IGltcG9ydCBzdHJpbmdfdHlwZXMKKwogZnJvbSAuY2x1bXBfaW5mb19pdGVtcyBpbXBvcnQg
XAogICAgIGNsdW1wX2luZm9fcmVnaXN0cnkKIGZyb20gLmNsdW1wX3ZhbGlkYXRvcnMgaW1wb3J0
IFwKQEAgLTI2OCw3ICsyNjksNyBAQAo9MjAKIGRlZiB3cml0ZV9jbHVtcF9pbmRleChjbHVtcCwg
bGV2ZWwsIGZoKToKICAgICB0b3AgPTNEIEZhbHNlCi0gICAgaWYgbm90IGlzaW5zdGFuY2UoZmgs
IGZpbGUpOgorICAgIGlmIGlzaW5zdGFuY2UoZmgsIHN0cmluZ190eXBlcyk6CiAgICAgICAgIGZo
ID0zRCBvcGVuKGZoLCAidyIpCiAgICAgICAgIHRvcCA9M0QgVHJ1ZQogICAgIGZvciBxIGluIHJh
bmdlKGxldmVsKToKQEAgLTI4NSw3ICsyODYsNyBAQAo9MjAKIGRlZiB3cml0ZV9jbHVtcHMoY2x1
bXAsIGxldmVsLCBmaCk6CiAgICAgdG9wID0zRCBGYWxzZQotICAgIGlmIG5vdCBpc2luc3RhbmNl
KGZoLCBmaWxlKToKKyAgICBpZiBpc2luc3RhbmNlKGZoLCBzdHJpbmdfdHlwZXMpOgogICAgICAg
ICBmaCA9M0Qgb3BlbihmaCwgInciKQogICAgICAgICB0b3AgPTNEIFRydWUKICAgICBpZiAoKGNs
dW1wLmNoaWxkcmVuIGlzIE5vbmUpIG9yIChsZW4oY2x1bXAuY2hpbGRyZW4pID0zRD0zRCAwKSk6
CgpUaGlzIGRpZmYgaXMgc28gYmlnIHRoYXQgd2UgbmVlZGVkIHRvIHRydW5jYXRlIHRoZSByZW1h
aW5kZXIuCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9iOGNl
ZGZlOWY3NjMvCkNoYW5nZXNldDogICBiOGNlZGZlOWY3NjMKQnJhbmNoOiAgICAgIHl0ClVzZXI6
ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDctMjkgMTY6MTY6MjUrMDA6MDAK
U3VtbWFyeTogICAgIE1lcmdlZApBZmZlY3RlZCAjOiAgMjUgZmlsZXMKCmRpZmYgLXIgNjQ0ZGFk
NGRlNzE2NjBmMDhkY2I4OWFjMGFjNTUyNmQ1ZTVhZGJiOSAtciBiOGNlZGZlOWY3NjM5MGUwYTBj
YmU1Mj0KOTliODRkNmI0MDc0NWVhOTEgZG9jL3NvdXJjZS9jb29rYm9vay9jYWxjdWxhdGluZ19p
bmZvcm1hdGlvbi5yc3QKLS0tIGEvZG9jL3NvdXJjZS9jb29rYm9vay9jYWxjdWxhdGluZ19pbmZv
cm1hdGlvbi5yc3QKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay9jYWxjdWxhdGluZ19pbmZvcm1h
dGlvbi5yc3QKQEAgLTkzLDYgKzkzLDE2IEBACj0yMAogLi4geXRfY29va2Jvb2s6OiBoc2VfZmll
bGQucHkKPTIwCitTbW9vdGhlZCBGaWVsZHMKK35+fn5+fn5+fn5+fn5+fgorCitUaGlzIHJlY2lw
ZSBkZW1vbnN0cmF0ZXMgaG93IHRvIGNyZWF0ZSBhIHNtb290aGVkIGZpZWxkLAorY29ycmVzcG9u
ZGluZyB0byBhIHVzZXItY3JlYXRlZCBkZXJpdmVkIGZpZWxkLCB1c2luZyB0aGUKKzptZXRoOmB+
eXQuZmllbGRzLnBhcnRpY2xlX2ZpZWxkcy5hZGRfdm9sdW1lX3dlaWdodGVkX3Ntb290aGVkX2Zp
ZWxkYCBtZXRoPQpvZC4KK1NlZSA6cmVmOmBnYWRnZXQtbm90ZWJvb2tgIGZvciBob3cgdG8gd29y
ayB3aXRoIEdhZGdldCBkYXRhLgorCisuLiB5dF9jb29rYm9vazo6IHNtb290aGVkX2ZpZWxkLnB5
CisKIFVzaW5nIFBhcnRpY2xlIEZpbHRlcnMgdG8gQ2FsY3VsYXRlIFN0YXIgRm9ybWF0aW9uIFJh
dGVzCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fgo9MjAKCmRpZmYgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWFjMGFjNTUyNmQ1ZTVhZGJi
OSAtciBiOGNlZGZlOWY3NjM5MGUwYTBjYmU1Mj0KOTliODRkNmI0MDc0NWVhOTEgZG9jL3NvdXJj
ZS9jb29rYm9vay9zbW9vdGhlZF9maWVsZC5weQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zb3Vy
Y2UvY29va2Jvb2svc21vb3RoZWRfZmllbGQucHkKQEAgLTAsMCArMSw0OCBAQAoraW1wb3J0IHl0
CisKKyMgTG9hZCBhIEdhZGdldCBkYXRhc2V0IGZvbGxvd2luZyB0aGUgZGVtb25zdHJhdGlvbiBu
b3RlYm9vay4KK2ZuYW1lID0zRCAnR2FkZ2V0RGlza0dhbGF4eS9zbmFwc2hvdF8yMDAuaGRmNScK
KwordW5pdF9iYXNlID0zRCB7J1VuaXRMZW5ndGhfaW5fY20nICAgICAgICAgOiAzLjA4NTY4ZSsy
MSwKKyAgICAgICAgICAgICAnVW5pdE1hc3NfaW5fZycgICAgICAgICAgICA6ICAgMS45ODllKzQz
LAorICAgICAgICAgICAgICdVbml0VmVsb2NpdHlfaW5fY21fcGVyX3MnIDogICAgICAxMDAwMDB9
CisKK2Jib3hfbGltID0zRCAxZTUgICMga3BjCisKK2Jib3ggPTNEIFtbLWJib3hfbGltLCBiYm94
X2xpbV0sCisgICAgICAgIFstYmJveF9saW0sIGJib3hfbGltXSwKKyAgICAgICAgWy1iYm94X2xp
bSwgYmJveF9saW1dXQorCitkcyA9M0QgeXQubG9hZChmbmFtZSwgdW5pdF9iYXNlPTNEdW5pdF9i
YXNlLCBib3VuZGluZ19ib3g9M0RiYm94KQorCisjIENyZWF0ZSBhIGRlcml2ZWQgZmllbGQsIHRo
ZSBtZXRhbCBkZW5zaXR5LgorZGVmIF9tZXRhbF9kZW5zaXR5KGZpZWxkLCBkYXRhKToKKyAgICBk
ZW5zaXR5ID0zRCBkYXRhWydQYXJ0VHlwZTAnLCAnRGVuc2l0eSddCisgICAgWiA9M0QgZGF0YVsn
UGFydFR5cGUwJywgJ21ldGFsbGljaXR5J10KKyAgICByZXR1cm4gZGVuc2l0eSAqIFoKKyAgID0y
MAorIyBBZGQgaXQgdG8gdGhlIGRhdGFzZXQuCitkcy5hZGRfZmllbGQoKCdQYXJ0VHlwZTAnLCAn
bWV0YWxfZGVuc2l0eScpLCBmdW5jdGlvbj0zRF9tZXRhbF9kZW5zaXR5LAorICAgICAgICAgICAg
IHVuaXRzPTNEImcvY20qKjMiLCBwYXJ0aWNsZV90eXBlPTNEVHJ1ZSkKKworCisjIEFkZCB0aGUg
Y29ycmVzcG9uZGluZyBzbW9vdGhlZCBmaWVsZCB0byB0aGUgZGF0YXNldC4KK2Zyb20geXQuZmll
bGRzLnBhcnRpY2xlX2ZpZWxkcyBpbXBvcnQgYWRkX3ZvbHVtZV93ZWlnaHRlZF9zbW9vdGhlZF9m
aWVsZAorCithZGRfdm9sdW1lX3dlaWdodGVkX3Ntb290aGVkX2ZpZWxkKCdQYXJ0VHlwZTAnLCAn
Q29vcmRpbmF0ZXMnLCAnTWFzc2VzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ1Ntb290aGluZ0xlbmd0aCcsICdEZW5zaXR5JywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ21ldGFsX2RlbnNpdHknLCBkcy5maWVsZF9pbmZvKQorCisjIERlZmluZSB0
aGUgcmVnaW9uIHdoZXJlIHRoZSBkaXNrIGdhbGF4eSBpcy4gKFNlZSB0aGUgR2FkZ2V0IG5vdGVi
b29rIGZvcgorIyBkZXRhaWxzLiBIZXJlIEkgbWFrZSB0aGUgYm94IGEgbGl0dGxlIGxhcmdlciB0
aGFuIG5lZWRlZCB0byBlbGltaW5hdGUgdGhlCisjIG1hcmdpbiBlZmZlY3QuKQorY2VudGVyID0z
RCBkcy5hcnIoWzMxOTk2LCAzMTQ3NCwgMjg5NzBdLCAiY29kZV9sZW5ndGgiKQorYm94X3NpemUg
PTNEIGRzLnF1YW4oMjUwLCAiY29kZV9sZW5ndGgiKQorbGVmdF9lZGdlID0zRCBjZW50ZXIgLSBi
b3hfc2l6ZS8yKjEuMQorcmlnaHRfZWRnZSA9M0QgY2VudGVyICsgYm94X3NpemUvMioxLjEKK2Jv
eCA9M0QgZHMuYm94KGxlZnRfZWRnZT0zRGxlZnRfZWRnZSwgcmlnaHRfZWRnZT0zRHJpZ2h0X2Vk
Z2UpCisKKyMgQW5kIG1ha2UgYSBwcm9qZWN0aW9uIHBsb3QhCit5dC5Qcm9qZWN0aW9uUGxvdChk
cywgJ3onLAorICAgICAgICAgICAgICAgICAgKCdkZXBvc2l0JywgJ1BhcnRUeXBlMF9zbW9vdGhl
ZF9tZXRhbF9kZW5zaXR5JyksCisgICAgICAgICAgICAgICAgICBjZW50ZXI9M0RjZW50ZXIsIHdp
ZHRoPTNEYm94X3NpemUsIGRhdGFfc291cmNlPTNEYm94KS5zYT0KdmUoKQoKZGlmZiAtciA2NDRk
YWQ0ZGU3MTY2MGYwOGRjYjg5YWMwYWM1NTI2ZDVlNWFkYmI5IC1yIGI4Y2VkZmU5Zjc2MzkwZTBh
MGNiZTUyPQo5OWI4NGQ2YjQwNzQ1ZWE5MSB5dC9kYXRhX29iamVjdHMvZGF0YV9jb250YWluZXJz
LnB5Ci0tLSBhL3l0L2RhdGFfb2JqZWN0cy9kYXRhX2NvbnRhaW5lcnMucHkKKysrIGIveXQvZGF0
YV9vYmplY3RzL2RhdGFfY29udGFpbmVycy5weQpAQCAtNDI2LDYgKzQyNiw0MyBAQAogICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgc2VsZi5pbmRleC5zYXZlX29iamVjdChzZWxmLCBuYW1lKQo9
MjAKKyAgICBkZWYgdG9fZGF0YWZyYW1lKHNlbGYsIGZpZWxkcyA9M0QgTm9uZSk6CisgICAgICAg
IHIiIiJFeHBvcnQgYSBkYXRhIG9iamVjdCB0byBhIHBhbmRhcyBEYXRhRnJhbWUuCisKKyAgICAg
ICAgVGhpcyBmdW5jdGlvbiB3aWxsIHRha2UgYSBkYXRhIG9iamVjdCBhbmQgY29uc3RydWN0IGZy
b20gaXQgYW5kCisgICAgICAgIG9wdGlvbmFsbHkgYSBsaXN0IG9mIGZpZWxkcyBhIHBhbmRhcyBE
YXRhRnJhbWUgb2JqZWN0LiAgSWYgcGFuZGFzID0KaXMKKyAgICAgICAgbm90IGltcG9ydGFibGUs
IHRoaXMgd2lsbCByYWlzZSBJbXBvcnRFcnJvci4KKworICAgICAgICBQYXJhbWV0ZXJzCisgICAg
ICAgIC0tLS0tLS0tLS0KKyAgICAgICAgZmllbGRzIDogbGlzdCBvZiBzdHJpbmdzIG9yIHR1cGxl
cywgZGVmYXVsdCBOb25lCisgICAgICAgICAgICBJZiB0aGlzIGlzIHN1cHBsaWVkLCBpdCBpcyB0
aGUgbGlzdCBvZiBmaWVsZHMgdG8gYmUgZXhwb3J0ZWQgaT0KbnRvCisgICAgICAgICAgICB0aGUg
ZGF0YSBmcmFtZS4gIElmIG5vdCBzdXBwbGllZCwgd2hhdGV2ZXIgZmllbGRzIHByZXNlbnRseSBl
eD0KaXN0CisgICAgICAgICAgICB3aWxsIGJlIHVzZWQuCisKKyAgICAgICAgUmV0dXJucworICAg
ICAgICAtLS0tLS0tCisgICAgICAgIGRmIDogRGF0YUZyYW1lCisgICAgICAgICAgICBUaGUgZGF0
YSBjb250YWluZWQgaW4gdGhlIG9iamVjdC4KKworICAgICAgICBFeGFtcGxlcworICAgICAgICAt
LS0tLS0tLQorCisgICAgICAgID4+PiBkZCA9M0QgZHMuYWxsX2RhdGEoKQorICAgICAgICA+Pj4g
ZGYxID0zRCBkZC50b19kYXRhZnJhbWUoWyJkZW5zaXR5IiwgInRlbXBlcmF0dXJlIl0pCisgICAg
ICAgID4+PiBkZFsidmVsb2NpdHlfbWFnbml0dWRlIl0KKyAgICAgICAgPj4+IGRmMiA9M0QgZGQu
dG9fZGF0YWZyYW1lKCkKKyAgICAgICAgIiIiCisgICAgICAgIGltcG9ydCBwYW5kYXMgYXMgcGQK
KyAgICAgICAgZGF0YSA9M0Qge30KKyAgICAgICAgaWYgZmllbGRzIGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgZm9yIGYgaW4gZmllbGRzOgorICAgICAgICAgICAgICAgIGRhdGFbZl0gPTNEIHNl
bGZbZl0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRhdGEudXBkYXRlKHNlbGYuZmllbGRf
ZGF0YSkKKyAgICAgICAgZGYgPTNEIHBkLkRhdGFGcmFtZShkYXRhKQorICAgICAgICByZXR1cm4g
ZGYKKwogICAgIGRlZiB0b19nbHVlKHNlbGYsIGZpZWxkcywgbGFiZWw9M0QieXQiLCBkYXRhX2Nv
bGxlY3Rpb249M0ROb25lKToKICAgICAgICAgIiIiCiAgICAgICAgIFRha2VzIHNwZWNpZmljICpm
aWVsZHMqIGluIHRoZSBjb250YWluZXIgYW5kIGV4cG9ydHMgdGhlbSB0bwoKZGlmZiAtciA2NDRk
YWQ0ZGU3MTY2MGYwOGRjYjg5YWMwYWM1NTI2ZDVlNWFkYmI5IC1yIGI4Y2VkZmU5Zjc2MzkwZTBh
MGNiZTUyPQo5OWI4NGQ2YjQwNzQ1ZWE5MSB5dC9kYXRhX29iamVjdHMvdW5zdHJ1Y3R1cmVkX21l
c2gucHkKLS0tIGEveXQvZGF0YV9vYmplY3RzL3Vuc3RydWN0dXJlZF9tZXNoLnB5CisrKyBiL3l0
L2RhdGFfb2JqZWN0cy91bnN0cnVjdHVyZWRfbWVzaC5weQpAQCAtNDYsMTAgKzQ2LDcgQEAKICAg
ICAgICAgIyBUaGlzIGlzIHdoZXJlIHdlIHNldCB1cCB0aGUgY29ubmVjdGl2aXR5IGluZm9ybWF0
aW9uCiAgICAgICAgIHNlbGYuY29ubmVjdGl2aXR5X2luZGljZXMgPTNEIGNvbm5lY3Rpdml0eV9p
bmRpY2VzCiAgICAgICAgIGlmIGNvbm5lY3Rpdml0eV9pbmRpY2VzLnNoYXBlWzFdICE9M0Qgc2Vs
Zi5fY29ubmVjdGl2aXR5X2xlbmd0aDoKLSAgICAgICAgICAgIGlmIHNlbGYuX2Nvbm5lY3Rpdml0
eV9sZW5ndGggPTNEPTNEIC0xOgotICAgICAgICAgICAgICAgIHNlbGYuX2Nvbm5lY3Rpdml0eV9s
ZW5ndGggPTNEIGNvbm5lY3Rpdml0eV9pbmRpY2VzLnNoYXBlWzFdCi0gICAgICAgICAgICBlbHNl
OgotICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgorICAgICAgICAgICAgcmFpc2Ug
UnVudGltZUVycm9yCiAgICAgICAgIHNlbGYuY29ubmVjdGl2aXR5X2Nvb3JkcyA9M0QgY29ubmVj
dGl2aXR5X2Nvb3JkcwogICAgICAgICBzZWxmLmRzID0zRCBpbmRleC5kYXRhc2V0CiAgICAgICAg
IHNlbGYuX2luZGV4ID0zRCBpbmRleApAQCAtOTMsMTQgKzkwLDggQEAKICAgICBkZWYgX2dlbmVy
YXRlX2NvbnRhaW5lcl9maWVsZChzZWxmLCBmaWVsZCk6CiAgICAgICAgIHJhaXNlIE5vdEltcGxl
bWVudGVkRXJyb3IKPTIwCi0gICAgZGVmIHNlbGVjdF9mY29vcmRzKHNlbGYsIGRvYmogPTNEIE5v
bmUpOgotICAgICAgICAjIFRoaXMgY29tcHV0ZXMgY2VudHJvaWRzIQotICAgICAgICBtYXNrID0z
RCBzZWxmLl9nZXRfc2VsZWN0b3JfbWFzayhkb2JqLnNlbGVjdG9yKQotICAgICAgICBpZiBtYXNr
IGlzIE5vbmU6IHJldHVybiBucC5lbXB0eSgoMCwzKSwgZHR5cGU9M0QnZmxvYXQ2NCcpCi0gICAg
ICAgIGNlbnRlcnMgPTNEIGZpbGxfZmNvb3JkcyhzZWxmLmNvbm5lY3Rpdml0eV9jb29yZHMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb25uZWN0aXZpdHlfaW5kaWNlcywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbmRleF9vZmZzZXQpCi0gICAg
ICAgIHJldHVybiBjZW50ZXJzW21hc2ssIDpdCisgICAgZGVmIHNlbGVjdF9mY29vcmRzKHNlbGYs
IGRvYmopOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCj0yMAogICAgIGRlZiBz
ZWxlY3RfZndpZHRoKHNlbGYsIGRvYmopOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVy
cm9yCkBAIC0xMzUsNyArMTI2LDcgQEAKICAgICAgICAgbWFzayA9M0Qgc2VsZi5fZ2V0X3NlbGVj
dG9yX21hc2soc2VsZWN0b3IpCiAgICAgICAgIGNvdW50ID0zRCBzZWxmLmNvdW50KHNlbGVjdG9y
KQogICAgICAgICBpZiBjb3VudCA9M0Q9M0QgMDogcmV0dXJuIDAKLSAgICAgICAgZGVzdFtvZmZz
ZXQ6b2Zmc2V0K2NvdW50XSA9M0Qgc291cmNlW21hc2ssLi4uXQorICAgICAgICBkZXN0W29mZnNl
dDpvZmZzZXQrY291bnRdID0zRCBzb3VyY2UuZmxhdFttYXNrXQogICAgICAgICByZXR1cm4gY291
bnQKPTIwCiAgICAgZGVmIGNvdW50KHNlbGYsIHNlbGVjdG9yKToKQEAgLTE1MiwyNSArMTQzLDYg
QEAKICAgICAgICAgbWFzayA9M0Qgc2VsZWN0b3Iuc2VsZWN0X3BvaW50cyh4LHkseiwgMC4wKQog
ICAgICAgICByZXR1cm4gbWFzawo9MjAKLSAgICBkZWYgX2dldF9zZWxlY3Rvcl9tYXNrKHNlbGYs
IHNlbGVjdG9yKToKLSAgICAgICAgaWYgaGFzaChzZWxlY3RvcikgPTNEPTNEIHNlbGYuX2xhc3Rf
c2VsZWN0b3JfaWQ6Ci0gICAgICAgICAgICBtYXNrID0zRCBzZWxmLl9sYXN0X21hc2sKLSAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuX2xhc3RfbWFzayA9M0QgbWFzayA9M0Qgc2VsZWN0
b3IuZmlsbF9tZXNoX2NlbGxfbWFzayhzZWxmKQotICAgICAgICAgICAgc2VsZi5fbGFzdF9zZWxl
Y3Rvcl9pZCA9M0QgaGFzaChzZWxlY3RvcikKLSAgICAgICAgICAgIGlmIG1hc2sgaXMgTm9uZToK
LSAgICAgICAgICAgICAgICBzZWxmLl9sYXN0X2NvdW50ID0zRCAwCi0gICAgICAgICAgICBlbHNl
OgotICAgICAgICAgICAgICAgIHNlbGYuX2xhc3RfY291bnQgPTNEIG1hc2suc3VtKCkKLSAgICAg
ICAgcmV0dXJuIG1hc2sKLQotICAgIGRlZiBzZWxlY3RfZmNvb3Jkc192ZXJ0ZXgoc2VsZiwgZG9i
aiA9M0QgTm9uZSk6Ci0gICAgICAgIG1hc2sgPTNEIHNlbGYuX2dldF9zZWxlY3Rvcl9tYXNrKGRv
Ymouc2VsZWN0b3IpCi0gICAgICAgIGlmIG1hc2sgaXMgTm9uZTogcmV0dXJuIG5wLmVtcHR5KCgw
LHNlbGYuX2Nvbm5lY3Rpdml0eV9sZW5ndGgsMyksID0KZHR5cGU9M0QnZmxvYXQ2NCcpCi0gICAg
ICAgIHZlcnRpY2VzID0zRCBzZWxmLmNvbm5lY3Rpdml0eV9jb29yZHNbCi0gICAgICAgICAgICAg
ICAgc2VsZi5jb25uZWN0aXZpdHlfaW5kaWNlcyAtIDFdCi0gICAgICAgIHJldHVybiB2ZXJ0aWNl
c1ttYXNrLCA6LCA6XQotCiBjbGFzcyBTZW1pU3RydWN0dXJlZE1lc2goVW5zdHJ1Y3R1cmVkTWVz
aCk6CiAgICAgX2Nvbm5lY3Rpdml0eV9sZW5ndGggPTNEIDgKICAgICBfdHlwZV9uYW1lID0zRCAn
c2VtaV9zdHJ1Y3R1cmVkX21lc2gnCkBAIC0xODksNiArMTYxLDE0IEBACiAgICAgICAgIGVsaWYg
ZmllbGQgPTNEPTNEICJkeiI6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY3VycmVudF9jaHVu
ay5md2lkdGhbOiwyXQo9MjAKKyAgICBkZWYgc2VsZWN0X2Zjb29yZHMoc2VsZiwgZG9iaiA9M0Qg
Tm9uZSk6CisgICAgICAgIG1hc2sgPTNEIHNlbGYuX2dldF9zZWxlY3Rvcl9tYXNrKGRvYmouc2Vs
ZWN0b3IpCisgICAgICAgIGlmIG1hc2sgaXMgTm9uZTogcmV0dXJuIG5wLmVtcHR5KCgwLDMpLCBk
dHlwZT0zRCdmbG9hdDY0JykKKyAgICAgICAgY2VudGVycyA9M0QgZmlsbF9mY29vcmRzKHNlbGYu
Y29ubmVjdGl2aXR5X2Nvb3JkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
LmNvbm5lY3Rpdml0eV9pbmRpY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYuX2luZGV4X29mZnNldCkKKyAgICAgICAgcmV0dXJuIGNlbnRlcnNbbWFzaywgOl0KKwogICAg
IGRlZiBzZWxlY3RfZndpZHRoKHNlbGYsIGRvYmopOgogICAgICAgICBtYXNrID0zRCBzZWxmLl9n
ZXRfc2VsZWN0b3JfbWFzayhkb2JqLnNlbGVjdG9yKQogICAgICAgICBpZiBtYXNrIGlzIE5vbmU6
IHJldHVybiBucC5lbXB0eSgoMCwzKSwgZHR5cGU9M0QnZmxvYXQ2NCcpCkBAIC0yMDksMyArMTg5
LDE1IEBACiAgICAgICAgIGR0LCB0ID0zRCBkb2JqLnNlbGVjdG9yLmdldF9kdF9tZXNoKHNlbGYs
IG1hc2suc3VtKCksIHNlbGYuX2luZGV4Xz0Kb2Zmc2V0KQogICAgICAgICByZXR1cm4gZHQsIHQK
PTIwCisgICAgZGVmIF9nZXRfc2VsZWN0b3JfbWFzayhzZWxmLCBzZWxlY3Rvcik6CisgICAgICAg
IGlmIGhhc2goc2VsZWN0b3IpID0zRD0zRCBzZWxmLl9sYXN0X3NlbGVjdG9yX2lkOgorICAgICAg
ICAgICAgbWFzayA9M0Qgc2VsZi5fbGFzdF9tYXNrCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBzZWxmLl9sYXN0X21hc2sgPTNEIG1hc2sgPTNEIHNlbGVjdG9yLmZpbGxfbWVzaF9jZWxsX21h
c2soc2VsZikKKyAgICAgICAgICAgIHNlbGYuX2xhc3Rfc2VsZWN0b3JfaWQgPTNEIGhhc2goc2Vs
ZWN0b3IpCisgICAgICAgICAgICBpZiBtYXNrIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgc2Vs
Zi5fbGFzdF9jb3VudCA9M0QgMAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBz
ZWxmLl9sYXN0X2NvdW50ID0zRCBtYXNrLnN1bSgpCisgICAgICAgIHJldHVybiBtYXNrCisKCmRp
ZmYgLXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWFjMGFjNTUyNmQ1ZTVhZGJiOSAtciBiOGNlZGZl
OWY3NjM5MGUwYTBjYmU1Mj0KOTliODRkNmI0MDc0NWVhOTEgeXQvZnJvbnRlbmRzL3N0cmVhbS9p
by5weQotLS0gYS95dC9mcm9udGVuZHMvc3RyZWFtL2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9z
dHJlYW0vaW8ucHkKQEAgLTI1NSwzNiArMjU1LDMgQEAKICAgICAgICAgICAgICAgICAgICAgICAg
IHN1YnNldC5kb21haW5faWQgLSBzdWJzZXQuX2RvbWFpbl9vZmZzZXRdW2ZpZWxkXQogICAgICAg
ICAgICAgICAgIHN1YnNldC5maWxsKGZpZWxkX3ZhbHMsIHJ2LCBzZWxlY3RvciwgaW5kKQogICAg
ICAgICByZXR1cm4gcnYKLQotY2xhc3MgSU9IYW5kbGVyU3RyZWFtVW5zdHJ1Y3R1cmVkKEJhc2VJ
T0hhbmRsZXIpOgotICAgIF9kYXRhc2V0X3R5cGUgPTNEICJzdHJlYW1fdW5zdHJ1Y3R1cmVkIgot
ICAgIF9ub2RlX3R5cGVzID0zRCAoImRpZmZ1c2VkIiwgImNvbnZlY3RlZCIpCi0KLSAgICBkZWYg
X19pbml0X18oc2VsZiwgZHMpOgotICAgICAgICBzZWxmLmZpZWxkcyA9M0QgZHMuc3RyZWFtX2hh
bmRsZXIuZmllbGRzCi0gICAgICAgIHN1cGVyKElPSGFuZGxlclN0cmVhbVVuc3RydWN0dXJlZCwg
c2VsZikuX19pbml0X18oZHMpCi0KLSAgICBkZWYgX3JlYWRfZmx1aWRfc2VsZWN0aW9uKHNlbGYs
IGNodW5rcywgc2VsZWN0b3IsIGZpZWxkcywgc2l6ZSk6Ci0gICAgICAgIGNodW5rcyA9M0QgbGlz
dChjaHVua3MpCi0gICAgICAgIGNodW5rID0zRCBjaHVua3NbMF0KLSAgICAgICAgcnYgPTNEIHt9
Ci0gICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZHM6Ci0gICAgICAgICAgICBmdHlwZSwgZm5hbWUg
PTNEIGZpZWxkCi0gICAgICAgICAgICBpZiBmbmFtZSBpbiBzZWxmLl9ub2RlX3R5cGVzOgotICAg
ICAgICAgICAgICAgIHJ2W2ZpZWxkXSA9M0QgbnAuZW1wdHkoKHNpemUsIDgpLCBkdHlwZT0zRCJm
bG9hdDY0IikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcnZbZmllbGRdID0z
RCBucC5lbXB0eShzaXplLCBkdHlwZT0zRCJmbG9hdDY0IikKLSAgICAgICAgbmdyaWRzID0zRCBz
dW0obGVuKGNodW5rLm9ianMpIGZvciBjaHVuayBpbiBjaHVua3MpCi0gICAgICAgIG15bG9nLmRl
YnVnKCJSZWFkaW5nICVzIGNlbGxzIG9mICVzIGZpZWxkcyBpbiAlcyBibG9ja3MiLAotICAgICAg
ICAgICAgICAgICAgICBzaXplLCBbZm5hbWUgZm9yIGZ0eXBlLCBmbmFtZSBpbiBmaWVsZHNdLCBu
Z3JpZHMpCi0gICAgICAgIGZvciBmaWVsZCBpbiBmaWVsZHM6Ci0gICAgICAgICAgICBpbmQgPTNE
IDAKLSAgICAgICAgICAgIGZ0eXBlLCBmbmFtZSA9M0QgZmllbGQKLSAgICAgICAgICAgIGZvciBj
aHVuayBpbiBjaHVua3M6Ci0gICAgICAgICAgICAgICAgZm9yIGcgaW4gY2h1bmsub2JqczoKLSAg
ICAgICAgICAgICAgICAgICAgZHMgPTNEIHNlbGYuZmllbGRzW2cubWVzaF9pZF0uZ2V0KGZpZWxk
LCBOb25lKQotICAgICAgICAgICAgICAgICAgICBpZiBkcyBpcyBOb25lOgotICAgICAgICAgICAg
ICAgICAgICAgICAgZHMgPTNEIHNlbGYuZmllbGRzW2cubWVzaF9pZF1bZm5hbWVdCi0gICAgICAg
ICAgICAgICAgICAgIGluZCArPTNEIGcuc2VsZWN0KHNlbGVjdG9yLCBkcywgcnZbZmllbGRdLCBp
bmQpICMgY2FjaD0KZXMKLSAgICAgICAgcmV0dXJuIHJ2Ci0KCmRpZmYgLXIgNjQ0ZGFkNGRlNzE2
NjBmMDhkY2I4OWFjMGFjNTUyNmQ1ZTVhZGJiOSAtciBiOGNlZGZlOWY3NjM5MGUwYTBjYmU1Mj0K
OTliODRkNmI0MDc0NWVhOTEgeXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVzaWFuX2Nvb3Jk
aW5hdGVzLnB5Ci0tLSBhL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9jb29yZGlu
YXRlcy5weQorKysgYi95dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0ZXNpYW5fY29vcmRpbmF0
ZXMucHkKQEAgLTE4LDEwICsxOCw4IEBACiBmcm9tIC5jb29yZGluYXRlX2hhbmRsZXIgaW1wb3J0
IFwKICAgICBDb29yZGluYXRlSGFuZGxlciwgXAogICAgIF91bmtub3duX2Nvb3JkLCBcCi0gICAg
X2dldF9jb29yZF9maWVsZHMsIFwKLSAgICBfZ2V0X3ZlcnRfZmllbGRzCisgICAgX2dldF9jb29y
ZF9maWVsZHMKIGltcG9ydCB5dC52aXN1YWxpemF0aW9uLl9NUEwgYXMgX01QTAotZnJvbSB5dC5m
aWVsZHMuZGVyaXZlZF9maWVsZCBpbXBvcnQgTnVsbEZ1bmMKPTIwCiBjbGFzcyBDYXJ0ZXNpYW5D
b29yZGluYXRlSGFuZGxlcihDb29yZGluYXRlSGFuZGxlcik6Cj0yMApAQCAtNDAsMTAgKzM4LDYg
QEAKICAgICAgICAgICAgIHJlZ2lzdHJ5LmFkZF9maWVsZCgoImluZGV4IiwgIiVzIiAlIGF4KSwg
ZnVuY3Rpb24gPTNEIGYyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlf
ZmllbGQgPTNEIEZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXRzID0z
RCAiY29kZV9sZW5ndGgiKQotICAgICAgICAgICAgZjMgPTNEIF9nZXRfdmVydF9maWVsZHMoYXhp
KQotICAgICAgICAgICAgcmVnaXN0cnkuYWRkX2ZpZWxkKCgiaW5kZXgiLCAidmVydGV4XyVzIiAl
IGF4KSwgZnVuY3Rpb24gPTNEIGY9CjMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGlzcGxheV9maWVsZCA9M0QgRmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5pdHMgPTNEICJjb2RlX2xlbmd0aCIpCiAgICAgICAgIGRlZiBfY2VsbF92b2x1bWUoZmllbGQs
IGRhdGEpOgogICAgICAgICAgICAgcnYgID0zRCBkYXRhWyJpbmRleCIsICJkeCJdLmNvcHkob3Jk
ZXI9M0QnSycpCiAgICAgICAgICAgICBydiAqPTNEIGRhdGFbImluZGV4IiwgImR5Il0KCmRpZmYg
LXIgNjQ0ZGFkNGRlNzE2NjBmMDhkY2I4OWFjMGFjNTUyNmQ1ZTVhZGJiOSAtciBiOGNlZGZlOWY3
NjM5MGUwYTBjYmU1Mj0KOTliODRkNmI0MDc0NWVhOTEgeXQvZ2VvbWV0cnkvZ2VvbWV0cnlfaGFu
ZGxlci5weQotLS0gYS95dC9nZW9tZXRyeS9nZW9tZXRyeV9oYW5kbGVyLnB5CisrKyBiL3l0L2dl
b21ldHJ5L2dlb21ldHJ5X2hhbmRsZXIucHkKQEAgLTQwMiwyMCArNDAyLDYgQEAKICAgICAgICAg
ICAgIGluZCArPTNEIGd0LnNpemUKICAgICAgICAgcmV0dXJuIGNkdAo9MjAKLSAgICBAY2FjaGVk
X3Byb3BlcnR5Ci0gICAgZGVmIGZjb29yZHNfdmVydGV4KHNlbGYpOgotICAgICAgICBjaSA9M0Qg
bnAuZW1wdHkoKHNlbGYuZGF0YV9zaXplLCA4LCAzKSwgZHR5cGU9M0QnZmxvYXQ2NCcpCi0gICAg
ICAgIGNpID0zRCBZVEFycmF5KGNpLCBpbnB1dF91bml0cyA9M0QgImNvZGVfbGVuZ3RoIiwKLSAg
ICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5ID0zRCBzZWxmLmRvYmouZHMudW5pdF9yZWdpc3Ry
eSkKLSAgICAgICAgaWYgc2VsZi5kYXRhX3NpemUgPTNEPTNEIDA6IHJldHVybiBjaQotICAgICAg
ICBpbmQgPTNEIDAKLSAgICAgICAgZm9yIG9iaiBpbiBzZWxmLm9ianM6Ci0gICAgICAgICAgICBj
ID0zRCBvYmouc2VsZWN0X2Zjb29yZHNfdmVydGV4KHNlbGYuZG9iaikKLSAgICAgICAgICAgIGlm
IGMuc2hhcGVbMF0gPTNEPTNEIDA6IGNvbnRpbnVlCi0gICAgICAgICAgICBjaVtpbmQ6aW5kK2Mu
c2hhcGVbMF0sIDosIDpdID0zRCBjCi0gICAgICAgICAgICBpbmQgKz0zRCBjLnNoYXBlWzBdCi0g
ICAgICAgIHJldHVybiBjaQotCiBjbGFzcyBDaHVua0RhdGFDYWNoZShvYmplY3QpOgogICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBiYXNlX2l0ZXIsIHByZWxvYWRfZmllbGRzLCBnZW9tZXRyeV9oYW5k
bGVyLAogICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoID0zRCAyNTYpOgoKZGlmZiAtciA2NDRk
YWQ0ZGU3MTY2MGYwOGRjYjg5YWMwYWM1NTI2ZDVlNWFkYmI5IC1yIGI4Y2VkZmU5Zjc2MzkwZTBh
MGNiZTUyPQo5OWI4NGQ2YjQwNzQ1ZWE5MSB5dC9zYW1wbGVfZGF0YS9zYW1wbGVfYW1yX2luZGV4
LnB5Ci0tLSAvZGV2L251bGwKKysrIGIveXQvc2FtcGxlX2RhdGEvc2FtcGxlX2Ftcl9pbmRleC5w
eQpAQCAtMCwwICsxLDIwNSBAQAorIyBUaGlzIGlzIGFuIGV4cG9ydCBvZiB0aGUgNDAgZ3JpZHMg
aW4gSXNvbGF0ZWRHYWxheHkgdGhhdCBhcmUgb2YgbGV2ZWwgNCA9Cm9yCisjIGxvd2VyLiAgSXQn
cyBqdXN0IGRlc2lnbmVkIHRvIGdpdmUgYSBzYW1wbGUgQU1SIGluZGV4IHRvIGRlYWwgd2l0aC4K
K19hbXJfZ3JpZF9pbmRleCA9M0QgWworIFsgMCwKKyAgWzAuMCwwLjAsMC4wXSwKKyAgWzEuMCwx
LjAsMS4wXSwKKyAgWzMyLDMyLDMyXSwKKyBdLAorIFsgMSwKKyAgWzAuMjUsMC4yMTg3NSwwLjI1
XSwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzE2LDE4LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuNSww
LjIxODc1LDAuMjVdLAorICBbMC43NSwwLjUsMC41XSwKKyAgWzE2LDE4LDE2XSwKKyBdLAorIFsg
MSwKKyAgWzAuMjE4NzUsMC41LDAuMjVdLAorICBbMC41LDAuNzUsMC41XSwKKyAgWzE4LDE2LDE2
XSwKKyBdLAorIFsgMSwKKyAgWzAuNSwwLjUsMC4yNV0sCisgIFswLjc1LDAuNzUsMC41XSwKKyAg
WzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuMjUsMC4yNSwwLjVdLAorICBbMC41LDAuNSww
Ljc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuNSwwLjI1LDAuNV0sCisgIFsw
Ljc1LDAuNSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAuMjUsMC41LDAu
NV0sCisgIFswLjUsMC43NSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsgMSwKKyAgWzAu
NSwwLjUsMC41XSwKKyAgWzAuNzUsMC43NSwwLjc1XSwKKyAgWzE2LDE2LDE2XSwKKyBdLAorIFsg
MiwKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzAuNzE4NzUsMC43MTg3NSwwLjcxODc1XSwKKyAgWzI4
LDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuNSwwLjUsMC41XSwKKyAgWzAuNjY0MDYyNSwwLjY1
NjI1LDAuNjc5Njg3NV0sCisgIFs0Miw0MCw0Nl0sCisgXSwKKyBbIDQsCisgIFswLjUsMC41LDAu
NV0sCisgIFswLjU5NzY1NjI1LDAuNjAxNTYyNSwwLjYwMTU2MjVdLAorICBbNTAsNTIsNTJdLAor
IF0sCisgWyAyLAorICBbMC4yODEyNSwwLjUsMC41XSwKKyAgWzAuNSwwLjczNDM3NSwwLjcxODc1
XSwKKyAgWzI4LDMwLDI4XSwKKyBdLAorIFsgMywKKyAgWzAuMzM1OTM3NSwwLjUsMC41XSwKKyAg
WzAuNSwwLjY3MTg3NSwwLjY2NDA2MjVdLAorICBbNDIsNDQsNDJdLAorIF0sCisgWyA0LAorICBb
MC40MDYyNSwwLjUsMC41XSwKKyAgWzAuNSwwLjU5NzY1NjI1LDAuNTk3NjU2MjVdLAorICBbNDgs
NTAsNTBdLAorIF0sCisgWyAyLAorICBbMC41LDAuMjgxMjUsMC41XSwKKyAgWzAuNzE4NzUsMC41
LDAuNzE4NzVdLAorICBbMjgsMjgsMjhdLAorIF0sCisgWyAzLAorICBbMC41LDAuMzM1OTM3NSww
LjVdLAorICBbMC42NzE4NzUsMC41LDAuNjY0MDYyNV0sCisgIFs0NCw0Miw0Ml0sCisgXSwKKyBb
IDQsCisgIFswLjUsMC40MDYyNSwwLjVdLAorICBbMC42MDE1NjI1LDAuNSwwLjU5NzY1NjI1XSwK
KyAgWzUyLDQ4LDUwXSwKKyBdLAorIFsgMiwKKyAgWzAuMjgxMjUsMC4yODEyNSwwLjVdLAorICBb
MC41LDAuNSwwLjcxODc1XSwKKyAgWzI4LDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuMzM1OTM3
NSwwLjMzNTkzNzUsMC41XSwKKyAgWzAuNSwwLjUsMC42NzE4NzVdLAorICBbNDIsNDIsNDRdLAor
IF0sCisgWyA0LAorICBbMC40NjQ4NDM3NSwwLjM3ODkwNjI1LDAuNTAzOTA2MjVdLAorICBbMC40
NzY1NjI1LDAuMzkwNjI1LDAuNTE1NjI1XSwKKyAgWzYsNiw2XSwKKyBdLAorIFsgNCwKKyAgWzAu
NDA2MjUsMC40MDYyNSwwLjVdLAorICBbMC41LDAuNSwwLjU5NzY1NjI1XSwKKyAgWzQ4LDQ4LDUw
XSwKKyBdLAorIFsgMiwKKyAgWzAuNSwwLjUsMC4yODEyNV0sCisgIFswLjcxODc1LDAuNzE4NzUs
MC41XSwKKyAgWzI4LDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuNSwwLjUsMC4zMzU5Mzc1XSwK
KyAgWzAuNjc5Njg3NSwwLjY5NTMxMjUsMC41XSwKKyAgWzQ2LDUwLDQyXSwKKyBdLAorIFsgNCwK
KyAgWzAuNSwwLjUsMC40MDIzNDM3NV0sCisgIFswLjU5Mzc1LDAuNjAxNTYyNSwwLjVdLAorICBb
NDgsNTIsNTBdLAorIF0sCisgWyAyLAorICBbMC4yNjU2MjUsMC41LDAuMjgxMjVdLAorICBbMC41
LDAuNzE4NzUsMC41XSwKKyAgWzMwLDI4LDI4XSwKKyBdLAorIFsgMywKKyAgWzAuMzM1OTM3NSww
LjUsMC4zMjgxMjVdLAorICBbMC41LDAuNjU2MjUsMC41XSwKKyAgWzQyLDQwLDQ0XSwKKyBdLAor
IFsgNCwKKyAgWzAuNDAyMzQzNzUsMC41LDAuNDA2MjVdLAorICBbMC41LDAuNjA1NDY4NzUsMC41
XSwKKyAgWzUwLDU0LDQ4XSwKKyBdLAorIFsgMiwKKyAgWzAuNSwwLjI2NTYyNSwwLjI4MTI1XSwK
KyAgWzAuNzE4NzUsMC41LDAuNV0sCisgIFsyOCwzMCwyOF0sCisgXSwKKyBbIDMsCisgIFswLjUs
MC4zMjAzMTI1LDAuMzI4MTI1XSwKKyAgWzAuNjY0MDYyNSwwLjUsMC41XSwKKyAgWzQyLDQ2LDQ0
XSwKKyBdLAorIFsgNCwKKyAgWzAuNSwwLjM5ODQzNzUsMC40MDYyNV0sCisgIFswLjU0Njg3NSww
LjUsMC41XSwKKyAgWzI0LDUyLDQ4XSwKKyBdLAorIFsgNCwKKyAgWzAuNTQ2ODc1LDAuNDE3OTY4
NzUsMC40NDUzMTI1XSwKKyAgWzAuNTYyNSwwLjQzNzUsMC41XSwKKyAgWzgsMTAsMjhdLAorIF0s
CisgWyA0LAorICBbMC41NDY4NzUsMC40NTMxMjUsMC40MTc5Njg3NV0sCisgIFswLjU1NDY4NzUs
MC40ODA0Njg3NSwwLjQzNzVdLAorICBbNCwxNCwxMF0sCisgXSwKKyBbIDQsCisgIFswLjU0Njg3
NSwwLjQzNzUsMC40Mzc1XSwKKyAgWzAuNjA5Mzc1LDAuNSwwLjVdLAorICBbMzIsMzIsMzJdLAor
IF0sCisgWyA0LAorICBbMC41NDY4NzUsMC40OTIxODc1LDAuNDE3OTY4NzVdLAorICBbMC41NjY0
MDYyNSwwLjUsMC40Mzc1XSwKKyAgWzEwLDQsMTBdLAorIF0sCisgWyA0LAorICBbMC41NDY4NzUs
MC40ODA0Njg3NSwwLjQxNzk2ODc1XSwKKyAgWzAuNTcwMzEyNSwwLjQ5MjE4NzUsMC40Mzc1XSwK
KyAgWzEyLDYsMTBdLAorIF0sCisgWyA0LAorICBbMC41NTg1OTM3NSwwLjQ2ODc1LDAuNDMzNTkz
NzVdLAorICBbMC41NzAzMTI1LDAuNDgwNDY4NzUsMC40Mzc1XSwKKyAgWzYsNiwyXSwKKyBdLAor
IFsgMiwKKyAgWzAuMjY1NjI1LDAuMjgxMjUsMC4yODEyNV0sCisgIFswLjUsMC41LDAuNV0sCisg
IFszMCwyOCwyOF0sCisgXSwKKyBbIDMsCisgIFswLjMyODEyNSwwLjMzNTkzNzUsMC4zMjgxMjVd
LAorICBbMC41LDAuNSwwLjVdLAorICBbNDQsNDIsNDRdLAorIF0sCisgWyA0LAorICBbMC40MTQw
NjI1LDAuNDA2MjUsMC40MDYyNV0sCisgIFswLjUsMC41LDAuNV0sCisgIFs0NCw0OCw0OF0sCisg
XSwKK10KKwoKVGhpcyBkaWZmIGlzIHNvIGJpZyB0aGF0IHdlIG5lZWRlZCB0byB0cnVuY2F0ZSB0
aGUgcmVtYWluZGVyLgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvYWZjNDk0NzM2N2ExLwpDaGFuZ2VzZXQ6ICAgYWZjNDk0NzM2N2ExCkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA4LTAzIDE1OjQ2OjQ4
KzAwOjAwClN1bW1hcnk6ICAgICBVcGRhdGUgdXBzdHJlYW0KQWZmZWN0ZWQgIzogIDYgZmlsZXMK
CmRpZmYgLXIgYjhjZWRmZTlmNzYzOTBlMGEwY2JlNTI5OWI4NGQ2YjQwNzQ1ZWE5MSAtciBhZmM0
OTQ3MzY3YTFkN2EwYzJlYTA2Nz0KYmNhYjQ4ZGY2YjFiYTIyYTYgeXQvdW5pdHMvdGVzdHMvdGVz
dF95dGFycmF5LnB5Ci0tLSBhL3l0L3VuaXRzL3Rlc3RzL3Rlc3RfeXRhcnJheS5weQorKysgYi95
dC91bml0cy90ZXN0cy90ZXN0X3l0YXJyYXkucHkKQEAgLTYzMSw3ICs2MzEsNyBAQAogICAgICAg
ICAjIEluLXBsYWNlIGNvcGllcyBkbyBub3QgZHJvcCB1bml0cy4KICAgICAgICAgYXNzZXJ0X3Ry
dWUoaGFzYXR0cihvdXQsICd1bml0cycpKQogICAgICAgICBhc3NlcnRfdHJ1ZShub3QgaGFzYXR0
cihyZXQsICd1bml0cycpKQotICAgIGVsaWYgdWZ1bmMgaW4gKG5wLmFic29sdXRlLCBucC5jb25q
dWdhdGUsIG5wLmZsb29yLCBucC5jZWlsLAorICAgIGVsaWYgdWZ1bmMgaW4gKG5wLmFic29sdXRl
LCBucC5mYWJzLCBucC5jb25qdWdhdGUsIG5wLmZsb29yLCBucC5jZWlsLAogICAgICAgICAgICAg
ICAgICAgIG5wLnRydW5jLCBucC5uZWdhdGl2ZSk6CiAgICAgICAgIHJldCA9M0QgdWZ1bmMoYSwg
b3V0PTNEb3V0KQo9MjAKCmRpZmYgLXIgYjhjZWRmZTlmNzYzOTBlMGEwY2JlNTI5OWI4NGQ2YjQw
NzQ1ZWE5MSAtciBhZmM0OTQ3MzY3YTFkN2EwYzJlYTA2Nz0KYmNhYjQ4ZGY2YjFiYTIyYTYgeXQv
dW5pdHMveXRfYXJyYXkucHkKLS0tIGEveXQvdW5pdHMveXRfYXJyYXkucHkKKysrIGIveXQvdW5p
dHMveXRfYXJyYXkucHkKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBncmVhdGVyLCBncmVhdGVyX2Vx
dWFsLCBsZXNzLCBsZXNzX2VxdWFsLCBub3RfZXF1YWwsIGVxdWFsLCBsb2dpY2FsX2FuPQpkLCBc
CiAgICAgbG9naWNhbF9vciwgbG9naWNhbF94b3IsIGxvZ2ljYWxfbm90LCBtYXhpbXVtLCBtaW5p
bXVtLCBpc3JlYWwsIGlzY29tcD0KbGV4LCBcCiAgICAgaXNmaW5pdGUsIGlzaW5mLCBpc25hbiwg
c2lnbmJpdCwgY29weXNpZ24sIG5leHRhZnRlciwgbW9kZiwgZnJleHAsIFwKLSAgICBmbG9vciwg
Y2VpbCwgdHJ1bmMsIGZtYXgsIGZtaW4KKyAgICBmbG9vciwgY2VpbCwgdHJ1bmMsIGZtYXgsIGZt
aW4sIGZhYnMKPTIwCiBmcm9tIHl0LnVuaXRzLnVuaXRfb2JqZWN0IGltcG9ydCBVbml0LCBVbml0
UGFyc2VFcnJvcgogZnJvbSB5dC51bml0cy51bml0X3JlZ2lzdHJ5IGltcG9ydCBVbml0UmVnaXN0
cnkKQEAgLTEzOSw3ICsxMzksNyBAQAogICAgIGxvZzEwLCBleHBtMSwgbG9nMXAsIHNxcnQsIHNx
dWFyZSwgcmVjaXByb2NhbCwgc2luLCBjb3MsIHRhbiwgYXJjc2luLAogICAgIGFyY2NvcywgYXJj
dGFuLCBzaW5oLCBjb3NoLCB0YW5oLCBhcmNzaW5oLCBhcmNjb3NoLCBhcmN0YW5oLCBkZWcycmFk
LAogICAgIHJhZDJkZWcsIGxvZ2ljYWxfbm90LCBpc3JlYWwsIGlzY29tcGxleCwgaXNmaW5pdGUs
IGlzaW5mLCBpc25hbiwKLSAgICBzaWduYml0LCBmbG9vciwgY2VpbCwgdHJ1bmMsIG1vZGYsIGZy
ZXhwLAorICAgIHNpZ25iaXQsIGZsb29yLCBjZWlsLCB0cnVuYywgbW9kZiwgZnJleHAsIGZhYnMK
ICkKPTIwCiBiaW5hcnlfb3BlcmF0b3JzID0zRCAoCkBAIC0yMjMsNiArMjIzLDcgQEAKICAgICAg
ICAgbW9kOiBwcmVzZXJ2ZV91bml0cywKICAgICAgICAgZm1vZDogcHJlc2VydmVfdW5pdHMsCiAg
ICAgICAgIGFic29sdXRlOiBwYXNzdGhyb3VnaF91bml0LAorICAgICAgICBmYWJzOiBwYXNzdGhy
b3VnaF91bml0LAogICAgICAgICByaW50OiByZXR1cm5fd2l0aG91dF91bml0LAogICAgICAgICBz
aWduOiByZXR1cm5fd2l0aG91dF91bml0LAogICAgICAgICBjb25qOiBwYXNzdGhyb3VnaF91bml0
LApAQCAtMTA3Miw3ICsxMDczLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bml0LmJhc2VfdmFsdWUsIG91dD0zRG91dF9hcnIpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5pdCA9M0QgVW5pdChyZWdpc3RyeT0zRHVuaXQucmVnaXN0cnkpCiAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIk9wZXJhdGlvbiBpcyBu
b3QgZGVmaW5lZC4iKQorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJTdXBwb3J0IGZv
ciB0aGUgJXMgdWZ1bmMgaGFzIG5vdCBiZWVuIGFkZGU9CmQgIgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0byBZVEFycmF5LiIgJSBzdHIoY29udGV4dFswXSkpCiAgICAgICAgIGlm
IHVuaXQgaXMgTm9uZToKICAgICAgICAgICAgIG91dF9hcnIgPTNEIG5wLmFycmF5KG91dF9hcnIs
IGNvcHk9M0RGYWxzZSkKICAgICAgICAgICAgIHJldHVybiBvdXRfYXJyCgpkaWZmIC1yIGI4Y2Vk
ZmU5Zjc2MzkwZTBhMGNiZTUyOTliODRkNmI0MDc0NWVhOTEgLXIgYWZjNDk0NzM2N2ExZDdhMGMy
ZWEwNjc9CmJjYWI0OGRmNmIxYmEyMmE2IHl0L3V0aWxpdGllcy9weXBhcnNlbGliY29uZmlnL2xp
YmNvbmZpZy5weQotLS0gYS95dC91dGlsaXRpZXMvcHlwYXJzZWxpYmNvbmZpZy9saWJjb25maWcu
cHkKKysrIGIveXQvdXRpbGl0aWVzL3B5cGFyc2VsaWJjb25maWcvbGliY29uZmlnLnB5CkBAIC0x
LDkgKzEsOSBAQAogZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgo9MjAKICMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tPQotLS0tCi0jIENvcHlyaWdodCAoYykgMjAxMywgU2FtdWVsIFNraWxs
bWFuPTIwCisjIENvcHlyaWdodCAoYykgMjAxMywgeXQgRGV2ZWxvcG1lbnQgVGVhbQogIwotIyBE
aXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBMaWNlbnNlLgorIyBEaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgogIwogIyBU
aGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3
aXRoIHRoaXMgc29mdHc9CmFyZS4KICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCgpkaWZmIC1yIGI4
Y2VkZmU5Zjc2MzkwZTBhMGNiZTUyOTliODRkNmI0MDc0NWVhOTEgLXIgYWZjNDk0NzM2N2ExZDdh
MGMyZWEwNjc9CmJjYWI0OGRmNmIxYmEyMmE2IHl0L3V0aWxpdGllcy9xdWFudGl0aWVzLnB5Ci0t
LSBhL3l0L3V0aWxpdGllcy9xdWFudGl0aWVzLnB5CisrKyBiL3l0L3V0aWxpdGllcy9xdWFudGl0
aWVzLnB5CkBAIC0xLDMwICsxLDE4IEBACiAiIiIKLVF1YW50aXRpZXMgLS0gZmxvYXRzIHdpdGgg
dW5pdHMuCitTb21lIG9sZCBmaWVsZCBuYW1lcy4KPTIwCi1BdXRob3I6IENhc2V5IFcuIFN0YXJr
IDxjYXNleXdzdGFya0BnbWFpbC5jb20+Ci1BZmZpbGlhdGlvbjogVUMgQmVya2VsZXkKPTIwCi1I
b21lcGFnZTogaHR0cDovL3l0LXByb2plY3Qub3JnLwotTGljZW5zZToKLSAgQ29weXJpZ2h0IChD
KSAyMDEzIENhc2V5IFcuIFN0YXJrLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotICBUaGlzIGZp
bGUgaXMgcGFydCBvZiB5dC4KLQotICB5dCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0gIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgVGhpcyBwcm9ncmFtIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUKLSAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQot
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRw
Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KPTIwCiAiIiIKPTIwCisjLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LT0KLS0tLQorIyBDb3B5cmlnaHQgKGMpIDIwMTMsIHl0IERldmVsb3BtZW50IFRlYW0uCisjCisj
IERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTW9kaWZpZWQgQlNEIExpY2Vuc2Uu
CisjCisjIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3Ry
aWJ1dGVkIHdpdGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KKwog
aW1wb3J0IG51bXB5IGFzIG5wCj0yMAogZnJvbSB5dC51bml0cy55dF9hcnJheSBpbXBvcnQgWVRB
cnJheQoKZGlmZiAtciBiOGNlZGZlOWY3NjM5MGUwYTBjYmU1Mjk5Yjg0ZDZiNDA3NDVlYTkxIC1y
IGFmYzQ5NDczNjdhMWQ3YTBjMmVhMDY3PQpiY2FiNDhkZjZiMWJhMjJhNiB5dC91dGlsaXRpZXMv
dGVzdHMvdGVzdF9maXRzX2ltYWdlLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy90ZXN0cy90ZXN0X2Zp
dHNfaW1hZ2UucHkKKysrIGIveXQvdXRpbGl0aWVzL3Rlc3RzL3Rlc3RfZml0c19pbWFnZS5weQpA
QCAtMTcsNyArMTcsNyBAQAogaW1wb3J0IG9zCiBpbXBvcnQgbnVtcHkgYXMgbnAKIGltcG9ydCBz
aHV0aWwKLWZyb20geXQudGVzdGluZyBpbXBvcnQgZmFrZV9yYW5kb21fZHMKK2Zyb20geXQudGVz
dGluZyBpbXBvcnQgZmFrZV9yYW5kb21fZHMsIHJlcXVpcmVzX21vZHVsZQogZnJvbSB5dC5jb252
ZW5pZW5jZSBpbXBvcnQgbG9hZAogZnJvbSBudW1weS50ZXN0aW5nIGltcG9ydCBcCiAgICAgYXNz
ZXJ0X2VxdWFsCkBAIC0yOSw2ICsyOSw4IEBACiBmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1l
X3JlbmRlcmluZy5jYW1lcmEgaW1wb3J0IFwKICAgICBvZmZfYXhpc19wcm9qZWN0aW9uCj0yMAor
CitAcmVxdWlyZXNfbW9kdWxlKCJhc3Ryb3B5IikKIGRlZiB0ZXN0X2ZpdHNfaW1hZ2UoKToKICAg
ICB0bXBkaXIgPTNEIHRlbXBmaWxlLm1rZHRlbXAoKQogICAgIGN1cmRpciA9M0Qgb3MuZ2V0Y3dk
KCkKQEAgLTg3LDcgKzg5LDcgQEAKICAgICBjdXRfZnJiID0zRCBjdXQudG9fZnJiKCgwLjUsICJ1
bml0YXJ5IiksIDEyOCkKPTIwCiAgICAgZmlkMyA9M0QgRklUU0ltYWdlRGF0YShjdXRfZnJiLCBm
aWVsZHM9M0RbImRlbnNpdHkiLCJ0ZW1wZXJhdHVyZSJdLCB1bj0KaXRzPTNEImNtIikKLSAgICBm
aXRzX2N1dCA9M0QgRklUU09mZkF4aXNTbGljZShkcywgWzAuMSwgMC4yLCAtMC45XSwgWyJkZW5z
aXR5IiwidGVtcGVyPQphdHVyZSJdLD0yMAorICAgIGZpdHNfY3V0ID0zRCBGSVRTT2ZmQXhpc1Ns
aWNlKGRzLCBbMC4xLCAwLjIsIC0wLjldLCBbImRlbnNpdHkiLCJ0ZW1wZXI9CmF0dXJlIl0sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlX3Jlcz0zRDEyOCwgY2VudGVyPTNE
WzAuNSwgMC40MiwgMC42XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9
M0QoMC41LCJ1bml0YXJ5IikpCj0yMApAQCAtMTAzLDI2ICsxMDUsMjYgQEAKICAgICBhc3NlcnQg
bmV3X2ZpZDMud2NzLndjcy5jdHlwZVswXSA9M0Q9M0QgIlJBLS0tVEFOIgogICAgIGFzc2VydCBu
ZXdfZmlkMy53Y3Mud2NzLmN0eXBlWzFdID0zRD0zRCAiREVDLS1UQU4iCj0yMAotICAgIGJ1ZiA9
M0Qgb2ZmX2F4aXNfcHJvamVjdGlvbihkcywgZHMuZG9tYWluX2NlbnRlciwgWzAuMSwgMC4yLCAt
MC45XSw9MjAKKyAgICBidWYgPTNEIG9mZl9heGlzX3Byb2plY3Rpb24oZHMsIGRzLmRvbWFpbl9j
ZW50ZXIsIFswLjEsIDAuMiwgLTAuOV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw
LjUsIDEyOCwgImRlbnNpdHkiKS5zd2FwYXhlcygwLCAxKQogICAgIGZpZDQgPTNEIEZJVFNJbWFn
ZURhdGEoYnVmLCBmaWVsZHM9M0QiZGVuc2l0eSIsIHdpZHRoPTNEMTAwLjApCi0gICAgZml0c19v
YXAgPTNEIEZJVFNPZmZBeGlzUHJvamVjdGlvbihkcywgWzAuMSwgMC4yLCAtMC45XSwgImRlbnNp
dHkiLD0yMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPTNEKDAu
NSwidW5pdGFyeSIpLCBpbWFnZV9yZXM9M0Q9CjEyOCw9MjAKKyAgICBmaXRzX29hcCA9M0QgRklU
U09mZkF4aXNQcm9qZWN0aW9uKGRzLCBbMC4xLCAwLjIsIC0wLjldLCAiZGVuc2l0eSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9M0QoMC41LCJ1bml0YXJ5Iiks
IGltYWdlX3Jlcz0zRD0KMTI4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlcHRoX3Jlcz0zRDEyOCwgZGVwdGg9M0QoMC41LCJ1bml0YXI9CnkiKSkKPTIwCiAgICAgeWll
bGQgYXNzZXJ0X2VxdWFsLCBmaWQ0LmdldF9kYXRhKCJkZW5zaXR5IiksIGZpdHNfb2FwLmdldF9k
YXRhKCJkZW5zaT0KdHkiKQo9MjAKLSAgICBjdmcgPTNEIGRzLmNvdmVyaW5nX2dyaWQoZHMuaW5k
ZXgubWF4X2xldmVsLCBbMC4yNSwwLjI1LDAuMjVdLD0yMAorICAgIGN2ZyA9M0QgZHMuY292ZXJp
bmdfZ3JpZChkcy5pbmRleC5tYXhfbGV2ZWwsIFswLjI1LDAuMjUsMC4yNV0sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbMzIsIDMyLCAzMl0sIGZpZWxkcz0zRFsiZGVuc2l0eSIsInRlbXBl
cmF0dXJlIj0KXSkKICAgICBmaWQ1ID0zRCBGSVRTSW1hZ2VEYXRhKGN2ZywgZmllbGRzPTNEWyJk
ZW5zaXR5IiwidGVtcGVyYXR1cmUiXSkKICAgICBhc3NlcnQgZmlkNS5kaW1lbnNpb25hbGl0eSA9
M0Q9M0QgMwo9MjAKICAgICBmaWQ1LnVwZGF0ZV9oZWFkZXIoImRlbnNpdHkiLCAidGltZSIsIDAu
MSkKICAgICBmaWQ1LnVwZGF0ZV9oZWFkZXIoImFsbCIsICJ1bml0cyIsICJjZ3MiKQotICAgPTIw
CisKICAgICBhc3NlcnQgZmlkNVsiZGVuc2l0eSJdLmhlYWRlclsidGltZSJdID0zRD0zRCAwLjEK
ICAgICBhc3NlcnQgZmlkNVsidGVtcGVyYXR1cmUiXS5oZWFkZXJbInVuaXRzIl0gPTNEPTNEICJj
Z3MiCiAgICAgYXNzZXJ0IGZpZDVbImRlbnNpdHkiXS5oZWFkZXJbInVuaXRzIl0gPTNEPTNEICJj
Z3MiCi0gICA9MjAKKwogICAgIG9zLmNoZGlyKGN1cmRpcikKICAgICBzaHV0aWwucm10cmVlKHRt
cGRpcikKCmRpZmYgLXIgYjhjZWRmZTlmNzYzOTBlMGEwY2JlNTI5OWI4NGQ2YjQwNzQ1ZWE5MSAt
ciBhZmM0OTQ3MzY3YTFkN2EwYzJlYTA2Nz0KYmNhYjQ4ZGY2YjFiYTIyYTYgeXQvdmlzdWFsaXph
dGlvbi90ZXN0cy90ZXN0X2ZpbHRlcnMucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi90ZXN0cy90
ZXN0X2ZpbHRlcnMucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi90ZXN0cy90ZXN0X2ZpbHRlcnMu
cHkKQEAgLTEwLDI4ICsxMCwyMyBAQAo9MjAKICIiIgo9MjAKLWZyb20geXQudGVzdGluZyBpbXBv
cnQgZmFrZV9hbXJfZHMKK2Zyb20geXQudGVzdGluZyBpbXBvcnQgZmFrZV9hbXJfZHMsIHJlcXVp
cmVzX21vZHVsZQo9MjAKPTIwCi1jbGFzcyBUZXN0RmlsdGVycygpOgorQHJlcXVpcmVzX21vZHVs
ZSgic2NpcHkiKQorZGVmIHRlc3Rfd2hpdGVfbm9pc2VfZmlsdGVyKCk6CisgICAgZHMgPTNEIGZh
a2VfYW1yX2RzKGZpZWxkcz0zRCgiZGVuc2l0eSIsKSkKKyAgICBwID0zRCBkcy5wcm9qKCJkZW5z
aXR5IiwgInoiKQorICAgIGZyYiA9M0QgcC50b19mcmIoKDEsICd1bml0YXJ5JyksIDY0KQorICAg
IGZyYi5hcHBseV93aGl0ZV9ub2lzZSgpCisgICAgZnJiLmFwcGx5X3doaXRlX25vaXNlKDFlLTMp
CisgICAgZnJiWyJkZW5zaXR5Il0KPTIwCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHNldHVw
X2NsYXNzKGNscyk6Ci0gICAgICAgIGRzID0zRCBmYWtlX2Ftcl9kcyhmaWVsZHM9M0QoImRlbnNp
dHkiLCkpCi0gICAgICAgIHAgPTNEIGRzLnByb2ooImRlbnNpdHkiLCAieiIpCi0gICAgICAgIGNs
cy5mcmIgPTNEIHAudG9fZnJiKCgxLCAndW5pdGFyeScpLCA2NCkKPTIwCi0gICAgZGVmIHRlYXJk
b3duKHNlbGYpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBkZWwgc2VsZi5mcmJbImRlbnNp
dHkiXQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0KLSAgICBk
ZWYgdGVzdF93aGl0ZV9ub2lzZV9maWx0ZXIoc2VsZik6Ci0gICAgICAgIHNlbGYuZnJiLmFwcGx5
X3doaXRlX25vaXNlKCkKLSAgICAgICAgc2VsZi5mcmIuYXBwbHlfd2hpdGVfbm9pc2UoMWUtMykK
LSAgICAgICAgc2VsZi5mcmJbImRlbnNpdHkiXQotCi0gICAgZGVmIHRlc3RfZ2F1c3NfYmVhbV9m
aWx0ZXIoc2VsZik6Ci0gICAgICAgIHNlbGYuZnJiLmFwcGx5X2dhdXNzX2JlYW0obmJlYW09M0Qx
NSwgc2lnbWE9M0QxLjApCi0gICAgICAgIHNlbGYuZnJiWyJkZW5zaXR5Il0KK0ByZXF1aXJlc19t
b2R1bGUoInNjaXB5IikKK2RlZiB0ZXN0X2dhdXNzX2JlYW1fZmlsdGVyKCk6CisgICAgZHMgPTNE
IGZha2VfYW1yX2RzKGZpZWxkcz0zRCgiZGVuc2l0eSIsKSkKKyAgICBwID0zRCBkcy5wcm9qKCJk
ZW5zaXR5IiwgInoiKQorICAgIGZyYiA9M0QgcC50b19mcmIoKDEsICd1bml0YXJ5JyksIDY0KQor
ICAgIGZyYi5hcHBseV9nYXVzc19iZWFtKG5iZWFtPTNEMTUsIHNpZ21hPTNEMS4wKQorICAgIGZy
YlsiZGVuc2l0eSJdCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvNjkyYWE1ZTYzM2M0LwpDaGFuZ2VzZXQ6ICAgNjkyYWE1ZTYzM2M0CkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA4LTAzIDE3OjA3OjUx
KzAwOjAwClN1bW1hcnk6ICAgICBSZW1vdmUgbmV0Q0RGNCBhcyBvbmUgb2YgdGhlIHJlcXVpcmVt
ZW50cwpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGFmYzQ5NDczNjdhMWQ3YTBjMmVhMDY3
YmNhYjQ4ZGY2YjFiYTIyYTYgLXIgNjkyYWE1ZTYzM2M0NDEzMGFjNTlhZTM9CjRmZGZjOTJmMjhm
Zjk3NDViIHJlcXVpcmVtZW50cy50eHQKLS0tIGEvcmVxdWlyZW1lbnRzLnR4dAorKysgYi9yZXF1
aXJlbWVudHMudHh0CkBAIC00LDQgKzQsNCBAQAogaDVweT0zRD0zRDIuNS4wPTIwCiBub3NlPTNE
PTNEMS4zLjY9MjAKIHN5bXB5PTNEPTNEMC43LjY9MjAKLW5ldENERjQ9M0Q9M0QxLjEuOAorCgoK
aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvM2Y2M2RlNjQxODE2
LwpDaGFuZ2VzZXQ6ICAgM2Y2M2RlNjQxODE2CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAg
YXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA4LTAzIDE5OjA1OjM5KzAwOjAwClN1bW1hcnk6
ICAgICBBY2NvdW50IGZvciBjb29yZApBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDY5MmFh
NWU2MzNjNDQxMzBhYzU5YWUzNGZkZmM5MmYyOGZmOTc0NWIgLXIgM2Y2M2RlNjQxODE2Njk0OTFm
OGEwN2Y9CjAxZjFlMGYwNzI4YWM0NTgzIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1
Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5
CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0xMjcs
MTQgKzEyNywxNCBAQAogICAgICAgICBwYXNzCiAgICA9MjAKICAgICBkZWYgX3BhcnNlX3BhcmFt
ZXRlcl9maWxlKHNlbGYpOgotICAgICAgICBpZiAnaW5mb19yZWNvcmRzJyBpbiBzZWxmLmRzLnZh
cmlhYmxlcy5rZXlzKCk6Ci0gICAgICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmVjb3Jk
cyddID0zRCBsb2FkX2luZm9fcmVjb3JkcyhzZWxmLmRzLj0KdmFyaWFibGVzWydpbmZvX3JlY29y
ZHMnXSkKLSAgICAgICAgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIgICAgICAgICAgPTNEIHNl
bGYucGFyYW1ldGVyc1snaW5mb19yZWNvPQpyZHMnXVsnVmVyc2lvbiBJbmZvJ11bJ0V4ZWN1dGFi
bGUgVGltZXN0YW1wJ10KLSAgICAgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICAg
ICAgPTNEIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvPQpyZHMnXVsnVmVyc2lvbiBJbmZvJ11b
J0N1cnJlbnQgVGltZSddCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBteWxvZy53YXJuaW5n
KCJObyBpbmZvX3JlY29yZHMgZm91bmQiKQotICAgICAgICAgICAgc2VsZi51bmlxdWVfaWRlbnRp
ZmllciA9M0Qgc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUuX19oYXNoX18oKQotICAgICAgICAgICAg
c2VsZi5jdXJyZW50X3RpbWUgICAgICA9M0QgMC4wCisgICAgICAgICMgaWYgJ2luZm9fcmVjb3Jk
cycgaW4gc2VsZi5kcy52YXJpYWJsZXMua2V5cygpOgorICAgICAgICAjICAgICBzZWxmLnBhcmFt
ZXRlcnNbJ2luZm9fcmVjb3JkcyddID0zRCBsb2FkX2luZm9fcmVjb3JkcyhzZWxmLmQ9CnMudmFy
aWFibGVzWydpbmZvX3JlY29yZHMnXSkKKyAgICAgICAgIyAgICAgc2VsZi51bmlxdWVfaWRlbnRp
ZmllciAgICAgICAgICA9M0Qgc2VsZi5wYXJhbWV0ZXJzWydpbmZvX3JlPQpjb3JkcyddWydWZXJz
aW9uIEluZm8nXVsnRXhlY3V0YWJsZSBUaW1lc3RhbXAnXQorICAgICAgICAjICAgICBzZWxmLmN1
cnJlbnRfdGltZSAgICAgICAgICAgICAgID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmU9CmNv
cmRzJ11bJ1ZlcnNpb24gSW5mbyddWydDdXJyZW50IFRpbWUnXQorICAgICAgICAjIGVsc2U6Cisg
ICAgICAgICMgICAgIG15bG9nLndhcm5pbmcoIk5vIGluZm9fcmVjb3JkcyBmb3VuZCIpCisgICAg
ICAgICMgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIgPTNEIHNlbGYucGFyYW1ldGVyX2ZpbGVu
YW1lLl9faGFzaF9fKCkKKyAgICAgICAgIyAgICAgc2VsZi5jdXJyZW50X3RpbWUgICAgICA9M0Qg
MC4wCj0yMAogICAgICAgICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAgICAgICAgICAgID0zRCBzZWxm
LmRzLnZhcmlhYmxlc1snY29vcl9uYW1lcyc9Cl0uc2hhcGVbMF0KICAgICAgICAgc2VsZi5wYXJh
bWV0ZXJzWydudW1fZWxlbSddICAgICA9M0Qgc2VsZi5kc1snZWJfc3RhdHVzJ10uc2hhcGVbMF0K
QEAgLTE1MiwyMSArMTUyLDM1IEBACiAgICAgICAgIHNlbGYuaHViYmxlX2NvbnN0YW50ICAgICAg
ICAgICAgPTNEIDAKPTIwCiAgICAgZGVmIF9nZXRfdmFyX25hbWVzKHNlbGYpOgotICAgICAgICBy
ZXR1cm4gW3Nhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCi0gICAgICAgICAg
ICAgICAgc2VsZi5kcy52YXJpYWJsZXNbIm5hbWVfZWxlbV92YXIiXV0KKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgcmV0dXJuIFtzYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBmb3IgdiBp
bgorICAgICAgICAgICAgICAgICAgICBzZWxmLmRzLnZhcmlhYmxlc1sibmFtZV9lbGVtX3ZhciJd
XQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICBteWxvZy53YXJuaW5nKCJu
YW1lX2VsZW1fdmFyIG5vdCBmb3VuZCIpCisgICAgICAgICAgICByZXR1cm4gW10KPTIwCiAgICAg
ZGVmIF9nZXRfbm9kX25hbWVzKHNlbGYpOgotICAgICAgICByZXR1cm4gW3Nhbml0aXplX3N0cmlu
Zyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCi0gICAgICAgICAgICAgICAgc2VsZi5kcy52YXJpYWJs
ZXNbIm5hbWVfbm9kX3ZhciJdXQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gW3Nh
bml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCisgICAgICAgICAgICAgICAgICAg
IHNlbGYuZHMudmFyaWFibGVzWyJuYW1lX25vZF92YXIiXV0KKyAgICAgICAgZXhjZXB0IEtleUVy
cm9yOgorICAgICAgICAgICAgbXlsb2cud2FybmluZygibmFtZV9ub2RfdmFyIG5vdCBmb3VuZCIp
CisgICAgICAgICAgICByZXR1cm4gW10KPTIwCiAgICAgZGVmIF9sb2FkX2Nvb3JkaW5hdGVzKHNl
bGYpOgogICAgICAgICBpZiBzZWxmLmRpbWVuc2lvbmFsaXR5ID0zRD0zRCAzOgogICAgICAgICAg
ICAgY29vcmRfYXhlcyA9M0QgJ3h5eicKICAgICAgICAgZWxpZiBzZWxmLmRpbWVuc2lvbmFsaXR5
ID0zRD0zRCAyOgogICAgICAgICAgICAgY29vcmRfYXhlcyA9M0QgJ3h5JwotICAgICAgICBteWxv
Zy5pbmZvKCJMb2FkaW5nIGNvb3JkaW5hdGVzIGZvciBheGVzICVzIiAlIGNvb3JkX2F4ZXMpCi0g
ICAgICAgIHJldHVybiBucC5hcnJheShbc2VsZi5kcy52YXJpYWJsZXNbImNvb3JkJXMiICUgYXhd
WzpdCi0gICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGF4IGluIGNvb3JkX2F4ZXNdKS50cmFu
c3Bvc2UoKS5jb3B5KCkKKworICAgICAgICBteWxvZy5pbmZvKCJMb2FkaW5nIGNvb3JkaW5hdGVz
IikKKworICAgICAgICBpZiAnY29vcmQnIGluIHNlbGYuZHMudmFyaWFibGVzLmtleXMoKToKKyAg
ICAgICAgICAgIHJldHVybiBucC5hcnJheShbY29vcmQgZm9yIGNvb3JkIGluCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuZHMudmFyaWFibGVzWyJjb29yZCJdWzpdXSkudHJhbnNw
b3NlKCkuYz0Kb3B5KCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBucC5hcnJh
eShbc2VsZi5kcy52YXJpYWJsZXNbImNvb3JkJXMiICUgYXhdWzpdCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZvciBheCBpbiBjb29yZF9heGVzXSkudHJhbnNwb3NlKCkuY29weSgpCiAg
ICA9MjAKICAgICBkZWYgX2xvYWRfY29ubmVjdGl2aXR5KHNlbGYpOgogICAgICAgICBteWxvZy5p
bmZvKCJMb2FkaW5nIGNvbm5lY3Rpdml0eSIpCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2Fu
YWx5c2lzL3l0L2NvbW1pdHMvOTdlMDFhMzFhMWYzLwpDaGFuZ2VzZXQ6ICAgOTdlMDFhMzFhMWYz
CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1
LTA4LTAzIDE5OjIzOjE3KzAwOjAwClN1bW1hcnk6ICAgICBJbXByb3ZlIGluZm9fcmVjb3JkcyBw
YXJzaW5nCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIDNmNjNkZTY0MTgxNjY5NDkxZjhh
MDdmMDFmMWUwZjA3MjhhYzQ1ODMgLXIgOTdlMDFhMzFhMWYzZjQxZTViMDdhZWQ9CjA3MzI0MTg4
YmM3NGExZWVmIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBh
L3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250
ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0xMjcsMTQgKzEyNywxNCBAQAog
ICAgICAgICBwYXNzCiAgICA9MjAKICAgICBkZWYgX3BhcnNlX3BhcmFtZXRlcl9maWxlKHNlbGYp
OgotICAgICAgICAjIGlmICdpbmZvX3JlY29yZHMnIGluIHNlbGYuZHMudmFyaWFibGVzLmtleXMo
KToKLSAgICAgICAgIyAgICAgc2VsZi5wYXJhbWV0ZXJzWydpbmZvX3JlY29yZHMnXSA9M0QgbG9h
ZF9pbmZvX3JlY29yZHMoc2VsZi5kPQpzLnZhcmlhYmxlc1snaW5mb19yZWNvcmRzJ10pCi0gICAg
ICAgICMgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIgICAgICAgICAgPTNEIHNlbGYucGFyYW1l
dGVyc1snaW5mb19yZT0KY29yZHMnXVsnVmVyc2lvbiBJbmZvJ11bJ0V4ZWN1dGFibGUgVGltZXN0
YW1wJ10KLSAgICAgICAgIyAgICAgc2VsZi5jdXJyZW50X3RpbWUgICAgICAgICAgICAgICA9M0Qg
c2VsZi5wYXJhbWV0ZXJzWydpbmZvX3JlPQpjb3JkcyddWydWZXJzaW9uIEluZm8nXVsnQ3VycmVu
dCBUaW1lJ10KLSAgICAgICAgIyBlbHNlOgotICAgICAgICAjICAgICBteWxvZy53YXJuaW5nKCJO
byBpbmZvX3JlY29yZHMgZm91bmQiKQotICAgICAgICAjICAgICBzZWxmLnVuaXF1ZV9pZGVudGlm
aWVyID0zRCBzZWxmLnBhcmFtZXRlcl9maWxlbmFtZS5fX2hhc2hfXygpCi0gICAgICAgICMgICAg
IHNlbGYuY3VycmVudF90aW1lICAgICAgPTNEIDAuMAorICAgICAgICBpZiAnaW5mb19yZWNvcmRz
JyBpbiBzZWxmLmRzLnZhcmlhYmxlcy5rZXlzKCk6CisgICAgICAgICAgICBzZWxmLnBhcmFtZXRl
cnNbJ2luZm9fcmVjb3JkcyddID0zRCBsb2FkX2luZm9fcmVjb3JkcyhzZWxmLmRzLj0KdmFyaWFi
bGVzWydpbmZvX3JlY29yZHMnXSkKKyAgICAgICAgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIg
ICAgICAgICAgPTNEIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvPQpyZHMnXVsnVmVyc2lvbiBJ
bmZvJ11bJ0V4ZWN1dGFibGUgVGltZXN0YW1wJ10KKyAgICAgICAgICAgIHNlbGYuY3VycmVudF90
aW1lICAgICAgICAgICAgICAgPTNEIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvPQpyZHMnXVsn
VmVyc2lvbiBJbmZvJ11bJ0N1cnJlbnQgVGltZSddCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBteWxvZy53YXJuaW5nKCJObyBpbmZvX3JlY29yZHMgZm91bmQiKQorICAgICAgICAgICAgc2Vs
Zi51bmlxdWVfaWRlbnRpZmllciA9M0Qgc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUuX19oYXNoX18o
KQorICAgICAgICAgICAgc2VsZi5jdXJyZW50X3RpbWUgICAgICA9M0QgMC4wCj0yMAogICAgICAg
ICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAgICAgICAgICAgID0zRCBzZWxmLmRzLnZhcmlhYmxlc1sn
Y29vcl9uYW1lcyc9Cl0uc2hhcGVbMF0KICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydudW1fZWxl
bSddICAgICA9M0Qgc2VsZi5kc1snZWJfc3RhdHVzJ10uc2hhcGVbMF0KCmRpZmYgLXIgM2Y2M2Rl
NjQxODE2Njk0OTFmOGEwN2YwMWYxZTBmMDcyOGFjNDU4MyAtciA5N2UwMWEzMWExZjNmNDFlNWIw
N2FlZD0KMDczMjQxODhiYzc0YTFlZWYgeXQvZnJvbnRlbmRzL2V4b2R1c19paS91dGlsLnB5Ci0t
LSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvdXRpbC5weQorKysgYi95dC9mcm9udGVuZHMvZXhv
ZHVzX2lpL3V0aWwucHkKQEAgLTcsOSArNyw5IEBACiAgICAgcmV0dXJuICIiLmpvaW4oXyBmb3Ig
XyBpbiB0YWtld2hpbGUobGFtYmRhIGE6IGEgaW4gc3RyaW5nLnByaW50YWJsZSwgcz0KKSkKPTIw
CiBkZWYgbG9hZF9pbmZvX3JlY29yZHMoaW5mb19yZWNvcmRzKToKLSAgICBpbmZvX3JlY29yZHNf
cGFyc2VkID0zRCBbIiIuam9pbihsaW5lX2NoYXJzKSBmb3IgbGluZV9jaGFycyBpbiBpbmZvX3Jl
PQpjb3Jkc10KKyAgICBpbmZvX3JlY29yZHNfcGFyc2VkID0zRCBbc2FuaXRpemVfc3RyaW5nKGxp
bmVfY2hhcnMpIGZvciBsaW5lX2NoYXJzIGluPQogaW5mb19yZWNvcmRzXQogICAgIHJldHVybiBn
cm91cF9ieV9zZWN0aW9ucyhpbmZvX3JlY29yZHNfcGFyc2VkKQotICAgPTIwCisKIGRlZiBncm91
cF9ieV9zZWN0aW9ucyhpbmZvX3JlY29yZHMpOgogICAgICMgMS4gU3BsaXQgYnkgdG9wIGdyb3Vw
aW5ncwogICAgIHRvcF9sZXZlbHMgPTNEIGdldF90b3BfbGV2ZWxzKGluZm9fcmVjb3JkcykKQEAg
LTI5LDI1ICsyOSwyNSBAQAo9MjAKICAgICAgICAgICAgIGdyb3VwZWRbdG9wX2xldmVsWzFdXS5h
cHBlbmQoaW5mb19yZWNvcmRzW2lkeF0pCj0yMAotICAgIHZlcnNpb25faW5mbyA9M0QgT3JkZXJl
ZERpY3QoKQotICAgIGZvciBsaW5lIGluIGdyb3VwZWRbJ1ZlcnNpb24gSW5mbyddOgotICAgICAg
ICBzcGxpdF9saW5lID0zRCBsaW5lLnNwbGl0KCI6IikKLSAgICAgICAga2V5ID0zRCBzcGxpdF9s
aW5lWzBdCi0gICAgICAgIHZhbCA9M0QgIjoiLmpvaW4oc3BsaXRfbGluZVsxOl0pLmxzdHJpcCgp
LnJzdHJpcCgpCi0gICAgICAgIGlmIGtleSAhPTNEICcnOgotICAgICAgICAgICAgdmVyc2lvbl9p
bmZvW2tleV0gPTNEIHZhbAotICAgIGdyb3VwZWRbJ1ZlcnNpb24gSW5mbyddID0zRCB2ZXJzaW9u
X2luZm8KKyAgID0yMAorICAgIGlmICdWZXJzaW9uIEluZm8nIGluIGdyb3VwZWQua2V5cygpOgor
ICAgICAgICB2ZXJzaW9uX2luZm8gPTNEIE9yZGVyZWREaWN0KCkKKyAgICAgICAgZm9yIGxpbmUg
aW4gZ3JvdXBlZFsnVmVyc2lvbiBJbmZvJ106CisgICAgICAgICAgICBzcGxpdF9saW5lID0zRCBs
aW5lLnNwbGl0KCI6IikKKyAgICAgICAgICAgIGtleSA9M0Qgc3BsaXRfbGluZVswXQorICAgICAg
ICAgICAgdmFsID0zRCAiOiIuam9pbihzcGxpdF9saW5lWzE6XSkubHN0cmlwKCkucnN0cmlwKCkK
KyAgICAgICAgICAgIGlmIGtleSAhPTNEICcnOgorICAgICAgICAgICAgICAgIHZlcnNpb25faW5m
b1trZXldID0zRCB2YWwKKyAgICAgICAgZ3JvdXBlZFsnVmVyc2lvbiBJbmZvJ10gPTNEIHZlcnNp
b25faW5mbwogICAgPTIwCiAgICAgcmV0dXJuIGdyb3VwZWQKLSAgID0yMAorCiBkZWYgZ2V0X3Rv
cF9sZXZlbHMoaW5mb19yZWNvcmRzKToKICAgICB0b3BfbGV2ZWxzID0zRCBbXQogICAgIGZvciBp
ZHgsIGxpbmUgaW4gZW51bWVyYXRlKGluZm9fcmVjb3Jkcyk6CiAgICAgICAgIHBhdHRlcm4gPTNE
IHJlLmNvbXBpbGUoIiMjI1thLXpBLVpcc10rIikKICAgICAgICAgaWYgcGF0dGVybi5tYXRjaChs
aW5lKToKLSAgICAgICAgICAgIGNsZWFuX2xpbmUgPTNEIGxpbmUuc3RyaXAoJyMjIycpLmxzdHJp
cCgpLnJzdHJpcCgpCisgICAgICAgICAgICBjbGVhbl9saW5lID0zRCByZS5zdWIocidbXlx3XHNd
JywgJycsIGxpbmUpLmxzdHJpcCgpLnJzdHJpcCgpCiAgICAgICAgICAgICB0b3BfbGV2ZWxzLmFw
cGVuZChbaWR4LCBjbGVhbl9saW5lXSkKICAgID0yMAogICAgIHJldHVybiB0b3BfbGV2ZWxzCi0K
LQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2QxY2Y0ZGRl
OTU3Zi8KQ2hhbmdlc2V0OiAgIGQxY2Y0ZGRlOTU3ZgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAg
ICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wOC0wMyAxOToyODoyNyswMDowMApTdW1t
YXJ5OiAgICAgU3ViY2xhc3MgVW5zdHJ1Y3R1cmVkSW5kZXguCkFmZmVjdGVkICM6ICAxIGZpbGUK
CmRpZmYgLXIgOTdlMDFhMzFhMWYzZjQxZTViMDdhZWQwNzMyNDE4OGJjNzRhMWVlZiAtciBkMWNm
NGRkZTk1N2ZiYmRlZTVkNzVjNj0KZGE4Mzg4NGNhMDY1ZTFiOWIgeXQvZnJvbnRlbmRzL2V4b2R1
c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRh
X3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVy
ZXMucHkKQEAgLTIyLDYgKzIyLDggQEAKICAgICBBTVJHcmlkUGF0Y2gKIGZyb20geXQuZ2VvbWV0
cnkuZ3JpZF9nZW9tZXRyeV9oYW5kbGVyIGltcG9ydCBcCiAgICAgR3JpZEluZGV4Citmcm9tIHl0
Lmdlb21ldHJ5LnVuc3RydWN0dXJlZF9tZXNoX2hhbmRsZXIgaW1wb3J0IFwKKyAgICAgVW5zdHJ1
Y3R1cmVkSW5kZXgKIGZyb20geXQuZGF0YV9vYmplY3RzLnN0YXRpY19vdXRwdXQgaW1wb3J0IFwK
ICAgICBEYXRhc2V0CiBmcm9tIHl0LnV0aWxpdGllcy5pb19oYW5kbGVyIGltcG9ydCBcCkBAIC00
OCw3ICs1MCw3IEBACiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gIkV4
b2R1c0lJR3JpZF8lMDRpICglcykiICUgKHNlbGYuaWQsIHNlbGYuQWN0aXZlRGltZW5zaW9ucykK
PTIwCi1jbGFzcyBFeG9kdXNJSUhpZXJhcmNoeShHcmlkSW5kZXgpOgorY2xhc3MgRXhvZHVzSUlI
aWVyYXJjaHkoVW5zdHJ1Y3R1cmVkSW5kZXgpOgogICAgIGdyaWQgPTNEIEV4b2R1c0lJR3JpZAo9
MjAKICAgICBkZWYgX19pbml0X18oc2VsZiwgZHMsIGRhdGFzZXRfdHlwZT0zRCdleG9kdXNfaWkn
KToKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy84ZTAxZTMy
ZDhjZTcvCkNoYW5nZXNldDogICA4ZTAxZTMyZDhjZTcKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAg
ICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDgtMDMgMTk6Mjk6MzkrMDA6MDAKU3Vt
bWFyeTogICAgIENoYW5nZSBpZF9vZmZzZXQgKGluZGV4X29mZnNldCkgdG8gMQpBZmZlY3RlZCAj
OiAgMSBmaWxlCgpkaWZmIC1yIGQxY2Y0ZGRlOTU3ZmJiZGVlNWQ3NWM2ZGE4Mzg4NGNhMDY1ZTFi
OWIgLXIgOGUwMWUzMmQ4Y2U3MjZkZDNmYzAzMTY9CjRiMjhmODE4ZmU1YWU5NzNkIHl0L2Zyb250
ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9k
dXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0
YV9zdHJ1Y3R1cmVzLnB5CkBAIC0zNiw3ICszNiw3IEBACiAgICAgbG9hZF9pbmZvX3JlY29yZHMs
IHNhbml0aXplX3N0cmluZwo9MjAKIGNsYXNzIEV4b2R1c0lJR3JpZChBTVJHcmlkUGF0Y2gpOgot
ICAgIF9pZF9vZmZzZXQgPTNEIDAKKyAgICBfaWRfb2Zmc2V0ID0zRCAxCiAgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGlkLCBpbmRleCwgbGV2ZWwsIHN0YXJ0LCBkaW1lbnNpb25zKToKICAgICAgICAg
QU1SR3JpZFBhdGNoLl9faW5pdF9fKHNlbGYsIGlkLCBmaWxlbmFtZT0zRGluZGV4LmluZGV4X2Zp
bGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9M0RpbmRleCkKCgpo
dHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9iZGZhODQxYjhhM2Yv
CkNoYW5nZXNldDogICBiZGZhODQxYjhhM2YKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBh
c3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDgtMDQgMTk6MDc6NDMrMDA6MDAKU3VtbWFyeTog
ICAgIEFjY291bnQgZm9yIHdoZW4gVmVyc2lvbkluZm8gaXMgbm90IGF2YWlsYWJsZS4KQWZmZWN0
ZWQgIzogIDEgZmlsZQoKZGlmZiAtciA4ZTAxZTMyZDhjZTcyNmRkM2ZjMDMxNjRiMjhmODE4ZmU1
YWU5NzNkIC1yIGJkZmE4NDFiOGEzZjI1YTNhYWIzYTI2PQpmZDg5Mjc3ZDNlZTE0YTc4NiB5dC9m
cm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMv
ZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lp
L2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMTI5LDE2ICsxMjksMTAgQEAKICAgICAgICAgcGFzcwog
ICAgPTIwCiAgICAgZGVmIF9wYXJzZV9wYXJhbWV0ZXJfZmlsZShzZWxmKToKLSAgICAgICAgaWYg
J2luZm9fcmVjb3JkcycgaW4gc2VsZi5kcy52YXJpYWJsZXMua2V5cygpOgotICAgICAgICAgICAg
c2VsZi5wYXJhbWV0ZXJzWydpbmZvX3JlY29yZHMnXSA9M0QgbG9hZF9pbmZvX3JlY29yZHMoc2Vs
Zi5kcy49CnZhcmlhYmxlc1snaW5mb19yZWNvcmRzJ10pCi0gICAgICAgICAgICBzZWxmLnVuaXF1
ZV9pZGVudGlmaWVyICAgICAgICAgID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmVjbz0KcmRz
J11bJ1ZlcnNpb24gSW5mbyddWydFeGVjdXRhYmxlIFRpbWVzdGFtcCddCi0gICAgICAgICAgICBz
ZWxmLmN1cnJlbnRfdGltZSAgICAgICAgICAgICAgID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2luZm9f
cmVjbz0KcmRzJ11bJ1ZlcnNpb24gSW5mbyddWydDdXJyZW50IFRpbWUnXQotICAgICAgICBlbHNl
OgotICAgICAgICAgICAgbXlsb2cud2FybmluZygiTm8gaW5mb19yZWNvcmRzIGZvdW5kIikKLSAg
ICAgICAgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIgPTNEIHNlbGYucGFyYW1ldGVyX2ZpbGVu
YW1lLl9faGFzaF9fKCkKLSAgICAgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgPTNEIDAu
MAotCiAgICAgICAgIHNlbGYuZGltZW5zaW9uYWxpdHkgICAgICAgICAgICAgPTNEIHNlbGYuZHMu
dmFyaWFibGVzWydjb29yX25hbWVzJz0KXS5zaGFwZVswXQorICAgICAgICBzZWxmLnBhcmFtZXRl
cnNbJ2luZm9fcmVjb3JkcyddID0zRCBzZWxmLl9sb2FkX2luZm9fcmVjb3JkcygpCisgICAgICAg
IHNlbGYudW5pcXVlX2lkZW50aWZpZXIgICAgICAgICAgPTNEIHNlbGYuX2dldF91bmlxdWVfaWRl
bnRpZmllcigpCisgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICAgICAgPTNEIHNl
bGYuX2dldF9jdXJyZW50X3RpbWUoKQogICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ251bV9lbGVt
J10gICAgID0zRCBzZWxmLmRzWydlYl9zdGF0dXMnXS5zaGFwZVswXQogICAgICAgICBzZWxmLnBh
cmFtZXRlcnNbJ3Zhcl9uYW1lcyddICAgID0zRCBzZWxmLl9nZXRfdmFyX25hbWVzKCkKICAgICAg
ICAgc2VsZi5wYXJhbWV0ZXJzWydub2RfbmFtZXMnXSAgICA9M0Qgc2VsZi5fZ2V0X25vZF9uYW1l
cygpCkBAIC0xNTMsNiArMTQ3LDI1IEBACiAgICAgICAgIHNlbGYub21lZ2FfbWF0dGVyICAgICAg
ICAgICAgICAgPTNEIDAKICAgICAgICAgc2VsZi5odWJibGVfY29uc3RhbnQgICAgICAgICAgICA9
M0QgMAo9MjAKKyAgICBkZWYgX2xvYWRfaW5mb19yZWNvcmRzKHNlbGYpOgorICAgICAgICB0cnk6
CisgICAgICAgICAgICByZXR1cm4gbG9hZF9pbmZvX3JlY29yZHMoc2VsZi5kcy52YXJpYWJsZXNb
J2luZm9fcmVjb3JkcyddKQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICBt
eWxvZy53YXJuaW5nKCJObyBpbmZvX3JlY29yZHMgZm91bmQiKQorICAgICAgICAgICAgcmV0dXJu
IFtdCisKKyAgICBkZWYgX2dldF91bmlxdWVfaWRlbnRpZmllcihzZWxmKToKKyAgICAgICAgdHJ5
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvcmRzJ11bJ1Zl
cnNpb24gSW5mbyddWydFeGVjdXQ9CmFibGUgVGltZXN0YW1wJ10KKyAgICAgICAgZXhjZXB0IEtl
eUVycm9yOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyYW1ldGVyX2ZpbGVuYW1lLl9faGFz
aF9fKCkKKworICAgIGRlZiBfZ2V0X2N1cnJlbnRfdGltZShzZWxmKToKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyYW1ldGVyc1snaW5mb19yZWNvcmRzJ11bJ1ZlcnNp
b24gSW5mbyddWydDdXJyZW49CnQgVGltZSddCisgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAg
ICAgICAgICAgIHJldHVybiAwLjAKKwogICAgIGRlZiBfZ2V0X3Zhcl9uYW1lcyhzZWxmKToKICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIFtzYW5pdGl6ZV9zdHJpbmcodi50b3N0cmlu
ZygpKSBmb3IgdiBpbgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21t
aXRzLzMwNWE4ZGM4ZGJmMC8KQ2hhbmdlc2V0OiAgIDMwNWE4ZGM4ZGJmMApCcmFuY2g6ICAgICAg
eXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wOC0wNCAxOTo0Njoy
NCswMDowMApTdW1tYXJ5OiAgICAgTG9hZCBnYXMgZGF0YS4KQWZmZWN0ZWQgIzogIDEgZmlsZQoK
ZGlmZiAtciBiZGZhODQxYjhhM2YyNWEzYWFiM2EyNmZkODkyNzdkM2VlMTRhNzg2IC1yIDMwNWE4
ZGM4ZGJmMDU2YmYzOGQ5MzE5PQoxZWNhZjNhOTZiYWY3Y2UxMiB5dC9mcm9udGVuZHMvZXhvZHVz
X2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFf
c3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJl
cy5weQpAQCAtMTM4LDYgKzEzOCw3IEBACiAgICAgICAgIHNlbGYucGFyYW1ldGVyc1snbm9kX25h
bWVzJ10gICAgPTNEIHNlbGYuX2dldF9ub2RfbmFtZXMoKQogICAgICAgICBzZWxmLnBhcmFtZXRl
cnNbJ2Nvb3JkaW5hdGVzJ10gID0zRCBzZWxmLl9sb2FkX2Nvb3JkaW5hdGVzKCkKICAgICAgICAg
c2VsZi5wYXJhbWV0ZXJzWydjb25uZWN0aXZpdHknXSA9M0Qgc2VsZi5fbG9hZF9jb25uZWN0aXZp
dHkoKQorICAgICAgICBzZWxmLmRhdGEgICAgICAgICAgICAgICAgICAgICAgID0zRCBzZWxmLl9s
b2FkX2RhdGEoKQogICAgICAgICBzZWxmLmRvbWFpbl9sZWZ0X2VkZ2UgICAgICAgICAgID0zRCBz
ZWxmLl9sb2FkX2RvbWFpbl9lZGdlKDApCiAgICAgICAgIHNlbGYuZG9tYWluX3JpZ2h0X2VkZ2Ug
ICAgICAgICAgPTNEIHNlbGYuX2xvYWRfZG9tYWluX2VkZ2UoMSkKICAgICAgICAgc2VsZi5wZXJp
b2RpY2l0eSAgICAgICAgICAgICAgICA9M0QgKEZhbHNlLCBGYWxzZSwgRmFsc2UpCkBAIC0yMDQs
NiArMjA1LDI0IEBACiAgICAgICAgICAgICBjb25uZWN0aXZpdHkuYXBwZW5kKHNlbGYuZHMudmFy
aWFibGVzWyJjb25uZWN0JWQiICUgKGkrMSldWzpdLj0KYXN0eXBlKCJpOCIpKQogICAgICAgICBy
ZXR1cm4gY29ubmVjdGl2aXR5Cj0yMAorICAgIGRlZiBfbG9hZF9kYXRhKHNlbGYpOgorICAgICAg
ICBkYXRhID0zRCBbXQorICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnBhcmFtZXRlcnNbJ251
bV9lbGVtJ10pOgorICAgICAgICAgICAgY2kgPTNEIHNlbGYucGFyYW1ldGVyc1snY29ubmVjdGl2
aXR5J11bLTFdCisgICAgICAgICAgICB2YWxzID0zRCB7fQorCisgICAgICAgICAgICBmb3Igaiwg
dmFyX25hbWUgaW4gZW51bWVyYXRlKHNlbGYucGFyYW1ldGVyc1sndmFyX25hbWVzJ10pOgorICAg
ICAgICAgICAgICAgIHZhbHNbJ2dhcycsIHZhcl9uYW1lXSA9M0Qgc2VsZi5kc1sidmFsc19lbGVt
X3ZhciVzZWIlcyIgJSA9CihqKzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQorCisgICAg
ICAgICAgICBmb3Igaiwgbm9kX25hbWUgaW4gZW51bWVyYXRlKHNlbGYucGFyYW1ldGVyc1snbm9k
X25hbWVzJ10pOgorICAgICAgICAgICAgICAgICMgV2Ugd2FudCBqdXN0IGZvciB0aGlzIHNldCBv
ZiBub2RlcyBhbGwgdGhlIG5vZGUgdmFyaWFibGVzCisgICAgICAgICAgICAgICAgIyBVc2UgKGNp
IC0gMSkgdG8gZ2V0IHRoZXNlIHZhbHVlcworICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIG5v
ZF9uYW1lXSA9M0Qgc2VsZi5kc1sidmFsc19ub2RfdmFyJXMiICUgKGorMSk9Cl1bOl0uYXN0eXBl
KCJmOCIpWy0xLCBjaSAtIDEsIC4uLl0KKworICAgICAgICAgICAgZGF0YS5hcHBlbmQodmFscykK
KworICAgICAgICByZXR1cm4gZGF0YQorCiAgICAgZGVmIF9sb2FkX2RvbWFpbl9lZGdlKHNlbGYs
IGRvbWFpbl9pZHgpOgogICAgICAgICByZXR1cm4gbnAuYXJyYXkoW3NlbGYucGFyYW1ldGVyc1sn
Y29vcmRpbmF0ZXMnXVs6LGRvbWFpbl9pZHhdLm1pbig9CiksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5wYXJhbWV0ZXJzWydjb29yZGluYXRlcyddWzosZG9tYWluX2lkeF0ubWF4KD0K
KV0sCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZWZkYTQw
NmFiOTY0LwpDaGFuZ2VzZXQ6ICAgZWZkYTQwNmFiOTY0CkJyYW5jaDogICAgICB5dApVc2VyOiAg
ICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA4LTA1IDE1OjU0OjIyKzAwOjAwClN1
bW1hcnk6ICAgICBNZXJnZSB1cHN0cmVhbSBjaGFuZ2VzCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRp
ZmYgLXIgMzA1YThkYzhkYmYwNTZiZjM4ZDkzMTkxZWNhZjNhOTZiYWY3Y2UxMiAtciBlZmRhNDA2
YWI5NjQzYWNiZjI1MmFmNT0KNzA3NzgxNDk0NzFhMmU0NDMgZG9jL2luc3RhbGxfc2NyaXB0LnNo
Ci0tLSBhL2RvYy9pbnN0YWxsX3NjcmlwdC5zaAorKysgYi9kb2MvaW5zdGFsbF9zY3JpcHQuc2gK
QEAgLTQ3LDcgKzQ3LDYgQEAKICAgICAgICAgICAgICAgICAjIGxlYWQgdG8gYnJva2VuIG1lcmN1
cmlhbCBpbnN0YWxsYXRpb25zLgogSU5TVF9QTkc9M0QxICAgICAgIyBJbnN0YWxsIGEgbG9jYWwg
bGlicG5nPyAgU2FtZSB0aGluZ3MgYXBwbHkgYXMgd2l0aCB6bGk9CmIuCiBJTlNUX0ZUWVBFPTNE
MSAgICAjIEluc3RhbGwgRnJlZVR5cGUyIGxvY2FsbHk/Ci1JTlNUX0VOWk89M0QwICAgICAjIENs
b25lIGEgY29weSBvZiBFbnpvPwogSU5TVF9TUUxJVEUzPTNEMSAgIyBJbnN0YWxsIGEgbG9jYWwg
dmVyc2lvbiBvZiBTUUxpdGUzPwogSU5TVF9QWVg9M0QwICAgICAgIyBJbnN0YWxsIFB5WD8gIFNv
bWV0aW1lcyBQeVggY2FuIGJlIHByb2JsZW1hdGljIHdpdGhvdXQ9CiBhCiAgICAgICAgICAgICAg
ICAgIyB3b3JraW5nIFRlWCBpbnN0YWxsYXRpb24uCkBAIC0xMDksNyArMTA4LDYgQEAKICAgICBl
Y2hvIElOU1RfQlpMSUI9M0Qke0lOU1RfQlpMSUJ9ID4+ICR7Q09ORklHX0ZJTEV9CiAgICAgZWNo
byBJTlNUX1BORz0zRCR7SU5TVF9QTkd9ID4+ICR7Q09ORklHX0ZJTEV9CiAgICAgZWNobyBJTlNU
X0ZUWVBFPTNEJHtJTlNUX0ZUWVBFfSA+PiAke0NPTkZJR19GSUxFfQotICAgIGVjaG8gSU5TVF9F
TlpPPTNEJHtJTlNUX0VOWk99ID4+ICR7Q09ORklHX0ZJTEV9CiAgICAgZWNobyBJTlNUX1NRTElU
RTM9M0Qke0lOU1RfU1FMSVRFM30gPj4gJHtDT05GSUdfRklMRX0KICAgICBlY2hvIElOU1RfUFlY
PTNEJHtJTlNUX1BZWH0gPj4gJHtDT05GSUdfRklMRX0KICAgICBlY2hvIElOU1RfME1RPTNEJHtJ
TlNUXzBNUX0gPj4gJHtDT05GSUdfRklMRX0KQEAgLTQyNiwxMCArNDI0LDYgQEAKIGdldF93aWxs
d29udCAke0lOU1RfSEd9CiBlY2hvICJiZSBpbnN0YWxsaW5nIE1lcmN1cmlhbCIKPTIwCi1wcmlu
dGYgIiUtMTVzID0zRCAlcyBzbyBJICIgIklOU1RfRU5aTyIgIiR7SU5TVF9FTlpPfSIKLWdldF93
aWxsd29udCAke0lOU1RfRU5aT30KLWVjaG8gImJlIGNoZWNraW5nIG91dCBFbnpvIgotCiBwcmlu
dGYgIiUtMTVzID0zRCAlcyBzbyBJICIgIklOU1RfUFlYIiAiJHtJTlNUX1BZWH0iCiBnZXRfd2ls
bHdvbnQgJHtJTlNUX1BZWH0KIGVjaG8gImJlIGluc3RhbGxpbmcgUHlYIgpAQCAtMTA0NywxNCAr
MTA0MSw2IEBACiAgICAgZmkKIGZpCj0yMAotaWYgWyAkSU5TVF9FTlpPIC1lcSAxIF0KLXRoZW4K
LSAgICBlY2hvICJDbG9uaW5nIGEgY29weSBvZiBFbnpvLiIKLSAgICBjZCAke0RFU1RfRElSfS9z
cmMvCi0gICAgJHtIR19FWEVDfSBjbG9uZSBodHRwczovL2JpdGJ1Y2tldC5vcmcvZW56by9lbnpv
LXN0YWJsZSAuL2Vuem8taGctc3RhYj0KbGUKLSAgICBjZCAkTVlfUFdECi1maQotCiBpZiBbIC1l
ICRIT01FLy5tYXRwbG90bGliL2ZvbnRMaXN0LmNhY2hlIF0gJiYgXAogICAgKCBncmVwIC1xIHB5
dGhvbjIuNiAkSE9NRS8ubWF0cGxvdGxpYi9mb250TGlzdC5jYWNoZSApCiB0aGVuCkBAIC0xMTA2
LDE2ICsxMDkyLDYgQEAKICAgICAgIGVjaG8gIiRERVNUX0RJUi9iaW4vaGciCiAgICAgICBlY2hv
CiAgICAgZmkKLSAgICBpZiBbICRJTlNUX0VOWk8gLWVxIDEgXQotICAgIHRoZW4KLSAgICAgIGVj
aG8gIkVuem8gaGFzIGFsc28gYmVlbiBjaGVja2VkIG91dCwgYnV0IG5vdCBidWlsdC4iCi0gICAg
ICBlY2hvCi0gICAgICBlY2hvICIkREVTVF9ESVIvc3JjL2Vuem8taGctc3RhYmxlIgotICAgICAg
ZWNobwotICAgICAgZWNobyAiVGhlIHZhbHVlIG9mIFlUX0RFU1QgY2FuIGJlIHVzZWQgYXMgYW4g
SERGNSBpbnN0YWxsYXRpb24gbG9jYXQ9Cmlvbi4iCi0gICAgICBlY2hvICJRdWVzdGlvbnMgYWJv
dXQgRW56byBzaG91bGQgYmUgZGlyZWN0ZWQgdG8gdGhlIEVuem8gVXNlciBMaXN0LiIKLSAgICAg
IGVjaG8KLSAgICBmaQogICAgIGVjaG8KICAgICBlY2hvICJGb3Igc3VwcG9ydCwgc2VlIHRoZSB3
ZWJzaXRlIGFuZCBqb2luIHRoZSBtYWlsaW5nIGxpc3Q6IgogICAgIGVjaG8KCgpodHRwczovL2Jp
dGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy8yNzBlMzVhOTc3ZDAvCkNoYW5nZXNl
dDogICAyNzBlMzVhOTc3ZDAKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IK
RGF0ZTogICAgICAgIDIwMTUtMDgtMDUgMTg6NDU6MTArMDA6MDAKU3VtbWFyeTogICAgIEZpeCBk
YXRhIGF0dHJpYnV0ZSwgd2hpY2ggd2FzIG5vdCBsb2FkaW5nIGFsbCBnYXMgZGF0YS4KQWZmZWN0
ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBlZmRhNDA2YWI5NjQzYWNiZjI1MmFmNTcwNzc4MTQ5NDcx
YTJlNDQzIC1yIDI3MGUzNWE5NzdkMGY5MDlmZTNlZWM5PQo1ZDc1N2JmOWE2MTgwNzY3NyB5dC9m
cm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMv
ZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lp
L2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMjA4LDcgKzIwOCw3IEBACiAgICAgZGVmIF9sb2FkX2Rh
dGEoc2VsZik6CiAgICAgICAgIGRhdGEgPTNEIFtdCiAgICAgICAgIGZvciBpIGluIHJhbmdlKHNl
bGYucGFyYW1ldGVyc1snbnVtX2VsZW0nXSk6Ci0gICAgICAgICAgICBjaSA9M0Qgc2VsZi5wYXJh
bWV0ZXJzWydjb25uZWN0aXZpdHknXVstMV0KKyAgICAgICAgICAgIGNpID0zRCBzZWxmLnBhcmFt
ZXRlcnNbJ2Nvbm5lY3Rpdml0eSddW2ldCiAgICAgICAgICAgICB2YWxzID0zRCB7fQo9MjAKICAg
ICAgICAgICAgIGZvciBqLCB2YXJfbmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5wYXJhbWV0ZXJzWyd2
YXJfbmFtZXMnXSk6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvOGI5OWQ0NThjNmE3LwpDaGFuZ2VzZXQ6ICAgOGI5OWQ0NThjNmE3CkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA4LTA1IDE5OjA2OjIw
KzAwOjAwClN1bW1hcnk6ICAgICBDYXRjaCB3aGVuIGluZm9fcmVjb3JkcyBhcmUgbm90IGxvYWRl
ZC4KQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciAyNzBlMzVhOTc3ZDBmOTA5ZmUzZWVjOTVk
NzU3YmY5YTYxODA3Njc3IC1yIDhiOTlkNDU4YzZhNzE1M2VlMDcyZWE1PQplODEwYzJiZTI0ZGU1
NDkzYSB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9m
cm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMv
ZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMTUxLDI3ICsxNTEsMjcgQEAKICAgICBk
ZWYgX2xvYWRfaW5mb19yZWNvcmRzKHNlbGYpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBy
ZXR1cm4gbG9hZF9pbmZvX3JlY29yZHMoc2VsZi5kcy52YXJpYWJsZXNbJ2luZm9fcmVjb3Jkcydd
KQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIFR5
cGVFcnJvcik6CiAgICAgICAgICAgICBteWxvZy53YXJuaW5nKCJObyBpbmZvX3JlY29yZHMgZm91
bmQiKQogICAgICAgICAgICAgcmV0dXJuIFtdCj0yMAogICAgIGRlZiBfZ2V0X3VuaXF1ZV9pZGVu
dGlmaWVyKHNlbGYpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJh
bWV0ZXJzWydpbmZvX3JlY29yZHMnXVsnVmVyc2lvbiBJbmZvJ11bJ0V4ZWN1dD0KYWJsZSBUaW1l
c3RhbXAnXQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIGV4Y2VwdCAoS2V5RXJy
b3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJhbWV0ZXJfZmlsZW5h
bWUuX19oYXNoX18oKQo9MjAKICAgICBkZWYgX2dldF9jdXJyZW50X3RpbWUoc2VsZik6CiAgICAg
ICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmVjb3Jk
cyddWydWZXJzaW9uIEluZm8nXVsnQ3VycmVuPQp0IFRpbWUnXQotICAgICAgICBleGNlcHQgS2V5
RXJyb3I6CisgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAg
ICByZXR1cm4gMC4wCj0yMAogICAgIGRlZiBfZ2V0X3Zhcl9uYW1lcyhzZWxmKToKICAgICAgICAg
dHJ5OgogICAgICAgICAgICAgcmV0dXJuIFtzYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBm
b3IgdiBpbgogICAgICAgICAgICAgICAgICAgICBzZWxmLmRzLnZhcmlhYmxlc1sibmFtZV9lbGVt
X3ZhciJdXQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIGV4Y2VwdCAoS2V5RXJy
b3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICBteWxvZy53YXJuaW5nKCJuYW1lX2VsZW1fdmFy
IG5vdCBmb3VuZCIpCiAgICAgICAgICAgICByZXR1cm4gW10KPTIwCkBAIC0xNzksNyArMTc5LDcg
QEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIFtzYW5pdGl6ZV9zdHJpbmcodi50
b3N0cmluZygpKSBmb3IgdiBpbgogICAgICAgICAgICAgICAgICAgICBzZWxmLmRzLnZhcmlhYmxl
c1sibmFtZV9ub2RfdmFyIl1dCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgZXhj
ZXB0IChLZXlFcnJvciwgVHlwZUVycm9yKToKICAgICAgICAgICAgIG15bG9nLndhcm5pbmcoIm5h
bWVfbm9kX3ZhciBub3QgZm91bmQiKQogICAgICAgICAgICAgcmV0dXJuIFtdCj0yMAoKCmh0dHBz
Oi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzQ4MmQ4ZTYxYjRkNi8KQ2hh
bmdlc2V0OiAgIDQ4MmQ4ZTYxYjRkNgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJv
aGNrcgpEYXRlOiAgICAgICAgMjAxNS0wOC0wNSAxOToxNToxNyswMDowMApTdW1tYXJ5OiAgICAg
TG9hZCBhbGwgdmFyaWFibGVzIGludG8gcGFyYW1ldGVycy4KQWZmZWN0ZWQgIzogIDEgZmlsZQoK
ZGlmZiAtciA4Yjk5ZDQ1OGM2YTcxNTNlZTA3MmVhNWU4MTBjMmJlMjRkZTU0OTNhIC1yIDQ4MmQ4
ZTYxYjRkNmM0ZGEwODc5MWU0PQpmNTRhYzAyYWRiYzU3Y2Q5OCB5dC9mcm9udGVuZHMvZXhvZHVz
X2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFf
c3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJl
cy5weQpAQCAtMTQ3LDYgKzE0Nyw3IEBACiAgICAgICAgIHNlbGYub21lZ2FfbGFtYmRhICAgICAg
ICAgICAgICAgPTNEIDAKICAgICAgICAgc2VsZi5vbWVnYV9tYXR0ZXIgICAgICAgICAgICAgICA9
M0QgMAogICAgICAgICBzZWxmLmh1YmJsZV9jb25zdGFudCAgICAgICAgICAgID0zRCAwCisgICAg
ICAgIHNlbGYuX2xvYWRfdmFyaWFibGVzKCkKPTIwCiAgICAgZGVmIF9sb2FkX2luZm9fcmVjb3Jk
cyhzZWxmKToKICAgICAgICAgdHJ5OgpAQCAtMjI4LDYgKzIyOSwxMCBAQAogICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXVs6LGRvbWFpbl9pZHhd
Lm1heCg9CildLAogICAgICAgICAgICAgICAgICAgICAgICAgJ2Zsb2F0NjQnKQo9MjAKKyAgICBk
ZWYgX2xvYWRfdmFyaWFibGVzKHNlbGYpOgorICAgICAgICBmb3Iga2V5IGluIHNlbGYuZHMudmFy
aWFibGVzLmtleXMoKToKKyAgICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1trZXldID0zRCBzZWxm
LmRzLnZhcmlhYmxlc1trZXldWzpdCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2lzX3Zh
bGlkKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICMgVGhpcyBhY2NlcHRzIGEgZmls
ZW5hbWUgb3IgYSBzZXQgb2YgYXJndW1lbnRzIGFuZCByZXR1cm5zIFRydWUgb3IKCgpodHRwczov
L2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy84NTg4ZjUyMzZhNDkvCkNoYW5n
ZXNldDogICA4NTg4ZjUyMzZhNDkKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hj
a3IKRGF0ZTogICAgICAgIDIwMTUtMDgtMDUgMTk6MjQ6MjErMDA6MDAKU3VtbWFyeTogICAgIExv
YWQgYWxsIHZhcmlhYmxlcyBmaXJzdCwgdGhlbiBsb2FkIG90aGVyIHBhcmFtcyBmcm9tIHRoYXQu
CkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgNDgyZDhlNjFiNGQ2YzRkYTA4NzkxZTRmNTRh
YzAyYWRiYzU3Y2Q5OCAtciA4NTg4ZjUyMzZhNDk5MzE3NWJiYzU2Yz0KM2YzMTA3YzQ2ZWFiYWM3
MGIgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJv
bnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4
b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTEwNSw3ICsxMDUsNiBAQAogICAgICAgICAg
ICAgICAgICBzdG9yYWdlX2ZpbGVuYW1lPTNETm9uZSwKICAgICAgICAgICAgICAgICAgdW5pdHNf
b3ZlcnJpZGU9M0ROb25lKToKPTIwCi0gICAgICAgIHNlbGYuZHMgPTNEIElPSGFuZGxlckV4b2R1
c0lJKGZpbGVuYW1lKS5kcwogICAgICAgICBzZWxmLmZsdWlkX3R5cGVzICs9M0QgKCdleG9kdXNf
aWknLCkKICAgICAgICAgc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUgPTNEIGZpbGVuYW1lCiAgICAg
ICAgIERhdGFzZXQuX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGRhdGFzZXRfdHlwZSwKQEAgLTEy
OSwxMSArMTI4LDEyIEBACiAgICAgICAgIHBhc3MKICAgID0yMAogICAgIGRlZiBfcGFyc2VfcGFy
YW1ldGVyX2ZpbGUoc2VsZik6Ci0gICAgICAgIHNlbGYuZGltZW5zaW9uYWxpdHkgICAgICAgICAg
ICAgPTNEIHNlbGYuZHMudmFyaWFibGVzWydjb29yX25hbWVzJz0KXS5zaGFwZVswXQorICAgICAg
ICBzZWxmLl9sb2FkX3ZhcmlhYmxlcygpCisgICAgICAgIHNlbGYuZGltZW5zaW9uYWxpdHkgICAg
ICAgICAgICAgPTNEIHNlbGYucGFyYW1ldGVyc1snY29vcl9uYW1lcyddLj0Kc2hhcGVbMF0KICAg
ICAgICAgc2VsZi5wYXJhbWV0ZXJzWydpbmZvX3JlY29yZHMnXSA9M0Qgc2VsZi5fbG9hZF9pbmZv
X3JlY29yZHMoKQogICAgICAgICBzZWxmLnVuaXF1ZV9pZGVudGlmaWVyICAgICAgICAgID0zRCBz
ZWxmLl9nZXRfdW5pcXVlX2lkZW50aWZpZXIoKQogICAgICAgICBzZWxmLmN1cnJlbnRfdGltZSAg
ICAgICAgICAgICAgID0zRCBzZWxmLl9nZXRfY3VycmVudF90aW1lKCkKLSAgICAgICAgc2VsZi5w
YXJhbWV0ZXJzWydudW1fZWxlbSddICAgICA9M0Qgc2VsZi5kc1snZWJfc3RhdHVzJ10uc2hhcGVb
MF0KKyAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydudW1fZWxlbSddICAgICA9M0Qgc2VsZi5wYXJh
bWV0ZXJzWydlYl9zdGF0dXMnXS5zPQpoYXBlWzBdCiAgICAgICAgIHNlbGYucGFyYW1ldGVyc1sn
dmFyX25hbWVzJ10gICAgPTNEIHNlbGYuX2dldF92YXJfbmFtZXMoKQogICAgICAgICBzZWxmLnBh
cmFtZXRlcnNbJ25vZF9uYW1lcyddICAgID0zRCBzZWxmLl9nZXRfbm9kX25hbWVzKCkKICAgICAg
ICAgc2VsZi5wYXJhbWV0ZXJzWydjb29yZGluYXRlcyddICA9M0Qgc2VsZi5fbG9hZF9jb29yZGlu
YXRlcygpCkBAIC0xNDcsMTEgKzE0NywxNSBAQAogICAgICAgICBzZWxmLm9tZWdhX2xhbWJkYSAg
ICAgICAgICAgICAgID0zRCAwCiAgICAgICAgIHNlbGYub21lZ2FfbWF0dGVyICAgICAgICAgICAg
ICAgPTNEIDAKICAgICAgICAgc2VsZi5odWJibGVfY29uc3RhbnQgICAgICAgICAgICA9M0QgMAot
ICAgICAgICBzZWxmLl9sb2FkX3ZhcmlhYmxlcygpCisKKyAgICBkZWYgX2xvYWRfdmFyaWFibGVz
KHNlbGYpOgorICAgICAgICBkcyA9M0QgSU9IYW5kbGVyRXhvZHVzSUkoc2VsZi5wYXJhbWV0ZXJf
ZmlsZW5hbWUpLmRzCisgICAgICAgIGZvciBrZXkgaW4gZHMudmFyaWFibGVzLmtleXMoKToKKyAg
ICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1trZXldID0zRCBkcy52YXJpYWJsZXNba2V5XVs6XQo9
MjAKICAgICBkZWYgX2xvYWRfaW5mb19yZWNvcmRzKHNlbGYpOgogICAgICAgICB0cnk6Ci0gICAg
ICAgICAgICByZXR1cm4gbG9hZF9pbmZvX3JlY29yZHMoc2VsZi5kcy52YXJpYWJsZXNbJ2luZm9f
cmVjb3JkcyddKQorICAgICAgICAgICAgcmV0dXJuIGxvYWRfaW5mb19yZWNvcmRzKHNlbGYucGFy
YW1ldGVyc1snaW5mb19yZWNvcmRzJ10pCiAgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIFR5cGVF
cnJvcik6CiAgICAgICAgICAgICBteWxvZy53YXJuaW5nKCJObyBpbmZvX3JlY29yZHMgZm91bmQi
KQogICAgICAgICAgICAgcmV0dXJuIFtdCkBAIC0xNzEsNyArMTc1LDcgQEAKICAgICBkZWYgX2dl
dF92YXJfbmFtZXMoc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBbc2Fu
aXRpemVfc3RyaW5nKHYudG9zdHJpbmcoKSkgZm9yIHYgaW4KLSAgICAgICAgICAgICAgICAgICAg
c2VsZi5kcy52YXJpYWJsZXNbIm5hbWVfZWxlbV92YXIiXV0KKyAgICAgICAgICAgICAgICAgICAg
c2VsZi5wYXJhbWV0ZXJzWyJuYW1lX2VsZW1fdmFyIl1dCiAgICAgICAgIGV4Y2VwdCAoS2V5RXJy
b3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICBteWxvZy53YXJuaW5nKCJuYW1lX2VsZW1fdmFy
IG5vdCBmb3VuZCIpCiAgICAgICAgICAgICByZXR1cm4gW10KQEAgLTE3OSw3ICsxODMsNyBAQAog
ICAgIGRlZiBfZ2V0X25vZF9uYW1lcyhzZWxmKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAg
cmV0dXJuIFtzYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBmb3IgdiBpbgotICAgICAgICAg
ICAgICAgICAgICBzZWxmLmRzLnZhcmlhYmxlc1sibmFtZV9ub2RfdmFyIl1dCisgICAgICAgICAg
ICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1sibmFtZV9ub2RfdmFyIl1dCiAgICAgICAgIGV4Y2Vw
dCAoS2V5RXJyb3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICBteWxvZy53YXJuaW5nKCJuYW1l
X25vZF92YXIgbm90IGZvdW5kIikKICAgICAgICAgICAgIHJldHVybiBbXQpAQCAtMTkyLDE4ICsx
OTYsMTggQEAKPTIwCiAgICAgICAgIG15bG9nLmluZm8oIkxvYWRpbmcgY29vcmRpbmF0ZXMiKQo9
MjAKLSAgICAgICAgaWYgJ2Nvb3JkJyBpbiBzZWxmLmRzLnZhcmlhYmxlcy5rZXlzKCk6CisgICAg
ICAgIGlmICdjb29yZCcgaW4gc2VsZi5wYXJhbWV0ZXJzLmtleXMoKToKICAgICAgICAgICAgIHJl
dHVybiBucC5hcnJheShbY29vcmQgZm9yIGNvb3JkIGluCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuZHMudmFyaWFibGVzWyJjb29yZCJdWzpdXSkudHJhbnNwb3NlKCkuYz0Kb3B5
KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWyJjb29yZCJd
WzpdXSkudHJhbnNwb3NlKCkuY29wPQp5KCkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJl
dHVybiBucC5hcnJheShbc2VsZi5kcy52YXJpYWJsZXNbImNvb3JkJXMiICUgYXhdWzpdCisgICAg
ICAgICAgICByZXR1cm4gbnAuYXJyYXkoW3NlbGYucGFyYW1ldGVyc1siY29vcmQlcyIgJSBheF1b
Ol0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGF4IGluIGNvb3JkX2F4ZXNdKS50
cmFuc3Bvc2UoKS5jb3B5KCkKICAgID0yMAogICAgIGRlZiBfbG9hZF9jb25uZWN0aXZpdHkoc2Vs
Zik6CiAgICAgICAgIG15bG9nLmluZm8oIkxvYWRpbmcgY29ubmVjdGl2aXR5IikKICAgICAgICAg
Y29ubmVjdGl2aXR5ID0zRCBbXQogICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnBhcmFtZXRl
cnNbJ251bV9lbGVtJ10pOgotICAgICAgICAgICAgY29ubmVjdGl2aXR5LmFwcGVuZChzZWxmLmRz
LnZhcmlhYmxlc1siY29ubmVjdCVkIiAlIChpKzEpXVs6XS49CmFzdHlwZSgiaTgiKSkKKyAgICAg
ICAgICAgIGNvbm5lY3Rpdml0eS5hcHBlbmQoc2VsZi5wYXJhbWV0ZXJzWyJjb25uZWN0JWQiICUg
KGkrMSldWzpdLmFzPQp0eXBlKCJpOCIpKQogICAgICAgICByZXR1cm4gY29ubmVjdGl2aXR5Cj0y
MAogICAgIGRlZiBfbG9hZF9kYXRhKHNlbGYpOgpAQCAtMjEzLDEyICsyMTcsMTIgQEAKICAgICAg
ICAgICAgIHZhbHMgPTNEIHt9Cj0yMAogICAgICAgICAgICAgZm9yIGosIHZhcl9uYW1lIGluIGVu
dW1lcmF0ZShzZWxmLnBhcmFtZXRlcnNbJ3Zhcl9uYW1lcyddKToKLSAgICAgICAgICAgICAgICB2
YWxzWydnYXMnLCB2YXJfbmFtZV0gPTNEIHNlbGYuZHNbInZhbHNfZWxlbV92YXIlc2ViJXMiICUg
PQooaisxLCBpKzEpXVs6XS5hc3R5cGUoImY4IilbLTEsOl0KKyAgICAgICAgICAgICAgICB2YWxz
WydnYXMnLCB2YXJfbmFtZV0gPTNEIHNlbGYucGFyYW1ldGVyc1sidmFsc19lbGVtX3ZhciVzPQpl
YiVzIiAlIChqKzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQo9MjAKICAgICAgICAgICAg
IGZvciBqLCBub2RfbmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5wYXJhbWV0ZXJzWydub2RfbmFtZXMn
XSk6CiAgICAgICAgICAgICAgICAgIyBXZSB3YW50IGp1c3QgZm9yIHRoaXMgc2V0IG9mIG5vZGVz
IGFsbCB0aGUgbm9kZSB2YXJpYWJsZXMKICAgICAgICAgICAgICAgICAjIFVzZSAoY2kgLSAxKSB0
byBnZXQgdGhlc2UgdmFsdWVzCi0gICAgICAgICAgICAgICAgdmFsc1snZ2FzJywgbm9kX25hbWVd
ID0zRCBzZWxmLmRzWyJ2YWxzX25vZF92YXIlcyIgJSAoaisxKT0KXVs6XS5hc3R5cGUoImY4Iilb
LTEsIGNpIC0gMSwgLi4uXQorICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIG5vZF9uYW1lXSA9
M0Qgc2VsZi5wYXJhbWV0ZXJzWyJ2YWxzX25vZF92YXIlcyI9CiAlIChqKzEpXVs6XS5hc3R5cGUo
ImY4IilbLTEsIGNpIC0gMSwgLi4uXQo9MjAKICAgICAgICAgICAgIGRhdGEuYXBwZW5kKHZhbHMp
Cj0yMApAQCAtMjI5LDEwICsyMzMsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
cGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXVs6LGRvbWFpbl9pZHhdLm1heCg9CildLAogICAgICAg
ICAgICAgICAgICAgICAgICAgJ2Zsb2F0NjQnKQo9MjAKLSAgICBkZWYgX2xvYWRfdmFyaWFibGVz
KHNlbGYpOgotICAgICAgICBmb3Iga2V5IGluIHNlbGYuZHMudmFyaWFibGVzLmtleXMoKToKLSAg
ICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1trZXldID0zRCBzZWxmLmRzLnZhcmlhYmxlc1trZXld
WzpdCi0KICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2lzX3ZhbGlkKHNlbGYsICphcmdzLCAq
Kmt3YXJncyk6CiAgICAgICAgICMgVGhpcyBhY2NlcHRzIGEgZmlsZW5hbWUgb3IgYSBzZXQgb2Yg
YXJndW1lbnRzIGFuZCByZXR1cm5zIFRydWUgb3IKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRf
YW5hbHlzaXMveXQvY29tbWl0cy8xNDQ3ZWQ5MzYzNmMvCkNoYW5nZXNldDogICAxNDQ3ZWQ5MzYz
NmMKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIw
MTUtMDgtMDUgMTk6MzI6MTQrMDA6MDAKU3VtbWFyeTogICAgIERvIG5vdCBwYXNzIGhhc2ggYXJn
CkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgODU4OGY1MjM2YTQ5OTMxNzViYmM1NmMzZjMx
MDdjNDZlYWJhYzcwYiAtciAxNDQ3ZWQ5MzYzNmNiNjNiNDc4Yjk1Nz0KNGE3ZDFhMWY5ZWM3NDNl
YmMgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJv
bnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4
b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTE1MSw3ICsxNTEsNyBAQAogICAgIGRlZiBf
bG9hZF92YXJpYWJsZXMoc2VsZik6CiAgICAgICAgIGRzID0zRCBJT0hhbmRsZXJFeG9kdXNJSShz
ZWxmLnBhcmFtZXRlcl9maWxlbmFtZSkuZHMKICAgICAgICAgZm9yIGtleSBpbiBkcy52YXJpYWJs
ZXMua2V5cygpOgotICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzW2tleV0gPTNEIGRzLnZhcmlh
Ymxlc1trZXldWzpdCisgICAgICAgICAgICBzZWxmLnBhcmFtZXRlcnNba2V5XSA9M0QgZHMudmFy
aWFibGVzW2tleV0KPTIwCiAgICAgZGVmIF9sb2FkX2luZm9fcmVjb3JkcyhzZWxmKToKICAgICAg
ICAgdHJ5OgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzdh
OTI3ZWExMDgwZC8KQ2hhbmdlc2V0OiAgIDdhOTI3ZWExMDgwZApCcmFuY2g6ICAgICAgeXQKVXNl
cjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wOC0wNSAyMDozMDo1MyswMDow
MApTdW1tYXJ5OiAgICAgUmVuYW1lIEV4b2R1c0lJRmlsZUhhbmRsZXIgdG8gTmV0Q0RGNEZpbGVI
YW5kbGVyCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIDE0NDdlZDkzNjM2Y2I2M2I0Nzhi
OTU3NGE3ZDFhMWY5ZWM3NDNlYmMgLXIgN2E5MjdlYTEwODBkY2Y4OTU3MjJiYzE9CjRmY2YwOWI4
YzViMGQ1YmFhIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKLS0tIGEveXQvZnJvbnRlbmRz
L2V4b2R1c19paS9pby5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CkBAIC0x
Nyw3ICsxNyw3IEBACiBmcm9tIHl0LnV0aWxpdGllcy5pb19oYW5kbGVyIGltcG9ydCBcCiAgICAg
QmFzZUlPSGFuZGxlcgogZnJvbSB5dC51dGlsaXRpZXMuZmlsZV9oYW5kbGVyIGltcG9ydCBcCi0g
ICAgRXhvZHVzSUlGaWxlSGFuZGxlcgorICAgIE5ldENERjRGaWxlSGFuZGxlcgogZnJvbSB5dC51
dGlsaXRpZXMubG9nZ2VyIGltcG9ydCB5dExvZ2dlciBhcyBteWxvZwo9MjAKIGNsYXNzIElPSGFu
ZGxlckV4b2R1c0lJKEJhc2VJT0hhbmRsZXIpOgpAQCAtMjgsNyArMjgsNyBAQAo9MjAKICAgICBk
ZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUpOgogICAgICAgICBzZWxmLmZpbGVuYW1lID0zRCBm
aWxlbmFtZQotICAgICAgICBleG9kdXNfaWlfaGFuZGxlciAgICAgICA9M0QgRXhvZHVzSUlGaWxl
SGFuZGxlcihmaWxlbmFtZSkKKyAgICAgICAgZXhvZHVzX2lpX2hhbmRsZXIgICAgICAgPTNEIE5l
dENERjRGaWxlSGFuZGxlcihmaWxlbmFtZSkKICAgICAgICAgc2VsZi5kcyAgPTNEIGV4b2R1c19p
aV9oYW5kbGVyLmRhdGFzZXQKPTIwCiAgICAgZGVmIF9yZWFkX3BhcnRpY2xlX2Nvb3JkcyhzZWxm
LCBjaHVua3MsIHB0Zik6CgpkaWZmIC1yIDE0NDdlZDkzNjM2Y2I2M2I0NzhiOTU3NGE3ZDFhMWY5
ZWM3NDNlYmMgLXIgN2E5MjdlYTEwODBkY2Y4OTU3MjJiYzE9CjRmY2YwOWI4YzViMGQ1YmFhIHl0
L3V0aWxpdGllcy9maWxlX2hhbmRsZXIucHkKLS0tIGEveXQvdXRpbGl0aWVzL2ZpbGVfaGFuZGxl
ci5weQorKysgYi95dC91dGlsaXRpZXMvZmlsZV9oYW5kbGVyLnB5CkBAIC03NSw3ICs3NSw3IEBA
CiAgICAgZGVmIGNsb3NlKHNlbGYpOgogICAgICAgICBwYXNzCj0yMAotY2xhc3MgRXhvZHVzSUlG
aWxlSGFuZGxlcihvYmplY3QpOgorY2xhc3MgTmV0Q0RGNEZpbGVIYW5kbGVyKG9iamVjdCk6CiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lKToKICAgICAgICAgZnJvbSBuZXRDREY0IGlt
cG9ydCBEYXRhc2V0CiAgICAgICAgIGRzID0zRCBEYXRhc2V0KGZpbGVuYW1lKQoKCmh0dHBzOi8v
Yml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzQ4MTgyOWVkZThlMC8KQ2hhbmdl
c2V0OiAgIDQ4MTgyOWVkZThlMApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNr
cgpEYXRlOiAgICAgICAgMjAxNS0wOC0xMCAyMDo1OTo1MSswMDowMApTdW1tYXJ5OiAgICAgU2V0
dXAgdW5zdHJ1Y3R1cmVkIG1lc2ggaW4gRXhvZHVzSUkgZnJvbnRlbmQuCkFmZmVjdGVkICM6ICAx
IGZpbGUKCmRpZmYgLXIgN2E5MjdlYTEwODBkY2Y4OTU3MjJiYzE0ZmNmMDliOGM1YjBkNWJhYSAt
ciA0ODE4MjllZGU4ZTA1MTk3N2E2ODY0NT0KMmVhOWNjZjYwNjVlYmZlZTYgeXQvZnJvbnRlbmRz
L2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19p
aS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0
cnVjdHVyZXMucHkKQEAgLTI0LDYgKzI0LDggQEAKICAgICBHcmlkSW5kZXgKIGZyb20geXQuZ2Vv
bWV0cnkudW5zdHJ1Y3R1cmVkX21lc2hfaGFuZGxlciBpbXBvcnQgXAogICAgICBVbnN0cnVjdHVy
ZWRJbmRleAorZnJvbSB5dC5kYXRhX29iamVjdHMudW5zdHJ1Y3R1cmVkX21lc2ggaW1wb3J0IFwK
KyAgICAgVW5zdHJ1Y3R1cmVkTWVzaAogZnJvbSB5dC5kYXRhX29iamVjdHMuc3RhdGljX291dHB1
dCBpbXBvcnQgXAogICAgIERhdGFzZXQKIGZyb20geXQudXRpbGl0aWVzLmlvX2hhbmRsZXIgaW1w
b3J0IFwKQEAgLTM1LDY1ICszNywxNSBAQAogZnJvbSAudXRpbCBpbXBvcnQgXAogICAgIGxvYWRf
aW5mb19yZWNvcmRzLCBzYW5pdGl6ZV9zdHJpbmcKPTIwCi1jbGFzcyBFeG9kdXNJSUdyaWQoQU1S
R3JpZFBhdGNoKToKLSAgICBfaWRfb2Zmc2V0ID0zRCAxCi0gICAgZGVmIF9faW5pdF9fKHNlbGYs
IGlkLCBpbmRleCwgbGV2ZWwsIHN0YXJ0LCBkaW1lbnNpb25zKToKLSAgICAgICAgQU1SR3JpZFBh
dGNoLl9faW5pdF9fKHNlbGYsIGlkLCBmaWxlbmFtZT0zRGluZGV4LmluZGV4X2ZpbGVuYW1lLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9M0RpbmRleCkKLSAgICAgICAgc2Vs
Zi5QYXJlbnQgPTNEIFtdCi0gICAgICAgIHNlbGYuQ2hpbGRyZW4gPTNEIFtdCi0gICAgICAgIHNl
bGYuTGV2ZWwgPTNEIGxldmVsCi0gICAgICAgIHNlbGYuc3RhcnRfaW5kZXggPTNEIHN0YXJ0LmNv
cHkoKQotICAgICAgICBzZWxmLnN0b3BfaW5kZXggPTNEIHNlbGYuc3RhcnRfaW5kZXggKyBkaW1l
bnNpb25zCi0gICAgICAgIHNlbGYuQWN0aXZlRGltZW5zaW9ucyA9M0QgZGltZW5zaW9ucy5jb3B5
KCkKK2NsYXNzIEV4b2R1c0lJVW5zdHJ1Y3R1cmVkTWVzaChVbnN0cnVjdHVyZWRNZXNoKToKKyAg
ICBfaW5kZXhfb2Zmc2V0ID0zRCAxCj0yMAotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAg
ICAgcmV0dXJuICJFeG9kdXNJSUdyaWRfJTA0aSAoJXMpIiAlIChzZWxmLmlkLCBzZWxmLkFjdGl2
ZURpbWVuc2lvbnMpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6Cisg
ICAgICAgIHN1cGVyKEV4b2R1c0lJVW5zdHJ1Y3R1cmVkTWVzaCwgc2VsZikuX19pbml0X18oKmFy
Z3MsICoqa3dhcmdzKQo9MjAKLWNsYXNzIEV4b2R1c0lJSGllcmFyY2h5KFVuc3RydWN0dXJlZElu
ZGV4KToKLSAgICBncmlkID0zRCBFeG9kdXNJSUdyaWQKLQotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBkcywgZGF0YXNldF90eXBlPTNEJ2V4b2R1c19paScpOgotICAgICAgICBzZWxmLmRhdGFzZXRf
dHlwZSA9M0QgZGF0YXNldF90eXBlCi0gICAgICAgICMgZm9yIG5vdywgdGhlIGluZGV4IGZpbGUg
aXMgdGhlIGRhdGFzZXQhCi0gICAgICAgIHNlbGYuaW5kZXhfZmlsZW5hbWUgPTNEIHNlbGYuZGF0
YXNldC5wYXJhbWV0ZXJfZmlsZW5hbWUKLSAgICAgICAgc2VsZi5kaXJlY3RvcnkgPTNEIG9zLnBh
dGguZGlybmFtZShzZWxmLmluZGV4X2ZpbGVuYW1lKQotICAgICAgICBHcmlkSW5kZXguX19pbml0
X18oc2VsZiwgZHMsIGRhdGFzZXRfdHlwZSkKLQotICAgIGRlZiBfZGV0ZWN0X291dHB1dF9maWVs
ZHMoc2VsZik6Ci0gICAgICAgICMgVGhpcyBuZWVkcyB0byBzZXQgYSBzZWxmLmZpZWxkX2xpc3Qg
dGhhdCBjb250YWlucyBhbGwgdGhlIGF2YWlsYT0KYmxlLAotICAgICAgICAjIG9uLWRpc2sgZmll
bGRzLgotICAgICAgICAjIE5PVEU6IEVhY2ggc2hvdWxkIGJlIGEgdHVwbGUsIHdoZXJlIHRoZSBm
aXJzdCBlbGVtZW50IGlzIHRoZSBvbi09CmRpc2sKLSAgICAgICAgIyBmbHVpZCB0eXBlIG9yIHBh
cnRpY2xlIHR5cGUuICBDb252ZW50aW9uIHN1Z2dlc3RzIHRoYXQgdGhlIG9uLWRpPQpzawotICAg
ICAgICAjIGZsdWlkIHR5cGUgaXMgdXN1YWxseSB0aGUgZGF0YXNldF90eXBlIGFuZCB0aGUgb24t
ZGlzayBwYXJ0aWNsZSA9CnR5cGUKLSAgICAgICAgIyAoZm9yIGEgc2luZ2xlIHBvcHVsYXRpb24g
b2YgcGFydGljbGVzKSBpcyAiaW8iLgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgX2NvdW50X2dy
aWRzKHNlbGYpOgotICAgICAgICAjIFRoaXMgbmVlZHMgdG8gc2V0IHNlbGYubnVtX2dyaWRzCi0g
ICAgICAgIHBhc3MKLQotICAgIGRlZiBfcGFyc2VfaW5kZXgoc2VsZik6Ci0gICAgICAgICMgVGhp
cyBuZWVkcyB0byBmaWxsIHRoZSBmb2xsb3dpbmcgYXJyYXlzLCB3aGVyZSBOIGlzIHNlbGYubnVt
X2dyaT0KZHM6Ci0gICAgICAgICMgICBzZWxmLmdyaWRfbGVmdF9lZGdlICAgICAgICAgKE4sIDMp
IDw9M0QgZmxvYXQ2NAotICAgICAgICAjICAgc2VsZi5ncmlkX3JpZ2h0X2VkZ2UgICAgICAgIChO
LCAzKSA8PTNEIGZsb2F0NjQKLSAgICAgICAgIyAgIHNlbGYuZ3JpZF9kaW1lbnNpb25zICAgICAg
ICAoTiwgMykgPD0zRCBpbnQKLSAgICAgICAgIyAgIHNlbGYuZ3JpZF9wYXJ0aWNsZV9jb3VudCAg
ICAoTiwgMSkgPD0zRCBpbnQKLSAgICAgICAgIyAgIHNlbGYuZ3JpZF9sZXZlbHMgICAgICAgICAg
ICAoTiwgMSkgPD0zRCBpbnQKLSAgICAgICAgIyAgIHNlbGYuZ3JpZHMgICAgICAgICAgICAgICAg
ICAoTiwgMSkgPD0zRCBncmlkIG9iamVjdHMKLSAgICAgICAgIwotICAgICAgICBwYXNzCi0KLSAg
ICBkZWYgX3BvcHVsYXRlX2dyaWRfb2JqZWN0cyhzZWxmKToKLSAgICAgICAgIyBGb3IgZWFjaCBn
cmlkLCB0aGlzIG11c3QgY2FsbDoKLSAgICAgICAgIyAgIGdyaWQuX3ByZXBhcmVfZ3JpZCgpCi0g
ICAgICAgICMgICBncmlkLl9zZXR1cF9keCgpCi0gICAgICAgICMgVGhpcyBtdXN0IGFsc28gc2V0
OgotICAgICAgICAjICAgZ3JpZC5DaGlsZHJlbiA8PTNEIGxpc3Qgb2YgY2hpbGQgZ3JpZHMKLSAg
ICAgICAgIyAgIGdyaWQuUGFyZW50ICAgPD0zRCBwYXJlbnQgZ3JpZAotICAgICAgICAjIFRoaXMg
aXMgaGFuZGxlZCBieSB0aGUgZnJvbnRlbmQgYmVjYXVzZSBvZnRlbiB0aGUgY2hpbGRyZW4gbXVz
dCA9CmJlCi0gICAgICAgICMgaWRlbnRpZmllZC4KLSAgICAgICAgcGFzcworY2xhc3MgRXhvZHVz
SUlVbnN0cnVjdHVyZWRJbmRleChVbnN0cnVjdHVyZWRJbmRleCk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGRzLCBkYXRhc2V0X3R5cGUgPTNEICdleG9kdXNfaWknKToKKyAgICAgICAgc3VwZXIo
RXhvZHVzSUlVbnN0cnVjdHVyZWRJbmRleCwgc2VsZikuX19pbml0X18oZHMsIGRhdGFzZXRfdHlw
ZSkKPTIwCiBjbGFzcyBFeG9kdXNJSURhdGFzZXQoRGF0YXNldCk6CiAgICAgX2luZGV4X2NsYXNz
ID0zRCBFeG9kdXNJSUhpZXJhcmNoeQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNp
cy95dC9jb21taXRzLzg4Yzg2MmI3ZWIxMi8KQ2hhbmdlc2V0OiAgIDg4Yzg2MmI3ZWIxMgpCcmFu
Y2g6ICAgICAgeXQKVXNlcjogICAgICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wOC0x
MSAxODoyMDoyMSswMDowMApTdW1tYXJ5OiAgICAgQWRkIGRvY3N0cmluZy4KQWZmZWN0ZWQgIzog
IDEgZmlsZQoKZGlmZiAtciA0ODE4MjllZGU4ZTA1MTk3N2E2ODY0NTJlYTljY2Y2MDY1ZWJmZWU2
IC1yIDg4Yzg2MmI3ZWIxMjcyNjhiODBmOGQxPQpiYjYzOTc1ZDJkYjY2MGRlNSB5dC9mcm9udGVu
ZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVz
X2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFf
c3RydWN0dXJlcy5weQpAQCAtNDgsNyArNDgsNyBAQAogICAgICAgICBzdXBlcihFeG9kdXNJSVVu
c3RydWN0dXJlZEluZGV4LCBzZWxmKS5fX2luaXRfXyhkcywgZGF0YXNldF90eXBlKQo9MjAKIGNs
YXNzIEV4b2R1c0lJRGF0YXNldChEYXRhc2V0KToKLSAgICBfaW5kZXhfY2xhc3MgPTNEIEV4b2R1
c0lJSGllcmFyY2h5CisgICAgX2luZGV4X2NsYXNzID0zRCBFeG9kdXNJSVVuc3RydWN0dXJlZElu
ZGV4CiAgICAgX2ZpZWxkX2luZm9fY2xhc3MgPTNEIEV4b2R1c0lJRmllbGRJbmZvCj0yMAogICAg
IGRlZiBfX2luaXRfXyhzZWxmLApAQCAtMTA2LDYgKzEwNiw5IEBACiAgICAgICAgICAgICBzZWxm
LnBhcmFtZXRlcnNba2V5XSA9M0QgZHMudmFyaWFibGVzW2tleV0KPTIwCiAgICAgZGVmIF9sb2Fk
X2luZm9fcmVjb3JkcyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFJldHVybnMgcGFyc2Vk
IHZlcnNpb24gb2YgdGhlIGluZm9fcmVjb3JkcworICAgICAgICAiIiIKICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgcmV0dXJuIGxvYWRfaW5mb19yZWNvcmRzKHNlbGYucGFyYW1ldGVyc1snaW5m
b19yZWNvcmRzJ10pCiAgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIFR5cGVFcnJvcik6CgoKaHR0
cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZDdmMjAzNDgwYzZhLwpD
aGFuZ2VzZXQ6ICAgZDdmMjAzNDgwYzZhCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXN0
cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA4LTExIDE4OjMzOjA4KzAwOjAwClN1bW1hcnk6ICAg
ICBBZGQgbW9yZSBkb2NzdHJpbmdzCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgODhjODYy
YjdlYjEyNzI2OGI4MGY4ZDFiYjYzOTc1ZDJkYjY2MGRlNSAtciBkN2YyMDM0ODBjNmE0ODY0MDkw
ZGE1ZD0KNDI2MmQ4OWQ2YzJjNmUwNmYgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVj
dHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkK
KysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTEyOCw2
ICsxMjgsOSBAQAogICAgICAgICAgICAgcmV0dXJuIDAuMAo9MjAKICAgICBkZWYgX2dldF92YXJf
bmFtZXMoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBSZXR1cm5zIHRoZSBuYW1lcyBvZiB0
aGUgZWxlbWVudCB2YXJzLCBpZiBhdmFpbGFibGUKKyAgICAgICAgIiIiCiAgICAgICAgIHRyeToK
ICAgICAgICAgICAgIHJldHVybiBbc2FuaXRpemVfc3RyaW5nKHYudG9zdHJpbmcoKSkgZm9yIHYg
aW4KICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWyJuYW1lX2VsZW1fdmFyIl1d
CkBAIC0xMzYsNiArMTM5LDkgQEAKICAgICAgICAgICAgIHJldHVybiBbXQo9MjAKICAgICBkZWYg
X2dldF9ub2RfbmFtZXMoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBSZXR1cm5zIHRoZSBu
YW1lcyBvZiB0aGUgbm9kZSB2YXJzLCBpZiBhdmFpbGFibGUKKyAgICAgICAgIiIiCiAgICAgICAg
IHRyeToKICAgICAgICAgICAgIHJldHVybiBbc2FuaXRpemVfc3RyaW5nKHYudG9zdHJpbmcoKSkg
Zm9yIHYgaW4KICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWyJuYW1lX25vZF92
YXIiXV0KQEAgLTE0NCw2ICsxNTAsOSBAQAogICAgICAgICAgICAgcmV0dXJuIFtdCj0yMAogICAg
IGRlZiBfbG9hZF9jb29yZGluYXRlcyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIExvYWRz
IHRoZSBjb29yZGluYXRlcyBmb3IgdGhlIG1lc2gKKyAgICAgICAgIiIiCiAgICAgICAgIGlmIHNl
bGYuZGltZW5zaW9uYWxpdHkgPTNEPTNEIDM6CiAgICAgICAgICAgICBjb29yZF9heGVzID0zRCAn
eHl6JwogICAgICAgICBlbGlmIHNlbGYuZGltZW5zaW9uYWxpdHkgPTNEPTNEIDI6CkBAIC0xNTks
NiArMTY4LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGF4IGluIGNvb3Jk
X2F4ZXNdKS50cmFuc3Bvc2UoKS5jb3B5KCkKICAgID0yMAogICAgIGRlZiBfbG9hZF9jb25uZWN0
aXZpdHkoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBMb2FkcyB0aGUgY29ubmVjdGl2aXR5
IGRhdGEgZm9yIHRoZSBtZXNoCisgICAgICAgICIiIgogICAgICAgICBteWxvZy5pbmZvKCJMb2Fk
aW5nIGNvbm5lY3Rpdml0eSIpCiAgICAgICAgIGNvbm5lY3Rpdml0eSA9M0QgW10KICAgICAgICAg
Zm9yIGkgaW4gcmFuZ2Uoc2VsZi5wYXJhbWV0ZXJzWydudW1fZWxlbSddKToKQEAgLTE2Niw2ICsx
NzgsOSBAQAogICAgICAgICByZXR1cm4gY29ubmVjdGl2aXR5Cj0yMAogICAgIGRlZiBfbG9hZF9k
YXRhKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgTG9hZHMgdGhlIGZsdWlkIGRhdGEKKyAg
ICAgICAgIiIiCiAgICAgICAgIGRhdGEgPTNEIFtdCiAgICAgICAgIGZvciBpIGluIHJhbmdlKHNl
bGYucGFyYW1ldGVyc1snbnVtX2VsZW0nXSk6CiAgICAgICAgICAgICBjaSA9M0Qgc2VsZi5wYXJh
bWV0ZXJzWydjb25uZWN0aXZpdHknXVtpXQpAQCAtMTg0LDYgKzE5OSwxMiBAQAogICAgICAgICBy
ZXR1cm4gZGF0YQo9MjAKICAgICBkZWYgX2xvYWRfZG9tYWluX2VkZ2Uoc2VsZiwgZG9tYWluX2lk
eCk6CisgICAgICAgICIiIgorICAgICAgICBMb2FkcyB0aGUgYm91bmRhcmllcyBmb3IgdGhlIGRv
bWFpbiBlZGdlCisgICAgICAgPTIwCisgICAgICAgIFBhcmFtZXRlcnM6CisgICAgICAgIC0gZG9t
YWluX2lkeDogMCBjb3JyZXNwb25kcyB0byB0aGUgbGVmdCBlZGdlLCAxIGNvcnJlc3BvbmRzIHRv
IHRoZT0KIHJpZ2h0IGVkZ2UKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBucC5hcnJheShb
c2VsZi5wYXJhbWV0ZXJzWydjb29yZGluYXRlcyddWzosZG9tYWluX2lkeF0ubWluKD0KKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJ11bOixk
b21haW5faWR4XS5tYXgoPQopXSwKICAgICAgICAgICAgICAgICAgICAgICAgICdmbG9hdDY0JykK
CgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9hMWUyMTM4YjEw
MmEvCkNoYW5nZXNldDogICBhMWUyMTM4YjEwMmEKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAg
ICBhc3Ryb2hja3IKRGF0ZTogICAgICAgIDIwMTUtMDgtMTEgMTg6NDA6MTArMDA6MDAKU3VtbWFy
eTogICAgIEFkZCBkb2NzdHJpbmcgZm9yIGxvYWRfdmFyaWFibGVzCkFmZmVjdGVkICM6ICAxIGZp
bGUKCmRpZmYgLXIgZDdmMjAzNDgwYzZhNDg2NDA5MGRhNWQ0MjYyZDg5ZDZjMmM2ZTA2ZiAtciBh
MWUyMTM4YjEwMmE3NzM3ODg4ODI3MD0KYTBmYTI3MTczM2NmNDA1ODMgeXQvZnJvbnRlbmRzL2V4
b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9k
YXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVj
dHVyZXMucHkKQEAgLTU3LDExICs1NywxMiBAQAogICAgICAgICAgICAgICAgICBzdG9yYWdlX2Zp
bGVuYW1lPTNETm9uZSwKICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0ROb25lKToK
PTIwCi0gICAgICAgIHNlbGYuZmx1aWRfdHlwZXMgKz0zRCAoJ2V4b2R1c19paScsKQotICAgICAg
ICBzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSA9M0QgZmlsZW5hbWUKKyAgICAgICAgc2VsZi5mbHVp
ZF90eXBlcyArICAgICAgICAgICAgICA9M0QgKCdleG9kdXNfaWknLCkKKyAgICAgICAgc2VsZi5w
YXJhbWV0ZXJfZmlsZW5hbWUgICAgICAgICA9M0QgZmlsZW5hbWUKICAgICAgICAgRGF0YXNldC5f
X2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNldF90eXBlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuaXRzX292ZXJyaWRlPTNEdW5pdHNfb3ZlcnJpZGUpCi0gICAgICAgIHNlbGYuc3Rv
cmFnZV9maWxlbmFtZSA9M0Qgc3RvcmFnZV9maWxlbmFtZQorICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuaXRzX292ZXJyaWRlID0zRCB1bml0c19vdmVycmlkZSkKKyAgICAgICAgc2VsZi5pbmRl
eF9maWxlbmFtZSAgICAgICAgICAgICA9M0QgZmlsZW5hbWUKKyAgICAgICAgc2VsZi5zdG9yYWdl
X2ZpbGVuYW1lICAgICAgICAgICA9M0Qgc3RvcmFnZV9maWxlbmFtZQo9MjAKICAgICBkZWYgX3Nl
dF9jb2RlX3VuaXRfYXR0cmlidXRlcyhzZWxmKToKICAgICAgICAgIyBUaGlzIGlzIHdoZXJlIHF1
YW50aXRpZXMgYXJlIGNyZWF0ZWQgdGhhdCByZXByZXNlbnQgdGhlIHZhcmlvdXMKQEAgLTEwMSw2
ICsxMDIsMTAgQEAKICAgICAgICAgc2VsZi5odWJibGVfY29uc3RhbnQgICAgICAgICAgICA9M0Qg
MAo9MjAKICAgICBkZWYgX2xvYWRfdmFyaWFibGVzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAg
ICAgTG9hZHMgZWFjaCBrZXktcGFpciBpbiB0aGUgRXhvZHVzIElJIGlucHV0IGZpbGUKKyAgICAg
ICAgYXMgYSBwYXJhbWV0ZXIKKyAgICAgICAgIiIiCiAgICAgICAgIGRzID0zRCBJT0hhbmRsZXJF
eG9kdXNJSShzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSkuZHMKICAgICAgICAgZm9yIGtleSBpbiBk
cy52YXJpYWJsZXMua2V5cygpOgogICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzW2tleV0gPTNE
IGRzLnZhcmlhYmxlc1trZXldCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L2NvbW1pdHMvNWI0NDA0MTcxMGM1LwpDaGFuZ2VzZXQ6ICAgNWI0NDA0MTcxMGM1CkJyYW5jaDog
ICAgICB5dApVc2VyOiAgICAgICAgYXN0cm9oY2tyCkRhdGU6ICAgICAgICAyMDE1LTA4LTExIDE4
OjU1OjAyKzAwOjAwClN1bW1hcnk6ICAgICBEZWZpbmUgc3ViY2xhc3MnIF9pbml0aWFsaXplX21l
c2gKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBhMWUyMTM4YjEwMmE3NzM3ODg4ODI3MGEw
ZmEyNzE3MzNjZjQwNTgzIC1yIDViNDQwNDE3MTBjNTFkYjhiMmFlZmUwPQphODIxODM5MzJiMGRi
MzU1MiB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9m
cm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMv
ZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQpAQCAtNDcsNiArNDcsMTMgQEAKICAgICBkZWYg
X19pbml0X18oc2VsZiwgZHMsIGRhdGFzZXRfdHlwZSA9M0QgJ2V4b2R1c19paScpOgogICAgICAg
ICBzdXBlcihFeG9kdXNJSVVuc3RydWN0dXJlZEluZGV4LCBzZWxmKS5fX2luaXRfXyhkcywgZGF0
YXNldF90eXBlKQo9MjAKKyAgICBkZWYgX2luaXRpYWxpemVfbWVzaChzZWxmKToKKyAgICAgICAg
c2VsZi5tZXNoZXMgPTNEIFtFeG9kdXNJSVVuc3RydWN0dXJlZE1lc2goCisgICAgICAgICAgICBt
ZXNoX2lkLCBzZWxmLmluZGV4X2ZpbGVuYW1lLCBjb25uX2luZCwgY29ubl9jb29yZCwgc2VsZikK
KyAgICAgICAgICAgICAgICAgICAgICAgZm9yIG1lc2hfaWQsIChjb25uX2luZCwgY29ubl9jb29y
ZCkgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYXRlKHppcChzZWxmLmRhdGFzZXQu
cGFyYW1ldGVyc1snY29ubmVjdGl2aXR5PQonXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLmRhdGFzZXQucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnPQpdKSldCisK
IGNsYXNzIEV4b2R1c0lJRGF0YXNldChEYXRhc2V0KToKICAgICBfaW5kZXhfY2xhc3MgPTNEIEV4
b2R1c0lJVW5zdHJ1Y3R1cmVkSW5kZXgKICAgICBfZmllbGRfaW5mb19jbGFzcyA9M0QgRXhvZHVz
SUlGaWVsZEluZm8KQEAgLTExMiw3ICsxMTksNyBAQAo9MjAKICAgICBkZWYgX2xvYWRfaW5mb19y
ZWNvcmRzKHNlbGYpOgogICAgICAgICAiIiIKLSAgICAgICAgUmV0dXJucyBwYXJzZWQgdmVyc2lv
biBvZiB0aGUgaW5mb19yZWNvcmRzCisgICAgICAgIFJldHVybnMgcGFyc2VkIHZlcnNpb24gb2Yg
dGhlIGluZm9fcmVjb3Jkcy4KICAgICAgICAgIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAg
IHJldHVybiBsb2FkX2luZm9fcmVjb3JkcyhzZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmVjb3Jkcydd
KQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzFhNGJhZmRm
YjRhYy8KQ2hhbmdlc2V0OiAgIDFhNGJhZmRmYjRhYwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAg
ICAgIGFzdHJvaGNrcgpEYXRlOiAgICAgICAgMjAxNS0wOC0xMSAyMDozMjo0MCswMDowMApTdW1t
YXJ5OiAgICAgTG9hZCBtZXNoIHdpdGggc3ViY2xhc3NlZCBVbnN0cnVjdHVyZWRJbmRleCBhbmQg
VW5zdHJ1Y3R1cmVkTWU9CnNoLgpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciA1YjQ0MDQx
NzEwYzUxZGI4YjJhZWZlMGE4MjE4MzkzMmIwZGIzNTUyIC1yIDFhNGJhZmRmYjRhYzFlYzcyNjZi
NWViPQplOTI4MjJiYjkzNjhkNWY5NyB5dC9kYXRhX29iamVjdHMvdW5zdHJ1Y3R1cmVkX21lc2gu
cHkKLS0tIGEveXQvZGF0YV9vYmplY3RzL3Vuc3RydWN0dXJlZF9tZXNoLnB5CisrKyBiL3l0L2Rh
dGFfb2JqZWN0cy91bnN0cnVjdHVyZWRfbWVzaC5weQpAQCAtNDUsOCArNDUsNiBAQAogICAgICAg
ICBzZWxmLm1lc2hfaWQgPTNEIG1lc2hfaWQKICAgICAgICAgIyBUaGlzIGlzIHdoZXJlIHdlIHNl
dCB1cCB0aGUgY29ubmVjdGl2aXR5IGluZm9ybWF0aW9uCiAgICAgICAgIHNlbGYuY29ubmVjdGl2
aXR5X2luZGljZXMgPTNEIGNvbm5lY3Rpdml0eV9pbmRpY2VzCi0gICAgICAgIGlmIGNvbm5lY3Rp
dml0eV9pbmRpY2VzLnNoYXBlWzFdICE9M0Qgc2VsZi5fY29ubmVjdGl2aXR5X2xlbmd0aDoKLSAg
ICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgogICAgICAgICBzZWxmLmNvbm5lY3Rpdml0eV9j
b29yZHMgPTNEIGNvbm5lY3Rpdml0eV9jb29yZHMKICAgICAgICAgc2VsZi5kcyA9M0QgaW5kZXgu
ZGF0YXNldAogICAgICAgICBzZWxmLl9pbmRleCA9M0QgaW5kZXgKQEAgLTU3LDYgKzU1LDkgQEAK
ICAgICAgICAgc2VsZi5fY3VycmVudF9mbHVpZF90eXBlID0zRCBzZWxmLmRzLmRlZmF1bHRfZmx1
aWRfdHlwZQo9MjAKICAgICBkZWYgX2NoZWNrX2NvbnNpc3RlbmN5KHNlbGYpOgorICAgICAgICBp
ZiBjb25uZWN0aXZpdHlfaW5kaWNlcy5zaGFwZVsxXSAhPTNEIHNlbGYuX2Nvbm5lY3Rpdml0eV9s
ZW5ndGg6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKwogICAgICAgICBmb3IgZ2kg
aW4gcmFuZ2Uoc2VsZi5jb25uZWN0aXZpdHlfaW5kaWNlcy5zaGFwZVswXSk6CiAgICAgICAgICAg
ICBpbmQgPTNEIHNlbGYuY29ubmVjdGl2aXR5X2luZGljZXNbZ2ksIDpdIC0gc2VsZi5faW5kZXhf
b2Zmc2V0CiAgICAgICAgICAgICBjb29yZHMgPTNEIHNlbGYuY29ubmVjdGl2aXR5X2Nvb3Jkc1tp
bmQsIDpdCgpkaWZmIC1yIDViNDQwNDE3MTBjNTFkYjhiMmFlZmUwYTgyMTgzOTMyYjBkYjM1NTIg
LXIgMWE0YmFmZGZiNGFjMWVjNzI2NmI1ZWI9CmU5MjgyMmJiOTM2OGQ1Zjk3IHl0L2Zyb250ZW5k
cy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNf
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9z
dHJ1Y3R1cmVzLnB5CkBAIC00Niw2ICs0Niw3IEBACiBjbGFzcyBFeG9kdXNJSVVuc3RydWN0dXJl
ZEluZGV4KFVuc3RydWN0dXJlZEluZGV4KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZHMsIGRh
dGFzZXRfdHlwZSA9M0QgJ2V4b2R1c19paScpOgogICAgICAgICBzdXBlcihFeG9kdXNJSVVuc3Ry
dWN0dXJlZEluZGV4LCBzZWxmKS5fX2luaXRfXyhkcywgZGF0YXNldF90eXBlKQorICAgICAgICBz
ZWxmLl9jb25uZWN0aXZpdHlfbGVuZ3RoID0zRCBzZWxmLm1lc2hlc1swXS5jb25uZWN0aXZpdHlf
aW5kaWNlcy49CnNoYXBlWzFdCj0yMAogICAgIGRlZiBfaW5pdGlhbGl6ZV9tZXNoKHNlbGYpOgog
ICAgICAgICBzZWxmLm1lc2hlcyA9M0QgW0V4b2R1c0lJVW5zdHJ1Y3R1cmVkTWVzaCgKQEAgLTU0
LDYgKzU1LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmF0ZSh6aXAoc2VsZi5k
YXRhc2V0LnBhcmFtZXRlcnNbJ2Nvbm5lY3Rpdml0eT0KJ10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5kYXRhc2V0LnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJz0K
XSkpXQo9MjAKKyAgICBkZWYgX3NldHVwX2RhdGFfaW8oc2VsZik6CisgICAgICAgIHNlbGYuaW8g
PTNEIGlvX3JlZ2lzdHJ5W3NlbGYuZGF0YXNldF90eXBlXShzZWxmLmluZGV4X2ZpbGVuYW1lKQor
CisgICAgZGVmIF9kZXRlY3Rfb3V0cHV0X2ZpZWxkcyhzZWxmKToKKyAgICAgICAgcGFzcworCiBj
bGFzcyBFeG9kdXNJSURhdGFzZXQoRGF0YXNldCk6CiAgICAgX2luZGV4X2NsYXNzID0zRCBFeG9k
dXNJSVVuc3RydWN0dXJlZEluZGV4CiAgICAgX2ZpZWxkX2luZm9fY2xhc3MgPTNEIEV4b2R1c0lJ
RmllbGRJbmZvCkBAIC02NCw3ICs3MSw3IEBACiAgICAgICAgICAgICAgICAgIHN0b3JhZ2VfZmls
ZW5hbWU9M0ROb25lLAogICAgICAgICAgICAgICAgICB1bml0c19vdmVycmlkZT0zRE5vbmUpOgo9
MjAKLSAgICAgICAgc2VsZi5mbHVpZF90eXBlcyArICAgICAgICAgICAgICA9M0QgKCdleG9kdXNf
aWknLCkKKyAgICAgICAgc2VsZi5mbHVpZF90eXBlcyAgICAgICAgICAgICAgICs9M0QgKCdleG9k
dXNfaWknLCkKICAgICAgICAgc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUgICAgICAgICA9M0QgZmls
ZW5hbWUKICAgICAgICAgRGF0YXNldC5fX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNldF90
eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlID0zRCB1bml0c19v
dmVycmlkZSkKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy8y
NmJkNGQ0NDIwNWYvCkNoYW5nZXNldDogICAyNmJkNGQ0NDIwNWYKQnJhbmNoOiAgICAgIHl0ClVz
ZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTE1IDA0OjEzOjA3KzAwOjAw
ClN1bW1hcnk6ICAgICBpbXBsZW1lbnRpbmcgYW4gaXNfdmFsaWQgZnVuY3Rpb24gZm9yIEV4b2R1
c0lJIERhdGFzZXRzCkFmZmVjdGVkICM6ICAzIGZpbGVzCgpkaWZmIC1yIDFhNGJhZmRmYjRhYzFl
YzcyNjZiNWViZTkyODIyYmI5MzY4ZDVmOTcgLXIgMjZiZDRkNDQyMDVmYmU5NjE0MzcxNWI9CjI4
NDYwMDc5YmY4ODcwYzdmIHl0L2Zyb250ZW5kcy9hcGkucHkKLS0tIGEveXQvZnJvbnRlbmRzL2Fw
aS5weQorKysgYi95dC9mcm9udGVuZHMvYXBpLnB5CkBAIC0yNCw2ICsyNCw3IEBACiAgICAgJ2No
b21ibycsCiAgICAgJ2VhZ2xlJywKICAgICAnZW56bycsCisgICAgJ2V4b2R1c19paScsCiAgICAg
J2ZpdHMnLAogICAgICdmbGFzaCcsCiAgICAgJ2dhZGdldCcsCgpkaWZmIC1yIDFhNGJhZmRmYjRh
YzFlYzcyNjZiNWViZTkyODIyYmI5MzY4ZDVmOTcgLXIgMjZiZDRkNDQyMDVmYmU5NjE0MzcxNWI9
CjI4NDYwMDc5YmY4ODcwYzdmIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvYXBpLnB5Ci0tLSBhL3l0
L2Zyb250ZW5kcy9leG9kdXNfaWkvYXBpLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkv
YXBpLnB5CkBAIC0xNCwxMiArMTQsMTIgQEAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCj0yMAog
ZnJvbSAuZGF0YV9zdHJ1Y3R1cmVzIGltcG9ydCBcCi0gICAgICBFeG9kdXNJSUdyaWQsIFwKLSAg
ICAgIEV4b2R1c0lJSGllcmFyY2h5LCBcCi0gICAgICBFeG9kdXNJSURhdGFzZXQKKyAgICBFeG9k
dXNJSVVuc3RydWN0dXJlZE1lc2gsIFwKKyAgICBFeG9kdXNJSVVuc3RydWN0dXJlZEluZGV4LCBc
CisgICAgRXhvZHVzSUlEYXRhc2V0Cj0yMAogZnJvbSAuZmllbGRzIGltcG9ydCBcCi0gICAgICBF
eG9kdXNJSUZpZWxkSW5mbworICAgIEV4b2R1c0lJRmllbGRJbmZvCj0yMAogZnJvbSAuaW8gaW1w
b3J0IFwKLSAgICAgIElPSGFuZGxlckV4b2R1c0lJCisgICAgSU9IYW5kbGVyRXhvZHVzSUkKCmRp
ZmYgLXIgMWE0YmFmZGZiNGFjMWVjNzI2NmI1ZWJlOTI4MjJiYjkzNjhkNWY5NyAtciAyNmJkNGQ0
NDIwNWZiZTk2MTQzNzE1Yj0KMjg0NjAwNzliZjg4NzBjN2YgeXQvZnJvbnRlbmRzL2V4b2R1c19p
aS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0
cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMu
cHkKQEAgLTEzLDM2ICsxMywzMiBAQAogIyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxl
IENPUFlJTkcudHh0LCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KICMtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tPQotLS0tCiBpbXBvcnQgbnVtcHkgYXMgbnAKLWltcG9ydCByZQotaW1wb3J0IHN0
YXQKLWltcG9ydCBvcwotaW1wb3J0IHRpbWUKPTIwCi1mcm9tIHl0LmRhdGFfb2JqZWN0cy5ncmlk
X3BhdGNoIGltcG9ydCBcCi0gICAgQU1SR3JpZFBhdGNoCi1mcm9tIHl0Lmdlb21ldHJ5LmdyaWRf
Z2VvbWV0cnlfaGFuZGxlciBpbXBvcnQgXAotICAgIEdyaWRJbmRleAogZnJvbSB5dC5nZW9tZXRy
eS51bnN0cnVjdHVyZWRfbWVzaF9oYW5kbGVyIGltcG9ydCBcCi0gICAgIFVuc3RydWN0dXJlZElu
ZGV4CisgICAgVW5zdHJ1Y3R1cmVkSW5kZXgKIGZyb20geXQuZGF0YV9vYmplY3RzLnVuc3RydWN0
dXJlZF9tZXNoIGltcG9ydCBcCi0gICAgIFVuc3RydWN0dXJlZE1lc2gKKyAgICBVbnN0cnVjdHVy
ZWRNZXNoCiBmcm9tIHl0LmRhdGFfb2JqZWN0cy5zdGF0aWNfb3V0cHV0IGltcG9ydCBcCiAgICAg
RGF0YXNldAogZnJvbSB5dC51dGlsaXRpZXMuaW9faGFuZGxlciBpbXBvcnQgXAogICAgIGlvX3Jl
Z2lzdHJ5CiBmcm9tIC5pbyBpbXBvcnQgXAotICAgIElPSGFuZGxlckV4b2R1c0lJLCBteWxvZwor
ICAgIElPSGFuZGxlckV4b2R1c0lJLCBcCisgICAgTmV0Q0RGNEZpbGVIYW5kbGVyCitmcm9tIHl0
LnV0aWxpdGllcy5sb2dnZXIgaW1wb3J0IHl0TG9nZ2VyIGFzIG15bG9nCiBmcm9tIC5maWVsZHMg
aW1wb3J0IFwKICAgICBFeG9kdXNJSUZpZWxkSW5mbwogZnJvbSAudXRpbCBpbXBvcnQgXAogICAg
IGxvYWRfaW5mb19yZWNvcmRzLCBzYW5pdGl6ZV9zdHJpbmcKPTIwCisKIGNsYXNzIEV4b2R1c0lJ
VW5zdHJ1Y3R1cmVkTWVzaChVbnN0cnVjdHVyZWRNZXNoKToKICAgICBfaW5kZXhfb2Zmc2V0ID0z
RCAxCj0yMAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAg
ICBzdXBlcihFeG9kdXNJSVVuc3RydWN0dXJlZE1lc2gsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAq
Kmt3YXJncykKPTIwCisKIGNsYXNzIEV4b2R1c0lJVW5zdHJ1Y3R1cmVkSW5kZXgoVW5zdHJ1Y3R1
cmVkSW5kZXgpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcywgZGF0YXNldF90eXBlID0zRCAn
ZXhvZHVzX2lpJyk6CiAgICAgICAgIHN1cGVyKEV4b2R1c0lJVW5zdHJ1Y3R1cmVkSW5kZXgsIHNl
bGYpLl9faW5pdF9fKGRzLCBkYXRhc2V0X3R5cGUpCkBAIC02MSw2ICs1Nyw3IEBACiAgICAgZGVm
IF9kZXRlY3Rfb3V0cHV0X2ZpZWxkcyhzZWxmKToKICAgICAgICAgcGFzcwo9MjAKKwogY2xhc3Mg
RXhvZHVzSUlEYXRhc2V0KERhdGFzZXQpOgogICAgIF9pbmRleF9jbGFzcyA9M0QgRXhvZHVzSUlV
bnN0cnVjdHVyZWRJbmRleAogICAgIF9maWVsZF9pbmZvX2NsYXNzID0zRCBFeG9kdXNJSUZpZWxk
SW5mbwpAQCAtMjMwLDggKzIyNyw3IEBACj0yMAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBf
aXNfdmFsaWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgIyBUaGlzIGFjY2VwdHMg
YSBmaWxlbmFtZSBvciBhIHNldCBvZiBhcmd1bWVudHMgYW5kIHJldHVybnMgVHJ1ZSBvcgotICAg
ICAgICAjIEZhbHNlIGRlcGVuZGluZyBvbiBpZiB0aGUgZmlsZSBpcyBvZiB0aGUgdHlwZSByZXF1
ZXN0ZWQuCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0KKyAgICAgICAgZmlsZW5hbWUgPTNEIGFy
Z3NbMF0KKyAgICAgICAgZmhhbmRsZSA9M0QgTmV0Q0RGNEZpbGVIYW5kbGVyKGZpbGVuYW1lKQor
ICAgICAgICBmbXQgPTNEIGZoYW5kbGUuZGF0YXNldC5maWxlX2Zvcm1hdAorICAgICAgICByZXR1
cm4gZm10LnVwcGVyKCkuc3RhcnRzd2l0aCgnTkVUQ0RGJykKCgpodHRwczovL2JpdGJ1Y2tldC5v
cmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9lYWUzMjU4ODc4ZDcvCkNoYW5nZXNldDogICBlYWUz
MjU4ODc4ZDcKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAg
ICAyMDE1LTA4LTE1IDA3OjA4OjQyKzAwOjAwClN1bW1hcnk6ICAgICBuZWVkIHRvIHB1dCB0aGlz
IGluIGEgdHJ5IGV4Y2VwdCBibG9jawpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDI2YmQ0
ZDQ0MjA1ZmJlOTYxNDM3MTViMjg0NjAwNzliZjg4NzBjN2YgLXIgZWFlMzI1ODg3OGQ3ODBjZGVh
NTQ0YWE9CjZkNDQyMGYzZjRmNDZiOWRiIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1
Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5
CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC04MSwx
NiArODEsMTQgQEAKICAgICAgICAgIyBzaG91bGQgYmUgc2V0LCBhbG9uZyB3aXRoIGV4YW1wbGVz
IG9mIGhvdyB0byBzZXQgdGhlbSB0byBzdGFuZGFyZAogICAgICAgICAjIHZhbHVlcy4KICAgICAg
ICAgIwotICAgICAgICAjIHNlbGYubGVuZ3RoX3VuaXQgPTNEIHNlbGYucXVhbigxLjAsICJjbSIp
Ci0gICAgICAgICMgc2VsZi5tYXNzX3VuaXQgPTNEIHNlbGYucXVhbigxLjAsICJnIikKLSAgICAg
ICAgIyBzZWxmLnRpbWVfdW5pdCA9M0Qgc2VsZi5xdWFuKDEuMCwgInMiKQotICAgICAgICAjIHNl
bGYudGltZV91bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAicyIpCisgICAgICAgIHNlbGYubGVuZ3Ro
X3VuaXQgPTNEIHNlbGYucXVhbigxLjAsICJjbSIpCisgICAgICAgIHNlbGYubWFzc191bml0ID0z
RCBzZWxmLnF1YW4oMS4wLCAiZyIpCisgICAgICAgIHNlbGYudGltZV91bml0ID0zRCBzZWxmLnF1
YW4oMS4wLCAicyIpCiAgICAgICAgICMKICAgICAgICAgIyBUaGVzZSBjYW4gYWxzbyBiZSBzZXQ6
CiAgICAgICAgICMgc2VsZi52ZWxvY2l0eV91bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiY20vcyIp
CiAgICAgICAgICMgc2VsZi5tYWduZXRpY191bml0ID0zRCBzZWxmLnF1YW4oMS4wLCAiZ2F1c3Mi
KQotICAgICAgICBwYXNzCi0gICA9MjAKKwogICAgIGRlZiBfcGFyc2VfcGFyYW1ldGVyX2ZpbGUo
c2VsZik6CiAgICAgICAgIHNlbGYuX2xvYWRfdmFyaWFibGVzKCkKICAgICAgICAgc2VsZi5kaW1l
bnNpb25hbGl0eSAgICAgICAgICAgICA9M0Qgc2VsZi5wYXJhbWV0ZXJzWydjb29yX25hbWVzJ10u
PQpzaGFwZVswXQpAQCAtMTExLDYgKzEwOSw3IEBACiAgICAgICAgIHNlbGYub21lZ2FfbGFtYmRh
ICAgICAgICAgICAgICAgPTNEIDAKICAgICAgICAgc2VsZi5vbWVnYV9tYXR0ZXIgICAgICAgICAg
ICAgICA9M0QgMAogICAgICAgICBzZWxmLmh1YmJsZV9jb25zdGFudCAgICAgICAgICAgID0zRCAw
CisgICAgICAgIHNlbGYucmVmaW5lX2J5ICAgICAgICAgICAgICAgICAgPTNEIDAKPTIwCiAgICAg
ZGVmIF9sb2FkX3ZhcmlhYmxlcyhzZWxmKToKICAgICAgICAgIiIiCkBAIC0xODIsNyArMTgxLDcg
QEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBucC5hcnJheShbc2VsZi5wYXJh
bWV0ZXJzWyJjb29yZCVzIiAlIGF4XVs6XQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
b3IgYXggaW4gY29vcmRfYXhlc10pLnRyYW5zcG9zZSgpLmNvcHkoKQotICAgPTIwCisKICAgICBk
ZWYgX2xvYWRfY29ubmVjdGl2aXR5KHNlbGYpOgogICAgICAgICAiIiIKICAgICAgICAgTG9hZHMg
dGhlIGNvbm5lY3Rpdml0eSBkYXRhIGZvciB0aGUgbWVzaApAQCAtMjE3LDcgKzIxNiw3IEBACiAg
ICAgZGVmIF9sb2FkX2RvbWFpbl9lZGdlKHNlbGYsIGRvbWFpbl9pZHgpOgogICAgICAgICAiIiIK
ICAgICAgICAgTG9hZHMgdGhlIGJvdW5kYXJpZXMgZm9yIHRoZSBkb21haW4gZWRnZQotICAgICAg
ID0yMAorCiAgICAgICAgIFBhcmFtZXRlcnM6CiAgICAgICAgIC0gZG9tYWluX2lkeDogMCBjb3Jy
ZXNwb25kcyB0byB0aGUgbGVmdCBlZGdlLCAxIGNvcnJlc3BvbmRzIHRvIHRoZT0KIHJpZ2h0IGVk
Z2UKICAgICAgICAgIiIiCkBAIC0yMjcsNyArMjI2LDEwIEBACj0yMAogICAgIEBjbGFzc21ldGhv
ZAogICAgIGRlZiBfaXNfdmFsaWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgZmls
ZW5hbWUgPTNEIGFyZ3NbMF0KLSAgICAgICAgZmhhbmRsZSA9M0QgTmV0Q0RGNEZpbGVIYW5kbGVy
KGZpbGVuYW1lKQotICAgICAgICBmbXQgPTNEIGZoYW5kbGUuZGF0YXNldC5maWxlX2Zvcm1hdAot
ICAgICAgICByZXR1cm4gZm10LnVwcGVyKCkuc3RhcnRzd2l0aCgnTkVUQ0RGJykKKyAgICAgICAg
dHJ5OgorICAgICAgICAgICAgZmlsZW5hbWUgPTNEIGFyZ3NbMF0KKyAgICAgICAgICAgIGZoYW5k
bGUgPTNEIE5ldENERjRGaWxlSGFuZGxlcihmaWxlbmFtZSkKKyAgICAgICAgICAgIGZtdCA9M0Qg
ZmhhbmRsZS5kYXRhc2V0LmZpbGVfZm9ybWF0CisgICAgICAgICAgICByZXR1cm4gZm10LnVwcGVy
KCkuc3RhcnRzd2l0aCgnTkVUQ0RGJykKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgcGFz
cwoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzVkN2IyNTEz
ZDg3Zi8KQ2hhbmdlc2V0OiAgIDVkN2IyNTEzZDg3ZgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAg
ICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMTUgMDc6MzY6MDQrMDA6MDAKU3VtbWFy
eTogICAgIHNldHRpbmcgdXAgZmllbGRfbGlzdCAoanVzdCBub2RhbCBmaWVsZHMgZm9yIG5vdykK
QWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIgZWFlMzI1ODg3OGQ3ODBjZGVhNTQ0YWE2ZDQ0
MjBmM2Y0ZjQ2YjlkYiAtciA1ZDdiMjUxM2Q4N2Y1ZmVlYjQxMzA5MD0KMDljYTE2OTc1MjEwMmVl
NDYgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJv
bnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4
b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTU1LDcgKzU1LDkgQEAKICAgICAgICAgc2Vs
Zi5pbyA9M0QgaW9fcmVnaXN0cnlbc2VsZi5kYXRhc2V0X3R5cGVdKHNlbGYuaW5kZXhfZmlsZW5h
bWUpCj0yMAogICAgIGRlZiBfZGV0ZWN0X291dHB1dF9maWVsZHMoc2VsZik6Ci0gICAgICAgIHBh
c3MKKyAgICAgICAgZnR5cGUgPTNEICdleG9kdXNfaWknCisgICAgICAgIGZuYW1lcyA9M0Qgc2Vs
Zi5kYXRhc2V0LnBhcmFtZXRlcnNbJ25vZF9uYW1lcyddCisgICAgICAgIHNlbGYuZmllbGRfbGlz
dCA9M0QgWyhmdHlwZSwgZm5hbWUpIGZvciBmbmFtZSBpbiBmbmFtZXNdCj0yMAo9MjAKIGNsYXNz
IEV4b2R1c0lJRGF0YXNldChEYXRhc2V0KToKCmRpZmYgLXIgZWFlMzI1ODg3OGQ3ODBjZGVhNTQ0
YWE2ZDQ0MjBmM2Y0ZjQ2YjlkYiAtciA1ZDdiMjUxM2Q4N2Y1ZmVlYjQxMzA5MD0KMDljYTE2OTc1
MjEwMmVlNDYgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9maWVsZHMucHkKLS0tIGEveXQvZnJvbnRl
bmRzL2V4b2R1c19paS9maWVsZHMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9maWVs
ZHMucHkKQEAgLTMzLDggKzMzLDggQEAKICAgICAgICAgIyAoICJuYW1lIiwgKCJ1bml0cyIsIFsi
ZmllbGRzIiwgInRvIiwgImFsaWFzIl0sICMgImRpc3BsYXlfbmFtZSIpPQopLAogICAgICkKPTIw
Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzKToKLSAgICAgICAgc3VwZXIoRXhvZHVzSUlGaWVs
ZEluZm8sIHNlbGYpLl9faW5pdF9fKGRzKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcywgZmll
bGRfbGlzdCk6CisgICAgICAgIHN1cGVyKEV4b2R1c0lJRmllbGRJbmZvLCBzZWxmKS5fX2luaXRf
XyhkcywgZmllbGRfbGlzdCkKICAgICAgICAgIyBJZiB5b3Ugd2FudCwgeW91IGNhbiBjaGVjayBz
ZWxmLmZpZWxkX2xpc3QKPTIwCiAgICAgZGVmIHNldHVwX2ZsdWlkX2ZpZWxkcyhzZWxmKToKCgpo
dHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9mM2ExMGFkYzNlNDIv
CkNoYW5nZXNldDogICBmM2ExMGFkYzNlNDIKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBh
dG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTE1IDE3OjI3OjQwKzAwOjAwClN1bW1hcnk6ICAg
ICBhZGRpbmcgc3VwcG9ydCBmb3IgZ2xvYmFsIHZhcmlhYmxlcywgYWxzbyByZW5hbWluZyBudW1f
ZWxlbSB0bz0KIG51bV9tZXNoZXMKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciA1ZDdiMjUx
M2Q4N2Y1ZmVlYjQxMzA5MDA5Y2ExNjk3NTIxMDJlZTQ2IC1yIGYzYTEwYWRjM2U0MjVjNGM0YjA4
YWI5PQoyOGRkZmFkMTNmNGQzMzM5NyB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0
dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQor
KysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQpAQCAtOTMsMTEg
KzkzLDEyIEBACj0yMAogICAgIGRlZiBfcGFyc2VfcGFyYW1ldGVyX2ZpbGUoc2VsZik6CiAgICAg
ICAgIHNlbGYuX2xvYWRfdmFyaWFibGVzKCkKKyAgICAgICAgc2VsZi5fcmVhZF9nbG9fdmFyKCkK
ICAgICAgICAgc2VsZi5kaW1lbnNpb25hbGl0eSAgICAgICAgICAgICA9M0Qgc2VsZi5wYXJhbWV0
ZXJzWydjb29yX25hbWVzJ10uPQpzaGFwZVswXQogICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2lu
Zm9fcmVjb3JkcyddID0zRCBzZWxmLl9sb2FkX2luZm9fcmVjb3JkcygpCiAgICAgICAgIHNlbGYu
dW5pcXVlX2lkZW50aWZpZXIgICAgICAgICAgPTNEIHNlbGYuX2dldF91bmlxdWVfaWRlbnRpZmll
cigpCiAgICAgICAgIHNlbGYuY3VycmVudF90aW1lICAgICAgICAgICAgICAgPTNEIHNlbGYuX2dl
dF9jdXJyZW50X3RpbWUoKQotICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ251bV9lbGVtJ10gICAg
ID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2ViX3N0YXR1cyddLnM9CmhhcGVbMF0KKyAgICAgICAgc2Vs
Zi5wYXJhbWV0ZXJzWydudW1fbWVzaGVzJ10gICA9M0Qgc2VsZi5wYXJhbWV0ZXJzWydlYl9zdGF0
dXMnXS5zPQpoYXBlWzBdCiAgICAgICAgIHNlbGYucGFyYW1ldGVyc1sndmFyX25hbWVzJ10gICAg
PTNEIHNlbGYuX2dldF92YXJfbmFtZXMoKQogICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ25vZF9u
YW1lcyddICAgID0zRCBzZWxmLl9nZXRfbm9kX25hbWVzKCkKICAgICAgICAgc2VsZi5wYXJhbWV0
ZXJzWydjb29yZGluYXRlcyddICA9M0Qgc2VsZi5fbG9hZF9jb29yZGluYXRlcygpCkBAIC0xMjIs
NiArMTIzLDE2IEBACiAgICAgICAgIGZvciBrZXkgaW4gZHMudmFyaWFibGVzLmtleXMoKToKICAg
ICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1trZXldID0zRCBkcy52YXJpYWJsZXNba2V5XQo9MjAK
KyAgICBkZWYgX3JlYWRfZ2xvX3ZhcihzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIEFkZHMg
ZWFjaCBnbG9iYWwgdmFyaWFibGUgdG8gdGhlIGRpY3Qgb2YgcGFyYW1ldGVycworCisgICAgICAg
ICIiIgorICAgICAgICBuYW1lcyA9M0Qgc2VsZi5fZ2V0X2dsb19uYW1lcygpCisgICAgICAgIHZh
bHVlcyA9M0Qgc2VsZi5wYXJhbWV0ZXJzWyd2YWxzX2dsb192YXInXVs6XS50cmFuc3Bvc2UoKT0y
MAorICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gemlwKG5hbWVzLCB2YWx1ZXMpOgorICAgICAg
ICAgICAgc2VsZi5wYXJhbWV0ZXJzW25hbWVdID0zRCB2YWx1ZQorCiAgICAgZGVmIF9sb2FkX2lu
Zm9fcmVjb3JkcyhzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIFJldHVybnMgcGFyc2VkIHZl
cnNpb24gb2YgdGhlIGluZm9fcmVjb3Jkcy4KQEAgLTE0NCw2ICsxNTUsMTcgQEAKICAgICAgICAg
ZXhjZXB0IChLZXlFcnJvciwgVHlwZUVycm9yKToKICAgICAgICAgICAgIHJldHVybiAwLjAKPTIw
CisgICAgZGVmIF9nZXRfZ2xvX25hbWVzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0
dXJucyB0aGUgbmFtZXMgb2YgdGhlIGdsb2JhbCB2YXJzLCBpZiBhdmFpbGFibGUKKyAgICAgICAg
IiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBbc2FuaXRpemVfc3RyaW5nKHYu
dG9zdHJpbmcoKSkgZm9yIHYgaW4KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJz
WyJuYW1lX2dsb192YXIiXV0KKyAgICAgICAgZXhjZXB0IChLZXlFcnJvciwgVHlwZUVycm9yKToK
KyAgICAgICAgICAgIG15bG9nLndhcm5pbmcoIm5hbWVfZ2xvX3ZhciBub3QgZm91bmQiKQorICAg
ICAgICAgICAgcmV0dXJuIFtdCisKICAgICBkZWYgX2dldF92YXJfbmFtZXMoc2VsZik6CiAgICAg
ICAgICIiIgogICAgICAgICBSZXR1cm5zIHRoZSBuYW1lcyBvZiB0aGUgZWxlbWVudCB2YXJzLCBp
ZiBhdmFpbGFibGUKQEAgLTE5MCw3ICsyMTIsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgbXls
b2cuaW5mbygiTG9hZGluZyBjb25uZWN0aXZpdHkiKQogICAgICAgICBjb25uZWN0aXZpdHkgPTNE
IFtdCi0gICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYucGFyYW1ldGVyc1snbnVtX2VsZW0nXSk6
CisgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYucGFyYW1ldGVyc1snbnVtX21lc2hlcyddKToK
ICAgICAgICAgICAgIGNvbm5lY3Rpdml0eS5hcHBlbmQoc2VsZi5wYXJhbWV0ZXJzWyJjb25uZWN0
JWQiICUgKGkrMSldWzpdLmFzPQp0eXBlKCJpOCIpKQogICAgICAgICByZXR1cm4gY29ubmVjdGl2
aXR5Cj0yMApAQCAtMTk5LDcgKzIyMSw3IEBACiAgICAgICAgIExvYWRzIHRoZSBmbHVpZCBkYXRh
CiAgICAgICAgICIiIgogICAgICAgICBkYXRhID0zRCBbXQotICAgICAgICBmb3IgaSBpbiByYW5n
ZShzZWxmLnBhcmFtZXRlcnNbJ251bV9lbGVtJ10pOgorICAgICAgICBmb3IgaSBpbiByYW5nZShz
ZWxmLnBhcmFtZXRlcnNbJ251bV9tZXNoZXMnXSk6CiAgICAgICAgICAgICBjaSA9M0Qgc2VsZi5w
YXJhbWV0ZXJzWydjb25uZWN0aXZpdHknXVtpXQogICAgICAgICAgICAgdmFscyA9M0Qge30KPTIw
CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvYzY5NzkwMWFl
YzNmLwpDaGFuZ2VzZXQ6ICAgYzY5NzkwMWFlYzNmCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAg
ICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0xNSAxOTowOTo1OCswMDowMApTdW1tYXJ5
OiAgICAgZml4IGNvbXB1dGF0aW9uIG9mIGRvbWFpbiBsZWZ0IGFuZCByaWdodCBlZGdlcwpBZmZl
Y3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGYzYTEwYWRjM2U0MjVjNGM0YjA4YWI5MjhkZGZhZDEz
ZjRkMzMzOTcgLXIgYzY5NzkwMWFlYzNmY2ZmNzZmNTRmZDA9CjhjZTFlYTFkMjA2ZWVjMTY0IHl0
L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5k
cy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNf
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC01Miw3ICs1Miw3IEBACiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYXRhc2V0LnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVz
Jz0KXSkpXQo9MjAKICAgICBkZWYgX3NldHVwX2RhdGFfaW8oc2VsZik6Ci0gICAgICAgIHNlbGYu
aW8gPTNEIGlvX3JlZ2lzdHJ5W3NlbGYuZGF0YXNldF90eXBlXShzZWxmLmluZGV4X2ZpbGVuYW1l
KQorICAgICAgICBzZWxmLmlvID0zRCBpb19yZWdpc3RyeVtzZWxmLmRhdGFzZXRfdHlwZV0oc2Vs
Zi5kcykKPTIwCiAgICAgZGVmIF9kZXRlY3Rfb3V0cHV0X2ZpZWxkcyhzZWxmKToKICAgICAgICAg
ZnR5cGUgPTNEICdleG9kdXNfaWknCkBAIC0xMTksOSArMTE5LDkgQEAKICAgICAgICAgTG9hZHMg
ZWFjaCBrZXktcGFpciBpbiB0aGUgRXhvZHVzIElJIGlucHV0IGZpbGUKICAgICAgICAgYXMgYSBw
YXJhbWV0ZXIKICAgICAgICAgIiIiCi0gICAgICAgIGRzID0zRCBJT0hhbmRsZXJFeG9kdXNJSShz
ZWxmLnBhcmFtZXRlcl9maWxlbmFtZSkuZHMKLSAgICAgICAgZm9yIGtleSBpbiBkcy52YXJpYWJs
ZXMua2V5cygpOgotICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzW2tleV0gPTNEIGRzLnZhcmlh
Ymxlc1trZXldCisgICAgICAgIGhhbmRsZSA9M0QgTmV0Q0RGNEZpbGVIYW5kbGVyKHNlbGYucGFy
YW1ldGVyX2ZpbGVuYW1lKS5kYXRhc2V0CisgICAgICAgIGZvciBrZXkgaW4gaGFuZGxlLnZhcmlh
Ymxlcy5rZXlzKCk6CisgICAgICAgICAgICBzZWxmLnBhcmFtZXRlcnNba2V5XSA9M0QgaGFuZGxl
LnZhcmlhYmxlc1trZXldCj0yMAogICAgIGRlZiBfcmVhZF9nbG9fdmFyKHNlbGYpOgogICAgICAg
ICAiIiIKQEAgLTI0NCw5ICsyNDQsMTAgQEAKICAgICAgICAgUGFyYW1ldGVyczoKICAgICAgICAg
LSBkb21haW5faWR4OiAwIGNvcnJlc3BvbmRzIHRvIHRoZSBsZWZ0IGVkZ2UsIDEgY29ycmVzcG9u
ZHMgdG8gdGhlPQogcmlnaHQgZWRnZQogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIG5wLmFy
cmF5KFtzZWxmLnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJ11bOixkb21haW5faWR4XS5taW4oPQop
LAotICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMn
XVs6LGRvbWFpbl9pZHhdLm1heCg9CildLAotICAgICAgICAgICAgICAgICAgICAgICAgJ2Zsb2F0
NjQnKQorICAgICAgICBpZiBkb21haW5faWR4ID0zRD0zRCAwOgorICAgICAgICAgICAgcmV0dXJu
IHNlbGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXS5taW4oYXhpcz0zRDApCisgICAgICAgIGlm
IGRvbWFpbl9pZHggPTNEPTNEIDE6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJhbWV0ZXJz
Wydjb29yZGluYXRlcyddLm1heChheGlzPTNEMCkgICAgICAgPTIwCj0yMAogICAgIEBjbGFzc21l
dGhvZAogICAgIGRlZiBfaXNfdmFsaWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKCgpodHRwczov
L2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9kMTY0NDE1OTMyOGEvCkNoYW5n
ZXNldDogICBkMTY0NDE1OTMyOGEKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJz
CkRhdGU6ICAgICAgICAyMDE1LTA4LTE1IDE5OjI0OjM4KzAwOjAwClN1bW1hcnk6ICAgICBwdXR0
aW5nIGluIHNvbWUgc2VsZWN0b3IgbG9naWMKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBj
Njk3OTAxYWVjM2ZjZmY3NmY1NGZkMDhjZTFlYTFkMjA2ZWVjMTY0IC1yIGQxNjQ0MTU5MzI4YWZh
MmU5MzEyMzgwPQpkYWU2ZTY5OGU0N2E0NWM2ZCB5dC9kYXRhX29iamVjdHMvdW5zdHJ1Y3R1cmVk
X21lc2gucHkKLS0tIGEveXQvZGF0YV9vYmplY3RzL3Vuc3RydWN0dXJlZF9tZXNoLnB5CisrKyBi
L3l0L2RhdGFfb2JqZWN0cy91bnN0cnVjdHVyZWRfbWVzaC5weQpAQCAtNDUsNiArNDUsMTEgQEAK
ICAgICAgICAgc2VsZi5tZXNoX2lkID0zRCBtZXNoX2lkCiAgICAgICAgICMgVGhpcyBpcyB3aGVy
ZSB3ZSBzZXQgdXAgdGhlIGNvbm5lY3Rpdml0eSBpbmZvcm1hdGlvbgogICAgICAgICBzZWxmLmNv
bm5lY3Rpdml0eV9pbmRpY2VzID0zRCBjb25uZWN0aXZpdHlfaW5kaWNlcworICAgICAgICBpZiBj
b25uZWN0aXZpdHlfaW5kaWNlcy5zaGFwZVsxXSAhPTNEIHNlbGYuX2Nvbm5lY3Rpdml0eV9sZW5n
dGg6CisgICAgICAgICAgICBpZiBzZWxmLl9jb25uZWN0aXZpdHlfbGVuZ3RoID0zRD0zRCAtMToK
KyAgICAgICAgICAgICAgICBzZWxmLl9jb25uZWN0aXZpdHlfbGVuZ3RoID0zRCBjb25uZWN0aXZp
dHlfaW5kaWNlcy5zaGFwZVsxXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBy
YWlzZSBSdW50aW1lRXJyb3IKICAgICAgICAgc2VsZi5jb25uZWN0aXZpdHlfY29vcmRzID0zRCBj
b25uZWN0aXZpdHlfY29vcmRzCiAgICAgICAgIHNlbGYuZHMgPTNEIGluZGV4LmRhdGFzZXQKICAg
ICAgICAgc2VsZi5faW5kZXggPTNEIGluZGV4CkBAIC01NSw3ICs2MCw3IEBACiAgICAgICAgIHNl
bGYuX2N1cnJlbnRfZmx1aWRfdHlwZSA9M0Qgc2VsZi5kcy5kZWZhdWx0X2ZsdWlkX3R5cGUKPTIw
CiAgICAgZGVmIF9jaGVja19jb25zaXN0ZW5jeShzZWxmKToKLSAgICAgICAgaWYgY29ubmVjdGl2
aXR5X2luZGljZXMuc2hhcGVbMV0gIT0zRCBzZWxmLl9jb25uZWN0aXZpdHlfbGVuZ3RoOgorICAg
ICAgICBpZiBzZWxmLmNvbm5lY3Rpdml0eV9pbmRpY2VzLnNoYXBlWzFdICE9M0Qgc2VsZi5fY29u
bmVjdGl2aXR5X2xlbmc9CnRoOgogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCj0yMAog
ICAgICAgICBmb3IgZ2kgaW4gcmFuZ2Uoc2VsZi5jb25uZWN0aXZpdHlfaW5kaWNlcy5zaGFwZVsw
XSk6CkBAIC05MSw4ICs5NiwxNCBAQAogICAgIGRlZiBfZ2VuZXJhdGVfY29udGFpbmVyX2ZpZWxk
KHNlbGYsIGZpZWxkKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgo9MjAKLSAg
ICBkZWYgc2VsZWN0X2Zjb29yZHMoc2VsZiwgZG9iaik6Ci0gICAgICAgIHJhaXNlIE5vdEltcGxl
bWVudGVkRXJyb3IKKyAgICBkZWYgc2VsZWN0X2Zjb29yZHMoc2VsZiwgZG9iaiA9M0QgTm9uZSk6
CisgICAgICAgICMgVGhpcyBjb21wdXRlcyBjZW50cm9pZHMhCisgICAgICAgIG1hc2sgPTNEIHNl
bGYuX2dldF9zZWxlY3Rvcl9tYXNrKGRvYmouc2VsZWN0b3IpCisgICAgICAgIGlmIG1hc2sgaXMg
Tm9uZTogcmV0dXJuIG5wLmVtcHR5KCgwLDMpLCBkdHlwZT0zRCdmbG9hdDY0JykKKyAgICAgICAg
Y2VudGVycyA9M0QgZmlsbF9mY29vcmRzKHNlbGYuY29ubmVjdGl2aXR5X2Nvb3JkcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbm5lY3Rpdml0eV9pbmRpY2VzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2luZGV4X29mZnNldCkKKyAgICAgICAg
cmV0dXJuIGNlbnRlcnNbbWFzaywgOl0KPTIwCiAgICAgZGVmIHNlbGVjdF9md2lkdGgoc2VsZiwg
ZG9iaik6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKQEAgLTEyNyw3ICsxMzgs
NyBAQAogICAgICAgICBtYXNrID0zRCBzZWxmLl9nZXRfc2VsZWN0b3JfbWFzayhzZWxlY3RvcikK
ICAgICAgICAgY291bnQgPTNEIHNlbGYuY291bnQoc2VsZWN0b3IpCiAgICAgICAgIGlmIGNvdW50
ID0zRD0zRCAwOiByZXR1cm4gMAotICAgICAgICBkZXN0W29mZnNldDpvZmZzZXQrY291bnRdID0z
RCBzb3VyY2UuZmxhdFttYXNrXQorICAgICAgICBkZXN0W29mZnNldDpvZmZzZXQrY291bnRdID0z
RCBzb3VyY2VbbWFzaywuLi5dCiAgICAgICAgIHJldHVybiBjb3VudAo9MjAKICAgICBkZWYgY291
bnQoc2VsZiwgc2VsZWN0b3IpOgpAQCAtMTQ0LDYgKzE1NSwyNiBAQAogICAgICAgICBtYXNrID0z
RCBzZWxlY3Rvci5zZWxlY3RfcG9pbnRzKHgseSx6LCAwLjApCiAgICAgICAgIHJldHVybiBtYXNr
Cj0yMAorICAgIGRlZiBfZ2V0X3NlbGVjdG9yX21hc2soc2VsZiwgc2VsZWN0b3IpOgorICAgICAg
ICBpZiBoYXNoKHNlbGVjdG9yKSA9M0Q9M0Qgc2VsZi5fbGFzdF9zZWxlY3Rvcl9pZDoKKyAgICAg
ICAgICAgIG1hc2sgPTNEIHNlbGYuX2xhc3RfbWFzaworICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgc2VsZi5fbGFzdF9tYXNrID0zRCBtYXNrID0zRCBzZWxlY3Rvci5maWxsX21lc2hfY2VsbF9t
YXNrKHNlbGYpCisgICAgICAgICAgICBzZWxmLl9sYXN0X3NlbGVjdG9yX2lkID0zRCBoYXNoKHNl
bGVjdG9yKQorICAgICAgICAgICAgaWYgbWFzayBpcyBOb25lOgorICAgICAgICAgICAgICAgIHNl
bGYuX2xhc3RfY291bnQgPTNEIDAKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
c2VsZi5fbGFzdF9jb3VudCA9M0QgbWFzay5zdW0oKQorICAgICAgICByZXR1cm4gbWFzaworCisg
ICAgZGVmIHNlbGVjdF9mY29vcmRzX3ZlcnRleChzZWxmLCBkb2JqID0zRCBOb25lKToKKyAgICAg
ICAgbWFzayA9M0Qgc2VsZi5fZ2V0X3NlbGVjdG9yX21hc2soZG9iai5zZWxlY3RvcikKKyAgICAg
ICAgaWYgbWFzayBpcyBOb25lOj0yMAorICAgICAgICAgICAgcmV0dXJuIG5wLmVtcHR5KCgwLCBz
ZWxmLl9jb25uZWN0aXZpdHlfbGVuZ3RoLCAzKSwgZHR5cGU9M0QnZmw9Cm9hdDY0JykKKyAgICAg
ICAgdmVydGljZXMgPTNEIHNlbGYuY29ubmVjdGl2aXR5X2Nvb3Jkc1tzZWxmLmNvbm5lY3Rpdml0
eV9pbmRpY2VzIC0gPQoxXQorICAgICAgICByZXR1cm4gdmVydGljZXNbbWFzaywgOiwgOl0KKwor
CiBjbGFzcyBTZW1pU3RydWN0dXJlZE1lc2goVW5zdHJ1Y3R1cmVkTWVzaCk6CiAgICAgX2Nvbm5l
Y3Rpdml0eV9sZW5ndGggPTNEIDgKICAgICBfdHlwZV9uYW1lID0zRCAnc2VtaV9zdHJ1Y3R1cmVk
X21lc2gnCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvOGM1
YzY2NmZmMmQ5LwpDaGFuZ2VzZXQ6ICAgOGM1YzY2NmZmMmQ5CkJyYW5jaDogICAgICB5dApVc2Vy
OiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0xNSAxOTo0MTo1NyswMDowMApT
dW1tYXJ5OiAgICAgZml4aW5nIGluaXRpYWxpemF0aW9uIG9mIG1lc2hlcwpBZmZlY3RlZCAjOiAg
MSBmaWxlCgpkaWZmIC1yIGQxNjQ0MTU5MzI4YWZhMmU5MzEyMzgwZGFlNmU2OThlNDdhNDVjNmQg
LXIgOGM1YzY2NmZmMmQ5YTFlYzQ3YWZhYjI9CjBlOTIzY2RkN2E2Y2E0ZjhmIHl0L2Zyb250ZW5k
cy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNf
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9z
dHJ1Y3R1cmVzLnB5CkBAIC00NSwxMSArNDUsMTEgQEAKICAgICAgICAgc2VsZi5fY29ubmVjdGl2
aXR5X2xlbmd0aCA9M0Qgc2VsZi5tZXNoZXNbMF0uY29ubmVjdGl2aXR5X2luZGljZXMuPQpzaGFw
ZVsxXQo9MjAKICAgICBkZWYgX2luaXRpYWxpemVfbWVzaChzZWxmKToKKyAgICAgICAgY29vcmRz
ID0zRCBzZWxmLmRhdGFzZXQucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXQogICAgICAgICBzZWxm
Lm1lc2hlcyA9M0QgW0V4b2R1c0lJVW5zdHJ1Y3R1cmVkTWVzaCgKLSAgICAgICAgICAgIG1lc2hf
aWQsIHNlbGYuaW5kZXhfZmlsZW5hbWUsIGNvbm5faW5kLCBjb25uX2Nvb3JkLCBzZWxmKQotICAg
ICAgICAgICAgICAgICAgICAgICBmb3IgbWVzaF9pZCwgKGNvbm5faW5kLCBjb25uX2Nvb3JkKSBp
bgotICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGUoemlwKHNlbGYuZGF0YXNldC5wYXJh
bWV0ZXJzWydjb25uZWN0aXZpdHk9CiddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuZGF0YXNldC5wYXJhbWV0ZXJzWydjb29yZGluYXRlcyc9Cl0pKV0KKyAgICAg
ICAgICAgIG1lc2hfaWQsIHNlbGYuaW5kZXhfZmlsZW5hbWUsIGNvbm5faW5kLCBjb29yZHMsIHNl
bGYpCisgICAgICAgICAgICAgICAgICAgICAgIGZvciBtZXNoX2lkLCBjb25uX2luZCBpbgorICAg
ICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGUoc2VsZi5kYXRhc2V0LnBhcmFtZXRlcnNbJ2Nv
bm5lY3Rpdml0eSddKV0KPTIwCiAgICAgZGVmIF9zZXR1cF9kYXRhX2lvKHNlbGYpOgogICAgICAg
ICBzZWxmLmlvID0zRCBpb19yZWdpc3RyeVtzZWxmLmRhdGFzZXRfdHlwZV0oc2VsZi5kcykKCgpo
dHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy8zMmNmMDA1YzA4YTQv
CkNoYW5nZXNldDogICAzMmNmMDA1YzA4YTQKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBh
dG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTE1IDE5OjQzOjIzKzAwOjAwClN1bW1hcnk6ICAg
ICBpbXBsZW1lbnRpbmcgcmVhZCBmbHVpZCBzZWxlY3Rpb24KQWZmZWN0ZWQgIzogIDIgZmlsZXMK
CmRpZmYgLXIgOGM1YzY2NmZmMmQ5YTFlYzQ3YWZhYjIwZTkyM2NkZDdhNmNhNGY4ZiAtciAzMmNm
MDA1YzA4YTQyZmU0MTc3MmEzNT0KM2M5Mjg2YWU5ZmNlM2RmODcgeXQvZnJvbnRlbmRzL2V4b2R1
c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CisrKyBiL3l0L2Zy
b250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTIwLDE2ICsyMCwxOSBAQAogICAgIE5ldENERjRG
aWxlSGFuZGxlcgogZnJvbSB5dC51dGlsaXRpZXMubG9nZ2VyIGltcG9ydCB5dExvZ2dlciBhcyBt
eWxvZwo9MjAKKwogY2xhc3MgSU9IYW5kbGVyRXhvZHVzSUkoQmFzZUlPSGFuZGxlcik6CiAgICAg
X3BhcnRpY2xlX3JlYWRlciA9M0QgRmFsc2UKICAgICBfZGF0YXNldF90eXBlID0zRCAiZXhvZHVz
X2lpIgogICAgIF9ub2RlX3R5cGVzID0zRCAoImRpZmZ1c2VkIiwgImNvbnZlY3RlZCIpCiAgICAg
X0lOREVYX09GRlNFVCA9M0QgMQo9MjAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUp
OgotICAgICAgICBzZWxmLmZpbGVuYW1lID0zRCBmaWxlbmFtZQotICAgICAgICBleG9kdXNfaWlf
aGFuZGxlciAgICAgICA9M0QgTmV0Q0RGNEZpbGVIYW5kbGVyKGZpbGVuYW1lKQotICAgICAgICBz
ZWxmLmRzICA9M0QgZXhvZHVzX2lpX2hhbmRsZXIuZGF0YXNldAorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBkcyk6CisgICAgICAgIHNlbGYuZmlsZW5hbWUgPTNEIGRzLmluZGV4X2ZpbGVuYW1lCisg
ICAgICAgIGV4b2R1c19paV9oYW5kbGVyID0zRCBOZXRDREY0RmlsZUhhbmRsZXIoc2VsZi5maWxl
bmFtZSkKKyAgICAgICAgc2VsZi5oYW5kbGVyID0zRCBleG9kdXNfaWlfaGFuZGxlci5kYXRhc2V0
CisgICAgICAgIHN1cGVyKElPSGFuZGxlckV4b2R1c0lJLCBzZWxmKS5fX2luaXRfXyhkcykKKyAg
ICAgICAgc2VsZi5pb19maWVsZHMgPTNEIGRzLl9nZXRfbm9kX25hbWVzKCkKPTIwCiAgICAgZGVm
IF9yZWFkX3BhcnRpY2xlX2Nvb3JkcyhzZWxmLCBjaHVua3MsIHB0Zik6CiAgICAgICAgIHBhc3MK
QEAgLTQ0LDE0ICs0NywyNyBAQAogICAgICAgICAjIGRpY3QgZ2V0cyByZXR1cm5lZCBhdCB0aGUg
ZW5kIGFuZCBpdCBzaG91bGQgYmUgZmxhdCwgd2l0aCBzZWxlY3Q9CmVkCiAgICAgICAgICMgZGF0
YS4gIE5vdGUgdGhhdCBpZiB5b3UncmUgcmVhZGluZyBncmlkIGRhdGEsIHlvdSBtaWdodCBuZWVk
IHRvCiAgICAgICAgICMgc3BlY2lhbC1jYXNlIGEgZ3JpZCBzZWxlY3RvciBvYmplY3QuCi0gICAg
ICAgIGNodW5rcyA9M0QgbGlzdChjaHVua3MpICMgY2h1bmtzIGluIHRoaXMgY2FzZSBjb3JyZXNw
b25kIHRvIG1lc2hfaT0KZCBvciBzbGljZXMgaW4gdGhlIEV4b2R1c0lJIGRhdGEKKyAgICAgICAg
Y2h1bmtzID0zRCBsaXN0KGNodW5rcykgICMgY2h1bmtzIGluIHRoaXMgY2FzZSBjb3JyZXNwb25k
IHRvIG1lc2hfPQppZCBvciBzbGljZXMgaW4gdGhlIEV4b2R1c0lJIGRhdGEKKyAgICAgICAgY2h1
bmsgPTNEIGNodW5rc1swXQorICAgICAgICBtZXNoX2lkID0zRCBjaHVuay5vYmpzWzBdLm1lc2hf
aWQKKyAgICAgICAgY2kgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNbJ2Nvbm5lY3QlZCcgJSAo
bWVzaF9pZCArIDEpXVs6XSAtIDEKKyAgICAgICAgbm9kZXNfcGVyX2VsZW1lbnQgPTNEIGNpLnNo
YXBlWzFdCiAgICAgICAgIHJ2ID0zRCB7fQogICAgICAgICBmb3IgZmllbGQgaW4gZmllbGRzOgog
ICAgICAgICAgICAgZnR5cGUsIGZuYW1lID0zRCBmaWVsZAotICAgICAgICAgICAgaW5kID0zRCBf
SU5ERVhfT0ZGU0VUCisgICAgICAgICAgICBydltmaWVsZF0gPTNEIG5wLmVtcHR5KChzaXplLCBu
b2Rlc19wZXJfZWxlbWVudCksIGR0eXBlPTNEImZsbz0KYXQ2NCIpCisgICAgICAgIG5ncmlkcyA9
M0Qgc3VtKGxlbihjaHVuay5vYmpzKSBmb3IgY2h1bmsgaW4gY2h1bmtzKQorICAgICAgICBteWxv
Zy5kZWJ1ZygiUmVhZGluZyAlcyBjZWxscyBvZiAlcyBmaWVsZHMgaW4gJXMgYmxvY2tzIiwKKyAg
ICAgICAgICAgICAgICAgICAgc2l6ZSwgW2ZuYW1lIGZvciBmdHlwZSwgZm5hbWUgaW4gZmllbGRz
XSwgbmdyaWRzKQorICAgICAgICBmb3IgZmllbGQgaW4gZmllbGRzOgorICAgICAgICAgICAgaW5k
ID0zRCAwCisgICAgICAgICAgICBmdHlwZSwgZm5hbWUgPTNEIGZpZWxkCisgICAgICAgICAgICBm
aWVsZF9pbmQgPTNEIHNlbGYuaW9fZmllbGRzLmluZGV4KGZuYW1lKQorICAgICAgICAgICAgZmRh
dGEgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNbJ3ZhbHNfbm9kX3ZhciVkJyAlIChmaWVsZF9p
bmQ9CiArIDEpXQorICAgICAgICAgICAgZGF0YSA9M0QgZmRhdGFbMF1bY2ldCiAgICAgICAgICAg
ICBmb3IgY2h1bmsgaW4gY2h1bmtzOgotICAgICAgICAgICAgICAgIHJ2W2ZpZWxkXSA9M0QgY2h1
bmsKLQorICAgICAgICAgICAgICAgIGZvciBnIGluIGNodW5rLm9ianM6CisgICAgICAgICAgICAg
ICAgICAgIGluZCArPTNEIGcuc2VsZWN0KHNlbGVjdG9yLCBkYXRhLCBydltmaWVsZF0sIGluZCkg
ICMgYz0KYWNoZXMKICAgICAgICAgcmV0dXJuIHJ2Cj0yMAogICAgIGRlZiBfcmVhZF9jaHVua19k
YXRhKHNlbGYsIGNodW5rLCBmaWVsZHMpOgoKZGlmZiAtciA4YzVjNjY2ZmYyZDlhMWVjNDdhZmFi
MjBlOTIzY2RkN2E2Y2E0ZjhmIC1yIDMyY2YwMDVjMDhhNDJmZTQxNzcyYTM1PQozYzkyODZhZTlm
Y2UzZGY4NyB5dC9nZW9tZXRyeS9nZW9tZXRyeV9oYW5kbGVyLnB5Ci0tLSBhL3l0L2dlb21ldHJ5
L2dlb21ldHJ5X2hhbmRsZXIucHkKKysrIGIveXQvZ2VvbWV0cnkvZ2VvbWV0cnlfaGFuZGxlci5w
eQpAQCAtNDAyLDYgKzQwMiwyMSBAQAogICAgICAgICAgICAgaW5kICs9M0QgZ3Quc2l6ZQogICAg
ICAgICByZXR1cm4gY2R0Cj0yMAorICAgIEBjYWNoZWRfcHJvcGVydHkKKyAgICBkZWYgZmNvb3Jk
c192ZXJ0ZXgoc2VsZik6CisgICAgICAgIGNpID0zRCBucC5lbXB0eSgoc2VsZi5kYXRhX3NpemUs
IDgsIDMpLCBkdHlwZT0zRCdmbG9hdDY0JykKKyAgICAgICAgY2kgPTNEIFlUQXJyYXkoY2ksIGlu
cHV0X3VuaXRzID0zRCAiY29kZV9sZW5ndGgiLAorICAgICAgICAgICAgICAgICAgICAgcmVnaXN0
cnkgPTNEIHNlbGYuZG9iai5kcy51bml0X3JlZ2lzdHJ5KQorICAgICAgICBpZiBzZWxmLmRhdGFf
c2l6ZSA9M0Q9M0QgMDogcmV0dXJuIGNpCisgICAgICAgIGluZCA9M0QgMAorICAgICAgICBmb3Ig
b2JqIGluIHNlbGYub2JqczoKKyAgICAgICAgICAgIGMgPTNEIG9iai5zZWxlY3RfZmNvb3Jkc192
ZXJ0ZXgoc2VsZi5kb2JqKQorICAgICAgICAgICAgaWYgYy5zaGFwZVswXSA9M0Q9M0QgMDogY29u
dGludWUKKyAgICAgICAgICAgIGNpW2luZDppbmQrYy5zaGFwZVswXSwgOiwgOl0gPTNEIGMKKyAg
ICAgICAgICAgIGluZCArPTNEIGMuc2hhcGVbMF0KKyAgICAgICAgcmV0dXJuIGNpCisKKwogY2xh
c3MgQ2h1bmtEYXRhQ2FjaGUob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgYmFzZV9p
dGVyLCBwcmVsb2FkX2ZpZWxkcywgZ2VvbWV0cnlfaGFuZGxlciwKICAgICAgICAgICAgICAgICAg
bWF4X2xlbmd0aCA9M0QgMjU2KToKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMv
eXQvY29tbWl0cy9mYmNhNzNjMDU5ZDEvCkNoYW5nZXNldDogICBmYmNhNzNjMDU5ZDEKQnJhbmNo
OiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTE2IDA2
OjM3OjI2KzAwOjAwClN1bW1hcnk6ICAgICBjdXJyZW50X3RpbWUgc2hvdWxkIHJlZmVyIHRvIHRo
ZSB0aW1lIGluIHRoZSBzaW11bGF0aW9uLCBub3Qgdz0KaGVuIHRoZSBkYXRhc2V0IHdhcyBjcmVh
dGVkCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgMzJjZjAwNWMwOGE0MmZlNDE3NzJhMzUz
YzkyODZhZTlmY2UzZGY4NyAtciBmYmNhNzNjMDU5ZDE5OTc1ODk0NTZmZD0KNmY0MmIzYzhkM2M3
OWJiMTYgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQv
ZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRz
L2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTEyOSw3ICsxMjksNyBAQAo9MjAKICAg
ICAgICAgIiIiCiAgICAgICAgIG5hbWVzID0zRCBzZWxmLl9nZXRfZ2xvX25hbWVzKCkKLSAgICAg
ICAgdmFsdWVzID0zRCBzZWxmLnBhcmFtZXRlcnNbJ3ZhbHNfZ2xvX3ZhciddWzpdLnRyYW5zcG9z
ZSgpPTIwCisgICAgICAgIHZhbHVlcyA9M0Qgc2VsZi5wYXJhbWV0ZXJzWyd2YWxzX2dsb192YXIn
XVs6XS50cmFuc3Bvc2UoKQogICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gemlwKG5hbWVzLCB2
YWx1ZXMpOgogICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzW25hbWVdID0zRCB2YWx1ZQo9MjAK
QEAgLTE1MSw3ICsxNTEsNyBAQAo9MjAKICAgICBkZWYgX2dldF9jdXJyZW50X3RpbWUoc2VsZik6
CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnBhcmFtZXRlcnNbJ2luZm9f
cmVjb3JkcyddWydWZXJzaW9uIEluZm8nXVsnQ3VycmVuPQp0IFRpbWUnXQorICAgICAgICAgICAg
cmV0dXJuIHNlbGYucGFyYW1ldGVyc1sndGltZV93aG9sZSddWzBdCiAgICAgICAgIGV4Y2VwdCAo
S2V5RXJyb3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICByZXR1cm4gMC4wCj0yMAoKCmh0dHBz
Oi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzFiMWFmN2Y3MDRiMy8KQ2hh
bmdlc2V0OiAgIDFiMWFmN2Y3MDRiMwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXll
cnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMTYgMDY6NTU6MzErMDA6MDAKU3VtbWFyeTogICAgIHNl
dCB0aGUgZG9tYWluIGRpbWVuc2lvbnMKQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIgZmJj
YTczYzA1OWQxOTk3NTg5NDU2ZmQ2ZjQyYjNjOGQzYzc5YmIxNiAtciAxYjFhZjdmNzA0YjM4NjI0
YWRhMzExOD0KMTE0NGZjNTVmNmQzYTBmNDYgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0
cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMu
cHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTEw
Nyw2ICsxMDcsNyBAQAogICAgICAgICBzZWxmLmRvbWFpbl9sZWZ0X2VkZ2UgICAgICAgICAgID0z
RCBzZWxmLl9sb2FkX2RvbWFpbl9lZGdlKDApCiAgICAgICAgIHNlbGYuZG9tYWluX3JpZ2h0X2Vk
Z2UgICAgICAgICAgPTNEIHNlbGYuX2xvYWRfZG9tYWluX2VkZ2UoMSkKICAgICAgICAgc2VsZi5w
ZXJpb2RpY2l0eSAgICAgICAgICAgICAgICA9M0QgKEZhbHNlLCBGYWxzZSwgRmFsc2UpCisgICAg
ICAgIHNlbGYuZG9tYWluX2RpbWVuc2lvbnMgICAgICAgICAgPTNEIG5wLm9uZXMoMywgImludDMy
IikKICAgICAgICAgc2VsZi5jb3Ntb2xvZ2ljYWxfc2ltdWxhdGlvbiAgICA9M0QgMAogICAgICAg
ICBzZWxmLmN1cnJlbnRfcmVkc2hpZnQgICAgICAgICAgID0zRCAwCiAgICAgICAgIHNlbGYub21l
Z2FfbGFtYmRhICAgICAgICAgICAgICAgPTNEIDAKCmRpZmYgLXIgZmJjYTczYzA1OWQxOTk3NTg5
NDU2ZmQ2ZjQyYjNjOGQzYzc5YmIxNiAtciAxYjFhZjdmNzA0YjM4NjI0YWRhMzExOD0KMTE0NGZj
NTVmNmQzYTBmNDYgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVu
ZHMvZXhvZHVzX2lpL2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAg
LTUwLDYgKzUwLDcgQEAKICAgICAgICAgY2h1bmtzID0zRCBsaXN0KGNodW5rcykgICMgY2h1bmtz
IGluIHRoaXMgY2FzZSBjb3JyZXNwb25kIHRvIG1lc2hfPQppZCBvciBzbGljZXMgaW4gdGhlIEV4
b2R1c0lJIGRhdGEKICAgICAgICAgY2h1bmsgPTNEIGNodW5rc1swXQogICAgICAgICBtZXNoX2lk
ID0zRCBjaHVuay5vYmpzWzBdLm1lc2hfaWQKKyAgICAgICAgcHJpbnQgbWVzaF9pZAogICAgICAg
ICBjaSA9M0Qgc2VsZi5oYW5kbGVyLnZhcmlhYmxlc1snY29ubmVjdCVkJyAlIChtZXNoX2lkICsg
MSldWzpdIC0gMQogICAgICAgICBub2Rlc19wZXJfZWxlbWVudCA9M0QgY2kuc2hhcGVbMV0KICAg
ICAgICAgcnYgPTNEIHt9CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2Nv
bW1pdHMvY2Y5MWZlM2Q0MzQyLwpDaGFuZ2VzZXQ6ICAgY2Y5MWZlM2Q0MzQyCkJyYW5jaDogICAg
ICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0xNiAwNzowMjoz
NCswMDowMApTdW1tYXJ5OiAgICAgZml4aW5nIGEgYnVnIGluIHJlYWQgZmx1aWQgZmllbGRzCkFm
ZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgMWIxYWY3ZjcwNGIzODYyNGFkYTMxMTgxMTQ0ZmM1
NWY2ZDNhMGY0NiAtciBjZjkxZmUzZDQzNDI1NmE1MTZkZjkzNz0KMzAxMWIyODAzOTAwM2JlMmIg
eXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lp
L2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTI0LDcgKzI0LDYg
QEAKIGNsYXNzIElPSGFuZGxlckV4b2R1c0lJKEJhc2VJT0hhbmRsZXIpOgogICAgIF9wYXJ0aWNs
ZV9yZWFkZXIgPTNEIEZhbHNlCiAgICAgX2RhdGFzZXRfdHlwZSA9M0QgImV4b2R1c19paSIKLSAg
ICBfbm9kZV90eXBlcyA9M0QgKCJkaWZmdXNlZCIsICJjb252ZWN0ZWQiKQogICAgIF9JTkRFWF9P
RkZTRVQgPTNEIDEKPTIwCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRzKToKQEAgLTQ4LDEwICs0
NywxMSBAQAogICAgICAgICAjIGRhdGEuICBOb3RlIHRoYXQgaWYgeW91J3JlIHJlYWRpbmcgZ3Jp
ZCBkYXRhLCB5b3UgbWlnaHQgbmVlZCB0bwogICAgICAgICAjIHNwZWNpYWwtY2FzZSBhIGdyaWQg
c2VsZWN0b3Igb2JqZWN0LgogICAgICAgICBjaHVua3MgPTNEIGxpc3QoY2h1bmtzKSAgIyBjaHVu
a3MgaW4gdGhpcyBjYXNlIGNvcnJlc3BvbmQgdG8gbWVzaF89CmlkIG9yIHNsaWNlcyBpbiB0aGUg
RXhvZHVzSUkgZGF0YQorICAgICAgICBwcmludCBsZW4oY2h1bmtzKQogICAgICAgICBjaHVuayA9
M0QgY2h1bmtzWzBdCiAgICAgICAgIG1lc2hfaWQgPTNEIGNodW5rLm9ianNbMF0ubWVzaF9pZAot
ICAgICAgICBwcmludCBtZXNoX2lkCi0gICAgICAgIGNpID0zRCBzZWxmLmhhbmRsZXIudmFyaWFi
bGVzWydjb25uZWN0JWQnICUgKG1lc2hfaWQgKyAxKV1bOl0gLSAxCisgICAgICAgIGNpID0zRCBz
ZWxmLmhhbmRsZXIudmFyaWFibGVzWydjb25uZWN0JWQnICUgKG1lc2hfaWQgKyAxKV1bOl0gXAor
ICAgICAgICAgICAgIC0gc2VsZi5fSU5ERVhfT0ZGU0VUCiAgICAgICAgIG5vZGVzX3Blcl9lbGVt
ZW50ID0zRCBjaS5zaGFwZVsxXQogICAgICAgICBydiA9M0Qge30KICAgICAgICAgZm9yIGZpZWxk
IGluIGZpZWxkczoKQEAgLTY1LDggKzY1LDExIEBACiAgICAgICAgICAgICBmdHlwZSwgZm5hbWUg
PTNEIGZpZWxkCiAgICAgICAgICAgICBmaWVsZF9pbmQgPTNEIHNlbGYuaW9fZmllbGRzLmluZGV4
KGZuYW1lKQogICAgICAgICAgICAgZmRhdGEgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNbJ3Zh
bHNfbm9kX3ZhciVkJyAlIChmaWVsZF9pbmQ9CiArIDEpXQotICAgICAgICAgICAgZGF0YSA9M0Qg
ZmRhdGFbMF1bY2ldCiAgICAgICAgICAgICBmb3IgY2h1bmsgaW4gY2h1bmtzOgorICAgICAgICAg
ICAgICAgIG1lc2hfaWQgPTNEIGNodW5rLm9ianNbMF0ubWVzaF9pZAorICAgICAgICAgICAgICAg
IGNpID0zRCBzZWxmLmhhbmRsZXIudmFyaWFibGVzWydjb25uZWN0JWQnICUgKG1lc2hfaWQgKyAx
KV09Cls6XSBcCisgICAgICAgICAgICAgICAgICAgICAtIHNlbGYuX0lOREVYX09GRlNFVAorICAg
ICAgICAgICAgICAgIGRhdGEgPTNEIGZkYXRhWzBdW2NpXQogICAgICAgICAgICAgICAgIGZvciBn
IGluIGNodW5rLm9ianM6CiAgICAgICAgICAgICAgICAgICAgIGluZCArPTNEIGcuc2VsZWN0KHNl
bGVjdG9yLCBkYXRhLCBydltmaWVsZF0sIGluZCkgICMgYz0KYWNoZXMKICAgICAgICAgcmV0dXJu
IHJ2CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZjg1MmE1
ZWVkMTdmLwpDaGFuZ2VzZXQ6ICAgZjg1MmE1ZWVkMTdmCkJyYW5jaDogICAgICB5dApVc2VyOiAg
ICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0xNiAwNzowMjo1MiswMDowMApTdW1t
YXJ5OiAgICAgcmVtb3ZpbmcgZGVidWcganVuawpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1y
IGNmOTFmZTNkNDM0MjU2YTUxNmRmOTM3MzAxMWIyODAzOTAwM2JlMmIgLXIgZjg1MmE1ZWVkMTdm
YTkxYjgxZTY3OTQ9CjQ2YTlmYWQ3MGZkMGI3NTYyIHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8u
cHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQorKysgYi95dC9mcm9udGVuZHMv
ZXhvZHVzX2lpL2lvLnB5CkBAIC00Nyw3ICs0Nyw2IEBACiAgICAgICAgICMgZGF0YS4gIE5vdGUg
dGhhdCBpZiB5b3UncmUgcmVhZGluZyBncmlkIGRhdGEsIHlvdSBtaWdodCBuZWVkIHRvCiAgICAg
ICAgICMgc3BlY2lhbC1jYXNlIGEgZ3JpZCBzZWxlY3RvciBvYmplY3QuCiAgICAgICAgIGNodW5r
cyA9M0QgbGlzdChjaHVua3MpICAjIGNodW5rcyBpbiB0aGlzIGNhc2UgY29ycmVzcG9uZCB0byBt
ZXNoXz0KaWQgb3Igc2xpY2VzIGluIHRoZSBFeG9kdXNJSSBkYXRhCi0gICAgICAgIHByaW50IGxl
bihjaHVua3MpCiAgICAgICAgIGNodW5rID0zRCBjaHVua3NbMF0KICAgICAgICAgbWVzaF9pZCA9
M0QgY2h1bmsub2Jqc1swXS5tZXNoX2lkCiAgICAgICAgIGNpID0zRCBzZWxmLmhhbmRsZXIudmFy
aWFibGVzWydjb25uZWN0JWQnICUgKG1lc2hfaWQgKyAxKV1bOl0gXAoKCmh0dHBzOi8vYml0YnVj
a2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzk3MGFlNjJhMTRmOC8KQ2hhbmdlc2V0OiAg
IDk3MGFlNjJhMTRmOApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTog
ICAgICAgIDIwMTUtMDgtMTYgMDc6MTE6MzIrMDA6MDAKU3VtbWFyeTogICAgIGRvbid0IGZhaWwg
aWYgZ2xvYmFsIHZhcmlhYmxlIG5vdCBwcmVzZW50CkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYg
LXIgZjg1MmE1ZWVkMTdmYTkxYjgxZTY3OTQ0NmE5ZmFkNzBmZDBiNzU2MiAtciA5NzBhZTYyYTE0
ZjgyMzMxY2MwNzA0OD0KNDNjMzUxOGI5MGRkODhiMjcgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9k
YXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVj
dHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkK
QEAgLTEzMCw2ICsxMzAsOCBAQAo9MjAKICAgICAgICAgIiIiCiAgICAgICAgIG5hbWVzID0zRCBz
ZWxmLl9nZXRfZ2xvX25hbWVzKCkKKyAgICAgICAgaWYgbm90IG5hbWVzOgorICAgICAgICAgICAg
cmV0dXJuCiAgICAgICAgIHZhbHVlcyA9M0Qgc2VsZi5wYXJhbWV0ZXJzWyd2YWxzX2dsb192YXIn
XVs6XS50cmFuc3Bvc2UoKQogICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gemlwKG5hbWVzLCB2
YWx1ZXMpOgogICAgICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzW25hbWVdID0zRCB2YWx1ZQoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2JlNjA5NDAxMDZmMC8K
Q2hhbmdlc2V0OiAgIGJlNjA5NDAxMDZmMApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0
bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMjAgMDE6MjY6NDkrMDA6MDAKU3VtbWFyeTogICAg
IG1lcmdpbmcgaW4gcmVuZGVyaW5nIGNoYW5nZXMKQWZmZWN0ZWQgIzogIDc4IGZpbGVzCgpkaWZm
IC1yIDk3MGFlNjJhMTRmODIzMzFjYzA3MDQ4NDNjMzUxOGI5MGRkODhiMjcgLXIgYmU2MDk0MDEw
NmYwNGNmMGQyYWM5MTY9CjI0ZWJiMGJkYWU3MmM0MDAyIGRvYy9zb3VyY2UvY29va2Jvb2svYW1y
a2R0cmVlX2Rvd25zYW1wbGluZy5weQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2FtcmtkdHJl
ZV9kb3duc2FtcGxpbmcucHkKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay9hbXJrZHRyZWVfZG93
bnNhbXBsaW5nLnB5CkBAIC00LDYgKzQsMTMgQEAKICMgSW4gdGhpcyBleGFtcGxlIHdlIHdpbGwg
c2hvdyBob3cgdG8gdXNlIHRoZSBBTVJLRFRyZWUgdG8gdGFrZSBhIHNpbXVsYXRpPQpvbgogIyB3
aXRoIDggbGV2ZWxzIG9mIHJlZmluZW1lbnQgYW5kIG9ubHkgdXNlIGxldmVscyAwLTMgdG8gcmVu
ZGVyIHRoZSBkYXRhc2U9CnQuCj0yMAorIyBDdXJyZW50bHkgdGhpcyBjb29rYm9vayBpcyBmbGF3
ZWQgaW4gdGhhdCB0aGUgZGF0YSB0aGF0IGlzIGNvdmVyZWQgYnkgdGhlCisjIGhpZ2hlciByZXNv
bHV0aW9uIGRhdGEgZ2V0cyBtYXNrZWQgZHVyaW5nIHRoZSByZW5kZXJpbmcuICBUaGlzIHNob3Vs
ZCBiZQorIyBmaXhlZCBieSBjaGFuZ2luZyBlaXRoZXIgdGhlIGRhdGEgc291cmNlIG9yIHRoZSBj
b2RlIGluCisjIHl0L3V0aWxpdGllcy9hbXJfa2R0cmVlLnB5IHdoZXJlIGRhdGEgaXMgYmVpbmcg
bWFza2VkIGZvciB0aGUgcGFydGl0aW9uZWQKKyMgZ3JpZC4gIFJpZ2h0IG5vdyB0aGUgcXVpY2sg
Zml4IGlzIHRvIGNyZWF0ZSBhIGRhdGFfY29sbGVjdGlvbiwgYnV0IHRoaXMKKyMgd2lsbCBvbmx5
IHdvcmsgZm9yIHBhdGNoIGJhc2VkIHNpbXVsYXRpb25zIHRoYXQgaGF2ZSBkcy5pbmRleC5ncmlk
cy4KKwogIyBXZSBiZWdpbiBieSBsb2FkaW5nIHVwIHl0LCBhbmQgaW1wb3J0aW5nIHRoZSBBTVJL
RFRyZWUKIGltcG9ydCBudW1weSBhcyBucAo9MjAKQEAgLTEyLDU4ICsxOSw1MyBAQAo9MjAKICMg
TG9hZCB1cCBhIGRhdGFzZXQgYW5kIGRlZmluZSB0aGUga2R0cmVlCiBkcyA9M0QgeXQubG9hZCgn
SXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwJykKLWtkID0zRCBBTVJLRFRyZWUo
ZHMpCitpbSwgc2MgPTNEIHl0LnZvbHVtZV9yZW5kZXIoZHMsICdkZW5zaXR5JywgZm5hbWU9M0Qn
djAucG5nJykKK3NjLmNhbWVyYS5zZXRfd2lkdGgoZHMuYXJyKDEwMCwgJ2twYycpKQorcmVuZGVy
X3NvdXJjZSA9M0Qgc2MuZ2V0X3NvdXJjZSgwKQora2Q9M0RyZW5kZXJfc291cmNlLnZvbHVtZQo9
MjAKICMgUHJpbnQgb3V0IHNwZWNpZmljcyBvZiBLRCBUcmVlCiBwcmludCgiVG90YWwgdm9sdW1l
IG9mIGFsbCBicmlja3MgPTNEICVpIiAlIGtkLmNvdW50X3ZvbHVtZSgpKQogcHJpbnQoIlRvdGFs
IG51bWJlciBvZiBjZWxscyA9M0QgJWkiICUga2QuY291bnRfY2VsbHMoKSkKPTIwCi0jIERlZmlu
ZSBhIGNhbWVyYSBhbmQgdGFrZSBhbiB2b2x1bWUgcmVuZGVyaW5nLgotdGYgPTNEIHl0LkNvbG9y
VHJhbnNmZXJGdW5jdGlvbigoLTMwLCAtMjIpKQotY2FtID0zRCBkcy5jYW1lcmEoWzAuNSwgMC41
LCAwLjVdLCBbMC4yLCAwLjMsIDAuNF0sIDAuMTAsIDI1NiwKLSAgICAgICAgICAgICAgICAgIHRm
LCB2b2x1bWU9M0RrZCkKLXRmLmFkZF9sYXllcnMoNCwgMC4wMSwgY29sX2JvdW5kcz0zRFstMjcu
NSwgLTI1LjVdLCBjb2xvcm1hcD0zRCdSZEJ1X3InKQotY2FtLnNuYXBzaG90KCJ2MS5wbmciLCBj
bGlwX3JhdGlvPTNENi4wKQotCi0jIFRoaXMgcmVuZGVyaW5nIGlzIG9rYXksIGJ1dCBsZXRzIHNh
eSBJJ2QgbGlrZSB0byBpbXByb3ZlIGl0LCBhbmQgSSBkb24ndD0KIHdhbnQKLSMgdG8gc3BlbmQg
dGhlIHRpbWUgcmVuZGVyaW5nIHRoZSBoaWdoIHJlc29sdXRpb24gZGF0YS4gIFdoYXQgd2UgY2Fu
IGRvIGlzCi0jIGdlbmVyYXRlIGEgbG93IHJlc29sdXRpb24gdmVyc2lvbiBvZiB0aGUgQU1SS0RU
cmVlIGFuZCBwYXNzIHRoYXQgaW4gdG8gdD0KaGUKLSMgY2FtZXJhLiAgV2UgZG8gdGhpcyBieSBz
cGVjaWZ5aW5nIGEgbWF4aW11bSByZWZpbmVtZW50IGxldmVsIG9mIDYuCi0KLWtkX2xvd19yZXMg
PTNEIEFNUktEVHJlZShkcywgbWF4X2xldmVsPTNENikKK25ld19zb3VyY2UgPTNEIGRzLmFsbF9k
YXRhKCkKK25ld19zb3VyY2UubWF4X2xldmVsPTNEMwora2RfbG93X3JlcyA9M0QgQU1SS0RUcmVl
KGRzLCBkYXRhX3NvdXJjZT0zRG5ld19zb3VyY2UpCiBwcmludChrZF9sb3dfcmVzLmNvdW50X3Zv
bHVtZSgpKQogcHJpbnQoa2RfbG93X3Jlcy5jb3VudF9jZWxscygpKQo9MjAKICMgTm93IHdlIHBh
c3MgdGhpcyBpbiBhcyB0aGUgdm9sdW1lIHRvIG91ciBjYW1lcmEsIGFuZCByZW5kZXIgdGhlIHNu
YXBzaG90CiAjIGFnYWluLgo9MjAKLWNhbS52b2x1bWUgPTNEIGtkX2xvd19yZXMKLWNhbS5zbmFw
c2hvdCgidjQucG5nIiwgY2xpcF9yYXRpbz0zRDYuMCkKK3JlbmRlcl9zb3VyY2Uuc2V0X3ZvbHVt
ZShrZF9sb3dfcmVzKQorcmVuZGVyX3NvdXJjZS5zZXRfZmllbGRzKCdkZW5zaXR5JykKK3NjLnJl
bmRlcigidjEucG5nIikKPTIwCiAjIFRoaXMgb3BlcmF0aW9uIHdhcyBzdWJzdGFudGlhbGwgZmFz
dGVyLiAgTm93IGxldHMgbW9kaWZ5IHRoZSBsb3cgcmVzb2x1dD0KaW9uCiAjIHJlbmRlcmluZyB1
bnRpbCB3ZSBmaW5kIHNvbWV0aGluZyB3ZSBsaWtlLgo9MjAKK3RmID0zRCByZW5kZXJfc291cmNl
LnRyYW5zZmVyX2Z1bmN0aW9uCiB0Zi5jbGVhcigpCiB0Zi5hZGRfbGF5ZXJzKDQsIDAuMDEsIGNv
bF9ib3VuZHM9M0RbLTI3LjUsIC0yNS41XSwKICAgICAgICAgICAgICAgYWxwaGE9M0RucC5vbmVz
KDQsIGR0eXBlPTNEJ2Zsb2F0NjQnKSwgY29sb3JtYXA9M0QnUmRCdV9yJykKLWNhbS5zbmFwc2hv
dCgidjIucG5nIiwgY2xpcF9yYXRpbz0zRDYuMCkKK3NjLnJlbmRlcigidjIucG5nIiwgY2xpcF9y
YXRpbz0zRDYuMCkKPTIwCiAjIFRoaXMgbG9va3MgYmV0dGVyLiAgTm93IGxldCdzIHRyeSB0dXJu
aW5nIG9uIG9wYWNpdHkuCj0yMAogdGYuZ3JleV9vcGFjaXR5ID0zRCBUcnVlCi1jYW0uc25hcHNo
b3QoInY0LnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCi0KLSMgVGhhdCBzZWVtZWQgdG8gcGljayBv
dXQgc29tIGludGVyZXN0aW5nIHN0cnVjdHVyZXMuICBOb3cgbGV0J3MgYnVtcCB1cCB0PQpoZQot
IyBvcGFjaXR5LgotCitzYy5yZW5kZXIoInYzLnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCisjCisj
IyBUaGF0IHNlZW1lZCB0byBwaWNrIG91dCBzb20gaW50ZXJlc3Rpbmcgc3RydWN0dXJlcy4gIE5v
dyBsZXQncyBidW1wIHVwID0KdGhlCisjIyBvcGFjaXR5LgorIwogdGYuY2xlYXIoKQogdGYuYWRk
X2xheWVycyg0LCAwLjAxLCBjb2xfYm91bmRzPTNEWy0yNy41LCAtMjUuNV0sCiAgICAgICAgICAg
ICAgIGFscGhhPTNEMTAuMCAqIG5wLm9uZXMoNCwgZHR5cGU9M0QnZmxvYXQ2NCcpLCBjb2xvcm1h
cD0zRCdSZD0KQnVfcicpCi1jYW0uc25hcHNob3QoInYzLnBuZyIsIGNsaXBfcmF0aW89M0Q2LjAp
Ci0KLSMgVGhpcyBsb29rcyBwcmV0dHkgZ29vZCwgbm93IGxldHMgZ28gYmFjayB0byB0aGUgZnVs
bCByZXNvbHV0aW9uIEFNUktEVHJlZQotCi1jYW0udm9sdW1lID0zRCBrZAotY2FtLnNuYXBzaG90
KCJ2NC5wbmciLCBjbGlwX3JhdGlvPTNENi4wKQorc2MucmVuZGVyKCJ2NC5wbmciLCBjbGlwX3Jh
dGlvPTNENi4wKQorIworIyMgVGhpcyBsb29rcyBwcmV0dHkgZ29vZCwgbm93IGxldHMgZ28gYmFj
ayB0byB0aGUgZnVsbCByZXNvbHV0aW9uIEFNUktEVHI9CmVlCisjCityZW5kZXJfc291cmNlLnNl
dF92b2x1bWUoa2QpCitzYy5yZW5kZXIoInY1LnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCj0yMAog
IyBUaGlzIGxvb2tzIGdyZWF0IQoKZGlmZiAtciA5NzBhZTYyYTE0ZjgyMzMxY2MwNzA0ODQzYzM1
MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRjZjBkMmFjOTE2PQoyNGViYjBiZGFlNzJjNDAw
MiBkb2Mvc291cmNlL2Nvb2tib29rL2NhbWVyYV9tb3ZlbWVudC5weQotLS0gYS9kb2Mvc291cmNl
L2Nvb2tib29rL2NhbWVyYV9tb3ZlbWVudC5weQorKysgYi9kb2Mvc291cmNlL2Nvb2tib29rL2Nh
bWVyYV9tb3ZlbWVudC5weQpAQCAtMyw0MCArMywyNiBAQAo9MjAKICMgRm9sbG93IHRoZSBzaW1w
bGVfdm9sdW1lX3JlbmRlcmluZyBjb29rYm9vayBmb3IgdGhlIGZpcnN0IHBhcnQgb2YgdGhpcy4K
IGRzID0zRCB5dC5sb2FkKCJJc29sYXRlZEdhbGF4eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAiKSAg
IyBsb2FkIGRhdGEKLWFkID0zRCBkcy5hbGxfZGF0YSgpCi1taSwgbWEgPTNEIGFkLnF1YW50aXRp
ZXMuZXh0cmVtYSgiZGVuc2l0eSIpCi0KLSMgU2V0IHVwIHRyYW5zZmVyIGZ1bmN0aW9uCi10ZiA9
M0QgeXQuQ29sb3JUcmFuc2ZlckZ1bmN0aW9uKChucC5sb2cxMChtaSksIG5wLmxvZzEwKG1hKSkp
Ci10Zi5hZGRfbGF5ZXJzKDYsIHc9M0QwLjA1KQotCi0jIFNldCB1cCBjYW1lcmEgcGFyYW10ZXJz
Ci1jID0zRCBbMC41LCAwLjUsIDAuNV0gICMgQ2VudGVyCi1MID0zRCBbMSwgMSwgMV0gICMgTm9y
bWFsIFZlY3RvcgotVyA9M0QgMS4wICAjIFdpZHRoCi1OdmVjID0zRCA1MTIgICMgUGl4ZWxzIG9u
IGEgc2lkZQotCi0jIFNwZWNpZnkgYSBub3J0aCB2ZWN0b3IsIHdoaWNoIGhlbHBzIHdpdGggcm90
YXRpb25zLgotbm9ydGhfdmVjdG9yID0zRCBbMC4sIDAuLCAxLl0KK2ltLCBzYyA9M0QgeXQudm9s
dW1lX3JlbmRlcihkcykKK2NhbSA9M0Qgc2MuY2FtZXJhCitjYW0ucmVzb2x1dGlvbiA9M0QgKDUx
MiwgNTEyKQorY2FtLnNldF93aWR0aChkcy5kb21haW5fd2lkdGgvMjAuMCkKPTIwCiAjIEZpbmQg
dGhlIG1heGltdW0gZGVuc2l0eSBsb2NhdGlvbiwgc3RvcmUgaXQgaW4gbWF4X2MKIHYsIG1heF9j
ID0zRCBkcy5maW5kX21heCgnZGVuc2l0eScpCj0yMAotIyBJbml0aWFsaXplIHRoZSBDYW1lcmEK
LWNhbSA9M0QgZHMuY2FtZXJhKGMsIEwsIFcsIChOdmVjLCBOdmVjKSwgdGYsIG5vcnRoX3ZlY3Rv
cj0zRG5vcnRoX3ZlY3RvcikKIGZyYW1lID0zRCAwCi0KLSMgRG8gYSByb3RhdGlvbiBvdmVyIDUg
ZnJhbWVzCi1mb3IgaSwgc25hcHNob3QgaW4gZW51bWVyYXRlKGNhbS5yb3RhdGlvbihucC5waSwg
NSwgY2xpcF9yYXRpbz0zRDguMCkpOgotICAgIHNuYXBzaG90LndyaXRlX3BuZygnY2FtZXJhX21v
dmVtZW50XyUwNGkucG5nJyAlIGZyYW1lKQotICAgIGZyYW1lICs9M0QgMQotCiAjIE1vdmUgdG8g
dGhlIG1heGltdW0gZGVuc2l0eSBsb2NhdGlvbiBvdmVyIDUgZnJhbWVzCi1mb3IgaSwgc25hcHNo
b3QgaW4gZW51bWVyYXRlKGNhbS5tb3ZlX3RvKG1heF9jLCA1LCBjbGlwX3JhdGlvPTNEOC4wKSk6
Ci0gICAgc25hcHNob3Qud3JpdGVfcG5nKCdjYW1lcmFfbW92ZW1lbnRfJTA0aS5wbmcnICUgZnJh
bWUpCitmb3IgXyBpbiBjYW0uaXRlcl9tb3ZlKG1heF9jLCA1KToKKyAgICBzYy5yZW5kZXIoJ2Nh
bWVyYV9tb3ZlbWVudF8lMDRpLnBuZycgJSBmcmFtZSwgY2xpcF9yYXRpbz0zRDguMCkKICAgICBm
cmFtZSArPTNEIDEKPTIwCiAjIFpvb20gaW4gYnkgYSBmYWN0b3Igb2YgMTAgb3ZlciA1IGZyYW1l
cwotZm9yIGksIHNuYXBzaG90IGluIGVudW1lcmF0ZShjYW0uem9vbWluKDEwLjAsIDUsIGNsaXBf
cmF0aW89M0Q4LjApKToKLSAgICBzbmFwc2hvdC53cml0ZV9wbmcoJ2NhbWVyYV9tb3ZlbWVudF8l
MDRpLnBuZycgJSBmcmFtZSkKK2ZvciBfIGluIGNhbS5pdGVyX3pvb20oMTAuMCwgNSk6CisgICAg
c2MucmVuZGVyKCdjYW1lcmFfbW92ZW1lbnRfJTA0aS5wbmcnICUgZnJhbWUsIGNsaXBfcmF0aW89
M0Q4LjApCiAgICAgZnJhbWUgKz0zRCAxCisKKyMgRG8gYSByb3RhdGlvbiBvdmVyIDUgZnJhbWVz
Citmb3IgXyBpbiBjYW0uaXRlcl9yb3RhdGUobnAucGksIDUpOgorICAgIHNjLnJlbmRlcignY2Ft
ZXJhX21vdmVtZW50XyUwNGkucG5nJyAlIGZyYW1lLCBjbGlwX3JhdGlvPTNEOC4wKQorICAgIGZy
YW1lICs9M0QgMQoKZGlmZiAtciA5NzBhZTYyYTE0ZjgyMzMxY2MwNzA0ODQzYzM1MThiOTBkZDg4
YjI3IC1yIGJlNjA5NDAxMDZmMDRjZjBkMmFjOTE2PQoyNGViYjBiZGFlNzJjNDAwMiBkb2Mvc291
cmNlL2Nvb2tib29rL2NvbXBsZXhfcGxvdHMucnN0Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2sv
Y29tcGxleF9wbG90cy5yc3QKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay9jb21wbGV4X3Bsb3Rz
LnJzdApAQCAtMjUwLDggKzI1MCwxMCBAQAo9MjAKIFRoaXMgcmVjaXBlIGRlbW9uc3RyYXRlcyBo
b3cgdG8gd3JpdGUgdGhlIHNpbXVsYXRpb24gdGltZSwgc2hvdyBhbgogYXhpcyB0cmlhZCBpbmRp
Y2F0aW5nIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGNvb3JkaW5hdGUgc3lzdGVtLCBhbmQgc2hvdwot
dGhlIHRyYW5zZmVyIGZ1bmN0aW9uIG9uIGEgdm9sdW1lIHJlbmRlcmluZy4KLVNlZSA6cmVmOmB2
b2x1bWVfcmVuZGVyaW5nYCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK3RoZSB0cmFuc2ZlciBmdW5j
dGlvbiBvbiBhIHZvbHVtZSByZW5kZXJpbmcuICBQbGVhc2Ugbm90ZSB0aGF0IHRoaXM9MjAKK3Jl
Y2lwZSByZWxpZXMgb24gdGhlIG9sZCB2b2x1bWUgcmVuZGVyaW5nIGludGVyZmFjZS4gIFdoaWxl
IG9uZSBjYW4KK2NvbnRpbnVlIHRvIHVzZSB0aGlzIGludGVyZmFjZSwgaXQgbWF5IGJlIGluY29t
cGF0aWJsZSB3aXRoIHNvbWUgb2YgdGhlCituZXcgZGV2ZWxvcG1lbnRzIGFuZCB0aGUgaW5mcmFz
dHJ1Y3R1cmUgZGVzY3JpYmVkIGluIDpyZWY6YHZvbHVtZV9yZW5kZXJpbj0KZ2AuCj0yMAogLi4g
eXRfY29va2Jvb2s6OiB2b2wtYW5ub3RhdGVkLnB5Cj0yMAoKZGlmZiAtciA5NzBhZTYyYTE0Zjgy
MzMxY2MwNzA0ODQzYzM1MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRjZjBkMmFjOTE2PQoy
NGViYjBiZGFlNzJjNDAwMiBkb2Mvc291cmNlL2Nvb2tib29rL2ltYWdlX2JhY2tncm91bmRfY29s
b3JzLnB5Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2svaW1hZ2VfYmFja2dyb3VuZF9jb2xvcnMu
cHkKKysrIGIvZG9jL3NvdXJjZS9jb29rYm9vay9pbWFnZV9iYWNrZ3JvdW5kX2NvbG9ycy5weQpA
QCAtMiwyNyArMiwxNCBAQAogIyB2b2x1bWUgcmVuZGVyaW5ncywgdG8gcG5ncyB3aXRoIHZhcnlp
bmcgYmFja2dyb3VuZHMuCj0yMAogIyBGaXJzdCB3ZSB1c2UgdGhlIHNpbXBsZV92b2x1bWVfcmVu
ZGVyaW5nLnB5IHJlY2lwZSBmcm9tIGFib3ZlIHRvIGdlbmVyYXRlCi0jIGEgc3RhbmRhcmQgdm9s
dW1lIHJlbmRlcmluZy4gIFRoZSBvbmx5IGRpZmZlcmVuY2UgaXMgdGhhdCB3ZSB1c2U9MjAKLSMg
Z3JleV9vcGFjaXR5PTNEVHJ1ZSB3aXRoIG91ciBUcmFuc2ZlckZ1bmN0aW9uLCBhcyB0aGUgY29s
b3JlZCBiYWNrZ3JvdW5kPTIwCi0jIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgaW1hZ2VzIHdpdGgg
YW4gb3BhY2l0eSBiZXR3ZWVuIDAgYW5kIDEuPTIwCi0KLSMgV2UgaGF2ZSByZW1vdmVkIGFsbCB0
aGUgY29tbWVudHMgZnJvbSB0aGUgdm9sdW1lIHJlbmRlcmluZyByZWNpcGUgZm9yPTIwCi0jIGJy
ZXZpdHkgaGVyZSwgYnV0IGNvbnN1bHQgdGhlIHJlY2lwZSBmb3IgbW9yZSBkZXRhaWxzLgorIyBh
IHN0YW5kYXJkIHZvbHVtZSByZW5kZXJpbmcuCj0yMAogaW1wb3J0IHl0CiBpbXBvcnQgbnVtcHkg
YXMgbnAKPTIwCiBkcyA9M0QgeXQubG9hZCgiRW56b182NC9ERDAwNDMvZGF0YTAwNDMiKQotYWQg
PTNEIGRzLmFsbF9kYXRhKCkKLW1pLCBtYSA9M0QgYWQucXVhbnRpdGllcy5leHRyZW1hKCJkZW5z
aXR5IikKLXRmID0zRCB5dC5Db2xvclRyYW5zZmVyRnVuY3Rpb24oKG5wLmxvZzEwKG1pKSsxLCBu
cC5sb2cxMChtYSkpLCBncmV5X29wYWNpPQp0eT0zRFRydWUpCi10Zi5hZGRfbGF5ZXJzKDUsIHc9
M0QwLjAyLCBjb2xvcm1hcD0zRCJzcGVjdHJhbCIpCi1jID0zRCBbMC41LCAwLjUsIDAuNV0KLUwg
PTNEIFswLjUsIDAuMiwgMC43XQotVyA9M0QgMS4wCi1OcGl4ZWxzID0zRCA1MTIKLWNhbSA9M0Qg
ZHMuY2FtZXJhKGMsIEwsIFcsIE5waXhlbHMsIHRmKQotaW0gPTNEIGNhbS5zbmFwc2hvdCgib3Jp
Z2luYWwucG5nIiAlIGRzLCBjbGlwX3JhdGlvPTNEOC4wKQoraW0sIHNjID0zRCB5dC52b2x1bWVf
cmVuZGVyKGRzLCAnZGVuc2l0eScpCitpbS53cml0ZV9wbmcoIm9yaWdpbmFsLnBuZyIsIGNsaXBf
cmF0aW89M0Q4LjApCj0yMAogIyBPdXIgaW1hZ2UgYXJyYXkgY2FuIG5vdyBiZSB0cmFuc2Zvcm1l
ZCB0byBpbmNsdWRlIGRpZmZlcmVudCBiYWNrZ3JvdW5kCiAjIGNvbG9ycy4gIEJ5IGRlZmF1bHQs
IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGlzIGJsYWNrLiAgVGhlIGZvbGxvd2luZwoKZGlmZiAtciA5
NzBhZTYyYTE0ZjgyMzMxY2MwNzA0ODQzYzM1MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRj
ZjBkMmFjOTE2PQoyNGViYjBiZGFlNzJjNDAwMiBkb2Mvc291cmNlL2Nvb2tib29rL29mZmF4aXNf
cHJvamVjdGlvbi5weQotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL29mZmF4aXNfcHJvamVjdGlv
bi5weQorKysgYi9kb2Mvc291cmNlL2Nvb2tib29rL29mZmF4aXNfcHJvamVjdGlvbi5weQpAQCAt
MTEsNyArMTEsNyBAQAogIyBvYmplY3RzLCB5b3UgY291bGQgc2V0IGl0IHRoZSB3YXkgeW91IHdv
dWxkIGEgY3V0dGluZyBwbGFuZSAtLSBidXQgZm9yIHQ9CmhpcwogIyBkYXRhc2V0LCB3ZSdsbCBq
dXN0IGNob29zZSBhbiBvZmYtYXhpcyB2YWx1ZSBhdCByYW5kb20uICBUaGlzIGdldHMgbm9ybWE9
CmxpemVkCiAjIGF1dG9tYXRpY2FsbHkuCi1MID0zRCBbMC41LCAwLjQsIDAuN10KK0wgPTNEIFsx
LjAsIDAuMCwgMC4wXQo9MjAKICMgT3VyICJ3aWR0aCIgaXMgdGhlIHdpZHRoIG9mIHRoZSBpbWFn
ZSBwbGFuZSBhcyB3ZWxsIGFzIHRoZSBkZXB0aC4KICMgVGhlIGZpcnN0IGVsZW1lbnQgaXMgdGhl
IGxlZnQgdG8gcmlnaHQgd2lkdGgsIHRoZSBzZWNvbmQgaXMgdGhlCkBAIC0yNiw3ICsyNiw3IEBA
CiAjIENyZWF0ZSB0aGUgb2ZmIGF4aXMgcHJvamVjdGlvbi4KICMgU2V0dGluZyBub19naG9zdCB0
byBGYWxzZSBzcGVlZHMgdXAgdGhlIHByb2Nlc3MsIGJ1dCBtYWtlcyBhCiAjIHNsaWdobHkgbG93
ZXIgcXVhbGl0eSBpbWFnZS4KLWltYWdlID0zRCB5dC5vZmZfYXhpc19wcm9qZWN0aW9uKGRzLCBj
LCBMLCBXLCBOcGl4ZWxzLCAiZGVuc2l0eSIsIG5vX2dob3N0PQo9M0RGYWxzZSkKK2ltYWdlLCBz
Yz0zRCB5dC5vZmZfYXhpc19wcm9qZWN0aW9uKGRzLCBjLCBMLCBXLCBOcGl4ZWxzLCAiZGVuc2l0
eSIsIG5vX2doPQpvc3Q9M0RGYWxzZSkKPTIwCiAjIFdyaXRlIG91dCB0aGUgZmluYWwgaW1hZ2Ug
YW5kIGdpdmUgaXQgYSBuYW1lCiAjIHJlbGF0aW5nIHRvIHdoYXQgb3VyIGRhdGFzZXQgaXMgY2Fs
bGVkLgoKZGlmZiAtciA5NzBhZTYyYTE0ZjgyMzMxY2MwNzA0ODQzYzM1MThiOTBkZDg4YjI3IC1y
IGJlNjA5NDAxMDZmMDRjZjBkMmFjOTE2PQoyNGViYjBiZGFlNzJjNDAwMiBkb2Mvc291cmNlL2Nv
b2tib29rL29mZmF4aXNfcHJvamVjdGlvbl9jb2xvcmJhci5weQotLS0gYS9kb2Mvc291cmNlL2Nv
b2tib29rL29mZmF4aXNfcHJvamVjdGlvbl9jb2xvcmJhci5weQorKysgYi9kb2Mvc291cmNlL2Nv
b2tib29rL29mZmF4aXNfcHJvamVjdGlvbl9jb2xvcmJhci5weQpAQCAtMzIsNyArMzIsNyBAQAog
IyBBbHNvIG5vdGUgdGhhdCB3ZSBzZXQgdGhlIGZpZWxkIHdoaWNoIHdlIHdhbnQgdG8gcHJvamVj
dCBhcyAiZGVuc2l0eSIsIGI9CnV0CiAjIHJlYWxseSB3ZSBjb3VsZCB1c2UgYW55IGFyYml0cmFy
eSBmaWVsZCBsaWtlICJ0ZW1wZXJhdHVyZSIsICJtZXRhbGxpY2l0eSIKICMgb3Igd2hhdGV2ZXIu
Ci1pbWFnZSA9M0QgeXQub2ZmX2F4aXNfcHJvamVjdGlvbihkcywgYywgTCwgVywgTnBpeGVscywg
ImRlbnNpdHkiLCBub19naG9zdD0KPTNERmFsc2UpCitpbWFnZSwgc2MgPTNEIHl0Lm9mZl9heGlz
X3Byb2plY3Rpb24oZHMsIGMsIEwsIFcsIE5waXhlbHMsICJkZW5zaXR5Iiwgbm9fZz0KaG9zdD0z
REZhbHNlKQo9MjAKICMgSW1hZ2UgaXMgbm93IGFuIE54TiBhcnJheSByZXByZXNlbnRpbmcgdGhl
IGludGVuc2l0aWVzIG9mIHRoZSB2YXJpb3VzIHBpPQp4ZWxzLgogIyBBbmQgbm93LCB3ZSBjYWxs
IG91ciBkaXJlY3QgaW1hZ2Ugc2F2ZXIuICBXZSBzYXZlIHRoZSBsb2cgb2YgdGhlIHJlc3VsdC4K
CmRpZmYgLXIgOTcwYWU2MmExNGY4MjMzMWNjMDcwNDg0M2MzNTE4YjkwZGQ4OGIyNyAtciBiZTYw
OTQwMTA2ZjA0Y2YwZDJhYzkxNj0KMjRlYmIwYmRhZTcyYzQwMDIgZG9jL3NvdXJjZS9jb29rYm9v
ay9vcGFxdWVfcmVuZGVyaW5nLnB5Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2svb3BhcXVlX3Jl
bmRlcmluZy5weQorKysgYi9kb2Mvc291cmNlL2Nvb2tib29rL29wYXF1ZV9yZW5kZXJpbmcucHkK
QEAgLTMsNDQgKzMsNDYgQEAKPTIwCiBkcyA9M0QgeXQubG9hZCgiSXNvbGF0ZWRHYWxheHkvZ2Fs
YXh5MDAzMC9nYWxheHkwMDMwIikKPTIwCi0jIFdlIHN0YXJ0IGJ5IGJ1aWxkaW5nIGEgdHJhbnNm
ZXIgZnVuY3Rpb24sIGFuZCBpbml0aWFsaXppbmcgYSBjYW1lcmEuCisjIFdlIHN0YXJ0IGJ5IGJ1
aWxkaW5nIGEgZGVmYXVsdCB2b2x1bWUgcmVuZGVyaW5nIHNjZW5lPTIwCj0yMAotdGYgPTNEIHl0
LkNvbG9yVHJhbnNmZXJGdW5jdGlvbigoLTMwLCAtMjIpKQotY2FtID0zRCBkcy5jYW1lcmEoWzAu
NSwgMC41LCAwLjVdLCBbMC4yLCAwLjMsIDAuNF0sIDAuMTAsIDI1NiwgdGYpCitpbSwgc2MgPTNE
IHl0LnZvbHVtZV9yZW5kZXIoZHMsIGZpZWxkPTNEKCJnYXMiLCJkZW5zaXR5IiksIGZuYW1lPTNE
InYwLnBuZz0KIiwgY2xpcF9yYXRpbz0zRDYuMCkKPTIwCi0jIE5vdyBsZXQncyBhZGQgc29tZSBp
c29jb250b3VycywgYW5kIHRha2UgYSBzbmFwc2hvdC4KLQotdGYuYWRkX2xheWVycyg0LCAwLjAx
LCBjb2xfYm91bmRzID0zRCBbLTI3LjUsLTI1LjVdLCBjb2xvcm1hcCA9M0QgJ1JkQnVfcicpCi1j
YW0uc25hcHNob3QoInYxLnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCitzYy5jYW1lcmEuc2V0X3dp
ZHRoKGRzLmFycigwLjEsJ2NvZGVfbGVuZ3RoJykpCit0ZiA9M0Qgc2MuZ2V0X3NvdXJjZSgwKS50
cmFuc2Zlcl9mdW5jdGlvbj0yMAordGYuY2xlYXIoKQordGYuYWRkX2xheWVycyg0LCAwLjAxLCBj
b2xfYm91bmRzID0zRCBbLTI3LjUsLTI1LjVdLAorICAgICAgICBhbHBoYT0zRG5wLmxvZ3NwYWNl
KC0zLDAsNCksIGNvbG9ybWFwID0zRCAnUmRCdV9yJykKK2ltID0zRCBzYy5yZW5kZXIoInYxLnBu
ZyIsIGNsaXBfcmF0aW89M0Q2LjApCj0yMAogIyBJbiB0aGlzIGNhc2UsIHRoZSBkZWZhdWx0IGFs
cGhhcyB1c2VkIChucC5sb2dzcGFjZSgtMywwLE5iaW5zKSkgZG9lcyBub3QKICMgYWNjZW50dWF0
ZSB0aGUgb3V0ZXIgcmVnaW9ucyBvZiB0aGUgZ2FsYXh5LiBMZXQncyBzdGFydCBieSBicmluZ2lu
ZyB1cCB0PQpoZQogIyBhbHBoYSB2YWx1ZXMgZm9yIGVhY2ggY29udG91ciB0byBnbyBiZXR3ZWVu
IDAuMSBhbmQgMS4wCj0yMAordGYgPTNEIHNjLmdldF9zb3VyY2UoMCkudHJhbnNmZXJfZnVuY3Rp
b249MjAKIHRmLmNsZWFyKCkKIHRmLmFkZF9sYXllcnMoNCwgMC4wMSwgY29sX2JvdW5kcyA9M0Qg
Wy0yNy41LC0yNS41XSwKICAgICAgICAgYWxwaGE9M0RucC5sb2dzcGFjZSgwLDAsNCksIGNvbG9y
bWFwID0zRCAnUmRCdV9yJykKLWNhbS5zbmFwc2hvdCgidjIucG5nIiwgY2xpcF9yYXRpbz0zRDYu
MCkKK2ltID0zRCBzYy5yZW5kZXIoInYyLnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCj0yMAogIyBO
b3cgbGV0J3Mgc2V0IHRoZSBncmV5X29wYWNpdHkgdG8gVHJ1ZS4gIFRoaXMgc2hvdWxkIG1ha2Ug
dGhlIGlubmVyIHBvcnQ9CmlvbnMKICMgc3RhcnQgdG8gYmUgb2JjdXJlZAo9MjAKIHRmLmdyZXlf
b3BhY2l0eSA9M0QgVHJ1ZQotY2FtLnNuYXBzaG90KCJ2My5wbmciLCBjbGlwX3JhdGlvPTNENi4w
KQoraW0gPTNEIHNjLnJlbmRlcigidjMucG5nIiwgY2xpcF9yYXRpbz0zRDYuMCkKPTIwCiAjIFRo
YXQgbG9va3MgcHJldHR5IGdvb2QsIGJ1dCBsZXQncyBzdGFydCBidW1waW5nIHVwIHRoZSBvcGFj
aXR5Lgo9MjAKIHRmLmNsZWFyKCkKIHRmLmFkZF9sYXllcnMoNCwgMC4wMSwgY29sX2JvdW5kcyA9
M0QgWy0yNy41LC0yNS41XSwKICAgICAgICAgYWxwaGE9M0QxMC4wKm5wLm9uZXMoNCxkdHlwZT0z
RCdmbG9hdDY0JyksIGNvbG9ybWFwID0zRCAnUmRCdV9yJykKLWNhbS5zbmFwc2hvdCgidjQucG5n
IiwgY2xpcF9yYXRpbz0zRDYuMCkKK2ltID0zRCBzYy5yZW5kZXIoInY0LnBuZyIsIGNsaXBfcmF0
aW89M0Q2LjApCj0yMAogIyBMZXQncyBidW1wIHVwIGFnYWluIHRvIHNlZSBpZiB3ZSBjYW4gb2Jz
Y3VyZSB0aGUgaW5uZXIgY29udG91ci4KPTIwCiB0Zi5jbGVhcigpCiB0Zi5hZGRfbGF5ZXJzKDQs
IDAuMDEsIGNvbF9ib3VuZHMgPTNEIFstMjcuNSwtMjUuNV0sCiAgICAgICAgIGFscGhhPTNEMzAu
MCpucC5vbmVzKDQsZHR5cGU9M0QnZmxvYXQ2NCcpLCBjb2xvcm1hcCA9M0QgJ1JkQnVfcicpCi1j
YW0uc25hcHNob3QoInY1LnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCitpbSA9M0Qgc2MucmVuZGVy
KCJ2NS5wbmciLCBjbGlwX3JhdGlvPTNENi4wKQo9MjAKICMgTm93IHdlIGFyZSBsb3Npbmcgc2ln
aHQgb2YgZXZlcnl0aGluZy4gIExldCdzIHNlZSBpZiB3ZSBjYW4gb2JzY3VyZSB0aGUgPQpuZXh0
CiAjIGxheWVyCkBAIC00OCwxMyArNTAsMTMgQEAKIHRmLmNsZWFyKCkKIHRmLmFkZF9sYXllcnMo
NCwgMC4wMSwgY29sX2JvdW5kcyA9M0QgWy0yNy41LC0yNS41XSwKICAgICAgICAgYWxwaGE9M0Qx
MDAuMCpucC5vbmVzKDQsZHR5cGU9M0QnZmxvYXQ2NCcpLCBjb2xvcm1hcCA9M0QgJ1JkQnVfcicp
Ci1jYW0uc25hcHNob3QoInY2LnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCitpbSA9M0Qgc2MucmVu
ZGVyKCJ2Ni5wbmciLCBjbGlwX3JhdGlvPTNENi4wKQo9MjAKICMgVGhhdCBpcyB2ZXJ5IG9wYXF1
ZSEgIE5vdyBsZXRzIGdvIGJhY2sgYW5kIHNlZSB3aGF0IGl0IHdvdWxkIGxvb2sgbGlrZSB3PQpp
dGgKICMgZ3JleV9vcGFjaXR5ID0zRCBGYWxzZQo9MjAKIHRmLmdyZXlfb3BhY2l0eT0zREZhbHNl
Ci1jYW0uc25hcHNob3QoInY3LnBuZyIsIGNsaXBfcmF0aW89M0Q2LjApCitpbSA9M0Qgc2MucmVu
ZGVyKCJ2Ny5wbmciLCBjbGlwX3JhdGlvPTNENi4wKQo9MjAKICMgVGhhdCBsb29rcyBwcmV0dHkg
ZGlmZmVyZW50LCBidXQgdGhlIG1haW4gdGhpbmcgaXMgdGhhdCB5b3UgY2FuIHNlZSB0aGF0PQog
dGhlCiAjIGlubmVyIGNvbnRvdXJzIGFyZSBzb21ld2hhdCB2aXNpYmxlIGFnYWluLiA9MjAKCmRp
ZmYgLXIgOTcwYWU2MmExNGY4MjMzMWNjMDcwNDg0M2MzNTE4YjkwZGQ4OGIyNyAtciBiZTYwOTQw
MTA2ZjA0Y2YwZDJhYzkxNj0KMjRlYmIwYmRhZTcyYzQwMDIgZG9jL3NvdXJjZS9jb29rYm9vay9y
ZW5kZXJpbmdfd2l0aF9ib3hfYW5kX2dyaWRzLnB5Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2sv
cmVuZGVyaW5nX3dpdGhfYm94X2FuZF9ncmlkcy5weQorKysgYi9kb2Mvc291cmNlL2Nvb2tib29r
L3JlbmRlcmluZ193aXRoX2JveF9hbmRfZ3JpZHMucHkKQEAgLTEsNjEgKzEsMjIgQEAKIGltcG9y
dCB5dAogaW1wb3J0IG51bXB5IGFzIG5wCitmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3Jl
bmRlcmluZy5hcGkgaW1wb3J0IEJveFNvdXJjZSwgQ29vcmRpbmF0ZVZlYz0KdG9yU291cmNlCj0y
MAogIyBMb2FkIHRoZSBkYXRhc2V0LgogZHMgPTNEIHl0LmxvYWQoIkVuem9fNjQvREQwMDQzL2Rh
dGEwMDQzIikKK2ltLCBzYyA9M0QgeXQudm9sdW1lX3JlbmRlcihkcywgKCdnYXMnLCdkZW5zaXR5
JykpCitzYy5nZXRfc291cmNlKDApLnRyYW5zZmVyX2Z1bmN0aW9uLmdyZXlfb3BhY2l0eT0zRFRy
dWUKPTIwCi0jIENyZWF0ZSBhIGRhdGEgY29udGFpbmVyIChsaWtlIGEgc3BoZXJlIG9yIHJlZ2lv
bikgdGhhdAotIyByZXByZXNlbnRzIHRoZSBlbnRpcmUgZG9tYWluLgotYWQgPTNEIGRzLmFsbF9k
YXRhKCkKK3NjLmFubm90YXRlX2RvbWFpbihkcykKK2ltID0zRCBzYy5yZW5kZXIoKQoraW0ud3Jp
dGVfcG5nKCIlc192cl9kb21haW4ucG5nIiAlIGRzKQo9MjAKLSMgR2V0IHRoZSBtaW5pbXVtIGFu
ZCBtYXhpbXVtIGRlbnNpdGllcy4KLW1pLCBtYSA9M0QgYWQucXVhbnRpdGllcy5leHRyZW1hKCJk
ZW5zaXR5IikKLQotIyBDcmVhdGUgYSB0cmFuc2ZlciBmdW5jdGlvbiB0byBtYXAgZmllbGQgdmFs
dWVzIHRvIGNvbG9ycy4KLSMgV2UgYnVtcCB1cCBvdXIgbWluaW11bSB0byBjdXQgb3V0IHNvbWUg
b2YgdGhlIGJhY2tncm91bmQgZmx1aWQKLXRmID0zRCB5dC5Db2xvclRyYW5zZmVyRnVuY3Rpb24o
KG5wLmxvZzEwKG1pKSsyLjAsIG5wLmxvZzEwKG1hKSkpCi0KLSMgQWRkIHRocmVlIEdhdXNzaWFu
cywgZXZlbmx5IHNwYWNlZCBiZXR3ZWVuIHRoZSBtaW4gYW5kCi0jIG1heCBzcGVjaWZpZWQgYWJv
dmUgd2l0aCB3aWR0aHMgb2YgMC4wMiBhbmQgdXNpbmcgdGhlCi0jIGdpc3Rfc3Rlcm4gY29sb3Jt
YXAuCi10Zi5hZGRfbGF5ZXJzKDMsIHc9M0QwLjAyLCBjb2xvcm1hcD0zRCJnaXN0X3N0ZXJuIikK
LQotIyBDaG9vc2UgYSBjZW50ZXIgZm9yIHRoZSByZW5kZXIuCi1jID0zRCBbMC41LCAwLjUsIDAu
NV0KLQotIyBDaG9vc2UgYSB2ZWN0b3IgcmVwcmVzZW50aW5nIHRoZSB2aWV3aW5nIGRpcmVjdGlv
bi4KLUwgPTNEIFswLjUsIDAuMiwgMC43XQotCi0jIFNldCB0aGUgd2lkdGggb2YgdGhlIGltYWdl
LgotIyBEZWNyZWFzaW5nIG9yIGluY3JlYXNpbmcgdGhpcyB2YWx1ZQotIyByZXN1bHRzIGluIGEg
em9vbSBpbiBvciBvdXQuCi1XID0zRCAxLjAKLQotIyBUaGUgbnVtYmVyIG9mIHBpeGVscyBhbG9u
ZyBvbmUgc2lkZSBvZiB0aGUgaW1hZ2UuCi0jIFRoZSBmaW5hbCBpbWFnZSB3aWxsIGhhdmUgTnBp
eGVsXjIgcGl4ZWxzLgotTnBpeGVscyA9M0QgNTEyCi0KLSMgQ3JlYXRlIGEgY2FtZXJhIG9iamVj
dC4KLSMgVGhpcyBvYmplY3QgY3JlYXRlcyB0aGUgaW1hZ2VzIGFuZAotIyBjYW4gYmUgbW92ZWQg
YW5kIHJvdGF0ZWQuCi1jYW0gPTNEIGRzLmNhbWVyYShjLCBMLCBXLCBOcGl4ZWxzLCB0ZikKLQot
IyBDcmVhdGUgYSBzbmFwc2hvdC4KLSMgVGhlIHJldHVybiB2YWx1ZSBvZiB0aGlzIGZ1bmN0aW9u
IGNvdWxkIGFsc28gYmUgYWNjZXB0ZWQsIG1vZGlmaWVkIChvciBzPQphdmVkCi0jIGZvciBsYXRl
ciBtYW5pcHVsYXRpb24pIGFuZCB0aGVuIHB1dCB3cml0dGVuIG91dCB1c2luZyB3cml0ZV9iaXRt
YXAuCi0jIGNsaXBfcmF0aW8gYXBwbGllcyBhIG1heGltdW0gdG8gdGhlIGZ1bmN0aW9uLCB3aGlj
aCBpcyBzZXQgdG8gdGhhdCB2YWx1ZQotIyB0aW1lcyB0aGUgLnN0ZCgpIG9mIHRoZSBhcnJheS4K
LWltID0zRCBjYW0uc25hcHNob3QoIiVzX3ZvbHVtZV9yZW5kZXJlZC5wbmciICUgZHMsIGNsaXBf
cmF0aW89M0Q4LjApCi0KLSMgQWRkIHRoZSBkb21haW4gZWRnZXMsIHdpdGggYW4gYWxwaGEgYmxl
bmRpbmcgb2YgMC4zOgotbmltID0zRCBjYW0uZHJhd19kb21haW4oaW0sIGFscGhhPTNEMC4zKQot
bmltLndyaXRlX3BuZygnJXNfdnJfZG9tYWluLnBuZycgJSBkcykKLQotIyBBZGQgdGhlIGdyaWRz
LCBjb2xvcmVkIGJ5IHRoZSBncmlkIGxldmVsIHdpdGggdGhlIGFsZ2FlIGNvbG9ybWFwCi1uaW0g
PTNEIGNhbS5kcmF3X2dyaWRzKGltLCBhbHBoYT0zRDAuMywgY21hcD0zRCdhbGdhZScpCi1uaW0u
d3JpdGVfcG5nKCclc192cl9ncmlkcy5wbmcnICUgZHMpCitzYy5hbm5vdGF0ZV9ncmlkcyhkcykK
K2ltID0zRCBzYy5yZW5kZXIoKQoraW0ud3JpdGVfcG5nKCIlc192cl9ncmlkcy5wbmciICUgZHMp
Cj0yMAogIyBIZXJlIHdlIGNhbiBkcmF3IHRoZSBjb29yZGluYXRlIHZlY3RvcnMgb24gdG9wIG9m
IHRoZSBpbWFnZSBieSBwcm9jZXNzaW5nCiAjIGl0IHRocm91Z2ggdGhlIGNhbWVyYS4gVGhlbiBz
YXZlIGl0IG91dC4KLWNhbS5kcmF3X2Nvb3JkaW5hdGVfdmVjdG9ycyhuaW0pCi1uaW0ud3JpdGVf
cG5nKCIlc192cl92ZWN0b3JzLnBuZyIgJSBkcykKK3NjLmFubm90YXRlX2F4ZXMoKQoraW0gPTNE
IHNjLnJlbmRlcigpCitpbS53cml0ZV9wbmcoIiVzX3ZyX2Nvb3Jkcy5wbmciICUgZHMpCgpkaWZm
IC1yIDk3MGFlNjJhMTRmODIzMzFjYzA3MDQ4NDNjMzUxOGI5MGRkODhiMjcgLXIgYmU2MDk0MDEw
NmYwNGNmMGQyYWM5MTY9CjI0ZWJiMGJkYWU3MmM0MDAyIGRvYy9zb3VyY2UvY29va2Jvb2svc2lt
cGxlX3ZvbHVtZV9yZW5kZXJpbmcucHkKLS0tIGEvZG9jL3NvdXJjZS9jb29rYm9vay9zaW1wbGVf
dm9sdW1lX3JlbmRlcmluZy5weQorKysgYi9kb2Mvc291cmNlL2Nvb2tib29rL3NpbXBsZV92b2x1
bWVfcmVuZGVyaW5nLnB5CkBAIC00LDQ1ICs0LDI1IEBACiAjIExvYWQgdGhlIGRhdGFzZXQuCiBk
cyA9M0QgeXQubG9hZCgiRW56b182NC9ERDAwNDMvZGF0YTAwNDMiKQo9MjAKLSMgQ3JlYXRlIGEg
ZGF0YSBjb250YWluZXIgKGxpa2UgYSBzcGhlcmUgb3IgcmVnaW9uKSB0aGF0Ci0jIHJlcHJlc2Vu
dHMgdGhlIGVudGlyZSBkb21haW4uCi1hZCA9M0QgZHMuYWxsX2RhdGEoKQorIyBDcmVhdGUgYSB2
b2x1bWUgcmVuZGVyaW5nLCB3aGljaCB3aWxsIGRldGVybWluZSBkYXRhIGJvdW5kcywgdXNlIHRo
ZSBmaXI9CnN0CisjIGFjY2VwdGFibGUgZmllbGQgaW4gdGhlIGZpZWxkX2xpc3QsIGFuZCBzZXQg
dXAgYSBkZWZhdWx0IHRyYW5zZmVyIGZ1bmN0aT0Kb24uCisjaW0sIHNjID0zRCB5dC52b2x1bWVf
cmVuZGVyKGRzLCBmbmFtZT0zRCIlc192b2x1bWVfcmVuZGVyZWQucG5nIiAlIGRzLCBjbD0KaXBf
cmF0aW89M0Q4LjApCj0yMAotIyBHZXQgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gZGVuc2l0aWVz
LgotbWksIG1hID0zRCBhZC5xdWFudGl0aWVzLmV4dHJlbWEoImRlbnNpdHkiKQorIyBZb3UgY2Fu
IGVhc2lseSBzcGVjaWZ5IGEgZGlmZmVyZW50IGZpZWxkCitpbSwgc2MgPTNEIHl0LnZvbHVtZV9y
ZW5kZXIoZHMsIGZpZWxkPTNEKCdnYXMnLCdkZW5zaXR5JyksIGZuYW1lPTNEIiVzX2Rlbj0Kc2l0
eV92b2x1bWVfcmVuZGVyZWQucG5nIiAlIGRzLCBjbGlwX3JhdGlvPTNEOC4wKQo9MjAKLSMgQ3Jl
YXRlIGEgdHJhbnNmZXIgZnVuY3Rpb24gdG8gbWFwIGZpZWxkIHZhbHVlcyB0byBjb2xvcnMuCi0j
IFdlIGJ1bXAgdXAgb3VyIG1pbmltdW0gdG8gY3V0IG91dCBzb21lIG9mIHRoZSBiYWNrZ3JvdW5k
IGZsdWlkCi10ZiA9M0QgeXQuQ29sb3JUcmFuc2ZlckZ1bmN0aW9uKChucC5sb2cxMChtaSkrMSwg
bnAubG9nMTAobWEpKSkKKyMgTm93IGluY3JlYXNlIHRoZSByZXNvbHV0aW9uCitzYy5jYW1lcmEu
cmVzb2x1dGlvbiA9M0QgKDUxMiwgNTEyKQoraW0gPTNEIHNjLnJlbmRlcihmbmFtZT0zRCdiaWcu
cG5nJywgY2xpcF9yYXRpbz0zRDguMCkKPTIwCi0jIEFkZCBmaXZlIEdhdXNzaWFucywgZXZlbmx5
IHNwYWNlZCBiZXR3ZWVuIHRoZSBtaW4gYW5kCi0jIG1heCBzcGVjaWZpZWQgYWJvdmUgd2l0aCB3
aWR0aHMgb2YgMC4wMiBhbmQgdXNpbmcgdGhlCi0jIHNwZWN0cmFsIGNvbG9ybWFwLgotdGYuYWRk
X2xheWVycyg1LCB3PTNEMC4wMiwgY29sb3JtYXA9M0Qic3BlY3RyYWwiKQotCi0jIENob29zZSBh
IGNlbnRlciBmb3IgdGhlIHJlbmRlci4KLWMgPTNEIFswLjUsIDAuNSwgMC41XQotCi0jIENob29z
ZSBhIHZlY3RvciByZXByZXNlbnRpbmcgdGhlIHZpZXdpbmcgZGlyZWN0aW9uLgotTCA9M0QgWzAu
NSwgMC4yLCAwLjddCi0KLSMgU2V0IHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2UuCi0jIERlY3JlYXNp
bmcgb3IgaW5jcmVhc2luZyB0aGlzIHZhbHVlCi0jIHJlc3VsdHMgaW4gYSB6b29tIGluIG9yIG91
dC4KLVcgPTNEIDEuMAotCi0jIFRoZSBudW1iZXIgb2YgcGl4ZWxzIGFsb25nIG9uZSBzaWRlIG9m
IHRoZSBpbWFnZS4KLSMgVGhlIGZpbmFsIGltYWdlIHdpbGwgaGF2ZSBOcGl4ZWxeMiBwaXhlbHMu
Ci1OcGl4ZWxzID0zRCA1MTIKLQotIyBDcmVhdGUgYSBjYW1lcmEgb2JqZWN0LgotIyBUaGlzIG9i
amVjdCBjcmVhdGVzIHRoZSBpbWFnZXMgYW5kCi0jIGNhbiBiZSBtb3ZlZCBhbmQgcm90YXRlZC4K
LWNhbSA9M0QgZHMuY2FtZXJhKGMsIEwsIFcsIE5waXhlbHMsIHRmKQotCi0jIENyZWF0ZSBhIHNu
YXBzaG90LgotIyBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoaXMgZnVuY3Rpb24gY291bGQgYWxzbyBi
ZSBhY2NlcHRlZCwgbW9kaWZpZWQgKG9yIHM9CmF2ZWQKLSMgZm9yIGxhdGVyIG1hbmlwdWxhdGlv
bikgYW5kIHRoZW4gcHV0IHdyaXR0ZW4gb3V0IHVzaW5nIHdyaXRlX2JpdG1hcC4KLSMgY2xpcF9y
YXRpbyBhcHBsaWVzIGEgbWF4aW11bSB0byB0aGUgZnVuY3Rpb24sIHdoaWNoIGlzIHNldCB0byB0
aGF0IHZhbHVlCi0jIHRpbWVzIHRoZSAuc3RkKCkgb2YgdGhlIGFycmF5LgotY2FtLnNuYXBzaG90
KCIlc192b2x1bWVfcmVuZGVyZWQucG5nIiAlIGRzLCBjbGlwX3JhdGlvPTNEOC4wKQorIyBOb3cg
bW9kaWZ5IHRoZSB0cmFuc2ZlciBmdW5jdGlvbgorIyBGaXJzdCBnZXQgdGhlIHJlbmRlciBzb3Vy
Y2UsIGluIHRoaXMgY2FzZSB0aGUgZW50aXJlIGRvbWFpbiwgd2l0aCBmaWVsZCA9CignZ2FzJywn
ZGVuc2l0eScpCityZW5kZXJfc291cmNlID0zRCBzYy5nZXRfc291cmNlKDApCisjIENsZWFyIHRo
ZSB0cmFuc2ZlciBmdW5jdGlvbgorcmVuZGVyX3NvdXJjZS50cmFuc2Zlcl9mdW5jdGlvbi5jbGVh
cigpCisjIE1hcCBhIHJhbmdlIG9mIGRlbnNpdHkgdmFsdWVzIChpbiBsb2cgc3BhY2UpIHRvIHRo
ZSBSZWRzX3IgY29sb3JtYXAKK3JlbmRlcl9zb3VyY2UudHJhbnNmZXJfZnVuY3Rpb24ubWFwX3Rv
X2NvbG9ybWFwKAorICAgICAgICBucC5sb2cxMChkcy5xdWFuKDUuMGUtMzEsICdnL2NtKiozJykp
LAorICAgICAgICBucC5sb2cxMChkcy5xdWFuKDEuMGUtMjksICdnL2NtKiozJykpLAorICAgICAg
ICBzY2FsZT0zRDMwLjAsIGNvbG9ybWFwPTNEJ1JkQnVfcicpCitpbSA9M0Qgc2MucmVuZGVyKGZu
YW1lPTNEJ25ld190Zi5wbmcnLCBjbGlwX3JhdGlvPTNETm9uZSkKCmRpZmYgLXIgOTcwYWU2MmEx
NGY4MjMzMWNjMDcwNDg0M2MzNTE4YjkwZGQ4OGIyNyAtciBiZTYwOTQwMTA2ZjA0Y2YwZDJhYzkx
Nj0KMjRlYmIwYmRhZTcyYzQwMDIgZG9jL3NvdXJjZS9jb29rYm9vay92b2wtYW5ub3RhdGVkLnB5
Ci0tLSBhL2RvYy9zb3VyY2UvY29va2Jvb2svdm9sLWFubm90YXRlZC5weQorKysgYi9kb2Mvc291
cmNlL2Nvb2tib29rL3ZvbC1hbm5vdGF0ZWQucHkKQEAgLTQsNyArNCw3IEBACiBpbXBvcnQgcHls
YWIKPTIwCiBpbXBvcnQgeXQKLWltcG9ydCB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJp
bmcuYXBpIGFzIHZyCitpbXBvcnQgeXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLm9s
ZF9jYW1lcmEgYXMgdnIKPTIwCiBkcyA9M0QgeXQubG9hZCgibWFlc3Ryb19zdWJDaF9wbHQwMDI0
OCIpCj0yMApAQCAtMTcsMTEgKzE3LDExIEBACiAjIGNlbnRlcmVkIG9uIHRoZXNlIHdpdGggd2lk
dGggc2lnbWEgICAgICAgPTIwCiB2YWxzID0zRCBbLTEuZTcsIC01LmU2LCAtMi41ZTYsIDIuNWU2
LCA1LmU2LCAxLmU3XQogc2lnbWEgPTNEIDIuZTUKLSAgICAgICA9MjAKKwogbWksIG1hID0zRCBt
aW4odmFscyksIG1heCh2YWxzKQo9MjAKICMgSW5zdGFudGlhdGUgdGhlIENvbG9yVHJhbnNmZXJm
dW5jdGlvbi4KLXRmID0zRCAgdnIuQ29sb3JUcmFuc2ZlckZ1bmN0aW9uKChtaSwgbWEpKQordGYg
PTNEICB5dC5Db2xvclRyYW5zZmVyRnVuY3Rpb24oKG1pLCBtYSkpCj0yMAogZm9yIHYgaW4gdmFs
czoKICAgICB0Zi5zYW1wbGVfY29sb3JtYXAodiwgc2lnbWEqKjIsIGNvbG9ybWFwPTNEImNvb2x3
YXJtIikKQEAgLTY5LDcgKzY5LDcgQEAKPTIwCiAjIHRlbGwgdGhlIGNhbWVyYSB0byB1c2Ugb3Vy
IGZpZ3VyZQogY2FtLl9yZW5kZXJfZmlndXJlID0zRCBmCi0gICA9MjAKKwogIyBzYXZlIGFubm90
YXRlZCAtLSB0aGlzIGFkZGVkIHRoZSB0cmFuc2ZlciBmdW5jdGlvbiB2YWx1ZXMsPTIwCiAjIGFu
ZCB0aGUgY2xlYXJfZmlnPTNERmFsc2UgZW5zdXJlcyBpdCB3cml0ZXMgb250byBvdXIgZXhpc3Rp
bmcgZmlndXJlLgogY2FtLnNhdmVfYW5ub3RhdGVkKCJ2b2xfYW5ub3RhdGVkLnBuZyIsIG5pbSwg
ZHBpPTNEMTQ1LCBjbGVhcl9maWc9M0RGYWxzZSkKCmRpZmYgLXIgOTcwYWU2MmExNGY4MjMzMWNj
MDcwNDg0M2MzNTE4YjkwZGQ4OGIyNyAtciBiZTYwOTQwMTA2ZjA0Y2YwZDJhYzkxNj0KMjRlYmIw
YmRhZTcyYzQwMDIgZG9jL3NvdXJjZS9leGFtaW5pbmcvbG9hZGluZ19kYXRhLnJzdAotLS0gYS9k
b2Mvc291cmNlL2V4YW1pbmluZy9sb2FkaW5nX2RhdGEucnN0CisrKyBiL2RvYy9zb3VyY2UvZXhh
bWluaW5nL2xvYWRpbmdfZGF0YS5yc3QKQEAgLTEwMjYsNiArMTAyNiw2MCBAQAogKiBTb21lIGZ1
bmN0aW9ucyBtYXkgYmVoYXZlIG9kZGx5IG9yIG5vdCB3b3JrIGF0IGFsbC4KICogRGF0YSBtdXN0
IGFscmVhZHkgcmVzaWRlIGluIG1lbW9yeS4KPTIwCitVbnN0cnVjdHVyZWQgR3JpZCBEYXRhCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NlZSA6cmVmOmBsb2FkaW5nLW51bXB5LWFycmF5YCwK
KzpmdW5jOmB+eXQuZnJvbnRlbmRzLnN0cmVhbS5kYXRhX3N0cnVjdHVyZXMubG9hZF91bnN0cnVj
dHVyZWRfbWVzaGAgZm9yCittb3JlIGRldGFpbC4KKworSW4gYWRkaXRpb24gdG8gdGhlIGFib3Zl
IGdyaWQgdHlwZXMsIHlvdSBjYW4gYWxzbyBsb2FkIGRhdGEgc3RvcmVkIG9uCit1bnN0cnVjdHVy
ZWQgbWVzaGVzLiBUaGlzIHR5cGUgb2YgbWVzaCBpcyB1c2VkLCBmb3IgZXhhbXBsZSwgaW4gbWFu
eQorZmluaXRlIGVsZW1lbnQgY2FsY3VsYXRpb25zLiBDdXJyZW50bHksIGhleGFoZWRyYWwsIHRl
dHJhaGVkcmFsLCBhbmQKK3dlZGdlLXNoYXBlZCBtZXNoIGVsZW1lbnQgYXJlIHN1cHBvcnRlZC4K
KworVG8gbG9hZCBhbiB1bnN0cnVjdHVyZWQgbWVzaCwgeW91IG5lZWQgdG8gc3BlY2lmeSB0aGUg
Zm9sbG93aW5nLiBGaXJzdCwKK3lvdSBuZWVkIHRvIGhhdmUgYSBjb29yZGluYXRlcyBhcnJheSwg
d2hpY2ggc2hvdWxkIGJlIGFuIChMLCAzKSBhcnJheQordGhhdCBzdG9yZXMgdGhlICh4LCB5LCB6
KSBwb3NpdGlvbnMgb2YgYWxsIG9mIHRoZSB2ZXJ0aWNlcyBpbiB0aGUgbWVzaC4KK1NlY29uZCwg
eW91IG5lZWQgdG8gc3BlY2lmeSBhIGNvbm5lY3Rpdml0eSBhcnJheSwgd2hpY2ggZGVzY3JpYmVz
IGhvdwordGhvc2UgdmVydGljZXMgYXJlIGNvbm5lY3RlZCBpbnRvIG1lc2ggZWxlbWVudHMuIFRo
ZSBjb25uZWN0aXZpdHkgYXJyYXkKK3Nob3VsZCBiZSAoTiwgTSksIHdoZXJlIE4gaXMgdGhlIG51
bWJlciBvZiBlbGVtZW50cyBhbmQgTSBpcyB0aGUKK2Nvbm5lY3Rpdml0eSBsZW5ndGgsIGkuZS4g
dGhlIG51bWJlciBvZiB2ZXJ0aWNlcyBwZXIgZWxlbWVudC4gRmluYWxseSwKK3lvdSBtdXN0IGFs
c28gc3BlY2lmeSBhIGRhdGEgZGljdGlvbmFyeSwgd2hlcmUgdGhlIGtleXMgc2hvdWxkIGJlCit0
aGUgbmFtZXMgb2YgdGhlIGZpZWxkcyBhbmQgdGhlIHZhbHVlcyBzaG91bGQgYmUgbnVtcHkgYXJy
YXlzIHRoYXQKK2NvbnRhaW4gdGhlIGZpZWxkIGRhdGEuIFRoZXNlIGFycmF5cyBjYW4gZWl0aGVy
IHN1cHBseSB0aGUgY2VsbC1hdmVyYWdlZAorZGF0YSBmb3IgZWFjaCBlbGVtZW50LCBpbiB3aGlj
aCBjYXNlIHRoZXkgd291bGQgYmUgKE4sIDEpLCBvciB0aGV5CitjYW4gaGF2ZSBub2RlLWNlbnRl
cmVkIGRhdGEsIGluIHdoaWNoIGNhc2UgdGhleSB3b3VsZCBhbHNvIGJlIChOLCBNKS4KKworSGVy
ZSBpcyBhbiBleGFtcGxlIG9mIGhvdyB0byBsb2FkIGFuIGluLW1lbW9yeSwgdW5zdHJ1Y3R1cmVk
IG1lc2ggZGF0YXNldDoKKworLi4gY29kZS1ibG9jazo6IHB5dGhvbgorCisgICBpbXBvcnQgeXQK
KyAgIGltcG9ydCBudW1weQorICAgZnJvbSB5dC51dGlsaXRpZXMuZXhvZHVzSUlfcmVhZGVyIGlt
cG9ydCBnZXRfZGF0YQorCisgICBjb29yZHMsIGNvbm5lY3Rpdml0eSwgZGF0YSA9M0QgZ2V0X2Rh
dGEoImRhdGEvb3V0LmUtczAxMCIpCisKK1RoaXMgdXNlcyBhIHB1YmxpY2FsbHkgYXZhaWxhYmxl
IGBNT09TRSA8aHR0cDovL21vb3NlZnJhbWV3b3JrLm9yZy8+YD0yMAorZGF0YXNldCBhbG9uZyB3
aXRoIHRoZSBnZXRfZGF0YSBmdW5jdGlvbiB0byBwYXJzZSB0aGUgY29vcmRzLCBjb25uZWN0aXZp
dHk9Ciw9MjAKK2FuZCBkYXRhLiBUaGVuLCB0aGVzZSBjYW4gYmUgbG9hZGVkIGFzIGFuIGluLW1l
bW9yeSBkYXRhc2V0IGFzIGZvbGxvd3M6CisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKworICAg
IG1lc2hfaWQgPTNEIDAKKyAgICBkcyA9M0QgeXQubG9hZF91bnN0cnVjdHVyZWRfbWVzaChkYXRh
W21lc2hfaWRdLCBjb25uZWN0aXZpdHlbbWVzaF9pZF0sPQogY29vcmRzW21lc2hfaWRdKQorCitO
b3RlIHRoYXQgbG9hZF91bnN0cnVjdHVyZWRfbWVzaCBjYW4gdGFrZSBlaXRoZXIgYSBzaW5nbGUg
b3IgYSBsaXN0IG9mIG1lcz0KaGVzLgorSGVyZSwgd2UgaGF2ZSBzZWxlY3RlZCBvbmx5IHRoZSBm
aXJzdCBtZXNoIHRvIGxvYWQuCisKKy4uIHJ1YnJpYzo6IENhdmVhdHMKKworKiBVbml0cyB3aWxs
IGJlIGluY29ycmVjdCB1bmxlc3MgdGhlIGRhdGEgaGFzIGFscmVhZHkgYmVlbiBjb252ZXJ0ZWQg
dG8gY2c9CnMuCisqIEludGVncmF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZC4KKyogU29tZSBmdW5j
dGlvbnMgbWF5IGJlaGF2ZSBvZGRseSBvciBub3Qgd29yayBhdCBhbGwuCisqIERhdGEgbXVzdCBh
bHJlYWR5IHJlc2lkZSBpbiBtZW1vcnkuCisKIEdlbmVyaWMgUGFydGljbGUgRGF0YQogLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCj0yMAoKZGlmZiAtciA5NzBhZTYyYTE0ZjgyMzMxY2MwNzA0ODQzYzM1
MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRjZjBkMmFjOTE2PQoyNGViYjBiZGFlNzJjNDAw
MiBkb2Mvc291cmNlL3JlZmVyZW5jZS9hcGkvYXBpLnJzdAotLS0gYS9kb2Mvc291cmNlL3JlZmVy
ZW5jZS9hcGkvYXBpLnJzdAorKysgYi9kb2Mvc291cmNlL3JlZmVyZW5jZS9hcGkvYXBpLnJzdApA
QCAtMzk3LDYgKzM5Nyw3IEBACiAgICB+eXQuZnJvbnRlbmRzLnN0cmVhbS5kYXRhX3N0cnVjdHVy
ZXMubG9hZF9hbXJfZ3JpZHMKICAgIH55dC5mcm9udGVuZHMuc3RyZWFtLmRhdGFfc3RydWN0dXJl
cy5sb2FkX3BhcnRpY2xlcwogICAgfnl0LmZyb250ZW5kcy5zdHJlYW0uZGF0YV9zdHJ1Y3R1cmVz
LmxvYWRfaGV4YWhlZHJhbF9tZXNoCisgICB+eXQuZnJvbnRlbmRzLnN0cmVhbS5kYXRhX3N0cnVj
dHVyZXMubG9hZF91bnN0cnVjdHVyZWRfbWVzaAo9MjAKIERlcml2ZWQgRGF0YXR5cGVzCiAtLS0t
LS0tLS0tLS0tLS0tLQpAQCAtNTkwLDkgKzU5MSwxMiBAQAogLi4gYXV0b3N1bW1hcnk6OgogICAg
OnRvY3RyZWU6IGdlbmVyYXRlZC8KPTIwCisgICB+eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVu
ZGVyaW5nLnZvbHVtZV9yZW5kZXJpbmcudm9sdW1lX3JlbmRlcgorICAgfnl0LnZpc3VhbGl6YXRp
b24udm9sdW1lX3JlbmRlcmluZy5vZmZfYXhpc19wcm9qZWN0aW9uLm9mZl9heGlzX3Byb2plY3Q9
CmlvbgorICAgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5zY2VuZS5TY2VuZQog
ICAgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1lcmEuQ2FtZXJhCi0gICB+
eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYS5vZmZfYXhpc19wcm9qZWN0
aW9uCi0gICB+eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYS5hbGxza3lf
cHJvamVjdGlvbgorICAgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5sZW5zLkxl
bnMKKyAgIH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZS5S
ZW5kZXJTb3VyY2UKPTIwCiBUaGVzZSBvYmplY3RzIHNldCB1cCB0aGUgd2F5IHRoZSBpbWFnZSBs
b29rczoKPTIwCkBAIC02MTgsNiArNjIyLDE5IEBACiAgICB+eXQudXRpbGl0aWVzLmFtcl9rZHRy
ZWUuYW1yX2tkdHJlZS5BTVJLRFRyZWUKICAgIH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5k
ZXJpbmcuY2FtZXJhLlN0ZXJlb1BhaXJDYW1lcmEKPTIwCitBZGRpdGlvbmFsIHNvdXJjZXMgY2Fu
IGJlIGFkZGVkIHRvIGEgc2NlbmU6CisKKy4uIGF1dG9zdW1tYXJ5OjoKKyAgIDp0b2N0cmVlOiBn
ZW5lcmF0ZWQvCisKKyAgIH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpLlZv
bHVtZVNvdXJjZQorICAgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5hcGkuUG9p
bnRTb3VyY2UKKyAgIH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpLkxpbmVT
b3VyY2UKKyAgIH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpLkJveFNvdXJj
ZQorICAgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5hcGkuR3JpZFNvdXJjZQor
ICAgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5hcGkuQ29vcmRpbmF0ZVZlY3Rv
clNvdXJjZQorICAgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5yZW5kZXJfc291
cmNlLk1lc2hTb3VyY2UKKwogU3RyZWFtbGluaW5nCiBeXl5eXl5eXl5eXl4KPTIwCgpkaWZmIC1y
IDk3MGFlNjJhMTRmODIzMzFjYzA3MDQ4NDNjMzUxOGI5MGRkODhiMjcgLXIgYmU2MDk0MDEwNmYw
NGNmMGQyYWM5MTY9CjI0ZWJiMGJkYWU3MmM0MDAyIGRvYy9zb3VyY2UvdmlzdWFsaXppbmcvVHJh
bnNmZXJGdW5jdGlvbkhlbHBlcl9UdXRvcmlhbC5pcD0KeW5iCi0tLSBhL2RvYy9zb3VyY2Uvdmlz
dWFsaXppbmcvVHJhbnNmZXJGdW5jdGlvbkhlbHBlcl9UdXRvcmlhbC5pcHluYgorKysgYi9kb2Mv
c291cmNlL3Zpc3VhbGl6aW5nL1RyYW5zZmVyRnVuY3Rpb25IZWxwZXJfVHV0b3JpYWwuaXB5bmIK
QEAgLTEsNyArMSw3IEBACiB7CiAgIm1ldGFkYXRhIjogewogICAibmFtZSI6ICIiLAotICAic2ln
bmF0dXJlIjogInNoYTI1Njo1YTE1NDc5NzM1MTc5ODdmZjA0N2YxYjI0MDUyNzdhMGU5ODM5MmU4
ZmQ1ZmZlMDQ1MjE9CmNiMmRjMzcyZDMyZDMiCisgICJzaWduYXR1cmUiOiAic2hhMjU2OmVkMDk0
MDVjNTZiYWI1MWFiZDM1MWQxMDdhNDM1NDcyNjcwOWQyODliOTY1ZjI3NDEwNj0KZjQ0NTFiMzg3
ZjViYSIKICB9LAogICJuYmZvcm1hdCI6IDMsCiAgIm5iZm9ybWF0X21pbm9yIjogMCwKQEAgLTI1
LDYgKzI1LDggQEAKICAgICAgICJpbXBvcnQgbnVtcHkgYXMgbnBcbiIsCiAgICAgICAiZnJvbSBJ
UHl0aG9uLmNvcmUuZGlzcGxheSBpbXBvcnQgSW1hZ2VcbiIsCiAgICAgICAiZnJvbSB5dC52aXN1
YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcudHJhbnNmZXJfZnVuY3Rpb25faGVscGVyIGltcD0K
b3J0IFRyYW5zZmVyRnVuY3Rpb25IZWxwZXJcbiIsCisgICAgICAiZnJvbSB5dC52aXN1YWxpemF0
aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgVm9sdW1lUz0Kb3VyY2Vc
biIsCisgICAgICAiZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJh
IGltcG9ydCBDYW1lcmFcbiIsCiAgICAgICAiXG4iLAogICAgICAgImRlZiBzaG93bWUoaW0pOlxu
IiwKICAgICAgICIgICAgIyBzY3JlZW4gb3V0IE5hTnNcbiIsCkBAIC02Niw3ICs2OCw3IEBACiAg
ICAgICJjZWxsX3R5cGUiOiAiY29kZSIsCiAgICAgICJjb2xsYXBzZWQiOiBmYWxzZSwKICAgICAg
ImlucHV0IjogWwotICAgICAgInRmaCA9M0QgeXQuVHJhbnNmZXJGdW5jdGlvbkhlbHBlcihkcyki
CisgICAgICAidGZoID0zRCBUcmFuc2ZlckZ1bmN0aW9uSGVscGVyKGRzKSIKICAgICAgXSwKICAg
ICAgImxhbmd1YWdlIjogInB5dGhvbiIsCiAgICAgICJtZXRhZGF0YSI6IHt9LApAQCAtODQsNyAr
ODYsNyBAQAogICAgICAiY29sbGFwc2VkIjogZmFsc2UsCiAgICAgICJpbnB1dCI6IFsKICAgICAg
ICIjIEJ1aWxkIGEgdHJhbnNmZXIgZnVuY3Rpb24gdGhhdCBpcyBhIG11bHRpdmFyaWF0ZSBnYXVz
c2lhbiBpbiB0ZW1wPQplcmF0dXJlXG4iLAotICAgICAgInRmaCA9M0QgeXQuVHJhbnNmZXJGdW5j
dGlvbkhlbHBlcihkcylcbiIsCisgICAgICAidGZoID0zRCBUcmFuc2ZlckZ1bmN0aW9uSGVscGVy
KGRzKVxuIiwKICAgICAgICJ0Zmguc2V0X2ZpZWxkKCd0ZW1wZXJhdHVyZScpXG4iLAogICAgICAg
InRmaC5zZXRfbG9nKFRydWUpXG4iLAogICAgICAgInRmaC5zZXRfYm91bmRzKClcbiIsCkBAIC0x
MjQsNyArMTI2LDcgQEAKICAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKICAgICAgImNvbGxhcHNl
ZCI6IGZhbHNlLAogICAgICAiaW5wdXQiOiBbCi0gICAgICAidGZoID0zRCB5dC5UcmFuc2ZlckZ1
bmN0aW9uSGVscGVyKGRzKVxuIiwKKyAgICAgICJ0ZmggPTNEIFRyYW5zZmVyRnVuY3Rpb25IZWxw
ZXIoZHMpXG4iLAogICAgICAgInRmaC5zZXRfZmllbGQoJ3RlbXBlcmF0dXJlJylcbiIsCiAgICAg
ICAidGZoLnNldF9ib3VuZHMoKVxuIiwKICAgICAgICJ0Zmguc2V0X2xvZyhUcnVlKVxuIiwKQEAg
LTE0MywyNyArMTQ1LDIwIEBACiAgICAgICJjZWxsX3R5cGUiOiAibWFya2Rvd24iLAogICAgICAi
bWV0YWRhdGEiOiB7fSwKICAgICAgInNvdXJjZSI6IFsKLSAgICAgICJGaW5hbGx5LCBsZXQncyB0
YWtlIGEgbG9vayBhdCB0aGUgdm9sdW1lIHJlbmRlcmluZy4iCisgICAgICAiRmluYWxseSwgbGV0
J3MgdGFrZSBhIGxvb2sgYXQgdGhlIHZvbHVtZSByZW5kZXJpbmcuIEZpcnN0IHVzZSB0aGUgaD0K
ZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEgZGVmYXVsdCByZW5kZXJpbmcsIHRoZW4gd2Ugb3Zl
cnJpZGUgdGhpcyB3aXRoIHRoPQplIHRyYW5zZmVyIGZ1bmN0aW9uIHdlIGp1c3QgY3JlYXRlZC4i
CiAgICAgIF0KICAgICB9LAogICAgIHsKICAgICAgImNlbGxfdHlwZSI6ICJjb2RlIiwKICAgICAg
ImNvbGxhcHNlZCI6IGZhbHNlLAogICAgICAiaW5wdXQiOiBbCi0gICAgICAiTCA9M0QgWy0wLjEs
IC0xLjAsIC0wLjFdXG4iLAotICAgICAgImMgPTNEIGRzLmRvbWFpbl9jZW50ZXJcbiIsCi0gICAg
ICAiVyA9M0QgMS41KmRzLmRvbWFpbl93aWR0aFxuIiwKLSAgICAgICJOcGl4ZWxzID0zRCA1MTIg
XG4iLAotICAgICAgImNhbSA9M0QgZHMuY2FtZXJhKGMsIEwsIFcsIE5waXhlbHMsIHRmaC50Ziwg
ZmllbGRzPTNEWyd0ZW1wZXJhdHVyZSc9Cl0sXG4iLAotICAgICAgIiAgICAgICAgICAgICAgICAg
IG5vcnRoX3ZlY3Rvcj0zRFsxLiwwLiwwLl0sIHN0ZWFkeV9ub3J0aD0zRFRydWUsIFw9Cm4iLAot
ICAgICAgIiAgICAgICAgICAgICAgICAgIHN1Yl9zYW1wbGVzPTNENSwgbm9fZ2hvc3Q9M0RGYWxz
ZSlcbiIsCisgICAgICAiaW0sIHNjID0zRCB5dC52b2x1bWVfcmVuZGVyKGRzLCBbJ3RlbXBlcmF0
dXJlJ10pXG4iLAogICAgICAgIlxuIiwKLSAgICAgICIjIEhlcmUgd2Ugc3Vic3RpdHV0ZSB0aGUg
VHJhbnNmZXJGdW5jdGlvbiB3ZSBjb25zdHJ1Y3RlZCBlYXJsaWVyLlxuPQoiLAotICAgICAgImNh
bS50cmFuc2Zlcl9mdW5jdGlvbiA9M0QgdGZoLnRmXG4iLAorICAgICAgInNvdXJjZSA9M0Qgc2Mu
Z2V0X3NvdXJjZSgwKVxuIiwKKyAgICAgICJzb3VyY2Uuc2V0X3RyYW5zZmVyX2Z1bmN0aW9uKHRm
aC50ZilcbiIsCisgICAgICAiaW0yID0zRCBzYy5yZW5kZXIoKVxuIiwKICAgICAgICJcbiIsCi0g
ICAgICAiXG4iLAotICAgICAgImltID0zRCBjYW0uc25hcHNob3QoKVxuIiwKLSAgICAgICJzaG93
bWUoaW1bOiw6LDozXSkiCisgICAgICAic2hvd21lKGltMls6LDosOjNdKSIKICAgICAgXSwKICAg
ICAgImxhbmd1YWdlIjogInB5dGhvbiIsCiAgICAgICJtZXRhZGF0YSI6IHt9LAoKZGlmZiAtciA5
NzBhZTYyYTE0ZjgyMzMxY2MwNzA0ODQzYzM1MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRj
ZjBkMmFjOTE2PQoyNGViYjBiZGFlNzJjNDAwMiBkb2Mvc291cmNlL3Zpc3VhbGl6aW5nL19pbWFn
ZXMvc2NlbmVfZGlhZ3JhbS5zdmcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc291cmNlL3Zpc3Vh
bGl6aW5nL19pbWFnZXMvc2NlbmVfZGlhZ3JhbS5zdmcKQEAgLTAsMCArMSw1MTIgQEAKKzw/eG1s
IHZlcnNpb249M0QiMS4wIiBzdGFuZGFsb25lPTNEInllcyI/PgorCis8c3ZnIHZlcnNpb249M0Qi
MS4xIiB2aWV3Qm94PTNEIjAuMCAwLjAgNzEwLjAgNDYyLjAiIGZpbGw9M0Qibm9uZSIgc3Ryb2tl
PQo9M0Qibm9uZSIKK3N0cm9rZS1saW5lY2FwPTNEInNxdWFyZSIgc3Ryb2tlLW1pdGVybGltaXQ9
M0QiMTAiCit4bWxucz0zRCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKK3htbG5zOnhsaW5r
PTNEImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxjbGlwUGF0aCBpZD0zRCJwLjAiPjxw
YXRoIGQ9Cj0zRCJtMAorMGw3MTAuMCAwbDAgNDYyLjBsLTcxMC4wIDBsMCAtNDYyLjB6IiBjbGlw
LXJ1bGU9M0Qibm9uemVybyI+PC9wYXRoPjwvY2xpcFA9CmF0aD48ZworY2xpcC1wYXRoPTNEInVy
bCgjcC4wKSI+PHBhdGggZmlsbD0zRCIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9M0QiMC4wIiBkPTNE
Im09CjAgMGw3MTAuNDI1MgorMGwwIDQ2Mi40NDYybC03MTAuNDI1MiAweiIgZmlsbC1ydWxlPTNE
Im5vbnplcm8iPjwvcGF0aD48cGF0aCBmaWxsPTNEIiMwMDA9CjAwMCIKK2ZpbGwtb3BhY2l0eT0z
RCIwLjAiIGQ9M0QibTUwLjQyNTE5OCAxMjEuMTMzODZsNDg5LjczMjI3IDBsMCAyODkuNjA2M2wt
NDg5PQouNzMyMjcKKzB6IiBmaWxsLXJ1bGU9M0Qibm9uemVybyI+PC9wYXRoPjxwYXRoIGZpbGw9
M0QiIzAwMDAwMCIgZmlsbC1vcGFjaXR5PTNEIjAuPQowIgorZD0zRCJtNTQwLjE1NzUgMTIxLjEz
Mzg2bDk2LjUzNTQ2IC05Ni41MzU0M2wwIDI4OS42MDYzbC05Ni41MzU0NiA5Ni41MzU0M3oiCitm
aWxsLXJ1bGU9M0Qibm9uemVybyI+PC9wYXRoPjxwYXRoIGZpbGw9M0QiIzAwMDAwMCIgZmlsbC1v
cGFjaXR5PTNEIjAuMCIKK2Q9M0QibTUwLjQyNTE5OCAxMjEuMTMzODZsOTYuNTM1NDMgLTk2LjUz
NTQzbDQ4OS43MzIzIDBsLTk2LjUzNTQ2IDk2LjUzNTQzPQp6IgorZmlsbC1ydWxlPTNEIm5vbnpl
cm8iPjwvcGF0aD48cGF0aCBmaWxsPTNEIiMwMDAwMDAiIGZpbGwtb3BhY2l0eT0zRCIwLjAiCitk
PTNEIm01MC40MjUxOTggMTIxLjEzMzg2bDk2LjUzNTQzIC05Ni41MzU0M2w0ODkuNzMyMyAwbDAg
Mjg5LjYwNjNsLTk2LjUzNT0KNDYKKzk2LjUzNTQzbC00ODkuNzMyMjcgMHptMCAwbDQ4OS43MzIy
NyAwbDk2LjUzNTQ2IC05Ni41MzU0M20tOTYuNTM1NDYgOTYuNTM1PQo0M2wwCisyODkuNjA2MyIg
ZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0aD48cGF0aCBmaWxsPTNEIiMwMDAwMDAiIGZpbGwt
b3BhY2l0eT0KPTNEIjAuMiIKK2Q9M0QibTU0MC4xNTc1IDEyMS4xMzM4Nmw5Ni41MzU0NiAtOTYu
NTM1NDNsMCAyODkuNjA2M2wtOTYuNTM1NDYgOTYuNTM1NDN6IgorZmlsbC1ydWxlPTNEIm5vbnpl
cm8iPjwvcGF0aD48cGF0aCBmaWxsPTNEIiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0zRCIwLjIiCitk
PTNEIm01MC40MjUxOTggMTIxLjEzMzg2bDk2LjUzNTQzIC05Ni41MzU0M2w0ODkuNzMyMyAwbC05
Ni41MzU0NiA5Ni41MzU0Mz0KeiIKK2ZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBhdGgg
c3Ryb2tlPTNEIiMwMDAwMDAiIHN0cm9rZS13aWR0aD0zRCIyLjAiCitzdHJva2UtbGluZWpvaW49
M0Qicm91bmQiIHN0cm9rZS1saW5lY2FwPTNEImJ1dHQiIGQ9M0QibTUwLjQyNTE5OCAxMjEuMTMz
OD0KNmw5Ni41MzU0MworLTk2LjUzNTQzbDQ4OS43MzIzIDBsMCAyODkuNjA2M2wtOTYuNTM1NDYg
OTYuNTM1NDNsLTQ4OS43MzIyNyAwem0wIDBsNDg5Ljc9CjMyMjcKKzBsOTYuNTM1NDYgLTk2LjUz
NTQzbS05Ni41MzU0NiA5Ni41MzU0M2wwIDI4OS42MDYzIgorZmlsbC1ydWxlPTNEIm5vbnplcm8i
PjwvcGF0aD48cGF0aCBmaWxsPTNEIiNjY2NjY2MiIGQ9M0QibTM5OS41MjQ5MyAyNjguNzQ9CjAx
NGwwIDBjMAorLTYuNTIxNTc2IDE0Ljc4OTMwNyAtMTEuODA4MzggMzMuMDMyODA2IC0xMS44MDgz
OGMxOC4yNDM1MyAwIDMzLjAzMjgwNiA1LjI9Cjg2ODA0CiszMy4wMzI4MDYgMTEuODA4MzhsMCA0
Ny4yMzM2MTJjMCA2LjUyMTYwNjQgLTE0Ljc4OTI3NiAxMS44MDg0MTEgLTMzLjAzMjgwNgorMTEu
ODA4NDExYy0xOC4yNDM1IDAgLTMzLjAzMjgwNiAtNS4yODY4MDQgLTMzLjAzMjgwNiAtMTEuODA4
NDExeiIKK2ZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBhdGggZmlsbD0zRCIjMDAwMDAw
IiBmaWxsLW9wYWNpdHk9M0QiMC4wIgorZD0zRCJtNDY1LjU5MDU1IDI2OC43NDAxNGwwIDBjMCA2
LjUyMTYwNjQgLTE0Ljc4OTI3NiAxMS44MDg0MTEgLTMzLjAzMjgwNgorMTEuODA4NDExYy0xOC4y
NDM1IDAgLTMzLjAzMjgwNiAtNS4yODY4MDQgLTMzLjAzMjgwNiAtMTEuODA4NDExIgorZmlsbC1y
dWxlPTNEIm5vbnplcm8iPjwvcGF0aD48cGF0aCBmaWxsPTNEIiMwMDAwMDAiIGZpbGwtb3BhY2l0
eT0zRCIwLjAiCitkPTNEIm0zOTkuNTI0OTMgMjY4Ljc0MDE0bDAgMGMwIC02LjUyMTU3NiAxNC43
ODkzMDcgLTExLjgwODM4IDMzLjAzMjgwNgorLTExLjgwODM4YzE4LjI0MzUzIDAgMzMuMDMyODA2
IDUuMjg2ODA0IDMzLjAzMjgwNiAxMS44MDgzOGwwIDQ3LjIzMzYxMmMwCis2LjUyMTYwNjQgLTE0
Ljc4OTI3NiAxMS44MDg0MTEgLTMzLjAzMjgwNiAxMS44MDg0MTFjLTE4LjI0MzUgMCAtMzMuMDMy
ODA2CistNS4yODY4MDQgLTMzLjAzMjgwNiAtMTEuODA4NDExeiIgZmlsbC1ydWxlPTNEIm5vbnpl
cm8iPjwvcGF0aD48cGF0aAorc3Ryb2tlPTNEIiMwMDAwMDAiIHN0cm9rZS13aWR0aD0zRCIyLjAi
IHN0cm9rZS1saW5lam9pbj0zRCJyb3VuZCIKK3N0cm9rZS1saW5lY2FwPTNEImJ1dHQiIGQ9M0Qi
bTQ2NS41OTA1NSAyNjguNzQwMTRsMCAwYzAgNi41MjE2MDY0IC0xNC43ODkyPQo3NgorMTEuODA4
NDExIC0zMy4wMzI4MDYgMTEuODA4NDExYy0xOC4yNDM1IDAgLTMzLjAzMjgwNiAtNS4yODY4MDQg
LTMzLjAzMjgwNgorLTExLjgwODQxMSIgZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0aD48cGF0
aCBzdHJva2U9M0QiIzAwMDAwMCIKK3N0cm9rZS13aWR0aD0zRCIyLjAiIHN0cm9rZS1saW5lam9p
bj0zRCJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9M0QiYnV0dCIgZD0KPTNEIm0zOTkuNTI0OTMKKzI2
OC43NDAxNGwwIDBjMCAtNi41MjE1NzYgMTQuNzg5MzA3IC0xMS44MDgzOCAzMy4wMzI4MDYgLTEx
LjgwODM4YzE4LjI0MzUzPQogMAorMzMuMDMyODA2IDUuMjg2ODA0IDMzLjAzMjgwNiAxMS44MDgz
OGwwIDQ3LjIzMzYxMmMwIDYuNTIxNjA2NCAtMTQuNzg5Mjc2CisxMS44MDg0MTEgLTMzLjAzMjgw
NiAxMS44MDg0MTFjLTE4LjI0MzUgMCAtMzMuMDMyODA2IC01LjI4NjgwNCAtMzMuMDMyODA2Cist
MTEuODA4NDExeiIgZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0aD48cGF0aCBmaWxsPTNEIiNj
Y2NjY2MiIGQ9M0QibTMzMz0KLjQ1OTM4CisyNTUuMTEyOThsMjAuODk2OTEyIDEuMjIwNzAzMUUt
NGw2LjQ1NzM2NyAtMTguMjg2MzMxbDYuNDU3MzY3CisxOC4yODYzMzFsMjAuODk2ODgxIC0xLjIy
MDcwMzFFLTRsLTE2LjkwNjAwNiAxMS4zMDE0NTNsNi40NTc2MTEKKzE4LjI4NjIyNGwtMTYuOTA1
ODUzIC0xMS4zMDE2MzZsLTE2LjkwNTg4NCAxMS4zMDE2MzZsNi40NTc2NDE2IC0xOC4yODYyMjR6
IgorZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0aD48cGF0aCBzdHJva2U9M0QiIzAwMDAwMCIg
c3Ryb2tlLXdpZHRoPTNEIjIuMCIKK3N0cm9rZS1saW5lam9pbj0zRCJyb3VuZCIgc3Ryb2tlLWxp
bmVjYXA9M0QiYnV0dCIgZD0zRCJtMzMzLjQ1OTM4IDI1NS4xMTI5PQo4bDIwLjg5NjkxMgorMS4y
MjA3MDMxRS00bDYuNDU3MzY3IC0xOC4yODYzMzFsNi40NTczNjcgMTguMjg2MzMxbDIwLjg5Njg4
MQorLTEuMjIwNzAzMUUtNGwtMTYuOTA2MDA2IDExLjMwMTQ1M2w2LjQ1NzYxMSAxOC4yODYyMjRs
LTE2LjkwNTg1MworLTExLjMwMTYzNmwtMTYuOTA1ODg0IDExLjMwMTYzNmw2LjQ1NzY0MTYgLTE4
LjI4NjIyNHoiCitmaWxsLXJ1bGU9M0Qibm9uemVybyI+PC9wYXRoPjxwYXRoIGZpbGw9M0QiI2Nj
Y2NjYyIgZD0zRCJtNDA4LjE0NDM1CisyMTQuNTYxNjhsMzguNTM1NDMgMGwwIDIyLjI1MTk2OGwt
MzguNTM1NDMgMHoiIGZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdD0KaD48cGF0aAorZmlsbD0z
RCIjYTNhM2EzIiBkPTNEIm00NDYuNjc5NzggMjE0LjU2MTY4bDcuNDE3MzI4IC03LjQxNzMxMjZs
MAorMjIuMjUxOTY4bC03LjQxNzMyOCA3LjQxNzMxMjZ6IiBmaWxsLXJ1bGU9M0Qibm9uemVybyI+
PC9wYXRoPjxwYXRoIGZpbGw9M0Q9CiIjZDZkNmQ2IgorZD0zRCJtNDA4LjE0NDM1IDIxNC41NjE2
OGw3LjQxNzMyOCAtNy40MTczMTI2bDM4LjUzNTQzIDBsLTcuNDE3MzI4IDcuNDE3MzE9CjI2eiIK
K2ZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBhdGggZmlsbD0zRCIjMDAwMDAwIiBmaWxs
LW9wYWNpdHk9M0QiMC4wIgorZD0zRCJtNDA4LjE0NDM1IDIxNC41NjE2OGw3LjQxNzMyOCAtNy40
MTczMTI2bDM4LjUzNTQzIDBsMCAyMi4yNTE5NjhsLTcuNDE9CjczMjgKKzcuNDE3MzEyNmwtMzgu
NTM1NDMgMHptMCAwbDM4LjUzNTQzIDBsNy40MTczMjggLTcuNDE3MzEyNm0tNy40MTczMjggNy40
MTczPQoxMjZsMAorMjIuMjUxOTY4IiBmaWxsLXJ1bGU9M0Qibm9uemVybyI+PC9wYXRoPjxwYXRo
IHN0cm9rZT0zRCIjMDAwMDAwIiBzdHJva2Utd2k9CmR0aD0zRCIyLjAiCitzdHJva2UtbGluZWpv
aW49M0Qicm91bmQiIHN0cm9rZS1saW5lY2FwPTNEImJ1dHQiIGQ9M0QibTQwOC4xNDQzNSAyMTQu
NTYxNj0KOGw3LjQxNzMyOAorLTcuNDE3MzEyNmwzOC41MzU0MyAwbDAgMjIuMjUxOTY4bC03LjQx
NzMyOCA3LjQxNzMxMjZsLTM4LjUzNTQzIDB6bTAgMGwzOC49CjUzNTQzCiswbDcuNDE3MzI4IC03
LjQxNzMxMjZtLTcuNDE3MzI4IDcuNDE3MzEyNmwwIDIyLjI1MTk2OCIKK2ZpbGwtcnVsZT0zRCJu
b256ZXJvIj48L3BhdGg+PHBhdGggZmlsbD0zRCIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9M0QiMC4w
IgorZD0zRCJtMzI5LjYyMjA0IDMyNy43ODIxN2wxMzUuOTY4NSAwbDAgNTQuNTgyNjcybC0xMzUu
OTY4NSAweiIKK2ZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBhdGggZmlsbD0zRCIjMDAw
MDAwIiBkPTNEIm0zNTQuNDE0OSAzNjIuNTU2PQo1MnEtMC4xNTYyNQorMC4wNjI1IC0wLjM3NSAw
LjA2MjVxLTAuMjM0Mzc1IDAgLTAuNSAtMC4xNDA2MjVxLTIuNzk2ODc1IC0zLjAxNTYyNSAtMy43
MzQ9CjM3NQorLTcuNzY1NjI1cS0wLjMyODEyNSAtMS42NDA2MjUgLTAuMzI4MTI1IC0zLjQwNjI1
cTAgLTMuMzc1IDEuMjAzMTI1CistNi40Mzc1cTEuMDQ2ODc1IC0yLjcwMzEyNSAyLjg1OTM3NSAt
NC42NzE4NzVxMC4xMjUgLTAuMTA5Mzc1IDAuNTE1NjI1CistMC4xMDkzNzVxMC4zNzUgMCAwLjY0
MDYyNSAwLjI1cTAuMjY1NjI1IDAuMjUgMC4yNjU2MjUgMC41NjI1cS0yLjQzNzUgNC4xNz0KMTg3
NQorLTIuODU5Mzc1IDcuNzM0Mzc1cS0wLjE0MDYyNSAxLjI1IC0wLjE0MDYyNSAyLjYyNXEtMC4w
MTU2MjUgMC4wNjI1IC0wLjAxNTY9CjI1CiswLjEwOTM3NXEwIDEuMzQzNzUgMC4xNTYyNSAyLjU2
MjVxMC4xNDA2MjUgMS4yNSAwLjUgMi41MTU2MjVxMC42ODc1IDIuNDUzMT0KMjUKKzIuMzU5Mzc1
IDUuMzI4MTI1cTAgMC41MTU2MjUgLTAuNTQ2ODc1IDAuNzgxMjV6bTUuNSAtNC4zMTI1bDEuMzQz
NzUgMHExLjYyPQo1IDAKKzIuMTg3NSAtMC45ODQzNzVxMC4xNzE4NzUgLTAuMzEyNSAwLjE3MTg3
NSAtMC42NzE4NzVxMCAtMC4zNTkzNzUgLTAuMTcxODc1CistMC42MjVxLTAuMTcxODc1IC0wLjI2
NTYyNSAtMC41MzEyNSAtMC40ODQzNzVxLTAuNTYyNSAtMC4zNDM3NSAtMS44NDM3NQorLTAuNzM0
Mzc1cS0xLjI4MTI1IC0wLjM5MDYyNSAtMS45NTMxMjUgLTAuNjcxODc1cS0wLjY1NjI1IC0wLjI5
Njg3NSAtMS4xNTY9CjI1CistMC43MDMxMjVxLTEuMCAtMC44NDM3NSAtMS4wIC0yLjMxMjVxMCAt
Mi4xNzE4NzUgMi40MjE4NzUgLTIuOTIxODc1cTAuOTA2MjUKKy0wLjI4MTI1IDEuNzk2ODc1IC0w
LjI4MTI1cTAuODkwNjI1IDAgMS42NDA2MjUgMC4xMjVxMC43NjU2MjUgMC4xMDkzNzUgMS4zPQo3
NQorMC4zOTA2MjVxMS4zOTA2MjUgMC42NDA2MjUgMS4zOTA2MjUgMS44NDM3NWwwIDAuMDYyNXEw
IDAuNjU2MjUgLTAuNDUzMTI1CisxLjEwOTM3NXEtMC40Mzc1IDAuNDM3NSAtMS4xNDA2MjUgMC40
NTMxMjVxLTEuMTA5Mzc1IDAgLTEuNSAtMC45NTMxMjVxLTAuMT0KMjUKKy0wLjI5Njg3NSAtMC4x
MjUgLTAuNDg0Mzc1cTAgLTAuMTg3NSAwLjE0MDYyNSAtMC44OTA2MjVsLTEuMTU2MjUgMHEtMC45
NTMxPQoyNSAwCistMS40MDYyNSAwLjMyODEyNXEtMC44MjgxMjUgMC41NzgxMjUgLTAuODI4MTI1
IDEuMjY1NjI1cTAgMC45MDYyNSAxLjY0MDYyNQorMS40Njg3NWwwLjg5MDYyNSAwLjMxMjVxMi4y
NSAwLjc1IDIuODkwNjI1IDEuMjgxMjVxMC42NTYyNSAwLjUxNTYyNSAwLjkzNzUKKzEuMTQwNjI1
cTAuMjk2ODc1IDAuNjI1IDAuMjk2ODc1IDEuNDIxODc1cTAgMC44MTI1IC0wLjMxMjUgMS4zOTA2
MjVxLTAuMjk2PQo4NzUKKzAuNTkzNzUgLTAuODU5Mzc1IDEuMDE1NjI1cS0xLjIxODc1IDAuOTIx
ODc1IC0zLjE0MDYyNSAwLjkyMTg3NXEtMS43MTg3NSAwCistMy4wNzgxMjUgLTAuNTE1NjI1cS0x
LjAgLTAuMzc1IC0xLjQyMTg3NSAtMS4wNzgxMjVxLTAuMjE4NzUgLTAuMzU5Mzc1IC0wLj0KMjE4
NzUKKy0wLjc2NTYyNXEwIC0wLjM5MDYyNSAwLjEyNSAtMC42ODc1cTAuMTQwNjI1IC0wLjMxMjUg
MC4zNDM3NSAtMC41MTU2MjVxMC40PQo1MzEyNQorLTAuNDUzMTI1IDEuMTU2MjUgLTAuNDUzMTI1
cTAuNjcxODc1IDAgMS4xNDA2MjUgMC40Njg3NXEwLjQ2ODc1IDAuNDM3NSAwLjQ9CjY4NzUKKzEu
MGwwIDAuMDE1NjI1cS0wLjAxNTYyNSAwLjU3ODEyNSAtMC4wNjI1IDAuNzE4NzV6bTEyLjg1MTU2
MjUgMS44MTI1cS0xLjI1PQogMAorLTIuMjAzMTI1IC0wLjQ2ODc1cS0wLjk1MzEyNSAtMC40Njg3
NSAtMS42MDkzNzUgLTEuMzEyNXEtMS4zMTI1IC0xLjcwMzEyNQorLTEuMzEyNSAtNC40NTMxMjVx
MCAtMi44OTA2MjUgMS43ODEyNSAtNC41cTEuNjI1IC0xLjQ2ODc1IDQuMDc4MTI1CistMS40Njg3
NWwwLjAzMTI1IDBxMi4yOTY4NzUgMCAzLjcwMzEyNSAxLjc1cTEuMzI4MTI1IDEuNjU2MjUgMS4z
MjgxMjUgNC4zMT0KMjVxMAorMi45NTMxMjUgLTEuNjQwNjI1IDQuNTkzNzVxLTEuNTQ2ODc1IDEu
NTQ2ODc1IC00LjE1NjI1IDEuNTQ2ODc1em0tMS43MDMxMjUKKy05LjU3ODEyNXEtMC40Mzc1IDAu
NDY4NzUgLTAuNzM0Mzc1IDEuMjgxMjVxLTAuMjgxMjUgMC44MTI1IC0wLjI4MTI1IDIuMHEwCisx
LjIwMzEyNSAwLjIxODc1IDIuMDMxMjVxMC4yMzQzNzUgMC44MTI1IDAuNjQwNjI1IDEuMzU5Mzc1
cTAuNzk2ODc1IDEuMDkzNzUKKzIuMjM0Mzc1IDEuMDkzNzVxMS40Njg3NSAwIDIuMjgxMjUgLTEu
MjgxMjVxMC43MzQzNzUgLTEuMTcxODc1IDAuNzM0Mzc1CistMy4wNzgxMjVxMCAtMy4xNzE4NzUg
LTEuODU5Mzc1IC0zLjk4NDM3NXEtMC41NjI1IC0wLjIzNDM3NSAtMS4xNDA2MjUKKy0wLjIzNDM3
NXEtMC41NzgxMjUgMCAtMS4xMDkzNzUgMC4xNzE4NzVxLTAuNTMxMjUgMC4xNzE4NzUgLTAuOTg0
Mzc1CiswLjY0MDYyNXptMTguMjMwNDY5IDguMjE4NzVxLTEuODc1IDEuMzU5Mzc1IC0zLjM3NSAx
LjM1OTM3NXEtMi45NTMxMjUgMAorLTMuNzk2ODc1IC0yLjM3NXEtMC4yODEyNSAtMC43ODEyNSAt
MC4yODEyNSAtMS44MjgxMjVsMCAtNS45NTMxMjVsLTEuNjQwNjI1CiswcS0wLjQzNzUgMCAtMC40
Mzc1IC0wLjg5MDYyNXEwIC0wLjU5Mzc1IDAuMjM0Mzc1IC0wLjY1NjI1cTEuOTY4NzUgLTAuNSAz
Lj0KNTkzNzUKKy0wLjVxMC41MTU2MjUgMCAwLjU0Njg3NSAwLjkzNzVsMCA2LjIxODc1cTAgMi4y
ODEyNSAxLjE3MTg3NSAyLjcxODc1cTAuMzQzPQo3NQorMC4xNDA2MjUgMC44NzUgMC4xNDA2MjVx
MC41MTU2MjUgMCAwLjk4NDM3NSAtMC4xMDkzNzVxMC40ODQzNzUgLTAuMTI1IDAuODU9CjkzNzUK
Ky0wLjI4MTI1cTAuMzQzNzUgLTAuMTcxODc1IDAuNjI1IC0wLjM3NWwwLjUgLTAuMzc1bDAgLTYu
ODI4MTI1bC0xLjU5Mzc1CiswcS0wLjQ4NDM3NSAwIC0wLjQ4NDM3NSAtMC44NzVxMCAtMC41NDY4
NzUgMC4zMTI1IC0wLjY3MTg3NXEwLjMxMjUgLTAuMTI1ID0KMC43NQorLTAuMjE4NzVxMC40NTMx
MjUgLTAuMDc4MTI1IDAuOTIxODc1IC0wLjE1NjI1cTAuOTIxODc1IC0wLjEwOTM3NSAxLjQ2ODc1
CistMC4xMjVsMC4wMzEyNSAwcTAuNTE1NjI1IDAgMC42MjUgMC4xMjVxMC4xNDA2MjUgMC4xMjUg
MC4xODc1IDAuMzI4MTI1cTAuMD0KNzgxMjUKKzAuMjk2ODc1IDAuMDc4MTI1IDEuMDMxMjVsMCA4
LjgyODEyNWwxLjk2ODc1IDBxMC4zMTI1IDAgMC4zMTI1IDAuNzY1NjI1cTAKKzAuODEyNSAtMC40
ODQzNzUgMC44OTA2MjVxLTEuMTg3NSAwLjE4NzUgLTIuMTI1IDAuMTg3NXEtMC45Mzc1IDAgLTEu
MTA5Mzc1CistMC4wOTM3NXEtMC4xNTYyNSAtMC4wOTM3NSAtMC4yODEyNSAtMC4yNjU2MjVxLTAu
MTg3NSAtMC4yNSAtMC40Mzc1CistMC45NTMxMjV6bTkuNjMyODEyNSAtOS45Njg3NWwwIDAuNDY4
NzVxMCAwLjE0MDYyNSAtMC4wMTU2MjUgMC4yODEyNXEwIDAuMT0KNDA2MjUKKzAgMC4yNXExLjM3
NSAtMS4yNSAyLjc1IC0xLjcxODc1cTAuNDUzMTI1IC0wLjE0MDYyNSAwLjkyMTg3NSAtMC4xNTYy
NWwwLjAzPQoxMjUKKzBxMC40NTMxMjUgMCAwLjgxMjUgMC4xNzE4NzVxMC4zNzUgMC4xODc1IDAu
NjA5Mzc1IDAuNDUzMTI1cTAuMzkwNjI1IDAuNDY4PQo3NQorMC4zOTA2MjUgMC45Njg3NXEwIDAu
NTE1NjI1IC0wLjEyNSAwLjgxMjVxLTAuMTI1IDAuMjk2ODc1IC0wLjM1OTM3NSAwLjVxLTA9Ci41
CiswLjQ1MzEyNSAtMC45ODQzNzUgMC40NTMxMjVxLTAuNDg0Mzc1IDAgLTAuNzUgLTAuMTI1cS0w
LjI1IC0wLjE0MDYyNSAtMC40NT0KMzEyNQorLTAuMzQzNzVxLTAuNDIxODc1IC0wLjQ1MzEyNSAt
MC40MjE4NzUgLTEuMHEtMC42NzE4NzUgMC4zMTI1IC0xLjAzMTI1CiswLjcxODc1cS0wLjM0Mzc1
IDAuNDIxODc1IC0wLjU3ODEyNSAwLjc2NTYyNWwtMC41MTU2MjUgMC43OTY4NzVsMAorNi4xNDA2
MjVsMi44NDM3NSAwcTAuMjY1NjI1IDAgMC4yNjU2MjUgMC43MTg3NXEwIDAuNTc4MTI1IC0wLjE3
MTg3NQorMC43NjU2MjVxLTAuMTcxODc1IDAuMTcxODc1IC0wLjMxMjUgMC4xNzE4NzVsLTYuODEy
NSAwcS0wLjMyODEyNSAwIC0wLjMyODE9CjI1CistMC43MzQzNzVxMC4wMTU2MjUgLTAuNTQ2ODc1
IDAuMzEyNSAtMC44NDM3NXEwLjA5Mzc1IC0wLjA3ODEyNSAwLjQwNjI1CistMC4wNzgxMjVxMC4z
MjgxMjUgMCAwLjY1NjI1IC0wLjAzMTI1cTAuMzI4MTI1IC0wLjAzMTI1IDAuNTE1NjI1CistMC4w
NzgxMjVxMC4zMjgxMjUgLTAuMTA5Mzc1IDAuMzI4MTI1IC0wLjM5MDYyNWwwIC03LjcxODc1bC0y
LjA2MjUgMHEtMC40NT0KMzEyNQorMCAtMC40NTMxMjUgLTAuOTIxODc1cTAgLTAuNTc4MTI1IDAu
Mjk2ODc1IC0wLjcwMzEyNXEwLjI5Njg3NSAtMC4xNDA2MjUgMC49Cjc4MTI1CistMC4yMTg3NXEw
LjUgLTAuMDkzNzUgMS4wMTU2MjUgLTAuMTQwNjI1cTAuOTg0Mzc1IC0wLjA5Mzc1IDEuNTQ2ODc1
CistMC4xMDkzNzVsMC4wOTM3NSAwcTAuNDg0Mzc1IDAgMC41NzgxMjUgMC4wNjI1cTAuMTI1IDAu
MDQ2ODc1IDAuMTcxODc1CiswLjE1NjI1cTAuMDQ2ODc1IDAuMTI1IDAuMDQ2ODc1IDAuNTE1NjI1
bDAgMC4xNDA2MjV6bTEzLjI3NzM0NAorMC43ODEyNWwtMS4wNzgxMjUgMHEtMS4yMTg3NSAwIC0y
LjEwOTM3NSAwLjkyMTg3NXEtMS4xMjUgMS4xODc1IC0xLjEyNQorMy40MDYyNXEwIDMuMjY1NjI1
IDEuODI4MTI1IDQuMTI1cTAuNTYyNSAwLjI4MTI1IDEuMTcxODc1IDAuMjgxMjVxMC41OTM3NSAw
CisxLjA2MjUgLTAuMTI1cTAuNDg0Mzc1IC0wLjEyNSAwLjk1MzEyNSAtMC4zNDM3NXEwLjQ2ODc1
IC0wLjE4NzUgMC44OTA2MjUKKy0wLjQ1MzEyNWwwLjgyODEyNSAtMC41cTAuMDQ2ODc1IC0wLjAz
MTI1IDAuMTU2MjUgLTAuMDMxMjVxMC4xMDkzNzUgMCAwLjI2PQo1NjI1CiswLjE0MDYyNXEwLjE3
MTg3NSAwLjEyNSAwLjMxMjUgMC4zMTI1cTAuMzEyNSAwLjQzNzUgMC4zMTI1IDAuNzM0Mzc1cTAg
MC4yOT0KNjg3NQorLTAuMTQwNjI1IDAuNDA2MjVxLTIuMjM0Mzc1IDEuNjcxODc1IC00Ljg3NSAx
LjY3MTg3NXEtMi40Mzc1IDAgLTMuODI4MTI1CistMS43MDMxMjVxLTEuMzI4MTI1IC0xLjY0MDYy
NSAtMS4zMjgxMjUgLTQuNTE1NjI1cTAgLTIuODEyNSAxLjY4NzUKKy00LjQ1MzEyNXExLjU5Mzc1
IC0xLjUxNTYyNSA0LjA3ODEyNSAtMS41MzEyNXEyLjY0MDYyNSAwLjAxNTYyNSAzLjY1NjI1Cisx
LjE1NjI1cTAuMzkwNjI1IDAuNDUzMTI1IDAuMzkwNjI1IDAuOTUzMTI1cTAgMC41IC0wLjEwOTM3
NSAwLjc5Njg3NXEtMC4xND0KMDYyNQorMC4yOTY4NzUgLTAuMzU5Mzc1IDAuNXEtMC40Njg3NSAw
LjQ2ODc1IC0xLjE0MDYyNSAwLjQ2ODc1cS0wLjY1NjI1IDAgLTEuMTI1CistMC40Njg3NXEtMC40
Njg3NSAtMC40Mzc1IC0wLjQ2ODc1IC0wLjg5MDYyNXEwIC0wLjQzNzUgMC4wOTM3NQorLTAuODU5
Mzc1em01LjA0Njg3NSA0LjI4MTI1cTAgLTEuNDUzMTI1IDAuNDg0Mzc1IC0yLjU3ODEyNXEwLjQ2
ODc1IC0xLjA5Mzc1CisxLjI2NTYyNSAtMS44NDM3NXExLjYwOTM3NSAtMS41IDMuOTg0Mzc1IC0x
LjUxNTYyNWwwLjA0Njg3NSAwcTIuMTcxODc1IDAKKzMuMzU5Mzc1IDEuMzc1cTEuMTg3NSAxLjM1
OTM3NSAxLjE4NzUgMy45MjE4NzVxMCAwLjU0Njg3NSAtMC41MTU2MjUKKzAuOTUzMTI1cS0wLjQ4
NDM3NSAwLjM5MDYyNSAtMS4yMzQzNzUgMC4zOTA2MjVsLTYuMTcxODc1IDBxMC4yMDMxMjUgMi43
MzQzPQo3NQorMS45MDYyNSAzLjUxNTYyNXEwLjUzMTI1IDAuMjM0Mzc1IDEuMTQwNjI1IDAuMjM0
Mzc1cTAuNTkzNzUgMCAxLjA2MjUKKy0wLjEyNXEwLjQ2ODc1IC0wLjE0MDYyNSAwLjg5MDYyNSAt
MC4zNDM3NXEwLjQzNzUgLTAuMjAzMTI1IDAuODU5Mzc1CistMC40Njg3NXEwLjg0Mzc1IC0wLjUz
MTI1IDEuMCAtMC41MzEyNXEwLjE0MDYyNSAwLjAxNTYyNSAwLjMxMjUKKzAuMTQwNjI1cTAuMTQw
NjI1IDAuMTQwNjI1IDAuMjgxMjUgMC4zMjgxMjVxMC4yOTY4NzUgMC40Mzc1IDAuMzEyNSAwLjc1
bDAKKzAuMDE1NjI1cTAgMC4yODEyNSAtMC4xMjUgMC4zNzVxLTIuMTU2MjUgMS42NzE4NzUgLTQu
ODc1IDEuNjcxODc1cS0yLjQ1MzEyPQo1IDAKKy0zLjgyODEyNSAtMS43MTg3NXEtMS4zNDM3NSAt
MS42NTYyNSAtMS4zNDM3NSAtNC41NDY4NzV6bTcuOTIxODc1IC0xLjA2MjVsMAorLTAuMDQ2ODc1
cTAgLTIuMzEyNSAtMS4zNDM3NSAtMi44NTkzNzVxLTAuNDIxODc1IC0wLjE1NjI1IC0wLjkzNzUK
Ky0wLjE1NjI1cS0wLjUxNTYyNSAwIC0xLjA3ODEyNSAwLjE4NzVxLTAuNTYyNSAwLjE4NzUgLTEu
MDMxMjUgMC41NjI1cS0xLjA0PQo2ODc1CiswLjg1OTM3NSAtMS4xMjUgMi4zMTI1bDUuNTE1NjI1
IDB6bTcuMzg2NzE4OCA1LjUxNTYyNWwxLjM0Mzc1IDBxMS42MjUgMCAyLj0KMTg3NQorLTAuOTg0
Mzc1cTAuMTcxODc1IC0wLjMxMjUgMC4xNzE4NzUgLTAuNjcxODc1cTAgLTAuMzU5Mzc1IC0wLjE3
MTg3NQorLTAuNjI1cS0wLjE3MTg3NSAtMC4yNjU2MjUgLTAuNTMxMjUgLTAuNDg0Mzc1cS0wLjU2
MjUgLTAuMzQzNzUgLTEuODQzNzUKKy0wLjczNDM3NXEtMS4yODEyNSAtMC4zOTA2MjUgLTEuOTUz
MTI1IC0wLjY3MTg3NXEtMC42NTYyNSAtMC4yOTY4NzUgLTEuMTU2PQoyNQorLTAuNzAzMTI1cS0x
LjAgLTAuODQzNzUgLTEuMCAtMi4zMTI1cTAgLTIuMTcxODc1IDIuNDIxODc1IC0yLjkyMTg3NXEw
LjkwNjI1CistMC4yODEyNSAxLjc5Njg3NSAtMC4yODEyNXEwLjg5MDYyNSAwIDEuNjQwNjI1IDAu
MTI1cTAuNzY1NjI1IDAuMTA5Mzc1IDEuMz0KNzUKKzAuMzkwNjI1cTEuMzkwNjI1IDAuNjQwNjI1
IDEuMzkwNjI1IDEuODQzNzVsMCAwLjA2MjVxMCAwLjY1NjI1IC0wLjQ1MzEyNQorMS4xMDkzNzVx
LTAuNDM3NSAwLjQzNzUgLTEuMTQwNjI1IDAuNDUzMTI1cS0xLjEwOTM3NSAwIC0xLjUgLTAuOTUz
MTI1cS0wLjE9CjI1CistMC4yOTY4NzUgLTAuMTI1IC0wLjQ4NDM3NXEwIC0wLjE4NzUgMC4xNDA2
MjUgLTAuODkwNjI1bC0xLjE1NjI1IDBxLTAuOTUzMT0KMjUgMAorLTEuNDA2MjUgMC4zMjgxMjVx
LTAuODI4MTI1IDAuNTc4MTI1IC0wLjgyODEyNSAxLjI2NTYyNXEwIDAuOTA2MjUgMS42NDA2MjUK
KzEuNDY4NzVsMC44OTA2MjUgMC4zMTI1cTIuMjUgMC43NSAyLjg5MDYyNSAxLjI4MTI1cTAuNjU2
MjUgMC41MTU2MjUgMC45Mzc1CisxLjE0MDYyNXEwLjI5Njg3NSAwLjYyNSAwLjI5Njg3NSAxLjQy
MTg3NXEwIDAuODEyNSAtMC4zMTI1IDEuMzkwNjI1cS0wLjI5Nj0KODc1CiswLjU5Mzc1IC0wLjg1
OTM3NSAxLjAxNTYyNXEtMS4yMTg3NSAwLjkyMTg3NSAtMy4xNDA2MjUgMC45MjE4NzVxLTEuNzE4
NzUgMAorLTMuMDc4MTI1IC0wLjUxNTYyNXEtMS4wIC0wLjM3NSAtMS40MjE4NzUgLTEuMDc4MTI1
cS0wLjIxODc1IC0wLjM1OTM3NSAtMC49CjIxODc1CistMC43NjU2MjVxMCAtMC4zOTA2MjUgMC4x
MjUgLTAuNjg3NXEwLjE0MDYyNSAtMC4zMTI1IDAuMzQzNzUgLTAuNTE1NjI1cTAuND0KNTMxMjUK
Ky0wLjQ1MzEyNSAxLjE1NjI1IC0wLjQ1MzEyNXEwLjY3MTg3NSAwIDEuMTQwNjI1IDAuNDY4NzVx
MC40Njg3NSAwLjQzNzUgMC40PQo2ODc1CisxLjBsMCAwLjAxNTYyNXEtMC4wMTU2MjUgMC41Nzgx
MjUgLTAuMDYyNSAwLjcxODc1em05LjEwMTU2MjUgNC4yMzQzNzVxLTAuMj0KNjU2MjUKKzAuMTQw
NjI1IC0wLjQ4NDM3NSAwLjE0MDYyNXEtMC4yMzQzNzUgMCAtMC4zOTA2MjUgLTAuMDYyNXEtMC4x
NDA2MjUgLTAuMDYyNQorLTAuMjY1NjI1IC0wLjE3MTg3NXEtMC4yODEyNSAtMC4yNSAtMC4yODEy
NSAtMC42MDkzNzVxMi40Mzc1IC00LjE0MDYyNSAyLjg9CjU5Mzc1CistNy44NDM3NXEwLjE0MDYy
NSAtMS4yNjU2MjUgMC4xNTYyNSAtMi42NzE4NzVsMCAtMC4wOTM3NXEwIC0xLjMyODEyNSAtMC4x
ND0KMDYyNQorLTIuNTMxMjVxLTAuMTU2MjUgLTEuMjUgLTAuNSAtMi40ODQzNzVxLTAuNjg3NSAt
Mi4zOTA2MjUgLTIuMzc1IC01LjI1cTAgLTA9Ci4zMTI1CiswLjI2NTYyNSAtMC41NjI1cTAuMjgx
MjUgLTAuMjUgMC41NjI1IC0wLjI1cTAuNDY4NzUgMCAwLjU5Mzc1IDAuMTA5Mzc1cTIuOD0KMjgx
MjUKKzMuMDQ2ODc1IDMuNzM0Mzc1IDcuNjg3NXEwLjMyODEyNSAxLjYyNSAwLjMyODEyNSAzLjQy
MTg3NXEwIDUuMDYyNSAtMi41Cis5LjEwOTM3NXEtMC43MzQzNzUgMS4xODc1IC0xLjU2MjUgMi4w
NjI1eiIgZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0aD48cD0KYXRoCitmaWxsPTNEIiMwMDAw
MDAiIGZpbGwtb3BhY2l0eT0zRCIwLjAiIGQ9M0QibTE0Ny40MTk5NSAyNC41OTg0MjVsMTM1Ljk2
ODUgMD0KbDAKKzU0LjU4MjY3MmwtMTM1Ljk2ODUgMHoiIGZpbGwtcnVsZT0zRCJub256ZXJvIj48
L3BhdGg+PHBhdGggZmlsbD0zRCIjMDAwMDAwIgorZD0zRCJtMTg3LjExNzA4IDU0LjY1NDA1M3Ew
Ljc1IDAuNDA2MjUgMS44NzUgMC40MDYyNXExLjEyNSAwIDEuODEyNQorLTAuMjAzMTI1cTAuNjcx
ODc1IC0wLjE4NzUgMS4xNTYyNSAtMC41NjI1cTEuMDMxMjUgLTAuNzgxMjUgMS4wNDY4NzUKKy0y
LjA3ODEyNWwwIC0wLjAxNTYyNXEwIC0xLjQ2ODc1IC0yLjQwNjI1IC0yLjg1OTM3NXEtMC42NzE4
NzUgLTAuMzkwNjI1CistMS40Njg3NSAtMC43ODEyNWwtMS42ODc1IC0wLjg1OTM3NXEtMy4xODc1
IC0xLjY4NzUgLTMuMTg3NSAtNC41cTAgLTIuMTcxOD0KNzUKKzEuNzUgLTMuMzc1cTEuNTc4MTI1
IC0xLjA2MjUgNC4wIC0xLjA2MjVsMC4xMDkzNzUgMHExLjc5Njg3NSAwIDMuMzQzNzUKKzAuODEy
NXExLjg1OTM3NSAwLjk1MzEyNSAxLjg1OTM3NSAyLjUxNTYyNXEwIDAuNzUgLTAuNTE1NjI1IDEu
Mjk2ODc1cS0wLjUxPQo1NjI1CiswLjUxNTYyNSAtMS4yODEyNSAwLjUxNTYyNXEtMC43NjU2MjUg
MCAtMS4yODEyNSAtMC41MTU2MjVxLTAuNTMxMjUgLTAuNTMxMjUKKy0wLjUzMTI1IC0xLjI5Njg3
NXEwIC0wLjYyNSAwLjM0Mzc1IC0xLjA5Mzc1cS0wLjY4NzUgLTAuNDIxODc1IC0xLjY1NjI1Cist
MC40MjE4NzVxLTAuOTY4NzUgMCAtMS41OTM3NSAwLjE3MTg3NXEtMC42NDA2MjUgMC4xNTYyNSAt
MS4xMDkzNzUKKzAuNDg0Mzc1cS0wLjk1MzEyNSAwLjY3MTg3NSAtMC45Njg3NSAxLjkyMTg3NWww
IDAuMDE1NjI1cTAgMC45MjE4NzUgMS4wMTU2PQoyNQorMS42NTYyNXEwLjUgMC4zNzUgMS4yMTg3
NSAwLjc1bDEuNTc4MTI1IDAuODEyNXEyLjU5Mzc1IDEuMjk2ODc1IDMuNjQwNjI1CisyLjM5MDYy
NXExLjI5Njg3NSAxLjM0Mzc1IDEuMjk2ODc1IDMuMjM0Mzc1cTAgMi4xNTYyNSAtMS42ODc1IDMu
NTE1NjI1cS0xLj0KNjg3NQorMS4zNDM3NSAtNC4yODEyNSAxLjM0Mzc1cS0xLjk4NDM3NSAwIC0z
LjY4NzUgLTAuODI4MTI1cS0xLjk4NDM3NSAtMC45ODQzNzUKKy0xLjk4NDM3NSAtMi40NTMxMjVx
MCAtMC43ODEyNSAwLjUzMTI1IC0xLjI5Njg3NXEwLjUzMTI1IC0wLjUzMTI1IDEuMjgxMjUKKy0w
LjUzMTI1cTAuNzY1NjI1IDAgMS4yODEyNSAwLjUzMTI1cTAuNTE1NjI1IDAuNTMxMjUgMC41MTU2
MjUgMS4xNTYyNXEwIDAuPQo2MjUKKy0wLjMyODEyNSAxLjIwMzEyNXptMTcuMjE0ODQ0IC04LjMy
ODEyNWwtMS4wNzgxMjUgMHEtMS4yMTg3NSAwIC0yLjEwOTM3NQorMC45MjE4NzVxLTEuMTI1IDEu
MTg3NSAtMS4xMjUgMy40MDYyNXEwIDMuMjY1NjI1IDEuODI4MTI1IDQuMTI1cTAuNTYyNSAwLjI9
CjgxMjUKKzEuMTcxODc1IDAuMjgxMjVxMC41OTM3NSAwIDEuMDYyNSAtMC4xMjVxMC40ODQzNzUg
LTAuMTI1IDAuOTUzMTI1CistMC4zNDM3NXEwLjQ2ODc1IC0wLjE4NzUgMC44OTA2MjUgLTAuNDUz
MTI1bDAuODI4MTI1IC0wLjVxMC4wNDY4NzUgLTAuMDMxMjUKKzAuMTU2MjUgLTAuMDMxMjVxMC4x
MDkzNzUgMCAwLjI2NTYyNSAwLjE0MDYyNXEwLjE3MTg3NSAwLjEyNSAwLjMxMjUKKzAuMzEyNXEw
LjMxMjUgMC40Mzc1IDAuMzEyNSAwLjczNDM3NXEwIDAuMjk2ODc1IC0wLjE0MDYyNSAwLjQwNjI1
cS0yLjIzNDM3NQorMS42NzE4NzUgLTQuODc1IDEuNjcxODc1cS0yLjQzNzUgMCAtMy44MjgxMjUg
LTEuNzAzMTI1cS0xLjMyODEyNSAtMS42NDA2MjUKKy0xLjMyODEyNSAtNC41MTU2MjVxMCAtMi44
MTI1IDEuNjg3NSAtNC40NTMxMjVxMS41OTM3NSAtMS41MTU2MjUgNC4wNzgxMjUKKy0xLjUzMTI1
cTIuNjQwNjI1IDAuMDE1NjI1IDMuNjU2MjUgMS4xNTYyNXEwLjM5MDYyNSAwLjQ1MzEyNSAwLjM5
MDYyNQorMC45NTMxMjVxMCAwLjUgLTAuMTA5Mzc1IDAuNzk2ODc1cS0wLjE0MDYyNSAwLjI5Njg3
NSAtMC4zNTkzNzUgMC41cS0wLjQ2ODc1CiswLjQ2ODc1IC0xLjE0MDYyNSAwLjQ2ODc1cS0wLjY1
NjI1IDAgLTEuMTI1IC0wLjQ2ODc1cS0wLjQ2ODc1IC0wLjQzNzUgLTAuND0KNjg3NQorLTAuODkw
NjI1cTAgLTAuNDM3NSAwLjA5Mzc1IC0wLjg1OTM3NXptNS4wNDY4NzUgNC4yODEyNXEwIC0xLjQ1
MzEyNSAwLjQ4NDM9Cjc1CistMi41NzgxMjVxMC40Njg3NSAtMS4wOTM3NSAxLjI2NTYyNSAtMS44
NDM3NXExLjYwOTM5MDMgLTEuNSAzLjk4NDM5MDMKKy0xLjUxNTYyNWwwLjA0Njg3NSAwcTIuMTcx
ODc1IDAgMy4zNTkzNzUgMS4zNzVxMS4xODc1IDEuMzU5Mzc1IDEuMTg3NQorMy45MjE4NzVxMCAw
LjU0Njg3NSAtMC41MTU2MjUgMC45NTMxMjVxLTAuNDg0Mzc1IDAuMzkwNjI1IC0xLjIzNDM3NQor
MC4zOTA2MjVsLTYuMTcxODc1IDBxMC4yMDMxMjUgMi43MzQzNzUgMS45MDYyNSAzLjUxNTYyNXEw
LjUzMTI1IDAuMjM0Mzc1CisxLjE0MDYyNSAwLjIzNDM3NXEwLjU5Mzc1IDAgMS4wNjI1IC0wLjEy
NXEwLjQ2ODc1IC0wLjE0MDYyNSAwLjg5MDYyNQorLTAuMzQzNzVxMC40Mzc1IC0wLjIwMzEyNSAw
Ljg1OTM3NSAtMC40Njg3NXEwLjg0Mzc1IC0wLjUzMTI1IDEuMAorLTAuNTMxMjVxMC4xNDA2MjUg
MC4wMTU2MjUgMC4zMTI1IDAuMTQwNjI1cTAuMTQwNjI1IDAuMTQwNjI1IDAuMjgxMjUKKzAuMzI4
MTI1cTAuMjk2ODc1IDAuNDM3NSAwLjMxMjUgMC43NWwwIDAuMDE1NjI1cTAgMC4yODEyNSAtMC4x
MjUgMC4zNzVxLTIuPQoxNTYyNQorMS42NzE4NzUgLTQuODc1IDEuNjcxODc1cS0yLjQ1MzEyNSAw
IC0zLjgyODE0MDMgLTEuNzE4NzVxLTEuMzQzNzUgLTEuNjU2MjUKKy0xLjM0Mzc1IC00LjU0Njg3
NXptNy45MjE4OTAzIC0xLjA2MjVsMCAtMC4wNDY4NzVxMCAtMi4zMTI1IC0xLjM0Mzc1CistMi44
NTkzNzVxLTAuNDIxODc1IC0wLjE1NjI1IC0wLjkzNzUgLTAuMTU2MjVxLTAuNTE1NjI1IDAgLTEu
MDc4MTI1CiswLjE4NzVxLTAuNTYyNSAwLjE4NzUgLTEuMDMxMjUgMC41NjI1cS0xLjA0Njg3NSAw
Ljg1OTM3NSAtMS4xMjUgMi4zMTI1bDUuNT0KMTU2MjUKKzB6bTEyLjM4NjcxOSA3LjA5Mzc1cS0w
LjMxMjUgMCAtMC4zMTI1IC0wLjcxODc1cTAgLTAuNTYyNSAwLjE3MTg3NSAtMC43NXEwPQouMTg3
NQorLTAuMTg3NSAwLjMxMjUgLTAuMTg3NXExLjIxODc1IDAgMS4yMTg3NSAtMC41bDAgLTMuNDg0
Mzc1cTAgLTIuMjY1NjI1IC0wLjI9CjY1NjI1CistMi45Njg3NXEtMC4yNSAtMC43MTg3NSAtMC42
NTYyNSAtMS4wMTU2MjVxLTAuNDA2MjUgLTAuMjk2ODc1IC0xLjA5Mzc1CistMC4yOTY4NzVxLTEu
Mjk2ODc1IDAgLTMuMjAzMTI1IDEuNWwwIDYuNzY1NjI1bDEuOTY4NzUgMHEwLjI5Njg3NSAwIDAu
Mjk2OD0KNzUKKzAuNzE4NzVxMCAwLjU2MjUgLTAuMTcxODc1IDAuNzVxLTAuMTcxODc1IDAuMTg3
NSAtMC4zMTI1IDAuMTg3NWwtNS45Njg3NQorMHEtMC4zMTI1IDAgLTAuMzEyNSAtMC43MTg3NXEw
IC0wLjU2MjUgMC4xNzE4NzUgLTAuNzVxMC4xODc1IC0wLjE4NzUgMC4zMTI1CistMC4xODc1bDAu
MTI1IDBxMS4zNDM3NSAwIDEuNTMxMjUgLTAuMjY1NjI1cTAuMDYyNSAtMC4wOTM3NSAwLjA2MjUg
LTAuMjM0Mz0KNzVsMAorLTcuNzY1NjI1bC0yLjA2MjUgMHEtMC4zNTkzNzUgLTAuMDE1NjI1IC0w
LjQ1MzEyNSAtMC41NzgxMjVxLTAuMDE1NjI1IC0wLjE9CjcxODc1CistMC4wMTU2MjUgLTAuMzQz
NzVxMCAtMC41MzEyNSAwLjI5Njg3NSAtMC42NTYyNXEwLjMxMjUgLTAuMTI1IDAuNzk2ODc1Cist
MC4yMTg3NXEwLjQ4NDM3NSAtMC4wOTM3NSAxLjAxNTYyNSAtMC4xNDA2MjVxMS4wNDY4NzUgLTAu
MTI1IDEuNTc4MTI1CistMC4xMjVsMC4wNDY4NzUgMHEwLjUxNTYyNSAwLjAxNTYyNSAwLjYyNSAw
LjEyNXEwLjEwOTM3NSAwLjEwOTM3NSAwLjE1NjI1CiswLjI5Njg3NXEwLjA2MjUgMC4yMDMxMjUg
MC4wNjI1IDAuODQzNzVsMCAwLjIxODc1cTEuNzY1NjI1IC0wLjk4NDM3NSAzLjIxOD0KNzUKKy0x
LjM0Mzc1cTAuNDY4NzUgLTAuMTI1IDEuMjAzMTI1IC0wLjEyNXEwLjcwMzEyNSAwIDEuNDIxODc1
IDAuMzEyNXEwLjczNDM3NQorMC4zMTI1IDEuMTU2MjUgMC44OTA2MjVxMC43NSAxLjAzMTI1IDAu
NzUgMy4yODEyNWwwIDUuODI4MTI1bDEuODI4MTI1IDBxMC49CjMxMjUKKzAgMC4zMTI1IDAuNzE4
NzVxMCAwLjU2MjUgLTAuMTg3NSAwLjc1cS0wLjE3MTg3NSAwLjE4NzUgLTAuMjk2ODc1CiswLjE4
NzVsLTUuMzI4MTI1IDB6bTcuMDA3ODEyNSAtNi4wMzEyNXEwIC0xLjQ1MzEyNSAwLjQ4NDM3NSAt
Mi41NzgxMjVxMC40Nj0KODc1CistMS4wOTM3NSAxLjI2NTYyNSAtMS44NDM3NXExLjYwOTM3NSAt
MS41IDMuOTg0Mzc1IC0xLjUxNTYyNWwwLjA0Njg3NSAwcTIuMT0KNzE4NzUKKzAgMy4zNTkzNzUg
MS4zNzVxMS4xODc1IDEuMzU5Mzc1IDEuMTg3NSAzLjkyMTg3NXEwIDAuNTQ2ODc1IC0wLjUxNTYy
NQorMC45NTMxMjVxLTAuNDg0Mzc1IDAuMzkwNjI1IC0xLjIzNDM3NSAwLjM5MDYyNWwtNi4xNzE4
NzUgMHEwLjIwMzEyNSAyLjczNDM9Cjc1CisxLjkwNjI1IDMuNTE1NjI1cTAuNTMxMjUgMC4yMzQz
NzUgMS4xNDA2MjUgMC4yMzQzNzVxMC41OTM3NSAwIDEuMDYyNQorLTAuMTI1cTAuNDY4NzUgLTAu
MTQwNjI1IDAuODkwNjI1IC0wLjM0Mzc1cTAuNDM3NSAtMC4yMDMxMjUgMC44NTkzNzUKKy0wLjQ2
ODc1cTAuODQzNzUgLTAuNTMxMjUgMS4wIC0wLjUzMTI1cTAuMTQwNjI1IDAuMDE1NjI1IDAuMzEy
NQorMC4xNDA2MjVxMC4xNDA2MjUgMC4xNDA2MjUgMC4yODEyNSAwLjMyODEyNXEwLjI5Njg3NSAw
LjQzNzUgMC4zMTI1IDAuNzVsMAorMC4wMTU2MjVxMCAwLjI4MTI1IC0wLjEyNSAwLjM3NXEtMi4x
NTYyNSAxLjY3MTg3NSAtNC44NzUgMS42NzE4NzVxLTIuNDUzMTI9CjUgMAorLTMuODI4MTI1IC0x
LjcxODc1cS0xLjM0Mzc1IC0xLjY1NjI1IC0xLjM0Mzc1IC00LjU0Njg3NXptNy45MjE4NzUgLTEu
MDYyNWwwCistMC4wNDY4NzVxMCAtMi4zMTI1IC0xLjM0Mzc1IC0yLjg1OTM3NXEtMC40MjE4NzUg
LTAuMTU2MjUgLTAuOTM3NQorLTAuMTU2MjVxLTAuNTE1NjI1IDAgLTEuMDc4MTI1IDAuMTg3NXEt
MC41NjI1IDAuMTg3NSAtMS4wMzEyNSAwLjU2MjVxLTEuMDQ9CjY4NzUKKzAuODU5Mzc1IC0xLjEy
NSAyLjMxMjVsNS41MTU2MjUgMHoiIGZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBhdGgK
K2ZpbGw9M0QiIzAwMDAwMCIgZmlsbC1vcGFjaXR5PTNEIjAuMCIgZD0zRCJtMTMzLjcxMjE2IDI2
MC41NzM5bDU1LjExODA1NworLTEyMi4xOTI2OWw2MC4wNDc4ODIgMjcuMDg2MDlsLTEyLjU0NzA1
OCA2Ny44Njc4NzRsLTQyLjU3MSA1NC4zMjQ4MTR6IgorZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwv
cGF0aD48cGF0aCBzdHJva2U9M0QiIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPTNEIjIuMCIKK3N0cm9r
ZS1saW5lam9pbj0zRCJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9M0QiYnV0dCIgZD0zRCJtMTMzLjcx
MjE2IDI2MC41NzM5PQpsNTUuMTE4MDU3CistMTIyLjE5MjY5bDYwLjA0Nzg4MiAyNy4wODYwOWwt
MTIuNTQ3MDU4IDY3Ljg2Nzg3NGwtNDIuNTcxIDU0LjMyNDgxNHoiCitmaWxsLXJ1bGU9M0Qibm9u
emVybyI+PC9wYXRoPjxwYXRoIGZpbGw9M0QiIzAwMDAwMCIgZD0zRCJtMTcxLjg0NTQ3CisyMzgu
ODcwMTNxLTAuNjY3MjUxNiAwLjQ1MzIzMTggLTEuMTI5ODIxOCAxLjQ3ODcyOTJxLTAuNDYyNTcw
MiAxLjAyNTQ5NzQKKy0wLjQzNTAxMjgyIDIuMDY2MzkxcTAuMDMzOTk2NTgyIDEuMDI2NjU3MSAw
LjUyNjg1NTQ3IDEuOTg2MDM4MnExLjA0Njg3NQorMi4wNDkxOTQzIDMuNjYxMTc4NiAzLjI0NTU5
MDJxNS40MTIzNTM1IDIuNDQxMzc1NyA3Ljk5NTM0NiAwLjQwMTEyMzA1cTAuODM9CjQ4MjM2Cist
MC42MzQ3NTAzNyAxLjIzMzE1NDMgLTEuNTE3ODIyM3EwLjAwNjQyMzk1IC0wLjAxNDIzNjQ1IC0w
LjAwNzgxMjUKKy0wLjAyMDY2MDRxMC4zOTgzMzA3IC0wLjg4MzA3MTkgMC41MDE0MzQzIC0xLjQ1
MzY0MzhxMC4wOTUyNzU4OCAtMC41OTEyNDc1NgorMC4wODIxOTkxIC0xLjA5NDIzODNxLTAuMDEz
MDkyMDQxIC0wLjUwMjk5MDcgLTAuMDc4OTc5NDkgLTAuOTI2OTU2MnEtMC4xNTE9CjAxNjI0Cist
MC44MDUxOTEwNCAtMC4wODAzNTI3OCAtMC45NjE4NTNxMC4wNzA2Nzg3MSAtMC4xNTY2NzcyNSAw
LjI0ODg3MDg1CistMC4yNDc3MTExOHEwLjE4NDYxNjA5IC0wLjEwNTI4NTY0NSAwLjQxMzM0NTM0
IC0wLjE1NjM3MjA3cTAuNTEzMDYxNQorLTAuMTExMzg5MTYgMC43ODM2NzYxNSAwLjAxMDY4MTE1
MnEwLjI4NDg2NjMzIDAuMTI4NDk0MjYgMC4zODAwODExOAorMC40MTE0MDc0N3EwLjA4MDk2MzEz
NSAwLjI3NjUwNDUyIDAuMTY1MjY3OTQgMC44MTE2MTVxMC4wOTA3Mjg3NiAwLjUyMDg3NAorMC4w
NzcyNTUyNSAxLjIzNDcyNnEtMC4wNzEzNTAxIDEuNzE2MjAxOCAtMC43NTIzNjUxIDMuMjI1OTY3
NHEtMC42ODc0Mzg5NgorMS41MjQwMDIxIC0xLjY5NzEyODMgMi41MDg0MDc2cS0xLjAyMzk0MSAw
Ljk3Nzk4MTU3IC0yLjQzODU1MjkKKzEuNDU0MDQwNXEtMy4wNDM3MzE3IDEuMDA5NjU4OCAtNy4w
MDMyOTYgLTAuNzc2Mzk3N3EtNC4xMTYyNDE1IC0xLjg1NjczNTIKKy01LjQzNTA1ODYgLTQuOTM3
MDcyOHEtMS4yMTIxNTgyIC0yLjg2MDgwOTMgMC4yMjY5NzQ0OSAtNi4wNTEyNTQzbDAuMDEyODQ3
OQorLTAuMDI4NDg4MTZxMC43NTgxMTc3IC0xLjY4MDY3OTMgMi4xOTk1ODUgLTIuNzEwMjgxNHEx
LjU5NzYxMDUgLTEuMTQ3NzM1NgorMi45MjIyMTA3IC0wLjU1MDI0NzJxMC42ODM2NTQ4IDAuMzA4
MzgwMTMgMC45NzAxNTM4IDEuMDAzMjY1NHEwLjI1ODAxMDg2CiswLjY4MjAzNzM1IC0wLjA1Njgw
ODQ3IDEuMzc5OTQzOHEtMC4zMTQ4MDQwOCAwLjY5NzkwNjUgLTAuOTk2ODQxNDMKKzAuOTU1OTE3
MzZxLTAuNzAyNjk3NzUgMC4yNjU4MjMzNiAtMS4zNTc4Nzk2IC0wLjAyOTcwODg2MnEtMC42NDA5
NDU0MworLTAuMjg5MTA4MjggLTAuOTMwNTI2NzMgLTAuNzExMTM1ODZ6bTguMzYxNTQyIC01LjU3
ODc2NnEwLjMyODQ0NTQzCistMC4wMDYxMTg3NzQ0IDAuNjg0NTA5MyAwLjE1NDUxMDVxMC4zNTYw
NzkxIDAuMTYwNjE0MDEgMC41NzUzMDIxCiswLjM5NjYyMTdxMC4xOTg1NDczNiAwLjI0MzgzNTQ1
IDAuMzE0NDM3ODcgMC41MTg5MzYxNnEwLjIxMjQ3ODY0IDAuNTkyOTQxMworLTAuMDU1OTUzOTgg
MS4yMjYwNTlxLTAuNDQ5NzM3NTUgMC45OTcwMDkzIC0xLjQ3OTE3MTggMC45NjExODE2NHEtMC4z
MjIwMjE9CjQ4CistMC4wMDgxMTc2NzYgLTAuNzIwODI1MiAtMC4xODgwMTg4cS0wLjM4NDU1MiAt
MC4xNzM0NjE5MSAtMC42MjM1OTYyCistMC41NTU1NDJxLTAuMjM5MDQ0MTkgLTAuMzgyMDgwMDgg
LTAuMzIwNTU2NjQgLTAuODQ3MzgxNnEtMC4wNzUwODg1IC0wLjQ3OT0KNTM3OTYKKy0wLjAwNTUw
ODQyMyAtMS4wMTM3OTRxMC4wNTUzNDM2MjggLTAuNTQwNjk1MiAwLjE4MTkwMDAyIC0xLjA0OTI3
MDZxMC4yMjg4PQowNTU0CistMC45MjUyNDcyIDAuNjc4NTQzMSAtMS45MjIyNTY1cTAuNDQ5NzIy
MyAtMC45OTcwMjQ1NCAxLjEwNDk2NTIKKy0xLjU3NTY1MzFxMC42NDc0MzA0IC0wLjU5OTI4ODk0
IDEuMzgxNDA4NyAtMC43ODI0NDAycTEuMjgxOTUxOSAtMC4yOTU5NDQyCiszLjAxOTU5MjMgMC40
ODc4NjkyNmw1LjUyNjMwNiAyLjQ5Mjc2NzNsMC44MDk1MDkzIC0xLjc5NDYxNjdxMC4xMzQ5MTgy
MQorLTAuMjk5MTAyNzggMC43NjE2MTE5NCAtMC4wMTY0MTg0NTdxMC4yODQ4NTEwNyAwLjEyODQ5
NDI2IDAuNTA0MDc0MQorMC4zNjQ1MDE5NXEwLjIyNTY0Njk3IDAuMjIxNzcxMjQgMC4xNzk4MjQ4
MyAwLjQ3NTM1NzA2cS0wLjA5ODkyMjczIDAuNjc1MzA9CjgyCistMC42MDAwMzY2IDEuNzg2Mjcw
MXEtMC41MDc1NTMxIDEuMTI1MTk4NCAtMC42MDgxMDg1IDEuMjM0MTE1NnEtMC4wODYzMDM3MQor
MC4xMTUzMjU5MyAtMC4yMzA5ODc1NSAwLjE3MDA1OTJxLTAuMjgxNTI0NjYgMC4xMzAxMjY5NSAt
MC45MjY5NDA5CiswLjA3ODk2NDIzcTAuMzY5NjI4OSAxLjcyNjU3NzggLTAuNDU5MTUyMjIgMy41
NjM5MTlxLTAuNzQ1MjY5OCAxLjY1MjE5MTIKKy0yLjA1MjM1MyAyLjE5MzkwODdxLTEuMjEwMTg5
OCAwLjUxNjg2MDk2IC0yLjUyMDU1MzYgLTAuMDc0MjAzNDlsLTAuMDI4NDg4PQoxNgorLTAuMDEy
ODQ3OXEtMS42Mzc5Mzk1IC0wLjczODg0NTggLTIuMDAzNDAyNyAtMi4zNjA2ODczcS0wLjMzNjQy
NTc4IC0xLjQyMDE9CjgxMworMC4zNzY3MDg5OCAtMy4wMDExNTk3bDEuMTg4NTY4MSAtMi42MzQ5
NjRxLTEuNzk0NjE2NyAtMC44MDk1MDkzIC0yLjQ0MjI5MTMKKy0wLjc0MTY5OTJxLTAuNjQxMjM1
MzUgMC4wNTM1NzM2MSAtMS4wMjY5NjIzIDAuMzc2Njc4NDdxLTAuMzg1NzExNjcgMC4zMjMxPQow
NDg2CistMC42OTQwOTE4IDEuMDA2Nzc0OWwtMC40ODgyODEyNSAxLjA4MjQ1ODV6bTguMjEyNDE4
IDMuMDM1OTE5MnEwLjYwMzkyNzYKKy0xLjMzODgzNjcgMC4xMTM5MjIxMiAtMy4xMDI1Njk2bC0y
LjA3OTQ4MyAtMC45MzgwMDM1NGwtMS4wNDcyMjYKKzIuMzIxNjI0OHEtMC4zODU0ODI4IDAuODU0
NTY4NSAtMC4yODY5NDE1MyAxLjM5NjExODJxMC4xNzg2NjUxNiAwLjk3MTkyMzgKKzAuODYyMzM1
MiAxLjI4MDMwNHExLjI1MzM4NzUgMC41NjUzODM5IDIuMDU2Mzk2NSAtMC4zNDA4MzU1N3EwLjIy
NjgwNjY0CistMC4yNzQ3OTU1MyAwLjM4MDk5NjcgLTAuNjE2NjM4MnptMTEuOTYwNjAyIC0yNi43
MDU3OHEwLjEzNDkxODIxIC0wLjI5OTEwMj0KNzgKKzAuODg5ODAxIDAuMDQxNDEyMzU0cTAuNzU0
ODgyOCAwLjM0MDQ5OTg4IDAuNTc0OTk2OTUgMC43MzkzMTg4NWwtMi4yMTAwOTgzCis0Ljg5OTU5
N3EtMC4xMjg0OTQyNiAwLjI4NDg2NjMzIC0wLjc4MzY3NjE1IC0wLjAxMDY4MTE1MnEtMC41MjY5
OTI4IC0wLjIzNz0KNzAxNDIKKy0wLjY2NzcwOTM1IC0wLjYwOTcyNTk1cS0wLjAzOTA5MzAxOCAt
MC4xMDMzMzI1MiAtNS40OTMxNjRFLTQKKy0wLjE4ODc5N2wwLjAxMjg0NzkgLTAuMDI4NDg4MTZx
MC41MDExMjkxNSAtMS4xMTA5NDY3IDAuMDQ1MzQ5MTIKKy0xLjMxNjU0MzZsLTMuMTc2MTkzMiAt
MS40MzI3MDg3cS0yLjA2NTI0NjYgLTAuOTMxNTc5NiAtMi44MTUzOTkyCistMC45Nzg1NDYxNHEt
MC43NTc5ODAzNSAtMC4wNjc2NTc0NyAtMS4xOTU2MzI5IDAuMTgwNjAzMDNxLTAuNDM3NjY3ODUK
KzAuMjQ4MjQ1MjQgLTAuNzIwMzUyMiAwLjg3NDkzODk2cS0wLjUzMzI0ODkgMS4xODIxNzQ3IDAu
MDQzODUzNzYKKzMuNTUwODQyM2w2LjE2NzIzNjMgMi43ODE4NzU2bDAuNzUxNjc4NDcgLTEuNjY2
NDI3NnEwLjEyODQ5NDI2IC0wLjI4NDg2NjMzCiswLjg4MzM3NzEgMC4wNTU2NDg4MDRxMC43NTQ4
ODI4IDAuMzQwNDk5ODggMC41NTU3MjUxIDAuNzgyMDI4MmwtMi4xOTA4MjY0Cis0Ljg1Njg4OHEt
MC4xMjg0OTQyNiAwLjI4NDg2NjMzIC0wLjc1NTE4OCAwLjAwMjE2Njc0OGwtMC4wNDI3MjQ2MQor
LTAuMDE5MjcxODVxLTAuNDk4NTA0NjQgLTAuMjI0ODUzNTIgLTAuNjQ3MDQ4OTUgLTAuNjE3NTM4
NDVxLTAuMDM5MDkzMDE4CistMC4xMDMzNDc3OCAtNS40OTMxNjRFLTQgLTAuMTg4Nzk3bDAuMDA2
NDIzOTUgLTAuMDE0MjUxNzA5cTAuNTAxMTI5MTUKKy0xLjExMDk2MTkgMC4wNDUzNDkxMiAtMS4z
MTY1NDM2bC0zLjE3NjE5MzIgLTEuNDMyNzA4N3EtMi4wNjUyNDY2IC0wLjkzMTU3PQo5NgorLTIu
ODE1Mzk5MiAtMC45Nzg1NDYxNHEtMC43NTc5ODAzNSAtMC4wNjc2NTc0NyAtMS4xOTU2MzI5Cisw
LjE4MDYwMzAzcS0wLjQzNzY2Nzg1IDAuMjQ4MjQ1MjQgLTAuNzIwMzUyMiAwLjg3NDkzODk2cS0w
LjUzMzI0ODkgMS4xODIxNz0KNDcKKzAuMDUwMjc3NzEgMy41MzY1OTA2bDYuMTY3MjM2MyAyLjc4
MTg5MDlsMC44MDk1MDkzIC0xLjc5NDYzMnEwLjEyMjA3MDMxCistMC4yNzA2MTQ2MiAwLjc0ODc2
NDA0IDAuMDEyMDY5NzAycTAuNTI2OTkyOCAwLjIzNzcxNjY3IDAuNjM1MDU1NTQKKzAuNDkyMTU2
OThxMC4xMDAyMzQ5ODUgMC4yMzM3NjQ2NSAwLjA0ODg0MzM4NCAwLjM0NzcwMjAzbC0yLjQ0Nzc5
OTcKKzUuNDI2NjA1cS0wLjEzNDkxODIxIDAuMjk5MTAyNzggLTAuNzQ3Mzc1NSAwLjAyMjg0MjQw
N3EtMC41NTU0ODA5NiAtMC4yNTA1PQo2NDU4CistMC42NTU3MTU5NCAtMC40ODQzMjkyMnEtMC4w
OTM4MjYyOTQgLTAuMjQ4MDE2MzYgLTAuMDQyNDM0NjkyCistMC4zNjE5NTM3NGwwLjA1MTQwNjg2
IC0wLjExMzk1MjY0cTAuNTUyNTIwNzUgLTEuMjI0ODk5MyAwLjM4NzQ4MTcKKy0xLjUwNTAzNTRx
LTAuMDU5NzUzNDE4IC0wLjA5NTUyMDAyIC0wLjE4Nzk0MjUgLTAuMTUzMzM1NTdsLTcuMDc4Nzk2
NAorLTMuMTkzMDY5NWwtMC44NDgwNTMgMS44ODAwODEycS0wLjE0OTE1NDY2IDAuMjkyNjc4ODMg
LTAuNzQxNzkwOAorMC4xNjI0OTA4NHEtMC4xNDg4NjQ3NSAtMC4wNTAwMTgzMSAtMC4yNzcwMzg1
NyAtMC4xMDc4MzM4NnEtMC40OTg1MTk5CistMC4yMjQ4Njg3NyAtMC40OTAzODY5NiAtMC41NDY4
NzVxMC4wMTQ1NDE2MjYgLTAuMzM2MjU3OTMgMC4xMjgyNTAxMgorLTAuODE2MzQ1MnEwLjExMzcw
ODQ5NiAtMC40ODAwODcyOCAwLjI4OTQyODcgLTAuOTgzNjEyMDZxMC4zMTY0OTc4IC0xLjAwNTY9
CjkxNQorMC41MzQ5NDI2IC0xLjQ4OTk0NDVsMC4wMTkyNzE4NSAtMC4wNDI3Mzk4N3EwLjIyNjI1
NzMyIC0wLjQ2MzU5MjUzIDAuMzcwOTI9CjU5CistMC41MTgzMjU4cTAuMTQ0NjgzODQgLTAuMDU0
NzE4MDE4IDAuMzM0ODY5MzggLTAuMDIwMzU1MjI1cTAuMjEwODYxMgorMC4wMjY1NTAyOTMgMC43
OTQ4MzAzIDAuMjg5OTYyNzdsMC4xOTk0MDE4NiAwLjA4OTk1MDU2cS0wLjE3MTMyNTY4IC0yLjAx
NDI9CjIxMgorMC4wOTg1NzE3OCAtMy40ODY2MDI4cTAuMDc4Nzk2MzkgLTAuNDc4NjgzNDcgMC4y
MDcyOTA2NSAtMC43NjM1MzQ1NXEwLjg5MzA9CjM1OQorLTEuOTc5NzgyMSAyLjc5NDcwODMgLTIu
MTY3NjAyNXEtMC4yMjMyNjY2IC0yLjA4OTA2NTYgMC4wNzA0MDQwNQorLTMuODQyMTE3M3EwLjA4
MzgxNjUzIC0wLjUyNzg0NzMgMC4zODU3ODc5NiAtMS4xOTcyNjU2cTAuMzAxOTU2MTggLTAuNjY5
NDE9CjgzMworMC44ODIzNTQ3NCAtMS4xOTYxMDZxMC41ODY4MDcyNSAtMC41NDA5MzkzMyAxLjI4
NzI3NzIgLTAuNjg3Nzg5OXExLjI0ODQyODMKKy0wLjI1OTYyODMgMy4yOTk0MjMyIDAuNjY1NTI3
MzRsNS4zMTI2NTI2IDIuMzk2NDA4bDAuNzQ1MjU0NQorLTEuNjUyMjA2NHptLTMuMzYzMjUwNyAt
My4xODQwMzYzcS0xLjMyNDYwMDIgLTAuNTk3NTAzNjYgLTIuMTUwOTI0NworLTEuNTAxNjAyMnEt
MC44MDQyNzU1IC0wLjg3NzAyOTQgLTEuMTYwMjkzNiAtMS45MTE4MDQycS0wLjcwNTU4MTY3IC0y
LjA4Mzg9CjAxMworMC4yNTY3MjkxMyAtNC4yNTUxNzI3bDAuMDE5MjcxODUgLTAuMDQyNzI0NjFx
MC44OTMwMzU5IC0xLjk3OTc4MjEgMi42MzQ2ODkzCistMi40OTY4ODcycTEuNzI3NDE3IC0wLjUy
MzUxMzggNC4wNjMyNzggMC41MzAxMzYxcTAuNDk4NTA0NjQgMC4yMjQ4NTM1MgorMC42NTY4MTQ2
IDAuODYxOTIzMnEwLjE1NjkwNjEzIDAuNjAyMTQyMzMgLTAuMTUxNDc0IDEuMjg1ODEyNGwtMi41
Mzc3NTAyCis1LjYyNjAwN3EyLjU3NjA0OTggMC45MzkxNDc5NSAzLjk4ODQ5NDkgLTAuMjkyMDk5
cTAuNDMyMDgzMTMgLTAuMzg3ODkzNjgKKzAuNjgyNjQ3NyAtMC45NDMzNzQ2M3EwLjI0NDE0MDYy
IC0wLjU0MTI0NDUgMC4zMjI5MzcgLTEuMDE5OTI4cTAuMDY0NTQ0NjgKKy0wLjQ4NTEwNzQyIDAu
MDUyODU2NDQ1IC0wLjk1MzIwMTNxLTAuMDA1MjY0MjgyIC0wLjQ4MjMxNTA2IC0wLjA3MzkyODgz
CistMC45NzYxMDQ3NHEtMC4xMzczMjkxIC0wLjk4NzU2NDEgLTAuMDczMDg5NiAtMS4xMjk5ODk2
cTAuMDcyMDY3MjYgLTAuMTIxNz0KNjUxNAorMC4yNTY2ODMzNSAtMC4yMjcwMzU1MnEwLjE4NjAw
NDY0IC0wLjA3MDM3MzUzNSAwLjQxNDc0OTE1IC0wLjEyMTQ1OTk2cTAuNTI9CjA4NzQKKy0wLjA5
MDcyODc2IDAuODEyMTY0MyAwLjAyMzUyOTA1M2wwLjAxNDIzNjQ1IDAuMDA2NDIzOTVxMC4yNTYz
NzgxNyAwLjExNTY0PQo2MzYKKzAuMjkwNDM1OCAwLjI2ODEyNzQ0cTAuNjM3NDA1NCAyLjY1Mjk4
NDYgLTAuNDgwNDk5MjcgNS4xMzEyNzE0cS0xLjAwODY2NworMi4yMzYxNjAzIC0zLjE0MDc3NzYg
Mi43ODI4MzdxLTIuMDYyMjg2NCAwLjU0Mzg4NDMgLTQuNjk3MjUwNAorLTAuNjQ0NjgzODR6bTIu
Mjg4Nzg3OCAtNy42NTgwOTYzbC0wLjA0MjcyNDYxIC0wLjAxOTI3MTg1cS0yLjEwNzk3MTIgLTAu
OTU9CjA4NjY3CistMy4xNTg5OTY2IDAuMDQ5MTc5MDc3cS0wLjMxNTkwMjcgMC4zMjAzMTI1IC0w
LjUyNzkwODMgMC43OTAzMjlxLTAuMjEyMDIwODcKKzAuNDcwMDMxNzQgLTAuMjcyMzk5OSAxLjA1
OTg3NTVxLTAuMDYwMzYzNzcgMC41ODk4NDM3NSAwLjA4ODcyOTg2CisxLjE3MTMyNTdxMC4zNTI5
MDUyNyAxLjMwNzY0NzcgMS42NDUzODU3IDEuOTc2MzQ4OWwyLjI2NzkxMzgKKy01LjAyNzc4NjN6
bS0wLjI0MjczNjgyIC05LjE4OTk3MmwwLjQyNzI5MTg3IDAuMTkyNzMzNzZxMC4xMjgxNzM4MyAw
LjA1NzgzPQowODEKKzAuMjQ5OTM4OTYgMC4xMjk4OTgwN3EwLjEyODE4OTA5IDAuMDU3ODE1NTUg
MC4yMjc4OTAwMSAwLjEwMjc5ODQ2cS0wLjU3NDA2PQo2MTYKKy0xLjc2NzM2NDUgLTAuNDM1OTg5
MzggLTMuMjEzNTAxcTAuMDU4MTM1OTg2IC0wLjQ3MDg3MDk3IDAuMjM2NjMzMworLTAuOTA0NTg2
OGwwLjAxMjg0NzkgLTAuMDI4NDg4MTZxMC4xODYzMDk4MSAtMC40MTMwNDAxNiAwLjQ5MDc1MzE3
CistMC42Njk5NTI0cTAuMzI1MTAzNzYgLTAuMjY0NzQgMC42NjM2MDQ3NCAtMC4zNjkxNzExNHEw
LjU4NzkwNTkgLTAuMTYzMzMwMDgKKzEuMDQzNjg1OSAwLjA0MjI1MTU4N3EwLjQ3MDAzMTc0IDAu
MjEyMDIwODcgMC42ODkyMzk1IDAuNDQ4MDI4NTZxMC4yMTkyMjMwMgorMC4yMzYwMjI5NSAwLjMw
ODAxMzkyIDAuNTMzMTg3ODdxMC4yMDc0NTg1IDAuNjQyMDg5ODQgMC4wMDgzMDA3ODEKKzEuMDgz
NjE4MnEtMC4xOTkxNzI5NyAwLjQ0MTU0MzU4IC0wLjQyMjMzMjc2IDAuNjMyMjc4NDRxLTAuMjMw
OTg3NTUgMC4xNzAwPQo1OTIKKy0wLjQ5OTY2NDMgMC4yNzE2OThxLTAuNTg2NTE3MzMgMC4xOTgy
NDIxOSAtMS4wODUwMjIgLTAuMDI2NjExMzI4cTAuMDA4NjA1PQo5NTcKKzAuNzQwOTM2MyAwLjIz
MTE1NTQgMS4yMzU1NjUycTAuMjQzMjA5ODQgMC40ODY4MTY0IDAuNDYwMTg5ODIKKzAuODQxODEy
MTNsMC41MTQzODkwNCAwLjc5NzY2ODQ2bDUuNTk3NTAzNyAyLjUyNDkwMjNsMS4xNjkyOTYzCist
Mi41OTIyMjQxcTAuMTA5MjIyNDEgLTAuMjQyMTQxNzIgMC43NjQ0MDQzIDAuMDUzMzkwNTAzcTAu
NTI2OTkyOCAwLjIzNzcxNj0KNjcKKzAuNjI3MjI3OCAwLjQ3MTQ4MTMycTAuMDg1OTk4NTM1IDAu
MjI3MzU1OTYgMC4wMjgxODI5ODMgMC4zNTU1NDUwNGwtMi44MDExPQo2MjcKKzYuMjA5OTYxcS0w
LjEzNDkxODIxIDAuMjk5MTAyNzggLTAuODA0MzM2NTUgLTAuMDAyODUzMzkzNnEtMC40OTIwODA3
CistMC4yMzkxMDUyMiAtMC42NDA2MjUgLTAuNjMxODA1NHEtMC4wMzI2NjkwNjcgLTAuMTE3NTY4
OTcgMC4wOTU4MjUxOTUKKy0wLjQwMjQzNTNxMC4xMzQ5MTgyMSAtMC4yOTkxMDI3OCAwLjI0MTM0
ODI3IC0wLjYxMTA1MzQ3cTAuMTA2NDMwMDUgLTAuMzExPQo5NTA2OAorMC4xNDA3OTI4NSAtMC41
MDIxNTE1cTAuMDM1MjE3Mjg1IC0wLjM0NDA3MDQzIC0wLjIyMTE2MDg5IC0wLjQ1OTcxNjhsLTcu
MDM9CjYwNTY1CistMy4xNzM3OTc2bC0wLjg0ODA1MyAxLjg4MDA4MTJxLTAuMTg2MzI1MDcgMC40
MTMwNTU0MiAtMS4wMjY2NTcxCiswLjAzMzk5NjU4MnEtMC41MjY5OTI4IC0wLjIzNzcxNjY3IC0w
LjUxODg3NTEgLTAuNTU5NzIyOXEtMC4wMDYxMDM1MTU2CistMC4zMjg0NDU0MyAwLjEyMTg0MTQz
IC0wLjgwMjA5MzVxMC4xMjAxMzI0NSAtMC40OTQzMzkgMC4yODk0MTM0NQorLTAuOTgzNjI3M3Ew
LjMxOTI5MDE2IC0wLjkzNTg1MjA1IDAuNTM2MzQ2NDQgLTEuNDU1MDMyM2wwLjAzODU0MzcKKy0w
LjA4NTQ2NDQ4cTAuMTk5MTcyOTcgLTAuNDQxNTI4MzIgMC4yOTQ2OTMgLTAuNTAxMjgxNzRxMC4w
OTQxMTYyMSAtMC4wOTQ2PQo4MDc4NgorMC4yMTMwODg5OSAtMC4wOTI0Mzc3NDRxMC4xMzMyMjQ0
OSAwLjAwODY2Njk5MiAwLjQ4OTMwMzYgMC4xNjkyOTYyNmwwLjEyODE9Cjg5MDkKKzAuMDU3ODE1
NTV6bTQuODQxNjE0IC04LjgzMzQ4MXEwLjMyODQzMDE4IC0wLjAwNjExODc3NDQgMC42ODQ1MDkz
CiswLjE1NDQ5NTI0cTAuMzU2MDc5MSAwLjE2MDYyOTI3IDAuNTc1MzAyMSAwLjM5NjYzNjk2cTAu
MTk4NTQ3MzYgMC4yNDM4MzU0NQorMC4zMTQ0MjI2IDAuNTE4OTM2MTZxMC4yMTI0OTM5IDAuNTky
OTQxMyAtMC4wNTU5Mzg3MiAxLjIyNjA1OXEtMC40NDk3Mzc1NQorMC45OTcwMDkzIC0xLjQ3OTE3
MTggMC45NjExODE2NHEtMC4zMjIwMjE0OCAtMC4wMDgxMTc2NzYgLTAuNzIwODI1MgorLTAuMTg4
MDE4OHEtMC4zODQ1NjcyNiAtMC4xNzM0NjE5MSAtMC42MjM1OTYyIC0wLjU1NTU0MnEtMC4yMzkw
NDQxOSAtMC4zODI9CjA4MDA4CistMC4zMjA1NTY2NCAtMC44NDczODE2cS0wLjA3NTA4ODUgLTAu
NDc5NTM3OTYgLTAuMDA1NTA4NDIzCistMS4wMTM4MDkycTAuMDU1MzQzNjI4IC0wLjU0MDY3OTkz
IDAuMTgxOTAwMDIgLTEuMDQ5MjU1NHEwLjIyODgwNTU0IC0wLjkyNT0KMjQ3MgorMC42Nzg1Mjc4
MyAtMS45MjIyNzE3cTAuNDQ5NzM3NTUgLTAuOTk3MDA5MyAxLjEwNDk4MDUgLTEuNTc1NjM3OHEw
LjY0NzQzMDQKKy0wLjU5OTI4ODk0IDEuMzgxNDA4NyAtMC43ODI0NDAycTEuMjgxOTM2NiAtMC4y
OTU5NDQyIDMuMDE5NTkyMworMC40ODc4NjkyNmw1LjUyNjI5MSAyLjQ5Mjc2NzNsMC44MDk1MDkz
IC0xLjc5NDYxNjdxMC4xMzQ5MTgyMSAtMC4yOTkxMDI3OAorMC43NjE2MTE5NCAtMC4wMTY0MTg0
NTdxMC4yODQ4NjYzMyAwLjEyODQ5NDI2IDAuNTA0MDg5MzYgMC4zNjQ1MDE5NXEwLjIyNTY9CjQ2
OTcKKzAuMjIxNzcxMjQgMC4xNzk4MjQ4MyAwLjQ3NTM1NzA2cS0wLjA5ODkyMjczIDAuNjc1MzA4
MiAtMC42MDAwNTE5CisxLjc4NjI3MDFxLTAuNTA3NTUzMSAxLjEyNTE5ODQgLTAuNjA4MDkzMjYg
MS4yMzQxMTU2cS0wLjA4NjMxODk3IDAuMTE1MzI1OTMKKy0wLjIzMDk4NzU1IDAuMTcwMDU5MnEt
MC4yODE1MjQ2NiAwLjEzMDEyNjk1IC0wLjkyNjk1NjIgMC4wNzg5NjQyM3EwLjM2OTY0PQo0MTcK
KzEuNzI2NTc3OCAtMC40NTkxMzY5NiAzLjU2MzkxOXEtMC43NDUyNjk4IDEuNjUyMTkxMiAtMi4w
NTIzNjgyCisyLjE5MzkwODdxLTEuMjEwMTc0NiAwLjUxNjg2MDk2IC0yLjUyMDUzODMgLTAuMDc0
MjE4NzVsLTAuMDI4NDg4MTYKKy0wLjAxMjg0NzlxLTEuNjM3OTU0NyAtMC43Mzg4MzA1NyAtMi4w
MDM0MDI3IC0yLjM2MDY3MnEtMC4zMzY0MjU3OCAtMS40MjAxPQo5NjUKKzAuMzc2NzA4OTggLTMu
MDAxMTU5N2wxLjE4ODU2ODEgLTIuNjM0OTY0cS0xLjc5NDYzMiAtMC44MDk1MDkzIC0yLjQ0MjI5
MTMKKy0wLjc0MTY5OTJxLTAuNjQxMjUwNiAwLjA1MzU3MzYxIC0xLjAyNjk2MjMgMC4zNzY2Nzg0
N3EtMC4zODU3MTE2NyAwLjMyMzEwPQo0ODYKKy0wLjY5NDEwNzA2IDEuMDA2NzU5NmwtMC40ODgy
NjYgMS4wODI0NzM4em04LjIxMjQxOCAzLjAzNTkxOTJxMC42MDM5MTIzNQorLTEuMzM4ODUxOSAw
LjExMzkwNjg2IC0zLjEwMjU2OTZsLTIuMDc5NDgzIC0wLjkzODAwMzU0bC0xLjA0NzIyNgorMi4z
MjE2MDk1cS0wLjM4NTQ2NzUzIDAuODU0NTgzNzQgLTAuMjg2OTI2MjcgMS4zOTYxMzM0cTAuMTc4
NjY1MTYgMC45NzE5MjM4CiswLjg2MjMzNTIgMS4yODAzMDRxMS4yNTMzODc1IDAuNTY1MzY4NjUg
Mi4wNTYzOTY1IC0wLjM0MDgzNTU3cTAuMjI2ODA2NjQKKy0wLjI3NDgxMDggMC4zODA5OTY3IC0w
LjYxNjYzODJ6IiBmaWxsLXJ1bGU9M0Qibm9uemVybyI+PC9wYXRoPjxwYXRoCitmaWxsPTNEIiNm
M2YzZjMiIGQ9M0QibTI3Ni4zMDIwNiAxNjEuMDIyODZsMjQuNDMzNzc3IDExLjAyMTQ1NGwwIDBj
MTMuNDk0Mz0KODUKKzYuMDg2OTkwNCA5LjI3MzcxMiA0NC42MzAxMSAtOS40MjcxMjQgODYuMDg4
NWMtMTguNzAwODM2IDQxLjQ1ODM3NCAtNDQuODAwPQoyMTcKKzcwLjEzMjU0IC01OC4yOTQ2MTcg
NjQuMDQ1NTZsLTI0LjQzMzc0NiAtMTEuMDIxNDU0eiIKK2ZpbGwtcnVsZT0zRCJub256ZXJvIj48
L3BhdGg+PHBhdGggc3Ryb2tlPTNEIiMwMDAwMDAiIHN0cm9rZS13aWR0aD0zRCIyLjAiCitzdHJv
a2UtbGluZWpvaW49M0Qicm91bmQiIHN0cm9rZS1saW5lY2FwPTNEImJ1dHQiIGQ9M0QibTI3Ni4z
MDIwNiAxNjEuMDIyOD0KNmwyNC40MzM3NzcKKzExLjAyMTQ1NGwwIDBjMTMuNDk0Mzg1IDYuMDg2
OTkwNCA5LjI3MzcxMiA0NC42MzAxMSAtOS40MjcxMjQKKzg2LjA4ODVjLTE4LjcwMDgzNiA0MS40
NTgzNzQgLTQ0LjgwMDIxNyA3MC4xMzI1NCAtNTguMjk0NjE3IDY0LjA0NTU2bC0yNC40PQozMzc0
NgorLTExLjAyMTQ1NHoiIGZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBhdGggZmlsbD0z
RCIjMDAwMDAwIiBmaWxsLW9wYWM9Cml0eT0zRCIwLjAiCitkPTNEIm0yMTMuNTk1MjEgMjk3LjY2
MjU3bDU1LjkxMDI0OCAtMTIzLjk0ODg4bDQ5Ljc1NzU3IDIyLjQ0NDM5N2wtNTUuOTEwMj0KNDgK
KzEyMy45NDg4OHoiIGZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBhdGggZmlsbD0zRCIj
MDAwMDAwIiBkPTNEIm0yNDcuPQozMDcwNAorMjU3Ljk0NTYycTAuMTIyMDcwMzEgLTAuMjcwNjI5
ODggMC44NzY5NTMxIDAuMDY5ODg1MjU0cTAuNzU0ODgyOCAwLjM0MDUxNTE0CiswLjU4NzgyOTYg
MC43MTA4MTU0bC0wLjg2NzMyNDggMS45MjI4MjFsMTIuOTE4NDQyIDUuODI3MTc5bDIuMjYxNDc0
NgorLTUuMDEzNTVsLTEuMjE0NzUyMiAtMS41MjQ5OTM5cS0wLjE2MjI2MTk2IC0wLjIxMDI5NjYz
IC0wLjAyNzM0Mzc1CistMC41MDkzOTk0cTAuMTI4NTA5NTIgLTAuMjg0ODgxNiAwLjI0MTg4MjMy
IC0wLjQyMjI3MTczcTAuMTA1NTkwODIgLTAuMTU4MD0KODEwNQorMC4yMjAzOTc5NSAtMC4yNjA1
NTkwOHEwLjI2MzA5MjA0IC0wLjI0MTI3MTk3IDAuNDQ4MjcyNyAtMC4xNTc3NDUzNnEwLjA1Njk9
CjQ1OAorMC4wMjU2OTU4IDAuMDY0Nzg4ODIgMC4wNDYzNTYybDIuNDg0MzE0IDIuMzIwNDk1Nmwt
NC42NTE0NTg3CisxMC4zMTE5NTFxLTAuMTE1NjMxMSAwLjI1NjM3ODE3IC0wLjc0MjM0MDEgLTAu
MDI2MzA2MTUybC0wLjA0MjcyNDYxCistMC4wMTkyNTY1OTJxLTAuNDcwMDMxNzQgLTAuMjEyMDM2
MTMgLTAuNjM0MjE2MyAtMC42NDYwNTcxcS0wLjA0NjkwNTUxOAorLTAuMTIzOTkyOTIgMC4wNjg3
NTYxIC0wLjM4MDM3MTFsMC4wMTI4NDc5IC0wLjAyODUwMzQxOHEwLjAzMzUwODMgLTAuMDM2Mjg9
CjU0CiswLjA1OTIwNDEgLTAuMDkzMjYxNzJxMC4xMDkyMjI0MSAtMC4yNDIxMjY0NiAwLjE5NjM4
MDYyIC0wLjUxMTM1MjU0cTAuMTEyOD0KNTQwMDQKKy0wLjMyNjIwMjQgMC4xNDcyMTY4IC0wLjUx
NjM4Nzk0cTAuMDM1MjE3Mjg1IC0wLjM0NDA4NTcgLTAuMjIxMTYwODkKKy0wLjQ1OTcxNjhsLTEy
LjQzNDE1OCAtNS42MDg3NjQ2cS0wLjE3MDkxMzcgLTAuMDc3MDg3NCAtMC4yMzUxNjg0NgorMC4w
NjUzMzgxMzVsLTAuNzgzODEzNSAxLjczNzY3MDlxLTAuMTM0OTE4MjEgMC4yOTkxMDI3OCAtMC43
NzAyNzg5MworMC4xNDk2Mjc2OXEtMC4xNDg4NDk0OSAtMC4wNTAwMTgzMSAtMC4yNzcwMzg1NyAt
MC4xMDc4MTg2cS0wLjAzNDkxMjExCiswLjAwMTM3MzI5MSAtMC4wNjM0MDAyNyAtMC4wMTE0NzQ2
MDlxLTAuMDk5NzAwOTMgLTAuMDQ0OTUyMzkzIC0wLjE3ODcyNjIKKy0wLjA5Nzc0NzhxLTAuMDkz
Mjc2OTggLTAuMDU5MjM0NjIgLTAuMTY1ODkzNTUgLTAuMTI2MjUxMjJxLTAuMTc1MDk0NgorLTAu
MTgxODIzNzMgLTAuMTMxNTE1NSAtMC4zMTY0MzY3N2wyLjg1MjU1NDMgLTYuMzIzOTEzNnptMTMu
MzQ2ODAyCistMS4zNTQ1MjI3cS0xLjMyNDYxNTUgLTAuNTk3NTAzNjYgLTIuMTUwOTQgLTEuNTAx
NjE3NHEtMC44MDQyNjAyNSAtMC44NzcwMT0KNDE2CistMS4xNjAyNzgzIC0xLjkxMTgwNDJxLTAu
NzA1NTk2OSAtMi4wODM4MDEzIDAuMjU2NzEzODcgLTQuMjU1MTU3NWwwLjAxOTI4Nz0KMTEKKy0w
LjA0MjczOTg3cTAuODkzMDA1NCAtMS45Nzk3ODIxIDIuNjM0Njc0IC0yLjQ5Njg3MnExLjcyNzQx
NyAtMC41MjM1MjkwNQorNC4wNjMyOTM1IDAuNTMwMTIwODVxMC40OTg1MDQ2NCAwLjIyNDg2ODc3
IDAuNjU2Nzk5MyAwLjg2MTkyMzJxMC4xNTY5MjEzOQorMC42MDIxNTc2IC0wLjE1MTQ1ODc0IDEu
Mjg1ODEyNGwtMi41Mzc3NTAyIDUuNjI2MDA3cTIuNTc2MDQ5OCAwLjkzOTE2MzIKKzMuOTg4NDk0
OSAtMC4yOTIwOTlxMC40MzIwNjc4NyAtMC4zODc4OTM2OCAwLjY4MjY0NzcgLTAuOTQzMzc0NjNx
MC4yNDQxNDA2MgorLTAuNTQxMjI5MjUgMC4zMjI5MzcgLTEuMDE5OTI4cTAuMDY0NTQ0NjggLTAu
NDg1MTA3NDIgMC4wNTI4NTY0NDUKKy0wLjk1MzE4NjA0cS0wLjAwNTI3OTU0MSAtMC40ODIzMzAz
MiAtMC4wNzM5NDQwOSAtMC45NzYxMDQ3NHEtMC4xMzczMjkxCistMC45ODc1NjQxIC0wLjA3MzA4
OTYgLTEuMTMwMDA0OXEwLjA3MjA4MjUyIC0wLjEyMTc2NTE0IDAuMjU2NjgzMzUKKy0wLjIyNzAz
NTUycTAuMTg2MDA0NjQgLTAuMDcwMzU4MjggMC40MTQ3NjQ0IC0wLjEyMTQ1OTk2cTAuNTIwODc0
IC0wLjA5MDcyPQo4NzYKKzAuODEyMTMzOCAwLjAyMzUyOTA1M2wwLjAxNDI1MTcwOSAwLjAwNjQy
Mzk1cTAuMjU2Mzc4MTcgMC4xMTU2NDYzNiAwLjI5MDQzPQo1OAorMC4yNjgxNDI3cTAuNjM3Mzkw
MTQgMi42NTI5Njk0IC0wLjQ4MDQ5OTI3IDUuMTMxMjU2cS0xLjAwODY2NyAyLjIzNjE2MDMKKy0z
LjE0MDc3NzYgMi43ODI4MjE3cS0yLjA2MjI4NjQgMC41NDM5MTQ4IC00LjY5NzIzNSAtMC42NDQ2
NTMzem0yLjI4ODc4NzgKKy03LjY1ODExMTZsLTAuMDQyNzI0NjEgLTAuMDE5MjcxODVxLTIuMTA3
OTcxMiAtMC45NTA4NTE0NCAtMy4xNTg5OTY2CiswLjA0OTE3OTA3N3EtMC4zMTU5MTc5NyAwLjMy
MDMyNzc2IC0wLjUyNzkyMzYgMC43OTAzNDQyNHEtMC4yMTIwMDU2MiAwLjQ3MD0KMDE2NDgKKy0w
LjI3MjM5OTkgMS4wNTk4NjAycS0wLjA2MDM2Mzc3IDAuNTg5ODQzNzUgMC4wODg3NDUxMiAxLjE3
MTMyNTdxMC4zNTI5MDUyNworMS4zMDc2NDc3IDEuNjQ1Mzg1NyAxLjk3NjM0ODlsMi4yNjc5MTM4
IC01LjAyNzc4NjN6bTExLjU1OTUwOQorLTguMzc0MzU5cS0wLjEyODUwOTUyIDAuMjg0ODUxMDcg
LTAuNzgzNjkxNCAtMC4wMTA2ODExNTJxLTAuNTEyNzU2MzUKKy0wLjIzMTI5MjcyIC0wLjYxMjk3
NjEgLTAuNDY1MDU3MzdxLTAuMDkzODQxNTUgLTAuMjQ4MDE2MzYgLTAuMDQyNDQ5OTUKKy0wLjM2
MTk1Mzc0cTAuNTAxMTI5MTUgLTEuMTEwOTYxOSAwLjA0NTM0OTEyIC0xLjMxNjU0MzZsLTMuMTc2
MTc4CistMS40MzI3MDg3cS0yLjA2NTI0NjYgLTAuOTMxNTc5NiAtMi44MTUzOTkyIC0wLjk3ODU2
MTRxLTAuNzU3OTY1MSAtMC4wNjc2ND0KMjIxCistMS4xOTU2NDgyIDAuMTgwNjAzMDNxLTAuNDM3
NjUyNiAwLjI0ODI2MDUgLTAuNzIwMzM2OSAwLjg3NDk1NDJxLTAuNTMzMjMzNjQKKzEuMTgyMTc0
NyAwLjA1MDI2MjQ1IDMuNTM2NTkwNmw2LjE2NzIzNjMgMi43ODE4NzU2bDAuODA5NTA5MworLTEu
Nzk0NjE2N3EwLjEyMjA3MDMxIC0wLjI3MDYxNDYyIDAuNzc3MjUyMiAwLjAyNDkxNzYwM3EwLjUx
Mjc1NjM1IDAuMjMxMjk9CjI3MgorMC42MTMwMDY2IDAuNDY1MDU3MzdxMC4xMDAyNTAyNDQgMC4y
MzM3NjQ2NSAwLjA0MjQxOTQzNCAwLjM2MTk1Mzc0bC0yLjQ1NDI9CjIzNgorNS40NDA4NDE3cS0w
LjEyODUwOTUyIDAuMjg0ODY2MzMgLTAuNzgzNjkxNCAtMC4wMTA2NjU4OTRxLTAuNTEyNzI1ODMK
Ky0wLjIzMTI5MjcyIC0wLjYxMjk3NjEgLTAuNDY1MDU3MzdxLTAuMDkzODQxNTUgLTAuMjQ4MDE2
MzYgLTAuMDQyNDE5NDM0CistMC4zNjE5NjlsMC4wNTEzOTE2IC0wLjExMzkzNzM4cTAuNTUyNTIw
NzUgLTEuMjI0ODk5MyAwLjM4NzQ4MTcKKy0xLjUwNTAzNTRxLTAuMDU5NzUzNDE4IC0wLjA5NTUy
MDAyIC0wLjE4Nzk1Nzc2IC0wLjE1MzM1MDgzbC03LjA3ODc2NgorLTMuMTkzMDU0MmwtMC44NDgw
ODM1IDEuODgwMDgxMnEtMC4xNjE5ODczIDAuMzIxMTY3IC0wLjcxMzI4NzM1CiswLjE3NTMyMzQ5
cS0wLjE2MzExNjQ2IC0wLjA1NjQyNzAwMiAtMC4zMTk3NjMxOCAtMC4xMjcwOTA0NXEtMC40ODQy
ODM0NQorLTAuMjE4NDQ0ODIgLTAuNDc2MTY1NzcgLTAuNTQwNDUxMDVxMC4wMTQ1NTY4ODUgLTAu
MzM2MjU3OTMgMC4xMjgyNjUzOAorLTAuODE2MzQ1MnEwLjExMzcwODQ5NiAtMC40ODAwODcyOCAw
LjI4OTQyODcgLTAuOTgzNjI3M3EwLjMxNjQ5NzggLTEuMDA1Njc9CjYzCiswLjUzNDk0MjYgLTEu
NDg5OTQ0NWwwLjAxOTI1NjU5MiAtMC4wNDI3MjQ2MXEwLjIyNjI1NzMyIC0wLjQ2MzU5MjUzIDAu
MzcwOT0KNDExNgorLTAuNTE4MzI1OHEwLjE0NDY4Mzg0IC0wLjA1NDcxODAxOCAwLjMzNDg2OTM4
IC0wLjAyMDM1NTIyNXEwLjIxMDg0NTk1CiswLjAyNjU1MDI5MyAwLjc5NDgzMDMgMC4yODk5NjI3
N2wwLjE5OTQwMTg2IDAuMDg5OTM1M3EtMC4xNzEzMjU2OCAtMi4wMTQyMDYKKzAuMDk4NTcxNzgg
LTMuNDg2NTg3NXEwLjA3ODc5NjM5IC0wLjQ3ODY4MzQ3IDAuMzgwNzY3ODIgLTEuMTQ4MTAxOHEw
LjI4OTA5PQozMDIKKy0wLjY0MDk0NTQzIDAuODY5NTA2ODQgLTEuMTY3NjMzcTAuNTg2ODIyNSAt
MC41NDA5MjQxIDEuMjg3MjYyCistMC42ODc3NzQ2NnExLjI0ODQ0MzYgLTAuMjU5NjI4MyAzLjI5
OTQzODUgMC42NjU1MTIxbDUuMzEyNjUyNgorMi4zOTY0MDhsMC43NTE2Nzg0NyAtMS42NjY0Mjc2
cTAuMTI4NTA5NTIgLTAuMjg0ODY2MzMgMC43ODM2NjA5CiswLjAxMDY2NTg5NHEwLjUxMjc1NjM1
IDAuMjMxMjkyNzIgMC42MDY1OTc5IDAuNDc5MzA5MDhxMC4xMDAyMTk3MyAwLjIzMzc2ND0KNjUK
KzAuMDQ4ODI4MTI1IDAuMzQ3NzE3M2wtMi4xOTA3OTYgNC44NTY4NzI2em0yLjcyMTQwNSAtOS44
NzEyNjJsMC41NTI1MjA3NQorLTEuMjI0ODk5M3EwLjY2ODE4MjQgLTEuNDgxMjc3NSAwLjAwMjE2
Njc0OCAtMi4zOTg3ODg1cS0wLjIxNDIwMjg4IC0wLjI4NTE9CjU2MjUKKy0wLjU0MTc3ODU2IC0w
LjQzMjkzNzYycS0wLjMyNzYwNjIgLTAuMTQ3NzY2MTEgLTAuNjQwNDExNAorLTAuMTAwMzExMjhx
LTAuMzEyODA1MTggMC4wNDc0NTQ4MzQgLTAuNjU5OTczMTQgMC4yODUxMTA0N3EtMC41NDQ2MTY3
CiswLjM3MTM5ODkzIC0xLjQyNzUyMDggMS4zNzg3MDc5cS0wLjg4MjkwNDA1IDEuMDA3MzA5IC0x
LjQxNTUyNzMKKzEuNTA0MTE5OXEtMC41NDA0NjYzIDAuNDc2MTM1MjUgLTEuMTE2MzYzNSAwLjc2
NDg3NzNxLTEuMTgwMzI4NCAwLjU2NDYyMQorLTIuNTE5MTY1IC0wLjAzOTI5MTM4cS0xLjk3OTc2
NjggLTAuODkzMDM1OSAtMS42Njc2MzMgLTMuNDA5MDg4MXEwLjExNjI3MTk3CistMC45NDE3NDE5
NCAwLjQ4MjQ4MjkgLTEuNzUzNjAxMXEwLjM2NjIxMDk0IC0wLjgxMTg0MzkgMC43ODg1NDM3Cist
MS40NDQxMjIzcTAuNDE0NDg5NzUgLTAuNjUyOTM4ODQgMC45MjE0NDc3NSAtMS4wOTI3NzM0cTEu
MTU1NzYxNyAtMS4wMDQyMT0KMTQKKzIuMjUyNDcyIC0wLjUwOTUwNjJsMC4wNTY5NzYzMiAwLjAy
NTY5NThxMC41OTgyMDU1NyAwLjI2OTgzNjQzIDAuODI0OTIwNjUKKzAuODY5MjAxNjZxMC4yMTg5
MzMxIDAuNTc4Njg5NiAtMC4wNTU5Mzg3MiAxLjIyNjA1OXEtMC40NTYxNzY3NiAxLjAxMTI0NTcK
Ky0xLjQ4NTU5NTcgMC45NzU0MTgxcS0wLjMyMjAyMTQ4IC0wLjAwODExNzY3NiAtMC40OTI5NTA0
NAorLTAuMDg1MjIwMzRxLTAuMTcwODk4NDQgLTAuMDc3MDg3NCAtMC43NTQwMjgzIC0wLjQ5NDM4
NDc3bC0wLjQ3NTQzMzM1CisxLjA1Mzk3MDNxLTAuMzkxODc2MjIgMC44Njg4MzU0NSAtMC4yNzkx
MTM3NyAxLjQxNjc5MzhxMC4xODY0OTI5MiAwLjk5MjU5OTUKKzAuODEzMjAxOSAxLjI3NTI4Mzhx
MC44MjYwODAzIDAuMzcyNjM0OSAyLjAxMzQyNzcgLTAuODkxNjAxNTZsMC42NTEwNjIKKy0wLjY4
MzM0OTZxMS42MDg4MjU3IC0xLjc0MjYxNDcgMi4zNTY1MDYzIC0yLjEwODEzOXEwLjczOTgzNzY1
IC0wLjM4NjE5OTk1CisxLjQyNTIwMTQgLTAuMzg1NTg5NnEwLjY5MTgwMyAtMC4wMTM2MjYwOTkg
MS40MTgxODI0IDAuMzE0MDI1ODhxMC43NDA2NjE2CiswLjMzNDA5MTIgMS4xMzkxNjAyIDAuODU2
NjU4OTRxMC40MTkxNTg5NCAwLjUxNDc1NTI1IDAuNTcyNDE4MgorMS4yMDA5NzM1cTAuMzM5MjMz
NCAxLjQ5MDAyMDggLTAuNDUxMDE5MyAzLjI0MTkxMjhxLTAuNzA2Njk1NTYgMS41NjY3MjY3Cist
MS43MzU2NTY3IDIuNTkzODU2OHEtMC43NTMwMjEyNCAwLjc1NzM3IC0xLjU2NzQ0MzggMC44NTI4
MTM3cS0wLjQxNzUxMQorMC4wNTE2MzU3NDIgLTAuNzg3ODQxOCAtMC4xMTU0MDIyMnEtMC4zNTYw
NzkxIC0wLjE2MDYxNDAxIC0wLjU3NTI4Njg3CistMC4zOTY2MzY5NnEtMC4yMjcwNTA3OCAtMC4y
NTY2ODMzNSAtMC4zMjg2NzQzMiAtMC41MjUzNjAxcS0wLjIyNjc0NTYKKy0wLjU5OTM2NTIzIDAu
MDYyMzc3OTMgLTEuMjQwMjk1NHEwLjI3NjI0NTEyIC0wLjYxMjQ1NzMgMC44OTYyNzA3NQorLTAu
ODQ3MDAwMXEwLjU5MTU1MjczIC0wLjI0NzQwNiAxLjEwNDMwOTEgLTAuMDE2MTEzMjgxbDAuMDE0
MjUxNzA5CiswLjAwNjQyMzk1cTAuNTIwNTY4ODUgMC4yNTE5NTMxMiAwLjYyOTQ1NTU3IDAuMzUy
NTA4NTR6IgorZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0aD48cGF0aCBmaWxsPTNEIiMwMDAw
MDAiIGZpbGwtb3BhY2l0eT0zRCIwLjAiCitkPTNEIm0xMjUuMTkxNzkgMjYzLjg2MDdsMzMuNjM3
Nzg3IC03NC41NTExOCIgZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0aD0KPjxwYXRoCitzdHJv
a2U9M0QiIzQzNDM0MyIgc3Ryb2tlLXdpZHRoPTNEIjEuMCIgc3Ryb2tlLWxpbmVqb2luPTNEInJv
dW5kIgorc3Ryb2tlLWxpbmVjYXA9M0QiYnV0dCIgZD0zRCJtMTI1LjE5MTc5IDI2My44NjA3bDMy
LjIyODMxNyAtNzEuNDI3MzUiCitmaWxsLXJ1bGU9M0QiZXZlbm9kZCI+PC9wYXRoPjxwYXRoIGZp
bGw9M0QiIzQzNDM0MyIgc3Ryb2tlPTNEIiM0MzQzNDMiCitzdHJva2Utd2lkdGg9M0QiMS4wIiBz
dHJva2UtbGluZWNhcD0zRCJidXR0IiBkPTNEIm0xNTcuNDIwMSAxOTIuNDMzMzNsMC41Nj0KMjU0
NTgKKzEuNDg3NTc5M2wwLjI0NTY4MTc2IC0zLjI3ODg2OTZsLTIuMjk1ODIyMSAyLjM1MzgzNnoi
CitmaWxsLXJ1bGU9M0QiZXZlbm9kZCI+PC9wYXRoPjxwYXRoIGZpbGw9M0QiIzAwMDAwMCIgZmls
bC1vcGFjaXR5PTNEIjAuMCIKK2Q9M0QibTEyNS4xOTA5NTYgMjYyLjYzMjkzbDc0LjU2NDU3IDMz
LjYzNDIxNiIgZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGF0PQpoPjxwYXRoCitzdHJva2U9M0Qi
IzQzNDM0MyIgc3Ryb2tlLXdpZHRoPTNEIjEuMCIgc3Ryb2tlLWxpbmVqb2luPTNEInJvdW5kIgor
c3Ryb2tlLWxpbmVjYXA9M0QiYnV0dCIgZD0zRCJtMTI1LjE5MDk1NiAyNjIuNjMyOTNsNzEuNDQw
NjA1IDMyLjIyNTA5OCIKK2ZpbGwtcnVsZT0zRCJldmVub2RkIj48L3BhdGg+PHBhdGggZmlsbD0z
RCIjNDM0MzQzIiBzdHJva2U9M0QiIzQzNDM0MyIKK3N0cm9rZS13aWR0aD0zRCIxLjAiIHN0cm9r
ZS1saW5lY2FwPTNEImJ1dHQiIGQ9M0QibTE5Ni42MzE1NiAyOTQuODU4bC0xLjQ4PQo3NTE4Mwor
MC41NjI3MTM2bDMuMjc4ODg1IDAuMjQ1MzMwODFsLTIuMzU0MDgwMiAtMi4yOTU1NjI3eiIKK2Zp
bGwtcnVsZT0zRCJldmVub2RkIj48L3BhdGg+PHBhdGggZmlsbD0zRCIjMDAwMDAwIiBmaWxsLW9w
YWNpdHk9M0QiMC4wIgorZD0zRCJtMTI5LjEzMzE2IDI2Mi4zMDYxOGwtNjEuMTAyMzY0IDYuMTEw
MjI5NSIgZmlsbC1ydWxlPTNEIm5vbnplcm8iPjwvcGE9CnRoPjxwYXRoCitzdHJva2U9M0QiIzQz
NDM0MyIgc3Ryb2tlLXdpZHRoPTNEIjEuMCIgc3Ryb2tlLWxpbmVqb2luPTNEInJvdW5kIgorc3Ry
b2tlLWxpbmVjYXA9M0QiYnV0dCIgZD0zRCJtMTI1LjM2MTk3IDI2Mi42ODMzbC01My45MjEwOSA1
LjM5MjEyMDQiCitmaWxsLXJ1bGU9M0QiZXZlbm9kZCI+PC9wYXRoPjxwYXRoIGZpbGw9M0QiIzQz
NDM0MyIgc3Ryb2tlPTNEIiM0MzQzNDMiCitzdHJva2Utd2lkdGg9M0QiMS4wIiBzdHJva2UtbGlu
ZWNhcD0zRCJidXR0IiBkPTNEIm0xMjguNjM1NjQgMjYyLjM1NTkzYzAuMD0KOTA0MDgzMjUKKzAu
OTA0MDIyMiAtMC41NjkxNTI4MyAxLjcxMDE0NCAtMS40NzMxNDQ1IDEuODAwNTM3MWMtMC45MDM5
OTkzIDAuMDkwMzkzMDcKKy0xLjcxMDEyMTIgLTAuNTY5MTUyODMgLTEuODAwNTIxOSAtMS40NzMx
NzVjLTAuMDkwNDAwNjk2IC0wLjkwMzk5MTcgMC41NjkxPQo1MjgzCistMS43MTAxMTM1IDEuNDcz
MTUyMiAtMS44MDA1MDY2YzAuOTAzOTk5MyAtMC4wOTAzOTMwNyAxLjcxMDEyMTIgMC41NjkxNTI4
MworMS44MDA1MTQyIDEuNDczMTQ0NXoiIGZpbGwtcnVsZT0zRCJub256ZXJvIj48L3BhdGg+PHBh
dGggZmlsbD0zRCIjNDM0MzQzIgorc3Ryb2tlPTNEIiM0MzQzNDMiIHN0cm9rZS13aWR0aD0zRCIx
LjAiIHN0cm9rZS1saW5lY2FwPTNEImJ1dHQiIGQ9M0QibTcxLjQ9CjQwODgKKzI2OC4wNzU0bDEu
MDA3MTAzIC0xLjIzMDg5NmwtMi45NjI1Mzk3IDEuNDI2NDUyNmwzLjE4NjM0MDMgMC44MTE1NTM5
NnoiCitmaWxsLXJ1bGU9M0QiZXZlbm9kZCI+PC9wYXRoPjwvZz48L3N2Zz4KKwoKZGlmZiAtciA5
NzBhZTYyYTE0ZjgyMzMxY2MwNzA0ODQzYzM1MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRj
ZjBkMmFjOTE2PQoyNGViYjBiZGFlNzJjNDAwMiBkb2Mvc291cmNlL3Zpc3VhbGl6aW5nL2luZGV4
LnJzdAotLS0gYS9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL2luZGV4LnJzdAorKysgYi9kb2Mvc291
cmNlL3Zpc3VhbGl6aW5nL2luZGV4LnJzdApAQCAtMTUsNiArMTUsNyBAQAogICAgY2FsbGJhY2tz
CiAgICBtYW51YWxfcGxvdHRpbmcKICAgIHZvbHVtZV9yZW5kZXJpbmcKKyAgIHVuc3RydWN0dXJl
ZF9tZXNoX3JlbmRlcmluZwogICAgaGFyZHdhcmVfdm9sdW1lX3JlbmRlcmluZwogICAgc2tldGNo
ZmFiCiAgICBtYXBzZXJ2ZXIKCmRpZmYgLXIgOTcwYWU2MmExNGY4MjMzMWNjMDcwNDg0M2MzNTE4
YjkwZGQ4OGIyNyAtciBiZTYwOTQwMTA2ZjA0Y2YwZDJhYzkxNj0KMjRlYmIwYmRhZTcyYzQwMDIg
ZG9jL3NvdXJjZS92aXN1YWxpemluZy9wbG90cy5yc3QKLS0tIGEvZG9jL3NvdXJjZS92aXN1YWxp
emluZy9wbG90cy5yc3QKKysrIGIvZG9jL3NvdXJjZS92aXN1YWxpemluZy9wbG90cy5yc3QKQEAg
LTMxMSw3ICszMTEsOCBAQAogLi4gX29mZi1heGlzLXByb2plY3Rpb24tZnVuY3Rpb246Cj0yMAog
VG8gYXZvaWQgbWFudWFsbHkgY3JlYXRpbmcgYSBjYW1lcmEgYW5kIHNldHRpbmcgdGhlIHRyYW5z
ZmVyCi1mdW5jdGlvbiwgeXQgcHJvdmlkZXMgdGhlIDpmdW5jOmB+eXQudmlzdWFsaXphdGlvbi52
b2x1bWVfcmVuZGVyaW5nLmNhbWVyYT0KLm9mZl9heGlzX3Byb2plY3Rpb25gCitmdW5jdGlvbiwg
eXQgcHJvdmlkZXMgdGhlCis6ZnVuYzpgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmlu
Zy5vZmZfYXhpc19wcm9qZWN0aW9uLm9mZl9heGlzX3Bybz0KamVjdGlvbmAKIGZ1bmN0aW9uLCB3
aGljaCB3cmFwcyB0aGUgY2FtZXJhIGludGVyZmFjZSB0byBjcmVhdGUgYW4gb2ZmIGF4aXMKIHBy
b2plY3Rpb24gaW1hZ2UgYnVmZmVyLiAgVGhlc2UgaW1hZ2VzIGNhbiBiZSBzYXZlZCB0byBkaXNr
IG9yCiB1c2VkIGluIGN1c3RvbSBwbG90cy4gIFRoaXMgc25pcHBldCBjcmVhdGVzIGFuIG9mZiBh
eGlzCkBAIC0zMjcsNyArMzI4LDcgQEAKICAgIFcgPTNEIFswLjAyLCAwLjAyLCAwLjAyXQogICAg
YyA9M0QgWzAuNSwgMC41LCAwLjVdCiAgICBOID0zRCA1MTIKLSAgIGltYWdlID0zRCB5dC5vZmZf
YXhpc19wcm9qZWN0aW9uKGRzLCBjLCBMLCBXLCBOLCAiZGVuc2l0eSIpCisgICBpbWFnZSwgc2Mg
PTNEIHl0Lm9mZl9heGlzX3Byb2plY3Rpb24oZHMsIGMsIEwsIFcsIE4sICJkZW5zaXR5IikKICAg
IHl0LndyaXRlX2ltYWdlKG5wLmxvZzEwKGltYWdlKSwgIiVzX29mZmF4aXNfcHJvamVjdGlvbi5w
bmciICUgZHMpCj0yMAogSGVyZSwgYGBXYGAgaXMgdGhlIHdpZHRoIG9mIHRoZSBwcm9qZWN0aW9u
IGluIHRoZSB4LCB5LCAqYW5kKiB6CgpkaWZmIC1yIDk3MGFlNjJhMTRmODIzMzFjYzA3MDQ4NDNj
MzUxOGI5MGRkODhiMjcgLXIgYmU2MDk0MDEwNmYwNGNmMGQyYWM5MTY9CjI0ZWJiMGJkYWU3MmM0
MDAyIGRvYy9zb3VyY2UvdmlzdWFsaXppbmcvdW5zdHJ1Y3R1cmVkX21lc2hfcmVuZGVyaW5nLnJz
dAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvdW5zdHJ1Y3R1cmVk
X21lc2hfcmVuZGVyaW5nLnJzdApAQCAtMCwwICsxLDE3MSBAQAorLi4gX3Vuc3RydWN0dXJlZF9t
ZXNoX3JlbmRlcmluZzoKKworVW5zdHJ1Y3R1cmVkIE1lc2ggUmVuZGVyaW5nCis9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9Cj0zRD0zRD0zRAorCitCZWdpbm5pbmcgd2l0aCB2ZXJzaW9uIDMuMywgeXQgaGFzIHRo
ZSBhYmlsaXR5IHRvIHZvbHVtZSByZW5kZXIgdW5zdHJ1Y3R1cj0KZWQKK21lc2hlcyBmcm9tLCBm
b3IgZXhhbXBsZSwgZmluaXRlIGVsZW1lbnQgY2FsY3VsYXRpb25zLiBJbiBvcmRlciB0byB1c2Ug
dGhpcworY2FwYWJpbGl0eSwgYSBmZXcgYWRkaXRpb25hbCBkZXBlbmRlbmNpZXMgYXJlIHJlcXVp
cmVkIGJleW9uZCB0aG9zZSB5b3UgZ2V0Cit3aGVuIHlvdSBydW4gdGhlIGluc3RhbGwgc2NyaXB0
LiBGaXJzdCwgYGVtYnJlZSA8aHR0cHM6Ly9lbWJyZWUuZ2l0aHViLmlvPmAKKyhhIGZhc3Qgc29m
dHdhcmUgcmF5LXRyYWNpbmcgbGlicmFyeSBmcm9tIEludGVsKSBtdXN0IGJlIGluc3RhbGxlZCwg
ZWl0aGVyCitieSBjb21waWxpbmcgZnJvbSBzb3VyY2Ugb3IgYnkgdXNpbmcgb25lIG9mIHRoZSBw
cmUtYnVpbHQgYmluYXJpZXMgYXZhaWxhYj0KbGUKK2F0IEVtYnJlZSdzIGBkb3dubG9hZHMgPGh0
dHBzOi8vZW1icmVlLmdpdGh1Yi5pby9kb3dubG9hZHMuaHRtbD5gIHBhZ2UuIE9uPQpjZQorRW1i
cmVlIGlzIGluc3RhbGxlZCwgeW91IG11c3QgYWxzbyBjcmVhdGUgYSBzeW1saW5rIG5leHQgdG8g
dGhlIGxpYnJhcnkuIEY9Cm9yCitleGFtcGxlLCBpZiB0aGUgbGlicmFyaWVzIHdlcmUgaW5zdGFs
bGVkIGF0IC91c3IvbG9jYWwvbGliLywgeW91IG11c3QgZG8KKworLi4gY29kZS1ibG9jazo6IGJh
c2gKKworICAgIHN1ZG8gbG4gLXMgL3Vzci9sb2NhbC9saWIvbGliZW1icmVlLjIuNi4xLmR5bGli
IC91c3IvbG9jYWwvbGliL2xpYmVtYnI9CmVlLnNvCisKK1NlY29uZCwgdGhlIHB5dGhvbiBiaW5k
aW5ncyBmb3IgZW1icmVlIChjYWxsZWQ9MjAKK2BweWVtYnJlZSA8aHR0cHM6Ly9naXRodWIuY29t
L3Njb3BhdHovcHllbWJyZWU+YCkgbXVzdCBhbHNvIGJlIGluc3RhbGxlZC4gPQpUbworZG8gc28s
IGZpcnN0IG9idGFpbiBhIGNvcHksIGJ5IC5lLmcuIGNsb25pbmcgdGhlIHJlcG86CisKKy4uIGNv
ZGUtYmxvY2s6OiBiYXNoCisKKyAgICBnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL3Njb3Bh
dHovcHllbWJyZWUKKworVG8gaW5zdGFsbCwgbmF2aWdhdGUgdG8gdGhlIHJvb3QgZGlyZWN0b3J5
IGFuZCBydW4gdGhlIHNldHVwIHNjcmlwdDoKKworLi4gY29kZS1ibG9jazo6IGJhc2gKKworICAg
IHB5dGhvbiBzZXR1cC5weSBkZXZlbG9wCisKK0lmIEVtYnJlZSB3YXMgaW5zdGFsbGVkIHRvIHNv
bWUgbG9jYXRpb24gdGhhdCBpcyBub3QgaW4geW91ciBwYXRoIGJ5IGRlZmF1PQpsdCwKK3lvdSB3
aWxsIG5lZWQgdG8gcGFzcyBpbiBDRkxBR1MgYW5kIExERkxBR1MgdG8gdGhlIHNldHVwLnB5IHNj
cmlwdC4gRm9yIGV4PQphbXBsZSwKK3RoZSBNYWMgT1MgcGFja2FnZSBpbnN0YWxsZXIgcHV0cyB0
aGUgaW5zdGFsbGF0aW9uIGF0IC9vcHQvbG9jYWwvIGluc3RlYWQgPQpvZj0yMAordXNyL2xvY2Fs
LiBUbyBhY2NvdW50IGZvciB0aGlzLCB5b3Ugd291bGQgZG86CisKKy4uIGNvZGUtYmxvY2s6OiBi
YXNoCisKKyAgICBDRkxBR1M9M0QnLUkvb3B0L2xvY2FsL2luY2x1ZGUnIExERkxBR1M9M0QnLUwv
b3B0L2xvY2FsL2xpYicgcHl0aG9uIHNlPQp0dXAucHkgaW5zdGFsbAorCitZb3UgbXVzdCBhbHNv
IHVzZSB0aGVzZSBmbGFncyB3aGVuIGJ1aWxkaW5nIGFueSBwYXJ0IG9mIHl0IHRoYXQgbGlua3Mg
YWdhaT0KbnN0CitweWVtYnJlZS4KKworT25jZSB0aGUgcHJlLXJlcXVpc2l0ZXMgYXJlIGluc3Rh
bGxlZCwgdW5zdHJ1Y3R1cmVkIG1lc2ggZGF0YSBjYW4gYmUgcmVuZGU9CnJlZAorbXVjaCBsaWtl
IGFueSBvdGhlciBkYXRhc2V0LiBJbiBwYXJ0aWN1bGFyLCBhIG5ldyB0eXBlIG9mPTIwCis6Y2xh
c3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZS5SZW5k
ZXJTb3VyY2VgIG9iaj0KZWN0CitoYXMgYmVlbiBkZWZpbmVkLCBjYWxsZWQgdGhlPTIwCis6Y2xh
c3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZS5NZXNo
U291cmNlYCwgdGhhdAorcmVwcmVzZW50cyB0aGUgdW5zdHJ1Y3R1cmVkIG1lc2ggZGF0YSB0aGF0
IHdpbGwgYmUgcmVuZGVyZWQuIFRoZSB1c2VyIGNyZWE9CnRlcz0yMAordGhpcyBvYmplY3QsIGFu
ZCBhbHNvIGRlZmluZXMgYQorOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVy
aW5nLmNhbWVyYS5DYW1lcmFgPTIwCit0aGF0IHNwZWNpZmllcyB5b3VyIHZpZXdwb2ludCBpbnRv
IHRoZSBzY2VuZS4gV2hlbj0yMAorOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVu
ZGVyaW5nLnJlbmRlcl9zb3VyY2UuUmVuZGVyU291cmNlYCBpcyA9CmNhbGxlZCwKK2Egc2V0IG9m
IHJheXMgYXJlIGNhc3QgYXQgdGhlIHNvdXJjZS4gRWFjaCB0aW1lIGEgcmF5IHN0cmlrZXMgdGhl
IHNvdXJjZSBtPQplc2gsCit0aGUgZGF0YSBpcyBzYW1wbGVkIGF0IHRoZSBpbnRlcnNlY3Rpb24g
cG9pbnQgYXQgdGhlIHJlc3VsdGluZyB2YWx1ZSBnZXRzPTIwCitzYXZlZCBpbnRvIGFuIGltYWdl
LgorCitTZWUgYmVsb3cgZm9yIGV4YW1wbGVzLiBGaXJzdCwgaGVyZSBpcyBhbiBleGFtcGxlIG9m
IHJlbmRlcmluZyBhIGhleGFoZWRyYT0KbCBtZXNoLgorCisuLiBweXRob24tc2NyaXB0OjoKKyAg
IGltcG9ydCB5dAorICAgaW1wb3J0IHB5bGFiIGFzIHBsdAorICAgZnJvbSB5dC52aXN1YWxpemF0
aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNvdXJjZQorICAg
ZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhIGltcG9ydCBDYW1l
cmEKKyAgIGZyb20geXQudXRpbGl0aWVzLmV4b2R1c0lJX3JlYWRlciBpbXBvcnQgZ2V0X2RhdGEK
KworICAgIyBsb2FkIHRoZSBkYXRhCisgICBjb29yZHMsIGNvbm5lY3Rpdml0eSwgZGF0YSA9M0Qg
Z2V0X2RhdGEoImRhdGEvb3V0LmUtczAxMCIpCisgICBtZXNoX2lkID0zRCAwCisgICBmaWVsZF9u
YW1lID0zRCAoJ2dhcycsICdkaWZmdXNlZCcpCisgICBkcyA9M0QgeXQubG9hZF91bnN0cnVjdHVy
ZWRfbWVzaChkYXRhW21lc2hfaWRdLCBjb25uZWN0aXZpdHlbbWVzaF9pZF0sID0KY29vcmRzW21l
c2hfaWRdKQorCisgICAjIGNyZWF0ZSB0aGUgUmVuZGVyU291cmNlCisgICBtcyA9M0QgTWVzaFNv
dXJjZShkcywgZmllbGRfbmFtZSkKKworICAgIyBzZXQgdXAgY2FtZXJhCisgICBjYW0gPTNEIENh
bWVyYShkcykKKyAgIGNhbWVyYV9wb3NpdGlvbiA9M0QgZHMuYXJyKFstMy4wLCAzLjAsIC0zLjBd
LCAnY29kZV9sZW5ndGgnKQorICAgbm9ydGhfdmVjdG9yID0zRCBkcy5hcnIoWzAuMCwgMS4wLCAw
LjBdLCAnZGltZW5zaW9ubGVzcycpCisgICBjYW0ucmVzb2x1dGlvbiA9M0QgKDgwMCwgODAwKQor
ICAgY2FtLnNldF9wb3NpdGlvbihjYW1lcmFfcG9zaXRpb24sIG5vcnRoX3ZlY3RvcikKKworICAg
IyBtYWtlIHRoZSBpbWFnZQorICAgaW0gPTNEIG1zLnJlbmRlcihjYW0pCisKKyAgICMgcGxvdCBh
bmQgc2F2ZQorICAgcGx0Lmltc2hvdyhpbSwgY21hcD0zRCdFb3MgQScsIG9yaWdpbj0zRCdsb3dl
cicsIHZtaW49M0QwLCB2bWF4PTNEMi4wKQorICAgcGx0LmdjYSgpLmF4ZXMuZ2V0X3hheGlzKCku
c2V0X3Zpc2libGUoRmFsc2UpCisgICBwbHQuZ2NhKCkuYXhlcy5nZXRfeWF4aXMoKS5zZXRfdmlz
aWJsZShGYWxzZSkKKyAgIGNiID0zRCBwbHQuY29sb3JiYXIoKQorICAgY2Iuc2V0X2xhYmVsKGZp
ZWxkX25hbWVbMV0pCisgICBwbHQuc2F2ZWZpZygnaGV4X21lc2hfcmVuZGVyLnBuZycpCisKK05l
eHQsIGhlcmUgaXMgYW4gZXhhbXBsZSBvZiByZW5kZXJpbmcgYSBkYXRhc2V0IHdpdGggdGV0cmFo
ZWRyYWwgbWVzaCBlbGVtPQplbnRzLgorCisuLiBweXRob24tc2NyaXB0OjoKKyAgIGltcG9ydCB5
dAorICAgaW1wb3J0IHB5bGFiIGFzIHBsdAorICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVt
ZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNvdXJjZQorICAgZnJvbSB5dC52
aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhIGltcG9ydCBDYW1lcmEKKyAgIGZy
b20geXQudXRpbGl0aWVzLmV4b2R1c0lJX3JlYWRlciBpbXBvcnQgZ2V0X2RhdGEKKworICAgIyBs
b2FkIHRoZSBkYXRhCisgICBmaWxlbmFtZSA9M0QgIi4uL21vb3NlL3Rlc3QvdGVzdHMvbWVzaC9o
aWdoX29yZGVyX2VsZW1zL2dvbGQvaGlnaF9vcmRlcj0KX2VsZW1zX3RldDRfcmVmaW5lX291dC5l
IgorICAgY29vcmRzLCBjb25uZWN0aXZpdHksIGRhdGEgPTNEIGdldF9kYXRhKGZpbGVuYW1lKQor
ICAgbWVzaF9pZCA9M0QgMAorICAgZmllbGRfbmFtZSA9M0QgKCdnYXMnLCAndScpCisgICBkcyA9
M0QgeXQubG9hZF91bnN0cnVjdHVyZWRfbWVzaChkYXRhW21lc2hfaWRdLCBjb25uZWN0aXZpdHlb
bWVzaF9pZF0sID0KY29vcmRzW21lc2hfaWRdKQorCisgICAjIGNyZWF0ZSB0aGUgUmVuZGVyU291
cmNlCisgICBtcyA9M0QgTWVzaFNvdXJjZShkcywgZmllbGRfbmFtZSkKKworICAgIyBzZXQgdXAg
Y2FtZXJhCisgICBjYW0gPTNEIENhbWVyYShkcykKKyAgIGNhbWVyYV9wb3NpdGlvbiA9M0QgZHMu
YXJyKFszLjAsIDMuMCwgMy4wXSwgJ2NvZGVfbGVuZ3RoJykKKyAgIGNhbS5zZXRfd2lkdGgoZHMu
YXJyKFsyLjAsIDIuMCwgMi4wXSwgJ2NvZGVfbGVuZ3RoJykpCisgICBub3J0aF92ZWN0b3IgPTNE
IGRzLmFycihbMC4wLCAxLjAsIDAuMF0sICdkaW1lbnNpb25sZXNzJykKKyAgIGNhbS5yZXNvbHV0
aW9uID0zRCAoODAwLCA4MDApCisgICBjYW0uc2V0X3Bvc2l0aW9uKGNhbWVyYV9wb3NpdGlvbiwg
bm9ydGhfdmVjdG9yKQorCisgICAjIG1ha2UgdGhlIGltYWdlCisgICBpbSA9M0QgbXMucmVuZGVy
KGNhbSkKKworICAgIyBwbG90IGFuZCBzYXZlCisgICBwbHQuaW1zaG93KGltLCBjbWFwPTNEJ0Vv
cyBBJywgb3JpZ2luPTNEJ2xvd2VyJywgdm1pbj0zRDAuMCwgdm1heD0zRDEuMCkKKyAgIHBsdC5n
Y2EoKS5heGVzLmdldF94YXhpcygpLnNldF92aXNpYmxlKEZhbHNlKQorICAgcGx0LmdjYSgpLmF4
ZXMuZ2V0X3lheGlzKCkuc2V0X3Zpc2libGUoRmFsc2UpCisgICBjYiA9M0QgcGx0LmNvbG9yYmFy
KCkKKyAgIGNiLnNldF9sYWJlbChmaWVsZF9uYW1lWzFdKQorICAgcGx0LnNhdmVmaWcoJ3RldF9t
ZXNoX3JlbmRlci5wbmcnKQorCitGaW5hbGx5LCBoZXJlIGlzIGEgc2NyaXB0IHRoYXQgY3JlYXRl
cyBmcmFtZXMgb2YgYSBtb3ZpZS4gSXQgY2FsbHMgdGhlIHJvdD0KYXRlKCkKK21ldGhvZCAzMDAg
dGltZXMsIHNhdmluZyBhIG5ldyBpbWFnZSB0byB0aGUgZGlzayBlYWNoIHRpbWUuCisKKy4uIGNv
ZGUtYmxvY2s6OiBweXRob24KKyAgIGltcG9ydCB5dAorICAgaW1wb3J0IHB5bGFiIGFzIHBsdAor
ICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBp
bXBvcnQgTWVzaFNvdXJjZQorICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJp
bmcuY2FtZXJhIGltcG9ydCBDYW1lcmEKKyAgIGZyb20geXQudXRpbGl0aWVzLmV4b2R1c0lJX3Jl
YWRlciBpbXBvcnQgZ2V0X2RhdGEKKworICAgIyBsb2FkIGRhdGFzZXQKKyAgIGNvb3JkcywgY29u
bmVjdGl2aXR5LCBkYXRhID0zRCBnZXRfZGF0YSgiZGF0YS9vdXQuZS1zMDEwIikKKyAgIG1lc2hf
aWQgPTNEIDAKKyAgIGZpZWxkX25hbWUgPTNEICgnZ2FzJywgJ2RpZmZ1c2VkJykKKyAgIGRzID0z
RCB5dC5sb2FkX3Vuc3RydWN0dXJlZF9tZXNoKGRhdGFbbWVzaF9pZF0sIGNvbm5lY3Rpdml0eVtt
ZXNoX2lkXSwgPQpjb29yZHNbbWVzaF9pZF0pCisKKyAgICMgY3JlYXRlIHRoZSBSZW5kZXJTb3Vy
Y2UKKyAgIG1zID0zRCBNZXNoU291cmNlKGRzLCBmaWVsZF9uYW1lKQorCisgICAjIHNldCB1cCBj
YW1lcmEKKyAgIGNhbSA9M0QgQ2FtZXJhKGRzKQorICAgY2FtZXJhX3Bvc2l0aW9uID0zRCBkcy5h
cnIoWy0zLjAsIDMuMCwgLTMuMF0sICdjb2RlX2xlbmd0aCcpCisgICBub3J0aF92ZWN0b3IgPTNE
IGRzLmFycihbMC4wLCAxLjAsIDAuMF0sICdkaW1lbnNpb25sZXNzJykKKyAgIGNhbS5zZXRfcG9z
aXRpb24oY2FtZXJhX3Bvc2l0aW9uLCBub3J0aF92ZWN0b3IpCisgICBjYW0uc3RlYWR5X25vcnRo
ID0zRCBUcnVlCisKKyAgICMgbWFrZSBtb3ZpZSBmcmFtZXMKKyAgIG51bV9mcmFtZXMgPTNEIDMw
MQorICAgZm9yIGkgaW4gcmFuZ2UobnVtX2ZyYW1lcyk6CisgICAgICAgY2FtLnJvdGF0ZSgyLjAq
bnAucGkvbnVtX2ZyYW1lcykKKyAgICAgICBpbSA9M0QgbXMucmVuZGVyKGNhbSkKKyAgICAgICBw
bHQuaW1zaG93KGltLCBjbWFwPTNEJ0VvcyBBJywgb3JpZ2luPTNEJ2xvd2VyJyx2bWluPTNEMC4w
LCB2bWF4PTNEPQoyLjApCisgICAgICAgcGx0LmdjYSgpLmF4ZXMuZ2V0X3hheGlzKCkuc2V0X3Zp
c2libGUoRmFsc2UpCisgICAgICAgcGx0LmdjYSgpLmF4ZXMuZ2V0X3lheGlzKCkuc2V0X3Zpc2li
bGUoRmFsc2UpCisgICAgICAgY2IgPTNEIHBsdC5jb2xvcmJhcigpCisgICAgICAgY2Iuc2V0X2xh
YmVsKCdkaWZmdXNlZCcpCisgICAgICAgcGx0LnNhdmVmaWcoJ21vdmllX2ZyYW1lcy9zdXJmYWNl
X3JlbmRlcl8lLjRkLnBuZycgJSBpKQorICAgICAgIHBsdC5jbGYoKQoKZGlmZiAtciA5NzBhZTYy
YTE0ZjgyMzMxY2MwNzA0ODQzYzM1MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRjZjBkMmFj
OTE2PQoyNGViYjBiZGFlNzJjNDAwMiBkb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3ZvbHVtZV9yZW5k
ZXJpbmcucnN0Ci0tLSBhL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvdm9sdW1lX3JlbmRlcmluZy5y
c3QKKysrIGIvZG9jL3NvdXJjZS92aXN1YWxpemluZy92b2x1bWVfcmVuZGVyaW5nLnJzdApAQCAt
MSwxOTMgKzEsMTMyIEBACiAuLiBfdm9sdW1lX3JlbmRlcmluZzoKPTIwCi1Wb2x1bWUgUmVuZGVy
aW5nOiBNYWtpbmcgM0QgUGhvdG9yZWFsaXN0aWMgSXNvY29udG91cmVkIEltYWdlcwotPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRAorM0QgVmlzdWFsaXphdGlvbiBhbmQgVm9sdW1lIFJlbmRlcmluZworPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKPTIw
Ci1Wb2x1bWUgcmVuZGVyaW5nLCBhcyBpbXBsZW1lbnRlZCBpbiB5dCwgaXMgYSBtZWNoYW5pc20g
Ynkgd2hpY2ggcmF5cyBhcmUgYz0KYXN0Ci10aHJvdWdoIGEgZG9tYWluLCBjb252ZXJ0aW5nIGZp
ZWxkIHZhbHVlcyB0byBlbWlzc2lvbiBhbmQgYWJzb3JwdGlvbiwgYW5kID0KcHJvZHVjaW5nIGEg
ZmluYWwgaW1hZ2UuCi1UaGlzIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBvZmYtYXhp
cyBwcm9qZWN0aW9ucywgaXNvY29udG91ciBpbWFnZT0KcywKLXZvbHVtZSBlbWlzc2lvbiwgYW5k
IGFic29ycHRpb24gZnJvbSBpbnRlcnZlbmluZyBtYXRlcmlhbC4gIFRoZSBwcmltYXJ5IGdvPQph
bD0yMAotb2YgdGhlIHZvbHVtZSByZW5kZXJpbmcgaW4geXQgaXMgdG8gcHJvdmlkZSB0aGUgYWJp
bGl0eSB0byBtYWtlCi0qc2NpZW50aWZpY2FsbHktaW5mb3JtZWQqIHZpc3VhbGl6YXRpb25zIG9m
IHNpbXVsYXRpb25zLiA9MjAKK3l0IGhhcyB0aGUgYWJpbGl0eSB0byBjcmVhdGUgM0QgdmlzdWFs
aXphdGlvbnMsIHVzaW5nIGEgcHJvY2VzcyBrbm93biBhcyB2PQpvbHVtZQorcmVuZGVyaW5nLiAg
Q3VycmVudGx5IGFsbCBvZiB0aGUgcmVuZGVyaW5nIGNhcGFiaWxpdGllcyBhcmUgaW1wbGVtZW50
ZWQgaW4KK3NvZnR3YXJlLCByZXF1aXJpbmcgbm8gc3BlY2lhbGl6ZWQgaGFyZHdhcmUuIE9wdGlt
aXplZCB2ZXJzaW9ucyBpbXBsZW1lbnRlZAord2l0aCBPcGVuR0wgYW5kIHV0aWxpemluZyBncmFw
aGljcyBwcm9jZXNzb3JzIGFyZSBiZWluZyBhY3RpdmVseSBkZXZlbG9wZWQuCj0yMAotVGhlIHZv
bHVtZSByZW5kZXJlciBpcyBpbXBsZW1lbnRlZCBpbiBhIGh5YnJpZCBvZiBQeXRob24gYW5kIEN5
dGhvbiwgd2hpY2g9CiBpcwotUHl0aG9uLWxpa2UgY29kZSBjb21waWxlZCBkb3duIHRvIEMuICBJ
dCBoYXMgYmVlbiBvcHRpbWl6ZWQsIGJ1dCBpdCBpcyBzdGk9CmxsIGEKLSpzb2Z0d2FyZSogdm9s
dW1lIHJlbmRlcmVyOiBpdCBkb2VzIG5vdCBjdXJyZW50bHkgb3BlcmF0ZSBvbiBncmFwaGljcwot
cHJvY2Vzc2luZyB1bml0cyAoR1BVcykuICBIb3dldmVyLCB3aGlsZSB0aGUgcmVuZGVyaW5nIGVu
Z2luZSBpdHNlbGYgbWF5IG49Cm90Ci1kaXJlY3RseSB0cmFuc2xhdGUgdG8gR1BVIGNvZGUgKE9w
ZW5DTCwgQ1VEQSBvciBPcGVuR0wpLCB0aGUgUHl0aG9uIHN0cnVjdD0KdXJlczoKLXBhcnRpdGlv
bmluZywgdHJhbnNmZXIgZnVuY3Rpb25zLCBkaXNwbGF5LCBldGMuLCBtYXkgYmUgdXNlZnVsIGlu
IHRoZSBmdXR1PQpyZQotZm9yIHRyYW5zaXRpb25pbmcgdGhlIHJlbmRlcmluZyB0byB0aGUgR1BV
LiAgSW4gYWRkaXRpb24sIHRoaXMgYWxsb3dzIHVzZXI9CnMgdG8gY3JlYXRlCi12b2x1bWUgcmVu
ZGVyaW5ncyBvbiB0cmFkaXRpb25hbCBzdXBlcmNvbXB1dGluZyBwbGF0Zm9ybXMgdGhhdCBtYXkg
bm90IGhhdj0KZSBhY2Nlc3MgdG8gR1BVcy4KK0NvbnN0cnVjdGluZyBhIDNEIHZpc3VhbGl6YXRp
b24gaXMgYSBwcm9jZXNzIG9mIGRlc2NyaWJpbmcgdGhlICJzY2VuZSIgdGhhdAord2lsbCBiZSBy
ZW5kZXJlZC4gIFRoaXMgaW5jbHVkZXMgdGhlIGxvY2F0aW9uIG9mIHRoZSB2aWV3aW5nIHBvaW50
IChpLmUuLCA9CndoZXJlCit0aGUgImNhbWVyYSIgaXMgcGxhY2VkKSwgdGhlIG1ldGhvZCBieSB3
aGljaCBhIHN5c3RlbSB3b3VsZCBiZSB2aWV3ZWQgKGkuZT0KLiwKK3RoZSAibGVucywiIHdoaWNo
IG1heSBiZSBvcnRob2dyYXBoaWMsIHBlcnNwZWN0aXZlLCBmaXNoZXllLCBzcGhlcmljYWwsIGFu
PQpkIHNvCitvbikgYW5kIHRoZSBjb21wb25lbnRzIHRoYXQgd2lsbCBiZSByZW5kZXJlZCAocmVu
ZGVyICJzb3VyY2VzLCIgc3VjaCBhcyB2bz0KbHVtZQorZWxlbWVudHMsIGxpbmVzLCBhbm5vdGF0
aW9ucywgYW5kIG9wYXF1ZSBzdXJmYWNlcykuICBUaGUgM0QgcGxvdHRpbmcKK2luZnJhc3RydWN0
dXJlIHRoZW4gZGV2ZWxvcHMgYSByZXN1bHRhbnQgaW1hZ2UgZnJvbSB0aGlzIHNjZW5lLCB3aGlj
aCBjYW4gPQpiZQorc2F2ZWQgdG8gYSBmaWxlIG9yIHZpZXdlZCBpbmxpbmUuCj0yMAotVGhlIHZv
bHVtZSByZW5kZXJlciBpcyBhbHNvIHRocmVhZGVkIHVzaW5nIE9wZW5NUC4gIE1hbnkgb2YgdGhl
IGNvbW1hbmRzCi0oaW5jbHVkaW5nIGBzbmFwc2hvdGApIHdpbGwgYWNjZXB0IGEgYG51bV90aHJl
YWRzYCBvcHRpb24uCitCeSBjb25zdHJ1Y3RpbmcgdGhlIHNjZW5lIGluIHRoaXMgcHJvZ3JhbW1h
dGljIHdheSwgZnVsbCBjb250cm9sIGNhbiBiZSBoYWQKK292ZXIgZWFjaCBjb21wb25lbnQgaW4g
dGhlIHNjZW5lIGFzIHdlbGwgYXMgdGhlIG1ldGhvZCBieSB3aGljaCB0aGUgc2NlbmUgPQppcwor
cmVuZGVyZWQ7IHRoaXMgY2FuIGJlIHVzZWQgdG8gcHJvdG90eXBlIHZpc3VhbGl6YXRpb25zLCBp
bmplY3QgYW5ub3RhdGlvbiA9CnN1Y2gKK2FzIGdyaWQgb3IgY29udGluZW50IGxpbmVzLCBhbmQg
dGhlbiB0byByZW5kZXIgYSBwcm9kdWN0aW9uLXF1YWxpdHkKK3Zpc3VhbGl6YXRpb24uICBCeSBj
aGFuZ2luZyB0aGUgImxlbnMiIHVzZWQsIGEgc2luZ2xlIGNhbWVyYSBwYXRoIGNhbiBvdXRwPQp1
dAoraW1hZ2VzIHN1aXRhYmxlIGZvciBwbGFuZXRhcml1bSBkb21lcywgaW1tZXJzaXZlIGFuZCBo
ZWFkIHRyYWNraW5nIHN5c3RlbXMKKyhzdWNoIGFzIHRoZSBPY2N1bHVzIFJpZnQgb3IgcmVjZW50
ICJzcGhlcmljYWwiIG1vdmllIHZpZXdlcnMgc3VjaCBhcyB0aGUKK21vYmlsZSBZb3VUdWJlIGFw
cCksIGFzIHdlbGwgYXMgc3RhbmRhcmQgc2NyZWVucy4KKworLi4gaW1hZ2U6OiBfaW1hZ2VzL3Nj
ZW5lX2RpYWdyYW0uc3ZnCisgICA6d2lkdGg6IDUwJQorICAgOmFsaWduOiBjZW50ZXIKKyAgIDph
bHQ6IERpYWdyYW0gb2YgYSAzRCBTY2VuZQorCitJbiB2ZXJzaW9ucyBvZiB5dCBwcmlvciB0byAz
LjIsIHRoZSBvbmx5IHZvbHVtZSByZW5kZXJpbmcgaW50ZXJmYWNlIGFjY2Vzcz0KaWJsZQord2Fz
IHRocm91Z2ggdGhlICJjYW1lcmEiIG9iamVjdC4gIFRoaXMgcHJlc2VudGVkIGEgbnVtYmVyIG9m
IHByb2JsZW1zLAorcHJpbmNpcGxlIG9mIHdoaWNoIHdhcyB0aGUgaW5hYmlsaXR5IHRvIGRlc2Ny
aWJlIG5ldyBzY2VuZSBlbGVtZW50cyBvciB0bworZGV2ZWxvcCBjb21wbGV4IHZpc3VhbGl6YXRp
b25zIHRoYXQgd2VyZSBpbmRlcGVuZGVudCBvZiB0aGUgc3BlY2lmaWMgZWxlbWU9Cm50cworYmVp
bmcgcmVuZGVyZWQuICBUaGUgbmV3ICJzY2VuZSIgYmFzZWQgaW50ZXJmYWNlIHByZXNlbnQgaW4g
eXQgMy4yIGFuZCBiZXk9Cm9uZAorZW5hYmxlcyBib3RoIG1vcmUgY29tcGxleCB2aXN1YWxpemF0
aW9ucyB0byBiZSBjb25zdHJ1Y3RlZCBhcyB3ZWxsIGFzIGEgbmU9CncsCittb3JlIGludHVpdGl2
ZSBpbnRlcmZhY2UgZm9yIHZlcnkgc2ltcGxlIDNEIHZpc3VhbGl6YXRpb25zLgorCisuLiB3YXJu
aW5nOjogM0QgdmlzdWFsaXphdGlvbnMgY2FuIGJlIGZ1biBidXQgZnJ1c3RyYXRpbmchICBUdW5p
bmcgdGhlCisgICAgICAgICAgICAgcGFyYW1ldGVycyB0byBib3RoIGxvb2sgbmljZSBhbmQgY29u
dmV5IHVzZWZ1bCBzY2llbnRpZmljCisgICAgICAgICAgICAgaW5mb3JtYXRpb24gY2FuIGJlIGhh
cmQuICBXZSd2ZSBwcm92aWRlZCBpbmZvcm1hdGlvbiBhYm91dCBiZT0Kc3QKKyAgICAgICAgICAg
ICBwcmFjdGljZXMgYW5kIHRyaWVkIHRvIG1ha2UgdGhlIGludGVyZmFjZSBlYXN5IHRvIGRldmVs
b3AgbmljZQorICAgICAgICAgICAgIHZpc3VhbGl6YXRpb25zLCBidXQgZ2V0dGluZyB0aGVtICpq
dXN0IHJpZ2h0KiBpcyBvZnRlbgorICAgICAgICAgICAgIHRpbWUtY29uc3VtaW5nLgo9MjAKIFR1
dG9yaWFsCiAtLS0tLS0tLQo9MjAKLVZvbHVtZSByZW5kZXJpbmdzIGFyZSBjcmVhdGVkIGJ5IGNv
bWJpbmluZyB0aHJlZSBvYmplY3RzOiBhIHZvbHVtZQotaG9tb2dlbml6YXRpb247IGEgdHJhbnNm
ZXIgZnVuY3Rpb24sIGFuZCBhIGNhbWVyYSBvYmplY3QuCitUaGUgc2NlbmUgaW50ZXJmYWNlIHBy
b3ZpZGVzIGEgbW9yZSBtb2R1bGFyIGludGVyZmFjZSBmb3IgY3JlYXRpbmcgcmVuZGVyaT0Kbmdz
CitvZiBhcmJpdHJhcnkgZGF0YSBzb3VyY2VzLiBBcyBzdWNoLCBtYW51YWwgY29tcG9zaXRpb24g
b2YgYSBzY2VuZSBjYW4gcmVxdT0KaXJlIGEKK2JpdCBtb3JlIHdvcmssIGJ1dCB3ZSB3aWxsIGFs
c28gcHJvdmlkZSBzZXZlcmFsIGhlbHBlciBmdW5jdGlvbnMgdGhhdCBhdHRlPQptcHQKK3RvIGNy
ZWF0ZSBzYXRpc2ZhY3RvcnkgZGVmYXVsdCB2b2x1bWUgcmVuZGVyaW5ncy4KPTIwCi0jLiBGaW5k
IHRoZSBhcHByb3ByaWF0ZSBib3VuZHMgZm9yIHlvdXIgZGF0YS4KLSMuIENyZWF0ZSBhIENvbG9y
VHJhbnNmZXJGdW5jdGlvbiBvYmplY3QuCi0jLiBDcmVhdGUgYSBDYW1lcmEgb2JqZWN0LCB3aGlj
aCBob21vZ2VuaXplcyB0aGUgdm9sdW1lIGFuZCBvcmllbnRzIHRoZSB2aT0KZXdpbmcKLSAgIGRp
cmVjdGlvbgotIy4gVGFrZSBhIHNuYXBzaG90IGFuZCBzYXZlIHRoZSBpbWFnZS4KKy4uIG5vdGU6
OiBJdCdzIHVzdWFsbHkgYmVzdCB0byBzdGFydCBvdXQgc2ltcGxlIHdpdGggdGhlIGJ1aWx0LWlu
IGhlbHBlcgorICAgICAgICAgIGludGVyZmFjZSwgYW5kIGV4cGFuZCBvbiB0aGF0IGlmIHlvdSBu
ZWVkIHRvLgo9MjAKLUhlcmUgaXMgYSB3b3JraW5nIGV4YW1wbGUgZm9yIHRoZSBJc29sYXRlZEdh
bGF4eSBkYXRhc2V0LgorSGVyZSBpcyBhIHdvcmtpbmcgZXhhbXBsZSBmb3IgcmVuZGVyaW5nIHRo
ZSBJc29sYXRlZEdhbGF4eSBkYXRhc2V0Lgo9MjAKIC4uIHB5dGhvbi1zY3JpcHQ6OgorICBpbXBv
cnQgeXQKKyAgIyBsb2FkIHRoZSBkYXRhCisgIGRzID0zRCB5dC5sb2FkKCJJc29sYXRlZEdhbGF4
eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAiKQorICAjIHZvbHVtZSByZW5kZXIgdGhlICdkZW5zaXR5
JyBmaWVsZCwgYW5kIHNhdmUgdGhlIHJlc3VsdGluZyBpbWFnZQorICBpbSwgc2MgPTNEIHl0LnZv
bHVtZV9yZW5kZXIoZHMsICdkZW5zaXR5JywgZm5hbWU9M0QndGVzdF9yZW5kZXJpbmcucG5nJykK
PTIwCi0gICBpbXBvcnQgeXQKLSAgIGltcG9ydCBudW1weSBhcyBucAorICAjIGltIGlzIHRoZSBp
bWFnZSB0aGF0IHdhcyBnZW5lcmF0ZWQuCisgICMgc2MgaXMgYW4gaW5zdGFuY2Ugb2YgYSBTY2Vu
ZSBvYmplY3QsIHdoaWNoIGFsbG93cyB5b3UgdG8gZnVydGhlciByZWZpbmUKKyAgIyB5b3VyIHJl
bmRlcmluZ3MuCj0yMAotICAgZHMgPTNEIHl0LmxvYWQoIklzb2xhdGVkR2FsYXh5L2dhbGF4eTAw
MzAvZ2FsYXh5MDAzMCIpCi0gICAjIENob29zZSBhIGZpZWxkCi0gICBmaWVsZCA9M0QgJ2RlbnNp
dHknCi0gICAjIERvIHlvdSB3YW50IHRoZSBsb2cgb2YgdGhlIGZpZWxkPwotICAgdXNlX2xvZyA9
M0QgVHJ1ZQorV2hlbiB0aGUgdm9sdW1lX3JlbmRlciBmdW5jdGlvbiBpcyBjYWxsZWQsIGZpcnN0
IGFuIGVtcHR5Cis6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuc2Nl
bmUuU2NlbmVgIG9iamVjdCBpcworY3JlYXRlZC4gTmV4dCwgYT0yMAorOmNsYXNzOmB+eXQudmlz
dWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmFwaS5Wb2x1bWVTb3VyY2VgCitvYmplY3QgaXMg
Y3JlYXRlZCwgd2hpY2ggZGVjb21wb3NlcyB0aGUgdm9sdW1lIGVsZW1lbnRzCitpbnRvIGEgdHJl
ZSBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBiYWNrLXRvLWZyb250IHJlbmRlcmluZyBvZiBmaXhlZC1y
ZXNvbHV0aT0Kb24KK2Jsb2NrcyBvZiBkYXRhLiAgKElmIHRoZSB2b2x1bWUgZWxlbWVudHMgYXJl
IGdyaWRzLCB0aGlzIHVzZXMgYQorOmNsYXNzOmB+eXQudXRpbGl0aWVzLmFtcl9rZHRyZWUuYW1y
X2tkdHJlZS5BTVJLRFRyZWVgIG9iamVjdC4pIFdoZW4gdGhlCis6Y2xhc3M6YH55dC52aXN1YWxp
emF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpLlZvbHVtZVNvdXJjZWAKK29iamVjdCBpcyBjcmVh
dGVkLCBieSBkZWZhdWx0IGl0IHdpbGwgY3JlYXRlIGEgdHJhbnNmZXIgZnVuY3Rpb24KK2Jhc2Vk
IG9uIHRoZSBleHRyZW1hIG9mIHRoZSBmaWVsZCB0aGF0IHlvdSBhcmUgcmVuZGVyaW5nLiBUaGUg
dHJhbnNmZXIgZnVuPQpjdGlvbgorZGVzY3JpYmVzIGhvdyByYXlzIHRoYXQgcGFzcyB0aHJvdWdo
IHRoZSBkb21haW4gYXJlICJ0cmFuc2ZlcmVkIiBhbmQgdGh1cyA9CmhvdworYnJpZ2h0bmVzcyBh
bmQgY29sb3IgY29ycmVsYXRlcyB0byB0aGUgZmllbGQgdmFsdWVzLiAgTW9kaWZ5aW5nIGFuZCBh
ZGp1c3Q9CmluZwordGhlIHRyYW5zZmVyIGZ1bmN0aW9uIGlzIHRoZSBwcmltYXJ5IHdheSB0byBt
b2RpZnkgdGhlIGFwcGVhcmFuY2Ugb2YgYW4gaW09CmFnZQorYmFzZWQgb24gdm9sdW1lcy4KPTIw
Ci0gICAjIEZpbmQgdGhlIGJvdW5kcyBpbiBsb2cgc3BhY2Ugb2YgZm9yIHlvdXIgZmllbGQKLSAg
IGRkID0zRCBkcy5hbGxfZGF0YSgpCi0gICBtaSwgbWEgPTNEIGRkLnF1YW50aXRpZXMuZXh0cmVt
YShmaWVsZCkKK09uY2UgdGhlIGJhc2ljIHNldCBvZiBvYmplY3RzIHRvIGJlIHJlbmRlcmVkIGlz
IGNvbnN0cnVjdGVkLCBhCis6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJp
bmcuY2FtZXJhLkNhbWVyYWAgb2JqZWN0IGlzIGNyZWF0ZT0KZCBhbmQKK2FkZGVkIHRvIHRoZSBz
Y2VuZS4gIEJ5IGRlZmF1bHQgdGhlIGNyZWF0aW9uIG9mIGEgY2FtZXJhIGFsc28gY3JlYXRlcyBh
CitkZWZhdWx0LCBwbGFuZS1wYXJhbGxlbCA6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVt
ZV9yZW5kZXJpbmcubGVucy5MZT0KbnNgCitvYmplY3QuIFRoZSBhbmFsb2cgdG8gYSByZWFsIGNh
bWVyYSBpcyBpbnRlbnRpb25hbCAtLSBhIGNhbWVyYSBjYW4gdGFrZSBhCitwaWN0dXJlIG9mIGEg
c2NlbmUgZnJvbSBhIHBhcnRpY3VsYXIgcG9pbnQgaW4gdGltZSBhbmQgc3BhY2UsIGJ1dCBkaWZm
ZXJlbnQKK2xlbnNlcyBjYW4gYmUgc3dhcHBlZCBpbiBhbmQgb3V0LiAgRm9yIGV4YW1wbGUsIHRo
aXMgbWlnaHQgaW5jbHVkZSBhIGZpc2hlPQp5ZQorbGVucywgYSBzcGhlcmljYWwgbGVucywgb3Ig
c29tZSBvdGhlciBtZXRob2Qgb2YgZGVzY3JpYmluZyB0aGUgZGlyZWN0aW9uIGE9Cm5kCitvcmln
aW4gb2YgcmF5cyBmb3IgcmVuZGVyaW5nLiBPbmNlIHRoZSBjYW1lcmEgaXMgYWRkZWQgdG8gdGhl
IHNjZW5lIG9iamVjdD0KLCB3ZQorY2FsbCB0aGUgbWFpbiBtZXRob2Qgb2YgdGhlCis6Y2xhc3M6
YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuc2NlbmUuU2NlbmVgIGNsYXNzLAor
Om1ldGg6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuc2NlbmUuU2NlbmUucmVu
ZGVyYC4gIFdoZW4gY2FsbGU9CmQsCit0aGUgc2NlbmUgd2lsbCBsb29wIHRocm91Z2ggYWxsIG9m
IHRoZQorOmNsYXNzOmB+eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLnJlbmRlcl9z
b3VyY2UuUmVuZGVyU291cmNlYCBvYmo9CmVjdHMKK3RoYXQgaGF2ZSBiZWVuIGFkZGVkIGFuZCBp
bnRlZ3JhdGUgdGhlIHJhZGlhdGl2ZSB0cmFuc2ZlciBlcXVhdGlvbiB0aHJvdWdoPQogdGhlCit2
b2x1bWUuIEZpbmFsbHksIHRoZSBpbWFnZSBhbmQgc2NlbmUgb2JqZWN0IGlzIHJldHVybmVkIHRv
IHRoZSB1c2VyLgo9MjAKLSAgIGlmIHVzZV9sb2c6Ci0gICAgICAgbWksbWEgPTNEIG5wLmxvZzEw
KG1pKSwgbnAubG9nMTAobWEpCitJbiB0aGlzIGV4YW1wbGUsIHdlIGRvbid0IGFkZCBvbiBhbnkg
bm9uLXZvbHVtZSByZW5kZXJpbmcgc291cmNlczsgaG93ZXZlcj0KLCBpZgorc3VjaCBzb3VyY2Vz
IGFyZSBhZGRlZCwgdGhleSB3aWxsIGJlIGludGVncmF0ZWQgYXMgd2VsbC4KPTIwCi0gICAjIElu
c3RhbnRpYXRlIHRoZSBDb2xvclRyYW5zZmVyZnVuY3Rpb24uCi0gICB0ZiA9M0QgeXQuQ29sb3JU
cmFuc2ZlckZ1bmN0aW9uKChtaSwgbWEpKQorTW9kaWZ5aW5nIHRoZSBTY2VuZQorLS0tLS0tLS0t
LS0tLS0tLS0tLQo9MjAKLSAgICMgU2V0IHVwIHRoZSBjYW1lcmEgcGFyYW1ldGVyczogY2VudGVy
LCBsb29raW5nIGRpcmVjdGlvbiwgd2lkdGgsIHJlc29sPQp1dGlvbgotICAgYyA9M0QgKGRzLmRv
bWFpbl9yaWdodF9lZGdlICsgZHMuZG9tYWluX2xlZnRfZWRnZSkvMi4wCi0gICBMID0zRCBucC5h
cnJheShbMS4wLCAxLjAsIDEuMF0pCi0gICBXID0zRCBkcy5xdWFuKDAuMywgJ3VuaXRhcnknKQot
ICAgTiA9M0QgMjU2PTIwCi0KLSAgICMgQ3JlYXRlIGEgY2FtZXJhIG9iamVjdAotICAgY2FtID0z
RCBkcy5jYW1lcmEoYywgTCwgVywgTiwgdGYsIGZpZWxkcyA9M0QgW2ZpZWxkXSwgbG9nX2ZpZWxk
cyA9M0QgW3U9CnNlX2xvZ10pCi0KLSAgICMgTm93IGxldCdzIGFkZCBzb21lIGlzb2NvbnRvdXJz
LCBhbmQgdGFrZSBhIHNuYXBzaG90LCBzYXZpbmcgdGhlIGltYWdlCi0gICAjIHRvIGEgZmlsZS4K
LSAgIHRmLmFkZF9sYXllcnMoMTAsIDAuMDEsIGNvbG9ybWFwID0zRCAnUmRCdV9yJykKLSAgIGlt
ID0zRCBjYW0uc25hcHNob3QoJ3Rlc3RfcmVuZGVyaW5nLnBuZycpCi0KLSAgICMgVG8gYWRkIHRo
ZSBkb21haW4gYm94IHRvIHRoZSBpbWFnZToKLSAgIG5pbSA9M0QgY2FtLmRyYXdfZG9tYWluKGlt
KQotICAgbmltLndyaXRlX3BuZygndGVzdF9yZW5kZXJpbmdfd2l0aF9kb21haW4ucG5nJykKLQot
ICAgIyBUbyBhZGQgdGhlIGdyaWQgb3V0bGluZXMgdG8gdGhlIGltYWdlOgotICAgbmltID0zRCBj
YW0uZHJhd19ncmlkcyhpbSkKLSAgIG5pbS53cml0ZV9wbmcoJ3Rlc3RfcmVuZGVyaW5nX3dpdGhf
Z3JpZHMucG5nJykKLQotTWV0aG9kCi0tLS0tLS0KLQotRGlyZWN0IHJheSBjYXN0aW5nIHRocm91
Z2ggYSB2b2x1bWUgZW5hYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiBuZXcgdHlwZXMgb2YKLXZpc3Vh
bGl6YXRpb25zIGFuZCBpbWFnZXMgZGVzY3JpYmluZyBhIHNpbXVsYXRpb24uICB5dCBoYXMgdGhl
IGZhY2lsaXR5Ci10byBnZW5lcmF0ZSB2b2x1bWUgcmVuZGVyaW5ncyBieSBhIGRpcmVjdCByYXkg
Y2FzdGluZyBtZXRob2QuICBIb3dldmVyLCB0aGUKLWFiaWxpdHkgdG8gY3JlYXRlIHZvbHVtZSBy
ZW5kZXJpbmdzIGluZm9ybWVkIGJ5IGFuYWx5c2lzIGJ5IG90aGVyIG1lY2hhbmlzPQptcyAtLQot
Zm9yIGluc3RhbmNlLCBoYWxvIGxvY2F0aW9uLCBhbmd1bGFyIG1vbWVudHVtLCBzcGVjdHJhbCBl
bmVyZ3kgZGlzdHJpYnV0aW89Cm5zIC0tCi1pcyB1c2VmdWwuCi0KLVRoZSB2b2x1bWUgcmVuZGVy
aW5nIGluIHl0IGZvbGxvd3MgYSByZWxhdGl2ZWx5IHN0cmFpZ2h0Zm9yd2FyZCBhcHByb2FjaC4K
LQotIy4gQ3JlYXRlIGEgc2V0IG9mIHRyYW5zZmVyIGZ1bmN0aW9ucyBnb3Zlcm5pbmcgdGhlIGVt
aXNzaW9uIGFuZCBhYnNvcnB0aW89Cm4gYXMKLSAgIGEgZnVuY3Rpb24gb2Ygb25lIG9yIG1vcmUg
dmFyaWFibGVzLiAoOm1hdGg6YGYodikgXHJpZ2h0YXJyb3cgKHIsZyxiLGEpPQpgKQotICAgVGhl
c2UgY2FuIGJlIGZ1bmN0aW9ucyBvZiBhbnkgZmllbGQgdmFyaWFibGUsIHdlaWdodGVkIGJ5IGlu
ZGVwZW5kZW50Ci0gICBmaWVsZHMsIGFuZCBldmVuIHdlaWdodGVkIGJ5IG90aGVyIGV2YWx1YXRl
ZCB0cmFuc2ZlciBmdW5jdGlvbnMuICAoU2VlCi0gICBgdHJhbnNmZXJfZnVuY3Rpb25zYC4pCi0j
LiBQYXJ0aXRpb24gYWxsIGNodW5rcyBpbnRvIG5vbi1vdmVybGFwcGluZywgZnVsbHkgZG9tYWlu
LXRpbGluZyAiYnJpY2tzLiIKLSAgIEVhY2ggb2YgdGhlc2UgImJyaWNrcyIgY29udGFpbnMgdGhl
IGZpbmVzdCBhdmFpbGFibGUgZGF0YSBhdCBhbnkgbG9jYXRpPQpvbi4KLSMuIEdlbmVyYXRlIHZl
cnRleC1jZW50ZXJlZCBkYXRhIGZvciBhbGwgZ3JpZHMgaW4gdGhlIHZvbHVtZSByZW5kZXJlZCBk
b21hPQppbi4KLSMuIE9yZGVyIHRoZSBicmlja3MgZnJvbSBiYWNrLXRvLWZyb250LgotIy4gQ29u
c3RydWN0IHBsYW5lIG9mIHJheXMgcGFyYWxsZWwgdG8gdGhlIGltYWdlIHBsYW5lLCB3aXRoIGlu
aXRpYWwgdmFsdWU9CnMgc2V0Ci0gICB0byB6ZXJvIGFuZCBsb2NhdGVkIGF0IHRoZSBiYWNrIG9m
IHRoZSByZWdpb24gdG8gYmUgcmVuZGVyZWQuCi0jLiBGb3IgZXZlcnkgYnJpY2ssIGlkZW50aWZ5
IHdoaWNoIHJheXMgaW50ZXJzZWN0LiAgVGhlc2UgYXJlIHRoZW4gZWFjaCAnYz0KYXN0JwotICAg
dGhyb3VnaCB0aGUgYnJpY2suCi0KLSAgICMuIEV2ZXJ5IGNlbGwgYSByYXkgaW50ZXJzZWN0cyBp
cyBzYW1wbGVkIDUgdGltZXMgKGFkanVzdGFibGUgYnkgcGFyYW1lPQp0ZXIpLAotICAgICAgYW5k
IGRhdGEgdmFsdWVzIGF0IGVhY2ggc2FtcGxpbmcgcG9pbnQgYXJlIHRyaWxpbmVhcmx5IGludGVy
cG9sYXRlZCA9CmZyb20KLSAgICAgIHRoZSB2ZXJ0ZXgtY2VudGVyZWQgZGF0YS4KLSAgICMuIEVh
Y2ggdHJhbnNmZXIgZnVuY3Rpb24gaXMgZXZhbHVhdGVkIGF0IGVhY2ggc2FtcGxlIHBvaW50LiAg
VGhpcyBnaXZlPQpzIHVzLAotICAgICAgZm9yIGVhY2ggY2hhbm5lbCwgYm90aCBlbWlzc2lvbiAo
Om1hdGg6YGpgKSBhbmQgYWJzb3JwdGlvbgotICAgICAgKDptYXRoOmBcYWxwaGFgKSB2YWx1ZXMu
Ci0gICAjLiBUaGUgdmFsdWUgZm9yIHRoZSBwaXhlbCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJy
ZW50IHJheSBpcyB1cGRhdGVkID0Kd2l0aAotICAgICAgbmV3IHZhbHVlcyBjYWxjdWxhdGVkIGJ5
IHJlY3Rhbmd1bGFyIGludGVncmF0aW9uIG92ZXIgdGhlIHBhdGggbGVuZ3Q9Cmg6Ci0KLSAgICAg
IDptYXRoOmB2XntuKzF9X3tpfSA9M0QgIGpfe2l9XERlbHRhIHMgKyAoMSAtIFxhbHBoYV97aX1c
RGVsdGEgcyApdl57PQpufV97aX1gCi0KLSAgICAgIHdoZXJlIDptYXRoOmBuYCBhbmQgOm1hdGg6
YG4rMWAgcmVwcmVzZW50IHRoZSBwaXhlbCBiZWZvcmUgYW5kIGFmdGVyCi0gICAgICBwYXNzaW5n
IHRocm91Z2ggYSBzYW1wbGUsIDptYXRoOmBpYCBpcyB0aGUgY29sb3IgKHJlZCwgZ3JlZW4sIGJs
dWUpID0KYW5kPTIwCi0gICAgICA6bWF0aDpgXERlbHRhIHNgIGlzIHRoZSBwYXRoIGxlbmd0aCBi
ZXR3ZWVuIHNhbXBsZXMuCi0jLiBUaGUgaW1hZ2UgaXMgcmV0dXJuZWQgdG8gdGhlIHVzZXI6Ci0K
LS4uIGltYWdlOjogX2ltYWdlcy92cl9zYW1wbGUuanBnCi0gICA6d2lkdGg6IDUxMgotCi0uLiBf
dGhlLWNhbWVyYS1pbnRlcmZhY2U6Ci0KLVRoZSBDYW1lcmEgSW50ZXJmYWNlCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLQotCi1BIGNhbWVyYSBvYmplY3QgaGFzIGFsc28gYmVlbiBjcmVhdGVkLCB0byBh
bGxvdyBmb3IgbW9yZSBwcm9ncmFtbWF0aWMKLWRlc2NyaXB0aW9ucyBvZiB0aGUgdmlld3BvaW50
IGFuZCBpbWFnZSBwbGFuZSwgYW5kIHRvIGFsbG93IGZvciBtb3ZpbmcgdGhlCi1jYW1lcmEgb2Jq
ZWN0IHRocm91Z2ggdGhlIHZvbHVtZSBhbmQgY3JlYXRpbmcgbXVsdGlwbGUgaW1hZ2VzLiAgVGhl
cmUgYXJlCi1zZXZlcmFsIGNhbWVyYSBvYmplY3RzIGF2YWlsYWJsZSwgYnV0IHRoZSBtb3N0IGNv
bW1vbmx5IHVzZWQgaXMgdGhlIHN0YW5kYT0KcmQsCi1vcnRob2dyYXBoaWMgcHJvamVjdGlvbiBj
YW1lcmEuCi0KLVRoZSBwcmltYXJ5IGludGVyZmFjZSBoZXJlIGlzIHRocm91Z2ggdGhlIGNyZWF0
aW9uIG9mIGFuIGluc3RhbmNlIG9mCi06Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9y
ZW5kZXJpbmcuY2FtZXJhLkNhbWVyYWAsIHdoaWNoIHJlcHJlc2VudD0KcyBhCi12aWV3cG9pbnQg
aW50byBhIHZvbHVtZS4gIFRoZSBjYW1lcmEgb3B0aW9uYWxseSBhY2NlcHRzIGEgdm9sdW1lLCB3
aGljaCBjYT0KbiBiZQotZWl0aGVyIGFuIGluc3RhbmNlIG9mCi06Y2xhc3M6YH55dC51dGlsaXRp
ZXMuYW1yX2tkdHJlZS5hbXJfa2R0cmVlLkFNUktEVHJlZWAgdGhhdAotaGFzIGFscmVhZHkgYmVl
biBpbml0aWFsaXplZC4gIElmIG9uZSBpcyBub3Qgc3VwcGxpZWQsIHRoZSBjYW1lcmEgd2lsbCBn
ZW49CmVyYXRlCi1vbmUgaXRzZWxmLiAgVGhpcyBjYW4gYWxzbyBiZSBzcGVjaWZpZWQgaWYgeW91
IHdpc2ggdG8gc2F2ZSBicmlja3MgYmV0d2VlbgotcmVwZWF0ZWQgY2FsbHMsIHRodXMgc2F2aW5n
IGNvbnNpZGVyYWJsZSBhbW91bnRzIG9mIHRpbWUuCi0KLVRoZSBjYW1lcmEgaW50ZXJmYWNlIGFs
bG93cyB0aGUgdXNlciB0byBtb3ZlIHRoZSBjYW1lcmEgYWJvdXQgdGhlIGRvbWFpbiwgPQphcwot
d2VsbCBhcyBwcm92aWRpbmcgaW50ZXJmYWNlcyBmb3Igem9vbWluZyBpbiBhbmQgb3V0LiAgRnVy
dGhlcm1vcmUsIHl0IG5vdwotaW5jbHVkZXMgYSBzdGVyZW9zY29waWMgY2FtZXJhCi0oOmNsYXNz
OmB+eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYS5TdGVyZW9QYWlyQ2Ft
ZXJhYCkuCi0KLU11Y2ggbGlrZSBtb3N0IGRhdGEgb2JqZWN0cywgdGhlCi06Y2xhc3M6YH55dC52
aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhLkNhbWVyYWAgb2JqZWN0IGhhbmdz
IG9mZj0KIG9mCi10aGUgaW5kZXggZmlsZSwgYW5kIGNhbiBiZSBpbnN0YW50aWF0ZWQgaW4gdGhh
dCBtYW5uZXIuCi0KLS4uIHdhcm5pbmc6OiAgVGhlIGtleXdvcmQgKm5vX2dob3N0KiBoYXMgYmVl
biBzZXQgdG8gVHJ1ZSBieSBkZWZhdWx0Ci0gICAgICAgICAgICAgIGZvciBzcGVlZCBjb25zaWRl
cmF0aW9ucy4gIEhvd2V2ZXIsIGJlY2F1c2UgdGhpcyB0dXJucyBvZmYgZz0KaG9zdAotICAgICAg
ICAgICAgICB6b25lcywgdGhlcmUgbWF5IGJlIGFydGlmYWN0cyBhdCBncmlkIGJvdW5kYXJpZXMu
ICBJZiBhIGhpZ2g9CmVyIHF1YWxpdHkKLSAgICAgICAgICAgICAgcmVuZGVyaW5nIGlzIHJlcXVp
cmVkLCB1c2UgKm5vX2dob3N0ID0zRCBGYWxzZSouCi0KLUhlcmUncyBhIGZ1bGx5IGZ1bmN0aW9u
YWwgc2NyaXB0IHRoYXQgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgdGhlIGNhbWVyYQotaW50ZXJm
YWNlLgotCi1Gb3IgYW4gZXhhbXBsZSwgc2VlIHRoZSBjb29rYm9vayA6cmVmOmBjb29rYm9vay1z
aW1wbGVfdm9sdW1lX3JlbmRlcmluZ2AuCi0KLVRoZSA6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9u
LnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhLlN0ZXJlb1BhaXJDYW1lcmFgIG9iPQpqZWN0Ci1oYXMg
YSBzaW5nbGUgcHJpbWFyeSBtZXRob2QsCi06bWV0aDpgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1l
X3JlbmRlcmluZy5jYW1lcmEuU3RlcmVvUGFpckNhbWVyYS5zcGxpdGAsID0KdGhhdAotd2lsbCBy
ZXR1cm4gdHdvIGNhbWVyYXMsIGEgbGVmdCBhbmQgYSByaWdodC4KLQotLi4gX2NhbWVyYV9tb3Zl
bWVudDoKLQotQ2FtZXJhIE1vdmVtZW50Ci0tLS0tLS0tLS0tLS0tLS0KLQotVGhlcmUgYXJlIG11
bHRpcGxlIHdheXMgdG8gbWFuaXB1bGF0ZSB0aGUgY2FtZXJhIHZpZXdwb2ludCB0byBjcmVhdGUg
YSBzZXI9CmllcyBvZgotcmVuZGVyaW5ncy4gIEZvciBhbiBleGFtcGxlLCBzZWUgdGhpcyBjb29r
Ym9vazoKLTpyZWY6YGNvb2tib29rLWNhbWVyYV9tb3ZlbWVudGAuICBGb3IgYSBjdXJyZW50IGxp
c3Qgb2YKLW1vdGlvbiBoZWxwZXIgZnVuY3Rpb25zLCBzZWUgdGhlIGRvY3N0cmluZ3MgYXNzb2Np
YXRlZCB3aXRoCi06Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2Ft
ZXJhLkNhbWVyYWAuCitPbmNlIGEgYmFzaWMgc2NlbmUgaGFzIGJlZW4gY3JlYXRlZCB3aXRoIGRl
ZmF1bHQgcmVuZGVyIHNvdXJjZXMgYW5kCitjYW1lcmEgb3BlcmF0aW9ucywgZGVlcGVyIG1vZGlm
aWNhdGlvbnMgYXJlIHBvc3NpYmxlLiBUaGVzZQorbW9kaWZpY2F0aW9ucyBjYW4gdHVuZSB0aGUg
YXBwZWFyYW5jZSBvZiB0aGUgcmVuZGVyIHNvdXJjZXMgKHN1Y2ggYXMgd2hpY2gKK2NvbG9ycyBj
b3JyZXNwb25kIHRvIHdoaWNoIHZhbHVlcyBpbiB0aGUgZGF0YSkgYXMgd2VsbCBhcyB0aGUgc2hh
cGUgb2YgdGhlCityZW5kZXJlZCBpbWFnZSwgdGhlIHBvc2l0aW9uIG9mIHRoZSBjYW1lcmEgaW4g
dGhlIHNjZW5lLCBhbmQgb3RoZXIgZWxlbWVudHMKK3ByZXNlbnQgaW4gdGhlIHNjZW5lLiAgQmVs
b3csIHdlIGRlc2NyaWJlIGEgZmV3IG9mIHRoZSBhc3BlY3RzIG9mIHR1bmluZyBhCitzY2VuZSB0
byBjcmVhdGUgYSB2aXN1YWxpemF0aW9uIHRoYXQgaXMgY29tbXVuaWNhdGl2ZSBhbmQgcGxlYXNp
bmcuCj0yMAogLi4gX3RyYW5zZmVyX2Z1bmN0aW9uczoKPTIwCiBUcmFuc2ZlciBGdW5jdGlvbnMK
LS0tLS0tLS0tLS0tLS0tLS0tLQorKysrKysrKysrKysrKysrKysrCj0yMAotVHJhbnNmZXIgZnVu
Y3Rpb25zIGFyZSB0aGUgbW9zdCBlc3NlbnRpYWwgY29tcG9uZW50LiAgU2V2ZXJhbCBkaWZmZXJl
bnQKLWZ1bmRhbWVudGFsIHR5cGVzIGhhdmUgYmVlbiBwcm92aWRlZCwgYnV0IHRoZXJlIGFyZSBt
YW55IGRpZmZlcmVudCB3YXlzIHRoZQotY29uc3RydWN0IGNvbXBsaWNhdGVkIGV4cHJlc3Npb25z
IHRvIHByb2R1Y2UgdmlzdWFsaXphdGlvbnMgYW5kIGltYWdlcyB1c2k9Cm5nCi10aGUgdW5kZXJs
eWluZyBtYWNoaW5lcnkuCitUcmFuc2ZlciBmdW5jdGlvbnMgYXJlIHRoZSBtb3N0IGVzc2VudGlh
bCBjb21wb25lbnQgb2YgYSByZW5kZXJpbmcgdGhhdAoraW5jbHVkZXMgdm9sdW1lIHNvdXJjZXMu
ICBTZXZlcmFsIGRpZmZlcmVudCBmdW5kYW1lbnRhbCB0eXBlcyBoYXZlIGJlZW4KK3Byb3ZpZGVk
LCBidXQgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IHdheXMgdG8gY29uc3RydWN0IGNvbXBsaWNh
dGVkCitleHByZXNzaW9ucyB0aGF0IHByb2R1Y2UgdmlzdWFsaXphdGlvbnMgYW5kIGltYWdlcyB1
c2luZyB0aGUgdW5kZXJseWluZworbWFjaGluZXJ5Lgo9MjAKIC4uIG5vdGU6OgogICAgQWxsIG9m
IHRoZSBpbmZvcm1hdGlvbiBhYm91dCBob3cgdHJhbnNmZXIgZnVuY3Rpb25zIGFyZSB1c2VkIGFu
ZCB2YWx1ZXMKQEAgLTIxOCw3ICsxNTcsNyBAQAogOm1ldGg6YH55dC52aXN1YWxpemF0aW9uLnZv
bHVtZV9yZW5kZXJpbmcudHJhbnNmZXJfZnVuY3Rpb25zLkNvbG9yVHJhbnNmZXI9CkZ1bmN0aW9u
LmFkZF9nYXVzc2lhbmAsCiB3aGljaCB3aWxsIGFsbG93IHlvdSB0byBzcGVjaWZ5IHRoZSBjb2xv
cnMgZGlyZWN0bHkuCj0yMAotQW4gYWx0ZXJuYXRlIG1ldGhvZCBmb3IgbW9kaWZ5aW5nIHRoZSBj
b2xvcm1hcCBpcyBkb25lIHVzaW5nCitBbiBhbHRlcm5hdGUgbWV0aG9kIGZvciBtb2RpZnlpbmcg
dGhlIGNvbG9ybWFwIGlzCiA6bWV0aDpgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmlu
Zy50cmFuc2Zlcl9mdW5jdGlvbnMuQ29sb3JUcmFuc2Zlcj0KRnVuY3Rpb24ubWFwX3RvX2NvbG9y
bWFwYCwKIHdoZXJlIHlvdSBjYW4gbWFwIGEgc2VnbWVudCBvZiB0aGUgdHJhbnNmZXIgZnVuY3Rp
b24gc3BhY2UgdG8gYW4gZW50aXJlCiBjb2xvcm1hcCBhdCBhIHNpbmdsZSBhbHBoYSB2YWx1ZS4g
IFRoaXMgaXMgc29tZXRpbWVzIHVzZWZ1bCBmb3IgdmVyeSBvcGFxdWUKQEAgLTI1NywxMCArMTk2
LDE5OSBAQAo9MjAKIC4uIG5vdGVib29rOjogVHJhbnNmZXJGdW5jdGlvbkhlbHBlcl9UdXRvcmlh
bC5pcHluYgo9MjAKLS4uIF9oZWFscGl4X3ZvbHVtZV9yZW5kZXJpbmc6CitBZGRpbmcgTmV3IFNv
dXJjZXMKKysrKysrKysrKysrKysrKysrKworCitUaGUgcmVzdWx0aW5nIGltYWdlIG9mIGEgcmVu
ZGVyaW5nIHByb2Nlc3MgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgZGlmZmVyZT0KbnQKK3NvdXJj
ZXMgcHJlc2VudCBpbiBhIHNjZW5lLiAgV2hpbGUgYXQgcHJlc2VudCB0aGVyZSBhcmUgb25seSBh
IGZldyBzb3VyY2VzCithdmFpbGFibGUsIGluIHByaW5jaXBsZSBuZXcgc291cmNlcyBjYW4gYmUg
ZGVmaW5lZCBhbmQgYWRkZWQgdG8geXQgb3ZlciB0aT0KbWUuCisKK0J5IGRlZmF1bHQsIHRoZSBz
Y2VuZSB3aWxsIGNvbnN0cnVjdCBhIHZvbHVtZSBvYmplY3QgdGhhdCBpbmNsdWRlcyB0aGUgZmx1
PQppZAorY29tcG9uZW50cyBvZiBhIGRhdGEgc291cmNlLj0yMAorCitWb2x1bWUgT2JqZWN0cwor
KysrKysrKysrKysrKysKKworV2hlbiBhIHZvbHVtZSBvYmplY3QgaXMgYWRkZWQgdG8gYSBzY2Vu
ZSwgcmF5cyB0aGF0IGNyb3NzIGl0IHdpbGwgYmUKK2ludGVncmF0ZWQuICBUaGUgdm9sdW1lIG9i
amVjdCBpcyBhZmZpbGlhdGVkIHdpdGggYSB0cmFuc2ZlciBmdW5jdGlvbiwgYSBzPQpldCBvZgor
dm94ZWxzIChkcmF3biBmcm9tIGEgZGF0YSBzb3VyY2UpIGFuZCBpcyBpbnRlZ3JhdGVkIGluIGEg
ZnJvbnQtdG8tYmFjayBtYW49Cm5lci4KK0RlcGVuZGluZyBvbiB3aGV0aGVyIG9yIG5vdCBvdGhl
ciBvcGFxdWUgb2JqZWN0cyBhcmUgaW4gdGhlIHNjZW5lLCB0aGUgdm9sPQp1bWUKK21heSBvciBt
YXkgbm90IGJlIHRyYXZlcnNlZCBpbiBpdHMgZW50aXJldHkuCisKKy4uIG5vdGU6OiBCZWhhdmlv
ciBpcyB1bmRlZmluZWQgZm9yIHZvbHVtZSBzb3VyY2VzIHRoYXQgb3ZlcmxhcCB0aGF0IGFyZSBh
PQpkZGVkCisgICAgICAgICAgdG8gYSBzY2VuZS4KKworSGFyZCBhbmQgT3BhcXVlIE9iamVjdHMK
KysrKysrKysrKysrKysrKysrKysrKysrCisKK0luIGFkZGl0aW9uIHRvIHNlbWktdHJhbnNwYXJl
bnQgb2JqZWN0cywgaGFyZCBzdXJmYWNlcyBjYW4gYmUgYWRkZWQgdG8gYSBzPQpjZW5lLgorQ3Vy
cmVudGx5IHRoZXNlIHN1cmZhY2VzIGFyZSBsaW1pdGVkIHRvIGxpbmVzIGFuZCBhbm5vdGF0aW9u
cywgYnV0IGluIGZ1dHU9CnJlCit2ZXJzaW9ucyBvZiB5dCBzdXJmYWNlcyBhbmQgdGV4dHVyZSBt
YXBwZWQgb2JqZWN0cyB3aWxsIGJlIGluY2x1ZGVkLgorCitUaGUgcHJpbWFyeSBvYmplY3RzIG5v
dyBhdmFpbGFibGUgZm9yIGhhcmQgYW5kIG9wYXF1ZSBvYmplY3RzIGFyZT0yMAorOmNsYXNzOmB+
eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmFwaS5Qb2ludFNvdXJjZWAgYW5kCis6
Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpLkxpbmVTb3VyY2Vg
LiAgVGhlc2UgYXJlIHVzZT0KZnVsCitpZiB5b3Ugd2FudCB0byBhbm5vdGF0ZSBwb2ludHMsIGZv
ciBpbnN0YW5jZSBieSBzcGxhdHRpbmcgYSBzZXQgb2YgcGFydGljbD0KZXMKK29udG8gYW4gaW1h
Z2UsIG9yIGlmIHlvdSB3YW50IHRvIGRyYXcgbGluZXMgY29ubmVjdGluZyBkaWZmZXJlbnQgcmVn
aW9ucyBvcgordmVydGljZXMuICBGb3IgaW5zdGFuY2UsIGxpbmVzIGNhbiBiZSB1c2VkIHRvIGRy
YXcgb3V0bGluZXMgb2YgcmVnaW9ucyBvcgorY29udGluZW50cy4KKworQW5ub3RhdGlvbnMKKysr
KysrKysrKysrCisKK0J5IGFubm90YXRpbmcgYSB2aXN1YWxpemF0aW9uLCBhZGRpdGlvbmFsIGlu
Zm9ybWF0aW9uIGNhbiBiZSBkcmF3biBvdXQuICB5dAorcHJvdmlkZXMgdGhyZWUgYW5ub3RhdGlv
bnM6Cis6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpLkJveFNv
dXJjZWAsCis6Y2xhc3M6YH55dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpLkdy
aWRTb3VyY2VgLCBhbmQKKzpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmlu
Zy5hcGkuQ29vcmRpbmF0ZVZlY3RvclNvdXJjZWAuICBUPQpoZXNlCithbm5vdGF0aW9ucyB3aWxs
IG9wZXJhdGUgaW4gZGF0YSBzcGFjZSBhbmQgY2FuIGRyYXcgYm94ZXMsIGdyaWQgaW5mb3JtYXRp
bz0KbiwKK2FuZCBhbHNvIHByb3ZpZGUgYSB2ZWN0b3Igb3JpZW50YXRpb24gd2l0aGluIHRoZSBp
bWFnZS4KKworQ2FyZSBhbmQgVXNhZ2Ugb2YgdGhlIENhbWVyYQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorCitXaGVuIGNvbnN0cnVjdGluZyBhIG1vdmllIG9yIHV0aWxpemluZyB2b2x1
bWUgcmVuZGVyaW5nIHRvIHZpc3VhbGl6ZSBwYXJ0aT0KY3VsYXIKK29iamVjdHMgb3IgcGhlbm9t
ZW5hLCBjb250cm9sIG92ZXIgdGhlIGV4YWN0IHBvc2l0aW9uIG9mIHRoZSBjYW1lcmEgaXMKK25l
Y2Vzc2FyeSBmb3IgYm90aCBhZXN0aGV0aWMgYW5kIHNjaWVudGlmaWMgcmVhc29ucy4KKworeXQg
cHJvdmlkZXMgbWV0aG9kcyBmb3IgbW92aW5nIHRoZSBjYW1lcmEgYnkgYWx0ZXJpbmcgaXRzIHBv
c2l0aW9uIGFuZAorb3JpZW50YXRpb24gaW4gc3BhY2UuICBUaGVyZSBhcmUgaGVscGVyIG1ldGhv
ZHMgdGhhdCBjYW4gcHJvdmlkZSBlYXNpZXIgd2E9CnlzIGlmCit5b3UgYXJlIGd1aWRpbmcgdmlz
dWFsaXphdGlvbiBiYXNlZCBvbiBxdWFudGl0aWVzIGluIHRoZSBkYXRhLgorCitDYW1lcmFzIGFs
c28gcG9zc2VzICJsZW5zIiBvYmplY3RzLCB3aGljaCBjb250cm9sIHRoZSBtYW5uZXIgaW4gd2hp
Y2ggcmF5cz0KIGFyZQorc2hvdCBvdXQgb2YgdGhlIGNhbWVyYS4gIFNvbWUgb2YgdGhlc2UgbWFr
ZSBzb21lIGNhbWVyYSBwcm9wZXJ0aWVzCisoc3BlY2lmaWNhbGx5IHRoZSB3aWR0aCBwcm9wZXJ0
eSkgaXJyZWxldmFudC4KKworLi4gX2NhbWVyYV9tb3ZlbWVudDoKKworTW92aW5nIGFuZCBPcmll
bnRpbmcgdGhlIENhbWVyYQorKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworCitUaGVy
ZSBhcmUgbXVsdGlwbGUgd2F5cyB0byBtYW5pcHVsYXRlIHRoZSBjYW1lcmEgdmlld3BvaW50IHRv
IGNyZWF0ZSBhIHNlcj0KaWVzIG9mCityZW5kZXJpbmdzLiAgRm9yIGFuIGV4YW1wbGUsIHNlZSB0
aGlzIGNvb2tib29rOgorOnJlZjpgY29va2Jvb2stY2FtZXJhX21vdmVtZW50YC4gIEZvciBhIGN1
cnJlbnQgbGlzdCBvZgorbW90aW9uIGhlbHBlciBmdW5jdGlvbnMsIHNlZSB0aGUgZG9jc3RyaW5n
cyBhc3NvY2lhdGVkIHdpdGgKKzpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRl
cmluZy5jYW1lcmEuQ2FtZXJhYC4gIEluIHNob3J0LCB0aGUKK2NhbWVyYSBwb3NzZXNzZXMgYSBu
dW1iZXIgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcyB0aGF0IG1ha2UgY2hhbmdpbmcgaXRzCitw
b3NpdGlvbiBlYXN5LiAgVGhlc2UgcHJvcGVydGllcyBjYW4gYmUgc2V0LCBhbmQgd2lsbCBhdXRv
bWF0aWNhbGx5IHRyaWdnZT0KciBhbgordXBkYXRlIG9mIHRoZSBvdGhlciBwcm9wZXJ0aWVzIG9m
IHRoZSBjYW1lcmE6CisKKyAqIGBwb3NpdGlvbmAgLSB0aGUgcG9zaXRpb24gb2YgdGhlIGNhbWVy
YSBpbiBzY2VuZS1zcGFjZQorICogYHdpZHRoYCAtIHRoZSB3aWR0aCBvZiB0aGUgcGxhbmUgdGhl
IGNhbWVyYSBjYW4gc2VlCisgKiBgZm9jdXNgIC0gdGhlIHBvaW50IGluIHNwYWNlIHRoZSBjYW1l
cmEgaXMgbG9va2luZyBhdAorICogYHJlc29sdXRpb25gIC0gdGhlIGltYWdlIHJlc29sdXRpb24K
KworSW4gYWRkaXRpb24gdG8gdGhpcywgbWV0aG9kcyBzdWNoIGFzCis6bWV0aDpgfnl0LnZpc3Vh
bGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1lcmEuQ2FtZXJhLnJvdGF0ZWAsCis6bWV0aDpg
fnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1lcmEuQ2FtZXJhLnBpdGNoYCwK
KzptZXRoOmB+eXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYS5DYW1lcmEu
eWF3YCwgYW5kCis6bWV0aDpgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1l
cmEuQ2FtZXJhLnJvbGxgIGNhbiByb3RhdGUgdD0KaGUKK2NhbWVyYSBpbiBzcGFjZS4KKworV2hl
biBleGFtaW5pbmcgYSBwYXJ0aWN1bGFyIHBvaW50IGluIHNwYWNlLD0yMAorOm1ldGg6YH55dC52
aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhLkNhbWVyYS56b29tYCBjYW4gYmUg
b2YKK2Fzc2lzdGFuY2UsIGFzIGl0IHdpbGwgbW92ZSB0aGUgY2FtZXJhIHRvd2FyZCB0aGUgZm9j
YWwgcG9pbnQgYnkgYSBmYWN0b3IKK3JlbGF0ZWQgdG8gdGhlIGN1cnJlbnQgZGlzdGFuY2UgYmV0
d2VlbiB0aGVtLgorCitJbiBhZGRpdGlvbiB0byBtYW51YWwgY29udHJvbCwgdGhlIGNhbWVyYSBh
bHNvIGhhcyBpdGVyYXRpb24gbWV0aG9kcyB0aGF0ID0KaGVscAord2l0aCBtb3ZpbmcgYW5kIHJv
dGF0aW5nLiAgVGhlPTIwCis6bWV0aDpgfnl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmlu
Zy5jYW1lcmEuQ2FtZXJhLnJvdGF0aW9uYCwKKzptZXRoOmB+eXQudmlzdWFsaXphdGlvbi52b2x1
bWVfcmVuZGVyaW5nLmNhbWVyYS5DYW1lcmEuem9vbWluYCwgYW5kCis6bWV0aDpgfnl0LnZpc3Vh
bGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1lcmEuQ2FtZXJhLm1vdmVfdG9gIG1ldGhvZHMK
K3Byb3ZpZGUgaXRlcmF0aW9uIG92ZXIgYSBzZXF1ZW5jZSBvZiBwb3NpdGlvbnMgYW5kIG9yaWVu
dGF0aW9ucy4gIFRoZXNlIGNhPQpuIGJlCit1c2VkIHdpdGhpbiBhIGxvb3A6CisKKy4uIHB5dGhv
bi1zY3JpcHQ6OgorCisgICBmb3IgaSBpbiBzYy5jYW1lcmEuem9vbWluKDEwMCwgNSk6CisgICAg
ICAgc2MucmVuZGVyKCJmcmFtZV8lMDNpLnBuZyIgJSBpKQorCitUaGUgdmFyaWFibGUgYGBpYGAg
aXMgdGhlIGZyYW1lIG51bWJlciBpbiB0aGUgcGFydGljdWxhciBsb29wIGJlaW5nIGNhbGxlZD0K
LiAgSW4KK3RoaXMgY2FzZSwgdGhpcyB3aWxsIHpvb20gaW4gYnkgYSBmYWN0b3Igb2YgMTAwIG92
ZXIgdGhlIGNvdXJzZSBvZiA1IGZyYW1lPQpzLgorCitDaGFuZ2luZyBMZW5zZXMKKysrKysrKysr
KysrKysrKworCitTZXR0aW5nIGEgbGVucyBvbiBhIGNhbWVyYSBjaGFuZ2VzIHRoZSByZXN1bHRp
bmcgaW1hZ2UuICBUaGVzZSBsZW5zZXMgY2FuID0KYmUKK2NoYW5nZWQgYXQgcnVuIHRpbWUgb3Ig
YXQgdGhlIHRpbWUgd2hlbiBhIGNhbWVyYSBpcyBpbml0aWFsaXplZCBieSBzcGVjaWZ5PQppbmcK
K3RoZSBgbGVuc190eXBlYCBhcmd1bWVudCB3aXRoIGEgc3RyaW5nLgorCitBdCB0aGUgcHJlc2Vu
dCB0aW1lLCB0aGVyZSBhcmUgYSBmZXcgY2FtZXJhcyB0aGF0IGNhbiBiZSB1c2VkOgorYHBsYW5l
LXBhcmFsbGVsYCwgYHBlcnNwZWN0aXZlYCwgYGZpc2hleWVgLCBhbmQgYHNwaGVyaWNhbGAuCisK
KyAqIFBsYW5lIHBhcmFsbGVsOiBUaGlzIGxlbnMgdHlwZSBpcyB0aGUgc3RhbmRhcmQgdHlwZSB1
c2VkIGZvciBvcnRob2dyYXBoPQppYworICAgcHJvamVjdGlvbnMuICBBbGwgcmF5cyBlbWVyZ2Ug
cGFyYWxsZWwgdG8gZWFjaCBvdGhlciwgYXJyYW5nZWQgYWxvbmcgYQorICAgcGxhbmUuCisgKiBQ
ZXJzcGVjdGl2ZTogVGhpcyBsZW5zIHR5cGUgYWRqdXN0cyBmb3IgYW4gb3BlbmluZyB2aWV3IGFu
Z2xlLCBzbyB0aGF0ID0KdGhlCisgICBzY2VuZSB3aWxsIGhhdmUgYW4gZWxlbWVudCBvZiBwZXJz
cGVjdGl2ZSB0byBpdC4KKyAqIEZpc2hleWU6IFRoaXMgbGVucyB0eXBlIGFjY2VwdHMgYSBmaWVs
ZC1vZi12aWV3IHByb3BlcnR5LCBgZm92YCwgdGhhdAorICAgZGVzY3JpYmVzIGhvdyB3aWRlIGFu
IGFuZ2xlIHRoZSBmaXNoZXllIGNhbiBzZWUuICBGaXNoZXllIGltYWdlcyBhcmUKKyAgIHR5cGlj
YWxseSB1c2VkIGZvciBkb21lLWJhc2VkIHByZXNlbnRhdGlvbnM7IHRoZSBIYXlkZW4gcGxhbmV0
YXJpdW0gZm9yCisgICBpbnN0YW5jZSBoYXMgYSBmaWVsZCBvZiB2aWV3IG9mIDE5NC42LiAgVGhl
IGltYWdlcyByZXR1cm5lZCBieSB0aGlzIGNhbT0KZXJhCisgICB3aWxsIGJlIGZsYXQgcGl4ZWwg
aW1hZ2VzIHRoYXQgY2FuIGFuZCBzaG91bGQgYmUgcmVzaGFwZWQgdG8gdGhlIHJlc29sdT0KdGlv
bi4KKyAqIFNwaGVyaWNhbDogVGhpcyBpcyBhIGN5bGluZHJpY2FsLXNwaGVyaWNhbCBwcm9qZWN0
aW9uLiAgTW92aWVzIHJlbmRlcmVkPQogaW4KKyAgIHRoaXMgd2F5IGNhbiBiZSBkaXNwbGF5ZWQg
aW4gaGVhZC10cmFja2luZyBkZXZpY2VzIG9yIGluIFlvdVR1YmUgMzYwIHZpPQpldworICAgKGZv
ciBtb3JlIGluZm9ybWF0aW9uIHNlZSBgdGhlIFlvdVR1YmUgaGVscAorICAgPGh0dHBzOi8vc3Vw
cG9ydC5nb29nbGUuY29tL3lvdXR1YmUvYW5zd2VyLzYxNzg2MzE/aGw9M0Rlbj5gLCBidXQgaXQn
cyBhCisgICBzaW1wbGUgbWF0dGVyIG9mIHJ1bm5pbmcgYSBzY3JpcHQgb24gYW4gZW5jb2RlZCBt
b3ZpZSBmaWxlLikKKworVm9sdW1lIFJlbmRlcmluZyBNZXRob2QKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisKK0RpcmVjdCByYXkgY2FzdGluZyB0aHJvdWdoIGEgdm9sdW1lIGVuYWJsZXMgdGhl
IGdlbmVyYXRpb24gb2YgbmV3IHR5cGVzIG9mCit2aXN1YWxpemF0aW9ucyBhbmQgaW1hZ2VzIGRl
c2NyaWJpbmcgYSBzaW11bGF0aW9uLiAgeXQgaGFzIHRoZSBmYWNpbGl0eQordG8gZ2VuZXJhdGUg
dm9sdW1lIHJlbmRlcmluZ3MgYnkgYSBkaXJlY3QgcmF5IGNhc3RpbmcgbWV0aG9kLiAgSG93ZXZl
ciwgdGhlCithYmlsaXR5IHRvIGNyZWF0ZSB2b2x1bWUgcmVuZGVyaW5ncyBpbmZvcm1lZCBieSBh
bmFseXNpcyBieSBvdGhlciBtZWNoYW5pcz0KbXMgLS0KK2ZvciBpbnN0YW5jZSwgaGFsbyBsb2Nh
dGlvbiwgYW5ndWxhciBtb21lbnR1bSwgc3BlY3RyYWwgZW5lcmd5IGRpc3RyaWJ1dGlvPQpucyAt
LQoraXMgdXNlZnVsLgorCitUaGUgdm9sdW1lIHJlbmRlcmluZyBpbiB5dCBmb2xsb3dzIGEgcmVs
YXRpdmVseSBzdHJhaWdodGZvcndhcmQgYXBwcm9hY2guCisKKyMuIENyZWF0ZSBhIHNldCBvZiB0
cmFuc2ZlciBmdW5jdGlvbnMgZ292ZXJuaW5nIHRoZSBlbWlzc2lvbiBhbmQgYWJzb3JwdGlvPQpu
IGFzCisgICBhIGZ1bmN0aW9uIG9mIG9uZSBvciBtb3JlIHZhcmlhYmxlcy4gKDptYXRoOmBmKHYp
IFxyaWdodGFycm93IChyLGcsYixhKT0KYCkKKyAgIFRoZXNlIGNhbiBiZSBmdW5jdGlvbnMgb2Yg
YW55IGZpZWxkIHZhcmlhYmxlLCB3ZWlnaHRlZCBieSBpbmRlcGVuZGVudAorICAgZmllbGRzLCBh
bmQgZXZlbiB3ZWlnaHRlZCBieSBvdGhlciBldmFsdWF0ZWQgdHJhbnNmZXIgZnVuY3Rpb25zLiAg
KFNlZQorICAgYHRyYW5zZmVyX2Z1bmN0aW9uc2AuKQorIy4gUGFydGl0aW9uIGFsbCBjaHVua3Mg
aW50byBub24tb3ZlcmxhcHBpbmcsIGZ1bGx5IGRvbWFpbi10aWxpbmcgImJyaWNrcy4iCisgICBF
YWNoIG9mIHRoZXNlICJicmlja3MiIGNvbnRhaW5zIHRoZSBmaW5lc3QgYXZhaWxhYmxlIGRhdGEg
YXQgYW55IGxvY2F0aT0Kb24uCisjLiBHZW5lcmF0ZSB2ZXJ0ZXgtY2VudGVyZWQgZGF0YSBmb3Ig
YWxsIGdyaWRzIGluIHRoZSB2b2x1bWUgcmVuZGVyZWQgZG9tYT0KaW4uCisjLiBPcmRlciB0aGUg
YnJpY2tzIGZyb20gZnJvbnQtdG8tYmFjay4KKyMuIENvbnN0cnVjdCBwbGFuZSBvZiByYXlzIHBh
cmFsbGVsIHRvIHRoZSBpbWFnZSBwbGFuZSwgd2l0aCBpbml0aWFsIHZhbHVlPQpzIHNldAorICAg
dG8gemVybyBhbmQgbG9jYXRlZCBhdCB0aGUgYmFjayBvZiB0aGUgcmVnaW9uIHRvIGJlIHJlbmRl
cmVkLgorIy4gRm9yIGV2ZXJ5IGJyaWNrLCBpZGVudGlmeSB3aGljaCByYXlzIGludGVyc2VjdC4g
IFRoZXNlIGFyZSB0aGVuIGVhY2ggJ2M9CmFzdCcKKyAgIHRocm91Z2ggdGhlIGJyaWNrLgorCisg
ICAjLiBFdmVyeSBjZWxsIGEgcmF5IGludGVyc2VjdHMgaXMgc2FtcGxlZCA1IHRpbWVzIChhZGp1
c3RhYmxlIGJ5IHBhcmFtZT0KdGVyKSwKKyAgICAgIGFuZCBkYXRhIHZhbHVlcyBhdCBlYWNoIHNh
bXBsaW5nIHBvaW50IGFyZSB0cmlsaW5lYXJseSBpbnRlcnBvbGF0ZWQgPQpmcm9tCisgICAgICB0
aGUgdmVydGV4LWNlbnRlcmVkIGRhdGEuCisgICAjLiBFYWNoIHRyYW5zZmVyIGZ1bmN0aW9uIGlz
IGV2YWx1YXRlZCBhdCBlYWNoIHNhbXBsZSBwb2ludC4gIFRoaXMgZ2l2ZT0KcyB1cywKKyAgICAg
IGZvciBlYWNoIGNoYW5uZWwsIGJvdGggZW1pc3Npb24gKDptYXRoOmBqYCkgYW5kIGFic29ycHRp
b24KKyAgICAgICg6bWF0aDpgXGFscGhhYCkgdmFsdWVzLgorICAgIy4gVGhlIHZhbHVlIGZvciB0
aGUgcGl4ZWwgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVudCByYXkgaXMgdXBkYXRlZCA9Cndp
dGgKKyAgICAgIG5ldyB2YWx1ZXMgY2FsY3VsYXRlZCBieSByZWN0YW5ndWxhciBpbnRlZ3JhdGlv
biBvdmVyIHRoZSBwYXRoIGxlbmd0PQpoOgorCisgICAgICA6bWF0aDpgdl57bisxfV97aX0gPTNE
ICBqX3tpfVxEZWx0YSBzICsgKDEgLSBcYWxwaGFfe2l9XERlbHRhIHMgKXZeez0Kbn1fe2l9YAor
CisgICAgICB3aGVyZSA6bWF0aDpgbmAgYW5kIDptYXRoOmBuKzFgIHJlcHJlc2VudCB0aGUgcGl4
ZWwgYmVmb3JlIGFuZCBhZnRlcgorICAgICAgcGFzc2luZyB0aHJvdWdoIGEgc2FtcGxlLCA6bWF0
aDpgaWAgaXMgdGhlIGNvbG9yIChyZWQsIGdyZWVuLCBibHVlKSA9CmFuZD0yMAorICAgICAgOm1h
dGg6YFxEZWx0YSBzYCBpcyB0aGUgcGF0aCBsZW5ndGggYmV0d2VlbiBzYW1wbGVzLgorICAgIy4g
RGV0ZXJtaW5lIGlmIGFueSBhZGRpdGlvbiBpbnRlZ3JhdGUgd2lsbCBjaGFuZ2UgdGhlIHNhbXBs
ZSB2YWx1ZTsgaWY9CiBub3QsCisgICAgICB0ZXJtaW5hdGUgaW50ZWdyYXRpb24uICAoVGhpcyBy
ZWR1Y2VzIGludGVncmF0aW9uIHRpbWUgd2hlbiByZW5kZXJpbmcKKyAgICAgIGZyb250LXRvLWJh
Y2suKQorIy4gVGhlIGltYWdlIGlzIHJldHVybmVkIHRvIHRoZSB1c2VyOgorCisuLiBpbWFnZTo6
IF9pbWFnZXMvdnJfc2FtcGxlLmpwZworICAgOndpZHRoOiA1MTIKKworUGFyYWxsZWxpc20KKy0t
LS0tLS0tLS0tCisKK3l0IGNhbiB1dGlsaXplIGJvdGggTVBJIGFuZCBPcGVuTVAgcGFyYWxsZWxp
c20gZm9yIHZvbHVtZSByZW5kZXJpbmcuICBCb3RoPQosIGFuZAordGhlaXIgY29tYmluYXRpb24s
IGFyZSBkZXNjcmliZWQgYmVsb3cuCj0yMAogTVBJIFBhcmFsbGVsaXphdGlvbgotLS0tLS0tLS0t
LS0tLS0tLS0tLQorKysrKysrKysrKysrKysrKysrKworCiBDdXJyZW50bHkgdGhlIHZvbHVtZSBy
ZW5kZXJlciBpcyBwYXJhbGxlbGl6ZWQgdXNpbmcgTVBJIHRvIGRlY29tcG9zZSB0aGUgdj0Kb2x1
bWUKIGJ5IGF0dGVtcHRpbmcgdG8gc3BsaXQgdXAgdGhlCiA6Y2xhc3M6YH55dC51dGlsaXRpZXMu
YW1yX2tkdHJlZS5hbXJfa2R0cmVlLkFNUktEVHJlZWAgaW4gYSBiYWxhbmNlZCB3YXkuID0KIFRo
aXMKQEAgLTI5Myw3ICs0MjEsNyBAQAogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZW5hYmxp
bmcgcGFyYWxsZWxpc20sIHNlZSA6cmVmOmBwYXJhbGxlbC1jb21wdXQ9CmF0aW9uYC4KPTIwCiBP
cGVuTVAgUGFyYWxsZWxpemF0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrKysrKysrKysr
KysrKysrKysrKysrCj0yMAogVGhlIHZvbHVtZSByZW5kZXJpbmcgYWxzbyBwYXJhbGxlbGl6ZWQg
dXNpbmcgdGhlIE9wZW5NUCBpbnRlcmZhY2UgaW4gQ3l0aG89Cm4uCiBXaGlsZSB0aGUgTVBJIHBh
cmFsbGVsaXphdGlvbiBpcyBkb25lIHVzaW5nIGRvbWFpbiBkZWNvbXBvc2l0aW9uLCB0aGUgT3Bl
bj0KTVAKQEAgLTMwOSw3ICs0MzcsNyBAQAogYnkgZGVmYXVsdCBieSBtb2RpZnlpbmcgdGhlIGVu
dmlyb25tZW50IHZhcmlhYmxlIE9NUF9OVU1fVEhSRUFEUy49MjAKPTIwCiBSdW5uaW5nIGluIEh5
YnJpZCBNUEkgKyBPcGVuTVAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCj0yMAogVGhlIHR3byBtZXRob2RzIGZvciB2b2x1bWUg
cmVuZGVyaW5nIHBhcmFsbGVsaXphdGlvbiBjYW4gYmUgdXNlZCB0b2dldGhlciA9CnRvCiBsZXZl
cmFnZSBsYXJnZSBzdXBlcmNvbXB1dGluZyByZXNvdXJjZXMuICBXaGVuIGNob29zaW5nIGhvdyB0
byBiYWxhbmNlIHRoZQpAQCAtMzQ4LDMwICs0NzYsMyBAQAo9MjAKIEZvciBhbiBpbi1kZXB0aCBl
eGFtcGxlLCBwbGVhc2Ugc2VlIHRoZSBjb29rYm9vayBleGFtcGxlIG9uIG9wYXF1ZSByZW5kZXJz
PQogaGVyZTo9MjAKIDpyZWY6YGNvb2tib29rLW9wYXF1ZV9yZW5kZXJpbmdgLgotCi1MaWdodGlu
ZwotLS0tLS0tLS0KLQotTGlnaHRpbmcgY2FuIGJlIG9wdGlvbmFsbHkgdXNlZCBpbiB2b2x1bWUg
cmVuZGVycyBieSBzcGVjaWZ5aW5nIHVzZV9saWdodD0KPTNEVHJ1ZQotaW4gdGhlIENhbWVyYSBv
YmplY3QgY3JlYXRpb24uICBJZiB1c2VkLCBvbmUgY2FuIHRoZW4gY2hhbmdlIHRoZSBkZWZhdWx0
Ci1saWdodGluZyBjb2xvciBhbmQgZGlyZWN0aW9uIGJ5IG1vZGlmeWluZyBDYW1lcmEubGlnaHRf
ZGlyIGFuZAotQ2FtZXJhLmxpZ2h0X3JnYi4gIExpZ2h0aW5nIHdvcmtzIGluIHRoaXMgY29udGV4
dCBieSBldmFsdWF0aW5nIG5vdCBvbmx5IHQ9CmhlCi1maWVsZCB2YWx1ZSBidXQgYWxzbyBpdHMg
Z3JhZGllbnQgaW4gb3JkZXIgdG8gY29tcHV0ZSB0aGUgZW1pc3Npdml0eS4gIFRoaT0KcyBpcwot
bm90IHRoZSBzYW1lIGFzIGNhc3Rpbmcgc2hhZG93cywgYnV0IHByb3ZpZGVzIGEgd2F5IG9mIGhp
Z2hsaWdodGluZyBzaWRlcyA9Cm9mIGEKLWNvbnRvdXIuID0yMAotCi1HZW5lcmF0aW5nIGEgSG9t
b2dlbml6ZWQgVm9sdW1lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUluIG9y
ZGVyIHRvIHBlcmZvcm0gYSB2b2x1bWUgcmVuZGVyaW5nLCB0aGUgZGF0YSBtdXN0IGZpcnN0IGJl
IGRlY29tcG9zZWQgPQppbnRvCi1hIEhvbW9nZW5pemVkVm9sdW1lIG9iamVjdC4gIFRoaXMgc3Ry
dWN0dXJlIHNwbGl0cyB0aGUgZG9tYWluIHVwIGludG8KLXNpbmdsZS1yZXNvbHV0aW9uIHRpbGVz
IHdoaWNoIGNvdmVyIHRoZSBkb21haW4gYXQgdGhlIGhpZ2hlc3QgcmVzb2x1dGlvbgotcG9zc2li
bGUgZm9yIGEgZ2l2ZW4gcG9pbnQgaW4gc3BhY2UuICBUaGlzIG1lYW5zIHRoYXQgZXZlcnkgcG9p
bnQgaW4gc3BhY2U9CiBpcwotbWFwcGVkIHRvIGV4YWN0bHkgb25lIGRhdGEgcG9pbnQsIHdoaWNo
IHJlY2VpdmVzIGl0cyB2YWx1ZXMgZnJvbSB0aGUgaGlnaGU9CnN0Ci1yZXNvbHV0aW9uIGdyaWQg
dGhhdCBjb3ZlcnMgdGhhdCB2b2x1bWUuCi0KLVRoZSBjcmVhdGlvbiBvZiB0aGVzZSBob21vZ2Vu
aXplZCB2b2x1bWVzIGlzIGRvbmUgZHVyaW5nIHRoZT0yMAotOmNsYXNzOmB+eXQudmlzdWFsaXph
dGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYS5DYW1lcmFgICBvYmplY3QKLWluc3RhbnRpYXRp
b24gYnkgZGVmYXVsdC4gIEhvd2V2ZXIsIGluIHNvbWUgY2FzZXMgaXQgaXMgdXNlZnVsIHRvIGZp
cnN0IGJ1PQppbGQKLXlvdXIgaG9tb2dlbml6ZWQgdm9sdW1lIHRvIHRoZW4gYmUgcGFzc2VkIGlu
IHRvIHRoZSBjYW1lcmEuIEEgc2FtcGxlIHVzYWdlPQogaXMgc2hvd24KLWluIDpyZWY6YGNvb2ti
b29rLWFtcmtkdHJlZV9kb3duc2FtcGxpbmdgLgoKZGlmZiAtciA5NzBhZTYyYTE0ZjgyMzMxY2Mw
NzA0ODQzYzM1MThiOTBkZDg4YjI3IC1yIGJlNjA5NDAxMDZmMDRjZjBkMmFjOTE2PQoyNGViYjBi
ZGFlNzJjNDAwMiB5dC9fX2luaXRfXy5weQotLS0gYS95dC9fX2luaXRfXy5weQorKysgYi95dC9f
X2luaXRfXy5weQpAQCAtMTU0LDggKzE1NCwxMSBAQAogICAgIFBhcnRpY2xlUHJvamVjdGlvblBs
b3QsIFBhcnRpY2xlSW1hZ2VCdWZmZXIsIFBhcnRpY2xlUGxvdAo9MjAKIGZyb20geXQudmlzdWFs
aXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmFwaSBpbXBvcnQgXAotICAgIG9mZl9heGlzX3Byb2pl
Y3Rpb24sIENvbG9yVHJhbnNmZXJGdW5jdGlvbiwgXAotICAgIFRyYW5zZmVyRnVuY3Rpb25IZWxw
ZXIsIFRyYW5zZmVyRnVuY3Rpb24sIE11bHRpVmFyaWF0ZVRyYW5zZmVyRnVuY3Rpb24KKyAgICB2
b2x1bWVfcmVuZGVyLCBDb2xvclRyYW5zZmVyRnVuY3Rpb24sIFRyYW5zZmVyRnVuY3Rpb24sIFwK
KyAgICBvZmZfYXhpc19wcm9qZWN0aW9uCitpbXBvcnQgeXQudmlzdWFsaXphdGlvbi52b2x1bWVf
cmVuZGVyaW5nLmFwaSBhcyB2b2x1bWVfcmVuZGVyaW5nCisjICAgIFRyYW5zZmVyRnVuY3Rpb25I
ZWxwZXIsIE11bHRpVmFyaWF0ZVRyYW5zZmVyRnVuY3Rpb24KKyMgICAgb2ZmX2F4aXNfcHJvamVj
dGlvbgo9MjAKIGZyb20geXQudXRpbGl0aWVzLnBhcmFsbGVsX3Rvb2xzLnBhcmFsbGVsX2FuYWx5
c2lzX2ludGVyZmFjZSBpbXBvcnQgXAogICAgIHBhcmFsbGVsX29iamVjdHMsIGVuYWJsZV9wYXJh
bGxlbGlzbSwgY29tbXVuaWNhdGlvbl9zeXN0ZW0KClRoaXMgZGlmZiBpcyBzbyBiaWcgdGhhdCB3
ZSBuZWVkZWQgdG8gdHJ1bmNhdGUgdGhlIHJlbWFpbmRlci4KCmh0dHBzOi8vYml0YnVja2V0Lm9y
Zy95dF9hbmFseXNpcy95dC9jb21taXRzLzViYjA2MWM4ZmQwNC8KQ2hhbmdlc2V0OiAgIDViYjA2
MWM4ZmQwNApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAg
IDIwMTUtMDgtMjAgMDE6NTg6MzErMDA6MDAKU3VtbWFyeTogICAgIGhvb2tpbmcgdXAgdGhlIHBp
eGVsaXplciB0byB0aGUgc2xpY2UgcGxvdHMKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBi
ZTYwOTQwMTA2ZjA0Y2YwZDJhYzkxNjI0ZWJiMGJkYWU3MmM0MDAyIC1yIDViYjA2MWM4ZmQwNGFh
ZjNmMDdkODNlPQplMjc1YzNhNTdiOTU2NjY0YiB5dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0
ZXNpYW5fY29vcmRpbmF0ZXMucHkKLS0tIGEveXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVz
aWFuX2Nvb3JkaW5hdGVzLnB5CisrKyBiL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lh
bl9jb29yZGluYXRlcy5weQpAQCAtMjIsNiArMjIsOCBAQAogICAgIF9nZXRfdmVydF9maWVsZHMs
IFwKICAgICBjYXJ0ZXNpYW5fdG9fY3lsaW5kcmljYWwsIFwKICAgICBjeWxpbmRyaWNhbF90b19j
YXJ0ZXNpYW4KK2Zyb20geXQudXRpbGl0aWVzLmxpYi5waXhlbGl6YXRpb25fcm91dGluZXMgaW1w
b3J0IFwKKyAgICBwaXhlbGl6ZV9lbGVtZW50X21lc2gKIGltcG9ydCB5dC52aXN1YWxpemF0aW9u
Ll9NUEwgYXMgX01QTAo9MjAKPTIwCkBAIC02MCw3ICs2MiwyNiBAQAo9MjAKICAgICBkZWYgcGl4
ZWxpemUoc2VsZiwgZGltZW5zaW9uLCBkYXRhX3NvdXJjZSwgZmllbGQsIGJvdW5kcywgc2l6ZSwK
ICAgICAgICAgICAgICAgICAgYW50aWFsaWFzID0zRCBUcnVlLCBwZXJpb2RpYyA9M0QgVHJ1ZSk6
Ci0gICAgICAgIGlmIGRpbWVuc2lvbiA8IDM6CisgICAgICAgIGluZGV4ID0zRCBkYXRhX3NvdXJj
ZS5kcy5pbmRleAorICAgICAgICBpZiBoYXNhdHRyKGluZGV4LCAnbWVzaGVzJyk6ICAjIHVuc3Ry
dWN0dXJlZCBtZXNoIGRhdGFzZXQKKyAgICAgICAgICAgIG1lc2ggPTNEIGluZGV4Lm1lc2hlc1sw
XQorICAgICAgICAgICAgb2Zmc2V0ID0zRCAxCisgICAgICAgICAgICBhZCA9M0QgZGF0YV9zb3Vy
Y2UuZHMuYWxsX2RhdGEoKQorICAgICAgICAgICAgZmllbGRfZGF0YSA9M0QgYWRbZmllbGRdCisg
ICAgICAgICAgICBidWZmX3NpemUgPTNEIHNpemVbMDpkaW1lbnNpb25dICsgKDEsKSArIHNpemVb
ZGltZW5zaW9uOl0KKworICAgICAgICAgICAgYyA9M0QgbnAuZmxvYXQ2NChkYXRhX3NvdXJjZS5j
ZW50ZXJbZGltZW5zaW9uXS5kKQorICAgICAgICAgICAgYm91bmRzLmluc2VydCgyKmRpbWVuc2lv
biwgYykKKyAgICAgICAgICAgIGJvdW5kcy5pbnNlcnQoMipkaW1lbnNpb24sIGMpCisgICAgICAg
ICAgICBib3VuZHMgPTNEIG5wLnJlc2hhcGUoYm91bmRzLCAoMywgMikpCisKKyAgICAgICAgICAg
IGltZyA9M0QgcGl4ZWxpemVfZWxlbWVudF9tZXNoKG1lc2guY29ubmVjdGl2aXR5X2Nvb3JkcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNoLmNvbm5lY3Rpdml0
eV9pbmRpY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZf
c2l6ZSwgZmllbGRfZGF0YSwgYm91bmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGV4X29mZnNldD0zRG9mZnNldCkKKworICAgICAgICAgICAgcmV0dXJuIG5w
LnNxdWVlemUoaW1nKQorICAgICAgICBlbGlmIGRpbWVuc2lvbiA8IDM6CiAgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5fb3J0aG9fcGl4ZWxpemUoZGF0YV9zb3VyY2UsIGZpZWxkLCBib3VuZHMsIHNp
emUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50aWFsaWFzLCBk
aW1lbnNpb24sIHBlcmlvZGljKQogICAgICAgICBlbHNlOgoKCmh0dHBzOi8vYml0YnVja2V0Lm9y
Zy95dF9hbmFseXNpcy95dC9jb21taXRzLzc2ZWNiNzRmYTYzNi8KQ2hhbmdlc2V0OiAgIDc2ZWNi
NzRmYTYzNgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAg
IDIwMTUtMDgtMjAgMDI6MzY6NTErMDA6MDAKU3VtbWFyeTogICAgIHRlYWNoaW5nIHRoZSBmcm9u
dGVuZCBhYm91dCBlbGVtZW50LWNlbnRlcmVkIGZpZWxkcwpBZmZlY3RlZCAjOiAgNCBmaWxlcwoK
ZGlmZiAtciA1YmIwNjFjOGZkMDRhYWYzZjA3ZDgzZWUyNzVjM2E1N2I5NTY2NjRiIC1yIDc2ZWNi
NzRmYTYzNjhjMGM0Y2ZiMGZjPQo4OGQ5YjRjYzZjOTYwYzZlNSB5dC9kYXRhX29iamVjdHMvdW5z
dHJ1Y3R1cmVkX21lc2gucHkKLS0tIGEveXQvZGF0YV9vYmplY3RzL3Vuc3RydWN0dXJlZF9tZXNo
LnB5CisrKyBiL3l0L2RhdGFfb2JqZWN0cy91bnN0cnVjdHVyZWRfbWVzaC5weQpAQCAtMTM4LDcg
KzEzOCw3IEBACiAgICAgICAgIG1hc2sgPTNEIHNlbGYuX2dldF9zZWxlY3Rvcl9tYXNrKHNlbGVj
dG9yKQogICAgICAgICBjb3VudCA9M0Qgc2VsZi5jb3VudChzZWxlY3RvcikKICAgICAgICAgaWYg
Y291bnQgPTNEPTNEIDA6IHJldHVybiAwCi0gICAgICAgIGRlc3Rbb2Zmc2V0Om9mZnNldCtjb3Vu
dF0gPTNEIHNvdXJjZVttYXNrLC4uLl0KKyAgICAgICAgZGVzdFtvZmZzZXQ6b2Zmc2V0K2NvdW50
XSA9M0Qgc291cmNlW21hc2ssIC4uLl0KICAgICAgICAgcmV0dXJuIGNvdW50Cj0yMAogICAgIGRl
ZiBjb3VudChzZWxmLCBzZWxlY3Rvcik6CgpkaWZmIC1yIDViYjA2MWM4ZmQwNGFhZjNmMDdkODNl
ZTI3NWMzYTU3Yjk1NjY2NGIgLXIgNzZlY2I3NGZhNjM2OGMwYzRjZmIwZmM9Cjg4ZDliNGNjNmM5
NjBjNmU1IHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0
L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5k
cy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC01NSwxMCArNTUsMTAgQEAKICAgICAg
ICAgc2VsZi5pbyA9M0QgaW9fcmVnaXN0cnlbc2VsZi5kYXRhc2V0X3R5cGVdKHNlbGYuZHMpCj0y
MAogICAgIGRlZiBfZGV0ZWN0X291dHB1dF9maWVsZHMoc2VsZik6Ci0gICAgICAgIGZ0eXBlID0z
RCAnZXhvZHVzX2lpJwotICAgICAgICBmbmFtZXMgPTNEIHNlbGYuZGF0YXNldC5wYXJhbWV0ZXJz
Wydub2RfbmFtZXMnXQotICAgICAgICBzZWxmLmZpZWxkX2xpc3QgPTNEIFsoZnR5cGUsIGZuYW1l
KSBmb3IgZm5hbWUgaW4gZm5hbWVzXQotCisgICAgICAgIGVsZW1fbmFtZXMgPTNEIHNlbGYuZGF0
YXNldC5wYXJhbWV0ZXJzWydlbGVtX25hbWVzJ10KKyAgICAgICAgc2VsZi5maWVsZF9saXN0ID0z
RCBbKCdlbGVtJywgZm5hbWUpIGZvciBmbmFtZSBpbiBlbGVtX25hbWVzXQorICAgICAgICBub2Rl
X25hbWVzID0zRCBzZWxmLmRhdGFzZXQucGFyYW1ldGVyc1snbm9kX25hbWVzJ10KKyAgICAgICAg
c2VsZi5maWVsZF9saXN0ICs9M0QgWygnbm9kZScsIGZuYW1lKSBmb3IgZm5hbWUgaW4gbm9kZV9u
YW1lc10KPTIwCiBjbGFzcyBFeG9kdXNJSURhdGFzZXQoRGF0YXNldCk6CiAgICAgX2luZGV4X2Ns
YXNzID0zRCBFeG9kdXNJSVVuc3RydWN0dXJlZEluZGV4CkBAIC03MCw3ICs3MCw3IEBACiAgICAg
ICAgICAgICAgICAgIHN0b3JhZ2VfZmlsZW5hbWU9M0ROb25lLAogICAgICAgICAgICAgICAgICB1
bml0c19vdmVycmlkZT0zRE5vbmUpOgo9MjAKLSAgICAgICAgc2VsZi5mbHVpZF90eXBlcyAgICAg
ICAgICAgICAgICs9M0QgKCdleG9kdXNfaWknLCkKKyAgICAgICAgc2VsZi5mbHVpZF90eXBlcyAg
ICAgICAgICAgICAgICs9M0QgKCdlbGVtJywgJ25vZGUnKQogICAgICAgICBzZWxmLnBhcmFtZXRl
cl9maWxlbmFtZSAgICAgICAgID0zRCBmaWxlbmFtZQogICAgICAgICBEYXRhc2V0Ll9faW5pdF9f
KHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0X3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5pdHNfb3ZlcnJpZGUgPTNEIHVuaXRzX292ZXJyaWRlKQpAQCAtOTksNyArOTksNyBAQAogICAg
ICAgICBzZWxmLnVuaXF1ZV9pZGVudGlmaWVyICAgICAgICAgID0zRCBzZWxmLl9nZXRfdW5pcXVl
X2lkZW50aWZpZXIoKQogICAgICAgICBzZWxmLmN1cnJlbnRfdGltZSAgICAgICAgICAgICAgID0z
RCBzZWxmLl9nZXRfY3VycmVudF90aW1lKCkKICAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydudW1f
bWVzaGVzJ10gICA9M0Qgc2VsZi5wYXJhbWV0ZXJzWydlYl9zdGF0dXMnXS5zPQpoYXBlWzBdCi0g
ICAgICAgIHNlbGYucGFyYW1ldGVyc1sndmFyX25hbWVzJ10gICAgPTNEIHNlbGYuX2dldF92YXJf
bmFtZXMoKQorICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2VsZW1fbmFtZXMnXSAgID0zRCBzZWxm
Ll9nZXRfZWxlbV9uYW1lcygpCiAgICAgICAgIHNlbGYucGFyYW1ldGVyc1snbm9kX25hbWVzJ10g
ICAgPTNEIHNlbGYuX2dldF9ub2RfbmFtZXMoKQogICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ2Nv
b3JkaW5hdGVzJ10gID0zRCBzZWxmLl9sb2FkX2Nvb3JkaW5hdGVzKCkKICAgICAgICAgc2VsZi5w
YXJhbWV0ZXJzWydjb25uZWN0aXZpdHknXSA9M0Qgc2VsZi5fbG9hZF9jb25uZWN0aXZpdHkoKQpA
QCAtMTY5LDcgKzE2OSw3IEBACiAgICAgICAgICAgICBteWxvZy53YXJuaW5nKCJuYW1lX2dsb192
YXIgbm90IGZvdW5kIikKICAgICAgICAgICAgIHJldHVybiBbXQo9MjAKLSAgICBkZWYgX2dldF92
YXJfbmFtZXMoc2VsZik6CisgICAgZGVmIF9nZXRfZWxlbV9uYW1lcyhzZWxmKToKICAgICAgICAg
IiIiCiAgICAgICAgIFJldHVybnMgdGhlIG5hbWVzIG9mIHRoZSBlbGVtZW50IHZhcnMsIGlmIGF2
YWlsYWJsZQogICAgICAgICAiIiIKQEAgLTIyOCw4ICsyMjgsOCBAQAogICAgICAgICAgICAgY2kg
PTNEIHNlbGYucGFyYW1ldGVyc1snY29ubmVjdGl2aXR5J11baV0KICAgICAgICAgICAgIHZhbHMg
PTNEIHt9Cj0yMAotICAgICAgICAgICAgZm9yIGosIHZhcl9uYW1lIGluIGVudW1lcmF0ZShzZWxm
LnBhcmFtZXRlcnNbJ3Zhcl9uYW1lcyddKToKLSAgICAgICAgICAgICAgICB2YWxzWydnYXMnLCB2
YXJfbmFtZV0gPTNEIHNlbGYucGFyYW1ldGVyc1sidmFsc19lbGVtX3ZhciVzPQplYiVzIiAlIChq
KzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQorICAgICAgICAgICAgZm9yIGosIGVsZW1f
bmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5wYXJhbWV0ZXJzWydlbGVtX25hbWVzJ10pOgorICAgICAg
ICAgICAgICAgIHZhbHNbJ2dhcycsIGVsZW1fbmFtZV0gPTNEIHNlbGYucGFyYW1ldGVyc1sidmFs
c19lbGVtX3ZhciU9CnNlYiVzIiAlIChqKzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVstMSw6XQo9
MjAKICAgICAgICAgICAgIGZvciBqLCBub2RfbmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5wYXJhbWV0
ZXJzWydub2RfbmFtZXMnXSk6CiAgICAgICAgICAgICAgICAgIyBXZSB3YW50IGp1c3QgZm9yIHRo
aXMgc2V0IG9mIG5vZGVzIGFsbCB0aGUgbm9kZSB2YXJpYWJsZXMKCmRpZmYgLXIgNWJiMDYxYzhm
ZDA0YWFmM2YwN2Q4M2VlMjc1YzNhNTdiOTU2NjY0YiAtciA3NmVjYjc0ZmE2MzY4YzBjNGNmYjBm
Yz0KODhkOWI0Y2M2Yzk2MGM2ZTUgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95
dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkv
aW8ucHkKQEAgLTMxLDcgKzMxLDggQEAKICAgICAgICAgZXhvZHVzX2lpX2hhbmRsZXIgPTNEIE5l
dENERjRGaWxlSGFuZGxlcihzZWxmLmZpbGVuYW1lKQogICAgICAgICBzZWxmLmhhbmRsZXIgPTNE
IGV4b2R1c19paV9oYW5kbGVyLmRhdGFzZXQKICAgICAgICAgc3VwZXIoSU9IYW5kbGVyRXhvZHVz
SUksIHNlbGYpLl9faW5pdF9fKGRzKQotICAgICAgICBzZWxmLmlvX2ZpZWxkcyA9M0QgZHMuX2dl
dF9ub2RfbmFtZXMoKQorICAgICAgICBzZWxmLm5vZGVfZmllbGRzID0zRCBkcy5fZ2V0X25vZF9u
YW1lcygpCisgICAgICAgIHNlbGYuZWxlbV9maWVsZHMgPTNEIGRzLl9nZXRfZWxlbV9uYW1lcygp
Cj0yMAogICAgIGRlZiBfcmVhZF9wYXJ0aWNsZV9jb29yZHMoc2VsZiwgY2h1bmtzLCBwdGYpOgog
ICAgICAgICBwYXNzCkBAIC02MiwxNSArNjMsMjUgQEAKICAgICAgICAgZm9yIGZpZWxkIGluIGZp
ZWxkczoKICAgICAgICAgICAgIGluZCA9M0QgMAogICAgICAgICAgICAgZnR5cGUsIGZuYW1lID0z
RCBmaWVsZAotICAgICAgICAgICAgZmllbGRfaW5kID0zRCBzZWxmLmlvX2ZpZWxkcy5pbmRleChm
bmFtZSkKLSAgICAgICAgICAgIGZkYXRhID0zRCBzZWxmLmhhbmRsZXIudmFyaWFibGVzWyd2YWxz
X25vZF92YXIlZCcgJSAoZmllbGRfaW5kPQogKyAxKV0KLSAgICAgICAgICAgIGZvciBjaHVuayBp
biBjaHVua3M6Ci0gICAgICAgICAgICAgICAgbWVzaF9pZCA9M0QgY2h1bmsub2Jqc1swXS5tZXNo
X2lkCi0gICAgICAgICAgICAgICAgY2kgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNbJ2Nvbm5l
Y3QlZCcgJSAobWVzaF9pZCArIDEpXT0KWzpdIFwKLSAgICAgICAgICAgICAgICAgICAgIC0gc2Vs
Zi5fSU5ERVhfT0ZGU0VUCi0gICAgICAgICAgICAgICAgZGF0YSA9M0QgZmRhdGFbMF1bY2ldCi0g
ICAgICAgICAgICAgICAgZm9yIGcgaW4gY2h1bmsub2JqczoKLSAgICAgICAgICAgICAgICAgICAg
aW5kICs9M0QgZy5zZWxlY3Qoc2VsZWN0b3IsIGRhdGEsIHJ2W2ZpZWxkXSwgaW5kKSAgIyBjPQph
Y2hlcworICAgICAgICAgICAgaWYgZm5hbWUgaW4gc2VsZi5ub2RlX2ZpZWxkczoKKyAgICAgICAg
ICAgICAgICBmaWVsZF9pbmQgPTNEIHNlbGYubm9kZV9maWVsZHMuaW5kZXgoZm5hbWUpCisgICAg
ICAgICAgICAgICAgZmRhdGEgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNbJ3ZhbHNfbm9kX3Zh
ciVkJyAlIChmaWVsZD0KX2luZCArIDEpXQorICAgICAgICAgICAgICAgIGZvciBjaHVuayBpbiBj
aHVua3M6CisgICAgICAgICAgICAgICAgICAgIG1lc2hfaWQgPTNEIGNodW5rLm9ianNbMF0ubWVz
aF9pZAorICAgICAgICAgICAgICAgICAgICBjaSA9M0Qgc2VsZi5oYW5kbGVyLnZhcmlhYmxlc1sn
Y29ubmVjdCVkJyAlIChtZXNoX2lkICs9CiAxKV1bOl0gXAorICAgICAgICAgICAgICAgICAgICAg
ICAgIC0gc2VsZi5fSU5ERVhfT0ZGU0VUCisgICAgICAgICAgICAgICAgICAgIGRhdGEgPTNEIGZk
YXRhWzBdW2NpXQorICAgICAgICAgICAgICAgICAgICBmb3IgZyBpbiBjaHVuay5vYmpzOgorICAg
ICAgICAgICAgICAgICAgICAgICAgaW5kICs9M0QgZy5zZWxlY3Qoc2VsZWN0b3IsIGRhdGEsIHJ2
W2ZpZWxkXSwgaW5kKSA9CiAjIGNhY2hlcworICAgICAgICAgICAgaWYgZm5hbWUgaW4gc2VsZi5l
bGVtX2ZpZWxkczoKKyAgICAgICAgICAgICAgICBmaWVsZF9pbmQgPTNEIHNlbGYuZWxlbV9maWVs
ZHMuaW5kZXgoZm5hbWUpCisgICAgICAgICAgICAgICAgZm9yIGNodW5rIGluIGNodW5rczoKKyAg
ICAgICAgICAgICAgICAgICAgbWVzaF9pZCA9M0QgY2h1bmsub2Jqc1swXS5tZXNoX2lkCisgICAg
ICAgICAgICAgICAgICAgIGZkYXRhID0zRCBzZWxmLmhhbmRsZXIudmFyaWFibGVzWyd2YWxzX2Vs
ZW1fdmFyJWRlYiVkJz0KICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChmaWVsZF9pbmQgKyAxLCBtZXNoX2lkPQogKyAxKV0KKyAgICAgICAgICAg
ICAgICAgICAgZGF0YSA9M0QgZmRhdGFbMF0KKyAgICAgICAgICAgICAgICAgICAgZm9yIGcgaW4g
Y2h1bmsub2JqczoKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZCArPTNEIGcuc2VsZWN0KHNl
bGVjdG9yLCBkYXRhLCBydltmaWVsZF0sIGluZCkgPQogIyBjYWNoZXMKICAgICAgICAgcmV0dXJu
IHJ2Cj0yMAogICAgIGRlZiBfcmVhZF9jaHVua19kYXRhKHNlbGYsIGNodW5rLCBmaWVsZHMpOgoK
ZGlmZiAtciA1YmIwNjFjOGZkMDRhYWYzZjA3ZDgzZWUyNzVjM2E1N2I5NTY2NjRiIC1yIDc2ZWNi
NzRmYTYzNjhjMGM0Y2ZiMGZjPQo4OGQ5YjRjYzZjOTYwYzZlNSB5dC91dGlsaXRpZXMvbGliL3Bp
eGVsaXphdGlvbl9yb3V0aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRp
b25fcm91dGluZXMucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRp
bmVzLnB5eApAQCAtNDQwLDcgKzQ0MCw3IEBACiAgICAgIyAgMS4gSXMgaW1hZ2UgcG9pbnQgd2l0
aGluIHRoZSBtZXNoIGJvdW5kaW5nIGJveD8KICAgICAjICAyLiBJcyBpbWFnZSBwb2ludCB3aXRo
aW4gdGhlIG1lc2ggZWxlbWVudD8KICAgICAjIFNlY29uZCBpcyBtb3JlIGludGVuc2l2ZS4gIEl0
IHdpbGwgY29udmVydGluZyB0aGUgZWxlbWVudCB2ZXJ0aWNlcyB0PQpvIHRoZQotICAgICMgbWFw
cGVkIGNvb3JkaW5hdGUgc3lzdGVtLCBhbmQgY2hlY2tpbmcgd2hldGhlciB0aGUgcmVzdWx0IGlu
IGluLWJvdW49CmRzIG9yIG5vdAorICAgICMgbWFwcGVkIGNvb3JkaW5hdGUgc3lzdGVtLCBhbmQg
Y2hlY2tpbmcgd2hldGhlciB0aGUgcmVzdWx0IGlzIGluLWJvdW49CmRzIG9yIG5vdAogICAgICMg
Tm90ZSB0aGF0IHdlIGhhdmUgdG8gaGF2ZSBhIHBzZXVkby0zRCBwaXhlbCBidWZmZXIuICBPbmUg
ZGltZW5zaW9uIHc9CmlsbAogICAgICMgYWx3YXlzIGJlIDEuCiAgICAgY2RlZiBucC5mbG9hdDY0
X3QgcExFWzNdLCBwUkVbM10KQEAgLTQ4MCw3ICs0ODAsNyBAQAogICAgICAgICAjIEZpbGwgdGhl
IHZlcnRpY2VzCiAgICAgICAgIExFWzBdID0zRCBMRVsxXSA9M0QgTEVbMl0gPTNEIDFlNjAKICAg
ICAgICAgUkVbMF0gPTNEIFJFWzFdID0zRCBSRVsyXSA9M0QgLTFlNjAKLSAgICAgICAgZm9yIG4g
aW4gcmFuZ2UobnZlcnRpY2VzKTogIyA4CisgICAgICAgIGZvciBuIGluIHJhbmdlKG52ZXJ0aWNl
cyk6CiAgICAgICAgICAgICBjaiA9M0QgY29ubltjaSwgbl0gLSBpbmRleF9vZmZzZXQKICAgICAg
ICAgICAgIGZpZWxkX3ZhbHNbbl0gPTNEIGZpZWxkW2NpLCBuXQogICAgICAgICAgICAgZm9yIGkg
aW4gcmFuZ2UoMyk6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvODA5OGQxYTYxNjBjLwpDaGFuZ2VzZXQ6ICAgODA5OGQxYTYxNjBjCkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMCAyMDoxOToyNSsw
MDowMApTdW1tYXJ5OiAgICAgbWFraW5nIGVsZW1lbnQtY2VudGVyZWQgZmllbGRzIHdvcmsgYWdh
aW4KQWZmZWN0ZWQgIzogIDQgZmlsZXMKCmRpZmYgLXIgNzZlY2I3NGZhNjM2OGMwYzRjZmIwZmM4
OGQ5YjRjYzZjOTYwYzZlNSAtciA4MDk4ZDFhNjE2MGM3ZWI2ZjMwMjYwZT0KMzNhYzA5NWNkMWIw
NmI2NTQgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhv
ZHVzX2lpL2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTU2LDcg
KzU2LDEwIEBACiAgICAgICAgIHJ2ID0zRCB7fQogICAgICAgICBmb3IgZmllbGQgaW4gZmllbGRz
OgogICAgICAgICAgICAgZnR5cGUsIGZuYW1lID0zRCBmaWVsZAotICAgICAgICAgICAgcnZbZmll
bGRdID0zRCBucC5lbXB0eSgoc2l6ZSwgbm9kZXNfcGVyX2VsZW1lbnQpLCBkdHlwZT0zRCJmbG89
CmF0NjQiKQorICAgICAgICAgICAgaWYgZm5hbWUgaW4gc2VsZi5ub2RlX2ZpZWxkczoKKyAgICAg
ICAgICAgICAgICBydltmaWVsZF0gPTNEIG5wLmVtcHR5KChzaXplLCBub2Rlc19wZXJfZWxlbWVu
dCksIGR0eXBlPTNEPQoiZmxvYXQ2NCIpCisgICAgICAgICAgICBlbGlmIGZuYW1lIGluIHNlbGYu
ZWxlbV9maWVsZHM6CisgICAgICAgICAgICAgICAgcnZbZmllbGRdID0zRCBucC5lbXB0eShzaXpl
LCBkdHlwZT0zRCJmbG9hdDY0IikKICAgICAgICAgbmdyaWRzID0zRCBzdW0obGVuKGNodW5rLm9i
anMpIGZvciBjaHVuayBpbiBjaHVua3MpCiAgICAgICAgIG15bG9nLmRlYnVnKCJSZWFkaW5nICVz
IGNlbGxzIG9mICVzIGZpZWxkcyBpbiAlcyBibG9ja3MiLAogICAgICAgICAgICAgICAgICAgICBz
aXplLCBbZm5hbWUgZm9yIGZ0eXBlLCBmbmFtZSBpbiBmaWVsZHNdLCBuZ3JpZHMpCkBAIC03MCw3
ICs3Myw3IEBACiAgICAgICAgICAgICAgICAgICAgIG1lc2hfaWQgPTNEIGNodW5rLm9ianNbMF0u
bWVzaF9pZAogICAgICAgICAgICAgICAgICAgICBjaSA9M0Qgc2VsZi5oYW5kbGVyLnZhcmlhYmxl
c1snY29ubmVjdCVkJyAlIChtZXNoX2lkICs9CiAxKV1bOl0gXAogICAgICAgICAgICAgICAgICAg
ICAgICAgIC0gc2VsZi5fSU5ERVhfT0ZGU0VUCi0gICAgICAgICAgICAgICAgICAgIGRhdGEgPTNE
IGZkYXRhWzBdW2NpXQorICAgICAgICAgICAgICAgICAgICBkYXRhID0zRCBmZGF0YVstMV1bY2ld
CiAgICAgICAgICAgICAgICAgICAgIGZvciBnIGluIGNodW5rLm9ianM6CiAgICAgICAgICAgICAg
ICAgICAgICAgICBpbmQgKz0zRCBnLnNlbGVjdChzZWxlY3RvciwgZGF0YSwgcnZbZmllbGRdLCBp
bmQpID0KICMgY2FjaGVzCiAgICAgICAgICAgICBpZiBmbmFtZSBpbiBzZWxmLmVsZW1fZmllbGRz
OgpAQCAtNzgsOCArODEsOCBAQAogICAgICAgICAgICAgICAgIGZvciBjaHVuayBpbiBjaHVua3M6
CiAgICAgICAgICAgICAgICAgICAgIG1lc2hfaWQgPTNEIGNodW5rLm9ianNbMF0ubWVzaF9pZAog
ICAgICAgICAgICAgICAgICAgICBmZGF0YSA9M0Qgc2VsZi5oYW5kbGVyLnZhcmlhYmxlc1sndmFs
c19lbGVtX3ZhciVkZWIlZCc9CiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoZmllbGRfaW5kICsgMSwgbWVzaF9pZD0KICsgMSldCi0gICAgICAg
ICAgICAgICAgICAgIGRhdGEgPTNEIGZkYXRhWzBdCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoZmllbGRfaW5kICsgMSwgbWVzaF9pZD0KICsgMSld
WzpdCisgICAgICAgICAgICAgICAgICAgIGRhdGEgPTNEIGZkYXRhWy0xLCA6XQogICAgICAgICAg
ICAgICAgICAgICBmb3IgZyBpbiBjaHVuay5vYmpzOgogICAgICAgICAgICAgICAgICAgICAgICAg
aW5kICs9M0QgZy5zZWxlY3Qoc2VsZWN0b3IsIGRhdGEsIHJ2W2ZpZWxkXSwgaW5kKSA9CiAjIGNh
Y2hlcwogICAgICAgICByZXR1cm4gcnYKCmRpZmYgLXIgNzZlY2I3NGZhNjM2OGMwYzRjZmIwZmM4
OGQ5YjRjYzZjOTYwYzZlNSAtciA4MDk4ZDFhNjE2MGM3ZWI2ZjMwMjYwZT0KMzNhYzA5NWNkMWIw
NmI2NTQgeXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVzaWFuX2Nvb3JkaW5hdGVzLnB5Ci0t
LSBhL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9jb29yZGluYXRlcy5weQorKysg
Yi95dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0ZXNpYW5fY29vcmRpbmF0ZXMucHkKQEAgLTc1
LDYgKzc1LDkgQEAKICAgICAgICAgICAgIGJvdW5kcy5pbnNlcnQoMipkaW1lbnNpb24sIGMpCiAg
ICAgICAgICAgICBib3VuZHMgPTNEIG5wLnJlc2hhcGUoYm91bmRzLCAoMywgMikpCj0yMAorICAg
ICAgICAgICAgaWYgbGVuKGZpZWxkX2RhdGEuc2hhcGUpID0zRD0zRCAxOgorICAgICAgICAgICAg
ICAgIGZpZWxkX2RhdGEgPTNEIG5wLmV4cGFuZF9kaW1zKGZpZWxkX2RhdGEsIDEpCisKICAgICAg
ICAgICAgIGltZyA9M0QgcGl4ZWxpemVfZWxlbWVudF9tZXNoKG1lc2guY29ubmVjdGl2aXR5X2Nv
b3JkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNoLmNvbm5l
Y3Rpdml0eV9pbmRpY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJ1ZmZfc2l6ZSwgZmllbGRfZGF0YSwgYm91bmRzLAoKZGlmZiAtciA3NmVjYjc0ZmE2MzY4YzBj
NGNmYjBmYzg4ZDliNGNjNmM5NjBjNmU1IC1yIDgwOThkMWE2MTYwYzdlYjZmMzAyNjBlPQozM2Fj
MDk1Y2QxYjA2YjY1NCB5dC91dGlsaXRpZXMvZXhvZHVzSUlfcmVhZGVyLnB5Ci0tLSBhL3l0L3V0
aWxpdGllcy9leG9kdXNJSV9yZWFkZXIucHkKKysrIGIveXQvdXRpbGl0aWVzL2V4b2R1c0lJX3Jl
YWRlci5weQpAQCAtMTUsOCArMTUsOCBAQAogICAgICMgSXMgdGhpcyBjb3JyZWN0PwogICAgIGV0
eXBlcyA9M0QgZnZhcnNbImViX3N0YXR1cyJdWzpdCiAgICAgbmVsZW0gPTNEIGV0eXBlcy5zaGFw
ZVswXQotIyAgICB2YXJuYW1lcyA9M0QgW3Nhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZv
ciB2IGluCi0jICAgICAgICAgICAgICAgIGZ2YXJzWyJuYW1lX2VsZW1fdmFyIl1bOl1dCisgICAg
dmFybmFtZXMgPTNEIFtzYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBmb3IgdiBpbgorICAg
ICAgICAgICAgICAgIGZ2YXJzWyJuYW1lX2VsZW1fdmFyIl1bOl1dCiAgICAgbm9kbmFtZXMgPTNE
IFtzYW5pdGl6ZV9zdHJpbmcodi50b3N0cmluZygpKSBmb3IgdiBpbgogICAgICAgICAgICAgICAg
IGZ2YXJzWyJuYW1lX25vZF92YXIiXVs6XV0KICAgICBjb29yZCA9M0QgbnAuYXJyYXkoW2Z2YXJz
WyJjb29yZCVzIiAlIGF4XVs6XQpAQCAtMjksOSArMjksOSBAQAogICAgICAgICBjaSA9M0QgY29u
bmVjdHNbLTFdCiAgICAgICAgIGNvb3Jkcy5hcHBlbmQoY29vcmQpICAjIFNhbWUgZm9yIGFsbAog
ICAgICAgICB2YWxzID0zRCB7fQotIyAgICAgICAgZm9yIGosIHYgaW4gZW51bWVyYXRlKHZhcm5h
bWVzKToKLSMgICAgICAgICAgICB2YWx1ZXMgPTNEIGZ2YXJzWyJ2YWxzX2VsZW1fdmFyJXNlYiVz
IiAlIChqKzEsIGkrMSldWzpdCi0jICAgICAgICAgICAgdmFsc1snZ2FzJywgdl0gPTNEIHZhbHVl
cy5hc3R5cGUoImY4IilbLTEsIDpdCisgICAgICAgIGZvciBqLCB2IGluIGVudW1lcmF0ZSh2YXJu
YW1lcyk6CisgICAgICAgICAgICB2YWx1ZXMgPTNEIGZ2YXJzWyJ2YWxzX2VsZW1fdmFyJXNlYiVz
IiAlIChqKzEsIGkrMSldWzpdCisgICAgICAgICAgICB2YWxzWydnYXMnLCB2XSA9M0QgdmFsdWVz
LmFzdHlwZSgiZjgiKVstMSwgOl0KICAgICAgICAgZm9yIGosIHYgaW4gZW51bWVyYXRlKG5vZG5h
bWVzKToKICAgICAgICAgICAgICMgV2Ugd2FudCBqdXN0IGZvciB0aGlzIHNldCBvZiBub2RlcyBh
bGwgdGhlIG5vZGUgdmFyaWFibGVzCiAgICAgICAgICAgICAjIFVzZSAoY2kgLSAxKSB0byBnZXQg
dGhlc2UgdmFsdWVzCgpkaWZmIC1yIDc2ZWNiNzRmYTYzNjhjMGM0Y2ZiMGZjODhkOWI0Y2M2Yzk2
MGM2ZTUgLXIgODA5OGQxYTYxNjBjN2ViNmYzMDI2MGU9CjMzYWMwOTVjZDFiMDZiNjU0IHl0L3V0
aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eAotLS0gYS95dC91dGlsaXRpZXMv
bGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9waXhl
bGl6YXRpb25fcm91dGluZXMucHl4CkBAIC00NTIsNiArNDUyLDcgQEAKICAgICBjZGVmIG5wLmZs
b2F0NjRfdCAqdmVydGljZXMKICAgICBjZGVmIG5wLmZsb2F0NjRfdCAqZmllbGRfdmFscwogICAg
IGNkZWYgaW50IG52ZXJ0aWNlcyA9M0QgY29ubi5zaGFwZVsxXQorICAgIGNkZWYgaW50IG51bV9m
aWVsZF92YWxzPTIwCiAgICAgY2RlZiBkb3VibGUqIG1hcHBlZF9jb29yZAogICAgIGNkZWYgRWxl
bWVudFNhbXBsZXIgc2FtcGxlcgo9MjAKQEAgLTQ2Niw3ICs0NjcsOSBAQAogICAgICAgICByYWlz
ZSBSdW50aW1lRXJyb3IKPTIwCiAgICAgdmVydGljZXMgPTNEIDxucC5mbG9hdDY0X3QgKj4gYWxs
b2NhKDMgKiBzaXplb2YobnAuZmxvYXQ2NF90KSAqIG52ZXJ0aT0KY2VzKQotICAgIGZpZWxkX3Zh
bHMgPTNEIDxucC5mbG9hdDY0X3QgKj4gYWxsb2NhKHNpemVvZihucC5mbG9hdDY0X3QpICogbnZl
cnRpY2U9CnMpCisgICA9MjAKKyAgICBudW1fZmllbGRfdmFscyA9M0QgZmllbGQuc2hhcGVbMV0K
KyAgICBmaWVsZF92YWxzID0zRCA8bnAuZmxvYXQ2NF90ICo+IGFsbG9jYShzaXplb2YobnAuZmxv
YXQ2NF90KSAqIG51bV9maWVsPQpkX3ZhbHMpCj0yMAogICAgIGZvciBpIGluIHJhbmdlKDMpOgog
ICAgICAgICBwTEVbaV0gPTNEIGV4dGVudHNbaV1bMF0KQEAgLTQ3NiwxMyArNDc5LDE4IEBACiAg
ICAgICAgICAgICBpZGRzW2ldID0zRCAwLjAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlk
ZHNbaV0gPTNEIDEuMCAvIGRkc1tpXQorCiAgICAgZm9yIGNpIGluIHJhbmdlKGNvbm4uc2hhcGVb
MF0pOgorCiAgICAgICAgICMgRmlsbCB0aGUgdmVydGljZXMKICAgICAgICAgTEVbMF0gPTNEIExF
WzFdID0zRCBMRVsyXSA9M0QgMWU2MAogICAgICAgICBSRVswXSA9M0QgUkVbMV0gPTNEIFJFWzJd
ID0zRCAtMWU2MAorCisgICAgICAgIGZvciBuIGluIHJhbmdlKG51bV9maWVsZF92YWxzKToKKyAg
ICAgICAgICAgIGZpZWxkX3ZhbHNbbl0gPTNEIGZpZWxkW2NpLCBuXQorCiAgICAgICAgIGZvciBu
IGluIHJhbmdlKG52ZXJ0aWNlcyk6CiAgICAgICAgICAgICBjaiA9M0QgY29ubltjaSwgbl0gLSBp
bmRleF9vZmZzZXQKLSAgICAgICAgICAgIGZpZWxkX3ZhbHNbbl0gPTNEIGZpZWxkW2NpLCBuXQog
ICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6CiAgICAgICAgICAgICAgICAgdmVydGljZXNb
MypuICsgaV0gPTNEIGNvb3Jkc1tjaiwgaV0KICAgICAgICAgICAgICAgICBMRVtpXSA9M0QgZm1p
bihMRVtpXSwgdmVydGljZXNbMypuK2ldKQpAQCAtNTExLDcgKzUxOSw5IEBACiAgICAgICAgICAg
ICAgICAgICAgIGlmIG5vdCBzYW1wbGVyLmNoZWNrX2luc2lkZShtYXBwZWRfY29vcmQpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICAgIyBFbHNl
LCB3ZSBkZXBvc2l0IQotICAgICAgICAgICAgICAgICAgICBpbWdbcGksIHBqLCBwa10gPTNEIHNh
bXBsZXIuc2FtcGxlX2F0X3VuaXRfcG9pbnQobWFwcGU9CmRfY29vcmQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmll
bGRfdj0KYWxzKQotCisgICAgICAgICAgICAgICAgICAgIGlmIChudW1fZmllbGRfdmFscyA9M0Q9
M0QgMSk6CisgICAgICAgICAgICAgICAgICAgICAgICBpbWdbcGksIHBqLCBwa10gPTNEIGZpZWxk
X3ZhbHNbMF0KKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGltZ1twaSwgcGosIHBrXSA9M0Qgc2FtcGxlci5zYW1wbGVfYXRfdW5pdF9wb2ludChtPQph
cHBlZF9jb29yZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllPQpsZF92YWxzKQogICAgIHJldHVybiBpbWcK
CgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy8yYzZkNDU2MGQ3
YzAvCkNoYW5nZXNldDogICAyYzZkNDU2MGQ3YzAKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAg
ICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTIwIDIxOjQ1OjEzKzAwOjAwClN1bW1hcnk6
ICAgICBkb24ndCBoYXJkIGNvZGUgdGhlIG9mZnNldCBoZXJlCkFmZmVjdGVkICM6ICAxIGZpbGUK
CmRpZmYgLXIgODA5OGQxYTYxNjBjN2ViNmYzMDI2MGUzM2FjMDk1Y2QxYjA2YjY1NCAtciAyYzZk
NDU2MGQ3YzA4MTMzNGQ5N2JlYz0KZGNiMjQ3NzUzYjFhYWZhYmYgeXQvZ2VvbWV0cnkvY29vcmRp
bmF0ZXMvY2FydGVzaWFuX2Nvb3JkaW5hdGVzLnB5Ci0tLSBhL3l0L2dlb21ldHJ5L2Nvb3JkaW5h
dGVzL2NhcnRlc2lhbl9jb29yZGluYXRlcy5weQorKysgYi95dC9nZW9tZXRyeS9jb29yZGluYXRl
cy9jYXJ0ZXNpYW5fY29vcmRpbmF0ZXMucHkKQEAgLTY1LDcgKzY1LDcgQEAKICAgICAgICAgaW5k
ZXggPTNEIGRhdGFfc291cmNlLmRzLmluZGV4CiAgICAgICAgIGlmIGhhc2F0dHIoaW5kZXgsICdt
ZXNoZXMnKTogICMgdW5zdHJ1Y3R1cmVkIG1lc2ggZGF0YXNldAogICAgICAgICAgICAgbWVzaCA9
M0QgaW5kZXgubWVzaGVzWzBdCi0gICAgICAgICAgICBvZmZzZXQgPTNEIDEKKyAgICAgICAgICAg
IG9mZnNldCA9M0QgaW5kZXguaW8uX0lOREVYX09GRlNFVAogICAgICAgICAgICAgYWQgPTNEIGRh
dGFfc291cmNlLmRzLmFsbF9kYXRhKCkKICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIGFkW2Zp
ZWxkXQogICAgICAgICAgICAgYnVmZl9zaXplID0zRCBzaXplWzA6ZGltZW5zaW9uXSArICgxLCkg
KyBzaXplW2RpbWVuc2lvbjpdCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L2NvbW1pdHMvNTVhN2EwM2VlMjUxLwpDaGFuZ2VzZXQ6ICAgNTVhN2EwM2VlMjUxCkJyYW5jaDog
ICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMCAyMTo0
NTo0NSswMDowMApTdW1tYXJ5OiAgICAgYWRkIGEgc3RlcCBhdHRyaWJ1dGUgdG8gRXhvZHVzSUlE
YXRhU2V0IGZvciBsb2FkaW5nIGRpZmZlcmVudCA9CnRpbWVzCkFmZmVjdGVkICM6ICAyIGZpbGVz
CgpkaWZmIC1yIDJjNmQ0NTYwZDdjMDgxMzM0ZDk3YmVjZGNiMjQ3NzUzYjFhYWZhYmYgLXIgNTVh
N2EwM2VlMjUxODdlNjY0NWNkOWM9CjU0MDFjMzM1YWQyMzc0NDdjIHl0L2Zyb250ZW5kcy9leG9k
dXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0
YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1
cmVzLnB5CkBAIC02MCwxMiArNjAsMTQgQEAKICAgICAgICAgbm9kZV9uYW1lcyA9M0Qgc2VsZi5k
YXRhc2V0LnBhcmFtZXRlcnNbJ25vZF9uYW1lcyddCiAgICAgICAgIHNlbGYuZmllbGRfbGlzdCAr
PTNEIFsoJ25vZGUnLCBmbmFtZSkgZm9yIGZuYW1lIGluIG5vZGVfbmFtZXNdCj0yMAorCiBjbGFz
cyBFeG9kdXNJSURhdGFzZXQoRGF0YXNldCk6CiAgICAgX2luZGV4X2NsYXNzID0zRCBFeG9kdXNJ
SVVuc3RydWN0dXJlZEluZGV4CiAgICAgX2ZpZWxkX2luZm9fY2xhc3MgPTNEIEV4b2R1c0lJRmll
bGRJbmZvCj0yMAogICAgIGRlZiBfX2luaXRfXyhzZWxmLAogICAgICAgICAgICAgICAgICBmaWxl
bmFtZSwKKyAgICAgICAgICAgICAgICAgc3RlcD0zRDAsCiAgICAgICAgICAgICAgICAgIGRhdGFz
ZXRfdHlwZT0zRCdleG9kdXNfaWknLAogICAgICAgICAgICAgICAgICBzdG9yYWdlX2ZpbGVuYW1l
PTNETm9uZSwKICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0ROb25lKToKQEAgLTc2
LDYgKzc4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0c19vdmVycmlkZSA9M0Qg
dW5pdHNfb3ZlcnJpZGUpCiAgICAgICAgIHNlbGYuaW5kZXhfZmlsZW5hbWUgICAgICAgICAgICAg
PTNEIGZpbGVuYW1lCiAgICAgICAgIHNlbGYuc3RvcmFnZV9maWxlbmFtZSAgICAgICAgICAgPTNE
IHN0b3JhZ2VfZmlsZW5hbWUKKyAgICAgICAgc2VsZi5zdGVwID0zRCBzdGVwCj0yMAogICAgIGRl
ZiBfc2V0X2NvZGVfdW5pdF9hdHRyaWJ1dGVzKHNlbGYpOgogICAgICAgICAjIFRoaXMgaXMgd2hl
cmUgcXVhbnRpdGllcyBhcmUgY3JlYXRlZCB0aGF0IHJlcHJlc2VudCB0aGUgdmFyaW91cwpAQCAt
MTE0LDYgKzExNyw3IEBACiAgICAgICAgIHNlbGYub21lZ2FfbWF0dGVyICAgICAgICAgICAgICAg
PTNEIDAKICAgICAgICAgc2VsZi5odWJibGVfY29uc3RhbnQgICAgICAgICAgICA9M0QgMAogICAg
ICAgICBzZWxmLnJlZmluZV9ieSAgICAgICAgICAgICAgICAgID0zRCAwCisgICAgICAgIHNlbGYu
bnVtX3N0ZXBzICAgICAgICAgICAgICAgICAgPTNEIGxlbihzZWxmLnBhcmFtZXRlcnNbJ3RpbWVf
d2hvbD0KZSddKQo9MjAKICAgICBkZWYgX2xvYWRfdmFyaWFibGVzKHNlbGYpOgogICAgICAgICAi
IiIKCmRpZmYgLXIgMmM2ZDQ1NjBkN2MwODEzMzRkOTdiZWNkY2IyNDc3NTNiMWFhZmFiZiAtciA1
NWE3YTAzZWUyNTE4N2U2NjQ1Y2Q5Yz0KNTQwMWMzMzVhZDIzNzQ0N2MgeXQvZnJvbnRlbmRzL2V4
b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5CisrKyBiL3l0
L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTczLDcgKzczLDcgQEAKICAgICAgICAgICAg
ICAgICAgICAgbWVzaF9pZCA9M0QgY2h1bmsub2Jqc1swXS5tZXNoX2lkCiAgICAgICAgICAgICAg
ICAgICAgIGNpID0zRCBzZWxmLmhhbmRsZXIudmFyaWFibGVzWydjb25uZWN0JWQnICUgKG1lc2hf
aWQgKz0KIDEpXVs6XSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBzZWxmLl9JTkRFWF9P
RkZTRVQKLSAgICAgICAgICAgICAgICAgICAgZGF0YSA9M0QgZmRhdGFbLTFdW2NpXQorICAgICAg
ICAgICAgICAgICAgICBkYXRhID0zRCBmZGF0YVtzZWxmLmRzLnN0ZXBdW2NpXQogICAgICAgICAg
ICAgICAgICAgICBmb3IgZyBpbiBjaHVuay5vYmpzOgogICAgICAgICAgICAgICAgICAgICAgICAg
aW5kICs9M0QgZy5zZWxlY3Qoc2VsZWN0b3IsIGRhdGEsIHJ2W2ZpZWxkXSwgaW5kKSA9CiAjIGNh
Y2hlcwogICAgICAgICAgICAgaWYgZm5hbWUgaW4gc2VsZi5lbGVtX2ZpZWxkczoKQEAgLTgyLDcg
KzgyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgbWVzaF9pZCA9M0QgY2h1bmsub2Jqc1swXS5t
ZXNoX2lkCiAgICAgICAgICAgICAgICAgICAgIGZkYXRhID0zRCBzZWxmLmhhbmRsZXIudmFyaWFi
bGVzWyd2YWxzX2VsZW1fdmFyJWRlYiVkJz0KICUKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZF9pbmQgKyAxLCBtZXNoX2lkPQogKyAxKV1b
Ol0KLSAgICAgICAgICAgICAgICAgICAgZGF0YSA9M0QgZmRhdGFbLTEsIDpdCisgICAgICAgICAg
ICAgICAgICAgIGRhdGEgPTNEIGZkYXRhW3NlbGYuZHMuc3RlcCwgOl0KICAgICAgICAgICAgICAg
ICAgICAgZm9yIGcgaW4gY2h1bmsub2JqczoKICAgICAgICAgICAgICAgICAgICAgICAgIGluZCAr
PTNEIGcuc2VsZWN0KHNlbGVjdG9yLCBkYXRhLCBydltmaWVsZF0sIGluZCkgPQogIyBjYWNoZXMK
ICAgICAgICAgcmV0dXJuIHJ2CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L2NvbW1pdHMvNzBiMWUwZDk5MzI0LwpDaGFuZ2VzZXQ6ICAgNzBiMWUwZDk5MzI0CkJyYW5jaDog
ICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMCAyMjo0
Mzo1NCswMDowMApTdW1tYXJ5OiAgICAgcHV0dGluZyBzZXBhcmF0ZSBtZXNoZXMgaW50byBkaXN0
aW5jdCBmaWVsZHMgc28gdGhleSBjYW4gYmUgYW49CmFseXplZCBzZXBhcmF0ZWx5IGlmIGRlc2ly
ZWQKQWZmZWN0ZWQgIzogIDMgZmlsZXMKCmRpZmYgLXIgNTVhN2EwM2VlMjUxODdlNjY0NWNkOWM1
NDAxYzMzNWFkMjM3NDQ3YyAtciA3MGIxZTBkOTkzMjQzYWUyZDU2NGVmOT0KNTQ5ZTE0YWZhM2Rl
NjliNmMgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQv
ZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRz
L2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAgLTQyLDYgKzQyLDcgQEAKIGNsYXNzIEV4
b2R1c0lJVW5zdHJ1Y3R1cmVkSW5kZXgoVW5zdHJ1Y3R1cmVkSW5kZXgpOgogICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBkcywgZGF0YXNldF90eXBlID0zRCAnZXhvZHVzX2lpJyk6CiAgICAgICAgIHN1
cGVyKEV4b2R1c0lJVW5zdHJ1Y3R1cmVkSW5kZXgsIHNlbGYpLl9faW5pdF9fKGRzLCBkYXRhc2V0
X3R5cGUpCisgICAgICAgICMgZG9lc24ndCB0aGlzIG1lYW4gd2UgY2FuJ3QgaGF2ZSBkaWZmZXJl
bnQgbWVzaCB0eXBlcyBpbiBhIHNpbmdsZT0KIGluZGV4PwogICAgICAgICBzZWxmLl9jb25uZWN0
aXZpdHlfbGVuZ3RoID0zRCBzZWxmLm1lc2hlc1swXS5jb25uZWN0aXZpdHlfaW5kaWNlcy49CnNo
YXBlWzFdCj0yMAogICAgIGRlZiBfaW5pdGlhbGl6ZV9tZXNoKHNlbGYpOgpAQCAtNTYsOSArNTcs
MTEgQEAKPTIwCiAgICAgZGVmIF9kZXRlY3Rfb3V0cHV0X2ZpZWxkcyhzZWxmKToKICAgICAgICAg
ZWxlbV9uYW1lcyA9M0Qgc2VsZi5kYXRhc2V0LnBhcmFtZXRlcnNbJ2VsZW1fbmFtZXMnXQotICAg
ICAgICBzZWxmLmZpZWxkX2xpc3QgPTNEIFsoJ2VsZW0nLCBmbmFtZSkgZm9yIGZuYW1lIGluIGVs
ZW1fbmFtZXNdCiAgICAgICAgIG5vZGVfbmFtZXMgPTNEIHNlbGYuZGF0YXNldC5wYXJhbWV0ZXJz
Wydub2RfbmFtZXMnXQotICAgICAgICBzZWxmLmZpZWxkX2xpc3QgKz0zRCBbKCdub2RlJywgZm5h
bWUpIGZvciBmbmFtZSBpbiBub2RlX25hbWVzXQorICAgICAgICBmbmFtZXMgPTNEIGVsZW1fbmFt
ZXMgKyBub2RlX25hbWVzCisgICAgICAgIHNlbGYuZmllbGRfbGlzdCA9M0QgW10KKyAgICAgICAg
Zm9yIGkgaW4gcmFuZ2UoMSwgbGVuKHNlbGYubWVzaGVzKSsxKToKKyAgICAgICAgICAgIHNlbGYu
ZmllbGRfbGlzdCArPTNEIFsoJ2Nvbm5lY3QlZCcgJSBpLCBmbmFtZSkgZm9yIGZuYW1lIGluIGZu
PQphbWVzXQo9MjAKPTIwCiBjbGFzcyBFeG9kdXNJSURhdGFzZXQoRGF0YXNldCk6CkBAIC03Miwx
MyArNzUsMTMgQEAKICAgICAgICAgICAgICAgICAgc3RvcmFnZV9maWxlbmFtZT0zRE5vbmUsCiAg
ICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlPTNETm9uZSk6Cj0yMAotICAgICAgICBzZWxm
LmZsdWlkX3R5cGVzICAgICAgICAgICAgICAgKz0zRCAoJ2VsZW0nLCAnbm9kZScpCisgICAgICAg
IHNlbGYuZmx1aWRfdHlwZXMgICAgICAgICAgICAgICArPTNEICgnY29ubmVjdDEnLCAnY29ubmVj
dDInKQogICAgICAgICBzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSAgICAgICAgID0zRCBmaWxlbmFt
ZQogICAgICAgICBEYXRhc2V0Ll9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0X3R5cGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGUgPTNEIHVuaXRzX292ZXJy
aWRlKQogICAgICAgICBzZWxmLmluZGV4X2ZpbGVuYW1lICAgICAgICAgICAgID0zRCBmaWxlbmFt
ZQogICAgICAgICBzZWxmLnN0b3JhZ2VfZmlsZW5hbWUgICAgICAgICAgID0zRCBzdG9yYWdlX2Zp
bGVuYW1lCi0gICAgICAgIHNlbGYuc3RlcCA9M0Qgc3RlcAorICAgICAgICBzZWxmLnN0ZXAgICAg
ICAgICAgICAgICAgICAgICAgID0zRCBzdGVwCj0yMAogICAgIGRlZiBfc2V0X2NvZGVfdW5pdF9h
dHRyaWJ1dGVzKHNlbGYpOgogICAgICAgICAjIFRoaXMgaXMgd2hlcmUgcXVhbnRpdGllcyBhcmUg
Y3JlYXRlZCB0aGF0IHJlcHJlc2VudCB0aGUgdmFyaW91cwoKZGlmZiAtciA1NWE3YTAzZWUyNTE4
N2U2NjQ1Y2Q5YzU0MDFjMzM1YWQyMzc0NDdjIC1yIDcwYjFlMGQ5OTMyNDNhZTJkNTY0ZWY5PQo1
NDllMTRhZmEzZGU2OWI2YyB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2lvLnB5Ci0tLSBhL3l0L2Zy
b250ZW5kcy9leG9kdXNfaWkvaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5w
eQpAQCAtNDcsNDQgKzQ3LDM1IEBACiAgICAgICAgICMgZGljdCBnZXRzIHJldHVybmVkIGF0IHRo
ZSBlbmQgYW5kIGl0IHNob3VsZCBiZSBmbGF0LCB3aXRoIHNlbGVjdD0KZWQKICAgICAgICAgIyBk
YXRhLiAgTm90ZSB0aGF0IGlmIHlvdSdyZSByZWFkaW5nIGdyaWQgZGF0YSwgeW91IG1pZ2h0IG5l
ZWQgdG8KICAgICAgICAgIyBzcGVjaWFsLWNhc2UgYSBncmlkIHNlbGVjdG9yIG9iamVjdC4KLSAg
ICAgICAgY2h1bmtzID0zRCBsaXN0KGNodW5rcykgICMgY2h1bmtzIGluIHRoaXMgY2FzZSBjb3Jy
ZXNwb25kIHRvIG1lc2hfPQppZCBvciBzbGljZXMgaW4gdGhlIEV4b2R1c0lJIGRhdGEKLSAgICAg
ICAgY2h1bmsgPTNEIGNodW5rc1swXQotICAgICAgICBtZXNoX2lkID0zRCBjaHVuay5vYmpzWzBd
Lm1lc2hfaWQKLSAgICAgICAgY2kgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNbJ2Nvbm5lY3Ql
ZCcgJSAobWVzaF9pZCArIDEpXVs6XSBcCi0gICAgICAgICAgICAgLSBzZWxmLl9JTkRFWF9PRkZT
RVQKLSAgICAgICAgbm9kZXNfcGVyX2VsZW1lbnQgPTNEIGNpLnNoYXBlWzFdCisgICAgICAgIGNo
dW5rcyA9M0QgbGlzdChjaHVua3MpCiAgICAgICAgIHJ2ID0zRCB7fQogICAgICAgICBmb3IgZmll
bGQgaW4gZmllbGRzOgogICAgICAgICAgICAgZnR5cGUsIGZuYW1lID0zRCBmaWVsZAorICAgICAg
ICAgICAgY2kgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNbZnR5cGVdWzpdIC0gc2VsZi5fSU5E
RVhfT0ZGU0VUCiAgICAgICAgICAgICBpZiBmbmFtZSBpbiBzZWxmLm5vZGVfZmllbGRzOgorICAg
ICAgICAgICAgICAgIG5vZGVzX3Blcl9lbGVtZW50ID0zRCBjaS5zaGFwZVsxXQogICAgICAgICAg
ICAgICAgIHJ2W2ZpZWxkXSA9M0QgbnAuZW1wdHkoKHNpemUsIG5vZGVzX3Blcl9lbGVtZW50KSwg
ZHR5cGU9M0Q9CiJmbG9hdDY0IikKICAgICAgICAgICAgIGVsaWYgZm5hbWUgaW4gc2VsZi5lbGVt
X2ZpZWxkczoKICAgICAgICAgICAgICAgICBydltmaWVsZF0gPTNEIG5wLmVtcHR5KHNpemUsIGR0
eXBlPTNEImZsb2F0NjQiKQotICAgICAgICBuZ3JpZHMgPTNEIHN1bShsZW4oY2h1bmsub2Jqcykg
Zm9yIGNodW5rIGluIGNodW5rcykKLSAgICAgICAgbXlsb2cuZGVidWcoIlJlYWRpbmcgJXMgY2Vs
bHMgb2YgJXMgZmllbGRzIGluICVzIGJsb2NrcyIsCi0gICAgICAgICAgICAgICAgICAgIHNpemUs
IFtmbmFtZSBmb3IgZnR5cGUsIGZuYW1lIGluIGZpZWxkc10sIG5ncmlkcykKICAgICAgICAgZm9y
IGZpZWxkIGluIGZpZWxkczoKICAgICAgICAgICAgIGluZCA9M0QgMAogICAgICAgICAgICAgZnR5
cGUsIGZuYW1lID0zRCBmaWVsZAorICAgICAgICAgICAgbWVzaF9pZCA9M0QgaW50KGZ0eXBlWy0x
XSkKKyAgICAgICAgICAgIGNodW5rID0zRCBjaHVua3NbbWVzaF9pZCAtIDFdCisgICAgICAgICAg
ICBjaSA9M0Qgc2VsZi5oYW5kbGVyLnZhcmlhYmxlc1tmdHlwZV1bOl0gLSBzZWxmLl9JTkRFWF9P
RkZTRVQKICAgICAgICAgICAgIGlmIGZuYW1lIGluIHNlbGYubm9kZV9maWVsZHM6CiAgICAgICAg
ICAgICAgICAgZmllbGRfaW5kID0zRCBzZWxmLm5vZGVfZmllbGRzLmluZGV4KGZuYW1lKQogICAg
ICAgICAgICAgICAgIGZkYXRhID0zRCBzZWxmLmhhbmRsZXIudmFyaWFibGVzWyd2YWxzX25vZF92
YXIlZCcgJSAoZmllbGQ9Cl9pbmQgKyAxKV0KLSAgICAgICAgICAgICAgICBmb3IgY2h1bmsgaW4g
Y2h1bmtzOgotICAgICAgICAgICAgICAgICAgICBtZXNoX2lkID0zRCBjaHVuay5vYmpzWzBdLm1l
c2hfaWQKLSAgICAgICAgICAgICAgICAgICAgY2kgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNb
J2Nvbm5lY3QlZCcgJSAobWVzaF9pZCArPQogMSldWzpdIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAtIHNlbGYuX0lOREVYX09GRlNFVAotICAgICAgICAgICAgICAgICAgICBkYXRhID0zRCBm
ZGF0YVtzZWxmLmRzLnN0ZXBdW2NpXQotICAgICAgICAgICAgICAgICAgICBmb3IgZyBpbiBjaHVu
ay5vYmpzOgotICAgICAgICAgICAgICAgICAgICAgICAgaW5kICs9M0QgZy5zZWxlY3Qoc2VsZWN0
b3IsIGRhdGEsIHJ2W2ZpZWxkXSwgaW5kKSA9CiAjIGNhY2hlcworICAgICAgICAgICAgICAgIGRh
dGEgPTNEIGZkYXRhW3NlbGYuZHMuc3RlcF1bY2ldCisgICAgICAgICAgICAgICAgZm9yIGcgaW4g
Y2h1bmsub2JqczoKKyAgICAgICAgICAgICAgICAgICAgaW5kICs9M0QgZy5zZWxlY3Qoc2VsZWN0
b3IsIGRhdGEsIHJ2W2ZpZWxkXSwgaW5kKSAgIyBjPQphY2hlcwogICAgICAgICAgICAgaWYgZm5h
bWUgaW4gc2VsZi5lbGVtX2ZpZWxkczoKICAgICAgICAgICAgICAgICBmaWVsZF9pbmQgPTNEIHNl
bGYuZWxlbV9maWVsZHMuaW5kZXgoZm5hbWUpCi0gICAgICAgICAgICAgICAgZm9yIGNodW5rIGlu
IGNodW5rczoKLSAgICAgICAgICAgICAgICAgICAgbWVzaF9pZCA9M0QgY2h1bmsub2Jqc1swXS5t
ZXNoX2lkCi0gICAgICAgICAgICAgICAgICAgIGZkYXRhID0zRCBzZWxmLmhhbmRsZXIudmFyaWFi
bGVzWyd2YWxzX2VsZW1fdmFyJWRlYiVkJz0KICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZF9pbmQgKyAxLCBtZXNoX2lkPQogKyAxKV1b
Ol0KLSAgICAgICAgICAgICAgICAgICAgZGF0YSA9M0QgZmRhdGFbc2VsZi5kcy5zdGVwLCA6XQot
ICAgICAgICAgICAgICAgICAgICBmb3IgZyBpbiBjaHVuay5vYmpzOgotICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kICs9M0QgZy5zZWxlY3Qoc2VsZWN0b3IsIGRhdGEsIHJ2W2ZpZWxkXSwgaW5k
KSA9CiAjIGNhY2hlcworICAgICAgICAgICAgICAgIGZkYXRhID0zRCBzZWxmLmhhbmRsZXIudmFy
aWFibGVzWyd2YWxzX2VsZW1fdmFyJWRlYiVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChmaWVsZF9pbmQgKyAxLCBtZXNoX2lkKV1bOl0KKyAgICAg
ICAgICAgICAgICBkYXRhID0zRCBmZGF0YVtzZWxmLmRzLnN0ZXAsIDpdCisgICAgICAgICAgICAg
ICAgZm9yIGcgaW4gY2h1bmsub2JqczoKKyAgICAgICAgICAgICAgICAgICAgaW5kICs9M0QgZy5z
ZWxlY3Qoc2VsZWN0b3IsIGRhdGEsIHJ2W2ZpZWxkXSwgaW5kKSAgIyBjPQphY2hlcwogICAgICAg
ICByZXR1cm4gcnYKPTIwCiAgICAgZGVmIF9yZWFkX2NodW5rX2RhdGEoc2VsZiwgY2h1bmssIGZp
ZWxkcyk6CgpkaWZmIC1yIDU1YTdhMDNlZTI1MTg3ZTY2NDVjZDljNTQwMWMzMzVhZDIzNzQ0N2Mg
LXIgNzBiMWUwZDk5MzI0M2FlMmQ1NjRlZjk9CjU0OWUxNGFmYTNkZTY5YjZjIHl0L2dlb21ldHJ5
L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9jb29yZGluYXRlcy5weQotLS0gYS95dC9nZW9tZXRyeS9j
b29yZGluYXRlcy9jYXJ0ZXNpYW5fY29vcmRpbmF0ZXMucHkKKysrIGIveXQvZ2VvbWV0cnkvY29v
cmRpbmF0ZXMvY2FydGVzaWFuX2Nvb3JkaW5hdGVzLnB5CkBAIC02NCw3ICs2NCw5IEBACiAgICAg
ICAgICAgICAgICAgIGFudGlhbGlhcyA9M0QgVHJ1ZSwgcGVyaW9kaWMgPTNEIFRydWUpOgogICAg
ICAgICBpbmRleCA9M0QgZGF0YV9zb3VyY2UuZHMuaW5kZXgKICAgICAgICAgaWYgaGFzYXR0cihp
bmRleCwgJ21lc2hlcycpOiAgIyB1bnN0cnVjdHVyZWQgbWVzaCBkYXRhc2V0Ci0gICAgICAgICAg
ICBtZXNoID0zRCBpbmRleC5tZXNoZXNbMF0KKyAgICAgICAgICAgIGZ0eXBlLCBmbmFtZSA9M0Qg
ZmllbGQKKyAgICAgICAgICAgIG1lc2hfaWQgPTNEIGludChmdHlwZVstMV0pIC0gMQorICAgICAg
ICAgICAgbWVzaCA9M0QgaW5kZXgubWVzaGVzW21lc2hfaWRdCiAgICAgICAgICAgICBvZmZzZXQg
PTNEIGluZGV4LmlvLl9JTkRFWF9PRkZTRVQKICAgICAgICAgICAgIGFkID0zRCBkYXRhX3NvdXJj
ZS5kcy5hbGxfZGF0YSgpCiAgICAgICAgICAgICBmaWVsZF9kYXRhID0zRCBhZFtmaWVsZF0KCgpo
dHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9mZGE3ZDczMzk4NjEv
CkNoYW5nZXNldDogICBmZGE3ZDczMzk4NjEKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBh
dG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTIxIDA1OjA0OjIwKzAwOjAwClN1bW1hcnk6ICAg
ICBmaXhpbmcgaXNfdmFsaWQKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciA3MGIxZTBkOTkz
MjQzYWUyZDU2NGVmOTU0OWUxNGFmYTNkZTY5YjZjIC1yIGZkYTdkNzMzOTg2MTUzNzA2ZjA0MTI5
PQplMjRiZmQ4MzYwNzc0OGRkZiB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJl
cy5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysg
Yi95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMjY0LDcgKzI2
NCw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZpbGVuYW1lID0zRCBhcmdzWzBdCiAg
ICAgICAgICAgICBmaGFuZGxlID0zRCBOZXRDREY0RmlsZUhhbmRsZXIoZmlsZW5hbWUpCi0gICAg
ICAgICAgICBmbXQgPTNEIGZoYW5kbGUuZGF0YXNldC5maWxlX2Zvcm1hdAotICAgICAgICAgICAg
cmV0dXJuIGZtdC51cHBlcigpLnN0YXJ0c3dpdGgoJ05FVENERicpCisgICAgICAgICAgICBmaGFu
ZGxlLmRhdGFzZXQudmFyaWFibGVzWydjb25uZWN0MSddCisgICAgICAgICAgICByZXR1cm4gVHJ1
ZQogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBwYXNzCgoKaHR0cHM6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNTI2MGExNmI2NjAwLwpDaGFuZ2VzZXQ6ICAgNTI2
MGExNmI2NjAwCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAg
ICAgMjAxNS0wOC0yMSAwNTowNDo1NSswMDowMApTdW1tYXJ5OiAgICAgaW1wcm92aW5nIHRoZSBs
b2dpYyBpbiB0aGUgcGl4ZWxpemVyCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgZmRhN2Q3
MzM5ODYxNTM3MDZmMDQxMjllMjRiZmQ4MzYwNzc0OGRkZiAtciA1MjYwYTE2YjY2MDA4ODg3ZDc1
Y2I4YT0KZTM0MDA4YTQwOTFhMGEyZmMgeXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVzaWFu
X2Nvb3JkaW5hdGVzLnB5Ci0tLSBhL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9j
b29yZGluYXRlcy5weQorKysgYi95dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0ZXNpYW5fY29v
cmRpbmF0ZXMucHkKQEAgLTI0LDYgKzI0LDcgQEAKICAgICBjeWxpbmRyaWNhbF90b19jYXJ0ZXNp
YW4KIGZyb20geXQudXRpbGl0aWVzLmxpYi5waXhlbGl6YXRpb25fcm91dGluZXMgaW1wb3J0IFwK
ICAgICBwaXhlbGl6ZV9lbGVtZW50X21lc2gKK2Zyb20geXQuZGF0YV9vYmplY3RzLnVuc3RydWN0
dXJlZF9tZXNoIGltcG9ydCBTZW1pU3RydWN0dXJlZE1lc2gKIGltcG9ydCB5dC52aXN1YWxpemF0
aW9uLl9NUEwgYXMgX01QTAo9MjAKPTIwCkBAIC02Myw3ICs2NCw4IEBACiAgICAgZGVmIHBpeGVs
aXplKHNlbGYsIGRpbWVuc2lvbiwgZGF0YV9zb3VyY2UsIGZpZWxkLCBib3VuZHMsIHNpemUsCiAg
ICAgICAgICAgICAgICAgIGFudGlhbGlhcyA9M0QgVHJ1ZSwgcGVyaW9kaWMgPTNEIFRydWUpOgog
ICAgICAgICBpbmRleCA9M0QgZGF0YV9zb3VyY2UuZHMuaW5kZXgKLSAgICAgICAgaWYgaGFzYXR0
cihpbmRleCwgJ21lc2hlcycpOiAgIyB1bnN0cnVjdHVyZWQgbWVzaCBkYXRhc2V0CisgICAgICAg
IGlmIChoYXNhdHRyKGluZGV4LCAnbWVzaGVzJykgYW5kCisgICAgICAgICAgIG5vdCBpc2luc3Rh
bmNlKGluZGV4Lm1lc2hlc1swXSwgU2VtaVN0cnVjdHVyZWRNZXNoKSk6CiAgICAgICAgICAgICBm
dHlwZSwgZm5hbWUgPTNEIGZpZWxkCiAgICAgICAgICAgICBtZXNoX2lkID0zRCBpbnQoZnR5cGVb
LTFdKSAtIDEKICAgICAgICAgICAgIG1lc2ggPTNEIGluZGV4Lm1lc2hlc1ttZXNoX2lkXQoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzJlZTQ3MTZhN2Y5ZS8K
Q2hhbmdlc2V0OiAgIDJlZTQ3MTZhN2Y5ZQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0
bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMjEgMTY6MDE6MDErMDA6MDAKU3VtbWFyeTogICAg
IGJlIHNtYXJ0ZXIgYWJvdXQgc2V0dGluZyBmbHVpZCB0eXBlcwpBZmZlY3RlZCAjOiAgMSBmaWxl
CgpkaWZmIC1yIDUyNjBhMTZiNjYwMDg4ODdkNzVjYjhhZTM0MDA4YTQwOTFhMGEyZmMgLXIgMmVl
NDcxNmE3ZjllYTcwN2QyYTk2ODU9CmIxNjE4NGExY2I0YzdmZmUzIHl0L2Zyb250ZW5kcy9leG9k
dXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0
YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1
cmVzLnB5CkBAIC03NSw4ICs3NSw4IEBACiAgICAgICAgICAgICAgICAgIHN0b3JhZ2VfZmlsZW5h
bWU9M0ROb25lLAogICAgICAgICAgICAgICAgICB1bml0c19vdmVycmlkZT0zRE5vbmUpOgo9MjAK
LSAgICAgICAgc2VsZi5mbHVpZF90eXBlcyAgICAgICAgICAgICAgICs9M0QgKCdjb25uZWN0MScs
ICdjb25uZWN0MicpCiAgICAgICAgIHNlbGYucGFyYW1ldGVyX2ZpbGVuYW1lICAgICAgICAgPTNE
IGZpbGVuYW1lCisgICAgICAgIHNlbGYuZmx1aWRfdHlwZXMgKz0zRCBzZWxmLl9nZXRfZmx1aWRf
dHlwZXMoKQogICAgICAgICBEYXRhc2V0Ll9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0
X3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGUgPTNEIHVuaXRz
X292ZXJyaWRlKQogICAgICAgICBzZWxmLmluZGV4X2ZpbGVuYW1lICAgICAgICAgICAgID0zRCBm
aWxlbmFtZQpAQCAtMTIyLDYgKzEyMiwxOSBAQAogICAgICAgICBzZWxmLnJlZmluZV9ieSAgICAg
ICAgICAgICAgICAgID0zRCAwCiAgICAgICAgIHNlbGYubnVtX3N0ZXBzICAgICAgICAgICAgICAg
ICAgPTNEIGxlbihzZWxmLnBhcmFtZXRlcnNbJ3RpbWVfd2hvbD0KZSddKQo9MjAKKyAgICBkZWYg
X2dldF9mbHVpZF90eXBlcyhzZWxmKToKKyAgICAgICAgaGFuZGxlID0zRCBOZXRDREY0RmlsZUhh
bmRsZXIoc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUpLmRhdGFzZXQKKyAgICAgICAgZmx1aWRfdHlw
ZXMgPTNEICgpCisgICAgICAgIGkgPTNEIDEKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAg
ICAgIGZ0eXBlID0zRCAnY29ubmVjdCVkJyAlIGkKKyAgICAgICAgICAgIGlmIGZ0eXBlIGluIGhh
bmRsZS52YXJpYWJsZXM6CisgICAgICAgICAgICAgICAgZmx1aWRfdHlwZXMgKz0zRCAoZnR5cGUs
KQorICAgICAgICAgICAgICAgIGkgKz0zRCAxCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgICAgIGJyZWFrCisgICAgICAgIHJldHVybiBmbHVpZF90eXBlcworCiAgICAgZGVmIF9sb2Fk
X3ZhcmlhYmxlcyhzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIExvYWRzIGVhY2gga2V5LXBh
aXIgaW4gdGhlIEV4b2R1cyBJSSBpbnB1dCBmaWxlCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0
X2FuYWx5c2lzL3l0L2NvbW1pdHMvMDlkZmIyZmExMmM4LwpDaGFuZ2VzZXQ6ICAgMDlkZmIyZmEx
MmM4CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAx
NS0wOC0yMSAyMDo0OToyMiswMDowMApTdW1tYXJ5OiAgICAgZG9uJ3QgbG9hZCBtZW1vcnkgaW50
ZW5zaXZlIHRoaW5ncyBpbnRvIHNlbGYucGFyYW1ldGVycwpBZmZlY3RlZCAjOiAgMSBmaWxlCgpk
aWZmIC1yIDJlZTQ3MTZhN2Y5ZWE3MDdkMmE5Njg1YjE2MTg0YTFjYjRjN2ZmZTMgLXIgMDlkZmIy
ZmExMmM4NTMwYjMxMjcxMjg9Cjk1NjZiOWExOTg4YTg0N2IxIHl0L2Zyb250ZW5kcy9leG9kdXNf
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9z
dHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVz
LnB5CkBAIC00NiwxMSArNDYsMTEgQEAKICAgICAgICAgc2VsZi5fY29ubmVjdGl2aXR5X2xlbmd0
aCA9M0Qgc2VsZi5tZXNoZXNbMF0uY29ubmVjdGl2aXR5X2luZGljZXMuPQpzaGFwZVsxXQo9MjAK
ICAgICBkZWYgX2luaXRpYWxpemVfbWVzaChzZWxmKToKLSAgICAgICAgY29vcmRzID0zRCBzZWxm
LmRhdGFzZXQucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXQorICAgICAgICBjb29yZHMgPTNEIHNl
bGYuZHMuX3JlYWRfY29vcmRpbmF0ZXMoKQogICAgICAgICBzZWxmLm1lc2hlcyA9M0QgW0V4b2R1
c0lJVW5zdHJ1Y3R1cmVkTWVzaCgKICAgICAgICAgICAgIG1lc2hfaWQsIHNlbGYuaW5kZXhfZmls
ZW5hbWUsIGNvbm5faW5kLCBjb29yZHMsIHNlbGYpCiAgICAgICAgICAgICAgICAgICAgICAgIGZv
ciBtZXNoX2lkLCBjb25uX2luZCBpbgotICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGUo
c2VsZi5kYXRhc2V0LnBhcmFtZXRlcnNbJ2Nvbm5lY3Rpdml0eSddKV0KKyAgICAgICAgICAgICAg
ICAgICAgICAgZW51bWVyYXRlKHNlbGYuZHMuX3JlYWRfY29ubmVjdGl2aXR5KCkpXQo9MjAKICAg
ICBkZWYgX3NldHVwX2RhdGFfaW8oc2VsZik6CiAgICAgICAgIHNlbGYuaW8gPTNEIGlvX3JlZ2lz
dHJ5W3NlbGYuZGF0YXNldF90eXBlXShzZWxmLmRzKQpAQCAtNzcsMTEgKzc3LDExIEBACj0yMAog
ICAgICAgICBzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSAgICAgICAgID0zRCBmaWxlbmFtZQogICAg
ICAgICBzZWxmLmZsdWlkX3R5cGVzICs9M0Qgc2VsZi5fZ2V0X2ZsdWlkX3R5cGVzKCkKKyAgICAg
ICAgc2VsZi5zdGVwICAgICAgICAgICAgICAgICAgICAgICA9M0Qgc3RlcAogICAgICAgICBEYXRh
c2V0Ll9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhc2V0X3R5cGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGUgPTNEIHVuaXRzX292ZXJyaWRlKQogICAgICAgICBz
ZWxmLmluZGV4X2ZpbGVuYW1lICAgICAgICAgICAgID0zRCBmaWxlbmFtZQogICAgICAgICBzZWxm
LnN0b3JhZ2VfZmlsZW5hbWUgICAgICAgICAgID0zRCBzdG9yYWdlX2ZpbGVuYW1lCi0gICAgICAg
IHNlbGYuc3RlcCAgICAgICAgICAgICAgICAgICAgICAgPTNEIHN0ZXAKPTIwCiAgICAgZGVmIF9z
ZXRfY29kZV91bml0X2F0dHJpYnV0ZXMoc2VsZik6CiAgICAgICAgICMgVGhpcyBpcyB3aGVyZSBx
dWFudGl0aWVzIGFyZSBjcmVhdGVkIHRoYXQgcmVwcmVzZW50IHRoZSB2YXJpb3VzCkBAIC05OCwy
OSArOTgsMzEgQEAKICAgICAgICAgIyBzZWxmLm1hZ25ldGljX3VuaXQgPTNEIHNlbGYucXVhbigx
LjAsICJnYXVzcyIpCj0yMAogICAgIGRlZiBfcGFyc2VfcGFyYW1ldGVyX2ZpbGUoc2VsZik6Ci0g
ICAgICAgIHNlbGYuX2xvYWRfdmFyaWFibGVzKCkKKyAgICAgICAgc2VsZi5faGFuZGxlID0zRCBO
ZXRDREY0RmlsZUhhbmRsZXIoc2VsZi5wYXJhbWV0ZXJfZmlsZW5hbWUpCisgICAgICAgIHNlbGYu
X3ZhcnMgPTNEIHNlbGYuX2hhbmRsZS5kYXRhc2V0LnZhcmlhYmxlcwogICAgICAgICBzZWxmLl9y
ZWFkX2dsb192YXIoKQotICAgICAgICBzZWxmLmRpbWVuc2lvbmFsaXR5ICAgICAgICAgICAgID0z
RCBzZWxmLnBhcmFtZXRlcnNbJ2Nvb3JfbmFtZXMnXS49CnNoYXBlWzBdCisgICAgICAgIHNlbGYu
ZGltZW5zaW9uYWxpdHkgPTNEIHNlbGYuX3ZhcnNbJ2Nvb3JfbmFtZXMnXS5zaGFwZVswXQogICAg
ICAgICBzZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmVjb3JkcyddID0zRCBzZWxmLl9sb2FkX2luZm9f
cmVjb3JkcygpCi0gICAgICAgIHNlbGYudW5pcXVlX2lkZW50aWZpZXIgICAgICAgICAgPTNEIHNl
bGYuX2dldF91bmlxdWVfaWRlbnRpZmllcigpCi0gICAgICAgIHNlbGYuY3VycmVudF90aW1lICAg
ICAgICAgICAgICAgPTNEIHNlbGYuX2dldF9jdXJyZW50X3RpbWUoKQotICAgICAgICBzZWxmLnBh
cmFtZXRlcnNbJ251bV9tZXNoZXMnXSAgID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2ViX3N0YXR1cydd
LnM9CmhhcGVbMF0KLSAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydlbGVtX25hbWVzJ10gICA9M0Qg
c2VsZi5fZ2V0X2VsZW1fbmFtZXMoKQotICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ25vZF9uYW1l
cyddICAgID0zRCBzZWxmLl9nZXRfbm9kX25hbWVzKCkKLSAgICAgICAgc2VsZi5wYXJhbWV0ZXJz
Wydjb29yZGluYXRlcyddICA9M0Qgc2VsZi5fbG9hZF9jb29yZGluYXRlcygpCi0gICAgICAgIHNl
bGYucGFyYW1ldGVyc1snY29ubmVjdGl2aXR5J10gPTNEIHNlbGYuX2xvYWRfY29ubmVjdGl2aXR5
KCkKLSAgICAgICAgc2VsZi5kYXRhICAgICAgICAgICAgICAgICAgICAgICA9M0Qgc2VsZi5fbG9h
ZF9kYXRhKCkKLSAgICAgICAgc2VsZi5kb21haW5fbGVmdF9lZGdlICAgICAgICAgICA9M0Qgc2Vs
Zi5fbG9hZF9kb21haW5fZWRnZSgwKQotICAgICAgICBzZWxmLmRvbWFpbl9yaWdodF9lZGdlICAg
ICAgICAgID0zRCBzZWxmLl9sb2FkX2RvbWFpbl9lZGdlKDEpCi0gICAgICAgIHNlbGYucGVyaW9k
aWNpdHkgICAgICAgICAgICAgICAgPTNEIChGYWxzZSwgRmFsc2UsIEZhbHNlKQotICAgICAgICBz
ZWxmLmRvbWFpbl9kaW1lbnNpb25zICAgICAgICAgID0zRCBucC5vbmVzKDMsICJpbnQzMiIpCi0g
ICAgICAgIHNlbGYuY29zbW9sb2dpY2FsX3NpbXVsYXRpb24gICAgPTNEIDAKLSAgICAgICAgc2Vs
Zi5jdXJyZW50X3JlZHNoaWZ0ICAgICAgICAgICA9M0QgMAotICAgICAgICBzZWxmLm9tZWdhX2xh
bWJkYSAgICAgICAgICAgICAgID0zRCAwCi0gICAgICAgIHNlbGYub21lZ2FfbWF0dGVyICAgICAg
ICAgICAgICAgPTNEIDAKLSAgICAgICAgc2VsZi5odWJibGVfY29uc3RhbnQgICAgICAgICAgICA9
M0QgMAotICAgICAgICBzZWxmLnJlZmluZV9ieSAgICAgICAgICAgICAgICAgID0zRCAwCi0gICAg
ICAgIHNlbGYubnVtX3N0ZXBzICAgICAgICAgICAgICAgICAgPTNEIGxlbihzZWxmLnBhcmFtZXRl
cnNbJ3RpbWVfd2hvbD0KZSddKQorICAgICAgICBzZWxmLnVuaXF1ZV9pZGVudGlmaWVyID0zRCBz
ZWxmLl9nZXRfdW5pcXVlX2lkZW50aWZpZXIoKQorICAgICAgICBzZWxmLm51bV9zdGVwcyA9M0Qg
bGVuKHNlbGYuX3ZhcnNbJ3RpbWVfd2hvbGUnXSkKKyAgICAgICAgc2VsZi5jdXJyZW50X3RpbWUg
PTNEIHNlbGYuX2dldF9jdXJyZW50X3RpbWUoKQorICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ251
bV9tZXNoZXMnXSA9M0Qgc2VsZi5fdmFyc1snZWJfc3RhdHVzJ10uc2hhcGVbMF0KKyAgICAgICAg
c2VsZi5wYXJhbWV0ZXJzWydlbGVtX25hbWVzJ10gPTNEIHNlbGYuX2dldF9lbGVtX25hbWVzKCkK
KyAgICAgICAgc2VsZi5wYXJhbWV0ZXJzWydub2RfbmFtZXMnXSA9M0Qgc2VsZi5fZ2V0X25vZF9u
YW1lcygpCisgICAgICAgIHNlbGYuZG9tYWluX2xlZnRfZWRnZSA9M0Qgc2VsZi5fbG9hZF9kb21h
aW5fZWRnZSgwKQorICAgICAgICBzZWxmLmRvbWFpbl9yaWdodF9lZGdlID0zRCBzZWxmLl9sb2Fk
X2RvbWFpbl9lZGdlKDEpCisgICAgICAgIHNlbGYucGVyaW9kaWNpdHkgPTNEIChGYWxzZSwgRmFs
c2UsIEZhbHNlKQorCisgICAgICAgICMgVGhlc2UgYXR0cmlidXRlcyBkb24ndCByZWFsbHkgbWFr
ZSBzZW5zZSBmb3IgdW5zdHJ1Y3R1cmVkCisgICAgICAgICMgbWVzaCBkYXRhLCBidXQgeXQgd2Fy
bnMgaWYgdGhleSBhcmUgbm90IHByZXNlbnQsIHNvIHdlIHNldAorICAgICAgICAjIHRoZW0gdG8g
ZHVtbXkgdmFsdWVzIGhlcmUuCisgICAgICAgIHNlbGYuZG9tYWluX2RpbWVuc2lvbnMgPTNEIG5w
Lm9uZXMoMywgImludDMyIikKKyAgICAgICAgc2VsZi5jb3Ntb2xvZ2ljYWxfc2ltdWxhdGlvbiA9
M0QgMAorICAgICAgICBzZWxmLmN1cnJlbnRfcmVkc2hpZnQgPTNEIDAKKyAgICAgICAgc2VsZi5v
bWVnYV9sYW1iZGEgPTNEIDAKKyAgICAgICAgc2VsZi5vbWVnYV9tYXR0ZXIgPTNEIDAKKyAgICAg
ICAgc2VsZi5odWJibGVfY29uc3RhbnQgPTNEIDAKKyAgICAgICAgc2VsZi5yZWZpbmVfYnkgPTNE
IDAKPTIwCiAgICAgZGVmIF9nZXRfZmx1aWRfdHlwZXMoc2VsZik6CiAgICAgICAgIGhhbmRsZSA9
M0QgTmV0Q0RGNEZpbGVIYW5kbGVyKHNlbGYucGFyYW1ldGVyX2ZpbGVuYW1lKS5kYXRhc2V0CkBA
IC0xNTIsNyArMTU0LDcgQEAKICAgICAgICAgbmFtZXMgPTNEIHNlbGYuX2dldF9nbG9fbmFtZXMo
KQogICAgICAgICBpZiBub3QgbmFtZXM6CiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgdmFs
dWVzID0zRCBzZWxmLnBhcmFtZXRlcnNbJ3ZhbHNfZ2xvX3ZhciddWzpdLnRyYW5zcG9zZSgpCisg
ICAgICAgIHZhbHVlcyA9M0Qgc2VsZi5fdmFyc1sndmFsc19nbG9fdmFyJ11bOl0udHJhbnNwb3Nl
KCkKICAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIHppcChuYW1lcywgdmFsdWVzKToKICAgICAg
ICAgICAgIHNlbGYucGFyYW1ldGVyc1tuYW1lXSA9M0QgdmFsdWUKPTIwCkBAIC0xNjEsMjAgKzE2
MywyMyBAQAogICAgICAgICBSZXR1cm5zIHBhcnNlZCB2ZXJzaW9uIG9mIHRoZSBpbmZvX3JlY29y
ZHMuCiAgICAgICAgICIiIgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gbG9hZF9p
bmZvX3JlY29yZHMoc2VsZi5wYXJhbWV0ZXJzWydpbmZvX3JlY29yZHMnXSkKKyAgICAgICAgICAg
IHJldHVybiBsb2FkX2luZm9fcmVjb3JkcyhzZWxmLl92YXJzWydpbmZvX3JlY29yZHMnXSkKICAg
ICAgICAgZXhjZXB0IChLZXlFcnJvciwgVHlwZUVycm9yKToKICAgICAgICAgICAgIG15bG9nLndh
cm5pbmcoIk5vIGluZm9fcmVjb3JkcyBmb3VuZCIpCiAgICAgICAgICAgICByZXR1cm4gW10KPTIw
CiAgICAgZGVmIF9nZXRfdW5pcXVlX2lkZW50aWZpZXIoc2VsZik6CiAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgIHJldHVybiBzZWxmLnBhcmFtZXRlcnNbJ2luZm9fcmVjb3JkcyddWydWZXJzaW9u
IEluZm8nXVsnRXhlY3V0PQphYmxlIFRpbWVzdGFtcCddCi0gICAgICAgIGV4Y2VwdCAoS2V5RXJy
b3IsIFR5cGVFcnJvcik6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fdmFyc1snaW5mb19yZWNv
cmRzJ11bJ1ZlcnNpb24gSW5mbyddWydFeGVjdXRhYmxlID0KVGltZXN0YW1wJ10KKyAgICAgICAg
ZXhjZXB0IChLZXlFcnJvciwgVHlwZUVycm9yLCBJbmRleEVycm9yKToKICAgICAgICAgICAgIHJl
dHVybiBzZWxmLnBhcmFtZXRlcl9maWxlbmFtZS5fX2hhc2hfXygpCj0yMAogICAgIGRlZiBfZ2V0
X2N1cnJlbnRfdGltZShzZWxmKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNl
bGYucGFyYW1ldGVyc1sndGltZV93aG9sZSddWzBdCisgICAgICAgICAgICByZXR1cm4gc2VsZi5f
dmFyc1sndGltZV93aG9sZSddW3NlbGYuc3RlcF0KKyAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6
CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkludmFsaWQgc3RlcCBudW1iZXIsIG1h
eCBpcyAlZCIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHNlbGYubnVtX3N0
ZXBzIC0gMSkpICAgICAgICAgICA9MjAKICAgICAgICAgZXhjZXB0IChLZXlFcnJvciwgVHlwZUVy
cm9yKToKICAgICAgICAgICAgIHJldHVybiAwLjAKPTIwCkBAIC0xODQsNyArMTg5LDcgQEAKICAg
ICAgICAgIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBbc2FuaXRpemVfc3Ry
aW5nKHYudG9zdHJpbmcoKSkgZm9yIHYgaW4KLSAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXJh
bWV0ZXJzWyJuYW1lX2dsb192YXIiXV0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fdmFyc1si
bmFtZV9nbG9fdmFyIl1dCiAgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIFR5cGVFcnJvcik6CiAg
ICAgICAgICAgICBteWxvZy53YXJuaW5nKCJuYW1lX2dsb192YXIgbm90IGZvdW5kIikKICAgICAg
ICAgICAgIHJldHVybiBbXQpAQCAtMTk1LDcgKzIwMCw3IEBACiAgICAgICAgICIiIgogICAgICAg
ICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gW3Nhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkp
IGZvciB2IGluCi0gICAgICAgICAgICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1sibmFtZV9lbGVt
X3ZhciJdXQorICAgICAgICAgICAgICAgICAgICBzZWxmLl92YXJzWyJuYW1lX2VsZW1fdmFyIl1d
CiAgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIFR5cGVFcnJvcik6CiAgICAgICAgICAgICBteWxv
Zy53YXJuaW5nKCJuYW1lX2VsZW1fdmFyIG5vdCBmb3VuZCIpCiAgICAgICAgICAgICByZXR1cm4g
W10KQEAgLTIwNiwxMiArMjExLDEyIEBACiAgICAgICAgICIiIgogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICByZXR1cm4gW3Nhbml0aXplX3N0cmluZyh2LnRvc3RyaW5nKCkpIGZvciB2IGluCi0g
ICAgICAgICAgICAgICAgICAgIHNlbGYucGFyYW1ldGVyc1sibmFtZV9ub2RfdmFyIl1dCisgICAg
ICAgICAgICAgICAgICAgIHNlbGYuX3ZhcnNbIm5hbWVfbm9kX3ZhciJdXQogICAgICAgICBleGNl
cHQgKEtleUVycm9yLCBUeXBlRXJyb3IpOgogICAgICAgICAgICAgbXlsb2cud2FybmluZygibmFt
ZV9ub2RfdmFyIG5vdCBmb3VuZCIpCiAgICAgICAgICAgICByZXR1cm4gW10KPTIwCi0gICAgZGVm
IF9sb2FkX2Nvb3JkaW5hdGVzKHNlbGYpOgorICAgIGRlZiBfcmVhZF9jb29yZGluYXRlcyhzZWxm
KToKICAgICAgICAgIiIiCiAgICAgICAgIExvYWRzIHRoZSBjb29yZGluYXRlcyBmb3IgdGhlIG1l
c2gKICAgICAgICAgIiIiCkBAIC0yMjIsNDMgKzIyNyw0MyBAQAo9MjAKICAgICAgICAgbXlsb2cu
aW5mbygiTG9hZGluZyBjb29yZGluYXRlcyIpCj0yMAotICAgICAgICBpZiAnY29vcmQnIGluIHNl
bGYucGFyYW1ldGVycy5rZXlzKCk6CisgICAgICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBu
cC5hcnJheShbY29vcmQgZm9yIGNvb3JkIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYucGFyYW1ldGVyc1siY29vcmQiXVs6XV0pLnRyYW5zcG9zZSgpLmNvcD0KeSgpCi0gICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gbnAuYXJyYXkoW3NlbGYucGFyYW1ldGVyc1si
Y29vcmQlcyIgJSBheF1bOl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fdmFy
c1siY29vcmQiXVs6XV0pLnRyYW5zcG9zZSgpLmNvcHkoKQorICAgICAgICBleGNlcHQgS2V5RXJy
b3I6CisgICAgICAgICAgICByZXR1cm4gbnAuYXJyYXkoW3NlbGYuX3ZhcnNbImNvb3JkJXMiICUg
YXhdWzpdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBheCBpbiBjb29yZF9heGVz
XSkudHJhbnNwb3NlKCkuY29weSgpCj0yMAotICAgIGRlZiBfbG9hZF9jb25uZWN0aXZpdHkoc2Vs
Zik6CisgICAgZGVmIF9yZWFkX2Nvbm5lY3Rpdml0eShzZWxmKToKICAgICAgICAgIiIiCiAgICAg
ICAgIExvYWRzIHRoZSBjb25uZWN0aXZpdHkgZGF0YSBmb3IgdGhlIG1lc2gKICAgICAgICAgIiIi
CiAgICAgICAgIG15bG9nLmluZm8oIkxvYWRpbmcgY29ubmVjdGl2aXR5IikKICAgICAgICAgY29u
bmVjdGl2aXR5ID0zRCBbXQogICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnBhcmFtZXRlcnNb
J251bV9tZXNoZXMnXSk6Ci0gICAgICAgICAgICBjb25uZWN0aXZpdHkuYXBwZW5kKHNlbGYucGFy
YW1ldGVyc1siY29ubmVjdCVkIiAlIChpKzEpXVs6XS5hcz0KdHlwZSgiaTgiKSkKKyAgICAgICAg
ICAgIGNvbm5lY3Rpdml0eS5hcHBlbmQoc2VsZi5fdmFyc1siY29ubmVjdCVkIiAlIChpKzEpXVs6
XS5hc3R5cGUoPQoiaTgiKSkKICAgICAgICAgcmV0dXJuIGNvbm5lY3Rpdml0eQo9MjAKLSAgICBk
ZWYgX2xvYWRfZGF0YShzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIExvYWRzIHRoZSBmbHVp
ZCBkYXRhCi0gICAgICAgICIiIgotICAgICAgICBkYXRhID0zRCBbXQotICAgICAgICBmb3IgaSBp
biByYW5nZShzZWxmLnBhcmFtZXRlcnNbJ251bV9tZXNoZXMnXSk6Ci0gICAgICAgICAgICBjaSA9
M0Qgc2VsZi5wYXJhbWV0ZXJzWydjb25uZWN0aXZpdHknXVtpXQotICAgICAgICAgICAgdmFscyA9
M0Qge30KKyAgICAjIGRlZiBfbG9hZF9kYXRhKHNlbGYpOgorICAgICMgICAgICIiIgorICAgICMg
ICAgIExvYWRzIHRoZSBmbHVpZCBkYXRhCisgICAgIyAgICAgIiIiCisgICAgIyAgICAgZGF0YSA9
M0QgW10KKyAgICAjICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnBhcmFtZXRlcnNbJ251bV9tZXNo
ZXMnXSk6CisgICAgIyAgICAgICAgIGNpID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2Nvbm5lY3Rpdml0
eSddW2ldCisgICAgIyAgICAgICAgIHZhbHMgPTNEIHt9Cj0yMAotICAgICAgICAgICAgZm9yIGos
IGVsZW1fbmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5wYXJhbWV0ZXJzWydlbGVtX25hbWVzJ10pOgot
ICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIGVsZW1fbmFtZV0gPTNEIHNlbGYucGFyYW1ldGVy
c1sidmFsc19lbGVtX3ZhciU9CnNlYiVzIiAlIChqKzEsIGkrMSldWzpdLmFzdHlwZSgiZjgiKVst
MSw6XQorICAgICMgICAgICAgICBmb3IgaiwgZWxlbV9uYW1lIGluIGVudW1lcmF0ZShzZWxmLnBh
cmFtZXRlcnNbJ2VsZW1fbmFtZXMnXSk6CisgICAgIyAgICAgICAgICAgICB2YWxzWydnYXMnLCBl
bGVtX25hbWVdID0zRCBzZWxmLnBhcmFtZXRlcnNbInZhbHNfZWxlbV92YT0KciVzZWIlcyIgJSAo
aisxLCBpKzEpXVs6XS5hc3R5cGUoImY4IilbLTEsOl0KPTIwCi0gICAgICAgICAgICBmb3Igaiwg
bm9kX25hbWUgaW4gZW51bWVyYXRlKHNlbGYucGFyYW1ldGVyc1snbm9kX25hbWVzJ10pOgotICAg
ICAgICAgICAgICAgICMgV2Ugd2FudCBqdXN0IGZvciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhl
IG5vZGUgdmFyaWFibGVzCi0gICAgICAgICAgICAgICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRo
ZXNlIHZhbHVlcwotICAgICAgICAgICAgICAgIHZhbHNbJ2dhcycsIG5vZF9uYW1lXSA9M0Qgc2Vs
Zi5wYXJhbWV0ZXJzWyJ2YWxzX25vZF92YXIlcyI9CiAlIChqKzEpXVs6XS5hc3R5cGUoImY4Iilb
LTEsIGNpIC0gMSwgLi4uXQorICAgICMgICAgICAgICBmb3Igaiwgbm9kX25hbWUgaW4gZW51bWVy
YXRlKHNlbGYucGFyYW1ldGVyc1snbm9kX25hbWVzJ10pOgorICAgICMgICAgICAgICAgICAgIyBX
ZSB3YW50IGp1c3QgZm9yIHRoaXMgc2V0IG9mIG5vZGVzIGFsbCB0aGUgbm9kZSB2YXJpYWI9Cmxl
cworICAgICMgICAgICAgICAgICAgIyBVc2UgKGNpIC0gMSkgdG8gZ2V0IHRoZXNlIHZhbHVlcwor
ICAgICMgICAgICAgICAgICAgdmFsc1snZ2FzJywgbm9kX25hbWVdID0zRCBzZWxmLnBhcmFtZXRl
cnNbInZhbHNfbm9kX3ZhciU9CnMiICUgKGorMSldWzpdLmFzdHlwZSgiZjgiKVstMSwgY2kgLSAx
LCAuLi5dCj0yMAotICAgICAgICAgICAgZGF0YS5hcHBlbmQodmFscykKKyAgICAjICAgICAgICAg
ZGF0YS5hcHBlbmQodmFscykKPTIwCi0gICAgICAgIHJldHVybiBkYXRhCisgICAgIyAgICAgcmV0
dXJuIGRhdGEKPTIwCiAgICAgZGVmIF9sb2FkX2RvbWFpbl9lZGdlKHNlbGYsIGRvbWFpbl9pZHgp
OgogICAgICAgICAiIiIKQEAgLTI2OCw5ICsyNzMsOSBAQAogICAgICAgICAtIGRvbWFpbl9pZHg6
IDAgY29ycmVzcG9uZHMgdG8gdGhlIGxlZnQgZWRnZSwgMSBjb3JyZXNwb25kcyB0byB0aGU9CiBy
aWdodCBlZGdlCiAgICAgICAgICIiIgogICAgICAgICBpZiBkb21haW5faWR4ID0zRD0zRCAwOgot
ICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyYW1ldGVyc1snY29vcmRpbmF0ZXMnXS5taW4oYXhp
cz0zRDApCisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZF9jb29yZGluYXRlcygpLm1pbihh
eGlzPTNEMCkKICAgICAgICAgaWYgZG9tYWluX2lkeCA9M0Q9M0QgMToKLSAgICAgICAgICAgIHJl
dHVybiBzZWxmLnBhcmFtZXRlcnNbJ2Nvb3JkaW5hdGVzJ10ubWF4KGF4aXM9M0QwKSAgICAgICA9
MjAKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9yZWFkX2Nvb3JkaW5hdGVzKCkubWF4KGF4aXM9
M0QwKQo9MjAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2lzX3ZhbGlkKHNlbGYsICphcmdz
LCAqKmt3YXJncyk6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvOTcwZWJjNjkxNWI3LwpDaGFuZ2VzZXQ6ICAgOTcwZWJjNjkxNWI3CkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMiAwMTo1MzozMisw
MDowMApTdW1tYXJ5OiAgICAgc2VsZWN0aW5nIHRoZSBhcHByb3ByaWF0ZSBtZXNoIGJhc2VkIG9u
IHRoZSBmaWVsZCBuYW1lIGluIHRoZSA9Ck1lc2hTb3VyY2UKQWZmZWN0ZWQgIzogIDEgZmlsZQoK
ZGlmZiAtciAwOWRmYjJmYTEyYzg1MzBiMzEyNzEyODk1NjZiOWExOTg4YTg0N2IxIC1yIDk3MGVi
YzY5MTViN2E4MWUzYzI2MzVlPQpiZDQ0OTYzMzM5ZmJiMDE2MiB5dC92aXN1YWxpemF0aW9uL3Zv
bHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQotLS0gYS95dC92aXN1YWxpemF0aW9uL3Zv
bHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3Zv
bHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQpAQCAtMjk4LDEyICsyOTgsMTQgQEAKICAg
ICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiTWVzaCBub3QgaW5pdGlhbGl6ZWQiKQo9MjAK
ICAgICBkZWYgYnVpbGRfbWVzaChzZWxmKToKLQorICAgICAgICBmdHlwZSwgZm5hbWUgPTNEIHNl
bGYuZmllbGQKKyAgICAgICAgcHJpbnQgZnR5cGUsIGZuYW1lCisgICAgICAgIG1lc2hfaWQgPTNE
IGludChmdHlwZVstMV0pIC0gMQorICAgICAgICBpbmRleCA9M0Qgc2VsZi5kYXRhX3NvdXJjZS5k
cy5pbmRleAorICAgICAgICBvZmZzZXQgPTNEIGluZGV4LmlvLl9JTkRFWF9PRkZTRVQKICAgICAg
ICAgZmllbGRfZGF0YSA9M0Qgc2VsZi5kYXRhX3NvdXJjZVtzZWxmLmZpZWxkXQotICAgICAgICB2
ZXJ0aWNlcyA9M0Qgc2VsZi5kYXRhX3NvdXJjZS5kcy5pbmRleC5tZXNoZXNbMF0uY29ubmVjdGl2
aXR5X2Nvb3I9CmRzCi0KLSAgICAgICAgIyBjb252ZXJ0IHRoZSBpbmRpY2VzIHRvIHplcm8tYmFz
ZWQgaW5kZXhpbmcKLSAgICAgICAgaW5kaWNlcyA9M0Qgc2VsZi5kYXRhX3NvdXJjZS5kcy5pbmRl
eC5tZXNoZXNbMF0uY29ubmVjdGl2aXR5X2luZGljPQplcyAtIDEKKyAgICAgICAgdmVydGljZXMg
PTNEIGluZGV4Lm1lc2hlc1ttZXNoX2lkXS5jb25uZWN0aXZpdHlfY29vcmRzCisgICAgICAgIGlu
ZGljZXMgPTNEIGluZGV4Lm1lc2hlc1ttZXNoX2lkXS5jb25uZWN0aXZpdHlfaW5kaWNlcyAtIG9m
ZnNldAo9MjAKICAgICAgICAgc2VsZi5tZXNoID0zRCBtZXNoX2NvbnN0cnVjdGlvbi5FbGVtZW50
TWVzaChzZWxmLnNjZW5lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZXJ0aWNlcywKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMv
eXQvY29tbWl0cy8xNzI1ZjYxNzdhN2YvCkNoYW5nZXNldDogICAxNzI1ZjYxNzdhN2YKQnJhbmNo
OiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTIyIDAy
OjM3OjQ0KzAwOjAwClN1bW1hcnk6ICAgICBpbXBsZW1lbnRpbmcgYW5ub3RhdGVfbWVzaF9saW5l
cyBjYWxsYmFjay4gb25seSB3b3JrcyBmb3IgdGV0cj0KYWhlZHJhbCBkYXRhc2V0cwpBZmZlY3Rl
ZCAjOiAgNCBmaWxlcwoKZGlmZiAtciA5NzBlYmM2OTE1YjdhODFlM2MyNjM1ZWJkNDQ5NjMzMzlm
YmIwMTYyIC1yIDE3MjVmNjE3N2E3ZmNiYWMwOGE2MjdmPQplNDg0ZTE2MDljYzRiOTE5ZiB5dC9m
cm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQotLS0gYS95dC9mcm9udGVuZHMv
ZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95dC9mcm9udGVuZHMvZXhvZHVzX2lp
L2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMjMsNyArMjMsNiBAQAogZnJvbSB5dC51dGlsaXRpZXMu
aW9faGFuZGxlciBpbXBvcnQgXAogICAgIGlvX3JlZ2lzdHJ5CiBmcm9tIC5pbyBpbXBvcnQgXAot
ICAgIElPSGFuZGxlckV4b2R1c0lJLCBcCiAgICAgTmV0Q0RGNEZpbGVIYW5kbGVyCiBmcm9tIHl0
LnV0aWxpdGllcy5sb2dnZXIgaW1wb3J0IHl0TG9nZ2VyIGFzIG15bG9nCiBmcm9tIC5maWVsZHMg
aW1wb3J0IFwKCmRpZmYgLXIgOTcwZWJjNjkxNWI3YTgxZTNjMjYzNWViZDQ0OTYzMzM5ZmJiMDE2
MiAtciAxNzI1ZjYxNzdhN2ZjYmFjMDhhNjI3Zj0KZTQ4NGUxNjA5Y2M0YjkxOWYgeXQvZ2VvbWV0
cnkvY29vcmRpbmF0ZXMvY2FydGVzaWFuX2Nvb3JkaW5hdGVzLnB5Ci0tLSBhL3l0L2dlb21ldHJ5
L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9jb29yZGluYXRlcy5weQorKysgYi95dC9nZW9tZXRyeS9j
b29yZGluYXRlcy9jYXJ0ZXNpYW5fY29vcmRpbmF0ZXMucHkKQEAgLTY5LDcgKzY5LDcgQEAKICAg
ICAgICAgICAgIGZ0eXBlLCBmbmFtZSA9M0QgZmllbGQKICAgICAgICAgICAgIG1lc2hfaWQgPTNE
IGludChmdHlwZVstMV0pIC0gMQogICAgICAgICAgICAgbWVzaCA9M0QgaW5kZXgubWVzaGVzW21l
c2hfaWRdCi0gICAgICAgICAgICBvZmZzZXQgPTNEIGluZGV4LmlvLl9JTkRFWF9PRkZTRVQKKyAg
ICAgICAgICAgIG9mZnNldCA9M0QgbWVzaC5faW5kZXhfb2Zmc2V0CiAgICAgICAgICAgICBhZCA9
M0QgZGF0YV9zb3VyY2UuZHMuYWxsX2RhdGEoKQogICAgICAgICAgICAgZmllbGRfZGF0YSA9M0Qg
YWRbZmllbGRdCiAgICAgICAgICAgICBidWZmX3NpemUgPTNEIHNpemVbMDpkaW1lbnNpb25dICsg
KDEsKSArIHNpemVbZGltZW5zaW9uOl0KCmRpZmYgLXIgOTcwZWJjNjkxNWI3YTgxZTNjMjYzNWVi
ZDQ0OTYzMzM5ZmJiMDE2MiAtciAxNzI1ZjYxNzdhN2ZjYmFjMDhhNjI3Zj0KZTQ4NGUxNjA5Y2M0
YjkxOWYgeXQvdmlzdWFsaXphdGlvbi9wbG90X21vZGlmaWNhdGlvbnMucHkKLS0tIGEveXQvdmlz
dWFsaXphdGlvbi9wbG90X21vZGlmaWNhdGlvbnMucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi9w
bG90X21vZGlmaWNhdGlvbnMucHkKQEAgLTE1MTEsNiArMTUxMSwzOSBAQAogICAgICAgICBsYWJl
bCA9M0QgcGxvdC5fYXhlcy50aXRsZQogICAgICAgICBzZWxmLl9zZXRfZm9udF9wcm9wZXJ0aWVz
KHBsb3QsIFtsYWJlbF0pCj0yMAorCitjbGFzcyBNZXNoTGluZXNDYWxsYmFjayhQbG90Q2FsbGJh
Y2spOgorICAgICIiIgorCisgICAgIiIiCisgICAgX3R5cGVfbmFtZSA9M0QgIm1lc2hfbGluZXMi
CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbWVzaCwgcGxvdF9hcmdzPTNETm9uZSk6CisgICAg
ICAgIHN1cGVyKE1lc2hMaW5lc0NhbGxiYWNrLCBzZWxmKS5fX2luaXRfXygpCisgICAgICAgIHNl
bGYucGxvdF9hcmdzID0zRCB7fSBpZiBwbG90X2FyZ3MgaXMgTm9uZSBlbHNlIHBsb3RfYXJncwor
ICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2gKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwbG90
KToKKyAgICAgICAgY29vcmRzID0zRCBzZWxmLm1lc2guY29ubmVjdGl2aXR5X2Nvb3JkcworICAg
ICAgICBjb25uID0zRCBzZWxmLm1lc2guY29ubmVjdGl2aXR5X2luZGljZXMKKyAgICAgICAgdHJ5
OgorICAgICAgICAgICAgYXNzZXJ0KGNvbm4uc2hhcGVbMV0gPTNEPTNEIDQpCisgICAgICAgIGV4
Y2VwdCBBc3NlcnRpb25FcnJvcjoKKyAgICAgICAgICAgIHJhaXNlIFlURXhjZXB0aW9uKCJhbm5v
dGF0ZV9tZXNoX2xpbmVzIG9ubHkgaW1wbGVtZW50ZWQgZm9yIiArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiIHRldHJhaGVkcmFsIG1lc2hlcy4iKQorCisgICAgICAgIHBvaW50cyA9
M0QgY29vcmRzW2Nvbm4gLSBzZWxmLm1lc2guX2luZGV4X29mZnNldF0KKyAgICAgICAgdHJpMSA9
M0QgcG9pbnRzWzosIFswLCAxLCAyXSwgOl0KKyAgICAgICAgdHJpMiA9M0QgcG9pbnRzWzosIFsx
LCAyLCAzXSwgOl0KKyAgICAgICAgdHJpMyA9M0QgcG9pbnRzWzosIFswLCAyLCAzXSwgOl0KKyAg
ICAgICAgdHJpNCA9M0QgcG9pbnRzWzosIFswLCAxLCAzXSwgOl0KKworICAgICAgICB0cmlhbmds
ZXMgPTNEIG5wLmNvbmNhdGVuYXRlKCh0cmkxLCB0cmkyLCB0cmkzLCB0cmk0KSwgMCkKKyAgICAg
ICAgdGZjID0zRCBUcmlhbmdsZUZhY2V0c0NhbGxiYWNrKHRyaWFuZ2xlcywgc2VsZi5wbG90X2Fy
Z3MpCisKKyAgICAgICAgcmV0dXJuIHRmYyhwbG90KQorCisKIGNsYXNzIFRyaWFuZ2xlRmFjZXRz
Q2FsbGJhY2soUGxvdENhbGxiYWNrKToKICAgICAiIiIKICAgICBhbm5vdGF0ZV90cmlhbmdsZV9m
YWNldHModHJpYW5nbGVfdmVydGljZXMsIHBsb3RfYXJncz0zRE5vbmUgKQpAQCAtMTUyNCw2ICsx
NTU3LDcgQEAKICAgICBvZiB0aGUgZ2VvbWV0cnkgcmVwcmVzZW50ZWQgYnkgdGhlIHRyaWFuZ2xl
cy4KICAgICAiIiIKICAgICBfdHlwZV9uYW1lID0zRCAidHJpYW5nbGVfZmFjZXRzIgorCiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHRyaWFuZ2xlX3ZlcnRpY2VzLCBwbG90X2FyZ3M9M0ROb25lKToK
ICAgICAgICAgc3VwZXIoVHJpYW5nbGVGYWNldHNDYWxsYmFjaywgc2VsZikuX19pbml0X18oKQog
ICAgICAgICBzZWxmLnBsb3RfYXJncyA9M0Qge30gaWYgcGxvdF9hcmdzIGlzIE5vbmUgZWxzZSBw
bG90X2FyZ3MKCmRpZmYgLXIgOTcwZWJjNjkxNWI3YTgxZTNjMjYzNWViZDQ0OTYzMzM5ZmJiMDE2
MiAtciAxNzI1ZjYxNzdhN2ZjYmFjMDhhNjI3Zj0KZTQ4NGUxNjA5Y2M0YjkxOWYgeXQvdmlzdWFs
aXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFs
aXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFs
aXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKQEAgLTI5OSwxMCArMjk5
LDkgQEAKPTIwCiAgICAgZGVmIGJ1aWxkX21lc2goc2VsZik6CiAgICAgICAgIGZ0eXBlLCBmbmFt
ZSA9M0Qgc2VsZi5maWVsZAotICAgICAgICBwcmludCBmdHlwZSwgZm5hbWUKICAgICAgICAgbWVz
aF9pZCA9M0QgaW50KGZ0eXBlWy0xXSkgLSAxCiAgICAgICAgIGluZGV4ID0zRCBzZWxmLmRhdGFf
c291cmNlLmRzLmluZGV4Ci0gICAgICAgIG9mZnNldCA9M0QgaW5kZXguaW8uX0lOREVYX09GRlNF
VAorICAgICAgICBvZmZzZXQgPTNEIGluZGV4Lm1lc2hlc1ttZXNoX2lkXS5faW5kZXhfb2Zmc2V0
CiAgICAgICAgIGZpZWxkX2RhdGEgPTNEIHNlbGYuZGF0YV9zb3VyY2Vbc2VsZi5maWVsZF0KICAg
ICAgICAgdmVydGljZXMgPTNEIGluZGV4Lm1lc2hlc1ttZXNoX2lkXS5jb25uZWN0aXZpdHlfY29v
cmRzCiAgICAgICAgIGluZGljZXMgPTNEIGluZGV4Lm1lc2hlc1ttZXNoX2lkXS5jb25uZWN0aXZp
dHlfaW5kaWNlcyAtIG9mZnNldAoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95
dC9jb21taXRzLzMzZTVmYWQwYjZlMi8KQ2hhbmdlc2V0OiAgIDMzZTVmYWQwYjZlMgpCcmFuY2g6
ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMjIgMDQ6
NDQ6NTQrMDA6MDAKU3VtbWFyeTogICAgIHRoZXNlIGFyZSBzb21lIGNoYW5nZXMgdG8gdGhlIHN0
cmVhbSB1bnN0cnVjdHVyZWQgbWVzaCBmcm9udGVuPQpkIHRoYXQgYWxsb3cgZm9yIHNwZWNpZnlp
bmcgZWl0aGVyIG5vZGUtY2VudGVyZWQgb3IgZWxlbWVudC1jZW50ZXJlZCBmaWVsZHMKQWZmZWN0
ZWQgIzogIDMgZmlsZXMKCmRpZmYgLXIgMTcyNWY2MTc3YTdmY2JhYzA4YTYyN2ZlNDg0ZTE2MDlj
YzRiOTE5ZiAtciAzM2U1ZmFkMGI2ZTJjMjc2ZDljZDUyNT0KNzhkN2JkMWZjMjU0OWI1MmQgeXQv
ZnJvbnRlbmRzL3N0cmVhbS9kYXRhX3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL3N0
cmVhbS9kYXRhX3N0cnVjdHVyZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL3N0cmVhbS9kYXRhX3N0
cnVjdHVyZXMucHkKQEAgLTE0NSw3ICsxNDUsNyBAQAogICAgICAgICBzZWxmLmlvID0zRCBpbwog
ICAgICAgICBzZWxmLnBhcnRpY2xlX3R5cGVzID0zRCBwYXJ0aWNsZV90eXBlcwogICAgICAgICBz
ZWxmLnBlcmlvZGljaXR5ID0zRCBwZXJpb2RpY2l0eQotICAgICAgICAgICA9MjAKKwogICAgIGRl
ZiBnZXRfZmllbGRzKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5maWVsZHMuYWxsX2ZpZWxk
cwo9MjAKQEAgLTE1NSw3ICsxNTUsNyBAQAogICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFydGlj
bGVfdHlwZXNbZmllbGRdCiAgICAgICAgIGVsc2UgOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNl
Ci0gICAgICAgPTIwCisKIGNsYXNzIFN0cmVhbUhpZXJhcmNoeShHcmlkSW5kZXgpOgo9MjAKICAg
ICBncmlkID0zRCBTdHJlYW1HcmlkCkBAIC0xNTMyLDkgKzE1MzIsOSBAQAo9MjAKICAgICBmaWVs
ZF91bml0cywgZGF0YSA9M0QgdW5pdGlmeV9kYXRhKGRhdGEpCiAgICAgc2ZoID0zRCBTdHJlYW1E
aWN0RmllbGRIYW5kbGVyKCkKLSAgID0yMAorCiAgICAgcGFydGljbGVfdHlwZXMgPTNEIHNldF9w
YXJ0aWNsZV90eXBlcyhkYXRhKQotICAgPTIwCisKICAgICBzZmgudXBkYXRlKHswOmRhdGF9KQog
ICAgIGdyaWRfbGVmdF9lZGdlcyA9M0QgZG9tYWluX2xlZnRfZWRnZQogICAgIGdyaWRfcmlnaHRf
ZWRnZXMgPTNEIGRvbWFpbl9yaWdodF9lZGdlCkBAIC0xNjE5LDEyICsxNjE5LDEyIEBACiAgICAg
X2RhdGFzZXRfdHlwZSA9M0QgInN0cmVhbV91bnN0cnVjdHVyZWQiCj0yMAo9MjAKLWRlZiBsb2Fk
X3Vuc3RydWN0dXJlZF9tZXNoKGRhdGEsIGNvbm5lY3Rpdml0eSwgY29vcmRpbmF0ZXMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoX3VuaXQgPTNEIE5vbmUsIGJib3g9M0ROb25lLCBz
aW1fdGltZT0zRDAuMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBtYXNzX3VuaXQgPTNEIE5v
bmUsIHRpbWVfdW5pdCA9M0QgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ZWxvY2l0
eV91bml0ID0zRCBOb25lLCBtYWduZXRpY191bml0ID0zRCBOb25lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHBlcmlvZGljaXR5PTNEKEZhbHNlLCBGYWxzZSwgRmFsc2UpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgIGdlb21ldHJ5ID0zRCAiY2FydGVzaWFuIik6CitkZWYgbG9hZF91bnN0
cnVjdHVyZWRfbWVzaChjb25uZWN0aXZpdHksIGNvb3JkaW5hdGVzLCBub2RlX2RhdGE9M0ROb25l
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbV9kYXRhPTNETm9uZSwgbGVuZ3RoX3Vu
aXQ9M0ROb25lLCBiYm94PTNETm89Cm5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lt
X3RpbWU9M0QwLjAsIG1hc3NfdW5pdD0zRE5vbmUsIHRpbWVfdW5pdD0zRE49Cm9uZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZlbG9jaXR5X3VuaXQ9M0ROb25lLCBtYWduZXRpY191bml0
PTNETm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmlvZGljaXR5PTNEKEZhbHNl
LCBGYWxzZSwgRmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VvbWV0cnkgPTNE
ICJjYXJ0ZXNpYW4iKToKICAgICByIiIiTG9hZCBhbiB1bnN0cnVjdHVyZWQgbWVzaCBvZiBkYXRh
IGludG8geXQgYXMgYQogICAgIDpjbGFzczpgfnl0LmZyb250ZW5kcy5zdHJlYW0uZGF0YV9zdHJ1
Y3R1cmVzLlN0cmVhbUhhbmRsZXJgLgo9MjAKQEAgLTE2MzgsMTAgKzE2MzgsNiBAQAo9MjAKICAg
ICBQYXJhbWV0ZXJzCiAgICAgLS0tLS0tLS0tLQotICAgIGRhdGEgOiBkaWN0IG9yIGxpc3Qgb2Yg
ZGljdHMKLSAgICAgICAgVGhpcyBpcyBhIGxpc3Qgb2YgZGljdHMgb2YgbnVtcHkgYXJyYXlzLCB3
aGVyZSBlYWNoIGVsZW1lbnQgaW4gdGhlPQogbGlzdAotICAgICAgICBpcyBhIGRpZmZlcmVudCBt
ZXNoLCBhbmQgd2hlcmUgdGhlIGtleXMgb2YgZGljdHMgYXJlIHRoZSBmaWVsZCBuYW09CmVzLgot
ICAgICAgICBJZiBhIGRpY3QgaXMgc3VwcGxpZWQsIHRoaXMgd2lsbCBiZSBhc3N1bWVkIHRvIGJl
IHRoZSBvbmx5IG1lc2guCiAgICAgY29ubmVjdGl2aXR5IDogbGlzdCBvZiBhcnJheV9saWtlIG9y
IGFycmF5X2xpa2UKICAgICAgICAgVGhpcyBpcyB0aGUgY29ubmVjdGl2aXR5IGFycmF5IGZvciB0
aGUgbWVzaGVzOyB0aGlzIHNob3VsZCBlaXRoZXIgPQpiZSBhCiAgICAgICAgIGxpc3Qgd2hlcmUg
ZWFjaCBlbGVtZW50IGluIHRoZSBsaXN0IGlzIGEgbnVtcHkgYXJyYXkgb3IgYSBzaW5nbGUgbj0K
dW1weQpAQCAtMTY1MSw2ICsxNjQ3LDE4IEBACiAgICAgY29vcmRpbmF0ZXMgOiBhcnJheV9saWtl
CiAgICAgICAgIFRoaXMgc2hvdWxkIGJlIG9mIHNpemUgKEwsMykgd2hlcmUgTCBpcyB0aGUgbnVt
YmVyIG9mIHZlcnRpY2VzCiAgICAgICAgIGluZGljYXRlZCBpbiB0aGUgY29ubmVjdGl2aXR5IG1h
dHJpeC4KKyAgICBub2RlX2RhdGEgOiBkaWN0IG9yIGxpc3Qgb2YgZGljdHMKKyAgICAgICAgVGhp
cyBpcyBhIGxpc3Qgb2YgZGljdHMgb2YgbnVtcHkgYXJyYXlzLCB3aGVyZSBlYWNoIGVsZW1lbnQg
aW4gdGhlPQogbGlzdAorICAgICAgICBpcyBhIGRpZmZlcmVudCBtZXNoLCBhbmQgd2hlcmUgdGhl
IGtleXMgb2YgZGljdHMgYXJlIHRoZSBmaWVsZCBuYW09CmVzLgorICAgICAgICBJZiBhIGRpY3Qg
aXMgc3VwcGxpZWQsIHRoaXMgd2lsbCBiZSBhc3N1bWVkIHRvIGJlIHRoZSBvbmx5IG1lc2guIFQ9
Cmhlc2UKKyAgICAgICAgZGF0YSBmaWVsZHMgYXJlIGFzc3VtZWQgdG8gYmUgbm9kZS1jZW50ZXJl
ZCwgaS5lLiB0aGVyZSBtdXN0IGJlIG9uZQorICAgICAgICB2YWx1ZSBmb3IgZXZlcnkgbm9kZSBp
biB0aGUgbWVzaC4KKyAgICBlbGVtX2RhdGEgOiBkaWN0IG9yIGxpc3Qgb2YgZGljdHMKKyAgICAg
ICAgVGhpcyBpcyBhIGxpc3Qgb2YgZGljdHMgb2YgbnVtcHkgYXJyYXlzLCB3aGVyZSBlYWNoIGVs
ZW1lbnQgaW4gdGhlPQogbGlzdAorICAgICAgICBpcyBhIGRpZmZlcmVudCBtZXNoLCBhbmQgd2hl
cmUgdGhlIGtleXMgb2YgZGljdHMgYXJlIHRoZSBmaWVsZCBuYW09CmVzLgorICAgICAgICBJZiBh
IGRpY3QgaXMgc3VwcGxpZWQsIHRoaXMgd2lsbCBiZSBhc3N1bWVkIHRvIGJlIHRoZSBvbmx5IG1l
c2guIFQ9Cmhlc2UKKyAgICAgICAgZGF0YSBmaWVsZHMgYXJlIGFzc3VtZWQgdG8gYmUgZWxlbWVu
dC1jZW50ZXJlZCwgaS5lLiB0aGVyZSBtdXN0IGJlPQogb25seQorICAgICAgICBvbmUgdmFsdWUg
Zm9yIGV2ZXJ5IGVsZW1lbnQgaW4gdGhlIG1lc2guCiAgICAgYmJveCA6IGFycmF5X2xpa2UgKHhk
aW06emRpbSwgTEU6UkUpLCBvcHRpb25hbAogICAgICAgICBTaXplIG9mIGNvbXB1dGF0aW9uYWwg
ZG9tYWluIGluIHVuaXRzIG9mIHRoZSBsZW5ndGggdW5pdC4KICAgICBzaW1fdGltZSA6IGZsb2F0
LCBvcHRpb25hbApAQCAtMTY3OCw4ICsxNjg2LDMzIEBACj0yMAogICAgIGRvbWFpbl9kaW1lbnNp
b25zID0zRCBucC5vbmVzKDMsICJpbnQzMiIpICogMgogICAgIG5wcm9jcyA9M0QgMQorCisgICAg
aWYgZWxlbV9kYXRhIGlzIE5vbmUgYW5kIG5vZGVfZGF0YSBpcyBOb25lOgorICAgICAgICByYWlz
ZSBSdW50aW1lRXJyb3IoIk5vIGRhdGEgc3VwcGxpZWQgaW4gbG9hZF91bnN0cnVjdHVyZWRfbWVz
aC4iKQorCisgICAgaWYgaXNpbnN0YW5jZShjb25uZWN0aXZpdHksIGxpc3QpOgorICAgICAgICBu
dW1fbWVzaGVzID0zRCBsZW4oY29ubmVjdGl2aXR5KQorICAgIGVsc2U6CisgICAgICAgIG51bV9t
ZXNoZXMgPTNEIDEKKyAgICBjb25uZWN0aXZpdHkgPTNEIGVuc3VyZV9saXN0KGNvbm5lY3Rpdml0
eSkKKworICAgIGlmIGVsZW1fZGF0YSBpcyBOb25lOgorICAgICAgICBlbGVtX2RhdGEgPTNEIFt7
fSBmb3IgaSBpbiByYW5nZShudW1fbWVzaGVzKV0KKyAgICBlbGVtX2RhdGEgPTNEIGVuc3VyZV9s
aXN0KGVsZW1fZGF0YSkKKworICAgIGlmIG5vZGVfZGF0YSBpcyBOb25lOgorICAgICAgICBub2Rl
X2RhdGEgPTNEIFt7fSBmb3IgaSBpbiByYW5nZShudW1fbWVzaGVzKV0KKyAgICBub2RlX2RhdGEg
PTNEIGVuc3VyZV9saXN0KG5vZGVfZGF0YSkKKworICAgIGRhdGEgPTNEIFt7fSBmb3IgaSBpbiBy
YW5nZShudW1fbWVzaGVzKV0KKyAgICBmb3IgZWxlbV9kaWN0LCBkYXRhX2RpY3QgaW4gemlwKGVs
ZW1fZGF0YSwgZGF0YSk6CisgICAgICAgIGZvciBmaWVsZCwgdmFsdWVzIGluIGVsZW1fZGljdC5p
dGVtcygpOgorICAgICAgICAgICAgZGF0YV9kaWN0W2ZpZWxkXSA9M0QgdmFsdWVzCisgICAgZm9y
IG5vZGVfZGljdCwgZGF0YV9kaWN0IGluIHppcChub2RlX2RhdGEsIGRhdGEpOgorICAgICAgICBm
b3IgZmllbGQsIHZhbHVlcyBpbiBub2RlX2RpY3QuaXRlbXMoKToKKyAgICAgICAgICAgIGRhdGFf
ZGljdFtmaWVsZF0gPTNEIHZhbHVlcwogICAgIGRhdGEgPTNEIGVuc3VyZV9saXN0KGRhdGEpCi0g
ICAgY29ubmVjdGl2aXR5ID0zRCBlbnN1cmVfbGlzdChjb25uZWN0aXZpdHkpCisKICAgICBpZiBi
Ym94IGlzIE5vbmU6CiAgICAgICAgIGJib3ggPTNEIG5wLmFycmF5KFtbY29vcmRpbmF0ZXNbOixp
XS5taW4oKSAtIDAuMSAqIGFicyhjb29yZGluYXRlcz0KWzosaV0ubWluKCkpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb29yZGluYXRlc1s6LGldLm1heCgpICsgMC4xICogYWJzKGNvb3Jk
aW5hdGVzWzo9CixpXS5tYXgoKSldCkBAIC0xNzQ5LDQgKzE3ODIsMTIgQEAKPTIwCiAgICAgc2Rz
ID0zRCBTdHJlYW1VbnN0cnVjdHVyZWRNZXNoRGF0YXNldChoYW5kbGVyLCBnZW9tZXRyeSA9M0Qg
Z2VvbWV0cnkpCj0yMAorICAgIGZsdWlkX3R5cGVzID0zRCAoKQorICAgIGZvciBpIGluIHJhbmdl
KDEsIG51bV9tZXNoZXMgKyAxKToKKyAgICAgICAgZmx1aWRfdHlwZXMgKz0zRCAoJ2Nvbm5lY3Ql
ZCcgJSBpLCkKKyAgICBzZHMuZmx1aWRfdHlwZXMgPTNEIGZsdWlkX3R5cGVzCisKKyAgICBzZHMu
X25vZGVfZmllbGRzID0zRCBub2RlX2RhdGFbMF0ua2V5cygpCisgICAgc2RzLl9lbGVtX2ZpZWxk
cyA9M0QgZWxlbV9kYXRhWzBdLmtleXMoKQorCiAgICAgcmV0dXJuIHNkcwoKZGlmZiAtciAxNzI1
ZjYxNzdhN2ZjYmFjMDhhNjI3ZmU0ODRlMTYwOWNjNGI5MTlmIC1yIDMzZTVmYWQwYjZlMmMyNzZk
OWNkNTI1PQo3OGQ3YmQxZmMyNTQ5YjUyZCB5dC9mcm9udGVuZHMvc3RyZWFtL2lvLnB5Ci0tLSBh
L3l0L2Zyb250ZW5kcy9zdHJlYW0vaW8ucHkKKysrIGIveXQvZnJvbnRlbmRzL3N0cmVhbS9pby5w
eQpAQCAtMjU5LDcgKzI1OSw2IEBACj0yMAogY2xhc3MgSU9IYW5kbGVyU3RyZWFtVW5zdHJ1Y3R1
cmVkKEJhc2VJT0hhbmRsZXIpOgogICAgIF9kYXRhc2V0X3R5cGUgPTNEICJzdHJlYW1fdW5zdHJ1
Y3R1cmVkIgotICAgIF9ub2RlX3R5cGVzID0zRCAoImRpZmZ1c2VkIiwgImNvbnZlY3RlZCIsICJ1
IiwgInRlbXAiKQo9MjAKICAgICBkZWYgX19pbml0X18oc2VsZiwgZHMpOgogICAgICAgICBzZWxm
LmZpZWxkcyA9M0QgZHMuc3RyZWFtX2hhbmRsZXIuZmllbGRzCkBAIC0yNzMsNyArMjcyLDcgQEAK
ICAgICAgICAgZm9yIGZpZWxkIGluIGZpZWxkczoKICAgICAgICAgICAgIGZ0eXBlLCBmbmFtZSA9
M0QgZmllbGQKICAgICAgICAgICAgIG5vZGVzX3Blcl9lbGVtZW50ID0zRCBzZWxmLmZpZWxkc1tt
ZXNoX2lkXVtmaWVsZF0uc2hhcGVbMV0KLSAgICAgICAgICAgIGlmIGZuYW1lIGluIHNlbGYuX25v
ZGVfdHlwZXM6CisgICAgICAgICAgICBpZiBmaWVsZCBpbiBzZWxmLmRzLl9ub2RlX2ZpZWxkczoK
ICAgICAgICAgICAgICAgICBydltmaWVsZF0gPTNEIG5wLmVtcHR5KChzaXplLCBub2Rlc19wZXJf
ZWxlbWVudCksIGR0eXBlPTNEPQoiZmxvYXQ2NCIpCiAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgIHJ2W2ZpZWxkXSA9M0QgbnAuZW1wdHkoc2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIp
CgpkaWZmIC1yIDE3MjVmNjE3N2E3ZmNiYWMwOGE2MjdmZTQ4NGUxNjA5Y2M0YjkxOWYgLXIgMzNl
NWZhZDBiNmUyYzI3NmQ5Y2Q1MjU9Cjc4ZDdiZDFmYzI1NDliNTJkIHl0L3Zpc3VhbGl6YXRpb24v
dm9sdW1lX3JlbmRlcmluZy90ZXN0cy90ZXN0X21lc2hfcmVuZGVyLj0KcHkKLS0tIGEveXQvdmlz
dWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3Rlc3RzL3Rlc3RfbWVzaF9yZW5kZXIucHkKKysr
IGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3Rlc3RzL3Rlc3RfbWVzaF9yZW5k
ZXIucHkKQEAgLTIzLDkgKzIzLDkgQEAKIEByZXF1aXJlc19tb2R1bGUoInB5ZW1icmVlIikKIGRl
ZiB0ZXN0X3N1cmZhY2VfbWVzaF9yZW5kZXIoKToKICAgICBkYXRhID0zRHt9Ci0gICAgZGF0YVso
J2dhcycsICdkaWZmdXNlZCcpXSA9M0QgbnAub25lc19saWtlKF9jb25uZWN0aXZpdHkpCi0gICAg
ZHMgPTNEIHl0LmxvYWRfdW5zdHJ1Y3R1cmVkX21lc2goZGF0YSwgX2Nvbm5lY3Rpdml0eSwgX2Nv
b3JkaW5hdGVzKQotICAgIG1zID0zRCBNZXNoU291cmNlKGRzLCAoJ2dhcycsICdkaWZmdXNlZCcp
KQorICAgIGRhdGFbKCdjb25uZWN0MScsICd0ZXN0JyldID0zRCBucC5vbmVzX2xpa2UoX2Nvbm5l
Y3Rpdml0eSkKKyAgICBkcyA9M0QgeXQubG9hZF91bnN0cnVjdHVyZWRfbWVzaChfY29ubmVjdGl2
aXR5LCBfY29vcmRpbmF0ZXMsIG5vZGVfZGF0PQphPTNEZGF0YSkKKyAgICBtcyA9M0QgTWVzaFNv
dXJjZShkcywgKCdjb25uZWN0MScsICd0ZXN0JykpCiAgICAgY2FtID0zRCBDYW1lcmEoZHMpCiAg
ICAgaW0gPTNEIG1zLnJlbmRlcihjYW0pCiAgICAgcmV0dXJuIGltCgoKaHR0cHM6Ly9iaXRidWNr
ZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNTg2MmYwY2NlMTIxLwpDaGFuZ2VzZXQ6ICAg
NTg2MmYwY2NlMTIxCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAg
ICAgICAgMjAxNS0wOC0yMiAwNDo1NjoyMCswMDowMApTdW1tYXJ5OiAgICAgaW1wbGVtZW50aW5n
IGZha2VfdGV0cmFoZWRyYWxfZHMKQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIgMzNlNWZh
ZDBiNmUyYzI3NmQ5Y2Q1MjU3OGQ3YmQxZmMyNTQ5YjUyZCAtciA1ODYyZjBjY2UxMjFmZDcwMzk1
NWMzYj0KOGFjMGZkNzhiNjMyYTY2YjggeXQvdGVzdGluZy5weQotLS0gYS95dC90ZXN0aW5nLnB5
CisrKyBiL3l0L3Rlc3RpbmcucHkKQEAgLTI1OSw2ICsyNTksMTcgQEAKICAgICBkcyA9M0QgbG9h
ZF9wYXJ0aWNsZXMoZGF0YSwgMS4wLCBiYm94PTNEYmJveCkKICAgICByZXR1cm4gZHMKPTIwCisK
K2RlZiBmYWtlX3RldHJhaGVkcmFsX2RzKCk6CisgICAgZnJvbSB5dC5mcm9udGVuZHMuc3RyZWFt
LmFwaSBpbXBvcnQgbG9hZF91bnN0cnVjdHVyZWRfbWVzaAorICAgIGZyb20geXQuZnJvbnRlbmRz
LnN0cmVhbS5zYW1wbGVfZGF0YS51bnN0cnVjdHVyZWRfbWVzaCBpbXBvcnQgXAorICAgICAgICBf
Y29ubmVjdGl2aXR5LCBfY29vcmRpbmF0ZXMKKyAgICBkYXRhID0zRCB7fQorICAgIGRhdGFbKCdj
b25uZWN0MScsICd0ZXN0JyldID0zRCBucC5vbmVzX2xpa2UoX2Nvbm5lY3Rpdml0eSkKKyAgICBk
cyA9M0QgbG9hZF91bnN0cnVjdHVyZWRfbWVzaChfY29ubmVjdGl2aXR5LCBfY29vcmRpbmF0ZXMs
IG5vZGVfZGF0YT0KPTNEZGF0YSkKKyAgICByZXR1cm4gZHMKKworCiBkZWYgZXhwYW5kX2tleXdv
cmRzKGtleXdvcmRzLCBmdWxsPTNERmFsc2UpOgogICAgICIiIgogICAgIGV4cGFuZF9rZXl3b3Jk
cyBpcyBhIG1lYW5zIGZvciB0ZXN0aW5nIGFsbCBwb3NzaWJsZSBrZXl3b3JkCgpkaWZmIC1yIDMz
ZTVmYWQwYjZlMmMyNzZkOWNkNTI1NzhkN2JkMWZjMjU0OWI1MmQgLXIgNTg2MmYwY2NlMTIxZmQ3
MDM5NTVjM2I9CjhhYzBmZDc4YjYzMmE2NmI4IHl0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRl
cmluZy90ZXN0cy90ZXN0X21lc2hfcmVuZGVyLj0KcHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92
b2x1bWVfcmVuZGVyaW5nL3Rlc3RzL3Rlc3RfbWVzaF9yZW5kZXIucHkKKysrIGIveXQvdmlzdWFs
aXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3Rlc3RzL3Rlc3RfbWVzaF9yZW5kZXIucHkKQEAgLTEz
LDYgKzEzLDcgQEAKPTIwCiBpbXBvcnQgeXQKIGltcG9ydCBudW1weSBhcyBucAorZnJvbSB5dC50
ZXN0aW5nIGltcG9ydCBmYWtlX3RldHJhaGVkcmFsX2RzCiBmcm9tIHl0LnRlc3RpbmcgaW1wb3J0
IHJlcXVpcmVzX21vZHVsZQogZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcu
cmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNvdXJjZQogZnJvbSB5dC52aXN1YWxpemF0aW9uLnZv
bHVtZV9yZW5kZXJpbmcuY2FtZXJhIGltcG9ydCBDYW1lcmEKQEAgLTIyLDkgKzIzLDcgQEAKPTIw
CiBAcmVxdWlyZXNfbW9kdWxlKCJweWVtYnJlZSIpCiBkZWYgdGVzdF9zdXJmYWNlX21lc2hfcmVu
ZGVyKCk6Ci0gICAgZGF0YSA9M0R7fQotICAgIGRhdGFbKCdjb25uZWN0MScsICd0ZXN0JyldID0z
RCBucC5vbmVzX2xpa2UoX2Nvbm5lY3Rpdml0eSkKLSAgICBkcyA9M0QgeXQubG9hZF91bnN0cnVj
dHVyZWRfbWVzaChfY29ubmVjdGl2aXR5LCBfY29vcmRpbmF0ZXMsIG5vZGVfZGF0PQphPTNEZGF0
YSkKKyAgICBkcyA9M0QgZmFrZV90ZXRyYWhlZHJhbF9kcygpCiAgICAgbXMgPTNEIE1lc2hTb3Vy
Y2UoZHMsICgnY29ubmVjdDEnLCAndGVzdCcpKQogICAgIGNhbSA9M0QgQ2FtZXJhKGRzKQogICAg
IGltID0zRCBtcy5yZW5kZXIoY2FtKQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNp
cy95dC9jb21taXRzLzkzNGE1N2FiZjQ5ZC8KQ2hhbmdlc2V0OiAgIDkzNGE1N2FiZjQ5ZApCcmFu
Y2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMjIg
MDU6MDM6NDUrMDA6MDAKU3VtbWFyeTogICAgIG1ha2UgdGhlIGZpZWxkIHVzZWQgYnkgZmFrZV90
ZXRyYWhlZHJhbF9kcyBhIGxpdHRsZSBtb3JlIGludGVyPQplc3RpbmcKQWZmZWN0ZWQgIzogIDEg
ZmlsZQoKZGlmZiAtciA1ODYyZjBjY2UxMjFmZDcwMzk1NWMzYjhhYzBmZDc4YjYzMmE2NmI4IC1y
IDkzNGE1N2FiZjQ5ZDUwNTllODU2NzFlPQozNjAyYjZiOTJkZDczMmIwZSB5dC90ZXN0aW5nLnB5
Ci0tLSBhL3l0L3Rlc3RpbmcucHkKKysrIGIveXQvdGVzdGluZy5weQpAQCAtMjY1LDcgKzI2NSw4
IEBACiAgICAgZnJvbSB5dC5mcm9udGVuZHMuc3RyZWFtLnNhbXBsZV9kYXRhLnVuc3RydWN0dXJl
ZF9tZXNoIGltcG9ydCBcCiAgICAgICAgIF9jb25uZWN0aXZpdHksIF9jb29yZGluYXRlcwogICAg
IGRhdGEgPTNEIHt9Ci0gICAgZGF0YVsoJ2Nvbm5lY3QxJywgJ3Rlc3QnKV0gPTNEIG5wLm9uZXNf
bGlrZShfY29ubmVjdGl2aXR5KQorICAgIGRpc3QgPTNEIG5wLnN1bShfY29vcmRpbmF0ZXMqKjIs
IDEpCisgICAgZGF0YVsoJ2Nvbm5lY3QxJywgJ3Rlc3QnKV0gPTNEIGRpc3RbX2Nvbm5lY3Rpdml0
eV0KICAgICBkcyA9M0QgbG9hZF91bnN0cnVjdHVyZWRfbWVzaChfY29ubmVjdGl2aXR5LCBfY29v
cmRpbmF0ZXMsIG5vZGVfZGF0YT0KPTNEZGF0YSkKICAgICByZXR1cm4gZHMKPTIwCgoKaHR0cHM6
Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvYjRkNTNmNzEwOTkyLwpDaGFu
Z2VzZXQ6ICAgYjRkNTNmNzEwOTkyCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVy
cwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMiAwNTowNjowOCswMDowMApTdW1tYXJ5OiAgICAgY29u
bmVjdGl2aXR5IGluZGV4IGJlbG9uZ3MgdG8gdGhlIG1lc2hlcywgbm90IHRoZSBpbmRleApBZmZl
Y3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDkzNGE1N2FiZjQ5ZDUwNTllODU2NzFlMzYwMmI2Yjky
ZGQ3MzJiMGUgLXIgYjRkNTNmNzEwOTkyZDBmMDkyZDRlMmQ9CmY5OWFjZGU2YzBkZmExNTg4IHl0
L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250ZW5k
cy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNf
aWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC00MSw4ICs0MSw2IEBACiBjbGFzcyBFeG9kdXNJSVVu
c3RydWN0dXJlZEluZGV4KFVuc3RydWN0dXJlZEluZGV4KToKICAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZHMsIGRhdGFzZXRfdHlwZSA9M0QgJ2V4b2R1c19paScpOgogICAgICAgICBzdXBlcihFeG9k
dXNJSVVuc3RydWN0dXJlZEluZGV4LCBzZWxmKS5fX2luaXRfXyhkcywgZGF0YXNldF90eXBlKQot
ICAgICAgICAjIGRvZXNuJ3QgdGhpcyBtZWFuIHdlIGNhbid0IGhhdmUgZGlmZmVyZW50IG1lc2gg
dHlwZXMgaW4gYSBzaW5nbGU9CiBpbmRleD8KLSAgICAgICAgc2VsZi5fY29ubmVjdGl2aXR5X2xl
bmd0aCA9M0Qgc2VsZi5tZXNoZXNbMF0uY29ubmVjdGl2aXR5X2luZGljZXMuPQpzaGFwZVsxXQo9
MjAKICAgICBkZWYgX2luaXRpYWxpemVfbWVzaChzZWxmKToKICAgICAgICAgY29vcmRzID0zRCBz
ZWxmLmRzLl9yZWFkX2Nvb3JkaW5hdGVzKCkKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5h
bHlzaXMveXQvY29tbWl0cy9iYjlmYWQwNzc2NjQvCkNoYW5nZXNldDogICBiYjlmYWQwNzc2NjQK
QnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4
LTIyIDA1OjA3OjM5KzAwOjAwClN1bW1hcnk6ICAgICByZW1vdmluZyBhIGZldyBmdW5jdGlvbnMg
dGhhdCBkb24ndCBnZXQgdXNlZCBhbnltb3JlCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIg
YjRkNTNmNzEwOTkyZDBmMDkyZDRlMmRmOTlhY2RlNmMwZGZhMTU4OCAtciBiYjlmYWQwNzc2NjQ2
YWM2Y2IxYzZhMz0KZTYyMmExNTdlNGQwNTk4YzQgeXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRh
X3N0cnVjdHVyZXMucHkKLS0tIGEveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVy
ZXMucHkKKysrIGIveXQvZnJvbnRlbmRzL2V4b2R1c19paS9kYXRhX3N0cnVjdHVyZXMucHkKQEAg
LTcyLDEzICs3MiwxMyBAQAogICAgICAgICAgICAgICAgICBzdG9yYWdlX2ZpbGVuYW1lPTNETm9u
ZSwKICAgICAgICAgICAgICAgICAgdW5pdHNfb3ZlcnJpZGU9M0ROb25lKToKPTIwCi0gICAgICAg
IHNlbGYucGFyYW1ldGVyX2ZpbGVuYW1lICAgICAgICAgPTNEIGZpbGVuYW1lCisgICAgICAgIHNl
bGYucGFyYW1ldGVyX2ZpbGVuYW1lID0zRCBmaWxlbmFtZQogICAgICAgICBzZWxmLmZsdWlkX3R5
cGVzICs9M0Qgc2VsZi5fZ2V0X2ZsdWlkX3R5cGVzKCkKLSAgICAgICAgc2VsZi5zdGVwICAgICAg
ICAgICAgICAgICAgICAgICA9M0Qgc3RlcAorICAgICAgICBzZWxmLnN0ZXAgPTNEIHN0ZXAKICAg
ICAgICAgRGF0YXNldC5fX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgZGF0YXNldF90eXBlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlID0zRCB1bml0c19vdmVycmlkZSkK
LSAgICAgICAgc2VsZi5pbmRleF9maWxlbmFtZSAgICAgICAgICAgICA9M0QgZmlsZW5hbWUKLSAg
ICAgICAgc2VsZi5zdG9yYWdlX2ZpbGVuYW1lICAgICAgICAgICA9M0Qgc3RvcmFnZV9maWxlbmFt
ZQorICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXRzX292ZXJyaWRlPTNEdW5pdHNfb3ZlcnJp
ZGUpCisgICAgICAgIHNlbGYuaW5kZXhfZmlsZW5hbWUgPTNEIGZpbGVuYW1lCisgICAgICAgIHNl
bGYuc3RvcmFnZV9maWxlbmFtZSA9M0Qgc3RvcmFnZV9maWxlbmFtZQo9MjAKICAgICBkZWYgX3Nl
dF9jb2RlX3VuaXRfYXR0cmlidXRlcyhzZWxmKToKICAgICAgICAgIyBUaGlzIGlzIHdoZXJlIHF1
YW50aXRpZXMgYXJlIGNyZWF0ZWQgdGhhdCByZXByZXNlbnQgdGhlIHZhcmlvdXMKQEAgLTEzNCwx
NSArMTM0LDYgQEAKICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICByZXR1cm4gZmx1aWRf
dHlwZXMKPTIwCi0gICAgZGVmIF9sb2FkX3ZhcmlhYmxlcyhzZWxmKToKLSAgICAgICAgIiIiCi0g
ICAgICAgIExvYWRzIGVhY2gga2V5LXBhaXIgaW4gdGhlIEV4b2R1cyBJSSBpbnB1dCBmaWxlCi0g
ICAgICAgIGFzIGEgcGFyYW1ldGVyCi0gICAgICAgICIiIgotICAgICAgICBoYW5kbGUgPTNEIE5l
dENERjRGaWxlSGFuZGxlcihzZWxmLnBhcmFtZXRlcl9maWxlbmFtZSkuZGF0YXNldAotICAgICAg
ICBmb3Iga2V5IGluIGhhbmRsZS52YXJpYWJsZXMua2V5cygpOgotICAgICAgICAgICAgc2VsZi5w
YXJhbWV0ZXJzW2tleV0gPTNEIGhhbmRsZS52YXJpYWJsZXNba2V5XQotCiAgICAgZGVmIF9yZWFk
X2dsb192YXIoc2VsZik6CiAgICAgICAgICIiIgogICAgICAgICBBZGRzIGVhY2ggZ2xvYmFsIHZh
cmlhYmxlIHRvIHRoZSBkaWN0IG9mIHBhcmFtZXRlcnMKQEAgLTI0MSwyNyArMjMyLDYgQEAKICAg
ICAgICAgICAgIGNvbm5lY3Rpdml0eS5hcHBlbmQoc2VsZi5fdmFyc1siY29ubmVjdCVkIiAlIChp
KzEpXVs6XS5hc3R5cGUoPQoiaTgiKSkKICAgICAgICAgcmV0dXJuIGNvbm5lY3Rpdml0eQo9MjAK
LSAgICAjIGRlZiBfbG9hZF9kYXRhKHNlbGYpOgotICAgICMgICAgICIiIgotICAgICMgICAgIExv
YWRzIHRoZSBmbHVpZCBkYXRhCi0gICAgIyAgICAgIiIiCi0gICAgIyAgICAgZGF0YSA9M0QgW10K
LSAgICAjICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnBhcmFtZXRlcnNbJ251bV9tZXNoZXMnXSk6
Ci0gICAgIyAgICAgICAgIGNpID0zRCBzZWxmLnBhcmFtZXRlcnNbJ2Nvbm5lY3Rpdml0eSddW2ld
Ci0gICAgIyAgICAgICAgIHZhbHMgPTNEIHt9Ci0KLSAgICAjICAgICAgICAgZm9yIGosIGVsZW1f
bmFtZSBpbiBlbnVtZXJhdGUoc2VsZi5wYXJhbWV0ZXJzWydlbGVtX25hbWVzJ10pOgotICAgICMg
ICAgICAgICAgICAgdmFsc1snZ2FzJywgZWxlbV9uYW1lXSA9M0Qgc2VsZi5wYXJhbWV0ZXJzWyJ2
YWxzX2VsZW1fdmE9CnIlc2ViJXMiICUgKGorMSwgaSsxKV1bOl0uYXN0eXBlKCJmOCIpWy0xLDpd
Ci0KLSAgICAjICAgICAgICAgZm9yIGosIG5vZF9uYW1lIGluIGVudW1lcmF0ZShzZWxmLnBhcmFt
ZXRlcnNbJ25vZF9uYW1lcyddKToKLSAgICAjICAgICAgICAgICAgICMgV2Ugd2FudCBqdXN0IGZv
ciB0aGlzIHNldCBvZiBub2RlcyBhbGwgdGhlIG5vZGUgdmFyaWFiPQpsZXMKLSAgICAjICAgICAg
ICAgICAgICMgVXNlIChjaSAtIDEpIHRvIGdldCB0aGVzZSB2YWx1ZXMKLSAgICAjICAgICAgICAg
ICAgIHZhbHNbJ2dhcycsIG5vZF9uYW1lXSA9M0Qgc2VsZi5wYXJhbWV0ZXJzWyJ2YWxzX25vZF92
YXIlPQpzIiAlIChqKzEpXVs6XS5hc3R5cGUoImY4IilbLTEsIGNpIC0gMSwgLi4uXQotCi0gICAg
IyAgICAgICAgIGRhdGEuYXBwZW5kKHZhbHMpCi0KLSAgICAjICAgICByZXR1cm4gZGF0YQotCiAg
ICAgZGVmIF9sb2FkX2RvbWFpbl9lZGdlKHNlbGYsIGRvbWFpbl9pZHgpOgogICAgICAgICAiIiIK
ICAgICAgICAgTG9hZHMgdGhlIGJvdW5kYXJpZXMgZm9yIHRoZSBkb21haW4gZWRnZQoKCmh0dHBz
Oi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2M0OTE2N2E5NjIyYi8KQ2hh
bmdlc2V0OiAgIGM0OTE2N2E5NjIyYgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXll
cnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMjIgMjM6MDc6NDArMDA6MDAKU3VtbWFyeTogICAgIGRv
bid0IGdldCBub2Rlc19wZXJfZWxlbWVudCB1bnRpbCBhZnRlciB3ZSBrbm93IHdlIGhhdmUgYSBu
b2RlPQogZmllbGQuCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgYmI5ZmFkMDc3NjY0NmFj
NmNiMWM2YTNlNjIyYTE1N2U0ZDA1OThjNCAtciBjNDkxNjdhOTYyMmIyYmYwYzdmNGQ3MT0KYTEx
NDIwNWJkODFkNjMzMjggeXQvZnJvbnRlbmRzL3N0cmVhbS9pby5weQotLS0gYS95dC9mcm9udGVu
ZHMvc3RyZWFtL2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9zdHJlYW0vaW8ucHkKQEAgLTI3MSw4
ICsyNzEsOCBAQAogICAgICAgICBydiA9M0Qge30KICAgICAgICAgZm9yIGZpZWxkIGluIGZpZWxk
czoKICAgICAgICAgICAgIGZ0eXBlLCBmbmFtZSA9M0QgZmllbGQKLSAgICAgICAgICAgIG5vZGVz
X3Blcl9lbGVtZW50ID0zRCBzZWxmLmZpZWxkc1ttZXNoX2lkXVtmaWVsZF0uc2hhcGVbMV0KICAg
ICAgICAgICAgIGlmIGZpZWxkIGluIHNlbGYuZHMuX25vZGVfZmllbGRzOgorICAgICAgICAgICAg
ICAgIG5vZGVzX3Blcl9lbGVtZW50ID0zRCBzZWxmLmZpZWxkc1ttZXNoX2lkXVtmaWVsZF0uc2hh
cGVbMV0KICAgICAgICAgICAgICAgICBydltmaWVsZF0gPTNEIG5wLmVtcHR5KChzaXplLCBub2Rl
c19wZXJfZWxlbWVudCksIGR0eXBlPTNEPQoiZmxvYXQ2NCIpCiAgICAgICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgICAgIHJ2W2ZpZWxkXSA9M0QgbnAuZW1wdHkoc2l6ZSwgZHR5cGU9M0QiZmxv
YXQ2NCIpCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMjY5
OTg1YjdmOTE2LwpDaGFuZ2VzZXQ6ICAgMjY5OTg1YjdmOTE2CkJyYW5jaDogICAgICB5dApVc2Vy
OiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMiAyMzo0NzozMCswMDowMApT
dW1tYXJ5OiAgICAgYWRkIGRvYyBzdHJpbmcgZm9yIGFubm90YXRlX21lc2hfbGluZXMKQWZmZWN0
ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBjNDkxNjdhOTYyMmIyYmYwYzdmNGQ3MWExMTQyMDViZDgx
ZDYzMzI4IC1yIDI2OTk4NWI3ZjkxNjYzYjM1YmZiM2U4PQoyZDRkNGE2ZGI4YmZmODJmNSB5dC92
aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQotLS0gYS95dC92aXN1YWxpemF0aW9u
L3Bsb3RfbW9kaWZpY2F0aW9ucy5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZp
Y2F0aW9ucy5weQpAQCAtMTUxNCw2ICsxNTE0LDEzIEBACj0yMAogY2xhc3MgTWVzaExpbmVzQ2Fs
bGJhY2soUGxvdENhbGxiYWNrKToKICAgICAiIiIKKyAgICBhbm5vdGF0ZV9tZXNoX2xpbmVzKG1l
c2gsIHBsb3RfYXJncz0zRE5vbmUgKQorCisgICAgQWRkcyB0aGUgb3V0bGluZSBvZiB0aGUgbWVz
aCBsaW5lcyB0byB0aGUgcGxvdC4KKworICAgIFVzZXMgdGhlIGNvbm5lY3Rpdml0eSBhbmQgY29v
cmRpbmF0ZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbnB1dAorICAgIG1lc2ggdG8gYWRkIHRoZSBv
dXRsaW5lIG9mIHRoZSBlbGVtZW50IGJvdW5kYXJpZXMgdG8gdGhlIHBsb3QuCisgICAgQ3VycmVu
dGx5IG9ubHkgaW1wbGVtZW50ZWQgZm9yIHRldHJhaGVkcmFsIGNvb3JkaW5hdGVzLgo9MjAKICAg
ICAiIiIKICAgICBfdHlwZV9uYW1lID0zRCAibWVzaF9saW5lcyIKQEAgLTE1MzQsOSArMTU0MSw5
IEBACj0yMAogICAgICAgICBwb2ludHMgPTNEIGNvb3Jkc1tjb25uIC0gc2VsZi5tZXNoLl9pbmRl
eF9vZmZzZXRdCiAgICAgICAgIHRyaTEgPTNEIHBvaW50c1s6LCBbMCwgMSwgMl0sIDpdCi0gICAg
ICAgIHRyaTIgPTNEIHBvaW50c1s6LCBbMSwgMiwgM10sIDpdCisgICAgICAgIHRyaTIgPTNEIHBv
aW50c1s6LCBbMCwgMSwgM10sIDpdCiAgICAgICAgIHRyaTMgPTNEIHBvaW50c1s6LCBbMCwgMiwg
M10sIDpdCi0gICAgICAgIHRyaTQgPTNEIHBvaW50c1s6LCBbMCwgMSwgM10sIDpdCisgICAgICAg
IHRyaTQgPTNEIHBvaW50c1s6LCBbMSwgMiwgM10sIDpdCj0yMAogICAgICAgICB0cmlhbmdsZXMg
PTNEIG5wLmNvbmNhdGVuYXRlKCh0cmkxLCB0cmkyLCB0cmkzLCB0cmk0KSwgMCkKICAgICAgICAg
dGZjID0zRCBUcmlhbmdsZUZhY2V0c0NhbGxiYWNrKHRyaWFuZ2xlcywgc2VsZi5wbG90X2FyZ3Mp
CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZmEyMmRkYmFj
ZjQ3LwpDaGFuZ2VzZXQ6ICAgZmEyMmRkYmFjZjQ3CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAg
ICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMiAyMzo1NjoyMiswMDowMApTdW1tYXJ5
OiAgICAgZmlsbGluZyBpbiBkb2NzdHJpbmcgZm9yIE1lc2hTb3VyY2UKQWZmZWN0ZWQgIzogIDEg
ZmlsZQoKZGlmZiAtciAyNjk5ODViN2Y5MTY2M2IzNWJmYjNlODJkNGQ0YTZkYjhiZmY4MmY1IC1y
IGZhMjJkZGJhY2Y0N2Q0MDA1MTMzNmJkPQplZWIxNGQxMmY5N2FhNDhlNiB5dC92aXN1YWxpemF0
aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQotLS0gYS95dC92aXN1YWxpemF0
aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQorKysgYi95dC92aXN1YWxpemF0
aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQpAQCAtMjUxLDcgKzI1MSwxNCBA
QAo9MjAKIGNsYXNzIE1lc2hTb3VyY2UoUmVuZGVyU291cmNlKToKPTIwCi0gICAgIiIiZG9jc3Ry
aW5nIGZvciBNZXNoU291cmNlIiIiCisgICAgIiIiCisKKyAgICBNZXNoU291cmNlIGlzIGEgY2xh
c3MgZm9yIHZvbHVtZSByZW5kZXJpbmcgdW5zdHJ1Y3R1cmVkIG1lc2gKKyAgICBkYXRhLiBUaGlz
IGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgdGhlIGVtYnJlZSByYXktdHJhY2luZworICAgIGVuZ2lu
ZSBhbmQgdGhlIGFzc29jaWF0ZWQgcHllbWJyZWUgcHl0aG9uIGJpbmRpbmdzIHRvIGJlCisgICAg
aW5zdGFsbGVkIGluIG9yZGVyIHRvIGZ1bmN0aW9uLgorCisgICAgIiIiCiAgICAgX2ltYWdlID0z
RCBOb25lCiAgICAgZGF0YV9zb3VyY2UgPTNEIE5vbmUKPTIwCgoKaHR0cHM6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNjNiYTk1N2IyOGM5LwpDaGFuZ2VzZXQ6ICAgNjNi
YTk1N2IyOGM5CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAg
ICAgMjAxNS0wOC0yMyAwMDo1NzozNCswMDowMApTdW1tYXJ5OiAgICAgZml4aW5nIGF4aXMgb3Jk
ZXJpbmcgaXNzdWUgaW4gc2xpY2VwbG90cwpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciBm
YTIyZGRiYWNmNDdkNDAwNTEzMzZiZGVlYjE0ZDEyZjk3YWE0OGU2IC1yIDYzYmE5NTdiMjhjOTI1
ODk5MDlmYTMwPQpjMjczMmJlYjAwNmYyYTE1ZiB5dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0
ZXNpYW5fY29vcmRpbmF0ZXMucHkKLS0tIGEveXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVz
aWFuX2Nvb3JkaW5hdGVzLnB5CisrKyBiL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lh
bl9jb29yZGluYXRlcy5weQpAQCAtODcsNyArODcsMTIgQEAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBidWZmX3NpemUsIGZpZWxkX2RhdGEsIGJvdW5kcywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleF9vZmZzZXQ9M0RvZmZzZXQp
Cj0yMAotICAgICAgICAgICAgcmV0dXJuIG5wLnNxdWVlemUoaW1nKQorICAgICAgICAgICAgIyBy
ZS1vcmRlciB0aGUgYXJyYXkgYW5kIHNxdWVlemUgb3V0IHRoZSBkdW1teSBkaW0KKyAgICAgICAg
ICAgIGF4ID0zRCBkYXRhX3NvdXJjZS5heGlzCisgICAgICAgICAgICB4YXggPTNEIHNlbGYueF9h
eGlzW2F4XQorICAgICAgICAgICAgeWF4ID0zRCBzZWxmLnlfYXhpc1theF0KKyAgICAgICAgICAg
IHJldHVybiBucC5zcXVlZXplKG5wLnRyYW5zcG9zZShpbWcsICh5YXgsIHhheCwgYXgpKSkKKwog
ICAgICAgICBlbGlmIGRpbWVuc2lvbiA8IDM6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fb3J0
aG9fcGl4ZWxpemUoZGF0YV9zb3VyY2UsIGZpZWxkLCBib3VuZHMsIHNpemUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50aWFsaWFzLCBkaW1lbnNpb24sIHBlcmlv
ZGljKQoKZGlmZiAtciBmYTIyZGRiYWNmNDdkNDAwNTEzMzZiZGVlYjE0ZDEyZjk3YWE0OGU2IC1y
IDYzYmE5NTdiMjhjOTI1ODk5MDlmYTMwPQpjMjczMmJlYjAwNmYyYTE1ZiB5dC92aXN1YWxpemF0
aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQotLS0gYS95dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9k
aWZpY2F0aW9ucy5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5w
eQpAQCAtMTU4MSwxMiArMTU4MSwxNCBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgdmVy
dGljZXMgPTNEIHNlbGYudmVydGljZXMKICAgICAgICAgbF9jeSA9M0QgdHJpYW5nbGVfcGxhbmVf
aW50ZXJzZWN0KHBsb3QuZGF0YS5heGlzLCBwbG90LmRhdGEuY29vcmQsPQogdmVydGljZXMpWzos
OiwoeGF4LCB5YXgpXQorICAgICAgICAjIGxfY3kgaXMgc2hhcGUgKG5saW5lcywgMiwgMikKICAg
ICAgICAgIyByZWZvcm1hdCBmb3IgY29udmVyc2lvbiB0byBwbG90IGNvb3JkaW5hdGVzCiAgICAg
ICAgIGxfY3kgPTNEIG5wLnJvbGxheGlzKGxfY3ksMCwzKQogICAgICAgICAjIGNvbnZlcnQgYWxs
IGxpbmUgc3RhcnRpbmcgcG9pbnRzCiAgICAgICAgIGxfY3lbMF0gPTNEIHNlbGYuY29udmVydF90
b19wbG90KHBsb3QsbF9jeVswXSkKKyAgICAgICAgIyBjb252ZXJ0IGFsbCBsaW5lIGVuZGluZyBw
b2ludHMKICAgICAgICAgbF9jeVsxXSA9M0Qgc2VsZi5jb252ZXJ0X3RvX3Bsb3QocGxvdCxsX2N5
WzFdKQotICAgICAgICAjIGNvbnZlcnQgYWxsIGxpbmUgZW5kaW5nIHBvaW50cworICAgICAgICAj
IGNvbnZlcnQgYmFjayB0byBzaGFwZSAobmxpbmVzLCAyLCAyKQogICAgICAgICBsX2N5ID0zRCBu
cC5yb2xsYXhpcyhsX2N5LDIsMCkKICAgICAgICAgIyBjcmVhdGUgbGluZSBjb2xsZWN0aW9uIGFu
ZCBhZGQgaXQgdG8gdGhlIHBsb3QKICAgICAgICAgbGMgPTNEIG1hdHBsb3RsaWIuY29sbGVjdGlv
bnMuTGluZUNvbGxlY3Rpb24obF9jeSwgKipzZWxmLnBsb3RfYXJnPQpzKQoKCmh0dHBzOi8vYml0
YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2UwOTk2ODZkNTk5NC8KQ2hhbmdlc2V0
OiAgIGUwOTk2ODZkNTk5NApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0
ZTogICAgICAgIDIwMTUtMDgtMjMgMDE6MTY6MDgrMDA6MDAKU3VtbWFyeTogICAgIGFkZCBhbiBl
bGVtZW50IGZpZWxkIHRvIGZha2VfdGV0cmFoZWRyYWxfZHMKQWZmZWN0ZWQgIzogIDEgZmlsZQoK
ZGlmZiAtciA2M2JhOTU3YjI4YzkyNTg5OTA5ZmEzMGMyNzMyYmViMDA2ZjJhMTVmIC1yIGUwOTk2
ODZkNTk5NDViMzRlODFhNmNkPQpmNzQyMDhhNmE3NzAwZDE3ZiB5dC90ZXN0aW5nLnB5Ci0tLSBh
L3l0L3Rlc3RpbmcucHkKKysrIGIveXQvdGVzdGluZy5weQpAQCAtMjY0LDEwICsyNjQsMjAgQEAK
ICAgICBmcm9tIHl0LmZyb250ZW5kcy5zdHJlYW0uYXBpIGltcG9ydCBsb2FkX3Vuc3RydWN0dXJl
ZF9tZXNoCiAgICAgZnJvbSB5dC5mcm9udGVuZHMuc3RyZWFtLnNhbXBsZV9kYXRhLnVuc3RydWN0
dXJlZF9tZXNoIGltcG9ydCBcCiAgICAgICAgIF9jb25uZWN0aXZpdHksIF9jb29yZGluYXRlcwot
ICAgIGRhdGEgPTNEIHt9CisKKyAgICAjIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSBvcmlnaW4KKyAg
ICBub2RlX2RhdGEgPTNEIHt9CiAgICAgZGlzdCA9M0QgbnAuc3VtKF9jb29yZGluYXRlcyoqMiwg
MSkKLSAgICBkYXRhWygnY29ubmVjdDEnLCAndGVzdCcpXSA9M0QgZGlzdFtfY29ubmVjdGl2aXR5
XQotICAgIGRzID0zRCBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoKF9jb25uZWN0aXZpdHksIF9jb29y
ZGluYXRlcywgbm9kZV9kYXRhPQo9M0RkYXRhKQorICAgIG5vZGVfZGF0YVsoJ2Nvbm5lY3QxJywg
J3Rlc3QnKV0gPTNEIGRpc3RbX2Nvbm5lY3Rpdml0eV0KKworICAgICMgZWFjaCBlbGVtZW50IGdl
dHMgYSByYW5kb20gbnVtYmVyCisgICAgZWxlbV9kYXRhID0zRCB7fQorICAgIGVsZW1fZGF0YVso
J2Nvbm5lY3QxJywgJ2VsZW0nKV0gPTNEIG5wLnJhbmRvbS5yYW5kKF9jb25uZWN0aXZpdHkuc2hh
cGU9ClswXSkKKworICAgIGRzID0zRCBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoKF9jb25uZWN0aXZp
dHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jb29yZGluYXRlcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZV9kYXRhPTNEbm9kZV9kYXRhLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtX2RhdGE9M0RlbGVtX2RhdGEpCiAgICAgcmV0
dXJuIGRzCj0yMAo9MjAKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29t
bWl0cy8yODZiMWFiNDQwNjEvCkNoYW5nZXNldDogICAyODZiMWFiNDQwNjEKQnJhbmNoOiAgICAg
IHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTIzIDAxOjI4OjA2
KzAwOjAwClN1bW1hcnk6ICAgICBhZGQgYSB0ZXN0IHRoYXQgbWFrZXMgc2xpY2VzIHRocm91Z2gg
ZmFrZSB0ZXRyYWhlZHJhbF9kcwpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGUwOTk2ODZk
NTk5NDViMzRlODFhNmNkZjc0MjA4YTZhNzcwMGQxN2YgLXIgMjg2YjFhYjQ0MDYxYTEzNWVlODQz
MmU9CmM0M2VlZWMzMGExODI5ZDkzIHl0L3Zpc3VhbGl6YXRpb24vdGVzdHMvdGVzdF9tZXNoX3Ns
aWNlcy5weQotLS0gL2Rldi9udWxsCisrKyBiL3l0L3Zpc3VhbGl6YXRpb24vdGVzdHMvdGVzdF9t
ZXNoX3NsaWNlcy5weQpAQCAtMCwwICsxLDQ1IEBACisiIiIKK1Rlc3RzIGZvciBtYWtpbmcgdW5z
dHJ1Y3R1cmVkIG1lc2ggc2xpY2VzCisKKyIiIgorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQor
IyBDb3B5cmlnaHQgKGMpIDIwMTMsIHl0IERldmVsb3BtZW50IFRlYW0uCisjCisjIERpc3RyaWJ1
dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTW9kaWZpZWQgQlNEIExpY2Vuc2UuCisjCisjIFRo
ZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhlIGZpbGUgQ09QWUlORy50eHQsIGRpc3RyaWJ1dGVkIHdp
dGggdGhpcyBzb2Z0dz0KYXJlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0KK2ltcG9ydCBvcwor
aW1wb3J0IG9zLnBhdGgKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHNodXRpbAoraW1wb3J0IG51
bXB5IGFzIG5wCitpbXBvcnQgeXQKK2Zyb20geXQudGVzdGluZyBpbXBvcnQgZmFrZV90ZXRyYWhl
ZHJhbF9kcworCisKK2RlZiBzZXR1cCgpOgorICAgICIiIlRlc3Qgc3BlY2lmaWMgc2V0dXAuIiIi
CisgICAgZnJvbSB5dC5jb25maWcgaW1wb3J0IHl0Y2ZnCisgICAgeXRjZmdbInl0IiwgIl9fd2l0
aGludGVzdGluZyJdID0zRCAiVHJ1ZSIKKworCitkZWYgdGVzdF9tZXNoX3NsaWNlcygpOgorICAg
ICMgUGVyZm9ybSBJL08gaW4gc2FmZSBwbGFjZSBpbnN0ZWFkIG9mIHl0IG1haW4gZGlyCisgICAg
dG1wZGlyID0zRCB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICBjdXJkaXIgPTNEIG9zLmdldGN3ZCgp
CisgICAgb3MuY2hkaXIodG1wZGlyKQorCisgICAgbnAucmFuZG9tLnNlZWQoMDQ1MSkKKyAgICBk
cyA9M0QgZmFrZV90ZXRyYWhlZHJhbF9kcygpCisKKyAgICBmb3IgZmllbGQgaW4gZHMuZmllbGRf
bGlzdDoKKyAgICAgICAgZm9yIGlkaXIgaW4gWzAsIDEsIDJdOgorICAgICAgICAgICAgc2wgPTNE
IHl0LlNsaWNlUGxvdChkcywgaWRpciwgZmllbGQpCisgICAgICAgICAgICBzbC5hbm5vdGF0ZV9t
ZXNoX2xpbmVzKGRzLmluZGV4Lm1lc2hlc1swXSkKKyAgICAgICAgICAgIHNsLnNhdmUoKQorCisg
ICAgb3MuY2hkaXIoY3VyZGlyKQorICAgICMgY2xlYW4gdXAKKyAgICBzaHV0aWwucm10cmVlKHRt
cGRpcikKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9jNzZk
NWNmMmM4NzMvCkNoYW5nZXNldDogICBjNzZkNWNmMmM4NzMKQnJhbmNoOiAgICAgIHl0ClVzZXI6
ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTIzIDAzOjM0OjIyKzAwOjAwClN1
bW1hcnk6ICAgICBhZGRpbmcgaGV4YWhlZHJhbF9tZXNoIHNhbXBsZV9kYXRhCkFmZmVjdGVkICM6
ICA1IGZpbGVzCgpkaWZmIC1yIDI4NmIxYWI0NDA2MWExMzVlZTg0MzJlYzQzZWVlYzMwYTE4Mjlk
OTMgLXIgYzc2ZDVjZjJjODczMTU1NGM1ZDRlZDk9CjVmYzEyYTE2NmM3ZjExNWQwIHl0L2Zyb250
ZW5kcy9zdHJlYW0vc2FtcGxlX2RhdGEvaGV4YWhlZHJhbF9tZXNoLnB5Ci0tLSAvZGV2L251bGwK
KysrIGIveXQvZnJvbnRlbmRzL3N0cmVhbS9zYW1wbGVfZGF0YS9oZXhhaGVkcmFsX21lc2gucHkK
QEAgLTAsMCArMSw5MDAgQEAKK2ltcG9ydCBudW1weSBhcyBucAorCitfY29vcmRpbmF0ZXMgPTNE
IG5wLmFycmF5KFsKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjgxMjUwMDAwMDAwMDAw
MDEsICAyLjA4MzMzMzMzMzMzMzMzMzkgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0w
LjU0MTY2NjY2NjY2NjY2NjcsICAyLjA4MzMzMzMzMzMzMzMzMzAgXSwKKyAgICBbLTAuMjQzNzky
MzUxMDQzNzQyOCwgIC0wLjUwNzI2MDcwMDYxMTc3NDksICAyLjA4MzMzMzMzMzMzMzMzMzAgXSwK
KyAgICBbLTAuMjQ4MzYwNjIwNjk2NjcxOCwgIC0wLjc2Mjg4NjU5MDEzODU4NjEsICAyLjA4MzMz
MzMzMzMzMzMzMzAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjc1MDAwMDAwMDAw
MDAwMDAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IC0wLjUwMDAwMDAwMDAwMDAwMDAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuMjI1
MDM5MDkzMjcxMTQ3MywgIC0wLjQ2ODI0MDY0NjcxODU2MTMsICAyLjUwMDAwMDAwMDAwMDAwMDAg
XSwKKyAgICBbLTAuMjI5MjU1OTU3NTY2MTU4NiwgIC0wLjcwNDIwMzAwNjI4MTc3MTUsICAyLjUw
MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjI3MDgzMzMz
MzMzMzMzMzUsICAyLjA4MzMzMzMzMzMzMzMzMjYgXSwKKyAgICBbLTAuMjUzMTkzODA0MjQ1NjE3
NSwgIC0wLjI1MzEzMjg3NDEwMDc1MjcsICAyLjA4MzMzMzMzMzMzMzMzMzUgXSwKKyAgICBbMC4w
MDAwMDAwMDAwMDAwMDAwICwgIC0wLjI1MDAwMDAwMDAwMDAwMDAsICAyLjUwMDAwMDAwMDAwMDAw
MDAgXSwKKyAgICBbLTAuMjMzNzE3MzU3NzY1MTg1NCwgIC0wLjIzMzY2MTExNDU1NDU0MDgsICAy
LjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAw
MDAwMDAwMDAwMCAsICAyLjA4MzMzMzMzMzMzMzMzMzkgXSwKKyAgICBbLTAuMjcwODMzMzMzMzMz
MzMzNCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAyLjA4MzMzMzMzMzMzMzMzMzUgXSwKKyAgICBb
MC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAyLjUwMDAwMDAwMDAw
MDAwMDAgXSwKKyAgICBbLTAuMjUwMDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAs
ICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNDc3MzIzMTYwMjQ0MTA3NiwgIC0wLjQ3
NzE5MDczNjU2NzM3OTUsICAyLjA4MzMzMzMzMzMzMzMzMzAgXSwKKyAgICBbLTAuNDcyMTU0MjE2
NDkwNjc5MCwgIC0wLjY5ODg3MDU1MTIxNjA5OTAsICAyLjA4MzMzMzMzMzMzMzMzMjYgXSwKKyAg
ICBbLTAuNDQwNjA1OTk0MDcxNDgzOSwgIC0wLjQ0MDQ4Mzc1NjgzMTQyNzAsICAyLjUwMDAwMDAw
MDAwMDAwMDAgXSwKKyAgICBbLTAuNDM1ODM0NjYxMzc2MDExMywgIC0wLjY0NTExMTI3ODA0NTYy
OTUsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNTA3MzE2MjExNTIzNTYwOSwgIC0w
LjI0MzcxMjgwMTcxOTg1NzksICAyLjA4MzMzMzMzMzMzMzMzMzAgXSwKKyAgICBbLTAuNDY4Mjkx
ODg3NTYwMjA5OSwgIC0wLjIyNDk2NTY2MzEyNjAyMjUsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwK
KyAgICBbLTAuNTQxNjY2NjY2NjY2NjY2NywgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAyLjA4MzMz
MzMzMzMzMzMzMzkgXSwKKyAgICBbLTAuNTAwMDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAw
MDAwMCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNjk5MTM2NDczMTQ4MzA5NCwg
IC0wLjQ3MjE2NjkzNzU3NDQ1OTEsICAyLjA4MzMzMzMzMzMzMzMzMjYgXSwKKyAgICBbLTAuNjQy
NzE4MDA4MTQyNjU2MywgIC0wLjY0MjU4MTQzODEwOTIzODIsICAyLjA4MzMzMzMzMzMzMzMzMjYg
XSwKKyAgICBbLTAuNjQ1MzU2NzQ0NDQ0NTkzMSwgIC0wLjQzNTg0NjQwMzkxNDg4NTAsICAyLjUw
MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNTkzMjc4MTYxMzYyNDUxOSwgIC0wLjU5MzE1MjA5
NjcxNjIxOTUsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNzYzMDc3OTM4MDIyNDcw
NiwgIC0wLjI0ODQyMzQwNzg5OTg0MTcsICAyLjA4MzMzMzMzMzMzMzMzMzAgXSwKKyAgICBbLTAu
NzA0Mzc5NjM1MDk3NjY1MCwgIC0wLjIyOTMxMzkxNDk4NDQ2OTAsICAyLjUwMDAwMDAwMDAwMDAw
MDAgXSwKKyAgICBbLTAuODEyNTAwMDAwMDAwMDAwMSwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAy
LjA4MzMzMzMzMzMzMzMzMzAgXSwKKyAgICBbLTAuNzUwMDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAw
MDAwMDAwMDAwMCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTEuMDgzMzMzMzMzMzMz
MzMzNSwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAyLjA4MzMzMzMzMzMzMzMzMjYgXSwKKyAgICBb
LTEuMDQ2NDE5NjQ1MTQ2NDkwNywgIC0wLjI4MDM4NzI5ODg2MTA2NDksICAyLjA4MzMzMzMzMzMz
MzMzMTMgXSwKKyAgICBbLTEuMDAwMDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAs
ICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuOTY1OTI1ODI2Mjg5MDY4MiwgIC0wLjI1
ODgxOTA0NTEwMjUyMDcsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuOTM4MTk0MTg3
NDMzMTQxOSwgIC0wLjU0MTY2NjY2NjY2NjY2NzEsICAyLjA4MzMzMzMzMzMzMzMzMTcgXSwKKyAg
ICBbLTAuODY2MDI1NDAzNzg0NDM4OCwgIC0wLjQ5OTk5OTk5OTk5OTk5OTgsICAyLjUwMDAwMDAw
MDAwMDAwMDAgXSwKKyAgICBbLTAuNzY2MDMyMzQ2Mjg1NDI2NiwgIC0wLjc2NjAzMjM0NjI4NTQy
NjYsICAyLjA4MzMzMzMzMzMzMzMzMTcgXSwKKyAgICBbLTAuNzA3MTA2NzgxMTg2NTQ3NywgIC0w
LjcwNzEwNjc4MTE4NjU0NzUsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNTQxNjY2
NjY2NjY2NjY2OSwgIC0wLjkzODE5NDE4NzQzMzE0MjIsICAyLjA4MzMzMzMzMzMzMzMzMTMgXSwK
KyAgICBbLTAuNTAwMDAwMDAwMDAwMDAwNCwgIC0wLjg2NjAyNTQwMzc4NDQzODQsICAyLjUwMDAw
MDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuMjgwMzg3Mjk4ODYxMDYzOCwgIC0xLjA0NjQxOTY0NTE0
NjQ5MTEsICAyLjA4MzMzMzMzMzMzMzMzMTMgXSwKKyAgICBbLTAuMjU4ODE5MDQ1MTAyNTIwNiwg
IC0wLjk2NTkyNTgyNjI4OTA2ODIsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIC0xLjA4MzMzMzMzMzMzMzMzMzUsICAyLjA4MzMzMzMzMzMzMzMzMjYg
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjAwMDAwMDAwMDAwMDAwMDAsICAyLjUw
MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjg3NTAwMDAw
MDAwMDAwMDAsICAxLjY2NjY2NjY2NjY2NjY2NjEgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAw
ICwgIC0wLjU4MzMzMzMzMzMzMzMzMzQsICAxLjY2NjY2NjY2NjY2NjY2NzAgXSwKKyAgICBbLTAu
MjYyNTQ1NjA4ODE2MzM4MywgIC0wLjU0NjI4MDc1NDUwNDk4ODMsICAxLjY2NjY2NjY2NjY2NjY2
NjMgXSwKKyAgICBbLTAuMjY3NDY1MjgzODI3MTg0OCwgIC0wLjgyMTU3MDE3Mzk5NTQwMDIsICAx
LjY2NjY2NjY2NjY2NjY2NjUgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjI5MTY2
NjY2NjY2NjY2NjcsICAxLjY2NjY2NjY2NjY2NjY2NjMgXSwKKyAgICBbLTAuMjcyNjcwMjUwNzI2
MDQ5NSwgIC0wLjI3MjYwNDYzMzY0Njk2NDQsICAxLjY2NjY2NjY2NjY2NjY2NjcgXSwKKyAgICBb
MC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAxLjY2NjY2NjY2NjY2
NjY2NzAgXSwKKyAgICBbLTAuMjkxNjY2NjY2NjY2NjY2OSwgIDAuMDAwMDAwMDAwMDAwMDAwMCAs
ICAxLjY2NjY2NjY2NjY2NjY2NzIgXSwKKyAgICBbLTAuNTE0MDQwMzI2NDE2NzMxMCwgIC0wLjUx
Mzg5NzcxNjMwMzMzMTcsICAxLjY2NjY2NjY2NjY2NjY2NjUgXSwKKyAgICBbLTAuNTA4NDczNzcx
NjA1MzQ2MywgIC0wLjc1MjYyOTgyNDM4NjU2ODEsICAxLjY2NjY2NjY2NjY2NjY2NjMgXSwKKyAg
ICBbLTAuNTQ2MzQwNTM1NDg2OTExNSwgIC0wLjI2MjQ1OTk0MDMxMzY5MzAsICAxLjY2NjY2NjY2
NjY2NjY2NjUgXSwKKyAgICBbLTAuNTgzMzMzMzMzMzMzMzMzNSwgIDAuMDAwMDAwMDAwMDAwMDAw
MCAsICAxLjY2NjY2NjY2NjY2NjY2NjcgXSwKKyAgICBbLTAuNzUyOTE2MjAxODUyMDI1MywgIC0w
LjUwODQ4NzQ3MTIzNDAzMjcsICAxLjY2NjY2NjY2NjY2NjY2NjMgXSwKKyAgICBbLTAuNjkyMTU3
ODU0OTIyODYwNCwgIC0wLjY5MjAxMDc3OTUwMjI1NjMsICAxLjY2NjY2NjY2NjY2NjY2NjMgXSwK
KyAgICBbLTAuODIxNzc2MjQwOTQ3Mjc1OSwgIC0wLjI2NzUzMjkwMDgxNTIxMzksICAxLjY2NjY2
NjY2NjY2NjY2NjcgXSwKKyAgICBbLTAuODc1MDAwMDAwMDAwMDAwMSwgIDAuMDAwMDAwMDAwMDAw
MDAwMCAsICAxLjY2NjY2NjY2NjY2NjY2NjcgXSwKKyAgICBbLTEuMTY2NjY2NjY2NjY2NjY2Nywg
IDAuMDAwMDAwMDAwMDAwMDAwMCAsICAxLjY2NjY2NjY2NjY2NjY2NjUgXSwKKyAgICBbLTEuMTI2
OTEzNDY0MDAzOTEyOSwgIC0wLjMwMTk1NTU1MjYxOTYwNzMsICAxLjY2NjY2NjY2NjY2NjY2NjMg
XSwKKyAgICBbLTEuMDEwMzYyOTcxMDgxODQ0OSwgIC0wLjU4MzMzMzMzMzMzMzMzMzYsICAxLjY2
NjY2NjY2NjY2NjY2NjMgXSwKKyAgICBbLTAuODI0OTU3OTExMzg0MzA1NCwgIC0wLjgyNDk1Nzkx
MTM4NDMwNTQsICAxLjY2NjY2NjY2NjY2NjY2NjUgXSwKKyAgICBbLTAuNTgzMzMzMzMzMzMzMzMz
NCwgIC0xLjAxMDM2Mjk3MTA4MTg0NTEsICAxLjY2NjY2NjY2NjY2NjY2NjEgXSwKKyAgICBbLTAu
MzAxOTU1NTUyNjE5NjA3MiwgIC0xLjEyNjkxMzQ2NDAwMzkxMzMsICAxLjY2NjY2NjY2NjY2NjY2
NTYgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjE2NjY2NjY2NjY2NjY2NjcsICAx
LjY2NjY2NjY2NjY2NjY2NjUgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjkzNzUw
MDAwMDAwMDAwMDAsICAxLjI0OTk5OTk5OTk5OTk5OTMgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAw
MDAwICwgIC0wLjYyNTAwMDAwMDAwMDAwMDAsICAxLjI1MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBb
LTAuMjgxMjk4ODY2NTg4OTMzNywgIC0wLjU4NTMwMDgwODM5ODIwMTUsICAxLjI0OTk5OTk5OTk5
OTk5OTggXSwKKyAgICBbLTAuMjg2NTY5OTQ2OTU3Njk3OSwgIC0wLjg4MDI1Mzc1Nzg1MjIxNDMs
ICAxLjI1MDAwMDAwMDAwMDAwMDIgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjMx
MjUwMDAwMDAwMDAwMDAsICAxLjI1MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuMjkyMTQ2Njk3
MjA2NDgxNCwgIC0wLjI5MjA3NjM5MzE5MzE3NjEsICAxLjI1MDAwMDAwMDAwMDAwMDIgXSwKKyAg
ICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAxLjI1MDAwMDAw
MDAwMDAwMDAgXSwKKyAgICBbLTAuMzEyNTAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAw
MCAsICAxLjI1MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNTUwNzU3NDkyNTg5MzU0NywgIC0w
LjU1MDYwNDY5NjAzOTI4MzksICAxLjI1MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNTQ0Nzkz
MzI2NzIwMDE0MCwgIC0wLjgwNjM4OTA5NzU1NzAzNzAsICAxLjI0OTk5OTk5OTk5OTk5OTggXSwK
KyAgICBbLTAuNTg1MzY0ODU5NDUwMjYyMywgIC0wLjI4MTIwNzA3ODkwNzUyODIsICAxLjI1MDAw
MDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNjI1MDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAw
MDAwMCAsICAxLjI1MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuODA2Njk1OTMwNTU1NzQxNSwg
IC0wLjU0NDgwODAwNDg5MzYwNjQsICAxLjI0OTk5OTk5OTk5OTk5OTggXSwKKyAgICBbLTAuNzQx
NTk3NzAxNzAzMDY0OCwgIC0wLjc0MTQ0MDEyMDg5NTI3NDQsICAxLjI0OTk5OTk5OTk5OTk5OTgg
XSwKKyAgICBbLTAuODgwNDc0NTQzODcyMDgxMywgIC0wLjI4NjY0MjM5MzczMDU4NjQsICAxLjI1
MDAwMDAwMDAwMDAwMDIgXSwKKyAgICBbLTAuOTM3NTAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAw
MDAwMDAwMCAsICAxLjI1MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTEuMjUwMDAwMDAwMDAwMDAw
MCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAxLjI0OTk5OTk5OTk5OTk5OTggXSwKKyAgICBbLTEu
MjA3NDA3MjgyODYxMzM1NCwgIC0wLjMyMzUyMzgwNjM3ODE1MDcsICAxLjI0OTk5OTk5OTk5OTk5
OTEgXSwKKyAgICBbLTEuMDgyNTMxNzU0NzMwNTQ4MCwgIC0wLjYyNTAwMDAwMDAwMDAwMDMsICAx
LjI0OTk5OTk5OTk5OTk5OTggXSwKKyAgICBbLTAuODgzODgzNDc2NDgzMTg0MywgIC0wLjg4Mzg4
MzQ3NjQ4MzE4NDMsICAxLjI0OTk5OTk5OTk5OTk5OTggXSwKKyAgICBbLTAuNjI1MDAwMDAwMDAw
MDAwMCwgIC0xLjA4MjUzMTc1NDczMDU0ODQsICAxLjI0OTk5OTk5OTk5OTk5OTggXSwKKyAgICBb
LTAuMzIzNTIzODA2Mzc4MTUwNSwgIC0xLjIwNzQwNzI4Mjg2MTMzNTQsICAxLjI1MDAwMDAwMDAw
MDAwMDIgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjI1MDAwMDAwMDAwMDAwMDAs
ICAxLjI0OTk5OTk5OTk5OTk5OTggXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjAw
MDAwMDAwMDAwMDAwMDAsICAwLjgzMzMzMzMzMzMzMzMzMzUgXSwKKyAgICBbMC4wMDAwMDAwMDAw
MDAwMDAwICwgIC0wLjY2NjY2NjY2NjY2NjY2NjYsICAwLjgzMzMzMzMzMzMzMzMzMzUgXSwKKyAg
ICBbLTAuMzAwMDUyMTI0MzYxNTI5NCwgIC0wLjYyNDMyMDg2MjI5MTQxNTAsICAwLjgzMzMzMzMz
MzMzMzMzMzMgXSwKKyAgICBbLTAuMzA1Njc0NjEwMDg4MjExMiwgIC0wLjkzODkzNzM0MTcwOTAy
ODgsICAwLjgzMzMzMzMzMzMzMzMzMzYgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0w
LjMzMzMzMzMzMzMzMzMzMzMsICAwLjgzMzMzMzMzMzMzMzMzNDEgXSwKKyAgICBbLTAuMzExNjIz
MTQzNjg2OTEzNiwgIC0wLjMxMTU0ODE1MjczOTM4NzgsICAwLjgzMzMzMzMzMzMzMzMzMzcgXSwK
KyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAwLjgzMzMz
MzMzMzMzMzMzMzUgXSwKKyAgICBbLTAuMzMzMzMzMzMzMzMzMzMzMSwgIDAuMDAwMDAwMDAwMDAw
MDAwMCAsICAwLjgzMzMzMzMzMzMzMzMzMzcgXSwKKyAgICBbLTAuNTg3NDc0NjU4NzYxOTc4NSwg
IC0wLjU4NzMxMTY3NTc3NTIzNjIsICAwLjgzMzMzMzMzMzMzMzMzMzQgXSwKKyAgICBbLTAuNTgx
MTEyODgxODM0NjgxNywgIC0wLjg2MDE0ODM3MDcyNzUwNjMsICAwLjgzMzMzMzMzMzMzMzMzMzEg
XSwKKyAgICBbLTAuNjI0Mzg5MTgzNDEzNjEzMiwgIC0wLjI5OTk1NDIxNzUwMTM2MzQsICAwLjgz
MzMzMzMzMzMzMzMzMzQgXSwKKyAgICBbLTAuNjY2NjY2NjY2NjY2NjY2NSwgIDAuMDAwMDAwMDAw
MDAwMDAwMCAsICAwLjgzMzMzMzMzMzMzMzMzMzUgXSwKKyAgICBbLTAuODYwNDc1NjU5MjU5NDU3
NiwgIC0wLjU4MTEyODUzODU1MzE4MDMsICAwLjgzMzMzMzMzMzMzMzMzMzEgXSwKKyAgICBbLTAu
NzkxMDM3NTQ4NDgzMjY5MSwgIC0wLjc5MDg2OTQ2MjI4ODI5MzAsICAwLjgzMzMzMzMzMzMzMzMz
MzAgXSwKKyAgICBbLTAuOTM5MTcyODQ2Nzk2ODg2NywgIC0wLjMwNTc1MTg4NjY0NTk1ODksICAw
LjgzMzMzMzMzMzMzMzMzMzUgXSwKKyAgICBbLTEuMDAwMDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAw
MDAwMDAwMDAwMCAsICAwLjgzMzMzMzMzMzMzMzMzMzQgXSwKKyAgICBbLTEuMzMzMzMzMzMzMzMz
MzMzMywgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAwLjgzMzMzMzMzMzMzMzMzMzMgXSwKKyAgICBb
LTEuMjg3OTAxMTAxNzE4NzU3NCwgIC0wLjM0NTA5MjA2MDEzNjY5NTIsICAwLjgzMzMzMzMzMzMz
MzMzMzAgXSwKKyAgICBbLTEuMTU0NzAwNTM4Mzc5MjUxMiwgIC0wLjY2NjY2NjY2NjY2NjY2NzAs
ICAwLjgzMzMzMzMzMzMzMzMzMjggXSwKKyAgICBbLTAuOTQyODA5MDQxNTgyMDYzMiwgIC0wLjk0
MjgwOTA0MTU4MjA2MzIsICAwLjgzMzMzMzMzMzMzMzMzMzMgXSwKKyAgICBbLTAuNjY2NjY2NjY2
NjY2NjY2NywgIC0xLjE1NDcwMDUzODM3OTI1MTcsICAwLjgzMzMzMzMzMzMzMzMzMzAgXSwKKyAg
ICBbLTAuMzQ1MDkyMDYwMTM2NjkzOSwgIC0xLjI4NzkwMTEwMTcxODc1NzgsICAwLjgzMzMzMzMz
MzMzMzMzMzUgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjMzMzMzMzMzMzMzMzMz
MzMsICAwLjgzMzMzMzMzMzMzMzMzMzMgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0x
LjA2MjUwMDAwMDAwMDAwMDAsICAwLjQxNjY2NjY2NjY2NjY2NjUgXSwKKyAgICBbMC4wMDAwMDAw
MDAwMDAwMDAwICwgIC0wLjcwODMzMzMzMzMzMzMzMzQsICAwLjQxNjY2NjY2NjY2NjY2NzAgXSwK
KyAgICBbLTAuMzE4ODA1MzgyMTM0MTI1MCwgIC0wLjY2MzM0MDkxNjE4NDYyODUsICAwLjQxNjY2
NjY2NjY2NjY2NjcgXSwKKyAgICBbLTAuMzI0Nzc5MjczMjE4NzI0NCwgIC0wLjk5NzYyMDkyNTU2
NTg0MzAsICAwLjQxNjY2NjY2NjY2NjY2NzAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IC0wLjM1NDE2NjY2NjY2NjY2NjcsICAwLjQxNjY2NjY2NjY2NjY2NzEgXSwKKyAgICBbLTAuMzMx
MDk5NTkwMTY3MzQ1NywgIC0wLjMzMTAxOTkxMjI4NTU5OTYsICAwLjQxNjY2NjY2NjY2NjY2NzIg
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAwLjQx
NjY2NjY2NjY2NjY2NzAgXSwKKyAgICBbLTAuMzU0MTY2NjY2NjY2NjY2OSwgIDAuMDAwMDAwMDAw
MDAwMDAwMCAsICAwLjQxNjY2NjY2NjY2NjY2NzIgXSwKKyAgICBbLTAuNjI0MTkxODI0OTM0NjAy
MCwgIC0wLjYyNDAxODY1NTUxMTE4ODUsICAwLjQxNjY2NjY2NjY2NjY2NjkgXSwKKyAgICBbLTAu
NjE3NDMyNDM2OTQ5MzQ5MSwgIC0wLjkxMzkwNzY0Mzg5Nzk3NTUsICAwLjQxNjY2NjY2NjY2NjY2
NjcgXSwKKyAgICBbLTAuNjYzNDEzNTA3Mzc2OTYzOSwgIC0wLjMxODcwMTM1NjA5NTE5ODcsICAw
LjQxNjY2NjY2NjY2NjY2NjkgXSwKKyAgICBbLTAuNzA4MzMzMzMzMzMzMzMzNSwgIDAuMDAwMDAw
MDAwMDAwMDAwMCAsICAwLjQxNjY2NjY2NjY2NjY2NzAgXSwKKyAgICBbLTAuOTE0MjU1Mzg3OTYz
MTczNiwgIC0wLjYxNzQ0OTA3MjIxMjc1NDAsICAwLjQxNjY2NjY2NjY2NjY2NjcgXSwKKyAgICBb
LTAuODQwNDc3Mzk1MjYzNDczNCwgIC0wLjg0MDI5ODgwMzY4MTMxMTQsICAwLjQxNjY2NjY2NjY2
NjY2NjUgXSwKKyAgICBbLTAuOTk3ODcxMTQ5NzIxNjkyMCwgIC0wLjMyNDg2MTM3OTU2MTMzMTQs
ICAwLjQxNjY2NjY2NjY2NjY2NzAgXSwKKyAgICBbLTEuMDYyNTAwMDAwMDAwMDAwMCwgIDAuMDAw
MDAwMDAwMDAwMDAwMCAsICAwLjQxNjY2NjY2NjY2NjY2NzAgXSwKKyAgICBbLTEuNDE2NjY2NjY2
NjY2NjY2NywgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAwLjQxNjY2NjY2NjY2NjY2NjcgXSwKKyAg
ICBbLTEuMzY4Mzk0OTIwNTc2MTc5OCwgIC0wLjM2NjY2MDMxMzg5NTIzODcsICAwLjQxNjY2NjY2
NjY2NjY2NjMgXSwKKyAgICBbLTEuMjI2ODY5MzIyMDI3OTU0MywgIC0wLjcwODMzMzMzMzMzMzMz
MzcsICAwLjQxNjY2NjY2NjY2NjY2NjUgXSwKKyAgICBbLTEuMDAxNzM0NjA2NjgwOTQyMywgIC0x
LjAwMTczNDYwNjY4MDk0MjMsICAwLjQxNjY2NjY2NjY2NjY2NjYgXSwKKyAgICBbLTAuNzA4MzMz
MzMzMzMzMzMzNCwgIC0xLjIyNjg2OTMyMjAyNzk1NDcsICAwLjQxNjY2NjY2NjY2NjY2NjcgXSwK
KyAgICBbLTAuMzY2NjYwMzEzODk1MjM3OCwgIC0xLjM2ODM5NDkyMDU3NjE3OTgsICAwLjQxNjY2
NjY2NjY2NjY2NjggXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjQxNjY2NjY2NjY2
NjY2NjcsICAwLjQxNjY2NjY2NjY2NjY2NjcgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IC0xLjEyNTAwMDAwMDAwMDAwMDAsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIC0wLjc1MDAwMDAwMDAwMDAwMDAsICAwLjAwMDAwMDAwMDAwMDAwMDAg
XSwKKyAgICBbLTAuMzM3NTU4NjM5OTA2NzIwNSwgIC0wLjcwMjM2MDk3MDA3Nzg0MjAsICAtMC4w
MDAwMDAwMDAwMDAwMDAxXSwKKyAgICBbLTAuMzQzODgzOTM2MzQ5MjM3NCwgIC0xLjA1NjMwNDUw
OTQyMjY1NzMsICAwLjAwMDAwMDAwMDAwMDAwMDIgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAw
ICwgIC0wLjM3NTAwMDAwMDAwMDAwMDAsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAu
MzUwNTc2MDM2NjQ3Nzc3NywgIC0wLjM1MDQ5MTY3MTgzMTgxMTMsICAwLjAwMDAwMDAwMDAwMDAw
MDMgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAw
LjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuMzc1MDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAw
MDAwMDAwMDAwMCAsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNjYwOTA4OTkxMTA3
MjI1NSwgIC0wLjY2MDcyNTYzNTI0NzE0MDksICAtMC4wMDAwMDAwMDAwMDAwMDAwXSwKKyAgICBb
LTAuNjUzNzUxOTkyMDY0MDE2NSwgIC0wLjk2NzY2NjkxNzA2ODQ0NDcsICAtMC4wMDAwMDAwMDAw
MDAwMDAxXSwKKyAgICBbLTAuNzAyNDM3ODMxMzQwMzE0NiwgIC0wLjMzNzQ0ODQ5NDY4OTAzMzks
ICAtMC4wMDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNzUwMDAwMDAwMDAwMDAwMCwgIDAuMDAw
MDAwMDAwMDAwMDAwMCAsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuOTY4MDM1MTE2
NjY2ODg5NSwgIC0wLjY1Mzc2OTYwNTg3MjMyNzksICAtMC4wMDAwMDAwMDAwMDAwMDAxXSwKKyAg
ICBbLTAuODg5OTE3MjQyMDQzNjc3NSwgIC0wLjg4OTcyODE0NTA3NDMyOTcsICAtMC4wMDAwMDAw
MDAwMDAwMDAzXSwKKyAgICBbLTEuMDU2NTY5NDUyNjQ2NDk3MywgIC0wLjM0Mzk3MDg3MjQ3Njcw
MzksICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTEuMTI1MDAwMDAwMDAwMDAwMCwgIDAu
MDAwMDAwMDAwMDAwMDAwMCAsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTEuNTAwMDAw
MDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwK
KyAgICBbLTEuNDQ4ODg4NzM5NDMzNjAyMSwgIC0wLjM4ODIyODU2NzY1Mzc4MjEsICAtMC4wMDAw
MDAwMDAwMDAwMDAzXSwKKyAgICBbLTEuMjk5MDM4MTA1Njc2NjU3NiwgIC0wLjc1MDAwMDAwMDAw
MDAwMDMsICAtMC4wMDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMDYwNjYwMTcxNzc5ODIxMiwg
IC0xLjA2MDY2MDE3MTc3OTgyMTIsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNzQ5
OTk5OTk5OTk5OTk5MCwgIC0xLjI5OTAzODEwNTY3NjY1ODQsICAtMC4wMDAwMDAwMDAwMDAwMDAx
XSwKKyAgICBbLTAuMzg4MjI4NTY3NjUzNzgwNiwgIC0xLjQ0ODg4ODczOTQzMzYwMjUsICAwLjAw
MDAwMDAwMDAwMDAwMDEgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjUwMDAwMDAw
MDAwMDAwMDAsICAwLjAwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAw
ICwgIC0xLjE4NzUwMDAwMDAwMDAwMDAsICAtMC40MTY2NjY2NjY2NjY2NjY1XSwKKyAgICBbMC4w
MDAwMDAwMDAwMDAwMDAwICwgIC0wLjc5MTY2NjY2NjY2NjY2NjYsICAtMC40MTY2NjY2NjY2NjY2
NjY1XSwKKyAgICBbLTAuMzU2MzExODk3Njc5MzE2MCwgIC0wLjc0MTM4MTAyMzk3MTA1NTQsICAt
MC40MTY2NjY2NjY2NjY2NjY0XSwKKyAgICBbLTAuMzYyOTg4NTk5NDc5NzUwNiwgIC0xLjExNDk4
ODA5MzI3OTQ3MTgsICAtMC40MTY2NjY2NjY2NjY2NjYxXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAw
MDAwICwgIC0wLjM5NTgzMzMzMzMzMzMzMzMsICAtMC40MTY2NjY2NjY2NjY2NjY1XSwKKyAgICBb
LTAuMzcwMDUyNDgzMTI4MjA5OCwgIC0wLjM2OTk2MzQzMTM3ODAyMzEsICAtMC40MTY2NjY2NjY2
NjY2NjYxXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAwMCAs
ICAtMC40MTY2NjY2NjY2NjY2NjY1XSwKKyAgICBbLTAuMzk1ODMzMzMzMzMzMzMzMSwgIDAuMDAw
MDAwMDAwMDAwMDAwMCAsICAtMC40MTY2NjY2NjY2NjY2NjYzXSwKKyAgICBbLTAuNjk3NjI2MTU3
Mjc5ODQ5MCwgIC0wLjY5NzQzMjYxNDk4MzA5MzIsICAtMC40MTY2NjY2NjY2NjY2NjYyXSwKKyAg
ICBbLTAuNjkwMDcxNTQ3MTc4Njg0MCwgIC0xLjAyMTQyNjE5MDIzODkxMzcsICAtMC40MTY2NjY2
NjY2NjY2NjYzXSwKKyAgICBbLTAuNzQxNDYyMTU1MzAzNjY1MywgIC0wLjM1NjE5NTYzMzI4Mjg2
OTEsICAtMC40MTY2NjY2NjY2NjY2NjYzXSwKKyAgICBbLTAuNzkxNjY2NjY2NjY2NjY2NiwgIDAu
MDAwMDAwMDAwMDAwMDAwMCAsICAtMC40MTY2NjY2NjY2NjY2NjY1XSwKKyAgICBbLTEuMDIxODE0
ODQ1MzcwNjA1NSwgIC0wLjY5MDA5MDEzOTUzMTkwMTgsICAtMC40MTY2NjY2NjY2NjY2NjYyXSwK
KyAgICBbLTAuOTM5MzU3MDg4ODIzODgxNywgIC0wLjkzOTE1NzQ4NjQ2NzM0ODAsICAtMC40MTY2
NjY2NjY2NjY2NjY0XSwKKyAgICBbLTEuMTE1MjY3NzU1NTcxMzAyNiwgIC0wLjM2MzA4MDM2NTM5
MjA3NjMsICAtMC40MTY2NjY2NjY2NjY2NjYyXSwKKyAgICBbLTEuMTg3NTAwMDAwMDAwMDAwMCwg
IDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMC40MTY2NjY2NjY2NjY2NjYxXSwKKyAgICBbLTEuNTgz
MzMzMzMzMzMzMzMzMywgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMC40MTY2NjY2NjY2NjY2NjYz
XSwKKyAgICBbLTEuNTI5MzgyNTU4MjkxMDI0MywgIC0wLjQwOTc5NjgyMTQxMjMyNTUsICAtMC40
MTY2NjY2NjY2NjY2NjYxXSwKKyAgICBbLTEuMzcxMjA2ODg5MzI1MzYwNiwgIC0wLjc5MTY2NjY2
NjY2NjY2NzAsICAtMC40MTY2NjY2NjY2NjY2NjYzXSwKKyAgICBbLTEuMTE5NTg1NzM2ODc4NzAw
MSwgIC0xLjExOTU4NTczNjg3ODcwMDEsICAtMC40MTY2NjY2NjY2NjY2NjU3XSwKKyAgICBbLTAu
NzkxNjY2NjY2NjY2NjY1NSwgIC0xLjM3MTIwNjg4OTMyNTM2MTUsICAtMC40MTY2NjY2NjY2NjY2
NjYwXSwKKyAgICBbLTAuNDA5Nzk2ODIxNDEyMzIzOSwgIC0xLjUyOTM4MjU1ODI5MTAyNDgsICAt
MC40MTY2NjY2NjY2NjY2NjU3XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjU4MzMz
MzMzMzMzMzMzMzMsICAtMC40MTY2NjY2NjY2NjY2NjYzXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAw
MDAwICwgIC0xLjI0OTk5OTk5OTk5OTk5OTgsICAtMC44MzMzMzMzMzMzMzMzMzI5XSwKKyAgICBb
MC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjgzMzMzMzMzMzMzMzMzMzMsICAtMC44MzMzMzMzMzMz
MzMzMzMwXSwKKyAgICBbLTAuMzc1MDY1MTU1NDUxOTExOCwgIC0wLjc4MDQwMTA3Nzg2NDI2ODgs
ICAtMC44MzMzMzMzMzMzMzMzMzMwXSwKKyAgICBbLTAuMzgyMDkzMjYyNjEwMjYzOSwgIC0xLjE3
MzY3MTY3NzEzNjI4NTgsICAtMC44MzMzMzMzMzMzMzMzMzI4XSwKKyAgICBbMC4wMDAwMDAwMDAw
MDAwMDAwICwgIC0wLjQxNjY2NjY2NjY2NjY2NjYsICAtMC44MzMzMzMzMzMzMzMzMzMzXSwKKyAg
ICBbLTAuMzg5NTI4OTI5NjA4NjQyMCwgIC0wLjM4OTQzNTE5MDkyNDIzNDgsICAtMC44MzMzMzMz
MzMzMzMzMzI3XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAwMDAw
MCAsICAtMC44MzMzMzMzMzMzMzMzMzMzXSwKKyAgICBbLTAuNDE2NjY2NjY2NjY2NjY2NiwgIDAu
MDAwMDAwMDAwMDAwMDAwMCAsICAtMC44MzMzMzMzMzMzMzMzMzI5XSwKKyAgICBbLTAuNzM0MzQz
MzIzNDUyNDcyNywgIC0wLjczNDEzOTU5NDcxOTA0NTMsICAtMC44MzMzMzMzMzMzMzMzMzI5XSwK
KyAgICBbLTAuNzI2MzkxMTAyMjkzMzUxNiwgIC0xLjA3NTE4NTQ2MzQwOTM4MjUsICAtMC44MzMz
MzMzMzMzMzMzMzI5XSwKKyAgICBbLTAuNzgwNDg2NDc5MjY3MDE2MiwgIC0wLjM3NDk0Mjc3MTg3
NjcwNDQsICAtMC44MzMzMzMzMzMzMzMzMzI5XSwKKyAgICBbLTAuODMzMzMzMzMzMzMzMzMzMywg
IDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMC44MzMzMzMzMzMzMzMzMzM1XSwKKyAgICBbLTEuMDc1
NTk0NTc0MDc0MzIxNiwgIC0wLjcyNjQxMDY3MzE5MTQ3NTYsICAtMC44MzMzMzMzMzMzMzMzMzI5
XSwKKyAgICBbLTAuOTg4Nzk2OTM1NjA0MDg2MCwgIC0wLjk4ODU4NjgyNzg2MDM2NjEsICAtMC44
MzMzMzMzMzMzMzMzMzMxXSwKKyAgICBbLTEuMTczOTY2MDU4NDk2MTA4MCwgIC0wLjM4MjE4OTg1
ODMwNzQ0ODgsICAtMC44MzMzMzMzMzMzMzMzMzI5XSwKKyAgICBbLTEuMjUwMDAwMDAwMDAwMDAw
MCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMC44MzMzMzMzMzMzMzMzMzMwXSwKKyAgICBbLTEu
NjY2NjY2NjY2NjY2NjY2NSwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMC44MzMzMzMzMzMzMzMz
MzMwXSwKKyAgICBbLTEuNjA5ODc2Mzc3MTQ4NDQ2NiwgIC0wLjQzMTM2NTA3NTE3MDg2OTAsICAt
MC44MzMzMzMzMzMzMzMzMzI3XSwKKyAgICBbLTEuNDQzMzc1NjcyOTc0MDYzOSwgIC0wLjgzMzMz
MzMzMzMzMzMzMzcsICAtMC44MzMzMzMzMzMzMzMzMzI5XSwKKyAgICBbLTEuMTc4NTExMzAxOTc3
NTc5MCwgIC0xLjE3ODUxMTMwMTk3NzU3OTAsICAtMC44MzMzMzMzMzMzMzMzMzMwXSwKKyAgICBb
LTAuODMzMzMzMzMzMzMzMzMyMSwgIC0xLjQ0MzM3NTY3Mjk3NDA2NDgsICAtMC44MzMzMzMzMzMz
MzMzMzI4XSwKKyAgICBbLTAuNDMxMzY1MDc1MTcwODY3MywgIC0xLjYwOTg3NjM3NzE0ODQ0NzIs
ICAtMC44MzMzMzMzMzMzMzMzMzI4XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjY2
NjY2NjY2NjY2NjY2NjUsICAtMC44MzMzMzMzMzMzMzMzMzMwXSwKKyAgICBbMC4wMDAwMDAwMDAw
MDAwMDAwICwgIC0xLjMxMjUwMDAwMDAwMDAwMDAsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAg
ICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjg3NTAwMDAwMDAwMDAwMDAsICAtMS4yNTAwMDAw
MDAwMDAwMDAwXSwKKyAgICBbLTAuMzkzODE4NDEzMjI0NTA3NCwgIC0wLjgxOTQyMTEzMTc1NzQ4
MjIsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNDAxMTk3OTI1NzQwNzc3MiwgIC0x
LjIzMjM1NTI2MDk5MzEwMDEsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbMC4wMDAwMDAw
MDAwMDAwMDAwICwgIC0wLjQzNzUwMDAwMDAwMDAwMDAsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwK
KyAgICBbLTAuNDA5MDA1Mzc2MDg5MDc0MiwgIC0wLjQwODkwNjk1MDQ3MDQ0NjYsICAtMS4yNDk5
OTk5OTk5OTk5OTk4XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAwMDAw
MDAwMCAsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNDM3NTAwMDAwMDAwMDAwMCwg
IDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNzcx
MDYwNDg5NjI1MDk2MywgIC0wLjc3MDg0NjU3NDQ1NDk5NzUsICAtMS4yNTAwMDAwMDAwMDAwMDAw
XSwKKyAgICBbLTAuNzYyNzEwNjU3NDA4MDE5MiwgIC0xLjEyODk0NDczNjU3OTg1MTUsICAtMS4y
NTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuODE5NTEwODAzMjMwMzY3MSwgIC0wLjM5MzY4OTkx
MDQ3MDUzOTYsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuODc1MDAwMDAwMDAwMDAw
MCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEu
MTI5Mzc0MzAyNzc4MDM3NiwgIC0wLjc2MjczMTIwNjg1MTA0OTIsICAtMS4yNTAwMDAwMDAwMDAw
MDAwXSwKKyAgICBbLTEuMDM4MjM2NzgyMzg0MjkwNCwgIC0xLjAzODAxNjE2OTI1MzM4NDUsICAt
MS4yNTAwMDAwMDAwMDAwMDAyXSwKKyAgICBbLTEuMjMyNjY0MzYxNDIwOTEzNCwgIC0wLjQwMTI5
OTM1MTIyMjgyMTEsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMzEyNTAwMDAwMDAw
MDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBb
LTEuNzUwMDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS4yNDk5OTk5OTk5
OTk5OTk4XSwKKyAgICBbLTEuNjkwMzcwMTk2MDA1ODY5MCwgIC0wLjQ1MjkzMzMyODkyOTQxMjQs
ICAtMS4yNDk5OTk5OTk5OTk5OTkzXSwKKyAgICBbLTEuNTE1NTQ0NDU2NjIyNzY3MiwgIC0wLjg3
NTAwMDAwMDAwMDAwMDMsICAtMS4yNDk5OTk5OTk5OTk5OTk4XSwKKyAgICBbLTEuMjM3NDM2ODY3
MDc2NDU3OSwgIC0xLjIzNzQzNjg2NzA3NjQ1NzksICAtMS4yNDk5OTk5OTk5OTk5OTk2XSwKKyAg
ICBbLTAuODc0OTk5OTk5OTk5OTk4OSwgIC0xLjUxNTU0NDQ1NjYyMjc2ODMsICAtMS4yNTAwMDAw
MDAwMDAwMDAwXSwKKyAgICBbLTAuNDUyOTMzMzI4OTI5NDEwNywgIC0xLjY5MDM3MDE5NjAwNTg2
OTcsICAtMS4yNTAwMDAwMDAwMDAwMDAwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0x
Ljc1MDAwMDAwMDAwMDAwMDAsICAtMS4yNDk5OTk5OTk5OTk5OTk4XSwKKyAgICBbMC4wMDAwMDAw
MDAwMDAwMDAwICwgIC0xLjM3NTAwMDAwMDAwMDAwMDAsICAtMS42NjY2NjY2NjY2NjY2NjYxXSwK
KyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjkxNjY2NjY2NjY2NjY2NjYsICAtMS42NjY2
NjY2NjY2NjY2NjYxXSwKKyAgICBbLTAuNDEyNTcxNjcwOTk3MTAzMCwgIC0wLjg1ODQ0MTE4NTY1
MDY5NTgsICAtMS42NjY2NjY2NjY2NjY2NjU0XSwKKyAgICBbLTAuNDIwMzAyNTg4ODcxMjkwNCwg
IC0xLjI5MTAzODg0NDg0OTkxNDQsICAtMS42NjY2NjY2NjY2NjY2NjU0XSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIC0wLjQ1ODMzMzMzMzMzMzMzMzMsICAtMS42NjY2NjY2NjY2NjY2NjYx
XSwKKyAgICBbLTAuNDI4NDgxODIyNTY5NTA2MywgIC0wLjQyODM3ODcxMDAxNjY1ODQsICAtMS42
NjY2NjY2NjY2NjY2NjUyXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAwMDAw
MDAwMDAwMCAsICAtMS42NjY2NjY2NjY2NjY2NjY1XSwKKyAgICBbLTAuNDU4MzMzMzMzMzMzMzMz
MywgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS42NjY2NjY2NjY2NjY2NjU5XSwKKyAgICBbLTAu
ODA3Nzc3NjU1Nzk3NzIwMCwgIC0wLjgwNzU1MzU1NDE5MDk0OTksICAtMS42NjY2NjY2NjY2NjY2
NjU0XSwKKyAgICBbLTAuNzk5MDMwMjEyNTIyNjg2OCwgIC0xLjE4MjcwNDAwOTc1MDMyMTAsICAt
MS42NjY2NjY2NjY2NjY2NjU0XSwKKyAgICBbLTAuODU4NTM1MTI3MTkzNzE3OCwgIC0wLjQxMjQz
NzA0OTA2NDM3NDksICAtMS42NjY2NjY2NjY2NjY2NjU0XSwKKyAgICBbLTAuOTE2NjY2NjY2NjY2
NjY2NiwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS42NjY2NjY2NjY2NjY2NjY1XSwKKyAgICBb
LTEuMTgzMTU0MDMxNDgxNzUzNSwgIC0wLjc5OTA1MTc0MDUxMDYyMzAsICAtMS42NjY2NjY2NjY2
NjY2NjU0XSwKKyAgICBbLTEuMDg3Njc2NjI5MTY0NDk0NiwgIC0xLjA4NzQ0NTUxMDY0NjQwMjcs
ICAtMS42NjY2NjY2NjY2NjY2NjU2XSwKKyAgICBbLTEuMjkxMzYyNjY0MzQ1NzE4OCwgIC0wLjQy
MDQwODg0NDEzODE5MzYsICAtMS42NjY2NjY2NjY2NjY2NjU0XSwKKyAgICBbLTEuMzc1MDAwMDAw
MDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS42NjY2NjY2NjY2NjY2NjUyXSwKKyAg
ICBbLTEuODMzMzMzMzMzMzMzMzMzMywgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMS42NjY2NjY2
NjY2NjY2NjYxXSwKKyAgICBbLTEuNzcwODY0MDE0ODYzMjkxMywgIC0wLjQ3NDUwMTU4MjY4Nzk1
NTksICAtMS42NjY2NjY2NjY2NjY2NjYxXSwKKyAgICBbLTEuNTg3NzEzMjQwMjcxNDcwMiwgIC0w
LjkxNjY2NjY2NjY2NjY2NzAsICAtMS42NjY2NjY2NjY2NjY2NjYxXSwKKyAgICBbLTEuMjk2MzYy
NDMyMTc1MzM2OSwgIC0xLjI5NjM2MjQzMjE3NTMzNjksICAtMS42NjY2NjY2NjY2NjY2NjU2XSwK
KyAgICBbLTAuOTE2NjY2NjY2NjY2NjY1MywgIC0xLjU4NzcxMzI0MDI3MTQ3MTEsICAtMS42NjY2
NjY2NjY2NjY2NjUyXSwKKyAgICBbLTAuNDc0NTAxNTgyNjg3OTU0MCwgIC0xLjc3MDg2NDAxNDg2
MzI5MTcsICAtMS42NjY2NjY2NjY2NjY2NjU0XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IC0xLjgzMzMzMzMzMzMzMzMzMzMsICAtMS42NjY2NjY2NjY2NjY2NjYxXSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIC0xLjQzNzUwMDAwMDAwMDAwMDAsICAtMi4wODMzMzMzMzMzMzMzMzI2
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjk1ODMzMzMzMzMzMzMzMzMsICAtMi4w
ODMzMzMzMzMzMzMzMzM5XSwKKyAgICBbLTAuNDMxMzI0OTI4NzY5Njk4NywgIC0wLjg5NzQ2MTIz
OTU0MzkwOTIsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbLTAuNDM5NDA3MjUyMDAxODAz
NiwgIC0xLjM0OTcyMjQyODcwNjcyODYsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbMC4w
MDAwMDAwMDAwMDAwMDAwICwgIC0wLjQ3OTE2NjY2NjY2NjY2NjYsICAtMi4wODMzMzMzMzMzMzMz
MzM5XSwKKyAgICBbLTAuNDQ3OTU4MjY5MDQ5OTM4NiwgIC0wLjQ0Nzg1MDQ2OTU2Mjg3MDEsICAt
Mi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAwMDAw
MDAwMDAwMDAwMCAsICAtMi4wODMzMzMzMzMzMzMzMzM1XSwKKyAgICBbLTAuNDc5MTY2NjY2NjY2
NjY2NiwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBb
LTAuODQ0NDk0ODIxOTcwMzQzNiwgIC0wLjg0NDI2MDUzMzkyNjkwMjAsICAtMi4wODMzMzMzMzMz
MzMzMzI2XSwKKyAgICBbLTAuODM1MzQ5NzY3NjM3MzU0MiwgIC0xLjIzNjQ2MzI4MjkyMDc5MDAs
ICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbLTAuODk3NTU5NDUxMTU3MDY4NywgIC0wLjQz
MTE4NDE4NzY1ODIxMDEsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbLTAuOTU4MzMzMzMz
MzMzMzMzMywgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi4wODMzMzMzMzMzMzMzMzM5XSwKKyAg
ICBbLTEuMjM2OTMzNzYwMTg1NDY5NSwgIC0wLjgzNTM3MjI3NDE3MDE5NjcsICAtMi4wODMzMzMz
MzMzMzMzMzI2XSwKKyAgICBbLTEuMTM3MTE2NDc1OTQ0Njk4OCwgIC0xLjEzNjg3NDg1MjAzOTQy
MTAsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbLTEuMzUwMDYwOTY3MjcwNTI0MiwgIC0w
LjQzOTUxODMzNzA1MzU2NTksICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbLTEuNDM3NDk5
OTk5OTk5OTk5OCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwK
KyAgICBbLTEuOTE2NjY2NjY2NjY2NjY2NSwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi4wODMz
MzMzMzMzMzMzMzI2XSwKKyAgICBbLTEuODUxMzU3ODMzNzIwNzEzNSwgIC0wLjQ5NjA2OTgzNjQ0
NjQ5OTMsICAtMi4wODMzMzMzMzMzMzMzMzIxXSwKKyAgICBbLTEuNjU5ODgyMDIzOTIwMTczNSwg
IC0wLjk1ODMzMzMzMzMzMzMzMzcsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbLTEuMzU1
Mjg3OTk3Mjc0MjE1OCwgIC0xLjM1NTI4Nzk5NzI3NDIxNTgsICAtMi4wODMzMzMzMzMzMzMzMzIx
XSwKKyAgICBbLTAuOTU4MzMzMzMzMzMzMzMyMCwgIC0xLjY1OTg4MjAyMzkyMDE3NDYsICAtMi4w
ODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbLTAuNDk2MDY5ODM2NDQ2NDk3NCwgIC0xLjg1MTM1Nzgz
MzcyMDcxNDIsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAw
ICwgIC0xLjkxNjY2NjY2NjY2NjY2NjUsICAtMi4wODMzMzMzMzMzMzMzMzI2XSwKKyAgICBbMC4w
MDAwMDAwMDAwMDAwMDAwICwgIC0xLjUwMDAwMDAwMDAwMDAwMDAsICAtMi41MDAwMDAwMDAwMDAw
MDAwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIC0xLjAwMDAwMDAwMDAwMDAwMDAsICAt
Mi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNDQ5OTk1MjcyNTY1NTI2MywgIC0wLjkzNjM5
Mjk0NjE4NzE1NjYsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNDU5NzQzMDg2ODY0
MzI5OSwgIC0xLjQwOTQzNzkzMTYyMTgyODgsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBb
MC4wMDAwMDAwMDAwMDAwMDAwICwgIC0wLjUwMDAwMDAwMDAwMDAwMDAsICAtMi41MDAwMDAwMDAw
MDAwMDAwXSwKKyAgICBbLTAuNDcwMDYzMjU3NDI4ODc2NSwgIC0wLjQ2OTk5NDkxMzgzNTM4Nzgs
ICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMDAw
MDAwMDAwMDAwMDAwMCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNTAwMDAwMDAw
MDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAg
ICBbLTAuODgzMTg4NDgzMDQ2NzY0MywgIC0wLjg4Mjk5MzcxMDI0MTc1OTQsICAtMi41MDAwMDAw
MDAwMDAwMDAwXSwKKyAgICBbLTAuODc2NDIzMzYzOTExNjAyNywgIC0xLjI5MzEwMTcyMjgxMjEz
MDIsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuOTM3NzE0MDI1NTIxODMxMCwgIC0w
LjQ1MTE0ODg5NDIyODgxMzcsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMDAwMDAw
MDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwK
KyAgICBbLTEuMjkzMDU5MjMyMjk5MDMzNywgIC0wLjg3NjAxNTY3NDgyMzQzNzcsICAtMi41MDAw
MDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMTk0NTY1Mzg2MTk0NTc3MSwgIC0xLjE5NDQ0MzY1MzMz
NjIyMTAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuNDEwNjI5MzkxMTYyNzYzNiwg
IC0wLjQ2MTI0NTc3NTMzNTcwNTIsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuNTAw
MDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi41MDAwMDAwMDAwMDAwMDAw
XSwKKyAgICBbLTIuMDAwMDAwMDAwMDAwMDAwMCwgIDAuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi41
MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuOTMxODUxNjUyNTc4MTM2NCwgIC0wLjUxNzYzODA5
MDIwNTA0MTksICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuNzMyMDUwODA3NTY4ODc2
NywgIC0xLjAwMDAwMDAwMDAwMDAwMDQsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEu
NDE0MjEzNTYyMzczMDk0OSwgIC0xLjQxNDIxMzU2MjM3MzA5NDksICAtMi41MDAwMDAwMDAwMDAw
MDAwXSwKKyAgICBbLTAuOTk5OTk5OTk5OTk5OTk5NiwgIC0xLjczMjA1MDgwNzU2ODg3NzYsICAt
Mi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNTE3NjM4MDkwMjA1MDQxMywgIC0xLjkzMTg1
MTY1MjU3ODEzNjQsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAw
MDAwICwgIC0yLjAwMDAwMDAwMDAwMDAwMDAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBb
LTAuNTA4NzU2MzEzNjA3NDM0OSwgIDAuMjI2ODg4MjA3NjIyNDQ4NSAsICAyLjA2MTIzMzcxNzk5
MjQ5MjcgXSwKKyAgICBbLTAuNzkwODYwNjU0OTE4NTk2MywgIDAuMjE5MDM3MDEzNjkwMzE5NiAs
ICAyLjA2ODk1NDczMzQwMzc5MjUgXSwKKyAgICBbLTAuNDY4MTk2NDczMDkzNTc4NCwgIDAuMjI0
OTk3NjM2MjgyNzYzNiAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNzA0NzE4OTY1
ODEwOTE0NSwgIDAuMjI5ODcxNTQzNDMyMTY1MyAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAg
ICBbLTEuOTMxODUxNjUyNTc4MTM2OCwgIDAuNTE3NjM4MDkwMjA1MDQwNiAsICAtMi41MDAwMDAw
MDAwMDAwMDAwXSwKKyAgICBbLTEuNDEwMzUzMDA2OTYxNzkxOCwgIDAuNDYxMDU1MjgxOTg2MjQ3
OSAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuODQ5Mjc5MzcwMjg0NjA1NSwgIDAu
NDk1NTEwMjkwMjYzNjc2MCAsICAtMi4wNzI1NzEwMTk3Mzg0MDIwXSwKKyAgICBbLTEuMzkyNDAw
OTE4MDA0MDkxMywgIDAuNDAwOTI0OTA5MzgzMzg0NyAsICAtMi4xMDI3Nzc3MzE5NTE3ODQyXSwK
KyAgICBbLTEuNzMyMDUwODA3NTY4ODc4MSwgIDAuOTk5OTk5OTk5OTk5OTk4NyAsICAtMi41MDAw
MDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMjk2MjM5OTE0MjY0ODczOSwgIDAuODc5MjYyNjMzMTgx
NzUyMiAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuNjU4MDMxMjI1MzcxNDg0OCwg
IDAuOTU3MjYyMDUyODE1ODI0OSAsICAtMi4wNzI2NDA5MzkyNDQ1NTQ4XSwKKyAgICBbLTEuMjgx
NTMxNzkzMTU3NzkxMiwgIDAuNzc2MzM4ODE3Njc5NDU3MyAsICAtMi4xMDA0MTI1ODA5MTA2Nzk1
XSwKKyAgICBbLTEuNDE0MjEzNTYyMzczMDk1NCwgIDEuNDE0MjEzNTYyMzczMDk0OSAsICAtMi41
MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMTk1NDg5NzE3MTUzODAyNiwgIDEuMTk1NTExODA5
Mjg0NjI2NCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMzUzODA4MzU4NzE0MDYw
MSwgIDEuMzUzODA1NTc0NjI2NDM5NyAsICAtMi4wNzI4NjA4NjU1MDYzMDA4XSwKKyAgICBbLTEu
MTM2OTM1NDI4ODc0NDgxNSwgIDEuMTM2MzQ3Nzk1NDUxMTQ0NSAsICAtMi4wODkyNzg3OTkwMzU0
NTA0XSwKKyAgICBbLTAuODgwNjYxNTAzNDA3ODYxNSwgIDEuMjk3Mjg4NDkxNDAyMjIwMCAsICAt
Mi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTEuMDAwMDAwMDAwMDAwMDAwOSwgIDEuNzMyMDUw
ODA3NTY4ODc2NyAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNzc3MzU1ODA1MzE2
ODAyOSwgIDEuMjgxMzUyMzY3NDk4MTAwOSAsICAtMi4xMDA2OTUyMjY1MzgyODIzXSwKKyAgICBb
LTAuOTU3MzU3Mzc2NzM3MzUzNCwgIDEuNjU4MTg5MjE2Mzg5MjI1MyAsICAtMi4wNzM1NjMzNzAy
MTc2Njk1XSwKKyAgICBbLTAuNDYyOTU3NTAwOTQ0MTE2NCwgIDEuNDEyMjgxNzAxMjIwNzg1OCAs
ICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNTE3NjM4MDkwMjA1MDQxMywgIDEuOTMx
ODUxNjUyNTc4MTM2NCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNDAxNzg4MTc5
MTUxOTYwNywgIDEuMzkyMzkxNTg2Nzg4NzYyMCAsICAtMi4xMDQwNTg4ODE0OTE3MzM2XSwKKyAg
ICBbLTAuNDk1NjgyMDUzMzkwMzM2MywgIDEuODQ5OTEwNjA3NjUyODA2NyAsICAtMi4wNzU4NDE5
Mzk5NTQ0NjY4XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuNTAwMDAwMDAwMDAwMDAw
MCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDIu
MDAwMDAwMDAwMDAwMDAwMCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbMC4wMDAwMDAw
MDAwMDAwMDAwICwgIDEuNDM0ODQ4NzI1MzM2OTQ3NyAsICAtMi4wODMzMzMzMzMzMzMzMzIxXSwK
KyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuOTE2NjY2NjY2NjY2NjY2MyAsICAtMi4wODMz
MzMzMzMzMzMzMzA4XSwKKyAgICBbLTAuNDUzMDgxMjM1MTA3MzkzMiwgIDAuOTM5NDEzODc1MzEy
ODgzNSAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IDEuMDAwMDAwMDAwMDAwMDAwMCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNDA1
ODQwNDg4MTk0NTUxNiwgIDAuOTAwNzQyNDczMjc4NDM5MSAsICAtMi4xMTEwMTM5NzUwOTMzNjQx
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuOTU2NjY0MzI3MzMxNzk5NCAsICAtMi4w
ODMzMzMzMzMzMzMzMzMwXSwKKyAgICBbLTAuODg2Nzc2OTg5MTI0NDIwMiwgIDAuODg2NzI4Mjg5
MDY5NzUxOCAsICAtMi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuODI0ODIyOTM3MTQzNDA0
MiwgIDAuODI0MzM0MTA5NDU1NTY0NyAsICAtMi4xMTAzMzQ1MzkzMDg0OTkxXSwKKyAgICBbLTAu
NDcwODAzMTA0OTY0MzY1NiwgIDAuNDcwODg0MTk0NzAwNjg3NyAsICAtMi41MDAwMDAwMDAwMDAw
MDAwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNTAwMDAwMDAwMDAwMDAwMCAsICAt
Mi41MDAwMDAwMDAwMDAwMDAwXSwKKyAgICBbLTAuNDM3NTU5NDAzMDA0MzAwMiwgIDAuNDM3MzQ2
MDYwODE1MTY0MyAsICAtMi4xMDkxNzA4MzQ5NDMyNDU5XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAw
MDAwICwgIDAuNDc4NDM3Mzk0MTQxNDQwNCAsICAtMi4wODMzMzMzMzMzMzMzMzM1XSwKKyAgICBb
LTAuOTM4MDkzMDkzNTAxMTA5NCwgIDAuNDUxODUyMTg2MDk3NTU0OCAsICAtMi41MDAwMDAwMDAw
MDAwMDAwXSwKKyAgICBbLTAuOTAwNzYyNTA5NTI3Mjg2NSwgIDAuNDA1MTQ5NzQzMTg1OTM2NiAs
ICAtMi4xMTA0MTA4Njg5NDA0MjA0XSwKKyAgICBbLTEuNzY4Nzc0ODAzMTE2MTE1MCwgIDAuNDcz
OTM3OTg4OTQyMjg0MyAsICAtMS42NTU4NDcyMDQ3OTM2NTE0XSwKKyAgICBbLTEuMzQzMDQxMzM3
NTE3NjI2NywgIDAuMzY5ODg5MDY3NDU0NTUyNiAsICAtMS42OTI0NDQ4MzAxODc0ODM5XSwKKyAg
ICBbLTEuNTg1ODU0NzQ5MTk1ODQ2MSwgIDAuOTE1NTg5NzU0NjczOTY5MCAsICAtMS42NTU5MjY4
ODQyNzk2MDIwXSwKKyAgICBbLTEuMjM0NjU4MDM3MjgwMTgxNCwgIDAuNzIyMTI2NzQzOTMwNzcw
NiAsICAtMS42OTQ1NDMzNDIyMTcwNDg4XSwKKyAgICBbLTEuMjk0ODc5ODY2OTEyMDY5OCwgIDEu
Mjk0ODc1OTMzNjExMTMxNSAsICAtMS42NTYxNjk0NDA4NDYzMTc3XSwKKyAgICBbLTEuMDgxOTUz
NTY5MjQzNjE3NywgIDEuMDgxNDAxMTg1NjgzODYzMCAsICAtMS42ODY4MTUzMDQwOTM2ODQ2XSwK
KyAgICBbLTAuNzIyODk0MjM3NjkxNzgyMSwgIDEuMjM0NDgwNTY0MzMyNDYzOSAsICAtMS42OTUx
MDkzNzkwNjAwMjA3XSwKKyAgICBbLTAuOTE1NjkzMTE5NDIxMTkzMiwgIDEuNTg2MDIzNzkwNjQ1
NzUxMyAsICAtMS42NTY5MTcyNjcwODUwNzg1XSwKKyAgICBbLTAuMzcwNDU0OTkyNDMxMTQxNywg
IDEuMzQyOTI3NDk3NzA0MjU5NiAsICAtMS42OTQzNzAzMTAxNTQ5MTM5XSwKKyAgICBbLTAuNDc0
MTE3ODU3OTQzMTI2MiwgIDEuNzY5NDMxOTM0NjE5NDcyOSAsICAtMS42NTkyNTM2NzM4NDIzNTgw
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuMzcyMzI1Nzg2NTk5MDU5MCAsICAtMS42
NjY2NjY2NjY2NjY2NjUyXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuODMzMzMzMzMz
MzMzMzMyOCAsICAtMS42NjY2NjY2NjY2NjY2NjQzXSwKKyAgICBbLTAuMzg0Mjg3MTc5NzU3MDE4
MSwgIDAuODYyNzAzMjk3OTU5ODg5OCAsICAtMS43MDQyNzI3Mzc4MzcwMDA0XSwKKyAgICBbMC4w
MDAwMDAwMDAwMDAwMDAwICwgIDAuOTE0OTk5NDc5ODgxMDA0NSAsICAtMS42NjY2NjY2NjY2NjY2
NjYzXSwKKyAgICBbLTAuNzg0NDgwODg4OTUzNjE1NywgIDAuNzg0MTQ3MDQ4NzQ5Njc3MSAsICAt
MS43MDYyNjEyNTA0Nzc5MTkzXSwKKyAgICBbLTAuNDE3Mzg3NTg4MTE4NzczNiwgIDAuNDE3MTg5
ODExMDAwODkzMiAsICAtMS43MDA2ODgyNDU3MDc5Mjg5XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAw
MDAwICwgIDAuNDU3NjEyMDIwODMzNTEyMyAsICAtMS42NjY2NjY2NjY2NjY2NjYxXSwKKyAgICBb
LTAuODYyNzgxMDg1Nzc1MjMzMiwgIDAuMzgzODM3MzQzNzQ1ODg4MyAsICAtMS43MDMzODcyNjEy
NTM2OTMxXSwKKyAgICBbLTEuNjg4Mjc3NjkwOTkzNzE2MywgIDAuNDUyMzY4Njc2NzIxNTM1MiAs
ICAtMS4yMzkxNjMyNjMxMzAzMjU4XSwKKyAgICBbLTEuMjg0ODkyMjc0MDYyNjEwOCwgIDAuMzQ5
MTczMDM2ODk1NjUzMSAsICAtMS4yNzY4MDgxNjE4NTkzNjk5XSwKKyAgICBbLTEuNTEzNjg0NjI4
NTEwNjE1NiwgIDAuODczOTIyMTU4NTczMjE2MiAsICAtMS4yMzkyNTIxMDQ0OTE4MjE5XSwKKyAg
ICBbLTEuMTgxMDcxODg0OTA3ODkwMSwgIDAuNjgzNDkzNjUzNDA2MDc1MiAsICAtMS4yODEyNzQ5
MzY0NDk3MzAyXSwKKyAgICBbLTEuMjM1OTU2MDY5ODA2MDY5OSwgIDEuMjM1OTUyMDE5MDU4NjY2
NCAsICAtMS4yMzk1MTQ4NjA1NDI0MDI3XSwKKyAgICBbLTEuMDMwOTM0OTQ3MzIzNjgwNCwgIDEu
MDMwNDE3OTM0NTQyMjIwNiAsICAtMS4yNzYwODM5NTk2OTMyNjQ3XSwKKyAgICBbLTAuNjg0MTgw
NzIyNzU5MTA1MSwgIDEuMTgwOTQ2Mzc4ODg3NTIxMCAsICAtMS4yODIwMDgxOTkzMzU5OTExXSwK
KyAgICBbLTAuODc0MDMxNTE4MjE1MzY1MCwgIDEuNTEzODYzNzM1Njk4OTYwNiAsICAtMS4yNDAz
MDEwNjA0NTg3NzA4XSwKKyAgICBbLTAuMzQ5NjY0MTQ1NzkxNDg1OCwgIDEuMjg0NzgxMzM3MzQ4
MzkzNCAsICAtMS4yNzkwMzE2Mzk0MTAzMTg5XSwKKyAgICBbLTAuNDUyNTU0NTQ0MzIyMzE0NSwg
IDEuNjg4OTU2NTUyNjA3MDYxMyAsICAtMS4yNDI2ODI0NDMzMDgwOTkyXSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIDEuMzA5ODQyMzc5NzEzOTkzOCAsICAtMS4yNDk5OTk5OTk5OTk5OTkx
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuNzQ5OTk5OTk5OTk5OTk5OCAsICAtMS4y
NDk5OTk5OTk5OTk5OTg0XSwKKyAgICBbLTAuMzY3MDcyODIxNjA5NTQ4MywgIDAuODIzOTIwOTk3
NDgwMDAzNiAsICAtMS4yODk1ODIxMDQzNTQwODg3XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAw
ICwgIDAuODczMzQ3Nzk4MTc4NjE5MiAsICAtMS4yNDk5OTk5OTk5OTk5OTk2XSwKKyAgICBbLTAu
NzQ4NzA0NjM1OTIyMzEzMCwgIDAuNzQ4NDY5MjY2NjczMDAxMSAsICAtMS4yOTI1MjcwMjA1MzMx
MDM5XSwKKyAgICBbLTAuMzk4NzkzMTE4ODQwNTgwMCwgIDAuMzk4NTg4NTYwNTQ4MDMyNyAsICAt
MS4yODU2ODYyNTQxMzExOTY0XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNDM2Nzg4
MzI3NzQ4MzU2MiAsICAtMS4yNDk5OTk5OTk5OTk5OTk4XSwKKyAgICBbLTAuODI0MDA0Mzg1OTQ2
NTExNywgIDAuMzY2Njg5MjkyOTY0ODQzMCAsICAtMS4yODg1NDMxMDE0NTk3NTI4XSwKKyAgICBb
LTEuNjA3Nzg1NDY5MDY3NzU2MiwgIDAuNDMwODAwNjkxNjcxMTUzNyAsICAtMC44MjI1MDQ2NTY3
ODcxNzU3XSwKKyAgICBbLTEuMjI0NTE0MDE4OTQxNjQwNCwgIDAuMzMxMTM2MjcxNjQwMTUyOSAs
ICAtMC44NTk1NTY3Njk5MjIzMjU1XSwKKyAgICBbLTEuNDQxNTE4OTgzNTUxNDYwNCwgIDAuODMy
MjU3MTY1OTE4Mzg1NiAsICAtMC44MjI2MDMyMTM3ODEzMzg2XSwKKyAgICBbLTEuMTI1Njg4ODY1
NDk3MzA4MywgIDAuNjQ5MDUxODYwNTMzMjE4OSAsICAtMC44NjQ3MzcxNDgxMTE2NjYwXSwKKyAg
ICBbLTEuMTc3MDM1OTg2NDE2MTc5OSwgIDEuMTc3MDMxODM5NjA5OTI0NCAsICAtMC44MjI4ODY2
MTU3OTM1NzQ3XSwKKyAgICBbLTAuOTgxMTc2OTg3MzIwNjExNSwgIDAuOTgwNjY2MjcwMDY4MjI5
MCAsICAtMC44NjA1MzMwOTU2MzMyMTg3XSwKKyAgICBbLTAuNjQ5NzA4MzU3MTY4MTY3OCwgIDEu
MTI1NTc1OTMzMjIxMzc0OCAsICAtMC44NjU1MzY2ODM0OTk2OTg0XSwKKyAgICBbLTAuODMyMzcy
NDMxMzUyMzQ1MywgIDEuNDQxNzA4MDUzOTM5MzAzMiAsICAtMC44MjM3MTAwNzYxNDUyMzQ3XSwK
KyAgICBbLTAuMzMxNjA4OTI4MTc0NjIzMywgIDEuMjI0Mzk4MTE5ODUyOTA0NCAsICAtMC44NjE5
MjU4MTM4NDM0Nzg0XSwKKyAgICBbLTAuNDMwOTkyMTgwMDEwNzQ4MSwgIDEuNjA4NDg0NzEzNDY0
OTg1OCAsICAtMC44MjYxMjk1NTIwMjAxODU5XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IDEuMjQ3MzY1OTkwMjU4NzY3MyAsICAtMC44MzMzMzMzMzMzMzMzMzI3XSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIDEuNjY2NjY2NjY2NjY2NjY2MyAsICAtMC44MzMzMzMzMzMzMzMzMzE3
XSwKKyAgICBbLTAuMzQ5NzgwODIzMDQ3NjQzMywgIDAuNzg0NzUyMDc4MDA0NzU3OCAsICAtMC44
NzI0MjI5NDIzMjMzODU2XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuODMxNzAwNDA2
MTU0Mjk0MyAsICAtMC44MzMzMzMzMzMzMzMzMzMxXSwKKyAgICBbLTAuNzEzMTgyODY5NTE3NjA1
OCwgIDAuNzEyOTcyNTAwMDU1NjQwMSAsICAtMC44NzUzODc2NzY2NTQ4MjM4XSwKKyAgICBbLTAu
Mzc5OTE3OTIzMjEyNDkxOCwgIDAuMzc5NzAyMzQ0NTQ1MTc4MCAsICAtMC44Njg1OTE0MzIwNTg0
NTU5XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNDE1OTY2NDQwODc5NzU0OCAsICAt
MC44MzMzMzMzMzMzMzMzMzMzXSwKKyAgICBbLTAuNzg0ODQ1NTg0NDg3NzAwOSwgIDAuMzQ5NDE1
MjY2NjUzODIwNSAsICAtMC44NzEzMDEwODU0MzIwNjQ2XSwKKyAgICBbLTEuNTI3Mjk4ODk3NzAx
NDQyMywgIDAuNDA5MjM0MjQxNTE1NzMzMCAsICAtMC40MDU4NzUzMjY4NTE4NTY4XSwKKyAgICBb
LTEuMTYzNzEwOTA4NzE3MDgzMiwgIDAuMzEzNzU0NjE5MDkzNDI1NiAsICAtMC40NDIwMjUyODkw
MzczMDIzXSwKKyAgICBbLTEuMzY5MzU4NDcwNzIxMDM4MiwgIDAuNzkwNTk1MTU5NzgzOTk5MCAs
ICAtMC40MDU5ODQwMTIxNDEyOTAzXSwKKyAgICBbLTEuMDY5ODEwMDQ0MzUxNDk5MywgIDAuNjE1
NTc1Njk1MzcyMjIxMCAsICAtMC40NDcyNzcxMjM2OTY3MjY0XSwKKyAgICBbLTEuMTE4MTIwMTAy
MTYyNDIxOSwgIDEuMTE4MTE1ODg0ODY4NzIxMiAsICAtMC40MDYyODgxNTM4Mjk2Mjg0XSwKKyAg
ICBbLTAuOTMxNzE4Njc4NzE2MDk1NiwgIDAuOTMxMjE5OTQ3OTk1MjQ4NSAsICAtMC40NDM0NDkw
ODE4NTY1OTEzXSwKKyAgICBbLTAuNjE2MjA2Mzc2ODExOTM4MiwgIDEuMDY5Njg3MTc5NDc4Mzcw
MiAsICAtMC40NDgxMDcyNjg1NjI3ODM5XSwKKyAgICBbLTAuNzkwNzE2MTI0NTM2MDQwNywgIDEu
MzY5NTU3MjA4NzU1ODk3MSAsICAtMC40MDcxNDY5ODQ5Mzc5NjIzXSwKKyAgICBbLTAuMzE0MjA2
NjAxOTY5MTMxMiwgIDEuMTYzNTg4MDg5MDAwNDUwMiAsICAtMC40NDQ0NzIyNDUxMzI4MTAzXSwK
KyAgICBbLTAuNDA5NDMwODMzODIxMTE1NywgIDEuNTI4MDE2Njc0MDA1Njk1NyAsICAtMC40MDk1
OTYzMjkzMzc2NzgwXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuMTg0ODk3MTYxNzgw
ODY2OCAsICAtMC40MTY2NjY2NjY2NjY2NjYxXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IDEuNTgzMzMzMzMzMzMzMzMzMCAsICAtMC40MTY2NjY2NjY2NjY2NjU0XSwKKyAgICBbLTAuMzMy
MjIwMjk4NTIyNDUxOCwgIDAuNzQ1NTQ5MjEwMTA1NjIxNSAsICAtMC40NTQ3MDU2MDE1Mzg3Njg1
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNzkwMDU3NjkyMDQ5NTczNSAsICAtMC40
MTY2NjY2NjY2NjY2NjY1XSwKKyAgICBbLTAuNjc3NTIyODA5OTYwMjE5MywgIDAuNjc3MzEwMjU2
Mzg4NjkzMSAsICAtMC40NTc1Nzk1NDUyODEyOTgzXSwKKyAgICBbLTAuMzYwOTI5NjgwMDM5NjEz
NiwgIDAuMzYwNzExMDkxMDYxNjk4MCAsICAtMC40NTA5NjYzOTExNTQ2NzkxXSwKKyAgICBbMC4w
MDAwMDAwMDAwMDAwMDAwICwgIDAuMzk1MTQ2NDg4MjY0OTQ2MSAsICAtMC40MTY2NjY2NjY2NjY2
NjY0XSwKKyAgICBbLTAuNzQ1NjU2OTQwNTM3OTkwNywgIDAuMzMxODYwMDYwMTQxMDYwMyAsICAt
MC40NTM1Mjk0NDkwOTM4MTMzXSwKKyAgICBbLTEuNDQ2ODE4OTM4MDQ5MzUxMCwgIDAuMzg3NjY5
NTk0ODY0MTMzOSAsICAwLjAxMDcxOTczNzA1MDIwNTcgXSwKKyAgICBbLTEuMTAyODEwNTI1NTE4
MTI3MywgIDAuMjk2NTY5MTc3NTc3NTcwNSAsICAtMC4wMjQ0MzYwNzgxOTA5MTg1XSwKKyAgICBb
LTEuMjk3MjAzODk3MjQxOTM4NCwgIDAuNzQ4OTM2NjE2MjEyNDgxMSAsICAwLjAxMDYwMDgxNDk0
NjA0MjcgXSwKKyAgICBbLTEuMDEzNzkwMjAyMDc2ODI3NSwgIDAuNTgyMzY3MzI3MTMyMjE5MyAs
ICAtMC4wMjk2Mjg3NjY3NjM4ODE4XSwKKyAgICBbLTEuMDU5MjA4OTkwNzk5NzU5NSwgIDEuMDU5
MjA0NzM2NTQ0MzMyMCAsICAwLjAxMDI3NjQ0MDE2NjUxMTMgXSwKKyAgICBbLTAuODgyMzI4ODc0
MDcyMjkyNCwgIDAuODgxODUyNTQxMjc0NzQ0OCAsICAtMC4wMjU5ODEyMjM1MDc1OTExXSwKKyAg
ICBbLTAuNTgyOTYzODg0Mzg2NDE3MiwgIDEuMDEzNjU3MzE0ODU3MDgyOSAsICAtMC4wMzA0Nzg4
NzE3MDI5NzYxXSwKKyAgICBbLTAuNzQ5MDYyODk2MjgyOTIzMSwgIDEuMjk3NDExNzIxNDk3MzQ4
NCAsICAwLjAwOTM4NTIwOTM2NjE5OTAgXSwKKyAgICBbLTAuMjk2OTk2MTAwNjkyMjAyNiwgIDEu
MTAyNjg3NTkxNzY1MjY1MiAsICAtMC4wMjY5MzkzNTgwMTc2OTg0XSwKKyAgICBbLTAuMzg3ODcw
NTc4NDIyOTc4MywgIDEuNDQ3NTUyNzA1NDM1Njg2MCAsICAwLjAwNjkxNTgyMDg3MTMwNDkgXSwK
KyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuMTIyNDM2NzA1NDMwNzU0OSAsICAwLjAwMDAw
MDAwMDAwMDAwMDQgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuNDk5OTk5OTk5OTk5
OTk5OCAsICAwLjAwMDAwMDAwMDAwMDAwMDkgXSwKKyAgICBbLTAuMzE0NjA0MDY4OTgxOTIwNywg
IDAuNzA2MzgwOTk0NTM1MDY2MyAsICAtMC4wMzY4NjAyMzcwMDA3NjIxXSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIDAuNzQ4NDIwMDg0MDIxNzQ2MiAsICAwLjAwMDAwMDAwMDAwMDAwMDEg
XSwKKyAgICBbLTAuNjQxNzk4NjQ3NzEwMzE0NiwgIDAuNjQxNTc3MTg1MDIwOTM0NiAsICAtMC4w
Mzk2MDg4NjU5OTI1NDc3XSwKKyAgICBbLTAuMzQxOTM1MjQ5NjMyMjg4NSwgIDAuMzQxNzIwMTU2
NzEwMzg3NSAsICAtMC4wMzMxODAyMzA0MDQ1OTQ4XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAw
ICwgIDAuMzc0MzI4NjA1NjczNTg0MCAsICAwLjAwMDAwMDAwMDAwMDAwMDIgXSwKKyAgICBbLTAu
NzA2NDk2MTAzMjg5NTg3MCwgIDAuMzE0MjQ5NDkwNjk4NDc5NyAsICAtMC4wMzU2NDgzMjQ3Mzk4
OTUyXSwKKyAgICBbLTEuMzY2MzQ3MTExMzc5MjcxMSwgIDAuMzY2MTA3MTgwODg0NzI0NSAsICAw
LjQyNzI3MjYzMjM3NTQwMTYgXSwKKyAgICBbLTEuMDQxODUyNzk4ODYyODA4MywgIDAuMjc5NDk4
MzIyMjg1MDQ3NiAsICAwLjM5MzE4NzEzNjkxMDU2MzUgXSwKKyAgICBbLTEuMjI1MDU2NTA1MTIz
MzU0OCwgIDAuNzA3MjgyMjcxNTIxMDc4MyAsICAwLjQyNzE0NDA0ODYzMDI0MTAgXSwKKyAgICBb
LTAuOTU3NzAzNzg5MjI2NDQ4NSwgIDAuNTQ5MjkyNDQ5ODM0NTMxNyAsICAwLjM4ODEwNDI4MTk0
NzQ0MjkgXSwKKyAgICBbLTEuMDAwMzAzNDk2MTY5MzI5MSwgIDEuMDAwMjk5MjUzNjg5NDg2NiAs
ICAwLjQyNjgwMTE0NTU1NTk4MTQgXSwKKyAgICBbLTAuODMyOTg4MDA1NzExNTkxNSwgIDAuODMy
NTM5Njk0ODk4Mzg2NCAsICAwLjM5MTU4MjM2NDg0MzI5MjUgXSwKKyAgICBbLTAuNTQ5ODUwNTUw
MTU5MTM0MCwgIDAuOTU3NTY3NjYxMTc1NDA2NyAsICAwLjM4NzI0MjgxNDg4NDg0NjYgXSwKKyAg
ICBbLTAuNzA3NDEzMTU3OTA5MzM5NSwgIDEuMjI1MjcyMzEyOTUxOTI2NyAsICAwLjQyNTg4MjM1
NzM3MTY0ODMgXSwKKyAgICBbLTAuMjc5ODk5MDMzNDExODYzMSwgIDEuMDQxNzM3Mjk3MTI1MTM0
MCAsICAwLjM5MDY1NTk1OTA2NDA2NjUgXSwKKyAgICBbLTAuMzY2MzExNTA1OTM0NjE1MywgIDEu
MzY3MDkzMTUxNTQ1MDU0NCAsICAwLjQyMzQwNTExOTAxODI2NjMgXSwKKyAgICBbMC4wMDAwMDAw
MDAwMDAwMDAwICwgIDEuMDU5OTg1NzQ2MzYwNTI5MyAsICAwLjQxNjY2NjY2NjY2NjY2NjkgXSwK
KyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuNDE2NjY2NjY2NjY2NjY2NSAsICAwLjQxNjY2
NjY2NjY2NjY2NzEgXSwKKyAgICBbLTAuMjk2OTkwNDM0NTMzODQxMSwgIDAuNjY3MjE3MjMwNDI0
MjY2MCAsICAwLjM4MTA5Mjk0MDA0NTI1OTcgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IDAuNzA2Nzg4MTYzNzQ5NDEwMCAsICAwLjQxNjY2NjY2NjY2NjY2NjkgXSwKKyAgICBbLTAuNjA2
MDYxNTA0MTkyMzM1NCwgIDAuNjA1ODM4NjQ4NzE4MDU0MyAsICAwLjM3ODQ2MTY0Njg5NzI0NTYg
XSwKKyAgICBbLTAuMzIyOTQzNTk5MjE0Mjk3NCwgIDAuMzIyNzM5MDY2NjE1Njc3MiAsICAwLjM4
NDY5NDAwMjQ1MTE4MTAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMzUzNTEyOTcw
MDY3MDI0MiAsICAwLjQxNjY2NjY2NjY2NjY2NjkgXSwKKyAgICBbLTAuNjY3MzI4NjEyNTkwMTUx
OSwgIDAuMjk2NjQzMzk1NzA5NDIxNyAsICAwLjM4MjMyMDQ5MjY1OTIzMjggXSwKKyAgICBbLTEu
Mjg1ODg2OTExOTI2NTc2NiwgIDAuMzQ0NTQ3OTg2ODI3NjE5NCAsICAwLjg0Mzc2NTIwNTY2ODAx
MDEgXSwKKyAgICBbLTAuOTgwODM1NjgxNjkzNDY3NywgIDAuMjYyNTM4NzE4MDI2MDM4MCAsICAw
LjgxMDg0NjcxMDE2ODE4MzcgXSwKKyAgICBbLTEuMTUyOTE5MTI5MTE3NjQ0NCwgIDAuNjY1NjMz
ODA4OTU1NTExMSAsICAwLjg0MzYyOTIwNTk1OTg4NDQgXSwKKyAgICBbLTAuOTAxNTUxNjY3MDg3
OTI1NywgIDAuNTE2MzQ5ODU4NDUyODYwMCAsICAwLjgwNTg0NDM5ODczMjI5MzkgXSwKKyAgICBb
LTAuOTQxNDA1NTE3MzE4Nzc5NiwgIDAuOTQxNDAxMzczODQ0NDc1NSAsICAwLjg0MzI3MjM5Nzk1
MjM4MzEgXSwKKyAgICBbLTAuNzgzNzA1Mjk4NTQ1NDM2MSwgIDAuNzgzMjg5NzE4ODQwNDU3OSAs
ICAwLjgwOTExOTE2MjQzODgyNjggXSwKKyAgICBbLTAuNTE2ODYyMjE3Mzg5MjQ3NSwgIDAuOTAx
NDIzMzY3Njk5ODgyOCAsICAwLjgwNTAwMzUxMzIyMDM0NDQgXSwKKyAgICBbLTAuNjY1NzY3ODEx
NDk5MTA2NSwgIDEuMTUzMTQwNTY4NzI1NDQ1OSAsICAwLjg0MjMzNTMzNzk5NDM0NDYgXSwKKyAg
ICBbLTAuMjYyOTEwOTY4OTExMjI2MywgIDAuOTgwNzM1MDk2ODUzMDAzNiAsICAwLjgwODM1MDkw
MDI4NDgwODIgXSwKKyAgICBbLTAuMzQ0NzUzODExODc0MzI4MiwgIDEuMjg2NjM4NzQyMDE4MDM3
NCAsICAwLjgzOTg2Nzc4Nzk3OTY2MDIgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAu
OTk3NTQ2NzM4NDM4OTg0NCAsICAwLjgzMzMzMzMzMzMzMzMzMzUgXSwKKyAgICBbMC4wMDAwMDAw
MDAwMDAwMDAwICwgIDEuMzMzMzMzMzMzMzMzMzMzMyAsICAwLjgzMzMzMzMzMzMzMzMzMzUgXSwK
KyAgICBbLTAuMjc5MzY0MTkwMDMwMDQwMywgIDAuNjI4MDUwMTU4NDk2MTM3OSAsICAwLjc5OTE3
NDgzMzY1NDQ1NzMgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNjY1MTYzMjEyOTkz
MjU0MSAsICAwLjgzMzMzMzMzMzMzMzMzMzYgXSwKKyAgICBbLTAuNTcwMjkxMzA1MzE5MDIxNiwg
IDAuNTcwMDgzNzc5Mzc4NjIzNCAsICAwLjc5NjU5MTA3MTU1ODg3ODYgXSwKKyAgICBbLTAuMzAz
OTQ0OTAzNDg4NTMzMCwgIDAuMzAzNzYwMjY0Njc4ODMxMCAsICAwLjgwMjY3NTczMjUwNDQ4MDAg
XSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMzMyNjk5OTczNzgyMTY2NyAsICAwLjgz
MzMzMzMzMzMzMzMzMzYgXSwKKyAgICBbLTAuNjI4MTM5NDY1MTY4MTYxMiwgIDAuMjc5MDMzMzY1
NTAxNDQ0MyAsICAwLjgwMDM3Nzc1ODMwNDI2NjcgXSwKKyAgICBbLTEuMjA1NDQ5NTI5MDE4ODA2
MSwgIDAuMzIyOTk1MTQxODQwMTM5NCAsICAxLjI2MDEzOTM2NzIxMzQxMjIgXSwKKyAgICBbLTAu
OTE5NjYwODkxOTE1MjY0MCwgIDAuMjQ1ODAyOTk1ODQ2ODM2NiAsICAxLjIyODY0NDIyOTU0NTk1
ODEgXSwKKyAgICBbLTEuMDgwODAxMDU1MzIyNDExOSwgIDAuNjIzOTk2NzE0NTEzODI1OCAsICAx
LjI2MDAwMjM2MTk1OTQwMzggXSwKKyAgICBbLTAuODQ1MjA3NTMyMzc2ODQxMiwgIDAuNDgzNjc0
NzI4NjgzNTAxMiAsICAxLjIyMzQxOTY2NDkzMzQ5OTkgXSwKKyAgICBbLTAuODgyNTIxNTAxNzcw
NDA4MywgIDAuODgyNTE3NjU0Njc2MDUwNyAsICAxLjI1OTY0NDIxNzA2OTgwMzIgXSwKKyAgICBb
LTAuNzM0NTI1Nzk2MzQ4NTA0NywgIDAuNzM0MTU4OTE5MzU2Mjg0MyAsICAxLjIyNjM1NDQzNzg2
MDQ0MzAgXSwKKyAgICBbLTAuNDg0MTI0NDg0OTQ4MzgwMiwgIDAuODQ1MDk5ODg5MzQzMjgyMSAs
ICAxLjIyMjY2MzAwMDY0NjkwOTUgXSwKKyAgICBbLTAuNjI0MTMwMDkxMDcyNDY1OCwgIDEuMDgx
MDIyMTY0NTIzMDY2NCAsICAxLjI1ODcxMTQ4OTY1OTY0NjUgXSwKKyAgICBbLTAuMjQ2MTM1MjY3
Njg0NzI0NywgIDAuOTE5NTg2NzE0NTU5NDgwMyAsICAxLjIyNjMwMDM5MzkwMTQ4NDUgXSwKKyAg
ICBbLTAuMzIzMTk4MjYwNTc0MDM4NiwgIDEuMjA2MTkyMzI5MzgwMTk4NiAsICAxLjI1NjI4OTA2
MTk5NjYzNjAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuOTM1MTI4MzAxODY2ODQ5
NSAsICAxLjI1MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEu
MjUwMDAwMDAwMDAwMDAwMCAsICAxLjI0OTk5OTk5OTk5OTk5OTggXSwKKyAgICBbLTAuMjYxNjU0
NjQ0MDg0NTU1MCwgIDAuNTg4ODUwNzc3NzAyMDA3NiAsICAxLjIxNzUwMTk0MTIyMjI2MjMgXSwK
KyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNjIzNTQ5OTI4MDU4Mzc0MSAsICAxLjI1MDAw
MDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNTM0MzY5NTg1NTkyODExNiwgIDAuNTM0MjA0NzM4NTky
MTUyMCAsICAxLjIxNDY5MDY5ODI4MDU2NDEgXSwKKyAgICBbLTAuMjg0OTE3OTcxMzkyOTA1OSwg
IDAuMjg0NzY5NzM4NzU1NTk5MSAsICAxLjIyMDk1MzQzOTE3NTc0NzcgXSwKKyAgICBbMC4wMDAw
MDAwMDAwMDAwMDAwICwgIDAuMzExODkxMTU3ODE5MjMxNiAsICAxLjI1MDAwMDAwMDAwMDAwMDIg
XSwKKyAgICBbLTAuNTg4OTAwMTExNDc3MjExOSwgIDAuMjYxMzUzNzAxMTQ2MDM1NyAsICAxLjIx
ODYwNDYzMzkzMjIzNjcgXSwKKyAgICBbLTEuMTI1MDc4MTk5NzQyMDc1MSwgIDAuMzAxNDYwNTQy
NDMzNjQ5MyAsICAxLjY3NjE3MDkwMjcwNjU4MDggXSwKKyAgICBbLTAuODU3NTg2ODQ2ODI0MDM2
MywgIDAuMjMwMDMzOTU2Mzc0Njc0NSAsICAxLjY0NzE1MzMyMzA3MTQyNjYgXSwKKyAgICBbLTEu
MDA4NzM5MzMyNzA0OTM1MCwgIDAuNTgyMzkyNjg4MDM0NzMzNyAsICAxLjY3NjA0ODg0MDMwMTEx
NDIgXSwKKyAgICBbLTAuNzg3OTE5MDM0NjM4MTg1NywgIDAuNDUyMTMzNDE2Nzc1NjQwNSAsICAx
LjY0MDk0MzQ2ODI3MDAzNDggXSwKKyAgICBbLTAuODIzNjc4NjU2OTYzMDU5NSwgIDAuODIzNjc1
NTk4MDI0NzM3NyAsICAxLjY3NTcyMzE3NjM5ODAzNjcgXSwKKyAgICBbLTAuNjg1NzE1MDIzOTk4
NTg3OSwgIDAuNjg1NDE4OTU2ODM1MjcyNCAsICAxLjY0MjgwNTcwNjk4NTUwMTUgXSwKKyAgICBb
LTAuNDUyNDg5MDU2OTAxMTk0OSwgIDAuNzg3ODQ4OTcyNDczODAxMCAsICAxLjY0MDMzNTk1MTM4
NDQxNjIgXSwKKyAgICBbLTAuNTgyNTE0OTc1NzU4MTIxMywgIDEuMDA4OTQzMjY5MjE2NzMyOCAs
ICAxLjY3NDg2MDA1MDAwNjg4MTggXSwKKyAgICBbLTAuMjMwMzE3ODE2MDM0MTI0MSwgIDAuODU3
NTQxNTkxMTI5OTM3MyAsICAxLjY0NTE1NzgyNzA2NzgzNjkgXSwKKyAgICBbLTAuMzAxNjQ4OTU0
ODg1NDEzNywgIDEuMTI1NzY5MjI1NjgyNDE5NCAsICAxLjY3MjU4OTY4MDA2MTQzOTcgXSwKKyAg
ICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuODcyNzY5NzIyNjIzNzg1MiAsICAxLjY2NjY2NjY2
NjY2NjY2NjMgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuMTY2NjY2NjY2NjY2NjY2
NyAsICAxLjY2NjY2NjY2NjY2NjY2NjMgXSwKKyAgICBbLTAuMjQzODE2NzYwNjI4ODg0NiwgIDAu
NTQ5MzY1NzcxOTA0NDc3NyAsICAxLjYzNjg3Nzg4NzcyMDQzNzMgXSwKKyAgICBbMC4wMDAwMDAw
MDAwMDAwMDAwICwgIDAuNTgxOTcwNzQwMTg0NzA2MSAsICAxLjY2NjY2NjY2NjY2NjY2NzAgXSwK
KyAgICBbLTAuNDk4MDYyNDc0NjIwMzU3NSwgIDAuNDk3OTM3MDA2NDY1NDI2NyAsICAxLjYzMjk0
MzE4MTk1NjQ2ODYgXSwKKyAgICBbLTAuMjY1ODcwNjUyNzcwMjE3MywgIDAuMjY1NzY2NjI0MDE1
MjY3MSAsICAxLjY0MDM1NzQ3NDcyNzY5MDYgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwg
IDAuMjkxMDk0NTY2MzM5NjIxOSAsICAxLjY2NjY2NjY2NjY2NjY2NzIgXSwKKyAgICBbLTAuNTQ5
MzYwNzA5MzA0NDY1MSwgIDAuMjQzNTYxNTc0OTI1MDcwMSAsICAxLjYzNzc3MTQ4MDM2ODI3MDQg
XSwKKyAgICBbLTEuMDQ0OTU3NTgzODY4NzEzNSwgIDAuMjc5OTk0MTA0NjcxODk0NSAsICAyLjA5
MDkwMzM3Nzc5MDkwMjEgXSwKKyAgICBbLTAuOTM2ODk2Njg4MzkzNzk5MSwgIDAuNTQwOTE2MTM4
NjQ4Njg1NCAsICAyLjA5MDgyNzk4OTAyMjA5MTMgXSwKKyAgICBbLTAuNzI2NzE4MzEyOTE4ODE3
NSwgIDAuNDI2ODQ5MzI5MTU4NTU2MCAsICAyLjA2MTE0NjY5NjE1ODQ4NjMgXSwKKyAgICBbLTAu
NzY1MDAzMzMzMjM0NTA5OCwgIDAuNzY1MDAyMDMwNzU2NTgyOCAsICAyLjA5MDYxNDE1OTM0ODU3
MjUgXSwKKyAgICBbLTAuNjM4NzYwNTcxMDk0NzMxMiwgIDAuNjM4NTc3OTQ0MDgyNjM3MCAsICAy
LjA2MDI4NTM3MDgzODIzODcgXSwKKyAgICBbLTAuNDI3MDg5MTEwMDg1OTI3OCwgIDAuNzI2NjY5
NDE2MTc0NTY1NSAsICAyLjA2MDc0NDczMDY1MDM3MDEgXSwKKyAgICBbLTAuNTQwOTk5Njg3MjI1
NTI4MiwgIDAuOTM3MDM4MDU3OTc1NTE4MCAsICAyLjA5MDAwNjk2OTMzNzU1MzYgXSwKKyAgICBb
LTAuMjE5MzA0NDA2ODAwMzI0MSwgIDAuNzkwOTAwOTIzMzc5NzE2NCAsICAyLjA2NzYyODQwNjg5
MDQ4NzUgXSwKKyAgICBbLTAuMjgwMTMxMzAzNDk0ODcwMSwgIDEuMDQ1NDY0MjU3NDMzMzUzOSAs
ICAyLjA4ODI3ODc4NDA0NTY2ODIgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuODEw
Njc0NDUyMjA3OTI2MiAsICAyLjA4MzMzMzMzMzMzMzMzMzAgXSwKKyAgICBbMC4wMDAwMDAwMDAw
MDAwMDAwICwgIDEuMDgzMzMzMzMzMzMzMzMzNSAsICAyLjA4MzMzMzMzMzMzMzMzMjEgXSwKKyAg
ICBbLTAuMjI3MTM2Mjg1NTkyODk3MSwgIDAuNTA4ODMzOTY3NTM5Njk4MCAsICAyLjA2MDcwMTI3
NzY2MDY5NDMgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNTQwNTQ3MTAwOTIxMjU3
NiAsICAyLjA4MzMzMzMzMzMzMzMzMzUgXSwKKyAgICBbLTAuNDYxOTQ3NzU5OTUyNDE3MywgIDAu
NDYxODQ0MTEzMTQyMjk5OSAsICAyLjA1NTAwNTcyNzc2Njg2NjcgXSwKKyAgICBbLTAuMjQ3MzIy
NDU4MzMxMDU1MCwgIDAuMjQ3MjgyODUyMDYxOTkwOSAsICAyLjA2NDEzMDc4OTA1Mzg4NTQgXSwK
KyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMjcwMzU4MTg3MTM0NTAzMCAsICAyLjA4MzMz
MzMzMzMzMzMzMzkgXSwKKyAgICBbLTAuOTY1OTI1ODI2Mjg5MDY4MiwgIDAuMjU4ODE5MDQ1MTAy
NTIxMCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuODY2MDI1NDAzNzg0NDM4NCwg
IDAuNTAwMDAwMDAwMDAwMDAwMiAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNjQ2
NTUwODYxNDA2MDY1MSwgIDAuNDM4MjExNjgxOTU1ODAyMSAsICAyLjUwMDAwMDAwMDAwMDAwMDAg
XSwKKyAgICBbLTAuNzA3MTA2NzgxMTg2NTQ3NSwgIDAuNzA3MTA2NzgxMTg2NTQ3NSAsICAyLjUw
MDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNTk3MjIxODI2NjY4MTEwMywgIDAuNTk3MjgyNjkz
MDk3Mjg5MCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNDM4MDA3ODM3NDExNzE4
NiwgIDAuNjQ2NTI5NjE2MTQ5NTE3NSAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAu
NDk5OTk5OTk5OTk5OTk5OCwgIDAuODY2MDI1NDAzNzg0NDM4OCAsICAyLjUwMDAwMDAwMDAwMDAw
MDAgXSwKKyAgICBbLTAuMjMwNjIyODg3NjY3ODUyNCwgIDAuNzA1MzE0Njk1NTgxMzgyMyAsICAy
LjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuMjU4ODE5MDQ1MTAyNTIwNiwgIDAuOTY1OTI1
ODI2Mjg5MDY4MiAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAw
MDAwICwgIDAuNzUwMDAwMDAwMDAwMDAwMCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBb
MC4wMDAwMDAwMDAwMDAwMDAwICwgIDEuMDAwMDAwMDAwMDAwMDAwMCAsICAyLjUwMDAwMDAwMDAw
MDAwMDAgXSwKKyAgICBbLTAuMjI1NTc0NDQ3MTE0NDA2OCwgIDAuNDY4ODU3MDEyNzYwOTE2MSAs
ICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuNTAw
MDAwMDAwMDAwMDAwMCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAgICBbLTAuNDQxNDk2ODU1
MTIwODc5NywgIDAuNDQxNTk0MjQxNTIzMzgzMCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXSwKKyAg
ICBbLTAuMjM0OTk3NDU2OTE3NjkzOSwgIDAuMjM1MDMxNjI4NzE0NDM4NiAsICAyLjUwMDAwMDAw
MDAwMDAwMDAgXSwKKyAgICBbMC4wMDAwMDAwMDAwMDAwMDAwICwgIDAuMjUwMDAwMDAwMDAwMDAw
MCAsICAyLjUwMDAwMDAwMDAwMDAwMDAgXQorICAgIF0pCisKK19jb25uZWN0aXZpdHkgPTNEIG5w
LmFycmF5KFsKKyAgICBbMSAsICAyICwgIDMgLCAgNCAsICA1ICwgIDYgLCAgNyAsICA4IF0sCisg
ICAgWzIgLCAgOSAsICAxMCwgIDMgLCAgNiAsICAxMSwgIDEyLCAgNyBdLAorICAgIFs5ICwgIDEz
LCAgMTQsICAxMCwgIDExLCAgMTUsICAxNiwgIDEyXSwKKyAgICBbNCAsICAzICwgIDE3LCAgMTgs
ICA4ICwgIDcgLCAgMTksICAyMF0sCisgICAgWzMgLCAgMTAsICAyMSwgIDE3LCAgNyAsICAxMiwg
IDIyLCAgMTldLAorICAgIFsxMCwgIDE0LCAgMjMsICAyMSwgIDEyLCAgMTYsICAyNCwgIDIyXSwK
KyAgICBbMTgsICAxNywgIDI1LCAgMjYsICAyMCwgIDE5LCAgMjcsICAyOF0sCisgICAgWzE3LCAg
MjEsICAyOSwgIDI1LCAgMTksICAyMiwgIDMwLCAgMjddLAorICAgIFsyMSwgIDIzLCAgMzEsICAy
OSwgIDIyLCAgMjQsICAzMiwgIDMwXSwKKyAgICBbMzEsICAzMywgIDM0LCAgMjksICAzMiwgIDM1
LCAgMzYsICAzMF0sCisgICAgWzI5LCAgMzQsICAzNywgIDI1LCAgMzAsICAzNiwgIDM4LCAgMjdd
LAorICAgIFsyNSwgIDM3LCAgMzksICAyNiwgIDI3LCAgMzgsICA0MCwgIDI4XSwKKyAgICBbMzks
ICA0MSwgIDE4LCAgMjYsICA0MCwgIDQyLCAgMjAsICAyOF0sCisgICAgWzQxLCAgNDMsICA0ICwg
IDE4LCAgNDIsICA0NCwgIDggLCAgMjBdLAorICAgIFs0MywgIDQ1LCAgMSAsICA0ICwgIDQ0LCAg
NDYsICA1ICwgIDggXSwKKyAgICBbNDcsICA0OCwgIDQ5LCAgNTAsICAxICwgIDIgLCAgMyAsICA0
IF0sCisgICAgWzQ4LCAgNTEsICA1MiwgIDQ5LCAgMiAsICA5ICwgIDEwLCAgMyBdLAorICAgIFs1
MSwgIDUzLCAgNTQsICA1MiwgIDkgLCAgMTMsICAxNCwgIDEwXSwKKyAgICBbNTAsICA0OSwgIDU1
LCAgNTYsICA0ICwgIDMgLCAgMTcsICAxOF0sCisgICAgWzQ5LCAgNTIsICA1NywgIDU1LCAgMyAs
ICAxMCwgIDIxLCAgMTddLAorICAgIFs1MiwgIDU0LCAgNTgsICA1NywgIDEwLCAgMTQsICAyMywg
IDIxXSwKKyAgICBbNTYsICA1NSwgIDU5LCAgNjAsICAxOCwgIDE3LCAgMjUsICAyNl0sCisgICAg
WzU1LCAgNTcsICA2MSwgIDU5LCAgMTcsICAyMSwgIDI5LCAgMjVdLAorICAgIFs1NywgIDU4LCAg
NjIsICA2MSwgIDIxLCAgMjMsICAzMSwgIDI5XSwKKyAgICBbNjIsICA2MywgIDY0LCAgNjEsICAz
MSwgIDMzLCAgMzQsICAyOV0sCisgICAgWzYxLCAgNjQsICA2NSwgIDU5LCAgMjksICAzNCwgIDM3
LCAgMjVdLAorICAgIFs1OSwgIDY1LCAgNjYsICA2MCwgIDI1LCAgMzcsICAzOSwgIDI2XSwKKyAg
ICBbNjYsICA2NywgIDU2LCAgNjAsICAzOSwgIDQxLCAgMTgsICAyNl0sCisgICAgWzY3LCAgNjgs
ICA1MCwgIDU2LCAgNDEsICA0MywgIDQgLCAgMThdLAorICAgIFs2OCwgIDY5LCAgNDcsICA1MCwg
IDQzLCAgNDUsICAxICwgIDQgXSwKKyAgICBbNzAsICA3MSwgIDcyLCAgNzMsICA0NywgIDQ4LCAg
NDksICA1MF0sCisgICAgWzcxLCAgNzQsICA3NSwgIDcyLCAgNDgsICA1MSwgIDUyLCAgNDldLAor
ICAgIFs3NCwgIDc2LCAgNzcsICA3NSwgIDUxLCAgNTMsICA1NCwgIDUyXSwKKyAgICBbNzMsICA3
MiwgIDc4LCAgNzksICA1MCwgIDQ5LCAgNTUsICA1Nl0sCisgICAgWzcyLCAgNzUsICA4MCwgIDc4
LCAgNDksICA1MiwgIDU3LCAgNTVdLAorICAgIFs3NSwgIDc3LCAgODEsICA4MCwgIDUyLCAgNTQs
ICA1OCwgIDU3XSwKKyAgICBbNzksICA3OCwgIDgyLCAgODMsICA1NiwgIDU1LCAgNTksICA2MF0s
CisgICAgWzc4LCAgODAsICA4NCwgIDgyLCAgNTUsICA1NywgIDYxLCAgNTldLAorICAgIFs4MCwg
IDgxLCAgODUsICA4NCwgIDU3LCAgNTgsICA2MiwgIDYxXSwKKyAgICBbODUsICA4NiwgIDg3LCAg
ODQsICA2MiwgIDYzLCAgNjQsICA2MV0sCisgICAgWzg0LCAgODcsICA4OCwgIDgyLCAgNjEsICA2
NCwgIDY1LCAgNTldLAorICAgIFs4MiwgIDg4LCAgODksICA4MywgIDU5LCAgNjUsICA2NiwgIDYw
XSwKKyAgICBbODksICA5MCwgIDc5LCAgODMsICA2NiwgIDY3LCAgNTYsICA2MF0sCisgICAgWzkw
LCAgOTEsICA3MywgIDc5LCAgNjcsICA2OCwgIDUwLCAgNTZdLAorICAgIFs5MSwgIDkyLCAgNzAs
ICA3MywgIDY4LCAgNjksICA0NywgIDUwXSwKKyAgICBbOTMsICA5NCwgIDk1LCAgOTYsICA3MCwg
IDcxLCAgNzIsICA3M10sCisgICAgWzk0LCAgOTcsICA5OCwgIDk1LCAgNzEsICA3NCwgIDc1LCAg
NzJdLAorICAgIFs5NywgIDk5LCAgMTAwLCAgOTgsICA3NCwgIDc2LCAgNzcsICA3NV0sCisgICAg
Wzk2LCAgOTUsICAxMDEsICAxMDIsICA3MywgIDcyLCAgNzgsICA3OV0sCisgICAgWzk1LCAgOTgs
ICAxMDMsICAxMDEsICA3MiwgIDc1LCAgODAsICA3OF0sCisgICAgWzk4LCAgMTAwLCAgMTA0LCAg
MTAzLCAgNzUsICA3NywgIDgxLCAgODBdLAorICAgIFsxMDIsICAxMDEsICAxMDUsICAxMDYsICA3
OSwgIDc4LCAgODIsICA4M10sCisgICAgWzEwMSwgIDEwMywgIDEwNywgIDEwNSwgIDc4LCAgODAs
ICA4NCwgIDgyXSwKKyAgICBbMTAzLCAgMTA0LCAgMTA4LCAgMTA3LCAgODAsICA4MSwgIDg1LCAg
ODRdLAorICAgIFsxMDgsICAxMDksICAxMTAsICAxMDcsICA4NSwgIDg2LCAgODcsICA4NF0sCisg
ICAgWzEwNywgIDExMCwgIDExMSwgIDEwNSwgIDg0LCAgODcsICA4OCwgIDgyXSwKKyAgICBbMTA1
LCAgMTExLCAgMTEyLCAgMTA2LCAgODIsICA4OCwgIDg5LCAgODNdLAorICAgIFsxMTIsICAxMTMs
ICAxMDIsICAxMDYsICA4OSwgIDkwLCAgNzksICA4M10sCisgICAgWzExMywgIDExNCwgIDk2LCAg
MTAyLCAgOTAsICA5MSwgIDczLCAgNzldLAorICAgIFsxMTQsICAxMTUsICA5MywgIDk2LCAgOTEs
ICA5MiwgIDcwLCAgNzNdLAorICAgIFsxMTYsICAxMTcsICAxMTgsICAxMTksICA5MywgIDk0LCAg
OTUsICA5Nl0sCisgICAgWzExNywgIDEyMCwgIDEyMSwgIDExOCwgIDk0LCAgOTcsICA5OCwgIDk1
XSwKKyAgICBbMTIwLCAgMTIyLCAgMTIzLCAgMTIxLCAgOTcsICA5OSwgIDEwMCwgIDk4XSwKKyAg
ICBbMTE5LCAgMTE4LCAgMTI0LCAgMTI1LCAgOTYsICA5NSwgIDEwMSwgIDEwMl0sCisgICAgWzEx
OCwgIDEyMSwgIDEyNiwgIDEyNCwgIDk1LCAgOTgsICAxMDMsICAxMDFdLAorICAgIFsxMjEsICAx
MjMsICAxMjcsICAxMjYsICA5OCwgIDEwMCwgIDEwNCwgIDEwM10sCisgICAgWzEyNSwgIDEyNCwg
IDEyOCwgIDEyOSwgIDEwMiwgIDEwMSwgIDEwNSwgIDEwNl0sCisgICAgWzEyNCwgIDEyNiwgIDEz
MCwgIDEyOCwgIDEwMSwgIDEwMywgIDEwNywgIDEwNV0sCisgICAgWzEyNiwgIDEyNywgIDEzMSwg
IDEzMCwgIDEwMywgIDEwNCwgIDEwOCwgIDEwN10sCisgICAgWzEzMSwgIDEzMiwgIDEzMywgIDEz
MCwgIDEwOCwgIDEwOSwgIDExMCwgIDEwN10sCisgICAgWzEzMCwgIDEzMywgIDEzNCwgIDEyOCwg
IDEwNywgIDExMCwgIDExMSwgIDEwNV0sCisgICAgWzEyOCwgIDEzNCwgIDEzNSwgIDEyOSwgIDEw
NSwgIDExMSwgIDExMiwgIDEwNl0sCisgICAgWzEzNSwgIDEzNiwgIDEyNSwgIDEyOSwgIDExMiwg
IDExMywgIDEwMiwgIDEwNl0sCisgICAgWzEzNiwgIDEzNywgIDExOSwgIDEyNSwgIDExMywgIDEx
NCwgIDk2LCAgMTAyXSwKKyAgICBbMTM3LCAgMTM4LCAgMTE2LCAgMTE5LCAgMTE0LCAgMTE1LCAg
OTMsICA5Nl0sCisgICAgWzEzOSwgIDE0MCwgIDE0MSwgIDE0MiwgIDExNiwgIDExNywgIDExOCwg
IDExOV0sCisgICAgWzE0MCwgIDE0MywgIDE0NCwgIDE0MSwgIDExNywgIDEyMCwgIDEyMSwgIDEx
OF0sCisgICAgWzE0MywgIDE0NSwgIDE0NiwgIDE0NCwgIDEyMCwgIDEyMiwgIDEyMywgIDEyMV0s
CisgICAgWzE0MiwgIDE0MSwgIDE0NywgIDE0OCwgIDExOSwgIDExOCwgIDEyNCwgIDEyNV0sCisg
ICAgWzE0MSwgIDE0NCwgIDE0OSwgIDE0NywgIDExOCwgIDEyMSwgIDEyNiwgIDEyNF0sCisgICAg
WzE0NCwgIDE0NiwgIDE1MCwgIDE0OSwgIDEyMSwgIDEyMywgIDEyNywgIDEyNl0sCisgICAgWzE0
OCwgIDE0NywgIDE1MSwgIDE1MiwgIDEyNSwgIDEyNCwgIDEyOCwgIDEyOV0sCisgICAgWzE0Nywg
IDE0OSwgIDE1MywgIDE1MSwgIDEyNCwgIDEyNiwgIDEzMCwgIDEyOF0sCisgICAgWzE0OSwgIDE1
MCwgIDE1NCwgIDE1MywgIDEyNiwgIDEyNywgIDEzMSwgIDEzMF0sCisgICAgWzE1NCwgIDE1NSwg
IDE1NiwgIDE1MywgIDEzMSwgIDEzMiwgIDEzMywgIDEzMF0sCisgICAgWzE1MywgIDE1NiwgIDE1
NywgIDE1MSwgIDEzMCwgIDEzMywgIDEzNCwgIDEyOF0sCisgICAgWzE1MSwgIDE1NywgIDE1OCwg
IDE1MiwgIDEyOCwgIDEzNCwgIDEzNSwgIDEyOV0sCisgICAgWzE1OCwgIDE1OSwgIDE0OCwgIDE1
MiwgIDEzNSwgIDEzNiwgIDEyNSwgIDEyOV0sCisgICAgWzE1OSwgIDE2MCwgIDE0MiwgIDE0OCwg
IDEzNiwgIDEzNywgIDExOSwgIDEyNV0sCisgICAgWzE2MCwgIDE2MSwgIDEzOSwgIDE0MiwgIDEz
NywgIDEzOCwgIDExNiwgIDExOV0sCisgICAgWzE2MiwgIDE2MywgIDE2NCwgIDE2NSwgIDEzOSwg
IDE0MCwgIDE0MSwgIDE0Ml0sCisgICAgWzE2MywgIDE2NiwgIDE2NywgIDE2NCwgIDE0MCwgIDE0
MywgIDE0NCwgIDE0MV0sCisgICAgWzE2NiwgIDE2OCwgIDE2OSwgIDE2NywgIDE0MywgIDE0NSwg
IDE0NiwgIDE0NF0sCisgICAgWzE2NSwgIDE2NCwgIDE3MCwgIDE3MSwgIDE0MiwgIDE0MSwgIDE0
NywgIDE0OF0sCisgICAgWzE2NCwgIDE2NywgIDE3MiwgIDE3MCwgIDE0MSwgIDE0NCwgIDE0OSwg
IDE0N10sCisgICAgWzE2NywgIDE2OSwgIDE3MywgIDE3MiwgIDE0NCwgIDE0NiwgIDE1MCwgIDE0
OV0sCisgICAgWzE3MSwgIDE3MCwgIDE3NCwgIDE3NSwgIDE0OCwgIDE0NywgIDE1MSwgIDE1Ml0s
CisgICAgWzE3MCwgIDE3MiwgIDE3NiwgIDE3NCwgIDE0NywgIDE0OSwgIDE1MywgIDE1MV0sCisg
ICAgWzE3MiwgIDE3MywgIDE3NywgIDE3NiwgIDE0OSwgIDE1MCwgIDE1NCwgIDE1M10sCisgICAg
WzE3NywgIDE3OCwgIDE3OSwgIDE3NiwgIDE1NCwgIDE1NSwgIDE1NiwgIDE1M10sCisgICAgWzE3
NiwgIDE3OSwgIDE4MCwgIDE3NCwgIDE1MywgIDE1NiwgIDE1NywgIDE1MV0sCisgICAgWzE3NCwg
IDE4MCwgIDE4MSwgIDE3NSwgIDE1MSwgIDE1NywgIDE1OCwgIDE1Ml0sCisgICAgWzE4MSwgIDE4
MiwgIDE3MSwgIDE3NSwgIDE1OCwgIDE1OSwgIDE0OCwgIDE1Ml0sCisgICAgWzE4MiwgIDE4Mywg
IDE2NSwgIDE3MSwgIDE1OSwgIDE2MCwgIDE0MiwgIDE0OF0sCisgICAgWzE4MywgIDE4NCwgIDE2
MiwgIDE2NSwgIDE2MCwgIDE2MSwgIDEzOSwgIDE0Ml0sCisgICAgWzE4NSwgIDE4NiwgIDE4Nywg
IDE4OCwgIDE2MiwgIDE2MywgIDE2NCwgIDE2NV0sCisgICAgWzE4NiwgIDE4OSwgIDE5MCwgIDE4
NywgIDE2MywgIDE2NiwgIDE2NywgIDE2NF0sCisgICAgWzE4OSwgIDE5MSwgIDE5MiwgIDE5MCwg
IDE2NiwgIDE2OCwgIDE2OSwgIDE2N10sCisgICAgWzE4OCwgIDE4NywgIDE5MywgIDE5NCwgIDE2
NSwgIDE2NCwgIDE3MCwgIDE3MV0sCisgICAgWzE4NywgIDE5MCwgIDE5NSwgIDE5MywgIDE2NCwg
IDE2NywgIDE3MiwgIDE3MF0sCisgICAgWzE5MCwgIDE5MiwgIDE5NiwgIDE5NSwgIDE2NywgIDE2
OSwgIDE3MywgIDE3Ml0sCisgICAgWzE5NCwgIDE5MywgIDE5NywgIDE5OCwgIDE3MSwgIDE3MCwg
IDE3NCwgIDE3NV0sCisgICAgWzE5MywgIDE5NSwgIDE5OSwgIDE5NywgIDE3MCwgIDE3MiwgIDE3
NiwgIDE3NF0sCisgICAgWzE5NSwgIDE5NiwgIDIwMCwgIDE5OSwgIDE3MiwgIDE3MywgIDE3Nywg
IDE3Nl0sCisgICAgWzIwMCwgIDIwMSwgIDIwMiwgIDE5OSwgIDE3NywgIDE3OCwgIDE3OSwgIDE3
Nl0sCisgICAgWzE5OSwgIDIwMiwgIDIwMywgIDE5NywgIDE3NiwgIDE3OSwgIDE4MCwgIDE3NF0s
CisgICAgWzE5NywgIDIwMywgIDIwNCwgIDE5OCwgIDE3NCwgIDE4MCwgIDE4MSwgIDE3NV0sCisg
ICAgWzIwNCwgIDIwNSwgIDE5NCwgIDE5OCwgIDE4MSwgIDE4MiwgIDE3MSwgIDE3NV0sCisgICAg
WzIwNSwgIDIwNiwgIDE4OCwgIDE5NCwgIDE4MiwgIDE4MywgIDE2NSwgIDE3MV0sCisgICAgWzIw
NiwgIDIwNywgIDE4NSwgIDE4OCwgIDE4MywgIDE4NCwgIDE2MiwgIDE2NV0sCisgICAgWzIwOCwg
IDIwOSwgIDIxMCwgIDIxMSwgIDE4NSwgIDE4NiwgIDE4NywgIDE4OF0sCisgICAgWzIwOSwgIDIx
MiwgIDIxMywgIDIxMCwgIDE4NiwgIDE4OSwgIDE5MCwgIDE4N10sCisgICAgWzIxMiwgIDIxNCwg
IDIxNSwgIDIxMywgIDE4OSwgIDE5MSwgIDE5MiwgIDE5MF0sCisgICAgWzIxMSwgIDIxMCwgIDIx
NiwgIDIxNywgIDE4OCwgIDE4NywgIDE5MywgIDE5NF0sCisgICAgWzIxMCwgIDIxMywgIDIxOCwg
IDIxNiwgIDE4NywgIDE5MCwgIDE5NSwgIDE5M10sCisgICAgWzIxMywgIDIxNSwgIDIxOSwgIDIx
OCwgIDE5MCwgIDE5MiwgIDE5NiwgIDE5NV0sCisgICAgWzIxNywgIDIxNiwgIDIyMCwgIDIyMSwg
IDE5NCwgIDE5MywgIDE5NywgIDE5OF0sCisgICAgWzIxNiwgIDIxOCwgIDIyMiwgIDIyMCwgIDE5
MywgIDE5NSwgIDE5OSwgIDE5N10sCisgICAgWzIxOCwgIDIxOSwgIDIyMywgIDIyMiwgIDE5NSwg
IDE5NiwgIDIwMCwgIDE5OV0sCisgICAgWzIyMywgIDIyNCwgIDIyNSwgIDIyMiwgIDIwMCwgIDIw
MSwgIDIwMiwgIDE5OV0sCisgICAgWzIyMiwgIDIyNSwgIDIyNiwgIDIyMCwgIDE5OSwgIDIwMiwg
IDIwMywgIDE5N10sCisgICAgWzIyMCwgIDIyNiwgIDIyNywgIDIyMSwgIDE5NywgIDIwMywgIDIw
NCwgIDE5OF0sCisgICAgWzIyNywgIDIyOCwgIDIxNywgIDIyMSwgIDIwNCwgIDIwNSwgIDE5NCwg
IDE5OF0sCisgICAgWzIyOCwgIDIyOSwgIDIxMSwgIDIxNywgIDIwNSwgIDIwNiwgIDE4OCwgIDE5
NF0sCisgICAgWzIyOSwgIDIzMCwgIDIwOCwgIDIxMSwgIDIwNiwgIDIwNywgIDE4NSwgIDE4OF0s
CisgICAgWzIzMSwgIDIzMiwgIDIzMywgIDIzNCwgIDIwOCwgIDIwOSwgIDIxMCwgIDIxMV0sCisg
ICAgWzIzMiwgIDIzNSwgIDIzNiwgIDIzMywgIDIwOSwgIDIxMiwgIDIxMywgIDIxMF0sCisgICAg
WzIzNSwgIDIzNywgIDIzOCwgIDIzNiwgIDIxMiwgIDIxNCwgIDIxNSwgIDIxM10sCisgICAgWzIz
NCwgIDIzMywgIDIzOSwgIDI0MCwgIDIxMSwgIDIxMCwgIDIxNiwgIDIxN10sCisgICAgWzIzMywg
IDIzNiwgIDI0MSwgIDIzOSwgIDIxMCwgIDIxMywgIDIxOCwgIDIxNl0sCisgICAgWzIzNiwgIDIz
OCwgIDI0MiwgIDI0MSwgIDIxMywgIDIxNSwgIDIxOSwgIDIxOF0sCisgICAgWzI0MCwgIDIzOSwg
IDI0MywgIDI0NCwgIDIxNywgIDIxNiwgIDIyMCwgIDIyMV0sCisgICAgWzIzOSwgIDI0MSwgIDI0
NSwgIDI0MywgIDIxNiwgIDIxOCwgIDIyMiwgIDIyMF0sCisgICAgWzI0MSwgIDI0MiwgIDI0Niwg
IDI0NSwgIDIxOCwgIDIxOSwgIDIyMywgIDIyMl0sCisgICAgWzI0NiwgIDI0NywgIDI0OCwgIDI0
NSwgIDIyMywgIDIyNCwgIDIyNSwgIDIyMl0sCisgICAgWzI0NSwgIDI0OCwgIDI0OSwgIDI0Mywg
IDIyMiwgIDIyNSwgIDIyNiwgIDIyMF0sCisgICAgWzI0MywgIDI0OSwgIDI1MCwgIDI0NCwgIDIy
MCwgIDIyNiwgIDIyNywgIDIyMV0sCisgICAgWzI1MCwgIDI1MSwgIDI0MCwgIDI0NCwgIDIyNywg
IDIyOCwgIDIxNywgIDIyMV0sCisgICAgWzI1MSwgIDI1MiwgIDIzNCwgIDI0MCwgIDIyOCwgIDIy
OSwgIDIxMSwgIDIxN10sCisgICAgWzI1MiwgIDI1MywgIDIzMSwgIDIzNCwgIDIyOSwgIDIzMCwg
IDIwOCwgIDIxMV0sCisgICAgWzI1NCwgIDI1NSwgIDI1NiwgIDI1NywgIDIzMSwgIDIzMiwgIDIz
MywgIDIzNF0sCisgICAgWzI1NSwgIDI1OCwgIDI1OSwgIDI1NiwgIDIzMiwgIDIzNSwgIDIzNiwg
IDIzM10sCisgICAgWzI1OCwgIDI2MCwgIDI2MSwgIDI1OSwgIDIzNSwgIDIzNywgIDIzOCwgIDIz
Nl0sCisgICAgWzI1NywgIDI1NiwgIDI2MiwgIDI2MywgIDIzNCwgIDIzMywgIDIzOSwgIDI0MF0s
CisgICAgWzI1NiwgIDI1OSwgIDI2NCwgIDI2MiwgIDIzMywgIDIzNiwgIDI0MSwgIDIzOV0sCisg
ICAgWzI1OSwgIDI2MSwgIDI2NSwgIDI2NCwgIDIzNiwgIDIzOCwgIDI0MiwgIDI0MV0sCisgICAg
WzI2MywgIDI2MiwgIDI2NiwgIDI2NywgIDI0MCwgIDIzOSwgIDI0MywgIDI0NF0sCisgICAgWzI2
MiwgIDI2NCwgIDI2OCwgIDI2NiwgIDIzOSwgIDI0MSwgIDI0NSwgIDI0M10sCisgICAgWzI2NCwg
IDI2NSwgIDI2OSwgIDI2OCwgIDI0MSwgIDI0MiwgIDI0NiwgIDI0NV0sCisgICAgWzI2OSwgIDI3
MCwgIDI3MSwgIDI2OCwgIDI0NiwgIDI0NywgIDI0OCwgIDI0NV0sCisgICAgWzI2OCwgIDI3MSwg
IDI3MiwgIDI2NiwgIDI0NSwgIDI0OCwgIDI0OSwgIDI0M10sCisgICAgWzI2NiwgIDI3MiwgIDI3
MywgIDI2NywgIDI0MywgIDI0OSwgIDI1MCwgIDI0NF0sCisgICAgWzI3MywgIDI3NCwgIDI2Mywg
IDI2NywgIDI1MCwgIDI1MSwgIDI0MCwgIDI0NF0sCisgICAgWzI3NCwgIDI3NSwgIDI1NywgIDI2
MywgIDI1MSwgIDI1MiwgIDIzNCwgIDI0MF0sCisgICAgWzI3NSwgIDI3NiwgIDI1NCwgIDI1Nywg
IDI1MiwgIDI1MywgIDIzMSwgIDIzNF0sCisgICAgWzI3NywgIDI3OCwgIDI3OSwgIDI4MCwgIDI1
NCwgIDI1NSwgIDI1NiwgIDI1N10sCisgICAgWzI3OCwgIDI4MSwgIDI4MiwgIDI3OSwgIDI1NSwg
IDI1OCwgIDI1OSwgIDI1Nl0sCisgICAgWzI4MSwgIDI4MywgIDI4NCwgIDI4MiwgIDI1OCwgIDI2
MCwgIDI2MSwgIDI1OV0sCisgICAgWzI4MCwgIDI3OSwgIDI4NSwgIDI4NiwgIDI1NywgIDI1Niwg
IDI2MiwgIDI2M10sCisgICAgWzI3OSwgIDI4MiwgIDI4NywgIDI4NSwgIDI1NiwgIDI1OSwgIDI2
NCwgIDI2Ml0sCisgICAgWzI4MiwgIDI4NCwgIDI4OCwgIDI4NywgIDI1OSwgIDI2MSwgIDI2NSwg
IDI2NF0sCisgICAgWzI4NiwgIDI4NSwgIDI4OSwgIDI5MCwgIDI2MywgIDI2MiwgIDI2NiwgIDI2
N10sCisgICAgWzI4NSwgIDI4NywgIDI5MSwgIDI4OSwgIDI2MiwgIDI2NCwgIDI2OCwgIDI2Nl0s
CisgICAgWzI4NywgIDI4OCwgIDI5MiwgIDI5MSwgIDI2NCwgIDI2NSwgIDI2OSwgIDI2OF0sCisg
ICAgWzI5MiwgIDI5MywgIDI5NCwgIDI5MSwgIDI2OSwgIDI3MCwgIDI3MSwgIDI2OF0sCisgICAg
WzI5MSwgIDI5NCwgIDI5NSwgIDI4OSwgIDI2OCwgIDI3MSwgIDI3MiwgIDI2Nl0sCisgICAgWzI4
OSwgIDI5NSwgIDI5NiwgIDI5MCwgIDI2NiwgIDI3MiwgIDI3MywgIDI2N10sCisgICAgWzI5Niwg
IDI5NywgIDI4NiwgIDI5MCwgIDI3MywgIDI3NCwgIDI2MywgIDI2N10sCisgICAgWzI5NywgIDI5
OCwgIDI4MCwgIDI4NiwgIDI3NCwgIDI3NSwgIDI1NywgIDI2M10sCisgICAgWzI5OCwgIDI5OSwg
IDI3NywgIDI4MCwgIDI3NSwgIDI3NiwgIDI1NCwgIDI1N10sCisgICAgWzMxLCAgMjMsICAzMDAs
ICAzMDEsICAzMiwgIDI0LCAgMzAyLCAgMzAzXSwKKyAgICBbMzA0LCAgMjkzLCAgMjkyLCAgMzA1
LCAgMzA2LCAgMjcwLCAgMjY5LCAgMzA3XSwKKyAgICBbMzA4LCAgMzA0LCAgMzA1LCAgMzA5LCAg
MzEwLCAgMzA2LCAgMzA3LCAgMzExXSwKKyAgICBbMzEyLCAgMzA4LCAgMzA5LCAgMzEzLCAgMzE0
LCAgMzEwLCAgMzExLCAgMzE1XSwKKyAgICBbMzE2LCAgMzE3LCAgMzEyLCAgMzEzLCAgMzE4LCAg
MzE5LCAgMzE0LCAgMzE1XSwKKyAgICBbMzIwLCAgMzIxLCAgMzE3LCAgMzE2LCAgMzIyLCAgMzIz
LCAgMzE5LCAgMzE4XSwKKyAgICBbMzI0LCAgMzI1LCAgMzIxLCAgMzIwLCAgMzI2LCAgMzI3LCAg
MzIzLCAgMzIyXSwKKyAgICBbMzI4LCAgMzI5LCAgMzI0LCAgMzIwLCAgMzMwLCAgMzMxLCAgMzI2
LCAgMzIyXSwKKyAgICBbMzMyLCAgMzI4LCAgMzIwLCAgMzE2LCAgMzMzLCAgMzMwLCAgMzIyLCAg
MzE4XSwKKyAgICBbMzA5LCAgMzMyLCAgMzE2LCAgMzEzLCAgMzExLCAgMzMzLCAgMzE4LCAgMzE1
XSwKKyAgICBbMzM0LCAgMzM1LCAgMzI5LCAgMzI4LCAgMzM2LCAgMzM3LCAgMzMxLCAgMzMwXSwK
KyAgICBbMzM4LCAgMzM0LCAgMzI4LCAgMzMyLCAgMzM5LCAgMzM2LCAgMzMwLCAgMzMzXSwKKyAg
ICBbMzA1LCAgMzM4LCAgMzMyLCAgMzA5LCAgMzA3LCAgMzM5LCAgMzMzLCAgMzExXSwKKyAgICBb
Mjg0LCAgMjgzLCAgMzM1LCAgMzM0LCAgMjYxLCAgMjYwLCAgMzM3LCAgMzM2XSwKKyAgICBbMjg4
LCAgMjg0LCAgMzM0LCAgMzM4LCAgMjY1LCAgMjYxLCAgMzM2LCAgMzM5XSwKKyAgICBbMjkyLCAg
Mjg4LCAgMzM4LCAgMzA1LCAgMjY5LCAgMjY1LCAgMzM5LCAgMzA3XSwKKyAgICBbMzA2LCAgMjcw
LCAgMjY5LCAgMzA3LCAgMzQwLCAgMjQ3LCAgMjQ2LCAgMzQxXSwKKyAgICBbMzEwLCAgMzA2LCAg
MzA3LCAgMzExLCAgMzQyLCAgMzQwLCAgMzQxLCAgMzQzXSwKKyAgICBbMzE0LCAgMzEwLCAgMzEx
LCAgMzE1LCAgMzQ0LCAgMzQyLCAgMzQzLCAgMzQ1XSwKKyAgICBbMzE4LCAgMzE5LCAgMzE0LCAg
MzE1LCAgMzQ2LCAgMzQ3LCAgMzQ0LCAgMzQ1XSwKKyAgICBbMzIyLCAgMzIzLCAgMzE5LCAgMzE4
LCAgMzQ4LCAgMzQ5LCAgMzQ3LCAgMzQ2XSwKKyAgICBbMzI2LCAgMzI3LCAgMzIzLCAgMzIyLCAg
MzUwLCAgMzUxLCAgMzQ5LCAgMzQ4XSwKKyAgICBbMzMwLCAgMzMxLCAgMzI2LCAgMzIyLCAgMzUy
LCAgMzUzLCAgMzUwLCAgMzQ4XSwKKyAgICBbMzMzLCAgMzMwLCAgMzIyLCAgMzE4LCAgMzU0LCAg
MzUyLCAgMzQ4LCAgMzQ2XSwKKyAgICBbMzExLCAgMzMzLCAgMzE4LCAgMzE1LCAgMzQzLCAgMzU0
LCAgMzQ2LCAgMzQ1XSwKKyAgICBbMzM2LCAgMzM3LCAgMzMxLCAgMzMwLCAgMzU1LCAgMzU2LCAg
MzUzLCAgMzUyXSwKKyAgICBbMzM5LCAgMzM2LCAgMzMwLCAgMzMzLCAgMzU3LCAgMzU1LCAgMzUy
LCAgMzU0XSwKKyAgICBbMzA3LCAgMzM5LCAgMzMzLCAgMzExLCAgMzQxLCAgMzU3LCAgMzU0LCAg
MzQzXSwKKyAgICBbMjYxLCAgMjYwLCAgMzM3LCAgMzM2LCAgMjM4LCAgMjM3LCAgMzU2LCAgMzU1
XSwKKyAgICBbMjY1LCAgMjYxLCAgMzM2LCAgMzM5LCAgMjQyLCAgMjM4LCAgMzU1LCAgMzU3XSwK
KyAgICBbMjY5LCAgMjY1LCAgMzM5LCAgMzA3LCAgMjQ2LCAgMjQyLCAgMzU3LCAgMzQxXSwKKyAg
ICBbMzQwLCAgMjQ3LCAgMjQ2LCAgMzQxLCAgMzU4LCAgMjI0LCAgMjIzLCAgMzU5XSwKKyAgICBb
MzQyLCAgMzQwLCAgMzQxLCAgMzQzLCAgMzYwLCAgMzU4LCAgMzU5LCAgMzYxXSwKKyAgICBbMzQ0
LCAgMzQyLCAgMzQzLCAgMzQ1LCAgMzYyLCAgMzYwLCAgMzYxLCAgMzYzXSwKKyAgICBbMzQ2LCAg
MzQ3LCAgMzQ0LCAgMzQ1LCAgMzY0LCAgMzY1LCAgMzYyLCAgMzYzXSwKKyAgICBbMzQ4LCAgMzQ5
LCAgMzQ3LCAgMzQ2LCAgMzY2LCAgMzY3LCAgMzY1LCAgMzY0XSwKKyAgICBbMzUwLCAgMzUxLCAg
MzQ5LCAgMzQ4LCAgMzY4LCAgMzY5LCAgMzY3LCAgMzY2XSwKKyAgICBbMzUyLCAgMzUzLCAgMzUw
LCAgMzQ4LCAgMzcwLCAgMzcxLCAgMzY4LCAgMzY2XSwKKyAgICBbMzU0LCAgMzUyLCAgMzQ4LCAg
MzQ2LCAgMzcyLCAgMzcwLCAgMzY2LCAgMzY0XSwKKyAgICBbMzQzLCAgMzU0LCAgMzQ2LCAgMzQ1
LCAgMzYxLCAgMzcyLCAgMzY0LCAgMzYzXSwKKyAgICBbMzU1LCAgMzU2LCAgMzUzLCAgMzUyLCAg
MzczLCAgMzc0LCAgMzcxLCAgMzcwXSwKKyAgICBbMzU3LCAgMzU1LCAgMzUyLCAgMzU0LCAgMzc1
LCAgMzczLCAgMzcwLCAgMzcyXSwKKyAgICBbMzQxLCAgMzU3LCAgMzU0LCAgMzQzLCAgMzU5LCAg
Mzc1LCAgMzcyLCAgMzYxXSwKKyAgICBbMjM4LCAgMjM3LCAgMzU2LCAgMzU1LCAgMjE1LCAgMjE0
LCAgMzc0LCAgMzczXSwKKyAgICBbMjQyLCAgMjM4LCAgMzU1LCAgMzU3LCAgMjE5LCAgMjE1LCAg
MzczLCAgMzc1XSwKKyAgICBbMjQ2LCAgMjQyLCAgMzU3LCAgMzQxLCAgMjIzLCAgMjE5LCAgMzc1
LCAgMzU5XSwKKyAgICBbMzU4LCAgMjI0LCAgMjIzLCAgMzU5LCAgMzc2LCAgMjAxLCAgMjAwLCAg
Mzc3XSwKKyAgICBbMzYwLCAgMzU4LCAgMzU5LCAgMzYxLCAgMzc4LCAgMzc2LCAgMzc3LCAgMzc5
XSwKKyAgICBbMzYyLCAgMzYwLCAgMzYxLCAgMzYzLCAgMzgwLCAgMzc4LCAgMzc5LCAgMzgxXSwK
KyAgICBbMzY0LCAgMzY1LCAgMzYyLCAgMzYzLCAgMzgyLCAgMzgzLCAgMzgwLCAgMzgxXSwKKyAg
ICBbMzY2LCAgMzY3LCAgMzY1LCAgMzY0LCAgMzg0LCAgMzg1LCAgMzgzLCAgMzgyXSwKKyAgICBb
MzY4LCAgMzY5LCAgMzY3LCAgMzY2LCAgMzg2LCAgMzg3LCAgMzg1LCAgMzg0XSwKKyAgICBbMzcw
LCAgMzcxLCAgMzY4LCAgMzY2LCAgMzg4LCAgMzg5LCAgMzg2LCAgMzg0XSwKKyAgICBbMzcyLCAg
MzcwLCAgMzY2LCAgMzY0LCAgMzkwLCAgMzg4LCAgMzg0LCAgMzgyXSwKKyAgICBbMzYxLCAgMzcy
LCAgMzY0LCAgMzYzLCAgMzc5LCAgMzkwLCAgMzgyLCAgMzgxXSwKKyAgICBbMzczLCAgMzc0LCAg
MzcxLCAgMzcwLCAgMzkxLCAgMzkyLCAgMzg5LCAgMzg4XSwKKyAgICBbMzc1LCAgMzczLCAgMzcw
LCAgMzcyLCAgMzkzLCAgMzkxLCAgMzg4LCAgMzkwXSwKKyAgICBbMzU5LCAgMzc1LCAgMzcyLCAg
MzYxLCAgMzc3LCAgMzkzLCAgMzkwLCAgMzc5XSwKKyAgICBbMjE1LCAgMjE0LCAgMzc0LCAgMzcz
LCAgMTkyLCAgMTkxLCAgMzkyLCAgMzkxXSwKKyAgICBbMjE5LCAgMjE1LCAgMzczLCAgMzc1LCAg
MTk2LCAgMTkyLCAgMzkxLCAgMzkzXSwKKyAgICBbMjIzLCAgMjE5LCAgMzc1LCAgMzU5LCAgMjAw
LCAgMTk2LCAgMzkzLCAgMzc3XSwKKyAgICBbMzc2LCAgMjAxLCAgMjAwLCAgMzc3LCAgMzk0LCAg
MTc4LCAgMTc3LCAgMzk1XSwKKyAgICBbMzc4LCAgMzc2LCAgMzc3LCAgMzc5LCAgMzk2LCAgMzk0
LCAgMzk1LCAgMzk3XSwKKyAgICBbMzgwLCAgMzc4LCAgMzc5LCAgMzgxLCAgMzk4LCAgMzk2LCAg
Mzk3LCAgMzk5XSwKKyAgICBbMzgyLCAgMzgzLCAgMzgwLCAgMzgxLCAgNDAwLCAgNDAxLCAgMzk4
LCAgMzk5XSwKKyAgICBbMzg0LCAgMzg1LCAgMzgzLCAgMzgyLCAgNDAyLCAgNDAzLCAgNDAxLCAg
NDAwXSwKKyAgICBbMzg2LCAgMzg3LCAgMzg1LCAgMzg0LCAgNDA0LCAgNDA1LCAgNDAzLCAgNDAy
XSwKKyAgICBbMzg4LCAgMzg5LCAgMzg2LCAgMzg0LCAgNDA2LCAgNDA3LCAgNDA0LCAgNDAyXSwK
KyAgICBbMzkwLCAgMzg4LCAgMzg0LCAgMzgyLCAgNDA4LCAgNDA2LCAgNDAyLCAgNDAwXSwKKyAg
ICBbMzc5LCAgMzkwLCAgMzgyLCAgMzgxLCAgMzk3LCAgNDA4LCAgNDAwLCAgMzk5XSwKKyAgICBb
MzkxLCAgMzkyLCAgMzg5LCAgMzg4LCAgNDA5LCAgNDEwLCAgNDA3LCAgNDA2XSwKKyAgICBbMzkz
LCAgMzkxLCAgMzg4LCAgMzkwLCAgNDExLCAgNDA5LCAgNDA2LCAgNDA4XSwKKyAgICBbMzc3LCAg
MzkzLCAgMzkwLCAgMzc5LCAgMzk1LCAgNDExLCAgNDA4LCAgMzk3XSwKKyAgICBbMTkyLCAgMTkx
LCAgMzkyLCAgMzkxLCAgMTY5LCAgMTY4LCAgNDEwLCAgNDA5XSwKKyAgICBbMTk2LCAgMTkyLCAg
MzkxLCAgMzkzLCAgMTczLCAgMTY5LCAgNDA5LCAgNDExXSwKKyAgICBbMjAwLCAgMTk2LCAgMzkz
LCAgMzc3LCAgMTc3LCAgMTczLCAgNDExLCAgMzk1XSwKKyAgICBbMzk0LCAgMTc4LCAgMTc3LCAg
Mzk1LCAgNDEyLCAgMTU1LCAgMTU0LCAgNDEzXSwKKyAgICBbMzk2LCAgMzk0LCAgMzk1LCAgMzk3
LCAgNDE0LCAgNDEyLCAgNDEzLCAgNDE1XSwKKyAgICBbMzk4LCAgMzk2LCAgMzk3LCAgMzk5LCAg
NDE2LCAgNDE0LCAgNDE1LCAgNDE3XSwKKyAgICBbNDAwLCAgNDAxLCAgMzk4LCAgMzk5LCAgNDE4
LCAgNDE5LCAgNDE2LCAgNDE3XSwKKyAgICBbNDAyLCAgNDAzLCAgNDAxLCAgNDAwLCAgNDIwLCAg
NDIxLCAgNDE5LCAgNDE4XSwKKyAgICBbNDA0LCAgNDA1LCAgNDAzLCAgNDAyLCAgNDIyLCAgNDIz
LCAgNDIxLCAgNDIwXSwKKyAgICBbNDA2LCAgNDA3LCAgNDA0LCAgNDAyLCAgNDI0LCAgNDI1LCAg
NDIyLCAgNDIwXSwKKyAgICBbNDA4LCAgNDA2LCAgNDAyLCAgNDAwLCAgNDI2LCAgNDI0LCAgNDIw
LCAgNDE4XSwKKyAgICBbMzk3LCAgNDA4LCAgNDAwLCAgMzk5LCAgNDE1LCAgNDI2LCAgNDE4LCAg
NDE3XSwKKyAgICBbNDA5LCAgNDEwLCAgNDA3LCAgNDA2LCAgNDI3LCAgNDI4LCAgNDI1LCAgNDI0
XSwKKyAgICBbNDExLCAgNDA5LCAgNDA2LCAgNDA4LCAgNDI5LCAgNDI3LCAgNDI0LCAgNDI2XSwK
KyAgICBbMzk1LCAgNDExLCAgNDA4LCAgMzk3LCAgNDEzLCAgNDI5LCAgNDI2LCAgNDE1XSwKKyAg
ICBbMTY5LCAgMTY4LCAgNDEwLCAgNDA5LCAgMTQ2LCAgMTQ1LCAgNDI4LCAgNDI3XSwKKyAgICBb
MTczLCAgMTY5LCAgNDA5LCAgNDExLCAgMTUwLCAgMTQ2LCAgNDI3LCAgNDI5XSwKKyAgICBbMTc3
LCAgMTczLCAgNDExLCAgMzk1LCAgMTU0LCAgMTUwLCAgNDI5LCAgNDEzXSwKKyAgICBbNDEyLCAg
MTU1LCAgMTU0LCAgNDEzLCAgNDMwLCAgMTMyLCAgMTMxLCAgNDMxXSwKKyAgICBbNDE0LCAgNDEy
LCAgNDEzLCAgNDE1LCAgNDMyLCAgNDMwLCAgNDMxLCAgNDMzXSwKKyAgICBbNDE2LCAgNDE0LCAg
NDE1LCAgNDE3LCAgNDM0LCAgNDMyLCAgNDMzLCAgNDM1XSwKKyAgICBbNDE4LCAgNDE5LCAgNDE2
LCAgNDE3LCAgNDM2LCAgNDM3LCAgNDM0LCAgNDM1XSwKKyAgICBbNDIwLCAgNDIxLCAgNDE5LCAg
NDE4LCAgNDM4LCAgNDM5LCAgNDM3LCAgNDM2XSwKKyAgICBbNDIyLCAgNDIzLCAgNDIxLCAgNDIw
LCAgNDQwLCAgNDQxLCAgNDM5LCAgNDM4XSwKKyAgICBbNDI0LCAgNDI1LCAgNDIyLCAgNDIwLCAg
NDQyLCAgNDQzLCAgNDQwLCAgNDM4XSwKKyAgICBbNDI2LCAgNDI0LCAgNDIwLCAgNDE4LCAgNDQ0
LCAgNDQyLCAgNDM4LCAgNDM2XSwKKyAgICBbNDE1LCAgNDI2LCAgNDE4LCAgNDE3LCAgNDMzLCAg
NDQ0LCAgNDM2LCAgNDM1XSwKKyAgICBbNDI3LCAgNDI4LCAgNDI1LCAgNDI0LCAgNDQ1LCAgNDQ2
LCAgNDQzLCAgNDQyXSwKKyAgICBbNDI5LCAgNDI3LCAgNDI0LCAgNDI2LCAgNDQ3LCAgNDQ1LCAg
NDQyLCAgNDQ0XSwKKyAgICBbNDEzLCAgNDI5LCAgNDI2LCAgNDE1LCAgNDMxLCAgNDQ3LCAgNDQ0
LCAgNDMzXSwKKyAgICBbMTQ2LCAgMTQ1LCAgNDI4LCAgNDI3LCAgMTIzLCAgMTIyLCAgNDQ2LCAg
NDQ1XSwKKyAgICBbMTUwLCAgMTQ2LCAgNDI3LCAgNDI5LCAgMTI3LCAgMTIzLCAgNDQ1LCAgNDQ3
XSwKKyAgICBbMTU0LCAgMTUwLCAgNDI5LCAgNDEzLCAgMTMxLCAgMTI3LCAgNDQ3LCAgNDMxXSwK
KyAgICBbNDMwLCAgMTMyLCAgMTMxLCAgNDMxLCAgNDQ4LCAgMTA5LCAgMTA4LCAgNDQ5XSwKKyAg
ICBbNDMyLCAgNDMwLCAgNDMxLCAgNDMzLCAgNDUwLCAgNDQ4LCAgNDQ5LCAgNDUxXSwKKyAgICBb
NDM0LCAgNDMyLCAgNDMzLCAgNDM1LCAgNDUyLCAgNDUwLCAgNDUxLCAgNDUzXSwKKyAgICBbNDM2
LCAgNDM3LCAgNDM0LCAgNDM1LCAgNDU0LCAgNDU1LCAgNDUyLCAgNDUzXSwKKyAgICBbNDM4LCAg
NDM5LCAgNDM3LCAgNDM2LCAgNDU2LCAgNDU3LCAgNDU1LCAgNDU0XSwKKyAgICBbNDQwLCAgNDQx
LCAgNDM5LCAgNDM4LCAgNDU4LCAgNDU5LCAgNDU3LCAgNDU2XSwKKyAgICBbNDQyLCAgNDQzLCAg
NDQwLCAgNDM4LCAgNDYwLCAgNDYxLCAgNDU4LCAgNDU2XSwKKyAgICBbNDQ0LCAgNDQyLCAgNDM4
LCAgNDM2LCAgNDYyLCAgNDYwLCAgNDU2LCAgNDU0XSwKKyAgICBbNDMzLCAgNDQ0LCAgNDM2LCAg
NDM1LCAgNDUxLCAgNDYyLCAgNDU0LCAgNDUzXSwKKyAgICBbNDQ1LCAgNDQ2LCAgNDQzLCAgNDQy
LCAgNDYzLCAgNDY0LCAgNDYxLCAgNDYwXSwKKyAgICBbNDQ3LCAgNDQ1LCAgNDQyLCAgNDQ0LCAg
NDY1LCAgNDYzLCAgNDYwLCAgNDYyXSwKKyAgICBbNDMxLCAgNDQ3LCAgNDQ0LCAgNDMzLCAgNDQ5
LCAgNDY1LCAgNDYyLCAgNDUxXSwKKyAgICBbMTIzLCAgMTIyLCAgNDQ2LCAgNDQ1LCAgMTAwLCAg
OTksICA0NjQsICA0NjNdLAorICAgIFsxMjcsICAxMjMsICA0NDUsICA0NDcsICAxMDQsICAxMDAs
ICA0NjMsICA0NjVdLAorICAgIFsxMzEsICAxMjcsICA0NDcsICA0MzEsICAxMDgsICAxMDQsICA0
NjUsICA0NDldLAorICAgIFs0NDgsICAxMDksICAxMDgsICA0NDksICA0NjYsICA4NiwgIDg1LCAg
NDY3XSwKKyAgICBbNDUwLCAgNDQ4LCAgNDQ5LCAgNDUxLCAgNDY4LCAgNDY2LCAgNDY3LCAgNDY5
XSwKKyAgICBbNDUyLCAgNDUwLCAgNDUxLCAgNDUzLCAgNDcwLCAgNDY4LCAgNDY5LCAgNDcxXSwK
KyAgICBbNDU0LCAgNDU1LCAgNDUyLCAgNDUzLCAgNDcyLCAgNDczLCAgNDcwLCAgNDcxXSwKKyAg
ICBbNDU2LCAgNDU3LCAgNDU1LCAgNDU0LCAgNDc0LCAgNDc1LCAgNDczLCAgNDcyXSwKKyAgICBb
NDU4LCAgNDU5LCAgNDU3LCAgNDU2LCAgNDc2LCAgNDc3LCAgNDc1LCAgNDc0XSwKKyAgICBbNDYw
LCAgNDYxLCAgNDU4LCAgNDU2LCAgNDc4LCAgNDc5LCAgNDc2LCAgNDc0XSwKKyAgICBbNDYyLCAg
NDYwLCAgNDU2LCAgNDU0LCAgNDgwLCAgNDc4LCAgNDc0LCAgNDcyXSwKKyAgICBbNDUxLCAgNDYy
LCAgNDU0LCAgNDUzLCAgNDY5LCAgNDgwLCAgNDcyLCAgNDcxXSwKKyAgICBbNDYzLCAgNDY0LCAg
NDYxLCAgNDYwLCAgNDgxLCAgNDgyLCAgNDc5LCAgNDc4XSwKKyAgICBbNDY1LCAgNDYzLCAgNDYw
LCAgNDYyLCAgNDgzLCAgNDgxLCAgNDc4LCAgNDgwXSwKKyAgICBbNDQ5LCAgNDY1LCAgNDYyLCAg
NDUxLCAgNDY3LCAgNDgzLCAgNDgwLCAgNDY5XSwKKyAgICBbMTAwLCAgOTksICA0NjQsICA0NjMs
ICA3NywgIDc2LCAgNDgyLCAgNDgxXSwKKyAgICBbMTA0LCAgMTAwLCAgNDYzLCAgNDY1LCAgODEs
ICA3NywgIDQ4MSwgIDQ4M10sCisgICAgWzEwOCwgIDEwNCwgIDQ2NSwgIDQ0OSwgIDg1LCAgODEs
ICA0ODMsICA0NjddLAorICAgIFs0NjYsICA4NiwgIDg1LCAgNDY3LCAgNDg0LCAgNjMsICA2Miwg
IDQ4NV0sCisgICAgWzQ2OCwgIDQ2NiwgIDQ2NywgIDQ2OSwgIDQ4NiwgIDQ4NCwgIDQ4NSwgIDQ4
N10sCisgICAgWzQ3MCwgIDQ2OCwgIDQ2OSwgIDQ3MSwgIDQ4OCwgIDQ4NiwgIDQ4NywgIDQ4OV0s
CisgICAgWzQ3MiwgIDQ3MywgIDQ3MCwgIDQ3MSwgIDQ5MCwgIDQ5MSwgIDQ4OCwgIDQ4OV0sCisg
ICAgWzQ3NCwgIDQ3NSwgIDQ3MywgIDQ3MiwgIDQ5MiwgIDQ5MywgIDQ5MSwgIDQ5MF0sCisgICAg
WzQ3NiwgIDQ3NywgIDQ3NSwgIDQ3NCwgIDQ5NCwgIDQ5NSwgIDQ5MywgIDQ5Ml0sCisgICAgWzQ3
OCwgIDQ3OSwgIDQ3NiwgIDQ3NCwgIDQ5NiwgIDQ5NywgIDQ5NCwgIDQ5Ml0sCisgICAgWzQ4MCwg
IDQ3OCwgIDQ3NCwgIDQ3MiwgIDQ5OCwgIDQ5NiwgIDQ5MiwgIDQ5MF0sCisgICAgWzQ2OSwgIDQ4
MCwgIDQ3MiwgIDQ3MSwgIDQ4NywgIDQ5OCwgIDQ5MCwgIDQ4OV0sCisgICAgWzQ4MSwgIDQ4Miwg
IDQ3OSwgIDQ3OCwgIDQ5OSwgIDUwMCwgIDQ5NywgIDQ5Nl0sCisgICAgWzQ4MywgIDQ4MSwgIDQ3
OCwgIDQ4MCwgIDUwMSwgIDQ5OSwgIDQ5NiwgIDQ5OF0sCisgICAgWzQ2NywgIDQ4MywgIDQ4MCwg
IDQ2OSwgIDQ4NSwgIDUwMSwgIDQ5OCwgIDQ4N10sCisgICAgWzc3LCAgNzYsICA0ODIsICA0ODEs
ICA1NCwgIDUzLCAgNTAwLCAgNDk5XSwKKyAgICBbODEsICA3NywgIDQ4MSwgIDQ4MywgIDU4LCAg
NTQsICA0OTksICA1MDFdLAorICAgIFs4NSwgIDgxLCAgNDgzLCAgNDY3LCAgNjIsICA1OCwgIDUw
MSwgIDQ4NV0sCisgICAgWzQ4NCwgIDYzLCAgNjIsICA0ODUsICA1MDIsICAzMywgIDMxLCAgMzAx
XSwKKyAgICBbNDg2LCAgNDg0LCAgNDg1LCAgNDg3LCAgNTAzLCAgNTAyLCAgMzAxLCAgNTA0XSwK
KyAgICBbNDg4LCAgNDg2LCAgNDg3LCAgNDg5LCAgNTA1LCAgNTAzLCAgNTA0LCAgNTA2XSwKKyAg
ICBbNDkwLCAgNDkxLCAgNDg4LCAgNDg5LCAgNTA3LCAgNTA4LCAgNTA1LCAgNTA2XSwKKyAgICBb
NDkyLCAgNDkzLCAgNDkxLCAgNDkwLCAgNTA5LCAgNTEwLCAgNTA4LCAgNTA3XSwKKyAgICBbNDk0
LCAgNDk1LCAgNDkzLCAgNDkyLCAgNTExLCAgNTEyLCAgNTEwLCAgNTA5XSwKKyAgICBbNDk2LCAg
NDk3LCAgNDk0LCAgNDkyLCAgNTEzLCAgNTE0LCAgNTExLCAgNTA5XSwKKyAgICBbNDk4LCAgNDk2
LCAgNDkyLCAgNDkwLCAgNTE1LCAgNTEzLCAgNTA5LCAgNTA3XSwKKyAgICBbNDg3LCAgNDk4LCAg
NDkwLCAgNDg5LCAgNTA0LCAgNTE1LCAgNTA3LCAgNTA2XSwKKyAgICBbNDk5LCAgNTAwLCAgNDk3
LCAgNDk2LCAgNTE2LCAgNTE3LCAgNTE0LCAgNTEzXSwKKyAgICBbNTAxLCAgNDk5LCAgNDk2LCAg
NDk4LCAgMzAwLCAgNTE2LCAgNTEzLCAgNTE1XSwKKyAgICBbNDg1LCAgNTAxLCAgNDk4LCAgNDg3
LCAgMzAxLCAgMzAwLCAgNTE1LCAgNTA0XSwKKyAgICBbNTQsICA1MywgIDUwMCwgIDQ5OSwgIDE0
LCAgMTMsICA1MTcsICA1MTZdLAorICAgIFs1OCwgIDU0LCAgNDk5LCAgNTAxLCAgMjMsICAxNCwg
IDUxNiwgIDMwMF0sCisgICAgWzYyLCAgNTgsICA1MDEsICA0ODUsICAzMSwgIDIzLCAgMzAwLCAg
MzAxXSwKKyAgICBbNTAyLCAgMzMsICAzMSwgIDMwMSwgIDUxOCwgIDM1LCAgMzIsICAzMDNdLAor
ICAgIFs1MDMsICA1MDIsICAzMDEsICA1MDQsICA1MTksICA1MTgsICAzMDMsICA1MjBdLAorICAg
IFs1MDUsICA1MDMsICA1MDQsICA1MDYsICA1MjEsICA1MTksICA1MjAsICA1MjJdLAorICAgIFs1
MDcsICA1MDgsICA1MDUsICA1MDYsICA1MjMsICA1MjQsICA1MjEsICA1MjJdLAorICAgIFs1MDks
ICA1MTAsICA1MDgsICA1MDcsICA1MjUsICA1MjYsICA1MjQsICA1MjNdLAorICAgIFs1MTEsICA1
MTIsICA1MTAsICA1MDksICA1MjcsICA1MjgsICA1MjYsICA1MjVdLAorICAgIFs1MTMsICA1MTQs
ICA1MTEsICA1MDksICA1MjksICA1MzAsICA1MjcsICA1MjVdLAorICAgIFs1MTUsICA1MTMsICA1
MDksICA1MDcsICA1MzEsICA1MjksICA1MjUsICA1MjNdLAorICAgIFs1MDQsICA1MTUsICA1MDcs
ICA1MDYsICA1MjAsICA1MzEsICA1MjMsICA1MjJdLAorICAgIFs1MTYsICA1MTcsICA1MTQsICA1
MTMsICA1MzIsICA1MzMsICA1MzAsICA1MjldLAorICAgIFszMDAsICA1MTYsICA1MTMsICA1MTUs
ICAzMDIsICA1MzIsICA1MjksICA1MzFdLAorICAgIFszMDEsICAzMDAsICA1MTUsICA1MDQsICAz
MDMsICAzMDIsICA1MzEsICA1MjBdLAorICAgIFsxNCwgIDEzLCAgNTE3LCAgNTE2LCAgMTYsICAx
NSwgIDUzMywgIDUzMl0sCisgICAgWzIzLCAgMTQsICA1MTYsICAzMDAsICAyNCwgIDE2LCAgNTMy
LCAgMzAyXQorICAgIF0pCgpUaGlzIGRpZmYgaXMgc28gYmlnIHRoYXQgd2UgbmVlZGVkIHRvIHRy
dW5jYXRlIHRoZSByZW1haW5kZXIuCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMv
eXQvY29tbWl0cy9hNTcyNTQ3NjQyZmYvCkNoYW5nZXNldDogICBhNTcyNTQ3NjQyZmYKQnJhbmNo
OiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTIzIDA0
OjE1OjM0KzAwOjAwClN1bW1hcnk6ICAgICBhZGRpbmcgYSBmYWtlX2hleGFoZWRyYWxfZHMgYW5k
IGEgc2xpY2UgcGxvdCB0ZXN0CkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIGM3NmQ1Y2Yy
Yzg3MzE1NTRjNWQ0ZWQ5NWZjMTJhMTY2YzdmMTE1ZDAgLXIgYTU3MjU0NzY0MmZmMTY1NDVkY2Nh
ZWI9CjA0ZmNhMTg3N2JjZmU5YmMyIHl0L3Rlc3RpbmcucHkKLS0tIGEveXQvdGVzdGluZy5weQor
KysgYi95dC90ZXN0aW5nLnB5CkBAIC0yODEsNiArMjgxLDI5IEBACiAgICAgcmV0dXJuIGRzCj0y
MAo9MjAKK2RlZiBmYWtlX2hleGFoZWRyYWxfZHMoKToKKyAgICBmcm9tIHl0LmZyb250ZW5kcy5z
dHJlYW0uYXBpIGltcG9ydCBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoCisgICAgZnJvbSB5dC5mcm9u
dGVuZHMuc3RyZWFtLnNhbXBsZV9kYXRhLmhleGFoZWRyYWxfbWVzaCBpbXBvcnQgXAorICAgICAg
ICBfY29ubmVjdGl2aXR5LCBfY29vcmRpbmF0ZXMKKworICAgIF9jb25uZWN0aXZpdHkgLT0zRCAx
ICAjIHRoaXMgbWVzaCBoYXMgYW4gb2Zmc2V0IG9mIDEKKworICAgICMgdGhlIGRpc3RhbmNlIGZy
b20gdGhlIG9yaWdpbgorICAgIG5vZGVfZGF0YSA9M0Qge30KKyAgICBkaXN0ID0zRCBucC5zdW0o
X2Nvb3JkaW5hdGVzKioyLCAxKQorICAgIG5vZGVfZGF0YVsoJ2Nvbm5lY3QxJywgJ3Rlc3QnKV0g
PTNEIGRpc3RbX2Nvbm5lY3Rpdml0eV0KKworICAgICMgZWFjaCBlbGVtZW50IGdldHMgYSByYW5k
b20gbnVtYmVyCisgICAgZWxlbV9kYXRhID0zRCB7fQorICAgIGVsZW1fZGF0YVsoJ2Nvbm5lY3Qx
JywgJ2VsZW0nKV0gPTNEIG5wLnJhbmRvbS5yYW5kKF9jb25uZWN0aXZpdHkuc2hhcGU9ClswXSkK
KworICAgIGRzID0zRCBsb2FkX3Vuc3RydWN0dXJlZF9tZXNoKF9jb25uZWN0aXZpdHksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jb29yZGluYXRlcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbm9kZV9kYXRhPTNEbm9kZV9kYXRhLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBlbGVtX2RhdGE9M0RlbGVtX2RhdGEpCisgICAgcmV0dXJuIGRzCisK
KwogZGVmIGV4cGFuZF9rZXl3b3JkcyhrZXl3b3JkcywgZnVsbD0zREZhbHNlKToKICAgICAiIiIK
ICAgICBleHBhbmRfa2V5d29yZHMgaXMgYSBtZWFucyBmb3IgdGVzdGluZyBhbGwgcG9zc2libGUg
a2V5d29yZAoKZGlmZiAtciBjNzZkNWNmMmM4NzMxNTU0YzVkNGVkOTVmYzEyYTE2NmM3ZjExNWQw
IC1yIGE1NzI1NDc2NDJmZjE2NTQ1ZGNjYWViPQowNGZjYTE4NzdiY2ZlOWJjMiB5dC92aXN1YWxp
emF0aW9uL3Rlc3RzL3Rlc3RfbWVzaF9zbGljZXMucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi90
ZXN0cy90ZXN0X21lc2hfc2xpY2VzLnB5CisrKyBiL3l0L3Zpc3VhbGl6YXRpb24vdGVzdHMvdGVz
dF9tZXNoX3NsaWNlcy5weQpAQCAtMTcsNiArMTcsNyBAQAogaW1wb3J0IG51bXB5IGFzIG5wCiBp
bXBvcnQgeXQKIGZyb20geXQudGVzdGluZyBpbXBvcnQgZmFrZV90ZXRyYWhlZHJhbF9kcworZnJv
bSB5dC50ZXN0aW5nIGltcG9ydCBmYWtlX2hleGFoZWRyYWxfZHMKPTIwCj0yMAogZGVmIHNldHVw
KCk6CkBAIC0zMiw2ICszMyw4IEBACiAgICAgb3MuY2hkaXIodG1wZGlyKQo9MjAKICAgICBucC5y
YW5kb20uc2VlZCgwNDUxKQorCisgICAgIyB0ZXRyYWhlZHJhbCBkcwogICAgIGRzID0zRCBmYWtl
X3RldHJhaGVkcmFsX2RzKCkKPTIwCiAgICAgZm9yIGZpZWxkIGluIGRzLmZpZWxkX2xpc3Q6CkBA
IC00MCw2ICs0MywxNSBAQAogICAgICAgICAgICAgc2wuYW5ub3RhdGVfbWVzaF9saW5lcyhkcy5p
bmRleC5tZXNoZXNbMF0pCiAgICAgICAgICAgICBzbC5zYXZlKCkKPTIwCisgICAgIyBoZXhhaGVk
cmFsIGRzCisgICAgZHMgPTNEIGZha2VfaGV4YWhlZHJhbF9kcygpCisKKyAgICBmb3IgZmllbGQg
aW4gZHMuZmllbGRfbGlzdDoKKyAgICAgICAgZm9yIGlkaXIgaW4gWzAsIDEsIDJdOgorICAgICAg
ICAgICAgc2wgPTNEIHl0LlNsaWNlUGxvdChkcywgaWRpciwgZmllbGQpCisjICAgICAgICAgICAg
c2wuYW5ub3RhdGVfbWVzaF9saW5lcyhkcy5pbmRleC5tZXNoZXNbMF0pCisgICAgICAgICAgICBz
bC5zYXZlKCkKKwogICAgIG9zLmNoZGlyKGN1cmRpcikKICAgICAjIGNsZWFuIHVwCiAgICAgc2h1
dGlsLnJtdHJlZSh0bXBkaXIpCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L2NvbW1pdHMvZjhiNzMxMjE3MTljLwpDaGFuZ2VzZXQ6ICAgZjhiNzMxMjE3MTljCkJyYW5jaDog
ICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMyAwNDox
ODoxOCswMDowMApTdW1tYXJ5OiAgICAgYWRkaW5nIGEgcmVuZGVyaW5nIHRlc3QgZm9yIHRoZSBm
YWtlIGhleGFoZWRyYWwgZHMKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBhNTcyNTQ3NjQy
ZmYxNjU0NWRjY2FlYjA0ZmNhMTg3N2JjZmU5YmMyIC1yIGY4YjczMTIxNzE5Y2U2ZTA3MGQwYmZi
PQowNzc1ZmQ5OTk3MGIzNTk4YyB5dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvdGVz
dHMvdGVzdF9tZXNoX3JlbmRlci49CnB5Ci0tLSBhL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3Jl
bmRlcmluZy90ZXN0cy90ZXN0X21lc2hfcmVuZGVyLnB5CisrKyBiL3l0L3Zpc3VhbGl6YXRpb24v
dm9sdW1lX3JlbmRlcmluZy90ZXN0cy90ZXN0X21lc2hfcmVuZGVyLnB5CkBAIC0xNCwyMSArMTQs
MjUgQEAKIGltcG9ydCB5dAogaW1wb3J0IG51bXB5IGFzIG5wCiBmcm9tIHl0LnRlc3RpbmcgaW1w
b3J0IGZha2VfdGV0cmFoZWRyYWxfZHMKK2Zyb20geXQudGVzdGluZyBpbXBvcnQgZmFrZV9oZXhh
aGVkcmFsX2RzCiBmcm9tIHl0LnRlc3RpbmcgaW1wb3J0IHJlcXVpcmVzX21vZHVsZQogZnJvbSB5
dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVz
aFNvdXJjZQogZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhIGlt
cG9ydCBDYW1lcmEKLWZyb20geXQuZnJvbnRlbmRzLnN0cmVhbS5zYW1wbGVfZGF0YS50ZXRyYWhl
ZHJhbF9tZXNoIGltcG9ydCBcCi0gICAgX2Nvbm5lY3Rpdml0eSwgXAotICAgIF9jb29yZGluYXRl
cworCj0yMAogQHJlcXVpcmVzX21vZHVsZSgicHllbWJyZWUiKQogZGVmIHRlc3Rfc3VyZmFjZV9t
ZXNoX3JlbmRlcigpOgogICAgIGRzID0zRCBmYWtlX3RldHJhaGVkcmFsX2RzKCkKICAgICBtcyA9
M0QgTWVzaFNvdXJjZShkcywgKCdjb25uZWN0MScsICd0ZXN0JykpCiAgICAgY2FtID0zRCBDYW1l
cmEoZHMpCi0gICAgaW0gPTNEIG1zLnJlbmRlcihjYW0pCi0gICAgcmV0dXJuIGltCisgICAgaW0x
ID0zRCBtcy5yZW5kZXIoY2FtKQo9MjAKKyAgICBkcyA9M0QgZmFrZV9oZXhhaGVkcmFsX2RzKCkK
KyAgICBtcyA9M0QgTWVzaFNvdXJjZShkcywgKCdjb25uZWN0MScsICd0ZXN0JykpCisgICAgY2Ft
ID0zRCBDYW1lcmEoZHMpCisgICAgaW0yID0zRCBtcy5yZW5kZXIoY2FtKQorICAgPTIwCisgICAg
cmV0dXJuIGltMSwgaW0yCj0yMAogaWYgX19uYW1lX18gPTNEPTNEICJfX21haW5fXyI6Ci0gICAg
aW0gPTNEIHRlc3Rfc3VyZmFjZV9tZXNoX3JlbmRlcigpCisgICAgaW0xLCBpbTIgPTNEIHRlc3Rf
c3VyZmFjZV9tZXNoX3JlbmRlcigpCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L2NvbW1pdHMvNWVlOTFjNTY4MzcyLwpDaGFuZ2VzZXQ6ICAgNWVlOTFjNTY4MzcyCkJyYW5j
aDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMyAy
Mjo1NzozNyswMDowMApTdW1tYXJ5OiAgICAgYWRkaW5nIGEgbmV3IGZpbHRlciBmZWVkYmFjayBm
dW5jdGlvbiBmb3IgZWxlbWVudCBmaWVsZCBzYW1wbGk9Cm5nCkFmZmVjdGVkICM6ICAyIGZpbGVz
CgpkaWZmIC1yIGY4YjczMTIxNzE5Y2U2ZTA3MGQwYmZiMDc3NWZkOTk5NzBiMzU5OGMgLXIgNWVl
OTFjNTY4MzcyMzE2NzIxN2Y2MjY9CjI0NmZkYjEyMTEyMGMzZTQzIHl0L3V0aWxpdGllcy9saWIv
bWVzaF9zYW1wbGVycy5weGQKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9tZXNoX3NhbXBsZXJzLnB4
ZAorKysgYi95dC91dGlsaXRpZXMvbGliL21lc2hfc2FtcGxlcnMucHhkCkBAIC03LDMgKzcsNiBA
QAo9MjAKIGNkZWYgdm9pZCBzYW1wbGVfdGV0cmEodm9pZCogdXNlclB0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgcnRjci5SVENSYXkmIHJheSkgbm9naWwKKworY2RlZiB2b2lkIHNhbXBsZV9l
bGVtZW50KHZvaWQqIHVzZXJQdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgcnRjci5SVENS
YXkmIHJheSkgbm9naWwKCmRpZmYgLXIgZjhiNzMxMjE3MTljZTZlMDcwZDBiZmIwNzc1ZmQ5OTk3
MGIzNTk4YyAtciA1ZWU5MWM1NjgzNzIzMTY3MjE3ZjYyNj0KMjQ2ZmRiMTIxMTIwYzNlNDMgeXQv
dXRpbGl0aWVzL2xpYi9tZXNoX3NhbXBsZXJzLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21l
c2hfc2FtcGxlcnMucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvbWVzaF9zYW1wbGVycy5weXgK
QEAgLTEzNiwzICsxMzYsMjcgQEAKPTIwCiAgICAgdmFsID0zRCBQMVNhbXBsZXIuc2FtcGxlX2F0
X3JlYWxfcG9pbnQodmVydGljZXMsIGZpZWxkX2RhdGEsIHBvc2l0aW9uKQogICAgIHJheS50aW1l
ID0zRCB2YWwKKworCitAY3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQorQGN5dGhvbi53cmFwYXJv
dW5kKEZhbHNlKQorQGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkKK2NkZWYgdm9pZCBzYW1wbGVfZWxl
bWVudCh2b2lkKiB1c2VyUHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJ0Y3IuUlRDUmF5
JiByYXkpIG5vZ2lsOgorICAgIGNkZWYgaW50IHJheV9pZCwgZWxlbV9pZCwgaQorICAgIGNkZWYg
ZG91YmxlIHZhbAorICAgIGNkZWYgTWVzaERhdGFDb250YWluZXIqIGRhdGEKKworICAgIGRhdGEg
PTNEIDxNZXNoRGF0YUNvbnRhaW5lcio+IHVzZXJQdHIKKyAgICByYXlfaWQgPTNEIHJheS5wcmlt
SUQKKyAgICBpZiByYXlfaWQgPTNEPTNEIC0xOgorICAgICAgICByZXR1cm4KKworICAgICMgcmF5
X2lkIHJlY29yZHMgdGhlIGlkIG51bWJlciBvZiB0aGUgaGl0IGFjY29yZGluZyB0bworICAgICMg
ZW1icmVlLCBpbiB3aGljaCB0aGUgcHJpbWl0aXZlcyBhcmUgdHJpYW5nbGVzLiBIZXJlLAorICAg
ICMgd2UgY29udmVydCB0aGlzIHRvIHRoZSBlbGVtZW50IGlkIGJ5IGRpdmlkaW5nIGJ5IHRoZQor
ICAgICMgbnVtYmVyIG9mIHRyaWFuZ2xlcyBwZXIgZWxlbWVudC4KKyAgICBlbGVtX2lkID0zRCBy
YXlfaWQgLyBkYXRhLnRwZQorCisgICAgdmFsID0zRCBkYXRhLmZpZWxkX2RhdGFbZWxlbV9pZF0K
KyAgICByYXkudGltZSA9M0QgdmFsCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L2NvbW1pdHMvY2Y4ZDlmMGQ3ZTg5LwpDaGFuZ2VzZXQ6ICAgY2Y4ZDlmMGQ3ZTg5CkJyYW5j
aDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yMyAy
MzoxNTo0NCswMDowMApTdW1tYXJ5OiAgICAgZW5hYmxpbmcgcmVuZGVyaW5nIG9mIGVsZW1lbnQg
ZmllbGRzCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIDVlZTkxYzU2ODM3MjMxNjcyMTdm
NjI2MjQ2ZmRiMTIxMTIwYzNlNDMgLXIgY2Y4ZDlmMGQ3ZTg5ZWI1MmI2ZmI2Y2E9CmM1ZmNjMmYw
ZTc1ZWQ0Mzk1IHl0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4Ci0tLSBhL3l0
L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4CisrKyBiL3l0L3V0aWxpdGllcy9s
aWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4CkBAIC0yMiw5ICsyMiw5IEBACiBjaW1wb3J0IHB5ZW1i
cmVlLnJ0Y29yZV9nZW9tZXRyeSBhcyBydGNnCiBjaW1wb3J0IHB5ZW1icmVlLnJ0Y29yZV9yYXkg
YXMgcnRjcgogY2ltcG9ydCBweWVtYnJlZS5ydGNvcmVfZ2VvbWV0cnlfdXNlciBhcyBydGNndQot
ZnJvbSBtZXNoX3NhbXBsZXJzIGNpbXBvcnQgXAotICAgIHNhbXBsZV9oZXgsIFwKLSAgICBzYW1w
bGVfdGV0cmEKK2Zyb20gbWVzaF9zYW1wbGVycyBjaW1wb3J0IHNhbXBsZV9oZXgKK2Zyb20gbWVz
aF9zYW1wbGVycyBjaW1wb3J0IHNhbXBsZV90ZXRyYQorZnJvbSBtZXNoX3NhbXBsZXJzIGNpbXBv
cnQgc2FtcGxlX2VsZW1lbnQKIGZyb20gcHllbWJyZWUucnRjb3JlIGNpbXBvcnQgXAogICAgIFZl
cnRleCwgXAogICAgIFRyaWFuZ2xlLCBcCkBAIC04MCw3ICs4MCw5IEBACiAgICAgY2RlZiB1bnNp
Z25lZCBpbnQgbWVzaAogICAgIGNkZWYgZG91YmxlKiBmaWVsZF9kYXRhCiAgICAgY2RlZiBydGNn
LlJUQ0ZpbHRlckZ1bmMgZmlsdGVyX2Z1bmMKLSAgICBjZGVmIGludCB0cGUsIHZwZQorICAgICMg
dHJpYW5nbGVzIHBlciBlbGVtZW50LCB2ZXJ0aWNlcyBwZXIgZWxlbWVudCwgYW5kIGZpZWxkIHBv
aW50cyBwZXI9MjAKKyAgICAjIGVsZW1lbnQsIHJlcHNlY3RpdmVseToKKyAgICBjZGVmIGludCB0
cGUsIHZwZSwgZnBlCiAgICAgY2RlZiBpbnRbTUFYX05VTV9UUkldWzNdIHRyaV9hcnJheQogICAg
IGNkZWYgaW50KiBlbGVtZW50X2luZGljZXMKICAgICBjZGVmIE1lc2hEYXRhQ29udGFpbmVyIGRh
dGFjCkBAIC0xNTAsMTEgKzE1MiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bnAubmRhcnJheSBkYXRhX2luKToKPTIwCiAgICAgICAgIGNkZWYgaW50IG5lID0zRCBkYXRhX2lu
LnNoYXBlWzBdCi0gICAgICAgIGNkZWYgZG91YmxlKiBmaWVsZF9kYXRhID0zRCA8ZG91YmxlICo+
IG1hbGxvYyhuZSAqIHNlbGYudnBlICogc2l6ZT0Kb2YoZG91YmxlKSkKKyAgICAgICAgc2VsZi5m
cGUgPTNEIGRhdGFfaW4uc2hhcGVbMV0KKworICAgICAgICBjZGVmIGRvdWJsZSogZmllbGRfZGF0
YSA9M0QgPGRvdWJsZSAqPiBtYWxsb2MobmUgKiBzZWxmLmZwZSAqIHNpemU9Cm9mKGRvdWJsZSkp
Cj0yMAogICAgICAgICBmb3IgaSBpbiByYW5nZShuZSk6Ci0gICAgICAgICAgICBmb3IgaiBpbiBy
YW5nZShzZWxmLnZwZSk6Ci0gICAgICAgICAgICAgICAgZmllbGRfZGF0YVtpKnNlbGYudnBlK2pd
ID0zRCBkYXRhX2luW2ldW2pdCisgICAgICAgICAgICBmb3IgaiBpbiByYW5nZShzZWxmLmZwZSk6
CisgICAgICAgICAgICAgICAgZmllbGRfZGF0YVtpKnNlbGYuZnBlK2pdID0zRCBkYXRhX2luW2ld
W2pdCj0yMAogICAgICAgICBzZWxmLmZpZWxkX2RhdGEgPTNEIGZpZWxkX2RhdGEKPTIwCkBAIC0x
NzEsMTAgKzE3NSwxMiBAQAo9MjAKICAgICBjZGVmIHZvaWQgX3NldF9zYW1wbGVyX3R5cGUoc2Vs
ZiwgWVRFbWJyZWVTY2VuZSBzY2VuZSk6Cj0yMAotICAgICAgICBpZiBzZWxmLnZwZSA9M0Q9M0Qg
ODoKKyAgICAgICAgaWYgc2VsZi5mcGUgPTNEPTNEIDE6CisgICAgICAgICAgICBzZWxmLmZpbHRl
cl9mdW5jID0zRCA8cnRjZy5SVENGaWx0ZXJGdW5jPiBzYW1wbGVfZWxlbWVudAorICAgICAgICBl
bGlmIHNlbGYuZnBlID0zRD0zRCA0OgorICAgICAgICAgICAgc2VsZi5maWx0ZXJfZnVuYyA9M0Qg
PHJ0Y2cuUlRDRmlsdGVyRnVuYz4gc2FtcGxlX3RldHJhCisgICAgICAgIGVsaWYgc2VsZi5mcGUg
PTNEPTNEIDg6CiAgICAgICAgICAgICBzZWxmLmZpbHRlcl9mdW5jID0zRCA8cnRjZy5SVENGaWx0
ZXJGdW5jPiBzYW1wbGVfaGV4Ci0gICAgICAgIGVsaWYgc2VsZi52cGUgPTNEPTNEIDQ6Ci0gICAg
ICAgICAgICBzZWxmLmZpbHRlcl9mdW5jID0zRCA8cnRjZy5SVENGaWx0ZXJGdW5jPiBzYW1wbGVf
dGV0cmEKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHByaW50ICJFcnJvciAtIHNhbXBsZXIg
dHlwZSBub3QgaW1wbGVtZW50ZWQuIgogICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRF
cnJvcgoKZGlmZiAtciA1ZWU5MWM1NjgzNzIzMTY3MjE3ZjYyNjI0NmZkYjEyMTEyMGMzZTQzIC1y
IGNmOGQ5ZjBkN2U4OWViNTJiNmZiNmNhPQpjNWZjYzJmMGU3NWVkNDM5NSB5dC92aXN1YWxpemF0
aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQotLS0gYS95dC92aXN1YWxpemF0
aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQorKysgYi95dC92aXN1YWxpemF0
aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQpAQCAtMzA5LDE0ICszMDksMTkg
QEAKICAgICAgICAgbWVzaF9pZCA9M0QgaW50KGZ0eXBlWy0xXSkgLSAxCiAgICAgICAgIGluZGV4
ID0zRCBzZWxmLmRhdGFfc291cmNlLmRzLmluZGV4CiAgICAgICAgIG9mZnNldCA9M0QgaW5kZXgu
bWVzaGVzW21lc2hfaWRdLl9pbmRleF9vZmZzZXQKLSAgICAgICAgZmllbGRfZGF0YSA9M0Qgc2Vs
Zi5kYXRhX3NvdXJjZVtzZWxmLmZpZWxkXQorICAgICAgICBmaWVsZF9kYXRhID0zRCBzZWxmLmRh
dGFfc291cmNlW3NlbGYuZmllbGRdLmQgICMgc3RyaXAgdW5pdHMKKworICAgICAgICAjIGlmIHRo
aXMgaXMgYW4gZWxlbWVudCBmaWVsZCwgcHJvbW90ZSB0byAyRCBoZXJlCisgICAgICAgIGlmIGxl
bihmaWVsZF9kYXRhLnNoYXBlKSA9M0Q9M0QgMToKKyAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNE
IG5wLmV4cGFuZF9kaW1zKGZpZWxkX2RhdGEsIDEpCisKICAgICAgICAgdmVydGljZXMgPTNEIGlu
ZGV4Lm1lc2hlc1ttZXNoX2lkXS5jb25uZWN0aXZpdHlfY29vcmRzCiAgICAgICAgIGluZGljZXMg
PTNEIGluZGV4Lm1lc2hlc1ttZXNoX2lkXS5jb25uZWN0aXZpdHlfaW5kaWNlcyAtIG9mZnNldAo9
MjAKICAgICAgICAgc2VsZi5tZXNoID0zRCBtZXNoX2NvbnN0cnVjdGlvbi5FbGVtZW50TWVzaChz
ZWxmLnNjZW5lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2ZXJ0aWNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW5kaWNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmllbGRfZGF0YS5kKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWVsZF9kYXRhKQo9MjAKICAgICBkZWYgcmVuZGVyKHNlbGYs
IGNhbWVyYSk6Cj0yMAoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21t
aXRzLzEzMTE0NjkxY2QwNi8KQ2hhbmdlc2V0OiAgIDEzMTE0NjkxY2QwNgpCcmFuY2g6ICAgICAg
eXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMjMgMjM6MTg6MjQr
MDA6MDAKU3VtbWFyeTogICAgIGFkZGluZyB0ZXN0IG9mIHJlbmRlcmluZyBlbGVtZW50IGZpZWxk
cwpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGNmOGQ5ZjBkN2U4OWViNTJiNmZiNmNhYzVm
Y2MyZjBlNzVlZDQzOTUgLXIgMTMxMTQ2OTFjZDA2ZDA5ZjRkMmVlYzQ9CmNhNjBmNjAyYzA1YWYy
MGJkIHl0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy90ZXN0cy90ZXN0X21lc2hfcmVu
ZGVyLj0KcHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3Rlc3RzL3Rl
c3RfbWVzaF9yZW5kZXIucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5n
L3Rlc3RzL3Rlc3RfbWVzaF9yZW5kZXIucHkKQEAgLTIyLDE3ICsyMiwyNCBAQAo9MjAKIEByZXF1
aXJlc19tb2R1bGUoInB5ZW1icmVlIikKIGRlZiB0ZXN0X3N1cmZhY2VfbWVzaF9yZW5kZXIoKToK
KworICAgIGltYWdlcyA9M0QgW10KKwogICAgIGRzID0zRCBmYWtlX3RldHJhaGVkcmFsX2RzKCkK
LSAgICBtcyA9M0QgTWVzaFNvdXJjZShkcywgKCdjb25uZWN0MScsICd0ZXN0JykpCi0gICAgY2Ft
ID0zRCBDYW1lcmEoZHMpCi0gICAgaW0xID0zRCBtcy5yZW5kZXIoY2FtKQotCisgICAgZm9yIGZp
ZWxkIGluIGRzLmZpZWxkX2xpc3Q6CisgICAgICAgIG1zID0zRCBNZXNoU291cmNlKGRzLCBmaWVs
ZCkKKyAgICAgICAgY2FtID0zRCBDYW1lcmEoZHMpCisgICAgICAgIGltID0zRCBtcy5yZW5kZXIo
Y2FtKQorICAgICAgICBpbWFnZXMuYXBwZW5kKGltKQorICAgICAgID0yMAogICAgIGRzID0zRCBm
YWtlX2hleGFoZWRyYWxfZHMoKQotICAgIG1zID0zRCBNZXNoU291cmNlKGRzLCAoJ2Nvbm5lY3Qx
JywgJ3Rlc3QnKSkKLSAgICBjYW0gPTNEIENhbWVyYShkcykKLSAgICBpbTIgPTNEIG1zLnJlbmRl
cihjYW0pCisgICAgZm9yIGZpZWxkIGluIGRzLmZpZWxkX2xpc3Q6CisgICAgICAgIG1zID0zRCBN
ZXNoU291cmNlKGRzLCBmaWVsZCkKKyAgICAgICAgY2FtID0zRCBDYW1lcmEoZHMpCisgICAgICAg
IGltID0zRCBtcy5yZW5kZXIoY2FtKQorICAgICAgICBpbWFnZXMuYXBwZW5kKGltKQogICAgPTIw
Ci0gICAgcmV0dXJuIGltMSwgaW0yCisgICAgcmV0dXJuIGltYWdlcwo9MjAKIGlmIF9fbmFtZV9f
ID0zRD0zRCAiX19tYWluX18iOgotICAgIGltMSwgaW0yID0zRCB0ZXN0X3N1cmZhY2VfbWVzaF9y
ZW5kZXIoKQorICAgIGltYWdlcyA9M0QgdGVzdF9zdXJmYWNlX21lc2hfcmVuZGVyKCkKCgpodHRw
czovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9kODY2ZDgxNjJiNzQvCkNo
YW5nZXNldDogICBkODY2ZDgxNjJiNzQKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15
ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA4LTI0IDAzOjA4OjA4KzAwOjAwClN1bW1hcnk6ICAgICBj
b3VudCBjb252ZXJnZW5jZSBmYWlsdXJlcyBhcyBtaXNzZXMgZm9yIHRoZSBwdXJwb3NlIG9mIGlu
Y2x1cz0KaW9uIHRlc3RpbmcKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciAxMzExNDY5MWNk
MDZkMDlmNGQyZWVjNGNhNjBmNjAyYzA1YWYyMGJkIC1yIGQ4NjZkODE2MmI3NDQ0OTNiN2U1MDJj
PQpkOGEzNTEzOWEwNmMwYmZkNiB5dC91dGlsaXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHl4
Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBwaW5ncy5weXgKKysrIGIveXQvdXRp
bGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB5eApAQCAtMTg2LDcgKzE4Niw3IEBACiAgICAg
ICAgIGNkZWYgZG91YmxlWzNdIHgKICAgICAgICAgY2RlZiBpbnQgaXRlcmF0aW9ucyA9M0QgMAog
ICAgICAgICBjZGVmIGRvdWJsZSBlcnIKLSAgPTIwCisKICAgICAgICAgIyBpbml0aWFsIGd1ZXNz
CiAgICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgogICAgICAgICAgICAgeFtpXSA9M0QgMC4wCkBA
IC0yMDYsOCArMjA2LDEzIEBACiAgICAgICAgICAgICBlcnIgPTNEIG1heG5vcm0oZikKICAgICAg
ICAgICAgIGl0ZXJhdGlvbnMgKz0zRCAxCj0yMAotICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToK
LSAgICAgICAgICAgIG1hcHBlZF94W2ldID0zRCB4W2ldCisgICAgICAgIGlmIChlcnIgPiBzZWxm
LnRvbGVyYW5jZSk6CisgICAgICAgICAgICAjIHdlIGRpZCBub3QgY29udmVyZ2UsIHNldCBib2d1
cyB2YWx1ZQorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6CisgICAgICAgICAgICAgICAg
bWFwcGVkX3hbaV0gPTNEIC05OS4wCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmb3IgaSBp
biByYW5nZSgzKToKKyAgICAgICAgICAgICAgICBtYXBwZWRfeFtpXSA9M0QgeFtpXQo9MjAKPTIw
CiBjZGVmIGNsYXNzIFExU2FtcGxlcjNEKE5vbmxpbmVhclNvbHZlU2FtcGxlcik6CgoKaHR0cHM6
Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvODVmMTEwMzgwYmI0LwpDaGFu
Z2VzZXQ6ICAgODVmMTEwMzgwYmI0CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVy
cwpEYXRlOiAgICAgICAgMjAxNS0wOC0yNCAwMzozNTowMSswMDowMApTdW1tYXJ5OiAgICAgYWRk
aW5nIG5ldyBjIGFuZCBjcHAgZmlsZXMgdG8gLmhnaWdub3JlCkFmZmVjdGVkICM6ICAxIGZpbGUK
CmRpZmYgLXIgZDg2NmQ4MTYyYjc0NDQ5M2I3ZTUwMmNkOGEzNTEzOWEwNmMwYmZkNiAtciA4NWYx
MTAzODBiYjQ4YmViN2I4ZTYyMT0KNzEyMzM3ZGZkMTgzNjUxMzQgLmhnaWdub3JlCi0tLSBhLy5o
Z2lnbm9yZQorKysgYi8uaGdpZ25vcmUKQEAgLTU0LDYgKzU0LDEwIEBACiB5dC91dGlsaXRpZXMv
bGliL21hcmNoaW5nX2N1YmVzLmMKIHl0L3V0aWxpdGllcy9saWIvcG5nX3dyaXRlci5oCiB5dC91
dGlsaXRpZXMvbGliL3dyaXRlX2FycmF5LmMKK3l0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBw
aW5ncy5jCit5dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLmNwcAoreXQvdXRpbGl0
aWVzL2xpYi9tZXNoX3NhbXBsZXJzLmNwcAoreXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZlcnNh
bC5jcHAKIHN5bnRheDogZ2xvYgogKi5weWMKIC4qLnN3cAoKCmh0dHBzOi8vYml0YnVja2V0Lm9y
Zy95dF9hbmFseXNpcy95dC9jb21taXRzLzU2MTI0NmI4YmFkYS8KQ2hhbmdlc2V0OiAgIDU2MTI0
NmI4YmFkYQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAg
IDIwMTUtMDgtMjYgMDM6NDY6NTErMDA6MDAKU3VtbWFyeTogICAgIGdldCB0aGUgc2hhcGUgb2Yg
dGhlIGZpZWxkIGZyb20gdGhlIGNvbm5lY3Rpdml0eSwgaW5zdGVhZCBvZiB0PQpoZSBzaXplCkFm
ZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgODVmMTEwMzgwYmI0OGJlYjdiOGU2MjE3MTIzMzdk
ZmQxODM2NTEzNCAtciA1NjEyNDZiOGJhZGFkY2IwNGM5NzMwNj0KNDEzZTE5ZTRhODU1NTIxYmYg
eXQvZnJvbnRlbmRzL2V4b2R1c19paS9pby5weQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lp
L2lvLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9kdXNfaWkvaW8ucHkKQEAgLTUyLDExICs1Miwx
MiBAQAogICAgICAgICBmb3IgZmllbGQgaW4gZmllbGRzOgogICAgICAgICAgICAgZnR5cGUsIGZu
YW1lID0zRCBmaWVsZAogICAgICAgICAgICAgY2kgPTNEIHNlbGYuaGFuZGxlci52YXJpYWJsZXNb
ZnR5cGVdWzpdIC0gc2VsZi5fSU5ERVhfT0ZGU0VUCisgICAgICAgICAgICBudW1fZWxlbSA9M0Qg
Y2kuc2hhcGVbMF0KICAgICAgICAgICAgIGlmIGZuYW1lIGluIHNlbGYubm9kZV9maWVsZHM6CiAg
ICAgICAgICAgICAgICAgbm9kZXNfcGVyX2VsZW1lbnQgPTNEIGNpLnNoYXBlWzFdCi0gICAgICAg
ICAgICAgICAgcnZbZmllbGRdID0zRCBucC5lbXB0eSgoc2l6ZSwgbm9kZXNfcGVyX2VsZW1lbnQp
LCBkdHlwZT0zRD0KImZsb2F0NjQiKQorICAgICAgICAgICAgICAgIHJ2W2ZpZWxkXSA9M0QgbnAu
ZW1wdHkoKG51bV9lbGVtLCBub2Rlc19wZXJfZWxlbWVudCksIGR0eXA9CmU9M0QiZmxvYXQ2NCIp
CiAgICAgICAgICAgICBlbGlmIGZuYW1lIGluIHNlbGYuZWxlbV9maWVsZHM6Ci0gICAgICAgICAg
ICAgICAgcnZbZmllbGRdID0zRCBucC5lbXB0eShzaXplLCBkdHlwZT0zRCJmbG9hdDY0IikKKyAg
ICAgICAgICAgICAgICBydltmaWVsZF0gPTNEIG5wLmVtcHR5KG51bV9lbGVtLCBkdHlwZT0zRCJm
bG9hdDY0IikKICAgICAgICAgZm9yIGZpZWxkIGluIGZpZWxkczoKICAgICAgICAgICAgIGluZCA9
M0QgMAogICAgICAgICAgICAgZnR5cGUsIGZuYW1lID0zRCBmaWVsZAoKCmh0dHBzOi8vYml0YnVj
a2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzYyNmI1ZGQyNzg3NS8KQ2hhbmdlc2V0OiAg
IDYyNmI1ZGQyNzg3NQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTog
ICAgICAgIDIwMTUtMDgtMjYgMDM6NDc6MjYrMDA6MDAKU3VtbWFyeTogICAgIGdpdmUgYSB3YXJu
aW5nIGFib3V0IGRyb3BwaW5nIHRvIGxvdyBvcmRlciBpZiB5b3UgaGF2ZSBoaWdoIG9yPQpkZXIg
ZGF0YQpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciA1NjEyNDZiOGJhZGFkY2IwNGM5NzMw
NjQxM2UxOWU0YTg1NTUyMWJmIC1yIDYyNmI1ZGQyNzg3NWVhYTgxNzkxOWFlPQowM2U5YmU5ZmY3
ZWZmNjQ0YyB5dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0ZXNpYW5fY29vcmRpbmF0ZXMucHkK
LS0tIGEveXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVzaWFuX2Nvb3JkaW5hdGVzLnB5Cisr
KyBiL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9jb29yZGluYXRlcy5weQpAQCAt
NzksOCArNzksMjMgQEAKICAgICAgICAgICAgIGJvdW5kcy5pbnNlcnQoMipkaW1lbnNpb24sIGMp
CiAgICAgICAgICAgICBib3VuZHMgPTNEIG5wLnJlc2hhcGUoYm91bmRzLCAoMywgMikpCj0yMAor
ICAgICAgICAgICAgIyBpZiB0aGlzIGlzIGFuIGVsZW1lbnQgZmllbGQsIHByb21vdGUgdG8gMkQg
aGVyZQogICAgICAgICAgICAgaWYgbGVuKGZpZWxkX2RhdGEuc2hhcGUpID0zRD0zRCAxOgogICAg
ICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIG5wLmV4cGFuZF9kaW1zKGZpZWxkX2RhdGEsIDEp
CisgICAgICAgICAgICAjIGlmIHRoaXMgaXMgYSBoaWdoZXItb3JkZXIgZWxlbWVudCwgd2UgZGVt
b3RlIHRvIDFzdCBvcmRlcgorICAgICAgICAgICAgIyBoZXJlLCBmb3Igbm93LgorICAgICAgICAg
ICAgZWxpZiBmaWVsZF9kYXRhLnNoYXBlWzFdID0zRD0zRCAyNyBvciBmaWVsZF9kYXRhLnNoYXBl
WzFdID0zRD0KPTNEIDIwOgorICAgICAgICAgICAgICAgICMgaGV4YWhlZHJhbAorICAgICAgICAg
ICAgICAgIG15bG9nLndhcm5pbmcoIkhpZ2ggb3JkZXIgZWxlbWVudHMgbm90IHlldCBzdXBwb3J0
ZWQsICIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRyb3BwaW5nIHRvIDFzdCBv
cmRlci4iKQorICAgICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIGZpZWxkX2RhdGFbOiwgMDo4
XQorICAgICAgICAgICAgICAgIGluZGljZXMgPTNEIGluZGljZXNbOiwgMDo4XQorICAgICAgICAg
ICAgZWxpZiBmaWVsZF9kYXRhLnNoYXBlWzFdID0zRD0zRCAxMDoKKyAgICAgICAgICAgICAgICAj
IHRldHJhaGVkcmFsCisgICAgICAgICAgICAgICAgbXlsb2cud2FybmluZygiSGlnaCBvcmRlciBl
bGVtZW50cyBub3QgeWV0IHN1cHBvcnRlZCwgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZHJvcHBpbmcgdG8gMXN0IG9yZGVyLiIpCisgICAgICAgICAgICAgICAgZmllbGRfZGF0
YSA9M0QgZmllbGRfZGF0YVs6LDA6NF0KKyAgICAgICAgICAgICAgICBpbmRpY2VzID0zRCBpbmRp
Y2VzWzosIDA6NF0KPTIwCiAgICAgICAgICAgICBpbWcgPTNEIHBpeGVsaXplX2VsZW1lbnRfbWVz
aChtZXNoLmNvbm5lY3Rpdml0eV9jb29yZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbWVzaC5jb25uZWN0aXZpdHlfaW5kaWNlcywKCmRpZmYgLXIgNTYxMjQ2Yjhi
YWRhZGNiMDRjOTczMDY0MTNlMTllNGE4NTU1MjFiZiAtciA2MjZiNWRkMjc4NzVlYWE4MTc5MTlh
ZT0KMDNlOWJlOWZmN2VmZjY0NGMgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3Jl
bmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3Jl
bmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3Jl
bmRlcl9zb3VyY2UucHkKQEAgLTMxMSwxMiArMzExLDI2IEBACiAgICAgICAgIG9mZnNldCA9M0Qg
aW5kZXgubWVzaGVzW21lc2hfaWRdLl9pbmRleF9vZmZzZXQKICAgICAgICAgZmllbGRfZGF0YSA9
M0Qgc2VsZi5kYXRhX3NvdXJjZVtzZWxmLmZpZWxkXS5kICAjIHN0cmlwIHVuaXRzCj0yMAorICAg
ICAgICB2ZXJ0aWNlcyA9M0QgaW5kZXgubWVzaGVzW21lc2hfaWRdLmNvbm5lY3Rpdml0eV9jb29y
ZHMKKyAgICAgICAgaW5kaWNlcyA9M0QgaW5kZXgubWVzaGVzW21lc2hfaWRdLmNvbm5lY3Rpdml0
eV9pbmRpY2VzIC0gb2Zmc2V0CisKICAgICAgICAgIyBpZiB0aGlzIGlzIGFuIGVsZW1lbnQgZmll
bGQsIHByb21vdGUgdG8gMkQgaGVyZQogICAgICAgICBpZiBsZW4oZmllbGRfZGF0YS5zaGFwZSkg
PTNEPTNEIDE6CiAgICAgICAgICAgICBmaWVsZF9kYXRhID0zRCBucC5leHBhbmRfZGltcyhmaWVs
ZF9kYXRhLCAxKQotCi0gICAgICAgIHZlcnRpY2VzID0zRCBpbmRleC5tZXNoZXNbbWVzaF9pZF0u
Y29ubmVjdGl2aXR5X2Nvb3JkcwotICAgICAgICBpbmRpY2VzID0zRCBpbmRleC5tZXNoZXNbbWVz
aF9pZF0uY29ubmVjdGl2aXR5X2luZGljZXMgLSBvZmZzZXQKKyAgICAgICAgIyBpZiB0aGlzIGlz
IGEgaGlnaGVyLW9yZGVyIGVsZW1lbnQsIHdlIGRlbW90ZSB0byAxc3Qgb3JkZXIKKyAgICAgICAg
IyBoZXJlLCBmb3Igbm93LgorICAgICAgICBlbGlmIGZpZWxkX2RhdGEuc2hhcGVbMV0gPTNEPTNE
IDI3IG9yIGZpZWxkX2RhdGEuc2hhcGVbMV0gPTNEPTNEIDI9CjA6CisgICAgICAgICAgICAjIGhl
eGFoZWRyYWwKKyAgICAgICAgICAgIG15bG9nLndhcm5pbmcoIkhpZ2ggb3JkZXIgZWxlbWVudHMg
bm90IHlldCBzdXBwb3J0ZWQsICIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAiZHJvcHBp
bmcgdG8gMXN0IG9yZGVyLiIpCisgICAgICAgICAgICBmaWVsZF9kYXRhID0zRCBmaWVsZF9kYXRh
WzosIDA6OF0KKyAgICAgICAgICAgIGluZGljZXMgPTNEIGluZGljZXNbOiwgMDo4XQorICAgICAg
ICBlbGlmIGZpZWxkX2RhdGEuc2hhcGVbMV0gPTNEPTNEIDEwOgorICAgICAgICAgICAgIyB0ZXRy
YWhlZHJhbAorICAgICAgICAgICAgbXlsb2cud2FybmluZygiSGlnaCBvcmRlciBlbGVtZW50cyBu
b3QgeWV0IHN1cHBvcnRlZCwgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICJkcm9wcGlu
ZyB0byAxc3Qgb3JkZXIuIikKKyAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIGZpZWxkX2RhdGFb
OiwwOjRdCisgICAgICAgICAgICBpbmRpY2VzID0zRCBpbmRpY2VzWzosIDA6NF0KPTIwCiAgICAg
ICAgIHNlbGYubWVzaCA9M0QgbWVzaF9jb25zdHJ1Y3Rpb24uRWxlbWVudE1lc2goc2VsZi5zY2Vu
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy
dGljZXMsCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNjVm
YzAzZWMwNDQwLwpDaGFuZ2VzZXQ6ICAgNjVmYzAzZWMwNDQwCkJyYW5jaDogICAgICB5dApVc2Vy
OiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yNiAyMTo1OTozNSswMDowMApT
dW1tYXJ5OiAgICAgYWRkaW5nIGEgY29uZmlnLmFkZF9zdWJwYWNrYWdlIGVudHJ5IGZvciB0aGUg
ZXhvZHVzX2lpIGZyb250ZW5kCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgNjI2YjVkZDI3
ODc1ZWFhODE3OTE5YWUwM2U5YmU5ZmY3ZWZmNjQ0YyAtciA2NWZjMDNlYzA0NDA3NTNjNWYyMjQy
OT0KN2NjMTAzZjQyYjA4NjIzYzAgeXQvZnJvbnRlbmRzL3NldHVwLnB5Ci0tLSBhL3l0L2Zyb250
ZW5kcy9zZXR1cC5weQorKysgYi95dC9mcm9udGVuZHMvc2V0dXAucHkKQEAgLTEyLDYgKzEyLDcg
QEAKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImF0aGVuYSIpCiAgICAgY29uZmlnLmFkZF9z
dWJwYWNrYWdlKCJib3hsaWIiKQogICAgIGNvbmZpZy5hZGRfc3VicGFja2FnZSgiY2hvbWJvIikK
KyAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImV4b2R1c19paSIpCiAgICAgY29uZmlnLmFkZF9z
dWJwYWNrYWdlKCJlYWdsZSIpCiAgICAgY29uZmlnLmFkZF9zdWJwYWNrYWdlKCJlbnpvIikKICAg
ICBjb25maWcuYWRkX3N1YnBhY2thZ2UoImZpdHMiKQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95
dF9hbmFseXNpcy95dC9jb21taXRzL2I0NTU3NmE3NmE2ZS8KQ2hhbmdlc2V0OiAgIGI0NTU3NmE3
NmE2ZQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIw
MTUtMDgtMjYgMjM6MTM6MjErMDA6MDAKU3VtbWFyeTogICAgIG1ha2UgdGhlIGZ1bmN0aW9uIHNp
Z25hdHVyZSBmb3IgbWVzaF9zb3VyY2UgcmVuZGVyIHRoZSBzYW1lIGFzPQogdGhlIG90aGVyIHNv
dXJjZXMKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciA2NWZjMDNlYzA0NDA3NTNjNWYyMjQy
OTdjYzEwM2Y0MmIwODYyM2MwIC1yIGI0NTU3NmE3NmE2ZTAwYjJkNjFhMzQ5PQoyMWM0NmQ1ZWM5
ZDI5ZDM4NCB5dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5w
eQotLS0gYS95dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5w
eQorKysgYi95dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5w
eQpAQCAtMzM3LDcgKzMzNyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluZGljZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZpZWxkX2RhdGEpCj0yMAotICAgIGRlZiByZW5kZXIoc2VsZiwg
Y2FtZXJhKToKKyAgICBkZWYgcmVuZGVyKHNlbGYsIGNhbWVyYSwgemJ1ZmZlcj0zRE5vbmUpOgo9
MjAKICAgICAgICAgc2VsZi5zYW1wbGVyID0zRCBuZXdfbWVzaF9zYW1wbGVyKGNhbWVyYSwgc2Vs
ZikKPTIwCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZjgz
N2QzOTc1ZDg4LwpDaGFuZ2VzZXQ6ICAgZjgzN2QzOTc1ZDg4CkJyYW5jaDogICAgICB5dApVc2Vy
OiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yNyAxNzoyODowNyswMDowMApT
dW1tYXJ5OiAgICAgbWVyZ2luZwpBZmZlY3RlZCAjOiAgNyBmaWxlcwoKZGlmZiAtciBiNDU1NzZh
NzZhNmUwMGIyZDYxYTM0OTIxYzQ2ZDVlYzlkMjlkMzg0IC1yIGY4MzdkMzk3NWQ4ODg4YjM4YzIw
MTE0PQo2MzQ0MzY4ZmZkNDBhOGQ4NyBkb2Mvc291cmNlL2V4YW1pbmluZy9sb2FkaW5nX2RhdGEu
cnN0Ci0tLSBhL2RvYy9zb3VyY2UvZXhhbWluaW5nL2xvYWRpbmdfZGF0YS5yc3QKKysrIGIvZG9j
L3NvdXJjZS9leGFtaW5pbmcvbG9hZGluZ19kYXRhLnJzdApAQCAtMTA1OSw3ICsxMDU5LDcgQEAK
ICAgIGltcG9ydCBudW1weQogICAgZnJvbSB5dC51dGlsaXRpZXMuZXhvZHVzSUlfcmVhZGVyIGlt
cG9ydCBnZXRfZGF0YQo9MjAKLSAgIGNvb3JkcywgY29ubmVjdGl2aXR5LCBkYXRhID0zRCBnZXRf
ZGF0YSgiZGF0YS9vdXQuZS1zMDEwIikKKyAgIGNvb3JkcywgY29ubmVjdGl2aXR5LCBkYXRhID0z
RCBnZXRfZGF0YSgiTU9PU0Vfc2FtcGxlX2RhdGEvb3V0LmUtczAxMCIpCj0yMAogVGhpcyB1c2Vz
IGEgcHVibGljYWxseSBhdmFpbGFibGUgYE1PT1NFIDxodHRwOi8vbW9vc2VmcmFtZXdvcmsub3Jn
Lz5gPTIwCiBkYXRhc2V0IGFsb25nIHdpdGggdGhlIGdldF9kYXRhIGZ1bmN0aW9uIHRvIHBhcnNl
IHRoZSBjb29yZHMsIGNvbm5lY3Rpdml0eT0KLD0yMAoKZGlmZiAtciBiNDU1NzZhNzZhNmUwMGIy
ZDYxYTM0OTIxYzQ2ZDVlYzlkMjlkMzg0IC1yIGY4MzdkMzk3NWQ4ODg4YjM4YzIwMTE0PQo2MzQ0
MzY4ZmZkNDBhOGQ4NyBkb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3Vuc3RydWN0dXJlZF9tZXNoX3Jl
bmRlcmluZy5yc3QKLS0tIGEvZG9jL3NvdXJjZS92aXN1YWxpemluZy91bnN0cnVjdHVyZWRfbWVz
aF9yZW5kZXJpbmcucnN0CisrKyBiL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvdW5zdHJ1Y3R1cmVk
X21lc2hfcmVuZGVyaW5nLnJzdApAQCAtMzgsNyArMzgsNyBAQAo9MjAKIC4uIGNvZGUtYmxvY2s6
OiBiYXNoCj0yMAotICAgIENGTEFHUz0zRCctSS9vcHQvbG9jYWwvaW5jbHVkZScgTERGTEFHUz0z
RCctTC9vcHQvbG9jYWwvbGliJyBweXRob24gc2U9CnR1cC5weSBpbnN0YWxsCisgICAgQ0ZMQUdT
PTNEJy1JL29wdC9sb2NhbC9pbmNsdWRlJyBMREZMQUdTPTNEJy1ML29wdC9sb2NhbC9saWInIHB5
dGhvbiBzZT0KdHVwLnB5IGRldmVsb3AKPTIwCiBZb3UgbXVzdCBhbHNvIHVzZSB0aGVzZSBmbGFn
cyB3aGVuIGJ1aWxkaW5nIGFueSBwYXJ0IG9mIHl0IHRoYXQgbGlua3MgYWdhaT0KbnN0CiBweWVt
YnJlZS4KQEAgLTYwLDYgKzYwLDcgQEAKIFNlZSBiZWxvdyBmb3IgZXhhbXBsZXMuIEZpcnN0LCBo
ZXJlIGlzIGFuIGV4YW1wbGUgb2YgcmVuZGVyaW5nIGEgaGV4YWhlZHJhPQpsIG1lc2guCj0yMAog
Li4gcHl0aG9uLXNjcmlwdDo6CisKICAgIGltcG9ydCB5dAogICAgaW1wb3J0IHB5bGFiIGFzIHBs
dAogICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJj
ZSBpbXBvcnQgTWVzaFNvdXJjZQpAQCAtNjcsNyArNjgsNyBAQAogICAgZnJvbSB5dC51dGlsaXRp
ZXMuZXhvZHVzSUlfcmVhZGVyIGltcG9ydCBnZXRfZGF0YQo9MjAKICAgICMgbG9hZCB0aGUgZGF0
YQotICAgY29vcmRzLCBjb25uZWN0aXZpdHksIGRhdGEgPTNEIGdldF9kYXRhKCJkYXRhL291dC5l
LXMwMTAiKQorICAgY29vcmRzLCBjb25uZWN0aXZpdHksIGRhdGEgPTNEIGdldF9kYXRhKCJNT09T
RV9zYW1wbGVfZGF0YS9vdXQuZS1zMDEwIikKICAgIG1lc2hfaWQgPTNEIDAKICAgIGZpZWxkX25h
bWUgPTNEICgnZ2FzJywgJ2RpZmZ1c2VkJykKICAgIGRzID0zRCB5dC5sb2FkX3Vuc3RydWN0dXJl
ZF9tZXNoKGRhdGFbbWVzaF9pZF0sIGNvbm5lY3Rpdml0eVttZXNoX2lkXSwgPQpjb29yZHNbbWVz
aF9pZF0pCkBAIC05Niw2ICs5Nyw3IEBACiBOZXh0LCBoZXJlIGlzIGFuIGV4YW1wbGUgb2YgcmVu
ZGVyaW5nIGEgZGF0YXNldCB3aXRoIHRldHJhaGVkcmFsIG1lc2ggZWxlbT0KZW50cy4KPTIwCiAu
LiBweXRob24tc2NyaXB0OjoKKwogICAgaW1wb3J0IHl0CiAgICBpbXBvcnQgcHlsYWIgYXMgcGx0
CiAgICBmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5yZW5kZXJfc291cmNl
IGltcG9ydCBNZXNoU291cmNlCkBAIC0xMDMsNyArMTA1LDcgQEAKICAgIGZyb20geXQudXRpbGl0
aWVzLmV4b2R1c0lJX3JlYWRlciBpbXBvcnQgZ2V0X2RhdGEKPTIwCiAgICAjIGxvYWQgdGhlIGRh
dGEKLSAgIGZpbGVuYW1lID0zRCAiLi4vbW9vc2UvdGVzdC90ZXN0cy9tZXNoL2hpZ2hfb3JkZXJf
ZWxlbXMvZ29sZC9oaWdoX29yZGVyPQpfZWxlbXNfdGV0NF9yZWZpbmVfb3V0LmUiCisgICBmaWxl
bmFtZSA9M0QgIk1PT1NFX3NhbXBsZV9kYXRhL2hpZ2hfb3JkZXJfZWxlbXNfdGV0NF9yZWZpbmVf
b3V0LmUiCiAgICBjb29yZHMsIGNvbm5lY3Rpdml0eSwgZGF0YSA9M0QgZ2V0X2RhdGEoZmlsZW5h
bWUpCiAgICBtZXNoX2lkID0zRCAwCiAgICBmaWVsZF9uYW1lID0zRCAoJ2dhcycsICd1JykKQEAg
LTEzNSw2ICsxMzcsNyBAQAogbWV0aG9kIDMwMCB0aW1lcywgc2F2aW5nIGEgbmV3IGltYWdlIHRv
IHRoZSBkaXNrIGVhY2ggdGltZS4KPTIwCiAuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisKICAgIGlt
cG9ydCB5dAogICAgaW1wb3J0IHB5bGFiIGFzIHBsdAogICAgZnJvbSB5dC52aXN1YWxpemF0aW9u
LnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNvdXJjZQpAQCAtMTQy
LDcgKzE0NSw3IEBACiAgICBmcm9tIHl0LnV0aWxpdGllcy5leG9kdXNJSV9yZWFkZXIgaW1wb3J0
IGdldF9kYXRhCj0yMAogICAgIyBsb2FkIGRhdGFzZXQKLSAgIGNvb3JkcywgY29ubmVjdGl2aXR5
LCBkYXRhID0zRCBnZXRfZGF0YSgiZGF0YS9vdXQuZS1zMDEwIikKKyAgIGNvb3JkcywgY29ubmVj
dGl2aXR5LCBkYXRhID0zRCBnZXRfZGF0YSgiTU9PU0Vfc2FtcGxlX2RhdGEvb3V0LmUtczAxMCIp
CiAgICBtZXNoX2lkID0zRCAwCiAgICBmaWVsZF9uYW1lID0zRCAoJ2dhcycsICdkaWZmdXNlZCcp
CiAgICBkcyA9M0QgeXQubG9hZF91bnN0cnVjdHVyZWRfbWVzaChkYXRhW21lc2hfaWRdLCBjb25u
ZWN0aXZpdHlbbWVzaF9pZF0sID0KY29vcmRzW21lc2hfaWRdKQoKZGlmZiAtciBiNDU1NzZhNzZh
NmUwMGIyZDYxYTM0OTIxYzQ2ZDVlYzlkMjlkMzg0IC1yIGY4MzdkMzk3NWQ4ODg4YjM4YzIwMTE0
PQo2MzQ0MzY4ZmZkNDBhOGQ4NyB5dC91dGlsaXRpZXMvZXhvZHVzSUlfcmVhZGVyLnB5Ci0tLSBh
L3l0L3V0aWxpdGllcy9leG9kdXNJSV9yZWFkZXIucHkKKysrIGIveXQvdXRpbGl0aWVzL2V4b2R1
c0lJX3JlYWRlci5weQpAQCAtMiw2ICsyLDggQEAKIGZyb20gaXRlcnRvb2xzIGltcG9ydCB0YWtl
d2hpbGUKIGZyb20gbmV0Q0RGNCBpbXBvcnQgRGF0YXNldAogaW1wb3J0IG51bXB5IGFzIG5wCitm
cm9tIHl0LmNvbmZpZyBpbXBvcnQgeXRjZmcKK2ltcG9ydCBvcwo9MjAKPTIwCiBkZWYgc2FuaXRp
emVfc3RyaW5nKHMpOgpAQCAtMTAsNyArMTIsMTAgQEAKPTIwCj0yMAogZGVmIGdldF9kYXRhKGZu
KToKLSAgICBmID0zRCBEYXRhc2V0KGZuKQorICAgIHRyeToKKyAgICAgICAgZiA9M0QgRGF0YXNl
dChmbikKKyAgICBleGNlcHQgUnVudGltZUVycm9yOgorICAgICAgICBmID0zRCBEYXRhc2V0KG9z
LnBhdGguam9pbih5dGNmZy5nZXQoInl0IiwgInRlc3RfZGF0YV9kaXIiKSwgZm4pKQogICAgIGZ2
YXJzID0zRCBmLnZhcmlhYmxlcwogICAgICMgSXMgdGhpcyBjb3JyZWN0PwogICAgIGV0eXBlcyA9
M0QgZnZhcnNbImViX3N0YXR1cyJdWzpdCgpkaWZmIC1yIGI0NTU3NmE3NmE2ZTAwYjJkNjFhMzQ5
MjFjNDZkNWVjOWQyOWQzODQgLXIgZjgzN2QzOTc1ZDg4ODhiMzhjMjAxMTQ9CjYzNDQzNjhmZmQ0
MGE4ZDg3IHl0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eAotLS0gYS95
dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKKysrIGIveXQvdXRpbGl0
aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4CkBAIC00MzksOCArNDM5LDggQEAKICAg
ICAjIFR3byBzdGVwczoKICAgICAjICAxLiBJcyBpbWFnZSBwb2ludCB3aXRoaW4gdGhlIG1lc2gg
Ym91bmRpbmcgYm94PwogICAgICMgIDIuIElzIGltYWdlIHBvaW50IHdpdGhpbiB0aGUgbWVzaCBl
bGVtZW50PwotICAgICMgU2Vjb25kIGlzIG1vcmUgaW50ZW5zaXZlLiAgSXQgd2lsbCBjb252ZXJ0
aW5nIHRoZSBlbGVtZW50IHZlcnRpY2VzIHQ9Cm8gdGhlCi0gICAgIyBtYXBwZWQgY29vcmRpbmF0
ZSBzeXN0ZW0sIGFuZCBjaGVja2luZyB3aGV0aGVyIHRoZSByZXN1bHQgaXMgaW4tYm91bj0KZHMg
b3Igbm90CisgICAgIyBTZWNvbmQgaXMgbW9yZSBpbnRlbnNpdmUuICBJdCB3aWxsIGNvbnZlcnQg
dGhlIGVsZW1lbnQgdmVydGljZXMgdG8gdD0KaGUKKyAgICAjIG1hcHBlZCBjb29yZGluYXRlIHN5
c3RlbSwgYW5kIGNoZWNraW5nIHdoZXRoZXIgdGhlIHJlc3VsdCBpbiBpbi1ib3VuPQpkcyBvciBu
b3QKICAgICAjIE5vdGUgdGhhdCB3ZSBoYXZlIHRvIGhhdmUgYSBwc2V1ZG8tM0QgcGl4ZWwgYnVm
ZmVyLiAgT25lIGRpbWVuc2lvbiB3PQppbGwKICAgICAjIGFsd2F5cyBiZSAxLgogICAgIGNkZWYg
bnAuZmxvYXQ2NF90IHBMRVszXSwgcFJFWzNdCgpkaWZmIC1yIGI0NTU3NmE3NmE2ZTAwYjJkNjFh
MzQ5MjFjNDZkNWVjOWQyOWQzODQgLXIgZjgzN2QzOTc1ZDg4ODhiMzhjMjAxMTQ9CjYzNDQzNjhm
ZmQ0MGE4ZDg3IHl0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9yZW5kZXJfc291cmNl
LnB5Ci0tLSBhL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9yZW5kZXJfc291cmNl
LnB5CisrKyBiL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9yZW5kZXJfc291cmNl
LnB5CkBAIC0yNTksNiArMjU5LDcgQEAKICAgICBpbnN0YWxsZWQgaW4gb3JkZXIgdG8gZnVuY3Rp
b24uCj0yMAogICAgICIiIgorCiAgICAgX2ltYWdlID0zRCBOb25lCiAgICAgZGF0YV9zb3VyY2Ug
PTNEIE5vbmUKPTIwCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvMDBiMzQ5NDZhMDMzLwpDaGFuZ2VzZXQ6ICAgMDBiMzQ5NDZhMDMzCkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0yNyAxODo0MDo0Nysw
MDowMApTdW1tYXJ5OiAgICAgZml4aW5nIGFuIGlzc3VlIHdpdGggdGhlIHBhcnRpY2xlX2RlcG9z
aXRpb24gYnVpbGQKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBmODM3ZDM5NzVkODg4OGIz
OGMyMDExNDYzNDQzNjhmZmQ0MGE4ZDg3IC1yIDAwYjM0OTQ2YTAzMzVmYmIxY2MxZTBmPQplZWRl
NDFkNjk2Y2IxODAyZiB5dC9mcm9udGVuZHMvYXJ0aW8vc2V0dXAucHkKLS0tIGEveXQvZnJvbnRl
bmRzL2FydGlvL3NldHVwLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9hcnRpby9zZXR1cC5weQpAQCAt
MTksNyArMTksOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZHM9M0RhcnRpb19z
b3VyY2VzICs9MjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsieXQvdXRpbGl0
aWVzL2xpYi9mcF91dGlscy5weGQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ5dC9nZW9tZXRyeS9vY3RfY29udGFpbmVyLnB4ZCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInl0L2dlb21ldHJ5L3NlbGVjdGlvbl9yb3V0aW5lcy5weGQiXSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieXQvZ2VvbWV0cnkvc2VsZWN0aW9uX3JvdXRp
bmVzLnB4ZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInl0L2dlb21ldHJ5
L3BhcnRpY2xlX2RlcG9zaXQucHhkIl0pCiAgICAgY29uZmlnLm1ha2VfY29uZmlnX3B5KCkgICMg
aW5zdGFsbHMgX19jb25maWdfXy5weQogICAgICNjb25maWcubWFrZV9zdm5fdmVyc2lvbl9weSgp
CiAgICAgcmV0dXJuIGNvbmZpZwoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95
dC9jb21taXRzLzhlZDk2YWFmMDQ5NS8KQ2hhbmdlc2V0OiAgIDhlZDk2YWFmMDQ5NQpCcmFuY2g6
ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDgtMjcgMjA6
NTE6MDIrMDA6MDAKU3VtbWFyeTogICAgIHNvbHZpbmcgc29tZSBwYWNrYWdlcyBpc3N1ZXMgd2l0
aCB0aGUgc2FtcGxlIGRhdGEgbW9kdWxlLCBhbHNvPQogcmVtb3ZpbmcgdGhlIG9uZSBpbiB0aGUg
cm9vdCBkaXJlY3RvcnkgaW4gbGlldSBvZiB0aGUgb25lIGluIHRoZSBzdHJlYW0gZnI9Cm9udGVu
ZApBZmZlY3RlZCAjOiAgNSBmaWxlcwoKZGlmZiAtciAwMGIzNDk0NmEwMzM1ZmJiMWNjMWUwZmVl
ZGU0MWQ2OTZjYjE4MDJmIC1yIDhlZDk2YWFmMDQ5NTRkOThiZGUyNDIwPQpiZGUwMjJlYzM4MTA4
MzIzYSB5dC9mcm9udGVuZHMvc2V0dXAucHkKLS0tIGEveXQvZnJvbnRlbmRzL3NldHVwLnB5Cisr
KyBiL3l0L2Zyb250ZW5kcy9zZXR1cC5weQpAQCAtNDgsNSArNDgsNiBAQAogICAgIGNvbmZpZy5h
ZGRfc3VicGFja2FnZSgicmFtc2VzL3Rlc3RzIikKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2Uo
InJvY2tzdGFyL3Rlc3RzIikKICAgICBjb25maWcuYWRkX3N1YnBhY2thZ2UoInN0cmVhbS90ZXN0
cyIpCisgICAgY29uZmlnLmFkZF9zdWJwYWNrYWdlKCJzdHJlYW0vc2FtcGxlX2RhdGEiKQogICAg
IGNvbmZpZy5hZGRfc3VicGFja2FnZSgidGlwc3kvdGVzdHMiKQogICAgIHJldHVybiBjb25maWcK
CmRpZmYgLXIgMDBiMzQ5NDZhMDMzNWZiYjFjYzFlMGZlZWRlNDFkNjk2Y2IxODAyZiAtciA4ZWQ5
NmFhZjA0OTU0ZDk4YmRlMjQyMD0KYmRlMDIyZWMzODEwODMyM2EgeXQvZnJvbnRlbmRzL3N0cmVh
bS9hcGkucHkKLS0tIGEveXQvZnJvbnRlbmRzL3N0cmVhbS9hcGkucHkKKysrIGIveXQvZnJvbnRl
bmRzL3N0cmVhbS9hcGkucHkKQEAgLTM0LDMgKzM0LDUgQEAKICAgICAgIElPSGFuZGxlclN0cmVh
bQo9MjAKIGZyb20gLiBpbXBvcnQgdGVzdHMKKworZnJvbSAuIGltcG9ydCBzYW1wbGVfZGF0YQoK
ZGlmZiAtciAwMGIzNDk0NmEwMzM1ZmJiMWNjMWUwZmVlZGU0MWQ2OTZjYjE4MDJmIC1yIDhlZDk2
YWFmMDQ5NTRkOThiZGUyNDIwPQpiZGUwMjJlYzM4MTA4MzIzYSB5dC9zYW1wbGVfZGF0YS9zYW1w
bGVfYW1yX2luZGV4LnB5Ci0tLSBhL3l0L3NhbXBsZV9kYXRhL3NhbXBsZV9hbXJfaW5kZXgucHkK
KysrIC9kZXYvbnVsbApAQCAtMSwyMDUgKzAsMCBAQAotIyBUaGlzIGlzIGFuIGV4cG9ydCBvZiB0
aGUgNDAgZ3JpZHMgaW4gSXNvbGF0ZWRHYWxheHkgdGhhdCBhcmUgb2YgbGV2ZWwgNCA9Cm9yCi0j
IGxvd2VyLiAgSXQncyBqdXN0IGRlc2lnbmVkIHRvIGdpdmUgYSBzYW1wbGUgQU1SIGluZGV4IHRv
IGRlYWwgd2l0aC4KLV9hbXJfZ3JpZF9pbmRleCA9M0QgWwotIFsgMCwKLSAgWzAuMCwwLjAsMC4w
XSwKLSAgWzEuMCwxLjAsMS4wXSwKLSAgWzMyLDMyLDMyXSwKLSBdLAotIFsgMSwKLSAgWzAuMjUs
MC4yMTg3NSwwLjI1XSwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzE2LDE4LDE2XSwKLSBdLAotIFsg
MSwKLSAgWzAuNSwwLjIxODc1LDAuMjVdLAotICBbMC43NSwwLjUsMC41XSwKLSAgWzE2LDE4LDE2
XSwKLSBdLAotIFsgMSwKLSAgWzAuMjE4NzUsMC41LDAuMjVdLAotICBbMC41LDAuNzUsMC41XSwK
LSAgWzE4LDE2LDE2XSwKLSBdLAotIFsgMSwKLSAgWzAuNSwwLjUsMC4yNV0sCi0gIFswLjc1LDAu
NzUsMC41XSwKLSAgWzE2LDE2LDE2XSwKLSBdLAotIFsgMSwKLSAgWzAuMjUsMC4yNSwwLjVdLAot
ICBbMC41LDAuNSwwLjc1XSwKLSAgWzE2LDE2LDE2XSwKLSBdLAotIFsgMSwKLSAgWzAuNSwwLjI1
LDAuNV0sCi0gIFswLjc1LDAuNSwwLjc1XSwKLSAgWzE2LDE2LDE2XSwKLSBdLAotIFsgMSwKLSAg
WzAuMjUsMC41LDAuNV0sCi0gIFswLjUsMC43NSwwLjc1XSwKLSAgWzE2LDE2LDE2XSwKLSBdLAot
IFsgMSwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzAuNzUsMC43NSwwLjc1XSwKLSAgWzE2LDE2LDE2
XSwKLSBdLAotIFsgMiwKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzAuNzE4NzUsMC43MTg3NSwwLjcx
ODc1XSwKLSAgWzI4LDI4LDI4XSwKLSBdLAotIFsgMywKLSAgWzAuNSwwLjUsMC41XSwKLSAgWzAu
NjY0MDYyNSwwLjY1NjI1LDAuNjc5Njg3NV0sCi0gIFs0Miw0MCw0Nl0sCi0gXSwKLSBbIDQsCi0g
IFswLjUsMC41LDAuNV0sCi0gIFswLjU5NzY1NjI1LDAuNjAxNTYyNSwwLjYwMTU2MjVdLAotICBb
NTAsNTIsNTJdLAotIF0sCi0gWyAyLAotICBbMC4yODEyNSwwLjUsMC41XSwKLSAgWzAuNSwwLjcz
NDM3NSwwLjcxODc1XSwKLSAgWzI4LDMwLDI4XSwKLSBdLAotIFsgMywKLSAgWzAuMzM1OTM3NSww
LjUsMC41XSwKLSAgWzAuNSwwLjY3MTg3NSwwLjY2NDA2MjVdLAotICBbNDIsNDQsNDJdLAotIF0s
Ci0gWyA0LAotICBbMC40MDYyNSwwLjUsMC41XSwKLSAgWzAuNSwwLjU5NzY1NjI1LDAuNTk3NjU2
MjVdLAotICBbNDgsNTAsNTBdLAotIF0sCi0gWyAyLAotICBbMC41LDAuMjgxMjUsMC41XSwKLSAg
WzAuNzE4NzUsMC41LDAuNzE4NzVdLAotICBbMjgsMjgsMjhdLAotIF0sCi0gWyAzLAotICBbMC41
LDAuMzM1OTM3NSwwLjVdLAotICBbMC42NzE4NzUsMC41LDAuNjY0MDYyNV0sCi0gIFs0NCw0Miw0
Ml0sCi0gXSwKLSBbIDQsCi0gIFswLjUsMC40MDYyNSwwLjVdLAotICBbMC42MDE1NjI1LDAuNSww
LjU5NzY1NjI1XSwKLSAgWzUyLDQ4LDUwXSwKLSBdLAotIFsgMiwKLSAgWzAuMjgxMjUsMC4yODEy
NSwwLjVdLAotICBbMC41LDAuNSwwLjcxODc1XSwKLSAgWzI4LDI4LDI4XSwKLSBdLAotIFsgMywK
LSAgWzAuMzM1OTM3NSwwLjMzNTkzNzUsMC41XSwKLSAgWzAuNSwwLjUsMC42NzE4NzVdLAotICBb
NDIsNDIsNDRdLAotIF0sCi0gWyA0LAotICBbMC40NjQ4NDM3NSwwLjM3ODkwNjI1LDAuNTAzOTA2
MjVdLAotICBbMC40NzY1NjI1LDAuMzkwNjI1LDAuNTE1NjI1XSwKLSAgWzYsNiw2XSwKLSBdLAot
IFsgNCwKLSAgWzAuNDA2MjUsMC40MDYyNSwwLjVdLAotICBbMC41LDAuNSwwLjU5NzY1NjI1XSwK
LSAgWzQ4LDQ4LDUwXSwKLSBdLAotIFsgMiwKLSAgWzAuNSwwLjUsMC4yODEyNV0sCi0gIFswLjcx
ODc1LDAuNzE4NzUsMC41XSwKLSAgWzI4LDI4LDI4XSwKLSBdLAotIFsgMywKLSAgWzAuNSwwLjUs
MC4zMzU5Mzc1XSwKLSAgWzAuNjc5Njg3NSwwLjY5NTMxMjUsMC41XSwKLSAgWzQ2LDUwLDQyXSwK
LSBdLAotIFsgNCwKLSAgWzAuNSwwLjUsMC40MDIzNDM3NV0sCi0gIFswLjU5Mzc1LDAuNjAxNTYy
NSwwLjVdLAotICBbNDgsNTIsNTBdLAotIF0sCi0gWyAyLAotICBbMC4yNjU2MjUsMC41LDAuMjgx
MjVdLAotICBbMC41LDAuNzE4NzUsMC41XSwKLSAgWzMwLDI4LDI4XSwKLSBdLAotIFsgMywKLSAg
WzAuMzM1OTM3NSwwLjUsMC4zMjgxMjVdLAotICBbMC41LDAuNjU2MjUsMC41XSwKLSAgWzQyLDQw
LDQ0XSwKLSBdLAotIFsgNCwKLSAgWzAuNDAyMzQzNzUsMC41LDAuNDA2MjVdLAotICBbMC41LDAu
NjA1NDY4NzUsMC41XSwKLSAgWzUwLDU0LDQ4XSwKLSBdLAotIFsgMiwKLSAgWzAuNSwwLjI2NTYy
NSwwLjI4MTI1XSwKLSAgWzAuNzE4NzUsMC41LDAuNV0sCi0gIFsyOCwzMCwyOF0sCi0gXSwKLSBb
IDMsCi0gIFswLjUsMC4zMjAzMTI1LDAuMzI4MTI1XSwKLSAgWzAuNjY0MDYyNSwwLjUsMC41XSwK
LSAgWzQyLDQ2LDQ0XSwKLSBdLAotIFsgNCwKLSAgWzAuNSwwLjM5ODQzNzUsMC40MDYyNV0sCi0g
IFswLjU0Njg3NSwwLjUsMC41XSwKLSAgWzI0LDUyLDQ4XSwKLSBdLAotIFsgNCwKLSAgWzAuNTQ2
ODc1LDAuNDE3OTY4NzUsMC40NDUzMTI1XSwKLSAgWzAuNTYyNSwwLjQzNzUsMC41XSwKLSAgWzgs
MTAsMjhdLAotIF0sCi0gWyA0LAotICBbMC41NDY4NzUsMC40NTMxMjUsMC40MTc5Njg3NV0sCi0g
IFswLjU1NDY4NzUsMC40ODA0Njg3NSwwLjQzNzVdLAotICBbNCwxNCwxMF0sCi0gXSwKLSBbIDQs
Ci0gIFswLjU0Njg3NSwwLjQzNzUsMC40Mzc1XSwKLSAgWzAuNjA5Mzc1LDAuNSwwLjVdLAotICBb
MzIsMzIsMzJdLAotIF0sCi0gWyA0LAotICBbMC41NDY4NzUsMC40OTIxODc1LDAuNDE3OTY4NzVd
LAotICBbMC41NjY0MDYyNSwwLjUsMC40Mzc1XSwKLSAgWzEwLDQsMTBdLAotIF0sCi0gWyA0LAot
ICBbMC41NDY4NzUsMC40ODA0Njg3NSwwLjQxNzk2ODc1XSwKLSAgWzAuNTcwMzEyNSwwLjQ5MjE4
NzUsMC40Mzc1XSwKLSAgWzEyLDYsMTBdLAotIF0sCi0gWyA0LAotICBbMC41NTg1OTM3NSwwLjQ2
ODc1LDAuNDMzNTkzNzVdLAotICBbMC41NzAzMTI1LDAuNDgwNDY4NzUsMC40Mzc1XSwKLSAgWzYs
NiwyXSwKLSBdLAotIFsgMiwKLSAgWzAuMjY1NjI1LDAuMjgxMjUsMC4yODEyNV0sCi0gIFswLjUs
MC41LDAuNV0sCi0gIFszMCwyOCwyOF0sCi0gXSwKLSBbIDMsCi0gIFswLjMyODEyNSwwLjMzNTkz
NzUsMC4zMjgxMjVdLAotICBbMC41LDAuNSwwLjVdLAotICBbNDQsNDIsNDRdLAotIF0sCi0gWyA0
LAotICBbMC40MTQwNjI1LDAuNDA2MjUsMC40MDYyNV0sCi0gIFswLjUsMC41LDAuNV0sCi0gIFs0
NCw0OCw0OF0sCi0gXSwKLV0KLQoKVGhpcyBkaWZmIGlzIHNvIGJpZyB0aGF0IHdlIG5lZWRlZCB0
byB0cnVuY2F0ZSB0aGUgcmVtYWluZGVyLgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5
c2lzL3l0L2NvbW1pdHMvZTZiMTQ3NTEyN2NkLwpDaGFuZ2VzZXQ6ICAgZTZiMTQ3NTEyN2NkCkJy
YW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOC0y
OCAwODo0NDo1NCswMDowMApTdW1tYXJ5OiAgICAgdXNlIGZha2UgcmFuZG9tIGRzIGluc3RlYWQg
b2YgYSBzYW1wbGUgZGF0YXNldCBoZXJlCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgOGVk
OTZhYWYwNDk1NGQ5OGJkZTI0MjBiZGUwMjJlYzM4MTA4MzIzYSAtciBlNmIxNDc1MTI3Y2Q1MGNi
YWRmYjVlYz0KNzVjYmIyNzNmNGE2ZTdkMTUgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3Rlc3RzL3Rlc3RfbGVuc2VzLnB5Ci0tLSBhL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3Jl
bmRlcmluZy90ZXN0cy90ZXN0X2xlbnNlcy5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3ZvbHVt
ZV9yZW5kZXJpbmcvdGVzdHMvdGVzdF9sZW5zZXMucHkKQEAgLTE3LDkgKzE3LDEwIEBACj0yMAog
ZmllbGQgPTNEICgiZ2FzIiwgImRlbnNpdHkiKQo9MjAKKwogZGVmIHRlc3RfcGVyc3BlY3RpdmVf
bGVucygpOgotICAgICNkcyA9M0QgZmFrZV9yYW5kb21fZHMoMzIsIGZpZWxkcyA9M0QgZmllbGQp
Ci0gICAgZHMgPTNEIHl0LmxvYWQoIklzb2xhdGVkR2FsYXh5L2dhbGF4eTAwMzAvZ2FsYXh5MDAz
MCIpCisgICAgZHMgPTNEIGZha2VfcmFuZG9tX2RzKDMyLCBmaWVsZHMgPTNEIGZpZWxkKQorICAg
ICNkcyA9M0QgeXQubG9hZCgiSXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwIikK
ICAgICBzYyA9M0QgU2NlbmUoKQogICAgIGNhbSA9M0QgQ2FtZXJhKGRzLCBsZW5zX3R5cGU9M0Qn
cGVyc3BlY3RpdmUnKQogICAgIGNhbS5wb3NpdGlvbiA9M0QgZHMuYXJyKG5wLmFycmF5KFsxLjAs
IDEuMCwgMS4wXSksICdjb2RlX2xlbmd0aCcpCkBAIC0zMCw5ICszMSwxMCBAQAogICAgIHNjLmFk
ZF9zb3VyY2Uodm9sKQogICAgIHNjLnJlbmRlcigndGVzdF9wZXJzcGVjdGl2ZV8lcy5wbmcnICUg
ZmllbGRbMV0sIGNsaXBfcmF0aW89M0Q2LjApCj0yMAorCiBkZWYgdGVzdF9zdGVyZW9wZXJzcGVj
dGl2ZV9sZW5zKCk6Ci0gICAgI2RzID0zRCBmYWtlX3JhbmRvbV9kcygzMiwgZmllbGRzID0zRCBm
aWVsZCkKLSAgICBkcyA9M0QgeXQubG9hZCgiSXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxh
eHkwMDMwIikKKyAgICBkcyA9M0QgZmFrZV9yYW5kb21fZHMoMzIsIGZpZWxkcyA9M0QgZmllbGQp
CisgICAgI2RzID0zRCB5dC5sb2FkKCJJc29sYXRlZEdhbGF4eS9nYWxheHkwMDMwL2dhbGF4eTAw
MzAiKQogICAgIHNjID0zRCBTY2VuZSgpCiAgICAgY2FtID0zRCBDYW1lcmEoZHMsIGxlbnNfdHlw
ZT0zRCdzdGVyZW8tcGVyc3BlY3RpdmUnKQogICAgIGNhbS5yZXNvbHV0aW9uID0zRCBbMTAyNCwg
NTEyXQpAQCAtNDQsNiArNDYsNyBAQAogICAgIHNjLmFkZF9zb3VyY2Uodm9sKQogICAgIHNjLnJl
bmRlcigndGVzdF9zdGVyZW9wZXJzcGVjdGl2ZV8lcy5wbmcnICUgZmllbGRbMV0sIGNsaXBfcmF0
aW89M0Q2LjApCj0yMAorCiBkZWYgdGVzdF9maXNoZXllX2xlbnMoKToKICAgICBkcyA9M0QgZmFr
ZV9yYW5kb21fZHMoMzIsIGZpZWxkcyA9M0QgZmllbGQpCiAgICAgI2RzID0zRCB5dC5sb2FkKCJJ
c29sYXRlZEdhbGF4eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAiKQpAQCAtNjIsNiArNjUsNyBAQAog
ICAgIHNjLmFkZF9zb3VyY2Uodm9sKQogICAgIHNjLnJlbmRlcigndGVzdF9maXNoZXllXyVzLnBu
ZycgJSBmaWVsZFsxXSwgY2xpcF9yYXRpbz0zRDYuMCkKPTIwCisKIGRlZiB0ZXN0X3BsYW5lX2xl
bnMoKToKICAgICBkcyA9M0QgZmFrZV9yYW5kb21fZHMoMzIsIGZpZWxkcyA9M0QgZmllbGQpCiAg
ICAgI2RzID0zRCB5dC5sb2FkKCJJc29sYXRlZEdhbGF4eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAi
KQpAQCAtNzgsOSArODIsMTAgQEAKICAgICBzYy5hZGRfc291cmNlKHZvbCkKICAgICBzYy5yZW5k
ZXIoJ3Rlc3RfcGxhbmVfJXMucG5nJyAlIGZpZWxkWzFdLCBjbGlwX3JhdGlvPTNENi4wKQo9MjAK
KwogZGVmIHRlc3Rfc3BoZXJpY2FsX2xlbnMoKToKLSAgICAjZHMgPTNEIGZha2VfcmFuZG9tX2Rz
KDMyLCBmaWVsZHMgPTNEIGZpZWxkKQotICAgIGRzID0zRCB5dC5sb2FkKCJJc29sYXRlZEdhbGF4
eS9nYWxheHkwMDMwL2dhbGF4eTAwMzAiKQorICAgIGRzID0zRCBmYWtlX3JhbmRvbV9kcygzMiwg
ZmllbGRzID0zRCBmaWVsZCkKKyAgICAjZHMgPTNEIHl0LmxvYWQoIklzb2xhdGVkR2FsYXh5L2dh
bGF4eTAwMzAvZ2FsYXh5MDAzMCIpCiAgICAgc2MgPTNEIFNjZW5lKCkKICAgICBjYW0gPTNEIENh
bWVyYShkcywgbGVuc190eXBlPTNEJ3NwaGVyaWNhbCcpCiAgICAgY2FtLnJlc29sdXRpb24gPTNE
IFs1MTIsIDI1Nl0KQEAgLTkyLDkgKzk3LDEwIEBACiAgICAgc2MuYWRkX3NvdXJjZSh2b2wpCiAg
ICAgc2MucmVuZGVyKCd0ZXN0X3NwaGVyaWNhbF8lcy5wbmcnICUgZmllbGRbMV0sIGNsaXBfcmF0
aW89M0Q2LjApCj0yMAorCiBkZWYgdGVzdF9zdGVyZW9zcGhlcmljYWxfbGVucygpOgotICAgICNk
cyA9M0QgZmFrZV9yYW5kb21fZHMoMzIsIGZpZWxkcyA9M0QgZmllbGQpCi0gICAgZHMgPTNEIHl0
LmxvYWQoIklzb2xhdGVkR2FsYXh5L2dhbGF4eTAwMzAvZ2FsYXh5MDAzMCIpCisgICAgZHMgPTNE
IGZha2VfcmFuZG9tX2RzKDMyLCBmaWVsZHMgPTNEIGZpZWxkKQorICAgICNkcyA9M0QgeXQubG9h
ZCgiSXNvbGF0ZWRHYWxheHkvZ2FsYXh5MDAzMC9nYWxheHkwMDMwIikKICAgICB3ID0zRCAoZHMu
ZG9tYWluX3dpZHRoKS5pbl91bml0cygnY29kZV9sZW5ndGgnKQogICAgIHcgPTNEIGRzLmFycih3
LCAnY29kZV9sZW5ndGgnKQogICAgIHNjID0zRCBTY2VuZSgpCgoKaHR0cHM6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZWRkYWRiNGVhMzJjLwpDaGFuZ2VzZXQ6ICAgZWRk
YWRiNGVhMzJjCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAg
ICAgMjAxNS0wOC0yOCAwODo0NTo0OCswMDowMApTdW1tYXJ5OiAgICAgbWFrZSBzdXJlIHRvIGNs
b3NlIHdpdGggYWZ0ZXIgdGhlIGlzX3ZhbGlkIGNoZWNrIChleG9kdXNfaWkgZnI9Cm9udGVuZApB
ZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGU2YjE0NzUxMjdjZDUwY2JhZGZiNWVjNzVjYmIy
NzNmNGE2ZTdkMTUgLXIgZWRkYWRiNGVhMzJjMjU5ZTQ1NjJkNzQ9CmI2ZmFhZTkwOWYzZTM1M2Rh
IHl0L2Zyb250ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5Ci0tLSBhL3l0L2Zyb250
ZW5kcy9leG9kdXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CisrKyBiL3l0L2Zyb250ZW5kcy9leG9k
dXNfaWkvZGF0YV9zdHJ1Y3R1cmVzLnB5CkBAIC0yNDcsOSArMjQ3LDEwIEBACiAgICAgQGNsYXNz
bWV0aG9kCiAgICAgZGVmIF9pc192YWxpZChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAg
ICB0cnk6CisgICAgICAgICAgICBmcm9tIG5ldENERjQgaW1wb3J0IERhdGFzZXQKICAgICAgICAg
ICAgIGZpbGVuYW1lID0zRCBhcmdzWzBdCi0gICAgICAgICAgICBmaGFuZGxlID0zRCBOZXRDREY0
RmlsZUhhbmRsZXIoZmlsZW5hbWUpCi0gICAgICAgICAgICBmaGFuZGxlLmRhdGFzZXQudmFyaWFi
bGVzWydjb25uZWN0MSddCisgICAgICAgICAgICB3aXRoIERhdGFzZXQoZmlsZW5hbWUpIGFzIGY6
CisgICAgICAgICAgICAgICAgZi52YXJpYWJsZXNbJ2Nvbm5lY3QxJ10KICAgICAgICAgICAgIHJl
dHVybiBUcnVlCiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgIHBhc3MKCgpodHRwczovL2Jp
dGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9kYTI1NmI5MTU2YTAvCkNoYW5nZXNl
dDogICBkYTI1NmI5MTU2YTAKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRh
dGU6ICAgICAgICAyMDE1LTA5LTAxIDIyOjMxOjIwKzAwOjAwClN1bW1hcnk6ICAgICBoYXZpbmcg
dGhlIHJlbmRlciBzb3VyY2UgcmV0dXJuIGEgUkdCQSBhcnJheSwgaW5zdGVhZCBvZiBhIGZsbz0K
YXQgYXJyYXkKQWZmZWN0ZWQgIzogIDMgZmlsZXMKCmRpZmYgLXIgZWRkYWRiNGVhMzJjMjU5ZTQ1
NjJkNzRiNmZhYWU5MDlmM2UzNTNkYSAtciBkYTI1NmI5MTU2YTA4NWExOTliNjQyYz0KNWRhYTli
NDc0OWRmZWY2ODYgeXQvdXRpbGl0aWVzL2ZpbGVfaGFuZGxlci5weQotLS0gYS95dC91dGlsaXRp
ZXMvZmlsZV9oYW5kbGVyLnB5CisrKyBiL3l0L3V0aWxpdGllcy9maWxlX2hhbmRsZXIucHkKQEAg
LTgwLDQgKzgwLDMgQEAKICAgICAgICAgZnJvbSBuZXRDREY0IGltcG9ydCBEYXRhc2V0CiAgICAg
ICAgIGRzID0zRCBEYXRhc2V0KGZpbGVuYW1lKQogICAgICAgICBzZWxmLmRhdGFzZXQgPTNEIGRz
Ci0KCmRpZmYgLXIgZWRkYWRiNGVhMzJjMjU5ZTQ1NjJkNzRiNmZhYWU5MDlmM2UzNTNkYSAtciBk
YTI1NmI5MTU2YTA4NWExOTliNjQyYz0KNWRhYTliNDc0OWRmZWY2ODYgeXQvdXRpbGl0aWVzL2xp
Yi9tZXNoX3RyYXZlcnNhbC5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZlcnNh
bC5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZlcnNhbC5weXgKQEAgLTI0LDYg
KzI0LDcgQEAKIGZyb20gZ3JpZF90cmF2ZXJzYWwgY2ltcG9ydCBJbWFnZVNhbXBsZXIsIFwKICAg
ICBJbWFnZUNvbnRhaW5lcgogZnJvbSBjeXRob24ucGFyYWxsZWwgaW1wb3J0IHByYW5nZSwgcGFy
YWxsZWwsIHRocmVhZGlkCitmcm9tIHl0LnZpc3VhbGl6YXRpb24uaW1hZ2Vfd3JpdGVyIGltcG9y
dCBhcHBseV9jb2xvcm1hcAo9MjAKIHJ0Yy5ydGNJbml0KE5VTEwpCiBydGMucnRjU2V0RXJyb3JG
dW5jdGlvbihlcnJvcl9wcmludGVyKQpAQCAtNDMsNiArNDQsOCBAQAo9MjAKIGNkZWYgY2xhc3Mg
TWVzaFNhbXBsZXIoSW1hZ2VTYW1wbGVyKToKPTIwCisgICAgY2RlZiBwdWJsaWMgb2JqZWN0IGlt
YWdlX3VzZWQKKwogICAgIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCiAgICAgQGN5dGhvbi53
cmFwYXJvdW5kKEZhbHNlKQogICAgIEBjeXRob24uY2RpdmlzaW9uKFRydWUpCkBAIC03MCw5ICs3
MywxMSBAQAogICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKICAgICAgICAgICAgIHdpZHRoW2ld
ID0zRCBzZWxmLndpZHRoW2ldCiAgICAgICAgIGNkZWYgbnAubmRhcnJheVtucC5mbG9hdDY0X3Qs
IG5kaW09M0QxXSBkYXRhCisgICAgICAgIGNkZWYgbnAubmRhcnJheVtucC5pbnQ2NF90LCBuZGlt
PTNEMV0gdXNlZAogICAgICAgICBueCA9M0QgaW0ubnZbMF0KICAgICAgICAgbnkgPTNEIGltLm52
WzFdCiAgICAgICAgIHNpemUgPTNEIG54ICogbnkKKyAgICAgICAgdXNlZCA9M0QgbnAuZW1wdHko
c2l6ZSwgZHR5cGU9M0QiaW50NjQiKQogICAgICAgICBkYXRhID0zRCBucC5lbXB0eShzaXplLCBk
dHlwZT0zRCJmbG9hdDY0IikKICAgICAgICAgY2RlZiBydGNyLlJUQ1JheSByYXkKICAgICAgICAg
aWYgaW0udmRfc3RyaWRlc1swXSA9M0Q9M0QgLTE6CkBAIC05OSw3ICsxMDQsOSBAQAogICAgICAg
ICAgICAgICAgIHJheS50aW1lID0zRCAwCiAgICAgICAgICAgICAgICAgcnRjcy5ydGNJbnRlcnNl
Y3Qoc2NlbmUuc2NlbmVfaSwgcmF5KQogICAgICAgICAgICAgICAgIGRhdGFbal0gPTNEIHJheS50
aW1lCisgICAgICAgICAgICAgICAgdXNlZFtqXSA9M0QgcmF5LnByaW1JRAogICAgICAgICAgICAg
c2VsZi5haW1hZ2UgPTNEIGRhdGEucmVzaGFwZShzZWxmLmltYWdlLm52WzBdLCBzZWxmLmltYWdl
Lm52WzE9Cl0pCisgICAgICAgICAgICBzZWxmLmltYWdlX3VzZWQgPTNEIHVzZWQucmVzaGFwZShz
ZWxmLmltYWdlLm52WzBdLCBzZWxmLmltYWdlLj0KbnZbMV0pCiAgICAgICAgICAgICBmcmVlKHZf
cG9zKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgdl9wb3MgPTNEIDxucC5mbG9hdDY0X3Qg
Kj4gbWFsbG9jKDMgKiBzaXplb2YobnAuZmxvYXQ2NF90KSkKQEAgLTEyMyw1ICsxMzAsNiBAQAog
ICAgICAgICAgICAgICAgIHJ0Y3MucnRjSW50ZXJzZWN0KHNjZW5lLnNjZW5lX2ksIHJheSkKICAg
ICAgICAgICAgICAgICBkYXRhW2pdID0zRCByYXkudGltZQogICAgICAgICAgICAgc2VsZi5haW1h
Z2UgPTNEIGRhdGEucmVzaGFwZShzZWxmLmltYWdlLm52WzBdLCBzZWxmLmltYWdlLm52WzE9Cl0p
CisgICAgICAgICAgICBzZWxmLmltYWdlX3VzZWQgPTNEIHVzZWQucmVzaGFwZShzZWxmLmltYWdl
Lm52WzBdLCBzZWxmLmltYWdlLj0KbnZbMV0pCiAgICAgICAgICAgICBmcmVlKHZfcG9zKQogICAg
ICAgICAgICAgZnJlZSh2X2RpcikKCmRpZmYgLXIgZWRkYWRiNGVhMzJjMjU5ZTQ1NjJkNzRiNmZh
YWU5MDlmM2UzNTNkYSAtciBkYTI1NmI5MTU2YTA4NWExOTliNjQyYz0KNWRhYTliNDc0OWRmZWY2
ODYgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKLS0t
IGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKKysr
IGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKQEAg
LTMzOCw3ICszMzgsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbmRpY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWVsZF9kYXRhKQo9MjAKLSAgICBkZWYgcmVuZGVyKHNlbGYsIGNhbWVy
YSwgemJ1ZmZlcj0zRE5vbmUpOgorICAgIGRlZiByZW5kZXIoc2VsZiwgY2FtZXJhLCB6YnVmZmVy
PTNETm9uZSw9MjAKKyAgICAgICAgICAgICAgIGNtYXA9M0QnYWxnYWUnLCBjb2xvcl9ib3VuZHM9
M0ROb25lKToKPTIwCiAgICAgICAgIHNlbGYuc2FtcGxlciA9M0QgbmV3X21lc2hfc2FtcGxlcihj
YW1lcmEsIHNlbGYpCj0yMApAQCAtMzQ2LDcgKzM0NywxMiBAQAogICAgICAgICBzZWxmLnNhbXBs
ZXIoc2VsZi5zY2VuZSkKICAgICAgICAgbXlsb2cuZGVidWcoIkRvbmUgY2FzdGluZyByYXlzIikK
PTIwCi0gICAgICAgIHNlbGYuY3VycmVudF9pbWFnZSA9M0Qgc2VsZi5zYW1wbGVyLmFpbWFnZQor
ICAgICAgICBzZWxmLmN1cnJlbnRfaW1hZ2UgPTNEIGFwcGx5X2NvbG9ybWFwKHNlbGYuc2FtcGxl
ci5haW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bG9yX2JvdW5kcz0zRGNvbG9yX2JvdW5kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY21hcF9uYW1lPTNEY21hcCkKKyAgICAgICAgYWxwaGEgPTNEIHNlbGYu
Y3VycmVudF9pbWFnZVs6LCA6LCAzXQorICAgICAgICBhbHBoYVtzZWxmLnNhbXBsZXIuaW1hZ2Vf
dXNlZCA9M0Q9M0QgLTFdID0zRCAwLjAKKyAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlWzosIDos
IDNdID0zRCBhbHBoYQo9MjAKICAgICAgICAgcmV0dXJuIHNlbGYuY3VycmVudF9pbWFnZQo9MjAK
CgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9iYzAwMzBiZmJm
OWEvCkNoYW5nZXNldDogICBiYzAwMzBiZmJmOWEKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAg
ICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTAxIDIyOjMxOjM5KzAwOjAwClN1bW1hcnk6
ICAgICB0eXBvCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgZGEyNTZiOTE1NmEwODVhMTk5
YjY0MmM1ZGFhOWI0NzQ5ZGZlZjY4NiAtciBiYzAwMzBiZmJmOWExMmVjOWQ0ZGJmZD0KNzNjY2M2
OGNmZmMzYzBiZmIgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3Vy
Y2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3Vy
Y2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3Vy
Y2UucHkKQEAgLTUzNSw3ICs1MzUsNyBAQAo9MjAKPTIwCiBjbGFzcyBHcmlkU291cmNlKExpbmVT
b3VyY2UpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkYXRhX3NvdXJjZSwgYWxwaGE9M0QwLjMs
IGNtYXA9M0QnYWxhZ2UnLAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkYXRhX3NvdXJjZSwgYWxw
aGE9M0QwLjMsIGNtYXA9M0QnYWxnYWUnLAogICAgICAgICAgICAgICAgICBtaW5fbGV2ZWw9M0RO
b25lLCBtYXhfbGV2ZWw9M0ROb25lKToKICAgICAgICAgciIiIkEgcmVuZGVyIHNvdXJjZSBmb3Ig
ZHJhd2luZyBncmlkcyBpbiBhIHNjZW5lLgo9MjAKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRf
YW5hbHlzaXMveXQvY29tbWl0cy9kY2EwNmZmM2EyNDMvCkNoYW5nZXNldDogICBkY2EwNmZmM2Ey
NDMKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1
LTA5LTAxIDIzOjQwOjA4KzAwOjAwClN1bW1hcnk6ICAgICBhbGxvd2luZyB5b3UgdG8gY2hhbmdl
IHRoZSBjb2xvcm1hcCB3aXRob3V0IHJlLXJlbmRlcmluZyB0aGUgaT0KbWFnZQpBZmZlY3RlZCAj
OiAgMSBmaWxlCgpkaWZmIC1yIGJjMDAzMGJmYmY5YTEyZWM5ZDRkYmZkNzNjY2M2OGNmZmMzYzBi
ZmIgLXIgZGNhMDZmZjNhMjQzOGY5YzZlOGEyM2E9CmRiYzJhMTdkNGJjYjBhMjBlIHl0L3Zpc3Vh
bGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9yZW5kZXJfc291cmNlLnB5Ci0tLSBhL3l0L3Zpc3Vh
bGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9yZW5kZXJfc291cmNlLnB5CisrKyBiL3l0L3Zpc3Vh
bGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9yZW5kZXJfc291cmNlLnB5CkBAIC0zNDcsMTMgKzM0
NywzNyBAQAogICAgICAgICBzZWxmLnNhbXBsZXIoc2VsZi5zY2VuZSkKICAgICAgICAgbXlsb2cu
ZGVidWcoIkRvbmUgY2FzdGluZyByYXlzIikKPTIwCi0gICAgICAgIHNlbGYuY3VycmVudF9pbWFn
ZSA9M0QgYXBwbHlfY29sb3JtYXAoc2VsZi5zYW1wbGVyLmFpbWFnZSwKKyAgICAgICAgc2VsZi5k
YXRhID0zRCBzZWxmLnNhbXBsZXIuYWltYWdlCisgICAgICAgIHNlbGYuY3VycmVudF9pbWFnZSA9
M0Qgc2VsZi5hcHBseV9jb2xvcm1hcChjbWFwPTNEY21hcCwgY29sb3JfYm91bj0KZHM9M0Rjb2xv
cl9ib3VuZHMpCisKKyAgICAgICAgcmV0dXJuIHNlbGYuY3VycmVudF9pbWFnZQorCisgICAgZGVm
IGFwcGx5X2NvbG9ybWFwKHNlbGYsIGNtYXA9M0QnYWxnYWUnLCBjb2xvcl9ib3VuZHM9M0ROb25l
KToKKyAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlID0zRCBhcHBseV9jb2xvcm1hcChzZWxmLmRh
dGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yX2Jv
dW5kcz0zRGNvbG9yX2JvdW5kcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY21hcF9uYW1lPTNEY21hcCkKKyAgICAgICAgJycnCisKKyAgICAgICAgQXBwbGll
cyBhIGNvbG9ybWFwIHRvIHRoZSBjdXJyZW50IGltYWdlIHdpdGhvdXQgcmUtcmVuZGVyaW5nLj0y
MAorCisgICAgICAgIFBhcmFtZXRlcnMKKyAgICAgICAgLS0tLS0tLS0tLQorICAgICAgICBjbWFw
X25hbWUgOiBzdHJpbmcsIG9wdGlvbmFsCisgICAgICAgICAgICBBbiBhY2NlcHRhYmxlIGNvbG9y
bWFwLiAgU2VlIGVpdGhlciB5dC52aXN1YWxpemF0aW9uLmNvbG9yX21hcD0KcyBvcgorICAgICAg
ICAgICAgaHR0cDovL3d3dy5zY2lweS5vcmcvQ29va2Jvb2svTWF0cGxvdGxpYi9TaG93X2NvbG9y
bWFwcyAuCisgICAgICAgIGNvbG9yX2JvdW5kcyA6IHR1cGxlIG9mIGZsb2F0cywgb3B0aW9uYWwK
KyAgICAgICAgICAgIFRoZSBtaW4gYW5kIG1heCB0byBzY2FsZSBiZXR3ZWVuLiAgT3V0bHlpbmcg
dmFsdWVzIHdpbGwgYmUgY2xpPQpwcGVkLgorCisgICAgICAgIFJldHVybnMKKyAgICAgICAgLS0t
LS0tLQorICAgICAgICBjdXJyZW50X2ltYWdlIDogQSBuZXcgaW1hZ2Ugd2l0aCB0aGUgc3BlY2lm
aWVkIGNvbG9yIHNjYWxlIGFwcGxpZWQ9CiB0bworICAgICAgICAgICAgdGhlIHVuZGVybHlpbmcg
ZGF0YS4KKworCisgICAgICAgICcnJwogICAgICAgICBhbHBoYSA9M0Qgc2VsZi5jdXJyZW50X2lt
YWdlWzosIDosIDNdCiAgICAgICAgIGFscGhhW3NlbGYuc2FtcGxlci5pbWFnZV91c2VkID0zRD0z
RCAtMV0gPTNEIDAuMAotICAgICAgICBzZWxmLmN1cnJlbnRfaW1hZ2VbOiwgOiwgM10gPTNEIGFs
cGhhCi0KKyAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlWzosIDosIDNdID0zRCBhbHBoYSAgICAg
ICA9MjAKICAgICAgICAgcmV0dXJuIHNlbGYuY3VycmVudF9pbWFnZQo9MjAKICAgICBkZWYgX19y
ZXByX18oc2VsZik6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1p
dHMvZjA3MDIxNDBmZmQ3LwpDaGFuZ2VzZXQ6ICAgZjA3MDIxNDBmZmQ3CkJyYW5jaDogICAgICB5
dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0xMSAxOTowNjoyMysw
MDowMApTdW1tYXJ5OiAgICAgYWRkaW5nIGEgbmV3IG1lc2ggY29uc3RydWN0b3IgZm9yIDIwIHBv
aW50IGhleGVzCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIGRjYTA2ZmYzYTI0MzhmOWM2
ZThhMjNhZGJjMmExN2Q0YmNiMGEyMGUgLXIgZjA3MDIxNDBmZmQ3NzE4MGMwNDBmMGE9CmFmNTlh
MTM1Y2E1Njg1ZDcwIHl0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHhkCi0tLSBh
L3l0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHhkCisrKyBiL3l0L3V0aWxpdGll
cy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHhkCkBAIC0xMCwzICsxMCw5IEBACiAgICAgaW50KiBl
bGVtZW50X2luZGljZXMgICAjIHdoaWNoIHZlcnRpY2VzIGJlbG9uZyB0byB3aGljaCAqZWxlbWVu
dCoKICAgICBpbnQgdHBlICAgICAgICAgICAgICAgICMgdGhlIG51bWJlciBvZiB0cmlhbmdsZXMg
cGVyIGVsZW1lbnQKICAgICBpbnQgdnBlICAgICAgICAgICAgICAgICMgdGhlIG51bWJlciBvZiB2
ZXJ0aWNlcyBwZXIgZWxlbWVudAorCitjdHlwZWRlZiBzdHJ1Y3QgUGF0Y2g6CisgICAgVmVjM2Yg
dls4XQorICAgIFZlYzNmIGNlbnRlcgorICAgIGRvdWJsZSByYWRpdXMKKyAgICB1bnNpZ25lZCBp
bnQgZ2VvbUlECgpkaWZmIC1yIGRjYTA2ZmYzYTI0MzhmOWM2ZThhMjNhZGJjMmExN2Q0YmNiMGEy
MGUgLXIgZjA3MDIxNDBmZmQ3NzE4MGMwNDBmMGE9CmFmNTlhMTM1Y2E1Njg1ZDcwIHl0L3V0aWxp
dGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvbWVz
aF9jb25zdHJ1Y3Rpb24ucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rp
b24ucHl4CkBAIC04MSw3ICs4MSw3IEBACiAgICAgY2RlZiBkb3VibGUqIGZpZWxkX2RhdGEKICAg
ICBjZGVmIHJ0Y2cuUlRDRmlsdGVyRnVuYyBmaWx0ZXJfZnVuYwogICAgICMgdHJpYW5nbGVzIHBl
ciBlbGVtZW50LCB2ZXJ0aWNlcyBwZXIgZWxlbWVudCwgYW5kIGZpZWxkIHBvaW50cyBwZXI9MjAK
LSAgICAjIGVsZW1lbnQsIHJlcHNlY3RpdmVseToKKyAgICAjIGVsZW1lbnQsIHJlc3BlY3RpdmVs
eToKICAgICBjZGVmIGludCB0cGUsIHZwZSwgZnBlCiAgICAgY2RlZiBpbnRbTUFYX05VTV9UUkld
WzNdIHRyaV9hcnJheQogICAgIGNkZWYgaW50KiBlbGVtZW50X2luZGljZXMKQEAgLTE2Niw3ICsx
NjYsNiBAQAogICAgICAgICBkYXRhYy52ZXJ0aWNlcyA9M0Qgc2VsZi52ZXJ0aWNlcwogICAgICAg
ICBkYXRhYy5pbmRpY2VzID0zRCBzZWxmLmluZGljZXMKICAgICAgICAgZGF0YWMuZmllbGRfZGF0
YSA9M0Qgc2VsZi5maWVsZF9kYXRhCi0gICAgICAgIGRhdGFjLmVsZW1lbnRfaW5kaWNlcyA9M0Qg
c2VsZi5lbGVtZW50X2luZGljZXMKICAgICAgICAgZGF0YWMudHBlID0zRCBzZWxmLnRwZQogICAg
ICAgICBkYXRhYy52cGUgPTNEIHNlbGYudnBlCiAgICAgICAgIHNlbGYuZGF0YWMgPTNEIGRhdGFj
CkBAIC0xOTQsMyArMTkzLDkyIEBACiAgICAgICAgIGZyZWUoc2VsZi5lbGVtZW50X2luZGljZXMp
CiAgICAgICAgIGZyZWUoc2VsZi52ZXJ0aWNlcykKICAgICAgICAgZnJlZShzZWxmLmluZGljZXMp
CisKKworY2RlZiBjbGFzcyBPcmRlcjJFbGVtZW50TWVzaDoKKyAgICByJycnCisKKyAgICBDdXJy
ZW50bHksIHdlIGhhbmRsZSBub24tdHJpYW5ndWxhciBtZXNoIHR5cGVzIGJ5IGNvbnZlcnRpbmcg
dGhlbT0yMAorICAgIHRvIHRyaWFuZ3VsYXIgbWVzaGVzLiBUaGlzIGNsYXNzIHBlcmZvcm1zIHRo
aXMgdHJhbnNmb3JtYXRpb24uCisgICAgQ3VycmVudGx5LCB0aGlzIGlzIGltcGxlbWVudGVkIGZv
ciAyMC1wb2ludCBoZXhhaGVkcmFsIG1lc2hlcyBvbmx5LgorCisgICAgUGFyYW1ldGVycworICAg
IC0tLS0tLS0tLS0KKworICAgIHNjZW5lIDogRW1icmVlU2NlbmUKKyAgICAgICAgVGhpcyBpcyB0
aGUgc2NlbmUgdG8gd2hpY2ggdGhlIGNvbnN0cnVjdGVkIHBvbHlnb25zIHdpbGwgYmUKKyAgICAg
ICAgYWRkZWQuCisgICAgdmVydGljZXMgOiBhIG5wLm5kYXJyYXkgb2YgZmxvYXRzLj0yMAorICAg
ICAgICBUaGlzIHNwZWNpZmllcyB0aGUgeCwgeSwgYW5kIHogY29vcmRpbmF0ZXMgb2YgdGhlIHZl
cnRpY2VzIGluPTIwCisgICAgICAgIHRoZSBtZXNoLiBUaGlzIHNob3VsZCBlaXRoZXIgaGF2ZSB0
aGUgc2hhcGU9MjAKKyAgICAgICAgKG51bV92ZXJ0aWNlcywgMykuIEZvciBleGFtcGxlLCB2ZXJ0
aWNlc1syXVsxXSBzaG91bGQgZ2l2ZSB0aGU9MjAKKyAgICAgICAgeS1jb29yZGluYXRlIG9mIHRo
ZSAzcmQgdmVydGV4IGluIHRoZSBtZXNoLgorICAgIGluZGljZXMgOiBhIG5wLm5kYXJyYXkgb2Yg
aW50cworICAgICAgICBUaGlzIHNob3VsZCBlaXRoZXIgaGF2ZSB0aGUgc2hhcGUgKG51bV9lbGVt
ZW50cywgNCkgb3I9MjAKKyAgICAgICAgKG51bV9lbGVtZW50cywgOCkgZm9yIHRldHJhaGVkcmFs
IGFuZCBoZXhhaGVkcmFsIG1lc2hlcyw9MjAKKyAgICAgICAgcmVzcGVjdGl2ZWx5LiBGb3IgdGV0
cmFoZWRyYWwgbWVzaGVzLCBlYWNoIGVsZW1lbnQgd2lsbD0yMAorICAgICAgICBiZSByZXByZXNl
bnRlZCBieSBmb3VyIHRyaWFuZ2xlcyBpbiB0aGUgc2NlbmUuIEZvciBoZXggbWVzaGVzLAorICAg
ICAgICBlYWNoIGVsZW1lbnQgd2lsbCBiZSByZXByZXNlbnRlZCBieSAxMiB0cmlhbmdsZXMsIDIg
Zm9yIGVhY2g9MjAKKyAgICAgICAgZmFjZS4gRm9yIGhleCBtZXNoZXMsIHdlIGFzc3VtZSB0aGF0
IHRoZSBub2RlIG9yZGVyaW5nIGlzIGFzCisgICAgICAgIGRlZmluZWQgaGVyZTo9MjAKKyAgICAg
ICAgaHR0cDovL2hvbWVwYWdlcy5jYWUud2lzYy5lZHUvfnRhdXRnZXMvcGFwZXJzL2NubWV2My5w
ZGYKKyAgICAgICAgICAgPTIwCisgICAgJycnCisKKyAgICBjZGVmIFBhdGNoKiBwYXRjaGVzCisg
ICAgY2RlZiB1bnNpZ25lZCBpbnQgbWVzaAorICAgIGNkZWYgZG91YmxlKiBmaWVsZF9kYXRhCisg
ICAgY2RlZiBydGNnLlJUQ0ZpbHRlckZ1bmMgZmlsdGVyX2Z1bmMKKyAgICAjIHBhdGNoZXMgcGVy
IGVsZW1lbnQsIHZlcnRpY2VzIHBlciBlbGVtZW50LCBhbmQgZmllbGQgcG9pbnRzIHBlcj0yMAor
ICAgICMgZWxlbWVudCwgcmVzcGVjdGl2ZWx5OgorICAgIGNkZWYgaW50IHBwZSwgdnBlLCBmcGUK
KyAgICBjZGVmIGludCogZWxlbWVudF9pbmRpY2VzCisgICAgY2RlZiBNZXNoRGF0YUNvbnRhaW5l
ciBkYXRhYworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIFlURW1icmVlU2NlbmUgc2NlbmUsCisg
ICAgICAgICAgICAgICAgIG5wLm5kYXJyYXkgdmVydGljZXMsPTIwCisgICAgICAgICAgICAgICAg
IG5wLm5kYXJyYXkgaW5kaWNlcywKKyAgICAgICAgICAgICAgICAgbnAubmRhcnJheSBkYXRhKToK
KworICAgICAgICAjIG9ubHkgMjAtcG9pbnQgaGV4ZXMgYXJlIHN1cHBvcnRlZCByaWdodCBub3cu
CisgICAgICAgIGlmIGluZGljZXMuc2hhcGVbMV0gPTNEPTNEIDIwOgorICAgICAgICAgICAgc2Vs
Zi52cGUgPTNEIDIwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1l
bnRlZEVycm9yCisKKyAgICAgICAgc2VsZi5fYnVpbGRfZnJvbV9pbmRpY2VzKHNjZW5lLCB2ZXJ0
aWNlcywgaW5kaWNlcykKKyAgICAgICAgc2VsZi5fc2V0X3NhbXBsZXJfdHlwZShzY2VuZSkKKwor
ICAgIGNkZWYgdm9pZCBfYnVpbGRfZnJvbV9pbmRpY2VzKHNlbGYsIFlURW1icmVlU2NlbmUgc2Nl
bmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnAubmRhcnJheSB2ZXJ0aWNl
c19pbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBucC5uZGFycmF5IGluZGlj
ZXNfaW4pOgorICAgICAgICBjZGVmIGludCBpLCBqLCBpbmQKKyAgICAgICAgY2RlZiBpbnQgbnYg
PTNEIHZlcnRpY2VzX2luLnNoYXBlWzBdCisgICAgICAgIGNkZWYgaW50IG5lID0zRCBpbmRpY2Vz
X2luLnNoYXBlWzBdCisgICAgICAgIGNkZWYgaW50IG5wID0zRCA2Km5lOworCisgICAgICAgIGNk
ZWYgdW5zaWduZWQgaW50IG1lc2ggPTNEIHJ0Y2d1LnJ0Y05ld1VzZXJHZW9tZXRyeShzY2VuZS5z
Y2VuZV9pLD0KIG5wKQorICAgICAgID0yMAorICAgICAgICBmYWNlcyA9M0QgW1swLCAxLCA1LCA0
LCAxMiwgOCwgMTMsIDE2XSwKKyAgICAgICAgICAgICAgICAgWzEsIDIsIDYsIDUsIDEzLCA5LCAx
NCwgMTddLAorICAgICAgICAgICAgICAgICBbMywgMiwgNiwgNywgMTUsIDEwLCAxNCwgMThdLAor
ICAgICAgICAgICAgICAgICBbMCwgMywgNywgNCwgMTIsIDExLCAxNSwgMTldLAorICAgICAgICAg
ICAgICAgICBbNCwgNSwgNiwgNywgMTksIDE2LCAxNywgMThdLAorICAgICAgICAgICAgICAgICBb
MCwgMSwgMiwgMywgMTEsIDgsIDksIDEwXV0KKworICAgICAgICBjZGVmIFBhdGNoKiBwYXRjaGVz
ID0zRCA8UGF0Y2gqPiBtYWxsb2MobnAgKiBzaXplb2YoUGF0Y2gpKTsKKyAgICAgICAgZm9yIGkg
aW4gcmFuZ2UobmUpOgorICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2UoNik6CisgICAgICAgICAg
ICAgICAgcGF0Y2hlc1tpKjYgKyBqXS5nZW9tSUQgPTNEIG1lc2gKKyAgICAgICAgICAgICAgICBm
b3IgayBpbiByYW5nZSg4KToKKyAgICAgICAgICAgICAgICAgICAgcGF0Y2hlc1tpKjYgKyBqXS52
W2tdLnggPTNEIHZlcnRpY2VzX2luW25lXVtmYWNlc1tqXV1bPQprXS54CisgICAgICAgICAgICAg
ICAgICAgIHBhdGNoZXNbaSo2ICsgal0udltrXS55ID0zRCB2ZXJ0aWNlc19pbltuZV1bZmFjZXNb
al1dWz0Ka10ueQorICAgICAgICAgICAgICAgICAgICBwYXRjaGVzW2kqNiArIGpdLnZba10ueiA9
M0QgdmVydGljZXNfaW5bbmVdW2ZhY2VzW2pdXVs9CmtdLnoKKworICAgICAgICBydGNnLnJ0Y1Nl
dFVzZXJEYXRhKHNjZW5lLnNjZW5lX2ksIHNlbGYubWVzaCwgJnBhdGNoZXMpCisgICAgICAgIHNl
bGYucGF0Y2hlcyA9M0QgcGF0Y2hlcworICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2gKKworICAg
IGRlZiBfX2RlYWxsb2NfXyhzZWxmKToKKyAgICAgICAgZnJlZShzZWxmLnBhdGNoZXMpCisKCgpo
dHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9iNWNmZjZmZTJmMDMv
CkNoYW5nZXNldDogICBiNWNmZjZmZTJmMDMKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBh
dG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTExIDIyOjAyOjU4KzAwOjAwClN1bW1hcnk6ICAg
ICBhZGRpbmcgdGhlIHNlY29uZC1vcmRlciBMYWdyYW5nZSByYXktdHJhY2UgY29kZSBmb3IgaGV4
YWhlZHJhbD0KIGVsZW1lbnRzCkFmZmVjdGVkICM6ICA1IGZpbGVzCgpkaWZmIC1yIGYwNzAyMTQw
ZmZkNzcxODBjMDQwZjBhYWY1OWExMzVjYTU2ODVkNzAgLXIgYjVjZmY2ZmUyZjAzMmViZjVjNmU5
MDM9CmMzZDY5ZjE4OWY3ZTkyMjIwIHl0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24u
cHhkCi0tLSBhL3l0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHhkCisrKyBiL3l0
L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHhkCkBAIC0xMiw3ICsxMiw3IEBACiAg
ICAgaW50IHZwZSAgICAgICAgICAgICAgICAjIHRoZSBudW1iZXIgb2YgdmVydGljZXMgcGVyIGVs
ZW1lbnQKPTIwCiBjdHlwZWRlZiBzdHJ1Y3QgUGF0Y2g6Ci0gICAgVmVjM2Ygdls4XQotICAgIFZl
YzNmIGNlbnRlcgotICAgIGRvdWJsZSByYWRpdXMKKyAgICBmbG9hdFs4XVszXSB2CisgICAgZmxv
YXRbM10gY2VudGVyCisgICAgZmxvYXQgcmFkaXVzCiAgICAgdW5zaWduZWQgaW50IGdlb21JRAoK
ZGlmZiAtciBmMDcwMjE0MGZmZDc3MTgwYzA0MGYwYWFmNTlhMTM1Y2E1Njg1ZDcwIC1yIGI1Y2Zm
NmZlMmYwMzJlYmY1YzZlOTAzPQpjM2Q2OWYxODlmN2U5MjIyMCB5dC91dGlsaXRpZXMvbGliL21l
c2hfY29uc3RydWN0aW9uLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0
aW9uLnB5eAorKysgYi95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLnB5eApAQCAt
MjksNyArMjksMTIgQEAKICAgICBWZXJ0ZXgsIFwKICAgICBUcmlhbmdsZSwgXAogICAgIFZlYzNm
Citmcm9tIG1lc2hfaW50ZXJzZWN0aW9uIGNpbXBvcnQgXAorICAgIHBhdGNoSW50ZXJzZWN0RnVu
YywgXAorICAgIHBhdGNoT2NjbHVkZWRGdW5jLCBcCisgICAgcGF0Y2hCb3VuZHNGdW5jCiBmcm9t
IGxpYmMuc3RkbGliIGNpbXBvcnQgbWFsbG9jLCBmcmVlCitmcm9tIGxpYmMubWF0aCBjaW1wb3J0
IGZtYXgsIHNxcnQKIGltcG9ydCBudW1weSBhcyBucAo9MjAKIGNkZWYgZXh0ZXJuIGZyb20gIm1l
c2hfY29uc3RydWN0aW9uLmgiOgpAQCAtMjI3LDEzICsyMzIsOSBAQAo9MjAKICAgICBjZGVmIFBh
dGNoKiBwYXRjaGVzCiAgICAgY2RlZiB1bnNpZ25lZCBpbnQgbWVzaAotICAgIGNkZWYgZG91Ymxl
KiBmaWVsZF9kYXRhCi0gICAgY2RlZiBydGNnLlJUQ0ZpbHRlckZ1bmMgZmlsdGVyX2Z1bmMKICAg
ICAjIHBhdGNoZXMgcGVyIGVsZW1lbnQsIHZlcnRpY2VzIHBlciBlbGVtZW50LCBhbmQgZmllbGQg
cG9pbnRzIHBlcj0yMAogICAgICMgZWxlbWVudCwgcmVzcGVjdGl2ZWx5OgogICAgIGNkZWYgaW50
IHBwZSwgdnBlLCBmcGUKLSAgICBjZGVmIGludCogZWxlbWVudF9pbmRpY2VzCi0gICAgY2RlZiBN
ZXNoRGF0YUNvbnRhaW5lciBkYXRhYwo9MjAKICAgICBkZWYgX19pbml0X18oc2VsZiwgWVRFbWJy
ZWVTY2VuZSBzY2VuZSwKICAgICAgICAgICAgICAgICAgbnAubmRhcnJheSB2ZXJ0aWNlcyw9MjAK
QEAgLTI1Miw3ICsyNTMsNyBAQAogICAgIGNkZWYgdm9pZCBfYnVpbGRfZnJvbV9pbmRpY2VzKHNl
bGYsIFlURW1icmVlU2NlbmUgc2NlbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbnAubmRhcnJheSB2ZXJ0aWNlc19pbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBucC5uZGFycmF5IGluZGljZXNfaW4pOgotICAgICAgICBjZGVmIGludCBpLCBqLCBpbmQK
KyAgICAgICAgY2RlZiBpbnQgaSwgaiwgaW5kLCBpZGltCiAgICAgICAgIGNkZWYgaW50IG52ID0z
RCB2ZXJ0aWNlc19pbi5zaGFwZVswXQogICAgICAgICBjZGVmIGludCBuZSA9M0QgaW5kaWNlc19p
bi5zaGFwZVswXQogICAgICAgICBjZGVmIGludCBucCA9M0QgNipuZTsKQEAgLTI2NywxOCArMjY4
LDQ2IEBACiAgICAgICAgICAgICAgICAgIFswLCAxLCAyLCAzLCAxMSwgOCwgOSwgMTBdXQo9MjAK
ICAgICAgICAgY2RlZiBQYXRjaCogcGF0Y2hlcyA9M0QgPFBhdGNoKj4gbWFsbG9jKG5wICogc2l6
ZW9mKFBhdGNoKSk7Ci0gICAgICAgIGZvciBpIGluIHJhbmdlKG5lKToKLSAgICAgICAgICAgIGZv
ciBqIGluIHJhbmdlKDYpOgorICAgICAgICBmb3IgaSBpbiByYW5nZShuZSk6ICAjIGZvciBlYWNo
IGVsZW1lbnQKKyAgICAgICAgICAgIGZvciBqIGluIHJhbmdlKDYpOiAgIyBmb3IgZWFjaCBmYWNl
CiAgICAgICAgICAgICAgICAgcGF0Y2hlc1tpKjYgKyBqXS5nZW9tSUQgPTNEIG1lc2gKLSAgICAg
ICAgICAgICAgICBmb3IgayBpbiByYW5nZSg4KToKLSAgICAgICAgICAgICAgICAgICAgcGF0Y2hl
c1tpKjYgKyBqXS52W2tdLnggPTNEIHZlcnRpY2VzX2luW25lXVtmYWNlc1tqXV1bPQprXS54Ci0g
ICAgICAgICAgICAgICAgICAgIHBhdGNoZXNbaSo2ICsgal0udltrXS55ID0zRCB2ZXJ0aWNlc19p
bltuZV1bZmFjZXNbal1dWz0Ka10ueQotICAgICAgICAgICAgICAgICAgICBwYXRjaGVzW2kqNiAr
IGpdLnZba10ueiA9M0QgdmVydGljZXNfaW5bbmVdW2ZhY2VzW2pdXVs9CmtdLnoKKyAgICAgICAg
ICAgICAgICBmb3IgayBpbiByYW5nZSg4KTogICMgZm9yIGVhY2ggdmVydGV4CisgICAgICAgICAg
ICAgICAgICAgIGZvciBpZGltIGluIHJhbmdlKDMpOiAgIyBmb3IgZWFjaCBzcGF0aWFsIGRpbWVu
c2lvbiAoeT0KaWtlcykKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoZXNbaSo2ICsgal0u
dltrXVtpZGltXSA9M0QgdmVydGljZXNfaW5bbmVdW2ZhPQpjZXNbal1dW2tdW2lkaW1dCisgICAg
ICAgICAgICAgICAgc2VsZi5fc2V0X2JvdW5kaW5nX3NwaGVyZShwYXRjaGVzW2kqNiArIGpdKQo9
MjAKICAgICAgICAgcnRjZy5ydGNTZXRVc2VyRGF0YShzY2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gs
ICZwYXRjaGVzKQorICAgICAgICBydGNndS5ydGNTZXRCb3VuZHNGdW5jdGlvbihzY2VuZS5zY2Vu
ZV9pLCBzZWxmLm1lc2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxydGNn
dS5SVENCb3VuZHNGdW5jPiBwYXRjaEJvdW5kc0Z1bmMpCisgICAgICAgIHJ0Y2d1LnJ0Y1NldElu
dGVyc2VjdEZ1bmN0aW9uKHNjZW5lLnNjZW5lX2ksIHNlbGYubWVzaCw9MjAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJ0Y2d1LlJUQ0ludGVyc2VjdEZ1bmM+IHBhdGNo
SW50ZXJzPQplY3RGdW5jKQorICAgICAgICBydGNndS5ydGNTZXRPY2NsdWRlZEZ1bmN0aW9uIChz
Y2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxydGNndS5SVENPY2NsdWRlZEZ1bmM+IHBhdGNoT2NjbHVkZT0KZEZ1bmMpOwog
ICAgICAgICBzZWxmLnBhdGNoZXMgPTNEIHBhdGNoZXMKICAgICAgICAgc2VsZi5tZXNoID0zRCBt
ZXNoCj0yMAorICAgIGNkZWYgdm9pZCBfc2V0X2JvdW5kaW5nX3NwaGVyZShzZWxmLCBQYXRjaCBw
YXRjaCk6CisKKyAgICAgICAgIyBzZXQgdGhlIGNlbnRlciB0byBiZSB0aGUgY2VudHJvaWQgb2Yg
dGhlIHBhdGNoIHZlcnRpY2VzCisgICAgICAgIGNkZWYgaW50IGksIGoKKyAgICAgICAgZm9yIGog
aW4gcmFuZ2UoOCk6CisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgICAg
ICAgICBwYXRjaC5jZW50ZXJbaV0gKz0zRCBwYXRjaC52W2pdW2ldCisgICAgICAgIGZvciBpIGlu
IHJhbmdlKDMpOgorICAgICAgICAgICAgcGF0Y2guY2VudGVyW2ldIC89M0QgOC4wCisKKyAgICAg
ICAgIyBzZXQgdGhlIHJhZGl1cyB0byBiZSBzbGlnaHRseSBsYXJnZXIgdGhhbiB0aGUgZGlzdGFu
Y2UgYmV0d2VlbgorICAgICAgICAjIHRoZSBjZW50ZXIgYW5kIHRoZSBmYXJ0aGVzdCB2ZXJ0ZXgK
KyAgICAgICAgY2RlZiBmbG9hdCByID0zRCAwLjAKKyAgICAgICAgY2RlZiBmbG9hdCBkCisgICAg
ICAgIGZvciBqIGluIHJhbmdlKDgpOgorICAgICAgICAgICAgZCA9M0QgMC4wCisgICAgICAgICAg
ICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgICAgICAgICBkICs9M0QgKHBhdGNoLnZbal1b
aV0gLSBwYXRjaC5jZW50ZXJbaV0pKioyCisgICAgICAgICAgICBkID0zRCBzcXJ0KGQpCisgICAg
ICAgICAgICByID0zRCBmbWF4KHIsIGQpCisgICAgICAgIHBhdGNoLnJhZGl1cyA9M0QgMS4wNSpy
CisKICAgICBkZWYgX19kZWFsbG9jX18oc2VsZik6CiAgICAgICAgIGZyZWUoc2VsZi5wYXRjaGVz
KQo9MjAKCmRpZmYgLXIgZjA3MDIxNDBmZmQ3NzE4MGMwNDBmMGFhZjU5YTEzNWNhNTY4NWQ3MCAt
ciBiNWNmZjZmZTJmMDMyZWJmNWM2ZTkwMz0KYzNkNjlmMTg5ZjdlOTIyMjAgeXQvdXRpbGl0aWVz
L2xpYi9tZXNoX2ludGVyc2VjdGlvbi5weGQKLS0tIC9kZXYvbnVsbAorKysgYi95dC91dGlsaXRp
ZXMvbGliL21lc2hfaW50ZXJzZWN0aW9uLnB4ZApAQCAtMCwwICsxLDE3IEBACitjaW1wb3J0IHB5
ZW1icmVlLnJ0Y29yZSBhcyBydGMKK2NpbXBvcnQgcHllbWJyZWUucnRjb3JlX3JheSBhcyBydGNy
CitjaW1wb3J0IHB5ZW1icmVlLnJ0Y29yZV9nZW9tZXRyeSBhcyBydGNnCitmcm9tIHl0LnV0aWxp
dGllcy5saWIubWVzaF9jb25zdHJ1Y3Rpb24gY2ltcG9ydCBQYXRjaAorY2ltcG9ydCBjeXRob24K
KworY2RlZiB2b2lkIHBhdGNoSW50ZXJzZWN0RnVuYyhQYXRjaCogcGF0Y2hlcyw9MjAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcnRjci5SVENSYXkmIHJheSw9MjAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZV90IGl0ZW0pIG5vZ2lsCisKK2NkZWYgdm9pZCBwYXRjaE9j
Y2x1ZGVkRnVuYyhQYXRjaCogcGF0Y2hlcyw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydGNyLlJUQ1JheSYgcmF5LD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf
dCBpdGVtKSBub2dpbAorCitjZGVmIHZvaWQgcGF0Y2hCb3VuZHNGdW5jKFBhdGNoKiBwYXRjaGVz
LD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaXRlbSw9MjAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgcnRjZy5SVENCb3VuZHMqIGJvdW5kc19vKSBub2dpbAoKZGlmZiAt
ciBmMDcwMjE0MGZmZDc3MTgwYzA0MGYwYWFmNTlhMTM1Y2E1Njg1ZDcwIC1yIGI1Y2ZmNmZlMmYw
MzJlYmY1YzZlOTAzPQpjM2Q2OWYxODlmN2U5MjIyMCB5dC91dGlsaXRpZXMvbGliL21lc2hfaW50
ZXJzZWN0aW9uLnB5eAotLS0gL2Rldi9udWxsCisrKyBiL3l0L3V0aWxpdGllcy9saWIvbWVzaF9p
bnRlcnNlY3Rpb24ucHl4CkBAIC0wLDAgKzEsMjM4IEBACisiIiIKK1RoaXMgZmlsZSBjb250YWlu
cyBmdW5jdGlvbnMgdXNlZCBmb3IgcGVyZm9ybWluZyByYXktdHJhY2luZyB3aXRoIDJuZC1vcmRl
PQpyIExhZ3JhbmdlCitFbGVtZW50cy4KKworCisiIiIKKworIy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0t
LS0KKyMgQ29weXJpZ2h0IChjKSAyMDE1LCB5dCBEZXZlbG9wbWVudCBUZWFtLgorIworIyBEaXN0
cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgorIwor
IyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRl
ZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCisKK2NpbXBv
cnQgcHllbWJyZWUucnRjb3JlIGFzIHJ0YworY2ltcG9ydCBweWVtYnJlZS5ydGNvcmVfcmF5IGFz
IHJ0Y3IKK2NpbXBvcnQgcHllbWJyZWUucnRjb3JlX2dlb21ldHJ5IGFzIHJ0Y2cKK2Zyb20gcHll
bWJyZWUucnRjb3JlIGNpbXBvcnQgVmVjM2YKK2NpbXBvcnQgbnVtcHkgYXMgbnAKK2NpbXBvcnQg
Y3l0aG9uCitmcm9tIGxpYmMubWF0aCBjaW1wb3J0IGZhYnMsIGZtaW4sIGZtYXgsIHNxcnQKKwor
CitAY3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQorQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQor
QGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkKK2NkZWYgdm9pZCBwYXRjaFN1cmZhY2VGdW5jKGNvbnN0
IFBhdGNoJiBwYXRjaCw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0
IHUsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdCB2LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmxvYXRbM10gUykgbm9naWw6CisKKyAgY2RlZiBpbnQgaQor
ICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgIFNbaV0gPTNEIDAuMjUqKDEuMCAtIHUpKigxLjAg
LSB2KSooLXUgLSB2IC0gMSkqcGF0Y2gudlswXVtpXSArIFwKKyAgICAgICAgICAgICAwLjI1Kigx
LjAgKyB1KSooMS4wIC0gdikqKCB1IC0gdiAtIDEpKnBhdGNoLnZbMV1baV0gKyBcCisgICAgICAg
ICAgICAgMC4yNSooMS4wICsgdSkqKDEuMCArIHYpKiggdSArIHYgLSAxKSpwYXRjaC52WzJdW2ld
ICsgXAorICAgICAgICAgICAgIDAuMjUqKDEuMCAtIHUpKigxLjAgKyB2KSooLXUgKyB2IC0gMSkq
cGF0Y2gudlszXVtpXSArIFwKKyAgICAgICAgICAgICAwLjUqKDEgLSB1KSooMSAtIHYqdikqcGF0
Y2gudls0XVtpXSArIFwKKyAgICAgICAgICAgICAwLjUqKDEgLSB1KnUpKigxIC0gdikqcGF0Y2gu
dls1XVtpXSArIFwKKyAgICAgICAgICAgICAwLjUqKDEgKyB1KSooMSAtIHYqdikqcGF0Y2gudls2
XVtpXSArIFwKKyAgICAgICAgICAgICAwLjUqKDEgLSB1KnUpKigxICsgdikqcGF0Y2gudls3XVtp
XQorCisKK0BjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCitAY3l0aG9uLndyYXBhcm91bmQoRmFs
c2UpCitAY3l0aG9uLmNkaXZpc2lvbihUcnVlKQorY2RlZiB2b2lkIHBhdGNoU3VyZmFjZURlcml2
VShjb25zdCBQYXRjaCYgcGF0Y2gsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGZsb2F0IHUsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0
IHYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0WzNdIFN1KSBub2dpbDo9MjAK
KyAgY2RlZiBpbnQgaQorICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgIFN1W2ldID0zRCAoLTAu
MjUqKHYgLSAxLjApKih1ICsgdiArIDEpIC0gMC4yNSoodSAtIDEuMCkqKHYgLSAxLjApKSpwPQph
dGNoLnZbMF1baV0gKyBcCisgICAgICAgICAgICAgICgtMC4yNSoodiAtIDEuMCkqKHUgLSB2IC0g
MSkgLSAwLjI1Kih1ICsgMS4wKSoodiAtIDEuMCkpKnBhdD0KY2gudlsxXVtpXSArIFwKKyAgICAg
ICAgICAgICAgKCAwLjI1Kih2ICsgMS4wKSoodSArIHYgLSAxKSArIDAuMjUqKHUgKyAxLjApKih2
ICsgMS4wKSkqcGF0PQpjaC52WzJdW2ldICsgXAorICAgICAgICAgICAgICAoIDAuMjUqKHYgKyAx
LjApKih1IC0gdiArIDEpICsgMC4yNSoodSAtIDEuMCkqKHYgKyAxLjApKSpwYXQ9CmNoLnZbM11b
aV0gKyBcCisgICAgICAgICAgICAgIDAuNSoodip2IC0gMS4wKSpwYXRjaC52WzRdW2ldICsgdSoo
diAtIDEuMCkqcGF0Y2gudls1XVtpXSAtIFwKKyAgICAgICAgICAgICAgMC41Kih2KnYgLSAxLjAp
KnBhdGNoLnZbNl1baV0gLSB1Kih2ICsgMS4wKSpwYXRjaC52WzddW2ldOworCisKK0BjeXRob24u
Ym91bmRzY2hlY2soRmFsc2UpCitAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCitAY3l0aG9uLmNk
aXZpc2lvbihUcnVlKQorY2RlZiB2b2lkIHBhdGNoU3VyZmFjZURlcml2Vihjb25zdCBQYXRjaCYg
cGF0Y2gsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0IHUsPTIw
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0IHYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZsb2F0WzNdIFN2KSBub2dpbDoKKyAgICBjZGVmIGludCBpPTIw
CisgICAgZm9yIGkgaW4gcmFuZ2UoMyk6CisgICAgICAgIFN2W2ldID0zRCAoLTAuMjUqKHUgLSAx
LjApKih1ICsgdiArIDEpIC0gMC4yNSoodSAtIDEuMCkqKHYgLSAxLjApKT0KKnBhdGNoLnZbMF1b
aV0gKyBcCisgICAgICAgICAgICAgICAgKC0wLjI1Kih1ICsgMS4wKSoodSAtIHYgLSAxKSArIDAu
MjUqKHUgKyAxLjApKih2IC0gMS4wKSkqcD0KYXRjaC52WzFdW2ldICsgXAorICAgICAgICAgICAg
ICAgICggMC4yNSoodSArIDEuMCkqKHUgKyB2IC0gMSkgKyAwLjI1Kih1ICsgMS4wKSoodiArIDEu
MCkpKnA9CmF0Y2gudlsyXVtpXSArIFwKKyAgICAgICAgICAgICAgICAoIDAuMjUqKHUgLSAxLjAp
Kih1IC0gdiArIDEpIC0gMC4yNSoodSAtIDEuMCkqKHYgKyAxLjApKSpwPQphdGNoLnZbM11baV0g
KyBcCisgICAgICAgICAgICAgICAgMC41Kih1KnUgLSAxLjApKnBhdGNoLnZbNV1baV0gKyB2Kih1
IC0gMS4wKSpwYXRjaC52WzRdW2ldID0KLSBcCisgICAgICAgICAgICAgICAgMC41Kih1KnUgLSAx
LjApKnBhdGNoLnZbN11baV0gLSB2Kih1ICsgMS4wKSpwYXRjaC52WzZdW2ldOworCisKK0BjeXRo
b24uYm91bmRzY2hlY2soRmFsc2UpCitAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCitAY3l0aG9u
LmNkaXZpc2lvbihUcnVlKQorY2RlZiBmbG9hdCBkb3QoY29uc3QgZmxvYXQqIGEsPTIwCisgICAg
ICAgICAgICAgICBjb25zdCBmbG9hdCogYiwKKyAgICAgICAgICAgICAgIHNpemVfdCBOKSBub2dp
bDoKKyAgICBjZGVmIGludCBpCisgICAgY2RlZiBmbG9hdCBydiA9M0QgMC4wCisgICAgZm9yIGkg
aW4gcmFuZ2UoTik6CisgICAgICAgIHJ2ICs9M0QgYVtpXSpiW2ldCisgICAgcmV0dXJuIHJ2CisK
KworQGN5dGhvbi5ib3VuZHNjaGVjayhGYWxzZSkKK0BjeXRob24ud3JhcGFyb3VuZChGYWxzZSkK
K0BjeXRob24uY2RpdmlzaW9uKFRydWUpCitjZGVmIHZvaWQgY3Jvc3MoY29uc3QgZmxvYXQqIGEs
PTIwCisgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQqIGIsCisgICAgICAgICAgICAgICAgZmxv
YXQqIGMpIG5vZ2lsOgorICAgIGNbMF0gPTNEIGFbMV0qYlsyXSAtIGFbMl0qYlsxXQorICAgIGNb
MV0gPTNEIGFbMl0qYlswXSAtIGFbMF0qYlsyXQorICAgIGNbMl0gPTNEIGFbMF0qYlsxXSAtIGFb
MV0qYlswXQorCisKK0BjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCitAY3l0aG9uLndyYXBhcm91
bmQoRmFsc2UpCitAY3l0aG9uLmNkaXZpc2lvbihUcnVlKQorY2RlZiB2b2lkIHBhdGNoQm91bmRz
RnVuYyhQYXRjaCogcGF0Y2hlcyw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90
IGl0ZW0sPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0Y2cuUlRDQm91bmRzKiBib3Vu
ZHNfbykgbm9naWw6CisKKyAgICBjZGVmIGludCBpCisgICAgY2RlZiBQYXRjaCBwYXRjaCA9M0Qg
cGF0Y2hlc1tpdGVtXQorICAgPTIwCisgICAgY2RlZiBmbG9hdCBsb194ID0zRCAxLjBlMzAwOwor
ICAgIGNkZWYgZmxvYXQgbG9feSA9M0QgMS4wZTMwMDsKKyAgICBjZGVmIGZsb2F0IGxvX3ogPTNE
IDEuMGUzMDA7CisKKyAgICBjZGVmIGZsb2F0IGhpX3ggPTNEIC0xLjBlMzAwOworICAgIGNkZWYg
ZmxvYXQgaGlfeSA9M0QgLTEuMGUzMDA7CisgICAgY2RlZiBmbG9hdCBoaV96ID0zRCAtMS4wZTMw
MDsKKworICAgIGZvciBpIGluIHJhbmdlKDgpOgorICAgICAgICBsb194ID0zRCBmbWluKGxvX3gs
IHBhdGNoLnZbaV1bMF0pOworICAgICAgICBsb195ID0zRCBmbWluKGxvX3ksIHBhdGNoLnZbaV1b
MV0pOworICAgICAgICBsb196ID0zRCBmbWluKGxvX3osIHBhdGNoLnZbaV1bMl0pOworICAgICAg
ICBoaV94ID0zRCBmbWF4KGhpX3gsIHBhdGNoLnZbaV1bMF0pOworICAgICAgICBoaV95ID0zRCBm
bWF4KGhpX3ksIHBhdGNoLnZbaV1bMV0pOworICAgICAgICBoaV96ID0zRCBmbWF4KGhpX3osIHBh
dGNoLnZbaV1bMl0pOworCisgICAgYm91bmRzX28ubG93ZXJfeCA9M0QgbG9feDsKKyAgICBib3Vu
ZHNfby5sb3dlcl95ID0zRCBsb195OworICAgIGJvdW5kc19vLmxvd2VyX3ogPTNEIGxvX3o7Cisg
ICAgYm91bmRzX28udXBwZXJfeCA9M0QgaGlfeDsKKyAgICBib3VuZHNfby51cHBlcl95ID0zRCBo
aV95OworICAgIGJvdW5kc19vLnVwcGVyX3ogPTNEIGhpX3o7CisKKworQGN5dGhvbi5ib3VuZHNj
aGVjayhGYWxzZSkKK0BjeXRob24ud3JhcGFyb3VuZChGYWxzZSkKK0BjeXRob24uY2RpdmlzaW9u
KFRydWUpCitjZGVmIHZvaWQgcGF0Y2hJbnRlcnNlY3RGdW5jKFBhdGNoKiBwYXRjaGVzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydGNyLlJUQ1JheSYgcmF5LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaXplX3QgaXRlbSkgbm9naWw6CisKKyAgICBjZGVmIFBhdGNoIHBh
dGNoID0zRCBwYXRjaGVzW2l0ZW1dCisKKyAgICAjIHJldHVybiBpZiB0aGUgcmF5IGRvZXMgbm90
IGludGVyc2VjdCB0aGUgYm91bmRpbmcgc3BoZXJlCisgICAgY2RlZiBmbG9hdFszXSB2ZWMKKyAg
ICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgdmVjW2ldID0zRCByYXkub3JnW2ldIC0gcGF0
Y2guY2VudGVyW2ldCisgICAgICAgPTIwCisgICAgY2RlZiBmbG9hdCBBID0zRCBkb3QocmF5LmRp
ciwgcmF5LmRpciwgMykKKyAgICBjZGVmIGZsb2F0IEIgPTNEIDIuMCpkb3QodmVjLCByYXkuZGly
LCAzKQorICAgIGNkZWYgZmxvYXQgQyA9M0QgZG90KHZlYywgdmVjLCAzKSAtIHBhdGNoLnJhZGl1
cyoqMgorICAgIGNkZWYgZmxvYXQgRCA9M0QgQipCIC0gNC4wKkEqQworICAgIGlmIChEIDwgMC4w
KToKKyAgICAgICAgcmV0dXJuCisKKyAgICAjIG90aGVyd2lzZSwgaXRlcmF0ZSB0byB0aGUgZ2V0
IHRoZSB0cnVlIGhpdCBwb3NpdGlvbgorICAgICMgZmlyc3Qgd2UgY29tcHV0ZSB0aGUgdGhlIHR3
byBwbGFuZXMgdGhhdCBkZWZpbmUgdGhlIHJheS4KKyAgICBjZGVmIGZsb2F0WzNdIG4sIE4xLCBO
MgorICAgIGZvciBpIGluIHJhbmdlKDMpOgorICAgICAgICBuW2ldID0zRCByYXkuZGlyW2ldIC8g
QQorCisgICAgaWYgKChmYWJzKG5bMF0pID4gZmFicyhuWzFdKSkgYW5kIChmYWJzKG5bMF0pID4g
ZmFicyhuWzJdKSkpOgorICAgICAgICBOMVswXSA9M0QgblsxXQorICAgICAgICBOMVsxXSA9M0Qt
blswXQorICAgICAgICBOMVsyXSA9M0QgMC4wCisgICAgZWxzZToKKyAgICAgICAgTjFbMF0gPTNE
IDAuMAorICAgICAgICBOMVsxXSA9M0QgblsyXQorICAgICAgICBOMVsyXSA9M0QtblsxXQorICAg
IGNyb3NzKE4xLCBuLCBOMikKKworICAgIGNkZWYgZmxvYXQgZDEgPTNEIC0gZG90KE4xLCByYXku
b3JnLCAzKQorICAgIGNkZWYgZmxvYXQgZDIgPTNEIC0gZG90KE4yLCByYXkub3JnLCAzKQorCisg
ICAgIyB0aGUgaW5pdGlhbCBndWVzcyBpcyBzZXQgdG8gemVybworICAgIGNkZWYgZmxvYXQgdSA9
M0QgMC4wCisgICAgY2RlZiBmbG9hdCB2ID0zRCAwLjAKKyAgICBjZGVmIGZsb2F0WzNdIFMKKyAg
ICBwYXRjaFN1cmZhY2VGdW5jKHBhdGNoLCB1LCB2LCBTKQorICAgIGNkZWYgZG91YmxlIGZ1ID0z
RCBkb3QoTjEsIFMsIDMpICsgZDEKKyAgICBjZGVmIGRvdWJsZSBmdiA9M0QgZG90KE4yLCBTLCAz
KSArIGQyCisgICAgY2RlZiBkb3VibGUgZXJyID0zRCBmbWF4KGZhYnMoZnUpLCBmYWJzKGZ2KSkK
KyAgID0yMAorICAgICMgYmVnaW4gTmV3dG9uIGludGVyYXRpb24KKyAgICBjZGVmIGRvdWJsZSB0
b2wgPTNEIDEuMGUtNgorICAgIGNkZWYgaW50IGl0ZXJhdGlvbnMgPTNEIDAKKyAgICBjZGVmIGlu
dCBtYXhfaXRlciA9M0QgNQorICAgIGNkZWYgZmxvYXRbM10gU3UKKyAgICBjZGVmIGZsb2F0WzNd
IFN2CisgICAgY2RlZiBkb3VibGUgSjExLCBKMTIsIEoyMSwgSjIyLCBkZXQKKyAgICB3aGlsZSAo
KGVyciA+IHRvbCkgYW5kIChpdGVyYXRpb25zIDwgbWF4X2l0ZXIpKToKKyAgICAgICAgIyBjb21w
dXRlIHRoZSBKYWNvYmlhbgorICAgICAgICBwYXRjaFN1cmZhY2VEZXJpdlUocGF0Y2gsIHUsIHYs
IFN1KQorICAgICAgICBwYXRjaFN1cmZhY2VEZXJpdlYocGF0Y2gsIHUsIHYsIFN2KQorICAgICAg
ICBKMTEgPTNEIGRvdChOMSwgU3UsIDMpCisgICAgICAgIEoxMiA9M0QgZG90KE4xLCBTdiwgMykK
KyAgICAgICAgSjIxID0zRCBkb3QoTjIsIFN1LCAzKQorICAgICAgICBKMjIgPTNEIGRvdChOMiwg
U3YsIDMpCisgICAgICAgIGRldCA9M0QgKEoxMSpKMjIgLSBKMTIqSjIxKQorICAgICAgID0yMAor
ICAgICAgICAjIHVwZGF0ZSB0aGUgdSwgdiB2YWx1ZXMKKyAgICAgICAgdSAtPTNEICggSjIyKmZ1
IC0gSjEyKmZ2KSAvIGRldAorICAgICAgICB2IC09M0QgKC1KMjEqZnUgKyBKMTEqZnYpIC8gZGV0
CisgICAgICAgPTIwCisgICAgICAgIHBhdGNoU3VyZmFjZUZ1bmMocGF0Y2gsIHUsIHYsIFMpCisg
ICAgICAgIGZ1ID0zRCBkb3QoTjEsIFMsIDMpICsgZDEKKyAgICAgICAgZnYgPTNEIGRvdChOMiwg
UywgMykgKyBkMgorCisgICAgICAgIGVyciA9M0QgZm1heChmYWJzKGZ1KSwgZmFicyhmdikpCisg
ICAgICAgIGl0ZXJhdGlvbnMgKz0zRCAxCisKKyAgICBjZGVmIGZsb2F0IHQgPTNEIDAuMAorICAg
IGZvciBpIGluIHJhbmdlKDMpOgorICAgICAgICB0ICs9M0QgKFNbaV0gLSByYXkub3JnW2ldKSoq
MgorICAgIHQgPTNEIHNxcnQodCkKKyAgICBpZiAodCA8IHJheS50bmVhciBvciB0ID4gcmF5LnRm
YXIpOgorICAgICAgICByZXR1cm4KKyAgID0yMAorICAgIGlmIChmYWJzKHUpIDw9M0QgMS4wIGFu
ZCBmYWJzKHYpIDw9M0QgMS4wIGFuZCBpdGVyYXRpb25zIDwgbWF4X2l0ZXIpOgorICAgICAgICBy
YXkudSA9M0QgdQorICAgICAgICByYXkudiA9M0QgdgorICAgICAgICByYXkudGZhciA9M0QgdAor
ICAgICAgICByYXkuZ2VvbUlEID0zRCBwYXRjaC5nZW9tSUQKKyAgICAgICAgcmF5LnByaW1JRCA9
M0QgaXRlbQorICAgICAgICBjcm9zcyhTdSwgU3YsIHJheS5OZykKKworICAgIHJldHVybgorCisK
K0BjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCitAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCitA
Y3l0aG9uLmNkaXZpc2lvbihUcnVlKQorY2RlZiB2b2lkIHBhdGNoT2NjbHVkZWRGdW5jKFBhdGNo
KiBwYXRjaGVzLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0Y3IuUlRDUmF5JiBy
YXksPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGl0ZW0pIG5vZ2lsOgor
ICAgIHBhc3MKCmRpZmYgLXIgZjA3MDIxNDBmZmQ3NzE4MGMwNDBmMGFhZjU5YTEzNWNhNTY4NWQ3
MCAtciBiNWNmZjZmZTJmMDMyZWJmNWM2ZTkwMz0KYzNkNjlmMTg5ZjdlOTIyMjAgeXQvdXRpbGl0
aWVzL2xpYi9zZXR1cC5weQotLS0gYS95dC91dGlsaXRpZXMvbGliL3NldHVwLnB5CisrKyBiL3l0
L3V0aWxpdGllcy9saWIvc2V0dXAucHkKQEAgLTE4NCw2ICsxODQsMTEgQEAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPTNEWyJ5dC91dGlsaXRpZXMvbGliIiwgaW5j
bHVkZV9kPQppcnNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9M0Rb
Im0iLCAiZW1icmVlIl0sIGxhbmd1YWdlPTNEImMrKyIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRlcGVuZHM9M0RbInl0L3V0aWxpdGllcy9saWIvbWVzaF9zYW1wbGVycy5weD0KZCJd
KQorICAgICAgICBjb25maWcuYWRkX2V4dGVuc2lvbigibWVzaF9pbnRlcnNlY3Rpb24iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbInl0L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNl
Y3Rpb24ucHl4Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlycz0z
RFsieXQvdXRpbGl0aWVzL2xpYiIsIGluY2x1ZGVfZD0KaXJzXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGlicmFyaWVzPTNEWyJtIiwgImVtYnJlZSJdLCBsYW5ndWFnZT0zRCJjKysi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzPTNEWyJ5dC91dGlsaXRpZXMv
bGliL21lc2hfaW50ZXJzZWN0aW89Cm4ucHhkIl0pCiAgICAgY29uZmlnLmFkZF9zdWJwYWNrYWdl
KCJ0ZXN0cyIpCj0yMAogICAgIGlmIG9zLmVudmlyb24uZ2V0KCJHUEVSRlRPT0xTIiwgIm5vIiku
dXBwZXIoKSAhPTNEICJOTyI6CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L2NvbW1pdHMvYjVjYjVhYTgwYzRjLwpDaGFuZ2VzZXQ6ICAgYjVjYjVhYTgwYzRjCkJyYW5jaDog
ICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0xMSAyMzow
NzoyNSswMDowMApTdW1tYXJ5OiAgICAgaG9va2luZyB0aGluZ3MgdXAgdG8gdGhlIG1lc2ggc291
cmNlCkFmZmVjdGVkICM6ICAyIGZpbGVzCgpkaWZmIC1yIGI1Y2ZmNmZlMmYwMzJlYmY1YzZlOTAz
YzNkNjlmMTg5ZjdlOTIyMjAgLXIgYjVjYjVhYTgwYzRjYjU0ZTQ4ZDEwMzc9CjJmNTk1ZDIzZWI0
ZmZiMjUyIHl0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4Ci0tLSBhL3l0L3V0
aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIv
bWVzaF9jb25zdHJ1Y3Rpb24ucHl4CkBAIC0yNDgsNyArMjQ4LDYgQEAKICAgICAgICAgICAgIHJh
aXNlIE5vdEltcGxlbWVudGVkRXJyb3IKPTIwCiAgICAgICAgIHNlbGYuX2J1aWxkX2Zyb21faW5k
aWNlcyhzY2VuZSwgdmVydGljZXMsIGluZGljZXMpCi0gICAgICAgIHNlbGYuX3NldF9zYW1wbGVy
X3R5cGUoc2NlbmUpCj0yMAogICAgIGNkZWYgdm9pZCBfYnVpbGRfZnJvbV9pbmRpY2VzKHNlbGYs
IFlURW1icmVlU2NlbmUgc2NlbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bnAubmRhcnJheSB2ZXJ0aWNlc19pbiwKQEAgLTI3Myw3ICsyNzIsNyBAQAogICAgICAgICAgICAg
ICAgIHBhdGNoZXNbaSo2ICsgal0uZ2VvbUlEID0zRCBtZXNoCiAgICAgICAgICAgICAgICAgZm9y
IGsgaW4gcmFuZ2UoOCk6ICAjIGZvciBlYWNoIHZlcnRleAogICAgICAgICAgICAgICAgICAgICBm
b3IgaWRpbSBpbiByYW5nZSgzKTogICMgZm9yIGVhY2ggc3BhdGlhbCBkaW1lbnNpb24gKHk9Cmlr
ZXMpCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXRjaGVzW2kqNiArIGpdLnZba11baWRpbV0g
PTNEIHZlcnRpY2VzX2luW25lXVtmYT0KY2VzW2pdXVtrXVtpZGltXQorICAgICAgICAgICAgICAg
ICAgICAgICAgcGF0Y2hlc1tpKjYgKyBqXS52W2tdW2lkaW1dID0zRCB2ZXJ0aWNlc19pbltpbmRp
Y2U9CnNfaW5baV1dW2ZhY2VzW2pdXVtrXVtpZGltXQogICAgICAgICAgICAgICAgIHNlbGYuX3Nl
dF9ib3VuZGluZ19zcGhlcmUocGF0Y2hlc1tpKjYgKyBqXSkKPTIwCiAgICAgICAgIHJ0Y2cucnRj
U2V0VXNlckRhdGEoc2NlbmUuc2NlbmVfaSwgc2VsZi5tZXNoLCAmcGF0Y2hlcykKQEAgLTI4MSw4
ICsyODAsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cnRjZ3UuUlRD
Qm91bmRzRnVuYz4gcGF0Y2hCb3VuZHNGdW5jKQogICAgICAgICBydGNndS5ydGNTZXRJbnRlcnNl
Y3RGdW5jdGlvbihzY2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gsPTIwCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxydGNndS5SVENJbnRlcnNlY3RGdW5jPiBwYXRjaEludGVy
cz0KZWN0RnVuYykKLSAgICAgICAgcnRjZ3UucnRjU2V0T2NjbHVkZWRGdW5jdGlvbiAoc2NlbmUu
c2NlbmVfaSwgc2VsZi5tZXNoLD0yMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA8cnRjZ3UuUlRDT2NjbHVkZWRGdW5jPiBwYXRjaE9jY2x1ZGU9CmRGdW5jKTsKKyAgICAg
ICAgcnRjZ3UucnRjU2V0T2NjbHVkZWRGdW5jdGlvbihzY2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gs
PTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJ0Y2d1LlJUQ09jY2x1
ZGVkRnVuYz4gcGF0Y2hPY2NsdWRlZD0KRnVuYyk7CiAgICAgICAgIHNlbGYucGF0Y2hlcyA9M0Qg
cGF0Y2hlcwogICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2gKPTIwCgpkaWZmIC1yIGI1Y2ZmNmZl
MmYwMzJlYmY1YzZlOTAzYzNkNjlmMTg5ZjdlOTIyMjAgLXIgYjVjYjVhYTgwYzRjYjU0ZTQ4ZDEw
Mzc9CjJmNTk1ZDIzZWI0ZmZiMjUyIHl0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9y
ZW5kZXJfc291cmNlLnB5Ci0tLSBhL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9y
ZW5kZXJfc291cmNlLnB5CisrKyBiL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9y
ZW5kZXJfc291cmNlLnB5CkBAIC0yNzksNyArMjc5LDcgQEAKPTIwCiAgICAgICAgIEV4YW1wbGVz
CiAgICAgICAgIC0tLS0tLS0tCi0gICAgICAgID4+PiBzb3VyY2UgPTNEIE1lc2hTb3VyY2UoZHMs
ICgnYWxsJywgJ2NvbnZlY3RlZCcpKQorICAgICAgICA+Pj4gc291cmNlID0zRCBNZXNoU291cmNl
KGRzLCAoJ2Nvbm5lY3QxJywgJ2NvbnZlY3RlZCcpKQo9MjAKICAgICAgICAgIiIiCiAgICAgICAg
IHN1cGVyKE1lc2hTb3VyY2UsIHNlbGYpLl9faW5pdF9fKCkKQEAgLTMyMCw3ICszMjAsNyBAQAog
ICAgICAgICAgICAgZmllbGRfZGF0YSA9M0QgbnAuZXhwYW5kX2RpbXMoZmllbGRfZGF0YSwgMSkK
ICAgICAgICAgIyBpZiB0aGlzIGlzIGEgaGlnaGVyLW9yZGVyIGVsZW1lbnQsIHdlIGRlbW90ZSB0
byAxc3Qgb3JkZXIKICAgICAgICAgIyBoZXJlLCBmb3Igbm93LgotICAgICAgICBlbGlmIGZpZWxk
X2RhdGEuc2hhcGVbMV0gPTNEPTNEIDI3IG9yIGZpZWxkX2RhdGEuc2hhcGVbMV0gPTNEPTNEIDI9
CjA6CisgICAgICAgIGVsaWYgZmllbGRfZGF0YS5zaGFwZVsxXSA9M0Q9M0QgMjc6ICAjb3IgZmll
bGRfZGF0YS5zaGFwZVsxXSA9M0Q9Cj0zRCAyMDoKICAgICAgICAgICAgICMgaGV4YWhlZHJhbAog
ICAgICAgICAgICAgbXlsb2cud2FybmluZygiSGlnaCBvcmRlciBlbGVtZW50cyBub3QgeWV0IHN1
cHBvcnRlZCwgIiArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkcm9wcGluZyB0byAxc3Qg
b3JkZXIuIikKQEAgLTMzMiwxMSArMzMyLDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJkcm9wcGluZyB0byAxc3Qgb3JkZXIuIikKICAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIGZp
ZWxkX2RhdGFbOiwwOjRdCiAgICAgICAgICAgICBpbmRpY2VzID0zRCBpbmRpY2VzWzosIDA6NF0K
LQotICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2hfY29uc3RydWN0aW9uLkVsZW1lbnRNZXNoKHNl
bGYuc2NlbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZlcnRpY2VzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbmRpY2VzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmaWVsZF9kYXRhKQorICAgICAgICAgICA9MjAKKyAgICAgICAgc2VsZi5tZXNo
ID0zRCBtZXNoX2NvbnN0cnVjdGlvbi5PcmRlcjJFbGVtZW50TWVzaChzZWxmLnNjZW5lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0
aWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kaWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmllbGRfZGF0YSkKPTIwCiAgICAgZGVmIHJlbmRlcihzZWxmLCBjYW1l
cmEsIHpidWZmZXI9M0ROb25lLD0yMAogICAgICAgICAgICAgICAgY21hcD0zRCdhbGdhZScsIGNv
bG9yX2JvdW5kcz0zRE5vbmUpOgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95
dC9jb21taXRzLzRmYjU5MWY2ZmU4Yy8KQ2hhbmdlc2V0OiAgIDRmYjU5MWY2ZmU4YwpCcmFuY2g6
ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMTEgMjM6
Mzc6NTYrMDA6MDAKU3VtbWFyeTogICAgIHB1dHRpbmcgdGhlIGhleDIwIGZhY2VzIGRlZmluaXRp
b25zIGludG8gdGhlIGMgaGVhZGVyIGZpbGUKQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIg
YjVjYjVhYTgwYzRjYjU0ZTQ4ZDEwMzcyZjU5NWQyM2ViNGZmYjI1MiAtciA0ZmI1OTFmNmZlOGM5
ZTgyYWNlYWFmYj0KMDJiZGE5MjNkMjNlMTgyMGMgeXQvdXRpbGl0aWVzL2xpYi9tZXNoX2NvbnN0
cnVjdGlvbi5oCi0tLSBhL3l0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24uaAorKysg
Yi95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLmgKQEAgLTM0LDMgKzM0LDE1IEBA
CiAgIHstMSwgLTEsIC0xfSwKICAgey0xLCAtMSwgLTF9CiB9OworCisvLyBUaGlzIGlzIHVzZWQg
dG8gc2VsZWN0IGZhY2VzIGZyb20gYSAyMC1zaWRlZCBoZXggZWxlbWVudAoraW50IGhleDIwX2Zh
Y2VzWzZdWzhdID0zRCB7CisgIHswLCAxLCA1LCA0LCAxMiwgOCwgIDEzLCAxNn0sPTIwCisgIHsx
LCAyLCA2LCA1LCAxMywgOSwgIDE0LCAxN30sCisgIHszLCAyLCA2LCA3LCAxNSwgMTAsIDE0LCAx
OH0sCisgIHswLCAzLCA3LCA0LCAxMiwgMTEsIDE1LCAxOX0sCisgIHs0LCA1LCA2LCA3LCAxOSwg
MTYsIDE3LCAxOH0sCisgIHswLCAxLCAyLCAzLCAxMSwgOCwgIDksICAxMH0KK307CisKKwoKZGlm
ZiAtciBiNWNiNWFhODBjNGNiNTRlNDhkMTAzNzJmNTk1ZDIzZWI0ZmZiMjUyIC1yIDRmYjU5MWY2
ZmU4YzllODJhY2VhYWZiPQowMmJkYTkyM2QyM2UxODIwYyB5dC91dGlsaXRpZXMvbGliL21lc2hf
Y29uc3RydWN0aW9uLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9u
LnB5eAorKysgYi95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLnB5eApAQCAtNDcs
NyArNDcsNyBAQAogICAgIGludCBURVRSQV9OVAogICAgIGludCB0cmlhbmd1bGF0ZV9oZXhbTUFY
X05VTV9UUkldWzNdCiAgICAgaW50IHRyaWFuZ3VsYXRlX3RldHJhW01BWF9OVU1fVFJJXVszXQot
CisgICAgaW50IGhleDIwX2ZhY2VzWzZdWzhdCj0yMAogY2RlZiBjbGFzcyBFbGVtZW50TWVzaDoK
ICAgICByJycnCkBAIC0yNTksMjAgKzI1OSwxNCBAQAo9MjAKICAgICAgICAgY2RlZiB1bnNpZ25l
ZCBpbnQgbWVzaCA9M0QgcnRjZ3UucnRjTmV3VXNlckdlb21ldHJ5KHNjZW5lLnNjZW5lX2ksPQog
bnApCiAgICAgICAgPTIwCi0gICAgICAgIGZhY2VzID0zRCBbWzAsIDEsIDUsIDQsIDEyLCA4LCAx
MywgMTZdLAotICAgICAgICAgICAgICAgICBbMSwgMiwgNiwgNSwgMTMsIDksIDE0LCAxN10sCi0g
ICAgICAgICAgICAgICAgIFszLCAyLCA2LCA3LCAxNSwgMTAsIDE0LCAxOF0sCi0gICAgICAgICAg
ICAgICAgIFswLCAzLCA3LCA0LCAxMiwgMTEsIDE1LCAxOV0sCi0gICAgICAgICAgICAgICAgIFs0
LCA1LCA2LCA3LCAxOSwgMTYsIDE3LCAxOF0sCi0gICAgICAgICAgICAgICAgIFswLCAxLCAyLCAz
LCAxMSwgOCwgOSwgMTBdXQotCi0gICAgICAgIGNkZWYgUGF0Y2gqIHBhdGNoZXMgPTNEIDxQYXRj
aCo+IG1hbGxvYyhucCAqIHNpemVvZihQYXRjaCkpOworICAgICAgICBvY2RlZiBQYXRjaCogcGF0
Y2hlcyA9M0QgPFBhdGNoKj4gbWFsbG9jKG5wICogc2l6ZW9mKFBhdGNoKSk7CiAgICAgICAgIGZv
ciBpIGluIHJhbmdlKG5lKTogICMgZm9yIGVhY2ggZWxlbWVudAogICAgICAgICAgICAgZm9yIGog
aW4gcmFuZ2UoNik6ICAjIGZvciBlYWNoIGZhY2UKICAgICAgICAgICAgICAgICBwYXRjaGVzW2kq
NiArIGpdLmdlb21JRCA9M0QgbWVzaAogICAgICAgICAgICAgICAgIGZvciBrIGluIHJhbmdlKDgp
OiAgIyBmb3IgZWFjaCB2ZXJ0ZXgKICAgICAgICAgICAgICAgICAgICAgZm9yIGlkaW0gaW4gcmFu
Z2UoMyk6ICAjIGZvciBlYWNoIHNwYXRpYWwgZGltZW5zaW9uICh5PQppa2VzKQotICAgICAgICAg
ICAgICAgICAgICAgICAgcGF0Y2hlc1tpKjYgKyBqXS52W2tdW2lkaW1dID0zRCB2ZXJ0aWNlc19p
bltpbmRpY2U9CnNfaW5baV1dW2ZhY2VzW2pdXVtrXVtpZGltXQorICAgICAgICAgICAgICAgICAg
ICAgICAgcGF0Y2hlc1tpKjYgKyBqXS52W2tdW2lkaW1dID0zRCBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZlcnRpY2VzX2luW2luZGljZXNfaW5baV1dW2hleDIwX2ZhY2VzW2pdW2td
XT0KW2lkaW1dCiAgICAgICAgICAgICAgICAgc2VsZi5fc2V0X2JvdW5kaW5nX3NwaGVyZShwYXRj
aGVzW2kqNiArIGpdKQo9MjAKICAgICAgICAgcnRjZy5ydGNTZXRVc2VyRGF0YShzY2VuZS5zY2Vu
ZV9pLCBzZWxmLm1lc2gsICZwYXRjaGVzKQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFs
eXNpcy95dC9jb21taXRzLzVmMGFiODA5ZTJmOC8KQ2hhbmdlc2V0OiAgIDVmMGFiODA5ZTJmOApC
cmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDkt
MTIgMDM6MjU6NTYrMDA6MDAKU3VtbWFyeTogICAgIGZpeGluZyBhIHNlZ2ZhdWx0CkFmZmVjdGVk
ICM6ICAyIGZpbGVzCgpkaWZmIC1yIDRmYjU5MWY2ZmU4YzllODJhY2VhYWZiMDJiZGE5MjNkMjNl
MTgyMGMgLXIgNWYwYWI4MDllMmY4Y2FlZDlmZmY2NTY9CmQ2Y2FmODRkYmJiYWMxMjE0IHl0L3V0
aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIv
bWVzaF9jb25zdHJ1Y3Rpb24ucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1
Y3Rpb24ucHl4CkBAIC0yNTksNyArMjU5LDcgQEAKPTIwCiAgICAgICAgIGNkZWYgdW5zaWduZWQg
aW50IG1lc2ggPTNEIHJ0Y2d1LnJ0Y05ld1VzZXJHZW9tZXRyeShzY2VuZS5zY2VuZV9pLD0KIG5w
KQogICAgICAgID0yMAotICAgICAgICBvY2RlZiBQYXRjaCogcGF0Y2hlcyA9M0QgPFBhdGNoKj4g
bWFsbG9jKG5wICogc2l6ZW9mKFBhdGNoKSk7CisgICAgICAgIGNkZWYgUGF0Y2gqIHBhdGNoZXMg
PTNEIDxQYXRjaCo+IG1hbGxvYyhucCAqIHNpemVvZihQYXRjaCkpOwogICAgICAgICBmb3IgaSBp
biByYW5nZShuZSk6ICAjIGZvciBlYWNoIGVsZW1lbnQKICAgICAgICAgICAgIGZvciBqIGluIHJh
bmdlKDYpOiAgIyBmb3IgZWFjaCBmYWNlCiAgICAgICAgICAgICAgICAgcGF0Y2hlc1tpKjYgKyBq
XS5nZW9tSUQgPTNEIG1lc2gKQEAgLTI2OSwxNSArMjY5LDE2IEBACiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZlcnRpY2VzX2luW2luZGljZXNfaW5baV1dW2hleDIwX2ZhY2VzW2pdW2td
XT0KW2lkaW1dCiAgICAgICAgICAgICAgICAgc2VsZi5fc2V0X2JvdW5kaW5nX3NwaGVyZShwYXRj
aGVzW2kqNiArIGpdKQo9MjAKLSAgICAgICAgcnRjZy5ydGNTZXRVc2VyRGF0YShzY2VuZS5zY2Vu
ZV9pLCBzZWxmLm1lc2gsICZwYXRjaGVzKQorICAgICAgICBzZWxmLnBhdGNoZXMgPTNEIHBhdGNo
ZXMKKyAgICAgICAgc2VsZi5tZXNoID0zRCBtZXNoCisKKyAgICAgICAgcnRjZy5ydGNTZXRVc2Vy
RGF0YShzY2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gsIHNlbGYucGF0Y2hlcykKICAgICAgICAgcnRj
Z3UucnRjU2V0Qm91bmRzRnVuY3Rpb24oc2NlbmUuc2NlbmVfaSwgc2VsZi5tZXNoLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cnRjZ3UuUlRDQm91bmRzRnVuYz4gcGF0Y2hC
b3VuZHNGdW5jKQogICAgICAgICBydGNndS5ydGNTZXRJbnRlcnNlY3RGdW5jdGlvbihzY2VuZS5z
Y2VuZV9pLCBzZWxmLm1lc2gsPTIwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxydGNndS5SVENJbnRlcnNlY3RGdW5jPiBwYXRjaEludGVycz0KZWN0RnVuYykKICAgICAg
ICAgcnRjZ3UucnRjU2V0T2NjbHVkZWRGdW5jdGlvbihzY2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gs
PTIwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJ0Y2d1LlJUQ09jY2x1
ZGVkRnVuYz4gcGF0Y2hPY2NsdWRlZD0KRnVuYyk7Ci0gICAgICAgIHNlbGYucGF0Y2hlcyA9M0Qg
cGF0Y2hlcwotICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2gKPTIwCiAgICAgY2RlZiB2b2lkIF9z
ZXRfYm91bmRpbmdfc3BoZXJlKHNlbGYsIFBhdGNoIHBhdGNoKToKPTIwCgpkaWZmIC1yIDRmYjU5
MWY2ZmU4YzllODJhY2VhYWZiMDJiZGE5MjNkMjNlMTgyMGMgLXIgNWYwYWI4MDllMmY4Y2FlZDlm
ZmY2NTY9CmQ2Y2FmODRkYmJiYWMxMjE0IHl0L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNlY3Rp
b24ucHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNlY3Rpb24ucHl4CisrKyBi
L3l0L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNlY3Rpb24ucHl4CkBAIC0xMDgsNiArMTA4LDcg
QEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRjZy5SVENCb3VuZHMqIGJvdW5kc19vKSBu
b2dpbDoKPTIwCiAgICAgY2RlZiBpbnQgaQorCiAgICAgY2RlZiBQYXRjaCBwYXRjaCA9M0QgcGF0
Y2hlc1tpdGVtXQogICAgPTIwCiAgICAgY2RlZiBmbG9hdCBsb194ID0zRCAxLjBlMzAwOwoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2U4OGZlNjllM2I4YS8K
Q2hhbmdlc2V0OiAgIGU4OGZlNjllM2I4YQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0
bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMTIgMTY6MjQ6MTErMDA6MDAKU3VtbWFyeTogICAg
IGZpeGluZyBidWcgcmVsYXRlZCB0byBzZXR0aW5nIGJvdW5kaW5nIHNwaGVyZXMKQWZmZWN0ZWQg
IzogIDEgZmlsZQoKZGlmZiAtciA1ZjBhYjgwOWUyZjhjYWVkOWZmZjY1NmQ2Y2FmODRkYmJiYWMx
MjE0IC1yIGU4OGZlNjllM2I4YTA5MmMyYmFjOTQ3PQo5ZDZiNjI1ZjI0MzE4OTMwNiB5dC91dGls
aXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21l
c2hfY29uc3RydWN0aW9uLnB5eAorKysgYi95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0
aW9uLnB5eApAQCAtMjYwLDE1ICsyNjAsMTYgQEAKICAgICAgICAgY2RlZiB1bnNpZ25lZCBpbnQg
bWVzaCA9M0QgcnRjZ3UucnRjTmV3VXNlckdlb21ldHJ5KHNjZW5lLnNjZW5lX2ksPQogbnApCiAg
ICAgICAgPTIwCiAgICAgICAgIGNkZWYgUGF0Y2gqIHBhdGNoZXMgPTNEIDxQYXRjaCo+IG1hbGxv
YyhucCAqIHNpemVvZihQYXRjaCkpOworICAgICAgICBjZGVmIFBhdGNoIHBhdGNoCiAgICAgICAg
IGZvciBpIGluIHJhbmdlKG5lKTogICMgZm9yIGVhY2ggZWxlbWVudAogICAgICAgICAgICAgZm9y
IGogaW4gcmFuZ2UoNik6ICAjIGZvciBlYWNoIGZhY2UKLSAgICAgICAgICAgICAgICBwYXRjaGVz
W2kqNiArIGpdLmdlb21JRCA9M0QgbWVzaAorICAgICAgICAgICAgICAgIHBhdGNoID0zRCBwYXRj
aGVzW2kqNitqXQorICAgICAgICAgICAgICAgIHBhdGNoLmdlb21JRCA9M0QgbWVzaAogICAgICAg
ICAgICAgICAgIGZvciBrIGluIHJhbmdlKDgpOiAgIyBmb3IgZWFjaCB2ZXJ0ZXgKKyAgICAgICAg
ICAgICAgICAgICAgaW5kID0zRCBoZXgyMF9mYWNlc1tqXVtrXQogICAgICAgICAgICAgICAgICAg
ICBmb3IgaWRpbSBpbiByYW5nZSgzKTogICMgZm9yIGVhY2ggc3BhdGlhbCBkaW1lbnNpb24gKHk9
CmlrZXMpCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXRjaGVzW2kqNiArIGpdLnZba11baWRp
bV0gPTNEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljZXNfaW5baW5kaWNl
c19pbltpXV1baGV4MjBfZmFjZXNbal1ba11dPQpbaWRpbV0KLSAgICAgICAgICAgICAgICBzZWxm
Ll9zZXRfYm91bmRpbmdfc3BoZXJlKHBhdGNoZXNbaSo2ICsgal0pCi0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHBhdGNoLnZba11baWRpbV0gPTNEIHZlcnRpY2VzX2luW2luZGljZXNfaW5baV1d
W2luPQpkXVtpZGltXQorICAgICAgICAgICAgICAgIHNlbGYuX3NldF9ib3VuZGluZ19zcGhlcmUo
cGF0Y2gpCiAgICAgICAgIHNlbGYucGF0Y2hlcyA9M0QgcGF0Y2hlcwogICAgICAgICBzZWxmLm1l
c2ggPTNEIG1lc2gKPTIwCkBAIC0yODAsNyArMjgxLDcgQEAKICAgICAgICAgcnRjZ3UucnRjU2V0
T2NjbHVkZWRGdW5jdGlvbihzY2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gsPTIwCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJ0Y2d1LlJUQ09jY2x1ZGVkRnVuYz4gcGF0Y2hP
Y2NsdWRlZD0KRnVuYyk7Cj0yMAotICAgIGNkZWYgdm9pZCBfc2V0X2JvdW5kaW5nX3NwaGVyZShz
ZWxmLCBQYXRjaCBwYXRjaCk6CisgICAgY2RlZiB2b2lkIF9zZXRfYm91bmRpbmdfc3BoZXJlKHNl
bGYsIFBhdGNoJiBwYXRjaCk6Cj0yMAogICAgICAgICAjIHNldCB0aGUgY2VudGVyIHRvIGJlIHRo
ZSBjZW50cm9pZCBvZiB0aGUgcGF0Y2ggdmVydGljZXMKICAgICAgICAgY2RlZiBpbnQgaSwgagoK
Cmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzAwODUxN2JmYjZi
NS8KQ2hhbmdlc2V0OiAgIDAwODUxN2JmYjZiNQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAg
IGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMTIgMTY6MzI6NTUrMDA6MDAKU3VtbWFyeTog
ICAgIGZpeGluZyBidWcgcmVsYXRlZCB0byBzZXR0aW5nIGJvdW5kaW5nIHNwaGVyZXMKQWZmZWN0
ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIgZTg4ZmU2OWUzYjhhMDkyYzJiYWM5NDc5ZDZiNjI1ZjI0
MzE4OTMwNiAtciAwMDg1MTdiZmI2YjU2NDBiOGNlNDA0MD0KOWFhMjUwMDkzNDU1YThjZTAgeXQv
dXRpbGl0aWVzL2xpYi9tZXNoX2ludGVyc2VjdGlvbi5weGQKLS0tIGEveXQvdXRpbGl0aWVzL2xp
Yi9tZXNoX2ludGVyc2VjdGlvbi5weGQKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9tZXNoX2ludGVy
c2VjdGlvbi5weGQKQEAgLTYsNyArNiw3IEBACj0yMAogY2RlZiB2b2lkIHBhdGNoSW50ZXJzZWN0
RnVuYyhQYXRjaCogcGF0Y2hlcyw9MjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRj
ci5SVENSYXkmIHJheSw9MjAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGl0
ZW0pIG5vZ2lsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBpdGVtKQo9MjAK
IGNkZWYgdm9pZCBwYXRjaE9jY2x1ZGVkRnVuYyhQYXRjaCogcGF0Y2hlcyw9MjAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBydGNyLlJUQ1JheSYgcmF5LD0yMAoKZGlmZiAtciBlODhmZTY5
ZTNiOGEwOTJjMmJhYzk0NzlkNmI2MjVmMjQzMTg5MzA2IC1yIDAwODUxN2JmYjZiNTY0MGI4Y2U0
MDQwPQo5YWEyNTAwOTM0NTVhOGNlMCB5dC91dGlsaXRpZXMvbGliL21lc2hfaW50ZXJzZWN0aW9u
LnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfaW50ZXJzZWN0aW9uLnB5eAorKysgYi95
dC91dGlsaXRpZXMvbGliL21lc2hfaW50ZXJzZWN0aW9uLnB5eApAQCAtMTQwLDcgKzE0MCw3IEBA
CiBAY3l0aG9uLmNkaXZpc2lvbihUcnVlKQogY2RlZiB2b2lkIHBhdGNoSW50ZXJzZWN0RnVuYyhQ
YXRjaCogcGF0Y2hlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRjci5SVENSYXkm
IHJheSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGl0ZW0pIG5vZ2lsOgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaXRlbSk6Cj0yMAogICAgIGNkZWYg
UGF0Y2ggcGF0Y2ggPTNEIHBhdGNoZXNbaXRlbV0KPTIwCkBAIC0xNTYsNiArMTU2LDggQEAKICAg
ICBpZiAoRCA8IDAuMCk6CiAgICAgICAgIHJldHVybgo9MjAKKyAgICBwcmludCAnaGVyZScKKwog
ICAgICMgb3RoZXJ3aXNlLCBpdGVyYXRlIHRvIHRoZSBnZXQgdGhlIHRydWUgaGl0IHBvc2l0aW9u
CiAgICAgIyBmaXJzdCB3ZSBjb21wdXRlIHRoZSB0aGUgdHdvIHBsYW5lcyB0aGF0IGRlZmluZSB0
aGUgcmF5LgogICAgIGNkZWYgZmxvYXRbM10gbiwgTjEsIE4yCgoKaHR0cHM6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvYTU4Mzg4YjYxNDcyLwpDaGFuZ2VzZXQ6ICAgYTU4
Mzg4YjYxNDcyCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAg
ICAgMjAxNS0wOS0xMiAxNzowMDozMyswMDowMApTdW1tYXJ5OiAgICAgZml4aW5nIGFuIGFsaWFz
aW5nIGlzc3VlCkFmZmVjdGVkICM6ICAzIGZpbGVzCgpkaWZmIC1yIDAwODUxN2JmYjZiNTY0MGI4
Y2U0MDQwOWFhMjUwMDkzNDU1YThjZTAgLXIgYTU4Mzg4YjYxNDcyNmQ1Mjc2ZTE2Njk9CmRiNDNh
ZTlhN2VmOWFiZjU2IHl0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4Ci0tLSBh
L3l0L3V0aWxpdGllcy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4CisrKyBiL3l0L3V0aWxpdGll
cy9saWIvbWVzaF9jb25zdHJ1Y3Rpb24ucHl4CkBAIC0yNjAsMTYgKzI2MCwxNyBAQAogICAgICAg
ICBjZGVmIHVuc2lnbmVkIGludCBtZXNoID0zRCBydGNndS5ydGNOZXdVc2VyR2VvbWV0cnkoc2Nl
bmUuc2NlbmVfaSw9CiBucCkKICAgICAgICA9MjAKICAgICAgICAgY2RlZiBQYXRjaCogcGF0Y2hl
cyA9M0QgPFBhdGNoKj4gbWFsbG9jKG5wICogc2l6ZW9mKFBhdGNoKSk7Ci0gICAgICAgIGNkZWYg
UGF0Y2ggcGF0Y2gKKyAgICAgICAgY2RlZiBQYXRjaCogcGF0Y2gKICAgICAgICAgZm9yIGkgaW4g
cmFuZ2UobmUpOiAgIyBmb3IgZWFjaCBlbGVtZW50CiAgICAgICAgICAgICBmb3IgaiBpbiByYW5n
ZSg2KTogICMgZm9yIGVhY2ggZmFjZQotICAgICAgICAgICAgICAgIHBhdGNoID0zRCBwYXRjaGVz
W2kqNitqXQorICAgICAgICAgICAgICAgIHBhdGNoID0zRCAmKHBhdGNoZXNbaSo2K2pdKQogICAg
ICAgICAgICAgICAgIHBhdGNoLmdlb21JRCA9M0QgbWVzaAogICAgICAgICAgICAgICAgIGZvciBr
IGluIHJhbmdlKDgpOiAgIyBmb3IgZWFjaCB2ZXJ0ZXgKICAgICAgICAgICAgICAgICAgICAgaW5k
ID0zRCBoZXgyMF9mYWNlc1tqXVtrXQogICAgICAgICAgICAgICAgICAgICBmb3IgaWRpbSBpbiBy
YW5nZSgzKTogICMgZm9yIGVhY2ggc3BhdGlhbCBkaW1lbnNpb24gKHk9CmlrZXMpCiAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXRjaC52W2tdW2lkaW1dID0zRCB2ZXJ0aWNlc19pbltpbmRpY2Vz
X2luW2ldXVtpbj0KZF1baWRpbV0KICAgICAgICAgICAgICAgICBzZWxmLl9zZXRfYm91bmRpbmdf
c3BoZXJlKHBhdGNoKQorCiAgICAgICAgIHNlbGYucGF0Y2hlcyA9M0QgcGF0Y2hlcwogICAgICAg
ICBzZWxmLm1lc2ggPTNEIG1lc2gKPTIwCkBAIC0yNzksOSArMjgwLDkgQEAKICAgICAgICAgcnRj
Z3UucnRjU2V0SW50ZXJzZWN0RnVuY3Rpb24oc2NlbmUuc2NlbmVfaSwgc2VsZi5tZXNoLD0yMAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cnRjZ3UuUlRDSW50ZXJzZWN0
RnVuYz4gcGF0Y2hJbnRlcnM9CmVjdEZ1bmMpCiAgICAgICAgIHJ0Y2d1LnJ0Y1NldE9jY2x1ZGVk
RnVuY3Rpb24oc2NlbmUuc2NlbmVfaSwgc2VsZi5tZXNoLD0yMAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDxydGNndS5SVENPY2NsdWRlZEZ1bmM+IHBhdGNoT2NjbHVkZWQ9
CkZ1bmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxydGNndS5SVENP
Y2NsdWRlZEZ1bmM+IHBhdGNoT2NjbHVkZWQ9CkZ1bmMpCj0yMAotICAgIGNkZWYgdm9pZCBfc2V0
X2JvdW5kaW5nX3NwaGVyZShzZWxmLCBQYXRjaCYgcGF0Y2gpOgorICAgIGNkZWYgdm9pZCBfc2V0
X2JvdW5kaW5nX3NwaGVyZShzZWxmLCBQYXRjaCogcGF0Y2gpOgo9MjAKICAgICAgICAgIyBzZXQg
dGhlIGNlbnRlciB0byBiZSB0aGUgY2VudHJvaWQgb2YgdGhlIHBhdGNoIHZlcnRpY2VzCiAgICAg
ICAgIGNkZWYgaW50IGksIGoKCmRpZmYgLXIgMDA4NTE3YmZiNmI1NjQwYjhjZTQwNDA5YWEyNTAw
OTM0NTVhOGNlMCAtciBhNTgzODhiNjE0NzI2ZDUyNzZlMTY2OT0KZGI0M2FlOWE3ZWY5YWJmNTYg
eXQvdXRpbGl0aWVzL2xpYi9tZXNoX2ludGVyc2VjdGlvbi5weGQKLS0tIGEveXQvdXRpbGl0aWVz
L2xpYi9tZXNoX2ludGVyc2VjdGlvbi5weGQKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9tZXNoX2lu
dGVyc2VjdGlvbi5weGQKQEAgLTE0LDQgKzE0LDQgQEAKPTIwCiBjZGVmIHZvaWQgcGF0Y2hCb3Vu
ZHNGdW5jKFBhdGNoKiBwYXRjaGVzLD0yMAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl
X3QgaXRlbSw9MjAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcnRjZy5SVENCb3VuZHMqIGJv
dW5kc19vKSBub2dpbAorICAgICAgICAgICAgICAgICAgICAgICAgICBydGNnLlJUQ0JvdW5kcyog
Ym91bmRzX28pCgpkaWZmIC1yIDAwODUxN2JmYjZiNTY0MGI4Y2U0MDQwOWFhMjUwMDkzNDU1YThj
ZTAgLXIgYTU4Mzg4YjYxNDcyNmQ1Mjc2ZTE2Njk9CmRiNDNhZTlhN2VmOWFiZjU2IHl0L3V0aWxp
dGllcy9saWIvbWVzaF9pbnRlcnNlY3Rpb24ucHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvbWVz
aF9pbnRlcnNlY3Rpb24ucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNlY3Rp
b24ucHl4CkBAIC01Niw3ICs1Niw3IEBACiAgICAgICAgICAgICAgICggMC4yNSoodiArIDEuMCkq
KHUgKyB2IC0gMSkgKyAwLjI1Kih1ICsgMS4wKSoodiArIDEuMCkpKnBhdD0KY2gudlsyXVtpXSAr
IFwKICAgICAgICAgICAgICAgKCAwLjI1Kih2ICsgMS4wKSoodSAtIHYgKyAxKSArIDAuMjUqKHUg
LSAxLjApKih2ICsgMS4wKSkqcGF0PQpjaC52WzNdW2ldICsgXAogICAgICAgICAgICAgICAwLjUq
KHYqdiAtIDEuMCkqcGF0Y2gudls0XVtpXSArIHUqKHYgLSAxLjApKnBhdGNoLnZbNV1baV0gLSBc
Ci0gICAgICAgICAgICAgIDAuNSoodip2IC0gMS4wKSpwYXRjaC52WzZdW2ldIC0gdSoodiArIDEu
MCkqcGF0Y2gudls3XVtpXTsKKyAgICAgICAgICAgICAgMC41Kih2KnYgLSAxLjApKnBhdGNoLnZb
Nl1baV0gLSB1Kih2ICsgMS4wKSpwYXRjaC52WzddW2ldCj0yMAo9MjAKIEBjeXRob24uYm91bmRz
Y2hlY2soRmFsc2UpCkBAIC03Myw3ICs3Myw3IEBACiAgICAgICAgICAgICAgICAgKCAwLjI1Kih1
ICsgMS4wKSoodSArIHYgLSAxKSArIDAuMjUqKHUgKyAxLjApKih2ICsgMS4wKSkqcD0KYXRjaC52
WzJdW2ldICsgXAogICAgICAgICAgICAgICAgICggMC4yNSoodSAtIDEuMCkqKHUgLSB2ICsgMSkg
LSAwLjI1Kih1IC0gMS4wKSoodiArIDEuMCkpKnA9CmF0Y2gudlszXVtpXSArIFwKICAgICAgICAg
ICAgICAgICAwLjUqKHUqdSAtIDEuMCkqcGF0Y2gudls1XVtpXSArIHYqKHUgLSAxLjApKnBhdGNo
LnZbNF1baV0gPQotIFwKLSAgICAgICAgICAgICAgICAwLjUqKHUqdSAtIDEuMCkqcGF0Y2gudls3
XVtpXSAtIHYqKHUgKyAxLjApKnBhdGNoLnZbNl1baV07CisgICAgICAgICAgICAgICAgMC41Kih1
KnUgLSAxLjApKnBhdGNoLnZbN11baV0gLSB2Kih1ICsgMS4wKSpwYXRjaC52WzZdW2ldCj0yMAo9
MjAKIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCkBAIC0xMDUsMzQgKzEwNSwzMyBAQAogQGN5
dGhvbi5jZGl2aXNpb24oVHJ1ZSkKIGNkZWYgdm9pZCBwYXRjaEJvdW5kc0Z1bmMoUGF0Y2gqIHBh
dGNoZXMsPTIwCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBpdGVtLD0yMAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBydGNnLlJUQ0JvdW5kcyogYm91bmRzX28pIG5vZ2lsOgot
Ci0gICAgY2RlZiBpbnQgaQorICAgICAgICAgICAgICAgICAgICAgICAgICBydGNnLlJUQ0JvdW5k
cyogYm91bmRzX28pOgo9MjAKICAgICBjZGVmIFBhdGNoIHBhdGNoID0zRCBwYXRjaGVzW2l0ZW1d
CiAgICA9MjAKLSAgICBjZGVmIGZsb2F0IGxvX3ggPTNEIDEuMGUzMDA7Ci0gICAgY2RlZiBmbG9h
dCBsb195ID0zRCAxLjBlMzAwOwotICAgIGNkZWYgZmxvYXQgbG9feiA9M0QgMS4wZTMwMDsKKyAg
ICBjZGVmIGZsb2F0IGxvX3ggPTNEIDEuMGUzMDAKKyAgICBjZGVmIGZsb2F0IGxvX3kgPTNEIDEu
MGUzMDAKKyAgICBjZGVmIGZsb2F0IGxvX3ogPTNEIDEuMGUzMDAKPTIwCi0gICAgY2RlZiBmbG9h
dCBoaV94ID0zRCAtMS4wZTMwMDsKLSAgICBjZGVmIGZsb2F0IGhpX3kgPTNEIC0xLjBlMzAwOwot
ICAgIGNkZWYgZmxvYXQgaGlfeiA9M0QgLTEuMGUzMDA7CisgICAgY2RlZiBmbG9hdCBoaV94ID0z
RCAtMS4wZTMwMAorICAgIGNkZWYgZmxvYXQgaGlfeSA9M0QgLTEuMGUzMDAKKyAgICBjZGVmIGZs
b2F0IGhpX3ogPTNEIC0xLjBlMzAwCj0yMAorICAgIGNkZWYgaW50IGkKICAgICBmb3IgaSBpbiBy
YW5nZSg4KToKLSAgICAgICAgbG9feCA9M0QgZm1pbihsb194LCBwYXRjaC52W2ldWzBdKTsKLSAg
ICAgICAgbG9feSA9M0QgZm1pbihsb195LCBwYXRjaC52W2ldWzFdKTsKLSAgICAgICAgbG9feiA9
M0QgZm1pbihsb196LCBwYXRjaC52W2ldWzJdKTsKLSAgICAgICAgaGlfeCA9M0QgZm1heChoaV94
LCBwYXRjaC52W2ldWzBdKTsKLSAgICAgICAgaGlfeSA9M0QgZm1heChoaV95LCBwYXRjaC52W2ld
WzFdKTsKLSAgICAgICAgaGlfeiA9M0QgZm1heChoaV96LCBwYXRjaC52W2ldWzJdKTsKKyAgICAg
ICAgbG9feCA9M0QgZm1pbihsb194LCBwYXRjaC52W2ldWzBdKQorICAgICAgICBsb195ID0zRCBm
bWluKGxvX3ksIHBhdGNoLnZbaV1bMV0pCisgICAgICAgIGxvX3ogPTNEIGZtaW4obG9feiwgcGF0
Y2gudltpXVsyXSkKKyAgICAgICAgaGlfeCA9M0QgZm1heChoaV94LCBwYXRjaC52W2ldWzBdKQor
ICAgICAgICBoaV95ID0zRCBmbWF4KGhpX3ksIHBhdGNoLnZbaV1bMV0pCisgICAgICAgIGhpX3og
PTNEIGZtYXgoaGlfeiwgcGF0Y2gudltpXVsyXSkKPTIwCi0gICAgYm91bmRzX28ubG93ZXJfeCA9
M0QgbG9feDsKLSAgICBib3VuZHNfby5sb3dlcl95ID0zRCBsb195OwotICAgIGJvdW5kc19vLmxv
d2VyX3ogPTNEIGxvX3o7Ci0gICAgYm91bmRzX28udXBwZXJfeCA9M0QgaGlfeDsKLSAgICBib3Vu
ZHNfby51cHBlcl95ID0zRCBoaV95OwotICAgIGJvdW5kc19vLnVwcGVyX3ogPTNEIGhpX3o7Cisg
ICAgYm91bmRzX28ubG93ZXJfeCA9M0QgbG9feAorICAgIGJvdW5kc19vLmxvd2VyX3kgPTNEIGxv
X3kKKyAgICBib3VuZHNfby5sb3dlcl96ID0zRCBsb196CisgICAgYm91bmRzX28udXBwZXJfeCA9
M0QgaGlfeAorICAgIGJvdW5kc19vLnVwcGVyX3kgPTNEIGhpX3kKKyAgICBib3VuZHNfby51cHBl
cl96ID0zRCBoaV96Cj0yMAo9MjAKIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCkBAIC0xNTYs
OCArMTU1LDYgQEAKICAgICBpZiAoRCA8IDAuMCk6CiAgICAgICAgIHJldHVybgo9MjAKLSAgICBw
cmludCAnaGVyZScKLQogICAgICMgb3RoZXJ3aXNlLCBpdGVyYXRlIHRvIHRoZSBnZXQgdGhlIHRy
dWUgaGl0IHBvc2l0aW9uCiAgICAgIyBmaXJzdCB3ZSBjb21wdXRlIHRoZSB0aGUgdHdvIHBsYW5l
cyB0aGF0IGRlZmluZSB0aGUgcmF5LgogICAgIGNkZWYgZmxvYXRbM10gbiwgTjEsIE4yCgoKaHR0
cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMDU2NmU5ZWM0YjIyLwpD
aGFuZ2VzZXQ6ICAgMDU2NmU5ZWM0YjIyCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRt
eWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0xNCAxODo0Mzo1MiswMDowMApTdW1tYXJ5OiAgICAg
bm8gbmVlZCB0byBoYXZlIHRoZSBvY2NsdWRlZCBmdW5jdGlvbgpBZmZlY3RlZCAjOiAgMyBmaWxl
cwoKZGlmZiAtciBhNTgzODhiNjE0NzI2ZDUyNzZlMTY2OWRiNDNhZTlhN2VmOWFiZjU2IC1yIDA1
NjZlOWVjNGIyMjdhZDkwYTc5YjNlPQo5ODZjNTVmOGM0YTUyMGU4ZSB5dC91dGlsaXRpZXMvbGli
L21lc2hfY29uc3RydWN0aW9uLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3Ry
dWN0aW9uLnB5eAorKysgYi95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLnB5eApA
QCAtMzEsNyArMzEsNiBAQAogICAgIFZlYzNmCiBmcm9tIG1lc2hfaW50ZXJzZWN0aW9uIGNpbXBv
cnQgXAogICAgIHBhdGNoSW50ZXJzZWN0RnVuYywgXAotICAgIHBhdGNoT2NjbHVkZWRGdW5jLCBc
CiAgICAgcGF0Y2hCb3VuZHNGdW5jCiBmcm9tIGxpYmMuc3RkbGliIGNpbXBvcnQgbWFsbG9jLCBm
cmVlCiBmcm9tIGxpYmMubWF0aCBjaW1wb3J0IGZtYXgsIHNxcnQKQEAgLTI3OSw4ICsyNzgsNiBA
QAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cnRjZ3UuUlRDQm91bmRzRnVu
Yz4gcGF0Y2hCb3VuZHNGdW5jKQogICAgICAgICBydGNndS5ydGNTZXRJbnRlcnNlY3RGdW5jdGlv
bihzY2VuZS5zY2VuZV9pLCBzZWxmLm1lc2gsPTIwCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxydGNndS5SVENJbnRlcnNlY3RGdW5jPiBwYXRjaEludGVycz0KZWN0RnVu
YykKLSAgICAgICAgcnRjZ3UucnRjU2V0T2NjbHVkZWRGdW5jdGlvbihzY2VuZS5zY2VuZV9pLCBz
ZWxmLm1lc2gsPTIwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJ0Y2d1
LlJUQ09jY2x1ZGVkRnVuYz4gcGF0Y2hPY2NsdWRlZD0KRnVuYykKPTIwCiAgICAgY2RlZiB2b2lk
IF9zZXRfYm91bmRpbmdfc3BoZXJlKHNlbGYsIFBhdGNoKiBwYXRjaCk6Cj0yMAoKZGlmZiAtciBh
NTgzODhiNjE0NzI2ZDUyNzZlMTY2OWRiNDNhZTlhN2VmOWFiZjU2IC1yIDA1NjZlOWVjNGIyMjdh
ZDkwYTc5YjNlPQo5ODZjNTVmOGM0YTUyMGU4ZSB5dC91dGlsaXRpZXMvbGliL21lc2hfaW50ZXJz
ZWN0aW9uLnB4ZAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfaW50ZXJzZWN0aW9uLnB4ZAor
KysgYi95dC91dGlsaXRpZXMvbGliL21lc2hfaW50ZXJzZWN0aW9uLnB4ZApAQCAtNiwxMiArNiw4
IEBACj0yMAogY2RlZiB2b2lkIHBhdGNoSW50ZXJzZWN0RnVuYyhQYXRjaCogcGF0Y2hlcyw9MjAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRjci5SVENSYXkmIHJheSw9MjAKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGl0ZW0pCi0KLWNkZWYgdm9pZCBwYXRjaE9j
Y2x1ZGVkRnVuYyhQYXRjaCogcGF0Y2hlcyw9MjAKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydGNyLlJUQ1JheSYgcmF5LD0yMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf
dCBpdGVtKSBub2dpbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaXRlbSkg
bm9naWwKPTIwCiBjZGVmIHZvaWQgcGF0Y2hCb3VuZHNGdW5jKFBhdGNoKiBwYXRjaGVzLD0yMAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaXRlbSw9MjAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgcnRjZy5SVENCb3VuZHMqIGJvdW5kc19vKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICBydGNnLlJUQ0JvdW5kcyogYm91bmRzX28pIG5vZ2lsCgpkaWZmIC1yIGE1ODM4OGI2
MTQ3MjZkNTI3NmUxNjY5ZGI0M2FlOWE3ZWY5YWJmNTYgLXIgMDU2NmU5ZWM0YjIyN2FkOTBhNzli
M2U9Cjk4NmM1NWY4YzRhNTIwZThlIHl0L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNlY3Rpb24u
cHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNlY3Rpb24ucHl4CisrKyBiL3l0
L3V0aWxpdGllcy9saWIvbWVzaF9pbnRlcnNlY3Rpb24ucHl4CkBAIC0xMDUsNyArMTA1LDcgQEAK
IEBjeXRob24uY2RpdmlzaW9uKFRydWUpCiBjZGVmIHZvaWQgcGF0Y2hCb3VuZHNGdW5jKFBhdGNo
KiBwYXRjaGVzLD0yMAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaXRlbSw9MjAK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgcnRjZy5SVENCb3VuZHMqIGJvdW5kc19vKToKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgcnRjZy5SVENCb3VuZHMqIGJvdW5kc19vKSBub2dpbDoK
PTIwCiAgICAgY2RlZiBQYXRjaCBwYXRjaCA9M0QgcGF0Y2hlc1tpdGVtXQogICAgPTIwCkBAIC0x
MzksNyArMTM5LDcgQEAKIEBjeXRob24uY2RpdmlzaW9uKFRydWUpCiBjZGVmIHZvaWQgcGF0Y2hJ
bnRlcnNlY3RGdW5jKFBhdGNoKiBwYXRjaGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydGNyLlJUQ1JheSYgcmF5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qg
aXRlbSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBpdGVtKSBub2dpbDoK
PTIwCiAgICAgY2RlZiBQYXRjaCBwYXRjaCA9M0QgcGF0Y2hlc1tpdGVtXQo9MjAKQEAgLTIyNywx
MiArMjI3LDMgQEAKICAgICAgICAgY3Jvc3MoU3UsIFN2LCByYXkuTmcpCj0yMAogICAgIHJldHVy
bgotCi0KLUBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCi1AY3l0aG9uLndyYXBhcm91bmQoRmFs
c2UpCi1AY3l0aG9uLmNkaXZpc2lvbihUcnVlKQotY2RlZiB2b2lkIHBhdGNoT2NjbHVkZWRGdW5j
KFBhdGNoKiBwYXRjaGVzLD0yMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0Y3IuUlRD
UmF5JiByYXksPTIwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGl0ZW0pIG5v
Z2lsOgotICAgIHBhc3MKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29t
bWl0cy9kMDE4MzE1ZDgwZjUvCkNoYW5nZXNldDogICBkMDE4MzE1ZDgwZjUKQnJhbmNoOiAgICAg
IHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTE0IDE4OjU4OjMy
KzAwOjAwClN1bW1hcnk6ICAgICBpbXByb3ZpbmcgdGhlIGxvZ2ljIG9mIG1lc2hfc291cmNlIHNv
IGl0IHBpY2tzIHRoZSByaWdodCBvcmRlcj0KIGJhc2VkIG9uIHRoZSBzaGFwZSBvZiB0aGUgaW5k
ZXggYXJyYXkKQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIgMDU2NmU5ZWM0YjIyN2FkOTBh
NzliM2U5ODZjNTVmOGM0YTUyMGU4ZSAtciBkMDE4MzE1ZDgwZjVjMWQxMmYyNzg1OT0KZDFiNDQz
YWQ1NWNjYjJhY2YgeXQvdXRpbGl0aWVzL2xpYi9tZXNoX2NvbnN0cnVjdGlvbi5weXgKLS0tIGEv
eXQvdXRpbGl0aWVzL2xpYi9tZXNoX2NvbnN0cnVjdGlvbi5weXgKKysrIGIveXQvdXRpbGl0aWVz
L2xpYi9tZXNoX2NvbnN0cnVjdGlvbi5weXgKQEAgLTEsNSArMSw1IEBACiAiIiIKLVRoaXMgZmls
ZSBjb250YWlucyB0aGUgRWxlbWVudE1lc2gsIHdoaWNoIHJlcHJlc2VudHMgdGhlIHRhcmdldCB0
aGF0IHRoZT0yMAorVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBFbGVtZW50TWVzaCBjbGFzc2VzLCB3
aGljaCByZXByZXNlbnQgdGhlIHRhcmdldCB0aGE9CnQgdGhlPTIwCiByYXlzIHdpbGwgYmUgY2Fz
dCBhdCB3aGVuIHJlbmRlcmluZyBmaW5pdGUgZWxlbWVudCBkYXRhLiBUaGlzIGNsYXNzIGhhbmRs
ZXMKIHRoZSBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gb2Yg
dGhlIG1lc2ggYW5kIHRoZSBweWVtPQpicmVlCiByZXByZXNlbnRhdGlvbi4KQEAgLTM2LDYgKzM2
LDcgQEAKIGZyb20gbGliYy5tYXRoIGNpbXBvcnQgZm1heCwgc3FydAogaW1wb3J0IG51bXB5IGFz
IG5wCj0yMAorCiBjZGVmIGV4dGVybiBmcm9tICJtZXNoX2NvbnN0cnVjdGlvbi5oIjoKICAgICBl
bnVtOgogICAgICAgICBNQVhfTlVNX1RSSQpAQCAtNDgsOSArNDksMTEgQEAKICAgICBpbnQgdHJp
YW5ndWxhdGVfdGV0cmFbTUFYX05VTV9UUkldWzNdCiAgICAgaW50IGhleDIwX2ZhY2VzWzZdWzhd
Cj0yMAotY2RlZiBjbGFzcyBFbGVtZW50TWVzaDoKKworY2RlZiBjbGFzcyBMaW5lYXJFbGVtZW50
TWVzaDoKICAgICByJycnCj0yMAorICAgIFRoaXMgY3JlYXRlcyBhIDFzdC1vcmRlciBtZXNoIHRv
IGJlIHJheS10cmFjZWQgd2l0aCBlbWJyZWUuCiAgICAgQ3VycmVudGx5LCB3ZSBoYW5kbGUgbm9u
LXRyaWFuZ3VsYXIgbWVzaCB0eXBlcyBieSBjb252ZXJ0aW5nIHRoZW09MjAKICAgICB0byB0cmlh
bmd1bGFyIG1lc2hlcy4gVGhpcyBjbGFzcyBwZXJmb3JtcyB0aGlzIHRyYW5zZm9ybWF0aW9uLgog
ICAgIEN1cnJlbnRseSwgdGhpcyBpcyBpbXBsZW1lbnRlZCBmb3IgaGV4YWhlZHJhbCBhbmQgdGV0
cmFoZWRyYWwKQEAgLTE5OSwxOCArMjAyLDE4IEBACiAgICAgICAgIGZyZWUoc2VsZi5pbmRpY2Vz
KQo9MjAKPTIwCi1jZGVmIGNsYXNzIE9yZGVyMkVsZW1lbnRNZXNoOgorY2RlZiBjbGFzcyBRdWFk
cmF0aWNFbGVtZW50TWVzaDoKICAgICByJycnCj0yMAotICAgIEN1cnJlbnRseSwgd2UgaGFuZGxl
IG5vbi10cmlhbmd1bGFyIG1lc2ggdHlwZXMgYnkgY29udmVydGluZyB0aGVtPTIwCi0gICAgdG8g
dHJpYW5ndWxhciBtZXNoZXMuIFRoaXMgY2xhc3MgcGVyZm9ybXMgdGhpcyB0cmFuc2Zvcm1hdGlv
bi4KKyAgICBUaGlzIGNyZWF0ZXMgYSBtZXNoIG9mIHF1YWRyYXRpYyBwYXRjaGVzIGNvcnJlc3Bv
bmRpbmcgdG8gdGhlIGZhY2VzCisgICAgb2YgMm5kLW9yZGVyIExhZ3JhbmdlIGVsZW1lbnRzIGZv
ciBkaXJlY3QgcmVuZGVyaW5nIHZpYSBlbWJyZWUuCiAgICAgQ3VycmVudGx5LCB0aGlzIGlzIGlt
cGxlbWVudGVkIGZvciAyMC1wb2ludCBoZXhhaGVkcmFsIG1lc2hlcyBvbmx5Lgo9MjAKICAgICBQ
YXJhbWV0ZXJzCiAgICAgLS0tLS0tLS0tLQo9MjAKICAgICBzY2VuZSA6IEVtYnJlZVNjZW5lCi0g
ICAgICAgIFRoaXMgaXMgdGhlIHNjZW5lIHRvIHdoaWNoIHRoZSBjb25zdHJ1Y3RlZCBwb2x5Z29u
cyB3aWxsIGJlCisgICAgICAgIFRoaXMgaXMgdGhlIHNjZW5lIHRvIHdoaWNoIHRoZSBjb25zdHJ1
Y3RlZCBwYXRjaGVzIHdpbGwgYmUKICAgICAgICAgYWRkZWQuCiAgICAgdmVydGljZXMgOiBhIG5w
Lm5kYXJyYXkgb2YgZmxvYXRzLj0yMAogICAgICAgICBUaGlzIHNwZWNpZmllcyB0aGUgeCwgeSwg
YW5kIHogY29vcmRpbmF0ZXMgb2YgdGhlIHZlcnRpY2VzIGluPTIwCkBAIC0yMTgsMTMgKzIyMSw5
IEBACiAgICAgICAgIChudW1fdmVydGljZXMsIDMpLiBGb3IgZXhhbXBsZSwgdmVydGljZXNbMl1b
MV0gc2hvdWxkIGdpdmUgdGhlPTIwCiAgICAgICAgIHktY29vcmRpbmF0ZSBvZiB0aGUgM3JkIHZl
cnRleCBpbiB0aGUgbWVzaC4KICAgICBpbmRpY2VzIDogYSBucC5uZGFycmF5IG9mIGludHMKLSAg
ICAgICAgVGhpcyBzaG91bGQgZWl0aGVyIGhhdmUgdGhlIHNoYXBlIChudW1fZWxlbWVudHMsIDQp
IG9yPTIwCi0gICAgICAgIChudW1fZWxlbWVudHMsIDgpIGZvciB0ZXRyYWhlZHJhbCBhbmQgaGV4
YWhlZHJhbCBtZXNoZXMsPTIwCi0gICAgICAgIHJlc3BlY3RpdmVseS4gRm9yIHRldHJhaGVkcmFs
IG1lc2hlcywgZWFjaCBlbGVtZW50IHdpbGw9MjAKLSAgICAgICAgYmUgcmVwcmVzZW50ZWQgYnkg
Zm91ciB0cmlhbmdsZXMgaW4gdGhlIHNjZW5lLiBGb3IgaGV4IG1lc2hlcywKLSAgICAgICAgZWFj
aCBlbGVtZW50IHdpbGwgYmUgcmVwcmVzZW50ZWQgYnkgMTIgdHJpYW5nbGVzLCAyIGZvciBlYWNo
PTIwCi0gICAgICAgIGZhY2UuIEZvciBoZXggbWVzaGVzLCB3ZSBhc3N1bWUgdGhhdCB0aGUgbm9k
ZSBvcmRlcmluZyBpcyBhcwotICAgICAgICBkZWZpbmVkIGhlcmU6PTIwCisgICAgICAgIFRoaXMg
c2hvdWxkIGhhdmUgdGhlIHNoYXBlIChudW1fZWxlbWVudHMsIDIwKS4gRWFjaCBoZXggd2lsbCBi
ZQorICAgICAgICByZXByZXNlbnRlZCBpbiB0aGUgc2NlbmUgYnkgNiBiaS1xdWFkcmF0aWMgcGF0
Y2hlcy4gV2UgYXNzdW1lIHRoYXQ9MjAKKyAgICAgICAgdGhlIG5vZGUgb3JkZXJpbmcgaXMgYXMg
ZGVmaW5lZCBoZXJlOj0yMAogICAgICAgICBodHRwOi8vaG9tZXBhZ2VzLmNhZS53aXNjLmVkdS9+
dGF1dGdlcy9wYXBlcnMvY25tZXYzLnBkZgogICAgICAgICAgICA9MjAKICAgICAnJycKCmRpZmYg
LXIgMDU2NmU5ZWM0YjIyN2FkOTBhNzliM2U5ODZjNTVmOGM0YTUyMGU4ZSAtciBkMDE4MzE1ZDgw
ZjVjMWQxMmYyNzg1OT0KZDFiNDQzYWQ1NWNjYjJhY2YgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVf
cmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVf
cmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVf
cmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKQEAgLTMxOCwyNSArMzE4LDM1IEBACiAgICAgICAg
ICMgaWYgdGhpcyBpcyBhbiBlbGVtZW50IGZpZWxkLCBwcm9tb3RlIHRvIDJEIGhlcmUKICAgICAg
ICAgaWYgbGVuKGZpZWxkX2RhdGEuc2hhcGUpID0zRD0zRCAxOgogICAgICAgICAgICAgZmllbGRf
ZGF0YSA9M0QgbnAuZXhwYW5kX2RpbXMoZmllbGRfZGF0YSwgMSkKLSAgICAgICAgIyBpZiB0aGlz
IGlzIGEgaGlnaGVyLW9yZGVyIGVsZW1lbnQsIHdlIGRlbW90ZSB0byAxc3Qgb3JkZXIKLSAgICAg
ICAgIyBoZXJlLCBmb3Igbm93LgotICAgICAgICBlbGlmIGZpZWxkX2RhdGEuc2hhcGVbMV0gPTNE
PTNEIDI3OiAgI29yIGZpZWxkX2RhdGEuc2hhcGVbMV0gPTNEPQo9M0QgMjA6Ci0gICAgICAgICAg
ICAjIGhleGFoZWRyYWwKLSAgICAgICAgICAgIG15bG9nLndhcm5pbmcoIkhpZ2ggb3JkZXIgZWxl
bWVudHMgbm90IHlldCBzdXBwb3J0ZWQsICIgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAi
ZHJvcHBpbmcgdG8gMXN0IG9yZGVyLiIpCi0gICAgICAgICAgICBmaWVsZF9kYXRhID0zRCBmaWVs
ZF9kYXRhWzosIDA6OF0KLSAgICAgICAgICAgIGluZGljZXMgPTNEIGluZGljZXNbOiwgMDo4XQot
ICAgICAgICBlbGlmIGZpZWxkX2RhdGEuc2hhcGVbMV0gPTNEPTNEIDEwOgotICAgICAgICAgICAg
IyB0ZXRyYWhlZHJhbAotICAgICAgICAgICAgbXlsb2cud2FybmluZygiSGlnaCBvcmRlciBlbGVt
ZW50cyBub3QgeWV0IHN1cHBvcnRlZCwgIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJk
cm9wcGluZyB0byAxc3Qgb3JkZXIuIikKLSAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIGZpZWxk
X2RhdGFbOiwwOjRdCi0gICAgICAgICAgICBpbmRpY2VzID0zRCBpbmRpY2VzWzosIDA6NF0KKwor
ICAgICAgICAjIEhlcmUsIHdlIGRlY2lkZSB3aGV0aGVyIHRvIHJlbmRlciBiYXNlZCBvbiBoaWdo
LW9yZGVyIG9yPTIwCisgICAgICAgICMgbG93LW9yZGVyIGdlb21ldHJ5LiBSaWdodCBub3csIGhp
Z2ggb3JkZXIgZ2VvbWV0cnkgaXMgb25seQorICAgICAgICAjIGltcGxlbWVudGVkIGZvciAyMC1w
b2ludCBoZXhlcy4KKyAgICAgICAgaWYgaW5kaWNlcy5zaGFwZVsxXSA9M0Q9M0QgMjA6CisgICAg
ICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2hfY29uc3RydWN0aW9uLlF1YWRyYXRpY0VsZW1lbnRN
ZXNoKHNlbGYuc2Nlbj0KZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2VzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaWNlcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZpZWxkX2RhdGEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIGlmIHRoaXMgaXMgYW5v
dGhlciB0eXBlIG9mIGhpZ2hlci1vcmRlciBlbGVtZW50LCB3ZSBkZW1vdGU9MjAKKyAgICAgICAg
ICAgICMgdG8gMXN0IG9yZGVyIGhlcmUsIGZvciBub3cuCisgICAgICAgICAgICBpZiBpbmRpY2Vz
LnNoYXBlWzFdID0zRD0zRCAyNzoKKyAgICAgICAgICAgICAgICAjIGhleGFoZWRyYWwKKyAgICAg
ICAgICAgICAgICBteWxvZy53YXJuaW5nKCJIaWdoIG9yZGVyIGVsZW1lbnRzIG5vdCB5ZXQgc3Vw
cG9ydGVkLCAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkcm9wcGluZyB0byAx
c3Qgb3JkZXIuIikKKyAgICAgICAgICAgICAgICBmaWVsZF9kYXRhID0zRCBmaWVsZF9kYXRhWzos
IDA6OF0KKyAgICAgICAgICAgICAgICBpbmRpY2VzID0zRCBpbmRpY2VzWzosIDA6OF0KKyAgICAg
ICAgICAgIGVsaWYgaW5kaWNlcy5zaGFwZVsxXSA9M0Q9M0QgMTA6CisgICAgICAgICAgICAgICAg
IyB0ZXRyYWhlZHJhbAorICAgICAgICAgICAgICAgIG15bG9nLndhcm5pbmcoIkhpZ2ggb3JkZXIg
ZWxlbWVudHMgbm90IHlldCBzdXBwb3J0ZWQsICIgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImRyb3BwaW5nIHRvIDFzdCBvcmRlci4iKQorICAgICAgICAgICAgICAgIGZpZWxkX2Rh
dGEgPTNEIGZpZWxkX2RhdGFbOiwwOjRdCisgICAgICAgICAgICAgICAgaW5kaWNlcyA9M0QgaW5k
aWNlc1s6LCAwOjRdCiAgICAgICAgICAgID0yMAotICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2hf
Y29uc3RydWN0aW9uLk9yZGVyMkVsZW1lbnRNZXNoKHNlbGYuc2NlbmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2VzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRp
Y2VzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaWVsZF9kYXRhKQorICAgICAgICAgICAgICAgIHNlbGYubWVzaCA9M0QgbWVzaF9jb25z
dHJ1Y3Rpb24uTGluZWFyRWxlbWVudE1lc2goc2VsZi5zY2U9Cm5lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2Vz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluZGljZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRfZGF0YSkKPTIwCiAgICAgZGVmIHJlbmRl
cihzZWxmLCBjYW1lcmEsIHpidWZmZXI9M0ROb25lLD0yMAogICAgICAgICAgICAgICAgY21hcD0z
RCdhbGdhZScsIGNvbG9yX2JvdW5kcz0zRE5vbmUpOgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95
dF9hbmFseXNpcy95dC9jb21taXRzL2Q2MGY4ZDMwNmU4ZS8KQ2hhbmdlc2V0OiAgIGQ2MGY4ZDMw
NmU4ZQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIw
MTUtMDktMTQgMTk6MjM6MTgrMDA6MDAKU3VtbWFyeTogICAgIHNwZWVkaW5nIHVwIHRoZSBjb25z
dHJ1Y3Rpb24gb2YgdGhlIHNlY29uZCBvcmRlciBtZXNoZXMKQWZmZWN0ZWQgIzogIDIgZmlsZXMK
CmRpZmYgLXIgZDAxODMxNWQ4MGY1YzFkMTJmMjc4NTlkMWI0NDNhZDU1Y2NiMmFjZiAtciBkNjBm
OGQzMDZlOGU4Y2VlM2U0MzYzZT0KYjhlMWY4OGM1MzNjY2FkMDQgeXQvdXRpbGl0aWVzL2xpYi9t
ZXNoX2NvbnN0cnVjdGlvbi5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9tZXNoX2NvbnN0cnVj
dGlvbi5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9tZXNoX2NvbnN0cnVjdGlvbi5weXgKQEAg
LTEsMyArMSw1IEBACisjIGN5dGhvbjogcHJvZmlsZT0zRFRydWUKKwogIiIiCiBUaGlzIGZpbGUg
Y29udGFpbnMgdGhlIEVsZW1lbnRNZXNoIGNsYXNzZXMsIHdoaWNoIHJlcHJlc2VudCB0aGUgdGFy
Z2V0IHRoYT0KdCB0aGU9MjAKIHJheXMgd2lsbCBiZSBjYXN0IGF0IHdoZW4gcmVuZGVyaW5nIGZp
bml0ZSBlbGVtZW50IGRhdGEuIFRoaXMgY2xhc3MgaGFuZGxlcwpAQCAtMTUsNyArMTcsNyBAQAog
IyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIENPUFlJTkcudHh0LCBkaXN0cmlidXRl
ZCB3aXRoIHRoaXMgc29mdHc9CmFyZS4KICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPQotLS0tCj0yMAotY2lt
cG9ydCBudW1weSBhcyBucAoraW1wb3J0IG51bXB5IGFzIG5wCiBjaW1wb3J0IGN5dGhvbgogY2lt
cG9ydCBweWVtYnJlZS5ydGNvcmUgYXMgcnRjPTIwCiBmcm9tIG1lc2hfdHJhdmVyc2FsIGNpbXBv
cnQgWVRFbWJyZWVTY2VuZQpAQCAtMzQsOCArMzYsNyBAQAogICAgIHBhdGNoQm91bmRzRnVuYwog
ZnJvbSBsaWJjLnN0ZGxpYiBjaW1wb3J0IG1hbGxvYywgZnJlZQogZnJvbSBsaWJjLm1hdGggY2lt
cG9ydCBmbWF4LCBzcXJ0Ci1pbXBvcnQgbnVtcHkgYXMgbnAKLQorY2ltcG9ydCBudW1weSBhcyBu
cAo9MjAKIGNkZWYgZXh0ZXJuIGZyb20gIm1lc2hfY29uc3RydWN0aW9uLmgiOgogICAgIGVudW06
CkBAIC0yNTMsMjAgKzI1NCwyMSBAQAogICAgICAgICBjZGVmIGludCBpLCBqLCBpbmQsIGlkaW0K
ICAgICAgICAgY2RlZiBpbnQgbnYgPTNEIHZlcnRpY2VzX2luLnNoYXBlWzBdCiAgICAgICAgIGNk
ZWYgaW50IG5lID0zRCBpbmRpY2VzX2luLnNoYXBlWzBdCi0gICAgICAgIGNkZWYgaW50IG5wID0z
RCA2Km5lOworICAgICAgICBjZGVmIGludCBucGF0Y2ggPTNEIDYqbmU7Cj0yMAotICAgICAgICBj
ZGVmIHVuc2lnbmVkIGludCBtZXNoID0zRCBydGNndS5ydGNOZXdVc2VyR2VvbWV0cnkoc2NlbmUu
c2NlbmVfaSw9CiBucCkKLSAgICAgICA9MjAKLSAgICAgICAgY2RlZiBQYXRjaCogcGF0Y2hlcyA9
M0QgPFBhdGNoKj4gbWFsbG9jKG5wICogc2l6ZW9mKFBhdGNoKSk7CisgICAgICAgIGNkZWYgdW5z
aWduZWQgaW50IG1lc2ggPTNEIHJ0Y2d1LnJ0Y05ld1VzZXJHZW9tZXRyeShzY2VuZS5zY2VuZV9p
LD0KIG5wYXRjaCkKKyAgICAgICAgY2RlZiBucC5uZGFycmF5W25wLmZsb2F0NjRfdCwgbmRpbT0z
RDJdIGVsZW1lbnRfdmVydGljZXMKKyAgICAgICAgY2RlZiBQYXRjaCogcGF0Y2hlcyA9M0QgPFBh
dGNoKj4gbWFsbG9jKG5wYXRjaCAqIHNpemVvZihQYXRjaCkpOwogICAgICAgICBjZGVmIFBhdGNo
KiBwYXRjaAogICAgICAgICBmb3IgaSBpbiByYW5nZShuZSk6ICAjIGZvciBlYWNoIGVsZW1lbnQK
KyAgICAgICAgICAgIGVsZW1lbnRfdmVydGljZXMgPTNEIHZlcnRpY2VzX2luW2luZGljZXNfaW5b
aV1dCiAgICAgICAgICAgICBmb3IgaiBpbiByYW5nZSg2KTogICMgZm9yIGVhY2ggZmFjZQogICAg
ICAgICAgICAgICAgIHBhdGNoID0zRCAmKHBhdGNoZXNbaSo2K2pdKQogICAgICAgICAgICAgICAg
IHBhdGNoLmdlb21JRCA9M0QgbWVzaAogICAgICAgICAgICAgICAgIGZvciBrIGluIHJhbmdlKDgp
OiAgIyBmb3IgZWFjaCB2ZXJ0ZXgKICAgICAgICAgICAgICAgICAgICAgaW5kID0zRCBoZXgyMF9m
YWNlc1tqXVtrXQogICAgICAgICAgICAgICAgICAgICBmb3IgaWRpbSBpbiByYW5nZSgzKTogICMg
Zm9yIGVhY2ggc3BhdGlhbCBkaW1lbnNpb24gKHk9CmlrZXMpCi0gICAgICAgICAgICAgICAgICAg
ICAgICBwYXRjaC52W2tdW2lkaW1dID0zRCB2ZXJ0aWNlc19pbltpbmRpY2VzX2luW2ldXVtpbj0K
ZF1baWRpbV0KKyAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoLnZba11baWRpbV0gPTNEIGVs
ZW1lbnRfdmVydGljZXNbaW5kXVtpZGltXQogICAgICAgICAgICAgICAgIHNlbGYuX3NldF9ib3Vu
ZGluZ19zcGhlcmUocGF0Y2gpCj0yMAogICAgICAgICBzZWxmLnBhdGNoZXMgPTNEIHBhdGNoZXMK
CmRpZmYgLXIgZDAxODMxNWQ4MGY1YzFkMTJmMjc4NTlkMWI0NDNhZDU1Y2NiMmFjZiAtciBkNjBm
OGQzMDZlOGU4Y2VlM2U0MzYzZT0KYjhlMWY4OGM1MzNjY2FkMDQgeXQvdmlzdWFsaXphdGlvbi92
b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92
b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92
b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKQEAgLTMyMCw3ICszMjAsNyBAQAogICAg
ICAgICAgICAgZmllbGRfZGF0YSA9M0QgbnAuZXhwYW5kX2RpbXMoZmllbGRfZGF0YSwgMSkKPTIw
CiAgICAgICAgICMgSGVyZSwgd2UgZGVjaWRlIHdoZXRoZXIgdG8gcmVuZGVyIGJhc2VkIG9uIGhp
Z2gtb3JkZXIgb3I9MjAKLSAgICAgICAgIyBsb3ctb3JkZXIgZ2VvbWV0cnkuIFJpZ2h0IG5vdywg
aGlnaCBvcmRlciBnZW9tZXRyeSBpcyBvbmx5CisgICAgICAgICMgbG93LW9yZGVyIGdlb21ldHJ5
LiBSaWdodCBub3csIGhpZ2gtb3JkZXIgZ2VvbWV0cnkgaXMgb25seQogICAgICAgICAjIGltcGxl
bWVudGVkIGZvciAyMC1wb2ludCBoZXhlcy4KICAgICAgICAgaWYgaW5kaWNlcy5zaGFwZVsxXSA9
M0Q9M0QgMjA6CiAgICAgICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2hfY29uc3RydWN0aW9uLlF1
YWRyYXRpY0VsZW1lbnRNZXNoKHNlbGYuc2Nlbj0KZSwKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcv
eXRfYW5hbHlzaXMveXQvY29tbWl0cy9jZDQ0OGQ0MWE3YTIvCkNoYW5nZXNldDogICBjZDQ0OGQ0
MWE3YTIKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAy
MDE1LTA5LTIwIDAwOjA0OjEyKzAwOjAwClN1bW1hcnk6ICAgICBmaXhpbmcgYSBidWcgaW4gdGhl
IG1lc2ggY29uc3RydWN0aW9uIGxvZ2ljCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgZDYw
ZjhkMzA2ZThlOGNlZTNlNDM2M2ViOGUxZjg4YzUzM2NjYWQwNCAtciBjZDQ0OGQ0MWE3YTI4NDA3
NThjMGRjOT0KYTIzNjM2YmRhN2Y5MzllZTUgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKQEAgLTMyOCw3ICszMjgsNyBAQAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaWNlcywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpZWxkX2RhdGEpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIGlmIHRoaXMg
aXMgYW5vdGhlciB0eXBlIG9mIGhpZ2hlci1vcmRlciBlbGVtZW50LCB3ZSBkZW1vdGU9MjAKKyAg
ICAgICAgICAgICMgaWYgdGhpcyBpcyBhbm90aGVyIHR5cGUgb2YgaGlnaGVyLW9yZGVyIGVsZW1l
bnQsIHdlIGRlbW90ZQogICAgICAgICAgICAgIyB0byAxc3Qgb3JkZXIgaGVyZSwgZm9yIG5vdy4K
ICAgICAgICAgICAgIGlmIGluZGljZXMuc2hhcGVbMV0gPTNEPTNEIDI3OgogICAgICAgICAgICAg
ICAgICMgaGV4YWhlZHJhbApAQCAtMzQwLDEzICszNDAsMTMgQEAKICAgICAgICAgICAgICAgICAj
IHRldHJhaGVkcmFsCiAgICAgICAgICAgICAgICAgbXlsb2cud2FybmluZygiSGlnaCBvcmRlciBl
bGVtZW50cyBub3QgeWV0IHN1cHBvcnRlZCwgIiArCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZHJvcHBpbmcgdG8gMXN0IG9yZGVyLiIpCi0gICAgICAgICAgICAgICAgZmllbGRfZGF0
YSA9M0QgZmllbGRfZGF0YVs6LDA6NF0KKyAgICAgICAgICAgICAgICBmaWVsZF9kYXRhID0zRCBm
aWVsZF9kYXRhWzosIDA6NF0KICAgICAgICAgICAgICAgICBpbmRpY2VzID0zRCBpbmRpY2VzWzos
IDA6NF0KLSAgICAgICAgICAgPTIwCi0gICAgICAgICAgICAgICAgc2VsZi5tZXNoID0zRCBtZXNo
X2NvbnN0cnVjdGlvbi5MaW5lYXJFbGVtZW50TWVzaChzZWxmLnNjZT0KbmUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy
dGljZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kaWNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZF9kYXRhKQorCisgICAgICAgICAg
ICBzZWxmLm1lc2ggPTNEIG1lc2hfY29uc3RydWN0aW9uLkxpbmVhckVsZW1lbnRNZXNoKHNlbGYu
c2NlbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZXJ0aWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluZGljZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZF9kYXRhKQo9MjAKICAg
ICBkZWYgcmVuZGVyKHNlbGYsIGNhbWVyYSwgemJ1ZmZlcj0zRE5vbmUsPTIwCiAgICAgICAgICAg
ICAgICBjbWFwPTNEJ2FsZ2FlJywgY29sb3JfYm91bmRzPTNETm9uZSk6CgoKaHR0cHM6Ly9iaXRi
dWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvOTMxOGQ1Mjc3YWYzLwpDaGFuZ2VzZXQ6
ICAgOTMxOGQ1Mjc3YWYzCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRl
OiAgICAgICAgMjAxNS0wOS0yMCAwMDozMToyMyswMDowMApTdW1tYXJ5OiAgICAgaW5hZHZlcnRl
bnRseSByZW1vdmVkIHRoaXMgbGluZQpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciBjZDQ0
OGQ0MWE3YTI4NDA3NThjMGRjOWEyMzYzNmJkYTdmOTM5ZWU1IC1yIDkzMThkNTI3N2FmMzNkZTFl
OTg2ZmY0PQphNTcyZThlNzliMTgxNjNmNSB5dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0
aW9uLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLnB5eAorKysg
Yi95dC91dGlsaXRpZXMvbGliL21lc2hfY29uc3RydWN0aW9uLnB5eApAQCAtMTc0LDYgKzE3NCw3
IEBACiAgICAgICAgIGRhdGFjLnZlcnRpY2VzID0zRCBzZWxmLnZlcnRpY2VzCiAgICAgICAgIGRh
dGFjLmluZGljZXMgPTNEIHNlbGYuaW5kaWNlcwogICAgICAgICBkYXRhYy5maWVsZF9kYXRhID0z
RCBzZWxmLmZpZWxkX2RhdGEKKyAgICAgICAgZGF0YWMuZWxlbWVudF9pbmRpY2VzID0zRCBzZWxm
LmVsZW1lbnRfaW5kaWNlcwogICAgICAgICBkYXRhYy50cGUgPTNEIHNlbGYudHBlCiAgICAgICAg
IGRhdGFjLnZwZSA9M0Qgc2VsZi52cGUKICAgICAgICAgc2VsZi5kYXRhYyA9M0QgZGF0YWMKCmRp
ZmYgLXIgY2Q0NDhkNDFhN2EyODQwNzU4YzBkYzlhMjM2MzZiZGE3ZjkzOWVlNSAtciA5MzE4ZDUy
NzdhZjMzZGUxZTk4NmZmND0KYTU3MmU4ZTc5YjE4MTYzZjUgeXQvdmlzdWFsaXphdGlvbi92b2x1
bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1
bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1
bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKQEAgLTM0OCw3ICszNDgsNyBAQAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5k
aWNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpZWxkX2RhdGEpCj0yMAotICAgIGRlZiByZW5kZXIoc2VsZiwgY2FtZXJhLCB6
YnVmZmVyPTNETm9uZSw9MjAKKyAgICBkZWYgcmVuZGVyKHNlbGYsIGNhbWVyYSwgemJ1ZmZlcj0z
RE5vbmUsCiAgICAgICAgICAgICAgICBjbWFwPTNEJ2FsZ2FlJywgY29sb3JfYm91bmRzPTNETm9u
ZSk6Cj0yMAogICAgICAgICBzZWxmLnNhbXBsZXIgPTNEIG5ld19tZXNoX3NhbXBsZXIoY2FtZXJh
LCBzZWxmKQpAQCAtMzU4LDggKzM1OCw4IEBACiAgICAgICAgIG15bG9nLmRlYnVnKCJEb25lIGNh
c3RpbmcgcmF5cyIpCj0yMAogICAgICAgICBzZWxmLmRhdGEgPTNEIHNlbGYuc2FtcGxlci5haW1h
Z2UKLSAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlID0zRCBzZWxmLmFwcGx5X2NvbG9ybWFwKGNt
YXA9M0RjbWFwLCBjb2xvcl9ib3VuPQpkcz0zRGNvbG9yX2JvdW5kcykKLQorICAgICAgICBzZWxm
LmN1cnJlbnRfaW1hZ2UgPTNEIHNlbGYuYXBwbHlfY29sb3JtYXAoY21hcD0zRGNtYXAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3JfYm91bmRz
PTNEY29sb3JfYm91bj0KZHMpCiAgICAgICAgIHJldHVybiBzZWxmLmN1cnJlbnRfaW1hZ2UKPTIw
CiAgICAgZGVmIGFwcGx5X2NvbG9ybWFwKHNlbGYsIGNtYXA9M0QnYWxnYWUnLCBjb2xvcl9ib3Vu
ZHM9M0ROb25lKToKQEAgLTM2OCw3ICszNjgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbWFwX25hbWU9M0RjbWFwKQogICAgICAgICAnJycKPTIwCi0g
ICAgICAgIEFwcGxpZXMgYSBjb2xvcm1hcCB0byB0aGUgY3VycmVudCBpbWFnZSB3aXRob3V0IHJl
LXJlbmRlcmluZy49MjAKKyAgICAgICAgQXBwbGllcyBhIGNvbG9ybWFwIHRvIHRoZSBjdXJyZW50
IGltYWdlIHdpdGhvdXQgcmUtcmVuZGVyaW5nLgo9MjAKICAgICAgICAgUGFyYW1ldGVycwogICAg
ICAgICAtLS0tLS0tLS0tCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2Nv
bW1pdHMvOGZmNzNlMzAzN2FjLwpDaGFuZ2VzZXQ6ICAgOGZmNzNlMzAzN2FjCkJyYW5jaDogICAg
ICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yMCAyMjo1NToy
OCswMDowMApTdW1tYXJ5OiAgICAgYWxzbyBjb21wdXRlIHRoZSBsb2NhdGlvbiBvZiB0aGUgbWVz
aCBsaW5lcyBkdXJpbmcgdGhlIHJlbmRlcmk9Cm5nIHN0ZXAKQWZmZWN0ZWQgIzogIDIgZmlsZXMK
CmRpZmYgLXIgOTMxOGQ1Mjc3YWYzM2RlMWU5ODZmZjRhNTcyZThlNzliMTgxNjNmNSAtciA4ZmY3
M2UzMDM3YWM4ZmE5ZTExYTMwNz0KMmUyZDRmNTk0ZTE5Njk5MTYgeXQvdXRpbGl0aWVzL2xpYi9t
ZXNoX3NhbXBsZXJzLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfc2FtcGxlcnMucHl4
CisrKyBiL3l0L3V0aWxpdGllcy9saWIvbWVzaF9zYW1wbGVycy5weXgKQEAgLTk2LDkgKzk2LDI2
IEBACiAgICAgICAgIHZlcnRpY2VzW2kqMyArIDFdID0zRCBkYXRhLnZlcnRpY2VzW2VsZW1lbnRf
aW5kaWNlc1tpXV0ueQogICAgICAgICB2ZXJ0aWNlc1tpKjMgKyAyXSA9M0QgZGF0YS52ZXJ0aWNl
c1tlbGVtZW50X2luZGljZXNbaV1dLnogICA9MjAKPTIwCi0gICAgdmFsID0zRCBRMVNhbXBsZXIu
c2FtcGxlX2F0X3JlYWxfcG9pbnQodmVydGljZXMsIGZpZWxkX2RhdGEsIHBvc2l0aW9uKQorICAg
ICMgd2UgdXNlIHJheS50aW1lIHRvIHBhc3MgdGhlIHZhbHVlIG9mIHRoZSBmaWVsZAorICAgIGNk
ZWYgZG91YmxlIG1hcHBlZF9jb29yZFszXQorICAgIFExU2FtcGxlci5tYXBfcmVhbF90b191bml0
KG1hcHBlZF9jb29yZCwgdmVydGljZXMsIHBvc2l0aW9uKQorICAgIHZhbCA9M0QgUTFTYW1wbGVy
LnNhbXBsZV9hdF91bml0X3BvaW50KG1hcHBlZF9jb29yZCwgZmllbGRfZGF0YSkKICAgICByYXku
dGltZSA9M0QgdmFsCj0yMAorICAgICMgd2UgdXNlIHJheS5pbnN0SUQgdG8gcGFzcyBiYWNrIHdo
ZXRoZXIgdGhlIHJheSBpcyBuZWFyIHRoZQorICAgICMgZWxlbWVudCBib3VuZGFyeSBvciBub3Qg
KHVzZWQgdG8gYW5ub3RhdGUgbWVzaCBsaW5lcykKKyAgICBpZiAoZmFicyhmYWJzKG1hcHBlZF9j
b29yZFswXSkgLSAxLjApIDwgMWUtMSBhbmQKKyAgICAgICAgZmFicyhmYWJzKG1hcHBlZF9jb29y
ZFsxXSkgLSAxLjApIDwgMWUtMSk6CisgICAgICAgIHJheS5pbnN0SUQgPTNEIDEKKyAgICBlbGlm
IChmYWJzKGZhYnMobWFwcGVkX2Nvb3JkWzBdKSAtIDEuMCkgPCAxZS0xIGFuZAorICAgICAgICAg
IGZhYnMoZmFicyhtYXBwZWRfY29vcmRbMl0pIC0gMS4wKSA8IDFlLTEpOgorICAgICAgICByYXku
aW5zdElEID0zRCAxCisgICAgZWxpZiAoZmFicyhmYWJzKG1hcHBlZF9jb29yZFsxXSkgLSAxLjAp
IDwgMWUtMSBhbmQKKyAgICAgICAgICBmYWJzKGZhYnMobWFwcGVkX2Nvb3JkWzJdKSAtIDEuMCkg
PCAxZS0xKToKKyAgICAgICAgcmF5Lmluc3RJRCA9M0QgMQorICAgIGVsc2U6CisgICAgICAgIHJh
eS5pbnN0SUQgPTNEIC0xCisKPTIwCiBAY3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQogQGN5dGhv
bi53cmFwYXJvdW5kKEZhbHNlKQpAQCAtMTM0LDkgKzE1MSwyOSBAQAogICAgICAgICB2ZXJ0aWNl
c1tpKjMgKyAxXSA9M0QgZGF0YS52ZXJ0aWNlc1tlbGVtZW50X2luZGljZXNbaV1dLnkKICAgICAg
ICAgdmVydGljZXNbaSozICsgMl0gPTNEIGRhdGEudmVydGljZXNbZWxlbWVudF9pbmRpY2VzW2ld
XS56ICAgPTIwCj0yMAotICAgIHZhbCA9M0QgUDFTYW1wbGVyLnNhbXBsZV9hdF9yZWFsX3BvaW50
KHZlcnRpY2VzLCBmaWVsZF9kYXRhLCBwb3NpdGlvbikKKyAgICAjIHdlIHVzZSByYXkudGltZSB0
byBwYXNzIHRoZSB2YWx1ZSBvZiB0aGUgZmllbGQKKyAgICBjZGVmIGRvdWJsZSBtYXBwZWRfY29v
cmRbNF0KKyAgICBQMVNhbXBsZXIubWFwX3JlYWxfdG9fdW5pdChtYXBwZWRfY29vcmQsIHZlcnRp
Y2VzLCBwb3NpdGlvbikKKyAgICB2YWwgPTNEIFAxU2FtcGxlci5zYW1wbGVfYXRfdW5pdF9wb2lu
dChtYXBwZWRfY29vcmQsIGZpZWxkX2RhdGEpCiAgICAgcmF5LnRpbWUgPTNEIHZhbAo9MjAKKyAg
ICBjZGVmIGRvdWJsZSB1LCB2LCB3CisgICAgY2RlZiBkb3VibGUgdGhyZXNoID0zRCAyLjBlLTIK
KyAgICB1ID0zRCByYXkudQorICAgIHYgPTNEIHJheS52CisgICAgdyA9M0QgMS4wIC0gdSAtIHYK
KyAgICAjIHdlIHVzZSByYXkuaW5zdElEIHRvIHBhc3MgYmFjayB3aGV0aGVyIHRoZSByYXkgaXMg
bmVhciB0aGUKKyAgICAjIGVsZW1lbnQgYm91bmRhcnkgb3Igbm90ICh1c2VkIHRvIGFubm90YXRl
IG1lc2ggbGluZXMpCisgICAgaWYgKCh1IDwgdGhyZXNoKSBvcj0yMAorICAgICAgICAodiA8IHRo
cmVzaCkgb3I9MjAKKyAgICAgICAgKHcgPCB0aHJlc2gpIG9yCisgICAgICAgIChmYWJzKHUgLSAx
KSA8IHRocmVzaCkgb3I9MjAKKyAgICAgICAgKGZhYnModiAtIDEpIDwgdGhyZXNoKSBvcj0yMAor
ICAgICAgICAoZmFicyh3IC0gMSkgPCB0aHJlc2gpKToKKyAgICAgICAgcmF5Lmluc3RJRCA9M0Qg
MQorICAgIGVsc2U6CisgICAgICAgIHJheS5pbnN0SUQgPTNEIC0xCisKPTIwCiBAY3l0aG9uLmJv
dW5kc2NoZWNrKEZhbHNlKQogQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQoKZGlmZiAtciA5MzE4
ZDUyNzdhZjMzZGUxZTk4NmZmNGE1NzJlOGU3OWIxODE2M2Y1IC1yIDhmZjczZTMwMzdhYzhmYTll
MTFhMzA3PQoyZTJkNGY1OTRlMTk2OTkxNiB5dC91dGlsaXRpZXMvbGliL21lc2hfdHJhdmVyc2Fs
LnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL21lc2hfdHJhdmVyc2FsLnB5eAorKysgYi95dC91
dGlsaXRpZXMvbGliL21lc2hfdHJhdmVyc2FsLnB5eApAQCAtNDUsNiArNDUsNyBAQAogY2RlZiBj
bGFzcyBNZXNoU2FtcGxlcihJbWFnZVNhbXBsZXIpOgo9MjAKICAgICBjZGVmIHB1YmxpYyBvYmpl
Y3QgaW1hZ2VfdXNlZAorICAgIGNkZWYgcHVibGljIG9iamVjdCBtZXNoX2xpbmVzCj0yMAogICAg
IEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCiAgICAgQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNl
KQpAQCAtNzgsNiArNzksNyBAQAogICAgICAgICBueSA9M0QgaW0ubnZbMV0KICAgICAgICAgc2l6
ZSA9M0QgbnggKiBueQogICAgICAgICB1c2VkID0zRCBucC5lbXB0eShzaXplLCBkdHlwZT0zRCJp
bnQ2NCIpCisgICAgICAgIG1lc2ggPTNEIG5wLmVtcHR5KHNpemUsIGR0eXBlPTNEImludDY0IikK
ICAgICAgICAgZGF0YSA9M0QgbnAuZW1wdHkoc2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIpCiAgICAg
ICAgIGNkZWYgcnRjci5SVENSYXkgcmF5CiAgICAgICAgIGlmIGltLnZkX3N0cmlkZXNbMF0gPTNE
PTNEIC0xOgpAQCAtMTA1LDggKzEwNywxMCBAQAogICAgICAgICAgICAgICAgIHJ0Y3MucnRjSW50
ZXJzZWN0KHNjZW5lLnNjZW5lX2ksIHJheSkKICAgICAgICAgICAgICAgICBkYXRhW2pdID0zRCBy
YXkudGltZQogICAgICAgICAgICAgICAgIHVzZWRbal0gPTNEIHJheS5wcmltSUQKKyAgICAgICAg
ICAgICAgICBtZXNoW2pdID0zRCByYXkuaW5zdElECiAgICAgICAgICAgICBzZWxmLmFpbWFnZSA9
M0QgZGF0YS5yZXNoYXBlKHNlbGYuaW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2UubnZbMT0KXSkKICAg
ICAgICAgICAgIHNlbGYuaW1hZ2VfdXNlZCA9M0QgdXNlZC5yZXNoYXBlKHNlbGYuaW1hZ2UubnZb
MF0sIHNlbGYuaW1hZ2UuPQpudlsxXSkKKyAgICAgICAgICAgIHNlbGYubWVzaF9saW5lcyA9M0Qg
bWVzaC5yZXNoYXBlKHNlbGYuaW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2UuPQpudlsxXSkKICAgICAg
ICAgICAgIGZyZWUodl9wb3MpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB2X3BvcyA9M0Qg
PG5wLmZsb2F0NjRfdCAqPiBtYWxsb2MoMyAqIHNpemVvZihucC5mbG9hdDY0X3QpKQoKCmh0dHBz
Oi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzAxNzk3ZGJkMTc0Zi8KQ2hh
bmdlc2V0OiAgIDAxNzk3ZGJkMTc0ZgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXll
cnMKRGF0ZTogICAgICAgIDIwMTUtMDktMjEgMTc6MDM6NTMrMDA6MDAKU3VtbWFyeTogICAgIGhv
b2tpbmcgdXAgdGhlIG1lc2hfYW5ub3RhdGlvbiB0byB0aGUgbWVzaCBzb3VyY2UKQWZmZWN0ZWQg
IzogIDEgZmlsZQoKZGlmZiAtciA4ZmY3M2UzMDM3YWM4ZmE5ZTExYTMwNzJlMmQ0ZjU5NGUxOTY5
OTE2IC1yIDAxNzk3ZGJkMTc0ZjI5ZWQ5OWE3NjFjPQozZjI3NWQ3YjlmOTgyMGY0MyB5dC92aXN1
YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQotLS0gYS95dC92aXN1
YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQorKysgYi95dC92aXN1
YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQpAQCAtMzYyLDYgKzM2
MiwzNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbG9yX2JvdW5kcz0zRGNvbG9yX2JvdW49CmRzKQogICAgICAgICByZXR1cm4gc2VsZi5jdXJy
ZW50X2ltYWdlCj0yMAorICAgIGRlZiBhbm5vdGF0ZV9tZXNoX2xpbmVzKHNlbGYsIGNvbG9yPTNE
Tm9uZSwgYWxwaGE9M0QyNTUpOgorICAgICAgICByIiIiCisKKyAgICAgICAgTW9kaWZpZXMgdGhp
cyBNZXNoU291cmNlIGJ5IGRyYXdpbmcgdGhlIG1lc2ggbGluZXMuCisgICAgICAgIFRoaXMgbW9k
aWZpZXMgdGhlIGN1cnJlbnQgaW1hZ2UgYnkgZHJhd2luZyB0aGUgZWxlbWVudAorICAgICAgICBi
b3VuZGFyaWVzIGFuZCByZXR1cm5zIHRoZSBtb2RpZmllZCBpbWFnZS4KKworICAgICAgICBQYXJh
bWV0ZXJzCisgICAgICAgIC0tLS0tLS0tLS0KKyAgICAgICAgY29sb3JzOiBhcnJheSBvZiBpbnRz
LCBzaGFwZSAoNCksIG9wdGlvbmFsCisgICAgICAgICAgICBUaGUgUkdCQSB2YWx1ZSB0byB1c2Ug
dG8gZHJhdyB0aGUgbWVzaCBsaW5lcy4KKyAgICAgICAgICAgIERlZmF1bHQgaXMgYmxhY2suCisg
ICAgICAgIGFscGhhIDogZmxvYXQsIG9wdGlvbmFsCisgICAgICAgICAgICBUaGUgb3BhY2l0eSBv
ZiB0aGUgbWVzaCBsaW5lcy4gRGVmYXVsdCBpcyAyNTUgKHNvbGlkKS4KKworICAgICAgICAiIiIK
KworICAgICAgICBpZiBjb2xvciBpcyBOb25lOgorICAgICAgICAgICAgY29sb3IgPTNEIG5wLmFy
cmF5KFswLCAwLCAwLCBhbHBoYV0pCisKKyAgICAgICAgbG9jcyA9M0QgW3NlbGYuc2FtcGxlci5t
ZXNoX2xpbmVzID0zRD0zRCAxXQorCisgICAgICAgIHNlbGYuY3VycmVudF9pbWFnZVs6LCA6LCAw
XVtsb2NzXSA9M0QgY29sb3JbMF0KKyAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlWzosIDosIDFd
W2xvY3NdID0zRCBjb2xvclsxXQorICAgICAgICBzZWxmLmN1cnJlbnRfaW1hZ2VbOiwgOiwgMl1b
bG9jc10gPTNEIGNvbG9yWzJdCisgICAgICAgIHNlbGYuY3VycmVudF9pbWFnZVs6LCA6LCAzXVts
b2NzXSA9M0QgY29sb3JbM10KKworICAgICAgICByZXR1cm4gc2VsZi5jdXJyZW50X2ltYWdlCisK
ICAgICBkZWYgYXBwbHlfY29sb3JtYXAoc2VsZiwgY21hcD0zRCdhbGdhZScsIGNvbG9yX2JvdW5k
cz0zRE5vbmUpOgogICAgICAgICBzZWxmLmN1cnJlbnRfaW1hZ2UgPTNEIGFwcGx5X2NvbG9ybWFw
KHNlbGYuZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29sb3JfYm91bmRzPTNEY29sb3JfYm91bmRzLAoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9h
bmFseXNpcy95dC9jb21taXRzLzc1Nzk2OWMxZmM5Yy8KQ2hhbmdlc2V0OiAgIDc1Nzk2OWMxZmM5
YwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUt
MDktMjEgMTk6NDA6NDMrMDA6MDAKU3VtbWFyeTogICAgIGFubm90YXRlIG1lc2ggbGluZXMgZm9y
IHNsaWNlcwpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciAwMTc5N2RiZDE3NGYyOWVkOTlh
NzYxYzNmMjc1ZDdiOWY5ODIwZjQzIC1yIDc1Nzk2OWMxZmM5Y2M3MzE3ZTk2ZDVlPQo0YWE5MTAw
NzBjYzJlMmJlNCB5dC9nZW9tZXRyeS9jb29yZGluYXRlcy9jYXJ0ZXNpYW5fY29vcmRpbmF0ZXMu
cHkKLS0tIGEveXQvZ2VvbWV0cnkvY29vcmRpbmF0ZXMvY2FydGVzaWFuX2Nvb3JkaW5hdGVzLnB5
CisrKyBiL3l0L2dlb21ldHJ5L2Nvb3JkaW5hdGVzL2NhcnRlc2lhbl9jb29yZGluYXRlcy5weQpA
QCAtNjksNiArNjksOCBAQAogICAgICAgICAgICAgZnR5cGUsIGZuYW1lID0zRCBmaWVsZAogICAg
ICAgICAgICAgbWVzaF9pZCA9M0QgaW50KGZ0eXBlWy0xXSkgLSAxCiAgICAgICAgICAgICBtZXNo
ID0zRCBpbmRleC5tZXNoZXNbbWVzaF9pZF0KKyAgICAgICAgICAgIGNvb3JkcyA9M0QgbWVzaC5j
b25uZWN0aXZpdHlfY29vcmRzCisgICAgICAgICAgICBpbmRpY2VzID0zRCBtZXNoLmNvbm5lY3Rp
dml0eV9pbmRpY2VzCiAgICAgICAgICAgICBvZmZzZXQgPTNEIG1lc2guX2luZGV4X29mZnNldAog
ICAgICAgICAgICAgYWQgPTNEIGRhdGFfc291cmNlLmRzLmFsbF9kYXRhKCkKICAgICAgICAgICAg
IGZpZWxkX2RhdGEgPTNEIGFkW2ZpZWxkXQpAQCAtOTcsOCArOTksOCBAQAogICAgICAgICAgICAg
ICAgIGZpZWxkX2RhdGEgPTNEIGZpZWxkX2RhdGFbOiwwOjRdCiAgICAgICAgICAgICAgICAgaW5k
aWNlcyA9M0QgaW5kaWNlc1s6LCAwOjRdCj0yMAotICAgICAgICAgICAgaW1nID0zRCBwaXhlbGl6
ZV9lbGVtZW50X21lc2gobWVzaC5jb25uZWN0aXZpdHlfY29vcmRzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1lc2guY29ubmVjdGl2aXR5X2luZGljZXMsCisgICAg
ICAgICAgICBpbWcgPTNEIHBpeGVsaXplX2VsZW1lbnRfbWVzaChjb29yZHMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaWNlcywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBidWZmX3NpemUsIGZpZWxkX2RhdGEsIGJvdW5kcywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleF9vZmZzZXQ9M0RvZmZz
ZXQpCj0yMAoKZGlmZiAtciAwMTc5N2RiZDE3NGYyOWVkOTlhNzYxYzNmMjc1ZDdiOWY5ODIwZjQz
IC1yIDc1Nzk2OWMxZmM5Y2M3MzE3ZTk2ZDVlPQo0YWE5MTAwNzBjYzJlMmJlNCB5dC91dGlsaXRp
ZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9w
aXhlbGl6YXRpb25fcm91dGluZXMucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0
aW9uX3JvdXRpbmVzLnB5eApAQCAtMTcsNyArMTcsNyBAQAogY2ltcG9ydCBudW1weSBhcyBucAog
Y2ltcG9ydCBjeXRob24KIGNpbXBvcnQgbGliYy5tYXRoIGFzIG1hdGgKLWZyb20gZnBfdXRpbHMg
Y2ltcG9ydCBmbWluLCBmbWF4LCBpNjRtaW4sIGk2NG1heCwgaW1pbiwgaW1heAorZnJvbSBmcF91
dGlscyBjaW1wb3J0IGZtaW4sIGZtYXgsIGk2NG1pbiwgaTY0bWF4LCBpbWluLCBpbWF4LCBmYWJz
CiBmcm9tIHl0LnV0aWxpdGllcy5leGNlcHRpb25zIGltcG9ydCBZVFBpeGVsaXplRXJyb3IKIGZy
b20geXQudXRpbGl0aWVzLmxpYi5lbGVtZW50X21hcHBpbmdzIGNpbXBvcnQgXAogICAgIEVsZW1l
bnRTYW1wbGVyLCBcCkBAIC01MjUsMyArNTI1LDkwIEBACiAgICAgICAgICAgICAgICAgICAgICAg
ICBpbWdbcGksIHBqLCBwa10gPTNEIHNhbXBsZXIuc2FtcGxlX2F0X3VuaXRfcG9pbnQobT0KYXBw
ZWRfY29vcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpZT0KbGRfdmFscykKICAgICByZXR1cm4gaW1nCisK
KworZGVmIGRyYXdfbWVzaF9saW5lcyhucC5uZGFycmF5W25wLmZsb2F0NjRfdCwgbmRpbT0zRDJd
IGNvb3JkcywKKyAgICAgICAgICAgICAgICAgICAgbnAubmRhcnJheVtucC5pbnQ2NF90LCBuZGlt
PTNEMl0gY29ubiwKKyAgICAgICAgICAgICAgICAgICAgYnVmZl9zaXplLCBleHRlbnRzLCBpbnQg
aW5kZXhfb2Zmc2V0ID0zRCAwKToKKyAgICBjZGVmIG5wLm5kYXJyYXlbbnAuZmxvYXQ2NF90LCBu
ZGltPTNEM10gaW1nCisgICAgaW1nID0zRCBucC56ZXJvcyhidWZmX3NpemUsIGR0eXBlPTNEImZs
b2F0NjQiKQorICAgICMgVHdvIHN0ZXBzOgorICAgICMgIDEuIElzIGltYWdlIHBvaW50IHdpdGhp
biB0aGUgbWVzaCBib3VuZGluZyBib3g/CisgICAgIyAgMi4gSXMgaW1hZ2UgcG9pbnQgd2l0aGlu
IHRoZSBtZXNoIGVsZW1lbnQ/CisgICAgIyBTZWNvbmQgaXMgbW9yZSBpbnRlbnNpdmUuICBJdCB3
aWxsIGNvbnZlcnQgdGhlIGVsZW1lbnQgdmVydGljZXMgdG8gdD0KaGUKKyAgICAjIG1hcHBlZCBj
b29yZGluYXRlIHN5c3RlbSwgYW5kIGNoZWNraW5nIHdoZXRoZXIgdGhlIHJlc3VsdCBpbiBpbi1i
b3VuPQpkcyBvciBub3QKKyAgICAjIE5vdGUgdGhhdCB3ZSBoYXZlIHRvIGhhdmUgYSBwc2V1ZG8t
M0QgcGl4ZWwgYnVmZmVyLiAgT25lIGRpbWVuc2lvbiB3PQppbGwKKyAgICAjIGFsd2F5cyBiZSAx
LgorICAgIGNkZWYgbnAuZmxvYXQ2NF90IHBMRVszXSwgcFJFWzNdCisgICAgY2RlZiBucC5mbG9h
dDY0X3QgTEVbM10sIFJFWzNdCisgICAgY2RlZiBpbnQgdXNlCisgICAgY2RlZiBucC5pbnQ2NF90
IG4sIGksIGosIGssIHBpLCBwaiwgcGssIGNpLCBjaiwgY2sKKyAgICBjZGVmIG5wLmludDY0X3Qg
cHN0YXJ0WzNdLCBwZW5kWzNdCisgICAgY2RlZiBucC5mbG9hdDY0X3QgcHBvaW50WzNdLCBpZGRz
WzNdLCBkZHNbM10KKyAgICBjZGVmIG5wLmZsb2F0NjRfdCAqdmVydGljZXMKKyAgICBjZGVmIGlu
dCBudmVydGljZXMgPTNEIGNvbm4uc2hhcGVbMV0KKyAgICBjZGVmIGRvdWJsZSogbWFwcGVkX2Nv
b3JkCisgICAgY2RlZiBFbGVtZW50U2FtcGxlciBzYW1wbGVyCisKKyAgICAjIEFsbG9jYXRlIHN0
b3JhZ2UgZm9yIHRoZSBtYXBwZWQgY29vcmRpbmF0ZQorICAgIGlmIG52ZXJ0aWNlcyA9M0Q9M0Qg
NDoKKyAgICAgICAgbWFwcGVkX2Nvb3JkID0zRCA8ZG91YmxlKj4gYWxsb2NhKHNpemVvZihkb3Vi
bGUpICogNCkKKyAgICAgICAgc2FtcGxlciA9M0QgUDFTYW1wbGVyM0QoKQorICAgIGVsaWYgbnZl
cnRpY2VzID0zRD0zRCA4OgorICAgICAgICBtYXBwZWRfY29vcmQgPTNEIDxkb3VibGUqPiBhbGxv
Y2Eoc2l6ZW9mKGRvdWJsZSkgKiAzKQorICAgICAgICBzYW1wbGVyID0zRCBRMVNhbXBsZXIzRCgp
CisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCisKKyAgICB2ZXJ0aWNlcyA9
M0QgPG5wLmZsb2F0NjRfdCAqPiBhbGxvY2EoMyAqIHNpemVvZihucC5mbG9hdDY0X3QpICogbnZl
cnRpPQpjZXMpCisgICA9MjAKKyAgICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgcExFW2ld
ID0zRCBleHRlbnRzW2ldWzBdCisgICAgICAgIHBSRVtpXSA9M0QgZXh0ZW50c1tpXVsxXQorICAg
ICAgICBkZHNbaV0gPTNEIChwUkVbaV0gLSBwTEVbaV0pL2J1ZmZfc2l6ZVtpXQorICAgICAgICBp
ZiBkZHNbaV0gPTNEPTNEIDAuMDoKKyAgICAgICAgICAgIGlkZHNbaV0gPTNEIDAuMAorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgaWRkc1tpXSA9M0QgMS4wIC8gZGRzW2ldCisKKyAgICBmb3Ig
Y2kgaW4gcmFuZ2UoY29ubi5zaGFwZVswXSk6CisKKyAgICAgICAgIyBGaWxsIHRoZSB2ZXJ0aWNl
cworICAgICAgICBMRVswXSA9M0QgTEVbMV0gPTNEIExFWzJdID0zRCAxZTYwCisgICAgICAgIFJF
WzBdID0zRCBSRVsxXSA9M0QgUkVbMl0gPTNEIC0xZTYwCisKKyAgICAgICAgZm9yIG4gaW4gcmFu
Z2UobnZlcnRpY2VzKToKKyAgICAgICAgICAgIGNqID0zRCBjb25uW2NpLCBuXSAtIGluZGV4X29m
ZnNldAorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6CisgICAgICAgICAgICAgICAgdmVy
dGljZXNbMypuICsgaV0gPTNEIGNvb3Jkc1tjaiwgaV0KKyAgICAgICAgICAgICAgICBMRVtpXSA9
M0QgZm1pbihMRVtpXSwgdmVydGljZXNbMypuK2ldKQorICAgICAgICAgICAgICAgIFJFW2ldID0z
RCBmbWF4KFJFW2ldLCB2ZXJ0aWNlc1szKm4raV0pCisgICAgICAgIHVzZSA9M0QgMQorICAgICAg
ICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgICAgIGlmIFJFW2ldIDwgcExFW2ldIG9yIExF
W2ldID49M0QgcFJFW2ldOgorICAgICAgICAgICAgICAgIHVzZSA9M0QgMAorICAgICAgICAgICAg
ICAgIGJyZWFrCisgICAgICAgICAgICBwc3RhcnRbaV0gPTNEIGk2NG1heCg8bnAuaW50NjRfdD4g
KChMRVtpXSAtIHBMRVtpXSkqaWRkc1tpXSkgLT0KIDEsIDApCisgICAgICAgICAgICBwZW5kW2ld
ID0zRCBpNjRtaW4oPG5wLmludDY0X3Q+ICgoUkVbaV0gLSBwTEVbaV0pKmlkZHNbaV0pICsgMT0K
LCBpbWcuc2hhcGVbaV0tMSkKKyAgICAgICAgaWYgdXNlID0zRD0zRCAwOgorICAgICAgICAgICAg
Y29udGludWUKKyAgICAgICAgIyBOb3cgb3VyIGJvdW5kaW5nIGJveCBpbnRlcnNlY3RzLCBzbyB3
ZSBnZXQgdGhlIGV4dGVudHMgb2Ygb3VyIHBpPQp4ZWwKKyAgICAgICAgIyByZWdpb24gd2hpY2gg
b3ZlcmxhcHMgd2l0aCB0aGUgYm91bmRpbmcgYm94LCBhbmQgd2UnbGwgY2hlY2sgZWFjaAorICAg
ICAgICAjIHBpeGVsIGluIHRoZXJlLgorICAgICAgICBmb3IgcGkgaW4gcmFuZ2UocHN0YXJ0WzBd
LCBwZW5kWzBdICsgMSk6CisgICAgICAgICAgICBwcG9pbnRbMF0gPTNEIChwaSArIDAuNSkgKiBk
ZHNbMF0gKyBwTEVbMF0KKyAgICAgICAgICAgIGZvciBwaiBpbiByYW5nZShwc3RhcnRbMV0sIHBl
bmRbMV0gKyAxKToKKyAgICAgICAgICAgICAgICBwcG9pbnRbMV0gPTNEIChwaiArIDAuNSkgKiBk
ZHNbMV0gKyBwTEVbMV0KKyAgICAgICAgICAgICAgICBmb3IgcGsgaW4gcmFuZ2UocHN0YXJ0WzJd
LCBwZW5kWzJdICsgMSk6CisgICAgICAgICAgICAgICAgICAgIHBwb2ludFsyXSA9M0QgKHBrICsg
MC41KSAqIGRkc1syXSArIHBMRVsyXQorICAgICAgICAgICAgICAgICAgICBzYW1wbGVyLm1hcF9y
ZWFsX3RvX3VuaXQobWFwcGVkX2Nvb3JkLCB2ZXJ0aWNlcywgcHBvaW49CnQpCisgICAgICAgICAg
ICAgICAgICAgIGlmIG5vdCBzYW1wbGVyLmNoZWNrX2luc2lkZShtYXBwZWRfY29vcmQpOgorICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgaWYgKGZh
YnMoZmFicyhtYXBwZWRfY29vcmRbMF0pIC0gMS4wKSA8IDFlLTEpOgorICAgICAgICAgICAgICAg
ICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGZhYnMoZmFicyhtYXBwZWRfY29vcmRbMV0pIC0gMS4wKSA8IDFlLTEpOgorICAgICAgICAgICAg
ICAgICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGZhYnMoZmFicyhtYXBwZWRfY29vcmRbMl0pIC0gMS4wKSA8IDFlLTEpOgorICAgICAgICAg
ICAgICAgICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKKyAgICAgICAgICAgICAgICAg
ICA9MjAKKyAgICByZXR1cm4gaW1nCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L2NvbW1pdHMvYmNmNGI5MTkzOTZkLwpDaGFuZ2VzZXQ6ICAgYmNmNGI5MTkzOTZkCkJyYW5j
aDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yMSAy
MDo0MTozMSswMDowMApTdW1tYXJ5OiAgICAgV29ya3MgZm9yIHRldHJhaGVkcmFsIGVsZW1lbnRz
LCB0b28KQWZmZWN0ZWQgIzogIDMgZmlsZXMKCmRpZmYgLXIgNzU3OTY5YzFmYzljYzczMTdlOTZk
NWU0YWE5MTAwNzBjYzJlMmJlNCAtciBiY2Y0YjkxOTM5NmQyYmI5ZTMxNzk4Nz0KZDRhMTVjNjI0
NGVmM2EzYmUgeXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB4ZAotLS0gYS95dC91
dGlsaXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHhkCisrKyBiL3l0L3V0aWxpdGllcy9saWIv
ZWxlbWVudF9tYXBwaW5ncy5weGQKQEAgLTI5LDYgKzI5LDggQEAKPTIwCiAgICAgY2RlZiBpbnQg
Y2hlY2tfaW5zaWRlKHNlbGYsIGRvdWJsZSogbWFwcGVkX2Nvb3JkKSBub2dpbAo9MjAKKyAgICBj
ZGVmIGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiwgZG91YmxlKiBtYXBwZWRfY29vcmQpIG5vZ2ls
CisKPTIwCiBjZGVmIGNsYXNzIFAxU2FtcGxlcjNEKEVsZW1lbnRTYW1wbGVyKToKPTIwCkBAIC00
NCw2ICs0Niw5IEBACj0yMAogICAgIGNkZWYgaW50IGNoZWNrX2luc2lkZShzZWxmLCBkb3VibGUq
IG1hcHBlZF9jb29yZCkgbm9naWwKPTIwCisgICAgY2RlZiBpbnQgY2hlY2tfbmVhcl9lZGdlKHNl
bGYsIGRvdWJsZSogbWFwcGVkX2Nvb3JkKSBub2dpbAorCisKICMgVGhpcyB0eXBlZGVmIGRlZmlu
ZXMgYSBmdW5jdGlvbiBwb2ludGVyIHRoYXQgZGVmaW5lcyB0aGUgc3lzdGVtCiAjIG9mIGVxdWF0
aW9ucyB0aGF0IHdpbGwgYmUgc29sdmVkIGJ5IHRoZSBOb25saW5lYXJTb2x2ZVNhbXBsZXJzLgog
Iz0yMApAQCAtMTExLDMgKzExNiw1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZG91YmxlKiB2YWxzKSBub2dpbAo9MjAKICAgICBjZGVmIGludCBjaGVja19pbnNpZGUo
c2VsZiwgZG91YmxlKiBtYXBwZWRfY29vcmQpIG5vZ2lsCisKKyAgICBjZGVmIGludCBjaGVja19u
ZWFyX2VkZ2Uoc2VsZiwgZG91YmxlKiBtYXBwZWRfY29vcmQpIG5vZ2lsCgpkaWZmIC1yIDc1Nzk2
OWMxZmM5Y2M3MzE3ZTk2ZDVlNGFhOTEwMDcwY2MyZTJiZTQgLXIgYmNmNGI5MTkzOTZkMmJiOWUz
MTc5ODc9CmQ0YTE1YzYyNDRlZjNhM2JlIHl0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBwaW5n
cy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB5eAorKysgYi95
dC91dGlsaXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHl4CkBAIC04NCw2ICs4NCwxMiBAQAog
ICAgIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCiAgICAgQGN5dGhvbi53cmFwYXJvdW5kKEZh
bHNlKQogICAgIEBjeXRob24uY2RpdmlzaW9uKFRydWUpCisgICAgY2RlZiBpbnQgY2hlY2tfbmVh
cl9lZGdlKHNlbGYsIGRvdWJsZSogbWFwcGVkX2Nvb3JkKSBub2dpbDoKKyAgICAgICAgcGFzcwor
CisgICAgQGN5dGhvbi5ib3VuZHNjaGVjayhGYWxzZSkKKyAgICBAY3l0aG9uLndyYXBhcm91bmQo
RmFsc2UpCisgICAgQGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkKICAgICBjZGVmIGRvdWJsZSBzYW1w
bGVfYXRfcmVhbF9wb2ludChzZWxmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSogdmVydGljZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG91YmxlKiBmaWVsZF92YWx1ZXMsCkBAIC0xNTIsNiArMTU4LDE3IEBACiAgICAgICAgICAg
ICAgICAgcmV0dXJuIDAKICAgICAgICAgcmV0dXJuIDEKPTIwCisgICAgQGN5dGhvbi5ib3VuZHNj
aGVjayhGYWxzZSkKKyAgICBAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCisgICAgQGN5dGhvbi5j
ZGl2aXNpb24oVHJ1ZSkKKyAgICBjZGVmIGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiwgZG91Ymxl
KiBtYXBwZWRfY29vcmQpIG5vZ2lsOgorICAgICAgICBjZGVmIGludCBpCisgICAgICAgIGZvciBp
IGluIHJhbmdlKDMpOgorICAgICAgICAgICAgaWYgKGZhYnMobWFwcGVkX2Nvb3JkW2ldKSA8IDEu
MGUtMiBvcgorICAgICAgICAgICAgICAgIGZhYnMobWFwcGVkX2Nvb3JkW2ldIC0gMS4wKSA8IDEu
MGUtMik6CisgICAgICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgcmV0dXJuIDAKKwo9MjAK
IGNkZWYgY2xhc3MgTm9ubGluZWFyU29sdmVTYW1wbGVyKEVsZW1lbnRTYW1wbGVyKToKPTIwCkBA
IC0yNTcsNiArMjc0LDIwIEBACiAgICAgICAgIHJldHVybiAxCj0yMAo9MjAKKyAgICBAY3l0aG9u
LmJvdW5kc2NoZWNrKEZhbHNlKQorICAgIEBjeXRob24ud3JhcGFyb3VuZChGYWxzZSkKKyAgICBA
Y3l0aG9uLmNkaXZpc2lvbihUcnVlKQorICAgIGNkZWYgaW50IGNoZWNrX25lYXJfZWRnZShzZWxm
LCBkb3VibGUqIG1hcHBlZF9jb29yZCkgbm9naWw6CisgICAgICAgIGlmIChmYWJzKGZhYnMobWFw
cGVkX2Nvb3JkWzBdKSAtIDEuMCkgPCAxZS0xKToKKyAgICAgICAgICAgIHJldHVybiAxCisgICAg
ICAgIGlmIChmYWJzKGZhYnMobWFwcGVkX2Nvb3JkWzFdKSAtIDEuMCkgPCAxZS0xKToKKyAgICAg
ICAgICAgIHJldHVybiAxCisgICAgICAgIGlmIChmYWJzKGZhYnMobWFwcGVkX2Nvb3JkWzJdKSAt
IDEuMCkgPCAxZS0xKToKKyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICByZXR1cm4gMAorCisKIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCiBAY3l0aG9u
LndyYXBhcm91bmQoRmFsc2UpCiBAY3l0aG9uLmNkaXZpc2lvbihUcnVlKQoKZGlmZiAtciA3NTc5
NjljMWZjOWNjNzMxN2U5NmQ1ZTRhYTkxMDA3MGNjMmUyYmU0IC1yIGJjZjRiOTE5Mzk2ZDJiYjll
MzE3OTg3PQpkNGExNWM2MjQ0ZWYzYTNiZSB5dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9y
b3V0aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMu
cHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eApAQCAt
NjA0LDExICs2MDQsNiBAQAogICAgICAgICAgICAgICAgICAgICBzYW1wbGVyLm1hcF9yZWFsX3Rv
X3VuaXQobWFwcGVkX2Nvb3JkLCB2ZXJ0aWNlcywgcHBvaW49CnQpCiAgICAgICAgICAgICAgICAg
ICAgIGlmIG5vdCBzYW1wbGVyLmNoZWNrX2luc2lkZShtYXBwZWRfY29vcmQpOgogICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgaWYgKGZhYnMoZmFi
cyhtYXBwZWRfY29vcmRbMF0pIC0gMS4wKSA8IDFlLTEpOgorICAgICAgICAgICAgICAgICAgICBp
ZiBzYW1wbGVyLmNoZWNrX25lYXJfZWRnZShtYXBwZWRfY29vcmQpOgogICAgICAgICAgICAgICAg
ICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKLSAgICAgICAgICAgICAgICAgICAgaWYg
KGZhYnMoZmFicyhtYXBwZWRfY29vcmRbMV0pIC0gMS4wKSA8IDFlLTEpOgotICAgICAgICAgICAg
ICAgICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGZhYnMoZmFicyhtYXBwZWRfY29vcmRbMl0pIC0gMS4wKSA8IDFlLTEpOgotICAgICAgICAg
ICAgICAgICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKLSAgICAgICAgICAgICAgICAg
ICA9MjAKICAgICByZXR1cm4gaW1nCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L2NvbW1pdHMvMmI2MjJjOWEyODMzLwpDaGFuZ2VzZXQ6ICAgMmI2MjJjOWEyODMzCkJyYW5j
aDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yMSAy
MToxOTowNSswMDowMApTdW1tYXJ5OiAgICAgaG9va2luZyB0aGUgbWVzaF9saW5lc19hbm5vdGF0
aW9uIHVwIHRvIHRoZSBjYWxsYmFjayBzeXN0ZW0gZm89CnIgc2xpY2UgcGxvdHMKQWZmZWN0ZWQg
IzogIDEgZmlsZQoKZGlmZiAtciBiY2Y0YjkxOTM5NmQyYmI5ZTMxNzk4N2Q0YTE1YzYyNDRlZjNh
M2JlIC1yIDJiNjIyYzlhMjgzM2U3YWRkZGQ4OWYwPQplMDJjM2RlNmM0YzZkMzIzZCB5dC92aXN1
YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQotLS0gYS95dC92aXN1YWxpemF0aW9uL3Bs
b3RfbW9kaWZpY2F0aW9ucy5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0
aW9ucy5weQpAQCAtMzUsNiArMzUsNyBAQAogZnJvbSB5dC51bml0cy55dF9hcnJheSBpbXBvcnQg
WVRRdWFudGl0eSwgWVRBcnJheQogZnJvbSB5dC52aXN1YWxpemF0aW9uLmltYWdlX3dyaXRlciBp
bXBvcnQgYXBwbHlfY29sb3JtYXAKIGZyb20geXQudXRpbGl0aWVzLmxpYi5nZW9tZXRyeV91dGls
cyBpbXBvcnQgdHJpYW5nbGVfcGxhbmVfaW50ZXJzZWN0Citmcm9tIHl0LnV0aWxpdGllcy5saWIu
cGl4ZWxpemF0aW9uX3JvdXRpbmVzIGltcG9ydCBkcmF3X21lc2hfbGluZXMKIGZyb20geXQuYW5h
bHlzaXNfbW9kdWxlcy5jb3Ntb2xvZ2ljYWxfb2JzZXJ2YXRpb24ubGlnaHRfcmF5LmxpZ2h0X3Jh
eSBcCiAgICAgIGltcG9ydCBwZXJpb2RpY19yYXkKIGltcG9ydCB3YXJuaW5ncwpAQCAtMTUyMCw3
ICsxNTIxLDYgQEAKPTIwCiAgICAgVXNlcyB0aGUgY29ubmVjdGl2aXR5IGFuZCBjb29yZGluYXRl
IGluZm9ybWF0aW9uIGZyb20gdGhlIGlucHV0CiAgICAgbWVzaCB0byBhZGQgdGhlIG91dGxpbmUg
b2YgdGhlIGVsZW1lbnQgYm91bmRhcmllcyB0byB0aGUgcGxvdC4KLSAgICBDdXJyZW50bHkgb25s
eSBpbXBsZW1lbnRlZCBmb3IgdGV0cmFoZWRyYWwgY29vcmRpbmF0ZXMuCj0yMAogICAgICIiIgog
ICAgIF90eXBlX25hbWUgPTNEICJtZXNoX2xpbmVzIgpAQCAtMTUzMiwyMyArMTUzMiw1NyBAQAo9
MjAKICAgICBkZWYgX19jYWxsX18oc2VsZiwgcGxvdCk6CiAgICAgICAgIGNvb3JkcyA9M0Qgc2Vs
Zi5tZXNoLmNvbm5lY3Rpdml0eV9jb29yZHMKLSAgICAgICAgY29ubiA9M0Qgc2VsZi5tZXNoLmNv
bm5lY3Rpdml0eV9pbmRpY2VzCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGFzc2VydChjb25u
LnNoYXBlWzFdID0zRD0zRCA0KQotICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6Ci0gICAg
ICAgICAgICByYWlzZSBZVEV4Y2VwdGlvbigiYW5ub3RhdGVfbWVzaF9saW5lcyBvbmx5IGltcGxl
bWVudGVkIGZvciIgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiB0ZXRyYWhlZHJh
bCBtZXNoZXMuIikKKyAgICAgICAgaW5kaWNlcyA9M0Qgc2VsZi5tZXNoLmNvbm5lY3Rpdml0eV9p
bmRpY2VzCj0yMAotICAgICAgICBwb2ludHMgPTNEIGNvb3Jkc1tjb25uIC0gc2VsZi5tZXNoLl9p
bmRleF9vZmZzZXRdCi0gICAgICAgIHRyaTEgPTNEIHBvaW50c1s6LCBbMCwgMSwgMl0sIDpdCi0g
ICAgICAgIHRyaTIgPTNEIHBvaW50c1s6LCBbMCwgMSwgM10sIDpdCi0gICAgICAgIHRyaTMgPTNE
IHBvaW50c1s6LCBbMCwgMiwgM10sIDpdCi0gICAgICAgIHRyaTQgPTNEIHBvaW50c1s6LCBbMSwg
MiwgM10sIDpdCisgICAgICAgIHh4MCwgeHgxID0zRCBwbG90Ll9heGVzLmdldF94bGltKCkKKyAg
ICAgICAgeXkwLCB5eTEgPTNEIHBsb3QuX2F4ZXMuZ2V0X3lsaW0oKQo9MjAKLSAgICAgICAgdHJp
YW5nbGVzID0zRCBucC5jb25jYXRlbmF0ZSgodHJpMSwgdHJpMiwgdHJpMywgdHJpNCksIDApCi0g
ICAgICAgIHRmYyA9M0QgVHJpYW5nbGVGYWNldHNDYWxsYmFjayh0cmlhbmdsZXMsIHNlbGYucGxv
dF9hcmdzKQorICAgICAgICBvZmZzZXQgPTNEIHNlbGYubWVzaC5faW5kZXhfb2Zmc2V0CisgICAg
ICAgIGF4ID0zRCBwbG90LmRhdGEuYXhpcworICAgICAgICB4YXggPTNEIHBsb3QuZGF0YS5kcy5j
b29yZGluYXRlcy54X2F4aXNbYXhdCisgICAgICAgIHlheCA9M0QgcGxvdC5kYXRhLmRzLmNvb3Jk
aW5hdGVzLnlfYXhpc1theF0KPTIwCi0gICAgICAgIHJldHVybiB0ZmMocGxvdCkKKyAgICAgICAg
c2l6ZSA9M0QgcGxvdC5pbWFnZS5fQS5zaGFwZQorICAgICAgICBjID0zRCBwbG90LmRhdGEuY2Vu
dGVyW2F4XQorICAgICAgICBidWZmX3NpemUgPTNEIHNpemVbMDpheF0gKyAoMSwpICsgc2l6ZVth
eDpdCisKKyAgICAgICAgeDAsIHgxID0zRCBwbG90LnhsaW0KKyAgICAgICAgeTAsIHkxID0zRCBw
bG90LnlsaW0KKyAgICAgICAgYyA9M0QgcGxvdC5kYXRhLmNlbnRlcltheF0KKyAgICAgICAgYm91
bmRzID0zRCBbeDAsIHgxLCB5MCwgeTFdCisgICAgICAgIGJvdW5kcy5pbnNlcnQoMipheCwgYykK
KyAgICAgICAgYm91bmRzLmluc2VydCgyKmF4LCBjKQorICAgICAgICBib3VuZHMgPTNEIG5wLnJl
c2hhcGUoYm91bmRzLCAoMywgMikpCisKKyAgICAgICAgaW1nID0zRCBkcmF3X21lc2hfbGluZXMo
Y29vcmRzLCBpbmRpY2VzLCBidWZmX3NpemUsIGJvdW5kcywgb2Zmc2V0KQorICAgICAgICBpbWcg
PTNEIG5wLnNxdWVlemUobnAudHJhbnNwb3NlKGltZywgKHlheCwgeGF4LCBheCkpKQorICAgICAg
ICBpbWFnZSA9M0QgbnAuemVyb3MoKDgwMCwgODAwLCA0KSwgZHR5cGU9M0RucC51aW50OCkKKwor
ICAgICAgICBpbWFnZVs6LCA6LCAwXVtpbWcgPiAwLjBdID0zRCAwCisgICAgICAgIGltYWdlWzos
IDosIDFdW2ltZyA+IDAuMF0gPTNEIDAKKyAgICAgICAgaW1hZ2VbOiwgOiwgMl1baW1nID4gMC4w
XSA9M0QgMAorICAgICAgICBpbWFnZVs6LCA6LCAzXVtpbWcgPiAwLjBdID0zRCAyNTUKKworICAg
ICAgICBwbG90Ll9heGVzLmltc2hvdyhpbWFnZSwgem9yZGVyPTNEMSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXh0ZW50PTNEW3h4MCwgeHgxLCB5eTAsIHl5MV0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9yaWdpbj0zRCdsb3dlcicpCisKKyAgICAgICAgIyB0cnk6CisgICAgICAg
ICMgICAgIGFzc2VydChjb25uLnNoYXBlWzFdID0zRD0zRCA0KQorICAgICAgICAjIGV4Y2VwdCBB
c3NlcnRpb25FcnJvcjoKKyAgICAgICAgIyAgICAgcmFpc2UgWVRFeGNlcHRpb24oImFubm90YXRl
X21lc2hfbGluZXMgb25seSBpbXBsZW1lbnRlZCBmb3IiPQogKworICAgICAgICAjICAgICAgICAg
ICAgICAgICAgICAgICAiIHRldHJhaGVkcmFsIG1lc2hlcy4iKQorCisgICAgICAgICMgcG9pbnRz
ID0zRCBjb29yZHNbY29ubiAtIHNlbGYubWVzaC5faW5kZXhfb2Zmc2V0XQorICAgICAgICAjIHRy
aTEgPTNEIHBvaW50c1s6LCBbMCwgMSwgMl0sIDpdCisgICAgICAgICMgdHJpMiA9M0QgcG9pbnRz
WzosIFswLCAxLCAzXSwgOl0KKyAgICAgICAgIyB0cmkzID0zRCBwb2ludHNbOiwgWzAsIDIsIDNd
LCA6XQorICAgICAgICAjIHRyaTQgPTNEIHBvaW50c1s6LCBbMSwgMiwgM10sIDpdCisKKyAgICAg
ICAgIyB0cmlhbmdsZXMgPTNEIG5wLmNvbmNhdGVuYXRlKCh0cmkxLCB0cmkyLCB0cmkzLCB0cmk0
KSwgMCkKKyAgICAgICAgIyB0ZmMgPTNEIFRyaWFuZ2xlRmFjZXRzQ2FsbGJhY2sodHJpYW5nbGVz
LCBzZWxmLnBsb3RfYXJncykKKworICAgICAgICAjIHJldHVybiB0ZmMocGxvdCkKPTIwCj0yMAog
Y2xhc3MgVHJpYW5nbGVGYWNldHNDYWxsYmFjayhQbG90Q2FsbGJhY2spOgoKCmh0dHBzOi8vYml0
YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzJlNTRiNDcxOTYxNy8KQ2hhbmdlc2V0
OiAgIDJlNTRiNDcxOTYxNwpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0
ZTogICAgICAgIDIwMTUtMDktMjEgMjI6MTM6NDIrMDA6MDAKU3VtbWFyeTogICAgIG1ha2UgdGhl
IHRvbGVyYW5jZSBmb3IgZHJhd2luZyBlbGVtZW50IGJvdW5kYXJpZXMgYW4gaW5wdXQgdG8gPQph
bm5vdGF0ZV9tZXNoX2xpbmVzCkFmZmVjdGVkICM6ICA0IGZpbGVzCgpkaWZmIC1yIDJiNjIyYzlh
MjgzM2U3YWRkZGQ4OWYwZTAyYzNkZTZjNGM2ZDMyM2QgLXIgMmU1NGI0NzE5NjE3YzZkZWQ0ZWNk
OTM9CjlmM2UzYTkzM2IwMWEwZDlmIHl0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBwaW5ncy5w
eGQKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB4ZAorKysgYi95dC91
dGlsaXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHhkCkBAIC0yOSw3ICsyOSwxMCBAQAo9MjAK
ICAgICBjZGVmIGludCBjaGVja19pbnNpZGUoc2VsZiwgZG91YmxlKiBtYXBwZWRfY29vcmQpIG5v
Z2lsCj0yMAotICAgIGNkZWYgaW50IGNoZWNrX25lYXJfZWRnZShzZWxmLCBkb3VibGUqIG1hcHBl
ZF9jb29yZCkgbm9naWwKKyAgICBjZGVmIGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBtYXBwZWRfY29vcmQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0b2xlcmFuY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBkaXJlY3Rpb24pIG5vZ2lsCj0yMAo9MjAKIGNkZWYgY2xhc3MgUDFTYW1w
bGVyM0QoRWxlbWVudFNhbXBsZXIpOgpAQCAtNDYsNyArNDksMTAgQEAKPTIwCiAgICAgY2RlZiBp
bnQgY2hlY2tfaW5zaWRlKHNlbGYsIGRvdWJsZSogbWFwcGVkX2Nvb3JkKSBub2dpbAo9MjAKLSAg
ICBjZGVmIGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiwgZG91YmxlKiBtYXBwZWRfY29vcmQpIG5v
Z2lsCisgICAgY2RlZiBpbnQgY2hlY2tfbmVhcl9lZGdlKHNlbGYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvdWJsZSogbWFwcGVkX2Nvb3JkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3VibGUgdG9sZXJhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZGlyZWN0aW9uKSBub2dpbAo9MjAKPTIwCiAjIFRoaXMgdHlwZWRlZiBkZWZpbmVzIGEgZnVu
Y3Rpb24gcG9pbnRlciB0aGF0IGRlZmluZXMgdGhlIHN5c3RlbQpAQCAtMTE3LDQgKzEyMyw3IEBA
Cj0yMAogICAgIGNkZWYgaW50IGNoZWNrX2luc2lkZShzZWxmLCBkb3VibGUqIG1hcHBlZF9jb29y
ZCkgbm9naWwKPTIwCi0gICAgY2RlZiBpbnQgY2hlY2tfbmVhcl9lZGdlKHNlbGYsIGRvdWJsZSog
bWFwcGVkX2Nvb3JkKSBub2dpbAorICAgIGNkZWYgaW50IGNoZWNrX25lYXJfZWRnZShzZWxmLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIG1hcHBlZF9jb29yZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHRvbGVyYW5jZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IGRpcmVjdGlvbikgbm9naWwKCmRpZmYgLXIgMmI2MjJjOWEyODMz
ZTdhZGRkZDg5ZjBlMDJjM2RlNmM0YzZkMzIzZCAtciAyZTU0YjQ3MTk2MTdjNmRlZDRlY2Q5Mz0K
OWYzZTNhOTMzYjAxYTBkOWYgeXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB5eAot
LS0gYS95dC91dGlsaXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHl4CisrKyBiL3l0L3V0aWxp
dGllcy9saWIvZWxlbWVudF9tYXBwaW5ncy5weXgKQEAgLTg0LDcgKzg0LDEwIEBACiAgICAgQGN5
dGhvbi5ib3VuZHNjaGVjayhGYWxzZSkKICAgICBAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCiAg
ICAgQGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkKLSAgICBjZGVmIGludCBjaGVja19uZWFyX2VkZ2Uo
c2VsZiwgZG91YmxlKiBtYXBwZWRfY29vcmQpIG5vZ2lsOgorICAgIGNkZWYgaW50IGNoZWNrX25l
YXJfZWRnZShzZWxmLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIG1h
cHBlZF9jb29yZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHRvbGVyYW5j
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpcmVjdGlvbikgbm9naWw6CiAg
ICAgICAgIHBhc3MKPTIwCiAgICAgQGN5dGhvbi5ib3VuZHNjaGVjayhGYWxzZSkKQEAgLTE2MSwx
MiArMTY0LDE0IEBACiAgICAgQGN5dGhvbi5ib3VuZHNjaGVjayhGYWxzZSkKICAgICBAY3l0aG9u
LndyYXBhcm91bmQoRmFsc2UpCiAgICAgQGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkKLSAgICBjZGVm
IGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiwgZG91YmxlKiBtYXBwZWRfY29vcmQpIG5vZ2lsOgot
ICAgICAgICBjZGVmIGludCBpCi0gICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgotICAgICAgICAg
ICAgaWYgKGZhYnMobWFwcGVkX2Nvb3JkW2ldKSA8IDEuMGUtMiBvcgotICAgICAgICAgICAgICAg
IGZhYnMobWFwcGVkX2Nvb3JkW2ldIC0gMS4wKSA8IDEuMGUtMik6Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIDEKKyAgICBjZGVmIGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiw9MjAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBtYXBwZWRfY29vcmQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSB0b2xlcmFuY2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBkaXJlY3Rpb24pIG5vZ2lsOgorCisgICAgICAgIGlmIChmYWJzKG1hcHBlZF9j
b29yZFtkaXJlY3Rpb25dKSA8IHRvbGVyYW5jZSBvcgorICAgICAgICAgICAgZmFicyhtYXBwZWRf
Y29vcmRbZGlyZWN0aW9uXSAtIDEuMCkgPCB0b2xlcmFuY2UpOgorICAgICAgICAgICAgcmV0dXJu
IDEKICAgICAgICAgcmV0dXJuIDAKPTIwCj0yMApAQCAtMjc3LDEyICsyODIsMTEgQEAKICAgICBA
Y3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQogICAgIEBjeXRob24ud3JhcGFyb3VuZChGYWxzZSkK
ICAgICBAY3l0aG9uLmNkaXZpc2lvbihUcnVlKQotICAgIGNkZWYgaW50IGNoZWNrX25lYXJfZWRn
ZShzZWxmLCBkb3VibGUqIG1hcHBlZF9jb29yZCkgbm9naWw6Ci0gICAgICAgIGlmIChmYWJzKGZh
YnMobWFwcGVkX2Nvb3JkWzBdKSAtIDEuMCkgPCAxZS0xKToKLSAgICAgICAgICAgIHJldHVybiAx
Ci0gICAgICAgIGlmIChmYWJzKGZhYnMobWFwcGVkX2Nvb3JkWzFdKSAtIDEuMCkgPCAxZS0xKToK
LSAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAgIGlmIChmYWJzKGZhYnMobWFwcGVkX2Nvb3Jk
WzJdKSAtIDEuMCkgPCAxZS0xKToKKyAgICBjZGVmIGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiw9
MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBtYXBwZWRfY29vcmQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0b2xlcmFuY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBkaXJlY3Rpb24pIG5vZ2lsOgorICAgICAgICBpZiAoZmFi
cyhmYWJzKG1hcHBlZF9jb29yZFtkaXJlY3Rpb25dKSAtIDEuMCkgPCB0b2xlcmFuY2UpOgogICAg
ICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiAwCgpk
aWZmIC1yIDJiNjIyYzlhMjgzM2U3YWRkZGQ4OWYwZTAyYzNkZTZjNGM2ZDMyM2QgLXIgMmU1NGI0
NzE5NjE3YzZkZWQ0ZWNkOTM9CjlmM2UzYTkzM2IwMWEwZDlmIHl0L3V0aWxpdGllcy9saWIvcGl4
ZWxpemF0aW9uX3JvdXRpbmVzLnB5eAotLS0gYS95dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlv
bl9yb3V0aW5lcy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGlu
ZXMucHl4CkBAIC01MjksNyArNTI5LDggQEAKPTIwCiBkZWYgZHJhd19tZXNoX2xpbmVzKG5wLm5k
YXJyYXlbbnAuZmxvYXQ2NF90LCBuZGltPTNEMl0gY29vcmRzLAogICAgICAgICAgICAgICAgICAg
ICBucC5uZGFycmF5W25wLmludDY0X3QsIG5kaW09M0QyXSBjb25uLAotICAgICAgICAgICAgICAg
ICAgICBidWZmX3NpemUsIGV4dGVudHMsIGludCBpbmRleF9vZmZzZXQgPTNEIDApOgorICAgICAg
ICAgICAgICAgICAgICBidWZmX3NpemUsIGV4dGVudHMsIGRvdWJsZSB0aHJlc2gsCisgICAgICAg
ICAgICAgICAgICAgIGludCBpbmRleF9vZmZzZXQgPTNEIDApOgogICAgIGNkZWYgbnAubmRhcnJh
eVtucC5mbG9hdDY0X3QsIG5kaW09M0QzXSBpbWcKICAgICBpbWcgPTNEIG5wLnplcm9zKGJ1ZmZf
c2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIpCiAgICAgIyBUd28gc3RlcHM6CkBAIC02MDQsNiArNjA1
LDcgQEAKICAgICAgICAgICAgICAgICAgICAgc2FtcGxlci5tYXBfcmVhbF90b191bml0KG1hcHBl
ZF9jb29yZCwgdmVydGljZXMsIHBwb2luPQp0KQogICAgICAgICAgICAgICAgICAgICBpZiBub3Qg
c2FtcGxlci5jaGVja19pbnNpZGUobWFwcGVkX2Nvb3JkKToKICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgICAgIGlmIHNhbXBsZXIuY2hlY2tfbmVhcl9l
ZGdlKG1hcHBlZF9jb29yZCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbWdbcGksIHBqLCBw
a10gPTNEIDEuMAorICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIHNhbXBsZXIuY2hlY2tfbmVhcl9lZGdlKG1hcHBlZF9jb29y
ZCwgdGhyZXNoLCBpPQopOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ1twaSwgcGos
IHBrXSA9M0QgMS4wCiAgICAgcmV0dXJuIGltZwoKZGlmZiAtciAyYjYyMmM5YTI4MzNlN2FkZGRk
ODlmMGUwMmMzZGU2YzRjNmQzMjNkIC1yIDJlNTRiNDcxOTYxN2M2ZGVkNGVjZDkzPQo5ZjNlM2E5
MzNiMDFhMGQ5ZiB5dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQotLS0gYS95
dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQorKysgYi95dC92aXN1YWxpemF0
aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQpAQCAtMTUyNSw5ICsxNTI1LDkgQEAKICAgICAiIiIK
ICAgICBfdHlwZV9uYW1lID0zRCAibWVzaF9saW5lcyIKPTIwCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIG1lc2gsIHBsb3RfYXJncz0zRE5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtZXNo
LCB0aHJlc2g9M0QwLjEpOgogICAgICAgICBzdXBlcihNZXNoTGluZXNDYWxsYmFjaywgc2VsZiku
X19pbml0X18oKQotICAgICAgICBzZWxmLnBsb3RfYXJncyA9M0Qge30gaWYgcGxvdF9hcmdzIGlz
IE5vbmUgZWxzZSBwbG90X2FyZ3MKKyAgICAgICAgc2VsZi50aHJlc2ggPTNEIHRocmVzaAogICAg
ICAgICBzZWxmLm1lc2ggPTNEIG1lc2gKPTIwCiAgICAgZGVmIF9fY2FsbF9fKHNlbGYsIHBsb3Qp
OgpAQCAtMTU1NCw3ICsxNTU0LDkgQEAKICAgICAgICAgYm91bmRzLmluc2VydCgyKmF4LCBjKQog
ICAgICAgICBib3VuZHMgPTNEIG5wLnJlc2hhcGUoYm91bmRzLCAoMywgMikpCj0yMAotICAgICAg
ICBpbWcgPTNEIGRyYXdfbWVzaF9saW5lcyhjb29yZHMsIGluZGljZXMsIGJ1ZmZfc2l6ZSwgYm91
bmRzLCBvZmZzZXQpCisgICAgICAgIGltZyA9M0QgZHJhd19tZXNoX2xpbmVzKGNvb3JkcywgaW5k
aWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZfc2l6ZSwgYm91bmRzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50aHJlc2gsIG9mZnNldCkKICAgICAg
ICAgaW1nID0zRCBucC5zcXVlZXplKG5wLnRyYW5zcG9zZShpbWcsICh5YXgsIHhheCwgYXgpKSkK
ICAgICAgICAgaW1hZ2UgPTNEIG5wLnplcm9zKCg4MDAsIDgwMCwgNCksIGR0eXBlPTNEbnAudWlu
dDgpCj0yMAoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzL2Zh
MTg1MWY3ZmQ5NS8KQ2hhbmdlc2V0OiAgIGZhMTg1MWY3ZmQ5NQpCcmFuY2g6ICAgICAgeXQKVXNl
cjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMjEgMjI6MTc6MjUrMDA6MDAK
U3VtbWFyeTogICAgIG1ha2UgdGhlIHRvbGVyYW5jZSBmb3IgZHJhd2luZyBlbGVtZW50IGJvdW5k
YXJpZXMgYW4gaW5wdXQgdG8gPQphbm5vdGF0ZV9tZXNoX2xpbmVzCkFmZmVjdGVkICM6ICAxIGZp
bGUKCmRpZmYgLXIgMmU1NGI0NzE5NjE3YzZkZWQ0ZWNkOTM5ZjNlM2E5MzNiMDFhMGQ5ZiAtciBm
YTE4NTFmN2ZkOTU2YTMwMTBhNjUyZD0KYzI0NDZlNjQwNzE0ZWYxNGEgeXQvdXRpbGl0aWVzL2xp
Yi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxp
emF0aW9uX3JvdXRpbmVzLnB5eAorKysgYi95dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9y
b3V0aW5lcy5weXgKQEAgLTU0OSw2ICs1NDksMjIgQEAKICAgICBjZGVmIG5wLmZsb2F0NjRfdCAq
dmVydGljZXMKICAgICBjZGVmIGludCBudmVydGljZXMgPTNEIGNvbm4uc2hhcGVbMV0KICAgICBj
ZGVmIGRvdWJsZSogbWFwcGVkX2Nvb3JkCisgICAgY2RlZiBpbnQgYXgsIHhheCwgeWF4CisKKyAg
ICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgaWYgYnVmZl9zaXplW2ldID0zRD0zRCAxOgor
ICAgICAgICAgICAgYXggPTNEIGkKKworICAgIGlmIGF4ID0zRD0zRCAwOgorICAgICAgICB4YXgg
PTNEIDEKKyAgICAgICAgeWF4ID0zRCAyCisgICAgaWYgYXggPTNEPTNEIDE6CisgICAgICAgIHhh
eCA9M0QgMQorICAgICAgICB5YXggPTNEIDIKKyAgICBpZiBheCA9M0Q9M0QgMjoKKyAgICAgICAg
eGF4ID0zRCAwCisgICAgICAgIHlheCA9M0QgMQorCiAgICAgY2RlZiBFbGVtZW50U2FtcGxlciBz
YW1wbGVyCj0yMAogICAgICMgQWxsb2NhdGUgc3RvcmFnZSBmb3IgdGhlIG1hcHBlZCBjb29yZGlu
YXRlCkBAIC02MDUsNyArNjIxLDggQEAKICAgICAgICAgICAgICAgICAgICAgc2FtcGxlci5tYXBf
cmVhbF90b191bml0KG1hcHBlZF9jb29yZCwgdmVydGljZXMsIHBwb2luPQp0KQogICAgICAgICAg
ICAgICAgICAgICBpZiBub3Qgc2FtcGxlci5jaGVja19pbnNpZGUobWFwcGVkX2Nvb3JkKToKICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgICAgIGZvciBp
IGluIHJhbmdlKDMpOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2FtcGxlci5jaGVja19u
ZWFyX2VkZ2UobWFwcGVkX2Nvb3JkLCB0aHJlc2gsIGk9Cik6Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKKyAgICAgICAgICAgICAgICAgICAgaWYg
c2FtcGxlci5jaGVja19uZWFyX2VkZ2UobWFwcGVkX2Nvb3JkLCB0aHJlc2gsIHhheCk6CisgICAg
ICAgICAgICAgICAgICAgICAgICBpbWdbcGksIHBqLCBwa10gPTNEIDEuMAorICAgICAgICAgICAg
ICAgICAgICBlbGlmIHNhbXBsZXIuY2hlY2tfbmVhcl9lZGdlKG1hcHBlZF9jb29yZCwgdGhyZXNo
LCB5YXg9Cik6CisgICAgICAgICAgICAgICAgICAgICAgICBpbWdbcGksIHBqLCBwa10gPTNEIDEu
MAogICAgIHJldHVybiBpbWcKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQv
Y29tbWl0cy8wNWY2OGM5MTJjMTMvCkNoYW5nZXNldDogICAwNWY2OGM5MTJjMTMKQnJhbmNoOiAg
ICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTIxIDIyOjM1
OjEzKzAwOjAwClN1bW1hcnk6ICAgICB1cGRhdGluZyBkb2NzdHJpbmcgZm9yIGFubm90YXRlX21l
c2hfbGluZXMKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBmYTE4NTFmN2ZkOTU2YTMwMTBh
NjUyZGMyNDQ2ZTY0MDcxNGVmMTRhIC1yIDA1ZjY4YzkxMmMxM2FmY2U0OTRiYjgzPQozNWU0MmVh
ZjU5YTM0Yzg4ZiB5dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQotLS0gYS95
dC92aXN1YWxpemF0aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQorKysgYi95dC92aXN1YWxpemF0
aW9uL3Bsb3RfbW9kaWZpY2F0aW9ucy5weQpAQCAtMTUxNSwxMiArMTUxNSwyNCBAQAo9MjAKIGNs
YXNzIE1lc2hMaW5lc0NhbGxiYWNrKFBsb3RDYWxsYmFjayk6CiAgICAgIiIiCi0gICAgYW5ub3Rh
dGVfbWVzaF9saW5lcyhtZXNoLCBwbG90X2FyZ3M9M0ROb25lICkKKyAgICBhbm5vdGF0ZV9tZXNo
X2xpbmVzKG1lc2gsIHRocmVzaD0zRDAuMDEpCj0yMAogICAgIEFkZHMgdGhlIG91dGxpbmUgb2Yg
dGhlIG1lc2ggbGluZXMgdG8gdGhlIHBsb3QuCj0yMAogICAgIFVzZXMgdGhlIGNvbm5lY3Rpdml0
eSBhbmQgY29vcmRpbmF0ZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbnB1dAogICAgIG1lc2ggdG8g
YWRkIHRoZSBvdXRsaW5lIG9mIHRoZSBlbGVtZW50IGJvdW5kYXJpZXMgdG8gdGhlIHBsb3QuCisg
ICAgVGhpcyBpcyBkb25lIGJ5IG1hcmtpbmcgdGhlIHBpeGVscyB3aGVyZSB0aGUgbWFwcGVkIGNv
b3JkaW5hdGUKKyAgICBpcyB3aXRoaW4gc29tZSB0aHJlc2hvbGQgZGlzdGFuY2Ugb2Ygb25lIG9m
IHRoZSBlbGVtZW50IGJvdW5kYXJpZXMuCisgICAgSWYgdGhlIG1lc2ggbGluZXMgYXJlIHRvbyB0
aGljayBvciB0b28gdGhpbiwgdHJ5IHZhcnlpbmcgdGhyZXNoLgorCisgICAgUGFyYW1ldGVycwor
ICAgIC0tLS0tLS0tLS0KKyAgICBtZXNoIDogVW5zdHJ1Y3R1cmVkSW5kZXgKKyAgICAgICAgVGhl
IG1lc2ggeW91IHdhbnQgdG8gYWRkIHRvIHRoZSBpbWFnZQorCisgICAgdGhyZXNoIDogZmxvYXQK
KyAgICAgICAgVGhlIHRocmVzaG9sZCBkaXN0YW5jZSwgaW4gbWFwcGVkIGNvb3JkaW5hdGVzLCB3
aXRoaW4gd2hpY2ggdGhlCisgICAgICAgIHBpeGVscyB3aWxsIGJlIG1hcmtlZCBhcyBwYXJ0IG9m
IHRoZSBlbGVtZW50IGJvdW5kYXJ5Lgo9MjAKICAgICAiIiIKICAgICBfdHlwZV9uYW1lID0zRCAi
bWVzaF9saW5lcyIKQEAgLTE1NTQsMTIgKzE1NjYsMTUgQEAKICAgICAgICAgYm91bmRzLmluc2Vy
dCgyKmF4LCBjKQogICAgICAgICBib3VuZHMgPTNEIG5wLnJlc2hhcGUoYm91bmRzLCAoMywgMikp
Cj0yMAorICAgICAgICAjIGRyYXcgdGhlIG1lc2ggbGluZXMgYnkgbWFya2luZyB3aGVyZSB0aGUg
bWFwcGVkCisgICAgICAgICMgY29vcmRpbmF0ZSBpcyBjbG9zZSB0byB0aGUgZG9tYWluIGVkZ2UK
ICAgICAgICAgaW1nID0zRCBkcmF3X21lc2hfbGluZXMoY29vcmRzLCBpbmRpY2VzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnVmZl9zaXplLCBib3VuZHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLnRocmVzaCwgb2Zmc2V0KQogICAgICAgICBpbWcgPTNEIG5w
LnNxdWVlemUobnAudHJhbnNwb3NlKGltZywgKHlheCwgeGF4LCBheCkpKQorCisgICAgICAgICMg
Y29udmVydCB0byBSR0JBPTIwCiAgICAgICAgIGltYWdlID0zRCBucC56ZXJvcygoODAwLCA4MDAs
IDQpLCBkdHlwZT0zRG5wLnVpbnQ4KQotCiAgICAgICAgIGltYWdlWzosIDosIDBdW2ltZyA+IDAu
MF0gPTNEIDAKICAgICAgICAgaW1hZ2VbOiwgOiwgMV1baW1nID4gMC4wXSA9M0QgMAogICAgICAg
ICBpbWFnZVs6LCA6LCAyXVtpbWcgPiAwLjBdID0zRCAwCkBAIC0xNTY3LDI0ICsxNTgyLDggQEAK
PTIwCiAgICAgICAgIHBsb3QuX2F4ZXMuaW1zaG93KGltYWdlLCB6b3JkZXI9M0QxLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICBleHRlbnQ9M0RbeHgwLCB4eDEsIHl5MCwgeXkxXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgb3JpZ2luPTNEJ2xvd2VyJykKLQotICAgICAgICAjIHRyeToK
LSAgICAgICAgIyAgICAgYXNzZXJ0KGNvbm4uc2hhcGVbMV0gPTNEPTNEIDQpCi0gICAgICAgICMg
ZXhjZXB0IEFzc2VydGlvbkVycm9yOgotICAgICAgICAjICAgICByYWlzZSBZVEV4Y2VwdGlvbigi
YW5ub3RhdGVfbWVzaF9saW5lcyBvbmx5IGltcGxlbWVudGVkIGZvciI9CiArCi0gICAgICAgICMg
ICAgICAgICAgICAgICAgICAgICAgICIgdGV0cmFoZWRyYWwgbWVzaGVzLiIpCi0KLSAgICAgICAg
IyBwb2ludHMgPTNEIGNvb3Jkc1tjb25uIC0gc2VsZi5tZXNoLl9pbmRleF9vZmZzZXRdCi0gICAg
ICAgICMgdHJpMSA9M0QgcG9pbnRzWzosIFswLCAxLCAyXSwgOl0KLSAgICAgICAgIyB0cmkyID0z
RCBwb2ludHNbOiwgWzAsIDEsIDNdLCA6XQotICAgICAgICAjIHRyaTMgPTNEIHBvaW50c1s6LCBb
MCwgMiwgM10sIDpdCi0gICAgICAgICMgdHJpNCA9M0QgcG9pbnRzWzosIFsxLCAyLCAzXSwgOl0K
LQotICAgICAgICAjIHRyaWFuZ2xlcyA9M0QgbnAuY29uY2F0ZW5hdGUoKHRyaTEsIHRyaTIsIHRy
aTMsIHRyaTQpLCAwKQotICAgICAgICAjIHRmYyA9M0QgVHJpYW5nbGVGYWNldHNDYWxsYmFjayh0
cmlhbmdsZXMsIHNlbGYucGxvdF9hcmdzKQotCi0gICAgICAgICMgcmV0dXJuIHRmYyhwbG90KQor
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW49M0QnbG93ZXInLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPTNEJ25lYXJlc3QnKQo9MjAKPTIwCiBjbGFzcyBU
cmlhbmdsZUZhY2V0c0NhbGxiYWNrKFBsb3RDYWxsYmFjayk6CgoKaHR0cHM6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNGM3Y2Y0MGQ5YzE2LwpDaGFuZ2VzZXQ6ICAgNGM3
Y2Y0MGQ5YzE2CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAg
ICAgMjAxNS0wOS0yMiAyMDo0NjoyNCswMDowMApTdW1tYXJ5OiAgICAgcHN1ZWRvIDNEIGZvciBs
byBkaW0gZGF0YXNldHMKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciAwNWY2OGM5MTJjMTNh
ZmNlNDk0YmI4MzM1ZTQyZWFmNTlhMzRjODhmIC1yIDRjN2NmNDBkOWMxNmNkNjVhZDA0Yjk0PQoz
ODkwZjc5OTFiMmQ4NzJjYSB5dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5w
eQotLS0gYS95dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQorKysgYi95
dC9mcm9udGVuZHMvZXhvZHVzX2lpL2RhdGFfc3RydWN0dXJlcy5weQpAQCAtMTA4LDYgKzEwOCwx
MiBAQAogICAgICAgICBzZWxmLnBhcmFtZXRlcnNbJ25vZF9uYW1lcyddID0zRCBzZWxmLl9nZXRf
bm9kX25hbWVzKCkKICAgICAgICAgc2VsZi5kb21haW5fbGVmdF9lZGdlID0zRCBzZWxmLl9sb2Fk
X2RvbWFpbl9lZGdlKDApCiAgICAgICAgIHNlbGYuZG9tYWluX3JpZ2h0X2VkZ2UgPTNEIHNlbGYu
X2xvYWRfZG9tYWluX2VkZ2UoMSkKKworICAgICAgICAjIHNldCB1cCBwc3VlZG8tM0QgZm9yIGxv
ZGltIGRhdGFzZXRzIGhlcmUKKyAgICAgICAgaWYgc2VsZi5kaW1lbnNpb25hbGl0eSA9M0Q9M0Qg
MjoKKyAgICAgICAgICAgIHNlbGYuZG9tYWluX2xlZnRfZWRnZSA9M0QgbnAuYXBwZW5kKHNlbGYu
ZG9tYWluX2xlZnRfZWRnZSwgMC4wKQorICAgICAgICAgICAgc2VsZi5kb21haW5fcmlnaHRfZWRn
ZSA9M0QgbnAuYXBwZW5kKHNlbGYuZG9tYWluX3JpZ2h0X2VkZ2UsIDE9Ci4wKQorCiAgICAgICAg
IHNlbGYucGVyaW9kaWNpdHkgPTNEIChGYWxzZSwgRmFsc2UsIEZhbHNlKQo9MjAKICAgICAgICAg
IyBUaGVzZSBhdHRyaWJ1dGVzIGRvbid0IHJlYWxseSBtYWtlIHNlbnNlIGZvciB1bnN0cnVjdHVy
ZWQKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9kZWQ4Yzk2
NWZlZDYvCkNoYW5nZXNldDogICBkZWQ4Yzk2NWZlZDYKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAg
ICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTIyIDIwOjQ3OjAzKzAwOjAwClN1bW1h
cnk6ICAgICBwdXR0aW5nIGJhY2sgdGhlIDJEIHRyaWFuZ2xlIHNhbXBsZXIKQWZmZWN0ZWQgIzog
IDQgZmlsZXMKCmRpZmYgLXIgNGM3Y2Y0MGQ5YzE2Y2Q2NWFkMDRiOTQzODkwZjc5OTFiMmQ4NzJj
YSAtciBkZWQ4Yzk2NWZlZDZjOTRmMDAyOTgwMD0KMGMxZGIzYzQ3ZDk5ZmZiMWEgeXQvZGF0YV9v
YmplY3RzL3Vuc3RydWN0dXJlZF9tZXNoLnB5Ci0tLSBhL3l0L2RhdGFfb2JqZWN0cy91bnN0cnVj
dHVyZWRfbWVzaC5weQorKysgYi95dC9kYXRhX29iamVjdHMvdW5zdHJ1Y3R1cmVkX21lc2gucHkK
QEAgLTE2OSw3ICsxNjksNyBAQAo9MjAKICAgICBkZWYgc2VsZWN0X2Zjb29yZHNfdmVydGV4KHNl
bGYsIGRvYmogPTNEIE5vbmUpOgogICAgICAgICBtYXNrID0zRCBzZWxmLl9nZXRfc2VsZWN0b3Jf
bWFzayhkb2JqLnNlbGVjdG9yKQotICAgICAgICBpZiBtYXNrIGlzIE5vbmU6IHJldHVybiBucC5l
bXB0eSgoMCxzZWxmLl9jb25uZWN0aXZpdHlfbGVuZ3RoLDMpLCA9CmR0eXBlPTNEJ2Zsb2F0NjQn
KQorICAgICAgICBpZiBtYXNrIGlzIE5vbmU6IHJldHVybiBucC5lbXB0eSgoMCwgc2VsZi5fY29u
bmVjdGl2aXR5X2xlbmd0aCwgMyk9CiwgZHR5cGU9M0QnZmxvYXQ2NCcpCiAgICAgICAgIHZlcnRp
Y2VzID0zRCBzZWxmLmNvbm5lY3Rpdml0eV9jb29yZHNbCiAgICAgICAgICAgICAgICAgc2VsZi5j
b25uZWN0aXZpdHlfaW5kaWNlcyAtIDFdCiAgICAgICAgIHJldHVybiB2ZXJ0aWNlc1ttYXNrLCA6
LCA6XQoKZGlmZiAtciA0YzdjZjQwZDljMTZjZDY1YWQwNGI5NDM4OTBmNzk5MWIyZDg3MmNhIC1y
IGRlZDhjOTY1ZmVkNmM5NGYwMDI5ODAwPQowYzFkYjNjNDdkOTlmZmIxYSB5dC91dGlsaXRpZXMv
bGliL2VsZW1lbnRfbWFwcGluZ3MucHhkCi0tLSBhL3l0L3V0aWxpdGllcy9saWIvZWxlbWVudF9t
YXBwaW5ncy5weGQKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB4ZApA
QCAtMzUsNiArMzUsMjYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRpcmVj
dGlvbikgbm9naWwKPTIwCj0yMAorY2RlZiBjbGFzcyBQMVNhbXBsZXIyRChFbGVtZW50U2FtcGxl
cik6CisKKyAgICBjZGVmIHZvaWQgbWFwX3JlYWxfdG9fdW5pdChzZWxmLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvdWJsZSogbWFwcGVkX3gsPTIwCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG91YmxlKiB2ZXJ0aWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3VibGUqIHBoeXNpY2FsX3gpIG5vZ2lsCisKKworICAgIGNkZWYgZG91YmxlIHNh
bXBsZV9hdF91bml0X3BvaW50KHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZG91YmxlKiBjb29yZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkb3VibGUqIHZhbHMpIG5vZ2lsCisKKyAgICBjZGVmIGludCBjaGVja19pbnNpZGUoc2VsZiwg
ZG91YmxlKiBtYXBwZWRfY29vcmQpIG5vZ2lsCisKKyAgICBjZGVmIGludCBjaGVja19uZWFyX2Vk
Z2Uoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBtYXBwZWRfY29v
cmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0b2xlcmFuY2UsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXJlY3Rpb24pIG5vZ2lsCisKKwogY2RlZiBj
bGFzcyBQMVNhbXBsZXIzRChFbGVtZW50U2FtcGxlcik6Cj0yMAogICAgIGNkZWYgdm9pZCBtYXBf
cmVhbF90b191bml0KHNlbGYsCgpkaWZmIC1yIDRjN2NmNDBkOWMxNmNkNjVhZDA0Yjk0Mzg5MGY3
OTkxYjJkODcyY2EgLXIgZGVkOGM5NjVmZWQ2Yzk0ZjAwMjk4MDA9CjBjMWRiM2M0N2Q5OWZmYjFh
IHl0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBwaW5ncy5weXgKLS0tIGEveXQvdXRpbGl0aWVz
L2xpYi9lbGVtZW50X21hcHBpbmdzLnB5eAorKysgYi95dC91dGlsaXRpZXMvbGliL2VsZW1lbnRf
bWFwcGluZ3MucHl4CkBAIC0xMDUsNiArMTA1LDg2IEBACiAgICAgICAgIHJldHVybiB2YWwKPTIw
Cj0yMAorY2RlZiBjbGFzcyBQMVNhbXBsZXIyRChFbGVtZW50U2FtcGxlcik6CisgICAgJycnCisK
KyAgICBUaGlzIGltcGxlbWVudHMgc2FtcGxpbmcgaW5zaWRlIGEgbGluZWFyLCB0cmlhbmd1bGFy
IG1lc2ggZWxlbWVudC4KKyAgICBUaGlzIG1hcHBpbmcgaXMgbGluZWFyIGFuZCBjYW4gYmUgaW52
ZXJ0ZWQgZWFzaWx5LgorCisgICAgJycnCisKKworICAgIEBjeXRob24uYm91bmRzY2hlY2soRmFs
c2UpCisgICAgQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQorICAgIEBjeXRob24uY2RpdmlzaW9u
KFRydWUpCisgICAgY2RlZiB2b2lkIG1hcF9yZWFsX3RvX3VuaXQoc2VsZiwgZG91YmxlKiBtYXBw
ZWRfeCw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIHZlcnRpY2Vz
LCBkb3VibGUqIHBoeXNpY2FsX3gpIG5vZ2lsOgorICAgPTIwCisgICAgICAgIGNkZWYgaW50IGkK
KyAgICAgICAgY2RlZiBkb3VibGUgZAorICAgICAgICBjZGVmIGRvdWJsZVszXSBidmVjCisgICAg
ICAgIGNkZWYgZG91YmxlWzNdIGNvbDAKKyAgICAgICAgY2RlZiBkb3VibGVbM10gY29sMQorICAg
ICAgICBjZGVmIGRvdWJsZVszXSBjb2wyCisgICA9MjAKKyAgICAgICAgY29sMFswXSA9M0QgdmVy
dGljZXNbMF0KKyAgICAgICAgY29sMFsxXSA9M0QgdmVydGljZXNbMV0KKyAgICAgICAgY29sMFsy
XSA9M0QgMS4wCisgICA9MjAKKyAgICAgICAgY29sMVswXSA9M0QgdmVydGljZXNbMl0KKyAgICAg
ICAgY29sMVsxXSA9M0QgdmVydGljZXNbM10KKyAgICAgICAgY29sMVsyXSA9M0QgMS4wCisgICA9
MjAKKyAgICAgICAgY29sMlswXSA9M0QgdmVydGljZXNbNF0KKyAgICAgICAgY29sMlsxXSA9M0Qg
dmVydGljZXNbNV0KKyAgICAgICAgY29sMlsyXSA9M0QgMS4wCisgICA9MjAKKyAgICAgICAgZGV0
ID0zRCBkZXRlcm1pbmFudF8zeDMoY29sMCwgY29sMSwgY29sMikKKyAgID0yMAorICAgICAgICBt
YXBwZWRfeFswXSA9M0QgKCh2ZXJ0aWNlc1szXSAtIHZlcnRpY2VzWzVdKSpwaHlzaWNhbF94WzBd
ICsgXAorICAgICAgICAgICAgICAgICAgICAgICAodmVydGljZXNbNF0gLSB2ZXJ0aWNlc1syXSkq
cGh5c2ljYWxfeFsxXSArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgKHZlcnRpY2VzWzJdKnZl
cnRpY2VzWzVdIC0gdmVydGljZXNbNF0qdmVydGljZXNbM10pPQopIC8gZGV0CisgICA9MjAKKyAg
ICAgICAgbWFwcGVkX3hbMV0gPTNEICgodmVydGljZXNbNV0gLSB2ZXJ0aWNlc1sxXSkqcGh5c2lj
YWxfeFswXSArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgKHZlcnRpY2VzWzBdIC0gdmVydGlj
ZXNbNF0pKnBoeXNpY2FsX3hbMV0gKyBcCisgICAgICAgICAgICAgICAgICAgICAgICh2ZXJ0aWNl
c1s0XSp2ZXJ0aWNlc1sxXSAtIHZlcnRpY2VzWzBdKnZlcnRpY2VzWzVdKT0KKSAvIGRldAorICAg
PTIwCisgICAgICAgIG1hcHBlZF94WzJdID0zRCAxLjAgLSBtYXBwZWRfeFsxXSAtIG1hcHBlZF94
WzBdCisgICA9MjAKKworICAgIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCisgICAgQGN5dGhv
bi53cmFwYXJvdW5kKEZhbHNlKQorICAgIEBjeXRob24uY2RpdmlzaW9uKFRydWUpCisgICAgY2Rl
ZiBkb3VibGUgc2FtcGxlX2F0X3VuaXRfcG9pbnQoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb3VibGUqIGNvb3JkLD0yMAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSogdmFscykgbm9naWw6CisgICAgICAgIHJldHVybiB2YWxz
WzBdKmNvb3JkWzBdICsgdmFsc1sxXSpjb29yZFsxXSArIHZhbHNbMl0qY29vcmRbMl0KKworICAg
IEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCisgICAgQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNl
KQorICAgIEBjeXRob24uY2RpdmlzaW9uKFRydWUpCisgICAgY2RlZiBpbnQgY2hlY2tfaW5zaWRl
KHNlbGYsIGRvdWJsZSogbWFwcGVkX2Nvb3JkKSBub2dpbDoKKyAgICAgICAgY2RlZiBpbnQgaQor
ICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgICAgIGlmIChtYXBwZWRfY29vcmRb
aV0gPCAtc2VsZi5pbmNsdXNpb25fdG9sIG9yCisgICAgICAgICAgICAgICAgbWFwcGVkX2Nvb3Jk
W2ldIC0gMS4wID4gc2VsZi5pbmNsdXNpb25fdG9sKToKKyAgICAgICAgICAgICAgICByZXR1cm4g
MAorICAgICAgICByZXR1cm4gMQorCisgICAgQGN5dGhvbi5ib3VuZHNjaGVjayhGYWxzZSkKKyAg
ICBAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCisgICAgQGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkK
KyAgICBjZGVmIGludCBjaGVja19uZWFyX2VkZ2Uoc2VsZiw9MjAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZG91YmxlKiBtYXBwZWRfY29vcmQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvdWJsZSB0b2xlcmFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBkaXJlY3Rpb24pIG5vZ2lsOgorCisgICAgICAgIGlmIChmYWJzKG1hcHBlZF9jb29yZFtkaXJl
Y3Rpb25dKSA8IHRvbGVyYW5jZSBvcgorICAgICAgICAgICAgZmFicyhtYXBwZWRfY29vcmRbZGly
ZWN0aW9uXSAtIDEuMCkgPCB0b2xlcmFuY2UpOgorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAg
ICAgcmV0dXJuIDAKKworCiBjZGVmIGNsYXNzIFAxU2FtcGxlcjNEKEVsZW1lbnRTYW1wbGVyKToK
ICAgICAnJycKPTIwCkBAIC0yMDEsNyArMjgxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3VibGUqIHBoeXNpY2FsX3gpIG5vZ2lsOgogICAgICAgICBjZGVmIGludCBpCiAg
ICAgICAgIGNkZWYgZG91YmxlIGQsIHZhbAotICAgICAgICBjZGVmIGRvdWJsZVszXSBmCisgICAg
ICAgIGNkZWYgZG91YmxlWzNdIGY9MjAKICAgICAgICAgY2RlZiBkb3VibGVbM10gcgogICAgICAg
ICBjZGVmIGRvdWJsZVszXSBzCiAgICAgICAgIGNkZWYgZG91YmxlWzNdIHQKQEAgLTM4MCw3ICs0
NjAsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICBucC5uZGFycmF5W25wLmZsb2F0NjRfdCwg
bmRpbT0zRDFdIHBoeXNpY2FsX3gpOgo9MjAKICAgICBjZGVmIGRvdWJsZSB2YWwKLSAgICBjZGVm
IGRvdWJsZVs0XSBtYXBwZWRfY29vcmQKPTIwCiAgICAgc2FtcGxlciA9M0QgUDFTYW1wbGVyM0Qo
KQo9MjAKQEAgLTM4OSwzICs0NjgsMjAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxkb3VibGUqPiBwaHlzaWNhbF94LmRhdGEpCj0yMAogICAgIHJldHVybiB2YWwK
KworQGN5dGhvbi5ib3VuZHNjaGVjayhGYWxzZSkKK0BjeXRob24ud3JhcGFyb3VuZChGYWxzZSkK
K0BjeXRob24uY2RpdmlzaW9uKFRydWUpCitkZWYgdGVzdF90cmlfc2FtcGxlcihucC5uZGFycmF5
W25wLmZsb2F0NjRfdCwgbmRpbT0zRDJdIHZlcnRpY2VzLAorICAgICAgICAgICAgICAgICAgICAg
bnAubmRhcnJheVtucC5mbG9hdDY0X3QsIG5kaW09M0QxXSBmaWVsZF92YWx1ZXMsCisgICAgICAg
ICAgICAgICAgICAgICBucC5uZGFycmF5W25wLmZsb2F0NjRfdCwgbmRpbT0zRDFdIHBoeXNpY2Fs
X3gpOgorCisgICAgY2RlZiBkb3VibGUgdmFsCisKKyAgICBzYW1wbGVyID0zRCBQMVNhbXBsZXIy
RCgpCisKKyAgICB2YWwgPTNEIHNhbXBsZXIuc2FtcGxlX2F0X3JlYWxfcG9pbnQoPGRvdWJsZSo+
IHZlcnRpY2VzLmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
ZG91YmxlKj4gZmllbGRfdmFsdWVzLmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8ZG91YmxlKj4gcGh5c2ljYWxfeC5kYXRhKQorCisgICAgcmV0dXJuIHZhbAoK
ZGlmZiAtciA0YzdjZjQwZDljMTZjZDY1YWQwNGI5NDM4OTBmNzk5MWIyZDg3MmNhIC1yIGRlZDhj
OTY1ZmVkNmM5NGYwMDI5ODAwPQowYzFkYjNjNDdkOTlmZmIxYSB5dC91dGlsaXRpZXMvbGliL3Rl
c3RzL3Rlc3RfZWxlbWVudF9tYXBwaW5ncy5weQotLS0gYS95dC91dGlsaXRpZXMvbGliL3Rlc3Rz
L3Rlc3RfZWxlbWVudF9tYXBwaW5ncy5weQorKysgYi95dC91dGlsaXRpZXMvbGliL3Rlc3RzL3Rl
c3RfZWxlbWVudF9tYXBwaW5ncy5weQpAQCAtMTksNyArMTksOCBAQAogZnJvbSB5dC50ZXN0aW5n
IGltcG9ydCBhc3NlcnRfYWxtb3N0X2VxdWFsCiBmcm9tIHl0LnV0aWxpdGllcy5saWIuZWxlbWVu
dF9tYXBwaW5ncyBpbXBvcnQgXAogICAgIHRlc3RfdGV0cmFfc2FtcGxlciwgXAotICAgIHRlc3Rf
aGV4X3NhbXBsZXIKKyAgICB0ZXN0X2hleF9zYW1wbGVyLCBcCisgICAgdGVzdF90cmlfc2FtcGxl
cgo9MjAKPTIwCiBkZWYgY2hlY2tfYWxsX3ZlcnRpY2VzKHNhbXBsZXIsIHZlcnRpY2VzLCBmaWVs
ZF92YWx1ZXMpOgpAQCAtMzIsNiArMzMsMTQgQEAKICAgICAgICAgYXNzZXJ0X2FsbW9zdF9lcXVh
bCh2YWwsIGZpZWxkX3ZhbHVlc1tpXSkKPTIwCj0yMAorZGVmIHRlc3RfUDFTYW1wbGVyMkQoKToK
KworICAgIHZlcnRpY2VzID0zRCBucC5hcnJheShbWzAuMSwgMC4yXSwgWzAuNiwgMC4zXSwgWzAu
MiwgMC43XV0pCisgICAgZmllbGRfdmFsdWVzID0zRCBucC5hcnJheShbIDEuLCAgMi4sICAzLl0p
CisKKyAgICBjaGVja19hbGxfdmVydGljZXModGVzdF90cmlfc2FtcGxlciwgdmVydGljZXMsIGZp
ZWxkX3ZhbHVlcykKKworCiBkZWYgdGVzdF9QMVNhbXBsZXIzRCgpOgogICAgIHZlcnRpY2VzID0z
RCBucC5hcnJheShbWzAuMSwgIDAuMSwgIDAuMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
WzAuNiwgIDAuMywgIDAuMl0sCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0
L2NvbW1pdHMvYzdiNDk1NzBkMWIxLwpDaGFuZ2VzZXQ6ICAgYzdiNDk1NzBkMWIxCkJyYW5jaDog
ICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yMiAyMjow
NDo0NSswMDowMApTdW1tYXJ5OiAgICAgbWFrZSBmaWxsX21lc2hfY2VsbF9tYXNrIG5vdCBhc3N1
bWUgM2QKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBkZWQ4Yzk2NWZlZDZjOTRmMDAyOTgw
MDBjMWRiM2M0N2Q5OWZmYjFhIC1yIGM3YjQ5NTcwZDFiMWFjNTEzZjBhYTA3PQo5ZGY1ZTVlM2Fm
NDM3NjZlMiB5dC9nZW9tZXRyeS9zZWxlY3Rpb25fcm91dGluZXMucHl4Ci0tLSBhL3l0L2dlb21l
dHJ5L3NlbGVjdGlvbl9yb3V0aW5lcy5weXgKKysrIGIveXQvZ2VvbWV0cnkvc2VsZWN0aW9uX3Jv
dXRpbmVzLnB5eApAQCAtMzg1LDYgKzM4NSw3IEBACiAgICAgICAgIGNkZWYgbnAubmRhcnJheVtu
cC51aW50OF90LCBuZGltPTNEMV0gbWFzawogICAgICAgICBjZGVmIGludCBpLCBqLCBrLCBzZWxl
Y3RlZAogICAgICAgICBjZGVmIGludCBucG9pbnRzLCBudiA9M0QgbWVzaC5fY29ubmVjdGl2aXR5
X2xlbmd0aAorICAgICAgICBjZGVmIGludCBuZGltID0zRCBtZXNoLmNvbm5lY3Rpdml0eV9jb29y
ZHMuc2hhcGVbMV0KICAgICAgICAgY2RlZiBpbnQgdG90YWwgPTNEIDAKICAgICAgICAgY2RlZiBp
bnQgb2Zmc2V0ID0zRCBtZXNoLl9pbmRleF9vZmZzZXQKICAgICAgICAgY29vcmRzID0zRCBfZW5z
dXJlX2NvZGUobWVzaC5jb25uZWN0aXZpdHlfY29vcmRzKQpAQCAtMzkzLDExICszOTQsMTEgQEAK
ICAgICAgICAgbWFzayA9M0QgbnAuemVyb3MobnBvaW50cywgZHR5cGU9M0QndWludDgnKQogICAg
ICAgICBmb3IgaSBpbiByYW5nZShucG9pbnRzKToKICAgICAgICAgICAgIHNlbGVjdGVkID0zRCAw
Ci0gICAgICAgICAgICBmb3IgayBpbiByYW5nZSgzKToKKyAgICAgICAgICAgIGZvciBrIGluIHJh
bmdlKG5kaW0pOgogICAgICAgICAgICAgICAgIGxlW2tdID0zRCAxZTYwCiAgICAgICAgICAgICAg
ICAgcmVba10gPTNEIC0xZTYwCiAgICAgICAgICAgICBmb3IgaiBpbiByYW5nZShudik6Ci0gICAg
ICAgICAgICAgICAgZm9yIGsgaW4gcmFuZ2UoMyk6CisgICAgICAgICAgICAgICAgZm9yIGsgaW4g
cmFuZ2UobmRpbSk6CiAgICAgICAgICAgICAgICAgICAgIHBvcyA9M0QgY29vcmRzW2luZGljZXNb
aSwgal0gLSBvZmZzZXQsIGtdCiAgICAgICAgICAgICAgICAgICAgIGxlW2tdID0zRCBmbWluKHBv
cywgbGVba10pCiAgICAgICAgICAgICAgICAgICAgIHJlW2tdID0zRCBmbWF4KHBvcywgcmVba10p
CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNTVhZjEyZDFl
OGEyLwpDaGFuZ2VzZXQ6ICAgNTVhZjEyZDFlOGEyCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAg
ICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yMiAyMjowNToyMSswMDowMApTdW1tYXJ5
OiAgICAgYWxsb3cgZm9yIHRoZSBkaXJlY3QgcGl4ZWxpemluZyBvZiAyRCBkYXRhc2V0cwpBZmZl
Y3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGM3YjQ5NTcwZDFiMWFjNTEzZjBhYTA3OWRmNWU1ZTNh
ZjQzNzY2ZTIgLXIgNTVhZjEyZDFlOGEyNjZlNTFjMDZjYjU9CjQxNjI0YjM5YWI1ZmQ4Y2JhIHl0
L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eAotLS0gYS95dC91dGlsaXRp
ZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9w
aXhlbGl6YXRpb25fcm91dGluZXMucHl4CkBAIC0yMiw3ICsyMiw5IEBACiBmcm9tIHl0LnV0aWxp
dGllcy5saWIuZWxlbWVudF9tYXBwaW5ncyBjaW1wb3J0IFwKICAgICBFbGVtZW50U2FtcGxlciwg
XAogICAgIFAxU2FtcGxlcjNELCBcCi0gICAgUTFTYW1wbGVyM0QKKyAgICBRMVNhbXBsZXIzRCwg
XAorICAgIFAxU2FtcGxlcjJECisKIGNkZWYgZXh0ZXJuIGZyb20gInN0ZGxpYi5oIjoKICAgICAj
IE5PVEUgdGhhdCBzaXplX3QgbWlnaHQgbm90IGJlIGludAogICAgIHZvaWQgKmFsbG9jYShpbnQp
CkBAIC00NTIsMjYgKzQ1NCwzMyBAQAogICAgIGNkZWYgbnAuZmxvYXQ2NF90ICp2ZXJ0aWNlcwog
ICAgIGNkZWYgbnAuZmxvYXQ2NF90ICpmaWVsZF92YWxzCiAgICAgY2RlZiBpbnQgbnZlcnRpY2Vz
ID0zRCBjb25uLnNoYXBlWzFdCisgICAgY2RlZiBpbnQgbmRpbSA9M0QgY29vcmRzLnNoYXBlWzFd
CiAgICAgY2RlZiBpbnQgbnVtX2ZpZWxkX3ZhbHM9MjAKICAgICBjZGVmIGRvdWJsZSogbWFwcGVk
X2Nvb3JkCiAgICAgY2RlZiBFbGVtZW50U2FtcGxlciBzYW1wbGVyCj0yMAorICAgIGlmIG5kaW0g
PTNEPTNEIDI6CisgICAgICAgIGFzc2VydChidWZmX3NpemVbMl0gPTNEPTNEIDEpCisKICAgICAj
IEFsbG9jYXRlIHN0b3JhZ2UgZm9yIHRoZSBtYXBwZWQgY29vcmRpbmF0ZQotICAgIGlmIG52ZXJ0
aWNlcyA9M0Q9M0QgNDoKKyAgICBpZiBuZGltID0zRD0zRCAzIGFuZCBudmVydGljZXMgPTNEPTNE
IDQ6CiAgICAgICAgIG1hcHBlZF9jb29yZCA9M0QgPGRvdWJsZSo+IGFsbG9jYShzaXplb2YoZG91
YmxlKSAqIDQpCiAgICAgICAgIHNhbXBsZXIgPTNEIFAxU2FtcGxlcjNEKCkKLSAgICBlbGlmIG52
ZXJ0aWNlcyA9M0Q9M0QgODoKKyAgICBlbGlmIG5kaW0gPTNEPTNEIDMgYW5kIG52ZXJ0aWNlcyA9
M0Q9M0QgODoKICAgICAgICAgbWFwcGVkX2Nvb3JkID0zRCA8ZG91YmxlKj4gYWxsb2NhKHNpemVv
Zihkb3VibGUpICogMykKICAgICAgICAgc2FtcGxlciA9M0QgUTFTYW1wbGVyM0QoKQorICAgIGVs
aWYgbmRpbSA9M0Q9M0QgMiBhbmQgbnZlcnRpY2VzID0zRD0zRCAzOgorICAgICAgICBtYXBwZWRf
Y29vcmQgPTNEIDxkb3VibGUqPiBhbGxvY2Eoc2l6ZW9mKGRvdWJsZSkgKiAzKQorICAgICAgICBz
YW1wbGVyID0zRCBQMVNhbXBsZXIyRCgpCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgUnVudGlt
ZUVycm9yCj0yMAotICAgIHZlcnRpY2VzID0zRCA8bnAuZmxvYXQ2NF90ICo+IGFsbG9jYSgzICog
c2l6ZW9mKG5wLmZsb2F0NjRfdCkgKiBudmVydGk9CmNlcykKKyAgICB2ZXJ0aWNlcyA9M0QgPG5w
LmZsb2F0NjRfdCAqPiBhbGxvY2EobmRpbSAqIHNpemVvZihucC5mbG9hdDY0X3QpICogbnZlPQpy
dGljZXMpCiAgICA9MjAKICAgICBudW1fZmllbGRfdmFscyA9M0QgZmllbGQuc2hhcGVbMV0KICAg
ICBmaWVsZF92YWxzID0zRCA8bnAuZmxvYXQ2NF90ICo+IGFsbG9jYShzaXplb2YobnAuZmxvYXQ2
NF90KSAqIG51bV9maWVsPQpkX3ZhbHMpCj0yMAotICAgIGZvciBpIGluIHJhbmdlKDMpOgorICAg
IGZvciBpIGluIHJhbmdlKG5kaW0pOgogICAgICAgICBwTEVbaV0gPTNEIGV4dGVudHNbaV1bMF0K
ICAgICAgICAgcFJFW2ldID0zRCBleHRlbnRzW2ldWzFdCiAgICAgICAgIGRkc1tpXSA9M0QgKHBS
RVtpXSAtIHBMRVtpXSkvYnVmZl9zaXplW2ldCkBAIC00OTEsMTkgKzUwMCwyNSBAQAo9MjAKICAg
ICAgICAgZm9yIG4gaW4gcmFuZ2UobnZlcnRpY2VzKToKICAgICAgICAgICAgIGNqID0zRCBjb25u
W2NpLCBuXSAtIGluZGV4X29mZnNldAotICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6Ci0g
ICAgICAgICAgICAgICAgdmVydGljZXNbMypuICsgaV0gPTNEIGNvb3Jkc1tjaiwgaV0KLSAgICAg
ICAgICAgICAgICBMRVtpXSA9M0QgZm1pbihMRVtpXSwgdmVydGljZXNbMypuK2ldKQotICAgICAg
ICAgICAgICAgIFJFW2ldID0zRCBmbWF4KFJFW2ldLCB2ZXJ0aWNlc1szKm4raV0pCisgICAgICAg
ICAgICBmb3IgaSBpbiByYW5nZShuZGltKToKKyAgICAgICAgICAgICAgICB2ZXJ0aWNlc1tuZGlt
Km4gKyBpXSA9M0QgY29vcmRzW2NqLCBpXQorICAgICAgICAgICAgICAgIExFW2ldID0zRCBmbWlu
KExFW2ldLCB2ZXJ0aWNlc1tuZGltKm4raV0pCisgICAgICAgICAgICAgICAgUkVbaV0gPTNEIGZt
YXgoUkVbaV0sIHZlcnRpY2VzW25kaW0qbitpXSkKICAgICAgICAgdXNlID0zRCAxCi0gICAgICAg
IGZvciBpIGluIHJhbmdlKDMpOgorICAgICAgICBmb3IgaSBpbiByYW5nZShuZGltKToKICAgICAg
ICAgICAgIGlmIFJFW2ldIDwgcExFW2ldIG9yIExFW2ldID49M0QgcFJFW2ldOgogICAgICAgICAg
ICAgICAgIHVzZSA9M0QgMAogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBwc3Rh
cnRbaV0gPTNEIGk2NG1heCg8bnAuaW50NjRfdD4gKChMRVtpXSAtIHBMRVtpXSkqaWRkc1tpXSkg
LT0KIDEsIDApCiAgICAgICAgICAgICBwZW5kW2ldID0zRCBpNjRtaW4oPG5wLmludDY0X3Q+ICgo
UkVbaV0gLSBwTEVbaV0pKmlkZHNbaV0pICsgMT0KLCBpbWcuc2hhcGVbaV0tMSkKKworICAgICAg
ICBpZiBuZGltID0zRD0zRCAyOgorICAgICAgICAgICAgcHN0YXJ0WzJdID0zRCAwCisgICAgICAg
ICAgICBwZW5kWzJdID0zRCAwCisKICAgICAgICAgaWYgdXNlID0zRD0zRCAwOgogICAgICAgICAg
ICAgY29udGludWUKKwogICAgICAgICAjIE5vdyBvdXIgYm91bmRpbmcgYm94IGludGVyc2VjdHMs
IHNvIHdlIGdldCB0aGUgZXh0ZW50cyBvZiBvdXIgcGk9CnhlbAogICAgICAgICAjIHJlZ2lvbiB3
aGljaCBvdmVybGFwcyB3aXRoIHRoZSBib3VuZGluZyBib3gsIGFuZCB3ZSdsbCBjaGVjayBlYWNo
CiAgICAgICAgICMgcGl4ZWwgaW4gdGhlcmUuCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2Fu
YWx5c2lzL3l0L2NvbW1pdHMvMWRiNjQwNDU1MWMwLwpDaGFuZ2VzZXQ6ICAgMWRiNjQwNDU1MWMw
CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0w
OS0yMiAyMzoyMjo1OSswMDowMApTdW1tYXJ5OiAgICAgcHV0dGluZyBiYWNrIHRoZSBsaW5lYXIg
cXVhZCBzYW1wbGVyCkFmZmVjdGVkICM6ICAzIGZpbGVzCgpkaWZmIC1yIDU1YWYxMmQxZThhMjY2
ZTUxYzA2Y2I1NDE2MjRiMzlhYjVmZDhjYmEgLXIgMWRiNjQwNDU1MWMwMzIyYWI1MDZhYWI9Cjgy
ODZiY2U5OTdlZTM1ZWVmIHl0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBwaW5ncy5weGQKLS0t
IGEveXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB4ZAorKysgYi95dC91dGlsaXRp
ZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHhkCkBAIC05NCw3ICs5NCw3IEBACiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb3VibGUqIHBoeXNfeCkgbm9naWwKPTIwCiAjIFRoaXMgdHlwZWRl
ZiBkZWZpbmVzIGEgZnVuY3Rpb24gcG9pbnRlciB0aGF0IGRlZmluZXMgdGhlIEphY29iaWFuCi0j
IG1hdHJpeCB1c2VkIGJ5IHRoZSBOb25saW5lYXJTb2x2ZVNhbXBsZXJzLiBTdWJjbGFzc2VzIG5l
ZWRlZCB0bz0yMAorIyBtYXRyaXggdXNlZCBieSB0aGUgTm9ubGluZWFyU29sdmVTYW1wbGVyM0Qu
IFN1YmNsYXNzZXMgbmVlZGVkIHRvPTIwCiAjIGRlZmluZSBhIEphY29iaWFuIGZ1bmN0aW9uIGlu
IHRoaXMgZm9ybS4KICM9MjAKICMgaW5wdXRzOgpAQCAtMTA4LDIwICsxMDgsNDEgQEAKICMgICAg
IHNjb2wgICAgIC0gdGhlIHNlY29uZCBjb2x1bW4gb2YgdGhlIGphY29iaWFuCiAjICAgICB0Y29s
ICAgICAtIHRoZSB0aGlyZCBjb2x1bW4gb2YgdGhlIGphb2NvYmlhbgogIwotY3R5cGVkZWYgdm9p
ZCAoKmphY190eXBlKShkb3VibGUqIHJjb2wsPTIwCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IGRvdWJsZSogc2NvbCw9MjAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiB0Y29s
LD0yMAotICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIHgsPTIwCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSogdmVydGljZXMsPTIwCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvdWJsZSogcGh5c194KSBub2dpbAorY3R5cGVkZWYgdm9pZCAoKmphY190eXBlM0Qp
KGRvdWJsZSogcmNvbCw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIHNj
b2wsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiB0Y29sLD0yMAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogeCw9MjAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkb3VibGUqIHZlcnRpY2VzLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSogcGh5c194KSBub2dpbAo9MjAKLWNkZWYgY2xhc3MgTm9ubGluZWFyU29sdmVT
YW1wbGVyKEVsZW1lbnRTYW1wbGVyKToKKworIyBUaGlzIHR5cGVkZWYgZGVmaW5lcyBhIGZ1bmN0
aW9uIHBvaW50ZXIgdGhhdCBkZWZpbmVzIHRoZSBKYWNvYmlhbgorIyBtYXRyaXggdXNlZCBieSB0
aGUgTm9ubGluZWFyU29sdmVTYW1wbGVyMkQuIFN1YmNsYXNzZXMgbmVlZGVkIHRvPTIwCisjIGRl
ZmluZSBhIEphY29iaWFuIGZ1bmN0aW9uIGluIHRoaXMgZm9ybS4KKyM9MjAKKyMgaW5wdXRzOgor
IyAgICAgeCAgICAgICAgLSBwb2ludGVyIHRvIHRoZSBtYXBwZWQgY29vcmRpbmF0ZQorIyAgICAg
dmVydGljZXMgLSBwb2ludGVyIHRvIHRoZSBlbGVtZW50IHZlcnRpY2VzCisjICAgICBwaHlzX3gg
ICAtIHBvaW50ZXIgdG8gdGhlIHBoeXNpY2FsIGNvb3JkaW5hdGUKKyMKKyMgb3V0cHV0czoKKyMK
KyMgICAgIEEgICAgICAgIC0gQSBmbGF0dGVuZWQgYXJyYXkgc3RvcmluZyB0aGUgSmFjb2JpYW4g
bWF0cml4CisjICAgICAgICAgICAgICAgIFRoZSBvcmRlciBvZiB0aGlzIGFycmF5IGlzIFtKMTEs
IEoxMiwgSjIxLCBKMjJdCisjCitjdHlwZWRlZiB2b2lkICgqamFjX3R5cGUyRCkoZG91YmxlKiBB
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogeCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb3VibGUqIHZlcnRpY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSogcGh5c194KSBub2dpbAorCisKK2NkZWYgY2xhc3MgTm9ubGluZWFyU29sdmVT
YW1wbGVyM0QoRWxlbWVudFNhbXBsZXIpOgo9MjAKICAgICBjZGVmIGludCBkaW0KICAgICBjZGVm
IGludCBtYXhfaXRlcgogICAgIGNkZWYgbnAuZmxvYXQ2NF90IHRvbGVyYW5jZQogICAgIGNkZWYg
ZnVuY190eXBlIGZ1bmM9MjAKLSAgICBjZGVmIGphY190eXBlIGphYworICAgIGNkZWYgamFjX3R5
cGUzRCBqYWMKPTIwCiAgICAgY2RlZiB2b2lkIG1hcF9yZWFsX3RvX3VuaXQoc2VsZiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIG1hcHBlZF94LD0yMApAQCAtMTI5LDcg
KzE1MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBwaHlzaWNh
bF94KSBub2dpbAogICAgPTIwCj0yMAotY2RlZiBjbGFzcyBRMVNhbXBsZXIzRChOb25saW5lYXJT
b2x2ZVNhbXBsZXIpOgorY2RlZiBjbGFzcyBRMVNhbXBsZXIzRChOb25saW5lYXJTb2x2ZVNhbXBs
ZXIzRCk6Cj0yMAogICAgIGNkZWYgdm9pZCBtYXBfcmVhbF90b191bml0KHNlbGYsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBtYXBwZWRfeCw9MjAKQEAgLTE0NywzICsx
NjgsMzYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBtYXBwZWRfY29v
cmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0b2xlcmFuY2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXJlY3Rpb24pIG5vZ2lsCisKK2NkZWYgY2xh
c3MgTm9ubGluZWFyU29sdmVTYW1wbGVyMkQoRWxlbWVudFNhbXBsZXIpOgorCisgICAgY2RlZiBp
bnQgZGltCisgICAgY2RlZiBpbnQgbWF4X2l0ZXIKKyAgICBjZGVmIG5wLmZsb2F0NjRfdCB0b2xl
cmFuY2UKKyAgICBjZGVmIGZ1bmNfdHlwZSBmdW5jPTIwCisgICAgY2RlZiBqYWNfdHlwZTJEIGph
YworCisgICAgY2RlZiB2b2lkIG1hcF9yZWFsX3RvX3VuaXQoc2VsZiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb3VibGUqIG1hcHBlZF94LD0yMAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvdWJsZSogdmVydGljZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZG91YmxlKiBwaHlzaWNhbF94KSBub2dpbAorICAgPTIwCisKK2NkZWYgY2xhc3MgUTFT
YW1wbGVyMkQoTm9ubGluZWFyU29sdmVTYW1wbGVyMkQpOgorCisgICAgY2RlZiB2b2lkIG1hcF9y
ZWFsX3RvX3VuaXQoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUq
IG1hcHBlZF94LD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogdmVy
dGljZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBwaHlzaWNhbF94
KSBub2dpbAorCisKKyAgICBjZGVmIGRvdWJsZSBzYW1wbGVfYXRfdW5pdF9wb2ludChzZWxmLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogY29vcmQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiB2YWxzKSBub2dpbAorCisg
ICAgY2RlZiBpbnQgY2hlY2tfaW5zaWRlKHNlbGYsIGRvdWJsZSogbWFwcGVkX2Nvb3JkKSBub2dp
bAorCisgICAgY2RlZiBpbnQgY2hlY2tfbmVhcl9lZGdlKHNlbGYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvdWJsZSogbWFwcGVkX2Nvb3JkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3VibGUgdG9sZXJhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZGlyZWN0aW9uKSBub2dpbAoKZGlmZiAtciA1NWFmMTJkMWU4YTI2NmU1MWMwNmNiNTQxNjI0
YjM5YWI1ZmQ4Y2JhIC1yIDFkYjY0MDQ1NTFjMDMyMmFiNTA2YWFiPQo4Mjg2YmNlOTk3ZWUzNWVl
ZiB5dC91dGlsaXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHl4Ci0tLSBhL3l0L3V0aWxpdGll
cy9saWIvZWxlbWVudF9tYXBwaW5ncy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50
X21hcHBpbmdzLnB5eApAQCAtMjU1LDIwICsyNTUsMjEgQEAKICAgICAgICAgcmV0dXJuIDAKPTIw
Cj0yMAotY2RlZiBjbGFzcyBOb25saW5lYXJTb2x2ZVNhbXBsZXIoRWxlbWVudFNhbXBsZXIpOgor
Y2RlZiBjbGFzcyBOb25saW5lYXJTb2x2ZVNhbXBsZXIzRChFbGVtZW50U2FtcGxlcik6Cj0yMAog
ICAgICcnJwo9MjAKICAgICBUaGlzIGlzIGEgYmFzZSBjbGFzcyBmb3IgaGFuZGxpbmcgZWxlbWVu
dCBzYW1wbGVycyB0aGF0IHJlcXVpcmUKICAgICBhIG5vbmxpbmVhciBzb2x2ZSB0byBpbnZlcnQg
dGhlIG1hcHBpbmcgYmV0d2VlbiBjb29yZGluYXRlIHN5c3RlbXMuCiAgICAgVG8gZG8gdGhpcywg
d2UgcGVyZm9ybSBOZXd0b24tUmFwaHNvbiBpdGVyYXRpb24gdXNpbmcgYSBzcGVjaWZpZWQ9MjAK
LSAgICBzeXN0ZW0gb2YgZXF1YXRpb25zIHdpdGggYW4gYW5hbHl0aWMgSmFjb2JpYW4gbWF0cml4
LiBUaGlzIGlzCi0gICAgbm90IHRvIGJlIHVzZWQgZGlyZWN0bHksIHVzZSBvbmUgb2YgdGhlIHN1
YmNsYXNzZXMgaW5zdGVhZC4KKyAgICBzeXN0ZW0gb2YgZXF1YXRpb25zIHdpdGggYW4gYW5hbHl0
aWMgSmFjb2JpYW4gbWF0cml4LiBUaGlzIHNvbHZlcgorICAgIGlzIGhhcmQtY29kZWQgZm9yIDNE
IGZvciByZWFzb25zIG9mIGVmZmljaWVuY3kuIFRoaXMgaXMgbm90IHRvIGJlCisgICAgdXNlZCBk
aXJlY3RseSwgdXNlIG9uZSBvZiB0aGUgc3ViY2xhc3NlcyBpbnN0ZWFkLgo9MjAKICAgICAnJycK
PTIwCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzdXBlcihOb25saW5lYXJTb2x2
ZVNhbXBsZXIsIHNlbGYpLl9faW5pdF9fKCkKKyAgICAgICAgc3VwZXIoTm9ubGluZWFyU29sdmVT
YW1wbGVyM0QsIHNlbGYpLl9faW5pdF9fKCkKICAgICAgICAgc2VsZi50b2xlcmFuY2UgPTNEIDEu
MGUtOQogICAgICAgICBzZWxmLm1heF9pdGVyID0zRCAxMAo9MjAKQEAgLTMxNyw3ICszMTgsNyBA
QAogICAgICAgICAgICAgICAgIG1hcHBlZF94W2ldID0zRCB4W2ldCj0yMAo9MjAKLWNkZWYgY2xh
c3MgUTFTYW1wbGVyM0QoTm9ubGluZWFyU29sdmVTYW1wbGVyKToKK2NkZWYgY2xhc3MgUTFTYW1w
bGVyM0QoTm9ubGluZWFyU29sdmVTYW1wbGVyM0QpOgo9MjAKICAgICAnJyc9MjAKPTIwCkBAIC00
MzUsNiArNDM2LDE2MyBAQAogICAgICAgICAgICAgICAgICAgIHJwKnNwKnZlcnRpY2VzWzE4ICsg
aV0gKyBybSpzcCp2ZXJ0aWNlc1syMSArIGldCj0yMAo9MjAKK2NkZWYgY2xhc3MgTm9ubGluZWFy
U29sdmVTYW1wbGVyMkQoRWxlbWVudFNhbXBsZXIpOgorCisgICAgJycnCisKKyAgICBUaGlzIGlz
IGEgYmFzZSBjbGFzcyBmb3IgaGFuZGxpbmcgZWxlbWVudCBzYW1wbGVycyB0aGF0IHJlcXVpcmUK
KyAgICBhIG5vbmxpbmVhciBzb2x2ZSB0byBpbnZlcnQgdGhlIG1hcHBpbmcgYmV0d2VlbiBjb29y
ZGluYXRlIHN5c3RlbXMuCisgICAgVG8gZG8gdGhpcywgd2UgcGVyZm9ybSBOZXd0b24tUmFwaHNv
biBpdGVyYXRpb24gdXNpbmcgYSBzcGVjaWZpZWQ9MjAKKyAgICBzeXN0ZW0gb2YgZXF1YXRpb25z
IHdpdGggYW4gYW5hbHl0aWMgSmFjb2JpYW4gbWF0cml4LiBUaGlzIHNvbHZlcgorICAgIGlzIGhh
cmQtY29kZWQgZm9yIDJEIGZvciByZWFzb25zIG9mIGVmZmljaWVuY3kuIFRoaXMgaXMgbm90IHRv
IGJlCisgICAgdXNlZCBkaXJlY3RseSwgdXNlIG9uZSBvZiB0aGUgc3ViY2xhc3NlcyBpbnN0ZWFk
LgorCisgICAgJycnCisKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHN1cGVyKE5v
bmxpbmVhclNvbHZlU2FtcGxlcjJELCBzZWxmKS5fX2luaXRfXygpCisgICAgICAgIHNlbGYudG9s
ZXJhbmNlID0zRCAxLjBlLTkKKyAgICAgICAgc2VsZi5tYXhfaXRlciA9M0QgMTAKKworICAgIEBj
eXRob24uYm91bmRzY2hlY2soRmFsc2UpCisgICAgQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQor
ICAgIEBjeXRob24uY2RpdmlzaW9uKFRydWUpCisgICAgY2RlZiB2b2lkIG1hcF9yZWFsX3RvX3Vu
aXQoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIG1hcHBlZF94
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogdmVydGljZXMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiBwaHlzaWNhbF94KSBub2dpbDoKKyAg
ICAgICAgY2RlZiBpbnQgaQorICAgICAgICBjZGVmIGRvdWJsZSBkLCB2YWwKKyAgICAgICAgY2Rl
ZiBkb3VibGVbMl0gZgorICAgICAgICBjZGVmIGRvdWJsZVsyXSB4CisgICAgICAgIGNkZWYgZG91
YmxlWzRdIEEKKyAgICAgICAgY2RlZiBpbnQgaXRlcmF0aW9ucyA9M0QgMAorICAgICAgICBjZGVm
IGRvdWJsZSBlcnIKKworICAgICAgICAjIGluaXRpYWwgZ3Vlc3MKKyAgICAgICAgZm9yIGkgaW4g
cmFuZ2UoMik6CisgICAgICAgICAgICB4W2ldID0zRCAwLjAKKyAgID0yMAorICAgICAgICAjIGlu
aXRpYWwgZXJyb3Igbm9ybQorICAgICAgICBzZWxmLmZ1bmMoZiwgeCwgdmVydGljZXMsIHBoeXNp
Y2FsX3gpCisgICAgICAgIGVyciA9M0QgbWF4bm9ybShmKSA9MjAKKyAgPTIwCisgICAgICAgICMg
YmVnaW4gTmV3dG9uIGl0ZXJhdGlvbgorICAgICAgICB3aGlsZSAoZXJyID4gc2VsZi50b2xlcmFu
Y2UgYW5kIGl0ZXJhdGlvbnMgPCBzZWxmLm1heF9pdGVyKToKKyAgICAgICAgICAgIHNlbGYuamFj
KEEsIHgsIHZlcnRpY2VzLCBwaHlzaWNhbF94KQorICAgICAgICAgICAgZCA9M0QgKEFbMF0qQVsz
XSAtIEFbMV0qQVsyXSkKKyAgICAgICAgICAgPTIwCisgICAgICAgICAgICB4WzBdIC09M0QgKCBB
WzNdKmZbMF0gLSBBWzFdKmZbMV0pIC8gZAorICAgICAgICAgICAgeFsxXSAtPTNEICgtQVsyXSpm
WzBdICsgQVswXSpmWzFdKSAvIGQKKworICAgICAgICAgICAgc2VsZi5mdW5jKGYsIHgsIHZlcnRp
Y2VzLCBwaHlzaWNhbF94KSAgICAgICA9MjAKKyAgICAgICAgICAgIGVyciA9M0QgbWF4bm9ybShm
KQorICAgICAgICAgICAgaXRlcmF0aW9ucyArPTNEIDEKKworICAgICAgICBpZiAoZXJyID4gc2Vs
Zi50b2xlcmFuY2UpOgorICAgICAgICAgICAgIyB3ZSBkaWQgbm90IGNvbnZlcmdlLCBzZXQgYm9n
dXMgdmFsdWUKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDIpOgorICAgICAgICAgICAgICAg
IG1hcHBlZF94W2ldID0zRCAtOTkuMAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZm9yIGkg
aW4gcmFuZ2UoMik6CisgICAgICAgICAgICAgICAgbWFwcGVkX3hbaV0gPTNEIHhbaV0KKworCitj
ZGVmIGNsYXNzIFExU2FtcGxlcjJEKE5vbmxpbmVhclNvbHZlU2FtcGxlcjJEKToKKworICAgICcn
Jz0yMAorCisgICAgVGhpcyBpbXBsZW1lbnRzIHNhbXBsaW5nIGluc2lkZSBhIDJELCBsaW5lYXIs
IHF1YWRyaWxhdGVyYWwgbWVzaCBlbGVtZT0KbnQuCisKKyAgICAnJycKKworICAgIGRlZiBfX2lu
aXRfXyhzZWxmKToKKyAgICAgICAgc3VwZXIoUTFTYW1wbGVyMkQsIHNlbGYpLl9faW5pdF9fKCkK
KyAgICAgICAgc2VsZi5kaW0gPTNEIDIKKyAgICAgICAgc2VsZi5mdW5jID0zRCBRMUZ1bmN0aW9u
MkQKKyAgICAgICAgc2VsZi5qYWMgPTNEIFExSmFjb2JpYW4yRAorCisgICAgQGN5dGhvbi5ib3Vu
ZHNjaGVjayhGYWxzZSkKKyAgICBAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCisgICAgQGN5dGhv
bi5jZGl2aXNpb24oVHJ1ZSkKKyAgICBjZGVmIGRvdWJsZSBzYW1wbGVfYXRfdW5pdF9wb2ludChz
ZWxmLCBkb3VibGUqIGNvb3JkLCBkb3VibGUqIHZhbHMpIG5vPQpnaWw6CisgICAgICAgIGNkZWYg
ZG91YmxlIEYsIHJtLCBycCwgc20sIHNwCisgICA9MjAKKyAgICAgICAgcm0gPTNEIDEuMCAtIGNv
b3JkWzBdCisgICAgICAgIHJwID0zRCAxLjAgKyBjb29yZFswXQorICAgICAgICBzbSA9M0QgMS4w
IC0gY29vcmRbMV0KKyAgICAgICAgc3AgPTNEIDEuMCArIGNvb3JkWzFdCisgICA9MjAKKyAgICAg
ICAgRiA9M0QgdmFsc1swXSpybSpzbSArIHZhbHNbMV0qcnAqc20gKyB2YWxzWzJdKnJwKnNwICsg
dmFsc1szXSpybSpzcAorICAgICAgICByZXR1cm4gMC4yNSpGCisKKyAgICBAY3l0aG9uLmJvdW5k
c2NoZWNrKEZhbHNlKQorICAgIEBjeXRob24ud3JhcGFyb3VuZChGYWxzZSkKKyAgICBAY3l0aG9u
LmNkaXZpc2lvbihUcnVlKQorICAgIGNkZWYgaW50IGNoZWNrX2luc2lkZShzZWxmLCBkb3VibGUq
IG1hcHBlZF9jb29yZCkgbm9naWw6CisgICAgICAgIGlmIChmYWJzKG1hcHBlZF9jb29yZFswXSkg
LSAxLjAgPiBzZWxmLmluY2x1c2lvbl90b2wgb3IKKyAgICAgICAgICAgIGZhYnMobWFwcGVkX2Nv
b3JkWzFdKSAtIDEuMCA+IHNlbGYuaW5jbHVzaW9uX3RvbCk6CisgICAgICAgICAgICByZXR1cm4g
MAorICAgICAgICByZXR1cm4gMQorCisKKyAgICBAY3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQor
ICAgIEBjeXRob24ud3JhcGFyb3VuZChGYWxzZSkKKyAgICBAY3l0aG9uLmNkaXZpc2lvbihUcnVl
KQorICAgIGNkZWYgaW50IGNoZWNrX25lYXJfZWRnZShzZWxmLD0yMAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb3VibGUqIG1hcHBlZF9jb29yZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG91YmxlIHRvbGVyYW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGRpcmVjdGlvbikgbm9naWw6CisgICAgICAgIGlmIChmYWJzKGZhYnMobWFwcGVkX2Nvb3Jk
W2RpcmVjdGlvbl0pIC0gMS4wKSA8IHRvbGVyYW5jZSk6CisgICAgICAgICAgICByZXR1cm4gMQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIDAKKworCitAY3l0aG9uLmJvdW5kc2No
ZWNrKEZhbHNlKQorQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQorQGN5dGhvbi5jZGl2aXNpb24o
VHJ1ZSkKK2NkZWYgaW5saW5lIHZvaWQgUTFKYWNvYmlhbjJEKGRvdWJsZSogQSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogeCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvdWJsZSogdmVydGljZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b3VibGUqIHBoeXNfeCkgbm9naWw6CisgICAgY2RlZiBpbnQgaQorICAgIGNkZWYgZG91YmxlIHJt
LCBycCwgc20sIHNwLCB0bSwgdHAKKworICAgIHJtID0zRCAxLjAgLSB4WzBdCisgICAgcnAgPTNE
IDEuMCArIHhbMF0KKyAgICBzbSA9M0QgMS4wIC0geFsxXQorICAgIHNwID0zRCAxLjAgKyB4WzFd
CisgICA9MjAKKyAgICBBWzBdID0zRCAtc20qdmVydGljZXNbMF0gKyBzbSp2ZXJ0aWNlc1syXSAt
IHNwKnZlcnRpY2VzWzRdICsgc3AqdmVydGljPQplc1s2XQorICAgIEFbMV0gPTNEIC1ybSp2ZXJ0
aWNlc1swXSAtIHJwKnZlcnRpY2VzWzJdICsgcm0qdmVydGljZXNbNF0gKyBycCp2ZXJ0aWM9CmVz
WzZdCisgICAgQVsyXSA9M0QgLXNtKnZlcnRpY2VzWzFdICsgc20qdmVydGljZXNbM10gLSBzcCp2
ZXJ0aWNlc1s1XSArIHNwKnZlcnRpYz0KZXNbN10KKyAgICBBWzNdID0zRCAtcm0qdmVydGljZXNb
MV0gLSBycCp2ZXJ0aWNlc1szXSArIHJtKnZlcnRpY2VzWzVdICsgcnAqdmVydGljPQplc1s3XQor
ICAgICAgICAgICAgICAgPTIwCisgICAgICAgICAgICAgICA9MjAKK0BjeXRob24uYm91bmRzY2hl
Y2soRmFsc2UpCitAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCitAY3l0aG9uLmNkaXZpc2lvbihU
cnVlKQorY2RlZiBpbmxpbmUgdm9pZCBRMUZ1bmN0aW9uMkQoZG91YmxlKiBmeCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogeCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvdWJsZSogdmVydGljZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b3VibGUqIHBoeXNfeCkgbm9naWw6CisgICAgY2RlZiBpbnQgaQorICAgIGNkZWYgZG91YmxlIHJt
LCBycCwgc20sIHNwCisKKyAgICBybSA9M0QgMS4wIC0geFswXQorICAgIHJwID0zRCAxLjAgKyB4
WzBdCisgICAgc20gPTNEIDEuMCAtIHhbMV0KKyAgICBzcCA9M0QgMS4wICsgeFsxXQorCisgICAg
Zm9yIGkgaW4gcmFuZ2UoMik6CisgICAgICAgIGZ4W2ldID0zRCB2ZXJ0aWNlc1swICsgaV0qcm0q
c20gXAorICAgICAgICAgICAgICArIHZlcnRpY2VzWzIgKyBpXSpycCpzbSBcCisgICAgICAgICAg
ICAgICsgdmVydGljZXNbNCArIGldKnJtKnNwIFwKKyAgICAgICAgICAgICAgKyB2ZXJ0aWNlc1s2
ICsgaV0qcnAqc3AgXAorICAgICAgICAgICAgICAtIDQuMCpwaHlzX3hbaV0KKworCiBAY3l0aG9u
LmJvdW5kc2NoZWNrKEZhbHNlKQogQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQogQGN5dGhvbi5j
ZGl2aXNpb24oVHJ1ZSkKQEAgLTQ2OSw2ICs2MjcsNyBAQAo9MjAKICAgICByZXR1cm4gdmFsCj0y
MAorCiBAY3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQogQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNl
KQogQGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkKQEAgLTQ4NSwzICs2NDQsMjEgQEAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkb3VibGUqPiBwaHlzaWNhbF94LmRhdGEp
Cj0yMAogICAgIHJldHVybiB2YWwKKworCitAY3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQorQGN5
dGhvbi53cmFwYXJvdW5kKEZhbHNlKQorQGN5dGhvbi5jZGl2aXNpb24oVHJ1ZSkKK2RlZiB0ZXN0
X3F1YWRfc2FtcGxlcihucC5uZGFycmF5W25wLmZsb2F0NjRfdCwgbmRpbT0zRDJdIHZlcnRpY2Vz
LAorICAgICAgICAgICAgICAgICAgICAgIG5wLm5kYXJyYXlbbnAuZmxvYXQ2NF90LCBuZGltPTNE
MV0gZmllbGRfdmFsdWVzLAorICAgICAgICAgICAgICAgICAgICAgIG5wLm5kYXJyYXlbbnAuZmxv
YXQ2NF90LCBuZGltPTNEMV0gcGh5c2ljYWxfeCk6CisKKyAgICBjZGVmIGRvdWJsZSB2YWwKKwor
ICAgIHNhbXBsZXIgPTNEIFExU2FtcGxlcjJEKCkKKworICAgIHZhbCA9M0Qgc2FtcGxlci5zYW1w
bGVfYXRfcmVhbF9wb2ludCg8ZG91YmxlKj4gdmVydGljZXMuZGF0YSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxkb3VibGUqPiBmaWVsZF92YWx1ZXMuZGF0YSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkb3VibGUqPiBwaHlzaWNhbF94
LmRhdGEpCisKKyAgICByZXR1cm4gdmFsCgpkaWZmIC1yIDU1YWYxMmQxZThhMjY2ZTUxYzA2Y2I1
NDE2MjRiMzlhYjVmZDhjYmEgLXIgMWRiNjQwNDU1MWMwMzIyYWI1MDZhYWI9CjgyODZiY2U5OTdl
ZTM1ZWVmIHl0L3V0aWxpdGllcy9saWIvdGVzdHMvdGVzdF9lbGVtZW50X21hcHBpbmdzLnB5Ci0t
LSBhL3l0L3V0aWxpdGllcy9saWIvdGVzdHMvdGVzdF9lbGVtZW50X21hcHBpbmdzLnB5CisrKyBi
L3l0L3V0aWxpdGllcy9saWIvdGVzdHMvdGVzdF9lbGVtZW50X21hcHBpbmdzLnB5CkBAIC01Miw2
ICs1MiwxNyBAQAogICAgIGNoZWNrX2FsbF92ZXJ0aWNlcyh0ZXN0X3RldHJhX3NhbXBsZXIsIHZl
cnRpY2VzLCBmaWVsZF92YWx1ZXMpCj0yMAo9MjAKK2RlZiB0ZXN0X1ExU2FtcGxlcjJEKCk6Cisg
ICAgdmVydGljZXMgPTNEIG5wLmFycmF5KFtbMC4xLCAgMC4yXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBbMC42LCAgMC4zXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbMC4yLCAgMC43
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbMC43LCAgMC45XV0pCisKKyAgICBmaWVsZF92
YWx1ZXMgPTNEIG5wLmFycmF5KFsxLiwgIDIuLCAgMy4sICA0Ll0pCisKKyAgICBjaGVja19hbGxf
dmVydGljZXModGVzdF9oZXhfc2FtcGxlciwgdmVydGljZXMsIGZpZWxkX3ZhbHVlcykKKworCiBk
ZWYgdGVzdF9RMVNhbXBsZXIzRCgpOgogICAgIHZlcnRpY2VzID0zRCBucC5hcnJheShbWzIuMDA2
NTc5MDUsIDAuNjg4ODU5OSwgIDEuNDM3NV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgWzEu
ODY1ODE5OCwgIDEuMDA5NzMxNzEsIDEuNDM3NV0sCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0
X2FuYWx5c2lzL3l0L2NvbW1pdHMvZDEzYmRlYjA5NjFkLwpDaGFuZ2VzZXQ6ICAgZDEzYmRlYjA5
NjFkCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAx
NS0wOS0yMiAyMzo0MTo1OCswMDowMApTdW1tYXJ5OiAgICAgYWRkaW5nIHRlc3RzIG9mIHRoZSBx
dWFkIGVsZW1lbnQgc2FtcGxlcgpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciAxZGI2NDA0
NTUxYzAzMjJhYjUwNmFhYjgyODZiY2U5OTdlZTM1ZWVmIC1yIGQxM2JkZWIwOTYxZDlkMmMzYzMw
MzRlPQoyN2QzYjg1N2ZiNjY1YTI2NyB5dC91dGlsaXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3Mu
cHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBwaW5ncy5weXgKKysrIGIveXQv
dXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB5eApAQCAtNTIzLDcgKzUyMyw3IEBACiAg
ICAgICAgIHNtID0zRCAxLjAgLSBjb29yZFsxXQogICAgICAgICBzcCA9M0QgMS4wICsgY29vcmRb
MV0KICAgID0yMAotICAgICAgICBGID0zRCB2YWxzWzBdKnJtKnNtICsgdmFsc1sxXSpycCpzbSAr
IHZhbHNbMl0qcnAqc3AgKyB2YWxzWzNdKnJtKnNwCisgICAgICAgIEYgPTNEIHZhbHNbMF0qcm0q
c20gKyB2YWxzWzFdKnJwKnNtICsgdmFsc1syXSpybSpzcCArIHZhbHNbM10qcnAqc3AKICAgICAg
ICAgcmV0dXJuIDAuMjUqRgo9MjAKICAgICBAY3l0aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQoKZGlm
ZiAtciAxZGI2NDA0NTUxYzAzMjJhYjUwNmFhYjgyODZiY2U5OTdlZTM1ZWVmIC1yIGQxM2JkZWIw
OTYxZDlkMmMzYzMwMzRlPQoyN2QzYjg1N2ZiNjY1YTI2NyB5dC91dGlsaXRpZXMvbGliL3Rlc3Rz
L3Rlc3RfZWxlbWVudF9tYXBwaW5ncy5weQotLS0gYS95dC91dGlsaXRpZXMvbGliL3Rlc3RzL3Rl
c3RfZWxlbWVudF9tYXBwaW5ncy5weQorKysgYi95dC91dGlsaXRpZXMvbGliL3Rlc3RzL3Rlc3Rf
ZWxlbWVudF9tYXBwaW5ncy5weQpAQCAtMjAsNyArMjAsOCBAQAogZnJvbSB5dC51dGlsaXRpZXMu
bGliLmVsZW1lbnRfbWFwcGluZ3MgaW1wb3J0IFwKICAgICB0ZXN0X3RldHJhX3NhbXBsZXIsIFwK
ICAgICB0ZXN0X2hleF9zYW1wbGVyLCBcCi0gICAgdGVzdF90cmlfc2FtcGxlcgorICAgIHRlc3Rf
dHJpX3NhbXBsZXIsIFwKKyAgICB0ZXN0X3F1YWRfc2FtcGxlcgo9MjAKPTIwCiBkZWYgY2hlY2tf
YWxsX3ZlcnRpY2VzKHNhbXBsZXIsIHZlcnRpY2VzLCBmaWVsZF92YWx1ZXMpOgpAQCAtNjAsNyAr
NjEsNyBAQAo9MjAKICAgICBmaWVsZF92YWx1ZXMgPTNEIG5wLmFycmF5KFsxLiwgIDIuLCAgMy4s
ICA0Ll0pCj0yMAotICAgIGNoZWNrX2FsbF92ZXJ0aWNlcyh0ZXN0X2hleF9zYW1wbGVyLCB2ZXJ0
aWNlcywgZmllbGRfdmFsdWVzKQorICAgIGNoZWNrX2FsbF92ZXJ0aWNlcyh0ZXN0X3F1YWRfc2Ft
cGxlciwgdmVydGljZXMsIGZpZWxkX3ZhbHVlcykKPTIwCj0yMAogZGVmIHRlc3RfUTFTYW1wbGVy
M0QoKToKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy9mODg0
NDgxNzNmNWIvCkNoYW5nZXNldDogICBmODg0NDgxNzNmNWIKQnJhbmNoOiAgICAgIHl0ClVzZXI6
ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTIzIDAwOjUwOjM3KzAwOjAwClN1
bW1hcnk6ICAgICBtYWtlIHN1cmUgdmVydGV4IG9yZGVyaW5ncyBhcmUgY29uc2lzdGVudCB3aXRo
IHRoZSBleG9kdXMgaWkgcz0KdGFuZGFyZCBmb3IgdGhlIHF1YWQgc2FtcGxlcgpBZmZlY3RlZCAj
OiAgMyBmaWxlcwoKZGlmZiAtciBkMTNiZGViMDk2MWQ5ZDJjM2MzMDM0ZTI3ZDNiODU3ZmI2NjVh
MjY3IC1yIGY4ODQ0ODE3M2Y1YjBmMmQ1ZThlNzgzPQo0MzYyMTc3ZjkyNGVmOTkyOCB5dC91dGls
aXRpZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvZWxl
bWVudF9tYXBwaW5ncy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdz
LnB5eApAQCAtNTIzLDcgKzUyMyw3IEBACiAgICAgICAgIHNtID0zRCAxLjAgLSBjb29yZFsxXQog
ICAgICAgICBzcCA9M0QgMS4wICsgY29vcmRbMV0KICAgID0yMAotICAgICAgICBGID0zRCB2YWxz
WzBdKnJtKnNtICsgdmFsc1sxXSpycCpzbSArIHZhbHNbMl0qcm0qc3AgKyB2YWxzWzNdKnJwKnNw
CisgICAgICAgIEYgPTNEIHZhbHNbMF0qcm0qc20gKyB2YWxzWzFdKnJwKnNtICsgdmFsc1syXSpy
cCpzcCArIHZhbHNbM10qcm0qc3AKICAgICAgICAgcmV0dXJuIDAuMjUqRgo9MjAKICAgICBAY3l0
aG9uLmJvdW5kc2NoZWNrKEZhbHNlKQpAQCAtNTYzLDEyICs1NjMsMTIgQEAKICAgICBycCA9M0Qg
MS4wICsgeFswXQogICAgIHNtID0zRCAxLjAgLSB4WzFdCiAgICAgc3AgPTNEIDEuMCArIHhbMV0K
KworICAgIEFbMF0gPTNEIC1zbSp2ZXJ0aWNlc1swXSArIHNtKnZlcnRpY2VzWzJdICsgc3AqdmVy
dGljZXNbNF0gLSBzcCp2ZXJ0aWM9CmVzWzZdCisgICAgQVsxXSA9M0QgLXJtKnZlcnRpY2VzWzBd
IC0gcnAqdmVydGljZXNbMl0gKyBycCp2ZXJ0aWNlc1s0XSArIHJtKnZlcnRpYz0KZXNbNl0KKyAg
ICBBWzJdID0zRCAtc20qdmVydGljZXNbMV0gKyBzbSp2ZXJ0aWNlc1szXSArIHNwKnZlcnRpY2Vz
WzVdIC0gc3AqdmVydGljPQplc1s3XQorICAgIEFbM10gPTNEIC1ybSp2ZXJ0aWNlc1sxXSAtIHJw
KnZlcnRpY2VzWzNdICsgcnAqdmVydGljZXNbNV0gKyBybSp2ZXJ0aWM9CmVzWzddCiAgICA9MjAK
LSAgICBBWzBdID0zRCAtc20qdmVydGljZXNbMF0gKyBzbSp2ZXJ0aWNlc1syXSAtIHNwKnZlcnRp
Y2VzWzRdICsgc3AqdmVydGljPQplc1s2XQotICAgIEFbMV0gPTNEIC1ybSp2ZXJ0aWNlc1swXSAt
IHJwKnZlcnRpY2VzWzJdICsgcm0qdmVydGljZXNbNF0gKyBycCp2ZXJ0aWM9CmVzWzZdCi0gICAg
QVsyXSA9M0QgLXNtKnZlcnRpY2VzWzFdICsgc20qdmVydGljZXNbM10gLSBzcCp2ZXJ0aWNlc1s1
XSArIHNwKnZlcnRpYz0KZXNbN10KLSAgICBBWzNdID0zRCAtcm0qdmVydGljZXNbMV0gLSBycCp2
ZXJ0aWNlc1szXSArIHJtKnZlcnRpY2VzWzVdICsgcnAqdmVydGljPQplc1s3XQotICAgICAgICAg
ICAgICAgPTIwCiAgICAgICAgICAgICAgICA9MjAKIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2Up
CiBAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCkBAIC01ODgsOCArNTg4LDggQEAKICAgICBmb3Ig
aSBpbiByYW5nZSgyKToKICAgICAgICAgZnhbaV0gPTNEIHZlcnRpY2VzWzAgKyBpXSpybSpzbSBc
CiAgICAgICAgICAgICAgICsgdmVydGljZXNbMiArIGldKnJwKnNtIFwKLSAgICAgICAgICAgICAg
KyB2ZXJ0aWNlc1s0ICsgaV0qcm0qc3AgXAotICAgICAgICAgICAgICArIHZlcnRpY2VzWzYgKyBp
XSpycCpzcCBcCisgICAgICAgICAgICAgICsgdmVydGljZXNbNCArIGldKnJwKnNwIFwKKyAgICAg
ICAgICAgICAgKyB2ZXJ0aWNlc1s2ICsgaV0qcm0qc3AgXAogICAgICAgICAgICAgICAtIDQuMCpw
aHlzX3hbaV0KPTIwCj0yMAoKZGlmZiAtciBkMTNiZGViMDk2MWQ5ZDJjM2MzMDM0ZTI3ZDNiODU3
ZmI2NjVhMjY3IC1yIGY4ODQ0ODE3M2Y1YjBmMmQ1ZThlNzgzPQo0MzYyMTc3ZjkyNGVmOTkyOCB5
dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0
aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIv
cGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eApAQCAtMjMsNyArMjMsOCBAQAogICAgIEVsZW1lbnRT
YW1wbGVyLCBcCiAgICAgUDFTYW1wbGVyM0QsIFwKICAgICBRMVNhbXBsZXIzRCwgXAotICAgIFAx
U2FtcGxlcjJECisgICAgUDFTYW1wbGVyMkQsIFwKKyAgICBRMVNhbXBsZXIyRAo9MjAKIGNkZWYg
ZXh0ZXJuIGZyb20gInN0ZGxpYi5oIjoKICAgICAjIE5PVEUgdGhhdCBzaXplX3QgbWlnaHQgbm90
IGJlIGludApAQCAtNDcyLDYgKzQ3Myw5IEBACiAgICAgZWxpZiBuZGltID0zRD0zRCAyIGFuZCBu
dmVydGljZXMgPTNEPTNEIDM6CiAgICAgICAgIG1hcHBlZF9jb29yZCA9M0QgPGRvdWJsZSo+IGFs
bG9jYShzaXplb2YoZG91YmxlKSAqIDMpCiAgICAgICAgIHNhbXBsZXIgPTNEIFAxU2FtcGxlcjJE
KCkKKyAgICBlbGlmIG5kaW0gPTNEPTNEIDIgYW5kIG52ZXJ0aWNlcyA9M0Q9M0QgNDoKKyAgICAg
ICAgbWFwcGVkX2Nvb3JkID0zRCA8ZG91YmxlKj4gYWxsb2NhKHNpemVvZihkb3VibGUpICogMikK
KyAgICAgICAgc2FtcGxlciA9M0QgUTFTYW1wbGVyMkQoKQogICAgIGVsc2U6CiAgICAgICAgIHJh
aXNlIFJ1bnRpbWVFcnJvcgo9MjAKCmRpZmYgLXIgZDEzYmRlYjA5NjFkOWQyYzNjMzAzNGUyN2Qz
Yjg1N2ZiNjY1YTI2NyAtciBmODg0NDgxNzNmNWIwZjJkNWU4ZTc4Mz0KNDM2MjE3N2Y5MjRlZjk5
MjggeXQvdXRpbGl0aWVzL2xpYi90ZXN0cy90ZXN0X2VsZW1lbnRfbWFwcGluZ3MucHkKLS0tIGEv
eXQvdXRpbGl0aWVzL2xpYi90ZXN0cy90ZXN0X2VsZW1lbnRfbWFwcGluZ3MucHkKKysrIGIveXQv
dXRpbGl0aWVzL2xpYi90ZXN0cy90ZXN0X2VsZW1lbnRfbWFwcGluZ3MucHkKQEAgLTU0LDEwICs1
NCwxMSBAQAo9MjAKPTIwCiBkZWYgdGVzdF9RMVNhbXBsZXIyRCgpOgotICAgIHZlcnRpY2VzID0z
RCBucC5hcnJheShbWzAuMSwgIDAuMl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgWzAuNiwg
IDAuM10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgWzAuMiwgIDAuN10sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgWzAuNywgIDAuOV1dKQorCisgICAgdmVydGljZXMgPTNEIG5wLmFycmF5
KFtbMC4xLCAwLjJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIFswLjYsIDAuM10sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgWzAuNywgMC45XSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBbMC4yLCAwLjddXSkKPTIwCiAgICAgZmllbGRfdmFsdWVzID0zRCBucC5hcnJheShbMS4sICAy
LiwgIDMuLCAgNC5dKQo9MjAKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQv
Y29tbWl0cy8zMzcyNGNjOGIzMDIvCkNoYW5nZXNldDogICAzMzcyNGNjOGIzMDIKQnJhbmNoOiAg
ICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTIzIDA0OjA0
OjM2KzAwOjAwClN1bW1hcnk6ICAgICBhZGQgZWxlbWVudF9tYXBwaW5ncy5weGQgdG8gZGVwZW5k
cywgc28gaXQgd2lsbCBnZXQgYXV0by1jb21waT0KbGVkIHdoZW4gbmVlZGVkCkFmZmVjdGVkICM6
ICAxIGZpbGUKCmRpZmYgLXIgZjg4NDQ4MTczZjViMGYyZDVlOGU3ODM0MzYyMTc3ZjkyNGVmOTky
OCAtciAzMzcyNGNjOGIzMDI3YjZjY2UzZDEyMj0KYmMwZTM3YmE2NDA0NjA4ODAgeXQvdXRpbGl0
aWVzL2xpYi9zZXR1cC5weQotLS0gYS95dC91dGlsaXRpZXMvbGliL3NldHVwLnB5CisrKyBiL3l0
L3V0aWxpdGllcy9saWIvc2V0dXAucHkKQEAgLTExMyw3ICsxMTMsOCBAQAogICAgICAgICAgICAg
ICAgaW5jbHVkZV9kaXJzPTNEWyJ5dC91dGlsaXRpZXMvbGliLyJdLAogICAgICAgICAgICAgICAg
bGFuZ3VhZ2U9M0QiYysrIiwKICAgICAgICAgICAgICAgIGxpYnJhcmllcz0zRFsibSJdLCBkZXBl
bmRzPTNEWyJ5dC91dGlsaXRpZXMvbGliL2ZwX3V0aWxzLnB4PQpkIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInl0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX2NvbnN0
YW50PQpzLmgiXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInl0
L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX2NvPQpuc3RhbnRzLmgiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21h
cHBpbmc9CnMucHhkIl0pCiAgICAgY29uZmlnLmFkZF9leHRlbnNpb24oIk9jdHJlZSIsPTIwCiAg
ICAgICAgICAgICAgICAgWyJ5dC91dGlsaXRpZXMvbGliL09jdHJlZS5weXgiXSwKICAgICAgICAg
ICAgICAgICBsaWJyYXJpZXM9M0RbIm0iXSwgZGVwZW5kcz0zRFsieXQvdXRpbGl0aWVzL2xpYi9m
cF91dGlscy5wPQp4ZCJdKQpAQCAtMTczLDcgKzE3NCw3IEBACiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFsieXQvdXRpbGl0aWVzL2xpYi9tZXNoX2NvbnN0cnVjdGlvbi5weXgiXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPTNEWyJ5dC91dGlsaXRpZXMv
bGliIiwgaW5jbHVkZV9kPQppcnNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJy
YXJpZXM9M0RbIm0iLCAiZW1icmVlIl0sIGxhbmd1YWdlPTNEImMrKyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlcGVuZHM9M0RbXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVwZW5kcz0zRFsieXQvdXRpbGl0aWVzL2xpYi9tZXNoX2NvbnN0cnVjdGlvPQpuLnB4ZCJd
KQogICAgICAgICBjb25maWcuYWRkX2V4dGVuc2lvbigibWVzaF90cmF2ZXJzYWwiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbInl0L3V0aWxpdGllcy9saWIvbWVzaF90cmF2ZXJzYWwu
cHl4Il0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlycz0zRFsieXQv
dXRpbGl0aWVzL2xpYiIsIGluY2x1ZGVfZD0KaXJzXSwKQEAgLTE4Myw3ICsxODQsOCBAQAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbInl0L3V0aWxpdGllcy9saWIvbWVzaF9zYW1wbGVy
cy5weXgiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPTNEWyJ5
dC91dGlsaXRpZXMvbGliIiwgaW5jbHVkZV9kPQppcnNdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJyYXJpZXM9M0RbIm0iLCAiZW1icmVlIl0sIGxhbmd1YWdlPTNEImMrKyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZHM9M0RbInl0L3V0aWxpdGllcy9saWIv
bWVzaF9zYW1wbGVycy5weD0KZCJdKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBl
bmRzPTNEWyJ5dC91dGlsaXRpZXMvbGliL21lc2hfc2FtcGxlcnMucHg9CmQiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21h
cHBpbmdzLnA9CnhkIl0pCiAgICAgICAgIGNvbmZpZy5hZGRfZXh0ZW5zaW9uKCJtZXNoX2ludGVy
c2VjdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsieXQvdXRpbGl0aWVzL2xp
Yi9tZXNoX2ludGVyc2VjdGlvbi5weXgiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5jbHVkZV9kaXJzPTNEWyJ5dC91dGlsaXRpZXMvbGliIiwgaW5jbHVkZV9kPQppcnNdLAoKCmh0
dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzhlOWVkMmIzNzAyZS8K
Q2hhbmdlc2V0OiAgIDhlOWVkMmIzNzAyZQpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0
bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMjMgMDQ6MDQ6NTIrMDA6MDAKU3VtbWFyeTogICAg
IGEgYml0IG9mIHJlZmFjdG9yaW5nIG9mIHRoZSByZWNlbnQgY2hhbmdlcyB0byB0aGUgcGl4ZWxp
emVyCkFmZmVjdGVkICM6ICAzIGZpbGVzCgpkaWZmIC1yIDMzNzI0Y2M4YjMwMjdiNmNjZTNkMTIy
YmMwZTM3YmE2NDA0NjA4ODAgLXIgOGU5ZWQyYjM3MDJlOTAxYmMyNDA4NzM9CjJiZjc4NWM4MDcy
OTgzMzA4IHl0L3V0aWxpdGllcy9saWIvZWxlbWVudF9tYXBwaW5ncy5weGQKLS0tIGEveXQvdXRp
bGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB4ZAorKysgYi95dC91dGlsaXRpZXMvbGliL2Vs
ZW1lbnRfbWFwcGluZ3MucHhkCkBAIC0xMCw2ICsxMCw3IEBACiAgICAgIyB0byBnZXQgY291bnRl
ZCBhcyAiaW5zaWRlIi4gVGhpcyBpcyBpbiB0aGUKICAgICAjIG1hcHBlZCBjb29yZGluYXRlcyBv
ZiB0aGUgZWxlbWVudC4KICAgICBjZGVmIG5wLmZsb2F0NjRfdCBpbmNsdXNpb25fdG9sCisgICAg
Y2RlZiBpbnQgbnVtX21hcHBlZF9jb29yZHMKPTIwCiAgICAgY2RlZiB2b2lkIG1hcF9yZWFsX3Rv
X3VuaXQoc2VsZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIG1hcHBl
ZF94LD0yMAoKZGlmZiAtciAzMzcyNGNjOGIzMDI3YjZjY2UzZDEyMmJjMGUzN2JhNjQwNDYwODgw
IC1yIDhlOWVkMmIzNzAyZTkwMWJjMjQwODczPQoyYmY3ODVjODA3Mjk4MzMwOCB5dC91dGlsaXRp
ZXMvbGliL2VsZW1lbnRfbWFwcGluZ3MucHl4Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIvZWxlbWVu
dF9tYXBwaW5ncy5weXgKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9lbGVtZW50X21hcHBpbmdzLnB5
eApAQCAtMTEzLDYgKzExMywxMCBAQAo9MjAKICAgICAnJycKPTIwCisgICAgZGVmIF9faW5pdF9f
KHNlbGYpOgorICAgICAgICBzdXBlcihQMVNhbXBsZXIyRCwgc2VsZikuX19pbml0X18oKQorICAg
ICAgICBzZWxmLm51bV9tYXBwZWRfY29vcmRzID0zRCAzCisKPTIwCiAgICAgQGN5dGhvbi5ib3Vu
ZHNjaGVjayhGYWxzZSkKICAgICBAY3l0aG9uLndyYXBhcm91bmQoRmFsc2UpCkBAIC0xOTQsNiAr
MTk4LDEwIEBACiAgICAgJycnCj0yMAo9MjAKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAg
ICAgIHN1cGVyKFAxU2FtcGxlcjNELCBzZWxmKS5fX2luaXRfXygpCisgICAgICAgIHNlbGYubnVt
X21hcHBlZF9jb29yZHMgPTNEIDQKKwogICAgIEBjeXRob24uYm91bmRzY2hlY2soRmFsc2UpCiAg
ICAgQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQogICAgIEBjeXRob24uY2RpdmlzaW9uKFRydWUp
CkBAIC0zMjgsNiArMzM2LDcgQEAKPTIwCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAg
ICBzdXBlcihRMVNhbXBsZXIzRCwgc2VsZikuX19pbml0X18oKQorICAgICAgICBzZWxmLm51bV9t
YXBwZWRfY29vcmRzID0zRCAzCiAgICAgICAgIHNlbGYuZGltID0zRCAzCiAgICAgICAgIHNlbGYu
ZnVuYyA9M0QgUTFGdW5jdGlvbjNECiAgICAgICAgIHNlbGYuamFjID0zRCBRMUphY29iaWFuM0QK
QEAgLTUwOCw2ICs1MTcsNyBAQAo9MjAKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAg
IHN1cGVyKFExU2FtcGxlcjJELCBzZWxmKS5fX2luaXRfXygpCisgICAgICAgIHNlbGYubnVtX21h
cHBlZF9jb29yZHMgPTNEIDIKICAgICAgICAgc2VsZi5kaW0gPTNEIDIKICAgICAgICAgc2VsZi5m
dW5jID0zRCBRMUZ1bmN0aW9uMkQKICAgICAgICAgc2VsZi5qYWMgPTNEIFExSmFjb2JpYW4yRAoK
ZGlmZiAtciAzMzcyNGNjOGIzMDI3YjZjY2UzZDEyMmJjMGUzN2JhNjQwNDYwODgwIC1yIDhlOWVk
MmIzNzAyZTkwMWJjMjQwODczPQoyYmY3ODVjODA3Mjk4MzMwOCB5dC91dGlsaXRpZXMvbGliL3Bp
eGVsaXphdGlvbl9yb3V0aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRp
b25fcm91dGluZXMucHl4CisrKyBiL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRp
bmVzLnB5eApAQCAtNDQzLDcgKzQ0Myw3IEBACiAgICAgIyAgMS4gSXMgaW1hZ2UgcG9pbnQgd2l0
aGluIHRoZSBtZXNoIGJvdW5kaW5nIGJveD8KICAgICAjICAyLiBJcyBpbWFnZSBwb2ludCB3aXRo
aW4gdGhlIG1lc2ggZWxlbWVudD8KICAgICAjIFNlY29uZCBpcyBtb3JlIGludGVuc2l2ZS4gIEl0
IHdpbGwgY29udmVydCB0aGUgZWxlbWVudCB2ZXJ0aWNlcyB0byB0PQpoZQotICAgICMgbWFwcGVk
IGNvb3JkaW5hdGUgc3lzdGVtLCBhbmQgY2hlY2tpbmcgd2hldGhlciB0aGUgcmVzdWx0IGluIGlu
LWJvdW49CmRzIG9yIG5vdAorICAgICMgbWFwcGVkIGNvb3JkaW5hdGUgc3lzdGVtLCBhbmQgY2hl
Y2sgd2hldGhlciB0aGUgcmVzdWx0IGluIGluLWJvdW5kcyA9Cm9yIG5vdAogICAgICMgTm90ZSB0
aGF0IHdlIGhhdmUgdG8gaGF2ZSBhIHBzZXVkby0zRCBwaXhlbCBidWZmZXIuICBPbmUgZGltZW5z
aW9uIHc9CmlsbAogICAgICMgYWx3YXlzIGJlIDEuCiAgICAgY2RlZiBucC5mbG9hdDY0X3QgcExF
WzNdLCBwUkVbM10KQEAgLTQ1NiwzNCArNDU2LDMwIEBACiAgICAgY2RlZiBucC5mbG9hdDY0X3Qg
KmZpZWxkX3ZhbHMKICAgICBjZGVmIGludCBudmVydGljZXMgPTNEIGNvbm4uc2hhcGVbMV0KICAg
ICBjZGVmIGludCBuZGltID0zRCBjb29yZHMuc2hhcGVbMV0KLSAgICBjZGVmIGludCBudW1fZmll
bGRfdmFscz0yMAorICAgIGNkZWYgaW50IG51bV9maWVsZF92YWxzID0zRCBmaWVsZC5zaGFwZVsx
XQogICAgIGNkZWYgZG91YmxlKiBtYXBwZWRfY29vcmQKKyAgICBjZGVmIGludCBudW1fbWFwcGVk
X2Nvb3JkcwogICAgIGNkZWYgRWxlbWVudFNhbXBsZXIgc2FtcGxlcgo9MjAKLSAgICBpZiBuZGlt
ID0zRD0zRCAyOgotICAgICAgICBhc3NlcnQoYnVmZl9zaXplWzJdID0zRD0zRCAxKQotCi0gICAg
IyBBbGxvY2F0ZSBzdG9yYWdlIGZvciB0aGUgbWFwcGVkIGNvb3JkaW5hdGUKKyAgICAjIFBpY2sg
dGhlIHJpZ2h0IHNhbXBsZXIgYW5kIGFsbG9jYXRlIHN0b3JhZ2UgZm9yIHRoZSBtYXBwZWQgY29v
cmRpbmF0ZQogICAgIGlmIG5kaW0gPTNEPTNEIDMgYW5kIG52ZXJ0aWNlcyA9M0Q9M0QgNDoKLSAg
ICAgICAgbWFwcGVkX2Nvb3JkID0zRCA8ZG91YmxlKj4gYWxsb2NhKHNpemVvZihkb3VibGUpICog
NCkKICAgICAgICAgc2FtcGxlciA9M0QgUDFTYW1wbGVyM0QoKQogICAgIGVsaWYgbmRpbSA9M0Q9
M0QgMyBhbmQgbnZlcnRpY2VzID0zRD0zRCA4OgotICAgICAgICBtYXBwZWRfY29vcmQgPTNEIDxk
b3VibGUqPiBhbGxvY2Eoc2l6ZW9mKGRvdWJsZSkgKiAzKQogICAgICAgICBzYW1wbGVyID0zRCBR
MVNhbXBsZXIzRCgpCiAgICAgZWxpZiBuZGltID0zRD0zRCAyIGFuZCBudmVydGljZXMgPTNEPTNE
IDM6Ci0gICAgICAgIG1hcHBlZF9jb29yZCA9M0QgPGRvdWJsZSo+IGFsbG9jYShzaXplb2YoZG91
YmxlKSAqIDMpCiAgICAgICAgIHNhbXBsZXIgPTNEIFAxU2FtcGxlcjJEKCkKICAgICBlbGlmIG5k
aW0gPTNEPTNEIDIgYW5kIG52ZXJ0aWNlcyA9M0Q9M0QgNDoKLSAgICAgICAgbWFwcGVkX2Nvb3Jk
ID0zRCA8ZG91YmxlKj4gYWxsb2NhKHNpemVvZihkb3VibGUpICogMikKICAgICAgICAgc2FtcGxl
ciA9M0QgUTFTYW1wbGVyMkQoKQogICAgIGVsc2U6CiAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJv
cgo9MjAKKyAgICAjIGFsbG9jYXRlIHRlbXBvcmFyeSBzdG9yYWdlCisgICAgbnVtX21hcHBlZF9j
b29yZHMgPTNEIHNhbXBsZXIubnVtX21hcHBlZF9jb29yZHMKKyAgICBtYXBwZWRfY29vcmQgPTNE
IDxkb3VibGUqPiBhbGxvY2Eoc2l6ZW9mKGRvdWJsZSkgKiBudW1fbWFwcGVkX2Nvb3JkcykKICAg
ICB2ZXJ0aWNlcyA9M0QgPG5wLmZsb2F0NjRfdCAqPiBhbGxvY2EobmRpbSAqIHNpemVvZihucC5m
bG9hdDY0X3QpICogbnZlPQpydGljZXMpCi0gICA9MjAKLSAgICBudW1fZmllbGRfdmFscyA9M0Qg
ZmllbGQuc2hhcGVbMV0KICAgICBmaWVsZF92YWxzID0zRCA8bnAuZmxvYXQ2NF90ICo+IGFsbG9j
YShzaXplb2YobnAuZmxvYXQ2NF90KSAqIG51bV9maWVsPQpkX3ZhbHMpCj0yMAorICAgICMgZmls
bCB0aGUgaW1hZ2UgYm91bmRzIGFuZCBwaXhlbCBzaXplIGluZm9ybWF0b24gaGVyZQogICAgIGZv
ciBpIGluIHJhbmdlKG5kaW0pOgogICAgICAgICBwTEVbaV0gPTNEIGV4dGVudHNbaV1bMF0KICAg
ICAgICAgcFJFW2ldID0zRCBleHRlbnRzW2ldWzFdCkBAIC01MDgsNiArNTA0LDcgQEAKICAgICAg
ICAgICAgICAgICB2ZXJ0aWNlc1tuZGltKm4gKyBpXSA9M0QgY29vcmRzW2NqLCBpXQogICAgICAg
ICAgICAgICAgIExFW2ldID0zRCBmbWluKExFW2ldLCB2ZXJ0aWNlc1tuZGltKm4raV0pCiAgICAg
ICAgICAgICAgICAgUkVbaV0gPTNEIGZtYXgoUkVbaV0sIHZlcnRpY2VzW25kaW0qbitpXSkKKwog
ICAgICAgICB1c2UgPTNEIDEKICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobmRpbSk6CiAgICAgICAg
ICAgICBpZiBSRVtpXSA8IHBMRVtpXSBvciBMRVtpXSA+PTNEIHBSRVtpXToKQEAgLTUxNiwxNiAr
NTEzLDE5IEBACiAgICAgICAgICAgICBwc3RhcnRbaV0gPTNEIGk2NG1heCg8bnAuaW50NjRfdD4g
KChMRVtpXSAtIHBMRVtpXSkqaWRkc1tpXSkgLT0KIDEsIDApCiAgICAgICAgICAgICBwZW5kW2ld
ID0zRCBpNjRtaW4oPG5wLmludDY0X3Q+ICgoUkVbaV0gLSBwTEVbaV0pKmlkZHNbaV0pICsgMT0K
LCBpbWcuc2hhcGVbaV0tMSkKPTIwCi0gICAgICAgIGlmIG5kaW0gPTNEPTNEIDI6Ci0gICAgICAg
ICAgICBwc3RhcnRbMl0gPTNEIDAKLSAgICAgICAgICAgIHBlbmRbMl0gPTNEIDAKLQogICAgICAg
ICBpZiB1c2UgPTNEPTNEIDA6CiAgICAgICAgICAgICBjb250aW51ZQo9MjAKICAgICAgICAgIyBO
b3cgb3VyIGJvdW5kaW5nIGJveCBpbnRlcnNlY3RzLCBzbyB3ZSBnZXQgdGhlIGV4dGVudHMgb2Yg
b3VyIHBpPQp4ZWwKICAgICAgICAgIyByZWdpb24gd2hpY2ggb3ZlcmxhcHMgd2l0aCB0aGUgYm91
bmRpbmcgYm94LCBhbmQgd2UnbGwgY2hlY2sgZWFjaAogICAgICAgICAjIHBpeGVsIGluIHRoZXJl
LgorCisgICAgICAgICMgaWYgd2UgYXJlIGluIDJEIGxhbmQsIHRoZSAxIGNlbGwgdGhpY2sgZGlt
ZW5zaW9uIGhhZCBiZXR0ZXIgYmUgJz0KeicKKyAgICAgICAgaWYgbmRpbSA9M0Q9M0QgMjoKKyAg
ICAgICAgICAgIGFzc2VydChidWZmX3NpemVbMl0gPTNEPTNEIDEpCisgICAgICAgICAgICBwc3Rh
cnRbMl0gPTNEIDAKKyAgICAgICAgICAgIHBlbmRbMl0gPTNEIDAKKwogICAgICAgICBmb3IgcGkg
aW4gcmFuZ2UocHN0YXJ0WzBdLCBwZW5kWzBdICsgMSk6CiAgICAgICAgICAgICBwcG9pbnRbMF0g
PTNEIChwaSArIDAuNSkgKiBkZHNbMF0gKyBwTEVbMF0KICAgICAgICAgICAgIGZvciBwaiBpbiBy
YW5nZShwc3RhcnRbMV0sIHBlbmRbMV0gKyAxKToKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRf
YW5hbHlzaXMveXQvY29tbWl0cy8zMzhiMDAxMjE0MGYvCkNoYW5nZXNldDogICAzMzhiMDAxMjE0
MGYKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1
LTA5LTIzIDA0OjI4OjA4KzAwOjAwClN1bW1hcnk6ICAgICBjbGVhbmluZyB1cCB0aGUgbWVzaCBs
aW5lIGFubm90YXRpb24gY29kZQpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciA4ZTllZDJi
MzcwMmU5MDFiYzI0MDg3MzJiZjc4NWM4MDcyOTgzMzA4IC1yIDMzOGIwMDEyMTQwZjU1YTYyMzkz
MzhmPQpjZTdlODgwNTkzNGM4ZWQwYiB5dC91dGlsaXRpZXMvbGliL3BpeGVsaXphdGlvbl9yb3V0
aW5lcy5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9waXhlbGl6YXRpb25fcm91dGluZXMucHl4
CisrKyBiL3l0L3V0aWxpdGllcy9saWIvcGl4ZWxpemF0aW9uX3JvdXRpbmVzLnB5eApAQCAtNDM2
LDcgKzQzNiw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5wLm5kYXJyYXlbbnAuaW50
NjRfdCwgbmRpbT0zRDJdIGNvbm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZfc2l6
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbnAubmRhcnJheVtucC5mbG9hdDY0X3QsIG5k
aW09M0QyXSBmaWVsZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW50cywgaW50IGlu
ZGV4X29mZnNldCA9M0QgMCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVudHMsPTIw
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmRleF9vZmZzZXQgPTNEIDAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aHJlc2ggPTNEIC0xLjApOgogICAgIGNkZWYg
bnAubmRhcnJheVtucC5mbG9hdDY0X3QsIG5kaW09M0QzXSBpbWcKICAgICBpbWcgPTNEIG5wLnpl
cm9zKGJ1ZmZfc2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIpCiAgICAgIyBUd28gc3RlcHM6CkBAIC00
NzMsNiArNDc1LDIzIEBACiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCj0y
MAorICAgICMgaWYgd2UgYXJlIGluIDJEIGxhbmQsIHRoZSAxIGNlbGwgdGhpY2sgZGltZW5zaW9u
IGhhZCBiZXR0ZXIgYmUgJ3onCisgICAgaWYgbmRpbSA9M0Q9M0QgMjoKKyAgICAgICAgYXNzZXJ0
KGJ1ZmZfc2l6ZVsyXSA9M0Q9M0QgMSkKKyAgID0yMAorICAgIGZvciBpIGluIHJhbmdlKDMpOgor
ICAgICAgICBpZiBidWZmX3NpemVbaV0gPTNEPTNEIDE6CisgICAgICAgICAgICBheCA9M0QgaQor
ICAgIGlmIGF4ID0zRD0zRCAwOgorICAgICAgICB4YXggPTNEIDEKKyAgICAgICAgeWF4ID0zRCAy
CisgICAgZWxpZiBheCA9M0Q9M0QgMToKKyAgICAgICAgeGF4ID0zRCAxCisgICAgICAgIHlheCA9
M0QgMgorICAgIGVsaWYgYXggPTNEPTNEIDI6CisgICAgICAgIHhheCA9M0QgMAorICAgICAgICB5
YXggPTNEIDEKKwogICAgICMgYWxsb2NhdGUgdGVtcG9yYXJ5IHN0b3JhZ2UKICAgICBudW1fbWFw
cGVkX2Nvb3JkcyA9M0Qgc2FtcGxlci5udW1fbWFwcGVkX2Nvb3JkcwogICAgIG1hcHBlZF9jb29y
ZCA9M0QgPGRvdWJsZSo+IGFsbG9jYShzaXplb2YoZG91YmxlKSAqIG51bV9tYXBwZWRfY29vcmRz
KQpAQCAtNTEzLDE5ICs1MzIsMTcgQEAKICAgICAgICAgICAgIHBzdGFydFtpXSA9M0QgaTY0bWF4
KDxucC5pbnQ2NF90PiAoKExFW2ldIC0gcExFW2ldKSppZGRzW2ldKSAtPQogMSwgMCkKICAgICAg
ICAgICAgIHBlbmRbaV0gPTNEIGk2NG1pbig8bnAuaW50NjRfdD4gKChSRVtpXSAtIHBMRVtpXSkq
aWRkc1tpXSkgKyAxPQosIGltZy5zaGFwZVtpXS0xKQo9MjAKKyAgICAgICAgIyBvdmVycmlkZSBm
b3IgdGhlIDJEIGNhc2UKKyAgICAgICAgaWYgbmRpbSA9M0Q9M0QgMjoKKyAgICAgICAgICAgIHBz
dGFydFsyXSA9M0QgMAorICAgICAgICAgICAgcGVuZFsyXSA9M0QgMAorCiAgICAgICAgIGlmIHVz
ZSA9M0Q9M0QgMDoKICAgICAgICAgICAgIGNvbnRpbnVlCj0yMAogICAgICAgICAjIE5vdyBvdXIg
Ym91bmRpbmcgYm94IGludGVyc2VjdHMsIHNvIHdlIGdldCB0aGUgZXh0ZW50cyBvZiBvdXIgcGk9
CnhlbAogICAgICAgICAjIHJlZ2lvbiB3aGljaCBvdmVybGFwcyB3aXRoIHRoZSBib3VuZGluZyBi
b3gsIGFuZCB3ZSdsbCBjaGVjayBlYWNoCiAgICAgICAgICMgcGl4ZWwgaW4gdGhlcmUuCi0KLSAg
ICAgICAgIyBpZiB3ZSBhcmUgaW4gMkQgbGFuZCwgdGhlIDEgY2VsbCB0aGljayBkaW1lbnNpb24g
aGFkIGJldHRlciBiZSAnPQp6JwotICAgICAgICBpZiBuZGltID0zRD0zRCAyOgotICAgICAgICAg
ICAgYXNzZXJ0KGJ1ZmZfc2l6ZVsyXSA9M0Q9M0QgMSkKLSAgICAgICAgICAgIHBzdGFydFsyXSA9
M0QgMAotICAgICAgICAgICAgcGVuZFsyXSA9M0QgMAotCiAgICAgICAgIGZvciBwaSBpbiByYW5n
ZShwc3RhcnRbMF0sIHBlbmRbMF0gKyAxKToKICAgICAgICAgICAgIHBwb2ludFswXSA9M0QgKHBp
ICsgMC41KSAqIGRkc1swXSArIHBMRVswXQogICAgICAgICAgICAgZm9yIHBqIGluIHJhbmdlKHBz
dGFydFsxXSwgcGVuZFsxXSArIDEpOgpAQCAtNTM3LDExMSArNTU0LDE3IEBACiAgICAgICAgICAg
ICAgICAgICAgIHNhbXBsZXIubWFwX3JlYWxfdG9fdW5pdChtYXBwZWRfY29vcmQsIHZlcnRpY2Vz
LCBwcG9pbj0KdCkKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNhbXBsZXIuY2hlY2tfaW5z
aWRlKG1hcHBlZF9jb29yZCk6CiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAg
ICAgICAgICAgICAgICAgICAjIEVsc2UsIHdlIGRlcG9zaXQhCi0gICAgICAgICAgICAgICAgICAg
IGlmIChudW1fZmllbGRfdmFscyA9M0Q9M0QgMSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
bWdbcGksIHBqLCBwa10gPTNEIGZpZWxkX3ZhbHNbMF0KKyAgICAgICAgICAgICAgICAgICAgIyBp
ZiB0aHJlc2ggaXMgbmVnYXRpdmUsIHdlIGRvIHRoZSBub3JtYWwgc2FtcGxlIG9wZXJhPQp0aW9u
CisgICAgICAgICAgICAgICAgICAgIGlmIHRocmVzaCA8IDAuMDoKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChudW1fZmllbGRfdmFscyA9M0Q9M0QgMSk6CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCBmaWVsZF92YWxzWzBdCisgICAgICAgICAgICAg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ1twaSwgcGos
IHBrXSA9M0Qgc2FtcGxlci5zYW1wbGVfYXRfdW5pdF9wb2k9Cm50KG1hcHBlZF9jb29yZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPQogZmllbGRfdmFscykKICAgICAgICAgICAgICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgICAgICAgICAgICAgIGltZ1twaSwgcGosIHBrXSA9M0Qgc2FtcGxlci5zYW1w
bGVfYXRfdW5pdF9wb2ludChtPQphcHBlZF9jb29yZCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllPQpsZF92
YWxzKQorICAgICAgICAgICAgICAgICAgICAgICAgIyBvdGhlcndpc2UsIHdlIGRyYXcgdGhlIGVs
ZW1lbnQgYm91bmRhcmllcworICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2FtcGxlci5jaGVj
a19uZWFyX2VkZ2UobWFwcGVkX2Nvb3JkLCB0aHJlc2gsIHg9CmF4KToKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbWdbcGksIHBqLCBwa10gPTNEIDEuMAorICAgICAgICAgICAgICAgICAg
ICAgICAgZWxpZiBzYW1wbGVyLmNoZWNrX25lYXJfZWRnZShtYXBwZWRfY29vcmQsIHRocmVzaCw9
CiB5YXgpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ1twaSwgcGosIHBrXSA9M0Qg
MS4wCiAgICAgcmV0dXJuIGltZwotCi0KLWRlZiBkcmF3X21lc2hfbGluZXMobnAubmRhcnJheVtu
cC5mbG9hdDY0X3QsIG5kaW09M0QyXSBjb29yZHMsCi0gICAgICAgICAgICAgICAgICAgIG5wLm5k
YXJyYXlbbnAuaW50NjRfdCwgbmRpbT0zRDJdIGNvbm4sCi0gICAgICAgICAgICAgICAgICAgIGJ1
ZmZfc2l6ZSwgZXh0ZW50cywgZG91YmxlIHRocmVzaCwKLSAgICAgICAgICAgICAgICAgICAgaW50
IGluZGV4X29mZnNldCA9M0QgMCk6Ci0gICAgY2RlZiBucC5uZGFycmF5W25wLmZsb2F0NjRfdCwg
bmRpbT0zRDNdIGltZwotICAgIGltZyA9M0QgbnAuemVyb3MoYnVmZl9zaXplLCBkdHlwZT0zRCJm
bG9hdDY0IikKLSAgICAjIFR3byBzdGVwczoKLSAgICAjICAxLiBJcyBpbWFnZSBwb2ludCB3aXRo
aW4gdGhlIG1lc2ggYm91bmRpbmcgYm94PwotICAgICMgIDIuIElzIGltYWdlIHBvaW50IHdpdGhp
biB0aGUgbWVzaCBlbGVtZW50PwotICAgICMgU2Vjb25kIGlzIG1vcmUgaW50ZW5zaXZlLiAgSXQg
d2lsbCBjb252ZXJ0IHRoZSBlbGVtZW50IHZlcnRpY2VzIHRvIHQ9CmhlCi0gICAgIyBtYXBwZWQg
Y29vcmRpbmF0ZSBzeXN0ZW0sIGFuZCBjaGVja2luZyB3aGV0aGVyIHRoZSByZXN1bHQgaW4gaW4t
Ym91bj0KZHMgb3Igbm90Ci0gICAgIyBOb3RlIHRoYXQgd2UgaGF2ZSB0byBoYXZlIGEgcHNldWRv
LTNEIHBpeGVsIGJ1ZmZlci4gIE9uZSBkaW1lbnNpb24gdz0KaWxsCi0gICAgIyBhbHdheXMgYmUg
MS4KLSAgICBjZGVmIG5wLmZsb2F0NjRfdCBwTEVbM10sIHBSRVszXQotICAgIGNkZWYgbnAuZmxv
YXQ2NF90IExFWzNdLCBSRVszXQotICAgIGNkZWYgaW50IHVzZQotICAgIGNkZWYgbnAuaW50NjRf
dCBuLCBpLCBqLCBrLCBwaSwgcGosIHBrLCBjaSwgY2osIGNrCi0gICAgY2RlZiBucC5pbnQ2NF90
IHBzdGFydFszXSwgcGVuZFszXQotICAgIGNkZWYgbnAuZmxvYXQ2NF90IHBwb2ludFszXSwgaWRk
c1szXSwgZGRzWzNdCi0gICAgY2RlZiBucC5mbG9hdDY0X3QgKnZlcnRpY2VzCi0gICAgY2RlZiBp
bnQgbnZlcnRpY2VzID0zRCBjb25uLnNoYXBlWzFdCi0gICAgY2RlZiBkb3VibGUqIG1hcHBlZF9j
b29yZAotICAgIGNkZWYgaW50IGF4LCB4YXgsIHlheAotCi0gICAgZm9yIGkgaW4gcmFuZ2UoMyk6
Ci0gICAgICAgIGlmIGJ1ZmZfc2l6ZVtpXSA9M0Q9M0QgMToKLSAgICAgICAgICAgIGF4ID0zRCBp
Ci0KLSAgICBpZiBheCA9M0Q9M0QgMDoKLSAgICAgICAgeGF4ID0zRCAxCi0gICAgICAgIHlheCA9
M0QgMgotICAgIGlmIGF4ID0zRD0zRCAxOgotICAgICAgICB4YXggPTNEIDEKLSAgICAgICAgeWF4
ID0zRCAyCi0gICAgaWYgYXggPTNEPTNEIDI6Ci0gICAgICAgIHhheCA9M0QgMAotICAgICAgICB5
YXggPTNEIDEKLQotICAgIGNkZWYgRWxlbWVudFNhbXBsZXIgc2FtcGxlcgotCi0gICAgIyBBbGxv
Y2F0ZSBzdG9yYWdlIGZvciB0aGUgbWFwcGVkIGNvb3JkaW5hdGUKLSAgICBpZiBudmVydGljZXMg
PTNEPTNEIDQ6Ci0gICAgICAgIG1hcHBlZF9jb29yZCA9M0QgPGRvdWJsZSo+IGFsbG9jYShzaXpl
b2YoZG91YmxlKSAqIDQpCi0gICAgICAgIHNhbXBsZXIgPTNEIFAxU2FtcGxlcjNEKCkKLSAgICBl
bGlmIG52ZXJ0aWNlcyA9M0Q9M0QgODoKLSAgICAgICAgbWFwcGVkX2Nvb3JkID0zRCA8ZG91Ymxl
Kj4gYWxsb2NhKHNpemVvZihkb3VibGUpICogMykKLSAgICAgICAgc2FtcGxlciA9M0QgUTFTYW1w
bGVyM0QoKQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcgotCi0gICAgdmVy
dGljZXMgPTNEIDxucC5mbG9hdDY0X3QgKj4gYWxsb2NhKDMgKiBzaXplb2YobnAuZmxvYXQ2NF90
KSAqIG52ZXJ0aT0KY2VzKQotICAgPTIwCi0gICAgZm9yIGkgaW4gcmFuZ2UoMyk6Ci0gICAgICAg
IHBMRVtpXSA9M0QgZXh0ZW50c1tpXVswXQotICAgICAgICBwUkVbaV0gPTNEIGV4dGVudHNbaV1b
MV0KLSAgICAgICAgZGRzW2ldID0zRCAocFJFW2ldIC0gcExFW2ldKS9idWZmX3NpemVbaV0KLSAg
ICAgICAgaWYgZGRzW2ldID0zRD0zRCAwLjA6Ci0gICAgICAgICAgICBpZGRzW2ldID0zRCAwLjAK
LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlkZHNbaV0gPTNEIDEuMCAvIGRkc1tpXQotCi0g
ICAgZm9yIGNpIGluIHJhbmdlKGNvbm4uc2hhcGVbMF0pOgotCi0gICAgICAgICMgRmlsbCB0aGUg
dmVydGljZXMKLSAgICAgICAgTEVbMF0gPTNEIExFWzFdID0zRCBMRVsyXSA9M0QgMWU2MAotICAg
ICAgICBSRVswXSA9M0QgUkVbMV0gPTNEIFJFWzJdID0zRCAtMWU2MAotCi0gICAgICAgIGZvciBu
IGluIHJhbmdlKG52ZXJ0aWNlcyk6Ci0gICAgICAgICAgICBjaiA9M0QgY29ubltjaSwgbl0gLSBp
bmRleF9vZmZzZXQKLSAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgotICAgICAgICAgICAg
ICAgIHZlcnRpY2VzWzMqbiArIGldID0zRCBjb29yZHNbY2osIGldCi0gICAgICAgICAgICAgICAg
TEVbaV0gPTNEIGZtaW4oTEVbaV0sIHZlcnRpY2VzWzMqbitpXSkKLSAgICAgICAgICAgICAgICBS
RVtpXSA9M0QgZm1heChSRVtpXSwgdmVydGljZXNbMypuK2ldKQotICAgICAgICB1c2UgPTNEIDEK
LSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6Ci0gICAgICAgICAgICBpZiBSRVtpXSA8IHBMRVtp
XSBvciBMRVtpXSA+PTNEIHBSRVtpXToKLSAgICAgICAgICAgICAgICB1c2UgPTNEIDAKLSAgICAg
ICAgICAgICAgICBicmVhawotICAgICAgICAgICAgcHN0YXJ0W2ldID0zRCBpNjRtYXgoPG5wLmlu
dDY0X3Q+ICgoTEVbaV0gLSBwTEVbaV0pKmlkZHNbaV0pIC09CiAxLCAwKQotICAgICAgICAgICAg
cGVuZFtpXSA9M0QgaTY0bWluKDxucC5pbnQ2NF90PiAoKFJFW2ldIC0gcExFW2ldKSppZGRzW2ld
KSArIDE9CiwgaW1nLnNoYXBlW2ldLTEpCi0gICAgICAgIGlmIHVzZSA9M0Q9M0QgMDoKLSAgICAg
ICAgICAgIGNvbnRpbnVlCi0gICAgICAgICMgTm93IG91ciBib3VuZGluZyBib3ggaW50ZXJzZWN0
cywgc28gd2UgZ2V0IHRoZSBleHRlbnRzIG9mIG91ciBwaT0KeGVsCi0gICAgICAgICMgcmVnaW9u
IHdoaWNoIG92ZXJsYXBzIHdpdGggdGhlIGJvdW5kaW5nIGJveCwgYW5kIHdlJ2xsIGNoZWNrIGVh
Y2gKLSAgICAgICAgIyBwaXhlbCBpbiB0aGVyZS4KLSAgICAgICAgZm9yIHBpIGluIHJhbmdlKHBz
dGFydFswXSwgcGVuZFswXSArIDEpOgotICAgICAgICAgICAgcHBvaW50WzBdID0zRCAocGkgKyAw
LjUpICogZGRzWzBdICsgcExFWzBdCi0gICAgICAgICAgICBmb3IgcGogaW4gcmFuZ2UocHN0YXJ0
WzFdLCBwZW5kWzFdICsgMSk6Ci0gICAgICAgICAgICAgICAgcHBvaW50WzFdID0zRCAocGogKyAw
LjUpICogZGRzWzFdICsgcExFWzFdCi0gICAgICAgICAgICAgICAgZm9yIHBrIGluIHJhbmdlKHBz
dGFydFsyXSwgcGVuZFsyXSArIDEpOgotICAgICAgICAgICAgICAgICAgICBwcG9pbnRbMl0gPTNE
IChwayArIDAuNSkgKiBkZHNbMl0gKyBwTEVbMl0KLSAgICAgICAgICAgICAgICAgICAgc2FtcGxl
ci5tYXBfcmVhbF90b191bml0KG1hcHBlZF9jb29yZCwgdmVydGljZXMsIHBwb2luPQp0KQotICAg
ICAgICAgICAgICAgICAgICBpZiBub3Qgc2FtcGxlci5jaGVja19pbnNpZGUobWFwcGVkX2Nvb3Jk
KToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgICAg
IGlmIHNhbXBsZXIuY2hlY2tfbmVhcl9lZGdlKG1hcHBlZF9jb29yZCwgdGhyZXNoLCB4YXgpOgot
ICAgICAgICAgICAgICAgICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0zRCAxLjAKLSAgICAgICAg
ICAgICAgICAgICAgZWxpZiBzYW1wbGVyLmNoZWNrX25lYXJfZWRnZShtYXBwZWRfY29vcmQsIHRo
cmVzaCwgeWF4PQopOgotICAgICAgICAgICAgICAgICAgICAgICAgaW1nW3BpLCBwaiwgcGtdID0z
RCAxLjAKLSAgICByZXR1cm4gaW1nCgpkaWZmIC1yIDhlOWVkMmIzNzAyZTkwMWJjMjQwODczMmJm
Nzg1YzgwNzI5ODMzMDggLXIgMzM4YjAwMTIxNDBmNTVhNjIzOTMzOGY9CmNlN2U4ODA1OTM0Yzhl
ZDBiIHl0L3Zpc3VhbGl6YXRpb24vcGxvdF9tb2RpZmljYXRpb25zLnB5Ci0tLSBhL3l0L3Zpc3Vh
bGl6YXRpb24vcGxvdF9tb2RpZmljYXRpb25zLnB5CisrKyBiL3l0L3Zpc3VhbGl6YXRpb24vcGxv
dF9tb2RpZmljYXRpb25zLnB5CkBAIC0zNSw3ICszNSw3IEBACiBmcm9tIHl0LnVuaXRzLnl0X2Fy
cmF5IGltcG9ydCBZVFF1YW50aXR5LCBZVEFycmF5CiBmcm9tIHl0LnZpc3VhbGl6YXRpb24uaW1h
Z2Vfd3JpdGVyIGltcG9ydCBhcHBseV9jb2xvcm1hcAogZnJvbSB5dC51dGlsaXRpZXMubGliLmdl
b21ldHJ5X3V0aWxzIGltcG9ydCB0cmlhbmdsZV9wbGFuZV9pbnRlcnNlY3QKLWZyb20geXQudXRp
bGl0aWVzLmxpYi5waXhlbGl6YXRpb25fcm91dGluZXMgaW1wb3J0IGRyYXdfbWVzaF9saW5lcwor
ZnJvbSB5dC51dGlsaXRpZXMubGliLnBpeGVsaXphdGlvbl9yb3V0aW5lcyBpbXBvcnQgcGl4ZWxp
emVfZWxlbWVudF9tZXNoCiBmcm9tIHl0LmFuYWx5c2lzX21vZHVsZXMuY29zbW9sb2dpY2FsX29i
c2VydmF0aW9uLmxpZ2h0X3JheS5saWdodF9yYXkgXAogICAgICBpbXBvcnQgcGVyaW9kaWNfcmF5
CiBpbXBvcnQgd2FybmluZ3MKQEAgLTE1NjcsMTAgKzE1NjcsMTUgQEAKICAgICAgICAgYm91bmRz
ID0zRCBucC5yZXNoYXBlKGJvdW5kcywgKDMsIDIpKQo9MjAKICAgICAgICAgIyBkcmF3IHRoZSBt
ZXNoIGxpbmVzIGJ5IG1hcmtpbmcgd2hlcmUgdGhlIG1hcHBlZAotICAgICAgICAjIGNvb3JkaW5h
dGUgaXMgY2xvc2UgdG8gdGhlIGRvbWFpbiBlZGdlCi0gICAgICAgIGltZyA9M0QgZHJhd19tZXNo
X2xpbmVzKGNvb3JkcywgaW5kaWNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1
ZmZfc2l6ZSwgYm91bmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50aHJl
c2gsIG9mZnNldCkKKyAgICAgICAgIyBjb29yZGluYXRlIGlzIGNsb3NlIHRvIHRoZSBkb21haW4g
ZWRnZS4gV2UgZG8gdGhpcyBieQorICAgICAgICAjIGNhbGxpbmcgdGhlIHBpeGVsaXplciB3aXRo
IGEgZHVtbXkgZmllbGQgYW5kIHBhc3NpbmcgaW4KKyAgICAgICAgIyBhIG5vbi1uZWdhdGl2ZSB0
aHJlc2guCisgICAgICAgIGR1bW15X2ZpZWxkID0zRCBucC56ZXJvcyhpbmRpY2VzLnNoYXBlLCBk
dHlwZT0zRG5wLmZsb2F0NjQpCisgICAgICAgIGltZyA9M0QgcGl4ZWxpemVfZWxlbWVudF9tZXNo
KGNvb3JkcywgaW5kaWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1
ZmZfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1bW15X2ZpZWxk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzZWxmLnRocmVzaCkKICAgICAgICAg
aW1nID0zRCBucC5zcXVlZXplKG5wLnRyYW5zcG9zZShpbWcsICh5YXgsIHhheCwgYXgpKSkKPTIw
CiAgICAgICAgICMgY29udmVydCB0byBSR0JBPTIwCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0
X2FuYWx5c2lzL3l0L2NvbW1pdHMvZThhN2YxMTJjNGM4LwpDaGFuZ2VzZXQ6ICAgZThhN2YxMTJj
NGM4CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAx
NS0wOS0yMyAxOToyMDozOSswMDowMApTdW1tYXJ5OiAgICAgZ28gYmFjayB0byBsaW5lYXIgcmVu
ZGVyaW5nIGZvciAyMCBub2RlIGhleGVzCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgMzM4
YjAwMTIxNDBmNTVhNjIzOTMzOGZjZTdlODgwNTkzNGM4ZWQwYiAtciBlOGE3ZjExMmM0YzhiZWQ4
OGM1YTIxND0KNGU4MjZkZjhhYmU1Mjk3YTEgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKQEAgLTMyMywxMCArMzIzLDE4IEBACiAgICAgICAgICMgbG93
LW9yZGVyIGdlb21ldHJ5LiBSaWdodCBub3csIGhpZ2gtb3JkZXIgZ2VvbWV0cnkgaXMgb25seQog
ICAgICAgICAjIGltcGxlbWVudGVkIGZvciAyMC1wb2ludCBoZXhlcy4KICAgICAgICAgaWYgaW5k
aWNlcy5zaGFwZVsxXSA9M0Q9M0QgMjA6Ci0gICAgICAgICAgICBzZWxmLm1lc2ggPTNEIG1lc2hf
Y29uc3RydWN0aW9uLlF1YWRyYXRpY0VsZW1lbnRNZXNoKHNlbGYuc2Nlbj0KZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZl
cnRpY2VzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kaWNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkX2RhdGEpCisjICAgICAgICAgICAg
c2VsZi5tZXNoID0zRCBtZXNoX2NvbnN0cnVjdGlvbi5RdWFkcmF0aWNFbGVtZW50TWVzaChzZWxm
LnNjZT0KbmUsCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmVydGljZXMsCisjICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaWNlcywKKyMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVs
ZF9kYXRhKQorICAgICAgICAgICAgbXlsb2cud2FybmluZygiSGlnaCBvcmRlciBlbGVtZW50cyBu
b3QgeWV0IHN1cHBvcnRlZCwgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICJkcm9wcGlu
ZyB0byAxc3Qgb3JkZXIuIikKKyAgICAgICAgICAgIGZpZWxkX2RhdGEgPTNEIGZpZWxkX2RhdGFb
OiwgMDo4XQorICAgICAgICAgICAgaW5kaWNlcyA9M0QgaW5kaWNlc1s6LCAwOjhdCisgICAgICAg
ICAgICBzZWxmLm1lc2ggPTNEIG1lc2hfY29uc3RydWN0aW9uLkxpbmVhckVsZW1lbnRNZXNoKHNl
bGYuc2NlbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZXJ0aWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGljZXMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZF9kYXRhKQogICAg
ICAgICBlbHNlOgogICAgICAgICAgICAgIyBpZiB0aGlzIGlzIGFub3RoZXIgdHlwZSBvZiBoaWdo
ZXItb3JkZXIgZWxlbWVudCwgd2UgZGVtb3RlCiAgICAgICAgICAgICAjIHRvIDFzdCBvcmRlciBo
ZXJlLCBmb3Igbm93LgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21t
aXRzLzJjMmFlODFjNGQ3Zi8KQ2hhbmdlc2V0OiAgIDJjMmFlODFjNGQ3ZgpCcmFuY2g6ICAgICAg
eXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMjMgMjM6MjA6NTUr
MDA6MDAKU3VtbWFyeTogICAgIGZpeGluZyBhIGJ1ZyBmb3IgZGVmYXVsdC1jb25zdHJ1Y3RlZCBD
YW1lcmFzIC0gd2lkdGggaXMgZXhwZWN0PQplZCB0byBiZSBhbiBpdGVyYWJsZSBiZWxvdwpBZmZl
Y3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGU4YTdmMTEyYzRjOGJlZDg4YzVhMjE0NGU4MjZkZjhh
YmU1Mjk3YTEgLXIgMmMyYWU4MWM0ZDdmZTJmNWY3MTMyZTc9CmMzNjUzYWMzYmY4OTBhNDU3IHl0
L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9jYW1lcmEucHkKLS0tIGEveXQvdmlzdWFs
aXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL2NhbWVyYS5weQorKysgYi95dC92aXN1YWxpemF0aW9u
L3ZvbHVtZV9yZW5kZXJpbmcvY2FtZXJhLnB5CkBAIC03MCw3ICs3MCw3IEBACiAgICAgICAgIHNl
bGYubm9ybWFsX3ZlY3RvciA9M0QgTm9uZQogICAgICAgICBzZWxmLmxpZ2h0ID0zRCBOb25lCiAg
ICAgICAgIHNlbGYuX3Jlc29sdXRpb24gPTNEICg1MTIsIDUxMikKLSAgICAgICAgc2VsZi5fd2lk
dGggPTNEIDEuMAorICAgICAgICBzZWxmLl93aWR0aCA9M0QgbnAuYXJyYXkoWzEuMCwgMS4wLCAx
LjBdKQogICAgICAgICBzZWxmLl9mb2N1cyA9M0QgbnAuYXJyYXkoWzAuMF0qMykKICAgICAgICAg
c2VsZi5fcG9zaXRpb24gPTNEIG5wLmFycmF5KFsxLjBdKjMpCiAgICAgICAgIHNlbGYuc2V0X2xl
bnMobGVuc190eXBlKQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21t
aXRzL2MxZjFiZDkxNmUwNC8KQ2hhbmdlc2V0OiAgIGMxZjFiZDkxNmUwNApCcmFuY2g6ICAgICAg
eXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMjQgMjA6MTY6MDgr
MDA6MDAKU3VtbWFyeTogICAgIGRpc2FibGUgb3Blbm1wIGlmIGFuIE9TRXJyb3IgaXMgZW5jb3Vu
dGVyZWQKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciAyYzJhZTgxYzRkN2ZlMmY1ZjcxMzJl
N2MzNjUzYWMzYmY4OTBhNDU3IC1yIGMxZjFiZDkxNmUwNGYxMmQ1ZjBiMzkyPQo2MjhkZTliN2I5
MTYzZjI4MCB5dC91dGlsaXRpZXMvbGliL3NldHVwLnB5Ci0tLSBhL3l0L3V0aWxpdGllcy9saWIv
c2V0dXAucHkKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9zZXR1cC5weQpAQCAtMzgsNiArMzgsOCBA
QAo9MjAKICAgICAgICAgIyBDbGVhbiB1cAogICAgICAgICBmaWxlLmNsb3NlKCkKKyAgICBleGNl
cHQgT1NFcnJvcjoKKyAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgZmluYWxseToKICAgICAgICAg
b3MuY2hkaXIoY3VyZGlyKQogICAgICAgICBzaHV0aWwucm10cmVlKHRtcGRpcikKCgpodHRwczov
L2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy84M2ZiYjJkYmVkNzkvCkNoYW5n
ZXNldDogICA4M2ZiYjJkYmVkNzkKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJz
CkRhdGU6ICAgICAgICAyMDE1LTA5LTI0IDIwOjQ1OjM4KzAwOjAwClN1bW1hcnk6ICAgICBhbHNv
IGF0dGVtcHQgdG8gc3BsaXQgdGhlIGNvbnRlbnRzIG9mIENDLCBpbiBjYXNlIHBlb3BsZSBhcmUg
dT0Kc2luZyBjY2FjaGUKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciBjMWYxYmQ5MTZlMDRm
MTJkNWYwYjM5MjYyOGRlOWI3YjkxNjNmMjgwIC1yIDgzZmJiMmRiZWQ3OTQ5ODUwYWY2MjI2PQo5
MTNhODUwNDg1YTczZTJiOCB5dC91dGlsaXRpZXMvbGliL3NldHVwLnB5Ci0tLSBhL3l0L3V0aWxp
dGllcy9saWIvc2V0dXAucHkKKysrIGIveXQvdXRpbGl0aWVzL2xpYi9zZXR1cC5weQpAQCAtMTgs
NiArMTgsNyBAQAo9MjAKICAgICAgICAgIyBHZXQgY29tcGlsZXIgaW52b2NhdGlvbgogICAgICAg
ICBjb21waWxlciA9M0Qgb3MuZ2V0ZW52KCdDQycsICdjYycpCisgICAgICAgIGNvbXBpbGVyID0z
RCBjb21waWxlci5zcGxpdCgnICcpCj0yMAogICAgICAgICAjIEF0dGVtcHQgdG8gY29tcGlsZSBh
IHRlc3Qgc2NyaXB0LgogICAgICAgICAjIFNlZSBodHRwOi8vb3Blbm1wLm9yZy93cC9vcGVubXAt
Y29tcGlsZXJzLwpAQCAtMzMsNyArMzQsNyBAQAogICAgICAgICAgICAgKQogICAgICAgICBmaWxl
LmZsdXNoKCkKICAgICAgICAgd2l0aCBvcGVuKG9zLmRldm51bGwsICd3JykgYXMgZm51bGw6Ci0g
ICAgICAgICAgICBleGl0X2NvZGUgPTNEIHN1YnByb2Nlc3MuY2FsbChbY29tcGlsZXIsICctZm9w
ZW5tcCcsIGZpbGVuYW1lXSwKKyAgICAgICAgICAgIGV4aXRfY29kZSA9M0Qgc3VicHJvY2Vzcy5j
YWxsKGNvbXBpbGVyICsgWyctZm9wZW5tcCcsIGZpbGVuYW1lPQpdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD0zRGZudWxsLCBzdGRlcnI9M0RmbnVsbCkK
PTIwCiAgICAgICAgICMgQ2xlYW4gdXAKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlz
aXMveXQvY29tbWl0cy82YjMwMGNlZTdlNjAvCkNoYW5nZXNldDogICA2YjMwMGNlZTdlNjAKQnJh
bmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTI0
IDIyOjE1OjA5KzAwOjAwClN1bW1hcnk6ICAgICBzZXQgTWVzaFNvdXJjZXMgdG8gYmUgb3BhcXVl
CkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgODNmYmIyZGJlZDc5NDk4NTBhZjYyMjY5MTNh
ODUwNDg1YTczZTJiOCAtciA2YjMwMGNlZTdlNjA2NzMxOGU3N2NjZT0KNjNiZjJmNmYzMTJiZjJk
OWMgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKLS0t
IGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKKysr
IGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRlcl9zb3VyY2UucHkKQEAg
LTExMyw3ICsxMTMsNyBAQAo9MjAKICAgICAgICAgRXhhbXBsZXMKICAgICAgICAgLS0tLS0tLS0K
LSAgICAgICAgPj4+IHNvdXJjZSA9M0QgUmVuZGVyU291cmNlKGRzLCAnZGVuc2l0eScpCisgICAg
ICAgID4+PiBzb3VyY2UgPTNEIFZvbHVtZVNvdXJjZShkcywgJ2RlbnNpdHknKQo9MjAKICAgICAg
ICAgIiIiCiAgICAgICAgIHN1cGVyKFZvbHVtZVNvdXJjZSwgc2VsZikuX19pbml0X18oKQpAQCAt
MjQ5LDcgKzI0OSw3IEBACiAgICAgICAgIHJldHVybiBkaXNwCj0yMAo9MjAKLWNsYXNzIE1lc2hT
b3VyY2UoUmVuZGVyU291cmNlKToKK2NsYXNzIE1lc2hTb3VyY2UoT3BhcXVlU291cmNlKToKPTIw
CiAgICAgIiIiCj0yMAoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFseXNpcy95dC9jb21t
aXRzLzY3OWI1YzE4MTdhOS8KQ2hhbmdlc2V0OiAgIDY3OWI1YzE4MTdhOQpCcmFuY2g6ICAgICAg
eXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDktMjQgMjI6MTU6Mjgr
MDA6MDAKU3VtbWFyeTogICAgIGFsbG93IHJlbmRlcmluZyBvZiBzY2VuZXMgd2l0aCBvbmx5IG9w
YXF1ZSBzb3VyY2VzCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgNmIzMDBjZWU3ZTYwNjcz
MThlNzdjY2U2M2JmMmY2ZjMxMmJmMmQ5YyAtciA2NzliNWMxODE3YTkwMzIyMDI3YjQ1MD0KYmY0
OTk2ODA4ZWI4NTY0YjcgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3NjZW5lLnB5
Ci0tLSBhL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy9zY2VuZS5weQorKysgYi95
dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvc2NlbmUucHkKQEAgLTIwLDcgKzIwLDcg
QEAKIGZyb20gLnJlbmRlcl9zb3VyY2UgaW1wb3J0IE9wYXF1ZVNvdXJjZSwgQm94U291cmNlLCBD
b29yZGluYXRlVmVjdG9yU291cmNlPQosIFwKICAgICBHcmlkU291cmNlCiBmcm9tIC56YnVmZmVy
X2FycmF5IGltcG9ydCBaQnVmZmVyCi0KK2ltcG9ydCB5dC51dGlsaXRpZXMucG5nX3dyaXRlciBh
cyBwdwo9MjAKIGNsYXNzIFNjZW5lKG9iamVjdCk6Cj0yMApAQCAtMTY1LDcgKzE2NSw3IEBACiAg
ICAgICAgIG9wYXF1ZSA9M0QgWkJ1ZmZlcihlbXB0eSwgbnAub25lcyhlbXB0eS5zaGFwZVs6Ml0p
ICogbnAuaW5mKQo9MjAKICAgICAgICAgZm9yIGssIHNvdXJjZSBpbiBzZWxmLl9pdGVyX29wYXF1
ZV9zb3VyY2VzKCk6Ci0gICAgICAgICAgICBzb3VyY2UucmVuZGVyKGNhbWVyYSwgemJ1ZmZlcj0z
RG9wYXF1ZSkKKyAgICAgICAgICAgIGltID0zRCBzb3VyY2UucmVuZGVyKGNhbWVyYSwgemJ1ZmZl
cj0zRG9wYXF1ZSkKPTIwCiAgICAgICAgIGZvciBrLCBzb3VyY2UgaW4gc2VsZi5faXRlcl90cmFu
c3BhcmVudF9zb3VyY2VzKCk6CiAgICAgICAgICAgICBpbSA9M0Qgc291cmNlLnJlbmRlcihjYW1l
cmEsIHpidWZmZXI9M0RvcGFxdWUpCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lz
L3l0L2NvbW1pdHMvNDFhMjU4NzQyNjE4LwpDaGFuZ2VzZXQ6ICAgNDFhMjU4NzQyNjE4CkJyYW5j
aDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yNCAy
MzoxMzoxMyswMDowMApTdW1tYXJ5OiAgICAgZml4aW5nIHRoZSBhZGQgbWV0aG9kIG9mIHpidWZm
ZXIKQWZmZWN0ZWQgIzogIDEgZmlsZQoKZGlmZiAtciA2NzliNWMxODE3YTkwMzIyMDI3YjQ1MGJm
NDk5NjgwOGViODU2NGI3IC1yIDQxYTI1ODc0MjYxODUxODUxNWI4ODA0PQpiOWFhYjVhN2QxOGE0
YzEyOCB5dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvemJ1ZmZlcl9hcnJheS5weQot
LS0gYS95dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvemJ1ZmZlcl9hcnJheS5weQor
KysgYi95dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvemJ1ZmZlcl9hcnJheS5weQpA
QCAtMjgsMTMgKzI4LDE2IEBACj0yMAogICAgIGRlZiBfX2FkZF9fKHNlbGYsIG90aGVyKToKICAg
ICAgICAgYXNzZXJ0KHNlbGYuc2hhcGUgPTNEPTNEIG90aGVyLnNoYXBlKQotICAgICAgICBmX29y
X2IgPTNEIHNlbGYueiA8IG90aGVyLnoKKyAgICAgICAgZiA9M0Qgc2VsZi56IDwgb3RoZXIuegor
ICAgICAgICB1c2Vfc2VsZiA9M0QgbnAuZHN0YWNrKChmLCBmLCBmLCBmKSkKKyAgICAgICAgYiA9
M0Qgc2VsZi56ID4gb3RoZXIuegorICAgICAgICB1c2Vfb3RoZXIgPTNEIG5wLmRzdGFjaygoYiwg
YiwgYiwgYikpCiAgICAgICAgIGlmIHNlbGYuei5zaGFwZVsxXSA9M0Q9M0QgMToKICAgICAgICAg
ICAgICMgTm9uLXJlY3Rhbmd1bGFyCi0gICAgICAgICAgICByZ2JhID0zRCAoc2VsZi5yZ2JhICog
Zl9vcl9iWzosTm9uZSw6XSkKLSAgICAgICAgICAgIHJnYmEgKz0zRCAob3RoZXIucmdiYSAqICgx
LjAgLSBmX29yX2IpWzosTm9uZSw6XSkKKyAgICAgICAgICAgIHJnYmEgPTNEIChzZWxmLnJnYmEg
KiBmWzosTm9uZSw6XSkKKyAgICAgICAgICAgIHJnYmEgKz0zRCAob3RoZXIucmdiYSAqICgxLjAg
LSBmKVs6LE5vbmUsOl0pCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZ2JhID0zRCAoc2Vs
Zi5yZ2JhLlQgKiBmX29yX2IpLlQgKyAob3RoZXIucmdiYS5UICogKDEgLSBmX29yXz0KYikpLlQK
KyAgICAgICAgICAgIHJnYmEgPTNEIHNlbGYucmdiYSp1c2Vfc2VsZiArIG90aGVyLnJnYmEqdXNl
X290aGVyCiAgICAgICAgIHogPTNEIG5wLm1pbihbc2VsZi56LCBvdGhlci56XSwgYXhpcz0zRDAp
CiAgICAgICAgIHJldHVybiBaQnVmZmVyKHJnYmEsIHopCj0yMAoKCmh0dHBzOi8vYml0YnVja2V0
Lm9yZy95dF9hbmFseXNpcy95dC9jb21taXRzLzk4YzBkNGQwYWYzYi8KQ2hhbmdlc2V0OiAgIDk4
YzBkNGQwYWYzYgpCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAg
ICAgIDIwMTUtMDktMjQgMjM6MTQ6NDgrMDA6MDAKU3VtbWFyeTogICAgIGltcGxlbWVudGluZyB6
YnVmZmVyaW5nIGZvciBtZXNoIHNvdXJjZXMKQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIg
NDFhMjU4NzQyNjE4NTE4NTE1Yjg4MDRiOWFhYjVhN2QxOGE0YzEyOCAtciA5OGMwZDRkMGFmM2Jk
NTE1NGJkMzdiMD0KMjdjMDVkNjJiZjNhYmNlZjMgeXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZl
cnNhbC5weXgKLS0tIGEveXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZlcnNhbC5weXgKKysrIGIv
eXQvdXRpbGl0aWVzL2xpYi9tZXNoX3RyYXZlcnNhbC5weXgKQEAgLTQ2LDYgKzQ2LDcgQEAKPTIw
CiAgICAgY2RlZiBwdWJsaWMgb2JqZWN0IGltYWdlX3VzZWQKICAgICBjZGVmIHB1YmxpYyBvYmpl
Y3QgbWVzaF9saW5lcworICAgIGNkZWYgcHVibGljIG9iamVjdCB6YnVmZmVyCj0yMAogICAgIEBj
eXRob24uYm91bmRzY2hlY2soRmFsc2UpCiAgICAgQGN5dGhvbi53cmFwYXJvdW5kKEZhbHNlKQpA
QCAtODEsNiArODIsNyBAQAogICAgICAgICB1c2VkID0zRCBucC5lbXB0eShzaXplLCBkdHlwZT0z
RCJpbnQ2NCIpCiAgICAgICAgIG1lc2ggPTNEIG5wLmVtcHR5KHNpemUsIGR0eXBlPTNEImludDY0
IikKICAgICAgICAgZGF0YSA9M0QgbnAuZW1wdHkoc2l6ZSwgZHR5cGU9M0QiZmxvYXQ2NCIpCisg
ICAgICAgIHpidWZmZXIgPTNEIG5wLmVtcHR5KHNpemUsIGR0eXBlPTNEImZsb2F0NjQiKQogICAg
ICAgICBjZGVmIHJ0Y3IuUlRDUmF5IHJheQogICAgICAgICBpZiBpbS52ZF9zdHJpZGVzWzBdID0z
RD0zRCAtMToKICAgICAgICAgICAgIHZfcG9zID0zRCA8bnAuZmxvYXQ2NF90ICo+IG1hbGxvYygz
ICogc2l6ZW9mKG5wLmZsb2F0NjRfdCkpCkBAIC0xMDgsOSArMTEwLDExIEBACiAgICAgICAgICAg
ICAgICAgZGF0YVtqXSA9M0QgcmF5LnRpbWUKICAgICAgICAgICAgICAgICB1c2VkW2pdID0zRCBy
YXkucHJpbUlECiAgICAgICAgICAgICAgICAgbWVzaFtqXSA9M0QgcmF5Lmluc3RJRAorICAgICAg
ICAgICAgICAgIHpidWZmZXJbal0gPTNEIHJheS50ZmFyCiAgICAgICAgICAgICBzZWxmLmFpbWFn
ZSA9M0QgZGF0YS5yZXNoYXBlKHNlbGYuaW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2UubnZbMT0KXSkK
ICAgICAgICAgICAgIHNlbGYuaW1hZ2VfdXNlZCA9M0QgdXNlZC5yZXNoYXBlKHNlbGYuaW1hZ2Uu
bnZbMF0sIHNlbGYuaW1hZ2UuPQpudlsxXSkKICAgICAgICAgICAgIHNlbGYubWVzaF9saW5lcyA9
M0QgbWVzaC5yZXNoYXBlKHNlbGYuaW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2UuPQpudlsxXSkKKyAg
ICAgICAgICAgIHNlbGYuemJ1ZmZlciA9M0QgemJ1ZmZlci5yZXNoYXBlKHNlbGYuaW1hZ2UubnZb
MF0sIHNlbGYuaW1hZ2UuPQpudlsxXSkKICAgICAgICAgICAgIGZyZWUodl9wb3MpCiAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICB2X3BvcyA9M0QgPG5wLmZsb2F0NjRfdCAqPiBtYWxsb2MoMyAq
IHNpemVvZihucC5mbG9hdDY0X3QpKQoKZGlmZiAtciA0MWEyNTg3NDI2MTg1MTg1MTViODgwNGI5
YWFiNWE3ZDE4YTRjMTI4IC1yIDk4YzBkNGQwYWYzYmQ1MTU0YmQzN2IwPQoyN2MwNWQ2MmJmM2Fi
Y2VmMyB5dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQot
LS0gYS95dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQor
KysgYi95dC92aXN1YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQpA
QCAtMzY4LDYgKzM2OCw4IEBACiAgICAgICAgIHNlbGYuZGF0YSA9M0Qgc2VsZi5zYW1wbGVyLmFp
bWFnZQogICAgICAgICBzZWxmLmN1cnJlbnRfaW1hZ2UgPTNEIHNlbGYuYXBwbHlfY29sb3JtYXAo
Y21hcD0zRGNtYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29sb3JfYm91bmRzPTNEY29sb3JfYm91bj0KZHMpCisgICAgICAgIHNlbGYuemJ1ZmZl
ciA9M0QgWkJ1ZmZlcihzZWxmLmN1cnJlbnRfaW1hZ2UsIHNlbGYuc2FtcGxlci56YnVmZmVyKQor
CiAgICAgICAgIHJldHVybiBzZWxmLmN1cnJlbnRfaW1hZ2UKPTIwCiAgICAgZGVmIGFubm90YXRl
X21lc2hfbGluZXMoc2VsZiwgY29sb3I9M0ROb25lLCBhbHBoYT0zRDI1NSk6CgoKaHR0cHM6Ly9i
aXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNzA4N2MwMWM3YzBlLwpDaGFuZ2Vz
ZXQ6ICAgNzA4N2MwMWM3YzBlCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpE
YXRlOiAgICAgICAgMjAxNS0wOS0yNSAwMjowMzo1NCswMDowMApTdW1tYXJ5OiAgICAgYSBjb3Vw
bGUgb2YgemJ1ZmZlcmluZyBidWcgZml4ZXMsIHJlbmRlcmluZyBtdWx0aXBsZSBtZXNoIHNvdXI9
CmNlcyB3b3JrcyBub3cKQWZmZWN0ZWQgIzogIDIgZmlsZXMKCmRpZmYgLXIgOThjMGQ0ZDBhZjNi
ZDUxNTRiZDM3YjAyN2MwNWQ2MmJmM2FiY2VmMyAtciA3MDg3YzAxYzdjMGVmMzlmZTQ5YTI1MT0K
NWM0NzQ4MjI0ZDMxOGU5NTkgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRl
cl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRl
cl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3JlbmRl
cl9zb3VyY2UucHkKQEAgLTM1OSw2ICszNTksMTMgQEAKICAgICBkZWYgcmVuZGVyKHNlbGYsIGNh
bWVyYSwgemJ1ZmZlcj0zRE5vbmUsCiAgICAgICAgICAgICAgICBjbWFwPTNEJ2FsZ2FlJywgY29s
b3JfYm91bmRzPTNETm9uZSk6Cj0yMAorICAgICAgICBpZiB6YnVmZmVyIGlzIE5vbmU6CisgICAg
ICAgICAgICBlbXB0eSA9M0QgY2FtZXJhLmxlbnMubmV3X2ltYWdlKGNhbWVyYSkKKyAgICAgICAg
ICAgIHogPTNEIG5wLmVtcHR5KGVtcHR5LnNoYXBlWzoyXSwgZHR5cGU9M0QnZmxvYXQ2NCcpCisg
ICAgICAgICAgICBlbXB0eVs6XSA9M0QgMC4wCisgICAgICAgICAgICB6WzpdID0zRCBucC5pbmYK
KyAgICAgICAgICAgIHpidWZmZXIgPTNEIFpCdWZmZXIoZW1wdHksIHopCisKICAgICAgICAgc2Vs
Zi5zYW1wbGVyID0zRCBuZXdfbWVzaF9zYW1wbGVyKGNhbWVyYSwgc2VsZikKPTIwCiAgICAgICAg
IG15bG9nLmRlYnVnKCJDYXN0aW5nIHJheXMiKQpAQCAtMzY4LDggKzM3NSwxMSBAQAogICAgICAg
ICBzZWxmLmRhdGEgPTNEIHNlbGYuc2FtcGxlci5haW1hZ2UKICAgICAgICAgc2VsZi5jdXJyZW50
X2ltYWdlID0zRCBzZWxmLmFwcGx5X2NvbG9ybWFwKGNtYXA9M0RjbWFwLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yX2JvdW5kcz0zRGNvbG9y
X2JvdW49CmRzKQotICAgICAgICBzZWxmLnpidWZmZXIgPTNEIFpCdWZmZXIoc2VsZi5jdXJyZW50
X2ltYWdlLCBzZWxmLnNhbXBsZXIuemJ1ZmZlcikKKyAgICAgICAgemJ1ZmZlciArPTNEIFpCdWZm
ZXIoc2VsZi5jdXJyZW50X2ltYWdlLmFzdHlwZSgnZmxvYXQ2NCcpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5zYW1wbGVyLnpidWZmZXIpCj0yMAorICAgICAgICBzZWxmLnpidWZm
ZXIgPTNEIHpidWZmZXIKKyAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlID0zRCBzZWxmLnpidWZm
ZXIucmdiYS5hc3R5cGUoJ3VpbnQ4JykKICAgICAgICAgcmV0dXJuIHNlbGYuY3VycmVudF9pbWFn
ZQo9MjAKICAgICBkZWYgYW5ub3RhdGVfbWVzaF9saW5lcyhzZWxmLCBjb2xvcj0zRE5vbmUsIGFs
cGhhPTNEMjU1KToKCmRpZmYgLXIgOThjMGQ0ZDBhZjNiZDUxNTRiZDM3YjAyN2MwNWQ2MmJmM2Fi
Y2VmMyAtciA3MDg3YzAxYzdjMGVmMzlmZTQ5YTI1MT0KNWM0NzQ4MjI0ZDMxOGU5NTkgeXQvdmlz
dWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL3NjZW5lLnB5Ci0tLSBhL3l0L3Zpc3VhbGl6YXRp
b24vdm9sdW1lX3JlbmRlcmluZy9zY2VuZS5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3ZvbHVt
ZV9yZW5kZXJpbmcvc2NlbmUucHkKQEAgLTE2Niw5ICsxNjYsMTEgQEAKPTIwCiAgICAgICAgIGZv
ciBrLCBzb3VyY2UgaW4gc2VsZi5faXRlcl9vcGFxdWVfc291cmNlcygpOgogICAgICAgICAgICAg
aW0gPTNEIHNvdXJjZS5yZW5kZXIoY2FtZXJhLCB6YnVmZmVyPTNEb3BhcXVlKQorICAgICAgICAg
ICAgb3BhcXVlID0zRCBzb3VyY2UuemJ1ZmZlcgo9MjAKICAgICAgICAgZm9yIGssIHNvdXJjZSBp
biBzZWxmLl9pdGVyX3RyYW5zcGFyZW50X3NvdXJjZXMoKToKICAgICAgICAgICAgIGltID0zRCBz
b3VyY2UucmVuZGVyKGNhbWVyYSwgemJ1ZmZlcj0zRG9wYXF1ZSkKKwogICAgICAgICByZXR1cm4g
aW0KPTIwCiAgICAgZGVmIGNhbWVyYSgpOgoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9hbmFs
eXNpcy95dC9jb21taXRzLzEwZjAzNDIzMWE1Ni8KQ2hhbmdlc2V0OiAgIDEwZjAzNDIzMWE1NgpC
cmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUtMDkt
MjUgMDY6MTQ6MDkrMDA6MDAKU3VtbWFyeTogICAgIG1lcmdpbmcKQWZmZWN0ZWQgIzogIDYgZmls
ZXMKCmRpZmYgLXIgNzA4N2MwMWM3YzBlZjM5ZmU0OWEyNTE1YzQ3NDgyMjRkMzE4ZTk1OSAtciAx
MGYwMzQyMzFhNTYyZjYzZTI2ZWViMz0KNmY0ZmIxNjU4NjIzOTQ3NTUgZG9jL3NvdXJjZS9jb29r
Ym9vay9jb21wbGV4X3Bsb3RzLnJzdAotLS0gYS9kb2Mvc291cmNlL2Nvb2tib29rL2NvbXBsZXhf
cGxvdHMucnN0CisrKyBiL2RvYy9zb3VyY2UvY29va2Jvb2svY29tcGxleF9wbG90cy5yc3QKQEAg
LTIxMiw2ICsyMTIsMTUgQEAKPTIwCiAuLiB5dF9jb29rYm9vazo6IHpvb21pbl9mcmFtZXMucHkK
PTIwCisuLiBfY29va2Jvb2stdmFyaW91c19sZW5zOgorCitWYXJpb3VzIExlbnMgVHlwZXMgZm9y
IFZvbHVtZSBSZW5kZXJpbmcKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fgorCitUaGlzIGV4YW1wbGUgaWxsdXN0cmF0ZXMgdGhlIHVzYWdlIGFuZCBmZWF0dXJlIG9mIGRp
ZmZlcmVudCBsZW5zZXMgZm9yIHZvbD0KdW1lIHJlbmRlcmluZy4KKworLi4geXRfY29va2Jvb2s6
OiB2YXJpb3VzX2xlbnMucHkKKwogLi4gX2Nvb2tib29rLW9wYXF1ZV9yZW5kZXJpbmc6Cj0yMAog
T3BhcXVlIFZvbHVtZSBSZW5kZXJpbmcKCmRpZmYgLXIgNzA4N2MwMWM3YzBlZjM5ZmU0OWEyNTE1
YzQ3NDgyMjRkMzE4ZTk1OSAtciAxMGYwMzQyMzFhNTYyZjYzZTI2ZWViMz0KNmY0ZmIxNjU4NjIz
OTQ3NTUgZG9jL3NvdXJjZS9jb29rYm9vay92YXJpb3VzX2xlbnMucHkKLS0tIC9kZXYvbnVsbAor
KysgYi9kb2Mvc291cmNlL2Nvb2tib29rL3ZhcmlvdXNfbGVucy5weQpAQCAtMCwwICsxLDExNCBA
QAoraW1wb3J0IHl0Citmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5hcGkg
aW1wb3J0IFNjZW5lLCBDYW1lcmEsIFZvbHVtZVNvdT0KcmNlCitpbXBvcnQgbnVtcHkgYXMgbnAK
KworZmllbGQgPTNEICgiZ2FzIiwgImRlbnNpdHkiKQorCisjIG5vcm1hbF92ZWN0b3IgcG9pbnRz
IGZyb20gY2FtZXJhIHRvIHRoZSBjZW50ZXIgb2YgdGJlIGZpbmFsIHByb2plY3Rpb24uCisjIE5v
dyB3ZSBsb29rIGF0IHRoZSBwb3NpdGl2ZSB4IGRpcmVjdGlvbi4KK25vcm1hbF92ZWN0b3IgPTNE
IFsxLiwgMC4sIDAuXQorIyBub3J0aF92ZWN0b3IgZGVmaW5lcyB0aGUgInRvcCIgZGlyZWN0aW9u
IG9mIHRoZSBwcm9qZWN0aW9uLCB3aGljaCBpcworIyBwb3NpdGl2ZSB6IGRpcmVjdGlvbiBoZXJl
Lgorbm9ydGhfdmVjdG9yID0zRCBbMC4sIDAuLCAxLl0KKworIyBGb2xsb3cgdGhlIHNpbXBsZV92
b2x1bWVfcmVuZGVyaW5nIGNvb2tib29rIGZvciB0aGUgZmlyc3QgcGFydCBvZiB0aGlzLgorZHMg
PTNEIHl0LmxvYWQoIklzb2xhdGVkR2FsYXh5L2dhbGF4eTAwMzAvZ2FsYXh5MDAzMCIpCitzYyA9
M0QgU2NlbmUoKQordm9sID0zRCBWb2x1bWVTb3VyY2UoZHMsIGZpZWxkPTNEZmllbGQpCit0ZiA9
M0Qgdm9sLnRyYW5zZmVyX2Z1bmN0aW9uCit0Zi5ncmV5X29wYWNpdHkgPTNEIFRydWUKKworIyBQ
bGFuZS1wYXJhbGxlbCBsZW5zCitjYW0gPTNEIENhbWVyYShkcywgbGVuc190eXBlPTNEJ3BsYW5l
LXBhcmFsbGVsJykKKyMgU2V0IHRoZSByZXNvbHV0aW9uIG9mIHRiZSBmaW5hbCBwcm9qZWN0aW9u
LgorY2FtLnJlc29sdXRpb24gPTNEIFs1MDAsIDUwMF0KKyMgU2V0IHRoZSBsb2NhdGlvbiBvZiB0
aGUgY2FtZXJhIHRvIGJlICh4PTNEMC4yLCB5PTNEMC41LCB6PTNEMC41KQorIyBGb3IgcGxhbmUt
cGFyYWxsZWwgbGVucywgdGhlIGxvY2F0aW9uIGluZm8gYWxvbmcgdGhlIG5vcm1hbF92ZWN0b3Ig
KGhlcmUKKyMgaXMgeD0zRDAuMikgaXMgaWdub3JlZC49MjAKK2NhbS5wb3NpdGlvbiA9M0QgZHMu
YXJyKG5wLmFycmF5KFswLjIsIDAuNSwgMC41XSksICdjb2RlX2xlbmd0aCcpCisjIFNldCB0aGUg
b3JpZW50YXRpb24gb2YgdGhlIGNhbWVyYS4KK2NhbS5zd2l0Y2hfb3JpZW50YXRpb24obm9ybWFs
X3ZlY3Rvcj0zRG5vcm1hbF92ZWN0b3IsCisgICAgICAgICAgICAgICAgICAgICAgIG5vcnRoX3Zl
Y3Rvcj0zRG5vcnRoX3ZlY3RvcikKKyMgU2V0IHRoZSB3aWR0aCBvZiB0aGUgY2FtZXJhLCB3aGVy
ZSB3aWR0aFswXSBhbmQgd2lkdGhbMV0gc3BlY2lmeSB0aGUgbGVuPQpndGggYW5kCisjIGhlaWdo
dCBvZiBmaW5hbCBwcm9qZWN0aW9uLCB3aGlsZSB3aWR0aFsyXSBpbiBwbGFuZS1wYXJhbGxlbCBs
ZW5zIGlzIG5vdD0KIHVzZWQuCitjYW0uc2V0X3dpZHRoKGRzLmRvbWFpbl93aWR0aCAqIDAuNSkK
K3NjLmNhbWVyYSA9M0QgY2FtCitzYy5hZGRfc291cmNlKHZvbCkKK3NjLnJlbmRlcignbGVuc19w
bGFuZS1wYXJhbGxlbC5wbmcnLCBjbGlwX3JhdGlvPTNENi4wKQorCisjIFBlcnNwZWN0aXZlIGxl
bnMKK2NhbSA9M0QgQ2FtZXJhKGRzLCBsZW5zX3R5cGU9M0QncGVyc3BlY3RpdmUnKQorY2FtLnJl
c29sdXRpb24gPTNEIFs1MDAsIDUwMF0KKyMgU3RhbmRpbmcgYXQgKHg9M0QwLjIsIHk9M0QwLjUs
IHo9M0QwLjUpLCB3ZSBsb29rIGF0IHRoZSBhcmVhIG9mIHg+MC4yICh3PQppdGggc29tZSBvcGVu
IGFuZ2xlCisjIHNwZWNpZmllZCBieSBjYW1lcmEgd2lkdGgpIGFsb25nIHRoZSBwb3NpdGl2ZSB4
IGRpcmVjdGlvbi4KK2NhbS5wb3NpdGlvbiA9M0QgZHMuYXJyKFswLjIsIDAuNSwgMC41XSwgJ2Nv
ZGVfbGVuZ3RoJykKK2NhbS5zd2l0Y2hfb3JpZW50YXRpb24obm9ybWFsX3ZlY3Rvcj0zRG5vcm1h
bF92ZWN0b3IsCisgICAgICAgICAgICAgICAgICAgICAgIG5vcnRoX3ZlY3Rvcj0zRG5vcnRoX3Zl
Y3RvcikKKyMgU2V0IHRoZSB3aWR0aCBvZiB0aGUgY2FtZXJhLCB3aGVyZSB3aWR0aFswXSBhbmQg
d2lkdGhbMV0gc3BlY2lmeSB0aGUgbGVuPQpndGggYW5kCisjIGhlaWdodCBvZiB0aGUgZmluYWwg
cHJvamVjdGlvbiwgd2hpbGUgd2lkdGhbMl0gc3BlY2lmaWVzIHRoZSBkaXN0YW5jZSBiZT0KdHdl
ZW4gdGhlCisjIGNhbWVyYSBhbmQgdGhlIGZpbmFsIGltYWdlLgorY2FtLnNldF93aWR0aChkcy5k
b21haW5fd2lkdGggKiAwLjUpCitzYy5jYW1lcmEgPTNEIGNhbQorc2MuYWRkX3NvdXJjZSh2b2wp
CitzYy5yZW5kZXIoJ2xlbnNfcGVyc3BlY3RpdmUucG5nJywgY2xpcF9yYXRpbz0zRDYuMCkKKwor
IyBTdGVyZW8tcGVyc3BlY3RpdmUgbGVucworY2FtID0zRCBDYW1lcmEoZHMsIGxlbnNfdHlwZT0z
RCdzdGVyZW8tcGVyc3BlY3RpdmUnKQorIyBTZXQgdGhlIHNpemUgcmF0aW8gb2YgdGhlIGZpbmFs
IHByb2plY3Rpb24gdG8gYmUgMjoxLCBzaW5jZSBzdGVyZW8tcGVyc3A9CmVjdGl2ZSBsZW5zCisj
IHdpbGwgZ2VuZXJhdGUgdGhlIGZpbmFsIGltYWdlIHdpdGggYm90aCBsZWZ0LWV5ZSBhbmQgcmln
aHQtZXllIG9uZXMgam9pbj0KdGVkIHRvZ2V0aGVyLgorY2FtLnJlc29sdXRpb24gPTNEIFsxMDAw
LCA1MDBdCitjYW0ucG9zaXRpb24gPTNEIGRzLmFycihbMC4yLCAwLjUsIDAuNV0sICdjb2RlX2xl
bmd0aCcpCitjYW0uc3dpdGNoX29yaWVudGF0aW9uKG5vcm1hbF92ZWN0b3I9M0Rub3JtYWxfdmVj
dG9yLAorICAgICAgICAgICAgICAgICAgICAgICBub3J0aF92ZWN0b3I9M0Rub3J0aF92ZWN0b3Ip
CitjYW0uc2V0X3dpZHRoKGRzLmRvbWFpbl93aWR0aCowLjUpCisjIFNldCB0aGUgZGlzdGFuY2Ug
YmV0d2VlbiBsZWZ0LWV5ZSBhbmQgcmlnaHQtZXllLgorY2FtLmxlbnMuZGlzcGFyaXR5ID0zRCBk
cy5kb21haW5fd2lkdGhbMF0gKiAxLmUtMworc2MuY2FtZXJhID0zRCBjYW0KK3NjLmFkZF9zb3Vy
Y2Uodm9sKQorc2MucmVuZGVyKCdsZW5zX3N0ZXJlby1wZXJzcGVjdGl2ZS5wbmcnLCBjbGlwX3Jh
dGlvPTNENi4wKQorCisjIEZpc2hleWUgbGVucworZGQgPTNEIGRzLnNwaGVyZShkcy5kb21haW5f
Y2VudGVyLCBkcy5kb21haW5fd2lkdGhbMF0gLyAxMCkKK2NhbSA9M0QgQ2FtZXJhKGRkLCBsZW5z
X3R5cGU9M0QnZmlzaGV5ZScpCitjYW0ucmVzb2x1dGlvbiA9M0QgWzUwMCwgNTAwXQordiwgYyA9
M0QgZHMuZmluZF9tYXgoZmllbGQpCitjYW0uc2V0X3Bvc2l0aW9uKGMgLSAwLjAwMDUgKiBkcy5k
b21haW5fd2lkdGgpCitjYW0uc3dpdGNoX29yaWVudGF0aW9uKG5vcm1hbF92ZWN0b3I9M0Rub3Jt
YWxfdmVjdG9yLAorICAgICAgICAgICAgICAgICAgICAgICBub3J0aF92ZWN0b3I9M0Rub3J0aF92
ZWN0b3IpCitjYW0uc2V0X3dpZHRoKGRzLmRvbWFpbl93aWR0aCkKK2NhbS5sZW5zLmZvdiA9M0Qg
MzYwLjAKK3NjLmNhbWVyYSA9M0QgY2FtCitzYy5hZGRfc291cmNlKHZvbCkKK3NjLnJlbmRlcign
bGVuc19maXNoZXllLnBuZycsIGNsaXBfcmF0aW89M0Q2LjApCisKKyMgU3BoZXJpY2FsIGxlbnMK
K2NhbSA9M0QgQ2FtZXJhKGRzLCBsZW5zX3R5cGU9M0Qnc3BoZXJpY2FsJykKKyMgU2V0IHRoZSBz
aXplIHJhdGlvIG9mIHRoZSBmaW5hbCBwcm9qZWN0aW9uIHRvIGJlIDI6MSwgc2luY2Ugc3BoZXJp
Y2FsIGxlPQpucworIyB3aWxsIGdlbmVyYXRlIHRoZSBmaW5hbCBpbWFnZSB3aXRoIGxlbmd0aCBv
ZiAyKnBpIGFuZCBoZWlnaHQgb2YgcGkuCitjYW0ucmVzb2x1dGlvbiA9M0QgWzEwMDAsIDUwMF0K
KyMgU3RhbmRpbmcgYXQgKHg9M0QwLjQsIHk9M0QwLjUsIHo9M0QwLjUpLCB3ZSBsb29rIGluIGFs
bCB0aGUgcmFkaWFsIGRpcmVjPQp0aW9ucworIyBmcm9tIHRoaXMgcG9pbnQgaW4gc3BoZXJpY2Fs
IGNvb3JkaW5hdGUuCitjYW0ucG9zaXRpb24gPTNEIGRzLmFycihbMC40LCAwLjUsIDAuNV0sICdj
b2RlX2xlbmd0aCcpCitjYW0uc3dpdGNoX29yaWVudGF0aW9uKG5vcm1hbF92ZWN0b3I9M0Rub3Jt
YWxfdmVjdG9yLAorICAgICAgICAgICAgICAgICAgICAgICBub3J0aF92ZWN0b3I9M0Rub3J0aF92
ZWN0b3IpCisjIEluIChzdGVyZW8pc3BoZXJpY2FsIGNhbWVyYSwgd2lkdGhbMF0gc3BlY2lmaWVz
IHRoZSByYWRpdXMgb2YgdGhlIHNwaGVyZT0KICh0aGUKKyMgZGVwdGggb2YgeW91ciBsaW5lIG9m
IHNpZ2h0KSwgd2hpbGUgd2lkdGhbMV0gb3Igd2lkdGhbMl0gYXJlIG5vdCB1c2VkLgorY2FtLnNl
dF93aWR0aChkcy5kb21haW5fd2lkdGggKiAwLjUpCitzYy5jYW1lcmEgPTNEIGNhbQorc2MuYWRk
X3NvdXJjZSh2b2wpCitzYy5yZW5kZXIoJ2xlbnNfc3BoZXJpY2FsLnBuZycsIGNsaXBfcmF0aW89
M0Q2LjApCisKKyMgU3RlcmVvLXNwaGVyaWNhbCBsZW5zCitjYW0gPTNEIENhbWVyYShkcywgbGVu
c190eXBlPTNEJ3N0ZXJlby1zcGhlcmljYWwnKQorIyBTZXQgdGhlIHNpemUgcmF0aW8gb2YgdGhl
IGZpbmFsIHByb2plY3Rpb24gdG8gYmUgNDoxLCBzaW5jZSBzcGhlcmljYWwtcGU9CnJzcGVjdGl2
ZSBsZW5zCisjIHdpbGwgZ2VuZXJhdGUgdGhlIGZpbmFsIGltYWdlIHdpdGggYm90aCBsZWZ0LWV5
ZSBhbmQgcmlnaHQtZXllIG9uZXMgam9pbj0KdGVkIHRvZ2V0aGVyLgorY2FtLnJlc29sdXRpb24g
PTNEIFsyMDAwLCA1MDBdCitjYW0ucG9zaXRpb24gPTNEIGRzLmFycihbMC40LCAwLjUsIDAuNV0s
ICdjb2RlX2xlbmd0aCcpCitjYW0uc3dpdGNoX29yaWVudGF0aW9uKG5vcm1hbF92ZWN0b3I9M0Ru
b3JtYWxfdmVjdG9yLAorICAgICAgICAgICAgICAgICAgICAgICBub3J0aF92ZWN0b3I9M0Rub3J0
aF92ZWN0b3IpCitjYW0uc2V0X3dpZHRoKGRzLmRvbWFpbl93aWR0aCAqIDAuNSkKKyMgU2V0IHRo
ZSBkaXN0YW5jZSBiZXR3ZWVuIGxlZnQtZXllIGFuZCByaWdodC1leWUuCitjYW0ubGVucy5kaXNw
YXJpdHkgPTNEIGRzLmRvbWFpbl93aWR0aFswXSAqIDEuZS0zCitzYy5jYW1lcmEgPTNEIGNhbQor
c2MuYWRkX3NvdXJjZSh2b2wpCitzYy5yZW5kZXIoJ2xlbnNfc3RlcmVvLXNwaGVyaWNhbC5wbmcn
LCBjbGlwX3JhdGlvPTNENi4wKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRpZmYgLXIg
NzA4N2MwMWM3YzBlZjM5ZmU0OWEyNTE1YzQ3NDgyMjRkMzE4ZTk1OSAtciAxMGYwMzQyMzFhNTYy
ZjYzZTI2ZWViMz0KNmY0ZmIxNjU4NjIzOTQ3NTUgZG9jL3NvdXJjZS92aXN1YWxpemluZy92b2x1
bWVfcmVuZGVyaW5nLnJzdAotLS0gYS9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3ZvbHVtZV9yZW5k
ZXJpbmcucnN0CisrKyBiL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvdm9sdW1lX3JlbmRlcmluZy5y
c3QKQEAgLTMxNCw3ICszMTQsNyBAQAogdGhlIGBsZW5zX3R5cGVgIGFyZ3VtZW50IHdpdGggYSBz
dHJpbmcuCj0yMAogQXQgdGhlIHByZXNlbnQgdGltZSwgdGhlcmUgYXJlIGEgZmV3IGNhbWVyYXMg
dGhhdCBjYW4gYmUgdXNlZDoKLWBwbGFuZS1wYXJhbGxlbGAsIGBwZXJzcGVjdGl2ZWAsIGBmaXNo
ZXllYCwgYW5kIGBzcGhlcmljYWxgLgorYHBsYW5lLXBhcmFsbGVsYCwgYChzdGVyZW8pcGVyc3Bl
Y3RpdmVgLCBgZmlzaGV5ZWAsIGFuZCBgKHN0ZXJlbylzcGhlcmljYWw9CmAuCj0yMAogICogUGxh
bmUgcGFyYWxsZWw6IFRoaXMgbGVucyB0eXBlIGlzIHRoZSBzdGFuZGFyZCB0eXBlIHVzZWQgZm9y
IG9ydGhvZ3JhcGg9CmljCiAgICBwcm9qZWN0aW9ucy4gIEFsbCByYXlzIGVtZXJnZSBwYXJhbGxl
bCB0byBlYWNoIG90aGVyLCBhcnJhbmdlZCBhbG9uZyBhCkBAIC0zMzIsNiArMzMyLDkgQEAKICAg
IDxodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci82MTc4NjMxP2hsPTNE
ZW4+YCwgYnV0IGl0J3MgYQogICAgc2ltcGxlIG1hdHRlciBvZiBydW5uaW5nIGEgc2NyaXB0IG9u
IGFuIGVuY29kZWQgbW92aWUgZmlsZS4pCj0yMAorRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhl
IHVzYWdlIG9mIGRpZmZlcmVudCBsZW5zZXMgYW5kIHRoZWlyIGZlYXR1cmVzLCA9CnNlZSB0aGUK
K2Nvb2tib29rIGV4YW1wbGUgOnJlZjpgY29va2Jvb2stdmFyaW91c19sZW5zYC4KKwogVm9sdW1l
IFJlbmRlcmluZyBNZXRob2QKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj0yMAoKZGlmZiAtciA3
MDg3YzAxYzdjMGVmMzlmZTQ5YTI1MTVjNDc0ODIyNGQzMThlOTU5IC1yIDEwZjAzNDIzMWE1NjJm
NjNlMjZlZWIzPQo2ZjRmYjE2NTg2MjM5NDc1NSB5dC92aXN1YWxpemF0aW9uL3Rlc3RzL3Rlc3Rf
cGxvdHdpbmRvdy5weQotLS0gYS95dC92aXN1YWxpemF0aW9uL3Rlc3RzL3Rlc3RfcGxvdHdpbmRv
dy5weQorKysgYi95dC92aXN1YWxpemF0aW9uL3Rlc3RzL3Rlc3RfcGxvdHdpbmRvdy5weQpAQCAt
MjcsNiArMjcsNyBAQAogZnJvbSB5dC52aXN1YWxpemF0aW9uLmFwaSBpbXBvcnQgXAogICAgIFNs
aWNlUGxvdCwgUHJvamVjdGlvblBsb3QsIE9mZkF4aXNTbGljZVBsb3QsIE9mZkF4aXNQcm9qZWN0
aW9uUGxvdAogZnJvbSB5dC51bml0cy55dF9hcnJheSBpbXBvcnQgWVRBcnJheSwgWVRRdWFudGl0
eQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QKPTIwCiBkZWYgc2V0dXAoKToK
ICAgICAiIiJUZXN0IHNwZWNpZmljIHNldHVwLiIiIgpAQCAtNjYsNiArNjcsOSBAQAogTTcgPTNE
ICJERDAwMTAvbW92aW5nN18wMDEwIgogV1QgPTNEICJXaW5kVHVubmVsL3dpbmR0dW5uZWxfNGxl
dl9oZGY1X3BsdF9jbnRfMDAzMCIKPTIwCitGUFJPUFMgPTNEIHsnZmFtaWx5JzogJ3NhbnMtc2Vy
aWYnLCAnc3R5bGUnOiAnaXRhbGljJywKKyAgICAgICAgICAnd2VpZ2h0JzogJ2JvbGQnLCAnc2l6
ZSc6IDI0fQorCiBBVFRSX0FSR1MgPTNEIHsicGFuIjogWygoKDAuMSwgMC4xKSwgKSwge30pXSwK
ICAgICAgICAgICAgICAicGFuX3JlbCI6IFsoKCgwLjEsIDAuMSksICksIHt9KV0sCiAgICAgICAg
ICAgICAgInNldF9heGVzX3VuaXQiOiBbKCgia3BjIiwgKSwge30pLApAQCAtNzcsOCArODEsOCBA
QAogICAgICAgICAgICAgICJzZXRfY2VudGVyIjogWygoKDAuNCwgMC4zKSwgKSwge30pXSwKICAg
ICAgICAgICAgICAic2V0X2NtYXAiOiBbKCgnZGVuc2l0eScsICdSZEJ1JyksIHt9KSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKCgnZGVuc2l0eScsICdrYW1hZScpLCB7fSldLAotICAgICAg
ICAgICAgICJzZXRfZm9udCI6IFsoKHsnZmFtaWx5JzogJ3NhbnMtc2VyaWYnLCAnc3R5bGUnOiAn
aXRhbGljJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dlaWdodCc6ICdib2xkJywg
J3NpemUnOiAyNH0sICksIHt9KV0sCisgICAgICAgICAgICAgInNldF9mb250IjogWygoT3JkZXJl
ZERpY3Qoc29ydGVkKEZQUk9QUy5pdGVtcygpLCBrZXk9M0RsYW1iZD0KYSB0OiB0WzBdKSksICks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICB7fSldLAogICAgICAgICAgICAgICJzZXRfbG9n
IjogWygoJ2RlbnNpdHknLCBGYWxzZSksIHt9KV0sCiAgICAgICAgICAgICAgInNldF93aW5kb3df
c2l6ZSI6IFsoKDcuMCwgKSwge30pXSwKICAgICAgICAgICAgICAic2V0X3psaW0iOiBbKCgnZGVu
c2l0eScsIDFlLTI1LCAxZS0yMyksIHt9KSwKCmRpZmYgLXIgNzA4N2MwMWM3YzBlZjM5ZmU0OWEy
NTE1YzQ3NDgyMjRkMzE4ZTk1OSAtciAxMGYwMzQyMzFhNTYyZjYzZTI2ZWViMz0KNmY0ZmIxNjU4
NjIzOTQ3NTUgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL2xlbnMucHkKLS0tIGEv
eXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL2xlbnMucHkKKysrIGIveXQvdmlzdWFs
aXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL2xlbnMucHkKQEAgLTI2Myw2ICsyNjMsNyBAQAogICAg
IGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc3VwZXIoU3RlcmVvUGVyc3BlY3RpdmVMZW5z
LCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgIHNlbGYuZXhwYW5kX2ZhY3RvciA9M0QgMS41Cisg
ICAgICAgIHNlbGYuZGlzcGFyaXR5ID0zRCBOb25lCj0yMAogICAgIGRlZiBuZXdfaW1hZ2Uoc2Vs
ZiwgY2FtZXJhKToKICAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlID0zRCBJbWFnZUFycmF5KApA
QCAtMjc5LDcgKzI4MCw4IEBACiAgICAgICAgICMgc2VsZi5mcm9udF9jZW50ZXIgKz0zRCBzZWxm
LmV4cGFuZF9mYWN0b3IqZGwKICAgICAgICAgIyBzZWxmLmJhY2tfY2VudGVyIC09M0QgZGwKPTIw
Ci0gICAgICAgIHNlbGYuZGlzcGFyaXR5ID0zRCBjYW1lcmEud2lkdGhbMF0gLyAyLmUzCisgICAg
ICAgIGlmIHNlbGYuZGlzcGFyaXR5IGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmRpc3Bhcml0
eSA9M0QgY2FtZXJhLndpZHRoWzBdIC8gMi5lMwo9MjAKICAgICAgICAgaWYgcmVuZGVyX3NvdXJj
ZS56YnVmZmVyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgaW1hZ2UgPTNEIHJlbmRlcl9zb3Vy
Y2UuemJ1ZmZlci5yZ2JhCkBAIC02MzUsNyArNjM3LDcgQEAKICAgICAgICAgc3VwZXIoU3RlcmVv
U3BoZXJpY2FsTGVucywgc2VsZikuX19pbml0X18oKQogICAgICAgICBzZWxmLnJhZGl1cyA9M0Qg
MS4wCiAgICAgICAgIHNlbGYuY2VudGVyID0zRCBOb25lCi0gICAgICAgIHNlbGYuZGlzcGFyaXR5
ID0zRCAwLgorICAgICAgICBzZWxmLmRpc3Bhcml0eSA9M0QgTm9uZQogICAgICAgICBzZWxmLnJv
dGF0aW9uX21hdHJpeCA9M0QgbnAuZXllKDMpCj0yMAogICAgIGRlZiBzZXR1cF9ib3hfcHJvcGVy
dGllcyhzZWxmLCBjYW1lcmEpOgpAQCAtNjQ0LDcgKzY0Niw4IEBACiAgICAgICAgIHNlbGYuc2V0
X3ZpZXdwb2ludChjYW1lcmEpCj0yMAogICAgIGRlZiBfZ2V0X3NhbXBsZXJfcGFyYW1zKHNlbGYs
IGNhbWVyYSwgcmVuZGVyX3NvdXJjZSk6Ci0gICAgICAgIHNlbGYuZGlzcGFyaXR5ID0zRCBjYW1l
cmEud2lkdGhbMF0gLyAxMDAwLgorICAgICAgICBpZiBzZWxmLmRpc3Bhcml0eSBpcyBOb25lOgor
ICAgICAgICAgICAgc2VsZi5kaXNwYXJpdHkgPTNEIGNhbWVyYS53aWR0aFswXSAvIDEwMDAuCj0y
MAogICAgICAgICBzaW5nbGVfcmVzb2x1dGlvbl94ID0zRCBucC5mbG9vcihjYW1lcmEucmVzb2x1
dGlvblswXSkvMgogICAgICAgICBweCA9M0QgbnAubGluc3BhY2UoLW5wLnBpLCBucC5waSwgc2lu
Z2xlX3Jlc29sdXRpb25feCwgZW5kcG9pbnQ9M0Q9ClRydWUpWzosTm9uZV0KCmRpZmYgLXIgNzA4
N2MwMWM3YzBlZjM5ZmU0OWEyNTE1YzQ3NDgyMjRkMzE4ZTk1OSAtciAxMGYwMzQyMzFhNTYyZjYz
ZTI2ZWViMz0KNmY0ZmIxNjU4NjIzOTQ3NTUgeXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVy
aW5nL3JlbmRlcl9zb3VyY2UucHkKQEAgLTIyOSwxNiArMjI5LDIwIEBACiAgICAgICAgICAgICB0
b3RhbF9jZWxscyArPTNEIG5wLnByb2QoYnJpY2subXlfZGF0YVswXS5zaGFwZSkKICAgICAgICAg
bXlsb2cuZGVidWcoIkRvbmUgY2FzdGluZyByYXlzIikKPTIwCi0gICAgICAgIHNlbGYuY3VycmVu
dF9pbWFnZSA9M0Qgc2VsZi5maW5hbGl6ZV9pbWFnZShjYW1lcmEsIHNlbGYuc2FtcGxlci5haT0K
bWFnZSkKKyAgICAgICAgc2VsZi5jdXJyZW50X2ltYWdlID0zRCBzZWxmLmZpbmFsaXplX2ltYWdl
KGNhbWVyYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLnNhbXBsZXIuYWltYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNhbGxfZnJvbV9WUj0zRFRydWUpCiAgICAgICAgIGlmIHpidWZmZXIg
aXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuemJ1ZmZlciA9M0QgWkJ1ZmZlcihzZWxmLmN1cnJl
bnRfaW1hZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5wLmluZipucC5v
bmVzKHNlbGYuY3VycmVudF9pbWFnZS5zaGFwZT0KWzoyXSkpCiAgICAgICAgIHJldHVybiBzZWxm
LmN1cnJlbnRfaW1hZ2UKPTIwCi0gICAgZGVmIGZpbmFsaXplX2ltYWdlKHNlbGYsIGNhbWVyYSwg
aW1hZ2UpOgorICAgIGRlZiBmaW5hbGl6ZV9pbWFnZShzZWxmLCBjYW1lcmEsIGltYWdlLCBjYWxs
X2Zyb21fVlI9M0RGYWxzZSk6CiAgICAgICAgIGltYWdlID0zRCBzZWxmLnZvbHVtZS5yZWR1Y2Vf
dHJlZV9pbWFnZXMoaW1hZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNhbWVyYS5sZW5zLnZpZXdwb2ludCkKICAgICAgICAgaW1hZ2Uuc2hhcGUgPTNE
IGNhbWVyYS5yZXNvbHV0aW9uWzBdLCBjYW1lcmEucmVzb2x1dGlvblsxXSwgNAorICAgICAgICAj
IElmIHRoZSBjYWxsIGlzIGZyb20gVlIsIHRoZSBpbWFnZSBpcyByb3RhdGVkIGJ5IDE4MCB0byBn
ZXQgY29ycmU9CmN0IHVwIGRpcgorICAgICAgICBpZiBjYWxsX2Zyb21fVlI6IGltYWdlID0zRCBu
cC5yb3Q5MChpbWFnZSwgaz0zRDIpCiAgICAgICAgIGlmIHNlbGYudHJhbnNmZXJfZnVuY3Rpb24u
Z3JleV9vcGFjaXR5IGlzIEZhbHNlOgogICAgICAgICAgICAgaW1hZ2VbOiwgOiwgM10gPTNEIDEu
MAogICAgICAgICByZXR1cm4gaW1hZ2UKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlz
aXMveXQvY29tbWl0cy85YzM2ZWYwYjUwZTkvCkNoYW5nZXNldDogICA5YzM2ZWYwYjUwZTkKQnJh
bmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTI1
IDA2OjE3OjM4KzAwOjAwClN1bW1hcnk6ICAgICBtZXJnaW5nCkFmZmVjdGVkICM6ICAxIGZpbGUK
CmRpZmYgLXIgMTBmMDM0MjMxYTU2MmY2M2UyNmVlYjM2ZjRmYjE2NTg2MjM5NDc1NSAtciA5YzM2
ZWYwYjUwZTk5YjRhZmE5ZDQ2Nj0KNWE2M2Y0OTNmMjNlMmE0MzQgeXQvdmlzdWFsaXphdGlvbi92
b2x1bWVfcmVuZGVyaW5nL2xlbnMucHkKLS0tIGEveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVu
ZGVyaW5nL2xlbnMucHkKKysrIGIveXQvdmlzdWFsaXphdGlvbi92b2x1bWVfcmVuZGVyaW5nL2xl
bnMucHkKQEAgLTIyMiwxMiArMjIyLDExIEBACiAgICAgZGVmIHByb2plY3RfdG9fcGxhbmUoc2Vs
ZiwgY2FtZXJhLCBwb3MsIHJlcz0zRE5vbmUpOgogICAgICAgICBpZiByZXMgaXMgTm9uZToKICAg
ICAgICAgICAgIHJlcyA9M0QgY2FtZXJhLnJlc29sdXRpb24KLSAgICAgICAgc2lnaHRfdmVjdG9y
ID0zRCBwb3MgLSBjYW1lcmEucG9zaXRpb24KKyAgICAgICAgc2lnaHRfdmVjdG9yID0zRCBwb3Mg
LSBjYW1lcmEucG9zaXRpb24uZAogICAgICAgICBwb3MxID0zRCBzaWdodF92ZWN0b3IKICAgICAg
ICAgZm9yIGkgaW4gcmFuZ2UoMCwgc2lnaHRfdmVjdG9yLnNoYXBlWzBdKToKICAgICAgICAgICAg
IHNpZ2h0X3ZlY3Rvcl9ub3JtID0zRCBucC5zcXJ0KG5wLmRvdChzaWdodF92ZWN0b3JbaV0sIHNp
Z2h0X3ZlPQpjdG9yW2ldKSkKICAgICAgICAgICAgIHNpZ2h0X3ZlY3RvcltpXSA9M0Qgc2lnaHRf
dmVjdG9yW2ldIC8gc2lnaHRfdmVjdG9yX25vcm0KLSAgICAgICAgc2lnaHRfdmVjdG9yID0zRCBz
aWdodF92ZWN0b3IuZAogICAgICAgICBzaWdodF9jZW50ZXIgPTNEIGNhbWVyYS5wb3NpdGlvbiAr
IGNhbWVyYS53aWR0aFsyXSAqIGNhbWVyYS51bml0X3Y9CmVjdG9yc1syXQo9MjAKICAgICAgICAg
Zm9yIGkgaW4gcmFuZ2UoMCwgc2lnaHRfdmVjdG9yLnNoYXBlWzBdKToKQEAgLTI0MiwxMiArMjQx
LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnAuc3FydCgxIC0gc2lnaHRf
YW5nbGVfY29zKioyKQogICAgICAgICAgICAgcG9zMVtpXSA9M0QgY2FtZXJhLnBvc2l0aW9uICsg
c2lnaHRfbGVuZ3RoICogc2lnaHRfdmVjdG9yW2ldCj0yMAotICAgICAgICBkeCA9M0QgbnAuZG90
KHBvczEgLSBzaWdodF9jZW50ZXIsIGNhbWVyYS51bml0X3ZlY3RvcnNbMF0pCi0gICAgICAgIGR5
ID0zRCBucC5kb3QocG9zMSAtIHNpZ2h0X2NlbnRlciwgY2FtZXJhLnVuaXRfdmVjdG9yc1sxXSkK
LSAgICAgICAgZHogPTNEIG5wLmRvdChwb3MxIC0gc2lnaHRfY2VudGVyLCBjYW1lcmEudW5pdF92
ZWN0b3JzWzJdKQorICAgICAgICBkeCA9M0QgbnAuZG90KHBvczEgLSBzaWdodF9jZW50ZXIuZCwg
Y2FtZXJhLnVuaXRfdmVjdG9yc1swXSkKKyAgICAgICAgZHkgPTNEIG5wLmRvdChwb3MxIC0gc2ln
aHRfY2VudGVyLmQsIGNhbWVyYS51bml0X3ZlY3RvcnNbMV0pCisgICAgICAgIGR6ID0zRCBucC5k
b3QocG9zMSAtIHNpZ2h0X2NlbnRlci5kLCBjYW1lcmEudW5pdF92ZWN0b3JzWzJdKQogICAgICAg
ICAjIFRyYW5zcG9zZSBpbnRvIGltYWdlIGNvb3Jkcy4KLSAgICAgICAgcHggPTNEIChyZXNbMF0g
KiAwLjUgKyByZXNbMF0gLyBjYW1lcmEud2lkdGhbMF0gKiBkeCkuYXN0eXBlKCdpbnQnKQotICAg
ICAgICBweSA9M0QgKHJlc1sxXSAqIDAuNSArIHJlc1sxXSAvIGNhbWVyYS53aWR0aFsxXSAqIGR5
KS5hc3R5cGUoJ2ludCcpCisgICAgICAgIHB4ID0zRCAocmVzWzBdICogMC41ICsgcmVzWzBdIC8g
Y2FtZXJhLndpZHRoWzBdLmQgKiBkeCkuYXN0eXBlKCdpbj0KdCcpCisgICAgICAgIHB5ID0zRCAo
cmVzWzFdICogMC41ICsgcmVzWzFdIC8gY2FtZXJhLndpZHRoWzFdLmQgKiBkeSkuYXN0eXBlKCdp
bj0KdCcpCiAgICAgICAgIHJldHVybiBweCwgcHksIGR6Cj0yMAogICAgIGRlZiBfX3JlcHJfXyhz
ZWxmKToKQEAgLTM2Myw2ICszNjIsOSBAQAogICAgICAgICBpZiByZXMgaXMgTm9uZToKICAgICAg
ICAgICAgIHJlcyA9M0QgY2FtZXJhLnJlc29sdXRpb24KPTIwCisgICAgICAgIGlmIHNlbGYuZGlz
cGFyaXR5IGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmRpc3Bhcml0eSA9M0QgY2FtZXJhLndp
ZHRoWzBdIC8gMi5lMworCiAgICAgICAgIHB4X2xlZnQsIHB5X2xlZnQsIGR6X2xlZnQgPTNEIHNl
bGYuX2dldF9weF9weV9keihjYW1lcmEsIHBvcywgcmVzLD0KIC1zZWxmLmRpc3Bhcml0eSkKICAg
ICAgICAgcHhfcmlnaHQsIHB5X3JpZ2h0LCBkel9yaWdodCA9M0Qgc2VsZi5fZ2V0X3B4X3B5X2R6
KGNhbWVyYSwgcG9zLCByPQplcywgc2VsZi5kaXNwYXJpdHkpCj0yMApAQCAtMzgwLDIwICszODIs
MTkgQEAKICAgICAgICAgbm9ydGhfdmVjID0zRCBjYW1lcmEudW5pdF92ZWN0b3JzWzFdCiAgICAg
ICAgIG5vcm1hbF92ZWMgPTNEIGNhbWVyYS51bml0X3ZlY3RvcnNbMl0KPTIwCi0gICAgICAgIGFu
Z2xlX2Rpc3Bhcml0eSA9M0QgLSBucC5hcmN0YW4yKGRpc3Bhcml0eSwgY2FtZXJhLndpZHRoWzJd
KQorICAgICAgICBhbmdsZV9kaXNwYXJpdHkgPTNEIC0gbnAuYXJjdGFuMihkaXNwYXJpdHkuZCwg
Y2FtZXJhLndpZHRoWzJdLmQpCiAgICAgICAgIFIgPTNEIGdldF9yb3RhdGlvbl9tYXRyaXgoYW5n
bGVfZGlzcGFyaXR5LCBub3J0aF92ZWMpCj0yMAogICAgICAgICBlYXN0X3ZlY19yb3QgPTNEIG5w
LmRvdChSLCBlYXN0X3ZlYykKICAgICAgICAgbm9ybWFsX3ZlY19yb3QgPTNEIG5wLmRvdChSLCBu
b3JtYWxfdmVjKQo9MjAKICAgICAgICAgY2FtZXJhX3Bvc2l0aW9uX3NoaWZ0ID0zRCBjYW1lcmEu
cG9zaXRpb24gKyBlYXN0X3ZlYyAqIGRpc3Bhcml0eQotICAgICAgICBzaWdodF92ZWN0b3IgPTNE
IHBvcyAtIGNhbWVyYV9wb3NpdGlvbl9zaGlmdAorICAgICAgICBzaWdodF92ZWN0b3IgPTNEIHBv
cyAtIGNhbWVyYV9wb3NpdGlvbl9zaGlmdC5kCiAgICAgICAgIHBvczEgPTNEIHNpZ2h0X3ZlY3Rv
cgo9MjAKICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgc2lnaHRfdmVjdG9yLnNoYXBlWzBdKToK
ICAgICAgICAgICAgIHNpZ2h0X3ZlY3Rvcl9ub3JtID0zRCBucC5zcXJ0KG5wLmRvdChzaWdodF92
ZWN0b3JbaV0sIHNpZ2h0X3ZlPQpjdG9yW2ldKSkKICAgICAgICAgICAgIHNpZ2h0X3ZlY3Rvcltp
XSA9M0Qgc2lnaHRfdmVjdG9yW2ldIC8gc2lnaHRfdmVjdG9yX25vcm0KLSAgICAgICAgc2lnaHRf
dmVjdG9yID0zRCBzaWdodF92ZWN0b3IuZAogICAgICAgICBzaWdodF9jZW50ZXIgPTNEIGNhbWVy
YV9wb3NpdGlvbl9zaGlmdCArIGNhbWVyYS53aWR0aFsyXSAqIG5vcm1hbF89CnZlY19yb3QKPTIw
CiAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIHNpZ2h0X3ZlY3Rvci5zaGFwZVswXSk6CkBAIC00
MDgsMTIgKzQwOSwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5wLnNxcnQo
MSAtIHNpZ2h0X2FuZ2xlX2NvcyoqMikKICAgICAgICAgICAgIHBvczFbaV0gPTNEIGNhbWVyYV9w
b3NpdGlvbl9zaGlmdCArIHNpZ2h0X2xlbmd0aCAqIHNpZ2h0X3ZlY3RvPQpyW2ldCj0yMAotICAg
ICAgICBkeCA9M0QgbnAuZG90KHBvczEgLSBzaWdodF9jZW50ZXIsIGVhc3RfdmVjX3JvdCkKLSAg
ICAgICAgZHkgPTNEIG5wLmRvdChwb3MxIC0gc2lnaHRfY2VudGVyLCBub3J0aF92ZWMpCi0gICAg
ICAgIGR6ID0zRCBucC5kb3QocG9zMSAtIHNpZ2h0X2NlbnRlciwgbm9ybWFsX3ZlY19yb3QpCisg
ICAgICAgIGR4ID0zRCBucC5kb3QocG9zMSAtIHNpZ2h0X2NlbnRlci5kLCBlYXN0X3ZlY19yb3Qp
CisgICAgICAgIGR5ID0zRCBucC5kb3QocG9zMSAtIHNpZ2h0X2NlbnRlci5kLCBub3J0aF92ZWMp
CisgICAgICAgIGR6ID0zRCBucC5kb3QocG9zMSAtIHNpZ2h0X2NlbnRlci5kLCBub3JtYWxfdmVj
X3JvdCkKICAgICAgICAgIyBUcmFuc3Bvc2UgaW50byBpbWFnZSBjb29yZHMuCi0gICAgICAgIHB4
ID0zRCAocmVzMF9oICogMC41ICsgcmVzMF9oIC8gY2FtZXJhLndpZHRoWzBdICogZHgpLmFzdHlw
ZSgnaW50JykKLSAgICAgICAgcHkgPTNEIChyZXNbMV0gKiAwLjUgKyByZXNbMV0gLyBjYW1lcmEu
d2lkdGhbMV0gKiBkeSkuYXN0eXBlKCdpbnQnKQorICAgICAgICBweCA9M0QgKHJlczBfaCAqIDAu
NSArIHJlczBfaCAvIGNhbWVyYS53aWR0aFswXS5kICogZHgpLmFzdHlwZSgnaW49CnQnKQorICAg
ICAgICBweSA9M0QgKHJlc1sxXSAqIDAuNSArIHJlc1sxXSAvIGNhbWVyYS53aWR0aFsxXS5kICog
ZHkpLmFzdHlwZSgnaW49CnQnKQo9MjAKICAgICAgICAgcmV0dXJuIHB4LCBweSwgZHoKPTIwCgoK
aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvNmJhNDA1Mjc0OGFl
LwpDaGFuZ2VzZXQ6ICAgNmJhNDA1Mjc0OGFlCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAg
YXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yNSAxODoxNTowNiswMDowMApTdW1tYXJ5OiAg
ICAgZW5hYmxpbmcgb3RoZXIgbGVucyB0eXBlcyB0byB3b3JrIHdpdGggdW5zdHJ1Y3R1cmVkIG1l
c2hlcwpBZmZlY3RlZCAjOiAgMiBmaWxlcwoKZGlmZiAtciA5YzM2ZWYwYjUwZTk5YjRhZmE5ZDQ2
NjVhNjNmNDkzZjIzZTJhNDM0IC1yIDZiYTQwNTI3NDhhZWE3YmE3NzJhM2UyPQpiM2IzNzFiNzcy
NDdiZTU2NSB5dC91dGlsaXRpZXMvbGliL21lc2hfdHJhdmVyc2FsLnB5eAotLS0gYS95dC91dGls
aXRpZXMvbGliL21lc2hfdHJhdmVyc2FsLnB5eAorKysgYi95dC91dGlsaXRpZXMvbGliL21lc2hf
dHJhdmVyc2FsLnB5eApAQCAtMTExLDEwICsxMTEsMTAgQEAKICAgICAgICAgICAgICAgICB1c2Vk
W2pdID0zRCByYXkucHJpbUlECiAgICAgICAgICAgICAgICAgbWVzaFtqXSA9M0QgcmF5Lmluc3RJ
RAogICAgICAgICAgICAgICAgIHpidWZmZXJbal0gPTNEIHJheS50ZmFyCi0gICAgICAgICAgICBz
ZWxmLmFpbWFnZSA9M0QgZGF0YS5yZXNoYXBlKHNlbGYuaW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2Uu
bnZbMT0KXSkKLSAgICAgICAgICAgIHNlbGYuaW1hZ2VfdXNlZCA9M0QgdXNlZC5yZXNoYXBlKHNl
bGYuaW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2UuPQpudlsxXSkKLSAgICAgICAgICAgIHNlbGYubWVz
aF9saW5lcyA9M0QgbWVzaC5yZXNoYXBlKHNlbGYuaW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2UuPQpu
dlsxXSkKLSAgICAgICAgICAgIHNlbGYuemJ1ZmZlciA9M0QgemJ1ZmZlci5yZXNoYXBlKHNlbGYu
aW1hZ2UubnZbMF0sIHNlbGYuaW1hZ2UuPQpudlsxXSkKKyAgICAgICAgICAgIHNlbGYuYWltYWdl
ID0zRCBkYXRhCisgICAgICAgICAgICBzZWxmLmltYWdlX3VzZWQgPTNEIHVzZWQKKyAgICAgICAg
ICAgIHNlbGYubWVzaF9saW5lcyA9M0QgbWVzaAorICAgICAgICAgICAgc2VsZi56YnVmZmVyID0z
RCB6YnVmZmVyCiAgICAgICAgICAgICBmcmVlKHZfcG9zKQogICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgdl9wb3MgPTNEIDxucC5mbG9hdDY0X3QgKj4gbWFsbG9jKDMgKiBzaXplb2YobnAuZmxv
YXQ2NF90KSkKQEAgLTEzNyw3ICsxMzcsMTIgQEAKICAgICAgICAgICAgICAgICByYXkudGltZSA9
M0QgMAogICAgICAgICAgICAgICAgIHJ0Y3MucnRjSW50ZXJzZWN0KHNjZW5lLnNjZW5lX2ksIHJh
eSkKICAgICAgICAgICAgICAgICBkYXRhW2pdID0zRCByYXkudGltZQotICAgICAgICAgICAgc2Vs
Zi5haW1hZ2UgPTNEIGRhdGEucmVzaGFwZShzZWxmLmltYWdlLm52WzBdLCBzZWxmLmltYWdlLm52
WzE9Cl0pCi0gICAgICAgICAgICBzZWxmLmltYWdlX3VzZWQgPTNEIHVzZWQucmVzaGFwZShzZWxm
LmltYWdlLm52WzBdLCBzZWxmLmltYWdlLj0KbnZbMV0pCisgICAgICAgICAgICAgICAgdXNlZFtq
XSA9M0QgcmF5LnByaW1JRAorICAgICAgICAgICAgICAgIG1lc2hbal0gPTNEIHJheS5pbnN0SUQK
KyAgICAgICAgICAgICAgICB6YnVmZmVyW2pdID0zRCByYXkudGZhcgorICAgICAgICAgICAgc2Vs
Zi5haW1hZ2UgPTNEIGRhdGEKKyAgICAgICAgICAgIHNlbGYuaW1hZ2VfdXNlZCA9M0QgdXNlZAor
ICAgICAgICAgICAgc2VsZi5tZXNoX2xpbmVzID0zRCBtZXNoCisgICAgICAgICAgICBzZWxmLnpi
dWZmZXIgPTNEIHpidWZmZXIKICAgICAgICAgICAgIGZyZWUodl9wb3MpCiAgICAgICAgICAgICBm
cmVlKHZfZGlyKQoKZGlmZiAtciA5YzM2ZWYwYjUwZTk5YjRhZmE5ZDQ2NjVhNjNmNDkzZjIzZTJh
NDM0IC1yIDZiYTQwNTI3NDhhZWE3YmE3NzJhM2UyPQpiM2IzNzFiNzcyNDdiZTU2NSB5dC92aXN1
YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQotLS0gYS95dC92aXN1
YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQorKysgYi95dC92aXN1
YWxpemF0aW9uL3ZvbHVtZV9yZW5kZXJpbmcvcmVuZGVyX3NvdXJjZS5weQpAQCAtMzYzLDEyICsz
NjMsMTYgQEAKICAgICBkZWYgcmVuZGVyKHNlbGYsIGNhbWVyYSwgemJ1ZmZlcj0zRE5vbmUsCiAg
ICAgICAgICAgICAgICBjbWFwPTNEJ2FsZ2FlJywgY29sb3JfYm91bmRzPTNETm9uZSk6Cj0yMAor
ICAgICAgICBzaGFwZSA9M0QgKGNhbWVyYS5yZXNvbHV0aW9uWzBdLCBjYW1lcmEucmVzb2x1dGlv
blsxXSwgNCkKICAgICAgICAgaWYgemJ1ZmZlciBpcyBOb25lOgotICAgICAgICAgICAgZW1wdHkg
PTNEIGNhbWVyYS5sZW5zLm5ld19pbWFnZShjYW1lcmEpCisgICAgICAgICAgICBlbXB0eSA9M0Qg
bnAuZW1wdHkoc2hhcGUsIGR0eXBlPTNEJ2Zsb2F0NjQnKQogICAgICAgICAgICAgeiA9M0QgbnAu
ZW1wdHkoZW1wdHkuc2hhcGVbOjJdLCBkdHlwZT0zRCdmbG9hdDY0JykKICAgICAgICAgICAgIGVt
cHR5WzpdID0zRCAwLjAKICAgICAgICAgICAgIHpbOl0gPTNEIG5wLmluZgogICAgICAgICAgICAg
emJ1ZmZlciA9M0QgWkJ1ZmZlcihlbXB0eSwgeikKKyAgICAgICAgZWxpZiB6YnVmZmVyLnJnYmEu
c2hhcGUgIT0zRCBzaGFwZToKKyAgICAgICAgICAgIHpidWZmZXIgPTNEIFpCdWZmZXIoemJ1ZmZl
ci5yZ2JhLnJlc2hhcGUoc2hhcGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemJ1
ZmZlci56LnJlc2hhcGUoc2hhcGVbOjJdKSkKPTIwCiAgICAgICAgIHNlbGYuc2FtcGxlciA9M0Qg
bmV3X21lc2hfc2FtcGxlcihjYW1lcmEsIHNlbGYpCj0yMApAQCAtMzc2LDkgKzM4MCwxMiBAQAog
ICAgICAgICBzZWxmLnNhbXBsZXIoc2VsZi5zY2VuZSkKICAgICAgICAgbXlsb2cuZGVidWcoIkRv
bmUgY2FzdGluZyByYXlzIikKPTIwCisgICAgICAgIHNlbGYuZmluYWxpemVfaW1hZ2UoY2FtZXJh
LCBzZWxmLnNhbXBsZXIuYWltYWdlKQorCiAgICAgICAgIHNlbGYuZGF0YSA9M0Qgc2VsZi5zYW1w
bGVyLmFpbWFnZQogICAgICAgICBzZWxmLmN1cnJlbnRfaW1hZ2UgPTNEIHNlbGYuYXBwbHlfY29s
b3JtYXAoY21hcD0zRGNtYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29sb3JfYm91bmRzPTNEY29sb3JfYm91bj0KZHMpCisKICAgICAgICAgemJ1
ZmZlciArPTNEIFpCdWZmZXIoc2VsZi5jdXJyZW50X2ltYWdlLmFzdHlwZSgnZmxvYXQ2NCcpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zYW1wbGVyLnpidWZmZXIpCj0yMApAQCAt
Mzg2LDYgKzM5MywxNSBAQAogICAgICAgICBzZWxmLmN1cnJlbnRfaW1hZ2UgPTNEIHNlbGYuemJ1
ZmZlci5yZ2JhLmFzdHlwZSgndWludDgnKQogICAgICAgICByZXR1cm4gc2VsZi5jdXJyZW50X2lt
YWdlCj0yMAorICAgIGRlZiBmaW5hbGl6ZV9pbWFnZShzZWxmLCBjYW1lcmEsIGltYWdlKToKKyAg
ICAgICAgc2FtID0zRCBzZWxmLnNhbXBsZXIKKyAgICAgICAgTnggPTNEIGNhbWVyYS5yZXNvbHV0
aW9uWzBdCisgICAgICAgIE55ID0zRCBjYW1lcmEucmVzb2x1dGlvblsxXQorICAgICAgICBzYW0u
YWltYWdlID0zRCBzYW0uYWltYWdlLnJlc2hhcGUoTngsIE55KQorICAgICAgICBzYW0uaW1hZ2Vf
dXNlZCA9M0Qgc2FtLmltYWdlX3VzZWQucmVzaGFwZShOeCwgTnkpCisgICAgICAgIHNhbS5tZXNo
X2xpbmVzID0zRCBzYW0ubWVzaF9saW5lcy5yZXNoYXBlKE54LCBOeSkKKyAgICAgICAgc2FtLnpi
dWZmZXIgPTNEIHNhbS56YnVmZmVyLnJlc2hhcGUoTngsIE55KQorCiAgICAgZGVmIGFubm90YXRl
X21lc2hfbGluZXMoc2VsZiwgY29sb3I9M0ROb25lLCBhbHBoYT0zRDI1NSk6CiAgICAgICAgIHIi
IiIKPTIwCgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMGI3
ZDkyMTZhYmIxLwpDaGFuZ2VzZXQ6ICAgMGI3ZDkyMTZhYmIxCkJyYW5jaDogICAgICB5dApVc2Vy
OiAgICAgICAgYXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yNSAxOTowNToyNSswMDowMApT
dW1tYXJ5OiAgICAgdW5pdCB0ZXN0cyBmb3IgdGhlIHpidWZmZXIgYWRkIG9wZXJhdGlvbgpBZmZl
Y3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDZiYTQwNTI3NDhhZWE3YmE3NzJhM2UyYjNiMzcxYjc3
MjQ3YmU1NjUgLXIgMGI3ZDkyMTZhYmIxZTIyMmI4MjViYzA9CjQ0ZGNmYjk5MmVlYmMwMWNkIHl0
L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy90ZXN0cy90ZXN0X3pidWZmLnB5Ci0tLSBh
L3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy90ZXN0cy90ZXN0X3pidWZmLnB5Cisr
KyBiL3l0L3Zpc3VhbGl6YXRpb24vdm9sdW1lX3JlbmRlcmluZy90ZXN0cy90ZXN0X3pidWZmLnB5
CkBAIC0xMCwxNSArMTAsMTUgQEAKICMgVGhlIGZ1bGwgbGljZW5zZSBpcyBpbiB0aGUgZmlsZSBD
T1BZSU5HLnR4dCwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3PQphcmUuCiAjLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLT0KLS0tLQo9MjAKLWltcG9ydCB5dAogZnJvbSB5dC50ZXN0aW5nIGltcG9ydCBmYWtl
X3JhbmRvbV9kcwotZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuYXBpIGlt
cG9ydCBTY2VuZSwgQ2FtZXJhLCBaQnVmZmVyLCBcCi0gICAgVm9sdW1lU291cmNlLCBPcGFxdWVT
b3VyY2UsIExpbmVTb3VyY2UsIEJveFNvdXJjZQotZnJvbSB5dC51dGlsaXRpZXMubGliLm1pc2Nf
dXRpbGl0aWVzIGltcG9ydCBsaW5lcwotZnJvbSB5dC5kYXRhX29iamVjdHMuYXBpIGltcG9ydCBJ
bWFnZUFycmF5Citmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5hcGkgaW1w
b3J0IFwKKyAgICBTY2VuZSwgQ2FtZXJhLCBaQnVmZmVyLCBcCisgICAgVm9sdW1lU291cmNlLCBP
cGFxdWVTb3VyY2UKK2Zyb20geXQudGVzdGluZyBpbXBvcnQgYXNzZXJ0X2FsbW9zdF9lcXVhbAog
aW1wb3J0IG51bXB5IGFzIG5wCiBucC5yYW5kb20uc2VlZCgwKQo9MjAKKwogZGVmIHRlc3RfY29t
cG9zaXRlX3ZyKCk6CiAgICAgZHMgPTNEIGZha2VfcmFuZG9tX2RzKDY0KQogICAgIGRkID0zRCBk
cy5zcGhlcmUoZHMuZG9tYWluX2NlbnRlciwgMC40NSpkcy5kb21haW5fd2lkdGhbMF0pCkBAIC01
Myw1ICs1Myw1NSBAQAogICAgIGltLndyaXRlX3BuZygiY29tcG9zaXRlLnBuZyIpCiAgICAgcmV0
dXJuIGltCj0yMAorCitkZWYgdGVzdF9ub25yZWN0YW5ndWxhcl9hZGQoKToKKyAgICByZ2JhMSA9
M0QgbnAub25lcygoNjQsIDEsIDQpKQorICAgIHoxID0zRCBucC5leHBhbmRfZGltcyhucC5hcmFu
Z2UoNjQuKSwgMSkKKworICAgIHJnYmEyID0zRCBucC56ZXJvcygoNjQsIDEsIDQpKQorICAgIHoy
ID0zRCBucC5leHBhbmRfZGltcyhucC5hcmFuZ2UoNjMuLCAtMS4sIC0xLiksIDEpCisKKyAgICBl
eGFjdF9yZ2JhID0zRCBucC5jb25jYXRlbmF0ZSgobnAub25lcygzMiksIG5wLnplcm9zKDMyKSkp
CisgICAgZXhhY3RfcmdiYSA9M0QgbnAuZXhwYW5kX2RpbXMoZXhhY3RfcmdiYSwgMSkKKyAgICBl
eGFjdF9yZ2JhID0zRCBucC5kc3RhY2soKGV4YWN0X3JnYmEsIGV4YWN0X3JnYmEsIGV4YWN0X3Jn
YmEsIGV4YWN0X3JnPQpiYSkpCisKKyAgICBleGFjdF96ID0zRCBucC5jb25jYXRlbmF0ZSgobnAu
YXJhbmdlKDMyLiksIG5wLmFyYW5nZSgzMS4sLTEuLC0xLikpKQorICAgIGV4YWN0X3ogPTNEIG5w
LmV4cGFuZF9kaW1zKGV4YWN0X3osIDEpCisKKyAgICBidWZmMSA9M0QgWkJ1ZmZlcihyZ2JhMSwg
ejEpCisgICAgYnVmZjIgPTNEIFpCdWZmZXIocmdiYTIsIHoyKQorCisgICAgYnVmZiA9M0QgYnVm
ZjEgKyBidWZmMgorCisgICAgYXNzZXJ0X2FsbW9zdF9lcXVhbChidWZmLnJnYmEsIGV4YWN0X3Jn
YmEpCisgICAgYXNzZXJ0X2FsbW9zdF9lcXVhbChidWZmLnosIGV4YWN0X3opCisKKworZGVmIHRl
c3RfcmVjdGFuZ3VsYXJfYWRkKCk6CisgICAgcmdiYTEgPTNEIG5wLm9uZXMoKDgsIDgsIDQpKQor
ICAgIHoxID0zRCBucC5hcmFuZ2UoNjQuKQorICAgIHoxID0zRCB6MS5yZXNoYXBlKCg4LCA4KSkK
KyAgICBidWZmMSA9M0QgWkJ1ZmZlcihyZ2JhMSwgejEpCisKKyAgICByZ2JhMiA9M0QgbnAuemVy
b3MoKDgsIDgsIDQpKQorICAgIHoyID0zRCBucC5hcmFuZ2UoNjMuLCAtMS4sIC0xLikKKyAgICB6
MiA9M0QgejIucmVzaGFwZSgoOCwgOCkpCisgICAgYnVmZjIgPTNEIFpCdWZmZXIocmdiYTIsIHoy
KQorCisgICAgYnVmZiA9M0QgYnVmZjEgKyBidWZmMgorCisgICAgZXhhY3RfcmdiYSA9M0QgbnAu
ZW1wdHkoKDgsIDgsIDQpLCBkdHlwZT0zRG5wLmZsb2F0NjQpCisgICAgZXhhY3RfcmdiYVswOjQs
MDo4LDpdID0zRCAxLjAKKyAgICBleGFjdF9yZ2JhWzQ6OCwwOjgsOl0gPTNEIDAuMAorCisgICAg
ZXhhY3RfeiA9M0QgbnAuY29uY2F0ZW5hdGUoKG5wLmFyYW5nZSgzMi4pLCBucC5hcmFuZ2UoMzEu
LCAtMS4sIC0xLikpKQorICAgIGV4YWN0X3ogPTNEIG5wLmV4cGFuZF9kaW1zKGV4YWN0X3osIDEp
CisgICAgZXhhY3RfeiA9M0QgZXhhY3Rfei5yZXNoYXBlKDgsIDgpCisKKyAgICBhc3NlcnRfYWxt
b3N0X2VxdWFsKGJ1ZmYucmdiYSwgZXhhY3RfcmdiYSkKKyAgICBhc3NlcnRfYWxtb3N0X2VxdWFs
KGJ1ZmYueiwgZXhhY3RfeikKKwogaWYgX19uYW1lX18gPTNEPTNEICJfX21haW5fXyI6CiAgICAg
aW0gPTNEIHRlc3RfY29tcG9zaXRlX3ZyKCkKKyAgICB0ZXN0X25vbnJlY3Rhbmd1bGFyX2FkZCgp
CisgICAgdGVzdF9yZWN0YW5ndWxhcl9hZGQoKQoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy95dF9h
bmFseXNpcy95dC9jb21taXRzL2JiOTA5NjVlYWU5OC8KQ2hhbmdlc2V0OiAgIGJiOTA5NjVlYWU5
OApCcmFuY2g6ICAgICAgeXQKVXNlcjogICAgICAgIGF0bXllcnMKRGF0ZTogICAgICAgIDIwMTUt
MDktMjUgMjE6MTE6NTQrMDA6MDAKU3VtbWFyeTogICAgIGFkZCBzZWN0aW9uIHRvIHRoZSBkb2Nz
IG9uIHVuc3RydWN0dXJlZCBtZXNoIHNsaWNlcwpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1y
IDBiN2Q5MjE2YWJiMWUyMjJiODI1YmMwNDRkY2ZiOTkyZWViYzAxY2QgLXIgYmI5MDk2NWVhZTk4
ZjMxNDVhMWQxNDU9CmUyZmRhZWFjY2M4ZmRiOTY5IGRvYy9zb3VyY2UvdmlzdWFsaXppbmcvcGxv
dHMucnN0Ci0tLSBhL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvcGxvdHMucnN0CisrKyBiL2RvYy9z
b3VyY2UvdmlzdWFsaXppbmcvcGxvdHMucnN0CkBAIC0xODUsNiArMTg1LDc1IEBACiBTZWUgOmNs
YXNzOmB+eXQudmlzdWFsaXphdGlvbi5wbG90X3dpbmRvdy5BeGlzQWxpZ25lZFNsaWNlUGxvdGAg
Zm9yIHRoZT0yMAogZnVsbCBjbGFzcyBkZXNjcmlwdGlvbi4KPTIwCisuLiBfdW5zdHJ1Y3R1cmVk
LW1lc2gtc2xpY2VzOgorCitVbnN0cnVjdHVyZWQgTWVzaCBTbGljZXMKK35+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fgorCitVbnN0cnVjdHVyZWQgTWVzaCBkYXRhc2V0cyBjYW4gYmUgc2xpY2VkIHVz
aW5nIHRoZSBzYW1lIHN5bnRheCBhcyBhYm92ZS4KK0hlcmUgaXMgYW4gZXhhbXBsZSBzY3JpcHQg
dXNpbmcgYSBwdWJsaWNhbGx5IGF2YWlsYWJsZSBNT09TRSBkYXRhc2V0OgorCisuLiBweXRob24t
c2NyaXB0OjoKKworICAgaW1wb3J0IHl0CisgICBkcyA9M0QgeXQubG9hZCgiTU9PU0Vfc2FtcGxl
X2RhdGEvb3V0LmUtczAxMCIpCisgICBzbCA9M0QgeXQuU2xpY2VQbG90KGRzLCAneCcsICgnY29u
bmVjdDEnLCAnZGlmZnVzZWQnKSkKKyAgIHNsLnpvb20oMC43NSkKKyAgIHNsLnNhdmUoKQorCitI
ZXJlLCB3ZSBwbG90IHRoZSAnZGlmZnVzZWQnIHZhcmlhYmxlLCB1c2luZyBhIHNsaWNlIG5vcm1h
bCB0byB0aGUgJ3gnIGRpcj0KZWN0aW9uLD0yMAordGhyb3VnaCB0aGUgbWVzaGVkIGxhYmVsbGVk
IGJ5ICdjb25uZWN0MScuIEJ5IGRlZmF1bHQsIHRoZSBzbGljZSBnb2VzIHRocm89CnVnaCB0aGUK
K2NlbnRlciBvZiB0aGUgZG9tYWluLiBXZSBoYXZlIGFsc28gem9vbWVkIG91dCBhIGJpdCB0byBn
ZXQgYSBiZXR0ZXIgdmlldyBvPQpmIHRoZT0yMAorcmVzdWx0aW5nIHN0cnVjdHVyZS4gVG8gaW5z
dGVhZCBwbG90IHRoZSAnY29udmVjdGVkJyB2YXJpYWJsZSwgdXNpbmcgYSBzbGk9CmNlIG5vcm1h
bAordG8gdGhlICd6JyBkaXJlY3Rpb24gdGhyb3VnaCB0aGUgbWVzaCBsYWJlbGxlZCBieSAnY29u
bmVjdDInLCB3ZSBkbzoKKworLi4gcHl0aG9uLXNjcmlwdDo6CisKKyAgIGltcG9ydCB5dAorICAg
ZHMgPTNEIHl0LmxvYWQoIk1PT1NFX3NhbXBsZV9kYXRhL291dC5lLXMwMTAiKQorICAgc2wgPTNE
IHl0LlNsaWNlUGxvdChkcywgJ3onLCAoJ2Nvbm5lY3QyJywgJ2NvbnZlY3RlZCcpKQorICAgc2wu
em9vbSgwLjc1KQorICAgc2wuc2F2ZSgpCisKK1RoZXNlIHNsaWNlcyBhcmUgbWFkZSBieSBzYW1w
bGluZyB0aGUgZmluaXRlIGVsZW1lbnQgc29sdXRpb24gYXQgdGhlIHBvaW50PQpzIGNvcnJlc3Bv
bmRpbmc9MjAKK3RvIGVhY2ggcGl4ZWwgb2YgdGhlIGltYWdlLiBUaGUgJ2NvbnZlY3RlZCcgYW5k
ICdkaWZmdXNlZCcgdmFyaWFibGVzIGFyZSBuPQpvZGUtY2VudGVyZWQsCitzbyB0aGlzIGludGVy
cG9sYXRpb24gaXMgcGVyZm9ybWVkIGJ5IGNvbnZlcnRpbmcgdGhlIHNhbXBsZSBwb2ludCB0aGUg
cmVmZT0KcmVuY2UgY29vcmRpbmF0ZQorc3lzdGVtIG9mIHRoZSBlbGVtZW50IGFuZCBldmFsdWF0
aW5nIHRoZSBhcHByb3ByaWF0ZSBzaGFwZSBmdW5jdGlvbnMuIFlvdSA9CmNhbiBhbHNvCitwbG90
IGVsZW1lbnQtY2VudGVyZWQgZmllbGRzOgorCisuLiBweXRob24tc2NyaXB0OjoKKworICAgaW1w
b3J0IHl0CisgICBkcyA9M0QgeXQubG9hZCgnTU9PU0Vfc2FtcGxlX2RhdGEvb3V0LmUtczAxMCcp
CisgICBzbCA9M0QgeXQuU2xpY2VQbG90KGRzLCAneScsICgnY29ubmVjdDEnLCAnY29udl9pbmRp
Y2F0b3InKSkKKyAgIHNsLnpvb20oMC43NSkKKworV2UgY2FuIGFsc28gYW5ub3RhdGUgdGhlIG1l
c2ggbGluZXMsIGFzIGZvbGxvd3M6CisKKy4uIHB5dGhvbi1zY3JpcHQ6OgorCisgICBpbXBvcnQg
eXQKKyAgIGRzID0zRCB5dC5sb2FkKCdNT09TRV9zYW1wbGVfZGF0YS9vdXQuZS1zMDEwJykKKyAg
IHNsID0zRCB5dC5TbGljZVBsb3QoZHMsICd6JywgKCdjb25uZWN0MScsICdkaWZmdXNlZCcpKQor
ICAgbWVzaCA9M0QgZHMuaW5kZXgubWVzaGVzWzBdCisgICBzbC5hbm5vdGF0ZV9tZXNoX2xpbmVz
KG1lc2gsIHRocmVzaD0zRDAuMSkKKyAgIHNsLnpvb20oMC43NSkKKworVGhpcyBhbm5vdGF0aW9u
IGlzIHBlcmZvcm1lZCBieSBtYXJraW5nIHRoZSBwaXhlbHMgd2hlcmUgdGhlIG1hcHBlZCBjb29y
ZGk9Cm5hdGUgaXMgY2xvc2UKK3RvIHRoZSBlbGVtZW50IGJvdW5kYXJ5LiBXaGF0IGNvdW50cyBh
cyAnY2xvc2UnIChpbiB0aGUgbWFwcGVkIGNvb3JkaW5hdGUgPQpzeXN0ZW0pIGlzPTIwCitkZXRl
cm1pbmVkIGJ5IHRoZSAidGhyZXNoIiBwYXJhbWV0ZXIsIHdoaWNoIGNhbiBiZSB2YXJpZWQgdG8g
bWFrZSB0aGUgbGluZT0KcyB0aGlja2VyIG9yCit0aGlubmVyLgorCitGaW5hbGx5LCBzbGljZXMg
Y2FuIGFsc28gYmUgdXNlZCB0byBleGFtaW5lIDJEIHVuc3RydWN0dXJlZCBtZXNoIGRhdGFzZXRz
LD0KIGJ1dCB0aGUKK3NsaWNlcyBtdXN0IGJlIHRha2VuIHRvIGJlIG5vcm1hbCB0byB0aGUgJ3on
IGF4aXMsIG9yIHlvdSdsbCBnZXQgYW4gZXJyb3IuPQogSGVyZSBpcworYW4gZXhhbXBsZSB1c2lu
ZyBhbm90aGVyIE1PT1NFIGRhdGFzZXQ6CisKKy4uIHB5dGhvbi1zY3JpcHQ6OgorCisgICBpbXBv
cnQgeXQKKyAgIGRzID0zRCB5dC5sb2FkKCdNT09TRV9zYW1wbGVfZGF0YS9leDEwX2F1eC9vdXQu
ZScpCisgICB5dC5TbGljZVBsb3QoZHMsIDIsICgnY29ubmVjdDEnLCAnbm9kYWxfYXV4JykpCisK
IC4uIF9vZmYtYXhpcy1zbGljZXM6Cj0yMAogT2ZmIEF4aXMgU2xpY2VzCgoKaHR0cHM6Ly9iaXRi
dWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvMDZiYjJjNWUwZGIwLwpDaGFuZ2VzZXQ6
ICAgMDZiYjJjNWUwZGIwCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAgYXRteWVycwpEYXRl
OiAgICAgICAgMjAxNS0wOS0yNSAyMTo0Nzo1MCswMDowMApTdW1tYXJ5OiAgICAgbW9yZSBzdXJm
YWNlIG1lc2ggcmVuZGVyaW5nIGV4YW1wbGVzCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIg
YmI5MDk2NWVhZTk4ZjMxNDVhMWQxNDVlMmZkYWVhY2NjOGZkYjk2OSAtciAwNmJiMmM1ZTBkYjBi
Y2EwYmQxMDJlMT0KNTY2YzM2OGI1YWNkMGRkNmYgZG9jL3NvdXJjZS92aXN1YWxpemluZy91bnN0
cnVjdHVyZWRfbWVzaF9yZW5kZXJpbmcucnN0Ci0tLSBhL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcv
dW5zdHJ1Y3R1cmVkX21lc2hfcmVuZGVyaW5nLnJzdAorKysgYi9kb2Mvc291cmNlL3Zpc3VhbGl6
aW5nL3Vuc3RydWN0dXJlZF9tZXNoX3JlbmRlcmluZy5yc3QKQEAgLTMsNiArMyw5IEBACiBVbnN0
cnVjdHVyZWQgTWVzaCBSZW5kZXJpbmcKID0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNECj0yMAor
SW5zdGFsbGF0aW9uCiteXl5eXl5eXl5eXl4KKwogQmVnaW5uaW5nIHdpdGggdmVyc2lvbiAzLjMs
IHl0IGhhcyB0aGUgYWJpbGl0eSB0byB2b2x1bWUgcmVuZGVyIHVuc3RydWN0dXI9CmVkCiBtZXNo
ZXMgZnJvbSwgZm9yIGV4YW1wbGUsIGZpbml0ZSBlbGVtZW50IGNhbGN1bGF0aW9ucy4gSW4gb3Jk
ZXIgdG8gdXNlIHRoaXMKIGNhcGFiaWxpdHksIGEgZmV3IGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVz
IGFyZSByZXF1aXJlZCBiZXlvbmQgdGhvc2UgeW91IGdldApAQCAtNTcsMTE4ICs2MCwyNjIgQEAK
IHRoZSBkYXRhIGlzIHNhbXBsZWQgYXQgdGhlIGludGVyc2VjdGlvbiBwb2ludCBhdCB0aGUgcmVz
dWx0aW5nIHZhbHVlIGdldHM9MjAKIHNhdmVkIGludG8gYW4gaW1hZ2UuCj0yMAorRXhhbXBsZXMK
K15eXl5eXl5eCisKIFNlZSBiZWxvdyBmb3IgZXhhbXBsZXMuIEZpcnN0LCBoZXJlIGlzIGFuIGV4
YW1wbGUgb2YgcmVuZGVyaW5nIGEgaGV4YWhlZHJhPQpsIG1lc2guCj0yMAogLi4gcHl0aG9uLXNj
cmlwdDo6Cj0yMAogICAgaW1wb3J0IHl0Ci0gICBpbXBvcnQgcHlsYWIgYXMgcGx0CiAgICBmcm9t
IHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5yZW5kZXJfc291cmNlIGltcG9ydCBN
ZXNoU291cmNlCiAgICBmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1l
cmEgaW1wb3J0IENhbWVyYQotICAgZnJvbSB5dC51dGlsaXRpZXMuZXhvZHVzSUlfcmVhZGVyIGlt
cG9ydCBnZXRfZGF0YQorICAgaW1wb3J0IHl0LnV0aWxpdGllcy5wbmdfd3JpdGVyIGFzIHB3Cj0y
MAotICAgIyBsb2FkIHRoZSBkYXRhCi0gICBjb29yZHMsIGNvbm5lY3Rpdml0eSwgZGF0YSA9M0Qg
Z2V0X2RhdGEoIk1PT1NFX3NhbXBsZV9kYXRhL291dC5lLXMwMTAiKQotICAgbWVzaF9pZCA9M0Qg
MAotICAgZmllbGRfbmFtZSA9M0QgKCdnYXMnLCAnZGlmZnVzZWQnKQotICAgZHMgPTNEIHl0Lmxv
YWRfdW5zdHJ1Y3R1cmVkX21lc2goZGF0YVttZXNoX2lkXSwgY29ubmVjdGl2aXR5W21lc2hfaWRd
LCA9CmNvb3Jkc1ttZXNoX2lkXSkKKyAgIGRzID0zRCB5dC5sb2FkKCJNT09TRV9zYW1wbGVfZGF0
YS9vdXQuZS1zMDEwIikKPTIwCi0gICAjIGNyZWF0ZSB0aGUgUmVuZGVyU291cmNlCi0gICBtcyA9
M0QgTWVzaFNvdXJjZShkcywgZmllbGRfbmFtZSkKKyAgIG1zID0zRCBNZXNoU291cmNlKGRzLCAo
J2Nvbm5lY3QxJywgJ2RpZmZ1c2VkJykpCj0yMAotICAgIyBzZXQgdXAgY2FtZXJhCisgICAjIHNl
dHVwIHRoZSBjYW1lcmEKICAgIGNhbSA9M0QgQ2FtZXJhKGRzKQotICAgY2FtZXJhX3Bvc2l0aW9u
ID0zRCBkcy5hcnIoWy0zLjAsIDMuMCwgLTMuMF0sICdjb2RlX2xlbmd0aCcpCi0gICBub3J0aF92
ZWN0b3IgPTNEIGRzLmFycihbMC4wLCAxLjAsIDAuMF0sICdkaW1lbnNpb25sZXNzJykKLSAgIGNh
bS5yZXNvbHV0aW9uID0zRCAoODAwLCA4MDApCi0gICBjYW0uc2V0X3Bvc2l0aW9uKGNhbWVyYV9w
b3NpdGlvbiwgbm9ydGhfdmVjdG9yKQorICAgY2FtLmZvY3VzID0zRCBkcy5hcnIoWzAuMCwgMC4w
LCAwLjBdLCAnY29kZV9sZW5ndGgnKSAgIyBwb2ludCB3ZSdyZSBsb289CmtpbmcgYXQKPTIwCi0g
ICAjIG1ha2UgdGhlIGltYWdlCi0gICBpbSA9M0QgbXMucmVuZGVyKGNhbSkKKyAgIGNhbV9wb3Mg
PTNEIGRzLmFycihbLTMuMCwgMy4wLCAtMy4wXSwgJ2NvZGVfbGVuZ3RoJykgICMgdGhlIGNhbWVy
YSBsb2NhPQp0aW9uCisgICBub3J0aF92ZWN0b3IgPTNEIGRzLmFycihbMC4wLCAtMS4wLCAwLjBd
LCAnZGltZW5zaW9ubGVzcycpICAjIGRvd24gaXMgdD0KaGUgbmV3IHVwCisgICBjYW0uc2V0X3Bv
c2l0aW9uKGNhbV9wb3MsIG5vcnRoX3ZlY3RvcikKPTIwCi0gICAjIHBsb3QgYW5kIHNhdmUKLSAg
IHBsdC5pbXNob3coaW0sIGNtYXA9M0QnRW9zIEEnLCBvcmlnaW49M0QnbG93ZXInLCB2bWluPTNE
MCwgdm1heD0zRDIuMCkKLSAgIHBsdC5nY2EoKS5heGVzLmdldF94YXhpcygpLnNldF92aXNpYmxl
KEZhbHNlKQotICAgcGx0LmdjYSgpLmF4ZXMuZ2V0X3lheGlzKCkuc2V0X3Zpc2libGUoRmFsc2Up
Ci0gICBjYiA9M0QgcGx0LmNvbG9yYmFyKCkKLSAgIGNiLnNldF9sYWJlbChmaWVsZF9uYW1lWzFd
KQotICAgcGx0LnNhdmVmaWcoJ2hleF9tZXNoX3JlbmRlci5wbmcnKQorICAgaW0gPTNEIG1zLnJl
bmRlcihjYW0sIGNtYXA9M0QnRW9zIEEnLCBjb2xvcl9ib3VuZHM9M0QoMC4wLCAyLjApKQorICAg
cHcud3JpdGVfcG5nKGltLCAnaGV4X21lc2hfcmVuZGVyLnBuZycpCj0yMAotTmV4dCwgaGVyZSBp
cyBhbiBleGFtcGxlIG9mIHJlbmRlcmluZyBhIGRhdGFzZXQgd2l0aCB0ZXRyYWhlZHJhbCBtZXNo
IGVsZW09CmVudHMuCitZb3UgY2FuIGFsc28gb3ZlcnBsb3QgdGhlIG1lc2ggYm91bmRhcmllczoK
PTIwCiAuLiBweXRob24tc2NyaXB0OjoKPTIwCiAgICBpbXBvcnQgeXQKLSAgIGltcG9ydCBweWxh
YiBhcyBwbHQKICAgIGZyb20geXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLnJlbmRl
cl9zb3VyY2UgaW1wb3J0IE1lc2hTb3VyY2UKICAgIGZyb20geXQudmlzdWFsaXphdGlvbi52b2x1
bWVfcmVuZGVyaW5nLmNhbWVyYSBpbXBvcnQgQ2FtZXJhCi0gICBmcm9tIHl0LnV0aWxpdGllcy5l
eG9kdXNJSV9yZWFkZXIgaW1wb3J0IGdldF9kYXRhCisgICBpbXBvcnQgeXQudXRpbGl0aWVzLnBu
Z193cml0ZXIgYXMgcHcKPTIwCi0gICAjIGxvYWQgdGhlIGRhdGEKKyAgIGRzID0zRCB5dC5sb2Fk
KCJNT09TRV9zYW1wbGVfZGF0YS9vdXQuZS1zMDEwIikKKworICAgbXMgPTNEIE1lc2hTb3VyY2Uo
ZHMsICgnY29ubmVjdDEnLCAnZGlmZnVzZWQnKSkKKworICAgIyBzZXR1cCB0aGUgY2FtZXJhCisg
ICBjYW0gPTNEIENhbWVyYShkcykKKyAgIGNhbS5mb2N1cyA9M0QgZHMuYXJyKFswLjAsIDAuMCwg
MC4wXSwgJ2NvZGVfbGVuZ3RoJykgICMgcG9pbnQgd2UncmUgbG9vPQpraW5nIGF0CisKKyAgIGNh
bV9wb3MgPTNEIGRzLmFycihbLTMuMCwgMy4wLCAtMy4wXSwgJ2NvZGVfbGVuZ3RoJykgICMgdGhl
IGNhbWVyYSBsb2NhPQp0aW9uCisgICBub3J0aF92ZWN0b3IgPTNEIGRzLmFycihbMC4wLCAtMS4w
LCAwLjBdLCAnZGltZW5zaW9ubGVzcycpICAjIGRvd24gaXMgdD0KaGUgbmV3IHVwCisgICBjYW0u
c2V0X3Bvc2l0aW9uKGNhbV9wb3MsIG5vcnRoX3ZlY3RvcikKKyAgIGNhbS5yZXNvbHV0aW9uID0z
RCAoODAwLCA4MDApCisKKyAgIG1zLnJlbmRlcihjYW0sIGNtYXA9M0QnRW9zIEEnLCBjb2xvcl9i
b3VuZHM9M0QoMC4wLCAyLjApKQorICAgaW0gPTNEIG1zLmFubm90YXRlX21lc2hfbGluZXMoKQor
ICAgcHcud3JpdGVfcG5nKGltLCAnaGV4X3JlbmRlcl93aXRoX21lc2gucG5nJykKKworQXMgd2l0
aCBzbGljZXMsIHlvdSBjYW4gdmlzdWFsaXplIGRpZmZlcmVudCBtZXNoZXMgYW5kIGRpZmZlcmVu
dCBmaWVsZHMuIEY9Cm9yIGV4YW1wbGUsCitIZXJlIGlzIGEgc2NyaXB0IHNpbWlsYXIgdG8gdGhl
IGFib3ZlIHRoYXQgcGxvdHMgdGhlICJkaWZmdXNlZCIgdmFyaWFibGU9MjAKK3VzaW5nIHRoZSBt
ZXNoIGxhYmVsbGVkIGJ5ICJjb25uZWN0MiI6CisKKyAgIGltcG9ydCB5dAorICAgZnJvbSB5dC52
aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNv
dXJjZQorICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhIGlt
cG9ydCBDYW1lcmEKKyAgIGltcG9ydCB5dC51dGlsaXRpZXMucG5nX3dyaXRlciBhcyBwdworCisg
ICBkcyA9M0QgeXQubG9hZCgiTU9PU0Vfc2FtcGxlX2RhdGEvb3V0LmUtczAxMCIpCisKKyAgIG1z
ID0zRCBNZXNoU291cmNlKGRzLCAoJ2Nvbm5lY3QyJywgJ2RpZmZ1c2VkJykpCisKKyAgICMgc2V0
dXAgdGhlIGNhbWVyYQorICAgY2FtID0zRCBDYW1lcmEoZHMpCisgICBjYW0uZm9jdXMgPTNEIGRz
LmFycihbMC4wLCAwLjAsIDAuMF0sICdjb2RlX2xlbmd0aCcpICAjIHBvaW50IHdlJ3JlIGxvbz0K
a2luZyBhdAorCisgICBjYW1fcG9zID0zRCBkcy5hcnIoWy0zLjAsIDMuMCwgLTMuMF0sICdjb2Rl
X2xlbmd0aCcpICAjIHRoZSBjYW1lcmEgbG9jYT0KdGlvbgorICAgbm9ydGhfdmVjdG9yID0zRCBk
cy5hcnIoWzAuMCwgLTEuMCwgMC4wXSwgJ2RpbWVuc2lvbmxlc3MnKSAgIyBkb3duIGlzIHQ9Cmhl
IG5ldyB1cAorICAgY2FtLnNldF9wb3NpdGlvbihjYW1fcG9zLCBub3J0aF92ZWN0b3IpCisKKyAg
IGltID0zRCBtcy5yZW5kZXIoY2FtLCBjbWFwPTNEJ0VvcyBBJywgY29sb3JfYm91bmRzPTNEKDAu
MCwgMi4wKSkKKyAgIHB3LndyaXRlX3BuZyhpbSwgJ2hleF9tZXNoX3JlbmRlci5wbmcnKQorCitZ
b3UgY2FuIGFsc28gb3ZlcnBsb3QgdGhlIG1lc2ggYm91bmRhcmllczoKKworLi4gcHl0aG9uLXNj
cmlwdDo6CisKKyAgIGltcG9ydCB5dAorICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9y
ZW5kZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNvdXJjZQorICAgZnJvbSB5dC52aXN1
YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuY2FtZXJhIGltcG9ydCBDYW1lcmEKKyAgIGltcG9y
dCB5dC51dGlsaXRpZXMucG5nX3dyaXRlciBhcyBwdworCisgICBkcyA9M0QgeXQubG9hZCgiTU9P
U0Vfc2FtcGxlX2RhdGEvb3V0LmUtczAxMCIpCisKKyAgIG1zID0zRCBNZXNoU291cmNlKGRzLCAo
J2Nvbm5lY3QxJywgJ2RpZmZ1c2VkJykpCisKKyAgICMgc2V0dXAgdGhlIGNhbWVyYQorICAgY2Ft
ID0zRCBDYW1lcmEoZHMpCisgICBjYW0uZm9jdXMgPTNEIGRzLmFycihbMC4wLCAwLjAsIDAuMF0s
ICdjb2RlX2xlbmd0aCcpICAjIHBvaW50IHdlJ3JlIGxvbz0Ka2luZyBhdAorCisgICBjYW1fcG9z
ID0zRCBkcy5hcnIoWy0zLjAsIDMuMCwgLTMuMF0sICdjb2RlX2xlbmd0aCcpICAjIHRoZSBjYW1l
cmEgbG9jYT0KdGlvbgorICAgbm9ydGhfdmVjdG9yID0zRCBkcy5hcnIoWzAuMCwgLTEuMCwgMC4w
XSwgJ2RpbWVuc2lvbmxlc3MnKSAgIyBkb3duIGlzIHQ9CmhlIG5ldyB1cAorICAgY2FtLnNldF9w
b3NpdGlvbihjYW1fcG9zLCBub3J0aF92ZWN0b3IpCisgICBjYW0ucmVzb2x1dGlvbiA9M0QgKDgw
MCwgODAwKQorCisgICBtcy5yZW5kZXIoY2FtLCBjbWFwPTNEJ0VvcyBBJywgY29sb3JfYm91bmRz
PTNEKDAuMCwgMi4wKSkKKyAgIGltID0zRCBtcy5hbm5vdGF0ZV9tZXNoX2xpbmVzKCkKKyAgIHB3
LndyaXRlX3BuZyhpbSwgJ2hleF9yZW5kZXJfd2l0aF9tZXNoLnBuZycpCisKK05leHQsIGhlcmUg
aXMgYW4gZXhhbXBsZSBvZiByZW5kZXJpbmcgYSBkYXRhc2V0IHdpdGggdGV0cmFoZWRyYWwgbWVz
aCBlbGVtPQplbnRzLgorTm90ZSB0aGF0IGluIHRoaXMgZGF0YXNldCwgdGhlcmUgYXJlIG11bHRp
cGxlICJzdGVwcyIgcGVyIGZpbGUsIHNvIHdlIHNwZWM9CmlmeQordGhhdCB3ZSB3YW50IHRvIGxv
b2sgYXQgdGhlIGxhc3Qgb25lLgorCisuLiBweXRob24tc2NyaXB0OjoKKworICAgaW1wb3J0IHl0
CisgICBmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5yZW5kZXJfc291cmNl
IGltcG9ydCBNZXNoU291cmNlCisgICBmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRl
cmluZy5jYW1lcmEgaW1wb3J0IENhbWVyYQorICAgaW1wb3J0IHl0LnV0aWxpdGllcy5wbmdfd3Jp
dGVyIGFzIHB3CisKICAgIGZpbGVuYW1lID0zRCAiTU9PU0Vfc2FtcGxlX2RhdGEvaGlnaF9vcmRl
cl9lbGVtc190ZXQ0X3JlZmluZV9vdXQuZSIKLSAgIGNvb3JkcywgY29ubmVjdGl2aXR5LCBkYXRh
ID0zRCBnZXRfZGF0YShmaWxlbmFtZSkKLSAgIG1lc2hfaWQgPTNEIDAKLSAgIGZpZWxkX25hbWUg
PTNEICgnZ2FzJywgJ3UnKQotICAgZHMgPTNEIHl0LmxvYWRfdW5zdHJ1Y3R1cmVkX21lc2goZGF0
YVttZXNoX2lkXSwgY29ubmVjdGl2aXR5W21lc2hfaWRdLCA9CmNvb3Jkc1ttZXNoX2lkXSkKKyAg
IGRzID0zRCB5dC5sb2FkKGZpbGVuYW1lLCBzdGVwPTNELTEpICAjIHdlIGxvb2sgYXQgdGhlIGxh
c3QgdGltZSBmcmFtZQo9MjAKLSAgICMgY3JlYXRlIHRoZSBSZW5kZXJTb3VyY2UKLSAgIG1zID0z
RCBNZXNoU291cmNlKGRzLCBmaWVsZF9uYW1lKQorICAgbXMgPTNEIE1lc2hTb3VyY2UoZHMsICgn
Y29ubmVjdDEnLCAndScpKQo9MjAKLSAgICMgc2V0IHVwIGNhbWVyYQorICAgIyBzZXR1cCB0aGUg
Y2FtZXJhPTIwCiAgICBjYW0gPTNEIENhbWVyYShkcykKICAgIGNhbWVyYV9wb3NpdGlvbiA9M0Qg
ZHMuYXJyKFszLjAsIDMuMCwgMy4wXSwgJ2NvZGVfbGVuZ3RoJykKICAgIGNhbS5zZXRfd2lkdGgo
ZHMuYXJyKFsyLjAsIDIuMCwgMi4wXSwgJ2NvZGVfbGVuZ3RoJykpCiAgICBub3J0aF92ZWN0b3Ig
PTNEIGRzLmFycihbMC4wLCAxLjAsIDAuMF0sICdkaW1lbnNpb25sZXNzJykKLSAgIGNhbS5yZXNv
bHV0aW9uID0zRCAoODAwLCA4MDApCiAgICBjYW0uc2V0X3Bvc2l0aW9uKGNhbWVyYV9wb3NpdGlv
biwgbm9ydGhfdmVjdG9yKQo9MjAKLSAgICMgbWFrZSB0aGUgaW1hZ2UKLSAgIGltID0zRCBtcy5y
ZW5kZXIoY2FtKQorICAgaW0gPTNEIG1zLnJlbmRlcihjYW0sIGNtYXA9M0QnRW9zIEEnLCBjb2xv
cl9ib3VuZHM9M0QoMC4wLCAxLjApKQorICAgcHcud3JpdGVfcG5nKGltLCAndGV0cmFfcmVuZGVy
LnBuZycpCj0yMAotICAgIyBwbG90IGFuZCBzYXZlCi0gICBwbHQuaW1zaG93KGltLCBjbWFwPTNE
J0VvcyBBJywgb3JpZ2luPTNEJ2xvd2VyJywgdm1pbj0zRDAuMCwgdm1heD0zRDEuMCkKLSAgIHBs
dC5nY2EoKS5heGVzLmdldF94YXhpcygpLnNldF92aXNpYmxlKEZhbHNlKQotICAgcGx0LmdjYSgp
LmF4ZXMuZ2V0X3lheGlzKCkuc2V0X3Zpc2libGUoRmFsc2UpCi0gICBjYiA9M0QgcGx0LmNvbG9y
YmFyKCkKLSAgIGNiLnNldF9sYWJlbChmaWVsZF9uYW1lWzFdKQotICAgcGx0LnNhdmVmaWcoJ3Rl
dF9tZXNoX3JlbmRlci5wbmcnKQorQXMgd2l0aCBvdGhlciB2b2x1bWUgcmVuZGVyaW5ncyBpbiB5
dCwgeW91IGNhbiBzd2FwIG91dCBkaWZmZXJlbnQgbGVuc2VzLiA9CkhlcmUgaXM9MjAKK2FuIGV4
YW1wbGUgdGhhdCB1c2VzIGEgInBlcnBlY3RpdmUiIGxlbnMsIGZvciB3aGljaCB0aGUgcmF5cyBk
aXZlcmdlIGZyb20gPQp0aGU9MjAKK2NhbWVyYSBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gc29tZSBv
cGVuaW5nIGFuZ2xlOgo9MjAKLUZpbmFsbHksIGhlcmUgaXMgYSBzY3JpcHQgdGhhdCBjcmVhdGVz
IGZyYW1lcyBvZiBhIG1vdmllLiBJdCBjYWxscyB0aGUgcm90PQphdGUoKQotbWV0aG9kIDMwMCB0
aW1lcywgc2F2aW5nIGEgbmV3IGltYWdlIHRvIHRoZSBkaXNrIGVhY2ggdGltZS4KKy4uIHB5dGhv
bi1zY3JpcHQ6OgorCisgICBpbXBvcnQgeXQKKyAgIGZyb20geXQudmlzdWFsaXphdGlvbi52b2x1
bWVfcmVuZGVyaW5nLnJlbmRlcl9zb3VyY2UgaW1wb3J0IE1lc2hTb3VyY2UKKyAgIGZyb20geXQu
dmlzdWFsaXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYSBpbXBvcnQgQ2FtZXJhCisgICBp
bXBvcnQgeXQudXRpbGl0aWVzLnBuZ193cml0ZXIgYXMgcHcKKworICAgZHMgPTNEIHl0LmxvYWQo
Ik1PT1NFX3NhbXBsZV9kYXRhL291dC5lLXMwMTAiKQorCisgICBtcyA9M0QgTWVzaFNvdXJjZShk
cywgKCdjb25uZWN0MicsICdkaWZmdXNlZCcpKQorCisgICAjIHNldHVwIHRoZSBjYW1lcmEKKyAg
IGNhbSA9M0QgQ2FtZXJhKGRzLCBsZW5zX3R5cGU9M0QncGVyc3BlY3RpdmUnKQorICAgY2FtLmZv
Y3VzID0zRCBkcy5hcnIoWzAuMCwgMC4wLCAwLjBdLCAnY29kZV9sZW5ndGgnKSAgIyBwb2ludCB3
ZSdyZSBsb289CmtpbmcgYXQKKworICAgY2FtX3BvcyA9M0QgZHMuYXJyKFstMy4wLCAzLjAsIC0z
LjBdLCAnY29kZV9sZW5ndGgnKSAgIyB0aGUgY2FtZXJhIGxvY2E9CnRpb24KKyAgIG5vcnRoX3Zl
Y3RvciA9M0QgZHMuYXJyKFswLjAsIC0xLjAsIDAuMF0sICdkaW1lbnNpb25sZXNzJykgICMgZG93
biBpcyB0PQpoZSBuZXcgdXAKKyAgIGNhbS5zZXRfcG9zaXRpb24oY2FtX3Bvcywgbm9ydGhfdmVj
dG9yKQorCisgICBpbSA9M0QgbXMucmVuZGVyKGNhbSwgY21hcD0zRCdFb3MgQScsIGNvbG9yX2Jv
dW5kcz0zRCgwLjAsIDIuMCkpCisgICBpbSA9M0QgbXMuYW5ub3RhdGVfbWVzaF9saW5lcygpCisg
ICBwdy53cml0ZV9wbmcoaW0sICdoZXhfbWVzaF9yZW5kZXJfcGVyc3BlY3RpdmUucG5nJykKKwor
CitNYWtpbmcgTW92aWVzCiteXl5eXl5eXl5eXl5eCisKK0hlcmUgYXJlIGEgY291cGxlIG9mIGV4
YW1wbGVzIHNjcmlwdHMgdGhhdCBzaG93IGhvdyB0byBjcmVhdGUgaW1hZ2UgZnJhbWVzPQogdGhh
dD0yMAorY2FuIGxhdGVyIGJlIHN0aWNoZWQgdG9nZXRoZXIgaW50byBhIG1vdmllLiBJbiB0aGUg
Zmlyc3QgZXhhbXBsZSwgd2UgbG9vayA9CmF0IGE9MjAKK3NpbmdsZSBkYXRhc2V0IGF0IGEgZml4
ZWQgdGltZSwgYnV0IHdlIG1vdmUgdGhlIGNhbWVyYSBhcm91bmQgdG8gZ2V0IGEgZGlmPQpmZXJl
bnQKK3ZhbnRhZ2UgcG9pbnQuIFdlIGNhbGwgdGhlIHJvdGF0ZSgpIG1ldGhvZCAzMDAgdGltZXMs
IHNhdmluZyBhIG5ldyBpbWFnZSB0PQpvIHRoZT0yMAorZGlzayBlYWNoIHRpbWUuCj0yMAogLi4g
Y29kZS1ibG9jazo6IHB5dGhvbgo9MjAKICAgIGltcG9ydCB5dAotICAgaW1wb3J0IHB5bGFiIGFz
IHBsdAogICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3Nv
dXJjZSBpbXBvcnQgTWVzaFNvdXJjZQogICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9y
ZW5kZXJpbmcuY2FtZXJhIGltcG9ydCBDYW1lcmEKLSAgIGZyb20geXQudXRpbGl0aWVzLmV4b2R1
c0lJX3JlYWRlciBpbXBvcnQgZ2V0X2RhdGEKKyAgIGltcG9ydCB5dC51dGlsaXRpZXMucG5nX3dy
aXRlciBhcyBwdwo9MjAKLSAgICMgbG9hZCBkYXRhc2V0Ci0gICBjb29yZHMsIGNvbm5lY3Rpdml0
eSwgZGF0YSA9M0QgZ2V0X2RhdGEoIk1PT1NFX3NhbXBsZV9kYXRhL291dC5lLXMwMTAiKQotICAg
bWVzaF9pZCA9M0QgMAotICAgZmllbGRfbmFtZSA9M0QgKCdnYXMnLCAnZGlmZnVzZWQnKQotICAg
ZHMgPTNEIHl0LmxvYWRfdW5zdHJ1Y3R1cmVkX21lc2goZGF0YVttZXNoX2lkXSwgY29ubmVjdGl2
aXR5W21lc2hfaWRdLCA9CmNvb3Jkc1ttZXNoX2lkXSkKKyAgIGRzID0zRCB5dC5sb2FkKCJNT09T
RV9zYW1wbGVfZGF0YS9vdXQuZS1zMDEwIikKPTIwCi0gICAjIGNyZWF0ZSB0aGUgUmVuZGVyU291
cmNlCi0gICBtcyA9M0QgTWVzaFNvdXJjZShkcywgZmllbGRfbmFtZSkKKyAgIG1zID0zRCBNZXNo
U291cmNlKGRzLCAoJ2Nvbm5lY3QxJywgJ2RpZmZ1c2VkJykpCj0yMAotICAgIyBzZXQgdXAgY2Ft
ZXJhCisgICAjIHNldHVwIHRoZSBjYW1lcmEKICAgIGNhbSA9M0QgQ2FtZXJhKGRzKQotICAgY2Ft
ZXJhX3Bvc2l0aW9uID0zRCBkcy5hcnIoWy0zLjAsIDMuMCwgLTMuMF0sICdjb2RlX2xlbmd0aCcp
Ci0gICBub3J0aF92ZWN0b3IgPTNEIGRzLmFycihbMC4wLCAxLjAsIDAuMF0sICdkaW1lbnNpb25s
ZXNzJykKLSAgIGNhbS5zZXRfcG9zaXRpb24oY2FtZXJhX3Bvc2l0aW9uLCBub3J0aF92ZWN0b3Ip
CisgICBjYW0uZm9jdXMgPTNEIGRzLmFycihbMC4wLCAwLjAsIDAuMF0sICdjb2RlX2xlbmd0aCcp
ICAjIHBvaW50IHdlJ3JlIGxvbz0Ka2luZyBhdAorCisgICBjYW1fcG9zID0zRCBkcy5hcnIoWy0z
LjAsIDMuMCwgLTMuMF0sICdjb2RlX2xlbmd0aCcpICAjIHRoZSBjYW1lcmEgbG9jYT0KdGlvbgor
ICAgbm9ydGhfdmVjdG9yID0zRCBkcy5hcnIoWzAuMCwgLTEuMCwgMC4wXSwgJ2RpbWVuc2lvbmxl
c3MnKSAgIyBkb3duIGlzIHQ9CmhlIG5ldyB1cAorICAgY2FtLnNldF9wb3NpdGlvbihjYW1fcG9z
LCBub3J0aF92ZWN0b3IpCisgICBjYW0ucmVzb2x1dGlvbiA9M0QgKDgwMCwgODAwKQogICAgY2Ft
LnN0ZWFkeV9ub3J0aCA9M0QgVHJ1ZQo9MjAKICAgICMgbWFrZSBtb3ZpZSBmcmFtZXMKICAgIG51
bV9mcmFtZXMgPTNEIDMwMQogICAgZm9yIGkgaW4gcmFuZ2UobnVtX2ZyYW1lcyk6CiAgICAgICAg
Y2FtLnJvdGF0ZSgyLjAqbnAucGkvbnVtX2ZyYW1lcykKLSAgICAgICBpbSA9M0QgbXMucmVuZGVy
KGNhbSkKLSAgICAgICBwbHQuaW1zaG93KGltLCBjbWFwPTNEJ0VvcyBBJywgb3JpZ2luPTNEJ2xv
d2VyJyx2bWluPTNEMC4wLCB2bWF4PTNEPQoyLjApCi0gICAgICAgcGx0LmdjYSgpLmF4ZXMuZ2V0
X3hheGlzKCkuc2V0X3Zpc2libGUoRmFsc2UpCi0gICAgICAgcGx0LmdjYSgpLmF4ZXMuZ2V0X3lh
eGlzKCkuc2V0X3Zpc2libGUoRmFsc2UpCi0gICAgICAgY2IgPTNEIHBsdC5jb2xvcmJhcigpCi0g
ICAgICAgY2Iuc2V0X2xhYmVsKCdkaWZmdXNlZCcpCi0gICAgICAgcGx0LnNhdmVmaWcoJ21vdmll
X2ZyYW1lcy9zdXJmYWNlX3JlbmRlcl8lLjRkLnBuZycgJSBpKQotICAgICAgIHBsdC5jbGYoKQor
ICAgICAgIGltID0zRCBtcy5yZW5kZXIoY2FtLCBjbWFwPTNEJ0VvcyBBJywgY29sb3JfYm91bmRz
PTNEKDAuMCwgMi4wKSkKKyAgICAgICBwdy53cml0ZV9wbmcoaW0sICdtb3ZpZV9mcmFtZXMvc3Vy
ZmFjZV9yZW5kZXJfJS40ZC5wbmcnICUgaSkKKworRmluYWxseSwgdGhpcyBleGFtcGxlIGRlbW9u
c3RyYXRlcyBob3cgdG8gbG9vcCBvdmVyIHRoZSB0aW1lIHN0ZXBzIGluIGEgc2k9Cm5nbGUKK2Zp
bGUgd2l0aCBhIGZpeGVkIGNhbWVyYSBwb3NpdGlvbjoKKworLi4gY29kZS1ibG9jazo6IHB5dGhv
bgorCisgICAgaW1wb3J0IHl0CisgICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5k
ZXJpbmcucmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNvdXJjZQorICAgIGZyb20geXQudmlzdWFs
aXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYSBpbXBvcnQgQ2FtZXJhCisgICAgaW1wb3J0
IHB5bGFiIGFzIHBsdAorCisgICAgTlVNX1NURVBTID0zRCAxMjcKKyAgICBDTUFQID0zRCAnaG90
JworICAgIFZNSU4gPTNEIDMwMC4wCisgICAgVk1BWCA9M0QgMjAwMC4wCisKKyAgICBmb3Igc3Rl
cCBpbiByYW5nZShOVU1fU1RFUFMpOgorCisgICAgICAgIGRzID0zRCB5dC5sb2FkKCIuLi9GRU1y
ZW5kZXIvZGF0YS9tcHNfb3V0LmUiLCBzdGVwPTNEc3RlcCkKKworCXRpbWUgPTNEIGRzLl9nZXRf
Y3VycmVudF90aW1lKCkKKworCSMgdGhlIGZpZWxkIG5hbWUgaXMgYSB0dXBsZSBvZiBzdHJpbmdz
LiBUaGUgZmlyc3Qgc3RyaW5nCisJIyBzcGVjaWZpZXMgd2hpY2ggbWVzaCB3aWxsIGJlIHBsb3R0
ZWQsIHRoZSBzZWNvbmQgc3RyaW5nCisJIyBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxk
LgorCWZpZWxkX25hbWUgPTNEICgnY29ubmVjdDInLCAndGVtcCcpCisKKwkjIHRoaXMgaW5pdGlh
bGl6ZXMgdGhlIHJlbmRlciBzb3VyY2UKKwltcyA9M0QgTWVzaFNvdXJjZShkcywgZmllbGRfbmFt
ZSkKKworCSMgc2V0IHVwIHRoZSBjYW1lcmEgaGVyZS4gdGhlc2UgdmFsdWVzIHdlcmUgYXJyaXZl
ZCBieQorCSMgY2FsbGluZyBwaXRjaCwgeWF3LCBhbmQgcm9sbCBpbiB0aGUgbm90ZWJvb2sgdW50
aWwgSQorCSMgZ290IHRoZSBhbmdsZSBJIHdhbnRlZC4KKwljYW0gPTNEIENhbWVyYShkcykKKwlj
YW1lcmFfcG9zaXRpb24gPTNEIGRzLmFycihbMC4xLCAwLjAsIDAuMV0sICdjb2RlX2xlbmd0aCcp
CisJY2FtLmZvY3VzID0zRCBkcy5kb21haW5fY2VudGVyCisJbm9ydGhfdmVjdG9yID0zRCBkcy5h
cnIoWzAuMzAzMjQ3NiwgMC43MTc4MjU1NywgLTAuNjI2NzExNTNdLCAnZGltZW5zaW9ubD0KZXNz
JykKKwljYW0ud2lkdGggPTNEIGRzLmFycihbIDAuMDQsICAwLjA0LCAgMC4wNF0sICdjb2RlX2xl
bmd0aCcpCisJY2FtLnJlc29sdXRpb24gPTNEICg4MDAsIDgwMCkKKwljYW0uc2V0X3Bvc2l0aW9u
KGNhbWVyYV9wb3NpdGlvbiwgbm9ydGhfdmVjdG9yKQorCisJIyBhY3R1YWxseSBtYWtlIHRoZSBp
bWFnZSBoZXJlCisJaW0gPTNEIG1zLnJlbmRlcihjYW0sIGNtYXA9M0RDTUFQLCBjb2xvcl9ib3Vu
ZHM9M0QoVk1JTiwgVk1BWCkpCisKKwkjIFBsb3QgdGhlIHJlc3VsdCB1c2luZyBtYXRwbG90bGli
IGFuZCBzYXZlLgorCSMgTm90ZSB0aGF0IHdlIGFyZSBzZXR0aW5nIHRoZSB1cHBlciBhbmQgbG93
ZXIKKwkjIGJvdW5kcyBvZiB0aGUgY29sb3JiYXIgdG8gYmUgdGhlIHNhbWUgZm9yIGFsbAorCSMg
ZnJhbWVzIG9mIHRoZSBpbWFnZS4KKworCSMgbXVzdCBjbGVhciB0aGUgaW1hZ2UgYmV0d2VlbiBm
cmFtZXMKKwlwbHQuY2xmKCkKKwlmaWcgPTNEIHBsdC5nY2YoKQorCWF4ID0zRCBwbHQuZ2NhKCkK
KwlheC5pbXNob3coaW0sIGludGVycG9sYXRpb249M0QnbmVhcmVzdCcsIG9yaWdpbj0zRCdsb3dl
cicpCisKKwkjIEFkZCB0aGUgY29sb3JiYXIgdXNpbmcgYSBmYWtlIChub3Qgc2hvd24pIGltYWdl
LgorCXAgPTNEIGF4Lmltc2hvdyhtcy5kYXRhLCB2aXNpYmxlPTNERmFsc2UsIGNtYXA9M0RDTUFQ
LCB2bWluPTNEVk1JTiwgdm1heD0KPTNEVk1BWCkKKwljYiA9M0QgZmlnLmNvbG9yYmFyKHApCisJ
Y2Iuc2V0X2xhYmVsKGZpZWxkX25hbWVbMV0pCisKKwlheC50ZXh0KDI1LCA3NTAsICd0aW1lID0z
RCAlLjJlJyAlIHRpbWUsIGNvbG9yPTNEJ2snKQorCWF4LmF4ZXMuZ2V0X3hheGlzKCkuc2V0X3Zp
c2libGUoRmFsc2UpCisJYXguYXhlcy5nZXRfeWF4aXMoKS5zZXRfdmlzaWJsZShGYWxzZSkKKwor
CXBsdC5zYXZlZmlnKCdtb3ZpZV9mcmFtZXMvdGVzdF8lLjNkJyAlIHN0ZXApCisKCgpodHRwczov
L2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQvY29tbWl0cy8xYzEzZjZjNjc2NTYvCkNoYW5n
ZXNldDogICAxYzEzZjZjNjc2NTYKQnJhbmNoOiAgICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJz
CkRhdGU6ICAgICAgICAyMDE1LTA5LTI1IDIxOjU3OjI4KzAwOjAwClN1bW1hcnk6ICAgICBtb3Jl
IHJlbmRlcmluZyBkb2NzCkFmZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgMDZiYjJjNWUwZGIw
YmNhMGJkMTAyZTE1NjZjMzY4YjVhY2QwZGQ2ZiAtciAxYzEzZjZjNjc2NTY0NGE5ZDVhOTRjOD0K
MzAxNDkwMjRlNjdiNmZiNWMgZG9jL3NvdXJjZS92aXN1YWxpemluZy91bnN0cnVjdHVyZWRfbWVz
aF9yZW5kZXJpbmcucnN0Ci0tLSBhL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvdW5zdHJ1Y3R1cmVk
X21lc2hfcmVuZGVyaW5nLnJzdAorKysgYi9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3Vuc3RydWN0
dXJlZF9tZXNoX3JlbmRlcmluZy5yc3QKQEAgLTIxNiw2ICsyMTYsNDYgQEAKICAgIGltID0zRCBt
cy5hbm5vdGF0ZV9tZXNoX2xpbmVzKCkKICAgIHB3LndyaXRlX3BuZyhpbSwgJ2hleF9tZXNoX3Jl
bmRlcl9wZXJzcGVjdGl2ZS5wbmcnKQo9MjAKK1lvdSBjYW4gYWxzbyBjcmVhdGUgc2NlbmVzIHRo
YXQgaGF2ZSBtdWx0aXBsZSBtZXNoZXMgVGhlIHJheS10cmFjaW5nIGluZnJhPQpzdHJ1Y3R1cmUK
K3dpbGwga2VlcCB0cmFjayBvZiB0aGUgZGVwdGggaW5mb3JtYXRpb24gZm9yIGVhY2ggc291cmNl
IHNlcGFyYXRlbHksIGFuZCBjPQpvbXBvc2l0ZQordGhlIGZpbmFsIGltYWdlIGFjY29yZGluZ2x5
LiBJbiB0aGUgbmV4dCBleGFtcGxlLCB3ZSBzaG91bGQgaG93IHRvIHJlbmRlciA9CmEgc2NlbmU9
MjAKK3dpdGggdHdvIG1lc2hlcyBvbiBpdDoKKworLi4gY29kZS1ibG9jazo6IHB5dGhvbgorCisg
ICAgaW1wb3J0IHl0CisgICAgZnJvbSB5dC52aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcu
cmVuZGVyX3NvdXJjZSBpbXBvcnQgTWVzaFNvdXJjZQorICAgIGZyb20geXQudmlzdWFsaXphdGlv
bi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYSBpbXBvcnQgQ2FtZXJhCisgICAgZnJvbSB5dC52aXN1
YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcuc2NlbmUgaW1wb3J0IFNjZW5lCisgICAgaW1wb3J0
IHl0LnV0aWxpdGllcy5wbmdfd3JpdGVyIGFzIHB3CisKKyAgICBkcyA9M0QgeXQubG9hZCgifi9G
RU1SZW5kZXIvZGF0YS9vdXQuZS1zMDEwIikKKworICAgIG1zID0zRCBNZXNoU291cmNlKGRzLCAo
J2Nvbm5lY3QxJywgJ2RpZmZ1c2VkJykpCisKKyAgICAjIHRoaXMgdGltZSB3ZSBjcmVhdGUgYW4g
ZW1wdHkgc2NlbmUgYW5kIGFkZCBzb3VyY2VzIHRvIGl0IG9uZS1ieS1vbmUKKyAgICBzYyA9M0Qg
U2NlbmUoKQorCisgICAgY2FtID0zRCBDYW1lcmEoZHMpCisgICAgY2FtLmZvY3VzID0zRCBkcy5h
cnIoWzAuMCwgMC4wLCAwLjBdLCAnY29kZV9sZW5ndGgnKQorICAgIGNhbS5zZXRfcG9zaXRpb24o
ZHMuYXJyKFstMy4wLCAzLjAsIC0zLjBdLCAnY29kZV9sZW5ndGgnKSwKKyAgICAgICAgICAgICAg
ICAgICAgIGRzLmFycihbMC4wLCAxLjAsIDAuMF0sICdkaW1lbnNpb25sZXNzJykpCisgICAgY2Ft
LnNldF93aWR0aCA9M0QgZHMuYXJyKFs4LjAsIDguMCwgOC4wXSwgJ2NvZGVfbGVuZ3RoJykKKyAg
ICBjYW0ucmVzb2x1dGlvbiA9M0QgKDgwMCwgODAwKQorCisgICAgc2MuY2FtZXJhID0zRCBjYW0K
KworICAgICMgY3JlYXRlIHR3byBkaXN0aW5jdCBNZXNoU291cmNlcyBmcm9tICdjb25uZWN0MScg
YW5kICdjb25uZWN0MicKKyAgICBtczEgPTNEIE1lc2hTb3VyY2UoZHMsICgnY29ubmVjdDEnLCAn
ZGlmZnVzZWQnKSkKKyAgICBtczIgPTNEIE1lc2hTb3VyY2UoZHMsICgnY29ubmVjdDInLCAnZGlm
ZnVzZWQnKSkKKworICAgIHNjLmFkZF9zb3VyY2UobXMxKQorICAgIHNjLmFkZF9zb3VyY2UobXMy
KQorCisgICAgaW0gPTNEIHNjLnJlbmRlcigpCisKKyAgICBwdy53cml0ZV9wbmcoaW0sICdjb21w
b3NpdGVfcmVuZGVyLnBuZycpCisKPTIwCiBNYWtpbmcgTW92aWVzCiBeXl5eXl5eXl5eXl5eCgoK
aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvM2ZhZGEzMGU2ZmE2
LwpDaGFuZ2VzZXQ6ICAgM2ZhZGEzMGU2ZmE2CkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAg
YXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yNSAyMjowNToxOCswMDowMApTdW1tYXJ5OiAg
ICAgdXBkYXRpbmcgaW5zdGFsbCBpbnN0cnVjdGlvbnMgcGx1cyBhIGZldyB0eXBvIGZpeGVzCkFm
ZmVjdGVkICM6ICAxIGZpbGUKCmRpZmYgLXIgMWMxM2Y2YzY3NjU2NDRhOWQ1YTk0YzgzMDE0OTAy
NGU2N2I2ZmI1YyAtciAzZmFkYTMwZTZmYTYwNzUyMTEzNWRmNz0KZDRmNmZhODI4YTIyODc1ZDUg
ZG9jL3NvdXJjZS92aXN1YWxpemluZy91bnN0cnVjdHVyZWRfbWVzaF9yZW5kZXJpbmcucnN0Ci0t
LSBhL2RvYy9zb3VyY2UvdmlzdWFsaXppbmcvdW5zdHJ1Y3R1cmVkX21lc2hfcmVuZGVyaW5nLnJz
dAorKysgYi9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3Vuc3RydWN0dXJlZF9tZXNoX3JlbmRlcmlu
Zy5yc3QKQEAgLTE0LDExICsxNCwxMiBAQAogYnkgY29tcGlsaW5nIGZyb20gc291cmNlIG9yIGJ5
IHVzaW5nIG9uZSBvZiB0aGUgcHJlLWJ1aWx0IGJpbmFyaWVzIGF2YWlsYWI9CmxlCiBhdCBFbWJy
ZWUncyBgZG93bmxvYWRzIDxodHRwczovL2VtYnJlZS5naXRodWIuaW8vZG93bmxvYWRzLmh0bWw+
YCBwYWdlLiBPbj0KY2UKIEVtYnJlZSBpcyBpbnN0YWxsZWQsIHlvdSBtdXN0IGFsc28gY3JlYXRl
IGEgc3ltbGluayBuZXh0IHRvIHRoZSBsaWJyYXJ5LiBGPQpvcgotZXhhbXBsZSwgaWYgdGhlIGxp
YnJhcmllcyB3ZXJlIGluc3RhbGxlZCBhdCAvdXNyL2xvY2FsL2xpYi8sIHlvdSBtdXN0IGRvCitl
eGFtcGxlLCBpZiB0aGUgbGlicmFyaWVzIHdlcmUgaW5zdGFsbGVkIGF0IC9vcHQvbG9jYWwvbGli
LyAodGhlIGxvY2F0aW9uCit0aGF0IHRoZSBPUyBYIC5wa2cgaW5zdGFsbGVyIHB1dHMgdGhlbSks
IHlvdSBtdXN0IGRvCj0yMAogLi4gY29kZS1ibG9jazo6IGJhc2gKPTIwCi0gICAgc3VkbyBsbiAt
cyAvdXNyL2xvY2FsL2xpYi9saWJlbWJyZWUuMi42LjEuZHlsaWIgL3Vzci9sb2NhbC9saWIvbGli
ZW1icj0KZWUuc28KKyAgICBzdWRvIGxuIC1zIC9vcHQvbG9jYWwvbGliL2xpYmVtYnJlZS4yLjYu
MS5keWxpYiAvb3B0L2xvY2FsL2xpYi9saWJlbWJyPQplZS5zbwo9MjAKIFNlY29uZCwgdGhlIHB5
dGhvbiBiaW5kaW5ncyBmb3IgZW1icmVlIChjYWxsZWQ9MjAKIGBweWVtYnJlZSA8aHR0cHM6Ly9n
aXRodWIuY29tL3Njb3BhdHovcHllbWJyZWU+YCkgbXVzdCBhbHNvIGJlIGluc3RhbGxlZC4gPQpU
bwpAQCAtMjgsMTIgKzI5LDcgQEAKPTIwCiAgICAgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNv
bS9zY29wYXR6L3B5ZW1icmVlCj0yMAotVG8gaW5zdGFsbCwgbmF2aWdhdGUgdG8gdGhlIHJvb3Qg
ZGlyZWN0b3J5IGFuZCBydW4gdGhlIHNldHVwIHNjcmlwdDoKLQotLi4gY29kZS1ibG9jazo6IGJh
c2gKLQotICAgIHB5dGhvbiBzZXR1cC5weSBkZXZlbG9wCi0KK1RvIGluc3RhbGwsIG5hdmlnYXRl
IHRvIHRoZSByb290IGRpcmVjdG9yeSBhbmQgcnVuIHRoZSBzZXR1cCBzY3JpcHQuCiBJZiBFbWJy
ZWUgd2FzIGluc3RhbGxlZCB0byBzb21lIGxvY2F0aW9uIHRoYXQgaXMgbm90IGluIHlvdXIgcGF0
aCBieSBkZWZhdT0KbHQsCiB5b3Ugd2lsbCBuZWVkIHRvIHBhc3MgaW4gQ0ZMQUdTIGFuZCBMREZM
QUdTIHRvIHRoZSBzZXR1cC5weSBzY3JpcHQuIEZvciBleD0KYW1wbGUsCiB0aGUgTWFjIE9TIHBh
Y2thZ2UgaW5zdGFsbGVyIHB1dHMgdGhlIGluc3RhbGxhdGlvbiBhdCAvb3B0L2xvY2FsLyBpbnN0
ZWFkID0Kb2Y9MjAKQEAgLTQxLDExICszNywxNSBAQAo9MjAKIC4uIGNvZGUtYmxvY2s6OiBiYXNo
Cj0yMAorICAgIENGTEFHUz0zRCctSS9vcHQvbG9jYWwvaW5jbHVkZScgTERGTEFHUz0zRCctTC9v
cHQvbG9jYWwvbGliJyBweXRob24gc2U9CnR1cC5weSBpbnN0YWxsCisKK1lvdSBtdXN0IGFsc28g
dXNlIHRoZXNlIGZsYWdzIHdoZW4gYnVpbGRpbmcgYW55IHBhcnQgb2YgeXQgZnJvbSBzb3VyY2Uu
IEZvPQpyIGV4YW1wbGUsCit0byBydW4gInNldHVwLnB5IGRldmVsb3AiIGZyb20gdGhlIHl0LWhn
IGRpcmVjdG9yeSwgeW91IHdvdWxkIGRvOgorCisuLiBjb2RlLWJsb2NrOjogYmFzaAorCiAgICAg
Q0ZMQUdTPTNEJy1JL29wdC9sb2NhbC9pbmNsdWRlJyBMREZMQUdTPTNEJy1ML29wdC9sb2NhbC9s
aWInIHB5dGhvbiBzZT0KdHVwLnB5IGRldmVsb3AKPTIwCi1Zb3UgbXVzdCBhbHNvIHVzZSB0aGVz
ZSBmbGFncyB3aGVuIGJ1aWxkaW5nIGFueSBwYXJ0IG9mIHl0IHRoYXQgbGlua3MgYWdhaT0KbnN0
Ci1weWVtYnJlZS4KLQogT25jZSB0aGUgcHJlLXJlcXVpc2l0ZXMgYXJlIGluc3RhbGxlZCwgdW5z
dHJ1Y3R1cmVkIG1lc2ggZGF0YSBjYW4gYmUgcmVuZGU9CnJlZAogbXVjaCBsaWtlIGFueSBvdGhl
ciBkYXRhc2V0LiBJbiBwYXJ0aWN1bGFyLCBhIG5ldyB0eXBlIG9mPTIwCiA6Y2xhc3M6YH55dC52
aXN1YWxpemF0aW9uLnZvbHVtZV9yZW5kZXJpbmcucmVuZGVyX3NvdXJjZS5SZW5kZXJTb3VyY2Vg
IG9iaj0KZWN0CkBAIC01OCwxMiArNTgsMTIgQEAKIDpjbGFzczpgfnl0LnZpc3VhbGl6YXRpb24u
dm9sdW1lX3JlbmRlcmluZy5yZW5kZXJfc291cmNlLlJlbmRlclNvdXJjZWAgaXMgPQpjYWxsZWQs
CiBhIHNldCBvZiByYXlzIGFyZSBjYXN0IGF0IHRoZSBzb3VyY2UuIEVhY2ggdGltZSBhIHJheSBz
dHJpa2VzIHRoZSBzb3VyY2UgbT0KZXNoLAogdGhlIGRhdGEgaXMgc2FtcGxlZCBhdCB0aGUgaW50
ZXJzZWN0aW9uIHBvaW50IGF0IHRoZSByZXN1bHRpbmcgdmFsdWUgZ2V0cz0yMAotc2F2ZWQgaW50
byBhbiBpbWFnZS4KK3NhdmVkIGludG8gYW4gaW1hZ2UuIFNlZSBiZWxvdyBmb3IgZXhhbXBsZXMu
Cj0yMAogRXhhbXBsZXMKIF5eXl5eXl5eCj0yMAotU2VlIGJlbG93IGZvciBleGFtcGxlcy4gRmly
c3QsIGhlcmUgaXMgYW4gZXhhbXBsZSBvZiByZW5kZXJpbmcgYSBoZXhhaGVkcmE9CmwgbWVzaC4K
K0ZpcnN0LCBoZXJlIGlzIGFuIGV4YW1wbGUgb2YgcmVuZGVyaW5nIGFuIDgtbm9kZSwgaGV4YWhl
ZHJhbCBNT09TRSBkYXRhc2V0Lgo9MjAKIC4uIHB5dGhvbi1zY3JpcHQ6Ogo9MjAKQEAgLTEzNywz
MiArMTM3LDYgQEAKICAgIGltID0zRCBtcy5yZW5kZXIoY2FtLCBjbWFwPTNEJ0VvcyBBJywgY29s
b3JfYm91bmRzPTNEKDAuMCwgMi4wKSkKICAgIHB3LndyaXRlX3BuZyhpbSwgJ2hleF9tZXNoX3Jl
bmRlci5wbmcnKQo9MjAKLVlvdSBjYW4gYWxzbyBvdmVycGxvdCB0aGUgbWVzaCBib3VuZGFyaWVz
OgotCi0uLiBweXRob24tc2NyaXB0OjoKLQotICAgaW1wb3J0IHl0Ci0gICBmcm9tIHl0LnZpc3Vh
bGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5yZW5kZXJfc291cmNlIGltcG9ydCBNZXNoU291cmNl
Ci0gICBmcm9tIHl0LnZpc3VhbGl6YXRpb24udm9sdW1lX3JlbmRlcmluZy5jYW1lcmEgaW1wb3J0
IENhbWVyYQotICAgaW1wb3J0IHl0LnV0aWxpdGllcy5wbmdfd3JpdGVyIGFzIHB3Ci0KLSAgIGRz
ID0zRCB5dC5sb2FkKCJNT09TRV9zYW1wbGVfZGF0YS9vdXQuZS1zMDEwIikKLQotICAgbXMgPTNE
IE1lc2hTb3VyY2UoZHMsICgnY29ubmVjdDEnLCAnZGlmZnVzZWQnKSkKLQotICAgIyBzZXR1cCB0
aGUgY2FtZXJhCi0gICBjYW0gPTNEIENhbWVyYShkcykKLSAgIGNhbS5mb2N1cyA9M0QgZHMuYXJy
KFswLjAsIDAuMCwgMC4wXSwgJ2NvZGVfbGVuZ3RoJykgICMgcG9pbnQgd2UncmUgbG9vPQpraW5n
IGF0Ci0KLSAgIGNhbV9wb3MgPTNEIGRzLmFycihbLTMuMCwgMy4wLCAtMy4wXSwgJ2NvZGVfbGVu
Z3RoJykgICMgdGhlIGNhbWVyYSBsb2NhPQp0aW9uCi0gICBub3J0aF92ZWN0b3IgPTNEIGRzLmFy
cihbMC4wLCAtMS4wLCAwLjBdLCAnZGltZW5zaW9ubGVzcycpICAjIGRvd24gaXMgdD0KaGUgbmV3
IHVwCi0gICBjYW0uc2V0X3Bvc2l0aW9uKGNhbV9wb3MsIG5vcnRoX3ZlY3RvcikKLSAgIGNhbS5y
ZXNvbHV0aW9uID0zRCAoODAwLCA4MDApCi0KLSAgIG1zLnJlbmRlcihjYW0sIGNtYXA9M0QnRW9z
IEEnLCBjb2xvcl9ib3VuZHM9M0QoMC4wLCAyLjApKQotICAgaW0gPTNEIG1zLmFubm90YXRlX21l
c2hfbGluZXMoKQotICAgcHcud3JpdGVfcG5nKGltLCAnaGV4X3JlbmRlcl93aXRoX21lc2gucG5n
JykKLQogTmV4dCwgaGVyZSBpcyBhbiBleGFtcGxlIG9mIHJlbmRlcmluZyBhIGRhdGFzZXQgd2l0
aCB0ZXRyYWhlZHJhbCBtZXNoIGVsZW09CmVudHMuCiBOb3RlIHRoYXQgaW4gdGhpcyBkYXRhc2V0
LCB0aGVyZSBhcmUgbXVsdGlwbGUgInN0ZXBzIiBwZXIgZmlsZSwgc28gd2Ugc3BlYz0KaWZ5CiB0
aGF0IHdlIHdhbnQgdG8gbG9vayBhdCB0aGUgbGFzdCBvbmUuCkBAIC0yMTYsOSArMTkwLDkgQEAK
ICAgIGltID0zRCBtcy5hbm5vdGF0ZV9tZXNoX2xpbmVzKCkKICAgIHB3LndyaXRlX3BuZyhpbSwg
J2hleF9tZXNoX3JlbmRlcl9wZXJzcGVjdGl2ZS5wbmcnKQo9MjAKLVlvdSBjYW4gYWxzbyBjcmVh
dGUgc2NlbmVzIHRoYXQgaGF2ZSBtdWx0aXBsZSBtZXNoZXMgVGhlIHJheS10cmFjaW5nIGluZnJh
PQpzdHJ1Y3R1cmUKK1lvdSBjYW4gYWxzbyBjcmVhdGUgc2NlbmVzIHRoYXQgaGF2ZSBtdWx0aXBs
ZSBtZXNoZXMuIFRoZSByYXktdHJhY2luZyBpbmZyPQphc3RydWN0dXJlCiB3aWxsIGtlZXAgdHJh
Y2sgb2YgdGhlIGRlcHRoIGluZm9ybWF0aW9uIGZvciBlYWNoIHNvdXJjZSBzZXBhcmF0ZWx5LCBh
bmQgYz0Kb21wb3NpdGUKLXRoZSBmaW5hbCBpbWFnZSBhY2NvcmRpbmdseS4gSW4gdGhlIG5leHQg
ZXhhbXBsZSwgd2Ugc2hvdWxkIGhvdyB0byByZW5kZXIgPQphIHNjZW5lPTIwCit0aGUgZmluYWwg
aW1hZ2UgYWNjb3JkaW5nbHkuIEluIHRoZSBuZXh0IGV4YW1wbGUsIHdlIHNob3cgaG93IHRvIHJl
bmRlciBhID0Kc2NlbmU9MjAKIHdpdGggdHdvIG1lc2hlcyBvbiBpdDoKPTIwCiAuLiBjb2RlLWJs
b2NrOjogcHl0aG9uCkBAIC0yMzEsOCArMjA1LDYgQEAKPTIwCiAgICAgZHMgPTNEIHl0LmxvYWQo
In4vRkVNUmVuZGVyL2RhdGEvb3V0LmUtczAxMCIpCj0yMAotICAgIG1zID0zRCBNZXNoU291cmNl
KGRzLCAoJ2Nvbm5lY3QxJywgJ2RpZmZ1c2VkJykpCi0KICAgICAjIHRoaXMgdGltZSB3ZSBjcmVh
dGUgYW4gZW1wdHkgc2NlbmUgYW5kIGFkZCBzb3VyY2VzIHRvIGl0IG9uZS1ieS1vbmUKICAgICBz
YyA9M0QgU2NlbmUoKQo9MjAKQEAgLTI2MCw3ICsyMzIsNyBAQAogTWFraW5nIE1vdmllcwogXl5e
Xl5eXl5eXl5eXgo9MjAKLUhlcmUgYXJlIGEgY291cGxlIG9mIGV4YW1wbGVzIHNjcmlwdHMgdGhh
dCBzaG93IGhvdyB0byBjcmVhdGUgaW1hZ2UgZnJhbWVzPQogdGhhdD0yMAorSGVyZSBhcmUgYSBj
b3VwbGUgb2YgZXhhbXBsZSBzY3JpcHRzIHRoYXQgc2hvdyBob3cgdG8gY3JlYXRlIGltYWdlIGZy
YW1lcyA9CnRoYXQ9MjAKIGNhbiBsYXRlciBiZSBzdGljaGVkIHRvZ2V0aGVyIGludG8gYSBtb3Zp
ZS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUsIHdlIGxvb2sgPQphdCBhPTIwCiBzaW5nbGUgZGF0YXNl
dCBhdCBhIGZpeGVkIHRpbWUsIGJ1dCB3ZSBtb3ZlIHRoZSBjYW1lcmEgYXJvdW5kIHRvIGdldCBh
IGRpZj0KZmVyZW50CiB2YW50YWdlIHBvaW50LiBXZSBjYWxsIHRoZSByb3RhdGUoKSBtZXRob2Qg
MzAwIHRpbWVzLCBzYXZpbmcgYSBuZXcgaW1hZ2UgdD0KbyB0aGU9MjAKQEAgLTMxMSw3ICsyODMs
NyBAQAo9MjAKICAgICBmb3Igc3RlcCBpbiByYW5nZShOVU1fU1RFUFMpOgo9MjAKLSAgICAgICAg
ZHMgPTNEIHl0LmxvYWQoIi4uL0ZFTXJlbmRlci9kYXRhL21wc19vdXQuZSIsIHN0ZXA9M0RzdGVw
KQorICAgICAgICBkcyA9M0QgeXQubG9hZCgiTU9PU0Vfc2FtcGxlX2RhdGEvbXBzX291dC5lIiwg
c3RlcD0zRHN0ZXApCj0yMAogCXRpbWUgPTNEIGRzLl9nZXRfY3VycmVudF90aW1lKCkKPTIwCgoK
aHR0cHM6Ly9iaXRidWNrZXQub3JnL3l0X2FuYWx5c2lzL3l0L2NvbW1pdHMvZGRjNjEwNmYwNWVm
LwpDaGFuZ2VzZXQ6ICAgZGRjNjEwNmYwNWVmCkJyYW5jaDogICAgICB5dApVc2VyOiAgICAgICAg
YXRteWVycwpEYXRlOiAgICAgICAgMjAxNS0wOS0yNSAyMjowODo0NiswMDowMApTdW1tYXJ5OiAg
ICAgYWRkaW5nIGFub3RoZXIgZXhhbXBsZQpBZmZlY3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIDNm
YWRhMzBlNmZhNjA3NTIxMTM1ZGY3ZDRmNmZhODI4YTIyODc1ZDUgLXIgZGRjNjEwNmYwNWVmN2Fh
YzhjMTNlZTc9CjFmYWFkNGQzYzNmOGJjMWNiIGRvYy9zb3VyY2UvdmlzdWFsaXppbmcvdW5zdHJ1
Y3R1cmVkX21lc2hfcmVuZGVyaW5nLnJzdAotLS0gYS9kb2Mvc291cmNlL3Zpc3VhbGl6aW5nL3Vu
c3RydWN0dXJlZF9tZXNoX3JlbmRlcmluZy5yc3QKKysrIGIvZG9jL3NvdXJjZS92aXN1YWxpemlu
Zy91bnN0cnVjdHVyZWRfbWVzaF9yZW5kZXJpbmcucnN0CkBAIC0xNjMsNiArMTYzLDMyIEBACiAg
ICBpbSA9M0QgbXMucmVuZGVyKGNhbSwgY21hcD0zRCdFb3MgQScsIGNvbG9yX2JvdW5kcz0zRCgw
LjAsIDEuMCkpCiAgICBwdy53cml0ZV9wbmcoaW0sICd0ZXRyYV9yZW5kZXIucG5nJykKPTIwCitB
bm90aGVyIGV4YW1wbGUsIHRoaXMgdGltZSBwbG90dGluZyB0aGUgdGVtcGVyYXR1cmUgZmllbGQg
ZnJvbSBhIDIwLW5vZGUgaD0KZXg9MjAKK01PT1NFIGRhdGFzZXQ6CisKKy4uIHB5dGhvbi1zY3Jp
cHQ6OgorCisgICBpbXBvcnQgeXQKKyAgIGZyb20geXQudmlzdWFsaXphdGlvbi52b2x1bWVfcmVu
ZGVyaW5nLnJlbmRlcl9zb3VyY2UgaW1wb3J0IE1lc2hTb3VyY2UKKyAgIGZyb20geXQudmlzdWFs
aXphdGlvbi52b2x1bWVfcmVuZGVyaW5nLmNhbWVyYSBpbXBvcnQgQ2FtZXJhCisgICBpbXBvcnQg
eXQudXRpbGl0aWVzLnBuZ193cml0ZXIgYXMgcHcKKworICAgZHMgPTNEIHl0LmxvYWQoIk1PT1NF
X3NhbXBsZV9kYXRhL21wc19vdXQuZSIsIHN0ZXA9M0QtMSkgICMgd2UgbG9hZCB0aGU9CiBsYXN0
IHRpbWUgZnJhbWUKKworICAgbXMgPTNEIE1lc2hTb3VyY2UoZHMsICgnY29ubmVjdDInLCAndGVt
cCcpKQorCisgICAjIHNldCB1cCB0aGUgY2FtZXJhCisgICBjYW0gPTNEIENhbWVyYShkcykKKyAg
IGNhbWVyYV9wb3NpdGlvbiA9M0QgZHMuYXJyKFstMS4wLCAxLjAsIC0wLjVdLCAnY29kZV9sZW5n
dGgnKQorICAgbm9ydGhfdmVjdG9yID0zRCBkcy5hcnIoWzAuMCwgMS4wLCAxLjBdLCAnZGltZW5z
aW9ubGVzcycpCisgICBjYW0ud2lkdGggPTNEIGRzLmFycihbMC4wNCwgMC4wNCwgMC4wNF0sICdj
b2RlX2xlbmd0aCcpCisgICBjYW0ucmVzb2x1dGlvbiA9M0QgKDgwMCwgODAwKQorICAgY2FtLnNl
dF9wb3NpdGlvbihjYW1lcmFfcG9zaXRpb24sIG5vcnRoX3ZlY3RvcikKKworICAgaW0gPTNEIG1z
LnJlbmRlcihjYW0sIGNtYXA9M0QnaG90JywgY29sb3JfYm91bmRzPTNEKDUwMC4wLCAxNzAwLjAp
KQorICAgaW0gPTNEIG1zLmFubm90YXRlX21lc2hfbGluZXMoKQorICAgcHcud3JpdGVfcG5nKGlt
LCAnaGV4MjBfcmVuZGVyLnBuZycpCisKIEFzIHdpdGggb3RoZXIgdm9sdW1lIHJlbmRlcmluZ3Mg
aW4geXQsIHlvdSBjYW4gc3dhcCBvdXQgZGlmZmVyZW50IGxlbnNlcy4gPQpIZXJlIGlzPTIwCiBh
biBleGFtcGxlIHRoYXQgdXNlcyBhICJwZXJwZWN0aXZlIiBsZW5zLCBmb3Igd2hpY2ggdGhlIHJh
eXMgZGl2ZXJnZSBmcm9tID0KdGhlPTIwCiBjYW1lcmEgcG9zaXRpb24gYWNjb3JkaW5nIHRvIHNv
bWUgb3BlbmluZyBhbmdsZToKCgpodHRwczovL2JpdGJ1Y2tldC5vcmcveXRfYW5hbHlzaXMveXQv
Y29tbWl0cy80ZjZmNDZiY2U3NjAvCkNoYW5nZXNldDogICA0ZjZmNDZiY2U3NjAKQnJhbmNoOiAg
ICAgIHl0ClVzZXI6ICAgICAgICBhdG15ZXJzCkRhdGU6ICAgICAgICAyMDE1LTA5LTI1IDIzOjI4
OjM5KzAwOjAwClN1bW1hcnk6ICAgICB0eXBvIGluIHRoZSBkYXRhIGxvYWRpbmcgZG9jcwpBZmZl
Y3RlZCAjOiAgMSBmaWxlCgpkaWZmIC1yIGRkYzYxMDZmMDVlZjdhYWM4YzEzZWU3MWZhYWQ0ZDNj
M2Y4YmMxY2IgLXIgNGY2ZjQ2YmNlNzYwZWQ3YTU3NTZmM2M9CmFlZjJhNGViMmY0M2I0NjBhIGRv
Yy9zb3VyY2UvZXhhbWluaW5nL2xvYWRpbmdfZGF0YS5yc3QKLS0tIGEvZG9jL3NvdXJjZS9leGFt
aW5pbmcvbG9hZGluZ19kYXRhLnJzdAorKysgYi9kb2Mvc291cmNlL2V4YW1pbmluZy9sb2FkaW5n
X2RhdGEucnN0CkBAIC0xMDM1LDggKzEwMzUsOCBAQAo9MjAKIEluIGFkZGl0aW9uIHRvIHRoZSBh
Ym92ZSBncmlkIHR5cGVzLCB5b3UgY2FuIGFsc28gbG9hZCBkYXRhIHN0b3JlZCBvbgogdW5zdHJ1
Y3R1cmVkIG1lc2hlcy4gVGhpcyB0eXBlIG9mIG1lc2ggaXMgdXNlZCwgZm9yIGV4YW1wbGUsIGlu
IG1hbnkKLWZpbml0ZSBlbGVtZW50IGNhbGN1bGF0aW9ucy4gQ3VycmVudGx5LCBoZXhhaGVkcmFs
LCB0ZXRyYWhlZHJhbCwgYW5kCi13ZWRnZS1zaGFwZWQgbWVzaCBlbGVtZW50IGFyZSBzdXBwb3J0
ZWQuCitmaW5pdGUgZWxlbWVudCBjYWxjdWxhdGlvbnMuIEN1cnJlbnRseSwgaGV4YWhlZHJhbCBh
bmQgdGV0cmFoZWRyYWwKK21lc2ggZWxlbWVudHMgYXJlIHN1cHBvcnRlZC4KPTIwCiBUbyBsb2Fk
IGFuIHVuc3RydWN0dXJlZCBtZXNoLCB5b3UgbmVlZCB0byBzcGVjaWZ5IHRoZSBmb2xsb3dpbmcu
IEZpcnN0LAogeW91IG5lZWQgdG8gaGF2ZSBhIGNvb3JkaW5hdGVzIGFycmF5LCB3aGljaCBzaG91
bGQgYmUgYW4gKEwsIDMpIGFycmF5CgpSZXBvc2l0b3J5IFVSTDogaHR0cHM6Ly9iaXRidWNrZXQu
b3JnL3l0X2FuYWx5c2lzL3l0LwoKLS0KClRoaXMgaXMgYSBjb21taXQgbm90aWZpY2F0aW9uIGZy
b20gYml0YnVja2V0Lm9yZy4gWW91IGFyZSByZWNlaXZpbmcKdGhpcyBiZWNhdXNlIHlvdSBoYXZl
IHRoZSBzZXJ2aWNlIGVuYWJsZWQsIGFkZHJlc3NpbmcgdGhlIHJlY2lwaWVudCBvZgp0aGlzIGVt
YWlsLgo


More information about the yt-svn mailing list