Updated pentium fpu memcpy patch for 2.1.75

AndroSyn (androsyn@n3ryb.dyn.ml.org)
Tue, 23 Dec 1997 10:35:32 -0500 (EST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--1881985792-1702686334-882891332=:1875
Content-Type: TEXT/PLAIN; charset=US-ASCII

This is an updated fpu memcpy patch for 2.1.75. The 2.1.40
version would no longer apply cleanly so I went ahead and
updated them.

Laters,

Aaron

________________________________________________

Visit my homepage or die........
http://androsyn.home.ml.org
________________________________________________

My soul lies offered as I'm waiting,
Intoxicate me when you step inside...
--Sopor Aeternus 'Tanz der Grausamkeit'
________________________________________________

--1881985792-1702686334-882891332=:1875
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="memcpy-2.1.75.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.971223103532.1875C@n3ryb.dyn.ml.org>
Content-Description: fpu memcpy patch for 2.1.75

LS0tIGxpbnV4L2FyY2gvaTM4Ni9jb25maWcuaW5+CVR1ZSBEZWMgMjMgMTA6
MDY6MjMgMTk5Nw0KKysrIGxpbnV4L2FyY2gvaTM4Ni9jb25maWcuaW4JVHVl
IERlYyAyMyAxMDoyMjo0MCAxOTk3DQpAQCAtNTIsNiArNTIsMTIgQEANCiAN
CiBib29sICdWaWRlbyBtb2RlIHNlbGVjdGlvbiBzdXBwb3J0JyBDT05GSUdf
VklERU9fU0VMRUNUDQogDQoraWYgWyAiJENPTkZJR19FWFBFUklNRU5UQUwi
ID0gInkiIF07IHRoZW4NCisgIGlmIFsgIiRDT05GSUdfTTU4NiIgPSAieSIg
LW8gIiRDT05GSUdfTTY4NiIgPSAieSIgXTsgdGhlbg0KKyAgICBib29sICdV
c2UgUGVudGl1bS1vcHRpbWl6ZWQgY29weSByb3V0aW5lJyBDT05GSUdfTTU4
Nl9DT1BZIHkNCisgIGZpDQorZmkNCisNCiB0cmlzdGF0ZSAnUGFyYWxsZWwg
cG9ydCBzdXBwb3J0JyBDT05GSUdfUEFSUE9SVA0KIGlmIFsgIiRDT05GSUdf
UEFSUE9SVCIgIT0gIm4iIF07IHRoZW4NCiAgIGRlcF90cmlzdGF0ZSAnICAg
UEMtc3R5bGUgaGFyZHdhcmUnIENPTkZJR19QQVJQT1JUX1BDICRDT05GSUdf
UEFSUE9SVA0KLS0tIGxpbnV4L0RvY3VtZW50YXRpb24vQ29uZmlndXJlLmhl
bHAub3JpZwlUdWUgRGVjIDIzIDEwOjA1OjU1IDE5OTcNCisrKyBsaW51eC9E
b2N1bWVudGF0aW9uL0NvbmZpZ3VyZS5oZWxwCVR1ZSBEZWMgMjMgMTA6MDY6
MjMgMTk5Nw0KQEAgLTkzMCw2ICs5MzAsMjAgQEANCiAgIHNwZWNpZnkgIlBl
bnRpdW0iIGV2ZW4gaWYgcnVubmluZyBvbiBhIDQ4NjogdGhlIGtlcm5lbCB3
aWxsIGJlDQogICBzbWFsbGVyIGJ1dCBzbG93ZXIuIElmIHlvdSBkb24ndCBr
bm93IHdoYXQgdG8gZG8sIHNheSAiMzg2Ii4NCiANCitVc2UgUGVudGl1bS1v
cHRpbWl6ZWQgY29weSByb3V0aW5lDQorQ09ORklHX001ODZfQ09QWQ0KKyAg
VGhpcyBlbmFibGVzIHNwZWNpYWwgcm91dGluZXMgZm9yIGNvcHlpbmcgYW5k
IHplcm9pbmcgY2h1bmtzIG9mDQorICBtZW1vcnkgdGhhdCB1c2UgdGhlIEZQ
VSB0byBtb3ZlIDY0IGJpdCBjaHVua3Mgb2YgbWVtb3J5LCB3aGljaCBpcw0K
KyAgb3RoZXJ3aXNlIG5vdCBwb3NzaWJsZSBvbiB0aGUgUGVudGl1bSBwcm9j
ZXNzb3IuICBEZXBlbmRpbmcgdXBvbg0KKyAgeW91ciBwYXJ0aWN1bGFyIHN5
c3RlbSBjb25maWd1cmF0aW9uLCBtZW1vcnkgY29weSBwZXJmb3JtYW5jZSBt
YXkNCisgIGltcHJvdmUgYnkgMzUlIG9yIHNvLCBnaXZpbmcgYW4gb3ZlcmFs
bCBzeXN0ZW0gcGVyZm9ybWFuY2UNCisgIGltcHJvdmVtZW50IG9mIDUtMTAl
IGluIHNvbWUgc2l0dWF0aW9ucy4gIFRoaXMgcm91dGluZSBhbHNvIGdpdmVz
IGENCisgIHNtYWxsIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IHdpdGggYXQg
bGVhc3Qgc29tZSBQZW50aXVtIFBybw0KKyAgc2l0dWF0aW9ucywgYnV0IHBl
cmZvcm1hbmNlIG9uIG5vbi1JbnRlbCBDUFUncyBpcyB1bmtub3duLiAgV2l0
aA0KKyAgUzMgdmlkZW8gY2FyZHMsIGFuZCBwcm9iYWJseSBzb21lIG90aGVy
cywgdGhpcyBjYW4gY2F1c2UgYSBzeXN0ZW0NCisgIHBhbmljIGlmIHlvdSBy
ZWFkIGZyb20gdGhlIFZHQSByYW5nZSBpbiAvZGV2L2ttZW0uICBJZiB5b3Ug
ZG9uJ3QNCisgIGtub3cgd2hhdCB0byBkbywgYW5zd2VyIE4uDQorDQogVmlk
ZW8gbW9kZSBzZWxlY3Rpb24gc3VwcG9ydA0KIENPTkZJR19WSURFT19TRUxF
Q1QNCiAgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciB0ZXh0IG1vZGUgc2Vs
ZWN0aW9uIG9uIGtlcm5lbCBzdGFydHVwLiBJZg0KLS0tIGxpbnV4L2FyY2gv
aTM4Ni9saWIvTWFrZWZpbGUub3JpZwlUdWUgRGVjIDIzIDEwOjA1OjA4IDE5
OTcNCisrKyBsaW51eC9hcmNoL2kzODYvbGliL01ha2VmaWxlCVR1ZSBEZWMg
MjMgMTA6MDY6MjMgMTk5Nw0KQEAgLTEzLDQgKzEzLDggQEANCiBMX1RBUkdF
VCA9IGxpYi5hDQogTF9PQkpTICA9IGNoZWNrc3VtLm8gc2VtYXBob3JlLm8g
bG9ja3MubyBkZWxheS5vDQogDQoraWZkZWYgQ09ORklHX001ODZfQ09QWQ0K
K0xfT0JKUyArPSBjb3B5Lm8NCitlbmRpZg0KKw0KIGluY2x1ZGUgJChUT1BE
SVIpL1J1bGVzLm1ha2UNCi0tLSAvZGV2L251bGwJVHVlIERlYyAyMyAxMDoy
NjowMSAxOTk3DQorKysgbGludXgvYXJjaC9pMzg2L2xpYi9jb3B5LmMJVHVl
IERlYyAyMyAxMDowNjoyMyAxOTk3DQpAQCAtMCwwICsxLDM1MyBAQA0KKy8q
DQorICogY29weS5jIC0tIGZhc3QgbWVtY3B5IHJvdXRpbmVzIGZvciBQZW50
aXVtIHVzaW5nIEZQVQ0KKyAqIENvcHlyaWdodCAoYykgMTk5NSwgMTk5NiBS
b2JlcnQgS3Jhd2l0eiA8cmxrQHRpYWMubmV0Pg0KKyAqIGFuZCBHZXJoYXJk
IEtvZXJ0aW5nIChHLktvZXJ0aW5nQHRlY2hlbS5ydWhyLXVuaS1ib2NodW0u
ZGUpDQorICogRXhjZXB0aW9uIGhhbmRsaW5nIGluIGtlcm5lbC91c2Vyc3Bh
Y2Ugcm91dGluZXMgYnkgR2VyaGFyZA0KKyAqIEtvZXJ0aW5nLg0KKyAqIE1h
eSBiZSB1c2VkIGFuZCByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlDQorICovDQorDQorI2luY2x1ZGUg
PGxpbnV4L3R5cGVzLmg+DQorDQorI2RlZmluZSBDQUNIRUxJTkUgMzINCisj
ZGVmaW5lIENBQ0hFTUFTSyAoQ0FDSEVMSU5FIC0gMSkNCisjZGVmaW5lIEJJ
R01BU0sgKH4yNTUpDQorI2RlZmluZSBTTUFMTE1BU0sgKH4zMSkNCisNCit2
b2lkICoNCitfX196ZXJvX2NodW5rICh2b2lkICpfdG8sIF9fa2VybmVsX3Np
emVfdCBfYnl0ZXMpDQorew0KKyAgdW5zaWduZWQgbG9uZyB0ZW1wMCwgdGVt
cDE7DQorICByZWdpc3RlciB1bnNpZ25lZCBsb25nIHRvIGFzbSgiZGkiKSA9
ICh1bnNpZ25lZCBsb25nKV90bzsNCisgIHJlZ2lzdGVyIHVuc2lnbmVkIGxv
bmcgYnl0ZXMgYXNtICgiZHgiKSA9ICh1bnNpZ25lZCBsb25nKV9ieXRlczsN
CisgIGNoYXIgc2F2ZVs0Ml07DQorICB1bnNpZ25lZCBsb25nIHpidWZbMl09
ezAsMH07DQorICB0ZW1wMCA9IHRvICYgNzsNCisgIGlmICh0ZW1wMCkgew0K
KyAgICAgYnl0ZXMgLT0gdGVtcDA7DQorICAgICBhc20gX192b2xhdGlsZV9f
ICgNCisgICAgICAgICJjbGRcblx0Ig0KKyAgICAgICAgInJlcDsgc3Rvc2Jc
blx0Ig0KKyAgICAgICAgIDogIj1EIiAodG8pDQorICAgICAgICAgOiAiRCIg
KHRvKSwgImEiICgwKSwgImMiICh0ZW1wMCkNCisgICAgICAgICA6ICJjeCIg
KTsNCisgIH0NCisgIGFzbSBfX3ZvbGF0aWxlX18gKA0KKyAgICAgICAic2hy
bCAkMywgJTBcblx0Ig0KKyAgICAgICAiZnN0ZW52ICU0XG5cdCINCisgICAg
ICAgImZzdHB0IDMyKyU0XG5cdCINCisgICAgICAgIm1vdmwgKCUxKSwgJTJc
blx0Ig0KKyAgICAgICAiZmlsZHEgJTNcbiINCisgICAgICAgIjI6XG5cdCIN
CisgICAgICAgImZzdGwgKCUxKVxuXHQiDQorICAgICAgICJhZGRsICQ4LCAl
MVxuXHQiDQorICAgICAgICJkZWNsICUwXG5cdCINCisgICAgICAgImpuZSAy
YlxuXHQiDQorICAgICAgICJmc3RwbCAlJXN0XG5cdCINCisgICAgICAgImZs
ZHQgMzIrJTRcblx0Ig0KKyAgICAgICAiZmxkZW52ICU0XG5cdCINCisgICAg
ICAgOiAiPSZyIiAodGVtcDApLCAiPSZyIiAodG8pLCAiPSZyIiAodGVtcDEp
DQorICAgICAgIDogIm0iICgqKGNoYXIgKil6YnVmKSwgIm0iICgqKGNoYXIg
KilzYXZlKSwgIjAiIChieXRlcyksICIxIiAodG8pDQorICAgICAgICk7DQor
ICAgYnl0ZXMgJj0gNzsNCisgICBpZiAoYnl0ZXMpIHsNCisgICAgICBhc20g
X192b2xhdGlsZV9fICgNCisgICAgICAgICJzaHJsICQyLCAlJWVjeFxuXHQi
DQorICAgICAgICAiY2xkXG5cdCINCisgICAgICAgICJyZXAgOyBzdG9zbFxu
XHQiDQorICAgICAgICAidGVzdGIgJDIsJSVkbFxuXHQiDQorICAgICAgICAi
amUgMTExZlxuXHQiDQorICAgICAgICAic3Rvc3dcbiINCisgICAgICAgICIx
MTE6XHR0ZXN0YiAkMSwlJWRsXG5cdCINCisgICAgICAgICJqZSAxMTJmXG5c
dCINCisgICAgICAgICJzdG9zYlxuIg0KKyAgICAgICAgIjExMjoiDQorICAg
ICAgICA6ICI9RCIgKHRvKQ0KKyAgICAgICAgOiAiRCIgKHRvKSwgImEiICgw
KSwgImMiIChieXRlcyksICJkIiAoYnl0ZXMpDQorICAgICAgICA6ICJjeCIs
Im1lbW9yeSIpOw0KKyAgICB9DQorICAgcmV0dXJuIF90bzsNCit9DQorDQor
dm9pZCAqDQorX19tZW1jcHlfZyAodm9pZCAqX3RvLCBjb25zdCB2b2lkICpf
ZnJvbSwgX19rZXJuZWxfc2l6ZV90IF9ieXRlcykNCit7DQorICByZWdpc3Rl
ciB1bnNpZ25lZCBsb25nIGZyb20gYXNtICgic2kiKSA9ICh1bnNpZ25lZCBs
b25nKV9mcm9tOw0KKyAgcmVnaXN0ZXIgdW5zaWduZWQgbG9uZyB0byAgIGFz
bSAoImRpIikgPSAodW5zaWduZWQgbG9uZylfdG87DQorICByZWdpc3RlciB1
bnNpZ25lZCBsb25nIGJ5dGVzIGFzbSAoImR4IikgPSAodW5zaWduZWQgbG9u
ZylfYnl0ZXM7DQorICBpZiAoYnl0ZXMgPj0gMTAyNCkgew0KKyAgICAgdW5z
aWduZWQgbG9uZyB0ZW1wMCwgdGVtcDE7DQorICAgICBjaGFyIHNhdmVbMTA4
XTsNCisNCisgICAgIHRlbXAwID0gdG8gJiA3Ow0KKyAgICAgaWYgKHRlbXAw
KSB7DQorICAgICAgICBieXRlcyAtPSB0ZW1wMDsNCisgICAgICAgIGFzbSBf
X3ZvbGF0aWxlX18gKA0KKyAgICAgICAgICAgImNsZFxuXHQiDQorICAgICAg
ICAgICAicmVwOyBtb3ZzYlxuXHQiDQorICAgICAgICAgICAgOiAiPUQiICh0
byksICI9UyIgKGZyb20pDQorICAgICAgICAgICAgOiAiRCIgKHRvKSwgIlMi
IChmcm9tKSwgImMiICh0ZW1wMCkNCisgICAgICAgICAgICA6ICJjeCIgKTsN
CisgICAgIH0NCisgICAgIGFzbSBfX3ZvbGF0aWxlX18gKA0KKyAgICAgICAg
InNocmwgJDgsICUwXG5cdCINCisgICAgICAgICJtb3ZsICglMiksICUzXG5c
dCINCisgICAgICAgICJtb3ZsICglMSksICUzXG5cdCINCisgICAgICAgICJm
c2F2ZSAlNFxuIg0KKyAgICAgICAgIjE6XG5cdCINCisgICAgICAgICJtb3Zs
ICQ0LCAlM1xuIg0KKyAgICAgICAgIjI6XG5cdCINCisNCisgICAgICAgICJm
aWxkcSAweDAoJTIpXG5cdCINCisgICAgICAgICJmaWxkcSAweDIwKCUyKVxu
XHQiDQorICAgICAgICAiZmlsZHEgMHg0MCglMilcblx0Ig0KKyAgICAgICAg
ImZpbGRxIDB4NjAoJTIpXG5cdCINCisgICAgICAgICJmaWxkcSAweDgwKCUy
KVxuXHQiDQorICAgICAgICAiZmlsZHEgMHhhMCglMilcblx0Ig0KKyAgICAg
ICAgImZpbGRxIDB4YzAoJTIpXG5cdCINCisgICAgICAgICJmaWxkcSAweGUw
KCUyKVxuXHQiDQorICAgICAgICAiZnhjaFxuXHQiDQorICAgICAgICAiZmlz
dHBxIDB4YzAoJTEpXG5cdCINCisgICAgICAgICJmaXN0cHEgMHhlMCglMSlc
blx0Ig0KKyAgICAgICAgImZpc3RwcSAweGEwKCUxKVxuXHQiDQorICAgICAg
ICAiZmlzdHBxIDB4ODAoJTEpXG5cdCINCisgICAgICAgICJmaXN0cHEgMHg2
MCglMSlcblx0Ig0KKyAgICAgICAgImZpc3RwcSAweDQwKCUxKVxuXHQiDQor
ICAgICAgICAiZmlzdHBxIDB4MjAoJTEpXG5cdCINCisgICAgICAgICJmaXN0
cHEgMHgwKCUxKVxuXHQiDQorDQorICAgICAgICAiYWRkbCAkOCwgJTJcblx0
Ig0KKyAgICAgICAgImFkZGwgJDgsICUxXG5cdCINCisgICAgICAgICJkZWNs
ICUzXG5cdCINCisgICAgICAgICJqbmUgMmJcblx0Ig0KKw0KKyAgICAgICAg
ImFkZGwgJDIyNCwgJTJcblx0Ig0KKyAgICAgICAgImFkZGwgJDIyNCwgJTFc
blx0Ig0KKyAgICAgICAgImRlY2wgJTBcblx0Ig0KKyAgICAgICAgImpuZSAx
YlxuXHQiDQorICAgICAgICAiZnJzdG9yICU0XG5cdCINCisgICAgICAgIDog
Ij0mciIgKHRlbXAwKSwgIj0mciIgKHRvKSwgIj0mciIgKGZyb20pLCAiPSZy
IiAodGVtcDEpDQorICAgICAgICA6ICJtIiAoc2F2ZVswXSksICIwIiAoYnl0
ZXMpLCAiMSIgKHRvKSwgIjIiIChmcm9tKQ0KKyAgICAgICAgOiAibWVtb3J5
IiApOyAgICAgICAgICAgICANCisgICAgIGJ5dGVzICY9IDI1NTsNCisgICB9
DQorICAgaWYgKGJ5dGVzKSB7DQorICAgICAgYXNtIF9fdm9sYXRpbGVfXyAo
DQorICAgICAgICAic2hybCAkMiwgJSVlY3hcblx0Ig0KKyAgICAgICAgImNs
ZFxuXHQiDQorICAgICAgICAicmVwIDsgbW92c2xcblx0Ig0KKyAgICAgICAg
InRlc3RiICQyLCUlZGxcblx0Ig0KKyAgICAgICAgImplIDExMWZcblx0Ig0K
KyAgICAgICAgIm1vdnN3XG4iDQorICAgICAgICAiMTExOlx0dGVzdGIgJDEs
JSVkbFxuXHQiDQorICAgICAgICAiamUgMTEyZlxuXHQiDQorICAgICAgICAi
bW92c2JcbiINCisgICAgICAgICIxMTI6Ig0KKyAgICAgICAgOiAiPUQiICh0
byksICI9UyIgKGZyb20pDQorICAgICAgICA6ICJEIiAodG8pLCAiUyIgKGZy
b20pLCAiYyIgKGJ5dGVzKSwgImQiIChieXRlcykNCisgICAgICAgIDogImN4
IiwibWVtb3J5Iik7DQorICAgIH0NCisgIHJldHVybiBfdG87DQorfQ0KKw0K
K3Vuc2lnbmVkIGxvbmcNCitfX19jb3B5X3VzZXIodm9pZCAqX3RvLCBjb25z
dCB2b2lkICpfZnJvbSwgdW5zaWduZWQgbG9uZyBieXRlcykNCit7DQorICBy
ZWdpc3RlciB1bnNpZ25lZCBsb25nIGZyb20gYXNtICgic2kiKSA9ICh1bnNp
Z25lZCBsb25nKV9mcm9tOw0KKyAgcmVnaXN0ZXIgdW5zaWduZWQgbG9uZyB0
byAgIGFzbSAoImRpIikgPSAodW5zaWduZWQgbG9uZylfdG87DQorICB1bnNp
Z25lZCBsb25nIHJldHZhbDsNCisgIGNoYXIgc2F2ZVsxMDhdOw0KKw0KKyAg
YXNtIF9fdm9sYXRpbGVfXyAoImNsZFxuIik7DQorICByZXR2YWwgPSB0byAm
IDc7DQorICBpZiAocmV0dmFsICYmIGJ5dGVzPj1yZXR2YWwpIHsNCisgICAg
IGJ5dGVzIC09IHJldHZhbDsNCisgICAgIGFzbSBfX3ZvbGF0aWxlX18gKA0K
KyAgICAgICAgIjE6CXJlcDsgbW92c2JcbiINCisgICAgICAgICIyOlxuIg0K
KyAgICAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiINCisgICAgICAg
ICIzOglhZGRsICUzLCAlMFxuIg0KKyAgICAgICAgIgl4b3JsICUzLCAlM1xu
Ig0KKyAgICAgICAgIglqbXAgMmJcbiINCisJIi5wcmV2aW91c1xuIg0KKyAg
ICAgICAgIi5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiINCisgICAgICAg
ICIJLmFsaWduIDRcbiINCisgICAgICAgICIJLmxvbmcgMWIsM2JcbiINCisJ
Ii5wcmV2aW91c1xuIg0KKyAgICAgICAgIDogIj1jIiAocmV0dmFsKSwgIj1E
IiAodG8pLCAiPVMiIChmcm9tKSwgIj1yIiAoYnl0ZXMpDQorICAgICAgICAg
OiAiMCIgKHJldHZhbCksICIxIiAodG8pLCAiMiIgKGZyb20pLCAiMyIgKGJ5
dGVzKQ0KKyAgICAgICAgIDogIm1lbW9yeSIgKTsNCisgICAgIH0NCisgIGlm
IChieXRlcyA+PSAxMDI0KSB7DQorICAgICB1bnNpZ25lZCBsb25nIHRlbXAw
Ow0KKw0KKyAgICAgYXNtIF9fdm9sYXRpbGVfXyAoDQorICAgICAgICAiCWZz
YXZlICU0XG4iDQorICAgICAgICAiMToJbW92bCAoJTEpLCAlM1xuIg0KKyAg
ICAgICAgIjI6CW1vdmwgKCUwKSwgJTNcbiINCisgICAgICAgICIzOgltb3Zs
ICQ0LCAlM1xuIg0KKyAgICAgICAgIjQ6CWZpbGRxIDB4MCglMSlcbiINCisg
ICAgICAgICI1OglmaWxkcSAweDIwKCUxKVxuIg0KKyAgICAgICAgIjY6CWZp
bGRxIDB4NDAoJTEpXG4iDQorICAgICAgICAiNzoJZmlsZHEgMHg2MCglMSlc
biINCisgICAgICAgICI4OglmaWxkcSAweDgwKCUxKVxuIg0KKyAgICAgICAg
Ijk6CWZpbGRxIDB4YTAoJTEpXG4iDQorICAgICAgICAiMTA6CWZpbGRxIDB4
YzAoJTEpXG4iDQorICAgICAgICAiMTE6CWZpbGRxIDB4ZTAoJTEpXG4iDQor
ICAgICAgICAiCWZ4Y2hcbiINCisgICAgICAgICIxMjoJZmlzdHBxIDB4YzAo
JTApXG4iDQorICAgICAgICAiMTM6CWZpc3RwcSAweGUwKCUwKVxuIg0KKyAg
ICAgICAgIjE0OglmaXN0cHEgMHhhMCglMClcbiINCisgICAgICAgICIxNToJ
ZmlzdHBxIDB4ODAoJTApXG4iDQorICAgICAgICAiMTY6CWZpc3RwcSAweDYw
KCUwKVxuIg0KKyAgICAgICAgIjE3OglmaXN0cHEgMHg0MCglMClcbiINCisg
ICAgICAgICIxODoJZmlzdHBxIDB4MjAoJTApXG4iDQorICAgICAgICAiMTk6
CWZpc3RwcSAweDAoJTApXG4iDQorICAgICAgICAiCWFkZGwgJDgsICUxXG4i
DQorICAgICAgICAiCWFkZGwgJDgsICUwXG4iDQorICAgICAgICAiCWRlY2wg
JTNcbiINCisgICAgICAgICIJam5lIDRiXG4iDQorDQorICAgICAgICAiCXN1
YmwgJDI1NiwgJTJcbiINCisgICAgICAgICIJYWRkbCAkMjI0LCAlMVxuIg0K
KyAgICAgICAgIglhZGRsICQyMjQsICUwXG4iDQorICAgICAgICAiCWNtcGwg
JDI1NiwgJTJcbiINCisgICAgICAgICIJam5iIDNiXG4iDQorICAgICAgICAi
MjA6CWZyc3RvciAlNFxuIg0KKyAgICAgICAgIi5zZWN0aW9uIC5maXh1cCxc
ImF4XCJcbiINCisgICAgICAgICIyMToJY21wbCAkNCwgJTNcbiINCisgICAg
ICAgICIJamUgMjBiXG4iDQorICAgICAgICAiCXN1YmwgJDgsICUxXG4iDQor
ICAgICAgICAiCXN1YmwgJDgsICUwXG4iDQorICAgICAgICAiCWluY2wgJTNc
biINCisgICAgICAgICIJam1wIDIxYlxuIg0KKwkiLnByZXZpb3VzXG4iDQor
ICAgICAgICAiLnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIg0KKyAgICAg
ICAgIgkuYWxpZ24gNFxuIg0KKyAgICAgICAgIgkubG9uZyAxYiwyMGJcbiIN
CisgICAgICAgICIJLmxvbmcgMmIsMjBiXG4iDQorICAgICAgICAiCS5sb25n
IDRiLDIxYlxuIg0KKyAgICAgICAgIgkubG9uZyA1YiwyMWJcbiINCisgICAg
ICAgICIJLmxvbmcgNmIsMjFiXG4iDQorICAgICAgICAiCS5sb25nIDdiLDIx
YlxuIg0KKyAgICAgICAgIgkubG9uZyA4YiwyMWJcbiINCisgICAgICAgICIJ
LmxvbmcgOWIsMjFiXG4iDQorICAgICAgICAiCS5sb25nIDEwYiwyMWJcbiIN
CisgICAgICAgICIJLmxvbmcgMTFiLDIxYlxuIg0KKyAgICAgICAgIgkubG9u
ZyAxMmIsMjFiXG4iDQorICAgICAgICAiCS5sb25nIDEzYiwyMWJcbiINCisg
ICAgICAgICIJLmxvbmcgMTRiLDIxYlxuIg0KKyAgICAgICAgIgkubG9uZyAx
NWIsMjFiXG4iDQorICAgICAgICAiCS5sb25nIDE2YiwyMWJcbiINCisgICAg
ICAgICIJLmxvbmcgMTdiLDIxYlxuIg0KKyAgICAgICAgIgkubG9uZyAxOGIs
MjFiXG4iDQorICAgICAgICAiCS5sb25nIDE5YiwyMWJcbiINCisJIi5wcmV2
aW91c1xuIg0KKyAgICAgICAgOiAiPSZyIiAodG8pLCAiPSZyIiAoZnJvbSks
ICI9JnIiIChieXRlcyksICI9JnIiICh0ZW1wMCkNCisgICAgICAgIDogIm0i
IChzYXZlWzBdKSwgIjAiICh0byksICIxIiAoZnJvbSksICIyIiAoYnl0ZXMp
DQorICAgICAgICA6ICJtZW1vcnkiICk7DQorICAgfQ0KKyAgIGlmIChieXRl
cykgew0KKyAgICAgIGFzbSBfX3ZvbGF0aWxlX18gKA0KKyAgICAgICAgIglt
b3ZsICUxLCAlMFxuIg0KKyAgICAgICAgIglhbmRsICQzLCAlMVxuIg0KKyAg
ICAgICAgIglzaHJsICQyLCAlMFxuIg0KKyAgICAgICAgIjE6CXJlcDsgbW92
c2xcbiINCisgICAgICAgICIJbW92bCAlMSwgJTBcbiINCisgICAgICAgICIy
OglyZXA7IG1vdnNiXG4iDQorICAgICAgICAiMzpcbiINCisgICAgICAgICIu
c2VjdGlvbiAuZml4dXAsXCJheFwiXG4iDQorICAgICAgICAiNDoJbGVhIDAo
JTEsJTAsNCksICUwXG4iDQorCSIJam1wIDNiXG4iDQorCSIucHJldmlvdXNc
biINCisgICAgICAgICIuc2VjdGlvbiBfX2V4X3RhYmxlLFwiYVwiXG4iDQor
ICAgICAgICAiCS5hbGlnbiA0XG4iDQorICAgICAgICAiCS5sb25nIDFiLDRi
XG4iDQorICAgICAgICAiCS5sb25nIDJiLDNiXG4iDQorCSIucHJldmlvdXNc
biINCisgICAgICAgIDogIj1jIiAocmV0dmFsKQ0KKyAgICAgICAgOiAiciIg
KGJ5dGVzKSwgIkQiICh0byksICJTIiAoZnJvbSkNCisgICAgICAgIDogImRp
IiwgInNpIiwgIm1lbW9yeSIpOw0KKyAgICB9DQorICByZXR1cm4gcmV0dmFs
Ow0KK30NCisNCit1bnNpZ25lZCBsb25nDQorX19fY2xlYXJfdXNlciAoY2hh
ciAqX3RvLCB1bnNpZ25lZCBsb25nIGJ5dGVzKQ0KK3sNCisgIHJlZ2lzdGVy
IHVuc2lnbmVkIGxvbmcgdG8gYXNtKCJkaSIpID0gKHVuc2lnbmVkIGxvbmcp
X3RvOw0KKyAgY2hhciBzYXZlWzQyXTsNCisgIHVuc2lnbmVkIGxvbmcgemJ1
ZlsyXT17MCwwfTsNCisgIHVuc2lnbmVkIGxvbmcgcmV0dmFsOw0KKw0KKyAg
YXNtIF9fdm9sYXRpbGVfXyAoImNsZFxuIik7DQorICByZXR2YWwgPSB0byAm
IDc7DQorICBpZiAocmV0dmFsICYmIGJ5dGVzPj1yZXR2YWwpIHsNCisgICAg
IGJ5dGVzIC09IHJldHZhbDsNCisgICAgIGFzbSBfX3ZvbGF0aWxlX18gKA0K
KyAgICAgICAgIjE6CXJlcDsgc3Rvc2JcbiINCisgICAgICAgICIyOlxuIg0K
KyAgICAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiINCisJIjM6CWFk
ZGwgJTIsICUwXG4iDQorICAgICAgICAiCXhvcmwgJTIsICUyXG4iDQorICAg
ICAgICAiCWptcCAyYlxuIg0KKwkiLnByZXZpb3VzXG4iDQorICAgICAgICAi
LnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIg0KKyAgICAgICAgIgkuYWxp
Z24gNFxuIg0KKyAgICAgICAgIgkubG9uZyAxYiwgM2JcbiINCisJIi5wcmV2
aW91c1xuIg0KKyAgICAgICAgIDogIj1jIiAocmV0dmFsKSwgIj1EIiAodG8p
LCAiPXIiIChieXRlcykNCisgICAgICAgICA6ICJhIiAoMCksICIwIiAocmV0
dmFsKSwgIjEiICh0byksICIyIiAoYnl0ZXMpDQorICAgICAgICAgOiAibWVt
b3J5IiApOw0KKyAgfQ0KKyAgaWYgKGJ5dGVzID49IDUxMikNCisgICAgeyB1
bnNpZ25lZCBsb25nIHRlbXAwOw0KKw0KKyAgICAgIGFzbSBfX3ZvbGF0aWxl
X18gKA0KKyAgICAgICAiCWZzdGVudiAlNFxuIg0KKyAgICAgICAiCWZzdHB0
IDMyKyU0XG4iDQorICAgICAgICIJZmlsZHEgJTNcbiINCisgICAgICAgIjE6
CW1vdmwgKCUxKSwgJTBcbiINCisgICAgICAgIgltb3ZsICUyLCAlMFxuIg0K
KyAgICAgICAiCXNocmwgJDMsICUwXG4iDQorICAgICAgICIyOglmc3RsICgl
MSlcbiINCisgICAgICAgIglhZGRsICQ4LCAlMVxuIg0KKyAgICAgICAiCXN1
YmwgJDgsICUyXG4iDQorICAgICAgICIJZGVjbCAlMFxuIg0KKyAgICAgICAi
CWpuZSAyYlxuIg0KKyAgICAgICAiMzoJZnN0cGwgJSVzdFxuIg0KKyAgICAg
ICAiCWZsZHQgMzIrJTRcbiINCisgICAgICAgIglmbGRlbnYgJTRcbiINCisg
ICAgICAgIi5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiINCisgICAgICAg
IgkuYWxpZ24gNFxuIg0KKyAgICAgICAiCS5sb25nIDFiLCAzYlxuIg0KKyAg
ICAgICAiCS5sb25nIDJiLCAzYlxuIg0KKyAgICAgICAiLnByZXZpb3VzXG4i
DQorICAgICAgIDogIj0mciIgKHRlbXAwKSwgIj0mciIgKHRvKSwgIj0mciIg
KGJ5dGVzKQ0KKyAgICAgICA6ICJtIiAoKihjaGFyICopemJ1ZiksICJtIiAo
KihjaGFyICopc2F2ZSksICIxIiAodG8pLCAiMiIgKGJ5dGVzKQ0KKyAgICAg
ICApOw0KKyAgICB9DQorICAgaWYgKGJ5dGVzKSB7DQorICAgICAgYXNtIF9f
dm9sYXRpbGVfXyAoDQorCSIJbW92bCAlMSwgJTBcbiINCisJIglhbmRsICQz
LCAlMVxuIg0KKwkiCXNocmwgJDIsICUwXG4iDQorICAgICAgICAiMToJcmVw
OyBzdG9zbFxuIg0KKyAgICAgICAgIgltb3ZsICUxLCAlMFxuIg0KKyAgICAg
ICAgIjI6CXJlcDsgc3Rvc2JcbiINCisJIjM6XG4iDQorCSIuc2VjdGlvbiAu
Zml4dXAsXCJheFwiXG4iDQorCSI0OglsZWEgMCglMSwlMCw0KSwgJTBcbiIN
CisJIglqbXAgM2JcbiINCisJIi5wcmV2aW91c1xuIg0KKwkiLnNlY3Rpb24g
X19leF90YWJsZSxcImFcIlxuIg0KKwkiCS5hbGlnbiA0XG4iDQorCSIJLmxv
bmcgMWIsIDRiXG4iDQorCSIJLmxvbmcgMmIsIDNiXG4iDQorCSIucHJldmlv
dXNcbiINCisgICAgICAgIDogIj1jIiAocmV0dmFsKQ0KKyAgICAgICAgOiAi
ciIgKGJ5dGVzKSwgImEiICgwKSwgIkQiICh0bykNCisgICAgICAgIDogImRp
IiwgIm1lbW9yeSIpOw0KKyAgICB9DQorICByZXR1cm4gcmV0dmFsOw0KK30N
Ci0tLSBsaW51eC9pbmNsdWRlL2FzbS1pMzg2L3N0cmluZy00ODYuaC5vcmln
CVR1ZSBEZWMgMjMgMTA6MDU6MDggMTk5Nw0KKysrIGxpbnV4L2luY2x1ZGUv
YXNtLWkzODYvc3RyaW5nLTQ4Ni5oCVR1ZSBEZWMgMjMgMTA6MDY6MjMgMTk5
Nw0KQEAgLTEsNiArMSw4IEBADQogI2lmbmRlZiBfSTM4Nl9TVFJJTkdfSTQ4
Nl9IXw0KICNkZWZpbmUgX0kzODZfU1RSSU5HX0k0ODZfSF8NCiANCisjaW5j
bHVkZSA8bGludXgvY29uZmlnLmg+DQorDQogLyoNCiAgKiBUaGlzIHN0cmlu
Zy1pbmNsdWRlIGRlZmluZXMgYWxsIHN0cmluZyBmdW5jdGlvbnMgYXMgaW5s
aW5lDQogICogZnVuY3Rpb25zLiBVc2UgZ2NjLiBJdCBhbHNvIGFzc3VtZXMg
ZHM9ZXM9ZGF0YSBzcGFjZSwgdGhpcyBzaG91bGQgYmUNCkBAIC00MTYsNyAr
NDE4LDcgQEANCiANCiAjZGVmaW5lIF9fSEFWRV9BUkNIX01FTUNQWQ0KICNk
ZWZpbmUgbWVtY3B5KGQscyxjb3VudCkgXA0KLShfX2J1aWx0aW5fY29uc3Rh
bnRfcChjb3VudCkgPyBcDQorKCgoKGNvdW50KSA8IDI1NikgJiYgKF9fYnVp
bHRpbl9jb25zdGFudF9wKGNvdW50KSkpID8gXA0KICBfX21lbWNweV9jKChk
KSwocyksKGNvdW50KSkgOiBcDQogIF9fbWVtY3B5X2coKGQpLChzKSwoY291
bnQpKSkNCiANCkBAIC00NjIsNiArNDY0LDkgQEANCiByZXR1cm4gKHRvKTsN
CiB9DQogDQorI2lmZGVmIENPTkZJR19NNTg2X0NPUFkNCitleHRlcm4gdm9p
ZCAqX19tZW1jcHlfZyh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgc2l6
ZV90IG4pOw0KKyNlbHNlDQogZXh0ZXJuIGlubGluZSB2b2lkICogX19tZW1j
cHlfZyh2b2lkICogdG8sIGNvbnN0IHZvaWQgKiBmcm9tLCBzaXplX3QgbikN
CiB7DQogcmVnaXN0ZXIgdm9pZCAqdG1wID0gKHZvaWQgKil0bzsNCkBAIC00
ODAsNiArNDg1LDcgQEANCiAJOiJjeCIsImRpIiwic2kiLCJtZW1vcnkiKTsN
CiByZXR1cm4gKHRvKTsNCiB9DQorI2VuZGlmDQogDQogDQogI2RlZmluZSBf
X0hBVkVfQVJDSF9NRU1NT1ZFDQpAQCAtNTU1LDYgKzU2MSwxOSBAQA0KICAg
X19tZW1zZXRfZ2coKHMpLChjKSwoY291bnQpKSkpDQogDQogI2RlZmluZSBf
X0hBVkVfQVJDSF9NRU1TRVQNCisjaWZkZWYgQ09ORklHX001ODZfQ09QWQ0K
K2V4dGVybiB2b2lkICogX19femVyb19jaHVuayh2b2lkICp0bywgc2l6ZV90
IGJ5dGVzKTsNCisjZGVmaW5lIG1lbXNldChzLCBjLCBjb3VudCkgXA0KKygo
KChjKSA9PSAwKSAmJiAhKCgodW5zaWduZWQgbG9uZykgcykgJiA3KSAmJiAh
KChjb3VudCkgJiA3KSAmJiAoKGNvdW50KSA+PSA1MTIpKSA/IFwNCisgX19f
emVyb19jaHVuaygocyksKGNvdW50KSkgOiBcDQorKF9fYnVpbHRpbl9jb25z
dGFudF9wKGMpID8gXA0KKyAoX19idWlsdGluX2NvbnN0YW50X3AoY291bnQp
ID8gXA0KKyAgX19tZW1zZXRfY2MoKHMpLChjKSwoY291bnQpKSA6IFwNCisg
IF9fbWVtc2V0X2NnKChzKSwoYyksKGNvdW50KSkpIDogXA0KKyAoX19idWls
dGluX2NvbnN0YW50X3AoY291bnQpID8gXA0KKyAgX19tZW1zZXRfZ2MoKHMp
LChjKSwoY291bnQpKSA6IFwNCisgIF9fbWVtc2V0X2dnKChzKSwoYyksKGNv
dW50KSkpKSkNCisjZWxzZQ0KICNkZWZpbmUgbWVtc2V0KHMsYyxjb3VudCkg
XA0KIChfX2J1aWx0aW5fY29uc3RhbnRfcChjKSA/IFwNCiAgKF9fYnVpbHRp
bl9jb25zdGFudF9wKGNvdW50KSA/IFwNCkBAIC01NjMsNiArNTgyLDcgQEAN
CiAgKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KSA/IFwNCiAgIF9fbWVt
c2V0X2djKChzKSwoYyksKGNvdW50KSkgOiBcDQogICBfX21lbXNldF9nZygo
cyksKGMpLChjb3VudCkpKSkNCisjZW5kaWYNCiANCiBleHRlcm4gaW5saW5l
IHZvaWQgKiBfX21lbXNldF9jY19ieTQodm9pZCAqIHMsIGNoYXIgYywgc2l6
ZV90IGNvdW50KQ0KIHsNCi0tLSBsaW51eC9pbmNsdWRlL2FzbS1pMzg2L3N0
cmluZy5oLm9yaWcJVHVlIERlYyAyMyAxMDowNTowOCAxOTk3DQorKysgbGlu
dXgvaW5jbHVkZS9hc20taTM4Ni9zdHJpbmcuaAlUdWUgRGVjIDIzIDEwOjA2
OjIzIDE5OTcNCkBAIC0xLDYgKzEsNyBAQA0KICNpZm5kZWYgX0kzODZfU1RS
SU5HX0hfDQogI2RlZmluZSBfSTM4Nl9TVFJJTkdfSF8NCiANCisjaW5jbHVk
ZSA8bGludXgvY29uZmlnLmg+DQogLyoNCiAgKiBPbiBhIDQ4NiBvciBQZW50
aXVtLCB3ZSBhcmUgYmV0dGVyIG9mZiBub3QgdXNpbmcgdGhlDQogICogYnl0
ZSBzdHJpbmcgb3BlcmF0aW9ucy4gQnV0IG9uIGEgMzg2IG9yIGEgUFBybyB0
aGUNCkBAIC0zNjMsNiArMzY0LDEwIEBADQogcmV0dXJuIF9fcmVzOw0KIH0N
CiANCisjaWZkZWYgQ09ORklHX001ODZfQ09QWQ0KKyNkZWZpbmUgX19tZW1j
cHkgX19tZW1jcHlfZw0KK2V4dGVybiB2b2lkICpfX21lbWNweSh2b2lkICp0
bywgY29uc3Qgdm9pZCAqZnJvbSwgc2l6ZV90IG4pOw0KKyNlbHNlDQogZXh0
ZXJuIGlubGluZSB2b2lkICogX19tZW1jcHkodm9pZCAqIHRvLCBjb25zdCB2
b2lkICogZnJvbSwgc2l6ZV90IG4pDQogew0KIF9fYXNtX18gX192b2xhdGls
ZV9fKA0KQEAgLTM4MCw2ICszODUsNyBAQA0KIAk6ICJjeCIsImRpIiwic2ki
LCJtZW1vcnkiKTsNCiByZXR1cm4gKHRvKTsNCiB9DQorI2VuZGlmDQogDQog
LyoNCiAgKiBUaGlzIGxvb2tzIGhvcnJpYmx5IHVnbHksIGJ1dCB0aGUgY29t
cGlsZXIgY2FuIG9wdGltaXplIGl0IHRvdGFsbHksDQpAQCAtNDQ5LDcgKzQ1
NSw3IEBADQogDQogI2RlZmluZSBfX0hBVkVfQVJDSF9NRU1DUFkNCiAjZGVm
aW5lIG1lbWNweSh0LCBmLCBuKSBcDQotKF9fYnVpbHRpbl9jb25zdGFudF9w
KG4pID8gXA0KKygoKChuKSA8IDI1NikgJiYgKF9fYnVpbHRpbl9jb25zdGFu
dF9wKG4pKSkgPyBcDQogIF9fY29uc3RhbnRfbWVtY3B5KCh0KSwoZiksKG4p
KSA6IFwNCiAgX19tZW1jcHkoKHQpLChmKSwobikpKQ0KIA0KQEAgLTYwOSwx
MCArNjE1LDIwIEBADQogIF9fbWVtc2V0X2dlbmVyaWMoKHMpLChjKSwoY291
bnQpKSkNCiANCiAjZGVmaW5lIF9fSEFWRV9BUkNIX01FTVNFVA0KKyNpZmRl
ZiBDT05GSUdfTTU4Nl9DT1BZDQorZXh0ZXJuIHZvaWQgKiBfX196ZXJvX2No
dW5rKHZvaWQgKnRvLCBzaXplX3QgYnl0ZXMpOw0KKyNkZWZpbmUgbWVtc2V0
KHMsIGMsIGNvdW50KSBcDQorKCgoYykgPT0gMCkgJiYgKChjb3VudCkgPj0g
NTEyKSA/IFwNCisgX19femVyb19jaHVuaygocyksKGNvdW50KSkgOiBcDQor
IF9fYnVpbHRpbl9jb25zdGFudF9wKGMpID8gXA0KKyAgX19jb25zdGFudF9j
X3hfbWVtc2V0KChzKSwoMHgwMTAxMDEwMVVMKih1bnNpZ25lZCBjaGFyKWMp
LChjb3VudCkpIDogXA0KKyAgX19tZW1zZXQoKHMpLChjKSwoY291bnQpKSkN
CisjZWxzZQ0KICNkZWZpbmUgbWVtc2V0KHMsIGMsIGNvdW50KSBcDQogKF9f
YnVpbHRpbl9jb25zdGFudF9wKGMpID8gXA0KICBfX2NvbnN0YW50X2NfeF9t
ZW1zZXQoKHMpLCgweDAxMDEwMTAxVUwqKHVuc2lnbmVkIGNoYXIpYyksKGNv
dW50KSkgOiBcDQogIF9fbWVtc2V0KChzKSwoYyksKGNvdW50KSkpDQorI2Vu
ZGlmDQogDQogLyoNCiAgKiBmaW5kIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9m
IGJ5dGUgJ2MnLCBvciAxIHBhc3QgdGhlIGFyZWEgaWYgbm9uZQ0KLS0tIGxp
bnV4L2luY2x1ZGUvYXNtLWkzODYvdWFjY2Vzcy5oLm9yaWcJVHVlIERlYyAy
MyAxMDowNTowOCAxOTk3DQorKysgbGludXgvaW5jbHVkZS9hc20taTM4Ni91
YWNjZXNzLmgJVHVlIERlYyAyMyAxMDowNjoyMyAxOTk3DQpAQCAtNCw2ICs0
LDcgQEANCiAvKg0KICAqIFVzZXIgc3BhY2UgbWVtb3J5IGFjY2VzcyBmdW5j
dGlvbnMNCiAgKi8NCisjaW5jbHVkZSA8bGludXgvY29uZmlnLmg+DQogI2lu
Y2x1ZGUgPGxpbnV4L3NjaGVkLmg+DQogDQogI2RlZmluZSBWRVJJRllfUkVB
RCAwDQpAQCAtMjM5LDYgKzI0MCw0MCBAQA0KICAqIENvcHkgVG8vRnJvbSBV
c2Vyc3BhY2UNCiAgKi8NCiANCisjaWZkZWYgQ09ORklHX001ODZfQ09QWQ0K
Kw0KK2V4dGVybiB1bnNpZ25lZCBsb25nIF9fX2NvcHlfdXNlcih2b2lkICpf
dG8sIGNvbnN0IHZvaWQgKl9mcm9tLCB1bnNpZ25lZCBsb25nIF9ieXRlcyk7
DQorDQorLyogR2VuZXJpYyBhcmJpdHJhcnkgc2l6ZWQgY29weS4gICovDQor
I2RlZmluZSBfX19fY29weV91c2VyKHRvLGZyb20sc2l6ZSkJCQkJCVwNCisJ
X19hc21fXyBfX3ZvbGF0aWxlX18oCQkJCQkJXA0KKwkJIjA6CXJlcDsgbW92
c2xcbiIJCQkJCVwNCisJCSIJbW92bCAlMSwlMFxuIgkJCQkJXA0KKwkJIjE6
CXJlcDsgbW92c2JcbiIJCQkJCVwNCisJCSIyOlxuIgkJCQkJCQlcDQorCQki
LnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcDQorCQkiMzoJbGVhIDAo
JTEsJTAsNCksJTBcbiIJCQkJXA0KKwkJIglqbXAgMmJcbiIJCQkJCVwNCisg
ICAgICAgICAgICAgICAgIi5wcmV2aW91c1xuIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorCQkiLnNlY3Rpb24gX19l
eF90YWJsZSxcImFcIlxuIgkJCQlcDQorCQkiCS5hbGlnbiA0XG4iCQkJCQlc
DQorCQkiCS5sb25nIDBiLDNiXG4iCQkJCQlcDQorCQkiCS5sb25nIDFiLDJi
XG4iCQkJCQlcDQorICAgICAgICAgICAgICAgICIucHJldmlvdXNcbiIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKwkJ
OiAiPWMiKHNpemUpCQkJCQkJXA0KKwkJOiAiciIoc2l6ZSAmIDMpLCAiMCIo
c2l6ZSAvIDQpLCAiRCIodG8pLCAiUyIoZnJvbSkJXA0KKwkJOiAiZGkiLCAi
c2kiLCAibWVtb3J5IikNCisNCisjZGVmaW5lIF9fY29weV91c2VyKHRvLGZy
b20sc2l6ZSkJCQlcDQorICAgICBkbyB7CQkJCQkJXA0KKyAgICAgICAgaWYg
KChzaXplKSA+PSA1MTIpCQkJCVwNCisgICAgICAgICAgICAgICAgc2l6ZSA9
IF9fX2NvcHlfdXNlcih0byxmcm9tLHNpemUpOwlcDQorICAgICAgICBlbHNl
CQkJCQkJXA0KKyAgICAgICAgICAgICAgICBfX19fY29weV91c2VyKHRvLGZy
b20sc2l6ZSk7CQlcDQorICAgICB9IHdoaWxlICgwKQ0KKw0KKyNlbHNlDQor
DQogLyogR2VuZXJpYyBhcmJpdHJhcnkgc2l6ZWQgY29weS4gICovDQogI2Rl
ZmluZSBfX2NvcHlfdXNlcih0byxmcm9tLHNpemUpCQkJCQlcDQogCV9fYXNt
X18gX192b2xhdGlsZV9fKAkJCQkJCVwNCkBAIC0yNTksNiArMjk0LDggQEAN
CiAJCTogInIiKHNpemUgJiAzKSwgIjAiKHNpemUgLyA0KSwgIkQiKHRvKSwg
IlMiKGZyb20pCVwNCiAJCTogImRpIiwgInNpIiwgIm1lbW9yeSIpDQogDQor
I2VuZGlmDQorDQogLyogT3B0aW1pemUganVzdCBhIGxpdHRsZSBiaXQgd2hl
biB3ZSBrbm93IHRoZSBzaXplIG9mIHRoZSBtb3ZlLiAqLw0KICNkZWZpbmUg
X19jb25zdGFudF9jb3B5X3VzZXIodG8sIGZyb20sIHNpemUpCQkJXA0KIGRv
IHsJCQkJCQkJCVwNCkBAIC00MDMsMTIgKzQ0MCwxMiBAQA0KIH0NCiANCiAj
ZGVmaW5lIGNvcHlfdG9fdXNlcih0byxmcm9tLG4pCQkJCVwNCi0JKF9fYnVp
bHRpbl9jb25zdGFudF9wKG4pID8JCQlcDQorCSgoX19idWlsdGluX2NvbnN0
YW50X3AobikgJiYgKChuKSA8IDI1NikpPwlcDQogCSBfX2NvbnN0YW50X2Nv
cHlfdG9fdXNlcigodG8pLChmcm9tKSwobikpIDoJXA0KIAkgX19nZW5lcmlj
X2NvcHlfdG9fdXNlcigodG8pLChmcm9tKSwobikpKQ0KIA0KICNkZWZpbmUg
Y29weV9mcm9tX3VzZXIodG8sZnJvbSxuKQkJCVwNCi0JKF9fYnVpbHRpbl9j
b25zdGFudF9wKG4pID8JCQlcDQorCSgoX19idWlsdGluX2NvbnN0YW50X3Ao
bikgJiYgKChuKSA8IDI1NikpPwlcDQogCSBfX2NvbnN0YW50X2NvcHlfZnJv
bV91c2VyKCh0byksKGZyb20pLChuKSkgOglcDQogCSBfX2dlbmVyaWNfY29w
eV9mcm9tX3VzZXIoKHRvKSwoZnJvbSksKG4pKSkNCiANCkBAIC00MzcsNiAr
NDc0LDM5IEBADQogICogWmVybyBVc2Vyc3BhY2UNCiAgKi8NCiANCisjaWZk
ZWYgQ09ORklHX001ODZfQ09QWQ0KKw0KK2V4dGVybiB1bnNpZ25lZCBsb25n
IF9fX2NsZWFyX3VzZXIoY2hhciAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXpl
KTsNCisNCisjZGVmaW5lIF9fX19jbGVhcl91c2VyKGFkZHIsc2l6ZSkJCQkJ
CVwNCisJX19hc21fXyBfX3ZvbGF0aWxlX18oCQkJCQkJXA0KKwkJIjA6CXJl
cDsgc3Rvc2xcbiIJCQkJCVwNCisJCSIJbW92bCAlMSwlMFxuIgkJCQkJXA0K
KwkJIjE6CXJlcDsgc3Rvc2JcbiIJCQkJCVwNCisJCSIyOlxuIgkJCQkJCQlc
DQorCQkiLnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcDQorCQkiMzoJ
bGVhIDAoJTEsJTAsNCksJTBcbiIJCQkJXA0KKwkJIglqbXAgMmJcbiIJCQkJ
CVwNCisgICAgICAgICAgICAgICAgIi5wcmV2aW91c1xuIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorCQkiLnNlY3Rp
b24gX19leF90YWJsZSxcImFcIlxuIgkJCQlcDQorCQkiCS5hbGlnbiA0XG4i
CQkJCQlcDQorCQkiCS5sb25nIDBiLDNiXG4iCQkJCQlcDQorCQkiCS5sb25n
IDFiLDJiXG4iCQkJCQlcDQorICAgICAgICAgICAgICAgICIucHJldmlvdXNc
biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XA0KKwkJOiAiPWMiKHNpemUpCQkJCQkJXA0KKwkJOiAiciIoc2l6ZSAmIDMp
LCAiMCIoc2l6ZSAvIDQpLCAiRCIoYWRkciksICJhIigwKQlcDQorCQk6ICJk
aSIpDQorDQorI2RlZmluZSBfX2RvX2NsZWFyX3VzZXIoYWRkcixzaXplKQkJ
CVwNCisgICAgIGRvIHsJCQkJCQlcDQorICAgICAgICBpZiAoKHNpemUpID49
IDI1NikJCQkJXA0KKyAgICAgICAgICAgICAgICBzaXplID0gX19fY2xlYXJf
dXNlcihhZGRyLHNpemUpOwlcDQorICAgICAgICBlbHNlCQkJCQkJXA0KKyAg
ICAgICAgICAgICAgICBfX19fY2xlYXJfdXNlcihhZGRyLHNpemUpOwkJXA0K
KyAgICAgfSB3aGlsZSAoMCkNCisNCisjZWxzZQ0KKw0KICNkZWZpbmUgX19k
b19jbGVhcl91c2VyKGFkZHIsc2l6ZSkJCQkJCQlcDQogCV9fYXNtX18gX192
b2xhdGlsZV9fKAkJCQkJCVwNCiAJCSIwOglyZXA7IHN0b3NsXG4iCQkJCQlc
DQpAQCAtNDU1LDYgKzUyNSw4IEBADQogCQk6ICI9YyIoc2l6ZSkJCQkJCQlc
DQogCQk6ICJyIihzaXplICYgMyksICIwIihzaXplIC8gNCksICJEIihhZGRy
KSwgImEiKDApCVwNCiAJCTogImRpIikNCisNCisjZW5kaWYNCiANCiBzdGF0
aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcNCiBjbGVhcl91c2VyKHZvaWQgKnRv
LCB1bnNpZ25lZCBsb25nIG4pDQotLS0gbGludXgva2VybmVsL2tzeW1zLmMu
b3JpZwlUdWUgRGVjIDIzIDEwOjA1OjA4IDE5OTcNCisrKyBsaW51eC9rZXJu
ZWwva3N5bXMuYwlUdWUgRGVjIDIzIDEwOjA2OjIzIDE5OTcNCkBAIC04Miw2
ICs4MiwxMSBAQA0KIGV4dGVybiBpbnQgcmVxdWVzdF9kbWEodW5zaWduZWQg
aW50IGRtYW5yLCBjaGFyICogZGV2aWNlSUQpOw0KIGV4dGVybiB2b2lkIGZy
ZWVfZG1hKHVuc2lnbmVkIGludCBkbWFucik7DQogDQorI2lmZGVmIENPTkZJ
R19NNTg2X0NPUFkNCisjaW5jbHVkZSA8YXNtL3N0cmluZy5oPg0KKyNpbmNs
dWRlIDxhc20vdWFjY2Vzcy5oPg0KKyNlbmRpZg0KKw0KICNpZmRlZiBNT0RW
RVJTSU9OUw0KIGNvbnN0IHN0cnVjdCBtb2R1bGVfc3ltYm9sIF9fZXhwb3J0
X1VzaW5nX1ZlcnNpb25zDQogX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiX19r
c3ltdGFiIikpKSA9IHsNCkBAIC00MDQsMyArNDA5LDExIEBADQogLyogYmlu
Zm10X2FvdXQgKi8NCiBFWFBPUlRfU1lNQk9MKGdldF93cml0ZV9hY2Nlc3Mp
Ow0KIEVYUE9SVF9TWU1CT0wocHV0X3dyaXRlX2FjY2Vzcyk7DQorDQorI2lm
ZGVmIENPTkZJR19NNTg2X0NPUFkNCisvKiBQZW50aXVtIG1lbWNweSAqLw0K
K0VYUE9SVF9TWU1CT0woX19femVyb19jaHVuayk7DQorRVhQT1JUX1NZTUJP
TChfX21lbWNweV9nKTsNCitFWFBPUlRfU1lNQk9MKF9fX2NsZWFyX3VzZXIp
Ow0KK0VYUE9SVF9TWU1CT0woX19fY29weV91c2VyKTsNCisjZW5kaWYNCg==
--1881985792-1702686334-882891332=:1875--