[Mono-list] solaris.cs

laurent rioux smoux91@yahoo.fr
Thu, 22 Nov 2001 11:33:24 +0100 (CET)


--0-952874366-1006425204=:56813
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

hello,

I'm currently porting mono on solaris/Sun (mainly the
interpreter). here, my first file: "solaris.cs".

The aim of this file is to obtain a specific
"corlib.dll" file for solaris. 

Is somebody can update "corlib.build" to build a
"corlib.dll" for solaris ? 

thanks,

   smoux

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Courrier : http://courrier.yahoo.fr
--0-952874366-1006425204=:56813
Content-Type: application/octet-stream; name="Solaris.cs"
Content-Transfer-Encoding: base64
Content-Description: Solaris.cs
Content-Disposition: attachment; filename="Solaris.cs"

LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQpDUkVBVEVEOiBOb3Zl
bWJlcgkyMCwgMjAwMQ0KT1dORVI6IHNtb3V4IDxzbW91eDkxQHlhaG9vLmZy
Pg0KVkVSU0lPTjogMS4wDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0K
CSAgICANCnVzaW5nIFN5c3RlbTsNCnVzaW5nIFN5c3RlbS5SdW50aW1lLklu
dGVyb3BTZXJ2aWNlczsNCnVzaW5nIFN5c3RlbS5UZXh0Ow0KdXNpbmcgU3lz
dGVtLklPOw0KdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zOw0KDQpuYW1lc3Bh
Y2UgU3lzdGVtLlBBTA0Kew0KCS8vLyA8c3VtbWFyeT4NCgkvLy8JQ2xhc3Mg
dGhhdCBpbXBsZW1lbnRzIElPcGVyYXRpbmdTeXN0ZW0sCXByb3ZpZGluZyB0
aGUgcmVxdWVzdGVkCWZ1bmN0aW9uYWxpdHkgdGhyb3VnaCBjYWxscyBpbnRv
IEFQSXMgYXZhaWxhYmxlCWluIFNvbGFyaXMNCgkvLy8gPC9zdW1tYXJ5Pg0K
CWludGVybmFsIGNsYXNzIE9wU3lzDQoJew0KCQlwcml2YXRlIEhhc2h0YWJs
ZSBfZW52aXJvbm1lbnQgPSBudWxsOw0KDQoJCS8vLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KCQkvLwkgICAgICAgQ2xhc3MgQ29uc3Rh
bnRzDQoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
CQlwcml2YXRlCWNvbnN0IGludCBFT0YgPQktMTsgLy8gVE9ETzogU29sYXJp
czogSXMgdGhpcyB0cnVlPw0KCQ0KDQoJCS8vIEZvciBTdGRJbnB1dFN0cmVh
bSBhbmQgU3RkT3V0cHV0U3RyZWFtDQoJCXByaXZhdGUgY29uc3QgaW50IFNU
RElOICAgICAgICAgPSAweDAwMDAwMDAwOwkvLyBUT0RPOiBTb2xhcmlzOiBJ
cyB0aGlzIHRydWU/DQoJCXByaXZhdGUgY29uc3QgaW50IFNURE9VVCAgICAg
ICAgPSAweDAwMDAwMDAxOwkvLyBUT0RPOiBTb2xhcmlzOiBJcyB0aGlzIHRy
dWU/DQoJCXByaXZhdGUgY29uc3QgaW50IFNUREVSUiAgICAgICAgPSAweDAw
MDAwMDAyOwkvLyBUT0RPOiBTb2xhcmlzOiBJcyB0aGlzIHRydWU/CQ0KDQoN
CgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJCS8v
CQlDbGFzcyBGaWVsZHMNCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQoNCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQoJCS8vCQlDbGFzcyBDb25zdHJ1Y3Rvcg0KCQkvLy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkJcHVibGljIE9wU3lzKCkN
CgkJew0KCQl9DQoNCg0KCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkJLy8JCUVudmlyb25tZW50IFNl
cnZpY2VzIA0KCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCg0KCQlwdWJsaWMgc3RyaW5nIE5ld0xpbmVT
ZXF1ZW5jZQ0KCQl7DQoJCQlnZXQNCgkJCXsNCgkJCQlyZXR1cm4gIlxuIjsN
CgkJCX0NCgkJfQ0KDQoJCXB1YmxpYyBjaGFyIERpcmVjdG9yeVNlcGFyYXRv
cg0KCQl7DQoJCQlnZXQNCgkJCXsNCgkJCQlyZXR1cm4gJy8nOw0KCQkJfQ0K
CQl9DQoNCgkJcHVibGljIGNoYXIgQWx0RGlyZWN0b3J5U2VwYXJhdG9yDQoJ
CXsNCgkJCWdldA0KCQkJew0KCQkJCXJldHVybiAnXFwnOw0KCQkJfQ0KCQl9
DQoNCgkJcHVibGljIGNoYXIgVm9sdW1lU2VwYXJhdG9yDQoJCXsNCgkJCWdl
dA0KCQkJew0KCQkJCXJldHVybiAnLyc7DQoJCQl9DQoJCX0NCg0KCQlwdWJs
aWMgY2hhciBQYXRoU2VwYXJhdG9yDQoJCXsNCgkJCWdldA0KCQkJew0KCQkJ
CXJldHVybiAnOic7DQoJCQl9DQoJCX0NCg0KCQlwdWJsaWMgY2hhcltdIElu
dmFsaWRQYXRoQ2hhcnMNCgkJew0KCQkJZ2V0DQoJCQl7DQoJCQkJcmV0dXJu
IG5ldyBjaGFyW10geyAnLycsICdcMCcgfTsNCgkJCX0NCgkJfQ0KDQoJCXB1
YmxpYyBjaGFyW10gRGlyVm9sU2VwYXJhdG9yQ2hhcnMNCgkJew0KCQkJZ2V0
DQoJCQl7DQoJCQkJcmV0dXJuIG5ldyBjaGFyW10geyB0aGlzLkRpcmVjdG9y
eVNlcGFyYXRvciwgdGhpcy5BbHREaXJlY3RvcnlTZXBhcmF0b3IsIHRoaXMu
Vm9sdW1lU2VwYXJhdG9yfTsNCgkJCX0NCgkJfQ0KCQlwdWJsaWMgY2hhciBF
eHRlbnNpb25DaGFyYWN0ZXINCgkJew0KCQkJZ2V0DQoJCQl7DQoJCQkJcmV0
dXJuICcuJzsNCgkJCX0NCgkJfQ0KDQoJCXB1YmxpYyBzdHJpbmcgR2V0RW52
aXJvbm1lbnRWYXJpYWJsZShzdHJpbmcgZVZhcikNCgkJew0KCQkJcmV0dXJu
IEVudmlyb25tZW50VmFyaWFibGVzW2VWYXJdLlRvU3RyaW5nKCk7DQoJCX0N
Cg0KCQlwdWJsaWMgSURpY3Rpb25hcnkgRW52aXJvbm1lbnRWYXJpYWJsZXMN
CgkJew0KCQkJZ2V0DQoJCQl7DQoJCQkJaWYgKF9lbnZpcm9ubWVudCA9PSBu
dWxsKSB7DQoJCQkJCUludFB0ciBwcCA9IF9nZXRFbnZpcm9uKCk7IC8vIHBv
aW50ZXIgdG8JYW4gYXJyYXkgb2YgY2hhcioNCgkJCQkJX2Vudmlyb25tZW50
ID0gbmV3IEhhc2h0YWJsZSgpOw0KCQkJDQoJCQkJCWlmIChwcCAhPSBJbnRQ
dHIuWmVybykgew0KCQkJCQkJSW50UHRyIHA7DQoJCQkJCQlib29sIGRvbmUg
PSBmYWxzZTsNCgkJCQkJCWNoYXJbXSBkZWxpbWl0ZXIgPSB7ICc9JyB9Ow0K
CQkJCQ0KCQkJCQkJd2hpbGUgKCFkb25lKSANCgkJCQkJCXsNCgkJCQkJCQlw
ID0gTWFyc2hhbC5SZWFkSW50UHRyKHBwKTsNCgkJCQkJCQlpZiAocCAhPSBJ
bnRQdHIuWmVybykgDQoJCQkJCQkJew0KCQkJCQkJCQlzdHJpbmcgc3RyID0g
TWFyc2hhbC5QdHJUb1N0cmluZ0F1dG8ocCk7DQoJCQkJCQkJCXN0cmluZ1td
IGFyID0gc3RyLlNwbGl0KGRlbGltaXRlciwgMik7DQoJCQkJCQkJCXN3aXRj
aChhci5MZW5ndGgpIA0KCQkJCQkJCQl7DQoJCQkJCQkJCQljYXNlIDE6DQoJ
CQkJCQkJCQkJX2Vudmlyb25tZW50LkFkZChhclswXSwgIiIpOw0KCQkJCQkJ
CQkJCWJyZWFrOw0KCQkJCQkJCQkJY2FzZSAyOg0KCQkJCQkJCQkJCV9lbnZp
cm9ubWVudC5BZGQoYXJbMF0sIGFyWzFdKTsNCgkJCQkJCQkJCQlicmVhazsN
CgkJCQkJCQkJCWRlZmF1bHQ6DQoJCQkJCQkJCQkJU3lzdGVtLkRpYWdub3N0
aWNzLkRlYnVnLkFzc2VydChmYWxzZSk7CS8vIHRoaXMJc2hvdWxkbid0IGhh
cHBlbg0KCQkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQl9DQoJCQkJCQkJfSAN
CgkJCQkJCQllbHNlIA0KCQkJCQkJCXsNCgkJCQkJCQkJZG9uZSA9IHRydWU7
DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9IA0KCQkJCX0JCQkNCgkJCQly
ZXR1cm4gX2Vudmlyb25tZW50Ow0KCQkJfQ0KCQl9DQoNCgkJcHVibGljIHN0
cmluZyBDb21tYW5kTGluZQ0KCQl7DQoJCQlnZXQNCgkJCXsNCgkJCQlyZXR1
cm4gbnVsbDsNCgkJCX0NCgkJfQ0KDQoJCXB1YmxpYyBzdHJpbmcgTWFjaGlu
ZU5hbWUNCgkJew0KCQkJZ2V0DQoJCQl7DQoJCQkJcmV0dXJuIEdldEVudmly
b25tZW50VmFyaWFibGUoIkhPU1ROQU1FIik7DQoJCQl9DQoJCX0NCg0KCQlw
dWJsaWMgT3BlcmF0aW5nU3lzdGVtIE9TVmVyc2lvbg0KCQl7DQoJCQlnZXQN
CgkJCXsNCgkJCQlyZXR1cm4gbnVsbDsNCgkJCX0NCgkJfQ0KDQoJCS8vIFN5
c3RlbS5QYXRoIHNlcnZpY2VzDQoNCgkJcHVibGljIHN0cmluZyBDaGFuZ2VF
eHRlbnNpb24oc3RyaW5nIHBhdGgsIHN0cmluZyBleHRlbnNpb24pDQoJCXsN
CgkJCVN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFy
aXM6Q2hhbmdlRXh0ZW5zaW9uKFN5c3RlbS5TdHJpbmcsIFN5c3RlbS5TdHJp
bmcpOiBTdHViIE1ldGhvZCIpOw0KCQkJcmV0dXJuIG51bGw7DQoJCX0NCg0K
CQlwdWJsaWMgc3RyaW5nIEdldEV4dGVuc2lvbihzdHJpbmcgcGF0aCkNCgkJ
ew0KCQkJU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnLldyaXRlTGluZSgiU29s
YXJpczpHZXRFeHRlbnNpb24oU3lzdGVtLlN0cmluZyk6IFN0dWIgTWV0aG9k
Iik7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJCXB1YmxpYyBzdHJpbmcg
R2V0RmlsZU5hbWUoc3RyaW5nIHBhdGgpDQoJCXsNCgkJCVN5c3RlbS5EaWFn
bm9zdGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6R2V0RmlsZU5hbWUo
U3lzdGVtLlN0cmluZyk6IFN0dWIgTWV0aG9kIik7DQoJCQlyZXR1cm4gbnVs
bDsNCgkJfQ0KCQ0KCQlwdWJsaWMgc3RyaW5nIEdldEZpbGVOYW1lV2l0aG91
dEV4dGVuc2lvbihzdHJpbmcgcGF0aCkNCgkJew0KCQkJU3lzdGVtLkRpYWdu
b3N0aWNzLkRlYnVnLldyaXRlTGluZSgiU29sYXJpczpHZXRGaWxlTmFtZVdp
dGhvdXRFeHRlbnNpb24oU3lzdGVtLlN0cmluZyk6IFN0dWIgTWV0aG9kIik7
DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJCXB1YmxpYyBzdHJpbmcgR2V0
RnVsbFBhdGgoc3RyaW5nIHBhdGgpDQoJCXsNCgkJCVN5c3RlbS5EaWFnbm9z
dGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6R2V0RnVsbFBhdGgoU3lz
dGVtLlN0cmluZyk6IFN0dWIgTWV0aG9kIik7DQoJCQlyZXR1cm4gbnVsbDsN
CgkJfQ0KDQoJCXB1YmxpYyBzdHJpbmcgR2V0UGF0aFJvb3Qoc3RyaW5nIHBh
dGgpDQoJCXsNCgkJCVN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Zy5Xcml0ZUxp
bmUoIlNvbGFyaXM6R2V0UGF0aFJvb3QoU3lzdGVtLlN0cmluZyk6IFN0dWIg
TWV0aG9kIik7DQoJCQlyZXR1cm4gbnVsbDsNCg0KCQl9DQoJDQoJCXB1Ymxp
YyBzdHJpbmcgR2V0VGVtcEZpbGVOYW1lKCkNCgkJew0KCQkJU3lzdGVtLkRp
YWdub3N0aWNzLkRlYnVnLldyaXRlTGluZSgiU29sYXJpczpHZXRUZW1wRmls
ZU5hbWUoKTogU3R1YiBNZXRob2QiKTsNCgkJCXJldHVybiBudWxsOw0KCQl9
DQoJDQoJCXB1YmxpYyBzdHJpbmcgR2V0VGVtcFBhdGgoKQ0KCQl7DQoJCQlT
eXN0ZW0uRGlhZ25vc3RpY3MuRGVidWcuV3JpdGVMaW5lKCJTb2xhcmlzOkdl
dFRlbXBQYXRoKCk6IFN0dWIgTWV0aG9kIik7DQoJCQlyZXR1cm4gbnVsbDsN
CgkJfQ0KDQoJCXB1YmxpYyBib29sIEhhc0V4dGVuc2lvbihzdHJpbmcJcGF0
aCkNCgkJew0KCQkJU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnLldyaXRlTGlu
ZSgiU29sYXJpczpIYXNFeHRlbnNpb24oU3lzdGVtLlN0cmluZyk6IFN0dWIg
TWV0aG9kIik7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQlwdWJsaWMg
Ym9vbCBJc1BhdGhSb290ZWQoc3RyaW5nCXBhdGgpDQoJCXsNCgkJCVN5c3Rl
bS5EaWFnbm9zdGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6SXNQYXRo
Um9vdGVkKFN5c3RlbS5TdHJpbmcpOiBTdHViIE1ldGhvZCIpOw0KCQkJcmV0
dXJuIGZhbHNlOw0KCQl9DQoNCg0KDQoJCS8vIFN5c3RlbS5EaXJlY3Rvcnkg
c2VydmljZXMNCg0KCQlwdWJsaWMgdm9pZCBEZWxldGVEaXJlY3Rvcnkoc3Ry
aW5nIHBhdGgsIGJvb2wgcmVjdXJzaXZlKQ0KCQl7DQoJCQlTeXN0ZW0uRGlh
Z25vc3RpY3MuRGVidWcuV3JpdGVMaW5lKCJTb2xhcmlzOkRlbGV0ZURpcmVj
dG9yeShTeXN0ZW0uU3RyaW5nLCBTeXN0ZW0uQm9vbGVhbik6IFN0dWIgTWV0
aG9kIik7DQoJCX0NCg0KCQlwdWJsaWMgYm9vbCBFeGlzdHNEaXJlY3Rvcnko
c3RyaW5nIHBhdGgpDQoJCXsNCgkJCVN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1
Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6RXhpc3RzRGlyZWN0b3J5KFN5c3RlbS5T
dHJpbmcpOiBTdHViIE1ldGhvZCIpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9
DQoNCgkJcHVibGljIERhdGVUaW1lCUdldENyZWF0aW9uVGltZURpcmVjdG9y
eShzdHJpbmcJcGF0aCkNCgkJew0KCQkJU3lzdGVtLkRpYWdub3N0aWNzLkRl
YnVnLldyaXRlTGluZSgiU29sYXJpczpHZXRDcmVhdGlvblRpbWVEaXJlY3Rv
cnkoU3lzdGVtLlN0cmluZyk6IFN0dWIJTWV0aG9kIik7DQoJCQlyZXR1cm4g
bmV3IERhdGVUaW1lKDApOw0KCQl9DQoNCgkJcHVibGljIHN0cmluZyBHZXRD
dXJyZW50RGlyZWN0b3J5KCkNCgkJew0KCQkJU3lzdGVtLkRpYWdub3N0aWNz
LkRlYnVnLldyaXRlTGluZSgiU29sYXJpczpHZXRDdXJyZW50RGlyZWN0b3J5
KCk6IFN0dWIgTWV0aG9kIik7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJ
CXB1YmxpYyBzdHJpbmdbXQlHZXREaXJlY3RvcmllcyhzdHJpbmcgcGF0aCwg
c3RyaW5nIHNlYXJjaFBhdHRlcm4pDQoJCXsNCgkJCVN5c3RlbS5EaWFnbm9z
dGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6R2V0RGlyZWN0b3JpZXMo
U3lzdGVtLlN0cmluZyxTeXN0ZW0uU3RyaW5nKTogU3R1YiBNZXRob2QiKTsN
CgkJCXJldHVybiBudWxsOw0KCQl9DQoNCgkJcHVibGljIHN0cmluZ1tdCUdl
dEZpbGVzKHN0cmluZwlwYXRoLCBzdHJpbmcgc2VhcmNoUGF0dGVybikNCgkJ
ew0KCQkJU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnLldyaXRlTGluZSgiU29s
YXJpczpHZXRGaWxlcyhTeXN0ZW0uU3RyaW5nLCBTeXN0ZW0uU3RyaW5nKTog
U3R1YiBNZXRob2QiKTsNCgkJCXJldHVybiBudWxsOw0KCQl9DQoNCgkJcHVi
bGljIHN0cmluZ1tdCUdldEZpbGVTeXN0ZW1FbnRyaWVzKHN0cmluZyBwYXRo
LCBzdHJpbmcgc2VhcmNoUGF0dGVybikNCgkJew0KCQkJU3lzdGVtLkRpYWdu
b3N0aWNzLkRlYnVnLldyaXRlTGluZSgiU29sYXJpczpHZXRGaWxlU3lzdGVt
RW50cmllcyhTeXN0ZW0uU3RyaW5nLCBTeXN0ZW0uU3RyaW5nKTogU3R1YiBN
ZXRob2QiKTsNCgkJCXJldHVybiBudWxsOw0KCQl9DQoNCgkJcHVibGljIERh
dGVUaW1lCUdldExhc3RBY2Nlc3NUaW1lRGlyZWN0b3J5KHN0cmluZyBwYXRo
KQ0KCQl7DQoJCQlTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWcuV3JpdGVMaW5l
KCJTb2xhcmlzOkdldExhc3RBY2Nlc3NUaW1lRGlyZWN0b3J5KFN5c3RlbS5T
dHJpbmcpOiBTdHViIE1ldGhvZCIpOw0KCQkJcmV0dXJuIG5ldyBEYXRlVGlt
ZSgwKTsNCgkJfQ0KDQoJCXB1YmxpYyBEYXRlVGltZQlHZXRMYXN0V3JpdGVU
aW1lRGlyZWN0b3J5KHN0cmluZyBwYXRoKQ0KCQl7DQoJCQlTeXN0ZW0uRGlh
Z25vc3RpY3MuRGVidWcuV3JpdGVMaW5lKCJTb2xhcmlzOkdldExhc3RXcml0
ZVRpbWVEaXJlY3RvcnkoU3lzdGVtLlN0cmluZyk6IFN0dWIgTWV0aG9kIik7
DQoJCQlyZXR1cm4gbmV3IERhdGVUaW1lKDApOw0KCQl9DQoNCgkJcHVibGlj
IHZvaWQgTW92ZURpcmVjdG9yeShzdHJpbmcgc291cmNlRGlyTmFtZSwJc3Ry
aW5nIGRlc3REaXJOYW1lKQ0KCQl7DQoJCQlTeXN0ZW0uRGlhZ25vc3RpY3Mu
RGVidWcuV3JpdGVMaW5lKCJTb2xhcmlzOk1vdmVEaXJlY3RvcnkoU3lzdGVt
LlN0cmluZywgU3lzdGVtLlN0cmluZyk6IFN0dWIgTWV0aG9kIik7DQoJCX0N
Cg0KCQlwdWJsaWMgdm9pZCBTZXRDcmVhdGlvblRpbWVEaXJlY3Rvcnkoc3Ry
aW5nIHBhdGgsIERhdGVUaW1lIGNyZWF0aW9uVGltZSkNCgkJew0KCQkJU3lz
dGVtLkRpYWdub3N0aWNzLkRlYnVnLldyaXRlTGluZSgiU29sYXJpczpTZXRD
cmVhdGlvblRpbWVEaXJlY3RvcnkoU3lzdGVtLlN0cmluZywgU3lzdGVtLkRh
dGVUaW1lKTogU3R1YiBNZXRob2QiKTsNCgkJfQ0KDQoJCXB1YmxpYyB2b2lk
IFNldEN1cnJlbnREaXJlY3Rvcnkoc3RyaW5nIHBhdGgpDQoJCXsNCgkJCVN5
c3RlbS5EaWFnbm9zdGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6U2V0
Q3VycmVudERpcmVjdG9yeShTeXN0ZW0uU3RyaW5nKTogU3R1YiBNZXRob2Qi
KTsNCgkJfQ0KDQoJCXB1YmxpYyB2b2lkIFNldExhc3RBY2Nlc3NUaW1lRGly
ZWN0b3J5KHN0cmluZyBwYXRoLCBEYXRlVGltZSBsYXN0QWNjZXNzVGltZSkN
CgkJew0KCQkJU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnLldyaXRlTGluZSgi
U29sYXJpczpTZXRMYXN0QWNjZXNzVGltZURpcmVjdG9yeShTeXN0ZW0uU3Ry
aW5nLCBTeXN0ZW0uRGF0ZVRpbWUpOiBTdHViIE1ldGhvZCIpOw0KCQl9DQoN
CgkJcHVibGljIHZvaWQgU2V0TGFzdFdyaXRlVGltZURpcmVjdG9yeShzdHJp
bmcgcGF0aCwgRGF0ZVRpbWUgbGFzdFdyaXRlVGltZSkNCgkJew0KCQkJU3lz
dGVtLkRpYWdub3N0aWNzLkRlYnVnLldyaXRlTGluZSgiU29sYXJpczpTZXRM
YXN0V3JpdGVUaW1lRGlyZWN0b3J5KFN5c3RlbS5TdHJpbmcsIFN5c3RlbS5E
YXRlVGltZSk6IFN0dWIgTWV0aG9kIik7DQoJCX0NCg0KCQkvLy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJCS8vCQlJL08gU2Vydmlj
ZXMNCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
DQoJCS8vIEZvciBTdGRJbnB1dFN0cmVhbQ0KCQlwdWJsaWMgaW50IFJlYWRT
dGRJbnB1dChieXRlW10gYnVmZmVyLCBpbnQgb2Zmc2V0LCBpbnQgY291bnQp
DQoJCXsNCgkJCXJldHVybiBSZWFkRmlsZShuZXcgSW50UHRyKFNURElOKSwg
YnVmZmVyLCBvZmZzZXQsIGNvdW50KTsNCgkJfQ0KDQoJCS8vIEZvciBTdGRP
dXRwdXRTdHJlYW0NCgkJcHVibGljIHZvaWQgRmx1c2hTdGRPdXRwdXQoYnl0
ZVtdIGJ5dGVCdWYpDQoJCXsNCgkJCUZsdXNoRmlsZShuZXcgSW50UHRyKFNU
RE9VVCksIGJ5dGVCdWYpOw0KCQl9DQoNCgkJcHVibGljIHVuc2FmZSBpbnQg
UmVhZEZpbGUoSW50UHRyIGhhbmRsZSwgYnl0ZVtdIGJ1ZmZlciwgaW50IG9m
ZnNldCwgaW50IGNvdW50KQ0KCQl7DQoJCQlpbnQgcmVzOw0KDQoJCQlmaXhl
ZCAodm9pZCAqcCA9ICZidWZmZXIgW29mZnNldF0pIHsNCgkJCQlyZXMgPSBf
cmVhZChoYW5kbGUsIHAsIGNvdW50KTsNCgkJCX0NCgkJCQ0KCQkJcmV0dXJu
IHJlczsNCgkJfQ0KDQoJCXB1YmxpYyB1bnNhZmUgaW50IFdyaXRlRmlsZShJ
bnRQdHIgaGFuZGxlLCBieXRlW10gYnVmZmVyLCBpbnQgb2Zmc2V0LCBpbnQg
Y291bnQpDQoJCXsNCgkJCWludCByZXM7DQoNCgkJCWZpeGVkICh2b2lkICpw
ID0gJmJ1ZmZlciBbb2Zmc2V0XSkgew0KCQkJCXJlcyA9IF93cml0ZShoYW5k
bGUsIHAsIGNvdW50KTsNCgkJCX0NCg0KCQkJcmV0dXJuIHJlczsNCgkJfQ0K
DQoJCXB1YmxpYyBpbnQgU2V0TGVuZ3RoRmlsZShJbnRQdHIgaGFuZGxlLCBs
b25nIGxlbmd0aCkNCgkJew0KCQkJcmV0dXJuIF9mdHJ1bmNhdGUgKGhhbmRs
ZSwgKGludClsZW5ndGgpOw0KCQl9DQoNCgkJcHVibGljIHZvaWQgRmx1c2hG
aWxlKEludFB0ciBoYW5kbGUsIGJ5dGVbXSBieXRlQnVmKQ0KCQl7DQoJCQlX
cml0ZUZpbGUoaGFuZGxlLCBieXRlQnVmLCAwLCBieXRlQnVmLkxlbmd0aCk7
DQoJCX0NCg0KCQlwdWJsaWMgSW50UHRyIE9wZW5GaWxlKHN0cmluZyBwYXRo
LCBGaWxlTW9kZSBtb2RlLCBGaWxlQWNjZXNzIGFjY2VzcywgRmlsZVNoYXJl
CXNoYXJlKQ0KCQl7DQoJCQlpbnQgZmxhZ3MgPSBfZ2V0VW5peEZsYWdzICht
b2RlLCBhY2Nlc3MpOw0KDQoJCQlyZXR1cm4gX29wZW4gKHBhdGgsIGZsYWdz
LCAweDFhNCk7DQoJCX0NCgkgICAgDQoJCXB1YmxpYyB2b2lkIENsb3NlRmls
ZShJbnRQdHIgaGFuZGxlKQ0KCQl7DQoJCQlfY2xvc2UgKGhhbmRsZSk7DQoJ
CX0NCgkNCgkJcHVibGljIGxvbmcgU2Vla0ZpbGUoSW50UHRyIGhhbmRsZSwg
bG9uZyBvZmZzZXQsIFNlZWtPcmlnaW4gb3JpZ2luKQ0KCQl7DQoJCQlzd2l0
Y2ggKG9yaWdpbikgew0KCQkJCWNhc2UgU2Vla09yaWdpbi5FbmQ6DQoJCQkJ
CXJldHVybiBfbHNlZWsgKGhhbmRsZSwgKGludClvZmZzZXQsIFNFRUtfRU5E
KTsNCgkJCQljYXNlIFNlZWtPcmlnaW4uQ3VycmVudDoNCgkJCQkJcmV0dXJu
IF9sc2VlayAoaGFuZGxlLCAoaW50KW9mZnNldCwgU0VFS19DVVIpOw0KCQkJ
CWRlZmF1bHQ6DQoJCQkJCXJldHVybiBfbHNlZWsgKGhhbmRsZSwgKGludClv
ZmZzZXQsIFNFRUtfU0VUKTsNCgkJCX0NCgkJCQ0KCQl9DQoJDQoJCXB1Ymxp
YyBJbnRQdHIgQ3JlYXRlRmlsZShzdHJpbmcJcGF0aCwgRmlsZU1vZGUgbW9k
ZSwgRmlsZUFjY2VzcwlhY2Nlc3MsCUZpbGVTaGFyZSBzaGFyZSkNCgkJew0K
CQkJcmV0dXJuIE9wZW5GaWxlKHBhdGgsIEZpbGVNb2RlLkNyZWF0ZU5ldywg
YWNjZXNzLCBzaGFyZSk7DQoJCX0NCgkNCgkJcHVibGljIHZvaWQgRGVsZXRl
RmlsZShzdHJpbmcgcGF0aCkNCgkJew0KCQkJX3VubGluayhwYXRoKTsNCgkJ
fQ0KCQ0KCQlwdWJsaWMgYm9vbCBFeGlzdHNGaWxlKHN0cmluZyBwYXRoKQ0K
CQl7DQoJCQlTeXN0ZW0uRGlhZ25vc3RpY3MuRGVidWcuV3JpdGVMaW5lKCJT
b2xhcmlzOkV4aXN0c0ZpbGUoU3lzdGVtLlN0cmluZyk6IFN0dWIgTWV0aG9k
Iik7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkNCgkJcHVibGljIERhdGVU
aW1lCUdldENyZWF0aW9uVGltZUZpbGUoc3RyaW5nIHBhdGgpDQoJCXsNCgkJ
CVN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6
R2V0Q3JlYXRpb25UaW1lRmlsZShTeXN0ZW0uU3RyaW5nKTogU3R1YiBNZXRo
b2QiKTsNCgkJCXJldHVybiBuZXcgRGF0ZVRpbWUoMCk7DQoJCX0NCgkNCgkJ
cHVibGljIERhdGVUaW1lCUdldExhc3RBY2Nlc3NUaW1lRmlsZShzdHJpbmcg
cGF0aCkNCgkJew0KCQkJU3lzdGVtLkRpYWdub3N0aWNzLkRlYnVnLldyaXRl
TGluZSgiU29sYXJpczpHZXRMYXN0QWNjZXNzVGltZUZpbGUoU3lzdGVtLlN0
cmluZyk6CVN0dWIgTWV0aG9kIik7DQoJCQlyZXR1cm4gbmV3IERhdGVUaW1l
KDApOw0KCQl9DQoJDQoJCXB1YmxpYyBEYXRlVGltZQlHZXRMYXN0V3JpdGVU
aW1lRmlsZShzdHJpbmcgcGF0aCkNCgkJew0KCQkJU3lzdGVtLkRpYWdub3N0
aWNzLkRlYnVnLldyaXRlTGluZSgiU29sYXJpczpHZXRMYXN0V3JpdGVGaWxl
KFN5c3RlbS5TdHJpbmcpOiBTdHViCU1ldGhvZCIpOw0KCQkJcmV0dXJuIG5l
dyBEYXRlVGltZSgwKTsNCgkJfQ0KCQ0KCQlwdWJsaWMgdm9pZCBTZXRDcmVh
dGlvblRpbWVGaWxlKHN0cmluZyBwYXRoLCBEYXRlVGltZSBjcmVhdGlvblRp
bWUpDQoJCXsNCgkJCVN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Zy5Xcml0ZUxp
bmUoIlNvbGFyaXM6U2V0Q3JlYXRpb25UaW1lRmlsZShTeXN0ZW0uU3RyaW5n
LCBTeXN0ZW0uRGF0ZVRpbWUpOiBTdHViIE1ldGhvZCIpOw0KCQl9DQoJDQoJ
CXB1YmxpYyB2b2lkIFNldExhc3RBY2Nlc3NUaW1lRmlsZShzdHJpbmcgcGF0
aCwgRGF0ZVRpbWUJbGFzdEFjY2Vzc1RpbWUpDQoJCXsNCgkJCVN5c3RlbS5E
aWFnbm9zdGljcy5EZWJ1Zy5Xcml0ZUxpbmUoIlNvbGFyaXM6U2V0TGFzdEFj
Y2Vzc1RpbWVGaWxlKFN5c3RlbS5TdHJpbmcsIFN5c3RlbS5EYXRlVGltZSk6
IFN0dWIgTWV0aG9kIik7DQoJCX0NCgkNCgkJcHVibGljIHZvaWQgU2V0TGFz
dFdyaXRlVGltZUZpbGUoc3RyaW5nCXBhdGgsIERhdGVUaW1lIGxhc3RXcml0
ZVRpbWUpDQoJCXsNCgkJCVN5c3RlbS5EaWFnbm9zdGljcy5EZWJ1Zy5Xcml0
ZUxpbmUoIlNvbGFyaXM6U2V0Q0xhc3RXcml0ZVRpbWVGaWxlKFN5c3RlbS5T
dHJpbmcsIFN5c3RlbS5EYXRlVGltZSk6IFN0dWIgTWV0aG9kIik7DQoJCX0N
Cg0KDQoJCXB1YmxpYyBsb25nIEZpbGVMZW5ndGgoc3RyaW5nIHBhdGgpDQoJ
CXsNCgkJCXJldHVybiAwOw0KCQl9DQoNCgkJcHVibGljIGxvbmcgRmlsZUxl
bmd0aChJbnRQdHIgaGFuZGxlKQ0KCQl7DQoJCQlyZXR1cm4gMDsNCgkJfQ0K
DQoJCS8vIFByaXZhdGUgaW1wbGVtZW50YXRpb24gZGV0YWlscw0KCQlbRGxs
SW1wb3J0KCJtb25vd3JhcHBlciIsIEVudHJ5UG9pbnQ9Im1vbm9fd3JhcHBl
cl9lbnZpcm9uIiwgQ2hhclNldD1DaGFyU2V0LkFuc2kpXQ0KCQlwcml2YXRl
IHVuc2FmZSBzdGF0aWMgZXh0ZXJuIEludFB0ciBfZ2V0RW52aXJvbigpOw0K
DQoJCVtEbGxJbXBvcnQoImxpYmMiLCBFbnRyeVBvaW50PSJnZXRwaWQiKV0N
CgkJcHJpdmF0ZSB1bnNhZmUgc3RhdGljIGV4dGVybiBpbnQgX2dldFBpZCgp
Ow0KDQoJCVtEbGxJbXBvcnQoImxpYmMiLCBFbnRyeVBvaW50PSJyZWFkIiwg
Q2hhclNldD1DaGFyU2V0LkFuc2kpXQ0KCQlwcml2YXRlIHVuc2FmZSBzdGF0
aWMgZXh0ZXJuIGludCBfcmVhZChJbnRQdHIgZmQsIHZvaWQgKiBidWYsIGlu
dCBjb3VudCk7DQoNCgkJW0RsbEltcG9ydCgibGliYyIsIEVudHJ5UG9pbnQ9
IndyaXRlIiwgQ2hhclNldD1DaGFyU2V0LkFuc2kpXQ0KCQlwcml2YXRlIHVu
c2FmZSBzdGF0aWMgZXh0ZXJuIGludCBfd3JpdGUoSW50UHRyIGZkLCB2b2lk
ICogYnVmLCBpbnQgY291bnQpOw0KDQoJCVtEbGxJbXBvcnQoImxpYmMiLCBF
bnRyeVBvaW50PSJmdHJ1bmNhdGUiLCBDaGFyU2V0PUNoYXJTZXQuQW5zaSld
DQoJCXByaXZhdGUgdW5zYWZlIHN0YXRpYyBleHRlcm4gaW50IF9mdHJ1bmNh
dGUoSW50UHRyIGZkLCBpbnQgY291bnQpOw0KDQoJCVtEbGxJbXBvcnQoImxp
YmMiLCBFbnRyeVBvaW50PSJsc2VlayIsIENoYXJTZXQ9Q2hhclNldC5BbnNp
KV0NCgkJcHJpdmF0ZSB1bnNhZmUgc3RhdGljIGV4dGVybiBpbnQgX2xzZWVr
KEludFB0ciBmZCwgaW50IG9mZnNldCwgaW50IHdoZW5jZSk7DQoNCgkJW0Rs
bEltcG9ydCgibGliYyIsIEVudHJ5UG9pbnQ9ImZmbHVzaCIsIENoYXJTZXQ9
Q2hhclNldC5BbnNpKV0NCgkJcHJpdmF0ZSB1bnNhZmUgc3RhdGljIGV4dGVy
biBpbnQgX2ZmbHVzaChJbnRQdHIgZmQpOw0KDQoJCVtEbGxJbXBvcnQoImxp
YmMiLCBFbnRyeVBvaW50PSJjbG9zZSIsIENoYXJTZXQ9Q2hhclNldC5BbnNp
KV0NCgkJcHJpdmF0ZSB1bnNhZmUgc3RhdGljIGV4dGVybiBpbnQgX2Nsb3Nl
KEludFB0ciBmZCk7DQoNCgkJW0RsbEltcG9ydCgibGliYyIsIEVudHJ5UG9p
bnQ9Im9wZW4iLCBDaGFyU2V0PUNoYXJTZXQuQW5zaSldDQoJCXByaXZhdGUg
dW5zYWZlIHN0YXRpYyBleHRlcm4gSW50UHRyIF9vcGVuKHN0cmluZyBwYXRo
LCBpbnQgZmxhZ3MsIGludCBtb2RlKTsNCg0KCQlbRGxsSW1wb3J0KCJsaWJj
IiwgRW50cnlQb2ludD0idW5saW5rIiwgQ2hhclNldD1DaGFyU2V0LkFuc2kp
XQ0KCQlwcml2YXRlIHVuc2FmZSBzdGF0aWMgZXh0ZXJuIGludCBfdW5saW5r
KHN0cmluZyBwYXRoKTsNCg0KCQlwcml2YXRlIGNvbnN0IGludCBPX1JET05M
WSAgICAgICAgICAgICA9IDB4MDAwMDAwMDA7DQoJCXByaXZhdGUgY29uc3Qg
aW50IE9fV1JPTkxZICAgICAgICAgICAgID0gMHgwMDAwMDAwMTsNCgkJcHJp
dmF0ZSBjb25zdCBpbnQgT19SRFdSICAgICAgICAgICAgICAgPSAweDAwMDAw
MDAyOw0KCQlwcml2YXRlIGNvbnN0IGludCBPX0NSRUFUICAgICAgICAgICAg
ICA9IDB4MDAwMDAxMDA7DQoJCXByaXZhdGUgY29uc3QgaW50IE9fRVhDTCAg
ICAgICAgICAgICAgID0gMHgwMDAwMDQwMDsNCgkJcHJpdmF0ZSBjb25zdCBp
bnQgT19UUlVOQyAgICAgICAgICAgICAgPSAweDAwMDAwMjAwOw0KCQlwcml2
YXRlIGNvbnN0IGludCBPX0FQUEVORCAgICAgICAgICAgICA9IDB4MDAwMDAw
MDg7DQoJCQ0KCQlwcml2YXRlIGNvbnN0IGludCBTRUVLX1NFVCAgICAgICAg
ICAgICA9IDA7DQoJCXByaXZhdGUgY29uc3QgaW50IFNFRUtfQ1VSICAgICAg
ICAgICAgID0gMTsNCgkJcHJpdmF0ZSBjb25zdCBpbnQgU0VFS19FTkQgICAg
ICAgICAgICAgPSAyOw0KDQoJCXByaXZhdGUgaW50IF9nZXRVbml4RmxhZ3Mg
KEZpbGVNb2RlIG1vZGUsIEZpbGVBY2Nlc3MgYWNjZXNzKQ0KCQl7DQoJCQlp
bnQgZmxhZ3MgPSAwOw0KCQkJc3dpdGNoIChhY2Nlc3MpIHsNCgkJCQljYXNl
IEZpbGVBY2Nlc3MuUmVhZDoNCgkJCQkJZmxhZ3MgPSBPX1JET05MWTsNCgkJ
CQkJYnJlYWs7DQoJCQkJY2FzZSBGaWxlQWNjZXNzLldyaXRlOg0KCQkJCQlm
bGFncyA9IE9fV1JPTkxZOw0KCQkJCQlicmVhazsNCgkJCQljYXNlIEZpbGVB
Y2Nlc3MuUmVhZFdyaXRlOg0KCQkJCQlmbGFncyA9IE9fUkRXUjsNCgkJCQkJ
YnJlYWs7DQoJCQl9DQoNCgkJCXN3aXRjaCAobW9kZSkgew0KCQkJCWNhc2Ug
RmlsZU1vZGUuQXBwZW5kOg0KCQkJCQlmbGFncyB8PSBPX0FQUEVORDsNCgkJ
CQkJYnJlYWs7DQoJCQkJY2FzZSBGaWxlTW9kZS5DcmVhdGU6DQoJCQkJCWZs
YWdzIHw9IE9fQ1JFQVQ7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgRmlsZU1v
ZGUuQ3JlYXRlTmV3Og0KCQkJCQlmbGFncyB8PSBPX0NSRUFUIHwgT19FWENM
Ow0KCQkJCQlicmVhazsNCgkJCQljYXNlIEZpbGVNb2RlLk9wZW46DQoJCQkJ
CWJyZWFrOw0KCQkJCWNhc2UgRmlsZU1vZGUuT3Blbk9yQ3JlYXRlOg0KCQkJ
CQlmbGFncyB8PSBPX0NSRUFUOw0KCQkJCQlicmVhazsNCgkJCQljYXNlIEZp
bGVNb2RlLlRydW5jYXRlOg0KCQkJCQlmbGFncyB8PSBPX1RSVU5DOw0KCQkJ
CQlicmVhazsNCgkJCX0NCg0KCQkJcmV0dXJuIGZsYWdzOw0KCQl9DQoNCgkJ
WyBEbGxJbXBvcnQoImxpYm0iLCBFbnRyeVBvaW50PSJhY29zIikgXQ0KCQlw
dWJsaWMgZXh0ZXJuIHN0YXRpYyBkb3VibGUgQWNvcyhkb3VibGUgZCk7DQoN
CgkJWyBEbGxJbXBvcnQoImxpYm0iLCBFbnRyeVBvaW50PSJhc2luIikgXQ0K
CQlwdWJsaWMgZXh0ZXJuIHN0YXRpYyBkb3VibGUgQXNpbihkb3VibGUgZCk7
DQoNCgkJWyBEbGxJbXBvcnQoImxpYm0iLCBFbnRyeVBvaW50PSJhdGFuIikg
XQ0KCQlwdWJsaWMgZXh0ZXJuIHN0YXRpYyBkb3VibGUgQXRhbihkb3VibGUg
ZCk7DQoNCgkJWyBEbGxJbXBvcnQoImxpYm0iLCBFbnRyeVBvaW50PSJhdGFu
MiIpIF0NCgkJcHVibGljIGV4dGVybiBzdGF0aWMgZG91YmxlIEF0YW4yKGRv
dWJsZSB5LCBkb3VibGUgeCk7DQoNCgkJWyBEbGxJbXBvcnQoImxpYm0iLCBF
bnRyeVBvaW50PSJjb3MiKSBdDQoJCXB1YmxpYyBleHRlcm4gc3RhdGljIGRv
dWJsZSBDb3MoZG91YmxlIGQpOw0KDQoJCVsgRGxsSW1wb3J0KCJsaWJtIiwg
RW50cnlQb2ludD0iY29zaCIpIF0NCgkJcHVibGljIGV4dGVybiBzdGF0aWMg
ZG91YmxlIENvc2goZG91YmxlIGQpOw0KDQoJCVsgRGxsSW1wb3J0KCJsaWJt
IiwgRW50cnlQb2ludD0iZXhwIikgXQ0KCQlwdWJsaWMgZXh0ZXJuIHN0YXRp
YyBkb3VibGUgRXhwKGRvdWJsZSBkKTsNCg0KCQlbIERsbEltcG9ydCgibGli
bSIsIEVudHJ5UG9pbnQ9ImxvZyIpIF0NCgkJcHVibGljIGV4dGVybiBzdGF0
aWMgZG91YmxlIExvZyhkb3VibGUgZCk7DQoNCgkJWyBEbGxJbXBvcnQoImxp
Ym0iLCBFbnRyeVBvaW50PSJsb2cxMCIpIF0NCgkJcHVibGljIGV4dGVybiBz
dGF0aWMgZG91YmxlIExvZzEwKGRvdWJsZSBkKTsNCg0KCQlbIERsbEltcG9y
dCgibGlibSIsIEVudHJ5UG9pbnQ9InBvdyIpIF0NCgkJcHVibGljIGV4dGVy
biBzdGF0aWMgZG91YmxlIFBvdyhkb3VibGUgeCwgZG91YmxlIHkpOw0KDQoJ
CVsgRGxsSW1wb3J0KCJsaWJtIiwgRW50cnlQb2ludD0ic2luIikgXQ0KCQlw
dWJsaWMgZXh0ZXJuIHN0YXRpYyBkb3VibGUgU2luKGRvdWJsZSBkKTsNCg0K
CQlbIERsbEltcG9ydCgibGlibSIsIEVudHJ5UG9pbnQ9InNpbmgiKSBdDQoJ
CXB1YmxpYyBleHRlcm4gc3RhdGljIGRvdWJsZSBTaW5oKGRvdWJsZSBkKTsN
Cg0KCQlbIERsbEltcG9ydCgibGlibSIsIEVudHJ5UG9pbnQ9InNxcnQiKSBd
DQoJCXB1YmxpYyBleHRlcm4gc3RhdGljIGRvdWJsZSBTcXJ0KGRvdWJsZSBk
KTsNCg0KCQlbIERsbEltcG9ydCgibGlibSIsIEVudHJ5UG9pbnQ9InRhbiIp
IF0NCgkJcHVibGljIGV4dGVybiBzdGF0aWMgZG91YmxlIFRhbihkb3VibGUg
ZCk7DQoNCgkJWyBEbGxJbXBvcnQoImxpYm0iLCBFbnRyeVBvaW50PSJ0YW5o
IikgXQ0KCQlwdWJsaWMgZXh0ZXJuIHN0YXRpYyBkb3VibGUgVGFuaChkb3Vi
bGUgZCk7DQoNCg0KCX0NCn0NCg==

--0-952874366-1006425204=:56813--