Received: from localhost ([::1]:49150 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UYFrr-0006b7-Hd; Fri, 03 May 2013 06:17:43 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:60907 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UYFrj-0006ap-12 for wikichanges@lojban.org; Fri, 03 May 2013 06:17:42 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 3 May 2013 06:17:34 -0700 From: "Apache" Date: Fri, 3 May 2013 06:17:34 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by gleki at 13:17 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMTM6 MTcgVVRDCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9NjUmbmV3dmVyPTY2CgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBX YXZlIExlc3NvbnMgQ29udGludWVkOgoKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJv bSB2YXJpb3VzIGxvamJhbmlzdHMuIEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBT cHJpbmcgMjAxMy4KCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHplcm86IEZvcmV3b3Jk CgpUaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUgR29vZ2xlIFdh dmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmliYWNyLCB4YWxi bywgYW5kIG90aGVycywgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVkIHRoZSBmaXJzdCBmb3VyIGNo YXB0ZXJzIGluIHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMgdGhlIG5ld2VzdCBydWxlcyBv ZiBMb2piYW4gbm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxzIHN1Y2ggYXMgV2hhdCBpcyBM b2piYW4/IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KCgoKSWYgeW91IGFyZSBuZXcgdG8gTG9q YmFuLCBJIHJlY29tbWVuZCBsaXN0ZW5pbmcgdG8gYW55IHJlY29yZGluZ3MgeW91IGNhbiBmaW5k IG9mIHNwb2tlbiBMb2piYW4gYm90aCBiZWZvcmUgYW5kIHdoaWxlIHlvdSBhcmUgdGFraW5nIHRo aXMgdHV0b3JpYWwsIGluIG9yZGVyIHRvIG1ha2UgeW91cnNlbGYgZmFtaWxpYXIgd2l0aCB0aGUg c291bmRzIGFuZCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2V+dGN+LCB3aGljaCB3aWxsIG5vdCBiZSBl eHBsYWluZWQgaGVyZX4vdGN+LiBGdXJ0aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUgdGhpbmdzIHlv dSByZWFkIGluIExvamJhbiBhY2NlbnQgaWYgaXQncyByZWFzb25hYmx5IHByYWN0aWNhbC4gVGhp cyBjYW4gaGVscCB5b3VyIHByb251bmNpYXRpb24gYSBsb3QuCgoKCldoZW4gdGFraW5nIHRoaXMg dHV0b3JpYWwsIGl0J3MgYmVzdCB0byBwYXVzZSBiZXR3ZWVuIGxlc3NvbnMgaW4gb3JkZXIgdG8g aW50ZXJuYWxpemUgd2hhdCB5b3UgaGF2ZSBsZWFybnQuIEkgaGF2ZSBhdHRlbXB0ZWQgdG8gYnVp bGQgdGhlc2UgbGVzc29ucyBmcm9tIHRoZSBib3R0b20gdXAgYW5kIGV4Y2x1ZGUgYW55IHdvcmRz IG9yIGNvbmNlcHRzIHRoYXQgaGF2ZSBub3QgYmVlbiBleHBsYWluZWQgaW4gcHJldmlvdXMgbGVz c29ucy4gT25jZSBleHBsYWluZWQsIHRoZXkgYXJlIHVzZWQgZnJlZWx5IHRocm91Z2hvdXQgdGhl IHJlbWFpbmRlciBvZiB0aGUgdHV0b3JpYWwuIEkgdXJnZSByZWFkZXJzIG5vdCB0byBwYXNzIGFu eSBtaXN1bmRlcnN0b29kIGNvbnRlbnQ7IGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBhcmUgdW5j ZXJ0YWluIGFib3V0IHNvbWV0aGluZywgZmVlbCBmcmVlIHRvIGFzayB0aGUgTG9qYmFuIGNvbW11 bml0eSwgd2hpY2ggY2FuIGJlIGZvdW5kIGluICNsb2piYW4gb24gdGhlIEZyZWVub2RlIElSQyBu ZXR3b3JrLiBUaGV5IHdpbGwgYmUgaGFwcHkgdG8gaGVscC4KCgoKSW4gdGhpcyB0dXRvcmlhbCwg TG9qYmFuIHRleHQgaXMgd3JpdHRlbiBpbiAnJ2l0YWxpY3MnJy4gTGF0ZXIsIHdoZW4gdXNlZCBh cyBMb2piYW4gbG9hbndvcmRzIGluIEVuZ2xpc2ggc2VudGVuY2VzLCB0aGV5IGFyZSBub3QgbWFy a2VkLiBBbnN3ZXJzIHRvIGV4ZXJjaXNlcyBhcmUgZGlzcGxheWVkIGFzIGEgZ3JleSBiYXIuIEhp Z2hsaWdodCB0aGUgdGV4dCBpbiBvcmRlciB0byBzZWUgaXQuCgoKCkxhc3RseSwgSSBoYXZlIGFz IGZhciBhcyBwb3NzaWJsZSBhdHRlbXB0ZWQgdG8gdXNlIHRoZSBMb2piYW4gd29yZHMgZm9yIGdy YW1tYXRpY2FsIGNvbnN0cnVjdHM6ICcnc3Vta2EnaScnIGluc3RlYWQgb2YgcHJvLXN1bXRpLCAn J3N1bXRjaXRhJycgaW5zdGVhZCBvZiBtb2RhbCBhbmQgJydqdWZyYScnIGluc3RlYWQgb2YgdXR0 ZXJhbmNlLiBUaGlzIGlzIGJlY2F1c2UgSSBmZWVsIHRoZSBFbmdsaXNoIHdvcmRzIGFyZSBvZnRl biBlaXRoZXIgYXJiaXRyYXJ5LCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIGp1c3QgbW9yZSB3b3Jk cyB0byBsZWFybiwgb3IgbWlzbGVhZGluZywgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSB3b3JzZSB0 aGFuIHVzZWxlc3MuIEluIGVpdGhlciBjYXNlLCBhcyBsb25nIGFzIHRoZSB3b3JkcyBhcmUgc3Bl Y2lmaWMgdG8gdGhvc2Ugd2hvIGFyZSBsZWFybmluZyBMb2piYW4gYW55d2F5LCB0aGVyZSBpcyBu byByZWFzb24gZm9yIHRoZW0gdG8gZXhpc3QgYXMgc2VwYXJhdGUgRW5nbGlzaCB3b3Jkcy4KCgoK ISEhUHJlZmFjZS4gU291bmRzCgpUaGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gd2hlbiB5 b3UgbGVhcm4gYSBmb3JlaWduIGxhbmd1YWdlIGlzIHRvIGJlY29tZSBmYW1pbGlhciB3aXRoIHRo ZSBzb3VuZHMgb2YgdGhlIGxhbmd1YWdlIGFuZCBob3cgdGhleSBhcmUgd3JpdHRlbiwgYW5kIHRo ZSBzYW1lIGdvZXMgZm9yIExvamJhbi4gRm9ydHVuYXRlbHksIExvamJhbiBzb3VuZHMgKF9fcGhv bmVtZXNfXykgYXJlIGZhaXJseSBzdHJhaWdodGZvcndhcmQuCgohISEhVm93ZWxzCgpUaGVyZSBh cmUgc2l4IHZvd2VscyBpbiBMb2piYW4uCgoKCnx8JydhJycgfGFzIGluICJmX19hX190aGVyIiAo bm90IGFzIGluICJoX19hX190IikKCicnZScnIHxhcyBpbiAiZ19fZV9fdCIKCicnaScnIHxhcyBp biAibWFjaF9faV9fbmUiIG9yIChJdGFsaWFuKSAidl9faV9fbm8iIChub3QgYXMgaW4gImhfX2lf X3QiKQoKJydvJycgfGFzIGluICJiX19vX19sZCIgb3IgIm1fX29fX3JlIiDigJQgbm90IGFzIGlu ICJzX19vX18iICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3VuZC4pCgonJ3UnJyB8YXMgaW4g ImNfX29vX19sIiAobm90IGFzIGluICJiX191X190IikgfHwKClRoZXNlIGFyZSBwcmV0dHkgbXVj aCB0aGUgc2FtZSBhcyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGggdm93 ZWwsICcneScnLCBpcyBjYWxsZWQgYSBfX3NjaHdhX18gaW4gdGhlIGxhbmd1YWdlIHRyYWRlLCBh bmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBmaXJzdCBhbmQgbGFzdCAiQSIncyBpbiAiQW1lcmlj YSIgKHRoYXQncyBFbmdsaXNoICJBbWVyaWNhIiwgbm90IFNwYW5pc2guKSBJdCdzIHRoZSBzb3Vu ZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBtb3V0aCBpcyBjb21wbGV0ZWx5IHJlbGF4ZWQuCgpU d28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBwcm9ub3VuY2VkIGFzIG9uZSBzb3VuZCAoX19kaXBodGhv bmdfXykuIFNvbWUgZXhhbXBsZXMgYXJlOgoKCgp8fCcnYWknJyB8YXMgaW4gImhfX2lnaF9fIgoK JydhdScnIHxhcyBpbiAiaF9fb3dfXyIKCicnZWknJyB8YXMgaW4gImhfX2V5X18iCgonJ29pJycg fGFzIGluICJiX19veV9fIgoKJydpYScnIHxsaWtlIEdlcm1hbiBfXyJKYV9fIgoKJydpZScnIHxs aWtlIF9fInllYWhfXyIKCicnaXUnJyB8bGlrZSBfXyJ5b3VfXyIKCicndWEnJyB8YXMgaW4gX18i d2FhaCFfXyIsIG9yIEZyZW5jaCAicV9fdW9pX18iCgonJ3VlJycgfGFzIGluICJxX191ZV9fc3Rp b24iCgonJ3VvJycgfGFzIGluICJxX191b19fdGUiCgonJ3VpJycgfGxpa2UgX18id2VfXyIsIG9y IEZyZW5jaCBfXyJvdWlfXyIgfHwKCkRvdWJsZSB2b3dlbHMgYXJlIHJhcmUuIFRoZSBvbmx5IGV4 YW1wbGVzIGFyZSAnJ2lpJycsIHdoaWNoIGlzIHByb25vdW5jZWQgbGlrZSBFbmdsaXNoICJ5ZSIg KGFzIGluIOKAnE9oIGNvbWUgYWxsIHllIGZhaXRoZnVs4oCdKSBvciBDaGluZXNlICJ5aSIsIGFu ZCAnJ3V1JycsIHByb25vdW5jZWQgbGlrZSAid29vIi4KCiEhISFDb25zb25hbnRzCgpNb3N0IExv amJhbiBjb25zb25hbnRzIGFyZSB0aGUgc2FtZSBhcyBFbmdsaXNoLCBidXQgdGhlcmUgYXJlIHNv bWUgZXhjZXB0aW9uczoKCgoKfHxnIHxhbHdheXMgJydnJycgYXMgaW4gJydfX2dfX3VtJycsIG5l dmVyICcnZycnIGFzIGluICcnX19nX19lbScnCgpjIHwnJ3NoJycsIGFzIGluICcnX19zaF9faXAn JwoKaiB8YXMgaW4gJydtZWFfX3NfX3VyZScnIG9yIEZyZW5jaCAnJ2Jvbl9fal9fb3VyJycKCngg fGFzIGluIEdlcm1hbiAnJ0JhX19jaCcnX18sIFNwYW5pc2ggJydfX0pfX29zZScnIG9yIEFyYWJp YyAnJ19fS2hfX2FsZWQnJyB8fAoKVGhlIEVuZ2xpc2ggc291bmRzICcnY2gnJyBhbmQgJydqJycg YXJlIHdyaXR0ZW4gYXMgdGMgYW5kIGRqLgoKTG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJz ICcnSCcnLCAnJ1EnJyBvciAnJ1cnJy4KCiEhISFTcGVjaWFsIENoYXJhY3RlcnMKCkxvamJhbiBk b2VzIG5vdCByZXF1aXJlIGFueSBwdW5jdHVhdGlvbiwgYnV0IHNvbWUgc3BlY2lhbCBjaGFyYWN0 ZXJzIChub3JtYWxseSB1c2VkIGluIHB1bmN0dWF0aW9uIGluIG90aGVyIGxhbmd1YWdlcykgYWZm ZWN0IHRoZSB3YXkgTG9qYmFuIGlzIHByb25vdW5jZWQuCgpUaGUgb25seSBvbmUgb2YgdGhlc2Ug Y2hhcmFjdGVycyB3aGljaCBpcyBvYmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUgYXBvc3Ryb3Bo ZTsgaW4gZmFjdCB0aGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIg b2YgTG9qYmFuLiBBbiBhcG9zdHJvcGhlIHNlcGFyYXRlcyB0d28gdm93ZWxzLCBwcmV2ZW50aW5n IHRoZW0gZnJvbSBiZWluZyBwcm9ub3VuY2VkIHRvZ2V0aGVyIChhcyBhIF9fZGlwaHRob25nX18p OyBpdCBpcyBpdHNlbGYgcHJvbm91bmNlZCBsaWtlIGFuICJoIi4gRm9yIGV4YW1wbGUsICcndWkn JyBpcyBub3JtYWxseSBwcm9ub3VuY2VkICJ3ZSIsIGJ1dCAnJ3UnaScnIGlzICJvb2hlZSInLgoK QSBmdWxsIHN0b3AgKHBlcmlvZCkgaXMgYSBzaG9ydCBwYXVzZSB0byBzdG9wIHdvcmRzIHJ1bm5p bmcgaW50byBlYWNoIG90aGVyLiBUaGUgcnVsZXMgb2YgTG9qYmFuIG1ha2UgaXQgZWFzaWVyIGZv ciBvbmUgd29yZCB0byBydW4gaW50byBhbm90aGVyIHdoZW4gdGhlIHNlY29uZCB3b3JkIGJlZ2lu cyB3aXRoIGEgdm93ZWw7IHNvIGFueSB3b3JkIHN0YXJ0aW5nIHdpdGggYSB2b3dlbCBjb252ZW50 aW9uYWxseSBoYXMgYSBmdWxsIHN0b3AgcGxhY2VkIGluIGZyb250IG9mIGl0LgoKQ29tbWFzIGFy ZSByYXJlIGluIExvamJhbiwgYnV0IGNhbiBiZSB1c2VkIHRvIHN0b3AgdHdvIHZvd2VscyBibHVy cmluZyB0b2dldGhlciB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHVzZSBhbiBhcG9zdHJvcGhlICh3 aGljaCB3b3VsZCBwdXQgYSAnJ2gnJyBiZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4gd29yZHMgaGF2 ZSBjb21tYXMsIGJ1dCB0aGV5J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJh biBuYW1lcywgZm9yIGV4YW1wbGUgJycucGksRVIuJycgKCJQaWVycmUiKSwgYXMgb3Bwb3NlZCB0 byAnJy5waWVyLicnICgiUC15ZXJyIiksICcnLnBpLkVSLicnICgiUGVlOyBFaHIiKSwgb3IgJycu cGknRVIuJycgKCJQaWhlcnIiKS4KCkNhcGl0YWwgbGV0dGVycyBhcmUgbm90IG5vcm1hbGx5IHVz ZWQgaW4gTG9qYmFuLiBXZSB1c2UgdGhlbSBpbiBub24tTG9qYmFuIHdvcmRzIChsaWtlICJQaWVy cmUiKSB3aGVuIHRoZSBzdHJlc3Mgb2YgYSB3b3JkIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBMb2pi YW4gbm9ybS4gVGhlIG5vcm0gaXMgdG8gcHV0IHRoZSBzdHJlc3Mgb24gdGhlIGxhc3QtYnV0LW9u ZSBzeWxsYWJsZTsgc28sIGZvciBleGFtcGxlLCAnJ2t1am1pa2NlJycgIm51cnNlIiBpcyAnJ2t1 al9fTUlLX19jZScnLCBub3QgJydfX0tVSl9fbWlrY2UnJy4gVGhlIG5hbWUgIkp1bGlldHRlIiB3 b3VsZCBiZSB3cml0dGVuICcnLkRKVWxpLGV0LicnIGlmIHByb25vdW5jZWQgaW4gYW4gRW5nbGlz aCB3YXksIGJ1dCAnJy5qdUxJRVQuJycgaWYgcHJvbm91bmNlZCBhcyBpbiBGcmVuY2guCgohISEh QWxwaGFiZXQKCkluIG1vc3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBoYWJl dCBvZiB0aGUgbGFuZ3VhZ2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0ZXJzICgnJ2xl cmZ1JycpIHR1cm4gb3V0IHRvIGJlIGV2ZW4gbW9yZSBpbXBvcnRhbnQgdGhhbiB1c3VhbCBpbiBM b2piYW4sIHNvIHdlIG1pZ2h0IGFzIHdlbGwgZ28gdGhyb3VnaCB0aGVpciBuYW1lcyBxdWlja2x5 LgoKQ29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFu dCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNvbnNvbmFudCBsZXR0ZXJz IG9mIExvamJhbiwgImIsIGMsIGQsIGYsIGcgLi4uIiwgYXJlIGNhbGxlZCAnJ2J5LiwgY3kuLCBk eS4sIGZ5LiwgZ3kuJycgLi4uIGluIExvamJhbiAodXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZSd2 ZSBqdXN0IGRlc2NyaWJlZC4pCgpWb3dlbHMgX193b3VsZF9fIGJlIGNhbGxlZCAnJy5heSwgLmV5 LCAuaXknJywgYnV0IHRoYXQgd291bGQgYmUgcmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2Uu IEluc3RlYWQsIHRoZXkgYXJlIGhhbmRsZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3 aXRoIHRoZSB3b3JkICcnYnUnJywgd2hpY2ggYmFzaWNhbGx5IG1lYW5zICdsZXR0ZXInLiBTbyB0 aGUgdm93ZWxzIG9mIExvamJhbiBhcmU6ICcnLmFidSwgLmVidSwgLmlidSwgLm9idSwgLnVidSwg eWJ1LicnCgpUaGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4g TG9qYmFuLCBhbmQgaXMgY2FsbGVkICcnLnkneS4nJyAuIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNv dW5kcyBsaWtlIGEgY291Z2g7IHRvIG90aGVyLCBsaWtlICJ1aC1odWgiICh3aGVuIGl0IG1lYW5z ICdZZXMnIHJhdGhlciB0aGFuICdObycuKQoKTG9qYmFuIGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRv IG1vc3QgbGV0dGVycyB5b3UgY2FuIHRoaW5rIG9mLiBJZiB5b3UgaGF2ZSB0aGUgdXJnZSB0byBz cGVsbCBvdXQgeW91ciBuYW1lIGluIExvamJhbiBhbmQgaGF2ZSBhbiAiSCIsICJRIiwgb3IgIlci IHRvIGRlYWwgd2l0aCwgeW91IGNhbiB1c2UgJycueSd5LmJ1LCBreS5idScnIGFuZCAnJ3Z5LmJ1 JycuIFNvICJTY2h3YXJ6ZW5lZ2dlciIgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOgoKJydzeS4gY3ku IC55J3lidSB2eWJ1LiAuYWJ1IHJ5LiB6eS4gLmVidSBueS4gLmVidSBneS4gZ3kuIC5lYnUgcnku JycKCkFuZCBzcGVsbGluZyAidGhhdCIgaXMgYSB0YXNrIHRoZSBlcXVhbCBvZiBhbnl0aGluZyB0 aGUgVGVybWluYXRvciBldmVyIGRpZCEKCgoKTm93IHNwZWxsIHlvdXIgbmFtZSBpbiBMb2piYW4g KG9yIGF0IGxlYXN0IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNlIHRoZSB0d2Vu dHktc2l4IGxldHRlcnMgb2YgRW5nbGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0aGUgYXBvc3Ry b3BoZSkuCgoKCiEhISEgJ0NvcnJlY3QnIHByb251bmNpYXRpb24KCllvdSBkb24ndCBoYXZlIHRv IGJlIHZlcnkgcHJlY2lzZSBhYm91dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUg cGhvbmVtZXMgYXJlIGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9u ZSBzb3VuZCBmb3IgYW5vdGhlci4gVGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29y cmVjdCcgcHJvbnVuY2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251 bmNpYXRpb27igJR0aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBz byBsb25nIGFzIGl0IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4g Rm9yIGV4YW1wbGUsIExvamJhbiByIGNhbiBiZSBwcm9ub3VuY2VkIGxpa2UgdGhlICJyIiBpbiBF bmdsaXNoLCBTY290dGlzaCBvciBGcmVuY2guCgpUd28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2Ys IHRob3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJhbiAnJ2knJyBhbmQgJyd1JycgbGlrZSBTdGFu ZGFyZCBCcml0aXNoIEVuZ2xpc2ggImhpdCIgYW5kICJidXQiIChOb3J0aGVybiBFbmdsaXNoICJi dXQiIGlzIGZpbmUhKS4gVGhpcyBpcyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1 bGFybHkgdGhlc2UgdHdvLCBhcmUgdXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3Bs ZSB3aG8gZmluZCB0aGVtIGhhcmQgdG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJv YmxlbXMgc3BpdHRpbmcgb3V0IHRoZSAnJ3pkJycgaW4gJyd6ZGFuaScnIChob3VzZSksIHlvdSBj YW4gc2F5IHrJqmRhbmnigJR3aGVyZSB0aGUgIsmqIiBpcyB2ZXJ5IHNob3J0LCBidXQgdGhlIGZp bmFsICJpIiBoYXMgdG8gYmUgbG9uZy4KCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKCldhdGNo IGFueSBmaWxtIHdoZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4g VGhleSBzdGFydCBvZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2gg aXMgYXMgZ29vZCBhIHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhl cmUgd2UgZ28uCgpfXycnbWknZSAucm9iaW4uJydfXwoKIkktYW0tbmFtZWQgUm9iaW4iCgoiSSdt IFJvYmluIgoKJydtaSdlJycgaXMgcmVsYXRlZCB0byAnJ21pJycsIHdoaWNoIGlzICdJJywgJ21l JyBhbmQgc28gb24uIEl0J3MgYSBnb29kIGV4YW1wbGUgb2YgdGhlIGFwb3N0cm9waGUgc2VwYXJh dGluZyB0d28gdm93ZWxzLCBhbmQgc291bmRzIGEgYml0IGxpa2UgIm1lIGhlaCIuCgpUaGlzIGd1 eSBSb2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2pi YW4gd2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9y IExvamJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2pi YW5pc2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1lIGlzIGEg bmFtZeKAlGJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4g Rm9yIGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgIkpvc2UiIHNv bWV0aGluZyBsaWtlICJIb3pheSIsIGFuZCAiTWFyZ2FyZXQiIGluIENoaW5lc2UgaXMgIk1hZ2Vs aXRhIi4gU29tZSBzb3VuZHMganVzdCBkb24ndCBleGlzdCBpbiBzb21lIGxhbmd1YWdlcywgc28g dGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRvIGlzIHJld3JpdGUgdGhlIG5hbWUgc28gdGhh dCBpdCBvbmx5IGNvbnRhaW5zIExvamJhbiBzb3VuZHMsIGFuZCBpcyBzcGVsdCBpbiBhIExvamJh biB3YXkuCgpfX05vdGU6IF9fVGhlIGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUg c291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0 aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRp c2ggdmVyc2lvbiBvZiAiUm9iaW4iIGlzIHJlYXNvbmFibHkgYXBwcm94aW1hdGVkIGJ5ICcnLnJv YmluLicnOyBidXQgdGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcnLnJhYnluLicn IG9yICcnLnJhYixuLicnLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlz IGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ugc2hvdWxkIHRha2UgdGhlIHRy YW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWluIG9mIHNhbHQuCgpMZXQncyB0 YWtlIHRoZSBFbmdsaXNoIG5hbWUgIlN1c2FuIi4gVGhlIHR3byAnJ3MnJydzIGFyZSBwcm9ub3Vu Y2VkIGRpZmZlcmVudGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAieiLigJRhbmQg dGhlICJhIiBpcyBub3QgcmVhbGx5IGFuICJhIiBzb3VuZCwgaXQncyB0aGUgJ3NjaHdhJyB3ZSBq dXN0IG1lbnRpb25lZC4gU28gIlN1c2FuIiBjb21lcyBvdXQgaW4gTG9qYmFuIGFzICcnLnN1enlu LicnLgoKWW91IG1heSBoYXZlIG5vdGljZWQgdHdvIGV4dHJhIGZ1bGwgc3RvcHMgKHBlcmlvZHMp IHRoZXJlLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGlmIHlvdSBkaWRuJ3QgcGF1c2UsIHlv dSBtaWdodCBub3Qga25vdyB3aGVyZSB0aGUgcHJldmlvdXMgd29yZCBlbmRlZCBhbmQgdGhlIG5l eHQgd29yZCBiZWdhbi4KCgoKWW91IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwgc3RvcCBpbiBiZXR3 ZWVuIGEgcGVyc29uJ3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdCdzIG5vdCBjb21w dWxzb3J5KSwgc28gIkppbSBKb25lcyIgYmVjb21lcyAnJy5kamltLmRqb256LicnLgoKQW4gaW1w b3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3QgbGV0dGVy IG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRo aXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3 aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBh IHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJ2ZvciB0aGlzOyBzbyBpbiBMb2piYW4sICJNYXJ5 IiBiZWNvbWVzICcnLm1lcmlzLicnICwgIkpvZSIgYmVjb21lcyAnJy5kam9zLicnIGFuZCBzbyBv bi4gQW4gYWx0ZXJuYXRpdmUgaXMgdG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBzbyAiTWFy eSIgd291bGQgYmVjb21lICcnLm1lci4nJyBvciAnJy5tZWlyLicnLgoKCgpUaGUgZmluYWwgcG9p bnQgaXMgc3RyZXNzLiBBcyB3ZSd2ZSBzZWVuLCBMb2piYW4gd29yZHMgYXJlIHN0cmVzc2VkIG9u IHRoZSBwZW51bHRpbWF0ZSBzeWxsYWJsZSwgYW5kIGlmIGEgbmFtZSBoYXMgZGlmZmVyZW50IHN0 cmVzcywgd2UgdXNlIGNhcGl0YWwgbGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IHRoZSBFbmdsaXNo IGFuZCBGcmVuY2ggbmFtZXMgIlJvYmVydCIgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4gTG9qYmFu OiB0aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9yICcnLnJh YixydC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBpcyAnJy5y b0JFUi4nJy4KClRvIGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJl IHNvbWUgbmFtZXMgb2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGlu IExvamJhbi4KCgoKfHxfX0VuZ2xpc2hfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfCcnLm1hZ3J5dC50 YXRjeXIuJycgKG5vICJ0aCIgaW4gTG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRo ZSB3b3JsZCBjYW4ndCBzYXkgaXQhKQoKTWljayBKYWdnZXIgfCcnLm1pay5kamFneXMuJycgfHwK Cnx8X19GcmVuY2hfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwnJy5uYXBvbGUsT04uYm9uYVBBUlQu JycKCkp1bGlldHRlIEJpbm9jaGUgfCcnLmp1TElFVC5iaW5PQy4nJyB8fAoKfHxfX0NoaW5lc2Vf XwoKTGFvemkgfCcnLmxhdWR6LicnCgpNYW8gWmVkb25nIHwnJy5tYXVkenlEWU4uJycgKEZpbmFs ICcnbmcnJyBpcyBpbiBMb2piYW4gY29udmVudGlvbmFsbHkgdHVybmVkIGludG8gbi4pIHx8Cgp8 fF9fVHVya2lzaF9fCgpNdXN0YWZhIEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4nJwoKRXJraW4g S29yYXkgfCcnLmVya2luLmtvcmFpcy4nJyB8fAoKfHxfX0dlcm1hbl9fCgpGcmllZHJpY2ggTmll dHpzY2hlIHwnJy5mcmlkcml4Lm5pdGN5cy4nJwoKQ2xhcmEgU2NodW1hbm4gfCcnLmtsYXJhcy5j dW1hbi4nJyB8fAoKfHxfX1NwYW5pc2hfXwoKSXNhYmVsIEFsbGVuZGUgfCcnLml6YUJFTC5haWVu ZGVzLicnCgpDaGUgR3VldmFyYSB8JycudGNlZ2V2YXJhcy4nJyB8fAoKX19FeGVyY2lzZV9fLgoK V2hlcmUgYXJlIHRoZXNlIHBsYWNlcz8KCiMubnUsSU9SSy4KCiMucm9tYXMuCgojLnhhdmFuYXMu CgojLmthcmRpZi4KCiMuYmVpZGppbi4KCiMuQU5rYXJhcy4KCiMuQUxiZWtlcmtpcy4KCiMudmFu a3V2ZXIuCgojLmtlaXB0YXVuLgoKIy50YWliZWlzLgoKIy5ib24uCgojLmRlbGlzLgoKIy5uaXMu CgojLmF0aW5hcy4KCiMubGlkei4KCiMueGVsc2lua2lzLgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6 fn4KCiN+fmdyYXksZ3JheTpOZXcgWW9yazogVVNBfn4KCiN+fmdyYXksZ3JheTpSb21lOiBJdGFs eX5+Cgojfn5ncmF5LGdyYXk6SGF2YW5hOiBDdWJhfn4KCiN+fmdyYXksZ3JheTpDYXJkaWZmOiBX YWxlcyAoVGhlIFdlbHNoIGZvciAiQ2FyZGlmZiIgaXMgIkNhZXJkeWRkIiwgd2hpY2ggd291bGQg TG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQuLil+fgoKI35+Z3JheSxncmF5OkJl aWppbmc6IENoaW5hfn4KCiN+fmdyYXksZ3JheTpBbmthcmE6IFR1cmtleX5+Cgojfn5ncmF5LGdy YXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQX5+Cgojfn5ncmF5LGdyYXk6VmFuY291dmVy OiBDYW5hZGF+fgoKI35+Z3JheSxncmF5OkNhcGUgVG93bjogU291dGggQWZyaWNhfn4KCiN+fmdy YXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHks IHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBt ZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4KCiN+fmdyYXksZ3JheTpCb25uOiBH ZXJtYW55fn4KCiN+fmdyYXksZ3JheTpEZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3IgIkRlbGhp IiBpcyAiRGlsbMOuIiwgd2hpY2ggd291bGQgZ2l2ZSBkaWxpeXMuIG9yIGRpbGknaXMuLil+fgoK I35+Z3JheSxncmF5Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdyYXk6QXRoZW5zOiBHcmVlY2Ug KCJBdGhpbmEiIGluIEdyZWVrKX5+Cgojfn5ncmF5LGdyYXk6TGVlZHM6IEVuZ2xhbmR+fgoKI35+ Z3JheSxncmF5OkhlbHNpbmtpOiBGaW5sYW5kfn4KCl9fRXhlcmNpc2VfXy4KCkxvamJhbmlzZSB0 aGUgZm9sbG93aW5nIG5hbWVzCgojSm9obgoKI01lbGlzc2EKCiNBbWFuZGEKCiNNYXR0aGV3Cgoj TWljaGFlbAoKI0RhdmlkIEJvd2llCgojSmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJl CgojU2lnb3VybmV5IFdlYXZlcgoKI1JpY2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoK I1Rva3lvCgojU2FuIFNhbHZhZG9yCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTpUaGVyZSBhcmUgdXN1 YWxseSBhbHRlcm5hdGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9w bGUgcHJvbm91bmNlIHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4 YWN0IHNvdW5kIGRvZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2Ug YmV0d2VlbiB0d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcg YXMgZXZlcnlvbmUga25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0Ln5+Cgoj fn5ncmF5LGdyYXk6LmRqb24uIChvciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMpfn4KCiN+fmdy YXksZ3JheToubWVsaXN5cy5+fgoKI35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdhaW4sIGRlcGVu ZGluZyBvbiB5b3VyIGFjY2VudCwgdGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBpbml0aWFsIGEg bWF5IGJlIHksIGFuZCB0aGUgbWlkZGxlIGEgbWF5IGJlIGUuKX5+Cgojfn5ncmF5LGdyYXk6Lm1h dGl1cy5+fgoKI35+Z3JheSxncmF5Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVwZW5kaW5nIG9u IGhvdyB5b3Ugc2F5IGl0Ln5+Cgojfn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG9yIC5ibyxp cy4gKGJ1dCBub3QgLmJ1LGlzLiDigJQgdGhhdCdzIHRoZSBrbmlmZSl+fgoKI35+Z3JheSxncmF5 Oi5kamVpbi5vc3Rpbi5+fgoKI35+Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+fgoKI35+Z3Jh eSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5Z29ybmlzLnVpdnlyLn5+Cgojfn5ncmF5LGdy YXk6LnJpdGN5cmQubmlrc3luLn5+Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiB3aXRoIEVuZ2xp c2ggc3RyZXNzLCAuSVN0YW5idWwuIHdpdGggQW1lcmljYW4sIC5pc3RhbmJ1bC4gd2l0aCBUdXJr aXNoLiBMb2piYW5pc3RzIGdlbmVyYWxseSBwcmVmZXIgdG8gYmFzZSBjbWV2bGEgb24gbG9jYWwg cHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUufn4KCiN+fmdy YXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+Z3JheSxncmF5 Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+PC9odG1sPn5+Cgoh ISEhTG9qYmFuIHdvcmRzIGFzIG5hbWVzCgpCeSBub3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExv amJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRy YW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMs IG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5h dGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtp bmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFu ZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4cGVjdCB0aGUgIndhc2ljaHUiIHRvIGJlIGFi bGUgdG8gcHJvbm91bmNlIHdvcmRzIGluIExha290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhCgpM b2piYW4gd29yZHMgKGV4Y2VwdCBjbWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZb3UgY2FuIHVzZSBs b2piYW4gd29yZHMgYXMgbmFtZXMgdG9vLiBCdXQgaWYgeW91IHByZWZlciB0aGF0IHlvdXIgbmFt ZSBpcyBhIGNtZXZsYSBhbmQgaXQgZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91IGNhbiBlaXRoZXIg YWRkIGEgY29uc29uYW50IHRvIHRoZSBlbmQgb2YgaXQgb3IganVzdCBjaG9wIHRoZSBlbmQgdm93 ZWwgb2ZmLgoKSGVyZSBhcmUgYSBmZXcgZXhhbXBsZXMgKG9yaWdpbmFsIG5hbWUsIG1lYW5pbmcs IG5hbWUgYW5kIG5hbWUgYXMgY21ldmxhKToKCipGaXNoIOKAkyBmaW5wZSDigJMgJycuZmlucC4n JwoKKkJqw7ZybiAoU2NhbmRpbmF2aWFuID0gYmVhcikg4oCTIGNyaWJlIOKAkyAnJy5jcmliLicn CgoqR3JlZW4g4oCTIGNyaW5vIOKAkyAnJy5jcmluLicnCgoqTWVpIExpIChDaGluZXNlID0gYmVh dXRpZnVsKSDigJMgbWVsYmkg4oCTICcnLm1lbGIuJycKCipBeWhhbiAoVHVya2lzaCA9IE1vb24g TG9yZCkg4oCTIGx1bnJhIG5vYmxpICg9IGx1cm5vYmxpKSDigJMgJycubHVybm9ibGlzLicnCgoK CiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBvbmUgKGJyaWRpLCBqdWZyYSwgc3VtdGkgYW5k IHNlbGJyaSkKCkEgJydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRyYWwgdW5pdCBvZiBMb2piYW4g dXR0ZXJhbmNlcy4gVGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0byB3aGF0IHdlIGNhbGwgYSBw cm9wb3NpdGlvbiBpbiBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xhaW0gdGhhdCBzb21lIG9iamVj dHMgc3RhbmQgaW4gYSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBvciB0aGF0IGFuIG9iamVjdCBo YXMgc29tZSBwcm9wZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gJydqdWZyYScnLCB3 aGljaCBhcmUgbWVyZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGljaCBjYW4gYmUgYnJpZGkgb3Ig YW55dGhpbmcgZWxzZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYnJpZGkg YW5kIGEganVmcmEgaXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5lY2Vzc2FyaWx5IHN0YXRlIGFu eXRoaW5nLCB3aGlsZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJpZGkgbWlnaHQgYmUgdHJ1ZSBv ciBmYWxzZSwgd2hpbGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2FpZCB0byBiZSBzdWNoLgoKVG8g aGF2ZSBzb21lIGV4YW1wbGVzIChpbiBFbmdsaXNoLCB0byBiZWdpbiB3aXRoKSwg4oCcTW96YXJ0 IHdhcyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWXigJ0gaXMgYSBicmlkaSwgYmVj YXVzZSBpdCBtYWtlcyBhIGNsYWltIHdpdGggYSB0cnV0aCB2YWx1ZSwgYW5kIGl0IGludm9sdmVz IGFuIG9iamVjdCwgTW96YXJ0LCBhbmQgYSBwcm9wZXJ0eSwgYmVpbmcgdGhlIGdyZWF0ZXN0IG11 c2ljaWFuIG9mIGFsbCB0aW1lLiBPbiB0aGUgY29udHJhcnksIOKAnE93ISBNeSB0b2Uh4oCdIGlz IG5vdCBhIGJyaWRpLCBzaW5jZSBpdCBkb2VzIG5vdCBpbnZvbHZlIGEgcmVsYXRpb24sIGFuZCB0 aHVzIGRvZXMgbm90IHN0YXRlIGFueXRoaW5nLiBCb3RoLCB0aG91Z2gsIGFyZSBqdWZyYS4KClRy eSB0byBpZGVudGlmeSB0aGUgYnJpZGkgYW1vbmcgdGhlc2UgRW5nbGlzaCBqdWZyYToKCgoKIyDi gJxJIGhhdGUgaXQgd2hlbiB5b3UgZG8gdGhhdC7igJ0KCiMg4oCcUnVucy7igJ0KCiMg4oCcV29h aCwgdGhhdCBsb29rcyBkZWxpY2lvdXMh4oCdCgojIOKAnEdlZXosIG5vdCBhZ2Fpbi7igJ0KCiMg 4oCcTm8sIEkgb3duIHRocmVlIGNhcnPigJ0KCiMg4oCcTmluZXRlZW4gbWludXRlcyBwYXN0IGVp Z2h0LuKAnQoKIyDigJxUaGlzIFNhdHVyZGF5LCB5ZXMu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6MSwgMyBhbmQgNSBhcmUgYnJpZGkuIDIgY29udGFpbnMgbm8gb2JqZWN0cyBhbmQgdGhlIHJl c3QgY29udGFpbiBubyByZWxhdGlvbiBvciBjbGFpbSBvZiBhIHByb3BlcnR5Ln5+CgoKClB1dCBp biBMb2piYW4gdGVybXMsIGEgYnJpZGkgY29uc2lzdHMgb2Ygb25lICcnc2VsYnJpJycsIGFuZCBv bmUgb3IgbW9yZSAnJ3N1bXRpJycuIFRoZSBzZWxicmkgaXMgdGhlIHJlbGF0aW9uIG9yIGNsYWlt IGFib3V0IHRoZSBvYmplY3QsIGFuZCB0aGUgc3VtdGkgYXJlIHRoZSBvYmplY3RzIHdoaWNoIGFy ZSBpbiBhIHJlbGF0aW9uLiBOb3RlIHRoYXQg4oCcb2JqZWN04oCdIGlzIG5vdCBhIHBlcmZlY3Qg dHJhbnNsYXRpb24gb2Yg4oCcc3VtdGnigJ0sIHNpbmNlIOKAnHN1bXRp4oCdIGNhbiByZWZlciB0 byBub3QganVzdCBwaHlzaWNhbCBvYmplY3RzLCBidXQgY2FuIGFsc28gcHVyZWx5IGFic3RyYWN0 IHRoaW5ncyBsaWtlIOKAnFRoZSBpZGVhIG9mIHdhcmZhcmXigJ0uIEEgYmV0dGVyIHRyYW5zbGF0 aW9uIHdvdWxkIGJlIHNvbWV0aGluZyBsaWtlIOKAnHN1YmplY3QsIGRpcmVjdCBvciBpbmRpcmVj dCBvYmplY3TigJ0gZm9yIHN1bXRpLCBhbmQg4oCcdmVyYuKAnSBmb3Igc2VsYnJpLCB0aG91Z2gs IGFzIHdlIHdpbGwgc2VlLCB0aGlzIGlzIG5vdCBvcHRpbWFsIGVpdGhlci4KCldlIGNhbiBub3cg d3JpdGUgdGhlIGZpcnN0IGltcG9ydGFudCBsZXNzb24gZG93bjoKCmJyaWRpID0gc2VsYnJpICsg b25lIG9yIG1vcmUgc3VtdGkKClB1dCBhbm90aGVyIHdheSwgYSBicmlkaSBzdGF0ZXMgdGhhdCBz b21lIHN1bXRpIGRvL2FyZSBzb21ldGhpbmcgZXhwbGFpbmVkIGJ5IGEgc2VsYnJpLgoKCgpJZGVu dGlmeSB0aGUgc3VtdGkgYW5kIHNlbGJyaSBlcXVpdmFsZW50cyBpbiB0aGVzZSBFbmdsaXNoIGp1 ZnJhOgoK4oCcSSB3aWxsIHBpY2sgdXAgbXkgZGF1Z2h0ZXJzIHdpdGggbXkgY2Fy4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxwaWNrIHVwICh3aXRoKeKAnS4gc3VtdGk6IOKA nEnigJ0sIOKAnG15IGRhdWdodGVyc+KAnSwg4oCcbXkgY2Fy4oCdfn4KCgoK4oCcSGUgYm91Z2h0 IHNpeHRlZW4gbmV3IHNoaXJ0cyBmcm9tIExlYSZMZXZ5J3MgZm9yIGp1c3QgdHdvIGh1bmRyZWQg ZXVybyHigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGJvdWdodCAoZnJvbSkg KGZvcinigJ0gc3VtdGk6IOKAnEhl4oCdLCDigJxzaXh0ZWVuIG5ldyBzaGlydHPigJ0sIOKAnExl YSZMZXdpc+KAnSBhbmQg4oCcdHdvIGh1bmRyZWQgZXVyb3PigJ1+fgoKCgpTaW5jZSB0aGVzZSBj b25jZXB0cyBhcmUgc28gZnVuZGFtZW50YWwgdG8gTG9qYmFuLCBsZXQncyBoYXZlIGEgdGhpcmQg ZXhhbXBsZTog4oCcU28gZmFyLCB0aGUgRVBBIGhhcyBkb25lIG5vdGhpbmcgYWJvdXQgdGhlIGFt b3VudCBvZiBzdWxwaHVyIGRpb3hpZGUu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJp OiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRpOiDigJxUaGUgRVBB4oCdLCDigJxub3RoaW5n 4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZeKAnX5+CgoKCk5vdyB0cnkg YmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9yIHRoaXMgeW91IHdpbGwgbmVlZCB0byB1c2Ug c29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzZWxicmk6CgonJ19fZHVuZGFfXycnIHgxIGdp dmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQpCgonJ19fcGVseHVfXycnIHgxIGlzIHllbGxv dwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUgb2YgeDIKCgoKTm90aWNlIHRoYXQgdGhlc2Ug d29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5ZWxsb3figJ0gYW5kIOKAnGhvbWXigJ0gd291 bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFkamVjdGl2ZSBhbmQgYSBub3VuIGluIEVuZ2xp c2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1Y2ggY2F0ZWdvcmllcyBhbmQgbm8gc3VjaCBk aXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0cmFuc2xhdGVkIOKAnGdpdmVz4oCdICh2ZXJi KSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKAnGlzIGdpdmluZ+KAnSAoYWRqZWN0aXZlKSBh cyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBUaGV5IGFsbCBhY3QgYXMgc2VsYnJpLCBhbmQg YXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpBcyB3ZWxsIGFzIGEgZmV3IHdvcmRzLCB3aGlj aCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18nJyDigJxJ4oCdIG9yIOKAnHdl4oCdIOKAkyB0 aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtpbmcuCgonJ19fdGlfXycnIOKAnHRoaXPigJ0g 4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVhcmJ5IHdoaWNoIGNhbiBiZSBwb2ludGVkIHRv IGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDigJx5b3XigJ0g4oCTIHRoZSBvbmUgb3IgdGhv c2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoKClNlZSB0aGUgc3RyYW5nZSB0cmFuc2xhdGlv bnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVjaWFsbHkgdGhlIHgxLCB4MiBhbmQgeDM/IFRo b3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBUaGV5IGFyZSBwbGFjZXMgd2hlcmUgc3VtdGkg Y2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGluZyBhIHN1bXRpIGluIGEgcGxhY2Ugc3RhdGVz IHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBwbGFjZS4gVGhlIHNlY29uZCBwbGFjZSBvZiAn J2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLiBUaGUg dGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNlaXZlcyB0aGUgdGhpbmcuIE5vdGljZSBhbHNv IHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVuZGEnJyBoYXMgdGhlIHdvcmQg4oCcdG/igJ0g aW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUgdGhpcyB3b3JkIGlzIG5lZWRlZCBpbiBFbmds aXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0aGUgcmVjZWl2ZXIgaXMgaW4gdGhlIHRoaXJk IHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28gd2hlbiB5b3UgZmlsbCB0aGUgdGhpcmQgc3Vt dGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3VtdGkgeW91IGZpbGwgaW4gaXMgYWx3YXlzIHRo ZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVkIGFuIGVxdWl2YWxlbnQgdG8gdGhlIHdvcmQg 4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5b3Ugc2ltcGx5IHNheSB0aGUgeDEgc3VtdGkg Zmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBhbnkgb3RoZXIgc3VtdGkuCgpVc3VhbCBicmlk aToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IHt4NCBzdW10 aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhlIG9yZGVyIGNhbiBiZSBwbGF5ZWQgYXJvdW5k IHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3aXRoIHRoZSB1c3VhbCBmb3JtLiBUbyBzYXkg 4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBqdXN0IHNheSAnJ21pIGR1bmRhIHRpIGRvJycs IHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSByaWdodCBwbGFjZXMuCgoKClNvLCBob3cgd291 bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBvZiBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkgYSBmZXcgbW9yZSBpbiBvcmRlciB0byBnZXQg dGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUgc2luayBpbi4KCgoK4oCcWW91IGdpdmUgdGhp cyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2RvIGR1bmRhIHRpIG1pJyd+fgoK CgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRo aXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVhc3kgb25jZSB5b3UgZ2V0IHRoZSBoYW5nIG9m IGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkgYWZ0ZXIgZWFjaCBvdGhlciBhcmUgc2VwYXJh dGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiBmdWxsIHN0b3As IGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJyaWRpIGluc3RlYWQgb2YgYWZ0ZXIgdGhlbS4g SXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0aG91Z2gsIGFzIGlu IGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycgU2VudGVuY2Ugc2VwYXJhdG9yLiBTZXBh cmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRpKS4KCgoKJyd0aSB6 ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlzIGEgaG9tZSB0byBtZS4gVGhpcyBpcyB5 ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBsZXNzb24sIEkgcmVj b21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2ZW4gbWludXRlcyB0 byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMg bGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0IHNlbGJyaSBoYXZlIGZyb20gb25lIHRvIGZp dmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZlIG1vcmUuIEhlcmUgaXMgYSBzZWxicmkgd2l0 aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNudV9fJycgeDEgc2VsbHMgeDIgdG8geDMgZm9y IHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg4oCcSSBzZWxsIHRoaXPigJ0sIGl0IHdvdWxk IGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0aGUgc3VtdGkgcGxhY2VzIHgzIGFuZCB4NCwg d2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0aGluZyB0bywgYW5kIGZvciB3aGF0IHByaWNl LiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1bXRpIHBsYWNlcyBjYW4gYmUgZmlsbGVkIHdp dGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRlcyB0byB1cyB0aGF0IHRoZSB2YWx1ZSBvZiB0 aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQgYmVjYXVzZSBpdCdzIHVuaW1wb3J0YW50IG9y IGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4dC4KCicnX196bydlX18nJyDigJxzb21ldGhp bmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0aGluZywgYnV0IGRvZXMgbm90IHN0 YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwgdG8geW914oCdLCBJIGNvdWxkIHNheSAn J21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJIHNlbGwgc29tZXRoaW5nIHRvIHlvdSBmb3Ig c29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxUaGF0J3MgYSBob21lIChmb3Igc29t ZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIHpkYW5pIHpvJ2UnJ35+CgoK CkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMgdGhpcyB0byAoc29tZW9uZSnigJ0/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRhIHRpIHpvJ2UnJ35+CgoKClN0aWxsLCBmaWxs aW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5IHRoYXQgYSB0aGluZyBpcyBiZWluZyBzb2xk IHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9uJ3QgbmVlZCB0byB3cml0ZSBhbGwgdGhlICcn em8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlvdSBsZWF2ZSBv dXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5IGNvbnRhaW5l ZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lucyB3aXRoIGEgc2VsYnJpLCB0aGUgeDEgaXMg cHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQgYmVjb21lcyAnJ3pvJ2UnJy4KClRyeSBpdCBv dXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRhbmkgbWknJyBtZWFuPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUgb2YgbWXigJ0gb3IganVz dCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25lZCBlYXJsaWVyLCB0aGUgZm9y bSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRpfSB7c2VsYnJpfSB7eDIgc3VtdGl9IHt4MyBz dW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4gcGxhY2UgdGhlIHNlbGJyaSBhbnl3aGVyZSB5 b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkuIElmIHlvdSBk byB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBsZWZ0IG91dCBhbmQgZmlsbGVkIHdpdGggJyd6 bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0aHJlZSBqdWZyYSBhcmUgYWxsIHRoZSBl eGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRpIGRvJycKCicnbWkgdGkgZHVuZGEgZG8n JwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1lcyB0aGlzIGlzIHVzZWQgZm9yIHBvZXRp YyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNvdWxkIGJlICcnZG8gZG8gdmVjbnUn Jywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8gdmVjbnUgZG8nJy4gT3IgaXQgY2FuIGJl IHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2ZXJ5IGxvbmcgYW5kIHRoZXJlZm9y ZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4KCgoKVGhlcmUgYXJlIGFs c28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGggdGhlIG9yZGVyIG9mIHRoZSBzdW10 aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUgaXMgYnkgdXNpbmcgdGhlIHdvcmRz ICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQgJydmdScnLiBOb3RpY2UgdGhhdCB0 aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhlIExvamJhbiBhbHBoYWJldCBpbiBv cmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1hcmtzIHRoYXQgdGhlIG5leHQgc3VtdGkg d2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUgcmVzcGVjdGl2ZWx5LiBUaGUgbmV4 dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQgdG8gZmlsbCBhIHNsb3Qgb25lIGdy ZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBleGFtcGxlOgoKJydkdW5kYSBmYSBk byBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91IG9mIHRoaXMgdGhpbmcgdG8geW914oCd LiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdoaWNoIGlzIHlvdS4gJydmZScnIG1h cmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBTdW10aSBjb3VudGluZyB0aGVuIGNv bnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0IHRoZSBsYXN0IHN1bXRpIGZpbGxzIHgz LCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxv d2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUgZm8gdGkgZmUgZG8nJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBwcmljZSBvZiB0aGlzLCB5b3XigJ0u IG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0aGlz4oCdIChwcm9iYWJseSBwb2lu dGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicnemRhbmkgZmUgdGknJwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4gSGVyZSwgdGhlIGZlIGlzIHJlZHVu ZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkgZmEgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3IgdGhpcyBwcmljZeKAnX5+CgoKCgoK ISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0YW5ydSBhbmQgbG8pCgpJbiB0aGlz IGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGNvbmNlcHQgb2YgYSAn J3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBzZWxicmkgaXMgcHV0IGluIGZyb250 IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1lYW5pbmcuIEEgdGFucnUgaXMgaXRz ZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBvdGhlciBzZWxicmkgb3IgdGFucnUg dG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6ZGFuaSB2ZWNudScnIGlzIGEgdGFu cnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUnJywgd2hpY2ggaXMgbWFkZSBmcm9t IHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBzaW5nbGUgYnJpdmxhIHdvcmQgJyd2 ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHRhbnJ1LCBjb25zaWRlciB0aGUg RW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRyZWXigJ0uIElmIHlvdSBkaWRuJ3Qg a25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1dCBoYWQgaGVhcmQgYWJvdXQgYm90aCBsZW1v bnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJlIGFibGUgdG8gZGVkdWNlIHdoYXQgYSBsZW1v biB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNvbG9yZWQgdHJlZSwgb3IgYSB0cmVlIHNoYXBl ZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9zZSBiYXJrIHRhc3RlcyBsaWtlIGxlbW9uLiBU aGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cgZm9yIHN1cmUgd291bGQgYmUgdGhhdCBpdCB3 b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBiZSBsZW1vbi1saWtlIGluIHNvbWUgd2F5LgoK QSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0byB0aGlzLiBJdCBjYW5ub3QgYmUgc2FpZCBl eGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251JycgaXMsIGJ1dCBpdCBjYW4gYmUgc2FpZCB0aGF0 IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5kIHRoYXQgaXQncyB6ZGFuaS1saWtlIGluIHNv bWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlrZSBpbiBhbnkgd2F5LiBJbiB0aGVvcnks IG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRoZSBjb25uZWN0aW9uIHRvIHpkYW5pIHdh cywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pkYW5pIHZlY251JycuIEhvd2V2ZXIsIGl0 IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUgb3JkaW5hcnkgc2Vuc2UgaW4gb3JkZXIg Zm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxkIGdsb3NzICcnemRhbmkgdmVjbnUnJyBh cyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0ZXIgYnV0IHdvcnNlIHNvdW5kaW5nIOKA nGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBhIHRhbnJ1 IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qgc2VsYnJpLiBJdCdzIGFsc28gc2FpZCB0 aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUgcmlnaHQgc2VsYnJpLgoK4oCcUmVhbGx5 P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0IGRvZXNuJ3QgbWF0dGVyIGhvdyBzaWxs eSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3b3JkIGluIGEgdGFucnUgaXMsIGl0J3Mgc3Rp bGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBzZWxsZXJzIGZvciAnJ3pkYW5pIHZlY251Jycg YW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4Y3VzZSB3aHkgSSB0aGluayBpdCdzIHpkYW5p LWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW91J2QgYmUgYSBkaWNrLiBPciBhdCBsZWFz dCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xlYWRpbmcuIEluIGdlbmVyYWwsIHlvdSBzaG91 bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlvdXMgaG93IHRoZSBsZWZ0IHdvcmQgcmVsYXRl cyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6ICcn dGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYXQgaXMgYSB5 ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBkb24ndCBrbm93IGluIHdoaWNoIHdheSBp dCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWludGVkIHllbGxvdywgYnV0IHdlIGRvbid0IGtu b3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBkdW5kYScnCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hhdCBjYW4gdGhhdCBtZWFuPyBObyBpZGVhLiBJ dCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQgeW91IHNvbGQgc29tZXRoaW5nLCBzaW5jZSwg YnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJlIGNhbiBiZSBubyBwYXltZW50IGludm9s dmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0IGJlIHNlbGwtbGlrZSBpbiBzb21lIGFz cGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQuIFdo YXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdlcm1hbj8KCicnX19kb3Rjb19fJycg eDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpJIGNh bid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28nJyBiZWNhdXNlIHRoYXQgd291bGQgbGVhdmUg dHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBpcyBub3QgcGVybWl0dGVkLiBJIGNvdWxkIHNh eSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQgd291bGQgYmUgdW5uZWNlc3NhcnkgdmFndWUg LSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5LiBMaWtld2lzZSwgaWYgSSB3YW50IHRvIHNh eSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbuKAnSwgd2hhdCBzaG91bGQgSSBzYXk/ CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5kIG9mIHgyCgonJ19fbWVya29fXycnIHgxIGlz IEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKQWdhaW4sIHRoZSBv YnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBlbmRvIG1lcmtvJycsIGJ1dCB0aGF0IHdvdWxk IGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFtIGZyaWVuZC1saWtlIEFtZXJpY2Fu4oCdLCB3 aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkgd2FudCB0byBpcyB0byB0YWtlIHRoZSBzZWxi cmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIHN1bXRpIHNvIGl0IGNhbiBiZSB1 c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBUaGlzIGlzIGRvbmUgYnkgdGhlIHR3byB3b3Jk cyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycnX18g4oCTIGdlbmVyaWMgYmVnaW4gY29udmVy dCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFjdHMgeDEgb2Ygc2VsYnJpIHRvIHVzZSBhcyBz dW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSBwcm9jZXNz LgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJpIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzLCBh bmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4gZmlsbCB0aGUgeDEgb2YgdGhhdCBzZWxicmkg YW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNvIGZvciBpbnN0YW5jZSwgdGhlIHRoaW5ncyB0 aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUgb25seSB0aGluZ3Mgd2hpY2ggYXJlIGhvbWVz IG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1JycgbWVhbnMg4oCcYSBob21lIG9yIHNvbWUg aG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFybHksIGlmIEkgc2F5IHRoYXQgc29tZXRoaW5n IGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxvdy4gU28gJydsbyBwZWx4dSBrdScnIHJlZmVy cyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91IGhhdmUgdGhlIG5lY2Vzc2FyeSBncmFt bWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuLuKA nSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBrdScnfn4K CgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhlICcna3UnJyBpcyBuZWNlc3NhcnkuIFRy eSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhpcyB0byBtZeKAnQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUgdGkgbWknJyBJZiB5b3UgbGVhdmUgb3V0 IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0IHNpbXBseSB0aHJlZSBzdW10aS4g U2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlkaSwgdGhlIHRpIGlzIGZvcmNlZCBvdXRz aWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2UgYW5kIGl0 IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBvZiAnJ2xvIGRvdGNvIHZlY251IHtrdX0n JywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFsd2F5cyBoYXZlIHRvIGJlIGNhcmVmdWwg d2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVseHUnJy4gSWYgdGhlICcna3UnJyBpcyBs ZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0IHNpbXBs eSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBlbHh1Jycg YW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCT IGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJl IHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFscy4g QXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0bHkuIFRo ZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVkIGluIHRoZSBmZW1pbmlzdCBjb25zdHJ1 Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRseSB0byBlbmFibGUgdHJ1ZSBmZW1hbGUgZW1v dGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFsZSBlbW90aW9uYWwgZXhwcmVzc2lvbiB3YXMg aGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFuZ3VhZ2UsIGFuZCBpZiBvbmx5IHRoZXkgd2Vy ZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZyZWVseSwgdGhpcyB3b3VsZCBlbXBvd2VyIHdv bWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUgbGFuZ3VhZ2UuCgpJbiBMb2piYW4sIHRoZXJl IGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1ZGluYWxzIG1vc3QgcHJvYmFibHkgaGF2ZSBi ZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdlIGJlY2F1c2UgdGhleSB0dXJuZWQgb3V0IHRv IGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNlZnVsLiBUaGV5IGFsbCBoYXZlIGEgc28tY2Fs bGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5IGNhbiBhcHBlYXIgYWxtb3N0 IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGJyaWRpJ3MgZ3Jh bW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4KCkluIExvamJhbiBncmFtbWFyLCBh biBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91cyB3b3JkLiBJZiB0aGF0IHByZXZp b3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNvbnN0cnVjdCAobGlrZSAnJy5pJycg b3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50aXJlIGNvbnN0cnVjdC4gTGlrZXdpc2Us IGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3aGljaCBlbmRzIGEgY29uc3RydWN0 IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRlZCBjb25zdHJ1Y3QuCgoKCkxldCdz IGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycnLnVpJydf XzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVuaGFwcGlu ZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFsOiBldmlkZW50aWFsOiBJIGRpcmVjdGx5IG9i c2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZpbml0aW9uIG9mICcnLnVpJycsIHRoZXJlIGFy ZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5lc3MgYW5kIHVuaGFwcGluZXNzLiBUaGlzIG1l YW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFzIGhhcHBpbmVzcywgd2hpbGUgaXRzIOKAnG5l Z2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g4oCcTmVnYXRpb27igJ0gbWlnaHQgYmUgdGhl IHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHksIHRoZSBvdGhlciBkZWZpbml0aW9uIG9mICcn LnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcnLnVpIG5haScnLiBNb3N0IG9mIHRoZSB0aW1l LCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0aXR1ZGluYWxzIC0gdGhlIG9uZXMgc3VmZml4 ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRoZSBuZWdhdGlvbiBvZiB0aGUgYmFyZSBhdHRp dHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBtdWNoLgoKX18nJ25haScnX18gbWlzYy4gbmVn YXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5hbHMsIGl0IGNoYW5nZXMgdGhlIG1lYW5pbmcg aW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRpb24iCgoKCkFuZCBzb21lIG1vcmUgc2VsYnJp LCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9fJydjaXRrYScnX18g4oCTIHgxIGVhdHMgeDIK Cl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFwcGxlIG9mIHN0cmFpbi90eXBlIHgyCgoKClRo ZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNlIGt1IC51aScnLCBtZWFucyDigJxZb3UgZWF0 IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5IGV4cHJlc3NpbmcgdGhhdCBpdCBpcyB0aGUg X19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMgaGFwcHkgYWJvdXQsIG5vdCB0aGUgZWF0aW5n LCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3UuKSBJbiB0aGUgc2VudGVuY2UgJydkbyB6YSdh IGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVzIHRoYXQg aXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBhcyBvcHBv c2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1ZGluYWwgaXMgcGxhY2VkIGF0IHRo ZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRlcnN0b29kIHRvIGFwcGx5IHRvIGFu IGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1cyBhcHBseWluZyB0byB0aGUgZW50aXJl IGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKAkyDigJxZYXks IEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCdCgoKCicnbWkg dmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vja3MhKSBhIGhv bWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3QsIHRob3VnaCwg aGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9fJycudSd1JydfXyBhdHRpdHVkaW5h bDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQgLSByZW1vcnNlbGVzc25lc3MgLSBpbm5vY2Vu Y2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IGNvbXBs YWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18gYXR0aXR1ZGluYWw6IG1pc2NlbGxhbmVvdXMg cHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBhdCB0aGF0LCB0d28gd29yZHMgd2l0 aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEgVGhlIG1pZGRsZSBvbmUgaXMgYWNj ZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3UnaScnLiBJdCdzIGNvbnNpZGVyZWQgdGhlIG1p ZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1J2knJ19fIGF0dGl0dWRpbmFsIG1pZHBvaW50 IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFsIHRvIGNoYW5nZSB0aGUgbWVhbmluZyB0byB0 aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4KCgoKVHJ5IHNheWluZyDigJxJIGdpdmUgc29t ZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUnJyBvciAnJ3pvJ2UnJyBpbnN0ZWFkIG9mICcn ZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVsbG93IGFwcGxl4oCdCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4dSBwbGlzZSBrdScnfn4KCgoKTGV0 J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9mIGEgZGlmZmVyZW50IGtpbmQgdG8gaWxsdXN0 cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5laScnIEF0dGl0dWRpbmFsOiBjb21wbGV4IHBy b3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlvbiAtIGZyZWVkb20uCgoKClNvLCBxdWl0ZSBl YXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSBpcyAnJ21pIGR1bmRhIC5l aSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMsIGFjdHVhbGx5ISBXaGVuIHlvdSB0aGluayBh Ym91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMgaXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0dGl0 dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3NlcyB0aGUgc3BlYWtlcidzIGZlZWxp bmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3aGF0IHRo ZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFw cGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdoZXRoZXIgdGhlIGFwcGxlIGFjdHVh bGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVzZWQgJycudWknJywgaG93ZXZlciwg SSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUgYXdheSwg YW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXQncyB0aGF0IGFsbCBhYm91dD8KCgoK VGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1ZGluYWxzIGNoYW5nZSB0aGUgY29uZGl0aW9u cyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlzIGEgc3ViamVjdCBvZiBhIG1pbm9yIGRlYmF0 ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KAnSBydWxlLCB3aGljaCBwcm9iYWJseSB3b24n dCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEgZGlzdGluY3Rpb24gYmV0d2VlbiDigJxw dXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3NpdGlvbmFsIGVtb3Rpb25z4oCdLiBPbmx5IHBy b3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0cnV0aCBjb25kaXRpb25zLCB3aGls ZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8gZXhwcmVzcyBhIHByb3Bvc2l0aW9u YWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHRydXRoIHZhbHVl IG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRlIGl0IGZyb20gdGhlIGJyaWRpIHdp dGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3IgZXhwbGljaXRseSBjb25zZXJ2aW5n IG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9mIGEgYnJpZGk6CgoKCl9fJydkYSdp JydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4gZmFjdAoKU2F5aW5n ICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9ucyB0byBoeXBv dGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IHVzaW5nIHByb3Bvc2l0aW9uYWwgYXR0aXR1 ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbiB0 byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0IHVzaW5nIHB1cmUgYXR0aXR1ZGluYWxzLgoK CgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWluZyDigJxJIGdpdmUgdGhlIGFwcGxlIGF3YXni gJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAnJ21pIGR1bmRhIGRhJ2kgbmFpIC5l aSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHN1 YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5nICcnZGFpJycuIFVzdWFsbHkgaW4gb3JkaW5h cnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMgc3Vic2NyaWJlZCB0byB0aGUgbGlzdGVuZXIs IGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28uIEFsc28sIGJlY2F1c2UgdGhlIHdvcmQgaXMg Z2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5nIG90aGVycyBlbW90aW9ucyksIHNvbWUgTG9q YmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNwZWFrZXIgbXVzdCBzaGFyZSB0aGUg ZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90aGVycy4KCl9fJydkYWknJ19fIGF0dGl0dWRp bmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0dGl0dWRpbmFsIHRvIHNvbWVvbmUg ZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAnJ3UnaSAub2kgZGFpIGNpdGthIHRpJycgLSDi gJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBoYXZlIGh1cnQh4oCdCgoKCldoYXQg b2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdSdpIGRhaScnIG1lYW4/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5ueS7igJ1+fgoKCgpBbmQgYW5vdGhlciBvbmUg dG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRvIHRyYW5zbGF0ZSDigJxIZSB3YXMgc29ycnkg aGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5nLCB0aGF0IHRlbnNlIGlzIGltcGxpZWQgYW5k IG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg4oCcaGXigJ0gY291bGQgYmUgb2J2aW91cyBm cm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd1J3UgZGFpIHZlY251IGxvIHpk YW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkgb2YgYW4gYXR0aXR1ZGluYWwgY2Fu IGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBUaGVzZSBjYW4gYmUgdXNlZCBhZnRl ciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwgd2l0aCAnJ25haScnIG9yICcnY3Un aScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIgd2hhdCBoYXBwZW5zIHdoZW4geW91IGF0dGFj aCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNlbGJyaSwgbXVzdCBpdCdzIG1vc3RseSB1bmRl cnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFrZW5pbmcgdGhlIHNlbGJyaSBpbiBzb21lIHVu c3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3b3JkICB8IEludGVuc2l0eSAgCgogY2FpfCAg IEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5vbmUpfCAgIFVuc3BlY2lmaWVkIChtZWRpdW0p CgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVtb3Rpb24gaXMgZXhwcmVzc2VkIHVzaW5nICcn LnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2knJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUg ZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6U3Ry b25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291bGQgeW91IGV4cHJlc3MgdGhhdCB5b3UgYXJl IG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy51J3UgY3UnaSBy dSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gZml2ZSAoU0UpCgpCZWZvcmUg d2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkgb2YgbW9yZSBjb21wbGV4IGNvbnN0cnVjdHMs IHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNoYW5pc20gZm9yIHJlb3JkZXJpbmcgdGhlIHN1 bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3aWxsIHNob3csIGlzIHZlcnkgdXNlZnVsIGZv ciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10aSAodGhlIGtpbmQgb2Ygc3VtdGkgd2l0aCAn J2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNlIOKAnEkgZWF0IGEgZ2lmdOKAnSwgd2hpY2gg bWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBnaWZ0IGlzIGFuIGFwcGxlLiBUbyB0cmFuc2xh dGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFsIHRvIGxvb2sgdXAgYSBzZWxicmkgbWVhbmlu ZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5nLiBIb3dldmVyLCBpZiBvbmUgbG9va3MgY2Fy ZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgeDEgZ2l2ZXMgeDIgdG8geDMs IG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAnJ2R1bmRhJycgaXMgc29tZXRoaW5nIGdpdmVu IOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0aGF0IHNlbnRlbmNlLCB3ZSBjYW4ndCBzYXkg JydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBiZWNhdXNlICcnbG8gZHVuZGEga3UnJyB3b3VsZCBi ZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGljaCBpcyBhIGRvbm9yIG9mIGEgZ2lmdC4gQ2Fubmli YWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQgdG8gc2F5IHRoYXQuIFdoYXQgd2Ugd2FudCBpcyBh IHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNlbGJyaS4KClRoaXMgaXMgb25lIGV4YW1wbGUg d2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUgd29yZCAnJ3NlJycuIFdoYXQgJydzZScnIGRv ZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgeDEgYW5kIHgyIG9mIHRoYXQg c2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0cnVjdCBvZiAnJ3NlJycgKyBzZWxicmkgaXMg b24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxicmkuIExldCdzIHRyeSB3aXRoIGFuIG9yZGlu YXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKAnHgxIHRyYW5zbGF0ZXMgeDIgdG8gbGFu Z3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJlc3VsdCBvZiB0cmFuc2xhdGlvbiB4NeKA nQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBmYW52YSB0aScnCgpUaGlzIGlzIHRyYW5zbGF0 ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcykuIE9mdGVuLCBidXQgbm90IGFsd2F5cywgYnJp ZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUgdHJhbnNsYXRlZCB0byBzZW50ZW5jZXMgd2l0 aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgxIGlzIG9mdGVuIHRoZSBvYmplY3QgdGFr aW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93biBmYW1pbHkgb2Ygd29yZHMuIEFsbCBvZiB0 aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0aGUgeDEuCgp8fHNlCXxzd2FwIHgxIGFu ZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dhcCB4MSBhbmQgeDQKCnhlCXxzd2FwIHgx IGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5kIHggYXJlIGNvbnNlY3V0aXZlIGNvbnNv bmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4KCgoKU286IFVzaW5nIHRoaXMga25vd2xlZGdl LCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0aGlz4oCdIChvciAnJ2ZhbnZhIHRpIGZ1 IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFtaWx5IGNhbiBvZiBjb3Vyc2UgYmUgY29tYmlu ZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRoZSByZXN1bHQgY2FuIGJlIHZlcnkgY29u ZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFrZSBpdCBzbzoKCl9fJydrbGFtYScnX18g PSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4MyB2aWEgeDQgdXNpbmcgeDUgYXMgdHJh bnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1IGxvIHpkYW5pIGt1IHRlIGtsYW1hIGZlIGRvIHRp IGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxvIHpkYW5pIGt1JycgYW5kIHNpbmNlICcn dGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcndGkga2xhbWEgZG8gbWkgbG8gemRhbmkga3Un JwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1lIHZpYSBhIGhvbWUu4oCdIE9mIGNvdXJz ZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRlbmNlIGV4Y2VwdCB0byBjb25mdXNlIHBl b3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuIGdy YW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21lIHRvIHRoZSBwb2ludCB3aGVyZSB3ZSBjYW4g c2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBleGNoYW5nZSB0aGUgc3VtdGkgcGxhY2Vz IG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8gYmUgeDEsIHRoZW4gZXh0cmFjdCB0aGlz IG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4gU28sIGhvdyB3b3VsZCB5b3Ugc2F5IGl0PwoK T25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpdGthIGxvIHNlIGR1bmRh IGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhlIG1hbnkgdXNlcyBmb3IgJydzZScnIGFuZCBp dHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzaXggKGFic3RyYWN0 aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVzc2VkIHNpbmdsZSBzZW50ZW5jZXMgb25l IGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBsZXggdGhpbmdzLCBob3dldmVyLCB5b3Ug b2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMuIEx1Y2tpbHksIHRoZXNlIGFyZSBtdWNo IGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9uZSB3b3VsZCBleHBlY3QuCgpXZSBjYW4gYmVn aW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIHRoaXM6IOKAnEkgYW0gaGFwcHkgdGhh dCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwgdGhlIG1haW4gYnJpZGkgaXMg4oCcSSBhbSBo YXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlkaSBpcyDigJxZb3UgYXJlIG15IGZyaWVu ZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlvbiBmb3Ig4oCcaGFwcHnigJ0sIHdoaWNoIGlz ICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCceDEgaXMgaGFwcHkgYWJvdXQgeDIgKGV2ZW50 L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUgeDIgbmVlZHMgdG8gYmUgYW4gZXZlbnQgb3Ig YSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNlIG9uZSBjYW5ub3QgYmUgaGFwcHkgYWJv dXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBhYm91dCBzb21lIHN0YXRlIHRoZSBvYmplY3Qg aXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBleHByZXNzIGEgc3RhdGUgb3IgYW4gZXZl bnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4MiBvZiAnJ2dsZWtpJychCgpBcyB5b3Ug bWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNvbHV0aW9uLiBUaGUgd29yZHMgJydzdSd1 JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDigJxjb252ZXJ0IGJyaWRpIHRvIHNlbGJyaeKAnSBm dW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAnJ2xvJyfigKYnJ2t1JycuCgpfXycnc3UndScn X18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCgpfXycna2VpJydf XyBlbmQgYWJzdHJhY3Rpb24KCgoKRXhhbXBsZToKCl9fJydtZWxiaScnX18geDEgaXMgYmVhdXRp ZnVsIHRvIHgyLgoKX18nJ2RhbnN1JydfXyB4MSBkYW5jZXMgdG8gYWNjb21wYW5pbWVudC9tdXNp Yy9yaHl0aG0geDIuCgonJ21lbGJpIHN1J3UgZGFuc3Uga2VpJycgLSDigJxCZWF1dGlmaWwgZGFu Y2luZ+KAnS/igJxCZWF1dGlmaWwgZGFuY2XigJ0KCgoKSXQncyB1c3VhbGx5IGhhcmQgdG8gZmlu ZCBnb29kIHVzZXMgb2YgYSBicmlkaSBhcyBhIHNlbGJyaS4gSG93ZXZlciwgc2luY2UgJydzdSd1 IEJSSURJIGtlaScnIGlzIGEgc2VsYnJpLCBvbmUgY2FuIGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1 c2luZyAnJ2xvJycuLi4nJ2t1JycuCgpOb3cgd2UgaGF2ZSB0aGUgZXF1aXBtZW50IHRvIGV4cHJl c3Mg4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5k4oCdLiBUcnkgaXQgb3V0IQoK X18nJ3BlbmRvJydfXyDigJx4MSBpcyBhIGZyaWVuZCBvZiB4MuKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgZ2xla2kgbG8gc3UndSBkbyBwZW5kbyBtaSBrZWkga3UnJ35+CgoKCkhvd2V2 ZXIsICcnc3UndScn4oCmJydrZWknJyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVm ZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2VpJycgYW5kICcn ZHUndScn4oCmJydrZWknJy4gVGhleSB3b3JrIHRoZSBzYW1lIHdheSwgYnV0IG1lYW4gc29tZXRo aW5nIGRpZmZlcmVudC4gJydudeKApmtlaScnIHRyZWF0cyB0aGUgYnJpZGkgaW4gYmV0d2VlbiBh cyBhbiBldmVudCBvciBzdGF0ZSwgYW5kICcnZHUndeKApmtlaScnIHRyZWF0cyBpdCBhcyBhbiBh YnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3NpbmcgdGhpbmdzIGxpa2UgaWRlYXMsIHRob3VnaHRz IG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRzIChleGNlcHQgJydrZWknJykgYXJlIGNhbGxlZCBh YnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkgb2YgdGhlbSwgYW5kIG9ubHkgZmV3IGFyZSB1c2Vk IG11Y2guICcnc3UndeKApmtlaScnIGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3 b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcnbnUnJyB0byBzYXkg4oCcSSdtIGhhcHB5IGFib3V0 IHRhbGtpbmcgdG8geW91LuKAnQoKX18nJ3RhdmxhJydfXyB4MSB0YWxrcyB0byB4MiBhYm91dCBz dWJqZWN0IHgzIGluIGxhbmd1YWdlIHg0LgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xl a2kgbG8gbnUgdGF2bGEgZG8ga2VpIGt1JycgKG5vdGljZSBib3RoIHRoZSBFbmdsaXNoIGFuZCB0 aGUgTG9qYmFuIGlzIHZhZ3VlIGFzIHRvIHdobyBpcyBkb2luZyB0aGUgdGFsa2luZykufn4KCgoK T3RoZXIgaW1wb3J0YW50IGFic3RyYWN0b3JzIGluY2x1ZGU6ICcna2EuLi5rZWknJyAocHJvcGVy dHkvYXNwZWN0IGFic3RyYWN0aW9uKSwgJydzaSdvLi4ua2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0 cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFtb25nIG90aGVy cy4gVGhlIG1lYW5pbmdzIG9mIHRoZXNlIGlzIGEgY29tcGxpY2F0ZWQgbWF0dGVyLCBhbmQgd2ls bCBiZSBkaXNjdXNzZWQgbXVjaCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS1uaW5lLiBGb3Igbm93 LCB5b3UnbGwgaGF2ZSB0byBkbyB3aXRob3V0IHRoZW0uCgoKCkl0IGlzIGltcG9ydGFudCB0byBu b3RpY2UgdGhhdCBzb21lIGFic3RyYWN0b3JzIGhhdmUgc2V2ZXJhbCBzdW10aSBwbGFjZXMuIEFz IGFuIGV4YW1wbGUsICcnZHUndScnIGNhbiBiZSBtZW50aW9uZWQuICcnZHUndScnIGlzIGRlZmlu ZWQ6CgonJ2R1J3UnJyA9IOKAnGFic3RyYWN0b3IuIHgxIGlzIHRoZSBwcmVkaWNhdGUvYnJpZGkg b2Yge2JyaWRpfSBleHByZXNzZWQgaW4gc2VudGVuY2UgeDLigJ0uCgpUaGUgb3RoZXIgc3VtdGkg cGxhY2VzIGJlc2lkZXMgeDEgaXMgcmFyZWx5IHVzZWQsIGJ1dCAnJ2xvIHNlIGR1J3Uge2JyaWRp fSBrZWkga3UnJyBpcyBzb21ldGltZXMgdXNlZCBhcyBhIHN1bXRpIGZvciBpbmRpcmVjdCBxdW90 YXRpb246IOKAnEkgc2FpZCB0aGF0IEkgd2FzIGdpdmVuIGEgZG9n4oCdIGNhbiBiZSB3cml0dGVu ICcnbWkgY3Vza3UgbG8gc2UgZHUndSBtaSB0ZSBkdW5kYSBsbyBnZXJrdSBrdSBrZWkga3UnJywg aWYgeW91IHdpbGwgcGFyZG9uIHRoZSB3ZWlyZCBleGFtcGxlLgoKX18nJ2N1c2t1JydfXyB4MSBl eHByZXNzZXMgeDIgdG8geDMgdGhyb3VnaCBtZWRpdW0geDQKCl9fJydnZXJrdScnX18geDEgaXMg YSBkb2cgb2YgcmFjZSB4MgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNldmVuIChOT0kp CgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUncyBhbm90aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUg YnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVsYXRpdmUgY2xhdXNlcy4gVGhleSBhcmUgc2VudGVu Y2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0aW9uIHRvIGEgc3VtdGkuIEluZGVlZCwgdGhlIOKA nHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBzZW50ZW5jZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBv ZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmdsaXNoIGRlc2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNl cy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4gdHdvIGZsYXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3 b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdvIGtpbmRzIGJlZm9yZSBsZWFybmluZyBob3cgdG8g ZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5kcyBhcmUgY2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBu b24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50aWFsKSByZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFt cGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKAnE15IGJyb3RoZXIsIHdobyBpcyB0d28gbWV0ZXJz IHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0gVGhpcyBjYW4gYmUgdW5kZXJzdG9vZCBpbiB0d28g d2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwgYnJvdGhlcnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5n IGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxsIGxldCB5b3Uga25vdyB3aGljaCBicm90aGVyIEkg YW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdodCBoYXZlIG9ubHkgb25lIGJyb3RoZXIsIGluIHdo aWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5nIHlvdSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoK CgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9qYmFuIHdlIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhl c2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3QgaW50ZXJwcmV0YXRpb24gaXMgcmVzdHJpY3RpdmUg KHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRoZSBwb3NzaWJsZSBicm90aGVycyBJIG1pZ2h0IGJl IHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25kIG5vbi1yZXN0cmljdGl2ZS4gV2hlbiBzcGVha2lu ZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25lIG9mIHZvaWNlIChvciBpbiB3cml0dGVuIEVuZ2xp c2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywg YnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJhbiB1c2VzIHRoZSBjb25zdHJ1Y3RzICcncG9p4oCm a3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmlj dGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNwZWN0aXZlbHkuCgpMZXQncyBoYXZlIGEgTG9qYmFu aWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28gZXhwbGFpbiBvdXIgc3RyYW5nZSBnaWZ0LWVhdGlu ZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4gbGVzc29uIGZpdmU6CgpfXycnbm9pJydfXyBi ZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8g c3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiByZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNh biBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydrdSdvJydfXyBlbmQgcmVsYXRpdmUgY2xhdXNl CgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIHBsaXNlIGt1J28nJyA9IOKAnEkgZWF0 IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUg Jydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1c3QgYWZ0ZXIgJydsbyBzZSBkdW5kYSBrdScnLCBz byBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBUbyBiZSBzdHJpY3QsIHRoZSByZWxhdGl2ZSBjbGF1 c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0IGlzLCB3aGljaCBpcyBhbiBhcHBsZSwgYnV0IHNp bmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBwbGllcyB0byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVs eSBhc3N1bWUgdGhhdCBpdCBtZWFucyB0aGF0IHRoZSBnaWZ0IGlzIGFuIGFwcGxlLiBBZnRlciBh bGwsIGluIHRoZSBjb250ZXh0IG9mIGxlc3NvbiBmaXZlLCB0aGlzIHNlZW1zIHJlYXNvbmFibGUu IElmIHdlIHdhbnQgdG8gYmUgYWJzb2x1dGVseSBzdXJlIHRoYXQgaXQgaW5kZWVkIHdhcyB0aGUg Z2lmdCB0aGF0IHdhcyBhbiBhcHBsZSwgd2UgdXNlIHRoZSB3b3JkICcna2UnYScnLCB3aGljaCBp cyBhICcnc3Vta2EnaScnIChhIExvamJhbiBwcm9ub3VuLCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJl cHJlc2VudGluZyB0aGUgc3VtdGkgd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hl ZCB0by4KCl9fJydrZSdhJydfXyBzdW1rYSdpOyByZWZlcnMgdG8gdGhlIHN1bXRpLCB0byB3aGlj aCB0aGUgcmVsYXRpdmUgY2xhdXNlIGl0IGF0dGFjaGVkLgoKCgonJy51aSBtaSBjaXRrYSBsbyBz ZSBkdW5kYSBrdSBwb2kga2UnYSBwbGlzZSBrdSdvJycgPSDigJxZYXksIEkgZWF0IGEgZ2lmdCB3 aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVuZGVybGluZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVu IHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgaGVyZSdz IGFub3RoZXIgZXhhbXBsZToKCgoKX18nJ2xvamJvJydfXyDigJx4MSByZWZsZWN0cyBMb2piYW5p YyBjdWx0dXJlL2NvbW11bml0eSBpcyBhc3BlY3QgeDI7IHgxIGlzIExvamJhbmljLuKAnQoKCgon J21pIG5vaSBsb2pibyBrdSdvIGZhbnZhIGZvIGxvIGxvamJvIGt1JycgPSDigJxJLCB3aG8gYW0g YSBMb2piYW5pYywgdHJhbnNsYXRlIGZyb20gc29tZSBMb2piYW5pYyBsYW5ndWFnZS7igJ0gSGVy ZSwgdGhlcmUgaXMgbm90IG11bHRpcGxlIHRoaW5ncyB3aGljaCAnJ21pJycgY291bGQgcmVmZXIg dG8sIGFuZCB0aGUgZmFjdCB0aGF0IEkgYW0gbG9qYmFuaWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwg aW5mb3JtYXRpb24gbm90IG5lZWRlZCB0byBpZGVudGlmeSBtZS4gVGhlcmVmb3JlICcnbm9p4oCm a3UnbycnIGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlmIHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKA nEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVhdXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25h bm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoKX18nJ21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlm dWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtj YScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4MiwgZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkg c3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5h bm11IGt1IHBvaSB7a2UnYX0gbWVsYmkga3Unbycnfn4KCgoKT24gYSBtb3JlIHRlY2huaWNhbCBz aWRlIG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0byBrbm93IHRoYXQgJydsbyB7c2VsYnJpfSBr dScnIGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBhcyAnJ3pvJ2Ugbm9pIGtlJ2Ege3NlbGJyaX0ga3Un bycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVybWluYXRvciBl bGlzaW9uKQoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkg X192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4 aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCiAtICDigJxJ IHdpc2ggdGhlIEFtZXJpY2FuLCB3aG8gaXMgbXkgc2libGluZywgd291bGQgdW5kZXJzdGFuZCB0 aGF0IEkgZG9uJ3QgbGlrZSB0aGF0IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNzIG9mIHdoZXRo ZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBzaG91bGRuJ3Qs IGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhlc2UgbGVzc29u cyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFuIHN0cnVj dHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBnZXQgZmls bGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAnJ2t1J28nJyBhbmQgb3RoZXIgb2YgdGhvc2Ugd29y ZHMgd2hpY2ggYnkgdGhlbXNlbHZlcyBjYXJyeSBubyBtZWFuaW5nLgoKCgpUaGUgZnVuY3Rpb24g b2YgYWxsIHRoZXNlIHdvcmRzIGlzIHRvIHNpZ25hbCB0aGUgZW5kIG9mIGEgY2VydGFpbiBncmFt bWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9yIGluc3RhbmNlIOKAnGNvbnZlcnQgc2VsYnJpIHRv IHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcna3UnJy4gVGhlIEVuZ2xpc2ggd29yZCBmb3IgdGhp cyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWluYXRvcuKAnSwgdGhlIExvamJhbiB3b3JkIGlzICcn ZmEnb3JtYSdvJycuIFRoZXkgYXJlIHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBsZSBhYm92 ZS4KCk5vdGU6IFRoZSAnJ3ZhdScnIGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUgZmEnb3Jt YSdvIGZvciDigJxlbmQgYnJpZGnigJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24geW91IGhhdmUg bm90IHlldCBzZWVuIGl0LCBzdGF5IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3JtYSdvOiBUZXJt aW5hdGVzIGJyaWRpLgoKCgpJbiBtb3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2piYW4sIG1vc3Qg ZmEnb3JtYSdvIGFyZSBza2lwcGVkIChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMgc3lsbGFi bGVzIGluIHNwZWVjaCBhbmQgc3BhY2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25lIG11c3QgYWx3 YXlzIGJlIGNhcmVmdWwgd2hlbiBlbGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNpbXBsZSBleGFt cGxlICcnbG8gbWVya28ga3Uga2xhbWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAnJ2t1Jycg d291bGQgeWllbGQgJydsbyBtZXJrbyBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmdsZSBzdW10aSBt YWRlIGZyb20gdGhlIHRhbnJ1ICcnbWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg4oCcYW4g QW1lcmljYW4gdHJhdmVsZXLigJ0gaW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2ZWxz4oCd LiBmYSdvcm1hJ28gZWxpc2lvbiBjYW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMgaWYgZG9u ZSBpbmNvcnJlY3RseSwgd2hpY2ggaXMgd2h5IHlvdSBoYXZlbid0IGxlYXJuZWQgYWJvdXQgaXQg dW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Igd2hlbiBmYSdvcm1hJ28gY2FuIGJlIGVsaWRlZCBp cyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4gdGhlb3J5OiDigJxZb3UgY2FuIGVsaWRlIGEgZmEn b3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18gZG9pbmcgc28gZG9lcyBub3QgY2hhbmdlIHRoZSBn cmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRoZSBzZW50ZW5jZS7igJ0KCk1vc3QgZmEnb3JtYSdv IGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLiBFeGNlcHRpb25z IGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug4oCcZW5kIHF1b3Rl4oCdLWZhJ29ybWEnbyBhbmQg 4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZhJ29ybWEnby4gVGhpcyBpcyB3aHkgJyd2YXUnJyBp cyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2ltcGx5IGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aXRo ICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMgdGVybWluYXRlIHRoZSBwcmVjZWRpbmcgYnJpZGkg YW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50IHVzZSwgaG93ZXZlci4gU2luY2UgYXR0aXR1ZGlu YWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJlY2VkaW5nIHdvcmQsIGFwcGx5aW5nIGl0IHRvIGEg ZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qgd2hpY2ggaXMgdGVy bWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25lIGNhbiB0aGVuIHVzZSBhdHRpdHVkaW5hbHMgYWZ0 ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJ3phJ2EgZG8g ZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVudSB7a3V9Li4uIHZhdSBpJ2UnJyAtIOKAnEkgc2Vl IHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHigJ0KCl9fJydw cmVudScnX18geDEgaXMgYSBwZXJzb247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpLbm93aW5n IHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0aHVzIHJldHVy biB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZhJ29ybWEnbzoK CgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUg a3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBf X3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCgoKV2UgY2FuIHNlZSB0 aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdyYW1tYXRpY2FsbHkgdW5uZWNlc3NhcnksIGJlY2F1 c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13b3JkIGlzICcnamltcGUnJywgd2hpY2ggaXMgYSBz ZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBzZWxicmkgcGVyIGJyaWRpLCAnJ3Zh dScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcnamltcGUnJyBhcyBhIHNlbGJyaSBjYW5ub3QgYmUg aW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRoZXIgKG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNl LCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBicmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4g TGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3QgYmUgYSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUg Y29uc3RydWN0ICcnbGUgbWVya28gcG9pey4uLn0nJywgc28gdGhlICcna3UnJyBpcyBub3QgbmVl ZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFsbCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVu ZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVsaWRlZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5l dyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwgb2YgdGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpX ZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBw b2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1p Jycg4oCTIHdpdGggbm8gZmEnb3JtYSdvIGF0IGFsbCEKCgoKV2hlbiBlbGlkaW5nIGZhJ29ybWEn bywgaXQgaXMgYSBnb29kIGlkZWEgdG8gYmUgYWNxdWFpbnRlZCB3aXRoICcnY3UnJy4gJydjdScn IGlzIG9uZSBvZiB0aG9zZSB3b3JkcyB3aGljaCBjYW4gbWFrZSB5b3VyIChMb2piYW5pYykgbGlm ZSBhIGxvdCBlYXNpZXIuIFdoYXQgaXQgZG9lcyBpcyB0byBzZXBhcmF0ZSBhbnkgcHJldmlvdXMg c3VtdGkgZnJvbSB0aGUgc2VsYnJpLiBPbmUgY291bGQgc2F5IHRoYXQgaXQgZGVmaW5lcyB0aGUg bmV4dCB3b3JkIHRvIGJlIGEgc2VsYnJpLCBhbmQgdGVybWluYXRlcyBleGFjdGx5IGFzIG11Y2gg YXMgaXQgbmVlZHMgdG8gaW4gb3JkZXIgdG8gZG8gdGhhdC4KCl9fJydjdScnX18gZWxpZGFibGUg bWFya2VyOiBzZXBhcmF0ZXMgc2VsYnJpIGZyb20gcHJlY2VkaW5nIHN1bXRpLCBhbGxvd3MgcHJl Y2VkaW5nIGZhJ29ybWEnbyBlbGlzaW9uLgoKCgpfXycncHJhbWknJ19fID0g4oCceDEgbG92ZXMg eDLigJ0KCgoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX192YXUg a2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamljYSBtaScnID0KCicnbG8gc3UndSBkbyBjdXNrdSBs byBzZSBkdSd1IGRvIHByYW1pIG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBz YXkgdGhhdCB5b3UgbG92ZSBtZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ug c2FpZCB5b3UgbG92ZWQgbWXigJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJl Y2F1c2UgaXQgaXMgbm90IHRpZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNh biBiZSB1c2VkIHRvIGVsaWRlIG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVz dCBzdHJlbmd0aHMgb2YgJydjdScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8g aW50dWl0aXZlbHkgdW5kZXJzdGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBp dCByZXZlYWxzIHRoZSBzdHJ1Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5 aW5nIHRoZSBjb3JlIHNlbGJyaS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlv bGVudCBBbWVyaWNhbiBicm90aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUnJyBkb2Vz IG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBt aWdodCBtYWtlIGl0IGVhc2llciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBv ZiBsZXNzb25zLCAnJ2N1Jycgd2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZh J29ybWEnbyBlbGlkZWQgaWYgcG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUg ZW5jYXNlZCBpbiBjdXJseSBicmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xh dGUgaXQhCgpfXycndmFqbmknJ19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29u IHgz4oCdCgpfXycnamltcGUnJ19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR1J3UtYWJz dHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPigJ0KCl9fJydhJ28nJ19fIC0gQXR0aXR1ZGluYWw6 IFNpbXBsZSBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IEhvcGUgLSBkZXNwYWlyCgoKCicnYSdvIGRv IG5vaSBrZSdhIGxvamJvIC5pJ2Uge2t1J299IHtrdX0gY3UgamltcGUgbG8gZHUndSBsbyBmYSdv cm1hJ28ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQgZG8gSSBz dGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIGEgcHJvdWQg TG9qYmFuaXN0LCB1bmRlcnN0YW5kcyB0aGF0IGZhJ29ybWEnbyBhcmUgaW1wb3J0YW504oCdfn4K CgoKRnVuIHNpZGUgbm90ZTogTW9zdCBwZW9wbGUgd2VsbC12ZXJzZWQgaW4gZmEnb3JtYSdvLWVs aXNpb24gZG8gaXQgc28gaW5zdGluY3RpdmVseSB0aGF0IHRoZXkgb2Z0ZW4gbXVzdCBiZSByZW1p bmRlZCBob3cgaW1wb3J0YW50IHVuZGVyc3RhbmRpbmcgZmEnb3JtYSdvIGFyZSB0byB0aGUgdW5k ZXJzdGFuZGluZyBvZiBMb2piYW4uIFRoZXJlZm9yZSwgZWFjaCBUdWVzZGF5IGhhdmUgYmVlbiBk ZXNpZ25hdGVkIOKAnFRlcm1pbmF0b3IgRGF54oCdIG9yICcnZmEnb3JtYSdvIGRqZWRpJycgb24g dGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1cmluZyBUZXJtaW5hdG9yIERheSwgbWFueSBwZW9w bGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQgYWxsIGZhJ29y bWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1bHQuCgoK CgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNvIGZhciB3ZSBo YXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUgaGFkIGF0 IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZpbmVkIHNlbGJy aSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMgYXJlIG5vdCB1 c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3YW50IHRvIHNh eSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUgaXMgbm8gcGxh Y2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0IHRvb2wgSSB0 cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90IG5lY2Vz c2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRkIGFkZGl0aW9u YWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2ljIHdheSB0byBh ZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnICh5ZXMsIGFub3Ro ZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywgJydmZSd1JycuIEl0J3MgYWxtb3N0IG5ldmVyIG5l Y2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNlZSBpdC4p CgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlrZSAnJ2xv IFNFTEJSSSBrdScnLCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyBleHRyYWN0cyB0aGUgeDEgb2YgdGhl IHNlbGJyaSBwdXQgaW50byBpdC4gSG93ZXZlciwgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywg dGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0ZWQsIG5vdCB0byBhIHN1bXRpLCBidXQgdG8gYSAn J3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3VtdGktbGFiZWzigJ0sIHdpdGggdGhlIHBsYWNlIHN0 cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNlbGJyaSBpdCBjb252ZXJ0ZWQuIFRoaXMgJydzdW10 Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4dCBzdW10aS4gT25lIGNvdWxkIHNheSB0aGF0IHVz aW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1wb3J0IGEgc3VtdGkgcGxhY2UgZnJvbSBhbm90aGVy IHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUgYnJpZGkgYmVpbmcgc2FpZC4KCk5vdGU6IFNvbWV0 aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0ZXh0cywgdGhlIHRlcm0g4oCcdGFn4oCdIG9yIOKA nG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3VtdGNpdGEnJy4gSWdub3JlIHRob3NlIHB1bnkgRW5n bGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2ggcHJvcGVyIExvamJhbiBoZXJlLgoKCgpXaGlsZSBp dCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9jZXNzIGZyb20gcmVhZGluZyBhYm91dCBpdCwgYW4g ZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0cyBhY3R1YWwgc2ltcGxpY2l0eToKCl9fJydza2Ft aScnX18g4oCceDEgaXMgYSBjb21wdXRlciBmb3IgcHVycG9zZSB4MuKAnQoKX18nJ3BpbG5vJydf XyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBmb3IgZG9pbmcgeDPigJ0KCgoKJydtaSBmYW52YSB0 aSBmaSdvIHNlIHBpbG5vIHtmZSd1fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkgdHJhbnNs YXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdoaWNoIGlz IHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEgdG9vbCBi ZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1cmVkIGJ5 ICcnZmknbyBTRUxCUkkgZmUndScnLCBhZGRlZCB0byB0aGUgbWFpbiBzZWxicmksIGFuZCB0aGVu IGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRoZSBpZGVhIG9mICcnc3VtdGNpdGEnJyBpcyBzb21l dGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2ggdXNpbmcgdGhlIGZvbGxvd2luZyB0cmFuc2xhdGlv bjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aC10b29sOiBBIGNvbXB1dGVy4oCdCgoKCkEgJydz dW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBvbmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5cyB0aGUg Zm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVseSwgdGhlICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3Qg Y2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2t1JycsIGluIHdoaWNoIGNhc2UgYSAnJ3pvJ2UnJyBp cyBpbXBsaWVkIHRvIGZpbGwgdGhlICcnc3VtdGNpdGEnJy4gT3IsIG9uZSBjb3VsZCBpbWFnaW5l IGFuIGVsaWRlZCBzdW10aSBiZWluZyB0ZXJtaW5hdGVkIHdpdGggdGhlICcna3UnJy4KCl9fJyd6 dWt0ZScnX18g4oCceDEgaXMgYSB2b2xpdGlvbmFsIGVudGl0eSBjYXJyeWluZyBvdXQgYWN0aW9u IHgyIGZvciBwdXJwb3NlIHgz4oCdCgoKCicnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8gc2thbWkg e2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9e3ZhdX0nJyAtIOKAnFdpdGggdm9saXRpb24sIGEg Y29tcHV0ZXIgdXNlZCBzb21ldGhpbmcgTG9qYmFuaWPigJ0gKHBlcmhhcHMgaW1wbHlpbmcgdGhh dCBhIExvamJhbmljIGNvbXB1dGVyIHdlbnQgc2VudGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNw ZWNpZnkgd2hvIGhhZCB2b2xpdGlvbi4gSXQgY291bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3 aG8gcHJvZ3JhbW1lZCB0aGUgY29tcHV0ZXIgLSBob3cgYm9yaW5nLikKCgoKV2hhdCBkb2VzICcn bWkgamltcGUgZmkgbGEgbG9qYmFuIHtrdX0gZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0 ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0 IExvamJhbiwgc3Bva2VuIHRvIG1l4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJp Z2h0IGluIGZyb250IG9mIHRoZSBzZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwg c2luY2Ugc3VtdGNpdGEgb25seSBjYW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhp cyBmYWN0IHdpbGwgYmUgb2YgaW1wb3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwg c2VlLgoKCgpTYWRseSwgJydmaSdvJycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0 cyBmbGV4aWJpbGl0eS4gV2hhdCBJUyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4g QkFJIGlzIGEgY2xhc3Mgb2YgTG9qYmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBh cyAnJ3N1bXRjaXRhJycuIEFuIGV4YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBm b3IgJyd6dWt0ZScnLiBHcmFtYXRpY2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmkn byB6dWt0ZSBmZSd1JycuIFRodXMsIHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQg dG86CgonJ3p1J2Uga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9IHt2YXV9 JycuIFRoZXJlIGV4aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNl IGFyZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252 ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBp cyBlcXVhbCB0byAnJ2ZpJ28gc2UgenVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3Jl YXQgZGVhbCBtb3JlIEJBSS4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBG QWhBLCBaSSwgVkEsIFpFaEEsIFZFaEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1z cGVha2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmlu ZSBsZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2Uu IFRoaXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5k by1FdXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUg b3B0aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJ IGVhdCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBl YXQgY2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVk IGVhdGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQg aW4gbW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2 ZXIsIHdoZW4gaXQncyBuZWVkZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4g RnVydGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0 IHRpbWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdv cmtlZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4g c2F5aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFu Z3VhZ2VzLCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZp Y3VsdCBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRo b3VnaCwgaXQncyBwZXJmZWN0bHkgcmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90 LCBmb3IgaXQgd2lsbCBub3QgaW52b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5 IHRoZSBzZWxicmkgb3IgYW55dGhpbmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExv amJhbiB0ZW5zZSBzeXN0ZW0sIGFsbCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZl IGNvbnZlbmllbnRseSBqdXN0IG1hZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2th eSwgdGVjaG5pY2FsbHksIHRlbnNlcyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIg c3VtdGNpdGEsIGJ1dCB0aGlzIGRpZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFu ZCB3aWxsIGJlIHdvbid0IGJlIGV4cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3Rz IHRoZXkgYXJlIGxpa2UgYWxsIG90aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5 ICcna3UnJywgbWFraW5nIGl0IGV4cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1 JycuCgpUaGVyZSBhcmUgbWFueSBkaWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNv IGxldCdzIHN0YXJ0IGF0IHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vy cy4KCl9fJydwdScnX18gLSBzdW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBz dW10Y2l0YTogYXQgdGhlIHNhbWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNp dGE6IGFmdGVyIHtzdW10aX0KCgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg 4oCcYmVmb3Jl4oCdLCDigJxub3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhv dWdoLCBvbmUgY291bGQgYXJndWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVy IG9jY3VyIGV4YWN0bHkgc2ltdWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4g QnV0ICcnY2EnJyBleHRlbmRzIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUs IG1lYW5pbmcganVzdCDigJxhYm91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWlu Z3MgZG9uJ3QgcGVyY2VpdmUgdGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRo ZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2Fz IGFjdHVhbGx5IHN1Z2dlc3RlZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRp dmlzdGljLiBUaGF0IGlkZWEsIGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNv dW50ZXItaW50dWl0aXZlLCBhbmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25l IHdvdWxkIGhhdmUgdG8gbGVhcm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoK ClNvLCBob3cgd291bGQgeW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVy ZT/igJ0gKHBvaW50aW5nIHRvIGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBj dXNrdSB0aSBiYSBsbyBudSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpIHtrdX0ge3ZhdX0nJ35+CgoK ClVzdWFsbHkgd2hlbiBzcGVha2luZywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBl dmVudCB0aGlzIGFjdGlvbiBpcyBpbiB0aGUgcGFzdCByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2 ZSBhIGNvbXB1dGVyIGF3YXnigJ0sIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBl bmVkIHJlbGF0aXZlIHRvIOKAnG5vd+KAnSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10 aSBvZiB0aGUgc3VtdGNpdGEsIGJlY2F1c2UgaXQncyBvYnZpb3VzOgoKJydwdSBrdSBtaSBkdW5k YSBsbyBza2FtaSB7a3V9IHt2YXV9Jycgb3IKCicnbWkgZHVuZGEgbG8gc2thbWkge2t1fSBwdSB7 a3V9IHt2YXV9Jycgb3IsIG1vcmUgY29tbW9ubHkKCicnbWkgcHUge2t1fSBkdW5kYSBsbyBza2Ft aSB7a3V9IHt2YXV9JycuIFRoZSBzdW10aSB3aGljaCBmaWxscyB0aGUgc3VtdGNpdGEgaXMgYW4g aW1wbGllZCAnJ3pvJ2UnJywgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJl bGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgdGltZSBhbmQgcGxhY2UgKHRoaXMgaXMgZXNwZWNpYWxs eSBpbXBvcnRhbnQgd2hlbiBzcGVha2luZyBhYm91dCBsZWZ0IGFuZCByaWdodCkuIElmIHNwZWFr aW5nIGFib3V0IHNvbWUgZXZlbnRzIHRoYXQgaGFwcGVuZWQgc29tZSBvdGhlciB0aW1lIHRoYW4g dGhlIHByZXNlbnQsIGl0IGlzIHNvbWV0aW1lcyBhc3N1bWVkIHRoYXQgYWxsIHRlbnNlcyBhcmUg cmVsYXRpdmUgdG8gdGhhdCBldmVudCB3aGljaCBpcyBiZWluZyBzcG9rZW4gYWJvdXQuIEluIG9y ZGVyIHRvIGNsYXJpZnkgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgc3BlYWtl cidzIGN1cnJlbnQgcG9zaXRpb24sIHRoZSB3b3JkICcnbmF1JycgY2FuIGJlIHVzZWQgYXQgYW55 IHRpbWUuIEFub3RoZXIgd29yZCwgJydraScnIG1hcmtzIGEgdGVuc2Ugd2hpY2ggaXMgdGhlbiBj b25zaWRlcmVkIHRoZSBuZXcgc3RhbmRhcmQuIFRoYXQgd2lsbCBiZSB0YXVnaHQgd2F5IGxhdGVy LgoKX18nJ25hdScnX18gdXBkYXRlcyB0ZW1wb3JhbCBhbmQgc3BhY2lhbCBmcmFtZSBvZiByZWZl cmVuY2UgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50IGhlcmUgYW5kIG5vdy4KCgoKX18nJ2d1Z2Rl JydfXyA9IOKAnHgxIGlzIHRoZSBjb3VudHJ5IG9mIHBlb3BsZSB4MiB3aXRoIGxhbmQvdGVycml0 b3J5IHgz4oCdCgoKCkFsc28gbm90ZSB0aGF0ICcnbWkgcHUge2t1fSBrbGFtYSBsbyBtZXJrbyBn dWdkZSB7a3V9IHt2YXV9JycsIOKAnEkgd2VudCB0byBBbWVyaWNh4oCdLCBkb2VzIG5vdCBpbXBs eSB0aGF0IEknbSBub3Qgc3RpbGwgdHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBh bHNvIHRydWUgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVz IGFnby4KCgoKQXMgbWVudGlvbmVkLCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBh cmUgdmVyeSBtdWNoIGFsaWtlLiBDb250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5z ZXMgd2l0aCB0aGVzZSBmb3VyIHNwYWNpYWwgdGVuc2VzOgoKX18nJ3p1J2EnJ19fIHN1bXRjaXRh OiBsZWZ0IG9mIHtzdW10aX0KCl9fJydjYSd1JydfXyBzdW10Y2l0YTogaW4gZnJvbnQgb2Yge3N1 bXRpfQoKX18nJ3JpJ3UnJ19fIHN1bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnUndScn X18gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZh bGVudCBvZiAnJ2NhJycpCgoKCl9fJydvJ28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJl IGVtb3Rpb246IHBhdGllbmNlIC0gdG9sZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5v J29uYWkgcmkndSB7a3V9IG51IGxvIHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUge2t1 fSB7a3V9IHt2YXV9IHtrZWl9IHt2YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxpZGVk IGt1ISkKCl9fJydkYXJ4aScnX18geDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQgeDMg YXQgbG9jdXMgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUgcmln aHQgKG9mIHNvbWV0aGluZywgcHJvYmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29tZSBl dmVudCksIHNvbWV0aGluZyBpcyBhbiBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9nLuKA nSBvciDigJxBIG1hbiBoaXQgYSBkb2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUgYXJl IHNldmVyYWwgdGVuc2Ugc3VtdGNpdGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0IHlv dSByZWFkIHRoZW0gZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNhbGxl ZCDigJxpbWFnaW5hcnkgam91cm5leeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxpZWQg cG9pbnQgaW4gdGltZSBhbmQgc3BhY2UgKGRlZmF1bHQ6IHRoZSBzcGVha2VyJ3Mgbm93IGFuZCBo ZXJlKSwgYW5kIHRoZW4gZm9sbG93IHRoZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVm dCB0byByaWdodC4KCkV4YW1wbGUKCicnbWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxv amJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4gdGhlIHBhc3Qs IEkgd2lsbCBiZSBhYm91dCB0byBrbm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgonJ21pIGJhIHtr dX0gcHUge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnIOKAnEF0 IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIGhhdmUgdW5kZXJzdG9vZCBhYm91dCBm YSdvcm1hJ29zLuKAnQoKU2luY2Ugd2UgZG8gbm90IHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1l IHdlIG1vdmUgYmFjayBvciBmb3J0aCwgdGhlIHVuZGVyc3RhbmRpbmcgY291bGQgaW4gYm90aCBj YXNlcyBoYXBwZW4gaW4gdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiB0aGUgcG9pbnQgb2YgcmVm ZXJlbmNlLgoKCgpBbHNvLCBpZiBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZXMgYXJlIG1peGVk LCB0aGUgcnVsZSBpcyB0byBhbHdheXMgcHV0IHRlbXBvcmFsIGJlZm9yZSBzcGFjaWFsLiBJZiB0 aGlzIHJ1bGUgaXMgdmlvbGF0ZWQsIGl0IGNhbiBzb21ldGltZXMgcmVzdWx0IGluIHN5bnRhY3Rp Y2FsIGFtYmlndWl0eSwgd2hpY2ggTG9qYmFuIGRvZXMgbm90IHRvbGVyYXRlLgoKCgpTdXBwb3Nl IHdlIHdhbnQgdG8gc3BlY2lmeSB0aGF0IHRoZSBhIG1hbiBoaXQgYSBkb2cganVzdCBhIG1pbnV0 ZSBhZ28uIFRoZSB3b3JkcyAnJ3ppJycsICcnemEnJyBhbmQgJyd6dScnIHNwZWNpZmllcyBhIHNo b3J0LCB1bnNwZWNpZmllZCAocHJlc3VtYWJseSBtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGlu IHRpbWUuIE5vdGljZSB0aGUgdm93ZWwgb3JkZXIgJydpJycsICcnYScnIGFuZCAnJ3UnJy4gVGhp cyBvcmRlciBhcHBlYXJzIGFnYWluIGFuZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBtaWdodCBiZSB3 b3J0aCB0byBtZW1vcml6ZS4g4oCcU2hvcnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4gYXJlIGFsd2F5 cyBjb250ZXh0IGRlcGVuZGVudCwgcmVsYXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3byBodW5kcmVk IHllYXJzIGlzIGEgc2hvcnQgdGltZSBmb3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwgYnV0IGEgbG9u ZyB0aW1lIHRvIHdhaXQgZm9yIHRoZSBidXMuCgpfXycnemknJ19fIHN1bXRjaXRhOiBPY3Vycmlu ZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVm ZXJlbmNlIAoKX18nJ3phJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1l ZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNl IAoKX18nJ3p1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3Vt dGl9IGluIHRpbWUgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1pbGFybHksIHNw YWNpYWwgZGlzdGFuY2UgaXMgbWFya2VkIGJ5ICcndmknJywgJyd2YScnIGFuZCAnJ3Z1JycgZm9y IHNob3J0LCB1bnNwZWNpZmllZCAobWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiBzcGFjZS4K Cl9fJyd2aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3Vt dGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydfXyBzdW10Y2l0 YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBp biBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2dScnX18gc3VtdGNpdGE6IE9j dXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHRoZSBwb2lu dCBvZiByZWZlcmVuY2UgCgpfXycnZ3Vua2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgyIHdpdGggb2Jq ZWN0aXZlIHgz4oCdCgoKClRyYW5zbGF0ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1IHtrdX0gZ3Vu a2Ege3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWUgdGltZSBpbiB0aGUgZnV0 dXJlLCBJIHdpbGwgd29yayBhIHBsYWNlIGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQZW9wbGUgcmFy ZWx5IHVzZSAnJ3ppJycsICcnemEnJyBvciAnJ3p1Jycgd2l0aG91dCBhICcncHUnJyBvciAnJ2Jh JycgaW4gZnJvbnQgb2YgaXQuIFRoaXMgaXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBhbHdheXMgbmVl ZCB0byBzcGVjaWZ5IHBhc3Qgb3IgZnV0dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gV2hl biB5b3UgdGhpbmsgYWJvdXQgaXQgTG9qYmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0aW1lIHRoZSB0 aW1lLWRpcmVjdGlvbiBpcyBvYnZpb3VzLCBhbmQgdGhlICcncHUnJyBvciAnJ2JhJycgc3VwZXJm bHVvdXMhCgoKClRoZSBvcmRlciBpbiB3aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEgYW5kIGRpc3Rh bmNlLXN1bXRjaXRhIGFyZSBzYWlkIG1ha2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1iZXIgdGhhdCB0 aGUgbWVhbmluZ3Mgb2Ygc2V2ZXJhbCB0ZW5zZSB3b3JkcyBwbGFjZWQgdG9nZXRoZXIgYXJlIHBp Y3R1cmVkIGJ5IGFuIGltYWdpbmFyeSBqb3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0 LiBUaHVzICcncHUgenUnJyBpcyDigJxhIGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScn IGlzIOKAnGluIHRoZSBwYXN0IG9mIHNvbWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcg dGltZSB0b3dhcmQgdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJz dCBleGFtcGxlLCAnJ3B1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScn IHRoZW4gdGhhdCBpdCBpcyBhIGxvbmcgdGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhh bXBsZSwgJyd6dScnIHNob3dzIHRoYXQgd2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBp biB0aW1lIGZyb20gbm93LCAnJ3B1JycgdGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9t IHRoYXQgcG9pbnQuIFRodXMgJydwdSB6dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBw dScnIGNvdWxkIGJlIGluIHRoZSBmdXR1cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5z ZXMgY29tYmluZSBpbiB0aGlzIHdheSBpcyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4g dGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIg c3VtdGNpdGEgYXJlIG5vdCBhbHRlcmVkIGJ5IHRoZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1 bXRjaXRhIGluIGEgYnJpZGkuCgoKCkFzIGJyaWVmbHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhl c2UgY29uc3RydWN0cyBiYXNpY2FsbHkgdHJlYXQgYnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50 LWxpa2UgaW4gdGltZSBhbmQgc3BhY2UuIEluIGFjdHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBv dXQgb3ZlciBhIHNwYW4gb2YgdGltZSBhbmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBh cmFncmFwaHMsIHdlIHdpbGwgbGVhcm4gaG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUg YW5kIHNwYWNlLgoKCgpfXycnemUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNo b3J0IHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVy IHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSd1JydfXyBz dW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3Zl J2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCBzcGFjZSBvZiB7c3VtdGl9 CgpfXycndmUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkICht ZWRpdW0pIHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcg b3ZlciB0aGUgbG9uZyBzcGFjZSBvZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkg a25vdywgYnV0IHJlbWVtYmVyaW5nIHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJp dHkgb2YgdGhlIGluaXRpYWwgbGV0dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Ig c3BhY2lhbCB0ZW5zZXMgbWlnaHQgaGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycub2knJ19fIC0g YXR0aXR1ZGluYWw6IHBhaW4gLSBwbGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2 ZSd1IHtrdX0ga2xhbWEgbG8gZG90Y28gZ3VnZGUge2t1fSB6ZSd1IHtrdX0ge3ZhdX0nJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGltZSB0cmF2ZWxp bmcgYSBsb25nIHNwYWNlIHRvIEdlcm1hbnnigJ0gfn4KCgoKVGhvdWdoIG1vc3QgcGVvcGxlIGFy ZSBub3QgZmFtaWxpYXIgd2l0aCBzcGFjaWFsIHRlbnNlcywgdGhlc2UgbmV3IHdvcmRzIGNhbiBv cGVuIHVwIGZvciBzb21lIHByZXR0eSBzd2VldCB1c2VzLiBPbmUgY291bGQsIGZvciBpbnN0YW5j ZSwgdHJhbnNsYXRlIOKAnFRoYXQncyBhIGJpZyBkb2figJ0gYXMgJyd0aSB2ZSd1IHtrdX0gZ2Vy a3Uge3ZhdX0nJy4gU2F5aW5nOiDigJxUaGlzIHRoaW5nIGRvZ3MgZm9yIGEgbG9uZyBzcGFjZeKA nSBtYWtlcyB5b3Ugc291bmQgcmV0YXJkZWQgaW4gRW5nbGlzaCwgYnV0IHdlbGwtc3Bva2VuIGlu IExvamJhbiEKCgoKJyd6ZSd1JycgYW5kIGl0cyBicm90aGVycyBhbHNvIGNvbWJpbmUgd2l0aCBv dGhlciB0ZW5zZXMgdG8gZm9ybSBjb21wb3VuZCB0ZW5zZXMuIFRoZSBydWxlIGZvciAnJ3plJ3Un JyBhbmQgdGhlIG90aGVycyBhcmUgdGhhdCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBh biBlbmRwb2ludCBvZiB0aGUgcHJvY2VzcyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVy ZW5jZSkgYW5kIGFueSB0ZW5zZXMgY29taW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRw b2ludCByZWxhdGl2ZSB0byB0aGUgZmlyc3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3 aXRoIGEgY291cGxlIG9mIGV4YW1wbGVzOgoKJycubydvY3UnaSBkbyBjaXRrYSBwdSB7a3V9IHpl J3Uge2t1fSBiYSB7a3V9IHp1IHtrdX0ge3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQg YmVnaW5uaW5nIGluIHRoZSBwYXN0IGFuZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUg cG9pbnQgZmFyIGludG8gdGhlIGZ1dHVyZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEht cGYsIHlvdSBhdGUgZm9yIGEgbG9uZyB0aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydk byBjYSB7a3V9IHplJ2kge2t1fSBwdSB7a3V9IGtsYW1hIHt2YXV9Jycgd2l0aCAnJ2RvIHB1IHtr dX0gemUnaSB7a3V9IGNhIHtrdX0ga2xhbWEge3ZhdX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRy YXZlbGluZyBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0 dGxlIHRvd2FyZHMgdGhlIHBhc3QsIHdoaWxlIHRoZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRw b2ludCBpbiB0aGUgcGFzdCBhbmQgZXh0ZW5kcyBvbmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlz LCBzbGlnaHR5IGludG8gdGhlIHBhc3Qgb3IgZnV0dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18n J2ptaXZlJydfXyDigJx4MSBpcyBhbGl2ZSBieSBzdGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMg JycudWkgbWkgcHUge2t1fSB6aSB7a3V9IHplJ3Uge2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/ CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0 dGxlIGludG8gdGhlIHBhc3QgYW5kIGEgbG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBh c3QgKG9idmlvdXNseSB0aGUgZnV0dXJlLCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0g b3Ig4oCcSSBhbSB5b3VuZywgYW5kIGhhdmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9mIG1lIDop 4oCdfn4KCgoKSnVzdCB0byB1bmRlcmxpbmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRl bnNlcywgbGV0J3MgaGF2ZSBhbm90aGVyIGV4YW1wbGUsIHRoaXMgdGltZSB3aXRoIHNwYWNpYWwg dGVuc2VzOgoKX18nJy51J2UnJ19fIGF0dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoK CgonJy51J2UgemEnYSB7a3V9IGJ1J3Uge2t1fSB2ZSd1IHtrdX0gY2EndSB7a3V9IHpkYW5pIHt2 YXV9JycgLSBXaGF0IGRvZXMgaXQgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCce3dv bmRlcn0ge0kgb2JzZXJ2ZSF9IEV4dGVuZGluZyBhIGxvbmcgc3BhY2UgZnJvbSBoZXJlIHRvIG15 IGZyb250IGlzIGEgaG9tZS7igJ0gb3Ig4oCcV293LCB0aGlzIGhvbWUgZXh0ZW5kaW5nIGFoZWFk IGlzIGh1Z2Uh4oCdfn4KCgoKQmVmb3JlIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBzeW50YXgtaGVh dnkgdGVuc2Ugc3lzdGVtLCBpIHJlY29tbWVuZCBzcGVuZGluZyBhdCBsZWFzdCB0ZW4gbWludXRl cyBkb2luZyBzb21ldGhpbmcgd2hpY2ggZG9lc24ndCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRl ciB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNv b2tpZSB2ZXJ5IHNsb3dseSAtIHdoYXRldmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5k IHJlc3QuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdo IHdlIHdvbid0IGdvIHRocm91Z2ggYWxsIExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3cs IHRoZXJlIGlzIG9uZSBvdGhlciBraW5kIG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUg dGF1Z2h0IG5vdy4gVGhlc2UgYXJlIGNhbGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJl cHJlc2VudCBhIHZlcnkgZGlmZmVyZW50IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhh dmUgc2VlbiBzbyBmYXIuIFNvIGxldCdzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3 ZSBoYXZlIGxlYXJuZWQgc28gZmFyLCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUg bGluZSwgYW5kIHdlIHRoZW4gcGxhY2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0 aGUg4oCcbm934oCdLiBXaXRoIGV2ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2gg ZXZlbnQgYXMgYSBwcm9jZXNzLCB3aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZv cmUgaXQgdW5mb2xkcywgYSB0aW1lIHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBp biBwcm9jZXNzLCBhIHRpbWUgd2hlbiBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBl bmRlZC4gRXZlbnQgY29udG91cnMgdGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVu dCdzIHByb2Nlc3Mgd2FzIGhhcHBlbmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRo ZSBvdGhlciB0ZW5zZXMuIFdlIG5lZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycn cHUnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFw cGVuZWQgZHVyaW5nIHtzdW10aX0KCl9fJydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBz dW10Y2l0YTogZXZlbnQgY29udG91cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1 cmluZyB7c3VtdGl9CgoKClRoaXMgbmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhh bXBsZXMuIFdoYXQncyAnJy51aSBtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoK CgpBbnN3ZXI6IOKAnFlheSwgSSdsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhl eSwgeW91IGFzaywgd2h5IG5vdCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2 YXV9JycgYW5kIGV2ZW4gc2F2ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5n IHRoYXQgeW91IHdpbGwgaGF2ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJv dXQgd2hldGhlciB5b3UgaGF2ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5 b3Ugc2F5IHRoYXQgeW91IGFyZSBub3cgaW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91 IGhhdmluZyBhIGhvbWUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4K Ck5vdGUsIGJ5IHRoZSB3YXksIHRoYXQgJydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMg c2ltaWxhciB0byAnJ21pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ug d2l0aCAnJ2JhJ28nJyBhbmQgJydwdScnLiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNh dXNlIGV2ZW50IGNvbnRvdXJzIHZpZXcgdGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3 cG9pbnQgb2YgdGhlIHByb2Nlc3MsIHdoZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50 cyBzZWVuIGZyb20gdGhlIHByZXNlbnQuCgoKCk9mdGVuLCBldmVudCBjb250b3VycyBhcmUgbW9y ZSBwcmVjaXNlIHRoYXQgb3RoZXIga2luZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlz IGFjaGlldmVkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6 aSB7a3V9IGJhJ28ge2t1fSBndW5rYSB7dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5p c2hlZCB3b3JraW5nLuKAnQoKCgpJbiBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2 ZW50J3Mg4oCcbmF0dXJhbCBiZWdpbm5pbmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4g VGhlIHRlcm0g4oCcbmF0dXJhbOKAnSBpcyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNl LCBhbmQgdGhlIG5hdHVyYWwgZW5kIHJlZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mg d2hlcmUgaXQgc2hvdWxkIGVuZC4gWW91IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3Ig aW5zdGFuY2UsIHRoYXQgaXRzIHByb2Nlc3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRp bmcgYmV5b25kIGl0cyBuYXR1cmFsIGVuZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVh bCwgc2ltaWxhcmx5LCBpcyBiZWluZyBlYXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFs IGJlZ2lubmluZy4gVGhlIGV2ZW50IGNvbnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJl IGFzIGZvbGxvd3M6CgoKCl9fJyd6YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBC cmlkaSBpcyBpbiBwcm9jZXNzIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0K Cl9fJyd4YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVy ZWx5IGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMg Zm9vZCwgd2hpY2ggaXMgZWRpYmxlIGZvciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNp dGthIHphJ28gbG8gbnUgZG8gYmEnbyB7a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7 dmF1fSB7a3Unb30ge3ZhdX0ge2tlaX0ge2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc T3ksIHlvdSBrZWVwIGVhdGluZyB3aGVuIHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBl YXRpbmcgc29tZXRoaW5nIGVkaWJsZSHigJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9Inki IHJlbD0iYm94W2ddIn0KCkltYWdlIGFib3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMp LiBBbGwgdGVuc2VzIGFib3ZlIHRoZSBsaW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBj b3ZlcmluZyBhbiBhbW91bnQgb2YgdGltZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGlu ZSBzaWduaWZ5IHN0YWdlcyB3aGljaCBhcmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRl bnNlcyBoYXZlIGJlZW4gZGVzY3JpYmluZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2Vz IHNvbWUgdGltZSAoYXMgc2hvd24gb24gdGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJv dmUgdGhlIGV2ZW50IGxpa2UpLiBCdXQgbWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3Jp YmVzIHBvaW50IGxpa2Ugc3RhZ2VzIGluIHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcu IEFzIGlzIHRydWUgb2YgJydjYScnIGFuZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQg c2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVk IG5vdCB0byBiZSBwcmVjaXNlLgoKCgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2Ug ZXZlbnQgY29udG91cnMgYXJlOgoKX18nJ2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRv dXI6IEJyaWRpIGlzIGF0IGl0cyBiZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1Jydf XyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmlu ZyB7c3VtdGl9CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9j ZXNzIGlzIG5hdHVyYWxseSBjb21wbGV0ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQg eWV0OgoKX18nJ21vJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0 IGl0cyBuYXR1cmFsIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhv dWdoLCBwcm9jZXNzZXMgYWN0dWFsbHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlz IGlzIHdoYXQgbWFrZXMgaXQgbmF0dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBh bmQgcGVvcGxlIHVzdWFsbHkgcmV0cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBm b29kLgoKCgpTaW5jZSBhIHByb2Nlc3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0 aGVzZSBwb2ludHMgaGF2ZSBlYXJuZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9f JydkZSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1 cmluZyB7c3VtdGl9CgpfXycnZGknYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJp ZGkgaXMgcmVzdW1pbmcgZHVyaW5nIHtzdW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScn IG1lYW5zIOKAnHgxIHBheXMgYXR0ZW50aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQg JydkaSdhIGp1bmRpJycgYXJlIGNvbW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCd IGFuZCDigJxiYWNr4oCdLiBPbmUgY291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBj b250b3VycyBieSB0aGVtc2VsdmVzIGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoK RmluYWxseSwgb25lIGNhbiB0cmVhdCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmlu ZyB0byB0aGUgZW5kIGFzIG9uZSBzaW5nbGUgcG9pbnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVu bWknJ19fIOKAnHgxIG1lZXRzIHgyIGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkg e2t1fSBjbydpIHtrdX0gcGVubWkgbG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBs aXR0bGUgd2hpbGUgYWdvLCBJIHdhcyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBh IEdlcm1hbiBwZXJzb27igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAo b3JkZXJzIGFuZCBxdWVzdGlvbnMpCgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGgg c3ludGF4IGhlYXZ5IExvamJhbiBnaXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBh Ym91dC4gRXNwZWNpYWxseSBiZWNhdXNlIGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4g U28gbGV0J3MgdHVybiB0byBzb21ldGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBx dWVzdGlvbnMuCgoKCldoYXQgdGhlLi4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0 aGUgd2F5IHRvIGV4cHJlc3Mgb3JkZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBz dWJqZWN0IG9mIHRoZSBjbGF1c2UsIHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3Ug SSB3YXMgc3BlYWtpbmcgdG8sIGFuZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5n IHRoZSBvYmxpZ2F0aW9uIHNvbWVvbmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFu Z3VhZ2UgdW5kZXJzdGFuZHMgdGhhdCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUg YWx3YXlzIGRpcmVjdGVkIHRvd2FyZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5k IHNvIHRoZSBzdWJqZWN0IGlzIG5vdCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhl IHN1YmplY3QgeWllbGRzICcnem8nZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5v dCBvcGVuIHRvIHVzLiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0 aGUgaW1wZXJhdGl2ZSBmb3JtIG9mICcnZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lz ZSwgaXQncyBlcXVpdmFsZW50IHRvICcnZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1h bnRpY3MsIHNpbmNlIGl0IHR1cm5zIGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBp bnRvIGFuIG9yZGVyLiDigJxEbyBzdWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5 b3U9JydrbycnIeKAnSBGb3IgdGhlIHNhbWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhlIHN1Ympl Y3QgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZl ZCBmcm9tIGFueSBvdGhlciBzdW10aSB0aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRl ciBvbmUgdG8gZ28gZmFyIGF3YXkgZm9yIGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMg dGhlIG9ubHkgc2VsYnJpPykKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xh bWF+fgoKKCcnLmkgemEnYSBkYWkgYSdvIG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5p IGtvIGppbXBlIHZhdSAudWknJykgLSBsb29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoK UXVlc3Rpb25zIGluIExvamJhbiBhcmUgdmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21l IGluIHR3byBraW5kczogRmlsbCBpbiB0aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9u cy4gTGV0J3MgYmVnaW4gd2l0aCB0aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdz IHByZXR0eSBvdmVyY29tZWFibGUsIHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcn eHUnJy4KCicneHUnJyB3b3JrcyBsaWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0 IGl0IGNhbiBnbyBhbnl3aGVyZSwgYW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3Jk IChvciBjb25zdHJ1Y3QpLiBJdCB0aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBx dWVzdGlvbiwgYXNraW5nIHdoZXRoZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFm ZmlybSwgeW91IHNpbXBseSByZXBlYXQgdGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycg JycuaSB2ZSd1IHpkYW5pIG1pJycsIG9yIHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwg d2hpY2ggaXMgdGhlIGJyaWRpIHdpdGggYWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDog Jyd6ZGFuaScnLgoKVGhlcmUgaXMgYW4gZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBi cmlrYSdpLCBidXQgdGhvc2UgYXJlIGEgdGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg 4oCcbm/igJ0gb3Ig4oCcZmFsc2XigJ0sIHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRp IG5lZ2F0ZWQuIFRoYXQgdG9vLCB3aWxsIGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCBy ZXR1cm4gdG8gcXVlc3Rpb24gYW5zd2VyaW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlz IGZpbGwgaW4gdGhlIGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0 byBiZSByZXBsYWNlZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3Jy ZWN0LiBUaGVyZSBhcmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQg eW91IGFyZSBhc2tpbmcgYWJvdXQ6CgpfXycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydt bycnX18gLSBzZWxicmkgcXVlc3Rpb24KCl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9f JydjdSdlJydfXyAtIHRlbnNlIHF1ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRv IGFzayBhYm91dCBhIHN1bXRpLCB5b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3Jk IHdoZXJlIHlvdSB3YW50IHlvdXIgYW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZv ciB0aGUgeDIgdG8gYmUgZmlsbGVkIHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3 aGF0IHRvIG1lP+KAnS4gVGhlIGNvbWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBp cyB2ZXJ5IHVzZWZ1bCBpbmRlZWQ6CgpfXycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVk IGJ5IHRoZSBhYnN0cmFjdGlvbiBvZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kg bWEnJyAtIOKAnE95LCB3aHkgZG8geW91IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVy IG9uZS4gVGhpcyB0aW1lLCB5b3UgdHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUg bW8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlv dSBiZWVuIGRvaW5nIGFsbCB0aGlzIGxvbmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5 LCBpdCBjb3VsZCBhbHNvIG1lYW4g4oCcd2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dl cmluZyB3aXRoICcnLnVhIG5haSBsaSdhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBp cyBqdXN0IGJlaW5nIGluY3JlZGlibHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0 b25lIG9mIHZvaWNlIG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhl ciBhIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRo ZSBxdWVzdGlvbiB3b3JkLiBUaGVyZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1v cmUgb24gd29yZHMgaW4gdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywg aXQncyB1c3VhbGx5IHdvcnRoIHRoZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28g dGhhdCB0aGUgcXVlc3Rpb24gd29yZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBu b3QgZmVhc2FibGUsICcncGF1JycgaXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBz ZW50ZW5jZSBpcyBhIHF1ZXN0aW9uLiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBt YXJrcyBhbnkgcXVlc3Rpb24gYXMgYmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9u IHRoZSB0b3BpYyBvZiBxdWVzdGlvbnMsIGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9u IHRoZSB3b3JkICcna2F1JycsIHdoaWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVz dGlvbuKAnS4gV2hhdCdzIGFuIGluZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEg bG9vayBhdCB0aGUgc2VudGVuY2U6ICcnbWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8n JyAtIOKAnEkga25vdyB3aGF0IGlzIHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g4oCceDEg a25vd3MgZmFjdChzKSB4MiBhcmUgdHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0K Ck9uZSBjYW4gdGhpbmsgaXQgYXMgdGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFu aSBkbycnLiBNb3JlIHJhcmVseSwgb25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0 aCAnJ2thdScnLCBpbiB3aGljaCBjYXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUg YW5zd2VyIHRvIGEgcXVlc3Rpb246ICcnbWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8n JyAtIOKAnEkga25vdyB3aGF0IHlvdSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoK CgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29y ZCBjbGFzc2VzKQoKQmFjayB0byBtb3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoK SWYgeW91IGhhdmVuJ3QgYWxyZWFkeSwgSSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBM b2piYW5pYyByZWNvcmRpbmcgY2FsbGVkICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBv ciBsaXN0ZW4gdG8gc29tZW9uZSBzcGVhayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFj dGljZSB5b3VyIHByb251bmNpYXRpb24uIEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24g aW4geW91ciBoZWFkIGluIExvamJhbiBpcyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwg dGhlIHdyb25nIHNvdW5kcywgYW5kIGxlYXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3cml0dGVu IHRleHQgaXMgaGFyZC4gVGhlcmVmb3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUg TG9qYmFuIHNvdW5kcywgaG93ZXZlciBpbXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hv cnQgaW50cm9kdWN0aW9uIHRvIHRoZSBMb2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3Jw aG9sb2d5PyBUaGUgd29yZCBpcyBkZXJpdmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1 ZHkgb2Ygc2hhcGVz4oCdLCBhbmQgaW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3 ZSBtYWtlIHdvcmRzIGZyb20gbGV0dGVycyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVkIHdpdGgg c3ludGF4IC0gaG93IHdlIG1ha2Ugc2VudGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRl cyB3aXRoIGRpZmZlcmVudCBtb3JwaG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFs bCBkZWZpbmVkIGJ5IHRoZWlyIG1vcnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5 c3RlbWF0aWMgdGhvdWdoLCB3b3JkcyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUg Z3JvdXBlZCBieSBtb3JwaG9sb2dpY2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1 ci4KCnx8ICAgQ2xhc3N8TWVhbmluZ3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdv cmRzOnwgICB8ICAgfCAgIAoKICAgQnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3Qg NSBsZXR0ZXJzIChleGNsdWRpbmcg4oCcIOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIu IEVuZHMgaW4gdm93ZWwuICAgfCAgIEFjdHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlz IGhhcyBhIHBsYWNlIHN0cnVjdHVyZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRl cnMgb2YgdGhlIGZvcm0gQ1ZDQ1Ygb3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxh Y2VzLiBDb3ZlcnMgYmFzaWMgY29uY2VwdHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4g RGVyaXZlZCBmcm9tIGZyb20g4oCcbHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKA nSB8ICAgTWluLiA2IGxldHRlcnMuIE1hZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdp dGggYmluZGluZyBsZXR0ZXJzIGlmIG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBj b25jZXB0cyB0aGFuIGdpc211LgoKICAgLS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxh LCBidXQgZG8gbm90IG1lZXQgZGVmaW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4 OiAnJ2FuZ2VsaScnICB8ICAgQ292ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBs YWNlcyBvciBvcmdhbmlzbXMuCgogICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBh bmQgZW5kaW5nIHdpdGggcGF1c2UgKGZ1bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEg Y29uc29uYW50LnwgICBBbHdheXMgYWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2Yg YSBxdW90ZS4KCiAgIENtYXZvfCAgIEdyYW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1l YW5pbmcg4oCcc21hbGwgd29yZOKAnXwgT25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQg dGhlIGJlZ2lubmluZy4gRW5kcyBpbiBhIHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9u cy4gVmFyaWVzCgogICBXb3JkLWZyYWdtZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4 fCAgQ0NWLCBDVkMsIENWJ1YsIC1DVkNDViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5v dCBhY3R1YWwgd29yZHMsIGJ1dCBjYW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2 byB8fAoKCgoKCl9fJydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVz ZSB0aGV5IGJlZ2luIGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3Rv cCBpbiB3cml0aW5nLCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEg Y2FuJ3QgaGF2ZSBhbnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBP biB0aGUgb3RoZXIgaGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVh ciBpbiBMb2piYW4gd2l0aG91dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0 YWluIHF1b3RlIHdvcmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBp dGFsaXppbmcgdGhlIGxldHRlcnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2 bGEgYXJlOiAnJy5pb2hBTi4nJyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycu bWF0LicnIChNYXR0KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hp Y2ggZG8gbm90IGVuZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2 eW4uJycgKEV2ZSksIG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAn Jy5pdi4nJwoKCgpfXycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJl Y2F1c2UgdGhleSBieSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFs bCBMb2piYW4gd29yZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhh cyBhbHNvIGdpdmVuIHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KA nS4gSXQncyBuZWFybHkgaW1wb3NzaWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQg YnJpdmxhLCBhbmQgYWxtb3N0IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4g Z3JhbW1hciAoYW5kIGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFu Z3VhZ2UpIGFyZSBjYXB0dXJlZCBieSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJp dmxhIGhhcyB0aHJlZSBzdWJjYXRlZ29yaWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qg d29yZHMgb2YgdGhlIGxhbmd1YWdlLiBPbmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBm ZXcgbmV3IG9uZXMgYXJlIGFkZGVkLiBUaGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRz IGxpa2Ug4oCcY2lyY2xl4oCdLCDigJxmcmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt 4oCdLiBFeGFtcGxlcyBpbmNsdWRlICcnemRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycK Cl9fJydsdWp2bycnX18gYXJlIG1hZGUgYnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFm c2kpLCByZXNwcmVzZW50aW5nIGdpc211LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dz IGRvd24gdGhlIG1lYW5pbmcgb2YgdGhlIHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJv cmF0ZSBhbGdvcml0aG0sIHNvIG1ha2luZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIg aW1wb3NzaWJsZSwgd2l0aCBmZXcgZXhjZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcn c2UgcHJhbWknJywgd2hpY2ggY2FuIG9ubHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwg bHVqdm8gYXJlIG1hZGUgb25jZSwgaXRzIHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhl biB0aGF0IGRlZmluaXRpb24gaXMgbWFkZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhh bXBsZXMgaW5jbHVkZSBicml2bGEgKGJyaWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1z b2NpYWxpemluZyA9IGZsaXJ0aW5nKSBhbmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBi ZWV0bGUpLgoKX18nJ2Z1J2l2bGEnJ19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGlj aCBmaXQgdGhlIGRlZmluaXRpb24gZm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lz bXUuIFRoZXkgdGVuZCB0byBjb3ZlciBjb25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIg YnkgbHVqdm8sIGZvciBpbnN0YW5jZSBuYW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkg Y3VsdHVyYWwgc3BlY2lmaWMgY29uY2VwdHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3Vy aW8nJyAoS29yZWEpICcnY2lkanJwaXRzYScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwp LgoKCgpfXycnY21hdm8nJ19fIGFyZSBzbWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNv bmFudHMuIFRoZXkgdGVuZCB0byBub3Qgc2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Ig d29ybGQsIGJ1dCB0byBoYXZlIG9ubHkgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMg b2NjdXIsIGFuZCBpdCdzIGRlYmF0YWJsZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZv ciB0aGVpciBncmFtbWF0aWNhbCBmdW5jdGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0 aGUgd29yZHMgb2YgdGhlIGNsYXNzIEdPaEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZh bGlkIHRvIHR5cGUgc2V2ZXJhbCBjbWF2byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRo ZXNlIGxlc3NvbnMsIHRoYXQgd29uJ3QgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2 byBpbiBmdW5jdGlvbmFsIHVuaXRzLCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8g cmVhZC4gVGh1cywgJycudWlwdXp1dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJz ZWQgYW5kIHVuZGVyc3Rvb2QgYXMgJycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBv dGhlciBMb2piYW4gd29yZHMsIG9uZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNl IGEgZnVsbCBzdG9wIGJlZm9yZSBhbnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNt YXZvIG9mIHRoZSBmb3JtIHhWViwgQ1YnVlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQg YXJlIHdvcmRzIHdoaWNoIGFyZSBub3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2gg aGF2ZSBiZWVuIGFkZGVkIGJ5IExvamJhbiB1c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBu ZWVkLgoKCgpfXycncmFmc2knJ19fIGFyZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVy IGFwcGVhciBhbG9uZS4gSG93ZXZlciwgc2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29t YmluZSB0byBmb3JtIGx1anZvLiBUaGVzZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZs YS1kZWZpbml0aW9uLCBmb3IgaW5zdGFuY2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2Ug aXQgZW5kcyBpbiBhIGNvbnNvbmFudCAod2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydj aSdla2VpJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25h bnQgY2x1c3RlciwgYW5kIGlzIHRodXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUg d29yZC4gT2Z0ZW4sIGEgMy00IGxldHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJh ZnNpLCBsaWtlICcnenUnZScnLCB3aGljaCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBm b3IgJyd6dWt0ZScnLiBOb3RlIHRoYXQgdGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2 byBhbmQgYSByYWZzaSB3b3VsZCBiZSBncmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25z aWRlcmVkIGhvbW9waG9uZXMuIEFsbCBnaXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5 IGFyZSBwcmVmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBv ZiBhIGdpc211IHN1ZmZpeGVkIHdpdGggYW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBp ZiB0aGV5IGFyZSBzdWZmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2Fu IG9ubHkgYXBwZWFyIGluIGx1anZvIG9yIGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJp bmF0aW9ucyBhcmU6IENWViwgQ1YnViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1D Q1ZDVi4KCgoKVXNpbmcgd2hhdCB5b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBh bnN3ZXIgdGhlIHRlc3QgaSB0aHVzIHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZv bGxvd2luZyB3b3JkcyBhcyBjbWV2bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdp dmxhJycgKGYpIG9yIGNtYXZvIChjKToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5p cmNpICAgICAgICBIICkgLmknaQoKQyApIGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4g ICAgICAgIEogKSBwbGFqdmEKCkUgKSBwbydlICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNr dSAgICAgICAgTCApIC5lcnRzYQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcs IGQtQywgZS1jLCBmLWwsIGctQywgaC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQg dGhlIGZ1bGwgc3RvcHMgYmVmb3JlIGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0 b28gZWFzeS4KCk5vdGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5v dCBleGlzdCBpbiB0aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1v cnBob2xvZ3kgc3RpbGwgbWFrZXMgaXQgYSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5l ZCBnaXNtdS4gU2ltaWxhcmx5IHdpdGggJycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiBmb3VydGVlbiAodGhlIExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5 b3UgaGF2ZSByZWFkIGFuZCB1bmRlcnN0b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29u cyB1bnRpbCBub3csIHlvdSBoYXZlIGFtYXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9m IExvamJhbiBzbyB0aGF0IGl0IGRvZXNuJ3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFy biB0aGUgcmVzdC4gQXMgYSByZXN1bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdp bGwgYmUgYSBtaXh0dXJlIG9mIHNvcnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNv cnRlZCBieSBpbXBvcnRhbmNlIGluIG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9u ZSBvZiB0aGUgYmlnZ2VzdCBjb25zdHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGlt aXRlZCBrbm93bGVkZ2Ugb24gaG93IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25v dyAnJ3RpJycgYW5kICcnbG8gU0VMQlJJJycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNv bnNpZGVyaW5nIGhvdyBpbXBvcnRhbnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24g YXMgd2VsbCBhcyB0aGUgZm9sbG93aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3Vt dGkuIEZvciBub3csIHdlIGZvY3VzIG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUg b25lcyBtYWRlIHdpdGggYXJ0aWNsZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2pi YW4gY2FsbGVkICcnZ2FkcmknJywgYW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBs ZXNzb24gYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAn J2xhIENNRVZMQScnLCAnJ2xhaSBDTUVWTEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxs IGJlZ2luIGJ5IGRlc2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1 bXRpLCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBs ZSBhZnRlciBhbGw6CgpfXycnbG8nJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8g aW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVz Y3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3 aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRy aTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21l dmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFy ZSBhbHJlYWR5IGZhbWlsaWFyIHdpdGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0 IGRvZXMgaXQgbWVhbiwg4oCcdmVyaWRpY2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0 byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzc+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFs cyBhbmQgbWFzc2VzLCBJJ2xsIGNvbWUgYmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRp Y2Fs4oCdIGluIHRoaXMgY29udGV4dCBtZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRv IHF1YWxpZnkgYmVnaW4gbGFiZWxsZWQgYXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFs bHkgJydrbGFtYScnLiBUaHVzLCB2ZXJpZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBt YXkgYmUgdHJ1ZSBvciBmYWxzZSAtIHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUg YWN0dWFsbHkgdGhlIHgxIG9mIHRoZSBzZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkg YmUgY29udHJhc3RlZCB3aXRoICcnbGUnJywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVz IG5vdCB2ZXJpZGljYWwuIFNheWluZyAnJ2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9u ZSBvciBtb3JlIHNwZWNpZmljIG9iamVjdHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJy aSAnJ2dlcmt1JycgdG8gZGVzY3JpYmUgaXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVu dGlmeSB0aG9zZSBzcGVjaWZpYyBvYmplY3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVz IHR3byBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5v dCByZWZlciB0byBvYmplY3RzIGluIGdlbmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNp ZmljIG9iamVjdHMuIFNlY29uZGx5LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBv bmUgb3IgbW9yZSBkb2dzLCAnJ2xlIGdlcmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2Fs LCBjYW4gYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNj cmlwdGlvbiB3aWxsIGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFw cyB0aGUgc3BlYWtlciBpcyByZWZlcnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxp YXIgd2l0aCB0aGVtIGFuZCB0aGluayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hp bWF0aW9uIHRvIGJlIHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBz IG92ZXItZW1waGFzaXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNj cmliZSBhIGRvZyBpcyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQg dW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1 YWxseSBwcmVzdW1lZCB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdl cmt1JycuCgpJbiB0cmFuc2xhdGlvbiwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2fi gJ0gb3Ig4oCcc29tZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KA nSBvciDigJx0aGUgZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBi ZSDigJx0aGUg4oCcZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dh ZHJpJycsIHRoZXJlIGlzICcnbGEnJywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2 ZSB1bmNvbnZlbnRpb25hbGx5IGNhbGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFu IGJ5IHRoaXMgaXMgdGhhdCBpdCdzIG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwg c2luY2UgaXQgcmVmZXJzIHRvIGEgcHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0 byBhIHBlcnNvbiBjYWxsZWQgSW5ub2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmli ZSBoZXIgYXMgYmVpbmcgaW5ub2NlbnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9u bHkgc3RhdGUgdGhhdCBieSBjb252ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBi eSB0aGF0IHNlbGJyaSBvciBjbWV2bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBk ZXJpdmVkIGZyb20gaXQgY2FuIGNvbnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3Ro ZXIgJydnYWRyaScnLiBBbHNvOiBCZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRp b24gdGhhdCBuYW1lcyBjYW4gYmUgZm9ybWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRo ZSBnYWRyaSAnJ2xhJycuIEJ1dCB0aG9zZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1l cyBhcmUgYXMgZ29vZCBhcyB0aGV5IGdldCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2 ZSB0aGVtLgoKJydsYScnLCBhcyB3ZWxsIGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJp dCBlY2NlbnRyaWMsIHNpbmNlIHRoZXkgX19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9m IGEgbmFtZS4gVW5saWtlIHRoZSBvdGhlciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3Jh bW1hdGljYWxseSBwbGFjZWQgYWZ0ZXIgJydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lk ZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBGb3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJt eSBkb2ciLCBidXQgJydsYSBtaSBnZXJrdScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoK CgpUaGVzZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUg bW9yZSwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAt IGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJl c3VsdCBhcyBtYXNzKGVzKS4KCl9fJydsZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9f JydsYWknJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZl cnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMp LgoKCgpUaGVzZSBhcmUgdGhlIHNhbWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRo ZXkgdHJlYXQgdGhlIHN1bXRpIGV4cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5 IG9uZSBvYmplY3QgaW4gcXVlc3Rpb24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0 aW5nIG9mIG9uZSBvYmplY3QgYXJlIGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4g dGhlc2UgdHdvIGNvbmNlcHRzIGxpZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRv IGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlk dWFscyBjYW4gYmUgc2FpZCB0byBmaXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYs IGFsbCBtZW1iZXJzIG9mIHRoZSBncm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3Jy ZWN0IHRvIGRlc2NyaWJlIGEgcGFjayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZp ZHVhbGx5LCBhcyBiZWluZyBibGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVl IHRoYXQgdGhleSBhcmUgYmxhY2suIEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25s eSB0aG9zZSBzZWxicmkgd2hpY2ggaXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEg dGVhbSwgc28gdG8gc3BlYWsuIEhvd2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJyds b2kgZ2Vya3UnJyBtdXN0IGJlIGRvZ3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGlj YWJsZS4gVGhlIG5vdGlvbiBvZiAibWFzc2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVp cmVzIHNvbWUgZXhhbXBsZXMgdG8gZGVtb25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4g aGF2ZToKCl9fJydzcnVyaScnX186IOKAnHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIg aW4gbGluZS9wbGFuZS9kaXJlY3Rpb25zIHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6 ZGFuaScnIC0g4oCcVGhlIHBlb3BsZSBzdXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2li bGUsIGV2ZW4gdGhvdWdoLCB5byBtb21hIGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBs ZXRlbHkgaW1wbGF1c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRo ZSBtZW1iZXJzIGFsb25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBk ZWZlYXRlZCBzbWFsbHBveCBpbiB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4g ZGlkIHNvLCBidXQgdGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNl bnRlbmNlIHRydWUgaW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z 4oCdIGFyZSBhIG1hc3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1h c3Mg4oCcaHVtYW5z4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hp Y2ggYXJlIGh1bWFuLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBh IGJpb2xvZ2ljYWwgY2VsbCBvZiBvcmdhbmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBh IGh1bWFuIgoKJydsb2kgbWl2eXNsZSBjdSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxz IGFyZSBodW1hbiIuIEFnYWluLCBub25lIG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwg dGhlIGNlbGxzIGhhdmUgdmVyeSBmZXcgaHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNp ZGVyZWQgYXMgYSB3aG9sZSBtYWtlcyB1cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcn bGVpJycsIHN1Y2ggYXMgJydsZWkgZ2Vya3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkg YSBncm91cCBvZiBzcGVjaWZpYyBpbmRpdmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtl ciByZWZlcnMgdG8gYXMgJydsZSBnZXJrdScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkg JydsYWknJyBhcmUgb25seSBhcHByb3ByaWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBu YW1lZCBzdWNoLCBhbmQgbm90IGp1c3QgaWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2Fu LCBob3dldmVyIGJlIHVzZWQgaWYgdGhlIGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlv biBvZiB0aGF0IGdyb3VwLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xv JycgYW5kICcnbGUnJyBjYW4gYmUgdXNlZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFu ZCBtYXNzZXMuIExldCdzIHNheSBhIHBhY2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3Mg bmVlZHMgZGVzY3JpcHRpb24uIEkgbWlnaHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdl cmt1Jycgb3IgJydsbyBnZXJrdScnLiBJZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRv IGNvcnJlY3RseSBzdGF0ZSBzb21ldGhpbmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rp b24sIGJ1dCByZWFsbHkgaXNuJ3Q6ICcnbG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3Mg YXJlIG5vdCBkb2dzIi4gU2luY2UgaXQncyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dz LCB0aGUgbWFueSBkb2dzIGNvbnNpZGVyZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCBy YXRoZXIgYSBwYWNrIG9mIGRvZ3MuCgpZb3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUg aXMgbm8gd29yZCB3aGljaCB1bmFtYmlndW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlk dWFsKHMpLiBJbiBvcmRlciB0byBiZSBleHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25l IG5lZWRzICcnbG8nJywgJydsZScnIG9yICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIu IFRoZSBzdWJqZWN0IG9mIHF1YW50aWZpZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4g bGVzc29uIHR3ZW50eS10d28uIFdoYXQgaXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJyds ZScnIHZhZ3VlLCBhbmQgbm90IGV4cGxpY2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0 aGVpciB2YWd1ZW5lc3MgZW5hYmxlcyB0aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdp dGhvdXQgdGhlIHNwZWFrZXIgaGF2aW5nIHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZl cyBhcyBhIG1hc3Mgb3IgYSBncm91cCBvZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBz ZXJpZXMsIHRoZXJlIGFyZSB0aHJlZSBzZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydp JydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRy ZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18n J2xhJ2knJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZl cnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoK CgpVbmxpa2UgZ3JvdXBzIG9mIGluZGl2aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0 cyBkb2VzIG5vdCB0YWtlIGFueSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZy b20gd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNh bCBvciBsb2dpY2FsIGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxp dHksIG1lbWJlcnNoaXAgYW5kIHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJl bmNlIGJldHdlZW4gYSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUg c2V0IGlzIGZvcm1lZDoKCl9fJyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2ph Z3VhciBvZiBzcGVjaWVzL2JyZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydp IHRpcnh1IGN1IGNtYWx1Jycgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJl IHNtYWxsICh3aGljaCBpcywgYnkgdGhlIHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3Rl YWQgc2F5IHRoYXQgdGhlIHNldCBvZiBiaWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJl IGFyZSBmZXcgb2YgdGhlbS4KCgoKTGFzdGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2Vu ZXJhbGl6aW5nICcnZ2FkcmknJzoKCl9fJydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBl IG9mICcnbG8ge3NlbGJyaX0nJy4KCl9fJydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmli ZWQvcGVyY2VpdmVkIGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVy ZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQg YnkgdGhlIGFyY2hldHlwZT8gRm9yICcnbG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1h Z2luZWQgYmlnIGNhdCwgd2hpY2ggaGFzIGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4 ZW1wbGlmaWVzIGJpZyBjYXRzLiBJdCB3b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGlu Y2x1ZGVzIGhhdmluZyBhIHN0cmlwZWQgZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdy b3VwIG9mIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3Ry aXBlZCBmdXIsIHRoZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlw aWNhbCBodW1hbiBkb2VzIG5vdCBsaXZlIGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVt YW5zIGRvLiBIb3dldmVyLCBpZiBzdWZmaWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0 LCBmb3IgaW5zdGFuY2UgYmVpbmcgYWJsZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtu ZScnX186IOKAnHgxIGlzIGNhcGFibGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3Rh bmNlIHgz4oCdCgonJ2xvJ2UgcmVtbmEgY3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0 eXBpY2FsIGh1bWFuIGJlaW5nIGNhbiBzcGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhl IGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBU aGlzIG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRl ZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNl IGhhdmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExv amJhbiBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNo ZXR5cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSBy ZW1uYScnIGlzIHRoZSBhcmNoZXR5cGUgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyBy ZW1uYScnLCB3aGlsZSB0aGUgYXJjaGV0eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZp ZXMgYWxsICcnbGUgcmVtbmEnJy4KCgoKVGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0 aGUgZGlhZ3JhbSBiZWxvdy4KCnx8IHxHZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoK dmVyaWRpY2FsfGxvfGxvaXxsbydpfGxvJ2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UK Ck5hbWV8bGF8bGFpfGxhJ2l8ZG9lcyBub3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVy ZSB3YXMgYSB3b3JkICcneG8nZScnIGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhl IHJ1bGVzIGFuZCBkZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAw NCwgYW5kIHRoZSBjdXJyZW50IHNldCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCc eG9ybG/igJ0gaGFzIHJlcGxhY2VkIHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmlj LCBhbmQgJyd4bydlJycgaXMgdXNlZCBhcyBhIGVsbGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5l dGVlbikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFu IHN1bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09oQTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkg dHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdo byBjYW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVhY2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdl cyB0aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5ndScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1 c2VkIGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3RyYWN0aW9uKeKAnQoKJydsZSdlIHByZW51IHBv aSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIGxlJ2UgcHJl bnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gbG8gYmFuZ3UgcG9p IGxvIHByZW51IHBvaSBrZSdhIHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHNlIGJhbmd1IGtlJ2En JwoKCgpXaGF0IHdlIHNlZSBpcyB0aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdl ciB0aGFuIHRoZSBFbmdsaXNoLiBUaGlzIGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwg cmlkaWN1bG91c2x5IGxvbmcgc3VtdGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMg aW4gdGhlIExvamJhbiB0ZXh0LCB3aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg 4oCcZWFjaCBvdGhlcuKAnSBhbmQg4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4g V291bGRuJ3QgaXQgYmUgY2xldmVyIGlmIExvamJhbiBzb21laG93IGhhZCBtZWNoYW5pc21zIGZv ciBkb2luZyB0aGUgc2FtZT8KCgoKSXQgdHVybnMgb3V0IGl0IGRvZXMsIHdoYXQgYSBzdXJwcmlz ZSEgTG9qYmFuIGhhcyBhIHJhbmdlIG9mIHdvcmRzIGNhbGxlZCAnJ3N1bWthJ2knJyBtZWFuaW5n IOKAnHN1bXRpLXJlcHJlc2VudGF0aXZlc+KAnS4gSW4gRW5nbGlzaCwgd2UgcmVmZXIgdG8gdGhl bSBhcyBwcm8tc3VtdGksIGJlY2F1c2UgdGhleSBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMg dGhlIEVuZ2xpc2ggcHJvbm91bnMsIGJ1dCB3aXRoIHN1bXRpIGluc3RlYWQgb2Ygbm91bnMuIElu IGZhY3QsIHlvdSBhbHJlYWR5IGtub3cgJyd0aScnLCAnJ2RvJycgYW5kICcnbWknJywgYnV0IHRo ZXJlIGFyZSBtYW55IG1vcmUsIHNvIGxldCdzIGdldCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQg dG8gcHV0IGl0IGludG8gc3lzdGVtLiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZh bWlsaWFyIHRvIEVuZ2xpc2gsIGFuZCB3aGF0IHlvdSd2ZSBhbHJlYWR5IGxlYXJuZWQ6CgoKCl9f Jyd0aScnX18gLSBzdW1rYSdpOiDigJxpbW1lZGlhdGUg4oCYaXQnOiByZXByZXNlbnRzIGEgc3Vt dGkgcGh5c2ljYWxseSBuZWFyIHRoZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vta2EnaTog 4oCcbmVhcmJ5IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHNvbWUgcGh5c2ljYWwgZGlzdGFu Y2UgZnJvbSB0aGUgc3BlYWtlciBPUiBjbG9zZSB0byB0aGUgbGlzdGVuZXLigJ0KCl9fJyd0dScn X18gLSBzdW1rYSdpOiDigJxkaXN0YW50IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNp Y2FsbHkgZmFyIGZyb20gdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci7igJ0KCgoKWW91IGNh biBhZ2FpbiByZWNvZ25pemUgdGhlIOKAnGksIGEsIHXigJ0tc2VxdWVuY2Ugd2hpY2ggcG9wcyB1 cCBvdmVyIGFuZCBvdmVyLiBTb21lIHRoaW5ncyBtaWdodCB0YWtlIHNvbWUgY2xlYXJpbmcgdXAs IHRob3VnaC4gRmlyc3RseSwgdGhlc2Ugc3VtdGkgY2FuIHJlcHJlc2VudCBhbnl0aGluZyB3aGlj aCBjYW4gYmUgc2FpZCB0byBvY2N1cHkgYSBwaHlzaWNhbCBzcGFjZS4gT2JqZWN0cywgY2VydGFp bmx5LiBJZGVhcywgY2VydGFpbmx5IG5vdC4gRXZlbnRzIGFyZSBhY2NlcHRlZCwgYnV0IG9ubHkg dG8gdGhlIGV4dGVudCB0aGV5IGFyZSByZXN0cmljdGVkIHRvIGEgc3BlY2lmaWMgcGxhY2UgLSB0 aGUgSmFzbWluIFJldm9sdXRpb24gY2Fubm90IGJlIHBvaW50ZWQgYXQsIGJ1dCBzb21lIGJhci1m aWdodCBvciBhIGtpc3MgbWlnaHQuIFNlY29uZGx5LCBub3RlIHRoYXQgdGhlIGRpc3RhbmNlIGlz IHJlbGF0aXZlIHRvIGRpZmZlcmVudCB0aGluZ3MgZm9yIHRoZSBkaWZmZXJlbnQgd29yZHM6ICcn dHUnJyBvbmx5IGFwcGxpZXMgaWYgaXQncyBkaXN0YW50IGZyb20gYm90aCB0aGUgc3BlYWtlciBh bmQgdGhlIGxpc3RlbmVyLiBJbiBjYXNlcyB3aGVyZSB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIg aXMgZmFyIGFwYXJ0IGFuZCB0aGUgbGlzdGVuZXIgY2Fubm90IHNlZSB0aGUgc3BlYWtlciB0YWxr aW5nLCAnJ3RhJycgcmVmZXJzIHRvIHNvbWV0aGluZyBjbG9zZSB0byB0aGUgbGlzdGVuZXIuIFRo aXJkbHksIGl0J3MgYWxsIHJlbGF0aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhy ZWUgd29yZHMgYXJlIGFsbCBwcm9ibGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5j ZSwgYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVu a25vd24gdG8gZWFjaCBvdGhlciwgYW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVy bW9yZSwgdGhlIGF1dGhvciBvZiBhIGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQg ZXhwcmVzcyB0aGUgcG9pbnRpbmcgaW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJp ZXMgY2FsbGVkIEtPaEEzLCB0byB3aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcna28nJywg YnV0IEkgd29uJ3Qgd3JpdGUgdGhhdCBoZXJlKSBiZWxvbmdzOgoKX18nJ21pJydfXyAtIHN1bWth J2k6IFRoZSBzcGVha2VyKHMpLgoKX18nJ21pJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2Yg dGhlIHNwZWFrZXIocykgYW5kIHRoZSBsaXN0ZW5lcihzKSAuCgpfXycnbWknYScnX18gLSBzdW1r YSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgb3RoZXJzLgoKX18nJ21hJ2EnJ19f IC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocyksIHRoZSBsaXN0ZW5lcihzKSBh bmQgb3RoZXJzLgoKX18nJ2RvJydfXyAtIHN1bWthJ2k6IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydk bydvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJz LgoKCgpUaGVzZSBzaXggc3Vta2EnaSBhcmUgbW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVs b3cgVmVubiBkaWFncmFtOgoKCgp7aW1nIGZpbGVJZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94W2dd In0KClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAoJydrbycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScn IGlzIG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0IGlzIHBv c3NpYmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0byBiZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9u ZSBzdGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUgYmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZv cmUsIHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21pJycsICcn bWknbycnLCAnJ21pJ2EnJyBvciAnJ21hJ2EnJywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMg aXMgcmVhbGx5IGp1c3QgJydtaScnLiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRv IG1vcmUgdGhhbiBvbmUgaW5kaXZpZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRp LWxvZ2ljLCB0aGUgYnJpZGkgJydtaSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0 bHkgZXF1aXZhbGVudCB0byAnJ2RvIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtl ciBBLCBhbmQgYXJlIGNvbnNpZGVyZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNr IHRvIHRoaXMgbGF0ZXIsIGluIHRoZSAnJ2JyaWthJ2knJyAocHJvLWJyaWRpKSBsZXNzb24uCgoK CkFsbCBvZiB0aGVzZSAnJ3N1bWthJ2knJyBhcmUgdmVyeSBjb250ZW50LXNwZWNpZmljLCBhbmQg Y2Fubm90IGJlIHVzZWQsIGZvciBpbnN0YW5jZSwgdG8gaGVscCB1cyB3aXRoIHRoZSBzZW50ZW5j ZSB3aGljaCB0aGlzIGxlc3NvbiBiZWdhbiB3aXRoLiBUaGUgZm9sbG93aW5nIHNlcmllcyBjYW4g aW4gcHJpbmNpcGxlIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW55IHN1bXRpOgoKX18nJ3JpJydfXyAt IHN1bWthJ2k6IOKAnExhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncmEnJ19fIC0gc3Vta2En aTog4oCcQSByZWNlbnQsIGJ1dCBub3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycn cnUnJ19fIC0gc3Vta2EnaTog4oCcQSBzdW10aSBtZW50aW9uZWQgbG9uZyBhZ2/igJ0KCgoKVGhl c2Ugc3VtdGkgd2lsbCByZWZlciB0byBhbnkgdGVybWluYXRlZCBzdW10aSBleGNlcHQgbW9zdCBv dGhlciAnJ3N1bWthJ2knJy4gVGhlIHJlYXNvbiB0aGF0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycg Y2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNv IGVhc3kgdG8ganVzdCByZXBlYXQgYnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUg cnVsZSBhcmUgJyd0aScnLCAnJ3RhJycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2 ZSBjaGFuZ2VkIHdoYXQgeW91IHBvaW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQg dGhlIHdvcmQuIFRoZXkgd2lsbCBvbmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0 aHVzIGNhbm5vdCwgZm9yIGluc3RhbmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0 aW9uIGlmIHRoZSB3b3JkIGluIGlzIHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtl J2EgcGVuZG8gbWkgY3UgZGppY2EgbG8gbnUgcmkgc2UgemRhbmknJyAtIGhlcmUgJydyaScnIGNh bm5vdCByZWZlciB0byB0aGUgYWJzdHJhdGlvbiwgc2luY2UgaXQgaXMgbm90IHRlcm1pbmF0ZWQs IG5vciB0byAnJ21pJycgb3IgJydrZSdhJycsIHNpbmNlIHRoZXkgYXJlIHN1bWthJ2ksIHNvIGl0 IHJlZmVycyB0byAnJ2xlIHBlbmRvJycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1k ZXBlbmRlbnQgaW4gd2hhdCB0aGV5IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVz IG1lbnRpb25lZCBhYm92ZSwgYW5kICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3Rh bnQgc3VtdGkgdGhhbiAnJ3JhJycsIHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAn J3JpJycuCgoKCicncmknJyBhbmQgaXQncyBicm90aGVycyBhcmUgcHJldHR5IHdlbGwgc3VpdGVk IGZvciBkZWFsaW5nIHdpdGggdGhlIG9yaWdpbmFsIHNlbnRlbmNlLiBUcnkgc2F5aW5nIGl0IHVz aW5nIHR3byBpbnN0YW5jZXMgb2YgJydzdW1rYSdpJychCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1 IHRhdmxhIHJ1IGxvIGJhbmd1IHBvaSBydSBjdSBzZSBiYW5ndSBrZSdhJycuICcncmknJyBpcyBu b3QgY29ycmVjdCwgYmVjYXVzZSBpdCByZWZlcnMgdG8gJydsYSAubG9qYmFuLicnLiAnJ3JhJycg Y291bGQgYmUgdXNlZCwgYnV0IGNvdWxkIGJlIG1pc3Rha2VubHkgYmUgdGhvdWdodCB0byByZWZl ciB0byAnJ2xvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uJycsIGJ1dCAnJ3J1JycgaXMgYXNzdW1l ZCB0byByZWZlciB0byB0aGUgbW9zdCBkaXN0YW50IHN1bXRpIC0gdGhlIG1vc3Qgb3V0ZXIgb25l Ln5+CgoKCkxhc3RseSwgdGhlcmUgYSBzdW10Y2l0YSB3aGljaCByZXByZXNlbnQgdXR0ZXJhbmNl czogU28gY2FsbGVkIHV0dGVyYW5jZSB2YXJpYWJsZXMuIFRoZXkgbmVlZCBub3QgYmUgcmVzdHJp Y3RlZCB0byBvbmUgc2VudGVuY2UgKGp1ZnJhKSwgYnV0IGNhbiBiZSBzZXZlcmFsIHNlbnRlbmNl cywgaWYgdGhlIGNvbnRleHQgYWxsb3dzIGl0OgoKX18nJ2RhJ3UnJ19fIFV0dGVyYW5jZSB2YXJp YWJsZTogUmVtb3RlIHBhc3Qgc2VudGVuY2UKCl9fJydkZSd1JydfXyBVdHRlcmFuY2UgdmFyaWFi bGU6IFJlY2VudCBzZW50ZW5jZQoKX18nJ2RpJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUHJl dmlvdXMgc2VudGVuY2UKCl9fJydkZWknJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogVGhpcyBzZW50 ZW5jZQoKX18nJ2RpJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBzZW50ZW5jZQoKX18n J2RlJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmVhciBmdXR1cmUgc2VudGVuY2UKCl9fJydk YSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBmdXR1cmUgc2VudGVuY2UKCl9fJydk bydpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxl OiDigJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSByZXByZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10 aSwgYW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tlbiB3b3JkcyBvciB0aGUgbGV0dGVycywgbm90 IHRvIHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoKCgpUaGVyZSBhcmUgbW9yZSBMb2piYW4gJydz dW1rYSdpJycsIGJ1dCBmb3Igbm93IHlvdSBwcm9iYWJseSBuZWVkIGEgYnJlYWsgZnJvbSB0aGVt LiBUaGUgbmV4dCBsZXNzb24gd2lsbCBiZSBvbiBkZXJpdmVkIHN1bXRpLCBzdW10aSBtYWRlIGZy b20gb3RoZXIgc3VtdGkuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzaXh0ZWVuICh0 aGUgTG9qYmFuIHN1bXRpIDM6IGRlcml2ZWQgc3VtdGkpCgpZb3UgY2FuIHByb2JhYmx5IHNlZSB0 aGF0IHRoZSBzdW10aSAnJ2xlIGJhbmd1IHBvaSBtaSBzZSBiYW5ndSBrZSdhJycgaXMgYSBsZXNz IHRoYW4gZWxlZ2FudCBleHByZXNzaW9uIGZvciDigJxteSBsYW5ndWFnZeKAnS4gVGhpcyBpcyBi ZWNhdXNlIGl0J3MgcmVhbGx5IGEgd29yayBhcm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVh ayBjYW4gYmUgc2FpZCB0byBmaWxsIGludG8gdGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1p JycuIFdlIGNhbid0IGNvbnZlcnQgdGhhdCB0byBhIHN1bXRpIHVzaW5nIGEgZ2Fkcmk6ICcnbGUg YmFuZ3Uge2t1fSBtaScnIGlzIHR3byBzdW10aSwgYmVjYXVzZSAnJ2Jhbmd1IG1pJycgaXMgYSBi cmlkaSwgbm90IGEgc2VsYnJpLiBOZWl0aGVyIGNhbiB3ZSBjb252ZXJ0IGl0IHVzaW5nICcnbGUg c3UndScnLCBiZWNhdXNlIHRoZSBzdSd1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFi c3RyYWN0aW9uLCBhbmQgdGhlICcnbGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMg YW4gYWJzdHJhY3Rpb24gc3VtdGkgbWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0 aGluZyBpcyBteSBsYW5ndWFnZeKAnS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3 aGljaCBiaW5kcyBjb25zdHJ1Y3RzIChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBz ZWxicmkuIFVzaW5nIGl0IGluIG9yZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21p IG5lbGNpIGJlIGRvJycsIHRoZSAnJ2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEg c3VtdGkgaXMgYm91bmQgdG8gYSBzZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkg b24gdGhlIHNlbGJyaSB3aXRob3V0IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1 IGJlIG1pJycgaXMgYSBjb3JyZWN0IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtl d2lzZSwgeW91IGNhbiBhdHRhY2ggYSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1 IGRvJyc6IOKAnFRoZSBldmVudCBvZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCd LiBOb3RlIHRoYXQgdGhlIHByZXNlbmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBw YXJzZSBkaWZmZXJlbnRseTogV2l0aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRh Y2hlcyB0byAnJ251JycsIHdpdGhvdXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydk YXJ4aScnLiBTbyBpdCBkZWNpZGVzIHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhp dHRpbmcsIG9yIHRoZSBldmVudCBvZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3Bl Y2lmaWMgY2FzZSwgdGhvdWdoLCB0aGF0J3MganVzdCBhYm91dCB0aGUgc2FtZSB0aGluZy4KCgoK V2hhdCBpZiBJIHdhbnQgdG8gYXR0YWNoIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmkgaW5zaWRl IGEgZ2Fkcmk/IOKAnFRoZSBnaXZlciBvZiB0aGUgYXBwbGUgdG8geW914oCdIGlzICcnbGUgZHVu ZGEgYmUgbG8gcGxpc2UgYmUgZG8nJywgcmlnaHQ/IE5vcGUuIFRoZSBzZWNvbmQgJydiZScnIGF0 dGFjaGVzIHRvIHRoZSBhcHBsZSwgbWVhbmluZyAnJ2xlIHBsaXNlIGJlIGRvJycgLSDigJxUaGUg YXBwbGUgb2YgdGhlIHN0cmFpbiBvZiB5b3XigJ0sIHdoaWNoIG1ha2VzIG5vIHNlbnNlLiBJbiBv cmRlciB0byBzdHJpbmcgc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSwgdGhlIGFsbCB0aGUgb25l cyBmb2xsb3dpbmcgdGhlIGZpcnN0IG11c3QgYmUgYm91bmQgd2l0aCAnJ2JlaScnLiBUaGUg4oCc YmluZGluZ+KAnSBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcnYmUnbycnIC0gb25lIGluc3RhbmNl IG9mICcnYmUnbycnIGZvciBlYWNoIHNlbGJyaSB3aGljaCBoYXMgc3VtdGkgYm91bmQgYnkgJydi ZScnLgoKVG8gbGlzdCB0aGVtOgoKX18nJ2JlJydfXyBiaW5kcyBzdW10aSBvciBzdW10Y2l0YSB0 byBzZWxicmkKCl9fJydiZWknJ19fIGJpbmRzIGEgc2Vjb25kLCB0aGlyZCwgZm91cnRoIChlY3Qp IHN1bXRpIG9yIHN1bXRjaXRhIHRvIGEgc2VsYnJpCgpfXycnYmUnbycnX18gZW5kcyBiaW5kaW5n IHRvIHNlbGJyaQoKCgpUaGVyZSBpcyBhbHNvIHdheXMgdG8gbG9vc2VseSBhc3NvY2lhdGUgYSBz dW10aSB3aXRoIGFub3RoZXIuICcncGUnJyBhbmQgJyduZScnIGZvciByZXN0cmljdGl2ZSBhbmQg bm9uLXJlc3RyaWN0aXZlIGFzc29jaWF0aW9uLiBBY3R1YWxseSwgJydsZSBiYW5ndSBwZSBtaScn IGlzIGEgYmV0dGVyIHRyYW5zbGF0aW9uIG9mIOKAnG15IGxhbmd1YWdl4oCdLCBzaW5jZSB0aGlz IHBocmFzZSwgbGlrZSB0aGUgRW5nbGlzaCwgaXMgdmFndWUgYXMgdG8gaG93IHRoZSB0d28gYXJl IGFzc29jaWF0ZWQgd2l0aCBlYWNoIG90aGVyLgoKJydwZScnIGFuZCAnJ25lJycgYXJlIHVzZWQg YXMgbG9vc2UgYXNzb2NpYXRpb24gb25seSwgbGlrZSBzYXlpbmcg4oCcbXkgY2hhaXLigJ0gYWJv dXQgYSBjaGFpciB3aGljaCB5b3Ugc2l0IG9uLiBJdCdzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBo YXMgc29tZXRoaW5nIGRvIHRvIHdpdGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBj YW4gYmUgZXN0YWJsaXNoZWQgd2l0aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlv biB1bmlxdWUgYW5kIGJpbmRpbmcgdG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3Ig YSBjYXIgdGhhdCB5b3UgYWN0dWFsbHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3Ig aXMgJydwbydlJycsIHdoaWNoIG1ha2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBi ZXR3ZWVuIHN1bXRpLCBtZWFuaW5nIHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhl IHR3byBzdW10aS4gU29tZSBleGFtcGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIg b3IgIm15IGhvbWUgY291bnRyeSI7IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBs b3N0IChldmVuIGlmIHlvdSBzYXcgb2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFy bSksIGFuZCBhcmUgdGhlcmVmb3JlIGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1l cyBhICcncG8nZScnIGlzIGFwcHJvcHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJp IGNvbnRhaW5zIHRoZSBvbmUgdG8gd2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScn IGlzIGJldHRlci4KCl9fJyduZScnX18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4g IndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVs YXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBw b3NzZXNpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycn cG8nZScnX18gaW5hbGllbmFibGUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4u LiIKCgoKQSB2ZXJ5IHVzZWZ1bCBjb25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRp fSB7c2VsYnJpfScnLiB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBl ICB7c3VtdGl9JycuIEZvciBpbnN0YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0 byAnJ2xlIGdlcmt1IHBlIG1pJycuIE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGlu c2lkZSBkZXNjcmlwdGlvbiBzdW10aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkg a3UgZ2Vya3UnJywgPSAnJ2xlIGdlcmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRo ZSBkb2cgb2YgdGhlIG1hbiBJJ20gZmxpcnRpbmcgd2l0aOKAnSwgYnV0IHRoYXQncyBub3QgdmVy eSBlYXN5IHRvIHJlYWQgKG9yIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4pLCBhbmQgaXMgb2Z0 ZW4gYmVpbmcgYXZvaWRlZC4KCgoKT25lIG5lZWQgYWxzbyB0byBsZWFybiAnJ3R1J2EnJywgc2lu Y2UgaXQgd2lsbCBtYWtlIGEgbG90IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMg YSBzdW10aSBhbmQgY29udmVydHMgaXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwg YWJzdHJhY3Rpb24gd2hpY2ggaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10 aS4gRm9yIGV4YW1wbGUsIEkgY291bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8g cGxpc2UnJywgb3IgSSBjb3VsZCBsZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0 aW9uIGFib3V0IHRoZSBhcHBsZSBJIGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamljYSB0dSdh IGxvIHBsaXNlJycuIE9uZSBhbHdheXMgaGFzIHRvIGd1ZXNzIHdoYXQgYWJzdHJhY3Rpb24gdGhl IHNwZWFrZXIgbWVhbnMgYnkgJyd0dSdhIFNVTVRJJycsIHNvIGl0IHNob3VsZCBvbmx5IGJlIHVz ZWQgd2hlbiBjb250ZXh0IG1ha2VzIGl0IGVhc3kgdG8gZ3Vlc3MuIEFub3RoZXIgZXhhbXBsZToK Cl9fJydnYXNudScnX18g4oCceDEgZG9lcy9icmluZ3MgYWJvdXQgeDIgKHZvbGl0aW9uIG5vdCBp bXBsaWVkKeKAnQoKJyd6YSdhIGRvIGdhc251IHR1J2EgbG8gc2thbWknJyAtIOKAnEkgc2VlIHRo YXQgeW91IG1ha2UgdGhlIGNvbXB1dGVyIGRvIHNvbWV0aGluZ+KAnS4gT2ZmaWNpYWxseSwgJyd0 dSdhIFNVTVRJJycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZScnLiBWYWd1 ZSwgYnV0IHVzZWZ1bC4gVGhlcmUgYXJlIHNpdHVhdGlvbnMgd2hlcmUgeW91IGNhbm5vdCB1c2Ug Jyd0dSdhJycsIGV2ZW4gdGhvdWdoIGl0IHdvdWxkIHNlZW0gc3VpdGFibGUuIFRoZXNlIHNpdHVh dGlvbnMgYXJlIHdoZW4gSSBkb24ndCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8gYmUgYW4g YWJzdHJhY3Rpb24sIGJ1dCBhIGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9uZSBjYW4g dXNlICcnem8nZSBwZScnLgoKX18nJ3R1J2EnJ19fIGNvbnZlcnQgc3VtdGkgdG8gdmFndWUgYWJz dHJhY3Rpb24gaW52b2x2aW5nIHRoZSBzdW10aS4gRXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VN VEkgY28nZSBrZWkga3UnJwoKCgpGaW5hbGx5LCBvbmUga2luZCBvZiBzdW10aSBjYW4gYmUgdHVy bmVkIGludG8gYW5vdGhlciBieSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIExBaEUuCgpfXycnbHUn YScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZp ZHVhbHMuCgpfXycnbHUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5j ZS9zZXQgdG8gYSBzZXQuCgpfXycnbHUnbycnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFz cy9zZXF1ZW5jZS9zZXQgdG8gbWFzcy4KCl9fJyd2dSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVh bChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0 ZWQuCgpUaGUgdXNlIG9mIHRoZXNlIHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2lu ZyB0aGVtIGJlZm9yZSBhIHN1bXRpIG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRp IG9mIGEgbmV3IHR5cGUuIE5vdGljZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Yg c3VtdGksIGEgc2VxdWVuY2UgaGFzIGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2 ZXJ5IG9mdGVuIChpdCBkb2Vzbid0IGhhdmUgaXRzIG93biBnYWRyaSwgZm9yIGluc3RhbmNlKSwg YnV0IGp1c3QgaW5jbHVkZWQgaGVyZSBmb3IgY29tcGxldGlvbi4KClRoZSBsYXN0IHR3byBtZW1i ZXJzIG9mIExBaEUgZG8gbm90IGNvbnZlcnQgYmV0d2VlbiB0eXBlcyBvZiBzdW10aSwgYnV0IGFs bG93cyB5b3UgdG8gc3BlYWsgb2YgYSBhIHN1bXRpIGJ5IG9ubHkgbWVudGlvbmluZyBzb21ldGhp bmcgd2hpY2ggcmVmZXJlbmNlcyB0byBpdDoKCklmIG9uZSBzdW10aSBBIHJlZmVycyB0byBhIHN1 bXRpIEIsIGZvciBpbnN0YW5jZSBiZWNhdXNlIHN1bXRpIEEgaXMgYSB0aXRsZSBvZiBhIGJvb2ss IG9yIGEgbmFtZSwgb3IgYSBzZW50ZW5jZSAod2hpY2ggYWx3YXlzIHJlZmVyIHRvIHNvbWV0aGlu ZywgYXQgbGVhc3QgYSBicmlkaSksIOKAmCdsYSdlIFNVTVRJIEEnJyByZWZlcnMgdG8gc3VtdGkg Qi4gRm9yIGluc3RhbmNlLCDigJgnbWkgbmVsY2kgbGEnZSBkaSd1JycgZm9yIOKAnEkgbGlrZSB3 aGF0IHlvdSBqdXN0IHNhaWTigJ0gKG5vdCAnJ21pIG5lbGNpIGRpJ3UnJyB3aGljaCBqdXN0IG1l YW5zICJJIGxpa2UgeW91ciBwcmV2aW91cyBzZW50ZW5jZSIpIG9yIOKAmCdsYSdlIGxlIGNtYWx1 IG5vbHRydScnIGZvciB0aGUgYm9vayDigJxUaGUgTGl0dGxlIFByaW5jZeKAnSwgYW5kIG5vdCBz b21lIGxpdHRsZSBwcmluY2UgaGltc2VsZi4gVGhlIGNtYXZvIOKAmCdsdSdlJycgZG9lcyB0aGUg ZXhhY3QgcmV2ZXJzZSDigJMg4oCYJ2x1J2UgU1VNVEknJyByZWZlcnMgdG8gYW4gb2JqZWN0IHdo aWNoIHJlZmVycyB0byB0aGUgc3VtdGkuIAoKX18nJ2xhJ2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJl ZmVycmVkIHRvIGJ54oCdIC0gZXh0cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNo IHJlZmVycyB0byBBLiAKCl9fJydsdSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJpbmcgdG/i gJ0gLSBleHRyYWN0cyBhIHN1bXRpIEIgZnJvbSBhIHN1bXRpIEEsIHdoZW4gQiByZWZlcnMgdG8g QS4KCgoKCgohISFFbmQgb2YgcGFydCBvbmUKCkR1ZSB0byB0aGUgaW1wcmFjdGljYWxseSBsYXJn ZSBzaXplIG9mIHRoZXNlIGxlc3NvbnMsIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGluc3RhbGxtZW50 IGNhbiBiZSBmb3VuZCBvbiBwYWdlcyBkZWRpY2F0ZWQgdG8gKCh3YXZlbGVzc29uc2NvbnRpbnVl ZHAyfHRoZSBmb3JtZXIpKSBhbmQgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZSBsYXR0ZXIp KS4gTm8gd29ycmllcywgdGhvdWdoLCBjbGlja2luZyBvbiAidGhlIGZvcm1lciIgb3IgInRoZSBs YXR0ZXIiIHdpbGwgdGFrZSB5b3UgdGhlcmUgcGFpbmxlc3NseS4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QK V2lraWNoYW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlz dGluZm8vd2lraWNoYW5nZXMK