Received: from localhost ([::1]:58719 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Tt7W3-00039G-U2; Wed, 09 Jan 2013 18:05:12 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:54810 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Tt7Vv-00039A-VP for wikineurotic@lojban.org; Wed, 09 Jan 2013 18:05:10 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 9 Jan 2013 18:05:03 -0800 From: "Apache" Date: Wed, 9 Jan 2013 18:05:03 -0800 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 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 wavelessonscontinuedp2 was changed by snanu at 02:04 UTC Comment: Changed Clani's definition from saying "is short" to "is long" You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 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 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by snanu X-BeenThere: wikineurotic@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: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBzbmFudSBhdCAw MjowNCBVVEMKQ29tbWVudDogQ2hhbmdlZCBDbGFuaSdzIGRlZmluaXRpb24gZnJvbSBzYXlpbmcg ImlzIHNob3J0IiB0byAiaXMgbG9uZyIKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dp bmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29u dGludWVkcDIKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lv biBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlr aS1wYWdlaGlzdG9yeS5waHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZv bGR2ZXI9MTMmbmV3dmVyPTE0CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxv dyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq CgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKQEAgLUxpbmVzOiAyMTktMjIzIGNoYW5nZWQgdG8gK0xpbmVzOiAyMTktMjIzIEBACist Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r CihXaGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5IHVuZGVyc3Rvb2QgdGhh dCBpZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1laWdodCkgaXMgdXNlZCBh cyBhIHN1bXRpLCB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IGFyZSBvcmRlcmVkIGZyb20gdGhlIG9u ZSB3aXRoIG1vc3Qgb2YgdGhlIHByb3BlcnR5IHRvIHRoZSBvbmUgd2l0aCBsZXNzIG9mIHRoZSBw cm9wZXJ0eSwgc28gdGhlIHgzIG9mIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UgY291bGQgaGF2ZSBi ZWVuIHNob3J0ZW5lZCB0byAnJ2xvIGthIGNsYW5pJycpCl9fJydsaWRuZScnX18geDEgaXMgYmVm b3JlIHgyIGluIHNlcXVlbmNlIHgzCi0gX18nJ2NsYW5pJydfXyB4MSBpcyBzaG9ydCBpbiBkaW1l bnNpb24geDIgYnkgc3RhbmRhcmQgeDMKKyBfXycnY2xhbmknJ19fIHgxIGlzIGxvbmcgaW4gZGlt ZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCl9fJyd6bWFkdScnX18geDEgZXhjZWVkcyB4MiBpbiBw cm9wZXJ0eSB4MyBieSBhbW91bnQgeDQKX18nJ21sZWNhJydfXyB4MSBpcyBsZXNzIHRoYW4vaXMg bGVzcyBjaGFyYWN0ZXJpemVkIHRoYW4geDIgYnkgcHJvcGVydHkgeDMgYnkgYW1vdW50IHg0CgoK CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZl IExlc3NvbnMgQ29udGludWVkIChwYXJ0IHR3byk6CgohISFieSBsYSBrbGFrdSB3aXRoIGhlbHAg ZnJvbSBsYSAua3JpYmFjci4sIGxhIHhhbGJvIGFuZCBvdGhlcnMsIGF1dHVtbiAyMDExLgoKCgpU aGlzIGlzIHRoZSBzZWNvbmQgaW5zdGFsbG1lbnQgb2YgdGhlIFdhdmUgTGVzc29ucyBDb250aW51 ZWQuIElmIHlvdSBkaWRuJ3QgY2F0Y2ggdGhlIGZpcnN0IHBhcnQsIG9yIHdhbnQgdG8gZ28gYmFj ayBmb3Igc29tZSByZWFzb24sIGp1c3QgY2xpY2sgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxoZXJl LikpCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFzc29ydGVk IHdvcmRzKQoKQW5kIHdpdGggdGhhdCwgdGhpcmQgY2hhcHRlciwgeW91IGtub3cgYSBsb3QgYWJv dXQgTG9qYmFuIHN1bXRpLiBBZnRlciBzdWNoIGEgbG9uZyB0aW1lIG9mIHJpZ29yb3VzIHN5c3Rl bWF0aWMgbGVhcm5pbmcsIHdoYXQgY291bGQgYmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhpcyBsZXNz b24gd2hlcmUgSSBzcGVhayBhYm91dCBzb21lIHdvcmRzIHdoaWNoIEkgY291bGQgbm90LCBvciB3 YW50ZWQgbm90IHRvIGZpdCBpbnRvIGFueSBvdGhlciBsZXNzb25zPyBTbyBoZXJlIGFyZSBhIGZl dyBzbWFsbCBhbmQgcmVhbGx5IHVzZWZ1bCB3b3JkczoKCgoKVGhlIGZvbGxvd2luZyBjbWF2byBh cmUgYWxsIGVsbGlwdGljYWwgd29yZHMuIFlvdSBzaG91bGQgYWxyZWFkeSBiZSBmYW1pbGlhciB3 aXRoIHRoZSBmaXJzdC4KCl9fJyd6b+KAmWUnJ19fIC0gZWxsaXB0aWNhbCBzdW10aQoKX18nJ2Nv 4oCZZScnX18gLSBlbGxpcHRpY2FsIHNlbGJyaQoKX18nJ2Rv4oCZZScnX18gLSBlbGxpcHRpY2Fs IHN1bXRjaXRhCgpfXycnanXigJlhJydfXyAtIGVsbGlwdGljYWwgZXZpZGVudGlhbAoKX18nJ2Rv 4oCZaScnX18gLSBlbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZQoKX18nJ2dl4oCZZScnX18g LSBlbGxpcHRpY2FsIGF0dGl0dWRpbmFsCgoKCkFsbCBvZiB0aGVzZSBhY3QgZ3JhbW1hdGljYWxs eSBhcyBhIGNtYXZvIG9mIHRoZSBraW5kIHRoZXkgcmVwcmVzZW50LCBidXQgdGhleSBjb250YWlu IG5vIGluZm9ybWF0aW9uLCBhbmQgY2FuIGJlIHF1aXRlIGhhbmR5IHdoZW4geW914oCZcmUgbGF6 eSBhbmQgZG9u4oCZdCBuZWVkIHRvIGJlIHNwZWNpZmljIGFueXdheS4gVGhlcmUgYXJlLCBob3dl dmVyLCBhIGZldyB0aGluZ3Mgd2hpY2ggbmVlZCB0byBiZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6 b+KAmWUnJyBoYXZlIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBjbGFpbWVkIHRvIGhh dmUgYSB2YWx1ZS4g4oCcemVybyBjYXJz4oCdIG9yIOKAnG5vdGhpbmfigJ0sIGZvciBpbnN0YW5j ZSwgaGFzIG5vIHZhbHVlLCBhbmQgdGhlcmVmb3JlIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSAn J3pv4oCZZScnLiBUaGlzIGlzIGJlY2F1c2UsIGlmIGl0IGNvdWxkIG1lYW4g4oCcbm90aGluZ+KA nSBieSAnJ3pv4oCZZScnLCB0aGVuIGFueSBzZWxicmkgY291bGQgYmUgaWRlbnRpY2FsIHRvIGl0 cyBuZWdhdGlvbiwgaWYgb25lIG9mIHRoZSBlbGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQgd2l0aCBh ICcnem/igJllJycgd2l0aCBubyB2YWx1ZS4KCiAgICAnJ2dl4oCZZScnIGRvZXMgbm90IG1lYW4g dGhhdCB5b3UgZmVlbCBubyBlbW90aW9uLCBqdXN0IHRoYXQgeW91IGZlZWwgbm90aGluZyBzcGVj aWFsIG9yIHdvcnRoIHRvIG1lbnRpb24gYXQgdGhlIG1vbWVudC4gSXTigJlzIHNpbWlsYXIgdG8g 4oCcSeKAmW0gZmluZS7igJ0uICcnZ2XigJllIHBlaScnIGFzayBhYm91dCBhbiBlbGxpcHRpY2Fs IGVtb3Rpb24gYW5kIGlzIGEgZ29vZCB0cmFuc2xhdGlvbiBmb3I6IOKAnEhvdyBhcmUgeW91IGZl ZWxpbmc/4oCdLgoKICAgICcnY2/igJllJycgaXMgaGFuZHkgd2hlbiBuZWVkaW5nIGEgc2VsYnJp IGluIGEgY29uc3RydWN0IGZvciBncmFtbWF0aWNhbCByZWFzb25zLCBsaWtlIGluIHRoZSBkZWZp bml0aW9uIG9mICcndHXigJlhJycgaW4gdGhlIHByZXZpb3VzIGxlc3Nvbi4KCiAgICAnJ2p14oCZ YScnIGRvZXMgbm90IGNoYW5nZSB0aGUgdHJ1dGggdmFsdWUgb3Igc3ViamVjdGl2ZSB1bmRlcnN0 YW5kaW5nIG9mIHRoZSBicmlkaSBvciBhbnl0aGluZyBsaWtlIHRoYXQuIEluIGZhY3QsIGl04oCZ cyBtb3N0bHkgZG9lcyBub3RoaW5nLiBIb3dldmVyLCAnJ2p14oCZYSBwZWknJywg4oCcV2hhdCBp cyB5b3VyIGJhc2lzIGZvciBzYXlpbmcgdGhhdD/igJ0gaXMgaGFuZHkuCgogICAgJydkb+KAmWkn JyBpcyByZWFsbHkgdXNlZnVsLiBBIGxvdCBvZiB0aW1lcyB3aGVuIHlvdSByZWZlciB0byB1dHRl cmFuY2VzIG9yIGNvbnZlcnNhdGlvbnMgYnkgd29yZHMgbGlrZSDigJx0aGlz4oCdIG9yIOKAnHRo YXTigJ0sIHlvdSB3YW50ICcnZG/igJlpJycuCgogICAgSWYgeW91IGZpbGwgaW4gbW9yZSBzdW10 aSB0aGFuIGEgc2VsYnJpIGhhcyBwbGFjZXMgZm9yLCB0aGUgbGFzdCBzdW10aSBoYXZlIGltcGxp ZWQgJydkb+KAmWUnJyBzdW10Y2l0YSBpbiBmcm9udCBvZiB0aGVtLgoKCgpGdXJ0aGVybW9yZSwg dGhlcmUgaXMgYSB3b3JkLCAnJ3pp4oCZbycnLCB0aGF0IHlvdSBjYW4gZmlsbCBhIHN1bXRpIHBs YWNlIHdpdGggdG8gZGVsZXRlIGl0IGZyb20gYW55IHNlbGJyaS4gJydsbyBtZWxiaSBiZSB6aeKA mW8nJywgZm9yIGluc3RhbmNlLCBpcyBqdXN0IOKAnFNvbWV0aGluZyBiZWF1dGlmdWzigJ0sIGFu ZCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB1c3VhbCB4MiBvZiAnJ21lbGJpJycsIHdoaWNoIGlzIHRo ZSBvYnNlcnZlciB3aG8ganVkZ2VzIHNvbWV0aGluZyB0byBiZSBiZWF1dGlmdWwuIFRodXMsIGl0 IGNhbiBtZWFuIHNvbWV0aGluZyBsaWtlIOKAnE9iamVjdGl2ZWx5IGJlYXV0aWZ1bC7igJ0gSXQg ZG9lcyBub3Qgc3RhdGUgdGhhdCBub3RoaW5nIGZpbGxzIHRoZSBzdW10aSBwbGFjZSB3aGljaCBp cyBiZWluZyBkZWxldGVkLCBqdXN0IHRoYXQgdGhlIHN1bXRpIHBsYWNlIGlzIG5vdCBiZWluZyBj b25zaWRlcmVkIGluIHRoZSBzZWxicmkuIFVzaW5nICcnemnigJlvJycgd2l0aCBhIHN1bXRjaXRh IGdpdmVzIHdlaXJkIHJlc3VsdHMuIEZvcm1hbGx5LCB0aGV5IHNob3VsZCBjYW5jZWwgZWFjaCBv dGhlciBvdXQuIFByYWN0aWNhbGx5LCBpdCB3b3VsZCBwcm9iYWJseSBiZSB1bmRlcnN0b29kIGFz IGFuIGV4cGxpY2l0IHdheSBvZiBzYXlpbmcgdGhhdCB0aGUgc3VtdGNpdGEgZG9lcyBub3QgYXBw bHksIGFzIGluOiAnJ21pIGRhcnhpIGRvIG114oCZaSB6aeKAmW8nJyAtIOKAnEkgaGl0IHlvdSwg d2l0aCBvciB3aXRob3V0IG1vdGl2YXRpb24u4oCdCgoKClRoZW4gdGhlcmUgaXMgdGhlIHdvcmQg JydqYWknJy4gSXTigJlzIG9uZSBvZiB0aG9zZSBjb29sLCBzbWFsbCB3b3JkcyB3aGljaCBhcmUg aGFyZCB0byBncmFzcCwgYnV0IGVhc3kgdG8gd29yayB3aXRoIG9uY2UgeW91IGtub3cgaXQuIEl0 IGhhcyB0d28gZGlzdGluY3QsIGJ1dCBzaW1pbGFyIGZ1bmN0aW9ucy4gQm90aCBoYXZlIHNvbWV0 aGluZyB0byBkbyB3aXRoIGNvbnZlcnRpbmcgdGhlIHNlbGJyaSwgbGlrZSAnJ3NlJycgZG9lcy4K Cl9fJydqYWknJ19fIFNlbGJyaSBjb252ZXJzaW9uOiBDb252ZXJ0cyBzdW10Y2l0YSBvciB1bnNw ZWNpZmllZCBhYnN0cmFjdGlvbiB0byB4MS4gVXNlIHdpdGggJydmYWknJwoKX18nJ2ZhaScnX18g TWFya3Mgc3VtdGkgcGxhY2UuIFdvcmtzIGxpa2UgJydmYScnLiBUbyBiZSB1c2VkIHdpdGggJydq YWknJy4KClRoZSBmaXJzdCBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rpb24gaXQgY2FuIG1ha2UgaXMg IicnamFpJycge3N1bXRjaXRhfSB7c2VsYnJpfSIuIEl0IGNoYW5nZXMgdGhlIHN1bXRpIHBsYWNl cyBzdWNoIHRoYXQgdGhlIHN1bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YSBiZWNvbWVzIHRoZSBz ZWxicmnigJlzIHgxLCBhbmQgdGhlIHNlbGJyaeKAmXMgb2xkIHgxIGlzIHJlbW92ZWQsIGFuZCBv bmx5IGFjY2Vzc2libGUgYnkgdXNpbmcgJydmYWknJywgd2hpY2ggd29ya3MgbGlrZSAnJ2ZhJycu IFlvdSBjYW4gc2VlIGl0IHdpdGggdGhpcyBleGFtcGxlOgoKX18nJ2dhdScnX18gLSBzdW10Y2l0 YSAoZnJvbSAnJ2dhc251JycpIOKAnGJyaWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJvdXQgYnkvd2l0 aCBhY3RpdmUgYWdlbnQge3N1bXRpfeKAnQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRpIGZhaSBtaScn LiAtIOKAnFlvdSBicmluZyBhYm91dCBhdHRlbnRpb24gdG8gdGhpcyBieSBtZeKAnS4gVGhlIG5l dyBzZWxicmksICcnamFpIGdhdSBqdW5kaScnLCBoYXMgdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiDi gJx4MSBicmluZ3MgYWJvdXQgYXR0ZW50aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNlIGFyZSB0aGVu IGZpbGxlZCBieSAnJ2RvJycgYW5kICcndGknJy4gVGhlICcnZmFpJycgdGhlbiBtYXJrcyB0aGUg cGxhY2UgZm9yIHRoZSBvbGQgeDEsIHRoZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0ZW50aW9uLCBh bmQgaXQgaXMgZmlsbGVkIHdpdGggJydtaScnLiBUaGlzIHdvcmQgY2FuIGJlIHZlcnkgY29udmVu aWVudCBhbmQgaGFzIHRvbnMgb2YgdXNlcy4gQSBnb29kIGV4YW1wbGUgaXMgZGVzY3JpcHRpdmUt bGlrZSBzdW10aS4gT25lIGNhbiwgZm9yIGluc3RhbmNlLCByZWZlciB0byDigJx0aGUgbWV0aG9k IG9mIHZvbGl0aW9uYWwgYWN0aW9u4oCdIGJ5ICcnbG8gamFpIHRh4oCZaSB6dWt0ZScnLgoKX18n J3Rh4oCZaScnX186IHN1bXRjaXRhIChmcm9tICcndGFkamknJykg4oCcQnJpZGkgaXMgZG9uZSB3 aXRoIHRoZSBtZXRob2Qgb2Yge3N1bXRpfeKAnQoKQ2FuIHlvdSBkZWR1Y2Ugd2hhdCB0aGUgb3Jk aW5hcnkgTG9qYmFuIHBocmFzZSAnJ2RvIGphaSBnYXUgbW8nJyBtZWFucz8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxXaGF0IGFyZSB5b3UgZG9pbmc/4oCdfn4KCgoKVGhlIG90aGVyIGZ1bmN0 aW9uIG9mICcnamFpJycgaXMgZWFzaWVyIHRvIGV4cGxhaW4uIEl0IHNpbXBseSBjb252ZXJ0cyB0 aGUgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgc3VtdGkgaW4gdGhlIHgxIGdldHMgYSAnJ3R14oCZYScn IGluIGZyb250IG9mIGl0ICgnJ2tv4oCZYSBqYWkgYnJvZGEnJyBfXz1fXyAnJ3R14oCZYSBrb+KA mWEgYnJvZGEnJykuIEluIG90aGVyIHdvcmRzLCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEg d2F5IHN1Y2ggdGhhdCBpdCBidWlsZHMgYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRo ZSBzdW10aSBpbiB0aGUgeDEsIGFuZCB0aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9u IGluc3RlYWQgb2YgdGhlIGFjdHVhbCBzdW10aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBw bGFjZSBpcyBhY2Nlc3NpYmxlIGJ5ICcnZmFpJycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMt dXNlciBvZnRlbiBzYXlzICcnbGUgZ2Vya3UgYmUgZG8gamFpIHNlIHN0aWRpIG1pJycsIHRvIHVz ZSBhIHJhbmRvbSBleGFtcGxlIG9mIGEgc3VtdGkgaW4geDEuIFdoYXTigJlzIGhlIHNheT8KCl9f JydzdGlkaScnX18geDEgaW5zcGlyZXMvc3VnZ2VzdHMgeDIgaW4vdG8geDPigJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3QgKHNvbWV0aGluZyBhYm91dCkgeW91ciBkb2cu4oCd fn4KCgoKU28gZmFyIHlvdeKAmXZlIGxlYXJuZWQgaG93IHRvIGNvbnZlcnQgYnJpZGkgdG8gc2Vs YnJpLCBzZWxicmkgdG8gc3VtdGksIGFuZCBzZWxicmkgaW50byBicmlkaSwgc2luY2UgYWxsIHNl bGJyaSBieSB0aGVtc2VsdmVzIGFyZSBhbHNvIGJyaWRpLiBZb3Ugb25seSBuZWVkIG9uZSBsYXN0 IGZ1bmN0aW9uOiBjb252ZXJ0IHN1bXRpIHRvIHNlbGJyaS4gVGhpcyBpcyBkb25lIHdpdGggdGhl IHdvcmQgJydtZScnLiBJdCBhY2NlcHRzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IGludG8gYSBz ZWxicmkgd2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIOKAnHgxIGlzIHNwZWNpZmljIHRvIHtzdW10 aX0gaW4gcHJvcGVydHkgeDLigJ0uCgpfXycnbWUnJ19fOiBHZW5lcmljIGNvbnZlcnQgc3VtdGkg dG8gc2VsYnJpLiB4MSBpcyBzcGVjaWZpYyB0byBTVU1USSBpbiBwcm9wZXJ0eSB4MgoKCgpXaGVu IHNjcmV3aW5nIGEgc2VudGVuY2UgdXAsIGtub3dpbmcgaG93IHRvIGNvcnJlY3QgeW91cnNlbGYg aXMgYSBnb29kIGlkZWEuIFRoZXJlIGFyZSB0aHJlZSB3b3JkcyBpbiBMb2piYW4gd2hpY2ggeW91 IGNhbiB1c2UgdG8gZGVsZXRlIHlvdXIgcHJldmlvdXMgd29yZChzKQoKX18nJ3NpJydfXyAtIGRl bGV0aW9uOiBEZWxldGVzIGxhc3Qgd29yZCBvbmx5LgoKX18nJ3NhJydfXyAtIGRlbGV0aW9uOiBE ZWxldGVzIGJhY2sgdW50aWwgbmV4dCBjbWF2byBzcG9rZW4uCgpfXycnc3UnJ19fIC0gZGVsZXRp b246IERlbGV0ZXMgZW50aXJlIGRpc2NvdXJzZS4KClRoZSBmdW5jdGlvbiBvZiB0aGVzZSB3b3Jk cyBhcmUgb2J2aW91czogVGhleSBkZWxldGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJl ZW4gc3Bva2VuLiBUaGV5IGRvIG5vdCB3b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1 b3RlcyBleGNlcHQgJydsdS4ubGnigJl1JycpLCB0aG91Z2gsIGFzIHRoYXQgd291bGQgbGVhdmUg aXQgaW1wb3NzaWJsZSB0byBxdW90ZSB0aGVzZSB3b3Jkcy4gU2V2ZXJhbCAnJ3NpJycgaW4gYSBy b3cgZGVsZXRlcyBzZXZlcmFsIHdvcmRzLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g ZWlnaHRlZW4gKHF1b3RlcykKCk9uZSBvZiB0aGUga2V5IGRlc2lnbiBmZWF0dXJlcyBvZiBMb2pi YW4gaXMgdGhhdCBpdOKAmXMgc3VwcG9zZWQgdG8gYmUgYXVkaW8tdmlzdWFsIGlzb21vcnBoaWMs IG1lYW5pbmcgdGhhdCBldmVyeXRoaW5nIGV4cHJlc3NlZCBpbiB0ZXh0IHNob3VsZCBhbHNvIGJl IGV4cHJlc3NlZCBpbiBzcGVlY2ggYW5kIHZpY2UgdmVyc2EuIFRoZXJlZm9yZSwgdGhlcmUgY2Fu bm90IGJlIGFueSBwdW5jdHVhdGlvbiB3aGljaCBpcyBub3QgcHJvbm91bmNlZC4gVGhpcyBtZWFu cyB0aGF0IExvamJhbiBoYXMgYSB3aWRlIHJhbmdlIG9mIHdvcmRzIHRvIHF1b3RlIG90aGVyIHdv cmRzLiBBbGwgTG9qYmFuIHF1b3RlcyB0YWtlIHNvbWUgaW5wdXQgb2YgdGV4dCBhbmQgY29udmVy dHMgaXQgdG8gYSBzdW10aS4gTGV04oCZcyBiZWdpbiB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoK X18nJ2x1JydfXyBRdW90ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4g Y29udGVudAoKX18nJ2xp4oCZdScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIGdyYW1tYXRp Y2FsIExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSB0aGlzIGNvbnN0cnVjdCBtdXN0 IGJ5IGl0c2VsZiBiZSBncmFtbWF0aWNhbC4gSXQgY2FuIHF1b3RlIGFsbCBMb2piYW4gd29yZHMg d2l0aCBzb21lIGZldyBleGNlcHRpb25zLCBtb3N0IG5vdGFibHksIG9idmlvdXNseSwgJydsaeKA mXUnJy4KCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHNlbnRlbmNlLiBUYWtlIHlv dXIgdGltZS4KCicnbWkgc3RpZGkgbG8gZHJhdGEgYmUgdHXigJlhIGx1IGtvIGphaSBnYXUgbW8g bGnigJl1JycKCl9fJydkcmF0YScnX18geDEgaXMgZGlmZmVyZW50IGZyb20geDIgYnkgc3RhbmRh cmQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qgc29tZXRoaW5nIGRpZmZlcmVu dCB0aGFuIHNvbWV0aGluZyBhYm91dCDigJxrbyBqYWkgZ2F1IG1v4oCdLuKAnX5+CgoKClRoZXNl IHF1b3RlIHdvcmRzIGNhbm5vdCBxdW90ZSB1bmdyYW1tYXRpY2FsIHRleHQuIFRoaXMgaXMgc29t ZXRpbWVzIHVzZWZ1bCwgd2hlbiB5b3Ugd2FudCB0byBvbmx5IHBpY2sgb3V0IHBhcnQgb2YgYSBz ZW50ZW5jZSwgYXMgaW46IOKAnCBpcyDigJxnaeKAmWXigJ0gYSBMb2piYW4gc3VtdGNpdGE/4oCd CgoKCkZvciB0aGlzLCB5b3UgbmVlZCB0aGVzZSB0d28gY21hdm8KCl9fJydsb+KAmXUnJ19fIFF1 b3RlIHdvcmQ6IEJlZ2luIHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50 CgpfXycnbGXigJl1JydfXyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBi dXQgTG9qYmFuIGNvbnRlbnQKCgoKVGhlIHRleHQgaW5zaWRlIG11c3QgYmUgTG9qYmFuIHdvcmRz LCBidXQgbmVlZCBub3QgYmUgZ3JhbW1hdGljYWwuIFRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3Zl IGV4YW1wbGUgKHRoZSBvbmUgd2l0aCAnJ2dpJ2UnJykgaW50byBMb2piYW4KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ3h1IGxv4oCZdSBnaeKAmWUgbGXigJl1IGxvamJvIHN1bXRjaXRhJyd+fgoK CgpUaGlzIHF1b3RlIGNhbiBiZSB1c2VkIHRvIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgZXhjZXB0 ICcnbGXigJl1JycuIEhvd2V2ZXIsIHRoaXMgaXMgbm90IGVub3VnaC4gSWYgd2Ugd2FudCB0byB0 cmFuc2xhdGUg4oCcaXMg4oCdZG8gbW/igJ0gYSBjb3JyZWN0IHRyYW5zbGF0aW9uIG9mIOKAnFdo YXTigJlzIHVwP+KAneKAnSwgd2UgbWlnaHQgYmUgc2xpZ2h0bHkgd3JvbmcgYWJvdXQgd2hhdCB3 ZSBoZXJlIHN0YXRlLCBzaW5jZSAnJ2RvIG1vJycgYWxzbyBjYW4gbWVhbiDigJxXaGF0IGFyZSB5 b3U/4oCdLCBidXQgbGV04oCZcyByb2xsIHdpdGggaXQgZm9yIGEgc2Vjb25kLiBXaGF0IHdlIG5l ZWQgaGVyZSBpcyB0aGUgd29yZCAnJ3pvaScnLgoKCgonJ3pvaScnIE5leHQgY21hdm8gaXMgYmVn aW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlLgoKCgpXaGVu IHVzaW5nICcnem9pJycsIHlvdSBwaWNrIGFueSBtb3JwaG9sb2dpY2FsbHkgY29ycmVjdCBsb2pi YW4gd29yZCBhdCB3aWxsIChjYWxsZWQgdGhlIGRlbGltaXRlciksIHdoaWNoIHRoZW4gb3BlbnMg YSBxdW90ZS4gVG8gY2xvc2UgaXQsIHVzZSB0aGF0IHdvcmQgYWdhaW4uIFRoaXMgd2F5LCB5b3Ug Y2FuIHF1b3RlIGFueXRoaW5nIGV4Y2VwdCB0aGUgZGVsaW1pdGVyLCB3aGljaCBzaG91bGRu4oCZ dCBiZSBhIHByb2JsZW0gYmVjYXVzZSB5b3UgY2FuIHBpY2sgaXQgeW91cnNlbGYuIFVzdWFsbHks IHRoZSB3b3JkIHBpY2tlZCBpcyBlaXRoZXIgJyd6b2knJyBpdHNlbGYsIG9yIGEgbGV0dGVyIHdo aWNoIHN0YW5kcyBmb3IgdGhlIGxhbmd1YWdlIHdoaWNoIHRoZSBxdW90ZSBpcyB3cml0dGVuIGlu LiBFeGFtcGxlOiDigJxJIGxpa2VkIFRoZSBQaGFudG9tIG9mIHRoZSBPcGVyYeKAnSBpcyAnJ21p IHB1IG5lbGNpIGxh4oCZZSB6b2kgem9pLiBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmEgLnpvaScn IE5vdGljZSB0d28gdGhpbmdzOiBGaXJzdGx5LCBJIG5lZWQgYSAnJ2xh4oCZZScnLCBzaW5jZSBJ IGRpZG7igJl0IGxpa2UgdGhlIHF1b3RlLCBidXQgcmF0aGVyIHdoYXQgaXQgcmVmZXJyZWQgdG8u IFNlY29uZGx5LCBiZXR3ZWVuIHRoZSBjaG9zZW4gZGVsaW1pdGVyIGFuZCB0aGUgcXVvdGUsIHRo ZXJlIGFyZSBwYXVzZXMsIG9wdGlvbmFsbHkgcmVwcmVzZW50ZWQgYnkgYSBmdWxsIHN0b3AgaW4g d3JpdGluZy4gVGhpcyBwYXVzZSBpcyBuZWNlc3NhcnkgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHRo ZSBkZWxpbWl0ZXIuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3ZlIHNlbnRlbmNlIGNvbmNl cm5pbmcg4oCcV2hhdOKAmXMgdXA/4oCdCgoKCl9fJydkcmFuaScnX18geDEgaXMgY29ycmVjdC9w cm9wZXIgaW4gYXNwZWN0IHgyIGluIHNpdHVhdGlvbiB4MyBieSBzdGFuZGFyZCB4NAoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicneHUgbHUgZG8gbW8gbGnigJl1IGRyYW5pIHhlIGZhbnZhIHpvaSBn eS4gV2hhdOKAmXMgdXA/IC5neScnLiBIZXJlIHRoZSBkZWxpbWl0ZXIgJydneScnIGlzIGNob3Nl biBiZWNhdXNlIGl0J3Mgc2hvcnQgZm9yICcnZ2xpY28nJywgbWVhbmluZyAiRW5nbGlzaCJ+fgoK CgpDbG9zZWx5IGFuYWxvZ291c2x5LCB0aGVyZSBpcyAnJ2xh4oCZbycnLiBJdCB3b3JrcyBleGFj dGx5IGxpa2UgJyd6b2knJywgYnV0IHR1cm5zIHRoZSByZXN1bHRpbmcgcXVvdGUgaW50byBhIG5h bWUuIEl0IGlzIG5lZWRlZCBiZWNhdXNlIG5vcm1hbGx5LCBvbmx5IHNlbGJyaSBhbmQgY21ldmxh IGNhbiBiZSBuYW1lcywgbm90IHF1b3Rlcy4KCl9fJydsYeKAmW8nJ19fIE5leHQgY21hdm8gaXMg YmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlIOKAkyB1 c2UgYXMgbmFtZS4KCgoKTGFzdCBvZiB0aGUgb2ZmaWNpYWwgcXVvdGUgd29yZHMsIHRoZXJlIGlz ICcnem8nJy4gJyd6bycnIGFsd2F5cyBxdW90ZXMgdGhlIG5leHQgTG9qYmFuIHdvcmQsIG5vIG1h dHRlciB3aGF0IGl0IGlzLiBJdOKAmXMgcHJldHR5IGhhbmR5LgoKJyd6bycnIFF1b3RlIG5leHQg TG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3aGF0LgoKRXhhbXBsZTogJyd6byB6byB6b+KAmW8gcGxp eGF1JycgPSDigJwg4oCcem/igJ0gaXMgdXNlZnVsLCBoZWhl4oCdCgpfXycnem/igJlvJydfXyBh dHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSHVtb3JvdXNseSwg4oCca2lkZGluZyB5b3XigJ0KCl9f JydwbGl4YXUnJ19fIHgxIGlzIHVzZWZ1bCBmb3IgeDIgdG8gZG8gcHVycG9zZSB4MwoKCgpMb2pi YW4gdXNlcnMgaGF2ZSBmb3VuZCBpdCB1c2VmdWwgdG8gc3VwcGxlbWVudCB3aXRoIGZvdXIgYWRk aXRpb25hbCBxdW90ZSB3b3Jkcy4gVGhleSBhcmUgYWxsIGV4cGVyaW1lbnRhbCwgYW5kIHRoZSBm b3JtYWwgZ3JhbW1hciBkb2VzIG5vdCBzdXBwb3J0IGl0LiBOb25ldGhlbGVzcywgdGhleSBhcmUg dXNlZCBvZnRlbiwgYW5kIGl04oCZcyBnb29kIHRvIGJlIGFibGUgdG8gcmVjb2duaXplIHRoZW0u IFRoZSBtb3N0IHVzZWQgaXM6CgoKCl9fJyd6b+KAmW9pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25s eS4gTmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNw YWNlIGluIHdyaXRpbmc6CgoKCkV4YW1wbGU6ICcncmkgcHUgY3Vza3Ugem/igJlvaSBEb2ghIC51 4oCZaScnIOKAnEhhIGhhLCBoZSBzYWlkIOKAnERvaCHigJ0g4oCcCgoKCkl04oCZcyB2ZXJ5IGVh c3kgdG8gdXNlLiBBZ2Fpbiwgbm90ZSB0aGF0IGFsbCBncmFtbWFyIGJvdHMgd2lsbCBjb25zaWRl ciB0aGUgc2VudGVuY2Ugbm90IGdyYW1tYXRpY2FsLCBiZWNhdXNlIHRoZXNlIHdvcmRzIGRvIG5v dCBleGlzdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIuCgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycg YW5kICcnbGHigJlvJycsIHRoZXJlIGlzIGFsc28gdGhlIHdvcmQgJydsYeKAmW9pJycsIHdoaWNo IHdvcmtzIGp1c3QgbGlrZSAnJ3pv4oCZb2knJywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMgYSBu YW1lOgoKX18nJ2xh4oCZb2knJ19fIFF1b3RlIG5leHQgd29yZCBvbmx5LCB1c2UgYXMgbmFtZS4g TmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNl IGluIHdyaXRpbmc6CgoKCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxNeSBFbmdsaXNoIG5hbWUgaXMg 4oCcU2FmaeKAneKAnT8KCl9fJydnbGljbycnX18geDEgaXMgRW5nbGlzaC9wZXJ0YWlucyB0byBF bmdsaXNoIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgpfXycnY21lbmUnJ19fIHgxIGlzIHRoZSBuYW1l IG9mIHgyIGFzIHVzZWQgYnkgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsaWNvIHNl IGNtZW5lIGxh4oCZb2kgU2FmaScnLiBOb3RpY2UgdGhlIG5lY2Vzc2FyeSBzZS4gV2UgZG9u4oCZ dCB3aGF0IHRvIHNheSB0aGF0IHdl4oCZcmUgYSBuYW1lIX5+CgoKClRoaXJkbHksICcncmHigJlv aScnIHF1b3RlcyB0aGUgbmV4dCByYWZzaS4gU2luY2UgcmFmc2kgYXJlIG5vdCB3b3JkcywgdGhl eSB3b3VsZCB1c3VhbGx5IGhhdmUgdG8gYmUgcXVvdGVkIGJ5ICcnem9pJycuIEZ1cnRoZXJtb3Jl LCBzZXZlcmFsIHJhZnNpIGFyZSBhbHNvIGNtYXZvLiBUbyBhdm9pZCBjb25mdXNpb24gb2Ygd2hp Y2ggaXMgbWVhbnQsICcncmHigJlvaScnIGFsd2F5cyByZWZlciB0byBhIHJhZnNpLCBhbmQgaXMg d3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQgc3RyaW5nIHdoaWNoIGFyZSBub3QgcmFmc2kuCgoK CldoYXQgZG9lcyAnJ3Jh4oCZb2kgenXigJllIHJhZnNpIHpvIHp1a3RlIC5pa3XigJlpIHpv4oCZ b2kgenXigJllIHN1bXRjaXRhJycgbWVhbj8KCl9fJydrdeKAmWknJ19fIGF0dGl0dWRpbmFsOiBk aXNjdXJzaXZlOiBIb3dldmVyIC8gdGhvdWdoIChjb250cmFzdHMgdG8gc29tZXRoaW5nIHByZXZp b3VzbHkgc2FpZCkKCl9fJydyYWZzaScnX18geDEgYW4gYWZmaXggZm9yIHdvcmQvY29uY2VwdCB4 MiB3aXRoIHByb3BlcnRpZXMvb2YgZm9ybSB4MyBpbiBsYW5ndWFnZSB4NAoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFRoZSByYWZzaSDigJx6deKAmWXigJ0gaXMgYSByYWZzaSBmb3Ig4oCcenVr dGXigJ0uIEJ1dCDigJx6deKAmWXigJ0gaXMgYSBzdW10Y2l0YeKAnX5+CgoKCkFuZCBmaW5hbGx5 IHRoZSB1c2VmdWwgd29yZCAnJ21h4oCZb2knJy4gJydtYeKAmW9pJycgcXVvdGVzIGFueSBjbWF2 bywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMgYSBuYW1lIGZvciB0aGUgd29yZCBjbGFzcyAoc2Vs bWHigJlvKSB0byB3aGljaCB0aGF0IHdvcmQgYmVsb25ncy4gU28sIGZvciBpbnN0YW5jZSwgYmHi gJlvIGJlbG9uZ3MgdG8gdGhlIHdvcmRjbGFzcyBjYWxsZWQgWkFoTywgc28gJydtYeKAmW9pIGJh 4oCZbycnIGlzIHVub2ZmaWNpYWwgTG9qYmFuIGZvciDigJxaYWhP4oCdCgoKClRyeSBpdCBvdXQu IFNheSB0aGF0ICcncHUnJyBhbmQgJydiYScnIGFyZSBpbiB0aGUgc2FtZSBzZWxtYeKAmW8hCgpf XycnY21hdm8nJ19fIHgxIGlzIGEgZ3JhbW1hdGljYWwgd29yZCBvZiBjbGFzcyB4MiBpbiBsYW5n dWFnZSB4MwoKCgooT25lIHBvc3NpYmxlKSBBbnN3ZXI6ICB+fmdyZXksZ3JleTonJ3pvIHB1IGNt YXZvIG1h4oCZb2kgYmEnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5ldGVl biAobnVtYmVycykKCldoZW4gbGVhcm5pbmcgYSBsYW5ndWFnZSwgb25lIG9mIHRoZSB0aGluZ3Mg d2hpY2ggYXJlIHVzdWFsbHkgdGF1Z2h0IHZlcnkgZWFybHkgb24gaXMgaG93IHRvIGNvdW50LiBU aGlzIHJlYWxseSBtYWtlcyBsaXR0bGUgc2Vuc2UsIGJlY2F1c2UgaXTigJlzIG5vdCBuZWNlc3Nh cnkgdG8ga25vdyBudW1iZXJzIGlmIHlvdSBkb27igJl0IGtub3cgaG93IHRvIHNwZWFrIGFib3V0 IHRob3NlIHRoaW5ncyB0byB3aGljaCB0aGV5IGFwcGx5LiBUaGlzIGlzIHBhcnRseSB0aGUgcmVh c29uIHdoeSBJIGhhdmUgbGVmdCBpdCBmb3IgbGVzc29uIG51bWJlciBuaW5ldGVlbi4gVGhlIG90 aGVyIHJlYXNvbiBpcyB0aGF0IHdoaWxlIHRoZSBudW1iZXJzIHRoZW1zZWx2ZXMgYXJlIGVhc3kg dG8gbGVhcm4sIGhvdyB0aGV5IGFwcGx5IHRvIHN1bXRpIGNhbiBnZXQgdmVyeSBjb25mdXNpbmcg aW5kZWVkLiBUaGF0LCBob3dldmVyLCB3ZSB3aWxsIHNhdmUgZm9yIGEgbGF0ZXIgbGVzc29uLgoK QmVmb3JlIGxlYXJuaW5nIHRoZSB3b3JkcyB0aGVtc2VsdmVzLCB5b3Ugc2hvdWxkIGtub3cgdGhh dCBudW1iZXJzIGRvIG5vdCBoYXZlIGFueSBpbnRlcm5hbCBncmFtbWFyLiBUaGlzIG1lYW5zIHRo YXQgYW55IHJvdyBvZiBudW1iZXIgd29yZHMgKGhlbmNlZm9ydGggcmVmZXJyZWQgdG8gYXMgYSAi bnVtYmVyIHN0cmluZyIpIGFyZSB0cmVhdGVkIGlkZW50aWNhbGx5IHRvIGFueSBvdGhlciBudW1i ZXIgc3RyaW5nIHRvIHRoZSBMb2piYW4gZ3JhbW1hciwgZXZlbiBpZiB0aGUgc3RyaW5nIG1ha2Vz IG5vIHNlbnNlLiBUaGVyZWZvcmUsIG9uZSBjYW4gbmV2ZXIgYW5zd2VyIHVuYW1iaWd1b3VzbHkg d2hldGhlciBhIG51bWJlciBjb25zdHJ1Y3QgbWFrZXMgc2Vuc2Ugb3Igbm90LiBUaGVyZSBhcmUs IGhvd2V2ZXIsIGludGVuZGVkIHdheXMgb2YgdXNpbmcgdGhlIG51bWJlciB3b3JkcywgYW5kIGNv bmZ1c2lvbiB3aWxsIHByb2JhYmx5IHJlc3VsdCBpZiB5b3UgZGV2aWF0ZSBmcm9tIHRoZSBzdGFu ZGFyZC4KCkxlYXJuaW5nIGFsbCB0aGUgbnVtYmVyIHdvcmRzIG9mIExvamJhbiBhcmUgd2F5IGJl eW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBsZXNzb24sIHNvIHlvdSB3aWxsIG9ubHkgYmUgaW50cm9k dWNlZCB0byB3aGF0IGlzIG5vcm1hbGx5IHVzZWQgaW4gdGV4dC4gVGhlIHdpZGUgcmFuZ2Ugb2Yg TG9qYmFuIG1hdGhlbWF0aWNhbCBjbWF2byBhcmUgY2FsbGVkICcnbWVrc28nJyAoTG9qYmFuIGZv ciAibWF0aGVtYXRpY2FsIGV4cHJlc3Npb24iKSwgYW5kIGlzIHdpZGVseSBkaXNyZWdhcmRlZCBi ZWNhdXNlIG9mIGl0cyBjb21wbGV4aXR5IGFuZCBxdWVzdGlvbmFibGUgYWR2YW50YWdlIG92ZXIg c28tY2FsbGVkIGJyaWRpIG1hdGguCgpMZXTigJlzIGJlZ2luIHdpdGggdGhlIG9yZGluYXJ5IExv amJhbiBudW1iZXJzLCBmcm9tIHplcm8gdG8gbmluZToKCnx8emVyb3xvbmV8dHdvfHRocmVlfGZv dXJ8Zml2ZXxzaXh8c2V2ZW58ZWlnaHR8bmluZQoKbm98cGF8cmV8Y2l8dm98bXV8eGF8emV8Yml8 c298fAoKTm90aWNlIGhvdyB0aGUgdm93ZWxzIGFyZSBhbHRlcm5hdGluZyAod2l0aCB0aGUgZXhj ZXB0aW9uIG9mICcnbm8nJyksIGFuZCBob3cgbm8gY29uc29uYW50IGlzIHVzZWQgZm9yIHR3byBk aWdpdHMuCgpJbiBvcmRlciB0byBleHByZXNzIG51bWJlcnMgaGlnaGVyIHRoYW4gbmluZSwgdGhl IG51bWJlcnMgYXJlIGp1c3Qgc3RydW5nIHRvZ2V0aGVyOgoKJyd2byBtdSBjaScnIOKAkyBmb3Vy IGh1bmRyZWQgYW5kIGZpZnR5IHRocmVlICg0NTMpCgonJ3BhIG5vIG5vIG5vIG5vJycgdGVuIHRo b3VzYW5kICgxMCAwMDApCgpUaGVyZSBpcyBhbHNvIGEg4oCccXVlc3Rpb24tZGlnaXTigJ0sIHdo aWNoIGlzIHVzZWQgbGlrZSBvdGhlciBmaWxsLWluLXRoZS1ibGFuayBxdWVzdGlvbiB3b3Jkcy4g SXTigJlzICcneG8nJy4gVGhlIGFuc3dlciB0byBzdWNoIGEgcXVlc3Rpb24gbWF5IGJlIGp1c3Qg dGhlIHJlbGV2YW50IGRpZ2l0KHMpIGJ5IGl0c2VsZiwgb3IgdGhleSBjYW4gYmUgbnVtZXJpY2Fs IGNvbnN0cnVjdHMsIGFzIHNob3duIGxhdGVyLgoKJydjaSB4byB4byB4bycnIOKAkyAiVGhyZWUg dGhvdXNhbmQgYW5kIGhvdyBtYW55PyIgKDM/Pz8pCgpfXycneG8nJ19fIHF1ZXN0aW9uIGRpZ2l0 IOKAkyB1c2UgbGlrZSBhbnkgb3RoZXIgZGlnaXQgdG8gYXNrIGZvciB0aGUgY29ycmVjdCBkaWdp dC4KClRoZSBleHBlcmltZW50YWwgd29yZCAnJ3hvJ2UnJyBpcyBzb21ldGltZXMgdXNlZCB0byBt ZWFuIGFuIHVuc3BlY2lmaWVkLCBlbGxpcHRpY2FsIGRpZ2l0LiBJdHMgZGVmaW5pdGlvbiBpcyBu b3Qgb2ZmaWNpYWwsIHRob3VnaC4KCicnY2kgeG/igJllIHhv4oCZZSB4b+KAmWUnJyDigJMgVGhy ZWUgdGhvdXNhbmQgYW5kIHNvbWV0aGluZwoKX18nJ3hvJ2UnJ19fIGVsbGlwdGljYWwgZGlnaXQu CgpTaW5jZSBhbGwgbnVtYmVyIHN0cmluZ3MgYXJlIHRyZWF0ZWQgZ3JhbW1hdGljYWxseSB0aGUg c2FtZSwgb25lIG1pZ2h0IGFsc28gYW5zd2VyIHNldmVyYWwgZGlnaXRzIHRvIG9uZSAnJ3hvJ2Un JwoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYWxzbyBhIHNldCBvZiBoZXhhZGVjaW1hbCBkaWdp dHMgQSB0aHJvdWdoIEYuIEJ5IGRlZmF1bHQsIExvamJhbiBvcGVyYXRlcyBpbiBiYXNlIDEwLCBi dXQgd2hlbiB1c2luZyBoZXhhZGVjaW1hbCBkaWdpdHMsIGl0IGNhbiBiZSBzYWZlbHkgYXNzdW1l ZCB0aGF0IHlvdSB1c2UgYmFzZSBzaXh0ZWVuOgoKfHxkYXV8ZmVpfGdhaXxqYXV8cmVpfHhlaSB8 dmFpfAoKMTAoQSl8MTEoQil8MTIoQyl8MTMoRCl8MTQoRSl8MTQoRSl8MTUoRil8fAoKWWVzLCBJ IGtub3cgdGhlcmUgYXJlIHR3byB3b3JkcyBmb3IgRS4gVGhlIG9mZmljaWFsIG9uZSBpcyAnJ3Jl aScnIChhbGwgdGhyZWUtbGV0dGVyIGNtYXZvIGJlZ2lubmluZyB3aXRoIHggaXMgZXhwZXJpbWVu dGFsKS4gJyd4ZWknJyB3YXMgaW52ZW50ZWQgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggJydyZScn LgoKVGhlIGJhc2UgY2FuIGJlIGV4cGxpY2l0bHkgc3RhdGVkIHVzaW5nICcnanUndScnOiBBbnkg bnVtYmVyIGJlZm9yZSAnJ2p1J3UnJyB0aGUgbnVtYmVyIGJlaW5nIHNwb2tlbiBvZiwgYW55IG51 bWJlciBhZnRlciBpcyB0aGUgYmFzZSBvZiB0aGUgbnVtYmVyOgoKJydkYXUgc28gZmVpIG5vIGp1 4oCZdSBwYSByZScnIOKAkyBBOUIwIGluIGJhc2UgMTIgKG5vdGljZSBoZXJlIHRoYXQgYmFzZSAx MiBpcyBhbHdheXMgaW4gZGVjaW1hbC4gSXQgaXMgcG9zc2libGUgdG8gcGVybWFuZW50bHkgY2hh bmdlIHRoZSBiYXNlIHlvdSBzcGVhayBpbiwgYnV0IHNpbmNlIGl0IGhhcyBuZXZlciBiZWVuIHVz ZWQgaW4gcHJhY3RpY2UsIGl0IGhhcyBub3QgYmVlbiBzdGFuZGFyZGl6ZWQgaG93IG9uZSBzaG91 bGQgZG8gaXQpCgpGcmFjdGlvbnMgYXJlIGFsc28gdXNlZnVsIHRvIGxlYXJuIGhvdyB0byBleHBy ZXNzLiBUaGV5IGFyZSB1c3VhbGx5IGV4cHJlc3NlZCB2aWEgYSBkZWNpbWFsIHBvaW50LCAnJ3Bp JycuCgpfXycncGknJ19fIERlY2ltYWwgcG9pbnQgKG9yIHBvaW50IGluIHdoaWNoZXZlciBiYXNl IHlvdSBhcmUgdGFsa2luZyBpbikKCicncGEgcmUgcGkgcmUgbXUnJyDigJMgdHdlbHZlIHBvaW50 IHR3byBmaXZlICgxMi4yNSkuIAoKTGlrZSBpbiBtYXRoZW1hdGljcywgd2hlbiBubyBudW1iZXIg c3RyaW5nIGlzIHBsYWNlZCBiZWZvcmUgb3IgYWZ0ZXIgJydwaScnLCB6ZXJvIGlzIGFzc3VtZWQu IAoKUmVsYXRlZCB0byB0aGlzLCB0aGUgbnVtYmVyIHNlcGFyYXRvciAnJ3BpJ2UnJyBpcyB1c2Vk IHRvIHNlcGFyYXRlIG51bWJlcnMsIGVpdGhlciB0byBzZXBhcmF0ZSBkaWdpdHMgd2hlbiBzcGVh a2luZyBpbiBhIGJhc2UgbGFyZ2VyIHRoYW4gc2l4dGVlbiwgb3Igd2hlbiBhIGRlY2ltYWwgcG9p bnQgaXMgbm90IGFwcGxpY2FibGUsIGZvciBpbnN0YW5jZSwgd2hlbiB0YWxraW5nIGFib3V0IHRp bWUgaW4gaG91cnMsIG1pbnV0ZXMsIHNlY29uZHM6CgonJ3BhIHNvIHBpJ2UgcmUgbXUgcGknZSBu byBqdSd1IHJlIHplJycg4oCTIE5pbmV0ZWVuLCB0d2VudHktZml2ZSwgemVybyBpbiBiYXNlIDI3 IChKUDAgYmFzZSAyNykKCicncmUgcmUgcGnigJllIHZvIGJpJycg4oCTIHR3ZW50eS10d28sIGZv dXJ0eSBlaWdodCAoMjI6NDgpCgoKClRoZXJlIGlzIGFsc28gYSByYW5nZSBvZiBudW1iZXIgd29y ZHMgd2hpY2ggYXJlIG5vdCBtYXRoZW1hdGljYWxseSBleGFjdCBidXQgcmF0aGVyIHN1YmplY3Rp dmUgb3IgcmVsYXRpdmUuIFRoZSBiZWhhdmlvcnMgb2YgdGhlc2Ugd29yZHMgYXJlIGFsbW9zdCBl eGFjdGx5IGxpa2UgdGhlIGJlaGF2aW9yIG9mIGRpZ2l0cywgZXhjZXB0IHRoZXkgY2Fubm90IGJl IGNvbWJpbmVkIHRvIG1ha2UgYmlnZ2VyIG51bWJlcnMgdGhlIHdheSBkaWdpdHMgY2FuOgoKfHwg cm98c28nYXxzbydlfHNvJ2l8c28nb3xzbyd1fAoKYWxsfGFsbW9zdCBhbGx8bW9zdHxtYW55fHNv bWV8ZmV3fHwKCldoZW4gY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlIGRpZ2l0cywgdGhlc2Ugd29y ZHMgYXJlIGFzc3VtZWQgdG8gZ2l2ZSBhIHNlY29uZCB2ZXJkaWN0IGFib3V0IHRoZSBzaXplIG9m IHRoZSBudW1iZXI6CgonJ211IGJpIHNvJ2kgc2FpJycg4oCTRmlmdHkgZWlnaHQsIHdoaWNoIGlz IHJlYWxseSBtYW55LgoKVGhleSBzaG91bGQgdGhlcmVmb3JlIG5vdCBiZSBwbGFjZWQgaW4gdGhl IG1pZGRsZSBvZiBhIG51bWJlciBzdHJpbmcuIFdoZW4gcGxhY2VkIGFmdGVyICcncGknJywgdGhl eSBhcmUgYXNzdW1lZCB0byBjb252ZXkgdGhlIHNpemUgb2YgYSBmcmFjdGlvbjoKCicncGkgc28n aScnIOKAkyBhIGdvb2QgcGFydCBvZiBpdDoKCicncGkgc28nbycnIOKAkyBzb21lIG9mIGl0IAoK JydwaSBzbydhJycg4oCTIGFsbW9zdCBhbGwgb2YgaXQKCgoKVGhlc2UgYXJlIHNvbWUgaGlnaHRs eSBzdWJqZWN0aXZlIG51bWJlcnMgLSB0aGV5IHdvcmsganVzdCBsaWtlIHRoZSBwcmV2aW91cyBv bmVzLgoKfHxkdeKAmWV8bW8nYXxyYXUKCnRvbyBtYW55fHRvbyBmZXd8ZW5vdWdofHwKClRoZSBm b2xsb3dpbmcgZml2ZSBhcmUgY29udGV4dC1iYXNlZCBudW1iZXJzIOKAkyB0aGVzZSB3b3JrIGxp a2UgdGhlIHByZXZpb3VzIG9uZXMsIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZXkgdGFrZSB0 aGUgbmV4dCBudW1iZXIgaW4gb3JkZXIgdG8gYXNzaWduIHRoZW0gbWVhbmluZzoKCnx8ZGEnYXxz dSdlfHN1J298emEndXxtZSdpCgphbGwgZXhjZXB0IG4gfEF0IG1vc3QgbnxBdCBsZWFzdCBufG1v cmUgdGhhbiBufGxlc3MgdGhhbiBufHwKCklmIG5vIG51bWJlciBzdHJpbmcgZm9sbG93IHRoZW0s IOKAnG9uZeKAnSBpcyBhc3N1bWVkLgoKJydzb+KAmWkgcGEgcmUgZGEnYSBtdScnIOKAkyBNYW55 LCB3aGljaCBpcyB0d2VsdmUsIHdoaWNoIGlzIGFsbCBidXQgZml2ZS4KClRoZSB0d28gbGFzdCBu dW1iZXIgd29yZHMgeW91IHNob3VsZCBrbm93IGhhdmUgc2xpZ2h0bHkgbW9yZSBjb21wbGljYXRl ZCBncmFtbWFyOgoKX18nJ2ppJ2knJ19fIC0gbnVtYmVyIHJvdW5kaW5nIG9yIG51bWJlciBhcHBy b3hpbWF0aW9uCgpXaGVuICcnamknaScnIGlzIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIsIHRoZSBl bnRpcmUgbnVtYmVyIGlzIGFwcHJveGltYXRlZDoKCicnamknaSB6ZSB6YSd1IHJhdSBqdSdvJycg 4oCTICJBYm91dCBzZXZlbnR5LCB3aGljaCBpcyBtb3JlIHRoYW4gZW5vdWdoLCBjZXJ0YWlubHni gJ0KClBsYWNlZCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBudW1iZXIsIG9ubHkgdGhlIGZvbGxvd2lu ZyBkaWdpdHMgYXJlIG5vbi1leGFjdC4gQXQgdGhlIGVuZCBvZiBhIG51bWJlciwgaXQgc2lnbmlm aWVzIHRoYXQgdGhlIG51bWJlciBoYXMgYmVlbiByb3VuZGVkIG9mZi4gCgpfXycna2knbycnX18g TnVtYmVyIGNvbW1hICAtIHNlcGFyYXRlcyBkaWdpdHMgd2l0aGluIG9uZSBzdHJpbmc7IFRob3Vz YW5kcy4KCkl0IGlzIG5vdCBpbmNpZGVudGlhbCB0aGF0ICcna2knbycnIHNvdW5kcyBsaWtlIOKA nGtpbG/igJ0uIEF0IGl0cyBzaW1wbGVzdCwgJydraSdvJycgaXMgdXNlZCB0byBzZXBhcmF0ZSB0 aHJlZSBkaWdpdHMgYXQgYSB0aW1lIGluIGxhcmdlIG51bWJlcnMsIG11Y2ggbGlrZSBjb21tYXMg YXJlIHVzZWQgaW4gRW5nbGlzaDoKCicncGEga2knbyBzbyBzbyBzbyBraSdvIGJpIHhhIHplJycg 4oCTIDEsOTk5LDg2NwoKSWYgbGVzcyB0aGFuIHRocmVlIGRpZ2l0cyBhcmUgcHV0IGJlZm9yZSBh ICcna2knbycnLCB0aGUgZGlnaXRzIGFyZSBhc3N1bWVkIHRvIGJlIHRoZSBsZWFzdCBzaWduaWZp Y2FudCBvbmVzLCBhbmQgemVyb3MgYXJlIGFzc3VtZWQgdG8gZmlsbCBpbiB0aGUgcmVzdDoKCicn dm8ga2knbyBjaSBiaSBraSdvIHBhIGtpJ28ga2knbycnIOKAkyA0LDAzOCwwMDEsMDAwLDAwMAoK JydraSdvJycgaXMgdXNlZCBzaW1pbGFybHkgYWZ0ZXIgYSBkZWNpbWFsIHBvaW50LgoKCgpUaGF0 IGNvbmNsdWRlcyB0aGUgY29tbW9uIExvamJhbiBudW1iZXJzIHRoZW1zZWx2ZXMuIEhvdyB0aGV5 IGFwcGx5IHRvIHN1bXRpIGlzIGEgc2NpZW5jZSBpbiBpdHNlbGYsIGFuZCB3ZSBsZWF2ZSB0aGF0 IGZvciBsZXNzb24gdHdlbnR5LXR3by4gTm93IHdlIGZvY3VzIG9uIGhvdyB0aGVzZSBudW1iZXJz IGNhbiBiZSB1c2VkIGluIGEgYnJpZGkuCgpBIHN0cmluZyBvZiBudW1iZXIgd29yZHMgYnkgdGhl bXNlbHZlcyBhcmUgZ3JhbW1hdGljYWwsIHNpbmNlIHRoZXkgY2FuIGFjdCBhcyBhbiBhbnN3ZXIg dG8gYSAnJ3hvJyctdHlwZSBvZiBxdWVzdGlvbi4gSW4gdGhpcyBjYXNlLCBob3dldmVyLCB0aGV5 IGNhbm5vdCBiZSBjb25zaWRlcmVkIHBhcnQgb2YgYW55IGJyaWRpLiBJbiBnZW5lcmFsLCBpZiBu dW1iZXJzIGZpbGwgcGFydCBvZiBhIGJyaWRpLCB0aGV5IGRvIHNvIGluIG9uZSBvZiB0d28gZm9y bXM6IFB1cmUgbnVtYmVycyBhbmQgcXVhbnRpZmllcnMuCgpBIHB1cmUgbnVtYmVyIGlzIGFueSBy b3cgb2YgbnVtYmVyIHdvcmRzIHByZWZpeGVkIHdpdGggJydsaScnLiBUaGlzIG1ha2VzIGEgc3Vt dGkgZGlyZWN0bHkgZnJvbSB0aGUgbnVtYmVyLCBhbmQgcmVmZXJzIHRvIHRoZSBtYXRoZW1hdGlj YWwgY29uY2VwdCBvZiwgZm9yIGluc3RhbmNlLCDigJx0aGUgbnVtYmVyIHNpeOKAnS4gSXRzIGZh J29ybWEnbyBpcyAnJ2xvJ28nJwoKX18nJ2xpJydfXyBjb252ZXJ0IG51bWJlci9tZWtzby1leHBy ZXNzaW9uIHRvIHN1bXRpLgoKX18nJ2xvJ28nJ19fIGZhJ29ybWEnbzogZW5kIGNvbnZlcnQgbnVt YmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3VtdGkuCgpUaGVzZSBwdXJlIHN1bXRpIGFyZSB1c3Vh bGx5IHdoYXQgZmlsbHMgdGhlIHgyIG9mIGJyaXZsYSBzdWNoIGFzICcnbWl0cmUnJyBvciAnJ2Nh Y3JhJycKCl9fJydtaXRyZScnX18geDEgaXMgeDIgbWV0cmVzIGluIGRpbWVuc2lvbiB4MyBieSBz dGFuZGFyZCB4NAoKX18nJ2NhY3JhJydfXyB4MSBpcyB4MiBob3VycyBpbiBkdXJhdGlvbiAoZGVm YXVsdCAxKSBieSBzdGFuZGFyZCB4MwoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6 CgonJ2xlIHRhIG51IGNpbmppa2NhIGN1IGNhY3JhIGxpIGNpIGppJ2kgdSdpIG5haScnCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OiDigJ0qc2lnaCogVGhhdCBmbGlydGluZyBoYXMgYmVlbiBnb2luZyBv biBmb3IgYXJvdW5kIHRocmVlIGhvdXJzLuKAnSB+fgoKSG93IGRvIHlvdSBjb3VudCB0byB0aHJl ZSBpbiBMb2piYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2xpIHBhIGxpIHJlIGxpIGNpJycg fn4KCgoKVGhlIGxhc3QgdGhpbmcgd2XigJlsbCBnbyB0aHJvdWdoIGluIHRoaXMgbGVzc29uIGlz IHRoZSB3b3JkcyBvZiB0aGUgc2VsbWHigJlvIE1BSSBhbmQgdGhvc2Ugb2YgTU9JLgoKTUFJIG9u bHkgY29udGFpbnMgdHdvIHdvcmRzLCAnJ21haScnIGFuZCAnJ21vJ28nJy4gQm90aCBvZiB0aGVz ZSBjb252ZXJ0IGFueSBudW1iZXIgc3RyaW5nIHRvIGFuIG9yZGluYWwsIHdoaWNoIGhhcyB0aGUg Z3JhbW1hciBvZiBhdHRpdHVkaW5hbHMuIE9yZGluYWxzIGFyZSB1c2VkIHRvIGRpdmlkZSBhIHRl eHQgaW50byBudW1iZXJlZCBzZWdtZW50cywgbGlrZSBjaGFwdGVycyBvciBwYXJ0cy4gVGhlIG9u bHkgZGlmZmVyZW5jZSBiZXR3ZWVuICcnbWFpJycgYW5kICcnbW8nbycnIGlzIHRoYXQgJydtbydv JycgcXVhbnRpZmllcyBsYXJnZXIgc3ViZGl2aXNpb25zIG9mIHRleHQsIGFsbG93aW5nIHlvdSB0 byBkaXZpZGUgYSB0ZXh0IG9uIHR3byBkaWZmZXJlbnQgbGV2ZWxzLCBmb3IgZXhhbXBsZSBlbnVt ZXJhdGluZyBjaGFwdGVycyB3aXRoICcnbW8nbycnIGFuZCBzZWN0aW9ucyB3aXRoICcnbWFpJycu IE5vdGljZSB0aGF0IHRoZXNlIGFzIHdlbGwgYXMgdGhlIE1PSSB0YWtlIGFueSBudW1iZXIgc3Ry aW5nIGRpcmVjdGx5LCB3aXRob3V0IGFueSBuZWVkIGZvciAnJ2xpJycuCgpfXycnbWFpJydfXzog TG93ZXItb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQgbnVtYmVyIHRvIG9yZGluYWwKCl9f Jydtb+KAmW8nJ19fOiBIaWdoZXIgb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQgbnVtYmVy IHRvIG9yZGluYWwuCgoKClRoZXJlIGFyZSBmaXZlIE1PSSwgYW5kIHRoZXkgYWxsIGNvbnZlcnQg YW55IG51bWJlciBzdHJpbmcgdG8gc2VsYnJpLiBXZeKAmWxsIHRha2UgdGhlbSBvbmUgYXQgYSB0 aW1lOgoKX18nJ21vaScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhl IG7igJl0aCBtZW1iZXIgb2Ygc2V0IHgyIGJ5IG9yZGVyIHgzCgpFeGFtcGxlOiAnJ2xhIGx1dGNp bWluIGNpIG1vaSBsbydpIG5pbm11IHBlbmRvIGJlIG1pIGxlIHN1J3UgbG8gY2xhbmkgem1hZHUg Y3UgbGlkbmUgbG8gY2xhbmkgbWxlY2EnJyDigJMg4oCcTHVpLUNoaSBNaW4gaXMgdGhpcmQgYW1v bmcgbXkgZmVtYWxlIGZyaWVuZHMgYnkgdGhlIG9yZGVyOiBUaGUgbW9yZSB0YWxsIG9uZXMgcHJl Y2VkZXMgdGhlIGxlc3MgdGFsbCBvbmVz4oCdLgoKKFdoZW4gc3BlY2lmeWluZyBhIHNlcXVlbmNl LCBpdCBpcyB3aWRlbHkgdW5kZXJzdG9vZCB0aGF0IGlmIGEgJydrYScnLWFic3RyYWN0aW9uIChs ZXNzb24gdHdlbnR5LWVpZ2h0KSBpcyB1c2VkIGFzIGEgc3VtdGksIHRoZSBtZW1iZXJzIG9mIHRo ZSBzZXQgYXJlIG9yZGVyZWQgZnJvbSB0aGUgb25lIHdpdGggbW9zdCBvZiB0aGUgcHJvcGVydHkg dG8gdGhlIG9uZSB3aXRoIGxlc3Mgb2YgdGhlIHByb3BlcnR5LCBzbyB0aGUgeDMgb2YgdGhlIGZv bGxvd2luZyBzZW50ZW5jZSBjb3VsZCBoYXZlIGJlZW4gc2hvcnRlbmVkIHRvICcnbG8ga2EgY2xh bmknJykKCl9fJydsaWRuZScnX18geDEgaXMgYmVmb3JlIHgyIGluIHNlcXVlbmNlIHgzCgpfXycn Y2xhbmknJ19fIHgxIGlzIGxvbmcgaW4gZGltZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCgpfXycn em1hZHUnJ19fIHgxIGV4Y2VlZHMgeDIgaW4gcHJvcGVydHkgeDMgYnkgYW1vdW50IHg0CgpfXycn bWxlY2EnJ19fIHgxIGlzIGxlc3MgdGhhbi9pcyBsZXNzIGNoYXJhY3Rlcml6ZWQgdGhhbiB4MiBi eSBwcm9wZXJ0eSB4MyBieSBhbW91bnQgeDQKCgoKX18nJ21laScnX18gLSBDb252ZXJ0IG51bWJl ciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG1hc3MgZm9ybWVkIGZyb20gdGhlIHNldCB4Miwgd2hp Y2ggaGFzIHRoZSBuIG1lbWJlcnMgb2YgeDMKCk5vdGljZSBoZXJlIHRoYXQgeDMgYXJlIHN1cHBv c2VkIHRvIGJlIGluZGl2aWR1YWxzLCB4MiBhIHNldCBhbmQgeDEgYSBtYXNzLgoKV2hhdCB3b3Vs ZCAnJ21pIGNpIG1laScnIG1lYW4/IAoKQW53ZXI6IH5+Z3JleSxncmV5OuKAnFdlIGFyZSBncm91 cCBvZiB0aHJlZS7igJ1+fgoKCgpfXycnc2knZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNl bGJyaTogeDEgaXMgb25lLW50aCBvZiBtYXNzIHgyCgpFeGFtcGxlOiAnJ2xlIHZpIHBsaXNlIGN1 IG1lJ2kgcGkgcGEgc2knZSBsZWkgbWkgY2lkamEgYmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxU aGlzIGFwcGxlIGhlcmUgaXMgbGVzcyB0aGFuIG9uZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUg ZGF54oCdCgpfXycnY3UnbycnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaGFz IG4gcHJvYmFiaWxpdHkgb2Ygb2NjdXJyaW5nIHVuZGVyIGNvbmRpdGlvbnMgeDIKCkV4YW1wbGU6 ICcnbG8gbnUgbWkgbXJvYmknbyBjdSBwYSBjdSdvIGxvIG51IG1pIGRlbnBhIHJpJycg4oCTIOKA nUFuIGV2ZW50IG9mIG1lIGR5aW5nIGhhcyBwcm9iYWJpbGl0eSAxIHVuZGVyIHRoZSBjb25kaXRp b25zOiBJIHdhaXQgZm9yIGl04oCdID0g4oCdTWUgZHlpbmcgaXMgY29tcGxldGVseSBjZXJ0YWlu IGlmIEkgd2FpdCBsb25nIGVub3VnaC7igJ0KCl9fJydkZW5wYScnX18geDEgd2FpdHMgZm9yIHgy LCBiZWluZyBpbiBzdGF0ZSB4MyB1bnRpbCByZXN1bWluZy9kb2luZyB4NAoKX18nJ3ZhJ2UnJ19f IC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIGF0IHRoZSBu4oCZdGggcG9zaXRp b24gb24gdGhlIHNjYWxlIHgyCgpFeGFtcGxlOiAnJ2xpIHBhIG5vIGN1IHJvIHZh4oCZZSBsYSB0 b3Jpbm9uJycg4oCTIOKAnDEwIGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8tc2Nh bGXigJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBjbyBh bmQgbW9yZSBjdXRlbmVzcykKClNheSB5b3XigJlyZSBhbiBpbXBvcnRhbnQgQW1lcmljYW4gYnV5 ZXIgb2YgY29tcHV0ZXJzLiBIb3cgZG8geW91IGV4cHJlc3MgdGhpcz8gRm9yIGNvbnN0cnVjdHMg bGlrZSB0aGVzZSwgdGFucnUgYXJlIGlkZWFsOiAnJ21pIHZham5pIG1lcmtvIHNrYW1pIHRlIHZl Y251JycuIE5vIHdhaXQsIHRoYXTigJlzIG5vdCByaWdodC4gVGFucnUgYXJlIGdyb3VwZWQgZnJv bSBsZWZ0IHRvIHJpZ2h0LCBzbyB0aGlzIHRhbnJ1IGlzIHVuZGVyc3Rvb2Q6ICgoJyd2YWpuaSBt ZXJrbycnKSAnJ3NrYW1pJycpICcndGUgdmVjbnUnJywgYSBidXllciBvZiBjb21wdXRlcnMgZm9y IGltcG9ydGFudCBBbWVyaWNhbnMuIFlvdSBjYW7igJl0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhl IHNlbGJyaSB0byBnZXQgYSB1c2VmdWwgdGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVk IHdpdGggbG9naWNhbCBjb25uZWN0aXZlcywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJv dXQgbGF0ZXIgYW55d2F5LiBUaGUgb25seSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMg dG8gZm9yY2UgdGhlIHNlbGJyaSB0byBncm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28g c2VsYnJpIGNsb3NlIHRvZ2V0aGVyIGluIGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUg cGxhY2VkIGJldHdlZW4gdGhlbTogJydtaSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNu dScnIGlzIHJlYWQgJydtaScnICgnJ3Zham5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZl Y251JycpLCB3aGljaCBpcyB1c2VmdWwgaW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQg YmV0d2VlbiBzZXZlcmFsIHNlbGJyaSBpbiBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJp Z2h0IHRvIGxlZnQgaW5zdGVhZCBvZiB0aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpu aSBtZXJrbyBibyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtv IGJvJycgKCcnc2thbWkgYm8gdGUgdmVjbnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4g Y29tcHV0ZXItYnV5ZXIp4oCdLCB3aGljaCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhl IHNpdHVhdGlvbi4KCl9fJydibycnX18gQmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmds eS4KCgoKSG93IHdvdWxkIHlvdSBzYXkg4oCcVGhhdOKAmXMgYSB0YXN0eSB5ZWxsb3cgYXBwbGXi gJ0/CgpfXycna3VrdGUnJ19fIHgxIGlzIHRhc3R5IGZvciB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicndGkga3VrdGUgcGVseHUgYm8gcGxpc2UnJ35+CgoKCldoYXQgYWJvdXQg4oCdVGhhdOKA mXMgYSBiaWcsIHRhc3R5IHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn dGkgYmFyZGEga3VrdGUgYm8gcGVseHUgYm8gcGxpc2UnJ35+CgoKCkFub3RoZXIgYXBwcm9hY2gg dG8gdGhpcyBpcyB0byB1c2UgdGhlIHdvcmRzICcna2XigKZrZeKAmWUnJy4gVGhlc2UgY2FuIGJl IGNvbnNpZGVyZWQgYXMgZXF1aXZhbGVudCB0byB0aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRo ZSBwYXJhZ3JhcGggYWJvdmUuICcna2UnJyBiZWdpbnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywg JydrZeKAmWUnJyBlbmRzIGl0LgoKX18nJ2tlJydfXyDigJMgYmVnaW4gc3Ryb25nIHNlbGJyaSBn cm91cGluZy4KCl9fJydrZeKAmWUnJ19fIOKAkyBlbmQgc3Ryb25nIHNlbGJyaSBncm91cGluZy4K ClRoZSBzdHJlbmd0aCBvZiB0aGUgYmluZGluZyBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mICcnYm8n Jy4gVGhlcmVmb3JlLCAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251JycgY2Fu IGJlIHdyaXR0ZW4gJydtaSB2YWpuaSBrZSBtZXJrbyBrZSBza2FtaSB0ZSB2ZWNudSB7a2XigJll fSB7a2XigJllfScnLgoKSG93IGNvdWxkIHlvdSBzYXkg4oCcSeKAmW0gYSBHZXJtYW4gc2VsbGVy IG9mIHllbGxvdyBob21lcz/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGRvdGNvIGtl IHBlbHh1IHpkYW5pIHZlY251Jyd+fgoKCgpXaGlsZSB3ZeKAmXJlIGF0IG1lc3Npbmcgd2l0aCB0 aGUgb3JkaW5hcnkgdGFucnUgc3RydWN0dXJlLCB0aGVyZSBpcyBhbm90aGVyIHdvcmQgd29ydGgg cGF5aW5nIGF0dGVudGlvbiB0by4gSWYgSSB3YW50IHRvIHNheSB0aGF0IEnigJltIGEgcHJvZmVz c2lvbmFsIHRyYW5zbGF0b3IsIEkgY291bGQgc2F5ICcnbWkgZmFudmEgc2UgamlicmknJy4KCl9f JydqaWJyaScnX18geDEgaXMgYSBqb2Igb2YgeDIKCl9fJydkb3R5YmF1JydfXyB4MSBpcyBHZXJt YW4gdXNlZCBieSB4MiB0byBzYXkgeDMKCl9fJydnbGliYXUnJ19fIHgxIGlzIEVuZ2xpc2ggdXNl ZCBieSB4MiB0byBzYXkgeDMKCklmIEkgd2FudGVkIHRvIHNheSB0aGF0IEnigJltIGEgcHJvZmVz c2lvbmFsIHRyYW5zbGF0ZXIgZnJvbSBFbmdsaXNoIHRvIEdlcm1hbiwgSeKAmWQgaGF2ZSB0byBt ZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQgJydiZWknJzogJydtaSBmYW52YSBiZSBsZSBkb3R5 YmF1IGJlaSBsZSBnbGliYXUgYmXigJlvIHNlIGppYnJpJycsIGFuZCB0aGUgZmFjdCB0aGF0IGl0 IHdhcyBhIHRhbnJ1IGNvdWxkIHF1aWNrbHkgYmUgbG9zdCBpbiBzcGVlY2ggZHVlIHRvIHRoZSBj b21wbGljYXRlZCBzdHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlLiBIZXJlLCB3ZSBjYW4gdXNlIHRo ZSB3b3JkICcnY28nJy4gaXQgaW52ZXJ0cyB0aGUgdGFucnUsIG1ha2luZyB0aGUgcmlnaHRtb3N0 IHNlbGJyaSBtb2RpZnkgdGhlIGxlZnRtb3N0IGluc3RlYWQgb2YgdGhlIG90aGVyIHdheSBhcm91 bmQ6CgonJ21pIHNlIGppYnJpIGNvIGZhbnZhIGxlIGRvdHliYXUgbGUgZ2xpYmF1JycgaXMgdGhl IHNhbWUgYnJpZGkgYXMgdGhlIHByZXZpb3VzIExvamJhbiBvbmUsIGJ1dCBtdWNoIG1vcmUgZWFz eSB0byB1bmRlcnN0YW5kLiBOb3RpY2UgdGhhdCBhbnkgc3VtdGkgYmVmb3JlIHRoZSB0YW5ydSBm aWxscyAnJ3NlIGppYnJpJycsIHdoaWxlIGFueSBmb2xsb3dpbmcgaXQgb25seSBmaWxscyB0aGUg bW9kaWZ5aW5nIHNlbGJyaTogJydmYW52YScnLgoKX18nJ2NvJydfXyBJbnZlcnQgdGFucnUuIEFu eSBwcmV2aW91cyBzdW10aSBmaWxsIHRoZSBtb2RpZmllZCwgYW55IGZvbGxvd2luZyBmaWxsIHRo ZSBtb2RpZmllci4KCgoKVGhlIHN0cmVuZ3RoIGJ5IHdoaWNoIHR3byBzZWxicmkgYXJlIGJvdW5k IHRvZ2V0aGVyIHdpdGggY28gaXMgdmVyeSB3ZWFrIOKAkyBldmVuIHdlYWtlciB0aGFuIG5vcm1h bCB0YW5ydSBncm91cGluZyB3aXRob3V0IGFueSBncm91cGluZyB3b3Jkcy4gVGhpcyBtYWtlcyBz dXJlIHRoYXQsIGluIGEgY28tY29uc3RydWN0LCB0aGUgbGVmdG1vc3Qgc2VsYnJpIGlzIGFsd2F5 cyB0aGUgc2VsYnJpIGJlaW5nIG1vZGlmaWVkLCBhbmQgdGhlIHJpZ2h0bW9zdCBhbHdheXMgbW9k aWZpZXMsIGV2ZW4gaWYgYW55IG9mIHRob3NlIHBhcnRzIGFyZSB0YW5ydS4gVGhpcyBtYWtlcyBh IGNvLWNvbnN0cnVjdCBlYXN5IHRvIHBhcnNlOgoKJyd0aSBwZWx4dSBwbGlzZSBjbyBrdWt0ZScn IGlzIHJlYWQgJyd0aScnICgnJ3BlbHh1IHBsaXNlJycpICcnY28ga3VrdGUnJywgd2hpY2ggaXMg dGhlIHNhbWUgYXMgJyd0aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnLiBUaGlzIGFsc28gbWVhbnMg dGhhdCBhICcna2XigKZrZeKAmWUnJyBjYW5ub3QgZW5jb21wYXNzIGEgJydjbycnLgoKVGhlIGNt YXZvIG9mIHRoZSBzZWxtYSdvIEdJaEEsIHRoZSBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dp Y2FsIGNvbm5lY3RpdmVzLCBob3dldmVyLCBiaW5kcyBldmVuIGxvb3NlciB0aGFuICcnY28nJy4g VGhpcyBpcyBpbiBvcmRlciB0byB0b3RhbGx5IGF2b2lkIGNvbmZ1c2lvbiBhYm91dCB3aGljaCBz ZWxicmkgYmluZHMgdG8gd2hpY2ggaW4gYSBHSWhBLWNvbnN0cnVjdC4gVGhlIGFuc3dlciBpcyBz aW1wbGU6IFRoZSBHSWhBIG5ldmVyIGVtY29tcGFzc2VzIGFueSBzZWxicmktZ3JvdXBzLgoKCgpI b3cgY2FuIHlvdSBleHByZXNzIOKAnUkgYW0gYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9m IGNvbXB1dGVyc+KAnSB1c2luZyBhICcnY28nJz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21p IHNrYW1pIHRlIHZlY251IGNvIHZham5pIG1lcmtvJyd+fgoKCgpJZiBpdOKAmXMgb2YgYW55IHVz ZSwgdGhpcyBpcyB0aGUgbGlzdCBvZiBkaWZmZXJlbnQga2luZCBvZiBzZWxicmkgZ3JvdXBlcnMg cmFua2VkIGJ5IHN0cmVuZ3RoOgoKCgoxLiAgICAnJ2JvJycgYW5kICcna2UuLmtl4oCZZScnCgoK CjIuICAgIGxvZ2ljYWwgY29ubmVjdGl2ZXMgb3RoZXIgdGhhbiBicmlkaS10YWlsIGFmdGVydGhv dWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzIChleHBsYWluZWQgaW4gbGVzc29uIHR3ZW50eS1maXZl KQoKCgozLiAgICBubyBncm91cGluZyB3b3JkcwoKCgo0LiAgICAnJ2NvJycKCgoKNS4gICAgYnJp ZGktdGFpbCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoYWxzbyBpbiBsZXNzb24g dHdlbnR5LWZpdmUpCgoKClRoZSByZXN0IG9mIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHNl bGJyaSBncm91cGluZywgYnV0IG11Y2ggbGlrZSBsZXNzb24gc2V2ZW50ZWVuIG1lbnRpb24gYXNz b3J0ZWQgd29yZHMsIHdoaWNoIGNhbiBiZSBvZiB1c2UuCgoKCicnYm8nJyBoYXMgYW5vdGhlciB1 c2UsIHdoaWNoIHNlZW1zIHNlcGFyYXRlIGZyb20gc2VsYnJpIGdyb3VwaW5nOiBJdCBjYW4gYWxz byBiaW5kIGEgc3VtdGNpdGEgdG8gYW4gZW50aXJlIGJyaWRpLCBzbyB0aGF0IHRoZSBjb250ZW50 IG9mIHRoZSBzdW10Y2l0YSBpcyBub3QgYSBzdW10aSwgYnV0IHRoZSBmb2xsb3dpbmcgYnJpZGku IFRoaXMgaXMgYmVzdCBleHBsYWluZWQgd2l0aCBhbiBleGFtcGxlLgoKX18nJ3hlYm5pJydfXyB4 MSBoYXRlcyB4MgoKJydtaSBkYXJ4aSBkbyAuaSBtdeKAmWkgYm8gbWkgZG8geGVibmknJyDigJMg 4oCcSSBoaXQgeW91LCB3aXRoIG1vdGl2YXRpb24gdGhhdCBJIGhhdGUgeW91LuKAnSBIZXJlIHRo ZSAnJ2JvJycgYmluZHMgJydtdeKAmWknJyB0byB0aGUgZm9sbG93aW5nIGJyaWRpLgoKVGhpcyBp cyB3aGVyZSB0aGUgdGVjaG5pY2FsIGRpZmZlcmVuY2UgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBh bmQgb3RoZXIgc3VtdGNpdGEgaXMgcmVsZXZhbnQuIFlvdSBzZWUsIHdoZW4gYmluZGluZyBhIG5v cm1hbCBzdW10Y2l0YSB0byBhIGJyaWRpIHdpdGggJydibycnLCBpdCBtZWFucyB0aGF0IHRoZSBm b2xsb3dpbmcgYnJpZGkgc29tZWhvdyBmaXRzIGludG8gdGhlIHN1bXRpIHBsYWNlIG9mIHRoZSBz dW10Y2l0YS4gRm9yIHRoZSByZWFzb24gb2YgR29kIEtub3dzIFdoeSwgYmluZGluZyBvbmUgb2Yg dGhlIHdvcmRzICcnYmEnJyBvciAnJ3B1JycgdG8gYSBicmlkaSBoYXMgdGhlIGV4YWN0IG9wcG9z aXRlIGVmZmVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBicmlkaSAnJ21pIGRhcnhpIGRvIC5pIGJh IGJvIGRvIGNpbmppa2NhJycsIG9uZSB3b3VsZCBhc3N1bWUgdGhhdCB0aGUgc2Vjb25kIGJyaWRp IGlzIHNvbWVob3cgZmlsbGVkIGludG8gdGhlIHN1bXRpIHBsYWNlIG9mICcnYmEnJywgbWVhbmlu ZyB0aGF0IHRoZSBicmlkaSBmaXJzdCB1dHRlcmVkIHRvb2sgcGxhY2UgaW4gdGhlIGZ1dHVyZSBv ZiB0aGUgc2Vjb25kIGJyaWRpLiBUaGF0J3Mgbm90IHRoZSBjYXNlLCBob3dldmVyLCBhbmQgdGhl IGNvcnJlY3QgdHJhbnNsYXRpb24gb2YgdGhhdCB1dHRlcmFuY2Ugd291bGQgYmUgIkkgaGl0IHlv dS4gQWZ0ZXJ3YXJkcywgeW91IGZsaXJ0Ii4gVGhpcyB3ZWlyZCBydWxlIGlzIGFjdHVhbGx5IG9u ZSBvZiB0aGUgbWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlvbiBvZiBhbGwgc3VtdGNpdGEg aW50byBvbmUgc2luZ2xlIHdvcmQgY2xhc3MuCgoKClRoZSB1bm9mZmljaWFsIHdvcmQgJydtZeKA mW9pJycgaXMgZXF1aXZhbGVudCB0byBtZSBsYeKAmWUgJyd6b+KAmW9pJycsIHdoaWNoIG1lYW5z IHRoYXQgaXQgY29udmVydHMgdGhlIGNvbnRlbnQgb2YgdGhlIG5leHQgd29yZCBpbnRvIGEgc2Vs YnJpLiBJdCBpcyB1c2VkIHRvIGludmVudCBicml2bGEgb24gdGhlIGZseTogJydtaSBjYSB6Z2Fu YSBsYSBtZeKAmW9pIFgtZmlsZXMnJyBmb3Ig4oCcSSBub3cgd2F0Y2ggWC1maWxlc+KAnS4gTGlr ZSBhbGwgcXVvdGUgbmV4dCB3b3JkLWNtYXZvLCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBv ZmZpY2lhbCBncmFtbWFyLCBidXQgdG8gdGhlIGxhenkgTG9qYmFuaXN0LCBpdOKAmXMgaW52YWx1 YWJsZS4KCgoKVGhlIHdvcmQgJydnaScnIGlzIHN0cmFnZSBraW5kIG9mIGJyaWRpIHNlcGFyYXRv ciwgYW5hbG9nb3VzIHRvICcnLmknJywgYnV0IHRvIG15IGtub3dsZWRnZSwgaXQgaXMgdXNlZCBp biBvbmx5IHR3byBkaWZmZXJlbnQga2luZHMgb2YgY29uc3RydWN0czogTW9zdCBvZnRlbiB3aXRo IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUsIGJ1 dCBhbHNvIHdpdGggc3VtdGNpdGEuIFdpdGggc3VtdGNpdGEgaXQgY3JlYXRlcyBhIHVzZWZ1bCwg YnV0IGhhcmRseSBzZWVuLCBjb25zdHJ1Y3Q6CgonJ2114oCZaSBnaSBCUklESS0xIGdpIEJSSURJ LTInJywgd2hpY2ggaXMgZXF1aXZhbGVudCB0byAnJ0JSSURJLTIgLmkgbXXigJlpIGJvIEJSSURJ LTEnJy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hpY2ggZXhwbGFpbmVkIHdoeSBJ IGhpdCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXXigJlpIGdpIG1pIHhlYm5pIGRvIGdpIG1pIGRh cnhpIGRvJycsIG9yIHRvIHByZXNlcnZlIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBvcmlnaW5hbCBz ZW50ZW5jZSwgd2UgY2FuIGNvbnZlcnQgJydtdeKAmWknJyB3aXRoICcnc2UnJzogJydzZSBtdeKA mWkgZ2kgbWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGluIGV4YW1wbGVzIGxp a2UgdGhpcyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNhdGlsaXR5LiBJdCBk b2VzIG5vdCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBkb2VzLCBidXQgY2Fu IGFsc28gc2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGksIG1ha2luZyBhbGwg Y29uc3RydWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkgdG8gYm90aCBicmlk aSwgYXMgdGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScnX18geDEga2lzc2Vz IHgyIGF0IGxvY3VzIHgzCgoKCicnbWkgZ2kgcHJhbWkgZG8gZ2kgY2luYmEgZG8nJyBsZWF2ZXMg bWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8gYm90aCBicmlkaS4g VGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBhbHNvIHByZXNlbnQg aW4gYnJvdGggYnJpZGk6ICcnbWkgZ2kgcHJhbWkgZ2kgY2luYmEgdmF1IGRvJycuIE5vdGUgdGhh dCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRlIHRoZSBzZWNvbmQg YnJpZGkuCgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2VudGVuY2Ugc2hvcnRl cjogJydtaSBtdeKAmWkgZ2kgeGVibmkgZ2kgZGFyeGkgdmF1IGRvJycsIG9yLCB0byBvbWl0IGV2 ZW4gdGhlICcndmF1JycsIHdlIGNhbiB3cml0ZSBpdCBldmVuIHNob3J0ZXIgYW5kIG1vcmUgZWxl Z2FudGx5OiAnJ21pIGRvIG114oCZaSBnaSB4ZWJuaSBnaSBkYXJ4aScnCgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0d2VudHktb25lIChDT0kpCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdp bGwgZmFtaWxpYXJpemUgeW91cnNlbGYgd2l0aCB2b2NhdGl2ZXMsIG9yICcnbWHigJlvaSBjb2kn Jy4gVGhleSBnZXQgdGhlaXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5kZXJzdGFuZGluZyB0 aGVzZSBwcm92aWRlcyBhIGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJhbiBncmFtbWFyIGlu IGdlbmVyYWwsIG9yIGJlY2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0YW5kLCBidXQgcmF0 aGVyIGJlY2F1c2UgdGhleSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3VhbCBzcGVlY2gsIGFu ZCB0aGVyZSBhcmUgYSBsb3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNlZCBwYXJ0bHkgdG8g ZGVmaW5lIHdobyAnJ2RvJycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUgaXMgZm9sbG93ZWQg YnkgYSBjbWV2bGEsIHRoZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGluIGZyb250IG9mIGl0 LiBJZiBhIHNlbGJyaSBmb2xsb3dzLCBhICcnbGUnJyBpcyB1c2VkIGFzIGEgZ2FkcmkgaW5zdGVh ZC4KCkluIHRoZXNlIGV4YW1wbGVzLCBJIHdpbGwgdXNlIHRoZSB2b2NhdGl2ZSAnJ2NvaScnLCB3 aXRoIG1lYW5zIOKAnEhp4oCdIG9yIOKAnEhlbGxv4oCdLgoKSWYgYSBwZXJzb24gaXMgY2FsbGVk ICcnbGEgKyBTRUxCUkknJywgdXNpbmcgYSB2b2NhdGl2ZSB3aXRoIG9ubHkgdGhlIHNlbGJyaSB0 byBhZGRyZXNzIHRoYXQgcGVyc29uIHdpbGwgbWVhbiB5b3UgcmVmZXIgdG8gaGVyIGFzIGFjdHVh bGx5IGJlaW5nIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSwgd2hpY2ggaXMgb2Z0ZW4gd3JvbmcuIElm LCBmb3IgaW5zdGFuY2UsIGEgcGVyc29uIGlzIGNhbGxlZCAnJ2xhIHRzYW5pJycsIOKAnFNreeKA nSwgc2F5aW5nICcnY29pIHRzYW5pJycgcmVmZXJzIHRvIGhlciBhcyBhICcnbGUgdHNhbmknJywg bWVhbmluZyDigJxIaSwgeW91IHNreeKAnSwgd2hpbGUgJydjb2kgbGEgdHNhbmkgY29ycmVjdGx5 JycgcmVmZXJzIHRvIGhlciBhcyBzb21lb25lIGNhbGxlZCAiU2t5IiwgbWVhbmluZyDigJxIaSBT a3nigJ0uIFRoaXMgaXMgYSBmcmVxdWVudCBtaXN0YWtlLCBlc3BlY2lhbGx5IGFtb25nIG5ldyBM b2piYW5pc3RzLgoKQWxsIHZvY2F0aXZlcyBoYXZlIGEgZmEnb3JtYSdvIHdoaWNoIGlzIHNvbWV0 aW1lcyByZXF1aXJlZC4gVGhpcyBpcyAnJ2Rv4oCZdScnLiBJdOKAmXMgbW9zdGx5IHVzZWQgaWYg Ym90aCB0aGUgZmlyc3Qgd29yZCBhZnRlciB0aGUgdm9jYXRpdmUgcGhyYXNlIGFuZCB0aGUgbGFz dCB3b3JkIG9mIHRoZSBwaHJhc2UgaXMgYSBzZWxicmksIHNvIHRoYXQgaXQgcHJldmVudHMgZm9y bWluZyBhIHRhbnJ1OgoKCgpfXycnZG/igJl1JydfXyBFbmQgdm9jYXRpdmUgcGhyYXNlLiBVc3Vh bGx5IGVsaWRhYmxlLgoKX18nJ2tsYWt1JydfXyB4MSBjcmllcyB4MiAodGVhcnMpIGZvciByZWFz b24geDMKCicnY29pIGxhIGdsZWtpIGRv4oCZdSBrbGFrdSBmaSBtYScnIOKAnUhlbGxvIEhhcHB5 LiBXaHkgY3J5P+KAnQoKCgpUaGUgZ2VuZXJpYyB2b2NhdGl2ZSwgJydkb2knJywgZG9lcyBub3Ro aW5nIGV4Y2VwdCBkZWZpbmluZyB3aG8gaXMgYmVpbmcgcmVmZXJyZWQgdG8gYnkgJydkbycnOgoK Jydkb2kgLmVybnN0LiB4dSBkbyBkb3RjbyBtZXJrbycnIOKAnEVybnN0OiBBcmUgeW91IGEgR2Vy bWFuLUFtZXJpY2FuP+KAnQoKCgpBbGwgdGhlIG90aGVyIHZvY2F0aXZlcyBoYXZlIHNvbWUgY29u dGVudCBiZXNpZGUgZGVmaW5pbmcgJydkbycnLiAnJ2NvaScnLCB3aGljaCB5b3Uga25vdywgYWxz byBtZWFucyDigJxIZWxsb+KAnSwgZm9yIGV4YW1wbGUuIE1hbnkgb2YgdGhlIHZvY2F0aXZlcyBo YXZlIHR3byBvciB0aHJlZSBkZWZpbml0aW9ucyBsaWtlIHRoZSBhdHRpdHVkaW5hbHMuIExpa2Ug YXR0aXR1ZGluYWxzLCB0aGlzIGlzIGJlY2F1c2UgdGhleSBjYW4gYmUgbW9kaWZpZWQgd2l0aCAn J2N14oCZaScnIGFuZCAnJ25haScnLCB0aG91Z2ggb25seSBvbmUgdm9jYXRpdmUgaGFzIHRoZSAn J2N14oCZaScnLWZvcm0gZGVmaW5lZC4KClNvbWUgaW1wb3J0YW50IHZvY2F0aXZlcyBhcmUgbGlz dGVkIGluIHRoZSB0YWJsZSBiZWxvdy4gVGhlcmUgYXJlIG90aGVycywgYnV0IHRob3NlIGFyZSBu b3QgdXNlZCBtdWNoLgoKfHx2b2NhdGl2ZXxXaXRob3V0IHN1ZmZpeHwtY3XigJlpfC1uYWkKCmNv aXxIZWxsb3wtfC0KCmNv4oCZb3xHb29kYnllCXwtfC0KCmpl4oCZZXxVbmRlcnN0b29kIC8gT0t8 LXxOb3QgdW5kZXJzdG9vZAoKZmnigJlpfFdlbGNvbWV8LXxOb3Qgd2VsY29tZSBoZXJlCgpwZeKA mXV8UGxlYXNlfC18LQoKa2nigJllfFRoYW5rc3wtfERpc2FwcHJlY2lhdGlvbgoKcmXigJlpfFJl YWR5IHRvIHJlY2lldmV8LXxOb3QgcmVhZHkKCmp14oCZaXxIZXkhfEF0IGVhc2V8SWdub3JlIG1l Cgp0YeKAmWF8SW50ZXJydXB0aW9ufC18LQoKdmnigJlvfFdpbGwgZG98LXxXaWxsIG5vdCBkbwoK a2XigJlvfFBsZWFzZSByZXBlYXR8LXxObyByZXBlYXQgbmVlZGVkCgpraSdhaXx3ZWxsLXdpc2h8 LXxjdXJzZXx8CgpOb3RpY2UgdGhhdCAnJ2tpJ2FpJycgaXMgZXhwZXJpbWVudGFsCgoKCgoKV2hh dCB3b3VsZCAnJ2NvaSBjb+KAmW8nJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEdy ZWV0aW5ncyBpbiBwYXNzaW5n4oCdIG9yIOKAnEhlbGxvIGFuZCBHb29kYnll4oCdfn4KCgoKJydq ZeKAmWUnJyBpcyB1c2VkIGFzIOKAnE9L4oCdLCBidXQgYWxzbyB0aGUgYXBwcm9wcmlhdGUgcmVz cG9uc2Ugd2hlbiByZWNlaXZpbmcgcHJhaXNlIG9yIHRoYW5rcyAoYXQgbGVhc3QsIGlmIHlvdSB3 YW50IHRvIGJlIG1vZGVzdCksIGFzIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwcmFpc2Ugb3IgdGhh bmtzIHdhcyBzdWNjZXNzZnVsbHkgdW5kZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcna2nigJllIHNp ZGp1IGJlIG1pIGJlaSBsbyB2YWpuaSAuaSBqZeKAmWUgLmplbmlmeW4uJycKCl9fJydzaWRqdScn X18geDEgaGVscHMgeDIgZG8geDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGFua3MsIHlv dSBoZWxwZXIgb2YgbWUgdG8gZG8gc29tZXRoaW5nIGltcG9ydGFudC7igJ0g4oCcTm8gcHJvYmxl bSwgSmVubmlmZXLigJ1+fgoKCgpBbmQgJydmaeKAmWkgdGUgdmVjbnUgLmkgcGXigJl1IGtvIGNp dGthJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1XZWxjb21lLCBidXllci4gUGxlYXNlIGVh dCHigJ1+fgoKCgonJ3Jl4oCZaScnIGlzIHVzZWQgdG8gc2lnbmFsIHRoYXQgeW91IGFyZSByZWFk eSB0byBiZSBzcG9rZW4gdG8uIEl0IGNhbiBiZSB1c2VkIGFzIHRoZSBMb2piYW4gZXF1aXZhbGVu dCBvZiDigJxXaGF0IGNhbiBJIGRvIGZvciB5b3U/4oCdIG9yIHBlcmhhcHMgcmVwbGFjZSDigJxI ZWxsb+KAnSwgd2hlbiBzcGVha2luZyBvbiBhIHBob25lLiAnJ3Jl4oCZaSBuYWknJyBjYW4gbWVh biDigJxBRkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMgYSBzZWNvbmQu4oCdCgoKClRyYW5zbGF0ZTog 4oCcSGVsbG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlvdSwgSW50ZXJwcmV0ZXIvVHJhbnNsYXRlcj/i gJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2NvaSByZeKAmWkgbGEgZmFudmEnJ35+CgoKCicn dGHigJlhJycgaXMgdXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50ZXJydXB0IHNv bWVvbmUgZWxzZS4gV2hhdCB3b3VsZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlzPwoKCgpUcmFu c2xhdGU6ICcndGHigJlhIHJvIGRvIG1pIGNv4oCZYSBjbGl2YScnCgpfXycnY2xpdmEnJ19fIHgx IGxlYXZlcyB4MiB2aWEgcm91dGUgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxFeGN1c2Ug bWUgZm9yIGludGVycnVwdGluZywgZXZlcnlvbmUuIEkgYmVnaW4gdG8gbGVhdmUgbm934oCdIE5v dGljZSB0aGF0IG5vIGZhJ29ybWEnbyBvciAnJy5pJycgaXMgbmVlZGVkLn5+CgoKCicna2XigJlv JycgaXMgdXNlZCBhIGxvdCB3aGVuIGluZXhwZXJpZW5jZWQgTG9qYmFuaXN0cyBzcGVhayB0b2dl dGhlciB2b2NhbGx5LiBJdOKAmXMgcXVpdGUgYSBoYW5keSB3b3JkCgpfXycnc3V0cmEnJ19fIHgx IGlzIHF1aWNrIGF0IGRvaW5nIHgyCgoKClRyYW5zbGF0ZTogJycueSBrZeKAmW8gc3V0cmEgdGF2 bGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFVoLCBQbGVhc2UgcmVwZWF0LCB5b3UgcXVp Y2sgc3BlYWtlci7igJ1+fgoKCgpBbmQg4oCcT2theSBva2F5LCBJIGdvdCBpdCBhbHJlYWR5ISBJ 4oCZbGwgZG8gaXQh4oCdCgoKCkFuIGFuc3dlcjogfn5ncmV5LGdyZXk6JydrZeKAmW8gbmFpIC51 aSBuYWkgdmnigJlvJyd+fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS10d28g KHF1YW50aWZ5aW5nIHN1bXRpKQoKTW9zdCBvdGhlciBsZWFybmluZyBtYXRlcmlhbHMgc3VjaCBh cyBUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlIGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycyB3 ZXJlIHdyaXR0ZW4gYmVmb3JlIHRoZSBvZmZpY2lhbCBhZG9wdGF0aW9uICJ4b3JsbyIsIGEgY2hh bmdlIGluIHRoZSBydWxlcyBhYm91dCBnYWRyaSBkZWZpbml0aW9uIGFuZCBnYWRyaSBxdWFudGlm aWNhdGlvbi4gVGhlIG9ic29sZXRlbmVzcyBvZiBzb21lIG9mIHRoZSB0ZXh0IGluIHRoZSBvbGRl ciBsZWFybmluZyBtYXRlcmlhbHMgd2FzIGEgbWFqb3IgY2F1c2UgZm9yIHRoZSBtb3RpdmF0aW9u IHRvIHdyaXRlIHRoZXNlIGxlc3NvbnMuIFVuZm9ydHVuYXRlbHkgZm9yIG1lLCBxdWFudGlmaWNh dGlvbiBvZiBzdW10aSBjYW4gYmVjb21lIGEgdmVyeSBjb21wbGV4IHRvcGljIHdoZW4gdGhlIGlt cGxpY2F0aW9ucyBvZiBjZXJ0YWluIHJ1bGVzIGFyZSBkaXNjdXNzZWQgaW4gZGV0YWlsLiBJbiBv cmRlciB0byBmdWxmaWxsIHRoZSBnb2FsIG9mIHRoaXMgdGV4dCBiZWluZyBhY2N1cmF0ZSBlbm91 Z2ggdG8gcmVwcmVzZW50IHRoZSBvZmZpY2lhbCAiZ29sZCBzdGFuZGFyZCIgQlBGSyBydWxlcywg dGhpcyBjaGFwdGVyIHdhcyBhbW9uZyB0aGUgbGFzdCBvbmVzIGZpbmlzaGVkIGFuZCB0aGUgb25l cyBtb3N0IGZyZXF1ZW50eSByZXdyaXR0ZW4uIEkgc3Ryb25nbHkgZW5jb3VyYWdlIGFueW9uZSB3 aG8gZmluZHMgbWlzdGFrZXMgaW4gdGhpcyB0ZXh0IHRvIGNvbnRhY3QgbWUgaW4gb3JkZXIgZm9y IHRoZW0gdG8gYmUgY29ycmVjdGVkLgoKSGF2aW5nIHNhaWQgdGhhdCBkaXNjbGFpbWVyLCBsZXQn cyBnZXQgc3RhcnRlZDoKClRoZSBmaXJzdCBjb25jZXB0IHlvdSBzaG91bGQga25vdyBhYm91dCBp cyAiZGlzdHJpYnV0aXZpdHkiLiBJbiBsZXNzb24gZm91cnRlZW4gaSB1c2VkIHRoZSB3b3JkICJp bmRpdmlkdWFscyIgYWJvdXQgYSBncm91cCBvZiBvYmplY3RzIGNvbnNpZGVyZWQgZGlzdHJpYnV0 aXZlbHkuIEEgZGlzdHJpYnV0aXZlIGdyb3VwICcna28nYScnIGlzIGZvciBhbnkgc2VsYnJpICcn YnJvZGEnJyBhIGdyb3VwIHN1Y2ggdGhhdCwgaWYgJydrbydhIGJyb2RhJycgaXMgdHJ1ZSwgaXQg bWVhbnMgdGhhdCBldmVyeSBtZW1iZXIgb2YgdGhlIGdyb3VwIGFsc28gaXMgY2hhcmFjdGVyaXpl ZCBieSAnJ2Jyb2RhJycuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvIG5vbi1kaXN0cmlidXRp dml0eSAod2hpY2ggbWFzc2VzIGhhdmUpLCBpbiB3aGljaCB0aGUgZ3JvdXAgaGFzIG90aGVyIHBy b3BlcnRpZXMgdGhhbiBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBkby4gVGhlIGRpc3RpbmN0aW9u IGJldHdlZW4gZGlzdHJpYnV0aXZpdHkgKGluZGl2aWR1YWwtbGlrZSkgYW5kIG5vbi1kaXN0cmli dXRpdml0eSAobWFzcy1saWtlKSBpcyBvZiByZWxldmFuY2Ugd2hlbiBxdWFudGlmeWluZyBzdW10 aS4KCkxldCB1cyBmaXJzdCBjb25zaWRlciBob3cgb25lIGNhbiBxdWFudGlmeSBkZWNyaXB0aW9u IHN1bXRpLCB3aGljaCBhcmUgc3VtdGkgb2YgdGhlIGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUgbnVt YmVyIHN0cmluZyB3aGljaCBkb2VzIHRoZSBxdWFudGlmaWNhdGlvbiBjYW4gYmUgcGxhY2VkIGJl Zm9yZSB0aGUgZ2FkcmksIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4gX19v dXRlciBxdWFudGlmaWVyX18sIGFuZCBpdCBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhlIGdhZHJp IGFuZCB0aGUgYnJpdmxhLCBpbiB3aGljaCBjYXNlIGl0J3MgYW4gX19pbm5lciBxdWFudGlmaWVy X18uIEFueSBraW5kIG9mIG51bWJlciBzdHJpbmcgY2FuIGFjdCBhcyBhIHF1YW50aWZpZXIuCgpU aGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0ZXIgcXVhbnRpZmllcnMgYWZmZWN0cyBzdW10 aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkgd2hpY2ggaXMgdXNlZDoKCgoKLSAtJydsbycn IGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBvYmpl Y3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cgbWFueSBvYmplY3RzIGFyZSBpbiB0aGUgZGlz Y291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIHRoZSBzdW10 aSBpcyBkaXN0cmlidXRlZCBvdmVyIHRoYXQgYW1vdW50IG9mIG9iamVjdHMuIEFzIHN0YXRlZCBl YXJsaWVyLCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIGl0J3MgdmFndWUgaG93 IG1hbnkgb2JqZWN0cyB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gKHRob3VnaCBub3Qgbm9uZSksIGFu ZCB3aGV0aGVyIGl0IGRvZXMgc28gZGlzdHJpYnV0aXZlbHkgb3Igbm9uLWRpc3RyaWJ1dGl2ZWx5 LiBFeGFtcGxlcyBhcmUgYWx3YXlzIGEgZ29vZCBpZGVhLCBzbyBoZXJlIHRoZXkgYXJlOgoKJydt dSBsbyBtdSBiYWtuaSBjdSBzZSBqaXJuYScnIC0gVGhlIGlubmVyIHF1YW50aWZpZXIgb2YgZml2 ZSBUZWxscyB1cyB0aGF0IHdlIHNwZWFrIGFib3V0IGZpdmUgcGllY2VzIG9mIGNhdHRsZSwgYW5k IHRoZSBvdXRlciBxdWFudGlmaWVyIG9mIGZpdmUgdGVsbHMgdXMgdGhhdCB0aGUgc2VsYnJpIGlz IHRydWUgZm9yIGVhY2ggb2YgdGhlIGZpdmUuIFRoZXJlZm9yZSwgaXQgbWVhbnMgIkFsbCB0aGUg Zml2ZSBjb3dzIGhhZCBob3JucyIuIAoKX18nJ2Jha25pJydfXyB4MSBpcyBhIGNvdy9veC9jYXR0 bGUvY2FsZiBldGMgb2YgYnJlZWQgeDIKCl9fJydqaXJuYScnX18geDEgaXMgdGhlIGhvcm4gb2Yg eDIgKG1ldGFwaG9yOiBhbnkgcG9pbnRlZCBleHRyZW1pdHkpCgoKCldoYXQgZG9lcyB0aGUgZm9s bG93aW5nIGJyaWRpIG1lYW4/CgonJ2xvIHJ1J3VyZ3VidXB1IGJlIGxpIHJlIHBpIHplIG11IGN1 IGpkaW1hIGxvIHBhIHJlIHNvdmRhJycKCl9fJydydSd1cmd1YnVwdScnX18geDEgaXMgbWVhc3Vy ZXMgdG8gYmUgeDIgQnJpdGlzaCBwb3VuZHMgKEdCUCkKCl9fJydqZGltYScnX18geDEgaXMgdGhl IHByaWNlIG9mIHgyIHRvIGJ1eWVyIHgzIHNldCBieSB2ZW5kb3IgeDQKCl9fJydzb3ZkYScnX18g eDEgaXMgYSBnYW1ldGUgKGVnZy9zcGVybSkgb2YgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJU d2VsdmUgZWdncyBjb3N0IDIuNzUgQnJpdGlzaCBwb3VuZHMiIHdoaWNoLCBhcyB0aGUgRW5nbGlz aCB0cmFuc2xhdGlvbiwgY291bGQgbWVhbiBib3RoIHRoYXQgdGhleSBjb3N0IDIuNzUgZWFjaCAo ZGlzdHJpYnV0aXZlbHkpIG9yIHRoYXQgYWxsIHR3ZWx2ZSB0b2dldGhlciBjb3N0IDIuNzUgKG5v bi1kaXN0cmlidXRpdmVseSl+fgoKCgonJ3NvIGxlIHRhIHBhIHBhIGNpJ2Vya2VpIGN1IGNsYW1h dSBtaScnIChub3RpY2UgdGhhdCB0aGUgJyd0YScnIGdvZXMgYmVmb3JlIHRoZSBpbm5lciBxdWFu dGlmaWVyKQoKX18nJ2NpJ2Vya2VpJydfXyB4MSBwbGF5cyBnYW1lIHgyIGdvdmVuZXJkIGJ5IHJ1 bGVzIHgzIGludGVycmVsYXRpbmcgZ2FtZSBwYXJ0cyB4NCB7dGhpcyBpcyB1c2VkIHRvIHRyYW5z bGF0ZSAicGxheSIgaW4gdGhlIHNlbnNlICJwbGF5IGEgZ2FtZSIgcmF0aGVyIHRoYW4sIGZvciBp bnN0YW5jZSAicGxheWluZyBwcmV0ZW5kIiBvciAicGxheWluZyBIb3VzZSJ9CgpfXycnY2xhbWF1 JydfXyB4MSBpcyB0YWxsZXIvbG9uZ2VyIHRoYW4geDIgaW4gZGlyZWN0aW9uIHgzIG15IG1hcmln aW4geDQKCkFuc3dlcjogfn5ncmV5LGdyZXk6VGhlIGlubmVyIHN0YXRlcyB0aGVyZSBhcmUgMTEg cGxheWVycyBpbiB0aGUgZGlzY291cnNlLCBhbmQgdGhlIG91dGVyIHN0YXRlcyB0aGF0IHRoZSBz ZWxicmkgYXBwbGllcyB0byBuaW5lIG9mIHRoZW0gZGlzdHJpYnV0aXZlbHkuIFRodXMgaXQgbWVh bnMgIk5pbmUgb2YgdGhlIGVsZXZlbiBwbGF5ZXJzIGFyZSB0YWxsZXIgdGhhbiBtZSJ+fgoKCgpU aGVyZSBhcmUgYSBmZXcgcG9pbnRzIHRoYXQgbmVlZHMgdG8gYmUgcmFpc2VkIHJlZ2FyZGluZyBx dWFudGlmaWNhdGlvbiBvZiAnJ2xvJycvJydsZScnOgoKRmlyc3RseSwgJydsbycnIGlzIHVuaXF1 ZSBpbiB0aGF0ICJ7bnVtYmVyfSB7c2VsYnJpfSIgaXMgZGVmaW5lZCBhcyAie251bWJlcn0gJyds bycnIHtzZWxicml9Ii4gVGhlcmVmb3JlLCAnJ2NpIGdlcmt1IGN1IGJhdGNpIHJlIG5hbm11Jycg aXMgZGVmaW5lZCB0byBiZSAnJ2NpIGxvIGdlcmt1IGN1IGJhdGNpIHJlIGxvIG5hbm11JycsIHdo aWNoIGNvbnNpZGVycyBib3RoIHRoZSBncm91cCBvZiBkb2dzIGFuZCB0aGUgZ3JvdXAgb2YgbWVu IGRpc3RyaWJ1dGl2ZWx5LiBUaGVyZWZvcmUsIGVhY2ggb2YgdGhlIHRocmVlIGRvZ3MgYml0IGVh Y2ggb2YgdGhlIHR3byBtZW4sIHdpdGggc2l4IGJpdGluZyBldmVudHMgaW4gdG90YWwuCgpfXycn YmF0Y2knJ19fIHgxIGJpdGVzL3BpbmNoZXMgeDIgYXQgbG9jdXMgeDMgdXNpbmcgeDQgYXMgcGlu Y2hpbmcgdG9vbC4KClNlY29uZGx5OiBXaGF0IGlmIHRoZXJlIGlzIG5vIG91dGVyIHF1YW50aWZp ZXI/IERvZXMgdGhpcyBtZWFuIHRoYXQgaXQgX19pc19fIHRoZXJlLCBidXQgaXQncyBlbGlkZWQ/ IE5vcGUuIElmIHRoZXJlIGlzIGFueSBraW5kIG9mIG91dGVyIHF1YW50aWZpZXIsIGVsaWRlZCBv ciBub3QsIGl0IHdvdWxkIGZvcmNlIHRoZSBzdW10aSB0byBiZSBkaXN0cmlidXRpdmUsIHdoaWNo IHdvdWxkIG1lYW4gdGhhdCBuZWl0aGVyICcnbG8nJyBub3IgJydsZScnIGNvdWxkIGJlIHVzZWQg dG8gZGVzY3JpYmUgbWFzc2VzLiBUaGVyZWZvcmUsIGlmIG5vIG91dGVyIHF1YW50aWZpZXIgaXMg cHJlc2VudCwgaXQncyBub3Qgb25seSBlbGlkZWQgLSBpdCdzIHNpbXBseSBub3QgdGhlcmUuIFN1 bXRpIHdpdGhvdXQgYW4gb3V0ZXIgcXVhbnRpZmllciBjYW4gYmUgcmVmZXJyZWQgdG8gYXMgImNv bnN0YW50cyIsIGV2ZW4gdGhvdWdoIEkgd29uJ3QuCgpUaGlyZGx5LCBpdCBtYWtlcyBubyBzZW5z ZSB0byBoYXZlIGFuIG91dGVyIHF1YW50aWZpZXIgd2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlIGlu bmVyIG9uZS4gSXQgbWVhbnMgdGhhdCB0aGUgc2VsYnJpIGhvbGRzIHRydWUgZm9yIG1vcmUgc3Vt dGkgdGhhbiBhcmUgcHJlc2VudCBpbiB0aGUgZGlzY291cnNlIC0gYnV0IHNpbmNlIHRoZXkgYXBw ZWFyIGluIGEgYnJpZGksIHRoZXkgX19hcmVfXyBwYXJ0IG9mIHRoZSBkaXNjb3Vyc2UuIEl0J3Mg Z3JhbW1hdGljYWwgdG8gZG8gaXQsIHRob3VnaC4KCkxhc3RseSwgcGxhY2luZyBhICcnbG8nJyBv ciBhICcnbGUnJyBpbiBmcm9udCBvZiBhIHN1bXRpIGlzIGdyYW1tYXRpY2FsLCBpZiB0aGVyZSBp cyBhbiBpbm5lciBxdWFudGlmaWVyIHByZXNlbnQuICInJ2xvJycvJydsZScnIHtudW1iZXJ9IHtz dW10aX0iIGlzIGRlZmluZWQgYXMgIicnbG8nJy8nJ2xlJycge251bWJlcn0gJydtZScnIHtzdW10 aX0iLgoKU28gd2hhdCB3b3VsZCB0aGlzIG1lYW4/ICcnbWkgbmVsY2kgbG9pIG1pIGJyaWp1IGth bnNhIC5pIGt1J2kgY2kgbG8gcGEgbXUgamknaSByaSBjdSBsYXpuaScnCgpfXycnYnJpanUnJydf XyB4MSBpcyBhbiBvZmZpY2UgZm9yIHdvcmtlciB4MiBhdCBsb2NhdGlvbiB4MwoKX18nJ2thbnNh JydfXyB4MSBhY2NvbXBhbmllcyB4MiBpbiBhY3Rpb24vc3RhdGUvZW50ZXJwcmlzZSB4MwoKX18n J2xhem5pJydfXyB4MSBpcyBsYXp5LCBhdm9pZGluZyB3b3JrIGNvbmNlcm5pbmcgeDIKCkFuc3dl cjogfn5ncmV5LGdyZXk6IkkgbGlrZSBteSBjby13b3JrZXJzLCBidXQgdGhyZWUgb3V0IG9mIGFi b3V0IHR3ZW50eSBmaXZlIG9mIHRoZW0gYXJlIGxhenkifn4KCgoKLSAtJydsYScnLSAtIEFuIGlu bmVyIHF1YW50aWZpZXIgaXMgZ3JhbW1hdGljYWwgaWYgdGhlIG5hbWUgaXMgYSBzZWxicmkgLSBp biB0aGlzIGNhc2UsIGl0J3MgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBx dWFudGlmaWVyIGlzIHVzZWQgdG8gcXVhbnRpZnkgZGlzdHJpYnV0aXZlbHkgb3ZlciBzdWNoIGlu ZGl2aWR1YWxzIChtdWNoIGxpa2UgJydsbycnLycnbGUnJykgSXQncyBncmFtbWF0aWNhbCB3aGVu IHBsYWNlZCBpbiBmcm9udCBvZiB7bnVtYmVyfSB7c3VtdGl9LCBpbiB3aGljaCBjYXNlLCB0aGUg Ym90aCB0aGUgbnVtYmVyIGFuZCB0aGUgc3VtdGkgaXMgY29uc2lkZXJlZCB0aGUgbmFtZS4KCgoK VHJhbnNsYXRlIHRoaXM6ICcncmUgbGEgY2kgYmFyZ3UgY3UgamlibmkgbGUgbWkgemRhbmknJwoK QW5zd2VyOiB+fmdyZXksZ3JleTogVHdvICJUaGUgVGhyZWUgQXJjaGVzIiBhcmUgbG9jYXRlZCBj bG9zZSB0byBteSBob3VzZSIgKFBlcmhhcHMgVGhlIFRocmVlIEFyY2hlcyBhcmUgYSBraW5kIG9m IHJlc3RhdXJhbnQ/KX5+CgoKCi0gLScnbG9pJycgYW5kICcnbGVpJyctIC0gQW4gaW5uZXIgcXVh bnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBtZW1iZXJzIHRoZXJlIGFyZSBpbiB0aGUgbWFzcy9t YXNzZXMgaW4gcXVlc3Rpb24uIEFuIG91dGVyIHF1YW50aWZpZXIgcXVhbnRpZmllcyBkaXN0cmli dXRpdmVseSB7IX0gb3ZlciB0aGVzZSBtYXNzZXMKCk5vdGljZSBoZXJlIHRoYXQgd2hpbGUgbWFz c2VzIGNvbnNpc3Qgb2YgYSBudW1iZXIgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIG5vbi1kaXN0cmli dXRpdmVseSwgYW4gb3V0ZXIgcXVhbnRpZmllciBhbHdheXMgdHJlYXRzIGVhY2ggb2YgdGhlc2Ug bWFzc2VzIGFzIGFuIGluZGl2aWR1YWwuCgpXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgc3Ry aW5nLCB0aGVuIGEgc3VtdGksICcnbG9pJycvJydsZWknJyBpcyBkZWZpbmVkIGFzICInJ2xvIGd1 bm1hIGJlIGxvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBtYXNzIGNvbnNpc3Rp bmcgb2YgdGhlIHtudW1iZXJ9IG9mIHtzdW10aX0iLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0 aGlzOiAnJ3JlIGRlaSBndW5tYSByZSBsb2kgemUgdmFsc2kgLmkgY2EnZSBwYSBkZWkgamFpIGdh dSBqZXRudScnCgpfXycnZ3VubWEnJ19fIHgxIGlzIGEgbWFzcyBvZiB0aGUgaW5kaXZpZHVhbHMg eDIKCl9fJyd2YWxzaScnX18geDEgaXMgYSB3b3JkLCBtZWFuaW5nIHgyIGluIGxhbmd1YWdlIHgz CgpfXycnY2EnZScnX18gQXR0aXR1ZGluYWw6IEV2aWRlbnRpYWw6IEkgZGVmaW5lCgpfXycnamV0 bnUnJ19fIHgxIGlzIHRydWUgYWNjb3JkaW5nIHRvIG1ldGFwaHlzaWNzL2VwaXN0ZW1vbG9neSB4 MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZXNlIHR3byB1dHRlcmFuY2VzIGFyZSBhIG1hc3Ms IGNvbnNpc3Rpbmcgb2YgdHdvIGluZGl2aWR1YWwgbWFzc2VzIGVhY2ggb2Ygc2V2ZW4gd29yZHMu IEkgZGVmaW5lOiBUaGlzIG9uZSB1dHRlcmFuY2UgY2F1c2VzIHtpdH0gdG8gYmUgdHJ1ZS4ifn4K CgoKLSAtJydsYWknJy0gLSBNdWNoIGxpa2UgJydsYScnLCBhbiBpbm5lciBxdWFudGlmaWVyICh3 aGVuIG5hbWUgaXMgYSBzZWxicmkpIGlzIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIG9uZSBx dWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5LiBCZWZvcmUgYSBudW1iZXIrc3VtdGksIGJvdGggdGhl IHN1bXRpIGFuZCB0aGUgbnVtYmVyIG1ha2UgdXAgdGhlIG5hbWUuCgpXaGVuIGEgZnJhY3Rpb24g aXMgdXNlZCBhcyBhbiBvdXRlciBxdWFudGlmaWVyIHRvIHF1YW50aWZ5ICcnbG9pJycsICcnbGVp Jycgb3IgJydsYWknJywgb25lIHNwZWFrcyBhYm91dCBvbmx5IHBhcnQgb2YgdGhlIG1hc3MgKGZv ciBpbnN0YW5jZSwgImhhbGYgb2YgdGhlIEpvaG5zb25zIiAtICcncGkgbXUgbGFpIC5kamFuc3lu LicnKS4KCgoKLSAtJydsbydpJycgYW5kICcnbGUnaScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIg ZGVzY3JpYmVzIHRoZSBhbW91bnQgb2YgbWVtYmVycyBvZiB0aGUgc2V0LiBBbiBvdXRlciBxdWFu dGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc2V2ZXJhbCBvZiBzdWNoIHNldHMuIFdoZW4gcGxh Y2VkIGJlZm9yZSBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNl bGNtaSBiZSAnJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBzZXQgb2Yge251 bWJlcn0ge3N1bXRpfSIuCgoKClRyYW5zbGF0ZSAnJ2xvJ2kgcm8gc2UgY2lua2kgY3UgYnJhbWF1 IGxhJ2EgcGEgbm8gbm8gbG8naSBybyBzZSBib2d5a2FtanUganV0c2knJwoKX18nJ2NpbmtpJydf XyB4MSBpcyBhbiBpbnNlY3Qgb2Ygc3BlY2llcyB4MgoKX18nJ2xhJ2EnJ19fIEF0dGl0dWRpbmFs OiBEaXNjdXJzaXZlOiBQcm9iYWJseQoKX18nJ2JyYW1hdScnX18geDEgaXMgYmlnZ2VyIHRoYW4g eDIgaW4gZGltZW5zaW9uIHgzIGJ5IG1hcmlnaW4geDQKCl9fJydib2d5a2FtanUnJ19fIHgxIGlz IHRoZSBzcGluZSBvZiB4MgoKX18nJ2p1dHNpJydfXyB4MSBpcyB0aGUgc3BlY2llcyBvZiBnZW51 cyB4MiwgZmFtaWx5IHgzIC4uLiAob3BlbiBlbmRlZCBjbGFzc2lmaWNhdGlvbikKCkFuc3dlcjog fn5ncmV5LGdyZXk6ICJUaGUgc2V0IG9mIGFsbCB0aGUgc3BlY2llcyBvZiBpbnNlY3RzIGlzIHBy b2JhYmx5IGJpZ2dlciB0aGFuIG9uZSBodW5kcmVkIHNldHMgb2YgYWxsIHNwZWNpZXMgb2YgdmVy dGVicmF0ZXMifn4KCgoKLSAtJydsYSdpJyctIC0gQXMgd2l0aCAnJ2xhaScnCgpMaWtlIHdpdGgg dGhlIG1hc3MgZ2FkcmksIGFuIG91dGVyIHF1YW50aWZpZXIgYmVmb3JlIGEgc2V0IGdhZHJpIGVu YWJsZXMgb25lIHRvIHNwZWFrIGFib3V0IGEgZnJhY3Rpb24gb2YgYSBzZXQuIEluIGZyb250IG9m IGEgbnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlIGxh Jycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBjb25zaXN0aW5nIG9mIFRoZSB7TnVtYmVy fSB7U3VtdGl9IiAoY29uc2lkZXJlZCBhIG5hbWUpCgoKCi0gLScnbG8nZScnIGFuZCAnJ2xlJ2Un Jy0gLSBBcmUgZm9yIHNvbWUgcmVhc29uIG5vdCBpbmNsdWRlZCBpbiB0aGUgY3VycmVudGx5IGFj Y2VwdGVkIGdhZHJpIHByb3Bvc2FsLiBJZiBvbmUgd2VyZSB0byBleHRlbmQgdGhlIHJ1bGVzIG9m IGFub3RoZXIgZ2FkcmksICcnbG8nJy8nJ2xlJycgd291bGQgcHJvYmFibHkgYmUgdGhlIGJlc3Qg Y2hvaWNlIChzaW5jZSBib3RoIG9wZXJhdGVzIHdpdGggaW5kaXZpZHVhbHMgcmF0aGVyIHRoYW4g Z3JvdXBzKSwgYW5kIHNvIG9uZSB3b3VsZCBleHBlY3QgdGhlIG91dGVyIHF1YW50aWZpZXIgdG8g Zm9yY2UgZGlzdHJpYnV0aXZpdHkgb3ZlciB0aGUgYW1vdW50IG9mIHR5cGljYWwvc3RlcmVvdHlw aWNhbCB0aGluZ3MgZ2l2ZW4gYnkgdGhlIGlubmVyIHF1YW50aWZpZXIuCgoKCldoZW4gcXVhbnRp Znlpbmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2ZXJhbCBvYmplY3RzLCBpdCBpcyB1c2VmdWwg dG8gcmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3VhbGx5IG1hc3Nlcy4gQnkgZGVmaW5pdGlvbiwg IntudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIntudW1iZXJ9ICcnZGEgcG9pIGtlJ2Eg bWUnJyB7c3VtdGl9Ii4gWW91IHdpbGwgbm90IGJlIGZhbWlsaWFyIHdpdGggJydkYScnIHVudGls IGEgZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2UgaXQgb24gZmFpdGggdGhhdCBpcyBtZWFucyAi c29tZXRoaW5nIiBpbiB0aGlzIGNvbnRleHQuIFRoZXJlZm9yZSwgJydjaSBtaScnIG1lYW5zICJU d28gb2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAidXMiIi4gV2hlbiBxdWFudGlmeWluZyBzdWNoIG1h c3NlcywgaXQgY2FuIHNhZmVseSBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlbGF0aW9uIGltcGxpZWQg YnkgJydtZScnIGlzIG1lbWJlcnNoaXAgb2YgdGhlIG1hc3MsIGFuZCB0aGVyZWZvcmUgJydjaSBt aScnIGlzICJUaHJlZSBvZiB1cyIuCgoKClNvbWUgaW1wb3J0YW50IHVzZXMgb2YgcXVhbnRpZmlj YXRpb24gcmVxdWlyZXMgeW91IHRvIGJlIHF1YW50aWZ5IHNlbGJyaSBvciBvYmplY3RzIHdob3Nl IGlkZW50aXR5IGlzIHVua25vd24uIFRoaXMgaXMgZG9uZSBieSAibG9naWNhbGx5IHF1YW50aWZp ZWQgdmFyaWFibGVzIi4gVGhlc2UsIGFzIHdlbGwgYXMgaG93IHRvIHF1YW50aWZ5IHRoZW0gd2ls bCBiZSBjb3ZlcmVkIGluIGxlc3NvbnMgdHdlbnR5LXNldmVuLgoKCgpMYXN0bHksIGhvdyBjYW4g eW91IHF1YW50aWZ5IHVuY291bnRhYmxlIHN1YnN0YW5jZXMgbGlrZSBzdWdhciBvciB3YXRlcj8g T25lIHNvbHV0aW9uIGlzIHRvIHF1YW50aWZ5IGl0IHVzaW5nIGluZXhhY3QgbnVtYmVycy4gVGhp cyB1c2UgaXMgdmFndWUsIG5vdCBvbmx5IGJlY2F1c2UgdGhlIHZhbHVlIG9mIHRoZSBudW1iZXIg aXMgdmFndWUsIGJ1dCBhbHNvIGJlY2F1c2UgaXQncyBub3Qgc3BlY2lmaWVkIG9uIHdoYXQgc2Nh bGUgeW91J3JlIGNvdW50aW5nOiBUaGUgc3VnYXIgY291bGQgYmUgY29uc2lkZXJlZCBhIGdyb3Vw IG9mIG1hbnkgY3J5c3RhbHMsIGNvdW50ZWQgb25lIGF0IGEgdGltZSwgYW5kIHRoZSB3YXRlciBj b3VsZCBiZSBxdWFudGlmaWVkIGJ5IHRoZSBhbW91bnRzIG9mIHJhaW5kcm9wcyBpdCB0b29rIHRv IG1ha2UgdGhlIGJvZHkgb2Ygd2F0ZXIgaW4gcXVlc3Rpb24uIFdoaWxlIHRoaXMgd2F5IG9mIGNv dW50aW5nIGlzIGxlZ2l0aW1hdGUsIGl0J3Mgbm90IHZlcnkgZXhhY3QgYW5kIGNhbiBlYXNpbHkg Y29uZnVzZSBvciBtaXNsZWFkLgoKQSB3YXkgdG8gYmUgZXhwbGljaXQgYWJvdXQgbm9uLWNvdW50 YWJpbGl0eSBpcyB0byB1c2UgdGhlIG51bGwgb3BlcmFuZCAnJ3R1J28nJyBhcyBhbiBpbm5lciBx dWFudGlmaWVyLgoKX18nJ3R1J28nJ19fIE51bGwgb3BlcmFuZCAoIMOYICkuIFVzZWQgaW4gdW5h cnkgbWVrc28uCgpUaGlzIHNvbHV0aW9uIGlzIGVsZWdhbnQgYW5kIGludHVpdGl2ZSwgYW5kIGFs c28gZ2l2ZXMgbWUgYW4gZXhjdXNlIHRvIHF1b3RlIHRoaXMgaG9ycmlmeWluZywgeWV0IGNvbWlj YWwgZXhhbXBsZSBmcm9tIHRoZSBvcmlnaW5hbCAnJ3hvcmxvJyctcHJvcG9zYWw6CgonJ2xlIG5h bm11IGN1IHNlIHNudXRpIC5pIGphJ2UgYm8gbG8gdHUnbyBnZXJrdSBjdSBrdXNwZSBsZSBrbGFq aScnCgpfXycnc251dGknJ19fIHgxIGlzIGFuIGFjY2lkZW50IG9uIHRoZSBwYXJ0IG9mIHgyCgpf XycnamEnZScnX18gc3VtdGNpdGE6IEJBSTogKGZyb20gJydqYWxnZScnKTogQnJpZGkgcmVzdWx0 cyBpbiB7c3VtdGl9IAoKX18nJ2t1c3BlJydfXyB4MSBzcGFucy9leHRlbmRzIG92ZXIgeDIKCl9f JydrbGFqaScnX18geDEgaXMgYSByb2FkL2F2ZW51ZS9zdHJlZXQgYXQgeDIgYWNjZXNzaW5nIHgz CgoKCldoYXQgZG9lcyBpdCBtZWFuPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZSBtYW4gaGFk IGFuIGFjY2lkZW50IGFuZCBzbyB0aGVyZSB3YXMgZG9nIGFsbCBvdmVyIHRoZSByb2FkIn5+CgoK CkEgc2Vjb25kIG1ldGhvZCBvZiBxdWFudGlmeWluZyBzdWJzdGFuY2VzIGlzIHRvIHVzZSB0aGUg dGVuc2VzICcndmUnaScnLCAnJ3ZlJ2EnJyBhbmQgJyd2ZSd1JycgYXMgbWVudGlvbmVkIGluIGxl c3NvbiB0ZW46CgonJ3RpIHZlJ2kgZGphY3UnJyAtIFRoaXMgaXMgYSBzbWFsbCBhbW91bnQgb2Yg d2F0ZXIKCl9fJydkamFjdScnX18geDEgaXMgYW4gZXhwYW5zZSBvZiB3YXRlci9pcyBtYWRlIG9m IHdhdGVyL2NvbnRhaW5zIHdhdGVyCgoKClRoaXJkbHksIG9mIGNvdXJzZSwgeW91IGNvdWxkIHVz ZSBhIGJyaXZsYSB0byBnaXZlIGFuIGV4YWN0IG1lYXN1cmVtZW50OgoKJydsZSB0YSBkamFjdSBj dSBraSdvZ3JhIGJlIGxpIHJlIHBpIGtpJ28ga2knbycnIC0gIlRoYXQgd2F0ZXIgaGFzIGEgbWFz cyBvZiAyLjAwMCAwMDAga2lsb2dyYW1zIgoKX18nJ2tpJ29ncmEnJ19fIHgxIG1lYXN1cmVzIGlu IG1hc3MgeDIga2lsb2dyYW1zIGJ5IHN0YW5kYXJkIHgzCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdHdlbnR5LXRocmVlIChuZWdhdGlvbikKClNvbWV0aW1lcywganVzdCBzYXlpbmcgd2hh dOKAmXMgdGhlIHRydXRoIGlzIG5vdCBlbm91Z2guIE9mdGVuLCB3ZSB3YW50IHRvIHNwZWNpZnkg d2hhdOKAmXMgbm90IHRoZSB0cnV0aCwgYW5kIHdlIGRvIHRoaXMgYnkgdXNpbmcgbmVnYXRpb24u CgpOZWdhdGlvbiBpbiBFbmdsaXNoIG1vc3RseSBpbnZvbHZlcyDigJxub3TigJ0sIGFuZCBpcyBj b21wbGV0ZWx5IGFyYml0cmFyeSBhbmQgYW1iaWd1b3VzLiBXZSwgYXMgTG9qYmFuaXN0cywgY2Fu 4oCZdCBoYXZlIHRoYXQsIG9mIGNvdXJzZSwgc28gTG9qYmFuIGNvbnRhaW5zIGFuIGVsZWdhbnQg YW5kIHVuYW1iaWdpb3VzIHN5c3RlbSBmb3IgbmVnYXRpbmcuCgoKClRoZSBmaXJzdCB5b3UgbmVl ZCB0byBrbm93IGFib3V0IGlzIGJyaWRpIG5lZ2F0aW9uLCBzbyBjYWxsZWQgYmVjYXVzZSBpdCBu ZWdhdGVzIHRoZSBicmlkaSBpdOKAmXMgaW4sIHNheWluZyBpdOKAmXMgbm90IHRydWUuIFRoZSB3 YXkgdG8gbmVnYXRlIGEgYnJpZGkgaXMgdG8gcGxhY2UgJyduYScnIGVpdGhlciBqdXN0IGJlZm9y ZSB0aGUgc2VsYnJpIChhZnRlciBhbnkgJydjdScnKSwgb3IgZmlyc3QgaW4gdGhlIHNlbnRlbmNl IHdpdGggYSAnJ2t1JycgYWZ0ZXIgaXQuCgpfXycnc3BlbmknJ19fIHgxIGlzIG1hcnJpZWQgdG8g eDIgdW5kZXIgY29udmVudGlvbiB4MwoKVGh1czogJydsZSBtaSBzcGVuaSBjdSBuYSBuaW5tdScn IHN0YXRlcyB0aGF0IOKAnE15IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnS4gSXQgc3RhdGVzIG5v dGhpbmcgYWJvdXQgd2hhdCBteSB3aWZlIGlzLCBvciBpZiBJIGV2ZW4gaGF2ZSBhIHdpZmUuIEl0 IG9ubHkgc3RhdGVzIHRoYXQgSSBkbyBub3QgaGF2ZSBhIHdpZmUgd2hvIGlzIGFsc28gYSB3b21h bi4gVGhpcyBoYXMgYW4gaW1wb3J0YW50IGltcGxpY2F0aW9uOiBJZiB0aGUgbmVnYXRpb24gb2Yg YSBicmlkaSBpcyBmYWxzZSwgdGhlIGJyaWRpIG11c3QgYmUgdHJ1ZTogJyduYSBrdSBsZSBtaSBz cGVuaSBjdSBuYSBuaW5tdScnIG11c3QgbWVhbiB0aGF0IEkgaGF2ZSBib3RoIGEgc3BvdXNlLCBh bmQgdGhhdCBzaGUgaXMgYSBzaGUuCgpJdCBpcyBwb3NzaWJsZSB0byB1c2UgYnJpZGkgbmVnYXRp b25zIGluIGFsbCBicmlkaSwgZXZlbiB0aGUgaW1wbGljaXQgYnJpZGkgb2YgZGVzY3JpcHRpdmUg c3VtdGkuICcnbG8gbmEgcHJlbnUnJyBjYW4gcmVmZXIgdG8gYW55dGhpbmcgbm9uLWh1bWFuLCB3 aGV0aGVyIGl0IGJlIGEgc3BoaW54LCBhIGJhc2ViYWxsIG9yIHRoZSBwcm9wZXJ0eSBvZiBhcHBy b3ByaWF0ZW5lc3MuCgoKCl9fJydiYXUnJ19fIHN1bXRjaXRhLCBmcm9tIGJhbmd1OiB1c2luZyB0 aGUgbGFuZ3VhZ2Ugb2Yge3N1bXRpfQoKX18nJ3NlIGph4oCZZScnX18gc3VtdGNpdGEsIGZyb20g c2UgamFsZ2U6IGJlY2F1c2Ugb2Yge3N1bXRpfQoKCgpPZnRlbiB3aGVuIHVzaW5nICcnbmEnJywg aXTigJlzIGEgcHJvYmxlbSB0aGF0IG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaS4gSWYgSSBzYXkg JydtaSBuYSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGph4oCZZSBsZSBudSBtaSBkb3Rj bycnLCBJIGVuZCB1cCBuZWdhdGluZyB0b28gbXVjaCwgYW5kIGl0IGlzIG5vdCBjbGVhciB0aGF0 IEkgd2FudGVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LiBUaGUgc2VudGVuY2Ug Y291bGQgc3VnZ2VzdCB0aGF0IEkgaW4gZmFjdCBzcGVhayBmYXN0IGJlY2F1c2Ugb2Ygc29tZSBv dGhlciByZWFzb24sIG9yIHRoYXQgSSBzcGVhayBmYXN0IGluIEZyZW5jaCBiZWNhdXNlIEnigJlt IEdlcm1hbi4gVG8gZXhwcmVzcyB0aGUgc2VudGVuY2UgY29ycmVjdGx5LCBJIG5lZWQgdG8gb25s eSBuZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QsIGFuZCBub3QgdGhlIG90aGVyIHRoaW5ncy4KClRv IG9ubHkgbmVnYXRlIHBhcnQgb2YgYSBicmlkaSwgJyduYSBrdScnIGNhbiBiZSBtb3ZlZCBhcm91 bmQgdGhlIGJyaWRpIGFuZCBwbGFjZWQgYW55d2hlcmUgYSBzdW10aSBjYW4gZ28uIEl0IHRoZW4g bmVnYXRlcyBhbnkgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEgcGxhY2VkIGFmdGVyIGl0LgoK CgpNb3ZpbmcgJyduYSBrdScnIGZyb20gdGhlIGxlZnQgZW5kIG9mIHRoZSBicmlkaSBhbmQgcmln aHR3YXJkcyBlZmZlY3RzIGFueSBxdWFudGlmaWVycyBpbiBhIGNlcnRhaW4gd2F5LCBhcyBjYW4g YmUgc2VlbiBieSB0aGlzIGV4YW1wbGU6CgoKCicnbmEga3Ugcm8gcmVtbmEgY3UgdmVyYmEnJyDi gJxJdOKAmXMgbm90IHRydWUgdGhhdDogQWxsIGh1bWFucyBhcmUgY2hpbGRyZW7igJ0KCicnc3Xi gJlvIHJlbW5hIG5hIGt1IGN1IHZlcmJhJycg4oCcRm9yIGF0IGxlYXN0IG9uZSBodW1hbiBpdOKA mXMgbm90IHRydWUgdGhhdDogSXTigJlzIGEgY2hpbGTigJ0uIFNlZSB0aGF0IHRoZSAnJ25hIGt1 JycgaXMgcGxhY2VkIGJlZm9yZSAnJ2N1JycsIHNpbmNlIGEgc3VtdGkgY2FuIGdvIG9ubHkgdGhl cmUuIEhhZCBJIG9ubHkgdXNlZCAnJ25hJycsIGl0IHdvdWxkIGhhdmUgdG8gZ28gYWZ0ZXIgJydj dScnLgoKCgpUaGUgcXVhbnRpZmllciBpcyBpbnZlcnRlZCwgJydybycnIGlzIHR1cm5lZCBpbnRv ICcnc3XigJlvJycuIFRoaXMgaXMsIG9mIGNvdXJzZSwgb25seSBpZiB0aGUgbWVhbmluZyBvZiB0 aGUgYnJpZGkgaGFzIHRvIGJlIHByZXNlcnZlZC4gVGhpcyBtZWFucyB0aGF0IHdoZW4gdGhlICcn bmEga3UnJyBpcyBwbGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGksIG9ubHkgdGhlIHNlbGJy aSBpcyBuZWdhdGVkIGJ1dCBhbGwgdGhlIHN1bXRpIGFuZCBzdW10Y2l0YSBhcmUgcHJlc2VydmVk LCBhcyBjYW4gYmUgc2VlbiBieSB0aGVzZSB0aHJlZSBpZGVudGljYWwgYnJpZGk6CgpfXycnY2t1 bGUnJ19fIHgxIGlzIGEgc2Nob29sIGF0IGxvY2F0aW9uIHgyIHRlYWNoaW5nIHgzIHRvIHN0dWRl bnRzIHg0IGFuZCBvcGVyYXRlZCBieSB4NQoKCgonJ25hIGt1IHJvIHZlcmJhIGN1IHZlIGNrdWxl IGZvIHN14oCZbyBja3VsZScnIOKAkyDigJxJdOKAmXMgbm90IHRydWUgdGhhdCBhbGwgY2hpbGRy ZW4gYXJlIHN0dWRlbnRzIGluIGEgc2Nob29sLuKAnQoKJydzdeKAmW8gdmVyYmEgY3UgdmUgY2t1 bGUgbmEga3UgZm8gc3XigJlvIGNrdWxlJycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIHN0dWRl bnRzIGluIG5vdCBhIHNpbmdsZSBzY2hvb2wu4oCdCgonJ3N14oCZbyB2ZXJiYSBjdSB2ZSBja3Vs ZSBmbyBybyBja3VsZSBuYSBrdScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBmb3IgYWxsIHNj aG9vbHMgbm90IHN0dWRlbnRzIGluIHRoZW0u4oCdCgoKClRoZSBvcHBvc2l0ZSBvZiAnJ25hJycg aXMgJydqYSdhJycuIFRoaXMgaXMgYmFyZWx5IGV2ZXIgdXNlZCwgc2luY2UgaXQgaXMgZGVmYXVs dCBpbiBtb3N0IGJyaWRpLiBPbmUgZXhjZXB0aW9uIGlzIHJlcGVhdGVkIGJyaWRpIChuZXh0IGxl c3NvbikuIFNvbWV0aW1lcyBpdCdzIHVzZWQgdG8gcHV0IG1vcmUgd2VpZ2h0IG9uIHRoZSB0cnV0 aCBvZiB0aGUgYnJpZGksIGFzIGluICcnbGEgLmJhYi4gamEnYSBtZWxiaScnID0gIkJvYiBpcyBp bmRlZWQgYmVhdXRpZnVsIi4KCgoKV2hpbGUgdGhlIG1lY2hhbmlzbSBvZiAnJ25hIGt1JycgcmVz ZW1ibGVzIG5hdHVyYWwgbGFuZ3VhZ2UgbmVnYXRpb24sIGl0IGNhbiBiZSBkaWZmaWN1bHQgdG8g a2VlcCB0cmFjayBvZiBleGFjdGx5IHdoYXQgaXMgbmVnYXRlZCBhbmQgaG93IHRoYXQgYWZmZWN0 cyB0aGUgYnJpZGkuIEZvciB0aGF0IHJlYXNvbiwgdGhlIGNvbnN0cnVjdCAnJ25hIGt1JycgaXMg cmFyZWx5IHNlZW4gYW55d2hlcmUgb3RoZXIgdGhhbiB0aGUgYmVnaW5uaW5nIG9mIGEgYnJpZGku IEluIG1vc3QgY2FzZXMgd2hlcmUgbW9yZSBzcGVjaWZpYyBuZWdhdGlvbiBpcyBuZWVkZWQgcGVv cGxlIHJlc29ydCB0byBhIGRpZmZlcmVudCBtZXRob2QuIFRoaXMgbWV0aG9kLCBjYWxsZWQgc2Nh bGFyIG5lZ2F0aW9uLCBpcyBhbiBlbGVnYW50IGFuZCBpbnR1aXRpdmUgdG9vbC4gVXNpbmcgaXQs IHlvdSBlZmZlY3Qgb25seSB0aGUgc2VsYnJpLCBzaW5jZSB0aGUgd29yZHMgdXNlZCBpbiBzY2Fs YXIgbmVnYXRpb24gYmluZHMgdG8gdGhlIHNlbGJyaSBtdWNoIGxpa2UgdGhlIHdvcmQgJydzZScn LgoKVGhlIG5hbWUg4oCcc2NhbGFyIG5lZ2F0aW9u4oCdIGlzIGRlcml2ZWQgZnJvbSB0aGUgZmFj dCB0aGF0IHRoZSB3b3JkcyB3aGljaCBiaW5kIHRvIHRoZSBzZWxicmkgY2FuIGJlIHBsYWNlZCBh bG9uZyBhIHNjYWxlIGZyb20gYWZmaXJtYXRpb24gb3ZlciBuZWdhdGlvbiBhbmQgdG8gc3RhdGlu ZyB0aGF0IHRoZSBvcHBvc2l0ZSBjYXNlIGlzIHRydWU6Cgp8fFdvcmR8TWVhbmluZwoKamXigJlh fOKAnEluZGVlZOKAnTsgc2NhbGFyIGFmZmlybWVyCgpub+KAmWV84oCcTm90IHJlYWxseeKAnSwg c2NhbGFyIG1pZHBvaW50CgpuYeKAmWV84oCcTm9uLeKAnCwgc2NhbGFyIG5lZ2F0b3IKCnRv4oCZ ZXzigJxJbOKAnSwg4oCcRGlzLeKAnCwg4oCcTWlz4oCdIGVjdDsgc2NhbGFyIG9wcG9zZXJ8fAoK CgoKClRoZXNlIHdvcmRzIGFyZSBub3QgbmVnYXRvcnMgaW4gdGhlIHNhbWUgc2Vuc2UgYXMgJydu YScnLiBUaGV5IGRvIG5vdCBzdGF0ZSB0aGF0IGEgYnJpZGkgaXMgZmFsc2UsIGJ1dCBtYWtlcyBh IHBvc2l0aXZlIHN0YXRlbWVudCB0aGF0IGEgYnJpZGkgaXMgdHJ1ZSDigJMgdGhlIHNhbWUgYnJp ZGksIGJ1dCB3aXRoIGEgZGlmZmVyZW50IHNlbGJyaS4gVGhpcyBkaXN0aW5jdGlvbiBpcyBtb3N0 bHkgYWNhZGVtaWMsIHRob3VnaC4gSWYsIGZvciBleGFtcGxlLCBJIHN0YXRlIHRoYXQgJydtaSBu YSdlIHNlIG5lbGNpJycgIkkgYW0gbm9uLWxpa2VkIiwgSSBhY3R1YWxseSBzdGF0ZSB0aGF0IHNv bWUgc2VsYnJpIGFwcGxpZXMgdG8gbWUsIHdoaWNoIGlzIGFsc28gb24gYSByZWxldmFudCBzY2Fs ZSB3aXRoIHRoZSBzZWxicmkgJyduZWxjaScnLiBNb3N0IG9mIHRoZSB0aW1lLCB3ZSBhc3N1bWUg YSBzY2FsZSB3aGVyZSB0aGUgcG9zaXRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgKGxpa2Ug bG92ZS1saWtlLWRpc2xpa2UtaGF0ZSksIHNvICcnbWkgbmEnZSBzZSBuZWxjaScnIGltcGxpZXMg JydtaSBuYSBzZSBuZWxjaScnCgpUaGVyZWZvcmUsIHRoZSB3b3JkcyAnJ25v4oCZZScnIGFuZCAn J3Rv4oCZZScnIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgc2VsYnJpIGlzIHBsYWNlZCBv biBzb21lIG9idmlvdXMgc2NhbGU6CgonJ2xlIG1pIHNwZW5pIGN1IHRv4oCZZSBtZWxiaScnIOKA kyDigJ1NeSBzcG91c2UgaXMgdWdseeKAnSBtYWtlcyBzZW5zZSwgc2luY2Ugd2UgaW1tZWRpYXRl bHkga25vdyB3aGF0IHRoZSBvcHBvc2l0ZSBvZiBiZWF1dGlmdWwgaXMsIHdoaWxlCgonJ21pIGts YW1hIGxlIG1pIHRv4oCZZSB6ZGFuaScnIOKAkyDigJ1JIGdvIHRvIG15IG9wcG9zaXRlIHRoaW5n IG9mIGhvbWXigJ0sIHdoaWxlIGdyYW1tYXRpY2FsLCBsZWF2ZXMgdGhlIGxpc3RlbmVyIGd1ZXNz aW5nIHdoYXQgdGhlIHNwZWFrZXJzIOKAnG9wcG9zaXRlLWhvbWXigJ0gaXMgYW5kIHNob3VsZCBi ZSBhdm9pZGVkLgoKCgpTbyBob3cgY2FuIHlvdSBuZWdhdGUgb25seSB0aGUgc2VsYnJpIHdpdGhv dXQgYWxzbyBpbXBseWluZyB0aGF0IHRoZSBzZWxicmkgaXMgY29ycmVjdCBhdCBzb21lIG90aGVy IHBvc2l0aW9uIG9uIGEgdHJ1dGgtc2NhbGU/IFNpbXBsZTogTW92aW5nIHRoZSAnJ25hIGt1Jycg dG8gdGhlIHJpZ2h0bW9zdCBlbmQgb2YgdGhlIGJyaWRpLCBhcyBkZW1vbnN0cmF0ZWQgYSBmZXcg bGluZXMgYWJvdmUuIFRoaXMgZmVhdHVyZSBpcyB2ZXJ5IHVzZWZ1bC4gU29tZSBsb2piYW5pc3Rz IHByZWZlciB0byBwcmVmaXggdGhlIHJhZnNpICcnbmFyLScnICh0aGUgcmFmc2kgb2YgJyduYScn KSBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIC0gdGhpcyBoYXMgdGhlIHNhbWUgZWZmZWN0LCBidXQg SSBhZHZpc2UgYWdhaW5zdCBpdCwgYmVjYXVzZSBpdCBtYWtlcyBmYW1pbGlhciBicml2bGEgc2Vl bSBhbGllbiwgYW5kIGl0J3MgaGFyZGVyIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4gY2FzdWFs bHkuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlc2Ugc2VudGVuY2VzOgoK4oCcTXkgc3BvdXNlIGlz IG5vdCBhIHdvbWFu4oCdIChtZWFuaW5nIHRoYXQgaGUgaXMgYSBtYWxlKQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3UgbmHigJllIC8gdG/igJllIG5pbm11JycuIFVzaW5n IHNjYWxhciBuZWdhdGlvbiBoZXJlIGltcGxpZXMgdGhhdCBoZSBleGlzdHMsIHdoaWNoIG5hIGRp ZCBub3Qufn4KCgoK4oCcTXkgc3BvdXNlIGlzIG5vdCByZWFsbHkgYSB3b21hbuKAnQoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3Ugbm/igJllIG5pbm11JycuIFRoZSBzY2Fs ZSBoZXJlIGlzIHByZXN1bWVkIHRvIGJlIGZyb20gd29tYW4gdG8gbWFuLn5+CgoKCuKAnEkgZG9u 4oCZdCBzcGVhayBmYXN0IGluIEVuZ2xpc2ggYmVjYXVzZSBJ4oCZbSBHZXJtYW7igJ0KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIG5h4oCZZSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNl IGph4oCZZSBsZSBudSBtaSBkb3Rjbycnfn4KCgoKQWxzbywgbm90ZSB0aGF0IHdoZW5ldmVyIHRo ZXNlIHdvcmRzIGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSB0YW5ydSwgdGhleSBvbmx5IGFmZmVj dCB0aGUgbGVmdG1vc3Qgc2VsYnJpLiBJbiBvcmRlciB0byBtYWtlIGl0IGJpbmQgdG8gdGhlIHdo b2xlIHRhbnJ1IG9yIHBhcnRzIG9mIHRoZSB0YW5ydSwgdGhlIHVzdWFsIHRhbnJ1LWdyb3VwaW5n IHdvcmRzIGNhbiBiZSB1c2VkLgoKCgpUcnkgdG8gc2F5IOKAnEkgc2VsbCBzb21ldGhpbmcgd2hp Y2ggaXMgbm90IHllbGxvdyBob21lc+KAnSB1c2luZyB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaSB2 ZWNudScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYeKAmWUga2UgcGVseHUgemRhbmkg a2XigJllIHZlY251IG9yIG1pIG5h4oCZZSBwZWx4dSBibyB6ZGFuaSB2ZWNudScnfn4KCgoKV2hl biBhdHRlbXB0aW5nIHRvIGFuc3dlcjog4oCcSXMgdGhlIGtpbmcgb2YgdGhlIFVTQSBmYXQ/4oCd LCBhbGwgb2YgdGhlc2UgbmVnYXRpb25zIGZhaWwuIFdoaWxlIGl04oCZcyB0ZWNobmljYWxseSBj b3JyZWN0IHRvIG5lZ2F0ZSBpdCB3aXRoICcnbmEnJywgc2luY2UgaXQgbWFrZXMgbm8gYXNzdW1w dGlvbnMgb2YgdGhhdCBpcyB0cnVlLCBpdOKAmXMgbWlsZGx5IG1pc2xlYWRpbmcgc2luY2UgaXQg Y291bGQgbGVhZCB0aGUgbGlzdGVuZXIgdG8gYmVsaWV2ZSB0aGVyZSBpcyBhIGtpbmcgb2YgdGhl IFVTQS4gRm9yIHRoZXNlIHNjZW5hcmlvcywgdGhlcmUgaXMgYSBtZXRhbGluZ3Vpc3RpYyBuZWdh dG9yLCAnJ25h4oCZaScnLgoKJyduYeKAmWknJyBNZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLiBTb21l dGhpbmcgaXMgd3Jvbmcgd2l0aCBhc3NpZ25pbmcgYSB0cnV0aCB2YWx1ZSB0byB0aGUgYnJpZGku CgpCZWNhdXNlICcnbmHigJlpJycgY2FuIGJlIG5lZWRlZCBhbnl3aGVyZSBpdCBoYXMgYmVlbiBn aXZlbiB0aGUgZ3JhbW1hciBvZiB0aGUgYXR0aXR1ZGluYWxzLCB3aGljaCBtZWFucyBpdCBjYW4g YXBwZWFyIGFueXdoZXJlLCBhbmQgaXQgYXR0YWNoZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQgb3Ig Y29uc3RydWN0LgoKCgpfXycncGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIKCicn bGUgbmHigJlpIHB1IHRlIHp1a3RlIGJlIGxlIHNrYW1pIGN1IHBhbGNpJycg4oCTIOKAnVRoZSBz b3VnaHQgZ29hbCB7bWlzdGFrZSF9IG9mIHRoZSBjb21wdXRlciB3YXMgZXZpbOKAnSwgcHJvYmFi bHkgcHJvdGVzdHMgdGhhdCBjb21wdXRlcnMgY2FuIHNlZWsgYSBnb2FsIHZvbGl0aW9uYWxseS4K CgoKU2luY2UgdGhpcyBpcyBhIGxlc3NvbiBvbiBuZWdhdGlvbiwgSSBiZWxpZXZlIHRoZSB3b3Jk ICcnbmFpJycgZGVzZXJ2ZXMgYSBzaG9ydCBtZW50aW9uLiBJdCBpcyB1c2VkIHRvIG5lZ2F0ZSBt aW5vciBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLCBhbmQgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRp b24gd2l0aCBhdHRpdHVkaW5hbHMsIGFsbCBzdW10Y2l0YSBpbmNsdWRpbmcgdGVuc2VzLCB2b2Nh dGl2ZXMgYW5kIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFRoZSBydWxlcyBmb3IgbmVnYXRpbmcgdXNp bmcgJyduYWknJyBkZXBlbmQgb24gdGhlIGNvbnN0cnVjdCwgYW5kIHNvIHRoZSBlZmZlY3Qgb2Yg JyduYWknJyBoYXMgYmVlbiBkaXNjdXNzZWQgd2hlbiBtZW50aW9uaW5nIHRoZSBjb25zdHJ1Y3Qg dGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiBpcyBzdW10Y2l0YSwgd2hlcmUgdGhlIHJ1bGVzIGZv ciBuZWdhdGlvbiBhcmUgbW9yZSBjb21wbGV4LCBhbmQgd2lsbCBub3QgYmUgZGlzY3Vzc2VkIGhl cmUuCgpfX05vdGU6X18gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgaXQgaGFzIGJlZW4gcHJvcG9z ZWQgdG8gbW92ZSAnJ25haScnIHRvIHRoZSBzZWxtYSdvIENBSSwgd2hpY2ggbWVhbnMgdGhlIHNl bWFudGljcyBvZiAnJ25haScnIGRlcGVuZCBvbiB3aGljaCBzZWxtYSdvIGl0IGZvbGxvd3MuIAoK CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZvdXIgKGJyaWth4oCZaS9wcm8t YnJpZGkgYW5kIGtv4oCZYSkKCklmIEkgc2F5IHRoYXQgSeKAmW0gY2FsbGVkIE1pa2hhaWwsICcn bGEgLm1pa2FpbC4gY21lbmUgbWknJywgYW5kIHlvdSBoYXZlIHRvIHNheSB0aGUgZXhhY3Qgc2Ft ZSBicmlkaSwgd2hhdCB3b3VsZCB0aGF0IGJlPyBPbmUgb2YgdGhlIG1hbnkgYW5zd2VycyBpcyAn J2RvIHNlIGNtZW5lIGxhIC5taWthaWwuJycuIEZvciB0aGUgYnJpZGkgdG8gYmUgdGhlIHNhbWUs IHlvdSBoYXZlIHRvIHJlcGxhY2UgJydtaScnIHdpdGggJydkbycnLCBhbmQgaXQgZG9lc27igJl0 IG1hdHRlciB3aGljaCBpZiB5b3Ugc2F5IHRoZSBicmlkaSB3aXRoIHRoZSAnJ3NlJyctY29udmVy dGVkIHNlbGJyaSBvciBub3QuIFRoaXMgaXMgYmVjYXVzZSBhIGJyaWRpIGlzIG5vdCB0aGUgd29y ZHMgd2hpY2ggZXhwcmVzcyBpdCDigJMgYSBicmlkaSBpcyBhbiBpZGVhLCBhbiBhYnN0cmFjdCBw cm9wb3NpdGlvbi4gVGhlIHdvcmQgJydtaScnIHdoZW4gSSBzYXkgaXQgYW5kIHRoZSB3b3JkICcn ZG8nJyB3aGVuIHlvdSBkbyByZWZlcnMgdG8gdGhlIHNhbWUgc3VtdGksIHNvIHRoZSB0d28gYnJp ZGkgYXJlIGlkZW50aWNhbC4KClRoaXMgbGVzc29uIGlzIG9uICcnYnJpa2HigJlpJycsIHRoZSBi cmlkaSBlcXVpdmFsZW50IG9mIHN1bWth4oCZaS4gVGhleSBhcmUgd29yZCB3aGljaCByZXByZXNl bnQgZW50aXJlIGJyaWRpLiBIZXJlIGl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IGEg YnJpZGkgY29uc2lzdHMgb25seSBvZiBzdW10aSBhbmQgdGhlIHRoaW5ncyB3aGljaCBjb250YWlu IHRoZSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YS4gTmVpdGhlciBhdHRpdHVkaW5hbHMsIG5v ciB0aGUgc2VtYW50aWMgbGF5ZXIgb2YgJydrbycnIG9yICcnbWEnJyBhcmUgcGFydCBvZiB0aGUg YnJpZGkgcHJvcGVyLCBhbmQgc28gdGhlc2UgYXJlIG5vdCByZXByZXNlbnRlZCBieSBhICcnYnJp a2HigJlpJycuCgoKClRoZXJlIGFyZSBtdWNoIGZld2VyICcnYnJpa2HigJlpJycgdGhhbiB0aGVy ZSBhcmUgc3Vta2HigJlpLiBXZSB3aWxsIGJlZ2luIGJ5IGdvaW5nIHRocm91Z2ggc29tZSBvZiB0 aGUgd29yZHMgaW4gdGhlIG1vc3QgdXNlZCBzZXJpZXMsIGNhbGxlZCBHT2hBOgoKV29yZDoJRGVm aW5pdGlvbjoKCl9fJydnb+KAmXUnJ19fCVJlcGVhdHMgcmVtb3RlIHBhc3QgYnJpZGkKCl9fJydn b+KAmWEnJ19fCVJlcGVhdHMgcGFzdCBicmlkaQoKX18nJ2dv4oCZZScnX18JUmVwZWF0cyBuZXh0 LXRvLWxhc3QgYnJpZGkKCl9fJydnb+KAmWknJ19fCVJlcGVhdHMgbGFzdCBtZW50aW9uZWQgYnJp ZGkKCl9fJydnb+KAmW8nJ19fCVJlcGVhdHMgZnV0dXJlIGJyaWRpCgpfXycnbmVpJydfXwlSZXBl YXRzIGN1cnJlbnQgYnJpZGkKCl9fJydub+KAmWEnJ19fCVJlcGVhdHMgb3V0ZXIgYnJpZGkKCgoK U29tZSBvZiB0aGUgR09oQS0nJ2JyaWth4oCZaScnLiBOb3RpY2UgdGhlIGZhbWlsaWFyIGksIGEs IHUtcGF0dGVybiBmb3IgY2xvc2UgaW4gcGFzdCwgbWVkaXVtIGluIHBhc3QgYW5kIGRpc3RhbnQg aW4gcGFzdC4KCgoKCgpUaGVzZSBhcmUgdmVyeSBtdWNoIGxpa2UgdGhlIHN1bWth4oCZaSAnJ3Jp JycsICcncmEnJyBhbmQgJydydScnLiBUaGV5IGNhbiBvbmx5IHJlZmVyIHRvIG1haW4gYnJpZGkg b2YganVmcmEsIGFuZCBub3QgdGhvc2UgY29udGFpbmVkIGluIHJlbGF0aXZlIHBocmFzZXMgb3Ig ZGVzY3JpcHRpb24gc3VtdGkuIFRoZSBtYWluIGJyaWRpIGNhbiBjb250YWluIGEgcmVsYXRpdmUg cGhyYXNlLCBvZiBjb3Vyc2UsIGJ1dCBhICcnYnJpa2HigJlpJycgY2FuIG5ldmVyIGJlIHVzZWQg dG8gcmVmZXIgdG8gb25seSB0aGUgcmVsYXRpdmUgcGhyYXNlLgoKQSBHT2hBIGFjdHMgZ3JhbW1h dGljYWxseSBtdWNoIGxpa2UgYSBzZWxicmksIGFueSBjb25zdHJ1Y3Qgd2hpY2ggY2FuIGFwcGx5 IHRvIHNlbGJyaSBjYW4gYWxzbyBhcHBseSB0byB0aGVzZS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBv ZiBhIEdPaEEgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cywg YW5kIHRoZSBzdW10aSBhcmUgYnkgZGVmYXVsdCB0aGUgc2FtZSBhcyBpbiB0aGUgYnJpZGkgaXQg cmVwcmVzZW50cy4gRmlsbGluZyB0aGUgc3VtdGkgcGxhY2VzIG9mIGEgR09oQSBleHBsaWNpdGx5 IG92ZXJ3cml0ZXMgdGhlIHN1bXRpIG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBDb250cmFz dDoKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ2dv4oCZaScnIOKAkyDigJxJIGVhdCBh biBhcHBsZS7igJ0g4oCcWW91IGRvLuKAnSB3aXRoCgpBOiAnJ21pIGNpdGthIGxvIHBsaXNlJycg QjogJydtaSBnb+KAmWknJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnEkgZG8sIHRvby7i gJ0KCgoKVGhlc2UgJydicmlrYeKAmWknJyBhcmUgdmVyeSB1c2VmdWwgd2hlbiBhbnN3ZXJpbmcg YSBxdWVzdGlvbiB3aXRoICcneHUnJzoKCkE6ICcneHUgZG8gbmVsY2kgbGUgbWkgc3BlbmknJyBC OiAnJ2dv4oCZaSAvIG5hIGdv4oCZaScnIOKAkyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KAnSDi gJxZZXMuL05vLuKAnS4gVGhlICcneHUnJywgYmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5vdCBj b3BpZWQuCgpXaGVuIHJlcGVhdGluZyBicmlkaSBuZWdhdGVkIGJ5ICcnbmEnJywgdGhhdCBpczog QnJpZGkgd2hlcmUgJyduYScnIGlzIHBsYWNlZCBpbiB0aGUgcHJlbmV4IChsZXNzb24gdHdlbnR5 LXNldmVuKSwgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkgb3IgcmlnaHQgYmVmb3JlIHRo ZSBzZWxicmksIHRoZSBydWxlcyBmb3IgY29weWluZyBvdmVyICcnbmEnJyBhcmUgZGlmZmVyZW50 IGZyb20gd2hhdCBvbmUgbWlnaHQgZXhwZWN0LiBBbnkgJyduYScnIGlzIGNvcGllZCBvdmVyLCBi dXQgYW55IGFkZGl0aW9uYWwgJyduYScnIGluIHRoZSBwcm8tYnJpZGkgcmVwbGFjZXMgdGhlIGZp cnN0IG5hLiBMZXQgbWUgc2hvdyB5b3Ugd2l0aCBhbiBleGFtcGxlOgoKQTogJydtaSBuYSBjaXRr YSBsbyBwbGlzZScnCgpCOiAnJ21pIG5hIGdvJ2knJyA9ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2Un JwoKQzogJydtaSBuYSBuYSBnbydpID0gJydtaSBjaXRrYSBsbyBwbGlzZScnID0gJydtaSBqYSdh IGdvJ2knJwoKCgonJ25laScnIGFuZCAnJ25v4oCZYScnIGFyZSBub3QgdXNlZCBtdWNoLCBleGNl cHQgZm9yIOKAnG1pbmQtYnJlYWtpbmcgcHVycG9zZXPigJ0sIHdoaWNoIGlzIG1ha2luZyB1cCBi cmlkaSB3aGljaCBhcmUgaGFyZCB0byBwYXJzZSwgbGlrZSAnJ2RlaSBuYSBzZSBkdeKAmXUgbGUg bm/igJlhIGxh4oCZZSBsZSBuZWknJy4gU2luY2UgJyduZWknJyByZXBlYXRzIHRoZSBjdXJyZW50 IG91dGVyIGJyaWRpLCBob3dldmVyLCAnJ2xlIG5laScnIGNhbiBiZSB1c2VkIHRvIHJlZmVyIHRv IHRoZSB4MSBvZiB0aGUgY3VycmVudCBvdXRlciBicmlkaSwgJydsZSBzZSBuZWknJyB0aGUgeDIg YW5kIHNvIG9uLgoKCgpXaGVuIHVzaW5nICcnYnJpa2HigJlpJycsIG9uZSBtdXN0IGFsd2F5cyBi ZSB3YXJ5IG9mIGNvcHlpbmcgc2VudGVuY2VzIHdpdGggdGhlIHBlcnNvbmFsIHN1bWth4oCZaSBs aWtlICcnbWknJywgJydkbycnLCAnJ21h4oCZYScnIGVjdCwgYW5kIGJlIGNhcmVmdWwgbm90IHRv IHJlcGVhdCB0aGVtIHdoZW4gdGhleSBhcmUgaW4gdGhlIHdyb25nIGNvbnRlY3QsIGFzIHNob3du IGluIHRoZSB0d28gZXhhbXBsZXMgd2l0aCBhcHBsZSBlYXRpbmcgYWJvdmUuIEluc3RlYWQgb2Yg cmVwbGFjaW5nIHRoZW0gb25lIGJ5IG9uZSwgdGhvdWdoLCB0aGUgd29yZCAnJ3Jh4oCZbycnIGFu eXdoZXJlIGluIHRoZSBicmlkaSB1cGRhdGVzIHRoZSBwZXJzb25hbCBzdW1rYeKAmWkgc28gdGhh dCB0aGV5IGFwcGx5IGZvciB0aGUgc3BlYWtlcuKAmXMgcGVyc3BlY3RpdmU6CgpBOiAnJ21pIGRv IHByYW1pJycgQjogJydtaSBkbyBnb+KAmWknJyBpcyBlcXVpdmFsZW50IHRvIEE6ICcnbWkgZG8g cHJhbWknJyBCOiAnJ2dv4oCZaSByYeKAmW8nJwoKX18nJ3Jh4oCZbycnX18gVXBkYXRlIGFsbCBw ZXJzb25hbCBzdW1rYeKAmWkgc28gdGhhdCB0aGV5IG5vdyBmaXQgdGhlIHNwZWFrZXLigJlzIHBv aW50IG9mIHZpZXcuCgoKClRoZSBvbmx5IG90aGVyIHNlcmllcyBvZiBicmlrYeKAmWkgYXJlIHZl cnkgZWFzeSB0byByZW1lbWJlcjoKCl9fJydicm9kYScnX18JQnJpZGkgdmFyaWFibGUgMQoKX18n J2Jyb2RlJydfXwlCcmlkaSB2YXJpYWJsZSAyCgpfXycnYnJvZGknJ19fCUJyaWRpIHZhcmlhYmxl IDMKCl9fJydicm9kbycnX18JQnJpZGkgdmFyaWFibGUgNAoKX18nJ2Jyb2R1JydfXwlCcmlkaSB2 YXJpYWJsZSA1CgpfXycnY2VpJydfXwlEZWZpbmUgYnJpZGkgdmFyaWFibGUgKG5vdCBhIGJyaWth J2kgYW5kIG5vdCBpbiBCUk9EQSkKCgoKCgpUaGUgZmlyc3QgZml2ZSBhcmUganVzdCBmaXZlIGlu c3RhbmNlcyBvZiB0aGUgc2FtZSB3b3JkLiBUaGV5IGNhbiBiZSB1c2VkIGFzIHNob3J0Y3V0cyB0 byBicmlkaS4gQWZ0ZXIgc2F5aW5nIGEgYnJpZGksIHNheWluZyAnJ2NlaSBicm9kYScnIGRlZmlu ZXMgdGhhdCBicmlkaSBhcyAnJ2Jyb2RhJycsIGFuZCAnJ2Jyb2RhJycgY2FuIHRoZW4gYmUgdXNl ZCBhcyAnJ2JyaWth4oCZaScnIGZvciB0aGF0IGJyaWRpIGluIHRoZSBmb2xsb3dpbmcgY29udmVy c2F0aW9uLgoKV2hpbGUgd2XigJlyZSBhdCBpdCwgdGhlcmUgaXMgYW4gYW5hbG9nb3VzIHNlcmll cyBvZiBzdW1rYeKAmWksIHdoaWNoIHByb2JhYmx5IGRvZXMgbm90IGJlbG9uZyBpbiB0aGlzIGxl c3NvbiwgYnV0IGhlcmUgdGhleSBhcmUgYW55d2F5OgoKX18nJ2tv4oCZYScnX18JU3VtdGkgdmFy aWFibGUgMQlfXycnZm/igJlhJydfXwlTdW10aSB2YXJpYWJsZSA2CgpfXycna2/igJllJydfXwlT dW10aSB2YXJpYWJsZSAyCV9fJydmb+KAmWUnJ19fCVN1bXRpIHZhcmlhYmxlIDcKCl9fJydrb+KA mWknJ19fCVN1bXRpIHZhcmlhYmxlIDMJX18nJ2Zv4oCZaScnX18JU3VtdGkgdmFyaWFibGUgOAoK X18nJ2tv4oCZbycnX18JU3VtdGkgdmFyaWFibGUgNAlfXycnZm/igJlvJydfXwlTdW10aSB2YXJp YWJsZSA5CgpfXycna2/igJl1JydfXwlTdW10aSB2YXJpYWJsZSA1CV9fJydmb+KAmXUnJ19fCVN1 bXRpIHZhcmlhYmxlIDEwCgoKCmFzIHdlbGwgYXMgdGhlICcnY2VpJyctZXF1aXZhbGVudCBmb3Ig dGhpcyBzZXJpZXM6CgpfXycnZ29pJydfXyBEZWZpbmUgc3VtdGkgdmFyaWFibGUKCgoKCgpUaGVz ZSBhcmUgdXNlZCBsaWtlIHRoZSAnJ2JyaWth4oCZaScnLXNlcmllcy4gSnVzdCBwbGFjZSwgZm9y IGluc3RhbmNlLCAnJ2dvaSBrb+KAmXUnJyBhZnRlciBhIHN1bXRpLCBhbmQgdGhhdCBzdW10aSBj YW4gYmUgcmVmZXJyZWQgdG8gYnkgJydrb+KAmXUnJy4KCgoKU3RyYW5nZWx5LCB0aGVzZSBzZXJp ZXMgYXJlIHJhcmVseSB1c2VkIGZvciB0aGVpciBpbnRlbmRlZCBwdXJwb3NlLiBUaGV5IGFyZSwg aG93ZXZlciwgdXNlZCBhcyBhcmJpdHJhcnkgc2VsYnJpIGFuZCBzdW10aSBpbiBleGFtcGxlIHRl eHRzOgoK4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiAnJ2tv 4oCZYSBrb+KAmWUgYnJvZGEgbmEga3UnJyBhcmUgYWx3YXlzIHRoZSBzYW1lIGFzICcnbmEga3Ug a2/igJlhIGtv4oCZZSBicm9kYScnP+KAnSDigJxOb3BlLCBpdCBpc27igJl0LuKAnQoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZpdmUgKGxvZ2ljYWwgY29ubmVjdGl2ZXMp CgrigJxJZiB5b3UgYXNrIGEgTG9qYmFuaXN0OiDigJxEbyB5b3Ugd2FudCBtaWxrIG9yIHN1Z2Fy IGluIHlvdXIgY29mZmVlP+KAnSBzaGXigJlsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd4oCdCgoK CldpdHR5IGFzIHRoaXMgam9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWlyZCBwcm9w ZXJ0eSBvZiB0aGUgRW5nbGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0IGlzIHBo cmFzZWQgYXMgYSB0cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbuKAmXQuIElu IExvamJhbiwgd2UgY2Fu4oCZdCBoYXZlIHRoaXMga2luZCBvZiBpbmNvbnNpc3RlbmN5LCBhbmQg c28gd2UgbXVzdCBmaW5kIGFub3RoZXIgd2F5IG9mIGFza2luZyB0aGlzIGtpbmQgb2YgcXVlc3Rp b24uIElmIHlvdSB0aGluayBhYm91dCBpdCwgaXTigJlzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBn b29kIGFuZCBlYXN5IHdheSwgYW5kIGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qg d2F5IGluc3RlYWQgb2YgYW4gZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtl IHR3byBzZXBhcmF0ZSBicmlkaTogQnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl 4oCdIGFuZCBicmlkaSAyOiDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9m IHRoZXNlIGJyaWRpIGNhbiBoYXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxk cyBmb3VyIGNvbWJpbmF0aW9ucyBvZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFu ZCAyCUIgKSAxIGJ1dCBub3QgMgoKQyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoK CgpJLCBpbiBhY3R1YWxpdHksIGxpa2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJ4oCZbSBpbmRp ZmZlcmVudCBhcyB0byB3aGV0aGVyIHRoZXJlIGlzIHN1Z2FyIGluIGl0IG9yIG5vdC4gVGhlcmVm b3JlLCBteSBwcmVmZXJlbmNlIGNhbiBiZSB3cml0dGVuIEEgKSB0cnVlIEIgKSB0cnVlIEMgKSBm YWxzZSBEICkgZmFsc2UsIHNpbmNlIGJvdGggQSBhbmQgQiB5aWVsZHMgdHJ1ZSBmb3IgbWUsIGJ1 dCBuZWl0aGVyIEMgbm9yIEQgZG9lcy4gQSBtb3JlIGNvbXBhY3Qgd2F5IG9mIHdyaXRpbmcgbXkg Y29mZmVlIHByZWZlcmVuY2VzIHdvdWxkIGJlIFRURkYgZm9yIHRydWUsIHRydWUsIGZhbHNlLCBm YWxzZS4gU2ltaWxhcmx5LCBhIHBlcnNvbiBsaWtpbmcgaGlzIGNvZmZlZSBibGFjayBhbmQgdW5z d2VldGVuZWQgd291bGQgaGF2ZSBhIGNvZmZlZSBwcmVmZXJlbmNlIG9mIEZGRlQuIFRoaXMgY29t Yml0YXRpb24gb2YgInRydWUiIGFuZCAiZmFsc2UiIGlzIGNhbGxlZCBhIOKAnHRydXRoIGZ1bmN0 aW9u4oCdLCBpbiB0aGlzIGNhc2UgZm9yIHRoZSB0d28gc3RhdGVtZW50cyDigJxJIGxpa2UgbWls ayBpbiBteSBjb2ZmZWXigJ0gYW5kIOKAnEkgbGlrZSBzdWdhciBpbiBteSBjb2ZmZWXigJ0uIE5v dGUgdGhhdCB0aGUgb3JkZXIgb2YgdGhlIHN0YXRlbWVudHMgbWF0dGVycy4KCkluIExvamJhbiwg d2Ugb3BlcmF0ZSB3aXRoIDQgdHJ1dGggZnVuY3Rpb25zLCB3aGljaCB3ZSBjb25zaWRlciBmdW5k YW1lbnRhbDoKCkE6IFRUVEYgKGFuZC9vcikKCk86IFRGRlQgKGlmIGFuZCBvbmx5IGlmZikKClU6 IFRURkYgKHdoZXRoZXIgb3Igbm90KQoKRTogVEZGRiAoYW5kKQoKCgpJbiB0aGlzIGV4YW1wbGUs IHRoZXkgd291bGQgdHJhbnNsYXRlIHRvIHNvbWV0aGluZyBsaWtlOiBBOuKAnUp1c3Qgbm90IGJs YWNrIGNvZmZlZeKAnSwgTzog4oCcRWl0aGVyIGJvdGggbWlsayBvciBzdWdhciwgb3Igbm90aGlu ZyBmb3IgbWUsIHBsZWFzZeKAnSwgVTog4oCcTWlsaywgYW5kIEkgZG9u4oCZdCBjYXJlIGFib3V0 IGlmIHRoZXJl4oCZcyBzdWdhciBvciBub3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBw bGVhc2Uu4oCdLgoKCgpJbiBMb2piYW4sIHlvdSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRo IGZ1bmN0aW9uIGJldHdlZW4gdGhlIHR3byBicmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0 aW9uLiBUaGF0IHdvcmQgaXMgY2FsbGVkIGEgbG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMg Zm9yIHRydXRoIGZ1bmN0aW9ucyBiZXR3ZWVuIHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBh cmUgICcnLmEnJyAnJy5vJycgJycudScnIGFuZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFu Y2U6IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3Vs ZCBiZSAnJ2xvIG1lcmtvIC5lIGxvIGRvdGNvIGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91 IHNheTog4oCcSSBzcGVhayB0byB5b3UgYW5kIG5vIG9uZSBlbHNlP+KAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgdGF2bGEgZG8gLmUgbm8gZHJhdGEnJyBOb3RlIHRoYXQgdGhpcyBhY3R1 YWxseSBzdGF0ZXMgdGhhdCBpdCdzIHRydWUgdGhhdCAiSSBzcGVhayB0byB5b3UiLn5+CgoKCk9u ZSBtb3JlOiDigJxJIGxpa2UgY2hlZXNlIHdoZXRoZXIgb3Igbm90IEkgbGlrZSBjb2ZmZWXigJ0K Cl9fJydja2FmaScnX18geDEgaXMgYSBxdWFudGl0eS9jb250YWlucyBjb2ZmZWUgZnJvbSBzb3Vy Y2Uvb2YgZ3JhaW4geDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5lbGNpIGxv4oCZZSBj aXJsYSAudSBsb+KAmWUgY2thZmknJ35+CgoKCllvdSBjYW4gcGVyaGFwcyBkZWR1Y2UgdGhhdCB0 aGVyZSBhcmUgc2l4dGVlbiBwb3NzaWJsZSB0cnV0aCBmdW5jdGlvbnMsIHNvIHdlIG5lZWQgdG8g bGVhcm4gdHdlbHZlIG1vcmUgaW4gb3JkZXIgdG8ga25vdyB0aGVtIGFsbC4gRWlnaHQgbW9yZSBj YW4gYmUgb2J0YWluZWQgYnkgbmVnYXRpbmcgZWl0aGVyIHRoZSBmaXJzdCBzZW50ZW5jZSBvciB0 aGUgc2Vjb25kLiBUaGUgZmlyc3QgaXMgbmVnYXRlZCBieSBwcmVmaXhpbmcgdGhlIHRydXRoIGZ1 bmN0aW9uIHdvcmQgd2l0aCAnJ25hJycsIHRoZSBzZWNvbmQgaXMgbmVnYXRlZCBieSBwbGFjaW5n ICcnbmFpJycgYWZ0ZXIgdGhlIHdvcmQuIEZvciBleGFtcGxlLCBzaW5jZSAnJy5lJycgcmVwcmVz ZW50cyBURkZGLCAnJy5lIG5haScnIG11c3QgYmUg4oCcYm90aCAxIGlzIHRydWUgYW5kIDIgaXMg ZmFsc2XigJ0sIHdoaWNoIGlzIEZURkYuIFNpbWlsYXJseSwgJyduYSAuYScnIGlzIOKAnEp1c3Qg bm90OiAxIGlzIHRydWUgYW5kIDIgaXMgZmFsc2XigJ0sIHdoaWNoIGlzIFRURlQuIERvaW5nIHRo aXMgdHlwZSBvZiBjb252ZXJzaW9uIGluIHRoZSBoZWFkIHJlYWwtdGltZSBpcyB2ZXJ5LCB2ZXJ5 IGhhcmQsIHNvIHBlcmhhcHMgb25lIHNob3VsZCBmb2N1cyBvbiBsZWFybmluZyBob3cgbG9naWNh bCBjb25uZWN0aXZlcyB3b3JrIGluIGdlbmVyYWwsIGFuZCB0aGVuIGxlYXJuIHRoZSBsb2dpY2Fs IGNvbm5lY3RpdmVzIHRoZW1zZWx2ZXMgYnkgaGVhcnQuCgoKCkZvdXIgZnVuY3Rpb25zIGNhbm5v dCBiZSBtYWRlIHRoaXMgd2F5OiBUVFRULCBURlRGLCBGVEZUIGFuZCBGRkZGLiBUaGUgZmlyc3Qg YW5kIHRoZSBsYXN0IGNhbm5vdCBiZSBtYWRlIHVzaW5nIGxvZ2ljYWwgY29ubmVjdGl2ZXMgYXQg YWxsLCBidXQgdGhleSBhcmUga2luZCBvZiB1c2VsZXNzIGFueXdheS4gVXNpbmcgYSBoeXBvdGhl dGljYWwgbG9naWNhbCBjb25uZWN0aXZlIGluIHRoZSBzZW50ZW5jZSDigJxJIGxpa2UgbWlsayBG RkZGIHN1Z2FyIGluIG15IGNvZmZlZeKAnSBpcyBlcXVpdmFsZW50IHRvIHNheWluZyDigJxJIGRv buKAmXQgbGlrZSBjb2ZmZWXigJ0sIGp1c3QgbW9yZSBjb21wbGljYXRlZC4gVGhlIGxhc3QgdHdv LCBURlRGIGFuZCBGVEZULCBjYW4gYmUgbWFkZSBieSBwcmVmaXhpbmcgJycudScnIHdpdGggZ29v ZCBvbOKAmSAnJ3NlJycsIHdoaWNoIGp1c3QgcmV2ZXJ0cyB0aGUgdHdvIHN0YXRlbWVudHMuICcn c2UgLnUnJyAsIGZvciBpbnN0YW5jZSBpcyDigJxCIHdoZXRoZXIgb3Igbm90IEHigJ0sIHdoaWNo IGlzIFRGVEYuIFRoZSBmaW5hbCBsaXN0IG9mIGFsbCBsb2dpY2FsIGNvbm5lY3RpdmVzIGNhbiBi ZSBzZWVuIGJlbG93LgoKCgpUVFRUOiBDYW5ub3QgYmUgbWFkZQoKVFRURjogJycuYScnCgpUVEZU OiAnJy5hIG5haScnCgpUVEZGOiAnJy51JycgT1IgJycudSBuYWknJwoKVEZUVDogJyduYSAuYScn CgpURlRGOiAnJ3NlIC51JycKClRGRlQ6ICcnLm8nJyBPUiAnJ25hIC5vIG5haScnCgpURkZGOiAn Jy5lJycKCkZUVFQ6ICcnbmEgLmEgbmFpJycKCkZUVEY6ICcnbmEgLm8nJyBPUiAnJy5vIG5haScn CgpGVEZUOiAnJ3NlIC51IG5haScnCgpGVEZGOiAnJy5lIG5haScnCgpGRlRUOiAnJ25hIC51Jycg T1IgJyduYSAudSBuYWknJwoKRkZURjogJyduYSAuZScnCgpGRkZUOiAnJ25hIC5lIG5haScnCgpG RkZGOiBDYW5ub3QgYmUgbWFkZQoKCgpMb2dpY2FsbHksIHNheWluZyBhIHNlbnRlbmNlIHdpdGgg YSBsb2dpY2FsIGNvbm5lY3RpdmUsIGxpa2UgZm9yIGluc3RhbmNlICcnbWkgbmVsY2kgbG/igJll IGNpcmxhIC5lIG5haSBsb+KAmWUgY2thZmknJyBpcyBlcXVpdmFsZW50IHRvIHNheWluZyB0d28g YnJpZGksIHdoaWNoIGFyZSBjb25uZWN0ZWQgd2l0aCB0aGUgc2FtZSBsb2dpY2FsIGNvbm5lY3Rp dmU6ICcnbWkgbmVsY2kgbG/igJllIGNpcmxhIC5pIHtFIE5BSX0gbWkgbmVsY2kgbG/igJllIGNr YWZpJycuIFRoaXMgaXMgaG93IHRoZSBmdW5jdGlvbiBvZiBsb2dpY2FsIGNvbm5lY3RpdmVzIGlz IGRlZmluZWQuIFdlIHdpbGwgZ2V0IHRvIGhvdyB0byBhcHBseSBsb2dpY2FsIGNvbm5lY3RpdmVz IHRvIGJyaWRpIGluIGEgbW9tZW50LgoKCgpCeSBwdXR0aW5nIGEg4oCcauKAnSBpbiBmcm9udCBv ZiB0aGUgY29yZSB3b3JkIG9mIGEgbG9naWNhbCBjb25uZWN0aXZlLCBpdCBjb25uZWN0cyB0d28g c2VsYnJpLiBBbiBleGFtcGxlIGlzICcnbWkgbmlubXUgbmEgam8gbmFubXUnJyDigJxJIGFtIGEg bWFuIG9yIGEgd29tYW4sIGJ1dCBub3QgYm90aOKAnQoKX18nJ25pbm11JydfXyB4MSBpcyBhIHdv bWFuCgoKClRoaXMgaXMg4oCcdGFucnUtaW50ZXJuYWzigJ0sIG1lYW5pbmcgdGhhdCBpdCBsb29z ZWx5IGJpbmRzIHNlbGJyaSB0b2dldGhlciwgZXZlbiB3aGVuIHRoZXkgZm9ybSBhIHRhbnJ1OiAn J2xvIGRvdGNvIGphIG1lcmtvIHByZW51JycgbWVhbnMg4oCcYSBHZXJtYW4gb3IgQW1lcmljYW4g bWFu4oCdLCBhbmQgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAnJ3ByZW51 JycuIFRoaXMgYmluZGluZyBpcyBzbGlnaHRseSBzdHJvbmdlciB0aGF0IG5vcm1hbCB0YW5ydS1n cm91cGluZyAoc3RpbGwgd2Vha2VyIHRoYW4gc3BlY2lmaWMgZ3JvdXBpbmctd29yZHMpLCBhbmQg YXMgc3VjaCwgJydsbyBkb3RjbyBqYSBtZXJrbyBuaW5tdSBqYSBuYW5tdScnIGlzIHBhcnNlZCAn J2xvJycgKCcnZG90Y28gamEgbWVya28nJykgKCcnbmlubXUgamEgbmFubXUnJykuIFRoZSBzZWxi cmkgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4gYWxzbyBiZSBhdHRhY2hlZCB0byAnJy5pJycgaW4g b3JkZXIgdG8gY29ubmVjdCB0d28gc2VudGVuY2VzIHRvZ2V0aGVyOiAnJ2xhIC5raW0uIGNtZW5l IG1pIC5pIGp1IG1pIG5hbm11Jycg4oCcSeKAmW0gY2FsbGVkIEtpbSwgd2hldGhlciBvciBub3Qg SeKAmW0gYSBtYW7igJ0uIFRoZSBjb21iaW5hdGlvbiAnJy5pIGplJycgc3RhdGVzIHRoYXQgYm90 aCBzZW50ZW5jZXMgYXJlIHRydWUsIG11Y2ggbGlrZSB3ZSB3b3VsZCBhc3N1bWUgaGFkIG5vIGxv Z2ljYWwgY29ubmVjdGl2ZSBiZWVuIHByZXNlbnQuCgoKClVuZmFpcmx5IGhhcmQgcXVlc3Rpb246 IFVzaW5nIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvdyB3b3VsZCB5b3UgdHJhbnNsYXRlIOKAnElm IHlvdeKAmXJlIGNhbGxlZCBCb2IsIHlvdeKAmXJlIGEgbWFuLuKAnT8KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ2xhIC5iYWIuIGNtZW5lIGRvIC5pIG5hIGphIGRvIG5hbm11Jycgb3Ig4oCcRWl0 aGVyIHlvdeKAmXJlIG5vdCBuYW1lZCBCb2IgYW5kIGEgbWFuLCBvciB5b3XigJlyZSBub3QgbmFt ZWQgQm9iIGFuZCBub3QgYSBtYW4sIG9yIHlvdeKAmXJlIG5hbWVkIEJvYiBhbmQgYSBtYW4uIEJ1 dCB5b3UgY2Fu4oCZdCBiZSBuYW1lZCBCb2IgYW5kIG5vdCBiZSBhIG1hbi7igJ0gVGhlIG9ubHkg Y29tYmluYXRpb24gbm90IHBlcm1pdHRlZCBpczog4oCcWW914oCZcmUgY2FsbGVkIEJvYiwgYnV0 IG5vdCBhIG1hbi7igJ0gVGhpcyBtdXN0IG1lYW4gdGhhdCwgaWYgaXTigJlzIHRydWUgdGhhdCB5 b3XigJlyZSBjYWxsZWQgQm9iLCB5b3UgbXVzdCBiZSBhIG1hbi5+fgoKCgpJZiB3ZSB0cnkgdG8g dHJhbnNsYXRlIHRoZSBzYWQsIHNhZCBldmVudCBvZiDigJxJIGNyaWVkIGFuZCBnYXZlIGF3YXkg bXkgZG9n4oCdLCB3ZSBydW4gaW50byBhIHByb2JsZW0uCgpBdHRlbXB0aW5nIHRvIHNheSB0aGUg c2VudGVuY2Ugd2l0aCBhICcnamUnJyBiZXR3ZWVuIHRoZSBzZWxicmkg4oCcZ2F2ZeKAnSBhbmQg 4oCcY3JpZWTigJ0sIHdvdWxkIG1lYW4gdGhlIHNhbWUgd29yZCBmb3Igd29yZCwgYnV0IHVuZm9y dHVuYXRlbHkgbWVhbiB0aGF0IOKAnEkgY3JpZWQgdGhlIGRvZyBhbmQgZ2F2ZSBhd2F5IHRoZSBk b2figJ0sIGNmLiB0aGUgZGVmaW5pdGlvbiBvZiBsb2dpY2FsIGNvbm5lY3RpdmVzLiBPbmUgY2Fu IGNyeSB0ZWFycyBvciBldmVuIGJsb29kLCBidXQgY3J5aW5nIGRvZ3MgaXMganVzdCBzaWxseS4K Ckhvd2V2ZXIsIHdlIGNhbiBnZXQgYXJvdW5kIGJ5IHVzaW5nIGJyaWRpLXRhaWwgbG9naWNhbCBj b25uZWN0aXZlcy4gV2hhdCB0aGV5IGRvIGlzIHRoYXQgYW55IHByZXZpb3VzIHN1bXRjaXRhIGFu ZCBzdW10aSBhdHRhY2hlcyB0byBib3RoIHNlbGJyaSBib3VuZCBieSB0aGUgYnJpZGktdGFpbCBs b2dpY2FsIGNvbm5lY3RpdmUsIGJ1dCBhbnkgZm9sbG93aW5nIHN1bXRpIG9yIHN1bXRjaXRhIG9u bHkgYXBwbGllcyB0byB0aGUgbGFzdCBtZW50aW9uZWQ6IFRoZSBicmlkaSBzcGxpdHMgdXAgZnJv bSBvbmUgaGVhZCB0byB0d28gdGFpbHMsIHRvIHNwZWFrIG1ldGFwaG9yaWNhbGx5LgoKVGhlIGZv cm0gb2YgYSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBnaeKAmVYsIHdpdGggdGhl IFYgZm9yIHRoZSB2b3dlbCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24uCgpIb3cgY291bGQgeW91IGNv cnJlY3RseSB0cmFuc2xhdGUgdGhlIEVuZ2xpc2ggc2VudGVuY2UgdG8gTG9qYmFuPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgcHUga2xha3UgZ2nigJllIGR1bmRhIGxlIG1pIGdlcmt1Jyd+ fgoKCgpXaGF0IGRvZXMgJydybyByZW1uYSBjdSBwYWxjaSBnaeKAmW8genVrdGUgbG8gcGFsY2kn JyBtZWFuPwoKX18nJ3BhbGNpJydfXyB4MSBpcyBldmlsIGJ5IHN0YW5kYXJkIHgyCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcUGVvcGxlIGFyZSBldmlsIGlmIGFuZCBvbmx5IGlmIHRoZXkgZG8g ZXZpbCB0aGluZ3Mu4oCdfn4KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgZm9yZXRob3VnaHQg YWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBncm91cCBvZiBjb25uZWN0ZXJzIG1hZGUgYnkgcHJlZml4 aW5nIOKAnGfigJ0gaW4gZnJvbnQgb2YgdGhlIHRydXRoIGZ1bmN0aW9uIHZvd2VsLiDigJxGb3Jl dGhvdWdodOKAnSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCB0aGV5IG5lZWQgdG8gZ28gaW4g ZnJvbnQgb2YgdGhlIHRoaW5ncyB0aGV5IGNvbm5lY3QsIGFuZCB0aHVzIHlvdSBuZWVkIHRvIHRo aW5rIGFib3V0IHRoZSBncmFtbWF0aWNhbCBzdHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlIGJlZm9y ZSBzYXlpbmcgaXQuIEFsbC1idXQgdGFucnUgaW50ZXJuYWwgbWVhbnMgdGhhdCBpdCBzZXJ2ZXMg Ym90aCBhcyBhIGNvbm5lY3RpdmUgYmV0d2VlbiBzdW10aSwgYnJpZGksIHNlbGJyaSBhbmQgYnJp ZGktdGFpbHMsIGJ1dCBub3QgYmV0d2VlbiB0d28gc2VsYnJpIG9mIG9uZSB0YW5ydS4gTGV0IG1l IHNob3cgeW91IGhvdyBpdCB3b3JrcywgcmV3cml0aW5nIHRoZSBMb2piYW4gc2VudGVuY2UgYWJv dmU6CgonJ2dvIGxvIHJlbW5hIGN1IHBhbGNpIGdpIGxvIHJlbW5hIGN1IHp1a3RlIGxvIHBhbGNp JycKClRoZSBmaXJzdCBsb2dpY2FsIGNvbm5lY3RpdmUgaW4gdGhlc2Uga2luZHMgb2YgY29uc3Ry dWN0cyBhcmUgd2hhdCBjYXJyaWVzIHRoZSB2b3dlbCB3aGljaCBzaWduYWwgd2hhdCB0cnV0aCBm dW5jdGlvbiBpcyBiZWluZyB1c2VkLiBUaGUgc2Vjb25kIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBh bHdheXMgJydnaScnLCBhbmQgbGlrZSAnJy5pJycsIGl0IGhhcyBubyB0cnV0aCBmdW5jdGlvbi4g SXQgc2ltcGx5IHNlcnZlcyB0byBzZXBhcmF0ZSB0aGUgdHdvIHRlcm1zIGJlaW5nIGNvbm5lY3Rl ZC4gSWYgeW91IHdhbnQgdG8gbmVnYXRlIHRoZSBmaXJzdCBvciBzZWNvbmQgc2VudGVuY2UsIGEg JyduYWknJyBpcyBzdWZmaXhlZCB0byBlaXRoZXIgdGhlIGZpcnN0IChmb3IgdGhlIGZpcnN0IHNl bnRlbmNlKSBvciBzZWNvbmQgKGZvciB0aGUgc2Vjb25kIHNlbnRlbmNlKSBsb2dpY2FsIGNvbm5l Y3RpdmUuCgpQcm92aWRlZCB0aGF0IHRoZSBjb25zdHJ1Y3RzIGFyZSB0ZXJtaW5hdGVkIHByb3Bl cmx5LCBpdCBoYXMgcmVtYXJrYWJsZSBmbGV4aWJpbGl0eSwgYXMgdGhlIGZvbGxvd2luZyBmZXcg ZXhhbXBsZXMgZGVtb25zdHJhdGU6CgonJ21pIGdvIGtsYW1hIGdpIGNhZHp1IHZhdSBsZSBtaSB6 ZGFuaScnIOKAnEkgZ28sIGlmIGFuZCBvbmx5IGlmIHdhbGssIHRvIG15IGhvbWXigJ0gb3Ig4oCc SSBjYW4gb25seSBnbyB0byBteSBob21lIGJ5IHdhbGtpbmcu4oCdIE5vdGljZSB0aGF0IHRoZSAn J3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGxlIG1pIHpkYW5pIGFwcGx5IHRvIGJvdGggJydjYWR6 dScnIGFuZCAnJ2tsYW1hJycuCgonJ3NlIGd1IGRvIGdpIG5haSBtaSBiYWpyYSBsZSBkbyBja3Vs ZScnIOKAnFdoZXRoZXIgb3Igbm90IHlvdSwgdGhlbiBub3QgSSwgcnVuIHRvIHlvdXIgc2Nob29s 4oCdIG9yIOKAnEkgd29u4oCZdCBydW4gdG8geW91ciBzY2hvb2wgbm8gbWF0dGVyIGlmIHlvdSBk byBvciBub3TigJ0KCgoKVGhlIHRhbnJ1LWludGVybmFsIGVxdWl2YWxlbnQgb2YgZ1YgaXMgZ3Xi gJlWLiBUaGVzZSBhcmUgZXhhY3RseSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgdGhleSBhcmUgZXhj bHVzaXZlbHkgdGFucnUtaW50ZXJuYWwsIGFuZCB0aGF0IHRoZXkgYmluZCBhIHNlbGJyaSB0byB0 aGUgJydnaScnIHRpZ2h0ZXIgdGhhbiBub3JtYWwgdGFucnUtZ3JvdXBpbmcsIGJ1dCB3ZWFrZXIg dGhhbiBleHBsaWNpdCBiaW5kaW5nLXN1bXRpOgoKJydsYSB4YW56LmtydC4gZ3XigJllIG1lcmtv IGdpIGRvdGNvIG5hbm11JycgaXMgZXF1aXZhbGVudCB0bwoKJydsYSB4YW56LmtydC4gbWVya28g amUgZG90Y28gbmFubXUnJwoKCgpBbmQgc28geW914oCZdmUgcmVhZCBwYWdlIHVwIGFuZCBwYWdl IGRvd24ganVzdCB0byBnZXQgdGhlIG5lY2Vzc2FyeSBrbm93bGVkZ2UgaW4gb3JkZXIgdG8gYmUg YWJsZSB0byBsZWFybiBob3cgdG8gYXNrIOKAnFdvdWxkIHlvdSBsaWtlIG1pbGsgb3Igc3VnYXIg aW4geW91ciBjb2ZmZWU/4oCdIGluIExvamJhbi4gU2ltcGx5IHBsYWNlIGEgcXVlc3Rpb24gbG9n aWNhbCBjb25uZWN0aXZlIGluc3RlYWQgb2YgYW5vdGhlciBsb2dpY2FsIGNvbm5lY3RpdmUsIGFu ZCBsaWtlICcnbWEnJywgaXQgYXNrcyB0aGUgbGlzdGVuZXIgdG8gZmlsbCBpbiBhIGNvcnJlY3Qg cmVzcG9uc2UuIFVuZm9ydHVuYXRlbHksIHRoZXNlIHF1ZXN0aW9uLWxvZ2ljYWwgY29ubmVjdGl2 ZXMgZG9u4oCZdCBhbHdheXMgbWF0Y2ggdGhlIG1vcnBob2xvZ2ljYWwgcGF0dGVybiBvZiB0aGUg bG9naWNhbCBjb25uZWN0aXZlcyB0aGV5IGFzayBmb3I6CgpfXycnamknJ19fIExvZ2ljYWwgY29u bmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBzdW10aSBsb2dpY2FsIGNvbm5lY3RpdmUgKEEp CgpfXycnamXigJlpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEg dGFucnUtaW50ZXJuYWwgc2VsYnJpIGxvZ2ljYWwgY29ubmVjdGl2ZSAoSkEpCgpfXycnZ2nigJlp JydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgYnJpZGktdGFpbCBs b2dpY2FsIGNvbm5lY3RpdmUgKEdJaEEpCgpfXycnZ2XigJlpJydfXyBMb2dpY2FsIGNvbm5lY3Rp dmUgcXVlc3Rpb246IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5h bCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdBKQoKX18nJ2d14oCZaScnX18gTG9naWNhbCBjb25uZWN0 aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGZvcmV0aG91Z2h0IG9ubHkgdGFucnUgaW50ZXJuYWwg bG9naWNhbCBjb25uZWN0aXZlIChHVWhBKQoKCgpTby4uLiBob3cgd291bGQgeW91IGFzayBpZiB0 aGUgcGVyc29ucyB3YW50cyBtaWxrIG9yIHN1Z2FyIGluIGhlciBjb2ZmZWU/CgpfXycnbGFkcnUn J19fIHgxIGlzL2NvbnRhaW5zIG1pbGsgZnJvbSBzb3VyY2UgeDIKCl9fJydzYWt0YScnX18geDEg aXMvY29udGFpbnMgc3VnYXIgZnJvbSBzb3VyY2UgeDIgb2YgY29tcG9zaXRpb24geDMKCgoKUG9z c2libGUgYW5zd2VyOiB+fmdyZXksZ3JleTonJ3Nha3RhIGpl4oCZaSBsYWRydSBsZSBkbyBja2Fm aScnIHRob3VnaCBJIGd1ZXNzIHNvbWV0aGluZyBtb3JlIEVuZ2xpc2ggYW5kIGxlc3MgZWxlZ2Fu dCBjb3VsZCBhbHNvIHN1ZmZpY2UgbGlrZSAnJ2RvIGRqaWNhIGxlbnUgbG8gc2FrdGEgamkgbG8g bGFkcnUgY3UgbmVucmkgbGUgZG8gY2thZmknJ35+CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gdHdlbnR5LXNpeCAobm9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMpCgpUaGUgd29yZCAibG9naWNh bCIgaW4gImxvZ2ljYWwgY29ubmVjdGl2ZSIgcmVmZXJzIHRvIHRoZSBhc3NvY2lhdGlvbiBhIGxv Z2ljYWwgY29ubmVjdGl2ZSBoYXMgd2l0aCBhIHRydXRoIGZ1bmN0aW9uLiBOb3QgYWxsIHVzZWZ1 bCBjb25uZWN0aXZlcyBjYW4gYmUgZGVmaW5lZCB0aHJvdWdoIGEgdHJ1dGggZnVuY3Rpb24sIGhv d2V2ZXIsIGFuZCBzbyB0aGVyZSBhcmUgb3RoZXIgY29ubmVjdGl2ZXMgYmVzaWRlIHRoZSBsb2dp Y2FsIG9uZXMuCgpUaGUgbWVhbmluZyBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBkZWZpbmVk IHRoZSBzYW1lIGFzIHR3byBkaWZmZXJlbnQgYnJpZGkgY29ubmVjdGVkIHdpdGggdGhhdCBsb2dp Y2FsIGNvbm5lY3RpdmUuIEZvciBpbnN0YW5jZSwgJydtaSBuaXRjdSBkbyAuYSBsYSAuZGphbi4n JyBpcyBkZWZpbmVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gJydtaSBuaXRjdSBkbyAuaSBqYSBtaSBu aXRjdSBsYSAuZGphbi4nJy4gVGhpcyBkZWZpbml0aW9uIGlzIHVzZWZ1bCB0byBiZWFyIGluIG1p bmQsIGJlY2F1c2UgaXQgaW1wbGllcyB0aGF0IHNvbWV0aW1lcywgc3VtdGkgY2Fubm90IGJlIGNv bm5lY3RlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMgd2l0aG91dCBjaGFuaW5nIHRoZSBtZWFu aW5nLiBDb25zaWRlciB0aGUgc2VudGVuY2U6ICJKYWNrIGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5 LiIgT25lIGF0dGVtcHQgYXQgYSB0cmFuc2xhdGlvbiB3b3VsZCBiZTogJyd0aSBkcmFjaSBmaSBs YSAuZGphay4gZSBsYSAuZGpvdXMuJycKCl9fJydkcmFjaScnX18geDEgaXMgYSBkcmFtYS9wbGF5 IGFib3V0IHgyIGJ5IHdyaXRlci9kcmFtYXRpc3QgeDMgZm9yIGF1ZGllbmNlIHg0IHdpdGggYWN0 b3JzIHg1CgoKClRoZSBwcm9ibGVtIHdpdGggdGhpcyB0cmFuc2xhdGlvbiBpcyB0aGF0IGl0IG1l YW5zICcndGkgZHJhY2kgbGEgLmRqYWsuIGlqZSB0aSBkcmFjaSBsYSAuZGpvdXMuJycsIHdoaWNo IGlzIG5vdCByZWFsbHkgdHJ1ZS4gTmVpdGhlciBKYWNrIG5vciBKb2Ugd3JvdGUgaXQsIHRoZXkg ZGlkIHNvIHRvZ2V0aGVyLiBXaGF0IHdlIHdhbnQgaGVyZSBpcyBvZiBjb3Vyc2UgYSBtYXNzLCBh bmQgc29tZSB3YXkgdG8gam9pbiBKYWNrIGFuZCBKb2UgaW4gb25lIG1hc3MuIFRoaXMgaGFzIGxp dHRsZSB0byBkbyB3aXRoIGEgdHJ1dGggZnVuY3Rpb24gc28gd2UgbXVzdCB1c2UgYSBub24tbG9n aWNhbCBjb25uZWN0aXZlLCB3aGljaCBhcmUgb2Ygc2VsbWEnbyBKT0kuIFdlJ2xsIHJldHVybiB0 byB0aGlzIEphY2sgYW5kIEpvZS1wcm9ibGVtIGluIGEgbGl0dGxlIC0gZmlyc3Q6IEZvdXIgb2Yg dGhlIGtub3duIEpPSToKCgoKfHxUaGUgTG9qYmFuIGNvbm5lY3RpdmU6fCcnY2UnJ3wnJ2NlJ28n J3wnJ2pvaScnfCcnam8ndScnCgpKb2lucyBzdW10aSBhbmQgZm9ybXMgYTp8c2V0fHNlcXVlbmNl fG1hc3N8Z3JvdXAgb2YgaW5kaXZpZHVhbHN8fAoKVGhlIGZ1bmN0aW9ucyBvZiB0aGVzZSB3b3Jk cyBhcmUgc2ltcGxlOiAnJ2xvJ2kgcmVtbmEgam8ndSBsbydpIGdlcmt1JycgY29uc2lkZXJzIGJv dGggdGhlIHNldCBvZiBodW1hbnMgYW5kIHRoZSBzZXQgb2YgZG9ncyBkaXN0cmlidXRpdmVseSAo YXMgaW5kaXZpZHVhbHMpLiBSZW1lbWJlciBmcm9tIGxlc3NvbiB0d2VudHktdHdvIChxdWFudGlm aWVycykgdGhhdCAiZGlzdHJpYnV0aXZpdHkiIG1lYW5zIHRoYXQgd2hhdCBpcyB0cnVlIGZvciB0 aGUgZ3JvdXAgaXMgYWxzbyB0cnVlIGZvciBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBhbG9uZS4g U2ltaWxhcmx5ICcnbG9pIHJvIGdpc211IGNlJ28gbG9pIHJvIGx1anZvIGNlJ28gbG9pIHJvIGZ1 J2l2bGEnJyBpcyBhIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2YgdGhlIG1hc3Mgb2YgYWxsIGdpc211 LCBmb2xsb3dlZCBieSB0aGUgbWFzcyBvZiBhbGwgbHVqdm8sIGZvbGxvd2VkIGJ5IHRoZSBtYXNz IG9mIGFsbCBmdSdpdmxhLgoKQXMgd2l0aCBhbGwgb2YgdGhlIEpPSSB3aGljaCBoYXMgYW4gaW5o ZXJlbnQgb3JkZXIsICcnc2UnJyBtYXkgYmUgcHV0IGJlZm9yZSAnJ2NlJ28nJyB0byBpbnZlcnNl IHRoZSBvcmRlcjogIkEgJydjZSdvJycgQiIgaXMgdGhlIHNhbWUgYXMgIkIgc2UgJydjZSdvJycg QSIuCgoKCkhvdyBjYW4geW91IGNvcnJlY3RseSB0cmFuc2xhdGUgIkphY2sgYW5kIEpvZSB3cm90 ZSB0aGlzIHBsYXkiPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSBkcmFjaSBmaSBsYSAuZGph ay4gam9pIGxhIC5kam91cy4nJ35+IAoKCgpUaGUgY21hdm8gb2YgSk9JIGFyZSB2ZXJ5IGZsZXhp YmxlOiBUaGV5IGNhbiBhY3QgYm90aCBhcyBzdW10aSBjb25uZWN0aXZlcyBhbmQgdGFucnUtaW50 ZXJuYWwgY29ubmVjdGl2ZXMsIHNvIHRoZXkgY2FuIGJlIHVzZWQgdG8gY29ubmVjdCBzdW10aSwg c2VsYnJpIGFuZCBicmlkaS4gVGhpcyBmbGV4aWJpbGl0eSBtZWFucyB0aGF0IG9uZSBtdXN0IGJl IGNhcmVmdWwgdG8gdXNlIGZhJ29ybWEnbyBjb3JyZWN0bHkgd2hlbiB1c2luZyBhIEpPSS4gCgpX aGF0IGlzIHdyb25nIHdpdGggdGhlIGJyaWRpICcnbG8gZG90Y28gam8ndSBtaSBjdSBrbGFtYSBs YSBkb3RjbyBndWdkZScnPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJydqbyd1JycgaXMgcHV0IGFm dGVyIGEgc2VsYnJpLCBzbyBpdCBleHBlY3RzIGEgc2VsYnJpIGFmdGVyIGl0IHRvIGNvbm5lY3Qg dG8sIGJ1dCBub25lIGlzIGZvdW5kLiBIYWQgIGEgJydrdScnIGJlZW4gcHJlc2VudCBiZWZvcmUg dGhlIGNvbm5lY3RpdmUsIGl0IHdvdWxkIGhhdmUgYmVlbiBncmFtbWF0aWNhbH5+CgoKCklmIHNl dmVyYWwgSk9JIGFyZSB1c2VkLCAnJ2JvJycgYW5kL29yICcna2UnJyBtYXkgYmUgdXNlZCB0byBv dmVycmlkZSB0aGUgdXN1YWwgbGVmdC1ncm91cGluZzogJydtaSBqb2kgZG8gY2UnbyBsYSAuZGph ay4gam9pIGJvIGxhIC5kam91cy4gY3UgcHUnbyBjaSdlcmtlaSBkYW1iYSBsZWkgeHVucmUnJyAi TWUgYW5kIHlvdSwgYW5kIHRoZW4gSmFjayBhbmQgSm9lIGFyZSBhYm91dCB0aGUgcGxheSBhZ2Fp bnN0IHRoZSByZWRzIi4gQ29udHJhc3Qgd2l0aCAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBq b2kgbGEgLmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnIC0gIkZpcnN0 IG1lIGFuZCB5b3UsIHRoZW4gSmFjayB3aWxsIHRvZ2V0aGVyIHdpdGggSm9lIHBsYXkgYWdhaW5z dCB0aGUgcmVkcyIuIAoKQ29ubmVjdGluZyBicmlkaSB3aXRoIEpPSSBjYW4gbWFrZSBzb21lIGlu dGVyZXN0aW5nIGltcGxpY2F0aW9ucyBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGJy aWRpOiAnJ2xhIC5kamFrLiBtb3JzaSByaSdhIGxvIG51IHJpIGR6dXNvaSAuaSBqb2kgbGUgamVt amEnYSBwbyByaSBjdSBiZWJuYScnIC0gIkphY2sgaXMgZGVhZCBiZWNhdXNlIGhlIHdhcyBhIGlu ZmFudHJ5IHNvbGRpZXIgYW5kIGhpcyBnZW5lcmFsIHdhcyBhbiBpZGlvdCIsIGltcGx5aW5nIHRo YXQgdGhlc2UgdHdvIGJyaWRpIG1hc3NlZCB0b2dldGhlciB3YXMgdGhlIHBoeXNpY2FsIGNhdXNl IG9mIGhpcyBkZWF0aDogSGFkIGhlIG9ubHkgYmVlbiBpbiBhbiBhcm1vcmVkIHZlaGljbGUgb3Ig d2l0aCBhIGNvbXBldGVudCBjb21tYW5kZXIsIGhlIG1pZ2h0IGhhZCBzdXJ2aXZlZC4KCl9fJydk enVzb2knJ19fIHgxIGlzIGFuIGluZmFudHJ5IHNvbGRpZXIgb2YgYXJteSB4MgoKX18nJ2plbWph J2EnJ19fIHgxIGlzIGEgZ2VuZXJhbCBvZiBhcm15IHgyIGluIGZ1bmN0aW9uIHgzCgpfXycnYmVi bmEnJ19fIHgxIGlzIGZvb2xpc2gvaWRpb3RpYyBpbiBwcm9wZXJ0eSB4MgoKCgpOb24tbG9naWNh bCBjb25uZWN0aXZlcyBtYXkgYWxzbyBiZSBuZWdhdGVkIHdpdGggJyduYWknJywgaW5kaWNhdGlu ZyB0aGF0IHNvbWUgb3RoZXIgY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZTogJydsbyBkamFjdSBj ZSdvIG5haSAuZSdvIGxvIGxhZHJ1IGN1IGNhdnlmbGUgZmkgbGUgbWkgdGNhdGknJyAtICJQbGVh c2UgZG9uJ3QgcG91ciBmaXJzdCB3YXRlciB0aGVuIG1pbGsgaW4gbXkgdGVhIi4gVGhpcywgb2Yg Y291cnNlLCBzYXlzIG5vdGhpbmcgYWJvdXQgd2hpY2ggY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0 ZSAtIG9uZSBtaWdodCBndWVzcyAnJ3NlIGNlJ28nJyAoZmlyc3QgbWlsaywgdGhlbiB3YXRlciks IG9ubHkgdG8gZmluZCBvdXQgdGhhdCAnJy5lIG5haScnIChvbmx5IHdhdGVyLCBubyBtaWxrIGF0 IGFsbCkgd2FzIHRoZSBjb3JyZWN0IG9uZS4KCl9fJydjYXZ5ZmxlJydfXyB4MSwgY29uc2lzdGlu ZyBvZiB4MiwgZmxvd3MgaW50byB4MyBmcm9tIHg0CgpKdXN0IGxpa2UgYSBsb2dpY2FsIGNvbm5l Y3RpdmUgaXMgYSBwbGF1c2libGUgbmVnYXRpb24gb2YgYSBub24tbG9naWNhbCBjb25uZWN0aXZl LCBhbnN3ZXJzIHRvIHF1ZXN0aW9ucyBvZiB0aGUgdHlwZSAnJ2ppJycgb3IgJydqZSdpJycgY2Fu IGJlIGJvdGggbG9naWNhbCBhbmQgbm9uLWxvZ2ljYWw6IEE6ICcnbGFkcnUgamUnaSBzYWt0YSBs ZSBkbyBja2FmaScnIEI6ICcnc2UgY2UnbycnICgiTWlsayBvciBzdWdhciBpbiB5b3UgY29mZmVl PyIgIkZpcnN0IHRoZSBsYXR0ZXIsIHRoZW4gdGhlIGZvcm1lciIpLiBJbiB0aGlzIGNhc2UgJydj ZScnIHdvdWxkIG1ha2Ugbm8gc2Vuc2UgYXQgYWxsLCBzaW5jZSBzZXRzIGNhbid0IGJlIGNvbnRh aW5lZCBpbiBjb2ZmZWUsIGFuZCAnJ2pvaScnIChib3RoIG1peGVkIHRvZ2V0aGVyKSB3b3VsZCBt ZWFuIHRoZSBzYW1lIGFzICcnam8ndScnIChib3RoIG9mIHRoZW0pLCB1bmxlc3MgdGhlIHJlc3Bv bmRhbnQgcHJlZmVycmVkIHVubWl4ZWQgc3VnYXIgaW4gaGlzIGNvZmZlZS4KCgoKVGhlIGZpZnRo IEpPSSBJIHByZXNlbnQgaGVyZSBpcyBhIGJpdCBvZiBhbiBvZGRiYWxsOgoKX18nJ2ZhJ3UnJ19f IE5vbi1sb2dpY2FsIGNvbm5lY3RpdmU6IFVubWl4ZWQgb3JkZXJlZCBkaXN0cmlidXRpb24gKEEg YW5kIEIsIHJlc3BlY3RpdmVseSkKCldoZW4gb25seSBvbmUgJydmYSd1JycgaXMgcGxhY2VkIHdp dGhpbiBhIGJyaWRpIChvciBzZXZlcmFsIGJyaWRpIGNvbm5lY3RlZCB0b2dldGhlciB3aXRoIGNv bm5lY3RvcnMpLCAnJ2ZhJ3UnJyBtYXkgYmUgYXNzdW1lZCB0byBiZSBpZGVudGljYWwgdG8gJydq byd1JycuIFdoZW4gc2V2ZXJhbCAnJ2ZhJ3UnJyBpcyB1c2VkIHdpdGhpbiBvbmUgYnJpZGksIGhv d2V2ZXIsIHRoZSBjb25zdHJ1Y3RzIGJlZm9yZSAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2gg b3RoZXIsIGFuZCB0aGUgY29uc3RydWN0cyBhZnRlciAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVh Y2ggb3RoZXIuIExldCdzIGhhdmUgYW4gZXhhbXBsZToKCicnbWkgZmEndSBkbyBydXNrbyBmYSd1 IGthZG5vJycgLSAiWW91IGFuZCBJIGFyZSBSdXNzaWFuIGFuZCBDYW5hZGlhbiIsIGltcGx5aW5n IHRoYXQgJydtaScnIGdvZXMgd2l0aCAnJ3J1c2tvJycgYW5kICcnZG8nJyBnb2VzIHdpdGggJydr YWRubycnLCBhbmQgaW1wbHlpbmcgbm90aGluZyBhYm91dCBhbnkgb3RoZXIgY29tYmluYXRpb24u IE9mIGNvdXJzZSwgaW4gdGhpcyBleGFtcGxlLCBpdCB3b3VsZCBiZSBtdWNoIGVhc2llciB0byBz YXkgJydtaSBydXNrbyAuaSBkbyBrYWRubycnLgoKCgpUaGVzZSBsYXN0IHRocmVlIEpPSSBjb25u ZWN0cyB0d28gc2V0cyB0byBtYWtlIG5ldyBzZXRzOgoKX18nJ2pvJ2UnJ19fCUEgdW5pb24gQgoK X18nJ2t1J2EnJ19fCUEgaW50ZXJzZWN0aW9uIEIKCl9fJydwaSd1ICcnX18JQ3Jvc3MgcHJvZHVj dCBvZiBBIGFuZCBCCgoKClRoZXNlIGFyZSBwcm9iYWJseSBub3QgdmVyeSB1c2VmdWwgZm9yIHRo ZSBhdmVyYWdlIExvamJhbmlzdCwgYnV0IEkgbWlnaHQgYXMgd2VsbCBpbmNsdWRlIHRoZW0gaGVy ZS4KClRoZSBmaXJzdCBvbmUsICcnam8nZScnLCBtYWtlcyBhIG5ldyBzZXQgZnJvbSB0d28gc2V0 cy4gVGhpcyBuZXcgc2V0IGNvbnRhaW5zIG9ubHkgdGhvc2UgbWVtYmVycyB3aGljaCBhcmUgaW4g Ym90aCBzZXRzLgoKQSBzZXQgbWFkZSB3aXRoICcna3UnYScnIGNvbnRhaW5zIGFsbCB0aGUgbWVt YmVycyBvZiBzZXQgQSBhbmQgdGhvc2Ugb2Ygc2V0IEIuIElmIGFueXRoaW5nIGlzIGEgbWVtYmVy IG9mIGJvdGggc2V0cywgdGhleSBhcmUgbm90IGNvdW50ZWQgdHdpY2UuCgonJ3BpJ3UnJyBpcyBh IGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVkLiBBIHNldCAiQSAnJ3BpJ3UnJyBCIiBjb250YWlucyBh bGwgdGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZiAiYSAnJ2NlJ28nJyBiIiwgd2hlcmUgYSBp cyBhIG1lbWJlciBvZiBBIGFuZCBiIGlzIGEgbWVtYmVyIG9mIEIuIEl0IGlzIHRodXMgYSBzZXQg b2Ygc2VxdWVuY2VzIG9mIG1lbWJlcnMuIElmLCBmb3IgaW5zdGFuY2UsIHNldCBBIGNvbnRhaW5l ZCB0aGUgbWVtYmVycyBwIGFuZCBxLCBhbmQgc2V0IEIgY29udGFpbmVkIG1lbWJlcnMgZiBhbmQg ZywgdGhlbiBBICcncGkndScnIEIgd291bGQgYmUgYSBzZXQgY29uc2lzdGluZyBvZiB0aGUgZm91 ciBtZW1iZXJzIHAgJydjZSdvJycgZiwgcCAnJ2NlJ28nJyBnLCBxICcnY2UnbycnIGYgYW5kIHEg JydjZSdvJycgZy4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktc2V2ZW4gKGxv amJhbiBsb2dpYzogZGEsIGJ14oCZYSwgem/igJl1IGFuZCB0ZXJtcykKClRoZSBzdGF0ZWQgdG9w aWMgb2YgdGhpcyBsZXNzb24gbmVlZHMgc29tZSBqdXN0aWZpY2F0aW9uOiBUaGlzIGxlc3NvbiBp cyBub3QgcmVhbGx5IGFib3V0IGhvdyBkbyB0byBsb2dpYyBpbiBMb2piYW4sIHNpbmNlIGZpcnN0 bHksIGxvZ2ljIGlzIHByZXN1bWFibHkgdGhlIHNhbWUgaW4gYWxsIGxhbmd1YWdlcywgYW5kIHNl Y29uZGx5LCBhY3R1YWxseSB0ZWFjaGluZyBsb2dpYyB3b3VsZCBiZSB0b3RhbGx5IGltcHJhY3Rp Y2FsIGluIG9uZSBzaW5nbGUgbGVzc29uLiBSYXRoZXIsIHRoaXMgbGVzc29uIGlzIGV4cGxhaW5z IHNvbWUgY29uc3RydWN0cyB3aGljaCByZXNlbWJsZXMgdGhvc2Ugd2hpY2ggbG9naWNpYW5zIHVz ZS4gSXQgdHVybnMgb3V0IHRoZXkgaGF2ZSBhIHJlbWFya2FibGUgd2lkZSByYW5nZSBvZiB1c2Vz IGluIExvamJhbi4KCgoKR2V0dGluZyBpbnZvbHZlZCBpbiB0aGUgbW9yZSBvYnNjdXJlIGRldGFp bHMgb2YgdGhlc2UgbG9naWNhbCBjb25zdHJ1Y3RzIGNhbiBiZSBtaW5kLXdhcnBpbmdseSBkaWZm aWN1bHQsIGFuZCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBzb21lIGRpc2FncmVlbWVudCBpbiB0aGUg Y29ybmVycyBvZiB0aGlzIHBhcnQgb2YgdGhlIGxhbmd1YWdlLgoKCgpMZWFybmluZyB0aGVzZSBs b2dpY2FsIGNvbnN0cnVjdHMgcmVxdWlyZXMgb25lIHRvIGxlYXJuIGEgYml0IGFib3V0IGNvbnN0 cnVjdHMgd2hpY2ggYXJlIG5vdCBsb2dpY2FsIGluIG5hdHVyZS4gTGV0J3MgYmVnaW4gd2l0aCAn J3pvJ3UnJwoKCgpfXycnem8ndScnX18gU2VwYXJhdGVzIHByZW5leCBmcm9tIGJyaWRpCgoKCkJl Zm9yZSBhbnkgJyd6byd1JycgaXMgdGhlIHByZW5leCwgYWZ0ZXIgJyd6byd1JycgaXMgdGhlIGJy aWRpLiBJbmZvcm1hbGx5LCBhIHByZW5leCBpcyBhIHBsYWNlIGluIGZyb250IG9mIHRoZSBicmlk aSwgd2hlcmUgeW91IHB1dCBhIGJ1bmNoIG9mIHRlcm1zLiBBIHRlcm0gaXMgYW4gRW5nbGlzaCB3 b3JkIGdpdmVuIHRvIHNvbWUga2luZHMgb2YgTG9qYmFuIGNvbnN0cnVjdHM6IFN1bXRpLCBzdW10 Y2l0YSB3aXRoIG9yIHdpdGhvdXQgc3VtdGkgYXR0YWNoZWQsICcnbmEga3UnJyBhbmQgYW4gYWJv bWluYXRpb24gY2FsbGVkIF9fdGVybXNldHNfXywgd2hpY2ggSSByZWZ1c2UgdG8gaW5jbHVkZSBp biB0aGVzZSBsZXNzb25zLiBUaGUgcHJlbmV4IGlzIG5vdCBwYXJ0IG9mIHRoZSBicmlkaSwgYnV0 IGFueSB0ZXJtcyBwdXQgaW5zaWRlIGl0IGdpdmVzIHVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBi cmlkaS4gT25lIGNhbiwgZm9yIGV4YW1wbGUsIHVzZSBpdCB0byBzdGF0ZSBhIHRvcGljIGFzIHNo b3duIHRodXM6CgoKCicnbG8gcGFtcGUnbyBqZSBuYWkgc3Blbmkgem8ndSBtaSBuYSB6YW5ydScn IC0gIkNvbmNlcm5pbmcgbG92ZXJzIHdobyBhcmUgbm90IHNwb3VzZXM6IEkgZG8gbm90IGFwcHJv dmUiLiBUaGUgYmVuZWZpdHMgb2Yga2luZCBvZiBzZW50ZW5jZSBzdHJ1Y3R1cmluZyBpcyBxdWVz dGlvbmFibGUsIGJ1dCBpdCdzIGFsd2F5cyBnb29kIHRvIGhhdmUgc29tZSB2YXJpYXRpb24gdG8g cGxheSB3aXRoLiBGdXJ0aGVybW9yZSwgY29uc3RydWN0aW5nIHNlbnRlbmNlcyB0aGlzIHdheSBy ZXNlbWJsZXMgTWFuZGFyaW4gKGFuZCBvdGhlciBsYW5ndWFnZXMpIGNsb3NlbHksIG1lYW5pbmcg aXQgbWlnaHQgc2VlbSBtb3JlIGludHVpdGl2ZSBmb3Igc3BlYWtlcnMgb2YgdGhhdCBsYW5ndWFn ZS4KCl9fJydwYW1wZSdvJydfXyB4MSBpcyBhIGxvdmVyIG9mIHgyCgpfXycnemFucnUnJ19fIHgx IGFwcHJvdmVzIG9mIHgyIChwbGFuLCBldmVudCBvciBhY3Rpb24pCgoKCk9mIGNvdXJzZSwgdGhl IHJlbGF0aW9uIGJldHdlZW4gdGhlIHRlcm1zIGluIHRoZSBwcmVuZXggYW5kIHRoZSBicmlkaSBp cyB2YWd1ZS4gT25lIGNhbiBpbWFnaW5lIGFueSBzdW10aSBpbiB0aGUgcHJlbmV4IGJlYXJpbmcg dGhlIHNhbWUgcmVsZXZhbmNlIHRvIHRoZSBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcHV0IGluIHRo ZSBicmlkaSBhZnRlciBhICcnZG8nZScnIHN1bXRjaXRhLCBhbmQgYW55IHN1bXRjaXRhIGluIHRo ZSBwcmVuZXggZG9pbmcgcHJldHR5IG11Y2ggdGhlIHNhbWUgYXMgaWYgdGhleSB3ZXJlIGluIHRo ZSBicmlkaS4gSXQgaXMgcXVpdGUgcG9zc2libGUgdG8gcHV0IHRlcm1zIGluIHByZW5leGVzIHdp dGhvdXQgYW55IGNsZWFyIGhpbnRzIGFzIHRvIGhvdyB0aGUgdGVybSBtYXkgcmVsYXRlIHRvIHRo ZSBicmlkaToKCicnbGUgdmkgZ2Vya3Ugem8ndSBtaSB0bydlIG5lbGNpIGxvIGNpZGpycGl0c2En JyAtICJDb25jZXJuaW5nIHRoaXMgZG9nIGhlcmU6IEkgZGlzbGlrZSBwaXp6YS4iIEl0IGxlYXZl cyB5b3UgZ3Vlc3NpbmcgYWJvdXQgdGhlIHJlYXNvbiBmb3IgbWVudGlvbmluZyB0aGUgZG9nLgoK X18nJ2NpZGpycGl0c2EnJ19fIHgxIGlzIHBpenphIHdpdGggdG9wcGluZy9pbmdyZWRpZW50cyB4 MgoKCgpJZiB0aGUgcHJlbmV4IGNvbnRhaW5zICcnbmEga3UnJywgaXQncyBwcmV0dHkgc3RyYWln aHQgZm9yd2FyZDogVGhlIGVudGlyZSBicmlkaSBpcyBuZWdhdGVkLCBqdXN0IGFzIGlmIHRoZSBi cmlkaSBpdHNlbGYgYmVnYW4gd2l0aCAnJ25hIGt1JycuCgoKClNvIGhvdyBsb25nIGRvZXMgYSBw cmVuZXggbGFzdD8gSXQgbGFzdHMgdW50aWwgdGhlIGZvbGxvd2luZyBicmlkaSBpcyB0ZXJtaW5h dGVkLiBJZiB0aGF0IGlzIG5vdCBkZXNpcmVkLCB0aGVyZSBhcmUgdHdvIHdheXMgdG8gbWFrZSBp dCBhcHBseSB0byBzZXZlcmFsIGJyaWRpOiBPbmUgaXMgdG8gcHV0IHNvbWUga2luZCBvZiBjb25u ZWN0aXZlIGFmdGVyIHRoZSAnJy5pJycgc2VwYXJhdGluZyB0aGUgYnJpZGksIGFuZCBhbm90aGVy IG1ldGhvZCBpcyB0byBzaW1wbHkgaW5jbHVkZSBhbGwgb2YgdGhlIHRleHQgaW4gJyd0dSdlJycg Li4uICcndHUndScnLWJyYWNrZXRzLiBUaGVzZSBicmFja2V0cyB3b3JrIHByZXR0eSBtdWNoIGJ5 IGdsdWluZyBhbGwgdGhlIGJyaWRpIHRvZ2V0aGVyIGFuZCBtYWtlcyBhbGwgc29ydHMgb2YgY29u c3RydWN0IGFwcGx5IHRvIHNldmVyYWwgYnJpZGkuCgoKCk5vdyB0aGF0IHdlIGNvdmVyZWQgJyd6 byd1JycsIHRoZSBmaXJzdCAibG9naWNhbCIgd29yZHMgd2UgY2FuIHVzZSBpdCB3aXRoIGFyZSB0 aGVzZToKCl9fJydkYScnX18gbG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLXN1 bXRpIDEKCl9fJydkZScnX18gbG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLXN1 bXRpIDIKCl9fJydkaScnX18gbG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLXN1 bXRpIDMKCgoKVGhlc2Ugd29yZHMgYXJlIGFsbCB0aGUgc2FtZSwgbGlrZSB0aGUgbWF0aGVtYXRp Y2FsIHZhcmlhYmxlcyB4LCB5IGFuZCB6LiBPbmNlIHlvdSBoYXZlIGRlZmluZWQgdGhlbSwgaG93 ZXZlciwgdGhleSBrZWVwIHJlZmVyaW5nIHRvIHRoZSBzYW1lIHRoaW5nLiBUaGVzZSB3b3JkcyBh cmUgZGVmaW5lZCBpbiB0aGUgcHJlbmV4IG9mIGJyaWRpLCBtZWFuaW5nIHRoYXQgd2hlbiB0aGUg cHJlbmV4IHN0b3AgYXBwbHlpbmcsIHRoZSBkZWZpbml0aW9uIG9mIHRoZXNlIHRocmVlIHdvcmRz IGFyZSBjYW5jZWxsZWQuCgoKClRoZSB3b3JkcyAnJ2RhJycsICcnZGUnJyBhbmQgJydkaScnIGNh biByZWZlciB0byBsaXRlcmFsbHkgYW55IHN1bXRpLCB3aGljaCBtYWtlcyB0aGVtIGtpbmQgb2Yg dXNlbGVzcyB1bmxlc3MgcmVzdHJpY3RlZCBpbiBzb21lIHdheS4gVGhlIGZpcnN0IGFuZCBmb3Jl bW9zdCB3YXkgdG8gcmVzdHJpY3QgdGhlbSBpcyB0byBxdWFudGlmeSB0aGVtOiBUaGV5IGFyZSBu b3QgY2FsbGVkICJsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tc3VtdGkiIGZv ciBub3RoaW5nLiBUaGV5IGFyZSBwcm8tc3VtdGksIHRoZXkgYXJlIG1vc3QgdXNlZnVsIHdoZW4g cXVhbnRpZmllZCwgYW5kIHRoZXkgYXJlIGV4aXN0ZW50aWFsLiBXaGF0IGRvZXMgaXQgbWVhbiwg YmVpbmcgImV4aXN0ZW50aWFsIj8gSXQgbWVhbnMgdGhhdCBpZiB0aGV5IGFyZSB1c2VkLCB0aGF0 IGltcGxpZXMgdGhhdCB0aGV5IGFjdHVhbGx5IHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBleGlz dHMuIEFuIGV4YW1wbGU6CgoKClRoZSBzdGF0ZW1lbnQgJydwYSBkYSB6byd1IGRhIGdlcmt1Jycg aGFzICcncGEgZGEnJyBpbiB0aGUgcHJlbmV4LCB3aGljaCBtZWFucyAiQ29uY2VybmluZyBvbmUg ZXhpc3RpbmcgdGhpbmc6IiwgYW5kIHRoZW4gJydkYScnLCBub3cgZGVmaW5lZCwgaXMgdXNlZCBp biB0aGUgYnJpZGkgJydkYSBnZXJrdScnLiBUcmFuc2xhdGVkIHRvIEVuZ2xpc2gsIHRoaXMgbWVh bnM6ICJUaGVyZSBleGlzdHMgb25lIHRoaW5nIHdoaWNoIGlzIGEgZG9nIi4gVGhpcyBpcyBvYnZp b3VzbHkgZmFsc2UsIHRoZXJlIGFyZSBhcm91bmQgNDAwLDAwMCwwMDAgb2YgdGhlbSBpbiB0aGUg d29ybGQuIElmICcnZGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIG5vdCBxdWFudGlmaWVkLCB0aGUg bnVtYmVyICcnc3UnbycnIGlzIHRoZSBkZWZhdWx0LiBUaHVzICcnZGEgem8ndSBkYSBnZXJrdScn IG1lYW5zICJUaGVyZSBleGlzdCBhdCBsZWFzdCBvbmUgdGhpbmcgd2hpY2ggaXMgYSBkb2ciLCB3 aGljaCBpcyB0cnVlLiBOb3RpY2UgaGVyZSwgdGhhdCBhbnkgcXVhbnRpZmljYXRpb24gbXVzdCBi ZSBtb3JlIG9yIGxlc3MgZXhhY3QgaW4gb3JkZXIgdG8gYmUgdHJ1ZTogT2YgY291cnNlIG9uZSBk b2cgZXhpc3RzLCBidXQgaW4gTG9qYmFuLCAnJ3BhIGRhIHpvJ3UgZGEgZ2Vya3UnJyBtZWFucyBu b3Qgb25seSB0aGF0IGRvZXMgb25lIGRvZyBleGlzdHMsIGJ1dCBhbHNvIHRoYXQgbm8gbW9yZSB0 aGFuIG9uZSBkb2VzLiAKCgoKVGhlcmUgYXJlIGEgZmV3IHNwZWNpZmljIHJ1bGVzIHRvIHRoZXNl IGV4aXN0ZW50aWFsIHByby1zdW10aToKCi0gSWYgdGhlIHF1YW50aWZpZXIgJydybycnIGlzIHVz ZWQgYmVmb3JlICcnZGEnJywgaXQgaW5zdGVhZCByZWZlcnMgdG8gImFsbCB3aGljaCBleGlzdHMi LiAgCgotIElmIHRoZSBzYW1lIHZhcmlhYmxlIGlzIHF1YW50aWZpZWQgc2V2ZXJhbCB0aW1lcywg dGhlIGZpcnN0IHF1YW50aWZpY2F0aW9uIGlzIHRoZSBvbmUgd2hpY2ggc3RpY2tzOiBBbnkgbGF0 ZXIgcXVhbnRpZmllZCBpbnN0YW5jZSBvZiB0aGF0IHZhcmlhYmxlIGNhbiByZWZlciBvbmx5IHRv IHRoaW5ncyB3aGljaCBhcmUgYWxzbyBiZWluZyByZWZlcnJlZCB0byBieSB0aGUgZmlyc3QgaW5z dGFuY2Ugb2YgdGhhdCB2YXJpYWJsZSwgYW5kIGFueSBsYXRlciBub24tcXVhbnRpZmllZCBpbnN0 YW5jZSBvZiB0aGF0IHZhcmlhYmxlIHdpbGwgZ2FpbiB0aGUgZmlyc3QgcXVhbnRpZmllci4gVG8g dXNlIGFuIGV4YW1wbGU6ICcnY2kgZGEgem8ndSByZSBkYSBiYXJkYSAuaWplIGRhIHBlbHh1Jycg bWVhbnMgIlRoZXJlIGV4aXN0cyB0aHJlZSB0aGluZ3Mgc3VjaCB0aGF0IHR3byBvZiB0aGVtIGFy ZSBiaWcgYW5kIGFsbCB0aHJlZSBhcmUgeWVsbG93Ii4gJydyZSBkYScnLCBiZWluZyBhZnRlciAn J2NpIGRhJycsIGNhbiBvbmx5IHJlZmVyIHRvIHR3byBvZiB0aGUgYWxyZWFkeSBzdGF0ZWQgdGhy ZWUgdGhpbmdzLiBXaGVuICcnZGEnJyBhcHBlYXJzIHdpdGhvdXQgYSBxdWFudGlmaWVyLCAnJ2Np JycgaXMgYXNzdW1lZC4KCi0gSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVybXMgaW4gdGhlIHByZW5l eCwgdGhlIHRlcm1zIGFyZSBhbHdheXMgcmVhZCBsZWZ0IHRvIHJpZ2h0LiBTb21ldGltZXMsIHRo aXMgbWF0dGVyczogJydybyBkYSBkZSB6byd1IGRhIHByYW1pIGRlJycgbWVhbnMgIkNvbmNlcm5p bmcgYWxsIHRoZSB0aGluZ3MgWCB0aGF0IGV4aXN0cywgY29uY2VybmluZyBhdCBsZWFzdCBvbmUg dGhpbmcgWTogWCBsb3ZlcyBZIi4gVGhpcyBpcyB0aGUgc2FtZSBhcyAiQWxsIHRoaW5ncyBsb3Zl IGF0IGxlYXN0IG9uZSB0aGluZy4iLCB3aGVyZSB0aGUgInRoaW5nKHMpIiBjYW4gYmUgYW55dGhp bmcsIGluY2x1ZGluZyB0aGUgdGhpbmcgaXRzZWxmLiBOb3RlIGhlcmUgdGhhdCAnJ2RlJycgY2Fu IHJlZmVyIHRvIGRpZmZlcmVudCB0aGluZ3MgZm9yIGVhY2ggJydkYScnIC0gdGhlIHRoaW5nIHdo aWNoIGlzIHJlZmVycmVkIHRvIGJ5ICcnZGUnJyBpcyBkZXBlbmRlbnQgb24gdGhlICcnZGEnJywg c2luY2UgaXQgY2FtZSBiZWZvcmUgaXQgaW4gdGhlIHByZW5leCwgdGhlcmVmb3JlIGVhY2ggdGhp bmcgbWlnaHQgbG92ZSBzb21ldGhpbmcgZGlmZmVyZW50LiBJZiB3ZSBzd2l0Y2hlZCB0aGUgcGxh Y2VzIG9mICcnZGEnJyBhbmQgJydkZScnIGluIHRoZSBwcmVuZXgsIGEgZGlmZmVyZW50IHJlc3Vs dCB3b3VsZCBhcmlzZTogJydkZSBybyBkYSB6byd1IGRhIHByYW1pIGRlJycgPSAiQ29uY2Vybmlu ZyBhdCBsZWFzdCBvbmUgdGhpbmcgWSwgY29uY2VybmluZyBhbGwgWCB3aGljaCBleGlzdHM6IFgg bG92ZXMgWSIsIG1lYW5pbmcgIlRoZXJlIGV4aXN0cyBhdCBsZWFzdCBvbmUgdGhpbmcgd2hpY2gg ZXZlcnl0aGluZyBsb3ZlcyIuCgoKCk9mIGNvdXJzZSwgYm90aCBjbGFpbXMgYXJlIGNvbXBsZXRl bHkgZmFsc2UuIFRoZXJlIGFyZSBtYW55IHRoaW5ncyB3aGljaCBsb3ZlcyBub3RoaW5nIC0gcm9j a3MsIG9yIGFic3RyYWN0IGNvbmNlcHRzLCBmb3IgZXhhbXBsZS4gTGlrZXdpc2UsIGl0J3MgaW1w b3NzaWJsZSB0byBjb25jaWV2ZSBvZiBzb21ldGhpbmcgd2hpY2ggZXZlcnl0aGluZyBsb3Zlcywg c2luY2UgImV2ZXJ5dGhpbmciIGFsc28gZW5jb21wYXNzZXMgbm9uLXNlbnRpZW50IHRoaW5ncy4g V2UgbmVlZCBiZXR0ZXIgd2F5cyB0byByZXN0cmljdCB3aGF0IHRoZXNlIHZhcmlhYmxlcyBjYW4g cG9pbnQgdG8uIE9uZSBnb29kIHdheSBvZiBkb2luZyBpdCBpcyB0byBtYWtlIHRoZW0gdGhlIHN1 YmplY3Qgb2YgYSByZWxhdGl2ZSBjbGF1c2U6CgonJ3JvIGRpIHBvaSByZW1uYSB6byd1IGJpcmth IGRpJycgPSAiQ29uY2VybmluZyBhbGwgWCB0aGF0IGV4aXN0cywgd2hpY2ggaXMgaHVtYW46IFgg aGFzIG9uZSBvciBtb3JlIGFybXMuIiBvciAiQWxsIGh1bWFucyBoYXZlIGFybXMiLCB3aGljaCBp cyB0cnVlLCBhdCBsZWFzdCB3aGVuIHNwZWFraW5nIGluIGEgcG90ZW50aWFsLCB0aW1lbGVzcyBz ZW5zZS4KCl9fJydiaXJrYScnX18geDEgaXMgYW4gYXJtIG9mIHgyCgpXaGVuIHJlc3RyaWN0aW5n IGNsYWltcyB1c2luZyB0aGlzIGtpbmQgb2YgbG9naWNhbCAiZXhpc3RlbnRpYWwiIHZhcmlhYmxl LCBpdCdzIHZlcnkgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgdW5sZXNzIHRoZXJlIGlzIGFu IGV4cGxpY2l0ICcnbm8nJyBhcyBhIHF1YW50aWZpZXIsIHRoZXNlIGtpbmQgb2Ygc3RhdGVtZW50 cyBhbHdheXMgaW1wbHkgdGhhdCB0aGVyZSBfX2FjdHVhbGx5IGV4aXN0c19fIHNvbWV0aGluZyB3 aGljaCBjYW4gYmUgcmVmZXJyZWQgdG8gYnkgJydkYScnLiBUaGVyZWZvcmUsIGFueSBraW5kIG9m IG5vbi1uZWdhdGVkIHN0YXRlbWVudCB3aGVyZSAnJ2RhJycgcG9pbnRzIHRvIHNvbWV0aGluZyB3 aGljaCBkb2VzIG5vdCBleGlzdCBpcyBmYWxzZSwgYXMgaW4gdGhpcyBleGFtcGxlOiAnJ3JvIGRh IHBvaSBwYXZ5c2VsamlybmEgem8ndSBkYSBzZSBqaXJuYScnIC0gIkFsbCB1bmljb3JucyBoYXZl IGhvcm5zIi4gVGhpcyBpcyB3cm9uZyBiZWNhdXNlLCBzaW5jZSAnJ2RhJycgaXMgZXhpc3RlbnNp YWwsIGl0IGFsc28gbWVhbnMgdGhhdCB0aGVyZSBtdXN0IGV4aXN0IGF0IGxlYXN0IG9uZSB1bmlj b3JuLgoKSW50ZXJlc3RpbmdseSwgd2hlbiB1c2luZyBhIHJlbGF0aXZlIGNsYXVzZSwgdGhlIHZh cmlhYmxlIGlzIGJlaW5nIHJlc3RyaWN0ZWQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHlvdSB1c2Ug Jydwb2knJyBvciAnJ25vaScnLiBUaGlzIGlzIGJlY2F1c2UgJydyZSBkYSBub2kgZ2Vya3UnJyBz dGlsbCBvbmx5IGNhbiByZWZlciB0byB0d28gdGhpbmdzIHdoaWNoIGFyZSBodW1hbnMuIFRoZXJl Zm9yZSwgJydub2knJyBtYWtlcyBsaXR0bGUgc2Vuc2Ugd2l0aCAnJ2RhJycvJydkZScnLycnZGkn Jy4gQW55IGNsYXVzZSBpcyBhbHdheXMgcmVzdHJpY3RpdmUsIHVubGVzcyBpdCdzIHJlYWxseSBz dHVwaWQgYW5kIG9idmlvdXMgbGlrZSAnJ2RlIG5vaSBnZXJrdSBjdSBnZXJrdScnLgoKCgpJbiBm YWN0LCB5b3UgZG9uJ3QgcmVhbGx5IG5lZWQgdGhlIHByZW5leCB0byBkZWZpbmUgdGhlIHZhcmlh Ymxlcy4gWW91IGNhbiB1c2UgdGhlbSBkaXJlY3RseSBhcyBzdW10aSBpbiB0aGUgYnJpZGksIGFu ZCBxdWFudGlmeSB0aGVtIHRoZXJlLiBZb3Ugb25seSBuZWVkIHRvIHF1YW50aWZ5IHRoZW0gdGhl IGZpcnN0IHRpbWUgdGhleSBhcHBlYXIsIHRob3VnaC4gVGh1cywgdGhlIHNlbnRlbmNlIGFib3V0 IGh1bWFucyBoYXZpbmcgYXJtcyBjb3VsZCBiZSB0dXJuZWQgaW50byAnJ2JpcmthIHJvIGRpIHBv aSByZW1uYScnLiBUaGUgb3JkZXIgb2YgdGhlIHZhcmlhYmxlcyBzdGlsbCBtYXR0ZXJzIHRob3Vn aCwgYW5kIHNvIHRoZSBwcmVuZXggY2FuIGJlIHVzZWQgdG8gYXZvaWQgaGF2aW5nIHRvIG1lc3Mg dXAgeW91ciBicmlkaSB0byBwbGFjZSB0aGUgdmFyaWFibGVzIGluIHRoZSBjb3JyZWN0IG9yZGVy LiBXaGVuIGhhdmluZyBtb3JlIHZhcmlhYmxlcywgYSBwcmVuZXggaXMgdXN1YWxseSBhIGdvb2Qg aWRlYS4KCgoKVGhlIHNlY29uZCBraW5kIG9mIGxvZ2ljYWwgd29yZHMgYXJlIGJhc2ljYWxseSB0 aGUgc2FtZSBhcyB0aGUgdGhyZWUgd2UgaGF2ZSBhbHJlYWR5IGJlZW4gdGhvdWdoLCBidXQgdGhl c2UgYXJlIHByby1icmlkaSBpbnN0ZWFkIG9mIHByby1zdW10aToKCgoKX18nJ2J1J2EnJ19fIGxv Z2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1icmlkaSAxCgpfXycnYnUnZScnX18g bG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLWJyaWRpIDIKCl9fJydidSdpJydf XyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tYnJpZGkgMwoKCgpUaGVzZSB3 b3JrIHByZXR0eSBtdWNoIHRoZSBzYW1lIHdheSBhcyB0aGUgb3RoZXIgdGhyZWUsIGJ1dCB0aGVy ZSBhcmUgYSBmZXcgcG9pbnRzIHdoaWNoIGFyZSBpbXBvcnRhbnQgdG8gbWVudGlvbjoKClNpbmNl IG9ubHkgdGVybXMgY2FuIGdvIGluIHRoZSBwcmVuZXgsIHRoZXNlIHByby1icmlkaSBuZWVkIHRv IGhhdmUgYSBxdWFudGlmaWVyIGluIG9yZGVyIHRvIG1ha2UgdGhlbSBpbnRvIHN1bXRpLiBXaGVu IHF1YW50aWZpZWQgaW4gdGhlIHByZW5leCwgaG93ZXZlciwgdGhlIHF1YW50aWZpZXIgd29ya3Mg dmVyeSBkaWZmZXJlbnQgZnJvbSBxdWFudGlmaWVycyB3aXRoIG5vcm1hbCBzZWxicmk6IEluc3Rl YWQgb2YgcXVhbnRpZnlpbmcgdGhlIGFtb3VudCBvZiB0aGluZ3Mgd2hpY2ggZml0cyB0aGUgeDEg b2YgdGhlIHNlbGJyaSB2YXJpYWJsZSwgaXQgZGlyZWN0bHkgcXVhbnRpZmllcyB0aGUgYW1vdW50 IG9mIHNlbGJyaSB3aGljaCBhcHBsaWVzLiBBZ2FpbiwgdGhlIGRlZmF1bHQgcXVhbnRpZmllciBp cyAnJ3NvJ3UnJy4gVGh1cywgaW5zdGVhZCBvZiAnJ3JlIGJ1J2Egem8ndScnIG1lYW5pbmcgIkNv bmNlcm5pbmcgdHdvIHRoaW5ncyB3aGljaCBpcyBpbiByZWxhdGlvbnNoaXAgWDoiLCBpdCBtZWFu cyAiQ29uY2VybmluZyB0d28gcmVsYXRpb25zaGlwcyBYOiIKCgoKSXQncyBwcm9iYWJseSBnb29k IHRvIHNlZSBhbiBleGFtcGxlIHBmICcnYnUnYScnIHB1dCB0byBwcmFjdGljZToKCicncm8gZGEg YnUnYSBsYSAuYmFiLicnID0gIkNvbnNpZGVyaW5nIGFsbCBYIHdoaWNoIGV4aXN0czogWCBpcyBp biBhdCBsZWFzdCBvbmUgcmVsYXRpb25zaGlwIHdpdGggQm9iIiA9ICJFdmVyeXRoaW5nIGlzIHJl bGF0ZWQgdG8gQm9iIGluIGF0IGxlYXN0IG9uZSB3YXkuIi4gTm90aWNlIGFnYWluIHRoZSBvcmRl ciBtYXR0ZXJzOiAnJ2J1J2Egcm8gZGEgem8ndSBkYSBidSdhIEJvYicnIG1lYW5zOiAiVGhlcmUg aXMgYXQgbGVhc3Qgb25lIHJlbGF0aW9uc2hpcCBzdWNoIHRoYXQgZXZlcnl0aGluZyB0aGF0IGV4 aXN0cyBpcyBpbiB0aGF0IHJlbGF0aW9uc2hpcCB3aXRoIEJvYiIuIFRoZSBmaXJzdCBzdGF0ZW1l bnQgaXMgdHJ1ZSAtIGZvciBhbnkgb25lIHRoaW5nLCBvbmUgY2FuIGluZGVlZCBtYWtlIHVwIHNv bWUgc2VsYnJpIHdoaWNoIHJlbGF0ZXMgYW55IGd1eSBjYWxsZWQgQm9iIGFuZCBpdC4gQnV0IEkn bSBub3Qgc3VyZSB0aGUgbGF0dGVyIGlzIHRydWUgLSB0aGF0IG9uZSBjYW4gbWFrZSBhIHNlbGJy aSB3aGljaCBjYW4gcmVsYXRlIGFueXRoaW5nLCBubyBtYXR0ZXIgd2hhdCBpdCBpcywgYW5kIEJv Yi4KCgoKTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdoaWNoIHF1YW50aWZpZXMgc2VsYnJpOgoKJydj aSdpIGJ1J2Ugem8ndSBtaSBidSdlIGRvJycgLSAiQ29uY2VybmluZyBhbiBpbmZpbml0ZSBhbW91 bnQgb2YgcmVsYXRpb25zaGlwczogSSBhbSBpbiBhbGwgdGhvc2UgcmVsYXRpb25zaGlwIHdpdGgg eW91LiIgb3IgIlRoZXJlIGV4aXN0cyBhbiBpbmZpbml0ZSBhbW91bnQgb2YgcmVsYXRpb25zaGlw cyBiZXR3ZWVuIHVzIgoKWW91IGNhbid0IHF1YW50aWZ5IHRoZSBzZWxicmkgdmFyaWFibGVzIGlu IHRoZSBicmlkaSBpdHNlbGYsIHRob3VnaC4gVGhlbiBpdCB3aWxsIGFjdCBhcyBhIHN1bXRpOiAn J21pIGNpJ2kgYnUnYSBkbycnIGlzIG5vdCBhIGJyaWRpLgoKCgohIUxvamJhbiBMZXNzb25zIC0g TGVzc29uIHR3ZW50eS1laWdodCAobm90ZXMgb24gYWJzdHJhY3RvcnMpCgpUaGUgbm90aW9uIG9m IGFic3RyYWN0aW9ucyBhbmQgYWJzdHJhY3RvcnMgaXMgcXVpdGUgZnVuZGFtZW50YWwgdG8gTG9q YmFuLCBhbmQgeW91IGhhdmUgYWxyZWFkeSBsZWFybmVkIHRoZSBtZWNoYW5pc20gdHdlbnR5LXR3 byBsZXNzb25zIGFnby4gVGhlcmUgYXJlLCBob3dldmVyLCBtYW55IGFic3RyYWN0b3JzIHdpdGgg c2xpZ2h0bHkgZGlmZmVyZW50IHNlbWFudGljIG1lYW5pbmcgdG8gZXhwbG9yZSwgYXMgd2VsbCBh cyBhIHNpbmdsZSBpbXBvcnRhbnQgbWVjaGFuaXNtIHdoaWNoIGhhcyBub3QgYmVlbiBjb3ZlcmVk IHlldC4gSW4gdGhpcyBsZXNzb24sIGFsbCB0d2VsdmUgYWJzdHJhY3RvcnMgd2lsbCBiZSBlbGFi b3JhdGVkIG9uLiBUaGUgZmEnb3JtYSdvIGZvciBhbGwgb2YgdGhlc2UgaXMgJydrZWknJy4KCgoK VGhlIGZpcnN0IGFuZCBtb3N0IGJhc2ljIGFic3RyYWN0b3IgaXMgJydzdeKAmXUnJywgd2hpY2gg eW91IGFscmVhZHkga25vdy4KCllvdSBtaWdodCByZW1lbWJlciBmcm9tIGxlc3NvbiBzaXggdGhh dCAnJ3N1J3UnJyBoYWQgYSBwbGFjZSBzdHJ1Y3R1cmUgd2l0aCB0d28gc3VtdGkgcGxhY2VzLiBU aGUgc2Vjb25kIHN1bXRpIHBsYWNlIG9mICcnc3UndScnIG1ha2VzIHRoZSB3b3JkIHZlcnNhdGls ZSwgYXMgdGhlIHgyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgaG93IHRoZSBhYnN0cmFjdGlvbiBz aG91bGQgYmUgY29uc2lkZXJlZC4KClRoZSBFbmdsaXNoIHBocmFzZSDigJx0aGF0IEkgbG92ZSB5 b3XigJ0gaXMgZGVmaW5pdGVseSBhIHN1bXRpLCBzaW5jZSBpdOKAmXMgbWVhbnQgdG8gZnVuY3Rp b24gYXMgYSBzdWJqZWN0IG9yIG9iamVjdCBpbiBhIHNlbnRlbmNlLiBJdOKAmXMgYWxzbyBjbGVh cmx5IG1hZGUgZnJvbSBhbiBhYnN0cmFjdGlvbi4gSXQgY2FuIHRoZXJlZm9yZSBiZSB0cmFuc2xh dGVkICgnJ2xvJycvJydsZScnKSAnJ3N14oCZdSBtaSBkbyBwcmFtaScnLiBXaXRob3V0IHRoZSBj b250ZXh0IG9mIHRoZSBFbmdsaXNoIHNlbnRlbmNlLCB0aG91Z2gsIGl04oCZcyBoYXJkIHRvIGd1 ZXNzIHdoYXQga2luZCBvZiBhYnN0cmFjdGlvbiB3YXMgbWVhbnQuIOKAnEkgd2lsbCBkaWUgaGFw cHkgYnkgdGhlIHRpbWUgdGhhdCBJIGxvdmUgeW91LuKAnSB0cmVhdHMgdGhlIGFic3RyYWN0aW9u IGxpa2UgYW4gZXZlbnQgaGFwcGVuaW5nIGluIHRpbWUuIOKAnFRoZSB0cnV0aCBpcyB0aGF0IEkg bG92ZSB5b3Uu4oCdIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gbGlrZSBhIGJyaWRpLCB3aGljaCBj YW4gYmUgY29uc2lkZXJlZCB0cnVlIG9yIGZhbHNlLiBJbiB0aGUgc2VudGVuY2Ug4oCcVGhlIG1v c3QgYmVhdXRpZnVsIHRoaW5nIGluIHRoZSB3b3JsZCBpcyB0aGUgaWRlYSB0aGF0IEkgbG92ZSB5 b3XigJ0sIHRoZSBhYnN0cmFjdGlvbiBpcyBjb25zaWRlcmVkIGFuIGFic3RyYWN0IGNvbmNlcHQu IFVzaW5nIHRoZSBzZWNvbmQgc3VtdGkgcGxhY2Ugb2YgJydzdeKAmXUnJywgdGhlc2UgY2FuIGJl IGV4cGxpY2l0bHkgZGlzdGluZ3Vpc2hlZCBiZXR3ZWVuOgoKJydsZSBzdeKAmXUgbWkgZG8gcHJh bWkga2VpIGJlIGxvIGZhc251JycgaXMgYW4gZXZlbnQuCgonJ2xlIHN14oCZdSBtaSBkbyBwcmFt aSBrZWkgYmUgbG8gYnJpZGknJyBpcyBhIGJyaWRpLgoKJydsZSBzdeKAmXUgbWkgZG8gcHJhbWkg a2VpIGJlIGxvIHNpZGJvJycgaXMgYSBjb25jZXB0LgoKCgpVc2luZyAnJ3N14oCZdScnIHRoaXMg d2F5LCB0aGUgc2VtYW50aWMsIHRob3VnaCBub3QgZ3JhbW1hdGljYWwsIHJhbmdlIG9mIGFsbCBh YnN0cmFjdG9ycyBjYW4gYmUgY292ZXJlZC4gTW9yZSB1c3VhbGx5LCB0aG91Z2gsIG90aGVyIGFi c3RyYWN0b3JzIGFyZSB1c2VkLiAnJ251JycsIHdoaWNoIHlvdSBhbHNvIGtub3csIHRyZWF0cyB0 aGUgYWJzdHJhY3Rpb24gYXMgYW4gZXZlbnQuCgpfXycnbnUnJ19fIHgxIGlzIGFuIGV2ZW50IG9m IEJSSURJCgoKClRoZXJlIGFyZSBtYW55IHdheXMgdG8gdmlldyBhbiBldmVudCwgYW5kIHNvIHRo ZXJlIGFyZSBmb3VyIG90aGVyIGFic3RyYWN0b3JzIHdob3NlIHNlbWFudGljIGFyZSBhbGwgY292 ZXJlZCBieSBudSwgYnV0IG1vcmUgc3BlY2lmaWMuCgpfXycnbXXigJllJydfXyB4MSBpcyBhIHBv aW50LWxpa2UgZXZlbnQgb2YgQlJJREkgaGFwcGVuaW5nCgpfXycnemHigJlpJydfXyB4MSBpcyBh IHN0YXRlIG9mIEJSSURJIGJlaW5nIHRydWUKCl9fJydwdeKAmXUnJ19fIHgxIGlzIGEgcHJvY2Vz cyBvZiBCUklESSB1bmZvbGRpbmcgdGhyb3VnaCBzdGFnZXMgeDIKCl9fJyd6deKAmW8nJ19fIHgx IGlzIGFuIGFjdGl2aXR5IG9mIEJSSURJIGNvbnNpc3Rpbmcgb2YgdGhlIHJlcGVhdGVkIGV2ZW50 IG9mIHgyCgoKClRoZSB1bmRlcnN0YW5kaW5nIG9mIHRoZXNlIGFic3RyYWN0b3JzIGlzIHRpZWQg dG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgZXZlbnQgY29udG91cnMuICcnbXXigJllJycgaXMgYWtp biB0byB0aGUgZXZlbnQgY29udG91ciAnJ2Nv4oCZaScnIGluIHRoZSBzZW5zZSB0aGF0IGJvdGgg dHJlYXQgdGhlIGJyaWRpIGFzIHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3BhY2U6CgonJ2xlIG11 4oCZZSBtaSBrYW5ybyBiaW54byBjdSBzZSBkamljYSBtaScnIOKAkyDigJ1NZSBiZWNvbWluZyBo ZWFsdGh5IGlzIGRlc2lyZWQgYnkgbWXigJ0gaGFzIHRoZSBzZW1hbnRpYyBtZWFuaW5nIHRoYXQg dGhlIHByb2Nlc3Mgb2YgYmVjb21pbmcgaGVhbHRoeSBpcyBub3QgYmVpbmcgY29uc2lkZXJlZC4g SWYgaXQgY29uc2lzdHMgb2YgY2hlbW90aGVyYXB5LCBpdCBpcyBwbGF1c2libGUgdGhhdCB0aGlz IHByb2Nlc3MgaXMgbm90IGRlc2lyZWQgYXQgYWxsLiDigJxCZWNvbWluZyBoZWFsdGh54oCdLCBp biBhIHBvaW50LWxpa2Ugc2Vuc2UgaXMgZGVzaXJlZCwgaG93ZXZlci4KCgoKJyd6YeKAmWknJyBp cyBsaWtlIHRoZSBldmVudCBjb250b3VyICcnY2HigJlvJycgaW4gdGhlIHNlbnNlIHRoYXQgJyds ZSB6YeKAmWkgQlJJREknJyBiZWdpbnMgdG8gYXBwbHkgd2hlbiB0aGUgYnJpZGkgYmVnaW5zIGFu ZCBzaGFycGx5IGVuZHMgd2hlbiB0aGUgYnJpZGkgY2Vhc2VzIHRvIGJlIHRydWUsIG11Y2ggbGlr ZSAnJ2Nh4oCZbycnLgoKJyd6YeKAmW8gemHigJlpIG1pIGthbnJvIGJpbnhvJycgbWVhbnMgdGhh dCB0aGUgc3RhdGUgb2YgbWUgYmVjb21pbmcgaGVhbHRoeSB0b29rIHRvbyBsb25nIHRpbWU7IHRo YXQgdGhlIHRpbWUgYmV0d2VlbiBteSBoZWFsdGggYmVnaW5uaW5nIHRvIGltcHJvdmUgYW5kIGJl IGFjdHVhbGx5IGJlaW5nIGhlYWx0aHkgd2FzIGxvbmctd2luZGVkLgoKCgpUaGUgYWN0dWFsIHRy ZWF0bWVudCBpcyBwZXJoYXBzIGJldHRlciBjYXVnaHQgYnkgJydwdeKAmXUnJywgd2hpY2gsIGxp a2UgZXZlbnQgY29udG91cnMgaW4gZ2VuZXJhbCwgcHV0cyBlbXBoYXNpcyBvbiB0aGUgZW50aXJl IGV2ZW50IGFzIHVuZm9sZGluZyB0aHJvdWdoIHRpbWUuICcnLmlpIGJhIHppIGNv4oCZYSBwdeKA mXUgbWkga2Fucm8gYmlueG8gdmF1IC5vaScnIGV4cHJlc3NlcyBmZWFyIHRoYXQgdGhlIHBhaW5m dWwgcHJvY2VzcyBvZiBiZWNvbWluZyBoZWFsdGh5IGlzIGFib3V0IHRvIGJlZ2luLlRoZSB4MiBp cyBmaWxsZWQgYnkgYSBzZXF1ZW5jZSBvZiBzdGFnZXMsIHdoaWNoIGNhbiBiZSBtYWRlIGJ5IGlu dGVyc3BhY2luZyB0aGUgc3RhZ2VzIHdpdGggdGhlIG5vbi1sb2dpY2FsIGNvbm5lY3RpdmUgJydj ZeKAmW8nJzogJyd6ZeKAmXUgcHXigJl1IG1pIGthbnJvIGJpbnhvIGtlaSBsZSBudSBtaSBmYWNr aSBjZeKAmW8gbGUgbnUgbWkgamFpIHRvbHN0aSBjZeKAmW8gbWkgcmVudmknJyBtZWFucyDigJxz b21ldGhpbmcgaXMgYSBsb25nIHByb2Nlc3Mgb2YgbWUgYmVjb21pbmcgaGVhbHRoeSBjb25zaXN0 aW5nIG9mIHRoZSBzdGFnZXMgQSApIEkgZmluZCBvdXQgQiApIHNvbWV0aGluZyBhYm91dCBtZSBi ZWdpbnMgQyApIEkgZW5kdXJlLuKAnQoKCgpGaW5hbGx5LCB0aGUgc2VtYW50aWNzIG9mICcnenXi gJlvJycgdHJlYXRzIHRoZSBhYnN0cmFjdGlvbiBhcyBjb25zaXN0aW5nIG9mIHJlcGVhdGVkIGFj dGlvbnM6ICcnamlicmkgbWkgZmEgbG8genXigJlvIG1pIHpiYXN1IGxvIGthcmNlJycg4oCTIOKA nFRoZSBhY3Rpdml0eSBvZiBtZSBtYWtpbmcgY2FycyBpcyBteSBqb2LigJ0gaXMgYWNjdXJhdGUg aWYsIGZvciBpbnN0YW5jZSwgdGhlIHNwZWFrZXIgd29ya3MgYXQgYSBjYXItcHJvZHVjaW5nIGZh Y3RvcnkuIEhlcmUsIGhlciBhY3Rpdml0eSBvZiBwcm9kdWNpbmcgY2FycyBjb25zaXN0cyBvZiB0 aGUgcmVwZWF0ZWQgYWN0aW9ucyBBICkgc2hlIGxvd2VycyBmcmFtZSAxIG9udG8gY2FyIDEgQiAp IHNoZSB3ZWxkcyBmcmFtZSAxIHRvIGNhciAxLCBDICkgcmVwZWF0IHdpdGggY2FyIDIuIFRoZSB4 MiBoZXJlIGlzIGFsc28gYSBzZXF1ZW5jZS4KCgoKTm90ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVu ICcnbXXigJllIGJhanJhJycsICcnemHigJlpIGJhanJhJycsICcncHXigJl1IGJhanJhJycsICcn enXigJlvIGJhanJhJycgYW5kICcnbnUgYmFqcmEnJy4gVGhlIHBvaW50LWxpa2UgZXZlbnQgb2Yg cnVubmluZyBwdXRzIGVtcGhhc2lzIG9uIHRoZSBldmVudCBoYXBwZW5pbmcsIGJ1dCBub3RoaW5n IGVsc2UuIFRoZSBzdGF0ZSBvZiBydW5uaW5nIGJlZ2lucyB3aGVuIHRoZSBydW5uZXIgYmVnaW5z IGFuZCBzdG9wcyB3aGVuIHRoZSBydW5uZXIgc3RvcHMuIFRoZSBwcm9jZXNzIG9mIHJ1bm5pbmcg Y29uc2lzdHMgb2YgYSB3YXJtLXVwLCBrZWVwaW5nIGEgc3RlYWR5IHNwZWVkLCBhbmQgdGhlIGZp bmFsIHNwcmludC4gVGhlIGFjdGl2aXR5IG9mIHJ1bm5pbmcgY29uc2lzdHMgdGhlIGN5Y2xlcyBv ZiBsaWZ0aW5nIG9uZSBmb290LCBtb3ZpbmcgaXQgZm9yd2FyZCwgZHJvcHBpbmcgaXQgZG93biwg cmVwZWF0IHdpdGggdGhlIG90aGVyIGZvb3QuIEFsbCBvZiB0aGVzZSBhcmUgY292ZXJlZCBieSB0 aGUgZXZlbnQgb2YgcnVubmluZy4KCgoKVGhlIGFic3RyYWN0b3IgJydkdeKAmXUnJyBoYXMgbm90 aGluZyB0byBkbyB3aXRoIGV2ZW50cyBhbmQgb25seSBjb25zaWRlcnMgdGhlIGJyaWRpIGluc2lk ZSB0aGUgYWJzdHJhY3Rpb24gYXMgYSBicmlkaToKCicnLnVpIHNhaSB6aSBmYWNraSBsZSBkdeKA mXUgemkgY2l0a2EgbG8gY2lkanJwaXRzYScnIOKAkyDigJxZZXMhIEkganVzdCBmb3VuZCBvdXQg dGhhdCBwaXp6YSB3aWxsIGJlIGVhdGVuIHNvb24h4oCdLiBXaGF0IGlzIGJlaW5nIGRpc2NvdmVy ZWQgaXMgdGhlIHRydXRoIG9mIGFuIGFic3RyYWN0IGJyaWRpLCBub3QgYW4gZXZlbnQuIEluIGdl bmVyYWwsIGFic3RyYWN0aW9ucyBsaWtlIHRydXRocywgbGllcywgdGhpbmdzIGJlaW5nIGRpc2Nv dmVyZWQgb3IgYmVsaWV2ZWQgYXJlIGFsbCBwdXJlIGJyaWRpLCBzbyAnJ2R14oCZdScnIGlzIGFw cHJvcHJpYXRlLiAKCl9fJydkdeKAmXUnJ19fIHgxIGlzIHRoZSBicmlkaSBvZiBCUklESSBleHBy ZXNzZWQgaW4gc2VudGVuY2UgeDIKCkZvciBicmlkaSB0byBleGlzdCAob3IgYXQgbGVhc3QgdG8g aGF2ZSBhbnkgcmVsZXZhbmNlKSwgdGhleSBtdXN0IGJlIGV4cHJlc3NlZCBpbiBzb21lIG1lZGl1 bSwgd2hldGhlciB0aGlzIGlzIHNwZWVjaCwgdGhvdWdodCBvciB3cml0aW5nLiBUaGUgdGVybSDi gJxleHByZXNzZWTigJ0gaXMgbWlzbGVhZGluZyBpZiBpdCBpcyBleHByZXNzZWQgb25seSBpbiB0 aGUgbWluZCBvZiBzb21lb25lIGJ1dCB0aGUgdGVybSBub25ldGhlbGVzcyBhcHBsaWVzLiBTcGVj aWZ5aW5nIHdoaWNoIG1lZGl1bSB0aGUgYnJpZGkgaXMgZXhwcmVzc2VkIGluIGlzIHdoYXQgdGhl IHgyIG9mICcnZHXigJl1JycgaXMgdXNlZCBmb3I6ICAnJy51aSBmYWNraSBsZSBkdeKAmXUgamFp IGNpZGpycGl0c2Ega2VpIHpv4oCZZSBwZSBsZSBtaSBtYW10YScnIOKAkyDigJxZYXksIGRpc2Nv dmVyZWQgdGhhdCBzb21ldGhpbmcgYWJvdXQgcGl6emEsIGV4cHJlc3NlZCBpbiBzb21ldGhpbmcg dGhhdCBoYWQgdG8gZG8gd2l0aCBteSBtb3RoZXIh4oCdLiBUaGUgdHJhbnNsYXRpb24gaXMgY2x1 bXN5LCBidXQgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgc3BlYWtlcuKAmXMgbW90aGVyIHRvbGQg aGltIHRoYXQgcGl6emEgd2FzIGNvbWluZy4KCgoKVGhlIG5leHQgYWJzdHJhY3RvciwgJydzaeKA mW8nJywgaXMgZGVyaXZlZCBmcm9tIHRoZSBnaXNtdSAnJ3NpZGJvJycgbWVhbmluZyDigJxpZGVh 4oCdLiBJdOKAmXMgcmVsYXRpdmVseSBlYXN5IHRvIHVuZGVyc3RhbmQ6ICcnbGUgc2nigJlvIG1p IG1hbXRhJycgaXMgdGhlIHZlcnkgaWRlYSB0aGF0IEkgYW0gYSBtb3RoZXIuIFNpbWlsYXJseSwg JydsZSBzaeKAmW8gcHJhbWknJyBpcyDigJxUaGUgY29uY2VwdCB0aGF0IHNvbWVvbmUgbG92ZXMg c29tZW9uZeKAnSwgd2hpY2ggY2FuIGJlIHRyYW5zbGF0ZWQgYXMgbWVyZWx5IOKAnExvdmUgaXRz ZWxmLuKAnSBBbGwgaWRlYXMgbmVlZCBzb21lb25lIHRvIHJlZmxlY3Qgb24gdGhlbSwgYW5kIHRo ZSBzZWNvbmQgc3VtdGkgcGxhY2Ugb2YgJydzaeKAmW8nJyBtaXJyb3JzIHRoaXM6CgpfXycnc2ni gJlvJydfXyB4MSBpcyBhbiBpZGVhIG9mIEJSSURJIGFzIGltYWdpbmVkIGJ5IHgyCgonJ2xlIHNp 4oCZbyBuYW5tdSBrZWkgYmUgZG8gY3UgeGxhbGkgdmF1IHBl4oCZaScnIOKAkyDigJxZb3VyIGlk ZWEgb2YgbWFubGluZXNzIGlzIGhhcm1mdWwsIEkgdGhpbmss4oCdCgoKClRoZSBhYnN0cmFjdG9y ICcnamVpJycgaXMgdmVyeSBkaWZmZXJlbnQgZnJvbSB0aG9zZSBjb3ZlcmVkIHNvIGZhciwgYmVj YXVzZSBvZiBpdHMgcGxhY2Ugc3RydWN0dXJlOgoKX18nJ2plaScnX18geDEgaXMgdGhlIHRydXRo IHZhbHVlIG9mIEJSSURJIHVuZGVyIGVwaXN0ZW1vbG9neSB4MgoKVGhlIGZpcnN0IHN1bXRpIHBs YWNlIGlzIG5vdCBhbiBhYnN0cmFjdGVkIGJyaWRpLCBidXQgYSB2ZXJkaWN0IG9mIHRydXRoLCB3 aGljaCBsaWVzIGJldHdlZW4gMCAoZmFsc2UpIGFuZCAxICh0cnV0aCkgaW5jbHVzaXZlLiBUaGVz ZSB0d28gbnVtYmVycyBhcmUgdXNlZCB0byByZXByZXNlbnQgZmFsc2Vob29kIG9yIHRydXRoLCBh bmQgd2hpbGUgdGhlIHgxIG9mIHRoZSBhYnN0cmFjdGlvbiBpcyB0ZWNobmljYWxseSBhIG51bWJl ciAoJydsaScnKSwgaXQncyBub3QgdmVyeSB1c2VmdWwgdG8gZG8gbWF0aGVtYXRpY3Mgb24gc3Rh dGVtZW50cyBzdWNoIGFzICJ0cnVlIiBvciAiZmFsc2UiLCBzbyB0aGV5IHNob3VsZCBwcm9iYWJs eSBub3QgYmUgY29uc2lkZXJlZCBtYXRoZW1hdGljYWwgcXVhbnRpdGllcy4KClRoZSB4MiBpcyBv ZnRlbiBsZWZ0IHZhZ3VlLgoKJycueSBsaSBwaSBzb+KAmXUgamVpIGdv4oCZaSBrZWkgdHXigJlh IG1pJycg4oCTIOKAnFV1aCwgdGhhdOKAmXMgbm90IHZlcnkgdHJ1ZSwgYWNjb3JkaW5nIHRvIG1l LuKAnQoKCgonJ2thJycgaXMgZ2xvc3NlZCAicHJvcGVydHkiLCB3aGljaCBpcyBub3QgY2xlYXIg YXQgYWxsLiBJdCByZWZlcnMgdG8gdGhlIGVzc2VuY2Ugb2YgZml0dGluZyB0byBhIGNlcnRhaW4g c2VsYnJpLCB0aHVzICcnbG8ga2EgY2xhbmknJyBpcyAidGFsbG5lc3MiLCBhbmQgJydsbyBrYSBk amljYScnIGlzICJkZXNpcmUiLiBJbiBmYWN0LCBmb3IgYW55IHNlbGJyaSwgIlggc2F0aXNmaWVz IHRoZSBzZWxicmkiIGlzIHRoZSBzYW1lIGFzICJYIGlzIGNoYXJhY3Rlcml6ZWQgYnkgdGhlIHBy b3BlcnR5IG9mIHRoZSBzZWxicmkiLgoKVGhpcyBzZWxicmkgbWF5IGhhdmUgc29tZSBzdW10aSBw bGFjZXMgZmlsbGVkIG91dCwgYWxsb3dpbmcgdmVyeSBzcGVjaWZpYyBwcm9wZXJ0aWVzIHRvIGJl IGV4cHJlc3NlZDogJydsZSBrYSBwZW5kbyBsYSB4YW56LmtydCBnaSdlIGJhZHJpJycsICJUaGUg cHJvcGVydHkgb2YgYmVpbmcgYSBmcmllbmQgb2YgSGFucyBLdXJ0IGFuZCBiZWluZyBkZXByZXNz ZWQiLiBUaGlzIGdpdmVzIHJpc2UgdG8gc3Ryb25nIGFtYmlndWl0eTogU2luY2UgJydrYScnIGlz IGFib3V0IGZpdHRpbmcgdG8gYSBzZWxicmkgKG9yIGV2ZW4gYW4gZW50aXJlIGJyaWRpKSwgb25l IG11c3QgYmUgYWJsZSB0byBzcGVjaWZ5IHdoaWNoIHN1bXRpIHBsYWNlIHdlIGFyZSB0YWxraW5n IGFib3V0OiAiVGhlIHByb3BlcnR5IG9mIHN3aW1taW5nIGluIHNvbWV0aGluZyIgaXMgdmVyeSBk aWZmZXJlbnQgZnJvbSAiVGhlIHByb3BlcnR5IG9mIHNvbWV0aGluZyBzd2ltbWluZyBpbiB5b3Ui LiAKCk9mIGNvdXJzZSwgdGhpcyBjYW5ub3QgYWx3YXlzIGJlIHVwIHRvIGNvbnRleHQsIGFuZCBz byB3ZSBoYXZlIGEgd29yZCwgJydjZSd1JycsIHdoaWNoIGlkZW50aWZpZXMgd2hpY2ggc3VtdGkg cGxhY2UgaXMgYmVpbmcgZm9jdXNlZCBvbjoKCl9fJydjZSd1JydfXyBTZXRzIGZvY3VzIG9uIHN1 bXRpIHBsYWNlIGluIGFic3RyYWN0aW9uLgoKCgonJ2thJyctY29uc3RydWN0cyBhcmUgdXNlZCBp biBhbGwga2luZHMgb2Ygc2VsYnJpLCAnJ3ptYWR1JycgYW5kICcnbWxlY2EnJyBpbnRyb2R1Y2Vk IGluIGxlc3NvbiBuaW5ldGVlbiBpcyBleGFtcGxlcyBvZiBzdWNoIHNlbGJyaS4gU286IHdoYXQg aXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAnJ21pIGRvIHptYWR1IGxvIGthIGxhIGxpeiBwcmFt aSBjZSd1JycgYW5kICcnbWkgZG8gem1hZHUgbG8ga2EgY2UndSBwcmFtaSBsYSBsaXonJz8KCkFu c3dlcjogfn5ncmV5LGdyZXk6IFRoZSBmaXJzdCBvbmUgbWVhbnMgIkxpeiBsb3ZlcyBtZSBtb3Jl IHRoYW4geW91IiwgdGhlIHNlY29uZCAiSSBsb3ZlIExpeiBtb3JlIHRoYW4geW91IGRvIn5+CgpU aGUgJydjZSd1JycgY2FuIGJlIGVsaWRlZCwgaW4gd2hpY2ggY2FzZSBpdCBpcyB1bmRlcnN0b29k IHRvIGZpbGwgdGhlIGZpcnN0IHVuZmlsbGVkIHN1bXRpIHBsYWNlIG9mIHRoZSBhYnN0cmFjdGlv bi4KCgoKTGFzdGx5LCB3ZSBoYXZlIHRoZSB3b3JkICcnbmknJywgdGhlIGRlZmluaXRpb24gb2Yg d2hpY2ggaXMgbXVjaCBjb250ZXN0ZWQgYW5kIGRpc2N1c3NlZCBhbW9uZyBMb2piYW5pc3RzLiBB dCBsZWFzdCB0d28gc2xpZ2h0bHkgZGlmZmVyZW50IG1lYW5pbmdzIGNhbiBiZSBjb252ZXllZCB3 aXRoICcnbmknJywgcG9zc2libHkgbW9yZSwgYW5kIGl0IGhhcyBub3QgYmVlbiBzZXR0bGVkIHdo aWNoIG9uZSBpcyB0aGUgY29ycmVjdCB1c2Ugb2YgJyduaScnLiBMZXQncyBmaXJzdCBzZWUgaG93 IHRoZSB3b3JkIGlzIGdsb3NzZWQ6CgpfXycnbmknJ19fIHgxIGlzIHRoZSBxdWFudGl0eSBvZiBC UklESSBhcyBtZWFzdXJlZCBhdCBzY2FsZSB4MgoKVW5saWtlIHRoZSB4MSBvZiAnJ2plaScnLCB0 aGUgeDEgb2YgJyduaScnIF9faXNfXyB1c2VmdWwgdG8gdHJlYXQgYXMgYSBudW1iZXIuIFRoZSBk aXNjdXNzaW9uIGFyaXNlcyBiZWNhdXNlIGl0J3MgcG9zc2libGUgdG8gcXVhbnRpZnkgYnJpZGkg aW4gc2V2ZXJhbCB3YXlzLiBUaGUgZm9sbG93aW5nIGZvdXIgZXhhbXBsZXMgc2hvdyB0d28gZGlm ZmVyZW50IHdheXM6CgpfXycneGFtc2knJ19fIHgxIGlzIHRoZS9hIHNlYS9vY2VhbiBvZiBwbGFu ZXQgeDIgbWFkZSBvZiBmbHVpZCB4MwoKX18nJ2NlbmJhJydfXyB4MSB2YXJpZXMgaW4gcHJvcGVy dHkvYW1vdW50IHgyIGJ5IGFtb3VudC9kZWdyZWUgeDMgdW5kZXIgY29uZGl0aW9ucyB4NAoKJyds ZSB4YW1zaSBjdSBjZW5iYSBsZSBuaSBjZSd1IGJsYW51JycgLSAiVGhlIG9jZWFuIHZhcmllcyBp biBibHVlbmVzcyIgKG1lYW5pbmcgdGhhdCBpdCBtaWdodCBiZSBsZXNzIG9yIG1vcmUgYmx1ZSwg Y29udHJhc3Qgd2l0aCAnJ2xlIHhhbXNpIGN1IGNlbmJhIGxlIGthIGNlJ3UgYmxhbnUnJywgd2hp Y2ggbWVhbnMgdGhhdCBpdCB2YXJpZXMgaW4gd2hldGhlciBpdCdzIGJsdWUgb3Igbm90KQoKJydt aSB6bWFkdSBkbyBsbyBuaSBwZW5kbyBjZSd1JyctICJJIGhhdmUgbW9yZSBmcmllbmRzIHRoYW4g eW91IgoKV2hlcmUgdGhlIGZpcnN0IGV4YW1wbGUgdXNlcyAnJ25pJycgdG8gcXVhbnRpZnkgaG93 IG11Y2ggYW4gb2JqZWN0IGlzIGNoYXJhY3Rlcml6ZWQgYnkgYSBzZWxicmksIGFuZCB0aGUgc2Vj b25kIGV4YW1wbGUgdG8gcXVhbnRpZnkgaG93IG1hbnkgeCBhcmUgY2hhcmFjdGVyaXplZCBieSBh IHNlbGJyaS4KClRoaXMgaXMsIG9mIGNvdXJzZSwgYSBwcm9ibGVtIHRvIGEgbGFuZ3VhZ2UgbGlr ZSBMb2piYW4sIHdoaWNoIHByaWRlcyBpdHNlbGYgd2l0aCB1bmFtYmlnaXV0eS4gVGhpcyBwcm9i bGVtIGhhdmUgbm90IGJlZW4gc29sdmVkIHlldCwgYW5kIHNvIGFzIG9mIG5vdywgd2UgYXJlIHN0 dWNrIHdpdGggJyduaScnIGhhdmluZyBkdWFsIG1lYW5pbmdzLiAgCgpUaGVyZSBpcyBhbHNvIHNs aWdodCBkaXNhZ3JlZW1lbnQgYWJvdXQgd2hhdCBpdCBtYWtlcyBzZW5zZSB0byBxdWFudGlmeSwg dGhvdWdoIHRoaXMgaXMgYSBwaGlsb3NvcGhpY2FsIHJhdGhlciB0aGFuIGxpbmd1aXN0aWMgZGVi YXRlLiBTb21lIHRleHRzIHN0cmVzcyB0aGF0IHRob3NlIHRoaW5ncyB3aGljaCBhcmUgbm90IGVh c2lseSBxdWFudGlmaWFibGUgbGlrZSAnJ2xlIG5pIG1pIHR1bmJhIGRvJycsIHRoZSBhbW91bnQg b2YgbWUgYmVpbmcgeW91ciBzaWJsaW5nLCBtYWtlcyBubyBzZW5zZSBpIGEgJyduaScnLWNvbnN0 cnVjdC4gRm9yIG90aGVycyB0aGlzIGlzIGEgcGVyZmVjdGx5IHJlYXNvbmFibGUgdGhpbmcgdG8g c2F5LCBldmVuIHRob3VnaCBhY3R1YWxseSBtZWFzdXJpbmcgaXQgaXMgbm90IHByYWN0aWNhbCwg c2ltaWxhcmx5IHRvIHRoZSBFbmdsaXNoIHF1YW50aWZpY2F0aW9uIG9mIGxvdmUgaW4gdGhlIHNl bnRlbmNlICJJIGRpZG4ndCBrbm93IGhvdyBtdWNoIEkgbG92ZWQgeW91IHVudGlsIG5vdyIuCgpC b3RoICcna2EnJyBhbmQgJyduaScnIGFsd2F5cyBoYXMgYW4gZXhwbGljaXQgb3IgaW1wbGljaXQg JydjZSd1JycuCgoKCiEhIUVuZCBvZiBsZXNzb25zCgpTb3JyeSwgYnV0IGFzIG9mIG5vdywgdGhl cmUgYXJlIG5vIG1vcmUgbGVzc29ucyBpbiB0aGlzIHNlcmllcy4gUGVyaGFwcyBtb3JlIHdpbGwg YmUgYWRkZWQgbGF0ZXIuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9y ZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==