Received: from localhost ([::1]:39762 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1W2TCW-0006De-Bw; Sun, 12 Jan 2014 14:08:12 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:60234 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1W2TCK-0006DX-LA for wikineurotic@lojban.org; Sun, 12 Jan 2014 14:08:10 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Sun, 12 Jan 2014 14:08:00 -0800 From: "Apache" Date: Sun, 12 Jan 2014 14:08:00 -0800 To: wikineurotic@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 klaki at 22:07 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 0.0 T_FILL_THIS_FORM_SHORT Fill in a short form with personal information Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by klaki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.15 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: wikineurotic-bounces@lojban.org Content-Length: 179902 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkga2xha2kgYXQgMjI6 MDcgVVRDCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9ODgmbmV3dmVyPTg5CgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0 ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAyLTkg Y2hhbmdlZCB0byArTGluZXM6IDItOSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwohISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGggaGVs cCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2YgbGEgLmtyaWJh Y3IuIFNwcmluZyAyMDEzLgoKLSAhIUxvamJhbiBMZXNzb25zICBsZXNzb24gemVybzogRm9yZXdv cmQ8YnIgLz5UaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUgR29v Z2xlIFdhdmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmliYWNy LCB4YWxibywgYW5kIG90aGVycywgb3JpZ2luYWxseSB0cmFuc2NyaWJlZCwgY29sbGF0ZWQsIGFu ZCByZXNjdWVkIGZyb20gb2JsaXZpb24gYnkgTWFyZW56LCB3aGljaCBzYWRseSBvbmx5IGNvdmVy ZWQgdGhlIGZpcnN0IGZvdXIgY2hhcHRlcnMgaW4gdGhpcyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50 cyB0aGUgbmV3ZXN0IHJ1bGVzIG9mIExvamJhbiBub3QgY292ZXJlZCBieSBvbGRlciBtYXRlcmlh bHMgc3VjaCBhcyBXaGF0IGlzIExvamJhbj8gYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzLgorICEh Rm9yZXdvcmQ8YnIgLz5UaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0 aGUgR29vZ2xlIFdhdmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBhdXRo b3JlZCBieSBrcmliYWNyLCB4YWxibywgYW5kIHRyYW5zY3JpYmVkIGJ5IE1hcmVueiwgbGVzc29u cyB3aGljaCBzYWRseSBvbmx5IGNvdmVyZWQgdGhlIGZpcnN0IGZvdXIgY2hhcHRlcnMgaW4gdGhp cyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50cyB0aGUgbmV3ZXN0IHJ1bGVzIG9mIExvamJhbiBub3Qg Y292ZXJlZCBieSBvbGRlciBtYXRlcmlhbHMgc3VjaCBhcyBXaGF0IGlzIExvamJhbj8gYW5kIExv amJhbiBmb3IgQmVnaW5uZXJzLgoKLSBJZiB5b3UgYXJlIG5ldyB0byBMb2piYW4sIEkgcmVjb21t ZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3JkaW5ncyB5b3UgY2FuIGZpbmQgb2Ygc3Bva2VuIExv amJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUgeW91IGFyZSB0YWtpbmcgdGhpcyB0dXRvcmlhbCwg aW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgYW5kIHdv cmRzIG9mIHRoZSBsYW5ndWFnZX50Y34sIHdoaWNoIHdpbGwgbm90IGJlIGV4cGxhaW5lZCBoZXJl fi90Y34uIEZ1cnRoZXJtb3JlLCB0cnkgdG8gc2F5IHRoZSB0aGluZ3MgeW91IHJlYWQgaW4gTG9q YmFuIGFjY2VudCBpZiBpdCdzIHJlYXNvbmFibHkgcHJhY3RpY2FsLiBUaGlzIGNhbiBoZWxwIHlv dXIgcHJvbnVuY2lhdGlvbiBhIGxvdC4KKyBJZiB5b3UgYXJlIG5ldyB0byBMb2piYW4sIEkgcmVj b21tZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3JkaW5ncyB5b3UgY2FuIGZpbmQgb2Ygc3Bva2Vu IExvamJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUgeW91IGFyZSB0YWtpbmcgdGhpcyB0dXRvcmlh bCwgaW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgYW5k IHdvcmRzIG9mIHRoZSBsYW5ndWFnZS4gRnVydGhlcm1vcmUsIHRyeSB0byBzYXkgdGhlIHRoaW5n cyB5b3UgcmVhZCBpbiBMb2piYW4gYWNjZW50IGlmIGl0J3MgcmVhc29uYWJseSBwcmFjdGljYWwu IFRoaXMgY2FuIGhlbHAgeW91ciBwcm9udW5jaWF0aW9uIGEgbG90LgoKV2hlbiB0YWtpbmcgdGhp cyB0dXRvcmlhbCwgaXQncyBiZXN0IHRvIHBhdXNlIGJldHdlZW4gbGVzc29ucyBpbiBvcmRlciB0 byBpbnRlcm5hbGl6ZSB3aGF0IHlvdSBoYXZlIGxlYXJudC4gSSBoYXZlIGF0dGVtcHRlZCB0byBi dWlsZCB0aGVzZSBsZXNzb25zIGZyb20gdGhlIGJvdHRvbSB1cCBhbmQgZXhjbHVkZSBhbnkgd29y ZHMgb3IgY29uY2VwdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGV4cGxhaW5lZCBpbiBwcmV2aW91cyBs ZXNzb25zLiBPbmNlIGV4cGxhaW5lZCwgdGhleSBhcmUgdXNlZCBmcmVlbHkgdGhyb3VnaG91dCB0 aGUgcmVtYWluZGVyIG9mIHRoZSB0dXRvcmlhbC4gSSB1cmdlIHJlYWRlcnMgbm90IHRvIHBhc3Mg YW55IG1pc3VuZGVyc3Rvb2QgY29udGVudDsgaWYgeW91IGhhdmUgcXVlc3Rpb25zIG9yIGFyZSB1 bmNlcnRhaW4gYWJvdXQgc29tZXRoaW5nLCBmZWVsIGZyZWUgdG8gYXNrIHRoZSBMb2piYW4gY29t bXVuaXR5LCB3aGljaCBjYW4gYmUgZm91bmQgaW4gI2xvamJhbiBvbiB0aGUgRnJlZW5vZGUgSVJD IG5ldHdvcmsuIFRoZXkgd2lsbCBiZSBoYXBweSB0byBoZWxwLgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAxMy0y NCBjaGFuZ2VkIHRvICtMaW5lczogMTMtMjMgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKTGFzdGx5LCBJIGhhdmUgYXMgZmFyIGFz IHBvc3NpYmxlIGF0dGVtcHRlZCB0byB1c2UgdGhlIExvamJhbiB3b3JkcyBmb3IgZ3JhbW1hdGlj YWwgY29uc3RydWN0czogJydzdW1rYSdpJycgaW5zdGVhZCBvZiBwcm8tc3VtdGksICcnc3VtdGNp dGEnJyBpbnN0ZWFkIG9mIG1vZGFsIGFuZCAnJ2p1ZnJhJycgaW5zdGVhZCBvZiB1dHRlcmFuY2Uu IFRoaXMgaXMgYmVjYXVzZSBJIGZlZWwgdGhlIEVuZ2xpc2ggd29yZHMgYXJlIG9mdGVuIGVpdGhl ciBhcmJpdHJhcnksIGluIHdoaWNoIGNhc2UgdGhleSBhcmUganVzdCBtb3JlIHdvcmRzIHRvIGxl YXJuLCBvciBtaXNsZWFkaW5nLCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIHdvcnNlIHRoYW4gdXNl bGVzcy4gSW4gZWl0aGVyIGNhc2UsIGFzIGxvbmcgYXMgdGhlIHdvcmRzIGFyZSBzcGVjaWZpYyB0 byB0aG9zZSB3aG8gYXJlIGxlYXJuaW5nIExvamJhbiBhbnl3YXksIHRoZXJlIGlzIG5vIHJlYXNv biBmb3IgdGhlbSB0byBleGlzdCBhcyBzZXBhcmF0ZSBFbmdsaXNoIHdvcmRzLgoKLSAhISFQcmVm YWNlLiBTb3VuZHMKLSBUaGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gd2hlbiB5b3UgbGVh cm4gYSBmb3JlaWduIGxhbmd1YWdlIGlzIHRvIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBzb3Vu ZHMgb2YgdGhlIGxhbmd1YWdlIGFuZCBob3cgdGhleSBhcmUgd3JpdHRlbiwgYW5kIHRoZSBzYW1l IGdvZXMgZm9yIExvamJhbi4gRm9ydHVuYXRlbHksIExvamJhbiBzb3VuZHMgKF9fcGhvbmVtZXNf XykgYXJlIGZhaXJseSBzdHJhaWdodGZvcndhcmQuCgotIEZvciBtb3JlIGRldGFpbHMgb24gdm93 ZWxzIGFuZCBjb25zb25hbnRzIHNvdW5kcyB1c2VkIGluIGxvamJhbiwgeW91IGNhbiBjbGljayBv biB0aGUgbGV0dGVycyBkZXNjcmliZWQuIFRoZXkgYXJlIHBvaW50aW5nIHRvIHdpa2lwZWRpYSBh cnRpY2xlcyB3aGljaCBkZXNjcmliZSB0aGUgc291bmQgJydhbmQgdXN1YWxseSBoYXZlIGFuIGF1 ZGlvIHJlY29yZCBvZiBpdCcnLjxiciAvPjxiciAvPiEhISFWb3dlbHM8YnIgLz5UaGVyZSBhcmUg c2l4IHZvd2VscyBpbiBMb2piYW4uCisgISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB6ZXJvIChz b3VuZHMpPGJyIC8+V2hpbGUgeW91IGFyZSAoaG9wZWZ1bGx5KSBlYWdlciB0byBnZXQgc3RhcnRl ZCBvbiB0aGUgaW5uZXIgd29ya2luZ3Mgb2YgTG9qYmFuIGdyYW1tYXIsIGEgc2hvcnQgbGVzc29u IG9uIHRoZSBzb3VuZHMgYW5kIHdyaXRpbmcgY29udmVudGlvbnMgb2YgdGhlIGxhbmd1YWdlIGlz IGJlbmVmaWNpYWwuIExlYXJuaW5nIGEgbGFuZ3VhZ2Ugb25seSBieSByZWFkaW5nIGlzIGhhcmQs IGFuZCBpdCdzIG5vdCBlYXNpZXIgaWYgeW91ciBpbnRlcm5hbCB2b2ljZSBpcyBtaXNwcm9udW5j aWF0aW5nIGl0LjxiciAvPkZvciBtb3JlIGRldGFpbHMgb24gdm93ZWxzIGFuZCBjb25zb25hbnRz IHNvdW5kcyB1c2VkIGluIExvamJhbiwgY2xpY2sgb24gdGhlIGxldHRlcnMgZGVzY3JpYmVkLiBU aGV5IGFyZSBwb2ludGluZyB0byBXaWtpcGVkaWEgYXJ0aWNsZXMgd2hpY2ggZGVzY3JpYmUgdGhl IHNvdW5kIGFuZCB1c3VhbGx5IGhhdmUgYW4gYXVkaW8gcmVjb3JkIG9mIGl0LgoKKyBfX1Zvd2Vs c19fCisgVGhlcmUgYXJlIGZpdmUgcHJvcGVyIHZvd2VscyBpbiBMb2piYW4gYW5kIG9uZSBzZW1p LXZvd2VsLiBGaXJzdCB0aGUgcHJvcGVyIG9uZXM6Cnx8JydbaHR0cDovL2VuLndpa2lwZWRpYS5v cmcvd2lraS9PcGVuX2Zyb250X3Vucm91bmRlZF92b3dlbHxhXScnIHxhcyBpbiAiZl9fYV9fdGhl ciIgKG5vdCBhcyBpbiAiaF9fYV9fdCIpCicnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kv Q2xvc2UtbWlkX2Zyb250X3Vucm91bmRlZF92b3dlbHxlXScnIHxhcyBpbiAiZ19fZV9fdCIKCist Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r CkBAIC1MaW5lczogMjYtMzEgY2hhbmdlZCB0byArTGluZXM6IDI1LTMwIEBACistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCicnW2h0dHA6 Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2UtbWlkX2JhY2tfcm91bmRlZF92b3dlbHxvXScn IHxhcyBpbiAiYl9fb19fbGQiIG9yICJtX19vX19yZSIg4oCUIG5vdCBhcyBpbiAic19fb19fIiAo dGhpcyBzaG91bGQgYmUgYSAncHVyZScgc291bmQuKQonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9y Zy93aWtpL0Nsb3NlX2JhY2tfcm91bmRlZF92b3dlbHx1XScnIHxhcyBpbiAiY19fb29fX2wiIChu b3QgYXMgaW4gImJfX3VfX3QiKSB8fAotIFRoZXNlIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBh cyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGggdm93ZWwsICcnW2h0dHA6 Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2Nod2F8eV0nJywgaXMgY2FsbGVkIGEgX19zY2h3YV9f IGluIHRoZSBsYW5ndWFnZSB0cmFkZSwgYW5kIGlzIHByb25vdW5jZWQgbGlrZSB0aGUgZmlyc3Qg YW5kIGxhc3QgJnF1b3Q7QSZxdW90OydzIGluICZxdW90O0FtZXJpY2EmcXVvdDsgKHRoYXQncyBF bmdsaXNoICZxdW90O0FtZXJpY2EmcXVvdDssIG5vdCBTcGFuaXNoLikgSXQncyB0aGUgc291bmQg dGhhdCBjb21lcyBvdXQgd2hlbiB0aGUgbW91dGggaXMgY29tcGxldGVseSByZWxheGVkLjxiciAv PlR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5jZWQgYXMgb25lIHNvdW5kIChfX2RpcGh0 aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CisgVGhlc2UgYXJlIHByZXR0eSBtdWNoIHRoZSBz YW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9yIFNwYW5pc2guIFRoZSBzaXh0aCAoc2VtaSl2b3dl bCwgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TY2h3YXx5XScnLCBpcyBjYWxsZWQg YSAmcXVvdDtzY2h3YSZxdW90OyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3Vu Y2VkIGxpa2UgdGhlIGZpcnN0IGFuZCBsYXN0ICZxdW90O0EmcXVvdDsncyBpbiAmcXVvdDtBbWVy aWNhJnF1b3Q7ICh0aGF0J3MgRW5nbGlzaCAmcXVvdDtBbWVyaWNhJnF1b3Q7LCBub3QgU3Bhbmlz aC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBs ZXRlbHkgcmVsYXhlZC48YnIgLz5Ud28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBwcm9ub3VuY2VkIGFz IG9uZSBzb3VuZCAoIGFuZGNhbGxlZCBhICZxdW90O2RpcGh0aG9uZyZxdW90OykuIFNvbWUgZXhh bXBsZXMgYXJlOgoKfHwnJ2FpJycgfGFzIGluICJoX19pZ2hfXyIKCistKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNDEt NDYgY2hhbmdlZCB0byArTGluZXM6IDQwLTQ2IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCicndWknJyB8bGlrZSBfXyJ3ZV9fIiwg b3IgRnJlbmNoIF9fIm91aV9fIiB8fApEb3VibGUgdm93ZWxzIGFyZSByYXJlLiBUaGUgb25seSBl eGFtcGxlcyBhcmUgJydpaScnLCB3aGljaCBpcyBwcm9ub3VuY2VkIGxpa2UgRW5nbGlzaCAieWUi IChhcyBpbiDigJxPaCBjb21lIGFsbCB5ZSBmYWl0aGZ1bOKAnSkgb3IgQ2hpbmVzZSAieWkiLCBh bmQgJyd1dScnLCBwcm9ub3VuY2VkIGxpa2UgIndvbyIuCi0gISEhIUNvbnNvbmFudHM8YnIgLz5N b3N0IExvamJhbiBjb25zb25hbnRzIGFyZSB0aGUgc2FtZSBhcyBFbmdsaXNoLCBidXQgdGhlcmUg YXJlIHNvbWUgZXhjZXB0aW9uczoKKyA8YnIgLz5fX0NvbnNvbmFudHNfXzxiciAvPlRoZXJlIGFy ZSBzZXZlbnRlZW4gY29uc29uYW50cyBpbiBMb2piYW4gYW5kIG9uZSBzZW1pLWNvbnNvbmFudC4g VGhlIExvamJhbiBjb25zb25hbnRzIGFyZSB0aGUgc2FtZSBhcyB0aGUgRW5nbGlzaCwgZXhjZXB0 IHRoYXQgTG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJzIEgsIFEgb3IgVy4gTW9zdCBvZiB0 aGUgY29uc29uYW50cyBhcmUgcHJvbm91bmNlZCBsaWtlIGluIEVuZ2xpc2gsIGJ1dCB0aGVyZSBh cmUgc29tZSBleGNlcHRpb25zOgoKfHxbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2lj ZWRfdmVsYXJfcGxvc2l2ZXxnXSB8YWx3YXlzICcnZycnIGFzIGluICcnX19nX191bScnLCBuZXZl ciAnJ2cnJyBhcyBpbiAnJ19fZ19fZW0nJwoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA0OC0xMTMgY2hhbmdlZCB0 byArTGluZXM6IDQ4LTgxIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rCltodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNl ZF9wYWxhdG8tYWx2ZW9sYXJfc2liaWxhbnR8al0gfGFzIGluICcnbWVhX19zX191cmUnJyBvciBG cmVuY2ggJydib25fX2pfX291cicnCltodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2lj ZWxlc3NfdmVsYXJfZnJpY2F0aXZlfHhdIHxhcyBpbiBHZXJtYW4gJydCYV9fY2gnJ19fLCBTcGFu aXNoICcnX19KX19vc2UnJyBvciBBcmFiaWMgJydfX0toX19hbGVkJycgfHwKLSBUaGUgRW5nbGlz aCBzb3VuZHMgJydjaCcnIGFuZCAnJ2onJyBhcmUgd3JpdHRlbiBhcyB0YyBhbmQgZGouPGJyIC8+ TG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJzICcnSCcnLCAnJ1EnJyBvciAnJ1cnJy4KKyBU aGUgc2VtaS1jb25zb25hbnQgaXMgdGhlIFtodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Zv aWNlbGVzc19nbG90dGFsX2ZyaWNhdGl2ZXxhcG9zdHJvcGhlXSBUaGlzIGxldHRlciBpcyBwcm9u b3VuY2VkIGxpa2UgdGhlIEVuZ2xpc2ggbGV0dGVyIEgsIGJ1dCBpcyBvbmx5IHVzZWQgYmV0d2Vl biB0d28gdm93ZWxzIHRvIHByZXZlbnQgdGhlbSBmcm9tIHJ1bm5pbmcgaW50byBlYWNoIG90aGVy LiBUaHVzICcndWknJyBpcyBub3JtYWxseSBwcm9ub3VuY2VkICZxdW90O3dlJnF1b3Q7LCBidXQg Jyd1J2knJyBpcyAmcXVvdDtvb2hlZSZxdW90Oy4gVGhlIGNhcGl0YWwgdmVyc2lvbiBvZiB0aGlz IGxldHRlciBpcyAnJ2gnJywgdGhlIGxvd2VjYXNlIEguCgpGb3IgY29tcHJlaGVuc2l2ZW5lc3Mg c2FrZSwgaGVyZSBpcyBhIGxpc3Qgb2YgdGhlIHJlbWFpbmluZyAoYW5kIGxlc3MgdHJpY2t5KSBs b2piYW4gY29uc29uYW50czoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRf YmlsYWJpYWxfcGxvc2l2ZXxiXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Zv aWNlZF9hbHZlb2xhcl9wbG9zaXZlfGRdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dp a2kvVm9pY2VsZXNzX2xhYmlvZGVudGFsX2ZyaWNhdGl2ZXxmXScnLCAnJ1todHRwOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc192ZWxhcl9wbG9zaXZlfGtdJycsICcnW2h0dHA6Ly9l bi53aWtpcGVkaWEub3JnL3dpa2kvQWx2ZW9sYXJfbGF0ZXJhbF9hcHByb3hpbWFudHxsXScnLCAn J1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0JpbGFiaWFsX25hc2FsfG1dJycsICcnW2h0 dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQWx2ZW9sYXJfbmFzYWx8bl0nJywgJydbaHR0cDov L2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfYmlsYWJpYWxfcGxvc2l2ZXxwXScnLCAn J1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FsdmVvbGFyX3RhcHxyXScnLCAnJ1todHRw Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19hbHZlb2xhcl9zaWJpbGFudCNWb2lj ZWxlc3NfYWx2ZW9sYXJfc2liaWxhbnR8c10nJywgJydbaHR0cHM6Ly9lbi53aWtpcGVkaWEub3Jn L3dpa2kvVm9pY2VsZXNzX2FsdmVvbGFyX3Bsb3NpdmV8dF0nJywgJydbaHR0cHM6Ly9lbi53aWtp cGVkaWEub3JnL3dpa2kvVm9pY2VkX2xhYmlvZGVudGFsX2ZyaWNhdGl2ZXx2XScnLCAnJ1todHRw Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9hbHZlb2xhcl9zaWJpbGFudCNWb2ljZWRf YWx2ZW9sYXJfc2liaWxhbnR8el0nJwoKLSAhISEhU3BlY2lhbCBDaGFyYWN0ZXJzPGJyIC8+TG9q YmFuIGRvZXMgbm90IHJlcXVpcmUgYW55IHB1bmN0dWF0aW9uLCBidXQgc29tZSBzcGVjaWFsIGNo YXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQgaW4gcHVuY3R1YXRpb24gaW4gb3RoZXIgbGFuZ3VhZ2Vz KSBhZmZlY3QgdGhlIHdheSBMb2piYW4gaXMgcHJvbm91bmNlZC48YnIgLz5UaGUgb25seSBvbmUg b2YgdGhlc2UgY2hhcmFjdGVycyB3aGljaCBpcyBvYmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUg W2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX2dsb3R0YWxfZnJpY2F0aXZl fGFwb3N0cm9waGVdOyBpbiBmYWN0IHRoZSBhcG9zdHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJv cGVyIGxldHRlciBvZiBMb2piYW4uIEFuIGFwb3N0cm9waGUgc2VwYXJhdGVzIHR3byB2b3dlbHMs IHByZXZlbnRpbmcgdGhlbSBmcm9tIGJlaW5nIHByb25vdW5jZWQgdG9nZXRoZXIgKGFzIGEgX19k aXBodGhvbmdfXyk7IGl0IGlzIGl0c2VsZiBwcm9ub3VuY2VkIGxpa2UgYW4gJnF1b3Q7aCZxdW90 Oy4gRm9yIGV4YW1wbGUsICcndWknJyBpcyBub3JtYWxseSBwcm9ub3VuY2VkICZxdW90O3dlJnF1 b3Q7LCBidXQgJyd1J2knJyBpcyAmcXVvdDtvb2hlZSZxdW90OycuPGJyIC8+QSBmdWxsIHN0b3Ag KHBlcmlvZCkgaXMgYSBzaG9ydCBwYXVzZSB0byBzdG9wIHdvcmRzIHJ1bm5pbmcgaW50byBlYWNo IG90aGVyLiBUaGUgcnVsZXMgb2YgTG9qYmFuIG1ha2UgaXQgZWFzaWVyIGZvciBvbmUgd29yZCB0 byBydW4gaW50byBhbm90aGVyIHdoZW4gdGhlIHNlY29uZCB3b3JkIGJlZ2lucyB3aXRoIGEgdm93 ZWw7IHNvIGFueSB3b3JkIHN0YXJ0aW5nIHdpdGggYSB2b3dlbCBjb252ZW50aW9uYWxseSBoYXMg YSBmdWxsIHN0b3AgcGxhY2VkIGluIGZyb250IG9mIGl0LjxiciAvPkNvbW1hcyBhcmUgcmFyZSBp biBMb2piYW4sIGJ1dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1cnJpbmcgdG9n ZXRoZXIgd2hlbiB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hpY2ggd291 bGQgcHV0IGEgJydoJycgYmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhhdmUgY29tbWFz LCBidXQgdGhleSdyZSBzb21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2piYW4gbmFtZXMs IGZvciBleGFtcGxlICcnLnBpLEVSLicnICgmcXVvdDtQaWVycmUmcXVvdDspLCBhcyBvcHBvc2Vk IHRvICcnLnBpZXIuJycgKCZxdW90O1AteWVyciZxdW90OyksICcnLnBpLkVSLicnICgmcXVvdDtQ ZWU7IEVociZxdW90OyksIG9yICcnLnBpJ0VSLicnICgmcXVvdDtQaWhlcnImcXVvdDspLjxiciAv PkNhcGl0YWwgbGV0dGVycyBhcmUgbm90IG5vcm1hbGx5IHVzZWQgaW4gTG9qYmFuLiBXZSB1c2Ug dGhlbSBpbiBub24tTG9qYmFuIHdvcmRzIChsaWtlICZxdW90O1BpZXJyZSZxdW90Oykgd2hlbiB0 aGUgc3RyZXNzIG9mIGEgd29yZCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgTG9qYmFuIG5vcm0uIFRo ZSBub3JtIGlzIHRvIHB1dCB0aGUgc3RyZXNzIG9uIHRoZSBsYXN0LWJ1dC1vbmUgc3lsbGFibGU7 IHNvLCBmb3IgZXhhbXBsZSwgJydrdWptaWtjZScnICZxdW90O251cnNlJnF1b3Q7IGlzICcna3Vq X19NSUtfX2NlJycsIG5vdCAnJ19fS1VKX19taWtjZScnLiBUaGUgbmFtZSAmcXVvdDtKdWxpZXR0 ZSZxdW90OyB3b3VsZCBiZSB3cml0dGVuICcnLkRKVWxpLGV0LicnIGlmIHByb25vdW5jZWQgaW4g YW4gRW5nbGlzaCB3YXksIGJ1dCAnJy5qdUxJRVQuJycgaWYgcHJvbm91bmNlZCBhcyBpbiBGcmVu Y2guPGJyIC8+ISEhIUFscGhhYmV0PGJyIC8+SW4gbW9zdCBsYW5ndWFnZSB0ZXh0Ym9va3MsIHlv dSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFnZSB0b2dldGhlciB3aXRoIGl0cyBzb3Vu ZHMuIExldHRlcnMgKCcnbGVyZnUnJykgdHVybiBvdXQgdG8gYmUgZXZlbiBtb3JlIGltcG9ydGFu dCB0aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2UgbWlnaHQgYXMgd2VsbCBnbyB0aHJvdWdoIHRo ZWlyIG5hbWVzIHF1aWNrbHkuPGJyIC8+Q29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0 aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28g dGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgJnF1b3Q7YiwgYywgZCwgZiwgZyAuLi4m cXVvdDssIGFyZSBjYWxsZWQgJydieS4sIGN5LiwgZHkuLCBmeS4sIGd5LicnIC4uLiBpbiBMb2pi YW4gKHVzaW5nIHRoZSBmdWxsIHN0b3AgYXMgd2UndmUganVzdCBkZXNjcmliZWQuKTxiciAvPlZv d2VscyBfX3dvdWxkX18gYmUgY2FsbGVkICcnLmF5LCAuZXksIC5peScnLCBidXQgdGhhdCB3b3Vs ZCBiZSByYXRoZXIgZGlmZmljdWx0IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUgaGFu ZGxlZCBieSBmb2xsb3dpbmcgdGhlIHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgJydidScnLCB3 aGljaCBiYXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFy ZTogJycuYWJ1LCAuZWJ1LCAuaWJ1LCAub2J1LCAudWJ1LCB5YnUuJyc8YnIgLz5UaGUgYXBvc3Ry b3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4gTG9qYmFuLCBhbmQgaXMgY2Fs bGVkICcnLnkneS4nJyAuIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291Z2g7 IHRvIG90aGVyLCBsaWtlICZxdW90O3VoLWh1aCZxdW90OyAod2hlbiBpdCBtZWFucyAnWWVzJyBy YXRoZXIgdGhhbiAnTm8nLik8YnIgLz5Mb2piYW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9z dCBsZXR0ZXJzIHlvdSBjYW4gdGhpbmsgb2YuIElmIHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxs IG91dCB5b3VyIG5hbWUgaW4gTG9qYmFuIGFuZCBoYXZlIGFuICZxdW90O0gmcXVvdDssICZxdW90 O1EmcXVvdDssIG9yICZxdW90O1cmcXVvdDsgdG8gZGVhbCB3aXRoLCB5b3UgY2FuIHVzZSAnJy55 J3kuYnUsIGt5LmJ1JycgYW5kICcndnkuYnUnJy4gU28gJnF1b3Q7U2Nod2FyemVuZWdnZXImcXVv dDsgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOjxiciAvPicnc3kuIGN5LiAueSd5LmJ1IHZ5LmJ1LiAu YWJ1IHJ5LiB6eS4gLmVidSBueS4gLmVidSBneS4gZ3kuIC5lYnUgcnkuJyc8YnIgLz5BbmQgc3Bl bGxpbmcgJnF1b3Q7dGhhdCZxdW90OyBpcyBhIHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRo ZSBUZXJtaW5hdG9yIGV2ZXIgZGlkIQorIFNwZWFraW5nIG9mIHRoZSBsZXR0ZXJzLCB3aGF0IGlz IHRoZSBuYW1lIG9mIHRoZW0/IFlvdSBrbm93LCBIIGlzIHByb25vdW5jZWQgJnF1b3Q7YWdlJnF1 b3Q7IGluIEVuZ2xpc2gsIGFuZCBLIGlzIHByb25vdW5jZWQgJnF1b3Q7a2F5JnF1b3Q7LCByYXRo ZXIgZGlmZmVyZW50IHRoYW4gdGhlIHNvdW5kIHRoZSBsZXR0ZXIgbWFrZXMgb24gaXQgb3duLiBI b3cgYWJvdXQgTG9qYmFuPyBXZWxsLCBjb25zb25hbnRzIGFyZSBzdHJhaWdodGZvcndhcmQ6IFRo ZSBuYW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGUgc291bmQgdGhhdCBsZXR0ZXIsIHBs dXMgJyd5JycuIFNvIHRoZSBjb25zb25hbnQgbGV0dGVycyBvZiBMb2piYW4sICZxdW90O2IsIGMs IGQsIGYsIGcgLi4uJnF1b3Q7LCBhcmUgY2FsbGVkICcnYnkgY3kgZHkgZnkgZ3knJyBpbiBMb2pi YW4uIFRoZSBzZW1pLWNvbnNvbmFudCAnIGlzIGNhbGxlZCAnJ3kneScnIChwcm9ub3VuY2VkIGxp a2UgYW4gYWdyZWVpbmcgdWgtaHVoKS4gPGJyIC8+Vm93ZWxzIF9fd291bGRfXyBiZSBjYWxsZWQg JycuYXksIC5leSwgLml5JycsIGJ1dCB0aGF0IHdvdWxkIGJlIHJhdGhlciBkaWZmaWN1bHQgdG8g cHJvbm91bmNlLiBJbnN0ZWFkLCB0aGV5IGFyZSBoYW5kbGVkIGJ5IGZvbGxvd2luZyB0aGUgdm93 ZWwgc291bmQgd2l0aCB0aGUgd29yZCAnJ2J1JycsIGEgc291bmQgd2hpY2ggc2lnbmlmaWVzIHdl J3JlIHNwZWFraW5nIGFib3V0IGEgc3ltYm9sLiBTbyB0aGUgdm93ZWxzIG9mIExvamJhbiBhcmU6 ICcnLmFidSAuZWJ1IC5pYnUgLm9idSAudWJ1IGFuZCB5YnUuJyc8YnIgLz5MYXN0bHkgeW91IHNo b3VsZCBrbm93IHRoYXQgc3RyZXNzIGlzIHBsYWNlZCBvbiB0aGUgc2Vjb25kLXRvLWxhc3Qgc3ls bGFibGUgaW4gd29yZHMgd2l0aCBtb3JlIHRoYW4gb25lIHN5bGxhYmxlLCBhbmQgdGhhdCBvbmUt c3lsbGFibGUgd29yZHMgYXJlIG5vdCBzdHJlc3NlZC4KCi0gTm93IHNwZWxsIHlvdXIgbmFtZSBp biBMb2piYW4gKG9yIGF0IGxlYXN0IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNl IHRoZSB0d2VudHktc2l4IGxldHRlcnMgb2YgRW5nbGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0 aGUgYXBvc3Ryb3BoZSkuPGJyIC8+PGJyIC8+ISEhISAnQ29ycmVjdCcgcHJvbnVuY2lhdGlvbjxi ciAvPllvdSBkb24ndCBoYXZlIHRvIGJlIHZlcnkgcHJlY2lzZSBhYm91dCBMb2piYW4gcHJvbnVu Y2lhdGlvbiwgYmVjYXVzZSB0aGUgcGhvbmVtZXMgYXJlIGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQg aXMgaGFyZCB0byBtaXN0YWtlIG9uZSBzb3VuZCBmb3IgYW5vdGhlci4gVGhpcyBtZWFucyB0aGF0 IHJhdGhlciB0aGFuIG9uZSAnY29ycmVjdCcgcHJvbnVuY2lhdGlvbiwgdGhlcmUgaXMgYSByYW5n ZSBvZiBhY2NlcHRhYmxlIHByb251bmNpYXRpb250aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhh dCBhbnl0aGluZyBpcyBPSyBzbyBsb25nIGFzIGl0IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlr ZSBzb21ldGhpbmcgZWxzZS4gRm9yIGV4YW1wbGUsIExvamJhbiByIGNhbiBiZSBwcm9ub3VuY2Vk IGxpa2UgdGhlICZxdW90O3ImcXVvdDsgaW4gRW5nbGlzaCwgU2NvdHRpc2ggb3IgRnJlbmNoLgor IF9fQ29ycmVjdCBwcm9udW5jaWF0aW9uX188YnIgLz5Zb3UgZG9uJ3QgaGF2ZSB0byBiZSB2ZXJ5 IHByZWNpc2UgYWJvdXQgTG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2UgdGhlIHBob25lbWVz IGFyZSBkaXN0cmlidXRlZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFrZSBvbmUgc291bmQg Zm9yIGFub3RoZXIuIFRoaXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUgJ2NvcnJlY3QnIHBy b251bmNpYXRpb24sIHRoZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBwcm9udW5jaWF0aW9u dGhlIGdlbmVyYWwgcHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMgT0sgc28gbG9uZyBhcyBp dCBkb2Vzbid0IHNvdW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVsc2UuIEZvciBleGFtcGxl LCBMb2piYW4gJydyJycgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJnF1b3Q7UiZxdW90OyBp biBFbmdsaXNoLCBTY290dGlzaCBvciBGcmVuY2guClR3byB0aGluZ3MgdG8gYmUgY2FyZWZ1bCBv ZiwgdGhvdWdoLCBhcmUgcHJvbm91bmNpbmcgTG9qYmFuICcnaScnIGFuZCAnJ3UnJyBsaWtlIFN0 YW5kYXJkIEJyaXRpc2ggRW5nbGlzaCAiaGl0IiBhbmQgImJ1dCIgKE5vcnRoZXJuIEVuZ2xpc2gg ImJ1dCIgaXMgZmluZSEpLiBUaGlzIGlzIGJlY2F1c2Ugbm9uLUxvamJhbiB2b3dlbHMsIHBhcnRp Y3VsYXJseSB0aGVzZSB0d28sIGFyZSB1c2VkIHRvIHNlcGFyYXRlIGNvbnNvbmFudHMgYnkgcGVv cGxlIHdobyBmaW5kIHRoZW0gaGFyZCB0byBzYXkuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBw cm9ibGVtcyBzcGl0dGluZyBvdXQgdGhlICcnemQnJyBpbiAnJ3pkYW5pJycgKGhvdXNlKSwgeW91 IGNhbiBzYXkgesmqZGFuaeKAlHdoZXJlIHRoZSAiyaoiIGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUg ZmluYWwgImkiIGhhcyB0byBiZSBsb25nLgotICEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKLSBX YXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3Vh Z2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSDigJxNZSBUYXJ6YW4s4oCdIHdo aWNoIGlzIGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBT byBoZXJlIHdlIGdvLgotIF9fJydtaSdlIC5yb2Jpbi4nJ19fCi0gIkktYW0tbmFtZWQgUm9iaW4i Ci0gIkknbSBSb2JpbiIKLSAnJ21pJ2UnJyBpcyByZWxhdGVkIHRvICcnbWknJywgd2hpY2ggaXMg J0knLCAnbWUnIGFuZCBzbyBvbi4gSXQncyBhIGdvb2QgZXhhbXBsZSBvZiB0aGUgYXBvc3Ryb3Bo ZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMsIGFuZCBzb3VuZHMgYSBiaXQgbGlrZSAibWUgaGVoIi4K LSBUaGlzIGd1eSBSb2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkg aW50byBMb2piYW4gd2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUg cnVsZXMgZm9yIExvamJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRv IGJlICdMb2piYW5pc2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBu YW1lIGlzIGEgbmFtZeKAlGJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21l IGV4dGVudC4gRm9yIGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2Ug Ikpvc2UiIHNvbWV0aGluZyBsaWtlICJIb3pheSIsIGFuZCAiTWFyZ2FyZXQiIGluIENoaW5lc2Ug aXMgIk1hZ2VsaXRhIi4gU29tZSBzb3VuZHMganVzdCBkb24ndCBleGlzdCBpbiBzb21lIGxhbmd1 YWdlcywgc28gdGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRvIGlzIHJld3JpdGUgdGhlIG5h bWUgc28gdGhhdCBpdCBvbmx5IGNvbnRhaW5zIExvamJhbiBzb3VuZHMsIGFuZCBpcyBzcGVsdCBp biBhIExvamJhbiB3YXkuCi0gX19Ob3RlOiBfX1RoZSBjYXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNp b24gb2YgdGhlIHNvdW5kcyB3aWxsIHlvdSBiZSB1c2luZz8gRm9yIEVuZ2xpc2ggaW4gcGFydGlj dWxhciwgQnJpdGlzaCBhbmQgQW1lcmljYW4gdm93ZWxzIGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQu IFRoZSBCcml0aXNoIHZlcnNpb24gb2YgIlJvYmluIiBpcyByZWFzb25hYmx5IGFwcHJveGltYXRl ZCBieSAnJy5yb2Jpbi4nJzsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byAn Jy5yYWJ5bi4nJyBvciAnJy5yYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWlu LCB0aGVyZSBpcyBhbHNvIGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0 YWtlIHRoZSB0cmFuc2xpdGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0 LgotIExldCdzIHRha2UgdGhlIEVuZ2xpc2ggbmFtZSAiU3VzYW4iLiBUaGUgdHdvICcncycnJ3Mg YXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHnigJR0aGUgc2Vjb25kIG9uZSBpcyBhY3R1YWxseSBh ICJ6IuKAlGFuZCB0aGUgImEiIGlzIG5vdCByZWFsbHkgYW4gImEiIHNvdW5kLCBpdCdzIHRoZSAn c2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAiU3VzYW4iIGNvbWVzIG91dCBpbiBMb2piYW4g YXMgJycuc3V6eW4uJycuCi0gWW91IG1heSBoYXZlIG5vdGljZWQgdHdvIGV4dHJhIGZ1bGwgc3Rv cHMgKHBlcmlvZHMpIHRoZXJlLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGlmIHlvdSBkaWRu J3QgcGF1c2UsIHlvdSBtaWdodCBub3Qga25vdyB3aGVyZSB0aGUgcHJldmlvdXMgd29yZCBlbmRl ZCBhbmQgdGhlIG5leHQgd29yZCBiZWdhbi4KCi0gWW91IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwg c3RvcCBpbiBiZXR3ZWVuIGEgcGVyc29uJ3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBp dCdzIG5vdCBjb21wdWxzb3J5KSwgc28gJnF1b3Q7SmltIEpvbmVzJnF1b3Q7IGJlY29tZXMgJycu ZGppbS5kam9uei4nJy48YnIgLz5BbiBpbXBvcnRhbnQgcnVsZSBmb3IgTG9qYmFuaXNpbmcgbmFt ZXMgaXMgdGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWV2bGEgKExvamJhbiBuYW1lKSBtdXN0 IGJlIGEgY29uc29uYW50LiBBZ2FpbiwgdGhpcyBpcyB0byBwcmV2ZW50IGNvbmZ1c2lvbiBhcyB0 byB3aGVyZSBhIG5hbWUgZW5kcywgYW5kIHdoYXQgaXMgYW5kIGlzIG5vdCBhIG5hbWUgKGFsbCBv dGhlciBMb2piYW4gd29yZHMgZW5kIGluIGEgdm93ZWwpLiBXZSB1c3VhbGx5IHVzZSAnJ3MnJyBm b3IgdGhpczsgc28gaW4gTG9qYmFuLCAmcXVvdDtNYXJ5JnF1b3Q7IGJlY29tZXMgJycubWVyaXMu JycgLCAmcXVvdDtKb2UmcXVvdDsgYmVjb21lcyAnJy5kam9zLicnIGFuZCBzbyBvbi4gQW4gYWx0 ZXJuYXRpdmUgaXMgdG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBzbyAmcXVvdDtNYXJ5JnF1 b3Q7IHdvdWxkIGJlY29tZSAnJy5tZXIuJycgb3IgJycubWVpci4nJy4KKyBfX1dyaXRpbmcgTG9q YmFuX188YnIgLz5BcyB5b3UgaGF2ZSBhbHJlYWR5IHNlZW4sIExvamJhbiB1c2VzIHRoZSBMYXRp biBhbHBoYWJldCwgdGhvdWdoIHZhcmlvdXMgTG9qYmFuaXN0cyBoYXZlIHN1Z2dlc3RlZCBkaWZm ZXJlbnQsIHVzdWFsbHkgc2VsZi1kZXNpZ25lZCBvbmVzLiBGdXJ0aGVybW9yZSwgTG9qYmFuIGFs bW9zdCBhbHdheXMgdXNlcyBsb3dlci1jYXNlIGxldHRlcnMuIENhcGl0YWwgbGV0dGVycyBhcmUg b25seSB1c2VkIHRvIG1hcmsgc3RyZXNzIGluIHByb3BlciBuYW1lcywgYnV0IHBlb3BsZSB0ZW5k IHRvIGF2b2lkIHRoZW0gZXZlbiBpbiBuYW1lcy48YnIgLz5BcGFydCBmcm9tIHRoZSBsZXR0ZXJz LCBzb21lIHB1bmN0dWF0aW9uIGlzIHVzZWQ6PGJyIC8+QSBmdWxsIHN0b3AgKHBlcmlvZCkgaXMg YSBzaG9ydCBwYXVzZS4gVGhlIHJ1bGVzIG9mIExvamJhbiBtYWtlIGl0IGVhc2llciBmb3Igb25l IHdvcmQgdG8gcnVuIGludG8gYW5vdGhlciB3aGVuIHRoZSBzZWNvbmQgd29yZCBiZWdpbnMgd2l0 aCBhIHZvd2VsOyBzbyBhbnkgd29yZCBzdGFydGluZyB3aXRoIGEgdm93ZWwgY29udmVudGlvbmFs bHkgaGFzIGEgZnVsbCBzdG9wIHBsYWNlZCBpbiBmcm9udCBvZiBpdC4gRnVsbCBzdG9wcyBhcmUg bmV2ZXIgdXNlZCB0byBlbmQgc2VudGVuY2VzLjxiciAvPkNvbW1hcyBhcmUgcmFyZSBpbiBMb2pi YW4sIGJ1dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1cnJpbmcgdG9nZXRoZXIg d2hlbiB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hpY2ggd291bGQgcHV0 IGEgSCBiZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4gd29yZHMgaGF2ZSBjb21tYXMsIGJ1dCB0aGV5 J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJhbiBuYW1lcy48YnIgLz48YnIg Lz5UaGUgZm9sbG93aW5nIGFyZSBmb3VuZCB3cml0aW5nIHN0eWxlcyBvZiBkaWZmZXJlbnQgTG9q YmFuaXN0cywgYnV0IHRoZXkgYXJlIG5vdCBjb252ZW50aW9uYWw6PGJyIC8+PGJyIC8+U3BhY2Vz IGFyZSB1c3VhbGx5IHVzZWQgYmV0d2VlbiB3b3Jkcy4gICBUaGV5IGFyZSBtYW5kYXRvcnkgYmV0 d2VlbiBzb21lIHdvcmRzIChtb3JlIG9uIHRoYXQgaW4gbGVzc29uIHRoaXJ0ZWVuKS4gICBEb3Vi bGUgb3IgdHJpcGxlIHNwYWNlIGlzIHNvbWV0aW1lcyB1c2VkIGJlZm9yZSB0aGUgYmVnaW5uaW5n IG9mIG5ldyBzZW50ZW5jZXMuICAgVGhpcyBpcyB0byBjbGVhcmx5IG1hcmsgc2VudGVuY2Ugc2hp ZnQgdmlzdWFsbHkuICAgVGhpcyBtaWdodCBjb21wZW5zYXRlIGZvciBsYWNrIG9mIGNhcGl0YWwg bGV0dGVycyB3aGljaCBhcmUgdXNlZCBmb3IgdGhlIHNhbWUgcHVycG9zZSBpbiBFbmdsaXNoLjxi ciAvPjxiciAvPkluIHJkZXIgdG8gdmlzdWxseSByZXByc2VudCB0aGUgc3RyZXNzIG9uIHRoZSBw ZW51bHRtYXRlIHN5bGxibGUsIGFuZCBiY2F1c2UgdGhleSBmaW5kIGl0IHZpc3VsbHkgcGxhc2lu Zywgc29tZSBwb3BsZSB1c2UgZ3J2ZSBjY2VudHMgdmVyIHRoZSBjb25zbmFudCBvZiB0aG9zZSBz eWxsYmxlcy48YnIgLz48YnIgLz5Tb21lIHBlb3BsZSBib3Jyb3cgb3RoZXIgcHVuY3R1YXRpb24g bWFya3MgZnJvbSBFbmdsaXNoLCBldmVuIHRob3VnaCB0aGV5IGFyZSBub3QgY2Fub24sIGFuZCBM b2piYW4gaXMgZXF1aXBwZWQgd2l0aCBhY3R1YWwgd29yZHMgd2hpY2ggc2hvdWxkIGNvbXBlbnNh dGUgZm9yIGFueSBwdW5jdHVhdGlvbiBvbmUgbWlnaHQgd2FudCB0byB1c2UuIE5vbmV0aGVsZXNz LCBxdWVzdGlvbiBtYXJrcywgZm9yIGV4YW1wbGUsIGNsZWFybHkgbWFya3MgYSBzZW50ZWNlIGFz IGEgcXVlc3Rpb24gYW5kIGlzIG11Y2ggZWFzaWVyIHRvIGNhdGNoIHdpdGggdGhlIGV5ZSB0aGFu IGFueSB3b3JkIGlzLCBhbmQgc28gc29tZSBMb2piYW5pc3RzIHVzZSB0aGVtLiBRdW90YXRpb24g bWFya3MsIHBhcmVudGhlc2lzIGFuZCBleGNsYW1hdGlvbnMgbWFya3MgY2FuIGJlIHVzZWQgc2lt aWxhcmx5LiBXaGlsZSB0aGlzIGlzIG5vdCB1bmdyYW1tYXRpY2FsLCBzaW5jZSB0aGF0IGRvZXNu J3QgaW50ZXJmZXJlIHdpdGggdGhlIHNlbnRlbmNlcywgc29tZSBwZW9wbGUgdGhpbmsgZXhvdGlj IHB1bmN0dWF0aW9uIGNyZWF0ZXMgYW4gdW53YW50ZWQgZGlmZmVyZW5jZSBiZXR3ZWVuIHdyaXR0 ZW4gYW5kIHNwb2tlbiBMb2piYW4sIGdlbmVyYWxseSBhIGJpZyBuby1uby4gCgotIFRoZSBmaW5h bCBwb2ludCBpcyBzdHJlc3MuIEFzIHdlJ3ZlIHNlZW4sIExvamJhbiB3b3JkcyBhcmUgc3RyZXNz ZWQgb24gdGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBhbmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJl bnQgc3RyZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVu Z2xpc2ggYW5kIEZyZW5jaCBuYW1lcyAmcXVvdDtSb2JlcnQmcXVvdDsgY29tZSBvdXQgZGlmZmVy ZW50bHkgaW4gTG9qYmFuOiB0aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVu Z2xpc2gsIG9yICcnLnJhYixydC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhl IEZyZW5jaCBpcyAnJy5yb0JFUi4nJy48YnIgLz5UbyBnaXZlIGFuIGlkZWEgb2YgaG93IGFsbCB0 aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4gdGhlaXIg b3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCisgVGhlIGZvbGxvd2luZyBuYW1lcyBhcmUgTG9q YmFuaXplZCAtIHRoZWlyIHNvdW5kcyBhcmUgdHJhbnNjcmlwZWQgaW50byBMb2piYW4gYW5kIHRo ZWlyIGVuZGluZyBzb3VuZCBoYXZlIGJlZW4gY2hhbmdlZCB0byBhIGNvbnNvbmFudC4gVGhlIGZp bmFsIGNvbnNvbmFudCBpcyBuZWNlc3NhcnksIGJlY2F1c2UgdGhhdCdzIGhvdyBmb3JlaWduIG5h bWVzIGFyZSBkaWZmZXJlbnRpYXRlZCBmcm9tIExvamJhbiB3b3Jkcy4gQWdhaW4sIG1vcmUgb24g dGhhdCBpbiBsZXNzb24gdGhpcnRlZW4uCgotIHx8X19FbmdsaXNoX188YnIgLz5NYXJnYXJldCBU aGF0Y2hlciB8JycubWFncnl0LnRhdGN5ci4nJyAobm8gJnF1b3Q7dGgmcXVvdDsgaW4gTG9qYmFu IGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRoZSB3b3JsZCBjYW4ndCBzYXkgaXQhKTxiciAv Pk1pY2sgSmFnZ2VyIHwnJy5taWsuZGphZ3lzLicnIHx8PGJyIC8+fHxfX0ZyZW5jaF9fPGJyIC8+ TmFwb2xlb24gQm9uYXBhcnRlIHwnJy5uYXBvbGUsT04uYm9uYVBBUlQuJyc8YnIgLz5KdWxpZXR0 ZSBCaW5vY2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHw8YnIgLz58fF9fQ2hpbmVzZV9fPGJyIC8+ TGFvemkgfCcnLmxhdWR6LicnPGJyIC8+TWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChGaW5h bCAnJ25nJycgaXMgaW4gTG9qYmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fDxi ciAvPnx8X19UdXJraXNoX188YnIgLz5NdXN0YWZhIEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4n JzxiciAvPkVya2luIEtvcmF5IHwnJy5lcmtpbi5rb3JhaXMuJycgfHw8YnIgLz58fF9fR2VybWFu X188YnIgLz5GcmllZHJpY2ggTmlldHpzY2hlIHwnJy5mcmlkcml4Lm5pdGN5cy4nJzxiciAvPkNs YXJhIFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4uJycgfHw8YnIgLz58fF9fU3BhbmlzaF9fPGJy IC8+SXNhYmVsIEFsbGVuZGUgfCcnLml6YUJFTC5haWVuZGVzLicnPGJyIC8+Q2hlIEd1ZXZhcmEg fCcnLnRjZWdldmFyYXMuJycgfHw8YnIgLz5fX0V4ZXJjaXNlX18uCisgX19FeGVyY2lzZSAxX18K V2hlcmUgYXJlIHRoZXNlIHBsYWNlcz8KIy5udSxJT1JLLgoKKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAxNDUtMTUw IGNoYW5nZWQgdG8gK0xpbmVzOiAxMTMtMTE5IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiN+fmdyYXksZ3JheTpMZWVkczogRW5n bGFuZH5+CiN+fmdyYXksZ3JheTpIZWxzaW5raTogRmlubGFuZH5+Ci0gX19FeGVyY2lzZV9fLjxi ciAvPkxvamJhbmlzZSB0aGUgZm9sbG93aW5nIG5hbWVzCisgX19FeGVyY2lzZSAyX188YnIgLz5M b2piYW5pc2UgdGhlIGZvbGxvd2luZyBuYW1lcy48YnIgLz5UaGVyZSBhcmUgdXN1YWxseSBhbHRl cm5hdGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9wbGUgcHJvbm91 bmNlIHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4YWN0IHNvdW5k IGRvZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0 d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcgYXMgZXZlcnlv bmUga25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0LgojSm9obgojTWVsaXNz YQoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKQEAgLUxpbmVzOiAxNjItMTY2IGNoYW5nZWQgdG8gK0xpbmVzOiAxMzEtMTM0IEBACist Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r CiNTYW4gU2FsdmFkb3IKQW5zd2VyOgotIH5+Z3JheSxncmF5OlRoZXJlIGFyZSB1c3VhbGx5IGFs dGVybmF0aXZlIHNwZWxsaW5ncyBmb3IgbmFtZXMsIGVpdGhlciBiZWNhdXNlIHBlb3BsZSBwcm9u b3VuY2UgdGhlIG9yaWdpbmFscyBkaWZmZXJlbnRseSwgb3IgYmVjYXVzZSB0aGUgZXhhY3Qgc291 bmQgZG9lc24ndCBleGlzdCBpbiBMb2piYW4sIHNvIHlvdSBuZWVkIHRvIGNob29zZSBiZXR3ZWVu IHR3byBMb2piYW4gbGV0dGVycy4gVGhpcyBkb2Vzbid0IG1hdHRlciwgc28gbG9uZyBhcyBldmVy eW9uZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91J3JlIHRhbGtpbmcgYWJvdXQufn4KI35+Z3JheSxn cmF5Oi5kam9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+CiN+fmdyYXksZ3JheTou bWVsaXN5cy5+fgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAxNzYtMTg5IGNoYW5nZWQgdG8gK0xpbmVzOiAxNDQt MTQ4IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rCiN+fmdyYXksZ3JheToubWFEUklELn5+CiN+fmdyYXksZ3JheToudG9raW9zLn5+ Ci0gI35+Z3JheSxncmF5Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSAmbHQ7 L3NwYW4mZ3Q7Jmx0Oy9odG1sJmd0O35+PGJyIC8+ISEhIUxvamJhbiB3b3JkcyBhcyBuYW1lczxi ciAvPkJ5IG5vdyB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gTG9qYmFuaXNlIHlvdXIgb3duIG5hbWUu IEhvd2V2ZXIsIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gdHJhbnNsYXRlIHlvdXIgbmFtZSBpbnRv IExvamJhbiAoaWYgeW91IGtub3cgd2hhdCBpdCBtZWFucywgb2YgY291cnNlKSBvciBhZG9wdCBh IGNvbXBsZXRlbHkgbmV3IExvamJhbiBpZGVudGl0eS4gTmF0aXZlIEFtZXJpY2FucyBnZW5lcmFs bHkgdHJhbnNsYXRlIHRoZWlyIG5hbWUgd2hlbiBzcGVha2luZyBFbmdsaXNoLCBwYXJ0bHkgYmVj YXVzZSB0aGV5IGhhdmUgbWVhbmluZ2Z1bCBuYW1lcywgYW5kIHBhcnRseSBiZWNhdXNlIHRoZXkg ZG9uJ3QgZXhwZWN0IHRoZSAmcXVvdDt3YXNpY2h1JnF1b3Q7IHRvIGJlIGFibGUgdG8gcHJvbm91 bmNlIHdvcmRzIGluIExha290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhPGJyIC8+TG9qYmFuIHdv cmRzIChleGNlcHQgY21ldmxhKSBlbmQgaW4gYSB2b3dlbC4gWW91IGNhbiB1c2UgbG9qYmFuIHdv cmRzIGFzIG5hbWVzIHRvby4gQnV0IGlmIHlvdSBwcmVmZXIgdGhhdCB5b3VyIG5hbWUgaXMgYSBj bWV2bGEgYW5kIGl0IGVuZHMgaW4gYSB2b3dlbCB0aGVuIHlvdSBjYW4gZWl0aGVyIGFkZCBhIGNv bnNvbmFudCB0byB0aGUgZW5kIG9mIGl0IG9yIGp1c3QgY2hvcCB0aGUgZW5kIHZvd2VsIG9mZi48 YnIgLz5IZXJlIGFyZSBhIGZldyBleGFtcGxlcyAob3JpZ2luYWwgbmFtZSwgbWVhbmluZywgbmFt ZSBhbmQgbmFtZSBhcyBjbWV2bGEpOjxiciAvPipGaXNoICBmaW5wZSAgJycuZmlucC4nJzxiciAv PipCanJuIChTY2FuZGluYXZpYW4gPSBiZWFyKSAgY3JpYmUgICcnLmNyaWIuJyc8YnIgLz4qR3Jl ZW4gIGNyaW5vICAnJy5jcmluLicnPGJyIC8+Kk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkg IG1lbGJpICAnJy5tZWxiLicnPGJyIC8+KkF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSAgbHVu cmEgbm9ibGkgKD0gbHVybm9ibGkpICAnJy5sdXJub2JsaXMuJycKKyAjfn5ncmF5LGdyYXk6LnNh bi5zYWx2YURPUi4gKHdpdGggU3BhbmlzaCBzdHJlc3Mpfn4KCiEhTG9qYmFuIExlc3NvbnMg4oCT IGxlc3NvbiBvbmUgKGJyaWRpLCBqdWZyYSwgc3VtdGkgYW5kIHNlbGJyaSkKCgoKCioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBu ZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgohTG9qYmFuIFdhdmUgTGVzc29ucyBD b250aW51ZWQ6CgohISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9q YmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoK CgohIUZvcmV3b3JkCgpUaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0 aGUgR29vZ2xlIFdhdmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBhdXRo b3JlZCBieSBrcmliYWNyLCB4YWxibywgYW5kIHRyYW5zY3JpYmVkIGJ5IE1hcmVueiwgbGVzc29u cyB3aGljaCBzYWRseSBvbmx5IGNvdmVyZWQgdGhlIGZpcnN0IGZvdXIgY2hhcHRlcnMgaW4gdGhp cyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50cyB0aGUgbmV3ZXN0IHJ1bGVzIG9mIExvamJhbiBub3Qg Y292ZXJlZCBieSBvbGRlciBtYXRlcmlhbHMgc3VjaCBhcyBXaGF0IGlzIExvamJhbj8gYW5kIExv amJhbiBmb3IgQmVnaW5uZXJzLgoKCgpJZiB5b3UgYXJlIG5ldyB0byBMb2piYW4sIEkgcmVjb21t ZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3JkaW5ncyB5b3UgY2FuIGZpbmQgb2Ygc3Bva2VuIExv amJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUgeW91IGFyZSB0YWtpbmcgdGhpcyB0dXRvcmlhbCwg aW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgYW5kIHdv cmRzIG9mIHRoZSBsYW5ndWFnZS4gRnVydGhlcm1vcmUsIHRyeSB0byBzYXkgdGhlIHRoaW5ncyB5 b3UgcmVhZCBpbiBMb2piYW4gYWNjZW50IGlmIGl0J3MgcmVhc29uYWJseSBwcmFjdGljYWwuIFRo aXMgY2FuIGhlbHAgeW91ciBwcm9udW5jaWF0aW9uIGEgbG90LgoKCgpXaGVuIHRha2luZyB0aGlz IHR1dG9yaWFsLCBpdCdzIGJlc3QgdG8gcGF1c2UgYmV0d2VlbiBsZXNzb25zIGluIG9yZGVyIHRv IGludGVybmFsaXplIHdoYXQgeW91IGhhdmUgbGVhcm50LiBJIGhhdmUgYXR0ZW1wdGVkIHRvIGJ1 aWxkIHRoZXNlIGxlc3NvbnMgZnJvbSB0aGUgYm90dG9tIHVwIGFuZCBleGNsdWRlIGFueSB3b3Jk cyBvciBjb25jZXB0cyB0aGF0IGhhdmUgbm90IGJlZW4gZXhwbGFpbmVkIGluIHByZXZpb3VzIGxl c3NvbnMuIE9uY2UgZXhwbGFpbmVkLCB0aGV5IGFyZSB1c2VkIGZyZWVseSB0aHJvdWdob3V0IHRo ZSByZW1haW5kZXIgb2YgdGhlIHR1dG9yaWFsLiBJIHVyZ2UgcmVhZGVycyBub3QgdG8gcGFzcyBh bnkgbWlzdW5kZXJzdG9vZCBjb250ZW50OyBpZiB5b3UgaGF2ZSBxdWVzdGlvbnMgb3IgYXJlIHVu Y2VydGFpbiBhYm91dCBzb21ldGhpbmcsIGZlZWwgZnJlZSB0byBhc2sgdGhlIExvamJhbiBjb21t dW5pdHksIHdoaWNoIGNhbiBiZSBmb3VuZCBpbiAjbG9qYmFuIG9uIHRoZSBGcmVlbm9kZSBJUkMg bmV0d29yay4gVGhleSB3aWxsIGJlIGhhcHB5IHRvIGhlbHAuCgoKCkluIHRoaXMgdHV0b3JpYWws IExvamJhbiB0ZXh0IGlzIHdyaXR0ZW4gaW4gJydpdGFsaWNzJycuIExhdGVyLCB3aGVuIHVzZWQg YXMgTG9qYmFuIGxvYW53b3JkcyBpbiBFbmdsaXNoIHNlbnRlbmNlcywgdGhleSBhcmUgbm90IG1h cmtlZC4gQW5zd2VycyB0byBleGVyY2lzZXMgYXJlIGRpc3BsYXllZCBhcyBhIGdyZXkgYmFyLiBI aWdobGlnaHQgdGhlIHRleHQgaW4gb3JkZXIgdG8gc2VlIGl0LgoKCgpMYXN0bHksIEkgaGF2ZSBh cyBmYXIgYXMgcG9zc2libGUgYXR0ZW1wdGVkIHRvIHVzZSB0aGUgTG9qYmFuIHdvcmRzIGZvciBn cmFtbWF0aWNhbCBjb25zdHJ1Y3RzOiAnJ3N1bWthJ2knJyBpbnN0ZWFkIG9mIHByby1zdW10aSwg JydzdW10Y2l0YScnIGluc3RlYWQgb2YgbW9kYWwgYW5kICcnanVmcmEnJyBpbnN0ZWFkIG9mIHV0 dGVyYW5jZS4gVGhpcyBpcyBiZWNhdXNlIEkgZmVlbCB0aGUgRW5nbGlzaCB3b3JkcyBhcmUgb2Z0 ZW4gZWl0aGVyIGFyYml0cmFyeSwgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSBqdXN0IG1vcmUgd29y ZHMgdG8gbGVhcm4sIG9yIG1pc2xlYWRpbmcsIGluIHdoaWNoIGNhc2UgdGhleSBhcmUgd29yc2Ug dGhhbiB1c2VsZXNzLiBJbiBlaXRoZXIgY2FzZSwgYXMgbG9uZyBhcyB0aGUgd29yZHMgYXJlIHNw ZWNpZmljIHRvIHRob3NlIHdobyBhcmUgbGVhcm5pbmcgTG9qYmFuIGFueXdheSwgdGhlcmUgaXMg bm8gcmVhc29uIGZvciB0aGVtIHRvIGV4aXN0IGFzIHNlcGFyYXRlIEVuZ2xpc2ggd29yZHMuCgoK CgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB6ZXJvIChzb3VuZHMpCgpXaGlsZSB5b3UgYXJl IChob3BlZnVsbHkpIGVhZ2VyIHRvIGdldCBzdGFydGVkIG9uIHRoZSBpbm5lciB3b3JraW5ncyBv ZiBMb2piYW4gZ3JhbW1hciwgYSBzaG9ydCBsZXNzb24gb24gdGhlIHNvdW5kcyBhbmQgd3JpdGlu ZyBjb252ZW50aW9ucyBvZiB0aGUgbGFuZ3VhZ2UgaXMgYmVuZWZpY2lhbC4gTGVhcm5pbmcgYSBs YW5ndWFnZSBvbmx5IGJ5IHJlYWRpbmcgaXMgaGFyZCwgYW5kIGl0J3Mgbm90IGVhc2llciBpZiB5 b3VyIGludGVybmFsIHZvaWNlIGlzIG1pc3Byb251bmNpYXRpbmcgaXQuCgpGb3IgbW9yZSBkZXRh aWxzIG9uIHZvd2VscyBhbmQgY29uc29uYW50cyBzb3VuZHMgdXNlZCBpbiBMb2piYW4sIGNsaWNr IG9uIHRoZSBsZXR0ZXJzIGRlc2NyaWJlZC4gVGhleSBhcmUgcG9pbnRpbmcgdG8gV2lraXBlZGlh IGFydGljbGVzIHdoaWNoIGRlc2NyaWJlIHRoZSBzb3VuZCBhbmQgdXN1YWxseSBoYXZlIGFuIGF1 ZGlvIHJlY29yZCBvZiBpdC4KCgoKX19Wb3dlbHNfXwoKVGhlcmUgYXJlIGZpdmUgcHJvcGVyIHZv d2VscyBpbiBMb2piYW4gYW5kIG9uZSBzZW1pLXZvd2VsLiBGaXJzdCB0aGUgcHJvcGVyIG9uZXM6 Cgp8fCcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3Blbl9mcm9udF91bnJvdW5kZWRf dm93ZWx8YV0nJyB8YXMgaW4gImZfX2FfX3RoZXIiIChub3QgYXMgaW4gImhfX2FfX3QiKQoKJydb aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbG9zZS1taWRfZnJvbnRfdW5yb3VuZGVkX3Zv d2VsfGVdJycgfGFzIGluICJnX19lX190IgoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lr aS9DbG9zZV9mcm9udF91bnJvdW5kZWRfdm93ZWx8aV0nJyB8YXMgaW4gIm1hY2hfX2lfX25lIiBv ciAoSXRhbGlhbikgInZfX2lfX25vIiAobm90IGFzIGluICJoX19pX190IikKCicnW2h0dHA6Ly9l bi53aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2UtbWlkX2JhY2tfcm91bmRlZF92b3dlbHxvXScnIHxh cyBpbiAiYl9fb19fbGQiIG9yICJtX19vX19yZSIg4oCUIG5vdCBhcyBpbiAic19fb19fIiAodGhp cyBzaG91bGQgYmUgYSAncHVyZScgc291bmQuKQoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcv d2lraS9DbG9zZV9iYWNrX3JvdW5kZWRfdm93ZWx8dV0nJyB8YXMgaW4gImNfX29vX19sIiAobm90 IGFzIGluICJiX191X190IikgfHwKClRoZXNlIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyB2 b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGggKHNlbWkpdm93ZWwsICcnW2h0 dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2Nod2F8eV0nJywgaXMgY2FsbGVkIGEgInNjaHdh IiBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0 IGFuZCBsYXN0ICJBIidzIGluICJBbWVyaWNhIiAodGhhdCdzIEVuZ2xpc2ggIkFtZXJpY2EiLCBu b3QgU3BhbmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRo IGlzIGNvbXBsZXRlbHkgcmVsYXhlZC4KClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5j ZWQgYXMgb25lIHNvdW5kICggYW5kY2FsbGVkIGEgImRpcGh0aG9uZyIpLiBTb21lIGV4YW1wbGVz IGFyZToKCgoKfHwnJ2FpJycgfGFzIGluICJoX19pZ2hfXyIKCicnYXUnJyB8YXMgaW4gImhfX293 X18iCgonJ2VpJycgfGFzIGluICJoX19leV9fIgoKJydvaScnIHxhcyBpbiAiYl9fb3lfXyIKCicn aWEnJyB8bGlrZSBHZXJtYW4gX18iSmFfXyIKCicnaWUnJyB8bGlrZSBfXyJ5ZWFoX18iCgonJ2l1 JycgfGxpa2UgX18ieW91X18iCgonJ3VhJycgfGFzIGluIF9fIndhYWghX18iLCBvciBGcmVuY2gg InFfX3VvaV9fIgoKJyd1ZScnIHxhcyBpbiAicV9fdWVfX3N0aW9uIgoKJyd1bycnIHxhcyBpbiAi cV9fdW9fX3RlIgoKJyd1aScnIHxsaWtlIF9fIndlX18iLCBvciBGcmVuY2ggX18ib3VpX18iIHx8 CgpEb3VibGUgdm93ZWxzIGFyZSByYXJlLiBUaGUgb25seSBleGFtcGxlcyBhcmUgJydpaScnLCB3 aGljaCBpcyBwcm9ub3VuY2VkIGxpa2UgRW5nbGlzaCAieWUiIChhcyBpbiDigJxPaCBjb21lIGFs bCB5ZSBmYWl0aGZ1bOKAnSkgb3IgQ2hpbmVzZSAieWkiLCBhbmQgJyd1dScnLCBwcm9ub3VuY2Vk IGxpa2UgIndvbyIuCgoKCl9fQ29uc29uYW50c19fCgpUaGVyZSBhcmUgc2V2ZW50ZWVuIGNvbnNv bmFudHMgaW4gTG9qYmFuIGFuZCBvbmUgc2VtaS1jb25zb25hbnQuIFRoZSBMb2piYW4gY29uc29u YW50cyBhcmUgdGhlIHNhbWUgYXMgdGhlIEVuZ2xpc2gsIGV4Y2VwdCB0aGF0IExvamJhbiBkb2Vz bid0IHVzZSB0aGUgbGV0dGVycyBILCBRIG9yIFcuIE1vc3Qgb2YgdGhlIGNvbnNvbmFudHMgYXJl IHByb25vdW5jZWQgbGlrZSBpbiBFbmdsaXNoLCBidXQgdGhlcmUgYXJlIHNvbWUgZXhjZXB0aW9u czoKCgoKfHxbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfdmVsYXJfcGxvc2l2 ZXxnXSB8YWx3YXlzICcnZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAnJ2cnJyBhcyBpbiAn J19fZ19fZW0nJwoKW2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19wYWxh dG8tYWx2ZW9sYXJfc2liaWxhbnR8Y10gfCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcnCgpbaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfcGFsYXRvLWFsdmVvbGFyX3NpYmlsYW50 fGpdIHxhcyBpbiAnJ21lYV9fc19fdXJlJycgb3IgRnJlbmNoICcnYm9uX19qX19vdXInJwoKW2h0 dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc192ZWxhcl9mcmljYXRpdmV8eF0g fGFzIGluIEdlcm1hbiAnJ0JhX19jaCcnX18sIFNwYW5pc2ggJydfX0pfX29zZScnIG9yIEFyYWJp YyAnJ19fS2hfX2FsZWQnJyB8fAoKVGhlIHNlbWktY29uc29uYW50IGlzIHRoZSBbaHR0cDovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfZ2xvdHRhbF9mcmljYXRpdmV8YXBvc3Ryb3Bo ZV0gVGhpcyBsZXR0ZXIgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBFbmdsaXNoIGxldHRlciBILCBi dXQgaXMgb25seSB1c2VkIGJldHdlZW4gdHdvIHZvd2VscyB0byBwcmV2ZW50IHRoZW0gZnJvbSBy dW5uaW5nIGludG8gZWFjaCBvdGhlci4gVGh1cyAnJ3VpJycgaXMgbm9ybWFsbHkgcHJvbm91bmNl ZCAid2UiLCBidXQgJyd1J2knJyBpcyAib29oZWUiLiBUaGUgY2FwaXRhbCB2ZXJzaW9uIG9mIHRo aXMgbGV0dGVyIGlzICcnaCcnLCB0aGUgbG93ZWNhc2UgSC4KCgoKRm9yIGNvbXByZWhlbnNpdmVu ZXNzIHNha2UsIGhlcmUgaXMgYSBsaXN0IG9mIHRoZSByZW1haW5pbmcgKGFuZCBsZXNzIHRyaWNr eSkgbG9qYmFuIGNvbnNvbmFudHM6CgonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Zv aWNlZF9iaWxhYmlhbF9wbG9zaXZlfGJdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dp a2kvVm9pY2VkX2FsdmVvbGFyX3Bsb3NpdmV8ZF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5v cmcvd2lraS9Wb2ljZWxlc3NfbGFiaW9kZW50YWxfZnJpY2F0aXZlfGZdJycsICcnW2h0dHA6Ly9l bi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX3ZlbGFyX3Bsb3NpdmV8a10nJywgJydbaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BbHZlb2xhcl9sYXRlcmFsX2FwcHJveGltYW50fGxd JycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmlsYWJpYWxfbmFzYWx8bV0nJywg JydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BbHZlb2xhcl9uYXNhbHxuXScnLCAnJ1to dHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19iaWxhYmlhbF9wbG9zaXZlfHBd JycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQWx2ZW9sYXJfdGFwfHJdJycsICcn W2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX2FsdmVvbGFyX3NpYmlsYW50 I1ZvaWNlbGVzc19hbHZlb2xhcl9zaWJpbGFudHxzXScnLCAnJ1todHRwczovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9Wb2ljZWxlc3NfYWx2ZW9sYXJfcGxvc2l2ZXx0XScnLCAnJ1todHRwczovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfbGFiaW9kZW50YWxfZnJpY2F0aXZlfHZdJycsICcn W2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2FsdmVvbGFyX3NpYmlsYW50I1Zv aWNlZF9hbHZlb2xhcl9zaWJpbGFudHx6XScnCgoKClNwZWFraW5nIG9mIHRoZSBsZXR0ZXJzLCB3 aGF0IGlzIHRoZSBuYW1lIG9mIHRoZW0/IFlvdSBrbm93LCBIIGlzIHByb25vdW5jZWQgImFnZSIg aW4gRW5nbGlzaCwgYW5kIEsgaXMgcHJvbm91bmNlZCAia2F5IiwgcmF0aGVyIGRpZmZlcmVudCB0 aGFuIHRoZSBzb3VuZCB0aGUgbGV0dGVyIG1ha2VzIG9uIGl0IG93bi4gSG93IGFib3V0IExvamJh bj8gV2VsbCwgY29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiBUaGUgbmFtZSBvZiBhIGNv bnNvbmFudCBsZXR0ZXIgaXMgdGhlIHNvdW5kIHRoYXQgbGV0dGVyLCBwbHVzICcneScnLiBTbyB0 aGUgY29uc29uYW50IGxldHRlcnMgb2YgTG9qYmFuLCAiYiwgYywgZCwgZiwgZyAuLi4iLCBhcmUg Y2FsbGVkICcnYnkgY3kgZHkgZnkgZ3knJyBpbiBMb2piYW4uIFRoZSBzZW1pLWNvbnNvbmFudCAn IGlzIGNhbGxlZCAnJ3kneScnIChwcm9ub3VuY2VkIGxpa2UgYW4gYWdyZWVpbmcgdWgtaHVoKS4g CgpWb3dlbHMgX193b3VsZF9fIGJlIGNhbGxlZCAnJy5heSwgLmV5LCAuaXknJywgYnV0IHRoYXQg d291bGQgYmUgcmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRoZXkgYXJl IGhhbmRsZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3JkICcnYnUn JywgYSBzb3VuZCB3aGljaCBzaWduaWZpZXMgd2UncmUgc3BlYWtpbmcgYWJvdXQgYSBzeW1ib2wu IFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFyZTogJycuYWJ1IC5lYnUgLmlidSAub2J1IC51YnUg YW5kIHlidS4nJwoKTGFzdGx5IHlvdSBzaG91bGQga25vdyB0aGF0IHN0cmVzcyBpcyBwbGFjZWQg b24gdGhlIHNlY29uZC10by1sYXN0IHN5bGxhYmxlIGluIHdvcmRzIHdpdGggbW9yZSB0aGFuIG9u ZSBzeWxsYWJsZSwgYW5kIHRoYXQgb25lLXN5bGxhYmxlIHdvcmRzIGFyZSBub3Qgc3RyZXNzZWQu CgoKCl9fQ29ycmVjdCBwcm9udW5jaWF0aW9uX18KCllvdSBkb24ndCBoYXZlIHRvIGJlIHZlcnkg cHJlY2lzZSBhYm91dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUgcGhvbmVtZXMg YXJlIGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9uZSBzb3VuZCBm b3IgYW5vdGhlci4gVGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29ycmVjdCcgcHJv bnVuY2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251bmNpYXRpb27i gJR0aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBsb25nIGFz IGl0IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4gRm9yIGV4YW1w bGUsIExvamJhbiAnJ3InJyBjYW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAiUiIgaW4gRW5nbGlz aCwgU2NvdHRpc2ggb3IgRnJlbmNoLgoKVHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91 Z2gsIGFyZSBwcm9ub3VuY2luZyBMb2piYW4gJydpJycgYW5kICcndScnIGxpa2UgU3RhbmRhcmQg QnJpdGlzaCBFbmdsaXNoICJoaXQiIGFuZCAiYnV0IiAoTm9ydGhlcm4gRW5nbGlzaCAiYnV0IiBp cyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxhcmx5 IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUgd2hv IGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2JsZW1z IHNwaXR0aW5nIG91dCB0aGUgJyd6ZCcnIGluICcnemRhbmknJyAoaG91c2UpLCB5b3UgY2FuIHNh eSB6yapkYW5p4oCUd2hlcmUgdGhlICLJqiIgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAi aSIgaGFzIHRvIGJlIGxvbmcuCgoKCl9fV3JpdGluZyBMb2piYW5fXwoKQXMgeW91IGhhdmUgYWxy ZWFkeSBzZWVuLCBMb2piYW4gdXNlcyB0aGUgTGF0aW4gYWxwaGFiZXQsIHRob3VnaCB2YXJpb3Vz IExvamJhbmlzdHMgaGF2ZSBzdWdnZXN0ZWQgZGlmZmVyZW50LCB1c3VhbGx5IHNlbGYtZGVzaWdu ZWQgb25lcy4gRnVydGhlcm1vcmUsIExvamJhbiBhbG1vc3QgYWx3YXlzIHVzZXMgbG93ZXItY2Fz ZSBsZXR0ZXJzLiBDYXBpdGFsIGxldHRlcnMgYXJlIG9ubHkgdXNlZCB0byBtYXJrIHN0cmVzcyBp biBwcm9wZXIgbmFtZXMsIGJ1dCBwZW9wbGUgdGVuZCB0byBhdm9pZCB0aGVtIGV2ZW4gaW4gbmFt ZXMuCgpBcGFydCBmcm9tIHRoZSBsZXR0ZXJzLCBzb21lIHB1bmN0dWF0aW9uIGlzIHVzZWQ6CgpB IGZ1bGwgc3RvcCAocGVyaW9kKSBpcyBhIHNob3J0IHBhdXNlLiBUaGUgcnVsZXMgb2YgTG9qYmFu IG1ha2UgaXQgZWFzaWVyIGZvciBvbmUgd29yZCB0byBydW4gaW50byBhbm90aGVyIHdoZW4gdGhl IHNlY29uZCB3b3JkIGJlZ2lucyB3aXRoIGEgdm93ZWw7IHNvIGFueSB3b3JkIHN0YXJ0aW5nIHdp dGggYSB2b3dlbCBjb252ZW50aW9uYWxseSBoYXMgYSBmdWxsIHN0b3AgcGxhY2VkIGluIGZyb250 IG9mIGl0LiBGdWxsIHN0b3BzIGFyZSBuZXZlciB1c2VkIHRvIGVuZCBzZW50ZW5jZXMuCgpDb21t YXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBidXQgY2FuIGJlIHVzZWQgdG8gc3RvcCB0d28gdm93ZWxz IGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4geW91IGRvbid0IHdhbnQgdG8gdXNlIGFuIGFwb3N0cm9w aGUgKHdoaWNoIHdvdWxkIHB1dCBhIEggYmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhh dmUgY29tbWFzLCBidXQgdGhleSdyZSBzb21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2pi YW4gbmFtZXMuCgoKClRoZSBmb2xsb3dpbmcgYXJlIGZvdW5kIHdyaXRpbmcgc3R5bGVzIG9mIGRp ZmZlcmVudCBMb2piYW5pc3RzLCBidXQgdGhleSBhcmUgbm90IGNvbnZlbnRpb25hbDoKCgoKU3Bh Y2VzIGFyZSB1c3VhbGx5IHVzZWQgYmV0d2VlbiB3b3Jkcy4gICBUaGV5IGFyZSBtYW5kYXRvcnkg YmV0d2VlbiBzb21lIHdvcmRzIChtb3JlIG9uIHRoYXQgaW4gbGVzc29uIHRoaXJ0ZWVuKS4gICBE b3VibGUgb3IgdHJpcGxlIHNwYWNlIGlzIHNvbWV0aW1lcyB1c2VkIGJlZm9yZSB0aGUgYmVnaW5u aW5nIG9mIG5ldyBzZW50ZW5jZXMuICAgVGhpcyBpcyB0byBjbGVhcmx5IG1hcmsgc2VudGVuY2Ug c2hpZnQgdmlzdWFsbHkuICAgVGhpcyBtaWdodCBjb21wZW5zYXRlIGZvciBsYWNrIG9mIGNhcGl0 YWwgbGV0dGVycyB3aGljaCBhcmUgdXNlZCBmb3IgdGhlIHNhbWUgcHVycG9zZSBpbiBFbmdsaXNo LgoKCgpJbiDDsnJkZXIgdG8gdmlzdcOgbGx5IHJlcHLDqHNlbnQgdGhlIHN0cmVzcyBvbiB0aGUg cGVudWx0w6xtYXRlIHN5bGzDoGJsZSwgYW5kIGLDqGNhdXNlIHRoZXkgZmluZCBpdCB2aXN1w6Bs bHkgcGzDqGFzaW5nLCBzb21lIHDDqG9wbGUgdXNlIGdyw6B2ZSDDoGNjZW50cyDDsnZlciB0aGUg Y29uc8OybmFudCBvZiB0aG9zZSBzeWxsw6BibGVzLgoKCgpTb21lIHBlb3BsZSBib3Jyb3cgb3Ro ZXIgcHVuY3R1YXRpb24gbWFya3MgZnJvbSBFbmdsaXNoLCBldmVuIHRob3VnaCB0aGV5IGFyZSBu b3QgY2Fub24sIGFuZCBMb2piYW4gaXMgZXF1aXBwZWQgd2l0aCBhY3R1YWwgd29yZHMgd2hpY2gg c2hvdWxkIGNvbXBlbnNhdGUgZm9yIGFueSBwdW5jdHVhdGlvbiBvbmUgbWlnaHQgd2FudCB0byB1 c2UuIE5vbmV0aGVsZXNzLCBxdWVzdGlvbiBtYXJrcywgZm9yIGV4YW1wbGUsIGNsZWFybHkgbWFy a3MgYSBzZW50ZWNlIGFzIGEgcXVlc3Rpb24gYW5kIGlzIG11Y2ggZWFzaWVyIHRvIGNhdGNoIHdp dGggdGhlIGV5ZSB0aGFuIGFueSB3b3JkIGlzLCBhbmQgc28gc29tZSBMb2piYW5pc3RzIHVzZSB0 aGVtLiBRdW90YXRpb24gbWFya3MsIHBhcmVudGhlc2lzIGFuZCBleGNsYW1hdGlvbnMgbWFya3Mg Y2FuIGJlIHVzZWQgc2ltaWxhcmx5LiBXaGlsZSB0aGlzIGlzIG5vdCB1bmdyYW1tYXRpY2FsLCBz aW5jZSB0aGF0IGRvZXNuJ3QgaW50ZXJmZXJlIHdpdGggdGhlIHNlbnRlbmNlcywgc29tZSBwZW9w bGUgdGhpbmsgZXhvdGljIHB1bmN0dWF0aW9uIGNyZWF0ZXMgYW4gdW53YW50ZWQgZGlmZmVyZW5j ZSBiZXR3ZWVuIHdyaXR0ZW4gYW5kIHNwb2tlbiBMb2piYW4sIGdlbmVyYWxseSBhIGJpZyBuby1u by4gCgoKClRoZSBmb2xsb3dpbmcgbmFtZXMgYXJlIExvamJhbml6ZWQgLSB0aGVpciBzb3VuZHMg YXJlIHRyYW5zY3JpcGVkIGludG8gTG9qYmFuIGFuZCB0aGVpciBlbmRpbmcgc291bmQgaGF2ZSBi ZWVuIGNoYW5nZWQgdG8gYSBjb25zb25hbnQuIFRoZSBmaW5hbCBjb25zb25hbnQgaXMgbmVjZXNz YXJ5LCBiZWNhdXNlIHRoYXQncyBob3cgZm9yZWlnbiBuYW1lcyBhcmUgZGlmZmVyZW50aWF0ZWQg ZnJvbSBMb2piYW4gd29yZHMuIEFnYWluLCBtb3JlIG9uIHRoYXQgaW4gbGVzc29uIHRoaXJ0ZWVu LgoKCgpfX0V4ZXJjaXNlIDFfXwoKV2hlcmUgYXJlIHRoZXNlIHBsYWNlcz8KCiMubnUsSU9SSy4K CiMucm9tYXMuCgojLnhhdmFuYXMuCgojLmthcmRpZi4KCiMuYmVpZGppbi4KCiMuQU5rYXJhcy4K CiMuQUxiZWtlcmtpcy4KCiMudmFua3V2ZXIuCgojLmtlaXB0YXVuLgoKIy50YWliZWlzLgoKIy5i b24uCgojLmRlbGlzLgoKIy5uaXMuCgojLmF0aW5hcy4KCiMubGlkei4KCiMueGVsc2lua2lzLgoK QW5zd2VyOgoKfn5ncmF5LGdyYXk6fn4KCiN+fmdyYXksZ3JheTpOZXcgWW9yazogVVNBfn4KCiN+ fmdyYXksZ3JheTpSb21lOiBJdGFseX5+Cgojfn5ncmF5LGdyYXk6SGF2YW5hOiBDdWJhfn4KCiN+ fmdyYXksZ3JheTpDYXJkaWZmOiBXYWxlcyAoVGhlIFdlbHNoIGZvciAiQ2FyZGlmZiIgaXMgIkNh ZXJkeWRkIiwgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQu Lil+fgoKI35+Z3JheSxncmF5OkJlaWppbmc6IENoaW5hfn4KCiN+fmdyYXksZ3JheTpBbmthcmE6 IFR1cmtleX5+Cgojfn5ncmF5LGdyYXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQX5+Cgoj fn5ncmF5LGdyYXk6VmFuY291dmVyOiBDYW5hZGF+fgoKI35+Z3JheSxncmF5OkNhcGUgVG93bjog U291dGggQWZyaWNhfn4KCiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3Qg cC4gQWx0aG91Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEg cC4uLiBCdXQgdGhpcyBpc24ndCBtZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4K CiN+fmdyYXksZ3JheTpCb25uOiBHZXJtYW55fn4KCiN+fmdyYXksZ3JheTpEZWxoaTogSW5kaWEg KFRoZSBIaW5kaSBmb3IgIkRlbGhpIiBpcyAiRGlsbMOuIiwgd2hpY2ggd291bGQgZ2l2ZSBkaWxp eXMuIG9yIGRpbGknaXMuLil+fgoKI35+Z3JheSxncmF5Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5 LGdyYXk6QXRoZW5zOiBHcmVlY2UgKCJBdGhpbmEiIGluIEdyZWVrKX5+Cgojfn5ncmF5LGdyYXk6 TGVlZHM6IEVuZ2xhbmR+fgoKI35+Z3JheSxncmF5OkhlbHNpbmtpOiBGaW5sYW5kfn4KCl9fRXhl cmNpc2UgMl9fCgpMb2piYW5pc2UgdGhlIGZvbGxvd2luZyBuYW1lcy4KClRoZXJlIGFyZSB1c3Vh bGx5IGFsdGVybmF0aXZlIHNwZWxsaW5ncyBmb3IgbmFtZXMsIGVpdGhlciBiZWNhdXNlIHBlb3Bs ZSBwcm9ub3VuY2UgdGhlIG9yaWdpbmFscyBkaWZmZXJlbnRseSwgb3IgYmVjYXVzZSB0aGUgZXhh Y3Qgc291bmQgZG9lc24ndCBleGlzdCBpbiBMb2piYW4sIHNvIHlvdSBuZWVkIHRvIGNob29zZSBi ZXR3ZWVuIHR3byBMb2piYW4gbGV0dGVycy4gVGhpcyBkb2Vzbid0IG1hdHRlciwgc28gbG9uZyBh cyBldmVyeW9uZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91J3JlIHRhbGtpbmcgYWJvdXQuCgojSm9o bgoKI01lbGlzc2EKCiNBbWFuZGEKCiNNYXR0aGV3CgojTWljaGFlbAoKI0RhdmlkIEJvd2llCgoj SmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5IFdlYXZlcgoKI1Jp Y2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2FuIFNhbHZhZG9yCgpB bnN3ZXI6Cgojfn5ncmF5LGdyYXk6LmRqb24uIChvciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMp fn4KCiN+fmdyYXksZ3JheToubWVsaXN5cy5+fgoKI35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdh aW4sIGRlcGVuZGluZyBvbiB5b3VyIGFjY2VudCwgdGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBp bml0aWFsIGEgbWF5IGJlIHksIGFuZCB0aGUgbWlkZGxlIGEgbWF5IGJlIGUuKX5+Cgojfn5ncmF5 LGdyYXk6Lm1hdGl1cy5+fgoKI35+Z3JheSxncmF5Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVw ZW5kaW5nIG9uIGhvdyB5b3Ugc2F5IGl0Ln5+Cgojfn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMu IG9yIC5ibyxpcy4gKGJ1dCBub3QgLmJ1LGlzLiDigJQgdGhhdCdzIHRoZSBrbmlmZSl+fgoKI35+ Z3JheSxncmF5Oi5kamVpbi5vc3Rpbi5+fgoKI35+Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+ fgoKI35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5Z29ybmlzLnVpdnlyLn5+Cgoj fn5ncmF5LGdyYXk6LnJpdGN5cmQubmlrc3luLn5+Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiB3 aXRoIEVuZ2xpc2ggc3RyZXNzLCAuSVN0YW5idWwuIHdpdGggQW1lcmljYW4sIC5pc3RhbmJ1bC4g d2l0aCBUdXJraXNoLiBMb2piYW5pc3RzIGdlbmVyYWxseSBwcmVmZXIgdG8gYmFzZSBjbWV2bGEg b24gbG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUu fn4KCiN+fmdyYXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+ Z3JheSxncmF5Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKX5+CgoKCiEhTG9q YmFuIExlc3NvbnMg4oCTIGxlc3NvbiBvbmUgKGJyaWRpLCBqdWZyYSwgc3VtdGkgYW5kIHNlbGJy aSkKCkEgJydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRyYWwgdW5pdCBvZiBMb2piYW4gdXR0ZXJh bmNlcy4gVGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0byB3aGF0IHdlIGNhbGwgYSBwcm9wb3Np dGlvbiBpbiBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xhaW0gdGhhdCBzb21lIG9iamVjdHMgc3Rh bmQgaW4gYSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBvciB0aGF0IGFuIG9iamVjdCBoYXMgc29t ZSBwcm9wZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gJydqdWZyYScnLCB3aGljaCBh cmUgbWVyZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGljaCBjYW4gYmUgYnJpZGkgb3IgYW55dGhp bmcgZWxzZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYnJpZGkgYW5kIGEg anVmcmEgaXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5lY2Vzc2FyaWx5IHN0YXRlIGFueXRoaW5n LCB3aGlsZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJpZGkgbWlnaHQgYmUgdHJ1ZSBvciBmYWxz ZSwgd2hpbGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2FpZCB0byBiZSBzdWNoLgoKVG8gaGF2ZSBz b21lIGV4YW1wbGVzIChpbiBFbmdsaXNoLCB0byBiZWdpbiB3aXRoKSwg4oCcTW96YXJ0IHdhcyB0 aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWXigJ0gaXMgYSBicmlkaSwgYmVjYXVzZSBp dCBtYWtlcyBhIGNsYWltIHdpdGggYSB0cnV0aCB2YWx1ZSwgYW5kIGl0IGludm9sdmVzIGFuIG9i amVjdCwgTW96YXJ0LCBhbmQgYSBwcm9wZXJ0eSwgYmVpbmcgdGhlIGdyZWF0ZXN0IG11c2ljaWFu IG9mIGFsbCB0aW1lLiBPbiB0aGUgY29udHJhcnksIOKAnE93ISBNeSB0b2Uh4oCdIGlzIG5vdCBh IGJyaWRpLCBzaW5jZSBpdCBkb2VzIG5vdCBpbnZvbHZlIGEgcmVsYXRpb24sIGFuZCB0aHVzIGRv ZXMgbm90IHN0YXRlIGFueXRoaW5nLiBCb3RoLCB0aG91Z2gsIGFyZSBqdWZyYS4KClRyeSB0byBp ZGVudGlmeSB0aGUgYnJpZGkgYW1vbmcgdGhlc2UgRW5nbGlzaCBqdWZyYToKCgoKIyDigJxJIGhh dGUgaXQgd2hlbiB5b3UgZG8gdGhhdC7igJ0KCiMg4oCcUnVucy7igJ0KCiMg4oCcV29haCwgdGhh dCBsb29rcyBkZWxpY2lvdXMh4oCdCgojIOKAnEdlZXosIG5vdCBhZ2Fpbi7igJ0KCiMg4oCcTm8s IEkgb3duIHRocmVlIGNhcnPigJ0KCiMg4oCcTmluZXRlZW4gbWludXRlcyBwYXN0IGVpZ2h0LuKA nQoKIyDigJxUaGlzIFNhdHVyZGF5LCB5ZXMu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6MSwg MyBhbmQgNSBhcmUgYnJpZGkuIDIgY29udGFpbnMgbm8gb2JqZWN0cyBhbmQgdGhlIHJlc3QgY29u dGFpbiBubyByZWxhdGlvbiBvciBjbGFpbSBvZiBhIHByb3BlcnR5Ln5+CgoKClB1dCBpbiBMb2pi YW4gdGVybXMsIGEgYnJpZGkgY29uc2lzdHMgb2Ygb25lICcnc2VsYnJpJycsIGFuZCBvbmUgb3Ig bW9yZSAnJ3N1bXRpJycuIFRoZSBzZWxicmkgaXMgdGhlIHJlbGF0aW9uIG9yIGNsYWltIGFib3V0 IHRoZSBvYmplY3QsIGFuZCB0aGUgc3VtdGkgYXJlIHRoZSBvYmplY3RzIHdoaWNoIGFyZSBpbiBh IHJlbGF0aW9uLiBOb3RlIHRoYXQg4oCcb2JqZWN04oCdIGlzIG5vdCBhIHBlcmZlY3QgdHJhbnNs YXRpb24gb2Yg4oCcc3VtdGnigJ0sIHNpbmNlIOKAnHN1bXRp4oCdIGNhbiByZWZlciB0byBub3Qg anVzdCBwaHlzaWNhbCBvYmplY3RzLCBidXQgY2FuIGFsc28gcHVyZWx5IGFic3RyYWN0IHRoaW5n cyBsaWtlIOKAnFRoZSBpZGVhIG9mIHdhcmZhcmXigJ0uIEEgYmV0dGVyIHRyYW5zbGF0aW9uIHdv dWxkIGJlIHNvbWV0aGluZyBsaWtlIOKAnHN1YmplY3QsIGRpcmVjdCBvciBpbmRpcmVjdCBvYmpl Y3TigJ0gZm9yIHN1bXRpLCBhbmQg4oCcdmVyYuKAnSBmb3Igc2VsYnJpLCB0aG91Z2gsIGFzIHdl IHdpbGwgc2VlLCB0aGlzIGlzIG5vdCBvcHRpbWFsIGVpdGhlci4KCldlIGNhbiBub3cgd3JpdGUg dGhlIGZpcnN0IGltcG9ydGFudCBsZXNzb24gZG93bjoKCmJyaWRpID0gc2VsYnJpICsgb25lIG9y IG1vcmUgc3VtdGkKClB1dCBhbm90aGVyIHdheSwgYSBicmlkaSBzdGF0ZXMgdGhhdCBzb21lIHN1 bXRpIGRvL2FyZSBzb21ldGhpbmcgZXhwbGFpbmVkIGJ5IGEgc2VsYnJpLgoKCgpJZGVudGlmeSB0 aGUgc3VtdGkgYW5kIHNlbGJyaSBlcXVpdmFsZW50cyBpbiB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoK 4oCcSSB3aWxsIHBpY2sgdXAgbXkgZGF1Z2h0ZXJzIHdpdGggbXkgY2Fy4oCdCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6c2VsYnJpOiDigJxwaWNrIHVwICh3aXRoKeKAnS4gc3VtdGk6IOKAnEnigJ0s IOKAnG15IGRhdWdodGVyc+KAnSwg4oCcbXkgY2Fy4oCdfn4KCgoK4oCcSGUgYm91Z2h0IDUgbmV3 IHNoaXJ0cyBmcm9tIE1hcmsgZm9yIGp1c3QgdHdvIGh1bmRyZWQgZXVybyHigJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGJvdWdodCAoZnJvbSkgKGZvcinigJ0gc3VtdGk6IOKA nEhl4oCdLCDigJw1IG5ldyBzaGlydHPigJ0sIOKAnE1hcmvigJ0gYW5kIOKAnHR3byBodW5kcmVk IGV1cm9z4oCdfn4KCgoKU2luY2UgdGhlc2UgY29uY2VwdHMgYXJlIHNvIGZ1bmRhbWVudGFsIHRv IExvamJhbiwgbGV0J3MgaGF2ZSBhIHRoaXJkIGV4YW1wbGU6IOKAnFNvIGZhciwgdGhlIEVQQSBo YXMgZG9uZSBub3RoaW5nIGFib3V0IHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRlLuKAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10 aTog4oCcVGhlIEVQQeKAnSwg4oCcbm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxw aHVyIGRpb3hpZGXigJ1+fgoKCgpOb3cgdHJ5IGJlZ2luIG1ha2luZyBMb2piYW4gYnJpZGkuIEZv ciB0aGlzIHlvdSB3aWxsIG5lZWQgdG8gdXNlIHNvbWUgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMg c2VsYnJpOgoKJydfX2R1bmRhX18nJyB4MSBnaXZlcyB4MiB0byB4MyAod2l0aG91dCBwYXltZW50 KQoKJydfX3BlbHh1X18nJyB4MSBpcyB5ZWxsb3cKCicnX196ZGFuaV9fJycgeDEgaXMgYSBob21l IG9mIHgyCgoKCk5vdGljZSB0aGF0IHRoZXNlIHdvcmRzIG1lYW5pbmcg4oCcZ2l2ZeKAnSwg4oCc eWVsbG934oCdIGFuZCDigJxob21l4oCdIHdvdWxkIGJlIGNvbnNpZGVyZWQgYSB2ZXJiLCBhbiBh ZGplY3RpdmUgYW5kIGEgbm91biBpbiBFbmdsaXNoLiBJbiBMb2piYW4sIHRoZXJlIGFyZSBubyBz dWNoIGNhdGVnb3JpZXMgYW5kIG5vIHN1Y2ggZGlzdGluY3Rpb24uICcnZHVuZGEnJyBjYW4gYmUg dHJhbnNsYXRlZCDigJxnaXZlc+KAnSAodmVyYiksIOKAnGlzIGEgZ2l2ZXLigJ0gKG5vdW4pLCDi gJxpcyBnaXZpbmfigJ0gKGFkamVjdGl2ZSkgYXMgd2VsbCBhcyB0byBhbiBhZHZlcmIgZm9ybS4g VGhleSBhbGwgYWN0IGFzIHNlbGJyaSwgYW5kIGFyZSB1c2VkIGluIHRoZSBzYW1lIHdheS4KCgoK QXMgd2VsbCBhcyBhIGZldyB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzdW10aToKCicnX19taV9f Jycg4oCcSeKAnSBvciDigJx3ZeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIHNwZWFr aW5nLgoKJydfX3RpX18nJyDigJx0aGlz4oCdIOKAkyBhIGNsb3NlIHRoaW5nIG9yIGV2ZW50IG5l YXJieSB3aGljaCBjYW4gYmUgcG9pbnRlZCB0byBieSB0aGUgc3BlYWtlci4KCicnX19kb19fJycg 4oCceW914oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgYmVpbmcgc3Bva2VuIHRvLgoK CgpTZWUgdGhlIHN0cmFuZ2UgdHJhbnNsYXRpb25zIG9mIHRoZSBzZWxicmkgYWJvdmUgLSBlc3Bl Y2lhbGx5IHRoZSB4MSwgeDIgYW5kIHgzPyBUaG9zZSBhcmUgY2FsbGVkIHN1bXRpIHBsYWNlcy4g VGhleSBhcmUgcGxhY2VzIHdoZXJlIHN1bXRpIGNhbiBnbyB0byBmaWxsIGEgYnJpZGkuIEZpbGxp bmcgYSBzdW10aSBpbiBhIHBsYWNlIHN0YXRlcyB0aGF0IHRoZSBzdW10aSBmaXRzIGluIHRoYXQg cGxhY2UuIFRoZSBzZWNvbmQgcGxhY2Ugb2YgJydkdW5kYScnLCBmb3IgZXhhbXBsZSwgeDIsIGlz IHRoZSB0aGluZyBiZWluZyBnaXZlbi4gVGhlIHRoaXJkIGlzIHRoZSBvYmplY3Qgd2hpY2ggcmVj ZWl2ZXMgdGhlIHRoaW5nLiBOb3RpY2UgYWxzbyB0aGF0IHRoZSB0cmFuc2xhdGlvbiBvZiAnJ2R1 bmRhJycgaGFzIHRoZSB3b3JkIOKAnHRv4oCdIGluIGl0LiBUaGlzIGlzIGJlY2F1c2UsIHdoaWxl IHRoaXMgd29yZCBpcyBuZWVkZWQgaW4gRW5nbGlzaCB0byBzaWduaWZ5IHRoZSByZWNlaXZlciwg dGhlIHJlY2VpdmVyIGlzIGluIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycuIFNv IHdoZW4geW91IGZpbGwgdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJywgdGhlIHN1 bXRpIHlvdSBmaWxsIGluIGlzIGFsd2F5cyB0aGUgcmVjZWl2ZXIsIGFuZCB5b3UgZG9uJ3QgbmVl ZCBhbiBlcXVpdmFsZW50IHRvIHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBicmlkaSwg eW91IHNpbXBseSBzYXkgdGhlIHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmksIHRoZW4g YW55IG90aGVyIHN1bXRpLgoKVXN1YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJpfV9fIHt4 MiBzdW10aX0ge3gzIHN1bXRpfSB7eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBvbn0KClRo ZSBvcmRlciBjYW4gYmUgcGxheWVkIGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ugc3RpY2sg d2l0aCB0aGUgdXN1YWwgZm9ybS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKAnSB5b3Ug anVzdCBzYXkgJydtaSBkdW5kYSB0aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBhdCB0aGUg cmlnaHQgcGxhY2VzLgoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBhIGhvbWUg b2YgbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4KCgoKVHJ5 IGEgZmV3IG1vcmUgaW4gb3JkZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3RydWN0dXJl IHNpbmsgaW4uCgoKCuKAnFlvdSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydkbyBkdW5kYSB0aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBlbHh1JycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpRdWl0ZSBl YXN5IG9uY2UgeW91IGdldCB0aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxlIGJyaWRp IGFmdGVyIGVhY2ggb3RoZXIgYXJlIHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0aGUgTG9q YmFuIGVxdWl2YWxlbnQgb2YgZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJlZm9yZSBi cmlkaSBpbnN0ZWFkIG9mIGFmdGVyIHRoZW0uIEl0J3Mgb2Z0ZW4gbGVmdCBvdXQgYmVmb3JlIHRo ZSBmaXJzdCBicmlkaSwgdGhvdWdoLCBhcyBpbiBhbGwgdGhlc2UgZXhhbXBsZXM6CgonJ19fLmlf XycnIFNlbnRlbmNlIHNlcGFyYXRvci4gU2VwYXJhdGVzIGFueSB0d28ganVmcmEgKGFuZCB0aGVy ZWZvcmUgYWxzbyBicmlkaSkuCgoKCicndGkgemRhbmkgbWkgIC5pIHRpIHBlbHh1Jycg4oCdVGhp cyBpcyBhIGhvbWUgdG8gbWUuIFRoaXMgaXMgeWVsbG93LuKAnQoKCgpCZWZvcmUgeW91IG1vdmUg b24gdG8gdGhlIG5leHQgbGVzc29uLCBJIHJlY29tbWVuZCB0aGF0IHlvdSB0YWtlIGEgYnJlYWsg Zm9yIGF0IGxlYXN0IHNldmVuIG1pbnV0ZXMgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGlu LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0d28gKEZBIGFuZCB6bydlKQoKTW9z dCBzZWxicmkgaGF2ZSBmcm9tIG9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcywgYnV0IHNvbWUgaGF2 ZSBtb3JlLiBIZXJlIGlzIGEgc2VsYnJpIHdpdGggZm91ciBzdW10aSBwbGFjZXM6CgonJ19fdmVj bnVfXycnIHgxIHNlbGxzIHgyIHRvIHgzIGZvciBwcmljZSB4NAoKCgpJZiBJIHdhbnQgdG8gc2F5 IOKAnEkgc2VsbCB0aGlz4oCdLCBpdCB3b3VsZCBiZSB0b28gbXVjaCB0byBoYXZlIHRvIGZpbGwg dGhlIHN1bXRpIHBsYWNlcyB4MyBhbmQgeDQsIHdoaWNoIHNwZWNpZnkgd2hvIEkgc2VsbCB0aGUg dGhpbmcgdG8sIGFuZCBmb3Igd2hhdCBwcmljZS4gTHVja2lseSwgSSBkb24ndCBuZWVkIHRvLiBz dW10aSBwbGFjZXMgY2FuIGJlIGZpbGxlZCB3aXRoICcnem8nZScnLiAnJ3pvJ2UnJyBpbmRpY2F0 ZXMgdG8gdXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIHN1bXRpIHBsYWNlIGlzIHVuc3BlY2lmaWVk IGJlY2F1c2UgaXQncyB1bmltcG9ydGFudCBvciBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIGNvbnRl eHQuCgonJ19fem8nZV9fJycg4oCcc29tZXRoaW5n4oCdIEZpbGxzIGEgc3VtdGkgcGxhY2Ugd2l0 aCBzb21ldGhpbmcsIGJ1dCBkb2VzIG5vdCBzdGF0ZSB3aGF0LgoKCgpTbyB0byBzYXkg4oCcSSBz ZWxsIHRvIHlvdeKAnSwgSSBjb3VsZCBzYXkgJydtaSB2ZWNudSB6bydlIGRvIHpvJ2UnJyDigJMg SSBzZWxsIHNvbWV0aGluZyB0byB5b3UgZm9yIHNvbWUgcHJpY2UuCgpIb3cgd291bGQgeW91IHNh eTog4oCcVGhhdCdzIGEgaG9tZSAoZm9yIHNvbWVib2R5KeKAnT8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTogJyd0aSB6ZGFuaSB6bydlJyd+fgoKCgpIb3cgYWJvdXQg4oCcKHNvbWVvbmUpIGdpdmVz IHRoaXMgdG8gKHNvbWVvbmUp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicnem8nZSBkdW5k YSB0aSB6bydlJyd+fgoKCgpTdGlsbCwgZmlsbGluZyBvdXQgdGhyZWUgem8nZSBqdXN0IHRvIHNh eSB0aGF0IGEgdGhpbmcgaXMgYmVpbmcgc29sZCB0YWtlcyB0aW1lLiBUaGVyZWZvcmUgeW91IGRv bid0IG5lZWQgdG8gd3JpdGUgYWxsIHRoZSAnJ3pvJ2UnJyBpbiBhIGJyaWRpLiBUaGUgcnVsZSBz aW1wbHkgaXMgdGhhdCBpZiB5b3UgbGVhdmUgb3V0IGFueSBzdW10aSwgdGhleSB3aWxsIGJlIGNv bnNpZGVyZWQgYXMgaWYgdGhleSBjb250YWluZWQgJyd6bydlJycuIElmIHRoZSBicmlkaSBiZWdp bnMgd2l0aCBhIHNlbGJyaSwgdGhlIHgxIGlzIHByZXN1bWVkIHRvIGJlIG9taXR0ZWQgYW5kIGl0 IGJlY29tZXMgJyd6bydlJycuCgpUcnkgaXQgb3V0LiBXaGF0J3MgTG9qYmFuIGZvciDigJxJIHNl bGzigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSB2ZWNudScnfn4KCgoKQW5kIHdoYXQg ZG9lcyAnJ3pkYW5pIG1pJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21ldGhp bmcgaXMgYSBob21lIG9mIG1l4oCdIG9yIGp1c3Qg4oCcSSBoYXZlIGEgaG9tZS7igJ1+fgoKCgpB cyBtZW50aW9uZWQgZWFybGllciwgdGhlIGZvcm0gZG9lc24ndCBoYXZlIHRvIGJlIHt4MSBzdW10 aX0ge3NlbGJyaX0ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IChlY3QuKSBJbiBmYWN0LCB5b3UgY2Fu IHBsYWNlIHRoZSBzZWxicmkgYW55d2hlcmUgeW91IHdhbnQsIGp1c3Qgbm90IGF0IHRoZSBiZWdp bm5pbmcgb2YgdGhlIGJyaWRpLiBJZiB5b3UgZG8gdGhhdCwgdGhlIHgxIGlzIGNvbnNpZGVyZWQg bGVmdCBvdXQgYW5kIGZpbGxlZCB3aXRoICcnem8nZScnIGluc3RlYWQuIFNvIHRoZSBmb2xsb3dp bmcgdGhyZWUganVmcmEgYXJlIGFsbCB0aGUgZXhhY3RseSBzYW1lIGJyaWRpOgoKJydtaSBkdW5k YSB0aSBkbycnCgonJ21pIHRpIGR1bmRhIGRvJycKCicnbWkgdGkgZG8gZHVuZGEnJwoKCgpTb21l dGltZXMgdGhpcyBpcyB1c2VkIGZvciBwb2V0aWMgZWZmZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2Vs ZuKAnSBjb3VsZCBiZSAnJ2RvIGRvIHZlY251JycsIHdoaWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAn J2RvIHZlY251IGRvJycuIE9yIGl0IGNhbiBiZSB1c2VkIGZvciBjbGFyaXR5IGlmIHRoZSBzZWxi cmkgaXMgdmVyeSBsb25nIGFuZCB0aGVyZWZvcmUgYmV0dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBv ZiB0aGUgYnJpZGkuCgoKClRoZXJlIGFyZSBhbHNvIHNldmVyYWwgd2F5cyB0byBwbGF5IGFyb3Vu ZCB3aXRoIHRoZSBvcmRlciBvZiB0aGUgc3VtdGkgaW5zaWRlIHRoZSBicmlkaS4gVGhlIGVhc2ll c3Qgb25lIGlzIGJ5IHVzaW5nIHRoZSB3b3JkcyAnJ2ZhJycsICcnZmUnJywgJydmaScnLCAnJ2Zv JycgYW5kICcnZnUnJy4gTm90aWNlIHRoYXQgdGhlIHZvd2VscyBhcmUgdGhlIGZpdmUgdm93ZWxz IGluIHRoZSBMb2piYW4gYWxwaGFiZXQgaW4gb3JkZXIuIFVzaW5nIG9uZSBvZiB0aGVzZSB3b3Jk cyBtYXJrcyB0aGF0IHRoZSBuZXh0IHN1bXRpIHdpbGwgZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQg YW5kIHg1IHJlc3BlY3RpdmVseS4gVGhlIG5leHQgc3VtdGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHBy ZXN1bWVkIHRvIGZpbGwgYSBzbG90IG9uZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1 c2UgYW4gZXhhbXBsZToKCicnZHVuZGEgZmEgZG8gZmUgdGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5 IHlvdSBvZiB0aGlzIHRoaW5nIHRvIHlvdeKAnS4gJydmYScnIG1hcmtzIHRoZSB4MSwgdGhlIGdp dmVyLCB3aGljaCBpcyB5b3UuICcnZmUnJyBtYXJrcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRo ZSB4Mi4gU3VtdGkgY291bnRpbmcgdGhlbiBjb250aW51ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcg dGhhdCB0aGUgbGFzdCBzdW10aSBmaWxscyB4MywgdGhlIG9iamVjdCByZWNlaXZpbmcuCgoKCkF0 dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcgdGhyZWUgc2VudGVuY2VzOgoKCgonJ21p IHZlY251IGZvIHRpIGZlIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZv ciB0aGUgcHJpY2Ugb2YgdGhpcywgeW914oCdLiBvciDigJxJIHNlbGwgeW91IGZvciB0aGUgcHJp Y2Ugb2YgdGhpc+KAnSAocHJvYmFibHkgcG9pbnRpbmcgdG8gYSBidW5jaCBvZiBtb25leSl+fgoK CgonJ3pkYW5pIGZlIHRpJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGhhcyBhIGhv bWXigJ0uIEhlcmUsIHRoZSBmZSBpcyByZWR1bmRhbnQufn4KCgoKJyd2ZWNudSB6bydlIG1pIHRp IGZhIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3Ugc2VsbCBzb21ldGhpbmcgdG8g bWUgZm9yIHRoaXMgcHJpY2XigJ1+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0 aHJlZSAodGFucnUgYW5kIGxvKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGJlY29tZSBmYW1p bGlhciB3aXRoIHRoZSBjb25jZXB0IG9mIGEgJyd0YW5ydScnLiBBIHRhbnJ1IGlzIGZvcm1lZCB3 aGVuIGEgc2VsYnJpIGlzIHB1dCBpbiBmcm9udCBvZiBhbm90aGVyIHNlbGJyaSwgbW9kaWZ5aW5n IGl0cyBtZWFuaW5nLiBBIHRhbnJ1IGlzIGl0c2VsZiBhIHNlbGJyaSwgYW5kIGNhbiBjb21iaW5l IHdpdGggb3RoZXIgc2VsYnJpIG9yIHRhbnJ1IHRvIGZvcm0gbW9yZSBjb21wbGV4IHRhbnJ1LiBU aHVzICcnemRhbmkgdmVjbnUnJyBpcyBhIHRhbnJ1LCBhcyB3ZWxsIGFzICAnJ3BlbHh1IHpkYW5p IHZlY251JycsIHdoaWNoIGlzIG1hZGUgZnJvbSB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaScnIGFu ZCB0aGUgc2luZ2xlIGJyaXZsYSB3b3JkICcndmVjbnUnJy4gVG8gdW5kZXJzdGFuZCB0aGUgY29u Y2VwdCBvZiB0YW5ydSwgY29uc2lkZXIgdGhlIEVuZ2xpc2ggbm91biBjb21iaW5hdGlvbiDigJxs ZW1vbiB0cmVl4oCdLiBJZiB5b3UgZGlkbid0IGtub3cgd2hhdCBhIGxlbW9uIHRyZWUgd2FzLCBi dXQgaGFkIGhlYXJkIGFib3V0IGJvdGggbGVtb25zIGFuZCB0cmVlcywgeW91IHdvdWxkIG5vdCBi ZSBhYmxlIHRvIGRlZHVjZSB3aGF0IGEgbGVtb24gdHJlZSB3YXMuIFBlcmhhcHMgYSBsZW1vbi1j b2xvcmVkIHRyZWUsIG9yIGEgdHJlZSBzaGFwZWQgbGlrZSBhIGxlbW9uLCBvciBhIHRyZWUgd2hv c2UgYmFyayB0YXN0ZXMgbGlrZSBsZW1vbi4gVGhlIG9ubHkgdGhpbmdzIHlvdSBjb3VsZCBrbm93 IGZvciBzdXJlIHdvdWxkIGJlIHRoYXQgaXQgd291bGQgYmUgYSB0cmVlLCBhbmQgaXQgd291bGQg YmUgbGVtb24tbGlrZSBpbiBzb21lIHdheS4KCkEgdGFucnUgaXMgY2xvc2VseSBhbmFsb2dvdXMg dG8gdGhpcy4gSXQgY2Fubm90IGJlIHNhaWQgZXhhY3RseSB3aGF0IGEgJyd6ZGFuaSB2ZWNudScn IGlzLCBidXQgaXQgY2FuIGJlIHNhaWQgdGhhdCBpdCBpcyBkZWZpbml0ZWx5IGEgdmVjbnUsIGFu ZCB0aGF0IGl0J3MgemRhbmktbGlrZSBpbiBzb21lIHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5p LWxpa2UgaW4gYW55IHdheS4gSW4gdGhlb3J5LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3Vy ZCB0aGUgY29ubmVjdGlvbiB0byB6ZGFuaSB3YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEg Jyd6ZGFuaSB2ZWNudScnLiBIb3dldmVyLCBpdCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4g dGhlIG9yZGluYXJ5IHNlbnNlIGluIG9yZGVyIGZvciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBj b3VsZCBnbG9zcyAnJ3pkYW5pIHZlY251JycgYXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4g YmV0dGVyIGJ1dCB3b3JzZSBzb3VuZGluZyDigJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRo ZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSB0YW5ydSBpcyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRt b3N0IHNlbGJyaS4gSXQncyBhbHNvIHNhaWQgdGhhdCB0aGUgbGVmdCBzZWxicmkgbW9kaWZpZXMg dGhlIHJpZ2h0IHNlbGJyaS4KCuKAnFJlYWxseT/igJ0sIHlvdSBhc2ssIHNjZXB0aWNhbGx5LCDi gJxJdCBkb2Vzbid0IG1hdHRlciBob3cgc2lsbHkgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGxlZnQg d29yZCBpbiBhIHRhbnJ1IGlzLCBpdCdzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2FsbCBhbGwg c2VsbGVycyBmb3IgJyd6ZGFuaSB2ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxseSBl eGN1c2Ugd2h5IEkgdGhpbmsgaXQncyB6ZGFuaS1saWtlP+KAnQoKV2VsbCB5ZXMsIGJ1dCB0aGVu IHlvdSdkIGJlIGEgZGljay4gT3IgYXQgbGVhc3QgeW91J2QgYmUgaW50ZW50aW9uYWxseSBtaXNs ZWFkaW5nLiBJbiBnZW5lcmFsLCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4gaXQncyBvYnZp b3VzIGhvdyB0aGUgbGVmdCB3b3JkIHJlbGF0ZXMgdG8gdGhlIHJpZ2h0LgoKCgpBdHRlbXB0IHRv IHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOiAnJ3RpIHBlbHh1IHpkYW5pIGRvJycKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxUaGF0IGlzIGEgeWVsbG93IGhvbWUgZm9yIHlvdeKAnSBBZ2Fpbiwg d2UgZG9uJ3Qga25vdyBpbiB3aGljaCB3YXkgaXQncyB5ZWxsb3cuIFByb2JhYmx5IGl0J3MgcGFp bnRlZCB5ZWxsb3csIGJ1dCB3ZSBkb24ndCBrbm93IGZvciBzdXJlLn5+CgoKCicnbWkgdmVjbnUg ZHVuZGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc2VsbC1saWtlIGdpdmXigJ0uIFdo YXQgY2FuIHRoYXQgbWVhbj8gTm8gaWRlYS4gSXQgY2VydGFpbmx5IGRvZXNuJ3QgbWVhbiB0aGF0 IHlvdSBzb2xkIHNvbWV0aGluZywgc2luY2UsIGJ5IGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB0 aGVyZSBjYW4gYmUgbm8gcGF5bWVudCBpbnZvbHZlZC4gSXQgaGFzIHRvIGJlIGEgZ2l2ZWF3YXks IGJ1dCBiZSBzZWxsLWxpa2UgaW4gc29tZSBhc3BlY3Qufn4KCgoKQW5kIG5vdyBmb3Igc29tZXRo aW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LiBXaGF0IGlmIEkgd2FudGVkIHRvIHNheSBJIHNvbGQg dG8gYSBHZXJtYW4/CgonJ19fZG90Y29fXycnIHgxIGlzIEdlcm1hbi9yZWZsZWN0cyBHZXJtYW4g Y3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKSSBjYW4ndCBzYXkgJydtaSB2ZWNudSB6bydlIGRvdGNv JycgYmVjYXVzZSB0aGF0IHdvdWxkIGxlYXZlIHR3byBzZWxicmkgaW4gYSBicmlkaSwgd2hpY2gg aXMgbm90IHBlcm1pdHRlZC4gSSBjb3VsZCBzYXkgJydtaSBkb3RjbyB2ZWNudScnIGJ1dCB0aGF0 IHdvdWxkIGJlIHVubmVjZXNzYXJ5IHZhZ3VlIC0gSSBjb3VsZCBzZWxsIGluIGEgR2VybWFuIHdh eS4gTGlrZXdpc2UsIGlmIEkgd2FudCB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1l cmljYW7igJ0sIHdoYXQgc2hvdWxkIEkgc2F5PwoKJydfX3BlbmRvX18nJyAxeCBpcyBhIGZyaWVu ZCBvZiB4MgoKJydfX21lcmtvX18nJyB4MSBpcyBBbWVyaWNhbi9yZWZsZWN0IFVTIGN1bHR1cmUg aW4gYXNwZWN0IHgyCgoKCkFnYWluLCB0aGUgb2J2aW91cyB3b3VsZCBiZSB0byBzYXkgJydtaSBw ZW5kbyBtZXJrbycnLCBidXQgdGhhdCB3b3VsZCBmb3JtIGEgdGFucnUsIG1lYW5pbmcg4oCcSSBh bSBmcmllbmQtbGlrZSBBbWVyaWNhbuKAnSwgd2hpY2ggaXMgd3JvbmcuIFdoYXQgd2UgcmVhbGx5 IHdhbnQgdG8gaXMgdG8gdGFrZSB0aGUgc2VsYnJpICcnbWVya28nJyBhbmQgdHJhbnNmb3JtIGl0 IGludG8gYSBzdW10aSBzbyBpdCBjYW4gYmUgdXNlZCBpbiB0aGUgc2VsYnJpICcncGVuZG8nJy4g VGhpcyBpcyBkb25lIGJ5IHRoZSB0d28gd29yZHMgJydsbycnIGFuZCAnJ2t1JycuCgpfXycnbG8n J19fIOKAkyBnZW5lcmljIGJlZ2luIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHdvcmQuIEV4dHJh Y3RzIHgxIG9mIHNlbGJyaSB0byB1c2UgYXMgc3VtdGkuCgpfXycna3UnJ19fIOKAkyBlbmQgY29u dmVydCBzZWxicmkgdG8gc3VtdGkgcHJvY2Vzcy4KCgoKWW91IHNpbXBseSBwbGFjZSBhIHNlbGJy aSBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcywgYW5kIGl0IHRha2VzIGFueXRoaW5nIHRoYXQgY2Fu IGZpbGwgdGhlIHgxIG9mIHRoYXQgc2VsYnJpIGFuZCB0dXJucyBpdCBpbnRvIGEgc3VtdGkuCgpT byBmb3IgaW5zdGFuY2UsIHRoZSB0aGluZ3MgdGhhdCBjYW4gZmlsbCB6ZGFuaeKAmHMgeDEgYXJl IG9ubHkgdGhpbmdzIHdoaWNoIGFyZSBob21lcyBvZiBzb21lYm9keS4gU28gJydsbyB6ZGFuaSBr dScnIG1lYW5zIOKAnGEgaG9tZSBvciBzb21lIGhvbWVzIGZvciBzb21lYm9keS7igJ0gU2ltaWxh cmx5LCBpZiBJIHNheSB0aGF0IHNvbWV0aGluZyBpcyBwZWx4dSwgaXQgbWVhbnMgaXQncyB5ZWxs b3cuIFNvICcnbG8gcGVseHUga3UnJyByZWZlcnMgdG8gc29tZXRoaW5nIHllbGxvdy4KCgoKTm93 IHlvdSBoYXZlIHRoZSBuZWNlc3NhcnkgZ3JhbW1hciB0byBiZSBhYmxlIHRvIHNheSDigJxJIGFt IGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbi7igJ0gSG93PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgcGVuZG8gbG8gbWVya28ga3UnJ35+CgoKClRoZXJlIGlzIGEgZ29vZCByZWFzb24gd2h5 IHRoZSAnJ2t1JycgaXMgbmVjZXNzYXJ5LiBUcnkgdG8gdHJhbnNsYXRlIOKAnEEgR2VybWFuIHNl bGxzIHRoaXMgdG8gbWXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xvIGRvdGNvIGt1IHZl Y251IHRpIG1pJycgSWYgeW91IGxlYXZlIG91dCB0aGUga3UsIHlvdSBkbyBub3QgZ2V0IGEgYnJp ZGksIGJ1dCBzaW1wbHkgdGhyZWUgc3VtdGkuIFNpbmNlIGxv4oCma3UgY2Fubm90IGNvbnZlcnQg YnJpZGksIHRoZSB0aSBpcyBmb3JjZWQgb3V0c2lkZSB0aGUgc3VtdGksIHRoZSBsby1jb25zdHJ1 Y3QgaXMgZm9yY2VkIHRvIGNsb3NlIGFuZCBpdCBzaW1wbHkgYmVjb21lcyB0aGUgdGhyZWUgc3Vt dGkgb2YgJydsbyBkb3RjbyB2ZWNudSB7a3V9JycsICcndGknJyBhbmQgJydtaScnLn5+CgoKCllv dSBhbHdheXMgaGF2ZSB0byBiZSBjYXJlZnVsIHdpdGgganVmcmEgbGlrZSAnJ2xvIHpkYW5pIGt1 IHBlbHh1JycuIElmIHRoZSAnJ2t1JycgaXMgbGVmdCBvdXQgdGhlIGNvbnZlcnNpb24gcHJvY2Vz cyBkb2VzIG5vdCBlbmQsIGFuZCBpdCBzaW1wbHkgYmVjb21lcyBvbmUgc3VtdGksIG1hZGUgZnJv bSB0aGUgdGFucnUgJyd6ZGFuaSBwZWx4dScnIGFuZCB0aGVuIGNvbnZlcnRlZCB3aXRoICcnbG8n Jy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gZm91ciAoYXR0aXR1ZGluYWxzKQoK QW5vdGhlciBjb25jZXB0IHdoaWNoIGNhbiBiZSB1bmZhbWlsaWFyIHRvIEVuZ2xpc2ggc3BlYWtl cnMgaXMgdGhhdCBvZiBhdHRpdHVkaW5hbHMuIEF0dGl0dWRpbmFscyBhcmUgd29yZHMgdGhhdCBl eHByZXNzIGVtb3Rpb25zIGRpcmVjdGx5LiBUaGUgaWRlYSBvZiBhdHRpdHVkaW5hbHMgb3JpZ2lu YXRlZCBpbiB0aGUgZmVtaW5pc3QgY29uc3RydWN0ZWQgbGFuZ3VhZ2UgTGFkYW4sIHN1cHBvc2Vk bHkgdG8gZW5hYmxlIHRydWUgZmVtYWxlIGVtb3Rpb25zLiBUaGUgaWRlYSB3YXMgdGhhdCBmZW1h bGUgZW1vdGlvbmFsIGV4cHJlc3Npb24gd2FzIGhpbmRlcmVkIGJ5IG1hbGUgZG9taW5hdGVkIGxh bmd1YWdlLCBhbmQgaWYgb25seSB0aGV5IHdlcmUgYWJsZSB0byBiZSBleHByZXNzZWQgbW9yZSBm cmVlbHksIHRoaXMgd291bGQgZW1wb3dlciB3b21lbiB0aHJvdWdoIGxpYmVyYXRpb24gb2YgdGhl IGxhbmd1YWdlLgoKSW4gTG9qYmFuLCB0aGVyZSBpcyBubyBzdWNoIGFnZW5kYSwgYW5kIGF0dGl0 dWRpbmFscyBtb3N0IHByb2JhYmx5IGhhdmUgYmVlbiBkZXNpZ25lZCBpbnRvIHRoZSBsYW5ndWFn ZSBiZWNhdXNlIHRoZXkgdHVybmVkIG91dCB0byBiZSBpbmNyZWRpYmx5IGF3ZXNvbWUgYW5kIHVz ZWZ1bC4gVGhleSBhbGwgaGF2ZSBhIHNvLWNhbGxlZCBmcmVlIGdyYW1tYXIsIHdoaWNoIG1lYW5z IHRoYXQgdGhleSBjYW4gYXBwZWFyIGFsbW9zdCBhbnl3aGVyZSB3aXRoaW4gYnJpZGkgd2l0aG91 dCBkaXNydXB0aW5nIHRoZSBicmlkaSdzIGdyYW1tYXIgb3IgYW55IGdyYW1tYXRpY2FsIGNvbnN0 cnVjdHMuCgpJbiBMb2piYW4gZ3JhbW1hciwgYW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0byB0aGUg cHJldmlvdXMgd29yZC4gSWYgdGhhdCBwcmV2aW91cyB3b3JkIGlzIGEgd29yZCB3aGljaCBiZWdp bnMgYSBjb25zdHJ1Y3QgKGxpa2UgJycuaScnIG9yICcnbG8nJyksIGl0IGFwcGxpZXMgdG8gdGhl IGVudGlyZSBjb25zdHJ1Y3QuIExpa2V3aXNlLCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9sbG93cyBh IHdvcmQgd2hpY2ggZW5kcyBhIGNvbnN0cnVjdCBsaWtlICcna3UnJywgaXQgYXBwbGllcyB0byB0 aGUgZW5kZWQgY29uc3RydWN0LgoKCgpMZXQncyBoYXZlIHR3byBhdHRpdHVkaW5hbHMgdG8gbWFr ZSBzb21lIGV4YW1wbGVzOgoKX18nJy51aScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBl bW90aW9uOiBoYXBwaW5lc3MgLSB1bmhhcHBpbmVzcwoKX18nJ3phJ2EnJ19fOiBhdHRpdHVkaW5h bDogZXZpZGVudGlhbDogSSBkaXJlY3RseSBvYnNlcnZlCgoKCk5vdGUgdGhhdCBpbiB0aGUgZGVm aW5pdGlvbiBvZiAnJy51aScnLCB0aGVyZSBhcmUgbGlzdGVkIHR3byBlbW90aW9ucywgaGFwcGlu ZXNzIGFuZCB1bmhhcHBpbmVzcy4gVGhpcyBtZWFucyB0aGF0ICcnLnVpJycgaXMgZGVmaW5lZCBh cyBoYXBwaW5lc3MsIHdoaWxlIGl0cyDigJxuZWdhdGlvbuKAnSwgbWVhbnMgdW5oYXBwaW5lc3Mu IOKAnE5lZ2F0aW9u4oCdIG1pZ2h0IGJlIHRoZSB3cm9uZyB3b3JkIGhlcmUuIFRlY2huaWNhbGx5 LCB0aGUgb3RoZXIgZGVmaW5pdGlvbiBvZiAnJy51aScnIGlzIGFub3RoZXIgY29uc3RydWN0LCAn Jy51aSBuYWknJy4gTW9zdCBvZiB0aGUgdGltZSwgdGhlIHNlY29uZCBkZWZpbml0aW9uIG9mIGF0 dGl0dWRpbmFscyAtIHRoZSBvbmVzIHN1ZmZpeGVkIHdpdGggJyduYWknJyAtIHJlYWxseSBpcyB0 aGUgbmVnYXRpb24gb2YgdGhlIGJhcmUgYXR0aXR1ZGluYWwuIE90aGVyIHRpbWVzLCBub3Qgc28g bXVjaC4KCl9fJyduYWknJ19fIG1pc2MuIG5lZ2F0aW9uIC0gYXR0YWNoZWQgdG8gYXR0aXR1ZGlu YWxzLCBpdCBjaGFuZ2VzIHRoZSBtZWFuaW5nIGludG8gdGhlIGF0dGl0dWRpbmFsJ3MgIm5lZ2F0 aW9uIgoKCgpBbmQgc29tZSBtb3JlIHNlbGJyaSwganVzdCBmb3IgdGhlIGhlY2sgb2YgaXQ6Cgpf XycnY2l0a2EnJ19fIOKAkyB4MSBlYXRzIHgyCgpfXycncGxpc2UnJ19fIOKAkyB4MSBpcyBhbiBh cHBsZSBvZiBzdHJhaW4vdHlwZSB4MgoKCgpUaGUgc2VudGVuY2UgJydkbyBjaXRrYSBsbyBwbGlz ZSBrdSAudWknJywgbWVhbnMg4oCcWW91IGVhdCBhbiBhcHBsZSwgeWF5IeKAnSAoZXNwZWNpYWxs eSBleHByZXNzaW5nIHRoYXQgaXQgaXMgdGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVha2VyIGlz IGhhcHB5IGFib3V0LCBub3QgdGhlIGVhdGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgeW91 LikgSW4gdGhlIHNlbnRlbmNlICcnZG8gemEnYSBjaXRrYSBsbyBwbGlzZSBrdScnLCB0aGUgc3Bl YWtlciBkaXJlY3RseSBvYnNlcnZlcyB0aGF0IGl0IGlzIGluZGVlZCB0aGUgX1/igJx5b3XigJ1f Xywgd2hvIGVhdHMgYW4gYXBwbGUgYXMgb3Bwb3NlZCB0byBzb21lb25lIGVsc2UuCgoKCklmIGFu IGF0dGl0dWRpbmFsIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSwgaXQg aXMgdW5kZXJzdG9vZCB0byBhcHBseSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJy5pJycs IHRodXMgYXBwbHlpbmcgdG8gdGhlIGVudGlyZSBicmlkaToKCicnLnVpIHphJ2EgZG8gZHVuZGEg bG8gcGxpc2Uga3UgbWknJyDigJMg4oCcWWF5LCBJIG9ic2VydmUgdGhhdCB5b3UgZ2l2ZSBhbi9z b21lIGFwcGxlIHRvIG1lIeKAnQoKCgonJ21pIHZlY251IC51aSBuYWkgbG8gemRhbmkga3UnJyDi gJxJIHNlbGwgKHdoaWNoIHN1Y2tzISkgYSBob21l4oCdLgoKCgpUcnkgaXQgb3V0IHdpdGggYSBm ZXcgZXhhbXBsZXMuIEZpcnN0LCB0aG91Z2gsIGhlcmUgYXJlIHNvbWUgbW9yZSBhdHRpdHVkaW5h bHM6CgpfXycnLnUndScnX18gYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGd1aWx0 IC0gcmVtb3JzZWxlc3NuZXNzIC0gaW5ub2NlbmNlLgoKX18nJy5vaScnX18gYXR0aXR1ZGluYWw6 IGNvbXBsZXggcHVyZSBlbW90aW9uOiBjb21wbGFpbnQgLSBwbGVhc3VyZS4KCl9fJycuaXUnJ19f IGF0dGl0dWRpbmFsOiBtaXNjZWxsYW5lb3VzIHB1cmUgZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoK Ckxvb2sgYXQgdGhhdCwgYSB3b3JkIHdpdGggdGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRp b24hIFRoZSBtaWRkbGUgb25lIGlzIGFjY2Vzc2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N1J2kn Jy4gSXQncyBjb25zaWRlcmVkIHRoZSBtaWRwb2ludCBvZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdp JydfXyBhdHRpdHVkaW5hbCBtaWRwb2ludCBzY2FsYXI6IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0 byBjaGFuZ2UgdGhlIG1lYW5pbmcgdG8gdGhlICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rpb24uCgoK ClRyeSBzYXlpbmcg4oCcSSBnaXZlIHNvbWV0aGluZyB0byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgZmkgbG8gZG90Y28ga3UgLml1Jycg b3IgJyd6bydlJycgaW5zdGVhZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHll bGxvdyBhcHBsZeKAnQoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy5vaSBuYWkgbWkgY2l0a2EgbG8g cGVseHUgcGxpc2Uga3UnJ35+CgoKCkxldCdzIGhhdmUgYW5vdGhlciBhdHRpdHVkaW5hbCBvZiBh IGRpZmZlcmVudCBraW5kIHRvIGlsbHVzdHJhdGUgc29tZXRoaW5nIHBlY3VsaWFyOgoKJycuZWkn JyBBdHRpdHVkaW5hbDogY29tcGxleCBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IG9ibGlnYXRpb24g LSBmcmVlZG9tLgoKCgpTbywgcXVpdGUgZWFzeTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxl IGF3YXnigJ0gaXMgJydtaSBkdW5kYSAuZWkgbG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBh Y3R1YWxseSEgV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQsIHRoYXQncyB3ZWlyZC4gV2h5IGlzIGl0 IHRoYXQgYWxsIHRoZSBvdGhlciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZhciBleHBy ZXNzZXMgdGhlIHNwZWFrZXIncyBmZWVsaW5nIGFib3V0IHRoZSBicmlkaSwgYnV0IHRoaXMgb25l IGFjdHVhbGx5IGNoYW5nZXMgd2hhdCB0aGUgYnJpZGkgbWVhbnM/IFN1cmVseSwgYnkgc2F5aW5n IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdLCB3ZSBzYXkgbm90aGluZyBhYm91 dCB3aGV0aGVyIHRoZSBhcHBsZSBhY3R1YWxseSBpcyBiZWluZyBnaXZlbiBhd2F5LiBJZiBJIGhh ZCB1c2VkICcnLnVpJycsIGhvd2V2ZXIsIEkgd291bGQgYWN0dWFsbHkgaGF2ZSBzdGF0ZWQgdGhh dCBJIGdhdmUgdGhlIGFwcGxlIGF3YXksIGFuZCB0aGF0IEkgd2FzIGhhcHB5IGFib3V0IGl0LiBX aGF0J3MgdGhhdCBhbGwgYWJvdXQ/CgoKClRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0dGl0dWRp bmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVlLCBpcyBh IHN1YmplY3Qgb2YgYSBtaW5vciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJvb2vigJ0g cnVsZSwgd2hpY2ggcHJvYmFibHkgd29uJ3QgYmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBh IGRpc3RpbmN0aW9uIGJldHdlZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRp b25hbCBlbW90aW9uc+KAnS4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0 aGUgdHJ1dGggY29uZGl0aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3QuIEluIG9yZGVy IHRvIGV4cHJlc3MgYSBwcm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3aXRob3V0 IGNoYW5naW5nIHRoZSB0cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4ganVzdCBzZXBh cmF0ZSBpdCBmcm9tIHRoZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQg Zm9yIGV4cGxpY2l0bHkgY29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGggY29uZGl0aW9u cyBvZiBhIGJyaWRpOgoKCgpfXycnZGEnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IHN1 cHBvc2luZyAtIGluIGZhY3QKClNheWluZyAnJ2RhJ2knJyBpbiBhIGJyaWRpIGNoYW5nZXMgdGhl IHRydXRoIGNvbmRpdGlvbnMgdG8gaHlwb3RoZXRpY2FsLCB3aGljaCBpcyB0aGUgZGVmYXVsdCB1 c2luZyBwcm9wb3NpdGlvbmFsIGF0dGl0dWRpbmFscy4gU2F5aW5nICcnZGEnaSBuYWknJyBjaGFu Z2VzIHRoZSB0cnV0aCBjb25kaXRpb24gdG8gdGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1 c2luZyBwdXJlIGF0dGl0dWRpbmFscy4KCgoKU28sIHdoYXQncyB0d28gd2F5cyBvZiBzYXlpbmcg 4oCcSSBnaXZlIHRoZSBhcHBsZSBhd2F54oCdPyAoYW5kIGZlZWwgb2JsaWdhdGlvbiBhYm91dCBp dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGxvIHBsaXNlIC5pIC5laScnICBh bmQgJydtaSBkdW5kYSBkYSdpIG5haSAuZWkgbG8gcGxpc2UnJ35+CgoKClRoZSBmZWVsaW5nIG9m IGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzdWJzY3JpYmVkIHRvIHNvbWVvbmUgZWxzZSB1c2luZyAn J2RhaScnLiBVc3VhbGx5IGluIG9yZGluYXJ5IHNwZWVjaCwgdGhlIGF0dGl0dWRpbmFsIGlzIHN1 YnNjcmliZWQgdG8gdGhlIGxpc3RlbmVyLCBidXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIHNvLiBB bHNvLCBiZWNhdXNlIHRoZSB3b3JkIGlzIGdsb3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBv dGhlcnMgZW1vdGlvbnMpLCBzb21lIExvamJhbmlzdHMgbWlzdGFrZW5seSB0aGluayB0aGF0IHRo ZSBzcGVha2VyIG11c3Qgc2hhcmUgdGhlIGVtb3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0byBvdGhl cnMuCgpfXycnZGFpJydfXyBhdHRpdHVkaW5hbCBtb2RpZnllcjogRW1wYXRoeSAoc3Vic2NyaWJl cyBhdHRpdHVkaW5hbCB0byBzb21lb25lIGVsc2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBsZTogJyd1 J2kgLm9pIGRhaSBjaXRrYSB0aScnIC0g4oCcSGEgaGEsIHRoaXMgd2FzIGVhdGVuISBUaGF0IG11 c3QgaGF2ZSBodXJ0IeKAnQoKCgpXaGF0IG9mdGVuIHVzZWQgcGhyYXNlIGNvdWxkICcnLm9pIHUn aSBkYWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHZlcnkgZnVubnku 4oCdfn4KCgoKQW5kIGFub3RoZXIgb25lIHRvIHRlc3QgeW91ciBrbm93bGVkZ2U6IFRyeSB0byB0 cmFuc2xhdGUg4oCcSGUgd2FzIHNvcnJ5IGhlIHNvbGQgYSBob21l4oCdIChyZW1lbWJlcmluZywg dGhhdCB0ZW5zZSBpcyBpbXBsaWVkIGFuZCBuZWVkIG5vdCBiZSBzcGVjaWZpZWQuIEFsc28sIOKA nGhl4oCdIGNvdWxkIGJlIG9idmlvdXMgZnJvbSBjb250ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicndSd1IGRhaSB2ZWNudSBsbyB6ZGFuaSBrdScnfn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5z aXR5IG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jk cy4gVGhlc2UgY2FuIGJlIHVzZWQgYWZ0ZXIgYW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRp bmFsIHdpdGggJyduYWknJyBvciAnJ2N1J2knJyBzdWZmaXhlZC4gSXQncyBsZXNzIGNsZWFyIHdo YXQgaGFwcGVucyB3aGVuIHlvdSBhdHRhY2ggaXQgdG8gb3RoZXIgd29yZHMsIGxpa2UgYSBzZWxi cmksIGJ1dCBpdCdzIG1vc3RseSB1bmRlcnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFrZW5p bmcgdGhlIHNlbGJyaSBpbiBzb21lIHVuc3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3b3Jk ICB8IEludGVuc2l0eSAgCgogY2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5vbmUp fCAgIFVuc3BlY2lmaWVkIChtZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVtb3Rp b24gaXMgZXhwcmVzc2VkIHVzaW5nICcnLnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2knJ19fOiBh dHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNzCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291bGQg eW91IGV4cHJlc3MgdGhhdCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJy51J3UgY3UnaSBydSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBs ZXNzb24gZml2ZSAoU0UpCgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkgb2Yg bW9yZSBjb21wbGV4IGNvbnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNoYW5p c20gZm9yIHJlb3JkZXJpbmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3aWxs IHNob3csIGlzIHZlcnkgdXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10aSAo dGhlIGtpbmQgb2Ygc3VtdGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNlIOKA nEkgZWF0IGEgZ2lmdOKAnSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBnaWZ0 IGlzIGFuIGFwcGxlLiBUbyB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFsIHRv IGxvb2sgdXAgYSBzZWxicmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5nLiBI b3dldmVyLCBpZiBvbmUgbG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcnZHVu ZGEnJywgeDEgZ2l2ZXMgeDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAnJ2R1 bmRhJycgaXMgc29tZXRoaW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0aGF0 IHNlbnRlbmNlLCB3ZSBjYW4ndCBzYXkgJydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBiZWNhdXNl ICcnbG8gZHVuZGEga3UnJyB3b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGljaCBpcyBh IGRvbm9yIG9mIGEgZ2lmdC4gQ2FubmliYWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQgdG8gc2F5 IHRoYXQuIFdoYXQgd2Ugd2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNlbGJy aS4KClRoaXMgaXMgb25lIGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUgd29y ZCAnJ3NlJycuIFdoYXQgJydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2ggdGhh dCB0aGUgeDEgYW5kIHgyIG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0cnVj dCBvZiAnJ3NlJycgKyBzZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxicmku IExldCdzIHRyeSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKA nHgxIHRyYW5zbGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJl c3VsdCBvZiB0cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBmYW52 YSB0aScnCgpUaGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcykuIE9m dGVuLCBidXQgbm90IGFsd2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUgdHJh bnNsYXRlZCB0byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgx IGlzIG9mdGVuIHRoZSBvYmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93biBm YW1pbHkgb2Ygd29yZHMuIEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0 aGUgeDEuCgp8fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dh cCB4MSBhbmQgeDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5k IHggYXJlIGNvbnNlY3V0aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4KCgoK U286IFVzaW5nIHRoaXMga25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGknJyBt ZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0 aGlz4oCdIChvciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFtaWx5 IGNhbiBvZiBjb3Vyc2UgYmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRo ZSByZXN1bHQgY2FuIGJlIHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFr ZSBpdCBzbzoKCl9fJydrbGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4 MyB2aWEgeDQgdXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2ZvIGxvIHpk YW5pIGt1IHRlIGtsYW1hIGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxv IHpkYW5pIGt1JycgYW5kIHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcndGkg a2xhbWEgZG8gbWkgbG8gemRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1l IHZpYSBhIGhvbWUu4oCdIE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRl bmNlIGV4Y2VwdCB0byBjb25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVu ZGVyc3RhbmRpbmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21lIHRv IHRoZSBwb2ludCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBl eGNoYW5nZSB0aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8g YmUgeDEsIHRoZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4gU28s IGhvdyB3b3VsZCB5b3Ugc2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXksZ3Jl eTonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhlIG1h bnkgdXNlcyBmb3IgJydzZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg 4oCTIGxlc3NvbiBzaXggKGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVz c2VkIHNpbmdsZSBzZW50ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBs ZXggdGhpbmdzLCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMu IEx1Y2tpbHksIHRoZXNlIGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9uZSB3 b3VsZCBleHBlY3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3RyYXRl IHRoaXM6IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwgdGhl IG1haW4gYnJpZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlk aSBpcyDigJxZb3UgYXJlIG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlvbiBm b3Ig4oCcaGFwcHnigJ0sIHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCceDEg aXMgaGFwcHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUgeDIg bmVlZHMgdG8gYmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNl IG9uZSBjYW5ub3QgYmUgaGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBhYm91 dCBzb21lIHN0YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBl eHByZXNzIGEgc3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4 MiBvZiAnJ2dsZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNv bHV0aW9uLiBUaGUgd29yZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDigJxjb252 ZXJ0IGJyaWRpIHRvIHNlbGJyaeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAnJ2xv JyfigKYnJ2t1JycuCgpfXycnc3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRp fSBvZiB0eXBlIHgyCgpfXycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCgoKRXhhbXBsZToKCl9f JydtZWxiaScnX18geDEgaXMgYmVhdXRpZnVsIHRvIHgyLgoKX18nJ2RhbnN1JydfXyB4MSBkYW5j ZXMgdG8gYWNjb21wYW5pbWVudC9tdXNpYy9yaHl0aG0geDIuCgonJ21lbGJpIHN1J3UgZGFuc3Ug a2VpJycgLSDigJxCZWF1dGlmdWwgZGFuY2luZ+KAnS/igJxCZWF1dGlmdWwgZGFuY2XigJ0KCgoK SXQncyB1c3VhbGx5IGhhcmQgdG8gZmluZCBnb29kIHVzZXMgb2YgYSBicmlkaSBhcyBhIHNlbGJy aS4gSG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScnIGlzIGEgc2VsYnJpLCBvbmUgY2Fu IGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1JycuCgpOb3cgd2UgaGF2 ZSB0aGUgZXF1aXBtZW50IHRvIGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkg ZnJpZW5k4oCdLiBUcnkgaXQgb3V0IQoKX18nJ3BlbmRvJydfXyDigJx4MSBpcyBhIGZyaWVuZCBv ZiB4MuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gc3UndSBkbyBwZW5k byBtaSBrZWkga3UnJ35+CgoKCkhvd2V2ZXIsICcnc3UndScn4oCmJydrZWknJyBkb2VzIG5vdCBz ZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmljIHdvcmRz ICcnbnUnJ+KApicna2VpJycgYW5kICcnZHUndScn4oCmJydrZWknJy4gVGhleSB3b3JrIHRoZSBz YW1lIHdheSwgYnV0IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVudC4gJydudeKApmtlaScnIHRyZWF0 cyB0aGUgYnJpZGkgaW4gYmV0d2VlbiBhcyBhbiBldmVudCBvciBzdGF0ZSwgYW5kICcnZHUndeKA pmtlaScnIHRyZWF0cyBpdCBhcyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3NpbmcgdGhp bmdzIGxpa2UgaWRlYXMsIHRob3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRzIChleGNl cHQgJydrZWknJykgYXJlIGNhbGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkgb2YgdGhl bSwgYW5kIG9ubHkgZmV3IGFyZSB1c2VkIG11Y2guICcnc3UndeKApmtlaScnIGlzIGEgZ2VuZXJh bCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcnbnUnJyB0 byBzYXkg4oCcSSdtIGhhcHB5IGFib3V0IHRhbGtpbmcgdG8geW91LuKAnQoKX18nJ3RhdmxhJydf XyB4MSB0YWxrcyB0byB4MiBhYm91dCBzdWJqZWN0IHgzIGluIGxhbmd1YWdlIHg0LgoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8ga2VpIGt1JycgKG5vdGlj ZSBib3RoIHRoZSBFbmdsaXNoIGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3VlIGFzIHRvIHdobyBpcyBk b2luZyB0aGUgdGFsa2luZykufn4KCgoKT3RoZXIgaW1wb3J0YW50IGFic3RyYWN0b3JzIGluY2x1 ZGU6ICcna2EuLi5rZWknJyAocHJvcGVydHkvYXNwZWN0IGFic3RyYWN0aW9uKSwgJydzaSdvLi4u a2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVhbnRpdHkg YWJzdHJhY3Rpb24pIGFtb25nIG90aGVycy4gVGhlIG1lYW5pbmdzIG9mIHRoZXNlIGlzIGEgY29t cGxpY2F0ZWQgbWF0dGVyLCBhbmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVjaCBsYXRlciwgaW4gbGVz c29uIHR3ZW50eS1uaW5lLiBGb3Igbm93LCB5b3UnbGwgaGF2ZSB0byBkbyB3aXRob3V0IHRoZW0u CgoKCkl0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCBzb21lIGFic3RyYWN0b3JzIGhhdmUg c2V2ZXJhbCBzdW10aSBwbGFjZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUndScnIGNhbiBiZSBtZW50 aW9uZWQuICcnZHUndScnIGlzIGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKAnGFic3RyYWN0b3IuIHgx IGlzIHRoZSBwcmVkaWNhdGUvYnJpZGkgb2Yge2JyaWRpfSBleHByZXNzZWQgaW4gc2VudGVuY2Ug eDLigJ0uCgpUaGUgb3RoZXIgc3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEgaXMgcmFyZWx5IHVzZWQs IGJ1dCAnJ2xvIHNlIGR1J3Uge2JyaWRpfSBrZWkga3UnJyBpcyBzb21ldGltZXMgdXNlZCBhcyBh IHN1bXRpIGZvciBpbmRpcmVjdCBxdW90YXRpb246IOKAnEkgc2FpZCB0aGF0IEkgd2FzIGdpdmVu IGEgZG9n4oCdIGNhbiBiZSB3cml0dGVuICcnbWkgY3Vza3UgbG8gc2UgZHUndSBtaSB0ZSBkdW5k YSBsbyBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9uIHRoZSB3ZWlyZCBleGFt cGxlLgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMgdGhyb3VnaCBtZWRpdW0g eDQKCl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoKISFMb2piYW4gbGVzc29u cyDigJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUncyBhbm90 aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVsYXRpdmUg Y2xhdXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0aW9uIHRv IGEgc3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBzZW50ZW5j ZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmdsaXNoIGRl c2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4gdHdvIGZs YXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdvIGtpbmRz IGJlZm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5kcyBhcmUg Y2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50aWFsKSBy ZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKAnE15IGJy b3RoZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0gVGhpcyBj YW4gYmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwgYnJvdGhl cnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxsIGxldCB5 b3Uga25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdodCBoYXZl IG9ubHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5nIHlvdSBh ZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9qYmFuIHdl IGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3QgaW50ZXJw cmV0YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRoZSBwb3Nz aWJsZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25kIG5vbi1y ZXN0cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25lIG9mIHZv aWNlIChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBkaXN0aW5n dWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJhbiB1c2Vz IHRoZSBjb25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBmb3IgcmVz dHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNwZWN0aXZl bHkuCgpMZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28gZXhwbGFp biBvdXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4gbGVz c29uIGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xh dXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiByZXN0cmlj dGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydrdSdv JydfXyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9p IHBsaXNlIGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBpcykg YW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1c3QgYWZ0 ZXIgJydsbyBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBUbyBiZSBz dHJpY3QsIHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0IGlzLCB3 aGljaCBpcyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBwbGllcyB0 byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpdCBtZWFucyB0aGF0IHRoZSBn aWZ0IGlzIGFuIGFwcGxlLiBBZnRlciBhbGwsIGluIHRoZSBjb250ZXh0IG9mIGxlc3NvbiBmaXZl LCB0aGlzIHNlZW1zIHJlYXNvbmFibGUuIElmIHdlIHdhbnQgdG8gYmUgYWJzb2x1dGVseSBzdXJl IHRoYXQgaXQgaW5kZWVkIHdhcyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBhcHBsZSwgd2UgdXNlIHRo ZSB3b3JkICcna2UnYScnLCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChhIExvamJhbiBwcm9ub3Vu LCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3VtdGkgd2hpY2ggdGhlIHJl bGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydfXyBzdW1rYSdpOyByZWZl cnMgdG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGl0IGF0dGFjaGVk LgoKCgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2UnYSBwbGlzZSBrdSdvJycg PSDigJxZYXksIEkgZWF0IGEgZ2lmdCB3aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVuZGVybGlu ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUg cmVsYXRpdmUgY2xhdXNlcywgaGVyZSdzIGFub3RoZXIgZXhhbXBsZToKCgoKX18nJ2xvamJvJydf XyDigJx4MSByZWZsZWN0cyBMb2piYW5pYyBjdWx0dXJlL2NvbW11bml0eSBpcyBhc3BlY3QgeDI7 IHgxIGlzIExvamJhbmljLuKAnQoKCgonJ21pIG5vaSBsb2pibyBrdSdvIGZhbnZhIGZvIGxvIGxv amJvIGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5pYywgdHJhbnNsYXRlIGZyb20gc29tZSBM b2piYW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11bHRpcGxlIHRoaW5ncyB3 aGljaCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0aGF0IEkgYW0gbG9qYmFu aWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbm90IG5lZWRlZCB0byBpZGVudGlm eSBtZS4gVGhlcmVmb3JlICcnbm9p4oCma3UnbycnIGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlmIHlv dSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVhdXRp ZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoKX18nJ21l bGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMgYnkgc3Rh bmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4MiwgZXho aWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7a2UnYX0gbWVsYmkga3Unbycnfn4K CgoKT24gYSBtb3JlIHRlY2huaWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0byBr bm93IHRoYXQgJydsbyB7c2VsYnJpfSBrdScnIGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBhcyAnJ3pv J2Ugbm9pIGtlJ2Ege3NlbGJyaX0ga3UnbycnLgoKCgpCZXNpZGVzLCBpdCBpcyBhbHNvIHBvc3Np YmxlIHRvIGNvbm5lY3QgdHdvIG9yIG1vcmUgcmVsYXRpdmUgY2xhdXNlcyB0byB0aGUgc2FtZSBz dW10aSwgYnkgdXNpbmcgdGhlIHJlbGF0aXZlIGNsYXVzZSBqb2luZXIge3ppJ2V9LiBJdCdzIHN5 bnRheCBpcyAic3VtdGkgKyByZWxhdGl2ZSBjbGF1c2UgKyB6aSdlICsgcmVsYXRpdmUgY2xhdXNl ICgrIHppJ2UgKyByZWxhdGl2ZSBjbGF1c2UgKC4uLikpIi4gSGVyZSBpcyBhbiBleGFtcGxlOgoK CgpfXycncGVubWknJ19fIOKAnHgxIG1lZXRzL2VuY291bnRlcnMgeDIgYXQvaW4gbG9jYXRpb24g eDPigJ0KCl9fJydkYXNuaScnX18g4oCceDEgd2VhcnMvaXMgcm9iZWQvZ2FyYmVkIGluIHgyIGFz IGEgZ2FybWVudCBvZiB0eXBlIHgz4oCdCgoKCicnbWkgdGF2bGEgbG8gbmFubXUga3UgcG9pIGRv IHBlbm1pIGtlJ2Ega3UnbyB6aSdlIG5vaSBkYXNuaSBsbyB4dW5yZSBrdSBrdSdvJycKCj0g4oCc SSB0YWxrZWQgdG8gdGhlIG1hbiB0aGF0IHlvdSBtZXQgYW5kIHdoaWNoIChpbmNpZGVudGFsbHkp IHdhcyBkcmVzc2VkIGluIHJlZC7igJ0KCihMaXRlcmFsbHk6IOKAnC4uLiBhbmQgd2hpY2ggd2Vh cnMgc29tZXRoaW5nIHJlZOKAnS4pCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgTGVzc29uIGVp Z2h0ICh0ZXJtaW5hdG9yIGVsaXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1l cmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxj aSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3Ug dmF1X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5nLCB3 b3VsZCB1bmRlcnN0YW5kIHRoYXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBtZS7igJ0KClJl Z2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcgdW5kZXJzdG9v ZCwgKGl0IHNob3VsZG4ndCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292ZXJl ZCBpbiB0aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUgY29t cGxleCBMb2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0aGUg c2VudGVuY2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3UnbycnIGFuZCBv dGhlciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcu CgoKClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBlbmQg b2YgYSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUgRW5n bGlzaCB3b3JkIGZvciB0aGlzIGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0aGUg TG9qYmFuIHdvcmQgaXMgJydmYSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xkIGlu IHRoZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4YW1w bGUgYXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBnb29k IHJlYXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1Jydf XyBmYSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3cml0 dGVuIExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMgZ3Jl YXRseSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBob3dl dmVyLCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdvLiBJ biB0aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0aGUg ZmEnb3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNoIGlz IGEgc2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBUaHVz LCBpdCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFuIEFt ZXJpY2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkgd3Jv bmcgcmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVuJ3Qg bGVhcm5lZCBhYm91dCBpdCB1bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29ybWEn byBjYW4gYmUgZWxpZGVkIGlzIHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKAnFlv dSBjYW4gZWxpZGUgYSBmYSdvcm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBkb2Vz IG5vdCBjaGFuZ2UgdGhlIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNlLuKA nQoKTW9zdCBmYSdvcm1hJ28gY2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0aGUg YnJpZGkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVvdGXi gJ0tZmEnb3JtYSdvIGFuZCDigJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBUaGlz IGlzIHdoeSAnJ3ZhdScnIGlzIGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5uaW5n IGEgbmV3IGJyaWRpIHdpdGggJycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUgdGhl IHByZWNlZGluZyBicmlkaSBhbnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dldmVy LiBTaW5jZSBhdHRpdHVkaW5hbHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29yZCwg YXBwbHlpbmcgaXQgdG8gYSBmYSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNvbnN0 cnVjdCB3aGljaCBpcyB0ZXJtaW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4gdXNl IGF0dGl0dWRpbmFscyBhZnRlcnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGlyZSBi cmlkaToKCicnemEnYSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0uLi4gdmF1 IGknZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24uLi4gSSBh cHByb3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEgcGVyc29u YWxpdHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxpc2lvbiwg d2UgY2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVnaW4gcmVt b3ZpbmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBv aSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBu dSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18n JwoKCgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1hdGljYWxseSB1 bm5lY2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQgaXMgJydqaW1w ZScnLCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHNlbGJy aSBwZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1wZScnIGFzIGEg c2VsYnJpIGNhbm5vdCBiZSBpbiB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAob25seSBvbmUg YnJpZGkgaW4gYSBjbGF1c2UsIG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRpKSwgd2UgY2Fu IGVsaWRlICcna3UnbycnLiBMaWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBhIHNlY29uZCBz ZWxicmkgaW5zaWRlIHRoZSBjb25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScnLCBzbyB0aGUg JydrdScnIGlzIG5vdCBuZWVkZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRoZSBmYSdvcm1h J28gYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVkIHRvbywgc2lu Y2UgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0aGVzZSBjb25z dHJ1Y3RzIGFueXdheS4KCldlIHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdpIG1pIGRqaWNh IGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxv IG51IHZvJ2EgZGFyeGkgbWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpXaGVu IGVsaWRpbmcgZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVkIHdp dGggJydjdScnLiAnJ2N1JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtlIHlv dXIgKExvamJhbmljKSBsaWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNlcGFy YXRlIGFueSBwcmV2aW91cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkgdGhh dCBpdCBkZWZpbmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5hdGVz IGV4YWN0bHkgYXMgbXVjaCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoKX18n J2N1JydfXyBlbGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRpbmcg c3VtdGksIGFsbG93cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFtaScn X18gPSDigJx4MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBk byBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1pJycgPQoKJyds byBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNlIGRqaWNhIG1p JycKCuKAnFRoYXQgeW91IHNheSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQgYnkgYmXigJ0g b3Ig4oCcSSB3aXNoIHlvdSBzYWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydjdScnIGlzIG5v dCBhIGZhJ29ybWEnbywgYmVjYXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3BlY2lmaWMgY29u c3RydWN0LiBCdXQgaXQgY2FuIGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3JtYSdvLgoKCgpP bmUgb2YgdGhlIGdyZWF0ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBpdCBxdWlja2x5 IGJlY29tZXMgZWFzeSB0byBpbnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNlbGYgaXQgbWVh bnMgbm90aGluZywgYnV0IGl0IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2piYW4gZXhwcmVz c2lvbnMgYnkgaWRlbnRpZnlpbmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3JpZ2luYWwgZXhh bXBsZSB3aXRoIHRoZSB2aW9sZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcnY3UnJyBiZWZv cmUgJydqaW1wZScnIGRvZXMgbm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgc2VudGVuY2Ug aW4gYW55IHdheSwgYnV0IG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoKCkluIHRoZSBm b2xsb3dpbmcgY291cGxlIG9mIGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQgd2hlbiBuZWNl c3NhcnksIGFuZCBhbGwgZmEnb3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhlIGVsaWRlZCBm YSdvcm1hJ28gd2lsbCBiZSBlbmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBzaG93biBiZWxv dy4gVHJ5IHRvIHRyYW5zbGF0ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMgaW1wb3J0YW50 IHRvIHgyIGZvciByZWFzb24geDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5kZXJzdGFuZHMg dGhhdCB4MiAoZHUndS1hYnN0cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2Enbycn X18gLSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAtIGRl c3BhaXIKCgoKJydhJ28gZG8gbm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1fSBjdSBqaW1w ZSBsbyBkdSd1IGxvIGZhJ29ybWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9IHtrdX0ge3Zh dX0nJwoKV2hhdCBkbyBJIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgaG9wZSB0 aGF0IHlvdSwgYSBwcm91ZCBMb2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdvIGFy ZSBpbXBvcnRhbnTigJ1+fgoKCgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZlcnNl ZCBpbiBmYSdvcm1hJ28tZWxpc2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhleSBv ZnRlbiBtdXN0IGJlIHJlbWluZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdvcm1h J28gYXJlIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNoIFR1 ZXNkYXkgaGF2ZSBiZWVuIGRlc2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydmYSdv cm1hJ28gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRlcm1pbmF0 b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJlciB3cml0 aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVyc2F0aW9u cyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUgKHN1bXRj aXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRoZSBzZWxi cmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUgYW1vdW50 IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhlIHN1bXRp IHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hhdCBpZiwg c2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNvbXB1dGVy PyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0byBzcGVj aWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUgdGltZSwg dGhhdCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlzIG9uIGhv dyB0byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoKVGhlIG1v c3QgYmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdvIFNFTEJSSSBm ZSd1JycgKHllcywgYW5vdGhlciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4gSXQn cyBhbG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBsYXN0IHRpbWUg eW91IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdvZXMgYSBzZWxi cmksIGFuZCBsaWtlICcnbG8gU0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUndScnIGV4dHJh Y3RzIHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcnZmkn byBTRUxCUkkgZmUndScnLCB0aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRvIGEg c3VtdGksIGJ1dCB0byBhICcnc3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKAnSwg d2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNvbnZl cnRlZC4gVGhpcyAnJ3N1bXRjaXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBPbmUg Y291bGQgc2F5IHRoYXQgdXNpbmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10aSBw bGFjZSBmcm9tIGFub3RoZXIgc2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWluZyBz YWlkLgoKTm90ZTogU29tZXRpbWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUgdGVy bSDigJx0YWfigJ0gb3Ig4oCcbW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJZ25v cmUgdGhvc2UgcHVueSBFbmdsaXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9qYmFu IGhlcmUuCgoKCldoaWxlIGl0IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSByZWFk aW5nIGFib3V0IGl0LCBhbiBleGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBzaW1w bGljaXR5OgoKX18nJ3NrYW1pJydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3NlIHgy 4oCdCgpfXycncGlsbm8nJ19fIOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4M+KA nQoKCgonJ21pIGZhbnZhIHRpIGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1pIHtrdX17dmF1 fScnIC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgyIG9mICcn cGlsbm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNlIHN0cnVj dHVyZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBzdHJ1Y3R1 cmUgaXMgY2FwdHVyZWQgYnkgJydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRvIHRoZSBtYWlu IHNlbGJyaSwgYW5kIHRoZW4gZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2YgJydz dW10Y2l0YScnIGlzIHNvbWV0aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUgZm9s bG93aW5nIHRyYW5zbGF0aW9uOgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEgY29t cHV0ZXLigJ0KCgoKQSAnJ3N1bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwgd2hp Y2ggaXMgYWx3YXlzIHRoZSBmb2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCBvbmUgY2FuIHVz ZSB0aGUgJydzdW10Y2l0YScnIGNvbnN0cnVjdCBieSBpdHNlbGYgd2l0aG91dCBzdW10aS4gSW4g dGhpcyBjYXNlIHlvdSBuZWVkIHRvIHB1dCBpdCBlaXRoZXIgYmVmb3JlIHRoZSBzZWxicmkgb3Ig dGVybWluYXRlIGl0IHdpdGggJydrdScnLiBJbiBzdWNoIGNhc2Ugb25lIGNhbiB0aGluayBhcyBp ZiB0aGUgc3VtdGNpdGEgaGFzIHRoZSB3b3JkICcnem8nZScnIGFzIHRoZSBzdW10aS4KCgoKX18n J3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwgZW50aXR5IGNhcnJ5aW5nIG91dCBhY3Rp b24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCl9fJyd6YXJjaScnX18g4oCceDEgaXMgYSBtYXJrZXQv c3RvcmUvZXhjaGFuZ2Uvc2hvcChzKSBzZWxsaW5nL3RyYWRpbmcgKGZvcikgeDIsIG9wZXJhdGVk IGJ5L3dpdGggcGFydGljaXBhbnRzIHgz4oCdCgoKCicnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8g cHJlbnUge2t1fSBjdSBrbGFtYSBsbyB6YXJjaSB7a3V9e3ZhdX0nJyAtIOKAnEJ5IHRoZWlyIG93 biB2b2xpdGlvbiwgYSBwZXJzb24gaXMgZ29pbmcgdG8gdGhlIHN0b3Jl4oCdCgoKCk5vdGUgdGhh dCB0aGVyZSBpcyAnJ2t1JycgaW4gJydmaSdvIHp1a3RlIHtmZSd1fSBrdScnLiBXaXRob3V0IGl0 IHRoZSBzdW10Y2l0YSB3b3VsZCBoYXZlIGFic29yYmVkICcnbG8gcHJlbnUge2t1fScnIGFuZCB3 ZSBkb24ndCB3YW50IHRoYXQuCgoKCldlIGNhbiBzYXkgdGhlIHNhbWUgaW4gb3RoZXIgd29yZHM6 CgoKCicnZmknbyB6dWt0ZSB7ZmUndX0gem8nZSBsbyBwcmVudSB7a3V9IGN1IGtsYW1hIGxvIHph cmNpIHtrdX17dmF1fScnIAoKJydsbyBwcmVudSB7a3V9IGN1IGZpJ28genVrdGUge2ZlJ3V9IGts YW1hIGxvIHphcmNpIHtrdX17dmF1fScnIAoKCgpyZXRhaW5pbmcgdGhlIG1lYW5pbmcuCgoKCldo YXQgZG9lcyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScn IHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhpbmcg YWJvdXQgTG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRjaXRh JycgcmlnaHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVybWlu YXRlLCBzaW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2VsYnJp LiBUaGlzIGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5b3Ug d2lsbCBzZWUuCgoKCkFjdHVhbGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRl c3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBh cmUgQkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1zZWx2 ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUnZScnLCB0 aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhlIHNhbWUg YXMgJydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUg cmVkdWNlZCB0bzoKCicnenUnZSBrdSBsbyBwcmVudSB7a3V9IGN1IGtsYW1hIGxvIHphcmNpIHtr dX17dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBv ZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28g YmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6 dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0cyBp biBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAo UFUsIEZBaEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmds aXNoLXNwZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3Vn aCBuaW5lIGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ug b25jZS4gVGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9z dCBJbmRvLUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFu IGFyZSBvcHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFu IOKAnEkgZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3 YXlzIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmlu aXNoZWQgZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3Qs IGFuZCBpbiBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4g SG93ZXZlciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1 Z2h0LiBGdXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkg dHJlYXQgdGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0 IEkgd29ya2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQg dGhhbiBzYXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhl ciBsYW5ndWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3Qg ZGlmZmljdWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFn ZXMgdGhvdWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVh ciBub3QsIGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBt b2RpZnkgdGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0 aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdl IGhhdmUgY29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2th eSBva2F5LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBv dGhlciBzdW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2Fu dCwgYW5kIHdvbid0IGJlIGV4cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRo ZXkgYXJlIGxpa2UgYWxsIG90aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcn a3UnJywgbWFraW5nIGl0IGV4cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1Jycu CgpUaGVyZSBhcmUgbWFueSBkaWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxl dCdzIHN0YXJ0IGF0IHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4K Cl9fJydwdScnX18gLSBzdW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10 Y2l0YTogYXQgdGhlIHNhbWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6 IGFmdGVyIHtzdW10aX0KCgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCc YmVmb3Jl4oCdLCDigJxub3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdo LCBvbmUgY291bGQgYXJndWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9j Y3VyIGV4YWN0bHkgc2ltdWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0 ICcnY2EnJyBleHRlbmRzIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1l YW5pbmcganVzdCDigJxhYm91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3Mg ZG9uJ3QgcGVyY2VpdmUgdGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBM b2piYW4gdGVuc2Ugc3lzdGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFj dHVhbGx5IHN1Z2dlc3RlZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlz dGljLiBUaGF0IGlkZWEsIGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50 ZXItaW50dWl0aXZlLCBhbmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdv dWxkIGhhdmUgdG8gbGVhcm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNv LCBob3cgd291bGQgeW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/i gJ0gKHBvaW50aW5nIHRvIGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNr dSB0aSBiYSBsbyBudSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9Jyd+fgoKCgpV c3VhbGx5IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZl bnQgaW4gdGhlIHBhc3QgdGhpcyBhY3Rpb24gaXMgcmVsYXRpdmUgdG8uIEluOiDigJxJIGdhdmUg YSBjb21wdXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5l ZCByZWxhdGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkg b2YgdGhlIHN1bXRjaXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEg bG8gc2thbWkge2t1fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1 fSB7dmF1fScnIG9yLCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkg e2t1fSB7dmF1fScnLiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGlt cGxpZWQgJyd6bydlJycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxh dGl2ZSB0byB0aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkg aW1wb3J0YW50IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2lu ZyBhYm91dCBzb21lIGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRo ZSBwcmVzZW50LCBpdCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJl bGF0aXZlIHRvIHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRl ciB0byBjbGFyaWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIn cyBjdXJyZW50IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0 aW1lLiBBbm90aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29u c2lkZXJlZCB0aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4K Cl9fJyduYXUnJ19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJl bmNlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScn X18gPSDigJx4MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9y eSB4M+KAnQoKCgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3Vn ZGUge2t1fSB7dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkg dGhhdCBJJ20gbm90IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxz byB0cnVlIHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBh Z28uCgoKCkFzIG1lbnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJl IHZlcnkgbXVjaCBhbGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2Vz IHdpdGggdGhlc2UgZm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10Y2l0YTog bGVmdCBvZiB7c3VtdGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10 aX0KCl9fJydyaSd1JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19f IHN1bXRjaXRhOiBhdCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxl bnQgb2YgJydjYScnKQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBl bW90aW9uOiBwYXRpZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQgJycubydv bmFpIHJpJ3Uge2t1fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0g e2t1fSB7dmF1fSB7a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBr dSEpCgpfXycnZGFyeGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0 IGxvY3VzIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0 IChvZiBzb21ldGhpbmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZl bnQpLCBzb21ldGhpbmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0g b3Ig4oCcQSBtYW4gaGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBz ZXZlcmFsIHRlbnNlIHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3Ug cmVhZCB0aGVtIGZyb20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg 4oCcaW1hZ2luYXJ5IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBv aW50IGluIHRpbWUgYW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVy ZSksIGFuZCB0aGVuIGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9tIGxlZnQg dG8gcmlnaHQuCgpFeGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBsbyBsb2pi byBmYSdvcm1hJ28ge2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJ IHdpbGwgYmUgYWJvdXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9 IHB1IHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBz b21lIHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEn b3JtYSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3 ZSBtb3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJvdGggY2Fz ZXMgaGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVy ZW5jZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwg dGhlIHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhp cyBydWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50YWN0aWNh bCBhbWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3 ZSB3YW50IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUg YWdvLiBUaGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9y dCwgdW5zcGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0 aW1lLiBOb3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMg b3JkZXIgYXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29y dGggdG8gbWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMg Y29udGV4dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5 ZWFycyBpcyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcg dGltZSB0byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcg dGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVy ZW5jZSAKCl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRp dW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAK Cl9fJyd6dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRp fSBpbiB0aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFj aWFsIGRpc3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBz aG9ydCwgdW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpf XycndmknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRp fSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6 IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4g c3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3Vy cmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQg b2YgcmVmZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVj dGl2ZSB4M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmth IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVy ZSwgSSB3aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVs eSB1c2UgJyd6aScnLCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScn IGluIGZyb250IG9mIGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQg dG8gc3BlY2lmeSBwYXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4g eW91IHRoaW5rIGFib3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGlt ZS1kaXJlY3Rpb24gaXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1 b3VzIQoKCgpUaGUgb3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5j ZS1zdW10Y2l0YSBhcmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhl IG1lYW5pbmdzIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0 dXJlZCBieSBhbiBpbWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byByaWdodC4g VGh1cyAnJ3B1IHp1JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUgcHUnJyBp cyDigJxpbiB0aGUgcGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBsb25nIHRp bWUgdG93YXJkIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUgZmlyc3Qg ZXhhbXBsZSwgJydwdScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcnenUnJyB0 aGVuIHRoYXQgaXQgaXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1w bGUsICcnenUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4g dGltZSBmcm9tIG5vdywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0 aGF0IHBvaW50LiBUaHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcnenUgcHUn JyBjb3VsZCBiZSBpbiB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUgdGVuc2Vz IGNvbWJpbmUgaW4gdGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRl bnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1 bXRjaXRhIGFyZSBub3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10 Y2l0YSBpbiBhIGJyaWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxsIHRoZXNl IGNvbnN0cnVjdHMgYmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwb2ludC1s aWtlIGluIHRpbWUgYW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0 IG92ZXIgYSBzcGFuIG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZldyBwYXJh Z3JhcGhzLCB3ZSB3aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0aW1lIGFu ZCBzcGFjZS4KCgoKX18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9y dCB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0 aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScnX18gc3Vt dGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdp JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoK X18nJ3ZlJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVk aXVtKSBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92 ZXIgdGhlIGxvbmcgc3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1lLCBJIGtu b3csIGJ1dCByZW1lbWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5 IG9mIHRoZSBpbml0aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNw YWNpYWwgdGVuc2VzIG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydfXyAtIGF0 dGl0dWRpbmFsOiBwYWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUn dSB7a3V9IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5n IGEgbG9uZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUg bm90IGZhbWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3Bl biB1cCBmb3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2Us IHRyYW5zbGF0ZSDigJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9IGdlcmt1 IHt2YXV9JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3BhY2XigJ0g bWFrZXMgeW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBM b2piYW4hCgoKCicnemUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3Ro ZXIgdGVuc2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZSd1Jycg YW5kIHRoZSBvdGhlcnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFya3MgYW4g ZW5kcG9pbnQgb2YgdGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiByZWZlcmVu Y2UpIGFuZCBhbnkgdGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9p bnQgcmVsYXRpdmUgdG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0 aCBhIGNvdXBsZSBvZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1 IHtrdX0gYmEge2t1fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJl Z2lubmluZyBpbiB0aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBzb21lIHBv aW50IGZhciBpbnRvIHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBm LCB5b3UgYXRlIGZvciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8g Y2Ege2t1fSB6ZSdpIHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9 IHplJ2kge2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2 ZWxpbmcgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRs ZSB0b3dhcmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9p bnQgaW4gdGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywg c2xpZ2h0eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydq bWl2ZScnX18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcn LnVpIG1pIHB1IHtrdX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHByZXNzPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRs ZSBpbnRvIHRoZSBwYXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0 IChvYnZpb3VzbHkgdGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW504oCdIG9y IOKAnEkgYW0geW91bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKA nX5+CgoKCkp1c3QgdG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5z ZXMsIGxldCdzIGhhdmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRl bnNlczoKCl9fJycudSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoK JycudSdlIHphJ2Ege2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1 fScnIC0gV2hhdCBkb2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25k ZXJ9IHtJIG9ic2VydmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBm cm9udCBpcyBhIGhvbWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBp cyBodWdlIeKAnX5+CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5 IHRlbnNlIHN5c3RlbSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMg ZG9pbmcgc29tZXRoaW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIg dG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29r aWUgdmVyeSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCBy ZXN0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVsZXZlbiAoWkFoTykKClRob3VnaCB3 ZSB3b24ndCBnbyB0aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Igbm93LCB0 aGVyZSBpcyBvbmUgb3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRh dWdodCBub3cuIFRoZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFuZCByZXBy ZXNlbnQgYSB2ZXJ5IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZl IHNlZW4gc28gZmFyLiBTbyBsZXQncyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2Ug aGF2ZSBsZWFybmVkIHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxp bmUsIGFuZCB3ZSB0aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhl IOKAnG5vd+KAnS4gV2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2 ZW50IGFzIGEgcHJvY2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3Jl IGl0IHVuZm9sZHMsIGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4g cHJvY2VzcywgYSB0aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5k ZWQuIEV2ZW50IGNvbnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnQn cyBwcm9jZXNzIHdhcyBoYXBwZW5pbmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNpZmllZCBieSB0aGUg b3RoZXIgdGVuc2VzLiBXZSBuZWVkIGEgY291cGxlIG9mIHRlbnNlcyBmaXJzdDoKCgoKX18nJ3B1 J28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBl bmVkIGR1cmluZyB7c3VtdGl9CgpfXycnY2EnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2JhJ28nJ19fIC0gc3Vt dGNpdGE6IGV2ZW50IGNvbnRvdXI6IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhhcyBlbmRlZCBkdXJp bmcge3N1bXRpfQoKCgpUaGlzIG5lZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBieSBzb21lIGV4YW1w bGVzLiBXaGF0J3MgJycudWkgbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVhbj8KCgoK QW5zd2VyOiDigJxZYXksIEknbGwgYmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0uCgoKCkJ1dCBoZXks IHlvdSBhc2ssIHdoeSBub3QganVzdCBzYXkgJycudWkgbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1 fScnIGFuZCBldmVuIHNhdmUgYSBzeWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1iZXIsIHNheWluZyB0 aGF0IHlvdSB3aWxsIGhhdmUgYSBob21lIGluIHRoZSBmdXR1cmUgc2F5cyBub3RoaW5nIGFib3V0 IHdoZXRoZXIgeW91IGhhdmUgYSBob21lIG5vdy4gVXNpbmcgJydwdSdvJycsIHRob3VnaCwgeW91 IHNheSB0aGF0IHlvdSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9jZXNzIG9mIHlvdSBo YXZpbmcgYSBob21lLCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb24ndCBoYXZlIG9uZSBub3cuCgpO b3RlLCBieSB0aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNp bWlsYXIgdG8gJydtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJywgYW5kIGxpa2V3aXNlIHdp dGggJydiYSdvJycgYW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2VlbSByZXZlcnNlZD8gQmVjYXVz ZSBldmVudCBjb250b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJvbSB0aGUgdmlld3Bv aW50IG9mIHRoZSBwcm9jZXNzLCB3aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMgdmlldyBldmVudHMg c2VlbiBmcm9tIHRoZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQgY29udG91cnMgYXJlIG1vcmUg cHJlY2lzZSB0aGF0IG90aGVyIGtpbmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUgY2xhcml0eSBpcyBh Y2hpZXZlZCBieSBjb21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBtaSBiYXtrdX0gemkg e2t1fSBiYSdvIHtrdX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3ZlIHNvb24gZmluaXNo ZWQgd29ya2luZy7igJ0KCgoKSW4gTG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUgd2l0aCBhbiBldmVu dCdzIOKAnG5hdHVyYWwgYmVnaW5uaW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRo ZSB0ZXJtIOKAnG5hdHVyYWzigJ0gaXMgaGlnaGx5IHN1YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwg YW5kIHRoZSBuYXR1cmFsIGVuZCByZWZlcnMgdG8gdGhlIHBvaW50IGluIHRoZSBwcm9jZXNzIHdo ZXJlIGl0IHNob3VsZCBlbmQuIFlvdSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGlu c3RhbmNlLCB0aGF0IGl0cyBwcm9jZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5n IGJleW9uZCBpdHMgbmF0dXJhbCBlbmQuIEFuIHVuZGVyY29va2VkLCBidXQgc2VydmVkIG1lYWws IHNpbWlsYXJseSwgaXMgYmVpbmcgZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2VzcycgbmF0dXJhbCBi ZWdpbm5pbmcuIFRoZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVzIGFyZSBh cyBmb2xsb3dzOgoKCgpfXycnemEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJp ZGkgaXMgaW4gcHJvY2VzcyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3VtdGl9Cgpf XycneGEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1tYXR1cmVs eSBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgxIGlzIGZv b2QsIHdoaWNoIGlzIGVkaWJsZSBmb3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRr YSB6YSdvIGxvIG51IGRvIGJhJ28ge2t1fSB1J2UgY2l0a2Egem8nZSBub2kgY2lkamEgZG8ge3Zh dX0ge2t1J299IHt2YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95 LCB5b3Uga2VlcCBlYXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0 aW5nIHNvbWV0aGluZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiBy ZWw9ImJveFtnXSJ9CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4g QWxsIHRlbnNlcyBhYm92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292 ZXJpbmcgYW4gYW1vdW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUg c2lnbmlmeSBzdGFnZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5z ZXMgaGF2ZSBiZWVuIGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0YWtlcyBz b21lIHRpbWUgKGFzIHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2VzIGFib3Zl IHRoZSBldmVudCBsaWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJl cyBwb2ludCBsaWtlIHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5uaW5nLiBB cyBpcyB0cnVlIG9mICcnY2EnJyBhbmQgJydidSd1JycsIHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNs aWdodGx5IGludG8gdGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBu b3QgdG8gYmUgcHJlY2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1saWtlIGV2 ZW50IGNvbnRvdXJzIGFyZToKCl9fJydjbydhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3Vy OiBCcmlkaSBpcyBhdCBpdHMgYmVnaW5uaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnY28ndScnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBkdXJpbmcg e3N1bXRpfQoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUgcHJvY2Vz cyBpcyBuYXR1cmFsbHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVuZGVkIHll dDoKCl9fJydtbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBp dHMgbmF0dXJhbCBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUsIHRob3Vn aCwgcHJvY2Vzc2VzIGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsgdGhpcyBp cyB3aGF0IG1ha2VzIGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5k IHBlb3BsZSB1c3VhbGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGlibGUgZm9v ZC4KCgoKU2luY2UgYSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhl c2UgcG9pbnRzIGhhdmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286CgpfXycn ZGUnYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcGF1c2luZyBkdXJp bmcge3N1bXRpfQoKX18nJ2RpJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRp IGlzIHJlc3VtaW5nIGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVuZGknJyBt ZWFucyDigJx4MSBwYXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZSdhIGp1bmRpJycgYW5kICcn ZGknYSBqdW5kaScnIGFyZSBjb21tb24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBh bmQg4oCcYmFja+KAnS4gT25lIGNvdWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZlbnQgY29u dG91cnMgYnkgdGhlbXNlbHZlcyBhbmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZp bmFsbHksIG9uZSBjYW4gdHJlYXQgYW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcg dG8gdGhlIGVuZCBhcyBvbmUgc2luZ2xlIHBvaW50IHVzaW5nICcnY28naScnOgoKX18nJ3Blbm1p JydfXyDigJx4MSBtZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9IHppIHtr dX0gY28naSB7a3V9IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKAnEEgbGl0 dGxlIHdoaWxlIGFnbywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBtZXQgYSBH ZXJtYW4gcGVyc29u4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VsdmUgKG9y ZGVycyBhbmQgcXVlc3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3aXRoIHN5 bnRheCBoZWF2eSBMb2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25kZXIgYWJv dXQuIEVzcGVjaWFsbHkgYmVjYXVzZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNv IGxldCdzIHR1cm4gdG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9yZGVycyBhbmQgcXVl c3Rpb25zLgoKCgpXaGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18KCgoKU2luY2UgdGhl IHdheSB0byBleHByZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZlIG91dCB0aGUgc3Vi amVjdCBvZiB0aGUgY2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBpdCB3YXMgeW91IEkg d2FzIHNwZWFraW5nIHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3IgZXhwcmVzc2luZyB0 aGUgb2JsaWdhdGlvbiBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBFbmdsaXNoIGxhbmd1 YWdlIHVuZGVyc3RhbmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwgYXJlIGFs d2F5cyBkaXJlY3RlZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5b3XigJ0sIGFuZCBz byB0aGUgc3ViamVjdCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBlbGlkaW5nIHRoZSBz dWJqZWN0IHlpZWxkcyAnJ3pvJ2UnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBpcyBzYWRseSBub3Qg b3BlbiB0byB1cy4gSW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywgd2hpY2ggaXMgdGhl IGltcGVyYXRpdmUgZm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5kIGJyaWRpLXdpc2Us IGl0J3MgZXF1aXZhbGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50 aWNzLCBzaW5jZSBpdCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50 byBhbiBvcmRlci4g4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91 PScna28nJyHigJ0gRm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVkIHRoZSBzdWJqZWN0 IGluIEVuZ2xpc2ggc2VudGVuY2VzLCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdvcmRzIGRlcml2ZWQg ZnJvbSBhbnkgb3RoZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhvdyBjb3VsZCB5b3Ugb3JkZXIg b25lIHRvIGdvIGZhciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNpbmcgJydrbGFtYScnIGFzIHRo ZSBvbmx5IHNlbGJyaT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6a28gdmUndSB6ZSd1IGtsYW1h fn4KCignJy5pIHphJ2EgZGFpIGEnbyBtaSBjYSBjbyd1IGNpc2thIGxvIGZhJ29ybWEnbyAuaSBr byBqaW1wZSB2YXUgLnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBvdXQuCgoKClF1 ZXN0aW9ucyBpbiBMb2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRoZXkgY29tZSBp biB0d28ga2luZHM6IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBxdWVzdGlvbnMu IExldCdzIGJlZ2luIHdpdGggdGhlIHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRoYXQncyBw cmV0dHkgb3ZlcmNvbWVhYmxlLCBzaW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1 JycuCgonJ3h1Jycgd29ya3MgbGlrZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBp dCBjYW4gZ28gYW55d2hlcmUsIGFuZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcgd29yZCAo b3IgY29uc3RydWN0KS4gSXQgdGhlbiB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVl c3Rpb24sIGFza2luZyB3aGV0aGVyIGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0byBhZmZp cm0sIHlvdSBzaW1wbHkgcmVwZWF0IHRoZSBicmlkaToKCicneHUgdmUndSB6ZGFuaSBkbycnICcn LmkgdmUndSB6ZGFuaSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmksIHdo aWNoIGlzIHRoZSBicmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcn emRhbmknJy4KClRoZXJlIGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNpbmcgYnJp a2EnaSwgYnV0IHRob3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5zd2VyIOKA nG5v4oCdIG9yIOKAnGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBicmlkaSBu ZWdhdGVkLiBUaGF0IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0 dXJuIHRvIHF1ZXN0aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2luZCBpcyBm aWxsIGluIHRoZSBibGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8g YmUgcmVwbGFjZWQgZm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkgY29ycmVj dC4gVGhlcmUgYXJlIHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlv dSBhcmUgYXNraW5nIGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8n J19fIC0gc2VsYnJpIHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycn Y3UnZScnX18gLSB0ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBh c2sgYWJvdXQgYSBzdW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3 aGVyZSB5b3Ugd2FudCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNrcyBmb3Ig dGhlIHgyIHRvIGJlIGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdpdmUgd2hh dCB0byBtZT/igJ0uIFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21hJycgaXMg dmVyeSB1c2VmdWwgaW5kZWVkOgoKX18nJ211J2knJ19fIC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBi eSB0aGUgYWJzdHJhY3Rpb24gb2Yge3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4aSBtaSBtdSdpIG1h JycgLSDigJxPeSwgd2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0cnkgYW5vdGhlciBv bmUuIFRoaXMgdGltZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZSd1IHB1IG1v JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3UncmUgaGFwcHksIHdoYXQgaGF2ZSB5b3Ug YmVlbiBkb2luZyBhbGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmljYWxseSwg aXQgY291bGQgYWxzbyBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJp bmcgd2l0aCAnJy51YSBuYWkgbGknYSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNseSkgaXMg anVzdCBiZWluZyBpbmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2luY2UgdG9u ZSBvZiB2b2ljZSBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIg YSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlzcyB0aGUg cXVlc3Rpb24gd29yZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1cyBtb3Jl IG9uIHdvcmRzIGluIHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0 J3MgdXN1YWxseSB3b3J0aCB0aGUgd2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRo YXQgdGhlIHF1ZXN0aW9uIHdvcmRzIGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90 IGZlYXNhYmxlLCAnJ3BhdScnIGlzIGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0aGUgc2Vu dGVuY2UgaXMgYSBxdWVzdGlvbi4gQ29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0bHkgbWFy a3MgYW55IHF1ZXN0aW9uIGFzIGJlaW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0 aGUgdG9waWMgb2YgcXVlc3Rpb25zLCBpdCdzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVudGlvbiB0 aGUgd29yZCAnJ2thdScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3QgcXVlc3Rp b27igJ0uIFdoYXQncyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFrZSBhIGxv b2sgYXQgdGhlIHNlbnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR1J3UgbWEga2F1IHpkYW5pIGRvJycg LSDigJxJIGtub3cgd2hhdCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKAnHgxIGtu b3dzIGZhY3QocykgeDIgYXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg04oCdCgpP bmUgY2FuIHRoaW5rIGl0IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEgemRhbmkg ZG8nJy4gTW9yZSByYXJlbHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3JkIHdpdGgg JydrYXUnJywgaW4gd2hpY2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMgdGhlIGFu c3dlciB0byBhIHF1ZXN0aW9uOiAnJ21pIGppbXBlIGxvIGR1J3UgZHVuZGEgdGkga2F1IGRvJycg LSDigJxJIGtub3cgd2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0aGlzLuKAnQoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xvZ3kgYW5kIHdvcmQg Y2xhc3NlcykKCkJhY2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5nKSBzdHVmZi4KCklm IHlvdSBoYXZlbid0IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3UgZmluZCB0aGUgTG9q YmFuaWMgcmVjb3JkaW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xlIFJvYmluIiwgb3Ig bGlzdGVuIHRvIHNvbWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5kIHRoZW4gcHJhY3Rp Y2UgeW91ciBwcm9udW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29udmVyc2F0aW9uIGlu IHlvdXIgaGVhZCBpbiBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbid0IHdpdGggYWxsIHRo ZSB3cm9uZyBzb3VuZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0 ZXh0IGlzIGhhcmQuIFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gdGhlIExv amJhbiBzb3VuZHMsIGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0 IGludHJvZHVjdGlvbiB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhv bG9neT8gVGhlIHdvcmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5 IG9mIHNoYXBlc+KAnSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBob3cgd2Ug bWFrZSB3b3JkcyBmcm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3aXRoIHN5 bnRheCAtIGhvdyB3ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMg d2l0aCBkaWZmZXJlbnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwg ZGVmaW5lZCBieSB0aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0 ZW1hdGljIHRob3VnaCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdy b3VwZWQgYnkgbW9ycGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIu Cgp8fCAgIENsYXNzfE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jk czp8ICAgfCAgIHwgICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZpcnN0IDUg bGV0dGVycyAoZXhjbHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVzdGVyLiBF bmRzIGluIHZvd2VsLiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBo YXMgYSBwbGFjZSBzdHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJz IG9mIHRoZSBmb3JtIENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRpIHBsYWNl cy4gQ292ZXJzIGJhc2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdvcmQuIERl cml2ZWQgZnJvbSBmcm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdvcmTigJ0g fCAgIE1pbi4gNiBsZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhlciB3aXRo IGJpbmRpbmcgbGV0dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBsZXggY29u Y2VwdHMgdGhhbiBnaXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJyaXZsYSwg YnV0IGRvIG5vdCBtZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZvLCBleDog JydhbmdlbGknJyAgfCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFj ZXMgb3Igb3JnYW5pc21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5pbmcgYW5k IGVuZGluZyB3aXRoIHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBpcyBhIGNv bnNvbmFudC58ICAgQWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50IG9mIGEg cXVvdGUuCgogICBDbWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCdLCBtZWFu aW5nIOKAnHNtYWxsIHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlzIGF0IHRo ZSBiZWdpbm5pbmcuIEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMu IFZhcmllcwoKICAgV29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBBZmZpeHwg IENDViwgQ1ZDLCBDVidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3Qg YWN0dWFsIHdvcmRzLCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8g fHwKCgoKCgpfXycnY21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJlY2F1c2Ug dGhleSBiZWdpbiBhbmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxsIHN0b3Ag aW4gd3JpdGluZywgYW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21ldmxhIGNh bid0IGhhdmUgYW55IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFzIGEgbmFtZS4gT24g dGhlIG90aGVyIGhhbmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNhbm5vdCBhcHBlYXIg aW4gTG9qYmFuIHdpdGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9yIGVuY2FzZWQgYnkgY2VydGFp biBxdW90ZSB3b3Jkcy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0aGUgbmFtZXMgYnkgY2FwaXRh bGl6aW5nIHRoZSBsZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBsZXMgb2YgY21ldmxh IGFyZTogJycuaW9oQU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ryb3BoZSksICcnLm1h dC4nJyAoTWF0dCkgYW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hpIE1pbikuIE5hbWVzIHdoaWNo IGRvIG5vdCBlbmQgaW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFkZGVkOiAnJy5pdnlu LicnIChFdmUpLCBvciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkgcmVtb3ZlZDogJycu aXYuJycKCgoKX18nJ2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jkc+KAnSBiZWNh dXNlIHRoZXkgYnkgZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFsbW9zdCBhbGwg TG9qYmFuIHdvcmRzIHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4gVGhpcyBoYXMg YWxzbyBnaXZlbiB0aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQtd29yZHPigJ0u IEl0J3MgbmVhcmx5IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1bCB3aXRob3V0IGJy aXZsYSwgYW5kIGFsbW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRzIG91dHNpZGUgbG9qYmFuIGdy YW1tYXIgKGFuZCBldmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0aGluZ3MgaW4gdGhlIGxhbmd1 YWdlKSBhcmUgY2FwdHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBpbiB0aGUgdGFibGUsIGJyaXZs YSBoYXMgdGhyZWUgc3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScnX18gYXJlIHRoZSByb290IHdv cmRzIG9mIHRoZSBsYW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4aXN0cywgYW5kIHZlcnkgZmV3 IG5ldyBvbmVzIGFyZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9zdCBiYXNpYyBjb25jZXB0cyBs aWtlIOKAnGNpcmNsZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFuZCDigJxkcmVhbeKA nS4gRXhhbXBsZXMgaW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUnJyBhbmQgJydkdW5kYScnCgpf XycnbHVqdm8nJ19fIGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZzaSAoc2VlIHVuZGVyIHJhZnNp KSwgcmVzcHJlc2VudGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJhZnNpLCBvbmUgbmFycm93cyBk b3duIHRoZSBtZWFuaW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBieSBhbiBlbGFib3Jh dGUgYWxnb3JpdGhtLCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24gdGhlIGZseSBpcyBuZWFyIGlt cG9zc2libGUsIHdpdGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2knJywgZnJvbSAnJ3Nl IHByYW1pJycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3RlYWQsIGx1 anZvIGFyZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4g dGhhdCBkZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1w bGVzIGluY2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1YWwtc29j aWFsaXppbmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0ID0gYmVl dGxlKS4KCl9fJydmdSdpdmxhJydfXyBhcmUgbWFkZSBieSBtYWtpbmcgdXAgd29yZHMgd2hpY2gg Zml0IHRoZSBkZWZpbml0aW9uIGZvciBicml2bGEsIGJ1dCBub3QgZm9yIGx1anZvIG9yIGdpc211 LiBUaGV5IHRlbmQgdG8gY292ZXIgY29uY2VwdHMgd2hpY2ggaXQncyBoYXJkIHRvIGNvdmVyIGJ5 IGx1anZvLCBmb3IgaW5zdGFuY2UgbmFtZXMgb2Ygc3BlY2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1 bHR1cmFsIHNwZWNpZmljIGNvbmNlcHRzLiBFeGFtcGxlcyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlv JycgKEtvcmVhKSAnJ2NpZGpycGl0c2EnJyAocGl6emEpIG9yICcnYW5nZWxpJycgKGFuZ2VsKS4K CgoKX18nJ2NtYXZvJydfXyBhcmUgc21hbGwgd29yZHMgd2l0aCBvbmUgb3IgemVybyBjb25zb25h bnRzLiBUaGV5IHRlbmQgdG8gbm90IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdv cmxkLCBidXQgdG8gaGF2ZSBvbmx5IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9j Y3VyLCBhbmQgaXQncyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBmb3Ig dGhlaXIgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhl IHdvcmRzIG9mIHRoZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxp ZCB0byB0eXBlIHNldmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVz ZSBsZXNzb25zLCB0aGF0IHdvbid0IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNlcnRhaW4gY21hdm8g aW4gZnVuY3Rpb25hbCB1bml0cywgdGhvdWdoLCBpdCBpcyBzb21ldGltZXMgZWFzaWVyIHRvIHJl YWQuIFRodXMsICcnLnVpcHV6dXZ1a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBhbmQgaXMgcGFyc2Vk IGFuZCB1bmRlcnN0b29kIGFzICcnLnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGthJycuIExpa2Ugb3Ro ZXIgTG9qYmFuIHdvcmRzLCBvbmUgc2hvdWxkIChidXQgbmVlZCBub3QgYWx3YXlzKSBwbGFjZSBh IGZ1bGwgc3RvcCBiZWZvcmUgYW55IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEgdm93ZWwuCgpjbWF2 byBvZiB0aGUgZm9ybSB4VlYsIENWJ1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFy ZSB3b3JkcyB3aGljaCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhh dmUgYmVlbiBhZGRlZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRhaW4gbmVl ZC4KCgoKX18nJ3JhZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBuZXZlciBh cHBlYXIgYWxvbmUuIEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJp bmUgdG8gZm9ybSBsdWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBicml2bGEt ZGVmaW5pdGlvbiwgZm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0 IGVuZHMgaW4gYSBjb25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5kICcnY2kn ZWtlaScnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjb250YWluIGEgY29uc29uYW50 IGNsdXN0ZXIsIGFuZCBpcyB0aHVzIHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0ZW4gYXMgb25lIHdv cmQuIE9mdGVuLCBhIDMtNCBsZXR0ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2byBhbmQgYSByYWZz aSwgbGlrZSAnJ3p1J2UnJywgd2hpY2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9y ICcnenVrdGUnJy4gTm90ZSB0aGF0IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEgY21hdm8g YW5kIGEgcmFmc2kgd291bGQgYmUgZ3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3QgY29uc2lk ZXJlZCBob21vcGhvbmVzLiBBbGwgZ2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYgdGhleSBh cmUgcHJlZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0ZXIgb2Yg YSBnaXNtdSBzdWZmaXhlZCB3aXRoIGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZzaSwgaWYg dGhleSBhcmUgc3VmZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBv bmx5IGFwcGVhciBpbiBsdWp2byBvciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBjb21iaW5h dGlvbnMgYXJlOiBDVlYsIENWJ1YsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NW Q1YuCgoKClVzaW5nIHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5z d2VyIHRoZSB0ZXN0IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xs b3dpbmcgd29yZHMgYXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcnZnUnaXZs YScnIChmKSBvciBjbWF2byAoYyk6CgpBICkgamFpICAgICAgICBHICkgbXVtYmwKCkIgKSAuaXJj aSAgICAgICAgSCApIC5pJ2kKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVsbWFuICAg ICAgICBKICkgcGxhanZhCgpFICkgcG8nZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBkamlza3Ug ICAgICAgIEwgKSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwgYy1nLCBk LUMsIGUtYywgZi1sLCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQgb3V0IHRo ZSBmdWxsIHN0b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRuJ3QgYmUgdG9v IGVhc3kuCgpOb3RlOiBzb21lIG9mIHRoZXNlIHdvcmRzLCBsaWtlICcnYm9zdHUnJyBkbyBub3Qg ZXhpc3QgaW4gdGhlIGRpY3Rpb25hcnksIGJ1dCB0aGlzIGlzIGlycmVsZXZhbnQuIFRoZSBtb3Jw aG9sb2d5IHN0aWxsIG1ha2VzIGl0IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBhbiB1bmRlZmluZWQg Z2lzbXUuIFNpbWlsYXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg LSBMZXNzb24gZm91cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoKSWYgeW91 IGhhdmUgcmVhZCBhbmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxlc3NvbnMg dW50aWwgbm93LCB5b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRnZSBvZiBM b2piYW4gc28gdGhhdCBpdCBkb2Vzbid0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4g dGhlIHJlc3QuIEFzIGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxs IGJlIGEgbWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0 ZWQgYnkgaW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUg b2YgdGhlIGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0 ZWQga25vd2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cg Jyd0aScnIGFuZCAnJ2xvIFNFTEJSSScnLCB3aGljaCBkb2Vzbid0IHRha2UgeW91IGZhciBjb25z aWRlcmluZyBob3cgaW1wb3J0YW50IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRoaXMgbGVzc29uIGFz IHdlbGwgYXMgdGhlIGZvbGxvd2luZyB0d28gd2lsbCBiZSBhYm91dCB0aGUgTG9qYmFuIHN1bXRp LiBGb3Igbm93LCB3ZSBmb2N1cyBvbiB0aGUgZGVzY3JpcHRpdmUtbGlrZSBzdW10aSwgdGhlIG9u ZXMgbWFkZSB3aXRoIGFydGljbGVzIGxpa2UgJydsbycnCgpBcnRpY2xlcyBhcmUgaW4gbG9qYmFu IGNhbGxlZCAnJ2dhZHJpJycsIGFuZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2VkIGluIHRoaXMgbGVz c29uIGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgZXhjZXB0IHRoZSBjb21iaW5hdGlvbnMgJyds YSBDTUVWTEEnJywgJydsYWkgQ01FVkxBJycgYW5kICcnbGEnaSBDTUVWTEEnJy4gV2Ugd2lsbCBi ZWdpbiBieSBkZXNjcmliaW5nIHRocmVlIHNpbXBsZSBraW5kcyBvZiBkZXNjcmlwdGl2ZSBzdW10 aSwgYW5kIHRoZW4gaW1tZWRpYXRlbHkgZmluZCB0aGF0IHRoZXkgYXJlIG5vdCBzbyBzaW1wbGUg YWZ0ZXIgYWxsOgoKX18nJ2xvJydfXyAtIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGlu ZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2Ny aXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0 aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6 IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZs YSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUg YWxyZWFkeSBmYW1pbGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBk b2VzIGl0IG1lYW4sIOKAnHZlcmlkaWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0aCByZWdhcmQgdG8g aW5kaXZpZHVhbGl0eS9tYXNzLW5lc3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMg YW5kIG1hc3NlcywgSSdsbCBjb21lIGJhY2sgdG8gbGF0ZXIuIEZvciBub3csIOKAnHZlcmlkaWNh bOKAnSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGluZyB0byBx dWFsaWZ5IGJlZ2luIGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5 ICcna2xhbWEnJy4gVGh1cywgdmVyaWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xhaW0gd2hpY2ggbWF5 IGJlIHRydWUgb3IgZmFsc2UgLSB0aGF0IHRoZSBvYmplY3QocykgaW4gcXVlc3Rpb24gYXJlIGFj dHVhbGx5IHRoZSB4MSBvZiB0aGUgc2VsYnJpIGFmdGVyICcnbG8nJy4gCgoKClRoaXMgbWF5IGJl IGNvbnRyYXN0ZWQgd2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBu b3QgdmVyaWRpY2FsLiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUg b3IgbW9yZSBzcGVjaWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBzZWxicmkg JydnZXJrdScnIHRvIGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRp ZnkgdGhvc2Ugc3BlY2lmaWMgb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0 d28gaW1wb3J0YW50IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBjYW5ub3Qg cmVmZXIgdG8gb2JqZWN0cyBpbiBnZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVycyB0byBzcGVjaWZp YyBvYmplY3RzLiBTZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkgaXMgb25l IG9yIG1vcmUgZG9ncywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90IHZlcmlkaWNhbCwg Y2FuIGJlIGFueXRoaW5nLCBhcyBsb25nIGFzIHRoZSBzcGVha2VyIHRoaW5rcyB0aGUgZGVzY3Jp cHRpb24gd2lsbCBoZWxwIGlkZW50aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVjdHMuIFBlcmhhcHMg dGhlIHNwZWFrZXIgaXMgcmVmZXJyaW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUgbm90IGZhbWlsaWFy IHdpdGggdGhlbSBhbmQgdGhpbmsg4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91Z2ggYXBwcm94aW1h dGlvbiB0byBiZSB1bmRlcnN0b29kLiBUaGlzIG5vbi12ZXJpZGljYWxpdHkgaXMgcGVyaGFwcyBv dmVyLWVtcGhhc2lzZWQgaW4gbW9zdCBtYW55IHRleHRzOyBUaGUgYmVzdCB3YXkgdG8gZGVzY3Jp YmUgYSBkb2cgaXMgdXN1YWxseSB0byBkZXNjcmliZSBpdCBhcyBiZWluZyBhIGRvZywgYW5kIHVu bGVzcyB0aGVyZSBpcyBhIGdvb2QgcmVhc29uIG5vdCB0bywgJydsZSBnZXJrdScnIGlzIHVzdWFs bHkgcHJlc3VtZWQgdG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGFsc28gJydsbyBnZXJr dScnLgoKSW4gdHJhbnNsYXRpb24sICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5IOKAnGEgZG9n4oCd IG9yIOKAnHNvbWUgZG9nc+KAnSwgd2hpbGUgJydsZSBnZXJrdScnIGlzIOKAnHRoZSBkb2figJ0g b3Ig4oCcdGhlIGRvZ3PigJ0uIEV2ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1Jycgd291bGQgYmUg 4oCcdGhlIOKAnGRvZyhzKeKAnSDigJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUgYmFzaWMgJydnYWRy aScnLCB0aGVyZSBpcyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRyaScnLCB3aGljaCBJIGhhdmUg dW5jb252ZW50aW9uYWxseSBjYWxsZWQg4oCcY29udmVudGlvbmFs4oCdLiBXaGF0IEkgbWVhbiBi eSB0aGlzIGlzIHRoYXQgaXQncyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGljYWwsIHNp bmNlIGl0IHJlZmVycyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8g YSBwZXJzb24gY2FsbGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVzY3JpYmUg aGVyIGFzIGJlaW5nIGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5 IHN0YXRlIHRoYXQgYnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQgdG8gYnkg dGhhdCBzZWxicmkgb3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgZ2FkcmkgZGVy aXZlZCBmcm9tIGl0IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxpa2UgYW55IG90aGVy ICcnZ2FkcmknJy4gQWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRzIGRvIG5vdCBtZW50aW9u IHRoYXQgbmFtZXMgY2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJyaSB1c2luZyB0aGUg Z2FkcmkgJydsYScnLiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJuOyBzZWxicmkgbmFtZXMg YXJlIGFzIGdvb2QgYXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9qYmFuaXN0IGhhdmUg dGhlbS4KCicnbGEnJywgYXMgd2VsbCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2knJyBhcmUgYSBiaXQg ZWNjZW50cmljLCBzaW5jZSB0aGV5IF9fYWx3YXlzX18gbWFya3MgdGhlIGJlZ2lubmluZyBvZiBh IG5hbWUuIFVubGlrZSB0aGUgb3RoZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQgY2FuIGJlIGdyYW1t YXRpY2FsbHkgcGxhY2VkIGFmdGVyICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIGNvbnNpZGVy ZWQgcGFydCBvZiB0aGUgbmFtZS4gRm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vya3UnJyBpcyAibXkg ZG9nIiwgYnV0ICcnbGEgbWkgZ2Vya3UnJyBpcyBzb21lb25lIGNhbGxlZCAiTXkgRG9nIi4KCgoK VGhlc2UgdGhyZWUgYmFzaWMgJydnYWRyaScnIGNhbiBiZSBleHBhbmRlZCB3aXRoIHRocmVlIG1v cmUsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBwcmV2aW91czoKCgoKX18nJ2xvaScnX18gLSBn YWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1 bHQgYXMgbWFzcyhlcykuCgpfXycnbGVpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFzcyhlcykuCgpfXycn bGFpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0 IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4K CgoKVGhlc2UgYXJlIHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25lOiBUaGV5 IHRyZWF0IHRoZSBzdW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhlcmUgaXMgb25seSBv bmUgb2JqZWN0IGluIHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1hc3MgY29uc2lzdGlu ZyBvZiBvbmUgb2JqZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRo ZXNlIHR3byBjb25jZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBhc2NyaWJlZCB0byBh IGdyb3VwIG9mIGluZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAgb2YgaW5kaXZpZHVh bHMgY2FuIGJlIHNhaWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFuZCBvbmx5IGlmLCBh bGwgbWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVj dCB0byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRlcmVkIGluZGl2aWR1 YWxseSwgYXMgYmVpbmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dzIGl0J3MgdHJ1ZSB0 aGF0IHRoZXkgYXJlIGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5kLCBmaXRzIG9ubHkg dGhvc2Ugc2VsYnJpIHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdob2xlLCBhcyBhIHRl YW0sIHNvIHRvIHNwZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2YgYSBtYXNzICcnbG9p IGdlcmt1JycgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxpY2Fi bGUuIFRoZSBub3Rpb24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJl cyBzb21lIGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhh dmU6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGlu IGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRh bmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxl LCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXQncyBjb21wbGV0 ZWx5IGltcGxhdXNpYmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55IG9uZSBvZiB0aGUg bWVtYmVycyBhbG9uZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDigJxIdW1hbnMgZGVm ZWF0ZWQgc21hbGxwb3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5IG5vIGh1bWFuIGRp ZCBzbywgYnV0IHRoZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1ha2VzIHRoZSBzZW50 ZW5jZSB0cnVlIGluIEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlmIOKAnGh1bWFuc+KA nSBhcmUgYSBtYXNzLiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUgRW5nbGlzaCBtYXNz IOKAnGh1bWFuc+KAnSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBlYWNoIG9mIHdoaWNo IGFyZSBodW1hbi4gQW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19fOiAieDEgaXMgYSBi aW9sb2dpY2FsIGNlbGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19fOiAieDEgaXMgYSBo dW1hbiIKCicnbG9pIG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3NlcyBvZiBjZWxscyBh cmUgaHVtYW4iLiBBZ2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFuLiBJbmRlZWQsIHRo ZSBjZWxscyBoYXZlIHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBjZWxscyBjb25zaWRl cmVkIGFzIGEgd2hvbGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1hZGUgd2l0aCAnJ2xl aScnLCBzdWNoIGFzICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3MgZm9ybWVkIGJ5IGEg Z3JvdXAgb2Ygc3BlY2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2ggdGhlIHNwZWFrZXIg cmVmZXJzIHRvIGFzICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVzY3JpYmVzIGJ5ICcn bGFpJycgYXJlIG9ubHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEgd2hvbGUgaXMgbmFt ZWQgc3VjaCwgYW5kIG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBhcmUuIEl0IGNhbiwg aG93ZXZlciBiZSB1c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5IGEgZnJhY3Rpb24g b2YgdGhhdCBncm91cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgJydsbycn IGFuZCAnJ2xlJycgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRpdmlkdWFscyBhbmQg bWFzc2VzLiBMZXQncyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQgYXMgYSBtYXNzIG5l ZWRzIGRlc2NyaXB0aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhlciAnJ2xvaSBnZXJr dScnIG9yICcnbG8gZ2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFsbG93cyBtZSB0byBj b3JyZWN0bHkgc3RhdGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb250cmFkaWN0aW9u LCBidXQgcmVhbGx5IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAiU29tZSBkb2dzIGFy ZSBub3QgZG9ncyIuIFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1hc3Mgb2YgZG9ncywg dGhlIG1hbnkgZG9ncyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEgZG9nLCBidXQgcmF0 aGVyIGEgcGFjayBvZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IHRoZXJlIGlz IG5vIHdvcmQgd2hpY2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkgdG8gaW5kaXZpZHVh bChzKS4gSW4gb3JkZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVhbG5lc3MsIG9uZSBu ZWVkcyAnJ2xvJycsICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBxdWFudGlmaWVyLiBU aGUgc3ViamVjdCBvZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQgbGF0ZXIsIGluIGxl c3NvbiB0d2VudHktdHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xvJycgYW5kICcnbGUn JyB2YWd1ZSwgYW5kIG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlzIGJlY2F1c2UgdGhl aXIgdmFndWVuZXNzIGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBjb250ZXh0LCB3aXRo b3V0IHRoZSBzcGVha2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVyIGlzIGJlaGF2ZXMg YXMgYSBtYXNzIG9yIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJkIGluIHRoaXMgc2Vy aWVzLCB0aGVyZSBhcmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoKCgpfXycnbG8naScn X18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVh dCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJyds YSdpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0 IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCgoK VW5saWtlIGdyb3VwcyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBtYXNzZXMsIHNldHMg ZG9lcyBub3QgdGFrZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUgb2JqZWN0cyBmcm9t IHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBtYXRoZW1hdGljYWwg b3IgbG9naWNhbCBjb25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtlIGNhcmRpbmFsaXR5 LCBtZW1iZXJzaGlwIGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0aGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIGEgc2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Ygd2hpY2ggdGhlIHNl dCBpcyBmb3JtZWQ6CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIvbGVvcGFyZC9qYWd1 YXIgb2Ygc3BlY2llcy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPigJ0KCicnbG8naSB0 aXJ4dSBjdSBjbWFsdScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJpZyBjYXRzIGFyZSBz bWFsbCAod2hpY2ggaXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSksIGJ1dCBpbnN0ZWFk IHNheSB0aGF0IHRoZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQgaXMgLSB0aGVyZSBh cmUgZmV3IG9mIHRoZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25seSB0d28pIGdlbmVy YWxpemluZyAnJ2dhZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBv ZiAnJ2xvIHtzZWxicml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgZGVzY3JpYmVk L3BlcmNlaXZlZCBhcmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Ygd2hpY2ggdGhlcmUg aXMgbm8gJydsYScnLWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVhbGx5IG1lYW50IGJ5 IHRoZSBhcmNoZXR5cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4gaWRlYWwsIGltYWdp bmVkIGJpZyBjYXQsIHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hpY2ggYmVzdCBleGVt cGxpZmllcyBiaWcgY2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRoYXQgdGhpcyBpbmNs dWRlcyBoYXZpbmcgYSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVtYXRpYyBzdWJncm91 cCBvZiB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5vdCBoYXZlIHN0cmlw ZWQgZnVyLCB0aGUgbGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhlIHR5cGlj YWwgaHVtYW4gZG9lcyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFu cyBkby4gSG93ZXZlciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwg Zm9yIGluc3RhbmNlIGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6CgpfXycna2FrbmUn J19fOiDigJx4MSBpcyBjYXBhYmxlIG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVyIGNpcmN1bXN0YW5j ZSB4M+KAnQoKJydsbydlIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUgdHlw aWNhbCBodW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGUnZScnIHRoZW4sIGlzIHRoZSBp ZGVhbCBvYmplY3QgYXMgcGVyY2VpdmVkIG9yIGRlc2NyaWJlZCBieSB0aGUgc3BlYWtlci4gVGhp cyBuZWVkIG5vdCBiZSBmYWN0dWFsbHkgY29ycmVjdCwgYW5kIGlzIG9mdGVuIHRyYW5zbGF0ZWQg YXMgdGhlIOKAnHN0ZXJlb3R5cGXigJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmdsaXNoIHBocmFzZSBo YXZlIHNvbWUgdW5wbGVhc2FudCBuZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdoaWNoIHRoZSBMb2pi YW4gZG9lcyBub3QuIEluIGZhY3QsIGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5cGljYWwgYXJjaGV0 eXBpY2hhbCBpbWFnZSBvZiBhbnkgY2F0ZWdvcnkuIEluIG90aGVyIHdvcmRzLCAnJ2xvJ2UgcmVt bmEnJyBpcyB0aGUgYXJjaGV0eXBlIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbG8gcmVt bmEnJywgd2hpbGUgdGhlIGFyY2hldHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVz IGFsbCAnJ2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhl IGRpYWdyYW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXppbmcKCnZl cmlkaWNhbHxsb3xsb2l8bG8naXxsbydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8bGUnaXxsZSdlCgpO YW1lfGxhfGxhaXxsYSdpfGRvZXMgbm90IGV4aXN0fHwKCgoKTm90ZTogRWFybGllciwgdGhlcmUg d2FzIGEgd29yZCAnJ3hvJ2UnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBy dWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQs IGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhv cmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywg YW5kICcneG8nZScnIGlzIHVzZWQgYXMgYW4gZWxsaXB0aWNhbCBkaWdpdCAobGVzc29uIG5pbmV0 ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZpZnRlZW4gKHRoZSBMb2piYW4g c3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNlZSB3aGF0IGhhcHBlbnMgaWYgSSB0 cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlwaWNhbCBwZW9wbGUgd2hv IGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhlciBhYm91dCB0aGUgbGFuZ3VhZ2Vz IHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDigJx4MSBpcyBhIGxhbmd1YWdlIHVz ZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p4oCdCgonJ2xlJ2UgcHJlbnUgcG9p IGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgbGUnZSBwcmVu dSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kg bG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ugc2UgYmFuZ3Uga2UnYScn CgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2ZXJzaW9uIGlzIG11Y2ggbG9uZ2Vy IHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGZpcnN0LCBy aWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBlYXRlZCB0d28gbW9yZSB0aW1lcyBp biB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNoIGNhbiByZWZlciB0byBpdCBieSDi gJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVjaCBtb3JlIGVmZmljaWVudGx5LiBX b3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9y IGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNl ISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2EnaScnIG1lYW5pbmcg 4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3ZSByZWZlciB0byB0aGVt IGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0 aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkgaW5zdGVhZCBvZiBub3Vucy4gSW4g ZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8nJyBhbmQgJydtaScnLCBidXQgdGhl cmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBGaXJzdCwgd2Ugd2FudCB0 byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRoZSBvbmVzIG1vc3QgZmFt aWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18n J3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10 aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9fJyd0YScnX18gLSBzdW1rYSdpOiDi gJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgc29tZSBwaHlzaWNhbCBkaXN0YW5j ZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5lcuKAnQoKX18nJ3R1Jydf XyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2lj YWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2Fu IGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVw IG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwg dGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNo IGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlu bHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0 byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRo ZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZp Z2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMg cmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0 dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJvbSBib3RoIHRoZSBzcGVha2VyIGFu ZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBp cyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRoZSBzcGVha2VyIHRhbGtp bmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3NlIHRvIHRoZSBsaXN0ZW5lci4gVGhp cmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQgZGVwZW5kZW50LiBUaGVzZSB0aHJl ZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4dCwgZm9yIGluc3RhbmNl LCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgdW5r bm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdvZXMgYnkuIEZ1cnRoZXJt b3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9pbnQgdG8gYW4gb2JqZWN0IGFuZCBl eHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0aGVyZSBpcyBhIHNlcmll cyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQgJydkbycnIChhbmQgJydrbycnLCBi dXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vta2En aTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0 aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaSdhJydfXyAtIHN1bWth J2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMuCgpfXycnbWEnYScnX18g LSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSwgdGhlIGxpc3RlbmVyKHMpIGFu ZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhlIGxpc3RlbmVyKHMpLgoKX18nJ2Rv J28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMu CgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2lseSBncmFzcGVkIGluIHRoZSBiZWxv dyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10i fQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhjbHVkZWQpLiAnJ2xlIGRyYXRhJycg aXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3RoZXIocynigJ0KCgoKSXQgaXMgcG9z c2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVha2Vyc+KAnSwgaWYgb25l IHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9mIHRoZW0uIFRoZXJlZm9y ZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0aGVyICcnbWknJywgJydt aSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0ZSBvZnRlbiBtZWFucyBp cyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBzaXgsIGlmIHRoZXkgcmVmZXIgdG8g bW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQgbWFzc2VzLiBXaXRoaW4gYnJpZGkt bG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEEgaXMgZXhhY3Rs eSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQiB0byBzcGVha2Vy IEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ugd2lsbCBjb21lIGJhY2sg dG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoK QWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQtc3BlY2lmaWMsIGFuZCBj YW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNl IHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBp biBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0g c3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydyYScnX18gLSBzdW1rYSdp OiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydy dScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVz ZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90 aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJyBj YW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRoYXQgdGhleSBhcmUgc28g ZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIHRvIHRoZSBy dWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBiZWNhdXNlIHlvdSBjb3VsZCBoYXZl IGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5vdCBqdXN0IHJlcGVhdCB0 aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVybWluYXRlZCBzdW10aSwgYW5kIHRo dXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW4gYWJzdHJhY3Rp b24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlvbjogJydsZSBwZW5kbyBub2kga2Un YSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fu bm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwg bm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhleSBhcmUgc3Vta2EnaSwgc28gaXQg cmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQgJydydScnIGFyZSBjb250ZXh0LWRl cGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZvbGxvdyB0aGUgcnVsZXMg bWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyByZWZlciB0byBhIG1vcmUgZGlzdGFu dCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlzIG1vcmUgZGlzdGFudCB0aGFuICcn cmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQg Zm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNp bmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ug dGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2EnJy4gJydyaScnIGlzIG5v dCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xhIC5sb2piYW4uJycuICcncmEnJyBj b3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5seSBiZSB0aG91Z2h0IHRvIHJlZmVy IHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywgYnV0ICcncnUnJyBpcyBhc3N1bWVk IHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUgbW9zdCBvdXRlciBvbmUu fn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJlc2VudCB1dHRlcmFuY2Vz OiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhleSBuZWVkIG5vdCBiZSByZXN0cmlj dGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2FuIGJlIHNldmVyYWwgc2VudGVuY2Vz LCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEndScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJs ZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBQcmV2 aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBUaGlzIHNlbnRl bmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0IHNlbnRlbmNlCgpfXycn ZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2Rh J2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2Rv J2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGU6 IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2VudHMgc2VudGVuY2VzIGFzIHN1bXRp LCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRoZSBsZXR0ZXJzLCBub3Qg dG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJlIGFyZSBtb3JlIExvamJhbiAnJ3N1 bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0u IFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJv bSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRo ZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRo YXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtlJ2EnJyBpcyBhIGxlc3Mg dGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxhbmd1YWdl4oCdLiBUaGlzIGlzIGJl Y2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFnZSB3aGljaCBJIHNwZWFr IGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2YgdGhlIGJyaWRpICcnYmFuZ3UgbWkn Jy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBi YW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJy aWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBz dSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEgbmV3IHgxLCB0aGUgYWJz dHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFjdHMgdGhhdC4gVGhhdCBtYWtlcyBh biBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtlIOKAnHRoYXQgc29tZXRo aW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScnLiAnJ2JlJycgaXMgYSB3b3JkIHdo aWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQgb3RoZXJzKSB0byBhIHNl bGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhhcyBubyBlZmZlY3Q6IGluICcnbWkg bmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsIHdoZW4gYSBz dW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwgeW91IGNhbiB1c2UgYSBnYWRyaSBv biB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0dGluZyBvZmY6ICcnbGUgYmFuZ3Ug YmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gYWJvdmUuIExpa2V3 aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRhcnhpIGtlaSBiZSBnYXUg ZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNhdXNlZCBieSB5b3XigJ0u IE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tlaScnIG1ha2VzIGl0IHBh cnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28gcHJlc2VudCwgJydiZScnIGF0dGFj aGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBhdHRhY2hlcyB0byAnJ2Rh cnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNpc2VkOiBJcyB0aGUgaGl0 dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlvdT8gSW4gdGhpcyBzcGVj aWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpX aGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUg YSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5k YSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0 YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBh cHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgbm8gc2Vuc2UuIEluIG9y ZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0aGUgYWxsIHRoZSBvbmVz IGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3aXRoICcnYmVpJycuIFRoZSDigJxi aW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydiZSdvJycgLSBvbmUgaW5zdGFuY2Ug b2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2Jl JycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRv IHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkg c3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZSdvJydfXyBlbmRzIGJpbmRpbmcg dG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBsb29zZWx5IGFzc29jaWF0ZSBhIHN1 bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBu b24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xlIGJhbmd1IHBlIG1pJycg aXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2XigJ0sIHNpbmNlIHRoaXMg cGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBob3cgdGhlIHR3byBhcmUg YXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycgYW5kICcnbmUnJyBhcmUgdXNlZCBh cyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWluZyDigJxteSBjaGFpcuKAnSBhYm91 dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90IHJlYWxseSB5b3VycywgYnV0IGhh cyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0ZSBjb25uZWN0aW9uIGNh biBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywgd2hpY2ggbWFrZXMgdGhlIGFzc29jaWF0aW9u IHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCcbXkgY2Fy4oCdIGZvciBh IGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0IGtpbmQgb2YgYXNzb2NpYXRvciBp cyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQgImluYWxpZW5hYmxlIiBib25kIGJl dHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5hdGUgYmV0d2VlbiB0aGUg dHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJteSBtb3RoZXIiLCAibXkgYXJtIiBv ciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2VzaW9ucyIgY2FuIGJlIGxv c3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0J3Mgc3RpbGwgX195b3VyX18gYXJt KSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFsbW9zdCBhbGwgb2YgdGhlIHRpbWVz IGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwgdGhlIHgyIG9mIHRoZSBzZWxicmkg Y29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMgY29ubmVjdGVkLCBzbyAnJ2JlJycg aXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAi d2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BlJydfXyByZXN0cmljdGl2ZSByZWxh dGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncG8nJ19fIHBv c3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBzcGVjaWZpYyB0by4uLiIKCl9fJydw bydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBiZWxvbmdzIHRvLi4u IgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93IGlzICcne2dhZHJpfSB7c3VtdGl9 IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAnJ3tnYWRyaX0ge3NlbGJyaX0gcGUg IHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBpcyBlcXVpdmFsZW50IHRv ICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUgZGVzY3JpcHRpb24gc3VtdGkgaW5z aWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBjaW5qaWtjYSBiZSBtaSBr dSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2luamlrY2EgYmUgbWknJyA94oCcdGhl IGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdCdzIG5vdCB2ZXJ5 IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiksIGFuZCBpcyBvZnRl biBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJuICcndHUnYScnLCBzaW5j ZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFzaWVyLiBJdCB0YWtlcyBh IHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1bXRpIC0gYW4gZWxsaXB0aWNhbCBh YnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIGZpcnN0IHN1bXRp LiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamljYSBsbyBudSBtaSBjaXRrYSBsbyBw bGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBjb250ZXh0IHdoYXQgYWJzdHJhY3Rp b24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0IHNheSAnJ21pIGRqaWNhIHR1J2Eg bG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUg c3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28gaXQgc2hvdWxkIG9ubHkgYmUgdXNl ZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVzcy4gQW5vdGhlciBleGFtcGxlOgoK X18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAodm9saXRpb24gbm90IGlt cGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhh dCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R1 J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlJycuIFZhZ3Vl LCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVzZSAn J3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJsZS4gVGhlc2Ugc2l0dWF0 aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3VsdGluZyBzdW10aSB0byBiZSBhbiBh YnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3VtdGkuIEluIHRoaXMgY2FzZSwgb25lIGNhbiB1 c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2YWd1ZSBhYnN0 cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1U SSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0dXJu ZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9fJydsdSdh JydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBpbmRpdmlk dWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNl L3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNz L3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFs KHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0aGUgb3JkZXIgaXMgbm90IHN0YXRl ZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9yd2FyZGx5OiBQbGFjaW5n IHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFrZXMgYSBuZXcgc3VtdGkg b2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBmb3VydGgga2luZCBvZiBz dW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlzIGlzIG5vdCB1c2VkIHZl cnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBi dXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJl cnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxs b3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGlu ZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3Vt dGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywg b3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5n LCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJlZmVycyB0byBzdW10aSBC LiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBmb3Ig4oCcSSBsaWtlIHdo YXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNoIGp1c3QgbWVh bnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCYJ2xhJ2UgbGUgY21hbHUg bm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl4oCdLCBhbmQgbm90IHNv bWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1J2UnJyBkb2VzIHRoZSBl eGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJlZmVycyB0byBhbiBvYmplY3Qgd2hp Y2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScnX18gLSDigJx0aGUgdGhpbmcgcmVm ZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBhIHN1bXRpIEIgd2hpY2gg cmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmluZyB0b+KA nSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hlbiBCIHJlZmVycyB0byBB LgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXByYWN0aWNhbGx5IGxhcmdl IHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBhbmQgdGhpcmQgaW5zdGFsbG1lbnQg Y2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAoKHdhdmVsZXNzb25zY29udGludWVk cDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhlIGxhdHRlcikp LiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9ybWVyIiBvciAidGhlIGxh dHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5LgoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2luZXVyb3RpYyBtYWlsaW5nIGxpc3QK V2lraW5ldXJvdGljQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3dpa2luZXVyb3RpYwo=