Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Aug 2007 12:53:17 +0600
From:      "viper" <viper@perm.raid.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/115340: [UPDATE] net/asterisk to 1.4.10. fixes remote buffer overflow
Message-ID:  <20070809065259.M47152@perm.raid.ru>
In-Reply-To: <200708090650.l796o1uB065137@freefall.freebsd.org>
References:  <200708090644.l796ihh1007389@www.freebsd.org> <200708090650.l796o1uB065137@freefall.freebsd.org>

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

------=OPENWEBMAIL_ATT_0.762795227670239
Content-Type: text/plain;
	charset=koi8-r



------=OPENWEBMAIL_ATT_0.762795227670239
Content-Type: application/octet-stream;
	name="asterisk_1.4.10"
Content-Disposition: attachment; filename="asterisk_1.4.10"
Content-Transfer-Encoding: base64

ZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvTWFrZWZpbGUgYXN0ZXJpc2svTWFrZWZpbGUKLS0tIGFz
dGVyaXNrLm9yaWcvTWFrZWZpbGUJMjAwNy0wNy0yOCAxODoyNzoyOS4wMDAwMDAwMDAgKzA2MDAK
KysrIGFzdGVyaXNrL01ha2VmaWxlCTIwMDctMDgtMDkgMTI6MjM6MDYuMDAwMDAwMDAwICswNjAw
CkBAIC0yLDEyICsyLDEyIEBACiAjIERhdGUgY3JlYXRlZDoJCQkJMTcgT2N0b2JlciAyMDAzCiAj
IFdob206CQkJCQlNYXhpbSBTb2JvbGV2IDxzb2JvbWF4QHBvcnRhb25lLmNvbT4KICMKLSMgJEZy
ZWVCU0Q6IHBvcnRzL25ldC9hc3Rlcmlzay9NYWtlZmlsZSx2IDEuNzggMjAwNy8wNy8yOCAxMjoy
NzoyOSBtaXdpIEV4cCAkCisjICRGcmVlQlNEOiBwb3J0cy9uZXQvYXN0ZXJpc2svTWFrZWZpbGUs
diAxLjc2IDIwMDcvMDcvMjMgMDk6MzY6MTQgcmFmYW4gRXhwICQKICMKIAogUE9SVE5BTUU9CWFz
dGVyaXNrCi1QT1JUVkVSU0lPTj0JMS40LjkKLVBPUlRSRVZJU0lPTj0JMQorUE9SVFZFUlNJT049
CTEuNC4xMAorUE9SVFJFVklTSU9OPSAgIDEKIENBVEVHT1JJRVM9CW5ldAogTUFTVEVSX1NJVEVT
PQlodHRwOi8vZnRwLmRpZ2l1bS5jb20vcHViL2FzdGVyaXNrLyBcCiAJCWh0dHA6Ly9mdHAuZGln
aXVtLmNvbS9wdWIvYXN0ZXJpc2svb2xkLXJlbGVhc2VzLwpAQCAtNDcsNyArNDcsOSBAQAogCQlI
MzIzCQkiRW5hYmxlIEguMzIzIHN1cHBvcnQiIG9uIFwKIAkJRlJFRVREUwkJIkVuYWJsZSBGcmVl
VERTIHN1cHBvcnQiIG9uIFwKIAkJSkFCQkVSCQkiRW5hYmxlIEphYmJlciBhbmQgR3RhbGsgc3Vw
cG9ydCIgb24gXAotCQlTUUxJVEUgICAgICAgICAgIkVuYWJsZSBTUUxJVEUgc3VwcG9ydCIgb24K
KwkJU1FMSVRFICAgICAgICAgICJFbmFibGUgU1FMSVRFIHN1cHBvcnQiIG9uIFwKKwkJSU1BUAkJ
IkVuYWJsZSBJTUFQIHN1cHBvcnQiIG9mZiBcCisJCUZBWAkgICAgICAgICJFbmFibGUgRkFYIHN1
cHBvcnQiIG9uCiAKIC5pbmNsdWRlIDxic2QucG9ydC5wcmUubWs+CiAKQEAgLTE0NywxNSArMTQ5
LDYwIEBACiAuZW5kaWYKIAogLmlmIGRlZmluZWQoV0lUSE9VVF9TUUxJVEUpCi1QTElTVF9TVUIr
PQlXSVRIX1NRTElURT0iQGNvbW1lbnQgIgotQ09ORklHVVJFX0FSR1MrPQktLXdpdGhvdXQtc3Fs
aXRlCitQTElTVF9TVUIrPSAgICBXSVRIX1NRTElURT0iQGNvbW1lbnQgIgorQ09ORklHVVJFX0FS
R1MrPSAtLXdpdGhvdXQtc3FsaXRlCiAuZWxzZQotUExJU1RfU1VCKz0JV0lUSF9TUUxJVEU9IiIK
K1BMSVNUX1NVQis9ICAgIFdJVEhfU1FMSVRFPSIiCiBDT05GSUdVUkVfQVJHUys9IC0td2l0aC1z
cWxpdGUKLUxJQl9ERVBFTkRTKz0Jc3FsaXRlOiR7UE9SVFNESVJ9L2RhdGFiYXNlcy9zcWxpdGUy
CitMSUJfREVQRU5EUys9ICBzcWxpdGU6JHtQT1JUU0RJUn0vZGF0YWJhc2VzL3NxbGl0ZTIKKy5l
bmRpZgorCisuaWYgZGVmaW5lZChXSVRIT1VUX0ZBWCkKK1BMSVNUX1NVQis9ICAgIFdJVEhfRkFY
PSJAY29tbWVudCAiCisuZWxzZQorTUFLRV9FTlYrPSAgICAgV0lUSF9GQVg9eWVzCitDT05GSUdV
UkVfQVJHUys9IC0td2l0aC1zcGFuZHNwPXllcworQlVJTERfREVQRU5EUys9CXNwYW5kc3A+PTAu
MC4zOiR7UE9SVFNESVJ9L2NvbW1zL3NwYW5kc3AKK0xJQl9ERVBFTkRTKz0gIHNwYW5kc3AuMDok
e1BPUlRTRElSfS9jb21tcy9zcGFuZHNwCitQTElTVF9TVUIrPSAgICBXSVRIX0ZBWD0iIgorLmVu
ZGlmCisKKy5pZiBkZWZpbmVkKFdJVEhPVVRfSU1BUCkKK1BMSVNUX1NVQis9ICAgIFdJVEhfSU1B
UD0iQGNvbW1lbnQgIgorLmVsc2UKK01BS0VfRU5WKz0gICAgIFdJVEhfSU1BUD15ZXMKK0NPTkZJ
R1VSRV9BUkdTKz0gLS13aXRoLWltYXA9JHtMT0NBTEJBU0V9CitMSUJfREVQRU5EUys9ICBjLWNs
aWVudDQuODoke1BPUlRTRElSfS9tYWlsL2NjbGllbnQKK1BMSVNUX1NVQis9ICAgIFdJVEhfSU1B
UAogLmVuZGlmCiAKIHBvc3QtcGF0Y2g6Ci0JJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3wvdmFyL2xp
Ynwke1BSRUZJWH0vc2hhcmV8ZycgJHtXUktTUkN9L2NvbmZpZ3MvbXVzaWNvbmhvbGQuY29uZi5z
YW1wbGUKKwlAJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3wvdmFyL2xpYnwke1BSRUZJWH0vc2hhcmV8
ZycgJHtXUktTUkN9L2NvbmZpZ3MvbXVzaWNvbmhvbGQuY29uZi5zYW1wbGUKKworcG9zdC1jb25m
aWd1cmU6CisKKy5pZiBkZWZpbmVkKFdJVEhfT0RCQykgJiYgZGVmaW5lZChXSVRIX0lNQVApCisJ
QCR7RUNIT19NU0d9ICAgICIiCisJQCR7RUNIT19NU0d9ICAgICJXQVJOSU5HISEhIFlvdSBjYW4g
Y2hvb3NlIG9ubHkgb25lIG9wdGlvbiBmb3IgYnVpbGQgYXBwX3ZvaWNlbWFpbCIKKwlAJHtFQ0hP
X01TR30gICAgIiIKKy5lbmRpZgorLmlmIGRlZmluZWQoV0lUSF9PREJDKQorCUAke0VDSE9fTVNH
fSAgICAiIgorCUAke0VDSE9fTVNHfSAgICAiSWYgbmVjZXNzYXJ5LCBidWlsZCAgd2l0aCB0aGUg
b3B0aW9uIE9EQkNfU1RPUkFHRSIKKwlAJHtFQ0hPX01TR30gICAgInByZXNzIEN0cmwtQyBhbmQg
cnVuIGZvbGxvd2luZyBjb21tYW5kOiIKKwlAJHtFQ0hPX01TR30gICAgIjEuIGNkIHdvcmsvYXN0
ZXJpc2stMS40LngiCisJQCR7RUNIT19NU0d9ICAgICIyLiBnbWFrZSBtZW51c2VsZWN0IgorCUAk
e0VDSE9fTVNHfSAgICAiMy4gU2VsZWN0ICdWb2ljZW1haWwgQnVpbGQgT3B0aW9ucy0+T0RCQ19T
VE9SQUdFJyIKKy5lbmRpZgorCisuaWYgZGVmaW5lZChXSVRIX0lNQVApCisJQCR7RUNIT19NU0d9
ICAgICIiCisJQCR7RUNIT19NU0d9ICAgICJJZiBuZWNlc3NhcnksIGJ1aWxkICB3aXRoIHRoZSBv
cHRpb24gSU1BUF9TVE9SQUdFIgorCUAke0VDSE9fTVNHfSAgICAicHJlc3MgQ3RybC1DIGFuZCBy
dW4gZm9sbG93aW5nIGNvbW1hbmQ6IgorCUAke0VDSE9fTVNHfSAgICAiMS4gY2Qgd29yay9hc3Rl
cmlzay0xLjQueCIKKwlAJHtFQ0hPX01TR30gICAgIjIuIGdtYWtlIG1lbnVzZWxlY3QiCisJQCR7
RUNIT19NU0d9ICAgICIzLiBTZWxlY3QgJ1ZvaWNlbWFpbCBCdWlsZCBPcHRpb25zLT5JTUFQX1NU
T1JBR0UnIgorLmVuZGlmCisKIAogLmluY2x1ZGUgPGJzZC5wb3J0LnBvc3QubWs+CmRpZmYgLXJ1
TiBhc3Rlcmlzay5vcmlnL2Rpc3RpbmZvIGFzdGVyaXNrL2Rpc3RpbmZvCi0tLSBhc3Rlcmlzay5v
cmlnL2Rpc3RpbmZvCTIwMDctMDctMjcgMDg6NDE6MDkuMDAwMDAwMDAwICswNjAwCisrKyBhc3Rl
cmlzay9kaXN0aW5mbwkyMDA3LTA4LTA5IDExOjM4OjE0LjAwMDAwMDAwMCArMDYwMApAQCAtMSwz
ICsxLDMgQEAKLU1ENSAoYXN0ZXJpc2stMS40LjkudGFyLmd6KSA9IGU0N2Y1YjNjYjUzMjMzMThk
YzhjNmZiNzMxMWI3NjdlCi1TSEEyNTYgKGFzdGVyaXNrLTEuNC45LnRhci5neikgPSBjMWI0MTUw
M2EwYzI5ZmQxZjUxNzJjODM0YTYwYTNjNWFhY2Y0NzJmZDYwYTEyNzJmNzQzNjcyYWYzNjYwMmE2
Ci1TSVpFIChhc3Rlcmlzay0xLjQuOS50YXIuZ3opID0gMTExODIxNDgKK01ENSAoYXN0ZXJpc2st
MS40LjEwLnRhci5neikgPSA2OTA1N2UyOTE2Mjg3ZjZlMmExZTM2ZGJhNmQ2ODAwZAorU0hBMjU2
IChhc3Rlcmlzay0xLjQuMTAudGFyLmd6KSA9IDcyYmJiMTllMzVlYzMwNGRmMDZkY2E3MTdiN2Fj
MmNhZTBkMzQwOWZlNDdjMTdjMmRjZjc1ODUwZjYxZGRiZTEKK1NJWkUgKGFzdGVyaXNrLTEuNC4x
MC50YXIuZ3opID0gMTEyMDgxMjcKZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gt
YXBwczo6YXBwX3J4ZmF4LmMgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtYXBwczo6YXBwX3J4ZmF4LmMK
LS0tIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtYXBwczo6YXBwX3J4ZmF4LmMJMTk3MC0wMS0w
MSAwNTowMDowMC4wMDAwMDAwMDAgKzA1MDAKKysrIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWFwcHM6
OmFwcF9yeGZheC5jCTIwMDctMDctMjMgMTU6MDE6NTcuMDAwMDAwMDAwICswNjAwCkBAIC0wLDAg
KzEsMzgzIEBACistLS0gYXBwcy9hcHBfcnhmYXguYy5vcmlnCVR1ZSBKdWwgMTAgMTU6Mjg6MDQg
MjAwNworKysrIGFwcHMvYXBwX3J4ZmF4LmMJVHVlIEp1bCAxMCAxNToyNzoyOCAyMDA3CitAQCAt
MCwwICsxLDM4MCBAQAorKy8qCisrICogQXN0ZXJpc2sgLS0gQSB0ZWxlcGhvbnkgdG9vbGtpdCBm
b3IgTGludXguCisrICoKKysgKiBUcml2aWFsIGFwcGxpY2F0aW9uIHRvIHJlY2VpdmUgYSBUSUZG
IEZBWCBmaWxlCisrICogCisrICogQ29weXJpZ2h0IChDKSAyMDAzLCBTdGV2ZSBVbmRlcndvb2QK
KysgKgorKyAqIFN0ZXZlIFVuZGVyd29vZCA8c3RldmV1QGNvcHBpY2Uub3JnPgorKyAqCisrICog
VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUsIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJt
cyBvZgorKyAqIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAqLworKworKy8qKiog
TU9EVUxFSU5GTworKyAgICAgICAgIDxkZXBlbmQ+c3BhbmRzcDwvZGVwZW5kPgorKyoqKi8KKysg
CisrI2luY2x1ZGUgImFzdGVyaXNrLmgiCisrCisrQVNURVJJU0tfRklMRV9WRVJTSU9OKF9fRklM
RV9fLCAiJFJldmlzaW9uOiQiKQorKworKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8
c3RkbGliLmg+CisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPGludHR5cGVzLmg+Cisr
I2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8dGlm
ZmlvLmg+CisrCisrI2luY2x1ZGUgPHNwYW5kc3AuaD4KKysKKysjaW5jbHVkZSAiYXN0ZXJpc2sv
bG9jay5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9maWxlLmgiCisrI2luY2x1ZGUgImFzdGVyaXNr
L2xvZ2dlci5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9jaGFubmVsLmgiCisrI2luY2x1ZGUgImFz
dGVyaXNrL3BieC5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9tb2R1bGUuaCIKKysjaW5jbHVkZSAi
YXN0ZXJpc2svbWFuYWdlci5oIgorKworKyNpZm5kZWYgQVNUX01PRFVMRQorKyNkZWZpbmUgQVNU
X01PRFVMRSAiYXBwX3J4ZmF4IgorKyNlbmRpZgorKworK3N0YXRpYyBjaGFyICphcHAgPSAiUnhG
QVgiOworKworK3N0YXRpYyBjaGFyICpzeW5vcHNpcyA9ICJSZWNlaXZlIGEgRkFYIHRvIGEgZmls
ZSI7CisrCisrc3RhdGljIGNoYXIgKmRlc2NyaXAgPSAKKysiICBSeEZBWChmaWxlbmFtZVt8Y2Fs
bGVyXVt8ZGVidWddKTogUmVjZWl2ZXMgYSBGQVggZnJvbSB0aGUgY2hhbm5lbCBpbnRvIHRoZVxu
IgorKyJnaXZlbiBmaWxlbmFtZS4gSWYgdGhlIGZpbGUgZXhpc3RzIGl0IHdpbGwgYmUgb3Zlcndy
aXR0ZW4uIFRoZSBmaWxlXG4iCisrInNob3VsZCBiZSBpbiBUSUZGL0YgZm9ybWF0LlxuIgorKyJU
aGUgXCJjYWxsZXJcIiBvcHRpb24gbWFrZXMgdGhlIGFwcGxpY2F0aW9uIGJlaGF2ZSBhcyBhIGNh
bGxpbmcgbWFjaGluZSxcbiIKKysicmF0aGVyIHRoYW4gdGhlIGFuc3dlcmluZyBtYWNoaW5lLiBU
aGUgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gYmVoYXZlIGFzXG4iCisrImFuIGFuc3dlcmluZyBt
YWNoaW5lLlxuIgorKyJVc2VzIExPQ0FMU1RBVElPTklEIHRvIGlkZW50aWZ5IGl0c2VsZiB0byB0
aGUgcmVtb3RlIGVuZC5cbiIKKysiICAgICBMT0NBTEhFQURFUklORk8gdG8gZ2VuZXJhdGUgYSBo
ZWFkZXIgbGluZSBvbiBlYWNoIHBhZ2UuXG4iCisrIlNldHMgUkVNT1RFU1RBVElPTklEIHRvIHRo
ZSBzZW5kZXIgQ1NJRC5cbiIKKysiICAgICBGQVhQQUdFUyB0byB0aGUgbnVtYmVyIG9mIHBhZ2Vz
IHJlY2VpdmVkLlxuIgorKyIgICAgIEZBWEJJVFJBVEUgdG8gdGhlIHRyYW5zbWl0aW9uIHJhdGUu
XG4iCisrIiAgICAgRkFYUkVTT0xVVElPTiB0byB0aGUgcmVzb2x1dGlvbi5cbiIKKysiUmV0dXJu
cyAtMSB3aGVuIHRoZSB1c2VyIGhhbmdzIHVwLlxuIgorKyJSZXR1cm5zIDAgb3RoZXJ3aXNlLlxu
IjsKKysKKysjZGVmaW5lIE1BWF9CTE9DS19TSVpFIDI0MAorKworK3N0YXRpYyB2b2lkIHNwYW5f
bWVzc2FnZShpbnQgbGV2ZWwsIGNvbnN0IGNoYXIgKm1zZykKKyt7CisrICAgIGludCBhc3RfbGV2
ZWw7CisrICAgIAorKyAgICBpZiAobGV2ZWwgPT0gU1BBTl9MT0dfV0FSTklORykKKysgICAgICAg
IGFzdF9sZXZlbCA9IF9fTE9HX1dBUk5JTkc7CisrICAgIGVsc2UgaWYgKGxldmVsID09IFNQQU5f
TE9HX1dBUk5JTkcpCisrICAgICAgICBhc3RfbGV2ZWwgPSBfX0xPR19XQVJOSU5HOworKyAgICBl
bHNlCisrICAgICAgICBhc3RfbGV2ZWwgPSBfX0xPR19ERUJVRzsKKysgICAgYXN0X2xvZyhhc3Rf
bGV2ZWwsIF9fRklMRV9fLCBfX0xJTkVfXywgX19QUkVUVFlfRlVOQ1RJT05fXywgbXNnKTsKKyt9
CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrI2lmIDAKKytzdGF0aWMgdm9pZCB0MzBfZmx1
c2godDMwX3N0YXRlX3QgKnMsIGludCB3aGljaCkKKyt7CisrICAgIC8qIFRPRE86ICovCisrfQor
Ky8qLSBFbmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKyNlbmRpZgorKworK3N0YXRpYyB2b2lkIHBoYXNlX2Vf
aGFuZGxlcih0MzBfc3RhdGVfdCAqcywgdm9pZCAqdXNlcl9kYXRhLCBpbnQgcmVzdWx0KQorK3sK
KysgICAgc3RydWN0IGFzdF9jaGFubmVsICpjaGFuOworKyAgICB0MzBfc3RhdHNfdCB0OworKyAg
ICBjaGFyIGxvY2FsX2lkZW50WzIxXTsKKysgICAgY2hhciBmYXJfaWRlbnRbMjFdOworKyAgICBj
aGFyIGJ1ZlsxMV07CisrICAgIAorKyAgICBjaGFuID0gKHN0cnVjdCBhc3RfY2hhbm5lbCAqKSB1
c2VyX2RhdGE7CisrICAgIGlmIChyZXN1bHQgPT0gVDMwX0VSUl9PSykKKysgICAgeworKyAgICAg
ICAgdDMwX2dldF90cmFuc2Zlcl9zdGF0aXN0aWNzKHMsICZ0KTsKKysgICAgICAgIHQzMF9nZXRf
ZmFyX2lkZW50KHMsIGZhcl9pZGVudCk7CisrICAgICAgICB0MzBfZ2V0X2xvY2FsX2lkZW50KHMs
IGxvY2FsX2lkZW50KTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09XG4iKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiRmF4IHN1Y2Nlc3Nm
dWxseSByZWNlaXZlZC5cbiIpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJSZW1vdGUg
c3RhdGlvbiBpZDogJXNcbiIsIGZhcl9pZGVudCk7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJV
RywgIkxvY2FsIHN0YXRpb24gaWQ6ICAlc1xuIiwgbG9jYWxfaWRlbnQpOworKyAgICAgICAgYXN0
X2xvZyhMT0dfREVCVUcsICJQYWdlcyB0cmFuc2ZlcnJlZDogJWlcbiIsIHQucGFnZXNfdHJhbnNm
ZXJyZWQpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJJbWFnZSByZXNvbHV0aW9uOiAg
JWkgeCAlaVxuIiwgdC54X3Jlc29sdXRpb24sIHQueV9yZXNvbHV0aW9uKTsKKysgICAgICAgIGFz
dF9sb2coTE9HX0RFQlVHLCAiVHJhbnNmZXIgUmF0ZTogICAgICVpXG4iLCB0LmJpdF9yYXRlKTsK
KysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsK
KysgICAgICAgIG1hbmFnZXJfZXZlbnQoRVZFTlRfRkxBR19DQUxMLAorKyAgICAgICAgICAgICAg
ICAgICAgICAiRmF4UmVjZWl2ZWQiLCAiQ2hhbm5lbDogJXNcbkV4dGVuOiAlc1xuQ2FsbGVySUQ6
ICVzXG5SZW1vdGVTdGF0aW9uSUQ6ICVzXG5Mb2NhbFN0YXRpb25JRDogJXNcblBhZ2VzVHJhbnNm
ZXJyZWQ6ICVpXG5SZXNvbHV0aW9uOiAlaVxuVHJhbnNmZXJSYXRlOiAlaVxuRmlsZU5hbWU6ICVz
XG4iLAorKyAgICAgICAgICAgICAgICAgICAgICBjaGFuLT5uYW1lLAorKyAgICAgICAgICAgICAg
ICAgICAgICBjaGFuLT5leHRlbiwKKysgICAgICAgICAgICAgICAgICAgICAgKGNoYW4tPmNpZC5j
aWRfbnVtKSAgPyAgY2hhbi0+Y2lkLmNpZF9udW0gIDogICIiLAorKyAgICAgICAgICAgICAgICAg
ICAgICBmYXJfaWRlbnQsCisrICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX2lkZW50LAorKyAg
ICAgICAgICAgICAgICAgICAgICB0LnBhZ2VzX3RyYW5zZmVycmVkLAorKyAgICAgICAgICAgICAg
ICAgICAgICB0LnlfcmVzb2x1dGlvbiwKKysgICAgICAgICAgICAgICAgICAgICAgdC5iaXRfcmF0
ZSwKKysgICAgICAgICAgICAgICAgICAgICAgcy0+cnhfZmlsZSk7CisrICAgICAgICBwYnhfYnVp
bHRpbl9zZXR2YXJfaGVscGVyKGNoYW4sICJSRU1PVEVTVEFUSU9OSUQiLCBmYXJfaWRlbnQpOwor
KyAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVpIiwgdC5wYWdlc190cmFuc2Zl
cnJlZCk7CisrICAgICAgICBwYnhfYnVpbHRpbl9zZXR2YXJfaGVscGVyKGNoYW4sICJGQVhQQUdF
UyIsIGJ1Zik7CisrICAgICAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWkiLCB0Lnlf
cmVzb2x1dGlvbik7CisrICAgICAgICBwYnhfYnVpbHRpbl9zZXR2YXJfaGVscGVyKGNoYW4sICJG
QVhSRVNPTFVUSU9OIiwgYnVmKTsKKysgICAgICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1Ziks
ICIlaSIsIHQuYml0X3JhdGUpOworKyAgICAgICAgcGJ4X2J1aWx0aW5fc2V0dmFyX2hlbHBlcihj
aGFuLCAiRkFYQklUUkFURSIsIGJ1Zik7CisrICAgIH0KKysgICAgZWxzZQorKyAgICB7CisrICAg
ICAgICBhc3RfbG9nKExPR19ERUJVRywgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CisrICAg
ICAgICBhc3RfbG9nKExPR19ERUJVRywgIkZheCByZWNlaXZlIG5vdCBzdWNjZXNzZnVsIC0gcmVz
dWx0ICglZCkgJXMuXG4iLCByZXN1bHQsIHQzMF9jb21wbGV0aW9uX2NvZGVfdG9fc3RyKHJlc3Vs
dCkpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICI9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1c
biIpOworKyAgICB9CisrfQorKy8qLSBFbmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKworK3N0YXRpYyB2b2lk
IHBoYXNlX2RfaGFuZGxlcih0MzBfc3RhdGVfdCAqcywgdm9pZCAqdXNlcl9kYXRhLCBpbnQgcmVz
dWx0KQorK3sKKysgICAgc3RydWN0IGFzdF9jaGFubmVsICpjaGFuOworKyAgICB0MzBfc3RhdHNf
dCB0OworKyAgICAKKysgICAgY2hhbiA9IChzdHJ1Y3QgYXN0X2NoYW5uZWwgKikgdXNlcl9kYXRh
OworKyAgICBpZiAocmVzdWx0KQorKyAgICB7CisrICAgICAgICB0MzBfZ2V0X3RyYW5zZmVyX3N0
YXRpc3RpY3MocywgJnQpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICI9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT1cbiIpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJQYWdlcyB0cmFu
c2ZlcnJlZDogICVpXG4iLCB0LnBhZ2VzX3RyYW5zZmVycmVkKTsKKysgICAgICAgIGFzdF9sb2co
TE9HX0RFQlVHLCAiSW1hZ2Ugc2l6ZTogICAgICAgICAlaSB4ICVpXG4iLCB0LndpZHRoLCB0Lmxl
bmd0aCk7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIkltYWdlIHJlc29sdXRpb24gICAg
JWkgeCAlaVxuIiwgdC54X3Jlc29sdXRpb24sIHQueV9yZXNvbHV0aW9uKTsKKysgICAgICAgIGFz
dF9sb2coTE9HX0RFQlVHLCAiVHJhbnNmZXIgUmF0ZTogICAgICAlaVxuIiwgdC5iaXRfcmF0ZSk7
CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIkJhZCByb3dzICAgICAgICAgICAgJWlcbiIs
IHQuYmFkX3Jvd3MpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJMb25nZXN0IGJhZCBy
b3cgcnVuICVpXG4iLCB0Lmxvbmdlc3RfYmFkX3Jvd19ydW4pOworKyAgICAgICAgYXN0X2xvZyhM
T0dfREVCVUcsICJDb21wcmVzc2lvbiB0eXBlICAgICVpXG4iLCB0LmVuY29kaW5nKTsKKysgICAg
ICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiSW1hZ2Ugc2l6ZSAoYnl0ZXMpICAlaVxuIiwgdC5pbWFn
ZV9zaXplKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09XG4iKTsKKysgICAgfQorK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysKKytzdGF0aWMg
aW50IHJ4ZmF4X2V4ZWMoc3RydWN0IGFzdF9jaGFubmVsICpjaGFuLCB2b2lkICpkYXRhKQorK3sK
KysgICAgaW50IHJlcyA9IDA7CisrICAgIGNoYXIgdGVtcGxhdGVfZmlsZVsyNTZdOworKyAgICBj
aGFyIHRhcmdldF9maWxlWzI1Nl07CisrICAgIGNoYXIgKnM7CisrICAgIGNoYXIgKnQ7CisrICAg
IGNoYXIgKnY7CisrICAgIGNvbnN0IGNoYXIgKng7CisrICAgIGludCBvcHRpb247CisrICAgIGlu
dCBsZW47CisrICAgIGludCBpOworKyAgICBmYXhfc3RhdGVfdCBmYXg7CisrICAgIGludCBjYWxs
aW5nX3BhcnR5OworKyAgICBpbnQgdmVyYm9zZTsKKysgICAgaW50IHNhbXBsZXM7CisrCisrICAg
IHN0cnVjdCBhc3RfbW9kdWxlX3VzZXIgKnU7CisrICAgIHN0cnVjdCBhc3RfZnJhbWUgKmluZiA9
IE5VTEw7CisrICAgIHN0cnVjdCBhc3RfZnJhbWUgb3V0ZjsKKysKKysgICAgaW50IG9yaWdpbmFs
X3JlYWRfZm10OworKyAgICBpbnQgb3JpZ2luYWxfd3JpdGVfZm10OworKyAgICAKKysgICAgdWlu
dDhfdCBfX2J1ZltzaXplb2YodWludDE2X3QpKk1BWF9CTE9DS19TSVpFICsgMipBU1RfRlJJRU5E
TFlfT0ZGU0VUXTsKKysgICAgdWludDhfdCAqYnVmID0gX19idWYgKyBBU1RfRlJJRU5ETFlfT0ZG
U0VUOworKworKyAgICBpZiAoY2hhbiA9PSBOVUxMKQorKyAgICB7CisrICAgICAgICBhc3RfbG9n
KExPR19XQVJOSU5HLCAiRmF4IHJlY2VpdmUgY2hhbm5lbCBpcyBOVUxMLiBHaXZpbmcgdXAuXG4i
KTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKworKyAgICBzcGFuX3NldF9tZXNzYWdl
X2hhbmRsZXIoc3Bhbl9tZXNzYWdlKTsKKysKKysgICAgLyogVGhlIG5leHQgZmV3IGxpbmVzIG9m
IGNvZGUgcGFyc2Ugb3V0IHRoZSBmaWxlbmFtZSBhbmQgaGVhZGVyIGZyb20gdGhlIGlucHV0IHN0
cmluZyAqLworKyAgICBpZiAoZGF0YSA9PSBOVUxMKQorKyAgICB7CisrICAgICAgICAvKiBObyBk
YXRhIGltcGxpZXMgbm8gZmlsZW5hbWUgb3IgYW55dGhpbmcgaXMgcHJlc2VudCAqLworKyAgICAg
ICAgYXN0X2xvZyhMT0dfV0FSTklORywgIlJ4ZmF4IHJlcXVpcmVzIGFuIGFyZ3VtZW50IChmaWxl
bmFtZSlcbiIpOworKyAgICAgICAgcmV0dXJuIC0xOworKyAgICB9CisrICAgIAorKyAgICBjYWxs
aW5nX3BhcnR5ID0gRkFMU0U7CisrICAgIHZlcmJvc2UgPSBGQUxTRTsKKysgICAgdGFyZ2V0X2Zp
bGVbMF0gPSAnXDAnOworKworKyAgICBmb3IgKG9wdGlvbiA9IDAsIHYgPSBzID0gZGF0YTsgIHY7
ICBvcHRpb24rKywgcysrKQorKyAgICB7CisrICAgICAgICB0ID0gczsKKysgICAgICAgIHYgPSBz
dHJjaHIocywgJ3wnKTsKKysgICAgICAgIHMgPSAodikgID8gIHYgIDogIHMgKyBzdHJsZW4ocyk7
CisrICAgICAgICBzdHJuY3B5KChjaGFyICopIGJ1ZiwgdCwgcyAtIHQpOworKyAgICAgICAgYnVm
W3MgLSB0XSA9ICdcMCc7CisrICAgICAgICBpZiAob3B0aW9uID09IDApCisrICAgICAgICB7Cisr
ICAgICAgICAgICAgLyogVGhlIGZpcnN0IG9wdGlvbiBpcyBhbHdheXMgdGhlIGZpbGUgbmFtZSAq
LworKyAgICAgICAgICAgIGxlbiA9IHMgLSB0OworKyAgICAgICAgICAgIGlmIChsZW4gPiAyNTUp
CisrICAgICAgICAgICAgICAgIGxlbiA9IDI1NTsKKysgICAgICAgICAgICBzdHJuY3B5KHRhcmdl
dF9maWxlLCB0LCBsZW4pOworKyAgICAgICAgICAgIHRhcmdldF9maWxlW2xlbl0gPSAnXDAnOwor
KyAgICAgICAgICAgIC8qIEFsbG93IHRoZSB1c2Ugb2YgJWQgaW4gdGhlIGZpbGUgbmFtZSBmb3Ig
YSB3aWxkIGNhcmQgb2Ygc29ydHMsIHRvCisrICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IGZp
bGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgc2NoZW1lICovCisrICAgICAgICAgICAgaWYgKCh4
ID0gc3RyY2hyKHRhcmdldF9maWxlLCAnJScpKSAgJiYgIHhbMV0gPT0gJ2QnKQorKyAgICAgICAg
ICAgIHsKKysgICAgICAgICAgICAgICAgc3RyY3B5KHRlbXBsYXRlX2ZpbGUsIHRhcmdldF9maWxl
KTsKKysgICAgICAgICAgICAgICAgaSA9IDA7CisrICAgICAgICAgICAgICAgIGRvCisrICAgICAg
ICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIHNucHJpbnRmKHRhcmdldF9maWxlLCAy
NTYsIHRlbXBsYXRlX2ZpbGUsIDEpOworKyAgICAgICAgICAgICAgICAgICAgaSsrOworKyAgICAg
ICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIHdoaWxlIChhc3RfZmlsZWV4aXN0cyh0YXJn
ZXRfZmlsZSwgIiIsIGNoYW4tPmxhbmd1YWdlKSAhPSAtMSk7CisrICAgICAgICAgICAgfQorKyAg
ICAgICAgfQorKyAgICAgICAgZWxzZSBpZiAoc3RybmNtcCgiY2FsbGVyIiwgdCwgcyAtIHQpID09
IDApCisrICAgICAgICB7CisrICAgICAgICAgICAgY2FsbGluZ19wYXJ0eSA9IFRSVUU7CisrICAg
ICAgICB9CisrICAgICAgICBlbHNlIGlmIChzdHJuY21wKCJkZWJ1ZyIsIHQsIHMgLSB0KSA9PSAw
KQorKyAgICAgICAgeworKyAgICAgICAgICAgIHZlcmJvc2UgPSBUUlVFOworKyAgICAgICAgfQor
KyAgICB9CisrCisrICAgIC8qIERvbmUgcGFyc2luZyAqLworKworKyAgICB1ID0gYXN0X21vZHVs
ZV91c2VyX2FkZChjaGFuKTsKKysKKysgICAgaWYgKGNoYW4tPl9zdGF0ZSAhPSBBU1RfU1RBVEVf
VVApCisrICAgIHsKKysgICAgICAgIC8qIFNob3VsZG4ndCBuZWVkIHRoaXMsIGJ1dCBjaGVja2lu
ZyB0byBzZWUgaWYgY2hhbm5lbCBpcyBhbHJlYWR5IGFuc3dlcmVkCisrICAgICAgICAgKiBUaGVv
cmV0aWNhbGx5IGFzdGVyaXNrIHNob3VsZCBhbHJlYWR5IGhhdmUgYW5zd2VyZWQgYmVmb3JlIHJ1
bm5pbmcgdGhlIGFwcCAqLworKyAgICAgICAgcmVzID0gYXN0X2Fuc3dlcihjaGFuKTsKKysgICAg
fQorKyAgICAKKysgICAgaWYgKCFyZXMpCisrICAgIHsKKysgICAgICAgIG9yaWdpbmFsX3JlYWRf
Zm10ID0gY2hhbi0+cmVhZGZvcm1hdDsKKysgICAgICAgIGlmIChvcmlnaW5hbF9yZWFkX2ZtdCAh
PSBBU1RfRk9STUFUX1NMSU5FQVIpCisrICAgICAgICB7CisrICAgICAgICAgICAgcmVzID0gYXN0
X3NldF9yZWFkX2Zvcm1hdChjaGFuLCBBU1RfRk9STUFUX1NMSU5FQVIpOworKyAgICAgICAgICAg
IGlmIChyZXMgPCAwKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgYXN0X2xvZyhM
T0dfV0FSTklORywgIlVuYWJsZSB0byBzZXQgdG8gbGluZWFyIHJlYWQgbW9kZSwgZ2l2aW5nIHVw
XG4iKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworKyAgICAgICAgICAgIH0KKysgICAg
ICAgIH0KKysgICAgICAgIG9yaWdpbmFsX3dyaXRlX2ZtdCA9IGNoYW4tPndyaXRlZm9ybWF0Owor
KyAgICAgICAgaWYgKG9yaWdpbmFsX3dyaXRlX2ZtdCAhPSBBU1RfRk9STUFUX1NMSU5FQVIpCisr
ICAgICAgICB7CisrICAgICAgICAgICAgcmVzID0gYXN0X3NldF93cml0ZV9mb3JtYXQoY2hhbiwg
QVNUX0ZPUk1BVF9TTElORUFSKTsKKysgICAgICAgICAgICBpZiAocmVzIDwgMCkKKysgICAgICAg
ICAgICB7CisrICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8g
c2V0IHRvIGxpbmVhciB3cml0ZSBtb2RlLCBnaXZpbmcgdXBcbiIpOworKyAgICAgICAgICAgICAg
ICByZXMgPSBhc3Rfc2V0X3JlYWRfZm9ybWF0KGNoYW4sIG9yaWdpbmFsX3JlYWRfZm10KTsKKysg
ICAgICAgICAgICAgICAgaWYgKHJlcykKKysgICAgICAgICAgICAgICAgICAgIGFzdF9sb2coTE9H
X1dBUk5JTkcsICJVbmFibGUgdG8gcmVzdG9yZSByZWFkIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFu
LT5uYW1lKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworKyAgICAgICAgICAgIH0KKysg
ICAgICAgIH0KKysgICAgICAgIGZheF9pbml0KCZmYXgsIGNhbGxpbmdfcGFydHkpOworKyAgICAg
ICAgaWYgKHZlcmJvc2UpCisrICAgICAgICAgICAgZmF4LmxvZ2dpbmcubGV2ZWwgPSBTUEFOX0xP
R19TSE9XX1NFVkVSSVRZIHwgU1BBTl9MT0dfU0hPV19QUk9UT0NPTCB8IFNQQU5fTE9HX0ZMT1c7
CisrICAgICAgICB4ID0gcGJ4X2J1aWx0aW5fZ2V0dmFyX2hlbHBlcihjaGFuLCAiTE9DQUxTVEFU
SU9OSUQiKTsKKysgICAgICAgIGlmICh4ICAmJiAgeFswXSkKKysgICAgICAgICAgICB0MzBfc2V0
X2xvY2FsX2lkZW50KCZmYXgudDMwX3N0YXRlLCB4KTsKKysgICAgICAgIHggPSBwYnhfYnVpbHRp
bl9nZXR2YXJfaGVscGVyKGNoYW4sICJMT0NBTEhFQURFUklORk8iKTsKKysgICAgICAgIGlmICh4
ICAmJiAgeFswXSkKKysgICAgICAgICAgICB0MzBfc2V0X2hlYWRlcl9pbmZvKCZmYXgudDMwX3N0
YXRlLCB4KTsKKysgICAgICAgIHQzMF9zZXRfcnhfZmlsZSgmZmF4LnQzMF9zdGF0ZSwgdGFyZ2V0
X2ZpbGUsIC0xKTsKKysgICAgICAgIC8vdDMwX3NldF9waGFzZV9iX2hhbmRsZXIoJmZheC50MzBf
c3RhdGUsIHBoYXNlX2JfaGFuZGxlciwgY2hhbik7CisrICAgICAgICB0MzBfc2V0X3BoYXNlX2Rf
aGFuZGxlcigmZmF4LnQzMF9zdGF0ZSwgcGhhc2VfZF9oYW5kbGVyLCBjaGFuKTsKKysgICAgICAg
IHQzMF9zZXRfcGhhc2VfZV9oYW5kbGVyKCZmYXgudDMwX3N0YXRlLCBwaGFzZV9lX2hhbmRsZXIs
IGNoYW4pOworKyAgICAgICAgdDMwX3NldF9lY21fY2FwYWJpbGl0eSgmZmF4LnQzMF9zdGF0ZSwg
VFJVRSk7CisrICAgICAgICB0MzBfc2V0X3N1cHBvcnRlZF9jb21wcmVzc2lvbnMoJmZheC50MzBf
c3RhdGUsIFQzMF9TVVBQT1JUX1Q0XzFEX0NPTVBSRVNTSU9OIHwgVDMwX1NVUFBPUlRfVDRfMkRf
Q09NUFJFU1NJT04gfCBUMzBfU1VQUE9SVF9UNl9DT01QUkVTU0lPTik7CisrICAgICAgICB3aGls
ZSAoYXN0X3dhaXRmb3IoY2hhbiwgLTEpID4gLTEpCisrICAgICAgICB7CisrICAgICAgICAgICAg
aW5mID0gYXN0X3JlYWQoY2hhbik7CisrICAgICAgICAgICAgaWYgKGluZiA9PSBOVUxMKQorKyAg
ICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgcmVzID0gLTE7CisrICAgICAgICAgICAgICAg
IGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgICBpZiAoaW5mLT5mcmFtZXR5cGUg
PT0gQVNUX0ZSQU1FX1ZPSUNFKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgaWYg
KGZheF9yeCgmZmF4LCBpbmYtPmRhdGEsIGluZi0+c2FtcGxlcykpCisrICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgc2FtcGxlcyA9IChpbmYtPnNhbXBsZXMgPD0g
TUFYX0JMT0NLX1NJWkUpICA/ICBpbmYtPnNhbXBsZXMgIDogIE1BWF9CTE9DS19TSVpFOworKyAg
ICAgICAgICAgICAgICBsZW4gPSBmYXhfdHgoJmZheCwgKGludDE2X3QgKikgJmJ1ZltBU1RfRlJJ
RU5ETFlfT0ZGU0VUXSwgc2FtcGxlcyk7CisrICAgICAgICAgICAgICAgIGlmIChsZW4pCisrICAg
ICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIG1lbXNldCgmb3V0ZiwgMCwgc2l6
ZW9mKG91dGYpKTsKKysgICAgICAgICAgICAgICAgICAgIG91dGYuZnJhbWV0eXBlID0gQVNUX0ZS
QU1FX1ZPSUNFOworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5zdWJjbGFzcyA9IEFTVF9GT1JN
QVRfU0xJTkVBUjsKKysgICAgICAgICAgICAgICAgICAgIG91dGYuZGF0YWxlbiA9IGxlbipzaXpl
b2YoaW50MTZfdCk7CisrICAgICAgICAgICAgICAgICAgICBvdXRmLnNhbXBsZXMgPSBsZW47Cisr
ICAgICAgICAgICAgICAgICAgICBvdXRmLmRhdGEgPSAmYnVmW0FTVF9GUklFTkRMWV9PRkZTRVRd
OworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5vZmZzZXQgPSBBU1RfRlJJRU5ETFlfT0ZGU0VU
OworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5zcmMgPSAiUnhGQVgiOworKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGFzdF93cml0ZShjaGFuLCAmb3V0ZikgPCAwKQorKyAgICAgICAgICAgICAg
ICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJV
bmFibGUgdG8gd3JpdGUgZnJhbWUgdG8gY2hhbm5lbDsgJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7
CisrICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgICAgICB9
CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgYXN0X2Zy
ZnJlZShpbmYpOworKyAgICAgICAgfQorKyAgICAgICAgaWYgKGluZiA9PSBOVUxMKQorKyAgICAg
ICAgeworKyAgICAgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiR290IGhhbmd1cFxuIik7Cisr
ICAgICAgICAgICAgcmVzID0gLTE7CisrICAgICAgICB9CisrICAgICAgICBpZiAob3JpZ2luYWxf
cmVhZF9mbXQgIT0gQVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAg
IHJlcyA9IGFzdF9zZXRfcmVhZF9mb3JtYXQoY2hhbiwgb3JpZ2luYWxfcmVhZF9mbXQpOworKyAg
ICAgICAgICAgIGlmIChyZXMpCisrICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcs
ICJVbmFibGUgdG8gcmVzdG9yZSByZWFkIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFuLT5uYW1lKTsK
KysgICAgICAgIH0KKysgICAgICAgIGlmIChvcmlnaW5hbF93cml0ZV9mbXQgIT0gQVNUX0ZPUk1B
VF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfd3JpdGVf
Zm9ybWF0KGNoYW4sIG9yaWdpbmFsX3dyaXRlX2ZtdCk7CisrICAgICAgICAgICAgaWYgKHJlcykK
KysgICAgICAgICAgICAgICAgYXN0X2xvZyhMT0dfV0FSTklORywgIlVuYWJsZSB0byByZXN0b3Jl
IHdyaXRlIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgICAgIH0KKysgICAg
ICAgIHQzMF90ZXJtaW5hdGUoJmZheC50MzBfc3RhdGUpOworKyAgICB9CisrICAgIGVsc2UKKysg
ICAgeworKyAgICAgICAgYXN0X2xvZyhMT0dfV0FSTklORywgIkNvdWxkIG5vdCBhbnN3ZXIgY2hh
bm5lbCAnJXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgfQorKyAgICBhc3RfbW9kdWxlX3VzZXJf
cmVtb3ZlKHUpOworKyAgICByZXR1cm4gcmVzOworK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8K
KysKKytzdGF0aWMgaW50IHVubG9hZF9tb2R1bGUodm9pZCkKKyt7CisrCWludCByZXM7CisrCisr
CWFzdF9tb2R1bGVfdXNlcl9oYW5ndXBfYWxsKCk7CisrCisrCXJlcyA9IGFzdF91bnJlZ2lzdGVy
X2FwcGxpY2F0aW9uKGFwcCk7CQorKwkKKysKKysJcmV0dXJuIHJlczsKKyt9CisrLyotIEVuZCBv
ZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSovCisrCisrc3RhdGljIGludCBsb2FkX21vZHVsZSh2b2lkKQorK3sKKysJcmV0
dXJuIGFzdF9yZWdpc3Rlcl9hcHBsaWNhdGlvbihhcHAsIHJ4ZmF4X2V4ZWMsIHN5bm9wc2lzLCBk
ZXNjcmlwKTsKKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrQVNUX01PRFVMRV9JTkZP
X1NUQU5EQVJEKEFTVEVSSVNLX0dQTF9LRVksICJUcml2aWFsIEZBWCBSZWNlaXZlIEFwcGxpY2F0
aW9uIik7CisrCisrLyotIEVuZCBvZiBmaWxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmln
L2ZpbGVzL3BhdGNoLWFwcHM6OmFwcF90eGZheC5jIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWFwcHM6
OmFwcF90eGZheC5jCi0tLSBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLWFwcHM6OmFwcF90eGZh
eC5jCTE5NzAtMDEtMDEgMDU6MDA6MDAuMDAwMDAwMDAwICswNTAwCisrKyBhc3Rlcmlzay9maWxl
cy9wYXRjaC1hcHBzOjphcHBfdHhmYXguYwkyMDA3LTA3LTIzIDE1OjAxOjU3LjAwMDAwMDAwMCAr
MDYwMApAQCAtMCwwICsxLDMwOSBAQAorLS0tIGFwcHMvYXBwX3R4ZmF4LmMub3JpZwlUdWUgSnVs
IDEwIDE1OjI4OjEzIDIwMDcKKysrKyBhcHBzL2FwcF90eGZheC5jCVR1ZSBKdWwgMTAgMTU6Mjc6
MzcgMjAwNworQEAgLTAsMCArMSwzMDYgQEAKKysvKgorKyAqIEFzdGVyaXNrIC0tIEEgdGVsZXBo
b255IHRvb2xraXQgZm9yIExpbnV4LgorKyAqCisrICogVHJpdmlhbCBhcHBsaWNhdGlvbiB0byBz
ZW5kIGEgVElGRiBmaWxlIGFzIGEgRkFYCisrICogCisrICogQ29weXJpZ2h0IChDKSAyMDAzLCBT
dGV2ZSBVbmRlcndvb2QKKysgKgorKyAqIFN0ZXZlIFVuZGVyd29vZCA8c3RldmV1QGNvcHBpY2Uu
b3JnPgorKyAqCisrICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUsIGRpc3RyaWJ1dGVk
IHVuZGVyIHRoZSB0ZXJtcyBvZgorKyAqIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
KyAqLworKworKy8qKiogTU9EVUxFSU5GTworKyAgICAgICAgIDxkZXBlbmQ+c3BhbmRzcDwvZGVw
ZW5kPgorKyoqKi8KKysgCisrI2luY2x1ZGUgImFzdGVyaXNrLmgiCisrCisrQVNURVJJU0tfRklM
RV9WRVJTSU9OKF9fRklMRV9fLCAiJFJldmlzaW9uOiQiKQorKworKyNpbmNsdWRlIDxzdHJpbmcu
aD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUg
PGludHR5cGVzLmg+CisrI2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4K
KysjaW5jbHVkZSA8dGlmZmlvLmg+CisrCisrI2luY2x1ZGUgPHNwYW5kc3AuaD4KKysKKysjaW5j
bHVkZSAiYXN0ZXJpc2svbG9jay5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9maWxlLmgiCisrI2lu
Y2x1ZGUgImFzdGVyaXNrL2xvZ2dlci5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9jaGFubmVsLmgi
CisrI2luY2x1ZGUgImFzdGVyaXNrL3BieC5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9tb2R1bGUu
aCIKKysKKysjaWZuZGVmIEFTVF9NT0RVTEUKKysjZGVmaW5lIEFTVF9NT0RVTEUgImFwcF90eGZh
eCIKKysjZW5kaWYKKysKKytzdGF0aWMgY2hhciAqYXBwID0gIlR4RkFYIjsKKysKKytzdGF0aWMg
Y2hhciAqc3lub3BzaXMgPSAiU2VuZCBhIEZBWCBmaWxlIjsKKysKKytzdGF0aWMgY2hhciAqZGVz
Y3JpcCA9IAorKyIgIFR4RkFYKGZpbGVuYW1lW3xjYWxsZXJdW3xkZWJ1Z10pOiAgU2VuZCBhIGdp
dmVuIFRJRkYgZmlsZSB0byB0aGUgY2hhbm5lbCBhcyBhIEZBWC5cbiIKKysiVGhlIFwiY2FsbGVy
XCIgb3B0aW9uIG1ha2VzIHRoZSBhcHBsaWNhdGlvbiBiZWhhdmUgYXMgYSBjYWxsaW5nIG1hY2hp
bmUsXG4iCisrInJhdGhlciB0aGFuIHRoZSBhbnN3ZXJpbmcgbWFjaGluZS4gVGhlIGRlZmF1bHQg
YmVoYXZpb3VyIGlzIHRvIGJlaGF2ZSBhc1xuIgorKyJhbiBhbnN3ZXJpbmcgbWFjaGluZS5cbiIK
KysiVXNlcyBMT0NBTFNUQVRJT05JRCB0byBpZGVudGlmeSBpdHNlbGYgdG8gdGhlIHJlbW90ZSBl
bmQuXG4iCisrIiAgICAgTE9DQUxIRUFERVJJTkZPIHRvIGdlbmVyYXRlIGEgaGVhZGVyIGxpbmUg
b24gZWFjaCBwYWdlLlxuIgorKyJTZXRzIFJFTU9URVNUQVRJT05JRCB0byB0aGUgcmVjZWl2ZXIg
Q1NJRC5cbiIKKysiUmV0dXJucyAtMSB3aGVuIHRoZSB1c2VyIGhhbmdzIHVwLCBvciBpZiB0aGUg
ZmlsZSBkb2VzIG5vdCBleGlzdC5cbiIKKysiUmV0dXJucyAwIG90aGVyd2lzZS5cbiI7CisrCisr
I2RlZmluZSBNQVhfQkxPQ0tfU0laRSAyNDAKKysKKytzdGF0aWMgdm9pZCBzcGFuX21lc3NhZ2Uo
aW50IGxldmVsLCBjb25zdCBjaGFyICptc2cpCisreworKyAgICBpbnQgYXN0X2xldmVsOworKyAg
ICAKKysgICAgaWYgKGxldmVsID09IFNQQU5fTE9HX1dBUk5JTkcpCisrICAgICAgICBhc3RfbGV2
ZWwgPSBfX0xPR19XQVJOSU5HOworKyAgICBlbHNlIGlmIChsZXZlbCA9PSBTUEFOX0xPR19XQVJO
SU5HKQorKyAgICAgICAgYXN0X2xldmVsID0gX19MT0dfV0FSTklORzsKKysgICAgZWxzZQorKyAg
ICAgICAgYXN0X2xldmVsID0gX19MT0dfREVCVUc7CisrICAgIGFzdF9sb2coYXN0X2xldmVsLCBf
X0ZJTEVfXywgX19MSU5FX18sIF9fUFJFVFRZX0ZVTkNUSU9OX18sIG1zZyk7CisrfQorKy8qLSBF
bmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0qLworKworKyNpZiAwCisrc3RhdGljIHZvaWQgdDMwX2ZsdXNoKHQzMF9z
dGF0ZV90ICpzLCBpbnQgd2hpY2gpCisreworKyAgICAvKiBUT0RPOiAqLworK30KKysvKi0gRW5k
IG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tKi8KKysjZW5kaWYKKysKKytzdGF0aWMgdm9pZCBwaGFzZV9lX2hhbmRsZXIo
dDMwX3N0YXRlX3QgKnMsIHZvaWQgKnVzZXJfZGF0YSwgaW50IHJlc3VsdCkKKyt7CisrICAgIHN0
cnVjdCBhc3RfY2hhbm5lbCAqY2hhbjsKKysgICAgY2hhciBmYXJfaWRlbnRbMjFdOworKyAgICAK
KysgICAgY2hhbiA9IChzdHJ1Y3QgYXN0X2NoYW5uZWwgKikgdXNlcl9kYXRhOworKyAgICBpZiAo
cmVzdWx0ID09IFQzMF9FUlJfT0spCisrICAgIHsKKysgICAgICAgIHQzMF9nZXRfZmFyX2lkZW50
KHMsIGZhcl9pZGVudCk7CisrICAgICAgICBwYnhfYnVpbHRpbl9zZXR2YXJfaGVscGVyKGNoYW4s
ICJSRU1PVEVTVEFUSU9OSUQiLCBmYXJfaWRlbnQpOworKyAgICB9CisrICAgIGVsc2UKKysgICAg
eworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICI9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIp
OworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJGYXggc2VuZCBub3Qgc3VjY2Vzc2Z1bCAt
IHJlc3VsdCAoJWQpICVzLlxuIiwgcmVzdWx0LCB0MzBfY29tcGxldGlvbl9jb2RlX3RvX3N0cihy
ZXN1bHQpKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09XG4iKTsKKysgICAgfQorK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysKKytzdGF0aWMg
aW50IHR4ZmF4X2V4ZWMoc3RydWN0IGFzdF9jaGFubmVsICpjaGFuLCB2b2lkICpkYXRhKQorK3sK
KysgICAgaW50IHJlcyA9IDA7CisrICAgIGNoYXIgc291cmNlX2ZpbGVbMjU2XTsKKysgICAgY2hh
ciAqczsKKysgICAgY2hhciAqdDsKKysgICAgY2hhciAqdjsKKysgICAgY29uc3QgY2hhciAqeDsK
KysgICAgaW50IG9wdGlvbjsKKysgICAgaW50IGxlbjsKKysgICAgZmF4X3N0YXRlX3QgZmF4Owor
KyAgICBpbnQgY2FsbGluZ19wYXJ0eTsKKysgICAgaW50IHZlcmJvc2U7CisrICAgIGludCBzYW1w
bGVzOworKyAgICAKKysgICAgc3RydWN0IGFzdF9tb2R1bGVfdXNlciAqdTsKKysgICAgc3RydWN0
IGFzdF9mcmFtZSAqaW5mID0gTlVMTDsKKysgICAgc3RydWN0IGFzdF9mcmFtZSBvdXRmOworKwor
KyAgICBpbnQgb3JpZ2luYWxfcmVhZF9mbXQ7CisrICAgIGludCBvcmlnaW5hbF93cml0ZV9mbXQ7
CisrICAgIAorKyAgICB1aW50OF90IF9fYnVmW3NpemVvZih1aW50MTZfdCkqTUFYX0JMT0NLX1NJ
WkUgKyAyKkFTVF9GUklFTkRMWV9PRkZTRVRdOworKyAgICB1aW50OF90ICpidWYgPSBfX2J1ZiAr
IEFTVF9GUklFTkRMWV9PRkZTRVQ7CisrCisrICAgIGlmIChjaGFuID09IE5VTEwpCisrICAgIHsK
KysgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJGYXggdHJhbnNtaXQgY2hhbm5lbCBpcyBO
VUxMLiBHaXZpbmcgdXAuXG4iKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKworKyAg
ICBzcGFuX3NldF9tZXNzYWdlX2hhbmRsZXIoc3Bhbl9tZXNzYWdlKTsKKysKKysgICAgLyogVGhl
IG5leHQgZmV3IGxpbmVzIG9mIGNvZGUgcGFyc2Ugb3V0IHRoZSBmaWxlbmFtZSBhbmQgaGVhZGVy
IGZyb20gdGhlIGlucHV0IHN0cmluZyAqLworKyAgICBpZiAoZGF0YSA9PSBOVUxMKQorKyAgICB7
CisrICAgICAgICAvKiBObyBkYXRhIGltcGxpZXMgbm8gZmlsZW5hbWUgb3IgYW55dGhpbmcgaXMg
cHJlc2VudCAqLworKyAgICAgICAgYXN0X2xvZyhMT0dfV0FSTklORywgIlR4ZmF4IHJlcXVpcmVz
IGFuIGFyZ3VtZW50IChmaWxlbmFtZSlcbiIpOworKyAgICAgICAgcmV0dXJuIC0xOworKyAgICB9
CisrICAgIAorKyAgICBjYWxsaW5nX3BhcnR5ID0gRkFMU0U7CisrICAgIHZlcmJvc2UgPSBGQUxT
RTsKKysgICAgc291cmNlX2ZpbGVbMF0gPSAnXDAnOyAKKysKKysgICAgZm9yIChvcHRpb24gPSAw
LCB2ID0gcyA9IGRhdGE7ICB2OyAgb3B0aW9uKyssIHMrKykKKysgICAgeworKyAgICAgICAgdCA9
IHM7CisrICAgICAgICB2ID0gc3RyY2hyKHMsICd8Jyk7CisrICAgICAgICBzID0gKHYpICA/ICB2
ICA6ICBzICsgc3RybGVuKHMpOworKyAgICAgICAgc3RybmNweSgoY2hhciAqKSBidWYsIHQsIHMg
LSB0KTsKKysgICAgICAgIGJ1ZltzIC0gdF0gPSAnXDAnOworKyAgICAgICAgaWYgKG9wdGlvbiA9
PSAwKQorKyAgICAgICAgeworKyAgICAgICAgICAgIC8qIFRoZSBmaXJzdCBvcHRpb24gaXMgYWx3
YXlzIHRoZSBmaWxlIG5hbWUgKi8KKysgICAgICAgICAgICBsZW4gPSBzIC0gdDsKKysgICAgICAg
ICAgICBpZiAobGVuID4gMjU1KQorKyAgICAgICAgICAgICAgICBsZW4gPSAyNTU7CisrICAgICAg
ICAgICAgc3RybmNweShzb3VyY2VfZmlsZSwgdCwgbGVuKTsKKysgICAgICAgICAgICBzb3VyY2Vf
ZmlsZVtsZW5dID0gJ1wwJzsKKysgICAgICAgIH0KKysgICAgICAgIGVsc2UgaWYgKHN0cm5jbXAo
ImNhbGxlciIsIHQsIHMgLSB0KSA9PSAwKQorKyAgICAgICAgeworKyAgICAgICAgICAgIGNhbGxp
bmdfcGFydHkgPSBUUlVFOworKyAgICAgICAgfQorKyAgICAgICAgZWxzZSBpZiAoc3RybmNtcCgi
ZGVidWciLCB0LCBzIC0gdCkgPT0gMCkKKysgICAgICAgIHsKKysgICAgICAgICAgICB2ZXJib3Nl
ID0gVFJVRTsKKysgICAgICAgIH0KKysgICAgfQorKworKyAgICAvKiBEb25lIHBhcnNpbmcgKi8K
KysKKysgICAgdSA9IGFzdF9tb2R1bGVfdXNlcl9hZGQoY2hhbik7CisrCisrICAgIGlmIChjaGFu
LT5fc3RhdGUgIT0gQVNUX1NUQVRFX1VQKQorKyAgICB7CisrICAgICAgICAvKiBTaG91bGRuJ3Qg
bmVlZCB0aGlzLCBidXQgY2hlY2tpbmcgdG8gc2VlIGlmIGNoYW5uZWwgaXMgYWxyZWFkeSBhbnN3
ZXJlZAorKyAgICAgICAgICogVGhlb3JldGljYWxseSBhc3RlcmlzayBzaG91bGQgYWxyZWFkeSBo
YXZlIGFuc3dlcmVkIGJlZm9yZSBydW5uaW5nIHRoZSBhcHAgKi8KKysgICAgICAgIHJlcyA9IGFz
dF9hbnN3ZXIoY2hhbik7CisrICAgIH0KKysgICAgCisrICAgIGlmICghcmVzKQorKyAgICB7Cisr
ICAgICAgICBvcmlnaW5hbF9yZWFkX2ZtdCA9IGNoYW4tPnJlYWRmb3JtYXQ7CisrICAgICAgICBp
ZiAob3JpZ2luYWxfcmVhZF9mbXQgIT0gQVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAgICAgewor
KyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfcmVhZF9mb3JtYXQoY2hhbiwgQVNUX0ZPUk1BVF9T
TElORUFSKTsKKysgICAgICAgICAgICBpZiAocmVzIDwgMCkKKysgICAgICAgICAgICB7CisrICAg
ICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gc2V0IHRvIGxpbmVh
ciByZWFkIG1vZGUsIGdpdmluZyB1cFxuIik7CisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgICBvcmlnaW5hbF93cml0ZV9mbXQg
PSBjaGFuLT53cml0ZWZvcm1hdDsKKysgICAgICAgIGlmIChvcmlnaW5hbF93cml0ZV9mbXQgIT0g
QVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9z
ZXRfd3JpdGVfZm9ybWF0KGNoYW4sIEFTVF9GT1JNQVRfU0xJTkVBUik7CisrICAgICAgICAgICAg
aWYgKHJlcyA8IDApCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBhc3RfbG9nKExP
R19XQVJOSU5HLCAiVW5hYmxlIHRvIHNldCB0byBsaW5lYXIgd3JpdGUgbW9kZSwgZ2l2aW5nIHVw
XG4iKTsKKysgICAgICAgICAgICAgICAgcmVzID0gYXN0X3NldF9yZWFkX2Zvcm1hdChjaGFuLCBv
cmlnaW5hbF9yZWFkX2ZtdCk7CisrICAgICAgICAgICAgICAgIGlmIChyZXMpCisrICAgICAgICAg
ICAgICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5hYmxlIHRvIHJlc3RvcmUgcmVhZCBm
b3JtYXQgb24gJyVzJ1xuIiwgY2hhbi0+bmFtZSk7CisrICAgICAgICAgICAgICAgIHJldHVybiAt
MTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgICBmYXhfaW5pdCgmZmF4LCBj
YWxsaW5nX3BhcnR5KTsKKysgICAgICAgIGlmICh2ZXJib3NlKQorKwkgICAgZmF4LmxvZ2dpbmcu
bGV2ZWwgPSBTUEFOX0xPR19TSE9XX1NFVkVSSVRZIHwgU1BBTl9MT0dfU0hPV19QUk9UT0NPTCB8
IFNQQU5fTE9HX0ZMT1c7CisrCisrICAgICAgICB4ID0gcGJ4X2J1aWx0aW5fZ2V0dmFyX2hlbHBl
cihjaGFuLCAiTE9DQUxTVEFUSU9OSUQiKTsKKysgICAgICAgIGlmICh4ICAmJiAgeFswXSkKKysg
ICAgICAgICAgICB0MzBfc2V0X2xvY2FsX2lkZW50KCZmYXgudDMwX3N0YXRlLCB4KTsKKysgICAg
ICAgIHggPSBwYnhfYnVpbHRpbl9nZXR2YXJfaGVscGVyKGNoYW4sICJMT0NBTEhFQURFUklORk8i
KTsKKysgICAgICAgIGlmICh4ICAmJiAgeFswXSkKKysgICAgICAgICAgICB0MzBfc2V0X2hlYWRl
cl9pbmZvKCZmYXgudDMwX3N0YXRlLCB4KTsKKysgICAgICAgIHQzMF9zZXRfdHhfZmlsZSgmZmF4
LnQzMF9zdGF0ZSwgc291cmNlX2ZpbGUsIC0xLCAtMSk7CisrICAgICAgICAvL3QzMF9zZXRfcGhh
c2VfYl9oYW5kbGVyKCZmYXgudDMwX3N0YXRlLCBwaGFzZV9iX2hhbmRsZXIsIGNoYW4pOworKyAg
ICAgICAgLy90MzBfc2V0X3BoYXNlX2RfaGFuZGxlcigmZmF4LnQzMF9zdGF0ZSwgcGhhc2VfZF9o
YW5kbGVyLCBjaGFuKTsKKysgICAgICAgIHQzMF9zZXRfcGhhc2VfZV9oYW5kbGVyKCZmYXgudDMw
X3N0YXRlLCBwaGFzZV9lX2hhbmRsZXIsIGNoYW4pOworKyAgICAgICAgdDMwX3NldF9lY21fY2Fw
YWJpbGl0eSgmZmF4LnQzMF9zdGF0ZSwgVFJVRSk7CisrICAgICAgICB0MzBfc2V0X3N1cHBvcnRl
ZF9jb21wcmVzc2lvbnMoJmZheC50MzBfc3RhdGUsIFQzMF9TVVBQT1JUX1Q0XzFEX0NPTVBSRVNT
SU9OIHwgVDMwX1NVUFBPUlRfVDRfMkRfQ09NUFJFU1NJT04gfCBUMzBfU1VQUE9SVF9UNl9DT01Q
UkVTU0lPTik7CisrICAgICAgICB3aGlsZSAoYXN0X3dhaXRmb3IoY2hhbiwgLTEpID4gLTEpCisr
ICAgICAgICB7CisrICAgICAgICAgICAgaW5mID0gYXN0X3JlYWQoY2hhbik7CisrICAgICAgICAg
ICAgaWYgKGluZiA9PSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgcmVz
ID0gLTE7CisrICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAg
ICAgICBpZiAoaW5mLT5mcmFtZXR5cGUgPT0gQVNUX0ZSQU1FX1ZPSUNFKQorKyAgICAgICAgICAg
IHsKKysgICAgICAgICAgICAgICAgaWYgKGZheF9yeCgmZmF4LCBpbmYtPmRhdGEsIGluZi0+c2Ft
cGxlcykpCisrICAgICAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgc2Ft
cGxlcyA9IChpbmYtPnNhbXBsZXMgPD0gTUFYX0JMT0NLX1NJWkUpICA/ICBpbmYtPnNhbXBsZXMg
IDogIE1BWF9CTE9DS19TSVpFOworKyAgICAgICAgICAgICAgICBsZW4gPSBmYXhfdHgoJmZheCwg
KGludDE2X3QgKikgJmJ1ZltBU1RfRlJJRU5ETFlfT0ZGU0VUXSwgc2FtcGxlcyk7CisrICAgICAg
ICAgICAgICAgIGlmIChsZW4pCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAg
ICAgIG1lbXNldCgmb3V0ZiwgMCwgc2l6ZW9mKG91dGYpKTsKKysgICAgICAgICAgICAgICAgICAg
IG91dGYuZnJhbWV0eXBlID0gQVNUX0ZSQU1FX1ZPSUNFOworKyAgICAgICAgICAgICAgICAgICAg
b3V0Zi5zdWJjbGFzcyA9IEFTVF9GT1JNQVRfU0xJTkVBUjsKKysgICAgICAgICAgICAgICAgICAg
IG91dGYuZGF0YWxlbiA9IGxlbipzaXplb2YoaW50MTZfdCk7CisrICAgICAgICAgICAgICAgICAg
ICBvdXRmLnNhbXBsZXMgPSBsZW47CisrICAgICAgICAgICAgICAgICAgICBvdXRmLmRhdGEgPSAm
YnVmW0FTVF9GUklFTkRMWV9PRkZTRVRdOworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5vZmZz
ZXQgPSBBU1RfRlJJRU5ETFlfT0ZGU0VUOworKyAgICAgICAgICAgICAgICAgICAgaWYgKGFzdF93
cml0ZShjaGFuLCAmb3V0ZikgPCAwKQorKyAgICAgICAgICAgICAgICAgICAgeworKyAgICAgICAg
ICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gd3JpdGUgZnJh
bWUgdG8gY2hhbm5lbDsgJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CisrICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAg
IH0KKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgYXN0X2ZyZnJlZShpbmYpOworKyAgICAg
ICAgfQorKyAgICAgICAgaWYgKGluZiA9PSBOVUxMKQorKyAgICAgICAgeworKyAgICAgICAgICAg
IGFzdF9sb2coTE9HX0RFQlVHLCAiR290IGhhbmd1cFxuIik7CisrICAgICAgICAgICAgcmVzID0g
LTE7CisrICAgICAgICB9CisrICAgICAgICBpZiAob3JpZ2luYWxfcmVhZF9mbXQgIT0gQVNUX0ZP
Uk1BVF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfcmVh
ZF9mb3JtYXQoY2hhbiwgb3JpZ2luYWxfcmVhZF9mbXQpOworKyAgICAgICAgICAgIGlmIChyZXMp
CisrICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gcmVzdG9y
ZSByZWFkIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgICAgIH0KKysgICAg
ICAgIGlmIChvcmlnaW5hbF93cml0ZV9mbXQgIT0gQVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAg
ICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfd3JpdGVfZm9ybWF0KGNoYW4sIG9yaWdp
bmFsX3dyaXRlX2ZtdCk7CisrICAgICAgICAgICAgaWYgKHJlcykKKysgICAgICAgICAgICAgICAg
YXN0X2xvZyhMT0dfV0FSTklORywgIlVuYWJsZSB0byByZXN0b3JlIHdyaXRlIGZvcm1hdCBvbiAn
JXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgICAgIH0KKysgICAgICAgIHQzMF90ZXJtaW5hdGUo
JmZheC50MzBfc3RhdGUpOworKyAgICB9CisrICAgIGVsc2UKKysgICAgeworKyAgICAgICAgYXN0
X2xvZyhMT0dfV0FSTklORywgIkNvdWxkIG5vdCBhbnN3ZXIgY2hhbm5lbCAnJXMnXG4iLCBjaGFu
LT5uYW1lKTsKKysgICAgfQorKyAgICBhc3RfbW9kdWxlX3VzZXJfcmVtb3ZlKHUpOworKyAgICBy
ZXR1cm4gcmVzOworK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysKKytzdGF0aWMgaW50IHVu
bG9hZF9tb2R1bGUodm9pZCkKKyt7CisrCWludCByZXM7CisrCisrCWFzdF9tb2R1bGVfdXNlcl9o
YW5ndXBfYWxsKCk7CisrCisrCXJlcyA9IGFzdF91bnJlZ2lzdGVyX2FwcGxpY2F0aW9uKGFwcCk7
CQorKwkKKysKKysJcmV0dXJuIHJlczsKKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisr
c3RhdGljIGludCBsb2FkX21vZHVsZSh2b2lkKQorK3sKKysgICAgcmV0dXJuIGFzdF9yZWdpc3Rl
cl9hcHBsaWNhdGlvbihhcHAsIHR4ZmF4X2V4ZWMsIHN5bm9wc2lzLCBkZXNjcmlwKTsKKyt9Cisr
LyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrQVNUX01PRFVMRV9JTkZPX1NUQU5EQVJEKEFTVEVS
SVNLX0dQTF9LRVksICJUcml2aWFsIEZBWCBUcmFuc21pdCBBcHBsaWNhdGlvbiIpOworKworKy8q
LSBFbmQgb2YgZmlsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC1ydU4gYXN0ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1i
dWlsZF90b29sczo6bWVudXNlbGVjdC1kZXBzLmluIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWJ1aWxk
X3Rvb2xzOjptZW51c2VsZWN0LWRlcHMuaW4KLS0tIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gt
YnVpbGRfdG9vbHM6Om1lbnVzZWxlY3QtZGVwcy5pbgkxOTcwLTAxLTAxIDA1OjAwOjAwLjAwMDAw
MDAwMCArMDUwMAorKysgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtYnVpbGRfdG9vbHM6Om1lbnVzZWxl
Y3QtZGVwcy5pbgkyMDA3LTA3LTIzIDE1OjAxOjU3LjAwMDAwMDAwMCArMDYwMApAQCAtMCwwICsx
LDE0IEBACistLS0gYnVpbGRfdG9vbHMvbWVudXNlbGVjdC1kZXBzLmluLm9yaWcJMjAwNi0wOS0w
MyAxNTo1MDozMi4wMDAwMDAwMDAgKzA4MDAKKysrKyBidWlsZF90b29scy9tZW51c2VsZWN0LWRl
cHMuaW4JMjAwNi0wOS0wMyAxNTo1MDo0NC4wMDAwMDAwMDAgKzA4MDAKK0BAIC0xNywxMCArMTcs
MTEgQEAKKyBQR1NRTD1AUEJYX1BHU1FMQAorIFBPUFQ9QFBCWF9QT1BUQAorIFBSST1AUEJYX1BS
SUAKKyBRVD1AUEJYX1FUQAorIFJBRElVUz1AUEJYX1JBRElVU0AKKytTUEFORFNQPUBQQlhfU1BB
TkRTUEAKKyBTUEVFWD1AUEJYX1NQRUVYQAorIFNRTElURT1AUEJYX1NRTElURUAKKyBTU0w9QFBC
WF9PUEVOU1NMQAorIFRPTkVaT05FPUBQQlhfVE9ORVpPTkVACisgVU5JWE9EQkM9QFBCWF9VTklY
T0RCQ0AKZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY2hhbm5lbHM6OmNoYW5f
c2tpbm55LmMgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtY2hhbm5lbHM6OmNoYW5fc2tpbm55LmMKLS0t
IGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY2hhbm5lbHM6OmNoYW5fc2tpbm55LmMJMjAwNy0w
Ny0yNyAwODo0MToxMC4wMDAwMDAwMDAgKzA2MDAKKysrIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWNo
YW5uZWxzOjpjaGFuX3NraW5ueS5jCTIwMDctMDctMjcgMDE6NTg6MDQuMDAwMDAwMDAwICswNjAw
CkBAIC0xLDggKzEsNSBAQAotCi0kRnJlZUJTRDogcG9ydHMvbmV0L2FzdGVyaXNrL2ZpbGVzL3Bh
dGNoLWNoYW5uZWxzOjpjaGFuX3NraW5ueS5jLHYgMS4yIDIwMDcvMDcvMjcgMDI6NDE6MTAgc29i
b21heCBFeHAgJAotCi0tLS0gY2hhbm5lbHMvY2hhbl9za2lubnkuYy5vcmlnCi0rKysgY2hhbm5l
bHMvY2hhbl9za2lubnkuYworLS0tIGNoYW5uZWxzL2NoYW5fc2tpbm55LmMub3JpZwkyMDA3LTA3
LTI0IDAwOjU5OjI4LjAwMDAwMDAwMCArMDYwMAorKysrIGNoYW5uZWxzL2NoYW5fc2tpbm55LmMJ
MjAwNy0wNy0yNyAwMTo1NTo0NS4wMDAwMDAwMDAgKzA2MDAKIEBAIC0xMDcsNyArMTA3LDcgQEAK
ICAjZGVmaW5lIGh0b2xlbCh4KSAoeCkKICAjZGVmaW5lIGh0b2xlcyh4KSAoeCkKZGlmZiAtcnVO
IGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY29uZmlndXJlIGFzdGVyaXNrL2ZpbGVzL3BhdGNo
LWNvbmZpZ3VyZQotLS0gYXN0ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1jb25maWd1cmUJMjAwNy0w
Ny0yMiAxNjo0MDozNS4wMDAwMDAwMDAgKzA2MDAKKysrIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWNv
bmZpZ3VyZQkyMDA3LTA4LTA5IDEyOjMwOjQ3LjAwMDAwMDAwMCArMDYwMApAQCAtMSw5ICsxLDI1
IEBACi0KLSRGcmVlQlNEOiBwb3J0cy9uZXQvYXN0ZXJpc2svZmlsZXMvcGF0Y2gtY29uZmlndXJl
LHYgMS4yIDIwMDcvMDcvMjIgMTA6NDA6MzUgc29ib21heCBFeHAgJAotCi0tLS0gY29uZmlndXJl
Lm9yaWcKLSsrKyBjb25maWd1cmUKLUBAIC0zOTI2LDggKzM5MjYsNiBAQAorLS0tIGNvbmZpZ3Vy
ZS5vcmlnCTIwMDctMDgtMDYgMjA6MTg6MjAuMDAwMDAwMDAwICswNjAwCisrKysgY29uZmlndXJl
CTIwMDctMDgtMDkgMTI6MzA6MzUuMDAwMDAwMDAwICswNjAwCitAQCAtODIwLDYgKzgyMCwxMCBA
QAorIFJBRElVU19JTkNMVURFCisgUkFESVVTX0RJUgorIFBCWF9SQURJVVMKKytTUEFORFNQX0xJ
QgorK1NQQU5EU1BfSU5DTFVERQorK1NQQU5EU1BfRElSCisrUEJYX1NQQU5EU1AKKyBTUEVFWF9M
SUIKKyBTUEVFWF9JTkNMVURFCisgU1BFRVhfRElSCitAQCAtMTUyNSw2ICsxNTI5LDcgQEAKKyAg
IC0td2l0aC1oMzIzPVBBVEggICAgICAgIHVzZSBPcGVuSDMyMyBmaWxlcyBpbiBQQVRICisgICAt
LXdpdGgtcXQ9UEFUSCAgICAgICAgICB1c2UgUXQgZmlsZXMgaW4gUEFUSAorICAgLS13aXRoLXJh
ZGl1cz1QQVRIICAgICAgdXNlIFJhZGl1cyBDbGllbnQgZmlsZXMgaW4gUEFUSAorKyAgLS13aXRo
LXNwYW5kc3A9UEFUSCAgICAgdXNlIFNwYW5kc3AgbGlicmFyeSBmaWxlcyBpbiBQQVRICisgICAt
LXdpdGgtc3BlZXg9UEFUSCAgICAgICB1c2UgU3BlZXggZmlsZXMgaW4gUEFUSAorICAgLS13aXRo
LXNxbGl0ZT1QQVRIICAgICAgdXNlIFNRTGl0ZSBmaWxlcyBpbiBQQVRICisgICAtLXdpdGgtc3Vw
cHNlcnY9UEFUSCAgICB1c2UgbUlTRE4gU3VwcGxlbWVudGFsIFNlcnZpY2VzIGZpbGVzIGluIFBB
VEgKK0BAIC0zOTI2LDggKzM5MzEsNiBAQAogIGNhc2UgIiR7aG9zdF9vc30iIGluCiAgICAgICBm
cmVlYnNkKikKICAgICAgIGFjX2RlZmF1bHRfcHJlZml4PS91c3IvbG9jYWwKQEAgLTEyLDM5ICsy
OCwxMDIgQEAKICAgICAgIDs7CiAgICAgICAqKQogICAgICAgYWNfZGVmYXVsdF9wcmVmaXg9L3Vz
cgotQEAgLTI2MDY2LDYgKzI2MDY0LDcgQEAKK0BAIC04Mjk3LDYgKzgzMDAsMzQgQEAKKyAKKyBQ
QlhfUkFESVVTPTAKKyAKKytTUEFORFNQX0RFU0NSSVA9IlNwYW5kc3AgTGlicmFyeSIKKytTUEFO
RFNQX09QVElPTj0ic3BhbmRzcCIKKysKKysjIENoZWNrIHdoZXRoZXIgLS13aXRoLXNwYW5kc3Ag
d2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7d2l0aF9zcGFuZHNwK3NldH0iID0gc2V0OyB0aGVuCisr
ICB3aXRodmFsPSR3aXRoX3NwYW5kc3A7CisrY2FzZSAke3dpdGh2YWx9IGluCisrICAgICBufG5v
KQorKyAgICAgVVNFX1NQQU5EU1A9bm8KKysgICAgIFBCWF9TUEFORFNQPTAKKysgICAgIDs7Cisr
ICAgICB5fHllfHllcykKKysgICAgIFNQQU5EU1BfRElSPSIvdXNyL2xvY2FsIgorKyAgICAgU1BB
TkRTUF9MSUI9Ii1ML3Vzci9sb2NhbC9saWIgLWxzcGFuZHNwIgorKyAgICAgU1BBTkRTUF9JTkNM
VURFPSItSSR7U1BBTkRTUF9ESVJ9L2luY2x1ZGUiCisrICAgICBTUEFORFNQX01BTkRBVE9SWT0i
eWVzIgorKyAgICAgUEJYX1NQQU5EU1A9MQorKyAgICAgOzsKKysgICAgICopCisrICAgICBTUEFO
RFNQX0RJUj0iJHt3aXRodmFsfSIKKysgICAgIFNQQU5EU1BfTElCPSItTCR7U1BBTkRTUF9ESVJ9
L2xpYiAtbHNwYW5kc3AiCisrICAgICBTUEFORFNQX0lOQ0xVREU9Ii1JJHtTUEFORFNQX0RJUn0v
aW5jbHVkZSIKKysgICAgIFNQQU5EU1BfTUFOREFUT1JZPSJ5ZXMiCisrICAgICBQQlhfU1BBTkRT
UD0xCisrICAgICA7OworK2VzYWMKKysKKytmaQorIAorIAorIAorQEAgLTE4NDMxLDExICsxODQ2
MiwxMSBAQAorIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIFVXIElNQVAgVG9vbGtpdCBjLWNs
aWVudCBsaWJyYXJ5Li4uICRFQ0hPX0MiID4mNjsgfQorICAgIHNhdmVkX2NwcGZsYWdzPSIke0NQ
UEZMQUdTfSIKKyAgICBzYXZlZF9saWJzPSIke0xJQlN9IgorLSAgIGlmIHRlc3QgLWYgJHtJTUFQ
X1RLX0RJUn0vYy1jbGllbnQvTERGTEFHUyA7IHRoZW4KKy0gICAgICBpbWFwX2xkZmxhZ3M9YGNh
dCAke0lNQVBfVEtfRElSfS9jLWNsaWVudC9MREZMQUdTYAorLSAgIGZpCistICAgQ1BQRkxBR1M9
IiR7Q1BQRkxBR1N9IC1JJHtJTUFQX1RLX0RJUn0vYy1jbGllbnQiCistICAgTElCUz0iJHtMSUJT
fSAke0lNQVBfVEtfRElSfS9jLWNsaWVudC9jLWNsaWVudC5hICJgZWNobyAke2ltYXBfbGRmbGFn
c31gCisrCisrICAgICAgaW1hcF9sZGZsYWdzPSItbHBhbSAtTC91c3IvbGliIC1sc3NsIC1sY3J5
cHRvIC1sY3J5cHQiCisrCisrICAgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJHtJTUFQX1RLX0RJ
Un0vaW5jbHVkZS9jLWNsaWVudCIKKysgICBMSUJTPSIke0xJQlN9ICR7SU1BUF9US19ESVJ9L2xp
Yi9saWJjLWNsaWVudDQuYSAiYGVjaG8gJHtpbWFwX2xkZmxhZ3N9YAorICAgIGNhdCA+Y29uZnRl
c3QuJGFjX2V4dCA8PF9BQ0VPRgorIC8qIGNvbmZkZWZzLmguICAqLworIF9BQ0VPRgorQEAgLTE4
NjI3LDggKzE4NjU4LDggQEAKKyAgICBpZiB0ZXN0ICIke2FjX2N2X2ltYXBfdGt9IiA9ICJ5ZXMi
OyB0aGVuCisgICAgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiB5ZXMiID4mNQor
IGVjaG8gIiR7RUNIT19UfXllcyIgPiY2OyB9CistICAgICAgSU1BUF9US19MSUI9IiR7SU1BUF9U
S19ESVJ9L2MtY2xpZW50L2MtY2xpZW50LmEgImBlY2hvICR7aW1hcF9sZGZsYWdzfWAKKy0gICAg
ICBJTUFQX1RLX0lOQ0xVREU9Ii1JJHtJTUFQX1RLX0RJUn0vYy1jbGllbnQiCisrICAgICAgSU1B
UF9US19MSUI9IiR7SU1BUF9US19ESVJ9L2xpYi9saWJjLWNsaWVudDQuYSAiYGVjaG8gJHtpbWFw
X2xkZmxhZ3N9YAorKyAgICAgIElNQVBfVEtfSU5DTFVERT0iLUkke0lNQVBfVEtfRElSfS9pbmNs
dWRlL2MtY2xpZW50IgorICAgICAgIFBCWF9JTUFQX1RLPTEKKyAKKyBjYXQgPj5jb25mZGVmcy5o
IDw8XF9BQ0VPRgorQEAgLTI0OTE4LDYgKzI0OTQ5LDcgQEAKICBjYXQgPj5jb25mdGVzdC4kYWNf
ZXh0IDw8X0FDRU9GCiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwogICRhY19pbmNsdWRlc19kZWZh
dWx0CiArI2luY2x1ZGUgPHB0bGliLmg+Ci0gI2luY2x1ZGUgPCR7T1BFTkgzMjNESVJ9L2luY2x1
ZGUvaDMyMy5oPgorICNpbmNsdWRlIDwke09QRU5IMzIzRElSfS8uLi9wd2xpYi92ZXJzaW9uLmg+
CiAgX0FDRU9GCiAgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAotQEAgLTI2MTA2LDYgKzI2MTA1
LDcgQEAKK0BAIC0yNDk1OCw2ICsyNDk5MCw3IEBACiAgY2F0IGNvbmZkZWZzLmggPj5jb25mdGVz
dC4kYWNfZXh0CiAgY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgogIC8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8KICsjaW5jbHVkZSA8cHRsaWIuaD4KLSAjaW5jbHVkZSA8JHtPUEVOSDMyM0RJ
Un0vaW5jbHVkZS9oMzIzLmg+CisgI2luY2x1ZGUgPCR7T1BFTkgzMjNESVJ9Ly4uL3B3bGliL3Zl
cnNpb24uaD4KICBfQUNFT0YKICBpZiB7IChhY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4
dCIKLUBAIC0yNjIwMiw2ICsyNjIwMiw3IEBACitAQCAtMjYxNjMsNyArMjYxOTYsNiBAQAogIGNh
dCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCi0g
JGFjX2luY2x1ZGVzX2RlZmF1bHQKLSsjaW5jbHVkZSA8cHRsaWIuaD4KLSAjaW5jbHVkZSA8JHtI
T01FfS9vcGVuaDMyMy9pbmNsdWRlL2gzMjMuaD4KKyAjaW5jbHVkZSA8cHRsaWIuaD4KKy0KKyAj
aW5jbHVkZSA8JHtPUEVOSDMyM0RJUn0vaW5jbHVkZS9oMzIzLmg+CiAgX0FDRU9GCiAgcm0gLWYg
Y29uZnRlc3QuJGFjX29iamV4dAotQEAgLTI2MjQyLDYgKzI2MjQzLDcgQEAKLSBjYXQgY29uZmRl
ZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK0BAIC0yNjIyOCw2ICsyNjI2MCw3IEBACiAgY2F0ID4+
Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyAkYWNf
aW5jbHVkZXNfZGVmYXVsdAogKyNpbmNsdWRlIDxwdGxpYi5oPgogICNpbmNsdWRlIDwke0hPTUV9
L29wZW5oMzIzL2luY2x1ZGUvaDMyMy5oPgogIF9BQ0VPRgotIGlmIHsgKGFjX3RyeT0iJGFjX2Nw
cCBjb25mdGVzdC4kYWNfZXh0IgotQEAgLTI2MzM2LDYgKzI2MzM4LDcgQEAKKyBybSAtZiBjb25m
dGVzdC4kYWNfb2JqZXh0CitAQCAtMjYzNjUsNiArMjYzOTgsNyBAQAogIGNhdCA+PmNvbmZ0ZXN0
LiRhY19leHQgPDxfQUNFT0YKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCiAgJGFjX2luY2x1ZGVz
X2RlZmF1bHQKQEAgLTUyLDMxICsxMzEsMTUgQEAKICAjaW5jbHVkZSA8L3Vzci9sb2NhbC9pbmNs
dWRlL29wZW5oMzIzL2gzMjMuaD4KICBfQUNFT0YKICBybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0
Ci1AQCAtMjYzNzYsNiArMjYzNzksNyBAQAotIGNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFj
X2V4dAorQEAgLTI2NTAwLDcgKzI2NTM0LDYgQEAKICBjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8
X0FDRU9GCiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwotKyNpbmNsdWRlIDxwdGxpYi5oPgotICNp
bmNsdWRlIDwvdXNyL2xvY2FsL2luY2x1ZGUvb3BlbmgzMjMvaDMyMy5oPgotIF9BQ0VPRgotIGlm
IHsgKGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IgotQEAgLTI2NDc1LDYgKzI2NDc5
LDcgQEAKLSBjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCi0gLyogZW5kIGNvbmZkZWZz
LmguICAqLwotICRhY19pbmNsdWRlc19kZWZhdWx0Ci0rI2luY2x1ZGUgPHB0bGliLmg+CisgI2lu
Y2x1ZGUgPHB0bGliLmg+CistCiAgI2luY2x1ZGUgPC91c3IvaW5jbHVkZS9vcGVuaDMyMy9oMzIz
Lmg+CiAgX0FDRU9GCiAgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAotQEAgLTI2NTE1LDYgKzI2
NTIwLDcgQEAKLSBjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKLSBjYXQgPj5jb25m
dGVzdC4kYWNfZXh0IDw8X0FDRU9GCi0gLyogZW5kIGNvbmZkZWZzLmguICAqLwotKyNpbmNsdWRl
IDxwdGxpYi5oPgotICNpbmNsdWRlIDwvdXNyL2luY2x1ZGUvb3BlbmgzMjMvaDMyMy5oPgotIF9B
Q0VPRgotIGlmIHsgKGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IgotQEAgLTI2NzAw
LDcgKzI2NzA2LDcgQEAKK0BAIC0yNjY1Miw3ICsyNjY4NSw3IEBACiAgCiAgCWZpCiAgCkBAIC04
NSwzICsxNDgsMjMgQEAKICAKICAJaWYgdGVzdCAiJHtIQVNfT1BFTkgzMjM6LXVuc2V0fSIgIT0g
InVuc2V0IjsgdGhlbgogIAkgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBPcGVu
SDMyMyBpbnN0YWxsYXRpb24gdmFsaWRpdHkiID4mNQorQEAgLTMzNDEwLDYgKzMzNDQzLDEwIEBA
CisgUkFESVVTX0lOQ0xVREUhJFJBRElVU19JTkNMVURFJGFjX2RlbGltCisgUkFESVVTX0RJUiEk
UkFESVVTX0RJUiRhY19kZWxpbQorIFBCWF9SQURJVVMhJFBCWF9SQURJVVMkYWNfZGVsaW0KKytT
UEFORFNQX0xJQiEkU1BBTkRTUF9MSUIkYWNfZGVsaW0KKytTUEFORFNQX0lOQ0xVREUhJFNQQU5E
U1BfSU5DTFVERSRhY19kZWxpbQorK1NQQU5EU1BfRElSISRTUEFORFNQX0RJUiRhY19kZWxpbQor
K1BCWF9TUEFORFNQISRQQlhfU1BBTkRTUCRhY19kZWxpbQorIFNQRUVYX0xJQiEkU1BFRVhfTElC
JGFjX2RlbGltCisgU1BFRVhfSU5DTFVERSEkU1BFRVhfSU5DTFVERSRhY19kZWxpbQorIFNQRUVY
X0RJUiEkU1BFRVhfRElSJGFjX2RlbGltCitAQCAtMzM0OTcsNyArMzM1MzQsNyBAQAorIExUTElC
T0JKUyEkTFRMSUJPQkpTJGFjX2RlbGltCisgX0FDRU9GCisgCistICBpZiB0ZXN0IGBzZWQgLW4g
InMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYkJHN1YnMuc2VkIHwgZ3JlcCAtYyBYYCA9IDkyOyB0
aGVuCisrICBpZiB0ZXN0IGBzZWQgLW4gInMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYkJHN1YnMu
c2VkIHwgZ3JlcCAtYyBYYCA9IDk2OyB0aGVuCisgICAgIGJyZWFrCisgICBlbGlmICRhY19sYXN0
X3RyeTsgdGhlbgorICAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjb3VsZCBu
b3QgbWFrZSAkQ09ORklHX1NUQVRVUyIgPiY1CmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmlnL2ZpbGVz
L3BhdGNoLWNvbmZpZ3VyZS5hYyBhc3Rlcmlzay9maWxlcy9wYXRjaC1jb25maWd1cmUuYWMKLS0t
IGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY29uZmlndXJlLmFjCTE5NzAtMDEtMDEgMDU6MDA6
MDAuMDAwMDAwMDAwICswNTAwCisrKyBhc3Rlcmlzay9maWxlcy9wYXRjaC1jb25maWd1cmUuYWMJ
MjAwNy0wNy0yMyAxNTowMTo1Ny4wMDAwMDAwMDAgKzA2MDAKQEAgLTAsMCArMSwxOSBAQAorLS0t
IGNvbmZpZ3VyZS5hYy5vcmlnCUZyaSBKdW4gMjkgMjA6MTg6MzYgMjAwNworKysrIGNvbmZpZ3Vy
ZS5hYwlUdWUgSnVsIDEwIDE0OjE0OjQwIDIwMDcKK0BAIC0xOTYsNiArMTk2LDcgQEAKKyBBU1Rf
RVhUX0xJQl9TRVRVUChbT1BFTkgzMjNdLCBbT3BlbkgzMjNdLCBbaDMyM10pCisgQVNUX0VYVF9M
SUJfU0VUVVAoW1FUXSwgW1F0XSwgW3F0XSkKKyBBU1RfRVhUX0xJQl9TRVRVUChbUkFESVVTXSwg
W1JhZGl1cyBDbGllbnRdLCBbcmFkaXVzXSkKKytBU1RfRVhUX0xJQl9TRVRVUChbU1BBTkRTUF0s
IFtTcGFuZHNwIExpYnJhcnldLCBbc3BhbmRzcF0pCisgQVNUX0VYVF9MSUJfU0VUVVAoW1NQRUVY
XSwgW1NwZWV4XSwgW3NwZWV4XSkKKyBBU1RfRVhUX0xJQl9TRVRVUChbU1FMSVRFXSwgW1NRTGl0
ZV0sIFtzcWxpdGVdKQorIEFTVF9FWFRfTElCX1NFVFVQKFtTVVBQU0VSVl0sIFttSVNETiBTdXBw
bGVtZW50YWwgU2VydmljZXNdLCBbc3VwcHNlcnZdKQorQEAgLTkxMiw2ICs5MTMsOCBAQAorIEFD
X0xBTkdfUE9QCisgCisgQVNUX0VYVF9MSUJfQ0hFQ0soW1JBRElVU10sIFtyYWRpdXNjbGllbnQt
bmddLCBbcmNfcmVhZF9jb25maWddLCBbcmFkaXVzY2xpZW50LW5nLmhdKQorKworK0FTVF9FWFRf
TElCX0NIRUNLKFtTUEFORFNQXSwgW3NwYW5kc3BdLCBbZmF4X2luaXRdLCBbc3BhbmRzcC5oXSwg
Wy1sdGlmZl0pCisgCisgQVNUX0VYVF9MSUJfQ0hFQ0soW1NQRUVYXSwgW3NwZWV4XSwgW3NwZWV4
X2VuY29kZV0sIFtzcGVleC9zcGVleC5oXSwgWy1sbV0pCisgCmRpZmYgLXJ1TiBhc3Rlcmlzay5v
cmlnL2ZpbGVzL3BhdGNoLW1ha2VvcHRzLmluIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLW1ha2VvcHRz
LmluCi0tLSBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLW1ha2VvcHRzLmluCTE5NzAtMDEtMDEg
MDU6MDA6MDAuMDAwMDAwMDAwICswNTAwCisrKyBhc3Rlcmlzay9maWxlcy9wYXRjaC1tYWtlb3B0
cy5pbgkyMDA3LTA3LTIzIDE1OjAxOjU3LjAwMDAwMDAwMCArMDYwMApAQCAtMCwwICsxLDE2IEBA
CistLS0gbWFrZW9wdHMuaW4ub3JpZwkyMDA2LTA5LTAzIDE1OjUzOjQ3LjAwMDAwMDAwMCArMDgw
MAorKysrIG1ha2VvcHRzLmluCTIwMDYtMDktMDMgMTU6NTM6NTMuMDAwMDAwMDAwICswODAwCitA
QCAtMTIwLDEwICsxMjAsMTMgQEAKKyBRVF9MSUI9QFFUX0xJQkAKKyAKKyBSQURJVVNfSU5DTFVE
RT1AUkFESVVTX0lOQ0xVREVACisgUkFESVVTX0xJQj1AUkFESVVTX0xJQkAKKyAKKytTUEFORFNQ
X0lOQ0xVREU9QFNQQU5EU1BfSU5DTFVERUAKKytTUEFORFNQX0xJQj1AU1BBTkRTUF9MSUJACisr
CisgU1BFRVhfSU5DTFVERT1AU1BFRVhfSU5DTFVERUAKKyBTUEVFWF9MSUI9QFNQRUVYX0xJQkAK
KyAKKyBTUUxJVEVfSU5DTFVERT1AU1FMSVRFX0lOQ0xVREVACisgU1FMSVRFX0xJQj1AU1FMSVRF
X0xJQkAKZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvcGF0Y2gtY29uZmlndXJlIGFzdGVyaXNrL3Bh
dGNoLWNvbmZpZ3VyZQotLS0gYXN0ZXJpc2sub3JpZy9wYXRjaC1jb25maWd1cmUJMTk3MC0wMS0w
MSAwNTowMDowMC4wMDAwMDAwMDAgKzA1MDAKKysrIGFzdGVyaXNrL3BhdGNoLWNvbmZpZ3VyZQky
MDA3LTA4LTA5IDExOjU5OjM5LjAwMDAwMDAwMCArMDYwMApAQCAtMCwwICsxLDEyMiBAQAorLS0t
IGNvbmZpZ3VyZS5vcmlnCTIwMDctMDgtMDYgMjA6MTg6MjAuMDAwMDAwMDAwICswNjAwCisrKysg
Y29uZmlndXJlCTIwMDctMDgtMDkgMTE6NTk6MDIuMDAwMDAwMDAwICswNjAwCitAQCAtODIwLDYg
KzgyMCwxMCBAQAorIFJBRElVU19JTkNMVURFCisgUkFESVVTX0RJUgorIFBCWF9SQURJVVMKKytT
UEFORFNQX0xJQgorK1NQQU5EU1BfSU5DTFVERQorK1NQQU5EU1BfRElSCisrUEJYX1NQQU5EU1AK
KyBTUEVFWF9MSUIKKyBTUEVFWF9JTkNMVURFCisgU1BFRVhfRElSCitAQCAtMTUyNSw2ICsxNTI5
LDcgQEAKKyAgIC0td2l0aC1oMzIzPVBBVEggICAgICAgIHVzZSBPcGVuSDMyMyBmaWxlcyBpbiBQ
QVRICisgICAtLXdpdGgtcXQ9UEFUSCAgICAgICAgICB1c2UgUXQgZmlsZXMgaW4gUEFUSAorICAg
LS13aXRoLXJhZGl1cz1QQVRIICAgICAgdXNlIFJhZGl1cyBDbGllbnQgZmlsZXMgaW4gUEFUSAor
KyAgLS13aXRoLXNwYW5kc3A9UEFUSCAgICAgdXNlIFNwYW5kc3AgbGlicmFyeSBmaWxlcyBpbiBQ
QVRICisgICAtLXdpdGgtc3BlZXg9UEFUSCAgICAgICB1c2UgU3BlZXggZmlsZXMgaW4gUEFUSAor
ICAgLS13aXRoLXNxbGl0ZT1QQVRIICAgICAgdXNlIFNRTGl0ZSBmaWxlcyBpbiBQQVRICisgICAt
LXdpdGgtc3VwcHNlcnY9UEFUSCAgICB1c2UgbUlTRE4gU3VwcGxlbWVudGFsIFNlcnZpY2VzIGZp
bGVzIGluIFBBVEgKK0BAIC0zOTI2LDggKzM5MzEsNiBAQAorIGNhc2UgIiR7aG9zdF9vc30iIGlu
CisgICAgICBmcmVlYnNkKikKKyAgICAgIGFjX2RlZmF1bHRfcHJlZml4PS91c3IvbG9jYWwKKy0g
ICAgIENQUEZMQUdTPS1JL3Vzci9sb2NhbC9pbmNsdWRlCistICAgICBMREZMQUdTPS1ML3Vzci9s
b2NhbC9saWIKKyAgICAgIDs7CisgICAgICAqKQorICAgICAgYWNfZGVmYXVsdF9wcmVmaXg9L3Vz
cgorQEAgLTgyOTcsNiArODMwMCwzNCBAQAorIAorIFBCWF9SQURJVVM9MAorIAorK1NQQU5EU1Bf
REVTQ1JJUD0iU3BhbmRzcCBMaWJyYXJ5IgorK1NQQU5EU1BfT1BUSU9OPSJzcGFuZHNwIgorKwor
KyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtc3BhbmRzcCB3YXMgZ2l2ZW4uCisraWYgdGVzdCAiJHt3
aXRoX3NwYW5kc3Arc2V0fSIgPSBzZXQ7IHRoZW4KKysgIHdpdGh2YWw9JHdpdGhfc3BhbmRzcDsK
KytjYXNlICR7d2l0aHZhbH0gaW4KKysgICAgIG58bm8pCisrICAgICBVU0VfU1BBTkRTUD1ubwor
KyAgICAgUEJYX1NQQU5EU1A9MAorKyAgICAgOzsKKysgICAgIHl8eWV8eWVzKQorKyAgICAgU1BB
TkRTUF9ESVI9Ii91c3IvbG9jYWwiCisrICAgICBTUEFORFNQX0xJQj0iLUwvdXNyL2xvY2FsL2xp
YiAtbHNwYW5kc3AiCisrICAgICBTUEFORFNQX0lOQ0xVREU9Ii1JJHtTUEFORFNQX0RJUn0vaW5j
bHVkZSIKKysgICAgIFNQQU5EU1BfTUFOREFUT1JZPSJ5ZXMiCisrICAgICBQQlhfU1BBTkRTUD0x
CisrICAgICA7OworKyAgICAgKikKKysgICAgIFNQQU5EU1BfRElSPSIke3dpdGh2YWx9IgorKyAg
ICAgU1BBTkRTUF9MSUI9Ii1MJHtTUEFORFNQX0RJUn0vbGliIC1sc3BhbmRzcCIKKysgICAgIFNQ
QU5EU1BfSU5DTFVERT0iLUkke1NQQU5EU1BfRElSfS9pbmNsdWRlIgorKyAgICAgU1BBTkRTUF9N
QU5EQVRPUlk9InllcyIKKysgICAgIFBCWF9TUEFORFNQPTEKKysgICAgIDs7CisrZXNhYworKwor
K2ZpCisgCisgCisgCitAQCAtMTg0MzEsMTEgKzE4NDYyLDExIEBACisgZWNobyAkRUNIT19OICJj
aGVja2luZyBmb3IgVVcgSU1BUCBUb29sa2l0IGMtY2xpZW50IGxpYnJhcnkuLi4gJEVDSE9fQyIg
PiY2OyB9CisgICAgc2F2ZWRfY3BwZmxhZ3M9IiR7Q1BQRkxBR1N9IgorICAgIHNhdmVkX2xpYnM9
IiR7TElCU30iCistICAgaWYgdGVzdCAtZiAke0lNQVBfVEtfRElSfS9jLWNsaWVudC9MREZMQUdT
IDsgdGhlbgorLSAgICAgIGltYXBfbGRmbGFncz1gY2F0ICR7SU1BUF9US19ESVJ9L2MtY2xpZW50
L0xERkxBR1NgCistICAgZmkKKy0gICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLUkke0lNQVBfVEtf
RElSfS9jLWNsaWVudCIKKy0gICBMSUJTPSIke0xJQlN9ICR7SU1BUF9US19ESVJ9L2MtY2xpZW50
L2MtY2xpZW50LmEgImBlY2hvICR7aW1hcF9sZGZsYWdzfWAKKysKKysgICAgICBpbWFwX2xkZmxh
Z3M9Ii1scGFtIC1ML3Vzci9saWIgLWxzc2wgLWxjcnlwdG8gLWxjcnlwdCIKKysKKysgICBDUFBG
TEFHUz0iJHtDUFBGTEFHU30gLUkke0lNQVBfVEtfRElSfS9pbmNsdWRlL2MtY2xpZW50IgorKyAg
IExJQlM9IiR7TElCU30gJHtJTUFQX1RLX0RJUn0vbGliL2xpYmMtY2xpZW50NC5hICJgZWNobyAk
e2ltYXBfbGRmbGFnc31gCisgICAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisgLyog
Y29uZmRlZnMuaC4gICovCisgX0FDRU9GCitAQCAtMTg2MjcsOCArMTg2NTgsOCBAQAorICAgIGlm
IHRlc3QgIiR7YWNfY3ZfaW1hcF90a30iID0gInllcyI7IHRoZW4KKyAgICAgICB7IGVjaG8gIiRh
c19tZTokTElORU5POiByZXN1bHQ6IHllcyIgPiY1CisgZWNobyAiJHtFQ0hPX1R9eWVzIiA+JjY7
IH0KKy0gICAgICBJTUFQX1RLX0xJQj0iJHtJTUFQX1RLX0RJUn0vYy1jbGllbnQvYy1jbGllbnQu
YSAiYGVjaG8gJHtpbWFwX2xkZmxhZ3N9YAorLSAgICAgIElNQVBfVEtfSU5DTFVERT0iLUkke0lN
QVBfVEtfRElSfS9jLWNsaWVudCIKKysgICAgICBJTUFQX1RLX0xJQj0iJHtJTUFQX1RLX0RJUn0v
bGliL2xpYmMtY2xpZW50NC5hICJgZWNobyAke2ltYXBfbGRmbGFnc31gCisrICAgICAgSU1BUF9U
S19JTkNMVURFPSItSSR7SU1BUF9US19ESVJ9L2luY2x1ZGUvYy1jbGllbnQiCisgICAgICAgUEJY
X0lNQVBfVEs9MQorIAorIGNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCitAQCAtMjY2NTIsNyAr
MjY2ODMsNyBAQAorIAorIAlmaQorIAorLQlQTEFURk9STV9PUEVOSDMyMz0iaDMyM18ke1BXTElC
X1BMQVRGT1JNfV8ke09QRU5IMzIzX1NVRkZJWH0iCisrCVBMQVRGT1JNX09QRU5IMzIzPSJoMzIz
XyR7T1BFTkgzMjNfU1VGRklYfSIKKyAKKyAJaWYgdGVzdCAiJHtIQVNfT1BFTkgzMjM6LXVuc2V0
fSIgIT0gInVuc2V0IjsgdGhlbgorIAkgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2lu
ZyBPcGVuSDMyMyBpbnN0YWxsYXRpb24gdmFsaWRpdHkiID4mNQorQEAgLTMzNDEwLDYgKzMzNDQx
LDEwIEBACisgUkFESVVTX0lOQ0xVREUhJFJBRElVU19JTkNMVURFJGFjX2RlbGltCisgUkFESVVT
X0RJUiEkUkFESVVTX0RJUiRhY19kZWxpbQorIFBCWF9SQURJVVMhJFBCWF9SQURJVVMkYWNfZGVs
aW0KKytTUEFORFNQX0xJQiEkU1BBTkRTUF9MSUIkYWNfZGVsaW0KKytTUEFORFNQX0lOQ0xVREUh
JFNQQU5EU1BfSU5DTFVERSRhY19kZWxpbQorK1NQQU5EU1BfRElSISRTUEFORFNQX0RJUiRhY19k
ZWxpbQorK1BCWF9TUEFORFNQISRQQlhfU1BBTkRTUCRhY19kZWxpbQorIFNQRUVYX0xJQiEkU1BF
RVhfTElCJGFjX2RlbGltCisgU1BFRVhfSU5DTFVERSEkU1BFRVhfSU5DTFVERSRhY19kZWxpbQor
IFNQRUVYX0RJUiEkU1BFRVhfRElSJGFjX2RlbGltCitAQCAtMzM0OTcsNyArMzM1MzIsNyBAQAor
IExUTElCT0JKUyEkTFRMSUJPQkpTJGFjX2RlbGltCisgX0FDRU9GCisgCistICBpZiB0ZXN0IGBz
ZWQgLW4gInMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYkJHN1YnMuc2VkIHwgZ3JlcCAtYyBYYCA9
IDkyOyB0aGVuCisrICBpZiB0ZXN0IGBzZWQgLW4gInMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYk
JHN1YnMuc2VkIHwgZ3JlcCAtYyBYYCA9IDk2OyB0aGVuCisgICAgIGJyZWFrCisgICBlbGlmICRh
Y19sYXN0X3RyeTsgdGhlbgorICAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBj
b3VsZCBub3QgbWFrZSAkQ09ORklHX1NUQVRVUyIgPiY1CmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmln
L3BrZy1wbGlzdCBhc3Rlcmlzay9wa2ctcGxpc3QKLS0tIGFzdGVyaXNrLm9yaWcvcGtnLXBsaXN0
CTIwMDctMDctMjcgMDg6NDE6MDkuMDAwMDAwMDAwICswNjAwCisrKyBhc3Rlcmlzay9wa2ctcGxp
c3QJMjAwNy0wNy0yNSAyMTo1MDowNC4wMDAwMDAwMDAgKzA2MDAKQEAgLTI4MSw3ICsyODEsNiBA
QAogbGliL2FzdGVyaXNrL21vZHVsZXMvY2RyX21hbmFnZXIuc28KICUlV0lUSF9QT1NUR1JFUyUl
bGliL2FzdGVyaXNrL21vZHVsZXMvY2RyX3Bnc3FsLnNvCiAlJVdJVEhfUkFESVVTJSVsaWIvYXN0
ZXJpc2svbW9kdWxlcy9jZHJfcmFkaXVzLnNvCi0lJVdJVEhfU1FMSVRFJSVsaWIvYXN0ZXJpc2sv
bW9kdWxlcy9jZHJfc3FsaXRlLnNvCiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9jaGFuX2FnZW50LnNv
CiAlJVdJVEhfSkFCQkVSJSVsaWIvYXN0ZXJpc2svbW9kdWxlcy9jaGFuX2d0YWxrLnNvCiBsaWIv
YXN0ZXJpc2svbW9kdWxlcy9jaGFuX2lheDIuc28KQEAgLTc2OCw2ICs3NjcsOSBAQAogJSVXSVRI
X1pBUFRFTCUlbGliL2FzdGVyaXNrL21vZHVsZXMvY29kZWNfemFwLnNvCiAlJVdJVEhfT0RCQyUl
bGliL2FzdGVyaXNrL21vZHVsZXMvcmVzX2NvbmZpZ19vZGJjLnNvCiAlJVdJVEhfT0RCQyUlbGli
L2FzdGVyaXNrL21vZHVsZXMvcmVzX29kYmMuc28KKyUlV0lUSF9GQVglJWxpYi9hc3Rlcmlzay9t
b2R1bGVzL2FwcF9yeGZheC5zbworJSVXSVRIX0ZBWCUlbGliL2FzdGVyaXNrL21vZHVsZXMvYXBw
X3R4ZmF4LnNvCislJVdJVEhfU1FMSVRFJSVsaWIvYXN0ZXJpc2svbW9kdWxlcy9jZHJfc3FsaXRl
LnNvCiBAZGlycm0gc2hhcmUvYXN0ZXJpc2svc3RhdGljLWh0dHAKIEBkaXJybSBzaGFyZS9hc3Rl
cmlzay9zb3VuZHMvc2lsZW5jZQogQGRpcnJtIHNoYXJlL2FzdGVyaXNrL3NvdW5kcy9waG9uZXRp
Ywo=

------=OPENWEBMAIL_ATT_0.762795227670239--



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