Received: from localhost ([::1]:48829 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1U9e2l-0004am-Dl; Sun, 24 Feb 2013 08:03:15 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:56198 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1U9e2b-0004ag-Mp for wikichanges@lojban.org; Sun, 24 Feb 2013 08:03:12 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sun, 24 Feb 2013 08:03:05 -0800 From: "Apache" Date: Sun, 24 Feb 2013 08:03:05 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp3 was changed by klaki at 16:03 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp3 [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinuedp3 changed by klaki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 103044 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMyB3YXMgY2hhbmdlZCBieSBrbGFraSBhdCAx NjowMyBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDMKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAzJmNvbXBhcmU9MSZvbGR2ZXI9MSZuZXd2ZXI9 MgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2Vk IGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczog MS03IGNoYW5nZWQgdG8gK0xpbmVzOiAxLTcgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKIUxvamJhbiBXYXZlIExlc3NvbnMgQ29u dGludWVkIChwYXJ0IHRocmVlKToKLSAhISFieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSBsYSAu a3JpYmFjci4sIGxhIHhhbGJvIGFuZCBvdGhlcnMsIGF1dHVtbiAyMDExLgorICEhIU1hZGUgYnkg bGEga2xha3Ugd2l0aCBoZWxwIGZyb20gdmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUg d29yayBvZiBsYSAua3JpYmFjci4gU3ByaW5nIDIwMTMuCgpXZWxjb21lIHRvIHRoZSB0aGlyZCBw YXJ0IG9mIFRoZSBXYXZlbGVzc29uc2NvbnRpbnVlZC4gSWYgeW91IHdhbnQgdG8gZ28gYmFjayB0 byAoKHdhdmVsZXNzb25zY29udGludWVkfHRoZSBmaXJzdCBwYXJ0KSkgb3IgKCh3YXZlbGVzc29u c2NvbnRpbnVlZHAyfHRoZSBzZWNvbmQgcGFydCkpLCBqdXN0IGNsaWNrIG9uIHRoZSB3b3JkcyBy ZXByZXNlbnRpbmcgdGhlbSBpbiB0aGlzIHNlbnRlbmNlLiBUaGlzIHRoaXJkIHBhcnQgaXMgYWJv dXQgYWR2YW5jZWQgTG9qYmFuLiBUaGUgTG9qYmFuIGluIHRoaXMgcGFydCBpcyByYXJlbHkgcmVs ZXZhbnQgd2hlbiBzcGVha2luZyBMb2piYW4gaW4gbm9ybWFsIGNvbnRleHRzLCBidXQgaXQgcG9w cyB1cCBxdWl0ZSBvZnRlbiB3aGVuIHNwZWFraW5nIGFib3V0IGxhbmd1YWdlIGFuZCBsb2dpYy4g Ci0gVGhlc2UgY29ybmVycyBvZiBMb2piYW4gaXMgZm9yIHRoZSBtb3N0IHBhcnQgZXhwZXJpbWVu dGFsLCBuZXcgYW5kIGNvbXBsZXgsIHNvIHlvdSBzaG91bGQgZXhwZWN0IGEgbG90IG9mIGNoYW5n aW5nIGRlZmluaXRpb25zLCBvdXRkYXRlZCBkZWZpbml0aW9ucyBhbmQgbWlzdW5kZXJzdGFuZGlu Z3Mgb24gdGhlIHBhcnQgb2YgdGhlIGF1dGhvciBvZiB0aGlzIHRleHQuCisgVGhlc2UgY29ybmVy cyBvZiBMb2piYW4gaXMgZm9yIHRoZSBtb3N0IHBhcnQgZXhwZXJpbWVudGFsLCBuZXcgb3IgY29t cGxleCwgc28geW91IHNob3VsZCBleHBlY3QgYSBsb3Qgb2YgY2hhbmdpbmcgZGVmaW5pdGlvbnMs IG91dGRhdGVkIGRlZmluaXRpb25zLCBkaXNhZ3JlZW1lbnRzIGFuZCBtaXN1bmRlcnN0YW5kaW5n cyBvbiB0aGUgcGFydCBvZiB0aGUgYXV0aG9yIG9mIHRoaXMgdGV4dC4gU29ycnkgYWJvdXQgdGhh dC4KCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXNldmVuIChsb2piYW4gbG9naWM6 IGRhLCBidSdhLCB6byd1IGFuZCB0ZXJtcykKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNDEtNDQgY2hhbmdlZCB0 byArTGluZXM6IDQxLTQ1IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rClRoZXJlIGFyZSBhIGZldyBzcGVjaWZpYyBydWxlcyB0byB0 aGVzZSBleGlzdGVudGlhbCBwcm8tc3VtdGk6Ci0gSWYgdGhlIHF1YW50aWZpZXIgJydybycnIGlz IHVzZWQgYmVmb3JlICcnZGEnJywgaXQgaW5zdGVhZCByZWZlcnMgdG8gImFsbCB3aGljaCBleGlz dHMiLiAgCisgLSBJbXBvcnRhbnRseSwgdGhlIHVzYWdlIG9mIGFuIGV4aXN0ZW50aWFsIHByby1z dW10aSBvbmx5IGFzc2VydHMgdGhhdCBzdWNoIGEgdGhpbmcgZXhpc3RzIF9faW4gdGhlIGRvbWFp biBvZiB0cnV0aCB3aGVyZSBpdCdzIHVzZWRfXy4gVGh1cywgaW4gdGhlIHNlbnRlbmNlICcnc28n ZSB2ZXJiYSBjdSBrcmljaSBsbyBkdSd1IHN1J28gZGEgY3JpZGEnJywgZG9lcyBub3Qgc3RhdGUg JydkYSBjcmlkYScnLCBzaW5jZSBpdHMgImRvbWFpbiBvZiB0cnV0aCIgaXMgb25seSBpbnNpZGUg dGhlIGR1J3UtYWJzdHJhY3Rpb24uIEdlbmVyYWxseSBzcGVha2luZywgYWJzdHJhY3Rpb25zIGNv bnRhaW4gdGhlaXIgb3duIGRvbWFpbiBvZiB0cnV0aCwgc28gdXNpbmcgJydkYScnIGFuZCBmcmll bmRzIGluc2lkZSBhbiBhYnN0cmFjdGlvbiBpcyB1c3VhbGx5IHNhZmUuCi0gSWYgdGhlIHNhbWUg dmFyaWFibGUgaXMgcXVhbnRpZmllZCBzZXZlcmFsIHRpbWVzLCB0aGUgZmlyc3QgcXVhbnRpZmlj YXRpb24gaXMgdGhlIG9uZSB3aGljaCBzdGlja3M6IEFueSBsYXRlciBxdWFudGlmaWVkIGluc3Rh bmNlIG9mIHRoYXQgdmFyaWFibGUgY2FuIHJlZmVyIG9ubHkgdG8gdGhpbmdzIHdoaWNoIGFyZSBh bHNvIGJlaW5nIHJlZmVycmVkIHRvIGJ5IHRoZSBmaXJzdCBpbnN0YW5jZSBvZiB0aGF0IHZhcmlh YmxlLCBhbmQgYW55IGxhdGVyIG5vbi1xdWFudGlmaWVkIGluc3RhbmNlIG9mIHRoYXQgdmFyaWFi bGUgd2lsbCBnYWluIHRoZSBmaXJzdCBxdWFudGlmaWVyLiBUbyB1c2UgYW4gZXhhbXBsZTogJydj aSBkYSB6byd1IHJlIGRhIGJhcmRhIC5pamUgZGEgcGVseHUnJyBtZWFucyAiVGhlcmUgZXhpc3Rz IHRocmVlIHRoaW5ncyBzdWNoIHRoYXQgdHdvIG9mIHRoZW0gYXJlIGJpZyBhbmQgYWxsIHRocmVl IGFyZSB5ZWxsb3ciLiAnJ3JlIGRhJycsIGJlaW5nIGFmdGVyICcnY2kgZGEnJywgY2FuIG9ubHkg cmVmZXIgdG8gdHdvIG9mIHRoZSBhbHJlYWR5IHN0YXRlZCB0aHJlZSB0aGluZ3MuIFdoZW4gJydk YScnIGFwcGVhcnMgd2l0aG91dCBhIHF1YW50aWZpZXIsICcnY2knJyBpcyBhc3N1bWVkLgotIElm IHRoZXJlIGFyZSBzZXZlcmFsIHRlcm1zIGluIHRoZSBwcmVuZXgsIHRoZSB0ZXJtcyBhcmUgYWx3 YXlzIHJlYWQgbGVmdCB0byByaWdodC4gU29tZXRpbWVzLCB0aGlzIG1hdHRlcnM6ICcncm8gZGEg ZGUgem8ndSBkYSBwcmFtaSBkZScnIG1lYW5zICJDb25jZXJuaW5nIGFsbCB0aGUgdGhpbmdzIFgg dGhhdCBleGlzdHMsIGNvbmNlcm5pbmcgYXQgbGVhc3Qgb25lIHRoaW5nIFk6IFggbG92ZXMgWSIu IFRoaXMgaXMgdGhlIHNhbWUgYXMgIkFsbCB0aGluZ3MgbG92ZSBhdCBsZWFzdCBvbmUgdGhpbmcu Iiwgd2hlcmUgdGhlICJ0aGluZyhzKSIgY2FuIGJlIGFueXRoaW5nLCBpbmNsdWRpbmcgdGhlIHRo aW5nIGl0c2VsZi4gTm90ZSBoZXJlIHRoYXQgJydkZScnIGNhbiByZWZlciB0byBkaWZmZXJlbnQg dGhpbmdzIGZvciBlYWNoICcnZGEnJyAtIHRoZSB0aGluZyB3aGljaCBpcyByZWZlcnJlZCB0byBi eSAnJ2RlJycgaXMgZGVwZW5kZW50IG9uIHRoZSAnJ2RhJycsIHNpbmNlIGl0IGNhbWUgYmVmb3Jl IGl0IGluIHRoZSBwcmVuZXgsIHRoZXJlZm9yZSBlYWNoIHRoaW5nIG1pZ2h0IGxvdmUgc29tZXRo aW5nIGRpZmZlcmVudC4gSWYgd2Ugc3dpdGNoZWQgdGhlIHBsYWNlcyBvZiAnJ2RhJycgYW5kICcn ZGUnJyBpbiB0aGUgcHJlbmV4LCBhIGRpZmZlcmVudCByZXN1bHQgd291bGQgYXJpc2U6ICcnZGUg cm8gZGEgem8ndSBkYSBwcmFtaSBkZScnID0gIkNvbmNlcm5pbmcgYXQgbGVhc3Qgb25lIHRoaW5n IFksIGNvbmNlcm5pbmcgYWxsIFggd2hpY2ggZXhpc3RzOiBYIGxvdmVzIFkiLCBtZWFuaW5nICJU aGVyZSBleGlzdHMgYXQgbGVhc3Qgb25lIHRoaW5nIHdoaWNoIGV2ZXJ5dGhpbmcgbG92ZXMiLgoK Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSsKQEAgLUxpbmVzOiA2MS0xMzggY2hhbmdlZCB0byArTGluZXM6IDYyLTIxNSBAQAorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpTaW5j ZSBvbmx5IHRlcm1zIGNhbiBnbyBpbiB0aGUgcHJlbmV4LCB0aGVzZSBwcm8tYnJpZGkgbmVlZCB0 byBoYXZlIGEgcXVhbnRpZmllciBpbiBvcmRlciB0byBtYWtlIHRoZW0gaW50byBzdW10aS4gV2hl biBxdWFudGlmaWVkIGluIHRoZSBwcmVuZXgsIGhvd2V2ZXIsIHRoZSBxdWFudGlmaWVyIHdvcmtz IHZlcnkgZGlmZmVyZW50IGZyb20gcXVhbnRpZmllcnMgd2l0aCBub3JtYWwgc2VsYnJpOiBJbnN0 ZWFkIG9mIHF1YW50aWZ5aW5nIHRoZSBhbW91bnQgb2YgdGhpbmdzIHdoaWNoIGZpdHMgdGhlIHgx IG9mIHRoZSBzZWxicmkgdmFyaWFibGUsIGl0IGRpcmVjdGx5IHF1YW50aWZpZXMgdGhlIGFtb3Vu dCBvZiBzZWxicmkgd2hpY2ggYXBwbGllcy4gQWdhaW4sIHRoZSBkZWZhdWx0IHF1YW50aWZpZXIg aXMgJydzbyd1JycuIFRodXMsIGluc3RlYWQgb2YgJydyZSBidSdhIHpvJ3UnJyBtZWFuaW5nICJD b25jZXJuaW5nIHR3byB0aGluZ3Mgd2hpY2ggaXMgaW4gcmVsYXRpb25zaGlwIFg6IiwgaXQgbWVh bnMgIkNvbmNlcm5pbmcgdHdvIHJlbGF0aW9uc2hpcHMgWDoiCgotIEl0J3MgcHJvYmFibHkgZ29v ZCB0byBzZWUgYW4gZXhhbXBsZSBwZiAnJ2J1J2EnJyBwdXQgdG8gcHJhY3RpY2U6CisgSXQncyBw cm9iYWJseSBnb29kIHRvIHNlZSBhbiBleGFtcGxlIG9mICcnYnUnYScnIHB1dCB0byBwcmFjdGlj ZToKJydybyBkYSBidSdhIGxhIC5iYWIuJycgPSAiQ29uc2lkZXJpbmcgYWxsIFggd2hpY2ggZXhp c3RzOiBYIGlzIGluIGF0IGxlYXN0IG9uZSByZWxhdGlvbnNoaXAgd2l0aCBCb2IiID0gIkV2ZXJ5 dGhpbmcgaXMgcmVsYXRlZCB0byBCb2IgaW4gYXQgbGVhc3Qgb25lIHdheS4iLiBOb3RpY2UgYWdh aW4gdGhlIG9yZGVyIG1hdHRlcnM6ICcnYnUnYSBybyBkYSB6byd1IGRhIGJ1J2EgQm9iJycgbWVh bnM6ICJUaGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVsYXRpb25zaGlwIHN1Y2ggdGhhdCBldmVyeXRo aW5nIHRoYXQgZXhpc3RzIGlzIGluIHRoYXQgcmVsYXRpb25zaGlwIHdpdGggQm9iIi4gVGhlIGZp cnN0IHN0YXRlbWVudCBpcyB0cnVlIC0gZm9yIGFueSBvbmUgdGhpbmcsIG9uZSBjYW4gaW5kZWVk IG1ha2UgdXAgc29tZSBzZWxicmkgd2hpY2ggcmVsYXRlcyBhbnkgZ3V5IGNhbGxlZCBCb2IgYW5k IGl0LiBCdXQgSSdtIG5vdCBzdXJlIHRoZSBsYXR0ZXIgaXMgdHJ1ZSAtIHRoYXQgb25lIGNhbiBt YWtlIGEgc2VsYnJpIHdoaWNoIGNhbiByZWxhdGUgYW55dGhpbmcsIG5vIG1hdHRlciB3aGF0IGl0 IGlzLCBhbmQgQm9iLgoKTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdoaWNoIHF1YW50aWZpZXMgc2Vs YnJpOgonJ2NpJ2kgYnUnZSB6byd1IG1pIGJ1J2UgZG8nJyAtICJDb25jZXJuaW5nIGFuIGluZmlu aXRlIGFtb3VudCBvZiByZWxhdGlvbnNoaXBzOiBJIGFtIGluIGFsbCB0aG9zZSByZWxhdGlvbnNo aXAgd2l0aCB5b3UuIiBvciAiVGhlcmUgZXhpc3RzIGFuIGluZmluaXRlIGFtb3VudCBvZiByZWxh dGlvbnNoaXBzIGJldHdlZW4gdXMiCi0gWW91IGNhbid0IHF1YW50aWZ5IHRoZSBzZWxicmkgdmFy aWFibGVzIGluIHRoZSBicmlkaSBpdHNlbGYsIHRob3VnaC4gVGhlbiBpdCB3aWxsIGFjdCBhcyBh IHN1bXRpOiAnJ21pIGNpJ2kgYnUnYSBkbycnIGlzIG5vdCBhIGJyaWRpLgorIFlvdSBjYW4ndCBx dWFudGlmeSB0aGUgc2VsYnJpIHZhcmlhYmxlcyBpbiB0aGUgYnJpZGkgaXRzZWxmLCB0aG91Z2gu IFRoZW4gaXQgd2lsbCBhY3QgYXMgYSBzdW10aTogJydtaSBjaSdpIGJ1J2EgZG8nJyBpcyBub3Qg YSBicmlkaS4gVGhlcmUgYXJlIHNvbWUgc2l0dWF0aW9uIHdoZXJlIHRoaXMgd2lsbCBiZWNvbWUg cHJvYmxlbWF0aWMgLSBsZXNzb24gdHdlbnR5LW5pbmUgd2lsbCB0ZWFjaCBob3cgdG8gb3ZlcmNv bWUgdGhvc2UgcHJvYmxlbXMuCgotICEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWVp Z2h0IChub3RlcyBvbiBhYnN0cmFjdG9ycyk8YnIgLz5UaGUgbm90aW9uIG9mIGFic3RyYWN0aW9u cyBhbmQgYWJzdHJhY3RvcnMgaXMgcXVpdGUgZnVuZGFtZW50YWwgdG8gTG9qYmFuLCBhbmQgeW91 IGhhdmUgYWxyZWFkeSBsZWFybmVkIHRoZSBtZWNoYW5pc20gdHdlbnR5LXR3byBsZXNzb25zIGFn by4gVGhlcmUgYXJlLCBob3dldmVyLCBtYW55IGFic3RyYWN0b3JzIHdpdGggc2xpZ2h0bHkgZGlm ZmVyZW50IHNlbWFudGljIG1lYW5pbmcgdG8gZXhwbG9yZSwgYXMgd2VsbCBhcyBhIHNpbmdsZSBp bXBvcnRhbnQgbWVjaGFuaXNtIHdoaWNoIGhhcyBub3QgYmVlbiBjb3ZlcmVkIHlldC4gSW4gdGhp cyBsZXNzb24sIGFsbCB0d2VsdmUgYWJzdHJhY3RvcnMgd2lsbCBiZSBlbGFib3JhdGVkIG9uLiBU aGUgZmEnb3JtYSdvIGZvciBhbGwgb2YgdGhlc2UgaXMgJydrZWknJy4KKyAhIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIHR3ZW50eS1laWdodCAoc2VtYW50aWNzIG9mIHNpbXBsZSBhYnN0cmFjdGlv bnMpPGJyIC8+SSBmZWVsIGl0IGlzIG5lY2Vzc2FyeSB0byByZXBlYXQgcGFydCBvZiB0aGUgZGlz Y2xhaW1lciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBwYXJ0IG9mIHRoZSBXYXZlbGVzc29u c2NvbnRpbnVlZDogV2hhdCB5b3UgZmluZCBpbiB0aGlzIGxlc3NvbiBhbmQgdGhlIGZvbGxvd2lu ZyBpcyBub3QgZ29sZGVuIEJQRkstZGVmaW5pdGlvbnMsIGJ1dCBvbmUgaW50ZXJwcmV0YXRpb24u IEkgaGF2ZSBwaWVjZWQgdGhlIGxlc3NvbnMgdG9nZXRoZXIgZnJvbSB0aGUgYmVzdCBhbmQgbW9z dCBjb25zaXN0ZW50IHRoZW9yaWVzIG9uIExvamJhbiwgYnV0IG1pbmQgdGhhdCB3aGF0IGlzIHRh dWdodCBpbiBoZXJlIG1pZ2h0IG5vdCBiZSB3aGF0IGFsbCBsb2piYW5pc3RzIGFncmVlIG9uLjxi ciAvPldoaWxlIHlvdSBoYXZlIGJlZW4gdGF1Z2h0IGFib3V0IGFic3RyYWN0aW9ucyB0d2VudHkt dHdvIGxlc3NvbnMgYWdvLCB0aGVyZSBhcmUgc3RpbGwgbWFueSB0eXBlcyBvZiBhYnN0cmFjdGlv biB3aXRoIHdoaWNoIHlvdSBhcmUgdW5mYW1pbGlhciwgYW5kIHNvbWUgb2YgdGhlIG9uZXMgeW91 IGFyZSBmYW1pbGlhciB3aXRoIGhhdmUgbm90IGJlZW4gcHJvcGVybHkgZGVmaW5lZC4KCi0gVGhl IGZpcnN0IGFuZCBtb3N0IGJhc2ljIGFic3RyYWN0b3IgaXMgJydzdSd1JycsIHdoaWNoIHlvdSBh bHJlYWR5IGtub3cuCisgVGhlIGZpcnN0IGFuZCBtb3N0IGJhc2ljIGFic3RyYWN0b3IgaXMgJydz dXUnJywgd2hpY2ggeW91IGFscmVhZHkga25vdy4KWW91IG1pZ2h0IHJlbWVtYmVyIGZyb20gbGVz c29uIHNpeCB0aGF0ICcnc3UndScnIGhhZCBhIHBsYWNlIHN0cnVjdHVyZSB3aXRoIHR3byBzdW10 aSBwbGFjZXMuIFRoZSBzZWNvbmQgc3VtdGkgcGxhY2Ugb2YgJydzdSd1JycgbWFrZXMgdGhlIHdv cmQgdmVyc2F0aWxlLCBhcyB0aGUgeDIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBob3cgdGhlIGFi c3RyYWN0aW9uIHNob3VsZCBiZSBjb25zaWRlcmVkLgotIFRoZSBFbmdsaXNoIHBocmFzZSB0aGF0 IEkgbG92ZSB5b3UgaXMgZGVmaW5pdGVseSBhIHN1bXRpLCBzaW5jZSBpdCdzIG1lYW50IHRvIGZ1 bmN0aW9uIGFzIGEgc3ViamVjdCBvciBvYmplY3QgaW4gYSBzZW50ZW5jZS4gSXQncyBhbHNvIGNs ZWFybHkgbWFkZSBmcm9tIGFuIGFic3RyYWN0aW9uLiBJdCBjYW4gdGhlcmVmb3JlIGJlIHRyYW5z bGF0ZWQgKCcnbG8nJy8nJ2xlJycpICcnc3UndSBtaSBkbyBwcmFtaScnLiBXaXRob3V0IHRoZSBj b250ZXh0IG9mIHRoZSBFbmdsaXNoIHNlbnRlbmNlLCB0aG91Z2gsIGl0J3MgaGFyZCB0byBndWVz cyB3aGF0IGtpbmQgb2YgYWJzdHJhY3Rpb24gd2FzIG1lYW50LiBJIHdpbGwgZGllIGhhcHB5IGJ5 IHRoZSB0aW1lIHRoYXQgSSBsb3ZlIHlvdS4gdHJlYXRzIHRoZSBhYnN0cmFjdGlvbiBsaWtlIGFu IGV2ZW50IGhhcHBlbmluZyBpbiB0aW1lLiBUaGUgdHJ1dGggaXMgdGhhdCBJIGxvdmUgeW91LiB0 cmVhdHMgdGhlIGFic3RyYWN0aW9uIGxpa2UgYSBicmlkaSwgd2hpY2ggY2FuIGJlIGNvbnNpZGVy ZWQgdHJ1ZSBvciBmYWxzZS4gSW4gdGhlIHNlbnRlbmNlIFRoZSBtb3N0IGJlYXV0aWZ1bCB0aGlu ZyBpbiB0aGUgd29ybGQgaXMgdGhlIGlkZWEgdGhhdCBJIGxvdmUgeW91LCB0aGUgYWJzdHJhY3Rp b24gaXMgY29uc2lkZXJlZCBhbiBhYnN0cmFjdCBjb25jZXB0LiBVc2luZyB0aGUgc2Vjb25kIHN1 bXRpIHBsYWNlIG9mICcnc3UndScnLCB0aGVzZSBjYW4gYmUgZXhwbGljaXRseSBkaXN0aW5ndWlz aGVkIGJldHdlZW46PGJyIC8+JydsZSBzdSd1IG1pIGRvIHByYW1pIGtlaSBiZSBsbyBmYXNudScn IGlzIGFuIGV2ZW50LjxiciAvPicnbGUgc3UndSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gYnJpZGkn JyBpcyBhIGJyaWRpLjxiciAvPicnbGUgc3UndSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gc2lkYm8n JyBpcyBhIGNvbmNlcHQuCisgVGhlIEVuZ2xpc2ggcGhyYXNlIHRoYXQgSSBsb3ZlIHlvdSBpcyBk ZWZpbml0ZWx5IGEgc3VtdGksIHNpbmNlIGl0cyBtZWFudCB0byBmdW5jdGlvbiBhcyBhIHN1Ympl Y3Qgb3Igb2JqZWN0IGluIGEgc2VudGVuY2UuIEl0cyBhbHNvIGNsZWFybHkgbWFkZSBmcm9tIGFu IGFic3RyYWN0aW9uLiBJdCBjYW4gdGhlcmVmb3JlIGJlIHRyYW5zbGF0ZWQgJydsbyBzdXUgbWkg ZG8gcHJhbWknJy4gV2l0aG91dCB0aGUgY29udGV4dCBvZiB0aGUgRW5nbGlzaCBzZW50ZW5jZSwg dGhvdWdoLCBpdHMgaGFyZCB0byBndWVzcyB3aGF0IGtpbmQgb2YgYWJzdHJhY3Rpb24gd2FzIG1l YW50LiBJIHdpbGwgZGllIGhhcHB5IGJ5IHRoZSB0aW1lIHRoYXQgSSBsb3ZlIHlvdS4gdHJlYXRz IHRoZSBhYnN0cmFjdGlvbiBhcyBhbiBldmVudCBoYXBwZW5pbmcgaW4gdGltZS4gVGhlIHRydXRo IGlzIHRoYXQgSSBsb3ZlIHlvdS4gdHJlYXRzIHRoZSBhYnN0cmFjdGlvbiBsaWtlIGEgYnJpZGks IHdoaWNoIGNhbiBiZSBjb25zaWRlcmVkIHRydWUgb3IgZmFsc2UuICZxdW90O1lvdSBkb24ndCBr bm93IGhvdyBtdWNoIEkgbG92ZSB5b3UmcXVvdDsgdHJlYXRzIHRoZSAoYWxtb3N0IHNhbWUpIGFi c3RyYWN0aW9uIGFzIGFuIGFtb3VudC4gVXNpbmcgdGhlIHNlY29uZCBzdW10aSBwbGFjZSBvZiAn J3N1dScnLCB0aGVzZSBjYW4gYmUgZXhwbGljaXRseSBkaXN0aW5ndWlzaGVkIGJldHdlZW46PGJy IC8+JydsbyBzdXUgbWkgZG8gcHJhbWkga2VpIGJlIGxvIGZhc251JycgaXMgYW4gZXZlbnQuPGJy IC8+JydsbyBzdXUgbWkgZG8gcHJhbWkga2VpIGJlIGxvIGJyaWRpJycgaXMgYSBicmlkaS48YnIg Lz4nJ2xvIHN1dSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8ga2xhbmknJyBpcyBhbiBhbW91bnQuCgot IFVzaW5nICcnc3UndScnIHRoaXMgd2F5LCB0aGUgc2VtYW50aWMsIHRob3VnaCBub3QgZ3JhbW1h dGljYWwsIHJhbmdlIG9mIGFsbCBhYnN0cmFjdG9ycyBjYW4gYmUgY292ZXJlZC4gTW9yZSB1c3Vh bGx5LCB0aG91Z2gsIG90aGVyIGFic3RyYWN0b3JzIGFyZSB1c2VkLiAnJ251JycsIHdoaWNoIHlv dSBhbHNvIGtub3csIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gYXMgYW4gZXZlbnQuCisgVXNpbmcg JydzdXUnJyB0aGlzIHdheSwgdGhlIHNlbWFudGljLCB0aG91Z2ggbm90IGdyYW1tYXRpY2FsLCBy YW5nZSBvZiBhbGwgYWJzdHJhY3RvcnMgY2FuIGJlIGNvdmVyZWQuIE1vcmUgdXN1YWxseSwgdGhv dWdoLCBvdGhlciBhYnN0cmFjdG9ycyBhcmUgdXNlZC4gJydudScnLCB3aGljaCB5b3UgYWxzbyBr bm93LCB0cmVhdHMgdGhlIGFic3RyYWN0aW9uIGFzIGFuIGV2ZW50LgpfXycnbnUnJ19fIHgxIGlz IGFuIGV2ZW50IG9mIEJSSURJCgotIFRoZXJlIGFyZSBtYW55IHdheXMgdG8gdmlldyBhbiBldmVu dCwgYW5kIHNvIHRoZXJlIGFyZSBmb3VyIG90aGVyIGFic3RyYWN0b3JzIHdob3NlIHNlbWFudGlj IGFyZSBhbGwgY292ZXJlZCBieSBudSwgYnV0IG1vcmUgc3BlY2lmaWMuPGJyIC8+X18nJ211J2Un J19fIHgxIGlzIGEgcG9pbnQtbGlrZSBldmVudCBvZiBCUklESSBoYXBwZW5pbmc8YnIgLz5fXycn emEnaScnX18geDEgaXMgYSBzdGF0ZSBvZiBCUklESSBiZWluZyB0cnVlPGJyIC8+X18nJ3B1J3Un J19fIHgxIGlzIGEgcHJvY2VzcyBvZiBCUklESSB1bmZvbGRpbmcgdGhyb3VnaCBzdGFnZXMgeDI8 YnIgLz5fXycnenUnbycnX18geDEgaXMgYW4gYWN0aXZpdHkgb2YgQlJJREkgY29uc2lzdGluZyBv ZiB0aGUgcmVwZWF0ZWQgZXZlbnQgb2YgeDIKKyBUaGVyZSBhcmUgbWFueSB3YXlzIHRvIHZpZXcg YW4gZXZlbnQsIGFuZCBzbyB0aGVyZSBhcmUgZm91ciBvdGhlciBhYnN0cmFjdG9ycyB3aG9zZSBz ZW1hbnRpY3MgYXJlIGFsbCBjb3ZlcmVkIGJ5ICcnbnUnJywgYnV0IG1vcmUgc3BlY2lmaWMuPGJy IC8+X18nJ211ZScnX18geDEgaXMgYSBwb2ludC1saWtlIGV2ZW50IG9mIEJSSURJIGhhcHBlbmlu ZzxiciAvPl9fJyd6YWknJ19fIHgxIGlzIGEgc3RhdGUgb2YgQlJJREkgYmVpbmcgdHJ1ZTxiciAv Pl9fJydwdXUnJ19fIHgxIGlzIGEgcHJvY2VzcyBvZiBCUklESSB1bmZvbGRpbmcgdGhyb3VnaCBz dGFnZXMgeDI8YnIgLz5fXycnenVvJydfXyB4MSBpcyBhbiBhY3Rpdml0eSBvZiBCUklESSBjb25z aXN0aW5nIG9mIHRoZSByZXBlYXRlZCBldmVudCBvZiB4MgoKLSBUaGUgdW5kZXJzdGFuZGluZyBv ZiB0aGVzZSBhYnN0cmFjdG9ycyBpcyB0aWVkIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIGV2ZW50 IGNvbnRvdXJzLiAnJ211J2UnJyBpcyBha2luIHRvIHRoZSBldmVudCBjb250b3VyICcnY28naScn IGluIHRoZSBzZW5zZSB0aGF0IGJvdGggdHJlYXQgdGhlIGJyaWRpIGFzIHBvaW50LWxpa2UgaW4g dGltZSBhbmQgc3BhY2U6PGJyIC8+JydsZSBtdSdlIG1pIGthbnJvIGJpbnhvIGN1IHNlIGRqaWNh IG1pJycgIE1lIGJlY29taW5nIGhlYWx0aHkgaXMgZGVzaXJlZCBieSBtZSBoYXMgdGhlIHNlbWFu dGljIG1lYW5pbmcgdGhhdCB0aGUgcHJvY2VzcyBvZiBiZWNvbWluZyBoZWFsdGh5IGlzIG5vdCBi ZWluZyBjb25zaWRlcmVkLiBJZiBpdCBjb25zaXN0cyBvZiBjaGVtb3RoZXJhcHksIGl0IGlzIHBs YXVzaWJsZSB0aGF0IHRoaXMgcHJvY2VzcyBpcyBub3QgZGVzaXJlZCBhdCBhbGwuIEJlY29taW5n IGhlYWx0aHksIGluIGEgcG9pbnQtbGlrZSBzZW5zZSBpcyBkZXNpcmVkLCBob3dldmVyLgorIFRo ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZXNlIGFic3RyYWN0b3JzIGlzIHRpZWQgdG8gdGhlIHVuZGVy c3RhbmRpbmcgb2YgZXZlbnQgY29udG91cnMuICcnbXVlJycgaXMgYWtpbiB0byB0aGUgZXZlbnQg Y29udG91ciAnJ2NvaScnIGluIHRoZSBzZW5zZSB0aGF0IGJvdGggdHJlYXQgdGhlIGJyaWRpIGFz IHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3BhY2U6PGJyIC8+JydsZSBtdWUgbWkga2Fucm8gYmlu eG8gY3Ugc2UgZGppY2EgbWknJyAgTWUgYmVjb21pbmcgaGVhbHRoeSBpcyBkZXNpcmVkIGJ5IG1l IGhhcyB0aGUgc2VtYW50aWMgbWVhbmluZyB0aGF0IHRoZSBwcm9jZXNzIG9mIGJlY29taW5nIGhl YWx0aHkgaXMgbm90IGJlaW5nIGNvbnNpZGVyZWQuIElmIGl0IGNvbnNpc3RzIG9mIGNoZW1vdGhl cmFweSwgaXQgaXMgcGxhdXNpYmxlIHRoYXQgdGhpcyBwcm9jZXNzIGlzIG5vdCBkZXNpcmVkIGF0 IGFsbC4gQmVjb21pbmcgaGVhbHRoeSwgaW4gYSBwb2ludC1saWtlIHNlbnNlIGlzIGRlc2lyZWQs IGhvd2V2ZXIuCgotICcnemEnaScnIGlzIGxpa2UgdGhlIGV2ZW50IGNvbnRvdXIgJydjYSdvJycg aW4gdGhlIHNlbnNlIHRoYXQgJydsZSB6YSdpIEJSSURJJycgYmVnaW5zIHRvIGFwcGx5IHdoZW4g dGhlIGJyaWRpIGJlZ2lucyBhbmQgc2hhcnBseSBlbmRzIHdoZW4gdGhlIGJyaWRpIGNlYXNlcyB0 byBiZSB0cnVlLCBtdWNoIGxpa2UgJydjYSdvJycuPGJyIC8+Jyd6YSdvIHphJ2kgbWkga2Fucm8g YmlueG8nJyBtZWFucyB0aGF0IHRoZSBzdGF0ZSBvZiBtZSBiZWNvbWluZyBoZWFsdGh5IHRvb2sg dG9vIGxvbmcgdGltZTsgdGhhdCB0aGUgdGltZSBiZXR3ZWVuIG15IGhlYWx0aCBiZWdpbm5pbmcg dG8gaW1wcm92ZSBhbmQgYmUgYWN0dWFsbHkgYmVpbmcgaGVhbHRoeSB3YXMgbG9uZy13aW5kZWQu CisgJyd6YWknJyBpcyBsaWtlIHRoZSBldmVudCBjb250b3VyICcnY2FvJycgaW4gdGhlIHNlbnNl IHRoYXQgJydsZSB6YWkgQlJJREknJyBiZWdpbnMgdG8gYXBwbHkgd2hlbiB0aGUgYnJpZGkgYmVn aW5zIGFuZCBzaGFycGx5IGVuZHMgd2hlbiB0aGUgYnJpZGkgY2Vhc2VzIHRvIGJlIHRydWUsIG11 Y2ggbGlrZSAnJ2NhbycnLiA8YnIgLz4nJ3phbyB6YWkgbWkga2Fucm8gYmlueG8nJyBtZWFucyB0 aGF0IHRoZSBzdGF0ZSBvZiBtZSBiZWNvbWluZyBoZWFsdGh5IHRvb2sgdG9vIGxvbmcgdGltZTsg dGhhdCB0aGUgdGltZSBiZXR3ZWVuIG15IGhlYWx0aCBiZWdpbm5pbmcgdG8gaW1wcm92ZSBhbmQg YmUgYWN0dWFsbHkgYmVpbmcgaGVhbHRoeSB3YXMgbG9uZy13aW5kZWQuCgotIFRoZSBhY3R1YWwg dHJlYXRtZW50IGlzIHBlcmhhcHMgYmV0dGVyIGNhdWdodCBieSAnJ3B1J3UnJywgd2hpY2gsIGxp a2UgZXZlbnQgY29udG91cnMgaW4gZ2VuZXJhbCwgcHV0cyBlbXBoYXNpcyBvbiB0aGUgZW50aXJl IGV2ZW50IGFzIHVuZm9sZGluZyB0aHJvdWdoIHRpbWUuICcnLmlpIGJhIHppIGNvJ2EgcHUndSBt aSBrYW5ybyBiaW54byB2YXUgLm9pJycgZXhwcmVzc2VzIGZlYXIgdGhhdCB0aGUgcGFpbmZ1bCBw cm9jZXNzIG9mIGJlY29taW5nIGhlYWx0aHkgaXMgYWJvdXQgdG8gYmVnaW4uVGhlIHgyIGlzIGZp bGxlZCBieSBhIHNlcXVlbmNlIG9mIHN0YWdlcywgd2hpY2ggY2FuIGJlIG1hZGUgYnkgaW50ZXJz cGFjaW5nIHRoZSBzdGFnZXMgd2l0aCB0aGUgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSAnJ2NlJ28n JzogJyd6ZSd1IHB1J3UgbWkga2Fucm8gYmlueG8ga2VpIGxlIG51IG1pIGZhY2tpIGNlJ28gbGUg bnUgbWkgamFpIHRvbHN0aSBjZSdvIG1pIHJlbnZpJycgbWVhbnMgc29tZXRoaW5nIGlzIGEgbG9u ZyBwcm9jZXNzIG9mIG1lIGJlY29taW5nIGhlYWx0aHkgY29uc2lzdGluZyBvZiB0aGUgc3RhZ2Vz IEEgKSBJIGZpbmQgb3V0IEIgKSBzb21ldGhpbmcgYWJvdXQgbWUgYmVnaW5zIEMgKSBJIGVuZHVy ZS4KKyBUaGUgYWN0dWFsIHRyZWF0bWVudCBpcyBwZXJoYXBzIGJldHRlciBjYXVnaHQgYnkgJydw dXUnJywgd2hpY2gsIGxpa2UgZXZlbnQgY29udG91cnMgaW4gZ2VuZXJhbCwgcHV0cyBlbXBoYXNp cyBvbiB0aGUgZW50aXJlIGV2ZW50IGFzIHVuZm9sZGluZyB0aHJvdWdoIHRpbWUuICcnLmlpIGJh IHppIGNvYSBwdXUgbWkga2Fucm8gYmlueG8gdmF1IC5vaScnIGV4cHJlc3NlcyBmZWFyIHRoYXQg dGhlIHBhaW5mdWwgcHJvY2VzcyBvZiBiZWNvbWluZyBoZWFsdGh5IGlzIGFib3V0IHRvIGJlZ2lu LiBUaGUgeDIgaXMgZmlsbGVkIGJ5IGEgc2VxdWVuY2Ugb2Ygc3RhZ2VzLCB3aGljaCBjYW4gYmUg bWFkZSBieSBpbnRlcnNwYWNpbmcgdGhlIHN0YWdlcyB3aXRoIHRoZSBub24tbG9naWNhbCBjb25u ZWN0aXZlICcnY2VvJyc6ICcnemV1IHB1dSBtaSBrYW5ybyBiaW54byBrZWkgbGUgbnUgbWkgZmFj a2kgY2VvIGxlIG51IG1pIGphaSB0b2xzdGkgY2VvIG1pIHJlbnZpJycgbWVhbnMgc29tZXRoaW5n IGlzIGEgbG9uZyBwcm9jZXNzIG9mIG1lIGJlY29taW5nIGhlYWx0aHkgY29uc2lzdGluZyBvZiB0 aGUgc3RhZ2VzIEEgKSBJIGZpbmQgb3V0IEIgKSBzb21ldGhpbmcgYWJvdXQgbWUgYmVnaW5zIEMg KSBJIGVuZHVyZS4KCi0gRmluYWxseSwgdGhlIHNlbWFudGljcyBvZiAnJ3p1J28nJyB0cmVhdHMg dGhlIGFic3RyYWN0aW9uIGFzIGNvbnNpc3Rpbmcgb2YgcmVwZWF0ZWQgYWN0aW9uczogJydqaWJy aSBtaSBmYSBsbyB6dSdvIG1pIHpiYXN1IGxvIGthcmNlJycgIFRoZSBhY3Rpdml0eSBvZiBtZSBt YWtpbmcgY2FycyBpcyBteSBqb2IgaXMgYWNjdXJhdGUgaWYsIGZvciBpbnN0YW5jZSwgdGhlIHNw ZWFrZXIgd29ya3MgYXQgYSBjYXItcHJvZHVjaW5nIGZhY3RvcnkuIEhlcmUsIGhlciBhY3Rpdml0 eSBvZiBwcm9kdWNpbmcgY2FycyBjb25zaXN0cyBvZiB0aGUgcmVwZWF0ZWQgYWN0aW9ucyBBICkg c2hlIGxvd2VycyBmcmFtZSAxIG9udG8gY2FyIDEgQiApIHNoZSB3ZWxkcyBmcmFtZSAxIHRvIGNh ciAxLCBDICkgcmVwZWF0IHdpdGggY2FyIDIuIFRoZSB4MiBoZXJlIGlzIGFsc28gYSBzZXF1ZW5j ZS4KKyBGaW5hbGx5LCB0aGUgc2VtYW50aWNzIG9mICcnenVvJycgdHJlYXRzIHRoZSBhYnN0cmFj dGlvbiBhcyBjb25zaXN0aW5nIG9mIGEgbnVtYmVyIG9mIHJlcGVhdGVkIGFjdGlvbnM6ICcnbG8g emEnYSB6byd1IGRhcnhpIGxvIHRhbnhlIGN1IHJpbmthIGxvIGNhIG11J2UgcG9ycGknJyAgJnF1 b3Q7VGhlIG9ic2VydmVkIGFjdGl2aXR5IG9mIGJlYXRpbmcgdGhlIGJveCBjYXVzZWQgaXRzIGN1 cnJlbnQgYnJva2VubmVzcyZxdW90OyBpcyBtb3JlIGFjY3VyYXRlIHRoYW4gdGhlIHNpbWlsaWFy IHNlbnRlbmNlIHVzaW5nICcnbnUnJywgYmVjYXVzZSAnJ3p1J28nJyBtYWtlcyBpdCBleHBsaWNp dCB0aGF0IGl0IHdhcyB0aGUgcmVwZWF0aW5nIG9mIHRoZSBhY3Rpb24gb2YgYmVhdGluZywgbm90 IHRoZSBiZWF0aW5nIGluIGl0c2VsZiB3aGljaCBicm9rZSB0aGUgYm94LjxiciAvPlRoZSB4MiBv ZiAnJ3p1J28nJyBpcyBlaXRoZXIgb25lIGV2ZW50IG9yIGEgc2VxdWVuY2Ugd2hpY2ggaXMgcmVw ZWF0ZWQuIFRvIGJlIHVubmVjZXNzYXJpbHkgZXhwbGljaXQsIHdlIGNvdWxkIGhhdmUgc3RhdGVk IHRoYXQgdGhlIGNhdXNlIG9mIHRoZSBjdXJyZW50IGJyb2tlbm5lc3Mgd2FzICcnbG8gem8ndSBk YXJ4aSBsbyB0YW54ZSBrZWkgbG9udSBsYWZ0aSBsbyBncmFuYSBrZWkga3UgY2UnbyBsb251IG11 dmdhdSBsbyBncmFuYSBsbyB0YW54ZSBrZWkga3UgY2UnbyAuLi4nJyBhbmQgc28gb24uCgotIE5v dGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAnJ211J2UgYmFqcmEnJywgJyd6YSdpIGJhanJhJycs ICcncHUndSBiYWpyYScnLCAnJ3p1J28gYmFqcmEnJyBhbmQgJydudSBiYWpyYScnLiBUaGUgcG9p bnQtbGlrZSBldmVudCBvZiBydW5uaW5nIHB1dHMgZW1waGFzaXMgb24gdGhlIGV2ZW50IGhhcHBl bmluZywgYnV0IG5vdGhpbmcgZWxzZS4gVGhlIHN0YXRlIG9mIHJ1bm5pbmcgYmVnaW5zIHdoZW4g dGhlIHJ1bm5lciBiZWdpbnMgYW5kIHN0b3BzIHdoZW4gdGhlIHJ1bm5lciBzdG9wcy4gVGhlIHBy b2Nlc3Mgb2YgcnVubmluZyBjb25zaXN0cyBvZiBhIHdhcm0tdXAsIGtlZXBpbmcgYSBzdGVhZHkg c3BlZWQsIGFuZCB0aGUgZmluYWwgc3ByaW50LiBUaGUgYWN0aXZpdHkgb2YgcnVubmluZyBjb25z aXN0cyB0aGUgY3ljbGVzIG9mIGxpZnRpbmcgb25lIGZvb3QsIG1vdmluZyBpdCBmb3J3YXJkLCBk cm9wcGluZyBpdCBkb3duLCByZXBlYXQgd2l0aCB0aGUgb3RoZXIgZm9vdC4gQWxsIG9mIHRoZXNl IGFyZSBjb3ZlcmVkIGJ5IHRoZSBldmVudCBvZiBydW5uaW5nLgorIE5vdGUgdGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiAnJ211ZSBiYWpyYScnLCAnJ3phaSBiYWpyYScnLCAnJ3B1dSBiYWpyYScnLCAn J3p1byBiYWpyYScnIGFuZCAnJ251IGJhanJhJycuIFRoZSBwb2ludC1saWtlIGV2ZW50IG9mIHJ1 bm5pbmcgcHV0cyBlbXBoYXNpcyBvbiB0aGUgZXZlbnQgaGFwcGVuaW5nLCBidXQgbm90aGluZyBl bHNlLiBUaGUgc3RhdGUgb2YgcnVubmluZyBiZWdpbnMgd2hlbiB0aGUgcnVubmVyIGJlZ2lucyBh bmQgc3RvcHMgd2hlbiB0aGUgcnVubmVyIHN0b3BzLiBUaGUgcHJvY2VzcyBvZiBydW5uaW5nIGNv bnNpc3RzIG9mIGEgd2FybS11cCwga2VlcGluZyBhIHN0ZWFkeSBzcGVlZCwgYW5kIHRoZSBmaW5h bCBzcHJpbnQuIFRoZSBhY3Rpdml0eSBvZiBydW5uaW5nIGNvbnNpc3RzIHRoZSBjeWNsZXMgb2Yg bGlmdGluZyBvbmUgZm9vdCwgbW92aW5nIGl0IGZvcndhcmQsIGRyb3BwaW5nIGl0IGRvd24sIHJl cGVhdCB3aXRoIHRoZSBvdGhlciBmb290LiBBbGwgb2YgdGhlc2UgYXNwZWN0cyBhcmUgc2ltdWx0 YW5lb3VzbHkgY292ZXJlZCBieSB0aGUgZXZlbnQgb2YgcnVubmluZywgJydudSBiYWpyYScnLiAK Ci0gVGhlIGFic3RyYWN0b3IgJydkdSd1JycgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBldmVudHMg YW5kIG9ubHkgY29uc2lkZXJzIHRoZSBicmlkaSBpbnNpZGUgdGhlIGFic3RyYWN0aW9uIGFzIGEg YnJpZGk6PGJyIC8+JycudWkgc2FpIHppIGZhY2tpIGxlIGR1J3UgemkgY2l0a2EgbG8gY2lkanJw aXRzYScnICBZZXMhIEkganVzdCBmb3VuZCBvdXQgdGhhdCBwaXp6YSB3aWxsIGJlIGVhdGVuIHNv b24hLiBXaGF0IGlzIGJlaW5nIGRpc2NvdmVyZWQgaXMgdGhlIHRydXRoIG9mIGFuIGFic3RyYWN0 IGJyaWRpLCBub3QgYW4gZXZlbnQuIEluIGdlbmVyYWwsIGFic3RyYWN0aW9ucyBsaWtlIHRydXRo cywgbGllcywgdGhpbmdzIGJlaW5nIGRpc2NvdmVyZWQgb3IgYmVsaWV2ZWQgYXJlIGFsbCBwdXJl IGJyaWRpLCBzbyAnJ2R1J3UnJyBpcyBhcHByb3ByaWF0ZS4gPGJyIC8+X18nJ2R1J3UnJ19fIHgx IGlzIHRoZSBicmlkaSBvZiBCUklESSBleHByZXNzZWQgaW4gc2VudGVuY2UgeDI8YnIgLz5Gb3Ig YnJpZGkgdG8gZXhpc3QgKG9yIGF0IGxlYXN0IHRvIGhhdmUgYW55IHJlbGV2YW5jZSksIHRoZXkg bXVzdCBiZSBleHByZXNzZWQgaW4gc29tZSBtZWRpdW0sIHdoZXRoZXIgdGhpcyBpcyBzcGVlY2gs IHRob3VnaHQgb3Igd3JpdGluZy4gVGhlIHRlcm0gZXhwcmVzc2VkIGlzIG1pc2xlYWRpbmcgaWYg aXQgaXMgZXhwcmVzc2VkIG9ubHkgaW4gdGhlIG1pbmQgb2Ygc29tZW9uZSBidXQgdGhlIHRlcm0g bm9uZXRoZWxlc3MgYXBwbGllcy4gU3BlY2lmeWluZyB3aGljaCBtZWRpdW0gdGhlIGJyaWRpIGlz IGV4cHJlc3NlZCBpbiBpcyB3aGF0IHRoZSB4MiBvZiAnJ2R1J3UnJyBpcyB1c2VkIGZvcjogICcn LnVpIGZhY2tpIGxlIGR1J3UgamFpIGNpZGpycGl0c2Ega2VpIHpvJ2UgcGUgbGUgbWkgbWFtdGEn JyAgWWF5LCBkaXNjb3ZlcmVkIHRoYXQgc29tZXRoaW5nIGFib3V0IHBpenphLCBleHByZXNzZWQg aW4gc29tZXRoaW5nIHRoYXQgaGFkIHRvIGRvIHdpdGggbXkgbW90aGVyIS4gVGhlIHRyYW5zbGF0 aW9uIGlzIGNsdW1zeSwgYnV0IHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHNwZWFrZXIncyBtb3Ro ZXIgdG9sZCBoaW0gdGhhdCBwaXp6YSB3YXMgY29taW5nLgorIFNvbWUgYWJzdHJhY3Rpb25zIGFy ZSBldmVuIG1vcmUgYWJzdHJhY3QgdGhhbiBtZXJlIGV2ZW50cywgd2hpY2ggYWZ0ZXIgYWxsIGFy ZSBib3VuZCBpbiBzcGFjZSBhbmQgdGltZS4gT25lIGV4YW1wbGUgb2Ygc3VjaCBpcyAnJ2xpJ2kn JywgdGhlICZxdW90O2V4cGVyaWVuY2UgYWJzdHJhY3Rpb24mcXVvdDs6PGJyIC8+X18nJ2xpJ2kn J19fIEV4cGVyaWVuY2UgYWJzdHJhY3RvcjogeDEgaXMgeDIncyBpbnRlcm5hbCBleHBlcmllbmNl IG9mIEJSSURJPGJyIC8+VW5saWtlIGV2ZW50IGFic3RyYWN0aW9ucywgdGhpcyBpcyBleHBsaWNp dGx5IG1lbnRhbCAtIGEgJydsaSdpJyctYWJzdHJhY3Rpb24gY2Fubm90IGJlIHNhaWQgdG8gZXhp c3Qgb3V0c2lkZSB0aGUgbWluZCBvZiBhIHBlcnNvbi4gJydsaSdpJycgaXMgZGVyaXZlZCBmcm9t ICcnbGlmcmknJywgYW5kIGlzIGFsd2F5cyBhICcnc2UgbGlmcmknJyAtIGFuIGV4cGVyaWVuY2Uu CgotIFRoZSBuZXh0IGFic3RyYWN0b3IsICcnc2knbycnLCBpcyBkZXJpdmVkIGZyb20gdGhlIGdp c211ICcnc2lkYm8nJyBtZWFuaW5nIGlkZWEuIEl0J3MgcmVsYXRpdmVseSBlYXN5IHRvIHVuZGVy c3RhbmQ6ICcnbGUgc2knbyBtaSBtYW10YScnIGlzIHRoZSB2ZXJ5IGlkZWEgdGhhdCBJIGFtIGEg bW90aGVyLiBTaW1pbGFybHksICcnbGUgc2knbyBwcmFtaScnIGlzIFRoZSBjb25jZXB0IHRoYXQg c29tZW9uZSBsb3ZlcyBzb21lb25lLCB3aGljaCBjYW4gYmUgdHJhbnNsYXRlZCBhcyBtZXJlbHkg TG92ZSBpdHNlbGYuIEFsbCBpZGVhcyBuZWVkIHNvbWVvbmUgdG8gcmVmbGVjdCBvbiB0aGVtLCBh bmQgdGhlIHNlY29uZCBzdW10aSBwbGFjZSBvZiAnJ3NpJ28nJyBtaXJyb3JzIHRoaXM6PGJyIC8+ X18nJ3NpJ28nJ19fIHgxIGlzIGFuIGlkZWEgb2YgQlJJREkgYXMgaW1hZ2luZWQgYnkgeDI8YnIg Lz4nJ2xlIHNpJ28gbmFubXUga2VpIGJlIGRvIGN1IHhsYWxpIHZhdSBwZSdpJycgIFlvdXIgaWRl YSBvZiBtYW5saW5lc3MgaXMgaGFybWZ1bCwgSSB0aGluaywKKyBUaG91Z2ggaXQncyBzb21ld2hh dCByZWxhdGVkIHRvICcnbmknJywgdGhpcyBtaWdodCBiZSBhIGdvb2QgdGltZSB0byBpbnRyb2R1 Y2UgJydqZWknJyAtIHRoZSB0cnV0aC1hYnN0cmFjdGlvbi4gVGhpcyBpcyBvbmUgb2YgdGhlIGxl YXN0IHVzZWQgYWJzdHJhY3Rpb25zIG9mIHRoZW0gYWxsLCBhbmQgSSBvbmx5IGluY2x1ZGUgaXQg aGVyZSBmb3IgY29tcGxldGVuZXNzLjxiciAvPl9fJydqZWknJ19fOiBUcnV0aCBhYnN0cmFjdGlv bjogeDEgaXMgdGhlIHRydXRoLXZhbHVlIG9mIEJSSURJIHVuZGVyIGVwaXN0ZW1vbG9neSB4Mjxi ciAvPkEgJydqZWknJy1hYnN0cmFjdGlvbiBpcyBzb21ldGhpbmcgYmV0d2VlbiB0cnVlIGFuZCBm YWxzZSwgYW5kIGNhbiBiZSByZXByZXNlbnRlZCBieSBhIG51bWJlciBiZXR3ZWVuIDAgKGZhbHNl KSBhbmQgMSAodHJ1ZSkuIFVzaW5nICcnamVpJyctYWJzdHJhY3Rpb25zIGluIG1hdGhlbWF0aWNz IGlzIGluYWR2aWNhYmxlLCBzaW5jZSBpdCBoYXNuJ3QgZ290IGFueSBwcm9wZXJ0aWVzIG5vcm1h bGx5IGFzc29jaWF0ZWQgd2l0aCBudW1iZXJzIC0gb25lIG1pZ2h0IGFzIHdlbGwgcmVwcmVzZW50 IHRoZSB0cnV0aCB2YWx1ZSBvbiBhIHNwZWN0cnVtIG9mIGNvbG9yIGZyb20gcmVkIHRvIGJsdWUu PGJyIC8+JydqZWknJyBpcyByYXJlbHkgdXNlZCwgbm90IGJlY2F1c2UgdHJ1dGggYWJzdHJhY3Rp b25zIGFyZSBpbmZyZXF1ZW50bHkgbmVlZGVkLCBidXQgYmVjYXVzZSBtb3N0IGxvamJhbmlzdHMg dXNlIG90aGVyIG1lY2hhbmlzbXMgdG8gb2J0YWluIHRoZW0sIGZvciBpbnN0YW5jZSAnJ2thdScn LCBhcyBleHBsYWluZWQgbGF0ZXIgaW4gdGhpcyBsZXNzb24uPGJyIC8+JydtaSBkaSdpIHBlbnNp IGxvIGplaSBtaSBtZXJrbycnIC0gJnF1b3Q7SSBvZnRlbiB0aGluayBhYm91dCB3aGV0aGVyIEkg YW0gQW1lcmljYW4gb3Igbm90JnF1b3Q7IChjb250cmFzdCB3aXRoICcnbWkgZGknaSBwZW5zaSBs byBuaSBtaSBtZXJrbycnIC0gJnF1b3Q7SSBvZnRlbiB0aGluayBhYm91dCBob3cgQW1lcmljYW4g SSBhbSZxdW90OykKCi0gVGhlIGFic3RyYWN0b3IgJydqZWknJyBpcyB2ZXJ5IGRpZmZlcmVudCBm cm9tIHRob3NlIGNvdmVyZWQgc28gZmFyLCBiZWNhdXNlIG9mIGl0cyBwbGFjZSBzdHJ1Y3R1cmU6 PGJyIC8+X18nJ2plaScnX18geDEgaXMgdGhlIHRydXRoIHZhbHVlIG9mIEJSSURJIHVuZGVyIGVw aXN0ZW1vbG9neSB4MjxiciAvPlRoZSBmaXJzdCBzdW10aSBwbGFjZSBpcyBub3QgYW4gYWJzdHJh Y3RlZCBicmlkaSwgYnV0IGEgdmVyZGljdCBvZiB0cnV0aCwgd2hpY2ggbGllcyBiZXR3ZWVuIDAg KGZhbHNlKSBhbmQgMSAodHJ1dGgpIGluY2x1c2l2ZS4gVGhlc2UgdHdvIG51bWJlcnMgYXJlIHVz ZWQgdG8gcmVwcmVzZW50IGZhbHNlaG9vZCBvciB0cnV0aCwgYW5kIHdoaWxlIHRoZSB4MSBvZiB0 aGUgYWJzdHJhY3Rpb24gaXMgdGVjaG5pY2FsbHkgYSBudW1iZXIgKCcnbGknJyksIGl0J3Mgbm90 IHZlcnkgdXNlZnVsIHRvIGRvIG1hdGhlbWF0aWNzIG9uIHN0YXRlbWVudHMgc3VjaCBhcyAmcXVv dDt0cnVlJnF1b3Q7IG9yICZxdW90O2ZhbHNlJnF1b3Q7LCBzbyB0aGV5IHNob3VsZCBwcm9iYWJs eSBub3QgYmUgY29uc2lkZXJlZCBtYXRoZW1hdGljYWwgcXVhbnRpdGllcy48YnIgLz5UaGUgeDIg aXMgb2Z0ZW4gbGVmdCB2YWd1ZS48YnIgLz4nJy55IGxpIHBpIHNvJ3UgamVpIGdvJ2kga2VpIHR1 J2EgbWknJyAgVXVoLCB0aGF0J3Mgbm90IHZlcnkgdHJ1ZSwgYWNjb3JkaW5nIHRvIG1lLgorIFRo ZSBmb2xsb3dpbmcgYWJzdHJhY3Rpb24gaXMgb25lIG9mIHRoZSBtb3N0IHdpZGVseSB1c2VkIGFi c3RyYWN0aW9uIGR1ZSB0byBpdHMgZnJlcXVlbnQgdXNlZnVsbmVzczo8YnIgLz5fXycnZHUndScn X186IEJyaWRpIGFic3RyYWN0aW9uOiB4MSBpcyB0aGUgYnJpZGkgb2YgQlJJREksIGFzIHJlcHJl c2VudGVkIGJ5IHRleHQgeDI8YnIgLz4gQWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZCwgYWJzdHJh Y3Rpb25zIGxpa2UgdHJ1dGhzLCBsaWVzLCB0aGluZ3MgYmVpbmcgZGlzY292ZXJlZCBvciBiZWxp ZXZlZCBhcmUgYWxsIHB1cmUgYnJpZGk6PGJyIC8+JycudWkgc2FpIHB1IHppIGZhY2tpIGxlIGR1 dSB6aSBjaXRrYSBsbyBjaWRqcnBpdHNhJycgIFllcyEgSSBqdXN0IGZvdW5kIG91dCB0aGF0IHBp enphIHdpbGwgYmUgZWF0ZW4gc29vbiEuPGJyIC8+IFdoYXQgaXMgYmVpbmcgZGlzY292ZXJlZCBp cyB0aGUgdHJ1dGggb2YgYW4gYWJzdHJhY3QgYnJpZGksIHNvICcnZHUndScnIGlzIGFwcHJvcHJp YXRlLjxiciAvPkZvciBicmlkaSB0byBleGlzdCAob3IgYXQgbGVhc3QgdG8gaGF2ZSBhbnkgcmVs ZXZhbmNlKSwgdGhleSBtdXN0IGJlIHJlcHJlc2VudGVkIGJ5IHNvbWUgdGV4dCwgd2hldGhlciB0 aGlzIGlzIHNwZWVjaCwgdGhvdWdodCBvciB3cml0aW5nLiBUaGUgdGVybSB0ZXh0IGlzIG1pc2xl YWRpbmcgaWYgaXQgaXMgZXhwcmVzc2VkIG9ubHkgaW4gdGhlIG1pbmQgb2Ygc29tZW9uZSwgYnV0 IHRoZSB0ZXJtIG5vbmV0aGVsZXNzIGFwcGxpZXMuPGJyIC8+T25lIHVzZSBvZiB0aGUgeDIgb2Yg JydkdSd1JycgaXMgdG8gZXhwcmVzcyBpbmRpcmVjdCBxdW90YXRpb246PGJyIC8+JycudWUgZG8g cHUgY3Vza3Uga3UnaSBsbyBzZSBkdSd1IGRvIG5lbGNpIGxvIGNrYWZpJycgLSAmcXVvdDtPaCEg QnV0IHlvdSBzYWlkIHRoYXQgeW91IGxpa2VkIGNvZmZlZSZxdW90Oy4gSGVyZSwgdGhlIGV4cHJl c3NlZCBzZW50ZW5jZSBpcyB0aGUgdGV4dCwgd2hlcmVpbiB0aGUgYnJpZGkgaXMgY29udGFpbmVk LiAKCi0gJydrYScnIGlzIGdsb3NzZWQgInByb3BlcnR5IiBvciBzb21ldGltZXMgImFzcGVjdCIs IHdoaWNoIGlzIG5vdCBjbGVhciBhdCBhbGwuIEl0IHJlZmVycyB0byB0aGUgZXNzZW5jZSBvZiBm aXR0aW5nIHRvIGEgY2VydGFpbiBzZWxicmksIHRodXMgJydsbyBrYSBjbGFuaScnIGlzICJ0YWxs bmVzcyIsIGFuZCAnJ2xvIGthIGRqaWNhJycgaXMgImRlc2lyZSIuIEluIGZhY3QsIGZvciBhbnkg c2VsYnJpLCAiWCBzYXRpc2ZpZXMgdGhlIHNlbGJyaSIgaXMgdGhlIHNhbWUgYXMgIlggaXMgY2hh cmFjdGVyaXplZCBieSB0aGUgcHJvcGVydHkgb2YgdGhlIHNlbGJyaSIuCi0gVGhpcyBzZWxicmkg bWF5IGhhdmUgc29tZSBzdW10aSBwbGFjZXMgZmlsbGVkIG91dCwgYWxsb3dpbmcgdmVyeSBzcGVj aWZpYyBwcm9wZXJ0aWVzIHRvIGJlIGV4cHJlc3NlZDogJydsZSBrYSBwZW5kbyBsYSB4YW56Lmty dCBnaSdlIGJhZHJpJycsICJUaGUgcHJvcGVydHkgb2YgYmVpbmcgYSBmcmllbmQgb2YgSGFucyBL dXJ0IGFuZCBiZWluZyBkZXByZXNzZWQiLiBUaGlzIGdpdmVzIHJpc2UgdG8gc3Ryb25nIGFtYmln dWl0eTogU2luY2UgJydrYScnIGlzIGFib3V0IGZpdHRpbmcgdG8gYSBzZWxicmkgKG9yIGV2ZW4g YW4gZW50aXJlIGJyaWRpKSwgb25lIG11c3QgYmUgYWJsZSB0byBzcGVjaWZ5IHdoaWNoIHN1bXRp IHBsYWNlIHdlIGFyZSB0YWxraW5nIGFib3V0OiAiVGhlIHByb3BlcnR5IG9mIHN3aW1taW5nIGlu IHNvbWV0aGluZyIgaXMgdmVyeSBkaWZmZXJlbnQgZnJvbSAiVGhlIHByb3BlcnR5IG9mIHNvbWV0 aGluZyBzd2ltbWluZyBpbiB5b3UiLiAKLSBPZiBjb3Vyc2UsIHRoaXMgY2Fubm90IGFsd2F5cyBi ZSB1cCB0byBjb250ZXh0LCBhbmQgc28gd2UgaGF2ZSBhIHdvcmQsICcnY2UndScnLCB3aGljaCBp ZGVudGlmaWVzIHdoaWNoIHN1bXRpIHBsYWNlIGlzIGJlaW5nIGZvY3VzZWQgb246Ci0gX18nJ2Nl J3UnJ19fIFNldHMgZm9jdXMgb24gc3VtdGkgcGxhY2UgaW4gYWJzdHJhY3Rpb24uCgotICcna2En Jy1jb25zdHJ1Y3RzIGFyZSB1c2VkIGluIGFsbCBraW5kcyBvZiBzZWxicmksICcnem1hZHUnJyBh bmQgJydtbGVjYScnIGludHJvZHVjZWQgaW4gbGVzc29uIG5pbmV0ZWVuIGlzIGV4YW1wbGVzIG9m IHN1Y2ggc2VsYnJpLiBTbzogd2hhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuICcnbWkgZG8g em1hZHUgbG8ga2EgbGEgbGl6IHByYW1pIGNlJ3UnJyBhbmQgJydtaSBkbyB6bWFkdSBsbyBrYSBj ZSd1IHByYW1pIGxhIGxpeicnPzxiciAvPkFuc3dlcjogfn5ncmV5LGdyZXk6IFRoZSBmaXJzdCBv bmUgbWVhbnMgJnF1b3Q7TGl6IGxvdmVzIG1lIG1vcmUgdGhhbiB5b3UmcXVvdDssIHRoZSBzZWNv bmQgJnF1b3Q7SSBsb3ZlIExpeiBtb3JlIHRoYW4geW91IGRvJnF1b3Q7fn48YnIgLz5UaGUgJydj ZSd1JycgY2FuIGJlIGVsaWRlZCwgaW4gd2hpY2ggY2FzZSBpdCBpcyB1bmRlcnN0b29kIHRvIGZp bGwgdGhlIGZpcnN0IHVuZmlsbGVkIHN1bXRpIHBsYWNlIG9mIHRoZSBhYnN0cmFjdGlvbi4KKyAh IUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1uaW5lIChzZW1hbnRpY3Mgb2YgY29tcGxl eCBhYnN0cmFjdGlvbnMpPGJyIC8+QWxsIHRoZSB0eXBlcyBvZiBhYnN0cmFjdGlvbiB3ZSBoYXZl IHNlZW4gdGh1c2ZhciwgZXZlbnRzIGFuZCBicmlkaSwgaGF2ZSBhbGwgdGhlaXIgc3VtdGkgcGxh Y2VzIGZpbGxlZCAtIGlmIG5vdCBleHBsaWNpdGx5LCB0aGVuIGJ5ICcnem8nZScnLiBBcyB3ZSBz aGFsbCBzZWUsIGl0J3MgYSBkaWZmZXJlbnQgc3Rvcnkgd2hlbiBpdCBjb21lcyB0byB0aGUgZm9s bG93aW5nIGFic3RyYWN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0aCB0aGUgc2ltcGxlc3Q6PGJyIC8+ PGJyIC8+X18nJ25pJydfXzogQW1vdW50IGFic3RyYWN0aW9uOiB4MSBpcyB0aGUgYW1vdW50IG9m IEJSSURJIG9uIHRoZSBzY2FsZSB4MiA8YnIgLz48YnIgLz5BbmQgbGV0J3Mgc2VlIGl0IHB1dCB0 byB1c2U6PGJyIC8+JydtaSB6bWFkdSBkbyBsbyBuaSB4ZWtyaScnIC0gJnF1b3Q7SSdtIGJsYWNr ZXIgdGhhbiB5b3UuJnF1b3Q7PGJyIC8+QSAnJ25pJyctYWJzdHJhY3Rpb24gaXMgdXN1YWxseSBz b21lIG51bWJlciwgZXhhY3Qgb3IgaW5leGFjdC4gQXMgdGhlIGZvbGxvd2luZyBleGFtcGxlIGFi b3ZlIHNob3dzLCB3aGF0IGlzIHF1YW50aWZpZWQgbWF5IG5vdCBhbHdheXMgYmUgcHJhY3RpY2Fs bHkgbWVhc3VyYWJsZS4gSW4gcHJpbmNpcGxlLCBob3dldmVyLCBibGFja25lc3MgY291bGQgYmUg bWVhc3VyZWQgd2l0aCBzb21lIG9wdGljYWwgZGV2aWNlLiBUaGVyZSBpcyBzb21lIGRpc2FncmVl bWVudCBhYm91dCB3aGV0aGVyIGl0J3MgY29ycmVjdCB0byB1c2UgJyduaScnIHRvIHF1YW50aWZ5 IHNvbWV0aGluZyB3aGljaCBpcyB1bm1lYXN1cmFibGUsIGxpa2U8YnIgLz4nJ2xlIG5pIG1pIHBl bmRvIGRvJycgLSAmcXVvdDtIb3cgbXVjaCB3ZSBhcmUgZnJpZW5kcyZxdW90OzxiciAvPjxiciAv Pkl0J3Mgd3JvbmcgdG8gdXNlICcnbmknJyBhcyBhIHdheSB0byBlbnVtZXJhdGUgaG93IG1hbnkg b2JqZWN0cyBmaXQgYSBwcmVkaWNhdGUgLSBpdCdzIGFsd2F5cyBhYm91dCB0byB3aGljaCBleHRl bmQgY2VydGFpbiBzdW10aSBmaXQgYSBwcmVkaWNhdGUuIFRodXM6ICcnZG8gbWxlY2EgbWkgbG8g bmkgc2UgcGFuemknJyBtZWFucyAmcXVvdDtZb3UgYXJlIGxlc3Mgb2YgYSBwYXJlbnQgdGhhbiBJ IGFtJnF1b3Q7LCBhbmQgbm90ICZxdW90O1lvdSBoYXZlIGZld2VyIGNoaWxkcmVuIHRoYW4gbWUm cXVvdDsuPGJyIC8+PGJyIC8+VGhlIGFic3RyYWN0b3IgJyduaScnIGlzIGEgZ3JlYXQgd2F5IHRv IGdldCBzdGFydGVkIG9uIHRoZSBjb21wbGljYXRlZCB3b3JkICcnY2UndScnLjxiciAvPl9fJydj ZSd1JydfXyBQc2V1ZG8tcXVhbnRpZmllciBiaW5kaW5nIGEgdmFyaWFibGUgd2l0aGluIGFuIGFi c3RyYWN0aW9uIHRoYXQgcmVwcmVzZW50cyBhbiBvcGVuIHBsYWNlLjxiciAvPkkgYXNzdW1lIHRo ZSBkZWZpbml0aW9uIGlzbid0IHZlcnkgaGVscGZ1bCwgc28gaGVyZSdzIGEgZmV3IGV4YW1wbGVz IHRvIHNlZSBpdCBpbiB1c2U6PGJyIC8+ICcnZG8gbWxlY2EgbWkgbG8gbmkgY2UndSBwYW56aSB6 bydlJycgPSAmcXVvdDtZb3UgYXJlIGxlc3MgdGhhbiBtZSBpbiBxdWFudGl0eTogQmVpbmcgYSBj aGlsZCBvZiBzb21lb25lJnF1b3Q7ID0gJnF1b3Q7WW91IGFyZSBsZXNzIG9mIGEgY2hpbGQgdGhh biBJIGFtJnF1b3Q7IDxiciAvPiAnJ2RvIG1sZWNhIG1pIGxvIG5pIHpvJ2UgcGFuemkgY2UndScn IC0gJnF1b3Q7WW91IGFyZSBsZXNzIHRoYW4gbWUgaW4gcXVhbnRpdHk6IFNvbWV0aGluZyBiZWlu ZyBvbmUncyBjaGlsZCZxdW90OyA9ICZxdW90O1lvdSBhcmUgbGVzcyBvZiBhIHBhcmVudCB0aGFu IEkgYW0mcXVvdDs8YnIgLz5JbiBvdGhlciB3b3JkcywgZmlsbGluZyAnJ2NlJ3UnJyBpbiBhIHN1 bXRpIHBsYWNlIGluc2lkZSBhbiBhYnN0cmFjdGlvbiBhbGxvd3MgdGhlIHN1bXRpIHBsYWNlIHRv IHJlbWFpbiAmcXVvdDtvcGVuJnF1b3Q7IC0gbm90IGZpbGxlZCBieSBhbnl0aGluZywgbm90IGV2 ZW4gYSAnJ3pvJ2UnJy4gVGhpcyBvcGVuIHBsYWNlIGlzIHJlbW5pc2NpZW50IG9mIHRoZSAmcXVv dDt4JnF1b3Q7ZXMgaW4gdGhlIG5vcm1hbCBFbmdsaXNoIGRlZmluaXRpb25zIG9mIGxvamJhbmlj IHNlbGJyaSAtIHNvbWV0aGluZyBfX3RvIGJlIGZpbGxlZF9fIGJ5IGEgc3VtdGkuIDxiciAvPkZv ciB0aGUgcmVjb3JkLCB0aGUganVmcmEgJydjZSd1IHBhbnppIHpvJ2UnJyBpbiB0aGUgZmlyc3Qg ZXhhbXBsZSBhY3R1YWxseSByZWZlcnMgdG8gdHdvIGRpc3RpbmN0IGJyaWRpOiAnJ21pIHBhbnpp IHpvJ2UnJyBhbmQgJydkbyBwYW56aSB6bydlJycuIFNpbmNlIHRoZXNlIHR3byBicmlkaSBhcmUg Y29uc2lkZXJlZCBkaWZmZXJlbnQsIHRoZSAnJ3pvJ2UnJyBuZWVkIG5vdCByZWZlciB0byB0aGUg c2FtZSBvYmplY3QuPGJyIC8+VGh1cywgYW55IGFic3RyYWN0aW9uIHdpdGggYSAnJ2NlJ3UnJyBp bnNpZGUgaXQgaXMgYSBwcmVkaWNhdGUsIHdoZXJlIHRoZSAnJ2NlJ3UnJy1wbGFjZXMgYXJlIGZp bGxhYmxlLiBTaW5jZSB0aGUgYWJzdHJhY3RvcnMgJydrYScnIGFuZCAnJ3NpJ28nJywgaXMgYWJv dXQgJnF1b3Q7Zml0dGluZyBhIHByZWRpY2F0ZSZxdW90OywgYW5kIHNpbmNlIGEgJydjZSd1Jycg aXMgbmVlZGVkIHRvIHRyYW5zZm9ybSBhbiBhYnN0cmFjdGlvbiBpbnRvIGEgcHJlZGljYXRlLCBh bGwgJydrYScnIGFuZCAnJ3NpJ28nJy1hYnN0cmFjdGlvbnMgYWx3YXlzIGNvbnRhaW4gYXQgbGVh c3Qgb25lICcnY2UndScnLiBBICcnbmknJy1hYnN0cmFjdGlvbiBjYW4gY29udGFpbiBhICcnY2Un dScnLCBidXQgbWF5IGFsc28gcXVhbnRpZnkgYW4gYWJzdHJhY3Rpb24gd2l0aCBhbGwgdGhlIHN1 bXRpIHBsYWNlcyBmaWxsZWQsIGFzIGluICcnbGkgZHUnZSBuaSBkbyBuZWxjaSBsbyB2YW5qdScn LiA8YnIgLz5JbiB0aGUgYWJzdHJhY3Rpb25zIHdoZXJlIGEgJydjZSd1JycgaXMgcHJlc2VudCwg Y2FuIHRoZSBwb3NpdGlvbiBvZiB0aGUgJydjZSd1JycgYmUgZWxpZGVkLCBidXQgaXMgdGhlbiBt b3N0IG9mdGVuIGFzc3VtZWQgdG8gYmUgdGhlIGZpcnN0IHVuZmlsbGVkIHN1bXRpIHBsYWNlLiBJ biBzb21lIGNvbnRleHRzLCBob3dldmVyLCB0aGUgJydjZSd1JycgY2FuIGJlIGFzc3VtZWQgdG8g YmUgc29tZXdoZXJlIGVsc2UsIGFzIGV4ZW1wbGlmaWVkIHdpdGggJydtaSB6bWFkdSBkbyBsbyBu aSBsbyBicnVuYSBjdSBqYm9jcmUnJywgd2hlcmUgdGhlIGVsaWRlZCAnJ2NlJ3UnJyBpcyBwcm9i YWJseSBoaWRpbmcgaW4gJydsbyBicnVuYSBiZSBjZSd1JycuPGJyIC8+PGJyIC8+RXhhY3RseSBo b3cgdGhlICcnY2UndScnJ2QgcGxhY2VzIGluc2lkZSBhbiBhYnN0cmFjdGlvbiByZWxhdGVzIHdp dGggdGhlIG1haW4gYnJpZGkgaXMgc3BlY2lmaWVkIGJ5IHRoZSBzZWxicmkgb2YgdGhlIG1haW4g YnJpZGkuIEZvciAnJ3ptYWR1JycgYW5kICcnbWxlY2EnJywgdGhlICcnY2UndScnJ2QgcGxhY2Vz IGFyZSB3aGF0J3MgcXVhbnRpZmllZCBieSB0aGUgc2VsYnJpIG9mIHRoZSBtYWluIGJyaWRpLiBU aGUgcmVsYXRpb24gaXMgYWxtb3N0IGFsd2F5cyBvYnZpb3VzLCBidXQgYXMgd2Ugc2hhbGwgc2Vl IGxhdGVyLCB0aGVyZSBpcyBvbmUga2luZCBvZiBhYnN0cmFjdGlvbiwgd2hvc2UgJydjZSd1Jycg ZG8gbm90IHJlbGF0ZSB0byB0aGUgbWFpbiBicmlkaSBpbiBhbnkgc3RyYWlnaHRmb3J3YXJkIHdh eS48YnIgLz48YnIgLz5CZWZvcmUgdGhhdCwgdGhvdWdoLCB5b3UgbmVlZCB0byBsZWFybiBhYm91 dCAnJ2thJycgLSBwcm9iYWJseSB0aGUgYWJzdHJhY3Rpb24gd2hvc2UgdW5kZXJzdGFuZGluZyBo YXMgY2hhbmdlZCB0aGUgbW9zdCB0aGUgcmVjZW50IHllYXJzLiBZZXQgYWdhaW4gSSByZW1pbmQg eW91IHRoYXQgdGhpcyB1bmRlcnN0YW5kaW5nIGlzIG5vdCBvZmZpY2lhbCBMb2piYW4sIGJ1dCBy YXRoZXIgYSB3aWRlc3ByZWFkIGN1cnJlbnQgdW5kZXJzdGFuZGluZy4gTGV0J3Mgc2VlIHRoZSBv ZmZpY2lhbCBnbG9zczo8YnIgLz5fXycna2EnJ19fIFByb3BlcnR5L3F1YWxpdHkgYWJzdHJhY3Rv ciAoLW5lc3MpOyB4MSBpcyBxdWFsaXR5L3Byb3BlcnR5IGV4aGliaXRlZCBieSBCUklESS48YnIg Lz5VbmRlciB0aGUgdW5kZXJzdGFuZGluZyB3aGljaCBJIHdpbGwgdGVhY2gsIHRoaXMgZ2xvc3Mg aXMgbWlsZGx5IG1pc2xlYWRpbmcuIEluc3RlYWQsICcna2EnJyBzaG91bGQgcHJvYmFibHkgYmUg Z2xvc3NlZCBzdWNoOjxiciAvPl9fJydrYScnX18gUHJlZGljYXRlIGFic3RyYWN0b3I6IHgxIGlz IHRoZSBwcmVkaWNhdGUgb2YgQlJJREkgW25lZWRzIGF0IGxlYXN0IG9uZSBvcGVuIHZhcmlhYmxl XTxiciAvPk11Y2ggbGlrZSBhICcnbmknJy1hYnN0cmFjdGlvbiwgYSAnJ2thJyctYWJzdHJhY3Rp b24gaXMgYSBwcmVkaWNhdGUgYW5kIHRoZXJlZm9yZSBuZWVkcyBhdCBsZWFzdCBvbmUgJydjZSd1 JycsIG9mdGVuIGVsaWRlZC4gVGhlIGRpZmZlcmVuY2UgaXMgcHVyZWx5IHNlbWFudGljOiAnJ25p JycgZm9jdXNlcyBvbiBob3cgbXVjaCBhIGNlcnRhaW4gc3VtdGkgZml0cyBhIHByZWRpY2F0ZSwg d2hlcmVhcyBhICcna2EnJy1hYnN0cmFjdGlvbiBpcyB0aGUgcHJlZGljYXRlIGl0c2VsZi4gTGlr ZSB3aXRoICcnbmknJywgaG93IHRoZSAnJ2NlJ3UnJ3Mgb2YgJydrYScnIHJlbGF0ZXMgdG8gdGhl IG1haW4gYnJpZGkgaXMgZGVmaW5lZCBieSB0aGUgc2VsYnJpIG9mIHRoZSBtYWluIGJyaWRpLiA8 YnIgLz5VbmRlciB0aGlzIGludGVycHJldGF0aW9uLCAnJ2thJyctYWJzdHJhY3Rpb25zIGZpbGxz IG1vc3Qgb2YgdGhlIHN1bXRpIHBsYWNlcyB3aGljaCBzb21ldGhpbmcgaXMgZG9pbmcgb3IgYmVp bmcuIEV4YW1wbGVzIGFyZSBhbHdheXMgZ29vZDo8YnIgLz4nJ21pIGtha25lIGxvIGthICcnIFtj ZSd1XSAnJ2JhanJhIGZpIGxvIG1pIGJpcmthJycgLSAmcXVvdDtJIGNhbiBydW4gb24gbXkgYXJt cyZxdW90OzxiciAvPk9mIGNvdXJzZSwgc2V2ZXJhbCAnJ2NlJ3UnJyBjYW4gYmUgdXNlZCB3aXRo aW4gYSAnJ2thJyctYWJzdHJhY3Rpb24uIFdoYXQgZG9lcyB0aGUgZm9sbG93aW5nIHNlbnRlbmNl IG1lYW4/PGJyIC8+JydtaSBsbyBwYW1wZSdvIGN1IHNpbXh1IGxvIGthIGNlJ3UgY2UndSBnbGV0 dScnIDxiciAvPkFuc3dlcjogfn5ncmV5LGdyZXk6JydNZSBhbmQgbXkgbG92ZXIgaGF2ZSBzZXgg d2l0aCBlYWNoIG90aGVyIG11dHVhbGx5JnF1b3Q7fn48YnIgLz48YnIgLz5UaGUgbGFzdCBvZiB0 aGUgYWJzdHJhY3RvcnMgd2UgdHJlYXQgaGVyZSBpcyAnJ3NpJ28nJy4gTGlrZSAnJ2thJycsIGl0 cyBkZWZpbml0aW9uIGFzIGl0IHdpbGwgYmUgdGF1Z2h0IGhlcmUgaXMgZGlmZmVyZW50IGZyb20g dGhlIG9mZmljaWFsIGRlZmluaXRpb24uIEV0eW1vbG9naWNhbGx5LCAnJ3NpJ28nJyBkZXJpdmVz IGZyb20gJydzaWRibycnLCAmcXVvdDtpZGVhJnF1b3Q7LCBhbmQgdGhlIG9mZmljaWFsIGdsb3Nz IG9mICcnc2knbycnIHJlZmxlY3RzIHRoaXM6PGJyIC8+X18nJ3NpJ28nJ19fOiBJZGVhL2NvbmNl cHQgYWJzdHJhY3RvcjsgeDEgaXMgeDIncyBjb25jZXB0IG9mIEJSSURJLjxiciAvPlVuZGVyIHRo ZSBjdXJyZW50IHVzYWdlIHdoaWNoIEkgd2lsbCB1c2UgYXMgc3RhbmRhcmQsIGEgJydzaSdvJyct YWJzdHJhY3Rpb24gaXMgbGlrZSBhICcna2EnJy1hYnN0cmFjdGlvbiwgYnV0IHdpdGggdHdvIGlt cG9ydGFudCBkaWZmZXJlbmNlcy4gPGJyIC8+Rmlyc3RseSwgYSAnJ3NpJ28nJy1hYnN0cmFjdGlv biBoYXMgYWxsIGl0cyBzdW10aSBwbGFjZXMgZmlsbGVkIHdpdGggJydjZSd1JycgYnkgZGVmYXVs dCwgdGhlcmVieSBiZWluZyByZWxhdGVkIGxlc3MgdG8gYSBzcGVjaWZpYyBzaXR1YXRpb24sIGFu ZCBtb3JlIHRvIGEgZ2VuZXJhbCBzaXR1YXRpb24uIDxiciAvPlNlY29uZGx5LCB0aGVyZSBpcyBu b3QgbmVjZXNzYXJpbHkgYW55IHJlbGF0aW9uIGJldHdlZW4gdGhlICcnY2UndScnIGluc2lkZSB0 aGUgJydzaSdvJyctYWJzdHJhY3Rpb24gYW5kIHRoZSBzdW10aSBvZiB0aGUgbWFpbiBicmlkaSwg YW5kIHRoZXJlZm9yZSB0aGUgbWFpbiBzZWxicmkgZG9lcyBub3QgZGVmaW5lIHRoaXMgcmVsYXRp b24uPGJyIC8+SW4gb3JkZXIgdG8gZXhwbGFpbiBtb3JlIGludHVpdGl2ZWx5IHRoZSBkaWZmZXJl bmNlIGJldHdlZW4gJydrYScnIGFuZCAnJ3NpJ28nJywgY29uc2lkZXIgdGhlIGZvbGxvd2luZyAg dHdvIGJyaWRpOjxiciAvPicnbWkgbmVsY2kgbG8ga2EgY2UndSBjcmlubycnLCB3aGVyZSB0aGUg JydjZSd1JycgcmVmZXJzIHRvIGEgc3VtdGkgaW4gdGhlIG91dGVyIGJyaWRpLCBuYW1lbHkgJydt aScnLCB0aHVzIG1lYW5pbmc6ICZxdW90O0kgbGlrZSBiZWluZyBncmVlbiZxdW90OywgdmVyc3Vz PGJyIC8+JydtaSBuZWxjaSBsbyBzaSdvIGNlJ3UgY3Jpbm8nJywgd2hlcmUgdGhlICcnY2UndScn IHJlbWFpbnMgY29tcGxldGVseSBhYnN0cmFjdCwgbWFraW5nIHRoZSBicmlkaSBtZWFuOiAmcXVv dDtJIGxpa2UgZ3JlZW5uZXNzJnF1b3Q7PGJyIC8+PGJyIC8+QmVmb3JlIHdlIHZlbnR1cmUgb24g dG93YXJkcyB0aGUgbmV4dCBsZXNzb24sIHRoZXJlJ3Mgb25lIHdvcmQgd2hpY2ggSSB0aGluayBk ZXNlcnZlcyBhIG1vcmUgdGhvcm91Z2ggZXhwbGFuYXRpb246ICcna2F1JycuPGJyIC8+JydrYXUn JyB3YXMgZXhwbGFpbmVkIGluIGxlc3NvbiB0d2VsdmUsIGJ1dCB0aGUgcmVhbCBpbXBsaWNhdGlv bnMgb2YgaXQgd2FzIG5vdC4gSWYgeW91IGhhdmUgZm9yZ290dGVuIHdoYXQgaXQgbWVhbnMsIEkg YWR2aWNlIHlvdSB0byBnbyBiYWNrIGFuZCBzZWUuIFVuZm9ydHVuYXRlbHksIEkgY2FuJ3QgcHJl c2VudCBhIHRoZW9yeSBvbiB3aGF0ICcna2F1JycgZG9lcyB3aGVuIGl0J3MgcHJlc2VudCBpbiB0 aGUgbWFpbiBicmlkaSwgb25seSBvbiB3aGF0IGl0IGRvZXMgaW5zaWRlIGFuIGFic3RyYWN0aW9u LjxiciAvPkEgYnJpZGkgd2l0aCBhYnN0cmFjdGlvbiBjb250YWluaW5nIGEgJydrYXUnJyBtYWtl cyB0d28gY2xhaW1zOiBUaGUgYnJpZGkgaXRzZWxmIG1ha2VzIG9uZSBjbGFpbSBhcyB1c3VhbCwg YW5kIGltcGxpY2l0IGluIHRoZSBhYnN0cmFjdGlvbiBpcyBmdXJ0aGVybW9yZSB0aGUgY2xhaW0g dGhhdCB0aGUgd29yZCAnJ2thdScnIGlzIGF0dGFjaGVkIHRvIGhhcyBhIHJlYWwsIG5vbnplcm8g bWVhbmluZy48YnIgLz5UaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQ6IFRoZSBicmlkaSAnJ21p IHB1IHZpc2thIGxvIG51IG1hIGthdSBjbGl2YSBsZSBzYWxjaScnIChJIHNhdyB3aG8gbGVmdCB0 aGUgcGFydHkpIG1ha2VzIHR3byBjbGFpbXMuIEZpcnN0LCBpdCBtYWtlcyBhbiBpbXBsaWNpdCBj bGFpbSB0aGF0IHRoZSAnJ21hJycgcmVmZXJzIHRvIHNvbWV0aGluZyByZWFsLiBUaGF0IGlzLCB0 aGUgYnJpZGkgYWN0dWFsbHkgY2xhaW1zIHRoYXQgJydkYSBjbGl2YSBsZSBzYWxjaScnIChYIGxl ZnQgdGhlIHBhcnR5KS4gU2Vjb25kbHksIHRoZSBtYWluIGJyaWRpIG1ha2VzIHRoZSBjbGFpbSB0 aGF0IHdoYXQgdGhlICcnbWEnJyByZWZlcnMgdG8gaXMgd2hhdCB3YXMgYmVpbmcgc2Vlbiwgb3Ig aW4gbG9qYmFuICcnbWkgcHUgdmlza2EgbG8gbnUgZGEgY2xpdmEgbGUgc2FsY2knJy4gKEkgc2F3 IHRoYXQgWCBsZWZ0IHRoZSBwYXJ0eSk8YnIgLz5UaGlzIHByaW5jaXBsZSBpcyBub3QgcmVzdHJp Y3RlZCB0byB0aGUgYWJzdHJhY3RvciAnJ251JycsIG9yIHRvIHRoZSBxdWVzdGlvbiB3b3JkICcn bWEnJy4gVGhlIHNhbWUgcHJpbmNpcGxlIGNhbiBiZSBleHRlbmRlZCB0byBhbnkgb3RoZXIgYWJz dHJhY3RvciBhbmQgYW55IG90aGVyIHF1ZXN0aW9uIHdvcmQsIGFzIGluIHRoZSBmb2xsb3dpbmcg YnJpZGk6PGJyIC8+JydsYSAuYmFiLiBuYSdlIGJpcnRpIGxvIGR1J3UgeHUga2F1IGxhIC5taWFz LiBwYW1wZSdvJycgKEJvYiBpc24ndCBzdXJlIHdoZXRoZXIgb3Igbm90IE1pYSBoYXMgYSBib3lm cmllbmQpIHN0YXRlcyBmaXJzdGx5IHRoYXQgJyd4dScnIGFwcGxpZXMsIHdoaWNoIG1lYW5zIHRo YXQgYSB0cnV0aCB2YWx1ZSBjb3JyZWN0bHkgY2FuIGJlIGFzc2lnbmVkIHRvIHRoZSBicmlkaSwg YW5kIHNlY29uZGx5IHRoYXQgd2hhdCBCb2IgaXNuJ3Qgc3VyZSBhYm91dCBpcyB0aGUgY29ycmVj dCB0cnV0aCB2YWx1ZSBmb3IgdGhlIGJyaWRpLjxiciAvPicna2F1JycgY2FuIGFsc28gYmUgYXBw bGllZCB0byBhIG5vbi1xdWVzdGlvbiB3b3JkLiBUaGlzIGRvZXNuJ3QgcmVhbGx5IGNoYW5nZSB0 aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gVGhlIHNhbWUgcHJvY2VkdXJlIHN0aWxsIGFwcGxpZXM6 PGJyIC8+JydkbyBjYSdvIGRqdW5vIGxvIGR1J3UgbGEga3Jlc3RjZW4ga2F1IGN1IGNpbmJhIGxh IGFuJycgPSAmcXVvdDtZb3UgYWxyZWFkeSBrbm93IHRoYXQgaXQgd2FzIEtyaXN0aWFuLCB3aG8g a2lzc2VkIEFubmUuJnF1b3Q7IHN0YXRlcyBmaXJzdGx5IHRoYXQgJydsYSBrcmVzdGNlbiBjdSBj aW5iYSBsYSBhbicnIGFuZCB0aGVuIHRoYXQgJydkbyBjYSdvIGRqdW5vIGxvZHUndSBsYSBrcmVz dGNlbiBjdSBjaW5iYSBsYSBhbicnLjxiciAvPjxiciAvPiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gdGhpcnR5ICh0aGUgbm90LXNvLWN1dGUgYXNzb3J0ZWQgd29yZHMpPGJyIC8+WWVzLCB0aGlz IGxlc3NvbiBpcyB5ZXQgYW5vdGhlciB3aGljaCBmb2N1c2VzIG9uIGFzc29ydGVkIHdvcmRzLiBU aGlzIHRpbWUsIGhvd2V2ZXIsIHRoZSBjb250ZW50IG9mIHRoZSBsZXNzb24gaXMgbm90IGNob3Nl biBieSBjb21tb24gdXNhZ2U6IFVubGlrZSB3b3JkcyBsaWtlICcnamFpJycgYW5kICcnc2knJywg dGhlIGZvbGxvd2luZyB3b3JkcyBzZWUgbGl0dGxlIHVzYWdlIGluIG9yZGluYXJ5IGNvbnZlcnNh dGlvbi4gU29tZSBvZiB0aGVtIGFyZSwgaG93ZXZlciwgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmRp bmcgdGhlIGZvbGxvd2luZyBsZXNzb25zLCBhbmQgc28gdGhlc2Ugd29yZHMgbXVzdCBiZSBhd2t3 YXJkbHkgcGxhY2VkIGJlZm9yZSB0aGVpciB1c2FnZSBpbiB0aGVzZSBsZXNzb25zLjxiciAvPjxi ciAvPkxldCB1cyBiZWdpbiB3aXRoICcneGknJzsgaXQncyBlYXN5LjxiciAvPl9fJyd4aScnX186 IFN1YnNjcmlwdC4gQ29udmVydHMgYW55IGZvbGxvd2luZyBudW1iZXIgc3RyaW5nIHRvIGEgc3Vi c2NyaXB0LCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2YgYW4gYXR0aXR1ZGluYWwgKGllLiBwbGFj YWJsZSBwcmFjdGljYWxseSBhbnl3aGVyZSkuPGJyIC8+VGhlcmUgYXJlIGZldyBvZmZpY2lhbGx5 IGVuY291cmFnZWQgdXNlcyBvZiAnJ3hpJycsIGJ1dCBwcmVjaXNlbHkgYmVjYXVzZSB0aGUgY29u c3RydWN0ICcneGknJytudW1iZXIgaGFzIHRoZSBmcmVlIGdyYW1tYXIgb2YgYW4gYXR0aXR1ZGlu YWwsIHRoZSBwb3NzaWJsZSB1c2VzIG9mICcneGknJyBhcmUgYWxtb3N0IGVuZGxlc3MuIEluIGdl bmVyYWwsIGl0J3MgdXNlZCB0byBlbnVtZXJhdGUgYW55IF9fd29yZF9fLCBfX3ZhcmlhYmxlX18g b3IgX19ncmFtbWF0aWNhbCBjb25zdHJ1Y3RfXywgYXMgb3Bwb3NlZCB0byB3aGF0IGl0IHJlZmVy cyB0by4gTGV0J3Mgc2VlIHNvbWUgZXhhbXBsZXMuPGJyIC8+bGEgdHNhbmkgY3UgY3Vza3Ugem8g Y29pICAuaSBiYSBibyBsYSAudHJpbGl5bi4gY3Vza3UgbHUgLnVpIGNvaSBsYSB0c2FuaSBjb2kg bGEga2xha3UgbGkndSAgLmkgYmEgYm8gbGEga2xha3UgY3Ugc3B1ZGEgZmkgbHUgY29pIHR5LiB4 aSBwYSAuZSB0eS4geGkgcmUgZG8ndSB6bydvIGxpJ3UgLSAmcXVvdDtUc2FuaSBzYWlkICZxdW90 O2hpJnF1b3Q7LCB0aGVuIFRyaWxpeW4gc2FpZCAmcXVvdDtIZXkgVHNhbmksIGhleSBLbGFrdSA6 KSZxdW90OywgdGhlbiBLbGFrdSBhbnN3ZXJlZCAmcXVvdDtIZWxsbyBUMSBhbmQgVDIgOlAmcXVv dDsmcXVvdDs8YnIgLz5CZWNhdXNlIGl0J3MgdGhlIHN0YW5kYXJkIHRoYXQgJyd0eS4nIHJlZmVy cyB0byB0aGUgbGFzdCBzdW10aSB3aGljaCBiZWdhbiB3aXRoIFQsICcndHknJyBieSBpdHNlbGYg YXMgc2FpZCBieSBLbGFrdSB3b3VsZCBoYXZlIHJlZmVycmVkIHRvIFRzYW5pLiBUd28gX19kaWZm ZXJlbnRfXyAnJ3R5LicnIGNhbiBiZSBtYWRlIGJ5IHN1YnNjcmlwdGluZyB3aXRoICcneGknJy48 YnIgLz5JZiB0aGUgcmFyZSBzaXR1YXRpb24gYXJpc2VzIHRoYXQgd2UgbmVlZCBtb3JlIHZhcmlh YmxlcyBvZiB0aGUgdHlwZSAnJ2RhJycgb3IgJydidSdhJycgdGhhdCB0aGVyZSBhcmUgaW4gdGhl IGxhbmd1YWdlLCBhbiBpbmZpbml0ZSBudW1iZXIgY2FuIGJlIG1hZGUgYnkgc2ltcGx5IHN1YnNj cmlwdGluZyBhbnkgZXhpc3Rpbmcgd2l0aCBhIG51bWJlci4gTm90ZSB0aGF0IGEgbm9uLXN1YnNj cmlwdGVkIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkIGFmIGJlaW5nIGVxaXV2YWxlbnQgdG8gYW55 IHN1YnNjcmlwdGVkIG9uZS4gVGhhdCBpczogJyd0eScnIGlzIG5vdCBhbHdheXMgZXF1YWwgdG8g Jyd0eSB4aSBwYScnIG9yICcndHkgeGkgbm8nJyBvciBhbnl0aGluZyBvZiB0aGUgc29ydC4gSSBl eHBlY3QgdGhpcyB0byBiZSByYXJlbHkgdXNlZCwgYmVjYXVzZSBhbnkgc2VudGVuY2Ugd2l0aCBt b3JlIHRoYW4gMyAnJ2RhJyctbGlrZSB3b3JkcyBvciBtb3JlIHRoYW4gMTAgJydrbydhJyctbGlr ZSB3b3JkcyB3b3VsZCBiZSBoYXJkIHRvIGtlZXAgdHJhY2sgb2YuPGJyIC8+PGJyIC8+U2Vjb25k LCB3ZSBoYXZlICcna2knJywgb2Ygd2hpY2ggSSBhbSBub3QgYXdhcmUgb2YgYSBzaW5nZSB1c2Fn ZSBpbiBteSB0aW1lIG9uIElSQzsgcHJvYmFibHkgbm90IGJlY2F1c2UgdGhlIHdvcmQncyB1c2Vs ZXNzLCBidXQgYmVjYXVzZSBmZXcgTG9qYmFuaWMgdGV4dHMgYXJlIG9mIHRoZSBraW5kIHdoZXJl IHlvdSBuZWVkIGl0LjxiciAvPl9fJydraScnX18gJnF1b3Q7U3RpY2t5IHRlbnNlJnF1b3Q7LiBT ZXQvdXNlIHRlbnNlIGRlZmF1bHQ7IGVzdGFibGlzaGVzIG5ldyBvcGVuIHNjb3BlIHNwYWNlL3Rp bWUvbW9kYWwgcmVmZXJlbmNlIGJhc2UuPGJyIC8+QW55IHJvdyBvZiB0ZW5zZSB3b3JkcyBjYW4g YmUgc3VmZml4ZWQgd2l0aCAnJ2tpJycgdG8gbWFrZSB0aGUgdGVuc2UocykgYXBwbHkgdG8gYWxs IGZvbGxvd2luZyBicmlkaS4gV2hlbiwgZm9yIGluc3RhbmNlLCB0ZWxsaW5nIGEgc3RvcnksIHRo aXMgY2FuIGJlIHVzZWQgdG8gbWFrZSBleHBsaWNpdCB0aGF0IHRoZSBkZWZhdWx0IHRpbWUgLSB0 aGUgdGltZSBhcyBtZWFudCB3aXRob3V0IGFueSB0ZW5zZSB3b3JkcyAtIGlzIHRoZSB0aW1lIHRo ZSBzdG9yeSBpcyBwbGFjZWQgaW4uIFVzdWFsbHksIHRoaXMgd2lsbCBub3QgYmUgbmVjZXNzYXJ5 OyBiZWdpbm5pbmcgYSBmYWlyeXRhbGUgd2l0aCAnJ3B1IHp1IHZ1IGt1JycsIG9uZSBjYW4gYXNz dW1lIHRoYXQgdGhlIGVudGlyZSB0YWxlIGlzIGhhcHBlbmluZyBhIGxvbmcgdGltZSBhZ28gYW5k IGZhciBhd2F5LiBMZXQncyBoYXZlIGFuIGV4YW1wbGU6PGJyIC8+JydwdSB6dSB2dSBraSBrdSB6 YXN0aSBmYSBsbyBwdWtjbGl0ZSBqZSBjbWFsdSBuaXhsaSBnb2kga29hICAuaSBybyBkYSBwb2kg JydbJydwdSB6dSB2dScnXScnIHZpc2thIGtvYSBjdSBuZWxjaSBrb2EnJyAtICZxdW90O09uY2Ug dXBvbiBhIHRpbWUgdGhlcmUgd2FzIGEgc3dlZXQsIGxpdHRsZSBnaXJsLiBFdmVyeW9uZSB3aG8g c2F3IGhlciBsaWtlZCBoZXImcXVvdDsuIFRoZSAnJ2tpJycgYWxsb3dzIHVzIHRvIGVsaWRlIHRo ZSB0aHJlZSB0ZW5zZXMgaW4gdGhlIHNlY29uZCBicmlkaSwgYW5kIGluIGFsbCB0aGUgYnJpZGkg dG8gZm9sbG93LjxiciAvPlNvLCBpZiBhIGJ1bmNoIG9mIHRlbnNlcyBoYXZlIGJlZW4gbWFrZSBz dGlja3kgd2l0aCAnJ2tpJycsIGhvdyBkbyB3ZSB1bnN0aWNrIHRoZW0/IFNpbXBsZSB1c2UgJydr aScnIGJ1IGl0c2VsZiwgYW5kIGFsbCBzdGlja3kgdGVuc2VzIGFyZSBtYWRlIHVuc3RpY2t5Ljxi ciAvPkxhc3RseSwgc2V2ZXJhbCBzZXRzIG9mIHRlbnNlcyBjYW4gYmUgbWFkZSBzdGlja3kgYnkg c3Vic2NyaXB0aW5nICcna2knJy4gSWYgdGhlcmUgYXJlIHNldmVyYWwgb2Ygc3VjaCBzZXRzIGlu IHVzYWdlIGF0IGFueSBnaXZlbiB0aW1lLCBvbmUgY2FuIHVzZSB0aGUgc3Vic2NyaXB0ZWQgJydr aScncyB0byBtYWtlIHRoZSBjb3JyZXNwb25kaW5nIHNldCBvZiB0ZW5zZXMgYXBwbHkuIFVuc3Vi c2NyaXB0ZWQgJydraScnIGFsb25lIHN0aWxsIG1ha2VzIGFsbCB0ZW5zZSBzdGlja2luZXNzIGRp c2FwcGVhciwgc28geW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBub3QgdG8gdXNlICcna2knJyB1bnN1 YnNjcmlwdGVkIGlmIHlvdSBwbGFuIG9uIHVzaW5nIHNldmVyYWwgc2V0cyBvZiB0ZW5zZXMuPGJy IC8+PGJyIC8+Q2hhbmdpbmcgc3ViamVjdC4gVGhlcmUncyBhIHNldCBvZiBzdW10Y2l0YSB3aGlj aCBhcmUgb2Z0ZW4gdXNlZCwgYnV0IHdoaWNoIEkgZGFyZSBub3QgdHJ5IHRvIGRlZmluZSBpZiBu b3QgdW5kZXIgdGhlIGRpc2NsYWltZXIgb2YgcGFydCB0aHJlZS4gTGV0J3Mgc2VlIG9mZmljaWFs IGRlZmluaXRpb25zIGZvciB0d28gb2YgdGhlbSBmaXJzdC48YnIgLz5fXycnY2EnYScnX186IG1v ZGFsIGFzcGVjdDogYWN0dWFsaXR5L29uZ29pbmcgZXZlbnQuIEJyaWRpIGhhcy9pcy93aWxsIGhh cHBlbiBkdXJpbmcgdW5kZXIgdGhlIGNpcmN1bXN0YW5jZXMgb2Yge3N1bXRpfTxiciAvPl9fJydr YSdlJydfXzogbW9kYWwgYXNwZWN0OiBpbm5hdGUgY2FwYWJpbGl0eTsgcG9zc2libHkgdW5yZWFs aXplZC4gQnJpZGkgaXMgcG9zc2libGUgdW5kZXIgdGhlIGNpcmN1bXN0YW5jZXMgb2Yge3N1bXRp fTxiciAvPkxldCdzIGZpcnN0IGNvbnRyYXN0ICcnY2EnYScnIHdpdGggJydrYSdlJycuICcna2En ZScnIG1lYW5zIHRoYXQgdGhlIGJyaWRpIGlzICZxdW90O3Bvc3NpYmxlIGlmIHRoZSBldmVudCBv ZiBTVU1USSBoYXMvaXMvd2lsbCBvY2N1ciZxdW90Oy4gJydjYSdhJycgYnkgY29udHJhc3QsIG1l YW5zIHRoYXQgdGhlIGJyaWRpICZxdW90O2hhcywgaXMsIG9yIHdpbGwgaGFwcGVuIGlmIHRoZSBl dmVudCBvZiBTVU1USSBoYXMvaXMvd2lsbCBvY2N1ciZxdW90Oy4gPGJyIC8+TGlrZSBhbGwgc3Vt dGNpdGEsIHRoZWlyIGNvcnJlc3BvbmRpbmcgc3VtdGkgY2FuIGJlIGVsaWRlZCBpZiB0aGUgc3Vt dGNpdGEgaXMgcGxhY2VkIGJlZm9yZSB0aGUgc2VsYnJpOjxiciAvPicnbGUgdmkgc292ZGEga2En ZSBmdWx0YSAuaSBqYSdvIGJvIHJpIGZ1c3JhJycgLSAmcXVvdDtUaGlzIGVnZyBmbG9hdHMuIFRo ZXJlZm9yZSwgaXQncyByb3R0ZW4mcXVvdDsuPGJyIC8+QnkgdXNpbmcgJydrYSdlJycsIHRoaXMg c2VudGVuY2UgZG9lcyBub3Qgc3RhdGUgdGhhdCB0aGUgZWdnIGhhcyBmbG9hdGVkLCBvciBldmVy IHdpbGwgZmxvYXQsIGJ1dCByYXRoZXIgdGhhdCBpdCBjb3VsZCBmbG9hdC48YnIgLz48YnIgLz5f XycncHUnaScnX186IG1vZGFsIGFzcGVjdDogY2FuIGFuZCBoYXM7IGRlbW9uc3RyYXRlZCBwb3Rl bnRpYWwuIEJyaWRpIGNvdWxkIG9yIGNvdWxkIG5vdCBoYXBwZW4sIGJ1dCBpbiBmYWN0IGl0IGlz L2RpZC93aWxsIGhhcHBlbiB1bmRlciB0aGUgY2lyY3Vtc3RhbmNlIG9mIHtzdW10aX08YnIgLz5f XycnbnUnbycnX186IG1vZGFsIGFzcGVjdDogY2FuIGJ1dCBoYXMgbm90OyB1bnJlYWxpemVkIHBv dGVudGlhbC4gQnJpZGkgaXMgcG9zc2libGUsIGJ1dCBpcy93aWxsL2hhdmUgbm90IGhhcHBlbmVk IHVuZGVyIHtzdW10aX08YnIgLz48YnIgLz5VbmRlcnN0YW5kaW5nICcna2EnZScnIGFuZCAnJ2Nh J2EnJywgJydudSdvJycgc2ltcGx5IG1lYW5zICcna2EnZSBqZSBuYSBrdSBjYSdhJycsIGFuZCAn J3B1J2knJyBtZWFucyAnJ2NhJ2EgamUga2EnZSBuYSBrdScnLiA8YnIgLz5IaXN0b3JpY2FsbHks IHRoZXNlIGZvdXIgd29yZHMgd2FzIHRlbnNlIHN1bXRjaXRhIC0gdGhlcmVmb3JlIHRoZSAmcXVv dDttb2RhbCBhc3BlY3QmcXVvdDsgaW4gdGhlaXIgZGVmaW5pdGlvbnMuIEFsbCB0ZW5zZSBzdW10 Y2l0YSB3YXMgdGhlbiBub3QgY29uc2lkZXJlZCBzdW10Y2l0YSBhdCBhbGwsIGJ1dCByYXRoZXIg JnF1b3Q7c2VsYnJpIHRjaXRhJnF1b3Q7LiBBIG1vZGVybiB1bmRlcnN0YW5kaW5nIG9mIExvamJh biBpcyBnYWluaW5nIHBvcHVsYXJpdHksIHdoZXJlaW4gdGhlIHRlbnNlIHN1bXRjaXRhIGFyZSBj b25zaWRlcmVkIHN1bXRjaXRhLCBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBCQUksIGFuZCBpbiB3 aGVyZSBzZWxicmkgdGNpdGEgYXJlIG5vdCB1c2VkLiA8YnIgLz5CZWNhdXNlIG9mIHRoZXNlIGZv dXIgd29yZHMnIGhpc3RvcnkgYXMgc2VsYnJpIHRjaXRhLCB0aGV5IGNhbiBiZSBmcmVlbHkgZWxp ZGVkIC0gaW5kZWVkLCBzaW5jZSBvbmUgb2YgdGhlIGZvdXIgd29yZHMgYWx3YXlzIGFwcGxpZXMs IG9uZSBpcyBhbHdheXMgYXNzdW1lZCB0byBiZSBlbGlkZWQuIFRoaXMgaXMgbW9zdCBvZnRlbiAn J2NhJ2EnJy4gSW5kZWVkLCBpdCdzIHNvIG9mdGVuICcnY2EnYScnIHRoYXQgb25lIGNvdWxkIHdv bmRlciB3aHkgJydjYSdhJycgaXMgbm90IHRoZSBkZWZhdWx0LjxiciAvPk9uZSByZWFzb24gaXMg dGhhdCBzb21lIHNlbGJyaSBoYXMgdHdvIHVzZWZ1bCBkZWZpbml0aW9ucywgb25lIHdoaWNoIGlt cGxpZXMgJydrYSdlIFNFTEJSSScnIGFuZCBvbmUgd2hpY2ggaW1wbGllcyAnJ2NhJ2EgU0VMQlJJ JycuIEZvciBhbiBleGFtcGxlLCBzZWUgJydmYXNudScnLCB3aGljaCBjYW4gbWVhbiAmcXVvdDt4 MSBpcyBoYXBwZW5pbmcmcXVvdDsgb3IgJnF1b3Q7eDEgaXMgYW4gZXZlbnQmcXVvdDssIHdoZXJl IHRoZSBmaXJzdCBpbXBsaWVzICcnY2EnYSBmYXNudScnIGFuZCB0aGUgc2Vjb25kICcna2EnZSBm YXNudScnPGJyIC8+QW5vdGhlciB1c2Ugb2YgJnF1b3Q7aW1wbGllZCAnJ2thJ2UnJyZxdW90OyBp cyBhcyBhIHdheSB0byBlc2NhcGUgYW4gYW5ub3lpbmcgcGhpbG9zb3BoaWNhbCBwcm9ibGVtIGlu IHRoZSBsYW5ndWFnZS4gQSBzZWxicmkgb25seSBhcHBsaWVzIGlmIGFsbCBpdHMgcGxhY2VzIGFw cGx5IHRvby4gRm9yIHNvbWUgc2VsYnJpLCBsaWtlICcna2FicmknJywgdGhhdCdzIGEgcHJvYmxl bS48YnIgLz5fXycna2FicmknJ19fIHgxIGlzIGEgY3VwIGNvbnRhaW5pbmcgY29udGVudHMgeDIg YW5kIG9mIG1hdGVyaWFsIHgzPGJyIC8+VGhlIGRlZmluaXRpb24gc3VnZ2VzdHMgdGhhdCBpZiB0 aGUgY29udGVudCBvZiB0aGUgY3VwIGlzIHJlbW92ZWQsIHRoZSB4MiBubyBsb25nZXIgYXBwbGll cyBhbmQgaXQgc3RvcHMgYmVpbmcgJydsbyBrYWJyaScnLiBJbXBsaWVkICcna2EnZScnLCBvciBt b3JlIGZpdHRpbmdseSwgJydudSdvJycsIGxldCB1cyBlc2NhcGUgdGhhdCBwcm9ibGVtLgoKLSBM YXN0bHksIHdlIGhhdmUgdGhlIHdvcmQgJyduaScnLCB0aGUgZGVmaW5pdGlvbiBvZiB3aGljaCBp cyBtdWNoIGNvbnRlc3RlZCBhbmQgZGlzY3Vzc2VkIGFtb25nIExvamJhbmlzdHMuIEF0IGxlYXN0 IHR3byBzbGlnaHRseSBkaWZmZXJlbnQgbWVhbmluZ3MgY2FuIGJlIGNvbnZleWVkIHdpdGggJydu aScnLCBwb3NzaWJseSBtb3JlLCBhbmQgaXQgaGFzIG5vdCBiZWVuIHNldHRsZWQgd2hpY2ggb25l IGlzIHRoZSBjb3JyZWN0IHVzZSBvZiAnJ25pJycuIExldCdzIGZpcnN0IHNlZSBob3cgdGhlIHdv cmQgaXMgZ2xvc3NlZDoKLSBfXycnbmknJ19fIHgxIGlzIHRoZSBxdWFudGl0eSBvZiBCUklESSBh cyBtZWFzdXJlZCBhdCBzY2FsZSB4MgotIFVubGlrZSB0aGUgeDEgb2YgJydqZWknJywgdGhlIHgx IG9mICcnbmknJyBfX2lzX18gdXNlZnVsIHRvIHRyZWF0IGFzIGEgbnVtYmVyLiBUaGUgZGlzY3Vz c2lvbiBhcmlzZXMgYmVjYXVzZSBpdCdzIHBvc3NpYmxlIHRvIHF1YW50aWZ5IGJyaWRpIGluIHNl dmVyYWwgd2F5cy4gVGhlIGZvbGxvd2luZyBmb3VyIGV4YW1wbGVzIHNob3cgdHdvIGRpZmZlcmVu dCB3YXlzOgotIF9fJyd4YW1zaScnX18geDEgaXMgdGhlL2Egc2VhL29jZWFuIG9mIHBsYW5ldCB4 MiBtYWRlIG9mIGZsdWlkIHgzCi0gX18nJ2NlbmJhJydfXyB4MSB2YXJpZXMgaW4gcHJvcGVydHkv YW1vdW50IHgyIGJ5IGFtb3VudC9kZWdyZWUgeDMgdW5kZXIgY29uZGl0aW9ucyB4NAotICcnbGUg eGFtc2kgY3UgY2VuYmEgbGUgbmkgY2UndSBibGFudScnIC0gIlRoZSBvY2VhbiB2YXJpZXMgaW4g Ymx1ZW5lc3MiIChtZWFuaW5nIHRoYXQgaXQgbWlnaHQgYmUgbGVzcyBvciBtb3JlIGJsdWUsIGNv bnRyYXN0IHdpdGggJydsZSB4YW1zaSBjdSBjZW5iYSBsZSBrYSBjZSd1IGJsYW51JycsIHdoaWNo IG1lYW5zIHRoYXQgaXQgdmFyaWVzIGluIHdoZXRoZXIgaXQncyBibHVlIG9yIG5vdCkKLSAnJ21p IHptYWR1IGRvIGxvIG5pIHBlbmRvIGNlJ3UnJy0gIkkgaGF2ZSBtb3JlIGZyaWVuZHMgdGhhbiB5 b3UiCi0gV2hlcmUgdGhlIGZpcnN0IGV4YW1wbGUgdXNlcyAnJ25pJycgdG8gcXVhbnRpZnkgaG93 IG11Y2ggYW4gb2JqZWN0IGlzIGNoYXJhY3Rlcml6ZWQgYnkgYSBzZWxicmksIGFuZCB0aGUgc2Vj b25kIGV4YW1wbGUgdG8gcXVhbnRpZnkgaG93IG1hbnkgeCBhcmUgY2hhcmFjdGVyaXplZCBieSBh IHNlbGJyaS4KLSBUaGlzIGlzLCBvZiBjb3Vyc2UsIGEgcHJvYmxlbSB0byBhIGxhbmd1YWdlIGxp a2UgTG9qYmFuLCB3aGljaCBwcmlkZXMgaXRzZWxmIHdpdGggdW5hbWJpZ2l1dHkuIFRoaXMgcHJv YmxlbSBoYXZlIG5vdCBiZWVuIHNvbHZlZCB5ZXQsIGFuZCBzbyBhcyBvZiBub3csIHdlIGFyZSBz dHVjayB3aXRoICcnbmknJyBoYXZpbmcgZHVhbCBtZWFuaW5ncy4gIAotIFRoZXJlIGlzIGFsc28g c2xpZ2h0IGRpc2FncmVlbWVudCBhYm91dCB3aGF0IGl0IG1ha2VzIHNlbnNlIHRvIHF1YW50aWZ5 LCB0aG91Z2ggdGhpcyBpcyBhIHBoaWxvc29waGljYWwgcmF0aGVyIHRoYW4gbGluZ3Vpc3RpYyBk ZWJhdGUuIFNvbWUgdGV4dHMgc3RyZXNzIHRoYXQgdGhvc2UgdGhpbmdzIHdoaWNoIGFyZSBub3Qg ZWFzaWx5IHF1YW50aWZpYWJsZSBsaWtlICcnbGUgbmkgbWkgdHVuYmEgZG8nJywgdGhlIGFtb3Vu dCBvZiBtZSBiZWluZyB5b3VyIHNpYmxpbmcsIG1ha2VzIG5vIHNlbnNlIGkgYSAnJ25pJyctY29u c3RydWN0LiBGb3Igb3RoZXJzIHRoaXMgaXMgYSBwZXJmZWN0bHkgcmVhc29uYWJsZSB0aGluZyB0 byBzYXksIGV2ZW4gdGhvdWdoIGFjdHVhbGx5IG1lYXN1cmluZyBpdCBpcyBub3QgcHJhY3RpY2Fs LCBzaW1pbGFybHkgdG8gdGhlIEVuZ2xpc2ggcXVhbnRpZmljYXRpb24gb2YgbG92ZSBpbiB0aGUg c2VudGVuY2UgIkkgZGlkbid0IGtub3cgaG93IG11Y2ggSSBsb3ZlZCB5b3UgdW50aWwgbm93Ii4K LSBCb3RoICcna2EnJyBhbmQgJyduaScnIGFsd2F5cyBoYXMgYW4gZXhwbGljaXQgb3IgaW1wbGlj aXQgJydjZSd1JycuCgohISFFbmQgb2YgbGVzc29ucwotIFNvcnJ5LCBidXQgYXMgb2Ygbm93LCB0 aGVyZSBhcmUgbm8gbW9yZSBsZXNzb25zIGluIHRoaXMgc2VyaWVzLiBQZXJoYXBzIG1vcmUgd2ls bCBiZSBhZGRlZCBsYXRlci4KKyBTb3JyeSwgYnV0IGFzIG9mIG5vdywgdGhlcmUgYXJlIG5vIG1v cmUgbGVzc29ucyBpbiB0aGlzIHNlcmllcy4gUGVyaGFwcyBtb3JlIHdpbGwgYmUgYWRkZWQgbGF0 ZXIuIE1lYW53aGlsZSwgZmVlbCBmcmVlIHRvIHZpc2l0ICgod2F2ZWxlc3NvbnNjb250aW51ZWR8 dGhlIGZpcnN0IHBhcnQgb2YgV2F2ZWxlc3NvbnNjb250aW51ZWQpKSBvciAoKHdhdmVsZXNzb25z Y29udGludWVkfFRoZSBzZWNvbmQgcGFydCBvZiBXYXZlbGVzc29uc2NvbnRpbnVlZCkpLgoKCgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiFMb2piYW4gV2F2ZSBM ZXNzb25zIENvbnRpbnVlZCAocGFydCB0aHJlZSk6CgohISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGgg aGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2YgbGEgLmty aWJhY3IuIFNwcmluZyAyMDEzLgoKCgpXZWxjb21lIHRvIHRoZSB0aGlyZCBwYXJ0IG9mIFRoZSBX YXZlbGVzc29uc2NvbnRpbnVlZC4gSWYgeW91IHdhbnQgdG8gZ28gYmFjayB0byAoKHdhdmVsZXNz b25zY29udGludWVkfHRoZSBmaXJzdCBwYXJ0KSkgb3IgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAy fHRoZSBzZWNvbmQgcGFydCkpLCBqdXN0IGNsaWNrIG9uIHRoZSB3b3JkcyByZXByZXNlbnRpbmcg dGhlbSBpbiB0aGlzIHNlbnRlbmNlLiBUaGlzIHRoaXJkIHBhcnQgaXMgYWJvdXQgYWR2YW5jZWQg TG9qYmFuLiBUaGUgTG9qYmFuIGluIHRoaXMgcGFydCBpcyByYXJlbHkgcmVsZXZhbnQgd2hlbiBz cGVha2luZyBMb2piYW4gaW4gbm9ybWFsIGNvbnRleHRzLCBidXQgaXQgcG9wcyB1cCBxdWl0ZSBv ZnRlbiB3aGVuIHNwZWFraW5nIGFib3V0IGxhbmd1YWdlIGFuZCBsb2dpYy4gCgpUaGVzZSBjb3Ju ZXJzIG9mIExvamJhbiBpcyBmb3IgdGhlIG1vc3QgcGFydCBleHBlcmltZW50YWwsIG5ldyBvciBj b21wbGV4LCBzbyB5b3Ugc2hvdWxkIGV4cGVjdCBhIGxvdCBvZiBjaGFuZ2luZyBkZWZpbml0aW9u cywgb3V0ZGF0ZWQgZGVmaW5pdGlvbnMsIGRpc2FncmVlbWVudHMgYW5kIG1pc3VuZGVyc3RhbmRp bmdzIG9uIHRoZSBwYXJ0IG9mIHRoZSBhdXRob3Igb2YgdGhpcyB0ZXh0LiBTb3JyeSBhYm91dCB0 aGF0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1zZXZlbiAobG9qYmFuIGxv Z2ljOiBkYSwgYnUnYSwgem8ndSBhbmQgdGVybXMpCgpUaGUgc3RhdGVkIHRvcGljIG9mIHRoaXMg bGVzc29uIG5lZWRzIHNvbWUganVzdGlmaWNhdGlvbjogVGhpcyBsZXNzb24gaXMgbm90IHJlYWxs eSBhYm91dCBob3cgZG8gdG8gbG9naWMgaW4gTG9qYmFuLCBzaW5jZSBmaXJzdGx5LCBsb2dpYyBp cyBwcmVzdW1hYmx5IHRoZSBzYW1lIGluIGFsbCBsYW5ndWFnZXMsIGFuZCBzZWNvbmRseSwgYWN0 dWFsbHkgdGVhY2hpbmcgbG9naWMgd291bGQgYmUgdG90YWxseSBpbXByYWN0aWNhbCBpbiBvbmUg c2luZ2xlIGxlc3Nvbi4gUmF0aGVyLCB0aGlzIGxlc3NvbiBpcyBleHBsYWlucyBzb21lIGNvbnN0 cnVjdHMgd2hpY2ggcmVzZW1ibGVzIHRob3NlIHdoaWNoIGxvZ2ljaWFucyB1c2UuIEl0IHR1cm5z IG91dCB0aGV5IGhhdmUgYSByZW1hcmthYmxlIHdpZGUgcmFuZ2Ugb2YgdXNlcyBpbiBMb2piYW4u CgoKCkdldHRpbmcgaW52b2x2ZWQgaW4gdGhlIG1vcmUgb2JzY3VyZSBkZXRhaWxzIG9mIHRoZXNl IGxvZ2ljYWwgY29uc3RydWN0cyBjYW4gYmUgbWluZC13YXJwaW5nbHkgZGlmZmljdWx0LCBhbmQg dGhlcmUgd2lsbCBhbHdheXMgYmUgc29tZSBkaXNhZ3JlZW1lbnQgaW4gdGhlIGNvcm5lcnMgb2Yg dGhpcyBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4KCgoKTGVhcm5pbmcgdGhlc2UgbG9naWNhbCBjb25z dHJ1Y3RzIHJlcXVpcmVzIG9uZSB0byBsZWFybiBhIGJpdCBhYm91dCBjb25zdHJ1Y3RzIHdoaWNo IGFyZSBub3QgbG9naWNhbCBpbiBuYXR1cmUuIExldCdzIGJlZ2luIHdpdGggJyd6byd1JycKCgoK X18nJ3pvJ3UnJ19fIFNlcGFyYXRlcyBwcmVuZXggZnJvbSBicmlkaQoKCgpCZWZvcmUgYW55ICcn em8ndScnIGlzIHRoZSBwcmVuZXgsIGFmdGVyICcnem8ndScnIGlzIHRoZSBicmlkaS4gSW5mb3Jt YWxseSwgYSBwcmVuZXggaXMgYSBwbGFjZSBpbiBmcm9udCBvZiB0aGUgYnJpZGksIHdoZXJlIHlv dSBwdXQgYSBidW5jaCBvZiB0ZXJtcy4gQSB0ZXJtIGlzIGFuIEVuZ2xpc2ggd29yZCBnaXZlbiB0 byBzb21lIGtpbmRzIG9mIExvamJhbiBjb25zdHJ1Y3RzOiBTdW10aSwgc3VtdGNpdGEgd2l0aCBv ciB3aXRob3V0IHN1bXRpIGF0dGFjaGVkLCAnJ25hIGt1JycgYW5kIGFuIGFib21pbmF0aW9uIGNh bGxlZCBfX3Rlcm1zZXRzX18sIHdoaWNoIEkgcmVmdXNlIHRvIGluY2x1ZGUgaW4gdGhlc2UgbGVz c29ucy4gVGhlIHByZW5leCBpcyBub3QgcGFydCBvZiB0aGUgYnJpZGksIGJ1dCBhbnkgdGVybXMg cHV0IGluc2lkZSBpdCBnaXZlcyB1cyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYnJpZGkuIE9uZSBj YW4sIGZvciBleGFtcGxlLCB1c2UgaXQgdG8gc3RhdGUgYSB0b3BpYyBhcyBzaG93biB0aHVzOgoK CgonJ2xvIHBhbXBlJ28gamUgbmFpIHNwZW5pIHpvJ3UgbWkgbmEgenVucmUnJyAtICJDb25jZXJu aW5nIGxvdmVycyB3aG8gYXJlIG5vdCBzcG91c2VzOiBJIGRvIG5vdCBhcHByb3ZlIi4gVGhlIGJl bmVmaXRzIG9mIGtpbmQgb2Ygc2VudGVuY2Ugc3RydWN0dXJpbmcgaXMgcXVlc3Rpb25hYmxlLCBi dXQgaXQncyBhbHdheXMgZ29vZCB0byBoYXZlIHNvbWUgdmFyaWF0aW9uIHRvIHBsYXkgd2l0aC4g RnVydGhlcm1vcmUsIGNvbnN0cnVjdGluZyBzZW50ZW5jZXMgdGhpcyB3YXkgcmVzZW1ibGVzIE1h bmRhcmluIChhbmQgb3RoZXIgbGFuZ3VhZ2VzKSBjbG9zZWx5LCBtZWFuaW5nIGl0IG1pZ2h0IHNl ZW0gbW9yZSBpbnR1aXRpdmUgZm9yIHNwZWFrZXJzIG9mIHRoYXQgbGFuZ3VhZ2UuCgpfXycncGFt cGUnbycnX18geDEgaXMgYSBsb3ZlciBvZiB4MgoKX18nJ3p1bnJlJydfXyB4MSBhcHByb3ZlcyBv ZiB4MiAocGxhbiwgZXZlbnQgb3IgYWN0aW9uKQoKCgpPZiBjb3Vyc2UsIHRoZSByZWxhdGlvbiBi ZXR3ZWVuIHRoZSB0ZXJtcyBpbiB0aGUgcHJlbmV4IGFuZCB0aGUgYnJpZGkgaXMgdmFndWUuIE9u ZSBjYW4gaW1hZ2luZSBhbnkgc3VtdGkgaW4gdGhlIHByZW5leCBiZWFyaW5nIHRoZSBzYW1lIHJl bGV2YW5jZSB0byB0aGUgYnJpZGkgYXMgaWYgdGhleSB3ZXJlIHB1dCBpbiB0aGUgYnJpZGkgYWZ0 ZXIgYSAnJ2RvJ2UnJyBzdW10Y2l0YSwgYW5kIGFueSBzdW10Y2l0YSBpbiB0aGUgcHJlbmV4IGRv aW5nIHByZXR0eSBtdWNoIHRoZSBzYW1lIGFzIGlmIHRoZXkgd2VyZSBpbiB0aGUgYnJpZGkuIEl0 IGlzIHF1aXRlIHBvc3NpYmxlIHRvIHB1dCB0ZXJtcyBpbiBwcmVuZXhlcyB3aXRob3V0IGFueSBj bGVhciBoaW50cyBhcyB0byBob3cgdGhlIHRlcm0gbWF5IHJlbGF0ZSB0byB0aGUgYnJpZGk6Cgon J2xlIHRpIGdlcmt1IHpvJ3UgbWkgdG8nZSBuZWxjaSBsbyBjaWRqcnBpdHNhJycgLSAiQ29uY2Vy bmluZyB0aGlzIGRvZyBoZXJlOiBJIGRpc2xpa2UgcGl6emEuIiBJdCBsZWF2ZXMgeW91IGd1ZXNz aW5nIGFib3V0IHRoZSByZWFzb24gZm9yIG1lbnRpb25pbmcgdGhlIGRvZy4KCl9fJydjaWRqcnBp dHNhJydfXyB4MSBpcyBwaXp6YSB3aXRoIHRvcHBpbmcvaW5ncmVkaWVudHMgeDIKCgoKSWYgdGhl IHByZW5leCBjb250YWlucyAnJ25hIGt1JycsIGl0J3MgcHJldHR5IHN0cmFpZ2h0IGZvcndhcmQ6 IFRoZSBlbnRpcmUgYnJpZGkgaXMgbmVnYXRlZCwganVzdCBhcyBpZiB0aGUgYnJpZGkgaXRzZWxm IGJlZ2FuIHdpdGggJyduYSBrdScnLgoKCgpTbyBob3cgbG9uZyBkb2VzIGEgcHJlbmV4IGxhc3Q/ IEl0IGxhc3RzIHVudGlsIHRoZSBmb2xsb3dpbmcgYnJpZGkgaXMgdGVybWluYXRlZC4gSWYgdGhh dCBpcyBub3QgZGVzaXJlZCwgdGhlcmUgYXJlIHR3byB3YXlzIHRvIG1ha2UgaXQgYXBwbHkgdG8g c2V2ZXJhbCBicmlkaTogT25lIGlzIHRvIHB1dCBzb21lIGtpbmQgb2YgY29ubmVjdGl2ZSBhZnRl ciB0aGUgJycuaScnIHNlcGFyYXRpbmcgdGhlIGJyaWRpLCBhbmQgYW5vdGhlciBtZXRob2QgaXMg dG8gc2ltcGx5IGluY2x1ZGUgYWxsIG9mIHRoZSB0ZXh0IGluICcndHUnZScnIC4uLiAnJ3R1J3Un Jy1icmFja2V0cy4gVGhlc2UgYnJhY2tldHMgd29yayBwcmV0dHkgbXVjaCBieSBnbHVpbmcgYWxs IHRoZSBicmlkaSB0b2dldGhlciBhbmQgbWFrZXMgYWxsIHNvcnRzIG9mIGNvbnN0cnVjdCBhcHBs eSB0byBzZXZlcmFsIGJyaWRpLgoKCgpOb3cgdGhhdCB3ZSBjb3ZlcmVkICcnem8ndScnLCB0aGUg Zmlyc3QgImxvZ2ljYWwiIHdvcmRzIHdlIGNhbiB1c2UgaXQgd2l0aCBhcmUgdGhlc2U6CgpfXycn ZGEnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAxCgpfXycn ZGUnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAyCgpfXycn ZGknJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAzCgoKClRo ZXNlIHdvcmRzIGFyZSBhbGwgdGhlIHNhbWUsIGxpa2UgdGhlIG1hdGhlbWF0aWNhbCB2YXJpYWJs ZXMgeCwgeSBhbmQgei4gT25jZSB5b3UgaGF2ZSBkZWZpbmVkIHRoZW0sIGhvd2V2ZXIsIHRoZXkg a2VlcCByZWZlcmluZyB0byB0aGUgc2FtZSB0aGluZy4gVGhlc2Ugd29yZHMgYXJlIGRlZmluZWQg aW4gdGhlIHByZW5leCBvZiBicmlkaSwgbWVhbmluZyB0aGF0IHdoZW4gdGhlIHByZW5leCBzdG9w IGFwcGx5aW5nLCB0aGUgZGVmaW5pdGlvbiBvZiB0aGVzZSB0aHJlZSB3b3JkcyBhcmUgY2FuY2Vs bGVkLgoKCgpUaGUgd29yZHMgJydkYScnLCAnJ2RlJycgYW5kICcnZGknJyBjYW4gcmVmZXIgdG8g bGl0ZXJhbGx5IGFueSBzdW10aSwgd2hpY2ggbWFrZXMgdGhlbSBraW5kIG9mIHVzZWxlc3MgdW5s ZXNzIHJlc3RyaWN0ZWQgaW4gc29tZSB3YXkuIFRoZSBmaXJzdCBhbmQgZm9yZW1vc3Qgd2F5IHRv IHJlc3RyaWN0IHRoZW0gaXMgdG8gcXVhbnRpZnkgdGhlbTogVGhleSBhcmUgbm90IGNhbGxlZCAi bG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLXN1bXRpIiBmb3Igbm90aGluZy4g VGhleSBhcmUgcHJvLXN1bXRpLCB0aGV5IGFyZSBtb3N0IHVzZWZ1bCB3aGVuIHF1YW50aWZpZWQs IGFuZCB0aGV5IGFyZSBleGlzdGVudGlhbC4gV2hhdCBkb2VzIGl0IG1lYW4sIGJlaW5nICJleGlz dGVudGlhbCI/IEl0IG1lYW5zIHRoYXQgaWYgdGhleSBhcmUgdXNlZCwgdGhhdCBpbXBsaWVzIHRo YXQgdGhleSBhY3R1YWxseSByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggZXhpc3RzLiBBbiBleGFt cGxlOgoKCgpUaGUgc3RhdGVtZW50ICcncGEgZGEgem8ndSBkYSBnZXJrdScnIGhhcyAnJ3BhIGRh JycgaW4gdGhlIHByZW5leCwgd2hpY2ggbWVhbnMgIkNvbmNlcm5pbmcgb25lIGV4aXN0aW5nIHRo aW5nOiIsIGFuZCB0aGVuICcnZGEnJywgbm93IGRlZmluZWQsIGlzIHVzZWQgaW4gdGhlIGJyaWRp ICcnZGEgZ2Vya3UnJy4gVHJhbnNsYXRlZCB0byBFbmdsaXNoLCB0aGlzIG1lYW5zOiAiVGhlcmUg ZXhpc3RzIG9uZSB0aGluZyB3aGljaCBpcyBhIGRvZyIuIFRoaXMgaXMgb2J2aW91c2x5IGZhbHNl LCB0aGVyZSBhcmUgYXJvdW5kIDQwMCwwMDAsMDAwIG9mIHRoZW0gaW4gdGhlIHdvcmxkLiBJZiAn J2RhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBub3QgcXVhbnRpZmllZCwgdGhlIG51bWJlciAnJ3N1 J28nJyBpcyB0aGUgZGVmYXVsdC4gVGh1cyAnJ2RhIHpvJ3UgZGEgZ2Vya3UnJyBtZWFucyAiVGhl cmUgZXhpc3QgYXQgbGVhc3Qgb25lIHRoaW5nIHdoaWNoIGlzIGEgZG9nIiwgd2hpY2ggaXMgdHJ1 ZS4gTm90aWNlIGhlcmUsIHRoYXQgYW55IHF1YW50aWZpY2F0aW9uIG11c3QgYmUgbW9yZSBvciBs ZXNzIGV4YWN0IGluIG9yZGVyIHRvIGJlIHRydWU6IE9mIGNvdXJzZSBvbmUgZG9nIGV4aXN0cywg YnV0IGluIExvamJhbiwgJydwYSBkYSB6byd1IGRhIGdlcmt1JycgbWVhbnMgbm90IG9ubHkgdGhh dCBkb2VzIG9uZSBkb2cgZXhpc3RzLCBidXQgYWxzbyB0aGF0IG5vIG1vcmUgdGhhbiBvbmUgZG9l cy4gCgoKClRoZXJlIGFyZSBhIGZldyBzcGVjaWZpYyBydWxlcyB0byB0aGVzZSBleGlzdGVudGlh bCBwcm8tc3VtdGk6CgotIElmIHRoZSBxdWFudGlmaWVyICcncm8nJyBpcyB1c2VkIGJlZm9yZSAn J2RhJycsIGl0IGluc3RlYWQgcmVmZXJzIHRvICJhbGwgd2hpY2ggZXhpc3RzIi4gIAoKLSBJbXBv cnRhbnRseSwgdGhlIHVzYWdlIG9mIGFuIGV4aXN0ZW50aWFsIHByby1zdW10aSBvbmx5IGFzc2Vy dHMgdGhhdCBzdWNoIGEgdGhpbmcgZXhpc3RzIF9faW4gdGhlIGRvbWFpbiBvZiB0cnV0aCB3aGVy ZSBpdCdzIHVzZWRfXy4gVGh1cywgaW4gdGhlIHNlbnRlbmNlICcnc28nZSB2ZXJiYSBjdSBrcmlj aSBsbyBkdSd1IHN1J28gZGEgY3JpZGEnJywgZG9lcyBub3Qgc3RhdGUgJydkYSBjcmlkYScnLCBz aW5jZSBpdHMgImRvbWFpbiBvZiB0cnV0aCIgaXMgb25seSBpbnNpZGUgdGhlIGR1J3UtYWJzdHJh Y3Rpb24uIEdlbmVyYWxseSBzcGVha2luZywgYWJzdHJhY3Rpb25zIGNvbnRhaW4gdGhlaXIgb3du IGRvbWFpbiBvZiB0cnV0aCwgc28gdXNpbmcgJydkYScnIGFuZCBmcmllbmRzIGluc2lkZSBhbiBh YnN0cmFjdGlvbiBpcyB1c3VhbGx5IHNhZmUuCgotIElmIHRoZSBzYW1lIHZhcmlhYmxlIGlzIHF1 YW50aWZpZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGZpcnN0IHF1YW50aWZpY2F0aW9uIGlzIHRoZSBv bmUgd2hpY2ggc3RpY2tzOiBBbnkgbGF0ZXIgcXVhbnRpZmllZCBpbnN0YW5jZSBvZiB0aGF0IHZh cmlhYmxlIGNhbiByZWZlciBvbmx5IHRvIHRoaW5ncyB3aGljaCBhcmUgYWxzbyBiZWluZyByZWZl cnJlZCB0byBieSB0aGUgZmlyc3QgaW5zdGFuY2Ugb2YgdGhhdCB2YXJpYWJsZSwgYW5kIGFueSBs YXRlciBub24tcXVhbnRpZmllZCBpbnN0YW5jZSBvZiB0aGF0IHZhcmlhYmxlIHdpbGwgZ2FpbiB0 aGUgZmlyc3QgcXVhbnRpZmllci4gVG8gdXNlIGFuIGV4YW1wbGU6ICcnY2kgZGEgem8ndSByZSBk YSBiYXJkYSAuaWplIGRhIHBlbHh1JycgbWVhbnMgIlRoZXJlIGV4aXN0cyB0aHJlZSB0aGluZ3Mg c3VjaCB0aGF0IHR3byBvZiB0aGVtIGFyZSBiaWcgYW5kIGFsbCB0aHJlZSBhcmUgeWVsbG93Ii4g JydyZSBkYScnLCBiZWluZyBhZnRlciAnJ2NpIGRhJycsIGNhbiBvbmx5IHJlZmVyIHRvIHR3byBv ZiB0aGUgYWxyZWFkeSBzdGF0ZWQgdGhyZWUgdGhpbmdzLiBXaGVuICcnZGEnJyBhcHBlYXJzIHdp dGhvdXQgYSBxdWFudGlmaWVyLCAnJ2NpJycgaXMgYXNzdW1lZC4KCi0gSWYgdGhlcmUgYXJlIHNl dmVyYWwgdGVybXMgaW4gdGhlIHByZW5leCwgdGhlIHRlcm1zIGFyZSBhbHdheXMgcmVhZCBsZWZ0 IHRvIHJpZ2h0LiBTb21ldGltZXMsIHRoaXMgbWF0dGVyczogJydybyBkYSBkZSB6byd1IGRhIHBy YW1pIGRlJycgbWVhbnMgIkNvbmNlcm5pbmcgYWxsIHRoZSB0aGluZ3MgWCB0aGF0IGV4aXN0cywg Y29uY2VybmluZyBhdCBsZWFzdCBvbmUgdGhpbmcgWTogWCBsb3ZlcyBZIi4gVGhpcyBpcyB0aGUg c2FtZSBhcyAiQWxsIHRoaW5ncyBsb3ZlIGF0IGxlYXN0IG9uZSB0aGluZy4iLCB3aGVyZSB0aGUg InRoaW5nKHMpIiBjYW4gYmUgYW55dGhpbmcsIGluY2x1ZGluZyB0aGUgdGhpbmcgaXRzZWxmLiBO b3RlIGhlcmUgdGhhdCAnJ2RlJycgY2FuIHJlZmVyIHRvIGRpZmZlcmVudCB0aGluZ3MgZm9yIGVh Y2ggJydkYScnIC0gdGhlIHRoaW5nIHdoaWNoIGlzIHJlZmVycmVkIHRvIGJ5ICcnZGUnJyBpcyBk ZXBlbmRlbnQgb24gdGhlICcnZGEnJywgc2luY2UgaXQgY2FtZSBiZWZvcmUgaXQgaW4gdGhlIHBy ZW5leCwgdGhlcmVmb3JlIGVhY2ggdGhpbmcgbWlnaHQgbG92ZSBzb21ldGhpbmcgZGlmZmVyZW50 LiBJZiB3ZSBzd2l0Y2hlZCB0aGUgcGxhY2VzIG9mICcnZGEnJyBhbmQgJydkZScnIGluIHRoZSBw cmVuZXgsIGEgZGlmZmVyZW50IHJlc3VsdCB3b3VsZCBhcmlzZTogJydkZSBybyBkYSB6byd1IGRh IHByYW1pIGRlJycgPSAiQ29uY2VybmluZyBhdCBsZWFzdCBvbmUgdGhpbmcgWSwgY29uY2Vybmlu ZyBhbGwgWCB3aGljaCBleGlzdHM6IFggbG92ZXMgWSIsIG1lYW5pbmcgIlRoZXJlIGV4aXN0cyBh dCBsZWFzdCBvbmUgdGhpbmcgd2hpY2ggZXZlcnl0aGluZyBsb3ZlcyIuCgoKCk9mIGNvdXJzZSwg Ym90aCBjbGFpbXMgYXJlIGNvbXBsZXRlbHkgZmFsc2UuIFRoZXJlIGFyZSBtYW55IHRoaW5ncyB3 aGljaCBsb3ZlcyBub3RoaW5nIC0gcm9ja3MsIG9yIGFic3RyYWN0IGNvbmNlcHRzLCBmb3IgZXhh bXBsZS4gTGlrZXdpc2UsIGl0J3MgaW1wb3NzaWJsZSB0byBjb25jaWV2ZSBvZiBzb21ldGhpbmcg d2hpY2ggZXZlcnl0aGluZyBsb3Zlcywgc2luY2UgImV2ZXJ5dGhpbmciIGFsc28gZW5jb21wYXNz ZXMgbm9uLXNlbnRpZW50IHRoaW5ncy4gV2UgbmVlZCBiZXR0ZXIgd2F5cyB0byByZXN0cmljdCB3 aGF0IHRoZXNlIHZhcmlhYmxlcyBjYW4gcG9pbnQgdG8uIE9uZSBnb29kIHdheSBvZiBkb2luZyBp dCBpcyB0byBtYWtlIHRoZW0gdGhlIHN1YmplY3Qgb2YgYSByZWxhdGl2ZSBjbGF1c2U6CgonJ3Jv IGRpIHBvaSByZW1uYSB6byd1IGJpcmthIGRpJycgPSAiQ29uY2VybmluZyBhbGwgWCB0aGF0IGV4 aXN0cywgd2hpY2ggaXMgaHVtYW46IFggaGFzIG9uZSBvciBtb3JlIGFybXMuIiBvciAiQWxsIGh1 bWFucyBoYXZlIGFybXMiLCB3aGljaCBpcyB0cnVlLCBhdCBsZWFzdCB3aGVuIHNwZWFraW5nIGlu IGEgcG90ZW50aWFsLCB0aW1lbGVzcyBzZW5zZS4KCl9fJydiaXJrYScnX18geDEgaXMgYW4gYXJt IG9mIHgyCgpXaGVuIHJlc3RyaWN0aW5nIGNsYWltcyB1c2luZyB0aGlzIGtpbmQgb2YgbG9naWNh bCAiZXhpc3RlbnRpYWwiIHZhcmlhYmxlLCBpdCdzIHZlcnkgaW1wb3J0YW50IHRvIHJlbWVtYmVy IHRoYXQgdW5sZXNzIHRoZXJlIGlzIGFuIGV4cGxpY2l0ICcnbm8nJyBhcyBhIHF1YW50aWZpZXIs IHRoZXNlIGtpbmQgb2Ygc3RhdGVtZW50cyBhbHdheXMgaW1wbHkgdGhhdCB0aGVyZSBfX2FjdHVh bGx5IGV4aXN0c19fIHNvbWV0aGluZyB3aGljaCBjYW4gYmUgcmVmZXJyZWQgdG8gYnkgJydkYScn LiBUaGVyZWZvcmUsIGFueSBraW5kIG9mIG5vbi1uZWdhdGVkIHN0YXRlbWVudCB3aGVyZSAnJ2Rh JycgcG9pbnRzIHRvIHNvbWV0aGluZyB3aGljaCBkb2VzIG5vdCBleGlzdCBpcyBmYWxzZSwgYXMg aW4gdGhpcyBleGFtcGxlOiAnJ3JvIGRhIHBvaSBwYXZ5c2VsamlybmEgem8ndSBkYSBzZSBqaXJu YScnIC0gIkFsbCB1bmljb3JucyBoYXZlIGhvcm5zIi4gVGhpcyBpcyB3cm9uZyBiZWNhdXNlLCBz aW5jZSAnJ2RhJycgaXMgZXhpc3RlbnNpYWwsIGl0IGFsc28gbWVhbnMgdGhhdCB0aGVyZSBtdXN0 IGV4aXN0IGF0IGxlYXN0IG9uZSB1bmljb3JuLgoKSW50ZXJlc3RpbmdseSwgd2hlbiB1c2luZyBh IHJlbGF0aXZlIGNsYXVzZSwgdGhlIHZhcmlhYmxlIGlzIGJlaW5nIHJlc3RyaWN0ZWQgcmVnYXJk bGVzcyBvZiB3aGV0aGVyIHlvdSB1c2UgJydwb2knJyBvciAnJ25vaScnLiBUaGlzIGlzIGJlY2F1 c2UgJydyZSBkYSBub2kgZ2Vya3UnJyBzdGlsbCBvbmx5IGNhbiByZWZlciB0byB0d28gdGhpbmdz IHdoaWNoIGFyZSBodW1hbnMuIFRoZXJlZm9yZSwgJydub2knJyBtYWtlcyBsaXR0bGUgc2Vuc2Ug d2l0aCAnJ2RhJycvJydkZScnLycnZGknJy4gQW55IGNsYXVzZSBpcyBhbHdheXMgcmVzdHJpY3Rp dmUsIHVubGVzcyBpdCdzIHJlYWxseSBzdHVwaWQgYW5kIG9idmlvdXMgbGlrZSAnJ2RlIG5vaSBn ZXJrdSBjdSBnZXJrdScnLgoKCgpJbiBmYWN0LCB5b3UgZG9uJ3QgcmVhbGx5IG5lZWQgdGhlIHBy ZW5leCB0byBkZWZpbmUgdGhlIHZhcmlhYmxlcy4gWW91IGNhbiB1c2UgdGhlbSBkaXJlY3RseSBh cyBzdW10aSBpbiB0aGUgYnJpZGksIGFuZCBxdWFudGlmeSB0aGVtIHRoZXJlLiBZb3Ugb25seSBu ZWVkIHRvIHF1YW50aWZ5IHRoZW0gdGhlIGZpcnN0IHRpbWUgdGhleSBhcHBlYXIsIHRob3VnaC4g VGh1cywgdGhlIHNlbnRlbmNlIGFib3V0IGh1bWFucyBoYXZpbmcgYXJtcyBjb3VsZCBiZSB0dXJu ZWQgaW50byAnJ2JpcmthIHJvIGRpIHBvaSByZW1uYScnLiBUaGUgb3JkZXIgb2YgdGhlIHZhcmlh YmxlcyBzdGlsbCBtYXR0ZXJzIHRob3VnaCwgYW5kIHNvIHRoZSBwcmVuZXggY2FuIGJlIHVzZWQg dG8gYXZvaWQgaGF2aW5nIHRvIG1lc3MgdXAgeW91ciBicmlkaSB0byBwbGFjZSB0aGUgdmFyaWFi bGVzIGluIHRoZSBjb3JyZWN0IG9yZGVyLiBXaGVuIGhhdmluZyBtb3JlIHZhcmlhYmxlcywgYSBw cmVuZXggaXMgdXN1YWxseSBhIGdvb2QgaWRlYS4KCgoKVGhlIHNlY29uZCBraW5kIG9mIGxvZ2lj YWwgd29yZHMgYXJlIGJhc2ljYWxseSB0aGUgc2FtZSBhcyB0aGUgdGhyZWUgd2UgaGF2ZSBhbHJl YWR5IGJlZW4gdGhvdWdoLCBidXQgdGhlc2UgYXJlIHByby1icmlkaSBpbnN0ZWFkIG9mIHByby1z dW10aToKCgoKX18nJ2J1J2EnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHBy by1icmlkaSAxCgpfXycnYnUnZScnX18gbG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwg cHJvLWJyaWRpIDIKCl9fJydidSdpJydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlh bCBwcm8tYnJpZGkgMwoKCgpUaGVzZSB3b3JrIHByZXR0eSBtdWNoIHRoZSBzYW1lIHdheSBhcyB0 aGUgb3RoZXIgdGhyZWUsIGJ1dCB0aGVyZSBhcmUgYSBmZXcgcG9pbnRzIHdoaWNoIGFyZSBpbXBv cnRhbnQgdG8gbWVudGlvbjoKClNpbmNlIG9ubHkgdGVybXMgY2FuIGdvIGluIHRoZSBwcmVuZXgs IHRoZXNlIHByby1icmlkaSBuZWVkIHRvIGhhdmUgYSBxdWFudGlmaWVyIGluIG9yZGVyIHRvIG1h a2UgdGhlbSBpbnRvIHN1bXRpLiBXaGVuIHF1YW50aWZpZWQgaW4gdGhlIHByZW5leCwgaG93ZXZl ciwgdGhlIHF1YW50aWZpZXIgd29ya3MgdmVyeSBkaWZmZXJlbnQgZnJvbSBxdWFudGlmaWVycyB3 aXRoIG5vcm1hbCBzZWxicmk6IEluc3RlYWQgb2YgcXVhbnRpZnlpbmcgdGhlIGFtb3VudCBvZiB0 aGluZ3Mgd2hpY2ggZml0cyB0aGUgeDEgb2YgdGhlIHNlbGJyaSB2YXJpYWJsZSwgaXQgZGlyZWN0 bHkgcXVhbnRpZmllcyB0aGUgYW1vdW50IG9mIHNlbGJyaSB3aGljaCBhcHBsaWVzLiBBZ2Fpbiwg dGhlIGRlZmF1bHQgcXVhbnRpZmllciBpcyAnJ3NvJ3UnJy4gVGh1cywgaW5zdGVhZCBvZiAnJ3Jl IGJ1J2Egem8ndScnIG1lYW5pbmcgIkNvbmNlcm5pbmcgdHdvIHRoaW5ncyB3aGljaCBpcyBpbiBy ZWxhdGlvbnNoaXAgWDoiLCBpdCBtZWFucyAiQ29uY2VybmluZyB0d28gcmVsYXRpb25zaGlwcyBY OiIKCgoKSXQncyBwcm9iYWJseSBnb29kIHRvIHNlZSBhbiBleGFtcGxlIG9mICcnYnUnYScnIHB1 dCB0byBwcmFjdGljZToKCicncm8gZGEgYnUnYSBsYSAuYmFiLicnID0gIkNvbnNpZGVyaW5nIGFs bCBYIHdoaWNoIGV4aXN0czogWCBpcyBpbiBhdCBsZWFzdCBvbmUgcmVsYXRpb25zaGlwIHdpdGgg Qm9iIiA9ICJFdmVyeXRoaW5nIGlzIHJlbGF0ZWQgdG8gQm9iIGluIGF0IGxlYXN0IG9uZSB3YXku Ii4gTm90aWNlIGFnYWluIHRoZSBvcmRlciBtYXR0ZXJzOiAnJ2J1J2Egcm8gZGEgem8ndSBkYSBi dSdhIEJvYicnIG1lYW5zOiAiVGhlcmUgaXMgYXQgbGVhc3Qgb25lIHJlbGF0aW9uc2hpcCBzdWNo IHRoYXQgZXZlcnl0aGluZyB0aGF0IGV4aXN0cyBpcyBpbiB0aGF0IHJlbGF0aW9uc2hpcCB3aXRo IEJvYiIuIFRoZSBmaXJzdCBzdGF0ZW1lbnQgaXMgdHJ1ZSAtIGZvciBhbnkgb25lIHRoaW5nLCBv bmUgY2FuIGluZGVlZCBtYWtlIHVwIHNvbWUgc2VsYnJpIHdoaWNoIHJlbGF0ZXMgYW55IGd1eSBj YWxsZWQgQm9iIGFuZCBpdC4gQnV0IEknbSBub3Qgc3VyZSB0aGUgbGF0dGVyIGlzIHRydWUgLSB0 aGF0IG9uZSBjYW4gbWFrZSBhIHNlbGJyaSB3aGljaCBjYW4gcmVsYXRlIGFueXRoaW5nLCBubyBt YXR0ZXIgd2hhdCBpdCBpcywgYW5kIEJvYi4KCgoKTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdoaWNo IHF1YW50aWZpZXMgc2VsYnJpOgoKJydjaSdpIGJ1J2Ugem8ndSBtaSBidSdlIGRvJycgLSAiQ29u Y2VybmluZyBhbiBpbmZpbml0ZSBhbW91bnQgb2YgcmVsYXRpb25zaGlwczogSSBhbSBpbiBhbGwg dGhvc2UgcmVsYXRpb25zaGlwIHdpdGggeW91LiIgb3IgIlRoZXJlIGV4aXN0cyBhbiBpbmZpbml0 ZSBhbW91bnQgb2YgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHVzIgoKWW91IGNhbid0IHF1YW50aWZ5 IHRoZSBzZWxicmkgdmFyaWFibGVzIGluIHRoZSBicmlkaSBpdHNlbGYsIHRob3VnaC4gVGhlbiBp dCB3aWxsIGFjdCBhcyBhIHN1bXRpOiAnJ21pIGNpJ2kgYnUnYSBkbycnIGlzIG5vdCBhIGJyaWRp LiBUaGVyZSBhcmUgc29tZSBzaXR1YXRpb24gd2hlcmUgdGhpcyB3aWxsIGJlY29tZSBwcm9ibGVt YXRpYyAtIGxlc3NvbiB0d2VudHktbmluZSB3aWxsIHRlYWNoIGhvdyB0byBvdmVyY29tZSB0aG9z ZSBwcm9ibGVtcy4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZWlnaHQgKHNl bWFudGljcyBvZiBzaW1wbGUgYWJzdHJhY3Rpb25zKQoKSSBmZWVsIGl0IGlzIG5lY2Vzc2FyeSB0 byByZXBlYXQgcGFydCBvZiB0aGUgZGlzY2xhaW1lciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhp cyBwYXJ0IG9mIHRoZSBXYXZlbGVzc29uc2NvbnRpbnVlZDogV2hhdCB5b3UgZmluZCBpbiB0aGlz IGxlc3NvbiBhbmQgdGhlIGZvbGxvd2luZyBpcyBub3QgZ29sZGVuIEJQRkstZGVmaW5pdGlvbnMs IGJ1dCBvbmUgaW50ZXJwcmV0YXRpb24uIEkgaGF2ZSBwaWVjZWQgdGhlIGxlc3NvbnMgdG9nZXRo ZXIgZnJvbSB0aGUgYmVzdCBhbmQgbW9zdCBjb25zaXN0ZW50IHRoZW9yaWVzIG9uIExvamJhbiwg YnV0IG1pbmQgdGhhdCB3aGF0IGlzIHRhdWdodCBpbiBoZXJlIG1pZ2h0IG5vdCBiZSB3aGF0IGFs bCBsb2piYW5pc3RzIGFncmVlIG9uLgoKV2hpbGUgeW91IGhhdmUgYmVlbiB0YXVnaHQgYWJvdXQg YWJzdHJhY3Rpb25zIHR3ZW50eS10d28gbGVzc29ucyBhZ28sIHRoZXJlIGFyZSBzdGlsbCBtYW55 IHR5cGVzIG9mIGFic3RyYWN0aW9uIHdpdGggd2hpY2ggeW91IGFyZSB1bmZhbWlsaWFyLCBhbmQg c29tZSBvZiB0aGUgb25lcyB5b3UgYXJlIGZhbWlsaWFyIHdpdGggaGF2ZSBub3QgYmVlbiBwcm9w ZXJseSBkZWZpbmVkLgoKCgpUaGUgZmlyc3QgYW5kIG1vc3QgYmFzaWMgYWJzdHJhY3RvciBpcyAn J3N14oCZdScnLCB3aGljaCB5b3UgYWxyZWFkeSBrbm93LgoKWW91IG1pZ2h0IHJlbWVtYmVyIGZy b20gbGVzc29uIHNpeCB0aGF0ICcnc3UndScnIGhhZCBhIHBsYWNlIHN0cnVjdHVyZSB3aXRoIHR3 byBzdW10aSBwbGFjZXMuIFRoZSBzZWNvbmQgc3VtdGkgcGxhY2Ugb2YgJydzdSd1JycgbWFrZXMg dGhlIHdvcmQgdmVyc2F0aWxlLCBhcyB0aGUgeDIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBob3cg dGhlIGFic3RyYWN0aW9uIHNob3VsZCBiZSBjb25zaWRlcmVkLgoKVGhlIEVuZ2xpc2ggcGhyYXNl IOKAnHRoYXQgSSBsb3ZlIHlvdeKAnSBpcyBkZWZpbml0ZWx5IGEgc3VtdGksIHNpbmNlIGl04oCZ cyBtZWFudCB0byBmdW5jdGlvbiBhcyBhIHN1YmplY3Qgb3Igb2JqZWN0IGluIGEgc2VudGVuY2Uu IEl04oCZcyBhbHNvIGNsZWFybHkgbWFkZSBmcm9tIGFuIGFic3RyYWN0aW9uLiBJdCBjYW4gdGhl cmVmb3JlIGJlIHRyYW5zbGF0ZWQgJydsbyBzdeKAmXUgbWkgZG8gcHJhbWknJy4gV2l0aG91dCB0 aGUgY29udGV4dCBvZiB0aGUgRW5nbGlzaCBzZW50ZW5jZSwgdGhvdWdoLCBpdOKAmXMgaGFyZCB0 byBndWVzcyB3aGF0IGtpbmQgb2YgYWJzdHJhY3Rpb24gd2FzIG1lYW50LiDigJxJIHdpbGwgZGll IGhhcHB5IGJ5IHRoZSB0aW1lIHRoYXQgSSBsb3ZlIHlvdS7igJ0gdHJlYXRzIHRoZSBhYnN0cmFj dGlvbiBhcyBhbiBldmVudCBoYXBwZW5pbmcgaW4gdGltZS4g4oCcVGhlIHRydXRoIGlzIHRoYXQg SSBsb3ZlIHlvdS7igJ0gdHJlYXRzIHRoZSBhYnN0cmFjdGlvbiBsaWtlIGEgYnJpZGksIHdoaWNo IGNhbiBiZSBjb25zaWRlcmVkIHRydWUgb3IgZmFsc2UuICJZb3UgZG9uJ3Qga25vdyBob3cgbXVj aCBJIGxvdmUgeW91IiB0cmVhdHMgdGhlIChhbG1vc3Qgc2FtZSkgYWJzdHJhY3Rpb24gYXMgYW4g YW1vdW50LiBVc2luZyB0aGUgc2Vjb25kIHN1bXRpIHBsYWNlIG9mICcnc3XigJl1JycsIHRoZXNl IGNhbiBiZSBleHBsaWNpdGx5IGRpc3Rpbmd1aXNoZWQgYmV0d2VlbjoKCicnbG8gc3XigJl1IG1p IGRvIHByYW1pIGtlaSBiZSBsbyBmYXNudScnIGlzIGFuIGV2ZW50LgoKJydsbyBzdeKAmXUgbWkg ZG8gcHJhbWkga2VpIGJlIGxvIGJyaWRpJycgaXMgYSBicmlkaS4KCicnbG8gc3XigJl1IG1pIGRv IHByYW1pIGtlaSBiZSBsbyBrbGFuaScnIGlzIGFuIGFtb3VudC4KCgoKVXNpbmcgJydzdeKAmXUn JyB0aGlzIHdheSwgdGhlIHNlbWFudGljLCB0aG91Z2ggbm90IGdyYW1tYXRpY2FsLCByYW5nZSBv ZiBhbGwgYWJzdHJhY3RvcnMgY2FuIGJlIGNvdmVyZWQuIE1vcmUgdXN1YWxseSwgdGhvdWdoLCBv dGhlciBhYnN0cmFjdG9ycyBhcmUgdXNlZC4gJydudScnLCB3aGljaCB5b3UgYWxzbyBrbm93LCB0 cmVhdHMgdGhlIGFic3RyYWN0aW9uIGFzIGFuIGV2ZW50LgoKX18nJ251JydfXyB4MSBpcyBhbiBl dmVudCBvZiBCUklESQoKCgpUaGVyZSBhcmUgbWFueSB3YXlzIHRvIHZpZXcgYW4gZXZlbnQsIGFu ZCBzbyB0aGVyZSBhcmUgZm91ciBvdGhlciBhYnN0cmFjdG9ycyB3aG9zZSBzZW1hbnRpY3MgYXJl IGFsbCBjb3ZlcmVkIGJ5ICcnbnUnJywgYnV0IG1vcmUgc3BlY2lmaWMuCgpfXycnbXXigJllJydf XyB4MSBpcyBhIHBvaW50LWxpa2UgZXZlbnQgb2YgQlJJREkgaGFwcGVuaW5nCgpfXycnemHigJlp JydfXyB4MSBpcyBhIHN0YXRlIG9mIEJSSURJIGJlaW5nIHRydWUKCl9fJydwdeKAmXUnJ19fIHgx IGlzIGEgcHJvY2VzcyBvZiBCUklESSB1bmZvbGRpbmcgdGhyb3VnaCBzdGFnZXMgeDIKCl9fJyd6 deKAmW8nJ19fIHgxIGlzIGFuIGFjdGl2aXR5IG9mIEJSSURJIGNvbnNpc3Rpbmcgb2YgdGhlIHJl cGVhdGVkIGV2ZW50IG9mIHgyCgoKClRoZSB1bmRlcnN0YW5kaW5nIG9mIHRoZXNlIGFic3RyYWN0 b3JzIGlzIHRpZWQgdG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgZXZlbnQgY29udG91cnMuICcnbXXi gJllJycgaXMgYWtpbiB0byB0aGUgZXZlbnQgY29udG91ciAnJ2Nv4oCZaScnIGluIHRoZSBzZW5z ZSB0aGF0IGJvdGggdHJlYXQgdGhlIGJyaWRpIGFzIHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3Bh Y2U6CgonJ2xlIG114oCZZSBtaSBrYW5ybyBiaW54byBjdSBzZSBkamljYSBtaScnIOKAkyDigJ1N ZSBiZWNvbWluZyBoZWFsdGh5IGlzIGRlc2lyZWQgYnkgbWXigJ0gaGFzIHRoZSBzZW1hbnRpYyBt ZWFuaW5nIHRoYXQgdGhlIHByb2Nlc3Mgb2YgYmVjb21pbmcgaGVhbHRoeSBpcyBub3QgYmVpbmcg Y29uc2lkZXJlZC4gSWYgaXQgY29uc2lzdHMgb2YgY2hlbW90aGVyYXB5LCBpdCBpcyBwbGF1c2li bGUgdGhhdCB0aGlzIHByb2Nlc3MgaXMgbm90IGRlc2lyZWQgYXQgYWxsLiDigJxCZWNvbWluZyBo ZWFsdGh54oCdLCBpbiBhIHBvaW50LWxpa2Ugc2Vuc2UgaXMgZGVzaXJlZCwgaG93ZXZlci4KCgoK Jyd6YeKAmWknJyBpcyBsaWtlIHRoZSBldmVudCBjb250b3VyICcnY2HigJlvJycgaW4gdGhlIHNl bnNlIHRoYXQgJydsZSB6YeKAmWkgQlJJREknJyBiZWdpbnMgdG8gYXBwbHkgd2hlbiB0aGUgYnJp ZGkgYmVnaW5zIGFuZCBzaGFycGx5IGVuZHMgd2hlbiB0aGUgYnJpZGkgY2Vhc2VzIHRvIGJlIHRy dWUsIG11Y2ggbGlrZSAnJ2Nh4oCZbycnLiAKCicnemHigJlvIHph4oCZaSBtaSBrYW5ybyBiaW54 bycnIG1lYW5zIHRoYXQgdGhlIHN0YXRlIG9mIG1lIGJlY29taW5nIGhlYWx0aHkgdG9vayB0b28g bG9uZyB0aW1lOyB0aGF0IHRoZSB0aW1lIGJldHdlZW4gbXkgaGVhbHRoIGJlZ2lubmluZyB0byBp bXByb3ZlIGFuZCBiZSBhY3R1YWxseSBiZWluZyBoZWFsdGh5IHdhcyBsb25nLXdpbmRlZC4KCgoK VGhlIGFjdHVhbCB0cmVhdG1lbnQgaXMgcGVyaGFwcyBiZXR0ZXIgY2F1Z2h0IGJ5ICcncHXigJl1 JycsIHdoaWNoLCBsaWtlIGV2ZW50IGNvbnRvdXJzIGluIGdlbmVyYWwsIHB1dHMgZW1waGFzaXMg b24gdGhlIGVudGlyZSBldmVudCBhcyB1bmZvbGRpbmcgdGhyb3VnaCB0aW1lLiAnJy5paSBiYSB6 aSBjb+KAmWEgcHXigJl1IG1pIGthbnJvIGJpbnhvIHZhdSAub2knJyBleHByZXNzZXMgZmVhciB0 aGF0IHRoZSBwYWluZnVsIHByb2Nlc3Mgb2YgYmVjb21pbmcgaGVhbHRoeSBpcyBhYm91dCB0byBi ZWdpbi4gVGhlIHgyIGlzIGZpbGxlZCBieSBhIHNlcXVlbmNlIG9mIHN0YWdlcywgd2hpY2ggY2Fu IGJlIG1hZGUgYnkgaW50ZXJzcGFjaW5nIHRoZSBzdGFnZXMgd2l0aCB0aGUgbm9uLWxvZ2ljYWwg Y29ubmVjdGl2ZSAnJ2Nl4oCZbycnOiAnJ3pl4oCZdSBwdeKAmXUgbWkga2Fucm8gYmlueG8ga2Vp IGxlIG51IG1pIGZhY2tpIGNl4oCZbyBsZSBudSBtaSBqYWkgdG9sc3RpIGNl4oCZbyBtaSByZW52 aScnIG1lYW5zIOKAnHNvbWV0aGluZyBpcyBhIGxvbmcgcHJvY2VzcyBvZiBtZSBiZWNvbWluZyBo ZWFsdGh5IGNvbnNpc3Rpbmcgb2YgdGhlIHN0YWdlcyBBICkgSSBmaW5kIG91dCBCICkgc29tZXRo aW5nIGFib3V0IG1lIGJlZ2lucyBDICkgSSBlbmR1cmUu4oCdCgoKCkZpbmFsbHksIHRoZSBzZW1h bnRpY3Mgb2YgJyd6deKAmW8nJyB0cmVhdHMgdGhlIGFic3RyYWN0aW9uIGFzIGNvbnNpc3Rpbmcg b2YgYSBudW1iZXIgb2YgcmVwZWF0ZWQgYWN0aW9uczogJydsbyB6YSdhIHpvJ3UgZGFyeGkgbG8g dGFueGUgY3Ugcmlua2EgbG8gY2EgbXUnZSBwb3JwaScnIOKAkyAiVGhlIG9ic2VydmVkIGFjdGl2 aXR5IG9mIGJlYXRpbmcgdGhlIGJveCBjYXVzZWQgaXRzIGN1cnJlbnQgYnJva2VubmVzcyIgaXMg bW9yZSBhY2N1cmF0ZSB0aGFuIHRoZSBzaW1pbGlhciBzZW50ZW5jZSB1c2luZyAnJ251JycsIGJl Y2F1c2UgJyd6dSdvJycgbWFrZXMgaXQgZXhwbGljaXQgdGhhdCBpdCB3YXMgdGhlIHJlcGVhdGlu ZyBvZiB0aGUgYWN0aW9uIG9mIGJlYXRpbmcsIG5vdCB0aGUgYmVhdGluZyBpbiBpdHNlbGYgd2hp Y2ggYnJva2UgdGhlIGJveC4KClRoZSB4MiBvZiAnJ3p1J28nJyBpcyBlaXRoZXIgb25lIGV2ZW50 IG9yIGEgc2VxdWVuY2Ugd2hpY2ggaXMgcmVwZWF0ZWQuIFRvIGJlIHVubmVjZXNzYXJpbHkgZXhw bGljaXQsIHdlIGNvdWxkIGhhdmUgc3RhdGVkIHRoYXQgdGhlIGNhdXNlIG9mIHRoZSBjdXJyZW50 IGJyb2tlbm5lc3Mgd2FzICcnbG8gem8ndSBkYXJ4aSBsbyB0YW54ZSBrZWkgbG9udSBsYWZ0aSBs byBncmFuYSBrZWkga3UgY2UnbyBsb251IG11dmdhdSBsbyBncmFuYSBsbyB0YW54ZSBrZWkga3Ug Y2UnbyAuLi4nJyBhbmQgc28gb24uCgoKCk5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAnJ211 4oCZZSBiYWpyYScnLCAnJ3ph4oCZaSBiYWpyYScnLCAnJ3B14oCZdSBiYWpyYScnLCAnJ3p14oCZ byBiYWpyYScnIGFuZCAnJ251IGJhanJhJycuIFRoZSBwb2ludC1saWtlIGV2ZW50IG9mIHJ1bm5p bmcgcHV0cyBlbXBoYXNpcyBvbiB0aGUgZXZlbnQgaGFwcGVuaW5nLCBidXQgbm90aGluZyBlbHNl LiBUaGUgc3RhdGUgb2YgcnVubmluZyBiZWdpbnMgd2hlbiB0aGUgcnVubmVyIGJlZ2lucyBhbmQg c3RvcHMgd2hlbiB0aGUgcnVubmVyIHN0b3BzLiBUaGUgcHJvY2VzcyBvZiBydW5uaW5nIGNvbnNp c3RzIG9mIGEgd2FybS11cCwga2VlcGluZyBhIHN0ZWFkeSBzcGVlZCwgYW5kIHRoZSBmaW5hbCBz cHJpbnQuIFRoZSBhY3Rpdml0eSBvZiBydW5uaW5nIGNvbnNpc3RzIHRoZSBjeWNsZXMgb2YgbGlm dGluZyBvbmUgZm9vdCwgbW92aW5nIGl0IGZvcndhcmQsIGRyb3BwaW5nIGl0IGRvd24sIHJlcGVh dCB3aXRoIHRoZSBvdGhlciBmb290LiBBbGwgb2YgdGhlc2UgYXNwZWN0cyBhcmUgc2ltdWx0YW5l b3VzbHkgY292ZXJlZCBieSB0aGUgZXZlbnQgb2YgcnVubmluZywgJydudSBiYWpyYScnLiAKCgoK U29tZSBhYnN0cmFjdGlvbnMgYXJlIGV2ZW4gbW9yZSBhYnN0cmFjdCB0aGFuIG1lcmUgZXZlbnRz LCB3aGljaCBhZnRlciBhbGwgYXJlIGJvdW5kIGluIHNwYWNlIGFuZCB0aW1lLiBPbmUgZXhhbXBs ZSBvZiBzdWNoIGlzICcnbGknaScnLCB0aGUgImV4cGVyaWVuY2UgYWJzdHJhY3Rpb24iOgoKX18n J2xpJ2knJ19fIEV4cGVyaWVuY2UgYWJzdHJhY3RvcjogeDEgaXMgeDIncyBpbnRlcm5hbCBleHBl cmllbmNlIG9mIEJSSURJCgpVbmxpa2UgZXZlbnQgYWJzdHJhY3Rpb25zLCB0aGlzIGlzIGV4cGxp Y2l0bHkgbWVudGFsIC0gYSAnJ2xpJ2knJy1hYnN0cmFjdGlvbiBjYW5ub3QgYmUgc2FpZCB0byBl eGlzdCBvdXRzaWRlIHRoZSBtaW5kIG9mIGEgcGVyc29uLiAnJ2xpJ2knJyBpcyBkZXJpdmVkIGZy b20gJydsaWZyaScnLCBhbmQgaXMgYWx3YXlzIGEgJydzZSBsaWZyaScnIC0gYW4gZXhwZXJpZW5j ZS4KCgoKVGhvdWdoIGl0J3Mgc29tZXdoYXQgcmVsYXRlZCB0byAnJ25pJycsIHRoaXMgbWlnaHQg YmUgYSBnb29kIHRpbWUgdG8gaW50cm9kdWNlICcnamVpJycgLSB0aGUgdHJ1dGgtYWJzdHJhY3Rp b24uIFRoaXMgaXMgb25lIG9mIHRoZSBsZWFzdCB1c2VkIGFic3RyYWN0aW9ucyBvZiB0aGVtIGFs bCwgYW5kIEkgb25seSBpbmNsdWRlIGl0IGhlcmUgZm9yIGNvbXBsZXRlbmVzcy4KCl9fJydqZWkn J19fOiBUcnV0aCBhYnN0cmFjdGlvbjogeDEgaXMgdGhlIHRydXRoLXZhbHVlIG9mIEJSSURJIHVu ZGVyIGVwaXN0ZW1vbG9neSB4MgoKQSAnJ2plaScnLWFic3RyYWN0aW9uIGlzIHNvbWV0aGluZyBi ZXR3ZWVuIHRydWUgYW5kIGZhbHNlLCBhbmQgY2FuIGJlIHJlcHJlc2VudGVkIGJ5IGEgbnVtYmVy IGJldHdlZW4gMCAoZmFsc2UpIGFuZCAxICh0cnVlKS4gVXNpbmcgJydqZWknJy1hYnN0cmFjdGlv bnMgaW4gbWF0aGVtYXRpY3MgaXMgaW5hZHZpY2FibGUsIHNpbmNlIGl0IGhhc24ndCBnb3QgYW55 IHByb3BlcnRpZXMgbm9ybWFsbHkgYXNzb2NpYXRlZCB3aXRoIG51bWJlcnMgLSBvbmUgbWlnaHQg YXMgd2VsbCByZXByZXNlbnQgdGhlIHRydXRoIHZhbHVlIG9uIGEgc3BlY3RydW0gb2YgY29sb3Ig ZnJvbSByZWQgdG8gYmx1ZS4KCicnamVpJycgaXMgcmFyZWx5IHVzZWQsIG5vdCBiZWNhdXNlIHRy dXRoIGFic3RyYWN0aW9ucyBhcmUgaW5mcmVxdWVudGx5IG5lZWRlZCwgYnV0IGJlY2F1c2UgbW9z dCBsb2piYW5pc3RzIHVzZSBvdGhlciBtZWNoYW5pc21zIHRvIG9idGFpbiB0aGVtLCBmb3IgaW5z dGFuY2UgJydrYXUnJywgYXMgZXhwbGFpbmVkIGxhdGVyIGluIHRoaXMgbGVzc29uLgoKJydtaSBk aSdpIHBlbnNpIGxvIGplaSBtaSBtZXJrbycnIC0gIkkgb2Z0ZW4gdGhpbmsgYWJvdXQgd2hldGhl ciBJIGFtIEFtZXJpY2FuIG9yIG5vdCIgKGNvbnRyYXN0IHdpdGggJydtaSBkaSdpIHBlbnNpIGxv IG5pIG1pIG1lcmtvJycgLSAiSSBvZnRlbiB0aGluayBhYm91dCBob3cgQW1lcmljYW4gSSBhbSIp CgoKClRoZSBmb2xsb3dpbmcgYWJzdHJhY3Rpb24gaXMgb25lIG9mIHRoZSBtb3N0IHdpZGVseSB1 c2VkIGFic3RyYWN0aW9uIGR1ZSB0byBpdHMgZnJlcXVlbnQgdXNlZnVsbmVzczoKCl9fJydkdSd1 JydfXzogQnJpZGkgYWJzdHJhY3Rpb246IHgxIGlzIHRoZSBicmlkaSBvZiBCUklESSwgYXMgcmVw cmVzZW50ZWQgYnkgdGV4dCB4MgoKIEFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQsIGFic3RyYWN0 aW9ucyBsaWtlIHRydXRocywgbGllcywgdGhpbmdzIGJlaW5nIGRpc2NvdmVyZWQgb3IgYmVsaWV2 ZWQgYXJlIGFsbCBwdXJlIGJyaWRpOgoKJycudWkgc2FpIHB1IHppIGZhY2tpIGxlIGR14oCZdSB6 aSBjaXRrYSBsbyBjaWRqcnBpdHNhJycg4oCTIOKAnFllcyEgSSBqdXN0IGZvdW5kIG91dCB0aGF0 IHBpenphIHdpbGwgYmUgZWF0ZW4gc29vbiHigJ0uCgogV2hhdCBpcyBiZWluZyBkaXNjb3ZlcmVk IGlzIHRoZSB0cnV0aCBvZiBhbiBhYnN0cmFjdCBicmlkaSwgc28gJydkdSd1JycgaXMgYXBwcm9w cmlhdGUuCgpGb3IgYnJpZGkgdG8gZXhpc3QgKG9yIGF0IGxlYXN0IHRvIGhhdmUgYW55IHJlbGV2 YW5jZSksIHRoZXkgbXVzdCBiZSByZXByZXNlbnRlZCBieSBzb21lIHRleHQsIHdoZXRoZXIgdGhp cyBpcyBzcGVlY2gsIHRob3VnaHQgb3Igd3JpdGluZy4gVGhlIHRlcm0g4oCcdGV4dOKAnSBpcyBt aXNsZWFkaW5nIGlmIGl0IGlzIGV4cHJlc3NlZCBvbmx5IGluIHRoZSBtaW5kIG9mIHNvbWVvbmUs IGJ1dCB0aGUgdGVybSBub25ldGhlbGVzcyBhcHBsaWVzLgoKT25lIHVzZSBvZiB0aGUgeDIgb2Yg JydkdSd1JycgaXMgdG8gZXhwcmVzcyBpbmRpcmVjdCBxdW90YXRpb246CgonJy51ZSBkbyBwdSBj dXNrdSBrdSdpIGxvIHNlIGR1J3UgZG8gbmVsY2kgbG8gY2thZmknJyAtICJPaCEgQnV0IHlvdSBz YWlkIHRoYXQgeW91IGxpa2VkIGNvZmZlZSIuIEhlcmUsIHRoZSBleHByZXNzZWQgc2VudGVuY2Ug aXMgdGhlIHRleHQsIHdoZXJlaW4gdGhlIGJyaWRpIGlzIGNvbnRhaW5lZC4gCgoKCgoKISFMb2pi YW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktbmluZSAoc2VtYW50aWNzIG9mIGNvbXBsZXggYWJz dHJhY3Rpb25zKQoKQWxsIHRoZSB0eXBlcyBvZiBhYnN0cmFjdGlvbiB3ZSBoYXZlIHNlZW4gdGh1 c2ZhciwgZXZlbnRzIGFuZCBicmlkaSwgaGF2ZSBhbGwgdGhlaXIgc3VtdGkgcGxhY2VzIGZpbGxl ZCAtIGlmIG5vdCBleHBsaWNpdGx5LCB0aGVuIGJ5ICcnem8nZScnLiBBcyB3ZSBzaGFsbCBzZWUs IGl0J3MgYSBkaWZmZXJlbnQgc3Rvcnkgd2hlbiBpdCBjb21lcyB0byB0aGUgZm9sbG93aW5nIGFi c3RyYWN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0aCB0aGUgc2ltcGxlc3Q6CgoKCl9fJyduaScnX186 IEFtb3VudCBhYnN0cmFjdGlvbjogeDEgaXMgdGhlIGFtb3VudCBvZiBCUklESSBvbiB0aGUgc2Nh bGUgeDIgCgoKCkFuZCBsZXQncyBzZWUgaXQgcHV0IHRvIHVzZToKCicnbWkgem1hZHUgZG8gbG8g bmkgeGVrcmknJyAtICJJJ20gYmxhY2tlciB0aGFuIHlvdS4iCgpBICcnbmknJy1hYnN0cmFjdGlv biBpcyB1c3VhbGx5IHNvbWUgbnVtYmVyLCBleGFjdCBvciBpbmV4YWN0LiBBcyB0aGUgZm9sbG93 aW5nIGV4YW1wbGUgYWJvdmUgc2hvd3MsIHdoYXQgaXMgcXVhbnRpZmllZCBtYXkgbm90IGFsd2F5 cyBiZSBwcmFjdGljYWxseSBtZWFzdXJhYmxlLiBJbiBwcmluY2lwbGUsIGhvd2V2ZXIsIGJsYWNr bmVzcyBjb3VsZCBiZSBtZWFzdXJlZCB3aXRoIHNvbWUgb3B0aWNhbCBkZXZpY2UuIFRoZXJlIGlz IHNvbWUgZGlzYWdyZWVtZW50IGFib3V0IHdoZXRoZXIgaXQncyBjb3JyZWN0IHRvIHVzZSAnJ25p JycgdG8gcXVhbnRpZnkgc29tZXRoaW5nIHdoaWNoIGlzIHVubWVhc3VyYWJsZSwgbGlrZQoKJyds ZSBuaSBtaSBwZW5kbyBkbycnIC0gIkhvdyBtdWNoIHdlIGFyZSBmcmllbmRzIgoKCgpJdCdzIHdy b25nIHRvIHVzZSAnJ25pJycgYXMgYSB3YXkgdG8gZW51bWVyYXRlIGhvdyBtYW55IG9iamVjdHMg Zml0IGEgcHJlZGljYXRlIC0gaXQncyBhbHdheXMgYWJvdXQgdG8gd2hpY2ggZXh0ZW5kIGNlcnRh aW4gc3VtdGkgZml0IGEgcHJlZGljYXRlLiBUaHVzOiAnJ2RvIG1sZWNhIG1pIGxvIG5pIHNlIHBh bnppJycgbWVhbnMgIllvdSBhcmUgbGVzcyBvZiBhIHBhcmVudCB0aGFuIEkgYW0iLCBhbmQgbm90 ICJZb3UgaGF2ZSBmZXdlciBjaGlsZHJlbiB0aGFuIG1lIi4KCgoKVGhlIGFic3RyYWN0b3IgJydu aScnIGlzIGEgZ3JlYXQgd2F5IHRvIGdldCBzdGFydGVkIG9uIHRoZSBjb21wbGljYXRlZCB3b3Jk ICcnY2UndScnLgoKX18nJ2NlJ3UnJ19fIFBzZXVkby1xdWFudGlmaWVyIGJpbmRpbmcgYSB2YXJp YWJsZSB3aXRoaW4gYW4gYWJzdHJhY3Rpb24gdGhhdCByZXByZXNlbnRzIGFuIG9wZW4gcGxhY2Uu CgpJIGFzc3VtZSB0aGUgZGVmaW5pdGlvbiBpc24ndCB2ZXJ5IGhlbHBmdWwsIHNvIGhlcmUncyBh IGZldyBleGFtcGxlcyB0byBzZWUgaXQgaW4gdXNlOgoKICcnZG8gbWxlY2EgbWkgbG8gbmkgY2Un dSBwYW56aSB6bydlJycgPSAiWW91IGFyZSBsZXNzIHRoYW4gbWUgaW4gcXVhbnRpdHk6IEJlaW5n IGEgY2hpbGQgb2Ygc29tZW9uZSIgPSAiWW91IGFyZSBsZXNzIG9mIGEgY2hpbGQgdGhhbiBJIGFt IiAKCiAnJ2RvIG1sZWNhIG1pIGxvIG5pIHpvJ2UgcGFuemkgY2UndScnIC0gIllvdSBhcmUgbGVz cyB0aGFuIG1lIGluIHF1YW50aXR5OiBTb21ldGhpbmcgYmVpbmcgb25lJ3MgY2hpbGQiID0gIllv dSBhcmUgbGVzcyBvZiBhIHBhcmVudCB0aGFuIEkgYW0iCgpJbiBvdGhlciB3b3JkcywgZmlsbGlu ZyAnJ2NlJ3UnJyBpbiBhIHN1bXRpIHBsYWNlIGluc2lkZSBhbiBhYnN0cmFjdGlvbiBhbGxvd3Mg dGhlIHN1bXRpIHBsYWNlIHRvIHJlbWFpbiAib3BlbiIgLSBub3QgZmlsbGVkIGJ5IGFueXRoaW5n LCBub3QgZXZlbiBhICcnem8nZScnLiBUaGlzIG9wZW4gcGxhY2UgaXMgcmVtbmlzY2llbnQgb2Yg dGhlICJ4ImVzIGluIHRoZSBub3JtYWwgRW5nbGlzaCBkZWZpbml0aW9ucyBvZiBsb2piYW5pYyBz ZWxicmkgLSBzb21ldGhpbmcgX190byBiZSBmaWxsZWRfXyBieSBhIHN1bXRpLiAKCkZvciB0aGUg cmVjb3JkLCB0aGUganVmcmEgJydjZSd1IHBhbnppIHpvJ2UnJyBpbiB0aGUgZmlyc3QgZXhhbXBs ZSBhY3R1YWxseSByZWZlcnMgdG8gdHdvIGRpc3RpbmN0IGJyaWRpOiAnJ21pIHBhbnppIHpvJ2Un JyBhbmQgJydkbyBwYW56aSB6bydlJycuIFNpbmNlIHRoZXNlIHR3byBicmlkaSBhcmUgY29uc2lk ZXJlZCBkaWZmZXJlbnQsIHRoZSAnJ3pvJ2UnJyBuZWVkIG5vdCByZWZlciB0byB0aGUgc2FtZSBv YmplY3QuCgpUaHVzLCBhbnkgYWJzdHJhY3Rpb24gd2l0aCBhICcnY2UndScnIGluc2lkZSBpdCBp cyBhIHByZWRpY2F0ZSwgd2hlcmUgdGhlICcnY2UndScnLXBsYWNlcyBhcmUgZmlsbGFibGUuIFNp bmNlIHRoZSBhYnN0cmFjdG9ycyAnJ2thJycgYW5kICcnc2knbycnLCBpcyBhYm91dCAiZml0dGlu ZyBhIHByZWRpY2F0ZSIsIGFuZCBzaW5jZSBhICcnY2UndScnIGlzIG5lZWRlZCB0byB0cmFuc2Zv cm0gYW4gYWJzdHJhY3Rpb24gaW50byBhIHByZWRpY2F0ZSwgYWxsICcna2EnJyBhbmQgJydzaSdv JyctYWJzdHJhY3Rpb25zIGFsd2F5cyBjb250YWluIGF0IGxlYXN0IG9uZSAnJ2NlJ3UnJy4gQSAn J25pJyctYWJzdHJhY3Rpb24gY2FuIGNvbnRhaW4gYSAnJ2NlJ3UnJywgYnV0IG1heSBhbHNvIHF1 YW50aWZ5IGFuIGFic3RyYWN0aW9uIHdpdGggYWxsIHRoZSBzdW10aSBwbGFjZXMgZmlsbGVkLCBh cyBpbiAnJ2xpIGR1J2UgbmkgZG8gbmVsY2kgbG8gdmFuanUnJy4gCgpJbiB0aGUgYWJzdHJhY3Rp b25zIHdoZXJlIGEgJydjZSd1JycgaXMgcHJlc2VudCwgY2FuIHRoZSBwb3NpdGlvbiBvZiB0aGUg JydjZSd1JycgYmUgZWxpZGVkLCBidXQgaXMgdGhlbiBtb3N0IG9mdGVuIGFzc3VtZWQgdG8gYmUg dGhlIGZpcnN0IHVuZmlsbGVkIHN1bXRpIHBsYWNlLiBJbiBzb21lIGNvbnRleHRzLCBob3dldmVy LCB0aGUgJydjZSd1JycgY2FuIGJlIGFzc3VtZWQgdG8gYmUgc29tZXdoZXJlIGVsc2UsIGFzIGV4 ZW1wbGlmaWVkIHdpdGggJydtaSB6bWFkdSBkbyBsbyBuaSBsbyBicnVuYSBjdSBqYm9jcmUnJywg d2hlcmUgdGhlIGVsaWRlZCAnJ2NlJ3UnJyBpcyBwcm9iYWJseSBoaWRpbmcgaW4gJydsbyBicnVu YSBiZSBjZSd1JycuCgoKCkV4YWN0bHkgaG93IHRoZSAnJ2NlJ3UnJydkIHBsYWNlcyBpbnNpZGUg YW4gYWJzdHJhY3Rpb24gcmVsYXRlcyB3aXRoIHRoZSBtYWluIGJyaWRpIGlzIHNwZWNpZmllZCBi eSB0aGUgc2VsYnJpIG9mIHRoZSBtYWluIGJyaWRpLiBGb3IgJyd6bWFkdScnIGFuZCAnJ21sZWNh JycsIHRoZSAnJ2NlJ3UnJydkIHBsYWNlcyBhcmUgd2hhdCdzIHF1YW50aWZpZWQgYnkgdGhlIHNl bGJyaSBvZiB0aGUgbWFpbiBicmlkaS4gVGhlIHJlbGF0aW9uIGlzIGFsbW9zdCBhbHdheXMgb2J2 aW91cywgYnV0IGFzIHdlIHNoYWxsIHNlZSBsYXRlciwgdGhlcmUgaXMgb25lIGtpbmQgb2YgYWJz dHJhY3Rpb24sIHdob3NlICcnY2UndScnIGRvIG5vdCByZWxhdGUgdG8gdGhlIG1haW4gYnJpZGkg aW4gYW55IHN0cmFpZ2h0Zm9yd2FyZCB3YXkuCgoKCkJlZm9yZSB0aGF0LCB0aG91Z2gsIHlvdSBu ZWVkIHRvIGxlYXJuIGFib3V0ICcna2EnJyAtIHByb2JhYmx5IHRoZSBhYnN0cmFjdGlvbiB3aG9z ZSB1bmRlcnN0YW5kaW5nIGhhcyBjaGFuZ2VkIHRoZSBtb3N0IHRoZSByZWNlbnQgeWVhcnMuIFll dCBhZ2FpbiBJIHJlbWluZCB5b3UgdGhhdCB0aGlzIHVuZGVyc3RhbmRpbmcgaXMgbm90IG9mZmlj aWFsIExvamJhbiwgYnV0IHJhdGhlciBhIHdpZGVzcHJlYWQgY3VycmVudCB1bmRlcnN0YW5kaW5n LiBMZXQncyBzZWUgdGhlIG9mZmljaWFsIGdsb3NzOgoKX18nJ2thJydfXyBQcm9wZXJ0eS9xdWFs aXR5IGFic3RyYWN0b3IgKC1uZXNzKTsgeDEgaXMgcXVhbGl0eS9wcm9wZXJ0eSBleGhpYml0ZWQg YnkgQlJJREkuCgpVbmRlciB0aGUgdW5kZXJzdGFuZGluZyB3aGljaCBJIHdpbGwgdGVhY2gsIHRo aXMgZ2xvc3MgaXMgbWlsZGx5IG1pc2xlYWRpbmcuIEluc3RlYWQsICcna2EnJyBzaG91bGQgcHJv YmFibHkgYmUgZ2xvc3NlZCBzdWNoOgoKX18nJ2thJydfXyBQcmVkaWNhdGUgYWJzdHJhY3Rvcjog eDEgaXMgdGhlIHByZWRpY2F0ZSBvZiBCUklESSBbbmVlZHMgYXQgbGVhc3Qgb25lIG9wZW4gdmFy aWFibGVdCgpNdWNoIGxpa2UgYSAnJ25pJyctYWJzdHJhY3Rpb24sIGEgJydrYScnLWFic3RyYWN0 aW9uIGlzIGEgcHJlZGljYXRlIGFuZCB0aGVyZWZvcmUgbmVlZHMgYXQgbGVhc3Qgb25lICcnY2Un dScnLCBvZnRlbiBlbGlkZWQuIFRoZSBkaWZmZXJlbmNlIGlzIHB1cmVseSBzZW1hbnRpYzogJydu aScnIGZvY3VzZXMgb24gaG93IG11Y2ggYSBjZXJ0YWluIHN1bXRpIGZpdHMgYSBwcmVkaWNhdGUs IHdoZXJlYXMgYSAnJ2thJyctYWJzdHJhY3Rpb24gaXMgdGhlIHByZWRpY2F0ZSBpdHNlbGYuIExp a2Ugd2l0aCAnJ25pJycsIGhvdyB0aGUgJydjZSd1JydzIG9mICcna2EnJyByZWxhdGVzIHRvIHRo ZSBtYWluIGJyaWRpIGlzIGRlZmluZWQgYnkgdGhlIHNlbGJyaSBvZiB0aGUgbWFpbiBicmlkaS4g CgpVbmRlciB0aGlzIGludGVycHJldGF0aW9uLCAnJ2thJyctYWJzdHJhY3Rpb25zIGZpbGxzIG1v c3Qgb2YgdGhlIHN1bXRpIHBsYWNlcyB3aGljaCBzb21ldGhpbmcgaXMgZG9pbmcgb3IgYmVpbmcu IEV4YW1wbGVzIGFyZSBhbHdheXMgZ29vZDoKCicnbWkga2FrbmUgbG8ga2EgJycgW2NlJ3VdICcn YmFqcmEgZmkgbG8gbWkgYmlya2EnJyAtICJJIGNhbiBydW4gb24gbXkgYXJtcyIKCk9mIGNvdXJz ZSwgc2V2ZXJhbCAnJ2NlJ3UnJyBjYW4gYmUgdXNlZCB3aXRoaW4gYSAnJ2thJyctYWJzdHJhY3Rp b24uIFdoYXQgZG9lcyB0aGUgZm9sbG93aW5nIHNlbnRlbmNlIG1lYW4/CgonJ21pIGxvIHBhbXBl J28gY3Ugc2lteHUgbG8ga2EgY2UndSBjZSd1IGdsZXR1JycgCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnTWUgYW5kIG15IGxvdmVyIGhhdmUgc2V4IHdpdGggZWFjaCBvdGhlciBtdXR1YWxseSJ+fgoK CgpUaGUgbGFzdCBvZiB0aGUgYWJzdHJhY3RvcnMgd2UgdHJlYXQgaGVyZSBpcyAnJ3NpJ28nJy4g TGlrZSAnJ2thJycsIGl0cyBkZWZpbml0aW9uIGFzIGl0IHdpbGwgYmUgdGF1Z2h0IGhlcmUgaXMg ZGlmZmVyZW50IGZyb20gdGhlIG9mZmljaWFsIGRlZmluaXRpb24uIEV0eW1vbG9naWNhbGx5LCAn J3NpJ28nJyBkZXJpdmVzIGZyb20gJydzaWRibycnLCAiaWRlYSIsIGFuZCB0aGUgb2ZmaWNpYWwg Z2xvc3Mgb2YgJydzaSdvJycgcmVmbGVjdHMgdGhpczoKCl9fJydzaSdvJydfXzogSWRlYS9jb25j ZXB0IGFic3RyYWN0b3I7IHgxIGlzIHgyJ3MgY29uY2VwdCBvZiBCUklESS4KClVuZGVyIHRoZSBj dXJyZW50IHVzYWdlIHdoaWNoIEkgd2lsbCB1c2UgYXMgc3RhbmRhcmQsIGEgJydzaSdvJyctYWJz dHJhY3Rpb24gaXMgbGlrZSBhICcna2EnJy1hYnN0cmFjdGlvbiwgYnV0IHdpdGggdHdvIGltcG9y dGFudCBkaWZmZXJlbmNlcy4gCgpGaXJzdGx5LCBhICcnc2knbycnLWFic3RyYWN0aW9uIGhhcyBh bGwgaXRzIHN1bXRpIHBsYWNlcyBmaWxsZWQgd2l0aCAnJ2NlJ3UnJyBieSBkZWZhdWx0LCB0aGVy ZWJ5IGJlaW5nIHJlbGF0ZWQgbGVzcyB0byBhIHNwZWNpZmljIHNpdHVhdGlvbiwgYW5kIG1vcmUg dG8gYSBnZW5lcmFsIHNpdHVhdGlvbi4gCgpTZWNvbmRseSwgdGhlcmUgaXMgbm90IG5lY2Vzc2Fy aWx5IGFueSByZWxhdGlvbiBiZXR3ZWVuIHRoZSAnJ2NlJ3UnJyBpbnNpZGUgdGhlICcnc2knbycn LWFic3RyYWN0aW9uIGFuZCB0aGUgc3VtdGkgb2YgdGhlIG1haW4gYnJpZGksIGFuZCB0aGVyZWZv cmUgdGhlIG1haW4gc2VsYnJpIGRvZXMgbm90IGRlZmluZSB0aGlzIHJlbGF0aW9uLgoKSW4gb3Jk ZXIgdG8gZXhwbGFpbiBtb3JlIGludHVpdGl2ZWx5IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gJydr YScnIGFuZCAnJ3NpJ28nJywgY29uc2lkZXIgdGhlIGZvbGxvd2luZyAgdHdvIGJyaWRpOgoKJydt aSBuZWxjaSBsbyBrYSBjZSd1IGNyaW5vJycsIHdoZXJlIHRoZSAnJ2NlJ3UnJyByZWZlcnMgdG8g YSBzdW10aSBpbiB0aGUgb3V0ZXIgYnJpZGksIG5hbWVseSAnJ21pJycsIHRodXMgbWVhbmluZzog IkkgbGlrZSBiZWluZyBncmVlbiIsIHZlcnN1cwoKJydtaSBuZWxjaSBsbyBzaSdvIGNlJ3UgY3Jp bm8nJywgd2hlcmUgdGhlICcnY2UndScnIHJlbWFpbnMgY29tcGxldGVseSBhYnN0cmFjdCwgbWFr aW5nIHRoZSBicmlkaSBtZWFuOiAiSSBsaWtlIGdyZWVubmVzcyIKCgoKQmVmb3JlIHdlIHZlbnR1 cmUgb24gdG93YXJkcyB0aGUgbmV4dCBsZXNzb24sIHRoZXJlJ3Mgb25lIHdvcmQgd2hpY2ggSSB0 aGluayBkZXNlcnZlcyBhIG1vcmUgdGhvcm91Z2ggZXhwbGFuYXRpb246ICcna2F1JycuCgonJ2th dScnIHdhcyBleHBsYWluZWQgaW4gbGVzc29uIHR3ZWx2ZSwgYnV0IHRoZSByZWFsIGltcGxpY2F0 aW9ucyBvZiBpdCB3YXMgbm90LiBJZiB5b3UgaGF2ZSBmb3Jnb3R0ZW4gd2hhdCBpdCBtZWFucywg SSBhZHZpY2UgeW91IHRvIGdvIGJhY2sgYW5kIHNlZS4gVW5mb3J0dW5hdGVseSwgSSBjYW4ndCBw cmVzZW50IGEgdGhlb3J5IG9uIHdoYXQgJydrYXUnJyBkb2VzIHdoZW4gaXQncyBwcmVzZW50IGlu IHRoZSBtYWluIGJyaWRpLCBvbmx5IG9uIHdoYXQgaXQgZG9lcyBpbnNpZGUgYW4gYWJzdHJhY3Rp b24uCgpBIGJyaWRpIHdpdGggYWJzdHJhY3Rpb24gY29udGFpbmluZyBhICcna2F1JycgbWFrZXMg dHdvIGNsYWltczogVGhlIGJyaWRpIGl0c2VsZiBtYWtlcyBvbmUgY2xhaW0gYXMgdXN1YWwsIGFu ZCBpbXBsaWNpdCBpbiB0aGUgYWJzdHJhY3Rpb24gaXMgZnVydGhlcm1vcmUgdGhlIGNsYWltIHRo YXQgdGhlIHdvcmQgJydrYXUnJyBpcyBhdHRhY2hlZCB0byBoYXMgYSByZWFsLCBub256ZXJvIG1l YW5pbmcuCgpUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQ6IFRoZSBicmlkaSAnJ21pIHB1IHZp c2thIGxvIG51IG1hIGthdSBjbGl2YSBsZSBzYWxjaScnIChJIHNhdyB3aG8gbGVmdCB0aGUgcGFy dHkpIG1ha2VzIHR3byBjbGFpbXMuIEZpcnN0LCBpdCBtYWtlcyBhbiBpbXBsaWNpdCBjbGFpbSB0 aGF0IHRoZSAnJ21hJycgcmVmZXJzIHRvIHNvbWV0aGluZyByZWFsLiBUaGF0IGlzLCB0aGUgYnJp ZGkgYWN0dWFsbHkgY2xhaW1zIHRoYXQgJydkYSBjbGl2YSBsZSBzYWxjaScnIChYIGxlZnQgdGhl IHBhcnR5KS4gU2Vjb25kbHksIHRoZSBtYWluIGJyaWRpIG1ha2VzIHRoZSBjbGFpbSB0aGF0IHdo YXQgdGhlICcnbWEnJyByZWZlcnMgdG8gaXMgd2hhdCB3YXMgYmVpbmcgc2Vlbiwgb3IgaW4gbG9q YmFuICcnbWkgcHUgdmlza2EgbG8gbnUgZGEgY2xpdmEgbGUgc2FsY2knJy4gKEkgc2F3IHRoYXQg WCBsZWZ0IHRoZSBwYXJ0eSkKClRoaXMgcHJpbmNpcGxlIGlzIG5vdCByZXN0cmljdGVkIHRvIHRo ZSBhYnN0cmFjdG9yICcnbnUnJywgb3IgdG8gdGhlIHF1ZXN0aW9uIHdvcmQgJydtYScnLiBUaGUg c2FtZSBwcmluY2lwbGUgY2FuIGJlIGV4dGVuZGVkIHRvIGFueSBvdGhlciBhYnN0cmFjdG9yIGFu ZCBhbnkgb3RoZXIgcXVlc3Rpb24gd29yZCwgYXMgaW4gdGhlIGZvbGxvd2luZyBicmlkaToKCicn bGEgLmJhYi4gbmEnZSBiaXJ0aSBsbyBkdSd1IHh1IGthdSBsYSAubWlhcy4gcGFtcGUnbycnIChC b2IgaXNuJ3Qgc3VyZSB3aGV0aGVyIG9yIG5vdCBNaWEgaGFzIGEgYm95ZnJpZW5kKSBzdGF0ZXMg Zmlyc3RseSB0aGF0ICcneHUnJyBhcHBsaWVzLCB3aGljaCBtZWFucyB0aGF0IGEgdHJ1dGggdmFs dWUgY29ycmVjdGx5IGNhbiBiZSBhc3NpZ25lZCB0byB0aGUgYnJpZGksIGFuZCBzZWNvbmRseSB0 aGF0IHdoYXQgQm9iIGlzbid0IHN1cmUgYWJvdXQgaXMgdGhlIGNvcnJlY3QgdHJ1dGggdmFsdWUg Zm9yIHRoZSBicmlkaS4KCicna2F1JycgY2FuIGFsc28gYmUgYXBwbGllZCB0byBhIG5vbi1xdWVz dGlvbiB3b3JkLiBUaGlzIGRvZXNuJ3QgcmVhbGx5IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUg d29yZC4gVGhlIHNhbWUgcHJvY2VkdXJlIHN0aWxsIGFwcGxpZXM6CgonJ2RvIGNhJ28gZGp1bm8g bG8gZHUndSBsYSBrcmVzdGNlbiBrYXUgY3UgY2luYmEgbGEgYW4nJyA9ICJZb3UgYWxyZWFkeSBr bm93IHRoYXQgaXQgd2FzIEtyaXN0aWFuLCB3aG8ga2lzc2VkIEFubmUuIiBzdGF0ZXMgZmlyc3Rs eSB0aGF0ICcnbGEga3Jlc3RjZW4gY3UgY2luYmEgbGEgYW4nJyBhbmQgdGhlbiB0aGF0ICcnZG8g Y2EnbyBkanVubyBsb2R1J3UgbGEga3Jlc3RjZW4gY3UgY2luYmEgbGEgYW4nJy4KCgoKISFMb2pi YW4gTGVzc29ucyAtIExlc3NvbiB0aGlydHkgKHRoZSBub3Qtc28tY3V0ZSBhc3NvcnRlZCB3b3Jk cykKClllcywgdGhpcyBsZXNzb24gaXMgeWV0IGFub3RoZXIgd2hpY2ggZm9jdXNlcyBvbiBhc3Nv cnRlZCB3b3Jkcy4gVGhpcyB0aW1lLCBob3dldmVyLCB0aGUgY29udGVudCBvZiB0aGUgbGVzc29u IGlzIG5vdCBjaG9zZW4gYnkgY29tbW9uIHVzYWdlOiBVbmxpa2Ugd29yZHMgbGlrZSAnJ2phaScn IGFuZCAnJ3NpJycsIHRoZSBmb2xsb3dpbmcgd29yZHMgc2VlIGxpdHRsZSB1c2FnZSBpbiBvcmRp bmFyeSBjb252ZXJzYXRpb24uIFNvbWUgb2YgdGhlbSBhcmUsIGhvd2V2ZXIsIGltcG9ydGFudCB0 byB1bmRlcnN0YW5kaW5nIHRoZSBmb2xsb3dpbmcgbGVzc29ucywgYW5kIHNvIHRoZXNlIHdvcmRz IG11c3QgYmUgYXdrd2FyZGx5IHBsYWNlZCBiZWZvcmUgdGhlaXIgdXNhZ2UgaW4gdGhlc2UgbGVz c29ucy4KCgoKTGV0IHVzIGJlZ2luIHdpdGggJyd4aScnOyBpdCdzIGVhc3kuCgpfXycneGknJ19f OiBTdWJzY3JpcHQuIENvbnZlcnRzIGFueSBmb2xsb3dpbmcgbnVtYmVyIHN0cmluZyB0byBhIHN1 YnNjcmlwdCwgd2hpY2ggaGFzIHRoZSBncmFtbWFyIG9mIGFuIGF0dGl0dWRpbmFsIChpZS4gcGxh Y2FibGUgcHJhY3RpY2FsbHkgYW55d2hlcmUpLgoKVGhlcmUgYXJlIGZldyBvZmZpY2lhbGx5IGVu Y291cmFnZWQgdXNlcyBvZiAnJ3hpJycsIGJ1dCBwcmVjaXNlbHkgYmVjYXVzZSB0aGUgY29uc3Ry dWN0ICcneGknJytudW1iZXIgaGFzIHRoZSBmcmVlIGdyYW1tYXIgb2YgYW4gYXR0aXR1ZGluYWws IHRoZSBwb3NzaWJsZSB1c2VzIG9mICcneGknJyBhcmUgYWxtb3N0IGVuZGxlc3MuIEluIGdlbmVy YWwsIGl0J3MgdXNlZCB0byBlbnVtZXJhdGUgYW55IF9fd29yZF9fLCBfX3ZhcmlhYmxlX18gb3Ig X19ncmFtbWF0aWNhbCBjb25zdHJ1Y3RfXywgYXMgb3Bwb3NlZCB0byB3aGF0IGl0IHJlZmVycyB0 by4gTGV0J3Mgc2VlIHNvbWUgZXhhbXBsZXMuCgpsYSB0c2FuaSBjdSBjdXNrdSB6byBjb2kgIC5p IGJhIGJvIGxhIC50cmlsaXluLiBjdXNrdSBsdSAudWkgY29pIGxhIHRzYW5pIGNvaSBsYSBrbGFr dSBsaSd1ICAuaSBiYSBibyBsYSBrbGFrdSBjdSBzcHVkYSBmaSBsdSBjb2kgdHkuIHhpIHBhIC5l IHR5LiB4aSByZSBkbyd1IHpvJ28gbGkndSAtICJUc2FuaSBzYWlkICJoaSIsIHRoZW4gVHJpbGl5 biBzYWlkICJIZXkgVHNhbmksIGhleSBLbGFrdSA6KSIsIHRoZW4gS2xha3UgYW5zd2VyZWQgIkhl bGxvIFQxIGFuZCBUMiA6UCIiCgpCZWNhdXNlIGl0J3MgdGhlIHN0YW5kYXJkIHRoYXQgJyd0eS4n IHJlZmVycyB0byB0aGUgbGFzdCBzdW10aSB3aGljaCBiZWdhbiB3aXRoIFQsICcndHknJyBieSBp dHNlbGYgYXMgc2FpZCBieSBLbGFrdSB3b3VsZCBoYXZlIHJlZmVycmVkIHRvIFRzYW5pLiBUd28g X19kaWZmZXJlbnRfXyAnJ3R5LicnIGNhbiBiZSBtYWRlIGJ5IHN1YnNjcmlwdGluZyB3aXRoICcn eGknJy4KCklmIHRoZSByYXJlIHNpdHVhdGlvbiBhcmlzZXMgdGhhdCB3ZSBuZWVkIG1vcmUgdmFy aWFibGVzIG9mIHRoZSB0eXBlICcnZGEnJyBvciAnJ2J1J2EnJyB0aGF0IHRoZXJlIGFyZSBpbiB0 aGUgbGFuZ3VhZ2UsIGFuIGluZmluaXRlIG51bWJlciBjYW4gYmUgbWFkZSBieSBzaW1wbHkgc3Vi c2NyaXB0aW5nIGFueSBleGlzdGluZyB3aXRoIGEgbnVtYmVyLiBOb3RlIHRoYXQgYSBub24tc3Vi c2NyaXB0ZWQgdmFyaWFibGUgaXMgbm90IGRlZmluZWQgYWYgYmVpbmcgZXFpdXZhbGVudCB0byBh bnkgc3Vic2NyaXB0ZWQgb25lLiBUaGF0IGlzOiAnJ3R5JycgaXMgbm90IGFsd2F5cyBlcXVhbCB0 byAnJ3R5IHhpIHBhJycgb3IgJyd0eSB4aSBubycnIG9yIGFueXRoaW5nIG9mIHRoZSBzb3J0LiBJ IGV4cGVjdCB0aGlzIHRvIGJlIHJhcmVseSB1c2VkLCBiZWNhdXNlIGFueSBzZW50ZW5jZSB3aXRo IG1vcmUgdGhhbiAzICcnZGEnJy1saWtlIHdvcmRzIG9yIG1vcmUgdGhhbiAxMCAnJ2tvJ2EnJy1s aWtlIHdvcmRzIHdvdWxkIGJlIGhhcmQgdG8ga2VlcCB0cmFjayBvZi4KCgoKU2Vjb25kLCB3ZSBo YXZlICcna2knJywgb2Ygd2hpY2ggSSBhbSBub3QgYXdhcmUgb2YgYSBzaW5nZSB1c2FnZSBpbiBt eSB0aW1lIG9uIElSQzsgcHJvYmFibHkgbm90IGJlY2F1c2UgdGhlIHdvcmQncyB1c2VsZXNzLCBi dXQgYmVjYXVzZSBmZXcgTG9qYmFuaWMgdGV4dHMgYXJlIG9mIHRoZSBraW5kIHdoZXJlIHlvdSBu ZWVkIGl0LgoKX18nJ2tpJydfXyAiU3RpY2t5IHRlbnNlIi4gU2V0L3VzZSB0ZW5zZSBkZWZhdWx0 OyBlc3RhYmxpc2hlcyBuZXcgb3BlbiBzY29wZSBzcGFjZS90aW1lL21vZGFsIHJlZmVyZW5jZSBi YXNlLgoKQW55IHJvdyBvZiB0ZW5zZSB3b3JkcyBjYW4gYmUgc3VmZml4ZWQgd2l0aCAnJ2tpJycg dG8gbWFrZSB0aGUgdGVuc2UocykgYXBwbHkgdG8gYWxsIGZvbGxvd2luZyBicmlkaS4gV2hlbiwg Zm9yIGluc3RhbmNlLCB0ZWxsaW5nIGEgc3RvcnksIHRoaXMgY2FuIGJlIHVzZWQgdG8gbWFrZSBl eHBsaWNpdCB0aGF0IHRoZSBkZWZhdWx0IHRpbWUgLSB0aGUgdGltZSBhcyBtZWFudCB3aXRob3V0 IGFueSB0ZW5zZSB3b3JkcyAtIGlzIHRoZSB0aW1lIHRoZSBzdG9yeSBpcyBwbGFjZWQgaW4uIFVz dWFsbHksIHRoaXMgd2lsbCBub3QgYmUgbmVjZXNzYXJ5OyBiZWdpbm5pbmcgYSBmYWlyeXRhbGUg d2l0aCAnJ3B1IHp1IHZ1IGt1JycsIG9uZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGVudGlyZSB0YWxl IGlzIGhhcHBlbmluZyBhIGxvbmcgdGltZSBhZ28gYW5kIGZhciBhd2F5LiBMZXQncyBoYXZlIGFu IGV4YW1wbGU6CgonJ3B1IHp1IHZ1IGtpIGt1IHphc3RpIGZhIGxvIHB1a2NsaXRlIGplIGNtYWx1 IG5peGxpIGdvaSBrb+KAmWEgIC5pIHJvIGRhIHBvaSAnJ1snJ3B1IHp1IHZ1JyddJycgdmlza2Eg a2/igJlhIGN1IG5lbGNpIGtv4oCZYScnIC0gIk9uY2UgdXBvbiBhIHRpbWUgdGhlcmUgd2FzIGEg c3dlZXQsIGxpdHRsZSBnaXJsLiBFdmVyeW9uZSB3aG8gc2F3IGhlciBsaWtlZCBoZXIiLiBUaGUg JydraScnIGFsbG93cyB1cyB0byBlbGlkZSB0aGUgdGhyZWUgdGVuc2VzIGluIHRoZSBzZWNvbmQg YnJpZGksIGFuZCBpbiBhbGwgdGhlIGJyaWRpIHRvIGZvbGxvdy4KClNvLCBpZiBhIGJ1bmNoIG9m IHRlbnNlcyBoYXZlIGJlZW4gbWFrZSBzdGlja3kgd2l0aCAnJ2tpJycsIGhvdyBkbyB3ZSB1bnN0 aWNrIHRoZW0/IFNpbXBsZSB1c2UgJydraScnIGJ1IGl0c2VsZiwgYW5kIGFsbCBzdGlja3kgdGVu c2VzIGFyZSBtYWRlIHVuc3RpY2t5LgoKTGFzdGx5LCBzZXZlcmFsIHNldHMgb2YgdGVuc2VzIGNh biBiZSBtYWRlIHN0aWNreSBieSBzdWJzY3JpcHRpbmcgJydraScnLiBJZiB0aGVyZSBhcmUgc2V2 ZXJhbCBvZiBzdWNoIHNldHMgaW4gdXNhZ2UgYXQgYW55IGdpdmVuIHRpbWUsIG9uZSBjYW4gdXNl IHRoZSBzdWJzY3JpcHRlZCAnJ2tpJydzIHRvIG1ha2UgdGhlIGNvcnJlc3BvbmRpbmcgc2V0IG9m IHRlbnNlcyBhcHBseS4gVW5zdWJzY3JpcHRlZCAnJ2tpJycgYWxvbmUgc3RpbGwgbWFrZXMgYWxs IHRlbnNlIHN0aWNraW5lc3MgZGlzYXBwZWFyLCBzbyB5b3UgaGF2ZSB0byBiZSBjYXJlZnVsIG5v dCB0byB1c2UgJydraScnIHVuc3Vic2NyaXB0ZWQgaWYgeW91IHBsYW4gb24gdXNpbmcgc2V2ZXJh bCBzZXRzIG9mIHRlbnNlcy4KCgoKQ2hhbmdpbmcgc3ViamVjdC4gVGhlcmUncyBhIHNldCBvZiBz dW10Y2l0YSB3aGljaCBhcmUgb2Z0ZW4gdXNlZCwgYnV0IHdoaWNoIEkgZGFyZSBub3QgdHJ5IHRv IGRlZmluZSBpZiBub3QgdW5kZXIgdGhlIGRpc2NsYWltZXIgb2YgcGFydCB0aHJlZS4gTGV0J3Mg c2VlIG9mZmljaWFsIGRlZmluaXRpb25zIGZvciB0d28gb2YgdGhlbSBmaXJzdC4KCl9fJydjYSdh JydfXzogbW9kYWwgYXNwZWN0OiBhY3R1YWxpdHkvb25nb2luZyBldmVudC4gQnJpZGkgaGFzL2lz L3dpbGwgaGFwcGVuIGR1cmluZyB1bmRlciB0aGUgY2lyY3Vtc3RhbmNlcyBvZiB7c3VtdGl9Cgpf Xycna2EnZScnX186IG1vZGFsIGFzcGVjdDogaW5uYXRlIGNhcGFiaWxpdHk7IHBvc3NpYmx5IHVu cmVhbGl6ZWQuIEJyaWRpIGlzIHBvc3NpYmxlIHVuZGVyIHRoZSBjaXJjdW1zdGFuY2VzIG9mIHtz dW10aX0KCkxldCdzIGZpcnN0IGNvbnRyYXN0ICcnY2EnYScnIHdpdGggJydrYSdlJycuICcna2En ZScnIG1lYW5zIHRoYXQgdGhlIGJyaWRpIGlzICJwb3NzaWJsZSBpZiB0aGUgZXZlbnQgb2YgU1VN VEkgaGFzL2lzL3dpbGwgb2NjdXIiLiAnJ2NhJ2EnJyBieSBjb250cmFzdCwgbWVhbnMgdGhhdCB0 aGUgYnJpZGkgImhhcywgaXMsIG9yIHdpbGwgaGFwcGVuIGlmIHRoZSBldmVudCBvZiBTVU1USSBo YXMvaXMvd2lsbCBvY2N1ciIuIAoKTGlrZSBhbGwgc3VtdGNpdGEsIHRoZWlyIGNvcnJlc3BvbmRp bmcgc3VtdGkgY2FuIGJlIGVsaWRlZCBpZiB0aGUgc3VtdGNpdGEgaXMgcGxhY2VkIGJlZm9yZSB0 aGUgc2VsYnJpOgoKJydsZSB2aSBzb3ZkYSBrYSdlIGZ1bHRhIC5pIGphJ28gYm8gcmkgZnVzcmEn JyAtICJUaGlzIGVnZyBmbG9hdHMuIFRoZXJlZm9yZSwgaXQncyByb3R0ZW4iLgoKQnkgdXNpbmcg JydrYSdlJycsIHRoaXMgc2VudGVuY2UgZG9lcyBub3Qgc3RhdGUgdGhhdCB0aGUgZWdnIGhhcyBm bG9hdGVkLCBvciBldmVyIHdpbGwgZmxvYXQsIGJ1dCByYXRoZXIgdGhhdCBpdCBjb3VsZCBmbG9h dC4KCgoKX18nJ3B1J2knJ19fOiBtb2RhbCBhc3BlY3Q6IGNhbiBhbmQgaGFzOyBkZW1vbnN0cmF0 ZWQgcG90ZW50aWFsLiBCcmlkaSBjb3VsZCBvciBjb3VsZCBub3QgaGFwcGVuLCBidXQgaW4gZmFj dCBpdCBpcy9kaWQvd2lsbCBoYXBwZW4gdW5kZXIgdGhlIGNpcmN1bXN0YW5jZSBvZiB7c3VtdGl9 CgpfXycnbnUnbycnX186IG1vZGFsIGFzcGVjdDogY2FuIGJ1dCBoYXMgbm90OyB1bnJlYWxpemVk IHBvdGVudGlhbC4gQnJpZGkgaXMgcG9zc2libGUsIGJ1dCBpcy93aWxsL2hhdmUgbm90IGhhcHBl bmVkIHVuZGVyIHtzdW10aX0KCgoKVW5kZXJzdGFuZGluZyAnJ2thJ2UnJyBhbmQgJydjYSdhJycs ICcnbnUnbycnIHNpbXBseSBtZWFucyAnJ2thJ2UgamUgbmEga3UgY2EnYScnLCBhbmQgJydwdSdp JycgbWVhbnMgJydjYSdhIGplIGthJ2UgbmEga3UnJy4gCgpIaXN0b3JpY2FsbHksIHRoZXNlIGZv dXIgd29yZHMgd2FzIHRlbnNlIHN1bXRjaXRhIC0gdGhlcmVmb3JlIHRoZSAibW9kYWwgYXNwZWN0 IiBpbiB0aGVpciBkZWZpbml0aW9ucy4gQWxsIHRlbnNlIHN1bXRjaXRhIHdhcyB0aGVuIG5vdCBj b25zaWRlcmVkIHN1bXRjaXRhIGF0IGFsbCwgYnV0IHJhdGhlciAic2VsYnJpIHRjaXRhIi4gQSBt b2Rlcm4gdW5kZXJzdGFuZGluZyBvZiBMb2piYW4gaXMgZ2FpbmluZyBwb3B1bGFyaXR5LCB3aGVy ZWluIHRoZSB0ZW5zZSBzdW10Y2l0YSBhcmUgY29uc2lkZXJlZCBzdW10Y2l0YSwgYWxtb3N0IGV4 YWN0bHkgbGlrZSB0aGUgQkFJLCBhbmQgaW4gd2hlcmUgc2VsYnJpIHRjaXRhIGFyZSBub3QgdXNl ZC4gCgpCZWNhdXNlIG9mIHRoZXNlIGZvdXIgd29yZHMnIGhpc3RvcnkgYXMgc2VsYnJpIHRjaXRh LCB0aGV5IGNhbiBiZSBmcmVlbHkgZWxpZGVkIC0gaW5kZWVkLCBzaW5jZSBvbmUgb2YgdGhlIGZv dXIgd29yZHMgYWx3YXlzIGFwcGxpZXMsIG9uZSBpcyBhbHdheXMgYXNzdW1lZCB0byBiZSBlbGlk ZWQuIFRoaXMgaXMgbW9zdCBvZnRlbiAnJ2NhJ2EnJy4gSW5kZWVkLCBpdCdzIHNvIG9mdGVuICcn Y2EnYScnIHRoYXQgb25lIGNvdWxkIHdvbmRlciB3aHkgJydjYSdhJycgaXMgbm90IHRoZSBkZWZh dWx0LgoKT25lIHJlYXNvbiBpcyB0aGF0IHNvbWUgc2VsYnJpIGhhcyB0d28gdXNlZnVsIGRlZmlu aXRpb25zLCBvbmUgd2hpY2ggaW1wbGllcyAnJ2thJ2UgU0VMQlJJJycgYW5kIG9uZSB3aGljaCBp bXBsaWVzICcnY2EnYSBTRUxCUkknJy4gRm9yIGFuIGV4YW1wbGUsIHNlZSAnJ2Zhc251JycsIHdo aWNoIGNhbiBtZWFuICJ4MSBpcyBoYXBwZW5pbmciIG9yICJ4MSBpcyBhbiBldmVudCIsIHdoZXJl IHRoZSBmaXJzdCBpbXBsaWVzICcnY2EnYSBmYXNudScnIGFuZCB0aGUgc2Vjb25kICcna2EnZSBm YXNudScnCgpBbm90aGVyIHVzZSBvZiAiaW1wbGllZCAnJ2thJ2UnJyIgaXMgYXMgYSB3YXkgdG8g ZXNjYXBlIGFuIGFubm95aW5nIHBoaWxvc29waGljYWwgcHJvYmxlbSBpbiB0aGUgbGFuZ3VhZ2Uu IEEgc2VsYnJpIG9ubHkgYXBwbGllcyBpZiBhbGwgaXRzIHBsYWNlcyBhcHBseSB0b28uIEZvciBz b21lIHNlbGJyaSwgbGlrZSAnJ2thYnJpJycsIHRoYXQncyBhIHByb2JsZW0uCgpfXycna2Ficmkn J19fIHgxIGlzIGEgY3VwIGNvbnRhaW5pbmcgY29udGVudHMgeDIgYW5kIG9mIG1hdGVyaWFsIHgz CgpUaGUgZGVmaW5pdGlvbiBzdWdnZXN0cyB0aGF0IGlmIHRoZSBjb250ZW50IG9mIHRoZSBjdXAg aXMgcmVtb3ZlZCwgdGhlIHgyIG5vIGxvbmdlciBhcHBsaWVzIGFuZCBpdCBzdG9wcyBiZWluZyAn J2xvIGthYnJpJycuIEltcGxpZWQgJydrYSdlJycsIG9yIG1vcmUgZml0dGluZ2x5LCAnJ251J28n JywgbGV0IHVzIGVzY2FwZSB0aGF0IHByb2JsZW0uCgoKCgoKISEhRW5kIG9mIGxlc3NvbnMKClNv cnJ5LCBidXQgYXMgb2Ygbm93LCB0aGVyZSBhcmUgbm8gbW9yZSBsZXNzb25zIGluIHRoaXMgc2Vy aWVzLiBQZXJoYXBzIG1vcmUgd2lsbCBiZSBhZGRlZCBsYXRlci4gTWVhbndoaWxlLCBmZWVsIGZy ZWUgdG8gdmlzaXQgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHx0aGUgZmlyc3QgcGFydCBvZiBXYXZl bGVzc29uc2NvbnRpbnVlZCkpIG9yICgod2F2ZWxlc3NvbnNjb250aW51ZWR8VGhlIHNlY29uZCBw YXJ0IG9mIFdhdmVsZXNzb25zY29udGludWVkKSkuCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGluZyBsaXN0Cldpa2ljaGFu Z2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dp a2ljaGFuZ2VzCg==