From xemacs-m  Mon Mar 10 18:44:07 1997
Received: from mailhost.lanl.gov (mailhost.lanl.gov [128.165.3.12])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id SAA04243
	for <xemacs-beta@xemacs.org>; Mon, 10 Mar 1997 18:44:03 -0600 (CST)
Received: from branagh.ta52.lanl.gov (branagh.ta52.lanl.gov [128.165.144.9]) by mailhost.lanl.gov (8.8.5/8.8.3) with SMTP id RAA17450 for <xemacs-beta@xemacs.org>; Mon, 10 Mar 1997 17:44:01 -0700 (MST)
Received: by branagh.ta52.lanl.gov (SMI-8.6/SMI-SVR4)
	id RAA03918; Mon, 10 Mar 1997 17:39:38 -0700
Date: Mon, 10 Mar 1997 17:39:38 -0700
Message-Id: <199703110039.RAA03918@branagh.ta52.lanl.gov>
From: "John A. Turner" <turner@branagh.ta52.lanl.gov>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="6TDC0qf1cy/SWO9CObsnkqcTBdH535T8pyGt0/Ni"
Content-Transfer-Encoding: 7bit
To: xemacs-beta@xemacs.org
Subject: cperl-mode.el 1.31
Reply-To: turner@lanl.gov


--6TDC0qf1cy/SWO9CObsnkqcTBdH535T8pyGt0/Ni
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

19.15b98 includes version 1.29.  While poking around I found the
attached file, which is version 1.31.

Is this generally considered the best mode for perl editing?  I don't
do a lot of line noi^H^H^H^H^H^H^H^Hperl editing, but this one seems
better than perl-mode.  Is that the general concensus?

Anyway, attached is cperl-mode.el, version 1.31.

-- 
John Turner
http://www.lanl.gov/home/turner


--6TDC0qf1cy/SWO9CObsnkqcTBdH535T8pyGt0/Ni
Content-Type: application/octet-stream
Content-Description: cperl-mode.el version 1.31
Content-Disposition: attachment;
	filename="cperl-mode.el"
Content-Transfer-Encoding: base64

Ozs7IFRoaXMgY29kZSBzdGFydGVkIGZyb20gdGhlIGZvbGxvd2luZyBtZXNzYWdlIG9mIGxv
bmcgdGltZSBhZ28gKElaKToKCjs7OyBGcm9tOiBvbHNvbkBtY3MuYW5sLmdvdiAoQm9iIE9s
c29uKQo7OzsgTmV3c2dyb3VwczogY29tcC5sYW5nLnBlcmwKOzs7IFN1YmplY3Q6IGNwZXJs
LW1vZGU6IEFub3RoZXIgcGVybCBtb2RlIGZvciBHbnVlbWFjcwo7OzsgRGF0ZTogMTQgQXVn
IDkxIDE1OjIwOjAxIEdNVAoKOzsgUGVybCBjb2RlIGVkaXRpbmcgY29tbWFuZHMgZm9yIEVt
YWNzCjs7IENvcHlyaWdodCAoQykgMTk4NS0xOTk2IEJvYiBPbHNvbiwgSWx5YSBaYWtoYXJl
dmljaAoKOzsgVGhpcyBmaWxlIGlzIG5vdCAoeWV0KSBwYXJ0IG9mIEdOVSBFbWFjcy4gSXQg
bWF5IGJlIGRpc3RyaWJ1dGVkCjs7IGVpdGhlciB1bmRlciB0aGUgc2FtZSB0ZXJtcyBhcyBH
TlUgRW1hY3MsIG9yIHVuZGVyIHRoZSBzYW1lIHRlcm1zCjs7IGFzIFBlcmwuIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgUGVybCBBcnRpc3RpYyBsaWNlbnNlCjs7IGFs
b25nIHdpdGggdGhlIFBlcmwgZGlzdHJpYnV0aW9uLgoKOzsgR05VIEVtYWNzIGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKOzsgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkKOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl
cnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQo7OyBhbnkgbGF0ZXIgdmVyc2lvbi4KCjs7
IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAo7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgo7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7IEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgo7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo7OyBhbG9uZyB3aXRo
IEdOVSBFbWFjczsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvIHRo
ZQo7OyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAt
IFN1aXRlIDMzMCwKOzsgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgoKOzs7IENvcnJl
Y3Rpb25zIG1hZGUgYnkgSWx5YSBaYWtoYXJldmljaCBpbHlhQG1hdGgubXBzLm9oaW8tc3Rh
dGUuZWR1Cjs7OyBYRW1hY3MgY2hhbmdlcyBieSBQZXRlciBBcml1cyBhcml1c0BpbmZvcm1h
dGlrLnVuaS1lcmxhbmdlbi5kZQoKOzsgJElkOiBjcGVybC1tb2RlLmVsLHYgMS4zMSAxOTk2
LzEyLzA5IDA4OjAzOjE0IGlseWEgRXhwIGlseWEgJAoKOzs7IFRvIHVzZSB0aGlzIG1vZGUg
cHV0IHRoZSBmb2xsb3dpbmcgaW50byB5b3VyIC5lbWFjcyBmaWxlOgoKOzsgKGF1dG9sb2Fk
ICdwZXJsLW1vZGUgImNwZXJsLW1vZGUiICJhbHRlcm5hdGUgbW9kZSBmb3IgZWRpdGluZyBQ
ZXJsIHByb2dyYW1zIiB0KQoKOzs7IFlvdSBjYW4gZWl0aGVyIGZpbmUtdHVuZSB0aGUgYmVs
bHMgYW5kIHdoaXN0bGVzIG9mIHRoaXMgbW9kZSBvcgo7OzsgYnVsayBlbmFibGUgdGhlbSBi
eSBwdXR0aW5nCgo7OyAoc2V0cSBjcGVybC1oYWlyeSB0KQoKOzs7IGluIHlvdXIgLmVtYWNz
IGZpbGUuIChFbWFjcyBydWxlcnMgZG8gbm90IGNvbnNpZGVyIGl0IHBvbGl0aWNhbGx5Cjs7
OyBjb3JyZWN0IHRvIG1ha2Ugd2hpc3RsZXMgZW5hYmxlZCBieSBkZWZhdWx0LikKCjs7OyBE
TyBOT1QgRk9SR0VUIHRvIHJlYWQgbWljcm8tZG9jcy4gKGF2YWlsYWJsZSBmcm9tIGBQZXJs
JyBtZW51KS4gPDw8PDw8Cjs7OyBvciBhcyBoZWxwIG9uIHZhcmlhYmxlcyBgY3BlcmwtdGlw
cycsIGBjcGVybC1wcm9ibGVtcycsICAgICAgICAgPDw8PDw8Cjs7OyBgY3Blcmwtbm9uLXBy
b2JsZW1zJy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDw8
PDw8Cgo7OzsgQWRkaXRpb25hbCB1c2VmdWwgY29tbWFuZHMgdG8gcHV0IGludG8geW91ciAu
ZW1hY3MgZmlsZToKCjs7IChzZXRxIGF1dG8tbW9kZS1hbGlzdAo7OyAgICAgICAoYXBwZW5k
ICcoKCJcXC5bcFBdW0xsbV0kIiAuIHBlcmwtbW9kZSkpICBhdXRvLW1vZGUtYWxpc3QgKSkK
OzsgKHNldHEgaW50ZXJwcmV0ZXItbW9kZS1hbGlzdCAoYXBwZW5kIGludGVycHJldGVyLW1v
ZGUtYWxpc3QKOzsgCQkJCSAgICAgICAgJygoIm1pbmlwZXJsIiAuIHBlcmwtbW9kZSkpKSkK
Cjs7OyBUaGUgbW9kZSBpbmZvcm1hdGlvbiAob24gQy1oIG0pIHByb3ZpZGVzIGN1c3RvbWl6
YXRpb24gaGVscC4KOzs7IElmIHlvdSB1c2UgZm9udC1sb2NrIGZlYXR1cmUgb2YgdGhpcyBt
b2RlLCBpdCBpcyBhZHZpc2FibGUgdG8gdXNlCjs7OyBlaXRoZXIgbGF6eS1sb2NrLW1vZGUg
b3IgZmFzdC1sb2NrLW1vZGUgKGF2YWlsYWJsZSBvbiBFTGlzcAo7OzsgYXJjaGl2ZSBpbiBm
aWxlcyBsYXp5LWxvY2suZWwgYW5kIGZhc3QtbG9jay5lbCkuIEkgcHJlZmVyIGxhenktbG9j
ay4KCjs7OyBGYWNlcyB1c2VkIG5vdzogdGhyZWUgZmFjZXMgZm9yIGZpcnN0LWNsYXNzIGFu
ZCBzZWNvbmQtY2xhc3Mga2V5d29yZHMKOzs7IGFuZCBjb250cm9sIGZsb3cgd29yZHMsIG9u
ZSBmb3IgZWFjaDogY29tbWVudHMsIHN0cmluZywgbGFiZWxzLAo7OzsgZnVuY3Rpb25zIGRl
ZmluaXRpb25zIGFuZCBwYWNrYWdlcywgYXJyYXlzLCBoYXNoZXMsIGFuZCB2YXJpYWJsZQo7
OzsgZGVmaW5pdGlvbnMuIElmIHlvdSBkbyBub3Qgc2VlIGFsbCB0aGVzZSBmYWNlcywgeW91
ciBmb250LWxvY2sgZG9lcwo7Ozsgbm90IGRlZmluZSB0aGVtLCBzbyB5b3UgbmVlZCB0byBk
ZWZpbmUgdGhlbSBtYW51YWxseS4gTWF5YmUgeW91IGhhdmUgCjs7OyBhbiBvYnNvbGV0ZSBm
b250LWxvY2sgZnJvbSAxOS4yOCBvciBlYXJsaWVyLiBVcGdyYWRlLgoKOzs7IElmIHlvdSBo
YXZlIGEgZ3JheXNjYWxlIG1vbml0b3IsIGFuZCBkbyBub3QgaGF2ZSB0aGUgdmFyaWFibGUK
Ozs7IGZvbnQtbG9jay1kaXNwbGF5LXR5cGUgYm91bmQgdG8gJ2dyYXlzY2FsZSwgaW5zZXJ0
IAoKOzs7IChzZXRxIGZvbnQtbG9jay1kaXNwbGF5LXR5cGUgJ2dyYXlzY2FsZSkKCjs7OyBp
bnRvIHlvdXIgLmVtYWNzIGZpbGUuCgo7Ozs7IFRoaXMgbW9kZSBzdXBwb3J0cyBmb250LWxv
Y2ssIGltZW51IGFuZCBtb2RlLWNvbXBpbGUuIEluIHRoZQo7Ozs7IGhhaXJ5IHZlcnNpb24g
Zm9udC1sb2NrIGlzIG9uLCBidXQgeW91IHNob3VsZCBhY3RpdmF0ZSBpbWVudQo7Ozs7IHlv
dXJzZWxmIChub3RlIHRoYXQgbW9kZS1jb21waWxlIGlzIG5vdCBzdGFuZGFyZCB5ZXQpLiBX
ZWxsLCB5b3UKOzs7OyBjYW4gdXNlIGltZW51IGZyb20ga2V5Ym9hcmQgYW55d2F5IChNLXgg
aW1lbnUpLCBidXQgaXQgaXMgYmV0dGVyCjs7OzsgdG8gYmluZCBpdCBsaWtlIHRoYXQ6Cgo7
OyAoZGVmaW5lLWtleSBnbG9iYWwtbWFwIFtNLVMtZG93bi1tb3VzZS0zXSAnaW1lbnUpCgo7
OzsgSW4gZmFjdCB0aGUgdmVyc2lvbiBvZiBmb250LWxvY2sgdGhhdCB0aGlzIHZlcnNpb24g
c3VwcG9ydHMgY2FuIGJlCjs7OyBtdWNoIG5ld2VyIHRoYW4gdGhlIHZlcnNpb24geW91IGFj
dHVhbGx5IGhhdmUuIFRoaXMgbWVhbnMgdGhhdCBhCjs7OyBsb3Qgb2YgZmFjZXMgY2FuIGJl
IHNldCB1cCwgYnV0IGFyZSBub3QgdmlzaWJsZSBvbiB5b3VyIHNjcmVlbgo7Ozsgc2luY2Ug
dGhlIGNvbG9yaW5nIHJ1bGVzIGZvciB0aGlzIGZhY2VzIGFyZSBub3QgZGVmaW5lZC4KCjs7
OyBVcGRhdGVzOiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cgo7
OzsgTWFkZSBsZXNzIGhhaXJ5IGJ5IGRlZmF1bHQ6IHBhcmVudGhlc2VzIG5vdCBlbGVjdHJp
YywgCjs7OyBsaW5lZmVlZCBub3QgbWFnaWMuIEJ1ZyB3aXRoIGFiYnJldi1tb2RlIGNvcnJl
Y3RlZC4KCjs7OzsgQWZ0ZXIgMS40Ogo7OzsgIEJldHRlciBpbmRlbnRhdGlvbjoKOzs7ICBz
dWJzIGluc2lkZSBicmFjZXMgc2hvdWxkIHdvcmsgbm93LCAKOzs7ICBUb3BsZXZlbCBicmFj
ZXMgb2JleSBjdXN0b21pemF0aW9uLgo7OzsgIGluZGVudC1mb3ItY29tbWVudCBrbm93cyBh
Ym91dCBiYWQgY2FzZXMsIGNwZXJsLWluZGVudC1mb3ItY29tbWVudAo7OzsgIG1vdmVzIGN1
cnNvciB0byBhIGNvcnJlY3QgcGxhY2UuCjs7OyAgY3BlcmwtaW5kZW50LWV4cCB3cml0dGVu
IGZyb20gdGhlIHNjcmF0Y2ghIFNsb3cuLi4gKHF1YWRyYXRpYyEpIDotKCAKOzs7ICAgICAg
ICAoNTAgc2VjcyBvbiBEQjo6REIgKHN1YiBvZiA0MzAgbGluZXMpLCA0ODYvNjYpCjs7OyAg
TWlub3IgZG9jdW1lbnRhdGlvbiBmaXhlcy4KOzs7ICBJbWVudSB1bmRlcnN0YW5kcyBwYWNr
YWdlcyBhcyBwcmVmaXhlcyAoaW5jbHVkaW5nIG5lc3RlZCkuCjs7OyAgSGFpcnkgb3B0aW9u
cyBjYW4gYmUgc3dpdGNoZWQgb2ZmIG9uZS1ieS1vbmUgYnkgc2V0dGluZyB0byBudWxsLgo7
OzsgIE5hbWVzIG9mIGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzIGNoYW5nZWQgdG8gY29uZm9y
bSB0byBgY3BlcmwtJyBzdHlsZS4KCjs7OzsgQWZ0ZXIgMS41Ogo7OzsgIFNvbWUgYnVncyB3
aXRoIGluZGVudGF0aW9uIG9mIGxhYmVscyAoYW5kIGVtYmVkZGVkIHN1YnMpIGNvcnJlY3Rl
ZC4KOzs7ICBgY3BlcmwtaW5kZW50LXJlZ2lvbicgZG9uZSAoc2xvdyA6LSgpKS4KOzs7ICBg
Y3BlcmwtZmlsbC1wYXJhZ3JhcGgnIGRvbmUuCjs7OyAgQmV0dGVyIHBhY2thZ2Ugc3VwcG9y
dCBmb3IgYGltZW51Jy4KOzs7ICBQcm9ncmVzcyBpbmRpY2F0b3IgZm9yIGluZGVudGF0aW9u
ICh3aXRoIGBpbWVudScgbG9hZGVkKS4KOzs7ICBgQ3Blcmwtc2V0JyB3YXMgYnVzdGVkLCBu
b3cgc2V0dGluZyB0aGUgaW5kaXZpZHVhbCBoYWlyeSBvcHRpb24gCjs7OyAgICAgc2hvdWxk
IGJlIGJldHRlci4KCjs7OzsgQWZ0ZXIgMS42Ogo7OzsgYGNwZXJsLXNldC1zdHlsZScgZG9u
ZS4KOzs7IGBjcGVybC1jaGVjay1zeW50YXgnIGRvbmUuCjs7OyBNZW51IGRvbmUuCjs7OyBO
ZXcgY29uZmlnIHZhcmlhYmxlcyBgY3BlcmwtY2xvc2UtcGFyZW4tb2Zmc2V0JyBhbmQgYGNw
ZXJsLWNvbW1lbnQtY29sdW1uJy4KOzs7IEJ1Z3Mgd2l0aCBgY3BlcmwtYXV0by1uZXdsaW5l
JyBjb3JyZWN0ZWQuCjs7OyBgY3BlcmwtZWxlY3RyaWMtbGJyYWNlJyBjYW4gd29yayB3aXRo
IGBjcGVybC1hdXRvLW5ld2xpbmUnIGluIHNpdHVhdGlvbiAKOzs7IGxpa2UgJGhhc2h7LgoK
Ozs7OyAxLjcgWEVtYWNzIChhcml1c0BpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZSk6Cjs7
OyAtIHVzZSBgbmV4dC1jb21tYW5kLWV2ZW50JywgaWYgYG5leHQtY29tbWFuZC1ldmVudHMn
IGRvZXMgbm90IGV4aXN0Cjs7OyAtIHVzZSBgZmluZC1mYWNlJyBhcyBkZWYuIG9mIGBpcy1m
YWNlJwo7OzsgLSBjb3JyZWN0ZWQgZGVmLiBvZiBgeC1jb2xvci1kZWZpbmVkLXAnCjs7OyAt
IGFkZGVkIGNvbnN0IGRlZnMgZm9yIGZvbnQtbG9jay1jb21tZW50LWZhY2UsCjs7OyAgIGZv
bnQtbG9jay1rZXl3b3JkLWZhY2UgYW5kIGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UK
Ozs7IC0gYWRkZWQgZGVmLiBvZiBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlCjs7OyAt
IGFkZGVkIChyZXF1aXJlICdlYXN5bWVudSkgaW5zaWRlIGFuIGBldmFsLXdoZW4tY29tcGls
ZScKOzs7IC0gcmVwbGFjZWQgNC1hcmd1bWVudCBgc3Vic3RpdHV0ZS1rZXktZGVmaW5pdGlv
bicgd2l0aCBvcmRpbmFyeQo7OzsgICBgZGVmaW5lLWtleSdzCjs7OyAtIHJlcGxhY2VkIGBt
YXJrLWFjdGl2ZScgaW4gbWVudSBkZWZpbml0aW9uIGJ5IGBjcGVybC11c2UtcmVnaW9uLXAn
Lgo7OzsgVG9kbyAoYXQgbGVhc3QpOgo7OzsgLSB1c2UgZW1hY3MtdmVycy5lbCAoaHR0cDov
L3d3dy5jcy51dGFoLmVkdS9+ZWVpZGUvZW1hY3MvZW1hY3MtdmVycy5lbC5neikKOzs7ICAg
Zm9yIHBvcnRhYmxlIGNvZGU/Cjs7OyAtIHNob3VsZCBgY3BlcmwtbW9kZScgZG8gYSAKOzs7
CShpZiAoZmVhdHVyZXAgJ2Vhc3ltZW51KSAoZWFzeS1tZW51LWFkZCBjcGVybC1tZW51KSkK
Ozs7ICAgb3Igc2hvdWxkIHRoaXMgYmUgbGVmdCB0byB0aGUgdXNlcidzIGBjcGVybC1tb2Rl
LWhvb2snPwoKOzs7IFNvbWUgYnVncyBpbnRyb2R1Y2VkIGJ5IHRoZSBhYm92ZSBmaXggY29y
cmVjdGVkIChJWiA7LSkuCjs7OyBTb21lIGJ1Z3MgdW5kZXIgWEVtYWNzIGludHJvZHVjZWQg
YnkgdGhlIGNvcnJlY3Rpb24gY29ycmVjdGVkLgoKOzs7IFNvbWUgbW9yZSBjYW4gcmVtYWlu
IHNpbmNlIHRoZXJlIGFyZSB0d28gbWFueSBkaWZmZXJlbnQgdmFyaWFudHMuIAo7OzsgUGxl
YXNlIGZlZWRiYWNrIQoKOzs7IFdlIGRvIG5vdCBzdXBwb3J0IGZvbnRpZmljYXRpb24gb2Yg
YXJyYXlzIGFuZCBoYXNoZXMgdW5kZXIgCjs7OyBvYnNvbGV0ZSBmb250LWxvY2sgYW55IG1v
cmUuIFVwZ3JhZGUuCgo7Ozs7IGFmdGVyIDEuOCBNaW5vciBidWcgd2l0aCBwYXJlbnRoZXNl
cy4KOzs7OyBhZnRlciAxLjkgSW1wcm92ZW1lbnRzIGZyb20gSm9lIE1hcnpvdC4KOzs7OyBh
ZnRlciAxLjEwCjs7OyAgRG9lcyBub3QgbmVlZCBlYXN5bWVudSB0byBjb21waWxlIHVuZGVy
IFhFbWFjcy4KOzs7ICBgdmMtaW5zZXJ0LWhlYWRlcnMnIHNob3VsZCB3b3JrIGJldHRlci4K
Ozs7ICBTaG91bGQgd29yayB3aXRoIDE5LjI5IGFuZCAxOS4xMi4KOzs7ICBTbWFsbCBpbXBy
b3ZlbWVudHMgdG8gZm9udGlmaWNhdGlvbi4KOzs7ICBFeHBhbnNpb24gb2Yga2V5d29yZHMg
ZG9lcyBub3QgZGVwZW5kIG9uIEMtPyBiZWluZyBiYWNrc3BhY2UuCgo7OzsgYWZ0ZXIgMS4x
MCsKOzs7IDE5LjI5IGFuZCAxOS4xMiBzdXBwb3J0ZWQuCjs7OyBgY3BlcmwtZm9udC1sb2Nr
LWVuaGFuY2VkJyBkZXByZWNhdGVkLiBVc2UgZm9udC1sb2NrLWV4dHJhLmVsLgo7OzsgU3Vw
cG9ydCBmb3IgZm9udC1sb2NrLWV4dHJhLmVsLgoKOzs7OyBBZnRlciAxLjExOgo7OzsgVG9v
bHMgc3VibWVudS4KOzs7IFN1cHBvcnQgZm9yIHBlcmw1LWluZm8uCjs7OyBgaW1lbnUtZ28t
ZmluZC1hdC1wb3NpdGlvbicgaW4gVG9vbHMgcmVxdWlyZXMgaW1lbnUtZ28uZWwgKHNlZSBo
aW50cyBhYm92ZSkKOzs7IEltZW51IGVudHJpZXMgZG8gbm90IHdvcmsgd2l0aCBzdG9jayBp
bWVudS5lbC4gUGF0Y2ggc2VudCB0byBtYWludGFpbmVycy4KOzs7IEZvbnRpZmllcyBgcmVx
dWlyZSBhIGlmIGI7JywgX19EQVRBX18uCjs7OyBBcmdsaXN0IGZvciBhdXRvLWZpbGwtbW9k
ZSB3YXMgaW5jb3JyZWN0LgoKOzs7OyBBZnRlciAxLjEyOgo7OzsgYGNwZXJsLWxpbmV1cC1z
dGVwJyBhbmQgYGNwZXJsLWxpbmV1cCcgYWRkZWQ6IGxpbmV1cCBjb25zdHJ1Y3Rpb25zIAo7
OzsgdmVydGljYWxseS4KOzs7IGBjcGVybC1kby1hdXRvLWZpbGwnIHVwZGF0ZWQgZm9yIDE5
LjI5IHN0eWxlLgo7OzsgYGNwZXJsLWluZm8tb24tY29tbWFuZCcgbm93IGhhcyBhIGRlZmF1
bHQuCjs7OyBXb3JrYXJvdW5kIGZvciBicm9rZW4gQy1oIG9uIFhFbWFjcy4KOzs7IFZDIHN0
cmluZ3MgZXNjYXBlZC4KOzs7IEMtaCBmIG5vdyBtYXkgcHJvbXB0IGZvciBmdW5jdGlvbiBu
YW1lIGluc3RlYWQgb2YgZ29pbmcgb24sCjs7OyBjb250cm9sbGVkIGJ5IGBjcGVybC1pbmZv
LW9uLWNvbW1hbmQtbm8tcHJvbXB0Jy4KCjs7OzsgQWZ0ZXIgMS4xMzoKOzs7IE1zYiBidWZm
ZXIgbGlzdCBpbmNsdWRlcyBwZXJsIGZpbGVzCjs7OyBJbmRlbnQtZm9yLWNvbW1lbnQgdXNl
cyBpbmRlbnQtdG8KOzs7IENhbiB3cml0ZSB0YWcgZmlsZXMgdXNpbmcgZXRhZ3MuCgo7Ozs7
IEFmdGVyIDEuMTQ6Cjs7OyBSZWNvZ25pemVzICh0cmllcyB0byA7LSkgey4uLn0gd2hpY2gg
YXJlIG5vdCBibG9ja3MgZHVyaW5nIGluZGVudGF0aW9uLgo7OzsgYGNwZXJsLWNsb3NlLXBh
cmVuLW9mZnNldCcgYWZmZWN0cyA/XF0gdG9vIChhbmQgP1x9IGlmIG5vdCBibG9jaykKOzs7
IEJ1ZyB3aXRoIGF1dG8tZmlsbGluZyBjb21tZW50cyBzdGFydGVkIHdpdGggIiMjIiBjb3Jy
ZWN0ZWQuCgo7Ozs7IFZlcnkgc2xvdyBub3c6IG9uIERCOjpEQiAwLjkxLCA0ODYvNjY6Cgo7
OztGdW5jdGlvbiBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxsIENvdW50
ICBFbGFwc2VkIFRpbWUgIEF2ZXJhZ2UgVGltZQo7Ozs9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09ICA9PT09PT09PT09PT0gID09PT09PT09
PT09PQo7OztjcGVybC1ibG9jay1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Njkg
ICAgICAgICAzLjc3OTk5OTk5OTkgIDAuMDA4MDU5NzAxNAo7OztjcGVybC1nZXQtc3RhdGUg
ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDUgICAgICAgICAxNjMuMzkwMDAwMDAgIDAu
MzIzNTQ0NTU0NAo7OztjcGVybC1jb21tZW50LWluZGVudCAgICAgICAgICAgICAgICAgICAg
ICAxMiAgICAgICAgICAwLjAyOTk5OTk5OTkgIDAuMDAyNDk5OTk5OQo7OztjcGVybC1iYWNr
d2FyZC10by1ub25jb21tZW50ICAgICAgICAgICAgICA5MzkgICAgICAgICA0LjQ1OTk5OTk5
OTkgIDAuMDA0NzQ5NzMzNwo7OztjcGVybC1jYWxjdWxhdGUtaW5kZW50ICAgICAgICAgICAg
ICAgICAgICA1MDUgICAgICAgICAxNzIuMjIwMDAwMDAgIDAuMzQxMDI5NzAyOQo7OztjcGVy
bC1pbmRlbnQtbGluZSAgICAgICAgICAgICAgICAgICAgICAgICA1MDUgICAgICAgICAxNzIu
ODgwMDAwMDAgIDAuMzQyMzM2NjMzNgo7OztjcGVybC11c2UtcmVnaW9uLXAgICAgICAgICAg
ICAgICAgICAgICAgICA0MCAgICAgICAgICAwLjAyOTk5OTk5OTkgIDAuMDAwNzQ5OTk5OQo7
OztjcGVybC1pbmRlbnQtZXhwICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAg
ICAxNzcuOTcwMDAwMDAgIDE3Ny45NzAwMDAwMAo7OztjcGVybC10by1jb21tZW50LW9yLWVv
bCAgICAgICAgICAgICAgICAgICAxNDUzICAgICAgICAzLjk4MDAwMDAwMDAgIDAuMDAyNzM5
MTYwMwo7OztjcGVybC1iYWNrd2FyZC10by1zdGFydC1vZi1jb250aW51ZWQtZXhwICA5ICAg
ICAgICAgICAwLjAzMDAwMDAwMDAgIDAuMDAzMzMzMzMzMwo7OztjcGVybC1pbmRlbnQtcmVn
aW9uICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAxNzcuOTQwMDAwMDAgIDE3
Ny45NDAwMDAwMAoKOzs7OyBBZnRlciAxLjE1Ogo7OzsgVGFrZXMgaW50byBhY2NvdW50IHdo
aXRlIHNwYWNlIGFmdGVyIG9wZW5pbmcgcGFyZW50aGVzZXMgZHVyaW5nIGluZGVudC4KOzs7
IE1heSBoaWdobGlnaHQgcG9kcyBhbmQgaGVyZS1kb2N1bWVudHM6IHNlZSBgY3BlcmwtcG9k
LWhlcmUtc2NhbicsCjs7OyBgY3BlcmwtcG9kLWhlcmUtZm9udGlmeScsIGBjcGVybC1wb2Qt
ZmFjZScuIERvZXMgbm90IHVzZSB0aGlzIGluZm8KOzs7IGZvciBpbmRlbnRhdGlvbiBzbyBm
YXIuCjs7OyBGb250aWZpY2F0aW9uIHVwZGF0ZWQgdG8gMTkuMzAgc3R5bGUuIAo7OzsgVGhl
IGNoYW5nZSAxOS4yOS0+MzAgZGlkIG5vdCBhZGQgYWxsIHRoZSByZXF1aXJlZCBmdW5jdGlv
bmFsaXR5LAo7OzsgICAgIGJ1dCBicm9rZSAiZm9udC1sb2NrLWV4dHJhLmVsIi4gR2V0ICJj
aG9vc2UtY29sb3IuZWwiIGZyb20KOzs7ICAgICAgIGZ0cDovL2Z0cC5tYXRoLm9oaW8tc3Rh
dGUuZWR1L3B1Yi91c2Vycy9pbHlhL2VtYWNzCgo7Ozs7IEFmdGVyIDEuMTY6Cjs7OyAgICAg
ICBlbHNlICMgY29tbWVudAo7OzsgICAgcmVjb2duaXplZCBhcyBhIHN0YXJ0IG9mIGEgYmxv
Y2suCjs7OyAgVHdvIGRpZmZlcmVudCBmb250LWxvY2stbGV2ZWxzIHByb3ZpZGVkLgo7Ozsg
IGBjcGVybC1wb2QtaGVhZC1mYWNlJyBpbnRyb2R1Y2VkLiBVc2VkIGZvciBoaWdobGlnaHRp
bmcuCjs7OyAgYGltZW51JyBtYXJrcyBwb2RzLCArUGFja2FnZXMgbW92ZWQgdG8gdGhlIGhl
YWQuIAoKOzs7OyBBZnRlciAxLjE3Ogo7OzsgIFNjYW4gZm9yIHBvZHMgaGlnaGxpZ2h0cyBo
ZXJlLWRvY3MgdG9vLgo7OzsgIE5vdGUgdGhhdCB0aGUgdGFnIG9mIGhlcmUtZG9jIG1heSBi
ZSByZWhpZ2hsaWdodGVkIGxhdGVyIGJ5IGxhenktbG9jay4KOzs7ICBPbmx5IG9uZSBoZXJl
LWRvYy10YWcgcGVyIGxpbmUgaXMgc3VwcG9ydGVkLCBhbmQgb25lIGluIGNvbW1lbnQKOzs7
ICBvciBhIHN0cmluZyBtYXkgYnJlYWsgZm9udGlmaWNhdGlvbi4KOzs7ICBQT0QgaGVhZGVy
cyB3ZXJlIHN1cHBvc2VkIHRvIGZpbGwgb25lIGxpbmUgb25seS4KCjs7OzsgQWZ0ZXIgMS4x
ODoKOzs7ICBgZm9udC1sb2NrLWtleXdvcmRzJyB3ZXJlIHNldCBpbiAxOS4zMCBzdHlsZSBf
YWx3YXlzXy4gQ3VycmVudCBzY2hlbWUgCjs7OyAgICBtYXkgIGJyZWFrIHVuZGVyIFhFbWFj
cy4KOzs7ICBgY3BlcmwtY2FsY3VsYXRlLWluZGVudCcgZGlzIHN1cHBvc2UgdGhhdCBgcGFy
c2Utc3RhcnQnIHdhcyBkZWZpbmVkLgo7OzsgIGBmb250aWZpZWQnIHRhZyBpcyBhZGRlZCB0
byBmb250aWZpZWQgdGV4dCBhcyB3ZWxsIGFzIGBsYXp5LWxvY2snIChmb3IKOzs7ICAgIGNv
bXBhdGliaWxpdHkgd2l0aCBvbGRlciBsYXp5LWxvY2suZWwpIChvbGRlciBvbmUgb3ZlcmZv
bnRpZmllcwo7OzsgICAgc29tZXRoaW5nIG5ldmVydGhlbGVzcyA6LSgpLgo7OzsgIFdpbGwg
bm90IGluZGVudCBzb21ldGhpbmcgaW5zaWRlIHBvZCBhbmQgaGVyZS1kb2N1bWVudHMuCjs7
OyAgRm9udGlmaWVzIHRoZSBwYWNrYWdlIG5hbWUgYWZ0ZXIgaW1wb3J0L25vL2Jvb3RzdHJh
cC4KOzs7ICBBZGRlZCBuZXcgZW50cnkgdG8gbWVudSB3aXRoIG1ldGEtaW5mbyBhYm91dCB0
aGUgbW9kZS4KCjs7OzsgQWZ0ZXIgMS4xOToKOzs7ICBQcmVmb250aWZpY2F0aW9uIHdvcmtz
IG11Y2ggYmV0dGVyIHdpdGggMTkuMjkuIFNob3VsZCBiZSBjaGVja2VkCjs7OyAgIHdpdGgg
MTkuMzAgYXMgd2VsbC4KOzs7ICBTb21lIG1pc3ByaW50cyBpbiBkb2NzIGNvcnJlY3RlZC4K
Ozs7ICBOb3cgJGF7LXRleHR9IGFuZCAtdGV4dCA9PiAiYmxhaCIgYXJlIGZvbnRpZmllZCBh
cyBzdHJpbmdzIHRvby4KOzs7ICBOb3cgdGhlIHBvZCBzZWFyY2ggaXMgbXVjaCBzdHJpY3Rl
ciwgc28gaXQgY2FuIGhlbHAgeW91IHRvIGZpbmQKOzs7ICAgIHBvZCBzZWN0aW9ucyB3aGlj
aCBhcmUgYnJva2VuIGJlY2F1c2Ugb2Ygd2hpdGVzcGFjZSBiZWZvcmUgPWJsYWgKOzs7ICAg
IC0ganVzdCBvYnNlcnZlIHRoZSBmb250aWZpY2F0aW9uLgoKOzs7OyBBZnRlciAxLjIwCjs7
OyAgQW5vbnltb3VzIHN1YnMgYXJlIGluZGVudGVkIHdpdGggcmVzcGVjdCB0byB0aGUgbGV2
ZWwgb2YKOzs7ICAgIGluZGVudGF0aW9uIG9mIGBzdWInIG5vdy4KOzs7ICB7fSBpcyByZWNv
Z25pemVkIGFzIGhhc2ggYWZ0ZXIgYGJsZXNzJyBhbmQgYHJldHVybicuCjs7OyAgQW5vbnlt
b3VzIHN1YnMgYXJlIHNwbGl0IGJ5IGBjcGVybC1saW5lZmVlZCcgYXMgd2VsbC4KOzs7ICBF
bGVjdHJpYyBwYXJlbnMgZW1icmFjZSBhIHJlZ2lvbiBpZiBwcmVzZW50Lgo7OzsgIFRvIG1h
a2UgYGNwZXJsLWF1dG8tbmV3bGluZScgdXNlZnVsLAo7OzsgICAgYGNwZXJsLWF1dG8tbmV3
bGluZS1hZnRlci1jb2xvbicgaXMgaW50cm9kdWNlZC4KOzs7ICBgY3BlcmwtZWxlY3RyaWMt
cGFyZW5zJyBpcyBub3cgdCBvciBudWwuIFRoZSBvbGQgbWVhbmluZyBpcyBtb3ZlZCB0bwo7
OzsgIGBjcGVybC1lbGVjdHJpYy1wYXJlbnMtc3RyaW5nJy4KOzs7ICBgY3BlcmwtdG9nZ2xl
LWF1dG8tbmV3bGluZScgaW50cm9kdWNlZCwgcHV0IG9uIEMtYyBDLWEuCjs7OyAgYGNwZXJs
LXRvZ2dsZS1hYmJyZXYnIGludHJvZHVjZWQsIHB1dCBvbiBDLWMgQy1rLgo7OzsgIGBjcGVy
bC10b2dnbGUtZWxlY3RyaWMnIGludHJvZHVjZWQsIHB1dCBvbiBDLWMgQy1lLgo7OzsgIEJl
Z2lubmluZy1vZi1kZWZ1bi1yZWdleHAgd2FzIG5vdCBhbmNob3JlZC4KCjs7OzsgQWZ0ZXIg
MS4yMQo7OzsgIEF1dG8tbmV3bGluZSBncmFudHMgYGNwZXJsLWV4dHJhLW5ld2xpbmUtYmVm
b3JlLWJyYWNlJyBpZiAieyIgaXMgdHlwZWQKOzs7ICAgIGFmdGVyICIpIi4KOzs7ICB7fSBp
cyByZWNvZ25pemVkIGFzIGV4cHJlc3Npb24gYWZ0ZXIgYHRyJyBhbmQgZnJpZW5kcy4KCjs7
OzsgQWZ0ZXIgMS4yMgo7OzsgIEVudHJ5IEhpZXJhcmNoeSBhZGRlZCB0byBpbWVudS4gVmVy
eSBwcmltaXRpdmUgc28gZmFyLgo7OzsgIE9uZSBuZWVkcyBuZXdlciBgaW1lbnUtZ28nLmVs
LiBBIHBhdGNoIHRvIGBpbWVudScgaXMgbmVlZGVkIGFzIHdlbGwuCjs7OyAgV3JpdGVzIGl0
cyBvd24gVEFHUyBmaWxlcy4KOzs7ICBDbGFzcyB2aWV3ZXIgYmFzZWQgb24gVEFHUyBmaWxl
cy4gRG9lcyBub3QgdHJhY2UgQElTQSBzbyBmYXIuCjs7OyAgMTkuMzE6IFByb2JsZW1zIHdp
dGggc2NhbiBmb3IgUE9EcyBjb3JyZWN0ZWQuCjs7OyAgRmlyc3QgUE9EIGhlYWRlciBjb3Jy
ZWN0bHkgZm9udGlmaWVkLgo7OzsgIEkgbmVlZGVkIChzZXRxIGltZW51LXVzZS1rZXltYXAt
bWVudSB0KSB0byBnZXQgZ29vZCBpbWVudSBpbiAxOS4zMS4KOzs7ICBBcHBhcmVudGx5IGl0
IG1ha2VzIGEgbG90IG9mIGhpZXJhcmNoeSBjb2RlIG9ic29sZXRlLi4uCgo7Ozs7IEFmdGVy
IDEuMjMKOzs7ICBUYWdzIGZpbGxlciBub3cgc2NhbnMgKi54cyBhcyB3ZWxsLgo7OzsgIFRo
ZSBpbmZvIGZyb20gKi54cyBzY2FuIGlzIHVzZWQgYnkgdGhlIGhpZXJhcmNoeSB2aWV3ZXIu
Cjs7OyAgSGllcmFyY2h5IHZpZXdlciBkb2N1bWVudGVkLgo7OzsgIEJ1ZyBpbiAxOS4zMSBp
bWVudSBkb2N1bWVudGVkLgoKOzs7OyBBZnRlciAxLjI0Cjs7OyAgTmV3IGxvY2F0aW9uIGZv
ciBpbmZvLWZpbGVzIG1lbnRpb25lZCwKOzs7ICBFbGVjdHJpYy07IHNob3VsZCB3b3JrIGJl
dHRlci4KOzs7ICBNaW5vciBidWdzIHdpdGggUE9EIG1hcmtpbmcuCgo7Ozs7IEFmdGVyIDEu
MjUgKHByb2JhYmx5IG5vdC4uLikKOzs7ICBgY3BlcmwtaW5mby1wYWdlJyBpbnRyb2R1Y2Vk
LiAgCjs7OyAgVG8gbWFrZSBgdW5jb21tZW50LXJlZ2lvbicgd29ya2luZywgYGNvbW1lbnQt
cmVnaW9uJyB3b3VsZAo7OzsgIG5vdCBpbnNlcnQgZXh0cmEgc3BhY2UuCjs7OyAgSGVyZSBk
b2N1bWVudHMgZGVsaW1pdGVycyBiZXR0ZXIgcmVjb2duaXplZCAKOzs7ICAoZW1wdHkgb25l
LCBhbmQgbm9uLWFscGhhbnVtcyBpbiBxdW90ZXMgaGFuZGxlZCkuIE1heSBiZSB3cm9uZyB3
aXRoIDE8PDE0Pwo7OzsgIGBjcGVybC1kYicgYWRkZWQsIHVzZWQgaW4gbWVudS4KOzs7ICBp
bWVudSBzY2FuIHJlbW92ZXMgdGV4dC1wcm9wZXJ0aWVzLCBmb3IgYmV0dGVyIGRlYnVnZ2lu
Zwo7OzsgICAgLSBidXQgdGhlIGJ1ZyBpcyBpbiAxOS4zMSBpbWVudS4KOzs7ICBmb3JtYXRz
IGhpZ2hsaWdodGVkIGJ5IGZvbnQtbG9jayBhbmQgcHJlc2NhbiwgZW1iZWRkZWQgY29tbWVu
dHMKOzs7ICBhcmUgbm90IHRyZWF0ZWQuCjs7OyAgUE9EL2ZyaWVuZHMgc2NhbiBtZXJnZWQg
aW4gb25lIHBhc3MuCjs7OyAgU3ludGF4IGNsYXNzIGlzIG5vdCB1c2VkIGZvciBhbmFseXpp
bmcgdGhlIGNvZGUsIG9ubHkgY2hhci1zeW50YXgKOzs7ICBtYXkgYmUgY2hlY2tlZCBhZ2Fp
bnN0IF8gb3InZWQgd2l0aCB3Lgo7OzsgIFN5bnRheCBjbGFzcyBvZiBgOicgY2hhbmdlZCB0
byBiZSBfLgo7OzsgIGBjcGVybC1maW5kLWJhZC1zdHlsZScgYWRkZWQuCgo7Ozs7IEFmdGVy
IDEuMjUKOzs7ICBXaGVuIHNlYXJjaCBmb3IgaGVyZS1kb2N1bWVudHMsIHdlIGlnbm9yZSBj
b21tZW50ZWQgPDwgaW4gc2ltcGxlc3QgY2FzZXMuCjs7OyAgYGNwZXJsLWdldC1oZWxwJyBh
ZGRlZCwgYXZhaWxhYmxlIG9uIEMtaCB2IGFuZCBmcm9tIG1lbnUuCjs7OyAgQXV0by1oZWxw
IGFkZGVkLiBEZWZhdWx0IHdpdGggYGNwZXJsLWhhaXJ5Jywgc3dpdGNoYWJsZSBvbi9vZmYK
Ozs7ICAgd2l0aCBzdGFydHVwIHZhcmlhYmxlIGBjcGVybC1sYXp5LWhlbHAtdGltZScgYW5k
IGZyb20KOzs7ICAgbWVudS4gUmVxdWlyZXMgYHJ1bi13aXRoLWlkbGUtdGltZXInLgo7Ozsg
IEhpZ2hsaWdodGluZyBvZiBAYWJje0BlZmd9IHdhcyB3cm9uZyAtIGludGVyY2hhbmdlZCB0
d28gcmVnZXhwcy4KCjs7OzsgQWZ0ZXIgMS4yNwo7OzsgIEluZGVudGF0aW9uOiBBdCB0b3Bs
ZXZlbCBhZnRlciBhIGxhYmVsIC0gZml4ZWQuCjs7OyAgMS4yNyB3YXMgcHV0IHRvIGFyY2hp
dmVzIGluIGJpbmFyeSBtb2RlID09PT4gRE9TaXNoIDotKAoKOzs7OyBBZnRlciAxLjI4Cjs7
OyAgVGhhbmtzIHRvIE1hcnRpbiBCdWNoaG9seiA8bXJiQEVuZy5TdW4uQ09NPjogbWlzcHJp
bnRzIGluCjs7OyAgY29tbWVudHMgYW5kIGRvY3N0cmluZ3MgY29ycmVjdGVkLCBYRW1hY3Mg
c3VwcG9ydCBjbGVhbmVkIHVwLgo7OzsgIFRoZSBjbG9zaW5nIHBhcmVudGhzIHdvdWxkIGVu
Y2xvc2UgdGhlIHJlZ2lvbiBpbnRvIG1hdGNoaW5nCjs7OyAgcGFyZW5zIHVuZGVyIHRoZSBz
YW1lIGNvbmRpdGlvbnMgYXMgdGhlIG9wZW5pbmcgb25lcy4KOzs7ICBNaW5vciB1cGRhdGVz
IHRvIGBjcGVybC1zaG9ydC1kb2NzJy4KOzs7ICBXaWxsIG5vdCBjb25zaWRlciA8PD0gYXMg
c3RhcnQgb2YgaGVyZS1kb2MuCgo7Ozs7IEFmdGVyIDEuMjkKOzs7ICBBZGRlZCBhbiBleHRy
YSBhZHZpY2UgdG8gbG9vayBpbnRvIE1pY3JvLWRvY3MuIDstKS4KOzs7ICBFbmNsb3Npbmcg
b2YgcmVnaW9uIHdoZW4geW91IHByZXNzIGEgY2xvc2luZyBwYXJlbnRoIGlzIHJlZ3VsYXRl
ZCBieQo7OzsgIGBjcGVybC1lbGVjdHJpYy1wYXJlbnMtc3RyaW5nJy4KOzs7ICBNaW5vciB1
cGRhdGVzIHRvIGBjcGVybC1zaG9ydC1kb2NzJy4KOzs7ICBgaW5pdGlhbGl6ZS1uZXctdGFn
cy10YWJsZScgY2FsbGVkIG9ubHkgaWYgcHJlc2VudCAoRG9lcyB0aGlzIGhlbHAKOzs7ICAg
ICB3aXRoIGdlbmVyYXRpb24gb2YgdGFncyB1bmRlciBYRW1hY3M/KS4KOzs7ICBXaGVuIGNy
ZWF0aW5nL3VwZGF0aW5nIHRhZyBmaWxlcywgbmV3IGluZm8gaXMgd3JpdHRlbiBhdCB0aGUg
b2xkIHBsYWNlLAo7OzsgICAgIG9yIGF0IHRoZSBlbmQgKGlzIHRoaXMgYSB3YW50ZWQgYmVo
YXZpb3VyPyBJIG5lZWQgdGhpcyBpbiBwZXJsIGJ1aWxkIGRpcmVjdG9yeSkuCgo7Ozs7IEFm
dGVyIDEuMzAKOzs7ICBBbGwgdGhlIGtleXdvcmRzIGZyb20ga2V5d29yZHMucGwgaW5jbHVk
ZWQgKG1heWJlIHdpdGggZHVtbXkgZXhwbGFuYXRpb24pLgo7OzsgIE5vIGF1dG8taGVscCBp
bnNpZGUgc3RyaW5ncywgY29tbWVudCwgaGVyZS1kb2NzLCBmb3JtYXRzLCBhbmQgcG9kcy4K
Ozs7ICBTaHJpbmt3cmFwcGluZyBvZiBpbmZvLCByZWd1bGF0ZWQgYnkgYGNwZXJsLW1heC1o
ZWxwLXNpemUnLgo7OzsgIEluZm8gb24gdmFyaWFibGVzIGFzIHdlbGwuCjs7OyAgUmVjb2du
aXNpb24gb2YgSEVSRS1ET0NTIGltcHJvdmVkIHlldCBtb3JlLgo7OzsgIEF1dG9uZXdsaW5l
IHdvcmtzIG9uIGB9JyB3aXRob3V0IHdhcm5pbmdzLgo7OzsgIEF1dG9oZWxwIHdvcmtzIGFn
YWluIG9uICRfWzBdLgoKKGRlZnZhciBjcGVybC1leHRyYS1uZXdsaW5lLWJlZm9yZS1icmFj
ZSBuaWwKICAiKk5vbi1uaWwgbWVhbnMgdGhhdCBpZiwgZWxzaWYsIHdoaWxlLCB1bnRpbCwg
ZWxzZSwgZm9yLCBmb3JlYWNoCmFuZCBkbyBjb25zdHJ1Y3RzIGxvb2sgbGlrZToKCglpZiAo
KQoJewoJfQoKaW5zdGVhZCBvZjoKCglpZiAoKSB7Cgl9CiIpCgooZGVmdmFyIGNwZXJsLWlu
ZGVudC1sZXZlbCAyCiAgIipJbmRlbnRhdGlvbiBvZiBDUGVybCBzdGF0ZW1lbnRzIHdpdGgg
cmVzcGVjdCB0byBjb250YWluaW5nIGJsb2NrLiIpCihkZWZ2YXIgY3BlcmwtbGluZXVwLXN0
ZXAgbmlsCiAgIipgY3BlcmwtbGluZXVwJyB3aWxsIGFsd2F5cyBsaW5ldXAgYXQgbXVsdGlw
bGUgb2YgdGhpcyBudW1iZXIuCklmIGBuaWwnLCB0aGUgdmFsdWUgb2YgYGNwZXJsLWluZGVu
dC1sZXZlbCcgd2lsbCBiZSB1c2VkLiIpCihkZWZ2YXIgY3BlcmwtYnJhY2UtaW1hZ2luYXJ5
LW9mZnNldCAwCiAgIipJbWFnaW5lZCBpbmRlbnRhdGlvbiBvZiBhIFBlcmwgb3BlbiBicmFj
ZSB0aGF0IGFjdHVhbGx5IGZvbGxvd3MgYSBzdGF0ZW1lbnQuCkFuIG9wZW4gYnJhY2UgZm9s
bG93aW5nIG90aGVyIHRleHQgaXMgdHJlYXRlZCBhcyBpZiBpdCB3ZXJlIHRoaXMgZmFyCnRv
IHRoZSByaWdodCBvZiB0aGUgc3RhcnQgb2YgaXRzIGxpbmUuIikKKGRlZnZhciBjcGVybC1i
cmFjZS1vZmZzZXQgMAogICIqRXh0cmEgaW5kZW50YXRpb24gZm9yIGJyYWNlcywgY29tcGFy
ZWQgd2l0aCBvdGhlciB0ZXh0IGluIHNhbWUgY29udGV4dC4iKQooZGVmdmFyIGNwZXJsLWxh
YmVsLW9mZnNldCAtMgogICIqT2Zmc2V0IG9mIENQZXJsIGxhYmVsIGxpbmVzIHJlbGF0aXZl
IHRvIHVzdWFsIGluZGVudGF0aW9uLiIpCihkZWZ2YXIgY3BlcmwtbWluLWxhYmVsLWluZGVu
dCAxCiAgIipNaW5pbWFsIG9mZnNldCBvZiBDUGVybCBsYWJlbCBsaW5lcy4iKQooZGVmdmFy
IGNwZXJsLWNvbnRpbnVlZC1zdGF0ZW1lbnQtb2Zmc2V0IDIKICAiKkV4dHJhIGluZGVudCBm
b3IgbGluZXMgbm90IHN0YXJ0aW5nIG5ldyBzdGF0ZW1lbnRzLiIpCihkZWZ2YXIgY3Blcmwt
Y29udGludWVkLWJyYWNlLW9mZnNldCAwCiAgIipFeHRyYSBpbmRlbnQgZm9yIHN1YnN0YXRl
bWVudHMgdGhhdCBzdGFydCB3aXRoIG9wZW4tYnJhY2VzLgpUaGlzIGlzIGluIGFkZGl0aW9u
IHRvIGNwZXJsLWNvbnRpbnVlZC1zdGF0ZW1lbnQtb2Zmc2V0LiIpCihkZWZ2YXIgY3Blcmwt
Y2xvc2UtcGFyZW4tb2Zmc2V0IC0xCiAgIipFeHRyYSBpbmRlbnQgZm9yIHN1YnN0YXRlbWVu
dHMgdGhhdCBzdGFydCB3aXRoIGNsb3NlLXBhcmVudGhlc2lzLiIpCgooZGVmdmFyIGNwZXJs
LWF1dG8tbmV3bGluZSBuaWwKICAiKk5vbi1uaWwgbWVhbnMgYXV0b21hdGljYWxseSBuZXds
aW5lIGJlZm9yZSBhbmQgYWZ0ZXIgYnJhY2VzLAphbmQgYWZ0ZXIgY29sb25zIGFuZCBzZW1p
Y29sb25zLCBpbnNlcnRlZCBpbiBDUGVybCBjb2RlLiBUaGUgZm9sbG93aW5nClxcW2NwZXJs
LWVsZWN0cmljLWJhY2tzcGFjZV0gd2lsbCByZW1vdmUgdGhlIGluc2VydGVkIHdoaXRlc3Bh
Y2UuCkluc2VydGlvbiBhZnRlciBjb2xvbnMgcmVxdWlyZXMgYm90aCB0aGlzIHZhcmlhYmxl
IGFuZCAKYGNwZXJsLWF1dG8tbmV3bGluZS1hZnRlci1jb2xvbicgc2V0LiIpCgooZGVmdmFy
IGNwZXJsLWF1dG8tbmV3bGluZS1hZnRlci1jb2xvbiBuaWwKICAiKk5vbi1uaWwgbWVhbnMg
YXV0b21hdGljYWxseSBuZXdsaW5lIGV2ZW4gYWZ0ZXIgY29sb25zLgpTdWJqZWN0IHRvIGBj
cGVybC1hdXRvLW5ld2xpbmUnIHNldHRpbmcuIikKCihkZWZ2YXIgY3BlcmwtdGFiLWFsd2F5
cy1pbmRlbnQgdAogICIqTm9uLW5pbCBtZWFucyBUQUIgaW4gQ1BlcmwgbW9kZSBzaG91bGQg
YWx3YXlzIHJlaW5kZW50IHRoZSBjdXJyZW50IGxpbmUsCnJlZ2FyZGxlc3Mgb2Ygd2hlcmUg
aW4gdGhlIGxpbmUgcG9pbnQgaXMgd2hlbiB0aGUgVEFCIGNvbW1hbmQgaXMgdXNlZC4iKQoK
KGRlZnZhciBjcGVybC1mb250LWxvY2sgbmlsCiAgIipOb24tbmlsIChhbmQgbm9uLW51bGwp
IG1lYW5zIENQZXJsIGJ1ZmZlcnMgd2lsbCB1c2UgZm9udC1sb2NrLW1vZGUuCkNhbiBiZSBv
dmVyd3JpdHRlbiBieSBgY3BlcmwtaGFpcnknIGlmIG5pbC4iKQoKKGRlZnZhciBjcGVybC1l
bGVjdHJpYy1sYnJhY2Utc3BhY2UgbmlsCiAgIipOb24tbmlsIChhbmQgbm9uLW51bGwpIG1l
YW5zIHsgYWZ0ZXIgJCBpbiBDUGVybCBidWZmZXJzIHNob3VsZCBiZSBwcmVjZWVkZWQgYnkg
YCAnLgpDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgYGNwZXJsLWhhaXJ5JyBpZiBuaWwuIikKCihk
ZWZ2YXIgY3BlcmwtZWxlY3RyaWMtcGFyZW5zLXN0cmluZyAiKHtbXX0pPCIKICAiKlN0cmlu
ZyBvZiBwYXJlbnRoZXNlcyB0aGF0IHNob3VsZCBiZSBlbGVjdHJpYyBpbiBDUGVybC4iKQoK
KGRlZnZhciBjcGVybC1lbGVjdHJpYy1wYXJlbnMgbmlsCiAgIipOb24tbmlsIChhbmQgbm9u
LW51bGwpIG1lYW5zIHBhcmVudGhlc2VzIHNob3VsZCBiZSBlbGVjdHJpYyBpbiBDUGVybC4K
Q2FuIGJlIG92ZXJ3cml0dGVuIGJ5IGBjcGVybC1oYWlyeScgaWYgbmlsLiIpCihkZWZ2YXIg
Y3BlcmwtZWxlY3RyaWMtcGFyZW5zLW1hcmsgIAogIChhbmQgd2luZG93LXN5c3RlbQogICAg
ICAgKG9yIChhbmQgKGJvdW5kcCAndHJhbnNpZW50LW1hcmstbW9kZSkgOyBGb3IgRW1hY3MK
CQl0cmFuc2llbnQtbWFyay1tb2RlKQoJICAgKGFuZCAoYm91bmRwICd6bWFjcy1yZWdpb25z
KSA7IEZvciBYRW1hY3MKCQl6bWFjcy1yZWdpb25zKSkpCiAgIipOb3QtbmlsIG1lYW5zIHRo
YXQgZWxlY3RyaWMgcGFyZW5zIGxvb2sgZm9yIGFjdGl2ZSBtYXJrLgpEZWZhdWx0IGlzIHll
cyBpZiB0aGVyZSBpcyB2aXN1YWwgZmVlZGJhY2sgb24gbWFyay4iKQoKKGRlZnZhciBjcGVy
bC1lbGVjdHJpYy1wYXJlbnMtbWFyayAoYW5kIHdpbmRvdy1zeXN0ZW0gdHJhbnNpZW50LW1h
cmstbW9kZSkKICAiKk5vdC1uaWwgbWVhbnMgdGhhdCBlbGVjdHJpYyBwYXJlbnMgbG9vayBm
b3IgYWN0aXZlIG1hcmsuCkRlZmF1bHQgaXMgeWVzIGlmIHRoZXJlIGlzIHZpc3VhbCBmZWVk
YmFjayBvbiBtYXJrLiIpCgooZGVmdmFyIGNwZXJsLWVsZWN0cmljLWxpbmVmZWVkIG5pbAog
ICIqSWYgdHJ1ZSwgTEZEIHNob3VsZCBiZSBoYWlyeSBpbiBDUGVybCwgb3RoZXJ3aXNlIEMt
YyBMRkQgaXMgaGFpcnkuCkluIGFueSBjYXNlIHRoZXNlIHR3byBtZWFuIHBsYWluIGFuZCBo
YWlyeSBsaW5lZmVlZHMgdG9nZXRoZXIuCkNhbiBiZSBvdmVyd3JpdHRlbiBieSBgY3Blcmwt
aGFpcnknIGlmIG5pbC4iKQoKKGRlZnZhciBjcGVybC1lbGVjdHJpYy1rZXl3b3JkcyBuaWwK
ICAiKk5vdC1uaWwgKGFuZCBub24tbnVsbCkgbWVhbnMga2V5d29yZHMgYXJlIGVsZWN0cmlj
IGluIENQZXJsLgpDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgYGNwZXJsLWhhaXJ5JyBpZiBuaWwu
IikKCihkZWZ2YXIgY3BlcmwtaGFpcnkgbmlsCiAgIipOb3QtbmlsIG1lYW5zIGFsbCB0aGUg
YmVsbHMgYW5kIHdoaXN0bGVzIGFyZSBlbmFibGVkIGluIENQZXJsLiIpCgooZGVmdmFyIGNw
ZXJsLWNvbW1lbnQtY29sdW1uIDMyCiAgIipDb2x1bW4gdG8gcHV0IGNvbW1lbnRzIGluIENQ
ZXJsICh1c2UgXFxbY3BlcmwtaW5kZW50XScgdG8gbGluZXVwIHdpdGggY29kZSkuIikKCihk
ZWZ2YXIgY3BlcmwtdmMtaGVhZGVyLWFsaXN0ICcoKFNDQ1MgIiRzY2NzID0gJyVXXCUnIDsi
KQoJCQkJKFJDUyAiJHJjcyA9ICcgJElkXCQgJyA7IikpCiAgIipXaGF0IHRvIHVzZSBhcyBg
dmMtaGVhZGVyLWFsaXN0JyBpbiBDUGVybC4iKQoKKGRlZnZhciBjcGVybC1pbmZvLW9uLWNv
bW1hbmQtbm8tcHJvbXB0IG5pbAogICIqTm90LW5pbCAoYW5kIG5vbi1udWxsKSBtZWFucyBu
b3QgdG8gcHJvbXB0IG9uIEMtaCBmLgpUaGUgb3Bwb3NpdGUgYmVoYXZpb3VyIGlzIGFsd2F5
cyBhdmFpbGFibGUgaWYgcHJlZml4ZWQgd2l0aCBDLWMuCkNhbiBiZSBvdmVyd3JpdHRlbiBi
eSBgY3BlcmwtaGFpcnknIGlmIG5pbC4iKQoKKGRlZnZhciBjcGVybC1sYXp5LWhlbHAtdGlt
ZSBuaWwKICAiKk5vdC1uaWwgKGFuZCBub24tbnVsbCkgbWVhbnMgdG8gc2hvdyBsYXp5IGhl
bHAgYWZ0ZXIgZ2l2ZW4gaWRsZSB0aW1lLiIpCgooZGVmdmFyIGNwZXJsLXBvZC1mYWNlICdm
b250LWxvY2stY29tbWVudC1mYWNlCiAgIipUaGUgcmVzdWx0IG9mIGV2YWx1YXRpb24gb2Yg
dGhpcyBleHByZXNzaW9uIGlzIHVzZWQgZm9yIHBvZCBoaWdobGlnaHRpbmcuIikKCihkZWZ2
YXIgY3BlcmwtcG9kLWhlYWQtZmFjZSAnZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZQog
ICIqVGhlIHJlc3VsdCBvZiBldmFsdWF0aW9uIG9mIHRoaXMgZXhwcmVzc2lvbiBpcyB1c2Vk
IGZvciBwb2QgaGlnaGxpZ2h0aW5nLgpGb250IGZvciBQT0QgaGVhZGVycy4iKQoKKGRlZnZh
ciBjcGVybC1oZXJlLWZhY2UgJ2ZvbnQtbG9jay1zdHJpbmctZmFjZQogICIqVGhlIHJlc3Vs
dCBvZiBldmFsdWF0aW9uIG9mIHRoaXMgZXhwcmVzc2lvbiBpcyB1c2VkIGZvciBoZXJlLWRv
Y3MgaGlnaGxpZ2h0aW5nLiIpCgooZGVmdmFyIGNwZXJsLXBvZC1oZXJlLWZvbnRpZnkgJyhm
ZWF0dXJlcCAnZm9udC1sb2NrKQogICIqTm90LW5pbCBhZnRlciBldmFsdWF0aW9uIG1lYW5z
IHRvIGhpZ2hsaWdodCBwb2QgYW5kIGhlcmUtZG9jcyBzZWN0aW9ucy4iKQoKKGRlZnZhciBj
cGVybC1wb2QtaGVyZS1zY2FuIHQKICAiKk5vdC1uaWwgbWVhbnMgbG9vayBmb3IgcG9kIGFu
ZCBoZXJlLWRvY3Mgc2VjdGlvbnMgZHVyaW5nIHN0YXJ0dXAuCllvdSBjYW4gYWx3YXlzIG1h
a2UgbG9va3VwIGZyb20gbWVudSBvciB1c2luZyBcXFtjcGVybC1maW5kLXBvZHMtaGVyZXNd
LiIpCgooZGVmdmFyIGNwZXJsLWltZW51LWFkZGJhY2sgbmlsCiAgIipOb3QtbmlsIG1lYW5z
IGFkZCBiYWNrcmVmZXJlbmNlcyB0byBnZW5lcmF0ZWQgYGltZW51J3MuCk1heSByZXF1aXJl
IHBhdGNoZWQgYGltZW51JyBhbmQgYGltZW51LWdvJy4iKQoKKGRlZnZhciBjcGVybC1tYXgt
aGVscC1zaXplIDY2CiAgIipOb24tbmlsIG1lYW5zIHNocmluay13cmFwcGluZyBvZiBpbmZv
LWJ1ZmZlciBhbGxvd2VkIHVwIHRvIHRoZXNlIHBlcmNlbnRzLiIpCgooZGVmdmFyIGNwZXJs
LXNocmluay13cmFwLWluZm8tZnJhbWUgdAogICIqTm9uLW5pbCBtZWFucyBzaHJpbmstd3Jh
cHBpbmcgb2YgaW5mby1idWZmZXItZnJhbWUgYWxsb3dlZC4iKQoKKGRlZnZhciBjcGVybC1p
bmZvLXBhZ2UgInBlcmwiCiAgIk5hbWUgb2YgdGhlIGluZm8gcGFnZSBjb250YWluaW5nIHBl
cmwgZG9jcy4KT2xkZXIgdmVyc2lvbiBvZiB0aGlzIHBhZ2Ugd2FzIGNhbGxlZCBgcGVybDUn
LCBuZXdlciBgcGVybCcuIikKCgwKCjs7OyBTaG9ydCBleHRyYS1kb2NzLgoKKGRlZnZhciBj
cGVybC10aXBzICdwbGVhc2UtaWdub3JlLXRoaXMtbGluZQogICJHZXQgbmV3ZXN0IHZlcnNp
b24gb2YgdGhpcyBwYWNrYWdlIGZyb20KICBmdHA6Ly9mdHAubWF0aC5vaGlvLXN0YXRlLmVk
dS9wdWIvdXNlcnMvaWx5YS9lbWFjcwphbmQvb3IKICBmdHA6Ly9mdHAubWF0aC5vaGlvLXN0
YXRlLmVkdS9wdWIvdXNlcnMvaWx5YS9wZXJsCgpHZXQgc3VwcG9ydCBwYWNrYWdlcyBjaG9v
c2UtY29sb3IuZWwgKG9yIGZvbnQtbG9jay1leHRyYS5lbCBiZWZvcmUKMTkuMzApLCBpbWVu
dS1nby5lbCBmcm9tIHRoZSBzYW1lIHBsYWNlLiAgXChMb29rIGZvciBvdGhlciBmaWxlcyB0
aGVyZQp0b28uLi4gOy0pIEdldCBhIHBhdGNoIGZvciBpbWVudS5lbCBpbiAxOS4yOS4gIE5v
dGUgdGhhdCBmb3IgMTkuMzAgYW5kCmxhdGVyIHlvdSBzaG91bGQgdXNlIGNob29zZS1jb2xv
ci5lbCAqaW5zdGVhZCogb2YgZm9udC1sb2NrLWV4dHJhLmVsIApcKGFuZCB5b3Ugd2lsbCBu
b3QgZ2V0IHNtYXJ0IGhpZ2hsaWdodGluZyBpbiBDIDotKCkuCgpOb3RlIHRoYXQgdG8gZW5h
YmxlIENvbXBpbGUgY2hvaWNlcyBpbiB0aGUgbWVudSB5b3UgbmVlZCB0byBpbnN0YWxsCm1v
ZGUtY29tcGlsZS5lbC4KCkdldCBwZXJsNS1pbmZvIGZyb20gCiAgJENQQU4vZG9jL21hbnVh
bC9pbmZvL3BlcmwtaW5mby50YXIuZ3oKb2xkZXIgdmVyc2lvbiB3YXMgb24KICBodHRwOi8v
d3d3Lm1ldHJvbmV0LmNvbTo3MC85L3BlcmxpbmZvL3Blcmw1L21hbnVhbC9wZXJsNS1pbmZv
LnRhci5negoKSWYgeW91IHVzZSBpbWVudS1nbywgcnVuIGltZW51IG9uIHBlcmw1LWluZm8g
YnVmZmVyICh5b3UgY2FuIGRvIGl0CmZyb20gQ1BlcmwgbWVudSkuIElmIG1hbnkgZmlsZXMg
YXJlIHJlbGF0ZWQsIGdlbmVyYXRlIFRBR1MgZmlsZXMgZnJvbQpUb29scy9UYWdzIHN1Ym1l
bnUgaW4gQ1BlcmwgbWVudS4KCklmIHNvbWUgY2xhc3Mgc3RydWN0dXJlIGlzIHRvbyBjb21w
bGljYXRlZCwgdXNlIFRvb2xzL0hpZXJhcmNoeS12aWV3CmZyb20gQ1BlcmwgbWVudSwgb3Ig
aGllcmFyY2hpYyB2aWV3IG9mIGltZW51LiBUaGUgc2Vjb25kIG9uZSB1c2VzIHRoZQpjdXJy
ZW50IGJ1ZmZlciBvbmx5LCB0aGUgZmlyc3Qgb25lIHJlcXVpcmVzIGdlbmVyYXRpb24gb2Yg
VEFHUyBmcm9tCkNQZXJsL1Rvb2xzL1RhZ3MgbWVudSBiZWZvcmVoYW5kLgoKUnVuIENQZXJs
L1Rvb2xzL0luc2VydC1zcGFjZXMtaWYtbmVlZGVkIHRvIGZpeCB5b3VyIGxhenkgdHlwaW5n
LgoKU3dpdGNoIGF1dG8taGVscCBvbi9vZmYgd2l0aCBDUGVybC9Ub29scy9BdXRvLWhlbHAu
CgpCZWZvcmUgcmVwb3J0aW5nIChub24tKXByb2JsZW1zIGxvb2sgaW4gdGhlIHByb2JsZW0g
c2VjdGlvbiBvbiB3aGF0IEkKa25vdyBhYm91dCB0aGVtLiIpCgooZGVmdmFyIGNwZXJsLXBy
b2JsZW1zICdwbGVhc2UtaWdub3JlLXRoaXMtbGluZQoiRW1hY3MgaGFzIGEgX3ZlcnlfIHJl
c3RyaWN0ZWQgc3ludGF4IHBhcnNpbmcgZW5naW5lLiAKCkl0IG1heSBiZSBjb3JyZWN0ZWQg
b24gdGhlIGxldmVsIG9mIEMgY29kZSwgcGxlYXNlIGxvb2sgaW4gdGhlCmBub24tcHJvYmxl
bXMnIHNlY3Rpb24gaWYgeW91IHdhbnQgdG8gdm9sdW50ZWVyLgoKQ1BlcmwgbW9kZSB0cmll
cyB0byBjb3JyZWN0cyBzb21lIEVtYWNzIG1pc3VuZGVyc3RhbmRpbmdzLCBob3dldmVyLApm
b3IgZWZmaWNpZW5jeSByZWFzb25zIHRoZSBkZWdyZWUgb2YgY29ycmVjdGlvbiBpcyBkaWZm
ZXJlbnQgZm9yCmRpZmZlcmVudCBvcGVyYXRpb25zLiBUaGUgcGFydGlhbGx5IGNvcnJlY3Rl
ZCBwcm9ibGVtcyBhcmU6IFBPRApzZWN0aW9ucywgaGVyZS1kb2N1bWVudHMsIHJlZ2V4cHMu
IFRoZSBvcGVyYXRpb25zIGFyZTogaGlnaGxpZ2h0aW5nLAppbmRlbnRhdGlvbiwgZWxlY3Ry
aWMga2V5d29yZHMsIGVsZWN0cmljIGJyYWNlcy4gCgpUaGlzIG1heSBiZSBjb25mdXNpbmcs
IHNpbmNlIHRoZSByZWdleHAgcyMvLyMvI1w7IG1heSBiZSBoaWdobGlnaHRlZAphcyBhIGNv
bW1lbnQsIGJ1dCBpdCB3aWxsIGJlIHJlY29nbml6ZWQgYXMgYSByZWdleHAgYnkgdGhlIGlu
ZGVudGF0aW9uCmNvZGUuIE9yIHRoZSBvcHBvc2l0ZSBjYXNlLCB3aGVuIGEgcG9kIHNlY3Rp
b24gaXMgaGlnaGxpZ2h0ZWQsIGJ1dApicmVha3MgdGhlIGluZGVudGF0aW9uIG9mIHRoZSBm
b2xsb3dpbmcgY29kZS4KClRoZSBtYWluIHRyaWNrICh0byBtYWtlICQgYSBcImJhY2tzbGFz
aFwiKSBtYWtlcyBjb25zdHJ1Y3Rpb25zIGxpa2UKJHthYWF9IGxvb2sgbGlrZSB1bmJhbGFu
Y2VkIGJyYWNlcy4gVGhlIG9ubHkgdHJpY2sgSSBjYW4gdGhpbmsgb2YgaXMKdG8gaW5zZXJ0
IGl0IGFzICQge2FhYX0gKGxlZ2FsIGluIHBlcmw1LCBub3QgaW4gcGVybDQpLiAKClNpbWls
YXIgcHJvYmxlbXMgYXJpc2UgaW4gcmVnZXhwcywgd2hlbiAvKFxcc3wkKS8gc2hvdWxkIGJl
IHJld3JpdHRlbgphcyAvKCR8XFxzKS8uIE5vdGUgdGhhdCBzdWNoIGEgdHJhbnNwb3NpdGlv
biBpcyBub3QgYWx3YXlzIHBvc3NpYmxlCjotKC4gICIgKQoKKGRlZnZhciBjcGVybC1ub24t
cHJvYmxlbXMgJ3BsZWFzZS1pZ25vcmUtdGhpcy1saW5lCiJBcyB5b3Uga25vdyBmcm9tIGBw
cm9ibGVtcycgc2VjdGlvbiwgUGVybCBzeW50YXggaXMgdG9vIGhhcmQgZm9yIENQZXJsLgoK
TW9zdCB0aGUgdGltZSwgaWYgeW91IHdyaXRlIHlvdXIgb3duIGNvZGUsIHlvdSBtYXkgZmlu
ZCBhbiBlcXVpdmFsZW50ClwoYW5kIGFsbW9zdCBhcyByZWFkYWJsZSkgZXhwcmVzc2lvbi4K
ClRyeSB0byBoZWxwIGl0OiBhZGQgY29tbWVudHMgd2l0aCBlbWJlZGRlZCBxdW90ZXMgdG8g
Zml4IENQZXJsCm1pc3VuZGVyc3RhbmRpbmdzIGFib3V0IHRoZSBlbmQgb2YgcXVvdGF0aW9u
OgoKJGE9JzUwMCQnOyAgICAgICMgJzsKCllvdSB3b24ndCBuZWVkIGl0IHRvbyBvZnRlbi4g
VGhlIHJlYXNvbjogJCBcInF1b3Rlc1wiIHRoZSBmb2xsb3dpbmcKY2hhcmFjdGVyICh0aGlz
IHNhdmVzIGEgbGlmZSBhIGxvdCBvZiB0aW1lcyBpbiBDUGVybCksIHRodXMgZHVlIHRvCkVt
YWNzIHBhcnNpbmcgcnVsZXMgaXQgZG9lcyBub3QgY29uc2lkZXIgdGljayBhZnRlciB0aGUg
ZG9sbGFyIGFzIGEKY2xvc2luZyBvbmUsIGJ1dCBhcyBhIHVzdWFsIGNoYXJhY3Rlci4KCk5v
dyB0aGUgaW5kZW50YXRpb24gY29kZSBpcyBwcmV0dHkgd2lzZS4gVGhlIG9ubHkgZHJhd2Jh
Y2sgaXMgdGhhdCBpdApyZWxpZXMgb24gRW1hY3MgcGFyc2luZyB0byBmaW5kIG1hdGNoaW5n
IHBhcmVudGhlc2VzLiBBbmQgRW1hY3MKKmNhbm5vdCogbWF0Y2ggcGFyZW50aGVzZXMgaW4g
UGVybCAxMDAlIGNvcnJlY3RseS4gU28KCTEgaWYgcyMvLyMvIzsKd2lsbCBub3QgYnJlYWsg
aW5kZW50YXRpb24sIGJ1dAoJMSBpZiAoIHMjLy8jLyMgKTsKd2lsbC4KCkJ5IHNpbWlsYXIg
cmVhc29ucwoJc1wiYWJjXCJkZWZcIjsKd2lsbCBjb25mdXNlIENQZXJsIGEgbG90LgoKSWYg
eW91IHN0aWxsIGdldCB3cm9uZyBpbmRlbnRhdGlvbiBpbiBzaXR1YXRpb24gdGhhdCB5b3Ug
dGhpbmsgdGhlCmNvZGUgc2hvdWxkIGJlIGFibGUgdG8gcGFyc2UsIHRyeToKCmEpIENoZWNr
IHdoYXQgRW1hY3MgdGhpbmtzIGFib3V0IGJhbGFuY2Ugb2YgeW91ciBwYXJlbnRoZXNlcy4K
YikgU3VwcGx5IHRoZSBjb2RlIHRvIG1lIChJWikuCgpQb2RzIGFyZSB0cmVhdGVkIF92ZXJ5
XyBydWRpbWVudGFsbHkuIEhlcmUtZG9jdW1lbnRzIGFyZSBub3QgdHJlYXRlZAphdCBhbGwg
KGV4Y2VwdCBoaWdobGlnaHRpbmcgYW5kIGluaGliaXRpbmcgaW5kZW50YXRpb24pLiAoVGhp
cyBtYXkKY2hhbmdlIHNvbWUgdGltZS4gUk1TIGFwcHJvdmVkIG1ha2luZyBzeW50YXggbG9v
a3VwIHJlY29nbml6ZSB0ZXh0CmF0dHJpYnV0ZXMsIGJ1dCB2b2x1bnRlZXJzIGFyZSBuZWVk
ZWQgdG8gY2hhbmdlIEVtYWNzIEMgY29kZS4pCgpUbyBzcGVlZCB1cCBjb2xvcmluZyB0aGUg
Zm9sbG93aW5nIGNvbXByb21pc2VzIGV4aXN0OgogICBhKSBzdWIgaW4gJG15cGFja2FnZTo6
c3ViIG1heSBiZSBoaWdobGlnaHRlZC4KICAgYikgLXogaW4gW2Etel0gbWF5IGJlIGhpZ2hs
aWdodGVkLgogICBjKSBpZiB5b3VyIHJlZ2V4cCBjb250YWlucyBhIGtleXdvcmQgKGxpa2Ug
XCJzXCIpLCBpdCBtYXkgYmUgaGlnaGxpZ2h0ZWQuCgoKSW1lbnUgaW4gMTkuMzEgaXMgYnJv
a2VuLiBTZXQgYGltZW51LXVzZS1rZXltYXAtbWVudScgdG8gdCwgYW5kIHJlbW92ZQpgY2Fy
JyBiZWZvcmUgYGltZW51LWNob29zZS1idWZmZXItaW5kZXgnIGluIGBpbWVudScuCiIpCgoM
Cgo7OzsgUG9ydGFiaWxpdHkgc3R1ZmY6CgooZGVmY29uc3QgY3BlcmwteGVtYWNzLXAgKHN0
cmluZy1tYXRjaCAiWEVtYWNzXFx8THVjaWQiIGVtYWNzLXZlcnNpb24pKQooZGVmbWFjcm8g
Y3BlcmwtZGVmaW5lLWtleSAoZnNmLWtleSBkZWZpbml0aW9uICZvcHRpb25hbCB4ZW1hY3Mt
a2V5KQogIGAoZGVmaW5lLWtleSBjcGVybC1tb2RlLW1hcAogICAgICwoaWYgeGVtYWNzLWtl
eQoJICBgKGlmIGNwZXJsLXhlbWFjcy1wICx4ZW1hY3Mta2V5ICxmc2Yta2V5KQoJZnNmLWtl
eSkKICAgICAsZGVmaW5pdGlvbikpCgooZGVmdmFyIGRlbC1iYWNrLWNoIChjYXIgKGFwcGVu
ZCAod2hlcmUtaXMtaW50ZXJuYWwgJ2RlbGV0ZS1iYWNrd2FyZC1jaGFyKQoJCQkJICh3aGVy
ZS1pcy1pbnRlcm5hbCAnYmFja3dhcmQtZGVsZXRlLWNoYXItdW50YWJpZnkpKSkKICAiQ2hh
cmFjdGVyIGdlbmVyYXRlZCBieSBrZXkgYm91bmQgdG8gZGVsZXRlLWJhY2t3YXJkLWNoYXIu
IikKCihhbmQgKHZlY3RvcnAgZGVsLWJhY2stY2gpICg9IChsZW5ndGggZGVsLWJhY2stY2gp
IDEpIAogICAgIChzZXRxIGRlbC1iYWNrLWNoIChhcmVmIGRlbC1iYWNrLWNoIDApKSkKCihp
ZiBjcGVybC14ZW1hY3MtcAogICAgKHByb2duCiAgICAgIDs7ICJBY3RpdmUgcmVnaW9ucyIg
YXJlIG9uOiB1c2UgcmVnaW9uIG9ubHkgaWYgYWN0aXZlCiAgICAgIDs7ICJBY3RpdmUgcmVn
aW9ucyIgYXJlIG9mZjogdXNlIHJlZ2lvbiB1bmNvbmRpdGlvbmFsbHkKICAgICAgKGRlZnVu
IGNwZXJsLXVzZS1yZWdpb24tcCAoKQoJKGlmIHptYWNzLXJlZ2lvbnMgKG1hcmspIHQpKQog
ICAgICAoZGVmdW4gY3BlcmwtbWFyay1hY3RpdmUgKCkgKG1hcmspKSkKICAoZGVmdW4gY3Bl
cmwtdXNlLXJlZ2lvbi1wICgpCiAgICAoaWYgdHJhbnNpZW50LW1hcmstbW9kZSBtYXJrLWFj
dGl2ZSB0KSkKICAoZGVmdW4gY3BlcmwtbWFyay1hY3RpdmUgKCkgbWFyay1hY3RpdmUpKQoK
KGRlZnN1YnN0IGNwZXJsLWVuYWJsZS1mb250LWxvY2sgKCkKICAob3IgY3BlcmwteGVtYWNz
LXAgd2luZG93LXN5c3RlbSkpCgooaWYgKGJvdW5kcCAndW5yZWFkLWNvbW1hbmQtZXZlbnRz
KQogICAgKGlmIGNwZXJsLXhlbWFjcy1wCgkoZGVmdW4gY3BlcmwtcHV0YmFjay1jaGFyIChj
KQk7IFhFbWFjcyA+PSAxOS4xMgoJICAoc2V0cSB1bnJlYWQtY29tbWFuZC1ldmVudHMgKGxp
c3QgKGNoYXJhY3Rlci10by1ldmVudCBjKSkpKQogICAgICAoZGVmdW4gY3BlcmwtcHV0YmFj
ay1jaGFyIChjKQk7IEVtYWNzIDE5Cgkoc2V0cSB1bnJlYWQtY29tbWFuZC1ldmVudHMgKGxp
c3QgYykpKSkKICAoZGVmdW4gY3BlcmwtcHV0YmFjay1jaGFyIChjKQkJOyBYRW1hY3MgPD0g
MTkuMTEKICAgIChzZXRxIHVucmVhZC1jb21tYW5kLWV2ZW50IChjaGFyYWN0ZXItdG8tZXZl
bnQgYykpKSkKCihvciAoZmJvdW5kcCAndW5jb21tZW50LXJlZ2lvbikKICAgIChkZWZ1biB1
bmNvbW1lbnQtcmVnaW9uIChiZWcgZW5kKQogICAgICAoaW50ZXJhY3RpdmUgInIiKQogICAg
ICAoY29tbWVudC1yZWdpb24gYmVnIGVuZCAtMSkpKQoKKGRlZnZhciBjcGVybC1kby1ub3Qt
Zm9udGlmeQogIChpZiAoc3RyaW5nPCBlbWFjcy12ZXJzaW9uICIxOS4zMCIpCiAgICAgICdm
b250aWZpZWQKICAgICdsYXp5LWxvY2spCiAgIlRleHQgcHJvcGVydHkgd2hpY2ggaW5oaWJp
dHMgcmVmb250aWZpY2F0aW9uLiIpCgooZGVmc3Vic3QgY3BlcmwtcHV0LWRvLW5vdC1mb250
aWZ5IChmcm9tIHRvKQogIChwdXQtdGV4dC1wcm9wZXJ0eSAobWF4IChwb2ludC1taW4pICgx
LSBmcm9tKSkKCQkgICAgIHRvIGNwZXJsLWRvLW5vdC1mb250aWZ5IHQpKQoKDAo7OzsgUHJv
YmFibHkgaXQgaXMgdG9vIGxhdGUgdG8gc2V0IHRoZXNlIGd1eXMgYWxyZWFkeSwgYnV0IGl0
IGNhbiBoZWxwIGxhdGVyOgoKKHNldHEgYXV0by1tb2RlLWFsaXN0CiAgICAgIChhcHBlbmQg
JygoIlxcLltwUF1bTGxtXSQiIC4gcGVybC1tb2RlKSkgIGF1dG8tbW9kZS1hbGlzdCApKQoo
YW5kIChib3VuZHAgJ2ludGVycHJldGVyLW1vZGUtYWxpc3QpCiAgICAgKHNldHEgaW50ZXJw
cmV0ZXItbW9kZS1hbGlzdCAoYXBwZW5kIGludGVycHJldGVyLW1vZGUtYWxpc3QKCQkJCQkg
ICcoKCJtaW5pcGVybCIgLiBwZXJsLW1vZGUpKSkpKQooaWYgKGZib3VuZHAgJ2V2YWwtd2hl
bi1jb21waWxlKQogICAgKGV2YWwtd2hlbi1jb21waWxlCiAgICAgIChjb25kaXRpb24tY2Fz
ZSBuaWwKCSAgKHJlcXVpcmUgJ2ltZW51KQoJKGVycm9yIG5pbCkpCiAgICAgIChjb25kaXRp
b24tY2FzZSBuaWwKCSAgKHJlcXVpcmUgJ2Vhc3ltZW51KQoJKGVycm9yIG5pbCkpCiAgICAg
IDs7IENhbGxpbmcgYGNwZXJsLWVuYWJsZS1mb250LWxvY2snIGJlbG93IGRvZXNuJ3QgY29t
cGlsZSBvbiBYRW1hY3MsCiAgICAgIDs7IG1hY3JvcyBpbnN0ZWFkIG9mIGRlZnN1YnN0cyBk
b24ndCB3b3JrIG9uIEVtYWNzLCBzbyB3ZSBkbyB0aGUKICAgICAgOzsgZXhwYW5zaW9uIG1h
bnVhbGx5LiBBbnkgb3RoZXIgc3VnZ2VzdGlvbnM/CiAgICAgIChpZiAob3IgKHN0cmluZy1t
YXRjaCAiWEVtYWNzXFx8THVjaWQiIGVtYWNzLXZlcnNpb24pCgkgICAgICB3aW5kb3ctc3lz
dGVtKQoJICAocmVxdWlyZSAnZm9udC1sb2NrKSkKICAgICAgKHJlcXVpcmUgJ2NsKQogICAg
ICApKQoKKGRlZnZhciBjcGVybC1tb2RlLWFiYnJldi10YWJsZSBuaWwKICAiQWJicmV2IHRh
YmxlIGluIHVzZSBpbiBDcGVybC1tb2RlIGJ1ZmZlcnMuIikKCihhZGQtaG9vayAnZWRpdC12
YXItbW9kZS1hbGlzdCAnKHBlcmwtbW9kZSAocmVnZXhwIC4gIl5jcGVybC0iKSkpCgooZGVm
dmFyIGNwZXJsLW1vZGUtbWFwICgpICJLZXltYXAgdXNlZCBpbiBDUGVybCBtb2RlLiIpCgoo
aWYgY3BlcmwtbW9kZS1tYXAgbmlsCiAgKHNldHEgY3BlcmwtbW9kZS1tYXAgKG1ha2Utc3Bh
cnNlLWtleW1hcCkpCiAgKGNwZXJsLWRlZmluZS1rZXkgInsiICdjcGVybC1lbGVjdHJpYy1s
YnJhY2UpCiAgKGNwZXJsLWRlZmluZS1rZXkgIlsiICdjcGVybC1lbGVjdHJpYy1wYXJlbikK
ICAoY3BlcmwtZGVmaW5lLWtleSAiKCIgJ2NwZXJsLWVsZWN0cmljLXBhcmVuKQogIChjcGVy
bC1kZWZpbmUta2V5ICI8IiAnY3BlcmwtZWxlY3RyaWMtcGFyZW4pCiAgKGNwZXJsLWRlZmlu
ZS1rZXkgIn0iICdjcGVybC1lbGVjdHJpYy1icmFjZSkKICAoY3BlcmwtZGVmaW5lLWtleSAi
XSIgJ2NwZXJsLWVsZWN0cmljLXJwYXJlbikKICAoY3BlcmwtZGVmaW5lLWtleSAiKSIgJ2Nw
ZXJsLWVsZWN0cmljLXJwYXJlbikKICAoY3BlcmwtZGVmaW5lLWtleSAiOyIgJ2NwZXJsLWVs
ZWN0cmljLXNlbWkpCiAgKGNwZXJsLWRlZmluZS1rZXkgIjoiICdjcGVybC1lbGVjdHJpYy10
ZXJtaW5hdG9yKQogIChjcGVybC1kZWZpbmUta2V5ICJcQy1qIiAnbmV3bGluZS1hbmQtaW5k
ZW50KQogIChjcGVybC1kZWZpbmUta2V5ICJcQy1jXEMtaiIgJ2NwZXJsLWxpbmVmZWVkKQog
IChjcGVybC1kZWZpbmUta2V5ICJcQy1jXEMtYSIgJ2NwZXJsLXRvZ2dsZS1hdXRvLW5ld2xp
bmUpCiAgKGNwZXJsLWRlZmluZS1rZXkgIlxDLWNcQy1rIiAnY3BlcmwtdG9nZ2xlLWFiYnJl
dikKICAoY3BlcmwtZGVmaW5lLWtleSAiXEMtY1xDLWUiICdjcGVybC10b2dnbGUtZWxlY3Ry
aWMpCiAgKGNwZXJsLWRlZmluZS1rZXkgIlxlXEMtcSIgJ2NwZXJsLWluZGVudC1leHApIDsg
VXN1YWxseSBub3QgYm91bmQKICA7OyhjcGVybC1kZWZpbmUta2V5ICJcTS1xIiAnY3Blcmwt
ZmlsbC1wYXJhZ3JhcGgpCiAgOzsoY3BlcmwtZGVmaW5lLWtleSAiXGU7IiAnY3BlcmwtaW5k
ZW50LWZvci1jb21tZW50KQogIChjcGVybC1kZWZpbmUta2V5ICJcMTc3IiAnY3BlcmwtZWxl
Y3RyaWMtYmFja3NwYWNlKQogIChjcGVybC1kZWZpbmUta2V5ICJcdCIgJ2NwZXJsLWluZGVu
dC1jb21tYW5kKQogIDs7IGRvbid0IGNsb2JiZXIgdGhlIGJhY2tzcGFjZSBiaW5kaW5nOgog
IChjcGVybC1kZWZpbmUta2V5ICJcQy1oZiIgJ2NwZXJsLWluZm8tb24tY29tbWFuZCBbKGNv
bnRyb2wgaCkgZl0pCiAgKGNwZXJsLWRlZmluZS1rZXkgIlxDLWNcQy1oZiIgJ2NwZXJsLWlu
Zm8tb24tY3VycmVudC1jb21tYW5kCgkJICAgIFsoY29udHJvbCBjKSAoY29udHJvbCBoKSBm
XSkKICAoY3BlcmwtZGVmaW5lLWtleSAiXEMtaHYiICdjcGVybC1nZXQtaGVscCBbKGNvbnRy
b2wgaCkgdl0pCiAgKGlmIChhbmQgY3BlcmwteGVtYWNzLXAgCgkgICAoPD0gZW1hY3MtbWlu
b3ItdmVyc2lvbiAxMSkgKDw9IGVtYWNzLW1ham9yLXZlcnNpb24gMTkpKQogICAgICAocHJv
Z24KCTs7IHN1YnN0aXR1dGUta2V5LWRlZmluaXRpb24gaXMgdXNlZnVsbmVzcy1kZWVuaGFu
Y2VkLi4uCgkoY3BlcmwtZGVmaW5lLWtleSAiXE0tcSIgJ2NwZXJsLWZpbGwtcGFyYWdyYXBo
KQoJKGNwZXJsLWRlZmluZS1rZXkgIlxlOyIgJ2NwZXJsLWluZGVudC1mb3ItY29tbWVudCkK
CShjcGVybC1kZWZpbmUta2V5ICJcZVxDLVxcIiAnY3BlcmwtaW5kZW50LXJlZ2lvbikpCiAg
ICAoc3Vic3RpdHV0ZS1rZXktZGVmaW5pdGlvbgogICAgICdpbmRlbnQtc2V4cCAnY3Blcmwt
aW5kZW50LWV4cAogICAgIGNwZXJsLW1vZGUtbWFwIGdsb2JhbC1tYXApCiAgICAoc3Vic3Rp
dHV0ZS1rZXktZGVmaW5pdGlvbgogICAgICdmaWxsLXBhcmFncmFwaCAnY3BlcmwtZmlsbC1w
YXJhZ3JhcGgKICAgICBjcGVybC1tb2RlLW1hcCBnbG9iYWwtbWFwKQogICAgKHN1YnN0aXR1
dGUta2V5LWRlZmluaXRpb24KICAgICAnaW5kZW50LXJlZ2lvbiAnY3BlcmwtaW5kZW50LXJl
Z2lvbgogICAgIGNwZXJsLW1vZGUtbWFwIGdsb2JhbC1tYXApCiAgICAoc3Vic3RpdHV0ZS1r
ZXktZGVmaW5pdGlvbgogICAgICdpbmRlbnQtZm9yLWNvbW1lbnQgJ2NwZXJsLWluZGVudC1m
b3ItY29tbWVudAogICAgIGNwZXJsLW1vZGUtbWFwIGdsb2JhbC1tYXApKSkKCihjb25kaXRp
b24tY2FzZSBuaWwKICAgIChwcm9nbgogICAgICAocmVxdWlyZSAnZWFzeW1lbnUpCiAgICAg
IChlYXN5LW1lbnUtZGVmaW5lIGNwZXJsLW1lbnUgY3BlcmwtbW9kZS1tYXAgIk1lbnUgZm9y
IENQZXJsIG1vZGUiCiAgICAgICAgICcoIlBlcmwiCgkgICBbIkJlZ2lubmluZyBvZiBmdW5j
dGlvbiIgYmVnaW5uaW5nLW9mLWRlZnVuIHRdCgkgICBbIkVuZCBvZiBmdW5jdGlvbiIgZW5k
LW9mLWRlZnVuIHRdCgkgICBbIk1hcmsgZnVuY3Rpb24iIG1hcmstZGVmdW4gdF0KCSAgIFsi
SW5kZW50IGV4cHJlc3Npb24iIGNwZXJsLWluZGVudC1leHAgdF0KCSAgIFsiRmlsbCBwYXJh
Z3JhcGgvY29tbWVudCIgY3BlcmwtZmlsbC1wYXJhZ3JhcGggdF0KCSAgIFsiTGluZSB1cCBh
IGNvbnN0cnVjdGlvbiIgY3BlcmwtbGluZXVwIChjcGVybC11c2UtcmVnaW9uLXApXQoJICAg
Ii0tLS0iCgkgICBbIkluZGVudCByZWdpb24iIGNwZXJsLWluZGVudC1yZWdpb24gKGNwZXJs
LXVzZS1yZWdpb24tcCldCgkgICBbIkNvbW1lbnQgcmVnaW9uIiBjcGVybC1jb21tZW50LXJl
Z2lvbiAoY3BlcmwtdXNlLXJlZ2lvbi1wKV0KCSAgIFsiVW5jb21tZW50IHJlZ2lvbiIgY3Bl
cmwtdW5jb21tZW50LXJlZ2lvbiAoY3BlcmwtdXNlLXJlZ2lvbi1wKV0KCSAgICItLS0tIgoJ
ICAgWyJSdW4iIG1vZGUtY29tcGlsZSAoZmJvdW5kcCAnbW9kZS1jb21waWxlKV0KCSAgIFsi
S2lsbCIgbW9kZS1jb21waWxlLWtpbGwgKGFuZCAoZmJvdW5kcCAnbW9kZS1jb21waWxlLWtp
bGwpCgkJCQkJICAoZ2V0LWJ1ZmZlciAiKmNvbXBpbGF0aW9uKiIpKV0KCSAgIFsiTmV4dCBl
cnJvciIgbmV4dC1lcnJvciAoZ2V0LWJ1ZmZlciAiKmNvbXBpbGF0aW9uKiIpXQoJICAgWyJD
aGVjayBzeW50YXgiIGNwZXJsLWNoZWNrLXN5bnRheCAoZmJvdW5kcCAnbW9kZS1jb21waWxl
KV0KCSAgICItLS0tIgoJICAgWyJEZWJ1Z2dlciIgY3BlcmwtZGIgdF0KCSAgICItLS0tIgoJ
ICAgKCJUb29scyIKCSAgICBbIkltZW51IiBpbWVudSAoZmJvdW5kcCAnaW1lbnUpXQoJICAg
IFsiSW5zZXJ0IHNwYWNlcyBpZiBuZWVkZWQiIGNwZXJsLWZpbmQtYmFkLXN0eWxlIHRdCgkg
ICAgWyJDbGFzcyBIaWVyYXJjaHkgZnJvbSBUQUdTIiBjcGVybC10YWdzLWhpZXItaW5pdCB0
XQoJICAgIDs7WyJVcGRhdGUgY2xhc3NlcyIgKGNwZXJsLXRhZ3MtaGllci1pbml0IHQpIHRh
Z3MtdGFibGUtbGlzdF0KCSAgICBbIkltZW51IG9uIGluZm8iIGNwZXJsLWltZW51LW9uLWlu
Zm8gKGZlYXR1cmVwICdpbWVudSldCgkgICAgKCJUYWdzIgo7OzsJICAgICBbIkNyZWF0ZSB0
YWdzIGZvciBjdXJyZW50IGZpbGUiIGNwZXJsLWV0YWdzIHRdCjs7OwkgICAgIFsiQWRkIHRh
Z3MgZm9yIGN1cnJlbnQgZmlsZSIgKGNwZXJsLWV0YWdzIHQpIHRdCjs7OwkgICAgIFsiQ3Jl
YXRlIHRhZ3MgZm9yIFBlcmwgZmlsZXMgaW4gZGlyZWN0b3J5IiAoY3BlcmwtZXRhZ3Mgbmls
IHQpIHRdCjs7OwkgICAgIFsiQWRkIHRhZ3MgZm9yIFBlcmwgZmlsZXMgaW4gZGlyZWN0b3J5
IiAoY3BlcmwtZXRhZ3MgdCB0KSB0XQo7OzsJICAgICBbIkNyZWF0ZSB0YWdzIGZvciBQZXJs
IGZpbGVzIGluIChzdWIpZGlyZWN0b3JpZXMiIAo7OzsJICAgICAgKGNwZXJsLWV0YWdzIG5p
bCAncmVjdXJzaXZlKSB0XQo7OzsJICAgICBbIkFkZCB0YWdzIGZvciBQZXJsIGZpbGVzIGlu
IChzdWIpZGlyZWN0b3JpZXMiCjs7OwkgICAgICAoY3BlcmwtZXRhZ3MgdCAncmVjdXJzaXZl
KSB0XSkgCjs7OzsgY3Blcmwtd3JpdGUtdGFncyAoJm9wdGlvbmFsIGZpbGUgZXJhc2UgcmVj
dXJzZSBkaXIgaW5idWZmZXIpCgkgICAgIFsiQ3JlYXRlIHRhZ3MgZm9yIGN1cnJlbnQgZmls
ZSIgKGNwZXJsLXdyaXRlLXRhZ3MgbmlsIHQpIHRdCgkgICAgIFsiQWRkIHRhZ3MgZm9yIGN1
cnJlbnQgZmlsZSIgKGNwZXJsLXdyaXRlLXRhZ3MpIHRdCgkgICAgIFsiQ3JlYXRlIHRhZ3Mg
Zm9yIFBlcmwgZmlsZXMgaW4gZGlyZWN0b3J5IiAKCSAgICAgIChjcGVybC13cml0ZS10YWdz
IG5pbCB0IG5pbCB0KSB0XQoJICAgICBbIkFkZCB0YWdzIGZvciBQZXJsIGZpbGVzIGluIGRp
cmVjdG9yeSIgCgkgICAgICAoY3Blcmwtd3JpdGUtdGFncyBuaWwgbmlsIG5pbCB0KSB0XQoJ
ICAgICBbIkNyZWF0ZSB0YWdzIGZvciBQZXJsIGZpbGVzIGluIChzdWIpZGlyZWN0b3JpZXMi
IAoJICAgICAgKGNwZXJsLXdyaXRlLXRhZ3MgbmlsIHQgdCB0KSB0XQoJICAgICBbIkFkZCB0
YWdzIGZvciBQZXJsIGZpbGVzIGluIChzdWIpZGlyZWN0b3JpZXMiCgkgICAgICAoY3Blcmwt
d3JpdGUtdGFncyBuaWwgbmlsIHQgdCkgdF0pCgkgICAgWyJSZWNhbGN1bGF0ZSBQT0RzIGFu
ZCBIRVJFcyIgY3BlcmwtZmluZC1wb2RzLWhlcmVzIHRdCgkgICAgWyJEZWZpbmUgd29yZCBh
dCBwb2ludCIgaW1lbnUtZ28tZmluZC1hdC1wb3NpdGlvbiAKCSAgICAgKGZib3VuZHAgJ2lt
ZW51LWdvLWZpbmQtYXQtcG9zaXRpb24pXQoJICAgIFsiSGVscCBvbiBmdW5jdGlvbiIgY3Bl
cmwtaW5mby1vbi1jb21tYW5kIHRdCgkgICAgWyJIZWxwIG9uIGZ1bmN0aW9uIGF0IHBvaW50
IiBjcGVybC1pbmZvLW9uLWN1cnJlbnQtY29tbWFuZCB0XQoJICAgIFsiSGVscCBvbiBzeW1i
b2wgYXQgcG9pbnQiIGNwZXJsLWdldC1oZWxwIHRdCgkgICAgWyJBdXRvLWhlbHAgb24iIGNw
ZXJsLWxhenktaW5zdGFsbCAoZmJvdW5kcCAncnVuLXdpdGgtaWRsZS10aW1lcildCgkgICAg
WyJBdXRvLWhlbHAgb2ZmIiBjcGVybC1sYXp5LXVuc3RhbGwgCgkgICAgIChmYm91bmRwICdy
dW4td2l0aC1pZGxlLXRpbWVyKV0pCgkgICAoIlRvZ2dsZS4uLiIKCSAgICBbIkF1dG8gbmV3
bGluZSIgY3BlcmwtdG9nZ2xlLWF1dG8tbmV3bGluZSB0XQoJICAgIFsiRWxlY3RyaWMgcGFy
ZW5zIiBjcGVybC10b2dnbGUtZWxlY3RyaWMgdF0KCSAgICBbIkVsZWN0cmljIGtleXdvcmRz
IiBjcGVybC10b2dnbGUtYWJicmV2IHRdCgkgICAgKQoJICAgKCJJbmRlbnQgc3R5bGVzLi4u
IgoJICAgIFsiR05VIiAoY3Blcmwtc2V0LXN0eWxlICJHTlUiKSB0XQoJICAgIFsiQysrIiAo
Y3Blcmwtc2V0LXN0eWxlICJDKysiKSB0XQoJICAgIFsiRlNGIiAoY3Blcmwtc2V0LXN0eWxl
ICJGU0YiKSB0XQoJICAgIFsiQlNEIiAoY3Blcmwtc2V0LXN0eWxlICJCU0QiKSB0XQoJICAg
IFsiV2hpdGVzbWl0aCIgKGNwZXJsLXNldC1zdHlsZSAiV2hpdGVzbWl0aCIpIHRdKQoJICAg
KCJNaWNyby1kb2NzIgoJICAgIFsiVGlwcyIgKGRlc2NyaWJlLXZhcmlhYmxlICdjcGVybC10
aXBzKSB0XQoJICAgIFsiUHJvYmxlbXMiIChkZXNjcmliZS12YXJpYWJsZSAnY3BlcmwtcHJv
YmxlbXMpIHRdCgkgICAgWyJOb24tcHJvYmxlbXMiIChkZXNjcmliZS12YXJpYWJsZSAnY3Bl
cmwtbm9uLXByb2JsZW1zKSB0XSkpKSkKICAoZXJyb3IgbmlsKSkKCihhdXRvbG9hZCAnYy1t
YWNyby1leHBhbmQgImNtYWNleHAiCiAgIkRpc3BsYXkgdGhlIHJlc3VsdCBvZiBleHBhbmRp
bmcgYWxsIEMgbWFjcm9zIG9jY3VycmluZyBpbiB0aGUgcmVnaW9uLgpUaGUgZXhwYW5zaW9u
IGlzIGVudGlyZWx5IGNvcnJlY3QgYmVjYXVzZSBpdCB1c2VzIHRoZSBDIHByZXByb2Nlc3Nv
ci4iCiAgdCkKCihkZWZ2YXIgY3BlcmwtbW9kZS1zeW50YXgtdGFibGUgbmlsCiAgIlN5bnRh
eCB0YWJsZSBpbiB1c2UgaW4gQ3BlcmwtbW9kZSBidWZmZXJzLiIpCgooaWYgY3BlcmwtbW9k
ZS1zeW50YXgtdGFibGUKICAgICgpCiAgKHNldHEgY3BlcmwtbW9kZS1zeW50YXgtdGFibGUg
KG1ha2Utc3ludGF4LXRhYmxlKSkKICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XFwgIlxcIiBj
cGVybC1tb2RlLXN5bnRheC10YWJsZSkKICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/LyAiLiIg
Y3BlcmwtbW9kZS1zeW50YXgtdGFibGUpCiAgKG1vZGlmeS1zeW50YXgtZW50cnkgPyogIi4i
IGNwZXJsLW1vZGUtc3ludGF4LXRhYmxlKQogIChtb2RpZnktc3ludGF4LWVudHJ5ID8rICIu
IiBjcGVybC1tb2RlLXN5bnRheC10YWJsZSkKICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/LSAi
LiIgY3BlcmwtbW9kZS1zeW50YXgtdGFibGUpCiAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0g
Ii4iIGNwZXJsLW1vZGUtc3ludGF4LXRhYmxlKQogIChtb2RpZnktc3ludGF4LWVudHJ5ID8l
ICIuIiBjcGVybC1tb2RlLXN5bnRheC10YWJsZSkKICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/
PCAiLiIgY3BlcmwtbW9kZS1zeW50YXgtdGFibGUpCiAgKG1vZGlmeS1zeW50YXgtZW50cnkg
Pz4gIi4iIGNwZXJsLW1vZGUtc3ludGF4LXRhYmxlKQogIChtb2RpZnktc3ludGF4LWVudHJ5
ID8mICIuIiBjcGVybC1tb2RlLXN5bnRheC10YWJsZSkKICAobW9kaWZ5LXN5bnRheC1lbnRy
eSA/JCAiXFwiIGNwZXJsLW1vZGUtc3ludGF4LXRhYmxlKQogIChtb2RpZnktc3ludGF4LWVu
dHJ5ID9cbiAiPiIgY3BlcmwtbW9kZS1zeW50YXgtdGFibGUpCiAgKG1vZGlmeS1zeW50YXgt
ZW50cnkgPyMgIjwiIGNwZXJsLW1vZGUtc3ludGF4LXRhYmxlKQogIChtb2RpZnktc3ludGF4
LWVudHJ5ID8nICJcIiIgY3BlcmwtbW9kZS1zeW50YXgtdGFibGUpCiAgKG1vZGlmeS1zeW50
YXgtZW50cnkgP2AgIlwiIiBjcGVybC1tb2RlLXN5bnRheC10YWJsZSkKICAobW9kaWZ5LXN5
bnRheC1lbnRyeSA/XyAidyIgY3BlcmwtbW9kZS1zeW50YXgtdGFibGUpCiAgKG1vZGlmeS1z
eW50YXgtZW50cnkgPzogIl8iIGNwZXJsLW1vZGUtc3ludGF4LXRhYmxlKQogIChtb2RpZnkt
c3ludGF4LWVudHJ5ID98ICIuIiBjcGVybC1tb2RlLXN5bnRheC10YWJsZSkpCgoKDAo7OyBN
YWtlIGN1c3RvbWl6YXRpb24gcG9zc2libGUgImluIHJldmVyc2UiCjs7KGRlZnVuIGNwZXJs
LXNldCAoc3ltYm9sIHRvKQo7OyAgKG9yIChlcSAoc3ltYm9sLXZhbHVlIHN5bWJvbCkgJ251
bGwpIChzZXQgc3ltYm9sIHRvKSkpCihkZWZzdWJzdCBjcGVybC12YWwgKHN5bWJvbCAmb3B0
aW9uYWwgZGVmYXVsdCBoYWlyeSkKICAoY29uZAogICAoKGVxIChzeW1ib2wtdmFsdWUgc3lt
Ym9sKSAnbnVsbCkgZGVmYXVsdCkKICAgKGNwZXJsLWhhaXJ5IChvciBoYWlyeSB0KSkKICAg
KHQgKHN5bWJvbC12YWx1ZSBzeW1ib2wpKSkpCgwKOzsgcHJvdmlkZSBhbiBhbGlhcyBmb3Ig
d29ya2luZyB3aXRoIGVtYWNzIDE5LiAgdGhlIHBlcmwtbW9kZSB0aGF0IGNvbWVzCjs7IHdp
dGggaXQgaXMgcmVhbGx5IGJhZCwgYW5kIHRoaXMgbGV0cyB1cyBzZWFtbGVzc2x5IHJlcGxh
Y2UgaXQuCihmc2V0ICdwZXJsLW1vZGUgJ2NwZXJsLW1vZGUpCihkZWZ1biBjcGVybC1tb2Rl
ICgpCiAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgUGVybCBjb2RlLgpFeHByZXNzaW9uIGFu
ZCBsaXN0IGNvbW1hbmRzIHVuZGVyc3RhbmQgYWxsIEMgYnJhY2tldHMuClRhYiBpbmRlbnRz
IGZvciBQZXJsIGNvZGUuClBhcmFncmFwaHMgYXJlIHNlcGFyYXRlZCBieSBibGFuayBsaW5l
cyBvbmx5LgpEZWxldGUgY29udmVydHMgdGFicyB0byBzcGFjZXMgYXMgaXQgbW92ZXMgYmFj
ay4KClZhcmlvdXMgY2hhcmFjdGVycyBpbiBQZXJsIGFsbW9zdCBhbHdheXMgY29tZSBpbiBw
YWlyczoge30sICgpLCBbXSwKc29tZXRpbWVzIDw+LiBXaGVuIHRoZSB1c2VyIHR5cGVzIHRo
ZSBmaXJzdCwgc2hlIGdldHMgdGhlIHNlY29uZCBhcwp3ZWxsLCB3aXRoIG9wdGlvbmFsIHNw
ZWNpYWwgZm9ybWF0dGluZyBkb25lIG9uIHt9LiAgKERpc2FibGVkIGJ5CmRlZmF1bHQuKSAg
WW91IGNhbiBhbHdheXMgcXVvdGUgKHdpdGggXFxbcXVvdGVkLWluc2VydF0pIHRoZSBsZWZ0
ClwicGFyZW5cIiB0byBhdm9pZCB0aGUgZXhwYW5zaW9uLiBUaGUgcHJvY2Vzc2luZyBvZiA8
IGlzIHNwZWNpYWwsCnNpbmNlIG1vc3QgdGhlIHRpbWUgeW91IG1lYW4gXCJsZXNzXCIuIENw
ZXJsIG1vZGUgdHJpZXMgdG8gZ3Vlc3MKd2hldGhlciB5b3Ugd2FudCB0byB0eXBlIHBhaXIg
PD4sIGFuZCBpbnNlcnRzIGlzIGlmIGl0CmFwcHJvcHJpYXRlLiBZb3UgY2FuIHNldCBgY3Bl
cmwtZWxlY3RyaWMtcGFyZW5zLXN0cmluZycgdG8gdGhlIHN0cmluZyB0aGF0CmNvbnRhaW5z
IHRoZSBwYXJlbnRocyBmcm9tIHRoZSBhYm92ZSBsaXN0IHlvdSB3YW50IHRvIGJlIGVsZWN0
cmljYWwuCkVsZWN0cmljaXR5IG9mIHBhcmVudGhzIGlzIGNvbnRyb2xsZWQgYnkgYGNwZXJs
LWVsZWN0cmljLXBhcmVucycuCllvdSBtYXkgYWxzbyBzZXQgYGNwZXJsLWVsZWN0cmljLXBh
cmVucy1tYXJrJyB0byBoYXZlIGVsZWN0cmljIHBhcmVucwpsb29rIGZvciBhY3RpdmUgbWFy
ayBhbmQgXCJlbWJyYWNlXCIgYSByZWdpb24gaWYgcG9zc2libGUuJwoKQ1BlcmwgbW9kZSBw
cm92aWRlcyBleHBhbnNpb24gb2YgdGhlIFBlcmwgY29udHJvbCBjb25zdHJ1Y3RzOgogICBp
ZiwgZWxzZSwgZWxzaWYsIHVubGVzcywgd2hpbGUsIHVudGlsLCBmb3IsIGFuZCBmb3JlYWNo
Lgo9PT09PT09PT0oRGlzYWJsZWQgYnkgZGVmYXVsdCwgc2VlIGBjcGVybC1lbGVjdHJpYy1r
ZXl3b3JkcycuKQpUaGUgdXNlciB0eXBlcyB0aGUga2V5d29yZCBpbW1lZGlhdGVseSBmb2xs
b3dlZCBieSBhIHNwYWNlLCB3aGljaCBjYXVzZXMKdGhlIGNvbnN0cnVjdCB0byBiZSBleHBh
bmRlZCwgYW5kIHRoZSB1c2VyIGlzIHBvc2l0aW9uZWQgd2hlcmUgc2hlIGlzIG1vc3QKbGlr
ZWx5IHRvIHdhbnQgdG8gYmUuCmVnLiB3aGVuIHRoZSB1c2VyIHR5cGVzIGEgc3BhY2UgZm9s
bG93aW5nIFwiaWZcIiB0aGUgZm9sbG93aW5nIGFwcGVhcnMgaW4KdGhlIGJ1ZmZlcjoKICAg
ICAgICAgICAgaWYgKCkgeyAgICAgb3IgICBpZiAoKQogICAgICAgICAgICB9ICAgICAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KYW5kIHRoZSBjdXJz
b3IgaXMgYmV0d2VlbiB0aGUgcGFyZW50aGVzZXMuICBUaGUgdXNlciBjYW4gdGhlbiB0eXBl
IHNvbWUKYm9vbGVhbiBleHByZXNzaW9uIHdpdGhpbiB0aGUgcGFyZW5zLiAgSGF2aW5nIGRv
bmUgdGhhdCwgdHlwaW5nClxcW2NwZXJsLWxpbmVmZWVkXSBwbGFjZXMgeW91LCBhcHByb3By
aWF0ZWx5IGluZGVudGVkIG9uIGEgbmV3IGxpbmUKYmV0d2VlbiB0aGUgYnJhY2VzLiBJZiBD
UGVybCBkZWNpZGVzIHRoYXQgeW91IHdhbnQgdG8gaW5zZXJ0ClwiRW5nbGlzaFwiIHN0eWxl
IGNvbnN0cnVjdCBsaWtlCiAgICAgICAgICAgIGJpdGUgaWYgYW5ncnk7Cml0IHdpbGwgbm90
IGRvIGFueSBleHBhbnNpb24uIFNlZSBhbHNvIGhlbHAgb24gdmFyaWFibGUgCmBjcGVybC1l
eHRyYS1uZXdsaW5lLWJlZm9yZS1icmFjZScuCgpcXFtjcGVybC1saW5lZmVlZF0gaXMgYSBj
b252ZW5pZW5jZSByZXBsYWNlbWVudCBmb3IgdHlwaW5nIGNhcnJpYWdlCnJldHVybi4gSXQg
cGxhY2VzIHlvdSBpbiB0aGUgbmV4dCBsaW5lIHdpdGggcHJvcGVyIGluZGVudGF0aW9uLCBv
ciBpZgp5b3UgdHlwZSBpdCBpbnNpZGUgdGhlIGlubGluZSBibG9jayBvZiBjb250cm9sIGNv
bnN0cnVjdCwgbGlrZQogICAgICAgICAgICBmb3JlYWNoIChAbGluZXMpIHtwcmludDsgcHJp
bnR9CmFuZCB5b3UgYXJlIG9uIGEgYm91bmRhcnkgb2YgYSBzdGF0ZW1lbnQgaW5zaWRlIGJy
YWNlcywgaXQgd2lsbAp0cmFuc2Zvcm0gdGhlIGNvbnN0cnVjdCBpbnRvIGEgbXVsdGlsaW5l
IGFuZCB3aWxsIHBsYWNlIHlvdSBpbnRvIGFuCmFwcHJvcHJpYXRlbHkgaW5kZW50ZWQgYmxh
bmsgbGluZS4gSWYgeW91IG5lZWQgYSB1c3VhbCAKYG5ld2xpbmUtYW5kLWluZGVudCcgYmVo
YXZpb3VyLCBpdCBpcyBvbiBcXFtuZXdsaW5lLWFuZC1pbmRlbnRdLCAKc2VlIGRvY3VtZW50
YXRpb24gb24gYGNwZXJsLWVsZWN0cmljLWxpbmVmZWVkJy4KClxce2NwZXJsLW1vZGUtbWFw
fQoKU2V0dGluZyB0aGUgdmFyaWFibGUgYGNwZXJsLWZvbnQtbG9jaycgdG8gdCBzd2l0Y2hl
cyBvbgpmb250LWxvY2stbW9kZSwgYGNwZXJsLWVsZWN0cmljLWxicmFjZS1zcGFjZScgdG8g
dCBzd2l0Y2hlcyBvbgplbGVjdHJpYyBzcGFjZSBiZXR3ZWVuICQgYW5kIHssIGBjcGVybC1l
bGVjdHJpYy1wYXJlbnMtc3RyaW5nJyBpcyB0aGUKc3RyaW5nIHRoYXQgY29udGFpbnMgcGFy
ZW50aGVzZXMgdGhhdCBzaG91bGQgYmUgZWxlY3RyaWMgaW4gQ1BlcmwgKHNlZQphbHNvIGBj
cGVybC1lbGVjdHJpYy1wYXJlbnMtbWFyaycgYW5kIGBjcGVybC1lbGVjdHJpYy1wYXJlbnMn
KSwKc2V0dGluZyBgY3BlcmwtZWxlY3RyaWMta2V5d29yZHMnIGVuYWJsZXMgZWxlY3RyaWMg
ZXhwYW5zaW9uIG9mCmNvbnRyb2wgc3RydWN0dXJlcyBpbiBDUGVybC4gYGNwZXJsLWVsZWN0
cmljLWxpbmVmZWVkJyBnb3Zlcm5zIHdoaWNoCm9uZSBvZiB0d28gbGluZWZlZWQgYmVoYXZp
b3IgaXMgcHJlZmVyYWJsZS4gWW91IGNhbiBlbmFibGUgYWxsIHRoZXNlCm9wdGlvbnMgc2lt
dWx0YW5lb3VzbHkgKHJlY29tbWVuZGVkIG1vZGUgb2YgdXNlKSBieSBzZXR0aW5nCmBjcGVy
bC1oYWlyeScgdG8gdC4gSW4gdGhpcyBjYXNlIHlvdSBjYW4gc3dpdGNoIHNlcGFyYXRlIG9w
dGlvbnMgb2ZmCmJ5IHNldHRpbmcgdGhlbSB0byBgbnVsbCcuIE5vdGUgdGhhdCBvbmUgbWF5
IHVuZG8gdGhlIGV4dHJhIHdoaXRlc3BhY2UKaW5zZXJ0ZWQgYnkgc2VtaXMgYW5kIGJyYWNl
cyBpbiBgYXV0by1uZXdsaW5lJy1tb2RlIGJ5IGNvbnNlcXVlbnQKXFxbY3BlcmwtZWxlY3Ry
aWMtYmFja3NwYWNlXS4KCklmIHlvdXIgc2l0ZSBoYXMgcGVybDUgZG9jdW1lbnRhdGlvbiBp
biBpbmZvIGZvcm1hdCwgeW91IGNhbiB1c2UgY29tbWFuZHMKXFxbY3BlcmwtaW5mby1vbi1j
dXJyZW50LWNvbW1hbmRdIGFuZCBcXFtjcGVybC1pbmZvLW9uLWNvbW1hbmRdIHRvIGFjY2Vz
cyBpdC4KVGhlc2Uga2V5cyBydW4gY29tbWFuZHMgYGNwZXJsLWluZm8tb24tY3VycmVudC1j
b21tYW5kJyBhbmQKYGNwZXJsLWluZm8tb24tY29tbWFuZCcsIHdoaWNoIG9uZSBpcyB3aGlj
aCBpcyBjb250cm9sbGVkIGJ5IHZhcmlhYmxlCmBjcGVybC1pbmZvLW9uLWNvbW1hbmQtbm8t
cHJvbXB0JyAoaW4gdHVybiBhZmZlY3RlZCBieSBgY3BlcmwtaGFpcnknKS4KCkV2ZW4gaWYg
eW91IGhhdmUgbm8gaW5mby1mb3JtYXQgZG9jdW1lbnRhdGlvbiwgc2hvcnQgb25lLWxpbmVy
LXN0eWxlCmhlbHAgaXMgYXZhaWxhYmxlIG9uIFxcW2NwZXJsLWdldC1oZWxwXS4gCgpJdCBp
cyBwb3NzaWJsZSB0byBzaG93IHRoaXMgaGVscCBhdXRvbWF0aWNhbGx5IGFmdGVyIHNvbWUg
aWRsZQp0aW1lLiBUaGlzIGlzIHJlZ3VsYXRlZCBieSB2YXJpYWJsZSBgY3BlcmwtbGF6eS1o
ZWxwLXRpbWUnLiAgRGVmYXVsdAp3aXRoIGBjcGVybC1oYWlyeScgaXMgNSBzZWNzIGlkbGUg
dGltZSBpZiB0aGUgdmFsdWUgb2YgdGhpcyB2YXJpYWJsZQppcyBuaWwuICBJdCBpcyBhbHNv
IHBvc3NpYmxlIHRvIHN3aXRjaCB0aGlzIG9uL29mZiBmcm9tIHRoZQptZW51LiBSZXF1aXJl
cyBgcnVuLXdpdGgtaWRsZS10aW1lcicuCgpWYXJpYWJsZXMgYGNwZXJsLXBvZC1oZXJlLXNj
YW4nLCBgY3BlcmwtcG9kLWhlcmUtZm9udGlmeScsCmBjcGVybC1wb2QtZmFjZScsIGBjcGVy
bC1wb2QtaGVhZC1mYWNlJyBjb250cm9sIHByb2Nlc3Npbmcgb2YgcG9kIGFuZApoZXJlLWRv
Y3Mgc2VjdGlvbnMuIEluIGEgZnV0dXJlIHZlcnNpb24gcmVzdWx0cyBvZiBzY2FuIG1heSBi
ZSB1c2VkCmZvciBpbmRlbnRhdGlvbiB0b28sIGN1cnJlbnRseSB0aGV5IGFyZSB1c2VkIGZv
ciBoaWdobGlnaHRpbmcgb25seS4KClZhcmlhYmxlcyBjb250cm9sbGluZyBpbmRlbnRhdGlv
biBzdHlsZToKIGBjcGVybC10YWItYWx3YXlzLWluZGVudCcKICAgIE5vbi1uaWwgbWVhbnMg
VEFCIGluIENQZXJsIG1vZGUgc2hvdWxkIGFsd2F5cyByZWluZGVudCB0aGUgY3VycmVudCBs
aW5lLAogICAgcmVnYXJkbGVzcyBvZiB3aGVyZSBpbiB0aGUgbGluZSBwb2ludCBpcyB3aGVu
IHRoZSBUQUIgY29tbWFuZCBpcyB1c2VkLgogYGNwZXJsLWF1dG8tbmV3bGluZScKICAgIE5v
bi1uaWwgbWVhbnMgYXV0b21hdGljYWxseSBuZXdsaW5lIGJlZm9yZSBhbmQgYWZ0ZXIgYnJh
Y2VzLAogICAgYW5kIGFmdGVyIGNvbG9ucyBhbmQgc2VtaWNvbG9ucywgaW5zZXJ0ZWQgaW4g
UGVybCBjb2RlLiBUaGUgZm9sbG93aW5nCiAgICBcXFtjcGVybC1lbGVjdHJpYy1iYWNrc3Bh
Y2VdIHdpbGwgcmVtb3ZlIHRoZSBpbnNlcnRlZCB3aGl0ZXNwYWNlLgogICAgSW5zZXJ0aW9u
IGFmdGVyIGNvbG9ucyByZXF1aXJlcyBib3RoIHRoaXMgdmFyaWFibGUgYW5kIAogICAgYGNw
ZXJsLWF1dG8tbmV3bGluZS1hZnRlci1jb2xvbicgc2V0LiAKIGBjcGVybC1hdXRvLW5ld2xp
bmUtYWZ0ZXItY29sb24nCiAgICBOb24tbmlsIG1lYW5zIGF1dG9tYXRpY2FsbHkgbmV3bGlu
ZSBldmVuIGFmdGVyIGNvbG9ucy4KICAgIFN1YmplY3QgdG8gYGNwZXJsLWF1dG8tbmV3bGlu
ZScgc2V0dGluZy4KIGBjcGVybC1pbmRlbnQtbGV2ZWwnCiAgICBJbmRlbnRhdGlvbiBvZiBQ
ZXJsIHN0YXRlbWVudHMgd2l0aGluIHN1cnJvdW5kaW5nIGJsb2NrLgogICAgVGhlIHN1cnJv
dW5kaW5nIGJsb2NrJ3MgaW5kZW50YXRpb24gaXMgdGhlIGluZGVudGF0aW9uCiAgICBvZiB0
aGUgbGluZSBvbiB3aGljaCB0aGUgb3Blbi1icmFjZSBhcHBlYXJzLgogYGNwZXJsLWNvbnRp
bnVlZC1zdGF0ZW1lbnQtb2Zmc2V0JwogICAgRXh0cmEgaW5kZW50YXRpb24gZ2l2ZW4gdG8g
YSBzdWJzdGF0ZW1lbnQsIHN1Y2ggYXMgdGhlCiAgICB0aGVuLWNsYXVzZSBvZiBhbiBpZiwg
b3IgYm9keSBvZiBhIHdoaWxlLCBvciBqdXN0IGEgc3RhdGVtZW50IGNvbnRpbnVhdGlvbi4K
IGBjcGVybC1jb250aW51ZWQtYnJhY2Utb2Zmc2V0JwogICAgRXh0cmEgaW5kZW50YXRpb24g
Z2l2ZW4gdG8gYSBicmFjZSB0aGF0IHN0YXJ0cyBhIHN1YnN0YXRlbWVudC4KICAgIFRoaXMg
aXMgaW4gYWRkaXRpb24gdG8gYGNwZXJsLWNvbnRpbnVlZC1zdGF0ZW1lbnQtb2Zmc2V0Jy4K
IGBjcGVybC1icmFjZS1vZmZzZXQnCiAgICBFeHRyYSBpbmRlbnRhdGlvbiBmb3IgbGluZSBp
ZiBpdCBzdGFydHMgd2l0aCBhbiBvcGVuIGJyYWNlLgogYGNwZXJsLWJyYWNlLWltYWdpbmFy
eS1vZmZzZXQnCiAgICBBbiBvcGVuIGJyYWNlIGZvbGxvd2luZyBvdGhlciB0ZXh0IGlzIHRy
ZWF0ZWQgYXMgaWYgaXQgdGhlIGxpbmUgc3RhcnRlZAogICAgdGhpcyBmYXIgdG8gdGhlIHJp
Z2h0IG9mIHRoZSBhY3R1YWwgbGluZSBpbmRlbnRhdGlvbi4KIGBjcGVybC1sYWJlbC1vZmZz
ZXQnCiAgICBFeHRyYSBpbmRlbnRhdGlvbiBmb3IgbGluZSB0aGF0IGlzIGEgbGFiZWwuCiBg
Y3BlcmwtbWluLWxhYmVsLWluZGVudCcKICAgIE1pbmltYWwgaW5kZW50YXRpb24gZm9yIGxp
bmUgdGhhdCBpcyBhIGxhYmVsLgoKU2V0dGluZ3MgZm9yIEsmUiBhbmQgQlNEIGluZGVudGF0
aW9uIHN0eWxlcyBhcmUKICBgY3BlcmwtaW5kZW50LWxldmVsJyAgICAgICAgICAgICAgICA1
ICAgIDgKICBgY3BlcmwtY29udGludWVkLXN0YXRlbWVudC1vZmZzZXQnICA1ICAgIDgKICBg
Y3BlcmwtYnJhY2Utb2Zmc2V0JyAgICAgICAgICAgICAgIC01ICAgLTgKICBgY3BlcmwtbGFi
ZWwtb2Zmc2V0JyAgICAgICAgICAgICAgIC01ICAgLTgKCklmIGBjcGVybC1pbmRlbnQtbGV2
ZWwnIGlzIDAsIHRoZSBzdGF0ZW1lbnQgYWZ0ZXIgb3BlbmluZyBicmFjZSBpbiBjb2x1bW4g
MCBpcyBpbmRlbnRlZCBvbiBgY3BlcmwtYnJhY2Utb2Zmc2V0JytgY3BlcmwtY29udGludWVk
LXN0YXRlbWVudC1vZmZzZXQnLgoKVHVybmluZyBvbiBDUGVybCBtb2RlIGNhbGxzIHRoZSBo
b29rcyBpbiB0aGUgdmFyaWFibGUgYGNwZXJsLW1vZGUtaG9vaycKd2l0aCBubyBhcmdzLiIK
ICAoaW50ZXJhY3RpdmUpCiAgKGtpbGwtYWxsLWxvY2FsLXZhcmlhYmxlcykKICA7OyhpZiBj
cGVybC1oYWlyeQogIDs7ICAgIChwcm9nbgogIDs7CShjcGVybC1zZXQgJ2NwZXJsLWZvbnQt
bG9jayBjcGVybC1oYWlyeSkKICA7OwkoY3Blcmwtc2V0ICdjcGVybC1lbGVjdHJpYy1sYnJh
Y2Utc3BhY2UgY3BlcmwtaGFpcnkpCiAgOzsJKGNwZXJsLXNldCAnY3BlcmwtZWxlY3RyaWMt
cGFyZW5zICJ7Wyg8IikKICA7OwkoY3Blcmwtc2V0ICdjcGVybC1lbGVjdHJpYy1rZXl3b3Jk
cyBjcGVybC1oYWlyeSkKICA7OwkoY3Blcmwtc2V0ICdjcGVybC1lbGVjdHJpYy1saW5lZmVl
ZCBjcGVybC1oYWlyeSkpKQogICh1c2UtbG9jYWwtbWFwIGNwZXJsLW1vZGUtbWFwKQogIChp
ZiAoY3BlcmwtdmFsICdjcGVybC1lbGVjdHJpYy1saW5lZmVlZCkKICAgICAgKHByb2duCgko
bG9jYWwtc2V0LWtleSAiXEMtSiIgJ2NwZXJsLWxpbmVmZWVkKQoJKGxvY2FsLXNldC1rZXkg
IlxDLUNcQy1KIiAnbmV3bGluZS1hbmQtaW5kZW50KSkpCiAgKGlmIChjcGVybC12YWwgJ2Nw
ZXJsLWluZm8tb24tY29tbWFuZC1uby1wcm9tcHQpCiAgICAgIChwcm9nbgoJOzsgZG9uJ3Qg
Y2xvYmJlciB0aGUgYmFja3NwYWNlIGJpbmRpbmc6CgkoY3BlcmwtZGVmaW5lLWtleSAiXEMt
aGYiICdjcGVybC1pbmZvLW9uLWN1cnJlbnQtY29tbWFuZCBbKGNvbnRyb2wgaCkgZl0pCgko
Y3BlcmwtZGVmaW5lLWtleSAiXEMtY1xDLWhmIiAnY3BlcmwtaW5mby1vbi1jb21tYW5kCgkJ
CSAgWyhjb250cm9sIGMpIChjb250cm9sIGgpIGZdKSkpCiAgKHNldHEgbWFqb3ItbW9kZSAn
cGVybC1tb2RlKQogIChzZXRxIG1vZGUtbmFtZSAiQ1BlcmwiKQogIChpZiAobm90IGNwZXJs
LW1vZGUtYWJicmV2LXRhYmxlKQogICAgICAobGV0ICgocHJldi1hLWMgYWJicmV2cy1jaGFu
Z2VkKSkKCShkZWZpbmUtYWJicmV2LXRhYmxlICdjcGVybC1tb2RlLWFiYnJldi10YWJsZSAn
KAoJCSgiaWYiICJpZiIgY3BlcmwtZWxlY3RyaWMta2V5d29yZCAwKQoJCSgiZWxzaWYiICJl
bHNpZiIgY3BlcmwtZWxlY3RyaWMta2V5d29yZCAwKQoJCSgid2hpbGUiICJ3aGlsZSIgY3Bl
cmwtZWxlY3RyaWMta2V5d29yZCAwKQoJCSgidW50aWwiICJ1bnRpbCIgY3BlcmwtZWxlY3Ry
aWMta2V5d29yZCAwKQoJCSgidW5sZXNzIiAidW5sZXNzIiBjcGVybC1lbGVjdHJpYy1rZXl3
b3JkIDApCgkJKCJlbHNlIiAiZWxzZSIgY3BlcmwtZWxlY3RyaWMtZWxzZSAwKQoJCSgiZm9y
IiAiZm9yIiBjcGVybC1lbGVjdHJpYy1rZXl3b3JkIDApCgkJKCJmb3JlYWNoIiAiZm9yZWFj
aCIgY3BlcmwtZWxlY3RyaWMta2V5d29yZCAwKQoJCSgiZG8iICJkbyIgY3BlcmwtZWxlY3Ry
aWMta2V5d29yZCAwKSkpCgkoc2V0cSBhYmJyZXZzLWNoYW5nZWQgcHJldi1hLWMpKSkKICAo
c2V0cSBsb2NhbC1hYmJyZXYtdGFibGUgY3BlcmwtbW9kZS1hYmJyZXYtdGFibGUpCiAgKGFi
YnJldi1tb2RlIChpZiAoY3BlcmwtdmFsICdjcGVybC1lbGVjdHJpYy1rZXl3b3JkcykgMSAw
KSkKICAoc2V0LXN5bnRheC10YWJsZSBjcGVybC1tb2RlLXN5bnRheC10YWJsZSkKICAobWFr
ZS1sb2NhbC12YXJpYWJsZSAncGFyYWdyYXBoLXN0YXJ0KQogIChzZXRxIHBhcmFncmFwaC1z
dGFydCAoY29uY2F0ICJeJFxcfCIgcGFnZS1kZWxpbWl0ZXIpKQogIChtYWtlLWxvY2FsLXZh
cmlhYmxlICdwYXJhZ3JhcGgtc2VwYXJhdGUpCiAgKHNldHEgcGFyYWdyYXBoLXNlcGFyYXRl
IHBhcmFncmFwaC1zdGFydCkKICAobWFrZS1sb2NhbC12YXJpYWJsZSAncGFyYWdyYXBoLWln
bm9yZS1maWxsLXByZWZpeCkKICAoc2V0cSBwYXJhZ3JhcGgtaWdub3JlLWZpbGwtcHJlZml4
IHQpCiAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2luZGVudC1saW5lLWZ1bmN0aW9uKQogIChz
ZXRxIGluZGVudC1saW5lLWZ1bmN0aW9uICdjcGVybC1pbmRlbnQtbGluZSkKICAobWFrZS1s
b2NhbC12YXJpYWJsZSAncmVxdWlyZS1maW5hbC1uZXdsaW5lKQogIChzZXRxIHJlcXVpcmUt
ZmluYWwtbmV3bGluZSB0KQogIChtYWtlLWxvY2FsLXZhcmlhYmxlICdjb21tZW50LXN0YXJ0
KQogIChzZXRxIGNvbW1lbnQtc3RhcnQgIiMgIikKICAobWFrZS1sb2NhbC12YXJpYWJsZSAn
Y29tbWVudC1lbmQpCiAgKHNldHEgY29tbWVudC1lbmQgIiIpCiAgKG1ha2UtbG9jYWwtdmFy
aWFibGUgJ2NvbW1lbnQtY29sdW1uKQogIChzZXRxIGNvbW1lbnQtY29sdW1uIGNwZXJsLWNv
bW1lbnQtY29sdW1uKQogIChtYWtlLWxvY2FsLXZhcmlhYmxlICdjb21tZW50LXN0YXJ0LXNr
aXApCiAgKHNldHEgY29tbWVudC1zdGFydC1za2lwICIjKyAqIikKICAobWFrZS1sb2NhbC12
YXJpYWJsZSAnZGVmdW4tcHJvbXB0LXJlZ2V4cCkKICAoc2V0cSBkZWZ1bi1wcm9tcHQtcmVn
ZXhwICJeWyBcdF0qc3ViWyBcdF0rXFwoW14gXHRcbns7XStcXClbIFx0XSoiKQogIChtYWtl
LWxvY2FsLXZhcmlhYmxlICdjb21tZW50LWluZGVudC1mdW5jdGlvbikKICAoc2V0cSBjb21t
ZW50LWluZGVudC1mdW5jdGlvbiAnY3BlcmwtY29tbWVudC1pbmRlbnQpCiAgKG1ha2UtbG9j
YWwtdmFyaWFibGUgJ3BhcnNlLXNleHAtaWdub3JlLWNvbW1lbnRzKQogIChzZXRxIHBhcnNl
LXNleHAtaWdub3JlLWNvbW1lbnRzIHQpCiAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2luZGVu
dC1yZWdpb24tZnVuY3Rpb24pCiAgKHNldHEgaW5kZW50LXJlZ2lvbi1mdW5jdGlvbiAnY3Bl
cmwtaW5kZW50LXJlZ2lvbikKICA7OyhzZXRxIGF1dG8tZmlsbC1mdW5jdGlvbiAnY3Blcmwt
ZG8tYXV0by1maWxsKSA7IE5lZWQgdG8gc3dpdGNoIG9uIGFuZCBvZmYhCiAgKG1ha2UtbG9j
YWwtdmFyaWFibGUgJ2ltZW51LWNyZWF0ZS1pbmRleC1mdW5jdGlvbikKICAoc2V0cSBpbWVu
dS1jcmVhdGUtaW5kZXgtZnVuY3Rpb24KCShmdW5jdGlvbiBpbWVudS1leGFtcGxlLS1jcmVh
dGUtcGVybC1pbmRleCkpCiAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2ltZW51LXNvcnQtZnVu
Y3Rpb24pCiAgKHNldHEgaW1lbnUtc29ydC1mdW5jdGlvbiBuaWwpCiAgKG1ha2UtbG9jYWwt
dmFyaWFibGUgJ3ZjLWhlYWRlci1hbGlzdCkKICAoc2V0cSB2Yy1oZWFkZXItYWxpc3QgY3Bl
cmwtdmMtaGVhZGVyLWFsaXN0KQogIChtYWtlLWxvY2FsLXZhcmlhYmxlICdmb250LWxvY2st
ZGVmYXVsdHMpCiAgKHNldHEJZm9udC1sb2NrLWRlZmF1bHRzCgkoaWYgKHN0cmluZzwgZW1h
Y3MtdmVyc2lvbiAiMTkuMzAiKQoJICAgICcocGVybC1mb250LWxvY2sta2V5d29yZHMtMikK
CSAgJygocGVybC1mb250LWxvY2sta2V5d29yZHMKCSAgICAgcGVybC1mb250LWxvY2sta2V5
d29yZHMtMQoJICAgICBwZXJsLWZvbnQtbG9jay1rZXl3b3Jkcy0yKSkpKQogIChvciAoZmJv
dW5kcCAnY3Blcmwtb2xkLWF1dG8tZmlsbC1tb2RlKQogICAgICAocHJvZ24KCShmc2V0ICdj
cGVybC1vbGQtYXV0by1maWxsLW1vZGUgKHN5bWJvbC1mdW5jdGlvbiAnYXV0by1maWxsLW1v
ZGUpKQoJKGRlZnVuIGF1dG8tZmlsbC1tb2RlICgmb3B0aW9uYWwgYXJnKQoJICAoaW50ZXJh
Y3RpdmUgIlAiKQoJICAoY3Blcmwtb2xkLWF1dG8tZmlsbC1tb2RlIGFyZykKCSAgKGFuZCBh
dXRvLWZpbGwtZnVuY3Rpb24gKGVxIG1ham9yLW1vZGUgJ3BlcmwtbW9kZSkKCSAgICAgICAo
c2V0cSBhdXRvLWZpbGwtZnVuY3Rpb24gJ2NwZXJsLWRvLWF1dG8tZmlsbCkpKSkpCiAgKGlm
IChjcGVybC1lbmFibGUtZm9udC1sb2NrKQogICAgICAoaWYgKGNwZXJsLXZhbCAnY3Blcmwt
Zm9udC1sb2NrKSAKCSAgKHByb2duIChvciBjcGVybC1mYWNlcy1pbml0IChjcGVybC1pbml0
LWZhY2VzKSkKCQkgKGZvbnQtbG9jay1tb2RlIDEpKSkpCiAgKGFuZCAoYm91bmRwICdtc2It
bWVudS1jb25kKQogICAgICAgKG5vdCBjcGVybC1tc2ItZml4ZWQpCiAgICAgICAoY3Blcmwt
bXNiLWZpeCkpCiAgKGlmIChmZWF0dXJlcCAnZWFzeW1lbnUpCiAgICAgIChlYXN5LW1lbnUt
YWRkIGNwZXJsLW1lbnUpKQk7IEEgTk9QIHVuZGVyIEZTRiBFbWFjcy4KICAocnVuLWhvb2tz
ICdjcGVybC1tb2RlLWhvb2spCiAgOzsgQWZ0ZXIgaG9va3Mgc2luY2UgZm9udGlmaWNhdGlv
biB3aWxsIGJyZWFrIHRoaXMKICAoaWYgY3BlcmwtcG9kLWhlcmUtc2NhbiAoY3BlcmwtZmlu
ZC1wb2RzLWhlcmVzKSkpCgwKOzsgRml4IGZvciBwZXJsZGIgLSBtYWtlIGRlZmF1bHQgcmVh
c29uYWJsZQooZGVmdW4gY3BlcmwtZGIgKCkKICAoaW50ZXJhY3RpdmUpCiAgKHJlcXVpcmUg
J2d1ZCkKICAocGVybGRiIChyZWFkLWZyb20tbWluaWJ1ZmZlciAiUnVuIHBlcmxkYiAobGlr
ZSB0aGlzKTogIgoJCQkJKGlmIChjb25zcCBndWQtcGVybGRiLWhpc3RvcnkpCgkJCQkgICAg
KGNhciBndWQtcGVybGRiLWhpc3RvcnkpCgkJCQkgIChjb25jYXQgInBlcmwgIiA7OyhmaWxl
LW5hbWUtbm9uZGlyZWN0b3J5CgkJCQkJCSAgIDs7IEkgaGF2ZSBwcm9ibGVtcwoJCQkJCQkg
ICA7OyBpbiBPUy8yCgkJCQkJCSAgIDs7IG90aGVyd2lzZQoJCQkJCQkgICAoYnVmZmVyLWZp
bGUtbmFtZSkpKQoJCQkJbmlsIG5pbAoJCQkJJyhndWQtcGVybGRiLWhpc3RvcnkgLiAxKSkp
KQoMCjs7IEZpeCBmb3IgbXNiLmVsCihkZWZ2YXIgY3BlcmwtbXNiLWZpeGVkIG5pbCkKCihk
ZWZ1biBjcGVybC1tc2ItZml4ICgpCiAgOzsgQWRkcyBwZXJsIGZpbGVzIHRvIG1zYiBtZW51
LCBzdXBwb3NlcyB0aGF0IG1zYiBpcyBhbHJlYWR5IGxvYWRlZAogIChzZXRxIGNwZXJsLW1z
Yi1maXhlZCB0KQogIChsZXQqICgobCAobGVuZ3RoIG1zYi1tZW51LWNvbmQpKQoJIChsYXN0
IChudGggKDEtIGwpIG1zYi1tZW51LWNvbmQpKQoJIChwcmVjZHIgKG50aGNkciAoLSBsIDIp
IG1zYi1tZW51LWNvbmQpKSA7IGNkciBvZiB0aGlzIGlzIGxhc3QKCSAoaGFuZGxlICgxLSAo
bnRoIDEgbGFzdCkpKSkKICAgIChzZXRjZHIgcHJlY2RyIChsaXN0CgkJICAgIChsaXN0CgkJ
ICAgICAnKGVxIG1ham9yLW1vZGUgJ3BlcmwtbW9kZSkKCQkgICAgIGhhbmRsZQoJCSAgICAg
IlBlcmwgRmlsZXMgKCVkKSIpCgkJICAgIGxhc3QpKSkpCgwKOzsgVGhpcyBpcyB1c2VkIGJ5
IGluZGVudC1mb3ItY29tbWVudAo7OyB0byBkZWNpZGUgaG93IG11Y2ggdG8gaW5kZW50IGEg
Y29tbWVudCBpbiBDUGVybCBjb2RlCjs7IGJhc2VkIG9uIGl0cyBjb250ZXh0LiBEbyBmYWxs
YmFjayBpZiBjb21tZW50IGlzIGZvdW5kIHdyb25nLgoKKGRlZnZhciBjcGVybC13cm9uZy1j
b21tZW50KQoKKGRlZnVuIGNwZXJsLWNvbW1lbnQtaW5kZW50ICgpCiAgKGxldCAoKHAgKHBv
aW50KSkgKGMgKGN1cnJlbnQtY29sdW1uKSkgd2FzKQogICAgKGlmIChsb29raW5nLWF0ICJe
IyIpIDAJCTsgRXhpc3RpbmcgY29tbWVudCBhdCBib2wgc3RheXMgdGhlcmUuCiAgICAgIDs7
IFdyb25nIGNvbW1lbnQgZm91bmQKICAgICAgKHNhdmUtZXhjdXJzaW9uCgkoc2V0cSB3YXMg
KGNwZXJsLXRvLWNvbW1lbnQtb3ItZW9sKSkKCShpZiAoPSAocG9pbnQpIHApCgkgICAgKHBy
b2duCgkgICAgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFx0IikKCSAgICAgIChtYXggKDEr
IChjdXJyZW50LWNvbHVtbikpIDsgRWxzZSBpbmRlbnQgYXQgY29tbWVudCBjb2x1bW4KCQkg
ICBjb21tZW50LWNvbHVtbikpCgkgIChpZiB3YXMgbmlsCgkgICAgKGluc2VydCBjb21tZW50
LXN0YXJ0KQoJICAgIChiYWNrd2FyZC1jaGFyIChsZW5ndGggY29tbWVudC1zdGFydCkpKQoJ
ICAoc2V0cSBjcGVybC13cm9uZy1jb21tZW50IHQpCgkgIChpbmRlbnQtdG8gY29tbWVudC1j
b2x1bW4gMSkJOyBJbmRlbnQgbWluaW11bSAxCgkgIGMpKSkpKQkJCTsgZXhjZXB0IGxlYXZl
IGF0IGxlYXN0IG9uZSBzcGFjZS4KCjs7OyhkZWZ1biBjcGVybC1jb21tZW50LWluZGVudC1m
YWxsYmFjayAoKQo7OzsgICJJcyBjYWxsZWQgaWYgdGhlIHN0YW5kYXJkIGNvbW1lbnQtc2Vh
cmNoIHByb2NlZHVyZSBmYWlscy4KOzs7UG9pbnQgaXMgYXQgc3RhcnQgb2YgcmVhbCBjb21t
ZW50LiIKOzs7ICAobGV0ICgoYyAoY3VycmVudC1jb2x1bW4pKSB0YXJnZXQgY250IHByZXZj
KQo7OzsgICAgKGlmICg9IGMgY29tbWVudC1jb2x1bW4pIG5pbAo7OzsgICAgICAoc2V0cSBj
bnQgKHNraXAtY2hhcnMtYmFja3dhcmQgIlsgXHRdIikpCjs7OyAgICAgIChzZXRxIHRhcmdl
dCAobWF4ICgxKyAoc2V0cSBwcmV2YyAKOzs7CQkJICAgICAoY3VycmVudC1jb2x1bW4pKSkg
OyBFbHNlIGluZGVudCBhdCBjb21tZW50IGNvbHVtbgo7OzsJCSAgIGNvbW1lbnQtY29sdW1u
KSkKOzs7ICAgICAgKGlmICg9IGMgY29tbWVudC1jb2x1bW4pIG5pbAo7OzsJKGRlbGV0ZS1i
YWNrd2FyZC1jaGFyIGNudCkKOzs7CSh3aGlsZSAoPCBwcmV2YyB0YXJnZXQpCjs7OwkgIChp
bnNlcnQgIlx0IikKOzs7CSAgKHNldHEgcHJldmMgKGN1cnJlbnQtY29sdW1uKSkpCjs7Owko
aWYgKD4gcHJldmMgdGFyZ2V0KSAocHJvZ24gKGRlbGV0ZS1jaGFyIC0xKSAoc2V0cSBwcmV2
YyAoY3VycmVudC1jb2x1bW4pKSkpCjs7Owkod2hpbGUgKDwgcHJldmMgdGFyZ2V0KQo7OzsJ
ICAoaW5zZXJ0ICIgIikKOzs7CSAgKHNldHEgcHJldmMgKGN1cnJlbnQtY29sdW1uKSkpKSkp
KQoKKGRlZnVuIGNwZXJsLWluZGVudC1mb3ItY29tbWVudCAoKQogICJTdWJzdGl0dXRlIGZv
ciBgaW5kZW50LWZvci1jb21tZW50JyBpbiBDUGVybC4iCiAgKGludGVyYWN0aXZlKQogIChs
ZXQgKGNwZXJsLXdyb25nLWNvbW1lbnQpCiAgICAoaW5kZW50LWZvci1jb21tZW50KQogICAg
KGlmIGNwZXJsLXdyb25nLWNvbW1lbnQKCShwcm9nbiAoY3BlcmwtdG8tY29tbWVudC1vci1l
b2wpCgkgICAgICAgKGZvcndhcmQtY2hhciAobGVuZ3RoIGNvbW1lbnQtc3RhcnQpKSkpKSkK
CihkZWZ1biBjcGVybC1jb21tZW50LXJlZ2lvbiAoYiBlIGFyZykKICAiQ29tbWVudCBvciB1
bmNvbW1lbnQgZWFjaCBsaW5lIGluIHRoZSByZWdpb24gaW4gQ1BlcmwgbW9kZS4KU2VlIGBj
b21tZW50LXJlZ2lvbicuIgogIChpbnRlcmFjdGl2ZSAiclxucCIpCiAgKGxldCAoKGNvbW1l
bnQtc3RhcnQgIiMiKSkKICAgIChjb21tZW50LXJlZ2lvbiBiIGUgYXJnKSkpCgooZGVmdW4g
Y3BlcmwtdW5jb21tZW50LXJlZ2lvbiAoYiBlIGFyZykKICAiVW5jb21tZW50IG9yIGNvbW1l
bnQgZWFjaCBsaW5lIGluIHRoZSByZWdpb24gaW4gQ1BlcmwgbW9kZS4KU2VlIGBjb21tZW50
LXJlZ2lvbicuIgogIChpbnRlcmFjdGl2ZSAiclxucCIpCiAgKGxldCAoKGNvbW1lbnQtc3Rh
cnQgIiMiKSkKICAgIChjb21tZW50LXJlZ2lvbiBiIGUgKC0gYXJnKSkpKQoKKGRlZnZhciBj
cGVybC1icmFjZS1yZWN1cnNpbmcgbmlsKQoKKGRlZnVuIGNwZXJsLWVsZWN0cmljLWJyYWNl
IChhcmcgJm9wdGlvbmFsIG9ubHktYmVmb3JlKQogICJJbnNlcnQgY2hhcmFjdGVyIGFuZCBj
b3JyZWN0IGxpbmUncyBpbmRlbnRhdGlvbi4KSWYgT05MWS1CRUZPUkUgYW5kIGBjcGVybC1h
dXRvLW5ld2xpbmUnLCB3aWxsIGluc2VydCBuZXdsaW5lIGJlZm9yZSB0aGUKcGxhY2UgKGV2
ZW4gaW4gZW1wdHkgbGluZSksIGJ1dCBub3QgYWZ0ZXIuIElmIGFmdGVyIFwiKVwiIGFuZCB0
aGUgaW5zZXJ0ZWQKY2hhciBpcyBcIntcIiwgaW5zZXJ0IGV4dHJhIG5ld2xpbmUgYmVmb3Jl
IG9ubHkgaWYgCmBjcGVybC1leHRyYS1uZXdsaW5lLWJlZm9yZS1icmFjZScuIgogIChpbnRl
cmFjdGl2ZSAiUCIpCiAgKGxldCAoaW5zZXJ0cG9zCgkob3RoZXItZW5kIChpZiAoYW5kIGNw
ZXJsLWVsZWN0cmljLXBhcmVucy1tYXJrCgkJCSAgICAoY3BlcmwtbWFyay1hY3RpdmUpIAoJ
CQkgICAgKDwgKG1hcmspIChwb2ludCkpKQoJCSAgICAgICAobWFyaykgCgkJICAgICBuaWwp
KSkKICAgIChpZiAoYW5kIG90aGVyLWVuZAoJICAgICAobm90IGNwZXJsLWJyYWNlLXJlY3Vy
c2luZykKCSAgICAgKGNwZXJsLXZhbCAnY3BlcmwtZWxlY3RyaWMtcGFyZW5zKQoJICAgICAo
Pj0gKHNhdmUtZXhjdXJzaW9uIChjcGVybC10by1jb21tZW50LW9yLWVvbCkgKHBvaW50KSkg
KHBvaW50KSkpCgk7OyBOZWVkIHRvIGluc2VydCBhIG1hdGNoaW5nIHBhaXIKCShwcm9nbgoJ
ICAoc2F2ZS1leGN1cnNpb24KCSAgICAoc2V0cSBpbnNlcnRwb3MgKHBvaW50LW1hcmtlcikp
CgkgICAgKGdvdG8tY2hhciBvdGhlci1lbmQpCgkgICAgKHNldHEgbGFzdC1jb21tYW5kLWNo
YXIgP1x7KQoJICAgIChjcGVybC1lbGVjdHJpYy1sYnJhY2UgYXJnIGluc2VydHBvcykpCgkg
IChmb3J3YXJkLWNoYXIgMSkpCiAgICAgIChpZiAoYW5kIChub3QgYXJnKQkJOyBObyBhcmdz
LCBlbmQgKG9mIGVtcHR5IGxpbmUgb3IgYXV0bykKCSAgICAgICAoZW9scCkKCSAgICAgICAo
b3IgKGFuZCAobnVsbCBvbmx5LWJlZm9yZSkKCQkJKHNhdmUtZXhjdXJzaW9uCgkJCSAgKHNr
aXAtY2hhcnMtYmFja3dhcmQgIiBcdCIpCgkJCSAgKGJvbHApKSkKCQkgICAoYW5kIChlcSBs
YXN0LWNvbW1hbmQtY2hhciA/XHspIDsgRG8gbm90IGluc2VydCBuZXdsaW5lCgkJCTs7IGlm
IGFmdGVyICIpIiBhbmQgYGNwZXJsLWV4dHJhLW5ld2xpbmUtYmVmb3JlLWJyYWNlJwoJCQk7
OyBpcyBuaWwsIGRvIG5vdCBpbnNlcnQgZXh0cmEgbmV3bGluZS4KCQkJKG5vdCBjcGVybC1l
eHRyYS1uZXdsaW5lLWJlZm9yZS1icmFjZSkKCQkJKHNhdmUtZXhjdXJzaW9uCgkJCSAgKHNr
aXAtY2hhcnMtYmFja3dhcmQgIiBcdCIpCgkJCSAgKGVxIChwcmVjZWRpbmctY2hhcikgP1wp
KSkpCgkJICAgKGlmIGNwZXJsLWF1dG8tbmV3bGluZSAKCQkgICAgICAgKHByb2duIChjcGVy
bC1pbmRlbnQtbGluZSkgKG5ld2xpbmUpIHQpIG5pbCkpKQoJICAocHJvZ24KCSAgICAoaW5z
ZXJ0IGxhc3QtY29tbWFuZC1jaGFyKQoJICAgIChjcGVybC1pbmRlbnQtbGluZSkKCSAgICAo
aWYgY3BlcmwtYXV0by1uZXdsaW5lCgkJKHNldHEgaW5zZXJ0cG9zICgxLSAocG9pbnQpKSkp
CgkgICAgKGlmIChhbmQgY3BlcmwtYXV0by1uZXdsaW5lIChudWxsIG9ubHktYmVmb3JlKSkK
CQkocHJvZ24KCQkgIChuZXdsaW5lKQoJCSAgKGNwZXJsLWluZGVudC1saW5lKSkpCgkgICAg
KHNhdmUtZXhjdXJzaW9uCgkgICAgICAoaWYgaW5zZXJ0cG9zIChwcm9nbiAoZ290by1jaGFy
IGluc2VydHBvcykKCQkJCSAgIChzZWFyY2gtZm9yd2FyZCAobWFrZS1zdHJpbmcgCgkJCQkJ
CSAgICAxIGxhc3QtY29tbWFuZC1jaGFyKSkKCQkJCSAgIChzZXRxIGluc2VydHBvcyAoMS0g
KHBvaW50KSkpKSkKCSAgICAgIChkZWxldGUtY2hhciAtMSkpKSkKICAgICAgKGlmIGluc2Vy
dHBvcwoJICAoc2F2ZS1leGN1cnNpb24KCSAgICAoZ290by1jaGFyIGluc2VydHBvcykKCSAg
ICAoc2VsZi1pbnNlcnQtY29tbWFuZCAocHJlZml4LW51bWVyaWMtdmFsdWUgYXJnKSkpCgko
c2VsZi1pbnNlcnQtY29tbWFuZCAocHJlZml4LW51bWVyaWMtdmFsdWUgYXJnKSkpKSkpCgoo
ZGVmdW4gY3BlcmwtZWxlY3RyaWMtbGJyYWNlIChhcmcgJm9wdGlvbmFsIGVuZCkKICAiSW5z
ZXJ0IGNoYXJhY3RlciwgY29ycmVjdCBsaW5lJ3MgaW5kZW50YXRpb24sIGNvcnJlY3QgcXVv
dGluZyBieSBzcGFjZS4iCiAgKGludGVyYWN0aXZlICJQIikKICAobGV0IChwb3MgYWZ0ZXIg
CgkgICAgKGNwZXJsLWJyYWNlLXJlY3Vyc2luZyB0KQoJICAgIChjcGVybC1hdXRvLW5ld2xp
bmUgY3BlcmwtYXV0by1uZXdsaW5lKQoJICAgIChvdGhlci1lbmQgKG9yIGVuZAoJCQkgICAo
aWYgKGFuZCBjcGVybC1lbGVjdHJpYy1wYXJlbnMtbWFyawoJCQkJICAgIChjcGVybC1tYXJr
LWFjdGl2ZSkKCQkJCSAgICAoPiAobWFyaykgKHBvaW50KSkpCgkJCSAgICAgICAoc2F2ZS1l
eGN1cnNpb24KCQkJCSAoZ290by1jaGFyIChtYXJrKSkKCQkJCSAocG9pbnQtbWFya2VyKSkg
CgkJCSAgICAgbmlsKSkpKQogICAgKGFuZCAoY3BlcmwtdmFsICdjcGVybC1lbGVjdHJpYy1s
YnJhY2Utc3BhY2UpCgkgKGVxIChwcmVjZWRpbmctY2hhcikgPyQpCgkgKHNhdmUtZXhjdXJz
aW9uCgkgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiJCIpCgkgICAobG9va2luZy1hdCAiXFwo
XFwkXFwkXFwpKlxcJFxcKFteXFwkXVxcfCRcXCkiKSkKCSAoaW5zZXJ0ID8gKSkKICAgIChp
ZiAoY3BlcmwtYWZ0ZXItZXhwci1wIG5pbCAie307KSIpIG5pbCAoc2V0cSBjcGVybC1hdXRv
LW5ld2xpbmUgbmlsKSkKICAgIChjcGVybC1lbGVjdHJpYy1icmFjZSBhcmcpCiAgICAoYW5k
IChjcGVybC12YWwgJ2NwZXJsLWVsZWN0cmljLXBhcmVucykKCSAoZXEgbGFzdC1jb21tYW5k
LWNoYXIgP3spCgkgKG1lbXEgbGFzdC1jb21tYW5kLWNoYXIgCgkgICAgICAgKGFwcGVuZCBj
cGVybC1lbGVjdHJpYy1wYXJlbnMtc3RyaW5nIG5pbCkpCgkgKG9yIChpZiBvdGhlci1lbmQg
KGdvdG8tY2hhciAobWFya2VyLXBvc2l0aW9uIG90aGVyLWVuZCkpKQoJICAgICB0KQoJIChz
ZXRxIGxhc3QtY29tbWFuZC1jaGFyID99IHBvcyAocG9pbnQpKQoJIChwcm9nbiAoY3Blcmwt
ZWxlY3RyaWMtYnJhY2UgYXJnIHQpCgkJKGdvdG8tY2hhciBwb3MpKSkpKQoKKGRlZnVuIGNw
ZXJsLWVsZWN0cmljLXBhcmVuIChhcmcpCiAgIkluc2VydCBhIG1hdGNoaW5nIHBhaXIgb2Yg
cGFyZW50aGVzZXMuIgogIChpbnRlcmFjdGl2ZSAiUCIpCiAgKGxldCAoKGJlZyAoc2F2ZS1l
eGN1cnNpb24gKGJlZ2lubmluZy1vZi1saW5lKSAocG9pbnQpKSkKCShvdGhlci1lbmQgKGlm
IChhbmQgY3BlcmwtZWxlY3RyaWMtcGFyZW5zLW1hcmsKCQkJICAgIChjcGVybC1tYXJrLWFj
dGl2ZSkgCgkJCSAgICAoPiAobWFyaykgKHBvaW50KSkpCgkJCSAgIChzYXZlLWV4Y3Vyc2lv
bgoJCQkgICAgIChnb3RvLWNoYXIgKG1hcmspKQoJCQkgICAgIChwb2ludC1tYXJrZXIpKSAK
CQkgICAgIG5pbCkpKQogICAgKGlmIChhbmQgKGNwZXJsLXZhbCAnY3BlcmwtZWxlY3RyaWMt
cGFyZW5zKQoJICAgICAobWVtcSBsYXN0LWNvbW1hbmQtY2hhcgoJCSAgIChhcHBlbmQgY3Bl
cmwtZWxlY3RyaWMtcGFyZW5zLXN0cmluZyBuaWwpKQoJICAgICAoPj0gKHNhdmUtZXhjdXJz
aW9uIChjcGVybC10by1jb21tZW50LW9yLWVvbCkgKHBvaW50KSkgKHBvaW50KSkKCSAgICAg
Ozsobm90IChzYXZlLWV4Y3Vyc2lvbiAoc2VhcmNoLWJhY2t3YXJkICIjIiBiZWcgdCkpKQoJ
ICAgICAoaWYgKGVxIGxhc3QtY29tbWFuZC1jaGFyID88KQoJCSAoY3BlcmwtYWZ0ZXItZXhw
ci1wIG5pbCAie307KCw6PSIpCgkgICAgICAgMSkpCgkocHJvZ24KCSAgKGluc2VydCBsYXN0
LWNvbW1hbmQtY2hhcikKCSAgKGlmIG90aGVyLWVuZCAoZ290by1jaGFyIChtYXJrZXItcG9z
aXRpb24gb3RoZXItZW5kKSkpCgkgIChpbnNlcnQgKGNkciAoYXNzb2MgbGFzdC1jb21tYW5k
LWNoYXIgJygoP3sgLj99KQoJCQkJCQkgICg/WyAuID9dKQoJCQkJCQkgICg/KCAuID8pKQoJ
CQkJCQkgICg/PCAuID8+KSkpKSkKCSAgKGZvcndhcmQtY2hhciAtMSkpCiAgICAgIChpbnNl
cnQgbGFzdC1jb21tYW5kLWNoYXIpCiAgICAgICkpKQoKKGRlZnVuIGNwZXJsLWVsZWN0cmlj
LXJwYXJlbiAoYXJnKQogICJJbnNlcnQgYSBtYXRjaGluZyBwYWlyIG9mIHBhcmVudGhlc2Vz
IGlmIG1hcmtpbmcgaXMgYWN0aXZlLgpJZiBub3QsIG9yIGlmIHdlIGFyZSBub3QgYXQgdGhl
IGVuZCBvZiBtYXJraW5nIHJhbmdlLCB3b3VsZCBzZWxmLWluc2VydC4iCiAgKGludGVyYWN0
aXZlICJQIikKICAobGV0ICgoYmVnIChzYXZlLWV4Y3Vyc2lvbiAoYmVnaW5uaW5nLW9mLWxp
bmUpIChwb2ludCkpKQoJKG90aGVyLWVuZCAoaWYgKGFuZCBjcGVybC1lbGVjdHJpYy1wYXJl
bnMtbWFyawoJCQkgICAgKGNwZXJsLXZhbCAnY3BlcmwtZWxlY3RyaWMtcGFyZW5zKQoJCQkg
ICAgKG1lbXEgbGFzdC1jb21tYW5kLWNoYXIKCQkJCSAgKGFwcGVuZCBjcGVybC1lbGVjdHJp
Yy1wYXJlbnMtc3RyaW5nIG5pbCkpCgkJCSAgICAoY3BlcmwtbWFyay1hY3RpdmUpIAoJCQkg
ICAgKDwgKG1hcmspIChwb2ludCkpKQoJCSAgICAgICAobWFyaykgCgkJICAgICBuaWwpKQoJ
cCkKICAgIChpZiAoYW5kIG90aGVyLWVuZAoJICAgICAoY3BlcmwtdmFsICdjcGVybC1lbGVj
dHJpYy1wYXJlbnMpCgkgICAgIChtZW1xIGxhc3QtY29tbWFuZC1jaGFyICcoID9cKSA/XF0g
P1x9ID9cPiApKQoJICAgICAoPj0gKHNhdmUtZXhjdXJzaW9uIChjcGVybC10by1jb21tZW50
LW9yLWVvbCkgKHBvaW50KSkgKHBvaW50KSkKCSAgICAgOzsobm90IChzYXZlLWV4Y3Vyc2lv
biAoc2VhcmNoLWJhY2t3YXJkICIjIiBiZWcgdCkpKQoJICAgICApCgkocHJvZ24KCSAgKGlu
c2VydCBsYXN0LWNvbW1hbmQtY2hhcikKCSAgKHNldHEgcCAocG9pbnQpKQoJICAoaWYgb3Ro
ZXItZW5kIChnb3RvLWNoYXIgb3RoZXItZW5kKSkKCSAgKGluc2VydCAoY2RyIChhc3NvYyBs
YXN0LWNvbW1hbmQtY2hhciAnKCg/XH0gLiA/XHspCgkJCQkJCSAgKD9cXSAuID9cWykKCQkJ
CQkJICAoP1wpIC4gP1woKQoJCQkJCQkgICg/XD4gLiA/XDwpKSkpKQoJICAoZ290by1jaGFy
ICgxKyBwKSkpCiAgICAgIChjYWxsLWludGVyYWN0aXZlbHkgJ3NlbGYtaW5zZXJ0LWNvbW1h
bmQpCiAgICAgICkpKQoKKGRlZnVuIGNwZXJsLWVsZWN0cmljLWtleXdvcmQgKCkKICAiSW5z
ZXJ0IGEgY29uc3RydWN0aW9uIGFwcHJvcHJpYXRlIGFmdGVyIGEga2V5d29yZC4iCiAgKGxl
dCAoKGJlZyAoc2F2ZS1leGN1cnNpb24gKGJlZ2lubmluZy1vZi1saW5lKSAocG9pbnQpKSkg
CgkoZG9sbGFyIChlcSBsYXN0LWNvbW1hbmQtY2hhciA/JCkpKQogICAgKGFuZCAoc2F2ZS1l
eGN1cnNpb24KCSAgIChiYWNrd2FyZC1zZXhwIDEpCgkgICAoY3BlcmwtYWZ0ZXItZXhwci1w
IG5pbCAie307OiIpKQoJIChzYXZlLWV4Y3Vyc2lvbiAKCSAgIChub3QgCgkgICAgKHJlLXNl
YXJjaC1iYWNrd2FyZAoJICAgICAiWyNcIidgXVxcfFxcPHFcXChcXHxbd3F4XVxcKVxcPiIK
CSAgICAgYmVnIHQpKSkKCSAoc2F2ZS1leGN1cnNpb24gKG9yIChub3QgKHJlLXNlYXJjaC1i
YWNrd2FyZCAiXj0iIG5pbCB0KSkKCQkJICAgICAobG9va2luZy1hdCAiPWN1dCIpKSkKCSAo
cHJvZ24KCSAgIChhbmQgZG9sbGFyIChpbnNlcnQgIiAkIikpCgkgICAoY3BlcmwtaW5kZW50
LWxpbmUpCgkgICA7OyhpbnNlcnQgIiAoKSB7XG59IikKIAkgICAoY29uZAogCSAgICAoY3Bl
cmwtZXh0cmEtbmV3bGluZS1iZWZvcmUtYnJhY2UKIAkgICAgIChpbnNlcnQgIiAoKVxuIikK
IAkgICAgIChpbnNlcnQgInsiKQogCSAgICAgKGNwZXJsLWluZGVudC1saW5lKQogCSAgICAg
KGluc2VydCAiXG4iKQogCSAgICAgKGNwZXJsLWluZGVudC1saW5lKQogCSAgICAgKGluc2Vy
dCAiXG59IikpCiAJICAgICh0CiAJICAgICAoaW5zZXJ0ICIgKCkge1xufSIpKQogCSAgICAp
CgkgICAob3IgKGxvb2tpbmctYXQgIlsgXHRdXFx8JCIpIChpbnNlcnQgIiAiKSkKCSAgIChj
cGVybC1pbmRlbnQtbGluZSkKCSAgIChpZiBkb2xsYXIgKHByb2duIChzZWFyY2gtYmFja3dh
cmQgIiQiKQoJCQkgICAgIChmb3J3YXJkLWNoYXIgMSkpCgkgICAgIChzZWFyY2gtYmFja3dh
cmQgIikiKSkKCSAgIChjcGVybC1wdXRiYWNrLWNoYXIgZGVsLWJhY2stY2gpKSkpKQoKKGRl
ZnVuIGNwZXJsLWVsZWN0cmljLWVsc2UgKCkKICAiSW5zZXJ0IGEgY29uc3RydWN0aW9uIGFw
cHJvcHJpYXRlIGFmdGVyIGEga2V5d29yZC4iCiAgKGxldCAoKGJlZyAoc2F2ZS1leGN1cnNp
b24gKGJlZ2lubmluZy1vZi1saW5lKSAocG9pbnQpKSkpCiAgICAoYW5kIChzYXZlLWV4Y3Vy
c2lvbgoJICAgKGJhY2t3YXJkLXNleHAgMSkKCSAgIChjcGVybC1hZnRlci1leHByLXAgbmls
ICJ7fTs6IikpCgkgKHNhdmUtZXhjdXJzaW9uIAoJICAgKG5vdCAKCSAgICAocmUtc2VhcmNo
LWJhY2t3YXJkCgkgICAgICJbI1wiJ2BdXFx8XFw8cVxcKFxcfFt3cXhdXFwpXFw+IgoJICAg
ICBiZWcgdCkpKQoJIChzYXZlLWV4Y3Vyc2lvbiAob3IgKG5vdCAocmUtc2VhcmNoLWJhY2t3
YXJkICJePSIgbmlsIHQpKQoJCQkgICAgIChsb29raW5nLWF0ICI9Y3V0IikpKQoJIChwcm9n
bgoJICAgKGNwZXJsLWluZGVudC1saW5lKQoJICAgOzsoaW5zZXJ0ICIge1xuXG59IikKIAkg
ICAoY29uZAogCSAgICAoY3BlcmwtZXh0cmEtbmV3bGluZS1iZWZvcmUtYnJhY2UKIAkgICAg
IChpbnNlcnQgIlxuIikKIAkgICAgIChpbnNlcnQgInsiKQogCSAgICAgKGNwZXJsLWluZGVu
dC1saW5lKQogCSAgICAgKGluc2VydCAiXG5cbn0iKSkKIAkgICAgKHQKIAkgICAgIChpbnNl
cnQgIiB7XG5cbn0iKSkKIAkgICAgKQoJICAgKG9yIChsb29raW5nLWF0ICJbIFx0XVxcfCQi
KSAoaW5zZXJ0ICIgIikpCgkgICAoY3BlcmwtaW5kZW50LWxpbmUpCgkgICAoZm9yd2FyZC1s
aW5lIC0xKQoJICAgKGNwZXJsLWluZGVudC1saW5lKQoJICAgKGNwZXJsLXB1dGJhY2stY2hh
ciBkZWwtYmFjay1jaCkpKSkpCgooZGVmdW4gY3BlcmwtbGluZWZlZWQgKCkKICAiR28gdG8g
ZW5kIG9mIGxpbmUsIG9wZW4gYSBuZXcgbGluZSBhbmQgaW5kZW50IGFwcHJvcHJpYXRlbHku
IgogIChpbnRlcmFjdGl2ZSkKICAobGV0ICgoYmVnIChzYXZlLWV4Y3Vyc2lvbiAoYmVnaW5u
aW5nLW9mLWxpbmUpIChwb2ludCkpKQoJKGVuZCAoc2F2ZS1leGN1cnNpb24gKGVuZC1vZi1s
aW5lKSAocG9pbnQpKSkKCShwb3MgKHBvaW50KSkgc3RhcnQpCiAgICAoaWYgKGFuZAkJCQk7
IENoZWNrIGlmIHdlIG5lZWQgdG8gc3BsaXQ6CgkJCQkJOyBpLmUuLCBvbiBhIGJvdW5kYXJ5
IGFuZCBpbnNpZGUgInsuLi59IiAKCSAoc2F2ZS1leGN1cnNpb24gKGNwZXJsLXRvLWNvbW1l
bnQtb3ItZW9sKQoJICAgKD49IChwb2ludCkgcG9zKSkJCTsgTm90IGluIGEgY29tbWVudAoJ
IChvciAoc2F2ZS1leGN1cnNpb24KCSAgICAgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFx0
IiBiZWcpCgkgICAgICAgKGZvcndhcmQtY2hhciAtMSkKCSAgICAgICAobG9va2luZy1hdCAi
Wzt7XSIpKSAgICAgOyBBZnRlciB7IG9yIDsgKyBzcGFjZXMKCSAgICAgKGxvb2tpbmctYXQg
IlsgXHRdKn0iKQk7IEJlZm9yZSB9CgkgICAgIChyZS1zZWFyY2gtZm9yd2FyZCAiXFw9WyBc
dF0qOyIgZW5kIHQpKSA7IEJlZm9yZSBzcGFjZXMgKyA7CgkgKHNhdmUtZXhjdXJzaW9uCgkg
ICAoYW5kCgkgICAgKGVxIChjYXIgKHBhcnNlLXBhcnRpYWwtc2V4cCBwb3MgZW5kIC0xKSkg
LTEpIAoJCQkJCTsgTGVhdmUgdGhlIGxldmVsIG9mIHBhcmVucwoJICAgIChsb29raW5nLWF0
ICJbLDsgXHRdKlxcKCRcXHwjXFwpIikgOyBDb21tYSB0byBhbGxvdyBhbm9uIHN1YnIKCQkJ
CQk7IEFyZSBhdCBlbmQKCSAgICAocHJvZ24KCSAgICAgIChiYWNrd2FyZC1zZXhwIDEpCgkg
ICAgICAoc2V0cSBzdGFydCAocG9pbnQtbWFya2VyKSkKCSAgICAgICg8PSBzdGFydCBwb3Mp
KSkpKQk7IFJlZHVuZGFudD8gQXJlIGFmdGVyIHRoZQoJCQkJCTsgc3RhcnQgb2YgcGFyZW5z
IGdyb3VwLgoJKHByb2duCgkgIChza2lwLWNoYXJzLWJhY2t3YXJkICIgXHQiKQoJICAob3Ig
KG1lbXEgKHByZWNlZGluZy1jaGFyKSAoYXBwZW5kICI7eyIgbmlsKSkKCSAgICAgIChpbnNl
cnQgIjsiKSkKCSAgKGluc2VydCAiXG4iKQoJICAoZm9yd2FyZC1saW5lIC0xKQoJICAoY3Bl
cmwtaW5kZW50LWxpbmUpCgkgIChnb3RvLWNoYXIgc3RhcnQpCgkgIChvciAobG9va2luZy1h
dCAie1sgXHRdKiQiKQk7IElmIHRoZXJlIGlzIGEgc3RhdGVtZW50CgkJCQkJOyBiZWZvcmUs
IG1vdmUgaXQgdG8gc2VwYXJhdGUgbGluZQoJICAgICAgKHByb2duCgkJKGZvcndhcmQtY2hh
ciAxKQoJCShpbnNlcnQgIlxuIikKCQkoY3BlcmwtaW5kZW50LWxpbmUpKSkKCSAgKGZvcndh
cmQtbGluZSAxKQkJOyBXZSBhcmUgb24gdGhlIHRhcmdldCBsaW5lCgkgIChjcGVybC1pbmRl
bnQtbGluZSkKCSAgKGJlZ2lubmluZy1vZi1saW5lKQoJICAob3IgKGxvb2tpbmctYXQgIlsg
XHRdKn1bLDsgXHRdKiQiKSA7IElmIHRoZXJlIGlzIGEgc3RhdGVtZW50CgkJCQkJICAgIDsg
YWZ0ZXIsIG1vdmUgaXQgdG8gc2VwYXJhdGUgbGluZQoJICAgICAgKHByb2duCgkJKGVuZC1v
Zi1saW5lKQoJCShzZWFyY2gtYmFja3dhcmQgIn0iIGJlZykKCQkoc2tpcC1jaGFycy1iYWNr
d2FyZCAiIFx0IikKCQkob3IgKG1lbXEgKHByZWNlZGluZy1jaGFyKSAoYXBwZW5kICI7eyIg
bmlsKSkKCQkgICAgKGluc2VydCAiOyIpKQoJCShpbnNlcnQgIlxuIikKCQkoY3BlcmwtaW5k
ZW50LWxpbmUpCgkJKGZvcndhcmQtbGluZSAtMSkpKQoJICAoZm9yd2FyZC1saW5lIC0xKQkJ
OyBXZSBhcmUgb24gdGhlIGxpbmUgYmVmb3JlIHRhcmdldCAKCSAgKGVuZC1vZi1saW5lKQoJ
ICAobmV3bGluZS1hbmQtaW5kZW50KSkKICAgICAgKGVuZC1vZi1saW5lKQkJCTsgZWxzZQog
ICAgICAoY29uZAogICAgICAgKChhbmQgKGxvb2tpbmctYXQgIlxuWyBcdF0qeyQiKQoJICAg
ICAoc2F2ZS1leGN1cnNpb24KCSAgICAgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFx0IikK
CSAgICAgICAoZXEgKHByZWNlZGluZy1jaGFyKSA/XCkpKSkgOyBQcm9iYWJseSBpZiAoKSB7
fSBncm91cAoJCQkJCSAgIDsgd2l0aCBhbiBleHRyYSBuZXdsaW5lLgoJKGZvcndhcmQtbGlu
ZSAyKQoJKGNwZXJsLWluZGVudC1saW5lKSkKICAgICAgICgobG9va2luZy1hdCAiXG5bIFx0
XSokIikJOyBOZXh0IGxpbmUgaXMgZW1wdHkgLSB1c2UgaXQuCiAgICAgICAgKGZvcndhcmQt
bGluZSAxKQoJKGNwZXJsLWluZGVudC1saW5lKSkKICAgICAgICh0CgkobmV3bGluZS1hbmQt
aW5kZW50KSkpKSkpCgooZGVmdW4gY3BlcmwtZWxlY3RyaWMtc2VtaSAoYXJnKQogICJJbnNl
cnQgY2hhcmFjdGVyIGFuZCBjb3JyZWN0IGxpbmUncyBpbmRlbnRhdGlvbi4iCiAgKGludGVy
YWN0aXZlICJQIikKICAoaWYgY3BlcmwtYXV0by1uZXdsaW5lCiAgICAgIChjcGVybC1lbGVj
dHJpYy10ZXJtaW5hdG9yIGFyZykKICAgIChzZWxmLWluc2VydC1jb21tYW5kIChwcmVmaXgt
bnVtZXJpYy12YWx1ZSBhcmcpKSkpCgooZGVmdW4gY3BlcmwtZWxlY3RyaWMtdGVybWluYXRv
ciAoYXJnKQogICJJbnNlcnQgY2hhcmFjdGVyIGFuZCBjb3JyZWN0IGxpbmUncyBpbmRlbnRh
dGlvbi4iCiAgKGludGVyYWN0aXZlICJQIikKICAobGV0IChpbnNlcnRwb3MgKGVuZCAocG9p
bnQpKSAKCQkgIChhdXRvIChhbmQgY3BlcmwtYXV0by1uZXdsaW5lCgkJCSAgICAgKG9yIChu
b3QgKGVxIGxhc3QtY29tbWFuZC1jaGFyID86KSkKCQkJCSBjcGVybC1hdXRvLW5ld2xpbmUt
YWZ0ZXItY29sb24pKSkpCiAgICAoaWYgKGFuZCA7Oyhub3QgYXJnKSAKCSAgICAgKGVvbHAp
CgkgICAgIChub3QgKHNhdmUtZXhjdXJzaW9uCgkJICAgIChiZWdpbm5pbmctb2YtbGluZSkK
CQkgICAgKHNraXAtY2hhcnMtZm9yd2FyZCAiIFx0IikKCQkgICAgKG9yCgkJICAgICA7OyBJ
Z25vcmUgaW4gY29tbWVudCBsaW5lcwoJCSAgICAgKD0gKGZvbGxvd2luZy1jaGFyKSA/IykK
CQkgICAgIDs7IENvbG9uIGlzIHNwZWNpYWwgb25seSBhZnRlciBhIGxhYmVsCgkJICAgICA7
OyBTbyBxdWlja2x5IHJ1bGUgb3V0IG1vc3Qgb3RoZXIgdXNlcyBvZiBjb2xvbgoJCSAgICAg
OzsgYW5kIGRvIG5vIGluZGVudGF0aW9uIGZvciB0aGVtLgoJCSAgICAgKGFuZCAoZXEgbGFz
dC1jb21tYW5kLWNoYXIgPzopCgkJCSAgKHNhdmUtZXhjdXJzaW9uCgkJCSAgICAoZm9yd2Fy
ZC13b3JkIDEpCgkJCSAgICAoc2tpcC1jaGFycy1mb3J3YXJkICIgXHQiKQoJCQkgICAgKGFu
ZCAoPCAocG9pbnQpIGVuZCkKCQkJCSAocHJvZ24gKGdvdG8tY2hhciAoLSBlbmQgMSkpCgkJ
CQkJKG5vdCAobG9va2luZy1hdCAiOiIpKSkpKSkKCQkgICAgIChwcm9nbgoJCSAgICAgICAo
YmVnaW5uaW5nLW9mLWRlZnVuKQoJCSAgICAgICAobGV0ICgocHBzIChwYXJzZS1wYXJ0aWFs
LXNleHAgKHBvaW50KSBlbmQpKSkKCQkJIChvciAobnRoIDMgcHBzKSAobnRoIDQgcHBzKSAo
bnRoIDUgcHBzKSkpKSkpKSkKCShwcm9nbgoJICAoaW5zZXJ0IGxhc3QtY29tbWFuZC1jaGFy
KQoJICA7Oyhmb3J3YXJkLWNoYXIgLTEpCgkgIChpZiBhdXRvIChzZXRxIGluc2VydHBvcyAo
cG9pbnQtbWFya2VyKSkpCgkgIDs7KGZvcndhcmQtY2hhciAxKQoJICAoY3BlcmwtaW5kZW50
LWxpbmUpCgkgIChpZiBhdXRvCgkgICAgICAocHJvZ24KCQkobmV3bGluZSkKCQkoY3Blcmwt
aW5kZW50LWxpbmUpKSkKOzsJICAoc2F2ZS1leGN1cnNpb24KOzsJICAgIChpZiBpbnNlcnRw
b3MgKHByb2duIChnb3RvLWNoYXIgKG1hcmtlci1wb3NpdGlvbiBpbnNlcnRwb3MpKQo7OwkJ
CQkgKHNlYXJjaC1mb3J3YXJkIChtYWtlLXN0cmluZyAKOzsJCQkJCQkgIDEgbGFzdC1jb21t
YW5kLWNoYXIpKQo7OwkJCQkgKHNldHEgaW5zZXJ0cG9zICgxLSAocG9pbnQpKSkpKQo7Owkg
ICAgKGRlbGV0ZS1jaGFyIC0xKSkpKQoJICAoc2F2ZS1leGN1cnNpb24KCSAgICAoaWYgaW5z
ZXJ0cG9zIChnb3RvLWNoYXIgKDEtIChtYXJrZXItcG9zaXRpb24gaW5zZXJ0cG9zKSkpCgkg
ICAgICAoZm9yd2FyZC1jaGFyIC0xKSkKCSAgICAoZGVsZXRlLWNoYXIgMSkpKSkKICAgIChp
ZiBpbnNlcnRwb3MKCShzYXZlLWV4Y3Vyc2lvbgoJICAoZ290by1jaGFyIGluc2VydHBvcykK
CSAgKHNlbGYtaW5zZXJ0LWNvbW1hbmQgKHByZWZpeC1udW1lcmljLXZhbHVlIGFyZykpKQog
ICAgICAoc2VsZi1pbnNlcnQtY29tbWFuZCAocHJlZml4LW51bWVyaWMtdmFsdWUgYXJnKSkp
KSkKCihkZWZ1biBjcGVybC1lbGVjdHJpYy1iYWNrc3BhY2UgKGFyZykKICAiQmFja3NwYWNl
LXVudGFiaWZ5LCBvciByZW1vdmUgdGhlIHdoaXRlc3BhY2UgaW5zZXJ0ZWQgYnkgYW4gZWxl
Y3RyaWMga2V5LiIKICAoaW50ZXJhY3RpdmUgInAiKQogIChpZiAoYW5kIGNwZXJsLWF1dG8t
bmV3bGluZSAKCSAgIChtZW1xIGxhc3QtY29tbWFuZCAnKGNwZXJsLWVsZWN0cmljLXNlbWkg
CgkJCQljcGVybC1lbGVjdHJpYy10ZXJtaW5hdG9yCgkJCQljcGVybC1lbGVjdHJpYy1sYnJh
Y2UpKQoJICAgKG1lbXEgKHByZWNlZGluZy1jaGFyKSAnKD8gID9cdCA/XG4pKSkKICAgICAg
KGxldCAocCkKCShpZiAoZXEgbGFzdC1jb21tYW5kICdjcGVybC1lbGVjdHJpYy1sYnJhY2Up
IAoJICAgIChza2lwLWNoYXJzLWZvcndhcmQgIiBcdFxuIikpCgkoc2V0cSBwIChwb2ludCkp
Cgkoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFx0XG4iKQoJKGRlbGV0ZS1yZWdpb24gKHBvaW50
KSBwKSkKICAgIChiYWNrd2FyZC1kZWxldGUtY2hhci11bnRhYmlmeSBhcmcpKSkKCihkZWZ1
biBjcGVybC1pbnNpZGUtcGFyZW5zLXAgKCkKICAoY29uZGl0aW9uLWNhc2UgKCkKICAgICAg
KHNhdmUtZXhjdXJzaW9uCgkoc2F2ZS1yZXN0cmljdGlvbgoJICAobmFycm93LXRvLXJlZ2lv
biAocG9pbnQpCgkJCSAgICAocHJvZ24gKGJlZ2lubmluZy1vZi1kZWZ1bikgKHBvaW50KSkp
CgkgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpCgkgICg9IChjaGFyLWFmdGVyIChvciAoc2Nh
bi1saXN0cyAocG9pbnQpIC0xIDEpIChwb2ludC1taW4pKSkgP1woKSkpCiAgICAoZXJyb3Ig
bmlsKSkpCgwKKGRlZnVuIGNwZXJsLWluZGVudC1jb21tYW5kICgmb3B0aW9uYWwgd2hvbGUt
ZXhwKQogICJJbmRlbnQgY3VycmVudCBsaW5lIGFzIFBlcmwgY29kZSwgb3IgaW4gc29tZSBj
YXNlcyBpbnNlcnQgYSB0YWIgY2hhcmFjdGVyLgpJZiBgY3BlcmwtdGFiLWFsd2F5cy1pbmRl
bnQnIGlzIG5vbi1uaWwgKHRoZSBkZWZhdWx0KSwgYWx3YXlzIGluZGVudCBjdXJyZW50IGxp
bmUuCk90aGVyd2lzZSwgaW5kZW50IHRoZSBjdXJyZW50IGxpbmUgb25seSBpZiBwb2ludCBp
cyBhdCB0aGUgbGVmdCBtYXJnaW4Kb3IgaW4gdGhlIGxpbmUncyBpbmRlbnRhdGlvbjsgb3Ro
ZXJ3aXNlIGluc2VydCBhIHRhYi4KCkEgbnVtZXJpYyBhcmd1bWVudCwgcmVnYXJkbGVzcyBv
ZiBpdHMgdmFsdWUsCm1lYW5zIGluZGVudCByaWdpZGx5IGFsbCB0aGUgbGluZXMgb2YgdGhl
IGV4cHJlc3Npb24gc3RhcnRpbmcgYWZ0ZXIgcG9pbnQKc28gdGhhdCB0aGlzIGxpbmUgYmVj
b21lcyBwcm9wZXJseSBpbmRlbnRlZC4KVGhlIHJlbGF0aXZlIGluZGVudGF0aW9uIGFtb25n
IHRoZSBsaW5lcyBvZiB0aGUgZXhwcmVzc2lvbiBhcmUgcHJlc2VydmVkLiIKICAoaW50ZXJh
Y3RpdmUgIlAiKQogIChpZiB3aG9sZS1leHAKICAgICAgOzsgSWYgYXJnLCBhbHdheXMgaW5k
ZW50IHRoaXMgbGluZSBhcyBQZXJsCiAgICAgIDs7IGFuZCBzaGlmdCByZW1haW5pbmcgbGlu
ZXMgb2YgZXhwcmVzc2lvbiB0aGUgc2FtZSBhbW91bnQuCiAgICAgIChsZXQgKChzaGlmdC1h
bXQgKGNwZXJsLWluZGVudC1saW5lKSkKCSAgICBiZWcgZW5kKQoJKHNhdmUtZXhjdXJzaW9u
CgkgIChpZiBjcGVybC10YWItYWx3YXlzLWluZGVudAoJICAgICAgKGJlZ2lubmluZy1vZi1s
aW5lKSkKCSAgKHNldHEgYmVnIChwb2ludCkpCgkgIChmb3J3YXJkLXNleHAgMSkKCSAgKHNl
dHEgZW5kIChwb2ludCkpCgkgIChnb3RvLWNoYXIgYmVnKQoJICAoZm9yd2FyZC1saW5lIDEp
CgkgIChzZXRxIGJlZyAocG9pbnQpKSkKCShpZiAoPiBlbmQgYmVnKQoJICAgIChpbmRlbnQt
Y29kZS1yaWdpZGx5IGJlZyBlbmQgc2hpZnQtYW10ICIjIikpKQogICAgKGlmIChhbmQgKG5v
dCBjcGVybC10YWItYWx3YXlzLWluZGVudCkKCSAgICAgKHNhdmUtZXhjdXJzaW9uCgkgICAg
ICAgKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdCIpCgkgICAgICAgKG5vdCAoYm9scCkpKSkK
CShpbnNlcnQtdGFiKQogICAgICAoY3BlcmwtaW5kZW50LWxpbmUpKSkpCgooZGVmdW4gY3Bl
cmwtaW5kZW50LWxpbmUgKCZvcHRpb25hbCBzeW1ib2wpCiAgIkluZGVudCBjdXJyZW50IGxp
bmUgYXMgUGVybCBjb2RlLgpSZXR1cm4gdGhlIGFtb3VudCB0aGUgaW5kZW50YXRpb24gY2hh
bmdlZCBieS4iCiAgKGxldCAoaW5kZW50CgliZWcgc2hpZnQtYW10CgkoY2FzZS1mb2xkLXNl
YXJjaCBuaWwpCgkocG9zICgtIChwb2ludC1tYXgpIChwb2ludCkpKSkKICAgIChzZXRxIGlu
ZGVudCAoY3BlcmwtY2FsY3VsYXRlLWluZGVudCBuaWwgc3ltYm9sKSkKICAgIChiZWdpbm5p
bmctb2YtbGluZSkKICAgIChzZXRxIGJlZyAocG9pbnQpKQogICAgKGNvbmQgKChlcSBpbmRl
bnQgbmlsKQoJICAgKHNldHEgaW5kZW50IChjdXJyZW50LWluZGVudGF0aW9uKSkpCgkgIDs7
KChlcSBpbmRlbnQgdCkgICAgOyBOZXZlcj8KCSAgOzsgKHNldHEgaW5kZW50IChjcGVybC1j
YWxjdWxhdGUtaW5kZW50LXdpdGhpbi1jb21tZW50KSkpCgkgIDs7KChsb29raW5nLWF0ICJb
IFx0XSojIikKCSAgOzsgKHNldHEgaW5kZW50IDApKQoJICAodAoJICAgKHNraXAtY2hhcnMt
Zm9yd2FyZCAiIFx0IikKCSAgIChpZiAobGlzdHAgaW5kZW50KSAoc2V0cSBpbmRlbnQgKGNh
ciBpbmRlbnQpKSkKCSAgIChjb25kICgobG9va2luZy1hdCAiW0EtWmEtel0rOlteOl0iKQoJ
CSAgKGFuZCAoPiBpbmRlbnQgMCkKCQkgICAgICAgKHNldHEgaW5kZW50IChtYXggY3Blcmwt
bWluLWxhYmVsLWluZGVudAoJCQkJCSAoKyBpbmRlbnQgY3BlcmwtbGFiZWwtb2Zmc2V0KSkp
KSkKCQkgKCg9IChmb2xsb3dpbmctY2hhcikgP30pCgkJICAoc2V0cSBpbmRlbnQgKC0gaW5k
ZW50IGNwZXJsLWluZGVudC1sZXZlbCkpKQoJCSAoKG1lbXEgKGZvbGxvd2luZy1jaGFyKSAn
KD9cKSA/XF0pKSA7IFRvIGxpbmUgdXAgd2l0aCBvcGVuaW5nIHBhcmVuLgoJCSAgKHNldHEg
aW5kZW50ICgrIGluZGVudCBjcGVybC1jbG9zZS1wYXJlbi1vZmZzZXQpKSkKCQkgKCg9IChm
b2xsb3dpbmctY2hhcikgP3spCgkJICAoc2V0cSBpbmRlbnQgKCsgaW5kZW50IGNwZXJsLWJy
YWNlLW9mZnNldCkpKSkpKQogICAgKHNraXAtY2hhcnMtZm9yd2FyZCAiIFx0IikKICAgIChz
ZXRxIHNoaWZ0LWFtdCAoLSBpbmRlbnQgKGN1cnJlbnQtY29sdW1uKSkpCiAgICAoaWYgKHpl
cm9wIHNoaWZ0LWFtdCkKCShpZiAoPiAoLSAocG9pbnQtbWF4KSBwb3MpIChwb2ludCkpCgkg
ICAgKGdvdG8tY2hhciAoLSAocG9pbnQtbWF4KSBwb3MpKSkKICAgICAgKGRlbGV0ZS1yZWdp
b24gYmVnIChwb2ludCkpCiAgICAgIChpbmRlbnQtdG8gaW5kZW50KQogICAgICA7OyBJZiBp
bml0aWFsIHBvaW50IHdhcyB3aXRoaW4gbGluZSdzIGluZGVudGF0aW9uLAogICAgICA7OyBw
b3NpdGlvbiBhZnRlciB0aGUgaW5kZW50YXRpb24uICBFbHNlIHN0YXkgYXQgc2FtZSBwb2lu
dCBpbiB0ZXh0LgogICAgICAoaWYgKD4gKC0gKHBvaW50LW1heCkgcG9zKSAocG9pbnQpKQoJ
ICAoZ290by1jaGFyICgtIChwb2ludC1tYXgpIHBvcykpKSkKICAgIHNoaWZ0LWFtdCkpCgoo
ZGVmdW4gY3BlcmwtYWZ0ZXItbGFiZWwgKCkKICA7OyBSZXR1cm5zIHRydWUgaWYgdGhlIHBv
aW50IGlzIGFmdGVyIGxhYmVsLiBEb2VzIG5vdCBkbyBzYXZlLWV4Y3Vyc2lvbi4KICAoYW5k
IChlcSAocHJlY2VkaW5nLWNoYXIpID86KQogICAgICAgKG1lbXEgKGNoYXItc3ludGF4IChj
aGFyLWFmdGVyICgtIChwb2ludCkgMikpKQoJICAgICAnKD93ID9fKSkKICAgICAgIChwcm9n
bgoJIChiYWNrd2FyZC1zZXhwKQoJIChsb29raW5nLWF0ICJbYS16QS1aX11bYS16QS1aMC05
X10qOlteOl0iKSkpKQoKKGRlZnVuIGNwZXJsLWdldC1zdGF0ZSAoJm9wdGlvbmFsIHBhcnNl
LXN0YXJ0IHN0YXJ0LXN0YXRlKQogIDs7IHJldHVybnMgbGlzdCAoU1RBUlQgU1RBVEUgREVQ
VEggUFJFU1RBUlQpLCBTVEFSVCBpcyBhIGdvb2QgcGxhY2UKICA7OyB0byBzdGFydCBwYXJz
aW5nLCBTVEFURSBpcyB3aGF0IGlzIHJldHVybmVkIGJ5CiAgOzsgYHBhcnNlLXBhcnRpYWwt
c2V4cCcuIERFUFRIIGlzIHRydWUgaXMgd2UgYXJlIGltbWVkaWF0ZWx5IGFmdGVyCiAgOzsg
ZW5kIG9mIGJsb2NrIHdoaWNoIGNvbnRhaW5zIFNUQVJULiBQUkVTVEFSVCBpcyB0aGUgcG9z
aXRpb24KICA7OyBiYXNpbmcgb24gd2hpY2ggU1RBUlQgd2FzIGZvdW5kLgogIChzYXZlLWV4
Y3Vyc2lvbgogICAgKGxldCAoKHN0YXJ0LXBvaW50IChwb2ludCkpIGRlcHRoIHN0YXRlIHN0
YXJ0IHByZXN0YXJ0KQogICAgICAoaWYgcGFyc2Utc3RhcnQKCSAgKGdvdG8tY2hhciBwYXJz
ZS1zdGFydCkKCShiZWdpbm5pbmctb2YtZGVmdW4pKQogICAgICAoc2V0cSBwcmVzdGFydCAo
cG9pbnQpKQogICAgICAoaWYgc3RhcnQtc3RhdGUgbmlsCgk7OyBUcnkgdG8gZ28gb3V0LCBp
ZiBzdWIgaXMgbm90IG9uIHRoZSBvdXRlcm1vc3QgbGV2ZWwKCSh3aGlsZSAoPCAocG9pbnQp
IHN0YXJ0LXBvaW50KQoJICAoc2V0cSBzdGFydCAocG9pbnQpIHBhcnNlLXN0YXJ0IHN0YXJ0
IGRlcHRoIG5pbAoJCXN0YXRlIChwYXJzZS1wYXJ0aWFsLXNleHAgc3RhcnQgc3RhcnQtcG9p
bnQgLTEpKQoJICAoaWYgKD4gKGNhciBzdGF0ZSkgLTEpIG5pbAoJICAgIDs7IFRoZSBjdXJy
ZW50IGxpbmUgY291bGQgc3RhcnQgbGlrZSB9fX0sIHNvIHRoZSBpbmRlbnRhdGlvbgoJICAg
IDs7IGNvcnJlc3BvbmRzIHRvIGEgZGlmZmVyZW50IGxldmVsIHRoYW4gd2hhdCB3ZSByZWFj
aGVkCgkgICAgKHNldHEgZGVwdGggdCkKCSAgICAoYmVnaW5uaW5nLW9mLWxpbmUgMikpKQk7
IEdvIHRvIHRoZSBuZXh0IGxpbmUuCgkoaWYgc3RhcnQgKGdvdG8tY2hhciBzdGFydCkpKQk7
IE5vdCBhdCB0aGUgc3RhcnQgb2YgZmlsZQogICAgICAoc2V0cSBzdGFydCAocG9pbnQpKQog
ICAgICAoaWYgKDwgc3RhcnQgc3RhcnQtcG9pbnQpIChzZXRxIHBhcnNlLXN0YXJ0IHN0YXJ0
KSkKICAgICAgKG9yIHN0YXRlIChzZXRxIHN0YXRlIChwYXJzZS1wYXJ0aWFsLXNleHAgc3Rh
cnQgc3RhcnQtcG9pbnQgLTEgbmlsIHN0YXJ0LXN0YXRlKSkpCiAgICAgIChsaXN0IHN0YXJ0
IHN0YXRlIGRlcHRoIHByZXN0YXJ0KSkpKQoKKGRlZnVuIGNwZXJsLWJsb2NrLXAgKCkJCQk7
IERvIG5vdCBDLU0tcSAhIE9uZSBzdHJpbmcgY29udGFpbnMgIjsiICEKICA7OyBQb3NpdGlv
bnMgaXMgYmVmb3JlID9cey4gQ2hlY2tzIHdoZXRoZXIgaXQgc3RhcnRzIGEgYmxvY2suCiAg
OzsgTm8gc2F2ZS1leGN1cnNpb24hCiAgKGNwZXJsLWJhY2t3YXJkLXRvLW5vbmNvbW1lbnQg
KHBvaW50LW1pbikpCiAgOzsoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFx0XG5cZiIpCiAgKG9y
IChtZW1xIChwcmVjZWRpbmctY2hhcikgKGFwcGVuZCAiOyl7fSRAJiVcQy1AIiBuaWwpKSA7
IE9yIGxhYmVsISBcQy1AIGF0IGJvYnAKCQkJCQk7IExhYmVsIG1heSBiZSBtaXhlZCB1cCB3
aXRoIGAkYmxhaCA6JwogICAgICAoc2F2ZS1leGN1cnNpb24gKGNwZXJsLWFmdGVyLWxhYmVs
KSkKICAgICAgKGFuZCAobWVtcSAoY2hhci1zeW50YXggKHByZWNlZGluZy1jaGFyKSkgJyg/
dyA/XykpCgkgICAocHJvZ24KCSAgICAgKGJhY2t3YXJkLXNleHApCgkgICAgIDs7IE5lZWQg
dGFrZSBpbnRvIGFjY291bnQgYGJsZXNzJywgYHJldHVybicsIGB0cicsLi4uCgkgICAgIChv
ciAoYW5kIChsb29raW5nLWF0ICJbYS16QS1aMC05XzpdK1sgXHRcblxmXSpbeyNdIikgOyBN
ZXRob2QgY2FsbCBzeW50YXgKCQkgICAgICAobm90IChsb29raW5nLWF0ICJcXChibGVzc1xc
fHJldHVyblxcfHF3XFx8dHJcXHxbc215XVxcKVxcPiIpKSkKCQkgKHByb2duCgkJICAgKHNr
aXAtY2hhcnMtYmFja3dhcmQgIiBcdFxuXGYiKQoJCSAgIChhbmQgKG1lbXEgKGNoYXItc3lu
dGF4IChwcmVjZWRpbmctY2hhcikpICcoP3cgP18pKQoJCQkocHJvZ24KCQkJICAoYmFja3dh
cmQtc2V4cCkKCQkJICAobG9va2luZy1hdCAKCQkJICAgInN1YlsgXHRdK1thLXpBLVowLTlf
Ol0rWyBcdFxuXGZdKlsje10iKSkpKSkpKSkpCgooZGVmdW4gY3BlcmwtY2FsY3VsYXRlLWlu
ZGVudCAoJm9wdGlvbmFsIHBhcnNlLXN0YXJ0IHN5bWJvbCkKICAiUmV0dXJuIGFwcHJvcHJp
YXRlIGluZGVudGF0aW9uIGZvciBjdXJyZW50IGxpbmUgYXMgUGVybCBjb2RlLgpJbiB1c3Vh
bCBjYXNlIHJldHVybnMgYW4gaW50ZWdlcjogdGhlIGNvbHVtbiB0byBpbmRlbnQgdG8uClJl
dHVybnMgbmlsIGlmIGxpbmUgc3RhcnRzIGluc2lkZSBhIHN0cmluZywgdCBpZiBpbiBhIGNv
bW1lbnQuIgogIChzYXZlLWV4Y3Vyc2lvbgogICAgKGlmIChtZW1xIChnZXQtdGV4dC1wcm9w
ZXJ0eSAocG9pbnQpICdzeW50YXgtdHlwZSkgJyhwb2QgaGVyZS1kb2MpKSBuaWwKICAgICAg
KGJlZ2lubmluZy1vZi1saW5lKQogICAgICAobGV0KiAoKGluZGVudC1wb2ludCAocG9pbnQp
KQoJICAgICAoY2FzZS1mb2xkLXNlYXJjaCBuaWwpCgkgICAgIChzLXMgKGNwZXJsLWdldC1z
dGF0ZSkpCgkgICAgIChzdGFydCAobnRoIDAgcy1zKSkKCSAgICAgKHN0YXRlIChudGggMSBz
LXMpKQoJICAgICAoY29udGFpbmluZy1zZXhwIChjYXIgKGNkciBzdGF0ZSkpKQoJICAgICAo
Y2hhci1hZnRlciAoc2F2ZS1leGN1cnNpb24KCQkJICAgKHNraXAtY2hhcnMtZm9yd2FyZCAi
IFx0IikKCQkJICAgKGZvbGxvd2luZy1jaGFyKSkpCgkgICAgIChzdGFydC1pbmRlbnQgKHNh
dmUtZXhjdXJzaW9uCgkJCSAgICAgKGdvdG8tY2hhciBzdGFydCkKCQkJICAgICAoLSAoY3Vy
cmVudC1pbmRlbnRhdGlvbikKCQkJCShpZiAobnRoIDIgcy1zKSBjcGVybC1pbmRlbnQtbGV2
ZWwgMCkpKSkKCSAgICAgb2xkLWluZGVudCkKCTs7ICAgICAgKG9yIHBhcnNlLXN0YXJ0IChu
dWxsIHN5bWJvbCkKCTs7CSAgKHNldHEgcGFyc2Utc3RhcnQgKHN5bWJvbC12YWx1ZSBzeW1i
b2wpIAoJOzsJCXN0YXJ0LWluZGVudCAobnRoIDIgcGFyc2Utc3RhcnQpIAoJOzsJCXBhcnNl
LXN0YXJ0IChjYXIgcGFyc2Utc3RhcnQpKSkKCTs7ICAgICAgKGlmIHBhcnNlLXN0YXJ0Cgk7
OwkgIChnb3RvLWNoYXIgcGFyc2Utc3RhcnQpCgk7OwkoYmVnaW5uaW5nLW9mLWRlZnVuKSkK
CTs7ICAgICAgOzsgVHJ5IHRvIGdvIG91dAoJOzsgICAgICAod2hpbGUgKDwgKHBvaW50KSBp
bmRlbnQtcG9pbnQpCgk7Owkoc2V0cSBzdGFydCAocG9pbnQpIHBhcnNlLXN0YXJ0IHN0YXJ0
IG1vdmVkIG5pbAoJOzsJICAgICAgc3RhdGUgKHBhcnNlLXBhcnRpYWwtc2V4cCBzdGFydCBp
bmRlbnQtcG9pbnQgLTEpKQoJOzsJKGlmICg+IChjYXIgc3RhdGUpIC0xKSBuaWwKCTs7CSAg
OzsgVGhlIGN1cnJlbnQgbGluZSBjb3VsZCBzdGFydCBsaWtlIH19fSwgc28gdGhlIGluZGVu
dGF0aW9uCgk7OwkgIDs7IGNvcnJlc3BvbmRzIHRvIGEgZGlmZmVyZW50IGxldmVsIHRoYW4g
d2hhdCB3ZSByZWFjaGVkCgk7OwkgIChzZXRxIG1vdmVkIHQpCgk7OwkgIChiZWdpbm5pbmct
b2YtbGluZSAyKSkpCTsgR28gdG8gdGhlIG5leHQgbGluZS4KCTs7ICAgICAgKGlmIHN0YXJ0
CQkJCTsgTm90IGF0IHRoZSBzdGFydCBvZiBmaWxlCgk7OwkgIChwcm9nbgoJOzsJICAgIChn
b3RvLWNoYXIgc3RhcnQpCgk7OwkgICAgKHNldHEgc3RhcnQtaW5kZW50IChjdXJyZW50LWlu
ZGVudGF0aW9uKSkKCTs7CSAgICAoaWYgbW92ZWQJCQk7IFNob3VsZCBjb3JyZWN0Li4uCgk7
OwkJKHNldHEgc3RhcnQtaW5kZW50ICgtIHN0YXJ0LWluZGVudCBjcGVybC1pbmRlbnQtbGV2
ZWwpKSkpCgk7Owkoc2V0cSBzdGFydC1pbmRlbnQgMCkpCgk7OyAgICAgIChpZiAoPCAocG9p
bnQpIGluZGVudC1wb2ludCkgKHNldHEgcGFyc2Utc3RhcnQgKHBvaW50KSkpCgk7OyAgICAg
IChvciBzdGF0ZSAoc2V0cSBzdGF0ZSAocGFyc2UtcGFydGlhbC1zZXhwIAoJOzsJCQkgICAg
IChwb2ludCkgaW5kZW50LXBvaW50IC0xIG5pbCBzdGFydC1zdGF0ZSkpKQoJOzsgICAgICAo
c2V0cSBjb250YWluaW5nLXNleHAgCgk7OwkgICAgKG9yIChjYXIgKGNkciBzdGF0ZSkpIAoJ
OzsJCShhbmQgKD49IChudGggNiBzdGF0ZSkgMCkgb2xkLWNvbnRhaW5pbmctc2V4cCkpCgk7
OwkgICAgb2xkLWNvbnRhaW5pbmctc2V4cCBuaWwgc3RhcnQtc3RhdGUgbmlsKQo7Ozs7ICAg
ICAgKHdoaWxlICg8IChwb2ludCkgaW5kZW50LXBvaW50KQo7Ozs7CShzZXRxIHBhcnNlLXN0
YXJ0IChwb2ludCkpCjs7OzsJKHNldHEgc3RhdGUgKHBhcnNlLXBhcnRpYWwtc2V4cCAocG9p
bnQpIGluZGVudC1wb2ludCAtMSBuaWwgc3RhcnQtc3RhdGUpKQo7Ozs7CShzZXRxIGNvbnRh
aW5pbmctc2V4cCAKOzs7OwkgICAgICAob3IgKGNhciAoY2RyIHN0YXRlKSkgCjs7OzsJCSAg
KGFuZCAoPj0gKG50aCA2IHN0YXRlKSAwKSBvbGQtY29udGFpbmluZy1zZXhwKSkKOzs7Owkg
ICAgICBvbGQtY29udGFpbmluZy1zZXhwIG5pbCBzdGFydC1zdGF0ZSBuaWwpKQoJOzsgICAg
ICAoaWYgc3ltYm9sIChzZXQgc3ltYm9sIChsaXN0IGluZGVudC1wb2ludCBzdGF0ZSBzdGFy
dC1pbmRlbnQpKSkKCTs7ICAgICAgKGdvdG8tY2hhciBpbmRlbnQtcG9pbnQpCgkoY29uZCAo
KG9yIChudGggMyBzdGF0ZSkgKG50aCA0IHN0YXRlKSkKCSAgICAgICA7OyByZXR1cm4gbmls
IG9yIHQgaWYgc2hvdWxkIG5vdCBjaGFuZ2UgdGhpcyBsaW5lCgkgICAgICAgKG50aCA0IHN0
YXRlKSkKCSAgICAgICgobnVsbCBjb250YWluaW5nLXNleHApCgkgICAgICAgOzsgTGluZSBp
cyBhdCB0b3AgbGV2ZWwuICBNYXkgYmUgZGF0YSBvciBmdW5jdGlvbiBkZWZpbml0aW9uLAoJ
ICAgICAgIDs7IG9yIG1heSBiZSBmdW5jdGlvbiBhcmd1bWVudCBkZWNsYXJhdGlvbi4KCSAg
ICAgICA7OyBJbmRlbnQgbGlrZSB0aGUgcHJldmlvdXMgdG9wIGxldmVsIGxpbmUKCSAgICAg
ICA7OyB1bmxlc3MgdGhhdCBlbmRzIGluIGEgY2xvc2VwYXJlbiB3aXRob3V0IHNlbWljb2xv
biwKCSAgICAgICA7OyBpbiB3aGljaCBjYXNlIHRoaXMgbGluZSBpcyB0aGUgZmlyc3QgYXJn
dW1lbnQgZGVjbC4KCSAgICAgICAoc2tpcC1jaGFycy1mb3J3YXJkICIgXHQiKQoJICAgICAg
ICgrIHN0YXJ0LWluZGVudAoJCSAgKGlmICg9IChmb2xsb3dpbmctY2hhcikgP3spIGNwZXJs
LWNvbnRpbnVlZC1icmFjZS1vZmZzZXQgMCkKCQkgIChwcm9nbgoJCSAgICAoY3BlcmwtYmFj
a3dhcmQtdG8tbm9uY29tbWVudCAob3IgcGFyc2Utc3RhcnQgKHBvaW50LW1pbikpKQoJCSAg
ICA7Oyhza2lwLWNoYXJzLWJhY2t3YXJkICIgXHRcZlxuIikKCQkgICAgOzsgTG9vayBhdCBw
cmV2aW91cyBsaW5lIHRoYXQncyBhdCBjb2x1bW4gMAoJCSAgICA7OyB0byBkZXRlcm1pbmUg
d2hldGhlciB3ZSBhcmUgaW4gdG9wLWxldmVsIGRlY2xzCgkJICAgIDs7IG9yIGZ1bmN0aW9u
J3MgYXJnIGRlY2xzLiAgU2V0IGJhc2ljLWluZGVudCBhY2NvcmRpbmdseS4KCQkgICAgOzsg
Tm93IGFkZCBhIGxpdHRsZSBpZiB0aGlzIGlzIGEgY29udGludWF0aW9uIGxpbmUuCgkJICAg
IChpZiAob3IgKGJvYnApCgkJCSAgICAobWVtcSAocHJlY2VkaW5nLWNoYXIpIChhcHBlbmQg
IiA7fSIgbmlsKSkgOyBXYXMgP1wpCgkJCSAgICAobWVtcSBjaGFyLWFmdGVyIChhcHBlbmQg
IildfSIgbmlsKSkKCQkJICAgIChhbmQgKGVxIChwcmVjZWRpbmctY2hhcikgP1w6KSA7IGxh
YmVsCgkJCQkgKHByb2duCgkJCQkgICAoZm9yd2FyZC1zZXhwIC0xKQoJCQkJICAgKHNraXAt
Y2hhcnMtYmFja3dhcmQgIiBcdCIpCgkJCQkgICAobG9va2luZy1hdCAiWyBcdF0qW2EtekEt
Wl9dW2EtekEtWl8wLTldKlsgXHRdKjoiKSkpKSAKCQkJMAoJCSAgICAgIGNwZXJsLWNvbnRp
bnVlZC1zdGF0ZW1lbnQtb2Zmc2V0KSkpKQoJICAgICAgKCgvPSAoY2hhci1hZnRlciBjb250
YWluaW5nLXNleHApID97KQoJICAgICAgIDs7IGxpbmUgaXMgZXhwcmVzc2lvbiwgbm90IHN0
YXRlbWVudDoKCSAgICAgICA7OyBpbmRlbnQgdG8ganVzdCBhZnRlciB0aGUgc3Vycm91bmRp
bmcgb3BlbiwKCSAgICAgICA7OyBza2lwIGJsYW5rcyBpZiB3ZSBkbyBub3QgY2xvc2UgdGhl
IGV4cHJlc3Npb24uCgkgICAgICAgKGdvdG8tY2hhciAoMSsgY29udGFpbmluZy1zZXhwKSkK
CSAgICAgICAob3IgKG1lbXEgY2hhci1hZnRlciAoYXBwZW5kICIpXX0iIG5pbCkpCgkJICAg
KGxvb2tpbmctYXQgIlsgXHRdKlxcKCNcXHwkXFwpIikKCQkgICAoc2tpcC1jaGFycy1mb3J3
YXJkICIgXHQiKSkKCSAgICAgICAoY3VycmVudC1jb2x1bW4pKQoJICAgICAgKChwcm9nbgoJ
CSA7OyBDb250YWluaW5nLWV4cHIgc3RhcnRzIHdpdGggXHsuIENoZWNrIHdoZXRoZXIgaXQg
aXMgYSBoYXNoLgoJCSAoZ290by1jaGFyIGNvbnRhaW5pbmctc2V4cCkKCQkgKG5vdCAoY3Bl
cmwtYmxvY2stcCkpKQoJICAgICAgIChnb3RvLWNoYXIgKDErIGNvbnRhaW5pbmctc2V4cCkp
CgkgICAgICAgKG9yIChlcSBjaGFyLWFmdGVyID9cfSkKCQkgICAobG9va2luZy1hdCAiWyBc
dF0qXFwoI1xcfCRcXCkiKQoJCSAgIChza2lwLWNoYXJzLWZvcndhcmQgIiBcdCIpKQoJICAg
ICAgICgrIChjdXJyZW50LWNvbHVtbikJOyBDb3JyZWN0IGluZGVudGF0aW9uIG9mIHRyYWls
aW5nID9cfQoJCSAgKGlmIChlcSBjaGFyLWFmdGVyID9cfSkgKCsgY3BlcmwtaW5kZW50LWxl
dmVsCgkJCQkJICAgICBjcGVybC1jbG9zZS1wYXJlbi1vZmZzZXQpIAoJCSAgICAwKSkpCgkg
ICAgICAodAoJICAgICAgIDs7IFN0YXRlbWVudCBsZXZlbC4gIElzIGl0IGEgY29udGludWF0
aW9uIG9yIGEgbmV3IHN0YXRlbWVudD8KCSAgICAgICA7OyBGaW5kIHByZXZpb3VzIG5vbi1j
b21tZW50IGNoYXJhY3Rlci4KCSAgICAgICAoZ290by1jaGFyIGluZGVudC1wb2ludCkKCSAg
ICAgICAoY3BlcmwtYmFja3dhcmQtdG8tbm9uY29tbWVudCBjb250YWluaW5nLXNleHApCgkg
ICAgICAgOzsgQmFjayB1cCBvdmVyIGxhYmVsIGxpbmVzLCBzaW5jZSB0aGV5IGRvbid0Cgkg
ICAgICAgOzsgYWZmZWN0IHdoZXRoZXIgb3VyIGxpbmUgaXMgYSBjb250aW51YXRpb24uCgkg
ICAgICAgKHdoaWxlIChvciAoZXEgKHByZWNlZGluZy1jaGFyKSA/XCwpCgkJCSAgKGFuZCAo
ZXEgKHByZWNlZGluZy1jaGFyKSA/OikKCQkJICAgICAgIChvcjs7KGVxIChjaGFyLWFmdGVy
ICgtIChwb2ludCkgMikpID9cJykgOyA/Pz8/CgkJCQkobWVtcSAoY2hhci1zeW50YXggKGNo
YXItYWZ0ZXIgKC0gKHBvaW50KSAyKSkpCgkJCQkgICAgICAnKD93ID9fKSkpKSkKCQkgKGlm
IChlcSAocHJlY2VkaW5nLWNoYXIpID9cLCkKCQkgICAgIDs7IFdpbGwgZ28gdG8gYmVnaW5u
aW5nIG9mIGxpbmUsIGVzc2VudGlhbGx5LgoJCSAgICAgOzsgV2lsbCBpZ25vcmUgZW1iZWRk
ZWQgc2V4cHIgWFhYWC4KCQkgICAgIChjcGVybC1iYWNrd2FyZC10by1zdGFydC1vZi1jb250
aW51ZWQtZXhwIGNvbnRhaW5pbmctc2V4cCkpCgkJIChiZWdpbm5pbmctb2YtbGluZSkKCQkg
KGNwZXJsLWJhY2t3YXJkLXRvLW5vbmNvbW1lbnQgY29udGFpbmluZy1zZXhwKSkKCSAgICAg
ICA7OyBOb3cgd2UgZ2V0IHRoZSBhbnN3ZXIuCgkgICAgICAgKGlmIChub3QgKG1lbXEgKHBy
ZWNlZGluZy1jaGFyKSAoYXBwZW5kICIsIDt9eyIgJyhuaWwpKSkpIDsgV2FzID9cLAoJCSAg
IDs7IFRoaXMgbGluZSBpcyBjb250aW51YXRpb24gb2YgcHJlY2VkaW5nIGxpbmUncyBzdGF0
ZW1lbnQ7CgkJICAgOzsgaW5kZW50ICBgY3BlcmwtY29udGludWVkLXN0YXRlbWVudC1vZmZz
ZXQnICBtb3JlIHRoYW4gdGhlCgkJICAgOzsgcHJldmlvdXMgbGluZSBvZiB0aGUgc3RhdGVt
ZW50LgoJCSAgIChwcm9nbgoJCSAgICAgKGNwZXJsLWJhY2t3YXJkLXRvLXN0YXJ0LW9mLWNv
bnRpbnVlZC1leHAgY29udGFpbmluZy1zZXhwKQoJCSAgICAgKCsgKGlmIChtZW1xIGNoYXIt
YWZ0ZXIgKGFwcGVuZCAifV0pIiBuaWwpKQoJCQkgICAgMAkJOyBDbG9zaW5nIHBhcmVudGgK
CQkJICBjcGVybC1jb250aW51ZWQtc3RhdGVtZW50LW9mZnNldCkKCQkJKGN1cnJlbnQtY29s
dW1uKQoJCQkoaWYgKGVxIGNoYXItYWZ0ZXIgP1x7KQoJCQkgICAgY3BlcmwtY29udGludWVk
LWJyYWNlLW9mZnNldCAwKSkpCgkJIDs7IFRoaXMgbGluZSBzdGFydHMgYSBuZXcgc3RhdGVt
ZW50LgoJCSA7OyBQb3NpdGlvbiBmb2xsb3dpbmcgbGFzdCB1bmNsb3NlZCBvcGVuLgoJCSAo
Z290by1jaGFyIGNvbnRhaW5pbmctc2V4cCkKCQkgOzsgSXMgbGluZSBmaXJzdCBzdGF0ZW1l
bnQgYWZ0ZXIgYW4gb3Blbi1icmFjZT8KCQkgKG9yCgkJICA7OyBJZiBubywgZmluZCB0aGF0
IGZpcnN0IHN0YXRlbWVudCBhbmQgaW5kZW50IGxpa2UKCQkgIDs7IGl0LiAgSWYgdGhlIGZp
cnN0IHN0YXRlbWVudCBiZWdpbnMgd2l0aCBsYWJlbCwgZG8KCQkgIDs7IG5vdCBiZWxpZXZl
IHdoZW4gdGhlIGluZGVudGF0aW9uIG9mIHRoZSBsYWJlbCBpcyB0b28KCQkgIDs7IHNtYWxs
LgoJCSAgKHNhdmUtZXhjdXJzaW9uCgkJICAgIChmb3J3YXJkLWNoYXIgMSkKCQkgICAgKHNl
dHEgb2xkLWluZGVudCAoY3VycmVudC1pbmRlbnRhdGlvbikpCgkJICAgIChsZXQgKChjb2xv
bi1saW5lLWVuZCAwKSkKCQkgICAgICAod2hpbGUgKHByb2duIChza2lwLWNoYXJzLWZvcndh
cmQgIiBcdFxuIikKCQkJCSAgICAobG9va2luZy1hdCAiI1xcfFthLXpBLVowLTlfJF0qOlte
Ol0iKSkKCQkJOzsgU2tpcCBvdmVyIGNvbW1lbnRzIGFuZCBsYWJlbHMgZm9sbG93aW5nIG9w
ZW5icmFjZS4KCQkJKGNvbmQgKCg9IChmb2xsb3dpbmctY2hhcikgP1wjKQoJCQkgICAgICAg
KGZvcndhcmQtbGluZSAxKSkKCQkJICAgICAgOzsgbGFiZWw6CgkJCSAgICAgICh0CgkJCSAg
ICAgICAoc2F2ZS1leGN1cnNpb24gKGVuZC1vZi1saW5lKQoJCQkJCSAgICAgICAoc2V0cSBj
b2xvbi1saW5lLWVuZCAocG9pbnQpKSkKCQkJICAgICAgIChzZWFyY2gtZm9yd2FyZCAiOiIp
KSkpCgkJICAgICAgOzsgVGhlIGZpcnN0IGZvbGxvd2luZyBjb2RlIGNvdW50cwoJCSAgICAg
IDs7IGlmIGl0IGlzIGJlZm9yZSB0aGUgbGluZSB3ZSB3YW50IHRvIGluZGVudC4KCQkgICAg
ICAoYW5kICg8IChwb2ludCkgaW5kZW50LXBvaW50KQoJCQkgICAoaWYgKD4gY29sb24tbGlu
ZS1lbmQgKHBvaW50KSkgOyBBZnRlciBsYWJlbAoJCQkgICAgICAgKGlmICg+IChjdXJyZW50
LWluZGVudGF0aW9uKSAKCQkJCSAgICAgIGNwZXJsLW1pbi1sYWJlbC1pbmRlbnQpCgkJCQkg
ICAoLSAoY3VycmVudC1pbmRlbnRhdGlvbikgY3BlcmwtbGFiZWwtb2Zmc2V0KQoJCQkJIDs7
IERvIG5vdCBiZWxpZXZlOiBgbWF4JyBpcyBpbnZvbHZlZAoJCQkJICgrIG9sZC1pbmRlbnQg
Y3BlcmwtaW5kZW50LWxldmVsKSkKCQkJICAgICAoY3VycmVudC1jb2x1bW4pKSkpKQoJCSAg
OzsgSWYgbm8gcHJldmlvdXMgc3RhdGVtZW50LAoJCSAgOzsgaW5kZW50IGl0IHJlbGF0aXZl
IHRvIGxpbmUgYnJhY2UgaXMgb24uCgkJICA7OyBGb3Igb3BlbiBicmFjZSBpbiBjb2x1bW4g
emVybywgZG9uJ3QgbGV0IHN0YXRlbWVudAoJCSAgOzsgc3RhcnQgdGhlcmUgdG9vLiAgSWYg
Y3BlcmwtaW5kZW50LWxldmVsIGlzIHplcm8sCgkJICA7OyB1c2UgY3BlcmwtYnJhY2Utb2Zm
c2V0ICsgY3BlcmwtY29udGludWVkLXN0YXRlbWVudC1vZmZzZXQgaW5zdGVhZC4KCQkgIDs7
IEZvciBvcGVuLWJyYWNlcyBub3QgdGhlIGZpcnN0IHRoaW5nIGluIGEgbGluZSwKCQkgIDs7
IGFkZCBpbiBjcGVybC1icmFjZS1pbWFnaW5hcnktb2Zmc2V0LgoKCQkgIDs7IElmIGZpcnN0
IHRoaW5nIG9uIGEgbGluZTogID8/Pz8/CgkJICAoKyAoaWYgKGFuZCAoYm9scCkgKHplcm9w
IGNwZXJsLWluZGVudC1sZXZlbCkpCgkJCSAoKyBjcGVybC1icmFjZS1vZmZzZXQgY3Blcmwt
Y29udGludWVkLXN0YXRlbWVudC1vZmZzZXQpCgkJICAgICAgIGNwZXJsLWluZGVudC1sZXZl
bCkKCQkgICAgIDs7IE1vdmUgYmFjayBvdmVyIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBvcGVu
YnJhY2UuCgkJICAgICA7OyBJZiBvcGVuYnJhY2UgaXMgbm90IGZpcnN0IG5vbndoaXRlIHRo
aW5nIG9uIHRoZSBsaW5lLAoJCSAgICAgOzsgYWRkIHRoZSBjcGVybC1icmFjZS1pbWFnaW5h
cnktb2Zmc2V0LgoJCSAgICAgKHByb2duIChza2lwLWNoYXJzLWJhY2t3YXJkICIgXHQiKQoJ
CQkgICAgKGlmIChib2xwKSAwIGNwZXJsLWJyYWNlLWltYWdpbmFyeS1vZmZzZXQpKQoJCSAg
ICAgOzsgSWYgdGhlIG9wZW5icmFjZSBpcyBwcmVjZWRlZCBieSBhIHBhcmVudGhlc2l6ZWQg
ZXhwLAoJCSAgICAgOzsgbW92ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoYXQ7CgkJICAgICA7
OyBwb3NzaWJseSBhIGRpZmZlcmVudCBsaW5lCgkJICAgICAocHJvZ24KCQkgICAgICAgKGlm
IChlcSAocHJlY2VkaW5nLWNoYXIpID9cKSkKCQkJICAgKGZvcndhcmQtc2V4cCAtMSkpCgkJ
ICAgICAgIDs7IEluIHRoZSBjYXNlIGl0IHN0YXJ0cyBhIHN1YnJvdXRpbmUsIGluZGVudCB3
aXRoCgkJICAgICAgIDs7IHJlc3BlY3QgdG8gYHN1YicsIG5vdCB3aXRoIHJlc3BlY3QgdG8g
dGhlIHRoZQoJCSAgICAgICA7OyBmaXJzdCB0aGluZyBvbiB0aGUgbGluZSwgc2F5IGluIHRo
ZSBjYXNlIG9mCgkJICAgICAgIDs7IGFub255bW91cyBzdWIgaW4gYSBoYXNoLgoJCSAgICAg
ICA7OwoJCSAgICAgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFx0IikKCQkgICAgICAgKGlm
IChhbmQgKGVxIChwcmVjZWRpbmctY2hhcikgP2IpCgkJCQkocHJvZ24KCQkJCSAgKGZvcndh
cmQtd29yZCAtMSkKCQkJCSAgKGxvb2tpbmctYXQgInN1YlxcPiIpKQoJCQkJKHNldHEgb2xk
LWluZGVudCAKCQkJCSAgICAgIChudGggMSAKCQkJCQkgICAocGFyc2UtcGFydGlhbC1zZXhw
IAoJCQkJCSAgICAoc2F2ZS1leGN1cnNpb24gKGJlZ2lubmluZy1vZi1saW5lKSAocG9pbnQp
KSAKCQkJCQkgICAgKHBvaW50KSkpKSkKCQkJICAgKHByb2duIChnb3RvLWNoYXIgKDErIG9s
ZC1pbmRlbnQpKQoJCQkJICAoc2tpcC1jaGFycy1mb3J3YXJkICIgXHQiKQoJCQkJICAoY3Vy
cmVudC1jb2x1bW4pKQoJCQkgOzsgR2V0IGluaXRpYWwgaW5kZW50YXRpb24gb2YgdGhlIGxp
bmUgd2UgYXJlIG9uLgoJCQkgOzsgSWYgbGluZSBzdGFydHMgd2l0aCBsYWJlbCwgY2FsY3Vs
YXRlIGxhYmVsIGluZGVudGF0aW9uCgkJCSAoaWYgKHNhdmUtZXhjdXJzaW9uCgkJCSAgICAg
ICAoYmVnaW5uaW5nLW9mLWxpbmUpCgkJCSAgICAgICAobG9va2luZy1hdCAiWyBcdF0qW2Et
ekEtWl9dW2EtekEtWl9dKjpbXjpdIikpCgkJCSAgICAgKGlmICg+IChjdXJyZW50LWluZGVu
dGF0aW9uKSBjcGVybC1taW4tbGFiZWwtaW5kZW50KQoJCQkJICgtIChjdXJyZW50LWluZGVu
dGF0aW9uKSBjcGVybC1sYWJlbC1vZmZzZXQpCgkJCSAgICAgICAoY3BlcmwtY2FsY3VsYXRl
LWluZGVudCAKCQkJCShpZiAoYW5kIHBhcnNlLXN0YXJ0ICg8PSBwYXJzZS1zdGFydCAocG9p
bnQpKSkKCQkJCSAgICBwYXJzZS1zdGFydCkpKQoJCQkgICAoY3VycmVudC1pbmRlbnRhdGlv
bikpKSkpKSkpKSkpKSkKCihkZWZ2YXIgY3BlcmwtaW5kZW50LWFsaXN0CiAgJygoc3RyaW5n
IG5pbCkKICAgIChjb21tZW50IG5pbCkKICAgICh0b3BsZXZlbCAwKQogICAgKHRvcGxldmVs
LWFmdGVyLXBhcmVudGggMikKICAgICh0b3BsZXZlbC1jb250aW51ZWQgMikKICAgIChleHBy
ZXNzaW9uIDEpKQogICJBbGlzdCBvZiBpbmRlbnRhdGlvbiBydWxlcyBmb3IgQ1BlcmwgbW9k
ZS4KVGhlIHZhbHVlcyBtZWFuOgogIG5pbDogZG8gbm90IGluZGVudDsKICBudW1iZXI6IGFk
ZCB0aGlzIGFtb3VudCBvZiBpbmRlbnRhdGlvbi4iKQoKKGRlZnVuIGNwZXJsLXdoZXJlLWFt
LWkgKCZvcHRpb25hbCBwYXJzZS1zdGFydCBzdGFydC1zdGF0ZSkKICA7OyBVbmZpbmlzaGVk
CiAgIlJldHVybiBhIGxpc3Qgb2YgbGlzdHMgKChUWVBFIFBPUykuLi4pIG9mIGdvb2QgcG9p
bnRzIGJlZm9yZSB0aGUgcG9pbnQuClBPUyBtYXkgYmUgbmlsIGlmIGl0IGlzIGhhcmQgdG8g
ZmluZCwgc2F5LCB3aGVuIFRZUEUgaXMgYHN0cmluZycgb3IgYGNvbW1lbnQnLiIKICAoc2F2
ZS1leGN1cnNpb24KICAgIChsZXQqICgoc3RhcnQtcG9pbnQgKHBvaW50KSkKCSAgIChzLXMg
KGNwZXJsLWdldC1zdGF0ZSkpCgkgICAoc3RhcnQgKG50aCAwIHMtcykpCgkgICAoc3RhdGUg
KG50aCAxIHMtcykpCgkgICAocHJlc3RhcnQgKG50aCAzIHMtcykpCgkgICAoY29udGFpbmlu
Zy1zZXhwIChjYXIgKGNkciBzdGF0ZSkpKQoJICAgKGNhc2UtZm9sZC1zZWFyY2ggbmlsKQoJ
ICAgKHJlcyAobGlzdCAobGlzdCAncGFyc2Utc3RhcnQgc3RhcnQpIChsaXN0ICdwYXJzZS1w
cmVzdGFydCBwcmVzdGFydCkpKSkKICAgICAgKGNvbmQgKChudGggMyBzdGF0ZSkJCTsgSW4g
c3RyaW5nCgkgICAgIChzZXRxIHJlcyAoY29ucyAobGlzdCAnc3RyaW5nIG5pbCAobnRoIDMg
c3RhdGUpKSByZXMpKSkgOyBXaGF0IHN0YXJ0ZWQgc3RyaW5nCgkgICAgKChudGggNCBzdGF0
ZSkJCTsgSW4gY29tbWVudAoJICAgICAoc2V0cSByZXMgKGNvbnMgJyhjb21tZW50KSByZXMp
KSkKCSAgICAoKG51bGwgY29udGFpbmluZy1zZXhwKQoJICAgICA7OyBMaW5lIGlzIGF0IHRv
cCBsZXZlbC4gIAoJICAgICA7OyBJbmRlbnQgbGlrZSB0aGUgcHJldmlvdXMgdG9wIGxldmVs
IGxpbmUKCSAgICAgOzsgdW5sZXNzIHRoYXQgZW5kcyBpbiBhIGNsb3NlcGFyZW4gd2l0aG91
dCBzZW1pY29sb24sCgkgICAgIDs7IGluIHdoaWNoIGNhc2UgdGhpcyBsaW5lIGlzIHRoZSBm
aXJzdCBhcmd1bWVudCBkZWNsLgoJICAgICAoY3BlcmwtYmFja3dhcmQtdG8tbm9uY29tbWVu
dCAob3IgcGFyc2Utc3RhcnQgKHBvaW50LW1pbikpKQoJICAgICA7Oyhza2lwLWNoYXJzLWJh
Y2t3YXJkICIgXHRcZlxuIikKCSAgICAgKGNvbmQKCSAgICAgICgob3IgKGJvYnApCgkJICAg
KG1lbXEgKHByZWNlZGluZy1jaGFyKSAoYXBwZW5kICI7fSIgbmlsKSkpCgkgICAgICAgKHNl
dHEgcmVzIChjb25zIChsaXN0ICd0b3BsZXZlbCBzdGFydCkgcmVzKSkpCgkgICAgICAoKGVx
IChwcmVjZWRpbmctY2hhcikgP1wpICkKCSAgICAgICAoc2V0cSByZXMgKGNvbnMgKGxpc3Qg
J3RvcGxldmVsLWFmdGVyLXBhcmVudGggc3RhcnQpIHJlcykpKQoJICAgICAgKHQgCgkgICAg
ICAgKHNldHEgcmVzIChjb25zIChsaXN0ICd0b3BsZXZlbC1jb250aW51ZWQgc3RhcnQpIHJl
cykpKSkpCgkgICAgKCgvPSAoY2hhci1hZnRlciBjb250YWluaW5nLXNleHApID97KQoJICAg
ICA7OyBsaW5lIGlzIGV4cHJlc3Npb24sIG5vdCBzdGF0ZW1lbnQ6CgkgICAgIDs7IGluZGVu
dCB0byBqdXN0IGFmdGVyIHRoZSBzdXJyb3VuZGluZyBvcGVuLgoJICAgICA7OyBza2lwIGJs
YW5rcyBpZiB3ZSBkbyBub3QgY2xvc2UgdGhlIGV4cHJlc3Npb24uCgkgICAgIChzZXRxIHJl
cyAoY29ucyAobGlzdCAnZXhwcmVzc2lvbi1ibGFua3MKCQkJCSAgIChwcm9nbgoJCQkJICAg
ICAoZ290by1jaGFyICgxKyBjb250YWluaW5nLXNleHApKQoJCQkJICAgICAob3IgKGxvb2tp
bmctYXQgIlsgXHRdKlxcKCNcXHwkXFwpIikKCQkJCQkgKHNraXAtY2hhcnMtZm9yd2FyZCAi
IFx0IikpCgkJCQkgICAgIChwb2ludCkpKQoJCQkgICAgIChjb25zIChsaXN0ICdleHByZXNz
aW9uIGNvbnRhaW5pbmctc2V4cCkgcmVzKSkpKQoJICAgICgocHJvZ24KCSAgICAgIDs7IENv
bnRhaW5pbmctZXhwciBzdGFydHMgd2l0aCBcey4gQ2hlY2sgd2hldGhlciBpdCBpcyBhIGhh
c2guCgkgICAgICAoZ290by1jaGFyIGNvbnRhaW5pbmctc2V4cCkKCSAgICAgIChub3QgKGNw
ZXJsLWJsb2NrLXApKSkKCSAgICAgKHNldHEgcmVzIChjb25zIChsaXN0ICdleHByZXNzaW9u
LWJsYW5rcwoJCQkJICAgKHByb2duCgkJCQkgICAgIChnb3RvLWNoYXIgKDErIGNvbnRhaW5p
bmctc2V4cCkpCgkJCQkgICAgIChvciAobG9va2luZy1hdCAiWyBcdF0qXFwoI1xcfCRcXCki
KQoJCQkJCSAoc2tpcC1jaGFycy1mb3J3YXJkICIgXHQiKSkKCQkJCSAgICAgKHBvaW50KSkp
CgkJCSAgICAgKGNvbnMgKGxpc3QgJ2V4cHJlc3Npb24gY29udGFpbmluZy1zZXhwKSByZXMp
KSkpCgkgICAgKHQKCSAgICAgOzsgU3RhdGVtZW50IGxldmVsLgoJICAgICAoc2V0cSByZXMg
KGNvbnMgKGxpc3QgJ2luLWJsb2NrIGNvbnRhaW5pbmctc2V4cCkgcmVzKSkKCSAgICAgOzsg
SXMgaXQgYSBjb250aW51YXRpb24gb3IgYSBuZXcgc3RhdGVtZW50PwoJICAgICA7OyBGaW5k
IHByZXZpb3VzIG5vbi1jb21tZW50IGNoYXJhY3Rlci4KCSAgICAgKGNwZXJsLWJhY2t3YXJk
LXRvLW5vbmNvbW1lbnQgY29udGFpbmluZy1zZXhwKQoJICAgICA7OyBCYWNrIHVwIG92ZXIg
bGFiZWwgbGluZXMsIHNpbmNlIHRoZXkgZG9uJ3QKCSAgICAgOzsgYWZmZWN0IHdoZXRoZXIg
b3VyIGxpbmUgaXMgYSBjb250aW51YXRpb24uCgkgICAgIDs7IEJhY2sgdXAgY29tbWEtZGVs
aW1pdGVkIGxpbmVzIHRvbyA/Pz8/PwoJICAgICAod2hpbGUgKG9yIChlcSAocHJlY2VkaW5n
LWNoYXIpID9cLCkKCQkJKHNhdmUtZXhjdXJzaW9uIChjcGVybC1hZnRlci1sYWJlbCkpKQoJ
ICAgICAgIChpZiAoZXEgKHByZWNlZGluZy1jaGFyKSA/XCwpCgkJICAgOzsgV2lsbCBnbyB0
byBiZWdpbm5pbmcgb2YgbGluZSwgZXNzZW50aWFsbHkKCQkgICAgIDs7IFdpbGwgaWdub3Jl
IGVtYmVkZGVkIHNleHByIFhYWFguCgkJICAgKGNwZXJsLWJhY2t3YXJkLXRvLXN0YXJ0LW9m
LWNvbnRpbnVlZC1leHAgY29udGFpbmluZy1zZXhwKSkKCSAgICAgICAoYmVnaW5uaW5nLW9m
LWxpbmUpCgkgICAgICAgKGNwZXJsLWJhY2t3YXJkLXRvLW5vbmNvbW1lbnQgY29udGFpbmlu
Zy1zZXhwKSkKCSAgICAgOzsgTm93IHdlIGdldCB0aGUgYW5zd2VyLgoJICAgICAoaWYgKG5v
dCAobWVtcSAocHJlY2VkaW5nLWNoYXIpIChhcHBlbmQgIjt9eyIgJyhuaWwpKSkpIDsgV2Fz
ID9cLAoJCSA7OyBUaGlzIGxpbmUgaXMgY29udGludWF0aW9uIG9mIHByZWNlZGluZyBsaW5l
J3Mgc3RhdGVtZW50LgoJCSAobGlzdCAobGlzdCAnc3RhdGVtZW50LWNvbnRpbnVlZCBjb250
YWluaW5nLXNleHApKQoJICAgICAgIDs7IFRoaXMgbGluZSBzdGFydHMgYSBuZXcgc3RhdGVt
ZW50LgoJICAgICAgIDs7IFBvc2l0aW9uIGZvbGxvd2luZyBsYXN0IHVuY2xvc2VkIG9wZW4u
CgkgICAgICAgKGdvdG8tY2hhciBjb250YWluaW5nLXNleHApCgkgICAgICAgOzsgSXMgbGlu
ZSBmaXJzdCBzdGF0ZW1lbnQgYWZ0ZXIgYW4gb3Blbi1icmFjZT8KCSAgICAgICAob3IKCQk7
OyBJZiBubywgZmluZCB0aGF0IGZpcnN0IHN0YXRlbWVudCBhbmQgaW5kZW50IGxpa2UKCQk7
OyBpdC4gIElmIHRoZSBmaXJzdCBzdGF0ZW1lbnQgYmVnaW5zIHdpdGggbGFiZWwsIGRvCgkJ
Ozsgbm90IGJlbGlldmUgd2hlbiB0aGUgaW5kZW50YXRpb24gb2YgdGhlIGxhYmVsIGlzIHRv
bwoJCTs7IHNtYWxsLgoJCShzYXZlLWV4Y3Vyc2lvbgoJCSAgKGZvcndhcmQtY2hhciAxKQoJ
CSAgKGxldCAoKGNvbG9uLWxpbmUtZW5kIDApKQoJCSAgICAod2hpbGUgKHByb2duIChza2lw
LWNoYXJzLWZvcndhcmQgIiBcdFxuIiBzdGFydC1wb2ludCkKCQkJCSAgKGFuZCAoPCAocG9p
bnQpIHN0YXJ0LXBvaW50KQoJCQkJICAgICAgIChsb29raW5nLWF0CgkJCQkJIiNcXHxbYS16
QS1aX11bYS16QS1aMC05X10qOlteOl0iKSkpCgkJICAgICAgOzsgU2tpcCBvdmVyIGNvbW1l
bnRzIGFuZCBsYWJlbHMgZm9sbG93aW5nIG9wZW5icmFjZS4KCQkgICAgICAoY29uZCAoKD0g
KGZvbGxvd2luZy1jaGFyKSA/XCMpCgkJCSAgICAgOzsoZm9yd2FyZC1saW5lIDEpCgkJCSAg
ICAgKGVuZC1vZi1saW5lKSkKCQkJICAgIDs7IGxhYmVsOgoJCQkgICAgKHQKCQkJICAgICAo
c2F2ZS1leGN1cnNpb24gKGVuZC1vZi1saW5lKQoJCQkJCSAgICAgKHNldHEgY29sb24tbGlu
ZS1lbmQgKHBvaW50KSkpCgkJCSAgICAgKHNlYXJjaC1mb3J3YXJkICI6IikpKSkKCQkgICAg
OzsgTm93IGF0IHRoZSBwb2ludCwgYWZ0ZXIgbGFiZWwsIG9yIGF0IHN0YXJ0IAoJCSAgICA7
OyBvZiBmaXJzdCBzdGF0ZW1lbnQgaW4gdGhlIGJsb2NrLgoJCSAgICAoYW5kICg8IChwb2lu
dCkgc3RhcnQtcG9pbnQpCgkJCSAoaWYgKD4gY29sb24tbGluZS1lbmQgKHBvaW50KSkgCgkJ
CSAgICAgOzsgQmVmb3JlIHN0YXRlbWVudCBhZnRlciBsYWJlbAoJCQkgICAgIChpZiAoPiAo
Y3VycmVudC1pbmRlbnRhdGlvbikgCgkJCQkgICAgY3BlcmwtbWluLWxhYmVsLWluZGVudCkK
CQkJCSAobGlzdCAobGlzdCAnbGFiZWwtaW4tYmxvY2sgKHBvaW50KSkpCgkJCSAgICAgICA7
OyBEbyBub3QgYmVsaWV2ZTogYG1heCcgaXMgaW52b2x2ZWQKCQkJICAgICAgIChsaXN0CgkJ
CQkobGlzdCAnbGFiZWwtaW4tYmxvY2stbWluLWluZGVudCAocG9pbnQpKSkpCgkJCSAgIDs7
IEJlZm9yZSBzdGF0ZW1lbnQKCQkJICAgKGxpc3QgJ3N0YXRlbWVudC1pbi1ibG9jayAocG9p
bnQpKSkpKSkKCQk7OyBJZiBubyBwcmV2aW91cyBzdGF0ZW1lbnQsCgkJOzsgaW5kZW50IGl0
IHJlbGF0aXZlIHRvIGxpbmUgYnJhY2UgaXMgb24uCgkJOzsgRm9yIG9wZW4gYnJhY2UgaW4g
Y29sdW1uIHplcm8sIGRvbid0IGxldCBzdGF0ZW1lbnQKCQk7OyBzdGFydCB0aGVyZSB0b28u
ICBJZiBjcGVybC1pbmRlbnQtbGV2ZWwgaXMgemVybywKCQk7OyB1c2UgY3BlcmwtYnJhY2Ut
b2Zmc2V0ICsgY3BlcmwtY29udGludWVkLXN0YXRlbWVudC1vZmZzZXQgaW5zdGVhZC4KCQk7
OyBGb3Igb3Blbi1icmFjZXMgbm90IHRoZSBmaXJzdCB0aGluZyBpbiBhIGxpbmUsCgkJOzsg
YWRkIGluIGNwZXJsLWJyYWNlLWltYWdpbmFyeS1vZmZzZXQuCgoJCTs7IElmIGZpcnN0IHRo
aW5nIG9uIGEgbGluZTogID8/Pz8/CgkJKCsgKGlmIChhbmQgKGJvbHApICh6ZXJvcCBjcGVy
bC1pbmRlbnQtbGV2ZWwpKQoJCSAgICAgICAoKyBjcGVybC1icmFjZS1vZmZzZXQgY3Blcmwt
Y29udGludWVkLXN0YXRlbWVudC1vZmZzZXQpCgkJICAgICBjcGVybC1pbmRlbnQtbGV2ZWwp
CgkJICAgOzsgTW92ZSBiYWNrIG92ZXIgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIG9wZW5icmFj
ZS4KCQkgICA7OyBJZiBvcGVuYnJhY2UgaXMgbm90IGZpcnN0IG5vbndoaXRlIHRoaW5nIG9u
IHRoZSBsaW5lLAoJCSAgIDs7IGFkZCB0aGUgY3BlcmwtYnJhY2UtaW1hZ2luYXJ5LW9mZnNl
dC4KCQkgICAocHJvZ24gKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdCIpCgkJCSAgKGlmIChi
b2xwKSAwIGNwZXJsLWJyYWNlLWltYWdpbmFyeS1vZmZzZXQpKQoJCSAgIDs7IElmIHRoZSBv
cGVuYnJhY2UgaXMgcHJlY2VkZWQgYnkgYSBwYXJlbnRoZXNpemVkIGV4cCwKCQkgICA7OyBt
b3ZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhhdDsKCQkgICA7OyBwb3NzaWJseSBhIGRpZmZl
cmVudCBsaW5lCgkJICAgKHByb2duCgkJICAgICAoaWYgKGVxIChwcmVjZWRpbmctY2hhcikg
P1wpKQoJCQkgKGZvcndhcmQtc2V4cCAtMSkpCgkJICAgICA7OyBHZXQgaW5pdGlhbCBpbmRl
bnRhdGlvbiBvZiB0aGUgbGluZSB3ZSBhcmUgb24uCgkJICAgICA7OyBJZiBsaW5lIHN0YXJ0
cyB3aXRoIGxhYmVsLCBjYWxjdWxhdGUgbGFiZWwgaW5kZW50YXRpb24KCQkgICAgIChpZiAo
c2F2ZS1leGN1cnNpb24KCQkJICAgKGJlZ2lubmluZy1vZi1saW5lKQoJCQkgICAobG9va2lu
Zy1hdCAiWyBcdF0qW2EtekEtWl9dW2EtekEtWl9dKjpbXjpdIikpCgkJCSAoaWYgKD4gKGN1
cnJlbnQtaW5kZW50YXRpb24pIGNwZXJsLW1pbi1sYWJlbC1pbmRlbnQpCgkJCSAgICAgKC0g
KGN1cnJlbnQtaW5kZW50YXRpb24pIGNwZXJsLWxhYmVsLW9mZnNldCkKCQkJICAgKGNwZXJs
LWNhbGN1bGF0ZS1pbmRlbnQgCgkJCSAgICAoaWYgKGFuZCBwYXJzZS1zdGFydCAoPD0gcGFy
c2Utc3RhcnQgKHBvaW50KSkpCgkJCQlwYXJzZS1zdGFydCkpKQoJCSAgICAgICAoY3VycmVu
dC1pbmRlbnRhdGlvbikpKSkpKSkpCiAgICAgIHJlcykpKQoKKGRlZnVuIGNwZXJsLWNhbGN1
bGF0ZS1pbmRlbnQtd2l0aGluLWNvbW1lbnQgKCkKICAiUmV0dXJuIHRoZSBpbmRlbnRhdGlv
biBhbW91bnQgZm9yIGxpbmUsIGFzc3VtaW5nIHRoYXQKdGhlIGN1cnJlbnQgbGluZSBpcyB0
byBiZSByZWdhcmRlZCBhcyBwYXJ0IG9mIGEgYmxvY2sgY29tbWVudC4iCiAgKGxldCAoZW5k
IHN0YXItc3RhcnQpCiAgICAoc2F2ZS1leGN1cnNpb24KICAgICAgKGJlZ2lubmluZy1vZi1s
aW5lKQogICAgICAoc2tpcC1jaGFycy1mb3J3YXJkICIgXHQiKQogICAgICAoc2V0cSBlbmQg
KHBvaW50KSkKICAgICAgKGFuZCAoPSAoZm9sbG93aW5nLWNoYXIpID8jKQoJICAgKGZvcndh
cmQtbGluZSAtMSkKCSAgIChjcGVybC10by1jb21tZW50LW9yLWVvbCkKCSAgIChzZXRxIGVu
ZCAocG9pbnQpKSkKICAgICAgKGdvdG8tY2hhciBlbmQpCiAgICAgIChjdXJyZW50LWNvbHVt
bikpKSkKCgooZGVmdW4gY3BlcmwtdG8tY29tbWVudC1vci1lb2wgKCkKICAiR29lcyB0byBw
b3NpdGlvbiBiZWZvcmUgY29tbWVudCBvbiB0aGUgY3VycmVudCBsaW5lLCBvciB0byBlbmQg
b2YgbGluZS4KUmV0dXJucyB0cnVlIGlmIGNvbW1lbnQgaXMgZm91bmQuIgogIChsZXQgKHN0
YXRlIHN0b3AtaW4gY3BvaW50IChsaW0gKHByb2duIChlbmQtb2YtbGluZSkgKHBvaW50KSkp
KQogICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpCiAgICAgIChpZiAocmUtc2VhcmNoLWZvcndh
cmQgIlxcPVsgXHRdKlxcKCNcXHwkXFwpIiBsaW0gdCkgCgkgIChpZiAoZXEgKHByZWNlZGlu
Zy1jaGFyKSA/XCMpIChwcm9nbiAoYmFja3dhcmQtY2hhciAxKSB0KSkKCTs7IEVsc2UKCSh3
aGlsZSAobm90IHN0b3AtaW4pCgkgIChzZXRxIHN0YXRlIChwYXJzZS1wYXJ0aWFsLXNleHAg
KHBvaW50KSBsaW0gbmlsIG5pbCBuaWwgdCkpCgkJCQkJOyBzdG9wIGF0IGNvbW1lbnQKCSAg
OzsgSWYgZmFpbHMgKGJlZ2lubmluZy1vZi1saW5lIGluc2lkZSBzZXhwKSwgdGhlbiBjb250
YWlucyBub3QtY29tbWVudAoJICA7OyBEbyBzaW1wbGlmaWVkIHByb2Nlc3NpbmcKCSAgOzso
aWYgKHJlLXNlYXJjaC1mb3J3YXJkICJbXiRdIyIgbGltIDEpCgkgIDs7ICAgICAgKHByb2du
CgkgIDs7CShmb3J3YXJkLWNoYXIgLTEpCgkgIDs7CShza2lwLWNoYXJzLWJhY2t3YXJkICIg
XHRcblxmIiBsaW0pKQoJICA7OyAgICAoZ290by1jaGFyIGxpbSkpCQk7IE5vIGAjJyBhdCBh
bGwKCSAgOzspCgkgIChpZiAobnRoIDQgc3RhdGUpCQk7IEFmdGVyIGAjJzsKCQkJCQk7IChu
dGggMiBzdGF0ZSkgY2FuIGJlCgkJCQkJOyBiZWdpbm5pbmcgb2YgbSxzLHFxIGFuZCBzbwoJ
CQkJCTsgb24KCSAgICAgIChpZiAobnRoIDIgc3RhdGUpCgkJICAocHJvZ24KCQkgICAgKHNl
dHEgY3BvaW50IChwb2ludCkpCgkJICAgIChnb3RvLWNoYXIgKG50aCAyIHN0YXRlKSkKCQkg
ICAgKGNvbmQKCQkgICAgICgobG9va2luZy1hdCAiXFwoc1xcfHRyXFwpXFw+IikKCQkgICAg
ICAob3IgKHJlLXNlYXJjaC1mb3J3YXJkCgkJCSAgICJcXD1cXHcrWyBcdF0qI1xcKFteXG5c
XFxcI11cXHxcXFxcW1xcXFwjXVxcKSojXFwoW15cblxcXFwjXVxcfFxcXFxbXFxcXCNdXFwp
KiIKCQkJICAgbGltICdtb3ZlKQoJCQkgIChzZXRxIHN0b3AtaW4gdCkpKQoJCSAgICAgKChs
b29raW5nLWF0ICJcXChtXFx8cVxcKFtxeHddXFwpP1xcKVxcPiIpCgkJICAgICAgKG9yIChy
ZS1zZWFyY2gtZm9yd2FyZAoJCQkgICAiXFw9XFx3K1sgXHRdKiNcXChbXlxuXFxcXCNdXFx8
XFxcXFtcXFxcI11cXCkqIyIKCQkJICAgbGltICdtb3ZlKQoJCQkgIChzZXRxIHN0b3AtaW4g
dCkpKQoJCSAgICAgKHQJCQk7IEl0IHdhcyBmYWlyIGNvbW1lbnQKCQkgICAgICAoc2V0cSBz
dG9wLWluIHQpCTsgRmluaXNoCgkJICAgICAgKGdvdG8tY2hhciAoMS0gY3BvaW50KSkpKSkK
CQkoc2V0cSBzdG9wLWluIHQpCTsgRmluaXNoCgkJKGZvcndhcmQtY2hhciAtMSkpCgkgICAg
KHNldHEgc3RvcC1pbiB0KSkJCTsgRmluaXNoCgkgICkKCShudGggNCBzdGF0ZSkpKSkKCihk
ZWZ1biBjcGVybC1maW5kLXBvZHMtaGVyZXMgKCZvcHRpb25hbCBtaW4gbWF4KQogICJTY2Fu
cyB0aGUgYnVmZmVyIGZvciBQT0Qgc2VjdGlvbnMgYW5kIGhlcmUtZG9jdW1lbnRzLgpJZiBg
Y3BlcmwtcG9kLWhlcmUtZm9udGlmeScgaXMgbm90LW5pbCBhZnRlciBldmFsdWF0aW9uLCB3
aWxsIGZvbnRpZnkgCnRoZSBzZWN0aW9ucyB1c2luZyBgY3BlcmwtcG9kLWhlYWQtZmFjZScs
IGBjcGVybC1wb2QtZmFjZScsIApgY3BlcmwtaGVyZS1mYWNlJy4iCiAgKGludGVyYWN0aXZl
KQogIChvciBtaW4gKHNldHEgbWluIChwb2ludC1taW4pKSkKICAob3IgbWF4IChzZXRxIG1h
eCAocG9pbnQtbWF4KSkpCiAgKGxldCAoZmFjZSBoZWFkLWZhY2UgaGVyZS1mYWNlIGIgZSBi
YiB0YWcgcXRhZyBlcnIgYjEgZTEgYXJndW1lbnQKCSAgICAgKGNwZXJsLXBvZC1oZXJlLWZv
bnRpZnkgKGV2YWwgY3BlcmwtcG9kLWhlcmUtZm9udGlmeSkpCgkgICAgIChjYXNlLWZvbGQt
c2VhcmNoIG5pbCkgKGluaGliaXQtcmVhZC1vbmx5IHQpIChidWZmZXItdW5kby1saXN0IHQp
CgkgICAgIChtb2RpZmllZCAoYnVmZmVyLW1vZGlmaWVkLXApKQoJICAgICAoYWZ0ZXItY2hh
bmdlLWZ1bmN0aW9ucyBuaWwpCgkgICAgIChzZWFyY2gKCSAgICAgIChjb25jYXQKCSAgICAg
ICAiXFwoXFxgXG4/XFx8XG5cblxcKT0iIAoJICAgICAgICJcXHwiCgkgICAgICAgOzsgT25l
IGV4dHJhICgpIGJlZm9yZSB0aGlzOgoJICAgICAgICI8PCIgCgkgICAgICAgICAiXFwoIiAK
CQkgOzsgRmlyc3QgdmFyaWFudCAiQkxBSCIgb3IganVzdCBgYC4KCSAgICAgICAgICAgICJc
XChbXCInYF1cXCkiCgkJICAgICJcXChbXlwiJ2Bcbl0qXFwpIgoJCSAgICAiXFwzIgoJCSAi
XFx8IgoJCSA7OyBTZWNvbmQgdmFyaWFudDogSWRlbnRpZmllciBvciBlbXB0eQoJCSAgICJc
XChcXChbYS16QS1aX11bYS16QS1aXzAtOV0qXFwpP1xcKSIKCQkgICA7OyBDaGVjayB0aGF0
IHdlIGRvIG5vdCBoYXZlIDw8PSBvciA8PCAzMCBvciA8PCAkYmxhaC4KCQkgICAiXFwoW149
IFx0JEAlJl1cXHxbIFx0XStbXiBcdFxuMC05JEAlJl1cXCkiCgkJICJcXCkiCgkgICAgICAg
IlxcfCIKCSAgICAgICA7OyAxKzYgZXh0cmEgKCkgYmVmb3JlIHRoaXM6CgkgICAgICAgIl5b
IFx0XSpmb3JtYXRbIFx0XSpcXChbYS16QS1aMC05X10rXFwpP1sgXHRdKj1bIFx0XSokIikp
KQogICAgKHVud2luZC1wcm90ZWN0CgkocHJvZ24KCSAgKHNhdmUtZXhjdXJzaW9uCgkgICAg
KG1lc3NhZ2UgIlNjYW5uaW5nIGZvciBwb2RzLCBmb3JtYXRzIGFuZCBoZXJlLWRvY3MuLi4i
KQoJICAgIChpZiBjcGVybC1wb2QtaGVyZS1mb250aWZ5CgkJOzsgV2UgaGFkIGV2YWxzIGhl
cmUsIGRvIG5vdCBrbm93IHdoeS4uLgoJCShzZXRxIGZhY2UgY3BlcmwtcG9kLWZhY2UKCQkg
ICAgICBoZWFkLWZhY2UgY3BlcmwtcG9kLWhlYWQtZmFjZQoJCSAgICAgIGhlcmUtZmFjZSBj
cGVybC1oZXJlLWZhY2UpKQoJICAgIChyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIG1pbiBtYXgg
JyhzeW50YXgtdHlwZSB0KSkKCSAgICA7OyBOZWVkIHRvIHJlbW92ZSBmYWNlIGFzIHdlbGwu
Li4KCSAgICAoZ290by1jaGFyIG1pbikKCSAgICAod2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJk
IHNlYXJjaCBtYXggdCkKCSAgICAgIChjb25kIAoJICAgICAgICgobWF0Y2gtYmVnaW5uaW5n
IDEpCTsgUE9EIHNlY3Rpb24KCQk7OyAgIlxcKFxcYFxuP1xcfFxuXG5cXCk9IiAKCQkoaWYg
KGxvb2tpbmctYXQgIlxuKmN1dFxcPiIpCgkJICAgIChwcm9nbgoJCSAgICAgIChtZXNzYWdl
ICI9Y3V0IGlzIG5vdCBwcmVjZWVkZWQgYnkgYSBwb2Qgc2VjdGlvbiIpCgkJICAgICAgKHNl
dHEgZXJyIChwb2ludCkpKQoJCSAgKGJlZ2lubmluZy1vZi1saW5lKQoJCQoJCSAgKHNldHEg
YiAocG9pbnQpIGJiIGIpCgkJICAob3IgKHJlLXNlYXJjaC1mb3J3YXJkICJcblxuPWN1dFxc
PiIgbWF4ICd0b2VuZCkKCQkgICAgICAobWVzc2FnZSAiQ2Fubm90IGZpbmQgdGhlIGVuZCBv
ZiBhIHBvZCBzZWN0aW9uIikpCgkJICAoYmVnaW5uaW5nLW9mLWxpbmUgMykKCQkgIChzZXRx
IGUgKHBvaW50KSkKCQkgIChwdXQtdGV4dC1wcm9wZXJ0eSBiIGUgJ2luLXBvZCB0KQoJCSAg
KGdvdG8tY2hhciBiKQoJCSAgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCAiXG5cblsgXHRd
IiBlIHQpCgkJICAgIChiZWdpbm5pbmctb2YtbGluZSkKCQkgICAgKHB1dC10ZXh0LXByb3Bl
cnR5IGIgKHBvaW50KSAnc3ludGF4LXR5cGUgJ3BvZCkKCQkgICAgKGNwZXJsLXB1dC1kby1u
b3QtZm9udGlmeSBiIChwb2ludCkpCgkJICAgIDs7KHB1dC10ZXh0LXByb3BlcnR5IChtYXgg
KHBvaW50LW1pbikgKDEtIGIpKQoJCSAgICA7OwkJICAgICAocG9pbnQpIGNwZXJsLWRvLW5v
dC1mb250aWZ5IHQpCgkJICAgIChpZiBjcGVybC1wb2QtaGVyZS1mb250aWZ5IChwdXQtdGV4
dC1wcm9wZXJ0eSBiIChwb2ludCkgJ2ZhY2UgZmFjZSkpCgkJICAgIChyZS1zZWFyY2gtZm9y
d2FyZCAiXG5cblteIFx0XGZcbl0iIGUgJ3RvZW5kKQoJCSAgICAoYmVnaW5uaW5nLW9mLWxp
bmUpCgkJICAgIChzZXRxIGIgKHBvaW50KSkpCgkJICAocHV0LXRleHQtcHJvcGVydHkgKHBv
aW50KSBlICdzeW50YXgtdHlwZSAncG9kKQoJCSAgKGNwZXJsLXB1dC1kby1ub3QtZm9udGlm
eSAocG9pbnQpIGUpCgkJICA7OyhwdXQtdGV4dC1wcm9wZXJ0eSAobWF4IChwb2ludC1taW4p
ICgxLSAocG9pbnQpKSkKCQkgIDs7CQkgICBlIGNwZXJsLWRvLW5vdC1mb250aWZ5IHQpCgkJ
ICAoaWYgY3BlcmwtcG9kLWhlcmUtZm9udGlmeSAKCQkgICAgICAocHJvZ24gKHB1dC10ZXh0
LXByb3BlcnR5IChwb2ludCkgZSAnZmFjZSBmYWNlKQoJCQkgICAgIChnb3RvLWNoYXIgYmIp
CgkJCSAgICAgKGlmIChsb29raW5nLWF0IAoJCQkJICAiPVthLXpBLVowLTldK1xcPlsgXHRd
KlxcKFxcKFxuP1teXG5dXFwpK1xcKSQiKQoJCQkJIChwdXQtdGV4dC1wcm9wZXJ0eSAKCQkJ
CSAgKG1hdGNoLWJlZ2lubmluZyAxKSAobWF0Y2gtZW5kIDEpCgkJCQkgICdmYWNlIGhlYWQt
ZmFjZSkpCgkJCSAgICAgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZAoJCQkJICAgICA7OyBP
bmUgcGFyYWdyYXBoCgkJCQkgICAgICJcblxuPVthLXpBLVowLTldK1xcPlsgXHRdKlxcKFxc
KFxuP1teXG5dXFwpK1xcKSQiCgkJCQkgICAgIGUgJ3RvZW5kKQoJCQkgICAgICAgKHB1dC10
ZXh0LXByb3BlcnR5IAoJCQkJKG1hdGNoLWJlZ2lubmluZyAxKSAobWF0Y2gtZW5kIDEpCgkJ
CQknZmFjZSBoZWFkLWZhY2UpKSkpCgkJICAoZ290by1jaGFyIGUpKSkKCSAgICAgICA7OyBI
ZXJlIGRvY3VtZW50CgkgICAgICAgOzsgMSAoKSBhaGVhZAoJICAgICAgIDs7ICI8PFxcKFxc
KFtcIidgXVxcKVxcKFteXCInYFxuXSpcXClcXDNcXHxcXChcXChbYS16QS1aX11bYS16QS1a
XzAtOV0qXFwpP1xcKVxcKSIKCSAgICAgICAoKG1hdGNoLWJlZ2lubmluZyAyKQk7IDEgKyAx
CgkJOzsgQWJvcnQgaW4gY29tbWVudCAoX2V4dHJlbWVseV8gc2ltcGxpZmllZCk6CgkJKHNl
dHEgYiAocG9pbnQpKQoJCShpZiAoc2F2ZS1leGN1cnNpb24KCQkgICAgICAoYmVnaW5uaW5n
LW9mLWxpbmUpCgkJICAgICAgKHNlYXJjaC1mb3J3YXJkICIjIiBiIHQpKQoJCSAgICBuaWwK
CQkgIChpZiAobWF0Y2gtYmVnaW5uaW5nIDUpIDs0ICsgMQoJCSAgICAgIChzZXRxIGIxICht
YXRjaC1iZWdpbm5pbmcgNSkgOyA0ICsgMQoJCQkgICAgZTEgKG1hdGNoLWVuZCA1KSkgOyA0
ICsgMQoJCSAgICAoc2V0cSBiMSAobWF0Y2gtYmVnaW5uaW5nIDQpIDsgMyArIDEKCQkJICBl
MSAobWF0Y2gtZW5kIDQpKSkgOyAzICsgMQoJCSAgKHNldHEgdGFnIChidWZmZXItc3Vic3Ry
aW5nIGIxIGUxKQoJCQlxdGFnIChyZWdleHAtcXVvdGUgdGFnKSkKCQkgIChjb25kIChjcGVy
bC1wb2QtaGVyZS1mb250aWZ5IAoJCQkgKHB1dC10ZXh0LXByb3BlcnR5IGIxIGUxICdmYWNl
IGZvbnQtbG9jay1yZWZlcmVuY2UtZmFjZSkKCQkJIChjcGVybC1wdXQtZG8tbm90LWZvbnRp
ZnkgYjEgZTEpKSkKCQkgIChmb3J3YXJkLWxpbmUpCgkJICAoc2V0cSBiIChwb2ludCkpCgkJ
ICAoY29uZCAoKHJlLXNlYXJjaC1mb3J3YXJkIChjb25jYXQgIl4iIHF0YWcgIiQiKSBtYXgg
J3RvZW5kKQoJCQkgKGlmIGNwZXJsLXBvZC1oZXJlLWZvbnRpZnkgCgkJCSAgICAgKHByb2du
CgkJCSAgICAgICAocHV0LXRleHQtcHJvcGVydHkgKG1hdGNoLWJlZ2lubmluZyAwKSAobWF0
Y2gtZW5kIDApIAoJCQkJCQkgICdmYWNlIGZvbnQtbG9jay1yZWZlcmVuY2UtZmFjZSkKCQkJ
ICAgICAgIChjcGVybC1wdXQtZG8tbm90LWZvbnRpZnkgYiAobWF0Y2gtZW5kIDApKQoJCQkg
ICAgICAgOzsocHV0LXRleHQtcHJvcGVydHkgKG1heCAocG9pbnQtbWluKSAoMS0gYikpCgkJ
CSAgICAgICA7OwkJICAgICAgKG1pbiAocG9pbnQtbWF4KQoJCQkgICAgICAgOzsJCQkgICAo
MSsgKG1hdGNoLWVuZCAwKSkpCgkJCSAgICAgICA7OwkJICAgICAgY3BlcmwtZG8tbm90LWZv
bnRpZnkgdCkKCQkJICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSBiIChtYXRjaC1iZWdpbm5p
bmcgMCkgCgkJCQkJCSAgJ2ZhY2UgaGVyZS1mYWNlKSkpCgkJCSAocHV0LXRleHQtcHJvcGVy
dHkgYiAobWF0Y2gtYmVnaW5uaW5nIDApIAoJCQkJCSAgICAnc3ludGF4LXR5cGUgJ2hlcmUt
ZG9jKQoJCQkgKGNwZXJsLXB1dC1kby1ub3QtZm9udGlmeSBiIChtYXRjaC1iZWdpbm5pbmcg
MCkpKQoJCQkodCAobWVzc2FnZSAiRW5kIG9mIGhlcmUtZG9jdW1lbnQgYCVzJyBub3QgZm91
bmQuIiB0YWcpKSkpKQoJICAgICAgIDs7IGZvcm1hdAoJICAgICAgICh0CgkJOzsgMSs2PTcg
ZXh0cmEgKCkgYmVmb3JlIHRoaXM6CgkJOzsgIl5bIFx0XSpmb3JtYXRbIFx0XSpcXChbYS16
QS1aMC05X10rXFwpP1sgXHRdKj1bIFx0XSokIikpKQoJCShzZXRxIGIgKHBvaW50KQoJCSAg
ICAgIG5hbWUgKGlmIChtYXRjaC1iZWdpbm5pbmcgOCkgOyA3ICsgMQoJCQkgICAgICAgKGJ1
ZmZlci1zdWJzdHJpbmcgKG1hdGNoLWJlZ2lubmluZyA4KSA7IDcgKyAxCgkJCQkJCSAobWF0
Y2gtZW5kIDgpKSA7IDcgKyAxCgkJCSAgICAgIiIpKQoJCShzZXRxIGFyZ3VtZW50IG5pbCkK
CQkoaWYgY3BlcmwtcG9kLWhlcmUtZm9udGlmeSAKCQkgICAgKHdoaWxlIChhbmQgKGVxIChm
b3J3YXJkLWxpbmUpIDApCgkJCQkobm90IChsb29raW5nLWF0ICJeWy47XSQiKSkpCgkJICAg
ICAgKGNvbmQKCQkgICAgICAgKChsb29raW5nLWF0ICJeIyIpKSA7IFNraXAgY29tbWVudHMK
CQkgICAgICAgKChhbmQgYXJndW1lbnQJOyBTa2lwIGFyZ3VtZW50IG11bHRpLWxpbmVzCgkJ
CSAgICAgKGxvb2tpbmctYXQgIl5bIFx0XSp7IikpIAoJCQkoZm9yd2FyZC1zZXhwIDEpCgkJ
CShzZXRxIGFyZ3VtZW50IG5pbCkpCgkJICAgICAgIChhcmd1bWVudAk7IFNraXAgYXJndW1l
bnQgbGluZXMKCQkJKHNldHEgYXJndW1lbnQgbmlsKSkKCQkgICAgICAgKHQJCTsgRm9ybWF0
IGxpbmUKCQkJKHNldHEgYjEgKHBvaW50KSkKCQkJKHNldHEgYXJndW1lbnQgKGxvb2tpbmct
YXQgIl5bXlxuXSpbQF5dIikpCgkJCShlbmQtb2YtbGluZSkKCQkJKHB1dC10ZXh0LXByb3Bl
cnR5IGIxIChwb2ludCkgCgkJCQkJICAgJ2ZhY2UgZm9udC1sb2NrLXN0cmluZy1mYWNlKQoJ
CQkoY3BlcmwtcHV0LWRvLW5vdC1mb250aWZ5IGIxIChwb2ludCkpKSkpCgkJICAocmUtc2Vh
cmNoLWZvcndhcmQgKGNvbmNhdCAiXlsuO10kIikgbWF4ICd0b2VuZCkpCgkJKGJlZ2lubmlu
Zy1vZi1saW5lKQoJCShpZiAobG9va2luZy1hdCAiXlsuO10kIikKCQkgICAgKHByb2duCgkJ
ICAgICAgKHB1dC10ZXh0LXByb3BlcnR5IChwb2ludCkgKCsgKHBvaW50KSAyKQoJCQkJCSAn
ZmFjZSBmb250LWxvY2stc3RyaW5nLWZhY2UpCgkJICAgICAgKGNwZXJsLXB1dC1kby1ub3Qt
Zm9udGlmeSAocG9pbnQpICgrIChwb2ludCkgMikpKQoJCSAgKG1lc3NhZ2UgIkVuZCBvZiBm
b3JtYXQgYCVzJyBub3QgZm91bmQuIiBuYW1lKSkKCQkoZm9yd2FyZC1saW5lKQoJCShwdXQt
dGV4dC1wcm9wZXJ0eSBiIChwb2ludCkgJ3N5bnRheC10eXBlICdmb3JtYXQpCjs7OwkgICAg
ICAgKGNvbmQgKChyZS1zZWFyY2gtZm9yd2FyZCAoY29uY2F0ICJeWy47XSQiKSBtYXggJ3Rv
ZW5kKQo7OzsJCSAgICAgIChpZiBjcGVybC1wb2QtaGVyZS1mb250aWZ5IAo7OzsJCQkgIChw
cm9nbgo7OzsJCQkgICAgKHB1dC10ZXh0LXByb3BlcnR5IGIgKG1hdGNoLWVuZCAwKQo7OzsJ
CQkJCSAgICAgICAnZmFjZSBmb250LWxvY2stc3RyaW5nLWZhY2UpCjs7OwkJCSAgICAoY3Bl
cmwtcHV0LWRvLW5vdC1mb250aWZ5IGIgKG1hdGNoLWVuZCAwKSkpKQo7OzsJCSAgICAgIChw
dXQtdGV4dC1wcm9wZXJ0eSBiIChtYXRjaC1lbmQgMCkgCjs7OwkJCQkJICdzeW50YXgtdHlw
ZSAnZm9ybWF0KQo7OzsJCSAgICAgIChjcGVybC1wdXQtZG8tbm90LWZvbnRpZnkgYiAobWF0
Y2gtYmVnaW5uaW5nIDApKSkKOzs7CQkgICAgICh0IChtZXNzYWdlICJFbmQgb2YgZm9ybWF0
IGAlcycgbm90IGZvdW5kLiIgbmFtZSkpKQoJCSkpKQo7OzsJICAgICh3aGlsZSAocmUtc2Vh
cmNoLWZvcndhcmQgIlxcKFxcYFxuP1xcfFxuXG5cXCk9IiBtYXggdCkKOzs7CSAgICAgIChp
ZiAobG9va2luZy1hdCAiXG4qY3V0XFw+IikKOzs7CQkgIChwcm9nbgo7OzsJCSAgICAobWVz
c2FnZSAiPWN1dCBpcyBub3QgcHJlY2VlZGVkIGJ5IGEgcG9kIHNlY3Rpb24iKQo7OzsJCSAg
ICAoc2V0cSBlcnIgKHBvaW50KSkpCjs7OwkJKGJlZ2lubmluZy1vZi1saW5lKQoJCQo7OzsJ
CShzZXRxIGIgKHBvaW50KSBiYiBiKQo7OzsJCShvciAocmUtc2VhcmNoLWZvcndhcmQgIlxu
XG49Y3V0XFw+IiBtYXggJ3RvZW5kKQo7OzsJCSAgICAobWVzc2FnZSAiQ2Fubm90IGZpbmQg
dGhlIGVuZCBvZiBhIHBvZCBzZWN0aW9uIikpCjs7OwkJKGJlZ2lubmluZy1vZi1saW5lIDMp
Cjs7OwkJKHNldHEgZSAocG9pbnQpKQo7OzsJCShwdXQtdGV4dC1wcm9wZXJ0eSBiIGUgJ2lu
LXBvZCB0KQo7OzsJCShnb3RvLWNoYXIgYikKOzs7CQkod2hpbGUgKHJlLXNlYXJjaC1mb3J3
YXJkICJcblxuWyBcdF0iIGUgdCkKOzs7CQkgIChiZWdpbm5pbmctb2YtbGluZSkKOzs7CQkg
IChwdXQtdGV4dC1wcm9wZXJ0eSBiIChwb2ludCkgJ3N5bnRheC10eXBlICdwb2QpCjs7OwkJ
ICAoY3BlcmwtcHV0LWRvLW5vdC1mb250aWZ5IGIgKHBvaW50KSkKOzs7CQkgIDs7KHB1dC10
ZXh0LXByb3BlcnR5IChtYXggKHBvaW50LW1pbikgKDEtIGIpKQo7OzsJCSAgOzsJCSAgICAg
KHBvaW50KSBjcGVybC1kby1ub3QtZm9udGlmeSB0KQo7OzsJCSAgKGlmIGNwZXJsLXBvZC1o
ZXJlLWZvbnRpZnkgKHB1dC10ZXh0LXByb3BlcnR5IGIgKHBvaW50KSAnZmFjZSBmYWNlKSkK
Ozs7CQkgIChyZS1zZWFyY2gtZm9yd2FyZCAiXG5cblteIFx0XGZcbl0iIGUgJ3RvZW5kKQo7
OzsJCSAgKGJlZ2lubmluZy1vZi1saW5lKQo7OzsJCSAgKHNldHEgYiAocG9pbnQpKSkKOzs7
CQkocHV0LXRleHQtcHJvcGVydHkgKHBvaW50KSBlICdzeW50YXgtdHlwZSAncG9kKQo7OzsJ
CShjcGVybC1wdXQtZG8tbm90LWZvbnRpZnkgKHBvaW50KSBlKQo7OzsJCTs7KHB1dC10ZXh0
LXByb3BlcnR5IChtYXggKHBvaW50LW1pbikgKDEtIChwb2ludCkpKQo7OzsJCTs7CQkgICBl
IGNwZXJsLWRvLW5vdC1mb250aWZ5IHQpCjs7OwkJKGlmIGNwZXJsLXBvZC1oZXJlLWZvbnRp
ZnkgCjs7OwkJICAgIChwcm9nbiAocHV0LXRleHQtcHJvcGVydHkgKHBvaW50KSBlICdmYWNl
IGZhY2UpCjs7OwkJCSAgIChnb3RvLWNoYXIgYmIpCjs7OwkJCSAgIChpZiAobG9va2luZy1h
dCAKOzs7CQkJICAgICI9W2EtekEtWjAtOV0rXFw+WyBcdF0qXFwoXFwoXG4/W15cbl1cXCkr
XFwpJCIpCjs7OwkJCSAgICAgICAocHV0LXRleHQtcHJvcGVydHkgCjs7OwkJCQkobWF0Y2gt
YmVnaW5uaW5nIDEpIChtYXRjaC1lbmQgMSkKOzs7CQkJCSdmYWNlIGhlYWQtZmFjZSkpCjs7
OwkJCSAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQKOzs7CQkJCSAgIDs7IE9uZSBwYXJh
Z3JhcGgKOzs7CQkJCSAgICJcblxuPVthLXpBLVowLTldK1xcPlsgXHRdKlxcKFxcKFxuP1te
XG5dXFwpK1xcKSQiCjs7OwkJCQkgICBlICd0b2VuZCkKOzs7CQkJICAgICAocHV0LXRleHQt
cHJvcGVydHkgCjs7OwkJCSAgICAgIChtYXRjaC1iZWdpbm5pbmcgMSkgKG1hdGNoLWVuZCAx
KQo7OzsJCQkgICAgICAnZmFjZSBoZWFkLWZhY2UpKSkpCjs7OwkJKGdvdG8tY2hhciBlKSkp
Cjs7OwkgICAgKGdvdG8tY2hhciBtaW4pCjs7OwkgICAgKHdoaWxlIChyZS1zZWFyY2gtZm9y
d2FyZCAKOzs7CQkgICAgOzsgV2UgZXhjbHVkZSBcbiB0byBhdm9pZCBtaXNyZWNvZ25pdGlv
biBpbnNpZGUgcXVvdGVzLgo7OzsJCSAgICAiPDxcXChcXChbXCInYF1cXClcXChbXlwiJ2Bc
bl0qXFwpXFwyXFx8XFwoXFwoW2EtekEtWl9dW2EtekEtWl8wLTldKlxcKT9cXClcXCkiCjs7
OwkJICAgIG1heCB0KQo7OzsJICAgICAgKGlmIChtYXRjaC1iZWdpbm5pbmcgNCkKOzs7CQkg
IChzZXRxIGIxIChtYXRjaC1iZWdpbm5pbmcgNCkKOzs7CQkJZTEgKG1hdGNoLWVuZCA0KSkK
Ozs7CQkoc2V0cSBiMSAobWF0Y2gtYmVnaW5uaW5nIDMpCjs7OwkJICAgICAgZTEgKG1hdGNo
LWVuZCAzKSkpCjs7OwkgICAgICAoc2V0cSB0YWcgKGJ1ZmZlci1zdWJzdHJpbmcgYjEgZTEp
Cjs7OwkJICAgIHF0YWcgKHJlZ2V4cC1xdW90ZSB0YWcpKQo7OzsJICAgICAgKGNvbmQgKGNw
ZXJsLXBvZC1oZXJlLWZvbnRpZnkgCjs7OwkJICAgICAocHV0LXRleHQtcHJvcGVydHkgYjEg
ZTEgJ2ZhY2UgZm9udC1sb2NrLXJlZmVyZW5jZS1mYWNlKQo7OzsJCSAgICAgKGNwZXJsLXB1
dC1kby1ub3QtZm9udGlmeSBiMSBlMSkpKQo7OzsJICAgICAgKGZvcndhcmQtbGluZSkKOzs7
CSAgICAgIChzZXRxIGIgKHBvaW50KSkKOzs7CSAgICAgIChjb25kICgocmUtc2VhcmNoLWZv
cndhcmQgKGNvbmNhdCAiXiIgcXRhZyAiJCIpIG1heCAndG9lbmQpCjs7OwkJICAgICAoaWYg
Y3BlcmwtcG9kLWhlcmUtZm9udGlmeSAKOzs7CQkJIChwcm9nbgo7OzsJCQkgICAocHV0LXRl
eHQtcHJvcGVydHkgKG1hdGNoLWJlZ2lubmluZyAwKSAobWF0Y2gtZW5kIDApIAo7OzsJCQkJ
CSAgICAgICdmYWNlIGZvbnQtbG9jay1yZWZlcmVuY2UtZmFjZSkKOzs7CQkJICAgKGNwZXJs
LXB1dC1kby1ub3QtZm9udGlmeSBiIChtYXRjaC1lbmQgMCkpCjs7OwkJCSAgIDs7KHB1dC10
ZXh0LXByb3BlcnR5IChtYXggKHBvaW50LW1pbikgKDEtIGIpKQo7OzsJCQkgICA7OwkJICAg
ICAgKG1pbiAocG9pbnQtbWF4KQo7OzsJCQkgICA7OwkJCSAgICgxKyAobWF0Y2gtZW5kIDAp
KSkKOzs7CQkJICAgOzsJCSAgICAgIGNwZXJsLWRvLW5vdC1mb250aWZ5IHQpCjs7OwkJCSAg
IChwdXQtdGV4dC1wcm9wZXJ0eSBiIChtYXRjaC1iZWdpbm5pbmcgMCkgCjs7OwkJCQkJICAg
ICAgJ2ZhY2UgaGVyZS1mYWNlKSkpCjs7OwkJICAgICAocHV0LXRleHQtcHJvcGVydHkgYiAo
bWF0Y2gtYmVnaW5uaW5nIDApIAo7OzsJCQkJCSdzeW50YXgtdHlwZSAnaGVyZS1kb2MpCjs7
OwkJICAgICAoY3BlcmwtcHV0LWRvLW5vdC1mb250aWZ5IGIgKG1hdGNoLWJlZ2lubmluZyAw
KSkpCjs7OwkJICAgICh0IChtZXNzYWdlICJFbmQgb2YgaGVyZS1kb2N1bWVudCBgJXMnIG5v
dCBmb3VuZC4iIHRhZykpKSkKOzs7CSAgICAoZ290by1jaGFyIG1pbikKOzs7CSAgICAod2hp
bGUgKHJlLXNlYXJjaC1mb3J3YXJkIAo7OzsJCSAgICAiXlsgXHRdKmZvcm1hdFsgXHRdKlxc
KFxcKFthLXpBLVowLTlfXStbIFx0XSpcXCk/XFwpPVsgXHRdKiQiCjs7OwkJICAgIG1heCB0
KQo7OzsJICAgICAgKHNldHEgYiAocG9pbnQpCjs7OwkJICAgIG5hbWUgKGJ1ZmZlci1zdWJz
dHJpbmcgKG1hdGNoLWJlZ2lubmluZyAxKQo7OzsJCQkJCSAgIChtYXRjaC1lbmQgMSkpKQo7
OzsJICAgICAgKGNvbmQgKChyZS1zZWFyY2gtZm9yd2FyZCAoY29uY2F0ICJeWy47XSQiKSBt
YXggJ3RvZW5kKQo7OzsJCSAgICAgKGlmIGNwZXJsLXBvZC1oZXJlLWZvbnRpZnkgCjs7OwkJ
CSAocHJvZ24KOzs7CQkJICAgKHB1dC10ZXh0LXByb3BlcnR5IGIgKG1hdGNoLWVuZCAwKQo7
OzsJCQkJCSAgICAgICdmYWNlIGZvbnQtbG9jay1zdHJpbmctZmFjZSkKOzs7CQkJICAgKGNw
ZXJsLXB1dC1kby1ub3QtZm9udGlmeSBiIChtYXRjaC1lbmQgMCkpKSkKOzs7CQkgICAgIChw
dXQtdGV4dC1wcm9wZXJ0eSBiIChtYXRjaC1lbmQgMCkgCjs7OwkJCQkJJ3N5bnRheC10eXBl
ICdmb3JtYXQpCjs7OwkJICAgICAoY3BlcmwtcHV0LWRvLW5vdC1mb250aWZ5IGIgKG1hdGNo
LWJlZ2lubmluZyAwKSkpCjs7OwkJICAgICh0IChtZXNzYWdlICJFbmQgb2YgZm9ybWF0IGAl
cycgbm90IGZvdW5kLiIgbmFtZSkpKSkKKQoJICAoaWYgZXJyIChnb3RvLWNoYXIgZXJyKQoJ
ICAgIChtZXNzYWdlICJTY2FuIGZvciBwb2RzLCBmb3JtYXRzIGFuZCBoZXJlLWRvY3MgY29t
cGxldGVkLiIpKSkKICAgICAgKGFuZCAoYnVmZmVyLW1vZGlmaWVkLXApCgkgICAobm90IG1v
ZGlmaWVkKQoJICAgKHNldC1idWZmZXItbW9kaWZpZWQtcCBuaWwpKSkpKQoKKGRlZnVuIGNw
ZXJsLWJhY2t3YXJkLXRvLW5vbmNvbW1lbnQgKGxpbSkKICA7OyBTdG9wcyBhdCBsaW0gb3Ig
YWZ0ZXIgbm9uLXdoaXRlc3BhY2UgdGhhdCBpcyBub3QgaW4gY29tbWVudAogIChsZXQgKHN0
b3AgcCkKICAgICh3aGlsZSAoYW5kIChub3Qgc3RvcCkgKD4gKHBvaW50KSAob3IgbGltIDEp
KSkKICAgICAgKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdFxuXGYiIGxpbSkKICAgICAgKHNl
dHEgcCAocG9pbnQpKQogICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpCiAgICAgIChpZiAobG9v
a2luZy1hdCAiXlsgXHRdKlxcKCNcXHwkXFwpIikgbmlsCTsgT25seSBjb21tZW50LCBza2lw
Cgk7OyBFbHNlCgkoY3BlcmwtdG8tY29tbWVudC1vci1lb2wpIAoJKHNraXAtY2hhcnMtYmFj
a3dhcmQgIiBcdCIpCgkoaWYgKDwgcCAocG9pbnQpKSAoZ290by1jaGFyIHApKQoJKHNldHEg
c3RvcCB0KSkpKSkKCihkZWZ1biBjcGVybC1hZnRlci1leHByLXAgKCZvcHRpb25hbCBsaW0g
Y2hhcnMgdGVzdCkKICAiUmV0dXJucyB0cnVlIGlmIHRoZSBwb3NpdGlvbiBpcyBnb29kIGZv
ciBzdGFydCBvZiBleHByZXNzaW9uLgpURVNUIGlzIHRoZSBleHByZXNzaW9uIHRvIGV2YWx1
YXRlIGF0IHRoZSBmb3VuZCBwb3NpdGlvbi4gSWYgYWJzZW50LApDSEFSUyBpcyBhIHN0cmlu
ZyB0aGF0IGNvbnRhaW5zIGdvb2QgY2hhcmFjdGVycyB0byBoYXZlIGJlZm9yZSB1cy4iCiAg
KGxldCAoc3RvcCBwKQogICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgICh3aGlsZSAoYW5kIChu
b3Qgc3RvcCkgKD4gKHBvaW50KSAob3IgbGltIDEpKSkKCShza2lwLWNoYXJzLWJhY2t3YXJk
ICIgXHRcblxmIiBsaW0pCgkoc2V0cSBwIChwb2ludCkpCgkoYmVnaW5uaW5nLW9mLWxpbmUp
CgkoaWYgKGxvb2tpbmctYXQgIl5bIFx0XSpcXCgjXFx8JFxcKSIpIG5pbCA7IE9ubHkgY29t
bWVudCwgc2tpcAoJICA7OyBFbHNlOiBsYXN0IGl0ZXJhdGlvbiAoV2hhdCB0byBkbyB3aXRo
IGxhYmVscz8pCgkgIChjcGVybC10by1jb21tZW50LW9yLWVvbCkgCgkgIChza2lwLWNoYXJz
LWJhY2t3YXJkICIgXHQiKQoJICAoaWYgKDwgcCAocG9pbnQpKSAoZ290by1jaGFyIHApKQoJ
ICAoc2V0cSBzdG9wIHQpKSkKICAgICAgKG9yIChib2JwKQoJICAocHJvZ24KCSAgICAoYmFj
a3dhcmQtY2hhciAxKQoJICAgIChpZiB0ZXN0IChldmFsIHRlc3QpCgkgICAgICAobWVtcSAo
Zm9sbG93aW5nLWNoYXIpIChhcHBlbmQgKG9yIGNoYXJzICJ7fTsiKSBuaWwpKSkpKSkpKQoK
KGRlZnVuIGNwZXJsLWJhY2t3YXJkLXRvLXN0YXJ0LW9mLWNvbnRpbnVlZC1leHAgKGxpbSkK
ICAoaWYgKG1lbXEgKHByZWNlZGluZy1jaGFyKSAoYXBwZW5kICIpXX1cIidgIiBuaWwpKQog
ICAgICAoZm9yd2FyZC1zZXhwIC0xKSkKICAoYmVnaW5uaW5nLW9mLWxpbmUpCiAgKGlmICg8
PSAocG9pbnQpIGxpbSkKICAgICAgKGdvdG8tY2hhciAoMSsgbGltKSkpCiAgKHNraXAtY2hh
cnMtZm9yd2FyZCAiIFx0IikpCgoMCihkZWZ2YXIgaW5uZXJsb29wLWRvbmUgbmlsKQooZGVm
dmFyIGxhc3QtZGVwdGggbmlsKQoKKGRlZnVuIGNwZXJsLWluZGVudC1leHAgKCkKICAiU2lt
cGxlIHZhcmlhbnQgb2YgaW5kZW50YXRpb24gb2YgY29udGludWVkLXNleHAuClNob3VsZCBi
ZSBzbG93LiBXaWxsIG5vdCBpbmRlbnQgY29tbWVudCBpZiBpdCBzdGFydHMgYXQgYGNvbW1l
bnQtaW5kZW50JwpvciBsb29rcyBsaWtlIGNvbnRpbnVhdGlvbiBvZiB0aGUgY29tbWVudCBv
biB0aGUgcHJldmlvdXMgbGluZS4iCiAgKGludGVyYWN0aXZlKQogIChzYXZlLWV4Y3Vyc2lv
bgogICAgKGxldCAoKHRtcC1lbmQgKHByb2duIChlbmQtb2YtbGluZSkgKHBvaW50KSkpIHRv
cCBkb25lKQogICAgICAoc2F2ZS1leGN1cnNpb24KCSh3aGlsZSAobnVsbCBkb25lKQoJICAo
YmVnaW5uaW5nLW9mLWxpbmUpCgkgIChzZXRxIHRvcCAocG9pbnQpKQoJICAod2hpbGUgKD0g
KG50aCAwIChwYXJzZS1wYXJ0aWFsLXNleHAgKHBvaW50KSB0bXAtZW5kCgkJCQkJICAgICAg
IC0xKSkgLTEpCgkgICAgKHNldHEgdG9wIChwb2ludCkpKQkJOyBHZXQgdGhlIG91dGVybW9z
dCBwYXJlbnRocyBpbiBsaW5lCgkgIChnb3RvLWNoYXIgdG9wKQoJICAod2hpbGUgKDwgKHBv
aW50KSB0bXAtZW5kKQoJICAgIChwYXJzZS1wYXJ0aWFsLXNleHAgKHBvaW50KSB0bXAtZW5k
IG5pbCB0KSA7IFRvIHN0YXJ0LXNleHAgb3IgZW9sCgkgICAgKG9yIChlb2xwKSAoZm9yd2Fy
ZC1zZXhwIDEpKSkKCSAgKGlmICg+IChwb2ludCkgdG1wLWVuZCkgKHByb2duIChlbmQtb2Yt
bGluZSkgKHNldHEgdG1wLWVuZCAocG9pbnQpKSkKCSAgICAoc2V0cSBkb25lIHQpKSkKCShn
b3RvLWNoYXIgdG1wLWVuZCkKCShzZXRxIHRtcC1lbmQgKHBvaW50LW1hcmtlcikpKQogICAg
ICAoY3BlcmwtaW5kZW50LXJlZ2lvbiAocG9pbnQpIHRtcC1lbmQpKSkpCgooZGVmdW4gY3Bl
cmwtaW5kZW50LXJlZ2lvbiAoc3RhcnQgZW5kKQogICJTaW1wbGUgdmFyaWFudCBvZiBpbmRl
bnRhdGlvbiBvZiByZWdpb24gaW4gQ1BlcmwgbW9kZS4KU2hvdWxkIGJlIHNsb3cuIFdpbGwg
bm90IGluZGVudCBjb21tZW50IGlmIGl0IHN0YXJ0cyBhdCBgY29tbWVudC1pbmRlbnQnIApv
ciBsb29rcyBsaWtlIGNvbnRpbnVhdGlvbiBvZiB0aGUgY29tbWVudCBvbiB0aGUgcHJldmlv
dXMgbGluZS4KSW5kZW50cyBhbGwgdGhlIGxpbmVzIHdob3NlIGZpcnN0IGNoYXJhY3RlciBp
cyBiZXR3ZWVuIFNUQVJUIGFuZCBFTkQgCmluY2x1c2l2ZS4iCiAgKGludGVyYWN0aXZlICJy
IikKICAoc2F2ZS1leGN1cnNpb24KICAgIChsZXQgKHN0IGNvbW0gaW5kZW50LWluZm8gb2xk
LWNvbW0taW5kZW50IG5ldy1jb21tLWluZGVudCAKCSAgICAgKHBtIDApIChpbWVudS1zY2Fu
bmluZy1tZXNzYWdlICJJbmRlbnRpbmcuLi4gKCUzZCUlKSIpKQogICAgICAoZ290by1jaGFy
IHN0YXJ0KQogICAgICAoc2V0cSBvbGQtY29tbS1pbmRlbnQgKGFuZCAoY3BlcmwtdG8tY29t
bWVudC1vci1lb2wpCgkJCQkgKGN1cnJlbnQtY29sdW1uKSkKCSAgICBuZXctY29tbS1pbmRl
bnQgb2xkLWNvbW0taW5kZW50KQogICAgICAoZ290by1jaGFyIHN0YXJ0KQogICAgICAob3Ig
KGJvbHApIChiZWdpbm5pbmctb2YtbGluZSAyKSkKICAgICAgKG9yIChmYm91bmRwICdpbWVu
dS1wcm9ncmVzcy1tZXNzYWdlKQoJICAobWVzc2FnZSAiSW5kZW50aW5nLi4uIEZvciBmZWVk
YmFjayBsb2FkIGBpbWVudScuLi4iKSkKICAgICAgKHdoaWxlIChhbmQgKDw9IChwb2ludCkg
ZW5kKSAobm90IChlb2JwKSkpIDsgYm9sIHRvIGNoZWNrIHN0YXJ0CgkoYW5kIChmYm91bmRw
ICdpbWVudS1wcm9ncmVzcy1tZXNzYWdlKQoJICAgICAoaW1lbnUtcHJvZ3Jlc3MtbWVzc2Fn
ZSAKCSAgICAgIHBtICgvICgqIDEwMCAoLSAocG9pbnQpIHN0YXJ0KSkgKC0gZW5kIHN0YXJ0
IC0xKSkpKQoJKHNldHEgc3QgKHBvaW50KSAKCSAgICAgIGluZGVudC1pbmZvIG5pbAoJICAg
ICAgKSA7IEJlbGlldmUgaW5kZW50YXRpb24gb2YgdGhlIGN1cnJlbnQKCShpZiAoYW5kIChz
ZXRxIGNvbW0gKGxvb2tpbmctYXQgIlsgXHRdKiMiKSkKCQkgKG9yIChlcSAoY3VycmVudC1p
bmRlbnRhdGlvbikgKG9yIG9sZC1jb21tLWluZGVudCAKCQkJCQkJICAgY29tbWVudC1jb2x1
bW4pKQoJCSAgICAgKHNldHEgb2xkLWNvbW0taW5kZW50IG5pbCkpKQoJICAgIChpZiAoYW5k
IG9sZC1jb21tLWluZGVudAoJCSAgICAgKD0gKGN1cnJlbnQtaW5kZW50YXRpb24pIG9sZC1j
b21tLWluZGVudCkpCgkJKGxldCAoKGNvbW1lbnQtY29sdW1uIG5ldy1jb21tLWluZGVudCkp
CgkJICAoaW5kZW50LWZvci1jb21tZW50KSkpCgkgIChwcm9nbiAKCSAgICAoY3BlcmwtaW5k
ZW50LWxpbmUgJ2luZGVudC1pbmZvKQoJICAgIChvciBjb21tCgkJKHByb2duCgkJICAoaWYg
KHNldHEgb2xkLWNvbW0taW5kZW50IChhbmQgKGNwZXJsLXRvLWNvbW1lbnQtb3ItZW9sKQoJ
CQkJCQkgKGN1cnJlbnQtY29sdW1uKSkpCgkJICAgICAgKHByb2duIChpbmRlbnQtZm9yLWNv
bW1lbnQpCgkJCSAgICAgKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdCIpCgkJCSAgICAgKHNr
aXAtY2hhcnMtYmFja3dhcmQgIiMiKQoJCQkgICAgIChzZXRxIG5ldy1jb21tLWluZGVudCAo
Y3VycmVudC1jb2x1bW4pKSkpKSkpKQoJKGJlZ2lubmluZy1vZi1saW5lIDIpKQogICAgICAJ
KGlmIChmYm91bmRwICdpbWVudS1wcm9ncmVzcy1tZXNzYWdlKQoJICAgICAoaW1lbnUtcHJv
Z3Jlc3MtbWVzc2FnZSBwbSAxMDApCgkgIChtZXNzYWdlIG5pbCkpKSkpCgooZGVmdW4gY3Bl
cmwtc2xhc2gtaXMtcmVnZXhwICgmb3B0aW9uYWwgcG9zKQogIChzYXZlLWV4Y3Vyc2lvbgog
ICAgKGdvdG8tY2hhciAoaWYgcG9zIHBvcyAoMS0gKHBvaW50KSkpKQogICAgKGFuZAogICAg
IChub3QgKG1lbXEgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ2ZhY2UpCgkJJyhmb250
LWxvY2stc3RyaW5nLWZhY2UgZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkpKQogICAgIChjcGVy
bC1hZnRlci1leHByLXAgbmlsIG5pbCAnCgkJICAgICAgIChvciAobG9va2luZy1hdCAiW15d
YS16QS1aMC05Xyl9XSIpCgkJCSAgIChlcSAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAn
ZmFjZSkKCQkJICAgICAgICdmb250LWxvY2sta2V5d29yZC1mYWNlKSkpKSkpCgo7OyBTdG9s
ZW4gZnJvbSBsaXNwLW1vZGUgd2l0aCBhIGxvdCBvZiBpbXByb3ZlbWVudHMKCihkZWZ1biBj
cGVybC1maWxsLXBhcmFncmFwaCAoJm9wdGlvbmFsIGp1c3RpZnkgaXRlcmF0aW9uKQogICJM
aWtlIFxcW2ZpbGwtcGFyYWdyYXBoXSwgYnV0IGhhbmRsZSBDUGVybCBjb21tZW50cy4KSWYg
YW55IG9mIHRoZSBjdXJyZW50IGxpbmUgaXMgYSBjb21tZW50LCBmaWxsIHRoZSBjb21tZW50
IG9yIHRoZQpibG9jayBvZiBpdCB0aGF0IHBvaW50IGlzIGluLCBwcmVzZXJ2aW5nIHRoZSBj
b21tZW50J3MgaW5pdGlhbAppbmRlbnRhdGlvbiBhbmQgaW5pdGlhbCBoYXNoZXMuIEJlaGF2
ZXMgdXN1YWxseSBvdXRzaWRlIG9mIGNvbW1lbnQuIgogIChpbnRlcmFjdGl2ZSAiUCIpCiAg
KGxldCAoCgk7OyBOb24tbmlsIGlmIHRoZSBjdXJyZW50IGxpbmUgY29udGFpbnMgYSBjb21t
ZW50LgoJaGFzLWNvbW1lbnQKCgk7OyBJZiBoYXMtY29tbWVudCwgdGhlIGFwcHJvcHJpYXRl
IGZpbGwtcHJlZml4IGZvciB0aGUgY29tbWVudC4KCWNvbW1lbnQtZmlsbC1wcmVmaXgKCTs7
IExpbmUgdGhhdCBjb250YWlucyBjb2RlIGFuZCBjb21tZW50IChvciBuaWwpCglzdGFydAoJ
YyBzcGFjZXMgbGVuIGRjIChjb21tZW50LWNvbHVtbiBjb21tZW50LWNvbHVtbikpCiAgICA7
OyBGaWd1cmUgb3V0IHdoYXQga2luZCBvZiBjb21tZW50IHdlIGFyZSBsb29raW5nIGF0Lgog
ICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgIChiZWdpbm5pbmctb2YtbGluZSkKICAgICAgKGNv
bmQKCiAgICAgICA7OyBBIGxpbmUgd2l0aCBub3RoaW5nIGJ1dCBhIGNvbW1lbnQgb24gaXQ/
CiAgICAgICAoKGxvb2tpbmctYXQgIlsgXHRdKiNbIyBcdF0qIikKCShzZXRxIGhhcy1jb21t
ZW50IHQKCSAgICAgIGNvbW1lbnQtZmlsbC1wcmVmaXggKGJ1ZmZlci1zdWJzdHJpbmcgKG1h
dGNoLWJlZ2lubmluZyAwKQoJCQkJCQkgICAgKG1hdGNoLWVuZCAwKSkpKQoKICAgICAgIDs7
IEEgbGluZSB3aXRoIHNvbWUgY29kZSwgZm9sbG93ZWQgYnkgYSBjb21tZW50PyAgUmVtZW1i
ZXIgdGhhdCB0aGUKICAgICAgIDs7IHNlbWkgd2hpY2ggc3RhcnRzIHRoZSBjb21tZW50IHNo
b3VsZG4ndCBiZSBwYXJ0IG9mIGEgc3RyaW5nIG9yCiAgICAgICA7OyBjaGFyYWN0ZXIuCiAg
ICAgICAoKGNwZXJsLXRvLWNvbW1lbnQtb3ItZW9sKQoJKHNldHEgaGFzLWNvbW1lbnQgdCkK
CShsb29raW5nLWF0ICIjK1sgXHRdKiIpCgkoc2V0cSBzdGFydCAocG9pbnQpIGMgKGN1cnJl
bnQtY29sdW1uKSAKCSAgICAgIGNvbW1lbnQtZmlsbC1wcmVmaXgKCSAgICAgIChjb25jYXQg
KG1ha2Utc3RyaW5nIChjdXJyZW50LWNvbHVtbikgP1wgKQoJCSAgICAgIChidWZmZXItc3Vi
c3RyaW5nIChtYXRjaC1iZWdpbm5pbmcgMCkgKG1hdGNoLWVuZCAwKSkpCgkgICAgICBzcGFj
ZXMgKHByb2duIChza2lwLWNoYXJzLWJhY2t3YXJkICIgXHQiKSAKCQkJICAgIChidWZmZXIt
c3Vic3RyaW5nIChwb2ludCkgc3RhcnQpKQoJICAgICAgZGMgKC0gYyAoY3VycmVudC1jb2x1
bW4pKSBsZW4gKC0gc3RhcnQgKHBvaW50KSkgCgkgICAgICBzdGFydCAocG9pbnQtbWFya2Vy
KSkKCShkZWxldGUtY2hhciBsZW4pCgkoaW5zZXJ0IChtYWtlLXN0cmluZyBkYyA/LSkpKSkp
CiAgICAoaWYgKG5vdCBoYXMtY29tbWVudCkKCShmaWxsLXBhcmFncmFwaCBqdXN0aWZ5KQk7
IERvIHRoZSB1c3VhbCB0aGluZyBvdXRzaWRlIG9mIGNvbW1lbnQKICAgICAgOzsgTmFycm93
IHRvIGluY2x1ZGUgb25seSB0aGUgY29tbWVudCwgYW5kIHRoZW4gZmlsbCB0aGUgcmVnaW9u
LgogICAgICAoc2F2ZS1yZXN0cmljdGlvbgoJKG5hcnJvdy10by1yZWdpb24KCSA7OyBGaW5k
IHRoZSBmaXJzdCBsaW5lIHdlIHNob3VsZCBpbmNsdWRlIGluIHRoZSByZWdpb24gdG8gZmls
bC4KCSAoaWYgc3RhcnQgKHByb2duIChiZWdpbm5pbmctb2YtbGluZSkgKHBvaW50KSkKCSAg
IChzYXZlLWV4Y3Vyc2lvbgoJICAgICAod2hpbGUgKGFuZCAoemVyb3AgKGZvcndhcmQtbGlu
ZSAtMSkpCgkJCSAobG9va2luZy1hdCAiXlsgXHRdKiMrWyBcdF0qW14gXHRcbiNdIikpKQoJ
ICAgICA7OyBXZSBtYXkgaGF2ZSBnb25lIHRvIGZhci4gIEdvIGZvcndhcmQgYWdhaW4uCgkg
ICAgIChvciAobG9va2luZy1hdCAiXlsgXHRdKiMrWyBcdF0qW14gXHRcbiNdIikKCQkgKGZv
cndhcmQtbGluZSAxKSkKCSAgICAgKHBvaW50KSkpCgkgOzsgRmluZCB0aGUgYmVnaW5uaW5n
IG9mIHRoZSBmaXJzdCBsaW5lIHBhc3QgdGhlIHJlZ2lvbiB0byBmaWxsLgoJIChzYXZlLWV4
Y3Vyc2lvbgoJICAgKHdoaWxlIChwcm9nbiAoZm9yd2FyZC1saW5lIDEpCgkJCSAobG9va2lu
Zy1hdCAiXlsgXHRdKiMrWyBcdF0qW14gXHRcbiNdIikpKQoJICAgKHBvaW50KSkpCgk7OyBS
ZW1vdmUgZXhpc3RpbmcgaGFzaGVzCgkoZ290by1jaGFyIChwb2ludC1taW4pKQoJKHdoaWxl
IChwcm9nbiAoZm9yd2FyZC1saW5lIDEpICg8IChwb2ludCkgKHBvaW50LW1heCkpKQoJICAo
c2tpcC1jaGFycy1mb3J3YXJkICIgXHQiKQoJICAoYW5kIChsb29raW5nLWF0ICIjKyIpIAoJ
ICAgICAgIChkZWxldGUtY2hhciAoLSAobWF0Y2gtZW5kIDApIChtYXRjaC1iZWdpbm5pbmcg
MCkpKSkpCgoJOzsgTGluZXMgd2l0aCBvbmx5IGhhc2hlcyBvbiB0aGVtIGNhbiBiZSBwYXJh
Z3JhcGggYm91bmRhcmllcy4KCShsZXQgKChwYXJhZ3JhcGgtc3RhcnQgKGNvbmNhdCBwYXJh
Z3JhcGgtc3RhcnQgIlxcfF5bIFx0I10qJCIpKQoJICAgICAgKHBhcmFncmFwaC1zZXBhcmF0
ZSAoY29uY2F0IHBhcmFncmFwaC1zdGFydCAiXFx8XlsgXHQjXSokIikpCgkgICAgICAoZmls
bC1wcmVmaXggY29tbWVudC1maWxsLXByZWZpeCkpCgkgIChmaWxsLXBhcmFncmFwaCBqdXN0
aWZ5KSkpCiAgICAgIChpZiAoYW5kIHN0YXJ0KQoJICAocHJvZ24gCgkgICAgKGdvdG8tY2hh
ciBzdGFydCkKCSAgICAoaWYgKD4gZGMgMCkKCSAgICAgIChwcm9nbiAoZGVsZXRlLWNoYXIg
ZGMpIChpbnNlcnQgc3BhY2VzKSkpCgkgICAgKGlmIChvciAoPSAoY3VycmVudC1jb2x1bW4p
IGMpIGl0ZXJhdGlvbikgbmlsCgkgICAgICAoc2V0cSBjb21tZW50LWNvbHVtbiBjKQoJICAg
ICAgKGluZGVudC1mb3ItY29tbWVudCkKCSAgICAgIDs7IFJlcGVhdCBvbmNlIG1vcmUsIGZs
YWdnaW5nIGFzIGl0ZXJhdGlvbgoJICAgICAgKGNwZXJsLWZpbGwtcGFyYWdyYXBoIGp1c3Rp
ZnkgdCkpKSkpKSkKCihkZWZ1biBjcGVybC1kby1hdXRvLWZpbGwgKCkKICA7OyBCcmVhayBv
dXQgaWYgdGhlIGxpbmUgaXMgc2hvcnQgZW5vdWdoCiAgKGlmICg+IChzYXZlLWV4Y3Vyc2lv
bgoJICAgKGVuZC1vZi1saW5lKQoJICAgKGN1cnJlbnQtY29sdW1uKSkKCSBmaWxsLWNvbHVt
bikKICAobGV0ICgoYyAoc2F2ZS1leGN1cnNpb24gKGJlZ2lubmluZy1vZi1saW5lKQoJCQkg
ICAoY3BlcmwtdG8tY29tbWVudC1vci1lb2wpIChwb2ludCkpKQoJKHMgKG1lbXEgKGZvbGxv
d2luZy1jaGFyKSAnKD9cID9cdCkpKSBtYXJrZXIpCiAgICAoaWYgKD49IGMgKHBvaW50KSkg
bmlsCiAgICAgIChzZXRxIG1hcmtlciAocG9pbnQtbWFya2VyKSkKICAgICAgKGNwZXJsLWZp
bGwtcGFyYWdyYXBoKQogICAgICAoZ290by1jaGFyIG1hcmtlcikKICAgICAgOzsgSXMgbm90
IGVub3VnaCwgc29tZXRpbWVzIG1hcmtlciBpcyBhIHN0YXJ0IG9mIGxpbmUKICAgICAgKGlm
IChib2xwKSAocHJvZ24gKHJlLXNlYXJjaC1mb3J3YXJkICIjK1sgXHRdKiIpIAoJCQkoZ290
by1jaGFyIChtYXRjaC1lbmQgMCkpKSkKICAgICAgOzsgRm9sbG93aW5nIHNwYWNlIGNvdWxk
IGhhdmUgZ29uZToKICAgICAgKGlmIChvciAobm90IHMpIChtZW1xIChmb2xsb3dpbmctY2hh
cikgJyg/XCA/XHQpKSkgbmlsCgkoaW5zZXJ0ICIgIikKCShiYWNrd2FyZC1jaGFyIDEpKQog
ICAgICA7OyBQcmV2aW91cyBzcGFjZSBjb3VsZCBoYXZlIGdvbmU6CiAgICAgIChvciAobWVt
cSAocHJlY2VkaW5nLWNoYXIpICcoP1wgP1x0KSkgKGluc2VydCAiICIpKSkpKSkKCihkZWZ2
YXIgaW1lbnUtZXhhbXBsZS0tZnVuY3Rpb24tbmFtZS1yZWdleHAtcGVybAogICAgICAiXlxc
KFsgXHRdKlxcKHN1YlxcfHBhY2thZ2VcXClbIFx0XG5dK1xcKFthLXpBLVpfMC05OiddK1xc
KVsgXHRdKlxcfD1oZWFkXFwoWzEyXVxcKVsgXHRdK1xcKFteXG5dK1xcKSRcXCkiKQoKKGRl
ZnVuIGNwZXJsLWltZW51LWFkZGJhY2sgKGxzdCAmb3B0aW9uYWwgaXNiYWNrIG5hbWUpCiAg
OzsgV2Ugc3VwcG9zZSB0aGF0IHRoZSBsc3QgaXMgYSBEQUcsIHVubGVzcyB0aGUgZmlyc3Qg
ZWxlbWVudCBvbmx5CiAgOzsgbG9vcHMgYmFjaywgYW5kIElTQkFDSyBpcyBzZXQuIFRodXMg
dGhpcyBmdW5jdGlvbiBjYW5ub3QgYmUKICA7OyBhcHBsaWVkIHR3aWNlIHdpdGhvdXQgSVNC
QUNLIHNldC4KICAoY29uZCAoKG5vdCBjcGVybC1pbWVudS1hZGRiYWNrKSBsc3QpCgkodAoJ
IChvciBuYW1lIAoJICAgICAoc2V0cSBuYW1lICIrKytCQUNLKysrIikpCgkgKG1hcGNhciAo
ZnVuY3Rpb24gKGxhbWJkYSAoZWx0KQoJCQkgICAgIChpZiAoYW5kIChsaXN0cCBlbHQpIChs
aXN0cCAoY2RyIGVsdCkpKQoJCQkJIChwcm9nbgoJCQkJICAgOzsgSW4gdGhlIG90aGVyIG9y
ZGVyIGl0IGdvZXMgdXAKCQkJCSAgIDs7IG9uZSBsZXZlbCBvbmx5IDstKAoJCQkJICAgKHNl
dGNkciBlbHQgKGNvbnMgKGNvbnMgbmFtZSBsc3QpCgkJCQkJCSAgICAgKGNkciBlbHQpKSkK
CQkJCSAgIChjcGVybC1pbWVudS1hZGRiYWNrIChjZHIgZWx0KSB0IG5hbWUpCgkJCQkgICAp
KSkpCgkJIChpZiBpc2JhY2sgKGNkciBsc3QpIGxzdCkpCgkgbHN0KSkpCgooZGVmdW4gaW1l
bnUtZXhhbXBsZS0tY3JlYXRlLXBlcmwtaW5kZXggKCZvcHRpb25hbCByZWdleHApCiAgKHJl
cXVpcmUgJ2NsKQogIChsZXQgKChpbmRleC1hbGlzdCAnKCkpIChpbmRleC1wYWNrLWFsaXN0
ICcoKSkgKGluZGV4LXBvZC1hbGlzdCAnKCkpIAoJKGluZGV4LXVuc29ydGVkLWFsaXN0ICco
KSkgKGktcy1mIChkZWZhdWx0LXZhbHVlICdpbWVudS1zb3J0LWZ1bmN0aW9uKSkKCShpbmRl
eC1tZXRoLWFsaXN0ICcoKSkgbWV0aAoJcGFja2FnZXMgZW5kcy1yYW5nZXMgcAoJKHByZXYt
cG9zIDApIGNoYXIgZmNoYXIgaW5kZXggaW5kZXgxIG5hbWUgKGVuZC1yYW5nZSAwKSBwYWNr
YWdlKQogICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKICAgIChpbWVudS1wcm9ncmVzcy1t
ZXNzYWdlIHByZXYtcG9zIDApCiAgICA7OyBTZWFyY2ggZm9yIHRoZSBmdW5jdGlvbgogICAg
KHByb2duIDs7c2F2ZS1tYXRjaC1kYXRhCiAgICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndh
cmQKCSAgICAgIChvciByZWdleHAgaW1lbnUtZXhhbXBsZS0tZnVuY3Rpb24tbmFtZS1yZWdl
eHAtcGVybCkKCSAgICAgIG5pbCB0KQoJKGltZW51LXByb2dyZXNzLW1lc3NhZ2UgcHJldi1w
b3MpCgk7OyhiYWNrd2FyZC11cC1saXN0IDEpCgkoY29uZAoJICgobWF0Y2gtYmVnaW5uaW5n
IDIpCQk7IHBhY2thZ2Ugb3Igc3ViCgkgIChzYXZlLWV4Y3Vyc2lvbgoJICAgIChnb3RvLWNo
YXIgKG1hdGNoLWJlZ2lubmluZyAyKSkKCSAgICAoc2V0cSBmY2hhciAoZm9sbG93aW5nLWNo
YXIpKQoJICAgICkKCSAgKHNldHEgY2hhciAoZm9sbG93aW5nLWNoYXIpIG1ldGggbmlsKQoJ
ICAoc2V0cSBwIChwb2ludCkpCgkgICh3aGlsZSAoYW5kIGVuZHMtcmFuZ2VzICg+PSBwIChj
YXIgZW5kcy1yYW5nZXMpKSkKCSAgICA7OyBkZWxldGUgb2Jzb2xldGUgZW50cmllcwoJICAg
IChzZXRxIGVuZHMtcmFuZ2VzIChjZHIgZW5kcy1yYW5nZXMpIHBhY2thZ2VzIChjZHIgcGFj
a2FnZXMpKSkKCSAgKHNldHEgcGFja2FnZSAob3IgKGNhciBwYWNrYWdlcykgIiIpCgkJZW5k
LXJhbmdlIChvciAoY2FyIGVuZHMtcmFuZ2VzKSAwKSkKCSAgKGlmIChlcSBmY2hhciA/cCkK
CSAgICAgIChzZXRxIG5hbWUgKGJ1ZmZlci1zdWJzdHJpbmcgKG1hdGNoLWJlZ2lubmluZyAz
KSAobWF0Y2gtZW5kIDMpKQoJCSAgICBuYW1lIChwcm9nbgoJCQkgICAoc2V0LXRleHQtcHJv
cGVydGllcyAwIChsZW5ndGggbmFtZSkgbmlsIG5hbWUpCgkJCSAgIG5hbWUpCgkJICAgIHBh
Y2thZ2UgKGNvbmNhdCBuYW1lICI6OiIpIAoJCSAgICBuYW1lIChjb25jYXQgInBhY2thZ2Ug
IiBuYW1lKQoJCSAgICBlbmQtcmFuZ2UgCgkJICAgIChzYXZlLWV4Y3Vyc2lvbgoJCSAgICAg
IChwYXJzZS1wYXJ0aWFsLXNleHAgKHBvaW50KSAocG9pbnQtbWF4KSAtMSkgKHBvaW50KSkK
CQkgICAgZW5kcy1yYW5nZXMgKGNvbnMgZW5kLXJhbmdlIGVuZHMtcmFuZ2VzKQoJCSAgICBw
YWNrYWdlcyAoY29ucyBwYWNrYWdlIHBhY2thZ2VzKSkpCgkgIDs7ICAgKQoJICA7OyBTa2lw
IHRoaXMgZnVuY3Rpb24gbmFtZSBpZiBpdCBpcyBhIHByb3RvdHlwZSBkZWNsYXJhdGlvbi4K
CSAgKGlmIChhbmQgKGVxIGZjaGFyID9zKSAoZXEgY2hhciA/XDspKSBuaWwKCSAgICAoc2V0
cSBpbmRleCAoaW1lbnUtZXhhbXBsZS0tbmFtZS1hbmQtcG9zaXRpb24pKQoJICAgIChpZiAo
ZXEgZmNoYXIgP3ApIG5pbAoJICAgICAgKHNldHEgbmFtZSAoYnVmZmVyLXN1YnN0cmluZyAo
bWF0Y2gtYmVnaW5uaW5nIDMpIChtYXRjaC1lbmQgMykpKQoJICAgICAgKHNldC10ZXh0LXBy
b3BlcnRpZXMgMCAobGVuZ3RoIG5hbWUpIG5pbCBuYW1lKQoJICAgICAgKGNvbmQgKChzdHJp
bmctbWF0Y2ggIls6J10iIG5hbWUpCgkJICAgICAoc2V0cSBtZXRoIHQpKQoJCSAgICAoKD4g
cCBlbmQtcmFuZ2UpIG5pbCkKCQkgICAgKHQgCgkJICAgICAoc2V0cSBuYW1lIChjb25jYXQg
cGFja2FnZSBuYW1lKSBtZXRoIHQpKSkpCgkgICAgKHNldGNhciBpbmRleCBuYW1lKQoJICAg
IChpZiAoZXEgZmNoYXIgP3ApIAoJCShwdXNoIGluZGV4IGluZGV4LXBhY2stYWxpc3QpCgkg
ICAgICAocHVzaCBpbmRleCBpbmRleC1hbGlzdCkpCgkgICAgKGlmIG1ldGggKHB1c2ggaW5k
ZXggaW5kZXgtbWV0aC1hbGlzdCkpCgkgICAgKHB1c2ggaW5kZXggaW5kZXgtdW5zb3J0ZWQt
YWxpc3QpKSkKCSAodAkJCQk7IFBvZCBzZWN0aW9uCgkgIDs7IChiZWdpbm5pbmctb2YtbGlu
ZSkKCSAgKHNldHEgaW5kZXggKGltZW51LWV4YW1wbGUtLW5hbWUtYW5kLXBvc2l0aW9uKQoJ
CW5hbWUgKGJ1ZmZlci1zdWJzdHJpbmcgKG1hdGNoLWJlZ2lubmluZyA1KSAobWF0Y2gtZW5k
IDUpKSkKCSAgKHNldC10ZXh0LXByb3BlcnRpZXMgMCAobGVuZ3RoIG5hbWUpIG5pbCBuYW1l
KQoJICAoaWYgKGVxIChjaGFyLWFmdGVyIChtYXRjaC1iZWdpbm5pbmcgNCkpID8yKQoJICAg
ICAgKHNldHEgbmFtZSAoY29uY2F0ICIgICAiIG5hbWUpKSkKCSAgKHNldGNhciBpbmRleCBu
YW1lKQoJICAoc2V0cSBpbmRleDEgKGNvbnMgKGNvbmNhdCAiPSIgbmFtZSkgKGNkciBpbmRl
eCkpKQoJICAocHVzaCBpbmRleCBpbmRleC1wb2QtYWxpc3QpCgkgIChwdXNoIGluZGV4MSBp
bmRleC11bnNvcnRlZC1hbGlzdCkpKSkpCiAgICAoaW1lbnUtcHJvZ3Jlc3MtbWVzc2FnZSBw
cmV2LXBvcyAxMDApCiAgICAoc2V0cSBpbmRleC1hbGlzdCAKCSAgKGlmIChkZWZhdWx0LXZh
bHVlICdpbWVudS1zb3J0LWZ1bmN0aW9uKQoJICAgICAgKHNvcnQgaW5kZXgtYWxpc3QgKGRl
ZmF1bHQtdmFsdWUgJ2ltZW51LXNvcnQtZnVuY3Rpb24pKQoJICAgICAgKG5yZXZlcnNlIGlu
ZGV4LWFsaXN0KSkpCiAgICAoYW5kIGluZGV4LXBvZC1hbGlzdAoJIChwdXNoIChjb25zICIr
UE9EIGhlYWRlcnMrLi4uIgoJCSAgICAgKG5yZXZlcnNlIGluZGV4LXBvZC1hbGlzdCkpCgkg
ICAgICAgaW5kZXgtYWxpc3QpKQogICAgKGFuZCAob3IgaW5kZXgtcGFjay1hbGlzdCBpbmRl
eC1tZXRoLWFsaXN0KQoJIChsZXQgKChsc3QgaW5kZXgtcGFjay1hbGlzdCkgaGllci1saXN0
IHBhY2sgZWx0IGdyb3VwIG5hbWUpCgkgICA7OyBSZW1vdmUgInBhY2thZ2UgIiwgcmV2ZXJz
ZSBhbmQgdW5pcXVpZnkuCgkgICAod2hpbGUgbHN0CgkgICAgIChzZXRxIGVsdCAoY2FyIGxz
dCkgbHN0IChjZHIgbHN0KSBuYW1lIChzdWJzdHJpbmcgKGNhciBlbHQpIDgpKQoJICAgICAo
aWYgKGFzc29jIG5hbWUgaGllci1saXN0KSBuaWwKCSAgICAgICAoc2V0cSBoaWVyLWxpc3Qg
KGNvbnMgKGNvbnMgbmFtZSAoY2RyIGVsdCkpIGhpZXItbGlzdCkpKSkKCSAgIChzZXRxIGxz
dCBpbmRleC1tZXRoLWFsaXN0KQoJICAgKHdoaWxlIGxzdAoJICAgICAoc2V0cSBlbHQgKGNh
ciBsc3QpIGxzdCAoY2RyIGxzdCkpCgkgICAgIChjb25kICgoc3RyaW5nLW1hdGNoICJcXCg6
OlxcfCdcXClbX2EtekEtWjAtOV0rJCIgKGNhciBlbHQpKQoJCSAgICAoc2V0cSBwYWNrIChz
dWJzdHJpbmcgKGNhciBlbHQpIDAgKG1hdGNoLWJlZ2lubmluZyAwKSkpCgkJICAgIChpZiAo
c2V0cSBncm91cCAoYXNzb2MgcGFjayBoaWVyLWxpc3QpKSAKCQkJKGlmIChsaXN0cCAoY2Ry
IGdyb3VwKSkKCQkJICAgIDs7IEhhdmUgc29tZSBmdW5jdGlvbnMgYWxyZWFkeQoJCQkgICAg
KHNldGNkciBncm91cCAKCQkJCSAgICAoY29ucyAoY29ucyAoc3Vic3RyaW5nIAoJCQkJCQkg
KGNhciBlbHQpCgkJCQkJCSAoKyAyIChtYXRjaC1iZWdpbm5pbmcgMCkpKQoJCQkJCQkoY2Ry
IGVsdCkpCgkJCQkJICAoY2RyIGdyb3VwKSkpCgkJCSAgKHNldGNkciBncm91cCAobGlzdCAo
Y29ucyAoc3Vic3RyaW5nIAoJCQkJCQkgICAgIChjYXIgZWx0KQoJCQkJCQkgICAgICgrIDIg
KG1hdGNoLWJlZ2lubmluZyAwKSkpCgkJCQkJCSAgICAoY2RyIGVsdCkpKSkpCgkJICAgICAg
KHNldHEgaGllci1saXN0IAoJCQkgICAgKGNvbnMgKGNvbnMgcGFjayAKCQkJCQkobGlzdCAo
Y29ucyAoc3Vic3RyaW5nIAoJCQkJCQkgICAgIChjYXIgZWx0KQoJCQkJCQkgICAgICgrIDIg
KG1hdGNoLWJlZ2lubmluZyAwKSkpCgkJCQkJCSAgICAoY2RyIGVsdCkpKSkKCQkJCSAgaGll
ci1saXN0KSkpKSkpCgkgICAocHVzaCAoY29ucyAiK0hpZXJhcmNoeSsuLi4iCgkJICAgICAg
IGhpZXItbGlzdCkKCQkgaW5kZXgtYWxpc3QpKSkKICAgIChhbmQgaW5kZXgtcGFjay1hbGlz
dAoJIChwdXNoIChjb25zICIrUGFja2FnZXMrLi4uIgoJCSAgICAgKG5yZXZlcnNlIGluZGV4
LXBhY2stYWxpc3QpKQoJICAgICAgIGluZGV4LWFsaXN0KSkKICAgIChhbmQgKG9yIGluZGV4
LXBhY2stYWxpc3QgaW5kZXgtcG9kLWFsaXN0IAoJICAgICAoZGVmYXVsdC12YWx1ZSAnaW1l
bnUtc29ydC1mdW5jdGlvbikpCgkgaW5kZXgtdW5zb3J0ZWQtYWxpc3QKCSAocHVzaCAoY29u
cyAiK1Vuc29ydGVkIExpc3QrLi4uIgoJCSAgICAgKG5yZXZlcnNlIGluZGV4LXVuc29ydGVk
LWFsaXN0KSkKCSAgICAgICBpbmRleC1hbGlzdCkpCiAgICAoY3BlcmwtaW1lbnUtYWRkYmFj
ayBpbmRleC1hbGlzdCkpKQoKKGRlZnZhciBjcGVybC1jb21waWxhdGlvbi1lcnJvci1yZWdl
eHAtYWxpc3QgCiAgOzsgVGhpcyBsb29rIGxpa2UgYSBwYXJhbm9pYWMgcmVnZXhwOiBjb3Vs
ZCBhbnlib2R5IGZpbmQgYSBiZXR0ZXIgb25lPyAod2hpY2ggV09SSykuCiAgJygoIl5bXlxu
XSogXFwoZmlsZVxcfGF0XFwpIFxcKFteIFx0XG5dK1xcKSBbXlxuXSpsaW5lIFxcKFswLTld
K1xcKVtcXC4sIFxuXSIKICAgICAyIDMpKQogICJBbGlzdCB0aGF0IHNwZWNpZmllcyBob3cg
dG8gbWF0Y2ggZXJyb3JzIGluIHBlcmwgb3V0cHV0LiIpCgooaWYgKGZib3VuZHAgJ2V2YWwt
YWZ0ZXItbG9hZCkKICAgIChldmFsLWFmdGVyLWxvYWQKICAgICAibW9kZS1jb21waWxlIgog
ICAgICcoc2V0cSBwZXJsLWNvbXBpbGF0aW9uLWVycm9yLXJlZ2V4cC1hbGlzdAoJICAgY3Bl
cmwtY29tcGlsYXRpb24tZXJyb3ItcmVnZXhwLWFsaXN0KSkpCgoKKGRlZnZhciBjcGVybC1m
YWNlcy1pbml0IG5pbCkKCihkZWZ1biBjcGVybC13aW5kb3dlZC1pbml0ICgpCiAgIkluaXRp
YWxpemF0aW9uIHVuZGVyIHdpbmRvd2VkIHZlcnNpb24uIgogIChhZGQtaG9vayAnZm9udC1s
b2NrLW1vZGUtaG9vawoJICAgIChmdW5jdGlvbgoJICAgICAobGFtYmRhICgpCgkgICAgICAg
KGlmIChvcgoJCSAgICAoZXEgbWFqb3ItbW9kZSAncGVybC1tb2RlKQoJCSAgICAoZXEgbWFq
b3ItbW9kZSAnY3BlcmwtbW9kZSkpCgkJICAgKHByb2duCgkJICAgICAob3IgY3BlcmwtZmFj
ZXMtaW5pdCAoY3BlcmwtaW5pdC1mYWNlcykpKSkpKSkpCgooZGVmdmFyIHBlcmwtZm9udC1s
b2NrLWtleXdvcmRzLTEgbmlsCiAgIkFkZGl0aW9uYWwgZXhwcmVzc2lvbnMgdG8gaGlnaGxp
Z2h0IGluIFBlcmwgbW9kZS4gTWluaW1hbCBzZXQuIikKKGRlZnZhciBwZXJsLWZvbnQtbG9j
ay1rZXl3b3JkcyBuaWwKICAiQWRkaXRpb25hbCBleHByZXNzaW9ucyB0byBoaWdobGlnaHQg
aW4gUGVybCBtb2RlLiBEZWZhdWx0IHNldC4iKQooZGVmdmFyIHBlcmwtZm9udC1sb2NrLWtl
eXdvcmRzLTIgbmlsCiAgIkFkZGl0aW9uYWwgZXhwcmVzc2lvbnMgdG8gaGlnaGxpZ2h0IGlu
IFBlcmwgbW9kZS4gTWF4aW1hbCBzZXQiKQoKKGRlZnVuIGNwZXJsLWluaXQtZmFjZXMgKCkK
ICAoY29uZGl0aW9uLWNhc2UgbmlsCiAgICAgIChwcm9nbgoJKHJlcXVpcmUgJ2ZvbnQtbG9j
aykKCShhbmQgKGZib3VuZHAgJ2ZvbnQtbG9jay1mb250aWZ5LWFuY2hvcmVkLWtleXdvcmRz
KQoJICAgICAoZmVhdHVyZXAgJ2ZvbnQtbG9jay1leHRyYSkKCSAgICAgKG1lc3NhZ2UgIllv
dSBoYXZlIGFuIG9ic29sZXRlIHBhY2thZ2UgYGZvbnQtbG9jay1leHRyYScuIEluc3RhbGwg
YGNob29zZS1jb2xvcicuIikpCgkobGV0ICh0LWZvbnQtbG9jay1rZXl3b3JkcyB0LWZvbnQt
bG9jay1rZXl3b3Jkcy0xIGZvbnQtbG9jay1hbmNob3JlZCkKCSAgOzsoZGVmdmFyIGNwZXJs
LWZvbnQtbG9jay1lbmhhbmNlZCBuaWwKCSAgOzsgICJTZXQgdG8gYmUgbm9uLW5pbCBpZiBm
b250LWxvY2sgYWxsb3dzIGFjdGl2ZSBoaWdobGlnaHRzLiIpCgkgIChpZiAoZmJvdW5kcCAn
Zm9udC1sb2NrLWZvbnRpZnktYW5jaG9yZWQta2V5d29yZHMpCgkgICAgICAoc2V0cSBmb250
LWxvY2stYW5jaG9yZWQgdCkpCgkgIChzZXRxIAoJICAgdC1mb250LWxvY2sta2V5d29yZHMK
CSAgIChsaXN0CgkgICAgKGNvbnMKCSAgICAgKGNvbmNhdAoJICAgICAgIlxcKF5cXHxbXiRA
JSZcXF1cXClcXDxcXCgiCgkgICAgICAobWFwY29uY2F0CgkgICAgICAgJ2lkZW50aXR5Cgkg
ICAgICAgJygiaWYiICJ1bnRpbCIgIndoaWxlIiAiZWxzaWYiICJlbHNlIiAidW5sZXNzIiAi
Zm9yIgoJCSAiZm9yZWFjaCIgImNvbnRpbnVlIiAiZXhpdCIgImRpZSIgImxhc3QiICJnb3Rv
IiAibmV4dCIKCQkgInJlZG8iICJyZXR1cm4iICJsb2NhbCIgImV4ZWMiICJzdWIiICJkbyIg
ImR1bXAiICJ1c2UiCgkJICJyZXF1aXJlIiAicGFja2FnZSIgImV2YWwiICJteSIgIkJFR0lO
IiAiRU5EIikKCSAgICAgICAiXFx8IikJCQk7IEZsb3cgY29udHJvbAoJICAgICAgIlxcKVxc
PiIpIDIpCQk7IHdhcyAiXFwpWyBcblx0OygpOixcfCZdIgoJCQkJCTsgSW4gd2hhdCBmb2xs
b3dzIHdlIHVzZSBgdHlwZScgc3R5bGUKCQkJCQk7IGZvciBvdmVyd3JpdGFibGUgYnVpbHRp
bnMKCSAgICAobGlzdAoJICAgICAoY29uY2F0CgkgICAgICAiXFwoXlxcfFteJEAlJlxcXVxc
KVxcPFxcKCIKCSAgICAgIDs7ICJDT1JFIiAiX19GSUxFX18iICJfX0xJTkVfXyIgImFicyIg
ImFjY2VwdCIgImFsYXJtIgoJICAgICAgOzsgImFuZCIgImF0YW4yIiAiYmluZCIgImJpbm1v
ZGUiICJibGVzcyIgImNhbGxlciIKCSAgICAgIDs7ICJjaGRpciIgImNobW9kIiAiY2hvd24i
ICJjaHIiICJjaHJvb3QiICJjbG9zZSIKCSAgICAgIDs7ICJjbG9zZWRpciIgImNtcCIgImNv
bm5lY3QiICJjb250aW51ZSIgImNvcyIgImNyeXB0IgoJICAgICAgOzsgImRibWNsb3NlIiAi
ZGJtb3BlbiIgImRpZSIgImR1bXAiICJlbmRncmVudCIKCSAgICAgIDs7ICJlbmRob3N0ZW50
IiAiZW5kbmV0ZW50IiAiZW5kcHJvdG9lbnQiICJlbmRwd2VudCIKCSAgICAgIDs7ICJlbmRz
ZXJ2ZW50IiAiZW9mIiAiZXEiICJleGVjIiAiZXhpdCIgImV4cCIgImZjbnRsIgoJICAgICAg
OzsgImZpbGVubyIgImZsb2NrIiAiZm9yayIgImZvcm1saW5lIiAiZ2UiICJnZXRjIgoJICAg
ICAgOzsgImdldGdyZW50IiAiZ2V0Z3JnaWQiICJnZXRncm5hbSIgImdldGhvc3RieWFkZHIi
CgkgICAgICA7OyAiZ2V0aG9zdGJ5bmFtZSIgImdldGhvc3RlbnQiICJnZXRsb2dpbiIKCSAg
ICAgIDs7ICJnZXRuZXRieWFkZHIiICJnZXRuZXRieW5hbWUiICJnZXRuZXRlbnQiCgkgICAg
ICA7OyAiZ2V0cGVlcm5hbWUiICJnZXRwZ3JwIiAiZ2V0cHBpZCIgImdldHByaW9yaXR5IgoJ
ICAgICAgOzsgImdldHByb3RvYnluYW1lIiAiZ2V0cHJvdG9ieW51bWJlciIgImdldHByb3Rv
ZW50IgoJICAgICAgOzsgImdldHB3ZW50IiAiZ2V0cHduYW0iICJnZXRwd3VpZCIgImdldHNl
cnZieW5hbWUiCgkgICAgICA7OyAiZ2V0c2VydmJ5cG9ydCIgImdldHNlcnZlbnQiICJnZXRz
b2NrbmFtZSIKCSAgICAgIDs7ICJnZXRzb2Nrb3B0IiAiZ2xvYiIgImdtdGltZSIgImd0IiAi
aGV4IiAiaW5kZXgiICJpbnQiCgkgICAgICA7OyAiaW9jdGwiICJqb2luIiAia2lsbCIgImxj
IiAibGNmaXJzdCIgImxlIiAibGVuZ3RoIgoJICAgICAgOzsgImxpbmsiICJsaXN0ZW4iICJs
b2NhbHRpbWUiICJsb2ciICJsc3RhdCIgImx0IgoJICAgICAgOzsgIm1rZGlyIiAibXNnY3Rs
IiAibXNnZ2V0IiAibXNncmN2IiAibXNnc25kIiAibmUiCgkgICAgICA7OyAibm90IiAib2N0
IiAib3BlbiIgIm9wZW5kaXIiICJvciIgIm9yZCIgInBhY2siICJwaXBlIgoJICAgICAgOzsg
InF1b3RlbWV0YSIgInJhbmQiICJyZWFkIiAicmVhZGRpciIgInJlYWRsaW5lIgoJICAgICAg
OzsgInJlYWRsaW5rIiAicmVhZHBpcGUiICJyZWN2IiAicmVmIiAicmVuYW1lIiAicmVxdWly
ZSIKCSAgICAgIDs7ICJyZXNldCIgInJldmVyc2UiICJyZXdpbmRkaXIiICJyaW5kZXgiICJy
bWRpciIgInNlZWsiCgkgICAgICA7OyAic2Vla2RpciIgInNlbGVjdCIgInNlbWN0bCIgInNl
bWdldCIgInNlbW9wIiAic2VuZCIKCSAgICAgIDs7ICJzZXRncmVudCIgInNldGhvc3RlbnQi
ICJzZXRuZXRlbnQiICJzZXRwZ3JwIgoJICAgICAgOzsgInNldHByaW9yaXR5IiAic2V0cHJv
dG9lbnQiICJzZXRwd2VudCIgInNldHNlcnZlbnQiCgkgICAgICA7OyAic2V0c29ja29wdCIg
InNobWN0bCIgInNobWdldCIgInNobXJlYWQiICJzaG13cml0ZSIKCSAgICAgIDs7ICJzaHV0
ZG93biIgInNpbiIgInNsZWVwIiAic29ja2V0IiAic29ja2V0cGFpciIKCSAgICAgIDs7ICJz
cHJpbnRmIiAic3FydCIgInNyYW5kIiAic3RhdCIgInN1YnN0ciIgInN5bWxpbmsiCgkgICAg
ICA7OyAic3lzY2FsbCIgInN5c3JlYWQiICJzeXN0ZW0iICJzeXN3cml0ZSIgInRlbGwiCgkg
ICAgICA7OyAidGVsbGRpciIgInRpbWUiICJ0aW1lcyIgInRydW5jYXRlIiAidWMiICJ1Y2Zp
cnN0IgoJICAgICAgOzsgInVtYXNrIiAidW5saW5rIiAidW5wYWNrIiAidXRpbWUiICJ2YWx1
ZXMiICJ2ZWMiCgkgICAgICA7OyAid2FpdCIgIndhaXRwaWQiICJ3YW50YXJyYXkiICJ3YXJu
IiAid3JpdGUiICJ4IiAieG9yIgoJICAgICAgImFcXChic1xcfGNjZXB0XFx8dGFuMlxcfGxh
cm1cXHxuZFxcKVxcfCIgCgkgICAgICAiYlxcKGluXFwoZFxcfG1vZGVcXClcXHxsZXNzXFwp
XFx8IgoJICAgICAgImNcXChoXFwoclxcKFxcfG9vdFxcKVxcfGRpclxcfG1vZFxcfG93blxc
KVxcfGFsbGVyXFx8cnlwdFxcfCIKCSAgICAgICJsb3NlXFwoXFx8ZGlyXFwpXFx8bXBcXHxv
XFwoc1xcfG5cXCh0aW51ZVxcfG5lY3RcXClcXClcXClcXHwiCgkgICAgICAiQ09SRVxcfGRc
XChpZVxcfGJtXFwoY2xvc2VcXHxvcGVuXFwpXFx8dW1wXFwpXFx8IgoJICAgICAgImVcXCh4
XFwocFxcfGl0XFx8ZWNcXClcXHxxXFx8bmRcXChwXFwocm90b2VudFxcfHdlbnRcXClcXHwi
CgkgICAgICAiaG9zdGVudFxcfHNlcnZlbnRcXHxuZXRlbnRcXHxncmVudFxcKVxcfG9mXFwp
XFx8IgoJICAgICAgImZcXChpbGVub1xcfGNudGxcXHxsb2NrXFx8b3JcXChrXFx8bWxpbmVc
XClcXClcXHwiCgkgICAgICAiZ1xcKHRcXHxsb2JcXHxtdGltZVxcfGVcXChcXHx0XFwocFxc
KHBpZFxcfHJcXChpb3JpdHlcXHwiCgkgICAgICAib3RvXFwoYnluXFwoYW1lXFx8dW1iZXJc
XClcXHxlbnRcXClcXClcXHxlZXJuYW1lXFx8dyIKCSAgICAgICJcXCh1aWRcXHxlbnRcXHxu
YW1cXClcXHxncnBcXClcXHxob3N0XFwoYnlcXChhZGRyXFx8bmFtZVxcKVxcfCIKCSAgICAg
ICJlbnRcXClcXHxzXFwoZXJ2XFwoYnlcXChwb3J0XFx8bmFtZVxcKVxcfGVudFxcKVxcfCIK
CSAgICAgICJvY2tcXChuYW1lXFx8b3B0XFwpXFwpXFx8Y1xcfGxvZ2luXFx8bmV0XFwoYnlc
XChhZGRyXFx8bmFtZVxcKVxcfCIKCSAgICAgICJlbnRcXClcXHxnclxcKGVudFxcfG5hbVxc
fGdpZFxcKVxcKVxcKVxcKVxcfCIKCSAgICAgICJoZXhcXHxpXFwoblxcKHRcXHxkZXhcXClc
XHxvY3RsXFwpXFx8am9pblxcfGtpbGxcXHwiCgkgICAgICAibFxcKGlcXChzdGVuXFx8bmtc
XClcXHxzdGF0XFx8Y1xcKFxcfGZpcnN0XFwpXFx8dFxcfGUiCgkgICAgICAiXFwoXFx8bmd0
aFxcKVxcfG9cXChjYWx0aW1lXFx8Z1xcKVxcKVxcfG1cXChzZ1xcKHJjdlxcfHNuZFxcfCIK
CSAgICAgICJjdGxcXHxnZXRcXClcXHxrZGlyXFwpXFx8blxcKGVcXHxvdFxcKVxcfG9cXChw
ZW5cXChcXHxkaXJcXClcXHwiCgkgICAgICAiclxcKFxcfGRcXClcXHxjdFxcKVxcfHBcXChp
cGVcXHxhY2tcXClcXHxxdW90ZW1ldGFcXHwiCgkgICAgICAiclxcKGluZGV4XFx8YW5kXFx8
bWRpclxcfGVcXChxdWlyZVxcfGFkXFwocGlwZVxcfFxcfGxpbiIKCSAgICAgICJcXChrXFx8
ZVxcKVxcfGRpclxcKVxcfHNldFxcfGN2XFx8dmVyc2VcXHxmXFx8d2luZGRpclxcfG5hbWUi
CgkgICAgICAiXFwpXFwpXFx8c1xcKHByaW50ZlxcfHFydFxcfHJhbmRcXHx0YXRcXHx1YnN0
clxcfGVcXCh0XFwocFxcKHIiCgkgICAgICAiXFwoaW9yaXR5XFx8b3RvZW50XFwpXFx8d2Vu
dFxcfGdycFxcKVxcfGhvc3RlbnRcXHxzXFwoZXJ2ZW50XFx8IgoJICAgICAgIm9ja29wdFxc
KVxcfG5ldGVudFxcfGdyZW50XFwpXFx8ZWtcXChcXHxkaXJcXClcXHxsZWN0XFx8IgoJICAg
ICAgIm1cXChjdGxcXHxvcFxcfGdldFxcKVxcfG5kXFwpXFx8aFxcKHV0ZG93blxcfG1cXChy
ZWFkXFx8Y3RsXFx8IgoJICAgICAgIndyaXRlXFx8Z2V0XFwpXFwpXFx8eVxcKHNcXChyZWFk
XFx8Y2FsbFxcfHRlbVxcfHdyaXRlXFwpXFx8IgoJICAgICAgIm1saW5rXFwpXFx8aW5cXHxs
ZWVwXFx8b2NrZXRcXChwYWlyXFx8XFwpXFwpXFx8dFxcKHJ1bmNhdGVcXHwiCgkgICAgICAi
ZWxsXFwoXFx8ZGlyXFwpXFx8aW1lXFwoXFx8c1xcKVxcKVxcfHVcXChjXFwoXFx8Zmlyc3Rc
XClcXHwiCgkgICAgICAidGltZVxcfG1hc2tcXHxuXFwocGFja1xcfGxpbmtcXClcXClcXHx2
XFwoYWx1ZXNcXHxlY1xcKVxcfCIKCSAgICAgICJ3XFwoYVxcKHJuXFx8aXRcXChwaWRcXHxc
XClcXHxudGFycmF5XFwpXFx8cml0ZVxcKVxcfCIKCSAgICAgICJ4XFwoXFx8b3JcXClcXHxf
X1xcKEZJTEVfX1xcfExJTkVfX1xcKSIKCSAgICAgICJcXClcXD4iKSAyICdmb250LWxvY2st
dHlwZS1mYWNlKQoJICAgIDs7IEluIHdoYXQgZm9sbG93cyB3ZSB1c2UgYG90aGVyJyBzdHls
ZQoJICAgIDs7IGZvciBub25vdmVyd3JpdGFibGUgYnVpbHRpbnMKCSAgICA7OyBTb21laG93
ICdzJywgJ20nIGFyZSBub3QgYXV0by1nZW5lcmF0ZWQ/Pz8KCSAgICAobGlzdAoJICAgICAo
Y29uY2F0CgkgICAgICAiXFwoXlxcfFteJEAlJlxcXVxcKVxcPFxcKCIKCSAgICAgIDs7ICJB
VVRPTE9BRCIgIkJFR0lOIiAiREVTVFJPWSIgIkVORCIgIl9fRU5EX18iICJjaG9tcCIKCSAg
ICAgIDs7ICJjaG9wIiAiZGVmaW5lZCIgImRlbGV0ZSIgImRvIiAiZWFjaCIgImVsc2UiICJl
bHNpZiIKCSAgICAgIDs7ICJldmFsIiAiZXhpc3RzIiAiZm9yIiAiZm9yZWFjaCIgImZvcm1h
dCIgImdvdG8iCgkgICAgICA7OyAiZ3JlcCIgImlmIiAia2V5cyIgImxhc3QiICJsb2NhbCIg
Im1hcCIgIm15IiAibmV4dCIKCSAgICAgIDs7ICJubyIgInBhY2thZ2UiICJwb3AiICJwb3Mi
ICJwcmludCIgInByaW50ZiIgInB1c2giCgkgICAgICA7OyAicSIgInFxIiAicXciICJxeCIg
InJlZG8iICJyZXR1cm4iICJzY2FsYXIiICJzaGlmdCIKCSAgICAgIDs7ICJzb3J0IiAic3Bs
aWNlIiAic3BsaXQiICJzdHVkeSIgInN1YiIgInRpZSIgInRyIgoJICAgICAgOzsgInVuZGVm
IiAidW5sZXNzIiAidW5zaGlmdCIgInVudGllIiAidW50aWwiICJ1c2UiCgkgICAgICA7OyAi
d2hpbGUiICJ5IgoJICAgICAgIkFVVE9MT0FEXFx8QkVHSU5cXHxjaG9cXChwXFx8bXBcXClc
XHxkXFwoZVxcKGZpbmVkXFx8bGV0ZVxcKVxcfCIKCSAgICAgICJvXFwpXFx8REVTVFJPWVxc
fGVcXChhY2hcXHx2YWxcXHx4aXN0c1xcfGxzXFwoZVxcfGlmXFwpXFwpXFx8IgoJICAgICAg
IkVORFxcfGZvclxcKFxcfGVhY2hcXHxtYXRcXClcXHxnXFwocmVwXFx8b3RvXFwpXFx8aWZc
XHxrZXlzXFx8IgoJICAgICAgImxcXChhc3RcXHxvY2FsXFwpXFx8bVxcKGFwXFx8eVxcKVxc
fG5cXChleHRcXHxvXFwpXFx8IgoJICAgICAgInBcXChhY2thZ2VcXHxyaW50XFwoXFx8Zlxc
KVxcfHVzaFxcfG9cXChwXFx8c1xcKVxcKVxcfCIKCSAgICAgICJxXFwoXFx8cVxcfHdcXHx4
XFwpXFx8cmVcXCh0dXJuXFx8ZG9cXClcXHxzXFwocGxpXFwoY2VcXHx0XFwpXFx8IgoJICAg
ICAgImNhbGFyXFx8dHVkeVxcfHViXFx8aGlmdFxcfG9ydFxcKVxcfHRcXChyXFx8aWVcXClc
XHwiCgkgICAgICAidVxcKHNlXFx8blxcKHNoaWZ0XFx8dGlcXChsXFx8ZVxcKVxcfGRlZlxc
fGxlc3NcXClcXClcXHwiCgkgICAgICAid2hpbGVcXHx5XFx8X19cXChFTkRcXHxEQVRBXFwp
X18iIDtfX0RBVEFfXyBhZGRlZCBtYW51YWxseQoJICAgICAgIlxcfFtzbV0iCQkJOyBBZGRl
ZCBtYW51YWxseQoJICAgICAgIlxcKVxcPiIpIDIgJ2ZvbnQtbG9jay1vdGhlci10eXBlLWZh
Y2UpCgkgICAgOzsJCShtYXBjb25jYXQgJ2lkZW50aXR5CgkgICAgOzsJCQkgICAnKCIjZW5k
aWYiICIjZWxzZSIgIiNpZmRlZiIgIiNpZm5kZWYiICIjaWYiCgkgICAgOzsJCQkgICAgICIj
aW5jbHVkZSIgIiNkZWZpbmUiICIjdW5kZWYiKQoJICAgIDs7CQkJICAgIlxcfCIpCgkgICAg
JygiLVtyd3hvUldYT2V6c2ZkbHBTYmN0dWdrVEJNQUNdXFw+XFwoWyBcdF0rX1xcPlxcKT8i
IDAKCSAgICAgIGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2Uga2VlcCkgOyBOb3QgdmVy
eSBnb29kLCB0cmlnZ2VycyBhdCAiW2Etel0iCgkgICAgJygiXFw8c3ViWyBcdF0rXFwoW14g
XHR7O10rXFwpWyBcdF0qW3tcbl0iIDEKCSAgICAgIGZvbnQtbG9jay1mdW5jdGlvbi1uYW1l
LWZhY2UpCgkgICAgJygiXFw8XFwocGFja2FnZVxcfHJlcXVpcmVcXHx1c2VcXHxpbXBvcnRc
XHxub1xcfGJvb3RzdHJhcFxcKVsgXHRdK1xcKFthLXpBLXpfXVthLXpBLXpfMC05Ol0qXFwp
WyBcdDtdIiA7IHJlcXVpcmUgQSBpZiBCOwoJICAgICAgMiBmb250LWxvY2stZnVuY3Rpb24t
bmFtZS1mYWNlKQoJICAgICcoIl5bIFx0XSpmb3JtYXRbIFx0XStcXChbYS16QS16X11bYS16
QS16XzAtOTpdKlxcKVsgXHRdKj1bIFx0XSokIgoJICAgICAgMSBmb250LWxvY2stZnVuY3Rp
b24tbmFtZS1mYWNlKQoJICAgIChjb25kICgoZmVhdHVyZXAgJ2ZvbnQtbG9jay1leHRyYSkK
CQkgICAnKCJcXChbXX1cXFxcJUA+KiZdXFx8XFwkW2EtekEtWjAtOV86XSpcXClbIFx0XSp7
WyBcdF0qXFwoLT9bYS16QS1aMC05XzpdK1xcKVsgXHRdKn0iIAoJCSAgICAgKDIgZm9udC1s
b2NrLXN0cmluZy1mYWNlIHQpCgkJICAgICAoMCAnKHJlc3RhcnQgMiB0KSkpKSA7IFRvIGhp
Z2hsaWdodCAkYXtiY317ZWZ9CgkJICAoZm9udC1sb2NrLWFuY2hvcmVkCgkJICAgJygiXFwo
W119XFxcXCVAPiomXVxcfFxcJFthLXpBLVowLTlfOl0qXFwpWyBcdF0qe1sgXHRdKlxcKC0/
W2EtekEtWjAtOV86XStcXClbIFx0XSp9IgoJCSAgICAgKDIgZm9udC1sb2NrLXN0cmluZy1m
YWNlIHQpCgkJICAgICAoIlxcPVsgXHRdKntbIFx0XSpcXCgtP1thLXpBLVowLTlfOl0rXFwp
WyBcdF0qfSIKCQkgICAgICBuaWwgbmlsCgkJICAgICAgKDEgZm9udC1sb2NrLXN0cmluZy1m
YWNlIHQpKSkpCgkJICAodCAnKCJcXChbXX1cXFxcJUA+KiZdXFx8XFwkW2EtekEtWjAtOV86
XSpcXClbIFx0XSp7WyBcdF0qXFwoLT9bYS16QS1aMC05XzpdK1xcKVsgXHRdKn0iCgkJICAg
ICAgIDIgZm9udC1sb2NrLXN0cmluZy1mYWNlIHQpKSkKCSAgICAnKCJbIFx0eywoXVxcKC0/
W2EtekEtWjAtOV86XStcXClbIFx0XSo9PiIgMQoJICAgICAgZm9udC1sb2NrLXN0cmluZy1m
YWNlIHQpCgkgICAgJygiXlsgXHRdKlxcKFthLXpBLVowLTlfXStbIFx0XSo6XFwpWyBcdF0q
XFwoJFxcfHtcXHxcXDxcXCh1bnRpbFxcfHdoaWxlXFx8Zm9yXFwoZWFjaFxcKT9cXHxkb1xc
KVxcPlxcKSIgMSAKCSAgICAgIGZvbnQtbG9jay1yZWZlcmVuY2UtZmFjZSkgOyBsYWJlbHMK
CSAgICAnKCJcXDxcXChjb250aW51ZVxcfG5leHRcXHxsYXN0XFx8cmVkb1xcfGdvdG9cXClc
XD5bIFx0XStcXChbYS16QS1aMC05XzpdK1xcKSIgOyBsYWJlbHMgYXMgdGFyZ2V0cwoJICAg
ICAgMiBmb250LWxvY2stcmVmZXJlbmNlLWZhY2UpCgkgICAgKGNvbmQgKChmZWF0dXJlcCAn
Zm9udC1sb2NrLWV4dHJhKQoJCSAgICcoIl5bIFx0XSpcXChteVxcfGxvY2FsXFwpWyBcdF0q
XFwoKFsgXHRdKlxcKT9cXChbJEAlKl1bYS16QS1aMC05XzpdK1xcKVxcKFsgXHRdKixcXCk/
IgoJCSAgICAgKDMgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKCQkgICAgICg0ICco
YW5vdGhlciA0IG5pbAoJCQkJICAoIlxcPVsgXHRdKixbIFx0XSpcXChbJEAlKl1bYS16QS1a
MC05XzpdK1xcKVxcKFsgXHRdKixcXCk/IgoJCQkJICAgKDEgZm9udC1sb2NrLXZhcmlhYmxl
LW5hbWUtZmFjZSkKCQkJCSAgICgyICcocmVzdGFydCAyIG5pbCkgbmlsIHQpKSkgCgkJCW5p
bCB0KSkpCTsgbG9jYWwgdmFyaWFibGVzLCBtdWx0aXBsZQoJCSAgKGZvbnQtbG9jay1hbmNo
b3JlZAoJCSAgICcoIl5bIFx0XSpcXChteVxcfGxvY2FsXFwpWyBcdF0qXFwoKFsgXHRdKlxc
KT9cXChbJEAlKl1bYS16QS1aMC05XzpdK1xcKSIKCQkgICAgICgzIGZvbnQtbG9jay12YXJp
YWJsZS1uYW1lLWZhY2UpCgkJICAgICAoIlxcPVsgXHRdKixbIFx0XSpcXChbJEAlKl1bYS16
QS1aMC05XzpdK1xcKSIKCQkgICAgICBuaWwgbmlsCgkJICAgICAgKDEgZm9udC1sb2NrLXZh
cmlhYmxlLW5hbWUtZmFjZSkpKSkKCQkgICh0ICcoIl5bIFx0XSpcXChteVxcfGxvY2FsXFwp
WyBcdF0qXFwoKFsgXHRdKlxcKT9cXChbJEAlKl1bYS16QS1aMC05XzpdK1xcKSIKCQkgICAg
ICAgMyBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpCgkgICAgJygiXFw8Zm9yXFwo
ZWFjaFxcKT9bIFx0XSpcXChcXCRbYS16QS1aX11bYS16QS1aXzAtOV0qXFwpWyBcdF0qKCIK
CSAgICAgIDIgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQoJICAoc2V0cSAKCSAg
IHQtZm9udC1sb2NrLWtleXdvcmRzLTEKCSAgIChhbmQgKGZib3VuZHAgJ3R1cm4tb24tZm9u
dC1sb2NrKSA7IENoZWNrIGZvciBuZXdlciBmb250LWxvY2sKCQkobm90IGNwZXJsLXhlbWFj
cy1wKSA7IG5vdCB5ZXQgYXMgb2YgWEVtYWNzIDE5LjEyCgkJJygKCQkgICgiXFwoXFwoW0Al
XVxcfFwkI1xcKVthLXpBLVpfOl1bYS16QS1aMC05XzpdKlxcKSIgMQoJCSAgIChpZiAoZXEg
KGNoYXItYWZ0ZXIgKG1hdGNoLWJlZ2lubmluZyAyKSkgPyUpCgkJICAgICAgIGZvbnQtbG9j
ay1vdGhlci1lbXBoYXNpemVkLWZhY2UKCQkgICAgIGZvbnQtbG9jay1lbXBoYXNpemVkLWZh
Y2UpCgkJICAgdCkJCQk7IGFycmF5cyBhbmQgaGFzaGVzCgkJICAoIlxcKFxcKFskQF0rXFwp
W2EtekEtWl86XVthLXpBLVowLTlfOl0qXFwpWyBcdF0qXFwoW1t7XVxcKSIKCQkgICAxCgkJ
ICAgKGlmICg9ICgtIChtYXRjaC1lbmQgMikgKG1hdGNoLWJlZ2lubmluZyAyKSkgMSkgCgkJ
ICAgICAgIChpZiAoZXEgKGNoYXItYWZ0ZXIgKG1hdGNoLWJlZ2lubmluZyAzKSkgP3spCgkJ
CSAgIGZvbnQtbG9jay1vdGhlci1lbXBoYXNpemVkLWZhY2UKCQkJIGZvbnQtbG9jay1lbXBo
YXNpemVkLWZhY2UpIDsgYXJyYXlzIGFuZCBoYXNoZXMKCQkgICAgIGZvbnQtbG9jay12YXJp
YWJsZS1uYW1lLWZhY2UpIDsgSnVzdCB0byBwdXQgc29tZXRoaW5nCgkJICAgdCkKCQkgIDs7
KCJcXChbc215XVxcfHRyXFwpXFwoW15hLXpfQS1aMC05XVxcKVxcKFxcKFteXG5cXF0qfHxc
XClcXClcXDIiKQoJCSAgICAgICA7OzsgVG9vIG11Y2ggbm9pc2UgZnJvbSBccyogQHNbIGFu
ZCBmcmllbmRzCgkJICA7OygiXFwoXFw8XFwoW21zeV1cXHx0clxcKVsgXHRdKlxcKFteIFx0
XG5hLXpBLVowLTlfXVxcKVxcfFxcKC9cXClcXCkiIAoJCSAgOzsoMyBmb250LWxvY2stZnVu
Y3Rpb24tbmFtZS1mYWNlIHQgdCkKCQkgIDs7KDQKCQkgIDs7IChpZiAoY3Blcmwtc2xhc2gt
aXMtcmVnZXhwKQoJCSAgOzsgICAgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSAnZGVm
YXVsdCkgbmlsIHQpKQoJCSAgKSkpCgkgIChzZXRxIHBlcmwtZm9udC1sb2NrLWtleXdvcmRz
LTEgdC1mb250LWxvY2sta2V5d29yZHMKCQlwZXJsLWZvbnQtbG9jay1rZXl3b3JkcyBwZXJs
LWZvbnQtbG9jay1rZXl3b3Jkcy0xCgkJcGVybC1mb250LWxvY2sta2V5d29yZHMtMiAoYXBw
ZW5kCgkJCQkJICAgdC1mb250LWxvY2sta2V5d29yZHMKCQkJCQkgICB0LWZvbnQtbG9jay1r
ZXl3b3Jkcy0xKSkpCgkoaWYgKGZib3VuZHAgJ3BzLXByaW50LWJ1ZmZlcikgKGNwZXJsLXBz
LXByaW50LWluaXQpKQoJKGlmIChvciAoZmVhdHVyZXAgJ2Nob29zZS1jb2xvcikgKGZlYXR1
cmVwICdmb250LWxvY2stZXh0cmEpKQoJICAgIChmb250LWxvY2stcmVxdWlyZS1mYWNlcwoJ
ICAgICAobGlzdAoJICAgICAgOzsgQ29sb3ItbGlnaHQgICAgQ29sb3ItZGFyayAgICAgIEdy
YXktbGlnaHQgICAgICBHcmF5LWRhcmsgTW9ubwoJICAgICAgKGxpc3QgJ2ZvbnQtbG9jay1j
b21tZW50LWZhY2UKCQkgICAgWyJGaXJlYnJpY2siCSJPcmFuZ2VSZWQiIAkiRGltR3JheSIJ
IkdyYXk4MCJdCgkJICAgIG5pbAoJCSAgICBbbmlsCQluaWwJCXQJCXQJdF0KCQkgICAgW25p
bAkJbmlsCQl0CQl0CXRdCgkJICAgIG5pbCkKCSAgICAgIChsaXN0ICdmb250LWxvY2stc3Ry
aW5nLWZhY2UKCQkgICAgWyJSb3N5QnJvd24iCSJMaWdodFNhbG1vbiIgCSJHcmF5NTAiCSJM
aWdodEdyYXkiXQoJCSAgICBuaWwKCQkgICAgbmlsCgkJICAgIFtuaWwJCW5pbAkJdAkJdAl0
XQoJCSAgICBuaWwpCgkgICAgICAobGlzdCAnZm9udC1sb2NrLWtleXdvcmQtZmFjZQoJCSAg
ICBbIlB1cnBsZSIJCSJMaWdodFN0ZWVsQmx1ZSIgIkRpbUdyYXkiCSJHcmF5OTAiXQoJCSAg
ICBuaWwKCQkgICAgW25pbAkJbmlsCQl0CQl0CXRdCgkJICAgIG5pbAoJCSAgICBuaWwpCgkg
ICAgICAobGlzdCAnZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZQoJCSAgICAodmVjdG9y
CgkJICAgICAiQmx1ZSIJCSJMaWdodFNreUJsdWUiCSJHcmF5NTAiCSJMaWdodEdyYXkiCgkJ
ICAgICAoY2RyIChhc3NxICdiYWNrZ3JvdW5kLWNvbG9yIDsgaWYgbW9ubwoJCQkJKGZyYW1l
LXBhcmFtZXRlcnMpKSkpCgkJICAgICh2ZWN0b3IKCQkgICAgIG5pbAkJbmlsCQluaWwJCW5p
bAoJCSAgICAgKGNkciAoYXNzcSAnZm9yZWdyb3VuZC1jb2xvciA7IGlmIG1vbm8KCQkJCShm
cmFtZS1wYXJhbWV0ZXJzKSkpKQoJCSAgICBbbmlsCQluaWwJCXQJCXQJdF0KCQkgICAgbmls
CgkJICAgIG5pbCkKCSAgICAgIChsaXN0ICdmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNl
CgkJICAgIFsiRGFya0dvbGRlbnJvZCIJIkxpZ2h0R29sZGVucm9kIiAiRGltR3JheSIJIkdy
YXk5MCJdCgkJICAgIG5pbAoJCSAgICBbbmlsCQluaWwJCXQJCXQJdF0KCQkgICAgW25pbAkJ
bmlsCQl0CQl0CXRdCgkJICAgIG5pbCkKCSAgICAgIChsaXN0ICdmb250LWxvY2stdHlwZS1m
YWNlCgkJICAgIFsiRGFya09saXZlR3JlZW4iCSJQYWxlR3JlZW4iIAkiRGltR3JheSIJIkdy
YXk4MCJdCgkJICAgIG5pbAoJCSAgICBbbmlsCQluaWwJCXQJCXQJdF0KCQkgICAgbmlsCgkJ
ICAgIFtuaWwJCW5pbAkJdAkJdAl0XQoJCSAgICApCgkgICAgICAobGlzdCAnZm9udC1sb2Nr
LXJlZmVyZW5jZS1mYWNlCgkJICAgIFsiQ2FkZXRCbHVlIgkiQXF1YW1hcmluZSIgCSJHcmF5
NTAiCSJMaWdodEdyYXkiXQoJCSAgICBuaWwKCQkgICAgW25pbAkJbmlsCQl0CQl0CXRdCgkJ
ICAgIG5pbAoJCSAgICBbbmlsCQluaWwJCXQJCXQJdF0KCQkgICAgKQoJICAgICAgKGxpc3Qg
J2ZvbnQtbG9jay1vdGhlci10eXBlLWZhY2UKCQkgICAgWyJjaGFydHJldXNlMyIJKCJvcmNo
aWQxIiAib3JhbmdlIikKCQkgICAgIG5pbAkJIkdyYXk4MCJdCgkJICAgIFtuaWwJCW5pbAkJ
ImdyYXk5MCJdCgkJICAgIFtuaWwJCW5pbAkJbmlsCQl0CXRdCgkJICAgIFtuaWwJCW5pbAkJ
dAkJdF0KCQkgICAgW25pbAkJbmlsCQl0CQl0CXRdCgkJICAgICkKCSAgICAgIChsaXN0ICdm
b250LWxvY2stZW1waGFzaXplZC1mYWNlCgkJICAgIFsiYmx1ZSIJCSJ5ZWxsb3ciIAluaWwJ
CSJHcmF5ODAiXQoJCSAgICBbImxpZ2h0eWVsbG93MiIJKCJuYXZ5IiAib3MyYmx1ZSIgImRh
cmtncmVlbiIpCgkJICAgICAiZ3JheTkwIl0KCQkgICAgdAoJCSAgICBuaWwKCQkgICAgbmls
KQoJICAgICAgKGxpc3QgJ2ZvbnQtbG9jay1vdGhlci1lbXBoYXNpemVkLWZhY2UKCQkgICAg
WyJyZWQiCQkicmVkIgkgCW5pbAkJIkdyYXk4MCJdCgkJICAgIFsibGlnaHR5ZWxsb3cyIgko
Im5hdnkiICJvczJibHVlIiAiZGFya2dyZWVuIikKCQkgICAgICJncmF5OTAiXQoJCSAgICB0
CgkJICAgIHQKCQkgICAgbmlsKSkpCgkgIChkZWZ2YXIgY3BlcmwtZ3Vlc3NlZC1iYWNrZ3Jv
dW5kIG5pbAoJICAgICJEaXNwbGF5IGNoYXJhY3RlcmlzdGljcyBhcyBndWVzc2VkIGJ5IGNw
ZXJsLiIpCgkgIChvciAoZmJvdW5kcCAneC1jb2xvci1kZWZpbmVkLXApCgkgICAgICAoZGVm
YWxpYXMgJ3gtY29sb3ItZGVmaW5lZC1wIAoJCShjb25kICgoZmJvdW5kcCAnY29sb3ItZGVm
aW5lZC1wKSAnY29sb3ItZGVmaW5lZC1wKQoJCSAgICAgIDs7IFhFbWFjcyA+PSAxOS4xMgoJ
CSAgICAgICgoZmJvdW5kcCAndmFsaWQtY29sb3ItbmFtZS1wKSAndmFsaWQtY29sb3ItbmFt
ZS1wKQoJCSAgICAgIDs7IFhFbWFjcyAxOS4xMQoJCSAgICAgICh0ICd4LXZhbGlkLWNvbG9y
LW5hbWUtcCkpKSkKCSAgKGRlZnZhciBmb250LWxvY2stcmVmZXJlbmNlLWZhY2UgJ2ZvbnQt
bG9jay1yZWZlcmVuY2UtZmFjZSkKCSAgKGRlZnZhciBmb250LWxvY2stdmFyaWFibGUtbmFt
ZS1mYWNlICdmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKQoJICAob3IgKGJvdW5kcCAn
Zm9udC1sb2NrLXR5cGUtZmFjZSkKCSAgICAgIChkZWZjb25zdCBmb250LWxvY2stdHlwZS1m
YWNlCgkJJ2ZvbnQtbG9jay10eXBlLWZhY2UKCQkiRmFjZSB0byB1c2UgZm9yIGRhdGEgdHlw
ZXMuIikKCSAgICAgICkKCSAgKG9yIChib3VuZHAgJ2ZvbnQtbG9jay1vdGhlci10eXBlLWZh
Y2UpCgkgICAgICAoZGVmY29uc3QgZm9udC1sb2NrLW90aGVyLXR5cGUtZmFjZQoJCSdmb250
LWxvY2stb3RoZXItdHlwZS1mYWNlCgkJIkZhY2UgdG8gdXNlIGZvciBkYXRhIHR5cGVzIGZy
b20gYW5vdGhlciBncm91cC4iKQoJICAgICAgKQoJICAoaWYgKG5vdCBjcGVybC14ZW1hY3Mt
cCkgbmlsCgkgICAgKG9yIChib3VuZHAgJ2ZvbnQtbG9jay1jb21tZW50LWZhY2UpCgkJKGRl
ZmNvbnN0IGZvbnQtbG9jay1jb21tZW50LWZhY2UKCQkgICdmb250LWxvY2stY29tbWVudC1m
YWNlCgkJICAiRmFjZSB0byB1c2UgZm9yIGNvbW1lbnRzLiIpCgkJKQoJICAgIChvciAoYm91
bmRwICdmb250LWxvY2sta2V5d29yZC1mYWNlKQoJCShkZWZjb25zdCBmb250LWxvY2sta2V5
d29yZC1mYWNlCgkJICAnZm9udC1sb2NrLWtleXdvcmQtZmFjZQoJCSAgIkZhY2UgdG8gdXNl
IGZvciBrZXl3b3Jkcy4iKQoJCSkKCSAgICAob3IgKGJvdW5kcCAnZm9udC1sb2NrLWZ1bmN0
aW9uLW5hbWUtZmFjZSkKCQkoZGVmY29uc3QgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFj
ZQoJCSAgJ2ZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UKCQkgICJGYWNlIHRvIHVzZSBm
b3IgZnVuY3Rpb24gbmFtZXMuIikKCQkpCgkgICAgKQoJICA7OyhpZiAoZmVhdHVyZXAgJ2Zv
bnQtbG9jaykKCSAgKGlmIChmYWNlLWVxdWFsIGZvbnQtbG9jay10eXBlLWZhY2UgZm9udC1s
b2NrLWNvbW1lbnQtZmFjZSkKCSAgICAgIChkZWZjb25zdCBmb250LWxvY2stdHlwZS1mYWNl
CgkJJ2ZvbnQtbG9jay10eXBlLWZhY2UKCQkiRmFjZSB0byB1c2UgZm9yIGJhc2ljIGRhdGEg
dHlwZXMuIikKCSAgICApCjs7OwkgIChpZiAoZmJvdW5kcCAnZXZhbC1hZnRlci1sb2FkKQo7
OzsJICAgICAgKGV2YWwtYWZ0ZXItbG9hZCAiZm9udC1sb2NrIgo7OzsJCQkgICAgICAgJyhp
ZiAoZmFjZS1lcXVhbCBmb250LWxvY2stdHlwZS1mYWNlCjs7OwkJCQkJCWZvbnQtbG9jay1j
b21tZW50LWZhY2UpCjs7OwkJCQkgICAgKGRlZmNvbnN0IGZvbnQtbG9jay10eXBlLWZhY2UK
Ozs7CQkJCSAgICAgICdmb250LWxvY2stdHlwZS1mYWNlCjs7OwkJCQkgICAgICAiRmFjZSB0
byB1c2UgZm9yIGJhc2ljIGRhdGEgdHlwZXMuIikKOzs7CQkJCSAgKSkpCTsgVGhpcyBkb2Vz
IG5vdCB3b3JrIDotKCBXaHk/IQo7OzsJCQkJCTsgV29ya2Fyb3VuZDogYWRkZWQgdG8gZm9u
dC1sb2NrLW0taAo7OzsJICApCgkgIChvciAoYm91bmRwICdmb250LWxvY2stb3RoZXItZW1w
aGFzaXplZC1mYWNlKQoJICAgICAgKGRlZmNvbnN0IGZvbnQtbG9jay1vdGhlci1lbXBoYXNp
emVkLWZhY2UKCQknZm9udC1sb2NrLW90aGVyLWVtcGhhc2l6ZWQtZmFjZQoJCSJGYWNlIHRv
IHVzZSBmb3IgYW5vdGhlciB0eXBlIG9mIGVtcGhhc2l6aW5nLiIpCgkgICAgICApCgkgIChv
ciAoYm91bmRwICdmb250LWxvY2stZW1waGFzaXplZC1mYWNlKQoJICAgICAgKGRlZmNvbnN0
IGZvbnQtbG9jay1lbXBoYXNpemVkLWZhY2UKCQknZm9udC1sb2NrLWVtcGhhc2l6ZWQtZmFj
ZQoJCSJGYWNlIHRvIHVzZSBmb3IgZW1waGFzaXppbmcuIikKCSAgICAgICkKCSAgOzsgSGVy
ZSB3ZSB0cnkgdG8gZ3Vlc3MgYmFja2dyb3VuZAoJICAobGV0ICgoYmFja2dyb3VuZAoJCSAo
aWYgKGJvdW5kcCAnZm9udC1sb2NrLWJhY2tncm91bmQtbW9kZSkKCQkgICAgIGZvbnQtbG9j
ay1iYWNrZ3JvdW5kLW1vZGUKCQkgICAnbGlnaHQpKSAKCQkoZmFjZS1saXN0IChhbmQgKGZi
b3VuZHAgJ2ZhY2UtbGlzdCkgKGZhY2UtbGlzdCkpKQoJCWlzLWZhY2UpCgkgICAgKGZzZXQg
J2lzLWZhY2UKCQkgIChjb25kICgoZmJvdW5kcCAnZmluZC1mYWNlKQoJCQkgKHN5bWJvbC1m
dW5jdGlvbiAnZmluZC1mYWNlKSkKCQkJKGZhY2UtbGlzdAoJCQkgKGZ1bmN0aW9uIChsYW1i
ZGEgKGZhY2UpIChtZW1iZXIgZmFjZSBmYWNlLWxpc3QpKSkpCgkJCSh0CgkJCSAoZnVuY3Rp
b24gKGxhbWJkYSAoZmFjZSkgKGJvdW5kcCBmYWNlKSkpKSkpCgkgICAgKGRlZnZhciBjcGVy
bC1ndWVzc2VkLWJhY2tncm91bmQKCSAgICAgIChpZiAoYW5kIChib3VuZHAgJ2ZvbnQtbG9j
ay1kaXNwbGF5LXR5cGUpCgkJICAgICAgIChlcSBmb250LWxvY2stZGlzcGxheS10eXBlICdn
cmF5c2NhbGUpKQoJCSAgJ2dyYXkKCQliYWNrZ3JvdW5kKQoJICAgICAgIkJhY2tncm91bmQg
YXMgZ3Vlc3NlZCBieSBDUGVybCBtb2RlIikKCSAgICAoaWYgKGlzLWZhY2UgJ2ZvbnQtbG9j
ay10eXBlLWZhY2UpIG5pbAoJICAgICAgKGNvcHktZmFjZSAnZGVmYXVsdCAnZm9udC1sb2Nr
LXR5cGUtZmFjZSkKCSAgICAgIChjb25kCgkgICAgICAgKChlcSBiYWNrZ3JvdW5kICdsaWdo
dCkKCQkoc2V0LWZhY2UtZm9yZWdyb3VuZCAnZm9udC1sb2NrLXR5cGUtZmFjZQoJCQkJICAg
ICAoaWYgKHgtY29sb3ItZGVmaW5lZC1wICJzZWFncmVlbiIpCgkJCQkJICJzZWFncmVlbiIK
CQkJCSAgICAgICAic2VhIGdyZWVuIikpKQoJICAgICAgICgoZXEgYmFja2dyb3VuZCAnZGFy
aykKCQkoc2V0LWZhY2UtZm9yZWdyb3VuZCAnZm9udC1sb2NrLXR5cGUtZmFjZQoJCQkJICAg
ICAoaWYgKHgtY29sb3ItZGVmaW5lZC1wICJvczJwaW5rIikKCQkJCQkgIm9zMnBpbmsiCgkJ
CQkgICAgICAgInBpbmsiKSkpCgkgICAgICAgKHQKCQkoc2V0LWZhY2UtYmFja2dyb3VuZCAn
Zm9udC1sb2NrLXR5cGUtZmFjZSAiZ3JheTkwIikpKSkKCSAgICAoaWYgKGlzLWZhY2UgJ2Zv
bnQtbG9jay1vdGhlci10eXBlLWZhY2UpCgkJbmlsCgkgICAgICAoY29weS1mYWNlICdmb250
LWxvY2stdHlwZS1mYWNlICdmb250LWxvY2stb3RoZXItdHlwZS1mYWNlKQoJICAgICAgKGNv
bmQKCSAgICAgICAoKGVxIGJhY2tncm91bmQgJ2xpZ2h0KQoJCShzZXQtZmFjZS1mb3JlZ3Jv
dW5kICdmb250LWxvY2stb3RoZXItdHlwZS1mYWNlCgkJCQkgICAgIChpZiAoeC1jb2xvci1k
ZWZpbmVkLXAgImNoYXJ0cmV1c2UzIikKCQkJCQkgImNoYXJ0cmV1c2UzIgoJCQkJICAgICAg
ICJjaGFydHJldXNlIikpKQoJICAgICAgICgoZXEgYmFja2dyb3VuZCAnZGFyaykKCQkoc2V0
LWZhY2UtZm9yZWdyb3VuZCAnZm9udC1sb2NrLW90aGVyLXR5cGUtZmFjZQoJCQkJICAgICAo
aWYgKHgtY29sb3ItZGVmaW5lZC1wICJvcmNoaWQxIikKCQkJCQkgIm9yY2hpZDEiCgkJCQkg
ICAgICAgIm9yYW5nZSIpKSkpKQoJICAgIChpZiAoaXMtZmFjZSAnZm9udC1sb2NrLW90aGVy
LWVtcGhhc2l6ZWQtZmFjZSkgbmlsCgkgICAgICAoY29weS1mYWNlICdib2xkLWl0YWxpYyAn
Zm9udC1sb2NrLW90aGVyLWVtcGhhc2l6ZWQtZmFjZSkKCSAgICAgIChjb25kCgkgICAgICAg
KChlcSBiYWNrZ3JvdW5kICdsaWdodCkKCQkoc2V0LWZhY2UtYmFja2dyb3VuZCAnZm9udC1s
b2NrLW90aGVyLWVtcGhhc2l6ZWQtZmFjZQoJCQkJICAgICAoaWYgKHgtY29sb3ItZGVmaW5l
ZC1wICJsaWdodHllbGxvdzIiKQoJCQkJCSAibGlnaHR5ZWxsb3cyIgoJCQkJICAgICAgIChp
ZiAoeC1jb2xvci1kZWZpbmVkLXAgImxpZ2h0eWVsbG93IikKCQkJCQkgICAibGlnaHR5ZWxs
b3ciCgkJCQkJICJsaWdodCB5ZWxsb3ciKSkpKQoJICAgICAgICgoZXEgYmFja2dyb3VuZCAn
ZGFyaykKCQkoc2V0LWZhY2UtYmFja2dyb3VuZCAnZm9udC1sb2NrLW90aGVyLWVtcGhhc2l6
ZWQtZmFjZQoJCQkJICAgICAoaWYgKHgtY29sb3ItZGVmaW5lZC1wICJuYXZ5IikKCQkJCQkg
Im5hdnkiCgkJCQkgICAgICAgKGlmICh4LWNvbG9yLWRlZmluZWQtcCAiZGFya2dyZWVuIikK
CQkJCQkgICAiZGFya2dyZWVuIgoJCQkJCSAiZGFyayBncmVlbiIpKSkpCgkgICAgICAgKHQg
KHNldC1mYWNlLWJhY2tncm91bmQgJ2ZvbnQtbG9jay1vdGhlci1lbXBoYXNpemVkLWZhY2Ug
ImdyYXk5MCIpKSkpCgkgICAgKGlmIChpcy1mYWNlICdmb250LWxvY2stZW1waGFzaXplZC1m
YWNlKSBuaWwKCSAgICAgIChjb3B5LWZhY2UgJ2JvbGQgJ2ZvbnQtbG9jay1lbXBoYXNpemVk
LWZhY2UpCgkgICAgICAoY29uZAoJICAgICAgICgoZXEgYmFja2dyb3VuZCAnbGlnaHQpCgkJ
KHNldC1mYWNlLWJhY2tncm91bmQgJ2ZvbnQtbG9jay1lbXBoYXNpemVkLWZhY2UKCQkJCSAg
ICAgKGlmICh4LWNvbG9yLWRlZmluZWQtcCAibGlnaHR5ZWxsb3cyIikKCQkJCQkgImxpZ2h0
eWVsbG93MiIKCQkJCSAgICAgICAibGlnaHR5ZWxsb3ciKSkpCgkgICAgICAgKChlcSBiYWNr
Z3JvdW5kICdkYXJrKQoJCShzZXQtZmFjZS1iYWNrZ3JvdW5kICdmb250LWxvY2stZW1waGFz
aXplZC1mYWNlCgkJCQkgICAgIChpZiAoeC1jb2xvci1kZWZpbmVkLXAgIm5hdnkiKQoJCQkJ
CSAibmF2eSIKCQkJCSAgICAgICAoaWYgKHgtY29sb3ItZGVmaW5lZC1wICJkYXJrZ3JlZW4i
KQoJCQkJCSAgICJkYXJrZ3JlZW4iCgkJCQkJICJkYXJrIGdyZWVuIikpKSkKCSAgICAgICAo
dCAoc2V0LWZhY2UtYmFja2dyb3VuZCAnZm9udC1sb2NrLWVtcGhhc2l6ZWQtZmFjZSAiZ3Jh
eTkwIikpKSkKCSAgICAoaWYgKGlzLWZhY2UgJ2ZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZh
Y2UpIG5pbAoJICAgICAgKGNvcHktZmFjZSAnaXRhbGljICdmb250LWxvY2stdmFyaWFibGUt
bmFtZS1mYWNlKSkKCSAgICAoaWYgKGlzLWZhY2UgJ2ZvbnQtbG9jay1yZWZlcmVuY2UtZmFj
ZSkgbmlsCgkgICAgICAoY29weS1mYWNlICdpdGFsaWMgJ2ZvbnQtbG9jay1yZWZlcmVuY2Ut
ZmFjZSkpKSkKCShzZXRxIGNwZXJsLWZhY2VzLWluaXQgdCkpCiAgICAoZXJyb3IgbmlsKSkp
CgoKKGRlZnVuIGNwZXJsLXBzLXByaW50LWluaXQgKCkKICAiSW5pdGlhbGl6YXRpb24gb2Yg
YHBzLXByaW50JyBjb21wb25lbnRzIGZvciBmYWNlcyB1c2VkIGluIENQZXJsLiIKICA7OyBH
dWFyZCBhZ2FpbnN0IG9sZCB2ZXJzaW9ucwogIChkZWZ2YXIgcHMtdW5kZXJsaW5lZC1mYWNl
cyBuaWwpCiAgKGRlZnZhciBwcy1ib2xkLWZhY2VzIG5pbCkKICAoZGVmdmFyIHBzLWl0YWxp
Yy1mYWNlcyBuaWwpCiAgKHNldHEgcHMtYm9sZC1mYWNlcwoJKGFwcGVuZCAnKGZvbnQtbG9j
ay1lbXBoYXNpemVkLWZhY2UKCQkgIGZvbnQtbG9jay1rZXl3b3JkLWZhY2UgCgkJICBmb250
LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlIAoJCSAgZm9udC1sb2NrLXJlZmVyZW5jZS1mYWNl
IAoJCSAgZm9udC1sb2NrLW90aGVyLWVtcGhhc2l6ZWQtZmFjZSkgCgkJcHMtYm9sZC1mYWNl
cykpCiAgKHNldHEgcHMtaXRhbGljLWZhY2VzCgkoYXBwZW5kICcoZm9udC1sb2NrLW90aGVy
LXR5cGUtZmFjZQoJCSAgZm9udC1sb2NrLXJlZmVyZW5jZS1mYWNlIAoJCSAgZm9udC1sb2Nr
LW90aGVyLWVtcGhhc2l6ZWQtZmFjZSkKCQlwcy1pdGFsaWMtZmFjZXMpKQogIChzZXRxIHBz
LXVuZGVybGluZWQtZmFjZXMKCShhcHBlbmQgJyhmb250LWxvY2stZW1waGFzaXplZC1mYWNl
CgkJICBmb250LWxvY2stb3RoZXItZW1waGFzaXplZC1mYWNlIAoJCSAgZm9udC1sb2NrLW90
aGVyLXR5cGUtZmFjZSBmb250LWxvY2stdHlwZS1mYWNlKQoJCXBzLXVuZGVybGluZWQtZmFj
ZXMpKQogIChjb25zICdmb250LWxvY2stdHlwZS1mYWNlIHBzLXVuZGVybGluZWQtZmFjZXMp
KQoKCihpZiAoY3BlcmwtZW5hYmxlLWZvbnQtbG9jaykgKGNwZXJsLXdpbmRvd2VkLWluaXQp
KQoKKGRlZnVuIGNwZXJsLXNldC1zdHlsZSAoc3R5bGUpCiAgIlNldCBDUGVybC1tb2RlIHZh
cmlhYmxlcyB0byB1c2Ugb25lIG9mIHNldmVyYWwgZGlmZmVyZW50IGluZGVudGF0aW9uIHN0
eWxlcy4KVGhlIGFyZ3VtZW50cyBhcmUgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBkZXNp
cmVkIHN0eWxlLgpBdmFpbGFibGUgc3R5bGVzIGFyZSBHTlUsIEsmUiwgQlNEIGFuZCBXaGl0
ZXNtaXRoLiIKICAoaW50ZXJhY3RpdmUgCiAgIChsZXQgKChsaXN0IChtYXBjYXIgKGZ1bmN0
aW9uIChsYW1iZGEgKGVsdCkgKGxpc3QgKGNhciBlbHQpKSkpIAoJCSAgICAgICBjLXN0eWxl
LWFsaXN0KSkpCiAgICAgKGxpc3QgKGNvbXBsZXRpbmctcmVhZCAiRW50ZXIgc3R5bGU6ICIg
bGlzdCBuaWwgJ2luc2lzdCkpKSkKICAobGV0ICgoc3R5bGUgKGNkciAoYXNzb2Mgc3R5bGUg
Yy1zdHlsZS1hbGlzdCkpKSBzZXR0aW5nIHN0ciBzeW0pCiAgICAod2hpbGUgc3R5bGUKICAg
ICAgKHNldHEgc2V0dGluZyAoY2FyIHN0eWxlKSBzdHlsZSAoY2RyIHN0eWxlKSkKICAgICAg
KHNldHEgc3RyIChzeW1ib2wtbmFtZSAoY2FyIHNldHRpbmcpKSkKICAgICAgKGFuZCAoc3Ry
aW5nLW1hdGNoICJeYy0iIHN0cikKCSAgIChzZXRxIHN0ciAoY29uY2F0ICJjcGVybC0iIChz
dWJzdHJpbmcgc3RyIDIpKSkKCSAgIChzZXRxIHN5bSAoaW50ZXJuLXNvZnQgc3RyKSkKCSAg
IChib3VuZHAgc3ltKQoJICAgKHNldCBzeW0gKGNkciBzZXR0aW5nKSkpKSkpCgooZGVmdW4g
Y3BlcmwtY2hlY2stc3ludGF4ICgpCiAgKGludGVyYWN0aXZlKQogIChyZXF1aXJlICdtb2Rl
LWNvbXBpbGUpCiAgKGxldCAoKHBlcmwtZGJnLWZsYWdzICItd2MiKSkKICAgIChtb2RlLWNv
bXBpbGUpKSkKCihkZWZ1biBjcGVybC1pbmZvLWJ1ZmZlciAodHlwZSkKICA7OyBSZXR1cm5z
IGJ1ZmZlciB3aXRoIGRvY3VtZW50YXRpb24uIENyZWF0ZXMgaWYgbWlzc2luZy4KICA7OyBJ
ZiBUWVBFLCB0aGlzIHZhcnMgYnVmZmVyLgogIDs7IFNwZWNpYWwgY2FyZSBpcyB0YWtlbiB0
byBub3Qgc3RvbXAgb3ZlciBhbiBleGlzdGluZyBpbmZvIGJ1ZmZlcgogIChsZXQqICgoYm5h
bWUgKGlmIHR5cGUgIippbmZvLXBlcmwtdmFyKiIgIippbmZvLXBlcmwqIikpCgkgKGluZm8g
KGdldC1idWZmZXIgYm5hbWUpKQoJIChvbGRidWYgKGdldC1idWZmZXIgIippbmZvKiIpKSkK
ICAgIChpZiBpbmZvIGluZm8KICAgICAgKHNhdmUtd2luZG93LWV4Y3Vyc2lvbgoJOzsgR2V0
IEluZm8gcnVubmluZwoJKHJlcXVpcmUgJ2luZm8pCgkoY29uZCAob2xkYnVmCgkgICAgICAg
KHNldC1idWZmZXIgb2xkYnVmKQoJICAgICAgIChyZW5hbWUtYnVmZmVyICIqaW5mby1wZXJs
LXRtcCoiKSkpCgkoc2F2ZS13aW5kb3ctZXhjdXJzaW9uCgkgIChpbmZvKSkKCShJbmZvLWZp
bmQtbm9kZSBjcGVybC1pbmZvLXBhZ2UgKGlmIHR5cGUgInBlcmx2YXIiICJwZXJsZnVuYyIp
KQoJKHNldC1idWZmZXIgIippbmZvKiIpCgkocmVuYW1lLWJ1ZmZlciBibmFtZSkKCShjb25k
IChvbGRidWYKCSAgICAgICAoc2V0LWJ1ZmZlciAiKmluZm8tcGVybC10bXAqIikKCSAgICAg
ICAocmVuYW1lLWJ1ZmZlciAiKmluZm8qIikKCSAgICAgICAoc2V0LWJ1ZmZlciBibmFtZSkp
KQoJKG1ha2UtdmFyaWFibGUtYnVmZmVyLWxvY2FsICd3aW5kb3ctbWluLWhlaWdodCkKCShz
ZXRxIHdpbmRvdy1taW4taGVpZ2h0IDIpCgkoY3VycmVudC1idWZmZXIpKSkpKQoKKGRlZnVu
IGNwZXJsLXdvcmQtYXQtcG9pbnQgKCZvcHRpb25hbCBwKQogIDs7IFJldHVybnMgdGhlIHdv
cmQgYXQgcG9pbnQgb3IgYXQgUC4KICAoc2F2ZS1leGN1cnNpb24KICAgIChpZiBwIChnb3Rv
LWNoYXIgcCkpCiAgICAob3IgKGNwZXJsLXdvcmQtYXQtcG9pbnQtaGFyZCkKCShwcm9nbgoJ
ICAocmVxdWlyZSAnZXRhZ3MpCgkgIChmdW5jYWxsIChvciAoYW5kIChib3VuZHAgJ2ZpbmQt
dGFnLWRlZmF1bHQtZnVuY3Rpb24pCgkJCSAgICBmaW5kLXRhZy1kZWZhdWx0LWZ1bmN0aW9u
KQoJCSAgICAgICAoZ2V0IG1ham9yLW1vZGUgJ2ZpbmQtdGFnLWRlZmF1bHQtZnVuY3Rpb24p
CgkJICAgICAgIDs7IFhFbWFjcyAxOS4xMiBoYXMgYGZpbmQtdGFnLWRlZmF1bHQtaG9vayc7
IGl0IGlzCgkJICAgICAgIDs7IGF1dG9tYXRpY2FsbHkgdXNlZCB3aXRoaW4gYGZpbmQtdGFn
LWRlZmF1bHQnOgoJCSAgICAgICAnZmluZC10YWctZGVmYXVsdCkpKSkpKQoKKGRlZnVuIGNw
ZXJsLWluZm8tb24tY29tbWFuZCAoY29tbWFuZCkKICAiU2hvd3MgZG9jdW1lbnRhdGlvbiBm
b3IgUGVybCBjb21tYW5kIGluIG90aGVyIHdpbmRvdy4KSWYgcGVybC1pbmZvIGJ1ZmZlciBp
cyBzaG93biBpbiBzb21lIGZyYW1lLCB1c2VzIHRoaXMgZnJhbWUuCkN1c3RvbWl6ZWQgYnkg
c2V0dGluZyB2YXJpYWJsZXMgYGNwZXJsLXNocmluay13cmFwLWluZm8tZnJhbWUnLApgY3Bl
cmwtbWF4LWhlbHAtc2l6ZScuIgogIChpbnRlcmFjdGl2ZSAKICAgKGxldCogKChkZWZhdWx0
IChjcGVybC13b3JkLWF0LXBvaW50KSkKCSAgKHJlYWQgKHJlYWQtc3RyaW5nIAoJCSAgICAg
KGZvcm1hdCAiRmluZCBkb2MgZm9yIFBlcmwgZnVuY3Rpb24gKGRlZmF1bHQgJXMpOiAiIAoJ
CQkgICAgIGRlZmF1bHQpKSkpCiAgICAgKGxpc3QgKGlmIChlcXVhbCByZWFkICIiKSAKCQkg
ICBkZWZhdWx0IAoJCSByZWFkKSkpKQoKICAobGV0ICgoYnVmZmVyIChjdXJyZW50LWJ1ZmZl
cikpCgkoY21kLWRlc2MgKGNvbmNhdCAiXiIgKHJlZ2V4cC1xdW90ZSBjb21tYW5kKSAiW15h
LXpBLVpfMC05XSIpKSA7ICJ0ci8vLyIKCXBvcyBpc3ZhciBoZWlnaHQgaW5paGVpZ2h0IGZy
aGVpZ2h0IGJ1ZiB3aW4gZnIxIGZyMiBpbml3aW4gbm90LWxvbmVyCgltYXgtaGVpZ2h0IGNo
YXItaGVpZ2h0IGJ1Zi1saXN0KQogICAgKGlmIChzdHJpbmctbWF0Y2ggIl4tW2EtekEtWl0k
IiBjb21tYW5kKQoJKHNldHEgY21kLWRlc2MgIl4tWFsgXHRcbl0iKSkKICAgIChzZXRxIGlz
dmFyIChzdHJpbmctbWF0Y2ggIl5bJEAlXSIgY29tbWFuZCkKCSAgYnVmIChjcGVybC1pbmZv
LWJ1ZmZlciBpc3ZhcikKCSAgaW5pd2luIChzZWxlY3RlZC13aW5kb3cpCgkgIGZyMSAod2lu
ZG93LWZyYW1lIGluaXdpbikpCiAgICAoc2V0LWJ1ZmZlciBidWYpCiAgICAoYmVnaW5uaW5n
LW9mLWJ1ZmZlcikKICAgIChvciBpc3ZhciAKCShwcm9nbiAocmUtc2VhcmNoLWZvcndhcmQg
Il4tWFsgXHRcbl0iKQoJICAgICAgIChmb3J3YXJkLWxpbmUgLTEpKSkKICAgIChpZiAocmUt
c2VhcmNoLWZvcndhcmQgY21kLWRlc2MgbmlsIHQpCgkocHJvZ24KCSAgOzsgR28gYmFjayB0
byBiZWdpbm5pbmcgb2YgdGhlIGdyb3VwIChleCwgZm9yIHFxKQoJICAoaWYgKHJlLXNlYXJj
aC1iYWNrd2FyZCAiXlsgXHRcblxmXSIpCgkgICAgICAoZm9yd2FyZC1saW5lIDEpKQoJICAo
YmVnaW5uaW5nLW9mLWxpbmUpCgkgIDs7IEdldCBzb21lIG9mIAoJICAoc2V0cSBwb3MgKHBv
aW50KQoJCWJ1Zi1saXN0IChsaXN0IGJ1ZiAiKmluZm8tcGVybC12YXIqIiAiKmluZm8tcGVy
bCoiKSkKCSAgKHdoaWxlIChhbmQgKG5vdCB3aW4pIGJ1Zi1saXN0KQoJICAgIChzZXRxIHdp
biAoZ2V0LWJ1ZmZlci13aW5kb3cgKGNhciBidWYtbGlzdCkgdCkpCgkgICAgKHNldHEgYnVm
LWxpc3QgKGNkciBidWYtbGlzdCkpKQoJICAob3IgKG5vdCB3aW4pCgkgICAgICAoZXEgKHdp
bmRvdy1idWZmZXIgd2luKSBidWYpCgkgICAgICAoc2V0LXdpbmRvdy1idWZmZXIgd2luIGJ1
ZikpCgkgIChhbmQgd2luIChzZXRxIGZyMiAod2luZG93LWZyYW1lIHdpbikpKQoJICAoaWYg
KG9yIChub3QgZnIyKSAoZXEgZnIxIGZyMikpCgkgICAgICAocG9wLXRvLWJ1ZmZlciBidWYp
CgkgICAgKHNwZWNpYWwtZGlzcGxheS1wb3B1cC1mcmFtZSBidWYpIDsgTWFrZSBpdCB2aXNp
YmxlCgkgICAgKHNlbGVjdC13aW5kb3cgd2luKSkKCSAgKGdvdG8tY2hhciBwb3MpCQk7IE5l
ZWRlZCAoPyEpLgoJICA7OyBSZXNpemUKCSAgKHNldHEgaW5paGVpZ2h0ICh3aW5kb3ctaGVp
Z2h0KQoJCWZyaGVpZ2h0IChmcmFtZS1oZWlnaHQpCgkJbm90LWxvbmVyICg8IGluaWhlaWdo
dCAoMS0gZnJoZWlnaHQpKSkgOyBBcmUgbm90IGFsb25lCgkgIChjb25kICgoaWYgbm90LWxv
bmVyIGNwZXJsLW1heC1oZWxwLXNpemUgCgkJICAgY3Blcmwtc2hyaW5rLXdyYXAtaW5mby1m
cmFtZSkKCQkgKHNldHEgaGVpZ2h0IAoJCSAgICAgICAoKyAyIAoJCQkgIChjb3VudC1saW5l
cyAKCQkJICAgcG9zIAoJCQkgICAoc2F2ZS1leGN1cnNpb24KCQkJICAgICAoaWYgKHJlLXNl
YXJjaC1mb3J3YXJkCgkJCQkgICJeWyBcdF1bXlxuXSpcbitcXChbXiBcdFxuXGZdXFx8XFwn
XFwpIiBuaWwgdCkKCQkJCSAobWF0Y2gtYmVnaW5uaW5nIDApIChwb2ludC1tYXgpKSkpKQoJ
CSAgICAgICBtYXgtaGVpZ2h0IAoJCSAgICAgICAoaWYgbm90LWxvbmVyCgkJCSAgICgvICgq
ICgtIGZyaGVpZ2h0IDMpIGNwZXJsLW1heC1oZWxwLXNpemUpIDEwMCkKCQkJIChzZXRxIGNo
YXItaGVpZ2h0IChmcmFtZS1jaGFyLWhlaWdodCkpCgkJCSA7OyBOb24tZnVuY3Rpb25pbmcg
dW5kZXIgT1MvMjoKCQkJIChpZiAoZXEgY2hhci1oZWlnaHQgMSkgKHNldHEgY2hhci1oZWln
aHQgMTgpKQoJCQkgOzsgVGl0bGUsIG1lbnViYXIsICsgMiBmb3Igc2xhY2sKCQkJICgtICgv
ICh4LWRpc3BsYXktcGl4ZWwtaGVpZ2h0KSBjaGFyLWhlaWdodCkgNCkKCQkJICkpCgkJIChp
ZiAoPiBoZWlnaHQgbWF4LWhlaWdodCkgKHNldHEgaGVpZ2h0IG1heC1oZWlnaHQpKQoJCSA7
OyhtZXNzYWdlICJ3YXMgJXMgZG9pbmcgJXMiIGluaWhlaWdodCBoZWlnaHQpCgkJIChpZiBu
b3QtbG9uZXIKCQkgICAgIChlbmxhcmdlLXdpbmRvdyAoLSBoZWlnaHQgaW5paGVpZ2h0KSkK
CQkgICAoc2V0LWZyYW1lLWhlaWdodCAod2luZG93LWZyYW1lIHdpbikgKDErIGhlaWdodCkp
KSkpCgkgIChzZXQtd2luZG93LXN0YXJ0IChzZWxlY3RlZC13aW5kb3cpIHBvcykpCiAgICAg
IChtZXNzYWdlICJObyBlbnRyeSBmb3IgJXMgZm91bmQuIiBjb21tYW5kKSkKICAgIDs7KHBv
cC10by1idWZmZXIgYnVmZmVyKQogICAgKHNlbGVjdC13aW5kb3cgaW5pd2luKSkpCgooZGVm
dW4gY3BlcmwtaW5mby1vbi1jdXJyZW50LWNvbW1hbmQgKCkKICAiU2hvd3MgZG9jdW1lbnRh
dGlvbiBmb3IgUGVybCBjb21tYW5kIGF0IHBvaW50IGluIG90aGVyIHdpbmRvdy4iCiAgKGlu
dGVyYWN0aXZlKQogIChjcGVybC1pbmZvLW9uLWNvbW1hbmQgKGNwZXJsLXdvcmQtYXQtcG9p
bnQpKSkKCihkZWZ1biBjcGVybC1pbWVudS1pbmZvLWltZW51LXNlYXJjaCAoKQogIChpZiAo
bG9va2luZy1hdCAiXi1YWyBcdFxuXSIpIG5pbAogICAgKHJlLXNlYXJjaC1iYWNrd2FyZAog
ICAgICJeXG5cXChbLWEtekEtWl0rXFwpWyBcdFxuXSIpCiAgICAoZm9yd2FyZC1saW5lIDEp
KSkKCihkZWZ1biBjcGVybC1pbWVudS1pbmZvLWltZW51LW5hbWUgKCkgIAogIChidWZmZXIt
c3Vic3RyaW5nCiAgIChtYXRjaC1iZWdpbm5pbmcgMSkgKG1hdGNoLWVuZCAxKSkpCgooZGVm
dW4gY3BlcmwtaW1lbnUtb24taW5mbyAoKQogIChpbnRlcmFjdGl2ZSkKICAobGV0KiAoKGJ1
ZmZlciAoY3VycmVudC1idWZmZXIpKQoJIGltZW51LWNyZWF0ZS1pbmRleC1mdW5jdGlvbgoJ
IGltZW51LXByZXYtaW5kZXgtcG9zaXRpb24tZnVuY3Rpb24gCgkgaW1lbnUtZXh0cmFjdC1p
bmRleC1uYW1lLWZ1bmN0aW9uIAoJIChpbmRleC1pdGVtIChzYXZlLXJlc3RyaWN0aW9uCgkJ
ICAgICAgIChzYXZlLXdpbmRvdy1leGN1cnNpb24KCQkJIChzZXQtYnVmZmVyIChjcGVybC1p
bmZvLWJ1ZmZlciBuaWwpKQoJCQkgKHNldHEgaW1lbnUtY3JlYXRlLWluZGV4LWZ1bmN0aW9u
IAoJCQkgICAgICAgJ2ltZW51LWRlZmF1bHQtY3JlYXRlLWluZGV4LWZ1bmN0aW9uCgkJCSAg
ICAgICBpbWVudS1wcmV2LWluZGV4LXBvc2l0aW9uLWZ1bmN0aW9uCgkJCSAgICAgICAnY3Bl
cmwtaW1lbnUtaW5mby1pbWVudS1zZWFyY2gKCQkJICAgICAgIGltZW51LWV4dHJhY3QtaW5k
ZXgtbmFtZS1mdW5jdGlvbgoJCQkgICAgICAgJ2NwZXJsLWltZW51LWluZm8taW1lbnUtbmFt
ZSkKCQkJIChpbWVudS1jaG9vc2UtYnVmZmVyLWluZGV4KSkpKSkKICAgIChhbmQgaW5kZXgt
aXRlbQoJIChwcm9nbgoJICAgKHB1c2gtbWFyaykKCSAgIChwb3AtdG8tYnVmZmVyICIqaW5m
by1wZXJsKiIpCgkgICAoY29uZAoJICAgICgobWFya2VycCAoY2RyIGluZGV4LWl0ZW0pKQoJ
ICAgICAoZ290by1jaGFyIChtYXJrZXItcG9zaXRpb24gKGNkciBpbmRleC1pdGVtKSkpKQoJ
ICAgICh0CgkgICAgIChnb3RvLWNoYXIgKGNkciBpbmRleC1pdGVtKSkpKQoJICAgKHNldC13
aW5kb3ctc3RhcnQgKHNlbGVjdGVkLXdpbmRvdykgKHBvaW50KSkKCSAgIChwb3AtdG8tYnVm
ZmVyIGJ1ZmZlcikpKSkpCgooZGVmdW4gY3BlcmwtbGluZXVwIChiZWcgZW5kICZvcHRpb25h
bCBzdGVwIG1pbnNoaWZ0KQogICJMaW5ldXAgY29uc3RydWN0aW9uIGluIGEgcmVnaW9uLgpC
ZWdpbm5pbmcgb2YgcmVnaW9uIHNob3VsZCBiZSBhdCB0aGUgc3RhcnQgb2YgYSBjb25zdHJ1
Y3Rpb24uCkFsbCBmaXJzdCBvY2N1cnJlbmNlcyBvZiB0aGlzIGNvbnN0cnVjdGlvbiBpbiB0
aGUgbGluZXMgdGhhdCBhcmUKcGFydGlhbGx5IGNvbnRhaW5lZCBpbiB0aGUgcmVnaW9uIGFy
ZSBsaW5lZCB1cCBhdCB0aGUgc2FtZSBjb2x1bW4uCgpNSU5TSElGVCBpcyB0aGUgbWluaW1h
bCBhbW91bnQgb2Ygc3BhY2UgdG8gaW5zZXJ0IGJlZm9yZSB0aGUgY29uc3RydWN0aW9uLgpT
VEVQIGlzIHRoZSB0YWJ3aWR0aCB0byBwb3NpdGlvbiBjb25zdHJ1Y3Rpb25zLgpJZiBTVEVQ
IGlzIGBuaWwnLCBgY3BlcmwtbGluZXVwLXN0ZXAnIHdpbGwgYmUgdXNlZCAKXChvciBgY3Bl
cmwtaW5kZW50LWxldmVsJywgaWYgYGNwZXJsLWxpbmV1cC1zdGVwJyBpcyBgbmlsJykuCldp
bGwgbm90IG1vdmUgdGhlIHBvc2l0aW9uIGF0IHRoZSBzdGFydCB0byB0aGUgbGVmdC4iCiAg
KGludGVyYWN0aXZlICJyIikKICAobGV0IChzZWFyY2ggY29sIHRjb2wgc2VlbiBiIGUpCiAg
ICAoc2F2ZS1leGN1cnNpb24KICAgICAgKGdvdG8tY2hhciBlbmQpCiAgICAgIChlbmQtb2Yt
bGluZSkKICAgICAgKHNldHEgZW5kIChwb2ludC1tYXJrZXIpKQogICAgICAoZ290by1jaGFy
IGJlZykKICAgICAgKHNraXAtY2hhcnMtZm9yd2FyZCAiIFx0XGYiKQogICAgICAoc2V0cSBi
ZWcgKHBvaW50LW1hcmtlcikpCiAgICAgIChpbmRlbnQtcmVnaW9uIGJlZyBlbmQgbmlsKQog
ICAgICAoZ290by1jaGFyIGJlZykKICAgICAgKHNldHEgY29sIChjdXJyZW50LWNvbHVtbikp
CiAgICAgIChpZiAobG9va2luZy1hdCAiW2EtekEtWjAtOV9dIikKCSAgKGlmIChsb29raW5n
LWF0ICJcXDxbYS16QS1aMC05X10rXFw+IikKCSAgICAgIChzZXRxIHNlYXJjaAoJCSAgICAo
Y29uY2F0ICJcXDwiIAoJCQkgICAgKHJlZ2V4cC1xdW90ZSAKCQkJICAgICAoYnVmZmVyLXN1
YnN0cmluZyAobWF0Y2gtYmVnaW5uaW5nIDApCgkJCQkJICAgICAgIChtYXRjaC1lbmQgMCkp
KSAiXFw+IikpCgkgICAgKGVycm9yICJDYW5ub3QgbGluZSB1cCBpbiBhIG1pZGRsZSBvZiB0
aGUgd29yZCIpKQoJKGlmIChsb29raW5nLWF0ICIkIikKCSAgICAoZXJyb3IgIkNhbm5vdCBs
aW5lIHVwIGVuZCBvZiBsaW5lIikpCgkoc2V0cSBzZWFyY2ggKHJlZ2V4cC1xdW90ZSAoY2hh
ci10by1zdHJpbmcgKGZvbGxvd2luZy1jaGFyKSkpKSkKICAgICAgKHNldHEgc3RlcCAob3Ig
c3RlcCBjcGVybC1saW5ldXAtc3RlcCBjcGVybC1pbmRlbnQtbGV2ZWwpKQogICAgICAob3Ig
bWluc2hpZnQgKHNldHEgbWluc2hpZnQgMSkpCiAgICAgICh3aGlsZSAocHJvZ24KCSAgICAg
ICAoYmVnaW5uaW5nLW9mLWxpbmUgMikKCSAgICAgICAoYW5kICg8IChwb2ludCkgZW5kKSAK
CQkgICAgKHJlLXNlYXJjaC1mb3J3YXJkIHNlYXJjaCBlbmQgdCkKCQkgICAgKGdvdG8tY2hh
ciAobWF0Y2gtYmVnaW5uaW5nIDApKSkpCgkoc2V0cSB0Y29sIChjdXJyZW50LWNvbHVtbikg
c2VlbiB0KQoJKGlmICg+IHRjb2wgY29sKSAoc2V0cSBjb2wgdGNvbCkpKQogICAgICAob3Ig
c2VlbgoJICAoZXJyb3IgIlRoZSBjb25zdHJ1Y3Rpb24gdG8gbGluZSB1cCBvY2N1cnJlZCBv
bmx5IG9uY2UiKSkKICAgICAgKGdvdG8tY2hhciBiZWcpCiAgICAgIChzZXRxIGNvbCAoKyBj
b2wgbWluc2hpZnQpKQogICAgICAoaWYgKC89ICglIGNvbCBzdGVwKSAwKSAoc2V0cSBzdGVw
ICgqIHN0ZXAgKDErICgvIGNvbCBzdGVwKSkpKSkKICAgICAgKHdoaWxlIAoJICAocHJvZ24K
CSAgICAoc2V0cSBlIChwb2ludCkpCgkgICAgKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcdCIp
CgkgICAgKGRlbGV0ZS1yZWdpb24gKHBvaW50KSBlKQoJICAgIChpbmRlbnQtdG8tY29sdW1u
IGNvbCk7IChtYWtlLXN0cmluZyAoLSBjb2wgKGN1cnJlbnQtY29sdW1uKSkgP1wgKSkKCSAg
ICAoYmVnaW5uaW5nLW9mLWxpbmUgMikgCgkgICAgKGFuZCAoPCAocG9pbnQpIGVuZCkgCgkJ
IChyZS1zZWFyY2gtZm9yd2FyZCBzZWFyY2ggZW5kIHQpCgkJIChnb3RvLWNoYXIgKG1hdGNo
LWJlZ2lubmluZyAwKSkpKSkpKSkgOyBObyBib2R5CgooZGVmdW4gY3BlcmwtZXRhZ3MgKCZv
cHRpb25hbCBhZGQgYWxsIGZpbGVzKQogICJSdW4gZXRhZ3Mgd2l0aCBhcHByb3ByaWF0ZSBv
cHRpb25zIGZvciBQZXJsIGZpbGVzLgpJZiBvcHRpb25hbCBhcmd1bWVudCBBTEwgaXMgYHJl
Y3Vyc2l2ZScsIHdpbGwgcHJvY2VzcyBQZXJsIGZpbGVzCmluIHN1YmRpcmVjdG9yaWVzIHRv
by4iCiAgKGludGVyYWN0aXZlKQogIChsZXQgKChjbWQgImV0YWdzIikKCShhcmdzICcoIi1s
IiAibm9uZSIgIi1yIiAiL1xcPFxcKHBhY2thZ2VcXHxzdWJcXClbIFxcdF0rXFwoXFwoW2Et
ekEtWjAtOTpfXSo6OlxcKT9cXChbYS16QS1aMC05X10rXFwpWyBcXHRdKlxcKFt7I11cXHwk
XFwpXFwpL1xcNC8iKSkKCXJlcykKICAgIChpZiBhZGQgKHNldHEgYXJncyAoY29ucyAiLWEi
IGFyZ3MpKSkKICAgIChvciBmaWxlcyAoc2V0cSBmaWxlcyAobGlzdCBidWZmZXItZmlsZS1u
YW1lKSkpCiAgICAoY29uZAogICAgICgoZXEgYWxsICdyZWN1cnNpdmUpCiAgICAgIDs7KGVy
cm9yICJOb3QgaW1wbGVtZW50ZWQ6IHJlY3Vyc2l2ZSIpCiAgICAgIChzZXRxIGFyZ3MgKGFw
cGVuZCAobGlzdCAiLWUiIAoJCQkgICAgICAgInN1YiB3YW50ZWQge3B1c2ggQEFSR1YsICRG
aWxlOjpGaW5kOjpuYW1lIGlmIC9cXC5bUHBdW0xsbV0kL30KCQkJCXVzZSBGaWxlOjpGaW5k
OwoJCQkJZmluZChcXCZ3YW50ZWQsICcuJyk7CgkJCQlleGVjIEBBUkdWOyIgCgkJCSAgICAg
ICBjbWQpIGFyZ3MpCgkgICAgY21kICJwZXJsIikpCiAgICAgKGFsbCAKICAgICAgOzsoZXJy
b3IgIk5vdCBpbXBsZW1lbnRlZDogYWxsIikKICAgICAgKHNldHEgYXJncyAoYXBwZW5kIChs
aXN0ICItZSIgCgkJCSAgICAgICAicHVzaCBAQVJHViwgPCouUEwgKi5wbCAqLnBtPjsKCQkJ
CWV4ZWMgQEFSR1Y7IiAKCQkJICAgICAgIGNtZCkgYXJncykKCSAgICBjbWQgInBlcmwiKSkK
ICAgICAodAogICAgICAoc2V0cSBhcmdzIChhcHBlbmQgYXJncyBmaWxlcykpKSkKICAgIChz
ZXRxIHJlcyAoYXBwbHkgJ2NhbGwtcHJvY2VzcyBjbWQgbmlsIG5pbCBuaWwgYXJncykpCiAg
ICAob3IgKGVxIHJlcyAwKQoJKG1lc3NhZ2UgImV0YWdzIHJldHVybmVkIFwiJXNcIiIgcmVz
KSkpKQoKKGRlZnVuIGNwZXJsLXRvZ2dsZS1hdXRvLW5ld2xpbmUgKCkKICAiVG9nZ2xlIHRo
ZSBzdGF0ZSBvZiBgY3BlcmwtYXV0by1uZXdsaW5lJy4iCiAgKGludGVyYWN0aXZlKQogIChz
ZXRxIGNwZXJsLWF1dG8tbmV3bGluZSAobm90IGNwZXJsLWF1dG8tbmV3bGluZSkpCiAgKG1l
c3NhZ2UgIk5ld2xpbmVzIHdpbGwgJXNiZSBhdXRvLWluc2VydGVkIG5vdy4iIAoJICAgKGlm
IGNwZXJsLWF1dG8tbmV3bGluZSAiIiAibm90ICIpKSkKCihkZWZ1biBjcGVybC10b2dnbGUt
YWJicmV2ICgpCiAgIlRvZ2dsZSB0aGUgc3RhdGUgb2YgYXV0b21hdGljIGtleXdvcmQgZXhw
YW5zaW9uIGluIENQZXJsIG1vZGUuIgogIChpbnRlcmFjdGl2ZSkKICAoYWJicmV2LW1vZGUg
KGlmIGFiYnJldi1tb2RlIDAgMSkpCiAgKG1lc3NhZ2UgIlBlcmwgY29udHJvbCBzdHJ1Y3R1
cmUgd2lsbCAlc2JlIGF1dG8taW5zZXJ0ZWQgbm93LiIgCgkgICAoaWYgYWJicmV2LW1vZGUg
IiIgIm5vdCAiKSkpCgoKKGRlZnVuIGNwZXJsLXRvZ2dsZS1lbGVjdHJpYyAoKQogICJUb2dn
bGUgdGhlIHN0YXRlIG9mIHBhcmVudGhlc2VzIGRvdWJsaW5nIGluIENQZXJsIG1vZGUuIgog
IChpbnRlcmFjdGl2ZSkKICAoc2V0cSBjcGVybC1lbGVjdHJpYy1wYXJlbnMgKGlmIChjcGVy
bC12YWwgJ2NwZXJsLWVsZWN0cmljLXBhcmVucykgJ251bGwgdCkpCiAgKG1lc3NhZ2UgIlBh
cmVudGhlc2VzIHdpbGwgJXNiZSBhdXRvLWRvdWJsZWQgbm93LiIgCgkgICAoaWYgKGNwZXJs
LXZhbCAnY3BlcmwtZWxlY3RyaWMtcGFyZW5zKSAiIiAibm90ICIpKSkKCjs7OzsgVGFncyBm
aWxlIGNyZWF0aW9uLgoKKGRlZnZhciBjcGVybC10bXAtYnVmZmVyICIgKmNwZXJsLXRtcCoi
KQoKKGRlZnVuIGNwZXJsLXNldHVwLXRtcC1idWYgKCkKICAoc2V0LWJ1ZmZlciAoZ2V0LWJ1
ZmZlci1jcmVhdGUgY3BlcmwtdG1wLWJ1ZmZlcikpCiAgKHNldC1zeW50YXgtdGFibGUgY3Bl
cmwtbW9kZS1zeW50YXgtdGFibGUpCiAgKGJ1ZmZlci1kaXNhYmxlLXVuZG8pCiAgKGF1dG8t
ZmlsbC1tb2RlIDApKQoKKGRlZnVuIGNwZXJsLXhzdWItc2NhbiAoKQogIChyZXF1aXJlICdj
bCkKICAocmVxdWlyZSAnaW1lbnUpCiAgKGxldCAoKGluZGV4LWFsaXN0ICcoKSkgCgkocHJl
di1wb3MgMCkgaW5kZXggaW5kZXgxIG5hbWUgcGFja2FnZSBwcmVmaXgpCiAgICAoZ290by1j
aGFyIChwb2ludC1taW4pKQogICAgKGltZW51LXByb2dyZXNzLW1lc3NhZ2UgcHJldi1wb3Mg
MCkKICAgIDs7IFNlYXJjaCBmb3IgdGhlIGZ1bmN0aW9uCiAgICAocHJvZ24gOztzYXZlLW1h
dGNoLWRhdGEKICAgICAgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZAoJICAgICAgIl5cXChb
IFx0XSpNT0RVTEVcXD5bXlxuXSpcXDxQQUNLQUdFWyBcdF0qPVsgXHRdKlxcKFthLXpBLVpf
XVthLXpBLVpfMC05Ol0qXFwpXFw+XFx8XFwoW2EtekEtWl9dW2EtekEtWl8wLTldKlxcKShc
XHxbIFx0XSpCT09UOlxcKSIKCSAgICAgIG5pbCB0KQoJKGltZW51LXByb2dyZXNzLW1lc3Nh
Z2UgcHJldi1wb3MpCgkoY29uZAoJICgobWF0Y2gtYmVnaW5uaW5nIDIpCTsgU0VDVElPTgoJ
ICAoc2V0cSBwYWNrYWdlIChidWZmZXItc3Vic3RyaW5nIChtYXRjaC1iZWdpbm5pbmcgMikg
KG1hdGNoLWVuZCAyKSkpCgkgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKCSAg
KHNraXAtY2hhcnMtZm9yd2FyZCAiIFx0IikKCSAgKGZvcndhcmQtY2hhciAxKQoJICAoaWYg
KGxvb2tpbmctYXQgIlteXG5dKlxcPFBSRUZJWFsgXHRdKj1bIFx0XSpcXChbYS16QS1aX11b
YS16QS1aXzAtOV0qXFwpXFw+IikKCSAgICAgIChzZXRxIHByZWZpeCAoYnVmZmVyLXN1YnN0
cmluZyAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRjaC1lbmQgMSkpKQoJICAgIChzZXRxIHBy
ZWZpeCBuaWwpKSkKCSAoKG5vdCBwYWNrYWdlKSBuaWwpCQk7IEMgbGFuZ3VhZ2Ugc2VjdGlv
bgoJICgobWF0Y2gtYmVnaW5uaW5nIDMpCQk7IFhTVUIKCSAgKGdvdG8tY2hhciAoMSsgKG1h
dGNoLWJlZ2lubmluZyAzKSkpCgkgIChzZXRxIGluZGV4IChpbWVudS1leGFtcGxlLS1uYW1l
LWFuZC1wb3NpdGlvbikpCgkgIChzZXRxIG5hbWUgKGJ1ZmZlci1zdWJzdHJpbmcgKG1hdGNo
LWJlZ2lubmluZyAzKSAobWF0Y2gtZW5kIDMpKSkKCSAgKGlmIChhbmQgcHJlZml4IChzdHJp
bmctbWF0Y2ggKGNvbmNhdCAiXiIgcHJlZml4KSBuYW1lKSkKCSAgICAgIChzZXRxIG5hbWUg
KHN1YnN0cmluZyBuYW1lIChsZW5ndGggcHJlZml4KSkpKQoJICAoY29uZCAoKHN0cmluZy1t
YXRjaCAiOjoiIG5hbWUpIG5pbCkKCQkodAoJCSAoc2V0cSBpbmRleDEgKGNvbnMgKGNvbmNh
dCBwYWNrYWdlICI6OiIgbmFtZSkgKGNkciBpbmRleCkpKQoJCSAocHVzaCBpbmRleDEgaW5k
ZXgtYWxpc3QpKSkKCSAgKHNldGNhciBpbmRleCBuYW1lKQoJICAocHVzaCBpbmRleCBpbmRl
eC1hbGlzdCkpCgkgKHQJCQkJOyBCT09UOiBzZWN0aW9uCgkgIDs7IChiZWdpbm5pbmctb2Yt
bGluZSkKCSAgKHNldHEgaW5kZXggKGltZW51LWV4YW1wbGUtLW5hbWUtYW5kLXBvc2l0aW9u
KSkKCSAgKHNldGNhciBpbmRleCAoY29uY2F0IHBhY2thZ2UgIjo6Qk9PVDoiKSkKCSAgKHB1
c2ggaW5kZXggaW5kZXgtYWxpc3QpKSkpKQogICAgKGltZW51LXByb2dyZXNzLW1lc3NhZ2Ug
cHJldi1wb3MgMTAwKQogICAgOzsoc2V0cSBpbmRleC1hbGlzdCAKICAgIDs7ICAgICAgKGlm
IChkZWZhdWx0LXZhbHVlICdpbWVudS1zb3J0LWZ1bmN0aW9uKQogICAgOzsgICAgICAgICAg
KHNvcnQgaW5kZXgtYWxpc3QgKGRlZmF1bHQtdmFsdWUgJ2ltZW51LXNvcnQtZnVuY3Rpb24p
KQogICAgOzsgICAgICAgICAgKG5yZXZlcnNlIGluZGV4LWFsaXN0KSkpCiAgICBpbmRleC1h
bGlzdCkpCgooZGVmdW4gY3BlcmwtZmluZC10YWdzIChmaWxlIHhzKQogIChsZXQgKGluZCAo
YiAoZ2V0LWJ1ZmZlciBjcGVybC10bXAtYnVmZmVyKSkgbHN0IGVsdCBwb3MgcmV0KQogICAg
KHNhdmUtZXhjdXJzaW9uCiAgICAgIChpZiBiIChzZXQtYnVmZmVyIGIpCgkgIChjcGVybC1z
ZXR1cC10bXAtYnVmKSkKICAgICAgKGVyYXNlLWJ1ZmZlcikKICAgICAgKHNldHEgZmlsZSAo
Y2FyIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlKSkpCiAgICAgIChtZXNzYWdlICJTY2Fu
bmluZyBmaWxlICVzLi4uIiBmaWxlKQogICAgICAoaWYgeHMKCSAgKHNldHEgbHN0IChjcGVy
bC14c3ViLXNjYW4pKQoJKHNldHEgaW5kIChpbWVudS1leGFtcGxlLS1jcmVhdGUtcGVybC1p
bmRleCkpCgkoc2V0cSBsc3QgKGNkciAoYXNzb2MgIitVbnNvcnRlZCBMaXN0Ky4uLiIgaW5k
KSkpKQogICAgICAoc2V0cSBsc3QgCgkgICAgKG1hcGNhciAKCSAgICAgKGZ1bmN0aW9uIAoJ
ICAgICAgKGxhbWJkYSAoZWx0KQoJCShjb25kICgoc3RyaW5nLW1hdGNoICJeW19hLXpBLVpd
IiAoY2FyIGVsdCkpCgkJICAgICAgIChnb3RvLWNoYXIgKGNkciBlbHQpKQoJCSAgICAgICAo
bGlzdCAoY2FyIGVsdCkgCgkJCSAgICAgKHBvaW50KSAoY291bnQtbGluZXMgMSAocG9pbnQp
KQoJCQkgICAgIChidWZmZXItc3Vic3RyaW5nIChwcm9nbgoJCQkJCQkgKHNraXAtY2hhcnMt
Zm9yd2FyZCAKCQkJCQkJICAiOl9hLXpBLVowLTkiKQoJCQkJCQkgKG9yIChlb2xwKSAoZm9y
d2FyZC1jaGFyIDEpKQoJCQkJCQkgKHBvaW50KSkKCQkJCQkgICAgICAgKHByb2duCgkJCQkJ
CSAoYmVnaW5uaW5nLW9mLWxpbmUpCgkJCQkJCSAocG9pbnQpKSkpKSkpKQoJCSAgICBsc3Qp
KQogICAgICAoZXJhc2UtYnVmZmVyKQogICAgICAod2hpbGUgbHN0Cgkoc2V0cSBlbHQgKGNh
ciBsc3QpIGxzdCAoY2RyIGxzdCkpCgkoaWYgZWx0CgkgICAgKHByb2duCgkgICAgICAoaW5z
ZXJ0IChlbHQgZWx0IDMpIAoJCSAgICAgIDEyNwoJCSAgICAgIChpZiAoc3RyaW5nLW1hdGNo
ICJecGFja2FnZSAiIChjYXIgZWx0KSkKCQkJICAoc3Vic3RyaW5nIChjYXIgZWx0KSA4KQoJ
CQkoY2FyIGVsdCkgKQoJCSAgICAgIDEKCQkgICAgICAobnVtYmVyLXRvLXN0cmluZyAoZWx0
IGVsdCAxKSkKCQkgICAgICAiLCIKCQkgICAgICAobnVtYmVyLXRvLXN0cmluZyAoZWx0IGVs
dCAyKSkKCQkgICAgICAiXG4iKQoJICAgICAgKGlmIChhbmQgKHN0cmluZy1tYXRjaCAiXltf
YS16QS1aXSs6OiIgKGNhciBlbHQpKQoJCSAgICAgICAoc3RyaW5nLW1hdGNoICJec3ViWyBc
dF0rXFwoW19hLXpBLVpdK1xcKVteOl9hLXpBLVpdIgoJCQkJICAgICAoZWx0IGVsdCAzKSkp
CgkJICA7OyBOZWVkIHRvIGluc2VydCB0aGUgbmFtZSB3aXRob3V0IHBhY2thZ2UgYXMgd2Vs
bAoJCSAgKHNldHEgbHN0IChjb25zIChjb25zIChzdWJzdHJpbmcgKGVsdCBlbHQgMykgCgkJ
CQkJCSAgIChtYXRjaC1iZWdpbm5pbmcgMSkKCQkJCQkJICAgKG1hdGNoLWVuZCAxKSkKCQkJ
CQkoY2RyIGVsdCkpCgkJCQkgIGxzdCkpKSkpKQogICAgICAoc2V0cSBwb3MgKHBvaW50KSkK
ICAgICAgKGdvdG8tY2hhciAxKQogICAgICAoaW5zZXJ0ICJcZlxuIiBmaWxlICIsIiAobnVt
YmVyLXRvLXN0cmluZyAoMS0gcG9zKSkgIlxuIikKICAgICAgKHNldHEgcmV0IChidWZmZXIt
c3Vic3RyaW5nIDEgKHBvaW50LW1heCkpKQogICAgICAoZXJhc2UtYnVmZmVyKQogICAgICAo
bWVzc2FnZSAiU2Nhbm5pbmcgZmlsZSAlcyBmaW5pc2hlZCIgZmlsZSkKICAgICAgcmV0KSkp
CgooZGVmdW4gY3Blcmwtd3JpdGUtdGFncyAoJm9wdGlvbmFsIGZpbGUgZXJhc2UgcmVjdXJz
ZSBkaXIgaW5idWZmZXIpCiAgOzsgSWYgSU5CVUZGRVIsIGRvIG5vdCBzZWxlY3QgYnVmZmVy
LCBhbmQgZG8gbm90IHNhdmUKICA7OyBJZiBFUkFTRSBpcyBgaWdub3JlJywgZG8gbm90IGVy
YXNlLCBhbmQgZG8gbm90IHRyeSB0byBkZWxldGUgb2xkIGluZm8uCiAgKHJlcXVpcmUgJ2V0
YWdzKQogIChpZiBmaWxlIG5pbAogICAgKHNldHEgZmlsZSAoaWYgZGlyIGRlZmF1bHQtZGly
ZWN0b3J5IChidWZmZXItZmlsZS1uYW1lKSkpCiAgICAoaWYgKGFuZCAobm90IGRpcikgKGJ1
ZmZlci1tb2RpZmllZC1wKSkgKGVycm9yICJTYXZlIGJ1ZmZlciBmaXJzdCEiKSkpCiAgKGxl
dCAoKHRhZ3MtZmlsZS1uYW1lICJUQUdTIikKCShjYXNlLWZvbGQtc2VhcmNoIChlcSBzeXN0
ZW0tdHlwZSAnZW14KSkKCXhzKQogICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgIChjb25kIChp
bmJ1ZmZlciBuaWwpCQk7IEFscmVhZHkgdGhlcmUKCSAgICAoKGZpbGUtZXhpc3RzLXAgdGFn
cy1maWxlLW5hbWUpCgkgICAgICh2aXNpdC10YWdzLXRhYmxlLWJ1ZmZlciB0YWdzLWZpbGUt
bmFtZSkpCgkgICAgKHQgKHNldC1idWZmZXIgKGZpbmQtZmlsZS1ub3NlbGVjdCB0YWdzLWZp
bGUtbmFtZSkpKSkKICAgICAgKGNvbmQKICAgICAgIChkaXIKCShjb25kICgoZXEgZXJhc2Ug
J2lnbm9yZSkpCgkgICAgICAoZXJhc2UKCSAgICAgICAoZXJhc2UtYnVmZmVyKQoJICAgICAg
IChzZXRxIGVyYXNlICdpZ25vcmUpKSkKCShsZXQgKChmaWxlcyAKCSAgICAgICAoZGlyZWN0
b3J5LWZpbGVzIGZpbGUgdCAoaWYgcmVjdXJzZSBuaWwgIlxcLltQcF1bTGxtXSQiKSB0KSkp
CgkgIChtYXBjYXIgKGZ1bmN0aW9uIChsYW1iZGEgKGZpbGUpCgkJCSAgICAgIChjb25kCgkJ
CSAgICAgICAoKHN0cmluZy1tYXRjaCAiL1xcLlxcLj8kIiBmaWxlKSBuaWwpCgkJCSAgICAg
ICAoKG5vdCAoZmlsZS1kaXJlY3RvcnktcCBmaWxlKSkKCQkJCShpZiAoc3RyaW5nLW1hdGNo
ICJcXC5cXChbUHBdW0xsbV1cXHx4c1xcKSQiIGZpbGUpCgkJCQkgICAgKGNwZXJsLXdyaXRl
LXRhZ3MgZmlsZSBlcmFzZSByZWN1cnNlIG5pbCB0KSkpCgkJCSAgICAgICAoKG5vdCByZWN1
cnNlKSBuaWwpCgkJCSAgICAgICAodCAoY3Blcmwtd3JpdGUtdGFncyBmaWxlIGVyYXNlIHJl
Y3Vyc2UgdCB0KSkpKSkKCQkgIGZpbGVzKSkKCSkKICAgICAgICh0Cgkoc2V0cSB4cyAoc3Ry
aW5nLW1hdGNoICJcXC54cyQiIGZpbGUpKQoJKGNvbmQgKChlcSBlcmFzZSAnaWdub3JlKSAo
Z290by1jaGFyIChwb2ludC1tYXgpKSkKCSAgICAgIChlcmFzZSAoZXJhc2UtYnVmZmVyKSkK
CSAgICAgICh0CgkgICAgICAgKGdvdG8tY2hhciAxKQoJICAgICAgIChpZiAoc2VhcmNoLWZv
cndhcmQgKGNvbmNhdCAiXGZcbiIgZmlsZSAiLCIpIG5pbCB0KQoJCSAgIChwcm9nbgoJCSAg
ICAgKHNlYXJjaC1iYWNrd2FyZCAiXGZcbiIpCgkJICAgICAoZGVsZXRlLXJlZ2lvbiAocG9p
bnQpCgkJCQkgICAgKHByb2duIAoJCQkJICAgICAgKGZvcndhcmQtY2hhciAxKQoJCQkJICAg
ICAgKHNlYXJjaC1mb3J3YXJkICJcZlxuIiBuaWwgJ3RvZW5kKQoJCQkJICAgICAgKHBvaW50
KSkpKQoJCSAoZ290by1jaGFyIChwb2ludC1tYXgpKSkpKQoJKGluc2VydCAoY3BlcmwtZmlu
ZC10YWdzIGZpbGUgeHMpKSkpCiAgICAgIChpZiBpbmJ1ZmZlciBuaWwJCTsgRGVsZWdhdGUg
dG8gdGhlIGNhbGxlcgoJKHNhdmUtYnVmZmVyIDApCQk7IE5vIGJhY2t1cAoJKGlmIChmYm91
bmRwICdpbml0aWFsaXplLW5ldy10YWdzLXRhYmxlKSA7IERvIHdlIG5lZWQgc29tZXRoaW5n
IHNwZWNpYWwgaW4gWEVtYWNzPwoJICAgIChpbml0aWFsaXplLW5ldy10YWdzLXRhYmxlKSkp
KSkpCgooZGVmdmFyIGNwZXJsLXRhZ3MtaGllci1yZWdleHAtbGlzdAogICJeXFwoXFwocGFj
a2FnZVxcKVxcPlxcfHN1YlxcPlteXG5dKzo6XFx8W2EtekEtWl9dW2EtekEtWl8wLTk6XSoo
XEMtP1teXG5dKzo6XFx8WyBcdF0qQk9PVDpcQy0/W15cbl0rOjpcXCkiKQoKKGRlZnZhciBj
cGVybC1oaWVyYXJjaHkgJygoKSAoKSkKICAiR2xvYmFsIGhpZXJhcmNoeSBvZiBjbGFzc2Vz
IikKCihkZWZ1biBjcGVybC10YWdzLWhpZXItZmlsbCAoKQogIDs7IFN1cHBvc2Ugd2UgYXJl
IGluIGEgdGFnIHRhYmxlIGNvb2tlZCBieSBjcGVybC4KICAoZ290by1jaGFyIDEpCiAgKGxl
dCAodHlwZSBwYWNrIG5hbWUgcG9zIGxpbmUgY2h1bmsgb3JkIGNvbnMxIGZpbGUgc3RyIGlu
Zm8gZmlsZWluZCkKICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgY3BlcmwtdGFncy1o
aWVyLXJlZ2V4cC1saXN0IG5pbCB0KQogICAgICAoc2V0cSBwb3MgKG1hdGNoLWJlZ2lubmlu
ZyAwKSAKCSAgICBwYWNrIChtYXRjaC1iZWdpbm5pbmcgMikpCiAgICAgIChiZWdpbm5pbmct
b2YtbGluZSkKICAgICAgKGlmIChsb29raW5nLWF0ICJcXChbXlxuXStcXClcQy0/XFwoW15c
bl0rXFwpXEMtYVxcKFswLTldK1xcKSxcXChbMC05XStcXCkiKQoJICAocHJvZ24KCSAgICAo
c2V0cSA7O3N0ciAoYnVmZmVyLXN1YnN0cmluZyAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRj
aC1lbmQgMSkpCgkJICBuYW1lIChidWZmZXItc3Vic3RyaW5nIChtYXRjaC1iZWdpbm5pbmcg
MikgKG1hdGNoLWVuZCAyKSkKCQkgIDs7cG9zIChidWZmZXItc3Vic3RyaW5nIChtYXRjaC1i
ZWdpbm5pbmcgMykgKG1hdGNoLWVuZCAzKSkKCQkgIGxpbmUgKGJ1ZmZlci1zdWJzdHJpbmcg
KG1hdGNoLWJlZ2lubmluZyA0KSAobWF0Y2gtZW5kIDQpKQoJCSAgb3JkIChpZiBwYWNrIDEg
MCkKCQkgIGluZm8gKGV0YWdzLXNuYXJmLXRhZykgOyBNb3ZlcyB0byBiZWdpbm5pbmcgb2Yg
dGhlIG5leHQgbGluZQoJCSAgZmlsZSAoZmlsZS1vZi10YWcpCgkJICBmaWxlaW5kIChmb3Jt
YXQgIiVzOiVzIiBmaWxlIGxpbmUpKQoJICAgIDs7IE1vdmUgYmFjawoJICAgIChmb3J3YXJk
LWNoYXIgLTEpCgkgICAgOzsgTWFrZSBuZXcgbWVtYmVyIG9mIGhpZXJhcmNoeSBuYW1lID09
PiBmaWxlID09PiBwb3MgaWYgbmVlZGVkCgkgICAgKGlmIChzZXRxIGNvbnMxIChhc3NvYyBu
YW1lIChudGggb3JkIGNwZXJsLWhpZXJhcmNoeSkpKQoJCTs7IE5hbWUga25vd24KCQkoc2V0
Y2RyIGNvbnMxIChjb25zIChjb25zIGZpbGVpbmQgKHZlY3RvciBmaWxlIGluZm8pKQoJCQkJ
ICAgIChjZHIgY29uczEpKSkKCSAgICAgIDs7IEZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIG5h
bWUsIHN0YXJ0IGFsaXN0CgkgICAgICAoc2V0cSBjb25zMSAoY29ucyBuYW1lIChsaXN0IChj
b25zIGZpbGVpbmQgKHZlY3RvciBmaWxlIGluZm8pKSkpKQoJICAgICAgKGlmIHBhY2sgCgkJ
ICAoc2V0Y2FyIChjZHIgY3BlcmwtaGllcmFyY2h5KQoJCQkgIChjb25zIGNvbnMxIChudGgg
MSBjcGVybC1oaWVyYXJjaHkpKSkKCQkoc2V0Y2FyIGNwZXJsLWhpZXJhcmNoeQoJCQkoY29u
cyBjb25zMSAoY2FyIGNwZXJsLWhpZXJhcmNoeSkpKSkpKSkKICAgICAgKGVuZC1vZi1saW5l
KSkpKQoKKGRlZnVuIGNwZXJsLXRhZ3MtaGllci1pbml0ICgmb3B0aW9uYWwgdXBkYXRlKQog
ICJTaG93IGhpZXJhcmNoaWNhbCBtZW51IG9mIGNsYXNzZXMgYW5kIG1ldGhvZHMuCkZpbmRz
IGluZm8gYWJvdXQgY2xhc3NlcyBieSBhIHNjYW4gb2YgbG9hZGVkIFRBR1MgZmlsZXMuClN1
cHBvc2VzIHRoYXQgdGhlIFRBR1MgZmlsZXMgY29udGFpbiBmdWxseSBxdWFsaWZpZWQgZnVu
Y3Rpb24gbmFtZXMuCk9uZSBtYXkgYnVpbGQgc3VjaCBUQUdTIGZpbGVzIGZyb20gQ1Blcmwg
bW9kZSBtZW51LiIKICAoaW50ZXJhY3RpdmUpCiAgKHJlcXVpcmUgJ2V0YWdzKQogIChyZXF1
aXJlICdpbWVudSkKICAoaWYgKG9yIHVwZGF0ZSAobnVsbCAobnRoIDIgY3BlcmwtaGllcmFy
Y2h5KSkpCiAgICAgIChsZXQgKHBhY2sgbmFtZSBjb25zMSB0byBsMSBsMiBsMyBsNAoJCSAo
cmVtb3ZlciAoZnVuY3Rpb24gKGxhbWJkYSAoZWx0KSA7IChuYW1lIChmaWxlMS4uLikgKGZp
bGUyLi4pKQoJCQkJICAgICAgKG9yIChudGhjZHIgMiBlbHQpCgkJCQkJICA7OyBPbmx5IGlu
IG9uZSBmaWxlCgkJCQkJICAoc2V0Y2RyIGVsdCAoY2RyIChudGggMSBlbHQpKSkpKSkpKQoJ
OzsgKHNldHEgY3BlcmwtaGllcmFyY2h5ICcoKCkgKCkgKCkpKSA7IFdvdWxkIHdyaXRlIGlu
dG8gJygpIGxhdGVyIQoJKHNldHEgY3BlcmwtaGllcmFyY2h5IChsaXN0IGwxIGwyIGwzKSkK
CShvciB0YWdzLXRhYmxlLWxpc3QKCSAgICAoY2FsbC1pbnRlcmFjdGl2ZWx5ICd2aXNpdC10
YWdzLXRhYmxlKSkKCShtZXNzYWdlICJVcGRhdGluZyBsaXN0IG9mIGNsYXNzZXMuLi4iKQoJ
KG1hcGNhciAKCSAoZnVuY3Rpb24KCSAgKGxhbWJkYSAodGFnc2ZpbGUpCgkgICAgKHNldC1i
dWZmZXIgKGdldC1maWxlLWJ1ZmZlciB0YWdzZmlsZSkpCgkgICAgKGNwZXJsLXRhZ3MtaGll
ci1maWxsKSkpCgkgdGFncy10YWJsZS1saXN0KQoJKG1hcGNhciByZW1vdmVyIChjYXIgY3Bl
cmwtaGllcmFyY2h5KSkKCShtYXBjYXIgcmVtb3ZlciAobnRoIDEgY3BlcmwtaGllcmFyY2h5
KSkKCShzZXRxIHRvIChsaXN0IG5pbCAoY29ucyAiUGFja2FnZXM6ICIgKG50aCAxIGNwZXJs
LWhpZXJhcmNoeSkpCgkJICAgICAgIChjb25zICJNZXRob2RzOiAiIChjYXIgY3BlcmwtaGll
cmFyY2h5KSkpKQoJKGNwZXJsLXRhZ3MtdHJlZWlmeSB0byAxKQoJKHNldGNhciAobnRoY2Ry
IDIgY3BlcmwtaGllcmFyY2h5KQoJCShjcGVybC1tZW51LXRvLWtleW1hcCAoY29ucyAnKCIr
KytVUERBVEUrKysiIC4gLTk5OSkgKGNkciB0bykpKSkKCShtZXNzYWdlICJVcGRhdGluZyBs
aXN0IG9mIGNsYXNzZXM6IGRvbmUsIHJlcXVlc3RpbmcgZGlzcGxheS4uLiIpCgk7OyhjcGVy
bC1pbWVudS1hZGRiYWNrIChudGggMiBjcGVybC1oaWVyYXJjaHkpKQoJKSkKICAob3IgKG50
aCAyIGNwZXJsLWhpZXJhcmNoeSkKICAgICAgKGVycm9yICJObyBpdGVtcyBmb3VuZCIpKQog
IChzZXRxIHVwZGF0ZQo7OzsJKGltZW51LWNob29zZS1idWZmZXItaW5kZXggIlBhY2thZ2Vz
OiAiIChudGggMiBjcGVybC1oaWVyYXJjaHkpKQoJKGlmIHdpbmRvdy1zeXN0ZW0KCSAgICAo
eC1wb3B1cC1tZW51IHQgKG50aCAyIGNwZXJsLWhpZXJhcmNoeSkpCgkgIChyZXF1aXJlICd0
bW0pCgkgICh0bW0tcHJvbXB0IHQgKG50aCAyIGNwZXJsLWhpZXJhcmNoeSkpKSkKICAoaWYg
KGFuZCB1cGRhdGUgKGxpc3RwIHVwZGF0ZSkpCiAgICAgIChwcm9nbiAod2hpbGUgKGNkciB1
cGRhdGUpIChzZXRxIHVwZGF0ZSAoY2RyIHVwZGF0ZSkpKQoJICAgICAoc2V0cSB1cGRhdGUg
KGNhciB1cGRhdGUpKSkpIDsgR2V0IHRoZSBsYXN0IGZyb20gdGhlIGxpc3QKICAoaWYgKHZl
Y3RvcnAgdXBkYXRlKSAKICAgICAgKHByb2duCgkoZmluZC1maWxlIChlbHQgdXBkYXRlIDAp
KQoJKGV0YWdzLWdvdG8tdGFnLWxvY2F0aW9uIChlbHQgdXBkYXRlIDEpKSkpCiAgKGlmIChl
cSB1cGRhdGUgLTk5OSkgKGNwZXJsLXRhZ3MtaGllci1pbml0IHQpKSkKCihkZWZ1biBjcGVy
bC10YWdzLXRyZWVpZnkgKHRvIGxldmVsKQogIDs7IGNhZHIgb2YgdG8gaXMgcmVhZC13cml0
ZS4gT24gc3RhcnQgaXQgaXMgYSBjb25zCiAgKGxldCogKChyZWdleHAgKGNvbmNhdCAiXlxc
KCIgKG1hcGNvbmNhdCAKCQkJCSAnaWRlbnRpdHkKCQkJCSAobWFrZS1saXN0IGxldmVsICJb
X2EtekEtWjAtOV0rIikKCQkJCSAiOjoiKQoJCQkgIlxcKVxcKDo6XFwpPyIpKQoJIChwYWNr
YWdlcyAoY2RyIChudGggMSB0bykpKQoJIChtZXRob2RzIChjZHIgKG50aCAyIHRvKSkpCgkg
bDEgaGVhZCB0YWlsIGNvbnMxIGNvbnMyIG9yZCB3cml0ZXRvIHBhY2tzIHJlY3Vyc2UKCSBy
b290LXBhY2thZ2VzIHJvb3QtZnVuY3Rpb25zIG1zIG1hbnlfbXMgc2FtZV9uYW1lIHBzCgkg
KG1vdmUtZGVlcGVyCgkgIChmdW5jdGlvbiAKCSAgIChsYW1iZGEgKGVsdCkKCSAgICAgKGNv
bmQgKChhbmQgKHN0cmluZy1tYXRjaCByZWdleHAgKGNhciBlbHQpKQoJCQkgKG9yIChlcSBv
cmQgMSkgKG1hdGNoLWVuZCAyKSkpCgkJICAgIChzZXRxIGhlYWQgKHN1YnN0cmluZyAoY2Fy
IGVsdCkgMCAobWF0Y2gtZW5kIDEpKQoJCQkgIHRhaWwgKGlmIChtYXRjaC1lbmQgMikgKHN1
YnN0cmluZyAoY2FyIGVsdCkgCgkJCQkJCQkgICAgKG1hdGNoLWVuZCAyKSkpCgkJCSAgcmVj
dXJzZSB0KQoJCSAgICAoaWYgKHNldHEgY29uczEgKGFzc29jIGhlYWQgd3JpdGV0bykpIG5p
bAoJCSAgICAgIDs7IE5lZWQgdG8gaW5pdCBuZXcgaGVhZAoJCSAgICAgIChzZXRjZHIgd3Jp
dGV0byAoY29ucyAobGlzdCBoZWFkIChsaXN0ICJQYWNrYWdlczogIikKCQkJCQkJICAobGlz
dCAiTWV0aG9kczogIikpCgkJCQkJICAgIChjZHIgd3JpdGV0bykpKQoJCSAgICAgIChzZXRx
IGNvbnMxIChudGggMSB3cml0ZXRvKSkpCgkJICAgIChzZXRxIGNvbnMyIChudGggb3JkIGNv
bnMxKSkgOyBFaXRoZXIgcGFja3Mgb3IgbWV0aHMKCQkgICAgKHNldGNkciBjb25zMiAoY29u
cyBlbHQgKGNkciBjb25zMikpKSkKCQkgICAoKGVxIG9yZCAyKQoJCSAgICAoc2V0cSByb290
LWZ1bmN0aW9ucyAoY29ucyBlbHQgcm9vdC1mdW5jdGlvbnMpKSkKCQkgICAodAoJCSAgICAo
c2V0cSByb290LXBhY2thZ2VzIChjb25zIGVsdCByb290LXBhY2thZ2VzKSkpKSkpKSkKICAg
IChzZXRjZHIgdG8gbDEpCQkJOyBJbml0IHRvIGR5bmFtaWMgc3BhY2UKICAgIChzZXRxIHdy
aXRldG8gdG8pCiAgICAoc2V0cSBvcmQgMSkKICAgIChtYXBjYXIgbW92ZS1kZWVwZXIgcGFj
a2FnZXMpCiAgICAoc2V0cSBvcmQgMikKICAgIChtYXBjYXIgbW92ZS1kZWVwZXIgbWV0aG9k
cykKICAgIChpZiByZWN1cnNlCgkobWFwY2FyIChmdW5jdGlvbiAobGFtYmRhIChlbHQpCgkJ
CSAgKGNwZXJsLXRhZ3MtdHJlZWlmeSBlbHQgKDErIGxldmVsKSkpKQoJCShjZHIgdG8pKSkK
ICAgIDs7IE5vdyBhZGQgYmFjayBmdW5jdGlvbnMgcmVtb3ZlZCBmcm9tIGRpc3BsYXkKICAg
IChtYXBjYXIgKGZ1bmN0aW9uIChsYW1iZGEgKGVsdCkKCQkJKHNldGNkciB0byAoY29ucyBl
bHQgKGNkciB0bykpKSkpCgkgICAgcm9vdC1mdW5jdGlvbnMpCiAgICA7OyBOb3cgYWRkIGJh
Y2sgcGFja2FnZXMgcmVtb3ZlZCBmcm9tIGRpc3BsYXkKICAgIChtYXBjYXIgKGZ1bmN0aW9u
IChsYW1iZGEgKGVsdCkKCQkJKHNldGNkciB0byAoY29ucyAoY29ucyAoY29uY2F0ICJwYWNr
YWdlICIgKGNhciBlbHQpKSAKCQkJCQkgICAgICAgKGNkciBlbHQpKSAKCQkJCQkgKGNkciB0
bykpKSkpCgkgICAgcm9vdC1wYWNrYWdlcykKICAgIDs7Tm93IGNsZWFuIHVwIGxlYWRlcnMg
d2l0aCBvbmUgY2hpbGQgb25seQogICAgKG1hcGNhciAoZnVuY3Rpb24gKGxhbWJkYSAoZWx0
KQoJCQkoaWYgKG5vdCAoYW5kIChsaXN0cCAoY2RyIGVsdCkpIAoJCQkJICAgICAgKGVxIChs
ZW5ndGggZWx0KSAyKSkpIG5pbAoJCQkgICAgKHNldGNhciBlbHQgKGNhciAobnRoIDEgZWx0
KSkpCgkJCSAgICAoc2V0Y2RyIGVsdCAoY2RyIChudGggMSBlbHQpKSkpKSkKCSAgICAoY2Ry
IHRvKSkKICAgICkpCgo7OzsoeC1wb3B1cC1tZW51IHQKOzs7ICAgJyhrZXltYXAgIk5hbWUx
IiAKOzs7CSAgICAoIlJldDEiICJhYSIpCjs7OwkgICAgKCJIZWFkMSIgImFiIiAgCjs7Owkg
ICAgIGtleW1hcCAiTmFtZTIiIAo7OzsJICAgICAoIlRhaWwxIiAieCIpICgiVGFpbDIiICJ5
IikpKSkKCihkZWZ1biBjcGVybC1saXN0LWZvbGQgKGxpc3QgbmFtZSBsaW1pdCkKICAobGV0
IChsaXN0MSBsaXN0MiBlbHQxIChudW0gMCkpCiAgICAoaWYgKDw9IChsZW5ndGggbGlzdCkg
bGltaXQpIGxpc3QKICAgICAgKHNldHEgbGlzdDEgbmlsIGxpc3QyIG5pbCkKICAgICAgKHdo
aWxlIGxpc3QKCShzZXRxIG51bSAoMSsgbnVtKSAKCSAgICAgIGVsdDEgKGNhciBsaXN0KQoJ
ICAgICAgbGlzdCAoY2RyIGxpc3QpKQoJKGlmICg8PSBudW0gaW1lbnUtbWF4LWl0ZW1zKQoJ
ICAgIChzZXRxIGxpc3QyIChjb25zIGVsdDEgbGlzdDIpKQoJICAoc2V0cSBsaXN0MSAoY29u
cyAoY29ucyBuYW1lCgkJCQkgIChucmV2ZXJzZSBsaXN0MikpCgkJCSAgICBsaXN0MSkKCQls
aXN0MiAobGlzdCBlbHQxKQoJCW51bSAxKSkpCiAgICAgIChucmV2ZXJzZSAoY29ucyAoY29u
cyBuYW1lCgkJCSAgICAobnJldmVyc2UgbGlzdDIpKQoJCSAgICAgIGxpc3QxKSkpKSkKCihk
ZWZ1biBjcGVybC1tZW51LXRvLWtleW1hcCAobWVudSAmb3B0aW9uYWwgbmFtZSkKICAobGV0
IChsaXN0KQogICAgKGNvbnMgJ2tleW1hcCAKCSAgKG1hcGNhciAKCSAgIChmdW5jdGlvbiAK
CSAgICAobGFtYmRhIChlbHQpCgkgICAgICAoY29uZCAoKGxpc3RwIChjZHIgZWx0KSkKCQkg
ICAgIChzZXRxIGxpc3QgKGNwZXJsLWxpc3QtZm9sZAoJCQkJIChjZHIgZWx0KSAoY2FyIGVs
dCkgaW1lbnUtbWF4LWl0ZW1zKSkKCQkgICAgIChjb25zIG5pbAoJCQkgICAoY29ucyAoY2Fy
IGVsdCkKCQkJCSAoY3BlcmwtbWVudS10by1rZXltYXAgbGlzdCkpKSkKCQkgICAgKHQKCQkg
ICAgIChsaXN0IChjZHIgZWx0KSAoY2FyIGVsdCkpKSkpKQoJICAgKGNwZXJsLWxpc3QtZm9s
ZCBtZW51ICJSb290IiBpbWVudS1tYXgtaXRlbXMpKSkpKQoKDAooZGVmdmFyIGNwZXJsLWJh
ZC1zdHlsZS1yZWdleHAKICAobWFwY29uY2F0ICdpZGVudGl0eQogICAnKCJbXi1cblx0IDw+
PSshLiZ8KCovJ2BcIiNeXVstPSs8PiF8Jl5dIiA7IGNoYXIgc2lnbgogICAgICJbLTw+PSte
JnxdK1teLSBcdFxuPSs8Pn5dIgk7IHNpZ24rIGNoYXIKICAgICApCiAgICJcXHwiKQogICJG
aW5kcyBwbGFjZXMgc3VjaCB0aGF0IGluc2VydGlvbiBvZiBhIHdoaXRlc3BhY2UgbWF5IGhl
bHAgYSBsb3QuIikKCihkZWZ2YXIgY3Blcmwtbm90LWJhZC1zdHlsZS1yZWdleHAgCiAgKG1h
cGNvbmNhdCAnaWRlbnRpdHkKICAgJygiW14tXHQgPD49K11cXCgtLVxcfFxcK1xcK1xcKSIJ
OyB2YXItLSB2YXIrKwogICAgICJbYS16QS1aMC05XVt8Jl1bYS16QS1aMC05JF0iCTsgYWJj
fGRlZiBhYmMmZGVmIGFyZSBvZnRlbiB1c2VkLgogICAgICImWyhhLXpBLVowLTkkXSIJCQk7
ICZzdWJyb3V0aW5lICYodmFyLT5maWVsZCkKICAgICAiPFxcJD9cXHN3K1xcKFxcLlxcc3cr
XFwpPz4iCTsgPElOPiA8c3RkaW4uaD4KICAgICAiLVthLXpBLVpdWyBcdF0rW18kXCInYF0i
CQk7IC1mIGZpbGUKICAgICAiLVswLTldIgkJCQk7IC01CiAgICAgIlxcK1xcKyIJCQkJOyAr
K3ZhcgogICAgICItLSIJCQkJOyAtLXZhcgogICAgICIuLT4iCQkJCTsgYS0+YgogICAgICIt
PiIJCQkJOyBhIFNQQUNFIC0+YgogICAgICJcXFstIgkJCQk7IGFbLTFdCiAgICAgIl49IgkJ
CQk7ID1oZWFkCiAgICAgInx8IgogICAgICImJiIKICAgICAiW0NCSVhTTEZaXTxcXChcXHN3
XFx8XFxzIFxcfFxcc19cXHxbXG5dXFwpKj4iIDsgQzxjb2RlIGxpa2UgdGV4dD4KICAgICAi
LVthLXpBLVowLTldK1sgXHRdKj0+IgkJCTsgLW9wdGlvbiA9PiB2YWx1ZQogICAgIDs7IFVu
YWRkcmVzc2VkIHRyb3VibGUgc3BvdHM6ID0gLWFiYywgZig1NiwgLWFiYykgLS0tIHNwZWNp
YWxjYXNlZCBiZWxvdwogICAgIDs7IlsqLystfCY8Ll0rPSIKICAgICApCiAgICJcXHwiKQog
ICJJZiBtYXRjaGVzIGF0IHRoZSBzdGFydCBvZiBtYXRjaCBmb3VuZCBieSBgbXktYmFkLWMt
c3R5bGUtcmVnZXhwJywKaW5zZXJ0aW9uIG9mIGEgd2hpdGVzcGFjZSB3aWxsIG5vdCBoZWxw
LiIpCgooZGVmdmFyIGZvdW5kLWJhZCkKCihkZWZ1biBjcGVybC1maW5kLWJhZC1zdHlsZSAo
KQogICJGaW5kIHBsYWNlcyBpbiB0aGUgYnVmZmVyIHdoZXJlIGluc2VydGlvbiBvZiBhIHdo
aXRlc3BhY2UgbWF5IGhlbHAuClByb21wdHMgdXNlciBmb3IgaW5zZXJ0aW9uIG9mIHNwYWNl
cy4KQ3VycmVudGx5IGl0IGlzIHR1bmVkIHRvIEMgYW5kIFBlcmwgc3ludGF4LiIKICAoaW50
ZXJhY3RpdmUpCiAgKGxldCAoZm91bmQtYmFkIChwIChwb2ludCkpKQogICAgKHNldHEgbGFz
dC1ub25tZW51LWV2ZW50IDEzKQk7IFRvIGRpc2FibGUgcG9wdXAKICAgIChiZWdpbm5pbmct
b2YtYnVmZmVyKQogICAgKG1hcC15LW9yLW4tcCAiSW5zZXJ0IHNwYWNlIGhlcmU/ICIKCQkg
IChmdW5jdGlvbiAobGFtYmRhIChhcmcpIChpbnNlcnQgIiAiKSkpCgkJICAnY3BlcmwtbmV4
dC1iYWQtc3R5bGUKCQkgICcoImxvY2F0aW9uIiAibG9jYXRpb25zIiAiaW5zZXJ0IGEgc3Bh
Y2UgaW50byIpIAoJCSAgJygoP1xDLXIgKGxhbWJkYSAoYXJnKQoJCQkgICAgIChsZXQgKChi
dWZmZXItcXVpdC1mdW5jdGlvbgoJCQkJICAgICdleGl0LXJlY3Vyc2l2ZS1lZGl0KSkKCQkJ
ICAgICAgIChtZXNzYWdlICJFeGl0IHdpdGggRXNjIEVzYyIpCgkJCSAgICAgICAocmVjdXJz
aXZlLWVkaXQpCgkJCSAgICAgICB0KSkJOyBDb25zaWRlciBhY3RlZCB1cG9uCgkJCSAgICJl
ZGl0LCBleGl0IHdpdGggRXNjIEVzYyIpIAoJCSAgICAoP2UgKGxhbWJkYSAoYXJnKQoJCQkg
IChsZXQgKChidWZmZXItcXVpdC1mdW5jdGlvbgoJCQkJICdleGl0LXJlY3Vyc2l2ZS1lZGl0
KSkKCQkJICAgIChtZXNzYWdlICJFeGl0IHdpdGggRXNjIEVzYyIpCgkJCSAgICAocmVjdXJz
aXZlLWVkaXQpCgkJCSAgICB0KSkJCTsgQ29uc2lkZXIgYWN0ZWQgdXBvbgoJCQkiZWRpdCwg
ZXhpdCB3aXRoIEVzYyBFc2MiKSkKCQkgIHQpCiAgICAoaWYgZm91bmQtYmFkIChnb3RvLWNo
YXIgZm91bmQtYmFkKQogICAgICAoZ290by1jaGFyIHApCiAgICAgIChtZXNzYWdlICJObyBh
cHByb3ByaWF0ZSBwbGFjZSBmb3VuZCIpKSkpCgooZGVmdW4gY3BlcmwtbmV4dC1iYWQtc3R5
bGUgKCkKICAobGV0IChwIChub3QtZm91bmQgdCkgKHBvaW50IChwb2ludCkpIGZvdW5kKQog
ICAgKHdoaWxlIChhbmQgbm90LWZvdW5kCgkJKHJlLXNlYXJjaC1mb3J3YXJkIGNwZXJsLWJh
ZC1zdHlsZS1yZWdleHAgbmlsICd0by1lbmQpKQogICAgICAoc2V0cSBwIChwb2ludCkpCiAg
ICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKICAgICAgKGlmIChvcgoJICAg
KGxvb2tpbmctYXQgY3Blcmwtbm90LWJhZC1zdHlsZS1yZWdleHApCgkgICA7OyBDaGVjayBm
b3IgYSA8IC1iIGFuZCBmcmllbmRzCgkgICAoYW5kIChlcSAoZm9sbG93aW5nLWNoYXIpID9c
LSkKCQkoc2F2ZS1leGN1cnNpb24KCQkgIChza2lwLWNoYXJzLWJhY2t3YXJkICIgXHRcbiIp
CgkJICAobWVtcSAocHJlY2VkaW5nLWNoYXIpICcoP1w9ID9cPiA/XDwgP1wsID9cKCwgP1xb
LCA/XHspKSkpCgkgICA7OyBOb3cgY2hlY2sgZm9yIHN5bnRheCB0eXBlCgkgICAoc2F2ZS1t
YXRjaC1kYXRhCgkgICAgIChzZXRxIGZvdW5kIChwb2ludCkpCgkgICAgIChiZWdpbm5pbmct
b2YtZGVmdW4pCgkgICAgIChsZXQgKChwcHMgKHBhcnNlLXBhcnRpYWwtc2V4cCAocG9pbnQp
IGZvdW5kKSkpCgkgICAgICAgKG9yIChudGggMyBwcHMpIChudGggNCBwcHMpIChudGggNSBw
cHMpKSkpKQoJICAoZ290by1jaGFyIChtYXRjaC1lbmQgMCkpCgkoZ290by1jaGFyICgxLSBw
KSkKCShzZXRxIG5vdC1mb3VuZCBuaWwKCSAgICAgIGZvdW5kLWJhZCBmb3VuZCkpKQogICAg
KG5vdCBub3QtZm91bmQpKSkKCgYKOzs7IEdldHRpbmcgaGVscAooZGVmdmFyIGNwZXJsLWhh
dmUtaGVscC1yZWdleHAgCiAgOzsoY29uY2F0ICJcXCgiCiAgKG1hcGNvbmNhdAogICAnaWRl
bnRpdHkKICAgJygiWyRAJSomXVswLTlhLXpBLVpfOl0rXFwoWyBcdF0qW1t7XVxcKT8iCQk7
IFVzdWFsIHZhcmlhYmxlCiAgICAgIlskQF1cXF5bYS16QS1aXSIJCQk7IFNwZWNpYWwgdmFy
aWFibGUKICAgICAiWyRAXVteIFxuXHRdIgkJCTsgU3BlY2lhbCB2YXJpYWJsZQogICAgICIt
W2EtekEtWl0iCQkJOyBGaWxlIHRlc3QKICAgICAiXFxcXFthLXpBLVowXSIJCQk7IFNwZWNp
YWwgY2hhcnMKICAgICAiXj1bYS16XVthLXpBLVowLTlfXSoiCQk7IFBvZCBzZWN0aW9ucwog
ICAgICJbLSEmKissLS4vPD0+P1xcXFxefH5dKyIJCTsgT3BlcmF0b3IKICAgICAiW2EtekEt
Wl8wLTk6XSsiCQkJOyBzeW1ib2wgb3IgbnVtYmVyCiAgICAgIng9IgogICAgICIjISIKICAg
ICApCiAgIDs7IlxcKVxcfFxcKCIKICAgIlxcfCIKICAgKQoJICA7OyJcXCkiCgkgIDs7KQog
ICJNYXRjaGVzIHBsYWNlcyBpbiB0aGUgYnVmZmVyIHdlIGNhbiBmaW5kIGhlbHAgZm9yLiIp
CgooZGVmdmFyIGNwZXJsLW1lc3NhZ2Utb24taGVscC1lcnJvciB0KQooZGVmdmFyIGNwZXJs
LWhlbHAtZnJvbS10aW1lciBuaWwpCgooZGVmdW4gY3Blcmwtd29yZC1hdC1wb2ludC1oYXJk
ICgpCiAgOzsgRG9lcyBub3Qgc2F2ZS1leGN1cnNpb24KICA7OyBHZXQgdG8gdGhlIHNvbWV0
aGluZyBtZWFuaW5nZnVsCiAgKG9yIChlb2JwKSAoZW9scCkgKGZvcndhcmQtY2hhciAxKSkK
ICAocmUtc2VhcmNoLWJhY2t3YXJkICJbLWEtekEtWjAtOV86ISYqKywtLi88PT4/XFxcXF58
fiQlQF0iIAoJCSAgICAgIChzYXZlLWV4Y3Vyc2lvbiAoYmVnaW5uaW5nLW9mLWxpbmUpIChw
b2ludCkpCgkJICAgICAgJ3RvLWJlZykKICA7OyAgKGNvbmQKICA7OyAgICgob3IgKGVvYnAp
IChsb29raW5nLWF0ICJbXVsgXHRcbnt9KCk7LF0iKSkgOyBOb3QgYXQgYSBzeW1ib2wKICA7
OyAgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFxuXHRccih7W119KTssIikKICA7OyAgICAo
b3IgKGJvYnApIChiYWNrd2FyZC1jaGFyIDEpKSkpCiAgOzsgVHJ5IHRvIGJhY2t0cmFjZQog
IChjb25kCiAgICgobG9va2luZy1hdCAiW2EtekEtWjAtOV86XSIpCTsgc3ltYm9sCiAgICAo
c2tpcC1jaGFycy1iYWNrd2FyZCAiW2EtekEtWjAtOV86XSIpCiAgICAoY29uZCAKICAgICAo
KGFuZCAoZXEgKHByZWNlZGluZy1jaGFyKSA/XikJOyAkXkkKCSAgIChlcSAoY2hhci1hZnRl
ciAoLSAocG9pbnQpIDIpKSA/XCQpKQogICAgICAoZm9yd2FyZC1jaGFyIC0yKSkKICAgICAo
KG1lbXEgKHByZWNlZGluZy1jaGFyKSAoYXBwZW5kICIqJEAlJlxcIiBuaWwpKSA7ICpnbG9i
CiAgICAgIChmb3J3YXJkLWNoYXIgLTEpKQogICAgICgoYW5kIChlcSAocHJlY2VkaW5nLWNo
YXIpID9cPSkKCSAgIChlcSAoY3VycmVudC1jb2x1bW4pIDEpKQogICAgICAoZm9yd2FyZC1j
aGFyIC0xKSkpCQk7ID1oZWFkMQogICAgKGlmIChhbmQgKGVxIChwcmVjZWRpbmctY2hhcikg
P1w8KQoJICAgICAobG9va2luZy1hdCAiXFwkP1thLXpBLVowLTlfOl0rPiIpKSA7IDxGSD4K
CShmb3J3YXJkLWNoYXIgLTEpKSkKICAgKChhbmQgKGxvb2tpbmctYXQgIj0iKSAoZXEgKHBy
ZWNlZGluZy1jaGFyKSA/eCkpIDsgeD0KICAgIChmb3J3YXJkLWNoYXIgLTEpKQogICAoKGFu
ZCAobG9va2luZy1hdCAiXFxeIikgKGVxIChwcmVjZWRpbmctY2hhcikgP1wkKSkgOyAkXkkK
ICAgIChmb3J3YXJkLWNoYXIgLTEpKQogICAoKGxvb2tpbmctYXQgIlstISYqKywtLi88PT4/
XFxcXF58fl0iKQogICAgKHNraXAtY2hhcnMtYmFja3dhcmQgIlstISYqKywtLi88PT4/XFxc
XF58fl0iKQogICAgKGNvbmQKICAgICAoKGFuZCAoZXEgKHByZWNlZGluZy1jaGFyKSA/XCQp
CgkgICAobm90IChlcSAoY2hhci1hZnRlciAoLSAocG9pbnQpIDIpKSA/XCQpKSkgOyAkLQog
ICAgICAoZm9yd2FyZC1jaGFyIC0xKSkKICAgICAoKGFuZCAoZXEgKGZvbGxvd2luZy1jaGFy
KSA/XD4pCgkgICAoc3RyaW5nLW1hdGNoICJbYS16QS1aMC05X10iIChjaGFyLXRvLXN0cmlu
ZyAocHJlY2VkaW5nLWNoYXIpKSkKCSAgIChzYXZlLWV4Y3Vyc2lvbgoJICAgICAoZm9yd2Fy
ZC1zZXhwIC0xKQoJICAgICAoYW5kIChlcSAocHJlY2VkaW5nLWNoYXIpID9cPCkKCQkgIChs
b29raW5nLWF0ICJcXCQ/W2EtekEtWjAtOV86XSs+IikpKSkgOyA8Rkg+CiAgICAgIChzZWFy
Y2gtYmFja3dhcmQgIjwiKSkpKQogICAoKGFuZCAoZXEgKGZvbGxvd2luZy1jaGFyKSA/XCQp
CgkgKGVxIChwcmVjZWRpbmctY2hhcikgP1w8KQoJIChsb29raW5nLWF0ICJcXCQ/W2EtekEt
WjAtOV86XSs+IikpIDsgPCRmaD4KICAgIChmb3J3YXJkLWNoYXIgLTEpKSkKICAoaWYgKGxv
b2tpbmctYXQgY3BlcmwtaGF2ZS1oZWxwLXJlZ2V4cCkKICAgICAgKGJ1ZmZlci1zdWJzdHJp
bmcgKG1hdGNoLWJlZ2lubmluZyAwKSAobWF0Y2gtZW5kIDApKSkpCgooZGVmdW4gY3Blcmwt
Z2V0LWhlbHAgKCkKICAiR2V0IG9uZS1saW5lIGRvY3Mgb24gdGhlIHN5bWJvbCBhdCB0aGUg
cG9pbnQuClRoZSBkYXRhIGZvciB0aGVzZSBkb2NzIGlzIGEgbGl0dGxlIGJpdCBvYnNvbGV0
ZSBhbmQgbWF5IGJlIGluIGZhY3QgbG9uZ2VyCnRoYW4gYSBsaW5lLiBZb3VyIGNvbnRyaWJ1
dGlvbiB0byB1cGRhdGUvc2hvcnRlbiBpdCBpcyBhcHByZWNpYXRlZC4iCiAgKGludGVyYWN0
aXZlKQogIChzYXZlLWV4Y3Vyc2lvbgogICAgKGxldCAoKHdvcmQgKGNwZXJsLXdvcmQtYXQt
cG9pbnQtaGFyZCkpKQogICAgICAoaWYgd29yZAoJICAoaWYgKGFuZCBjcGVybC1oZWxwLWZy
b20tdGltZXIgOyBCYWlsIG91dCBpZiBub3QgaW4gbWFpbmxhbmQKCQkgICAobm90IChzdHJp
bmctbWF0Y2ggIl4jIVxcfFxcXFxcXHxePSIgd29yZCkpIDsgU2hvdyBoZWxwIGV2ZW4gaW4g
Y29tbWVudHMvc3RyaW5ncy4KCQkgICAob3IgKG1lbXEgKGdldC10ZXh0LXByb3BlcnR5IChw
b2ludCkgJ2ZhY2UpCgkJCSAgICAgJyhmb250LWxvY2stY29tbWVudC1mYWNlIGZvbnQtbG9j
ay1zdHJpbmctZmFjZSkpCgkJICAgICAgIChtZW1xIChnZXQtdGV4dC1wcm9wZXJ0eSAocG9p
bnQpICdzeW50YXgtdHlwZSkKCQkJICAgICAnKHBvZCBoZXJlLWRvYyBmb3JtYXQpKSkpCgkg
ICAgICBuaWwKCSAgICAoY3BlcmwtZGVzY3JpYmUtcGVybC1zeW1ib2wgd29yZCkpCgkoaWYg
Y3BlcmwtbWVzc2FnZS1vbi1oZWxwLWVycm9yCgkgICAgKG1lc3NhZ2UgIk5vdGhpbmcgZm91
bmQgZm9yICVzLi4uIiAKCQkgICAgIChidWZmZXItc3Vic3RyaW5nIChwb2ludCkgKCsgNSAo
cG9pbnQpKSkpKSkpKSkKCjs7OyBTdG9sZW4gZnJvbSBwZXJsLWRlc2NyLmVsIGJ5IEpvaGFu
IFZyb21hbnM6CgooZGVmdmFyIGNwZXJsLWRvYy1idWZmZXIgIiAqcGVybC1kb2MqIgogICJX
aGVyZSB0aGUgZG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQuIikKCihkZWZ1biBjcGVybC1k
ZXNjcmliZS1wZXJsLXN5bWJvbCAodmFsKQogICJEaXNwbGF5IHRoZSBkb2N1bWVudGF0aW9u
IG9mIHN5bWJvbCBhdCBwb2ludCwgYSBQZXJsIG9wZXJhdG9yLiIKICAobGV0ICgoZW5hYmxl
LXJlY3Vyc2l2ZS1taW5pYnVmZmVycyB0KQoJYXJncy1maWxlIHJlZ2V4cCkKICAgIChjb25k
CgkoKHN0cmluZy1tYXRjaCAiXlsmKl1bYS16QS1aX10iIHZhbCkKCSAoc2V0cSB2YWwgKGNv
bmNhdCAoc3Vic3RyaW5nIHZhbCAwIDEpICJOQU1FIikpKQoJKChzdHJpbmctbWF0Y2ggIl5b
JEBdXFwoW2EtekEtWl86MC05XStcXClbIFx0XSpcXFsiIHZhbCkKCSAoc2V0cSB2YWwgKGNv
bmNhdCAiQCIgKHN1YnN0cmluZyB2YWwgMSAobWF0Y2gtZW5kIDEpKSkpKQoJKChzdHJpbmct
bWF0Y2ggIl5bJEBdXFwoW2EtekEtWl86MC05XStcXClbIFx0XSp7IiB2YWwpCgkgKHNldHEg
dmFsIChjb25jYXQgIiUiIChzdWJzdHJpbmcgdmFsIDEgKG1hdGNoLWVuZCAxKSkpKSkKCSgo
YW5kIChzdHJpbmc9IHZhbCAieCIpIChzdHJpbmctbWF0Y2ggIl54PSIgdmFsKSkKCSAoc2V0
cSB2YWwgIng9IikpCgkoKHN0cmluZy1tYXRjaCAiXlxcJFtcQy1hLVxDLXpdIiB2YWwpCgkg
KHNldHEgdmFsIChjb25jYXQgIiReIiAoY2hhci10by1zdHJpbmcgKCsgP0EgLTEgKGFyZWYg
dmFsIDEpKSkpKSkKICAgICAgICAoKHN0cmluZy1tYXRjaCAiXkNPUkU6OiIgdmFsKQoJIChz
ZXRxIHZhbCAiQ09SRTo6IikpCiAgICAgICAgKChzdHJpbmctbWF0Y2ggIl5TVVBFUjo6IiB2
YWwpCgkgKHNldHEgdmFsICJTVVBFUjo6IikpCgkoKGFuZCAoc3RyaW5nPSAiPCIgdmFsKSAo
c3RyaW5nLW1hdGNoICJePFxcJD9bYS16QS1aMC05XzpdKz4iIHZhbCkpCgkgKHNldHEgdmFs
ICI8TkFNRT4iKSkpCiAgICAoc2V0cSByZWdleHAgKGNvbmNhdCAiXiIgCgkJCSAiXFwoW15h
LXpBLVowLTlfOl0rWyBcdF0rXFwpPyIKCQkJIChyZWdleHAtcXVvdGUgdmFsKSAKCQkJICJc
XChbIFx0KFsvXVxcfCRcXCkiKSkKCiAgICA7OyBnZXQgdGhlIGJ1ZmZlciB3aXRoIHRoZSBk
b2N1bWVudGF0aW9uIHRleHQKICAgIChjcGVybC1zd2l0Y2gtdG8tZG9jLWJ1ZmZlcikKCiAg
ICA7OyBsb29rdXAgaW4gdGhlIGRvYwogICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKICAg
IChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIG5pbCkpCiAgICAgIChsaXN0IAogICAgICAgKGlm
IChyZS1zZWFyY2gtZm9yd2FyZCByZWdleHAgKHBvaW50LW1heCkgdCkKCSAgIChzYXZlLWV4
Y3Vyc2lvbgoJICAgICAoYmVnaW5uaW5nLW9mLWxpbmUgMSkKCSAgICAgKGxldCAoKGxuc3Rh
cnQgKHBvaW50KSkpCgkgICAgICAgKGVuZC1vZi1saW5lKQoJICAgICAgIChtZXNzYWdlICIl
cyIgKGJ1ZmZlci1zdWJzdHJpbmcgbG5zdGFydCAocG9pbnQpKSkpKQoJIChpZiBjcGVybC1t
ZXNzYWdlLW9uLWhlbHAtZXJyb3IKCSAgICAgKG1lc3NhZ2UgIk5vIGRlZmluaXRpb24gZm9y
ICVzIiB2YWwpKSkpKSkpCgooZGVmdmFyIGNwZXJsLXNob3J0LWRvY3MgIklnbm9yZSBteSB2
YWx1ZSIKICAiIyBiYXNlZCBvbiAnQCgjKUAgcGVybC1kZXNjci5lbCAxLjkgLSBkZXNjcmli
ZS1wZXJsLXN5bWJvbCcgW1BlcmwgNV0KISAuLi4JTG9naWNhbCBuZWdhdGlvbi4JCi4uLiAh
PSAuLi4JTnVtZXJpYyBpbmVxdWFsaXR5LgouLi4gIX4gLi4uCVNlYXJjaCBwYXR0ZXJuLCBz
dWJzdGl0dXRpb24sIG9yIHRyYW5zbGF0aW9uIChuZWdhdGVkKS4KJCEJSW4gbnVtZXJpYyBj
b250ZXh0OiBlcnJuby4gSW4gYSBzdHJpbmcgY29udGV4dDogZXJyb3Igc3RyaW5nLgokXCIJ
VGhlIHNlcGFyYXRvciB3aGljaCBqb2lucyBlbGVtZW50cyBvZiBhcnJheXMgaW50ZXJwb2xh
dGVkIGluIHN0cmluZ3MuCiQjCVRoZSBvdXRwdXQgZm9ybWF0IGZvciBwcmludGVkIG51bWJl
cnMuIEluaXRpYWwgdmFsdWUgaXMgJS4yMGcuCiQkCVByb2Nlc3MgbnVtYmVyIG9mIHRoaXMg
c2NyaXB0LiBDaGFuZ2VzIGluIHRoZSBmb3JrKCllZCBjaGlsZCBwcm9jZXNzLgokJQlUaGUg
Y3VycmVudCBwYWdlIG51bWJlciBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIG91dHB1dCBj
aGFubmVsLgoKCVRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBhbHdheXMgbG9jYWwgdG8g
dGhlIGN1cnJlbnQgYmxvY2s6CgokMQlNYXRjaCBvZiB0aGUgMXN0IHNldCBvZiBwYXJlbnRo
ZXNlcyBpbiB0aGUgbGFzdCBtYXRjaCAoYXV0by1sb2NhbCkuCiQyCU1hdGNoIG9mIHRoZSAy
bmQgc2V0IG9mIHBhcmVudGhlc2VzIGluIHRoZSBsYXN0IG1hdGNoIChhdXRvLWxvY2FsKS4K
JDMJTWF0Y2ggb2YgdGhlIDNyZCBzZXQgb2YgcGFyZW50aGVzZXMgaW4gdGhlIGxhc3QgbWF0
Y2ggKGF1dG8tbG9jYWwpLgokNAlNYXRjaCBvZiB0aGUgNHRoIHNldCBvZiBwYXJlbnRoZXNl
cyBpbiB0aGUgbGFzdCBtYXRjaCAoYXV0by1sb2NhbCkuCiQ1CU1hdGNoIG9mIHRoZSA1dGgg
c2V0IG9mIHBhcmVudGhlc2VzIGluIHRoZSBsYXN0IG1hdGNoIChhdXRvLWxvY2FsKS4KJDYJ
TWF0Y2ggb2YgdGhlIDZ0aCBzZXQgb2YgcGFyZW50aGVzZXMgaW4gdGhlIGxhc3QgbWF0Y2gg
KGF1dG8tbG9jYWwpLgokNwlNYXRjaCBvZiB0aGUgN3RoIHNldCBvZiBwYXJlbnRoZXNlcyBp
biB0aGUgbGFzdCBtYXRjaCAoYXV0by1sb2NhbCkuCiQ4CU1hdGNoIG9mIHRoZSA4dGggc2V0
IG9mIHBhcmVudGhlc2VzIGluIHRoZSBsYXN0IG1hdGNoIChhdXRvLWxvY2FsKS4KJDkJTWF0
Y2ggb2YgdGhlIDl0aCBzZXQgb2YgcGFyZW50aGVzZXMgaW4gdGhlIGxhc3QgbWF0Y2ggKGF1
dG8tbG9jYWwpLgokJglUaGUgc3RyaW5nIG1hdGNoZWQgYnkgdGhlIGxhc3QgcGF0dGVybiBt
YXRjaCAoYXV0by1sb2NhbCkuCiQnCVRoZSBzdHJpbmcgYWZ0ZXIgd2hhdCB3YXMgbWF0Y2hl
ZCBieSB0aGUgbGFzdCBtYXRjaCAoYXV0by1sb2NhbCkuCiRgCVRoZSBzdHJpbmcgYmVmb3Jl
IHdoYXQgd2FzIG1hdGNoZWQgYnkgdGhlIGxhc3QgbWF0Y2ggKGF1dG8tbG9jYWwpLgoKJCgJ
VGhlIHJlYWwgZ2lkIG9mIHRoaXMgcHJvY2Vzcy4KJCkJVGhlIGVmZmVjdGl2ZSBnaWQgb2Yg
dGhpcyBwcm9jZXNzLgokKglEZXByZWNhdGVkOiBTZXQgdG8gMSB0byBkbyBtdWx0aWxpbmUg
bWF0Y2hpbmcgd2l0aGluIGEgc3RyaW5nLgokKwlUaGUgbGFzdCBicmFja2V0IG1hdGNoZWQg
YnkgdGhlIGxhc3Qgc2VhcmNoIHBhdHRlcm4uCiQsCVRoZSBvdXRwdXQgZmllbGQgc2VwYXJh
dG9yIGZvciB0aGUgcHJpbnQgb3BlcmF0b3IuCiQtCVRoZSBudW1iZXIgb2YgbGluZXMgbGVm
dCBvbiB0aGUgcGFnZS4KJC4JVGhlIGN1cnJlbnQgaW5wdXQgbGluZSBudW1iZXIgb2YgdGhl
IGxhc3QgZmlsZWhhbmRsZSB0aGF0IHdhcyByZWFkLgokLwlUaGUgaW5wdXQgcmVjb3JkIHNl
cGFyYXRvciwgbmV3bGluZSBieSBkZWZhdWx0LgokMAlOYW1lIG9mIHRoZSBmaWxlIGNvbnRh
aW5pbmcgdGhlIHBlcmwgc2NyaXB0IGJlaW5nIGV4ZWN1dGVkLiBNYXkgYmUgc2V0LgokOiAg
ICAgU3RyaW5nIG1heSBiZSBicm9rZW4gYWZ0ZXIgdGhlc2UgY2hhcmFjdGVycyB0byBmaWxs
IF4tbGluZXMgaW4gYSBmb3JtYXQuCiQ7CVN1YnNjcmlwdCBzZXBhcmF0b3IgZm9yIG11bHRp
LWRpbSBhcnJheSBlbXVsYXRpb24uIERlZmF1bHQgXCJcXDAzNFwiLgokPAlUaGUgcmVhbCB1
aWQgb2YgdGhpcyBwcm9jZXNzLgokPQlUaGUgcGFnZSBsZW5ndGggb2YgdGhlIGN1cnJlbnQg
b3V0cHV0IGNoYW5uZWwuIERlZmF1bHQgaXMgNjAgbGluZXMuCiQ+CVRoZSBlZmZlY3RpdmUg
dWlkIG9mIHRoaXMgcHJvY2Vzcy4KJD8JVGhlIHN0YXR1cyByZXR1cm5lZCBieSB0aGUgbGFz
dCBgYCwgcGlwZSBjbG9zZSBvciBgc3lzdGVtJy4KJEAJVGhlIHBlcmwgZXJyb3IgbWVzc2Fn
ZSBmcm9tIHRoZSBsYXN0IGV2YWwgb3IgZG8gQHZhcntFWFBSfSBjb21tYW5kLgokQVJHVglU
aGUgbmFtZSBvZiB0aGUgY3VycmVudCBmaWxlIHVzZWQgd2l0aCA8PiAuCiRbCURlcHJlY2F0
ZWQ6IFRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZWxlbWVudC9jaGFyIGluIGFuIGFycmF5L3N0
cmluZy4KJFxcCVRoZSBvdXRwdXQgcmVjb3JkIHNlcGFyYXRvciBmb3IgdGhlIHByaW50IG9w
ZXJhdG9yLgokXQlUaGUgcGVybCB2ZXJzaW9uIHN0cmluZyBhcyBkaXNwbGF5ZWQgd2l0aCBw
ZXJsIC12LgokXglUaGUgbmFtZSBvZiB0aGUgY3VycmVudCB0b3Atb2YtcGFnZSBmb3JtYXQu
CiReQSAgICAgVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHdyaXRlKCkgYWNjdW11bGF0b3Ig
Zm9yIGZvcm1hdCgpIGxpbmVzLgokXkQJVGhlIHZhbHVlIG9mIHRoZSBwZXJsIGRlYnVnICgt
RCkgZmxhZ3MuCiReRSAgICAgSW5mb3JtYXRpb24gYWJvdXQgdGhlIGxhc3Qgc3lzdGVtIGVy
cm9yIG90aGVyIHRoYW4gdGhhdCBwcm92aWRlZCBieSAkIS4KJF5GCVRoZSBoaWdoZXN0IHN5
c3RlbSBmaWxlIGRlc2NyaXB0b3IsIG9yZGluYXJpbHkgMi4KJF5IICAgICBUaGUgY3VycmVu
dCBzZXQgb2Ygc3ludGF4IGNoZWNrcyBlbmFibGVkIGJ5IGB1c2Ugc3RyaWN0Jy4KJF5JCVRo
ZSB2YWx1ZSBvZiB0aGUgaW4tcGxhY2UgZWRpdCBleHRlbnNpb24gKHBlcmwgLWkgb3B0aW9u
KS4KJF5MICAgICBXaGF0IGZvcm1hdHMgb3V0cHV0IHRvIHBlcmZvcm0gYSBmb3JtZmVlZC4g
RGVmYXVsdCBpcyBcZi4KJF5PICAgICBUaGUgb3BlcmF0aW5nIHN5c3RlbSBuYW1lIHVuZGVy
IHdoaWNoIHRoaXMgY29weSBvZiBQZXJsIHdhcyBidWlsdC4KJF5QCUludGVybmFsIGRlYnVn
Z2luZyBmbGFnLgokXlQJVGhlIHRpbWUgdGhlIHNjcmlwdCB3YXMgc3RhcnRlZC4gVXNlZCBi
eSAtQS8tTS8tQyBmaWxlIHRlc3RzLgokXlcJVHJ1ZSBpZiB3YXJuaW5ncyBhcmUgcmVxdWVz
dGVkIChwZXJsIC13IGZsYWcpLgokXlgJVGhlIG5hbWUgdW5kZXIgd2hpY2ggcGVybCB3YXMg
aW52b2tlZCAoYXJndlswXSBpbiBDLXNwZWVjaCkuCiRfCVRoZSBkZWZhdWx0IGlucHV0IGFu
ZCBwYXR0ZXJuLXNlYXJjaGluZyBzcGFjZS4KJHwJQXV0by1mbHVzaCBhZnRlciB3cml0ZS9w
cmludCBvbiB0aGUgY3VycmVudCBvdXRwdXQgY2hhbm5lbD8gRGVmYXVsdCAwLiAKJH4JVGhl
IG5hbWUgb2YgdGhlIGN1cnJlbnQgcmVwb3J0IGZvcm1hdC4KLi4uICUgLi4uCU1vZHVsbyBk
aXZpc2lvbi4KLi4uICU9IC4uLglNb2R1bG8gZGl2aXNpb24gYXNzaWdubWVudC4KJUVOVglD
b250YWlucyB0aGUgY3VycmVudCBlbnZpcm9ubWVudC4KJUlOQwlMaXN0IG9mIGZpbGVzIHRo
YXQgaGF2ZSBiZWVuIHJlcXVpcmUtZCBvciBkby1uZS4KJVNJRwlVc2VkIHRvIHNldCBzaWdu
YWwgaGFuZGxlcnMgZm9yIHZhcmlvdXMgc2lnbmFscy4KLi4uICYgLi4uCUJpdHdpc2UgYW5k
LgouLi4gJiYgLi4uCUxvZ2ljYWwgYW5kLgouLi4gJiY9IC4uLglMb2dpY2FsIGFuZCBhc3Np
Z25tZW50LgouLi4gJj0gLi4uCUJpdHdpc2UgYW5kIGFzc2lnbm1lbnQuCi4uLiAqIC4uLglN
dWx0aXBsaWNhdGlvbi4KLi4uICoqIC4uLglFeHBvbmVudGlhdGlvbi4KKk5BTUUJR2xvYjog
YWxsIG9iamVjdHMgcmVmZXJlZCBieSBOQU1FLiAqTkFNMSA9ICpOQU0yIGFsaWFzZXMgTkFN
MSB0byBOQU0yLgomTkFNRShhcmcwLCAuLi4pCVN1YnJvdXRpbmUgY2FsbC4gQXJndW1lbnRz
IGdvIHRvIEBfLgouLi4gKyAuLi4JQWRkaXRpb24uCQkrRVhQUglNYWtlcyBFWFBSIGludG8g
c2NhbGFyIGNvbnRleHQuCisrCUF1dG8taW5jcmVtZW50IChtYWdpY2FsIG9uIHN0cmluZ3Mp
LgkrK0VYUFIJRVhQUisrCi4uLiArPSAuLi4JQWRkaXRpb24gYXNzaWdubWVudC4KLAlDb21t
YSBvcGVyYXRvci4KLi4uIC0gLi4uCVN1YnRyYWN0aW9uLgotLQlBdXRvLWRlY3JlbWVudCAo
Tk9UIG1hZ2ljYWwgb24gc3RyaW5ncykuCS0tRVhQUglFWFBSLS0KLi4uIC09IC4uLglTdWJ0
cmFjdGlvbiBhc3NpZ25tZW50LgotQQlBY2Nlc3MgdGltZSBpbiBkYXlzIHNpbmNlIHNjcmlw
dCBzdGFydGVkLgotQglGaWxlIGlzIGEgbm9uLXRleHQgKGJpbmFyeSkgZmlsZS4KLUMJSW5v
ZGUgY2hhbmdlIHRpbWUgaW4gZGF5cyBzaW5jZSBzY3JpcHQgc3RhcnRlZC4KLU0JQWdlIGlu
IGRheXMgc2luY2Ugc2NyaXB0IHN0YXJ0ZWQuCi1PCUZpbGUgaXMgb3duZWQgYnkgcmVhbCB1
aWQuCi1SCUZpbGUgaXMgcmVhZGFibGUgYnkgcmVhbCB1aWQuCi1TCUZpbGUgaXMgYSBzb2Nr
ZXQgLgotVAlGaWxlIGlzIGEgdGV4dCBmaWxlLgotVwlGaWxlIGlzIHdyaXRhYmxlIGJ5IHJl
YWwgdWlkLgotWAlGaWxlIGlzIGV4ZWN1dGFibGUgYnkgcmVhbCB1aWQuCi1iCUZpbGUgaXMg
YSBibG9jayBzcGVjaWFsIGZpbGUuCi1jCUZpbGUgaXMgYSBjaGFyYWN0ZXIgc3BlY2lhbCBm
aWxlLgotZAlGaWxlIGlzIGEgZGlyZWN0b3J5LgotZQlGaWxlIGV4aXN0cyAuCi1mCUZpbGUg
aXMgYSBwbGFpbiBmaWxlLgotZwlGaWxlIGhhcyBzZXRnaWQgYml0IHNldC4KLWsJRmlsZSBo
YXMgc3RpY2t5IGJpdCBzZXQuCi1sCUZpbGUgaXMgYSBzeW1ib2xpYyBsaW5rLgotbwlGaWxl
IGlzIG93bmVkIGJ5IGVmZmVjdGl2ZSB1aWQuCi1wCUZpbGUgaXMgYSBuYW1lZCBwaXBlIChG
SUZPKS4KLXIJRmlsZSBpcyByZWFkYWJsZSBieSBlZmZlY3RpdmUgdWlkLgotcwlGaWxlIGhh
cyBub24temVybyBzaXplLgotdAlUZXN0cyBpZiBmaWxlaGFuZGxlIChTVERJTiBieSBkZWZh
dWx0KSBpcyBvcGVuZWQgdG8gYSB0dHkuCi11CUZpbGUgaGFzIHNldHVpZCBiaXQgc2V0Lgot
dwlGaWxlIGlzIHdyaXRhYmxlIGJ5IGVmZmVjdGl2ZSB1aWQuCi14CUZpbGUgaXMgZXhlY3V0
YWJsZSBieSBlZmZlY3RpdmUgdWlkLgoteglGaWxlIGhhcyB6ZXJvIHNpemUuCi4JQ29uY2F0
ZW5hdGUgc3RyaW5ncy4KLi4JQWx0ZXJuYXRpb24sIGFsc28gcmFuZ2Ugb3BlcmF0b3IuCi49
CUNvbmNhdGVuYXRlIGFzc2lnbm1lbnQgc3RyaW5ncwouLi4gLyAuLi4JRGl2aXNpb24uCS9Q
QVRURVJOL2lveHNtZwlQYXR0ZXJuIG1hdGNoCi4uLiAvPSAuLi4JRGl2aXNpb24gYXNzaWdu
bWVudC4KL1BBVFRFUk4vaW94c21nCVBhdHRlcm4gbWF0Y2guCi4uLiA8IC4uLglOdW1lcmlj
IGxlc3MgdGhhbi4JPHBhdHRlcm4+CUdsb2IuCVNlZSA8TkFNRT4sIDw+IGFzIHdlbGwuCjxO
QU1FPglSZWFkcyBsaW5lIGZyb20gZmlsZWhhbmRsZSBOQU1FLiBOQU1FIG11c3QgYmUgYmFy
ZXdvcmQvZG9sbGFyLWJhcmV3b3JkLgo8cGF0dGVybj4JR2xvYi4gKFVubGVzcyBwYXR0ZXJu
IGlzIGJhcmV3b3JkL2RvbGxhci1iYXJld29yZCAtIHNlZSA8TkFNRT4pCjw+CVJlYWRzIGxp
bmUgZnJvbSB1bmlvbiBvZiBmaWxlcyBpbiBAQVJHViAoPSBjb21tYW5kIGxpbmUpIGFuZCBT
VERJTi4KLi4uIDw8IC4uLglCaXR3aXNlIHNoaWZ0IGxlZnQuCTw8CXN0YXJ0IG9mIEhFUkUt
RE9DVU1FTlQuCi4uLiA8PSAuLi4JTnVtZXJpYyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8uCi4u
LiA8PT4gLi4uCU51bWVyaWMgY29tcGFyZS4KLi4uID0gLi4uCUFzc2lnbm1lbnQuCi4uLiA9
PSAuLi4JTnVtZXJpYyBlcXVhbGl0eS4KLi4uID1+IC4uLglTZWFyY2ggcGF0dGVybiwgc3Vi
c3RpdHV0aW9uLCBvciB0cmFuc2xhdGlvbgouLi4gPiAuLi4JTnVtZXJpYyBncmVhdGVyIHRo
YW4uCi4uLiA+PSAuLi4JTnVtZXJpYyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8uCi4uLiA+
PiAuLi4JQml0d2lzZSBzaGlmdCByaWdodC4KLi4uID4+PSAuLi4JQml0d2lzZSBzaGlmdCBy
aWdodCBhc3NpZ25tZW50LgouLi4gPyAuLi4gOiAuLi4JQ29uZGl0aW9uPWlmLXRoZW4tZWxz
ZSBvcGVyYXRvci4gICA/UEFUPyBPbmUtdGltZSBwYXR0ZXJuIG1hdGNoLgo/UEFUVEVSTj8J
T25lLXRpbWUgcGF0dGVybiBtYXRjaC4KQEFSR1YJQ29tbWFuZCBsaW5lIGFyZ3VtZW50cyAo
bm90IGluY2x1ZGluZyB0aGUgY29tbWFuZCBuYW1lIC0gc2VlICQwKS4KQElOQwlMaXN0IG9m
IHBsYWNlcyB0byBsb29rIGZvciBwZXJsIHNjcmlwdHMgZHVyaW5nIGRvL2luY2x1ZGUvdXNl
LgpAXwlQYXJhbWV0ZXIgYXJyYXkgZm9yIHN1YnJvdXRpbmVzLiBBbHNvIHVzZWQgYnkgc3Bs
aXQgdW5sZXNzIGluIGFycmF5IGNvbnRleHQuClxcCUNyZWF0ZXMgYSByZWZlcmVuY2UgdG8g
d2hhdGV2ZXIgZm9sbG93cywgbGlrZSBcJHZhci4KXFwwCU9jdGFsIGNoYXIsIGUuZy4gXFww
MzMuClxcRQlDYXNlIG1vZGlmaWNhdGlvbiB0ZXJtaW5hdG9yLiBTZWUgXFxRLCBcXEwsIGFu
ZCBcXFUuClxcTAlMb3dlcmNhc2UgdW50aWwgXFxFIC4gU2VlIGFsc28gXGwsIGxjLgpcXFUJ
VXBjYXNlIHVudGlsIFxcRSAuIFNlZSBhbHNvIFx1LCB1Yy4KXFxRCVF1b3RlIG1ldGFjaGFy
YWN0ZXJzIHVudGlsIFxcRSAuIFNlZSBhbHNvIHF1b3RlbWV0YS4KXFxhCUFsYXJtIGNoYXJh
Y3RlciAob2N0YWwgMDA3KS4KXFxiCUJhY2tzcGFjZSBjaGFyYWN0ZXIgKG9jdGFsIDAxMCku
ClxcYwlDb250cm9sIGNoYXJhY3RlciwgZS5nLiBcXGNbIC4KXFxlCUVzY2FwZSBjaGFyYWN0
ZXIgKG9jdGFsIDAzMykuClxcZglGb3JtZmVlZCBjaGFyYWN0ZXIgKG9jdGFsIDAxNCkuClxc
bAlMb3dlcmNhc2UgdGhlIG5leHQgY2hhcmFjdGVyLiBTZWUgYWxzbyBcXEwgYW5kIFxcdSwg
bGNmaXJzdCwKXFxuCU5ld2xpbmUgY2hhcmFjdGVyIChvY3RhbCAwMTIpLgpcXHIJUmV0dXJu
IGNoYXJhY3RlciAob2N0YWwgMDE1KS4KXFx0CVRhYiBjaGFyYWN0ZXIgKG9jdGFsIDAxMSku
ClxcdQlVcGNhc2UgdGhlIG5leHQgY2hhcmFjdGVyLiBTZWUgYWxzbyBcXFUgYW5kIFxcbCwg
dWNmaXJzdCwKXFx4CUhleCBjaGFyYWN0ZXIsIGUuZy4gXFx4MWIuCl4gLi4uCUJpdHdpc2Ug
ZXhjbHVzaXZlIG9yLgpfX0VORF9fCUVuZHMgcHJvZ3JhbSBzb3VyY2UuCl9fREFUQV9fCUVu
ZHMgcHJvZ3JhbSBzb3VyY2UuCl9fRklMRV9fCUN1cnJlbnQgKHNvdXJjZSkgZmlsZW5hbWUu
Cl9fTElORV9fCUN1cnJlbnQgbGluZSBpbiBjdXJyZW50IHNvdXJjZS4KQVJHVglEZWZhdWx0
IG11bHRpLWZpbGUgaW5wdXQgZmlsZWhhbmRsZS4gPEFSR1Y+IGlzIGEgc3lub255bSBmb3Ig
PD4uCkFSR1ZPVVQJT3V0cHV0IGZpbGVoYW5kbGUgd2l0aCAtaSBmbGFnLgpCRUdJTiB7IC4u
LiB9CUltbWVkaWF0ZWx5IGV4ZWN1dGVkIChkdXJpbmcgY29tcGlsYXRpb24pIHBpZWNlIG9m
IGNvZGUuCkVORCB7IC4uLiB9CVBzZXVkby1zdWJyb3V0aW5lIGV4ZWN1dGVkIGFmdGVyIHRo
ZSBzY3JpcHQgZmluaXNoZXMuCkRBVEEJSW5wdXQgZmlsZWhhbmRsZSBmb3Igd2hhdCBmb2xs
b3dzIGFmdGVyIF9fRU5EX18Jb3IgX19EQVRBX18uCmFjY2VwdChORVdTT0NLRVQsR0VORVJJ
Q1NPQ0tFVCkKYWxhcm0oU0VDT05EUykKYXRhbjIoWCxZKQpiaW5kKFNPQ0tFVCxOQU1FKQpi
aW5tb2RlKEZJTEVIQU5ETEUpCmNhbGxlclsoTEVWRUwpXQpjaGRpcihFWFBSKQpjaG1vZChM
SVNUKQpjaG9wWyhMSVNUfFZBUildCmNob3duKExJU1QpCmNocm9vdChGSUxFTkFNRSkKY2xv
c2UoRklMRUhBTkRMRSkKY2xvc2VkaXIoRElSSEFORExFKQouLi4gY21wIC4uLglTdHJpbmcg
Y29tcGFyZS4KY29ubmVjdChTT0NLRVQsTkFNRSkKY29udGludWUgb2YgeyBibG9jayB9IGNv
bnRpbnVlIHsgYmxvY2sgfS4gSXMgZXhlY3V0ZWQgYWZ0ZXIgYG5leHQnIG9yIGF0IGVuZC4K
Y29zKEVYUFIpCmNyeXB0KFBMQUlOVEVYVCxTQUxUKQpkYm1jbG9zZSglSEFTSCkKZGJtb3Bl
biglSEFTSCxEQk5BTUUsTU9ERSkKZGVmaW5lZChFWFBSKQpkZWxldGUoJEhBU0h7S0VZfSkK
ZGllKExJU1QpCmRvIHsgLi4uIH18U1VCUiB3aGlsZXx1bnRpbCBFWFBSCWV4ZWN1dGVzIGF0
IGxlYXN0IG9uY2UKZG8oRVhQUnxTVUJSKFtMSVNUXSkpCmR1bXAgTEFCRUwKZWFjaCglSEFT
SCkKZW5kZ3JlbnQKZW5kaG9zdGVudAplbmRuZXRlbnQKZW5kcHJvdG9lbnQKZW5kcHdlbnQK
ZW5kc2VydmVudAplb2ZbKFtGSUxFSEFORExFXSldCi4uLiBlcSAuLi4JU3RyaW5nIGVxdWFs
aXR5LgpldmFsKEVYUFIpIG9yIGV2YWwgeyBCTE9DSyB9CmV4ZWMoTElTVCkKZXhpdChFWFBS
KQpleHAoRVhQUikKZmNudGwoRklMRUhBTkRMRSxGVU5DVElPTixTQ0FMQVIpCmZpbGVubyhG
SUxFSEFORExFKQpmbG9jayhGSUxFSEFORExFLE9QRVJBVElPTikKZm9yIChFWFBSO0VYUFI7
RVhQUikgeyAuLi4gfQpmb3JlYWNoIFtWQVJdIChAQVJSQVkpIHsgLi4uIH0KZm9yawouLi4g
Z2UgLi4uCVN0cmluZyBncmVhdGVyIHRoYW4gb3IgZXF1YWwuCmdldGNbKEZJTEVIQU5ETEUp
XQpnZXRncmVudApnZXRncmdpZChHSUQpCmdldGdybmFtKE5BTUUpCmdldGhvc3RieWFkZHIo
QUREUixBRERSVFlQRSkKZ2V0aG9zdGJ5bmFtZShOQU1FKQpnZXRob3N0ZW50CmdldGxvZ2lu
CmdldG5ldGJ5YWRkcihBRERSLEFERFJUWVBFKQpnZXRuZXRieW5hbWUoTkFNRSkKZ2V0bmV0
ZW50CmdldHBlZXJuYW1lKFNPQ0tFVCkKZ2V0cGdycChQSUQpCmdldHBwaWQKZ2V0cHJpb3Jp
dHkoV0hJQ0gsV0hPKQpnZXRwcm90b2J5bmFtZShOQU1FKQpnZXRwcm90b2J5bnVtYmVyKE5V
TUJFUikKZ2V0cHJvdG9lbnQKZ2V0cHdlbnQKZ2V0cHduYW0oTkFNRSkKZ2V0cHd1aWQoVUlE
KQpnZXRzZXJ2YnluYW1lKE5BTUUsUFJPVE8pCmdldHNlcnZieXBvcnQoUE9SVCxQUk9UTykK
Z2V0c2VydmVudApnZXRzb2NrbmFtZShTT0NLRVQpCmdldHNvY2tvcHQoU09DS0VULExFVkVM
LE9QVE5BTUUpCmdtdGltZShFWFBSKQpnb3RvIExBQkVMCmdyZXAoRVhQUixMSVNUKQouLi4g
Z3QgLi4uCVN0cmluZyBncmVhdGVyIHRoYW4uCmhleChFWFBSKQppZiAoRVhQUikgeyAuLi4g
fSBbIGVsc2lmIChFWFBSKSB7IC4uLiB9IC4uLiBdIFsgZWxzZSB7IC4uLiB9IF0gb3IgRVhQ
UiBpZiBFWFBSCmluZGV4KFNUUixTVUJTVFJbLE9GRlNFVF0pCmludChFWFBSKQppb2N0bChG
SUxFSEFORExFLEZVTkNUSU9OLFNDQUxBUikKam9pbihFWFBSLExJU1QpCmtleXMoJUhBU0gp
CmtpbGwoTElTVCkKbGFzdCBbTEFCRUxdCi4uLiBsZSAuLi4JU3RyaW5nIGxlc3MgdGhhbiBv
ciBlcXVhbC4KbGVuZ3RoKEVYUFIpCmxpbmsoT0xERklMRSxORVdGSUxFKQpsaXN0ZW4oU09D
S0VULFFVRVVFU0laRSkKbG9jYWwoTElTVCkKbG9jYWx0aW1lKEVYUFIpCmxvZyhFWFBSKQps
c3RhdChFWFBSfEZJTEVIQU5ETEV8VkFSKQouLi4gbHQgLi4uCVN0cmluZyBsZXNzIHRoYW4u
Cm0vUEFUVEVSTi9pb2dzbXgKbWtkaXIoRklMRU5BTUUsTU9ERSkKbXNnY3RsKElELENNRCxB
UkcpCm1zZ2dldChLRVksRkxBR1MpCm1zZ3JjdihJRCxWQVIsU0laRSxUWVBFLkZMQUdTKQpt
c2dzbmQoSUQsTVNHLEZMQUdTKQpteSBWQVIgb3IgbXkgKFZBUjEsLi4uKQlJbnRyb2R1Y2Vz
IGEgbGV4aWNhbCB2YXJpYWJsZSAoJFZBUiwgQEFSUiwgb3IgJUhBU0gpLgouLi4gbmUgLi4u
CVN0cmluZyBpbmVxdWFsaXR5LgpuZXh0IFtMQUJFTF0Kb2N0KEVYUFIpCm9wZW4oRklMRUhB
TkRMRVssRVhQUl0pCm9wZW5kaXIoRElSSEFORExFLEVYUFIpCm9yZChFWFBSKQpwYWNrKFRF
TVBMQVRFLExJU1QpCnBhY2thZ2UgTkFNRQlJbnRyb2R1Y2VzIHBhY2thZ2UgY29udGV4dC4K
cGlwZShSRUFESEFORExFLFdSSVRFSEFORExFKQpwb3AoQVJSQVkpCnByaW50IFtGSUxFSEFO
RExFXSBbKExJU1QpXQpwcmludGYgW0ZJTEVIQU5ETEVdIChGT1JNQVQsTElTVCkKcHVzaChB
UlJBWSxMSVNUKQpxL1NUUklORy8JU3lub255bSBmb3IgJ1NUUklORycKcXEvU1RSSU5HLwlT
eW5vbnltIGZvciBcIlNUUklOR1wiCnF4L1NUUklORy8JU3lub255bSBmb3IgYFNUUklOR2AK
cmFuZFsoRVhQUildCnJlYWQoRklMRUhBTkRMRSxTQ0FMQVIsTEVOR1RIWyxPRkZTRVRdKQpy
ZWFkZGlyKERJUkhBTkRMRSkKcmVhZGxpbmsoRVhQUikKcmVjdihTT0NLRVQsU0NBTEFSLExF
TixGTEFHUykKcmVkbyBbTEFCRUxdCnJlbmFtZShPTEROQU1FLE5FV05BTUUpCnJlcXVpcmUg
W0ZJTEVOQU1FIHwgUEVSTF9WRVJTSU9OXQpyZXNldFsoRVhQUildCnJldHVybihMSVNUKQpy
ZXZlcnNlKExJU1QpCnJld2luZGRpcihESVJIQU5ETEUpCnJpbmRleChTVFIsU1VCU1RSWyxP
RkZTRVRdKQpybWRpcihGSUxFTkFNRSkKcy9QQVRURVJOL1JFUExBQ0VNRU5UL2dpZW94c20K
c2NhbGFyKEVYUFIpCnNlZWsoRklMRUhBTkRMRSxQT1NJVElPTixXSEVOQ0UpCnNlZWtkaXIo
RElSSEFORExFLFBPUykKc2VsZWN0KEZJTEVIQU5ETEUgfCBSQklUUyxXQklUUyxFQklUUyxU
SU1FT1VUKQpzZW1jdGwoSUQsU0VNTlVNLENNRCxBUkcpCnNlbWdldChLRVksTlNFTVMsU0la
RSxGTEFHUykKc2Vtb3AoS0VZLC4uLikKc2VuZChTT0NLRVQsTVNHLEZMQUdTWyxUT10pCnNl
dGdyZW50CnNldGhvc3RlbnQoU1RBWU9QRU4pCnNldG5ldGVudChTVEFZT1BFTikKc2V0cGdy
cChQSUQsUEdSUCkKc2V0cHJpb3JpdHkoV0hJQ0gsV0hPLFBSSU9SSVRZKQpzZXRwcm90b2Vu
dChTVEFZT1BFTikKc2V0cHdlbnQKc2V0c2VydmVudChTVEFZT1BFTikKc2V0c29ja29wdChT
T0NLRVQsTEVWRUwsT1BUTkFNRSxPUFRWQUwpCnNoaWZ0WyhBUlJBWSldCnNobWN0bChJRCxD
TUQsQVJHKQpzaG1nZXQoS0VZLFNJWkUsRkxBR1MpCnNobXJlYWQoSUQsVkFSLFBPUyxTSVpF
KQpzaG13cml0ZShJRCxTVFJJTkcsUE9TLFNJWkUpCnNodXRkb3duKFNPQ0tFVCxIT1cpCnNp
bihFWFBSKQpzbGVlcFsoRVhQUildCnNvY2tldChTT0NLRVQsRE9NQUlOLFRZUEUsUFJPVE9D
T0wpCnNvY2tldHBhaXIoU09DS0VUMSxTT0NLRVQyLERPTUFJTixUWVBFLFBST1RPQ09MKQpz
b3J0IFtTVUJST1VUSU5FXSAoTElTVCkKc3BsaWNlKEFSUkFZLE9GRlNFVFssTEVOR1RIWyxM
SVNUXV0pCnNwbGl0WygvUEFUVEVSTi9bLEVYUFJbLExJTUlUXV0pXQpzcHJpbnRmKEZPUk1B
VCxMSVNUKQpzcXJ0KEVYUFIpCnNyYW5kKEVYUFIpCnN0YXQoRVhQUnxGSUxFSEFORExFfFZB
UikKc3R1ZHlbKFNDQUxBUildCnN1YiBbTkFNRSBbKGZvcm1hdCldXSB7IEJPRFkgfQlzdWIg
TkFNRSBbKGZvcm1hdCldOwlzdWIgWyhmb3JtYXQpXSB7Li4ufQpzdWJzdHIoRVhQUixPRkZT
RVRbLExFTl0pCnN5bWxpbmsoT0xERklMRSxORVdGSUxFKQpzeXNjYWxsKExJU1QpCnN5c3Jl
YWQoRklMRUhBTkRMRSxTQ0FMQVIsTEVOR1RIWyxPRkZTRVRdKQpzeXN0ZW0oTElTVCkKc3lz
d3JpdGUoRklMRUhBTkRMRSxTQ0FMQVIsTEVOR1RIWyxPRkZTRVRdKQp0ZWxsWyhGSUxFSEFO
RExFKV0KdGVsbGRpcihESVJIQU5ETEUpCnRpbWUKdGltZXMKdHIvU0VBUkNITElTVC9SRVBM
QUNFTUVOVExJU1QvY2RzCnRydW5jYXRlKEZJTEV8RVhQUixMRU5HVEgpCnVtYXNrWyhFWFBS
KV0KdW5kZWZbKEVYUFIpXQp1bmxlc3MgKEVYUFIpIHsgLi4uIH0gWyBlbHNlIHsgLi4uIH0g
XSBvciBFWFBSIHVubGVzcyBFWFBSCnVubGluayhMSVNUKQp1bnBhY2soVEVNUExBVEUsRVhQ
UikKdW5zaGlmdChBUlJBWSxMSVNUKQp1bnRpbCAoRVhQUikgeyAuLi4gfQkJCQkJRVhQUiB1
bnRpbCBFWFBSCnV0aW1lKExJU1QpCnZhbHVlcyglSEFTSCkKdmVjKEVYUFIsT0ZGU0VULEJJ
VFMpCndhaXQKd2FpdHBpZChQSUQsRkxBR1MpCndhbnRhcnJheQp3YXJuKExJU1QpCndoaWxl
ICAoRVhQUikgeyAuLi4gfQkJCQkJRVhQUiB3aGlsZSBFWFBSCndyaXRlWyhFWFBSfEZJTEVI
QU5ETEUpXQouLi4geCAuLi4JUmVwZWF0IHN0cmluZyBvciBhcnJheS4KeD0gLi4uCVJlcGV0
aXRpb24gYXNzaWdubWVudC4KeS9TRUFSQ0hMSVNUL1JFUExBQ0VNRU5UTElTVC8KLi4uIHwg
Li4uCUJpdHdpc2Ugb3IuCi4uLiB8fCAuLi4JTG9naWNhbCBvci4KfiAuLi4JCVVuYXJ5IGJp
dHdpc2UgY29tcGxlbWVudC4KIyEJT1MgaW50ZXJwcmV0ZXIgaW5kaWNhdG9yLiBJZiBjb250
YWlucyBgcGVybCcsIHVzZWQgZm9yIG9wdGlvbnMsIGFuZCAteC4KQVVUT0xPQUQgey4uLn0J
U2hvcnRoYW5kIGZvciBgc3ViIEFVVE9MT0FEIHsuLi59Jy4KQ09SRTo6CQlQcmVmaXggdG8g
YWNjZXNzIGJ1aWx0aW4gZnVuY3Rpb24gaWYgaW1wb3J0ZWQgc3ViIG9ic2N1cmVzIGl0LgpT
VVBFUjo6CQlQcmVmaXggdG8gbG9va3VwIGZvciBhIG1ldGhvZCBpbiBASVNBIGNsYXNzZXMu
CkRFU1RST1kJCVNob3J0aGFuZCBmb3IgYHN1YiBERVNUUk9ZIHsuLi59Jy4KLi4uIEVRIC4u
LglPYnNvbGV0ZSBzeW5vbnltIG9mIGBlcScuCi4uLiBHRSAuLi4JT2Jzb2xldGUgc3lub255
bSBvZiBgZ2UnLgouLi4gR1QgLi4uCU9ic29sZXRlIHN5bm9ueW0gb2YgYGd0Jy4KLi4uIExF
IC4uLglPYnNvbGV0ZSBzeW5vbnltIG9mIGBsZScuCi4uLiBMVCAuLi4JT2Jzb2xldGUgc3lu
b255bSBvZiBgbHQnLgouLi4gTkUgLi4uCU9ic29sZXRlIHN5bm9ueW0gb2YgYG5lJy4KYWJz
IFsgRVhQUiBdCWFic29sdXRlIHZhbHVlCi4uLiBhbmQgLi4uCQlMb3ctcHJlY2VkZW5jZSBz
eW5vbnltIGZvciAmJi4KYmxlc3MgUkVGRVJFTkNFIFssIFBBQ0tBR0VdCU1ha2VzIHJlZmVy
ZW5jZSBpbnRvIGFuIG9iamVjdCBvZiBhIHBhY2thZ2UuCmNob21wCQlEb2NzIG1pc3NpbmcK
Y2hyCQlEb2NzIG1pc3NpbmcKZWxzZQkJUGFydCBvZiBpZi91bmxlc3Mge0JMT0NLfSBlbHNp
ZiB7QkxPQ0t9IGVsc2Uge0JMT0NLfS4KZWxzaWYJCVBhcnQgb2YgaWYvdW5sZXNzIHtCTE9D
S30gZWxzaWYge0JMT0NLfSBlbHNlIHtCTE9DS30uCmV4aXN0cwkkSEFTSHtLRVl9CVRydWUg
aWYgdGhlIGtleSBleGlzdHMuCmZvcm1hdAkJRG9jcyBtaXNzaW5nCmZvcm1saW5lCURvY3Mg
bWlzc2luZwpnbG9iIEVYUFIJU3lub255bSBvZiA8RVhQUj4uCmxjIFsgRVhQUiBdCVJldHVy
bnMgbG93ZXJjYXNlZCBFWFBSLgpsY2ZpcnN0IFsgRVhQUiBdCVJldHVybnMgRVhQUiB3aXRo
IGxvd2VyLWNhc2VkIGZpcnN0IGxldHRlci4KbWFwCQlEb2NzIG1pc3NpbmcKbm8gUEFDS0FH
RSBbU1lNQk9MMSwgLi4uXSAgUGFydGlhbCByZXZlcnNlIGZvciBgdXNlJy4gUnVucyBgdW5p
bXBvcnQnIG1ldGhvZC4KLi4uIG5vdCAuLi4JCUxvdy1wcmVjZWRlbmNlIHN5bm9ueW0gZm9y
ICEgLSBuZWdhdGlvbi4KLi4uIG9yIC4uLgkJTG93LXByZWNlZGVuY2Ugc3lub255bSBmb3Ig
fHwuCnBvcyBTVFJJTkcgICAgU2V0L0dldCBlbmQtcG9zaXRpb24gb2YgdGhlIGxhc3QgbWF0
Y2ggb3ZlciB0aGlzIHN0cmluZywgc2VlIFxcRy4KcXVvdGVtZXRhIFsgRVhQUiBdCVF1b3Rl
IG1ldGFjaGFyYWN0ZXJzLgpxdwkJRG9jcyBtaXNzaW5nCnJlYWRsaW5lIEZICVN5bm9ueW0g
b2YgPEZIPi4KcmVhZHBpcGUgQ01ECVN5bm9ueW0gb2YgYENNRGAuCnJlZiBbIEVYUFIgXQlU
eXBlIG9mIEVYUFIgd2hlbiBkZXJlZmVyZW5jZWQuCnN5c29wZW4JCURvY3MgbWlzc2luZwp0
aWUJCURvY3MgbWlzc2luZwp0aWVkCQlEb2NzIG1pc3NpbmcKdWMgWyBFWFBSIF0JUmV0dXJu
cyB1cGNhc2VkIEVYUFIuCnVjZmlyc3QgWyBFWFBSIF0JUmV0dXJucyBFWFBSIHdpdGggdXBj
YXNlZCBmaXJzdCBsZXR0ZXIuCnVudGllCQlEb2NzIG1pc3NpbmcKdXNlIFBBQ0tBR0UgW1NZ
TUJPTDEsIC4uLl0gIENvbXBpbGUtdGltZSBgcmVxdWlyZScgd2l0aCBjb25zZXF1ZW50IGBp
bXBvcnQnLgouLi4geG9yIC4uLgkJTG93LXByZWNlZGVuY2Ugc3lub255bSBmb3IgZXhjbHVz
aXZlIG9yLgpwcm90b3R5cGUgXCZTVUIJUmV0dXJucyBwcm90b3R5cGUgb2YgdGhlIGZ1bmN0
aW9uIGdpdmVuIGEgcmVmZXJlbmNlLgo9aGVhZDEJCVRvcC1sZXZlbCBoZWFkaW5nLgo9aGVh
ZDIJCVNlY29uZC1sZXZlbCBoZWFkaW5nLgo9aGVhZDMJCVRoaXJkLWxldmVsIGhlYWRpbmcg
KGlzIHRoZXJlIHN1Y2g/KS4KPW92ZXIgWyBOVU1CRVIgXQlTdGFydCBsaXN0Lgo9aXRlbSBb
IFRJVExFIF0JCVN0YXJ0IG5ldyBpdGVtIGluIHRoZSBsaXN0Lgo9YmFjawkJRW5kIGxpc3Qu
Cj1jdXQJCVN3aXRjaCBmcm9tIFBPRCB0byBQZXJsLgo9cG9kCQlTd2l0Y2ggZnJvbSBQZXJs
IHRvIFBPRC4KIikKCihkZWZ1biBjcGVybC1zd2l0Y2gtdG8tZG9jLWJ1ZmZlciAoKQogICJH
byB0byB0aGUgcGVybCBkb2N1bWVudGF0aW9uIGJ1ZmZlciBhbmQgaW5zZXJ0IHRoZSBkb2N1
bWVudGF0aW9uLiIKICAoaW50ZXJhY3RpdmUpCiAgKGxldCAoKGJ1ZiAoZ2V0LWJ1ZmZlci1j
cmVhdGUgY3BlcmwtZG9jLWJ1ZmZlcikpKQogICAgKGlmIChpbnRlcmFjdGl2ZS1wKQoJKHN3
aXRjaC10by1idWZmZXItb3RoZXItd2luZG93IGJ1ZikKICAgICAgKHNldC1idWZmZXIgYnVm
KSkKICAgIChpZiAoPSAoYnVmZmVyLXNpemUpIDApCgkocHJvZ24KCSAgKGluc2VydCAoZG9j
dW1lbnRhdGlvbi1wcm9wZXJ0eSAnY3Blcmwtc2hvcnQtZG9jcwoJCQkJCSAgJ3ZhcmlhYmxl
LWRvY3VtZW50YXRpb24pKQoJICAoc2V0cSBidWZmZXItcmVhZC1vbmx5IHQpKSkpKQoKKGlm
IChmYm91bmRwICdydW4td2l0aC1pZGxlLXRpbWVyKQogICAgKHByb2duCiAgICAgIChkZWZ2
YXIgY3BlcmwtaGVscC1zaG93biBuaWwKCSJOb24tbmlsIG1lYW5zIHRoYXQgdGhlIGhlbHAg
d2FzIGFscmVhZHkgc2hvd24gbm93LiIpCgogICAgICAoZGVmdmFyIGNwZXJsLWhlbHAtdGlt
ZXIgbmlsCgkiTm9uLW5pbCBtZWFucyB0aGF0IHRoZSBoZWxwIHdhcyBhbHJlYWR5IHNob3du
IG5vdy4iKQoKICAgICAgKGRlZnVuIGNwZXJsLWxhenktaW5zdGFsbCAoKQoJKGludGVyYWN0
aXZlKQoJKG1ha2UtdmFyaWFibGUtYnVmZmVyLWxvY2FsICdjcGVybC1oZWxwLXNob3duKQoJ
KGlmIChjcGVybC12YWwgY3BlcmwtbGF6eS1oZWxwLXRpbWUpCgkgICAgKHByb2duCgkgICAg
ICAoYWRkLWhvb2sgJ3Bvc3QtY29tbWFuZC1ob29rICdjcGVybC1sYXp5LWhvb2spCgkgICAg
ICAoc2V0cSBjcGVybC1oZWxwLXRpbWVyIAoJCSAgICAocnVuLXdpdGgtaWRsZS10aW1lciAK
CQkgICAgIChjcGVybC12YWwgY3BlcmwtbGF6eS1oZWxwLXRpbWUgMTAwMDAwMCA1KSAKCQkg
ICAgIHQgCgkJICAgICAnY3BlcmwtZ2V0LWhlbHAtZGVmZXIpKSkpKQoKICAgICAgKGRlZnVu
IGNwZXJsLWxhenktdW5zdGFsbCAoKQoJKGludGVyYWN0aXZlKQoJKHJlbW92ZS1ob29rICdw
b3N0LWNvbW1hbmQtaG9vayAnY3BlcmwtbGF6eS1ob29rKQoJKGNhbmNlbC10aW1lciBjcGVy
bC1oZWxwLXRpbWVyKSkKCiAgICAgIChkZWZ1biBjcGVybC1sYXp5LWhvb2sgKCkKCShzZXRx
IGNwZXJsLWhlbHAtc2hvd24gbmlsKSkKCiAgICAgIChkZWZ1biBjcGVybC1nZXQtaGVscC1k
ZWZlciAoKQoJKGlmIChub3QgKGVxIG1ham9yLW1vZGUgJ3BlcmwtbW9kZSkpIG5pbAoJICAo
bGV0ICgoY3BlcmwtbWVzc2FnZS1vbi1oZWxwLWVycm9yIG5pbCkgKGNwZXJsLWhlbHAtZnJv
bS10aW1lciB0KSkKCSAgICAoY3BlcmwtZ2V0LWhlbHApCgkgICAgKHNldHEgY3BlcmwtaGVs
cC1zaG93biB0KSkpKQogICAgICAoY3BlcmwtbGF6eS1pbnN0YWxsKSkpCg==

--6TDC0qf1cy/SWO9CObsnkqcTBdH535T8pyGt0/Ni--

