Received: from localhost ([::1]:38516 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1US13C-0007L4-Vb; Tue, 16 Apr 2013 01:15:39 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:56611 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1US12u-0007Kr-GG for wikichanges@lojban.org; Tue, 16 Apr 2013 01:15:37 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 16 Apr 2013 01:15:19 -0700 From: "Apache" Date: Tue, 16 Apr 2013 01:15:19 -0700 To: wikichanges@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 gleki at 08:15 UTC Comment: is means --> it means You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.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] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 114192 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAw ODoxNSBVVEMKQ29tbWVudDogaXMgbWVhbnMgLS0+IGl0IG1lYW5zCgpZb3UgY2FuIHZpZXcgdGhl IHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlr aS93YXZlbGVzc29uc2NvbnRpbnVlZHAyCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhl IHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9q YmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxlc3NvbnNjb250aW51 ZWRwMiZjb21wYXJlPTEmb2xkdmVyPTE4Jm5ld3Zlcj0xOQoKCioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRo aXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1 bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNDUyLTQ1NiBjaGFuZ2VkIHRvICtMaW5l czogNDUyLTQ1NiBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKwotIC0nJ2xvJ2UnJyBhbmQgJydsZSdlJyctIC0gQXJlIGZvciBzb21l IHJlYXNvbiBub3QgaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnRseSBhY2NlcHRlZCBnYWRyaSBwcm9w b3NhbC4gSWYgb25lIHdlcmUgdG8gZXh0ZW5kIHRoZSBydWxlcyBvZiBhbm90aGVyIGdhZHJpLCAn J2xvJycvJydsZScnIHdvdWxkIHByb2JhYmx5IGJlIHRoZSBiZXN0IGNob2ljZSAoc2luY2UgYm90 aCBvcGVyYXRlcyB3aXRoIGluZGl2aWR1YWxzIHJhdGhlciB0aGFuIGdyb3VwcyksIGFuZCBzbyBv bmUgd291bGQgZXhwZWN0IHRoZSBvdXRlciBxdWFudGlmaWVyIHRvIGZvcmNlIGRpc3RyaWJ1dGl2 aXR5IG92ZXIgdGhlIGFtb3VudCBvZiB0eXBpY2FsL3N0ZXJlb3R5cGljYWwgdGhpbmdzIGdpdmVu IGJ5IHRoZSBpbm5lciBxdWFudGlmaWVyLgoKLSBXaGVuIHF1YW50aWZ5aW5nIHN1bWthJ2kgcmVw cmVzZW50aW5nIHNldmVyYWwgb2JqZWN0cywgaXQgaXMgdXNlZnVsIHRvIHJlbWVtYmVyIHRoYXQg dGhleSBhcmUgdXN1YWxseSBtYXNzZXMuIEJ5IGRlZmluaXRpb24sICZxdW90O3tudW1iZXJ9IHtz dW10aX0mcXVvdDsgaXMgZGVmaW5lZCBhcyAmcXVvdDt7bnVtYmVyfSAnJ2RhIHBvaSBrZSdhIG1l Jycge3N1bXRpfSZxdW90Oy4gWW91IHdpbGwgbm90IGJlIGZhbWlsaWFyIHdpdGggJydkYScnIHVu dGlsIGEgZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2UgaXQgb24gZmFpdGggdGhhdCBpcyBtZWFu cyAmcXVvdDtzb21ldGhpbmcmcXVvdDsgaW4gdGhpcyBjb250ZXh0LiBUaGVyZWZvcmUsICcnY2kg bWknJyBtZWFucyAmcXVvdDtUd28gb2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAmcXVvdDt1cyZxdW90 OyZxdW90Oy4gV2hlbiBxdWFudGlmeWluZyBzdWNoIG1hc3NlcywgaXQgY2FuIHNhZmVseSBiZSBh c3N1bWVkIHRoYXQgdGhlIHJlbGF0aW9uIGltcGxpZWQgYnkgJydtZScnIGlzIG1lbWJlcnNoaXAg b2YgdGhlIG1hc3MsIGFuZCB0aGVyZWZvcmUgJydjaSBtaScnIGlzICZxdW90O1RocmVlIG9mIHVz JnF1b3Q7LgorIFdoZW4gcXVhbnRpZnlpbmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2ZXJhbCBv YmplY3RzLCBpdCBpcyB1c2VmdWwgdG8gcmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3VhbGx5IG1h c3Nlcy4gQnkgZGVmaW5pdGlvbiwgJnF1b3Q7e251bWJlcn0ge3N1bXRpfSZxdW90OyBpcyBkZWZp bmVkIGFzICZxdW90O3tudW1iZXJ9ICcnZGEgcG9pIGtlJ2EgbWUnJyB7c3VtdGl9JnF1b3Q7LiBZ b3Ugd2lsbCBub3QgYmUgZmFtaWxpYXIgd2l0aCAnJ2RhJycgdW50aWwgYSBmZXcgbGVzc29ucyBs YXRlciwgc28gdGFrZSBpdCBvbiBmYWl0aCB0aGF0IGl0IG1lYW5zICZxdW90O3NvbWV0aGluZyZx dW90OyBpbiB0aGlzIGNvbnRleHQuIFRoZXJlZm9yZSwgJydjaSBtaScnIG1lYW5zICZxdW90O1R3 byBvZiB0aG9zZSB3aG8gYmVsb25nIHRvICZxdW90O3VzJnF1b3Q7JnF1b3Q7LiBXaGVuIHF1YW50 aWZ5aW5nIHN1Y2ggbWFzc2VzLCBpdCBjYW4gc2FmZWx5IGJlIGFzc3VtZWQgdGhhdCB0aGUgcmVs YXRpb24gaW1wbGllZCBieSAnJ21lJycgaXMgbWVtYmVyc2hpcCBvZiB0aGUgbWFzcywgYW5kIHRo ZXJlZm9yZSAnJ2NpIG1pJycgaXMgJnF1b3Q7VGhyZWUgb2YgdXMmcXVvdDsuCgpTb21lIGltcG9y dGFudCB1c2VzIG9mIHF1YW50aWZpY2F0aW9uIHJlcXVpcmVzIHlvdSB0byBiZSBxdWFudGlmeSBz ZWxicmkgb3Igb2JqZWN0cyB3aG9zZSBpZGVudGl0eSBpcyB1bmtub3duLiBUaGlzIGlzIGRvbmUg YnkgImxvZ2ljYWxseSBxdWFudGlmaWVkIHZhcmlhYmxlcyIuIFRoZXNlLCBhcyB3ZWxsIGFzIGhv dyB0byBxdWFudGlmeSB0aGVtIHdpbGwgYmUgY292ZXJlZCBpbiBsZXNzb25zIHR3ZW50eS1zZXZl bi4KCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgohTG9qYmFu IFdhdmUgTGVzc29ucyBDb250aW51ZWQgKHBhcnQgdHdvKToKCiEhIU1hZGUgYnkgbGEga2xha3Ug d2l0aCBoZWxwIGZyb20gdmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBs YSAua3JpYmFjci4gU3ByaW5nIDIwMTMuCgoKClRoaXMgaXMgdGhlIHNlY29uZCBpbnN0YWxsbWVu dCBvZiB0aGUgV2F2ZSBMZXNzb25zIENvbnRpbnVlZC4gSWYgeW91IGRpZG4ndCBjYXRjaCB0aGUg Zmlyc3QgcGFydCwgb3Igd2FudCB0byBnbyBiYWNrIGZvciBzb21lIHJlYXNvbiwganVzdCBjbGlj ayAoKHdhdmVsZXNzb25zY29udGludWVkfG9uIHRoZXNlIGZvdXIgd29yZHMuKSkuIFlvdSBjYW4g YWxzbyBnbyB0byB0aGUgdGhpcmQgcGFydCBieSBjbGlja2luZyAoKHdhdmVsZXNzb25zY29udGlu dWVkcDJ8dGhpcyBsaW5rKSksIGlmIHlvdSBmZWVsIGxpa2UgZG9pbmcgdGhhdC4KCgoKISFMb2pi YW4gTGVzc29ucyAtIExlc3NvbiBzZXZlbnRlZW4gKGN1dGUgYXNzb3J0ZWQgd29yZHMpCgpBbmQg d2l0aCB0aGF0LCB0aGlyZCBjaGFwdGVyLCB5b3Uga25vdyBhIGxvdCBhYm91dCBMb2piYW4gc3Vt dGkuIEFmdGVyIHN1Y2ggYSBsb25nIHRpbWUgb2Ygcmlnb3JvdXMgc3lzdGVtYXRpYyBsZWFybmlu Zywgd2hhdCBjb3VsZCBiZSBtb3JlIGZpdHRpbmcgdGhhdCB0aGlzIGxlc3NvbiB3aGVyZSBJIHNw ZWFrIGFib3V0IHNvbWUgd29yZHMgd2hpY2ggSSBjb3VsZCBub3QsIG9yIHdhbnRlZCBub3QgdG8g Zml0IGludG8gYW55IG90aGVyIGxlc3NvbnM/IFNvIGhlcmUgYXJlIGEgZmV3IHNtYWxsIGFuZCBy ZWFsbHkgdXNlZnVsIHdvcmRzOgoKCgpUaGUgZm9sbG93aW5nIGNtYXZvIGFyZSBhbGwgZWxsaXB0 aWNhbCB3b3Jkcy4gWW91IHNob3VsZCBhbHJlYWR5IGJlIGZhbWlsaWFyIHdpdGggdGhlIGZpcnN0 LgoKX18nJ3pvJ2UnJ19fIC0gZWxsaXB0aWNhbCBzdW10aQoKX18nJ2NvJ2UnJ19fIC0gZWxsaXB0 aWNhbCBzZWxicmkKCl9fJydkbydlJydfXyAtIGVsbGlwdGljYWwgc3VtdGNpdGEKCl9fJydqdSdh JydfXyAtIGVsbGlwdGljYWwgZXZpZGVudGlhbAoKX18nJ2RvJ2knJ19fIC0gZWxsaXB0aWNhbCB1 dHRlcmFuY2UgdmFyaWFibGUKCl9fJydnZSdlJydfXyAtIGVsbGlwdGljYWwgYXR0aXR1ZGluYWwK CgoKQWxsIG9mIHRoZXNlIGFjdCBncmFtbWF0aWNhbGx5IGFzIGEgY21hdm8gb2YgdGhlIGtpbmQg dGhleSByZXByZXNlbnQsIGJ1dCB0aGV5IGNvbnRhaW4gbm8gaW5mb3JtYXRpb24sIGFuZCBjYW4g YmUgcXVpdGUgaGFuZHkgd2hlbiB5b3UncmUgbGF6eSBhbmQgZG9uJ3QgbmVlZCB0byBiZSBzcGVj aWZpYyBhbnl3YXkuIFRoZXJlIGFyZSwgaG93ZXZlciwgYSBmZXcgdGhpbmdzIHdoaWNoIG5lZWQg dG8gYmUgY2xlYXJlZCB1cDoKCgoKICAgICcnem8nZScnIGhhdmUgdG8gcmVmZXIgdG8gc29tZXRo aW5nIHdoaWNoIGlzIGNsYWltZWQgdG8gaGF2ZSBhIHZhbHVlLiDigJx6ZXJvIGNhcnPigJ0gb3Ig 4oCcbm90aGluZ+KAnSwgZm9yIGluc3RhbmNlLCBoYXMgbm8gdmFsdWUsIGFuZCB0aGVyZWZvcmUg Y2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5ICcnem8nZScnLiBUaGlzIGlzIGJlY2F1c2UsIGlmIGl0 IGNvdWxkIG1lYW4g4oCcbm90aGluZ+KAnSBieSAnJ3pvJ2UnJywgdGhlbiBhbnkgc2VsYnJpIGNv dWxkIGJlIGlkZW50aWNhbCB0byBpdHMgbmVnYXRpb24sIGlmIG9uZSBvZiB0aGUgZWxpZGVkIHN1 bXRpIHdlcmUgZmlsbGVkIHdpdGggYSAnJ3pvJ2UnJyB3aXRoIG5vIHZhbHVlLgoKICAgICcnZ2Un ZScnIGRvZXMgbm90IG1lYW4gdGhhdCB5b3UgZmVlbCBubyBlbW90aW9uLCBqdXN0IHRoYXQgeW91 IGZlZWwgbm90aGluZyBzcGVjaWFsIG9yIHdvcnRoIHRvIG1lbnRpb24gYXQgdGhlIG1vbWVudC4g SXQncyBzaW1pbGFyIHRvIOKAnEknbSBmaW5lLuKAnS4gJydnZSdlIHBlaScnIGFzayBhYm91dCBh biBlbGxpcHRpY2FsIGVtb3Rpb24gYW5kIGlzIGEgZ29vZCB0cmFuc2xhdGlvbiBmb3I6IOKAnEhv dyBhcmUgeW91IGZlZWxpbmc/4oCdLgoKICAgICcnY28nZScnIGlzIGhhbmR5IHdoZW4gbmVlZGlu ZyBhIHNlbGJyaSBpbiBhIGNvbnN0cnVjdCBmb3IgZ3JhbW1hdGljYWwgcmVhc29ucywgbGlrZSBp biB0aGUgZGVmaW5pdGlvbiBvZiAnJ3R1J2EnJyBpbiB0aGUgcHJldmlvdXMgbGVzc29uLgoKICAg ICcnanUnYScnIGRvZXMgbm90IGNoYW5nZSB0aGUgdHJ1dGggdmFsdWUgb3Igc3ViamVjdGl2ZSB1 bmRlcnN0YW5kaW5nIG9mIHRoZSBicmlkaSBvciBhbnl0aGluZyBsaWtlIHRoYXQuIEluIGZhY3Qs IGl0J3MgbW9zdGx5IGRvZXMgbm90aGluZy4gSG93ZXZlciwgJydqdSdhIHBlaScnLCDigJxXaGF0 IGlzIHlvdXIgYmFzaXMgZm9yIHNheWluZyB0aGF0P+KAnSBpcyBoYW5keS4KCiAgICAnJ2RvJ2kn JyBpcyByZWFsbHkgdXNlZnVsLiBBIGxvdCBvZiB0aW1lcyB3aGVuIHlvdSByZWZlciB0byB1dHRl cmFuY2VzIG9yIGNvbnZlcnNhdGlvbnMgYnkgd29yZHMgbGlrZSDigJx0aGlz4oCdIG9yIOKAnHRo YXTigJ0sIHlvdSB3YW50ICcnZG8naScnLgoKICAgIElmIHlvdSBmaWxsIGluIG1vcmUgc3VtdGkg dGhhbiBhIHNlbGJyaSBoYXMgcGxhY2VzIGZvciwgdGhlIGxhc3Qgc3VtdGkgaGF2ZSBpbXBsaWVk ICcnZG8nZScnIHN1bXRjaXRhIGluIGZyb250IG9mIHRoZW0uCgoKCkZ1cnRoZXJtb3JlLCB0aGVy ZSBpcyBhIHdvcmQsICcnemknbycnLCB0aGF0IHlvdSBjYW4gZmlsbCBhIHN1bXRpIHBsYWNlIHdp dGggdG8gZGVsZXRlIGl0IGZyb20gYW55IHNlbGJyaS4gJydsbyBtZWxiaSBiZSB6aSdvJycsIGZv ciBpbnN0YW5jZSwgaXMganVzdCDigJxTb21ldGhpbmcgYmVhdXRpZnVs4oCdLCBhbmQgZG9lcyBu b3QgaW5jbHVkZSB0aGUgdXN1YWwgeDIgb2YgJydtZWxiaScnLCB3aGljaCBpcyB0aGUgb2JzZXJ2 ZXIgd2hvIGp1ZGdlcyBzb21ldGhpbmcgdG8gYmUgYmVhdXRpZnVsLiBUaHVzLCBpdCBjYW4gbWVh biBzb21ldGhpbmcgbGlrZSDigJxPYmplY3RpdmVseSBiZWF1dGlmdWwu4oCdIEl0IGRvZXMgbm90 IHN0YXRlIHRoYXQgbm90aGluZyBmaWxscyB0aGUgc3VtdGkgcGxhY2Ugd2hpY2ggaXMgYmVpbmcg ZGVsZXRlZCwganVzdCB0aGF0IHRoZSBzdW10aSBwbGFjZSBpcyBub3QgYmVpbmcgY29uc2lkZXJl ZCBpbiB0aGUgc2VsYnJpLiBVc2luZyAnJ3ppJ28nJyB3aXRoIGEgc3VtdGNpdGEgZ2l2ZXMgd2Vp cmQgcmVzdWx0cy4gRm9ybWFsbHksIHRoZXkgc2hvdWxkIGNhbmNlbCBlYWNoIG90aGVyIG91dC4g UHJhY3RpY2FsbHksIGl0IHdvdWxkIHByb2JhYmx5IGJlIHVuZGVyc3Rvb2QgYXMgYW4gZXhwbGlj aXQgd2F5IG9mIHNheWluZyB0aGF0IHRoZSBzdW10Y2l0YSBkb2VzIG5vdCBhcHBseSwgYXMgaW46 ICcnbWkgZGFyeGkgZG8gbXUnaSB6aSdvJycgLSDigJxJIGhpdCB5b3UsIHdpdGggb3Igd2l0aG91 dCBtb3RpdmF0aW9uLuKAnQoKCgpUaGVuIHRoZXJlIGlzIHRoZSB3b3JkICcnamFpJycuIEl0J3Mg b25lIG9mIHRob3NlIGNvb2wsIHNtYWxsIHdvcmRzIHdoaWNoIGFyZSBoYXJkIHRvIGdyYXNwLCBi dXQgZWFzeSB0byB3b3JrIHdpdGggb25jZSB5b3Uga25vdyBpdC4gSXQgaGFzIHR3byBkaXN0aW5j dCwgYnV0IHNpbWlsYXIgZnVuY3Rpb25zLiBCb3RoIGhhdmUgc29tZXRoaW5nIHRvIGRvIHdpdGgg Y29udmVydGluZyB0aGUgc2VsYnJpLCBsaWtlICcnc2UnJyBkb2VzLgoKX18nJ2phaScnX18gU2Vs YnJpIGNvbnZlcnNpb246IENvbnZlcnRzIHN1bXRjaXRhIG9yIHVuc3BlY2lmaWVkIGFic3RyYWN0 aW9uIHRvIHgxLiBVc2Ugd2l0aCAnJ2ZhaScnCgpfXycnZmFpJydfXyBNYXJrcyBzdW10aSBwbGFj ZS4gV29ya3MgbGlrZSAnJ2ZhJycuIFRvIGJlIHVzZWQgd2l0aCAnJ2phaScnLgoKVGhlIGZpcnN0 IGdyYW1tYXRpY2FsIGNvbnN0cnVjdGlvbiBpdCBjYW4gbWFrZSBpcyAiJydqYWknJyB7c3VtdGNp dGF9IHtzZWxicml9Ii4gSXQgY2hhbmdlcyB0aGUgc3VtdGkgcGxhY2VzIHN1Y2ggdGhhdCB0aGUg c3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhIGJlY29tZXMgdGhlIHNlbGJyaSdzIHgxLCBhbmQg dGhlIHNlbGJyaSdzIG9sZCB4MSBpcyByZW1vdmVkLCBhbmQgb25seSBhY2Nlc3NpYmxlIGJ5IHVz aW5nICcnZmFpJycsIHdoaWNoIHdvcmtzIGxpa2UgJydmYScnLiBZb3UgY2FuIHNlZSBpdCB3aXRo IHRoaXMgZXhhbXBsZToKCl9fJydnYXUnJ19fIC0gc3VtdGNpdGEgKGZyb20gJydnYXNudScnKSDi gJxicmlkaSBoYXMgYmVlbiBicm91Z2h0IGFib3V0IGJ5L3dpdGggYWN0aXZlIGFnZW50IHtzdW10 aX3igJ0KCicnZG8gamFpIGdhdSBqdW5kaSB0aSBmYWkgbWknJy4gLSDigJxZb3UgYnJpbmcgYWJv dXQgYXR0ZW50aW9uIHRvIHRoaXMgYnkgbWXigJ0uIFRoZSBuZXcgc2VsYnJpLCAnJ2phaSBnYXUg anVuZGknJywgaGFzIHRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2Yg4oCceDEgYnJpbmdzIGFib3V0IGF0 dGVudGlvbiBwYWlkIHRvIHgy4oCdLiBUaGVzZSBhcmUgdGhlbiBmaWxsZWQgYnkgJydkbycnIGFu ZCAnJ3RpJycuIFRoZSAnJ2ZhaScnIHRoZW4gbWFya3MgdGhlIHBsYWNlIGZvciB0aGUgb2xkIHgx LCB0aGUgb25lIHdobyB3YXMgcGF5aW5nIGF0dGVudGlvbiwgYW5kIGl0IGlzIGZpbGxlZCB3aXRo ICcnbWknJy4gVGhpcyB3b3JkIGNhbiBiZSB2ZXJ5IGNvbnZlbmllbnQgYW5kIGhhcyB0b25zIG9m IHVzZXMuIEEgZ29vZCBleGFtcGxlIGlzIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGkuIE9uZSBjYW4s IGZvciBpbnN0YW5jZSwgcmVmZXIgdG8g4oCcdGhlIG1ldGhvZCBvZiB2b2xpdGlvbmFsIGFjdGlv buKAnSBieSAnJ2xvIGphaSB0YSdpIHp1a3RlJycuCgpfXycndGEnaScnX186IHN1bXRjaXRhIChm cm9tICcndGFkamknJykg4oCcQnJpZGkgaXMgZG9uZSB3aXRoIHRoZSBtZXRob2Qgb2Yge3N1bXRp feKAnQoKQ2FuIHlvdSBkZWR1Y2Ugd2hhdCB0aGUgb3JkaW5hcnkgTG9qYmFuIHBocmFzZSAnJ2Rv IGphaSBnYXUgbW8nJyBtZWFucz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxXaGF0IGFyZSB5 b3UgZG9pbmc/4oCdfn4KCgoKVGhlIG90aGVyIGZ1bmN0aW9uIG9mICcnamFpJycgaXMgZWFzaWVy IHRvIGV4cGxhaW4uIEl0IHNpbXBseSBjb252ZXJ0cyB0aGUgc2VsYnJpIHN1Y2ggdGhhdCB0aGUg c3VtdGkgaW4gdGhlIHgxIGdldHMgYSAnJ3R1J2EnJyBpbiBmcm9udCBvZiBpdCAoJydrbydhIGph aSBicm9kYScnIF9fPV9fICcndHUnYSBrbydhIGJyb2RhJycpLiBJbiBvdGhlciB3b3JkcywgaXQg Y29udmVydHMgdGhlIHNlbGJyaSBpbiBhIHdheSBzdWNoIHRoYXQgaXQgYnVpbGRzIGFuIGVsbGlw dGljYWwgYWJzdHJhY3Rpb24gZnJvbSB0aGUgc3VtdGkgaW4gdGhlIHgxLCBhbmQgdGhlbiBmaWxs cyB4MSB3aXRoIHRoZSBhYnN0cmFjdGlvbiBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgc3VtdGkuIEFn YWluLCB0aGUgb3JpZ2luYWwgc3VtdGkgcGxhY2UgaXMgYWNjZXNzaWJsZSBieSAnJ2ZhaScnLgoK QSB2ZXJ5IGFjdGl2ZSBMb2piYW4gSVJDLXVzZXIgb2Z0ZW4gc2F5cyAnJ2xlIGdlcmt1IHBlIGRv IGphaSBzZSBzdGlkaSBtaScnLCB0byB1c2UgYSByYW5kb20gZXhhbXBsZSBvZiBhIHN1bXRpIGlu IHgxLiBXaGF0J3MgaGUgc2F5PwoKX18nJ3N0aWRpJydfXyB4MSBpbnNwaXJlcy9zdWdnZXN0cyB4 MiBpbi90byB4M+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc3VnZ2VzdCAoc29tZXRo aW5nIGFib3V0KSB5b3VyIGRvZy7igJ1+fgoKCgpTbyBmYXIgeW91J3ZlIGxlYXJuZWQgaG93IHRv IGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJpLCBzZWxicmkgdG8gc3VtdGksIGFuZCBzZWxicmkgaW50 byBicmlkaSwgc2luY2UgYWxsIHNlbGJyaSBieSB0aGVtc2VsdmVzIGFyZSBhbHNvIGJyaWRpLiBZ b3Ugb25seSBuZWVkIG9uZSBsYXN0IGZ1bmN0aW9uOiBjb252ZXJ0IHN1bXRpIHRvIHNlbGJyaS4g VGhpcyBpcyBkb25lIHdpdGggdGhlIHdvcmQgJydtZScnLiBJdCBhY2NlcHRzIGEgc3VtdGkgYW5k IGNvbnZlcnRzIGl0IGludG8gYSBzZWxicmkgd2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIOKAnHgx IGlzIHNwZWNpZmljIHRvIHtzdW10aX0gaW4gcHJvcGVydHkvYXNwZWN0IHgy4oCdLgoKX18nJ21l JydfXzogR2VuZXJpYyBjb252ZXJ0IHN1bXRpIHRvIHNlbGJyaS4geDEgaXMgc3BlY2lmaWMgdG8g U1VNVEkgaW4gcHJvcGVydHkvYXNwZWN0IHgyCgoKCldoZW4gc2NyZXdpbmcgYSBzZW50ZW5jZSB1 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 emUgemEndSByYXUganUnbycnIOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0aGFu IGVub3VnaCwgY2VydGFpbmx54oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbnVtYmVy LCBvbmx5IHRoZSBmb2xsb3dpbmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBlbmQgb2Yg YSBudW1iZXIsIGl0IHNpZ25pZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91bmRlZCBv ZmYuIAoKX18nJ2tpJ28nJ19fIE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRzIHdpdGhp biBvbmUgc3RyaW5nOyBUaG91c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhhdCAnJ2tp J28nJyBzb3VuZHMgbGlrZSDigJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2knbycnIGlz IHVzZWQgdG8gc2VwYXJhdGUgdGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBudW1iZXJz LCBtdWNoIGxpa2UgY29tbWFzIGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28gc28gc28g c28ga2knbyBiaSB4YSB6ZScnIOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJlZSBkaWdp dHMgYXJlIHB1dCBiZWZvcmUgYSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1lZCB0byBi ZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVkIHRvIGZp bGwgaW4gdGhlIHJlc3Q6CgonJ3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28nJyDigJMg NCwwMzgsMDAxLDAwMCwwMDAKCicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVyIGEgZGVj aW1hbCBwb2ludC4KCgoKVGhhdCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVtYmVycyB0 aGVtc2VsdmVzLiBIb3cgdGhleSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4gaXRzZWxm LCBhbmQgd2UgbGVhdmUgdGhhdCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBmb2N1cyBv biBob3cgdGhlc2UgbnVtYmVycyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJpbmcgb2Yg bnVtYmVyIHdvcmRzIGJ5IHRoZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0aGV5IGNh biBhY3QgYXMgYW4gYW5zd2VyIHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIEluIHRoaXMg Y2FzZSwgaG93ZXZlciwgdGhleSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFueSBicmlk aS4gSW4gZ2VuZXJhbCwgaWYgbnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhleSBkbyBz byBpbiBvbmUgb2YgdHdvIGZvcm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJzLiBXZSB3 aWxsIHJldHVybiB0byBxdWFudGlmaWVycyBpbiBhIGxhdGVyIGxlc3Nvbi4gRm9yIG5vdywgd2Ug d2lsbCBsb29rIGF0IHB1cmUgbnVtYmVycy4KCkEgcHVyZSBudW1iZXIgaXMgYW55IHJvdyBvZiBu dW1iZXIgd29yZHMgcHJlZml4ZWQgd2l0aCAnJ2xpJycuIFRoaXMgbWFrZXMgYSBzdW10aSBkaXJl Y3RseSBmcm9tIHRoZSBudW1iZXIsIGFuZCByZWZlcnMgdG8gdGhlIG1hdGhlbWF0aWNhbCBjb25j ZXB0IG9mLCBmb3IgaW5zdGFuY2UsIOKAnHRoZSBudW1iZXIgc2l44oCdLiBJdHMgZmEnb3JtYSdv IGlzICcnbG8nbycnCgpfXycnbGknJ19fIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24g dG8gc3VtdGkuCgpfXycnbG8nbycnX18gZmEnb3JtYSdvOiBlbmQgY29udmVydCBudW1iZXIvbWVr c28tZXhwcmVzc2lvbiB0byBzdW10aS4KClRoZXNlIHB1cmUgc3VtdGkgYXJlIHVzdWFsbHkgd2hh dCBmaWxscyB0aGUgeDIgb2YgYnJpdmxhIHN1Y2ggYXMgJydtaXRyZScnIG9yICcnY2FjcmEnJwoK X18nJ21pdHJlJydfXyB4MSBpcyB4MiBtZXRyZXMgaW4gZGltZW5zaW9uIHgzIGJ5IHN0YW5kYXJk IHg0CgpfXycnY2FjcmEnJ19fIHgxIGlzIHgyIGhvdXJzIGluIGR1cmF0aW9uIChkZWZhdWx0IDEp IGJ5IHN0YW5kYXJkIHgzCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzoKCicnbGUg dGEgbnUgY2luamlrY2EgY3UgY2FjcmEgbGkgY2kgamknaSB1J2kgbmFpJycKCkFuc3dlcjogfn5n cmV5LGdyZXk6IOKAnSpzaWdoKiBUaGF0IGZsaXJ0aW5nIGhhcyBiZWVuIGdvaW5nIG9uIGZvciBh cm91bmQgdGhyZWUgaG91cnMu4oCdIH5+CgpIb3cgZG8geW91IGNvdW50IHRvIHRocmVlIGluIExv amJhbj8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnbGkgcGEgbGkgcmUgbGkgY2knJyB+fgoKCgpU aGUgbGFzdCB0aGluZyB3ZSdsbCBnbyB0aHJvdWdoIGluIHRoaXMgbGVzc29uIGlzIHRoZSB3b3Jk cyBvZiB0aGUgc2VsbWEnbyBNQUkgYW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRhaW5z IHR3byB3b3JkcywgJydtYWknJyBhbmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVydCBh bnkgbnVtYmVyIHN0cmluZyB0byBhbiBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2Yg YXR0aXR1ZGluYWxzLiBPcmRpbmFscyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8gbnVt YmVyZWQgc2VnbWVudHMsIGxpa2UgY2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZlcmVu Y2UgYmV0d2VlbiAnJ21haScnIGFuZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50aWZp ZXMgbGFyZ2VyIHN1YmRpdmlzaW9ucyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRlIGEg dGV4dCBvbiB0d28gZGlmZmVyZW50IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcgY2hh cHRlcnMgd2l0aCAnJ21vJ28nJyBhbmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2UgdGhh dCB0aGVzZSBhcyB3ZWxsIGFzIHRoZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJlY3Rs eSwgd2l0aG91dCBhbnkgbmVlZCBmb3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9yZGVy IG9yZGluYWwgbWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW8nbycnX186 IEhpZ2hlciBvcmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbC4K CgoKVGhlcmUgYXJlIGZpdmUgTU9JLCBhbmQgdGhleSBhbGwgY29udmVydCBhbnkgbnVtYmVyIHN0 cmluZyB0byBzZWxicmkuIFdlJ2xsIHRha2UgdGhlbSBvbmUgYXQgYSB0aW1lOgoKX18nJ21vaScn X18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG4ndGggbWVtYmVyIG9m IHNldCB4MiBieSBvcmRlciB4MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8naSBu aW5tdSBwZW5kbyBiZSBtaSBsZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNsYW5p IG1sZWNhJycg4oCTIOKAnEx1aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBmcmll bmRzIGJ5IHRoZSBvcmRlcjogVGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNzIHRh bGwgb25lc+KAnS4KCihXaGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5IHVu ZGVyc3Rvb2QgdGhhdCBpZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1uaW5l KSBpcyB1c2VkIGFzIGEgc3VtdGksIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgYXJlIG9yZGVyZWQg ZnJvbSB0aGUgb25lIHdpdGggbW9zdCBvZiB0aGUgcHJvcGVydHkgdG8gdGhlIG9uZSB3aXRoIGxl c3Mgb2YgdGhlIHByb3BlcnR5LCBzbyB0aGUgeDMgb2YgdGhlIGZvbGxvd2luZyBzZW50ZW5jZSBj b3VsZCBoYXZlIGJlZW4gc2hvcnRlbmVkIHRvICcnbG8ga2EgY2xhbmknJykKCl9fJydsaWRuZScn X18geDEgaXMgYmVmb3JlIHgyIGluIHNlcXVlbmNlIHgzCgpfXycnY2xhbmknJ19fIHgxIGlzIGxv bmcgaW4gZGltZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCgpfXycnem1hZHUnJ19fIHgxIGV4Y2Vl ZHMgeDIgaW4gcHJvcGVydHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKX18nJ21sZWNhJydfXyB4 MSBpcyBsZXNzIHRoYW4vaXMgbGVzcyBjaGFyYWN0ZXJpemVkIHRoYW4geDIgYnkgcHJvcGVydHkv YXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKCgpfXycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVyIG4g dG8gc2VsYnJpOiB4MSBpcyB0aGUgbWFzcyBmb3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGljaCBo YXMgdGhlIG4gbWVtYmVycyBvZiB4MwoKTm90aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9zZWQg dG8gYmUgaW5kaXZpZHVhbHMsIHgyIGEgc2V0IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxkICcn bWkgY2kgbWVpJycgbWVhbj8gCgpBbndlcjogfn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3VwIG9m IHRocmVlLuKAnX5+CgoKCl9fJydzaSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJp OiB4MSBpcyBuIHRpbWVzIHgyCgpFeGFtcGxlOiAnJ2xlIHZpIHBsaXNlIGN1IG1lJ2kgcGkgcGEg c2knZSBsZWkgbWkgY2lkamEgYmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxUaGlzIGFwcGxlIGhl cmUgaXMgbGVzcyB0aGFuIG9uZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUgZGF54oCdCgpQbGVh c2Ugbm90ZSB0aGF0IHRoZSBkZWZpbml0aW9uIG9mICcnc2knZScnIHdoZW4gbG9va2VkIHVwIHdp bGwgdGVsbCB5b3UgdGhhdCBpdCdzICJ4MSBpcyBhbiBudGggb2YgeDIiLCBpbnN0ZWFkIG9mICJ4 MSBpcyBuIHRpbWVzIHgyIi4gQnV0IHBlb3BsZSBvbmx5IHVzZSBpdCBhcyBJIGhhdmUgZGVmaW5l ZCBpdCwgc28gdGhlIGRlZmluaXRpb24gaW4gdGhlIGRpY3Rpb25hcmllcyB3aWxsIHByb2JhYmx5 IGNoYW5nZS4KCgoKX18nJ2N1J28nJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgx IGhhcyBuIHByb2JhYmlsaXR5IG9mIG9jY3VycmluZyB1bmRlciBjb25kaXRpb25zIHgyCgpFeGFt cGxlOiAnJ2xvIG51IG1pIG1yb2JpJ28gY3UgcGEgY3UnbyBsbyBudSBtaSBkZW5wYSByaScnIOKA kyDigJ1BbiBldmVudCBvZiBtZSBkeWluZyBoYXMgcHJvYmFiaWxpdHkgMSB1bmRlciB0aGUgY29u ZGl0aW9uczogSSB3YWl0IGZvciBpdOKAnSA9IOKAnU1lIGR5aW5nIGlzIGNvbXBsZXRlbHkgY2Vy dGFpbiBpZiBJIHdhaXQgbG9uZyBlbm91Z2gu4oCdCgpfXycnZGVucGEnJ19fIHgxIHdhaXRzIGZv ciB4MiwgYmVpbmcgaW4gc3RhdGUgeDMgdW50aWwgcmVzdW1pbmcvZG9pbmcgeDQKCl9fJyd2YSdl JydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBhdCB0aGUgbid0aCBwb3Np dGlvbiBvbiB0aGUgc2NhbGUgeDIKCkV4YW1wbGU6ICcnbGkgcGEgbm8gY3Ugcm8gdmEnZSBsYSB0 b3Jpbm9uJycg4oCTIOKAnDEwIGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8tc2Nh bGXigJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBjbyBh bmQgbW9yZSBjdXRlbmVzcykKClNheSB5b3UncmUgYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVy IG9mIGNvbXB1dGVycy4gSG93IGRvIHlvdSBleHByZXNzIHRoaXM/IEZvciBjb25zdHJ1Y3RzIGxp a2UgdGhlc2UsIHRhbnJ1IGFyZSBpZGVhbDogJydtaSB2YWpuaSBtZXJrbyBza2FtaSB0ZSB2ZWNu dScnLiBObyB3YWl0LCB0aGF0J3Mgbm90IHJpZ2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9tIGxl ZnQgdG8gcmlnaHQsIHNvIHRoaXMgdGFucnUgaXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1lcmtv JycpICcnc2thbWknJykgJyd0ZSB2ZWNudScnLCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3IgaW1w b3J0YW50IEFtZXJpY2Fucy4gWW91IGNhbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHNlbGJy aSB0byBnZXQgYSB1c2VmdWwgdGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVkIHdpdGgg bG9naWNhbCBjb25uZWN0aXZlcywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJvdXQgbGF0 ZXIgYW55d2F5LiBUaGUgb25seSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMgdG8gZm9y Y2UgdGhlIHNlbGJyaSB0byBncm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28gc2VsYnJp IGNsb3NlIHRvZ2V0aGVyIGluIGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUgcGxhY2Vk IGJldHdlZW4gdGhlbTogJydtaSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNudScnIGlz IHJlYWQgJydtaScnICgnJ3Zham5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZlY251Jycp LCB3aGljaCBpcyB1c2VmdWwgaW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQgYmV0d2Vl biBzZXZlcmFsIHNlbGJyaSBpbiBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJpZ2h0IHRv IGxlZnQgaW5zdGVhZCBvZiB0aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpuaSBtZXJr byBibyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtvIGJvJycg KCcnc2thbWkgYm8gdGUgdmVjbnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4gY29tcHV0 ZXItYnV5ZXIp4oCdLCB3aGljaCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhlIHNpdHVh dGlvbi4KCl9fJydibycnX18gQmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmdseS4KCgoK SG93IHdvdWxkIHlvdSBzYXkg4oCcVGhhdCdzIGEgdGFzdHkgeWVsbG93IGFwcGxl4oCdPwoKX18n J2t1a3RlJydfXyB4MSBpcyB0YXN0eSBmb3IgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3Rp IGt1a3RlIHBlbHh1IGJvIHBsaXNlJyd+fgoKCgpXaGF0IGFib3V0IOKAnVRoYXQncyBhIGJpZywg dGFzdHkgeWVsbG93IGFwcGxl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJkYSBr dWt0ZSBibyBwZWx4dSBibyBwbGlzZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlzIGlz IHRvIHVzZSB0aGUgd29yZHMgJydrZeKApmtlJ2UnJy4gVGhlc2UgY2FuIGJlIGNvbnNpZGVyZWQg YXMgZXF1aXZhbGVudCB0byB0aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRoZSBwYXJhZ3JhcGgg YWJvdmUuICcna2UnJyBiZWdpbnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywgJydrZSdlJycgZW5k cyBpdC4KCl9fJydrZScnX18g4oCTIGJlZ2luIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcuCgpfXycn a2UnZScnX18g4oCTIGVuZCBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3RoIG9m IHRoZSBiaW5kaW5nIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUsICcn bWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAnJ21p IHZham5pIGtlIG1lcmtvIGtlIHNrYW1pIHRlIHZlY251IHtrZSdlfSB7a2UnZX0nJy4KCkhvdyBj b3VsZCB5b3Ugc2F5IOKAnEknbSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhvbWVzP+KAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkgdmVjbnUnJ35+ CgoKCldoaWxlIHdlJ3JlIGF0IG1lc3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkgdGFucnUgc3RydWN0 dXJlLCB0aGVyZSBpcyBhbm90aGVyIHdvcmQgd29ydGggcGF5aW5nIGF0dGVudGlvbiB0by4gSWYg SSB3YW50IHRvIHNheSB0aGF0IEknbSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNvdWxk IHNheSAnJ21pIGZhbnZhIHNlIGppYnJpJycuCgpfXycnamlicmknJ19fIHgxIGlzIGEgam9iIG9m IHgyCgpfXycnZG90eWJhdScnX18geDEgaXMgR2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpf XycnZ2xpYmF1JydfXyB4MSBpcyBFbmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpJZiBJIHdh bnRlZCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRlciBmcm9tIEVuZ2xp c2ggdG8gR2VybWFuLCBJJ2QgaGF2ZSB0byBtZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQgJydi ZWknJzogJydtaSBmYW52YSBiZSBsZSBkb3R5YmF1IGJlaSBsZSBnbGliYXUgYmUnbyBzZSBqaWJy aScnLCBhbmQgdGhlIGZhY3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBjb3VsZCBxdWlja2x5IGJlIGxv c3QgaW4gc3BlZWNoIGR1ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3RydWN0dXJlIG9mIHRoZSBzZW50 ZW5jZS4gSGVyZSwgd2UgY2FuIHVzZSB0aGUgd29yZCAnJ2NvJycuIGl0IGludmVydHMgdGhlIHRh bnJ1LCBtYWtpbmcgdGhlIHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5IHRoZSBsZWZ0bW9zdCBpbnN0 ZWFkIG9mIHRoZSBvdGhlciB3YXkgYXJvdW5kOgoKJydtaSBzZSBqaWJyaSBjbyBmYW52YSBsZSBk b3R5YmF1IGxlIGdsaWJhdScnIGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBMb2pi YW4gb25lLCBidXQgbXVjaCBtb3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQgYW55 IHN1bXRpIGJlZm9yZSB0aGUgdGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkgZm9s bG93aW5nIGl0IG9ubHkgZmlsbHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4KCl9f JydjbycnX18gSW52ZXJ0IHRhbnJ1LiBBbnkgcHJldmlvdXMgc3VtdGkgZmlsbCB0aGUgbW9kaWZp ZWQsIGFueSBmb2xsb3dpbmcgZmlsbCB0aGUgbW9kaWZpZXIuCgoKClRoZSBzdHJlbmd0aCBieSB3 aGljaCB0d28gc2VsYnJpIGFyZSBib3VuZCB0b2dldGhlciB3aXRoIGNvIGlzIHZlcnkgd2VhayDi gJMgZXZlbiB3ZWFrZXIgdGhhbiBub3JtYWwgdGFucnUgZ3JvdXBpbmcgd2l0aG91dCBhbnkgZ3Jv dXBpbmcgd29yZHMuIFRoaXMgbWFrZXMgc3VyZSB0aGF0LCBpbiBhIGNvLWNvbnN0cnVjdCwgdGhl IGxlZnRtb3N0IHNlbGJyaSBpcyBhbHdheXMgdGhlIHNlbGJyaSBiZWluZyBtb2RpZmllZCwgYW5k IHRoZSByaWdodG1vc3QgYWx3YXlzIG1vZGlmaWVzLCBldmVuIGlmIGFueSBvZiB0aG9zZSBwYXJ0 cyBhcmUgdGFucnUuIFRoaXMgbWFrZXMgYSBjby1jb25zdHJ1Y3QgZWFzeSB0byBwYXJzZToKCicn dGkgcGVseHUgcGxpc2UgY28ga3VrdGUnJyBpcyByZWFkICcndGknJyAoJydwZWx4dSBwbGlzZScn KSAnJ2NvIGt1a3RlJycsIHdoaWNoIGlzIHRoZSBzYW1lIGFzICcndGkga3VrdGUgcGVseHUgYm8g cGxpc2UnJy4gVGhpcyBhbHNvIG1lYW5zIHRoYXQgYSAnJ2tl4oCma2UnZScnIGNhbm5vdCBlbmNv bXBhc3MgYSAnJ2NvJycuCgpUaGUgY21hdm8gb2YgdGhlIHNlbG1hJ28gR0loQSwgdGhlIGJyaWRp LXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvd2V2ZXIsIGJpbmRzIGV2 ZW4gbG9vc2VyIHRoYW4gJydjbycnLiBUaGlzIGlzIGluIG9yZGVyIHRvIHRvdGFsbHkgYXZvaWQg Y29uZnVzaW9uIGFib3V0IHdoaWNoIHNlbGJyaSBiaW5kcyB0byB3aGljaCBpbiBhIEdJaEEtY29u c3RydWN0LiBUaGUgYW5zd2VyIGlzIHNpbXBsZTogVGhlIEdJaEEgbmV2ZXIgZW1jb21wYXNzZXMg YW55IHNlbGJyaS1ncm91cHMuCgoKCkhvdyBjYW4geW91IGV4cHJlc3Mg4oCdSSBhbSBhbiBpbXBv cnRhbnQgQW1lcmljYW4gYnV5ZXIgb2YgY29tcHV0ZXJz4oCdIHVzaW5nIGEgJydjbycnPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgc2thbWkgdGUgdmVjbnUgY28gdmFqbmkgbWVya28nJ35+ CgoKCklmIGl0J3Mgb2YgYW55IHVzZSwgdGhpcyBpcyB0aGUgbGlzdCBvZiBkaWZmZXJlbnQga2lu ZCBvZiBzZWxicmkgZ3JvdXBlcnMgcmFua2VkIGJ5IHN0cmVuZ3RoOgoKCgoxLiAgICAnJ2JvJycg YW5kICcna2UuLmtlJ2UnJwoKCgoyLiAgICBsb2dpY2FsIGNvbm5lY3RpdmVzIG90aGVyIHRoYW4g YnJpZGktdGFpbCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoZXhwbGFpbmVkIGlu IGxlc3NvbiB0d2VudHktZml2ZSkKCgoKMy4gICAgbm8gZ3JvdXBpbmcgd29yZHMKCgoKNC4gICAg JydjbycnCgoKCjUuICAgIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2 ZXMgKGFsc28gaW4gbGVzc29uIHR3ZW50eS1maXZlKQoKCgpUaGUgcmVzdCBvZiB0aGlzIGxlc3Nv biB3aWxsIG5vdCBiZSBvbiBzZWxicmkgZ3JvdXBpbmcsIGJ1dCBtdWNoIGxpa2UgbGVzc29uIHNl dmVudGVlbiBtZW50aW9uIGFzc29ydGVkIHdvcmRzLCB3aGljaCBjYW4gYmUgb2YgdXNlLgoKCgon J2JvJycgaGFzIGFub3RoZXIgdXNlLCB3aGljaCBzZWVtcyBzZXBhcmF0ZSBmcm9tIHNlbGJyaSBn cm91cGluZzogSXQgY2FuIGFsc28gYmluZCBhIHN1bXRjaXRhIHRvIGFuIGVudGlyZSBicmlkaSwg c28gdGhhdCB0aGUgY29udGVudCBvZiB0aGUgc3VtdGNpdGEgaXMgbm90IGEgc3VtdGksIGJ1dCB0 aGUgZm9sbG93aW5nIGJyaWRpLiBUaGlzIGlzIGJlc3QgZXhwbGFpbmVkIHdpdGggYW4gZXhhbXBs ZS4KCl9fJyd4ZWJuaScnX18geDEgaGF0ZXMgeDIKCicnbWkgZGFyeGkgZG8gLmkgbXUnaSBibyBt aSBkbyB4ZWJuaScnIOKAkyDigJxJIGhpdCB5b3UsIHdpdGggbW90aXZhdGlvbiB0aGF0IEkgaGF0 ZSB5b3Uu4oCdIEhlcmUgdGhlICcnYm8nJyBiaW5kcyAnJ211J2knJyB0byB0aGUgZm9sbG93aW5n IGJyaWRpLgoKVGhpcyBpcyB3aGVyZSB0aGUgdGVjaG5pY2FsIGRpZmZlcmVuY2UgYmV0d2VlbiB0 ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEgaXMgcmVsZXZhbnQuIFlvdSBzZWUsIHdo ZW4gYmluZGluZyBhIG5vcm1hbCBzdW10Y2l0YSB0byBhIGJyaWRpIHdpdGggJydibycnLCBpdCBt ZWFucyB0aGF0IHRoZSBmb2xsb3dpbmcgYnJpZGkgc29tZWhvdyBmaXRzIGludG8gdGhlIHN1bXRp IHBsYWNlIG9mIHRoZSBzdW10Y2l0YS4gRm9yIHRoZSByZWFzb24gb2YgR29kIEtub3dzIFdoeSwg YmluZGluZyBvbmUgb2YgdGhlIHdvcmRzICcnYmEnJyBvciAnJ3B1JycgdG8gYSBicmlkaSBoYXMg dGhlIGV4YWN0IG9wcG9zaXRlIGVmZmVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBicmlkaSAnJ21p IGRhcnhpIGRvIC5pIGJhIGJvIGRvIGNpbmppa2NhJycsIG9uZSB3b3VsZCBhc3N1bWUgdGhhdCB0 aGUgc2Vjb25kIGJyaWRpIGlzIHNvbWVob3cgZmlsbGVkIGludG8gdGhlIHN1bXRpIHBsYWNlIG9m ICcnYmEnJywgbWVhbmluZyB0aGF0IHRoZSBicmlkaSBmaXJzdCB1dHRlcmVkIHRvb2sgcGxhY2Ug aW4gdGhlIGZ1dHVyZSBvZiB0aGUgc2Vjb25kIGJyaWRpLiBUaGF0J3Mgbm90IHRoZSBjYXNlLCBo b3dldmVyLCBhbmQgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb24gb2YgdGhhdCB1dHRlcmFuY2Ugd291 bGQgYmUgIkkgaGl0IHlvdS4gQWZ0ZXJ3YXJkcywgeW91IGZsaXJ0Ii4gVGhpcyB3ZWlyZCBydWxl IGlzIGFjdHVhbGx5IG9uZSBvZiB0aGUgbWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlvbiBv ZiBhbGwgc3VtdGNpdGEgaW50byBvbmUgc2luZ2xlIHdvcmQgY2xhc3MuIEFub3RoZXIgZGlmZmVy ZW5jZSBpcyB0aGF0IHRlbnNlLXN1bXRjaXRhIGNhbiBiZSBlbGlkZWQsIGV2ZW4gdGhvdWdoIHRo ZXkgYXBwbHkuIFRoaXMgcnVsZSBtYWtlcyBtb3JlIHNlbnNlLCBzaW5jZSB3ZSBvZnRlbiBjYW4g YXNzdW1lIGJyaWRpIGlzIHBsYWNlZCBpbiBhIHRpbWUgYW5kIHNwYWNlLCBidXQgd2UgY2FuJ3Qg YXNzdW1lIHRoYXQgdGhlIHN1bXRjaXRhIG9mIEJBSSBhcHBsaWVzLgoKCgpUaGUgdW5vZmZpY2lh bCB3b3JkICcnbWUnb2knJyBpcyBlcXVpdmFsZW50IHRvIG1lIGxhJ2UgJyd6bydvaScnLCB3aGlj aCBtZWFucyB0aGF0IGl0IGNvbnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBuZXh0IHdvcmQgaW50 byBhIHNlbGJyaS4gSXQgaXMgdXNlZCB0byBpbnZlbnQgYnJpdmxhIG9uIHRoZSBmbHk6ICcnbWkg Y2EgemdhbmEgbGEgbWUnb2kgWC1maWxlcycnIGZvciDigJxJIG5vdyB3YXRjaCBYLWZpbGVz4oCd LiBMaWtlIGFsbCBxdW90ZSBuZXh0IHdvcmQtY21hdm8sIGl0IGlzIG5vdCBzdXBwb3J0ZWQgYnkg dGhlIG9mZmljaWFsIGdyYW1tYXIsIGJ1dCB0byB0aGUgbGF6eSBMb2piYW5pc3QsIGl0J3MgaW52 YWx1YWJsZS4KCgoKVGhlIHdvcmQgJydnaScnIGlzIHN0cmFnZSBraW5kIG9mIGJyaWRpIHNlcGFy YXRvciwgYW5hbG9nb3VzIHRvICcnLmknJywgYnV0IHRvIG15IGtub3dsZWRnZSwgaXQgaXMgdXNl ZCBpbiBvbmx5IHR3byBkaWZmZXJlbnQga2luZHMgb2YgY29uc3RydWN0czogTW9zdCBvZnRlbiB3 aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUs IGJ1dCBhbHNvIHdpdGggc3VtdGNpdGEuIFdpdGggc3VtdGNpdGEgaXQgY3JlYXRlcyBhIHVzZWZ1 bCwgYnV0IGhhcmRseSBzZWVuLCBjb25zdHJ1Y3Q6CgonJ211J2kgZ2kgQlJJREktMSBnaSBCUklE SS0yJycsIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gJydCUklESS0yIC5pIG11J2kgYm8gQlJJREkt MScnLiBUaGVyZWZvcmUsIHRoZSBleGFtcGxlIGFib3ZlLCB3aGljaCBleHBsYWluZWQgd2h5IEkg aGl0IHlvdSwgY2FuIGJlIHdyaXR0ZW4gJydtdSdpIGdpIG1pIHhlYm5pIGRvIGdpIG1pIGRhcnhp IGRvJycsIG9yIHRvIHByZXNlcnZlIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBvcmlnaW5hbCBzZW50 ZW5jZSwgd2UgY2FuIGNvbnZlcnQgJydtdSdpJycgd2l0aCAnJ3NlJyc6ICcnc2UgbXUnaSBnaSBt aSBkYXJ4aSBkbyBnaSBtaSB4ZWJuaSBkbycnLgoKSXQgaXMgaW4gZXhhbXBsZXMgbGlrZSB0aGlz IHRoYXQgJydnaScnIHJlYWxseSBjYW4gc2hvdyBpdHMgdmVyc2F0aWxpdHkuIEl0IGRvZXMgbm90 IGp1c3Qgc2VwYXJhdGUgdHdvIGJyaWRpIGxpa2UgJycuaScnIGRvZXMsIGJ1dCBjYW4gYWxzbyBz ZXBhcmF0ZSB0d28gY29uc3RydWN0cyB3aXRoaW4gYSBicmlkaSwgbWFraW5nIGFsbCBjb25zdHJ1 Y3RzIG91dHNpZGUgdGhlIHNjb3BlIG9mICcnZ2knJyBhcHBseSB0byBib3RoIGJyaWRpLCBhcyB0 aGlzIGV4YW1wbGUgZGVtb25zdHJhdGVzOgoKX18nJ2NpbmJhJydfXyB4MSBraXNzZXMgeDIgYXQg bG9jdXMgeDMKCgoKJydtaSBnaSBwcmFtaSBkbyBnaSBjaW5iYSBkbycnIGxlYXZlcyBtaSBvdXRz aWRlIHRoZSBjb25zdHJ1Y3QsIG1ha2luZyBpdCBhcHBseSB0byBib3RoIGJyaWRpLiBUaGlzIGNh biBhbHNvIGJlIGRvbmUgd2l0aCAnJ2RvJycsIHdoaWNoIGlzIGFsc28gcHJlc2VudCBpbiBicm90 aCBicmlkaTogJydtaSBnaSBwcmFtaSBnaSBjaW5iYSB2YXUgZG8nJy4gTm90ZSB0aGF0ICcndmF1 JycgaXMgbmVlZGVkIHRvIG1ha2UgZG8gYXBwZWFyIG91dHNpZGUgdGhlIHNlY29uZCBicmlkaS4K CgoKVGh1cywgd2UgY2FuIHdyaXRlIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBzaG9ydGVyOiAnJ21p IG11J2kgZ2kgeGVibmkgZ2kgZGFyeGkgdmF1IGRvJycsIG9yLCB0byBvbWl0IGV2ZW4gdGhlICcn dmF1JycsIHdlIGNhbiB3cml0ZSBpdCBldmVuIHNob3J0ZXIgYW5kIG1vcmUgZWxlZ2FudGx5OiAn J21pIGRvIG11J2kgZ2kgeGVibmkgZ2kgZGFyeGknJwoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdHdlbnR5LW9uZSAoQ09JKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGZhbWlsaWFy aXplIHlvdXJzZWxmIHdpdGggdm9jYXRpdmVzLCBvciAnJ21hJ29pIGNvaScnLiBUaGV5IGdldCB0 aGVpciBvd24gbGVzc29uLCBub3QgYmVjYXVzZSB1bmRlcnN0YW5kaW5nIHRoZXNlIHByb3ZpZGVz IGEgYmFzaXMgZm9yIHVuZGVyc3RhbmRpbmcgTG9qYmFuIGdyYW1tYXIgaW4gZ2VuZXJhbCwgb3Ig YmVjYXVzZSB0aGV5IGFyZSBoYXJkIHRvIHVuZGVyc3RhbmQsIGJ1dCByYXRoZXIgYmVjYXVzZSB0 aGV5IGFyZSB2ZXJ5IG9mdGVuIHVzZWQgaW4gY2FzdWFsIHNwZWVjaCwgYW5kIHRoZXJlIGFyZSBh IGxvdCBvZiB0aGVtLgoKQSB2b2NhdGl2ZSBpcyB1c2VkIHBhcnRseSB0byBkZWZpbmUgd2hvICcn ZG8nJyByZWZlcnMgdG8uIElmIHRoZSB2b2NhdGl2ZSBpcyBmb2xsb3dlZCBieSBhIGNtZXZsYSwg dGhlIGNtZXZsYSBnZXRzIGFuIGltcGxpZWQgbGEgaW4gZnJvbnQgb2YgaXQuIElmIGEgc2VsYnJp IGZvbGxvd3MsIGEgJydsZScnIGlzIHVzZWQgYXMgYSBnYWRyaSBpbnN0ZWFkLgoKSW4gdGhlc2Ug ZXhhbXBsZXMsIEkgd2lsbCB1c2UgdGhlIHZvY2F0aXZlICcnY29pJycsIHdpdGggbWVhbnMg4oCc SGnigJ0gb3Ig4oCcSGVsbG/igJ0uCgpJZiBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSArIFNFTEJS SScnLCB1c2luZyBhIHZvY2F0aXZlIHdpdGggb25seSB0aGUgc2VsYnJpIHRvIGFkZHJlc3MgdGhh dCBwZXJzb24gd2lsbCBtZWFuIHlvdSByZWZlciB0byBoZXIgYXMgYWN0dWFsbHkgYmVpbmcgdGhl IHgxIG9mIHRoYXQgc2VsYnJpLCB3aGljaCBpcyBvZnRlbiB3cm9uZy4gSWYsIGZvciBpbnN0YW5j ZSwgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgdHNhbmknJywg4oCcU2t54oCdLCBzYXlpbmcgJydj b2kgdHNhbmknJyByZWZlcnMgdG8gaGVyIGFzIGEgJydsZSB0c2FuaScnLCBtZWFuaW5nIOKAnEhp LCB5b3Ugc2t54oCdLCB3aGlsZSAnJ2NvaSBsYSB0c2FuaSBjb3JyZWN0bHknJyByZWZlcnMgdG8g aGVyIGFzIHNvbWVvbmUgY2FsbGVkICJTa3kiLCBtZWFuaW5nIOKAnEhpIFNreeKAnS4gVGhpcyBp cyBhIGZyZXF1ZW50IG1pc3Rha2UsIGVzcGVjaWFsbHkgYW1vbmcgbmV3IExvamJhbmlzdHMuCgpB bGwgdm9jYXRpdmVzIGhhdmUgYSBmYSdvcm1hJ28gd2hpY2ggaXMgc29tZXRpbWVzIHJlcXVpcmVk LiBUaGlzIGlzICcnZG8ndScnLiBJdCdzIG1vc3RseSB1c2VkIGlmIGJvdGggdGhlIGZpcnN0IHdv cmQgYWZ0ZXIgdGhlIHZvY2F0aXZlIHBocmFzZSBhbmQgdGhlIGxhc3Qgd29yZCBvZiB0aGUgcGhy YXNlIGlzIGEgc2VsYnJpLCBzbyB0aGF0IGl0IHByZXZlbnRzIGZvcm1pbmcgYSB0YW5ydToKCgoK X18nJ2RvJ3UnJ19fIEVuZCB2b2NhdGl2ZSBwaHJhc2UuIFVzdWFsbHkgZWxpZGFibGUuCgpfXycn a2xha3UnJ19fIHgxIGNyaWVzIHgyICh0ZWFycykgZm9yIHJlYXNvbiB4MwoKJydjb2kgbGEgZ2xl a2kgZG8ndSBrbGFrdSBmaSBtYScnIOKAnUhlbGxvIEhhcHB5LiBXaHkgY3J5P+KAnQoKCgpUaGUg Z2VuZXJpYyB2b2NhdGl2ZSwgJydkb2knJywgZG9lcyBub3RoaW5nIGV4Y2VwdCBkZWZpbmluZyB3 aG8gaXMgYmVpbmcgcmVmZXJyZWQgdG8gYnkgJydkbycnOgoKJydkb2kgLmVybnN0LiB4dSBkbyBk b3RjbyBtZXJrbycnIOKAnEVybnN0OiBBcmUgeW91IGEgR2VybWFuLUFtZXJpY2FuP+KAnQoKCgpB bGwgdGhlIG90aGVyIHZvY2F0aXZlcyBoYXZlIHNvbWUgY29udGVudCBiZXNpZGUgZGVmaW5pbmcg JydkbycnLiAnJ2NvaScnLCB3aGljaCB5b3Uga25vdywgYWxzbyBtZWFucyDigJxIZWxsb+KAnSwg Zm9yIGV4YW1wbGUuIE1hbnkgb2YgdGhlIHZvY2F0aXZlcyBoYXZlIHR3byBvciB0aHJlZSBkZWZp bml0aW9ucyBsaWtlIHRoZSBhdHRpdHVkaW5hbHMuIExpa2UgYXR0aXR1ZGluYWxzLCB0aGlzIGlz IGJlY2F1c2UgdGhleSBjYW4gYmUgbW9kaWZpZWQgd2l0aCAnJ2N1J2knJyBhbmQgJyduYWknJywg dGhvdWdoIG9ubHkgb25lIHZvY2F0aXZlIGhhcyB0aGUgJydjdSdpJyctZm9ybSBkZWZpbmVkLgoK U29tZSBpbXBvcnRhbnQgdm9jYXRpdmVzIGFyZSBsaXN0ZWQgaW4gdGhlIHRhYmxlIGJlbG93LiBU aGVyZSBhcmUgb3RoZXJzLCBidXQgdGhvc2UgYXJlIG5vdCB1c2VkIG11Y2guCgp8fHZvY2F0aXZl fFdpdGhvdXQgc3VmZml4fC1jdSdpfC1uYWkKCmNvaXxIZWxsb3wtfC0KCmNvJ298R29vZGJ5ZQl8 LXwtCgpqZSdlfFVuZGVyc3Rvb2QgLyBPS3wtfE5vdCB1bmRlcnN0b29kCgpmaSdpfFdlbGNvbWV8 LXxOb3Qgd2VsY29tZSBoZXJlCgpwZSd1fFBsZWFzZXwtfC0KCmtpJ2V8VGhhbmtzfC18RGlzYXBw cmVjaWF0aW9uCgpyZSdpfFJlYWR5IHRvIHJlY2lldmV8LXxOb3QgcmVhZHkKCmp1J2l8SGV5IXxB dCBlYXNlfElnbm9yZSBtZQoKdGEnYXxJbnRlcnJ1cHRpb258LXwtCgp2aSdvfFdpbGwgZG98LXxX aWxsIG5vdCBkbwoKa2Unb3xQbGVhc2UgcmVwZWF0fC18Tm8gcmVwZWF0IG5lZWRlZAoKa2knYWl8 d2VsbC13aXNofC18Y3Vyc2V8fAoKTm90aWNlIHRoYXQgJydraSdhaScnIGlzIGV4cGVyaW1lbnRh bAoKCgoKCldoYXQgd291bGQgJydjb2kgY28nbycnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcR3JlZXRpbmdzIGluIHBhc3NpbmfigJ0gb3Ig4oCcSGVsbG8gYW5kIEdvb2RieWXigJ1+ fgoKCgonJ2plJ2UnJyBpcyB1c2VkIGFzIOKAnE9L4oCdLCBidXQgYWxzbyB0aGUgYXBwcm9wcmlh dGUgcmVzcG9uc2Ugd2hlbiByZWNlaXZpbmcgcHJhaXNlIG9yIHRoYW5rcyAoYXQgbGVhc3QsIGlm IHlvdSB3YW50IHRvIGJlIG1vZGVzdCksIGFzIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwcmFpc2Ug b3IgdGhhbmtzIHdhcyBzdWNjZXNzZnVsbHkgdW5kZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcna2kn ZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFqbmkgLmkgamUnZSAuamVuaWZ5bi4nJwoKX18nJ3NpZGp1 JydfXyB4MSBoZWxwcyB4MiBkbyB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYW5rcywg eW91IGhlbHBlciBvZiBtZSB0byBkbyBzb21ldGhpbmcgaW1wb3J0YW50LuKAnSDigJxObyBwcm9i bGVtLCBKZW5uaWZlcuKAnX5+CgoKCkFuZCAnJ2ZpJ2kgdGUgdmVjbnUgLmkgcGUndSBrbyBjaXRr YScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdV2VsY29tZSwgYnV5ZXIuIFBsZWFzZSBlYXQh 4oCdfn4KCgoKJydyZSdpJycgaXMgdXNlZCB0byBzaWduYWwgdGhhdCB5b3UgYXJlIHJlYWR5IHRv IGJlIHNwb2tlbiB0by4gSXQgY2FuIGJlIHVzZWQgYXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9m IOKAnFdoYXQgY2FuIEkgZG8gZm9yIHlvdT/igJ0gb3IgcGVyaGFwcyByZXBsYWNlIOKAnEhlbGxv 4oCdLCB3aGVuIHNwZWFraW5nIG9uIGEgcGhvbmUuICcncmUnaSBuYWknJyBjYW4gbWVhbiDigJxB RkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMgYSBzZWNvbmQu4oCdCgoKClRyYW5zbGF0ZTog4oCcSGVs bG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlvdSwgSW50ZXJwcmV0ZXIvVHJhbnNsYXRlcj/igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ2NvaSByZSdpIGxhIGZhbnZhJyd+fgoKCgonJ3RhJ2EnJyBp cyB1c2VkIHdoZW4gYXR0ZW1wdGluZyB0byBwb2xpdGVseSBpbnRlcnJ1cHQgc29tZW9uZSBlbHNl LiBXaGF0IHdvdWxkIGJlIGdvb2QgcmVzcG9uc2VzIHRvIHRoaXM/CgoKClRyYW5zbGF0ZTogJyd0 YSdhIHJvIGRvIG1pIGNvJ2EgY2xpdmEnJwoKX18nJ2NsaXZhJydfXyB4MSBsZWF2ZXMgeDIgdmlh IHJvdXRlIHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcRXhjdXNlIG1lIGZvciBpbnRlcnJ1 cHRpbmcsIGV2ZXJ5b25lLiBJIGJlZ2luIHRvIGxlYXZlIG5vd+KAnSBOb3RpY2UgdGhhdCBubyBm YSdvcm1hJ28gb3IgJycuaScnIGlzIG5lZWRlZC5+fgoKCgonJ2tlJ28nJyBpcyB1c2VkIGEgbG90 IHdoZW4gaW5leHBlcmllbmNlZCBMb2piYW5pc3RzIHNwZWFrIHRvZ2V0aGVyIHZvY2FsbHkuIEl0 J3MgcXVpdGUgYSBoYW5keSB3b3JkCgpfXycnc3V0cmEnJ19fIHgxIGlzIHF1aWNrIGF0IGRvaW5n IHgyCgoKClRyYW5zbGF0ZTogJycueSBrZSdvIHN1dHJhIHRhdmxhJycKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxVaCwgUGxlYXNlIHJlcGVhdCwgeW91IHF1aWNrIHNwZWFrZXIu4oCdfn4KCgoK QW5kIOKAnE9rYXkgb2theSwgSSBnb3QgaXQgYWxyZWFkeSEgSSdsbCBkbyBpdCHigJ0KCgoKQW4g YW5zd2VyOiB+fmdyZXksZ3JleTonJ2tlJ28gbmFpIC51aSBuYWkgdmknbycnfn4KCgoKISFMb2pi YW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktdHdvIChxdWFudGlmeWluZyBzdW10aSkKCk1vc3Qg b3RoZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHN1Y2ggYXMgVGhlIENvbXBsZXRlIExvamJhbiBMYW5n dWFnZSBhbmQgTG9qYmFuIGZvciBCZWdpbm5lcnMgd2VyZSB3cml0dGVuIGJlZm9yZSB0aGUgb2Zm aWNpYWwgYWRvcHRhdGlvbiAieG9ybG8iLCBhIGNoYW5nZSBpbiB0aGUgcnVsZXMgYWJvdXQgZ2Fk cmkgZGVmaW5pdGlvbiBhbmQgZ2FkcmkgcXVhbnRpZmljYXRpb24uIFRoZSBvYnNvbGV0ZW5lc3Mg b2Ygc29tZSBvZiB0aGUgdGV4dCBpbiB0aGUgb2xkZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHdhcyBh IG1ham9yIGNhdXNlIGZvciB0aGUgbW90aXZhdGlvbiB0byB3cml0ZSB0aGVzZSBsZXNzb25zLiBV bmZvcnR1bmF0ZWx5IGZvciBtZSwgcXVhbnRpZmljYXRpb24gb2Ygc3VtdGkgY2FuIGJlY29tZSBh IHZlcnkgY29tcGxleCB0b3BpYyB3aGVuIHRoZSBpbXBsaWNhdGlvbnMgb2YgY2VydGFpbiBydWxl cyBhcmUgZGlzY3Vzc2VkIGluIGRldGFpbC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB0aGUgZ29hbCBv ZiB0aGlzIHRleHQgYmVpbmcgYWNjdXJhdGUgZW5vdWdoIHRvIHJlcHJlc2VudCB0aGUgb2ZmaWNp YWwgImdvbGQgc3RhbmRhcmQiIEJQRksgcnVsZXMsIHRoaXMgY2hhcHRlciB3YXMgYW1vbmcgdGhl IGxhc3Qgb25lcyBmaW5pc2hlZCBhbmQgdGhlIG9uZXMgbW9zdCBmcmVxdWVudHkgcmV3cml0dGVu LiBJIHN0cm9uZ2x5IGVuY291cmFnZSBhbnlvbmUgd2hvIGZpbmRzIG1pc3Rha2VzIGluIHRoaXMg dGV4dCB0byBjb250YWN0IG1lIGluIG9yZGVyIGZvciB0aGVtIHRvIGJlIGNvcnJlY3RlZC4KCkhh dmluZyBzYWlkIHRoYXQgZGlzY2xhaW1lciwgbGV0J3MgZ2V0IHN0YXJ0ZWQ6CgpUaGUgZmlyc3Qg Y29uY2VwdCB5b3Ugc2hvdWxkIGtub3cgYWJvdXQgaXMgImRpc3RyaWJ1dGl2aXR5Ii4gSW4gbGVz c29uIGZvdXJ0ZWVuIGkgdXNlZCB0aGUgd29yZCAiaW5kaXZpZHVhbHMiIGFib3V0IGEgZ3JvdXAg b2Ygb2JqZWN0cyBjb25zaWRlcmVkIGRpc3RyaWJ1dGl2ZWx5LiBBIGRpc3RyaWJ1dGl2ZSBncm91 cCAnJ2tvJ2EnJyBpcyBmb3IgYW55IHNlbGJyaSAnJ2Jyb2RhJycgYSBncm91cCBzdWNoIHRoYXQs IGlmICcna28nYSBicm9kYScnIGlzIHRydWUsIGl0IG1lYW5zIHRoYXQgZXZlcnkgbWVtYmVyIG9m IHRoZSBncm91cCBhbHNvIGlzIGNoYXJhY3Rlcml6ZWQgYnkgJydicm9kYScnLiBUaGlzIHN0YW5k cyBpbiBjb250cmFzdCB0byBub24tZGlzdHJpYnV0aXZpdHkgKHdoaWNoIG1hc3NlcyBoYXZlKSwg aW4gd2hpY2ggdGhlIGdyb3VwIGhhcyBvdGhlciBwcm9wZXJ0aWVzIHRoYW4gZWFjaCBvZiB0aGUg aW5kaXZpZHVhbHMgZG8uIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGRpc3RyaWJ1dGl2aXR5IChp bmRpdmlkdWFsLWxpa2UpIGFuZCBub24tZGlzdHJpYnV0aXZpdHkgKG1hc3MtbGlrZSkgaXMgb2Yg cmVsZXZhbmNlIHdoZW4gcXVhbnRpZnlpbmcgc3VtdGkuCgpMZXQgdXMgZmlyc3QgY29uc2lkZXIg aG93IG9uZSBjYW4gcXVhbnRpZnkgZGVjcmlwdGlvbiBzdW10aSwgd2hpY2ggYXJlIHN1bXRpIG9m IHRoZSBmb3JtIEdBRFJJIEJSSVZMQS4gVGhlIG51bWJlciBzdHJpbmcgd2hpY2ggZG9lcyB0aGUg cXVhbnRpZmljYXRpb24gY2FuIGJlIHBsYWNlZCBiZWZvcmUgdGhlIGdhZHJpLCBpbiB3aGljaCBj YXNlIGl0IGlzIHJlZmVycmVkIHRvIGFzIGFuIF9fb3V0ZXIgcXVhbnRpZmllcl9fLCBhbmQgaXQg Y2FuIGJlIHBsYWNlZCBiZXR3ZWVuIHRoZSBnYWRyaSBhbmQgdGhlIGJyaXZsYSwgaW4gd2hpY2gg Y2FzZSBpdCdzIGFuIF9faW5uZXIgcXVhbnRpZmllcl9fLiBBbnkga2luZCBvZiBudW1iZXIgc3Ry aW5nIGNhbiBhY3QgYXMgYSBxdWFudGlmaWVyLgoKVGhlIHJ1bGVzIGZvciBob3cgaW5uZXIgYW5k IG91dGVyIHF1YW50aWZpZXJzIGFmZmVjdHMgc3VtdGkgZGVwZW5kIG9uIHRoZSBraW5kIG9mIGdh ZHJpIHdoaWNoIGlzIHVzZWQ6CgoKCi0gLScnbG8nJyBhbmQgJydsZScnLSAtIEFuIGlubmVyIHF1 YW50aWZpZXIgdGVsbHMgdXMgaG93IG1hbnkgb2JqZWN0cyBhcmUgYmVpbmcgc3Bva2VuIG9mIC0g aG93IG1hbnkgb2JqZWN0cyBhcmUgaW4gdGhlIGRpc2NvdXJzZSB0b3RhbC4gSWYgYW4gb3V0ZXIg cXVhbnRpZmllciBpcyBwcmVzZW50LCB0aGUgc3VtdGkgaXMgZGlzdHJpYnV0ZWQgb3ZlciB0aGF0 IGFtb3VudCBvZiBvYmplY3RzLiBBcyBzdGF0ZWQgZWFybGllciwgaWYgbm8gb3V0ZXIgcXVhbnRp ZmllciBpcyBwcmVzZW50LCBpdCdzIHZhZ3VlIGhvdyBtYW55IG9iamVjdHMgdGhlIHNlbGJyaSBh cHBsaWVzIHRvICh0aG91Z2ggbm90IG5vbmUpLCBhbmQgd2hldGhlciBpdCBkb2VzIHNvIGRpc3Ry aWJ1dGl2ZWx5IG9yIG5vbi1kaXN0cmlidXRpdmVseS4gRXhhbXBsZXMgYXJlIGFsd2F5cyBhIGdv b2QgaWRlYSwgc28gaGVyZSB0aGV5IGFyZToKCicnbXUgbG8gbXUgYmFrbmkgY3Ugc2UgamlybmEn JyAtIFRoZSBpbm5lciBxdWFudGlmaWVyIG9mIGZpdmUgdGVsbHMgdXMgdGhhdCB3ZSBzcGVhayBh Ym91dCBmaXZlIHBpZWNlcyBvZiBjYXR0bGUsIGFuZCB0aGUgb3V0ZXIgcXVhbnRpZmllciBvZiBm aXZlIHRlbGxzIHVzIHRoYXQgdGhlIHNlbGJyaSBpcyB0cnVlIGZvciBlYWNoIG9mIHRoZSBmaXZl LiBUaGVyZWZvcmUsIGl0IG1lYW5zICJBbGwgdGhlIGZpdmUgY293cyBoYWQgaG9ybnMiLiAKCl9f JydiYWtuaScnX18geDEgaXMgYSBjb3cvb3gvY2F0dGxlL2NhbGYgZXRjIG9mIGJyZWVkIHgyCgpf XycnamlybmEnJ19fIHgxIGlzIHRoZSBob3JuIG9mIHgyIChtZXRhcGhvcjogYW55IHBvaW50ZWQg ZXh0cmVtaXR5KQoKCgpXaGF0IGRvZXMgdGhlIGZvbGxvd2luZyBicmlkaSBtZWFuPwoKJydsbyBy dSd1cmd1YnVwdSBiZSBsaSByZSBwaSB6ZSBtdSBjdSBqZGltYSBsbyBwYSByZSBzb3ZkYScnCgpf XycncnUndXJndWJ1cHUnJ19fIHgxIGlzIG1lYXN1cmVzIHRvIGJlIHgyIEJyaXRpc2ggcG91bmRz IChHQlApCgpfXycnamRpbWEnJ19fIHgxIGlzIHRoZSBwcmljZSBvZiB4MiB0byBidXllciB4MyBz ZXQgYnkgdmVuZG9yIHg0CgpfXycnc292ZGEnJ19fIHgxIGlzIGEgZ2FtZXRlIChlZ2cvc3Blcm0p IG9mIHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVHdlbHZlIGVnZ3MgY29zdCAyLjc1IEJyaXRp c2ggcG91bmRzIiB3aGljaCwgYXMgdGhlIEVuZ2xpc2ggdHJhbnNsYXRpb24sIGNvdWxkIG1lYW4g Ym90aCB0aGF0IHRoZXkgY29zdCAyLjc1IGVhY2ggKGRpc3RyaWJ1dGl2ZWx5KSBvciB0aGF0IGFs bCB0d2VsdmUgdG9nZXRoZXIgY29zdCAyLjc1IChub24tZGlzdHJpYnV0aXZlbHkpfn4KCgoKJydz byBsZSB0YSBwYSBwYSBjaSdlcmtlaSBjdSBjbGFtYXUgbWknJyAobm90aWNlIHRoYXQgdGhlICcn dGEnJyBnb2VzIGJlZm9yZSB0aGUgaW5uZXIgcXVhbnRpZmllcikKCl9fJydjaSdlcmtlaScnX18g eDEgcGxheXMgZ2FtZSB4MiBnb3ZlbmVyZCBieSBydWxlcyB4MyBpbnRlcnJlbGF0aW5nIGdhbWUg cGFydHMgeDQge3RoaXMgaXMgdXNlZCB0byB0cmFuc2xhdGUgInBsYXkiIGluIHRoZSBzZW5zZSAi cGxheSBhIGdhbWUiIHJhdGhlciB0aGFuLCBmb3IgaW5zdGFuY2UgInBsYXlpbmcgcHJldGVuZCIg b3IgInBsYXlpbmcgSG91c2UifQoKX18nJ2NsYW1hdScnX18geDEgaXMgdGFsbGVyL2xvbmdlciB0 aGFuIHgyIGluIGRpcmVjdGlvbiB4MyBteSBtYXJpZ2luIHg0CgpBbnN3ZXI6IH5+Z3JleSxncmV5 OlRoZSBpbm5lciBzdGF0ZXMgdGhlcmUgYXJlIDExIHBsYXllcnMgaW4gdGhlIGRpc2NvdXJzZSwg YW5kIHRoZSBvdXRlciBzdGF0ZXMgdGhhdCB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gbmluZSBvZiB0 aGVtIGRpc3RyaWJ1dGl2ZWx5LiBUaHVzIGl0IG1lYW5zICJOaW5lIG9mIHRoZSBlbGV2ZW4gcGxh eWVycyBhcmUgdGFsbGVyIHRoYW4gbWUifn4KCgoKVGhlcmUgYXJlIGEgZmV3IHBvaW50cyB0aGF0 IG5lZWRzIHRvIGJlIHJhaXNlZCByZWdhcmRpbmcgcXVhbnRpZmljYXRpb24gb2YgJydsbycnLycn bGUnJzoKCkZpcnN0bHksICcnbG8nJyBpcyB1bmlxdWUgaW4gdGhhdCAie251bWJlcn0ge3NlbGJy aX0iIGlzIGRlZmluZWQgYXMgIntudW1iZXJ9ICcnbG8nJyB7c2VsYnJpfSIuIFRoZXJlZm9yZSwg JydjaSBnZXJrdSBjdSBiYXRjaSByZSBuYW5tdScnIGlzIGRlZmluZWQgdG8gYmUgJydjaSBsbyBn ZXJrdSBjdSBiYXRjaSByZSBsbyBuYW5tdScnLCB3aGljaCBjb25zaWRlcnMgYm90aCB0aGUgZ3Jv dXAgb2YgZG9ncyBhbmQgdGhlIGdyb3VwIG9mIG1lbiBkaXN0cmlidXRpdmVseS4gVGhlcmVmb3Jl LCBlYWNoIG9mIHRoZSB0aHJlZSBkb2dzIGJpdCBlYWNoIG9mIHRoZSB0d28gbWVuLCB3aXRoIHNp eCBiaXRpbmcgZXZlbnRzIGluIHRvdGFsLgoKX18nJ2JhdGNpJydfXyB4MSBiaXRlcy9waW5jaGVz IHgyIGF0IGxvY3VzIHgzIHVzaW5nIHg0IGFzIHBpbmNoaW5nIHRvb2wuCgpTZWNvbmRseTogV2hh dCBpZiB0aGVyZSBpcyBubyBvdXRlciBxdWFudGlmaWVyPyBEb2VzIHRoaXMgbWVhbiB0aGF0IGl0 IF9faXNfXyB0aGVyZSwgYnV0IGl0J3MgZWxpZGVkPyBOb3BlLiBJZiB0aGVyZSBpcyBhbnkga2lu ZCBvZiBvdXRlciBxdWFudGlmaWVyLCBlbGlkZWQgb3Igbm90LCBpdCB3b3VsZCBmb3JjZSB0aGUg c3VtdGkgdG8gYmUgZGlzdHJpYnV0aXZlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgbmVpdGhlciAn J2xvJycgbm9yICcnbGUnJyBjb3VsZCBiZSB1c2VkIHRvIGRlc2NyaWJlIG1hc3Nlcy4gVGhlcmVm b3JlLCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIGl0J3Mgbm90IG9ubHkgZWxp ZGVkIC0gaXQncyBzaW1wbHkgbm90IHRoZXJlLiBTdW10aSB3aXRob3V0IGFuIG91dGVyIHF1YW50 aWZpZXIgY2FuIGJlIHJlZmVycmVkIHRvIGFzICJjb25zdGFudHMiLCBldmVuIHRob3VnaCBJIHdv bid0LgoKVGhpcmRseSwgaXQgbWFrZXMgbm8gc2Vuc2UgdG8gaGF2ZSBhbiBvdXRlciBxdWFudGlm aWVyIHdoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSBpbm5lciBvbmUuIEl0IG1lYW5zIHRoYXQgdGhl IHNlbGJyaSBob2xkcyB0cnVlIGZvciBtb3JlIHN1bXRpIHRoYW4gYXJlIHByZXNlbnQgaW4gdGhl IGRpc2NvdXJzZSAtIGJ1dCBzaW5jZSB0aGV5IGFwcGVhciBpbiBhIGJyaWRpLCB0aGV5IF9fYXJl X18gcGFydCBvZiB0aGUgZGlzY291cnNlLiBJdCdzIGdyYW1tYXRpY2FsIHRvIGRvIGl0LCB0aG91 Z2guCgpMYXN0bHksIHBsYWNpbmcgYSAnJ2xvJycgb3IgYSAnJ2xlJycgaW4gZnJvbnQgb2YgYSBz dW10aSBpcyBncmFtbWF0aWNhbCwgaWYgdGhlcmUgaXMgYW4gaW5uZXIgcXVhbnRpZmllciBwcmVz ZW50LiAiJydsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICInJ2xv JycvJydsZScnIHtudW1iZXJ9ICcnbWUnJyB7c3VtdGl9Ii4KClNvIHdoYXQgd291bGQgdGhpcyBt ZWFuPyAnJ21pIG5lbGNpIGxvaSBtaSBicmlqdSBrYW5zYSAuaSBrdSdpIGNpIGxvIHJlIG11IGpp J2kgcmkgY3UgbGF6bmknJwoKX18nJ2JyaWp1JycnX18geDEgaXMgYW4gb2ZmaWNlIGZvciB3b3Jr ZXIgeDIgYXQgbG9jYXRpb24geDMKCl9fJydrYW5zYScnX18geDEgYWNjb21wYW5pZXMgeDIgaW4g YWN0aW9uL3N0YXRlL2VudGVycHJpc2UgeDMKCl9fJydsYXpuaScnX18geDEgaXMgbGF6eSwgYXZv aWRpbmcgd29yayBjb25jZXJuaW5nIHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiJJIGxpa2UgbXkg Y28td29ya2VycywgYnV0IHRocmVlIG91dCBvZiBhYm91dCB0d2VudHkgZml2ZSBvZiB0aGVtIGFy ZSBsYXp5In5+CgoKCi0gLScnbGEnJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIGlzIGdyYW1tYXRp Y2FsIGlmIHRoZSBuYW1lIGlzIGEgc2VsYnJpIC0gaW4gdGhpcyBjYXNlLCBpdCdzIGNvbnNpZGVy ZWQgcGFydCBvZiB0aGUgbmFtZS4gQW4gb3V0ZXIgcXVhbnRpZmllciBpcyB1c2VkIHRvIHF1YW50 aWZ5IGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc3VjaCBpbmRpdmlkdWFscyAobXVjaCBsaWtlICcnbG8n Jy8nJ2xlJycpIEl0J3MgZ3JhbW1hdGljYWwgd2hlbiBwbGFjZWQgaW4gZnJvbnQgb2Yge251bWJl cn0ge3N1bXRpfSwgaW4gd2hpY2ggY2FzZSwgdGhlIGJvdGggdGhlIG51bWJlciBhbmQgdGhlIHN1 bXRpIGlzIGNvbnNpZGVyZWQgdGhlIG5hbWUuCgoKClRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGxhIGNp IGJhcmd1IGN1IGppYm5pIGxlIG1pIHpkYW5pJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6IFR3byAi VGhlIFRocmVlIEFyY2hlcyIgYXJlIGxvY2F0ZWQgY2xvc2UgdG8gbXkgaG91c2UiIChQZXJoYXBz IFRoZSBUaHJlZSBBcmNoZXMgYXJlIGEga2luZCBvZiByZXN0YXVyYW50Pyl+fgoKCgotIC0nJ2xv aScnIGFuZCAnJ2xlaScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgdGVsbHMgdXMgaG93IG1hbnkg bWVtYmVycyB0aGVyZSBhcmUgaW4gdGhlIG1hc3MvbWFzc2VzIGluIHF1ZXN0aW9uLiBBbiBvdXRl ciBxdWFudGlmaWVyIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHkgeyF9IG92ZXIgdGhlc2UgbWFz c2VzCgpOb3RpY2UgaGVyZSB0aGF0IHdoaWxlIG1hc3NlcyBjb25zaXN0IG9mIGEgbnVtYmVyIG9m IG9iamVjdHMgY29uc2lkZXJlZCBub24tZGlzdHJpYnV0aXZlbHksIGFuIG91dGVyIHF1YW50aWZp ZXIgYWx3YXlzIHRyZWF0cyBlYWNoIG9mIHRoZXNlIG1hc3NlcyBhcyBhbiBpbmRpdmlkdWFsLgoK V2hlbiBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyIHN0cmluZywgdGhlbiBhIHN1bXRpLCAnJ2xvaScn LycnbGVpJycgaXMgZGVmaW5lZCBhcyAiJydsbyBndW5tYSBiZSBsbycnLycnbGUnJyB7bnVtYmVy fSB7c3VtdGl9IiAtICJUaGUgbWFzcyBjb25zaXN0aW5nIG9mIHRoZSB7bnVtYmVyfSBvZiB7c3Vt dGl9Ii4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhpczogJydyZSBkZWkgZ3VubWEgcmUgbG9p IHplIHZhbHNpIC5pIGNhJ2UgcGEgZGVpIGphaSBnYXUgamV0bnUnJwoKX18nJ2d1bm1hJydfXyB4 MSBpcyBhIG1hc3Mgb2YgdGhlIGluZGl2aWR1YWxzIHgyCgpfXycndmFsc2knJ19fIHgxIGlzIGEg d29yZCwgbWVhbmluZyB4MiBpbiBsYW5ndWFnZSB4MwoKX18nJ2NhJ2UnJ19fIEF0dGl0dWRpbmFs OiBFdmlkZW50aWFsOiBJIGRlZmluZQoKX18nJ2pldG51JydfXyB4MSBpcyB0cnVlIGFjY29yZGlu ZyB0byBtZXRhcGh5c2ljcy9lcGlzdGVtb2xvZ3kgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJU aGVzZSB0d28gdXR0ZXJhbmNlcyBhcmUgYSBtYXNzLCBjb25zaXN0aW5nIG9mIHR3byBpbmRpdmlk dWFsIG1hc3NlcyBlYWNoIG9mIHNldmVuIHdvcmRzLiBJIGRlZmluZTogVGhpcyBvbmUgdXR0ZXJh bmNlIGNhdXNlcyB7aXR9IHRvIGJlIHRydWUuIn5+CgoKCi0gLScnbGFpJyctIC0gTXVjaCBsaWtl ICcnbGEnJywgYW4gaW5uZXIgcXVhbnRpZmllciAod2hlbiBuYW1lIGlzIGEgc2VsYnJpKSBpcyBw YXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBvbmUgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseS4g QmVmb3JlIGEgbnVtYmVyK3N1bXRpLCBib3RoIHRoZSBzdW10aSBhbmQgdGhlIG51bWJlciBtYWtl IHVwIHRoZSBuYW1lLgoKV2hlbiBhIGZyYWN0aW9uIGlzIHVzZWQgYXMgYW4gb3V0ZXIgcXVhbnRp ZmllciB0byBxdWFudGlmeSAnJ2xvaScnLCAnJ2xlaScnIG9yICcnbGFpJycsIG9uZSBzcGVha3Mg YWJvdXQgb25seSBwYXJ0IG9mIHRoZSBtYXNzIChmb3IgaW5zdGFuY2UsICJoYWxmIG9mIHRoZSBK b2huc29ucyIgLSAnJ3BpIG11IGxhaSAuZGphbnN5bi4nJykuCgoKCi0gLScnbG8naScnIGFuZCAn J2xlJ2knJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIGRlc2NyaWJlcyB0aGUgYW1vdW50IG9mIG1l bWJlcnMgb2YgdGhlIHNldC4gQW4gb3V0ZXIgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseSBvdmVy IHNldmVyYWwgb2Ygc3VjaCBzZXRzLiBXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgYW5kIGEg c3VtdGksIGl0J3MgZGVmaW5lZCBhcyAiJydsbyBzZWxjbWkgYmUgJydsbycnLycnbGUnJyB7bnVt YmVyfSB7c3VtdGl9IiAtICJUaGUgc2V0IG9mIHtudW1iZXJ9IHtzdW10aX0iLgoKCgpUcmFuc2xh dGUgJydsbydpIHJvIHNlIGNpbmtpIGN1IGJyYW1hdSBsYSdhIHBhIG5vIG5vIGxvJ2kgcm8gc2Ug Ym9neWthbWp1IGp1dHNpJycKCl9fJydjaW5raScnX18geDEgaXMgYW4gaW5zZWN0IG9mIHNwZWNp ZXMgeDIKCl9fJydsYSdhJydfXyBBdHRpdHVkaW5hbDogRGlzY3Vyc2l2ZTogUHJvYmFibHkKCl9f JydicmFtYXUnJ19fIHgxIGlzIGJpZ2dlciB0aGFuIHgyIGluIGRpbWVuc2lvbiB4MyBieSBtYXJp Z2luIHg0CgpfXycnYm9neWthbWp1JydfXyB4MSBpcyB0aGUgc3BpbmUgb2YgeDIKCl9fJydqdXRz aScnX18geDEgaXMgdGhlIHNwZWNpZXMgb2YgZ2VudXMgeDIsIGZhbWlseSB4MyAuLi4gKG9wZW4g ZW5kZWQgY2xhc3NpZmljYXRpb24pCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIHNldCBvZiBh bGwgdGhlIHNwZWNpZXMgb2YgaW5zZWN0cyBpcyBwcm9iYWJseSBiaWdnZXIgdGhhbiBvbmUgaHVu ZHJlZCBzZXRzIG9mIGFsbCBzcGVjaWVzIG9mIHZlcnRlYnJhdGVzIn5+CgoKCi0gLScnbGEnaScn LSAtIEFzIHdpdGggJydsYWknJwoKTGlrZSB3aXRoIHRoZSBtYXNzIGdhZHJpLCBhbiBvdXRlciBx dWFudGlmaWVyIGJlZm9yZSBhIHNldCBnYWRyaSBlbmFibGVzIG9uZSB0byBzcGVhayBhYm91dCBh IGZyYWN0aW9uIG9mIGEgc2V0LiBJbiBmcm9udCBvZiBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQn cyBkZWZpbmVkIGFzICInJ2xvIHNlbGNtaSBiZSBsYScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRo ZSBzZXQgY29uc2lzdGluZyBvZiBUaGUge051bWJlcn0ge1N1bXRpfSIgKGNvbnNpZGVyZWQgYSBu YW1lKQoKCgotIC0nJ2xvJ2UnJyBhbmQgJydsZSdlJyctIC0gQXJlIGZvciBzb21lIHJlYXNvbiBu b3QgaW5jbHVkZWQgaW4gdGhlIGN1cnJlbnRseSBhY2NlcHRlZCBnYWRyaSBwcm9wb3NhbC4gSWYg b25lIHdlcmUgdG8gZXh0ZW5kIHRoZSBydWxlcyBvZiBhbm90aGVyIGdhZHJpLCAnJ2xvJycvJyds ZScnIHdvdWxkIHByb2JhYmx5IGJlIHRoZSBiZXN0IGNob2ljZSAoc2luY2UgYm90aCBvcGVyYXRl cyB3aXRoIGluZGl2aWR1YWxzIHJhdGhlciB0aGFuIGdyb3VwcyksIGFuZCBzbyBvbmUgd291bGQg ZXhwZWN0IHRoZSBvdXRlciBxdWFudGlmaWVyIHRvIGZvcmNlIGRpc3RyaWJ1dGl2aXR5IG92ZXIg dGhlIGFtb3VudCBvZiB0eXBpY2FsL3N0ZXJlb3R5cGljYWwgdGhpbmdzIGdpdmVuIGJ5IHRoZSBp bm5lciBxdWFudGlmaWVyLgoKCgpXaGVuIHF1YW50aWZ5aW5nIHN1bWthJ2kgcmVwcmVzZW50aW5n IHNldmVyYWwgb2JqZWN0cywgaXQgaXMgdXNlZnVsIHRvIHJlbWVtYmVyIHRoYXQgdGhleSBhcmUg dXN1YWxseSBtYXNzZXMuIEJ5IGRlZmluaXRpb24sICJ7bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZp bmVkIGFzICJ7bnVtYmVyfSAnJ2RhIHBvaSBrZSdhIG1lJycge3N1bXRpfSIuIFlvdSB3aWxsIG5v dCBiZSBmYW1pbGlhciB3aXRoICcnZGEnJyB1bnRpbCBhIGZldyBsZXNzb25zIGxhdGVyLCBzbyB0 YWtlIGl0IG9uIGZhaXRoIHRoYXQgaXQgbWVhbnMgInNvbWV0aGluZyIgaW4gdGhpcyBjb250ZXh0 LiBUaGVyZWZvcmUsICcnY2kgbWknJyBtZWFucyAiVHdvIG9mIHRob3NlIHdobyBiZWxvbmcgdG8g InVzIiIuIFdoZW4gcXVhbnRpZnlpbmcgc3VjaCBtYXNzZXMsIGl0IGNhbiBzYWZlbHkgYmUgYXNz dW1lZCB0aGF0IHRoZSByZWxhdGlvbiBpbXBsaWVkIGJ5ICcnbWUnJyBpcyBtZW1iZXJzaGlwIG9m IHRoZSBtYXNzLCBhbmQgdGhlcmVmb3JlICcnY2kgbWknJyBpcyAiVGhyZWUgb2YgdXMiLgoKCgpT b21lIGltcG9ydGFudCB1c2VzIG9mIHF1YW50aWZpY2F0aW9uIHJlcXVpcmVzIHlvdSB0byBiZSBx dWFudGlmeSBzZWxicmkgb3Igb2JqZWN0cyB3aG9zZSBpZGVudGl0eSBpcyB1bmtub3duLiBUaGlz IGlzIGRvbmUgYnkgImxvZ2ljYWxseSBxdWFudGlmaWVkIHZhcmlhYmxlcyIuIFRoZXNlLCBhcyB3 ZWxsIGFzIGhvdyB0byBxdWFudGlmeSB0aGVtIHdpbGwgYmUgY292ZXJlZCBpbiBsZXNzb25zIHR3 ZW50eS1zZXZlbi4KCgoKTGFzdGx5LCBob3cgY2FuIHlvdSBxdWFudGlmeSB1bmNvdW50YWJsZSBz dWJzdGFuY2VzIGxpa2Ugc3VnYXIgb3Igd2F0ZXI/IE9uZSBzb2x1dGlvbiBpcyB0byBxdWFudGlm eSBpdCB1c2luZyBpbmV4YWN0IG51bWJlcnMuIFRoaXMgdXNlIGlzIHZhZ3VlLCBub3Qgb25seSBi ZWNhdXNlIHRoZSB2YWx1ZSBvZiB0aGUgbnVtYmVyIGlzIHZhZ3VlLCBidXQgYWxzbyBiZWNhdXNl IGl0J3Mgbm90IHNwZWNpZmllZCBvbiB3aGF0IHNjYWxlIHlvdSdyZSBjb3VudGluZzogVGhlIHN1 Z2FyIGNvdWxkIGJlIGNvbnNpZGVyZWQgYSBncm91cCBvZiBtYW55IGNyeXN0YWxzLCBjb3VudGVk IG9uZSBhdCBhIHRpbWUsIGFuZCB0aGUgd2F0ZXIgY291bGQgYmUgcXVhbnRpZmllZCBieSB0aGUg YW1vdW50cyBvZiByYWluZHJvcHMgaXQgdG9vayB0byBtYWtlIHRoZSBib2R5IG9mIHdhdGVyIGlu IHF1ZXN0aW9uLiBXaGlsZSB0aGlzIHdheSBvZiBjb3VudGluZyBpcyBsZWdpdGltYXRlLCBpdCdz IG5vdCB2ZXJ5IGV4YWN0IGFuZCBjYW4gZWFzaWx5IGNvbmZ1c2Ugb3IgbWlzbGVhZC4KCkEgd2F5 IHRvIGJlIGV4cGxpY2l0IGFib3V0IG5vbi1jb3VudGFiaWxpdHkgaXMgdG8gdXNlIHRoZSBudWxs IG9wZXJhbmQgJyd0dSdvJycgYXMgYW4gaW5uZXIgcXVhbnRpZmllci4KCl9fJyd0dSdvJydfXyBO dWxsIG9wZXJhbmQgKCDDmCApLiBVc2VkIGluIHVuYXJ5IG1la3NvLgoKVGhpcyBzb2x1dGlvbiBp cyBlbGVnYW50IGFuZCBpbnR1aXRpdmUsIGFuZCBhbHNvIGdpdmVzIG1lIGFuIGV4Y3VzZSB0byBx dW90ZSB0aGlzIGhvcnJpZnlpbmcsIHlldCBjb21pY2FsIGV4YW1wbGUgZnJvbSB0aGUgb3JpZ2lu YWwgJyd4b3JsbycnLXByb3Bvc2FsOgoKJydsZSBuYW5tdSBjdSBzZSBzbnV0aSAuaSBqYSdlIGJv IGxvIHR1J28gZ2Vya3UgY3Uga3VzcGUgbGUga2xhamknJwoKX18nJ3NudXRpJydfXyB4MSBpcyBh biBhY2NpZGVudCBvbiB0aGUgcGFydCBvZiB4MgoKX18nJ2phJ2UnJ19fIHN1bXRjaXRhOiBCQUk6 IChmcm9tICcnamFsZ2UnJyk6IEJyaWRpIHJlc3VsdHMgaW4ge3N1bXRpfSAKCl9fJydrdXNwZScn X18geDEgc3BhbnMvZXh0ZW5kcyBvdmVyIHgyCgpfXycna2xhamknJ19fIHgxIGlzIGEgcm9hZC9h dmVudWUvc3RyZWV0IGF0IHgyIGFjY2Vzc2luZyB4MwoKCgpXaGF0IGRvZXMgaXQgbWVhbj8KCkFu c3dlcjogfn5ncmV5LGdyZXk6ICJUaGUgbWFuIGhhZCBhbiBhY2NpZGVudCBhbmQgc28gdGhlcmUg d2FzIGRvZyBhbGwgb3ZlciB0aGUgcm9hZCJ+fgoKCgpBIHNlY29uZCBtZXRob2Qgb2YgcXVhbnRp Znlpbmcgc3Vic3RhbmNlcyBpcyB0byB1c2UgdGhlIHRlbnNlcyAnJ3ZlJ2knJywgJyd2ZSdhJycg YW5kICcndmUndScnIGFzIG1lbnRpb25lZCBpbiBsZXNzb24gdGVuOgoKJyd0aSB2ZSdpIGRqYWN1 JycgLSBUaGlzIGlzIGEgc21hbGwgYW1vdW50IG9mIHdhdGVyCgpfXycnZGphY3UnJ19fIHgxIGlz IGFuIGV4cGFuc2Ugb2Ygd2F0ZXIvaXMgbWFkZSBvZiB3YXRlci9jb250YWlucyB3YXRlcgoKCgpU aGlyZGx5LCBvZiBjb3Vyc2UsIHlvdSBjb3VsZCB1c2UgYSBicml2bGEgdG8gZ2l2ZSBhbiBleGFj dCBtZWFzdXJlbWVudDoKCicnbGUgdGEgZGphY3UgY3Uga2knb2dyYSBiZSBsaSByZSBwaSBraSdv IGtpJ28nJyAtICJUaGF0IHdhdGVyIGhhcyBhIG1hc3Mgb2YgMi4wMDAgMDAwIGtpbG9ncmFtcyIK Cl9fJydraSdvZ3JhJydfXyB4MSBtZWFzdXJlcyBpbiBtYXNzIHgyIGtpbG9ncmFtcyBieSBzdGFu ZGFyZCB4MwoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS10aHJlZSAobmVnYXRp b24pCgpTb21ldGltZXMsIGp1c3Qgc2F5aW5nIHdoYXQncyB0aGUgdHJ1dGggaXMgbm90IGVub3Vn aC4gT2Z0ZW4sIHdlIHdhbnQgdG8gc3BlY2lmeSB3aGF0J3Mgbm90IHRoZSB0cnV0aCwgYW5kIHdl IGRvIHRoaXMgYnkgdXNpbmcgbmVnYXRpb24uCgpOZWdhdGlvbiBpbiBFbmdsaXNoIG1vc3RseSBp bnZvbHZlcyDigJxub3TigJ0sIGFuZCBpcyBjb21wbGV0ZWx5IGFyYml0cmFyeSBhbmQgYW1iaWd1 b3VzLiBXZSwgYXMgTG9qYmFuaXN0cywgY2FuJ3QgaGF2ZSB0aGF0LCBvZiBjb3Vyc2UsIHNvIExv amJhbiBjb250YWlucyBhbiBlbGVnYW50IGFuZCB1bmFtYmlnaW91cyBzeXN0ZW0gZm9yIG5lZ2F0 aW5nLiBXaGF0IHdpbGwgYmUgcHJlc2VudGVkIGhlcmUgYXJlIHRoZSBvZmZpY2lhbCBnb2xkLXN0 YW5kYXJkIHJ1bGVzLiBEaXNhcHByb3ZhbCBvZiB0aGVzZSAiZ29sZGVuIHJ1bGVzIiBjb25jZXJu aW5nICcnbmEnJyBpcyBncm93aW5nLCBhbmQgdGhlcmUgaXMgZGlzYWdyZWVtZW50IGFib3V0IHdo YXQgcnVsZSBzZXQgc2hvdWxkIHJlcGxhY2UgaXQuIEZvciBub3csIEkgd2lsbCBzdGljayB3aXRo IHRoZSBvZmZpY2lhbCBydWxlcywgYW5kIHRoZXJlZm9yZSwgc28gd2lsbCB5b3UsIGRlYXIgcmVh ZGVyLgoKVGhlIGZpcnN0IHlvdSBuZWVkIHRvIGtub3cgYWJvdXQgaXMgYnJpZGkgbmVnYXRpb24s IHNvIGNhbGxlZCBiZWNhdXNlIGl0IG5lZ2F0ZXMgdGhlIGJyaWRpIGl0J3MgaW4sIHNheWluZyBp dCdzIG5vdCB0cnVlLiBUaGUgd2F5IHRvIG5lZ2F0ZSBhIGJyaWRpIGlzIHRvIHBsYWNlICcnbmEn JyBmaXJzdCBpbiB0aGUgc2VudGVuY2Ugd2l0aCBhICcna3UnJyBhZnRlciBpdCwgb3IganVzdCBi ZWZvcmUgdGhlIHNlbGJyaS4gCgpfXycnc3BlbmknJ19fIHgxIGlzIG1hcnJpZWQgdG8geDIgdW5k ZXIgY29udmVudGlvbiB4MwoKVGh1czogJyduYSBrdSBsZSBtaSBzcGVuaSBjdSBuaW5tdScnIHN0 YXRlcyB0aGF0IOKAnE15IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnS4gSXQgc3RhdGVzIG5vdGhp bmcgYWJvdXQgd2hhdCBteSB3aWZlIGlzLCBvciBpZiBJIGV2ZW4gaGF2ZSBhIHdpZmUuIEl0IG9u bHkgc3RhdGVzIHRoYXQgSSBkbyBub3QgaGF2ZSBhIHdpZmUgd2hvIGlzIGFsc28gYSB3b21hbi4g VGhpcyBoYXMgYW4gaW1wb3J0YW50IGltcGxpY2F0aW9uOiBJZiB0aGUgbmVnYXRpb24gb2YgYSBi cmlkaSBpcyBmYWxzZSwgdGhlIGJyaWRpIG11c3QgYmUgdHJ1ZTogJyduYSBrdSBsZSBtaSBzcGVu aSBjdSBuYSBuaW5tdScnIG11c3QgbWVhbiB0aGF0IEkgaGF2ZSBib3RoIGEgc3BvdXNlLCBhbmQg dGhhdCBzaGUgaXMgYSBzaGUuCgpJdCBpcyBwb3NzaWJsZSB0byB1c2UgYnJpZGkgbmVnYXRpb25z IGluIGFsbCBicmlkaSwgZXZlbiB0aGUgaW1wbGljaXQgYnJpZGkgb2YgZGVzY3JpcHRpdmUgc3Vt dGkuICcnbG8gbmEgcHJlbnUnJyBjYW4gcmVmZXIgdG8gYW55dGhpbmcgbm9uLWh1bWFuLCB3aGV0 aGVyIGl0IGJlIGEgc3BoaW54LCBhIGJhc2ViYWxsIG9yIHRoZSBwcm9wZXJ0eSBvZiBhcHByb3By aWF0ZW5lc3MuCgoKCl9fJydiYXUnJ19fIHN1bXRjaXRhLCBmcm9tIGJhbmd1OiB1c2luZyB0aGUg bGFuZ3VhZ2Ugb2Yge3N1bXRpfQoKX18nJ3NlIGphJ2UnJ19fIHN1bXRjaXRhLCBmcm9tIHNlIGph bGdlOiBiZWNhdXNlIG9mIHtzdW10aX0KCgoKT2Z0ZW4gd2hlbiB1c2luZyAnJ25hJycsIGl0J3Mg YSBwcm9ibGVtIHRoYXQgaXQgbmVnYXRlcyB0aGUgZW50aXJlIGJyaWRpLiBJZiBJIHNheSAnJ21p IG5hIHN1dHJhIHRhdmxhIGJhdSBsZSBnbGliYXUgc2UgamEnZSBsZSBudSBtaSBkb3RjbycnLCBJ IGVuZCB1cCBuZWdhdGluZyB0b28gbXVjaCwgYW5kIGl0IGlzIG5vdCBjbGVhciB0aGF0IEkgd2Fu dGVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LiBUaGUgc2VudGVuY2UgY291bGQg c3VnZ2VzdCB0aGF0IEkgaW4gZmFjdCBzcGVhayBmYXN0IGJlY2F1c2Ugb2Ygc29tZSBvdGhlciBy ZWFzb24sIGZvciBpbnN0YW5jZSB0aGF0IEkgc3BlYWsgZmFzdCBpbiBGcmVuY2ggYmVjYXVzZSBJ J20gR2VybWFuLiBUbyBleHByZXNzIHRoZSBzZW50ZW5jZSBtb3JlIHByZWNpc2VseSwgSSBuZWVk IHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LCBhbmQgbm90IHRoZSBvdGhlciB0aGlu Z3MuCgpUbyBvbmx5IG5lZ2F0ZSBwYXJ0IG9mIGEgYnJpZGksICcnbmEga3UnJyBjYW4gYmUgbW92 ZWQgYXJvdW5kIHRoZSBicmlkaSBhbmQgcGxhY2VkIGFueXdoZXJlIGEgc3VtdGkgY2FuIGdvLiBJ dCB0aGVuIG5lZ2F0ZXMgYW55IHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhIHBsYWNlZCBhZnRl ciBpdC4gV2hlbiBwbGFjZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBzZWxicmksIHRoZSAnJ2t1 JycgY2FuIGJlIGVsaWRlZC4KCk1vdmluZyAnJ25hIGt1JycgZnJvbSB0aGUgbGVmdCBlbmQgb2Yg dGhlIGJyaWRpIGFuZCByaWdodHdhcmRzIGVmZmVjdHMgYW55IHF1YW50aWZpZXJzIGluIGEgY2Vy dGFpbiB3YXksIGFzIGNhbiBiZSBzZWVuIGJ5IHRoaXMgZXhhbXBsZToKCgoKVGhlcmUgYXJlIGZv cmNlcyB3aXRoaW4gdGhlIExvamJhbiBjb21tdW5pdHkgd2hvLCBwZXJoYXBzIHJpZ2h0bHksIHRo aW5rIHRoYXQgdGhlcmUgaXMgbm8gZ29vZCByZWFzb24gdGhhdCBhICcnbmEnJyBwbGFjZWQgYmVm b3JlIGEgc2VsYnJpIG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaSwgd2hlcmVhcyBhICcnbmEga3Un JyBhbnkgb3RoZXIgcGxhY2UgbmVnYXRlcyBvbmx5IHdoYXQgaXMgdHJhaWxpbmcgYmVoaW5kIGl0 LiBIb3dldmVyLCBpbiB0aGVzZSBsZXNzb25zIHlvdSB3aWxsIGJlIHRhdWdodCB3aGF0IGlzIHN0 aWxsIHRoZSBvZmZpY2lhbCBzdGFuY2UsIG5hbWVseSB0aGF0ICcnbmEnJyBiZWZvcmUgdGhlIHNl bGJyaSBuZWdhdGVzIHRoZSBicmlkaS4KCgoKVGhlIHVzZSBvZiAnJ25hIGt1JycgaXMgZXhlbXBs aWZpZWQgd2l0aCB0aGUgZm9sbG93aW5nIGV4YW1wbGVzLgoKJyduYSBrdSBybyByZW1uYSBjdSB2 ZXJiYScnIOKAnEl0J3Mgbm90IHRydWUgdGhhdDogQWxsIGh1bWFucyBhcmUgY2hpbGRyZW7igJ0K Cicnc3UnbyByZW1uYSBuYSBrdSBjdSB2ZXJiYScnIOKAnEZvciBhdCBsZWFzdCBvbmUgaHVtYW4g aXQncyBub3QgdHJ1ZSB0aGF0OiBJdCdzIGEgY2hpbGTigJ0uIFNlZSB0aGF0IHRoZSAnJ25hIGt1 JycgaXMgcGxhY2VkIGJlZm9yZSAnJ2N1JycsIHNpbmNlIGEgc3VtdGkgY2FuIGdvIG9ubHkgYmVm b3JlLCBub3QgYWZ0ZXIgdGhlICcnY3UnJy4gSGFkIEkgb25seSB1c2VkICcnbmEnJywgaXQgd291 bGQgaGF2ZSB0byBnbyBhZnRlciAnJ2N1JycgLSBidXQgdGhhdCB3b3VsZCBoYXZlIG5lZ2F0ZWQg dGhlIGVudGlyZSBicmlkaSwgbWVhbmluZyAiSXQncyBub3QgdHJ1ZSB0aGF0OiBBdCBsZWFzdCBv bmUgaHVtYW4gaXMgYSBjaGlsZCIuCgoKCldoZW4gdGhlICcnbmEga3UnJyBpcyBtb3ZlZCByaWdo dHdhcmRzLCBhbnkgcXVhbnRpZmllciBpcyBpbnZlcnRlZCAtIHRoYXQgaXM6ICcncm8nJyBpcyB0 dXJuZWQgaW50byAnJ3N1J28nJy4gVGhpcyBpcywgb2YgY291cnNlLCBvbmx5IGlmIHRoZSBtZWFu aW5nIG9mIHRoZSBicmlkaSBoYXMgdG8gYmUgcHJlc2VydmVkLiBUaGlzIG1lYW5zIHRoYXQgd2hl biB0aGUgJyduYSBrdScnIGlzIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaSwgb25seSB0 aGUgc2VsYnJpIGlzIG5lZ2F0ZWQgYnV0IGFsbCB0aGUgc3VtdGkgYW5kIHN1bXRjaXRhIGFyZSBw cmVzZXJ2ZWQsIGFzIGNhbiBiZSBzZWVuIGJ5IHRoZXNlIHRocmVlIGlkZW50aWNhbCBicmlkaToK Cl9fJydja3VsZScnX18geDEgaXMgYSBzY2hvb2wgYXQgbG9jYXRpb24geDIgdGVhY2hpbmcgeDMg dG8gc3R1ZGVudHMgeDQgYW5kIG9wZXJhdGVkIGJ5IHg1CgoKCicnbmEga3Ugcm8gdmVyYmEgY3Ug dmUgY2t1bGUgZm8gc3UnbyBja3VsZScnIOKAkyDigJxJdCdzIG5vdCB0cnVlIHRoYXQgYWxsIGNo aWxkcmVuIGFyZSBzdHVkZW50cyBpbiBhIHNjaG9vbC7igJ0KCicnc3UnbyB2ZXJiYSBjdSB2ZSBj a3VsZSBuYSBrdSBmbyBzdSdvIGNrdWxlJycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIHN0dWRl bnRzIGluIG5vdCBhIHNpbmdsZSBzY2hvb2wu4oCdCgonJ3N1J28gdmVyYmEgY3UgdmUgY2t1bGUg Zm8gcm8gY2t1bGUgbmEga3UnJyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUgZm9yIGFsbCBzY2hv b2xzIG5vdCBzdHVkZW50cyBpbiB0aGVtLuKAnQoKCgpUaGUgb3Bwb3NpdGUgb2YgJyduYScnIGlz ICcnamEnYScnLiBUaGlzIGlzIGJhcmVseSBldmVyIHVzZWQsIHNpbmNlIGl0IGlzIGRlZmF1bHQg aW4gbW9zdCBicmlkaS4gT25lIGV4Y2VwdGlvbiBpcyByZXBlYXRlZCBicmlkaSAobmV4dCBsZXNz b24pLiBTb21ldGltZXMgaXQncyB1c2VkIHRvIHB1dCBtb3JlIHdlaWdodCBvbiB0aGUgdHJ1dGgg b2YgdGhlIGJyaWRpLCBhcyBpbiAnJ2xhIC5iYWIuIGphJ2EgbWVsYmknJyA9ICJCb2IgaXMgaW5k ZWVkIGJlYXV0aWZ1bCIuCgoKCldoaWxlIHRoZSBtZWNoYW5pc20gb2YgJyduYSBrdScnIHJlc2Vt YmxlcyBuYXR1cmFsIGxhbmd1YWdlIG5lZ2F0aW9uLCBpdCBjYW4gYmUgZGlmZmljdWx0IHRvIGtl ZXAgdHJhY2sgb2YgZXhhY3RseSB3aGF0IGlzIG5lZ2F0ZWQgYW5kIGhvdyB0aGF0IGFmZmVjdHMg dGhlIGJyaWRpLiBGb3IgdGhhdCByZWFzb24sIHRoZSBjb25zdHJ1Y3QgJyduYSBrdScnIGlzIHJh cmVseSBzZWVuIGFueXdoZXJlIG90aGVyIHRoYW4gdGhlIGJlZ2lubmluZyBvZiBhIGJyaWRpLiBJ biBtb3N0IGNhc2VzIHdoZXJlIG1vcmUgc3BlY2lmaWMgbmVnYXRpb24gaXMgbmVlZGVkIHBlb3Bs ZSByZXNvcnQgdG8gYSBkaWZmZXJlbnQgbWV0aG9kLiBUaGlzIG1ldGhvZCwgY2FsbGVkIHNjYWxh ciBuZWdhdGlvbiwgaXMgYW4gZWxlZ2FudCBhbmQgaW50dWl0aXZlIHRvb2wuIFVzaW5nIGl0LCB5 b3UgZWZmZWN0IG9ubHkgdGhlIHNlbGJyaSwgc2luY2UgdGhlIHdvcmRzIHVzZWQgaW4gc2NhbGFy IG5lZ2F0aW9uIGJpbmRzIHRvIHRoZSBzZWxicmkgbXVjaCBsaWtlIHRoZSB3b3JkICcnc2UnJy4K ClRoZSBuYW1lIOKAnHNjYWxhciBuZWdhdGlvbuKAnSBpcyBkZXJpdmVkIGZyb20gdGhlIGZhY3Qg dGhhdCB0aGUgd29yZHMgd2hpY2ggYmluZCB0byB0aGUgc2VsYnJpIGNhbiBiZSBwbGFjZWQgYWxv bmcgYSBzY2FsZSBmcm9tIGFmZmlybWF0aW9uIG92ZXIgbmVnYXRpb24gYW5kIHRvIHN0YXRpbmcg dGhhdCB0aGUgb3Bwb3NpdGUgY2FzZSBpcyB0cnVlOgoKfHxXb3JkfE1lYW5pbmcKCmplJ2F84oCc SW5kZWVk4oCdOyBzY2FsYXIgYWZmaXJtZXIKCm5vJ2V84oCcTm90IHJlYWxseeKAnSwgc2NhbGFy IG1pZHBvaW50CgpuYSdlfOKAnE5vbi3igJwsIHNjYWxhciBuZWdhdG9yCgp0bydlfOKAnEls4oCd LCDigJxEaXMt4oCcLCDigJxNaXPigJ0gZWN0OyBzY2FsYXIgb3Bwb3Nlcnx8CgoKClRoZXNlIHdv cmRzIGFyZSBub3QgbmVnYXRvcnMgaW4gdGhlIHNhbWUgc2Vuc2UgYXMgJyduYScnLiBUaGV5IGRv IG5vdCBzdGF0ZSB0aGF0IGEgYnJpZGkgaXMgZmFsc2UsIGJ1dCBtYWtlcyBhIHBvc2l0aXZlIHN0 YXRlbWVudCB0aGF0IGEgYnJpZGkgaXMgdHJ1ZSDigJMgdGhlIHNhbWUgYnJpZGksIGJ1dCB3aXRo IGEgZGlmZmVyZW50IHNlbGJyaS4gVGhpcyBkaXN0aW5jdGlvbiBpcyBtb3N0bHkgYWNhZGVtaWMs IHRob3VnaC4gSWYsIGZvciBleGFtcGxlLCBJIHN0YXRlIHRoYXQgJydtaSBuYSdlIHNlIG5lbGNp JycgIkkgYW0gbm9uLWxpa2VkIiwgSSBhY3R1YWxseSBzdGF0ZSB0aGF0IHNvbWUgc2VsYnJpIGFw cGxpZXMgdG8gbWUsIHdoaWNoIGlzIGFsc28gb24gYSByZWxldmFudCBzY2FsZSB3aXRoIHRoZSBz ZWxicmkgJyduZWxjaScnLiBNb3N0IG9mIHRoZSB0aW1lLCB3ZSBhc3N1bWUgYSBzY2FsZSB3aGVy ZSB0aGUgcG9zaXRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgKGxpa2UgbG92ZS1saWtlLWRp c2xpa2UtaGF0ZSksIHNvICcnbWkgbmEnZSBzZSBuZWxjaScnIGltcGxpZXMgJydtaSBuYSBzZSBu ZWxjaScnCgpUaGVyZWZvcmUsIHRoZSB3b3JkcyAnJ25vJ2UnJyBhbmQgJyd0bydlJycgc2hvdWxk IG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBzZWxicmkgaXMgcGxhY2VkIG9uIHNvbWUgb2J2aW91cyBz Y2FsZToKCicnbGUgbWkgc3BlbmkgY3UgdG8nZSBtZWxiaScnIOKAkyDigJ1NeSBzcG91c2UgaXMg dWdseeKAnSBtYWtlcyBzZW5zZSwgc2luY2Ugd2UgaW1tZWRpYXRlbHkga25vdyB3aGF0IHRoZSBv cHBvc2l0ZSBvZiBiZWF1dGlmdWwgaXMsIHdoaWxlCgonJ21pIGtsYW1hIGxlIG1pIHRvJ2UgemRh bmknJyDigJMg4oCdSSBnbyB0byBteSBvcHBvc2l0ZSB0aGluZyBvZiBob21l4oCdLCB3aGlsZSBn cmFtbWF0aWNhbCwgbGVhdmVzIHRoZSBsaXN0ZW5lciBndWVzc2luZyB3aGF0IHRoZSBzcGVha2Vy J3Mg4oCcb3Bwb3NpdGUtaG9tZeKAnSBpcyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQuCgoKClNvIGhv dyBjYW4geW91IG5lZ2F0ZSBvbmx5IHRoZSBzZWxicmkgd2l0aG91dCBhbHNvIGltcGx5aW5nIHRo YXQgdGhlIHNlbGJyaSBpcyBjb3JyZWN0IGF0IHNvbWUgb3RoZXIgcG9zaXRpb24gb24gYSB0cnV0 aC1zY2FsZT8gU2ltcGxlOiBNb3ZpbmcgdGhlICcnbmEga3UnJyB0byB0aGUgcmlnaHRtb3N0IGVu ZCBvZiB0aGUgYnJpZGksIGFzIGRlbW9uc3RyYXRlZCBhIGZldyBsaW5lcyBhYm92ZS4gVGhpcyBm ZWF0dXJlIGlzIHZlcnkgdXNlZnVsLiBTb21lIGxvamJhbmlzdHMgcHJlZmVyIHRvIHByZWZpeCB0 aGUgcmFmc2kgJyduYXInJyAodGhlIHJhZnNpIG9mICcnbmEnJykgaW4gZnJvbnQgb2YgdGhlIHNl bGJyaSAtIHRoaXMgaGFzIHRoZSBzYW1lIGVmZmVjdCwgYnV0IEkgYWR2aXNlIGFnYWluc3QgaXQs IGJlY2F1c2UgaXQgbWFrZXMgZmFtaWxpYXIgYnJpdmxhIHNlZW0gYWxpZW4sIGFuZCBpdCdzIGhh cmRlciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuIGNhc3VhbGx5LgoKSWYgYSBzaXR1YXRpb24g YXJpc2VzIHdoZXJlIHlvdSBuZWVkIHRvIG5lZ2F0ZSBvbmx5IHRoZSBzZWxicmksIGJ1dCB3YW50 IGl0IHRvIGJlIGNsZWFyIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBicmlkaSwgdGhlIGV4cGVyaW1l bnRhbCBjbWF2byAnJ25hJ2VpJycsIHdoaWNoIGdyYW1tYXRpY2FsbHkgd29ya3MgbGlrZSAnJ25h J2UnJywgY2FuIGJlIHVzZWQKCl9fJyduYSdlaScnX186IE5lZ2F0ZXMgdGhlIGZvbGxvd2luZyBz ZWxicmkgb25seQoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZXNlIHNlbnRlbmNlczoKCuKAnE15IHNw b3VzZSBpcyBub3QgYSB3b21hbuKAnSAobWVhbmluZyB0aGF0IGhlIGlzIGEgbWFsZSkKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5hJ2UgLyB0bydlIG5pbm11JycuIFVz aW5nIHNjYWxhciBuZWdhdGlvbiBoZXJlIGltcGxpZXMgdGhhdCBoZSBleGlzdHMsIHdoaWNoIG5h IGRpZCBub3Qufn4KCgoK4oCcTXkgc3BvdXNlIGlzIG5vdCByZWFsbHkgYSB3b21hbuKAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3Ugbm8nZSBuaW5tdScnLiBUaGUgc2Nh bGUgaGVyZSBpcyBwcmVzdW1lZCB0byBiZSBmcm9tIHdvbWFuIHRvIG1hbi5+fgoKCgrigJxJIGRv bid0IHNwZWFrIGZhc3QgaW4gRW5nbGlzaCBiZWNhdXNlIEknbSBHZXJtYW7igJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ21pIG5hJ2Ugc3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBzZSBqYSdl IGxlIG51IG1pIGRvdGNvJyd+fgoKCgpBbHNvLCBub3RlIHRoYXQgd2hlbmV2ZXIgdGhlc2Ugd29y ZHMgYXJlIHVzZWQgdG9nZXRoZXIgd2l0aCBhIHRhbnJ1LCB0aGV5IG9ubHkgYWZmZWN0IHRoZSBs ZWZ0bW9zdCBzZWxicmkuIEluIG9yZGVyIHRvIG1ha2UgaXQgYmluZCB0byB0aGUgd2hvbGUgdGFu cnUgb3IgcGFydHMgb2YgdGhlIHRhbnJ1LCB0aGUgdXN1YWwgdGFucnUtZ3JvdXBpbmcgd29yZHMg Y2FuIGJlIHVzZWQuCgoKClRyeSB0byBzYXkg4oCcSSBzZWxsIHNvbWV0aGluZyB3aGljaCBpcyBu b3QgeWVsbG93IGhvbWVz4oCdIHVzaW5nIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pIHZlY251JycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5hJ2Uga2UgcGVseHUgemRhbmkga2UnZSB2ZWNu dSBvciBtaSBuYSdlIHBlbHh1IGJvIHpkYW5pIHZlY251Jyd+fgoKCgpXaGVuIGF0dGVtcHRpbmcg dG8gYW5zd2VyOiDigJxJcyB0aGUga2luZyBvZiB0aGUgVVNBIGZhdD/igJ0sIGFsbCBvZiB0aGVz ZSBuZWdhdGlvbnMgZmFpbC4gV2hpbGUgaXQncyB0ZWNobmljYWxseSBjb3JyZWN0IHRvIG5lZ2F0 ZSBpdCB3aXRoICcnbmEnJywgc2luY2UgaXQgbWFrZXMgbm8gYXNzdW1wdGlvbnMgb2YgdGhhdCBp cyB0cnVlLCBpdCdzIG1pbGRseSBtaXNsZWFkaW5nIHNpbmNlIGl0IGNvdWxkIGxlYWQgdGhlIGxp c3RlbmVyIHRvIGJlbGlldmUgdGhlcmUgaXMgYSBraW5nIG9mIHRoZSBVU0EuIEZvciB0aGVzZSBz Y2VuYXJpb3MsIHRoZXJlIGlzIGEgbWV0YWxpbmd1aXN0aWMgbmVnYXRvciwgJyduYSdpJycuCgon J25hJ2knJyBNZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLiBTb21ldGhpbmcgaXMgd3Jvbmcgd2l0aCBh c3NpZ25pbmcgYSB0cnV0aCB2YWx1ZSB0byB0aGUgYnJpZGkuCgpCZWNhdXNlICcnbmEnaScnIGNh biBiZSBuZWVkZWQgYW55d2hlcmUgaXQgaGFzIGJlZW4gZ2l2ZW4gdGhlIGdyYW1tYXIgb2YgdGhl IGF0dGl0dWRpbmFscywgd2hpY2ggbWVhbnMgaXQgY2FuIGFwcGVhciBhbnl3aGVyZSwgYW5kIGl0 IGF0dGFjaGVzIHRvIHRoZSBwcmV2aW91cyB3b3JkIG9yIGNvbnN0cnVjdC4KCgoKX18nJ3BhbGNp JydfXyB4MSBpcyBldmlsIGJ5IHN0YW5kYXJkIHgyCgonJ2xlIG5hJ2kgcHUgdGUgenVrdGUgYmUg bGUgc2thbWkgY3UgcGFsY2knJyDigJMg4oCdVGhlIHNvdWdodCBnb2FsIHttaXN0YWtlIX0gb2Yg dGhlIGNvbXB1dGVyIHdhcyBldmls4oCdLCBwcm9iYWJseSBwcm90ZXN0cyB0aGF0IGNvbXB1dGVy cyBjYW4gc2VlayBhIGdvYWwgdm9saXRpb25hbGx5LgoKCgpTaW5jZSB0aGlzIGlzIGEgbGVzc29u IG9uIG5lZ2F0aW9uLCBJIGJlbGlldmUgdGhlIHdvcmQgJyduYWknJyBkZXNlcnZlcyBhIHNob3J0 IG1lbnRpb24uIEl0IGlzIHVzZWQgdG8gbmVnYXRlIG1pbm9yIGdyYW1tYXRpY2FsIGNvbnN0cnVj dHMsIGFuZCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGF0dGl0dWRpbmFscywgYWxs IHN1bXRjaXRhIGluY2x1ZGluZyB0ZW5zZXMsIHZvY2F0aXZlcyBhbmQgbG9naWNhbCBjb25uZWN0 aXZlcy4gVGhlIHJ1bGVzIGZvciBuZWdhdGluZyB1c2luZyAnJ25haScnIGRlcGVuZCBvbiB0aGUg Y29uc3RydWN0LCBhbmQgc28gdGhlIGVmZmVjdCBvZiAnJ25haScnIGhhcyBiZWVuIGRpc2N1c3Nl ZCB3aGVuIG1lbnRpb25pbmcgdGhlIGNvbnN0cnVjdCB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9u IGlzIHN1bXRjaXRhLCB3aGVyZSB0aGUgcnVsZXMgZm9yIG5lZ2F0aW9uIGFyZSBtb3JlIGNvbXBs ZXgsIGFuZCB3aWxsIG5vdCBiZSBkaXNjdXNzZWQgaGVyZS4KCl9fTm90ZTpfXyBBdCB0aGUgdGlt ZSBvZiB3cml0aW5nLCBpdCBoYXMgYmVlbiBwcm9wb3NlZCB0byBtb3ZlICcnbmFpJycgdG8gdGhl IHNlbG1hJ28gQ0FJLCB3aGljaCBtZWFucyB0aGUgc2VtYW50aWNzIG9mICcnbmFpJycgZGVwZW5k IG9uIHdoaWNoIHNlbG1hJ28gaXQgZm9sbG93cy4gCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExl c3NvbiB0d2VudHktZm91ciAoYnJpa2EnaS9wcm8tYnJpZGkgYW5kIGtvJ2EpCgpJZiBJIHNheSB0 aGF0IEknbSBjYWxsZWQgTWlraGFpbCwgJydsYSAubWlrYWlsLiBjbWVuZSBtaScnLCBhbmQgeW91 IGhhdmUgdG8gc2F5IHRoZSBleGFjdCBzYW1lIGJyaWRpLCB3aGF0IHdvdWxkIHRoYXQgYmU/IE9u ZSBvZiB0aGUgbWFueSBhbnN3ZXJzIGlzICcnZG8gc2UgY21lbmUgbGEgLm1pa2FpbC4nJy4gRm9y IHRoZSBicmlkaSB0byBiZSB0aGUgc2FtZSwgeW91IGhhdmUgdG8gcmVwbGFjZSAnJ21pJycgd2l0 aCAnJ2RvJycsIGFuZCBpdCBkb2Vzbid0IG1hdHRlciB3aGljaCBpZiB5b3Ugc2F5IHRoZSBicmlk aSB3aXRoIHRoZSAnJ3NlJyctY29udmVydGVkIHNlbGJyaSBvciBub3QuIFRoaXMgaXMgYmVjYXVz ZSBhIGJyaWRpIGlzIG5vdCB0aGUgd29yZHMgd2hpY2ggZXhwcmVzcyBpdCDigJMgYSBicmlkaSBp cyBhbiBpZGVhLCBhbiBhYnN0cmFjdCBwcm9wb3NpdGlvbi4gVGhlIHdvcmQgJydtaScnIHdoZW4g SSBzYXkgaXQgYW5kIHRoZSB3b3JkICcnZG8nJyB3aGVuIHlvdSBkbyByZWZlcnMgdG8gdGhlIHNh bWUgc3VtdGksIHNvIHRoZSB0d28gYnJpZGkgYXJlIGlkZW50aWNhbC4KClRoaXMgbGVzc29uIGlz IG9uICcnYnJpa2EnaScnLCB0aGUgYnJpZGkgZXF1aXZhbGVudCBvZiBzdW1rYSdpLiBUaGV5IGFy ZSB3b3JkIHdoaWNoIHJlcHJlc2VudCBlbnRpcmUgYnJpZGkuIEhlcmUgaXQgaXMgaW1wb3J0YW50 IHRvIHJlbWVtYmVyIHRoYXQgYSBicmlkaSBjb25zaXN0cyBvbmx5IG9mIHN1bXRpIGFuZCB0aGUg dGhpbmdzIHdoaWNoIGNvbnRhaW4gdGhlIHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhLiBOZWl0 aGVyIGF0dGl0dWRpbmFscywgbm9yIHRoZSBzZW1hbnRpYyBsYXllciBvZiAnJ2tvJycgb3IgJydt YScnIGFyZSBwYXJ0IG9mIHRoZSBicmlkaSBwcm9wZXIsIGFuZCBzbyB0aGVzZSBhcmUgbm90IHJl cHJlc2VudGVkIGJ5IGEgJydicmlrYSdpJycuCgoKClRoZXJlIGFyZSBtdWNoIGZld2VyICcnYnJp a2EnaScnIHRoYW4gdGhlcmUgYXJlIHN1bWthJ2kuIFdlIHdpbGwgYmVnaW4gYnkgZ29pbmcgdGhy b3VnaCBzb21lIG9mIHRoZSB3b3JkcyBpbiB0aGUgbW9zdCB1c2VkIHNlcmllcywgY2FsbGVkIEdP aEE6CgpXb3JkOglEZWZpbml0aW9uOgoKX18nJ2dvJ3UnJ19fCVJlcGVhdHMgcmVtb3RlIHBhc3Qg YnJpZGkKCl9fJydnbydhJydfXwlSZXBlYXRzIHBhc3QgYnJpZGkKCl9fJydnbydlJydfXwlSZXBl YXRzIG5leHQtdG8tbGFzdCBicmlkaQoKX18nJ2dvJ2knJ19fCVJlcGVhdHMgbGFzdCBtZW50aW9u ZWQgYnJpZGkKCl9fJydnbydvJydfXwlSZXBlYXRzIGZ1dHVyZSBicmlkaQoKX18nJ25laScnX18J UmVwZWF0cyBjdXJyZW50IGJyaWRpCgpfXycnbm8nYScnX18JUmVwZWF0cyBvdXRlciBicmlkaQoK CgpTb21lIG9mIHRoZSBHT2hBLScnYnJpa2EnaScnLiBOb3RpY2UgdGhlIGZhbWlsaWFyIGksIGEs IHUtcGF0dGVybiBmb3IgY2xvc2UgaW4gcGFzdCwgbWVkaXVtIGluIHBhc3QgYW5kIGRpc3RhbnQg aW4gcGFzdC4KCgoKVGhlc2UgYXJlIHZlcnkgbXVjaCBsaWtlIHRoZSBzdW1rYSdpICcncmknJywg JydyYScnIGFuZCAnJ3J1JycuIFRoZXkgY2FuIG9ubHkgcmVmZXIgdG8gbWFpbiBicmlkaSBvZiBq dWZyYSwgYW5kIG5vdCB0aG9zZSBjb250YWluZWQgaW4gcmVsYXRpdmUgcGhyYXNlcyBvciBkZXNj cmlwdGlvbiBzdW10aS4gVGhlIG1haW4gYnJpZGkgY2FuIGNvbnRhaW4gYSByZWxhdGl2ZSBwaHJh c2UsIG9mIGNvdXJzZSwgYnV0IGEgJydicmlrYSdpJycgY2FuIG5ldmVyIGJlIHVzZWQgdG8gcmVm ZXIgdG8gb25seSB0aGUgcmVsYXRpdmUgcGhyYXNlLgoKQSBHT2hBIGFjdHMgZ3JhbW1hdGljYWxs eSBtdWNoIGxpa2UgYSBzZWxicmksIGFueSBjb25zdHJ1Y3Qgd2hpY2ggY2FuIGFwcGx5IHRvIHNl bGJyaSBjYW4gYWxzbyBhcHBseSB0byB0aGVzZS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBhIEdP aEEgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cywgYW5kIHRo ZSBzdW10aSBhcmUgYnkgZGVmYXVsdCB0aGUgc2FtZSBhcyBpbiB0aGUgYnJpZGkgaXQgcmVwcmVz ZW50cy4gRmlsbGluZyB0aGUgc3VtdGkgcGxhY2VzIG9mIGEgR09oQSBleHBsaWNpdGx5IG92ZXJ3 cml0ZXMgdGhlIHN1bXRpIG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBDb250cmFzdDoKCkE6 ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ2dvJ2knJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu 4oCdIOKAnFlvdSBkby7igJ0gd2l0aAoKQTogJydtaSBjaXRrYSBsbyBwbGlzZScnIEI6ICcnbWkg Z28naScnIOKAkyDigJxJIGVhdCBhbiBhcHBsZS7igJ0g4oCcSSBkbywgdG9vLuKAnQoKCgpUaGVz ZSAnJ2JyaWthJ2knJyBhcmUgdmVyeSB1c2VmdWwgd2hlbiBhbnN3ZXJpbmcgYSBxdWVzdGlvbiB3 aXRoICcneHUnJzoKCkE6ICcneHUgZG8gbmVsY2kgbGUgbWkgc3BlbmknJyBCOiAnJ2dvJ2kgLyBu YSBnbydpJycg4oCTIOKAnERvIHlvdSBsaWtlIG15IHdpZmU/4oCdIOKAnFllcy4vTm8u4oCdLiBU aGUgJyd4dScnLCBiZWluZyBhbiBhdHRpdHVkaW5hbCwgaXMgbm90IGNvcGllZC4KCldoZW4gcmVw ZWF0aW5nIGJyaWRpIG5lZ2F0ZWQgYnkgJyduYScnLCB0aGF0IGlzOiBCcmlkaSB3aGVyZSAnJ25h JycgaXMgcGxhY2VkIGluIHRoZSBwcmVuZXggKGxlc3NvbiB0d2VudHktc2V2ZW4pLCBpbiB0aGUg YmVnaW5uaW5nIG9mIHRoZSBicmlkaSBvciByaWdodCBiZWZvcmUgdGhlIHNlbGJyaSwgdGhlIHJ1 bGVzIGZvciBjb3B5aW5nIG92ZXIgJyduYScnIGFyZSBkaWZmZXJlbnQgZnJvbSB3aGF0IG9uZSBt aWdodCBleHBlY3QuIEFueSAnJ25hJycgaXMgY29waWVkIG92ZXIsIGJ1dCBhbnkgYWRkaXRpb25h bCAnJ25hJycgaW4gdGhlIGJyaWthJ2kgcmVwbGFjZXMgdGhlIGZpcnN0IG5hLiBMZXQgbWUgc2hv dyB5b3Ugd2l0aCBhbiBleGFtcGxlOgoKQTogJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpCOiAn J21pIGdvJ2knJyA9ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKQzogJydtaSBuYSBnbydpJycg PSAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkQ6ICcnbWkgbmEgbmEgZ28naScnID0gJydtaSBj aXRrYSBsbyBwbGlzZScnID0gJydtaSBqYSdhIGdvJ2knJwoKCgonJ25laScnIGFuZCAnJ25vJ2En JyBhcmUgbm90IHVzZWQgbXVjaCwgZXhjZXB0IGZvciDigJxtaW5kLWJyZWFraW5nIHB1cnBvc2Vz 4oCdLCB3aGljaCBpcyBtYWtpbmcgdXAgYnJpZGkgd2hpY2ggYXJlIGhhcmQgdG8gcGFyc2UsIGxp a2UgJydkZWkgbmEgc2UgZHUndSBsZSBubydhIGxhJ2UgbGUgbmVpJycuIFNpbmNlICcnbmVpJycg cmVwZWF0cyB0aGUgY3VycmVudCBvdXRlciBicmlkaSwgaG93ZXZlciwgJydsZSBuZWknJyBjYW4g YmUgdXNlZCB0byByZWZlciB0byB0aGUgeDEgb2YgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGksICcn bGUgc2UgbmVpJycgdGhlIHgyIGFuZCBzbyBvbi4KCgoKV2hlbiB1c2luZyAnJ2JyaWthJ2knJywg b25lIG11c3QgYWx3YXlzIGJlIHdhcnkgb2YgY29weWluZyBzZW50ZW5jZXMgd2l0aCB0aGUgcGVy c29uYWwgc3Vta2EnaSBsaWtlICcnbWknJywgJydkbycnLCAnJ21hJ2EnJyBlY3QsIGFuZCBiZSBj YXJlZnVsIG5vdCB0byByZXBlYXQgdGhlbSB3aGVuIHRoZXkgYXJlIGluIHRoZSB3cm9uZyBjb250 ZWN0LCBhcyBzaG93biBpbiB0aGUgdHdvIGV4YW1wbGVzIHdpdGggYXBwbGUgZWF0aW5nIGFib3Zl LiBJbnN0ZWFkIG9mIHJlcGxhY2luZyB0aGVtIG9uZSBieSBvbmUsIHRob3VnaCwgdGhlIHdvcmQg JydyYSdvJycgYW55d2hlcmUgaW4gdGhlIGJyaWRpIHVwZGF0ZXMgdGhlIHBlcnNvbmFsIHN1bWth J2kgc28gdGhhdCB0aGV5IGFwcGx5IGZvciB0aGUgc3BlYWtlcidzIHBlcnNwZWN0aXZlOgoKQTog JydtaSBkbyBwcmFtaScnIEI6ICcnbWkgZG8gZ28naScnIGlzIGVxdWl2YWxlbnQgdG8gQTogJydt aSBkbyBwcmFtaScnIEI6ICcnZ28naSByYSdvJycKCl9fJydyYSdvJydfXyBVcGRhdGUgYWxsIHBl cnNvbmFsIHN1bWthJ2kgc28gdGhhdCB0aGV5IG5vdyBmaXQgdGhlIHNwZWFrZXIncyBwb2ludCBv ZiB2aWV3LgoKCgpUaGUgb25seSBvdGhlciBzZXJpZXMgb2YgYnJpa2EnaSBhcmUgdmVyeSBlYXN5 IHRvIHJlbWVtYmVyOgoKX18nJ2Jyb2RhJydfXwlCcmlkaSB2YXJpYWJsZSAxCgpfXycnYnJvZGUn J19fCUJyaWRpIHZhcmlhYmxlIDIKCl9fJydicm9kaScnX18JQnJpZGkgdmFyaWFibGUgMwoKX18n J2Jyb2RvJydfXwlCcmlkaSB2YXJpYWJsZSA0CgpfXycnYnJvZHUnJ19fCUJyaWRpIHZhcmlhYmxl IDUKCl9fJydjZWknJ19fCURlZmluZSBicmlkaSB2YXJpYWJsZSAobm90IGEgYnJpa2EnaSBhbmQg bm90IGluIEJST0RBKQoKCgoKClRoZSBmaXJzdCBmaXZlIGFyZSBqdXN0IGZpdmUgaW5zdGFuY2Vz IG9mIHRoZSBzYW1lIHdvcmQuIFRoZXkgY2FuIGJlIHVzZWQgYXMgc2hvcnRjdXRzIHRvIGJyaWRp LiBBZnRlciBzYXlpbmcgYSBicmlkaSwgc2F5aW5nICcnY2VpIGJyb2RhJycgZGVmaW5lcyB0aGF0 IGJyaWRpIGFzICcnYnJvZGEnJywgYW5kICcnYnJvZGEnJyBjYW4gdGhlbiBiZSB1c2VkIGFzICcn YnJpa2EnaScnIGZvciB0aGF0IGJyaWRpIGluIHRoZSBmb2xsb3dpbmcgY29udmVyc2F0aW9uLgoK V2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlIGlzIGFuIGFuYWxvZ291cyBzZXJpZXMgb2Ygc3Vta2En aSwgd2hpY2ggcHJvYmFibHkgZG9lcyBub3QgYmVsb25nIGluIHRoaXMgbGVzc29uLCBidXQgaGVy ZSB0aGV5IGFyZSBhbnl3YXk6CgpfXycna28nYScnX18JU3VtdGkgdmFyaWFibGUgMQlfXycnZm8n YScnX18JU3VtdGkgdmFyaWFibGUgNgoKX18nJ2tvJ2UnJ19fCVN1bXRpIHZhcmlhYmxlIDIJX18n J2ZvJ2UnJ19fCVN1bXRpIHZhcmlhYmxlIDcKCl9fJydrbydpJydfXwlTdW10aSB2YXJpYWJsZSAz CV9fJydmbydpJydfXwlTdW10aSB2YXJpYWJsZSA4CgpfXycna28nbycnX18JU3VtdGkgdmFyaWFi bGUgNAlfXycnZm8nbycnX18JU3VtdGkgdmFyaWFibGUgOQoKX18nJ2tvJ3UnJ19fCVN1bXRpIHZh cmlhYmxlIDUJX18nJ2ZvJ3UnJ19fCVN1bXRpIHZhcmlhYmxlIDEwCgoKCmFzIHdlbGwgYXMgdGhl ICcnY2VpJyctZXF1aXZhbGVudCBmb3IgdGhpcyBzZXJpZXM6CgpfXycnZ29pJydfXyBEZWZpbmUg c3VtdGkgdmFyaWFibGUKCgoKCgpUaGVzZSBhcmUgdXNlZCBsaWtlIHRoZSAnJ2JyaWthJ2knJy1z ZXJpZXMuIEp1c3QgcGxhY2UsIGZvciBpbnN0YW5jZSwgJydnb2kga28ndScnIGFmdGVyIGEgc3Vt dGksIGFuZCB0aGF0IHN1bXRpIGNhbiBiZSByZWZlcnJlZCB0byBieSAnJ2tvJ3UnJy4KCgoKU3Ry YW5nZWx5LCB0aGVzZSBzZXJpZXMgYXJlIHJhcmVseSB1c2VkIGZvciB0aGVpciBpbnRlbmRlZCBw dXJwb3NlLiBUaGV5IGFyZSwgaG93ZXZlciwgdXNlZCBhcyBhcmJpdHJhcnkgc2VsYnJpIGFuZCBz dW10aSBpbiBleGFtcGxlIHRleHRzOgoK4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1dGgg Y29uZGl0aW9ucyBvZiAnJ2tvJ2Ega28nZSBicm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhlIHNh bWUgYXMgJyduYSBrdSBrbydhIGtvJ2UgYnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNuJ3Qu4oCd CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZml2ZSAobG9naWNhbCBjb25u ZWN0aXZlcykKCuKAnElmIHlvdSBhc2sgYSBMb2piYW5pc3Q6IOKAnERvIHlvdSB3YW50IG1pbGsg b3Igc3VnYXIgaW4geW91ciBjb2ZmZWU/4oCdIHNoZSdsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd 4oCdCgoKCldpdHR5IGFzIHRoaXMgam9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWly ZCBwcm9wZXJ0eSBvZiB0aGUgRW5nbGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0 IGlzIHBocmFzZWQgYXMgYSB0cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbid0 LiBJbiBMb2piYW4sIHdlIGNhbid0IGhhdmUgdGhpcyBraW5kIG9mIGluY29uc2lzdGVuY3ksIGFu ZCBzbyB3ZSBtdXN0IGZpbmQgYW5vdGhlciB3YXkgb2YgYXNraW5nIHRoaXMga2luZCBvZiBxdWVz dGlvbi4gSWYgeW91IHRoaW5rIGFib3V0IGl0LCBpdCdzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBn b29kIGFuZCBlYXN5IHdheSwgYW5kIGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qg d2F5IGluc3RlYWQgb2YgYW4gZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtl IHR3byBzZXBhcmF0ZSBicmlkaTogQnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl 4oCdIGFuZCBicmlkaSAyOiDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9m IHRoZXNlIGJyaWRpIGNhbiBoYXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxk cyBmb3VyIGNvbWJpbmF0aW9ucyBvZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFu ZCAyCUIgKSAxIGJ1dCBub3QgMgoKQyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoK CgpJLCBpbiBhY3R1YWxpdHksIGxpa2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJJ20gaW5kaWZm ZXJlbnQgYXMgdG8gd2hldGhlciB0aGVyZSBpcyBzdWdhciBpbiBpdCBvciBub3QuIFRoZXJlZm9y ZSwgbXkgcHJlZmVyZW5jZSBjYW4gYmUgd3JpdHRlbiBBICkgdHJ1ZSBCICkgdHJ1ZSBDICkgZmFs c2UgRCApIGZhbHNlLCBzaW5jZSBib3RoIEEgYW5kIEIgeWllbGRzIHRydWUgZm9yIG1lLCBidXQg bmVpdGhlciBDIG5vciBEIGRvZXMuIEEgbW9yZSBjb21wYWN0IHdheSBvZiB3cml0aW5nIG15IGNv ZmZlZSBwcmVmZXJlbmNlcyB3b3VsZCBiZSBUVEZGIGZvciB0cnVlLCB0cnVlLCBmYWxzZSwgZmFs c2UuIFNpbWlsYXJseSwgYSBwZXJzb24gbGlraW5nIGhpcyBjb2ZmZWUgYmxhY2sgYW5kIHVuc3dl ZXRlbmVkIHdvdWxkIGhhdmUgYSBjb2ZmZWUgcHJlZmVyZW5jZSBvZiBGRkZULiBUaGlzIGNvbWJp dGF0aW9uIG9mICJ0cnVlIiBhbmQgImZhbHNlIiBpcyBjYWxsZWQgYSDigJx0cnV0aCBmdW5jdGlv buKAnSwgaW4gdGhpcyBjYXNlIGZvciB0aGUgdHdvIHN0YXRlbWVudHMg4oCcSSBsaWtlIG1pbGsg aW4gbXkgY29mZmVl4oCdIGFuZCDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBOb3Rl IHRoYXQgdGhlIG9yZGVyIG9mIHRoZSBzdGF0ZW1lbnRzIG1hdHRlcnMuCgpJbiBMb2piYW4sIHdl IG9wZXJhdGUgd2l0aCA0IHRydXRoIGZ1bmN0aW9ucywgd2hpY2ggd2UgY29uc2lkZXIgZnVuZGFt ZW50YWw6CgpBOiBUVFRGIChhbmQvb3IpCgpPOiBURkZUIChpZiBhbmQgb25seSBpZmYpCgpVOiBU VEZGICh3aGV0aGVyIG9yIG5vdCkKCkU6IFRGRkYgKGFuZCkKCgoKSW4gdGhpcyBleGFtcGxlLCB0 aGV5IHdvdWxkIHRyYW5zbGF0ZSB0byBzb21ldGhpbmcgbGlrZTogQTrigJ1KdXN0IG5vdCBibGFj ayBjb2ZmZWXigJ0sIE86IOKAnEVpdGhlciBib3RoIG1pbGsgb3Igc3VnYXIsIG9yIG5vdGhpbmcg Zm9yIG1lLCBwbGVhc2XigJ0sIFU6IOKAnE1pbGssIGFuZCBJIGRvbid0IGNhcmUgYWJvdXQgaWYg dGhlcmUncyBzdWdhciBvciBub3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBwbGVhc2Uu 4oCdLgoKCgpJbiBMb2piYW4sIHlvdSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRoIGZ1bmN0 aW9uIGJldHdlZW4gdGhlIHR3byBicmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0aW9uLiBU aGF0IHdvcmQgaXMgY2FsbGVkIGEgbG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMgZm9yIHRy dXRoIGZ1bmN0aW9ucyBiZXR3ZWVuIHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBhcmUgICcn LmEnJyAnJy5vJycgJycudScnIGFuZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFuY2U6IOKA nEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3VsZCBiZSAn J2xvIG1lcmtvIC5lIGxvIGRvdGNvIGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91IHNheTog 4oCcSSBzcGVhayB0byB5b3UgYW5kIG5vIG9uZSBlbHNlP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgdGF2bGEgZG8gLmUgbm8gZHJhdGEnJyBOb3RlIHRoYXQgdGhpcyBhY3R1YWxseSBz dGF0ZXMgdGhhdCBpdCdzIHRydWUgdGhhdCAiSSBzcGVhayB0byB5b3UiLn5+CgoKCk9uZSBtb3Jl OiDigJxJIGxpa2UgY2hlZXNlIHdoZXRoZXIgb3Igbm90IEkgbGlrZSBjb2ZmZWXigJ0KCl9fJydj a2FmaScnX18geDEgaXMgYSBxdWFudGl0eS9jb250YWlucyBjb2ZmZWUgZnJvbSBzb3VyY2Uvb2Yg Z3JhaW4geDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5lbGNpIGxvJ2UgY2lybGEgLnUg bG8nZSBja2FmaScnfn4KCgoKWW91IGNhbiBwZXJoYXBzIGRlZHVjZSB0aGF0IHRoZXJlIGFyZSBz aXh0ZWVuIHBvc3NpYmxlIHRydXRoIGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBsZWFybiB0d2Vs dmUgbW9yZSBpbiBvcmRlciB0byBrbm93IHRoZW0gYWxsLiBFaWdodCBtb3JlIGNhbiBiZSBvYnRh aW5lZCBieSBuZWdhdGluZyBlaXRoZXIgdGhlIGZpcnN0IHNlbnRlbmNlIG9yIHRoZSBzZWNvbmQu IFRoZSBmaXJzdCBpcyBuZWdhdGVkIGJ5IHByZWZpeGluZyB0aGUgdHJ1dGggZnVuY3Rpb24gd29y ZCB3aXRoICcnbmEnJywgdGhlIHNlY29uZCBpcyBuZWdhdGVkIGJ5IHBsYWNpbmcgJyduYWknJyBh ZnRlciB0aGUgd29yZC4gRm9yIGV4YW1wbGUsIHNpbmNlICcnLmUnJyByZXByZXNlbnRzIFRGRkYs ICcnLmUgbmFpJycgbXVzdCBiZSDigJxib3RoIDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwg d2hpY2ggaXMgRlRGRi4gU2ltaWxhcmx5LCAnJ25hIC5hJycgaXMg4oCcSnVzdCBub3Q6IDEgaXMg dHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgVFRGVC4gRG9pbmcgdGhpcyB0eXBlIG9m IGNvbnZlcnNpb24gaW4gdGhlIGhlYWQgcmVhbC10aW1lIGlzIHZlcnksIHZlcnkgaGFyZCwgc28g cGVyaGFwcyBvbmUgc2hvdWxkIGZvY3VzIG9uIGxlYXJuaW5nIGhvdyBsb2dpY2FsIGNvbm5lY3Rp dmVzIHdvcmsgaW4gZ2VuZXJhbCwgYW5kIHRoZW4gbGVhcm4gdGhlIGxvZ2ljYWwgY29ubmVjdGl2 ZXMgdGhlbXNlbHZlcyBieSBoZWFydC4KCgoKRm91ciBmdW5jdGlvbnMgY2Fubm90IGJlIG1hZGUg dGhpcyB3YXk6IFRUVFQsIFRGVEYsIEZURlQgYW5kIEZGRkYuIFRoZSBmaXJzdCBhbmQgdGhlIGxh c3QgY2Fubm90IGJlIG1hZGUgdXNpbmcgbG9naWNhbCBjb25uZWN0aXZlcyBhdCBhbGwsIGJ1dCB0 aGV5IGFyZSBraW5kIG9mIHVzZWxlc3MgYW55d2F5LiBVc2luZyBhIGh5cG90aGV0aWNhbCBsb2dp Y2FsIGNvbm5lY3RpdmUgaW4gdGhlIHNlbnRlbmNlIOKAnEkgbGlrZSBtaWxrIEZGRkYgc3VnYXIg aW4gbXkgY29mZmVl4oCdIGlzIGVxdWl2YWxlbnQgdG8gc2F5aW5nIOKAnEkgZG9uJ3QgbGlrZSBj b2ZmZWXigJ0sIGp1c3QgbW9yZSBjb21wbGljYXRlZC4gVGhlIGxhc3QgdHdvLCBURlRGIGFuZCBG VEZULCBjYW4gYmUgbWFkZSBieSBwcmVmaXhpbmcgJycudScnIHdpdGggZ29vZCBvbCcgJydzZScn LCB3aGljaCBqdXN0IHJldmVydHMgdGhlIHR3byBzdGF0ZW1lbnRzLiAnJ3NlIC51JycgLCBmb3Ig aW5zdGFuY2UgaXMg4oCcQiB3aGV0aGVyIG9yIG5vdCBB4oCdLCB3aGljaCBpcyBURlRGLiBUaGUg ZmluYWwgbGlzdCBvZiBhbGwgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4gYmUgc2VlbiBiZWxvdy4K CgoKVFRUVDogQ2Fubm90IGJlIG1hZGUKClRUVEY6ICcnLmEnJwoKVFRGVDogJycuYSBuYWknJwoK VFRGRjogJycudScnIE9SICcnLnUgbmFpJycKClRGVFQ6ICcnbmEgLmEnJwoKVEZURjogJydzZSAu dScnCgpURkZUOiAnJy5vJycgT1IgJyduYSAubyBuYWknJwoKVEZGRjogJycuZScnCgpGVFRUOiAn J25hIC5hIG5haScnCgpGVFRGOiAnJ25hIC5vJycgT1IgJycubyBuYWknJwoKRlRGVDogJydzZSAu dSBuYWknJwoKRlRGRjogJycuZSBuYWknJwoKRkZUVDogJyduYSAudScnIE9SICcnbmEgLnUgbmFp JycKCkZGVEY6ICcnbmEgLmUnJwoKRkZGVDogJyduYSAuZSBuYWknJwoKRkZGRjogQ2Fubm90IGJl IG1hZGUKCgoKTG9naWNhbGx5LCBzYXlpbmcgYSBzZW50ZW5jZSB3aXRoIGEgbG9naWNhbCBjb25u ZWN0aXZlLCBsaWtlIGZvciBpbnN0YW5jZSAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmUgbmFpIGxv J2UgY2thZmknJyBpcyBlcXVpdmFsZW50IHRvIHNheWluZyB0d28gYnJpZGksIHdoaWNoIGFyZSBj b25uZWN0ZWQgd2l0aCB0aGUgc2FtZSBsb2dpY2FsIGNvbm5lY3RpdmU6ICcnbWkgbmVsY2kgbG8n ZSBjaXJsYSAuaSB7RSBOQUl9IG1pIG5lbGNpIGxvJ2UgY2thZmknJy4gVGhpcyBpcyBob3cgdGhl IGZ1bmN0aW9uIG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMgaXMgZGVmaW5lZC4gV2Ugd2lsbCBnZXQg dG8gaG93IHRvIGFwcGx5IGxvZ2ljYWwgY29ubmVjdGl2ZXMgdG8gYnJpZGkgaW4gYSBtb21lbnQu CgoKCkJ5IHB1dHRpbmcgYSDigJxq4oCdIGluIGZyb250IG9mIHRoZSBjb3JlIHdvcmQgb2YgYSBs b2dpY2FsIGNvbm5lY3RpdmUsIGl0IGNvbm5lY3RzIHR3byBzZWxicmkuIEFuIGV4YW1wbGUgaXMg JydtaSBuaW5tdSBuYSBqbyBuYW5tdScnIOKAnEkgYW0gYSBtYW4gb3IgYSB3b21hbiwgYnV0IG5v dCBib3Ro4oCdCgpfXycnbmlubXUnJ19fIHgxIGlzIGEgd29tYW4KCgoKVGhpcyBpcyDigJx0YW5y dS1pbnRlcm5hbOKAnSwgbWVhbmluZyB0aGF0IGl0IGxvb3NlbHkgYmluZHMgc2VsYnJpIHRvZ2V0 aGVyLCBldmVuIHdoZW4gdGhleSBmb3JtIGEgdGFucnU6ICcnbG8gZG90Y28gamEgbWVya28gcHJl bnUnJyBtZWFucyDigJxhIEdlcm1hbiBvciBBbWVyaWNhbiBtYW7igJ0sIGFuZCBpcyBwYXJzZWQg JydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICcncHJlbnUnJy4gVGhpcyBiaW5kaW5nIGlzIHNs aWdodGx5IHN0cm9uZ2VyIHRoYXQgbm9ybWFsIHRhbnJ1LWdyb3VwaW5nIChzdGlsbCB3ZWFrZXIg dGhhbiBzcGVjaWZpYyBncm91cGluZy13b3JkcyksIGFuZCBhcyBzdWNoLCAnJ2xvIGRvdGNvIGph IG1lcmtvIG5pbm11IGphIG5hbm11JycgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBtZXJr bycnKSAoJyduaW5tdSBqYSBuYW5tdScnKS4gVGhlIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmVz IGNhbiBhbHNvIGJlIGF0dGFjaGVkIHRvICcnLmknJyBpbiBvcmRlciB0byBjb25uZWN0IHR3byBz ZW50ZW5jZXMgdG9nZXRoZXI6ICcnbGEgLmtpbS4gY21lbmUgbWkgLmkganUgbWkgbmFubXUnJyDi gJxJJ20gY2FsbGVkIEtpbSwgd2hldGhlciBvciBub3QgSSdtIGEgbWFu4oCdLiBUaGUgY29tYmlu YXRpb24gJycuaSBqZScnIHN0YXRlcyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNo IGxpa2Ugd2Ugd291bGQgYXNzdW1lIGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVz ZW50LgoKCgpVbmZhaXJseSBoYXJkIHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVz LCBob3cgd291bGQgeW91IHRyYW5zbGF0ZSDigJxJZiB5b3UncmUgY2FsbGVkIEJvYiwgeW91J3Jl IGEgbWFuLuKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xhIC5iYWIuIGNtZW5lIGRvIC5p IG5hIGphIGRvIG5hbm11Jycgb3Ig4oCcRWl0aGVyIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBh IG1hbiwgb3IgeW91J3JlIG5vdCBuYW1lZCBCb2IgYW5kIG5vdCBhIG1hbiwgb3IgeW91J3JlIG5h bWVkIEJvYiBhbmQgYSBtYW4uIEJ1dCB5b3UgY2FuJ3QgYmUgbmFtZWQgQm9iIGFuZCBub3QgYmUg YSBtYW4u4oCdIFRoZSBvbmx5IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6IOKAnFlvdSdy ZSBjYWxsZWQgQm9iLCBidXQgbm90IGEgbWFuLuKAnSBUaGlzIG11c3QgbWVhbiB0aGF0LCBpZiBp dCdzIHRydWUgdGhhdCB5b3UncmUgY2FsbGVkIEJvYiwgeW91IG11c3QgYmUgYSBtYW4ufn4KCgoK SWYgd2UgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQgb2Yg4oCcSSBjcmllZCBh bmQgZ2F2ZSBhd2F5IG15IGRvZ+KAnSwgd2UgcnVuIGludG8gYSBwcm9ibGVtLgoKQXR0ZW1wdGlu ZyB0byBzYXkgdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2plJycgYmV0d2VlbiB0aGUgc2VsYnJpIOKA nGdhdmXigJ0gYW5kIOKAnGNyaWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBzYW1lIHdvcmQgZm9yIHdv cmQsIGJ1dCB1bmZvcnR1bmF0ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVkIHRoZSBkb2cgYW5kIGdh dmUgYXdheSB0aGUgZG9n4oCdLCBjZi4gdGhlIGRlZmluaXRpb24gb2YgbG9naWNhbCBjb25uZWN0 aXZlcy4gT25lIGNhbiBjcnkgdGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0IGNyeWluZyBkb2dzIGlz IGp1c3Qgc2lsbHkuCgpIb3dldmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBieSB1c2luZyBicmlkaS10 YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0aGF0IGFueSBwcmV2aW91 cyBzdW10Y2l0YSBhbmQgc3VtdGkgYXR0YWNoZXMgdG8gYm90aCBzZWxicmkgYm91bmQgYnkgdGhl IGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlLCBidXQgYW55IGZvbGxvd2luZyBzdW10aSBv ciBzdW10Y2l0YSBvbmx5IGFwcGxpZXMgdG8gdGhlIGxhc3QgbWVudGlvbmVkOiBUaGUgYnJpZGkg c3BsaXRzIHVwIGZyb20gb25lIGhlYWQgdG8gdHdvIHRhaWxzLCB0byBzcGVhayBtZXRhcGhvcmlj YWxseS4KClRoZSBmb3JtIG9mIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgZ2kn Viwgd2l0aCB0aGUgViBmb3IgdGhlIHZvd2VsIG9mIHRoZSB0cnV0aCBmdW5jdGlvbi4KCkhvdyBj b3VsZCB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSB0aGUgRW5nbGlzaCBzZW50ZW5jZSB0byBMb2pi YW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwdSBrbGFrdSBnaSdlIGR1bmRhIGxlIG1p IGdlcmt1Jyd+fgoKCgpXaGF0IGRvZXMgJydybyByZW1uYSBjdSBwYWxjaSBnaSdvIHp1a3RlIGxv IHBhbGNpJycgbWVhbj8KCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFBlb3BsZSBhcmUgZXZpbCBpZiBhbmQgb25seSBpZiB0 aGV5IGRvIGV2aWwgdGhpbmdzLuKAnX5+CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIGZvcmV0 aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgZ3JvdXAgb2YgY29ubmVjdGVycyBtYWRlIGJ5 IHByZWZpeGluZyDigJxn4oCdIGluIGZyb250IG9mIHRoZSB0cnV0aCBmdW5jdGlvbiB2b3dlbC4g 4oCcRm9yZXRob3VnaHTigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgdGhleSBuZWVkIHRv IGdvIGluIGZyb250IG9mIHRoZSB0aGluZ3MgdGhleSBjb25uZWN0LCBhbmQgdGh1cyB5b3UgbmVl ZCB0byB0aGluayBhYm91dCB0aGUgZ3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5j ZSBiZWZvcmUgc2F5aW5nIGl0LiBBbGwtYnV0IHRhbnJ1IGludGVybmFsIG1lYW5zIHRoYXQgaXQg c2VydmVzIGJvdGggYXMgYSBjb25uZWN0aXZlIGJldHdlZW4gc3VtdGksIGJyaWRpLCBzZWxicmkg YW5kIGJyaWRpLXRhaWxzLCBidXQgbm90IGJldHdlZW4gdHdvIHNlbGJyaSBvZiBvbmUgdGFucnUu IExldCBtZSBzaG93IHlvdSBob3cgaXQgd29ya3MsIHJld3JpdGluZyB0aGUgTG9qYmFuIHNlbnRl bmNlIGFib3ZlOgoKJydnbyBsbyByZW1uYSBjdSBwYWxjaSBnaSBsbyByZW1uYSBjdSB6dWt0ZSBs byBwYWxjaScnCgpUaGUgZmlyc3QgbG9naWNhbCBjb25uZWN0aXZlIGluIHRoZXNlIGtpbmRzIG9m IGNvbnN0cnVjdHMgYXJlIHdoYXQgY2FycmllcyB0aGUgdm93ZWwgd2hpY2ggc2lnbmFsIHdoYXQg dHJ1dGggZnVuY3Rpb24gaXMgYmVpbmcgdXNlZC4gVGhlIHNlY29uZCBsb2dpY2FsIGNvbm5lY3Rp dmUgaXMgYWx3YXlzICcnZ2knJywgYW5kIGxpa2UgJycuaScnLCBpdCBoYXMgbm8gdHJ1dGggZnVu Y3Rpb24uIEl0IHNpbXBseSBzZXJ2ZXMgdG8gc2VwYXJhdGUgdGhlIHR3byB0ZXJtcyBiZWluZyBj b25uZWN0ZWQuIElmIHlvdSB3YW50IHRvIG5lZ2F0ZSB0aGUgZmlyc3Qgb3Igc2Vjb25kIHNlbnRl bmNlLCBhICcnbmFpJycgaXMgc3VmZml4ZWQgdG8gZWl0aGVyIHRoZSBmaXJzdCAoZm9yIHRoZSBm aXJzdCBzZW50ZW5jZSkgb3Igc2Vjb25kIChmb3IgdGhlIHNlY29uZCBzZW50ZW5jZSkgbG9naWNh bCBjb25uZWN0aXZlLgoKUHJvdmlkZWQgdGhhdCB0aGUgY29uc3RydWN0cyBhcmUgdGVybWluYXRl ZCBwcm9wZXJseSwgaXQgaGFzIHJlbWFya2FibGUgZmxleGliaWxpdHksIGFzIHRoZSBmb2xsb3dp bmcgZmV3IGV4YW1wbGVzIGRlbW9uc3RyYXRlOgoKJydtaSBnbyBrbGFtYSBnaSBjYWR6dSB2YXUg bGUgbWkgemRhbmknJyDigJxJIGdvLCBpZiBhbmQgb25seSBpZiB3YWxrLCB0byBteSBob21l4oCd IG9yIOKAnEkgY2FuIG9ubHkgZ28gdG8gbXkgaG9tZSBieSB3YWxraW5nLuKAnSBOb3RpY2UgdGhh dCB0aGUgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBsZSBtaSB6ZGFuaSBhcHBseSB0byBib3Ro ICcnY2FkenUnJyBhbmQgJydrbGFtYScnLgoKJydzZSBndSBkbyBnaSBuYWkgbWkgYmFqcmEgbGUg ZG8gY2t1bGUnJyDigJxXaGV0aGVyIG9yIG5vdCB5b3UsIHRoZW4gbm90IEksIHJ1biB0byB5b3Vy IHNjaG9vbOKAnSBvciDigJxJIHdvbid0IHJ1biB0byB5b3VyIHNjaG9vbCBubyBtYXR0ZXIgaWYg eW91IGRvIG9yIG5vdOKAnQoKCgpUaGUgdGFucnUtaW50ZXJuYWwgZXF1aXZhbGVudCBvZiBnViBp cyBndSdWLiBUaGVzZSBhcmUgZXhhY3RseSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgdGhleSBhcmUg ZXhjbHVzaXZlbHkgdGFucnUtaW50ZXJuYWwsIGFuZCB0aGF0IHRoZXkgYmluZCBhIHNlbGJyaSB0 byB0aGUgJydnaScnIHRpZ2h0ZXIgdGhhbiBub3JtYWwgdGFucnUtZ3JvdXBpbmcsIGJ1dCB3ZWFr ZXIgdGhhbiBleHBsaWNpdCBiaW5kaW5nLXN1bXRpOgoKJydsYSB4YW56LmtydC4gZ3UnZSBtZXJr byBnaSBkb3RjbyBuYW5tdScnIGlzIGVxdWl2YWxlbnQgdG8KCicnbGEgeGFuei5rcnQuIG1lcmtv IGplIGRvdGNvIG5hbm11JycKCgoKQW5kIHNvIHlvdSd2ZSByZWFkIHBhZ2UgdXAgYW5kIHBhZ2Ug ZG93biBqdXN0IHRvIGdldCB0aGUgbmVjZXNzYXJ5IGtub3dsZWRnZSBpbiBvcmRlciB0byBiZSBh YmxlIHRvIGxlYXJuIGhvdyB0byBhc2sg4oCcV291bGQgeW91IGxpa2UgbWlsayBvciBzdWdhciBp biB5b3VyIGNvZmZlZT/igJ0gaW4gTG9qYmFuLiBTaW1wbHkgcGxhY2UgYSBxdWVzdGlvbiBsb2dp Y2FsIGNvbm5lY3RpdmUgaW5zdGVhZCBvZiBhbm90aGVyIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5k IGxpa2UgJydtYScnLCBpdCBhc2tzIHRoZSBsaXN0ZW5lciB0byBmaWxsIGluIGEgY29ycmVjdCBy ZXNwb25zZS4gVW5mb3J0dW5hdGVseSwgdGhlc2UgcXVlc3Rpb24tbG9naWNhbCBjb25uZWN0aXZl cyBkb24ndCBhbHdheXMgbWF0Y2ggdGhlIG1vcnBob2xvZ2ljYWwgcGF0dGVybiBvZiB0aGUgbG9n aWNhbCBjb25uZWN0aXZlcyB0aGV5IGFzayBmb3I6CgpfXycnamknJ19fIExvZ2ljYWwgY29ubmVj dGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBzdW10aSBsb2dpY2FsIGNvbm5lY3RpdmUgKEEpCgpf XycnamUnaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRhbnJ1 LWludGVybmFsIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dpJ2knJ19fIExv Z2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBicmlkaS10YWlsIGxvZ2ljYWwg Y29ubmVjdGl2ZSAoR0loQSkKCl9fJydnZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rp b246IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBsb2dpY2Fs IGNvbm5lY3RpdmUgKEdBKQoKX18nJ2d1J2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlv bjogQXNrcyBmb3IgYSBmb3JldGhvdWdodCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29u bmVjdGl2ZSAoR1VoQSkKCgoKU28uLi4gaG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNvbnMg d2FudHMgbWlsayBvciBzdWdhciBpbiBoZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBpcy9j b250YWlucyBtaWxrIGZyb20gc291cmNlIHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRhaW5z IHN1Z2FyIGZyb20gc291cmNlIHgyIG9mIGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFuc3dl cjogfn5ncmV5LGdyZXk6JydzYWt0YSBqZSdpIGxhZHJ1IGxlIGRvIGNrYWZpJycgdGhvdWdoIEkg Z3Vlc3Mgc29tZXRoaW5nIG1vcmUgRW5nbGlzaCBhbmQgbGVzcyBlbGVnYW50IGNvdWxkIGFsc28g c3VmZmljZSBsaWtlICcnZG8gZGppY2EgbGVudSBsbyBzYWt0YSBqaSBsbyBsYWRydSBjdSBuZW5y aSBsZSBkbyBja2FmaScnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktc2l4 IChub24tbG9naWNhbCBjb25uZWN0aXZlcykKClRoZSB3b3JkICJsb2dpY2FsIiBpbiAibG9naWNh bCBjb25uZWN0aXZlIiByZWZlcnMgdG8gdGhlIGFzc29jaWF0aW9uIGEgbG9naWNhbCBjb25uZWN0 aXZlIGhhcyB3aXRoIGEgdHJ1dGggZnVuY3Rpb24uIE5vdCBhbGwgdXNlZnVsIGNvbm5lY3RpdmVz IGNhbiBiZSBkZWZpbmVkIHRocm91Z2ggYSB0cnV0aCBmdW5jdGlvbiwgaG93ZXZlciwgYW5kIHNv IHRoZXJlIGFyZSBvdGhlciBjb25uZWN0aXZlcyBiZXNpZGUgdGhlIGxvZ2ljYWwgb25lcy4KClRo ZSBtZWFuaW5nIG9mIGEgbG9naWNhbCBjb25uZWN0aXZlIGlzIGRlZmluZWQgdGhlIHNhbWUgYXMg dHdvIGRpZmZlcmVudCBicmlkaSBjb25uZWN0ZWQgd2l0aCB0aGF0IGxvZ2ljYWwgY29ubmVjdGl2 ZS4gRm9yIGluc3RhbmNlLCAnJ21pIG5pdGN1IGRvIC5hIGxhIC5kamFuLicnIGlzIGRlZmluZWQg dG8gYmUgZXF1aXZhbGVudCB0byAnJ21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIC5kamFu LicnLiBUaGlzIGRlZmluaXRpb24gaXMgdXNlZnVsIHRvIGJlYXIgaW4gbWluZCwgYmVjYXVzZSBp dCBpbXBsaWVzIHRoYXQgc29tZXRpbWVzLCBzdW10aSBjYW5ub3QgYmUgY29ubmVjdGVkIHdpdGgg bG9naWNhbCBjb25uZWN0aXZlcyB3aXRob3V0IGNoYW5pbmcgdGhlIG1lYW5pbmcuIENvbnNpZGVy IHRoZSBzZW50ZW5jZTogIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkuIiBPbmUgYXR0ZW1w dCBhdCBhIHRyYW5zbGF0aW9uIHdvdWxkIGJlOiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBlIGxh IC5kam91cy4nJwoKX18nJ2RyYWNpJydfXyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkg d3JpdGVyL2RyYW1hdGlzdCB4MyBmb3IgYXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhl IHByb2JsZW0gd2l0aCB0aGlzIHRyYW5zbGF0aW9uIGlzIHRoYXQgaXQgbWVhbnMgJyd0aSBkcmFj aSBsYSAuZGphay4gaWplIHRpIGRyYWNpIGxhIC5kam91cy4nJywgd2hpY2ggaXMgbm90IHJlYWxs eSB0cnVlLiBOZWl0aGVyIEphY2sgbm9yIEpvZSB3cm90ZSBpdCwgdGhleSBkaWQgc28gdG9nZXRo ZXIuIFdoYXQgd2Ugd2FudCBoZXJlIGlzIG9mIGNvdXJzZSBhIG1hc3MsIGFuZCBzb21lIHdheSB0 byBqb2luIEphY2sgYW5kIEpvZSBpbiBvbmUgbWFzcy4gVGhpcyBoYXMgbGl0dGxlIHRvIGRvIHdp dGggYSB0cnV0aCBmdW5jdGlvbiBzbyB3ZSBtdXN0IHVzZSBhIG5vbi1sb2dpY2FsIGNvbm5lY3Rp dmUsIHdoaWNoIGFyZSBvZiBzZWxtYSdvIEpPSS4gV2UnbGwgcmV0dXJuIHRvIHRoaXMgSmFjayBh bmQgSm9lLXByb2JsZW0gaW4gYSBsaXR0bGUgLSBmaXJzdDogRm91ciBvZiB0aGUga25vd24gSk9J OgoKCgp8fFRoZSBMb2piYW4gY29ubmVjdGl2ZTp8JydjZScnfCcnY2UnbycnfCcnam9pJyd8Jydq byd1JycKCkpvaW5zIHN1bXRpIGFuZCBmb3JtcyBhOnxzZXR8c2VxdWVuY2V8bWFzc3xncm91cCBv ZiBpbmRpdmlkdWFsc3x8CgpUaGUgZnVuY3Rpb25zIG9mIHRoZXNlIHdvcmRzIGFyZSBzaW1wbGU6 ICcnbG8naSByZW1uYSBqbyd1IGxvJ2kgZ2Vya3UnJyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9m IGh1bWFucyBhbmQgdGhlIHNldCBvZiBkb2dzIGRpc3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFs cykuIFJlbWVtYmVyIGZyb20gbGVzc29uIHR3ZW50eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJk aXN0cmlidXRpdml0eSIgbWVhbnMgdGhhdCB3aGF0IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBh bHNvIHRydWUgZm9yIGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJyds b2kgcm8gZ2lzbXUgY2UnbyBsb2kgcm8gbHVqdm8gY2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEg c2VxdWVuY2UgY29uc2lzdGluZyBvZiB0aGUgbWFzcyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5 IHRoZSBtYXNzIG9mIGFsbCBsdWp2bywgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2 bGEuCgpBcyB3aXRoIGFsbCBvZiB0aGUgSk9JIHdoaWNoIGhhcyBhbiBpbmhlcmVudCBvcmRlciwg JydzZScnIG1heSBiZSBwdXQgYmVmb3JlICcnY2UnbycnIHRvIGludmVyc2UgdGhlIG9yZGVyOiAi QSAnJ2NlJ28nJyBCIiBpcyB0aGUgc2FtZSBhcyAiQiBzZSAnJ2NlJ28nJyBBIi4KCgoKSG93IGNh biB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxheSI/ CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBqb2kgbGEgLmRq b3VzLicnfn4gCgoKClRoZSBjbWF2byBvZiBKT0kgYXJlIHZlcnkgZmxleGlibGU6IFRoZXkgY2Fu IGFjdCBib3RoIGFzIHN1bXRpIGNvbm5lY3RpdmVzIGFuZCB0YW5ydS1pbnRlcm5hbCBjb25uZWN0 aXZlcywgc28gdGhleSBjYW4gYmUgdXNlZCB0byBjb25uZWN0IHN1bXRpLCBzZWxicmkgYW5kIGJy aWRpLiBUaGlzIGZsZXhpYmlsaXR5IG1lYW5zIHRoYXQgb25lIG11c3QgYmUgY2FyZWZ1bCB0byB1 c2UgZmEnb3JtYSdvIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgSk9JLiAKCldoYXQgaXMgd3Jvbmcg d2l0aCB0aGUgYnJpZGkgJydsbyBkb3RjbyBqbyd1IG1pIGN1IGtsYW1hIGxhIGRvdGNvIGd1Z2Rl Jyc/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2pvJ3UnJyBpcyBwdXQgYWZ0ZXIgYSBzZWxicmks IHNvIGl0IGV4cGVjdHMgYSBzZWxicmkgYWZ0ZXIgaXQgdG8gY29ubmVjdCB0bywgYnV0IG5vbmUg aXMgZm91bmQuIEhhZCAgYSAnJ2t1JycgYmVlbiBwcmVzZW50IGJlZm9yZSB0aGUgY29ubmVjdGl2 ZSwgaXQgd291bGQgaGF2ZSBiZWVuIGdyYW1tYXRpY2Fsfn4KCgoKSWYgc2V2ZXJhbCBKT0kgYXJl IHVzZWQsICcnYm8nJyBhbmQvb3IgJydrZScnIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSB1 c3VhbCBsZWZ0LWdyb3VwaW5nOiAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgYm8gbGEg LmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91LCBh bmQgdGhlbiBKYWNrIGFuZCBKb2UgYXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMi LiBDb250cmFzdCB3aXRoICcnbWkgam9pIGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMu IGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlvdSwg dGhlbiBKYWNrIHdpbGwgdG9nZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4g CgpDb25uZWN0aW5nIGJyaWRpIHdpdGggSk9JIGNhbiBtYWtlIHNvbWUgaW50ZXJlc3RpbmcgaW1w bGljYXRpb25zIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgYnJpZGk6ICcnbGEgLmRq YWsuIG1vcnNpIHJpJ2EgbG8gbnUgcmkgZHp1c29pIC5pIGpvaSBsZSBqZW1qYSdhIHBvIHJpIGN1 IGJlYm5hJycgLSAiSmFjayBpcyBkZWFkIGJlY2F1c2UgaGUgd2FzIGEgaW5mYW50cnkgc29sZGll ciBhbmQgaGlzIGdlbmVyYWwgd2FzIGFuIGlkaW90IiwgaW1wbHlpbmcgdGhhdCB0aGVzZSB0d28g YnJpZGkgbWFzc2VkIHRvZ2V0aGVyIHdhcyB0aGUgcGh5c2ljYWwgY2F1c2Ugb2YgaGlzIGRlYXRo OiBIYWQgaGUgb25seSBiZWVuIGluIGFuIGFybW9yZWQgdmVoaWNsZSBvciB3aXRoIGEgY29tcGV0 ZW50IGNvbW1hbmRlciwgaGUgbWlnaHQgaGFkIHN1cnZpdmVkLgoKX18nJ2R6dXNvaScnX18geDEg aXMgYW4gaW5mYW50cnkgc29sZGllciBvZiBhcm15IHgyCgpfXycnamVtamEnYScnX18geDEgaXMg YSBnZW5lcmFsIG9mIGFybXkgeDIgaW4gZnVuY3Rpb24geDMKCl9fJydiZWJuYScnX18geDEgaXMg Zm9vbGlzaC9pZGlvdGljIGluIHByb3BlcnR5L2FzcGVjdCB4MgoKCgpOb24tbG9naWNhbCBjb25u ZWN0aXZlcyBtYXkgYWxzbyBiZSBuZWdhdGVkIHdpdGggJyduYWknJywgaW5kaWNhdGluZyB0aGF0 IHNvbWUgb3RoZXIgY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZTogJydsbyBkamFjdSBjZSdvIG5h aSAuZSdvIGxvIGxhZHJ1IGN1IGNhdnlmbGUgZmkgbGUgbWkgdGNhdGknJyAtICJQbGVhc2UgZG9u J3QgcG91ciBmaXJzdCB3YXRlciB0aGVuIG1pbGsgaW4gbXkgdGVhIi4gVGhpcywgb2YgY291cnNl LCBzYXlzIG5vdGhpbmcgYWJvdXQgd2hpY2ggY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZSAtIG9u ZSBtaWdodCBndWVzcyAnJ3NlIGNlJ28nJyAoZmlyc3QgbWlsaywgdGhlbiB3YXRlciksIG9ubHkg dG8gZmluZCBvdXQgdGhhdCAnJy5lIG5haScnIChvbmx5IHdhdGVyLCBubyBtaWxrIGF0IGFsbCkg d2FzIHRoZSBjb3JyZWN0IG9uZS4KCl9fJydjYXZ5ZmxlJydfXyB4MSwgY29uc2lzdGluZyBvZiB4 MiwgZmxvd3MgaW50byB4MyBmcm9tIHg0CgpKdXN0IGxpa2UgYSBsb2dpY2FsIGNvbm5lY3RpdmUg aXMgYSBwbGF1c2libGUgbmVnYXRpb24gb2YgYSBub24tbG9naWNhbCBjb25uZWN0aXZlLCBhbnN3 ZXJzIHRvIHF1ZXN0aW9ucyBvZiB0aGUgdHlwZSAnJ2ppJycgb3IgJydqZSdpJycgY2FuIGJlIGJv dGggbG9naWNhbCBhbmQgbm9uLWxvZ2ljYWw6IEE6ICcnbGFkcnUgamUnaSBzYWt0YSBsZSBkbyBj a2FmaScnIEI6ICcnc2UgY2UnbycnICgiTWlsayBvciBzdWdhciBpbiB5b3UgY29mZmVlPyIgIkZp cnN0IHRoZSBsYXR0ZXIsIHRoZW4gdGhlIGZvcm1lciIpLiBJbiB0aGlzIGNhc2UgJydjZScnIHdv dWxkIG1ha2Ugbm8gc2Vuc2UgYXQgYWxsLCBzaW5jZSBzZXRzIGNhbid0IGJlIGNvbnRhaW5lZCBp biBjb2ZmZWUsIGFuZCAnJ2pvaScnIChib3RoIG1peGVkIHRvZ2V0aGVyKSB3b3VsZCBtZWFuIHRo ZSBzYW1lIGFzICcnam8ndScnIChib3RoIG9mIHRoZW0pLCB1bmxlc3MgdGhlIHJlc3BvbmRhbnQg cHJlZmVycmVkIHVubWl4ZWQgc3VnYXIgaW4gaGlzIGNvZmZlZS4KCgoKVGhlIGZpZnRoIEpPSSBJ IHByZXNlbnQgaGVyZSBpcyBhIGJpdCBvZiBhbiBvZGRiYWxsOgoKX18nJ2ZhJ3UnJ19fIE5vbi1s b2dpY2FsIGNvbm5lY3RpdmU6IFVubWl4ZWQgb3JkZXJlZCBkaXN0cmlidXRpb24gKEEgYW5kIEIs IHJlc3BlY3RpdmVseSkKCldoZW4gb25seSBvbmUgJydmYSd1JycgaXMgcGxhY2VkIHdpdGhpbiBh IGJyaWRpIChvciBzZXZlcmFsIGJyaWRpIGNvbm5lY3RlZCB0b2dldGhlciB3aXRoIGNvbm5lY3Rv cnMpLCAnJ2ZhJ3UnJyBtYXkgYmUgYXNzdW1lZCB0byBiZSBpZGVudGljYWwgdG8gJydqbyd1Jycu IFdoZW4gc2V2ZXJhbCAnJ2ZhJ3UnJyBpcyB1c2VkIHdpdGhpbiBvbmUgYnJpZGksIGhvd2V2ZXIs IHRoZSBjb25zdHJ1Y3RzIGJlZm9yZSAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIs IGFuZCB0aGUgY29uc3RydWN0cyBhZnRlciAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3Ro ZXIuIExldCdzIGhhdmUgYW4gZXhhbXBsZToKCicnbWkgZmEndSBkbyBydXNrbyBmYSd1IGthZG5v JycgLSAiWW91IGFuZCBJIGFyZSBSdXNzaWFuIGFuZCBDYW5hZGlhbiIsIGltcGx5aW5nIHRoYXQg JydtaScnIGdvZXMgd2l0aCAnJ3J1c2tvJycgYW5kICcnZG8nJyBnb2VzIHdpdGggJydrYWRubycn LCBhbmQgaW1wbHlpbmcgbm90aGluZyBhYm91dCBhbnkgb3RoZXIgY29tYmluYXRpb24uIE9mIGNv dXJzZSwgaW4gdGhpcyBleGFtcGxlLCBpdCB3b3VsZCBiZSBtdWNoIGVhc2llciB0byBzYXkgJydt aSBydXNrbyAuaSBkbyBrYWRubycnLgoKCgpUaGVzZSBsYXN0IHRocmVlIEpPSSBjb25uZWN0cyB0 d28gc2V0cyB0byBtYWtlIG5ldyBzZXRzOgoKX18nJ2pvJ2UnJ19fCUEgdW5pb24gQgoKX18nJ2t1 J2EnJ19fCUEgaW50ZXJzZWN0aW9uIEIKCl9fJydwaSd1ICcnX18JQ3Jvc3MgcHJvZHVjdCBvZiBB IGFuZCBCCgoKClRoZXNlIGFyZSBwcm9iYWJseSBub3QgdmVyeSB1c2VmdWwgZm9yIHRoZSBhdmVy YWdlIExvamJhbmlzdCwgYnV0IEkgbWlnaHQgYXMgd2VsbCBpbmNsdWRlIHRoZW0gaGVyZS4KClRo ZSBmaXJzdCBvbmUsICcnam8nZScnLCBtYWtlcyBhIG5ldyBzZXQgZnJvbSB0d28gc2V0cy4gVGhp cyBuZXcgc2V0IGNvbnRhaW5zIG9ubHkgdGhvc2UgbWVtYmVycyB3aGljaCBhcmUgaW4gYm90aCBz ZXRzLgoKQSBzZXQgbWFkZSB3aXRoICcna3UnYScnIGNvbnRhaW5zIGFsbCB0aGUgbWVtYmVycyBv ZiBzZXQgQSBhbmQgdGhvc2Ugb2Ygc2V0IEIuIElmIGFueXRoaW5nIGlzIGEgbWVtYmVyIG9mIGJv dGggc2V0cywgdGhleSBhcmUgbm90IGNvdW50ZWQgdHdpY2UuCgonJ3BpJ3UnJyBpcyBhIGxpdHRs ZSBtb3JlIGNvbXBsaWNhdGVkLiBBIHNldCAiQSAnJ3BpJ3UnJyBCIiBjb250YWlucyBhbGwgdGhl IHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZiAiYSAnJ2NlJ28nJyBiIiwgd2hlcmUgYSBpcyBhIG1l bWJlciBvZiBBIGFuZCBiIGlzIGEgbWVtYmVyIG9mIEIuIEl0IGlzIHRodXMgYSBzZXQgb2Ygc2Vx dWVuY2VzIG9mIG1lbWJlcnMuIElmLCBmb3IgaW5zdGFuY2UsIHNldCBBIGNvbnRhaW5lZCB0aGUg bWVtYmVycyBwIGFuZCBxLCBhbmQgc2V0IEIgY29udGFpbmVkIG1lbWJlcnMgZiBhbmQgZywgdGhl biBBICcncGkndScnIEIgd291bGQgYmUgYSBzZXQgY29uc2lzdGluZyBvZiB0aGUgZm91ciBtZW1i ZXJzIHAgJydjZSdvJycgZiwgcCAnJ2NlJ28nJyBnLCBxICcnY2UnbycnIGYgYW5kIHEgJydjZSdv JycgZy4KCgoKISEhRW5kIG9mIHBhcnQgdHdvCgooKHdhdmVsZXNzb25zY29udGludWVkfFJldHVy biB0byB0aGUgd2F2ZWxlc3NvbnMgcGFydCBvbmUpKQoKVGhpcyBwYXJ0IGNvbmNsdWRlcyB0aGUg dHV0b3JpYWwgdG8gb3JkaW5hcnkgTG9qYmFuLiBJbiB0aGUgdGhpcmQgcGFydCwgSSB3aWxsIGZv Y3VzIG9uIGFkdmFuY2VkIExvamJhbiAtIHRoZSBwYXJ0cyB5b3UgZG9uJ3QgYWN0dWFsbHkgbmVl ZCB0byBrbm93IHRvIHNwZWFrIHRoZSBsYW5ndWFnZS4gSSBkaXNjb3VyYWdlIHlvdSB0byBiZWdp biByZWFkaW5nIHRoZSB0aGlyZCBwYXJ0IHVudGlsIHlvdSBmZWVsIGNvbWZvcnRhYmxlIGVub3Vn aCB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlyc3QgdHdvIHBhcnRzIHRvIGhvbGQgYW4g d3JpdHRlbiBjb252ZXJzYXRpb24gaW4gdGhlIGxhbmd1YWdlLiBJZiB5b3UgX19kb19fIHdpc2gg dG8gY29udGludWUsIHlvdSBjYW4gcHJlc3MgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoaXMg bGluaykpIHRvIGdvIHRoZXJlLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4u b3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=