Received: from localhost ([::1]:58746 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UTnHd-000298-BS; Sat, 20 Apr 2013 22:57:53 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:50953 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UTnHS-000292-Pc for wikichanges@lojban.org; Sat, 20 Apr 2013 22:57:50 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 20 Apr 2013 22:57:42 -0700 From: "Apache" Date: Sat, 20 Apr 2013 22:57:42 -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 05:57 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 ---- ---------------------- -------------------------------------------------- 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 Content-Length: 157693 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMDU6 NTcgVVRDCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9NTkmbmV3dmVyPTYwCgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0 ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA2Ny03 MSBjaGFuZ2VkIHRvICtMaW5lczogNjctNzEgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVy eSBwcmVjaXNlIGFib3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1l cyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5k IGZvciBhbm90aGVyLiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBw cm9udW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlv buKAlHRoZSBnZW5lcmFsIHByaW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcg YXMgaXQgZG9lc24ndCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhh bXBsZSwgTG9qYmFuIHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlz aCwgU2NvdHRpc2ggb3IgRnJlbmNoLgpUd28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2YsIHRob3Vn aCwgYXJlIHByb25vdW5jaW5nIExvamJhbiBpIGFuZCB1IGxpa2UgU3RhbmRhcmQgQnJpdGlzaCBF bmdsaXNoICcnaGl0JycgYW5kICcnYnV0JycgKE5vcnRoZXJuIEVuZ2xpc2ggJydidXQnJyBpcyBm aW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxhcmx5IHRo ZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUgd2hvIGZp bmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2JsZW1zIHNw aXR0aW5nIG91dCB0aGUgemQgaW4gemRhbmkgKGhvdXNlKSwgeW91IGNhbiBzYXkgesmqZGFuaeKA lHdoZXJlIHRoZSAnJ8mqJycgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAnJ2knJyBoYXMg dG8gYmUgbG9uZy4KLSAhISEhTG9qYmFuIE5hbWVzIChjbWVuZSkKKyAhISEhTG9qYmFuIE5hbWVz IChjbWV2bGEpCldhdGNoIGFueSBmaWxtIHdoZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3Ro ZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBvZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRh cnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBhIHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJh biBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uCl9fJydtaSdlIC5yb2Jpbi4nJ19fCgorLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGlu ZXM6IDc5LTgzIGNoYW5nZWQgdG8gK0xpbmVzOiA3OS04MyBAQAorLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwoKWW91IHNob3VsZCBhbHNv IHB1dCBhIGZ1bGwgc3RvcCBpbiBiZXR3ZWVuIGEgcGVyc29uJ3MgZmlyc3QgYW5kIGxhc3QgbmFt ZXMgKHRob3VnaCBpdCdzIG5vdCBjb21wdWxzb3J5KSwgc28gJydKaW0gSm9uZXMnJyBiZWNvbWVz ICcnZGppbS5kam9uei4nJy4KLSBBbiBpbXBvcnRhbnQgcnVsZSBmb3IgTG9qYmFuaXNpbmcgbmFt ZXMgaXMgdGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWVuZSAoTG9qYmFuIG5hbWUpIG11c3Qg YmUgYSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHByZXZlbnQgY29uZnVzaW9uIGFzIHRv IHdoZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQgaXMgbm90IGEgbmFtZSAoYWxsIG90 aGVyIExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkgdXNlICcncycnIGZv ciB0aGlzOyBzbyBpbiBMb2piYW4sICcnTWFyeScnIGJlY29tZXMgLm1lcmlzLiAsICcnSm9lJycg YmVjb21lcyAuZGpvcy4gYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0byBsZWF2ZSBvdXQg dGhlIGxhc3Qgdm93ZWwsIHNvICcnTWFyeScnIHdvdWxkIGJlY29tZSAubWVyLiBvciAubWVpci4u CisgQW4gaW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxh c3QgbGV0dGVyIG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4g QWdhaW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVu ZHMsIGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRz IGVuZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExv amJhbiwgJydNYXJ5JycgYmVjb21lcyAubWVyaXMuICwgJydKb2UnJyBiZWNvbWVzIC5kam9zLiBh bmQgc28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwg c28gJydNYXJ5Jycgd291bGQgYmVjb21lIC5tZXIuIG9yIC5tZWlyLi4KClRoZSBmaW5hbCBwb2lu dCBpcyBzdHJlc3MuIEFzIHdlJ3ZlIHNlZW4sIExvamJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24g dGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBhbmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3Ry ZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2gg YW5kIEZyZW5jaCBuYW1lcyAnJ1JvYmVydCcnIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJh bjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAnJy5yb2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAnJy5y YWIscnQuJycgaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgJycu cm9CRVIuJycuCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKwpAQCAtTGluZXM6IDE2Ni0xNzAgY2hhbmdlZCB0byArTGluZXM6IDE2Ni0x NzAgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSsKI35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5Z29ybmlzLnVpdnly Ln5+CiN+fmdyYXksZ3JheToucml0Y3lyZC5uaWtzeW4ufn4KLSAjfn5ncmF5LGdyYXk6LmlzdGFu QlVMLiB3aXRoIEVuZ2xpc2ggc3RyZXNzLCAuSVN0YW5idWwuIHdpdGggQW1lcmljYW4sIC5pc3Rh bmJ1bC4gd2l0aCBUdXJraXNoLiBMb2piYW5pc3RzIGdlbmVyYWxseSBwcmVmZXIgdG8gYmFzZSBj bWVuZSBvbiBsb2NhbCBwcm9udW5jaWF0aW9uLCBidXQgdGhpcyBpcyBub3QgYW4gYWJzb2x1dGUg cnVsZS5+fgorICN+fmdyYXksZ3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5J U3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlz dHMgZ2VuZXJhbGx5IHByZWZlciB0byBiYXNlIGNtZXZsYSBvbiBsb2NhbCBwcm9udW5jaWF0aW9u LCBidXQgdGhpcyBpcyBub3QgYW4gYWJzb2x1dGUgcnVsZS5+fgojfn5ncmF5LGdyYXk6Lm1hRFJJ RC5+fgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAxNzItMTc3IGNoYW5n ZWQgdG8gK0xpbmVzOiAxNzItMTc3IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiEhISFMb2piYW4gd29yZHMgYXMgbmFtZXMKQnkg bm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZl ciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFu IChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxl dGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFu c2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRo ZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBl eHBlY3QgdGhlICcnd2FzaWNodScnIHRvIGJlIGFibGUgdG8gcHJvbm91bmNlIHdvcmRzIGluIExh a290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhCi0gQWxsIExvamJhbiB3b3JkcyAoYXMgb3Bwb3Nl ZCB0byBjbWVuZSkgZW5kIGluIGEgdm93ZWwsIGFuZCBhbHRob3VnaCB5b3UgJydjYW4nJyB1c2Ug dGhlbSBhcyBuYW1lcyBhcyB0aGV5IHN0YW5kLCBpdCdzIGNvbW1vbiB0byBsZWF2ZSBvdXQgdGhl IGZpbmFsIHZvd2VsIHRvIG1ha2UgaXQgYWJzb2x1dGVseSBjbGVhciB0aGF0IHRoaXMgaXMgYSBu YW1lIGFuZCBub3Qgc29tZXRoaW5nIGVsc2UgKExvamJhbiBnb2VzIGZvciBvdmVya2lsbCB3aGVu IGl0IGNvbWVzIHRvIHBvc3NpYmxlIG1pc3VuZGVyc3RhbmRpbmcpLiBTbyBpZiB5b3VyIG5hbWUg b3Igbmlja25hbWUgaXMgJydDYXQnJyAoTG9qYmFuIG1sYXR1KSwgeW91IGNhbiBlaXRoZXIgYWRk IHMgbGlrZSBhIG5vcm1hbCBjbWVuZSB0byBtYWtlIC5tbGF0dXMuLCBvciBqdXN0IGNob3AgdGhl IGVuZCBvZmYgYW5kIGNhbGwgeW91cnNlbGYgLm1sYXQuIC48YnIgLz5IZXJlIGFyZSBhIGZldyBl eGFtcGxlczoKKyBMb2piYW4gd29yZHMgKGV4Y2VwdCBjbWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZ b3UgY2FuIHVzZSBsb2piYW4gd29yZHMgYXMgbmFtZXMgdG9vLiBCdXQgaWYgeW91IHByZWZlciB0 aGF0IHlvdXIgbmFtZSBpcyBhIGNtZXZsYSBhbmQgaXQgZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91 IGNhbiBlaXRoZXIgYWRkIGEgY29uc29uYW50IHRvIHRoZSBlbmQgb2YgaXQgb3IganVzdCBjaG9w IHRoZSBlbmQgdm93ZWwgb2ZmLjxiciAvPkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzIChvcmlnaW5h bCBuYW1lLCBtZWFuaW5nLCBuYW1lIGFuZCBuYW1lIGFzIGNtZXZsYSk6CipGaXNoIOKAkyBmaW5w ZSDigJMgLmZpbnAuCipCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIpIOKAkyBjcmliZSDigJMg LmNyaWIuCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKwpAQCAtTGluZXM6IDE3OS0xODMgY2hhbmdlZCB0byArTGluZXM6IDE3OS0xODIg QEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKKk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkg4oCTIG1lbGJpIOKAkyAubWVsYi4K KkF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSDigJMgbHVucmEgbm9ibGkgKD0gbHVybm9ibGkp IOKAkyAubHVybm9ibGlzLgotIAohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gb25lIChicmlk aSwganVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCkEgJydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRy YWwgdW5pdCBvZiBMb2piYW4gdXR0ZXJhbmNlcy4gVGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0 byB3aGF0IHdlIGNhbGwgYSBwcm9wb3NpdGlvbiBpbiBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xh aW0gdGhhdCBzb21lIG9iamVjdHMgc3RhbmQgaW4gYSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBv ciB0aGF0IGFuIG9iamVjdCBoYXMgc29tZSBwcm9wZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJh c3QgdG8gJydqdWZyYScnLCB3aGljaCBhcmUgbWVyZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGlj aCBjYW4gYmUgYnJpZGkgb3IgYW55dGhpbmcgZWxzZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIGEgYnJpZGkgYW5kIGEganVmcmEgaXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5l Y2Vzc2FyaWx5IHN0YXRlIGFueXRoaW5nLCB3aGlsZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJp ZGkgbWlnaHQgYmUgdHJ1ZSBvciBmYWxzZSwgd2hpbGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2Fp ZCB0byBiZSBzdWNoLgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4K KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKCiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZDoKCiEhIU1hZGUgYnkgbGEga2xha3Ug d2l0aCBoZWxwIGZyb20gdmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBs YSAua3JpYmFjci4gU3ByaW5nIDIwMTMuCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB6 ZXJvOiBGb3Jld29yZAoKVGhlc2UgbGVzc29ucyBhcmUgYW4gYXR0ZW1wdCB0byBleHBhbmQgb24g dGhlIEdvb2dsZSBXYXZlIExlc3NvbnMsIGFuIGV4Y2VsbGVudCBMb2piYW4gdHV0b3JpYWwgYnkg a3JpYmFjciwgeGFsYm8sIGFuZCBvdGhlcnMsIHdoaWNoIHNhZGx5IG9ubHkgY292ZXJlZCB0aGUg Zmlyc3QgZm91ciBjaGFwdGVycyBpbiB0aGlzIHR1dG9yaWFsLiBJdCBpbXBsZW1lbnRzIHRoZSBu ZXdlc3QgcnVsZXMgb2YgTG9qYmFuIG5vdCBjb3ZlcmVkIGJ5IG9sZGVyIG1hdGVyaWFscyBzdWNo IGFzIFdoYXQgaXMgTG9qYmFuPyBhbmQgTG9qYmFuIGZvciBCZWdpbm5lcnMuCgoKCklmIHlvdSBh cmUgbmV3IHRvIExvamJhbiwgSSByZWNvbW1lbmQgbGlzdGVuaW5nIHRvIGFueSByZWNvcmRpbmdz IHlvdSBjYW4gZmluZCBvZiBzcG9rZW4gTG9qYmFuIGJvdGggYmVmb3JlIGFuZCB3aGlsZSB5b3Ug YXJlIHRha2luZyB0aGlzIHR1dG9yaWFsLCBpbiBvcmRlciB0byBtYWtlIHlvdXJzZWxmIGZhbWls aWFyIHdpdGggdGhlIHNvdW5kcyBhbmQgd29yZHMgb2YgdGhlIGxhbmd1YWdlfnRjfiwgd2hpY2gg d2lsbCBub3QgYmUgZXhwbGFpbmVkIGhlcmV+L3Rjfi4gRnVydGhlcm1vcmUsIHRyeSB0byBzYXkg dGhlIHRoaW5ncyB5b3UgcmVhZCBpbiBMb2piYW4gYWNjZW50IGlmIGl0J3MgcmVhc29uYWJseSBw cmFjdGljYWwuIFRoaXMgY2FuIGhlbHAgeW91ciBwcm9udW5jaWF0aW9uIGEgbG90LgoKCgpXaGVu IHRha2luZyB0aGlzIHR1dG9yaWFsLCBpdCdzIGJlc3QgdG8gcGF1c2UgYmV0d2VlbiBsZXNzb25z IGluIG9yZGVyIHRvIGludGVybmFsaXplIHdoYXQgeW91IGhhdmUgbGVhcm50LiBJIGhhdmUgYXR0 ZW1wdGVkIHRvIGJ1aWxkIHRoZXNlIGxlc3NvbnMgZnJvbSB0aGUgYm90dG9tIHVwIGFuZCBleGNs dWRlIGFueSB3b3JkcyBvciBjb25jZXB0cyB0aGF0IGhhdmUgbm90IGJlZW4gZXhwbGFpbmVkIGlu IHByZXZpb3VzIGxlc3NvbnMuIE9uY2UgZXhwbGFpbmVkLCB0aGV5IGFyZSB1c2VkIGZyZWVseSB0 aHJvdWdob3V0IHRoZSByZW1haW5kZXIgb2YgdGhlIHR1dG9yaWFsLiBJIHVyZ2UgcmVhZGVycyBu b3QgdG8gcGFzcyBhbnkgbWlzdW5kZXJzdG9vZCBjb250ZW50OyBpZiB5b3UgaGF2ZSBxdWVzdGlv bnMgb3IgYXJlIHVuY2VydGFpbiBhYm91dCBzb21ldGhpbmcsIGZlZWwgZnJlZSB0byBhc2sgdGhl IExvamJhbiBjb21tdW5pdHksIHdoaWNoIGNhbiBiZSBmb3VuZCBpbiAjbG9qYmFuIG9uIHRoZSBG cmVlbm9kZSBJUkMgbmV0d29yay4gVGhleSB3aWxsIGJlIGhhcHB5IHRvIGhlbHAuCgoKCkluIHRo aXMgdHV0b3JpYWwsIExvamJhbiB0ZXh0IGlzIHdyaXR0ZW4gaW4gJydpdGFsaWNzJycuIExhdGVy LCB3aGVuIHVzZWQgYXMgTG9qYmFuIGxvYW53b3JkcyBpbiBFbmdsaXNoIHNlbnRlbmNlcywgdGhl eSBhcmUgbm90IG1hcmtlZC4gQW5zd2VycyB0byBleGVyY2lzZXMgYXJlIGRpc3BsYXllZCBhcyBh IGdyZXkgYmFyLiBIaWdobGlnaHQgdGhlIHRleHQgaW4gb3JkZXIgdG8gc2VlIGl0LgoKCgpMYXN0 bHksIEkgaGF2ZSBhcyBmYXIgYXMgcG9zc2libGUgYXR0ZW1wdGVkIHRvIHVzZSB0aGUgTG9qYmFu IHdvcmRzIGZvciBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzOiAnJ3N1bWthJ2knJyBpbnN0ZWFkIG9m IHByby1zdW10aSwgJydzdW10Y2l0YScnIGluc3RlYWQgb2YgbW9kYWwgYW5kICcnanVmcmEnJyBp bnN0ZWFkIG9mIHV0dGVyYW5jZS4gVGhpcyBpcyBiZWNhdXNlIEkgZmVlbCB0aGUgRW5nbGlzaCB3 b3JkcyBhcmUgb2Z0ZW4gZWl0aGVyIGFyYml0cmFyeSwgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSBq dXN0IG1vcmUgd29yZHMgdG8gbGVhcm4sIG9yIG1pc2xlYWRpbmcsIGluIHdoaWNoIGNhc2UgdGhl eSBhcmUgd29yc2UgdGhhbiB1c2VsZXNzLiBJbiBlaXRoZXIgY2FzZSwgYXMgbG9uZyBhcyB0aGUg d29yZHMgYXJlIHNwZWNpZmljIHRvIHRob3NlIHdobyBhcmUgbGVhcm5pbmcgTG9qYmFuIGFueXdh eSwgdGhlcmUgaXMgbm8gcmVhc29uIGZvciB0aGVtIHRvIGV4aXN0IGFzIHNlcGFyYXRlIEVuZ2xp c2ggd29yZHMuCgoKCiEhIVByZWZhY2UuIFNvdW5kcwoKVGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVk IHRvIGRvIHdoZW4geW91IGxlYXJuIGEgZm9yZWlnbiBsYW5ndWFnZSBpcyB0byBiZWNvbWUgZmFt aWxpYXIgd2l0aCB0aGUgc291bmRzIG9mIHRoZSBsYW5ndWFnZSBhbmQgaG93IHRoZXkgYXJlIHdy aXR0ZW4sIGFuZCB0aGUgc2FtZSBnb2VzIGZvciBMb2piYW4uIEZvcnR1bmF0ZWx5LCBMb2piYW4g c291bmRzIChfX3Bob25lbWVzX18pIGFyZSBmYWlybHkgc3RyYWlnaHRmb3J3YXJkLgoKISEhIVZv d2VscwoKVGhlcmUgYXJlIHNpeCB2b3dlbHMgaW4gTG9qYmFuLgoKCgp8fGEgfGFzIGluICcnZl9f YV9fdGhlcicnIChub3QgYXMgaW4gJydoX19hX190JycpCgplIHxhcyBpbiAnJ2dfX2VfX3QnJwoK aSB8YXMgaW4gJydtYWNoX19pX19uZScnIG9yIChJdGFsaWFuKSAnJ3ZfX2lfX25vJycgKG5vdCBh cyBpbiAnJ2hfX2lfX3QnJykKCm8gfGFzIGluICcnYl9fb19fbGQgJydvciAnJ21fX29fX3JlJyfi gJRub3QgYXMgaW4gJydzX19vJydfXyAodGhpcyBzaG91bGQgYmUgYSAncHVyZScgc291bmQuKQoK dSB8YXMgaW4gJydjX19vb19fbCcnIChub3QgYXMgaW4gJydiX191X190JycpIHx8CgpUaGVzZSBh cmUgcHJldHR5IG11Y2ggdGhlIHNhbWUgYXMgdm93ZWxzIGluIEl0YWxpYW4gb3IgU3BhbmlzaC4g VGhlIHNpeHRoIHZvd2VsLCB5LCBpcyBjYWxsZWQgYSBfX3NjaHdhX18gaW4gdGhlIGxhbmd1YWdl IHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBmaXJzdCBhbmQgbGFzdCAnJ0EnJydz IGluICcnQW1lcmljYScnICh0aGF0J3MgRW5nbGlzaCAnJ0FtZXJpY2EnJywgbm90IFNwYW5pc2gu KSBJdCdzIHRoZSBzb3VuZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBtb3V0aCBpcyBjb21wbGV0 ZWx5IHJlbGF4ZWQuCgpUd28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBwcm9ub3VuY2VkIGFzIG9uZSBz b3VuZCAoX19kaXBodGhvbmdfXykuIFNvbWUgZXhhbXBsZXMgYXJlOgoKCgp8fGFpIHxhcyBpbiAn J2hfX2lnaCcnX18KCmF1IHxhcyBpbiAnJ2hfX293JydfXwoKZWkgfGFzIGluICcnaF9fZXknJ19f CgpvaSB8YXMgaW4gJydiX19veScnX18KCmlhIHxsaWtlIEdlcm1hbiAnJ19fSmEnJ19fCgppZSB8 bGlrZSAnJ19feWVhaCcnX18KCml1IHxsaWtlICcnX195b3UnJ19fCgp1YSB8YXMgaW4gJydfX3dh YWghJydfXywgb3IgRnJlbmNoICcncV9fdW9pJydfXwoKdWUgfGFzIGluICcncV9fdWVfX3N0aW9u JycKCnVvIHxhcyBpbiAnJ3FfX3VvX190ZScnCgp1aSB8bGlrZSAnJ19fd2UnJ19fLCBvciBGcmVu Y2ggJydfX291aScnX18gfHwKCkRvdWJsZSB2b3dlbHMgYXJlIHJhcmUuIFRoZSBvbmx5IGV4YW1w bGVzIGFyZSBpaSwgd2hpY2ggaXMgcHJvbm91bmNlZCBsaWtlIEVuZ2xpc2ggJyd5ZScnIChhcyBp biDigJxPaCBjb21lIGFsbCB5ZSBmYWl0aGZ1bOKAnSkgb3IgQ2hpbmVzZSAnJ3lpJycsIGFuZCB1 dSwgcHJvbm91bmNlZCBsaWtlICcnd29vJycuCgohISEhQ29uc29uYW50cwoKTW9zdCBMb2piYW4g Y29uc29uYW50cyBhcmUgdGhlIHNhbWUgYXMgRW5nbGlzaCwgYnV0IHRoZXJlIGFyZSBzb21lIGV4 Y2VwdGlvbnM6CgoKCnx8ZyB8YWx3YXlzICcnZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAn J2cnJyBhcyBpbiAnJ19fZ19fZW0nJwoKYyB8JydzaCcnLCBhcyBpbiAnJ19fc2hfX2lwJycKCmog fGFzIGluICcnbWVhX19zX191cmUnJyBvciBGcmVuY2ggJydib25fX2pfX291cicnCgp4IHxhcyBp biBHZXJtYW4gJydCYV9fY2gnJ19fLCBTcGFuaXNoICcnX19KX19vc2UnJyBvciBBcmFiaWMgJydf X0toX19hbGVkJycgfHwKClRoZSBFbmdsaXNoIHNvdW5kcyAnJ2NoJycgYW5kICcnaicnIGFyZSB3 cml0dGVuIGFzIHRjIGFuZCBkai4KCkxvamJhbiBkb2Vzbid0IHVzZSB0aGUgbGV0dGVycyAnJ0gn JywgJydRJycgb3IgJydXJycuCgohISEhU3BlY2lhbCBDaGFyYWN0ZXJzCgpMb2piYW4gZG9lcyBu b3QgcmVxdWlyZSBhbnkgcHVuY3R1YXRpb24sIGJ1dCBzb21lIHNwZWNpYWwgY2hhcmFjdGVycyAo bm9ybWFsbHkgdXNlZCBpbiBwdW5jdHVhdGlvbiBpbiBvdGhlciBsYW5ndWFnZXMpIGFmZmVjdCB0 aGUgd2F5IExvamJhbiBpcyBwcm9ub3VuY2VkLgoKVGhlIG9ubHkgb25lIG9mIHRoZXNlIGNoYXJh Y3RlcnMgd2hpY2ggaXMgb2JsaWdhdG9yeSBpbiBMb2piYW4gaXMgdGhlIGFwb3N0cm9waGU7IGlu IGZhY3QgdGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIG9mIExv amJhbi4gQW4gYXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZvd2VscywgcHJldmVudGluZyB0aGVt IGZyb20gYmVpbmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMgYSBfX2RpcGh0aG9uZ19fKTsgaXQg aXMgaXRzZWxmIHByb25vdW5jZWQgbGlrZSBhbiAnJ2gnJy4gRm9yIGV4YW1wbGUsIHVpIGlzIG5v cm1hbGx5IHByb25vdW5jZWQgJyd3ZScnLCBidXQgdSdpIGlzICcnb29oZWUnJy4KCkEgZnVsbCBz dG9wIChwZXJpb2QpIGlzIGEgc2hvcnQgcGF1c2UgdG8gc3RvcCB3b3JkcyBydW5uaW5nIGludG8g ZWFjaCBvdGhlci4gVGhlIHJ1bGVzIG9mIExvamJhbiBtYWtlIGl0IGVhc2llciBmb3Igb25lIHdv cmQgdG8gcnVuIGludG8gYW5vdGhlciB3aGVuIHRoZSBzZWNvbmQgd29yZCBiZWdpbnMgd2l0aCBh IHZvd2VsOyBzbyBhbnkgd29yZCBzdGFydGluZyB3aXRoIGEgdm93ZWwgY29udmVudGlvbmFsbHkg aGFzIGEgZnVsbCBzdG9wIHBsYWNlZCBpbiBmcm9udCBvZiBpdC4KCkNvbW1hcyBhcmUgcmFyZSBp biBMb2piYW4sIGJ1dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1cnJpbmcgdG9n ZXRoZXIgd2hlbiB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hpY2ggd291 bGQgcHV0IGEgJydoJycgYmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhhdmUgY29tbWFz LCBidXQgdGhleSdyZSBzb21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2piYW4gbmFtZXMs IGZvciBleGFtcGxlIHBpLEVSLiAoJydQaWVycmUnJyksIGFzIG9wcG9zZWQgdG8gcGllci4gKCcn UC15ZXJyJycpLCBwaS5FUi4gKCcnUGVlOyBFaHInJyksIG9yIHBpJ0VSLiAoJydQaWhlcnInJyku CgpDYXBpdGFsIGxldHRlcnMgYXJlIG5vdCBub3JtYWxseSB1c2VkIGluIExvamJhbi4gV2UgdXNl IHRoZW0gaW4gbm9uLUxvamJhbiB3b3JkcyAobGlrZSAnJ1BpZXJyZScnKSB3aGVuIHRoZSBzdHJl c3Mgb2YgYSB3b3JkIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBMb2piYW4gbm9ybS4gVGhlIG5vcm0g aXMgdG8gcHV0IHRoZSBzdHJlc3Mgb24gdGhlIGxhc3QtYnV0LW9uZSBzeWxsYWJsZTsgc28sIGZv ciBleGFtcGxlLCBrdXJtaWtjZSAnbnVyc2UnIGlzIGt1cl9fTUlLX19jZSwgbm90IF9fS1VSX19t aWtjZS4gVGhlIG5hbWUgJydKdWxpZXR0ZScnIHdvdWxkIGJlIHdyaXR0ZW4gREpVbGksZXQuIGlm IHByb25vdW5jZWQgaW4gYW4gRW5nbGlzaCB3YXksIGJ1dCBqdUxJRVQuIGlmIHByb25vdW5jZWQg YXMgaW4gRnJlbmNoLgoKISEhIUFscGhhYmV0CgpJbiBtb3N0IGxhbmd1YWdlIHRleHRib29rcywg eW91IGdldCB0aGUgYWxwaGFiZXQgb2YgdGhlIGxhbmd1YWdlIHRvZ2V0aGVyIHdpdGggaXRzIHNv dW5kcy4gTGV0dGVycyAobGVyZnUpIHR1cm4gb3V0IHRvIGJlIGV2ZW4gbW9yZSBpbXBvcnRhbnQg dGhhbiB1c3VhbCBpbiBMb2piYW4sIHNvIHdlIG1pZ2h0IGFzIHdlbGwgZ28gdGhyb3VnaCB0aGVp ciBuYW1lcyBxdWlja2x5LgoKQ29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFt ZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNv bnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgJydiLCBjLCBkLCBmLCBnIC4uLicnLCBhcmUgY2Fs bGVkIGJ5LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuLi4uIGluIExvamJhbiAodXNpbmcgdGhlIGZ1bGwg c3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pCgpWb3dlbHMgJyd3b3VsZCcnIGJlIGNhbGxl ZCAuYXksIC5leSwgLml5LCBidXQgdGhhdCB3b3VsZCBiZSByYXRoZXIgZGlmZmljdWx0IHRvIHBy b25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUgaGFuZGxlZCBieSBmb2xsb3dpbmcgdGhlIHZvd2Vs IHNvdW5kIHdpdGggdGhlIHdvcmQgYnUsIHdoaWNoIGJhc2ljYWxseSBtZWFucyAnbGV0dGVyJy4g U28gdGhlIHZvd2VscyBvZiBMb2piYW4gYXJlOiAuYWJ1LCAuZWJ1LCAuaWJ1LCAub2J1LCAudWJ1 LCB5YnUuCgpUaGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4g TG9qYmFuLCBhbmQgaXMgY2FsbGVkIC55J3kuLiBUbyBzb21lIHBlb3BsZSwgdGhpcyBzb3VuZHMg bGlrZSBhIGNvdWdoOyB0byBvdGhlciwgbGlrZSAnJ3VoLWh1aCcnICh3aGVuIGl0IG1lYW5zICdZ ZXMnIHJhdGhlciB0aGFuICdObycuKQoKTG9qYmFuIGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRvIG1v c3QgbGV0dGVycyB5b3UgY2FuIHRoaW5rIG9mLiBJZiB5b3UgaGF2ZSB0aGUgdXJnZSB0byBzcGVs bCBvdXQgeW91ciBuYW1lIGluIExvamJhbiBhbmQgaGF2ZSBhbiAnJ0gnJywgJydRJycsIG9yICcn VycnIHRvIGRlYWwgd2l0aCwgeW91IGNhbiB1c2UgLnkneS5idSwga3kuYnUgYW5kIHZ5LmJ1LiBT byAnJ1NjaHdhcnplbmVnZ2VyJycgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOgoKc3kuIGN5LiAueSd5 YnUgdnlidS4gLmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LgoKQW5k IHNwZWxsaW5nICcndGhhdCcnIGlzIGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhlIFRl cm1pbmF0b3IgZXZlciBkaWQhCgoKCk5vdyBzcGVsbCB5b3VyIG5hbWUgaW4gTG9qYmFuIChvciBh dCBsZWFzdCBzb21ldGhpbmcgY2xvc2UgZW5vdWdoIHRvIGl0IHRvIHVzZSB0aGUgdHdlbnR5LXNp eCBsZXR0ZXJzIG9mIEVuZ2xpc2ggd2UgaGF2ZSBsZWFybmVkLCBhbmQgdGhlIGFwb3N0cm9waGUp LgoKCgohISEhICdDb3JyZWN0JyBwcm9udW5jaWF0aW9uCgpZb3UgZG9uJ3QgaGF2ZSB0byBiZSB2 ZXJ5IHByZWNpc2UgYWJvdXQgTG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2UgdGhlIHBob25l bWVzIGFyZSBkaXN0cmlidXRlZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFrZSBvbmUgc291 bmQgZm9yIGFub3RoZXIuIFRoaXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUgJ2NvcnJlY3Qn IHByb251bmNpYXRpb24sIHRoZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBwcm9udW5jaWF0 aW9u4oCUdGhlIGdlbmVyYWwgcHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMgT0sgc28gbG9u ZyBhcyBpdCBkb2Vzbid0IHNvdW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVsc2UuIEZvciBl eGFtcGxlLCBMb2piYW4gciBjYW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAnJ3InJyBpbiBFbmds aXNoLCBTY290dGlzaCBvciBGcmVuY2guCgpUd28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2YsIHRo b3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJhbiBpIGFuZCB1IGxpa2UgU3RhbmRhcmQgQnJpdGlz aCBFbmdsaXNoICcnaGl0JycgYW5kICcnYnV0JycgKE5vcnRoZXJuIEVuZ2xpc2ggJydidXQnJyBp cyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxhcmx5 IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUgd2hv IGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2JsZW1z IHNwaXR0aW5nIG91dCB0aGUgemQgaW4gemRhbmkgKGhvdXNlKSwgeW91IGNhbiBzYXkgesmqZGFu aeKAlHdoZXJlIHRoZSAnJ8mqJycgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAnJ2knJyBo YXMgdG8gYmUgbG9uZy4KCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKCldhdGNoIGFueSBmaWxt IHdoZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFy dCBvZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29v ZCBhIHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28u CgpfXycnbWknZSAucm9iaW4uJydfXwoKJydJLWFtLW5hbWVkIFJvYmluJycKCicnSSdtIFJvYmlu JycKCicnbWknZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScgYW5k IHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcg dHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICcnbWUgaGVoJycuCgpUaGlzIGd1eSBS b2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4g d2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExv amJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5p c2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFt ZeKAlGJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9y IGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgJydKb3NlJycgc29t ZXRoaW5nIGxpa2UgJydIb3pheScnLCBhbmQgJydNYXJnYXJldCcnIGluIENoaW5lc2UgaXMgJydN YWdlbGl0YScnLiBTb21lIHNvdW5kcyBqdXN0IGRvbid0IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2Vz LCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBz byB0aGF0IGl0IG9ubHkgY29udGFpbnMgTG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEg TG9qYmFuIHdheS4KCl9fTm90ZTogX19UaGUgY2F0Y2ggaGVyZSBpcywgd2hhdCB2ZXJzaW9uIG9m IHRoZSBzb3VuZHMgd2lsbCB5b3UgYmUgdXNpbmc/IEZvciBFbmdsaXNoIGluIHBhcnRpY3VsYXIs IEJyaXRpc2ggYW5kIEFtZXJpY2FuIHZvd2VscyBjYW4gYmUgcXVpdGUgZGlmZmVyZW50LiBUaGUg QnJpdGlzaCB2ZXJzaW9uIG9mICcnUm9iaW4nJyBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBi eSAucm9iaW4uOyBidXQgdGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcncmFieW4u Jycgb3IgJydyYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVyZSBp cyBhbHNvIGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRoZSB0 cmFuc2xpdGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0J3Mg dGFrZSB0aGUgRW5nbGlzaCBuYW1lICcnU3VzYW4nJy4gVGhlIHR3byAnJ3MnJydzIGFyZSBwcm9u b3VuY2VkIGRpZmZlcmVudGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAnJ3onJ+KA lGFuZCB0aGUgJydhJycgaXMgbm90IHJlYWxseSBhbiAnJ2EnJyBzb3VuZCwgaXQncyB0aGUgJ3Nj aHdhJyB3ZSBqdXN0IG1lbnRpb25lZC4gU28gJydTdXNhbicnIGNvbWVzIG91dCBpbiBMb2piYW4g YXMgJycuc3V6eW4uJycuCgpZb3UgbWF5IGhhdmUgbm90aWNlZCB0d28gZXh0cmEgZnVsbCBzdG9w cyAocGVyaW9kcykgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaWYgeW91IGRpZG4n dCBwYXVzZSwgeW91IG1pZ2h0IG5vdCBrbm93IHdoZXJlIHRoZSBwcmV2aW91cyB3b3JkIGVuZGVk IGFuZCB0aGUgbmV4dCB3b3JkIGJlZ2FuLgoKCgpZb3Ugc2hvdWxkIGFsc28gcHV0IGEgZnVsbCBz dG9wIGluIGJldHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBuYW1lcyAodGhvdWdoIGl0 J3Mgbm90IGNvbXB1bHNvcnkpLCBzbyAnJ0ppbSBKb25lcycnIGJlY29tZXMgJydkamltLmRqb256 LicnLgoKQW4gaW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhl IGxhc3QgbGV0dGVyIG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFu dC4gQWdhaW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1l IGVuZHMsIGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdv cmRzIGVuZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGlu IExvamJhbiwgJydNYXJ5JycgYmVjb21lcyAubWVyaXMuICwgJydKb2UnJyBiZWNvbWVzIC5kam9z LiBhbmQgc28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dl bCwgc28gJydNYXJ5Jycgd291bGQgYmVjb21lIC5tZXIuIG9yIC5tZWlyLi4KCgoKVGhlIGZpbmFs IHBvaW50IGlzIHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3Nl ZCBvbiB0aGUgcGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVu dCBzdHJlc3MsIHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5n bGlzaCBhbmQgRnJlbmNoIG5hbWVzICcnUm9iZXJ0JycgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4g TG9qYmFuOiB0aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9y ICcnLnJhYixydC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBp cyAnJy5yb0JFUi4nJy4KClRvIGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhl cmUgYXJlIHNvbWUgbmFtZXMgb2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2Ug YW5kIGluIExvamJhbi4KCgoKfHxfX0VuZ2xpc2hfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfC5tYWdy eXQudGF0Y3lzLiAobm8gJyd0aCcnIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFyb3Vu ZCB0aGUgd29ybGQgY2FuJ3Qgc2F5IGl0ISkKCk1pY2sgSmFnZ2VyIHwubWlrLmRqYWd5cy4gfHwK Cnx8X19GcmVuY2hfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwubmFwb2xlLE9OLmJvbmFQQVJULgoK SnVsaWV0dGUgQmlub2NoZSB8Lmp1TElFVC5iaW5PQy4gfHwKCnx8X19DaGluZXNlX18KCkxhb3pp IHwubGF1ZHouCgpNYW8gWmVkb25nIHwubWF1ZHp5RFlOLiAoRmluYWwgJyduZycnIGlzIGluIExv amJhbiBjb252ZW50aW9uYWxseSB0dXJuZWQgaW50byBuLikgfHwKCnx8X19UdXJraXNoX18KCk11 c3RhZmEgS2VtYWwgfC5NVVN0YWZhcy5rZU1BTC4KCkVya2luIEtvcmF5IHwuZXJraW4ua29yYWlz LiB8fAoKfHxfX0dlcm1hbl9fCgpGcmllZHJpY2ggTmlldHpzY2hlIHwuZnJpZHJpeC5uaXRjeXMu CgpDbGFyYSBTY2h1bWFubiB8LmtsYXJhcy5jdW1hbi4gfHwKCnx8X19TcGFuaXNoX18KCklzYWJl bCBBbGxlbmRlIHwuaXphQkVMLmFpZW5kZXMuCgpDaGUgR3VldmFyYSB8LnRjZWdldmFyYXMuIHx8 CgpfX0V4ZXJjaXNlX18uCgpXaGVyZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5udSxJT1JLLgoKIy5y b21hcy4KCiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmthcmFzLgoKIy5B TGJla2Vya2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMuCgojLmJvbi4K CiMuZGVsaXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgpBbnN3 ZXI6Cgp+fmdyYXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiBVU0F+fgoKI35+Z3Jh eSxncmF5OlJvbWU6IEl0YWx5fn4KCiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+fgoKI35+Z3Jh eSxncmF5OkNhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICcnQ2FyZGlmZicnIGlzICcnQ2Fl cmR5ZGQnJywgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQu Lil+fgoKI35+Z3JheSxncmF5OkJlaWppbmc6IENoaW5hfn4KCiN+fmdyYXksZ3JheTpBbmthcmE6 IFR1cmtleX5+Cgojfn5ncmF5LGdyYXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQX5+Cgoj fn5ncmF5LGdyYXk6VmFuY291dmVyOiBDYW5hZGF+fgoKI35+Z3JheSxncmF5OkNhcGUgVG93bjog U291dGggQWZyaWNhfn4KCiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3Qg cC4gQWx0aG91Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEg cC4uLiBCdXQgdGhpcyBpc24ndCBtZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4K CiN+fmdyYXksZ3JheTpCb25uOiBHZXJtYW55fn4KCiN+fmdyYXksZ3JheTpEZWxoaTogSW5kaWEg KFRoZSBIaW5kaSBmb3IgJydEZWxoaScnIGlzICcnRGlsbMOuJycsIHdoaWNoIHdvdWxkIGdpdmUg ZGlsaXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+fgoKI35+ Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgnJ0F0aGluYScnIGluIEdyZWVrKX5+Cgojfn5ncmF5 LGdyYXk6TGVlZHM6IEVuZ2xhbmR+fgoKI35+Z3JheSxncmF5OkhlbHNpbmtpOiBGaW5sYW5kfn4K Cl9fRXhlcmNpc2VfXy4KCkxvamJhbmlzZSB0aGUgZm9sbG93aW5nIG5hbWVzCgojSm9obgoKI01l bGlzc2EKCiNBbWFuZGEKCiNNYXR0aGV3CgojTWljaGFlbAoKI0RhdmlkIEJvd2llCgojSmFuZSBB dXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5IFdlYXZlcgoKI1JpY2hhcmQg Tml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2FuIFNhbHZhZG9yCgpBbnN3ZXI6 Cgp+fmdyYXksZ3JheTpUaGVyZSBhcmUgdXN1YWxseSBhbHRlcm5hdGl2ZSBzcGVsbGluZ3MgZm9y IG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9wbGUgcHJvbm91bmNlIHRoZSBvcmlnaW5hbHMgZGlm ZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4YWN0IHNvdW5kIGRvZXNuJ3QgZXhpc3QgaW4gTG9q YmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0d28gTG9qYmFuIGxldHRlcnMuIFRo aXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcgYXMgZXZlcnlvbmUga25vd3Mgd2hvIG9yIHdoZXJl IHlvdSdyZSB0YWxraW5nIGFib3V0Ln5+Cgojfn5ncmF5LGdyYXk6LmRqb24uIChvciAuZGphbi4g d2l0aCBzb21lIGFjY2VudHMpfn4KCiN+fmdyYXksZ3JheToubWVsaXN5cy5+fgoKI35+Z3JheSxn cmF5Oi5hbWFuZHlzLiAoYWdhaW4sIGRlcGVuZGluZyBvbiB5b3VyIGFjY2VudCwgdGhlIGZpbmFs IHkgbWF5IGJlIGEsIHRoZSBpbml0aWFsIGEgbWF5IGJlIHksIGFuZCB0aGUgbWlkZGxlIGEgbWF5 IGJlIGUuKX5+Cgojfn5ncmF5LGdyYXk6Lm1hdGl1cy5+fgoKI35+Z3JheSxncmF5Oi5tYWlreWwu IG9yIC5tYWlrLGwuICwgZGVwZW5kaW5nIG9uIGhvdyB5b3Ugc2F5IGl0Ln5+Cgojfn5ncmF5LGdy YXk6LmRlaXZ5ZC5iYXUsaXMuIG9yIC5ibyxpcy4gKGJ1dCBub3QgLmJ1LGlzLiDigJQgdGhhdCdz IHRoZSBrbmlmZSl+fgoKI35+Z3JheSxncmF5Oi5kamVpbi5vc3Rpbi5+fgoKI35+Z3JheSxncmF5 Oi51aWxpYW0uY2Vrc3Bpci5+fgoKI35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5 Z29ybmlzLnVpdnlyLn5+Cgojfn5ncmF5LGdyYXk6LnJpdGN5cmQubmlrc3luLn5+Cgojfn5ncmF5 LGdyYXk6LmlzdGFuQlVMLiB3aXRoIEVuZ2xpc2ggc3RyZXNzLCAuSVN0YW5idWwuIHdpdGggQW1l cmljYW4sIC5pc3RhbmJ1bC4gd2l0aCBUdXJraXNoLiBMb2piYW5pc3RzIGdlbmVyYWxseSBwcmVm ZXIgdG8gYmFzZSBjbWV2bGEgb24gbG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90 IGFuIGFic29sdXRlIHJ1bGUufn4KCiN+fmdyYXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdy YXk6LnRva2lvcy5+fgoKI35+Z3JheSxncmF5Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2gg c3RyZXNzKSA8L3NwYW4+PC9odG1sPn5+CgohISEhTG9qYmFuIHdvcmRzIGFzIG5hbWVzCgpCeSBu b3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVy LCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4g KGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0 ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5z bGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhl eSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4 cGVjdCB0aGUgJyd3YXNpY2h1JycgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFr b3RhLCBDaGVyb2tlZSBvciB3aGF0ZXZlciEKCkxvamJhbiB3b3JkcyAoZXhjZXB0IGNtZXZsYSkg ZW5kIGluIGEgdm93ZWwuIFlvdSBjYW4gdXNlIGxvamJhbiB3b3JkcyBhcyBuYW1lcyB0b28uIEJ1 dCBpZiB5b3UgcHJlZmVyIHRoYXQgeW91ciBuYW1lIGlzIGEgY21ldmxhIGFuZCBpdCBlbmRzIGlu IGEgdm93ZWwgdGhlbiB5b3UgY2FuIGVpdGhlciBhZGQgYSBjb25zb25hbnQgdG8gdGhlIGVuZCBv ZiBpdCBvciBqdXN0IGNob3AgdGhlIGVuZCB2b3dlbCBvZmYuCgpIZXJlIGFyZSBhIGZldyBleGFt cGxlcyAob3JpZ2luYWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBhcyBjbWV2bGEpOgoK KkZpc2gg4oCTIGZpbnBlIOKAkyAuZmlucC4KCipCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIp IOKAkyBjcmliZSDigJMgLmNyaWIuCgoqR3JlZW4g4oCTIGNyaW5vIOKAkyAuY3Jpbi4KCipNZWkg TGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgLm1lbGIuCgoqQXloYW4gKFR1 cmtpc2ggPSBNb29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg4oCTIC5sdXJu b2JsaXMuCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gb25lIChicmlkaSwganVmcmEsIHN1 bXRpIGFuZCBzZWxicmkpCgpBICcnYnJpZGknJyBpcyB0aGUgbW9zdCBjZW50cmFsIHVuaXQgb2Yg TG9qYmFuIHV0dGVyYW5jZXMuIFRoZSBjb25jZXB0IGlzIHZlcnkgY2xvc2UgdG8gd2hhdCB3ZSBj YWxsIGEgcHJvcG9zaXRpb24gaW4gRW5nbGlzaC4gQSBicmlkaSBpcyBhIGNsYWltIHRoYXQgc29t ZSBvYmplY3RzIHN0YW5kIGluIGEgcmVsYXRpb24gdG8gZWFjaCBvdGhlciwgb3IgdGhhdCBhbiBv YmplY3QgaGFzIHNvbWUgcHJvcGVydHkuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvICcnanVm cmEnJywgd2hpY2ggYXJlIG1lcmVseSBMb2piYW4gdXR0ZXJhbmNlcywgd2hpY2ggY2FuIGJlIGJy aWRpIG9yIGFueXRoaW5nIGVsc2UgYmVpbmcgc2FpZC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBh IGJyaWRpIGFuZCBhIGp1ZnJhIGlzIHRoYXQgYSBqdWZyYSBkb2VzIG5vdCBuZWNlc3NhcmlseSBz dGF0ZSBhbnl0aGluZywgd2hpbGUgYSBicmlkaSBkb2VzLiBUaHVzLCBhIGJyaWRpIG1pZ2h0IGJl IHRydWUgb3IgZmFsc2UsIHdoaWxlIG5vdCBhbGwganVmcmEgY2FuIGJlIHNhaWQgdG8gYmUgc3Vj aC4KClRvIGhhdmUgc29tZSBleGFtcGxlcyAoaW4gRW5nbGlzaCwgdG8gYmVnaW4gd2l0aCksIOKA nE1vemFydCB3YXMgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1l4oCdIGlzIGEgYnJp ZGksIGJlY2F1c2UgaXQgbWFrZXMgYSBjbGFpbSB3aXRoIGEgdHJ1dGggdmFsdWUsIGFuZCBpdCBp bnZvbHZlcyBhbiBvYmplY3QsIE1vemFydCwgYW5kIGEgcHJvcGVydHksIGJlaW5nIHRoZSBncmVh dGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZS4gT24gdGhlIGNvbnRyYXJ5LCDigJxPdyEgTXkgdG9l IeKAnSBpcyBub3QgYSBicmlkaSwgc2luY2UgaXQgZG9lcyBub3QgaW52b2x2ZSBhIHJlbGF0aW9u LCBhbmQgdGh1cyBkb2VzIG5vdCBzdGF0ZSBhbnl0aGluZy4gQm90aCwgdGhvdWdoLCBhcmUganVm cmEuCgpUcnkgdG8gaWRlbnRpZnkgdGhlIGJyaWRpIGFtb25nIHRoZXNlIEVuZ2xpc2gganVmcmE6 CgoKCiMg4oCcSSBoYXRlIGl0IHdoZW4geW91IGRvIHRoYXQu4oCdCgojIOKAnFJ1bnMu4oCdCgoj IOKAnFdvYWgsIHRoYXQgbG9va3MgZGVsaWNpb3VzIeKAnQoKIyDigJxHZWV6LCBub3QgYWdhaW4u 4oCdCgojIOKAnE5vLCBJIG93biB0aHJlZSBjYXJz4oCdCgojIOKAnE5pbmV0ZWVuIG1pbnV0ZXMg cGFzdCBlaWdodC7igJ0KCiMg4oCcVGhpcyBTYXR1cmRheSwgeWVzLuKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OjEsIDMgYW5kIDUgYXJlIGJyaWRpLiAyIGNvbnRhaW5zIG5vIG9iamVjdHMgYW5k IHRoZSByZXN0IGNvbnRhaW4gbm8gcmVsYXRpb24gb3IgY2xhaW0gb2YgYSBwcm9wZXJ0eS5+fgoK CgpQdXQgaW4gTG9qYmFuIHRlcm1zLCBhIGJyaWRpIGNvbnNpc3RzIG9mIG9uZSAnJ3NlbGJyaScn LCBhbmQgb25lIG9yIG1vcmUgJydzdW10aScnLiBUaGUgc2VsYnJpIGlzIHRoZSByZWxhdGlvbiBv ciBjbGFpbSBhYm91dCB0aGUgb2JqZWN0LCBhbmQgdGhlIHN1bXRpIGFyZSB0aGUgb2JqZWN0cyB3 aGljaCBhcmUgaW4gYSByZWxhdGlvbi4gTm90ZSB0aGF0IOKAnG9iamVjdOKAnSBpcyBub3QgYSBw ZXJmZWN0IHRyYW5zbGF0aW9uIG9mIOKAnHN1bXRp4oCdLCBzaW5jZSDigJxzdW10aeKAnSBjYW4g cmVmZXIgdG8gbm90IGp1c3QgcGh5c2ljYWwgb2JqZWN0cywgYnV0IGNhbiBhbHNvIHB1cmVseSBh YnN0cmFjdCB0aGluZ3MgbGlrZSDigJxUaGUgaWRlYSBvZiB3YXJmYXJl4oCdLiBBIGJldHRlciB0 cmFuc2xhdGlvbiB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZSDigJxzdWJqZWN0LCBkaXJlY3Qgb3Ig aW5kaXJlY3Qgb2JqZWN04oCdIGZvciBzdW10aSwgYW5kIOKAnHZlcmLigJ0gZm9yIHNlbGJyaSwg dGhvdWdoLCBhcyB3ZSB3aWxsIHNlZSwgdGhpcyBpcyBub3Qgb3B0aW1hbCBlaXRoZXIuCgpXZSBj YW4gbm93IHdyaXRlIHRoZSBmaXJzdCBpbXBvcnRhbnQgbGVzc29uIGRvd246CgpicmlkaSA9IHNl bGJyaSArIG9uZSBvciBtb3JlIHN1bXRpCgpQdXQgYW5vdGhlciB3YXksIGEgYnJpZGkgc3RhdGVz IHRoYXQgc29tZSBzdW10aSBkby9hcmUgc29tZXRoaW5nIGV4cGxhaW5lZCBieSBhIHNlbGJyaS4K CgoKSWRlbnRpZnkgdGhlIHN1bXRpIGFuZCBzZWxicmkgZXF1aXZhbGVudHMgaW4gdGhlc2UgRW5n bGlzaCBqdWZyYToKCuKAnEkgd2lsbCBwaWNrIHVwIG15IGRhdWdodGVycyB3aXRoIG15IGNhcuKA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCccGljayB1cCAod2l0aCnigJ0uIHN1 bXRpOiDigJxJ4oCdLCDigJxteSBkYXVnaHRlcnPigJ0sIOKAnG15IGNhcuKAnX5+CgoKCuKAnEhl IGJvdWdodCBzaXh0ZWVuIG5ldyBzaGlydHMgZnJvbSBMZWEmTGV2eSdzIGZvciBqdXN0IHR3byBo dW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxib3VnaHQg KGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCcc2l4dGVlbiBuZXcgc2hpcnRz4oCd LCDigJxMZWEmTGV3aXPigJ0gYW5kIOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4KCgoKU2luY2Ug dGhlc2UgY29uY2VwdHMgYXJlIHNvIGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV0J3MgaGF2ZSBh IHRoaXJkIGV4YW1wbGU6IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3RoaW5nIGFib3V0 IHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRlLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQQeKAnSwg4oCc bm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGXigJ1+fgoKCgpO b3cgdHJ5IGJlZ2luIG1ha2luZyBMb2piYW4gYnJpZGkuIEZvciB0aGlzIHlvdSB3aWxsIG5lZWQg dG8gdXNlIHNvbWUgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc2VsYnJpOgoKJydfX2R1bmRhX18n JyB4MSBnaXZlcyB4MiB0byB4MyAod2l0aG91dCBwYXltZW50KQoKJydfX3BlbHh1X18nJyB4MSBp cyB5ZWxsb3cKCicnX196ZGFuaV9fJycgeDEgaXMgYSBob21lIG9mIHgyCgoKCk5vdGljZSB0aGF0 IHRoZXNlIHdvcmRzIG1lYW5pbmcg4oCcZ2l2ZeKAnSwg4oCceWVsbG934oCdIGFuZCDigJxob21l 4oCdIHdvdWxkIGJlIGNvbnNpZGVyZWQgYSB2ZXJiLCBhbiBhZGplY3RpdmUgYW5kIGEgbm91biBp biBFbmdsaXNoLiBJbiBMb2piYW4sIHRoZXJlIGFyZSBubyBzdWNoIGNhdGVnb3JpZXMgYW5kIG5v IHN1Y2ggZGlzdGluY3Rpb24uICcnZHVuZGEnJyBjYW4gYmUgdHJhbnNsYXRlZCDigJxnaXZlc+KA nSAodmVyYiksIOKAnGlzIGEgZ2l2ZXLigJ0gKG5vdW4pLCDigJxpcyBnaXZpbmfigJ0gKGFkamVj dGl2ZSkgYXMgd2VsbCBhcyB0byBhbiBhZHZlcmIgZm9ybS4gVGhleSBhbGwgYWN0IGFzIHNlbGJy aSwgYW5kIGFyZSB1c2VkIGluIHRoZSBzYW1lIHdheS4KCgoKQXMgd2VsbCBhcyBhIGZldyB3b3Jk cywgd2hpY2ggY2FuIGFjdCBhcyBzdW10aToKCicnX19taV9fJycg4oCcSeKAnSBvciDigJx3ZeKA nSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIHNwZWFraW5nLgoKJydfX3RpX18nJyDigJx0 aGlz4oCdIOKAkyBhIGNsb3NlIHRoaW5nIG9yIGV2ZW50IG5lYXJieSB3aGljaCBjYW4gYmUgcG9p bnRlZCB0byBieSB0aGUgc3BlYWtlci4KCicnX19kb19fJycg4oCceW914oCdIOKAkyB0aGUgb25l IG9yIHRob3NlIHdobyBhcmUgYmVpbmcgc3Bva2VuIHRvLgoKCgpTZWUgdGhlIHN0cmFuZ2UgdHJh bnNsYXRpb25zIG9mIHRoZSBzZWxicmkgYWJvdmUgLSBlc3BlY2lhbGx5IHRoZSB4MSwgeDIgYW5k IHgzPyBUaG9zZSBhcmUgY2FsbGVkIHN1bXRpIHBsYWNlcy4gVGhleSBhcmUgcGxhY2VzIHdoZXJl IHN1bXRpIGNhbiBnbyB0byBmaWxsIGEgYnJpZGkuIEZpbGxpbmcgYSBzdW10aSBpbiBhIHBsYWNl IHN0YXRlcyB0aGF0IHRoZSBzdW10aSBmaXRzIGluIHRoYXQgcGxhY2UuIFRoZSBzZWNvbmQgcGxh Y2Ugb2YgJydkdW5kYScnLCBmb3IgZXhhbXBsZSwgeDIsIGlzIHRoZSB0aGluZyBiZWluZyBnaXZl bi4gVGhlIHRoaXJkIGlzIHRoZSBvYmplY3Qgd2hpY2ggcmVjZWl2ZXMgdGhlIHRoaW5nLiBOb3Rp Y2UgYWxzbyB0aGF0IHRoZSB0cmFuc2xhdGlvbiBvZiAnJ2R1bmRhJycgaGFzIHRoZSB3b3JkIOKA nHRv4oCdIGluIGl0LiBUaGlzIGlzIGJlY2F1c2UsIHdoaWxlIHRoaXMgd29yZCBpcyBuZWVkZWQg aW4gRW5nbGlzaCB0byBzaWduaWZ5IHRoZSByZWNlaXZlciwgdGhlIHJlY2VpdmVyIGlzIGluIHRo ZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycuIFNvIHdoZW4geW91IGZpbGwgdGhlIHRo aXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJywgdGhlIHN1bXRpIHlvdSBmaWxsIGluIGlzIGFs d2F5cyB0aGUgcmVjZWl2ZXIsIGFuZCB5b3UgZG9uJ3QgbmVlZCBhbiBlcXVpdmFsZW50IHRvIHRo ZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBzYXkgdGhlIHgx IHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1bXRpLgoKVXN1 YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gzIHN1bXRpfSB7 eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4gYmUgcGxheWVk IGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9ybS4g VG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydtaSBkdW5kYSB0 aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpTbywg aG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3JkZXIg dG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlvdSBn aXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0aSBt aScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0aGUg aGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIgYXJl IHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2YgZnVs bCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFmdGVy IHRoZW0uIEl0J3Mgb2Z0ZW4gbGVmdCBvdXQgYmVmb3JlIHRoZSBmaXJzdCBicmlkaSwgdGhvdWdo LCBhcyBpbiBhbGwgdGhlc2UgZXhhbXBsZXM6CgonJ19fLmlfXycnIFNlbnRlbmNlIHNlcGFyYXRv ci4gU2VwYXJhdGVzIGFueSB0d28ganVmcmEgKGFuZCB0aGVyZWZvcmUgYWxzbyBicmlkaSkuCgoK CicndGkgemRhbmkgbWkgIC5pIHRpIHBlbHh1Jycg4oCdVGhpcyBpcyBhIGhvbWUgdG8gbWUuIFRo aXMgaXMgeWVsbG93LuKAnQoKCgpCZWZvcmUgeW91IG1vdmUgb24gdG8gdGhlIG5leHQgbGVzc29u LCBJIHJlY29tbWVuZCB0aGF0IHlvdSB0YWtlIGEgYnJlYWsgZm9yIGF0IGxlYXN0IHNldmVuIG1p bnV0ZXMgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLgoKCgoKCiEhTG9qYmFuIExlc3Nv bnMg4oCTIGxlc3NvbiB0d28gKEZBIGFuZCB6bydlKQoKTW9zdCBzZWxicmkgaGF2ZSBmcm9tIG9u ZSB0byBmaXZlIHN1bXRpIHBsYWNlcywgYnV0IHNvbWUgaGF2ZSBtb3JlLiBIZXJlIGlzIGEgc2Vs YnJpIHdpdGggZm91ciBzdW10aSBwbGFjZXM6CgonJ19fdmVjbnVfXycnIHgxIHNlbGxzIHgyIHRv IHgzIGZvciBwcmljZSB4NAoKCgpJZiBJIHdhbnQgdG8gc2F5IOKAnEkgc2VsbCB0aGlz4oCdLCBp dCB3b3VsZCBiZSB0b28gbXVjaCB0byBoYXZlIHRvIGZpbGwgdGhlIHN1bXRpIHBsYWNlcyB4MyBh bmQgeDQsIHdoaWNoIHNwZWNpZnkgd2hvIEkgc2VsbCB0aGUgdGhpbmcgdG8sIGFuZCBmb3Igd2hh dCBwcmljZS4gTHVja2lseSwgSSBkb24ndCBuZWVkIHRvLiBzdW10aSBwbGFjZXMgY2FuIGJlIGZp bGxlZCB3aXRoICcnem8nZScnLiAnJ3pvJ2UnJyBpbmRpY2F0ZXMgdG8gdXMgdGhhdCB0aGUgdmFs dWUgb2YgdGhlIHN1bXRpIHBsYWNlIGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXQncyB1bmltcG9y dGFudCBvciBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem8nZV9fJycg4oCc c29tZXRoaW5n4oCdIEZpbGxzIGEgc3VtdGkgcGxhY2Ugd2l0aCBzb21ldGhpbmcsIGJ1dCBkb2Vz IG5vdCBzdGF0ZSB3aGF0LgoKCgpTbyB0byBzYXkg4oCcSSBzZWxsIHRvIHlvdeKAnSwgSSBjb3Vs ZCBzYXkgJydtaSB2ZWNudSB6bydlIGRvIHpvJ2UnJyDigJMgSSBzZWxsIHNvbWV0aGluZyB0byB5 b3UgZm9yIHNvbWUgcHJpY2UuCgpIb3cgd291bGQgeW91IHNheTog4oCcVGhhdCdzIGEgaG9tZSAo Zm9yIHNvbWVib2R5KeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSB6ZGFuaSB6bydl Jyd+fgoKCgpIb3cgYWJvdXQg4oCcKHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNvbWVvbmUp4oCd PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicnem8nZSBkdW5kYSB0aSB6bydlJyd+fgoKCgpTdGls bCwgZmlsbGluZyBvdXQgdGhyZWUgem8nZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhpbmcgaXMgYmVp bmcgc29sZCB0YWtlcyB0aW1lLiBUaGVyZWZvcmUgeW91IGRvbid0IG5lZWQgdG8gd3JpdGUgYWxs IHRoZSAnJ3pvJ2UnJyBpbiBhIGJyaWRpLiBUaGUgcnVsZSBzaW1wbHkgaXMgdGhhdCBpZiB5b3Ug bGVhdmUgb3V0IGFueSBzdW10aSwgdGhleSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgaWYgdGhleSBj b250YWluZWQgJyd6bydlJycuIElmIHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNlbGJyaSwgdGhl IHgxIGlzIHByZXN1bWVkIHRvIGJlIG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6bydlJycuCgpU cnkgaXQgb3V0LiBXaGF0J3MgTG9qYmFuIGZvciDigJxJIHNlbGzigJ0/CgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6JydtaSB2ZWNudScnfn4KCgoKQW5kIHdoYXQgZG9lcyAnJ3pkYW5pIG1pJycgbWVh bj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21ldGhpbmcgaXMgYSBob21lIG9mIG1l4oCd IG9yIGp1c3Qg4oCcSSBoYXZlIGEgaG9tZS7igJ1+fgoKCgpBcyBtZW50aW9uZWQgZWFybGllciwg dGhlIGZvcm0gZG9lc24ndCBoYXZlIHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0ge3gyIHN1bXRp fSB7eDMgc3VtdGl9IChlY3QuKSBJbiBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBzZWxicmkgYW55 d2hlcmUgeW91IHdhbnQsIGp1c3Qgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLiBJ ZiB5b3UgZG8gdGhhdCwgdGhlIHgxIGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5kIGZpbGxlZCB3 aXRoICcnem8nZScnIGluc3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVmcmEgYXJlIGFs bCB0aGUgZXhhY3RseSBzYW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgonJ21pIHRpIGR1 bmRhIGRvJycKCicnbWkgdGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBpcyB1c2VkIGZv ciBwb2V0aWMgZWZmZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBiZSAnJ2RvIGRv IHZlY251JycsIHdoaWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRvJycuIE9yIGl0 IGNhbiBiZSB1c2VkIGZvciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBsb25nIGFuZCB0 aGVyZWZvcmUgYmV0dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuCgoKClRoZXJl IGFyZSBhbHNvIHNldmVyYWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBvcmRlciBvZiB0 aGUgc3VtdGkgaW5zaWRlIHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5IHVzaW5nIHRo ZSB3b3JkcyAnJ2ZhJycsICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUnJy4gTm90aWNl IHRoYXQgdGhlIHZvd2VscyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2piYW4gYWxwaGFi ZXQgaW4gb3JkZXIuIFVzaW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0IHRoZSBuZXh0 IHN1bXRpIHdpbGwgZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3BlY3RpdmVseS4g VGhlIG5leHQgc3VtdGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZpbGwgYSBzbG90 IG9uZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBsZToKCicnZHVu ZGEgZmEgZG8gZmUgdGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlzIHRoaW5nIHRv IHlvdeKAnS4gJydmYScnIG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBpcyB5b3UuICcn ZmUnJyBtYXJrcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkgY291bnRpbmcg dGhlbiBjb250aW51ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFzdCBzdW10aSBm aWxscyB4MywgdGhlIG9iamVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRo ZSBmb2xsb3dpbmcgdGhyZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRpIGZlIGRvJycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ugb2YgdGhpcywg eW914oCdLiBvciDigJxJIHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KAnSAocHJvYmFi bHkgcG9pbnRpbmcgdG8gYSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZlIHRpJycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUsIHRoZSBmZSBp cyByZWR1bmRhbnQufn4KCgoKJyd2ZWNudSB6bydlIG1pIHRpIGZhIGRvJycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxZb3Ugc2VsbCBzb21ldGhpbmcgdG8gbWUgZm9yIHRoaXMgcHJpY2XigJ1+ fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0aHJlZSAodGFucnUgYW5kIGxvKQoK SW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBjb25jZXB0 IG9mIGEgJyd0YW5ydScnLiBBIHRhbnJ1IGlzIGZvcm1lZCB3aGVuIGEgc2VsYnJpIGlzIHB1dCBp biBmcm9udCBvZiBhbm90aGVyIHNlbGJyaSwgbW9kaWZ5aW5nIGl0cyBtZWFuaW5nLiBBIHRhbnJ1 IGlzIGl0c2VsZiBhIHNlbGJyaSwgYW5kIGNhbiBjb21iaW5lIHdpdGggb3RoZXIgc2VsYnJpIG9y IHRhbnJ1IHRvIGZvcm0gbW9yZSBjb21wbGV4IHRhbnJ1LiBUaHVzICcnemRhbmkgdmVjbnUnJyBp cyBhIHRhbnJ1LCBhcyB3ZWxsIGFzICAnJ3BlbHh1IHpkYW5pIHZlY251JycsIHdoaWNoIGlzIG1h ZGUgZnJvbSB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaScnIGFuZCB0aGUgc2luZ2xlIGJyaXZsYSB3 b3JkICcndmVjbnUnJy4gVG8gdW5kZXJzdGFuZCB0aGUgY29uY2VwdCBvZiB0YW5ydSwgY29uc2lk ZXIgdGhlIEVuZ2xpc2ggbm91biBjb21iaW5hdGlvbiDigJxsZW1vbiB0cmVl4oCdLiBJZiB5b3Ug ZGlkbid0IGtub3cgd2hhdCBhIGxlbW9uIHRyZWUgd2FzLCBidXQgaGFkIGhlYXJkIGFib3V0IGJv dGggbGVtb25zIGFuZCB0cmVlcywgeW91IHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRlZHVjZSB3aGF0 IGEgbGVtb24gdHJlZSB3YXMuIFBlcmhhcHMgYSBsZW1vbi1jb2xvcmVkIHRyZWUsIG9yIGEgdHJl ZSBzaGFwZWQgbGlrZSBhIGxlbW9uLCBvciBhIHRyZWUgd2hvc2UgYmFyayB0YXN0ZXMgbGlrZSBs ZW1vbi4gVGhlIG9ubHkgdGhpbmdzIHlvdSBjb3VsZCBrbm93IGZvciBzdXJlIHdvdWxkIGJlIHRo YXQgaXQgd291bGQgYmUgYSB0cmVlLCBhbmQgaXQgd291bGQgYmUgbGVtb24tbGlrZSBpbiBzb21l IHdheS4KCkEgdGFucnUgaXMgY2xvc2VseSBhbmFsb2dvdXMgdG8gdGhpcy4gSXQgY2Fubm90IGJl IHNhaWQgZXhhY3RseSB3aGF0IGEgJyd6ZGFuaSB2ZWNudScnIGlzLCBidXQgaXQgY2FuIGJlIHNh aWQgdGhhdCBpdCBpcyBkZWZpbml0ZWx5IGEgdmVjbnUsIGFuZCB0aGF0IGl0J3MgemRhbmktbGlr ZSBpbiBzb21lIHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55IHdheS4gSW4g dGhlb3J5LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVjdGlvbiB0byB6 ZGFuaSB3YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNudScnLiBIb3dl dmVyLCBpdCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5IHNlbnNlIGlu IG9yZGVyIGZvciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAnJ3pkYW5pIHZl Y251JycgYXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3b3JzZSBzb3Vu ZGluZyDigJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2Yg YSB0YW5ydSBpcyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4gSXQncyBhbHNv IHNhaWQgdGhhdCB0aGUgbGVmdCBzZWxicmkgbW9kaWZpZXMgdGhlIHJpZ2h0IHNlbGJyaS4KCuKA nFJlYWxseT/igJ0sIHlvdSBhc2ssIHNjZXB0aWNhbGx5LCDigJxJdCBkb2Vzbid0IG1hdHRlciBo b3cgc2lsbHkgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGxlZnQgd29yZCBpbiBhIHRhbnJ1IGlzLCBp dCdzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3IgJyd6ZGFuaSB2 ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkgdGhpbmsgaXQn cyB6ZGFuaS1saWtlP+KAnQoKV2VsbCB5ZXMsIGJ1dCB0aGVuIHlvdSdkIGJlIGEgZGljay4gT3Ig YXQgbGVhc3QgeW91J2QgYmUgaW50ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBnZW5lcmFsLCB5 b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4gaXQncyBvYnZpb3VzIGhvdyB0aGUgbGVmdCB3b3Jk IHJlbGF0ZXMgdG8gdGhlIHJpZ2h0LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93 aW5nOiAnJ3RpIHBlbHh1IHpkYW5pIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGF0 IGlzIGEgeWVsbG93IGhvbWUgZm9yIHlvdeKAnSBBZ2Fpbiwgd2UgZG9uJ3Qga25vdyBpbiB3aGlj aCB3YXkgaXQncyB5ZWxsb3cuIFByb2JhYmx5IGl0J3MgcGFpbnRlZCB5ZWxsb3csIGJ1dCB3ZSBk b24ndCBrbm93IGZvciBzdXJlLn5+CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnEkgc2VsbC1saWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQgbWVhbj8gTm8g aWRlYS4gSXQgY2VydGFpbmx5IGRvZXNuJ3QgbWVhbiB0aGF0IHlvdSBzb2xkIHNvbWV0aGluZywg c2luY2UsIGJ5IGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUgbm8gcGF5bWVu dCBpbnZvbHZlZC4gSXQgaGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxsLWxpa2UgaW4g c29tZSBhc3BlY3Qufn4KCgoKQW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVy ZW50LiBXaGF0IGlmIEkgd2FudGVkIHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/CgonJ19fZG90 Y29fXycnIHgxIGlzIEdlcm1hbi9yZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBhc3BlY3QgeDIK CgoKSSBjYW4ndCBzYXkgJydtaSB2ZWNudSB6bydlIGRvdGNvJycgYmVjYXVzZSB0aGF0IHdvdWxk IGxlYXZlIHR3byBzZWxicmkgaW4gYSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1pdHRlZC4gSSBj b3VsZCBzYXkgJydtaSBkb3RjbyB2ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVubmVjZXNzYXJ5 IHZhZ3VlIC0gSSBjb3VsZCBzZWxsIGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2UsIGlmIEkgd2Fu dCB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdoYXQgc2hvdWxk IEkgc2F5PwoKJydfX3BlbmRvX18nJyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydfX21lcmtvX18n JyB4MSBpcyBBbWVyaWNhbi9yZWZsZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkFnYWlu LCB0aGUgb2J2aW91cyB3b3VsZCBiZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycnLCBidXQgdGhh dCB3b3VsZCBmb3JtIGEgdGFucnUsIG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlrZSBBbWVyaWNh buKAnSwgd2hpY2ggaXMgd3JvbmcuIFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMgdG8gdGFrZSB0 aGUgc2VsYnJpICcnbWVya28nJyBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10aSBzbyBpdCBj YW4gYmUgdXNlZCBpbiB0aGUgc2VsYnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25lIGJ5IHRoZSB0 d28gd29yZHMgJydsbycnIGFuZCAnJ2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5lcmljIGJlZ2lu IGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNlbGJyaSB0byB1 c2UgYXMgc3VtdGkuCgpfXycna3UnJ19fIOKAkyBlbmQgY29udmVydCBzZWxicmkgdG8gc3VtdGkg cHJvY2Vzcy4KCgoKWW91IHNpbXBseSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRoZXNlIHR3byB3 b3JkcywgYW5kIGl0IHRha2VzIGFueXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgxIG9mIHRoYXQg c2VsYnJpIGFuZCB0dXJucyBpdCBpbnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFuY2UsIHRoZSB0 aGluZ3MgdGhhdCBjYW4gZmlsbCB6ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdzIHdoaWNoIGFy ZSBob21lcyBvZiBzb21lYm9keS4gU28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKAnGEgaG9tZSBv ciBzb21lIGhvbWVzIGZvciBzb21lYm9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNheSB0aGF0IHNv bWV0aGluZyBpcyBwZWx4dSwgaXQgbWVhbnMgaXQncyB5ZWxsb3cuIFNvICcnbG8gcGVseHUga3Un JyByZWZlcnMgdG8gc29tZXRoaW5nIHllbGxvdy4KCgoKTm93IHlvdSBoYXZlIHRoZSBuZWNlc3Nh cnkgZ3JhbW1hciB0byBiZSBhYmxlIHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVy aWNhbi7igJ0gSG93PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcGVuZG8gbG8gbWVya28g a3UnJ35+CgoKClRoZXJlIGlzIGEgZ29vZCByZWFzb24gd2h5IHRoZSAnJ2t1JycgaXMgbmVjZXNz YXJ5LiBUcnkgdG8gdHJhbnNsYXRlIOKAnEEgR2VybWFuIHNlbGxzIHRoaXMgdG8gbWXigJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ2xvIGRvdGNvIGt1IHZlY251IHRpIG1pJycgSWYgeW91IGxl YXZlIG91dCB0aGUga3UsIHlvdSBkbyBub3QgZ2V0IGEgYnJpZGksIGJ1dCBzaW1wbHkgdGhyZWUg c3VtdGkuIFNpbmNlIGxv4oCma3UgY2Fubm90IGNvbnZlcnQgYnJpZGksIHRoZSB0aSBpcyBmb3Jj ZWQgb3V0c2lkZSB0aGUgc3VtdGksIHRoZSBsby1jb25zdHJ1Y3QgaXMgZm9yY2VkIHRvIGNsb3Nl IGFuZCBpdCBzaW1wbHkgYmVjb21lcyB0aGUgdGhyZWUgc3VtdGkgb2YgJydsbyBkb3RjbyB2ZWNu dSB7a3V9JycsICcndGknJyBhbmQgJydtaScnLn5+CgoKCllvdSBhbHdheXMgaGF2ZSB0byBiZSBj YXJlZnVsIHdpdGgganVmcmEgbGlrZSAnJ2xvIHpkYW5pIGt1IHBlbHh1JycuIElmIHRoZSAnJ2t1 JycgaXMgbGVmdCBvdXQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyBkb2VzIG5vdCBlbmQsIGFuZCBp dCBzaW1wbHkgYmVjb21lcyBvbmUgc3VtdGksIG1hZGUgZnJvbSB0aGUgdGFucnUgJyd6ZGFuaSBw ZWx4dScnIGFuZCB0aGVuIGNvbnZlcnRlZCB3aXRoICcnbG8nJy4KCgoKCgohIUxvamJhbiBMZXNz b25zIOKAkyBsZXNzb24gZm91ciAoYXR0aXR1ZGluYWxzKQoKQW5vdGhlciBjb25jZXB0IHdoaWNo IGNhbiBiZSB1bmZhbWlsaWFyIHRvIEVuZ2xpc2ggc3BlYWtlcnMgaXMgdGhhdCBvZiBhdHRpdHVk aW5hbHMuIEF0dGl0dWRpbmFscyBhcmUgd29yZHMgdGhhdCBleHByZXNzIGVtb3Rpb25zIGRpcmVj dGx5LiBUaGUgaWRlYSBvZiBhdHRpdHVkaW5hbHMgb3JpZ2luYXRlZCBpbiB0aGUgZmVtaW5pc3Qg Y29uc3RydWN0ZWQgbGFuZ3VhZ2UgTGFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUgZmVt YWxlIGVtb3Rpb25zLiBUaGUgaWRlYSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJlc3Np b24gd2FzIGhpbmRlcmVkIGJ5IG1hbGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYgb25seSB0 aGV5IHdlcmUgYWJsZSB0byBiZSBleHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMgd291bGQgZW1w b3dlciB3b21lbiB0aHJvdWdoIGxpYmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoKSW4gTG9qYmFu LCB0aGVyZSBpcyBubyBzdWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHByb2JhYmx5 IGhhdmUgYmVlbiBkZXNpZ25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVybmVk IG91dCB0byBiZSBpbmNyZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2ZSBh IHNvLWNhbGxlZCBmcmVlIGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4gYXBwZWFy IGFsbW9zdCBhbnl3aGVyZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBicmlk aSdzIGdyYW1tYXIgb3IgYW55IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBMb2piYW4gZ3Jh bW1hciwgYW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29yZC4gSWYgdGhh dCBwcmV2aW91cyB3b3JkIGlzIGEgd29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxpa2Ug JycuaScnIG9yICcnbG8nJyksIGl0IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3QuIExp a2V3aXNlLCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2ggZW5kcyBhIGNv bnN0cnVjdCBsaWtlICcna3UnJywgaXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29uc3RydWN0LgoK CgpMZXQncyBoYXZlIHR3byBhdHRpdHVkaW5hbHMgdG8gbWFrZSBzb21lIGV4YW1wbGVzOgoKX18n Jy51aScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBoYXBwaW5lc3MgLSB1 bmhhcHBpbmVzcwoKX18nJ3phJ2EnJ19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlhbDogSSBkaXJl Y3RseSBvYnNlcnZlCgoKCk5vdGUgdGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJy51aScnLCB0 aGVyZSBhcmUgbGlzdGVkIHR3byBlbW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhhcHBpbmVzcy4g VGhpcyBtZWFucyB0aGF0ICcnLnVpJycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3MsIHdoaWxlIGl0 cyDigJxuZWdhdGlvbuKAnSwgbWVhbnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u4oCdIG1pZ2h0 IGJlIHRoZSB3cm9uZyB3b3JkIGhlcmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIgZGVmaW5pdGlv biBvZiAnJy51aScnIGlzIGFub3RoZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4gTW9zdCBvZiB0 aGUgdGltZSwgdGhlIHNlY29uZCBkZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAtIHRoZSBvbmVz IHN1ZmZpeGVkIHdpdGggJyduYWknJyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIGJh cmUgYXR0aXR1ZGluYWwuIE90aGVyIHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJyduYWknJ19fIG1p c2MuIG5lZ2F0aW9uIC0gYXR0YWNoZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFuZ2VzIHRoZSBt ZWFuaW5nIGludG8gdGhlIGF0dGl0dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQgc29tZSBtb3Jl IHNlbGJyaSwganVzdCBmb3IgdGhlIGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19fIOKAkyB4MSBl YXRzIHgyCgpfXycncGxpc2UnJ19fIOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlwZSB4 MgoKCgpUaGUgc2VudGVuY2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMg4oCc WW91IGVhdCBhbiBhcHBsZSwgeWF5IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRoYXQgaXQg aXMgdGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhl IGVhdGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcn ZG8gemEnYSBjaXRrYSBsbyBwbGlzZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBvYnNlcnZl cyB0aGF0IGl0IGlzIGluZGVlZCB0aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBwbGUg YXMgb3Bwb3NlZCB0byBzb21lb25lIGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNl ZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBs eSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhl IGVudGlyZSBicmlkaToKCicnLnVpIHphJ2EgZG8gZHVuZGEgbG8gcGxpc2Uga3UgbWknJyDigJMg 4oCcWWF5LCBJIG9ic2VydmUgdGhhdCB5b3UgZ2l2ZSBhbi9zb21lIGFwcGxlIHRvIG1lIeKAnQoK CgonJ21pIHZlY251IC51aSBuYWkgbG8gemRhbmkga3UnJyDigJxJIHNlbGwgKHdoaWNoIHN1Y2tz ISkgYSBob21l4oCdLgoKCgpUcnkgaXQgb3V0IHdpdGggYSBmZXcgZXhhbXBsZXMuIEZpcnN0LCB0 aG91Z2gsIGhlcmUgYXJlIHNvbWUgbW9yZSBhdHRpdHVkaW5hbHM6CgpfXycnLnUndScnX18gYXR0 aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxlc3NuZXNzIC0g aW5ub2NlbmNlLgoKX18nJy5vaScnX18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9u OiBjb21wbGFpbnQgLSBwbGVhc3VyZS4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFsOiBtaXNjZWxs YW5lb3VzIHB1cmUgZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhhdCwgdHdvIHdv cmRzIHdpdGggdGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBtaWRkbGUgb25l IGlzIGFjY2Vzc2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N1J2knJy4gSXQncyBjb25zaWRlcmVk IHRoZSBtaWRwb2ludCBvZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdpJydfXyBhdHRpdHVkaW5hbCBt aWRwb2ludCBzY2FsYXI6IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0byBjaGFuZ2UgdGhlIG1lYW5p bmcgdG8gdGhlICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rpb24uCgoKClRyeSBzYXlpbmcg4oCcSSBn aXZlIHNvbWV0aGluZyB0byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgZHVuZGEgZmkgbG8gZG90Y28ga3UgLml1Jycgb3IgJyd6bydlJycgaW5zdGVh ZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBsZeKAnQoKQW5z d2VyOiB+fmdyZXksZ3JleTonJy5vaSBuYWkgbWkgY2l0a2EgbG8gcGVseHUgcGxpc2Uga3UnJ35+ CgoKCkxldCdzIGhhdmUgYW5vdGhlciBhdHRpdHVkaW5hbCBvZiBhIGRpZmZlcmVudCBraW5kIHRv IGlsbHVzdHJhdGUgc29tZXRoaW5nIHBlY3VsaWFyOgoKJycuZWknJyBBdHRpdHVkaW5hbDogY29t cGxleCBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IG9ibGlnYXRpb24gLSBmcmVlZG9tLgoKCgpTbywg cXVpdGUgZWFzeTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0gaXMgJydtaSBk dW5kYSAuZWkgbG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEgV2hlbiB5b3Ug dGhpbmsgYWJvdXQgaXQsIHRoYXQncyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxsIHRoZSBvdGhl ciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhlIHNwZWFrZXIn cyBmZWVsaW5nIGFib3V0IHRoZSBicmlkaSwgYnV0IHRoaXMgb25lIGFjdHVhbGx5IGNoYW5nZXMg d2hhdCB0aGUgYnJpZGkgbWVhbnM/IFN1cmVseSwgYnkgc2F5aW5nIOKAnEkgaGF2ZSB0byBnaXZl IHRoZSBhcHBsZSBhd2F54oCdLCB3ZSBzYXkgbm90aGluZyBhYm91dCB3aGV0aGVyIHRoZSBhcHBs ZSBhY3R1YWxseSBpcyBiZWluZyBnaXZlbiBhd2F5LiBJZiBJIGhhZCB1c2VkICcnLnVpJycsIGhv d2V2ZXIsIEkgd291bGQgYWN0dWFsbHkgaGF2ZSBzdGF0ZWQgdGhhdCBJIGdhdmUgdGhlIGFwcGxl IGF3YXksIGFuZCB0aGF0IEkgd2FzIGhhcHB5IGFib3V0IGl0LiBXaGF0J3MgdGhhdCBhbGwgYWJv dXQ/CgoKClRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNv bmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5v ciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJvb2vigJ0gcnVsZSwgd2hpY2ggcHJvYmFi bHkgd29uJ3QgYmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJldHdl ZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90aW9uc+KAnS4g T25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0aW9u cywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBwcm9w b3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0cnV0 aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRoZSBi cmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkgY29u c2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgoKCgpf XycnZGEnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IHN1cHBvc2luZyAtIGluIGZhY3QK ClNheWluZyAnJ2RhJ2knJyBpbiBhIGJyaWRpIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbnMg dG8gaHlwb3RoZXRpY2FsLCB3aGljaCBpcyB0aGUgZGVmYXVsdCB1c2luZyBwcm9wb3NpdGlvbmFs IGF0dGl0dWRpbmFscy4gU2F5aW5nICcnZGEnaSBuYWknJyBjaGFuZ2VzIHRoZSB0cnV0aCBjb25k aXRpb24gdG8gdGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJlIGF0dGl0dWRp bmFscy4KCgoKU28sIHdoYXQncyB0d28gd2F5cyBvZiBzYXlpbmcg4oCcSSBnaXZlIHRoZSBhcHBs ZSBhd2F54oCdPyAoYW5kIGZlZWwgb2JsaWdhdGlvbiBhYm91dCBpdCkKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIGR1bmRhIGxvIHBsaXNlIC5pIC5laScnICBhbmQgJydtaSBkdW5kYSBkYSdp IG5haSAuZWkgbG8gcGxpc2UnJ35+CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0dWRpbmFsIGNh biBiZSBzdWJzY3JpYmVkIHRvIHNvbWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBVc3VhbGx5IGlu IG9yZGluYXJ5IHNwZWVjaCwgdGhlIGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQgdG8gdGhlIGxp c3RlbmVyLCBidXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNhdXNlIHRoZSB3 b3JkIGlzIGdsb3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1vdGlvbnMpLCBz b21lIExvamJhbmlzdHMgbWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2VyIG11c3Qgc2hh cmUgdGhlIGVtb3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycnZGFpJydfXyBh dHRpdHVkaW5hbCBtb2RpZnllcjogRW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVkaW5hbCB0byBz b21lb25lIGVsc2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBsZTogJyd1J2kgLm9pIGRhaSBjaXRrYSB0 aScnIC0g4oCcSGEgaGEsIHRoaXMgd2FzIGVhdGVuISBUaGF0IG11c3QgaGF2ZSBodXJ0IeKAnQoK CgpXaGF0IG9mdGVuIHVzZWQgcGhyYXNlIGNvdWxkICcnLm9pIHUnaSBkYWknJyBtZWFuPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoKQW5kIGFub3Ro ZXIgb25lIHRvIHRlc3QgeW91ciBrbm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg4oCcSGUgd2Fz IHNvcnJ5IGhlIHNvbGQgYSBob21l4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5zZSBpcyBpbXBs aWVkIGFuZCBuZWVkIG5vdCBiZSBzcGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNvdWxkIGJlIG9i dmlvdXMgZnJvbSBjb250ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndSd1IGRhaSB2ZWNu dSBsbyB6ZGFuaSBrdScnfn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFuIGF0dGl0dWRp bmFsIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2UgY2FuIGJlIHVz ZWQgYWZ0ZXIgYW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGggJyduYWknJyBv ciAnJ2N1J2knJyBzdWZmaXhlZC4gSXQncyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVucyB3aGVuIHlv dSBhdHRhY2ggaXQgdG8gb3RoZXIgd29yZHMsIGxpa2UgYSBzZWxicmksIG11c3QgaXQncyBtb3N0 bHkgdW5kZXJzdG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxicmkgaW4g c29tZSB1bnNwZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNpdHkgIAoK IGNhaXwgICBFeHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNpZmllZCAo bWVkaXVtKQoKIHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJlc3NlZCB1 c2luZyAnJy51J2kgbmFpIHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBs ZSBwdXJlIGVtb3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OlN0cm9uZyB3ZWFyaW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHByZXNzIHRoYXQg eW91IGFyZSBtaWxkbHkgcmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JycudSd1 IGN1J2kgcnUnZScnfn4KCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZpdmUgKFNFKQoK QmVmb3JlIHdlIHZlbnR1cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29tcGxleCBjb25z dHJ1Y3RzLCB5b3Ugc2hvdWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciByZW9yZGVyaW5n IHRoZSBzdW10aSBvZiBhIHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBpcyB2ZXJ5IHVz ZWZ1bCBmb3IgbWFraW5nIGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5kIG9mIHN1bXRp IHdpdGggJydsbycnKS4KCkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBhIGdpZnTigJ0s IHdoaWNoIG1pZ2h0IGJlIGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBhcHBsZS4gVG8g dHJhbnNsYXRlIHRoaXMsIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVwIGEgc2VsYnJp IG1lYW5pbmcg4oCcZ2lmdOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwgaWYgb25lIGxv b2tzIGNhcmVmdWxseSBhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgxIGdpdmVzIHgy IHRvIHgzLCBvbmUgcmVhbGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlzIHNvbWV0aGlu ZyBnaXZlbiDigJMgYSBnaWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5jZSwgd2UgY2Fu J3Qgc2F5ICcnbWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRhIGt1Jycg d291bGQgYmUgdGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBhIGdpZnQu IENhbm5pYmFsaXNtIGFzaWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBXaGF0IHdlIHdh bnQgaXMgYSB3YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlzIG9uZSBl eGFtcGxlIHdoZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBXaGF0ICcn c2UnJyBkb2VzIGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFuZCB4MiBv ZiB0aGF0IHNlbGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScnICsgc2Vs YnJpIGlzIG9uIGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0cnkgd2l0aCBh biBvcmRpbmFyeSBzZW50ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFuc2xhdGVzIHgy IHRvIGxhbmd1YWdlIHgzIGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2YgdHJhbnNsYXRp b24geDXigJ0KCicndGkgc2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoKVGhpcyBpcyB0 cmFuc2xhdGVkIGJ5IG1lICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0IG5vdCBhbHdh eXMsIGJyaWRpIHdpdGggJydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQgdG8gc2VudGVu Y2VzIHdpdGggdGhlIHBhc3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRlbiB0aGUgb2Jq ZWN0IHRha2luZyBhY3Rpb24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9mIHdvcmRzLiBB bGwgb2YgdGhlbSBzd2FwIGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoKfHxzZQl8c3dh cCB4MSBhbmQgeDIKCnRlCXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5kIHg0Cgp4ZQl8 c3dhcCB4MSBhbmQgeDV8fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBjb25zZWN1dGl2 ZSBjb25zb25hbnRzIGluIHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2luZyB0aGlzIGtu b3dsZWRnZSwgd2hhdCB3b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAob3IgJydmYW52 YSB0aSBmdSB0aScnKX5+CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2YgY291cnNlIGJl IGNvbWJpbmVkIHdpdGggJydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0IGNhbiBiZSB2 ZXJ5IGNvbmZ1c2luZyBpbmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286CgpfXycna2xh bWEnJ19fID0g4oCceDEgdHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0IHVzaW5nIHg1 IGFzIHRyYW5zcG9ydGF0aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0ZSBrbGFtYSBm ZSBkbyB0aSBmYSBtaScnID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBrdScnIGFuZCBz aW5jZSAnJ3RlJycgZXhjaGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRvIG1pIGxvIHpk YW5pIGt1JycKCuKAnFRoaXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBob21lLuKAnSBP ZiBjb3Vyc2UsIG5vIG9uZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNlcHQgdG8gY29u ZnVzZSBwZW9wbGUsIG9yIGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5kaW5nIG9mIExv amJhbiBncmFtbWFyLgoKQW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9pbnQgd2hlcmUg d2UgY2FuIHNheSDigJxJIGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2UgdGhlIHN1bXRp IHBsYWNlcyBvZiAnJ2R1bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0aGVuIGV4dHJh Y3QgdGhpcyBuZXcgeDEgd2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291bGQgeW91IHNh eSBpdD8KCk9uZSAocG9zc2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaXRrYSBsbyBz ZSBkdW5kYSBrdScnfn4KClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMgZm9yICcnc2Un JyBhbmQgaXRzIGZhbWlseS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2l4IChh YnN0cmFjdGlvbnMpCgpTbyBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5nbGUgc2VudGVu Y2VzIG9uZSBhdCBhIHRpbWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5ncywgaG93ZXZl ciwgeW91IG9mdGVuIG5lZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5LCB0aGVzZSBh cmUgbXVjaCBlYXNpZXIgaW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhwZWN0LgoKV2Ug Y2FuIGJlZ2luIHdpdGggYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDigJxJIGFtIGhh cHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJyaWRpIGlzIOKA nEkgYW0gaGFwcHkgdGhhdCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCcWW91IGFyZSBt eSBmcmllbmQu4oCdIExvb2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhhcHB54oCdLCB3 aGljaCBpcyAnJ2dsZWtpJyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5IGFib3V0IHgy IChldmVudC9zdGF0ZSnigJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRvIGJlIGFuIGV2 ZW50IG9yIGEgc3RhdGUuIFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fubm90IGJlIGhh cHB5IGFib3V0IGFuIG9iamVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBzdGF0ZSB0aGUg b2JqZWN0IGlzIGluLiBCdXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBhIHN0YXRlIG9y IGFuIGV2ZW50LCBhbmQgb25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydnbGVraScnIQoK QXMgeW91IG1pZ2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4gVGhlIHdvcmRz ICcnc3UndScnLi4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlkaSB0byBzZWxi cmnigJ0gZnVuY3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydrdScnLiBFeGFt cGxlOgoKX18nJ21yb2JpJ28nJ19fIOKAnHgxIGRpZXMgdW5kZXIgY29uZGl0aW9uIHgy4oCdCgpf Xycnc3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCgpf Xycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCicnbWkgc3UndSBkbyBtcm9iaSdvIGtlaScnIOKA kyDigJxJIGFtIHlvdXIgZGVhdGjigJ0uCgpJdCdzIGhhcmQgdG8gZmluZCBnb29kIHVzZXMgb2Yg YSBicmlkaSBhcyBhIHNlbGJyaSwgYW5kIHRoZSBhYm92ZSBleGFtcGxlIHNlZW1zIGEgbGl0dGxl IHVuY29udmluY2luZy4gSG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScnIGlzIGEgc2Vs YnJpLCBvbmUgY2FuIGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1Jycu CgpOb3cgd2UgaGF2ZSB0aGUgZXF1aXBtZW50IHRvIGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0aGF0 IHlvdSBhcmUgbXkgZnJpZW5k4oCdLiBUcnkgaXQgb3V0IQoKX18nJ3BlbmRvJydfXyDigJx4MSBp cyBhIGZyaWVuZCBvZiB4MuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8g c3UndSBkbyBwZW5kbyBtaSBrZWkga3UnJ35+CgoKCkhvd2V2ZXIsICcnc3UndScn4oCmJydrZWkn JyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNw ZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2VpJycgYW5kICcnZHUndScn4oCmJydrZWknJy4gVGhl eSB3b3JrIHRoZSBzYW1lIHdheSwgYnV0IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVudC4gJydudeKA pmtlaScnIHRyZWF0cyB0aGUgYnJpZGkgaW4gYmV0d2VlbiBhcyBhbiBldmVudCBvciBzdGF0ZSwg YW5kICcnZHUndeKApmtlaScnIHRyZWF0cyBpdCBhcyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4 cHJlc3NpbmcgdGhpbmdzIGxpa2UgaWRlYXMsIHRob3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNl IHdvcmRzIChleGNlcHQgJydrZWknJykgYXJlIGNhbGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJl IG1hbnkgb2YgdGhlbSwgYW5kIG9ubHkgZmV3IGFyZSB1c2VkIG11Y2guICcnc3UndeKApmtlaScn IGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoK VXNlICcnbnUnJyB0byBzYXkg4oCcSSdtIGhhcHB5IGFib3V0IHRhbGtpbmcgdG8geW91LuKAnQoK X18nJ3RhdmxhJydfXyB4MSB0YWxrcyB0byB4MiBhYm91dCBzdWJqZWN0IHgzIGluIGxhbmd1YWdl IHg0LgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8ga2Vp IGt1JycgKG5vdGljZSBib3RoIHRoZSBFbmdsaXNoIGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3VlIGFz IHRvIHdobyBpcyBkb2luZyB0aGUgdGFsa2luZykufn4KCgoKT3RoZXIgaW1wb3J0YW50IGFic3Ry YWN0b3JzIGluY2x1ZGU6ICcna2EuLi5rZWknJyAocHJvcGVydHkvYXNwZWN0IGFic3RyYWN0aW9u KSwgJydzaSdvLi4ua2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWkn JyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFtb25nIG90aGVycy4gVGhlIG1lYW5pbmdzIG9mIHRo ZXNlIGlzIGEgY29tcGxpY2F0ZWQgbWF0dGVyLCBhbmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVjaCBs YXRlciwgaW4gbGVzc29uIHR3ZW50eS1uaW5lLiBGb3Igbm93LCB5b3UnbGwgaGF2ZSB0byBkbyB3 aXRob3V0IHRoZW0uCgoKCkl0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCBzb21lIGFic3Ry YWN0b3JzIGhhdmUgc2V2ZXJhbCBzdW10aSBwbGFjZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUndScn IGNhbiBiZSBtZW50aW9uZWQuICcnZHUndScnIGlzIGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKAnGFi c3RyYWN0b3IuIHgxIGlzIHRoZSBwcmVkaWNhdGUvYnJpZGkgb2Yge2JyaWRpfSBleHByZXNzZWQg aW4gc2VudGVuY2UgeDLigJ0uCgpUaGUgb3RoZXIgc3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEgaXMg cmFyZWx5IHVzZWQsIGJ1dCAnJ2xvIHNlIGR1J3Uge2JyaWRpfSBrZWkga3UnJyBpcyBzb21ldGlt ZXMgdXNlZCBhcyBhIHN1bXRpIGZvciBpbmRpcmVjdCBxdW90YXRpb246IOKAnEkgc2FpZCB0aGF0 IEkgd2FzIGdpdmVuIGEgZG9n4oCdIGNhbiBiZSB3cml0dGVuICcnbWkgY3Vza3UgbG8gc2UgZHUn dSBtaSB0ZSBkdW5kYSBsbyBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9uIHRo ZSB3ZWlyZCBleGFtcGxlLgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMgdGhy b3VnaCBtZWRpdW0geDQKCl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoKISFM b2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwg dGhlcmUncyBhbm90aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxs ZWQgcmVsYXRpdmUgY2xhdXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRl c2NyaXB0aW9uIHRvIGEgc3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2 aW91cyBzZW50ZW5jZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBp biBFbmdsaXNoIGRlc2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNv bWUgaW4gdHdvIGZsYXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0 aGUgdHdvIGtpbmRzIGJlZm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3 byBraW5kcyBhcmUgY2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGlu Y2lkZW50aWFsKSByZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVy ZToKCuKAnE15IGJyb3RoZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lh bi7igJ0gVGhpcyBjYW4gYmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNl dmVyYWwgYnJvdGhlcnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFs bCB3aWxsIGxldCB5b3Uga25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3Ig SSBtaWdodCBoYXZlIG9ubHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkg Z2l2aW5nIHlvdSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwg YXMgTG9qYmFuIHdlIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUg Zmlyc3QgaW50ZXJwcmV0YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3Ry aWN0IHRoZSBwb3NzaWJsZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUg c2Vjb25kIG5vbi1yZXN0cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFu ZCB0b25lIG9mIHZvaWNlIChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxw cyB1cyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4u IExvamJhbiB1c2VzIHRoZSBjb25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1 J28nJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2Vz LCByZXNwZWN0aXZlbHkuCgpMZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2Fu IGFsc28gZXhwbGFpbiBvdXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4 YW1wbGUgaW4gbGVzc29uIGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUg cmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBi ZWdpbiByZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10 aSkKCl9fJydrdSdvJydfXyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2Ug ZHVuZGEga3UgcG9pIHBsaXNlIGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNv bWV0aGluZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxh Y2VkIGp1c3QgYWZ0ZXIgJydsbyBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBn aWZ0LiBUbyBiZSBzdHJpY3QsIHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3 aGF0IGl0IGlzLCB3aGljaCBpcyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1 c2UgYXBwbGllcyB0byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpdCBtZWFu cyB0aGF0IHRoZSBnaWZ0IGlzIGFuIGFwcGxlLiBBZnRlciBhbGwsIGluIHRoZSBjb250ZXh0IG9m IGxlc3NvbiBmaXZlLCB0aGlzIHNlZW1zIHJlYXNvbmFibGUuIElmIHdlIHdhbnQgdG8gYmUgYWJz b2x1dGVseSBzdXJlIHRoYXQgaXQgaW5kZWVkIHdhcyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBhcHBs ZSwgd2UgdXNlIHRoZSB3b3JkICcna2UnYScnLCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChhIExv amJhbiBwcm9ub3VuLCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3VtdGkg d2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydfXyBz dW1rYSdpOyByZWZlcnMgdG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNl IGl0IGF0dGFjaGVkLgoKCgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2UnYSBw bGlzZSBrdSdvJycgPSDigJxZYXksIEkgZWF0IGEgZ2lmdCB3aGljaCBpcyBhbiBhcHBsZeKAnS4K ClRvIHVuZGVybGluZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24t cmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgaGVyZSdzIGFub3RoZXIgZXhhbXBsZToKCgoK X18nJ2xvamJvJydfXyDigJx4MSByZWZsZWN0cyBMb2piYW5pYyBjdWx0dXJlL2NvbW11bml0eSBp cyBhc3BlY3QgeDI7IHgxIGlzIExvamJhbmljLuKAnQoKCgonJ21pIG5vaSBsb2pibyBrdSdvIGZh bnZhIGZvIGxvIGxvamJvIGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5pYywgdHJhbnNsYXRl IGZyb20gc29tZSBMb2piYW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11bHRp cGxlIHRoaW5ncyB3aGljaCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0aGF0 IEkgYW0gbG9qYmFuaWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbm90IG5lZWRl ZCB0byBpZGVudGlmeSBtZS4gVGhlcmVmb3JlICcnbm9p4oCma3UnbycnIGlzIGFwcHJvcHJpYXRl LgoKU2VlIGlmIHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3 aG8gaXMgYmVhdXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1h buKAnQoKX18nJ21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChr YSkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2Nv dXJ0cyB4MiwgZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7a2UnYX0gbWVs Ymkga3Unbycnfn4KCgoKT24gYSBtb3JlIHRlY2huaWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0IGJl IHVzZWZ1bCB0byBrbm93IHRoYXQgJydsbyB7c2VsYnJpfSBrdScnIGlzIG9mdGVuIHNlZW4gZGVm aW5lZCBhcyAnJ3pvJ2Ugbm9pIGtlJ2Ege3NlbGJyaX0ga3UnbycnLgoKCgoKCiEhTG9qYmFuIExl c3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVybWluYXRvciBlbGlzaW9uKQoKJycuYXUgZGEnaSBt aSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBl IGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1 IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCiAtICDigJxJIHdpc2ggdGhlIEFtZXJpY2FuLCB3 aG8gaXMgbXkgc2libGluZywgd291bGQgdW5kZXJzdGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0aGF0 IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNl IGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBzaG91bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdvcmRz IHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFu ZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1v cmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBnZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tl aScnLCAnJ2t1J28nJyBhbmQgb3RoZXIgb2YgdGhvc2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNlbHZl cyBjYXJyeSBubyBtZWFuaW5nLgoKCgpUaGUgZnVuY3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRzIGlz IHRvIHNpZ25hbCB0aGUgZW5kIG9mIGEgY2VydGFpbiBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxp a2UgZm9yIGluc3RhbmNlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNl IG9mICcna3UnJy4gVGhlIEVuZ2xpc2ggd29yZCBmb3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCc dGVybWluYXRvcuKAnSwgdGhlIExvamJhbiB3b3JkIGlzICcnZmEnb3JtYSdvJycuIFRoZXkgYXJl IHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBsZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3ZhdScn IGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUgZmEnb3JtYSdvIGZvciDigJxlbmQgYnJpZGni gJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24geW91IGhhdmUgbm90IHlldCBzZWVuIGl0LCBzdGF5 IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3JtYSdvOiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJbiBt b3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2piYW4sIG1vc3QgZmEnb3JtYSdvIGFyZSBza2lwcGVk IChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMgc3lsbGFibGVzIGluIHNwZWVjaCBhbmQgc3Bh Y2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25lIG11c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hlbiBl bGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNpbXBsZSBleGFtcGxlICcnbG8gbWVya28ga3Uga2xh bWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAnJ2t1Jycgd291bGQgeWllbGQgJydsbyBtZXJr byBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmdsZSBzdW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1ICcn bWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLigJ0g aW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lvbiBj YW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMgaWYgZG9uZSBpbmNvcnJlY3RseSwgd2hpY2gg aXMgd2h5IHlvdSBoYXZlbid0IGxlYXJuZWQgYWJvdXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVs ZSBmb3Igd2hlbiBmYSdvcm1hJ28gY2FuIGJlIGVsaWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVh c3QgaW4gdGhlb3J5OiDigJxZb3UgY2FuIGVsaWRlIGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5 IGlmX18gZG9pbmcgc28gZG9lcyBub3QgY2hhbmdlIHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rz IGluIHRoZSBzZW50ZW5jZS7igJ0KCk1vc3QgZmEnb3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVk IGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLiBFeGNlcHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVz IGxpa2Ug4oCcZW5kIHF1b3Rl4oCdLWZhJ29ybWEnbyBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n 4oCdLWZhJ29ybWEnby4gVGhpcyBpcyB3aHkgJyd2YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDi gJMgc2ltcGx5IGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBh bHdheXMgdGVybWluYXRlIHRoZSBwcmVjZWRpbmcgYnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZy ZXF1ZW50IHVzZSwgaG93ZXZlci4gU2luY2UgYXR0aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0 aGUgcHJlY2VkaW5nIHdvcmQsIGFwcGx5aW5nIGl0IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQg dG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qgd2hpY2ggaXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUn Jywgb25lIGNhbiB0aGVuIHVzZSBhdHRpdHVkaW5hbHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0 aGVtIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJ3phJ2EgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBs byBwcmVudSB7a3V9Li4uIHZhdSBpJ2UnJyAtIOKAnEkgc2VlIHRoYXQgeW91IGdpdmUgYSBob21l IHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHigJ0KCl9fJydwcmVudScnX18geDEgaXMgYSBwZXJz b247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpLbm93aW5nIHRoZSBiYXNpYyBydWxlcyBmb3Ig ZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0aHVzIHJldHVybiB0byB0aGUgb3JpZ2luYWwgc2Vu dGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZhJ29ybWEnbzoKCgoKJycuYXUgZGEnaSBtaSBkamlj YSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1 J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBr dSB2YXUga2VpIGt1IHZhdV9fJycKCgoKV2UgY2FuIHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScn IGlzIGdyYW1tYXRpY2FsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29y bWEnby13b3JkIGlzICcnamltcGUnJywgd2hpY2ggaXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNh biBvbmx5IGJlIG9uZSBzZWxicmkgcGVyIGJyaWRpLCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNp bmNlICcnamltcGUnJyBhcyBhIHNlbGJyaSBjYW5ub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVz ZSBlaXRoZXIgKG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4g ZWFjaCBicmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBj YW5ub3QgYmUgYSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28g cG9pey4uLn0nJywgc28gdGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1v cmUsIGFsbCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2Fu IGJlIGVsaWRlZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0 ZSBhbGwgb2YgdGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoK JycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8g ZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pJycg4oCTIHdpdGggbm8gZmEnb3Jt YSdvIGF0IGFsbCEKCgoKV2hlbiBlbGlkaW5nIGZhJ29ybWEnbywgaXQgaXMgYSBnb29kIGlkZWEg dG8gYmUgYWNxdWFpbnRlZCB3aXRoICcnY3UnJy4gJydjdScnIGlzIG9uZSBvZiB0aG9zZSB3b3Jk cyB3aGljaCBjYW4gbWFrZSB5b3VyIChMb2piYW5pYykgbGlmZSBhIGxvdCBlYXNpZXIuIFdoYXQg aXQgZG9lcyBpcyB0byBzZXBhcmF0ZSBhbnkgcHJldmlvdXMgc3VtdGkgZnJvbSB0aGUgc2VsYnJp LiBPbmUgY291bGQgc2F5IHRoYXQgaXQgZGVmaW5lcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEgc2Vs YnJpLCBhbmQgdGVybWluYXRlcyBleGFjdGx5IGFzIG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4gb3Jk ZXIgdG8gZG8gdGhhdC4KCl9fJydjdScnX18gZWxpZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMgc2Vs YnJpIGZyb20gcHJlY2VkaW5nIHN1bXRpLCBhbGxvd3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBlbGlz aW9uLgoKCgpfXycncHJhbWknJ19fID0g4oCceDEgbG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1IGRv IGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBz ZSBkamljYSBtaScnID0KCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1p IF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBtZSBp cyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXigJ0K Cm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90IHRpZWQg dG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRlIG90 aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMgb2YgJydjdScn IGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkgdW5kZXJzdGFu ZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1Y3R1 cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJyaS4g SW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBicm90aGVy LCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5p bmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVhc2llciB0 byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycgd2ls bCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYgcG9z c2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJseSBicmFj a2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycndmFqbmknJ19f IOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycnamltcGUnJ19f IOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR1J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJv dXQgeDPigJ0KCl9fJydhJ28nJ19fIC0gQXR0aXR1ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlvbmFs IGVtb3Rpb246IEhvcGUgLSBkZXNwYWlyCgoKCicnYSdvIGRvIG5vaSBrZSdhIGxvamJvIC5pJ2Ug e2t1J299IHtrdX0gY3UgamltcGUgbG8gZHUndSBsbyBmYSdvcm1hJ28ge2t1fSBjdSB2YWpuaSB7 dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQgZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIGEgcHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0YW5k cyB0aGF0IGZhJ29ybWEnbyBhcmUgaW1wb3J0YW504oCdfn4KCgoKRnVuIHNpZGUgbm90ZTogTW9z dCBwZW9wbGUgd2VsbC12ZXJzZWQgaW4gZmEnb3JtYSdvLWVsaXNpb24gZG8gaXQgc28gaW5zdGlu Y3RpdmVseSB0aGF0IHRoZXkgb2Z0ZW4gbXVzdCBiZSByZW1pbmRlZCBob3cgaW1wb3J0YW50IHVu ZGVyc3RhbmRpbmcgZmEnb3JtYSdvIGFyZSB0byB0aGUgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4u IFRoZXJlZm9yZSwgZWFjaCBUdWVzZGF5IGhhdmUgYmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1pbmF0 b3IgRGF54oCdIG9yICcnZmEnb3JtYSdvIGRqZWRpJycgb24gdGhlIExvamJhbiBJUkMgY2hhdHJv b20uIER1cmluZyBUZXJtaW5hdG9yIERheSwgbWFueSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4gZmFp bCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQgYWxsIGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVyeSB2 ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1bHQuCgoKCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNvIGZhciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJldHR5 IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUgaGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRoZXJl IGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZpbmVkIHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBpbiBt YW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMgYXJlIG5vdCB1c2VmdWwgZm9yIHdoYXQgd2UgaGFk IGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3YW50IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNsYXRp bmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUgaXMgbm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVyZSBv ZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0IHRvb2wgSSB0cmFuc2xhdGUgd2l0aCwgc2luY2Us IG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5LCB0 aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRkIGFkZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRvIHRo ZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2ljIHdheSB0byBhZGQgc3VtdGkgcGxhY2VzIGFyZSB3 aXRoICcnZmknbyBTRUxCUkkgZmUndScnICh5ZXMsIGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29y bWEnbywgJydmZSd1JycuIEl0J3MgYWxtb3N0IG5ldmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdo dCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNlZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3 byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlrZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2ZpJ28g U0VMQlJJIGZlJ3UnJyBleHRyYWN0cyB0aGUgeDEgb2YgdGhlIHNlbGJyaSBwdXQgaW50byBpdC4g SG93ZXZlciwgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBj b252ZXJ0ZWQsIG5vdCB0byBhIHN1bXRpLCBidXQgdG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg 4oCcc3VtdGktbGFiZWzigJ0sIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2Yg dGhlIHNlbGJyaSBpdCBjb252ZXJ0ZWQuIFRoaXMgJydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0 aGUgbmV4dCBzdW10aS4gT25lIGNvdWxkIHNheSB0aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5 b3UgaW1wb3J0IGEgc3VtdGkgcGxhY2UgZnJvbSBhbm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0 byB0aGUgYnJpZGkgYmVpbmcgc2FpZC4KCk5vdGU6IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBv bGRlciB0ZXh0cywgdGhlIHRlcm0g4oCcdGFn4oCdIG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9y ICcnc3VtdGNpdGEnJy4gSWdub3JlIHRob3NlIHB1bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2Ug dGVhY2ggcHJvcGVyIExvamJhbiBoZXJlLgoKCgpXaGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRo ZSBwcm9jZXNzIGZyb20gcmVhZGluZyBhYm91dCBpdCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBz aG93IGl0cyBhY3R1YWwgc2ltcGxpY2l0eToKCl9fJydza2FtaScnX18g4oCceDEgaXMgYSBjb21w dXRlciBmb3IgcHVycG9zZSB4MuKAnQoKX18nJ3BpbG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEg dG9vbCBmb3IgZG9pbmcgeDPigJ0KCgoKJydtaSBmYW52YSB0aSBmaSdvIHNlIHBpbG5vIHtmZSd1 fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNvbXB1 dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdoaWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBpbG5v JycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEgdG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVvbmUu IFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUndScn LCBhZGRlZCB0byB0aGUgbWFpbiBzZWxicmksIGFuZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1p JycuIFRoZSBpZGVhIG9mICcnc3VtdGNpdGEnJyBpcyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVu Z2xpc2ggdXNpbmcgdGhlIGZvbGxvd2luZyB0cmFuc2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRo aXMgd2l0aC10b29sOiBBIGNvbXB1dGVy4oCdCgoKCkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFi c29yYiBvbmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJu YXRpdmVseSwgdGhlICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3QgY2FuIGJlIHRlcm1pbmF0ZWQgd2l0 aCAnJ2t1JycsIGluIHdoaWNoIGNhc2UgYSAnJ3pvJ2UnJyBpcyBpbXBsaWVkIHRvIGZpbGwgdGhl ICcnc3VtdGNpdGEnJy4gT3IsIG9uZSBjb3VsZCBpbWFnaW5lIGFuIGVsaWRlZCBzdW10aSBiZWlu ZyB0ZXJtaW5hdGVkIHdpdGggdGhlICcna3UnJy4KCl9fJyd6dWt0ZScnX18g4oCceDEgaXMgYSB2 b2xpdGlvbmFsIGVudGl0eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZvciBwdXJwb3NlIHgz4oCd CgoKCicnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pi byB7a3V9e3ZhdX0nJyAtIOKAnFdpdGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNlZCBzb21ldGhp bmcgTG9qYmFuaWPigJ0gKHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmljIGNvbXB1dGVy IHdlbnQgc2VudGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhhZCB2b2xpdGlv bi4gSXQgY291bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1lZCB0aGUgY29t cHV0ZXIgLSBob3cgYm9yaW5nLikKCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkgbGEgbG9qYmFu IHtrdX0gZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bva2VuIHRvIG1l 4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRoZSBz ZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25seSBj YW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2YgaW1w b3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRseSwgJydmaSdv JycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJ UyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2YgTG9q YmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4 YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRp Y2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1JycuIFRodXMs IHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Uga3UgbG8gc2th bWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNvbWV0 aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBpbmRl ZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5k IGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAnJ2ZpJ28gc2Ug enVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4KCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEsIFZF aEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9q YmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBn cmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5s aWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3Ig aW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21p IGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCc SSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnElu IGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENv bnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24s IHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVkZWQg aXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJhbiB0 ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1bmRh bWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBhZ28g aXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIgYXdh eSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFuIHRl bnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBsYW5n dWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBwZXJmZWN0bHkg cmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3QgaW52 b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55dGhp bmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0sIGFs bCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0IG1h ZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRlbnNl cyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlzIGRp ZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3aWxsIGJlIHdvbid0IGJlIGV4 cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRoZXkgYXJlIGxpa2UgYWxsIG90 aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgbWFraW5nIGl0IGV4 cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1JycuCgpUaGVyZSBhcmUgbWFueSBk aWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxldCdzIHN0YXJ0IGF0IHRoZSBv bmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScnX18gLSBzdW10 Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQgdGhlIHNhbWUg dGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtzdW10aX0KCgoK VGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCdLCDigJxub3fi gJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291bGQgYXJndWUg dGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0bHkgc2ltdWx0 YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBleHRlbmRzIHNs aWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVzdCDigJxhYm91 dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9uJ3QgcGVyY2VpdmUgdGlt ZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVt IHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1Z2dlc3RlZCBt YWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0IGlkZWEsIGhv d2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0aXZlLCBhbmQg d291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUgdG8gbGVhcm4g dGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291bGQgeW91IHNh eSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50aW5nIHRvIGEg cGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBsbyBudSBtaSBr bGFtYSB0aSB7dmF1fSB7a2VpIHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hlbiBzcGVha2lu Zywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCB0aGlzIGFjdGlvbiBpcyBp biB0aGUgcGFzdCByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVyIGF3YXnigJ0s IHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZlIHRvIOKAnG5v d+KAnSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEsIGJl Y2F1c2UgaXQncyBvYnZpb3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9 Jycgb3IKCicnbWkgZHVuZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycgb3IsIG1vcmUg Y29tbW9ubHkKCicnbWkgcHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9JycuIFRoZSBz dW10aSB3aGljaCBmaWxscyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pvJ2UnJywgd2hp Y2ggaXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRvIHRoZSBzcGVha2Vy J3MgdGltZSBhbmQgcGxhY2UgKHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBzcGVh a2luZyBhYm91dCBsZWZ0IGFuZCByaWdodCkuIElmIHNwZWFraW5nIGFib3V0IHNvbWUgZXZlbnRz IHRoYXQgaGFwcGVuZWQgc29tZSBvdGhlciB0aW1lIHRoYW4gdGhlIHByZXNlbnQsIGl0IGlzIHNv bWV0aW1lcyBhc3N1bWVkIHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhhdCBldmVu dCB3aGljaCBpcyBiZWluZyBzcG9rZW4gYWJvdXQuIEluIG9yZGVyIHRvIGNsYXJpZnkgdGhhdCBh bGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgcG9zaXRpb24s IHRoZSB3b3JkICcnbmF1JycgY2FuIGJlIHVzZWQgYXQgYW55IHRpbWUuIEFub3RoZXIgd29yZCwg JydraScnIG1hcmtzIGEgdGVuc2Ugd2hpY2ggaXMgdGhlbiBjb25zaWRlcmVkIHRoZSBuZXcgc3Rh bmRhcmQuIFRoYXQgd2lsbCBiZSB0YXVnaHQgd2F5IGxhdGVyLgoKX18nJ25hdScnX18gdXBkYXRl cyB0ZW1wb3JhbCBhbmQgc3BhY2lhbCBmcmFtZSBvZiByZWZlcmVuY2UgdG8gdGhlIHNwZWFrZXIn cyBjdXJyZW50IGhlcmUgYW5kIG5vdy4KCgoKX18nJ2d1Z2RlJydfXyA9IOKAnHgxIGlzIHRoZSBj b3VudHJ5IG9mIHBlb3BsZSB4MiB3aXRoIGxhbmQvdGVycml0b3J5IHgz4oCdCgoKCkFsc28gbm90 ZSB0aGF0ICcnbWkgcHUge2t1fSBrbGFtYSBsbyBtZXJrbyBndWdkZSB7a3V9IHt2YXV9JycsIOKA nEkgd2VudCB0byBBbWVyaWNh4oCdLCBkb2VzIG5vdCBpbXBseSB0aGF0IEknbSBub3Qgc3RpbGwg dHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUgc29tZSB0aW1lIGlu IHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoKQXMgbWVudGlvbmVk LCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBtdWNoIGFsaWtlLiBD b250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0aGVzZSBmb3VyIHNw YWNpYWwgdGVuc2VzOgoKX18nJ3p1J2EnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtzdW10aX0KCl9f JydjYSd1JydfXyBzdW10Y2l0YTogaW4gZnJvbnQgb2Yge3N1bXRpfQoKX18nJ3JpJ3UnJ19fIHN1 bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnUndScnX18gc3VtdGNpdGE6IGF0IHRoZSBz YW1lIHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2NhJycpCgoKCl9f JydvJ28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBhdGllbmNlIC0g dG9sZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5vJ29uYWkgcmkndSB7a3V9IG51IGxv IHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUge2t1fSB7a3V9IHt2YXV9IHtrZWl9IHt2 YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxpZGVkIGt1ISkKCl9fJydkYXJ4aScnX18g eDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQgeDMgYXQgbG9jdXMgeDQKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUgcmlnaHQgKG9mIHNvbWV0aGluZywgcHJv YmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29tZSBldmVudCksIHNvbWV0aGluZyBpcyBh biBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9nLuKAnSBvciDigJxBIG1hbiBoaXQgYSBk b2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVuc2Ugc3VtdGNp dGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0IHlvdSByZWFkIHRoZW0gZnJvbSBsZWZ0 IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNhbGxlZCDigJxpbWFnaW5hcnkgam91cm5l eeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxpZWQgcG9pbnQgaW4gdGltZSBhbmQgc3Bh Y2UgKGRlZmF1bHQ6IHRoZSBzcGVha2VyJ3Mgbm93IGFuZCBoZXJlKSwgYW5kIHRoZW4gZm9sbG93 IHRoZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4KCkV4YW1wbGUK CicnbWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2 YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0byBr bm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgonJ21pIGJhIHtrdX0gcHUge2t1fSBqaW1wZSBmaSBs byBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnIOKAnEF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1 dHVyZSwgSSB3aWxsIGhhdmUgdW5kZXJzdG9vZCBhYm91dCBmYSdvcm1hJ29zLuKAnQoKU2luY2Ug d2UgZG8gbm90IHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIHdlIG1vdmUgYmFjayBvciBmb3J0 aCwgdGhlIHVuZGVyc3RhbmRpbmcgY291bGQgaW4gYm90aCBjYXNlcyBoYXBwZW4gaW4gdGhlIGZ1 dHVyZSBvciB0aGUgcGFzdCBvZiB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlLgoKCgpBbHNvLCBpZiBz cGFjaWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZXMgYXJlIG1peGVkLCB0aGUgcnVsZSBpcyB0byBhbHdh eXMgcHV0IHRlbXBvcmFsIGJlZm9yZSBzcGFjaWFsLiBJZiB0aGlzIHJ1bGUgaXMgdmlvbGF0ZWQs IGl0IGNhbiBzb21ldGltZXMgcmVzdWx0IGluIHN5bnRhY3RpY2FsIGFtYmlndWl0eSwgd2hpY2gg TG9qYmFuIGRvZXMgbm90IHRvbGVyYXRlLgoKCgpTdXBwb3NlIHdlIHdhbnQgdG8gc3BlY2lmeSB0 aGF0IHRoZSBhIG1hbiBoaXQgYSBkb2cganVzdCBhIG1pbnV0ZSBhZ28uIFRoZSB3b3JkcyAnJ3pp JycsICcnemEnJyBhbmQgJyd6dScnIHNwZWNpZmllcyBhIHNob3J0LCB1bnNwZWNpZmllZCAocHJl c3VtYWJseSBtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHRpbWUuIE5vdGljZSB0aGUgdm93 ZWwgb3JkZXIgJydpJycsICcnYScnIGFuZCAnJ3UnJy4gVGhpcyBvcmRlciBhcHBlYXJzIGFnYWlu IGFuZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBtaWdodCBiZSB3b3J0aCB0byBtZW1vcml6ZS4g4oCc U2hvcnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4gYXJlIGFsd2F5cyBjb250ZXh0IGRlcGVuZGVudCwg cmVsYXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3byBodW5kcmVkIHllYXJzIGlzIGEgc2hvcnQgdGlt ZSBmb3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwgYnV0IGEgbG9uZyB0aW1lIHRvIHdhaXQgZm9yIHRo ZSBidXMuCgpfXycnemknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ug b2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3phJydfXyBz dW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1 bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3p1JydfXyBzdW10Y2l0 YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSB0aGUg cG9pbnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1pbGFybHksIHNwYWNpYWwgZGlzdGFuY2UgaXMgbWFy a2VkIGJ5ICcndmknJywgJyd2YScnIGFuZCAnJ3Z1JycgZm9yIHNob3J0LCB1bnNwZWNpZmllZCAo bWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiBzcGFjZS4KCl9fJyd2aScnX18gc3VtdGNpdGE6 IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9p bnQgb2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3Bl Y2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9m IHJlZmVyZW5jZSAKCl9fJyd2dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFu Y2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycn Z3Vua2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgyIHdpdGggb2JqZWN0aXZlIHgz4oCdCgoKClRyYW5z bGF0ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1IHtrdX0gZ3Vua2Ege3ZhdX0nJwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnFNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgd29yayBhIHBs YWNlIGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQZW9wbGUgcmFyZWx5IHVzZSAnJ3ppJycsICcnemEn JyBvciAnJ3p1Jycgd2l0aG91dCBhICcncHUnJyBvciAnJ2JhJycgaW4gZnJvbnQgb2YgaXQuIFRo aXMgaXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5IHBhc3Qgb3Ig ZnV0dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQg TG9qYmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0aW1lIHRoZSB0aW1lLWRpcmVjdGlvbiBpcyBvYnZp b3VzLCBhbmQgdGhlICcncHUnJyBvciAnJ2JhJycgc3VwZXJmbHVvdXMhCgoKClRoZSBvcmRlciBp biB3aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEgYW5kIGRpc3RhbmNlLXN1bXRjaXRhIGFyZSBzYWlk IG1ha2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1iZXIgdGhhdCB0aGUgbWVhbmluZ3Mgb2Ygc2V2ZXJh bCB0ZW5zZSB3b3JkcyBwbGFjZWQgdG9nZXRoZXIgYXJlIHBpY3R1cmVkIGJ5IGFuIGltYWdpbmFy eSBqb3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUgenUnJyBpcyDi gJxhIGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRoZSBwYXN0IG9m IHNvbWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQgdGhlIGZ1dHVy ZSBvciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAnJ3B1Jycgc2hv d3MgdGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBpdCBpcyBhIGxv bmcgdGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScnIHNob3dzIHRo YXQgd2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20gbm93LCAnJ3B1 JycgdGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQuIFRodXMgJydw dSB6dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJlIGluIHRoZSBm dXR1cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBpbiB0aGlzIHdh eSBpcyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90 aGVyIHN1bXRjaXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJlIG5vdCBhbHRl cmVkIGJ5IHRoZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEgYnJpZGkuCgoK CkFzIGJyaWVmbHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0cyBiYXNpY2Fs bHkgdHJlYXQgYnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3Bh Y2UuIEluIGFjdHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNwYW4gb2YgdGlt ZSBhbmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdlIHdpbGwgbGVh cm4gaG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoKCgpfXycnemUn aScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHRpbWUgb2Yge3N1bXRpfQoK X18nJ3plJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVk aXVtKSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3Zl ciB0aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3ZlJ2knJ19fIHN1bXRjaXRhOiBzcGFu bmluZyBvdmVyIHRoZSBzaG9ydCBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUnYScnX18gc3VtdGNp dGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHNwYWNlIG9mIHtzdW10 aX0KCl9fJyd2ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFjZSBv ZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJlbWVtYmVyaW5n IHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGluaXRpYWwgbGV0 dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5zZXMgbWlnaHQg aGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6IHBhaW4gLSBw bGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2ZSd1IHtrdX0ga2xhbWEgbG8gZG90 Y28gZ3VnZGUge2t1fSB6ZSd1IHtrdX0ge3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nE91Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGltZSB0cmF2ZWxpbmcgYSBsb25nIHNwYWNlIHRvIEdl cm1hbnnigJ0gfn4KCgoKVGhvdWdoIG1vc3QgcGVvcGxlIGFyZSBub3QgZmFtaWxpYXIgd2l0aCBz cGFjaWFsIHRlbnNlcywgdGhlc2UgbmV3IHdvcmRzIGNhbiBvcGVuIHVwIGZvciBzb21lIHByZXR0 eSBzd2VldCB1c2VzLiBPbmUgY291bGQsIGZvciBpbnN0YW5jZSwgdHJhbnNsYXRlIOKAnFRoYXQn cyBhIGJpZyBkb2figJ0gYXMgJyd0aSB2ZSd1IHtrdX0gZ2Vya3Uge3ZhdX0nJy4gU2F5aW5nOiDi gJxUaGlzIHRoaW5nIGRvZ3MgZm9yIGEgbG9uZyBzcGFjZeKAnSBtYWtlcyB5b3Ugc291bmQgcmV0 YXJkZWQgaW4gRW5nbGlzaCwgYnV0IHdlbGwtc3Bva2VuIGluIExvamJhbiEKCgoKJyd6ZSd1Jycg YW5kIGl0cyBicm90aGVycyBhbHNvIGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMgdG8gZm9ybSBj b21wb3VuZCB0ZW5zZXMuIFRoZSBydWxlIGZvciAnJ3plJ3UnJyBhbmQgdGhlIG90aGVycyBhcmUg dGhhdCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBvZiB0aGUgcHJv Y2VzcyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFueSB0ZW5zZXMg Y29taW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2ZSB0byB0aGUg Zmlyc3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxlIG9mIGV4YW1w bGVzOgoKJycubydvY3UnaSBkbyBjaXRrYSBwdSB7a3V9IHplJ3Uge2t1fSBiYSB7a3V9IHp1IHtr dX0ge3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGluIHRoZSBwYXN0 IGFuZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGludG8gdGhlIGZ1 dHVyZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUgZm9yIGEgbG9u ZyB0aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHplJ2kge2t1fSBw dSB7a3V9IGtsYW1hIHt2YXV9Jycgd2l0aCAnJ2RvIHB1IHtrdX0gemUnaSB7a3V9IGNhIHtrdX0g a2xhbWEge3ZhdX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMgb25lIGVuZHBv aW50IGluIHRoZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMgdGhlIHBhc3Qs IHdoaWxlIHRoZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcGFzdCBhbmQg ZXh0ZW5kcyBvbmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGludG8gdGhlIHBh c3Qgb3IgZnV0dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDigJx4MSBpcyBh bGl2ZSBieSBzdGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUge2t1fSB6aSB7 a3V9IHplJ3Uge2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhlIHBhc3QgYW5k IGEgbG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNseSB0aGUgZnV0 dXJlLCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywgYW5k IGhhdmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVzdCB0byB1bmRl cmxpbmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV0J3MgaGF2ZSBhbm90 aGVyIGV4YW1wbGUsIHRoaXMgdGltZSB3aXRoIHNwYWNpYWwgdGVuc2VzOgoKX18nJy51J2UnJ19f IGF0dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy51J2UgemEnYSB7a3V9IGJ1 J3Uge2t1fSB2ZSd1IHtrdX0gY2EndSB7a3V9IHpkYW5pIHt2YXV9JycgLSBXaGF0IGRvZXMgaXQg bWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCce3dvbmRlcn0ge0kgb2JzZXJ2ZSF9IEV4 dGVuZGluZyBhIGxvbmcgc3BhY2UgZnJvbSBoZXJlIHRvIG15IGZyb250IGlzIGEgaG9tZS7igJ0g b3Ig4oCcV293LCB0aGlzIGhvbWUgZXh0ZW5kaW5nIGFoZWFkIGlzIGh1Z2Uh4oCdfn4KCgoKQmVm b3JlIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBzeW50YXgtaGVhdnkgdGVuc2Ugc3lzdGVtLCBpIHJl Y29tbWVuZCBzcGVuZGluZyBhdCBsZWFzdCB0ZW4gbWludXRlcyBkb2luZyBzb21ldGhpbmcgd2hp Y2ggZG9lc24ndCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhlIGluZm9ybWF0 aW9uIHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNsb3dseSAtIHdo YXRldmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCiEhTG9qYmFuIExl c3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbid0IGdvIHRocm91Z2gg YWxsIExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3csIHRoZXJlIGlzIG9uZSBvdGhlciBr aW5kIG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUgdGF1Z2h0IG5vdy4gVGhlc2UgYXJl IGNhbGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJlcHJlc2VudCBhIHZlcnkgZGlmZmVy ZW50IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUgc2VlbiBzbyBmYXIuIFNvIGxl dCdzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZlIGxlYXJuZWQgc28gZmFy LCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwgYW5kIHdlIHRoZW4gcGxh Y2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCcbm934oCdLiBXaXRoIGV2 ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQgYXMgYSBwcm9jZXNzLCB3 aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQgdW5mb2xkcywgYSB0aW1l IHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9jZXNzLCBhIHRpbWUgd2hl biBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4gRXZlbnQgY29udG91cnMg dGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudCdzIHByb2Nlc3Mgd2FzIGhhcHBl bmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5zZXMuIFdlIG5l ZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHUnbycnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVuZWQgZHVyaW5nIHtzdW10aX0K Cl9fJydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9j ZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9CgoKClRoaXMg bmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXQncyAnJy51aSBt aSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoKCgpBbnN3ZXI6IOKAnFlheSwgSSds bCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywgd2h5IG5vdCBq dXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2ZW4gc2F2ZSBh IHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdpbGwgaGF2ZSBh IGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5b3UgaGF2ZSBh IGhvbWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ugc2F5IHRoYXQgeW91IGFyZSBu b3cgaW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhhdmluZyBhIGhvbWUsIHdoaWNo IG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRoZSB3YXksIHRo YXQgJydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMgc2ltaWxhciB0byAnJ21pIHB1J28g e2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2JhJ28nJyBhbmQgJydw dScnLiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNhdXNlIGV2ZW50IGNvbnRvdXJzIHZp ZXcgdGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgdGhlIHByb2Nlc3Ms IHdoZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20gdGhlIHByZXNl bnQuCgoKCk9mdGVuLCBldmVudCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRoYXQgb3RoZXIg a2luZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGlldmVkIGJ5IGNvbWJpbmlu ZyBzZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6aSB7a3V9IGJhJ28ge2t1fSBndW5r YSB7dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5pc2hlZCB3b3JraW5nLuKAnQoKCgpJ biBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50J3Mg4oCcbmF0dXJhbCBiZWdp bm5pbmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCcbmF0dXJhbOKA nSBpcyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5hdHVyYWwgZW5k IHJlZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hvdWxkIGVuZC4g WW91IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRoYXQgaXRzIHBy b2Nlc3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0cyBuYXR1cmFs IGVuZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5LCBpcyBiZWlu ZyBlYXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJlZ2lubmluZy4gVGhlIGV2ZW50 IGNvbnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6CgoKCl9fJyd6 YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGJl eW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0KCl9fJyd4YSdvJydfXyAtIHN1bXRj aXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nlc3MgZHVyaW5n IHtzdW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2ggaXMgZWRpYmxl IGZvciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHphJ28gbG8gbnUgZG8gYmEn byB7a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3Unb30ge3ZhdX0ge2tl aX0ge2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVwIGVhdGluZyB3 aGVuIHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRoaW5nIGVkaWJs ZSHigJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KCkltYWdl IGFib3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2VzIGFib3ZlIHRo ZSBsaW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBhbW91bnQgb2Yg dGltZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0YWdlcyB3aGlj aCBhcmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJlZW4gZGVzY3Jp YmluZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAoYXMgc2hvd24g b24gdGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50IGxpa2UpLiBC dXQgbWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxpa2Ugc3RhZ2Vz IGluIHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUgb2YgJydjYScn IGFuZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50byB0aGUgcGFz dCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBwcmVjaXNlLgoK CgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91cnMgYXJlOgoK X18nJ2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBi ZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBj b250b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoKCkZ1cnRoZXJt b3JlLCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVyYWxseSBjb21w bGV0ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21vJ3UnJ19fIC0g c3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBuYXR1cmFsIGVuZGluZyBk dXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBwcm9jZXNzZXMgYWN0dWFs bHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdoYXQgbWFrZXMgaXQgbmF0 dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVvcGxlIHVzdWFsbHkgcmV0 cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoKCgpTaW5jZSBhIHByb2Nl c3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBwb2ludHMgaGF2ZSBlYXJu ZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZSdhJydfXyAtIHN1bXRjaXRh OiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnZGkn YScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1pbmcgZHVyaW5n IHtzdW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgxIHBheXMgYXR0 ZW50aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQgJydkaSdhIGp1bmRpJycgYXJlIGNv bW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFuZCDigJxiYWNr4oCdLiBPbmUg Y291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBjb250b3VycyBieSB0aGVtc2VsdmVz IGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoKRmluYWxseSwgb25lIGNhbiB0cmVh dCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5kIGFzIG9uZSBz aW5nbGUgcG9pbnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVubWknJ19fIOKAnHgxIG1lZXRzIHgy IGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjbydpIHtrdX0gcGVubWkg bG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0bGUgd2hpbGUgYWdvLCBJIHdh cyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBhIEdlcm1hbiBwZXJzb27igJ0KCgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAob3JkZXJzIGFuZCBxdWVzdGlvbnMp CgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGggc3ludGF4IGhlYXZ5IExvamJhbiBn aXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBhYm91dC4gRXNwZWNpYWxseSBiZWNh dXNlIGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4gU28gbGV0J3MgdHVybiB0byBzb21l dGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoKCldoYXQgdGhl Li4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4cHJlc3Mgb3Jk ZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjbGF1c2Us IHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtpbmcgdG8sIGFu ZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0aW9uIHNvbWVv bmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJzdGFuZHMgdGhh dCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVjdGVkIHRvd2Fy ZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJqZWN0IGlzIG5v dCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWllbGRzICcnem8n ZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVzLiBJbnN0ZWFk LCB3ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2ZSBmb3JtIG9m ICcnZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lzZSwgaXQncyBlcXVpdmFsZW50IHRv ICcnZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1hbnRpY3MsIHNpbmNlIGl0IHR1cm5z IGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBpbnRvIGFuIG9yZGVyLiDigJxEbyBz dWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9JydrbycnIeKAnSBGb3IgdGhl IHNhbWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5nbGlzaCBzZW50ZW5j ZXMsIHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBvdGhlciBzdW10 aSB0aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28gZmFyIGF3YXkg Zm9yIGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2VsYnJpPykKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+fgoKKCcnLmkgemEnYSBkYWkg YSdvIG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5pIGtvIGppbXBlIHZhdSAudWknJykg LSBsb29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGluIExvamJhbiBh cmUgdmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5kczogRmlsbCBp biB0aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0aCB0 aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdzIHByZXR0eSBvdmVyY29tZWFibGUs IHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUnJyB3b3JrcyBs aWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBhbnl3aGVyZSwg YW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1Y3QpLiBJdCB0 aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNraW5nIHdoZXRo ZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNpbXBseSByZXBl YXQgdGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycgJycuaSB2ZSd1IHpkYW5pIG1pJycs IG9yIHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhlIGJyaWRpIHdp dGggYWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoKVGhlcmUgaXMg YW4gZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBicmlrYSdpLCBidXQgdGhvc2UgYXJl IGEgdGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig4oCcZmFsc2Xi gJ0sIHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRoYXQgdG9vLCB3 aWxsIGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVlc3Rpb24gYW5z d2VyaW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5rLiBI ZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNlZCBmb3IgYSBj b25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2ZXJh bCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tpbmcgYWJvdXQ6 CgpfXycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxicmkgcXVlc3Rp b24KCl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9fJydjdSdlJydfXyAtIHRlbnNlIHF1 ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBhIHN1bXRpLCB5 b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3YW50IHlvdXIg YW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8gYmUgZmlsbGVk IHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KAnS4gVGhlIGNv bWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1bCBpbmRlZWQ6 CgpfXycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0cmFjdGlvbiBv ZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kgbWEnJyAtIOKAnE95LCB3aHkgZG8g eW91IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVyIG9uZS4gVGhpcyB0aW1lLCB5b3Ug dHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8nJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5nIGFsbCB0aGlz IGxvbmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBhbHNvIG1lYW4g 4oCcd2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcnLnVhIG5haSBs aSdhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBpcyBqdXN0IGJlaW5nIGluY3JlZGli bHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0b25lIG9mIHZvaWNlIG9yIHNlbnRl bmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhlciBhIHNlbnRlbmNlIGlzIGEgcXVl c3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBxdWVzdGlvbiB3b3JkLiBUaGVy ZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUgb24gd29yZHMgaW4gdGhlIGJl Z2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQncyB1c3VhbGx5IHdvcnRoIHRo ZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28gdGhhdCB0aGUgcXVlc3Rpb24gd29y ZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBub3QgZmVhc2FibGUsICcncGF1Jycg aXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9u LiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBtYXJrcyBhbnkgcXVlc3Rpb24gYXMg YmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRoZSB0b3BpYyBvZiBxdWVzdGlv bnMsIGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcna2F1JycsIHdo aWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hhdCdzIGFuIGlu ZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9vayBhdCB0aGUgc2VudGVuY2U6 ICcnbWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8nJyAtIOKAnEkga25vdyB3aGF0IGlz IHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g4oCceDEga25vd3MgZmFjdChzKSB4MiBhcmUg dHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9uZSBjYW4gdGhpbmsgaXQgYXMg dGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBkbycnLiBNb3JlIHJhcmVseSwg b25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAnJ2thdScnLCBpbiB3aGljaCBj YXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5zd2VyIHRvIGEgcXVlc3Rpb246 ICcnbWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25vdyB3aGF0IHlv dSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoKQmFjayB0byBt b3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVuJ3QgYWxyZWFk eSwgSSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBMb2piYW5pYyByZWNvcmRpbmcgY2Fs bGVkICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8gc29tZW9uZSBz cGVhayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFjdGljZSB5b3VyIHByb251bmNpYXRp b24uIEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24gaW4geW91ciBoZWFkIGluIExvamJh biBpcyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhlIHdyb25nIHNvdW5kcywgYW5k IGxlYXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3cml0dGVuIHRleHQgaXMgaGFyZC4gVGhlcmVm b3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5kcywgaG93ZXZl ciBpbXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHRo ZSBMb2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUgd29yZCBpcyBk ZXJpdmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz4oCdLCBhbmQg aW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRzIGZyb20gbGV0 dGVycyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVkIHdpdGggc3ludGF4IC0gaG93IHdlIG1ha2Ug c2VudGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRlcyB3aXRoIGRpZmZlcmVudCBtb3Jw aG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5IHRoZWlyIG1v cnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhvdWdoLCB3b3Jk cyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBtb3JwaG9sb2dp Y2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1ci4KCnx8ICAgQ2xhc3N8TWVhbmlu Z3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRzOnwgICB8ICAgfCAgIAoKICAg QnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChleGNsdWRpbmcg 4oCcIOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93ZWwuICAgfCAg IEFjdHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNlIHN0cnVjdHVy ZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZvcm0gQ1ZDQ1Yg b3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMgYmFzaWMgY29u Y2VwdHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4gRGVyaXZlZCBmcm9tIGZyb20g4oCc bHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKAnSB8ICAgTWluLiA2IGxldHRlcnMu IE1hZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGggYmluZGluZyBsZXR0ZXJzIGlm IG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBjb25jZXB0cyB0aGFuIGdpc211LgoK ICAgLS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxhLCBidXQgZG8gbm90IG1lZXQgZGVm aW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScnICB8ICAgQ292 ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNlcyBvciBvcmdhbmlzbXMuCgog ICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBhbmQgZW5kaW5nIHdpdGggcGF1c2Ug KGZ1bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEgY29uc29uYW50LnwgICBBbHdheXMg YWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAgIENtYXZvfCAg IEdyYW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1lYW5pbmcg4oCcc21hbGwgd29yZOKA nXwgT25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQgdGhlIGJlZ2lubmluZy4gRW5kcyBp biBhIHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgogICBXb3JkLWZy YWdtZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMsIENWJ1YsIC1D VkNDViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBhY3R1YWwgd29yZHMsIGJ1dCBj YW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8fAoKCgoKCl9fJydjbWV2bGEn J19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBlbmQg d2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQgdGhl IGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEgY2FuJ3QgaGF2ZSBhbnkgb3RoZXIg ZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwgbmFt ZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2piYW4gd2l0aG91dCB0 aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3RlIHdvcmRzLiBPbmUg Y2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcgdGhlIGxldHRlcnMg d2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAnJy5pb2hBTi4nJyAo Sm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChNYXR0KSBhbmQgJycu bHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90IGVuZCBpbiBjb25z b25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSksIG9yIChwcm9i YWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpfXycnYnJpdmxh JydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBieSBkZWZhdWx0 IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29yZHMgd2l0aCBh IHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0gdGhl IEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFybHkgaW1wb3Nz aWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0IGFs bCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4gbW9z dCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJlZCBi eSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJjYXRl Z29yaWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qgd29yZHMgb2YgdGhlIGxhbmd1YWdl LiBPbmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcgbmV3IG9uZXMgYXJlIGFkZGVk LiBUaGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxpa2Ug4oCcY2lyY2xl4oCdLCDi gJxmcmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCdLiBFeGFtcGxlcyBpbmNsdWRl ICcnemRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9fJydsdWp2bycnX18gYXJlIG1h ZGUgYnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFmc2kpLCByZXNwcmVzZW50aW5nIGdp c211LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRvd24gdGhlIG1lYW5pbmcgb2Yg dGhlIHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0ZSBhbGdvcml0aG0sIHNvIG1h a2luZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1wb3NzaWJsZSwgd2l0aCBmZXcg ZXhjZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcnc2UgcHJhbWknJywgd2hpY2ggY2Fu IG9ubHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1hZGUgb25jZSwg aXRzIHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmluaXRpb24gaXMg bWFkZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVkZSBicml2bGEg KGJyaWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9IGZsaXJ0aW5n KSBhbmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18nJ2Z1J2l2bGEn J19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRlZmluaXRpb24g Zm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVuZCB0byBjb3Zl ciBjb25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIgYnkgbHVqdm8sIGZvciBpbnN0YW5j ZSBuYW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkgY3VsdHVyYWwgc3BlY2lmaWMgY29u Y2VwdHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3VyaW8nJyAoS29yZWEpICcnY2lkanJw aXRzYScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwpLgoKCgpfXycnY21hdm8nJ19fIGFy ZSBzbWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFudHMuIFRoZXkgdGVuZCB0byBu b3Qgc2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29ybGQsIGJ1dCB0byBoYXZlIG9u bHkgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2NjdXIsIGFuZCBpdCdzIGRlYmF0 YWJsZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFtbWF0aWNhbCBm dW5jdGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2YgdGhlIGNsYXNz IEdPaEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUgc2V2ZXJhbCBj bWF2byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMsIHRoYXQgd29u J3QgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlvbmFsIHVuaXRz LCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywgJycudWlwdXp1 dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVyc3Rvb2QgYXMg JycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4gd29yZHMsIG9u ZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9wIGJlZm9yZSBh bnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBmb3JtIHhWViwg Q1YnVlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdoaWNoIGFyZSBu b3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFkZGVkIGJ5IExv amJhbiB1c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycncmFmc2knJ19f IGFyZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9uZS4gSG93ZXZl ciwgc2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3JtIGx1anZvLiBU aGVzZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9uLCBmb3IgaW5z dGFuY2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBhIGNvbnNvbmFu dCAod2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaSdla2VpJycgaXMgaW52YWxpZCBi ZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3RlciwgYW5kIGlzIHRo dXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00IGxl dHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcnenUnZScnLCB3 aGljaCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBmb3IgJyd6dWt0ZScnLiBOb3RlIHRo YXQgdGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSB3b3VsZCBi ZSBncmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIGhvbW9waG9uZXMuIEFs bCBnaXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFyZSBwcmVmaXhlZCB3aXRoIGFu b3RoZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBvZiBhIGdpc211IHN1ZmZpeGVkIHdp dGggYW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0aGV5IGFyZSBzdWZmaXhlZCB3 aXRoIGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2FuIG9ubHkgYXBwZWFyIGluIGx1anZv IG9yIGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0aW9ucyBhcmU6IENWViwgQ1Yn ViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNpbmcgd2hhdCB5 b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRlc3QgaSB0aHVz IHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3JkcyBhcyBjbWV2 bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdpdmxhJycgKGYpIG9yIGNtYXZvIChj KToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBIICkgLmknaQoK QyApIGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4gICAgICAgIEogKSBwbGFqdmEKCkUg KSBwbydlICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCApIC5lcnRzYQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBmLWwsIGctQywg aC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3RvcHMgYmVmb3Jl IGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0b28gZWFzeS4KCk5vdGU6IHNvbWUg b2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0aGUgZGljdGlv bmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3RpbGwgbWFrZXMg aXQgYSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5lZCBnaXNtdS4gU2ltaWxhcmx5IHdp dGggJycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmb3VydGVlbiAo dGhlIExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3UgaGF2ZSByZWFkIGFuZCB1bmRl cnN0b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1bnRpbCBub3csIHlvdSBoYXZl IGFtYXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9mIExvamJhbiBzbyB0aGF0IGl0IGRv ZXNuJ3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVzdC4gQXMgYSByZXN1 bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBtaXh0dXJlIG9mIHNv cnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBpbXBvcnRhbmNlIGlu IG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUgYmlnZ2VzdCBjb25z dHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93bGVkZ2Ugb24gaG93 IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycgYW5kICcnbG8gU0VM QlJJJycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhvdyBpbXBvcnRh bnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0aGUgZm9sbG93 aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3csIHdlIGZvY3Vz IG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdpdGggYXJ0aWNs ZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcnZ2FkcmknJywg YW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRlcm1pbmF0ZWQg YnkgJydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xhIENNRVZMQScnLCAnJ2xhaSBD TUVWTEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxsIGJlZ2luIGJ5IGRlc2NyaWJpbmcg dGhyZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRpLCBhbmQgdGhlbiBpbW1lZGlh dGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6CgpfXycnbG8n J19fIC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp 4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5l c3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRpdmUg4oCcY29udmVydCBz ZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlk dWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENv bnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVh dCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJlYWR5IGZhbWlsaWFyIHdp dGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMgaXQgbWVhbiwg4oCcdmVy aWRpY2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3Mt bmVzc+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLCBJJ2xsIGNv bWUgYmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs4oCdIGluIHRoaXMgY29udGV4 dCBtZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1YWxpZnkgYmVnaW4gbGFiZWxs ZWQgYXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFsbHkgJydrbGFtYScnLiBUaHVzLCB2 ZXJpZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBvciBmYWxzZSAt IHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhlIHgxIG9mIHRo ZSBzZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkgYmUgY29udHJhc3RlZCB3aXRoICcn bGUnJywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5vdCB2ZXJpZGljYWwuIFNheWlu ZyAnJ2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBvciBtb3JlIHNwZWNpZmljIG9i amVjdHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAnJ2dlcmt1JycgdG8gZGVzY3Jp YmUgaXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVudGlmeSB0aG9zZSBzcGVjaWZpYyBv YmplY3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3byBpbXBvcnRhbnQgZGlmZmVy ZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5vdCByZWZlciB0byBvYmplY3RzIGlu IGdlbmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNpZmljIG9iamVjdHMuIFNlY29uZGx5 LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBkb2dzLCAnJ2xl IGdlcmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55dGhpbmcsIGFz IGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxsIGhlbHAgaWRl bnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtlciBpcyByZWZl cnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVtIGFuZCB0aGlu ayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJlIHVuZGVyc3Rv b2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFzaXNlZCBpbiBt b3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBpcyB1c3VhbGx5 IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJlIGlzIGEgZ29v ZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1lZCB0byByZWZl ciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0cmFuc2xhdGlv biwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz4oCd LCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUgZG9nc+KAnS4g RXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp4oCd IOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJlIGlzICcnbGEn JywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5IGNh bGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBpdCdz IG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwgc2luY2UgaXQgcmVmZXJzIHRvIGEg cHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0byBhIHBlcnNvbiBjYWxsZWQgSW5u b2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmliZSBoZXIgYXMgYmVpbmcgaW5ub2Nl bnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkgc3RhdGUgdGhhdCBieSBjb252 ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBieSB0aGF0IHNlbGJyaSBvciBjbWV2 bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBkZXJpdmVkIGZyb20gaXQgY2FuIGNv bnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScnLiBBbHNvOiBC ZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRpb24gdGhhdCBuYW1lcyBjYW4gYmUg Zm9ybWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBnYWRyaSAnJ2xhJycuIEJ1dCB0 aG9zZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBhcmUgYXMgZ29vZCBhcyB0aGV5 IGdldCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0aGVtLgoKJydsYScnLCBhcyB3 ZWxsIGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJpdCBlY2NlbnRyaWMsIHNpbmNlIHRo ZXkgX19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmFtZS4gVW5saWtlIHRoZSBv dGhlciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1hdGljYWxseSBwbGFjZWQgYWZ0 ZXIgJydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1l LiBGb3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJteSBkb2ciLCBidXQgJydsYSBtaSBn ZXJrdScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoKCgpUaGVzZSB0aHJlZSBiYXNpYyAn J2dhZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUgbW9yZSwgd2hpY2ggY29ycmVzcG9u ZHMgdG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCl9f JydsZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp 4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9fJydsYWknJ19fIC0gZ2Fkcmk6IE5h bWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0 byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKCgpUaGVzZSBhcmUgdGhlIHNh bWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhlIHN1bXRpIGV4 cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3QgaW4gcXVlc3Rp b24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBvYmplY3QgYXJl IGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIGxp ZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2YgaW5kaXZpZHVh bHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUgc2FpZCB0byBm aXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJzIG9mIHRoZSBn cm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2NyaWJlIGEgcGFj ayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBiZWluZyBibGFj aywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBhcmUgYmxhY2su IEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxicmkgd2hpY2gg aXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8gc3BlYWsuIEhv d2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBtdXN0IGJlIGRv Z3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5vdGlvbiBvZiAi bWFzc2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVpcmVzIHNvbWUgZXhhbXBsZXMgdG8g ZGVtb25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4gaGF2ZToKCl9fJydzcnVyaScnX186 IOKAnHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFuZS9kaXJlY3Rp b25zIHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFuaScnIC0g4oCcVGhlIHBlb3Bs ZSBzdXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2libGUsIGV2ZW4gdGhvdWdoLCB5byBt b21hIGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBsZXRlbHkgaW1wbGF1c2libGUgdGhh dCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFsb25lLiBBbiBF bmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFsbHBveCBpbiB0 aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQgdGhlIG1hc3Mg b2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUgaW4gRW5nbGlz aCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1c3Qg bGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNhbiBv bmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFuLiBBbm90aGVy IGV4YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBhIGJpb2xvZ2ljYWwgY2VsbCBvZiBv cmdhbmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBhIGh1bWFuIgoKJydsb2kgbWl2eXNs ZSBjdSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFyZSBodW1hbiIuIEFnYWluLCBu b25lIG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwgdGhlIGNlbGxzIGhhdmUgdmVyeSBm ZXcgaHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNpZGVyZWQgYXMgYSB3aG9sZSBtYWtl cyB1cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcnbGVpJycsIHN1Y2ggYXMgJydsZWkg Z2Vya3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBncm91cCBvZiBzcGVjaWZpYyBp bmRpdmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtlciByZWZlcnMgdG8gYXMgJydsZSBn ZXJrdScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkgJydsYWknJyBhcmUgb25seSBhcHBy b3ByaWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1lZCBzdWNoLCBhbmQgbm90IGp1 c3QgaWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBob3dldmVyIGJlIHVzZWQgaWYg dGhlIGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBvZiB0aGF0IGdyb3VwLgoKCgpJ dCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycgYW5kICcnbGUnJyBjYW4gYmUg dXNlZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFuZCBtYXNzZXMuIExldCdzIHNheSBh IHBhY2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3MgbmVlZHMgZGVzY3JpcHRpb24uIEkg bWlnaHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1Jycgb3IgJydsbyBnZXJrdScn LiBJZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRvIGNvcnJlY3RseSBzdGF0ZSBzb21l dGhpbmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24sIGJ1dCByZWFsbHkgaXNuJ3Q6 ICcnbG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3MgYXJlIG5vdCBkb2dzIi4gU2luY2Ug aXQncyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0aGUgbWFueSBkb2dzIGNvbnNp ZGVyZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCByYXRoZXIgYSBwYWNrIG9mIGRvZ3Mu CgpZb3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgbm8gd29yZCB3aGljaCB1bmFt YmlndW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlkdWFsKHMpLiBJbiBvcmRlciB0byBi ZSBleHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25lIG5lZWRzICcnbG8nJywgJydsZScn IG9yICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIuIFRoZSBzdWJqZWN0IG9mIHF1YW50 aWZpZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS10d28uIFdo YXQgaXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJydsZScnIHZhZ3VlLCBhbmQgbm90IGV4 cGxpY2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVpciB2YWd1ZW5lc3MgZW5hYmxl cyB0aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdpdGhvdXQgdGhlIHNwZWFrZXIgaGF2 aW5nIHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBhcyBhIG1hc3Mgb3IgYSBncm91 cCBvZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJpZXMsIHRoZXJlIGFyZSB0aHJl ZSBzZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydpJydfXyAtIGdhZHJpOiB2ZXJpZGlj YWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4K Cl9fJydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBz dW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xhJ2knJ19fIC0gZ2Fkcmk6IE5h bWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0 byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9mIGlu ZGl2aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0YWtlIGFueSBv ZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhlIHNldCBpcyBm b3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2FsIGNvbnN0cnVj dCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNoaXAgYW5kIHNl dCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBzZXQgb2Yg dGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZDoKCl9fJyd0 aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVjaWVzL2JyZWVk IHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydpIHRpcnh1IGN1IGNtYWx1Jycgc2F5 cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNtYWxsICh3aGljaCBpcywgYnkg dGhlIHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQgc2F5IHRoYXQgdGhlIHNldCBv ZiBiaWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFyZSBmZXcgb2YgdGhlbS4KCgoK TGFzdGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2VuZXJhbGl6aW5nICcnZ2FkcmknJzoK Cl9fJydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3Vt dGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBlIG9mICcnbG8ge3NlbGJyaX0nJy4K Cl9fJydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBz dW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVkIGFyY2hldHlw ZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZh bGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hldHlwZT8gRm9y ICcnbG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNhdCwgd2hpY2gg aGFzIGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJpZyBjYXRzLiBJ dCB3b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmluZyBhIHN0cmlw ZWQgZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBtZW1iZXJzIG9m IHRoZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRoZSBsZW9wYXJk cyBhbmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5vdCBs aXZlIGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dldmVyLCBpZiBz dWZmaWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVpbmcg YWJsZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgxIGlzIGNhcGFi bGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgonJ2xvJ2UgcmVt bmEgY3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFuIGJlaW5nIGNh biBzcGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBwZXJj ZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1 YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlw ZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFzYW50 IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4gZmFj dCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9mIGFu eSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRoZSBhcmNoZXR5 cGUgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGlsZSB0aGUgYXJj aGV0eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUgcmVtbmEnJy4K CgoKVGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdy4KCnx8 IHxHZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxvfGxvaXxsbydp fGxvJ2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFpfGxhJ2l8ZG9l cyBub3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3JkICcneG8nZScn IGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBkZWZpbml0aW9u cyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBjdXJyZW50IHNl dCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFzIHJlcGxhY2Vk IHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydlJycgaXMgdXNl ZCBhcyBhIGVsbGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVlbikuCgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDI6IEtPaEEzLCBLT2hB NSBhbmQgS09oQTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUg c2VudGVuY2U6IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBjYW4gc3BlYWsgTG9qYmFuIHNw ZWFrIHRvIGVhY2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0aGV5IGNhbiBzcGVha+KAnToK Cl9fJydiYW5ndScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1c2VkIGJ5IHgyIHRvIGV4cHJlc3Mg eDMgKGFic3RyYWN0aW9uKeKAnQoKJydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRh dmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIGxlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8g bnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gbG8gYmFuZ3UgcG9pIGxvIHByZW51IHBvaSBrZSdhIHRh dmxhIGZvIGxhIC5sb2piYW4uIGN1IHNlIGJhbmd1IGtlJ2EnJwoKCgpXaGF0IHdlIHNlZSBpcyB0 aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBFbmdsaXNoLiBU aGlzIGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5IGxvbmcgc3Vt dGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4gdGhlIExvamJhbiB0ZXh0LCB3 aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBhbmQg 4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4gV291bGRuJ3QgaXQgYmUgY2xldmVy IGlmIExvamJhbiBzb21laG93IGhhZCBtZWNoYW5pc21zIGZvciBkb2luZyB0aGUgc2FtZT8KCgoK SXQgdHVybnMgb3V0IGl0IGRvZXMsIHdoYXQgYSBzdXJwcmlzZSEgTG9qYmFuIGhhcyBhIHJhbmdl IG9mIHdvcmRzIGNhbGxlZCAnJ3N1bWthJ2knJyBtZWFuaW5nIOKAnHN1bXRpLXJlcHJlc2VudGF0 aXZlc+KAnS4gSW4gRW5nbGlzaCwgd2UgcmVmZXIgdG8gdGhlbSBhcyBwcm8tc3VtdGksIGJlY2F1 c2UgdGhleSBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgdGhlIEVuZ2xpc2ggcHJvbm91bnMs IGJ1dCB3aXRoIHN1bXRpIGluc3RlYWQgb2Ygbm91bnMuIEluIGZhY3QsIHlvdSBhbHJlYWR5IGtu b3cgJyd0aScnLCAnJ2RvJycgYW5kICcnbWknJywgYnV0IHRoZXJlIGFyZSBtYW55IG1vcmUsIHNv IGxldCdzIGdldCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGludG8gc3lzdGVt LiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gsIGFu ZCB3aGF0IHlvdSd2ZSBhbHJlYWR5IGxlYXJuZWQ6CgoKCl9fJyd0aScnX18gLSBzdW1rYSdpOiDi gJxpbW1lZGlhdGUg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBuZWFyIHRo ZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vta2EnaTog4oCcbmVhcmJ5IOKAmGl0JzogcmVw cmVzZW50cyBhIHN1bXRpIHNvbWUgcGh5c2ljYWwgZGlzdGFuY2UgZnJvbSB0aGUgc3BlYWtlciBP UiBjbG9zZSB0byB0aGUgbGlzdGVuZXLigJ0KCl9fJyd0dScnX18gLSBzdW1rYSdpOiDigJxkaXN0 YW50IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgZmFyIGZyb20gdGhlIHNw ZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci7igJ0KCgoKWW91IGNhbiBhZ2FpbiByZWNvZ25pemUgdGhl IOKAnGksIGEsIHXigJ0tc2VxdWVuY2Ugd2hpY2ggcG9wcyB1cCBvdmVyIGFuZCBvdmVyLiBTb21l IHRoaW5ncyBtaWdodCB0YWtlIHNvbWUgY2xlYXJpbmcgdXAsIHRob3VnaC4gRmlyc3RseSwgdGhl c2Ugc3VtdGkgY2FuIHJlcHJlc2VudCBhbnl0aGluZyB3aGljaCBjYW4gYmUgc2FpZCB0byBvY2N1 cHkgYSBwaHlzaWNhbCBzcGFjZS4gT2JqZWN0cywgY2VydGFpbmx5LiBJZGVhcywgY2VydGFpbmx5 IG5vdC4gRXZlbnRzIGFyZSBhY2NlcHRlZCwgYnV0IG9ubHkgdG8gdGhlIGV4dGVudCB0aGV5IGFy ZSByZXN0cmljdGVkIHRvIGEgc3BlY2lmaWMgcGxhY2UgLSB0aGUgSmFzbWluIFJldm9sdXRpb24g Y2Fubm90IGJlIHBvaW50ZWQgYXQsIGJ1dCBzb21lIGJhci1maWdodCBvciBhIGtpc3MgbWlnaHQu IFNlY29uZGx5LCBub3RlIHRoYXQgdGhlIGRpc3RhbmNlIGlzIHJlbGF0aXZlIHRvIGRpZmZlcmVu dCB0aGluZ3MgZm9yIHRoZSBkaWZmZXJlbnQgd29yZHM6ICcndHUnJyBvbmx5IGFwcGxpZXMgaWYg aXQncyBkaXN0YW50IGZyb20gYm90aCB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLiBJbiBj YXNlcyB3aGVyZSB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgZmFyIGFwYXJ0IGFuZCB0aGUg bGlzdGVuZXIgY2Fubm90IHNlZSB0aGUgc3BlYWtlciB0YWxraW5nLCAnJ3RhJycgcmVmZXJzIHRv IHNvbWV0aGluZyBjbG9zZSB0byB0aGUgbGlzdGVuZXIuIFRoaXJkbHksIGl0J3MgYWxsIHJlbGF0 aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhyZWUgd29yZHMgYXJlIGFsbCBwcm9i bGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5jZSwgYmVjYXVzZSB0aGUgcG9zaXRp b24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVua25vd24gdG8gZWFjaCBvdGhlciwg YW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVybW9yZSwgdGhlIGF1dGhvciBvZiBh IGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQgZXhwcmVzcyB0aGUgcG9pbnRpbmcg aW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJpZXMgY2FsbGVkIEtPaEEzLCB0byB3 aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcna28nJywgYnV0IEkgd29uJ3Qgd3JpdGUgdGhh dCBoZXJlKSBiZWxvbmdzOgoKX18nJ21pJydfXyAtIHN1bWthJ2k6IFRoZSBzcGVha2VyKHMpLgoK X18nJ21pJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIHRo ZSBsaXN0ZW5lcihzKSAuCgpfXycnbWknYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUg c3BlYWtlcihzKSBhbmQgb3RoZXJzLgoKX18nJ21hJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mg b2YgdGhlIHNwZWFrZXIocyksIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKX18nJ2RvJydf XyAtIHN1bWthJ2k6IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydkbydvJydfXyAtIHN1bWthJ2k6IFRo ZSBtYXNzIG9mIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKCgpUaGVzZSBzaXggc3Vta2En aSBhcmUgbW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cgVmVubiBkaWFncmFtOgoKCgp7 aW1nIGZpbGVJZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KClZlbm4gZGlhZ3JhbSBvZiBL T2hBMyAoJydrbycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlzIG5vdCBhIEtPaEEzLCBidXQg bWVhbnMg4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3NpYmxlIGZvciBzZXZlcmFsIHBl b3BsZSB0byBiZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBzdGF0ZW1lbnQgaXMgbWFkZSBv biB0aGUgYmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUsIHdoaWxlIOKAnHdl4oCdIGNh biBiZSB0cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21pJycsICcnbWknbycnLCAnJ21pJ2EnJyBvciAn J21hJ2EnJywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMgcmVhbGx5IGp1c3QgJydtaScn LiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5kaXZp ZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkgJydt aSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byAnJ2Rv IGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtlciBBLCBhbmQgYXJlIGNvbnNpZGVy ZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGluIHRo ZSAnJ2JyaWthJ2knJyAocHJvLWJyaWRpKSBsZXNzb24uCgoKCkFsbCBvZiB0aGVzZSAnJ3N1bWth J2knJyBhcmUgdmVyeSBjb250ZW50LXNwZWNpZmljLCBhbmQgY2Fubm90IGJlIHVzZWQsIGZvciBp bnN0YW5jZSwgdG8gaGVscCB1cyB3aXRoIHRoZSBzZW50ZW5jZSB3aGljaCB0aGlzIGxlc3NvbiBi ZWdhbiB3aXRoLiBUaGUgZm9sbG93aW5nIHNlcmllcyBjYW4gaW4gcHJpbmNpcGxlIGJlIHVzZWQg dG8gcmVmZXIgdG8gYW55IHN1bXRpOgoKX18nJ3JpJydfXyAtIHN1bWthJ2k6IOKAnExhc3Qgc3Vt dGkgbWVudGlvbmVk4oCdCgpfXycncmEnJ19fIC0gc3Vta2EnaTog4oCcQSByZWNlbnQsIGJ1dCBu b3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vta2EnaTog4oCc QSBzdW10aSBtZW50aW9uZWQgbG9uZyBhZ2/igJ0KCgoKVGhlc2Ugc3VtdGkgd2lsbCByZWZlciB0 byBhbnkgdGVybWluYXRlZCBzdW10aSBleGNlcHQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJy4gVGhl IHJlYXNvbiB0aGF0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycgY2Fubm90IGJlIHJlZmVycmVkIHRv IGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kgdG8ganVzdCByZXBlYXQg YnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBhcmUgJyd0aScnLCAnJ3Rh JycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFuZ2VkIHdoYXQgeW91IHBv aW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdvcmQuIFRoZXkgd2lsbCBv bmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNhbm5vdCwgZm9yIGluc3Rh bmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlmIHRoZSB3b3JkIGluIGlz IHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtlJ2EgcGVuZG8gbWkgY3UgZGppY2Eg bG8gbnUgcmkgc2UgemRhbmknJyAtIGhlcmUgJydyaScnIGNhbm5vdCByZWZlciB0byB0aGUgYWJz dHJhdGlvbiwgc2luY2UgaXQgaXMgbm90IHRlcm1pbmF0ZWQsIG5vciB0byAnJ21pJycgb3IgJydr ZSdhJycsIHNpbmNlIHRoZXkgYXJlIHN1bWthJ2ksIHNvIGl0IHJlZmVycyB0byAnJ2xlIHBlbmRv JycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1kZXBlbmRlbnQgaW4gd2hhdCB0aGV5 IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1lbnRpb25lZCBhYm92ZSwgYW5k ICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQgc3VtdGkgdGhhbiAnJ3JhJycs IHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3JpJycuCgoKCicncmknJyBhbmQg aXQncyBicm90aGVycyBhcmUgcHJldHR5IHdlbGwgc3VpdGVkIGZvciBkZWFsaW5nIHdpdGggdGhl IG9yaWdpbmFsIHNlbnRlbmNlLiBUcnkgc2F5aW5nIGl0IHVzaW5nIHR3byBpbnN0YW5jZXMgb2Yg JydzdW1rYSdpJychCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSdlIHByZW51IHBvaSBrZSdh IGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIHJ1IGxvIGJhbmd1IHBv aSBydSBjdSBzZSBiYW5ndSBrZSdhJycuICcncmknJyBpcyBub3QgY29ycmVjdCwgYmVjYXVzZSBp dCByZWZlcnMgdG8gJydsYSAubG9qYmFuLicnLiAnJ3JhJycgY291bGQgYmUgdXNlZCwgYnV0IGNv dWxkIGJlIG1pc3Rha2VubHkgYmUgdGhvdWdodCB0byByZWZlciB0byAnJ2xvIG51IHRhdmxhIGZv IGxhIC5sb2piYW4uJycsIGJ1dCAnJ3J1JycgaXMgYXNzdW1lZCB0byByZWZlciB0byB0aGUgbW9z dCBkaXN0YW50IHN1bXRpIC0gdGhlIG1vc3Qgb3V0ZXIgb25lLn5+CgoKCkxhc3RseSwgdGhlcmUg YSBzdW10Y2l0YSB3aGljaCByZXByZXNlbnQgdXR0ZXJhbmNlczogU28gY2FsbGVkIHV0dGVyYW5j ZSB2YXJpYWJsZXMuIFRoZXkgbmVlZCBub3QgYmUgcmVzdHJpY3RlZCB0byBvbmUgc2VudGVuY2Ug KGp1ZnJhKSwgYnV0IGNhbiBiZSBzZXZlcmFsIHNlbnRlbmNlcywgaWYgdGhlIGNvbnRleHQgYWxs b3dzIGl0OgoKX18nJ2RhJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIHBhc3Qgc2Vu dGVuY2UKCl9fJydkZSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlY2VudCBzZW50ZW5jZQoK X18nJ2RpJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUHJldmlvdXMgc2VudGVuY2UKCl9fJydk ZWknJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogVGhpcyBzZW50ZW5jZQoKX18nJ2RpJ2UnJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBzZW50ZW5jZQoKX18nJ2RlJ2UnJ19fIFV0dGVyYW5jZSB2 YXJpYWJsZTogTmVhciBmdXR1cmUgc2VudGVuY2UKCl9fJydkYSdlJydfXyBVdHRlcmFuY2UgdmFy aWFibGU6IFJlbW90ZSBmdXR1cmUgc2VudGVuY2UKCl9fJydkbydpJydfXyBVdHRlcmFuY2UgdmFy aWFibGU6IEVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDigJxTb21lIHNlbnRlbmNl4oCd CgpUaGVzZSByZXByZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10aSwgYW5kIHJlZmVyIG9ubHkgdG8g dGhlIHNwb2tlbiB3b3JkcyBvciB0aGUgbGV0dGVycywgbm90IHRvIHRoZSBtZWFuaW5nIGJlaGlu ZCB0aGVtLgoKCgpUaGVyZSBhcmUgbW9yZSBMb2piYW4gJydzdW1rYSdpJycsIGJ1dCBmb3Igbm93 IHlvdSBwcm9iYWJseSBuZWVkIGEgYnJlYWsgZnJvbSB0aGVtLiBUaGUgbmV4dCBsZXNzb24gd2ls bCBiZSBvbiBkZXJpdmVkIHN1bXRpLCBzdW10aSBtYWRlIGZyb20gb3RoZXIgc3VtdGkuCgoKCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzaXh0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDM6IGRl cml2ZWQgc3VtdGkpCgpZb3UgY2FuIHByb2JhYmx5IHNlZSB0aGF0IHRoZSBzdW10aSAnJ2xlIGJh bmd1IHBvaSBtaSBzZSBiYW5ndSBrZSdhJycgaXMgYSBsZXNzIHRoYW4gZWxlZ2FudCBleHByZXNz aW9uIGZvciDigJxteSBsYW5ndWFnZeKAnS4gVGhpcyBpcyBiZWNhdXNlIGl0J3MgcmVhbGx5IGEg d29yayBhcm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBjYW4gYmUgc2FpZCB0byBmaWxs IGludG8gdGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycuIFdlIGNhbid0IGNvbnZlcnQg dGhhdCB0byBhIHN1bXRpIHVzaW5nIGEgZ2Fkcmk6ICcnbGUgYmFuZ3Uge2t1fSBtaScnIGlzIHR3 byBzdW10aSwgYmVjYXVzZSAnJ2Jhbmd1IG1pJycgaXMgYSBicmlkaSwgbm90IGEgc2VsYnJpLiBO ZWl0aGVyIGNhbiB3ZSBjb252ZXJ0IGl0IHVzaW5nICcnbGUgc3UndScnLCBiZWNhdXNlIHRoZSBz dSd1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFic3RyYWN0aW9uLCBhbmQgdGhlICcn bGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4gYWJzdHJhY3Rpb24gc3VtdGkg bWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0aGluZyBpcyBteSBsYW5ndWFnZeKA nS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3aGljaCBiaW5kcyBjb25zdHJ1Y3Rz IChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBzZWxicmkuIFVzaW5nIGl0IGluIG9y ZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5lbGNpIGJlIGRvJycsIHRoZSAn J2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8gYSBz ZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRob3V0 IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJlIG1pJycgaXMgYSBjb3JyZWN0 IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lzZSwgeW91IGNhbiBhdHRhY2gg YSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVudCBv ZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCdLiBOb3RlIHRoYXQgdGhlIHByZXNl bmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBwYXJzZSBkaWZmZXJlbnRseTogV2l0 aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRhY2hlcyB0byAnJ251JycsIHdpdGhv dXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4aScnLiBTbyBpdCBkZWNpZGVz IHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhpdHRpbmcsIG9yIHRoZSBldmVudCBv ZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdoLCB0 aGF0J3MganVzdCBhYm91dCB0aGUgc2FtZSB0aGluZy4KCgoKV2hhdCBpZiBJIHdhbnQgdG8gYXR0 YWNoIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmkgaW5zaWRlIGEgZ2Fkcmk/IOKAnFRoZSBnaXZl ciBvZiB0aGUgYXBwbGUgdG8geW914oCdIGlzICcnbGUgZHVuZGEgYmUgbG8gcGxpc2UgYmUgZG8n JywgcmlnaHQ/IE5vcGUuIFRoZSBzZWNvbmQgJydiZScnIGF0dGFjaGVzIHRvIHRoZSBhcHBsZSwg bWVhbmluZyAnJ2xlIHBsaXNlIGJlIGRvJycgLSDigJxUaGUgYXBwbGUgb2YgdGhlIHN0cmFpbiBv ZiB5b3XigJ0sIHdoaWNoIG1ha2VzIG5vIHNlbnNlLiBJbiBvcmRlciB0byBzdHJpbmcgc2V2ZXJh bCBzdW10aSB0byBhIHNlbGJyaSwgdGhlIGFsbCB0aGUgb25lcyBmb2xsb3dpbmcgdGhlIGZpcnN0 IG11c3QgYmUgYm91bmQgd2l0aCAnJ2JlaScnLiBUaGUg4oCcYmluZGluZ+KAnSBjYW4gYmUgdGVy bWluYXRlZCB3aXRoICcnYmUnbycnIC0gb25lIGluc3RhbmNlIG9mICcnYmUnbycnIGZvciBlYWNo IHNlbGJyaSB3aGljaCBoYXMgc3VtdGkgYm91bmQgYnkgJydiZScnLgoKVG8gbGlzdCB0aGVtOgoK X18nJ2JlJydfXyBiaW5kcyBzdW10aSBvciBzdW10Y2l0YSB0byBzZWxicmkKCl9fJydiZWknJ19f IGJpbmRzIGEgc2Vjb25kLCB0aGlyZCwgZm91cnRoIChlY3QpIHN1bXRpIG9yIHN1bXRjaXRhIHRv IGEgc2VsYnJpCgpfXycnYmUnbycnX18gZW5kcyBiaW5kaW5nIHRvIHNlbGJyaQoKCgpUaGVyZSBp cyBhbHNvIHdheXMgdG8gbG9vc2VseSBhc3NvY2lhdGUgYSBzdW10aSB3aXRoIGFub3RoZXIuICcn cGUnJyBhbmQgJyduZScnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIGFzc29j aWF0aW9uLiBBY3R1YWxseSwgJydsZSBiYW5ndSBwZSBtaScnIGlzIGEgYmV0dGVyIHRyYW5zbGF0 aW9uIG9mIOKAnG15IGxhbmd1YWdl4oCdLCBzaW5jZSB0aGlzIHBocmFzZSwgbGlrZSB0aGUgRW5n bGlzaCwgaXMgdmFndWUgYXMgdG8gaG93IHRoZSB0d28gYXJlIGFzc29jaWF0ZWQgd2l0aCBlYWNo IG90aGVyLgoKJydwZScnIGFuZCAnJ25lJycgYXJlIHVzZWQgYXMgbG9vc2UgYXNzb2NpYXRpb24g b25seSwgbGlrZSBzYXlpbmcg4oCcbXkgY2hhaXLigJ0gYWJvdXQgYSBjaGFpciB3aGljaCB5b3Ug c2l0IG9uLiBJdCdzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5nIGRvIHRvIHdp dGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJsaXNoZWQgd2l0 aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5kIGJpbmRpbmcg dG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5b3UgYWN0dWFs bHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycsIHdoaWNoIG1h a2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRpLCBtZWFuaW5n IHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4gU29tZSBleGFt cGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUgY291bnRyeSI7 IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlmIHlvdSBzYXcg b2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUgdGhlcmVmb3Jl IGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScnIGlzIGFwcHJv cHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRoZSBvbmUgdG8g d2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4KCl9fJyduZScn X18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQg d2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2gg aXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVsYXRpdmUgcGhy YXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5hbGllbmFibGUg cmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5IHVzZWZ1bCBj b25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScnLiB0aGlzIGlz IGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9JycuIEZvciBpbnN0 YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1IHBlIG1pJycu IE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlwdGlvbiBzdW10 aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywgPSAnJ2xlIGdl cmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhlIG1hbiBJJ20g ZmxpcnRpbmcgd2l0aOKAnSwgYnV0IHRoYXQncyBub3QgdmVyeSBlYXN5IHRvIHJlYWQgKG9yIHRv IHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4pLCBhbmQgaXMgb2Z0ZW4gYmVpbmcgYXZvaWRlZC4KCgoK T25lIG5lZWQgYWxzbyB0byBsZWFybiAnJ3R1J2EnJywgc2luY2UgaXQgd2lsbCBtYWtlIGEgbG90 IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10aSBhbmQgY29udmVydHMg aXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24gd2hpY2ggaGFz IHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9yIGV4YW1wbGUsIEkgY291 bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2UnJywgb3IgSSBjb3VsZCBs ZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFib3V0IHRoZSBhcHBsZSBJ IGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamljYSB0dSdhIGxvIHBsaXNlJycuIE9uZSBhbHdh eXMgaGFzIHRvIGd1ZXNzIHdoYXQgYWJzdHJhY3Rpb24gdGhlIHNwZWFrZXIgbWVhbnMgYnkgJyd0 dSdhIFNVTVRJJycsIHNvIGl0IHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBjb250ZXh0IG1ha2Vz IGl0IGVhc3kgdG8gZ3Vlc3MuIEFub3RoZXIgZXhhbXBsZToKCl9fJydnYXNudScnX18g4oCceDEg ZG9lcy9icmluZ3MgYWJvdXQgeDIgKHZvbGl0aW9uIG5vdCBpbXBsaWVkKeKAnQoKJyd6YSdhIGRv IGdhc251IHR1J2EgbG8gc2thbWknJyAtIOKAnEkgc2VlIHRoYXQgeW91IG1ha2UgdGhlIGNvbXB1 dGVyIGRvIHNvbWV0aGluZ+KAnS4gT2ZmaWNpYWxseSwgJyd0dSdhIFNVTVRJJycgaXMgZXF1aXZh bGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZScnLiBWYWd1ZSwgYnV0IHVzZWZ1bC4gVGhlcmUg YXJlIHNpdHVhdGlvbnMgd2hlcmUgeW91IGNhbm5vdCB1c2UgJyd0dSdhJycsIGV2ZW4gdGhvdWdo IGl0IHdvdWxkIHNlZW0gc3VpdGFibGUuIFRoZXNlIHNpdHVhdGlvbnMgYXJlIHdoZW4gSSBkb24n dCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8gYmUgYW4gYWJzdHJhY3Rpb24sIGJ1dCBhIGNv bmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9uZSBjYW4gdXNlICcnem8nZSBwZScnLgoKX18n J3R1J2EnJ19fIGNvbnZlcnQgc3VtdGkgdG8gdmFndWUgYWJzdHJhY3Rpb24gaW52b2x2aW5nIHRo ZSBzdW10aS4gRXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZSBrZWkga3UnJwoKCgpG aW5hbGx5LCBvbmUga2luZCBvZiBzdW10aSBjYW4gYmUgdHVybmVkIGludG8gYW5vdGhlciBieSB0 aGUgd29yZHMgb2YgdGhlIGNsYXNzIExBaEUuCgpfXycnbHUnYScnX18gLSBDb252ZXJ0IGluZGl2 aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVhbHMuCgpfXycnbHUnaScnX18g LSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gYSBzZXQuCgpfXycn bHUnbycnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gbWFz cy4KCl9fJyd2dSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3Nl dCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQuCgpUaGUgdXNlIG9mIHRoZXNl IHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0aGVtIGJlZm9yZSBhIHN1bXRp IG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9mIGEgbmV3IHR5cGUuIE5vdGlj ZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3VtdGksIGEgc2VxdWVuY2UgaGFz IGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIChpdCBkb2Vzbid0 IGhhdmUgaXRzIG93biBnYWRyaSwgZm9yIGluc3RhbmNlKSwgYnV0IGp1c3QgaW5jbHVkZWQgaGVy ZSBmb3IgY29tcGxldGlvbi4KClRoZSBsYXN0IHR3byBtZW1iZXJzIG9mIExBaEUgZG8gbm90IGNv bnZlcnQgYmV0d2VlbiB0eXBlcyBvZiBzdW10aSwgYnV0IGFsbG93cyB5b3UgdG8gc3BlYWsgb2Yg YSBhIHN1bXRpIGJ5IG9ubHkgbWVudGlvbmluZyBzb21ldGhpbmcgd2hpY2ggcmVmZXJlbmNlcyB0 byBpdDoKCklmIG9uZSBzdW10aSBBIHJlZmVycyB0byBhIHN1bXRpIEIsIGZvciBpbnN0YW5jZSBi ZWNhdXNlIHN1bXRpIEEgaXMgYSB0aXRsZSBvZiBhIGJvb2ssIG9yIGEgbmFtZSwgb3IgYSBzZW50 ZW5jZSAod2hpY2ggYWx3YXlzIHJlZmVyIHRvIHNvbWV0aGluZywgYXQgbGVhc3QgYSBicmlkaSks IOKAmCdsYSdlIFNVTVRJIEEnJyByZWZlcnMgdG8gc3VtdGkgQi4gRm9yIGluc3RhbmNlLCDigJgn bWkgbmVsY2kgbGEnZSBkaSd1JycgZm9yIOKAnEkgbGlrZSB3aGF0IHlvdSBqdXN0IHNhaWTigJ0g KG5vdCAnJ21pIG5lbGNpIGRpJ3UnJyB3aGljaCBqdXN0IG1lYW5zICJJIGxpa2UgeW91ciBwcmV2 aW91cyBzZW50ZW5jZSIpIG9yIOKAmCdsYSdlIGxlIGNtYWx1IG5vbHRydScnIGZvciB0aGUgYm9v ayDigJxUaGUgTGl0dGxlIFByaW5jZeKAnSwgYW5kIG5vdCBzb21lIGxpdHRsZSBwcmluY2UgaGlt c2VsZi4gVGhlIGNtYXZvIOKAmCdsdSdlJycgZG9lcyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg4oCY J2x1J2UgU1VNVEknJyByZWZlcnMgdG8gYW4gb2JqZWN0IHdoaWNoIHJlZmVycyB0byB0aGUgc3Vt dGkuIAoKX18nJ2xhJ2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVkIHRvIGJ54oCdIC0gZXh0 cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVycyB0byBBLiAKCl9fJyds dSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJpbmcgdG/igJ0gLSBleHRyYWN0cyBhIHN1bXRp IEIgZnJvbSBhIHN1bXRpIEEsIHdoZW4gQiByZWZlcnMgdG8gQS4KCgoKCgohISFFbmQgb2YgcGFy dCBvbmUKCkR1ZSB0byB0aGUgaW1wcmFjdGljYWxseSBsYXJnZSBzaXplIG9mIHRoZXNlIGxlc3Nv bnMsIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGluc3RhbGxtZW50IGNhbiBiZSBmb3VuZCBvbiBwYWdl cyBkZWRpY2F0ZWQgdG8gKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRoZSBmb3JtZXIpKSBhbmQg KCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZSBsYXR0ZXIpKS4gTm8gd29ycmllcywgdGhvdWdo LCBjbGlja2luZyBvbiAidGhlIGZvcm1lciIgb3IgInRoZSBsYXR0ZXIiIHdpbGwgdGFrZSB5b3Ug dGhlcmUgcGFpbmxlc3NseS4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFuLm9y ZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK