Bug 54603 - Update and clean CAD/SPICE
Summary: Update and clean CAD/SPICE
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Maho Nakata
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-18 07:00 UTC by Pedro F. Giffuni
Modified: 2003-07-19 04:14 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pedro F. Giffuni 2003-07-18 07:00:29 UTC
I did some REAL cleaning on this port. The files dir is now organized so the
port can be maintained: previously there were multifile patches and several
patches for the same file, now it is a lot cleaner.

I also merged a memory leak fix and some fixes from spice3f5-spaghetti (before
it became spiceng). 

I activated MFB and removed GNUREADLINE support because:
1) We were not building it and the patches made it difficult to maintain the
filesdir.
2) Activating it showed it was broken.

I also made the port respect CFLAGS and CC. I added documentation and I also
renamed the port to Spice3 to match the Berkeley release notes and the program
name.

Fix: 

________________________________________________________________________
Want to chat instantly with your online friends?  Get the FREE Yahoo!
Messenger http://uk.messenger.yahoo.com/
--0-60008898-1058507623=:26346
Content-Type: application/octet-stream; name=port-spice
Content-Transfer-Encoding: base64
Content-Description: port-spice
Content-Disposition: attachment; filename=port-spice

IyBUaGlzIGlzIGEgc2hlbGwgYXJjaGl2ZS4gIFNhdmUgaXQgaW4gYSBmaWxl
LCByZW1vdmUgYW55dGhpbmcgYmVmb3JlCiMgdGhpcyBsaW5lLCBhbmQgdGhl
biB1bnBhY2sgaXQgYnkgZW50ZXJpbmcgInNoIGZpbGUiLiAgTm90ZSwgaXQg
bWF5CiMgY3JlYXRlIGRpcmVjdG9yaWVzOyBmaWxlcyBhbmQgZGlyZWN0b3Jp
ZXMgd2lsbCBiZSBvd25lZCBieSB5b3UgYW5kCiMgaGF2ZSBkZWZhdWx0IHBl
cm1pc3Npb25zLgojCiMgVGhpcyBhcmNoaXZlIGNvbnRhaW5zOgojCiMJc3Bp
Y2UKIwlzcGljZS9NYWtlZmlsZQojCXNwaWNlL2Rpc3RpbmZvCiMJc3BpY2Uv
cGtnLWRlc2NyCiMJc3BpY2UvcGtnLXBsaXN0CiMJc3BpY2UvZmlsZXMKIwlz
cGljZS9maWxlcy9GcmVlQlNECiMJc3BpY2UvZmlsZXMvTWFrZWZpbGUKIwlz
cGljZS9maWxlcy9wYXRjaC1zcDNmNQojCXNwaWNlL2ZpbGVzL3BhdGNoLXNy
Y19saWJfZnRlX2RvcGxvdF9jCiMJc3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xp
Yl9mdGVfeDExX2MKIwlzcGljZS9maWxlcy9wYXRjaC1sZXZlbDEKIwlzcGlj
ZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9jcGl0Zl9jCiMJc3BpY2UvZmls
ZXMvcGF0Y2gtc3JjX2xpYl9mdGVfZGltZW5zX2MKIwlzcGljZS9maWxlcy9w
YXRjaC1zcmNfbGliX2Z0ZV9hc3BpY2VfYwojCXNwaWNlL2ZpbGVzL3BhdGNo
LXNyY19saWJfZnRlX2dyYWZfYwojCXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19p
bmNsdWRlX3BhdGNobGV2X2gKIwlzcGljZS9maWxlcy9wYXRjaC1sZXZlbDIK
IwlzcGljZS9maWxlcy9wYXRjaC11dGlsX3NrZWxldG9uX21ha2VfZGVmX2Jk
CiMJc3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9mdGVfbWlzY2NvbXNfYwoj
CXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX2dyaWRfYwojCXNwaWNl
L2ZpbGVzL3BhdGNoLXNyY19pbmNsdWRlX21pc2NfaAojCXNwaWNlL2ZpbGVz
L3BhdGNoLXNyY19saWJfZnRlX2RldmljZV9jCiMJc3BpY2UvZmlsZXMvcGF0
Y2gtc3JjX2Jpbl9zY29udmVydF9jCiMJc3BpY2UvZmlsZXMvcGF0Y2gtc3Jj
X2xpYl9mdGVfaW5wX2MKIwlzcGljZS9maWxlcy9wYXRjaC11dGlsX2J1aWxk
CiMJc3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9mdGVfcmVzb3VyY2VfYwoj
CXNwaWNlL2ZpbGVzL3BhdGNoLXBzbW9kZWwKIwlzcGljZS9maWxlcy9wYXRj
aC1zcmNfbGliX2hscF9yZWFkaGVscF9jCiMJc3BpY2UvZmlsZXMvcGF0Y2gt
c3JjX2luY2x1ZGVfb3NfYnNkX2gKIwlzcGljZS9maWxlcy9wYXRjaC1zcmNf
bGliX2lucF9pbnBmaW5kbF9jCiMJc3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xp
Yl9ja3RfZGN0cmN1cnZfYwojCXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJf
ZnRlX3Bvc3Rjb21zX2MKIwlzcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0
ZV92ZWN0b3JzX2MKIwlzcGljZS9maWxlcy9wYXRjaC1jb25mX2RlZmF1bHRz
CiMJc3BpY2Uvc2NyaXB0cwojCXNwaWNlL3NjcmlwdHMvY29uZmlndXJlCiMK
ZWNobyBjIC0gc3BpY2UKbWtkaXIgLXAgc3BpY2UgPiAvZGV2L251bGwgMj4m
MQplY2hvIHggLSBzcGljZS9NYWtlZmlsZQpzZWQgJ3MvXlgvLycgPnNwaWNl
L01ha2VmaWxlIDw8ICdFTkQtb2Ytc3BpY2UvTWFrZWZpbGUnClgjIE5ldyBw
b3J0cyBjb2xsZWN0aW9uIG1ha2VmaWxlIGZvcjogICAgc3BpY2UzClgjIERh
dGUgY3JlYXRlZDogICAgICAgICAyNiBNYXIgOTYKWCMgV2hvbTogICAgICAg
ICAgICAgICAgIEp1bGlhbiBKZW5raW5zIChvcmlnKQpYIwpYIyAkRnJlZUJT
RDogcG9ydHMvY2FkL3NwaWNlL01ha2VmaWxlLHYgMS4yMyAyMDAzLzA2LzMw
IDE5OjQ3OjE4IG1haG8gRXhwICQKWCMKWApYUE9SVE5BTUU9CXNwaWNlMwpY
UE9SVFZFUlNJT049CTNmNS4yClhDQVRFR09SSUVTPQljYWQKWE1BU1RFUl9T
SVRFUz0JZnRwOi8vaWMuZWVjcy5iZXJrZWxleS5lZHUvcHViL1NwaWNlMy86
c291cmNlcwlcClgJCWZ0cDovL2ljLmVlY3MuYmVya2VsZXkuZWR1L3B1Yi9T
cGljZTMvdW0uM2YzLnBzLzpkb2NzClhFWFRSQUNUX1NVRlg9CS50YXIuWgpY
RElTVEZJTEVTPQlzcDNmNC5raXQke0VYVFJBQ1RfU1VGWH06c291cmNlcwlc
ClgJCWNwLnBzOmRvY3MgdG9jLnBzOmRvY3MgZG9jLnBzOmRvY3MKWERJU1Rf
U1VCRElSPQlzcGljZTMKWEVYVFJBQ1RfT05MWT0Jc3AzZjQua2l0JHtFWFRS
QUNUX1NVRlh9ClgKWE1BSU5UQUlORVI9CW1haG9ARnJlZUJTRC5vcmcKWENP
TU1FTlQ9CUEgZ2VuZXJhbC1wdXJwb3NlIGNpcmN1aXQgc2ltdWxhdGlvbiBw
cm9ncmFtClgKWFVTRV9YTElCPQl5ZXMKWFVTRV9SRUlOUExBQ0U9CXllcwpY
Tk9fV1JLU1VCRElSPQl5ZXMKWE1BTjE9CQlzY29udmVydC4xIG51dG1lZy4x
IHNwaWNlLjEKWE1BTjM9CQltZmIuMwpYTUFONT0JCW1mYmNhcC41ClhNTElO
S1M9CQlzcGljZS4xIHNwaWNlMy4xClgKWHBvc3QtY29uZmlndXJlOgpYCUAk
e1JFSU5QTEFDRV9DTUR9IC1lICdzK0BDQ0ArJHtDQ30rIDsgcytAQ0ZMQUdT
QCske0NGTEFHU30rIDsgXApYCXMrQFgxMUJBU0VAKyR7WDExQkFTRX0rOycg
XApYCSR7V1JLU1JDfS9jb25mL0ZyZWVCU0QKWApYcG9zdC1pbnN0YWxsOgpY
LmlmICFkZWZpbmVkKE5PUE9SVERPQ1MpClgJJHtNS0RJUn0gJHtET0NTRElS
fQpYCSR7Q0FUfSAke0RJU1RESVJ9LyR7RElTVF9TVUJESVJ9LyoucHMgPiAk
e0RPQ1NESVJ9L3NwaWNlM2YzLnBzClgJJHtHWklQX0NNRH0gJHtET0NTRElS
fS8qLnBzClgJJHtNS0RJUn0gJHtFWEFNUExFU0RJUn0KWAkke0lOU1RBTExf
REFUQX0gJHtXUktTUkN9L2V4YW1wbGVzLyouY2lyICR7RVhBTVBMRVNESVJ9
ClguZW5kaWYKWApYLmluY2x1ZGUgPGJzZC5wb3J0Lm1rPgpFTkQtb2Ytc3Bp
Y2UvTWFrZWZpbGUKZWNobyB4IC0gc3BpY2UvZGlzdGluZm8Kc2VkICdzL15Y
Ly8nID5zcGljZS9kaXN0aW5mbyA8PCAnRU5ELW9mLXNwaWNlL2Rpc3RpbmZv
JwpYTUQ1IChzcGljZTMvc3AzZjQua2l0LnRhci5aKSA9IGQ1NWViMDhhN2Y1
MjMyNDhiMWI1MDkwOTJhNDQ0YWViClhNRDUgKHNwaWNlMy9jcC5wcykgPSBl
ZTkwNjVkZTZlMTFlODJmYTNmZTM0MzE4YzIzNzNmYwpYTUQ1IChzcGljZTMv
dG9jLnBzKSA9IGY4NGNjZGQ5Y2E0MjNlMTEyZWM2ODEyMWE4NmMwMzJjClhN
RDUgKHNwaWNlMy9kb2MucHMpID0gYmNlYTQxN2YzYmRlODU0M2Y0Mjg3ODVi
ZmI1YTRkNjIKRU5ELW9mLXNwaWNlL2Rpc3RpbmZvCmVjaG8geCAtIHNwaWNl
L3BrZy1kZXNjcgpzZWQgJ3MvXlgvLycgPnNwaWNlL3BrZy1kZXNjciA8PCAn
RU5ELW9mLXNwaWNlL3BrZy1kZXNjcicKWFNQSUNFIGlzIGEgZ2VuZXJhbC1w
dXJwb3NlIGNpcmN1aXQgc2ltdWxhdGlvbiBwcm9ncmFtIGZvciBub25saW5l
YXIgREMsClhub25saW5lYXIgdHJhbnNpZW50LCBhbmQgbGluZWFyIEFDIGFu
YWx5c2VzLiBDaXJjdWl0cyBtYXkgY29udGFpbiByZXNpc3RvcnMsClhjYXBh
Y2l0b3JzLCBpbmR1Y3RvcnMsIG11dHVhbCBpbmR1Y3RvcnMsIGluZGVwZW5k
ZW50IHZvbHRhZ2UgYW5kIGN1cnJlbnQKWHNvdXJjZXMsIGZvdXIgdHlwZXMg
b2YgZGVwZW5kZW50IHNvdXJjZXMsIGxvc3NsZXNzIGFuZCBsb3NzeSB0cmFu
c21pc3Npb24KWGxpbmVzICh0d28gc2VwYXJhdGUgaW1wbGVtZW50YXRpb25z
KSwgc3dpdGNoZXMsIHVuaWZvcm0gZGlzdHJpYnV0ZWQgUkMKWGxpbmVzLCBh
bmQgdGhlIGZpdmUgbW9zdCBjb21tb24gc2VtaWNvbmR1Y3RvciBkZXZpY2Vz
OiBkaW9kZXMsIEJKVHMsIEpGRVRzLApYTUVTRkVUcywgYW5kIE1PU0ZFVHMu
ClgKWAlGcm9tIHRoZSBTUElDRTMgVmVyc2lvbjNmMyBVc2VyJ3MgTWFudWFs
LgpYCVRoaXMgaXMgYXZhaWxibGUgYXMgYSBwb3N0c2NyaXB0IGRvY3VtZW50
IGZyb206ClgJCWZ0cDovL2ljLmVlY3MuYmVya2VsZXkuZWR1L3B1Yi9TcGlj
ZTMvdW0uM2YzLnBzClgJb3IgeW91IGNhbiByZWFkIHRoZSBvbmxpbmUgZG9j
dW1lbnRhdGlvbiBvbiB0aGUgaG9tZXBhZ2UuClgKWFdXVzogaHR0cDovL2lu
Zm9wYWQuZWVjcy5iZXJrZWxleS5lZHUvfmljZGVzaWduL1NQSUNFLwpYClhK
dWxpYW4gSmVua2lucwpYa2F2ZW1hbkBtYWduYS5jb20uYXUKRU5ELW9mLXNw
aWNlL3BrZy1kZXNjcgplY2hvIHggLSBzcGljZS9wa2ctcGxpc3QKc2VkICdz
L15YLy8nID5zcGljZS9wa2ctcGxpc3QgPDwgJ0VORC1vZi1zcGljZS9wa2ct
cGxpc3QnClhiaW4vc3BpY2UzClhiaW4vbnV0bWVnClhiaW4vc2NvbnZlcnQK
WGJpbi9oZWxwClhiaW4vcHJvYzJtb2QKWGJpbi9tdWx0aWRlYwpYc2hhcmUv
c3BpY2UzL2hlbHBkaXIvc3BpY2UudHh0ClhzaGFyZS9zcGljZTMvaGVscGRp
ci9zcGljZS5pZHgKWHNoYXJlL3NwaWNlMy9zY3JpcHRzL3NldHBsb3QKWHNo
YXJlL3NwaWNlMy9zY3JpcHRzL3NwaW5pdApYc2hhcmUvc3BpY2UzL21mYmNh
cApYc2hhcmUvc3BpY2UzL25ld3MKWEBkaXJybSBzaGFyZS9zcGljZTMvaGVs
cGRpcgpYQGRpcnJtIHNoYXJlL3NwaWNlMy9zY3JpcHRzClhAZGlycm0gc2hh
cmUvc3BpY2UzClglJVBPUlRET0NTJSUlJURPQ1NESVIlJS9zcGljZTNmMy5w
cy5negpYJSVQT1JURE9DUyUlJSVFWEFNUExFU0RJUiUlL2JqdG5vaXNlLmNp
cgpYJSVQT1JURE9DUyUlJSVFWEFNUExFU0RJUiUlL2JzaW0xdHN0LmNpcgpY
JSVQT1JURE9DUyUlJSVFWEFNUExFU0RJUiUlL2JzaW0ydHN0LmNpcgpYJSVQ
T1JURE9DUyUlJSVFWEFNUExFU0RJUiUlL2RpZmZwYWlyLmNpcgpYJSVQT1JU
RE9DUyUlJSVFWEFNUExFU0RJUiUlL2Rpb2Rpc3RvLmNpcgpYJSVQT1JURE9D
UyUlJSVFWEFNUExFU0RJUiUlL2x0cmFfMS5jaXIKWCUlUE9SVERPQ1MlJSUl
RVhBTVBMRVNESVIlJS9sdHJhXzIuY2lyClglJVBPUlRET0NTJSUlJUVYQU1Q
TEVTRElSJSUvbHRyYV8zLmNpcgpYJSVQT1JURE9DUyUlJSVFWEFNUExFU0RJ
UiUlL21peGRpc3RvLmNpcgpYJSVQT1JURE9DUyUlJSVFWEFNUExFU0RJUiUl
L21vczZpbnYuY2lyClglJVBPUlRET0NTJSUlJUVYQU1QTEVTRElSJSUvbW9z
YW1wMi5jaXIKWCUlUE9SVERPQ1MlJSUlRVhBTVBMRVNESVIlJS9tb3NtZW0u
Y2lyClglJVBPUlRET0NTJSUlJUVYQU1QTEVTRElSJSUvcHoyLmNpcgpYJSVQ
T1JURE9DUyUlJSVFWEFNUExFU0RJUiUlL3B6dC5jaXIKWCUlUE9SVERPQ1Ml
JSUlRVhBTVBMRVNESVIlJS9yYy5jaXIKWCUlUE9SVERPQ1MlJSUlRVhBTVBM
RVNESVIlJS9yY2EzMDQwLmNpcgpYJSVQT1JURE9DUyUlJSVFWEFNUExFU0RJ
UiUlL3Jlc25vaXNlLmNpcgpYJSVQT1JURE9DUyUlJSVFWEFNUExFU0RJUiUl
L3J0bGludi5jaXIKWCUlUE9SVERPQ1MlJSUlRVhBTVBMRVNESVIlJS9zY2ht
aXR0LmNpcgpYJSVQT1JURE9DUyUlJSVFWEFNUExFU0RJUiUlL3NpbXBsZXB6
LmNpcgpYJSVQT1JURE9DUyUlQGRpcnJtIHNoYXJlL2V4YW1wbGVzL3NwaWNl
MwpFTkQtb2Ytc3BpY2UvcGtnLXBsaXN0CmVjaG8gYyAtIHNwaWNlL2ZpbGVz
Cm1rZGlyIC1wIHNwaWNlL2ZpbGVzID4gL2Rldi9udWxsIDI+JjEKZWNobyB4
IC0gc3BpY2UvZmlsZXMvRnJlZUJTRApzZWQgJ3MvXlgvLycgPnNwaWNlL2Zp
bGVzL0ZyZWVCU0QgPDwgJ0VORC1vZi1zcGljZS9maWxlcy9GcmVlQlNEJwpY
IyBGcmVlQlNEIGNvbmZpZyBleGNlcHRpb24gZmlsZQpYClhNQUtFCQk9IC91
c3IvYmluL21ha2UKWElOVEVSRkFDRV9PUFRTCT0gLURXQU5UX01GQiAtRFdB
TlRfWDExClhDQwkJPSBAQ0NAClhDQ19PUFQJCSs9IEBDRkxBR1NAClhDQ19P
UFRfU0FGRQkrPSAtTzIgLWZuby1zdHJlbmd0aC1yZWR1Y2UgLXBpcGUKWExE
RkxBR1MJCSs9IC1MQFgxMUJBU0VAL2xpYiAtbG0gLWx0ZXJtY2FwClhTWVNf
Q0ZMQUdTCT0gLURic2QKRU5ELW9mLXNwaWNlL2ZpbGVzL0ZyZWVCU0QKZWNo
byB4IC0gc3BpY2UvZmlsZXMvTWFrZWZpbGUKc2VkICdzL15YLy8nID5zcGlj
ZS9maWxlcy9NYWtlZmlsZSA8PCAnRU5ELW9mLXNwaWNlL2ZpbGVzL01ha2Vm
aWxlJwpYClhhbGw6ClgJdXRpbC9idWlsZCBGcmVlQlNEIGRlZmF1bHQKWApY
aW5zdGFsbDoKWAl1dGlsL2J1aWxkIEZyZWVCU0QgaW5zdGFsbCAKWAljaG1v
ZCBhK3J4ICR7UFJFRklYfS9iaW4vc3BpY2UzICR7UFJFRklYfS9iaW4vbnV0
bWVnIFwKWAkgICR7UFJFRklYfS9iaW4vc2NvbnZlcnQgJHtQUkVGSVh9L2Jp
bi9oZWxwCVwKWAkgICR7UFJFRklYfS9iaW4vcHJvYzJtb2QgJHtQUkVGSVh9
L2Jpbi9tdWx0aWRlYwpYCXN0cmlwICR7UFJFRklYfS9iaW4vc3BpY2UzICR7
UFJFRklYfS9iaW4vbnV0bWVnCVwKWAkgICR7UFJFRklYfS9iaW4vc2NvbnZl
cnQgJHtQUkVGSVh9L2Jpbi9oZWxwIFwKWAkgICR7UFJFRklYfS9iaW4vcHJv
YzJtb2QgJHtQUkVGSVh9L2Jpbi9tdWx0aWRlYwpYCWNobW9kIC1SIGErclgg
JHtQUkVGSVh9L3NoYXJlL3NwaWNlMwpYCWluc3RhbGwgLWMgLW0gNjQ0IC1v
IGJpbiAtZyBiaW4gbWFuL21hbjUvbWZiY2FwLjUgJHtQUkVGSVh9L21hbi9t
YW41L21mYmNhcC41ClgJaW5zdGFsbCAtYyAtbSA2NDQgLW8gYmluIC1nIGJp
biBtYW4vbWFuMS9zY29udmVydC4xICR7UFJFRklYfS9tYW4vbWFuMS9zY29u
dmVydC4xClgJaW5zdGFsbCAtYyAtbSA2NDQgLW8gYmluIC1nIGJpbiBtYW4v
bWFuMS9udXRtZWcuMSAke1BSRUZJWH0vbWFuL21hbjEvbnV0bWVnLjEKWAlp
bnN0YWxsIC1jIC1tIDY0NCAtbyBiaW4gLWcgYmluIG1hbi9tYW4xL3NwaWNl
LjEgJHtQUkVGSVh9L21hbi9tYW4xL3NwaWNlLjEKWAlpbnN0YWxsIC1jIC1t
IDY0NCAtbyBiaW4gLWcgYmluIG1hbi9tYW4zL21mYi4zICR7UFJFRklYfS9t
YW4vbWFuMy9tZmIuMwpFTkQtb2Ytc3BpY2UvZmlsZXMvTWFrZWZpbGUKZWNo
byB4IC0gc3BpY2UvZmlsZXMvcGF0Y2gtc3AzZjUKc2VkICdzL15YLy8nID5z
cGljZS9maWxlcy9wYXRjaC1zcDNmNSA8PCAnRU5ELW9mLXNwaWNlL2ZpbGVz
L3BhdGNoLXNwM2Y1JwpYVGhlc2UgYXJlIG9mZmljaWFsIEJlcmtlbGV5IGZp
eGVzIGZvciBzcDNmNApYKioqIHNyYy9saWIvZnRlL2dyaWQuYy5vcmlnCVN1
biBBcHIgMjUgMTQ6NTM6MTEgMTk5MwpYLS0tIHNyYy9saWIvZnRlL2dyaWQu
YwlTYXQgSmFuIDI5IDEwOjQ3OjU5IDE5OTQKWCoqKioqKioqKioqKioqKgpY
KioqIDE3LDIyICoqKioKWC0tLSAxNywyMyAtLS0tClggICNpbmNsdWRlICJz
dWZmaXguaCIKWCAgClggICNkZWZpbmUgUkFEX1RPX0RFRwkoMTgwLjAgLyBN
X1BJKQpYKyAjZGVmaW5lIExBQkVMX0NIQVJTCTIwClggIApYICBzdGF0aWMg
ZG91YmxlICpsaW5ncmlkKCksICpsb2dncmlkKCk7ClggIHN0YXRpYyB2b2lk
IHBvbGFyZ3JpZCgpLCBzbWl0aGdyaWQoKTsKWCoqKioqKioqKioqKioqKgpY
KioqIDIyNSwyMzEgKioqKgpYICAgICAgaW50IG1heDsKWCAgICAgIHN0YXRp
YyBkb3VibGUgZGRbMl07ClggICAgICBpbnQgbXVsdCA9IDE7ClghICAgICBj
aGFyIGJ1ZlsxNl0sICpzOwpYICAgICAgaW50IHNsaW0sIGRpZ2l0czsKWCAg
ClggICAgICBpZiAoYXhpcyA9PSB5X2F4aXMgJiYgZ3JhcGgtPmdyaWQueXNp
emVkKSB7ClgtLS0gMjI2LDIzMiAtLS0tClggICAgICBpbnQgbWF4OwpYICAg
ICAgc3RhdGljIGRvdWJsZSBkZFsyXTsKWCAgICAgIGludCBtdWx0ID0gMTsK
WCEgICAgIGNoYXIgYnVmW0xBQkVMX0NIQVJTXSwgKnM7ClggICAgICBpbnQg
c2xpbSwgZGlnaXRzOwpYICAKWCAgICAgIGlmIChheGlzID09IHlfYXhpcyAm
JiBncmFwaC0+Z3JpZC55c2l6ZWQpIHsKWCoqKioqKioqKioqKioqKgpYKioq
IDQ3Nyw0ODMgKioqKgpYICBkcmF3bGluZ3JpZChncmFwaCwgdW5pdHMsIHNw
YWNpbmcsIG5zcCwgZHN0LCBsbXQsIGhtdCwgb25lZGVjLCBtdWx0LCBtYWcs
ClggICAgICBkaWdpdHMsIGF4aXMpClggICAgICBHUkFQSCAqZ3JhcGg7Clgh
ICAgICBjaGFyIHVuaXRzWzE2XTsKWCAgICAgIGJvb2wgb25lZGVjOwpYICAg
ICAgaW50IG5zcCwgc3BhY2luZywgbXVsdDsKWCAgICAgIGRvdWJsZSBobXQs
IGxtdCwgZHN0OwpYLS0tIDQ3OCw0ODQgLS0tLQpYICBkcmF3bGluZ3JpZChn
cmFwaCwgdW5pdHMsIHNwYWNpbmcsIG5zcCwgZHN0LCBsbXQsIGhtdCwgb25l
ZGVjLCBtdWx0LCBtYWcsClggICAgICBkaWdpdHMsIGF4aXMpClggICAgICBH
UkFQSCAqZ3JhcGg7ClghICAgICBjaGFyICp1bml0czsKWCAgICAgIGJvb2wg
b25lZGVjOwpYICAgICAgaW50IG5zcCwgc3BhY2luZywgbXVsdDsKWCAgICAg
IGRvdWJsZSBobXQsIGxtdCwgZHN0OwpYKioqKioqKioqKioqKioqClgqKiog
NDg4LDQ5NCAqKioqClggIApYICAgICAgaW50IGksIGo7ClggICAgICBkb3Vi
bGUgbSwgc3RlcDsKWCEgICAgIGNoYXIgYnVmWzE2XTsKWCAgClggICAgICAv
KiBpIGNvdW50cyBob3cgbWFueSBwaXhlbHMgd2UgaGF2ZSBkcmF3biwgYW5k
IGogY291bnRzIHdoaWNoIHVuaXQKWCAgICAgICAqIHdlIGFyZSBhdC4KWC0t
LSA0ODksNDk1IC0tLS0KWCAgClggICAgICBpbnQgaSwgajsKWCAgICAgIGRv
dWJsZSBtLCBzdGVwOwpYISAgICAgY2hhciBidWZbTEFCRUxfQ0hBUlNdOwpY
ICAKWCAgICAgIC8qIGkgY291bnRzIGhvdyBtYW55IHBpeGVscyB3ZSBoYXZl
IGRyYXduLCBhbmQgaiBjb3VudHMgd2hpY2ggdW5pdApYICAgICAgICogd2Ug
YXJlIGF0LgpYKioqKioqKioqKioqKioqClgqKiogNTY3LDU3MyAqKioqClgg
ICAgICBkb3VibGUgazsKWCAgICAgIGRvdWJsZSBkZWNzOwpYICAgICAgZG91
YmxlIG1hZywgZ2FpbjsKWCEgICAgIGNoYXIgYnVmWzMyXSwgKnM7ClggIApY
ICAgICAgaWYgKGF4aXMgPT0geF9heGlzICYmIGdyYXBoLT5ncmlkLnhzaXpl
ZCkgewpYICAgICAgICBsbXQgPSBncmFwaC0+Z3JpZC54YXhpcy5sb2cubG10
OwpYLS0tIDU2OCw1NzQgLS0tLQpYICAgICAgZG91YmxlIGs7ClggICAgICBk
b3VibGUgZGVjczsKWCAgICAgIGRvdWJsZSBtYWcsIGdhaW47ClghICAgICBj
aGFyIGJ1ZltMQUJFTF9DSEFSU10sICpzOwpYICAKWCAgICAgIGlmIChheGlz
ID09IHhfYXhpcyAmJiBncmFwaC0+Z3JpZC54c2l6ZWQpIHsKWCAgICAgICAg
bG10ID0gZ3JhcGgtPmdyaWQueGF4aXMubG9nLmxtdDsKWCoqKioqKioqKioq
KioqKgpYKioqIDY3MSw2NzcgKioqKgpYICB7ClggICAgICBpbnQgaSwgaiwg
aywgbCwgbTsKWCAgICAgIGRvdWJsZSB0OwpYISAgICAgY2hhciBidWZbMTZd
OwpYICAKWCAgICAgIC8qIE5vdyBwbG90IGV2ZXJ5IHBwJ3RoIGRlY2FkZSBs
aW5lLCB3aXRoIHN1YnMgbGluZXMgYmV0d2VlbiB0aGVtLiAqLwpYICAgICAg
aWYgKHN1YnMgPiAxKQpYLS0tIDY3Miw2NzggLS0tLQpYICB7ClggICAgICBp
bnQgaSwgaiwgaywgbCwgbTsKWCAgICAgIGRvdWJsZSB0OwpYISAgICAgY2hh
ciBidWZbTEFCRUxfQ0hBUlNdOwpYICAKWCAgICAgIC8qIE5vdyBwbG90IGV2
ZXJ5IHBwJ3RoIGRlY2FkZSBsaW5lLCB3aXRoIHN1YnMgbGluZXMgYmV0d2Vl
biB0aGVtLiAqLwpYICAgICAgaWYgKHN1YnMgPiAxKQpYKioqIHNyYy9saWIv
ZnRlL25ld2NvbXMuYy5vcmlnCVN1biBNYXIgIDcgMTY6MzA6NTggMTk5MwpY
LS0tIHNyYy9saWIvZnRlL25ld2NvbXMuYwlXZWQgRmViIDIzIDIyOjM5OjU1
IDE5OTQKWCoqKioqKioqKioqKioqKgpYKioqIDE1MSwxNTYgKioqKgpYLS0t
IDE1MSwxNjAgLS0tLQpYICAJICAgIC8qIENvcHkgZnJvbSB0aGUgZmlyc3Qg
Ki8KWCAgCSAgICB2bmFtZSA9IGNwX3VucXVvdGUod2wtPndsX3dvcmQpOwpY
ICAJICAgIGR2ID0gdmVjX2dldCh2bmFtZSk7ClgrIAkgICAgaWYgKCFkdikg
ewpYKyAJCXByaW50ZigiJyVzJyByZWZlcmVuY2UgdmVjdG9yIG5vdCBmb3Vu
ZFxuIiwgdm5hbWUpOwpYKyAJCXJldHVybjsKWCsgCSAgICB9ClggIAkgICAg
bnVtZGltcyA9IGR2LT52X251bWRpbXM7ClggIAkgICAgZGltcyA9IGR2LT52
X2RpbXM7ClggIAkgICAgd2wgPSB3bC0+d2xfbmV4dDsKWCoqKiBzcmMvbGli
L3NwYXJzZS9zcHNtcC5jLm9yaWcJV2VkIEZlYiAgMyAxNDoyMDo1MCAxOTkz
ClgtLS0gc3JjL2xpYi9zcGFyc2Uvc3BzbXAuYwlTdW4gSmFuIDMwIDExOjUz
OjEwIDE5OTQKWCoqKioqKioqKioqKioqKgpYKioqIDQ4Myw0OTIgKioqKgpY
ICBpbnQgQ3JlYXRlSWZNaXNzaW5nOwpYICB7ClggIE1hdHJpeFB0ciBNYXRy
aXggPSAoTWF0cml4UHRyKWVNYXRyaXg7ClghIEVsZW1lbnRQdHIgRWxlbWVu
dCA9IE1hdHJpeC0+Rmlyc3RJbkNvbFtDb2xdOwpYICAKWCAgLyogQmVnaW4g
YFNNUGZpbmRFbHQnLiAqLwpYICAgICAgQVNTRVJUKCBJU19TUEFSU0UoIE1h
dHJpeCApICk7ClggICAgICBFbGVtZW50ID0gc3BjRmluZEVsZW1lbnRJbkNv
bChNYXRyaXgsICZFbGVtZW50LCBSb3csIENvbCwgQ3JlYXRlSWZNaXNzaW5n
KTsKWCAgICAgIHJldHVybiAoU01QZWxlbWVudCAqKUVsZW1lbnQ7ClggIH0K
WC0tLSA0ODUsNDk3IC0tLS0KWCAgaW50IENyZWF0ZUlmTWlzc2luZzsKWCAg
ewpYICBNYXRyaXhQdHIgTWF0cml4ID0gKE1hdHJpeFB0cillTWF0cml4OwpY
ISBFbGVtZW50UHRyIEVsZW1lbnQ7ClggIApYICAvKiBCZWdpbiBgU01QZmlu
ZEVsdCcuICovClggICAgICBBU1NFUlQoIElTX1NQQVJTRSggTWF0cml4ICkg
KTsKWCsgICAgIFJvdyA9IE1hdHJpeC0+RXh0VG9JbnRSb3dNYXBbUm93XTsK
WCsgICAgIENvbCA9IE1hdHJpeC0+RXh0VG9JbnRDb2xNYXBbQ29sXTsKWCsg
ICAgIEVsZW1lbnQgPSBNYXRyaXgtPkZpcnN0SW5Db2xbQ29sXTsKWCAgICAg
IEVsZW1lbnQgPSBzcGNGaW5kRWxlbWVudEluQ29sKE1hdHJpeCwgJkVsZW1l
bnQsIFJvdywgQ29sLCBDcmVhdGVJZk1pc3NpbmcpOwpYICAgICAgcmV0dXJu
IChTTVBlbGVtZW50ICopRWxlbWVudDsKWCAgfQpFTkQtb2Ytc3BpY2UvZmls
ZXMvcGF0Y2gtc3AzZjUKZWNobyB4IC0gc3BpY2UvZmlsZXMvcGF0Y2gtc3Jj
X2xpYl9mdGVfZG9wbG90X2MKc2VkICdzL15YLy8nID5zcGljZS9maWxlcy9w
YXRjaC1zcmNfbGliX2Z0ZV9kb3Bsb3RfYyA8PCAnRU5ELW9mLXNwaWNlL2Zp
bGVzL3BhdGNoLXNyY19saWJfZnRlX2RvcGxvdF9jJwpYLS0tIHNyYy9saWIv
ZnRlL2RvcGxvdC5jLm9yaWcJU3VuIEFwciAyNSAyMzo0ODo0NSAxOTkzClgr
Kysgc3JjL2xpYi9mdGUvZG9wbG90LmMJTW9uIEZlYiAyNiAxODowMzoyMCAy
MDAxClhAQCAtMTE3LDcgKzExNyw3IEBAClggICAgIH0KWCAKWCAgICAgaWYg
KCFjcF9nZXR2YXIoImhjb3B5ZGV2dHlwZSIsIFZUX1NUUklORywgYnVmKSkg
ewpYLSAgICAgICAgZGV2dHlwZSA9ICJwbG90NSI7ClgrICAgICAgICBkZXZ0
eXBlID0gInBvc3RzY3JpcHQiOwpYICAgICB9IGVsc2UgewpYICAgICAgICAg
ZGV2dHlwZSA9IGJ1ZjsKWCAgICAgfQpYQEAgLTE0NywxMCArMTQ3LDIzIEBA
ClggCSAgICAgIERldlN3aXRjaChOVUxMKTsKWCAJICAgICAgcmV0dXJuOwpY
IAkgICAgfQpYKwkgICAgLyoKWCsJICAgICAqIFNpbmNlIHRoZSBoYXJkY29w
eSBvdXRwdXQgcm91dGluZXMgcmVseSBvbiBjdXJyZW50Z3JhcGgKWCsJICAg
ICAqIGJlaW5nIHNldCwgd2UgbmVlZCB0byBzZXQgaXQgdG8gb3VyIHRlbXBn
cmFwaC4gIE5vdGUKWCsJICAgICAqIHRoYXQgRGV2U3dpdGNoKE5VTEwpIGNh
dXNlcyB0aGUgQ2xvc2UoKSBmdW5jdGlvbiBvZiB0aGUKWCsJICAgICAqIGhh
cmRjb3B5IGRldmljZSB0byBiZSBjYWxsZWQgd2hpY2ggd2lsbCBpbiB0dXJu
ClgrCSAgICAgKiBmaW5hbGl6ZSB0aGUgb3V0cHV0LCB0aHVzIHN0aWxsIG5l
ZWRzIGEgdmFsaWQKWCsJICAgICAqIGN1cnJlbnRncmFwaC4gIEZvciB0aGF0
IHJlYXNvbiwgd2UgbWF5IG9ubHkgcG9wIHRoZQpYKwkgICAgICogY29udGV4
dCBhZnRlciBjYWxsaW5nIGl0LCBhbmQgbGlrZXdpc2Ugd2Ugc2hvdWxkIG5v
dApYKwkgICAgICogZGVzdHJveSB0aGUgdGVtcGdyYXBoIHVudGlsIHRoZSBo
YXJkY29weSBkZXZpY2UgaGFzClgrCSAgICAgKiBiZWVuIGNsb3NlZC4KWCsJ
ICAgICAqLwpYKwkgICAgUHVzaEdyYXBoQ29udGV4dCh0ZW1wZ3JhcGgpOwpY
IAkgICAgZ3JfcmVzaXplKHRlbXBncmFwaCk7ClggCSAgICBncl9yZWRyYXco
dGVtcGdyYXBoKTsKWC0JICAgIERlc3Ryb3lHcmFwaCh0ZW1wZ3JhcGgtPmdy
YXBoaWQpOwpYIAkgICAgRGV2U3dpdGNoKE5VTEwpOwpYKwkgICAgUG9wR3Jh
cGhDb250ZXh0KCk7ClgrCSAgICBEZXN0cm95R3JhcGgodGVtcGdyYXBoLT5n
cmFwaGlkKTsKWCAJICAgIGZvdW5kaXQgPSAxOwpYIAl9ClggICAgIH0KRU5E
LW9mLXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX2RvcGxvdF9jCmVj
aG8geCAtIHNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX3gxMV9jCnNl
ZCAncy9eWC8vJyA+c3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9mdGVfeDEx
X2MgPDwgJ0VORC1vZi1zcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV94
MTFfYycKWC0tLSBzcmMvbGliL2Z0ZS94MTEuYy5vcmlnCVRodSBKdWwgMTcg
MTA6NTU6MDAgMjAwMwpYKysrIHNyYy9saWIvZnRlL3gxMS5jCVRodSBKdWwg
MTcgMTE6Mzk6MDUgMjAwMwpYQEAgLTEyMCw3ICsxMjAsMTAgQEAKWCAJLyog
ImludmVydCIgd29ya3MgYmV0dGVyIHRoYW4gInhvciIgZm9yIEImVyAqLwpY
IApYIAkvKiB4b3IgZ2Mgc2hvdWxkIGJlIGEgZnVuY3Rpb24gb2YgdGhlIHBp
eGVscyB0aGF0IGFyZSB3cml0dGVuIG9uICovClgtCWdjdmFsdWVzLmZ1bmN0
aW9uID0gR1h4b3I7ClgrCS8qIGdjdmFsdWVzLmZ1bmN0aW9uID0gR1h4b3I7
ICovClgrCS8qIHRoaXMgcGF0Y2ggbWFrZXMgbGluZXMgdmlzaWJsZSBvbiB0
cnVlIGNvbG9yIGRpc3BsYXlzClgrICAgICAgICAgICBHdWVudGhlciBSb2Vo
cmljaCAyMi1KYW4tOTkgKi8KWCsJZ2N2YWx1ZXMuZnVuY3Rpb24gPSBHWGlu
dmVydDsKWCAJZ2N2YWx1ZXMubGluZV93aWR0aCA9IDE7ClggCWdjdmFsdWVz
LmZvcmVncm91bmQgPSAxOwpYIAlnY3ZhbHVlcy5iYWNrZ3JvdW5kID0gMDsK
WEBAIC0zMDIsNyArMzA1LDcgQEAKWCAJcmV0dXJuICgwKTsKWCB9ClggClgt
c3RhdGljClgrLyogUE4gc3RhdGljICovClggaW5pdGxpbmVzdHlsZXMoKQpY
IHsKWCAKWEBAIC0zMTgsNyArMzIxLDcgQEAKWCAJcmV0dXJuOwpYIH0KWCAK
WC1zdGF0aWMKWCsvKiBQTiBzdGF0aWMgKi8KWCBpbml0Y29sb3JzKGdyYXBo
KQpYICAgICBHUkFQSCAqZ3JhcGg7ClggewpYQEAgLTgwNSwxMSArODA4LDEz
IEBAClggewpYIApYIAlHUkFQSCAqZ3JhcGggPSAoR1JBUEggKikgY2xpZW50
X2RhdGE7ClgrCVdpZGdldCB3OwpYIApYIAkvKiBJcGxvdHMgYXJlIGRvbmUg
YXN5bmNocm9ub3VzbHkgKi8KWCAJREVWREVQKGdyYXBoKS5pc29wZW4gPSAw
OwpYKwl3ID0gREVWREVQKGdyYXBoKS5zaGVsbDsKWCAJRGVzdHJveUdyYXBo
KGdyYXBoLT5ncmFwaGlkKTsKWC0JWHREZXN0cm95V2lkZ2V0KERFVkRFUChn
cmFwaCkuc2hlbGwpOwpYKwlYdERlc3Ryb3lXaWRnZXQodyk7ClggClggfQpY
IApYQEAgLTk0NSw3ICs5NTAsOCBAQApYIAkgICAgICAgICAgICAxIDw8IENv
bm5lY3Rpb25OdW1iZXIoZGlzcGxheSk7ClggClggCSAgICAgIC8qIGJsb2Nr
IG9uIENvbm5lY3Rpb25OdW1iZXIgYW5kIHJlcXVlc3QtPmZwICovClgtCSAg
ICAgIHNlbGVjdChuZmRzICsgMSwgJnJlYWRmZHMsIChpbnQgKikgTlVMTCwg
KGludCAqKSBOVUxMLCBOVUxMKTsKWCsJICAgICAgLyogUE4gYWRkZWQgZmRf
c2V0ICogY2FzdGluZyAqLwpYKwkgICAgICBzZWxlY3QobmZkcyArIDEsIChm
ZF9zZXQgKikgJnJlYWRmZHMsIChmZF9zZXQgKikgTlVMTCwgKGZkX3NldCAq
KSBOVUxMLCBOVUxMKTsKWCAKWCAJICAgICAgLyogaGFuZGxlIFggZXZlbnRz
IGZpcnN0ICovClggCSAgICAgIGlmIChyZWFkZmRzICYgKDEgPDwgQ29ubmVj
dGlvbk51bWJlcihkaXNwbGF5KSkpIHsKWEBAIC05OTgsNyArMTAwNCw4IEBA
ClggClggfQpYIApYLXN0YXRpYyBYX1NjcmVlbnRvRGF0YShncmFwaCwgeCwg
eSwgZngsIGZ5KQpYKy8qIFBOIHN0YXRpYyAqLyAKWCtYX1NjcmVlbnRvRGF0
YShncmFwaCwgeCwgeSwgZngsIGZ5KQpYIEdSQVBIICpncmFwaDsKWCBpbnQg
eCx5OwpYIGRvdWJsZSAqZngsICpmeTsKRU5ELW9mLXNwaWNlL2ZpbGVzL3Bh
dGNoLXNyY19saWJfZnRlX3gxMV9jCmVjaG8geCAtIHNwaWNlL2ZpbGVzL3Bh
dGNoLWxldmVsMQpzZWQgJ3MvXlgvLycgPnNwaWNlL2ZpbGVzL3BhdGNoLWxl
dmVsMSA8PCAnRU5ELW9mLXNwaWNlL2ZpbGVzL3BhdGNoLWxldmVsMScKWCMg
IHNwaWNlM2Y0LzNmNSBwYXRjaCBsZXZlbCAxClgjICBKdW5lIDIyLCAxOTk0
ClgjICBBbnRob255IFBhcmtlciAodG9ueXBAbXBjZS5tcS5lZHUuYXUpClgj
ICBNYWNxdWFyaWUgVW5pdmVyc2l0eSwgU3lkbmV5IEF1c3RyYWxpYSAyMTA5
IApYIwpYLS0tIHNyYy9saWIvZGV2L21vczYvbW9zNml0Zi5oLm9yaWcJTW9u
IFNlcCAyOCAwMzoyNToyMiAxOTkyClgrKysgc3JjL2xpYi9kZXYvbW9zNi9t
b3M2aXRmLmgJVGh1IEp1bCAxNyAwMDoyMTozMyAyMDAzClhAQCAtNDYsMTMg
KzQ2LDggQEAKWCAgICAgTlVMTCwgLyogTU9TNmFjTG9hZCwgWFhYICovClgg
ICAgIE5VTEwsClggICAgIE1PUzZkZXN0cm95LApYLSNpZmRlZiBERUxFVEVT
ClgtICAgIE1PUzZtRGVsZXRlLApYLSAgICBNT1M2ZGVsZXRlLApYLSNlbHNl
IC8qIERFTEVURVMgKi8KWC0gICAgTlVMTCwKWC0gICAgTlVMTCwKWC0jZW5k
aWYgLyogREVMRVRFUyAqLwpYKyAgICBOVUxMLCAvKiBERUxFVEVTICovClgr
ICAgIE5VTEwsLyogREVMRVRFUyAqLwpYICAgICBNT1M2Z2V0aWMsClggICAg
IE1PUzZhc2ssClggICAgIE1PUzZtQXNrLApFTkQtb2Ytc3BpY2UvZmlsZXMv
cGF0Y2gtbGV2ZWwxCmVjaG8geCAtIHNwaWNlL2ZpbGVzL3BhdGNoLXNyY19s
aWJfZnRlX2NwaXRmX2MKc2VkICdzL15YLy8nID5zcGljZS9maWxlcy9wYXRj
aC1zcmNfbGliX2Z0ZV9jcGl0Zl9jIDw8ICdFTkQtb2Ytc3BpY2UvZmlsZXMv
cGF0Y2gtc3JjX2xpYl9mdGVfY3BpdGZfYycKWC0tLSBzcmMvbGliL2Z0ZS9j
cGl0Zi5jLm9yaWcJVHVlIE1hciAzMCAxNjo1NTo0MiAxOTkzClgrKysgc3Jj
L2xpYi9mdGUvY3BpdGYuYwlUaHUgSnVsIDE3IDAwOjQ3OjUwIDIwMDMKWEBA
IC0yMTIsNyArMjEyLDkgQEAKWCAJCWNwX2ludGVyYWN0aXZlID0gZmFsc2U7
ClggCQlpbnBfc3Bzb3VyY2UoZnAsIHRydWUsIGJ1Zik7ClggCQljcF9pbnRl
cmFjdGl2ZSA9IHRydWU7ClgtCQkodm9pZCkgZmNsb3NlKGZwKTsKWCsgICAg
ICAgICAgICAgICAgLyogdGhlIGZvbGxvd2luZyBjYXVzZWQgbWUgU0lHU0VH
VidzIHNpbmNlIGlucF9zcHNvdXJjZQpYKyAgICAgICAgICAgICAgICAgICBh
bHJlYWR5IGNsb3NlcyBmcCAtIEEuIFZlbGlhdGggMTIvNy85NyAqLwpYKwkJ
LyogKHZvaWQpIGZjbG9zZShmcCk7ICovClggCQlmb3VuZCA9IHRydWU7Clgg
CQlicmVhazsKWCAJICAgIH0gZWxzZSBpZiAoZnRfY29udHJvbGRiKQpFTkQt
b2Ytc3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9mdGVfY3BpdGZfYwplY2hv
IHggLSBzcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9kaW1lbnNfYwpz
ZWQgJ3MvXlgvLycgPnNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX2Rp
bWVuc19jIDw8ICdFTkQtb2Ytc3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9m
dGVfZGltZW5zX2MnClgtLS0gc3JjL2xpYi9mdGUvZGltZW5zLmMub3JpZwlT
dW4gQXByIDI1IDE4OjAzOjE5IDE5OTMKWCsrKyBzcmMvbGliL2Z0ZS9kaW1l
bnMuYwlUaHUgU2VwIDMwIDEwOjAyOjEwIDE5OTkKWEBAIC0yMSw5ICsyMSwy
MSBAQApYIHsKWCAgICAgaW50IGk7ClgtICAgIGNoYXIgYnVmW0JTSVpFX1NQ
XTsKWCsgICAgY2hhciAqYnVmOwpYKyAgICBpZiAoIChidWYgPSAoY2hhciAq
KSBtYWxsb2MoQlNJWkVfU1Aqc2l6ZW9mKGNoYXIpKSkgPT0gTlVMTCkKWCsg
ICAgewpYKyAgICAgIGZwcmludGYoc3RkZXJyLCJsaWI6ZnRlOmRpbW5zOmRp
bXN0cmluZzogIG1hbGxvYyBmYWlsZWRcbiIpOwpYKyAgICAgIGV4aXQoMSk7
ClgrICAgIH0KWCAKWCAgICAgaWYgKCFkYXRhIHx8IGxlbmd0aCA8IDEpClgg
CXJldHVybiBOVUxMOwpYIApYKyAgICBpZiAobGVuZ3RoID4gQlNJWkVfU1Ap
ClgrICAgIHsKWCsgICAgICBmcHJpbnRmKHN0ZGVyciwiV0FSTklORywgbGli
OmZ0ZTpkaW1uczpkaW1zdHJpbmc6IGxlbmd0aD0lZCA+IEJTSVpFX1NQPSVk
XG4iLApYKwlsZW5ndGgsQlNJWkVfU1ApOwpYKyAgICAgIGxlbmd0aCA9IEJT
SVpFX1NQOwpYKyAgICB9ClgrClggICAgIGJ1ZlswXSA9ICdcMCc7ClggICAg
IGZvciAoaT0wOyBpIDwgbGVuZ3RoOyBpKyspIHsKWEBAIC0zMSw1ICs0Myw1
IEBAClggCSAgICAoaSA8IGxlbmd0aCAtIDEpID8gIiwiIDogIiIpOwpYICAg
ICB9ClgtICAgIC8qIFhYWCBTaG91bGQgSSByZXR1cm4gYSBjb3B5IGluc3Rl
YWQ/ICovClgrICAgIApYICAgICByZXR1cm4oYnVmKTsKWCB9ClhAQCAtNDQs
OCArNTYsMjEgQEAKWCB7ClggICAgIGludCBpOwpYLSAgICBjaGFyIGJ1ZltC
U0laRV9TUF07ClgrICAgIGNoYXIgKmJ1ZjsgICAgICAgICAgClgrClgrICAg
IGlmICggKGJ1ZiA9IChjaGFyICopIG1hbGxvYyhCU0laRV9TUCpzaXplb2Yo
Y2hhcikpKSA9PSBOVUxMKQpYKyAgICB7ClgrICAgICAgZnByaW50ZihzdGRl
cnIsImxpYjpmdGU6ZGltbnM6aW5kZXhzdHJpbmc6ICBtYWxsb2MgZmFpbGVk
XG4iKTsKWCsgICAgICBleGl0KDEpOwpYKyAgICB9ClggClggICAgIGlmICgh
ZGF0YSB8fCBsZW5ndGggPCAxKQpYIAlyZXR1cm4gTlVMTDsKWCsKWCsgICAg
aWYgKGxlbmd0aCA+IEJTSVpFX1NQKQpYKyAgICB7ClgrICAgICAgZnByaW50
ZihzdGRlcnIsIldBUk5JTkcsIGxpYjpmdGU6ZGltbnM6aW5kZXhzdHJpbmc6
IGxlbmd0aD0lZCA+IEJTSVpFX1NQPSVkXG4iLApYKyAgICAgICAgbGVuZ3Ro
LEJTSVpFX1NQKTsKWCsgICAgICBsZW5ndGggPSBCU0laRV9TUDsKWCsgICAg
fQpYIApYICAgICBidWZbMF0gPSAnXDAnOwpFTkQtb2Ytc3BpY2UvZmlsZXMv
cGF0Y2gtc3JjX2xpYl9mdGVfZGltZW5zX2MKZWNobyB4IC0gc3BpY2UvZmls
ZXMvcGF0Y2gtc3JjX2xpYl9mdGVfYXNwaWNlX2MKc2VkICdzL15YLy8nID5z
cGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9hc3BpY2VfYyA8PCAnRU5E
LW9mLXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX2FzcGljZV9jJwpY
LS0tIHNyYy9saWIvZnRlL2FzcGljZS5jLm9yaWcJU3VuIEFwciAyNSAyMDo1
Nzo1NSAxOTkzClgrKysgc3JjL2xpYi9mdGUvYXNwaWNlLmMJVGh1IFNlcCAz
MCAxMTo0Mjo0MCAxOTk5ClhAQCAtMTc1LDQgKzE3NSwxMCBAQApYICAgICBG
SUxFICpmcDsKWCAgICAgaW50IHBpZDsKWCsjaWZkZWYgSEFTX0lOVFdBSVRT
VEFUVVMKWCsgICAgaW50IHN0YXR1czsKWCsjZWxzZQpYKyAgICB1bmlvbiB3
YWl0IHN0YXR1czsKWCsjZW5kaWYKWCsKWCAgICAgc3RhdGljIGJvb2wgaGVy
ZSA9IGZhbHNlOyAgIC8qIERvbid0IHdhbnQgdG8gYmUgcmUtZW50cmFudC4g
Ki8KWCAKWEBAIC0xODMsNSArMTg5LDUgQEAKWCAKWCAgICAgd2hpbGUgKG51
bWNoYW5nZWQgPiAwKSB7ClgtICAgICAgICBwaWQgPSB3YWl0KCh1bmlvbiB3
YWl0ICopIE5VTEwpOwpYKyAgICAgICAgcGlkID0gd2FpdCgmc3RhdHVzKTsK
WCAgICAgICAgIGlmIChwaWQgPT0gLTEpIHsKWCAgICAgICAgICAgICBmcHJp
bnRmKGNwX2VyciwgCkVORC1vZi1zcGljZS9maWxlcy9wYXRjaC1zcmNfbGli
X2Z0ZV9hc3BpY2VfYwplY2hvIHggLSBzcGljZS9maWxlcy9wYXRjaC1zcmNf
bGliX2Z0ZV9ncmFmX2MKc2VkICdzL15YLy8nID5zcGljZS9maWxlcy9wYXRj
aC1zcmNfbGliX2Z0ZV9ncmFmX2MgPDwgJ0VORC1vZi1zcGljZS9maWxlcy9w
YXRjaC1zcmNfbGliX2Z0ZV9ncmFmX2MnClgtLS0gc3JjL2xpYi9mdGUvZ3Jh
Zi5jLm9yaWcJVHVlIEphbiAgNSAxNjo0Mzo0NCAxOTkzClgrKysgc3JjL2xp
Yi9mdGUvZ3JhZi5jCVRodSBKdWwgMTcgMTI6MTY6NDIgMjAwMwpYQEAgLTI4
OSw5ICsyODksMTEgQEAKWCAJCWlmICgqdGljcyA9PSAoZG91YmxlKSBucCkg
ewpYIAkJICAgIFRleHQoIngiLCAoaW50KSAodG94IC0gY3VycmVudGdyYXBo
LT5mb250d2lkdGggLyAyKSwKWCAJCQkoaW50KSAodG95IC0gY3VycmVudGdy
YXBoLT5mb250aGVpZ2h0IC8gMikpOwpYLQkJICAgIFNhdmVUZXh0KGN1cnJl
bnRncmFwaCwgIngiLApYKwkgICAgICAgLyogZ3JfcmVkcmF3IHdpbGwgcmVk
cmF3IHRoaXMgdy9vIG91ciBoYXZpbmcgdG8gc2F2ZSBpdApYKyAgICAgICAg
ICAgICAgICAgIEd1ZW50aGVyIFJvZWhyaWNoIDIyLUphbi05OSAqLyAKWCsJ
ICAgICAgIC8qICAgU2F2ZVRleHQoY3VycmVudGdyYXBoLCAieCIsClggCQkJ
KGludCkgKHRveCAtIGN1cnJlbnRncmFwaC0+Zm9udHdpZHRoIC8gMiksClgt
CQkJKGludCkgKHRveSAtIGN1cnJlbnRncmFwaC0+Zm9udGhlaWdodCAvIDIp
KTsKWCsJCQkoaW50KSAodG95IC0gY3VycmVudGdyYXBoLT5mb250aGVpZ2h0
IC8gMikpOyAqLwpYIAkJICAgIGJyZWFrOwpYIAkJfQpYIAkgICAgfQpYQEAg
LTMwMSw5ICszMDMsMTEgQEAKWCAJICAgIC8qIERyYXcgYW4gJ3gnICovClgg
CSAgICBUZXh0KCJ4IiwgKGludCkgKHRveCAtIGN1cnJlbnRncmFwaC0+Zm9u
dHdpZHRoIC8gMiksClggCQkoaW50KSAodG95IC0gY3VycmVudGdyYXBoLT5m
b250aGVpZ2h0IC8gMikpOwpYLQkgICAgU2F2ZVRleHQoY3VycmVudGdyYXBo
LCAieCIsClgrICAgICAgICAgIC8qIGdyX3JlZHJhdyB3aWxsIHJlZHJhdyB0
aGlzIHcvbyBvdXIgaGF2aW5nIHRvIHNhdmUgaXQKWCsgICAgICAgICAgICAg
ICAgICBHdWVudGhlciBSb2VocmljaCAyMi1KYW4tOTkgKi8gClgrCSAgLyog
U2F2ZVRleHQoY3VycmVudGdyYXBoLCAieCIsClggCQkoaW50KSAodG94IC0g
Y3VycmVudGdyYXBoLT5mb250d2lkdGggLyAyKSwKWC0JCShpbnQpICh0b3kg
LSBjdXJyZW50Z3JhcGgtPmZvbnRoZWlnaHQgLyAyKSk7ClgrCQkoaW50KSAo
dG95IC0gY3VycmVudGdyYXBoLT5mb250aGVpZ2h0IC8gMikpOyAqLwpYIAl9
ClggICAgICAgICBicmVhazsKWCAgICAgICBjYXNlIFBMT1RfQ09NQjoKRU5E
LW9mLXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX2dyYWZfYwplY2hv
IHggLSBzcGljZS9maWxlcy9wYXRjaC1zcmNfaW5jbHVkZV9wYXRjaGxldl9o
CnNlZCAncy9eWC8vJyA+c3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2luY2x1ZGVf
cGF0Y2hsZXZfaCA8PCAnRU5ELW9mLXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19p
bmNsdWRlX3BhdGNobGV2X2gnClgtLS0gc3JjL2luY2x1ZGUvcGF0Y2hsZXYu
aC5vcmlnCVRodSBKdWwgMjkgMDU6MzA6MzAgMTk5MwpYKysrIHNyYy9pbmNs
dWRlL3BhdGNobGV2LmgJVGh1IEp1bCAxNyAwMDoyMTozMyAyMDAzClhAQCAt
MSArMSBAQApYLSNkZWZpbmUgUEFUQ0hMRVZFTAkwClgrI2RlZmluZSBQQVRD
SExFVkVMCTIKRU5ELW9mLXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19pbmNsdWRl
X3BhdGNobGV2X2gKZWNobyB4IC0gc3BpY2UvZmlsZXMvcGF0Y2gtbGV2ZWwy
CnNlZCAncy9eWC8vJyA+c3BpY2UvZmlsZXMvcGF0Y2gtbGV2ZWwyIDw8ICdF
TkQtb2Ytc3BpY2UvZmlsZXMvcGF0Y2gtbGV2ZWwyJwpYIyAgc3BpY2UzZjQv
M2Y1IHBhdGNoIGxldmVsIDIKWCMgIEFkZHMgc3BlYyBjb21tYW5kIGZvciBz
cGVjdHJ1bSBhbmFseXNpcyB1c2luZyBERlQKWCMgIEp1bHkgMTEsIDE5OTQK
WCMgIEFudGhvbnkgUGFya2VyICh0b255cEBtcGNlLm1xLmVkdS5hdSkKWCMg
IE1hY3F1YXJpZSBVbml2ZXJzaXR5LCBTeWRuZXkgQXVzdHJhbGlhIDIxMDkg
ClgjClhkaWZmIC1ydU4gc3JjLm9yaWcvaW5jbHVkZS9mdGVleHQuaCBzcmMv
aW5jbHVkZS9mdGVleHQuaApYLS0tIHNyYy5vcmlnL2luY2x1ZGUvZnRlZXh0
LmgJVHVlIEp1bCAyNyAxNDo1MToxOCAxOTkzClgrKysgc3JjL2luY2x1ZGUv
ZnRlZXh0LmgJU3VuIE1heSAxOCAxMzoyNTo1MiAyMDAzClhAQCAtMjA4LDYg
KzIwOCwxMCBAQApYIApYIGV4dGVybiB2b2lkIGNvbV9mb3VyaWVyKCk7Clgg
ClgrLyogc3BlYy5jICovClgrClgrZXh0ZXJuIHZvaWQgY29tX3NwZWMoKTsK
WCsKWCAvKiBnaW50ZXJmYWNlLmMgKi8KWCAKWCBleHRlcm4gYm9vbCBnaV9p
bml0KCk7ClhkaWZmIC1ydU4gc3JjLm9yaWcvbGliL2Z0ZS9tYWtlZGVmcyBz
cmMvbGliL2Z0ZS9tYWtlZGVmcwpYLS0tIHNyYy5vcmlnL2xpYi9mdGUvbWFr
ZWRlZnMJTW9uIE1hciAyMiAyMDo1NjoxMCAxOTkzClgrKysgc3JjL2xpYi9m
dGUvbWFrZWRlZnMJU3VuIE1heSAxOCAxMzoyNTo0NCAyMDAzClhAQCAtMTEs
NyArMTEsOCBAQApYIAkJICBwYXJzZS5jIHBsb3Q1LmMgcGxvdGN1cnYuYyBw
b2ludHMuYyBwb3N0Y29tcy5jIHBvc3RzYy5jIFwKWCAJCSAgcmF3ZmlsZS5j
IHJlc291cmNlLmMgcnVuY29tcy5jIHNoeXUuYyBzaWduYWwuYyBzcGNtZHRh
Yi5jIFwKWCAJCSAgc3BpY2VpZi5jIHN1YmNrdC5jIHR5cGVzLmMgdmVjdG9y
cy5jIHdoZXJlLmMgeDEwLmMgeDExLmMgXApYLQkJICBnZW5zLmMgbmV3Y29t
cy5jIGRpbWVucy5jIHhncmFwaC5jIHJ1bmNvbXMyLmMgYnJlYWtwMi5jClgr
CQkgIGdlbnMuYyBuZXdjb21zLmMgZGltZW5zLmMgeGdyYXBoLmMgcnVuY29t
czIuYyBicmVha3AyLmMgXApYKyAgICAgICAgICAgICAgICAgIHNwZWMuYwpY
IApYIENPQkpTCQk9IGFncmFmLm8gYXJnLm8gYXNwaWNlLm8gYnJlYWtwLm8g
Y2lyY3VpdHMubyBjbGlwLm8gY21hdGgxLm8gXApYIAkJICBjbWF0aDIubyBj
bWF0aDMubyBjbWF0aDQubyBjb21wb3NlLm8gY3BpdGYubyBkZWJ1Z2NvbS5v
IFwKWEBAIC0yMiw3ICsyMyw4IEBAClggCQkgIHBhcnNlLm8gcGxvdDUubyBw
bG90Y3Vydi5vIHBvaW50cy5vIHBvc3Rjb21zLm8gcG9zdHNjLm8gXApYIAkJ
ICByYXdmaWxlLm8gcmVzb3VyY2UubyBydW5jb21zLm8gc2h5dS5vIHNpZ25h
bC5vIHNwY21kdGFiLm8gXApYIAkJICBzcGljZWlmLm8gc3ViY2t0Lm8gdHlw
ZXMubyB2ZWN0b3JzLm8gd2hlcmUubyB4MTAubyB4MTEubyBcClgtCQkgIGdl
bnMubyBuZXdjb21zLm8gZGltZW5zLm8geGdyYXBoLm8gcnVuY29tczIubyBi
cmVha3AyLm8KWCsJCSAgZ2Vucy5vIG5ld2NvbXMubyBkaW1lbnMubyB4Z3Jh
cGgubyBydW5jb21zMi5vIGJyZWFrcDIubyBcClgrICAgICAgICAgICAgICAg
ICAgc3BlYy5vClggClggTElCUkFSWQkJPSBmdGUKWCBMSUJfVEFSR0VUCT0g
JChPQkpMSUJfRElSKS8kKExJQlJBUlkpLmEKWEBAIC05MiwzICs5NCw0IEBA
ClggeGdyYXBoLm86IHhncmFwaC5jClggcnVuY29tczIubzogcnVuY29tczIu
YwpYIGJyZWFrcDIubzogYnJlYWtwMi5jClgrc3BlYy5vOiBzcGVjLmMKWGRp
ZmYgLXJ1TiBzcmMub3JpZy9saWIvZnRlL21zYzUxLmJhdCBzcmMvbGliL2Z0
ZS9tc2M1MS5iYXQKWC0tLSBzcmMub3JpZy9saWIvZnRlL21zYzUxLmJhdAlG
cmkgSnVsIDMwIDA0OjI2OjQ0IDE5OTMKWCsrKyBzcmMvbGliL2Z0ZS9tc2M1
MS5iYXQJU3VuIE1heSAxOCAxMzoyNTo0NCAyMDAzClhAQCAtNjEsNCArNjEs
NSBAQApYIGNsIC9JLi5cLi5caW5jbHVkZSAvYyB4Z3JhcGguYyA+PiAuLlwu
Llxtc2Mub3V0ClggY2wgL0kuLlwuLlxpbmNsdWRlIC9jIHJ1bmNvbXMyLmMg
Pj4gLi5cLi5cbXNjLm91dApYIGNsIC9JLi5cLi5caW5jbHVkZSAvYyBicmVh
a3AyLmMgPj4gLi5cLi5cbXNjLm91dApYK2NsIC9JLi5cLi5caW5jbHVkZSAv
YyBzcGVjLmMgPj4gLi5cLi5cbXNjLm91dApYIGxpYiAuLlxmdGUubGliIEBy
ZXNwb25zZS5saWIgPj4gLi5cLi5cbXNjLm91dApYZGlmZiAtcnVOIHNyYy5v
cmlnL2xpYi9mdGUvcmVzcG9uc2UubGliIHNyYy9saWIvZnRlL3Jlc3BvbnNl
LmxpYgpYLS0tIHNyYy5vcmlnL2xpYi9mdGUvcmVzcG9uc2UubGliCUZyaSBK
dWwgMzAgMDQ6MjY6NDUgMTk5MwpYKysrIHNyYy9saWIvZnRlL3Jlc3BvbnNl
LmxpYglTdW4gTWF5IDE4IDEzOjI1OjQ0IDIwMDMKWEBAIC01OSw0ICs1OSw1
IEBAClggK2RpbWVucy5vYmomClggK3hncmFwaC5vYmomClggK3J1bmNvbXMy
Lm9iaiYKWCsrc3BlYy5vYmomClggK2JyZWFrcDIub2JqOwpYZGlmZiAtcnVO
IHNyYy5vcmlnL2xpYi9mdGUvc3BjbWR0YWIuYyBzcmMvbGliL2Z0ZS9zcGNt
ZHRhYi5jClgtLS0gc3JjLm9yaWcvbGliL2Z0ZS9zcGNtZHRhYi5jCVRodSBK
dWwgMjkgMjA6NDk6MzMgMTk5MwpYKysrIHNyYy9saWIvZnRlL3NwY21kdGFi
LmMJU3VuIE1heSAxOCAxMzoyNTo0NCAyMDAzClhAQCAtMTYyLDYgKzE2Miwx
MCBAQApYICAgICAgIHsgMCwgMDQwMDAwLCAwNDAwMDAsIDA0MDAwMCB9LCBF
X0RFRkhNQVNLLCAxLCBMT1RTLApYICAgICAgIChpbnQgKCopKCkpIE5VTEws
ClggICAgICAgImZ1bmRfZnJlcSB2ZWN0b3IgLi4uIDogRG8gYSBmb3VyaWVy
IGFuYWx5c2lzIG9mIHNvbWUgZGF0YS4iIH0gLApYKyAgICB7ICJzcGVjIiwg
Y29tX3NwZWMsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwKWCsgICAgICB7IDAsIDAs
IDAsIDAgfSwgRV9ERUZITUFTSywgNCwgTE9UUywKWCsgICAgICAoaW50ICgq
KSgpKSBOVUxMLApYKyAgICAgICJzdGFydF9mcmVxIHN0b3BfZnJlcSBzdGVw
X2ZyZXEgdmVjdG9yIC4uLiA6IENyZWF0ZSBhIGZyZXF1ZW5jeSBkb21haW4g
cGxvdC4iIH0gLApYICAgICB7ICJzaG93IiwgY29tX3Nob3csIGZhbHNlLCB0
cnVlLCBmYWxzZSwKWCAgICAgICB7IDA0MCwgMDQwLCAwNDAsIDA0MCB9LCBF
X0RFRkhNQVNLLCAwLCBMT1RTLApYICAgICAgIChpbnQgKCopKCkpIE5VTEws
ClhkaWZmIC1ydU4gc3JjLm9yaWcvbGliL2Z0ZS9zcGVjLmMgc3JjL2xpYi9m
dGUvc3BlYy5jClgtLS0gc3JjLm9yaWcvbGliL2Z0ZS9zcGVjLmMJV2VkIERl
YyAzMSAxOTowMDowMCAxOTY5ClgrKysgc3JjL2xpYi9mdGUvc3BlYy5jCVN1
biBNYXkgMTggMTM6MjU6NDQgMjAwMwpYQEAgLTAsMCArMSwyODYgQEAKWCsv
KioqKioqKioqKgpYK0NvcHlyaWdodCAxOTk0IE1hY3F1YXJpZSBVbml2ZXJz
aXR5LCBTeWRuZXkgQXVzdHJhbGlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
WCtBdXRob3I6ICAgMTk5NCBBbnRob255IEUuIFBhcmtlciwgRGVwYXJ0bWVu
dCBvZiBFbGVjdHJvbmljcywgTWFjcXVhcmllIFVuaS4KWCsqKioqKioqKioq
LwpYKwpYKy8qClgrICogQ29kZSB0byBkbyBmb3VyaWVyIHRyYW5zZm9ybXMg
b24gZGF0YS4KWCsgKi8KWCsKWCsjaW5jbHVkZSAic3BpY2UuaCIKWCsjaW5j
bHVkZSAiZnRlZGVmcy5oIgpYKyNpbmNsdWRlICJmdGVkYXRhLmgiClgrI2lu
Y2x1ZGUgInV0aWwuaCIKWCsjaW5jbHVkZSAic3VmZml4LmgiClgrClgrdm9p
ZApYK2NvbV9zcGVjKHdsKQpYKyAgICB3b3JkbGlzdCAqd2w7ClgrewpYKyAg
ICBjb21wbGV4ICoqZmR2ZWM7ClgrICAgIGRvdWJsZSAgKip0ZHZlYzsKWCsg
ICAgZG91YmxlICAqZnJlcSwgKndpbiwgKnRpbWUsICpkYzsKWCsgICAgZG91
YmxlICBzdGFydGYsIHN0b3BmLCBzdGVwZiwgc3BhbjsKWCsgICAgaW50ICAg
ICBmcHRzLCBpLCBqLCBrLCB0bGVuLCBuZ29vZDsKWCsgICAgYm9vbCAgICB0
cmFjZTsKWCsgICAgY2hhciAgICAqczsKWCsgICAgc3RydWN0IGR2ZWMgICpm
LCAqdmxpc3QsICpsdiwgKnZlYzsKWCsgICAgc3RydWN0IHBub2RlICpuYW1l
cywgKmZpcnN0X25hbWU7ClgrClgrICAgIGlmICghcGxvdF9jdXIgfHwgIXBs
b3RfY3VyLT5wbF9zY2FsZSkgewpYKyAgICAgICAgZnByaW50ZihjcF9lcnIs
ICJFcnJvcjogbm8gdmVjdG9ycyBsb2FkZWQuXG4iKTsKWCsgICAgICAgIHJl
dHVybjsKWCsgICAgfQpYKyAgICBpZiAoIWlzcmVhbChwbG90X2N1ci0+cGxf
c2NhbGUpIHx8IApYKyAgICAgICAgKChwbG90X2N1ci0+cGxfc2NhbGUpLT52
X3R5cGUgIT0gU1ZfVElNRSkpIHsKWCsgICAgICAgIGZwcmludGYoY3BfZXJy
LCAiRXJyb3I6IHNwZWMgbmVlZHMgcmVhbCB0aW1lIHNjYWxlXG4iKTsKWCsg
ICAgICAgIHJldHVybjsKWCsgICAgfQpYKyAgICBzID0gd2wtPndsX3dvcmQ7
ClgrICAgIHRsZW4gPSAocGxvdF9jdXItPnBsX3NjYWxlKS0+dl9sZW5ndGg7
ClgrICAgIGlmICghKGZyZXEgPSBmdF9udW1wYXJzZSgmcywgZmFsc2UpKSB8
fCAoKmZyZXEgPCAwLjApKSB7ClgrICAgICAgICBmcHJpbnRmKGNwX2Vyciwg
IkVycm9yOiBiYWQgc3RhcnQgZnJlcSAlc1xuIiwgd2wtPndsX3dvcmQpOwpY
KyAgICAgICAgcmV0dXJuOwpYKyAgICB9ClgrICAgIHN0YXJ0ZiA9ICpmcmVx
OwpYKyAgICB3bCA9IHdsLT53bF9uZXh0OwpYKyAgICBzID0gd2wtPndsX3dv
cmQ7ClgrICAgIGlmICghKGZyZXEgPSBmdF9udW1wYXJzZSgmcywgZmFsc2Up
KSB8fCAoKmZyZXEgPD0gc3RhcnRmKSkgewpYKyAgICAgICAgZnByaW50Zihj
cF9lcnIsICJFcnJvcjogYmFkIHN0b3AgZnJlcSAlc1xuIiwgd2wtPndsX3dv
cmQpOwpYKyAgICAgICAgcmV0dXJuOwpYKyAgICB9ClgrICAgIHN0b3BmID0g
KmZyZXE7ClgrICAgIHdsID0gd2wtPndsX25leHQ7ClgrICAgIHMgPSB3bC0+
d2xfd29yZDsKWCsgICAgaWYgKCEoZnJlcSA9IGZ0X251bXBhcnNlKCZzLCBm
YWxzZSkpIHx8ICEoKmZyZXEgPD0gKHN0b3BmLXN0YXJ0ZikpKSB7ClgrICAg
ICAgICBmcHJpbnRmKGNwX2VyciwgIkVycm9yOiBiYWQgc3RlcCBmcmVxICVz
XG4iLCB3bC0+d2xfd29yZCk7ClgrICAgICAgICByZXR1cm47ClgrICAgIH0K
WCsgICAgc3RlcGYgPSAqZnJlcTsKWCsgICAgd2wgPSB3bC0+d2xfbmV4dDsK
WCsgICAgdGltZSA9IChwbG90X2N1ci0+cGxfc2NhbGUpLT52X3JlYWxkYXRh
OwpYKyAgICBzcGFuID0gdGltZVt0bGVuLTFdIC0gdGltZVswXTsKWCsgICAg
aWYgKHN0b3BmID4gMC41KnRsZW4vc3BhbikgewpYKyAgICAgICAgZnByaW50
ZihjcF9lcnIsClgrCSAgIkVycm9yOiBueXF1aXN0IGxpbWl0IGV4Y2VlZGVk
LCB0cnkgc3RvcCBmcmVxIGxlc3MgdGhhbiAlZSBIelxuIiwKWCsJICAgICAg
dGxlbi8yL3NwYW4pOwpYKyAgICAgICAgcmV0dXJuOwpYKyAgICB9ClgrICAg
IHNwYW4gPSAoKGludCkoc3BhbipzdGVwZioxLjAwMDAwMDAwMDAwMSkpL3N0
ZXBmOwpYKyAgICBpZiAoc3BhbiA+IDApIHsKWCsgICAgICAgIHN0YXJ0ZiA9
IChpbnQpKHN0YXJ0Zi9zdGVwZioxLjAwMDAwMDAwMDAwMSkgKiBzdGVwZjsK
WCsgICAgICAgIGZwdHMgPSAoc3RvcGYgLSBzdGFydGYpL3N0ZXBmICsgMTsK
WCsgICAgICAgIGlmIChzdG9wZiA+IHN0YXJ0ZiArIChmcHRzLTEpKnN0ZXBm
KSBmcHRzKys7ClgrICAgIH0gZWxzZSB7ClgrICAgICAgICBmcHJpbnRmKGNw
X2VyciwiRXJyb3I6IHRpbWUgc3BhbiBsaW1pdHMgc3RlcCBmcmVxIHRvICUx
LjFlIEh6XG4iLApYKyAgICAgICAgICAgMS8odGltZVt0bGVuLTFdIC0gdGlt
ZVswXSkpOwpYKyAgICAgICAgcmV0dXJuOwpYKyAgICB9ClgrICAgIHdpbiA9
IChkb3VibGUgKikgdG1hbGxvYyh0bGVuICogc2l6ZW9mIChkb3VibGUpKTsK
WCsgICAgewpYKyAgICAgICBjaGFyICAgd2luZG93W0JTSVpFX1NQXTsKWCsg
ICAgICAgZG91YmxlIG1heHQgPSB0aW1lW3RsZW4tMV07ClgrICAgICAgIGlm
ICghY3BfZ2V0dmFyKCJzcGVjd2luZG93IiwgVlRfU1RSSU5HLCB3aW5kb3cp
KSAKWCsgICAgICAgICAgIHN0cmNweSh3aW5kb3csImhhbm5pbmciKTsKWCsg
ICAgICAgaWYgKGVxKHdpbmRvdywgIm5vbmUiKSkKWCsgICAgICAgICAgZm9y
KGk9MDsgaTx0bGVuOyBpKyspIHsKWCsgICAgICAgICAgICAgd2luW2ldID0g
MTsKWCsgICAgICAgICAgfQpYKyAgICAgICBlbHNlIGlmIChlcSh3aW5kb3cs
ICJyZWN0YW5ndWxhciIpKQpYKyAgICAgICAgICAgZm9yKGk9MDsgaTx0bGVu
OyBpKyspIHsKWCsgICAgICAgICAgICAgaWYgKG1heHQtdGltZVtpXSA+IHNw
YW4pIHsKWCsgICAgICAgICAgICAgICAgd2luW2ldID0gMDsKWCsgICAgICAg
ICAgICAgfSBlbHNlIHsKWCsgICAgICAgICAgICAgICAgd2luW2ldID0gMTsK
WCsgICAgICAgICAgICAgfQpYKyAgICAgICAgICB9ClgrICAgICAgIGVsc2Ug
aWYgKGVxKHdpbmRvdywgImhhbm5pbmciKSB8fCBlcSh3aW5kb3csICJjb3Np
bmUiKSkKWCsgICAgICAgICAgZm9yKGk9MDsgaTx0bGVuOyBpKyspIHsKWCsg
ICAgICAgICAgICAgaWYgKG1heHQtdGltZVtpXSA+IHNwYW4pIHsKWCsgICAg
ICAgICAgICAgICAgd2luW2ldID0gMDsKWCsgICAgICAgICAgICAgfSBlbHNl
IHsKWCsgICAgICAgICAgICAgICAgd2luW2ldID0gMSAtIGNvcygyKk1fUEkq
KHRpbWVbaV0tbWF4dCkvc3Bhbik7ClgrICAgICAgICAgICAgIH0KWCsgICAg
ICAgICAgfQpYKyAgICAgICBlbHNlIGlmIChlcSh3aW5kb3csICJoYW1taW5n
IikpClgrICAgICAgICAgIGZvcihpPTA7IGk8dGxlbjsgaSsrKSB7ClgrICAg
ICAgICAgICAgIGlmIChtYXh0LXRpbWVbaV0gPiBzcGFuKSB7ClgrICAgICAg
ICAgICAgICAgIHdpbltpXSA9IDA7ClgrICAgICAgICAgICAgIH0gZWxzZSB7
ClgrICAgICAgICAgICAgICAgIHdpbltpXSA9IDEgLSAwLjkyLzEuMDgqY29z
KDIqTV9QSSoodGltZVtpXS1tYXh0KS9zcGFuKTsKWCsgICAgICAgICAgICAg
fQpYKyAgICAgICAgICB9ClgrICAgICAgIGVsc2UgaWYgKGVxKHdpbmRvdywg
InRyaWFuZ2xlIikgfHwgZXEod2luZG93LCAiYmFydGxldCIpKQpYKyAgICAg
ICAgICBmb3IoaT0wOyBpPHRsZW47IGkrKykgewpYKyAgICAgICAgICAgICBp
ZiAobWF4dC10aW1lW2ldID4gc3BhbikgewpYKyAgICAgICAgICAgICAgICB3
aW5baV0gPSAwOwpYKyAgICAgICAgICAgICB9IGVsc2UgewpYKyAgICAgICAg
ICAgICAgICB3aW5baV0gPSAyIC0gZmFicygyKzQqKHRpbWVbaV0tbWF4dCkv
c3Bhbik7ClgrICAgICAgICAgICAgIH0KWCsgICAgICAgICAgfQpYKyAgICAg
ICBlbHNlIGlmIChlcSh3aW5kb3csICJibGFja21hbiIpKSB7ClgrICAgICAg
ICAgIGludCBvcmRlcjsKWCsgICAgICAgICAgaWYgKCFjcF9nZXR2YXIoInNw
ZWN3aW5kb3dvcmRlciIsIFZUX05VTSwgJm9yZGVyKSkgb3JkZXIgPSAyOwpY
KyAgICAgICAgICBpZiAob3JkZXIgPCAyKSBvcmRlciA9IDI7ICAvKiBvbmx5
IG9yZGVyIDIgc3VwcG9ydGVkIGhlcmUgKi8KWCsgICAgICAgICAgZm9yKGk9
MDsgaTx0bGVuOyBpKyspIHsKWCsgICAgICAgICAgICAgaWYgKG1heHQtdGlt
ZVtpXSA+IHNwYW4pIHsKWCsgICAgICAgICAgICAgICAgd2luW2ldID0gMDsK
WCsgICAgICAgICAgICAgfSBlbHNlIHsKWCsgICAgICAgICAgICAgICAgd2lu
W2ldICA9IDE7ClgrICAgICAgICAgICAgICAgIHdpbltpXSAtPSAwLjUwLzAu
NDIqY29zKDIqTV9QSSoodGltZVtpXS1tYXh0KS9zcGFuKTsKWCsgICAgICAg
ICAgICAgICAgd2luW2ldICs9IDAuMDgvMC40Mipjb3MoNCpNX1BJKih0aW1l
W2ldLW1heHQpL3NwYW4pOwpYKyAgICAgICAgICAgICB9ClgrICAgICAgICAg
IH0KWCsgICAgICAgfSBlbHNlIGlmIChlcSh3aW5kb3csICJnYXVzc2lhbiIp
KSB7ClgrICAgICAgICAgIGludCBvcmRlcjsKWCsgICAgICAgICAgZG91Ymxl
IHNjYWxlOwpYKyAgICAgICAgICBleHRlcm4gZG91YmxlIGVyZmMoKTsKWCsg
ICAgICAgICAgaWYgKCFjcF9nZXR2YXIoInNwZWN3aW5kb3dvcmRlciIsIFZU
X05VTSwgJm9yZGVyKSkgb3JkZXIgPSAyOwpYKyAgICAgICAgICBpZiAob3Jk
ZXIgPCAyKSBvcmRlciA9IDI7ClgrICAgICAgICAgIHNjYWxlID0gcG93KDIq
TV9QSS9vcmRlciwwLjUpKigwLjUtZXJmYyhwb3cob3JkZXIsMC41KSkpOwpY
KyAgICAgICAgICBmb3IoaT0wOyBpPHRsZW47IGkrKykgewpYKyAgICAgICAg
ICAgICBpZiAobWF4dC10aW1lW2ldID4gc3BhbikgewpYKyAgICAgICAgICAg
ICAgICB3aW5baV0gPSAwOwpYKyAgICAgICAgICAgICB9IGVsc2UgewpYKyAg
ICAgICAgICAgICAgICB3aW5baV0gPSBleHAoLTAuNSpvcmRlciooMS0yKiht
YXh0LXRpbWVbaV0pL3NwYW4pClgrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKigxLTIqKG1heHQtdGltZVtpXSkvc3BhbikpL3Nj
YWxlOwpYKyAgICAgICAgICAgICB9ClgrICAgICAgICAgIH0KWCsJICAgfSBl
bHNlIHsKWCsgICAgICAgICAgZnByaW50ZihjcF9lcnIsICJXYXJuaW5nOiB1
bmtub3duIHdpbmRvdyB0eXBlICVzXG4iLCB3aW5kb3cpOwpYKyAgICAgICAg
ICB0ZnJlZSh3aW4pOwpYKyAgICAgICAgICByZXR1cm47ClgrICAgICAgIH0K
WCsgICAgfQpYKyAgICAKWCsgICAgbmFtZXMgPSBmdF9nZXRwbmFtZXMod2ws
IHRydWUpOwpYKyAgICBmaXJzdF9uYW1lID0gbmFtZXM7ClgrICAgIHZsaXN0
ID0gTlVMTDsKWCsgICAgbmdvb2QgPSAwOwpYKyAgICB3aGlsZSAobmFtZXMp
IHsKWCsgICAgICAgIHZlYyA9IGZ0X2V2YWx1YXRlKG5hbWVzKTsKWCsgICAg
ICAgIG5hbWVzID0gbmFtZXMtPnBuX25leHQ7ClgrICAgICAgICB3aGlsZSAo
dmVjKSB7ClgrICAgICAgICAgICAgaWYgKHZlYy0+dl9sZW5ndGggIT0gdGxl
bikgewpYKyAgICAgICAgICAgICAgICBmcHJpbnRmKGNwX2VyciwgIkVycm9y
OiBsZW5ndGhzIGRvbid0IG1hdGNoOiAlZCwgJWRcbiIsClgrICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjLT52X2xlbmd0aCwgdGxlbik7ClgrICAgICAg
ICAgICAgICAgIHZlYyA9IHZlYy0+dl9saW5rMjsKWCsgICAgICAgICAgICAg
ICAgY29udGludWU7ClgrICAgICAgICAgICAgfQpYKyAgICAgICAgICAgIGlm
ICghaXNyZWFsKHZlYykpIHsKWCsgICAgICAgICAgICAgICAgZnByaW50Zihj
cF9lcnIsICJFcnJvcjogJXMgaXNuJ3QgcmVhbCFcbiIsIApYKyAgICAgICAg
ICAgICAgICAgICAgICAgIHZlYy0+dl9uYW1lKTsKWCsgICAgICAgICAgICAg
ICAgdmVjID0gdmVjLT52X2xpbmsyOwpYKyAgICAgICAgICAgICAgICBjb250
aW51ZTsKWCsgICAgICAgICAgICB9ClgrICAgICAgICAgICAgaWYgKHZlYy0+
dl90eXBlID09IFNWX1RJTUUpIHsKWCsgICAgICAgICAgICAgICAgdmVjID0g
dmVjLT52X2xpbmsyOwpYKyAgICAgICAgICAgICAgICBjb250aW51ZTsKWCsg
ICAgICAgICAgICB9ClgrCSAgICAgICAgaWYgKCF2bGlzdCkKWCsJICAgICAg
ICAgICB2bGlzdCA9IHZlYzsKWCsJICAgICAgICBlbHNlClgrCSAgICAgICAg
ICAgbHYtPnZfbGluazIgPSB2ZWM7ClgrICAgICAgICAgICAgbHYgPSB2ZWM7
ClgrICAgICAgICAgICAgdmVjID0gdmVjLT52X2xpbmsyOwpYKyAgICAgICAg
ICAgIG5nb29kKys7ClgrICAgICAgICB9ClgrICAgIH0KWCsgICAgZnJlZV9w
bm9kZShmaXJzdF9uYW1lKTsKWCsgICAgaWYgKCFuZ29vZCkgewpYKyAgICAg
ICB0ZnJlZSh3aW4pOwpYKyAgICAgICByZXR1cm47ClgrICAgIH0KWCsgClgr
ICAgIHBsb3RfY3VyID0gcGxvdF9hbGxvYygic3BlY3RydW0iKTsKWCsgICAg
cGxvdF9jdXItPnBsX25leHQgPSBwbG90X2xpc3Q7ClgrICAgIHBsb3RfbGlz
dCA9IHBsb3RfY3VyOwpYKyAgICBwbG90X2N1ci0+cGxfdGl0bGUgPSBjb3B5
KChwbG90X2N1ci0+cGxfbmV4dCktPnBsX3RpdGxlKTsKWCsgICAgcGxvdF9j
dXItPnBsX25hbWUgPSBjb3B5KCJTcGVjdHJ1bSIpOwpYKyAgICBwbG90X2N1
ci0+cGxfZGF0ZSA9IGNvcHkoZGF0ZXN0cmluZyggKSk7ClgrClgrICAgIGZy
ZXEgPSAoZG91YmxlICopIHRtYWxsb2MoZnB0cyAqIHNpemVvZihkb3VibGUp
KTsKWCsgICAgZiA9IGFsbG9jKHN0cnVjdCBkdmVjKTsKWCsgICAgWkVSTyhm
LCBzdHJ1Y3QgZHZlYyk7ClgrICAgIGYtPnZfbmFtZSA9IGNvcHkoImZyZXF1
ZW5jeSIpOwpYKyAgICBmLT52X3R5cGUgPSBTVl9GUkVRVUVOQ1k7ClgrICAg
IGYtPnZfZmxhZ3MgPSAoVkZfUkVBTCB8IFZGX1BFUk1BTkVOVCB8IFZGX1BS
SU5UKTsKWCsgICAgZi0+dl9sZW5ndGggPSBmcHRzOwpYKyAgICBmLT52X3Jl
YWxkYXRhID0gZnJlcTsKWCsgICAgdmVjX25ldyhmKTsKWCsKWCsgICAgdGR2
ZWMgPSAoZG91YmxlICAqKikgdG1hbGxvYyhuZ29vZCAqIHNpemVvZihkb3Vi
bGUgICopKTsKWCsgICAgZmR2ZWMgPSAoY29tcGxleCAqKikgdG1hbGxvYyhu
Z29vZCAqIHNpemVvZihjb21wbGV4ICopKTsKWCsgICAgZm9yIChpID0gMCwg
dmVjID0gdmxpc3Q7IGk8bmdvb2Q7IGkrKykgewpYKyAgICAgICB0ZHZlY1tp
XSA9IHZlYy0+dl9yZWFsZGF0YTsKWCsgICAgICAgZmR2ZWNbaV0gPSAoY29t
cGxleCAqKSB0bWFsbG9jKGZwdHMgKiBzaXplb2YoY29tcGxleCkpOwpYKyAg
ICAgICBmID0gYWxsb2Moc3RydWN0IGR2ZWMpOwpYKyAgICAgICBaRVJPKGYs
IHN0cnVjdCBkdmVjKTsKWCsgICAgICAgZi0+dl9uYW1lID0gdmVjX2Jhc2Vu
YW1lKHZlYyk7ClgrICAgICAgIGYtPnZfdHlwZSA9IHZlYy0+dl90eXBlOwpY
KyAgICAgICBmLT52X2ZsYWdzID0gKFZGX0NPTVBMRVggfCBWRl9QRVJNQU5F
TlQpOwpYKyAgICAgICBmLT52X2xlbmd0aCA9IGZwdHM7ClgrICAgICAgIGYt
PnZfY29tcGRhdGEgPSBmZHZlY1tpXTsKWCsgICAgICAgdmVjX25ldyhmKTsK
WCsgICAgICAgdmVjID0gdmVjLT52X2xpbmsyOwpYKyAgICB9ClgrClgrICAg
IGRjID0gKGRvdWJsZSAgKikgdG1hbGxvYyhuZ29vZCAqIHNpemVvZihkb3Vi
bGUpKTsKWCsgICAgZm9yIChpID0gMDsgaTxuZ29vZDsgaSsrKSB7ClgrICAg
ICAgIGRjW2ldID0gMDsKWCsgICAgfQpYKyAgICBmb3IgKGsgPSAxOyBrPHRs
ZW47IGsrKykgewpYKyAgICAgICBkb3VibGUgYW1wID0gd2luW2tdLyh0bGVu
LTEpOwpYKyAgICAgICBmb3IgKGkgPSAwOyBpPG5nb29kOyBpKyspIHsKWCsJ
ICAgICAgZGNbaV0gKz0gdGR2ZWNbaV1ba10qYW1wOwpYKyAgICAgICB9Clgr
ICAgIH0KWCsgICAgY3BfZ2V0dmFyKCJzcGVjdHJhY2UiLCBWVF9CT09MLCAm
dHJhY2UpOwpYKyAgICBmb3IgKGogPSAoc3RhcnRmPT0wID8gMSA6IDApOyBq
PGZwdHM7IGorKykgewpYKyAgICAgICBmcmVxW2pdID0gc3RhcnRmICsgaipz
dGVwZjsKWCsgICAgICAgaWYodHJhY2UpIGZwcmludGYoY3BfZXJyLCAic3Bl
YzogJWUgSHo6IFxyIixmcmVxW2pdKTsKWCsgICAgICAgZm9yIChpID0gMDsg
aTxuZ29vZDsgaSsrKSB7ClgrCSAgICAgIGZkdmVjW2ldW2pdLmN4X3JlYWwg
PSAwOyAKWCsJICAgICAgZmR2ZWNbaV1bal0uY3hfaW1hZyA9IDA7ClgrICAg
ICAgIH0KWCsgICAgICAgZm9yIChrID0gMTsgazx0bGVuOyBrKyspIHsKWCsg
ICAgICAgICAgZG91YmxlClgrCSAgICAgICBhbXAgPSAyKndpbltrXS8odGxl
bi0xKSwKWCsgICAgICAgICAgIHJhZCA9IDIqTV9QSSp0aW1lW2tdKmZyZXFb
al0sClgrCSAgICAgICBjb3NhID0gYW1wKmNvcyhyYWQpLApYKwkgICAgICAg
c2luYSA9IGFtcCpzaW4ocmFkKTsKWCsgICAgICAgICAgZm9yIChpID0gMDsg
aTxuZ29vZDsgaSsrKSB7ClgrICAgICAgICAgICAgIGRvdWJsZSB2YWx1ZSA9
IHRkdmVjW2ldW2tdLWRjW2ldOwpYKwkgICAgICAgICBmZHZlY1tpXVtqXS5j
eF9yZWFsICs9IHZhbHVlKmNvc2E7ClgrCSAgICAgICAgIGZkdmVjW2ldW2pd
LmN4X2ltYWcgKz0gdmFsdWUqc2luYTsKWCsgICAgICAgICAgfQpYKyAgICAg
ICB9ClgrICAgIH0KWCsgICAgaWYgKHN0YXJ0Zj09MCkgewpYKyAgICAgICBm
cmVxWzBdID0gMDsKWCsgICAgICAgZm9yIChpID0gMDsgaTxuZ29vZDsgaSsr
KSB7ClgrCSAgICAgIGZkdmVjW2ldWzBdLmN4X3JlYWwgPSBkY1tpXTsgClgr
CSAgICAgIGZkdmVjW2ldWzBdLmN4X2ltYWcgPSAwOwpYKyAgICAgICB9Clgr
ICAgIH0KWCsgICAgaWYodHJhY2UpIGZwcmludGYoY3BfZXJyLCAiICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXHIiKTsKWCsgICAgdGZyZWUoZGMpOwpY
KyAgICB0ZnJlZSh0ZHZlYyk7ClgrICAgIHRmcmVlKGZkdmVjKTsKWCsKWCsj
aWZkZWYgS0VFUFdJTkRPVwpYKyAgICBmID0gYWxsb2Moc3RydWN0IGR2ZWMp
OwpYKyAgICBaRVJPKGYsIHN0cnVjdCBkdmVjKTsKWCsgICAgZi0+dl9uYW1l
ID0gY29weSgid2luIik7ClgrICAgIGYtPnZfdHlwZSA9IFNWX05PVFlQRTsK
WCsgICAgZi0+dl9mbGFncyA9IChWRl9SRUFMIHwgVkZfUEVSTUFORU5UKTsK
WCsgICAgZi0+dl9sZW5ndGggPSB0bGVuOwpYKyAgICBmLT52X3JlYWxkYXRh
ID0gd2luOwpYKyAgICB2ZWNfbmV3KGYpOwpYKyNlbHNlClgrICAgIHRmcmVl
KHdpbik7ClgrI2VuZGlmClgrCQpYKyAgICByZXR1cm47ClgrfQpYKwpFTkQt
b2Ytc3BpY2UvZmlsZXMvcGF0Y2gtbGV2ZWwyCmVjaG8geCAtIHNwaWNlL2Zp
bGVzL3BhdGNoLXV0aWxfc2tlbGV0b25fbWFrZV9kZWZfYmQKc2VkICdzL15Y
Ly8nID5zcGljZS9maWxlcy9wYXRjaC11dGlsX3NrZWxldG9uX21ha2VfZGVm
X2JkIDw8ICdFTkQtb2Ytc3BpY2UvZmlsZXMvcGF0Y2gtdXRpbF9za2VsZXRv
bl9tYWtlX2RlZl9iZCcKWC0tLSB1dGlsL3NrZWxldG9uL21ha2VfZGVmLmJk
Lm9yaWcJVGh1IEp1bCAyOSAxNjozNToxOCAxOTkzClgrKysgdXRpbC9za2Vs
ZXRvbi9tYWtlX2RlZi5iZAlUaHUgSnVsIDE3IDAwOjQ3OjUxIDIwMDMKWEBA
IC04LDcgKzgsNyBAQApYIFBBVEhfU0VQCT0gLwpYIFBTCQk9IC8KWCBSRVZJ
U0lPTgk9ClgtVkVSU0lPTgkJPSAzZjQKWCtWRVJTSU9OCQk9IDNmNQpYIFZF
UlNJT05fUkVWSVNJT049ICQoVkVSU0lPTikkKFJFVklTSU9OKQpYIE5PVElD
RQkJPQpYIFRPUAkJPSAvcHJvamVjdHMvc3BpY2UzL3NwaWNlJChWRVJTSU9O
KQpFTkQtb2Ytc3BpY2UvZmlsZXMvcGF0Y2gtdXRpbF9za2VsZXRvbl9tYWtl
X2RlZl9iZAplY2hvIHggLSBzcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0
ZV9taXNjY29tc19jCnNlZCAncy9eWC8vJyA+c3BpY2UvZmlsZXMvcGF0Y2gt
c3JjX2xpYl9mdGVfbWlzY2NvbXNfYyA8PCAnRU5ELW9mLXNwaWNlL2ZpbGVz
L3BhdGNoLXNyY19saWJfZnRlX21pc2Njb21zX2MnClgkT3BlbkJTRDogcGF0
Y2gtc3JjX2xpYl9mdGVfbWlzY2NvbXNfYyx2IDEuMSAyMDAzLzA0LzE0IDEw
OjI4OjAzIGF2c20gRXhwICQKWC0tLSBzcmMvbGliL2Z0ZS9taXNjY29tcy5j
Lm9yaWcJTW9uIEFwciAxNCAxMToxOToyNCAyMDAzClgrKysgc3JjL2xpYi9m
dGUvbWlzY2NvbXMuYwlNb24gQXByIDE0IDExOjIxOjAwIDIwMDMKWEBAIC0y
ODYsNyArMjg2LDcgQEAgY29tX3F1aXQod2wpClggICAgICAgICAgICAgZnBy
aW50ZihjcF9vdXQsIApYICAgICAgICAgICAgICAgICAiXG5BcmUgeW91IHN1
cmUgeW91IHdhbnQgdG8gcXVpdCAoeWVzKT8gIik7ClggICAgICAgICAgICAg
KHZvaWQpIGZmbHVzaChjcF9vdXQpOwpYLSAgICAgICAgICAgIGlmICghZmdl
dHMoYnVmLCBCU0laRV9TUCwgc3RkaW4pKSB7ClgrICAgICAgICAgICAgaWYg
KCFmZ2V0cyhidWYsIHNpemVvZiBidWYsIHN0ZGluKSkgewpYICAgICAgICAg
ICAgICAgICBjbGVhcmVycihzdGRpbik7ClggICAgICAgICAgICAgICAgICpi
dWYgPSAneSc7ClggICAgICAgICAgICAgfQpFTkQtb2Ytc3BpY2UvZmlsZXMv
cGF0Y2gtc3JjX2xpYl9mdGVfbWlzY2NvbXNfYwplY2hvIHggLSBzcGljZS9m
aWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9ncmlkX2MKc2VkICdzL15YLy8nID5z
cGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9ncmlkX2MgPDwgJ0VORC1v
Zi1zcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9ncmlkX2MnClgtLS0g
c3JjL2xpYi9mdGUvZ3JpZC5jLm9yaWcJU3VuIEFwciAyNSAxNjo1MzoxMSAx
OTkzClgrKysgc3JjL2xpYi9mdGUvZ3JpZC5jCVRodSBKdWwgMTcgMDA6NDc6
NTEgMjAwMwpYQEAgLTEyMzAsNyArMTIzMCwxMCBAQApYIApYICAgICAvKiBT
ZXRMaW5lc3R5bGUoMSk7IHRha2VzIHRvbyBsb25nICovClggICAgIC8qIFBy
b2JsZW1zIHdpdGggU3VucyBvbiB2ZXJ5IGxhcmdlIHJhZGlpICYmIGxpbmVz
dHlsZSAqLwpYLSAgICBTZXRMaW5lc3R5bGUoMCk7ClgrICAgIC8qIFNldExp
bmVzdHlsZSgwKTsgKi8KWCsgICAgLyogbGluZXN0eWxlIDEgbG9va3MgYmV0
dGVyClgrICAgICAgIEd1ZW50aGVyIFJvZWhyaWNoIDIyLUphbi05OSAqLwpY
KyAgICBTZXRMaW5lc3R5bGUoMSk7ClggClggICAgIC8qIE5vdyBwbG90IGFs
bCB0aGUgYXJjIHNldHMuICBHbyBhcyBoaWdoIGFzIDUgdGltZXMgdGhlIHJh
ZGl1cyB0aGF0ClggICAgICAqIHdpbGwgZml0IG9uIHRoZSBzY3JlZW4uICBU
aGUgYmFzZSBtYWduaXR1ZGUgaXMgb25lIG1vcmUgdGhhbiAKWEBAIC0xNDA5
LDcgKzE0MTIsMTAgQEAKWCAgICAgLyogTGV0J3MgYmUgbGF6eSBhbmQganVz
dCBkcmF3IGV2ZXJ5dGhpbmcgLS0gd2Ugd29uJ3QgZ2V0IGNhbGxlZCB0b28K
WCAgICAgICogbXVjaCBhbmQgdGhlIGNpcmNsZXMgZ2V0IGNsaXBwZWQgYW55
d2F5Li4uClggICAgICAqLwpYLSAgICBTZXRDb2xvcigxOCk7ClgrICAgIC8q
IFNldENvbG9yKDE4KTsgKi8KWCsgICAgLyogZHJhdyBldmVyeXRoaW5nIGlu
IGJsYWNrClgrICAgICAgIEd1ZW50aGVyIFJvZWhyaWNoIDIyLUphbi05OSAq
LwpYKyAgICBTZXRDb2xvcigxKTsKWCAKWCAgICAgY2xpcGFyYygoZG91Ymxl
KSAoY2VudHggKyB4b2Zmc2V0ICsgcmFkb2ZmIC0gcmFkKSwKWCAJICAgIChk
b3VibGUpIChjZW50eSArIHlvZmZzZXQpLCByYWQsIDIqYW5nbGUsClhAQCAt
MTQyNCw3ICsxNDMwLDEwIEBAClggICAgICAgICAgICAgTV9QSSAtIDIgKiBh
bmdsZSwgY2VudHgsIGNlbnR5LCBtYXhyYWQsIDApOwpYIApYICAgICAvKiBE
cmF3IHRoZSB1cHBlciBhbmQgbG93ZXIgY2lyY2xlcy4gICovClgtICAgIFNl
dENvbG9yKDE5KTsKWCsgICAgLyogU2V0Q29sb3IoMTkpOyAqLwpYKyAgICAv
KiBkcmF3IGV2ZXJ5dGhpbmcgaW4gYmxhY2sKWCsgICAgICAgR3VlbnRoZXIg
Um9laHJpY2ggMjItSmFuLTk5ICovClgrICAgIFNldENvbG9yKDEpOwpYICAg
ICBhY2xpcCA9IGNsaXBhcmMoKGRvdWJsZSkgKGNlbnR4ICsgeG9mZnNldCAr
IHJhZG9mZiksClggCSAgICAoZG91YmxlKSAoY2VudHkgKyB5b2Zmc2V0ICsg
aXJhZCksIGlyYWQsClggCSAgICAoZG91YmxlKSAoTV9QSSAqIDEuNSArIDIg
KiBpYW5nbGUpLApYQEAgLTE0NDEsNyArMTQ1MCwxMCBAQApYIAlhZGRkZWds
YWJlbChncmFwaCwgbmRlZywgeGxhYiwgeWxhYiwKWCAJICAgIGdyX3hjZW50
ZXIsIGdyX3ljZW50ZXIsIGdyX3hjZW50ZXIsIGdyX3ljZW50ZXIpOwpYICAq
LwpYLQlTZXRDb2xvcigxOSk7ClgrCS8qIFNldENvbG9yKDE5KTsgKi8KWCsJ
LyogZHJhdyBldmVyeXRoaW5nIGluIGJsYWNrClgrCSAgIEd1ZW50aGVyIFJv
ZWhyaWNoIDIyLUphbi05OSAqLwpYKwlTZXRDb2xvcigxKTsKWCAJfQpYICAg
ICB9ClggICAgIGFjbGlwID0gY2xpcGFyYygoZG91YmxlKSAoY2VudHggKyB4
b2Zmc2V0ICsgcmFkb2ZmKSwKWEBAIC0xNDU1LDcgKzE0NjcsMTAgQEAKWCAJ
U2V0Q29sb3IoMSk7ClggCWFkZGRlZ2xhYmVsKGdyYXBoLCBuZGVnLCB4bGFi
LCB5bGFiLApYIAkgICAgZ3JfeGNlbnRlciwgZ3JfeWNlbnRlciwgZ3JfeGNl
bnRlciwgZ3JfeWNlbnRlcik7ClgtCVNldENvbG9yKDE5KTsKWCsJLyogU2V0
Q29sb3IoMTkpOyAqLwpYKwkvKiBkcmF3IGV2ZXJ5dGhpbmcgaW4gYmxhY2sK
WCsJICAgR3VlbnRoZXIgUm9laHJpY2ggMjItSmFuLTk5ICovClgrCVNldENv
bG9yKDEpOwpYICAgICB9ClggICAgIApYICAgICAvKiBOb3cgdG9zcyB0aGUg
bGFiZWxzIG9uLi4uICovCkVORC1vZi1zcGljZS9maWxlcy9wYXRjaC1zcmNf
bGliX2Z0ZV9ncmlkX2MKZWNobyB4IC0gc3BpY2UvZmlsZXMvcGF0Y2gtc3Jj
X2luY2x1ZGVfbWlzY19oCnNlZCAncy9eWC8vJyA+c3BpY2UvZmlsZXMvcGF0
Y2gtc3JjX2luY2x1ZGVfbWlzY19oIDw8ICdFTkQtb2Ytc3BpY2UvZmlsZXMv
cGF0Y2gtc3JjX2luY2x1ZGVfbWlzY19oJwpYKioqIHNyYy9pbmNsdWRlL21p
c2MuaC5vcmlnCVRodSBEZWMgIDEgMDk6MTc6MDIgMTk5NApYLS0tIHNyYy9p
bmNsdWRlL21pc2MuaAlTdW4gTWFyIDMxIDEyOjMyOjU4IDE5OTYKWCoqKioq
KioqKioqKioqKgpYKioqIDg2LDkyICoqKioKWC0tLSA4Niw5NCAtLS0tClgg
IGV4dGVybiBjaGFyICpyZWFsbG9jKCk7ClggIGV4dGVybiBjaGFyICpnZXRl
bnYoKTsKWCAgZXh0ZXJuIGludCBlcnJubzsKWCsgI2lmbmRlZiBfX0ZyZWVC
U0RfXwpYICBleHRlcm4gY2hhciAqc3lzX2Vycmxpc3RbXTsKWCsgI2VuZGlm
ClggIGV4dGVybiBjaGFyICpnZXRlbnYoKTsKWCAgZXh0ZXJuIGNoYXIgKmdl
dHdkKCk7ClggIGV4dGVybiBpbnQgcmFuZCgpOwpYKioqKioqKioqKioqKioq
ClgqKiogMTExLDEyMiAqKioqClgtLS0gMTExLDEyNCAtLS0tClggICMgICAg
ZW5kaWYgLyogY2xlYXJlcnIgKi8KWCAgIyAgZW5kaWYgLyogSEFTX0NMRUFS
RVJSICovClggIApYKyAjaWZuZGVmIF9fRnJlZUJTRF9fClggICMgIGlmbmRl
ZiBiemVybwpYICBleHRlcm4gaW50IGJ6ZXJvKCk7ClggICMgIGVuZGlmClgg
ICMgIGlmbmRlZiBiY29weQpYICBleHRlcm4gdm9pZCBiY29weSgpOwpYICAj
ICBlbmRpZgpYKyAjZW5kaWYgLyogX19GcmVlQlNEX18gKi8KWCAgClggICMg
IGlmbmRlZiBpbmRleApYICAjICAgIGlmZGVmIEhBU19JTkRFWApFTkQtb2Yt
c3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2luY2x1ZGVfbWlzY19oCmVjaG8geCAt
IHNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX2RldmljZV9jCnNlZCAn
cy9eWC8vJyA+c3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9mdGVfZGV2aWNl
X2MgPDwgJ0VORC1vZi1zcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9k
ZXZpY2VfYycKWC0tLSBzcmMvbGliL2Z0ZS9kZXZpY2UuYy5vcmlnCVRodSBK
dWwgMjkgMjE6MDk6NTkgMTk5MwpYKysrIHNyYy9saWIvZnRlL2RldmljZS5j
CVRodSBKdWwgMTcgMDA6NDc6NTAgMjAwMwpYQEAgLTY2MSw3ICs2NjEsOSBA
QApYICAgICB9ClggClggICAgIGR2ID0gZnRfZXZhbHVhdGUobjItPnBuX3Jp
Z2h0KTsKWC0gICAgZnJlZV9wbm9kZShuYW1lcyk7ClgrICAgIC8qIHByZXZl
bnQgbmFtZXMgZnJvbSBnZXR0aW5nIGZyZWVkIHR3aWNlClgrICAgICAgIEd1
ZW50aGVyIFJvZWhyaWNoIDIyLUphbi05OSAqLwpYKyAgICAvKiBmcmVlX3Bu
b2RlKG5hbWVzKTsgKi8KWCAgICAgaWYgKCFkdikKWCAJcmV0dXJuOwpYICAg
ICBpZiAoZHYtPnZfbGVuZ3RoIDwgMSkgewpFTkQtb2Ytc3BpY2UvZmlsZXMv
cGF0Y2gtc3JjX2xpYl9mdGVfZGV2aWNlX2MKZWNobyB4IC0gc3BpY2UvZmls
ZXMvcGF0Y2gtc3JjX2Jpbl9zY29udmVydF9jCnNlZCAncy9eWC8vJyA+c3Bp
Y2UvZmlsZXMvcGF0Y2gtc3JjX2Jpbl9zY29udmVydF9jIDw8ICdFTkQtb2Yt
c3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2Jpbl9zY29udmVydF9jJwpYLS0tIHNy
Yy9iaW4vc2NvbnZlcnQuYy5vcmlnCU1vbiBTZXAgMTQgMjE6MzA6NDEgMTk5
MgpYKysrIHNyYy9iaW4vc2NvbnZlcnQuYwlUaHUgSnVsIDE3IDAwOjQ3OjUw
IDIwMDMKWEBAIC04MCwxOSArODAsMTkgQEAKWCAKWCAgICAgICAgIGNhc2Ug
MTogcHJpbnRmKCJJbnB1dCBmaWxlOiAiKTsKWCAgICAgICAgICAgICAodm9p
ZCkgZmZsdXNoKHN0ZG91dCk7ClgtICAgICAgICAgICAgKHZvaWQpIGdldHMo
YnVmKTsKWCsgICAgICAgICAgICAodm9pZCkgZmdldHMoYnVmLEJTSVpFX1NQ
LHN0ZGluKTsKWCAgICAgICAgICAgICBzZiA9IGNvcHkoYnVmKTsKWCAgICAg
ICAgICAgICBwcmludGYoIklucHV0IHR5cGU6ICIpOwpYICAgICAgICAgICAg
ICh2b2lkKSBmZmx1c2goc3Rkb3V0KTsKWC0gICAgICAgICAgICAodm9pZCkg
Z2V0cyhidWYpOwpYKyAgICAgICAgICAgICh2b2lkKSBmZ2V0cyhidWYsQlNJ
WkVfU1Asc3RkaW4pOwpYICAgICAgICAgICAgIGYgPSBidWZbMF07ClggICAg
ICAgICAgICAgcHJpbnRmKCJPdXRwdXQgZmlsZTogIik7ClggICAgICAgICAg
ICAgKHZvaWQpIGZmbHVzaChzdGRvdXQpOwpYLSAgICAgICAgICAgICh2b2lk
KSBnZXRzKGJ1Zik7ClgrICAgICAgICAgICAgKHZvaWQpIGZnZXRzKGJ1ZixC
U0laRV9TUCxzdGRpbik7ClggICAgICAgICAgICAgYWYgPSBjb3B5KGJ1Zik7
ClggICAgICAgICAgICAgcHJpbnRmKCJPdXRwdXQgdHlwZTogIik7ClggICAg
ICAgICAgICAgKHZvaWQpIGZmbHVzaChzdGRvdXQpOwpYLSAgICAgICAgICAg
ICh2b2lkKSBnZXRzKGJ1Zik7ClgrICAgICAgICAgICAgKHZvaWQpIGZnZXRz
KGJ1ZixCU0laRV9TUCxzdGRpbik7ClggICAgICAgICAgICAgdCA9IGJ1Zlsw
XTsKWCAgICAgICAgICAgICBicmVhazsKWCAgICAgICAgIGRlZmF1bHQ6CkVO
RC1vZi1zcGljZS9maWxlcy9wYXRjaC1zcmNfYmluX3Njb252ZXJ0X2MKZWNo
byB4IC0gc3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9mdGVfaW5wX2MKc2Vk
ICdzL15YLy8nID5zcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9pbnBf
YyA8PCAnRU5ELW9mLXNwaWNlL2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX2lu
cF9jJwpYLS0tIHNyYy9saWIvZnRlL2lucC5jLm9yaWcJVGh1IEFwciAyOSAx
ODowNjoyOCAxOTkzClgrKysgc3JjL2xpYi9mdGUvaW5wLmMJVGh1IEp1bCAx
NyAwMDo0Nzo1MCAyMDAzClhAQCAtNjY2LDcgKzY2Niw3IEBAClggClggICAg
IGZwcmludGYoY3Bfb3V0LCAicnVuIGNpcmN1aXQ/ICIpOwpYICAgICBmZmx1
c2goY3Bfb3V0KTsKWC0gICAgKHZvaWQpIGdldHMoYnVmKTsKWCsgICAgKHZv
aWQpIGZnZXRzKGJ1ZixCU0laRV9TUCxzdGRpbik7ClggICAgIGlmIChidWZb
MF0gIT0gJ24nKSB7ClggICAgICAgZnByaW50ZihjcF9vdXQsICJydW5uaW5n
IGNpcmN1aXRcbiIpOwpYICAgICAgIGNvbV9ydW4oTlVMTCk7CkVORC1vZi1z
cGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9pbnBfYwplY2hvIHggLSBz
cGljZS9maWxlcy9wYXRjaC11dGlsX2J1aWxkCnNlZCAncy9eWC8vJyA+c3Bp
Y2UvZmlsZXMvcGF0Y2gtdXRpbF9idWlsZCA8PCAnRU5ELW9mLXNwaWNlL2Zp
bGVzL3BhdGNoLXV0aWxfYnVpbGQnClgtLS0gdXRpbC9idWlsZC5vcmlnCVRo
dSBKdWwgMjkgMDM6NDY6MzkgMTk5MwpYKysrIHV0aWwvYnVpbGQJVGh1IEp1
bCAxNyAwMDo0Nzo1MCAyMDAzClhAQCAtOTYsNyArOTYsNyBAQApYIApYIFRN
UF9MRUFERVI9IiR7VE1QX0RJUn0vYnVpbGRsJCQiClggVE1QX1RSQUlMRVI9
IiR7VE1QX0RJUn0vYnVpbGR0JCQiClgtdHJhcCAncm0gLWYgJHtUTVBfTEVB
REVSfSAke1RNUF9UUkFJTEVSfTsgZXhpdCAxJyAxIDIgMyA0IDYgNyA4IDkg
MTAgMTIgMTMgMTQgMTUKWCt0cmFwICdybSAtZiAke1RNUF9MRUFERVJ9ICR7
VE1QX1RSQUlMRVJ9OyBleGl0IDEnIDEgMiAzIDQgNiA3IDggMTAgMTIgMTMg
MTQgMTUKWCBlY2hvID4gIiR7VE1QX1RSQUlMRVJ9IgpYIEJBRD1mYWxzZQpY
IERFQlVHPQpFTkQtb2Ytc3BpY2UvZmlsZXMvcGF0Y2gtdXRpbF9idWlsZApl
Y2hvIHggLSBzcGljZS9maWxlcy9wYXRjaC1zcmNfbGliX2Z0ZV9yZXNvdXJj
ZV9jCnNlZCAncy9eWC8vJyA+c3BpY2UvZmlsZXMvcGF0Y2gtc3JjX2xpYl9m
dGVfcmVzb3VyY2VfYyA8PCAnRU5ELW9mLXNwaWNlL2ZpbGVzL3BhdGNoLXNy
Y19saWJfZnRlX3Jlc291cmNlX2MnClgtLS0gc3JjL2xpYi9mdGUvcmVzb3Vy
Y2UuYy5vcmlnCVdlZCBBcHIgMjggMTc6Mzk6MDMgMTk5MwpYKysrIHNyYy9s
aWIvZnRlL3Jlc291cmNlLmMJVGh1IEp1bCAxNyAwMDo0Nzo1MCAyMDAzClhA
QCAtMzY5LDcgKzM2OSw5IEBAClggCWxvbmcgeDsKWCAJU0lHTkFMX1RZUEUJ
KCpvcmlnX3NpZ25hbCkoICk7ClggClgrI2lmbmRlZiBfX0ZyZWVCU0RfXwpY
IAlpZiAoZ2V0ZW52KCJTUElDRV9OT19EQVRBU0VHX0NIRUNLIikpClgrI2Vu
ZGlmClggCQlyZXR1cm4gMDsKWCAKWCAJbG93ID0gMDsKRU5ELW9mLXNwaWNl
L2ZpbGVzL3BhdGNoLXNyY19saWJfZnRlX3Jlc291cmNlX2MKZWNobyB4IC0g
c3BpY2UvZmlsZXMvcGF0Y2gtcHNtb2RlbApzZWQgJ3MvXlgvLycgPnNwaWNl
L2ZpbGVzL3BhdGNoLXBzbW9kZWwgPDwgJ0VORC1vZi1zcGljZS9maWxlcy9w
YXRjaC1wc21vZGVsJwpYIyAgc3BpY2UzZjQvM2Y1IHBhdGNoIHRvIGFkZCBs
ZXZlbCAyIEpGRVQgbW9kZWwKWCMgIEp1bmUgMjIsIDE5OTQKWCMgIEFudGhv
bnkgUGFya2VyICh0b255cEBtcGNlLm1xLmVkdS5hdSkKWCMgIE1hY3F1YXJp
ZSBVbml2ZXJzaXR5LCBTeWRuZXkgQXVzdHJhbGlhIDIxMDkgClgjClhkaWZm
IC1ydU4gLi4vd29yay5vcmlnL2NvbmYvZGVmYXVsdHMgLi9jb25mL2RlZmF1
bHRzClgtLS0gLi4vd29yay5vcmlnL2NvbmYvZGVmYXVsdHMJVGh1IEp1bCAy
OSAxNjozMzo1NiAxOTkzClgrKysgLi9jb25mL2RlZmF1bHRzCVN1biBNYXkg
MTggMTM6NDY6NDcgMjAwMwpYQEAgLTI0Niw2ICsyNDYsNyBAQApYICMJCWlu
ZDoJaW5kdWN0b3IKWCAjCQlpc3JjOgljdXJyZW50IHNvdXJjZQpYICMJCWpm
ZXQ6CUp1bmN0aW9uIEZFVApYKyMJCWpmZXQyOglQUyBNb2RlbCBKdW5jdGlv
biBGRVQvTUVTRkVUClggIwkJbWVzOglNRVMgRkVUIChHYUFzKQpYICMJCW1v
czE6CU1PUywgc2ltcGxlc3QgYW5hbHl0aWMgbW9kZWwKWCAjCQltb3MyOglN
T1MsIHNpbXBsZXN0ClhAQCAtMjYwLDcgKzI2MSw3IEBAClggIwkJdnNyYzoJ
dm9sdGFnZSBzb3VyY2UKWCAKWCBERVZJQ0VTCQk9IGFzcmMgYmp0IGJzaW0x
IGJzaW0yIGNhcCBjY2NzIGNjdnMgY3N3IGRpbyBpbmQgaXNyYyBcClgtCQkg
IGpmZXQgbHRyYSBtZXMgbW9zMSBtb3MyIG1vczMgbW9zNiByZXMgc3cgdHJh
IHVyYyBcClgrCQkgIGpmZXQgamZldDIgbHRyYSBtZXMgbW9zMSBtb3MyIG1v
czMgbW9zNiByZXMgc3cgdHJhIHVyYyBcClggCQkgIHZjY3MgdmN2cyB2c3Jj
ClggClggIwlBTkFMWVNFUyBsaXN0IHRoZSBhbmFseXNpcyB0eXBlcyB0aGF0
IHlvdSB3YW50IHRvIGhhdmUgYXZhaWxhYmxlIGluClhkaWZmIC1ydU4gLi4v
d29yay5vcmlnL3NyYy9iaW4vY29uZmlnLmMgLi9zcmMvYmluL2NvbmZpZy5j
ClgtLS0gLi4vd29yay5vcmlnL3NyYy9iaW4vY29uZmlnLmMJVGh1IEp1bCAy
OSAxNjozNjo0OSAxOTkzClgrKysgLi9zcmMvYmluL2NvbmZpZy5jCVN1biBN
YXkgMTggMTM6NDY6NDcgMjAwMwpYQEAgLTcxLDYgKzcxLDcgQEAKWCAjaW5j
bHVkZSAibW9zMml0Zi5oIgpYICNpbmNsdWRlICJtb3MzaXRmLmgiClggI2lu
Y2x1ZGUgImpmZXRpdGYuaCIKWCsjaW5jbHVkZSAiamZldDJpdGYuaCIKWCAj
aW5jbHVkZSAibWVzaXRmLmgiClggI2luY2x1ZGUgImx0cmFpdGYuaCIKWCAj
aW5jbHVkZSAidHJhaXRmLmgiClhAQCAtMTAzLDYgKzEwNCw3IEBAClggI2lu
Y2x1ZGUgIm1vczIvbW9zMml0Zi5oIgpYICNpbmNsdWRlICJtb3MzL21vczNp
dGYuaCIKWCAjaW5jbHVkZSAiamZldC9qZmV0aXRmLmgiClgrI2luY2x1ZGUg
ImpmZXQyL2pmZXQyaXRmLmgiClggI2luY2x1ZGUgIm1lcy9tZXNpdGYuaCIK
WCAjaW5jbHVkZSAibHRyYS9sdHJhaXRmLmgiClggI2luY2x1ZGUgInRyYS90
cmFpdGYuaCIKWEBAIC0yMDcsNiArMjA5LDkgQEAKWCAjZW5kaWYKWCAjaWZk
ZWYgREVWX2pmZXQKWCAgICAgICAgICZKRkVUaW5mbywKWCsjZW5kaWYKWCsj
aWZkZWYgREVWX2pmZXQyClgrICAgICAgICAmSkZFVDJpbmZvLApYICNlbmRp
ZgpYICNpZmRlZiBERVZfbHRyYQpYICAgICAgICAgJkxUUkFpbmZvLApYZGlm
ZiAtcnVOIC4uL3dvcmsub3JpZy9zcmMvbGliL2Rldi9qZmV0Mi9qZmV0Mi5j
IC4vc3JjL2xpYi9kZXYvamZldDIvamZldDIuYwpYLS0tIC4uL3dvcmsub3Jp
Zy9zcmMvbGliL2Rldi9qZmV0Mi9qZmV0Mi5jCVdlZCBEZWMgMzEgMTk6MDA6
MDAgMTk2OQpYKysrIC4vc3JjL2xpYi9kZXYvamZldDIvamZldDIuYwlUdWUg
SnVuIDIxIDE0OjM0OjM0IDE5OTQKWEBAIC0wLDAgKzEsNzYgQEAKWCsvKioq
KioqKioqKgpYK0Jhc2VkIG9uIGpmZXQuYyAKWCtDb3B5cmlnaHQgMTk5MCBS
ZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgpYK0F1dGhvcjogMTk4NSBUaG9tYXMgTC4gUXVh
cmxlcwpYKwpYK01vZGlmaWVkIHRvIGFkZCBQUyBtb2RlbCBhbmQgbmV3IHBh
cmFtZXRlciBkZWZpbml0aW9ucyAoIEFudGhvbnkgRS4gUGFya2VyICkKWCsg
ICBDb3B5cmlnaHQgMTk5NCAgTWFjcXVhcmllIFVuaXZlcnNpdHksIFN5ZG5l
eSBBdXN0cmFsaWEuClgrICAgMTAgRmViIDE5OTQ6ICBQYXJhbWV0ZXIgZGVm
aW5pdGlvbnMgY2FsbGVkIGZyb20gamZldHBhcm0uaApYKyAgICAgICAgICAg
ICAgICAgRXh0cmEgc3RhdGUgdmVjdG9ycyBhZGRlZCB0byBKRkVUMnBUYWJs
ZQpYKyoqKioqKioqKiovClgrClgrI2luY2x1ZGUgInNwaWNlLmgiClgrI2lu
Y2x1ZGUgPHN0ZGlvLmg+ClgrI2luY2x1ZGUgImlmc2ltLmgiClgrI2luY2x1
ZGUgImRldmRlZnMuaCIKWCsjaW5jbHVkZSAiamZldDJkZWZzLmgiClgrI2lu
Y2x1ZGUgInN1ZmZpeC5oIgpYKwpYK0lGcGFybSBKRkVUMnBUYWJsZVtdID0g
eyAvKiBkZXZpY2UgcGFyYW1ldGVycyAqLyAKWCsgSU9QVSgib2ZmIiwgICAg
ICAgICBKRkVUMl9PRkYsICAgICAgICAgICAgSUZfRkxBRywgICAiRGV2aWNl
IGluaXRpYWxseSBvZmYiKSwKWCsgSU9QQVUoImljIiwgICAgICAgICBKRkVU
Ml9JQywgICAgICAgICAgICAgSUZfUkVBTFZFQywiSW5pdGlhbCBWRFMsVkdT
IHZlY3RvciIpLApYKyBJT1BVKCJhcmVhIiwgICAgICAgIEpGRVQyX0FSRUEs
ICAgICAgICAgICBJRl9SRUFMLCAgICJBcmVhIGZhY3RvciIpLApYKyBJT1BB
VSgiaWMtdmRzIiwgICAgIEpGRVQyX0lDX1ZEUywgICAgICAgICBJRl9SRUFM
LCAgICJJbml0aWFsIEQtUyB2b2x0YWdlIiksClgrIElPUEFVKCJpYy12Z3Mi
LCAgICAgSkZFVDJfSUNfVkdTLCAgICAgICAgIElGX1JFQUwsICAgIkluaXRp
YWwgRy1TIHZvbHJhZ2UiKSwKWCsgSU9QVSgidGVtcCIsICAgICAgICBKRkVU
Ml9URU1QLCAgICAgICAgICAgSUZfUkVBTCwgICAiSW5zdGFuY2UgdGVtcGVy
YXR1cmUiKSwKWCsgT1BVKCJkcmFpbi1ub2RlIiwgICBKRkVUMl9EUkFJTk5P
REUsICAgICAgSUZfSU5URUdFUiwiTnVtYmVyIG9mIGRyYWluIG5vZGUiKSwK
WCsgT1BVKCJnYXRlLW5vZGUiLCAgICBKRkVUMl9HQVRFTk9ERSwgICAgICAg
SUZfSU5URUdFUiwiTnVtYmVyIG9mIGdhdGUgbm9kZSIpLApYKyBPUFUoInNv
dXJjZS1ub2RlIiwgIEpGRVQyX1NPVVJDRU5PREUsICAgICBJRl9JTlRFR0VS
LCJOdW1iZXIgb2Ygc291cmNlIG5vZGUiKSwKWCsgT1BVKCJkcmFpbi1wcmlt
ZS1ub2RlIiwgSkZFVDJfRFJBSU5QUklNRU5PREUsIElGX0lOVEVHRVIsIklu
dGVybmFsIGRyYWluIG5vZGUiKSwKWCsgT1BVKCJzb3VyY2UtcHJpbWUtbm9k
ZSIsSkZFVDJfU09VUkNFUFJJTUVOT0RFLElGX0lOVEVHRVIsIkludGVybmFs
IHNvdXJjZSBub2RlIiksClgrIE9QKCJ2Z3MiLCAgIEpGRVQyX1ZHUywgIElG
X1JFQUwsICJWb2x0YWdlIEctUyIpLApYKyBPUCgidmdkIiwgICBKRkVUMl9W
R0QsICBJRl9SRUFMLCAiVm9sdGFnZSBHLUQiKSwKWCsgT1AoImlnIiwgICAg
SkZFVDJfQ0csICAgSUZfUkVBTCwgIkN1cnJlbnQgYXQgZ2F0ZSBub2RlIiks
ClgrIE9QKCJpZCIsICAgIEpGRVQyX0NELCAgIElGX1JFQUwsICJDdXJyZW50
IGF0IGRyYWluIG5vZGUiKSwKWCsgT1AoImlzIiwgICAgSkZFVDJfQ1MsICAg
SUZfUkVBTCwgIlNvdXJjZSBjdXJyZW50IiksClgrIE9QKCJpZ2QiLCAgIEpG
RVQyX0NHRCwgIElGX1JFQUwsICJDdXJyZW50IEctRCIpLApYKyBPUCgiZ20i
LCAgICBKRkVUMl9HTSwgICBJRl9SRUFMLCAiVHJhbnNjb25kdWN0YW5jZSIp
LApYKyBPUCgiZ2RzIiwgICBKRkVUMl9HRFMsICBJRl9SRUFMLCAiQ29uZHVj
dGFuY2UgRC1TIiksClgrIE9QKCJnZ3MiLCAgIEpGRVQyX0dHUywgIElGX1JF
QUwsICJDb25kdWN0YW5jZSBHLVMiKSwKWCsgT1AoImdnZCIsICAgSkZFVDJf
R0dELCAgSUZfUkVBTCwgIkNvbmR1Y3RhbmNlIEctRCIpLApYKyBPUFUoInFn
cyIsICBKRkVUMl9RR1MsICBJRl9SRUFMLCAiQ2hhcmdlIHN0b3JhZ2UgRy1T
IGp1bmN0aW9uIiksClgrIE9QVSgicWdkIiwgIEpGRVQyX1FHRCwgIElGX1JF
QUwsICJDaGFyZ2Ugc3RvcmFnZSBHLUQganVuY3Rpb24iKSwKWCsgT1BVKCJj
cWdzIiwgSkZFVDJfQ1FHUywgSUZfUkVBTCwgIkNhcGFjaXRhbmNlIGR1ZSB0
byBjaGFyZ2Ugc3RvcmFnZSBHLVMganVuY3Rpb24iKSwKWCsgT1BVKCJjcWdk
IiwgSkZFVDJfQ1FHRCwgSUZfUkVBTCwgIkNhcGFjaXRhbmNlIGR1ZSB0byBj
aGFyZ2Ugc3RvcmFnZSBHLUQganVuY3Rpb24iKSwKWCsgT1BVKCJwIiwgICAg
SkZFVDJfUE9XRVIsSUZfUkVBTCwgIlBvd2VyIGRpc3NpcGF0ZWQgYnkgdGhl
IEpGRVQyIiksClgrIE9QVSgidnRyYXAiLEpGRVQyX1ZUUkFQLElGX1JFQUws
ICJRdWllc2NlbnQgZHJhaW4gZmVlZGJhY2sgcG90ZW50aWFsIiksClgrIE9Q
VSgidnBhdmUiLEpGRVQyX1BBVkUsIElGX1JFQUwsICJRdWllc2NlbnQgcG93
ZXIgZGlzc2lwYXRpb24iKSwKWCt9OwpYKwpYK0lGcGFybSBKRkVUMm1QVGFi
bGVbXSA9IHsgLyogbW9kZWwgcGFyYW1ldGVycyAqLwpYKyBPUCgidHlwZSIs
ICAgICBKRkVUMl9NT0RfVFlQRSwgICAgSUZfU1RSSU5HLCAiTi10eXBlIG9y
IFAtdHlwZSBKRkVUMiBtb2RlbCIpLApYKyBJT1AoIm5qZiIsICAgICBKRkVU
Ml9NT0RfTkpGLCAgICAgSUZfRkxBRywiTiB0eXBlIEpGRVQyIG1vZGVsIiks
ClgrIElPUCgicGpmIiwgICAgIEpGRVQyX01PRF9QSkYsICAgICBJRl9GTEFH
LCJQIHR5cGUgSkZFVDIgbW9kZWwiKSwKWCsgSU9QUigidnQwIiwgICAgSkZF
VDJfTU9EX1ZUTywgICAgIElGX1JFQUwsIlRocmVzaG9sZCB2b2x0YWdlIiks
ClgrIElPUFIoInZiaSIsICAgIEpGRVQyX01PRF9QQiwgICAgICBJRl9SRUFM
LCJHYXRlIGp1bmN0aW9uIHBvdGVudGlhbCIpLApYKyNkZWZpbmUgIFBBUkFN
KGNvZGUsaWQsZmxhZyxyZWYsZGVmYXVsdCxkZXNjcmlwKSBJT1AoY29kZSxp
ZCxJRl9SRUFMLGRlc2NyaXApLApYKyNkZWZpbmUgUEFSQU1BKGNvZGUsaWQs
ZmxhZyxyZWYsZGVmYXVsdCxkZXNjcmlwKSBJT1BBKGNvZGUsaWQsSUZfUkVB
TCxkZXNjcmlwKSwKWCsjaW5jbHVkZSAiamZldDJwYXJtLmgiClgrClgrIE9Q
VSgiZ2QiLCBKRkVUMl9NT0RfRFJBSU5DT05EVUNULCBJRl9SRUFMLCJEcmFp
biBjb25kdWN0YW5jZSIpLApYKyBPUFUoImdzIiwgSkZFVDJfTU9EX1NPVVJD
RUNPTkRVQ1QsSUZfUkVBTCwiU291cmNlIGNvbmR1Y3RhbmNlIiksClgrIElP
UFUoInRub20iLCAgIEpGRVQyX01PRF9UTk9NLCAgICBJRl9SRUFMLCJwYXJh
bWV0ZXIgbWVhc3VyZW1lbnQgdGVtcGVyYXR1cmUiKSwKWCt9OwpYKwpYKwpY
K2NoYXIgKkpGRVQybmFtZXNbXSA9IHsKWCsgICAgIkRyYWluIiwKWCsgICAg
IkdhdGUiLApYKyAgICAiU291cmNlIgpYK307ClgrClgraW50CUpGRVQyblNp
emUgPSBOVU1FTEVNUyhKRkVUMm5hbWVzKTsKWCtpbnQJSkZFVDJwVFNpemUg
PSBOVU1FTEVNUyhKRkVUMnBUYWJsZSk7ClgraW50CUpGRVQybVBUU2l6ZSA9
IE5VTUVMRU1TKEpGRVQybVBUYWJsZSk7ClgraW50CUpGRVQyaVNpemUgPSBz
aXplb2YoSkZFVDJpbnN0YW5jZSk7ClgraW50CUpGRVQybVNpemUgPSBzaXpl
b2YoSkZFVDJtb2RlbCk7ClhkaWZmIC1ydU4gLi4vd29yay5vcmlnL3NyYy9s
aWIvZGV2L2pmZXQyL2pmZXQyYWNsZC5jIC4vc3JjL2xpYi9kZXYvamZldDIv
amZldDJhY2xkLmMKWC0tLSAuLi93b3JrLm9yaWcvc3JjL2xpYi9kZXYvamZl
dDIvamZldDJhY2xkLmMJV2VkIERlYyAzMSAxOTowMDowMCAxOTY5ClgrKysg
Li9zcmMvbGliL2Rldi9qZmV0Mi9qZmV0MmFjbGQuYwlUdWUgSnVuIDI4IDA4
OjQ3OjQyIDE5OTQKWEBAIC0wLDAgKzEsOTEgQEAKWCsvKioqKioqKioqKgpY
K0Jhc2VkIG9uIGpmZXRhY2xkLmMKWCtDb3B5cmlnaHQgMTk5MCBSZWdlbnRz
IG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgpYK0F1dGhvcjogMTk4NSBUaG9tYXMgTC4gUXVhcmxlcwpY
KwpYK01vZGlmaWVkIHRvIGFkZCBQUyBtb2RlbCBhbmQgbmV3IHBhcmFtZXRl
ciBkZWZpbml0aW9ucyAoIEFudGhvbnkgRS4gUGFya2VyICkKWCsgICBDb3B5
cmlnaHQgMTk5NCAgTWFjcXVhcmllIFVuaXZlcnNpdHksIFN5ZG5leSBBdXN0
cmFsaWEuClgrICAgMTAgRmViIDE5OTQ6ICBOZXcgY2FsbCB0byBQU2FjbG9h
ZCgpIHdpdGggbWF0cml4IGxvYWRpbmcKWCsqKioqKioqKioqLwpYKwpYKyNp
bmNsdWRlICJzcGljZS5oIgpYKyNpbmNsdWRlIDxzdGRpby5oPgpYKyNpbmNs
dWRlICJ1dGlsLmgiClgrI2luY2x1ZGUgImNrdGRlZnMuaCIKWCsjaW5jbHVk
ZSAiamZldDJkZWZzLmgiClgrI2luY2x1ZGUgInNwZXJyb3IuaCIKWCsjaW5j
bHVkZSAicHNtb2RlbC5oIgpYKyNpbmNsdWRlICJzdWZmaXguaCIKWCsKWCtp
bnQKWCtKRkVUMmFjTG9hZChpbk1vZGVsLGNrdCkKWCsgICAgR0VObW9kZWwg
KmluTW9kZWw7ClgrICAgIHJlZ2lzdGVyIENLVGNpcmN1aXQgKmNrdDsKWCt7
ClgrICAgIHJlZ2lzdGVyIEpGRVQybW9kZWwgKm1vZGVsID0gKEpGRVQybW9k
ZWwqKWluTW9kZWw7ClgrICAgIHJlZ2lzdGVyIEpGRVQyaW5zdGFuY2UgKmhl
cmU7ClgrICAgIGRvdWJsZSBnZHByOwpYKyAgICBkb3VibGUgZ3NwcjsKWCsg
ICAgZG91YmxlIGdtOwpYKyAgICBkb3VibGUgZ2RzOwpYKyAgICBkb3VibGUg
Z2dzOwpYKyAgICBkb3VibGUgeGdzOwpYKyAgICBkb3VibGUgZ2dkOwpYKyAg
ICBkb3VibGUgeGdkOwpYKyAgICBkb3VibGUgeGdtLCB4Z2RzLCB2Z2QsIHZn
cywgY2Q7ClgrClgrICAgIGZvciggOyBtb2RlbCAhPSBOVUxMOyBtb2RlbCA9
IG1vZGVsLT5KRkVUMm5leHRNb2RlbCApIHsKWCsgICAgICAgIApYKyAgICAg
ICAgZm9yKCBoZXJlID0gbW9kZWwtPkpGRVQyaW5zdGFuY2VzOyBoZXJlICE9
IE5VTEw7IApYKyAgICAgICAgICAgICAgICBoZXJlID0gaGVyZS0+SkZFVDJu
ZXh0SW5zdGFuY2UpIHsKWCsKWCsKWCsgICAgICAgICAgICBnZHByPW1vZGVs
LT5KRkVUMmRyYWluQ29uZHVjdCAqIGhlcmUtPkpGRVQyYXJlYTsKWCsgICAg
ICAgICAgICBnc3ByPW1vZGVsLT5KRkVUMnNvdXJjZUNvbmR1Y3QgKiBoZXJl
LT5KRkVUMmFyZWE7ClgrICAgICAgICAgICAgZ209ICooY2t0LT5DS1RzdGF0
ZTAgKyBoZXJlLT5KRkVUMmdtKSA7ClgrICAgICAgICAgICAgZ2RzPSAqKGNr
dC0+Q0tUc3RhdGUwICsgaGVyZS0+SkZFVDJnZHMpIDsKWCsgICAgICAgICAg
ICBnZ3M9ICooY2t0LT5DS1RzdGF0ZTAgKyBoZXJlLT5KRkVUMmdncykgOwpY
KyAgICAgICAgICAgIHhncz0gKihja3QtPkNLVHN0YXRlMCArIGhlcmUtPkpG
RVQycWdzKSAqIGNrdC0+Q0tUb21lZ2EgOwpYKyAgICAgICAgICAgIGdnZD0g
Kihja3QtPkNLVHN0YXRlMCArIGhlcmUtPkpGRVQyZ2dkKSA7ClgrICAgICAg
ICAgICAgeGdkPSAqKGNrdC0+Q0tUc3RhdGUwICsgaGVyZS0+SkZFVDJxZ2Qp
ICogY2t0LT5DS1RvbWVnYSA7ClgrClgrICAgICAgICAgICAgdmdzID0gKihj
a3QtPkNLVHN0YXRlMCArIGhlcmUtPkpGRVQydmdzKTsKWCsgICAgICAgICAg
ICB2Z2QgPSAqKGNrdC0+Q0tUc3RhdGUwICsgaGVyZS0+SkZFVDJ2Z2QpOwpY
KyAgICAgICAgICAgIGNkID0gKihja3QtPkNLVHN0YXRlMCArIGhlcmUtPkpG
RVQyY2QpOwpYKyAgICAgICAgICAgIFBTYWNsb2FkKGNrdCxtb2RlbCwgaGVy
ZSwgdmdzLCB2Z2QsIGNkLCBja3QtPkNLVG9tZWdhLApYKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdtLCAmeGdtLCAmZ2RzLCAm
eGdkcyk7ClgrICAgICAgICAgICAgeGdkcyArPSAqKGNrdC0+Q0tUc3RhdGUw
ICsgaGVyZS0+SkZFVDJxZHMpICogY2t0LT5DS1RvbWVnYSA7ClgrICAgICAg
ICAgICAgKihoZXJlLT5KRkVUMmRyYWluUHJpbWVEcmFpblByaW1lUHRyICsx
KSAgICs9IHhnZHM7ClgrICAgICAgICAgICAgKihoZXJlLT5KRkVUMnNvdXJj
ZVByaW1lU291cmNlUHJpbWVQdHIgKzEpICs9IHhnZHMreGdtOwpYKyAgICAg
ICAgICAgICooaGVyZS0+SkZFVDJkcmFpblByaW1lR2F0ZVB0ciArMSkgICAg
ICAgICArPSAgICAgIHhnbTsKWCsgICAgICAgICAgICAqKGhlcmUtPkpGRVQy
ZHJhaW5QcmltZVNvdXJjZVByaW1lUHRyICsxKSAgLT0geGdkcyt4Z207Clgr
ICAgICAgICAgICAgKihoZXJlLT5KRkVUMnNvdXJjZVByaW1lR2F0ZVB0ciAr
MSkgI
Comment 1 Sergey A. Osokin freebsd_committer freebsd_triage 2003-07-18 11:47:26 UTC
Responsible Changed
From-To: freebsd-ports-bugs->maho

Over to maintainer.
Comment 2 Maho Nakata freebsd_committer freebsd_triage 2003-07-19 04:14:22 UTC
State Changed
From-To: open->closed

Committed, thanks!