Received: from localhost ([::1]:38731 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Ux82Y-00056t-PH; Wed, 10 Jul 2013 20:59:34 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:43379 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Ux82P-00056f-Cn for wikineurotic@lojban.org; Wed, 10 Jul 2013 20:59:31 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 10 Jul 2013 20:59:25 -0700 From: "Apache" Date: Wed, 10 Jul 2013 20:59:25 -0700 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 Jacob at 23:58 EDT Comment: Corrected an example, whose English was inconsistent with the Lojban. 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 ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 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 Jacob 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 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBKYWNvYiBhdCAy Mzo1OCBFRFQKQ29tbWVudDogQ29ycmVjdGVkIGFuIGV4YW1wbGUsIHdob3NlIEVuZ2xpc2ggd2Fz IGluY29uc2lzdGVudCB3aXRoIHRoZSBMb2piYW4uCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkg Zm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVz c29uc2NvbnRpbnVlZHAyCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3Vz IHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90 aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxlc3NvbnNjb250aW51ZWRwMiZjb21w YXJlPTEmb2xkdmVyPTI1Jm5ld3Zlcj0yNgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lv biBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0 ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rCkBAIC1MaW5lczogMTg3LTE5MSBjaGFuZ2VkIHRvICtMaW5lczogMTg3LTE5 MSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKwpfXycnamknaScnX18gLSBudW1iZXIgcm91bmRpbmcgb3IgbnVtYmVyIGFwcHJveGlt YXRpb24KV2hlbiAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyLCB0aGUgZW50aXJl IG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6Ci0gJydqaSdpIHplIHphJ3UgcmF1IGp1J28nJyAgJnF1 b3Q7QWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0aGFuIGVub3VnaCwgY2VydGFpbmx5Cisg JydqaSdpIHplIG5vIHphJ3UgcmF1IGp1J28nJyAgJnF1b3Q7QWJvdXQgc2V2ZW50eSwgd2hpY2gg aXMgbW9yZSB0aGFuIGVub3VnaCwgY2VydGFpbmx5ClBsYWNlZCBpbiB0aGUgbWlkZGxlIG9mIHRo ZSBudW1iZXIsIG9ubHkgdGhlIGZvbGxvd2luZyBkaWdpdHMgYXJlIG5vbi1leGFjdC4gQXQgdGhl IGVuZCBvZiBhIG51bWJlciwgaXQgc2lnbmlmaWVzIHRoYXQgdGhlIG51bWJlciBoYXMgYmVlbiBy b3VuZGVkIG9mZi4gCl9fJydraSdvJydfXyBOdW1iZXIgY29tbWEgIC0gc2VwYXJhdGVzIGRpZ2l0 cyB3aXRoaW4gb25lIHN0cmluZzsgVGhvdXNhbmRzLgoKCgoKKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRl bnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKCiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZCAocGFy dCB0d28pOgoKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJpb3VzIGxvamJh bmlzdHMuIEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcgMjAxMy4KCgoK VGhpcyBpcyB0aGUgc2Vjb25kIGluc3RhbGxtZW50IG9mIHRoZSBXYXZlIExlc3NvbnMgQ29udGlu dWVkLiBJZiB5b3UgZGlkbid0IGNhdGNoIHRoZSBmaXJzdCBwYXJ0LCBvciB3YW50IHRvIGdvIGJh Y2sgZm9yIHNvbWUgcmVhc29uLCBqdXN0IGNsaWNrICgod2F2ZWxlc3NvbnNjb250aW51ZWR8b24g dGhlc2UgZm91ciB3b3Jkcy4pKS4gWW91IGNhbiBhbHNvIGdvIHRvIHRoZSB0aGlyZCBwYXJ0IGJ5 IGNsaWNraW5nICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGlzIGxpbmspKSwgaWYgeW91IGZl ZWwgbGlrZSBkb2luZyB0aGF0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNldmVudGVl biAoY3V0ZSBhc3NvcnRlZCB3b3JkcykKCkFuZCB3aXRoIHRoYXQsIHRoaXJkIGNoYXB0ZXIsIHlv dSBrbm93IGEgbG90IGFib3V0IExvamJhbiBzdW10aS4gQWZ0ZXIgc3VjaCBhIGxvbmcgdGltZSBv ZiByaWdvcm91cyBzeXN0ZW1hdGljIGxlYXJuaW5nLCB3aGF0IGNvdWxkIGJlIG1vcmUgZml0dGlu ZyB0aGF0IHRoaXMgbGVzc29uIHdoZXJlIEkgc3BlYWsgYWJvdXQgc29tZSB3b3JkcyB3aGljaCBJ IGNvdWxkIG5vdCwgb3Igd2FudGVkIG5vdCB0byBmaXQgaW50byBhbnkgb3RoZXIgbGVzc29ucz8g U28gaGVyZSBhcmUgYSBmZXcgc21hbGwgYW5kIHJlYWxseSB1c2VmdWwgd29yZHM6CgoKClRoZSBm b2xsb3dpbmcgY21hdm8gYXJlIGFsbCBlbGxpcHRpY2FsIHdvcmRzLiBZb3Ugc2hvdWxkIGFscmVh ZHkgYmUgZmFtaWxpYXIgd2l0aCB0aGUgZmlyc3QuCgpfXycnem8nZScnX18gLSBlbGxpcHRpY2Fs IHN1bXRpCgpfXycnY28nZScnX18gLSBlbGxpcHRpY2FsIHNlbGJyaQoKX18nJ2RvJ2UnJ19fIC0g ZWxsaXB0aWNhbCBzdW10Y2l0YQoKX18nJ2p1J2EnJ19fIC0gZWxsaXB0aWNhbCBldmlkZW50aWFs CgpfXycnZG8naScnX18gLSBlbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZQoKX18nJ2dlJ2Un J19fIC0gZWxsaXB0aWNhbCBhdHRpdHVkaW5hbAoKCgpBbGwgb2YgdGhlc2UgYWN0IGdyYW1tYXRp Y2FsbHkgYXMgYSBjbWF2byBvZiB0aGUga2luZCB0aGV5IHJlcHJlc2VudCwgYnV0IHRoZXkgY29u dGFpbiBubyBpbmZvcm1hdGlvbiwgYW5kIGNhbiBiZSBxdWl0ZSBoYW5keSB3aGVuIHlvdSdyZSBs YXp5IGFuZCBkb24ndCBuZWVkIHRvIGJlIHNwZWNpZmljIGFueXdheS4gVGhlcmUgYXJlLCBob3dl dmVyLCBhIGZldyB0aGluZ3Mgd2hpY2ggbmVlZCB0byBiZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6 bydlJycgaGF2ZSB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgY2xhaW1lZCB0byBoYXZl IGEgdmFsdWUuIOKAnHplcm8gY2Fyc+KAnSBvciDigJxub3RoaW5n4oCdLCBmb3IgaW5zdGFuY2Us IGhhcyBubyB2YWx1ZSwgYW5kIHRoZXJlZm9yZSBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgJyd6 bydlJycuIFRoaXMgaXMgYmVjYXVzZSwgaWYgaXQgY291bGQgbWVhbiDigJxub3RoaW5n4oCdIGJ5 ICcnem8nZScnLCB0aGVuIGFueSBzZWxicmkgY291bGQgYmUgaWRlbnRpY2FsIHRvIGl0cyBuZWdh dGlvbiwgaWYgb25lIG9mIHRoZSBlbGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQgd2l0aCBhICcnem8n ZScnIHdpdGggbm8gdmFsdWUuCgogICAgJydnZSdlJycgZG9lcyBub3QgbWVhbiB0aGF0IHlvdSBm ZWVsIG5vIGVtb3Rpb24sIGp1c3QgdGhhdCB5b3UgZmVlbCBub3RoaW5nIHNwZWNpYWwgb3Igd29y dGggdG8gbWVudGlvbiBhdCB0aGUgbW9tZW50LiBJdCdzIHNpbWlsYXIgdG8g4oCcSSdtIGZpbmUu 4oCdLiAnJ2dlJ2UgcGVpJycgYXNrIGFib3V0IGFuIGVsbGlwdGljYWwgZW1vdGlvbiBhbmQgaXMg YSBnb29kIHRyYW5zbGF0aW9uIGZvcjog4oCcSG93IGFyZSB5b3UgZmVlbGluZz/igJ0uCgogICAg JydjbydlJycgaXMgaGFuZHkgd2hlbiBuZWVkaW5nIGEgc2VsYnJpIGluIGEgY29uc3RydWN0IGZv ciBncmFtbWF0aWNhbCByZWFzb25zLCBsaWtlIGluIHRoZSBkZWZpbml0aW9uIG9mICcndHUnYScn IGluIHRoZSBwcmV2aW91cyBsZXNzb24uCgogICAgJydqdSdhJycgZG9lcyBub3QgY2hhbmdlIHRo ZSB0cnV0aCB2YWx1ZSBvciBzdWJqZWN0aXZlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGJyaWRpIG9y IGFueXRoaW5nIGxpa2UgdGhhdC4gSW4gZmFjdCwgaXQncyBtb3N0bHkgZG9lcyBub3RoaW5nLiBI b3dldmVyLCAnJ2p1J2EgcGVpJycsIOKAnFdoYXQgaXMgeW91ciBiYXNpcyBmb3Igc2F5aW5nIHRo YXQ/4oCdIGlzIGhhbmR5LgoKICAgICcnZG8naScnIGlzIHJlYWxseSB1c2VmdWwuIEEgbG90IG9m IHRpbWVzIHdoZW4geW91IHJlZmVyIHRvIHV0dGVyYW5jZXMgb3IgY29udmVyc2F0aW9ucyBieSB3 b3JkcyBsaWtlIOKAnHRoaXPigJ0gb3Ig4oCcdGhhdOKAnSwgeW91IHdhbnQgJydkbydpJycuCgog ICAgSWYgeW91IGZpbGwgaW4gbW9yZSBzdW10aSB0aGFuIGEgc2VsYnJpIGhhcyBwbGFjZXMgZm9y LCB0aGUgbGFzdCBzdW10aSBoYXZlIGltcGxpZWQgJydkbydlJycgc3VtdGNpdGEgaW4gZnJvbnQg b2YgdGhlbS4KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgd29yZCwgJyd6aSdvJycsIHRoYXQg eW91IGNhbiBmaWxsIGEgc3VtdGkgcGxhY2Ugd2l0aCB0byBkZWxldGUgaXQgZnJvbSBhbnkgc2Vs YnJpLiAnJ2xvIG1lbGJpIGJlIHppJ28nJywgZm9yIGluc3RhbmNlLCBpcyBqdXN0IOKAnFNvbWV0 aGluZyBiZWF1dGlmdWzigJ0sIGFuZCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB1c3VhbCB4MiBvZiAn J21lbGJpJycsIHdoaWNoIGlzIHRoZSBvYnNlcnZlciB3aG8ganVkZ2VzIHNvbWV0aGluZyB0byBi ZSBiZWF1dGlmdWwuIFRodXMsIGl0IGNhbiBtZWFuIHNvbWV0aGluZyBsaWtlIOKAnE9iamVjdGl2 ZWx5IGJlYXV0aWZ1bC7igJ0gSXQgZG9lcyBub3Qgc3RhdGUgdGhhdCBub3RoaW5nIGZpbGxzIHRo ZSBzdW10aSBwbGFjZSB3aGljaCBpcyBiZWluZyBkZWxldGVkLCBqdXN0IHRoYXQgdGhlIHN1bXRp IHBsYWNlIGlzIG5vdCBiZWluZyBjb25zaWRlcmVkIGluIHRoZSBzZWxicmkuIFVzaW5nICcnemkn bycnIHdpdGggYSBzdW10Y2l0YSBnaXZlcyB3ZWlyZCByZXN1bHRzLiBGb3JtYWxseSwgdGhleSBz aG91bGQgY2FuY2VsIGVhY2ggb3RoZXIgb3V0LiBQcmFjdGljYWxseSwgaXQgd291bGQgcHJvYmFi bHkgYmUgdW5kZXJzdG9vZCBhcyBhbiBleHBsaWNpdCB3YXkgb2Ygc2F5aW5nIHRoYXQgdGhlIHN1 bXRjaXRhIGRvZXMgbm90IGFwcGx5LCBhcyBpbjogJydtaSBkYXJ4aSBkbyBtdSdpIHppJ28nJyAt IOKAnEkgaGl0IHlvdSwgd2l0aCBvciB3aXRob3V0IG1vdGl2YXRpb24u4oCdCgoKClRoZW4gdGhl cmUgaXMgdGhlIHdvcmQgJydqYWknJy4gSXQncyBvbmUgb2YgdGhvc2UgY29vbCwgc21hbGwgd29y ZHMgd2hpY2ggYXJlIGhhcmQgdG8gZ3Jhc3AsIGJ1dCBlYXN5IHRvIHdvcmsgd2l0aCBvbmNlIHlv dSBrbm93IGl0LiBJdCBoYXMgdHdvIGRpc3RpbmN0LCBidXQgc2ltaWxhciBmdW5jdGlvbnMuIEJv dGggaGF2ZSBzb21ldGhpbmcgdG8gZG8gd2l0aCBjb252ZXJ0aW5nIHRoZSBzZWxicmksIGxpa2Ug JydzZScnIGRvZXMuCgpfXycnamFpJydfXyBTZWxicmkgY29udmVyc2lvbjogQ29udmVydHMgc3Vt dGNpdGEgb3IgdW5zcGVjaWZpZWQgYWJzdHJhY3Rpb24gdG8geDEuIFVzZSB3aXRoICcnZmFpJycK Cl9fJydmYWknJ19fIE1hcmtzIHN1bXRpIHBsYWNlLiBXb3JrcyBsaWtlICcnZmEnJy4gVG8gYmUg dXNlZCB3aXRoICcnamFpJycuCgpUaGUgZmlyc3QgZ3JhbW1hdGljYWwgY29uc3RydWN0aW9uIGl0 IGNhbiBtYWtlIGlzICInJ2phaScnIHtzdW10Y2l0YX0ge3NlbGJyaX0iLiBJdCBjaGFuZ2VzIHRo ZSBzdW10aSBwbGFjZXMgc3VjaCB0aGF0IHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEg YmVjb21lcyB0aGUgc2VsYnJpJ3MgeDEsIGFuZCB0aGUgc2VsYnJpJ3Mgb2xkIHgxIGlzIHJlbW92 ZWQsIGFuZCBvbmx5IGFjY2Vzc2libGUgYnkgdXNpbmcgJydmYWknJywgd2hpY2ggd29ya3MgbGlr ZSAnJ2ZhJycuIFlvdSBjYW4gc2VlIGl0IHdpdGggdGhpcyBleGFtcGxlOgoKX18nJ2dhdScnX18g LSBzdW10Y2l0YSAoZnJvbSAnJ2dhc251JycpIOKAnGJyaWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJv dXQgYnkvd2l0aCBhY3RpdmUgYWdlbnQge3N1bXRpfeKAnQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRp IGZhaSBtaScnLiAtIOKAnFlvdSBicmluZyBhYm91dCBhdHRlbnRpb24gdG8gdGhpcyBieSBtZeKA nS4gVGhlIG5ldyBzZWxicmksICcnamFpIGdhdSBqdW5kaScnLCBoYXMgdGhlIHBsYWNlIHN0cnVj dHVyZSBvZiDigJx4MSBicmluZ3MgYWJvdXQgYXR0ZW50aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNl IGFyZSB0aGVuIGZpbGxlZCBieSAnJ2RvJycgYW5kICcndGknJy4gVGhlICcnZmFpJycgdGhlbiBt YXJrcyB0aGUgcGxhY2UgZm9yIHRoZSBvbGQgeDEsIHRoZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0 ZW50aW9uLCBhbmQgaXQgaXMgZmlsbGVkIHdpdGggJydtaScnLiBUaGlzIHdvcmQgY2FuIGJlIHZl cnkgY29udmVuaWVudCBhbmQgaGFzIHRvbnMgb2YgdXNlcy4gQSBnb29kIGV4YW1wbGUgaXMgZGVz Y3JpcHRpdmUtbGlrZSBzdW10aS4gT25lIGNhbiwgZm9yIGluc3RhbmNlLCByZWZlciB0byDigJx0 aGUgbWV0aG9kIG9mIHZvbGl0aW9uYWwgYWN0aW9u4oCdIGJ5ICcnbG8gamFpIHRhJ2kgenVrdGUn Jy4KCl9fJyd0YSdpJydfXzogc3VtdGNpdGEgKGZyb20gJyd0YWRqaScnKSDigJxCcmlkaSBpcyBk b25lIHdpdGggdGhlIG1ldGhvZCBvZiB7c3VtdGl94oCdCgpDYW4geW91IGRlZHVjZSB3aGF0IHRo ZSBvcmRpbmFyeSBMb2piYW4gcGhyYXNlICcnZG8gamFpIGdhdSBtbycnIG1lYW5zPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnFdoYXQgYXJlIHlvdSBkb2luZz/igJ1+fgoKCgpUaGUgb3RoZXIg ZnVuY3Rpb24gb2YgJydqYWknJyBpcyBlYXNpZXIgdG8gZXhwbGFpbi4gSXQgc2ltcGx5IGNvbnZl cnRzIHRoZSBzZWxicmkgc3VjaCB0aGF0IHRoZSBzdW10aSBpbiB0aGUgeDEgZ2V0cyBhICcndHUn YScnIGluIGZyb250IG9mIGl0ICgnJ2tvJ2EgamFpIGJyb2RhJycgX189X18gJyd0dSdhIGtvJ2Eg YnJvZGEnJykuIEluIG90aGVyIHdvcmRzLCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEgd2F5 IHN1Y2ggdGhhdCBpdCBidWlsZHMgYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRoZSBz dW10aSBpbiB0aGUgeDEsIGFuZCB0aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9uIGlu c3RlYWQgb2YgdGhlIGFjdHVhbCBzdW10aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBwbGFj ZSBpcyBhY2Nlc3NpYmxlIGJ5ICcnZmFpJycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMtdXNl ciBvZnRlbiBzYXlzICcnbGUgZ2Vya3UgcGUgZG8gamFpIHNlIHN0aWRpIG1pJycsIHRvIHVzZSBh IHJhbmRvbSBleGFtcGxlIG9mIGEgc3VtdGkgaW4geDEuIFdoYXQncyBoZSBzYXk/CgpfXycnc3Rp ZGknJ19fIHgxIGluc3BpcmVzL3N1Z2dlc3RzIHgyIGluL3RvIHgz4oCdCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcSSBzdWdnZXN0IChzb21ldGhpbmcgYWJvdXQpIHlvdXIgZG9nLuKAnX5+CgoK ClNvIGZhciB5b3UndmUgbGVhcm5lZCBob3cgdG8gY29udmVydCBicmlkaSB0byBzZWxicmksIHNl bGJyaSB0byBzdW10aSwgYW5kIHNlbGJyaSBpbnRvIGJyaWRpLCBzaW5jZSBhbGwgc2VsYnJpIGJ5 IHRoZW1zZWx2ZXMgYXJlIGFsc28gYnJpZGkuIFlvdSBvbmx5IG5lZWQgb25lIGxhc3QgZnVuY3Rp b246IGNvbnZlcnQgc3VtdGkgdG8gc2VsYnJpLiBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgd29yZCAn J21lJycuIEl0IGFjY2VwdHMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgaW50byBhIHNlbGJyaS4K Cl9fJydtZScnX186IEdlbmVyaWMgY29udmVydCBzdW10aSB0byBzZWxicmkuIHgxIGlzL2FyZSBh bW9uZyB0aGUgcmVmZXJlbnRzIG9mIFNVTVRJCgoKCldoZW4gc2NyZXdpbmcgYSBzZW50ZW5jZSB1 cCwga25vd2luZyBob3cgdG8gY29ycmVjdCB5b3Vyc2VsZiBpcyBhIGdvb2QgaWRlYS4gVGhlcmUg YXJlIHRocmVlIHdvcmRzIGluIExvamJhbiB3aGljaCB5b3UgY2FuIHVzZSB0byBkZWxldGUgeW91 ciBwcmV2aW91cyB3b3JkKHMpCgpfXycnc2knJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgbGFzdCB3 b3JkIG9ubHkuCgpfXycnc2EnJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgYmFjayB1bnRpbCBuZXh0 IGNtYXZvIHNwb2tlbi4KCl9fJydzdScnX18gLSBkZWxldGlvbjogRGVsZXRlcyBlbnRpcmUgZGlz Y291cnNlLgoKVGhlIGZ1bmN0aW9uIG9mIHRoZXNlIHdvcmRzIGFyZSBvYnZpb3VzOiBUaGV5IGRl bGV0ZSB3b3JkcyBhcyBpZiB0aGV5IGhhdmUgbmV2ZXIgYmVlbiBzcG9rZW4uIFRoZXkgZG8gbm90 IHdvcmsgaW5zaWRlIGNlcnRhaW4gcXVvdGVzIChhbGwgcXVvdGVzIGV4Y2VwdCAnJ2x1Li5saSd1 JycpLCB0aG91Z2gsIGFzIHRoYXQgd291bGQgbGVhdmUgaXQgaW1wb3NzaWJsZSB0byBxdW90ZSB0 aGVzZSB3b3Jkcy4gU2V2ZXJhbCAnJ3NpJycgaW4gYSByb3cgZGVsZXRlcyBzZXZlcmFsIHdvcmRz LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWlnaHRlZW4gKHF1b3RlcykKCk9uZSBv ZiB0aGUga2V5IGRlc2lnbiBmZWF0dXJlcyBvZiBMb2piYW4gaXMgdGhhdCBpdCdzIHN1cHBvc2Vk IHRvIGJlIGF1ZGlvLXZpc3VhbCBpc29tb3JwaGljLCBtZWFuaW5nIHRoYXQgZXZlcnl0aGluZyBl eHByZXNzZWQgaW4gdGV4dCBzaG91bGQgYWxzbyBiZSBleHByZXNzZWQgaW4gc3BlZWNoIGFuZCB2 aWNlIHZlcnNhLiBUaGVyZWZvcmUsIHRoZXJlIGNhbm5vdCBiZSBhbnkgcHVuY3R1YXRpb24gd2hp Y2ggaXMgbm90IHByb25vdW5jZWQuIFRoaXMgbWVhbnMgdGhhdCBMb2piYW4gaGFzIGEgd2lkZSBy YW5nZSBvZiB3b3JkcyB0byBxdW90ZSBvdGhlciB3b3Jkcy4gQWxsIExvamJhbiBxdW90ZXMgdGFr ZSBzb21lIGlucHV0IG9mIHRleHQgYW5kIGNvbnZlcnRzIGl0IHRvIGEgc3VtdGkuIExldCdzIGJl Z2luIHdpdGggdGhlIG1vc3Qgc2ltcGxlOgoKCgpfXycnbHUnJ19fIFF1b3RlIHdvcmQ6IEJlZ2lu IHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250ZW50CgpfXycnbGkndScnX18gUXVvdGUg d29yZDogRW5kIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0 IGluc2lkZSB0aGlzIGNvbnN0cnVjdCBtdXN0IGJ5IGl0c2VsZiBiZSBncmFtbWF0aWNhbC4gSXQg Y2FuIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgd2l0aCBzb21lIGZldyBleGNlcHRpb25zLCBtb3N0 IG5vdGFibHksIG9idmlvdXNseSwgJydsaSd1JycuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZv bGxvd2luZyBzZW50ZW5jZS4gVGFrZSB5b3VyIHRpbWUuCgonJ21pIHN0aWRpIGxvIGRyYXRhIGJl IHR1J2EgbHUga28gamFpIGdhdSBtbyBsaSd1JycKCl9fJydkcmF0YScnX18geDEgaXMgZGlmZmVy ZW50IGZyb20geDIgYnkgc3RhbmRhcmQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dl c3Qgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIHNvbWV0aGluZyBhYm91dCDigJxrbyBqYWkgZ2F1 IG1v4oCdLuKAnX5+CgoKClRoZXNlIHF1b3RlIHdvcmRzIGNhbm5vdCBxdW90ZSB1bmdyYW1tYXRp Y2FsIHRleHQuIFRoaXMgaXMgc29tZXRpbWVzIHVzZWZ1bCwgd2hlbiB5b3Ugd2FudCB0byBvbmx5 IHBpY2sgb3V0IHBhcnQgb2YgYSBzZW50ZW5jZSwgYXMgaW46IOKAnCBpcyDigJxnaSdl4oCdIGEg TG9qYmFuIHN1bXRjaXRhP+KAnQoKCgpGb3IgdGhpcywgeW91IG5lZWQgdGhlc2UgdHdvIGNtYXZv CgpfXycnbG8ndScnX18gUXVvdGUgd29yZDogQmVnaW4gcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBi dXQgTG9qYmFuIGNvbnRlbnQKCl9fJydsZSd1JydfXyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2Yg dW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRlbnQKCgoKVGhlIHRleHQgaW5zaWRlIG11c3Qg YmUgTG9qYmFuIHdvcmRzLCBidXQgbmVlZCBub3QgYmUgZ3JhbW1hdGljYWwuIFRyeSB0byB0cmFu c2xhdGUgdGhlIGFib3ZlIGV4YW1wbGUgKHRoZSBvbmUgd2l0aCAnJ2dpJ2UnJykgaW50byBMb2pi YW4KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3h1IGxvJ3UgZ2knZSBsZSd1IGxvamJvIHN1bXRj aXRhJyd+fgoKCgpUaGlzIHF1b3RlIGNhbiBiZSB1c2VkIHRvIHF1b3RlIGFsbCBMb2piYW4gd29y ZHMgZXhjZXB0ICcnbGUndScnLiBIb3dldmVyLCB0aGlzIGlzIG5vdCBlbm91Z2guIElmIHdlIHdh bnQgdG8gdHJhbnNsYXRlIOKAnGlzIOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0cmFuc2xhdGlvbiBv ZiDigJxXaGF0J3MgdXA/4oCd4oCdLCB3ZSBtaWdodCBiZSBzbGlnaHRseSB3cm9uZyBhYm91dCB3 aGF0IHdlIGhlcmUgc3RhdGUsIHNpbmNlICcnZG8gbW8nJyBhbHNvIGNhbiBtZWFuIOKAnFdoYXQg YXJlIHlvdT/igJ0sIGJ1dCBsZXQncyByb2xsIHdpdGggaXQgZm9yIGEgc2Vjb25kLiBXaGF0IHdl IG5lZWQgaGVyZSBpcyB0aGUgd29yZCAnJ3pvaScnLgoKCgonJ3pvaScnIE5leHQgY21hdm8gaXMg YmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlLgoKCgpX aGVuIHVzaW5nICcnem9pJycsIHlvdSBwaWNrIGFueSBtb3JwaG9sb2dpY2FsbHkgY29ycmVjdCBs b2piYW4gd29yZCBhdCB3aWxsIChjYWxsZWQgdGhlIGRlbGltaXRlciksIHdoaWNoIHRoZW4gb3Bl bnMgYSBxdW90ZS4gVG8gY2xvc2UgaXQsIHVzZSB0aGF0IHdvcmQgYWdhaW4uIFRoaXMgd2F5LCB5 b3UgY2FuIHF1b3RlIGFueXRoaW5nIGV4Y2VwdCB0aGUgZGVsaW1pdGVyLCB3aGljaCBzaG91bGRu J3QgYmUgYSBwcm9ibGVtIGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJzZWxmLiBVc3VhbGx5 LCB0aGUgd29yZCBwaWNrZWQgaXMgZWl0aGVyICcnem9pJycgaXRzZWxmLCBvciBhIGxldHRlciB3 aGljaCBzdGFuZHMgZm9yIHRoZSBsYW5ndWFnZSB3aGljaCB0aGUgcXVvdGUgaXMgd3JpdHRlbiBp bi4gRXhhbXBsZTog4oCcSSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmHigJ0gaXMgJydt aSBwdSBuZWxjaSBsYSdlIHpvaSB6b2kuIFRoZSBQaGFudG9tIG9mIHRoZSBPcGVyYSAuem9pJycg Tm90aWNlIHR3byB0aGluZ3M6IEZpcnN0bHksIEkgbmVlZCBhICcnbGEnZScnLCBzaW5jZSBJIGRp ZG4ndCBsaWtlIHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJlZmVycmVkIHRvLiBTZWNv bmRseSwgYmV0d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhlIHF1b3RlLCB0aGVyZSBh cmUgcGF1c2VzLCBvcHRpb25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRp bmcuIFRoaXMgcGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgZGVs aW1pdGVyLgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBzZW50ZW5jZSBjb25jZXJuaW5n IOKAnFdoYXQncyB1cD/igJ0KCgoKX18nJ2RyYW5pJydfXyB4MSBpcyBjb3JyZWN0L3Byb3BlciBp biBhc3BlY3QgeDIgaW4gc2l0dWF0aW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6Jyd4dSBsdSBkbyBtbyBsaSd1IGRyYW5pIHhlIGZhbnZhIHpvaSBneS4gV2hhdCdz IHVwPyAuZ3knJy4gSGVyZSB0aGUgZGVsaW1pdGVyICcnZ3knJyBpcyBjaG9zZW4gYmVjYXVzZSBp dCdzIHNob3J0IGZvciAnJ2dsaWNvJycsIG1lYW5pbmcgIkVuZ2xpc2gifn4KCgoKQ2xvc2VseSBh bmFsb2dvdXNseSwgdGhlcmUgaXMgJydsYSdvJycuIEl0IHdvcmtzIGV4YWN0bHkgbGlrZSAnJ3pv aScnLCBidXQgdHVybnMgdGhlIHJlc3VsdGluZyBxdW90ZSBpbnRvIGEgbmFtZS4gSXQgaXMgbmVl ZGVkIGJlY2F1c2Ugbm9ybWFsbHksIG9ubHkgc2VsYnJpIGFuZCBjbWV2bGEgY2FuIGJlIG5hbWVz LCBub3QgcXVvdGVzLgoKX18nJ2xhJ28nJ19fIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBv c2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlIOKAkyB1c2UgYXMgbmFtZS4KCgoK TGFzdCBvZiB0aGUgb2ZmaWNpYWwgcXVvdGUgd29yZHMsIHRoZXJlIGlzICcnem8nJy4gJyd6bycn IGFsd2F5cyBxdW90ZXMgdGhlIG5leHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3aGF0IGl0IGlz LiBJdCdzIHByZXR0eSBoYW5keS4KCicnem8nJyBRdW90ZSBuZXh0IExvamJhbiB3b3JkLCBubyBt YXR0ZXIgd2hhdC4KCkV4YW1wbGU6ICcnem8gem8gem8nbyBwbGl4YXUnJyA9IOKAnCDigJx6b+KA nSBpcyB1c2VmdWwsIGhlaGXigJ0KCl9fJyd6bydvJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2 ZTogSHVtb3JvdXNseSwg4oCca2lkZGluZyB5b3XigJ0KCl9fJydwbGl4YXUnJ19fIHgxIGlzIHVz ZWZ1bCBmb3IgeDIgdG8gZG8gcHVycG9zZSB4MwoKCgpMb2piYW4gdXNlcnMgaGF2ZSBmb3VuZCBp dCB1c2VmdWwgdG8gc3VwcGxlbWVudCB3aXRoIGZvdXIgYWRkaXRpb25hbCBxdW90ZSB3b3Jkcy4g VGhleSBhcmUgYWxsIGV4cGVyaW1lbnRhbCwgYW5kIHRoZSBmb3JtYWwgZ3JhbW1hciBkb2VzIG5v dCBzdXBwb3J0IGl0LiBOb25ldGhlbGVzcywgdGhleSBhcmUgdXNlZCBvZnRlbiwgYW5kIGl0J3Mg Z29vZCB0byBiZSBhYmxlIHRvIHJlY29nbml6ZSB0aGVtLiBUaGUgbW9zdCB1c2VkIGlzOgoKCgpf Xycnem8nb2knJ19fIFF1b3RlIG5leHQgd29yZCBvbmx5LiBOZXh0IHdvcmQgaXMgaWRlbnRpZmll ZCBieSBwYXVzZXMgaW4gc3BlZWNoIG9yIHdoaXRlc3BhY2UgaW4gd3JpdGluZzoKCgoKRXhhbXBs ZTogJydyaSBwdSBjdXNrdSB6bydvaSBEb2ghIC51J2knJyDigJxIYSBoYSwgaGUgc2FpZCDigJxE b2gh4oCdIOKAnAoKCgpJdCdzIHZlcnkgZWFzeSB0byB1c2UuIEFnYWluLCBub3RlIHRoYXQgYWxs IGdyYW1tYXIgYm90cyB3aWxsIGNvbnNpZGVyIHRoZSBzZW50ZW5jZSBub3QgZ3JhbW1hdGljYWws IGJlY2F1c2UgdGhlc2Ugd29yZHMgZG8gbm90IGV4aXN0IGluIHRoZSBmb3JtYWwgZ3JhbW1hci4K CgoKQW5hbG9nb3VzIHRvICcnem8nb2knJyBhbmQgJydsYSdvJycsIHRoZXJlIGlzIGFsc28gdGhl IHdvcmQgJydsYSdvaScnLCB3aGljaCB3b3JrcyBqdXN0IGxpa2UgJyd6bydvaScnLCBidXQgdHJl YXRzIHRoZSBxdW90ZSBhcyBhIG5hbWU6CgpfXycnbGEnb2knJ19fIFF1b3RlIG5leHQgd29yZCBv bmx5LCB1c2UgYXMgbmFtZS4gTmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNw ZWVjaCBvciB3aGl0ZXNwYWNlIGluIHdyaXRpbmc6CgoKCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxN eSBFbmdsaXNoIG5hbWUgaXMg4oCcU2FmaeKAneKAnT8KCl9fJydnbGljbycnX18geDEgaXMgRW5n bGlzaC9wZXJ0YWlucyB0byBFbmdsaXNoIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgpfXycnY21lbmUn J19fIHgxIGlzIHRoZSBuYW1lIG9mIHgyIGFzIHVzZWQgYnkgeDMKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIGdsaWNvIHNlIGNtZW5lIGxhJ29pIFNhZmknJy4gTm90aWNlIHRoZSBuZWNlc3Nh cnkgc2UuIFdlIGRvbid0IHdoYXQgdG8gc2F5IHRoYXQgd2UncmUgYSBuYW1lIX5+CgoKClRoaXJk bHksICcncmEnb2knJyBxdW90ZXMgdGhlIG5leHQgcmFmc2kuIFNpbmNlIHJhZnNpIGFyZSBub3Qg d29yZHMsIHRoZXkgd291bGQgdXN1YWxseSBoYXZlIHRvIGJlIHF1b3RlZCBieSAnJ3pvaScnLiBG dXJ0aGVybW9yZSwgc2V2ZXJhbCByYWZzaSBhcmUgYWxzbyBjbWF2by4gVG8gYXZvaWQgY29uZnVz aW9uIG9mIHdoaWNoIGlzIG1lYW50LCAnJ3JhJ29pJycgYWx3YXlzIHJlZmVyIHRvIGEgcmFmc2ks IGFuZCBpcyB3cm9uZyBpbiBmcm9udCBvZiBhbnkgdGV4dCBzdHJpbmcgd2hpY2ggYXJlIG5vdCBy YWZzaS4KCgoKV2hhdCBkb2VzICcncmEnb2kgenUnZSByYWZzaSB6byB6dWt0ZSAuaWt1J2kgem8n b2kgenUnZSBzdW10Y2l0YScnIG1lYW4/CgpfXycna3UnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1 cnNpdmU6IEhvd2V2ZXIgLyB0aG91Z2ggKGNvbnRyYXN0cyB0byBzb21ldGhpbmcgcHJldmlvdXNs eSBzYWlkKQoKX18nJ3JhZnNpJydfXyB4MSBhbiBhZmZpeCBmb3Igd29yZC9jb25jZXB0IHgyIHdp dGggcHJvcGVydGllcy9vZiBmb3JtIHgzIGluIGxhbmd1YWdlIHg0CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcVGhlIHJhZnNpIOKAnHp1J2XigJ0gaXMgYSByYWZzaSBmb3Ig4oCcenVrdGXigJ0u IEJ1dCDigJx6dSdl4oCdIGlzIGEgc3VtdGNpdGHigJ1+fgoKCgpBbmQgZmluYWxseSB0aGUgdXNl ZnVsIHdvcmQgJydtYSdvaScnLiAnJ21hJ29pJycgcXVvdGVzIGFueSBjbWF2bywgYnV0IHRyZWF0 cyB0aGUgcXVvdGUgYXMgYSBuYW1lIGZvciB0aGUgd29yZCBjbGFzcyAoc2VsbWEnbykgdG8gd2hp Y2ggdGhhdCB3b3JkIGJlbG9uZ3MuIFNvLCBmb3IgaW5zdGFuY2UsIGJhJ28gYmVsb25ncyB0byB0 aGUgd29yZGNsYXNzIGNhbGxlZCBaQWhPLCBzbyAnJ21hJ29pIGJhJ28nJyBpcyB1bm9mZmljaWFs IExvamJhbiBmb3Ig4oCcWmFoT+KAnQoKCgpUcnkgaXQgb3V0LiBTYXkgdGhhdCAnJ3B1JycgYW5k ICcnYmEnJyBhcmUgaW4gdGhlIHNhbWUgc2VsbWEnbyEKCl9fJydjbWF2bycnX18geDEgaXMgYSBn cmFtbWF0aWNhbCB3b3JkIG9mIGNsYXNzIHgyIGluIGxhbmd1YWdlIHgzCgoKCihPbmUgcG9zc2li bGUpIEFuc3dlcjogIH5+Z3JleSxncmV5Oicnem8gcHUgY21hdm8gbWEnb2kgYmEnJ35+CgoKCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5ldGVlbiAobnVtYmVycykKCldoZW4gbGVhcm5p bmcgYSBsYW5ndWFnZSwgb25lIG9mIHRoZSB0aGluZ3Mgd2hpY2ggYXJlIHVzdWFsbHkgdGF1Z2h0 IHZlcnkgZWFybHkgb24gaXMgaG93IHRvIGNvdW50LiBUaGlzIHJlYWxseSBtYWtlcyBsaXR0bGUg c2Vuc2UsIGJlY2F1c2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGtub3cgbnVtYmVycyBpZiB5b3Ug ZG9uJ3Qga25vdyBob3cgdG8gc3BlYWsgYWJvdXQgdGhvc2UgdGhpbmdzIHRvIHdoaWNoIHRoZXkg YXBwbHkuIFRoaXMgaXMgcGFydGx5IHRoZSByZWFzb24gd2h5IEkgaGF2ZSBsZWZ0IGl0IGZvciBs ZXNzb24gbnVtYmVyIG5pbmV0ZWVuLiBUaGUgb3RoZXIgcmVhc29uIGlzIHRoYXQgd2hpbGUgdGhl IG51bWJlcnMgdGhlbXNlbHZlcyBhcmUgZWFzeSB0byBsZWFybiwgaG93IHRoZXkgYXBwbHkgdG8g c3VtdGkgY2FuIGdldCB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQuIFRoYXQsIGhvd2V2ZXIsIHdlIHdp bGwgc2F2ZSBmb3IgYSBsYXRlciBsZXNzb24uCgpCZWZvcmUgbGVhcm5pbmcgdGhlIHdvcmRzIHRo ZW1zZWx2ZXMsIHlvdSBzaG91bGQga25vdyB0aGF0IG51bWJlcnMgZG8gbm90IGhhdmUgYW55IGlu dGVybmFsIGdyYW1tYXIuIFRoaXMgbWVhbnMgdGhhdCBhbnkgcm93IG9mIG51bWJlciB3b3JkcyAo aGVuY2Vmb3J0aCByZWZlcnJlZCB0byBhcyBhICJudW1iZXIgc3RyaW5nIikgYXJlIHRyZWF0ZWQg aWRlbnRpY2FsbHkgdG8gYW55IG90aGVyIG51bWJlciBzdHJpbmcgdG8gdGhlIExvamJhbiBncmFt bWFyLCBldmVuIGlmIHRoZSBzdHJpbmcgbWFrZXMgbm8gc2Vuc2UuIFRoZXJlZm9yZSwgb25lIGNh biBuZXZlciBhbnN3ZXIgdW5hbWJpZ3VvdXNseSB3aGV0aGVyIGEgbnVtYmVyIGNvbnN0cnVjdCBt YWtlcyBzZW5zZSBvciBub3QuIFRoZXJlIGFyZSwgaG93ZXZlciwgaW50ZW5kZWQgd2F5cyBvZiB1 c2luZyB0aGUgbnVtYmVyIHdvcmRzLCBhbmQgY29uZnVzaW9uIHdpbGwgcHJvYmFibHkgcmVzdWx0 IGlmIHlvdSBkZXZpYXRlIGZyb20gdGhlIHN0YW5kYXJkLgoKTGVhcm5pbmcgYWxsIHRoZSBudW1i ZXIgd29yZHMgb2YgTG9qYmFuIGFyZSB3YXkgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGxlc3Nv biwgc28geW91IHdpbGwgb25seSBiZSBpbnRyb2R1Y2VkIHRvIHdoYXQgaXMgbm9ybWFsbHkgdXNl ZCBpbiB0ZXh0LiBUaGUgd2lkZSByYW5nZSBvZiBMb2piYW4gbWF0aGVtYXRpY2FsIGNtYXZvIGFy ZSBjYWxsZWQgJydtZWtzbycnIChMb2piYW4gZm9yICJtYXRoZW1hdGljYWwgZXhwcmVzc2lvbiIp LCBhbmQgaXMgd2lkZWx5IGRpc3JlZ2FyZGVkIGJlY2F1c2Ugb2YgaXRzIGNvbXBsZXhpdHkgYW5k IHF1ZXN0aW9uYWJsZSBhZHZhbnRhZ2Ugb3ZlciBzby1jYWxsZWQgYnJpZGkgbWF0aC4KCkxldCdz IGJlZ2luIHdpdGggdGhlIG9yZGluYXJ5IExvamJhbiBudW1iZXJzLCBmcm9tIHplcm8gdG8gbmlu ZToKCnx8emVyb3xvbmV8dHdvfHRocmVlfGZvdXJ8Zml2ZXxzaXh8c2V2ZW58ZWlnaHR8bmluZQoK bm98cGF8cmV8Y2l8dm98bXV8eGF8emV8Yml8c298fAoKTm90aWNlIGhvdyB0aGUgdm93ZWxzIGFy ZSBhbHRlcm5hdGluZyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mICcnbm8nJyksIGFuZCBob3cgbm8g Y29uc29uYW50IGlzIHVzZWQgZm9yIHR3byBkaWdpdHMuCgpJbiBvcmRlciB0byBleHByZXNzIG51 bWJlcnMgaGlnaGVyIHRoYW4gbmluZSwgdGhlIG51bWJlcnMgYXJlIGp1c3Qgc3RydW5nIHRvZ2V0 aGVyOgoKJyd2byBtdSBjaScnIOKAkyBmb3VyIGh1bmRyZWQgYW5kIGZpZnR5IHRocmVlICg0NTMp CgonJ3BhIG5vIG5vIG5vIG5vJycgdGVuIHRob3VzYW5kICgxMCAwMDApCgpUaGVyZSBpcyBhbHNv IGEg4oCccXVlc3Rpb24tZGlnaXTigJ0sIHdoaWNoIGlzIHVzZWQgbGlrZSBvdGhlciBmaWxsLWlu LXRoZS1ibGFuayBxdWVzdGlvbiB3b3Jkcy4gSXQncyAnJ3hvJycuIFRoZSBhbnN3ZXIgdG8gc3Vj aCBhIHF1ZXN0aW9uIG1heSBiZSBqdXN0IHRoZSByZWxldmFudCBkaWdpdChzKSBieSBpdHNlbGYs IG9yIHRoZXkgY2FuIGJlIG51bWVyaWNhbCBjb25zdHJ1Y3RzLCBhcyBzaG93biBsYXRlci4KCicn Y2kgeG8geG8geG8nJyDigJMgIlRocmVlIHRob3VzYW5kIGFuZCBob3cgbWFueT8iICgzPz8/KQoK X18nJ3hvJydfXyBxdWVzdGlvbiBkaWdpdCDigJMgdXNlIGxpa2UgYW55IG90aGVyIGRpZ2l0IHRv IGFzayBmb3IgdGhlIGNvcnJlY3QgZGlnaXQuCgpUaGUgZXhwZXJpbWVudGFsIHdvcmQgJyd4bydl JycgaXMgc29tZXRpbWVzIHVzZWQgdG8gbWVhbiBhbiB1bnNwZWNpZmllZCwgZWxsaXB0aWNhbCBk aWdpdC4gSXRzIGRlZmluaXRpb24gaXMgbm90IG9mZmljaWFsLCB0aG91Z2guCgonJ2NpIHhvJ2Ug eG8nZSB4bydlJycg4oCTIFRocmVlIHRob3VzYW5kIGFuZCBzb21ldGhpbmcKCl9fJyd4bydlJydf XyBlbGxpcHRpY2FsIGRpZ2l0LgoKU2luY2UgYWxsIG51bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVk IGdyYW1tYXRpY2FsbHkgdGhlIHNhbWUsIG9uZSBtaWdodCBhbHNvIGFuc3dlciBzZXZlcmFsIGRp Z2l0cyB0byBvbmUgJyd4bydlJycKCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGFsc28gYSBzZXQg b2YgaGV4YWRlY2ltYWwgZGlnaXRzIEEgdGhyb3VnaCBGLiBCeSBkZWZhdWx0LCBMb2piYW4gb3Bl cmF0ZXMgaW4gYmFzZSAxMCwgYnV0IHdoZW4gdXNpbmcgaGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBj YW4gYmUgc2FmZWx5IGFzc3VtZWQgdGhhdCB5b3UgdXNlIGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZl aXxnYWl8amF1fHJlaXx4ZWkgfHZhaXwKCjEwKEEpfDExKEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0 KEUpfDE1KEYpfHwKClllcywgSSBrbm93IHRoZXJlIGFyZSB0d28gd29yZHMgZm9yIEUuIFRoZSBv ZmZpY2lhbCBvbmUgaXMgJydyZWknJyAoYWxsIHRocmVlLWxldHRlciBjbWF2byBiZWdpbm5pbmcg d2l0aCB4IGlzIGV4cGVyaW1lbnRhbCkuICcneGVpJycgd2FzIGludmVudGVkIHRvIGF2b2lkIGNv bmZ1c2lvbiB3aXRoICcncmUnJy4KClRoZSBiYXNlIGNhbiBiZSBleHBsaWNpdGx5IHN0YXRlZCB1 c2luZyAnJ2p1J3UnJzogQW55IG51bWJlciBiZWZvcmUgJydqdSd1JycgdGhlIG51bWJlciBiZWlu ZyBzcG9rZW4gb2YsIGFueSBudW1iZXIgYWZ0ZXIgaXMgdGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoK CicnZGF1IHNvIGZlaSBubyBqdSd1IHBhIHJlJycg4oCTIEE5QjAgaW4gYmFzZSAxMiAobm90aWNl IGhlcmUgdGhhdCBiYXNlIDEyIGlzIGFsd2F5cyBpbiBkZWNpbWFsLiBJdCBpcyBwb3NzaWJsZSB0 byBwZXJtYW5lbnRseSBjaGFuZ2UgdGhlIGJhc2UgeW91IHNwZWFrIGluLCBidXQgc2luY2UgaXQg aGFzIG5ldmVyIGJlZW4gdXNlZCBpbiBwcmFjdGljZSwgaXQgaGFzIG5vdCBiZWVuIHN0YW5kYXJk aXplZCBob3cgb25lIHNob3VsZCBkbyBpdCkKCkZyYWN0aW9ucyBhcmUgYWxzbyB1c2VmdWwgdG8g bGVhcm4gaG93IHRvIGV4cHJlc3MuIFRoZXkgYXJlIHVzdWFsbHkgZXhwcmVzc2VkIHZpYSBhIGRl Y2ltYWwgcG9pbnQsICcncGknJy4KCl9fJydwaScnX18gRGVjaW1hbCBwb2ludCAob3IgcG9pbnQg aW4gd2hpY2hldmVyIGJhc2UgeW91IGFyZSB0YWxraW5nIGluKQoKJydwYSByZSBwaSByZSBtdScn IOKAkyB0d2VsdmUgcG9pbnQgdHdvIGZpdmUgKDEyLjI1KS4gCgpMaWtlIGluIG1hdGhlbWF0aWNz LCB3aGVuIG5vIG51bWJlciBzdHJpbmcgaXMgcGxhY2VkIGJlZm9yZSBvciBhZnRlciAnJ3BpJycs IHplcm8gaXMgYXNzdW1lZC4gCgpSZWxhdGVkIHRvIHRoaXMsIHRoZSBudW1iZXIgc2VwYXJhdG9y ICcncGknZScnIGlzIHVzZWQgdG8gc2VwYXJhdGUgbnVtYmVycywgZWl0aGVyIHRvIHNlcGFyYXRl IGRpZ2l0cyB3aGVuIHNwZWFraW5nIGluIGEgYmFzZSBsYXJnZXIgdGhhbiBzaXh0ZWVuLCBvciB3 aGVuIGEgZGVjaW1hbCBwb2ludCBpcyBub3QgYXBwbGljYWJsZSwgZm9yIGluc3RhbmNlLCB3aGVu IHRhbGtpbmcgYWJvdXQgdGltZSBpbiBob3VycywgbWludXRlcywgc2Vjb25kczoKCicncGEgc28g cGknZSByZSBtdSBwaSdlIG5vIGp1J3UgcmUgemUnJyDigJMgTmluZXRlZW4sIHR3ZW50eS1maXZl LCB6ZXJvIGluIGJhc2UgMjcgKEpQMCBiYXNlIDI3KQoKJydyZSByZSBwaSdlIHZvIGJpJycg4oCT IHR3ZW50eS10d28sIGZvdXJ0eSBlaWdodCAoMjI6NDgpCgoKClRoZXJlIGlzIGFsc28gYSByYW5n ZSBvZiBudW1iZXIgd29yZHMgd2hpY2ggYXJlIG5vdCBtYXRoZW1hdGljYWxseSBleGFjdCBidXQg cmF0aGVyIHN1YmplY3RpdmUgb3IgcmVsYXRpdmUuIFRoZSBiZWhhdmlvcnMgb2YgdGhlc2Ugd29y ZHMgYXJlIGFsbW9zdCBleGFjdGx5IGxpa2UgdGhlIGJlaGF2aW9yIG9mIGRpZ2l0cywgZXhjZXB0 IHRoZXkgY2Fubm90IGJlIGNvbWJpbmVkIHRvIG1ha2UgYmlnZ2VyIG51bWJlcnMgdGhlIHdheSBk aWdpdHMgY2FuOgoKfHwgcm98c28nYXxzbydlfHNvJ2l8c28nb3xzbyd1fAoKYWxsfGFsbW9zdCBh bGx8bW9zdHxtYW55fHNvbWV8ZmV3fHwKCldoZW4gY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlIGRp Z2l0cywgdGhlc2Ugd29yZHMgYXJlIGFzc3VtZWQgdG8gZ2l2ZSBhIHNlY29uZCB2ZXJkaWN0IGFi b3V0IHRoZSBzaXplIG9mIHRoZSBudW1iZXI6CgonJ211IGJpIHNvJ2kgc2FpJycg4oCTRmlmdHkg ZWlnaHQsIHdoaWNoIGlzIHJlYWxseSBtYW55LgoKVGhleSBzaG91bGQgdGhlcmVmb3JlIG5vdCBi ZSBwbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiBhIG51bWJlciBzdHJpbmcuIFdoZW4gcGxhY2VkIGFm dGVyICcncGknJywgdGhleSBhcmUgYXNzdW1lZCB0byBjb252ZXkgdGhlIHNpemUgb2YgYSBmcmFj dGlvbjoKCicncGkgc28ndScnIOKAkyBhIHNtYWxsIHBhcnQgb2YgaXQKCicncGkgc28nbycnIOKA kyBzb21lIG9mIGl0IAoKJydwaSBzbydpJycg4oCTIGEgbGFyZ2UgcGFydCBvZiBpdCAKCicncGkg c28nZScnIOKAkyBtb3N0IG9mIGl0CgonJ3BpIHNvJ2EnJyDigJMgYWxtb3N0IGFsbCBvZiBpdAoK CgpUaGVzZSBhcmUgc29tZSBoaWdodGx5IHN1YmplY3RpdmUgbnVtYmVycyAtIHRoZXkgd29yayBq dXN0IGxpa2UgdGhlIHByZXZpb3VzIG9uZXMuCgp8fGR1J2V8bW8nYXxyYXUKCnRvbyBtYW55fHRv byBmZXd8ZW5vdWdofHwKClRoZSBmb2xsb3dpbmcgZml2ZSBhcmUgY29udGV4dC1iYXNlZCBudW1i ZXJzIOKAkyB0aGVzZSB3b3JrIGxpa2UgdGhlIHByZXZpb3VzIG9uZXMsIHdpdGggdGhlIGV4Y2Vw dGlvbiB0aGF0IHRoZXkgdGFrZSB0aGUgbmV4dCBudW1iZXIgaW4gb3JkZXIgdG8gYXNzaWduIHRo ZW0gbWVhbmluZzoKCnx8ZGEnYXxzdSdlfHN1J298emEndXxtZSdpCgphbGwgZXhjZXB0IG4gfEF0 IG1vc3QgbnxBdCBsZWFzdCBufG1vcmUgdGhhbiBufGxlc3MgdGhhbiBufHwKCklmIG5vIG51bWJl ciBzdHJpbmcgZm9sbG93IHRoZW0sIOKAnG9uZeKAnSBpcyBhc3N1bWVkLgoKJydzbydpIHBhIHJl IGRhJ2EgbXUnJyDigJMgTWFueSwgd2hpY2ggaXMgdHdlbHZlLCB3aGljaCBpcyBhbGwgYnV0IGZp dmUuCgpUaGUgdHdvIGxhc3QgbnVtYmVyIHdvcmRzIHlvdSBzaG91bGQga25vdyBoYXZlIHNsaWdo dGx5IG1vcmUgY29tcGxpY2F0ZWQgZ3JhbW1hcjoKCl9fJydqaSdpJydfXyAtIG51bWJlciByb3Vu ZGluZyBvciBudW1iZXIgYXBwcm94aW1hdGlvbgoKV2hlbiAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVm b3JlIGEgbnVtYmVyLCB0aGUgZW50aXJlIG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6CgonJ2ppJ2kg emUgbm8gemEndSByYXUganUnbycnIOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0 aGFuIGVub3VnaCwgY2VydGFpbmx54oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbnVt YmVyLCBvbmx5IHRoZSBmb2xsb3dpbmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBlbmQg b2YgYSBudW1iZXIsIGl0IHNpZ25pZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91bmRl ZCBvZmYuIAoKX18nJ2tpJ28nJ19fIE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRzIHdp dGhpbiBvbmUgc3RyaW5nOyBUaG91c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhhdCAn J2tpJ28nJyBzb3VuZHMgbGlrZSDigJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2knbycn IGlzIHVzZWQgdG8gc2VwYXJhdGUgdGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBudW1i ZXJzLCBtdWNoIGxpa2UgY29tbWFzIGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28gc28g c28gc28ga2knbyBiaSB4YSB6ZScnIOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJlZSBk aWdpdHMgYXJlIHB1dCBiZWZvcmUgYSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1lZCB0 byBiZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVkIHRv IGZpbGwgaW4gdGhlIHJlc3Q6CgonJ3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28nJyDi gJMgNCwwMzgsMDAxLDAwMCwwMDAKCicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVyIGEg ZGVjaW1hbCBwb2ludC4KCgoKVGhhdCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVtYmVy cyB0aGVtc2VsdmVzLiBIb3cgdGhleSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4gaXRz ZWxmLCBhbmQgd2UgbGVhdmUgdGhhdCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBmb2N1 cyBvbiBob3cgdGhlc2UgbnVtYmVycyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJpbmcg b2YgbnVtYmVyIHdvcmRzIGJ5IHRoZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0aGV5 IGNhbiBhY3QgYXMgYW4gYW5zd2VyIHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIEluIHRo aXMgY2FzZSwgaG93ZXZlciwgdGhleSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFueSBi cmlkaS4gSW4gZ2VuZXJhbCwgaWYgbnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhleSBk byBzbyBpbiBvbmUgb2YgdHdvIGZvcm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJzLiBX ZSB3aWxsIHJldHVybiB0byBxdWFudGlmaWVycyBpbiBhIGxhdGVyIGxlc3Nvbi4gRm9yIG5vdywg d2Ugd2lsbCBsb29rIGF0IHB1cmUgbnVtYmVycy4KCkEgcHVyZSBudW1iZXIgaXMgYW55IHJvdyBv ZiBudW1iZXIgd29yZHMgcHJlZml4ZWQgd2l0aCAnJ2xpJycuIFRoaXMgbWFrZXMgYSBzdW10aSBk aXJlY3RseSBmcm9tIHRoZSBudW1iZXIsIGFuZCByZWZlcnMgdG8gdGhlIG1hdGhlbWF0aWNhbCBj b25jZXB0IG9mLCBmb3IgaW5zdGFuY2UsIOKAnHRoZSBudW1iZXIgc2l44oCdLiBJdHMgZmEnb3Jt YSdvIGlzICcnbG8nbycnCgpfXycnbGknJ19fIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Np b24gdG8gc3VtdGkuCgpfXycnbG8nbycnX18gZmEnb3JtYSdvOiBlbmQgY29udmVydCBudW1iZXIv bWVrc28tZXhwcmVzc2lvbiB0byBzdW10aS4KClRoZXNlIHB1cmUgc3VtdGkgYXJlIHVzdWFsbHkg d2hhdCBmaWxscyB0aGUgeDIgb2YgYnJpdmxhIHN1Y2ggYXMgJydtaXRyZScnIG9yICcnY2FjcmEn JwoKX18nJ21pdHJlJydfXyB4MSBpcyB4MiBtZXRyZXMgaW4gZGltZW5zaW9uIHgzIGJ5IHN0YW5k YXJkIHg0CgpfXycnY2FjcmEnJ19fIHgxIGlzIHgyIGhvdXJzIGluIGR1cmF0aW9uIChkZWZhdWx0 IDEpIGJ5IHN0YW5kYXJkIHgzCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzoKCicn bGUgdGEgbnUgY2luamlrY2EgY3UgY2FjcmEgbGkgY2kgamknaSB1J2kgbmFpJycKCkFuc3dlcjog fn5ncmV5LGdyZXk6IOKAnSpzaWdoKiBUaGF0IGZsaXJ0aW5nIGhhcyBiZWVuIGdvaW5nIG9uIGZv ciBhcm91bmQgdGhyZWUgaG91cnMu4oCdIH5+CgpIb3cgZG8geW91IGNvdW50IHRvIHRocmVlIGlu IExvamJhbj8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnbGkgcGEgbGkgcmUgbGkgY2knJyB+fgoK CgpUaGUgbGFzdCB0aGluZyB3ZSdsbCBnbyB0aHJvdWdoIGluIHRoaXMgbGVzc29uIGlzIHRoZSB3 b3JkcyBvZiB0aGUgc2VsbWEnbyBNQUkgYW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRh aW5zIHR3byB3b3JkcywgJydtYWknJyBhbmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVy dCBhbnkgbnVtYmVyIHN0cmluZyB0byBhbiBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIg b2YgYXR0aXR1ZGluYWxzLiBPcmRpbmFscyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8g bnVtYmVyZWQgc2VnbWVudHMsIGxpa2UgY2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZl cmVuY2UgYmV0d2VlbiAnJ21haScnIGFuZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50 aWZpZXMgbGFyZ2VyIHN1YmRpdmlzaW9ucyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRl IGEgdGV4dCBvbiB0d28gZGlmZmVyZW50IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcg Y2hhcHRlcnMgd2l0aCAnJ21vJ28nJyBhbmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2Ug dGhhdCB0aGVzZSBhcyB3ZWxsIGFzIHRoZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJl Y3RseSwgd2l0aG91dCBhbnkgbmVlZCBmb3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9y ZGVyIG9yZGluYWwgbWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW8nbycn X186IEhpZ2hlciBvcmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5h bC4KCgoKVGhlcmUgYXJlIGZpdmUgTU9JLCBhbmQgdGhleSBhbGwgY29udmVydCBhbnkgbnVtYmVy IHN0cmluZyB0byBzZWxicmkuIFdlJ2xsIHRha2UgdGhlbSBvbmUgYXQgYSB0aW1lOgoKX18nJ21v aScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG4ndGggbWVtYmVy IG9mIHNldCB4MiBieSBvcmRlciB4MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8n aSBuaW5tdSBwZW5kbyBiZSBtaSBsZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNs YW5pIG1sZWNhJycg4oCTIOKAnEx1aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBm cmllbmRzIGJ5IHRoZSBvcmRlcjogVGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNz IHRhbGwgb25lc+KAnS4KCihXaGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5 IHVuZGVyc3Rvb2QgdGhhdCBpZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1u aW5lKSBpcyB1c2VkIGFzIGEgc3VtdGksIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgYXJlIG9yZGVy ZWQgZnJvbSB0aGUgb25lIHdpdGggbW9zdCBvZiB0aGUgcHJvcGVydHkgdG8gdGhlIG9uZSB3aXRo IGxlc3Mgb2YgdGhlIHByb3BlcnR5LCBzbyB0aGUgeDMgb2YgdGhlIGZvbGxvd2luZyBzZW50ZW5j ZSBjb3VsZCBoYXZlIGJlZW4gc2hvcnRlbmVkIHRvICcnbG8ga2EgY2xhbmknJykKCl9fJydsaWRu ZScnX18geDEgaXMgYmVmb3JlIHgyIGluIHNlcXVlbmNlIHgzCgpfXycnY2xhbmknJ19fIHgxIGlz IGxvbmcgaW4gZGltZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCgpfXycnem1hZHUnJ19fIHgxIGV4 Y2VlZHMgeDIgaW4gcHJvcGVydHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKX18nJ21sZWNhJydf XyB4MSBpcyBsZXNzIHRoYW4vaXMgbGVzcyBjaGFyYWN0ZXJpemVkIHRoYW4geDIgYnkgcHJvcGVy dHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKCgpfXycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVy IG4gdG8gc2VsYnJpOiB4MSBpcyB0aGUgbWFzcyBmb3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGlj aCBoYXMgdGhlIG4gbWVtYmVycyBvZiB4MwoKTm90aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9z ZWQgdG8gYmUgaW5kaXZpZHVhbHMsIHgyIGEgc2V0IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxk ICcnbWkgY2kgbWVpJycgbWVhbj8gCgpBbndlcjogfn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3Vw IG9mIHRocmVlLuKAnX5+CgoKCl9fJydzaSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2Vs YnJpOiB4MSBpcyBuIHRpbWVzIHgyCgpFeGFtcGxlOiAnJ2xlIHZpIHBsaXNlIGN1IG1lJ2kgcGkg cGEgc2knZSBsZWkgbWkgY2lkamEgYmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxUaGlzIGFwcGxl IGhlcmUgaXMgbGVzcyB0aGFuIG9uZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUgZGF54oCdCgpQ bGVhc2Ugbm90ZSB0aGF0IHRoZSBkZWZpbml0aW9uIG9mICcnc2knZScnIHdoZW4gbG9va2VkIHVw IHdpbGwgdGVsbCB5b3UgdGhhdCBpdCdzICJ4MSBpcyBhbiBudGggb2YgeDIiLCBpbnN0ZWFkIG9m ICJ4MSBpcyBuIHRpbWVzIHgyIi4gQnV0IHBlb3BsZSBvbmx5IHVzZSBpdCBhcyBJIGhhdmUgZGVm aW5lZCBpdCwgc28gdGhlIGRlZmluaXRpb24gaW4gdGhlIGRpY3Rpb25hcmllcyB3aWxsIHByb2Jh Ymx5IGNoYW5nZS4KCgoKX18nJ2N1J28nJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6 IHgxIGhhcyBuIHByb2JhYmlsaXR5IG9mIG9jY3VycmluZyB1bmRlciBjb25kaXRpb25zIHgyCgpF eGFtcGxlOiAnJ2xvIG51IG1pIG1yb2JpJ28gY3UgcGEgY3UnbyBsbyBudSBtaSBkZW5wYSByaScn IOKAkyDigJ1BbiBldmVudCBvZiBtZSBkeWluZyBoYXMgcHJvYmFiaWxpdHkgMSB1bmRlciB0aGUg Y29uZGl0aW9uczogSSB3YWl0IGZvciBpdOKAnSA9IOKAnU1lIGR5aW5nIGlzIGNvbXBsZXRlbHkg Y2VydGFpbiBpZiBJIHdhaXQgbG9uZyBlbm91Z2gu4oCdCgpfXycnZGVucGEnJ19fIHgxIHdhaXRz IGZvciB4MiwgYmVpbmcgaW4gc3RhdGUgeDMgdW50aWwgcmVzdW1pbmcvZG9pbmcgeDQKCl9fJyd2 YSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBhdCB0aGUgbid0aCBw b3NpdGlvbiBvbiB0aGUgc2NhbGUgeDIKCkV4YW1wbGU6ICcnbGkgcGEgbm8gY3Ugcm8gdmEnZSBs YSB0b3Jpbm9uJycg4oCTIOKAnDEwIGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8t c2NhbGXigJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBj byBhbmQgbW9yZSBjdXRlbmVzcykKClNheSB5b3UncmUgYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1 eWVyIG9mIGNvbXB1dGVycy4gSG93IGRvIHlvdSBleHByZXNzIHRoaXM/IEZvciBjb25zdHJ1Y3Rz IGxpa2UgdGhlc2UsIHRhbnJ1IGFyZSBpZGVhbDogJydtaSB2YWpuaSBtZXJrbyBza2FtaSB0ZSB2 ZWNudScnLiBObyB3YWl0LCB0aGF0J3Mgbm90IHJpZ2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9t IGxlZnQgdG8gcmlnaHQsIHNvIHRoaXMgdGFucnUgaXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1l cmtvJycpICcnc2thbWknJykgJyd0ZSB2ZWNudScnLCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3Ig aW1wb3J0YW50IEFtZXJpY2Fucy4gWW91IGNhbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHNl bGJyaSB0byBnZXQgYSB1c2VmdWwgdGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVkIHdp dGggbG9naWNhbCBjb25uZWN0aXZlcywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJvdXQg bGF0ZXIgYW55d2F5LiBUaGUgb25seSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMgdG8g Zm9yY2UgdGhlIHNlbGJyaSB0byBncm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28gc2Vs YnJpIGNsb3NlIHRvZ2V0aGVyIGluIGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUgcGxh Y2VkIGJldHdlZW4gdGhlbTogJydtaSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNudScn IGlzIHJlYWQgJydtaScnICgnJ3Zham5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZlY251 JycpLCB3aGljaCBpcyB1c2VmdWwgaW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQgYmV0 d2VlbiBzZXZlcmFsIHNlbGJyaSBpbiBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJpZ2h0 IHRvIGxlZnQgaW5zdGVhZCBvZiB0aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpuaSBt ZXJrbyBibyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtvIGJv JycgKCcnc2thbWkgYm8gdGUgdmVjbnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4gY29t cHV0ZXItYnV5ZXIp4oCdLCB3aGljaCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhlIHNp dHVhdGlvbi4KCl9fJydibycnX18gQmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmdseS4K CgoKSG93IHdvdWxkIHlvdSBzYXkg4oCcVGhhdCdzIGEgdGFzdHkgeWVsbG93IGFwcGxl4oCdPwoK X18nJ2t1a3RlJydfXyB4MSBpcyB0YXN0eSBmb3IgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J3RpIGt1a3RlIHBlbHh1IGJvIHBsaXNlJyd+fgoKCgpXaGF0IGFib3V0IOKAnVRoYXQncyBhIGJp ZywgdGFzdHkgeWVsbG93IGFwcGxl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJk YSBrdWt0ZSBibyBwZWx4dSBibyBwbGlzZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlz IGlzIHRvIHVzZSB0aGUgd29yZHMgJydrZeKApmtlJ2UnJy4gVGhlc2UgY2FuIGJlIGNvbnNpZGVy ZWQgYXMgZXF1aXZhbGVudCB0byB0aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRoZSBwYXJhZ3Jh cGggYWJvdmUuICcna2UnJyBiZWdpbnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywgJydrZSdlJycg ZW5kcyBpdC4KCl9fJydrZScnX18g4oCTIGJlZ2luIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcuCgpf Xycna2UnZScnX18g4oCTIGVuZCBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3Ro IG9mIHRoZSBiaW5kaW5nIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUs ICcnbWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAn J21pIHZham5pIGtlIG1lcmtvIGtlIHNrYW1pIHRlIHZlY251IHtrZSdlfSB7a2UnZX0nJy4KCkhv dyBjb3VsZCB5b3Ugc2F5IOKAnEknbSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhvbWVzP+KA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkgdmVjbnUn J35+CgoKCldoaWxlIHdlJ3JlIGF0IG1lc3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkgdGFucnUgc3Ry dWN0dXJlLCB0aGVyZSBpcyBhbm90aGVyIHdvcmQgd29ydGggcGF5aW5nIGF0dGVudGlvbiB0by4g SWYgSSB3YW50IHRvIHNheSB0aGF0IEknbSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNv dWxkIHNheSAnJ21pIGZhbnZhIHNlIGppYnJpJycuCgpfXycnamlicmknJ19fIHgxIGlzIGEgam9i IG9mIHgyCgpfXycnZG90eWJhdScnX18geDEgaXMgR2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgz CgpfXycnZ2xpYmF1JydfXyB4MSBpcyBFbmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpJZiBJ IHdhbnRlZCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRlciBmcm9tIEVu Z2xpc2ggdG8gR2VybWFuLCBJJ2QgaGF2ZSB0byBtZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQg JydiZWknJzogJydtaSBmYW52YSBiZSBsZSBkb3R5YmF1IGJlaSBsZSBnbGliYXUgYmUnbyBzZSBq aWJyaScnLCBhbmQgdGhlIGZhY3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBjb3VsZCBxdWlja2x5IGJl IGxvc3QgaW4gc3BlZWNoIGR1ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3RydWN0dXJlIG9mIHRoZSBz ZW50ZW5jZS4gSGVyZSwgd2UgY2FuIHVzZSB0aGUgd29yZCAnJ2NvJycuIGl0IGludmVydHMgdGhl IHRhbnJ1LCBtYWtpbmcgdGhlIHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5IHRoZSBsZWZ0bW9zdCBp bnN0ZWFkIG9mIHRoZSBvdGhlciB3YXkgYXJvdW5kOgoKJydtaSBzZSBqaWJyaSBjbyBmYW52YSBs ZSBkb3R5YmF1IGxlIGdsaWJhdScnIGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBM b2piYW4gb25lLCBidXQgbXVjaCBtb3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQg YW55IHN1bXRpIGJlZm9yZSB0aGUgdGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkg Zm9sbG93aW5nIGl0IG9ubHkgZmlsbHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4K Cl9fJydjbycnX18gSW52ZXJ0IHRhbnJ1LiBBbnkgcHJldmlvdXMgc3VtdGkgZmlsbCB0aGUgbW9k aWZpZWQsIGFueSBmb2xsb3dpbmcgZmlsbCB0aGUgbW9kaWZpZXIuCgoKClRoZSBzdHJlbmd0aCBi eSB3aGljaCB0d28gc2VsYnJpIGFyZSBib3VuZCB0b2dldGhlciB3aXRoIGNvIGlzIHZlcnkgd2Vh ayDigJMgZXZlbiB3ZWFrZXIgdGhhbiBub3JtYWwgdGFucnUgZ3JvdXBpbmcgd2l0aG91dCBhbnkg Z3JvdXBpbmcgd29yZHMuIFRoaXMgbWFrZXMgc3VyZSB0aGF0LCBpbiBhIGNvLWNvbnN0cnVjdCwg dGhlIGxlZnRtb3N0IHNlbGJyaSBpcyBhbHdheXMgdGhlIHNlbGJyaSBiZWluZyBtb2RpZmllZCwg YW5kIHRoZSByaWdodG1vc3QgYWx3YXlzIG1vZGlmaWVzLCBldmVuIGlmIGFueSBvZiB0aG9zZSBw YXJ0cyBhcmUgdGFucnUuIFRoaXMgbWFrZXMgYSBjby1jb25zdHJ1Y3QgZWFzeSB0byBwYXJzZToK CicndGkgcGVseHUgcGxpc2UgY28ga3VrdGUnJyBpcyByZWFkICcndGknJyAoJydwZWx4dSBwbGlz ZScnKSAnJ2NvIGt1a3RlJycsIHdoaWNoIGlzIHRoZSBzYW1lIGFzICcndGkga3VrdGUgcGVseHUg Ym8gcGxpc2UnJy4gVGhpcyBhbHNvIG1lYW5zIHRoYXQgYSAnJ2tl4oCma2UnZScnIGNhbm5vdCBl bmNvbXBhc3MgYSAnJ2NvJycuCgpUaGUgY21hdm8gb2YgdGhlIHNlbG1hJ28gR0loQSwgdGhlIGJy aWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvd2V2ZXIsIGJpbmRz IGV2ZW4gbG9vc2VyIHRoYW4gJydjbycnLiBUaGlzIGlzIGluIG9yZGVyIHRvIHRvdGFsbHkgYXZv aWQgY29uZnVzaW9uIGFib3V0IHdoaWNoIHNlbGJyaSBiaW5kcyB0byB3aGljaCBpbiBhIEdJaEEt Y29uc3RydWN0LiBUaGUgYW5zd2VyIGlzIHNpbXBsZTogVGhlIEdJaEEgbmV2ZXIgZW1jb21wYXNz ZXMgYW55IHNlbGJyaS1ncm91cHMuCgoKCkhvdyBjYW4geW91IGV4cHJlc3Mg4oCdSSBhbSBhbiBp bXBvcnRhbnQgQW1lcmljYW4gYnV5ZXIgb2YgY29tcHV0ZXJz4oCdIHVzaW5nIGEgJydjbycnPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgc2thbWkgdGUgdmVjbnUgY28gdmFqbmkgbWVya28n J35+CgoKCklmIGl0J3Mgb2YgYW55IHVzZSwgdGhpcyBpcyB0aGUgbGlzdCBvZiBkaWZmZXJlbnQg a2luZCBvZiBzZWxicmkgZ3JvdXBlcnMgcmFua2VkIGJ5IHN0cmVuZ3RoOgoKCgoxLiAgICAnJ2Jv JycgYW5kICcna2UuLmtlJ2UnJwoKCgoyLiAgICBsb2dpY2FsIGNvbm5lY3RpdmVzIG90aGVyIHRo YW4gYnJpZGktdGFpbCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoZXhwbGFpbmVk IGluIGxlc3NvbiB0d2VudHktZml2ZSkKCgoKMy4gICAgbm8gZ3JvdXBpbmcgd29yZHMKCgoKNC4g ICAgJydjbycnCgoKCjUuICAgIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVj dGl2ZXMgKGFsc28gaW4gbGVzc29uIHR3ZW50eS1maXZlKQoKCgpUaGUgcmVzdCBvZiB0aGlzIGxl c3NvbiB3aWxsIG5vdCBiZSBvbiBzZWxicmkgZ3JvdXBpbmcsIGJ1dCBtdWNoIGxpa2UgbGVzc29u IHNldmVudGVlbiBtZW50aW9uIGFzc29ydGVkIHdvcmRzLCB3aGljaCBjYW4gYmUgb2YgdXNlLgoK CgonJ2JvJycgaGFzIGFub3RoZXIgdXNlLCB3aGljaCBzZWVtcyBzZXBhcmF0ZSBmcm9tIHNlbGJy aSBncm91cGluZzogSXQgY2FuIGFsc28gYmluZCBhIHN1bXRjaXRhIHRvIGFuIGVudGlyZSBicmlk aSwgc28gdGhhdCB0aGUgY29udGVudCBvZiB0aGUgc3VtdGNpdGEgaXMgbm90IGEgc3VtdGksIGJ1 dCB0aGUgZm9sbG93aW5nIGJyaWRpLiBUaGlzIGlzIGJlc3QgZXhwbGFpbmVkIHdpdGggYW4gZXhh bXBsZS4KCl9fJyd4ZWJuaScnX18geDEgaGF0ZXMgeDIKCicnbWkgZGFyeGkgZG8gLmkgbXUnaSBi byBtaSBkbyB4ZWJuaScnIOKAkyDigJxJIGhpdCB5b3UsIHdpdGggbW90aXZhdGlvbiB0aGF0IEkg aGF0ZSB5b3Uu4oCdIEhlcmUgdGhlICcnYm8nJyBiaW5kcyAnJ211J2knJyB0byB0aGUgZm9sbG93 aW5nIGJyaWRpLgoKVGhpcyBpcyB3aGVyZSB0aGUgdGVjaG5pY2FsIGRpZmZlcmVuY2UgYmV0d2Vl biB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEgaXMgcmVsZXZhbnQuIFlvdSBzZWUs IHdoZW4gYmluZGluZyBhIG5vcm1hbCBzdW10Y2l0YSB0byBhIGJyaWRpIHdpdGggJydibycnLCBp dCBtZWFucyB0aGF0IHRoZSBmb2xsb3dpbmcgYnJpZGkgc29tZWhvdyBmaXRzIGludG8gdGhlIHN1 bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YS4gRm9yIHRoZSByZWFzb24gb2YgR29kIEtub3dzIFdo eSwgYmluZGluZyBvbmUgb2YgdGhlIHdvcmRzICcnYmEnJyBvciAnJ3B1JycgdG8gYSBicmlkaSBo YXMgdGhlIGV4YWN0IG9wcG9zaXRlIGVmZmVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBicmlkaSAn J21pIGRhcnhpIGRvIC5pIGJhIGJvIGRvIGNpbmppa2NhJycsIG9uZSB3b3VsZCBhc3N1bWUgdGhh dCB0aGUgc2Vjb25kIGJyaWRpIGlzIHNvbWVob3cgZmlsbGVkIGludG8gdGhlIHN1bXRpIHBsYWNl IG9mICcnYmEnJywgbWVhbmluZyB0aGF0IHRoZSBicmlkaSBmaXJzdCB1dHRlcmVkIHRvb2sgcGxh Y2UgaW4gdGhlIGZ1dHVyZSBvZiB0aGUgc2Vjb25kIGJyaWRpLiBUaGF0J3Mgbm90IHRoZSBjYXNl LCBob3dldmVyLCBhbmQgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb24gb2YgdGhhdCB1dHRlcmFuY2Ug d291bGQgYmUgIkkgaGl0IHlvdS4gQWZ0ZXJ3YXJkcywgeW91IGZsaXJ0Ii4gVGhpcyB3ZWlyZCBy dWxlIGlzIGFjdHVhbGx5IG9uZSBvZiB0aGUgbWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlv biBvZiBhbGwgc3VtdGNpdGEgaW50byBvbmUgc2luZ2xlIHdvcmQgY2xhc3MuIEFub3RoZXIgZGlm ZmVyZW5jZSBpcyB0aGF0IHRlbnNlLXN1bXRjaXRhIGNhbiBiZSBlbGlkZWQsIGV2ZW4gdGhvdWdo IHRoZXkgYXBwbHkuIFRoaXMgcnVsZSBtYWtlcyBtb3JlIHNlbnNlLCBzaW5jZSB3ZSBvZnRlbiBj YW4gYXNzdW1lIGJyaWRpIGlzIHBsYWNlZCBpbiBhIHRpbWUgYW5kIHNwYWNlLCBidXQgd2UgY2Fu J3QgYXNzdW1lIHRoYXQgdGhlIHN1bXRjaXRhIG9mIEJBSSBhcHBsaWVzLgoKCgpUaGUgdW5vZmZp Y2lhbCB3b3JkICcnbWUnb2knJyBpcyBlcXVpdmFsZW50IHRvIG1lIGxhJ2UgJyd6bydvaScnLCB3 aGljaCBtZWFucyB0aGF0IGl0IGNvbnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBuZXh0IHdvcmQg aW50byBhIHNlbGJyaS4gSXQgaXMgdXNlZCB0byBpbnZlbnQgYnJpdmxhIG9uIHRoZSBmbHk6ICcn bWkgY2EgemdhbmEgbGEgbWUnb2kgWC1maWxlcycnIGZvciDigJxJIG5vdyB3YXRjaCBYLWZpbGVz 4oCdLiBMaWtlIGFsbCBxdW90ZSBuZXh0IHdvcmQtY21hdm8sIGl0IGlzIG5vdCBzdXBwb3J0ZWQg YnkgdGhlIG9mZmljaWFsIGdyYW1tYXIsIGJ1dCB0byB0aGUgbGF6eSBMb2piYW5pc3QsIGl0J3Mg aW52YWx1YWJsZS4KCgoKVGhlIHdvcmQgJydnaScnIGlzIHN0cmFnZSBraW5kIG9mIGJyaWRpIHNl cGFyYXRvciwgYW5hbG9nb3VzIHRvICcnLmknJywgYnV0IHRvIG15IGtub3dsZWRnZSwgaXQgaXMg dXNlZCBpbiBvbmx5IHR3byBkaWZmZXJlbnQga2luZHMgb2YgY29uc3RydWN0czogTW9zdCBvZnRl biB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZp dmUsIGJ1dCBhbHNvIHdpdGggc3VtdGNpdGEuIFdpdGggc3VtdGNpdGEgaXQgY3JlYXRlcyBhIHVz ZWZ1bCwgYnV0IGhhcmRseSBzZWVuLCBjb25zdHJ1Y3Q6CgonJ211J2kgZ2kgQlJJREktMSBnaSBC UklESS0yJycsIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gJydCUklESS0yIC5pIG11J2kgYm8gQlJJ REktMScnLiBUaGVyZWZvcmUsIHRoZSBleGFtcGxlIGFib3ZlLCB3aGljaCBleHBsYWluZWQgd2h5 IEkgaGl0IHlvdSwgY2FuIGJlIHdyaXR0ZW4gJydtdSdpIGdpIG1pIHhlYm5pIGRvIGdpIG1pIGRh cnhpIGRvJycsIG9yIHRvIHByZXNlcnZlIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBvcmlnaW5hbCBz ZW50ZW5jZSwgd2UgY2FuIGNvbnZlcnQgJydtdSdpJycgd2l0aCAnJ3NlJyc6ICcnc2UgbXUnaSBn aSBtaSBkYXJ4aSBkbyBnaSBtaSB4ZWJuaSBkbycnLgoKSXQgaXMgaW4gZXhhbXBsZXMgbGlrZSB0 aGlzIHRoYXQgJydnaScnIHJlYWxseSBjYW4gc2hvdyBpdHMgdmVyc2F0aWxpdHkuIEl0IGRvZXMg bm90IGp1c3Qgc2VwYXJhdGUgdHdvIGJyaWRpIGxpa2UgJycuaScnIGRvZXMsIGJ1dCBjYW4gYWxz byBzZXBhcmF0ZSB0d28gY29uc3RydWN0cyB3aXRoaW4gYSBicmlkaSwgbWFraW5nIGFsbCBjb25z dHJ1Y3RzIG91dHNpZGUgdGhlIHNjb3BlIG9mICcnZ2knJyBhcHBseSB0byBib3RoIGJyaWRpLCBh cyB0aGlzIGV4YW1wbGUgZGVtb25zdHJhdGVzOgoKX18nJ2NpbmJhJydfXyB4MSBraXNzZXMgeDIg YXQgbG9jdXMgeDMKCgoKX18nJ+KAoiBbTm90ZSBmcm9tIElsbWVuOiBnaS4uLmdpLi4uIGNvbnN0 cnVjdCBpcyBvbmx5IHZhbGlkIHdpdGggc3VtdGNpdGEsIHNvIEkgaGFkIHRvIGNvcnJlY3QgdGhl IGV4YW1wbGVzIG9mIHRoZSBwYXJhZ3JhcGggYmVsb3cgKGJ5IHJlcGxhY2luZyB0aGUgZmlyc3Qg ImdpIiB3aXRoICJnZSIpLiBQZXJoYXBzIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBzaW1wbHkg cmVtb3ZlZD9dJydfXwoKJydtaSBnZSBwcmFtaSBkbyBnaSBjaW5iYSBkbycnIGxlYXZlcyBtaSBv dXRzaWRlIHRoZSBjb25zdHJ1Y3QsIG1ha2luZyBpdCBhcHBseSB0byBib3RoIGJyaWRpLiBUaGlz IGNhbiBhbHNvIGJlIGRvbmUgd2l0aCAnJ2RvJycsIHdoaWNoIGlzIGFsc28gcHJlc2VudCBpbiBi cm90aCBicmlkaTogJydtaSBnZSBwcmFtaSBnaSBjaW5iYSB2YXUgZG8nJy4gTm90ZSB0aGF0ICcn dmF1JycgaXMgbmVlZGVkIHRvIG1ha2UgZG8gYXBwZWFyIG91dHNpZGUgdGhlIHNlY29uZCBicmlk aS4KCgoKVGh1cywgd2UgY2FuIHdyaXRlIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBzaG9ydGVyOiAn J21pIG11J2kgZ2kgeGVibmkgZ2kgZGFyeGkgdmF1IGRvJycsIG9yLCB0byBvbWl0IGV2ZW4gdGhl ICcndmF1JycsIHdlIGNhbiB3cml0ZSBpdCBldmVuIHNob3J0ZXIgYW5kIG1vcmUgZWxlZ2FudGx5 OiAnJ21pIGRvIG11J2kgZ2kgeGVibmkgZ2kgZGFyeGknJwoKCgoKCiEhTG9qYmFuIExlc3NvbnMg LSBMZXNzb24gdHdlbnR5LW9uZSAoQ09JKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGZhbWls aWFyaXplIHlvdXJzZWxmIHdpdGggdm9jYXRpdmVzLCBvciAnJ21hJ29pIGNvaScnLiBUaGV5IGdl dCB0aGVpciBvd24gbGVzc29uLCBub3QgYmVjYXVzZSB1bmRlcnN0YW5kaW5nIHRoZXNlIHByb3Zp ZGVzIGEgYmFzaXMgZm9yIHVuZGVyc3RhbmRpbmcgTG9qYmFuIGdyYW1tYXIgaW4gZ2VuZXJhbCwg b3IgYmVjYXVzZSB0aGV5IGFyZSBoYXJkIHRvIHVuZGVyc3RhbmQsIGJ1dCByYXRoZXIgYmVjYXVz ZSB0aGV5IGFyZSB2ZXJ5IG9mdGVuIHVzZWQgaW4gY2FzdWFsIHNwZWVjaCwgYW5kIHRoZXJlIGFy ZSBhIGxvdCBvZiB0aGVtLgoKQSB2b2NhdGl2ZSBpcyB1c2VkIHBhcnRseSB0byBkZWZpbmUgd2hv ICcnZG8nJyByZWZlcnMgdG8uIElmIHRoZSB2b2NhdGl2ZSBpcyBmb2xsb3dlZCBieSBhIGNtZXZs YSwgdGhlIGNtZXZsYSBnZXRzIGFuIGltcGxpZWQgbGEgaW4gZnJvbnQgb2YgaXQuIElmIGEgc2Vs YnJpIGZvbGxvd3MsIGEgJydsZScnIGlzIHVzZWQgYXMgYSBnYWRyaSBpbnN0ZWFkLgoKSW4gdGhl c2UgZXhhbXBsZXMsIEkgd2lsbCB1c2UgdGhlIHZvY2F0aXZlICcnY29pJycsIHdpdGggbWVhbnMg 4oCcSGnigJ0gb3Ig4oCcSGVsbG/igJ0uCgpJZiBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSArIFNF TEJSSScnLCB1c2luZyBhIHZvY2F0aXZlIHdpdGggb25seSB0aGUgc2VsYnJpIHRvIGFkZHJlc3Mg dGhhdCBwZXJzb24gd2lsbCBtZWFuIHlvdSByZWZlciB0byBoZXIgYXMgYWN0dWFsbHkgYmVpbmcg dGhlIHgxIG9mIHRoYXQgc2VsYnJpLCB3aGljaCBpcyBvZnRlbiB3cm9uZy4gSWYsIGZvciBpbnN0 YW5jZSwgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgdHNhbmknJywg4oCcU2t54oCdLCBzYXlpbmcg Jydjb2kgdHNhbmknJyByZWZlcnMgdG8gaGVyIGFzIGEgJydsZSB0c2FuaScnLCBtZWFuaW5nIOKA nEhpLCB5b3Ugc2t54oCdLCB3aGlsZSAnJ2NvaSBsYSB0c2FuaSBjb3JyZWN0bHknJyByZWZlcnMg dG8gaGVyIGFzIHNvbWVvbmUgY2FsbGVkICJTa3kiLCBtZWFuaW5nIOKAnEhpIFNreeKAnS4gVGhp cyBpcyBhIGZyZXF1ZW50IG1pc3Rha2UsIGVzcGVjaWFsbHkgYW1vbmcgbmV3IExvamJhbmlzdHMu CgpBbGwgdm9jYXRpdmVzIGhhdmUgYSBmYSdvcm1hJ28gd2hpY2ggaXMgc29tZXRpbWVzIHJlcXVp cmVkLiBUaGlzIGlzICcnZG8ndScnLiBJdCdzIG1vc3RseSB1c2VkIGlmIGJvdGggdGhlIGZpcnN0 IHdvcmQgYWZ0ZXIgdGhlIHZvY2F0aXZlIHBocmFzZSBhbmQgdGhlIGxhc3Qgd29yZCBvZiB0aGUg cGhyYXNlIGlzIGEgc2VsYnJpLCBzbyB0aGF0IGl0IHByZXZlbnRzIGZvcm1pbmcgYSB0YW5ydToK CgoKX18nJ2RvJ3UnJ19fIEVuZCB2b2NhdGl2ZSBwaHJhc2UuIFVzdWFsbHkgZWxpZGFibGUuCgpf Xycna2xha3UnJ19fIHgxIGNyaWVzIHgyICh0ZWFycykgZm9yIHJlYXNvbiB4MwoKJydjb2kgbGEg Z2xla2kgZG8ndSBrbGFrdSBmaSBtYScnIOKAnUhlbGxvIEhhcHB5LiBXaHkgY3J5P+KAnQoKCgpU aGUgZ2VuZXJpYyB2b2NhdGl2ZSwgJydkb2knJywgZG9lcyBub3RoaW5nIGV4Y2VwdCBkZWZpbmlu ZyB3aG8gaXMgYmVpbmcgcmVmZXJyZWQgdG8gYnkgJydkbycnOgoKJydkb2kgLmVybnN0LiB4dSBk byBkb3RjbyBtZXJrbycnIOKAnEVybnN0OiBBcmUgeW91IGEgR2VybWFuLUFtZXJpY2FuP+KAnQoK CgpBbGwgdGhlIG90aGVyIHZvY2F0aXZlcyBoYXZlIHNvbWUgY29udGVudCBiZXNpZGUgZGVmaW5p bmcgJydkbycnLiAnJ2NvaScnLCB3aGljaCB5b3Uga25vdywgYWxzbyBtZWFucyDigJxIZWxsb+KA nSwgZm9yIGV4YW1wbGUuIE1hbnkgb2YgdGhlIHZvY2F0aXZlcyBoYXZlIHR3byBvciB0aHJlZSBk ZWZpbml0aW9ucyBsaWtlIHRoZSBhdHRpdHVkaW5hbHMuIExpa2UgYXR0aXR1ZGluYWxzLCB0aGlz IGlzIGJlY2F1c2UgdGhleSBjYW4gYmUgbW9kaWZpZWQgd2l0aCAnJ2N1J2knJyBhbmQgJyduYWkn JywgdGhvdWdoIG9ubHkgb25lIHZvY2F0aXZlIGhhcyB0aGUgJydjdSdpJyctZm9ybSBkZWZpbmVk LgoKU29tZSBpbXBvcnRhbnQgdm9jYXRpdmVzIGFyZSBsaXN0ZWQgaW4gdGhlIHRhYmxlIGJlbG93 LiBUaGVyZSBhcmUgb3RoZXJzLCBidXQgdGhvc2UgYXJlIG5vdCB1c2VkIG11Y2guCgp8fHZvY2F0 aXZlfFdpdGhvdXQgc3VmZml4fC1jdSdpfC1uYWkKCmNvaXxIZWxsb3wtfC0KCmNvJ298R29vZGJ5 ZQl8LXwtCgpqZSdlfFVuZGVyc3Rvb2QgLyBPS3wtfE5vdCB1bmRlcnN0b29kCgpmaSdpfFdlbGNv bWV8LXxOb3Qgd2VsY29tZSBoZXJlCgpwZSd1fFBsZWFzZXwtfC0KCmtpJ2V8VGhhbmtzfC18RGlz YXBwcmVjaWF0aW9uCgpyZSdpfFJlYWR5IHRvIHJlY2lldmV8LXxOb3QgcmVhZHkKCmp1J2l8SGV5 IXxBdCBlYXNlfElnbm9yZSBtZQoKdGEnYXxJbnRlcnJ1cHRpb258LXwtCgp2aSdvfFdpbGwgZG98 LXxXaWxsIG5vdCBkbwoKa2Unb3xQbGVhc2UgcmVwZWF0fC18Tm8gcmVwZWF0IG5lZWRlZAoKa2kn YWl8d2VsbC13aXNofC18Y3Vyc2V8fAoKTm90aWNlIHRoYXQgJydraSdhaScnIGlzIGV4cGVyaW1l bnRhbAoKCgoKCldoYXQgd291bGQgJydjb2kgY28nbycnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcR3JlZXRpbmdzIGluIHBhc3NpbmfigJ0gb3Ig4oCcSGVsbG8gYW5kIEdvb2RieWXi gJ1+fgoKCgonJ2plJ2UnJyBpcyB1c2VkIGFzIOKAnE9L4oCdLCBidXQgYWxzbyB0aGUgYXBwcm9w cmlhdGUgcmVzcG9uc2Ugd2hlbiByZWNlaXZpbmcgcHJhaXNlIG9yIHRoYW5rcyAoYXQgbGVhc3Qs IGlmIHlvdSB3YW50IHRvIGJlIG1vZGVzdCksIGFzIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwcmFp c2Ugb3IgdGhhbmtzIHdhcyBzdWNjZXNzZnVsbHkgdW5kZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcn a2knZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFqbmkgLmkgamUnZSAuamVuaWZ5bi4nJwoKX18nJ3Np ZGp1JydfXyB4MSBoZWxwcyB4MiBkbyB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYW5r cywgeW91IGhlbHBlciBvZiBtZSB0byBkbyBzb21ldGhpbmcgaW1wb3J0YW50LuKAnSDigJxObyBw cm9ibGVtLCBKZW5uaWZlcuKAnX5+CgoKCkFuZCAnJ2ZpJ2kgdGUgdmVjbnUgLmkgcGUndSBrbyBj aXRrYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdV2VsY29tZSwgYnV5ZXIuIFBsZWFzZSBl YXQh4oCdfn4KCgoKJydyZSdpJycgaXMgdXNlZCB0byBzaWduYWwgdGhhdCB5b3UgYXJlIHJlYWR5 IHRvIGJlIHNwb2tlbiB0by4gSXQgY2FuIGJlIHVzZWQgYXMgdGhlIExvamJhbiBlcXVpdmFsZW50 IG9mIOKAnFdoYXQgY2FuIEkgZG8gZm9yIHlvdT/igJ0gb3IgcGVyaGFwcyByZXBsYWNlIOKAnEhl bGxv4oCdLCB3aGVuIHNwZWFraW5nIG9uIGEgcGhvbmUuICcncmUnaSBuYWknJyBjYW4gbWVhbiDi gJxBRkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMgYSBzZWNvbmQu4oCdCgoKClRyYW5zbGF0ZTog4oCc SGVsbG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlvdSwgSW50ZXJwcmV0ZXIvVHJhbnNsYXRlcj/igJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2NvaSByZSdpIGxhIGZhbnZhJyd+fgoKCgonJ3RhJ2En JyBpcyB1c2VkIHdoZW4gYXR0ZW1wdGluZyB0byBwb2xpdGVseSBpbnRlcnJ1cHQgc29tZW9uZSBl bHNlLiBXaGF0IHdvdWxkIGJlIGdvb2QgcmVzcG9uc2VzIHRvIHRoaXM/CgoKClRyYW5zbGF0ZTog Jyd0YSdhIHJvIGRvIG1pIGNvJ2EgY2xpdmEnJwoKX18nJ2NsaXZhJydfXyB4MSBsZWF2ZXMgeDIg dmlhIHJvdXRlIHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcRXhjdXNlIG1lIGZvciBpbnRl cnJ1cHRpbmcsIGV2ZXJ5b25lLiBJIGJlZ2luIHRvIGxlYXZlIG5vd+KAnSBOb3RpY2UgdGhhdCBu byBmYSdvcm1hJ28gb3IgJycuaScnIGlzIG5lZWRlZC5+fgoKCgonJ2tlJ28nJyBpcyB1c2VkIGEg bG90IHdoZW4gaW5leHBlcmllbmNlZCBMb2piYW5pc3RzIHNwZWFrIHRvZ2V0aGVyIHZvY2FsbHku IEl0J3MgcXVpdGUgYSBoYW5keSB3b3JkCgpfXycnc3V0cmEnJ19fIHgxIGlzIHF1aWNrIGF0IGRv aW5nIHgyCgoKClRyYW5zbGF0ZTogJycueSBrZSdvIHN1dHJhIHRhdmxhJycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxVaCwgUGxlYXNlIHJlcGVhdCwgeW91IHF1aWNrIHNwZWFrZXIu4oCdfn4K CgoKQW5kIOKAnE9rYXkgb2theSwgSSBnb3QgaXQgYWxyZWFkeSEgSSdsbCBkbyBpdCHigJ0KCgoK QW4gYW5zd2VyOiB+fmdyZXksZ3JleTonJ2tlJ28gbmFpIC51aSBuYWkgdmknbycnfn4KCgoKISFM b2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktdHdvIChxdWFudGlmeWluZyBzdW10aSkKCk1v c3Qgb3RoZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHN1Y2ggYXMgVGhlIENvbXBsZXRlIExvamJhbiBM YW5ndWFnZSBhbmQgTG9qYmFuIGZvciBCZWdpbm5lcnMgd2VyZSB3cml0dGVuIGJlZm9yZSB0aGUg b2ZmaWNpYWwgYWRvcHRhdGlvbiAieG9ybG8iLCBhIGNoYW5nZSBpbiB0aGUgcnVsZXMgYWJvdXQg Z2FkcmkgZGVmaW5pdGlvbiBhbmQgZ2FkcmkgcXVhbnRpZmljYXRpb24uIFRoZSBvYnNvbGV0ZW5l c3Mgb2Ygc29tZSBvZiB0aGUgdGV4dCBpbiB0aGUgb2xkZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHdh cyBhIG1ham9yIGNhdXNlIGZvciB0aGUgbW90aXZhdGlvbiB0byB3cml0ZSB0aGVzZSBsZXNzb25z LiBVbmZvcnR1bmF0ZWx5IGZvciBtZSwgcXVhbnRpZmljYXRpb24gb2Ygc3VtdGkgY2FuIGJlY29t ZSBhIHZlcnkgY29tcGxleCB0b3BpYyB3aGVuIHRoZSBpbXBsaWNhdGlvbnMgb2YgY2VydGFpbiBy dWxlcyBhcmUgZGlzY3Vzc2VkIGluIGRldGFpbC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB0aGUgZ29h bCBvZiB0aGlzIHRleHQgYmVpbmcgYWNjdXJhdGUgZW5vdWdoIHRvIHJlcHJlc2VudCB0aGUgb2Zm aWNpYWwgImdvbGQgc3RhbmRhcmQiIEJQRksgcnVsZXMsIHRoaXMgY2hhcHRlciB3YXMgYW1vbmcg dGhlIGxhc3Qgb25lcyBmaW5pc2hlZCBhbmQgdGhlIG9uZXMgbW9zdCBmcmVxdWVudHkgcmV3cml0 dGVuLiBJIHN0cm9uZ2x5IGVuY291cmFnZSBhbnlvbmUgd2hvIGZpbmRzIG1pc3Rha2VzIGluIHRo aXMgdGV4dCB0byBjb250YWN0IG1lIGluIG9yZGVyIGZvciB0aGVtIHRvIGJlIGNvcnJlY3RlZC4K CkhhdmluZyBzYWlkIHRoYXQgZGlzY2xhaW1lciwgbGV0J3MgZ2V0IHN0YXJ0ZWQ6CgpUaGUgZmly c3QgY29uY2VwdCB5b3Ugc2hvdWxkIGtub3cgYWJvdXQgaXMgImRpc3RyaWJ1dGl2aXR5Ii4gSW4g bGVzc29uIGZvdXJ0ZWVuIGkgdXNlZCB0aGUgd29yZCAiaW5kaXZpZHVhbHMiIGFib3V0IGEgZ3Jv dXAgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIGRpc3RyaWJ1dGl2ZWx5LiBBIGRpc3RyaWJ1dGl2ZSBn cm91cCAnJ2tvJ2EnJyBpcyBmb3IgYW55IHNlbGJyaSAnJ2Jyb2RhJycgYSBncm91cCBzdWNoIHRo YXQsIGlmICcna28nYSBicm9kYScnIGlzIHRydWUsIGl0IG1lYW5zIHRoYXQgZXZlcnkgbWVtYmVy IG9mIHRoZSBncm91cCBhbHNvIGlzIGNoYXJhY3Rlcml6ZWQgYnkgJydicm9kYScnLiBUaGlzIHN0 YW5kcyBpbiBjb250cmFzdCB0byBub24tZGlzdHJpYnV0aXZpdHkgKHdoaWNoIG1hc3NlcyBoYXZl KSwgaW4gd2hpY2ggdGhlIGdyb3VwIGhhcyBvdGhlciBwcm9wZXJ0aWVzIHRoYW4gZWFjaCBvZiB0 aGUgaW5kaXZpZHVhbHMgZG8uIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGRpc3RyaWJ1dGl2aXR5 IChpbmRpdmlkdWFsLWxpa2UpIGFuZCBub24tZGlzdHJpYnV0aXZpdHkgKG1hc3MtbGlrZSkgaXMg b2YgcmVsZXZhbmNlIHdoZW4gcXVhbnRpZnlpbmcgc3VtdGkuCgpMZXQgdXMgZmlyc3QgY29uc2lk ZXIgaG93IG9uZSBjYW4gcXVhbnRpZnkgZGVjcmlwdGlvbiBzdW10aSwgd2hpY2ggYXJlIHN1bXRp IG9mIHRoZSBmb3JtIEdBRFJJIEJSSVZMQS4gVGhlIG51bWJlciBzdHJpbmcgd2hpY2ggZG9lcyB0 aGUgcXVhbnRpZmljYXRpb24gY2FuIGJlIHBsYWNlZCBiZWZvcmUgdGhlIGdhZHJpLCBpbiB3aGlj aCBjYXNlIGl0IGlzIHJlZmVycmVkIHRvIGFzIGFuIF9fb3V0ZXIgcXVhbnRpZmllcl9fLCBhbmQg aXQgY2FuIGJlIHBsYWNlZCBiZXR3ZWVuIHRoZSBnYWRyaSBhbmQgdGhlIGJyaXZsYSwgaW4gd2hp Y2ggY2FzZSBpdCdzIGFuIF9faW5uZXIgcXVhbnRpZmllcl9fLiBBbnkga2luZCBvZiBudW1iZXIg c3RyaW5nIGNhbiBhY3QgYXMgYSBxdWFudGlmaWVyLgoKVGhlIHJ1bGVzIGZvciBob3cgaW5uZXIg YW5kIG91dGVyIHF1YW50aWZpZXJzIGFmZmVjdHMgc3VtdGkgZGVwZW5kIG9uIHRoZSBraW5kIG9m IGdhZHJpIHdoaWNoIGlzIHVzZWQ6CgoKCi0gLScnbG8nJyBhbmQgJydsZScnLSAtIEFuIGlubmVy IHF1YW50aWZpZXIgdGVsbHMgdXMgaG93IG1hbnkgb2JqZWN0cyBhcmUgYmVpbmcgc3Bva2VuIG9m IC0gaG93IG1hbnkgb2JqZWN0cyBhcmUgaW4gdGhlIGRpc2NvdXJzZSB0b3RhbC4gSWYgYW4gb3V0 ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCB0aGUgc3VtdGkgaXMgZGlzdHJpYnV0ZWQgb3ZlciB0 aGF0IGFtb3VudCBvZiBvYmplY3RzLiBBcyBzdGF0ZWQgZWFybGllciwgaWYgbm8gb3V0ZXIgcXVh bnRpZmllciBpcyBwcmVzZW50LCBpdCdzIHZhZ3VlIGhvdyBtYW55IG9iamVjdHMgdGhlIHNlbGJy aSBhcHBsaWVzIHRvICh0aG91Z2ggbm90IG5vbmUpLCBhbmQgd2hldGhlciBpdCBkb2VzIHNvIGRp c3RyaWJ1dGl2ZWx5IG9yIG5vbi1kaXN0cmlidXRpdmVseS4gRXhhbXBsZXMgYXJlIGFsd2F5cyBh IGdvb2QgaWRlYSwgc28gaGVyZSB0aGV5IGFyZToKCicnbXUgbG8gbXUgYmFrbmkgY3Ugc2Ugamly bmEnJyAtIFRoZSBpbm5lciBxdWFudGlmaWVyIG9mIGZpdmUgdGVsbHMgdXMgdGhhdCB3ZSBzcGVh ayBhYm91dCBmaXZlIHBpZWNlcyBvZiBjYXR0bGUsIGFuZCB0aGUgb3V0ZXIgcXVhbnRpZmllciBv ZiBmaXZlIHRlbGxzIHVzIHRoYXQgdGhlIHNlbGJyaSBpcyB0cnVlIGZvciBlYWNoIG9mIHRoZSBm aXZlLiBUaGVyZWZvcmUsIGl0IG1lYW5zICJBbGwgdGhlIGZpdmUgY293cyBoYWQgaG9ybnMiLiAK Cl9fJydiYWtuaScnX18geDEgaXMgYSBjb3cvb3gvY2F0dGxlL2NhbGYgZXRjIG9mIGJyZWVkIHgy CgpfXycnamlybmEnJ19fIHgxIGlzIHRoZSBob3JuIG9mIHgyIChtZXRhcGhvcjogYW55IHBvaW50 ZWQgZXh0cmVtaXR5KQoKCgpXaGF0IGRvZXMgdGhlIGZvbGxvd2luZyBicmlkaSBtZWFuPwoKJyds byBydSd1cmd1YnVwdSBiZSBsaSByZSBwaSB6ZSBtdSBjdSBqZGltYSBsbyBwYSByZSBzb3ZkYScn CgpfXycncnUndXJndWJ1cHUnJ19fIHgxIGlzIG1lYXN1cmVzIHRvIGJlIHgyIEJyaXRpc2ggcG91 bmRzIChHQlApCgpfXycnamRpbWEnJ19fIHgxIGlzIHRoZSBwcmljZSBvZiB4MiB0byBidXllciB4 MyBzZXQgYnkgdmVuZG9yIHg0CgpfXycnc292ZGEnJ19fIHgxIGlzIGEgZ2FtZXRlIChlZ2cvc3Bl cm0pIG9mIHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVHdlbHZlIGVnZ3MgY29zdCAyLjc1IEJy aXRpc2ggcG91bmRzIiB3aGljaCwgYXMgdGhlIEVuZ2xpc2ggdHJhbnNsYXRpb24sIGNvdWxkIG1l YW4gYm90aCB0aGF0IHRoZXkgY29zdCAyLjc1IGVhY2ggKGRpc3RyaWJ1dGl2ZWx5KSBvciB0aGF0 IGFsbCB0d2VsdmUgdG9nZXRoZXIgY29zdCAyLjc1IChub24tZGlzdHJpYnV0aXZlbHkpfn4KCgoK JydzbyBsZSB0YSBwYSBwYSBjaSdlcmtlaSBjdSBjbGFtYXUgbWknJyAobm90aWNlIHRoYXQgdGhl ICcndGEnJyBnb2VzIGJlZm9yZSB0aGUgaW5uZXIgcXVhbnRpZmllcikKCl9fJydjaSdlcmtlaScn X18geDEgcGxheXMgZ2FtZSB4MiBnb3ZlbmVyZCBieSBydWxlcyB4MyBpbnRlcnJlbGF0aW5nIGdh bWUgcGFydHMgeDQge3RoaXMgaXMgdXNlZCB0byB0cmFuc2xhdGUgInBsYXkiIGluIHRoZSBzZW5z ZSAicGxheSBhIGdhbWUiIHJhdGhlciB0aGFuLCBmb3IgaW5zdGFuY2UgInBsYXlpbmcgcHJldGVu ZCIgb3IgInBsYXlpbmcgSG91c2UifQoKX18nJ2NsYW1hdScnX18geDEgaXMgdGFsbGVyL2xvbmdl ciB0aGFuIHgyIGluIGRpcmVjdGlvbiB4MyBteSBtYXJpZ2luIHg0CgpBbnN3ZXI6IH5+Z3JleSxn cmV5OlRoZSBpbm5lciBzdGF0ZXMgdGhlcmUgYXJlIDExIHBsYXllcnMgaW4gdGhlIGRpc2NvdXJz ZSwgYW5kIHRoZSBvdXRlciBzdGF0ZXMgdGhhdCB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gbmluZSBv ZiB0aGVtIGRpc3RyaWJ1dGl2ZWx5LiBUaHVzIGl0IG1lYW5zICJOaW5lIG9mIHRoZSBlbGV2ZW4g cGxheWVycyBhcmUgdGFsbGVyIHRoYW4gbWUifn4KCgoKVGhlcmUgYXJlIGEgZmV3IHBvaW50cyB0 aGF0IG5lZWRzIHRvIGJlIHJhaXNlZCByZWdhcmRpbmcgcXVhbnRpZmljYXRpb24gb2YgJydsbycn LycnbGUnJzoKCkZpcnN0bHksICcnbG8nJyBpcyB1bmlxdWUgaW4gdGhhdCAie251bWJlcn0ge3Nl bGJyaX0iIGlzIGRlZmluZWQgYXMgIntudW1iZXJ9ICcnbG8nJyB7c2VsYnJpfSIuIFRoZXJlZm9y ZSwgJydjaSBnZXJrdSBjdSBiYXRjaSByZSBuYW5tdScnIGlzIGRlZmluZWQgdG8gYmUgJydjaSBs byBnZXJrdSBjdSBiYXRjaSByZSBsbyBuYW5tdScnLCB3aGljaCBjb25zaWRlcnMgYm90aCB0aGUg Z3JvdXAgb2YgZG9ncyBhbmQgdGhlIGdyb3VwIG9mIG1lbiBkaXN0cmlidXRpdmVseS4gVGhlcmVm b3JlLCBlYWNoIG9mIHRoZSB0aHJlZSBkb2dzIGJpdCBlYWNoIG9mIHRoZSB0d28gbWVuLCB3aXRo IHNpeCBiaXRpbmcgZXZlbnRzIGluIHRvdGFsLgoKX18nJ2JhdGNpJydfXyB4MSBiaXRlcy9waW5j aGVzIHgyIGF0IGxvY3VzIHgzIHVzaW5nIHg0IGFzIHBpbmNoaW5nIHRvb2wuCgpTZWNvbmRseTog V2hhdCBpZiB0aGVyZSBpcyBubyBvdXRlciBxdWFudGlmaWVyPyBEb2VzIHRoaXMgbWVhbiB0aGF0 IGl0IF9faXNfXyB0aGVyZSwgYnV0IGl0J3MgZWxpZGVkPyBOb3BlLiBJZiB0aGVyZSBpcyBhbnkg a2luZCBvZiBvdXRlciBxdWFudGlmaWVyLCBlbGlkZWQgb3Igbm90LCBpdCB3b3VsZCBmb3JjZSB0 aGUgc3VtdGkgdG8gYmUgZGlzdHJpYnV0aXZlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgbmVpdGhl ciAnJ2xvJycgbm9yICcnbGUnJyBjb3VsZCBiZSB1c2VkIHRvIGRlc2NyaWJlIG1hc3Nlcy4gVGhl cmVmb3JlLCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIGl0J3Mgbm90IG9ubHkg ZWxpZGVkIC0gaXQncyBzaW1wbHkgbm90IHRoZXJlLiBTdW10aSB3aXRob3V0IGFuIG91dGVyIHF1 YW50aWZpZXIgY2FuIGJlIHJlZmVycmVkIHRvIGFzICJjb25zdGFudHMiLCBldmVuIHRob3VnaCBJ IHdvbid0LgoKVGhpcmRseSwgaXQgbWFrZXMgbm8gc2Vuc2UgdG8gaGF2ZSBhbiBvdXRlciBxdWFu dGlmaWVyIHdoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSBpbm5lciBvbmUuIEl0IG1lYW5zIHRoYXQg dGhlIHNlbGJyaSBob2xkcyB0cnVlIGZvciBtb3JlIHN1bXRpIHRoYW4gYXJlIHByZXNlbnQgaW4g dGhlIGRpc2NvdXJzZSAtIGJ1dCBzaW5jZSB0aGV5IGFwcGVhciBpbiBhIGJyaWRpLCB0aGV5IF9f YXJlX18gcGFydCBvZiB0aGUgZGlzY291cnNlLiBJdCdzIGdyYW1tYXRpY2FsIHRvIGRvIGl0LCB0 aG91Z2guCgpMYXN0bHksIHBsYWNpbmcgYSAnJ2xvJycgb3IgYSAnJ2xlJycgaW4gZnJvbnQgb2Yg YSBzdW10aSBpcyBncmFtbWF0aWNhbCwgaWYgdGhlcmUgaXMgYW4gaW5uZXIgcXVhbnRpZmllciBw cmVzZW50LiAiJydsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICIn J2xvJycvJydsZScnIHtudW1iZXJ9ICcnbWUnJyB7c3VtdGl9Ii4KClNvIHdoYXQgd291bGQgdGhp cyBtZWFuPyAnJ21pIG5lbGNpIGxvaSBtaSBicmlqdSBrYW5zYSAuaSBrdSdpIGNpIGxvIHJlIG11 IGppJ2kgcmkgY3UgbGF6bmknJwoKX18nJ2JyaWp1JycnX18geDEgaXMgYW4gb2ZmaWNlIGZvciB3 b3JrZXIgeDIgYXQgbG9jYXRpb24geDMKCl9fJydrYW5zYScnX18geDEgYWNjb21wYW5pZXMgeDIg aW4gYWN0aW9uL3N0YXRlL2VudGVycHJpc2UgeDMKCl9fJydsYXpuaScnX18geDEgaXMgbGF6eSwg YXZvaWRpbmcgd29yayBjb25jZXJuaW5nIHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiJJIGxpa2Ug bXkgY28td29ya2VycywgYnV0IHRocmVlIG91dCBvZiBhYm91dCB0d2VudHkgZml2ZSBvZiB0aGVt IGFyZSBsYXp5In5+CgoKCi0gLScnbGEnJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIGlzIGdyYW1t YXRpY2FsIGlmIHRoZSBuYW1lIGlzIGEgc2VsYnJpIC0gaW4gdGhpcyBjYXNlLCBpdCdzIGNvbnNp ZGVyZWQgcGFydCBvZiB0aGUgbmFtZS4gQW4gb3V0ZXIgcXVhbnRpZmllciBpcyB1c2VkIHRvIHF1 YW50aWZ5IGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc3VjaCBpbmRpdmlkdWFscyAobXVjaCBsaWtlICcn bG8nJy8nJ2xlJycpIEl0J3MgZ3JhbW1hdGljYWwgd2hlbiBwbGFjZWQgaW4gZnJvbnQgb2Yge251 bWJlcn0ge3N1bXRpfSwgaW4gd2hpY2ggY2FzZSwgdGhlIGJvdGggdGhlIG51bWJlciBhbmQgdGhl IHN1bXRpIGlzIGNvbnNpZGVyZWQgdGhlIG5hbWUuCgoKClRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGxh IGNpIGJhcmd1IGN1IGppYm5pIGxlIG1pIHpkYW5pJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6IFR3 byAiVGhlIFRocmVlIEFyY2hlcyIgYXJlIGxvY2F0ZWQgY2xvc2UgdG8gbXkgaG91c2UiIChQZXJo YXBzIFRoZSBUaHJlZSBBcmNoZXMgYXJlIGEga2luZCBvZiByZXN0YXVyYW50Pyl+fgoKCgotIC0n J2xvaScnIGFuZCAnJ2xlaScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgdGVsbHMgdXMgaG93IG1h bnkgbWVtYmVycyB0aGVyZSBhcmUgaW4gdGhlIG1hc3MvbWFzc2VzIGluIHF1ZXN0aW9uLiBBbiBv dXRlciBxdWFudGlmaWVyIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHkgeyF9IG92ZXIgdGhlc2Ug bWFzc2VzCgpOb3RpY2UgaGVyZSB0aGF0IHdoaWxlIG1hc3NlcyBjb25zaXN0IG9mIGEgbnVtYmVy IG9mIG9iamVjdHMgY29uc2lkZXJlZCBub24tZGlzdHJpYnV0aXZlbHksIGFuIG91dGVyIHF1YW50 aWZpZXIgYWx3YXlzIHRyZWF0cyBlYWNoIG9mIHRoZXNlIG1hc3NlcyBhcyBhbiBpbmRpdmlkdWFs LgoKV2hlbiBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyIHN0cmluZywgdGhlbiBhIHN1bXRpLCAnJ2xv aScnLycnbGVpJycgaXMgZGVmaW5lZCBhcyAiJydsbyBndW5tYSBiZSBsbycnLycnbGUnJyB7bnVt YmVyfSB7c3VtdGl9IiAtICJUaGUgbWFzcyBjb25zaXN0aW5nIG9mIHRoZSB7bnVtYmVyfSBvZiB7 c3VtdGl9Ii4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhpczogJydyZSBkZWkgZ3VubWEgcmUg bG9pIHplIHZhbHNpIC5pIGNhJ2UgcGEgZGVpIGphaSBnYXUgamV0bnUnJwoKX18nJ2d1bm1hJydf XyB4MSBpcyBhIG1hc3Mgb2YgdGhlIGluZGl2aWR1YWxzIHgyCgpfXycndmFsc2knJ19fIHgxIGlz IGEgd29yZCwgbWVhbmluZyB4MiBpbiBsYW5ndWFnZSB4MwoKX18nJ2NhJ2UnJ19fIEF0dGl0dWRp bmFsOiBFdmlkZW50aWFsOiBJIGRlZmluZQoKX18nJ2pldG51JydfXyB4MSBpcyB0cnVlIGFjY29y ZGluZyB0byBtZXRhcGh5c2ljcy9lcGlzdGVtb2xvZ3kgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6 ICJUaGVzZSB0d28gdXR0ZXJhbmNlcyBhcmUgYSBtYXNzLCBjb25zaXN0aW5nIG9mIHR3byBpbmRp dmlkdWFsIG1hc3NlcyBlYWNoIG9mIHNldmVuIHdvcmRzLiBJIGRlZmluZTogVGhpcyBvbmUgdXR0 ZXJhbmNlIGNhdXNlcyB7aXR9IHRvIGJlIHRydWUuIn5+CgoKCi0gLScnbGFpJyctIC0gTXVjaCBs aWtlICcnbGEnJywgYW4gaW5uZXIgcXVhbnRpZmllciAod2hlbiBuYW1lIGlzIGEgc2VsYnJpKSBp cyBwYXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBvbmUgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVs eS4gQmVmb3JlIGEgbnVtYmVyK3N1bXRpLCBib3RoIHRoZSBzdW10aSBhbmQgdGhlIG51bWJlciBt YWtlIHVwIHRoZSBuYW1lLgoKV2hlbiBhIGZyYWN0aW9uIGlzIHVzZWQgYXMgYW4gb3V0ZXIgcXVh bnRpZmllciB0byBxdWFudGlmeSAnJ2xvaScnLCAnJ2xlaScnIG9yICcnbGFpJycsIG9uZSBzcGVh a3MgYWJvdXQgb25seSBwYXJ0IG9mIHRoZSBtYXNzIChmb3IgaW5zdGFuY2UsICJoYWxmIG9mIHRo ZSBKb2huc29ucyIgLSAnJ3BpIG11IGxhaSAuZGphbnN5bi4nJykuCgoKCi0gLScnbG8naScnIGFu ZCAnJ2xlJ2knJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIGRlc2NyaWJlcyB0aGUgYW1vdW50IG9m IG1lbWJlcnMgb2YgdGhlIHNldC4gQW4gb3V0ZXIgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseSBv dmVyIHNldmVyYWwgb2Ygc3VjaCBzZXRzLiBXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgYW5k IGEgc3VtdGksIGl0J3MgZGVmaW5lZCBhcyAiJydsbyBzZWxjbWkgYmUgJydsbycnLycnbGUnJyB7 bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUgc2V0IG9mIHtudW1iZXJ9IHtzdW10aX0iLgoKCgpUcmFu c2xhdGUgJydsbydpIHJvIHNlIGNpbmtpIGN1IGJyYW1hdSBsYSdhIHBhIG5vIG5vIGxvJ2kgcm8g c2UgYm9neWthbWp1IGp1dHNpJycKCl9fJydjaW5raScnX18geDEgaXMgYW4gaW5zZWN0IG9mIHNw ZWNpZXMgeDIKCl9fJydsYSdhJydfXyBBdHRpdHVkaW5hbDogRGlzY3Vyc2l2ZTogUHJvYmFibHkK Cl9fJydicmFtYXUnJ19fIHgxIGlzIGJpZ2dlciB0aGFuIHgyIGluIGRpbWVuc2lvbiB4MyBieSBt YXJpZ2luIHg0CgpfXycnYm9neWthbWp1JydfXyB4MSBpcyB0aGUgc3BpbmUgb2YgeDIKCl9fJydq dXRzaScnX18geDEgaXMgdGhlIHNwZWNpZXMgb2YgZ2VudXMgeDIsIGZhbWlseSB4MyAuLi4gKG9w ZW4gZW5kZWQgY2xhc3NpZmljYXRpb24pCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIHNldCBv ZiBhbGwgdGhlIHNwZWNpZXMgb2YgaW5zZWN0cyBpcyBwcm9iYWJseSBiaWdnZXIgdGhhbiBvbmUg aHVuZHJlZCBzZXRzIG9mIGFsbCBzcGVjaWVzIG9mIHZlcnRlYnJhdGVzIn5+CgoKCi0gLScnbGEn aScnLSAtIEFzIHdpdGggJydsYWknJwoKTGlrZSB3aXRoIHRoZSBtYXNzIGdhZHJpLCBhbiBvdXRl ciBxdWFudGlmaWVyIGJlZm9yZSBhIHNldCBnYWRyaSBlbmFibGVzIG9uZSB0byBzcGVhayBhYm91 dCBhIGZyYWN0aW9uIG9mIGEgc2V0LiBJbiBmcm9udCBvZiBhIG51bWJlciBhbmQgYSBzdW10aSwg aXQncyBkZWZpbmVkIGFzICInJ2xvIHNlbGNtaSBiZSBsYScnIHtudW1iZXJ9IHtzdW10aX0iIC0g IlRoZSBzZXQgY29uc2lzdGluZyBvZiBUaGUge051bWJlcn0ge1N1bXRpfSIgKGNvbnNpZGVyZWQg YSBuYW1lKQoKCgotIC0nJ2xvJ2UnJyBhbmQgJydsZSdlJyctIC0gQXJlIGZvciBzb21lIHJlYXNv biBub3QgaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnRseSBhY2NlcHRlZCBnYWRyaSBwcm9wb3NhbC4g SWYgb25lIHdlcmUgdG8gZXh0ZW5kIHRoZSBydWxlcyBvZiBhbm90aGVyIGdhZHJpLCAnJ2xvJycv JydsZScnIHdvdWxkIHByb2JhYmx5IGJlIHRoZSBiZXN0IGNob2ljZSAoc2luY2UgYm90aCBvcGVy YXRlcyB3aXRoIGluZGl2aWR1YWxzIHJhdGhlciB0aGFuIGdyb3VwcyksIGFuZCBzbyBvbmUgd291 bGQgZXhwZWN0IHRoZSBvdXRlciBxdWFudGlmaWVyIHRvIGZvcmNlIGRpc3RyaWJ1dGl2aXR5IG92 ZXIgdGhlIGFtb3VudCBvZiB0eXBpY2FsL3N0ZXJlb3R5cGljYWwgdGhpbmdzIGdpdmVuIGJ5IHRo ZSBpbm5lciBxdWFudGlmaWVyLgoKCgpXaGVuIHF1YW50aWZ5aW5nIHN1bWthJ2kgcmVwcmVzZW50 aW5nIHNldmVyYWwgb2JqZWN0cywgaXQgaXMgdXNlZnVsIHRvIHJlbWVtYmVyIHRoYXQgdGhleSBh cmUgdXN1YWxseSBtYXNzZXMuIEJ5IGRlZmluaXRpb24sICJ7bnVtYmVyfSB7c3VtdGl9IiBpcyBk ZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2RhIHBvaSBrZSdhIG1lJycge3N1bXRpfSIuIFlvdSB3aWxs IG5vdCBiZSBmYW1pbGlhciB3aXRoICcnZGEnJyB1bnRpbCBhIGZldyBsZXNzb25zIGxhdGVyLCBz byB0YWtlIGl0IG9uIGZhaXRoIHRoYXQgaXQgbWVhbnMgInNvbWV0aGluZyIgaW4gdGhpcyBjb250 ZXh0LiBUaGVyZWZvcmUsICcnY2kgbWknJyBtZWFucyAiVHdvIG9mIHRob3NlIHdobyBiZWxvbmcg dG8gInVzIiIuIFdoZW4gcXVhbnRpZnlpbmcgc3VjaCBtYXNzZXMsIGl0IGNhbiBzYWZlbHkgYmUg YXNzdW1lZCB0aGF0IHRoZSByZWxhdGlvbiBpbXBsaWVkIGJ5ICcnbWUnJyBpcyBtZW1iZXJzaGlw IG9mIHRoZSBtYXNzLCBhbmQgdGhlcmVmb3JlICcnY2kgbWknJyBpcyAiVGhyZWUgb2YgdXMiLgoK CgpTb21lIGltcG9ydGFudCB1c2VzIG9mIHF1YW50aWZpY2F0aW9uIHJlcXVpcmVzIHlvdSB0byBi ZSBxdWFudGlmeSBzZWxicmkgb3Igb2JqZWN0cyB3aG9zZSBpZGVudGl0eSBpcyB1bmtub3duLiBU aGlzIGlzIGRvbmUgYnkgImxvZ2ljYWxseSBxdWFudGlmaWVkIHZhcmlhYmxlcyIuIFRoZXNlLCBh cyB3ZWxsIGFzIGhvdyB0byBxdWFudGlmeSB0aGVtIHdpbGwgYmUgY292ZXJlZCBpbiBsZXNzb25z IHR3ZW50eS1zZXZlbi4KCgoKTGFzdGx5LCBob3cgY2FuIHlvdSBxdWFudGlmeSB1bmNvdW50YWJs ZSBzdWJzdGFuY2VzIGxpa2Ugc3VnYXIgb3Igd2F0ZXI/IE9uZSBzb2x1dGlvbiBpcyB0byBxdWFu dGlmeSBpdCB1c2luZyBpbmV4YWN0IG51bWJlcnMuIFRoaXMgdXNlIGlzIHZhZ3VlLCBub3Qgb25s eSBiZWNhdXNlIHRoZSB2YWx1ZSBvZiB0aGUgbnVtYmVyIGlzIHZhZ3VlLCBidXQgYWxzbyBiZWNh dXNlIGl0J3Mgbm90IHNwZWNpZmllZCBvbiB3aGF0IHNjYWxlIHlvdSdyZSBjb3VudGluZzogVGhl IHN1Z2FyIGNvdWxkIGJlIGNvbnNpZGVyZWQgYSBncm91cCBvZiBtYW55IGNyeXN0YWxzLCBjb3Vu dGVkIG9uZSBhdCBhIHRpbWUsIGFuZCB0aGUgd2F0ZXIgY291bGQgYmUgcXVhbnRpZmllZCBieSB0 aGUgYW1vdW50cyBvZiByYWluZHJvcHMgaXQgdG9vayB0byBtYWtlIHRoZSBib2R5IG9mIHdhdGVy IGluIHF1ZXN0aW9uLiBXaGlsZSB0aGlzIHdheSBvZiBjb3VudGluZyBpcyBsZWdpdGltYXRlLCBp dCdzIG5vdCB2ZXJ5IGV4YWN0IGFuZCBjYW4gZWFzaWx5IGNvbmZ1c2Ugb3IgbWlzbGVhZC4KCkEg d2F5IHRvIGJlIGV4cGxpY2l0IGFib3V0IG5vbi1jb3VudGFiaWxpdHkgaXMgdG8gdXNlIHRoZSBu dWxsIG9wZXJhbmQgJyd0dSdvJycgYXMgYW4gaW5uZXIgcXVhbnRpZmllci4KCl9fJyd0dSdvJydf XyBOdWxsIG9wZXJhbmQgKCDDmCApLiBVc2VkIGluIHVuYXJ5IG1la3NvLgoKVGhpcyBzb2x1dGlv biBpcyBlbGVnYW50IGFuZCBpbnR1aXRpdmUsIGFuZCBhbHNvIGdpdmVzIG1lIGFuIGV4Y3VzZSB0 byBxdW90ZSB0aGlzIGhvcnJpZnlpbmcsIHlldCBjb21pY2FsIGV4YW1wbGUgZnJvbSB0aGUgb3Jp Z2luYWwgJyd4b3JsbycnLXByb3Bvc2FsOgoKJydsZSBuYW5tdSBjdSBzZSBzbnV0aSAuaSBqYSdl IGJvIGxvIHR1J28gZ2Vya3UgY3Uga3VzcGUgbGUga2xhamknJwoKX18nJ3NudXRpJydfXyB4MSBp cyBhbiBhY2NpZGVudCBvbiB0aGUgcGFydCBvZiB4MgoKX18nJ2phJ2UnJ19fIHN1bXRjaXRhOiBC QUk6IChmcm9tICcnamFsZ2UnJyk6IEJyaWRpIHJlc3VsdHMgaW4ge3N1bXRpfSAKCl9fJydrdXNw ZScnX18geDEgc3BhbnMvZXh0ZW5kcyBvdmVyIHgyCgpfXycna2xhamknJ19fIHgxIGlzIGEgcm9h ZC9hdmVudWUvc3RyZWV0IGF0IHgyIGFjY2Vzc2luZyB4MwoKCgpXaGF0IGRvZXMgaXQgbWVhbj8K CkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGUgbWFuIGhhZCBhbiBhY2NpZGVudCBhbmQgc28gdGhl cmUgd2FzIGRvZyBhbGwgb3ZlciB0aGUgcm9hZCJ+fgoKCgpBIHNlY29uZCBtZXRob2Qgb2YgcXVh bnRpZnlpbmcgc3Vic3RhbmNlcyBpcyB0byB1c2UgdGhlIHRlbnNlcyAnJ3ZlJ2knJywgJyd2ZSdh JycgYW5kICcndmUndScnIGFzIG1lbnRpb25lZCBpbiBsZXNzb24gdGVuOgoKJyd0aSB2ZSdpIGRq YWN1JycgLSBUaGlzIGlzIGEgc21hbGwgYW1vdW50IG9mIHdhdGVyCgpfXycnZGphY3UnJ19fIHgx IGlzIGFuIGV4cGFuc2Ugb2Ygd2F0ZXIvaXMgbWFkZSBvZiB3YXRlci9jb250YWlucyB3YXRlcgoK CgpUaGlyZGx5LCBvZiBjb3Vyc2UsIHlvdSBjb3VsZCB1c2UgYSBicml2bGEgdG8gZ2l2ZSBhbiBl eGFjdCBtZWFzdXJlbWVudDoKCicnbGUgdGEgZGphY3UgY3Uga2knb2dyYSBiZSBsaSByZSBwaSBr aSdvIGtpJ28nJyAtICJUaGF0IHdhdGVyIGhhcyBhIG1hc3Mgb2YgMi4wMDAgMDAwIGtpbG9ncmFt cyIKCl9fJydraSdvZ3JhJydfXyB4MSBtZWFzdXJlcyBpbiBtYXNzIHgyIGtpbG9ncmFtcyBieSBz dGFuZGFyZCB4MwoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS10aHJlZSAobmVn YXRpb24pCgpTb21ldGltZXMsIGp1c3Qgc2F5aW5nIHdoYXQncyB0aGUgdHJ1dGggaXMgbm90IGVu b3VnaC4gT2Z0ZW4sIHdlIHdhbnQgdG8gc3BlY2lmeSB3aGF0J3Mgbm90IHRoZSB0cnV0aCwgYW5k IHdlIGRvIHRoaXMgYnkgdXNpbmcgbmVnYXRpb24uCgpOZWdhdGlvbiBpbiBFbmdsaXNoIG1vc3Rs eSBpbnZvbHZlcyDigJxub3TigJ0sIGFuZCBpcyBjb21wbGV0ZWx5IGFyYml0cmFyeSBhbmQgYW1i aWd1b3VzLiBXZSwgYXMgTG9qYmFuaXN0cywgY2FuJ3QgaGF2ZSB0aGF0LCBvZiBjb3Vyc2UsIHNv IExvamJhbiBjb250YWlucyBhbiBlbGVnYW50IGFuZCB1bmFtYmlnaW91cyBzeXN0ZW0gZm9yIG5l Z2F0aW5nLiBXaGF0IHdpbGwgYmUgcHJlc2VudGVkIGhlcmUgYXJlIHRoZSBvZmZpY2lhbCBnb2xk LXN0YW5kYXJkIHJ1bGVzLiBEaXNhcHByb3ZhbCBvZiB0aGVzZSAiZ29sZGVuIHJ1bGVzIiBjb25j ZXJuaW5nICcnbmEnJyBpcyBncm93aW5nLCBhbmQgdGhlcmUgaXMgZGlzYWdyZWVtZW50IGFib3V0 IHdoYXQgcnVsZSBzZXQgc2hvdWxkIHJlcGxhY2UgaXQuIEZvciBub3csIEkgd2lsbCBzdGljayB3 aXRoIHRoZSBvZmZpY2lhbCBydWxlcywgYW5kIHRoZXJlZm9yZSwgc28gd2lsbCB5b3UsIGRlYXIg cmVhZGVyLgoKVGhlIGZpcnN0IHlvdSBuZWVkIHRvIGtub3cgYWJvdXQgaXMgYnJpZGkgbmVnYXRp b24sIHNvIGNhbGxlZCBiZWNhdXNlIGl0IG5lZ2F0ZXMgdGhlIGJyaWRpIGl0J3MgaW4sIHNheWlu ZyBpdCdzIG5vdCB0cnVlLiBUaGUgd2F5IHRvIG5lZ2F0ZSBhIGJyaWRpIGlzIHRvIHBsYWNlICcn bmEnJyBmaXJzdCBpbiB0aGUgc2VudGVuY2Ugd2l0aCBhICcna3UnJyBhZnRlciBpdCwgb3IganVz dCBiZWZvcmUgdGhlIHNlbGJyaS4gCgpfXycnc3BlbmknJ19fIHgxIGlzIG1hcnJpZWQgdG8geDIg dW5kZXIgY29udmVudGlvbiB4MwoKVGh1czogJyduYSBrdSBsZSBtaSBzcGVuaSBjdSBuaW5tdScn IHN0YXRlcyB0aGF0IOKAnE15IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnS4gSXQgc3RhdGVzIG5v dGhpbmcgYWJvdXQgd2hhdCBteSB3aWZlIGlzLCBvciBpZiBJIGV2ZW4gaGF2ZSBhIHdpZmUuIEl0 IG9ubHkgc3RhdGVzIHRoYXQgSSBkbyBub3QgaGF2ZSBhIHdpZmUgd2hvIGlzIGFsc28gYSB3b21h bi4gVGhpcyBoYXMgYW4gaW1wb3J0YW50IGltcGxpY2F0aW9uOiBJZiB0aGUgbmVnYXRpb24gb2Yg YSBicmlkaSBpcyBmYWxzZSwgdGhlIGJyaWRpIG11c3QgYmUgdHJ1ZTogJyduYSBrdSBsZSBtaSBz cGVuaSBjdSBuYSBuaW5tdScnIG11c3QgbWVhbiB0aGF0IEkgaGF2ZSBib3RoIGEgc3BvdXNlLCBh bmQgdGhhdCBzaGUgaXMgYSBzaGUuCgpJdCBpcyBwb3NzaWJsZSB0byB1c2UgYnJpZGkgbmVnYXRp b25zIGluIGFsbCBicmlkaSwgZXZlbiB0aGUgaW1wbGljaXQgYnJpZGkgb2YgZGVzY3JpcHRpdmUg c3VtdGkuICcnbG8gbmEgcHJlbnUnJyBjYW4gcmVmZXIgdG8gYW55dGhpbmcgbm9uLWh1bWFuLCB3 aGV0aGVyIGl0IGJlIGEgc3BoaW54LCBhIGJhc2ViYWxsIG9yIHRoZSBwcm9wZXJ0eSBvZiBhcHBy b3ByaWF0ZW5lc3MuCgoKCl9fJydiYXUnJ19fIHN1bXRjaXRhLCBmcm9tIGJhbmd1OiB1c2luZyB0 aGUgbGFuZ3VhZ2Ugb2Yge3N1bXRpfQoKX18nJ3NlIGphJ2UnJ19fIHN1bXRjaXRhLCBmcm9tIHNl IGphbGdlOiBiZWNhdXNlIG9mIHtzdW10aX0KCgoKT2Z0ZW4gd2hlbiB1c2luZyAnJ25hJycsIGl0 J3MgYSBwcm9ibGVtIHRoYXQgaXQgbmVnYXRlcyB0aGUgZW50aXJlIGJyaWRpLiBJZiBJIHNheSAn J21pIG5hIHN1dHJhIHRhdmxhIGJhdSBsZSBnbGliYXUgc2UgamEnZSBsZSBudSBtaSBkb3Rjbycn LCBJIGVuZCB1cCBuZWdhdGluZyB0b28gbXVjaCwgYW5kIGl0IGlzIG5vdCBjbGVhciB0aGF0IEkg d2FudGVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LiBUaGUgc2VudGVuY2UgY291 bGQgc3VnZ2VzdCB0aGF0IEkgaW4gZmFjdCBzcGVhayBmYXN0IGJlY2F1c2Ugb2Ygc29tZSBvdGhl ciByZWFzb24sIGZvciBpbnN0YW5jZSB0aGF0IEkgc3BlYWsgZmFzdCBpbiBGcmVuY2ggYmVjYXVz ZSBJJ20gR2VybWFuLiBUbyBleHByZXNzIHRoZSBzZW50ZW5jZSBtb3JlIHByZWNpc2VseSwgSSBu ZWVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LCBhbmQgbm90IHRoZSBvdGhlciB0 aGluZ3MuCgpUbyBvbmx5IG5lZ2F0ZSBwYXJ0IG9mIGEgYnJpZGksICcnbmEga3UnJyBjYW4gYmUg bW92ZWQgYXJvdW5kIHRoZSBicmlkaSBhbmQgcGxhY2VkIGFueXdoZXJlIGEgc3VtdGkgY2FuIGdv LiBJdCB0aGVuIG5lZ2F0ZXMgYW55IHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhIHBsYWNlZCBh ZnRlciBpdC4gV2hlbiBwbGFjZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBzZWxicmksIHRoZSAn J2t1JycgY2FuIGJlIGVsaWRlZC4KCk1vdmluZyAnJ25hIGt1JycgZnJvbSB0aGUgbGVmdCBlbmQg b2YgdGhlIGJyaWRpIGFuZCByaWdodHdhcmRzIGVmZmVjdHMgYW55IHF1YW50aWZpZXJzIGluIGEg Y2VydGFpbiB3YXksIGFzIGNhbiBiZSBzZWVuIGJ5IHRoaXMgZXhhbXBsZToKCgoKVGhlcmUgYXJl IGZvcmNlcyB3aXRoaW4gdGhlIExvamJhbiBjb21tdW5pdHkgd2hvLCBwZXJoYXBzIHJpZ2h0bHks IHRoaW5rIHRoYXQgdGhlcmUgaXMgbm8gZ29vZCByZWFzb24gdGhhdCBhICcnbmEnJyBwbGFjZWQg YmVmb3JlIGEgc2VsYnJpIG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaSwgd2hlcmVhcyBhICcnbmEg a3UnJyBhbnkgb3RoZXIgcGxhY2UgbmVnYXRlcyBvbmx5IHdoYXQgaXMgdHJhaWxpbmcgYmVoaW5k IGl0LiBIb3dldmVyLCBpbiB0aGVzZSBsZXNzb25zIHlvdSB3aWxsIGJlIHRhdWdodCB3aGF0IGlz IHN0aWxsIHRoZSBvZmZpY2lhbCBzdGFuY2UsIG5hbWVseSB0aGF0ICcnbmEnJyBiZWZvcmUgdGhl IHNlbGJyaSBuZWdhdGVzIHRoZSBicmlkaS4KCgoKVGhlIHVzZSBvZiAnJ25hIGt1JycgaXMgZXhl bXBsaWZpZWQgd2l0aCB0aGUgZm9sbG93aW5nIGV4YW1wbGVzLgoKJyduYSBrdSBybyByZW1uYSBj dSB2ZXJiYScnIOKAnEl0J3Mgbm90IHRydWUgdGhhdDogQWxsIGh1bWFucyBhcmUgY2hpbGRyZW7i gJ0KCicnc3UnbyByZW1uYSBuYSBrdSBjdSB2ZXJiYScnIOKAnEZvciBhdCBsZWFzdCBvbmUgaHVt YW4gaXQncyBub3QgdHJ1ZSB0aGF0OiBJdCdzIGEgY2hpbGTigJ0uIFNlZSB0aGF0IHRoZSAnJ25h IGt1JycgaXMgcGxhY2VkIGJlZm9yZSAnJ2N1JycsIHNpbmNlIGEgc3VtdGkgY2FuIGdvIG9ubHkg YmVmb3JlLCBub3QgYWZ0ZXIgdGhlICcnY3UnJy4gSGFkIEkgb25seSB1c2VkICcnbmEnJywgaXQg d291bGQgaGF2ZSB0byBnbyBhZnRlciAnJ2N1JycgLSBidXQgdGhhdCB3b3VsZCBoYXZlIG5lZ2F0 ZWQgdGhlIGVudGlyZSBicmlkaSwgbWVhbmluZyAiSXQncyBub3QgdHJ1ZSB0aGF0OiBBdCBsZWFz dCBvbmUgaHVtYW4gaXMgYSBjaGlsZCIuCgoKCldoZW4gdGhlICcnbmEga3UnJyBpcyBtb3ZlZCBy aWdodHdhcmRzLCBhbnkgcXVhbnRpZmllciBpcyBpbnZlcnRlZCAtIHRoYXQgaXM6ICcncm8nJyBp cyB0dXJuZWQgaW50byAnJ3N1J28nJy4gVGhpcyBpcywgb2YgY291cnNlLCBvbmx5IGlmIHRoZSBt ZWFuaW5nIG9mIHRoZSBicmlkaSBoYXMgdG8gYmUgcHJlc2VydmVkLiBUaGlzIG1lYW5zIHRoYXQg d2hlbiB0aGUgJyduYSBrdScnIGlzIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaSwgb25s eSB0aGUgc2VsYnJpIGlzIG5lZ2F0ZWQgYnV0IGFsbCB0aGUgc3VtdGkgYW5kIHN1bXRjaXRhIGFy ZSBwcmVzZXJ2ZWQsIGFzIGNhbiBiZSBzZWVuIGJ5IHRoZXNlIHRocmVlIGlkZW50aWNhbCBicmlk aToKCl9fJydja3VsZScnX18geDEgaXMgYSBzY2hvb2wgYXQgbG9jYXRpb24geDIgdGVhY2hpbmcg eDMgdG8gc3R1ZGVudHMgeDQgYW5kIG9wZXJhdGVkIGJ5IHg1CgoKCicnbmEga3Ugcm8gdmVyYmEg Y3UgdmUgY2t1bGUgZm8gc3UnbyBja3VsZScnIOKAkyDigJxJdCdzIG5vdCB0cnVlIHRoYXQgYWxs IGNoaWxkcmVuIGFyZSBzdHVkZW50cyBpbiBhIHNjaG9vbC7igJ0KCicnc3UnbyB2ZXJiYSBjdSB2 ZSBja3VsZSBuYSBrdSBmbyBzdSdvIGNrdWxlJycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIHN0 dWRlbnRzIGluIG5vdCBhIHNpbmdsZSBzY2hvb2wu4oCdCgonJ3N1J28gdmVyYmEgY3UgdmUgY2t1 bGUgZm8gcm8gY2t1bGUgbmEga3UnJyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUgZm9yIGFsbCBz Y2hvb2xzIG5vdCBzdHVkZW50cyBpbiB0aGVtLuKAnQoKCgpUaGUgb3Bwb3NpdGUgb2YgJyduYScn IGlzICcnamEnYScnLiBUaGlzIGlzIGJhcmVseSBldmVyIHVzZWQsIHNpbmNlIGl0IGlzIGRlZmF1 bHQgaW4gbW9zdCBicmlkaS4gT25lIGV4Y2VwdGlvbiBpcyByZXBlYXRlZCBicmlkaSAobmV4dCBs ZXNzb24pLiBTb21ldGltZXMgaXQncyB1c2VkIHRvIHB1dCBtb3JlIHdlaWdodCBvbiB0aGUgdHJ1 dGggb2YgdGhlIGJyaWRpLCBhcyBpbiAnJ2xhIC5iYWIuIGphJ2EgbWVsYmknJyA9ICJCb2IgaXMg aW5kZWVkIGJlYXV0aWZ1bCIuCgoKCldoaWxlIHRoZSBtZWNoYW5pc20gb2YgJyduYSBrdScnIHJl c2VtYmxlcyBuYXR1cmFsIGxhbmd1YWdlIG5lZ2F0aW9uLCBpdCBjYW4gYmUgZGlmZmljdWx0IHRv IGtlZXAgdHJhY2sgb2YgZXhhY3RseSB3aGF0IGlzIG5lZ2F0ZWQgYW5kIGhvdyB0aGF0IGFmZmVj dHMgdGhlIGJyaWRpLiBGb3IgdGhhdCByZWFzb24sIHRoZSBjb25zdHJ1Y3QgJyduYSBrdScnIGlz IHJhcmVseSBzZWVuIGFueXdoZXJlIG90aGVyIHRoYW4gdGhlIGJlZ2lubmluZyBvZiBhIGJyaWRp LiBJbiBtb3N0IGNhc2VzIHdoZXJlIG1vcmUgc3BlY2lmaWMgbmVnYXRpb24gaXMgbmVlZGVkIHBl b3BsZSByZXNvcnQgdG8gYSBkaWZmZXJlbnQgbWV0aG9kLiBUaGlzIG1ldGhvZCwgY2FsbGVkIHNj YWxhciBuZWdhdGlvbiwgaXMgYW4gZWxlZ2FudCBhbmQgaW50dWl0aXZlIHRvb2wuIFVzaW5nIGl0 LCB5b3UgZWZmZWN0IG9ubHkgdGhlIHNlbGJyaSwgc2luY2UgdGhlIHdvcmRzIHVzZWQgaW4gc2Nh bGFyIG5lZ2F0aW9uIGJpbmRzIHRvIHRoZSBzZWxicmkgbXVjaCBsaWtlIHRoZSB3b3JkICcnc2Un Jy4KClRoZSBuYW1lIOKAnHNjYWxhciBuZWdhdGlvbuKAnSBpcyBkZXJpdmVkIGZyb20gdGhlIGZh Y3QgdGhhdCB0aGUgd29yZHMgd2hpY2ggYmluZCB0byB0aGUgc2VsYnJpIGNhbiBiZSBwbGFjZWQg YWxvbmcgYSBzY2FsZSBmcm9tIGFmZmlybWF0aW9uIG92ZXIgbmVnYXRpb24gYW5kIHRvIHN0YXRp bmcgdGhhdCB0aGUgb3Bwb3NpdGUgY2FzZSBpcyB0cnVlOgoKfHxXb3JkfE1lYW5pbmcKCmplJ2F8 4oCcSW5kZWVk4oCdOyBzY2FsYXIgYWZmaXJtZXIKCm5vJ2V84oCcTm90IHJlYWxseeKAnSwgc2Nh bGFyIG1pZHBvaW50CgpuYSdlfOKAnE5vbi3igJwsIHNjYWxhciBuZWdhdG9yCgp0bydlfOKAnEls 4oCdLCDigJxEaXMt4oCcLCDigJxNaXPigJ0gZWN0OyBzY2FsYXIgb3Bwb3Nlcnx8CgoKClRoZXNl IHdvcmRzIGFyZSBub3QgbmVnYXRvcnMgaW4gdGhlIHNhbWUgc2Vuc2UgYXMgJyduYScnLiBUaGV5 IGRvIG5vdCBzdGF0ZSB0aGF0IGEgYnJpZGkgaXMgZmFsc2UsIGJ1dCBtYWtlcyBhIHBvc2l0aXZl IHN0YXRlbWVudCB0aGF0IGEgYnJpZGkgaXMgdHJ1ZSDigJMgdGhlIHNhbWUgYnJpZGksIGJ1dCB3 aXRoIGEgZGlmZmVyZW50IHNlbGJyaS4gVGhpcyBkaXN0aW5jdGlvbiBpcyBtb3N0bHkgYWNhZGVt aWMsIHRob3VnaC4gSWYsIGZvciBleGFtcGxlLCBJIHN0YXRlIHRoYXQgJydtaSBuYSdlIHNlIG5l bGNpJycgIkkgYW0gbm9uLWxpa2VkIiwgSSBhY3R1YWxseSBzdGF0ZSB0aGF0IHNvbWUgc2VsYnJp IGFwcGxpZXMgdG8gbWUsIHdoaWNoIGlzIGFsc28gb24gYSByZWxldmFudCBzY2FsZSB3aXRoIHRo ZSBzZWxicmkgJyduZWxjaScnLiBNb3N0IG9mIHRoZSB0aW1lLCB3ZSBhc3N1bWUgYSBzY2FsZSB3 aGVyZSB0aGUgcG9zaXRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgKGxpa2UgbG92ZS1saWtl LWRpc2xpa2UtaGF0ZSksIHNvICcnbWkgbmEnZSBzZSBuZWxjaScnIGltcGxpZXMgJydtaSBuYSBz ZSBuZWxjaScnCgpUaGVyZWZvcmUsIHRoZSB3b3JkcyAnJ25vJ2UnJyBhbmQgJyd0bydlJycgc2hv dWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBzZWxicmkgaXMgcGxhY2VkIG9uIHNvbWUgb2J2aW91 cyBzY2FsZToKCicnbGUgbWkgc3BlbmkgY3UgdG8nZSBtZWxiaScnIOKAkyDigJ1NeSBzcG91c2Ug aXMgdWdseeKAnSBtYWtlcyBzZW5zZSwgc2luY2Ugd2UgaW1tZWRpYXRlbHkga25vdyB3aGF0IHRo ZSBvcHBvc2l0ZSBvZiBiZWF1dGlmdWwgaXMsIHdoaWxlCgonJ21pIGtsYW1hIGxlIG1pIHRvJ2Ug emRhbmknJyDigJMg4oCdSSBnbyB0byBteSBvcHBvc2l0ZSB0aGluZyBvZiBob21l4oCdLCB3aGls ZSBncmFtbWF0aWNhbCwgbGVhdmVzIHRoZSBsaXN0ZW5lciBndWVzc2luZyB3aGF0IHRoZSBzcGVh a2VyJ3Mg4oCcb3Bwb3NpdGUtaG9tZeKAnSBpcyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQuCgoKClNv IGhvdyBjYW4geW91IG5lZ2F0ZSBvbmx5IHRoZSBzZWxicmkgd2l0aG91dCBhbHNvIGltcGx5aW5n IHRoYXQgdGhlIHNlbGJyaSBpcyBjb3JyZWN0IGF0IHNvbWUgb3RoZXIgcG9zaXRpb24gb24gYSB0 cnV0aC1zY2FsZT8gU2ltcGxlOiBNb3ZpbmcgdGhlICcnbmEga3UnJyB0byB0aGUgcmlnaHRtb3N0 IGVuZCBvZiB0aGUgYnJpZGksIGFzIGRlbW9uc3RyYXRlZCBhIGZldyBsaW5lcyBhYm92ZS4gVGhp cyBmZWF0dXJlIGlzIHZlcnkgdXNlZnVsLiBTb21lIGxvamJhbmlzdHMgcHJlZmVyIHRvIHByZWZp eCB0aGUgcmFmc2kgJyduYXInJyAodGhlIHJhZnNpIG9mICcnbmEnJykgaW4gZnJvbnQgb2YgdGhl IHNlbGJyaSAtIHRoaXMgaGFzIHRoZSBzYW1lIGVmZmVjdCwgYnV0IEkgYWR2aXNlIGFnYWluc3Qg aXQsIGJlY2F1c2UgaXQgbWFrZXMgZmFtaWxpYXIgYnJpdmxhIHNlZW0gYWxpZW4sIGFuZCBpdCdz IGhhcmRlciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuIGNhc3VhbGx5LgoKSWYgYSBzaXR1YXRp b24gYXJpc2VzIHdoZXJlIHlvdSBuZWVkIHRvIG5lZ2F0ZSBvbmx5IHRoZSBzZWxicmksIGJ1dCB3 YW50IGl0IHRvIGJlIGNsZWFyIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBicmlkaSwgdGhlIGV4cGVy aW1lbnRhbCBjbWF2byAnJ25hJ2VpJycsIHdoaWNoIGdyYW1tYXRpY2FsbHkgd29ya3MgbGlrZSAn J25hJ2UnJywgY2FuIGJlIHVzZWQKCl9fJyduYSdlaScnX186IE5lZ2F0ZXMgdGhlIGZvbGxvd2lu ZyBzZWxicmkgb25seQoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZXNlIHNlbnRlbmNlczoKCuKAnE15 IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnSAobWVhbmluZyB0aGF0IGhlIGlzIGEgbWFsZSkKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5hJ2UgLyB0bydlIG5pbm11Jycu IFVzaW5nIHNjYWxhciBuZWdhdGlvbiBoZXJlIGltcGxpZXMgdGhhdCBoZSBleGlzdHMsIHdoaWNo IG5hIGRpZCBub3Qufn4KCgoK4oCcTXkgc3BvdXNlIGlzIG5vdCByZWFsbHkgYSB3b21hbuKAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3Ugbm8nZSBuaW5tdScnLiBUaGUg c2NhbGUgaGVyZSBpcyBwcmVzdW1lZCB0byBiZSBmcm9tIHdvbWFuIHRvIG1hbi5+fgoKCgrigJxJ IGRvbid0IHNwZWFrIGZhc3QgaW4gRW5nbGlzaCBiZWNhdXNlIEknbSBHZXJtYW7igJ0KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIG5hJ2Ugc3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBzZSBq YSdlIGxlIG51IG1pIGRvdGNvJyd+fgoKCgpBbHNvLCBub3RlIHRoYXQgd2hlbmV2ZXIgdGhlc2Ug d29yZHMgYXJlIHVzZWQgdG9nZXRoZXIgd2l0aCBhIHRhbnJ1LCB0aGV5IG9ubHkgYWZmZWN0IHRo ZSBsZWZ0bW9zdCBzZWxicmkuIEluIG9yZGVyIHRvIG1ha2UgaXQgYmluZCB0byB0aGUgd2hvbGUg dGFucnUgb3IgcGFydHMgb2YgdGhlIHRhbnJ1LCB0aGUgdXN1YWwgdGFucnUtZ3JvdXBpbmcgd29y ZHMgY2FuIGJlIHVzZWQuCgoKClRyeSB0byBzYXkg4oCcSSBzZWxsIHNvbWV0aGluZyB3aGljaCBp cyBub3QgeWVsbG93IGhvbWVz4oCdIHVzaW5nIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pIHZlY251 JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5hJ2Uga2UgcGVseHUgemRhbmkga2UnZSB2 ZWNudSBvciBtaSBuYSdlIHBlbHh1IGJvIHpkYW5pIHZlY251Jyd+fgoKCgpXaGVuIGF0dGVtcHRp bmcgdG8gYW5zd2VyOiDigJxJcyB0aGUga2luZyBvZiB0aGUgVVNBIGZhdD/igJ0sIGFsbCBvZiB0 aGVzZSBuZWdhdGlvbnMgZmFpbC4gV2hpbGUgaXQncyB0ZWNobmljYWxseSBjb3JyZWN0IHRvIG5l Z2F0ZSBpdCB3aXRoICcnbmEnJywgc2luY2UgaXQgbWFrZXMgbm8gYXNzdW1wdGlvbnMgb2YgdGhh dCBpcyB0cnVlLCBpdCdzIG1pbGRseSBtaXNsZWFkaW5nIHNpbmNlIGl0IGNvdWxkIGxlYWQgdGhl IGxpc3RlbmVyIHRvIGJlbGlldmUgdGhlcmUgaXMgYSBraW5nIG9mIHRoZSBVU0EuIEZvciB0aGVz ZSBzY2VuYXJpb3MsIHRoZXJlIGlzIGEgbWV0YWxpbmd1aXN0aWMgbmVnYXRvciwgJyduYSdpJycu CgonJ25hJ2knJyBNZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLiBTb21ldGhpbmcgaXMgd3Jvbmcgd2l0 aCBhc3NpZ25pbmcgYSB0cnV0aCB2YWx1ZSB0byB0aGUgYnJpZGkuCgpCZWNhdXNlICcnbmEnaScn IGNhbiBiZSBuZWVkZWQgYW55d2hlcmUgaXQgaGFzIGJlZW4gZ2l2ZW4gdGhlIGdyYW1tYXIgb2Yg dGhlIGF0dGl0dWRpbmFscywgd2hpY2ggbWVhbnMgaXQgY2FuIGFwcGVhciBhbnl3aGVyZSwgYW5k IGl0IGF0dGFjaGVzIHRvIHRoZSBwcmV2aW91cyB3b3JkIG9yIGNvbnN0cnVjdC4KCgoKX18nJ3Bh bGNpJydfXyB4MSBpcyBldmlsIGJ5IHN0YW5kYXJkIHgyCgonJ2xlIG5hJ2kgcHUgdGUgenVrdGUg YmUgbGUgc2thbWkgY3UgcGFsY2knJyDigJMg4oCdVGhlIHNvdWdodCBnb2FsIHttaXN0YWtlIX0g b2YgdGhlIGNvbXB1dGVyIHdhcyBldmls4oCdLCBwcm9iYWJseSBwcm90ZXN0cyB0aGF0IGNvbXB1 dGVycyBjYW4gc2VlayBhIGdvYWwgdm9saXRpb25hbGx5LgoKCgpTaW5jZSB0aGlzIGlzIGEgbGVz c29uIG9uIG5lZ2F0aW9uLCBJIGJlbGlldmUgdGhlIHdvcmQgJyduYWknJyBkZXNlcnZlcyBhIHNo b3J0IG1lbnRpb24uIEl0IGlzIHVzZWQgdG8gbmVnYXRlIG1pbm9yIGdyYW1tYXRpY2FsIGNvbnN0 cnVjdHMsIGFuZCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGF0dGl0dWRpbmFscywg YWxsIHN1bXRjaXRhIGluY2x1ZGluZyB0ZW5zZXMsIHZvY2F0aXZlcyBhbmQgbG9naWNhbCBjb25u ZWN0aXZlcy4gVGhlIHJ1bGVzIGZvciBuZWdhdGluZyB1c2luZyAnJ25haScnIGRlcGVuZCBvbiB0 aGUgY29uc3RydWN0LCBhbmQgc28gdGhlIGVmZmVjdCBvZiAnJ25haScnIGhhcyBiZWVuIGRpc2N1 c3NlZCB3aGVuIG1lbnRpb25pbmcgdGhlIGNvbnN0cnVjdCB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0 aW9uIGlzIHN1bXRjaXRhLCB3aGVyZSB0aGUgcnVsZXMgZm9yIG5lZ2F0aW9uIGFyZSBtb3JlIGNv bXBsZXgsIGFuZCB3aWxsIG5vdCBiZSBkaXNjdXNzZWQgaGVyZS4KCl9fTm90ZTpfXyBBdCB0aGUg dGltZSBvZiB3cml0aW5nLCBpdCBoYXMgYmVlbiBwcm9wb3NlZCB0byBtb3ZlICcnbmFpJycgdG8g dGhlIHNlbG1hJ28gQ0FJLCB3aGljaCBtZWFucyB0aGUgc2VtYW50aWNzIG9mICcnbmFpJycgZGVw ZW5kIG9uIHdoaWNoIHNlbG1hJ28gaXQgZm9sbG93cy4gCgoKCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiB0d2VudHktZm91ciAoYnJpa2EnaS9wcm8tYnJpZGkgYW5kIGtvJ2EpCgpJZiBJIHNh eSB0aGF0IEknbSBjYWxsZWQgTWlraGFpbCwgJydsYSAubWlrYWlsLiBjbWVuZSBtaScnLCBhbmQg eW91IGhhdmUgdG8gc2F5IHRoZSBleGFjdCBzYW1lIGJyaWRpLCB3aGF0IHdvdWxkIHRoYXQgYmU/ IE9uZSBvZiB0aGUgbWFueSBhbnN3ZXJzIGlzICcnZG8gc2UgY21lbmUgbGEgLm1pa2FpbC4nJy4g Rm9yIHRoZSBicmlkaSB0byBiZSB0aGUgc2FtZSwgeW91IGhhdmUgdG8gcmVwbGFjZSAnJ21pJycg d2l0aCAnJ2RvJycsIGFuZCBpdCBkb2Vzbid0IG1hdHRlciB3aGljaCBpZiB5b3Ugc2F5IHRoZSBi cmlkaSB3aXRoIHRoZSAnJ3NlJyctY29udmVydGVkIHNlbGJyaSBvciBub3QuIFRoaXMgaXMgYmVj YXVzZSBhIGJyaWRpIGlzIG5vdCB0aGUgd29yZHMgd2hpY2ggZXhwcmVzcyBpdCDigJMgYSBicmlk aSBpcyBhbiBpZGVhLCBhbiBhYnN0cmFjdCBwcm9wb3NpdGlvbi4gVGhlIHdvcmQgJydtaScnIHdo ZW4gSSBzYXkgaXQgYW5kIHRoZSB3b3JkICcnZG8nJyB3aGVuIHlvdSBkbyByZWZlcnMgdG8gdGhl IHNhbWUgc3VtdGksIHNvIHRoZSB0d28gYnJpZGkgYXJlIGlkZW50aWNhbC4KClRoaXMgbGVzc29u IGlzIG9uICcnYnJpa2EnaScnLCB0aGUgYnJpZGkgZXF1aXZhbGVudCBvZiBzdW1rYSdpLiBUaGV5 IGFyZSB3b3JkIHdoaWNoIHJlcHJlc2VudCBlbnRpcmUgYnJpZGkuIEhlcmUgaXQgaXMgaW1wb3J0 YW50IHRvIHJlbWVtYmVyIHRoYXQgYSBicmlkaSBjb25zaXN0cyBvbmx5IG9mIHN1bXRpIGFuZCB0 aGUgdGhpbmdzIHdoaWNoIGNvbnRhaW4gdGhlIHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhLiBO ZWl0aGVyIGF0dGl0dWRpbmFscywgbm9yIHRoZSBzZW1hbnRpYyBsYXllciBvZiAnJ2tvJycgb3Ig JydtYScnIGFyZSBwYXJ0IG9mIHRoZSBicmlkaSBwcm9wZXIsIGFuZCBzbyB0aGVzZSBhcmUgbm90 IHJlcHJlc2VudGVkIGJ5IGEgJydicmlrYSdpJycuCgoKClRoZXJlIGFyZSBtdWNoIGZld2VyICcn YnJpa2EnaScnIHRoYW4gdGhlcmUgYXJlIHN1bWthJ2kuIFdlIHdpbGwgYmVnaW4gYnkgZ29pbmcg dGhyb3VnaCBzb21lIG9mIHRoZSB3b3JkcyBpbiB0aGUgbW9zdCB1c2VkIHNlcmllcywgY2FsbGVk IEdPaEE6CgpXb3JkOglEZWZpbml0aW9uOgoKX18nJ2dvJ3UnJ19fCVJlcGVhdHMgcmVtb3RlIHBh c3QgYnJpZGkKCl9fJydnbydhJydfXwlSZXBlYXRzIHBhc3QgYnJpZGkKCl9fJydnbydlJydfXwlS ZXBlYXRzIG5leHQtdG8tbGFzdCBicmlkaQoKX18nJ2dvJ2knJ19fCVJlcGVhdHMgbGFzdCBtZW50 aW9uZWQgYnJpZGkKCl9fJydnbydvJydfXwlSZXBlYXRzIGZ1dHVyZSBicmlkaQoKX18nJ25laScn X18JUmVwZWF0cyBjdXJyZW50IGJyaWRpCgpfXycnbm8nYScnX18JUmVwZWF0cyBvdXRlciBicmlk aQoKCgpTb21lIG9mIHRoZSBHT2hBLScnYnJpa2EnaScnLiBOb3RpY2UgdGhlIGZhbWlsaWFyIGks IGEsIHUtcGF0dGVybiBmb3IgY2xvc2UgaW4gcGFzdCwgbWVkaXVtIGluIHBhc3QgYW5kIGRpc3Rh bnQgaW4gcGFzdC4KCgoKVGhlc2UgYXJlIHZlcnkgbXVjaCBsaWtlIHRoZSBzdW1rYSdpICcncmkn JywgJydyYScnIGFuZCAnJ3J1JycuIFRoZXkgY2FuIG9ubHkgcmVmZXIgdG8gbWFpbiBicmlkaSBv ZiBqdWZyYSwgYW5kIG5vdCB0aG9zZSBjb250YWluZWQgaW4gcmVsYXRpdmUgcGhyYXNlcyBvciBk ZXNjcmlwdGlvbiBzdW10aS4gVGhlIG1haW4gYnJpZGkgY2FuIGNvbnRhaW4gYSByZWxhdGl2ZSBw aHJhc2UsIG9mIGNvdXJzZSwgYnV0IGEgJydicmlrYSdpJycgY2FuIG5ldmVyIGJlIHVzZWQgdG8g cmVmZXIgdG8gb25seSB0aGUgcmVsYXRpdmUgcGhyYXNlLgoKQSBHT2hBIGFjdHMgZ3JhbW1hdGlj YWxseSBtdWNoIGxpa2UgYSBzZWxicmksIGFueSBjb25zdHJ1Y3Qgd2hpY2ggY2FuIGFwcGx5IHRv IHNlbGJyaSBjYW4gYWxzbyBhcHBseSB0byB0aGVzZS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBh IEdPaEEgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cywgYW5k IHRoZSBzdW10aSBhcmUgYnkgZGVmYXVsdCB0aGUgc2FtZSBhcyBpbiB0aGUgYnJpZGkgaXQgcmVw cmVzZW50cy4gRmlsbGluZyB0aGUgc3VtdGkgcGxhY2VzIG9mIGEgR09oQSBleHBsaWNpdGx5IG92 ZXJ3cml0ZXMgdGhlIHN1bXRpIG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBDb250cmFzdDoK CkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ2dvJ2knJyDigJMg4oCcSSBlYXQgYW4gYXBw bGUu4oCdIOKAnFlvdSBkby7igJ0gd2l0aAoKQTogJydtaSBjaXRrYSBsbyBwbGlzZScnIEI6ICcn bWkgZ28naScnIOKAkyDigJxJIGVhdCBhbiBhcHBsZS7igJ0g4oCcSSBkbywgdG9vLuKAnQoKCgpU aGVzZSAnJ2JyaWthJ2knJyBhcmUgdmVyeSB1c2VmdWwgd2hlbiBhbnN3ZXJpbmcgYSBxdWVzdGlv biB3aXRoICcneHUnJzoKCkE6ICcneHUgZG8gbmVsY2kgbGUgbWkgc3BlbmknJyBCOiAnJ2dvJ2kg LyBuYSBnbydpJycg4oCTIOKAnERvIHlvdSBsaWtlIG15IHdpZmU/4oCdIOKAnFllcy4vTm8u4oCd LiBUaGUgJyd4dScnLCBiZWluZyBhbiBhdHRpdHVkaW5hbCwgaXMgbm90IGNvcGllZC4KCldoZW4g cmVwZWF0aW5nIGJyaWRpIG5lZ2F0ZWQgYnkgJyduYScnLCB0aGF0IGlzOiBCcmlkaSB3aGVyZSAn J25hJycgaXMgcGxhY2VkIGluIHRoZSBwcmVuZXggKGxlc3NvbiB0d2VudHktc2V2ZW4pLCBpbiB0 aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSBvciByaWdodCBiZWZvcmUgdGhlIHNlbGJyaSwgdGhl IHJ1bGVzIGZvciBjb3B5aW5nIG92ZXIgJyduYScnIGFyZSBkaWZmZXJlbnQgZnJvbSB3aGF0IG9u ZSBtaWdodCBleHBlY3QuIEFueSAnJ25hJycgaXMgY29waWVkIG92ZXIsIGJ1dCBhbnkgYWRkaXRp b25hbCAnJ25hJycgaW4gdGhlIGJyaWthJ2kgcmVwbGFjZXMgdGhlIGZpcnN0IG5hLiBMZXQgbWUg c2hvdyB5b3Ugd2l0aCBhbiBleGFtcGxlOgoKQTogJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpC OiAnJ21pIGdvJ2knJyA9ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKQzogJydtaSBuYSBnbydp JycgPSAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkQ6ICcnbWkgbmEgbmEgZ28naScnID0gJydt aSBjaXRrYSBsbyBwbGlzZScnID0gJydtaSBqYSdhIGdvJ2knJwoKCgonJ25laScnIGFuZCAnJ25v J2EnJyBhcmUgbm90IHVzZWQgbXVjaCwgZXhjZXB0IGZvciDigJxtaW5kLWJyZWFraW5nIHB1cnBv c2Vz4oCdLCB3aGljaCBpcyBtYWtpbmcgdXAgYnJpZGkgd2hpY2ggYXJlIGhhcmQgdG8gcGFyc2Us IGxpa2UgJydkZWkgbmEgc2UgZHUndSBsZSBubydhIGxhJ2UgbGUgbmVpJycuIFNpbmNlICcnbmVp JycgcmVwZWF0cyB0aGUgY3VycmVudCBvdXRlciBicmlkaSwgaG93ZXZlciwgJydsZSBuZWknJyBj YW4gYmUgdXNlZCB0byByZWZlciB0byB0aGUgeDEgb2YgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGks ICcnbGUgc2UgbmVpJycgdGhlIHgyIGFuZCBzbyBvbi4KCgoKV2hlbiB1c2luZyAnJ2JyaWthJ2kn Jywgb25lIG11c3QgYWx3YXlzIGJlIHdhcnkgb2YgY29weWluZyBzZW50ZW5jZXMgd2l0aCB0aGUg cGVyc29uYWwgc3Vta2EnaSBsaWtlICcnbWknJywgJydkbycnLCAnJ21hJ2EnJyBlY3QsIGFuZCBi ZSBjYXJlZnVsIG5vdCB0byByZXBlYXQgdGhlbSB3aGVuIHRoZXkgYXJlIGluIHRoZSB3cm9uZyBj b250ZWN0LCBhcyBzaG93biBpbiB0aGUgdHdvIGV4YW1wbGVzIHdpdGggYXBwbGUgZWF0aW5nIGFi b3ZlLiBJbnN0ZWFkIG9mIHJlcGxhY2luZyB0aGVtIG9uZSBieSBvbmUsIHRob3VnaCwgdGhlIHdv cmQgJydyYSdvJycgYW55d2hlcmUgaW4gdGhlIGJyaWRpIHVwZGF0ZXMgdGhlIHBlcnNvbmFsIHN1 bWthJ2kgc28gdGhhdCB0aGV5IGFwcGx5IGZvciB0aGUgc3BlYWtlcidzIHBlcnNwZWN0aXZlOgoK QTogJydtaSBkbyBwcmFtaScnIEI6ICcnbWkgZG8gZ28naScnIGlzIGVxdWl2YWxlbnQgdG8gQTog JydtaSBkbyBwcmFtaScnIEI6ICcnZ28naSByYSdvJycKCl9fJydyYSdvJydfXyBVcGRhdGUgYWxs IHBlcnNvbmFsIHN1bWthJ2kgc28gdGhhdCB0aGV5IG5vdyBmaXQgdGhlIHNwZWFrZXIncyBwb2lu dCBvZiB2aWV3LgoKCgpUaGUgb25seSBvdGhlciBzZXJpZXMgb2YgYnJpa2EnaSBhcmUgdmVyeSBl YXN5IHRvIHJlbWVtYmVyOgoKX18nJ2Jyb2RhJydfXwlCcmlkaSB2YXJpYWJsZSAxCgpfXycnYnJv ZGUnJ19fCUJyaWRpIHZhcmlhYmxlIDIKCl9fJydicm9kaScnX18JQnJpZGkgdmFyaWFibGUgMwoK X18nJ2Jyb2RvJydfXwlCcmlkaSB2YXJpYWJsZSA0CgpfXycnYnJvZHUnJ19fCUJyaWRpIHZhcmlh YmxlIDUKCl9fJydjZWknJ19fCURlZmluZSBicmlkaSB2YXJpYWJsZSAobm90IGEgYnJpa2EnaSBh bmQgbm90IGluIEJST0RBKQoKCgoKClRoZSBmaXJzdCBmaXZlIGFyZSBqdXN0IGZpdmUgaW5zdGFu Y2VzIG9mIHRoZSBzYW1lIHdvcmQuIFRoZXkgY2FuIGJlIHVzZWQgYXMgc2hvcnRjdXRzIHRvIGJy aWRpLiBBZnRlciBzYXlpbmcgYSBicmlkaSwgc2F5aW5nICcnY2VpIGJyb2RhJycgZGVmaW5lcyB0 aGF0IGJyaWRpIGFzICcnYnJvZGEnJywgYW5kICcnYnJvZGEnJyBjYW4gdGhlbiBiZSB1c2VkIGFz ICcnYnJpa2EnaScnIGZvciB0aGF0IGJyaWRpIGluIHRoZSBmb2xsb3dpbmcgY29udmVyc2F0aW9u LgoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlIGlzIGFuIGFuYWxvZ291cyBzZXJpZXMgb2Ygc3Vt a2EnaSwgd2hpY2ggcHJvYmFibHkgZG9lcyBub3QgYmVsb25nIGluIHRoaXMgbGVzc29uLCBidXQg aGVyZSB0aGV5IGFyZSBhbnl3YXk6CgpfXycna28nYScnX18JU3VtdGkgdmFyaWFibGUgMQlfXycn Zm8nYScnX18JU3VtdGkgdmFyaWFibGUgNgoKX18nJ2tvJ2UnJ19fCVN1bXRpIHZhcmlhYmxlIDIJ X18nJ2ZvJ2UnJ19fCVN1bXRpIHZhcmlhYmxlIDcKCl9fJydrbydpJydfXwlTdW10aSB2YXJpYWJs ZSAzCV9fJydmbydpJydfXwlTdW10aSB2YXJpYWJsZSA4CgpfXycna28nbycnX18JU3VtdGkgdmFy aWFibGUgNAlfXycnZm8nbycnX18JU3VtdGkgdmFyaWFibGUgOQoKX18nJ2tvJ3UnJ19fCVN1bXRp IHZhcmlhYmxlIDUJX18nJ2ZvJ3UnJ19fCVN1bXRpIHZhcmlhYmxlIDEwCgoKCmFzIHdlbGwgYXMg dGhlICcnY2VpJyctZXF1aXZhbGVudCBmb3IgdGhpcyBzZXJpZXM6CgpfXycnZ29pJydfXyBEZWZp bmUgc3VtdGkgdmFyaWFibGUKCgoKCgpUaGVzZSBhcmUgdXNlZCBsaWtlIHRoZSAnJ2JyaWthJ2kn Jy1zZXJpZXMuIEp1c3QgcGxhY2UsIGZvciBpbnN0YW5jZSwgJydnb2kga28ndScnIGFmdGVyIGEg c3VtdGksIGFuZCB0aGF0IHN1bXRpIGNhbiBiZSByZWZlcnJlZCB0byBieSAnJ2tvJ3UnJy4KCgoK U3RyYW5nZWx5LCB0aGVzZSBzZXJpZXMgYXJlIHJhcmVseSB1c2VkIGZvciB0aGVpciBpbnRlbmRl ZCBwdXJwb3NlLiBUaGV5IGFyZSwgaG93ZXZlciwgdXNlZCBhcyBhcmJpdHJhcnkgc2VsYnJpIGFu ZCBzdW10aSBpbiBleGFtcGxlIHRleHRzOgoK4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1 dGggY29uZGl0aW9ucyBvZiAnJ2tvJ2Ega28nZSBicm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhl IHNhbWUgYXMgJyduYSBrdSBrbydhIGtvJ2UgYnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNuJ3Qu 4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZml2ZSAobG9naWNhbCBj b25uZWN0aXZlcykKCuKAnElmIHlvdSBhc2sgYSBMb2piYW5pc3Q6IOKAnERvIHlvdSB3YW50IG1p bGsgb3Igc3VnYXIgaW4geW91ciBjb2ZmZWU/4oCdIHNoZSdsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu 4oCd4oCdCgoKCldpdHR5IGFzIHRoaXMgam9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3 ZWlyZCBwcm9wZXJ0eSBvZiB0aGUgRW5nbGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24u IEl0IGlzIHBocmFzZWQgYXMgYSB0cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlz bid0LiBJbiBMb2piYW4sIHdlIGNhbid0IGhhdmUgdGhpcyBraW5kIG9mIGluY29uc2lzdGVuY3ks IGFuZCBzbyB3ZSBtdXN0IGZpbmQgYW5vdGhlciB3YXkgb2YgYXNraW5nIHRoaXMga2luZCBvZiBx dWVzdGlvbi4gSWYgeW91IHRoaW5rIGFib3V0IGl0LCBpdCdzIHByZXR0eSBoYXJkIHRvIGZpbmQg YSBnb29kIGFuZCBlYXN5IHdheSwgYW5kIGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdv b2Qgd2F5IGluc3RlYWQgb2YgYW4gZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0 YWtlIHR3byBzZXBhcmF0ZSBicmlkaTogQnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29m ZmVl4oCdIGFuZCBicmlkaSAyOiDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3Ro IG9mIHRoZXNlIGJyaWRpIGNhbiBoYXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlp ZWxkcyBmb3VyIGNvbWJpbmF0aW9ucyBvZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAx IGFuZCAyCUIgKSAxIGJ1dCBub3QgMgoKQyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3Ig MgoKCgpJLCBpbiBhY3R1YWxpdHksIGxpa2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJJ20gaW5k aWZmZXJlbnQgYXMgdG8gd2hldGhlciB0aGVyZSBpcyBzdWdhciBpbiBpdCBvciBub3QuIFRoZXJl Zm9yZSwgbXkgcHJlZmVyZW5jZSBjYW4gYmUgd3JpdHRlbiBBICkgdHJ1ZSBCICkgdHJ1ZSBDICkg ZmFsc2UgRCApIGZhbHNlLCBzaW5jZSBib3RoIEEgYW5kIEIgeWllbGRzIHRydWUgZm9yIG1lLCBi dXQgbmVpdGhlciBDIG5vciBEIGRvZXMuIEEgbW9yZSBjb21wYWN0IHdheSBvZiB3cml0aW5nIG15 IGNvZmZlZSBwcmVmZXJlbmNlcyB3b3VsZCBiZSBUVEZGIGZvciB0cnVlLCB0cnVlLCBmYWxzZSwg ZmFsc2UuIFNpbWlsYXJseSwgYSBwZXJzb24gbGlraW5nIGhpcyBjb2ZmZWUgYmxhY2sgYW5kIHVu c3dlZXRlbmVkIHdvdWxkIGhhdmUgYSBjb2ZmZWUgcHJlZmVyZW5jZSBvZiBGRkZULiBUaGlzIGNv bWJpdGF0aW9uIG9mICJ0cnVlIiBhbmQgImZhbHNlIiBpcyBjYWxsZWQgYSDigJx0cnV0aCBmdW5j dGlvbuKAnSwgaW4gdGhpcyBjYXNlIGZvciB0aGUgdHdvIHN0YXRlbWVudHMg4oCcSSBsaWtlIG1p bGsgaW4gbXkgY29mZmVl4oCdIGFuZCDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBO b3RlIHRoYXQgdGhlIG9yZGVyIG9mIHRoZSBzdGF0ZW1lbnRzIG1hdHRlcnMuCgpJbiBMb2piYW4s IHdlIG9wZXJhdGUgd2l0aCA0IHRydXRoIGZ1bmN0aW9ucywgd2hpY2ggd2UgY29uc2lkZXIgZnVu ZGFtZW50YWw6CgpBOiBUVFRGIChhbmQvb3IpCgpPOiBURkZUIChpZiBhbmQgb25seSBpZmYpCgpV OiBUVEZGICh3aGV0aGVyIG9yIG5vdCkKCkU6IFRGRkYgKGFuZCkKCgoKSW4gdGhpcyBleGFtcGxl LCB0aGV5IHdvdWxkIHRyYW5zbGF0ZSB0byBzb21ldGhpbmcgbGlrZTogQTrigJ1KdXN0IG5vdCBi bGFjayBjb2ZmZWXigJ0sIE86IOKAnEVpdGhlciBib3RoIG1pbGsgb3Igc3VnYXIsIG9yIG5vdGhp bmcgZm9yIG1lLCBwbGVhc2XigJ0sIFU6IOKAnE1pbGssIGFuZCBJIGRvbid0IGNhcmUgYWJvdXQg aWYgdGhlcmUncyBzdWdhciBvciBub3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBwbGVh c2Uu4oCdLgoKCgpJbiBMb2piYW4sIHlvdSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRoIGZ1 bmN0aW9uIGJldHdlZW4gdGhlIHR3byBicmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0aW9u LiBUaGF0IHdvcmQgaXMgY2FsbGVkIGEgbG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMgZm9y IHRydXRoIGZ1bmN0aW9ucyBiZXR3ZWVuIHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBhcmUg ICcnLmEnJyAnJy5vJycgJycudScnIGFuZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFuY2U6 IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3VsZCBi ZSAnJ2xvIG1lcmtvIC5lIGxvIGRvdGNvIGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91IHNh eTog4oCcSSBzcGVhayB0byB5b3UgYW5kIG5vIG9uZSBlbHNlP+KAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgdGF2bGEgZG8gLmUgbm8gZHJhdGEnJyBOb3RlIHRoYXQgdGhpcyBhY3R1YWxs eSBzdGF0ZXMgdGhhdCBpdCdzIHRydWUgdGhhdCAiSSBzcGVhayB0byB5b3UiLn5+CgoKCk9uZSBt b3JlOiDigJxJIGxpa2UgY2hlZXNlIHdoZXRoZXIgb3Igbm90IEkgbGlrZSBjb2ZmZWXigJ0KCl9f Jydja2FmaScnX18geDEgaXMgYSBxdWFudGl0eS9jb250YWlucyBjb2ZmZWUgZnJvbSBzb3VyY2Uv b2YgZ3JhaW4geDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5lbGNpIGxvJ2UgY2lybGEg LnUgbG8nZSBja2FmaScnfn4KCgoKWW91IGNhbiBwZXJoYXBzIGRlZHVjZSB0aGF0IHRoZXJlIGFy ZSBzaXh0ZWVuIHBvc3NpYmxlIHRydXRoIGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBsZWFybiB0 d2VsdmUgbW9yZSBpbiBvcmRlciB0byBrbm93IHRoZW0gYWxsLiBFaWdodCBtb3JlIGNhbiBiZSBv YnRhaW5lZCBieSBuZWdhdGluZyBlaXRoZXIgdGhlIGZpcnN0IHNlbnRlbmNlIG9yIHRoZSBzZWNv bmQuIFRoZSBmaXJzdCBpcyBuZWdhdGVkIGJ5IHByZWZpeGluZyB0aGUgdHJ1dGggZnVuY3Rpb24g d29yZCB3aXRoICcnbmEnJywgdGhlIHNlY29uZCBpcyBuZWdhdGVkIGJ5IHBsYWNpbmcgJyduYWkn JyBhZnRlciB0aGUgd29yZC4gRm9yIGV4YW1wbGUsIHNpbmNlICcnLmUnJyByZXByZXNlbnRzIFRG RkYsICcnLmUgbmFpJycgbXVzdCBiZSDigJxib3RoIDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKA nSwgd2hpY2ggaXMgRlRGRi4gU2ltaWxhcmx5LCAnJ25hIC5hJycgaXMg4oCcSnVzdCBub3Q6IDEg aXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgVFRGVC4gRG9pbmcgdGhpcyB0eXBl IG9mIGNvbnZlcnNpb24gaW4gdGhlIGhlYWQgcmVhbC10aW1lIGlzIHZlcnksIHZlcnkgaGFyZCwg c28gcGVyaGFwcyBvbmUgc2hvdWxkIGZvY3VzIG9uIGxlYXJuaW5nIGhvdyBsb2dpY2FsIGNvbm5l Y3RpdmVzIHdvcmsgaW4gZ2VuZXJhbCwgYW5kIHRoZW4gbGVhcm4gdGhlIGxvZ2ljYWwgY29ubmVj dGl2ZXMgdGhlbXNlbHZlcyBieSBoZWFydC4KCgoKRm91ciBmdW5jdGlvbnMgY2Fubm90IGJlIG1h ZGUgdGhpcyB3YXk6IFRUVFQsIFRGVEYsIEZURlQgYW5kIEZGRkYuIFRoZSBmaXJzdCBhbmQgdGhl IGxhc3QgY2Fubm90IGJlIG1hZGUgdXNpbmcgbG9naWNhbCBjb25uZWN0aXZlcyBhdCBhbGwsIGJ1 dCB0aGV5IGFyZSBraW5kIG9mIHVzZWxlc3MgYW55d2F5LiBVc2luZyBhIGh5cG90aGV0aWNhbCBs b2dpY2FsIGNvbm5lY3RpdmUgaW4gdGhlIHNlbnRlbmNlIOKAnEkgbGlrZSBtaWxrIEZGRkYgc3Vn YXIgaW4gbXkgY29mZmVl4oCdIGlzIGVxdWl2YWxlbnQgdG8gc2F5aW5nIOKAnEkgZG9uJ3QgbGlr ZSBjb2ZmZWXigJ0sIGp1c3QgbW9yZSBjb21wbGljYXRlZC4gVGhlIGxhc3QgdHdvLCBURlRGIGFu ZCBGVEZULCBjYW4gYmUgbWFkZSBieSBwcmVmaXhpbmcgJycudScnIHdpdGggZ29vZCBvbCcgJydz ZScnLCB3aGljaCBqdXN0IHJldmVydHMgdGhlIHR3byBzdGF0ZW1lbnRzLiAnJ3NlIC51JycgLCBm b3IgaW5zdGFuY2UgaXMg4oCcQiB3aGV0aGVyIG9yIG5vdCBB4oCdLCB3aGljaCBpcyBURlRGLiBU aGUgZmluYWwgbGlzdCBvZiBhbGwgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4gYmUgc2VlbiBiZWxv dy4KCgoKVFRUVDogQ2Fubm90IGJlIG1hZGUKClRUVEY6ICcnLmEnJwoKVFRGVDogJycuYSBuYWkn JwoKVFRGRjogJycudScnIE9SICcnLnUgbmFpJycKClRGVFQ6ICcnbmEgLmEnJwoKVEZURjogJydz ZSAudScnCgpURkZUOiAnJy5vJycgT1IgJyduYSAubyBuYWknJwoKVEZGRjogJycuZScnCgpGVFRU OiAnJ25hIC5hIG5haScnCgpGVFRGOiAnJ25hIC5vJycgT1IgJycubyBuYWknJwoKRlRGVDogJydz ZSAudSBuYWknJwoKRlRGRjogJycuZSBuYWknJwoKRkZUVDogJyduYSAudScnIE9SICcnbmEgLnUg bmFpJycKCkZGVEY6ICcnbmEgLmUnJwoKRkZGVDogJyduYSAuZSBuYWknJwoKRkZGRjogQ2Fubm90 IGJlIG1hZGUKCgoKTG9naWNhbGx5LCBzYXlpbmcgYSBzZW50ZW5jZSB3aXRoIGEgbG9naWNhbCBj b25uZWN0aXZlLCBsaWtlIGZvciBpbnN0YW5jZSAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmUgbmFp IGxvJ2UgY2thZmknJyBpcyBlcXVpdmFsZW50IHRvIHNheWluZyB0d28gYnJpZGksIHdoaWNoIGFy ZSBjb25uZWN0ZWQgd2l0aCB0aGUgc2FtZSBsb2dpY2FsIGNvbm5lY3RpdmU6ICcnbWkgbmVsY2kg bG8nZSBjaXJsYSAuaSB7RSBOQUl9IG1pIG5lbGNpIGxvJ2UgY2thZmknJy4gVGhpcyBpcyBob3cg dGhlIGZ1bmN0aW9uIG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMgaXMgZGVmaW5lZC4gV2Ugd2lsbCBn ZXQgdG8gaG93IHRvIGFwcGx5IGxvZ2ljYWwgY29ubmVjdGl2ZXMgdG8gYnJpZGkgaW4gYSBtb21l bnQuCgoKCkJ5IHB1dHRpbmcgYSDigJxq4oCdIGluIGZyb250IG9mIHRoZSBjb3JlIHdvcmQgb2Yg YSBsb2dpY2FsIGNvbm5lY3RpdmUsIGl0IGNvbm5lY3RzIHR3byBzZWxicmkuIEFuIGV4YW1wbGUg aXMgJydtaSBuaW5tdSBuYSBqbyBuYW5tdScnIOKAnEkgYW0gYSBtYW4gb3IgYSB3b21hbiwgYnV0 IG5vdCBib3Ro4oCdCgpfXycnbmlubXUnJ19fIHgxIGlzIGEgd29tYW4KCgoKVGhpcyBpcyDigJx0 YW5ydS1pbnRlcm5hbOKAnSwgbWVhbmluZyB0aGF0IGl0IGxvb3NlbHkgYmluZHMgc2VsYnJpIHRv Z2V0aGVyLCBldmVuIHdoZW4gdGhleSBmb3JtIGEgdGFucnU6ICcnbG8gZG90Y28gamEgbWVya28g cHJlbnUnJyBtZWFucyDigJxhIEdlcm1hbiBvciBBbWVyaWNhbiBtYW7igJ0sIGFuZCBpcyBwYXJz ZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICcncHJlbnUnJy4gVGhpcyBiaW5kaW5nIGlz IHNsaWdodGx5IHN0cm9uZ2VyIHRoYXQgbm9ybWFsIHRhbnJ1LWdyb3VwaW5nIChzdGlsbCB3ZWFr ZXIgdGhhbiBzcGVjaWZpYyBncm91cGluZy13b3JkcyksIGFuZCBhcyBzdWNoLCAnJ2xvIGRvdGNv IGphIG1lcmtvIG5pbm11IGphIG5hbm11JycgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBt ZXJrbycnKSAoJyduaW5tdSBqYSBuYW5tdScnKS4gVGhlIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3Rp dmVzIGNhbiBhbHNvIGJlIGF0dGFjaGVkIHRvICcnLmknJyBpbiBvcmRlciB0byBjb25uZWN0IHR3 byBzZW50ZW5jZXMgdG9nZXRoZXI6ICcnbGEgLmtpbS4gY21lbmUgbWkgLmkganUgbWkgbmFubXUn JyDigJxJJ20gY2FsbGVkIEtpbSwgd2hldGhlciBvciBub3QgSSdtIGEgbWFu4oCdLiBUaGUgY29t YmluYXRpb24gJycuaSBqZScnIHN0YXRlcyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBt dWNoIGxpa2Ugd2Ugd291bGQgYXNzdW1lIGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBw cmVzZW50LgoKCgpVbmZhaXJseSBoYXJkIHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3Rp dmVzLCBob3cgd291bGQgeW91IHRyYW5zbGF0ZSDigJxJZiB5b3UncmUgY2FsbGVkIEJvYiwgeW91 J3JlIGEgbWFuLuKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xhIC5iYWIuIGNtZW5lIGRv IC5pIG5hIGphIGRvIG5hbm11Jycgb3Ig4oCcRWl0aGVyIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFu ZCBhIG1hbiwgb3IgeW91J3JlIG5vdCBuYW1lZCBCb2IgYW5kIG5vdCBhIG1hbiwgb3IgeW91J3Jl IG5hbWVkIEJvYiBhbmQgYSBtYW4uIEJ1dCB5b3UgY2FuJ3QgYmUgbmFtZWQgQm9iIGFuZCBub3Qg YmUgYSBtYW4u4oCdIFRoZSBvbmx5IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6IOKAnFlv dSdyZSBjYWxsZWQgQm9iLCBidXQgbm90IGEgbWFuLuKAnSBUaGlzIG11c3QgbWVhbiB0aGF0LCBp ZiBpdCdzIHRydWUgdGhhdCB5b3UncmUgY2FsbGVkIEJvYiwgeW91IG11c3QgYmUgYSBtYW4ufn4K CgoKSWYgd2UgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQgb2Yg4oCcSSBjcmll ZCBhbmQgZ2F2ZSBhd2F5IG15IGRvZ+KAnSwgd2UgcnVuIGludG8gYSBwcm9ibGVtLgoKQXR0ZW1w dGluZyB0byBzYXkgdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2plJycgYmV0d2VlbiB0aGUgc2VsYnJp IOKAnGdhdmXigJ0gYW5kIOKAnGNyaWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBzYW1lIHdvcmQgZm9y IHdvcmQsIGJ1dCB1bmZvcnR1bmF0ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVkIHRoZSBkb2cgYW5k IGdhdmUgYXdheSB0aGUgZG9n4oCdLCBjZi4gdGhlIGRlZmluaXRpb24gb2YgbG9naWNhbCBjb25u ZWN0aXZlcy4gT25lIGNhbiBjcnkgdGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0IGNyeWluZyBkb2dz IGlzIGp1c3Qgc2lsbHkuCgpIb3dldmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBieSB1c2luZyBicmlk aS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0aGF0IGFueSBwcmV2 aW91cyBzdW10Y2l0YSBhbmQgc3VtdGkgYXR0YWNoZXMgdG8gYm90aCBzZWxicmkgYm91bmQgYnkg dGhlIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlLCBidXQgYW55IGZvbGxvd2luZyBzdW10 aSBvciBzdW10Y2l0YSBvbmx5IGFwcGxpZXMgdG8gdGhlIGxhc3QgbWVudGlvbmVkOiBUaGUgYnJp ZGkgc3BsaXRzIHVwIGZyb20gb25lIGhlYWQgdG8gdHdvIHRhaWxzLCB0byBzcGVhayBtZXRhcGhv cmljYWxseS4KClRoZSBmb3JtIG9mIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMg Z2knViwgd2l0aCB0aGUgViBmb3IgdGhlIHZvd2VsIG9mIHRoZSB0cnV0aCBmdW5jdGlvbi4KCkhv dyBjb3VsZCB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSB0aGUgRW5nbGlzaCBzZW50ZW5jZSB0byBM b2piYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwdSBrbGFrdSBnaSdlIGR1bmRhIGxl IG1pIGdlcmt1Jyd+fgoKCgpXaGF0IGRvZXMgJydybyByZW1uYSBjdSBwYWxjaSBnaSdvIHp1a3Rl IGxvIHBhbGNpJycgbWVhbj8KCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4 MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFBlb3BsZSBhcmUgZXZpbCBpZiBhbmQgb25seSBp ZiB0aGV5IGRvIGV2aWwgdGhpbmdzLuKAnX5+CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIGZv cmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgZ3JvdXAgb2YgY29ubmVjdGVycyBtYWRl IGJ5IHByZWZpeGluZyDigJxn4oCdIGluIGZyb250IG9mIHRoZSB0cnV0aCBmdW5jdGlvbiB2b3dl bC4g4oCcRm9yZXRob3VnaHTigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgdGhleSBuZWVk IHRvIGdvIGluIGZyb250IG9mIHRoZSB0aGluZ3MgdGhleSBjb25uZWN0LCBhbmQgdGh1cyB5b3Ug bmVlZCB0byB0aGluayBhYm91dCB0aGUgZ3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIHRoZSBzZW50 ZW5jZSBiZWZvcmUgc2F5aW5nIGl0LiBBbGwtYnV0IHRhbnJ1IGludGVybmFsIG1lYW5zIHRoYXQg aXQgc2VydmVzIGJvdGggYXMgYSBjb25uZWN0aXZlIGJldHdlZW4gc3VtdGksIGJyaWRpLCBzZWxi cmkgYW5kIGJyaWRpLXRhaWxzLCBidXQgbm90IGJldHdlZW4gdHdvIHNlbGJyaSBvZiBvbmUgdGFu cnUuIExldCBtZSBzaG93IHlvdSBob3cgaXQgd29ya3MsIHJld3JpdGluZyB0aGUgTG9qYmFuIHNl bnRlbmNlIGFib3ZlOgoKJydnbyBsbyByZW1uYSBjdSBwYWxjaSBnaSBsbyByZW1uYSBjdSB6dWt0 ZSBsbyBwYWxjaScnCgpUaGUgZmlyc3QgbG9naWNhbCBjb25uZWN0aXZlIGluIHRoZXNlIGtpbmRz IG9mIGNvbnN0cnVjdHMgYXJlIHdoYXQgY2FycmllcyB0aGUgdm93ZWwgd2hpY2ggc2lnbmFsIHdo YXQgdHJ1dGggZnVuY3Rpb24gaXMgYmVpbmcgdXNlZC4gVGhlIHNlY29uZCBsb2dpY2FsIGNvbm5l Y3RpdmUgaXMgYWx3YXlzICcnZ2knJywgYW5kIGxpa2UgJycuaScnLCBpdCBoYXMgbm8gdHJ1dGgg ZnVuY3Rpb24uIEl0IHNpbXBseSBzZXJ2ZXMgdG8gc2VwYXJhdGUgdGhlIHR3byB0ZXJtcyBiZWlu ZyBjb25uZWN0ZWQuIElmIHlvdSB3YW50IHRvIG5lZ2F0ZSB0aGUgZmlyc3Qgb3Igc2Vjb25kIHNl bnRlbmNlLCBhICcnbmFpJycgaXMgc3VmZml4ZWQgdG8gZWl0aGVyIHRoZSBmaXJzdCAoZm9yIHRo ZSBmaXJzdCBzZW50ZW5jZSkgb3Igc2Vjb25kIChmb3IgdGhlIHNlY29uZCBzZW50ZW5jZSkgbG9n aWNhbCBjb25uZWN0aXZlLgoKUHJvdmlkZWQgdGhhdCB0aGUgY29uc3RydWN0cyBhcmUgdGVybWlu YXRlZCBwcm9wZXJseSwgaXQgaGFzIHJlbWFya2FibGUgZmxleGliaWxpdHksIGFzIHRoZSBmb2xs b3dpbmcgZmV3IGV4YW1wbGVzIGRlbW9uc3RyYXRlOgoKJydtaSBnbyBrbGFtYSBnaSBjYWR6dSB2 YXUgbGUgbWkgemRhbmknJyDigJxJIGdvLCBpZiBhbmQgb25seSBpZiB3YWxrLCB0byBteSBob21l 4oCdIG9yIOKAnEkgY2FuIG9ubHkgZ28gdG8gbXkgaG9tZSBieSB3YWxraW5nLuKAnSBOb3RpY2Ug dGhhdCB0aGUgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBsZSBtaSB6ZGFuaSBhcHBseSB0byBi b3RoICcnY2FkenUnJyBhbmQgJydrbGFtYScnLgoKJydzZSBndSBkbyBnaSBuYWkgbWkgYmFqcmEg bGUgZG8gY2t1bGUnJyDigJxXaGV0aGVyIG9yIG5vdCB5b3UsIHRoZW4gbm90IEksIHJ1biB0byB5 b3VyIHNjaG9vbOKAnSBvciDigJxJIHdvbid0IHJ1biB0byB5b3VyIHNjaG9vbCBubyBtYXR0ZXIg aWYgeW91IGRvIG9yIG5vdOKAnQoKCgpUaGUgdGFucnUtaW50ZXJuYWwgZXF1aXZhbGVudCBvZiBn ViBpcyBndSdWLiBUaGVzZSBhcmUgZXhhY3RseSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgdGhleSBh cmUgZXhjbHVzaXZlbHkgdGFucnUtaW50ZXJuYWwsIGFuZCB0aGF0IHRoZXkgYmluZCBhIHNlbGJy aSB0byB0aGUgJydnaScnIHRpZ2h0ZXIgdGhhbiBub3JtYWwgdGFucnUtZ3JvdXBpbmcsIGJ1dCB3 ZWFrZXIgdGhhbiBleHBsaWNpdCBiaW5kaW5nLXN1bXRpOgoKJydsYSB4YW56LmtydC4gZ3UnZSBt ZXJrbyBnaSBkb3RjbyBuYW5tdScnIGlzIGVxdWl2YWxlbnQgdG8KCicnbGEgeGFuei5rcnQuIG1l cmtvIGplIGRvdGNvIG5hbm11JycKCgoKQW5kIHNvIHlvdSd2ZSByZWFkIHBhZ2UgdXAgYW5kIHBh Z2UgZG93biBqdXN0IHRvIGdldCB0aGUgbmVjZXNzYXJ5IGtub3dsZWRnZSBpbiBvcmRlciB0byBi ZSBhYmxlIHRvIGxlYXJuIGhvdyB0byBhc2sg4oCcV291bGQgeW91IGxpa2UgbWlsayBvciBzdWdh ciBpbiB5b3VyIGNvZmZlZT/igJ0gaW4gTG9qYmFuLiBTaW1wbHkgcGxhY2UgYSBxdWVzdGlvbiBs b2dpY2FsIGNvbm5lY3RpdmUgaW5zdGVhZCBvZiBhbm90aGVyIGxvZ2ljYWwgY29ubmVjdGl2ZSwg YW5kIGxpa2UgJydtYScnLCBpdCBhc2tzIHRoZSBsaXN0ZW5lciB0byBmaWxsIGluIGEgY29ycmVj dCByZXNwb25zZS4gVW5mb3J0dW5hdGVseSwgdGhlc2UgcXVlc3Rpb24tbG9naWNhbCBjb25uZWN0 aXZlcyBkb24ndCBhbHdheXMgbWF0Y2ggdGhlIG1vcnBob2xvZ2ljYWwgcGF0dGVybiBvZiB0aGUg bG9naWNhbCBjb25uZWN0aXZlcyB0aGV5IGFzayBmb3I6CgpfXycnamknJ19fIExvZ2ljYWwgY29u bmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBzdW10aSBsb2dpY2FsIGNvbm5lY3RpdmUgKEEp CgpfXycnamUnaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRh bnJ1LWludGVybmFsIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dpJ2knJ19f IExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBicmlkaS10YWlsIGxvZ2lj YWwgY29ubmVjdGl2ZSAoR0loQSkKCl9fJydnZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVl c3Rpb246IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBsb2dp Y2FsIGNvbm5lY3RpdmUgKEdBKQoKX18nJ2d1J2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVz dGlvbjogQXNrcyBmb3IgYSBmb3JldGhvdWdodCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwg Y29ubmVjdGl2ZSAoR1VoQSkKCgoKU28uLi4gaG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNv bnMgd2FudHMgbWlsayBvciBzdWdhciBpbiBoZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBp cy9jb250YWlucyBtaWxrIGZyb20gc291cmNlIHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRh aW5zIHN1Z2FyIGZyb20gc291cmNlIHgyIG9mIGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFu c3dlcjogfn5ncmV5LGdyZXk6JydzYWt0YSBqZSdpIGxhZHJ1IGxlIGRvIGNrYWZpJycgdGhvdWdo IEkgZ3Vlc3Mgc29tZXRoaW5nIG1vcmUgRW5nbGlzaCBhbmQgbGVzcyBlbGVnYW50IGNvdWxkIGFs c28gc3VmZmljZSBsaWtlICcnZG8gZGppY2EgbGVudSBsbyBzYWt0YSBqaSBsbyBsYWRydSBjdSBu ZW5yaSBsZSBkbyBja2FmaScnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHkt c2l4IChub24tbG9naWNhbCBjb25uZWN0aXZlcykKClRoZSB3b3JkICJsb2dpY2FsIiBpbiAibG9n aWNhbCBjb25uZWN0aXZlIiByZWZlcnMgdG8gdGhlIGFzc29jaWF0aW9uIGEgbG9naWNhbCBjb25u ZWN0aXZlIGhhcyB3aXRoIGEgdHJ1dGggZnVuY3Rpb24uIE5vdCBhbGwgdXNlZnVsIGNvbm5lY3Rp dmVzIGNhbiBiZSBkZWZpbmVkIHRocm91Z2ggYSB0cnV0aCBmdW5jdGlvbiwgaG93ZXZlciwgYW5k IHNvIHRoZXJlIGFyZSBvdGhlciBjb25uZWN0aXZlcyBiZXNpZGUgdGhlIGxvZ2ljYWwgb25lcy4K ClRoZSBtZWFuaW5nIG9mIGEgbG9naWNhbCBjb25uZWN0aXZlIGlzIGRlZmluZWQgdGhlIHNhbWUg YXMgdHdvIGRpZmZlcmVudCBicmlkaSBjb25uZWN0ZWQgd2l0aCB0aGF0IGxvZ2ljYWwgY29ubmVj dGl2ZS4gRm9yIGluc3RhbmNlLCAnJ21pIG5pdGN1IGRvIC5hIGxhIC5kamFuLicnIGlzIGRlZmlu ZWQgdG8gYmUgZXF1aXZhbGVudCB0byAnJ21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIC5k amFuLicnLiBUaGlzIGRlZmluaXRpb24gaXMgdXNlZnVsIHRvIGJlYXIgaW4gbWluZCwgYmVjYXVz ZSBpdCBpbXBsaWVzIHRoYXQgc29tZXRpbWVzLCBzdW10aSBjYW5ub3QgYmUgY29ubmVjdGVkIHdp dGggbG9naWNhbCBjb25uZWN0aXZlcyB3aXRob3V0IGNoYW5pbmcgdGhlIG1lYW5pbmcuIENvbnNp ZGVyIHRoZSBzZW50ZW5jZTogIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkuIiBPbmUgYXR0 ZW1wdCBhdCBhIHRyYW5zbGF0aW9uIHdvdWxkIGJlOiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBl IGxhIC5kam91cy4nJwoKX18nJ2RyYWNpJydfXyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIg Ynkgd3JpdGVyL2RyYW1hdGlzdCB4MyBmb3IgYXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoK VGhlIHByb2JsZW0gd2l0aCB0aGlzIHRyYW5zbGF0aW9uIGlzIHRoYXQgaXQgbWVhbnMgJyd0aSBk cmFjaSBsYSAuZGphay4gaWplIHRpIGRyYWNpIGxhIC5kam91cy4nJywgd2hpY2ggaXMgbm90IHJl YWxseSB0cnVlLiBOZWl0aGVyIEphY2sgbm9yIEpvZSB3cm90ZSBpdCwgdGhleSBkaWQgc28gdG9n ZXRoZXIuIFdoYXQgd2Ugd2FudCBoZXJlIGlzIG9mIGNvdXJzZSBhIG1hc3MsIGFuZCBzb21lIHdh eSB0byBqb2luIEphY2sgYW5kIEpvZSBpbiBvbmUgbWFzcy4gVGhpcyBoYXMgbGl0dGxlIHRvIGRv IHdpdGggYSB0cnV0aCBmdW5jdGlvbiBzbyB3ZSBtdXN0IHVzZSBhIG5vbi1sb2dpY2FsIGNvbm5l Y3RpdmUsIHdoaWNoIGFyZSBvZiBzZWxtYSdvIEpPSS4gV2UnbGwgcmV0dXJuIHRvIHRoaXMgSmFj ayBhbmQgSm9lLXByb2JsZW0gaW4gYSBsaXR0bGUgLSBmaXJzdDogRm91ciBvZiB0aGUga25vd24g Sk9JOgoKCgp8fFRoZSBMb2piYW4gY29ubmVjdGl2ZTp8JydjZScnfCcnY2UnbycnfCcnam9pJyd8 Jydqbyd1JycKCkpvaW5zIHN1bXRpIGFuZCBmb3JtcyBhOnxzZXR8c2VxdWVuY2V8bWFzc3xncm91 cCBvZiBpbmRpdmlkdWFsc3x8CgpUaGUgZnVuY3Rpb25zIG9mIHRoZXNlIHdvcmRzIGFyZSBzaW1w bGU6ICcnbG8naSByZW1uYSBqbyd1IGxvJ2kgZ2Vya3UnJyBjb25zaWRlcnMgYm90aCB0aGUgc2V0 IG9mIGh1bWFucyBhbmQgdGhlIHNldCBvZiBkb2dzIGRpc3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlk dWFscykuIFJlbWVtYmVyIGZyb20gbGVzc29uIHR3ZW50eS10d28gKHF1YW50aWZpZXJzKSB0aGF0 ICJkaXN0cmlidXRpdml0eSIgbWVhbnMgdGhhdCB3aGF0IGlzIHRydWUgZm9yIHRoZSBncm91cCBp cyBhbHNvIHRydWUgZm9yIGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGFsb25lLiBTaW1pbGFybHkg Jydsb2kgcm8gZ2lzbXUgY2UnbyBsb2kgcm8gbHVqdm8gY2UnbyBsb2kgcm8gZnUnaXZsYScnIGlz IGEgc2VxdWVuY2UgY29uc2lzdGluZyBvZiB0aGUgbWFzcyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2Vk IGJ5IHRoZSBtYXNzIG9mIGFsbCBsdWp2bywgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1 J2l2bGEuCgpBcyB3aXRoIGFsbCBvZiB0aGUgSk9JIHdoaWNoIGhhcyBhbiBpbmhlcmVudCBvcmRl ciwgJydzZScnIG1heSBiZSBwdXQgYmVmb3JlICcnY2UnbycnIHRvIGludmVyc2UgdGhlIG9yZGVy OiAiQSAnJ2NlJ28nJyBCIiBpcyB0aGUgc2FtZSBhcyAiQiBzZSAnJ2NlJ28nJyBBIi4KCgoKSG93 IGNhbiB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxh eSI/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBqb2kgbGEg LmRqb3VzLicnfn4gCgoKClRoZSBjbWF2byBvZiBKT0kgYXJlIHZlcnkgZmxleGlibGU6IFRoZXkg Y2FuIGFjdCBib3RoIGFzIHN1bXRpIGNvbm5lY3RpdmVzIGFuZCB0YW5ydS1pbnRlcm5hbCBjb25u ZWN0aXZlcywgc28gdGhleSBjYW4gYmUgdXNlZCB0byBjb25uZWN0IHN1bXRpLCBzZWxicmkgYW5k IGJyaWRpLiBUaGlzIGZsZXhpYmlsaXR5IG1lYW5zIHRoYXQgb25lIG11c3QgYmUgY2FyZWZ1bCB0 byB1c2UgZmEnb3JtYSdvIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgSk9JLiAKCldoYXQgaXMgd3Jv bmcgd2l0aCB0aGUgYnJpZGkgJydsbyBkb3RjbyBqbyd1IG1pIGN1IGtsYW1hIGxhIGRvdGNvIGd1 Z2RlJyc/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2pvJ3UnJyBpcyBwdXQgYWZ0ZXIgYSBzZWxi cmksIHNvIGl0IGV4cGVjdHMgYSBzZWxicmkgYWZ0ZXIgaXQgdG8gY29ubmVjdCB0bywgYnV0IG5v bmUgaXMgZm91bmQuIEhhZCAgYSAnJ2t1JycgYmVlbiBwcmVzZW50IGJlZm9yZSB0aGUgY29ubmVj dGl2ZSwgaXQgd291bGQgaGF2ZSBiZWVuIGdyYW1tYXRpY2Fsfn4KCgoKSWYgc2V2ZXJhbCBKT0kg YXJlIHVzZWQsICcnYm8nJyBhbmQvb3IgJydrZScnIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlIHRo ZSB1c3VhbCBsZWZ0LWdyb3VwaW5nOiAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgYm8g bGEgLmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91 LCBhbmQgdGhlbiBKYWNrIGFuZCBKb2UgYXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJl ZHMiLiBDb250cmFzdCB3aXRoICcnbWkgam9pIGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBsYSAuZGpv dXMuIGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlv dSwgdGhlbiBKYWNrIHdpbGwgdG9nZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWRz Ii4gCgpDb25uZWN0aW5nIGJyaWRpIHdpdGggSk9JIGNhbiBtYWtlIHNvbWUgaW50ZXJlc3Rpbmcg aW1wbGljYXRpb25zIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgYnJpZGk6ICcnbGEg LmRqYWsuIG1vcnNpIHJpJ2EgbG8gbnUgcmkgZHp1c29pIC5pIGpvaSBsZSBqZW1qYSdhIHBvIHJp IGN1IGJlYm5hJycgLSAiSmFjayBpcyBkZWFkIGJlY2F1c2UgaGUgd2FzIGEgaW5mYW50cnkgc29s ZGllciBhbmQgaGlzIGdlbmVyYWwgd2FzIGFuIGlkaW90IiwgaW1wbHlpbmcgdGhhdCB0aGVzZSB0 d28gYnJpZGkgbWFzc2VkIHRvZ2V0aGVyIHdhcyB0aGUgcGh5c2ljYWwgY2F1c2Ugb2YgaGlzIGRl YXRoOiBIYWQgaGUgb25seSBiZWVuIGluIGFuIGFybW9yZWQgdmVoaWNsZSBvciB3aXRoIGEgY29t cGV0ZW50IGNvbW1hbmRlciwgaGUgbWlnaHQgaGFkIHN1cnZpdmVkLgoKX18nJ2R6dXNvaScnX18g eDEgaXMgYW4gaW5mYW50cnkgc29sZGllciBvZiBhcm15IHgyCgpfXycnamVtamEnYScnX18geDEg aXMgYSBnZW5lcmFsIG9mIGFybXkgeDIgaW4gZnVuY3Rpb24geDMKCl9fJydiZWJuYScnX18geDEg aXMgZm9vbGlzaC9pZGlvdGljIGluIHByb3BlcnR5L2FzcGVjdCB4MgoKCgpOb24tbG9naWNhbCBj b25uZWN0aXZlcyBtYXkgYWxzbyBiZSBuZWdhdGVkIHdpdGggJyduYWknJywgaW5kaWNhdGluZyB0 aGF0IHNvbWUgb3RoZXIgY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZTogJydsbyBkamFjdSBjZSdv IG5haSAuZSdvIGxvIGxhZHJ1IGN1IGNhdnlmbGUgZmkgbGUgbWkgdGNhdGknJyAtICJQbGVhc2Ug ZG9uJ3QgcG91ciBmaXJzdCB3YXRlciB0aGVuIG1pbGsgaW4gbXkgdGVhIi4gVGhpcywgb2YgY291 cnNlLCBzYXlzIG5vdGhpbmcgYWJvdXQgd2hpY2ggY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZSAt IG9uZSBtaWdodCBndWVzcyAnJ3NlIGNlJ28nJyAoZmlyc3QgbWlsaywgdGhlbiB3YXRlciksIG9u bHkgdG8gZmluZCBvdXQgdGhhdCAnJy5lIG5haScnIChvbmx5IHdhdGVyLCBubyBtaWxrIGF0IGFs bCkgd2FzIHRoZSBjb3JyZWN0IG9uZS4KCl9fJydjYXZ5ZmxlJydfXyB4MSwgY29uc2lzdGluZyBv ZiB4MiwgZmxvd3MgaW50byB4MyBmcm9tIHg0CgpKdXN0IGxpa2UgYSBsb2dpY2FsIGNvbm5lY3Rp dmUgaXMgYSBwbGF1c2libGUgbmVnYXRpb24gb2YgYSBub24tbG9naWNhbCBjb25uZWN0aXZlLCBh bnN3ZXJzIHRvIHF1ZXN0aW9ucyBvZiB0aGUgdHlwZSAnJ2ppJycgb3IgJydqZSdpJycgY2FuIGJl IGJvdGggbG9naWNhbCBhbmQgbm9uLWxvZ2ljYWw6IEE6ICcnbGFkcnUgamUnaSBzYWt0YSBsZSBk byBja2FmaScnIEI6ICcnc2UgY2UnbycnICgiTWlsayBvciBzdWdhciBpbiB5b3UgY29mZmVlPyIg IkZpcnN0IHRoZSBsYXR0ZXIsIHRoZW4gdGhlIGZvcm1lciIpLiBJbiB0aGlzIGNhc2UgJydjZScn IHdvdWxkIG1ha2Ugbm8gc2Vuc2UgYXQgYWxsLCBzaW5jZSBzZXRzIGNhbid0IGJlIGNvbnRhaW5l ZCBpbiBjb2ZmZWUsIGFuZCAnJ2pvaScnIChib3RoIG1peGVkIHRvZ2V0aGVyKSB3b3VsZCBtZWFu IHRoZSBzYW1lIGFzICcnam8ndScnIChib3RoIG9mIHRoZW0pLCB1bmxlc3MgdGhlIHJlc3BvbmRh bnQgcHJlZmVycmVkIHVubWl4ZWQgc3VnYXIgaW4gaGlzIGNvZmZlZS4KCgoKVGhlIGZpZnRoIEpP SSBJIHByZXNlbnQgaGVyZSBpcyBhIGJpdCBvZiBhbiBvZGRiYWxsOgoKX18nJ2ZhJ3UnJ19fIE5v bi1sb2dpY2FsIGNvbm5lY3RpdmU6IFVubWl4ZWQgb3JkZXJlZCBkaXN0cmlidXRpb24gKEEgYW5k IEIsIHJlc3BlY3RpdmVseSkKCldoZW4gb25seSBvbmUgJydmYSd1JycgaXMgcGxhY2VkIHdpdGhp biBhIGJyaWRpIChvciBzZXZlcmFsIGJyaWRpIGNvbm5lY3RlZCB0b2dldGhlciB3aXRoIGNvbm5l Y3RvcnMpLCAnJ2ZhJ3UnJyBtYXkgYmUgYXNzdW1lZCB0byBiZSBpZGVudGljYWwgdG8gJydqbyd1 JycuIFdoZW4gc2V2ZXJhbCAnJ2ZhJ3UnJyBpcyB1c2VkIHdpdGhpbiBvbmUgYnJpZGksIGhvd2V2 ZXIsIHRoZSBjb25zdHJ1Y3RzIGJlZm9yZSAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3Ro ZXIsIGFuZCB0aGUgY29uc3RydWN0cyBhZnRlciAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2gg b3RoZXIuIExldCdzIGhhdmUgYW4gZXhhbXBsZToKCicnbWkgZmEndSBkbyBydXNrbyBmYSd1IGth ZG5vJycgLSAiWW91IGFuZCBJIGFyZSBSdXNzaWFuIGFuZCBDYW5hZGlhbiIsIGltcGx5aW5nIHRo YXQgJydtaScnIGdvZXMgd2l0aCAnJ3J1c2tvJycgYW5kICcnZG8nJyBnb2VzIHdpdGggJydrYWRu bycnLCBhbmQgaW1wbHlpbmcgbm90aGluZyBhYm91dCBhbnkgb3RoZXIgY29tYmluYXRpb24uIE9m IGNvdXJzZSwgaW4gdGhpcyBleGFtcGxlLCBpdCB3b3VsZCBiZSBtdWNoIGVhc2llciB0byBzYXkg JydtaSBydXNrbyAuaSBkbyBrYWRubycnLgoKCgpUaGVzZSBsYXN0IHRocmVlIEpPSSBjb25uZWN0 cyB0d28gc2V0cyB0byBtYWtlIG5ldyBzZXRzOgoKX18nJ2pvJ2UnJ19fCUEgdW5pb24gQgoKX18n J2t1J2EnJ19fCUEgaW50ZXJzZWN0aW9uIEIKCl9fJydwaSd1ICcnX18JQ3Jvc3MgcHJvZHVjdCBv ZiBBIGFuZCBCCgoKClRoZXNlIGFyZSBwcm9iYWJseSBub3QgdmVyeSB1c2VmdWwgZm9yIHRoZSBh dmVyYWdlIExvamJhbmlzdCwgYnV0IEkgbWlnaHQgYXMgd2VsbCBpbmNsdWRlIHRoZW0gaGVyZS4K ClRoZSBmaXJzdCBvbmUsICcnam8nZScnLCBtYWtlcyBhIG5ldyBzZXQgZnJvbSB0d28gc2V0cy4g VGhpcyBuZXcgc2V0IGNvbnRhaW5zIG9ubHkgdGhvc2UgbWVtYmVycyB3aGljaCBhcmUgaW4gYm90 aCBzZXRzLgoKQSBzZXQgbWFkZSB3aXRoICcna3UnYScnIGNvbnRhaW5zIGFsbCB0aGUgbWVtYmVy cyBvZiBzZXQgQSBhbmQgdGhvc2Ugb2Ygc2V0IEIuIElmIGFueXRoaW5nIGlzIGEgbWVtYmVyIG9m IGJvdGggc2V0cywgdGhleSBhcmUgbm90IGNvdW50ZWQgdHdpY2UuCgonJ3BpJ3UnJyBpcyBhIGxp dHRsZSBtb3JlIGNvbXBsaWNhdGVkLiBBIHNldCAiQSAnJ3BpJ3UnJyBCIiBjb250YWlucyBhbGwg dGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZiAiYSAnJ2NlJ28nJyBiIiwgd2hlcmUgYSBpcyBh IG1lbWJlciBvZiBBIGFuZCBiIGlzIGEgbWVtYmVyIG9mIEIuIEl0IGlzIHRodXMgYSBzZXQgb2Yg c2VxdWVuY2VzIG9mIG1lbWJlcnMuIElmLCBmb3IgaW5zdGFuY2UsIHNldCBBIGNvbnRhaW5lZCB0 aGUgbWVtYmVycyBwIGFuZCBxLCBhbmQgc2V0IEIgY29udGFpbmVkIG1lbWJlcnMgZiBhbmQgZywg dGhlbiBBICcncGkndScnIEIgd291bGQgYmUgYSBzZXQgY29uc2lzdGluZyBvZiB0aGUgZm91ciBt ZW1iZXJzIHAgJydjZSdvJycgZiwgcCAnJ2NlJ28nJyBnLCBxICcnY2UnbycnIGYgYW5kIHEgJydj ZSdvJycgZy4KCgoKISEhRW5kIG9mIHBhcnQgdHdvCgooKHdhdmVsZXNzb25zY29udGludWVkfFJl dHVybiB0byB0aGUgd2F2ZWxlc3NvbnMgcGFydCBvbmUpKQoKVGhpcyBwYXJ0IGNvbmNsdWRlcyB0 aGUgdHV0b3JpYWwgdG8gb3JkaW5hcnkgTG9qYmFuLiBJbiB0aGUgdGhpcmQgcGFydCwgSSB3aWxs IGZvY3VzIG9uIGFkdmFuY2VkIExvamJhbiAtIHRoZSBwYXJ0cyB5b3UgZG9uJ3QgYWN0dWFsbHkg bmVlZCB0byBrbm93IHRvIHNwZWFrIHRoZSBsYW5ndWFnZS4gSSBkaXNjb3VyYWdlIHlvdSB0byBi ZWdpbiByZWFkaW5nIHRoZSB0aGlyZCBwYXJ0IHVudGlsIHlvdSBmZWVsIGNvbWZvcnRhYmxlIGVu b3VnaCB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlyc3QgdHdvIHBhcnRzIHRvIGhvbGQg YW4gd3JpdHRlbiBjb252ZXJzYXRpb24gaW4gdGhlIGxhbmd1YWdlLiBJZiB5b3UgX19kb19fIHdp c2ggdG8gY29udGludWUsIHlvdSBjYW4gcHJlc3MgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRo aXMgbGluaykpIHRvIGdvIHRoZXJlLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCldpa2luZXVyb3RpYyBtYWlsaW5nIGxpc3QKV2lraW5ldXJvdGljQGxv amJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2luZXVy b3RpYwo=