www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/12/28/18:56:52

Date: Mon, 27 Dec 1999 11:37:48 +0530 (IST)
From: "Vani R." <vani AT accord-soft DOT com>
X-Sender: vani AT vani
To: djgpp AT delorie DOT com
Subject: Regarding C++ grammer
Message-ID: <Pine.LNX.3.96.991227112531.333G-500000@vani>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com

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

---1463803903-1439073610-946274868=:333
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hello,
	Some days back, I had submitted one problem regarding C++ grammer
stating that I am not able to parse simple C++ code. I am sure that
because of lack of resources to find the problem no one got back to me. I
am attaching the required files along with the makefile. If you need to
know the behaviour of the parser just make use of this makefile to build
the executable. If you notify that it parses the code 
  class tagname
  {
    int i;
  };
   and not 
  class tagname
  {
    private: 
       int i;
  };

 I hope some one can help me out now.
  
 Thanks in advance,
 --vani--


---1463803903-1439073610-946274868=:333
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="parse.y"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT LNX DOT 3 DOT 96 DOT 991227113748 DOT 333H AT vani>
Content-Description: yacc file

LyogTm90ZTogQmlzb24gYXV0b21hdGljYWxseSBhcHBsaWVzIGEgZGVmYXVs
dCBhY3Rpb24gb2YgIiQkID0gJDEiIGZvcg0KYWxsIGRlcml2YXRpb25zOyB0
aGlzIGlzIGFwcGxpZWQgYmVmb3JlIHRoZSBleHBsaWNpdCBhY3Rpb24sIGlm
IG9uZQ0KaXMgZ2l2ZW4uICBLZWVwIHRoaXMgaW4gbWluZCB3aGVuIHJlYWRp
bmcgdGhlIGFjdGlvbnMuICAqLw0KDQolew0KI2luY2x1ZGUgPHN0ZGlvLmg+
DQojaW5jbHVkZSA8ZXJybm8uaD4NCiV9DQoNCiVzdGFydCBwcm9ncmFtDQoN
Ci8qIEFsbCBpZGVudGlmaWVycyB0aGF0IGFyZSBub3QgcmVzZXJ2ZWQgd29y
ZHMNCmFuZCBhcmUgbm90IGRlY2xhcmVkIHR5cGVkZWZzIGluIHRoZSBjdXJy
ZW50IGJsb2NrICovDQoldG9rZW4gSURFTlRJRklFUg0KDQovKiBBbGwgaWRl
bnRpZmllcnMgdGhhdCBhcmUgZGVjbGFyZWQgdHlwZWRlZnMgaW4gdGhlIGN1
cnJlbnQgYmxvY2suDQpJbiBzb21lIGNvbnRleHRzLCB0aGV5IGFyZSB0cmVh
dGVkIGp1c3QgbGlrZSBJREVOVElGSUVSLA0KYnV0IHRoZXkgY2FuIGFsc28g
c2VydmUgYXMgdHlwZXNwZWNzIGluIGRlY2xhcmF0aW9ucy4gICovDQoldG9r
ZW4gVFlQRURFRk5BTUUNCg0KLyogUmVzZXJ2ZWQgd29yZHMgdGhhdCBzcGVj
aWZ5IHN0b3JhZ2UgY2xhc3MuDQp5eWx2YWwgY29udGFpbnMgYW4gSURFTlRJ
RklFUl9OT0RFIHdoaWNoIGluZGljYXRlcyB3aGljaCBvbmUuICAqLw0KJXRv
a2VuIEFVVE8gUkVHSVNURVIgU1RBVElDIEVYVEVSTiBGUklFTkQgVFlQRURF
RiBPVkVSTE9BRCBJTkxJTkUgVklSVFVBTA0KDQovKiBSZXNlcnZlZCB3b3Jk
cyB0aGF0IHNwZWNpZnkgdHlwZS4NCnl5bHZhbCBjb250YWlucyBhbiBJREVO
VElGSUVSX05PREUgd2hpY2ggaW5kaWNhdGVzIHdoaWNoIG9uZS4gICovDQol
dG9rZW4gSU5UIENIQVIgU0lHTkVEIFVOU0lHTkVEIFNIT1JUIExPTkcgRkxP
QVQgRE9VQkxFIFZPSUQNCg0KLyogUmVzZXJ2ZWQgd29yZHMgdGhhdCBxdWFs
aWZ5IHR5cGU6ICJjb25zdCIgb3IgInZvbGF0aWxlIi4NCnl5bHZhbCBjb250
YWlucyBhbiBJREVOVElGSUVSX05PREUgd2hpY2ggaW5kaWNhdGVzIHdoaWNo
IG9uZS4gICovDQoldG9rZW4gQ09OU1QgVk9MQVRJTEUNCg0KLyogQ2hhcmFj
dGVyIG9yIG51bWVyaWMgY29uc3RhbnRzLg0KeXlsdmFsIGlzIHRoZSBub2Rl
IGZvciB0aGUgY29uc3RhbnQuICAqLw0KJXRva2VuIENIQVJDT05TVCBGTE9B
VElOR0NPTlNUIE9DVEFMQ09OU1QgSEVYQ09OU1QgSU5URUdFUkNPTlNUDQoN
Ci8qIFN0cmluZyBjb25zdGFudHMgaW4gcmF3IGZvcm0uDQp5eWx2YWwgaXMg
YSBTVFJJTkdfQ1NUIG5vZGUuICAqLw0KJXRva2VuIFNUUklORw0KDQovKiAi
Li4uIiwgdXNlZCBmb3IgZnVuY3Rpb25zIHdpdGggdmFyaWFibGUgYXJnbGlz
dHMuICAqLw0KJXRva2VuIEVMTElQU0lTDQoNCi8qIHRoZSByZXNlcnZlZCB3
b3JkcyAqLw0KLyogU0NPIGluY2x1ZGUgZmlsZXMgdGVzdCAiQVNNIiwgc28g
dXNlIHNvbWV0aGluZyBlbHNlLiAqLw0KJXRva2VuIFNJWkVPRiBFTlVNIC8q
IFNUUlVDVCBVTklPTiAqLyBJRiBFTFNFIFdISUxFIERPIEZPUiBTV0lUQ0gg
Q0FTRSBERUZBVUxUDQoldG9rZW4gQlJFQUsgQ09OVElOVUUgUkVUVVJOIEdP
VE8gQVNNX0tFWVdPUkQgR0NDX0FTTV9LRVlXT1JEIFRZUEVPRiBBTElHTk9G
DQoldG9rZW4gU0lHT0YNCiV0b2tlbiBBVFRSSUJVVEUgRVhURU5TSU9OIExB
QkVMDQoNCi8qIHRoZSByZXNlcnZlZCB3b3Jkcy4uLiBDKysgZXh0ZW5zaW9u
cyAqLw0KJXRva2VuIEFHR1INCiV0b2tlbiBQUklWQVRFIFBVQkxJQyBQUk9U
RUNURUQNCiV0b2tlbiBERUxFVEUgTkVXIE9WRVJMT0FEIFRISVMgT1BFUkFU
T1IgQ1hYX1RSVUUgQ1hYX0ZBTFNFDQoldG9rZW4gTkFNRVNQQUNFIFRZUEVO
QU1FX0tFWVdPUkQgVVNJTkcNCiV0b2tlbiBURU1QTEFURQ0KJXRva2VuIFRZ
UEVJRCBEWU5BTUlDX0NBU1QgU1RBVElDX0NBU1QgUkVJTlRFUlBSRVRfQ0FT
VCBDT05TVF9DQVNUDQoldG9rZW4gU0NPUEUNCg0KLyogRGVmaW5lIHRoZSBv
cGVyYXRvciB0b2tlbnMgYW5kIHRoZWlyIHByZWNlZGVuY2VzLg0KVGhlIHZh
bHVlIGlzIGFuIGludGVnZXIgYmVjYXVzZSwgaWYgdXNlZCwgaXQgaXMgdGhl
IHRyZWUgY29kZQ0KdG8gdXNlIGluIHRoZSBleHByZXNzaW9uIG1hZGUgZnJv
bSB0aGUgb3BlcmF0b3IuICAqLw0KDQolbGVmdCBFTVBUWQkJCS8qIHVzZWQg
dG8gcmVzb2x2ZSBzL3Igd2l0aCBlcHNpbG9uICovDQoNCiVsZWZ0IGVycm9y
DQoNCi8qIEFkZCBwcmVjZWRlbmNlIHJ1bGVzIHRvIHNvbHZlIGRhbmdsaW5n
IGVsc2Ugcy9yIGNvbmZsaWN0ICovDQolbm9uYXNzb2MgSUYNCiVub25hc3Nv
YyBFTFNFDQoNCiVsZWZ0IElERU5USUZJRVIgVFlQRURFRk5BTUUgUFRZUEVO
QU1FIElOVCBDSEFSIEZMT0FUIFZPSUQgU0hPUlQgTE9ORyBTSUdORUQgVU5T
SUdORUQgRE9VQkxFIENPTlNUIFZPTEFUSUxFIEVOVU0gQUdHUiBFTExJUFNJ
UyBUWVBFT0YgU0lHT0YgT1BFUkFUT1IgTlNOQU1FIFRZUEVOQU1FX0tFWVdP
UkQgQVVUTyBSRUdJU1RFUiBTVEFUSUMgRVhURVJOIEZSSUVORCBUWVBFREVG
IE9WRVJMT0FEIElOTElORSBWSVJUVUFMDQoNCiVsZWZ0ICd7JyAnLCcgJzsn
DQoNCiVub25hc3NvYyBUSFJPVw0KJXJpZ2h0ICAnOicNCiVyaWdodCAgQVNT
SUdOICc9Jw0KJXJpZ2h0ICAnPycNCiVsZWZ0ICBPUk9SDQolbGVmdCAgQU5E
QU5EDQolbGVmdCAgJ3wnDQolbGVmdCAgJ14nDQolbGVmdCAgJyYnDQolbGVm
dCAgTUlOX01BWA0KJWxlZnQgIEVRQ09NUEFSRQ0KJWxlZnQgIEFSSVRIQ09N
UEFSRSAnPCcgJz4nDQolbGVmdCAgTFNISUZUIFJTSElGVA0KJWxlZnQgICcr
JyAnLScNCiVsZWZ0ICcqJyAnLycgJyUnDQolbGVmdCBQT0lOVFNBVF9TVEFS
IERPVF9TVEFSDQolcmlnaHQgVU5BUlkgUExVU1BMVVMgTUlOVVNNSU5VUyAn
ficNCiVsZWZ0IEhZUEVSVU5BUlkNCiVsZWZ0IFBBUkVOX1NUQVJfUEFSRU4g
DQolbGVmdCBQT0lOVFNBVCAnLicgJygnICdbJw0KDQolcmlnaHQgU0NPUEUJ
CQkvKiBDKysgZXh0ZW5zaW9uICovDQolbm9uYXNzb2MgTkVXIERFTEVURSBU
UlkgQ0FUQ0gNCg0KJXRva2VuIFRZUEVOQU1FX0VMTElQU0lTIFBUWVBFTkFN
RQ0KJXRva2VuICBFWFRFUk5fTEFOR19TVFJJTkcNCiV0b2tlbiAgUFJFX1BB
UlNFRF9DTEFTU19ERUNMDQoNCiV0b2tlbiBUWVBFTkFNRV9ERUZOIElERU5U
SUZJRVJfREVGTiBQVFlQRU5BTUVfREVGTg0KDQoldG9rZW4gTlNOQU1FDQoN
Ci8qIFVzZWQgaW4gbGV4LmMgZm9yIHBhcnNpbmcgcHJhZ21hcy4gICovDQol
dG9rZW4gRU5EX09GX0xJTkUNCg0KLyogbGV4LmMgYW5kIHB0LmMgZGVwZW5k
cyBvbiB0aGlzIGJlaW5nIHRoZSBsYXN0IHRva2VuLiAgRGVmaW5lDQphbnkg
bmV3IHRva2VucyBiZWZvcmUgdGhpcyBvbmUhICAqLw0KJXRva2VuIEVORF9P
Rl9TQVZFRF9JTlBVVA0KJSUNCnByb2dyYW06IC8qIGVtcHR5ICovDQp8IGV4
dGRlZnMNCjsNCg0KLyogdGhlIHJlYXNvbiBmb3IgdGhlIHN0cmFuZ2UgYWN0
aW9ucyBpbiB0aGlzIHJ1bGUNCmlzIHNvIHRoYXQgbm90eXBlX2luaXRkZWNs
cyB3aGVuIHJlYWNoZWQgdmlhIGRhdGFkZWYNCmNhbiBmaW5kIGEgdmFsaWQg
bGlzdCBvZiB0eXBlIGFuZCBzYyBzcGVjcyBpbiAkMC4gKi8NCg0KZXh0ZGVm
czoNCmxhbmdfZXh0ZGVmDQp8IGV4dGRlZnMgbGFuZ19leHRkZWYNCjsNCg0K
ZXh0ZGVmc19vcHQ6DQpleHRkZWZzDQp8IC8qIGVtcHR5ICovDQo7DQoNCmNv
bnN0YW50Og0KRkxPQVRJTkdDT05TVA0KfCAgSU5URUdFUkNPTlNUDQp8ICBP
Q1RBTENPTlNUDQp8ICBIRVhDT05TVA0KfCAgQ0hBUkNPTlNUDQo7DQouaHVz
aF93YXJuaW5nOg0KOw0KLndhcm5pbmdfb2s6DQo7DQoNCmFzbV9rZXl3b3Jk
Og0KQVNNX0tFWVdPUkQNCjsNCg0KbGFuZ19leHRkZWY6DQpleHRkZWYNCjsN
Cg0KZXh0ZGVmOg0KZm5kZWYNCnwgZGF0YWRlZg0KfCB0ZW1wbGF0ZV9kZWYN
Cnwgb3ZlcmxvYWRkZWYNCnwgYXNtX2tleXdvcmQgJygnIHN0cmluZyAnKScg
JzsnDQp8IGV4dGVybl9sYW5nX3N0cmluZyAneycgZXh0ZGVmc19vcHQgJ30n
DQp8IGV4dGVybl9sYW5nX3N0cmluZyAuaHVzaF93YXJuaW5nIGZuZGVmIC53
YXJuaW5nX29rDQp8IGV4dGVybl9sYW5nX3N0cmluZyAuaHVzaF93YXJuaW5n
IGRhdGFkZWYgLndhcm5pbmdfb2sNCnwgTkFNRVNQQUNFIGlkZW50aWZpZXIg
J3snIGV4dGRlZnNfb3B0ICd9Jw0KfCBOQU1FU1BBQ0UgJ3snIGV4dGRlZnNf
b3B0ICd9Jw0KfCBOQU1FU1BBQ0UgaWRlbnRpZmllciAnPScgYW55X2lkICc7
Jw0KfCB1c2luZ19kZWNsICc7Jw0KfCBVU0lORyBOQU1FU1BBQ0UgYW55X2lk
ICc7Jw0KOw0KDQp1c2luZ19kZWNsOg0KVVNJTkcgcXVhbGlmaWVkX2lkDQp8
IFVTSU5HIGdsb2JhbF9zY29wZSBxdWFsaWZpZWRfaWQNCnwgVVNJTkcgZ2xv
YmFsX3Njb3BlIHVucXVhbGlmaWVkX2lkDQo7DQoNCmFueV9pZDoNCnVucXVh
bGlmaWVkX2lkDQp8IHF1YWxpZmllZF9pZA0KfCBnbG9iYWxfc2NvcGUgcXVh
bGlmaWVkX2lkDQp8IGdsb2JhbF9zY29wZSB1bnF1YWxpZmllZF9pZA0KOw0K
DQpleHRlcm5fbGFuZ19zdHJpbmc6DQpFWFRFUk5fTEFOR19TVFJJTkcNCnwg
ZXh0ZXJuX2xhbmdfc3RyaW5nIEVYVEVSTl9MQU5HX1NUUklORw0KOw0KDQp0
ZW1wbGF0ZV9oZWFkZXI6DQpURU1QTEFURSAnPCcgdGVtcGxhdGVfcGFybV9s
aXN0ICc+Jw0KOw0KDQp0ZW1wbGF0ZV9wYXJtX2xpc3Q6DQp0ZW1wbGF0ZV9w
YXJtDQp8IHRlbXBsYXRlX3Bhcm1fbGlzdCAnLCcgdGVtcGxhdGVfcGFybQ0K
Ow0KDQp0ZW1wbGF0ZV90eXBlX3Bhcm06DQphZ2dyDQp8IGFnZ3IgaWRlbnRp
Zmllcg0KfCBUWVBFTkFNRV9LRVlXT1JEDQp8IFRZUEVOQU1FX0tFWVdPUkQg
aWRlbnRpZmllcg0KOw0KDQp0ZW1wbGF0ZV9wYXJtOg0KLyogVGhlIGZvbGxv
d2luZyBydWxlcyBpbnRyb2R1Y2UgYSBuZXcgcmVkdWNlL3JlZHVjZQ0KY29u
ZmxpY3Qgb24gdGhlICcsJyBhbmQgJz4nIGlucHV0IHRva2VuczogdGhleSBh
cmUgdmFsaWQNCnByZWZpeGVzIGZvciBhIGBzdHJ1Y3RzcCcsIHdoaWNoIG1l
YW5zIHRoZXkgY291bGQgbWF0Y2ggYQ0KbmFtZWxlc3MgcGFyYW1ldGVyLiAg
U2VlIDE0LjYsIHBhcmFncmFwaCAzLg0KQnkgcHV0dGluZyB0aGVtIGJlZm9y
ZSB0aGUgYHBhcm0nIHJ1bGUsIHdlIGdldA0KdGhlaXIgbWF0Y2ggYmVmb3Jl
IGNvbnNpZGVyaW5nIHRoZW0gbmFtZWxlc3MgcGFyYW1ldGVyDQpkZWNsYXJh
dGlvbnMuICAqLw0KdGVtcGxhdGVfdHlwZV9wYXJtDQp8IHRlbXBsYXRlX3R5
cGVfcGFybSAnPScgdHlwZXNwZWMNCnwgZnVsbF9wYXJtDQo7DQoNCm92ZXJs
b2FkZGVmOg0KT1ZFUkxPQUQgb3ZfaWRlbnRpZmllcnMgJzsnDQo7DQoNCm92
X2lkZW50aWZpZXJzOiBJREVOVElGSUVSDQp8IG92X2lkZW50aWZpZXJzICcs
JyBJREVOVElGSUVSDQo7DQoNCnRlbXBsYXRlX2RlZjoNCi8qIENsYXNzIHRl
bXBsYXRlIGRlY2xhcmF0aW9ucyBnbyBoZXJlOyB0aGV5IGFyZW4ndCBub3Jt
YWwgY2xhc3MNCmRlY2xhcmF0aW9ucywgYmVjYXVzZSB3ZSBjYW4ndCBwcm9j
ZXNzIHRoZSBib2RpZXMgeWV0LiAgKi8NCnRlbXBsYXRlX2hlYWRlciBuYW1l
ZF9jbGFzc19oZWFkX3NhbnNfYmFzZXR5cGUgJ3snDQonOycNCnwgdGVtcGxh
dGVfaGVhZGVyIG5hbWVkX2NsYXNzX2hlYWRfc2Fuc19iYXNldHlwZV9kZWZu
ICd7Jw0KJzsnDQp8IHRlbXBsYXRlX2hlYWRlciBuYW1lZF9jbGFzc19oZWFk
X3NhbnNfYmFzZXR5cGUgJzonDQonOycNCnwgdGVtcGxhdGVfaGVhZGVyIG5h
bWVkX2NsYXNzX2hlYWRfc2Fuc19iYXNldHlwZV9kZWZuICc6Jw0KJzsnDQp8
IHRlbXBsYXRlX2hlYWRlciBuYW1lZF9jbGFzc19oZWFkX3NhbnNfYmFzZXR5
cGUgJzsnDQp8IHRlbXBsYXRlX2hlYWRlciBuYW1lZF9jbGFzc19oZWFkX3Nh
bnNfYmFzZXR5cGVfZGVmbiAnOycNCnwgdGVtcGxhdGVfaGVhZGVyIC8qIG5v
dHlwZV9pbml0ZGNsMCAnOycgKi8NCm5vdHlwZV9kZWNsYXJhdG9yIGV4Y2Vw
dGlvbl9zcGVjaWZpY2F0aW9uX29wdCBtYXliZWFzbSBtYXliZV9hdHRyaWJ1
dGUNCmZuX3RtcGxfZW5kDQp8IHRlbXBsYXRlX2hlYWRlciB0eXBlZF9kZWNs
c3BlY3MgLyppbml0ZGNsMCovDQpkZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVj
aWZpY2F0aW9uX29wdCBtYXliZWFzbSBtYXliZV9hdHRyaWJ1dGUNCmZuX3Rt
cGxfZW5kDQp8IHRlbXBsYXRlX2hlYWRlciBkZWNsbW9kcyBub3R5cGVfZGVj
bGFyYXRvciBmbl90bXBsX2VuZA0KfCB0ZW1wbGF0ZV9oZWFkZXIgZXJyb3Ig
J30nCQ0KfCB0ZW1wbGF0ZV9oZWFkZXIgZXJyb3IgJzsnCQ0KOw0KDQpmbl90
bXBsX2VuZDogJ3snCQkNCnwgJzonCQkNCnwgJzsnCQ0KfCAnPScJCQkNCnwg
UkVUVVJOCQkNCjsNCg0KZGF0YWRlZjoNCm5vbW9kc19pbml0ZGVjbHMgJzsn
DQp8IGRlY2xtb2RzIG5vdHlwZV9pbml0ZGVjbHMgJzsnDQovKiBOb3JtYWwg
Y2FzZSB0byBtYWtlIGZhc3Q6ICJjb25zdCBpOyIuICAqLw0KfCBkZWNsbW9k
cyBub3R5cGVfZGVjbGFyYXRvciAnOycNCnwgdHlwZWRfZGVjbHNwZWNzIGlu
aXRkZWNscyAnOycNCnwgdHlwZWRfZGVjbHNwZWNzIGRlY2xhcmF0b3IgJzsn
DQp8IGRlY2xtb2RzICc7Jw0KfCBleHBsaWNpdF9pbnN0YW50aWF0aW9uICc7
Jw0KfCB0eXBlZF9kZWNsc3BlY3MgJzsnDQp8IGVycm9yICc7Jw0KfCBlcnJv
ciAnfScNCnwgJzsnDQo7DQoNCmN0b3JfaW5pdGlhbGl6ZXJfb3B0Og0Kbm9k
ZWNscw0KfCBiYXNlX2luaXQNCjsNCg0KbWF5YmVfcmV0dXJuX2luaXQ6DQov
KiBlbXB0eSAqLw0KfCByZXR1cm5faW5pdA0KfCByZXR1cm5faW5pdCAnOycN
CjsNCg0KZWF0X3NhdmVkX2lucHV0Og0KLyogZW1wdHkgKi8NCnwgRU5EX09G
X1NBVkVEX0lOUFVUDQo7DQoNCmZuZGVmOg0KZm4uZGVmMSBtYXliZV9yZXR1
cm5faW5pdCBjdG9yX2luaXRpYWxpemVyX29wdCBjb21wc3RtdF9vcl9lcnJv
cg0KfCBmbi5kZWYxIG1heWJlX3JldHVybl9pbml0IGZ1bmN0aW9uX3RyeV9i
bG9jayBlYXRfc2F2ZWRfaW5wdXQNCnwgdHlwZWRfZGVjbHNwZWNzIGRlY2xh
cmF0b3IgZXJyb3INCnwgZGVjbG1vZHMgbm90eXBlX2RlY2xhcmF0b3IgZXJy
b3INCnwgbm90eXBlX2RlY2xhcmF0b3IgZXJyb3INCjsNCg0KZm4uZGVmMToN
CnR5cGVkX2RlY2xzcGVjcyBkZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVjaWZp
Y2F0aW9uX29wdA0KfCBkZWNsbW9kcyBub3R5cGVfZGVjbGFyYXRvciBleGNl
cHRpb25fc3BlY2lmaWNhdGlvbl9vcHQNCnwgbm90eXBlX2RlY2xhcmF0b3Ig
ZXhjZXB0aW9uX3NwZWNpZmljYXRpb25fb3B0DQo7DQoNCi8qIG1vcmUgQysr
IGNvbXBsZXhpdHkuICBTZWUgY29tcG9uZW50X2RlY2wgZm9yIGEgY29tbWVu
dCBvbiB0aGUNCnJlZHVjZS9yZWR1Y2UgY29uZmxpY3QgaW50cm9kdWNlZCBi
eSB0aGVzZSBydWxlcy4gICovDQpmbi5kZWYyOg0KdHlwZWRfZGVjbHNwZWNz
ICcoJyBwYXJtbGlzdCAnKScgdHlwZV9xdWFscyBleGNlcHRpb25fc3BlY2lm
aWNhdGlvbl9vcHQNCnwgdHlwZWRfZGVjbHNwZWNzICcoJyAnKScgdHlwZV9x
dWFscyBleGNlcHRpb25fc3BlY2lmaWNhdGlvbl9vcHQNCnwgdHlwZWRfZGVj
bHNwZWNzIGRlY2xhcmF0b3IgZXhjZXB0aW9uX3NwZWNpZmljYXRpb25fb3B0
DQp8IGRlY2xtb2RzIG5vdHlwZV9kZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVj
aWZpY2F0aW9uX29wdA0KfCBub3R5cGVfZGVjbGFyYXRvciBleGNlcHRpb25f
c3BlY2lmaWNhdGlvbl9vcHQNCjsNCg0KcmV0dXJuX2lkOiBSRVRVUk4gSURF
TlRJRklFUg0KOw0KDQpyZXR1cm5faW5pdDogcmV0dXJuX2lkIG1heWJlX2lu
aXQNCnwgcmV0dXJuX2lkICcoJyBub25udWxsX2V4cHJsaXN0ICcpJw0KfCBy
ZXR1cm5faWQgJygnICcpJw0KOw0KDQpiYXNlX2luaXQ6DQonOicgLnNldF9i
YXNlX2luaXQgbWVtYmVyX2luaXRfbGlzdA0KOw0KDQouc2V0X2Jhc2VfaW5p
dDoNCi8qIGVtcHR5ICovDQo7DQoNCm1lbWJlcl9pbml0X2xpc3Q6DQovKiBl
bXB0eSAqLw0KfCBtZW1iZXJfaW5pdA0KfCBtZW1iZXJfaW5pdF9saXN0ICcs
JyBtZW1iZXJfaW5pdA0KfCBtZW1iZXJfaW5pdF9saXN0IGVycm9yDQo7DQoN
Cm1lbWJlcl9pbml0OiAnKCcgbm9ubnVsbF9leHBybGlzdCAnKScNCnwgJygn
ICcpJw0KfCBub3R5cGVfaWRlbnRpZmllciAnKCcgbm9ubnVsbF9leHBybGlz
dCAnKScNCnwgbm90eXBlX2lkZW50aWZpZXIgJygnICcpJw0KfCBjb21wbGV0
ZV90eXBlX25hbWUgJygnIG5vbm51bGxfZXhwcmxpc3QgJyknDQp8IGNvbXBs
ZXRlX3R5cGVfbmFtZSAnKCcgJyknDQp8IG5vdHlwZV9xdWFsaWZpZWRfaWQg
JygnIG5vbm51bGxfZXhwcmxpc3QgJyknDQp8IG5vdHlwZV9xdWFsaWZpZWRf
aWQgJygnICcpJw0KOw0KDQppZGVudGlmaWVyOg0KSURFTlRJRklFUg0KfCBU
WVBFREVGTkFNRQ0KfCBQVFlQRU5BTUUNCnwgTlNOQU1FDQo7DQoNCm5vdHlw
ZV9pZGVudGlmaWVyOg0KSURFTlRJRklFUg0KfCBQVFlQRU5BTUUgDQp8IE5T
TkFNRSAlcHJlYyBFTVBUWQ0KOw0KDQppZGVudGlmaWVyX2RlZm46DQpJREVO
VElGSUVSX0RFRk4NCnwgVFlQRU5BTUVfREVGTg0KfCBQVFlQRU5BTUVfREVG
Tg0KOw0KDQpleHBsaWNpdF9pbnN0YW50aWF0aW9uOg0KVEVNUExBVEUgc3Bl
Y2lhbGl6YXRpb24gdGVtcGxhdGVfaW5zdGFudGlhdGlvbg0KfCBURU1QTEFU
RSB0eXBlZF9kZWNsc3BlY3MgZGVjbGFyYXRvcg0KfCBURU1QTEFURSBub3R5
cGVfZGVjbGFyYXRvcg0KfCBzY3NwZWMgVEVNUExBVEUgc3BlY2lhbGl6YXRp
b24gdGVtcGxhdGVfaW5zdGFudGlhdGlvbg0KfCBzY3NwZWMgVEVNUExBVEUg
dHlwZWRfZGVjbHNwZWNzIGRlY2xhcmF0b3INCnwgc2NzcGVjIFRFTVBMQVRF
IG5vdHlwZV9kZWNsYXJhdG9yDQo7DQoNCnRlbXBsYXRlX3R5cGU6DQp0ZW1w
bGF0ZV90eXBlX25hbWUgdG1wbC4yIHRlbXBsYXRlX2luc3RhbnRpYXRpb24N
CjsNCg0KdGVtcGxhdGVfdHlwZV9uYW1lOg0KUFRZUEVOQU1FICc8JyB0ZW1w
bGF0ZV9hcmdfbGlzdCAnPicNCnwgUFRZUEVOQU1FICc8JyAnPicNCnwgVFlQ
RURFRk5BTUUgICc8JyB0ZW1wbGF0ZV9hcmdfbGlzdCAnPicNCjsNCg0KdG1w
bC4yOiANCi8qIGVtcHR5ICovICVwcmVjIEVNUFRZDQo7DQoNCnRlbXBsYXRl
X2FyZ19saXN0Og0KdGVtcGxhdGVfYXJnDQp8IHRlbXBsYXRlX2FyZ19saXN0
ICcsJyB0ZW1wbGF0ZV9hcmcNCjsNCg0KdGVtcGxhdGVfYXJnOg0KdHlwZV9p
ZA0KfCBleHByX25vX2NvbW1hcyAgJXByZWMgVU5BUlkNCjsNCg0KdGVtcGxh
dGVfaW5zdGFudGlhdGVfb25jZToNClBSRV9QQVJTRURfQ0xBU1NfREVDTCBt
YXliZV9iYXNlX2NsYXNzX2xpc3QgJ3snIG9wdC5jb21wb25lbnRfZGVjbF9s
aXN0ICd9Jw0KOw0KDQp0ZW1wbGF0ZV9pbnN0YW50aWF0aW9uOg0KLyogZW1w
dHkgKi8NCnwgdGVtcGxhdGVfaW5zdGFudGlhdGVfb25jZQ0KOw0KDQp0ZW1w
bGF0ZV9pbnN0YW50aWF0ZV9zb21lOg0KLyogZW1wdHkgKi8NCnwgdGVtcGxh
dGVfaW5zdGFudGlhdGVfb25jZSB0ZW1wbGF0ZV9pbnN0YW50aWF0ZV9zb21l
DQo7DQoNCnVub3A6ICAgICAnLScNCnwgJysnDQp8IFBMVVNQTFVTDQp8IE1J
TlVTTUlOVVMNCnwgJyEnDQo7DQoNCmV4cHI6CSAgbm9udHJpdmlhbF9leHBy
bGlzdA0KfCBleHByX25vX2NvbW1hcw0KOw0KDQpwYXJlbl9leHByX29yX251
bGw6DQonKCcgJyknDQp8ICcoJyBleHByICcpJw0KOw0KDQpwYXJlbl9jb25k
X29yX251bGw6DQonKCcgJyknDQp8ICcoJyBjb25kaXRpb24gJyknDQo7DQoN
Cnhjb25kOg0KLyogZW1wdHkgKi8NCnwgY29uZGl0aW9uDQp8IGVycm9yDQo7
DQoNCmNvbmRpdGlvbjoNCnR5cGVfc3BlY2lmaWVyX3NlcSBkZWNsYXJhdG9y
IGV4Y2VwdGlvbl9zcGVjaWZpY2F0aW9uX29wdCBtYXliZWFzbSBtYXliZV9h
dHRyaWJ1dGUgJz0nIGluaXQNCnwgZXhwcg0KOw0KDQpjb21wc3RtdGVuZDoN
Cid9Jw0KfCBtYXliZV9sYWJlbF9kZWNscyBzdG10cyAnfScNCnwgbWF5YmVf
bGFiZWxfZGVjbHMgc3RtdHMgZXJyb3IgJ30nDQp8IG1heWJlX2xhYmVsX2Rl
Y2xzIGVycm9yICd9Jw0KOw0KDQphbHJlYWR5X3Njb3BlZF9zdG10Og0KJ3sn
IGNvbXBzdG10ZW5kDQp8IHNpbXBsZV9zdG10DQo7DQoNCg0Kbm9udHJpdmlh
bF9leHBybGlzdDoNCmV4cHJfbm9fY29tbWFzICcsJyBleHByX25vX2NvbW1h
cw0KfCBleHByX25vX2NvbW1hcyAnLCcgZXJyb3INCnwgbm9udHJpdmlhbF9l
eHBybGlzdCAnLCcgZXhwcl9ub19jb21tYXMNCnwgbm9udHJpdmlhbF9leHBy
bGlzdCAnLCcgZXJyb3INCjsNCg0Kbm9ubnVsbF9leHBybGlzdDoNCmV4cHJf
bm9fY29tbWFzDQp8IG5vbnRyaXZpYWxfZXhwcmxpc3QNCjsNCg0KdW5hcnlf
ZXhwcjoNCnByaW1hcnkgJXByZWMgVU5BUlkNCnwgRVhURU5TSU9OIGNhc3Rf
ZXhwcgkgICVwcmVjIFVOQVJZDQp8ICcqJyBjYXN0X2V4cHIgICAlcHJlYyBV
TkFSWQ0KfCAnJicgY2FzdF9leHByICAgJXByZWMgVU5BUlkNCnwgJ34nIGNh
c3RfZXhwcg0KfCB1bm9wIGNhc3RfZXhwciAgJXByZWMgVU5BUlkNCi8qIFJl
ZmVyIHRvIHRoZSBhZGRyZXNzIG9mIGEgbGFiZWwgYXMgYSBwb2ludGVyLiAg
Ki8NCnwgQU5EQU5EIGlkZW50aWZpZXINCnwgU0laRU9GIHVuYXJ5X2V4cHIg
ICVwcmVjIFVOQVJZDQp8IFNJWkVPRiAnKCcgdHlwZV9pZCAnKScgICVwcmVj
IEhZUEVSVU5BUlkNCnwgQUxJR05PRiB1bmFyeV9leHByICAlcHJlYyBVTkFS
WQ0KfCBBTElHTk9GICcoJyB0eXBlX2lkICcpJyAgJXByZWMgSFlQRVJVTkFS
WQ0KfCBuZXcgbmV3X3R5cGVfaWQgJXByZWMgRU1QVFkNCnwgbmV3IG5ld190
eXBlX2lkIG5ld19pbml0aWFsaXplcg0KfCBuZXcgbmV3X3BsYWNlbWVudCBu
ZXdfdHlwZV9pZCAlcHJlYyBFTVBUWQ0KfCBuZXcgbmV3X3BsYWNlbWVudCBu
ZXdfdHlwZV9pZCBuZXdfaW5pdGlhbGl6ZXINCnwgbmV3ICcoJyB0eXBlX2lk
ICcpJyAlcHJlYyBFTVBUWQ0KfCBuZXcgJygnIHR5cGVfaWQgJyknIG5ld19p
bml0aWFsaXplcg0KfCBuZXcgbmV3X3BsYWNlbWVudCAnKCcgdHlwZV9pZCAn
KScgJXByZWMgRU1QVFkNCnwgbmV3IG5ld19wbGFjZW1lbnQgJygnIHR5cGVf
aWQgJyknIG5ld19pbml0aWFsaXplcg0KfCBkZWxldGUgY2FzdF9leHByICAl
cHJlYyBVTkFSWQ0KfCBkZWxldGUgJ1snICddJyBjYXN0X2V4cHIgICVwcmVj
IFVOQVJZDQp8IGRlbGV0ZSAnWycgZXhwciAnXScgY2FzdF9leHByICVwcmVj
IFVOQVJZDQo7DQoNCm5ld19wbGFjZW1lbnQ6DQonKCcgbm9ubnVsbF9leHBy
bGlzdCAnKScNCnwgJ3snIG5vbm51bGxfZXhwcmxpc3QgJ30nDQo7DQoNCm5l
d19pbml0aWFsaXplcjoNCicoJyBub25udWxsX2V4cHJsaXN0ICcpJw0KfCAn
KCcgJyknDQp8ICcoJyB0eXBlc3BlYyAnKScNCi8qIEdOVSBleHRlbnNpb24g
c28gcGVvcGxlIGNhbiB1c2UgaW5pdGlhbGl6ZXIgbGlzdHMuICBOb3RlIHRo
YXQNCnRoaXMgYWx0ZXJzIHRoZSBtZWFuaW5nIG9mIGBuZXcgaW50ID0gMScs
IHdoaWNoIHdhcyBwcmV2aW91c2x5DQpzeW50YWN0aWNhbGx5IHZhbGlkIGJ1
dCBzZW1hbnRpY2FsbHkgaW52YWxpZC4gICovDQp8ICc9JyBpbml0DQo7DQoN
Ci8qIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIHBvc3Rwb25lIHJlZHVjdGlvbiBv
ZiBgaW50ICgoaW50KShpbnQpKGludCkpJy4gICovDQpyZWdjYXN0X29yX2Fi
c2RjbDoNCicoJyB0eXBlX2lkICcpJyAlcHJlYyBFTVBUWQ0KfCByZWdjYXN0
X29yX2Fic2RjbCAnKCcgdHlwZV9pZCAnKScgJXByZWMgRU1QVFkNCjsNCg0K
Y2FzdF9leHByOg0KdW5hcnlfZXhwcg0KfCByZWdjYXN0X29yX2Fic2RjbCB1
bmFyeV9leHByICAlcHJlYyBVTkFSWQ0KfCByZWdjYXN0X29yX2Fic2RjbCAn
eycgaW5pdGxpc3QgbWF5YmVjb21tYSAnfScgICVwcmVjIFVOQVJZDQo7DQoN
CmV4cHJfbm9fY29tbWFzOg0KY2FzdF9leHByDQovKiBIYW5kbGUgZ2VuZXJh
bCBtZW1iZXJzLiAgKi8NCnwgZXhwcl9ub19jb21tYXMgUE9JTlRTQVRfU1RB
UiBleHByX25vX2NvbW1hcw0KfCBleHByX25vX2NvbW1hcyBET1RfU1RBUiBl
eHByX25vX2NvbW1hcw0KfCBleHByX25vX2NvbW1hcyAnKycgZXhwcl9ub19j
b21tYXMNCnwgZXhwcl9ub19jb21tYXMgJy0nIGV4cHJfbm9fY29tbWFzDQp8
IGV4cHJfbm9fY29tbWFzICcqJyBleHByX25vX2NvbW1hcw0KfCBleHByX25v
X2NvbW1hcyAnLycgZXhwcl9ub19jb21tYXMNCnwgZXhwcl9ub19jb21tYXMg
JyUnIGV4cHJfbm9fY29tbWFzDQp8IGV4cHJfbm9fY29tbWFzIExTSElGVCBl
eHByX25vX2NvbW1hcw0KfCBleHByX25vX2NvbW1hcyBSU0hJRlQgZXhwcl9u
b19jb21tYXMNCnwgZXhwcl9ub19jb21tYXMgQVJJVEhDT01QQVJFIGV4cHJf
bm9fY29tbWFzDQp8IGV4cHJfbm9fY29tbWFzICc8JyBleHByX25vX2NvbW1h
cw0KfCBleHByX25vX2NvbW1hcyAnPicgZXhwcl9ub19jb21tYXMNCnwgZXhw
cl9ub19jb21tYXMgRVFDT01QQVJFIGV4cHJfbm9fY29tbWFzDQp8IGV4cHJf
bm9fY29tbWFzIE1JTl9NQVggZXhwcl9ub19jb21tYXMNCnwgZXhwcl9ub19j
b21tYXMgJyYnIGV4cHJfbm9fY29tbWFzDQp8IGV4cHJfbm9fY29tbWFzICd8
JyBleHByX25vX2NvbW1hcw0KfCBleHByX25vX2NvbW1hcyAnXicgZXhwcl9u
b19jb21tYXMNCnwgZXhwcl9ub19jb21tYXMgQU5EQU5EIGV4cHJfbm9fY29t
bWFzDQp8IGV4cHJfbm9fY29tbWFzIE9ST1IgZXhwcl9ub19jb21tYXMNCnwg
ZXhwcl9ub19jb21tYXMgJz8nIHhleHByICc6JyBleHByX25vX2NvbW1hcw0K
fCBleHByX25vX2NvbW1hcyAnPScgZXhwcl9ub19jb21tYXMNCnwgZXhwcl9u
b19jb21tYXMgQVNTSUdOIGV4cHJfbm9fY29tbWFzDQp8IFRIUk9XDQp8IFRI
Uk9XIGV4cHJfbm9fY29tbWFzDQo7DQoNCm5vdHlwZV91bnF1YWxpZmllZF9p
ZDoNCid+JyBzZWVfdHlwZW5hbWUgaWRlbnRpZmllcg0KfCBvcGVyYXRvcl9u
YW1lDQp8IElERU5USUZJRVINCnwgUFRZUEVOQU1FDQp8IE5TTkFNRSAlcHJl
YyBFTVBUWQ0KOw0KDQp1bnF1YWxpZmllZF9pZDoNCm5vdHlwZV91bnF1YWxp
ZmllZF9pZA0KfCBUWVBFREVGTkFNRQ0KOw0KDQpleHByX29yX2RlY2xhcmF0
b3I6DQpub3R5cGVfdW5xdWFsaWZpZWRfaWQNCnwgJyonIGV4cHJfb3JfZGVj
bGFyYXRvciAlcHJlYyBVTkFSWQ0KfCAnJicgZXhwcl9vcl9kZWNsYXJhdG9y
ICVwcmVjIFVOQVJZDQp8ICcoJyBleHByX29yX2RlY2xhcmF0b3IgJyknDQo7
DQoNCmRpcmVjdF9ub3R5cGVfZGVjbGFyYXRvcjoNCmNvbXBsZXhfZGlyZWN0
X25vdHlwZV9kZWNsYXJhdG9yDQp8IG5vdHlwZV91bnF1YWxpZmllZF9pZA0K
fCAnKCcgZXhwcl9vcl9kZWNsYXJhdG9yICcpJw0KOw0KDQpwcmltYXJ5Og0K
bm90eXBlX3VucXVhbGlmaWVkX2lkDQp8IGNvbnN0YW50DQp8IGJvb2xlYW4u
bGl0ZXJhbA0KfCBzdHJpbmcNCnwgJygnIGV4cHIgJyknDQp8ICcoJyBleHBy
X29yX2RlY2xhcmF0b3IgJyknDQp8ICcoJyBlcnJvciAnKScNCnwgJygnIGNv
bXBzdG10ICcpJw0KfCBwcmltYXJ5ICcoJyBub25udWxsX2V4cHJsaXN0ICcp
JyB0ZW1wbGF0ZV9pbnN0YW50aWF0ZV9zb21lIA0KfCBwcmltYXJ5ICcoJyAn
KScNCnwgcHJpbWFyeSAnWycgZXhwciAnXScNCnwgcHJpbWFyeSBQTFVTUExV
Uw0KfCBwcmltYXJ5IE1JTlVTTUlOVVMNCnwgVEhJUw0KfCB0eXBlX3F1YWwg
JygnIG5vbm51bGxfZXhwcmxpc3QgJyknDQp8IGZ1bmN0aW9uYWxfY2FzdA0K
fCBEWU5BTUlDX0NBU1QgJzwnIHR5cGVfaWQgJz4nICcoJyBleHByICcpJw0K
fCBTVEFUSUNfQ0FTVCAnPCcgdHlwZV9pZCAnPicgJygnIGV4cHIgJyknDQp8
IFJFSU5URVJQUkVUX0NBU1QgJzwnIHR5cGVfaWQgJz4nICcoJyBleHByICcp
Jw0KfCBDT05TVF9DQVNUICc8JyB0eXBlX2lkICc+JyAnKCcgZXhwciAnKScN
CnwgVFlQRUlEICcoJyBleHByICcpJw0KfCBUWVBFSUQgJygnIHR5cGVfaWQg
JyknDQp8IGdsb2JhbF9zY29wZSBJREVOVElGSUVSDQp8IGdsb2JhbF9zY29w
ZSBvcGVyYXRvcl9uYW1lDQp8IG92ZXJxdWFsaWZpZWRfaWQgJXByZWMgSFlQ
RVJVTkFSWQ0KfCBvdmVycXVhbGlmaWVkX2lkICcoJyBub25udWxsX2V4cHJs
aXN0ICcpJw0KfCBvdmVycXVhbGlmaWVkX2lkICcoJyAnKScNCnwgb2JqZWN0
IHVucXVhbGlmaWVkX2lkICAlcHJlYyBVTkFSWQ0KfCBvYmplY3Qgb3ZlcnF1
YWxpZmllZF9pZCAlcHJlYyBVTkFSWQ0KfCBvYmplY3QgdW5xdWFsaWZpZWRf
aWQgJygnIG5vbm51bGxfZXhwcmxpc3QgJyknDQp8IG9iamVjdCB1bnF1YWxp
ZmllZF9pZCAnKCcgJyknDQp8IG9iamVjdCBvdmVycXVhbGlmaWVkX2lkICco
JyBub25udWxsX2V4cHJsaXN0ICcpJw0KfCBvYmplY3Qgb3ZlcnF1YWxpZmll
ZF9pZCAnKCcgJyknDQovKiBwLT5pbnQ6On5pbnQoKSBpcyB2YWxpZCAtLSAx
Mi40ICovDQp8IG9iamVjdCAnficgdHlwZV9zcGVjICcoJyAnKScNCnwgb2Jq
ZWN0IHR5cGVfc3BlYyBTQ09QRSAnficgdHlwZV9zcGVjICcoJyAnKScNCnwg
b2JqZWN0IGVycm9yDQo7DQoNCi8qIE5vdCBuZWVkZWQgZm9yIG5vdy4NCg0K
cHJpbWFyeV9ub19pZDoNCicoJyBleHByICcpJw0KfCAnKCcgZXJyb3IgJykn
DQp8ICcoJyBjb21wc3RtdCAnKScNCnwgcHJpbWFyeV9ub19pZCAnKCcgbm9u
bnVsbF9leHBybGlzdCAnKScNCnwgcHJpbWFyeV9ub19pZCAnKCcgJyknDQp8
IHByaW1hcnlfbm9faWQgJ1snIGV4cHIgJ10nDQp8IHByaW1hcnlfbm9faWQg
UExVU1BMVVMNCnwgcHJpbWFyeV9ub19pZCBNSU5VU01JTlVTDQp8IFNDT1BF
IElERU5USUZJRVINCnwgU0NPUEUgb3BlcmF0b3JfbmFtZQ0KOw0KKi8NCg0K
bmV3OgkgIE5FVw0KfCBnbG9iYWxfc2NvcGUgTkVXDQo7DQoNCmRlbGV0ZToJ
ICBERUxFVEUNCnwgZ2xvYmFsX3Njb3BlIGRlbGV0ZQ0KOw0KDQpib29sZWFu
LmxpdGVyYWw6DQpDWFhfVFJVRQ0KfCBDWFhfRkFMU0UNCjsNCg0KLyogUHJv
ZHVjZXMgYSBTVFJJTkdfQ1NUIHdpdGggcGVyaGFwcyBtb3JlIFNUUklOR19D
U1RzIGNoYWluZWQgb250byBpdC4gICovDQpzdHJpbmc6DQpTVFJJTkcNCnwg
c3RyaW5nIFNUUklORw0KOw0KDQpub2RlY2xzOg0KLyogZW1wdHkgKi8NCjsN
Cg0Kb2JqZWN0OgkgIHByaW1hcnkgJy4nDQp8IHByaW1hcnkgUE9JTlRTQVQN
CjsNCg0KZGVjbDoNCi8qIE5vcm1hbCBjYXNlOiBtYWtlIHRoaXMgZmFzdC4g
ICovDQp0eXBlc3BlYyBkZWNsYXJhdG9yICc7Jw0KfCB0eXBlZF9kZWNsc3Bl
Y3MgZGVjbGFyYXRvciAnOycNCnwgdHlwZXNwZWMgaW5pdGRlY2xzICc7Jw0K
fCB0eXBlZF9kZWNsc3BlY3MgaW5pdGRlY2xzICc7Jw0KfCBkZWNsbW9kcyBu
b3R5cGVfaW5pdGRlY2xzICc7Jw0KfCB0eXBlZF9kZWNsc3BlY3MgJzsnDQp8
IGRlY2xtb2RzICc7Jw0KOw0KDQovKiBBbnkga2luZCBvZiBkZWNsYXJhdG9y
ICh0aHVzLCBhbGwgZGVjbGFyYXRvcnMgYWxsb3dlZA0KYWZ0ZXIgYW4gZXhw
bGljaXQgdHlwZXNwZWMpLiAgKi8NCg0KZGVjbGFyYXRvcjoNCmFmdGVyX3R5
cGVfZGVjbGFyYXRvciAlcHJlYyBFTVBUWQ0KfCBub3R5cGVfZGVjbGFyYXRv
ciAlcHJlYyBFTVBUWQ0KOw0KDQovKiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBw
b3N0cG9uZSByZWR1Y3Rpb24gb2YgYGludCgpKCkoKSgpJy4gICovDQpmY2Fz
dF9vcl9hYnNkY2w6DQonKCcgJyknICVwcmVjIEVNUFRZDQp8IGZjYXN0X29y
X2Fic2RjbCAnKCcgJyknICVwcmVjIEVNUFRZDQo7DQoNCi8qIEFOU0kgdHlw
ZS1pZCAoOC4xKSAqLw0KdHlwZV9pZDoNCnR5cGVkX3R5cGVzcGVjcyBhYnNk
Y2wNCnwgbm9uZW1wdHlfdHlwZV9xdWFscyBhYnNkY2wNCnwgdHlwZXNwZWMg
YWJzZGNsDQp8IHR5cGVkX3R5cGVzcGVjcyAlcHJlYyBFTVBUWQ0KfCBub25l
bXB0eV90eXBlX3F1YWxzICVwcmVjIEVNUFRZDQo7DQoNCi8qIERlY2xzcGVj
cyB3aGljaCBjb250YWluIGF0IGxlYXN0IG9uZSB0eXBlIHNwZWNpZmllciBv
ciB0eXBlZGVmIG5hbWUuDQooSnVzdCBgY29uc3QnIG9yIGB2b2xhdGlsZScg
aXMgbm90IGVub3VnaC4pDQpBIHR5cGVkZWYnZCBuYW1lIGZvbGxvd2luZyB0
aGVzZSBpcyB0YWtlbiBhcyBhIG5hbWUgdG8gYmUgZGVjbGFyZWQuDQpJbiB0
aGUgcmVzdWx0LCBkZWNsc3BlY3MgaGF2ZSBhIG5vbi1OVUxMIFRSRUVfVkFM
VUUsIGF0dHJpYnV0ZXMgZG8gbm90LiAgKi8NCg0KdHlwZWRfZGVjbHNwZWNz
Og0KdHlwZWRfdHlwZXNwZWNzICVwcmVjIEVNUFRZDQp8IHR5cGVkX2RlY2xz
cGVjczENCjsNCg0KdHlwZWRfZGVjbHNwZWNzMToNCmRlY2xtb2RzIHR5cGVz
cGVjDQp8IHR5cGVzcGVjIHJlc2VydmVkX2RlY2xzcGVjcwklcHJlYyBIWVBF
UlVOQVJZDQp8IHR5cGVzcGVjIHJlc2VydmVkX3R5cGVzcGVjcXVhbHMgcmVz
ZXJ2ZWRfZGVjbHNwZWNzDQp8IGRlY2xtb2RzIHR5cGVzcGVjIHJlc2VydmVk
X2RlY2xzcGVjcw0KfCBkZWNsbW9kcyB0eXBlc3BlYyByZXNlcnZlZF90eXBl
c3BlY3F1YWxzDQp8IGRlY2xtb2RzIHR5cGVzcGVjIHJlc2VydmVkX3R5cGVz
cGVjcXVhbHMgcmVzZXJ2ZWRfZGVjbHNwZWNzDQo7DQoNCnJlc2VydmVkX2Rl
Y2xzcGVjczoNCnNjc3BlYw0KfCByZXNlcnZlZF9kZWNsc3BlY3MgdHlwZXNw
ZWNxdWFsX3Jlc2VydmVkDQp8IHJlc2VydmVkX2RlY2xzcGVjcyBzY3NwZWMN
CnwgcmVzZXJ2ZWRfZGVjbHNwZWNzIGF0dHJpYnV0ZXMNCnwgYXR0cmlidXRl
cw0KOw0KDQovKiBMaXN0IG9mIGp1c3Qgc3RvcmFnZSBjbGFzc2VzIGFuZCB0
eXBlIG1vZGlmaWVycy4NCkEgZGVjbGFyYXRpb24gY2FuIHN0YXJ0IHdpdGgg
anVzdCB0aGlzLCBidXQgdGhlbiBpdCBjYW5ub3QgYmUgdXNlZA0KdG8gcmVk
ZWNsYXJlIGEgdHlwZWRlZi1uYW1lLg0KSW4gdGhlIHJlc3VsdCwgZGVjbHNw
ZWNzIGhhdmUgYSBub24tTlVMTCBUUkVFX1ZBTFVFLCBhdHRyaWJ1dGVzIGRv
IG5vdC4gICovDQoNCmRlY2xtb2RzOg0Kbm9uZW1wdHlfdHlwZV9xdWFscyAl
cHJlYyBFTVBUWQ0KfCBzY3NwZWMNCnwgZGVjbG1vZHMgdHlwZV9xdWFsDQp8
IGRlY2xtb2RzIHNjc3BlYw0KfCBkZWNsbW9kcyBhdHRyaWJ1dGVzDQp8IGF0
dHJpYnV0ZXMNCjsNCg0KLyogVXNlZCBpbnN0ZWFkIG9mIGRlY2xzcGVjcyB3
aGVyZSBzdG9yYWdlIGNsYXNzZXMgYXJlIG5vdCBhbGxvd2VkDQoodGhhdCBp
cywgZm9yIHR5cGVuYW1lcyBhbmQgc3RydWN0dXJlIGNvbXBvbmVudHMpLg0K
DQpDKysgY2FuIHRha2VzIHN0b3JhZ2UgY2xhc3NlcyBmb3Igc3RydWN0dXJl
IGNvbXBvbmVudHMuDQpEb24ndCBhY2NlcHQgYSB0eXBlZGVmLW5hbWUgaWYg
YW55dGhpbmcgYnV0IGEgbW9kaWZpZXIgcHJlY2VkZXMgaXQuICAqLw0KDQp0
eXBlZF90eXBlc3BlY3M6DQp0eXBlc3BlYyAgJXByZWMgRU1QVFkNCnwgbm9u
ZW1wdHlfdHlwZV9xdWFscyB0eXBlc3BlYw0KfCB0eXBlc3BlYyByZXNlcnZl
ZF90eXBlc3BlY3F1YWxzDQp8IG5vbmVtcHR5X3R5cGVfcXVhbHMgdHlwZXNw
ZWMgcmVzZXJ2ZWRfdHlwZXNwZWNxdWFscw0KOw0KDQpyZXNlcnZlZF90eXBl
c3BlY3F1YWxzOg0KdHlwZXNwZWNxdWFsX3Jlc2VydmVkDQp8IHJlc2VydmVk
X3R5cGVzcGVjcXVhbHMgdHlwZXNwZWNxdWFsX3Jlc2VydmVkDQo7DQoNCi8q
IEEgdHlwZXNwZWMgKGJ1dCBub3QgYSB0eXBlIHF1YWxpZmllcikuDQpPbmNl
IHdlIGhhdmUgc2VlbiBvbmUgb2YgdGhlc2UgaW4gYSBkZWNsYXJhdGlvbiwN
CmlmIGEgdHlwZWRlZiBuYW1lIGFwcGVhcnMgdGhlbiBpdCBpcyBiZWluZyBy
ZWRlY2xhcmVkLiAgKi8NCg0KdHlwZXNwZWM6IHN0cnVjdHNwDQp8IHR5cGVf
c3BlYyAgJXByZWMgRU1QVFkNCnwgY29tcGxldGVfdHlwZV9uYW1lDQp8IFRZ
UEVPRiAnKCcgZXhwciAnKScNCnwgVFlQRU9GICcoJyB0eXBlX2lkICcpJw0K
fCBTSUdPRiAnKCcgZXhwciAnKScNCnwgU0lHT0YgJygnIHR5cGVfaWQgJykn
DQo7DQoNCi8qIEEgdHlwZXNwZWMgdGhhdCBpcyBhIHJlc2VydmVkIHdvcmQs
IG9yIGEgdHlwZSBxdWFsaWZpZXIuICAqLw0KDQp0eXBlc3BlY3F1YWxfcmVz
ZXJ2ZWQ6IHR5cGVfc3BlYw0KfCB0eXBlX3F1YWwNCnwgc3RydWN0c3ANCjsN
Cg0KaW5pdGRlY2xzOg0KaW5pdGRjbDANCnwgaW5pdGRlY2xzICcsJyBpbml0
ZGNsDQo7DQoNCm5vdHlwZV9pbml0ZGVjbHM6DQpub3R5cGVfaW5pdGRjbDAN
Cnwgbm90eXBlX2luaXRkZWNscyAnLCcgaW5pdGRjbA0KOw0KDQpub21vZHNf
aW5pdGRlY2xzOg0Kbm9tb2RzX2luaXRkY2wwDQp8IG5vbW9kc19pbml0ZGVj
bHMgJywnIGluaXRkY2wNCjsNCg0KbWF5YmVhc206DQovKiBlbXB0eSAqLw0K
fCBhc21fa2V5d29yZCAnKCcgc3RyaW5nICcpJw0KOw0KDQppbml0ZGNsMDoN
CmRlY2xhcmF0b3IgZXhjZXB0aW9uX3NwZWNpZmljYXRpb25fb3B0IG1heWJl
YXNtIG1heWJlX2F0dHJpYnV0ZSAnPScNCmluaXQNCi8qIE5vdGUgaG93IHRo
ZSBkZWNsYXJhdGlvbiBvZiB0aGUgdmFyaWFibGUgaXMgaW4gZWZmZWN0IHdo
aWxlIGl0cyBpbml0IGlzIHBhcnNlZCEgKi8NCnwgZGVjbGFyYXRvciBleGNl
cHRpb25fc3BlY2lmaWNhdGlvbl9vcHQgbWF5YmVhc20gbWF5YmVfYXR0cmli
dXRlDQo7DQoNCmluaXRkY2w6DQpkZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVj
aWZpY2F0aW9uX29wdCBtYXliZWFzbSBtYXliZV9hdHRyaWJ1dGUgJz0nDQpp
bml0DQovKiBOb3RlIGhvdyB0aGUgZGVjbGFyYXRpb24gb2YgdGhlIHZhcmlh
YmxlIGlzIGluIGVmZmVjdCB3aGlsZSBpdHMgaW5pdCBpcyBwYXJzZWQhICov
DQp8IGRlY2xhcmF0b3IgZXhjZXB0aW9uX3NwZWNpZmljYXRpb25fb3B0IG1h
eWJlYXNtIG1heWJlX2F0dHJpYnV0ZQ0KOw0KDQpub3R5cGVfaW5pdGRjbDA6
DQpub3R5cGVfZGVjbGFyYXRvciBleGNlcHRpb25fc3BlY2lmaWNhdGlvbl9v
cHQgbWF5YmVhc20gbWF5YmVfYXR0cmlidXRlICc9JyBpbml0DQovKiBOb3Rl
IGhvdyB0aGUgZGVjbGFyYXRpb24gb2YgdGhlIHZhcmlhYmxlIGlzIGluIGVm
ZmVjdCB3aGlsZSBpdHMgaW5pdCBpcyBwYXJzZWQhICovDQp8IG5vdHlwZV9k
ZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVjaWZpY2F0aW9uX29wdCBtYXliZWFz
bSBtYXliZV9hdHRyaWJ1dGUNCjsNCg0Kbm9tb2RzX2luaXRkY2wwOg0Kbm90
eXBlX2RlY2xhcmF0b3IgZXhjZXB0aW9uX3NwZWNpZmljYXRpb25fb3B0IG1h
eWJlYXNtIG1heWJlX2F0dHJpYnV0ZSAnPScgaW5pdA0KLyogTm90ZSBob3cg
dGhlIGRlY2xhcmF0aW9uIG9mIHRoZSB2YXJpYWJsZSBpcyBpbiBlZmZlY3Qg
d2hpbGUgaXRzIGluaXQgaXMgcGFyc2VkISAqLw0KfCBub3R5cGVfZGVjbGFy
YXRvciBleGNlcHRpb25fc3BlY2lmaWNhdGlvbl9vcHQgbWF5YmVhc20gbWF5
YmVfYXR0cmlidXRlDQo7DQoNCi8qIHRoZSAqIHJ1bGVzIGFyZSBkdW1taWVz
IHRvIGFjY2VwdCB0aGUgQXBvbGxvIGV4dGVuZGVkIHN5bnRheA0Kc28gdGhh
dCB0aGUgaGVhZGVyIGZpbGVzIGNvbXBpbGUuICovDQptYXliZV9hdHRyaWJ1
dGU6DQovKiBlbXB0eSAqLw0KfCBhdHRyaWJ1dGVzDQo7DQoNCmF0dHJpYnV0
ZXM6DQphdHRyaWJ1dGUNCnwgYXR0cmlidXRlcyBhdHRyaWJ1dGUNCjsNCg0K
YXR0cmlidXRlOg0KQVRUUklCVVRFICcoJyAnKCcgYXR0cmlidXRlX2xpc3Qg
JyknICcpJw0KOw0KDQphdHRyaWJ1dGVfbGlzdDoNCmF0dHJpYg0KfCBhdHRy
aWJ1dGVfbGlzdCAnLCcgYXR0cmliDQo7DQoNCmF0dHJpYjoNCi8qIGVtcHR5
ICovDQp8IGFueV93b3JkDQp8IGFueV93b3JkICcoJyBJREVOVElGSUVSICcp
Jw0KfCBhbnlfd29yZCAnKCcgSURFTlRJRklFUiAnLCcgbm9ubnVsbF9leHBy
bGlzdCAnKScNCnwgYW55X3dvcmQgJygnIG5vbm51bGxfZXhwcmxpc3QgJykn
DQo7DQoNCi8qIFRoaXMgc3RpbGwgbGVhdmVzIG91dCBtb3N0IHJlc2VydmVk
IGtleXdvcmRzLA0Kc2hvdWxkbid0IHdlIGluY2x1ZGUgdGhlbT8gICovDQoN
CmFueV93b3JkOg0KaWRlbnRpZmllcg0KfCBzY3NwZWMNCnwgdHlwZV9zcGVj
DQp8IHR5cGVfcXVhbA0KOw0KDQovKiBBIG5vbmVtcHR5IGxpc3Qgb2YgaWRl
bnRpZmllcnMsIGluY2x1ZGluZyB0eXBlbmFtZXMuICAqLw0KaWRlbnRpZmll
cnNfb3JfdHlwZW5hbWVzOg0KaWRlbnRpZmllcg0KfCBpZGVudGlmaWVyc19v
cl90eXBlbmFtZXMgJywnIGlkZW50aWZpZXINCjsNCg0KbWF5YmVfaW5pdDoN
CiVwcmVjIEVNUFRZIC8qIGVtcHR5ICovDQp8ICc9JyBpbml0DQoNCmluaXQ6
DQpleHByX25vX2NvbW1hcyAlcHJlYyAnPScNCnwgJ3snICd9Jw0KfCAneycg
aW5pdGxpc3QgJ30nDQp8ICd7JyBpbml0bGlzdCAnLCcgJ30nDQp8IGVycm9y
DQo7DQoNCi8qIFRoaXMgY2hhaW4gaXMgYnVpbHQgaW4gcmV2ZXJzZSBvcmRl
ciwNCmFuZCBwdXQgaW4gZm9yd2FyZCBvcmRlciB3aGVyZSBpbml0bGlzdCBp
cyB1c2VkLiAgKi8NCmluaXRsaXN0Og0KaW5pdA0KfCBpbml0bGlzdCAnLCcg
aW5pdA0KfCAnWycgZXhwcl9ub19jb21tYXMgJ10nIGluaXQNCnwgaW5pdGxp
c3QgJywnIENBU0UgZXhwcl9ub19jb21tYXMgJzonIGluaXQNCnwgaWRlbnRp
ZmllciAnOicgaW5pdA0KfCBpbml0bGlzdCAnLCcgaWRlbnRpZmllciAnOicg
aW5pdA0KOw0KDQpzdHJ1Y3RzcDoNCkVOVU0gaWRlbnRpZmllciAneycgZW51
bWxpc3QgbWF5YmVjb21tYV93YXJuICd9Jw0KfCBFTlVNIGlkZW50aWZpZXIg
J3snICd9Jw0KfCBFTlVNICd7JyBlbnVtbGlzdCBtYXliZWNvbW1hX3dhcm4g
J30nDQp8IEVOVU0gJ3snICd9Jw0KfCBFTlVNIGlkZW50aWZpZXINCnwgRU5V
TSBjb21wbGV4X3R5cGVfbmFtZQ0KfCBUWVBFTkFNRV9LRVlXT1JEIGNvbXBs
ZXhfdHlwZV9uYW1lDQovKiBDKysgZXh0ZW5zaW9ucywgbWVyZ2VkIHdpdGgg
QyB0byBhdm9pZCBzaGlmdC9yZWR1Y2UgY29uZmxpY3RzICovDQp8IGNsYXNz
X2hlYWQgJ3snIG9wdC5jb21wb25lbnRfZGVjbF9saXN0ICd9Jw0KfCBjbGFz
c19oZWFkICAlcHJlYyBFTVBUWQ0KOw0KDQptYXliZWNvbW1hOg0KLyogZW1w
dHkgKi8NCnwgJywnDQo7DQoNCm1heWJlY29tbWFfd2FybjoNCi8qIGVtcHR5
ICovDQp8ICcsJw0KOw0KDQphZ2dyOgkgIEFHR1INCnwgYWdnciBzY3NwZWMN
CnwgYWdnciB0eXBlX3NwZWMNCnwgYWdnciB0eXBlX3F1YWwNCnwgYWdnciBB
R0dSDQo7DQoNCnR5cGVfc3BlYzoNCklOVA0KfCBDSEFSDQp8IEZMT0FUDQp8
IFZPSUQNCnwgU0hPUlQNCnwgTE9ORw0KfCBTSUdORUQNCnwgVU5TSUdORUQN
CnwgRE9VQkxFDQo7DQpzcGVjaWFsaXphdGlvbjoNCmFnZ3IgdGVtcGxhdGVf
dHlwZV9uYW1lICc7Jw0KOw0KDQpuYW1lZF9jbGFzc19oZWFkX3NhbnNfYmFz
ZXR5cGU6DQphZ2dyIGlkZW50aWZpZXINCnwgc3BlY2lhbGl6YXRpb24NCjsN
Cg0KbmFtZWRfY2xhc3NfaGVhZF9zYW5zX2Jhc2V0eXBlX2RlZm46DQphZ2dy
IGlkZW50aWZpZXJfZGVmbiAlcHJlYyBFTVBUWQ0KfCBhZ2dyIHRlbXBsYXRl
X3R5cGVfbmFtZSAneycNCnwgYWdnciB0ZW1wbGF0ZV90eXBlX25hbWUgJzon
DQo7DQoNCm5hbWVkX2NvbXBsZXhfY2xhc3NfaGVhZF9zYW5zX2Jhc2V0eXBl
Og0KYWdnciBuZXN0ZWRfbmFtZV9zcGVjaWZpZXIgaWRlbnRpZmllcg0KfCBh
Z2dyIHRlbXBsYXRlX3R5cGUgJXByZWMgRU1QVFkNCjsNCg0KZG9feHJlZl9k
ZWZuOiAvKiBlbXB0eSAqLyAlcHJlYyBFTVBUWQ0KOw0KDQpuYW1lZF9jbGFz
c19oZWFkOg0KbmFtZWRfY2xhc3NfaGVhZF9zYW5zX2Jhc2V0eXBlICVwcmVj
IEVNUFRZDQp8IG5hbWVkX2NsYXNzX2hlYWRfc2Fuc19iYXNldHlwZV9kZWZu
IGRvX3hyZWZfZGVmbg0KbWF5YmVfYmFzZV9jbGFzc19saXN0ICVwcmVjIEVN
UFRZDQp8IG5hbWVkX2NvbXBsZXhfY2xhc3NfaGVhZF9zYW5zX2Jhc2V0eXBl
IG1heWJlX2Jhc2VfY2xhc3NfbGlzdA0KOw0KDQp1bm5hbWVkX2NsYXNzX2hl
YWQ6IGFnZ3IgJ3snDQo7DQoNCmNsYXNzX2hlYWQ6IHVubmFtZWRfY2xhc3Nf
aGVhZCB8IG5hbWVkX2NsYXNzX2hlYWQgOw0KDQptYXliZV9iYXNlX2NsYXNz
X2xpc3Q6DQolcHJlYyBFTVBUWSAvKiBlbXB0eSAqLw0KfCAnOicgc2VlX3R5
cGVuYW1lICVwcmVjIEVNUFRZDQp8ICc6JyBzZWVfdHlwZW5hbWUgYmFzZV9j
bGFzc19saXN0ICAlcHJlYyBFTVBUWQ0KOw0KDQpiYXNlX2NsYXNzX2xpc3Q6
DQpiYXNlX2NsYXNzDQp8IGJhc2VfY2xhc3NfbGlzdCAnLCcgc2VlX3R5cGVu
YW1lIGJhc2VfY2xhc3MNCjsNCg0KYmFzZV9jbGFzczoNCmJhc2VfY2xhc3Mu
MQ0KfCBiYXNlX2NsYXNzX2FjY2Vzc19saXN0IHNlZV90eXBlbmFtZSBiYXNl
X2NsYXNzLjENCjsNCg0KYmFzZV9jbGFzcy4xOg0KY29tcGxldGVfdHlwZV9u
YW1lDQp8IFNJR09GICcoJyBleHByICcpJw0KfCBTSUdPRiAnKCcgdHlwZV9p
ZCAnKScNCjsNCg0KYmFzZV9jbGFzc19hY2Nlc3NfbGlzdDoNCnZpc3NwZWMg
c2VlX3R5cGVuYW1lDQp8IHNjc3BlYyBzZWVfdHlwZW5hbWUNCnwgYmFzZV9j
bGFzc19hY2Nlc3NfbGlzdCB2aXNzcGVjIHNlZV90eXBlbmFtZQ0KfCBiYXNl
X2NsYXNzX2FjY2Vzc19saXN0IHNjc3BlYyBzZWVfdHlwZW5hbWUNCjsNCnNj
c3BlYzoNClRZUEVERUYNCnwgQVVUTw0KfCBSRUdJU1RFUg0KfCBTVEFUSUMN
CnwgRlJJRU5EDQp8IFZJUlRVQUwNCnwgSU5MSU5FDQp8IEVYVEVSTg0KfCBP
VkVSTE9BRA0KOw0KDQpvcHQuY29tcG9uZW50X2RlY2xfbGlzdDoNCi8qIGVt
cHR5ICovDQp8IGNvbXBvbmVudF9kZWNsX2xpc3QNCnwgb3B0LmNvbXBvbmVu
dF9kZWNsX2xpc3Qgdmlzc3BlYyAnOicgY29tcG9uZW50X2RlY2xfbGlzdA0K
fCBvcHQuY29tcG9uZW50X2RlY2xfbGlzdCB2aXNzcGVjICc6Jw0KOw0KDQov
KiBOb3RlOiB3ZSBubyBsb25nZXIgd2FybiBhYm91dCB0aGUgc2VtaWNvbG9u
IGFmdGVyIGEgY29tcG9uZW50X2RlY2xfbGlzdC4NCkFSTSAkOS4yIHNheXMg
dGhhdCB0aGUgc2VtaWNvbG9uIGlzIG9wdGlvbmFsLCBhbmQgdGhlcmVmb3Jl
IGFsbG93ZWQuICAqLw0KY29tcG9uZW50X2RlY2xfbGlzdDoNCmNvbXBvbmVu
dF9kZWNsDQp8IGNvbXBvbmVudF9kZWNsX2xpc3QgY29tcG9uZW50X2RlY2wN
CjsNCg0Kdmlzc3BlYzoNClBVQkxJQw0KfCBQUklWQVRFDQp8IFBST1RFQ1RF
RA0KOw0KDQpjb21wb25lbnRfZGVjbDoNCmNvbXBvbmVudF9kZWNsXzEgJzsn
DQp8IGNvbXBvbmVudF9kZWNsXzEgJ30nDQovKiBDKys6IGhhbmRsZSBjb25z
dHJ1Y3RvcnMsIGRlc3RydWN0b3JzIGFuZCBpbmxpbmUgZnVuY3Rpb25zICov
DQovKiBub3RlIHRoYXQgSU5MSU5FIGlzIGxpa2UgYSBUWVBFU1BFQyAqLw0K
fCBmbi5kZWYyICc6JyAvKiBiYXNlX2luaXQgY29tcHN0bXQgKi8NCnwgZm4u
ZGVmMiBUUlkgLyogYmFzZV9pbml0IGNvbXBzdG10ICovDQp8IGZuLmRlZjIg
UkVUVVJOIC8qIGJhc2VfaW5pdCBjb21wc3RtdCAqLw0KfCBmbi5kZWYyICd7
JyAvKiBub2RlY2xzIGNvbXBzdG10ICovDQp8ICc7Jw0KOw0KDQpjb21wb25l
bnRfZGVjbF8xOg0KLyogRG8gbm90IGFkZCBhICJ0eXBlZF9kZWNsc3BlY3Mg
ZGVjbGFyYXRvciIgcnVsZSBoZXJlIGZvcg0Kc3BlZWQ7IHdlIG5lZWQgdG8g
Y2FsbCBncm9rX3hfY29tcG9uZW50cyBmb3IgZW51bXMsIHNvIHRoZQ0Kc3Bl
ZWR1cCB3b3VsZCBiZSBpbnNpZ25pZmljYW50LiAgKi8NCnR5cGVkX2RlY2xz
cGVjcyBjb21wb25lbnRzDQp8IGRlY2xtb2RzIG5vdHlwZV9jb21wb25lbnRz
DQp8IG5vdHlwZV9kZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVjaWZpY2F0aW9u
X29wdCBtYXliZWFzbSBtYXliZV9hdHRyaWJ1dGUgbWF5YmVfaW5pdA0KfCAn
OicgZXhwcl9ub19jb21tYXMNCnwgZXJyb3INCnwgdHlwZWRfZGVjbHNwZWNz
ICcoJyBwYXJtbGlzdCAnKScgdHlwZV9xdWFscyBleGNlcHRpb25fc3BlY2lm
aWNhdGlvbl9vcHQgbWF5YmVhc20gbWF5YmVfYXR0cmlidXRlIG1heWJlX2lu
aXQNCnwgdHlwZWRfZGVjbHNwZWNzICcoJyAnKScgdHlwZV9xdWFscyBleGNl
cHRpb25fc3BlY2lmaWNhdGlvbl9vcHQgbWF5YmVhc20gbWF5YmVfYXR0cmli
dXRlIG1heWJlX2luaXQNCnwgdXNpbmdfZGVjbA0KOw0KDQpjb21wb25lbnRz
Og0KLyogZW1wdHk6IHBvc3NpYmx5IGFub255bW91cyAqLw0KfCBjb21wb25l
bnRfZGVjbGFyYXRvcjANCnwgY29tcG9uZW50cyAnLCcgY29tcG9uZW50X2Rl
Y2xhcmF0b3INCjsNCg0Kbm90eXBlX2NvbXBvbmVudHM6DQovKiBlbXB0eTog
cG9zc2libHkgYW5vbnltb3VzICovDQp8IG5vdHlwZV9jb21wb25lbnRfZGVj
bGFyYXRvcjANCnwgbm90eXBlX2NvbXBvbmVudHMgJywnIG5vdHlwZV9jb21w
b25lbnRfZGVjbGFyYXRvcg0KOw0KDQpjb21wb25lbnRfZGVjbGFyYXRvcjA6
DQphZnRlcl90eXBlX2NvbXBvbmVudF9kZWNsYXJhdG9yMA0KfCBub3R5cGVf
Y29tcG9uZW50X2RlY2xhcmF0b3IwDQo7DQoNCmNvbXBvbmVudF9kZWNsYXJh
dG9yOg0KYWZ0ZXJfdHlwZV9jb21wb25lbnRfZGVjbGFyYXRvcg0KfCBub3R5
cGVfY29tcG9uZW50X2RlY2xhcmF0b3INCjsNCg0KYWZ0ZXJfdHlwZV9jb21w
b25lbnRfZGVjbGFyYXRvcjA6DQphZnRlcl90eXBlX2RlY2xhcmF0b3IgZXhj
ZXB0aW9uX3NwZWNpZmljYXRpb25fb3B0IG1heWJlYXNtIG1heWJlX2F0dHJp
YnV0ZSBtYXliZV9pbml0DQp8IFRZUEVERUZOQU1FICc6JyBleHByX25vX2Nv
bW1hcyBtYXliZV9hdHRyaWJ1dGUNCjsNCg0Kbm90eXBlX2NvbXBvbmVudF9k
ZWNsYXJhdG9yMDoNCm5vdHlwZV9kZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVj
aWZpY2F0aW9uX29wdCBtYXliZWFzbSBtYXliZV9hdHRyaWJ1dGUgbWF5YmVf
aW5pdA0KfCBJREVOVElGSUVSICc6JyBleHByX25vX2NvbW1hcyBtYXliZV9h
dHRyaWJ1dGUNCnwgJzonIGV4cHJfbm9fY29tbWFzIG1heWJlX2F0dHJpYnV0
ZQ0KOw0KDQphZnRlcl90eXBlX2NvbXBvbmVudF9kZWNsYXJhdG9yOg0KYWZ0
ZXJfdHlwZV9kZWNsYXJhdG9yIGV4Y2VwdGlvbl9zcGVjaWZpY2F0aW9uX29w
dCBtYXliZWFzbSBtYXliZV9hdHRyaWJ1dGUgbWF5YmVfaW5pdA0KfCBUWVBF
REVGTkFNRSAnOicgZXhwcl9ub19jb21tYXMgbWF5YmVfYXR0cmlidXRlDQo7
DQoNCm5vdHlwZV9jb21wb25lbnRfZGVjbGFyYXRvcjoNCm5vdHlwZV9kZWNs
YXJhdG9yIGV4Y2VwdGlvbl9zcGVjaWZpY2F0aW9uX29wdCBtYXliZWFzbSBt
YXliZV9hdHRyaWJ1dGUgbWF5YmVfaW5pdA0KfCBJREVOVElGSUVSICc6JyBl
eHByX25vX2NvbW1hcyBtYXliZV9hdHRyaWJ1dGUNCnwgJzonIGV4cHJfbm9f
Y29tbWFzIG1heWJlX2F0dHJpYnV0ZQ0KOw0KDQovKiBXZSBjaGFpbiB0aGUg
ZW51bWVyYXRvcnMgaW4gcmV2ZXJzZSBvcmRlci4NCkJlY2F1c2Ugb2YgdGhl
IHdheSBlbnVtcyBhcmUgYnVpbHQsIHRoZSBvcmRlciBpcw0KaW5zaWduaWZp
Y2FudC4gIFRha2UgYWR2YW50YWdlIG9mIHRoaXMgZmFjdC4gICovDQoNCmVu
dW1saXN0Og0KZW51bWVyYXRvcg0KfCBlbnVtbGlzdCAnLCcgZW51bWVyYXRv
cg0KOw0KDQplbnVtZXJhdG9yOg0KaWRlbnRpZmllcg0KfCBpZGVudGlmaWVy
ICc9JyBleHByX25vX2NvbW1hcw0KOw0KDQovKiBBTlNJIG5ldy10eXBlLWlk
ICg1LjMuNCkgKi8NCm5ld190eXBlX2lkOg0KdHlwZV9zcGVjaWZpZXJfc2Vx
IG5ld19kZWNsYXJhdG9yDQp8IHR5cGVfc3BlY2lmaWVyX3NlcSAlcHJlYyBF
TVBUWQ0KLyogR05VIGV4dGVuc2lvbiB0byBhbGxvdyBhcnJheXMgb2YgYXJi
aXRyYXJ5IHR5cGVzIHdpdGgNCm5vbi1jb25zdGFudCBkaW1lbnNpb24uICAq
Lw0KfCAnKCcgdHlwZV9pZCAnKScgJ1snIGV4cHIgJ10nDQo7DQoNCnR5cGVf
cXVhbHM6DQovKiBlbXB0eSAqLyAlcHJlYyBFTVBUWQ0KfCB0eXBlX3F1YWxz
IHR5cGVfcXVhbA0KOw0KDQpub25lbXB0eV90eXBlX3F1YWxzOg0KdHlwZV9x
dWFsDQp8IG5vbmVtcHR5X3R5cGVfcXVhbHMgdHlwZV9xdWFsDQo7DQoNCi8q
IFRoZXNlIHJ1bGVzIG11c3QgZm9sbG93IHRoZSBydWxlcyBmb3IgZnVuY3Rp
b24gZGVjbGFyYXRpb25zDQphbmQgY29tcG9uZW50IGRlY2xhcmF0aW9ucy4g
IFRoYXQgd2F5LCBsb25nZXIgcnVsZXMgYXJlIHByZWZlcnJlZC4gICovDQoN
CnN1c3BlbmRfbW9tOg0KDQovKiBBbiBleHByZXNzaW9uIHdoaWNoIHdpbGwg
bm90IGxpdmUgb24gdGhlIG1vbWVudGFyeSBvYnN0YWNrLiAgKi8NCm5vbm1v
bWVudGFyeV9leHByOg0Kc3VzcGVuZF9tb20gZXhwcg0KOw0KDQovKiBBbiBl
eHByZXNzaW9uIHdoaWNoIHdpbGwgbm90IGxpdmUgb24gdGhlIG1vbWVudGFy
eSBvYnN0YWNrLiAgKi8NCm1heWJlX3Bhcm1saXN0Og0Kc3VzcGVuZF9tb20g
JygnIG5vbm51bGxfZXhwcmxpc3QgJyknDQp8IHN1c3BlbmRfbW9tICcoJyBw
YXJtbGlzdCAnKScNCnwgc3VzcGVuZF9tb20gJygnICcpJw0KfCBzdXNwZW5k
X21vbSAnKCcgZXJyb3IgJyknDQo7DQoNCi8qIEEgZGVjbGFyYXRvciB0aGF0
IGlzIGFsbG93ZWQgb25seSBhZnRlciBhbiBleHBsaWNpdCB0eXBlc3BlYy4g
ICovDQovKiBtYXkgYWxsIGJlIGZvbGxvd2VkIGJ5IHByZWMgJy4nICovDQph
ZnRlcl90eXBlX2RlY2xhcmF0b3I6DQonKicgbm9uZW1wdHlfdHlwZV9xdWFs
cyBhZnRlcl90eXBlX2RlY2xhcmF0b3IgICVwcmVjIFVOQVJZDQp8ICcmJyBu
b25lbXB0eV90eXBlX3F1YWxzIGFmdGVyX3R5cGVfZGVjbGFyYXRvciAgJXBy
ZWMgVU5BUlkNCnwgJyonIGFmdGVyX3R5cGVfZGVjbGFyYXRvciAgJXByZWMg
VU5BUlkNCnwgJyYnIGFmdGVyX3R5cGVfZGVjbGFyYXRvciAgJXByZWMgVU5B
UlkNCnwgcHRyX3RvX21lbSB0eXBlX3F1YWxzIGFmdGVyX3R5cGVfZGVjbGFy
YXRvcg0KfCBkaXJlY3RfYWZ0ZXJfdHlwZV9kZWNsYXJhdG9yDQo7DQoNCnF1
YWxpZmllZF90eXBlX25hbWU6DQp0eXBlX25hbWUgJXByZWMgRU1QVFkNCnwg
bmVzdGVkX3R5cGUNCjsNCg0KbmVzdGVkX3R5cGU6DQpuZXN0ZWRfbmFtZV9z
cGVjaWZpZXIgdHlwZV9uYW1lICVwcmVjIEVNUFRZDQo7DQoNCmRpcmVjdF9h
ZnRlcl90eXBlX2RlY2xhcmF0b3I6DQpkaXJlY3RfYWZ0ZXJfdHlwZV9kZWNs
YXJhdG9yIG1heWJlX3Bhcm1saXN0IHR5cGVfcXVhbHMgJXByZWMgJy4nDQp8
IGRpcmVjdF9hZnRlcl90eXBlX2RlY2xhcmF0b3IgJ1snIG5vbm1vbWVudGFy
eV9leHByICddJw0KfCBkaXJlY3RfYWZ0ZXJfdHlwZV9kZWNsYXJhdG9yICdb
JyAnXScNCnwgJygnIGFmdGVyX3R5cGVfZGVjbGFyYXRvciAnKScNCnwgbmVz
dGVkX25hbWVfc3BlY2lmaWVyIHR5cGVfbmFtZSAlcHJlYyBFTVBUWQ0KfCB0
eXBlX25hbWUgJXByZWMgRU1QVFkNCjsNCg0KLyogQSBkZWNsYXJhdG9yIGFs
bG93ZWQgd2hldGhlciBvciBub3QgdGhlcmUgaGFzIGJlZW4NCmFuIGV4cGxp
Y2l0IHR5cGVzcGVjLiAgVGhlc2UgY2Fubm90IHJlZGVjbGFyZSBhIHR5cGVk
ZWYtbmFtZS4gICovDQoNCm5vdHlwZV9kZWNsYXJhdG9yOg0KJyonIG5vbmVt
cHR5X3R5cGVfcXVhbHMgbm90eXBlX2RlY2xhcmF0b3IgICVwcmVjIFVOQVJZ
DQp8ICcmJyBub25lbXB0eV90eXBlX3F1YWxzIG5vdHlwZV9kZWNsYXJhdG9y
ICAlcHJlYyBVTkFSWQ0KfCAnKicgbm90eXBlX2RlY2xhcmF0b3IgICVwcmVj
IFVOQVJZDQp8ICcmJyBub3R5cGVfZGVjbGFyYXRvciAgJXByZWMgVU5BUlkN
CnwgcHRyX3RvX21lbSB0eXBlX3F1YWxzIG5vdHlwZV9kZWNsYXJhdG9yDQp8
IGRpcmVjdF9ub3R5cGVfZGVjbGFyYXRvcg0KOw0KDQpjb21wbGV4X25vdHlw
ZV9kZWNsYXJhdG9yOg0KJyonIG5vbmVtcHR5X3R5cGVfcXVhbHMgbm90eXBl
X2RlY2xhcmF0b3IgICVwcmVjIFVOQVJZDQp8ICcmJyBub25lbXB0eV90eXBl
X3F1YWxzIG5vdHlwZV9kZWNsYXJhdG9yICAlcHJlYyBVTkFSWQ0KfCAnKicg
Y29tcGxleF9ub3R5cGVfZGVjbGFyYXRvciAgJXByZWMgVU5BUlkNCnwgJyYn
IGNvbXBsZXhfbm90eXBlX2RlY2xhcmF0b3IgICVwcmVjIFVOQVJZDQp8IHB0
cl90b19tZW0gdHlwZV9xdWFscyBub3R5cGVfZGVjbGFyYXRvcg0KfCBjb21w
bGV4X2RpcmVjdF9ub3R5cGVfZGVjbGFyYXRvcg0KOw0KDQpjb21wbGV4X2Rp
cmVjdF9ub3R5cGVfZGVjbGFyYXRvcjoNCmRpcmVjdF9ub3R5cGVfZGVjbGFy
YXRvciBtYXliZV9wYXJtbGlzdCB0eXBlX3F1YWxzICAlcHJlYyAnLicNCnwg
JygnIGNvbXBsZXhfbm90eXBlX2RlY2xhcmF0b3IgJyknDQp8IGRpcmVjdF9u
b3R5cGVfZGVjbGFyYXRvciAnWycgbm9ubW9tZW50YXJ5X2V4cHIgJ10nDQp8
IGRpcmVjdF9ub3R5cGVfZGVjbGFyYXRvciAnWycgJ10nDQp8IG5vdHlwZV9x
dWFsaWZpZWRfaWQNCjsNCg0KcXVhbGlmaWVkX2lkOg0KbmVzdGVkX25hbWVf
c3BlY2lmaWVyIHVucXVhbGlmaWVkX2lkDQo7DQoNCm5vdHlwZV9xdWFsaWZp
ZWRfaWQ6DQpuZXN0ZWRfbmFtZV9zcGVjaWZpZXIgbm90eXBlX3VucXVhbGlm
aWVkX2lkDQo7DQoNCm92ZXJxdWFsaWZpZWRfaWQ6DQpub3R5cGVfcXVhbGlm
aWVkX2lkDQp8IGdsb2JhbF9zY29wZSBub3R5cGVfcXVhbGlmaWVkX2lkDQo7
DQoNCmZ1bmN0aW9uYWxfY2FzdDoNCnR5cGVzcGVjICcoJyBub25udWxsX2V4
cHJsaXN0ICcpJw0KfCB0eXBlc3BlYyAnKCcgZXhwcl9vcl9kZWNsYXJhdG9y
ICcpJw0KfCB0eXBlc3BlYyBmY2FzdF9vcl9hYnNkY2wgJXByZWMgRU1QVFkN
CjsNCg0KdHlwZV9uYW1lOg0KVFlQRURFRk5BTUUNCnwgdGVtcGxhdGVfdHlw
ZSAlcHJlYyBFTVBUWQ0KOw0KDQpuZXN0ZWRfbmFtZV9zcGVjaWZpZXI6DQpu
ZXN0ZWRfbmFtZV9zcGVjaWZpZXJfMQ0KfCBuZXN0ZWRfbmFtZV9zcGVjaWZp
ZXIgbmVzdGVkX25hbWVfc3BlY2lmaWVyXzENCjsNCg0KLyogV2h5IHRoZSBA
QCMkJV4mIGRvIHR5cGVfbmFtZSBhbmQgbm90eXBlX2lkZW50aWZpZXIgbmVl
ZCB0byBiZSBleHBhbmRlZA0KaW5saW5lIGhlcmU/IT8gIChqYXNvbikgKi8N
Cm5lc3RlZF9uYW1lX3NwZWNpZmllcl8xOg0KVFlQRURFRk5BTUUgU0NPUEUN
CnwgTlNOQU1FIFNDT1BFDQp8IHRlbXBsYXRlX3R5cGUgU0NPUEUNCi8qIAlU
aGVzZSBicmVhayAnY29uc3QgaTsnDQp8IElERU5USUZJRVIgU0NPUEUNCnwg
UFRZUEVOQU1FIFNDT1BFDQp7IGdvdG8gZmFpbGVkX3Njb3BlOyB9ICovDQo7
DQoNCmNvbXBsZXRlX3R5cGVfbmFtZToNCnF1YWxpZmllZF90eXBlX25hbWUN
CnwgZ2xvYmFsX3Njb3BlIHF1YWxpZmllZF90eXBlX25hbWUNCjsNCg0KY29t
cGxleF90eXBlX25hbWU6DQpuZXN0ZWRfdHlwZQ0KfCBnbG9iYWxfc2NvcGUg
cXVhbGlmaWVkX3R5cGVfbmFtZQ0KOw0KDQpwdHJfdG9fbWVtOg0KbmVzdGVk
X25hbWVfc3BlY2lmaWVyICcqJw0KfCBnbG9iYWxfc2NvcGUgbmVzdGVkX25h
bWVfc3BlY2lmaWVyICcqJw0KOw0KDQovKiBBbGwgdXNlcyBvZiBleHBsaWNp
dCBnbG9iYWwgc2NvcGUgbXVzdCBnbyB0aHJvdWdoIHRoaXMgbm9udGVybWlu
YWwgc28NCnRoYXQgZ290X3Njb3BlIHdpbGwgYmUgc2V0IGJlZm9yZSB5eWxl
eCBpcyBjYWxsZWQgdG8gZ2V0IHRoZSBuZXh0IHRva2VuLiAqLw0KZ2xvYmFs
X3Njb3BlOg0KU0NPUEUNCjsNCg0KLyogQU5TSSBuZXctZGVjbGFyYXRvciAo
NS4zLjQpICovDQpuZXdfZGVjbGFyYXRvcjoNCicqJyB0eXBlX3F1YWxzIG5l
d19kZWNsYXJhdG9yDQp8ICcqJyB0eXBlX3F1YWxzICAlcHJlYyBFTVBUWQ0K
fCAnJicgdHlwZV9xdWFscyBuZXdfZGVjbGFyYXRvciAlcHJlYyBFTVBUWQ0K
fCAnJicgdHlwZV9xdWFscyAlcHJlYyBFTVBUWQ0KfCBwdHJfdG9fbWVtIHR5
cGVfcXVhbHMgJXByZWMgRU1QVFkNCnwgcHRyX3RvX21lbSB0eXBlX3F1YWxz
IG5ld19kZWNsYXJhdG9yDQp8IGRpcmVjdF9uZXdfZGVjbGFyYXRvciAlcHJl
YyBFTVBUWQ0KOw0KDQovKiBBTlNJIGRpcmVjdC1uZXctZGVjbGFyYXRvciAo
NS4zLjQpICovDQpkaXJlY3RfbmV3X2RlY2xhcmF0b3I6DQonWycgZXhwciAn
XScNCnwgZGlyZWN0X25ld19kZWNsYXJhdG9yICdbJyBub25tb21lbnRhcnlf
ZXhwciAnXScNCjsNCg0KLyogQU5TSSBhYnN0cmFjdC1kZWNsYXJhdG9yICg4
LjEpICovDQphYnNkY2w6DQonKicgbm9uZW1wdHlfdHlwZV9xdWFscyBhYnNk
Y2wNCnwgJyonIGFic2RjbA0KfCAnKicgbm9uZW1wdHlfdHlwZV9xdWFscyAg
JXByZWMgRU1QVFkNCnwgJyonICVwcmVjIEVNUFRZDQp8ICcmJyBub25lbXB0
eV90eXBlX3F1YWxzIGFic2RjbA0KfCAnJicgYWJzZGNsDQp8ICcmJyBub25l
bXB0eV90eXBlX3F1YWxzICVwcmVjIEVNUFRZDQp8ICcmJyAlcHJlYyBFTVBU
WQ0KfCBwdHJfdG9fbWVtIHR5cGVfcXVhbHMgJXByZWMgRU1QVFkNCnwgcHRy
X3RvX21lbSB0eXBlX3F1YWxzIGFic2RjbA0KfCBkaXJlY3RfYWJzdHJhY3Rf
ZGVjbGFyYXRvciAlcHJlYyBFTVBUWQ0KOw0KDQovKiBBTlNJIGRpcmVjdC1h
YnN0cmFjdC1kZWNsYXJhdG9yICg4LjEpICovDQpkaXJlY3RfYWJzdHJhY3Rf
ZGVjbGFyYXRvcjoNCicoJyBhYnNkY2wgJyknDQp8IFBBUkVOX1NUQVJfUEFS
RU4NCnwgZGlyZWN0X2Fic3RyYWN0X2RlY2xhcmF0b3IgJygnIHBhcm1saXN0
ICcpJyB0eXBlX3F1YWxzICAlcHJlYyAnLicNCnwgZGlyZWN0X2Fic3RyYWN0
X2RlY2xhcmF0b3IgJygnICcpJyB0eXBlX3F1YWxzICAlcHJlYyAnLicNCnwg
ZGlyZWN0X2Fic3RyYWN0X2RlY2xhcmF0b3IgJ1snIG5vbm1vbWVudGFyeV9l
eHByICddJyAgJXByZWMgJy4nDQp8IGRpcmVjdF9hYnN0cmFjdF9kZWNsYXJh
dG9yICdbJyAnXScgICVwcmVjICcuJw0KfCAnKCcgY29tcGxleF9wYXJtbGlz
dCAnKScgdHlwZV9xdWFscyAgJXByZWMgJy4nDQp8IHJlZ2Nhc3Rfb3JfYWJz
ZGNsIHR5cGVfcXVhbHMgJXByZWMgJy4nDQp8IGZjYXN0X29yX2Fic2RjbCB0
eXBlX3F1YWxzICVwcmVjICcuJw0KfCAnWycgbm9ubW9tZW50YXJ5X2V4cHIg
J10nICAlcHJlYyAnLicNCnwgJ1snICddJyAgJXByZWMgJy4nDQo7DQoNCi8q
IEZvciBDKyssIGRlY2xzIGFuZCBzdG10cyBjYW4gYmUgaW50ZXJtaXhlZCwg
c28gd2UgZG9uJ3QgbmVlZCB0bw0KaGF2ZSBhIHNwZWNpYWwgcnVsZSB0aGF0
IHdvbid0IHN0YXJ0IHBhcnNpbmcgdGhlIHN0bXQgc2VjdGlvbg0KdW50aWwg
d2UgaGF2ZSBhIHN0bXQgdGhhdCBwYXJzZXMgd2l0aG91dCBlcnJvcnMuICAq
Lw0KDQpzdG10czoNCnN0bXQNCnwgZXJyc3RtdA0KfCBzdG10cyBzdG10DQp8
IHN0bXRzIGVycnN0bXQNCjsNCg0KZXJyc3RtdDogIGVycm9yICc7Jw0KOw0K
DQovKiBidWlsZCB0aGUgTEVUX1NUTVQgbm9kZSBiZWZvcmUgcGFyc2luZyBp
dHMgY29udGVudHMsDQpzbyB0aGF0IGFueSBMRVRfU1RNVHMgd2l0aGluIHRo
ZSBjb250ZXh0IGNhbiBoYXZlIHRoZWlyIGRpc3BsYXkgcG9pbnRlcnMNCnNl
dCB1cCB0byBwb2ludCBhdCB0aGlzIG9uZS4gICovDQoNCi5wdXNobGV2ZWw6
ICAvKiBlbXB0eSAqLw0KOw0KDQoucG9wbGV2ZWw6ICAgLyogZW1wdHkgKi8N
CjsNCg0KLyogUmVhZCB6ZXJvIG9yIG1vcmUgZm9yd2FyZC1kZWNsYXJhdGlv
bnMgZm9yIGxhYmVscw0KdGhhdCBuZXN0ZWQgZnVuY3Rpb25zIGNhbiBqdW1w
IHRvLiAgKi8NCm1heWJlX2xhYmVsX2RlY2xzOg0KLyogZW1wdHkgKi8NCnwg
bGFiZWxfZGVjbHMNCjsNCg0KbGFiZWxfZGVjbHM6DQpsYWJlbF9kZWNsDQp8
IGxhYmVsX2RlY2xzIGxhYmVsX2RlY2wNCjsNCg0KbGFiZWxfZGVjbDoNCkxB
QkVMIGlkZW50aWZpZXJzX29yX3R5cGVuYW1lcyAnOycNCjsNCg0KLyogVGhp
cyBpcyB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24uDQpJdCBj
YXVzZXMgc3ludGF4IGVycm9ycyB0byBpZ25vcmUgdG8gdGhlIG5leHQgb3Bl
bmJyYWNlLiAgKi8NCmNvbXBzdG10X29yX2Vycm9yOg0KY29tcHN0bXQNCnwg
ZXJyb3IgY29tcHN0bXQNCjsNCg0KY29tcHN0bXQ6ICd7JyAucHVzaGxldmVs
IGNvbXBzdG10ZW5kIC5wb3BsZXZlbA0KOw0KDQpzaW1wbGVfaWY6DQpJRiAu
cHVzaGxldmVsIHBhcmVuX2NvbmRfb3JfbnVsbCBpbXBsaWNpdGx5X3Njb3Bl
ZF9zdG10DQo7DQoNCmltcGxpY2l0bHlfc2NvcGVkX3N0bXQ6DQpjb21wc3Rt
dA0KfCAucHVzaGxldmVsIHNpbXBsZV9zdG10IC5wb3BsZXZlbA0KOw0KDQpz
dG10Og0KY29tcHN0bXQNCnwgc2ltcGxlX3N0bXQNCjsNCg0Kc2ltcGxlX3N0
bXQ6DQpkZWNsDQp8IGV4cHIgJzsnDQp8IHNpbXBsZV9pZiBFTFNFIGltcGxp
Y2l0bHlfc2NvcGVkX3N0bXQgLnBvcGxldmVsDQp8IHNpbXBsZV9pZiAlcHJl
YyBJRg0KfCBXSElMRSAucHVzaGxldmVsIHBhcmVuX2NvbmRfb3JfbnVsbCBh
bHJlYWR5X3Njb3BlZF9zdG10IC5wb3BsZXZlbA0KfCBETyBpbXBsaWNpdGx5
X3Njb3BlZF9zdG10IFdISUxFIHBhcmVuX2V4cHJfb3JfbnVsbCAnOycNCnwg
Rk9SICcoJyBmb3IuaW5pdC5zdGF0ZW1lbnQgLnB1c2hsZXZlbCB4Y29uZCAn
OycgeGV4cHIgJyknDQphbHJlYWR5X3Njb3BlZF9zdG10IC5wb3BsZXZlbA0K
fCBTV0lUQ0ggLnB1c2hsZXZlbCAnKCcgY29uZGl0aW9uICcpJyBpbXBsaWNp
dGx5X3Njb3BlZF9zdG10IC5wb3BsZXZlbA0KfCBDQVNFIGV4cHJfbm9fY29t
bWFzICc6JyBzdG10DQp8IENBU0UgZXhwcl9ub19jb21tYXMgRUxMSVBTSVMg
ZXhwcl9ub19jb21tYXMgJzonIHN0bXQNCnwgREVGQVVMVCAnOicgc3RtdA0K
fCBCUkVBSyAnOycNCnwgQ09OVElOVUUgJzsnDQp8IFJFVFVSTiAnOycNCnwg
UkVUVVJOIGV4cHIgJzsnDQp8IGFzbV9rZXl3b3JkIG1heWJlX3R5cGVfcXVh
bCAnKCcgc3RyaW5nICcpJyAnOycNCnwgYXNtX2tleXdvcmQgbWF5YmVfdHlw
ZV9xdWFsICcoJyBzdHJpbmcgJzonIGFzbV9vcGVyYW5kcyAnKScgJzsnDQp8
IGFzbV9rZXl3b3JkIG1heWJlX3R5cGVfcXVhbCAnKCcgc3RyaW5nICc6JyBh
c21fb3BlcmFuZHMgJzonIGFzbV9vcGVyYW5kcyAnKScgJzsnDQp8IGFzbV9r
ZXl3b3JkIG1heWJlX3R5cGVfcXVhbCAnKCcgc3RyaW5nICc6JyBhc21fb3Bl
cmFuZHMgJzonDQphc21fb3BlcmFuZHMgJzonIGFzbV9jbG9iYmVycyAnKScg
JzsnDQp8IEdPVE8gJyonIGV4cHIgJzsnDQp8IEdPVE8gaWRlbnRpZmllciAn
OycNCnwgbGFiZWxfY29sb24gc3RtdA0KfCBsYWJlbF9jb2xvbiAnfScNCnwg
JzsnDQp8IHRyeV9ibG9jaw0KOw0KDQpmdW5jdGlvbl90cnlfYmxvY2s6DQpU
UlkgY3Rvcl9pbml0aWFsaXplcl9vcHQgY29tcHN0bXRfb3JfZXJyb3IgaGFu
ZGxlcl9zZXENCjsNCg0KdHJ5X2Jsb2NrOg0KVFJZIGNvbXBzdG10IGhhbmRs
ZXJfc2VxDQo7DQoNCmhhbmRsZXJfc2VxOg0KLyogZW1wdHkgKi8NCnwgaGFu
ZGxlcl9zZXEgQ0FUQ0ggLnB1c2hsZXZlbCBoYW5kbGVyX2FyZ3MgY29tcHN0
bXQgLnBvcGxldmVsDQo7DQoNCnR5cGVfc3BlY2lmaWVyX3NlcToNCnR5cGVk
X3R5cGVzcGVjcyAlcHJlYyBFTVBUWQ0KfCBub25lbXB0eV90eXBlX3F1YWxz
ICVwcmVjIEVNUFRZDQo7DQoNCmhhbmRsZXJfYXJnczoNCicoJyBFTExJUFNJ
UyAnKScNCi8qIFRoaXMgZG9lc24ndCBhbGxvdyByZWZlcmVuY2UgcGFyYW1l
dGVycywgdGhlIGJlbG93IGRvZXMuDQp8ICcoJyB0eXBlX3NwZWNpZmllcl9z
ZXEgYWJzZGNsICcpJw0KfCAnKCcgdHlwZV9zcGVjaWZpZXJfc2VxICcpJw0K
fCAnKCcgdHlwZV9zcGVjaWZpZXJfc2VxIG5vdHlwZV9kZWNsYXJhdG9yICcp
Jw0KfCAnKCcgdHlwZWRfdHlwZXNwZWNzIGFmdGVyX3R5cGVfZGVjbGFyYXRv
ciAnKScNClRoaXMgYWxsb3dzIHJlZmVyZW5jZSBwYXJhbWV0ZXJzLi4uICov
DQp8ICcoJyBwYXJtICcpJw0KOw0KDQpsYWJlbF9jb2xvbjoNCklERU5USUZJ
RVIgJzonDQp8IFBUWVBFTkFNRSAnOicNCnwgVFlQRURFRk5BTUUgJzonDQo7
DQoNCmZvci5pbml0LnN0YXRlbWVudDoNCnhleHByICc7Jw0KfCBkZWNsDQp8
ICd7JyBjb21wc3RtdGVuZA0KOw0KDQovKiBFaXRoZXIgYSB0eXBlLXF1YWxp
ZmllciBvciBub3RoaW5nLiAgRmlyc3QgdGhpbmcgaW4gYW4gYGFzbScgc3Rh
dGVtZW50LiAgKi8NCg0KbWF5YmVfdHlwZV9xdWFsOg0KLyogZW1wdHkgKi8N
CnwgdHlwZV9xdWFsDQo7DQoNCnR5cGVfcXVhbDoNCkNPTlNUDQp8IFZPTEFU
SUxFDQo7DQp4ZXhwcjoNCi8qIGVtcHR5ICovDQp8IGV4cHINCnwgZXJyb3IN
CjsNCg0KLyogVGhlc2UgYXJlIHRoZSBvcGVyYW5kcyBvdGhlciB0aGFuIHRo
ZSBmaXJzdCBzdHJpbmcgYW5kIGNvbG9uDQppbiAgYXNtICgiYWRkZXh0ZW5k
ICUyLCUxIjogIj1kbSIgKHgpLCAiMCIgKHkpLCAiZyIgKCp4KSkgICovDQph
c21fb3BlcmFuZHM6IC8qIGVtcHR5ICovDQp8IG5vbm51bGxfYXNtX29wZXJh
bmRzDQo7DQoNCm5vbm51bGxfYXNtX29wZXJhbmRzOg0KYXNtX29wZXJhbmQN
Cnwgbm9ubnVsbF9hc21fb3BlcmFuZHMgJywnIGFzbV9vcGVyYW5kDQo7DQoN
CmFzbV9vcGVyYW5kOg0KU1RSSU5HICcoJyBleHByICcpJw0KOw0KDQphc21f
Y2xvYmJlcnM6DQpTVFJJTkcNCnwgYXNtX2Nsb2JiZXJzICcsJyBTVFJJTkcN
CjsNCg0KLyogVGhpcyBpcyB3aGF0IGFwcGVhcnMgaW5zaWRlIHRoZSBwYXJl
bnMgaW4gYSBmdW5jdGlvbiBkZWNsYXJhdG9yLg0KSXRzIHZhbHVlIGlzIHJl
cHJlc2VudGVkIGluIHRoZSBmb3JtYXQgdGhhdCBncm9rZGVjbGFyYXRvciBl
eHBlY3RzLg0KDQpJbiBDKyssIGRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGgg
bm8gcGFyYW1ldGVycw0KbWVhbnMgdGhhdCB0aGF0IGZ1bmN0aW9uIHRha2Vz
ICpubyogcGFyYW1ldGVycy4gICovDQoNCnBhcm1saXN0OiAgLyogZW1wdHkg
Ki8NCmNvbXBsZXhfcGFybWxpc3QNCnwgdHlwZV9pZA0KOw0KDQovKiBUaGlz
IG5vbnRlcm1pbmFsIGRvZXMgbm90IGluY2x1ZGUgdGhlIGNvbW1vbiBzZXF1
ZW5jZSAnKCcgdHlwZV9pZCAnKScsDQphcyBpdCBpcyBhbWJpZ3VvdXMgYW5k
IG11c3QgYmUgZGlzYW1iaWd1YXRlZCBlbHNld2hlcmUuICAqLw0KY29tcGxl
eF9wYXJtbGlzdDoNCnBhcm1zDQp8IHBhcm1zX2NvbW1hIEVMTElQU0lTDQp8
IHBhcm1zIEVMTElQU0lTDQp8IHR5cGVfaWQgRUxMSVBTSVMNCnwgRUxMSVBT
SVMNCnwgVFlQRU5BTUVfRUxMSVBTSVMNCnwgcGFybXMgVFlQRU5BTUVfRUxM
SVBTSVMNCnwgdHlwZV9pZCBUWVBFTkFNRV9FTExJUFNJUw0KfCBwYXJtcyAn
OicNCnwgdHlwZV9pZCAnOicNCjsNCg0KLyogQSBub25lbXB0eSBsaXN0IG9m
IHBhcmFtZXRlciBkZWNsYXJhdGlvbnMgb3IgdHlwZSBuYW1lcy4gICovDQpw
YXJtczoNCm5hbWVkX3Bhcm0NCnwgcGFybSAnPScgaW5pdA0KfCBwYXJtc19j
b21tYSBmdWxsX3Bhcm0NCnwgcGFybXNfY29tbWEgYmFkX3Bhcm0NCnwgcGFy
bXNfY29tbWEgYmFkX3Bhcm0gJz0nIGluaXQNCjsNCg0KcGFybXNfY29tbWE6
DQpwYXJtcyAnLCcNCnwgdHlwZV9pZCAnLCcNCjsNCg0KLyogQSBzaW5nbGUg
cGFyYW1ldGVyIGRlY2xhcmF0aW9uIG9yIHBhcmFtZXRlciB0eXBlIG5hbWUs
DQphcyBmb3VuZCBpbiBhIHBhcm1saXN0LiAgVGhlIGZpcnN0IGZvdXIgY2Fz
ZXMgbWFrZSB1cCBmb3IgMTAlDQpvZiB0aGUgdGltZSBzcGVudCBwYXJzaW5n
IEMrKy4gIFdlIGNhbm5vdCB1c2UgdGhlbSBiZWNhdXNlDQpvZiBgaW50IGlk
W10nIHdoaWNoIHdvbid0IGdldCBwYXJzZWQgcHJvcGVybHkuICAqLw0KbmFt
ZWRfcGFybToNCi8qDQp0eXBlZF9kZWNsc3BlY3MgZG9udF9zZWVfdHlwZW5h
bWUgJyonIElERU5USUZJRVINCnwgdHlwZWRfZGVjbHNwZWNzIGRvbnRfc2Vl
X3R5cGVuYW1lICcmJyBJREVOVElGSUVSDQp8IFRZUEVERUZOQU1FIElERU5U
SUZJRVINCnwgVFlQRVNQRUMgSURFTlRJRklFUg0KfCAqLw0KLyogSGVyZSB3
ZSBleHBhbmQgdHlwZWRfZGVjbHNwZWNzIGlubGluZSB0byBhdm9pZCBtaXMt
cGFyc2luZyBvZg0KVFlQRVNQRUMgSURFTlRJRklFUi4gICovDQp0eXBlZF9k
ZWNsc3BlY3MxIGRlY2xhcmF0b3INCnwgdHlwZWRfdHlwZXNwZWNzIGRlY2xh
cmF0b3INCnwgdHlwZXNwZWMgZGVjbGFyYXRvcg0KfCB0eXBlZF9kZWNsc3Bl
Y3MxIGFic2RjbA0KfCB0eXBlZF9kZWNsc3BlY3MxICVwcmVjIEVNUFRZDQp8
IGRlY2xtb2RzIG5vdHlwZV9kZWNsYXJhdG9yDQo7DQoNCmZ1bGxfcGFybToN
CnBhcm0gbWF5YmVfaW5pdA0KOw0KDQpwYXJtOg0KbmFtZWRfcGFybQ0KfCB0
eXBlX2lkDQo7DQoNCnNlZV90eXBlbmFtZTogJXByZWMgRU1QVFkNCjsNCg0K
LyogDQpkb250X3NlZV90eXBlbmFtZTogJXByZWMgRU1QVFkNCjsgDQoNCnRy
eV9mb3JfdHlwZW5hbWU6DQo7DQoqLw0KDQpiYWRfcGFybToNCi8qIGVtcHR5
ICovICVwcmVjIEVNUFRZDQp8IG5vdHlwZV9kZWNsYXJhdG9yDQo7DQoNCmV4
Y2VwdGlvbl9zcGVjaWZpY2F0aW9uX29wdDoNCiVwcmVjIEVNUFRZIC8qIGVt
cHR5ICovDQp8IFRIUk9XICcoJyBhbnNpX3JhaXNlX2lkZW50aWZpZXJzICAn
KScgJXByZWMgRU1QVFkNCnwgVEhST1cgJygnICcpJyAlcHJlYyBFTVBUWQ0K
Ow0KDQphbnNpX3JhaXNlX2lkZW50aWZpZXI6DQp0eXBlX2lkDQo7DQoNCmFu
c2lfcmFpc2VfaWRlbnRpZmllcnM6DQphbnNpX3JhaXNlX2lkZW50aWZpZXIN
CnwgYW5zaV9yYWlzZV9pZGVudGlmaWVycyAnLCcgYW5zaV9yYWlzZV9pZGVu
dGlmaWVyDQo7DQoNCmNvbnZlcnNpb25fZGVjbGFyYXRvcjoNCi8qIGVtcHR5
ICovICVwcmVjIEVNUFRZDQp8ICcqJyB0eXBlX3F1YWxzIGNvbnZlcnNpb25f
ZGVjbGFyYXRvcg0KfCAnJicgdHlwZV9xdWFscyBjb252ZXJzaW9uX2RlY2xh
cmF0b3INCnwgcHRyX3RvX21lbSB0eXBlX3F1YWxzIGNvbnZlcnNpb25fZGVj
bGFyYXRvcg0KOw0KDQpvcGVyYXRvcjogT1BFUkFUT1INCjsNCg0Kb3BlcmF0
b3JfbmFtZToNCm9wZXJhdG9yICcqJw0KfCBvcGVyYXRvciAnLycNCnwgb3Bl
cmF0b3IgJyUnDQp8IG9wZXJhdG9yICcrJw0KfCBvcGVyYXRvciAnLScNCnwg
b3BlcmF0b3IgJyYnDQp8IG9wZXJhdG9yICd8Jw0KfCBvcGVyYXRvciAnXicN
Cnwgb3BlcmF0b3IgJ34nDQp8IG9wZXJhdG9yICcsJw0KfCBvcGVyYXRvciBB
UklUSENPTVBBUkUNCnwgb3BlcmF0b3IgJzwnDQp8IG9wZXJhdG9yICc+Jw0K
fCBvcGVyYXRvciBFUUNPTVBBUkUNCnwgb3BlcmF0b3IgQVNTSUdODQp8IG9w
ZXJhdG9yICc9Jw0KfCBvcGVyYXRvciBMU0hJRlQNCnwgb3BlcmF0b3IgUlNI
SUZUDQp8IG9wZXJhdG9yIFBMVVNQTFVTDQp8IG9wZXJhdG9yIE1JTlVTTUlO
VVMNCnwgb3BlcmF0b3IgQU5EQU5EDQp8IG9wZXJhdG9yIE9ST1INCnwgb3Bl
cmF0b3IgJyEnDQp8IG9wZXJhdG9yICc/JyAnOicNCnwgb3BlcmF0b3IgTUlO
X01BWA0KfCBvcGVyYXRvciBQT0lOVFNBVCAgJXByZWMgRU1QVFkNCnwgb3Bl
cmF0b3IgUE9JTlRTQVRfU1RBUiAgJXByZWMgRU1QVFkNCnwgb3BlcmF0b3Ig
JygnICcpJw0KfCBvcGVyYXRvciAnWycgJ10nDQp8IG9wZXJhdG9yIE5FVyAl
cHJlYyBFTVBUWQ0KfCBvcGVyYXRvciBERUxFVEUgJXByZWMgRU1QVFkNCnwg
b3BlcmF0b3IgTkVXICdbJyAnXScNCnwgb3BlcmF0b3IgREVMRVRFICdbJyAn
XScNCi8qIE5hbWVzIGhlcmUgc2hvdWxkIGJlIGxvb2tlZCB1cCBpbiBjbGFz
cyBzY29wZSBBTFNPLiAgKi8NCnwgb3BlcmF0b3IgdHlwZV9zcGVjaWZpZXJf
c2VxIGNvbnZlcnNpb25fZGVjbGFyYXRvcg0KfCBvcGVyYXRvciBlcnJvcg0K
Ow0KDQolJQ0K
---1463803903-1439073610-946274868=:333
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="parse.l"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT LNX DOT 3 DOT 96 DOT 991227113748 DOT 333I AT vani>
Content-Description: lexer

JXsNCi8qKioqKioqKioqKioqKiogSW5jbHVkZXMgYW5kIERlZmluZXMgKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KI2luY2x1ZGUgInku
dGFiLmgiIC8qIFlBQ0MgZ2VuZXJhdGVkIGRlZmluaXRpb25zIGJhc2VkIG9u
IEMrKyBwYXJzZXIgaW5wdXQqLw0KDQp0eXBlZGVmIGNoYXIgKiBZWVNUWVBF
OyAvKiBpbnRlcmZhY2Ugd2l0aCBsZXhlcjogc2hvdWxkIGJlIGluIGhlYWRl
ciBmaWxlKi8NCg0KY2hhciAqIHl5bHZhbDsgLyogV2Ugd2lsbCBhbHdheXMg
cG9pbnQgYXQgdGhlIHRleHQgb2YgdGhlIGxleGVtZS4NCiAgICBUaGlzICBt
YWtlcyAgaXQgIGVhc3kgIHRvICBwcmludCAgb3V0ICBuaWNlIHRyZWVzIHdo
ZW4gWVlERUJVRyBpcyANCiAgICBlbmFibGVkICAoc2VlICB0aGUgIEMrKyAg
Z3JhbW1hciAgZmlsZSwgIGFuZCAgaXRzICBkZWZpbml0aW9uICBvZiANCiAg
ICBZWURFQlVHX0xFWEVSX1RFWFQgdG8gYmUgInl5bHZhbCIpICovDQoNCiAg
ICANCiNkZWZpbmUgV0hJVEVfUkVUVVJOKHgpICAvKiBkbyBub3RoaW5nLCAg
Ki8NCg0KLyogI2RlZmluZSBORVdfTElORV9SRVRVUk4oKSBXSElURV9SRVRV
Uk4oJ1xuJykgKi8NCi8qIGNvbW1lbnRlZCB0aGlzIHBhcnQgdG8gaGFuZGxl
IGl0IGF0IHRoZSBwbGFjZSB3aGVyZSBuZXdsaW5lIGlzIGZvdW5kICovDQoN
CiNkZWZpbmUgUEFfS0VZV09SRF9SRVRVUk4oeCkgICBSRVRVUk5fVkFMKHgp
ICAvKiBzdGFuZGFyZCBDIFBBcnNlciBLZXl3b3JkICovDQojZGVmaW5lIENQ
UF9LRVlXT1JEX1JFVFVSTih4KSAgUEFfS0VZV09SRF9SRVRVUk4oeCkgIC8q
IEMrKyBrZXl3b3JkICovDQojZGVmaW5lIFBQUEFfS0VZV09SRF9SRVRVUk4o
eCkgUkVUVVJOX1ZBTCh4KSAgLyogYm90aCBQcmVQcm9jZXNzb3IgYW5kIFBB
cnNlciBrZXl3b3JkICovDQojZGVmaW5lIFBQX0tFWVdPUkRfUkVUVVJOKHgp
ICAgSURFTlRJRklFUl9SRVRVUk4oKQ0KDQojZGVmaW5lIElERU5USUZJRVJf
UkVUVVJOKCkgUkVUVVJOX1ZBTChpc2FUWVBFKHl5dGV4dCk/VFlQRURFRk5B
TUU6SURFTlRJRklFUikgDQoNCiNkZWZpbmUgUFBPUF9SRVRVUk4oeCkgICAg
ICAgUkVUVVJOX1ZBTCgoaW50KSp5eXRleHQpIC8qIFByZVByb2Nlc3MgYW5k
IFBhcnNlciBvcGVyYXRvciAqLw0KI2RlZmluZSBOQU1FRF9QUE9QX1JFVFVS
Tih4KSAvKiBlcnJvcjogUHJlUHJvY2Vzc29yIE9OTFkgb3BlcmF0b3I7ICBE
byBub3RoaW5nICovDQojZGVmaW5lIEFTQ0lJT1BfUkVUVVJOKHgpICAgIFJF
VFVSTl9WQUwoKGludCkqeXl0ZXh0KSAvKiBhIHNpbmdsZSBjaGFyYWN0ZXIg
b3BlcmF0b3IgKi8NCiNkZWZpbmUgTkFNRURPUF9SRVRVUk4oeCkgICAgUkVU
VVJOX1ZBTCh4KSAgICAgICAgICAgIC8qIGEgbXVsdGljaGFyIG9wZXJhdG9y
LCB3aXRoIGEgbmFtZSAqLw0KDQojZGVmaW5lIE5VTUVSSUNBTF9SRVRVUk4o
eCkgUkVUVVJOX1ZBTCh4KSAgICAgICAgICAgIC8qIHNvbWUgc29ydCBvZiBj
b25zdGFudCAqLw0KI2RlZmluZSBMSVRFUkFMX1JFVFVSTih4KSAgIFJFVFVS
Tl9WQUwoeCkgICAgICAgICAgICAvKiBhIHN0cmluZyBsaXRlcmFsICovDQoN
CiNkZWZpbmUgUkVUVVJOX1ZBTCh4KSB5eWx2YWwgPSB5eXRleHQ7IHJldHVy
bih4KTsNCg0KDQolfQ0KDQppZGVudGlmaWVyIFthLXpBLVpfXVswLTlhLXpB
LVpfXSoNCg0KZXhwb25lbnRfcGFydCBbZUVdWy0rXT9bMC05XSsNCmZyYWN0
aW9uYWxfY29uc3RhbnQgKFswLTldKiIuIlswLTldKyl8KFswLTldKyIuIikN
CmZsb2F0aW5nX2NvbnN0YW50ICgoe2ZyYWN0aW9uYWxfY29uc3RhbnR9e2V4
cG9uZW50X3BhcnR9Pyl8KFswLTldK3tleHBvbmVudF9wYXJ0fSkpW0ZmTGxd
Pw0KDQppbnRlZ2VyX3N1ZmZpeF9vcHQgKFt1VV0/W2xMXT8pfChbbExdW3VV
XSkNCmRlY2ltYWxfY29uc3RhbnQgWzEtOV1bMC05XSp7aW50ZWdlcl9zdWZm
aXhfb3B0fQ0Kb2N0YWxfY29uc3RhbnQgIjAiWzAtN10qe2ludGVnZXJfc3Vm
Zml4X29wdH0NCmhleF9jb25zdGFudCAiMCJbeFhdWzAtOWEtZkEtRl0re2lu
dGVnZXJfc3VmZml4X29wdH0NCg0Kc2ltcGxlX2VzY2FwZSBbYWJmbnJ0dici
P1xcXQ0Kb2N0YWxfZXNjYXBlICBbMC03XXsxLDN9DQpoZXhfZXNjYXBlICJ4
IlswLTlhLWZBLUZdKw0KDQplc2NhcGVfc2VxdWVuY2UgW1xcXSh7c2ltcGxl
X2VzY2FwZX18e29jdGFsX2VzY2FwZX18e2hleF9lc2NhcGV9KQ0KY19jaGFy
IFteJ1xcXG5dfHtlc2NhcGVfc2VxdWVuY2V9DQpzX2NoYXIgW14iXFxcbl18
e2VzY2FwZV9zZXF1ZW5jZX0NCg0KaF90YWIgW1wwMTFdDQpmb3JtX2ZlZWQg
W1wwMTRdDQp2X3RhYiBbXDAxM10NCmNfcmV0dXJuIFtcMDE1XQ0KDQpob3Jp
em9udGFsX3doaXRlIFsgXXx7aF90YWJ9DQoNCiUlDQoNCg0Ke2hvcml6b250
YWxfd2hpdGV9KyAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgV0hJ
VEVfUkVUVVJOKCcgJyk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoN
Cih7dl90YWJ9fHtjX3JldHVybn18e2Zvcm1fZmVlZH0pKyAgIHsgDQogICAg
ICAgICAgICAgICAgICAgICAgICBXSElURV9SRVRVUk4oJyAnKTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCg0KDQooe2hvcml6b250YWxfd2hpdGV9
fHt2X3RhYn18e2NfcmV0dXJufXx7Zm9ybV9mZWVkfSkqIlxuIiAgIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgIFdISVRFX1JFVFVSTihFTkRfT0ZfTElO
RSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQpfX2V4dGVuc2lvbl9f
CSAgIHtQQV9LRVlXT1JEX1JFVFVSTihFWFRFTlNJT04pO30NCl9fYXR0cmli
dXRlX18JICAge1BBX0tFWVdPUkRfUkVUVVJOKEFUVFJJQlVURSk7fQ0KX190
eXBlb2YJICAgeyBQQV9LRVlXT1JEX1JFVFVSTihUWVBFT0YpO30NCl9fYWxp
Z25vZl9fCSAgIHtQQV9LRVlXT1JEX1JFVFVSTihBTElHTk9GKTt9DQoNCmF1
dG8gICAgICAgICAgICAgICAge1BBX0tFWVdPUkRfUkVUVVJOKEFVVE8pO30N
CmJyZWFrICAgICAgICAgICAgICAge1BBX0tFWVdPUkRfUkVUVVJOKEJSRUFL
KTt9DQpjYXNlICAgICAgICAgICAgICAgIHtQQV9LRVlXT1JEX1JFVFVSTihD
QVNFKTt9DQpjaGFyICAgICAgICAgICAgICAgIHtQQV9LRVlXT1JEX1JFVFVS
TihDSEFSKTt9DQpjb25zdCAgICAgICAgICAgICAgIHtQQV9LRVlXT1JEX1JF
VFVSTihDT05TVCk7fQ0KY29udGludWUgICAgICAgICAgICB7UEFfS0VZV09S
RF9SRVRVUk4oQ09OVElOVUUpO30NCmRlZmF1bHQgICAgICAgICAgICAge1BB
X0tFWVdPUkRfUkVUVVJOKERFRkFVTFQpO30NCmRlZmluZSAgICAgICAgICAg
ICB7UFBfS0VZV09SRF9SRVRVUk4oREVGSU5FKTt9DQpkZWZpbmVkICAgICAg
ICAgICAge1BQX0tFWVdPUkRfUkVUVVJOKE9QREVGSU5FRCk7fQ0KZG8gICAg
ICAgICAgICAgICAgICB7UEFfS0VZV09SRF9SRVRVUk4oRE8pO30NCmRvdWJs
ZSAgICAgICAgICAgICAge1BBX0tFWVdPUkRfUkVUVVJOKERPVUJMRSk7fQ0K
ZWxpZiAgICAgICAgICAgICAgICB7UFBfS0VZV09SRF9SRVRVUk4oRUxJRik7
fQ0KZWxzZSAgICAgICAgICAgICAge1BQUEFfS0VZV09SRF9SRVRVUk4oRUxT
RSk7fQ0KZW5kaWYgICAgICAgICAgICAgIHtQUF9LRVlXT1JEX1JFVFVSTihF
TkRJRik7fQ0KZW51bSAgICAgICAgICAgICAgICB7UEFfS0VZV09SRF9SRVRV
Uk4oRU5VTSk7fQ0KZXJyb3IgICAgICAgICAgICAgIHtQUF9LRVlXT1JEX1JF
VFVSTihFUlJPUik7fQ0KZXh0ZXJuICAgICAgICAgICAgICB7UEFfS0VZV09S
RF9SRVRVUk4oRVhURVJOKTt9DQpmbG9hdCAgICAgICAgICAgICAgIHtQQV9L
RVlXT1JEX1JFVFVSTihGTE9BVCk7fQ0KZm9yICAgICAgICAgICAgICAgICB7
UEFfS0VZV09SRF9SRVRVUk4oRk9SKTt9DQpnb3RvICAgICAgICAgICAgICAg
IHtQQV9LRVlXT1JEX1JFVFVSTihHT1RPKTt9DQppZiAgICAgICAgICAgICAg
ICB7UFBQQV9LRVlXT1JEX1JFVFVSTihJRik7fQ0KaWZkZWYgICAgICAgICAg
ICAgIHtQUF9LRVlXT1JEX1JFVFVSTihJRkRFRik7fQ0KaWZuZGVmICAgICAg
ICAgICAgIHtQUF9LRVlXT1JEX1JFVFVSTihJRk5ERUYpO30NCmluY2x1ZGUg
ICAgICAgICAgICB7UFBfS0VZV09SRF9SRVRVUk4oSU5DTFVERSk7IH0NCmlu
dCAgICAgICAgICAgICAgICAge1BBX0tFWVdPUkRfUkVUVVJOKElOVCk7fQ0K
bGluZSAgICAgICAgICAgICAgIHtQUF9LRVlXT1JEX1JFVFVSTihMSU5FKTt9
DQpsb25nICAgICAgICAgICAgICAgIHtQQV9LRVlXT1JEX1JFVFVSTihMT05H
KTt9DQpwcmFnbWEgICAgICAgICAgICAge1BQX0tFWVdPUkRfUkVUVVJOKFBS
QUdNQSk7fQ0KcmVnaXN0ZXIgICAgICAgICAgICB7UEFfS0VZV09SRF9SRVRV
Uk4oUkVHSVNURVIpO30NCnJldHVybiAgICAgICAgICAgICAge1BBX0tFWVdP
UkRfUkVUVVJOKFJFVFVSTik7fQ0Kc2hvcnQgICAgICAgICAgICAgICB7UEFf
S0VZV09SRF9SRVRVUk4oU0hPUlQpO30NCnNpZ25lZCAgICAgICAgICAgICAg
e1BBX0tFWVdPUkRfUkVUVVJOKFNJR05FRCk7fQ0Kc2l6ZW9mICAgICAgICAg
ICAgICB7UEFfS0VZV09SRF9SRVRVUk4oU0laRU9GKTt9DQpzdGF0aWMgICAg
ICAgICAgICAgIHtQQV9LRVlXT1JEX1JFVFVSTihTVEFUSUMpO30NCnN0cnVj
dCAgICAgICAgICAgICAgey8qUEFfS0VZV09SRF9SRVRVUk4oU1RSVUNUKTsq
L30NCnN3aXRjaCAgICAgICAgICAgICAge1BBX0tFWVdPUkRfUkVUVVJOKFNX
SVRDSCk7fQ0KdHlwZWRlZiAgICAgICAgICAgICB7UEFfS0VZV09SRF9SRVRV
Uk4oVFlQRURFRik7fQ0KdW5kZWYgICAgICAgICAgICAgIHtQUF9LRVlXT1JE
X1JFVFVSTihVTkRFRik7fQ0KdW5pb24gICAgICAgICAgICAgICB7LypQQV9L
RVlXT1JEX1JFVFVSTihVTklPTik7Ki99DQp1bnNpZ25lZCAgICAgICAgICAg
IHtQQV9LRVlXT1JEX1JFVFVSTihVTlNJR05FRCk7fQ0Kdm9pZCAgICAgICAg
ICAgICAgICB7UEFfS0VZV09SRF9SRVRVUk4oVk9JRCk7fQ0Kdm9sYXRpbGUg
ICAgICAgICAgICB7UEFfS0VZV09SRF9SRVRVUk4oVk9MQVRJTEUpO30NCndo
aWxlICAgICAgICAgICAgICAge1BBX0tFWVdPUkRfUkVUVVJOKFdISUxFKTt9
DQphc20gCQkgICAge1BBX0tFWVdPUkRfUkVUVVJOKEFTTV9LRVlXT1JEKTt9
DQoNCmNsYXNzICAgICAgICAgICAgICAgey8qQ1BQX0tFWVdPUkRfUkVUVVJO
KENMQVNTKTsqL30NCmRlbGV0ZSAgICAgICAgICAgICAge0NQUF9LRVlXT1JE
X1JFVFVSTihERUxFVEUpO30NCmZyaWVuZCAgICAgICAgICAgICAge0NQUF9L
RVlXT1JEX1JFVFVSTihGUklFTkQpO30NCmlubGluZSAgICAgICAgICAgICAg
e0NQUF9LRVlXT1JEX1JFVFVSTihJTkxJTkUpO30NCm5ldyAgICAgICAgICAg
ICAgICAge0NQUF9LRVlXT1JEX1JFVFVSTihORVcpO30NCm9wZXJhdG9yICAg
ICAgICAgICAge0NQUF9LRVlXT1JEX1JFVFVSTihPUEVSQVRPUik7fQ0Kb3Zl
cmxvYWQgICAgICAgICAgICB7Q1BQX0tFWVdPUkRfUkVUVVJOKE9WRVJMT0FE
KTt9DQpwcm90ZWN0ZWQgICAgICAgICAgIHtDUFBfS0VZV09SRF9SRVRVUk4o
UFJPVEVDVEVEKTt9DQpwcml2YXRlICAgICAgICAgICAgIHtDUFBfS0VZV09S
RF9SRVRVUk4oUFJJVkFURSk7fQ0KcHVibGljICAgICAgICAgICAgICB7Q1BQ
X0tFWVdPUkRfUkVUVVJOKFBVQkxJQyk7fQ0KdGhpcyAgICAgICAgICAgICAg
ICB7Q1BQX0tFWVdPUkRfUkVUVVJOKFRISVMpO30NCnZpcnR1YWwgICAgICAg
ICAgICAge0NQUF9LRVlXT1JEX1JFVFVSTihWSVJUVUFMKTt9DQpuYW1lc3Bh
Y2UJICAgIHtDUFBfS0VZV09SRF9SRVRVUk4oTkFNRVNQQUNFKTt9CQ0KdXNp
bmcJCSAgICB7Q1BQX0tFWVdPUkRfUkVUVVJOKFVTSU5HKTt9DQp0eXBlbmFt
ZQkgICAge0NQUF9LRVlXT1JEX1JFVFVSTihUWVBFTkFNRV9LRVlXT1JEKTt9
DQp0eXBlaWQJICAgICAgICAgICAge0NQUF9LRVlXT1JEX1JFVFVSTihUWVBF
SUQpO30NCnRlbXBsYXRlCSAgICB7Q1BQX0tFWVdPUkRfUkVUVVJOKFRFTVBM
QVRFKTt9DQpzdGF0aWNfY2FzdAkgICAge0NQUF9LRVlXT1JEX1JFVFVSTihT
VEFUSUNfQ0FTVCk7fQ0KZHluYW1pY19jYXN0CSAgICB7Q1BQX0tFWVdPUkRf
UkVUVVJOKERZTkFNSUNfQ0FTVCk7fQ0KcmVpbnRlcnByZXRfY2FzdCAgICB7
Q1BQX0tFWVdPUkRfUkVUVVJOKFJFSU5URVJQUkVUX0NBU1QpO30NCmNvbnN0
X2Nhc3QJICAgIHtDUFBfS0VZV09SRF9SRVRVUk4oQ09OU1RfQ0FTVCk7fQ0K
dHJ5CQkgICAge0NQUF9LRVlXT1JEX1JFVFVSTihUUlkpO30NCmNhdGNoCQkg
ICAge0NQUF9LRVlXT1JEX1JFVFVSTihDQVRDSCk7fQ0KdGhyb3cJCSAgICB7
Q1BQX0tFWVdPUkRfUkVUVVJOKFRIUk9XKTt9DQpleHRlcm5bIFx0XSpcIkNc
IiAgIHtyZXR1cm4oRVhURVJOX0xBTkdfU1RSSU5HKTt9DQpleHRlcm5bIFx0
XSpcIkMrK1wiIHtyZXR1cm4oRVhURVJOX0xBTkdfU1RSSU5HKTt9DQoNCnRy
dWUJCSAgICAgeyByZXR1cm4oQ1hYX1RSVUUpO30NCmZhbHNlCQkgICAgIHsg
cmV0dXJuKENYWF9GQUxTRSk7fQ0Ke2lkZW50aWZpZXJ9ICAgICAgICAgIHtJ
REVOVElGSUVSX1JFVFVSTigpO30NCg0Ke2RlY2ltYWxfY29uc3RhbnR9ICB7
TlVNRVJJQ0FMX1JFVFVSTihJTlRFR0VSQ09OU1QpO30NCntvY3RhbF9jb25z
dGFudH0gICAge05VTUVSSUNBTF9SRVRVUk4oT0NUQUxDT05TVCk7fQ0Ke2hl
eF9jb25zdGFudH0gICAgICB7TlVNRVJJQ0FMX1JFVFVSTihIRVhDT05TVCk7
fQ0Ke2Zsb2F0aW5nX2NvbnN0YW50fSB7TlVNRVJJQ0FMX1JFVFVSTihGTE9B
VElOR0NPTlNUKTt9DQoNCg0KIkwiP1snXXtjX2NoYXJ9K1snXSAgICAgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgTlVNRVJJQ0FMX1JFVFVSTihDSEFS
Q09OU1QpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQoNCiJMIj9b
Il17c19jaGFyfSpbIl0gICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
IExJVEVSQUxfUkVUVVJOKFNUUklORyk7fQ0KDQoiKCIgICAgICAgICAgICAg
ICAgICB7UFBPUF9SRVRVUk4oTFApO30NCiIpIiAgICAgICAgICAgICAgICAg
IHtQUE9QX1JFVFVSTihSUCk7fQ0KIiwiICAgICAgICAgICAgICAgICAge1BQ
T1BfUkVUVVJOKCcsJyk7fQ0KIiMiICAgICAgICAgICAgICAgICAge05BTUVE
X1BQT1BfUkVUVVJOKCcjJykgO30gDQoiIyMiICAgICAgICAgICAgICAgICB7
TkFNRURfUFBPUF9SRVRVUk4oUE9VTkRQT1VORCk7fQ0KDQoieyIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJ3snKTt9DQoifSIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJ30nKTt9DQoiWyIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJ1snKTt9DQoiXSIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJ10nKTt9DQoiLiIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJy4nKTt9DQoiJiIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJyYnKTt9DQoiKiIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJyonKTt9DQoiKyIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJysnKTt9DQoiLSIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJy0nKTt9DQoifiIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJ34nKTt9DQoiISIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oTk9UKTt9DQoiLyIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJy8nKTt9DQoiJSIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oJyUnKTt9DQoiPCIgICAgICAg
ICAgICAgICAgICB7QVNDSUlPUF9SRVRVUk4oTFQpO30NCiI+IiAgICAgICAg
ICAgICAgICAgIHtBU0NJSU9QX1JFVFVSTihHVCk7fQ0KIl4iICAgICAgICAg
ICAgICAgICAge0FTQ0lJT1BfUkVUVVJOKCdeJyk7fQ0KInwiICAgICAgICAg
ICAgICAgICAge0FTQ0lJT1BfUkVUVVJOKCd8Jyk7fQ0KIj8iICAgICAgICAg
ICAgICAgICAge0FTQ0lJT1BfUkVUVVJOKCc/Jyk7fQ0KIjoiICAgICAgICAg
ICAgICAgICAge0FTQ0lJT1BfUkVUVVJOKCc6Jyk7fQ0KIjsiICAgICAgICAg
ICAgICAgICAge0FTQ0lJT1BfUkVUVVJOKCc7Jyk7fQ0KIj0iICAgICAgICAg
ICAgICAgICAge0FTQ0lJT1BfUkVUVVJOKEFTU0lHTik7fQ0KDQoiLioiICAg
ICAgICAgICAgICAgICB7TkFNRURPUF9SRVRVUk4oRE9UX1NUQVIpO30NCiI6
OiIgICAgICAgICAgICAgICAgIHtOQU1FRE9QX1JFVFVSTihTQ09QRSk7fQ0K
Ii0+IiAgICAgICAgICAgICAgICAge05BTUVET1BfUkVUVVJOKFBPSU5UU0FU
KTt9DQoiLT4qIiAgICAgICAgICAgICAgICB7TkFNRURPUF9SRVRVUk4oUE9J
TlRTQVRfU1RBUik7fQ0KIisrIiAgICAgICAgICAgICAgICAge05BTUVET1Bf
UkVUVVJOKFBMVVNQTFVTKTt9DQoiLS0iICAgICAgICAgICAgICAgICB7TkFN
RURPUF9SRVRVUk4oTUlOVVNNSU5VUyk7fQ0KIjw8IiAgICAgICAgICAgICAg
ICAge05BTUVET1BfUkVUVVJOKExTSElGVCk7fQ0KIj4+IiAgICAgICAgICAg
ICAgICAge05BTUVET1BfUkVUVVJOKFJTSElGVCk7fQ0KIjw9IiAgICAgICAg
ICAgICAgICAge05BTUVET1BfUkVUVVJOKExFKTt9DQoiPj0iICAgICAgICAg
ICAgICAgICB7TkFNRURPUF9SRVRVUk4oR0UpO30NCiI9PSIgICAgICAgICAg
ICAgICAgIHsvKk5BTUVET1BfUkVUVVJOKEVRKTsqL30NCiIhPSIgICAgICAg
ICAgICAgICAgIHsvKk5BTUVET1BfUkVUVVJOKE5FKTsqL30NCiImJiIgICAg
ICAgICAgICAgICAgIHtOQU1FRE9QX1JFVFVSTihBTkRBTkQpO30NCiJ8fCIg
ICAgICAgICAgICAgICAgIHtOQU1FRE9QX1JFVFVSTihPUk9SKTt9DQoiKj0i
ICAgICAgICAgICAgICAgICB7LypOQU1FRE9QX1JFVFVSTihNVUxUYXNzaWdu
KTsqL30NCiIvPSIgICAgICAgICAgICAgICAgIHsvKk5BTUVET1BfUkVUVVJO
KERJVmFzc2lnbik7Ki99DQoiJT0iICAgICAgICAgICAgICAgICB7LypOQU1F
RE9QX1JFVFVSTihNT0Rhc3NpZ24pOyovfQ0KIis9IiAgICAgICAgICAgICAg
ICAgey8qTkFNRURPUF9SRVRVUk4oUExVU2Fzc2lnbik7Ki99DQoiLT0iICAg
ICAgICAgICAgICAgICB7LypOQU1FRE9QX1JFVFVSTihNSU5VU2Fzc2lnbik7
Ki99DQoiPDw9IiAgICAgICAgICAgICAgICB7LypOQU1FRE9QX1JFVFVSTihM
U2Fzc2lnbik7Ki99DQoiPj49IiAgICAgICAgICAgICAgICB7LypOQU1FRE9Q
X1JFVFVSTihSU2Fzc2lnbik7Ki99DQoiJj0iICAgICAgICAgICAgICAgICB7
LypOQU1FRE9QX1JFVFVSTihBTkRhc3NpZ24pOyovfQ0KIl49IiAgICAgICAg
ICAgICAgICAgey8qTkFNRURPUF9SRVRVUk4oRVJhc3NpZ24pOyovfQ0KInw9
IiAgICAgICAgICAgICAgICAgey8qTkFNRURPUF9SRVRVUk4oT1Jhc3NpZ24p
OyovfQ0KIi4uLiIgICAgICAgICAgICAgICAge05BTUVET1BfUkVUVVJOKEVM
TElQU0lTKTt9DQoNCg0KDQolJQ0KDQovKiAgSSB3b24ndCBib3RoZXIgdG8g
cHJvdmlkZSBhbnkgZXJyb3IgcmVjb3ZlcnkuIEkgd29uJ3QgZXZlbiBoYW5k
bGUgDQp1bmtub3duIGNoYXJhY3RlcnMgKi8NCg0KLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKiovDQppbnQgaXNhVFlQRShzdHJpbmcpDQpjaGFyICogc3RyaW5n
Ow0KeyAgDQoNCiAgICAvKiAgV2UgIHNob3VsZCAgcmVhbGx5ICBiZSAgbWFp
bnRhaW5pbmcgIGEgIHN5bWJvbCAgdGFibGUsIGFuZCBiZSANCiAgICAgIGNh
cmVmdWxseSBrZWVwaW5nIHRyYWNrIG9mIHdoYXQgdGhlIGN1cnJlbnQgc2Nv
cGUgaXMgKG9yIGluIHRoZSANCiAgICAgIGNhc2Ugb2YgInJlc2NvcGVkIiBz
dHVmZiwgd2hhdCBzY29wZSB0byAgbG9vayAgaW4pLiAgU2luY2UgIHRoZSAN
CiAgICAgIGdyYW1tYXIgIGlzICBub3QgYW5ub3RhdGVkIHdpdGggYWN0aW9u
cyB0byB0cmFjayB0cmFuc2l0aW9ucyB0byANCiAgICAgIHZhcmlvdXMgc2Nv
cGVzLCBhbmQgdGhlcmUgaXMgbm8gc3ltYm9sIHRhYmxlLCB3ZSB3aWxsIHN1
cHBseSAgYSANCiAgICAgIGhhY2sgIHRvICBhbGxvdyAgZm9sa3MgIHRvIHRl
c3QgdGhlIGdyYW1tYXIgb3V0LiAgVEhJUyBJUyBOT1QgQSANCiAgICAgIENP
TVBMRVRFIElNUExFTUVOVEFUSU9OISEhISAqLw0KDQogICAgcmV0dXJuICgn
QScgPD0gc3RyaW5nWzBdICYmICdaJyA+PSBzdHJpbmdbMF0pOw0KfQ0KDQpp
bnQgeXl3cmFwKCkNCnsgDQogIHJldHVybiAxOw0KfQ0K
---1463803903-1439073610-946274868=:333
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="main.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT LNX DOT 3 DOT 96 DOT 991227113748 DOT 333J AT vani>
Content-Description: main function

DQojaW5jbHVkZTxzdGRpby5oPg0KbWFpbigpDQp7DQogIHByaW50ZigiQmVm
b3JlIHBhcnNpbmcgdGhlIGNvZGVcbiIpOw0KICB5eXBhcnNlKCk7DQogIHBy
aW50ZigiUGFyc2VkIHN1Y2Nlc3NmdWxseVxuIik7DQp9DQo=
---1463803903-1439073610-946274868=:333
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=Makefile
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT LNX DOT 3 DOT 96 DOT 991227113748 DOT 333K AT vani>
Content-Description: makefile

cGFyc2VyOiB5LnRhYi5jIGxleC55eS5jIG1haW4uYyB5LnRhYi5oDQoJY2Mg
LW8gcGFyc2VyIHkudGFiLmMgbGV4Lnl5LmMgbWFpbi5jDQp5LnRhYi5jOiBw
YXJzZS55DQoJeWFjYyAtZCBwYXJzZS55DQpsZXgueXkuYzogcGFyc2UubCB5
LnRhYi5oDQoJZmxleCBwYXJzZS5sDQp5LnRhYi5oOiBwYXJzZS5sDQoJeWFj
YyAtZCBwYXJzZS55DQo=
---1463803903-1439073610-946274868=:333--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019