Received: from localhost ([::1]:46148 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UvCrK-0004jk-Bg; Fri, 05 Jul 2013 13:44:02 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:54232 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UvCrC-0004jf-My for wikineurotic@lojban.org; Fri, 05 Jul 2013 13:44:00 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 5 Jul 2013 13:43:54 -0700 From: "Apache" Date: Fri, 5 Jul 2013 13:43:54 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp2 was changed by Ilmen at 20:43 UTC Comment: Correcting non-grammatical example sentences. You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by Ilmen X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBJbG1lbiBhdCAy MDo0MyBVVEMKQ29tbWVudDogQ29ycmVjdGluZyBub24tZ3JhbW1hdGljYWwgZXhhbXBsZSBzZW50 ZW5jZXMuCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZHAyCgpZb3UgY2Fu IHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRo aXMgbGluazogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhw P3BhZ2U9d2F2ZWxlc3NvbnNjb250aW51ZWRwMiZjb21wYXJlPTEmb2xkdmVyPTIzJm5ld3Zlcj0y NAoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2Vk IGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczog MzA2LTMxMCBjaGFuZ2VkIHRvICtMaW5lczogMzA2LTMxMSBAQAorLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpfXycnY2luYmEnJ19fIHgx IGtpc3NlcyB4MiBhdCBsb2N1cyB4MwoKLSAnJ21pIGdpIHByYW1pIGRvIGdpIGNpbmJhIGRvJycg bGVhdmVzIG1pIG91dHNpZGUgdGhlIGNvbnN0cnVjdCwgbWFraW5nIGl0IGFwcGx5IHRvIGJvdGgg YnJpZGkuIFRoaXMgY2FuIGFsc28gYmUgZG9uZSB3aXRoICcnZG8nJywgd2hpY2ggaXMgYWxzbyBw cmVzZW50IGluIGJyb3RoIGJyaWRpOiAnJ21pIGdpIHByYW1pIGdpIGNpbmJhIHZhdSBkbycnLiBO b3RlIHRoYXQgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBkbyBhcHBlYXIgb3V0c2lkZSB0aGUg c2Vjb25kIGJyaWRpLgorIF9fJycgW05vdGUgZnJvbSBJbG1lbjogZ2kuLi5naS4uLiBjb25zdHJ1 Y3QgaXMgb25seSB2YWxpZCB3aXRoIHN1bXRjaXRhLCBzbyBJIGhhZCB0byBjb3JyZWN0IHRoZSBl eGFtcGxlcyBvZiB0aGUgcGFyYWdyYXBoIGJlbG93LiBQZXJoYXBzIHRoaXMgcGFyYWdyYXBoIHNo b3VsZCBiZSBzaW1wbHkgcmVtb3ZlZD9dJydfXzxiciAvPicnbWkgZ2UgcHJhbWkgZG8gZ2kgY2lu YmEgZG8nJyBsZWF2ZXMgbWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkg dG8gYm90aCBicmlkaS4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBp cyBhbHNvIHByZXNlbnQgaW4gYnJvdGggYnJpZGk6ICcnbWkgZ2UgcHJhbWkgZ2kgY2luYmEgdmF1 IGRvJycuIE5vdGUgdGhhdCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRz aWRlIHRoZSBzZWNvbmQgYnJpZGkuCgpUaHVzLCB3ZSBjYW4gd3JpdGUgdGhlIG9yaWdpbmFsIHNl bnRlbmNlIHNob3J0ZXI6ICcnbWkgbXUnaSBnaSB4ZWJuaSBnaSBkYXJ4aSB2YXUgZG8nJywgb3Is IHRvIG9taXQgZXZlbiB0aGUgJyd2YXUnJywgd2UgY2FuIHdyaXRlIGl0IGV2ZW4gc2hvcnRlciBh bmQgbW9yZSBlbGVnYW50bHk6ICcnbWkgZG8gbXUnaSBnaSB4ZWJuaSBnaSBkYXJ4aScnCgoKCgoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZlIExl c3NvbnMgQ29udGludWVkIChwYXJ0IHR3byk6CgohISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGggaGVs cCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2YgbGEgLmtyaWJh Y3IuIFNwcmluZyAyMDEzLgoKCgpUaGlzIGlzIHRoZSBzZWNvbmQgaW5zdGFsbG1lbnQgb2YgdGhl IFdhdmUgTGVzc29ucyBDb250aW51ZWQuIElmIHlvdSBkaWRuJ3QgY2F0Y2ggdGhlIGZpcnN0IHBh cnQsIG9yIHdhbnQgdG8gZ28gYmFjayBmb3Igc29tZSByZWFzb24sIGp1c3QgY2xpY2sgKCh3YXZl bGVzc29uc2NvbnRpbnVlZHxvbiB0aGVzZSBmb3VyIHdvcmRzLikpLiBZb3UgY2FuIGFsc28gZ28g dG8gdGhlIHRoaXJkIHBhcnQgYnkgY2xpY2tpbmcgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRo aXMgbGluaykpLCBpZiB5b3UgZmVlbCBsaWtlIGRvaW5nIHRoYXQuCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFzc29ydGVkIHdvcmRzKQoKQW5kIHdpdGggdGhh dCwgdGhpcmQgY2hhcHRlciwgeW91IGtub3cgYSBsb3QgYWJvdXQgTG9qYmFuIHN1bXRpLiBBZnRl ciBzdWNoIGEgbG9uZyB0aW1lIG9mIHJpZ29yb3VzIHN5c3RlbWF0aWMgbGVhcm5pbmcsIHdoYXQg Y291bGQgYmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhpcyBsZXNzb24gd2hlcmUgSSBzcGVhayBhYm91 dCBzb21lIHdvcmRzIHdoaWNoIEkgY291bGQgbm90LCBvciB3YW50ZWQgbm90IHRvIGZpdCBpbnRv IGFueSBvdGhlciBsZXNzb25zPyBTbyBoZXJlIGFyZSBhIGZldyBzbWFsbCBhbmQgcmVhbGx5IHVz ZWZ1bCB3b3JkczoKCgoKVGhlIGZvbGxvd2luZyBjbWF2byBhcmUgYWxsIGVsbGlwdGljYWwgd29y ZHMuIFlvdSBzaG91bGQgYWxyZWFkeSBiZSBmYW1pbGlhciB3aXRoIHRoZSBmaXJzdC4KCl9fJyd6 bydlJydfXyAtIGVsbGlwdGljYWwgc3VtdGkKCl9fJydjbydlJydfXyAtIGVsbGlwdGljYWwgc2Vs YnJpCgpfXycnZG8nZScnX18gLSBlbGxpcHRpY2FsIHN1bXRjaXRhCgpfXycnanUnYScnX18gLSBl bGxpcHRpY2FsIGV2aWRlbnRpYWwKCl9fJydkbydpJydfXyAtIGVsbGlwdGljYWwgdXR0ZXJhbmNl IHZhcmlhYmxlCgpfXycnZ2UnZScnX18gLSBlbGxpcHRpY2FsIGF0dGl0dWRpbmFsCgoKCkFsbCBv ZiB0aGVzZSBhY3QgZ3JhbW1hdGljYWxseSBhcyBhIGNtYXZvIG9mIHRoZSBraW5kIHRoZXkgcmVw cmVzZW50LCBidXQgdGhleSBjb250YWluIG5vIGluZm9ybWF0aW9uLCBhbmQgY2FuIGJlIHF1aXRl IGhhbmR5IHdoZW4geW91J3JlIGxhenkgYW5kIGRvbid0IG5lZWQgdG8gYmUgc3BlY2lmaWMgYW55 d2F5LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGEgZmV3IHRoaW5ncyB3aGljaCBuZWVkIHRvIGJlIGNs ZWFyZWQgdXA6CgoKCiAgICAnJ3pvJ2UnJyBoYXZlIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGlj aCBpcyBjbGFpbWVkIHRvIGhhdmUgYSB2YWx1ZS4g4oCcemVybyBjYXJz4oCdIG9yIOKAnG5vdGhp bmfigJ0sIGZvciBpbnN0YW5jZSwgaGFzIG5vIHZhbHVlLCBhbmQgdGhlcmVmb3JlIGNhbm5vdCBi ZSByZWZlcnJlZCB0byBieSAnJ3pvJ2UnJy4gVGhpcyBpcyBiZWNhdXNlLCBpZiBpdCBjb3VsZCBt ZWFuIOKAnG5vdGhpbmfigJ0gYnkgJyd6bydlJycsIHRoZW4gYW55IHNlbGJyaSBjb3VsZCBiZSBp ZGVudGljYWwgdG8gaXRzIG5lZ2F0aW9uLCBpZiBvbmUgb2YgdGhlIGVsaWRlZCBzdW10aSB3ZXJl IGZpbGxlZCB3aXRoIGEgJyd6bydlJycgd2l0aCBubyB2YWx1ZS4KCiAgICAnJ2dlJ2UnJyBkb2Vz IG5vdCBtZWFuIHRoYXQgeW91IGZlZWwgbm8gZW1vdGlvbiwganVzdCB0aGF0IHlvdSBmZWVsIG5v dGhpbmcgc3BlY2lhbCBvciB3b3J0aCB0byBtZW50aW9uIGF0IHRoZSBtb21lbnQuIEl0J3Mgc2lt aWxhciB0byDigJxJJ20gZmluZS7igJ0uICcnZ2UnZSBwZWknJyBhc2sgYWJvdXQgYW4gZWxsaXB0 aWNhbCBlbW90aW9uIGFuZCBpcyBhIGdvb2QgdHJhbnNsYXRpb24gZm9yOiDigJxIb3cgYXJlIHlv dSBmZWVsaW5nP+KAnS4KCiAgICAnJ2NvJ2UnJyBpcyBoYW5keSB3aGVuIG5lZWRpbmcgYSBzZWxi cmkgaW4gYSBjb25zdHJ1Y3QgZm9yIGdyYW1tYXRpY2FsIHJlYXNvbnMsIGxpa2UgaW4gdGhlIGRl ZmluaXRpb24gb2YgJyd0dSdhJycgaW4gdGhlIHByZXZpb3VzIGxlc3Nvbi4KCiAgICAnJ2p1J2En JyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHRydXRoIHZhbHVlIG9yIHN1YmplY3RpdmUgdW5kZXJzdGFu ZGluZyBvZiB0aGUgYnJpZGkgb3IgYW55dGhpbmcgbGlrZSB0aGF0LiBJbiBmYWN0LCBpdCdzIG1v c3RseSBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsICcnanUnYSBwZWknJywg4oCcV2hhdCBpcyB5b3Vy IGJhc2lzIGZvciBzYXlpbmcgdGhhdD/igJ0gaXMgaGFuZHkuCgogICAgJydkbydpJycgaXMgcmVh bGx5IHVzZWZ1bC4gQSBsb3Qgb2YgdGltZXMgd2hlbiB5b3UgcmVmZXIgdG8gdXR0ZXJhbmNlcyBv ciBjb252ZXJzYXRpb25zIGJ5IHdvcmRzIGxpa2Ug4oCcdGhpc+KAnSBvciDigJx0aGF04oCdLCB5 b3Ugd2FudCAnJ2RvJ2knJy4KCiAgICBJZiB5b3UgZmlsbCBpbiBtb3JlIHN1bXRpIHRoYW4gYSBz ZWxicmkgaGFzIHBsYWNlcyBmb3IsIHRoZSBsYXN0IHN1bXRpIGhhdmUgaW1wbGllZCAnJ2RvJ2Un JyBzdW10Y2l0YSBpbiBmcm9udCBvZiB0aGVtLgoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSB3 b3JkLCAnJ3ppJ28nJywgdGhhdCB5b3UgY2FuIGZpbGwgYSBzdW10aSBwbGFjZSB3aXRoIHRvIGRl bGV0ZSBpdCBmcm9tIGFueSBzZWxicmkuICcnbG8gbWVsYmkgYmUgemknbycnLCBmb3IgaW5zdGFu Y2UsIGlzIGp1c3Qg4oCcU29tZXRoaW5nIGJlYXV0aWZ1bOKAnSwgYW5kIGRvZXMgbm90IGluY2x1 ZGUgdGhlIHVzdWFsIHgyIG9mICcnbWVsYmknJywgd2hpY2ggaXMgdGhlIG9ic2VydmVyIHdobyBq dWRnZXMgc29tZXRoaW5nIHRvIGJlIGJlYXV0aWZ1bC4gVGh1cywgaXQgY2FuIG1lYW4gc29tZXRo aW5nIGxpa2Ug4oCcT2JqZWN0aXZlbHkgYmVhdXRpZnVsLuKAnSBJdCBkb2VzIG5vdCBzdGF0ZSB0 aGF0IG5vdGhpbmcgZmlsbHMgdGhlIHN1bXRpIHBsYWNlIHdoaWNoIGlzIGJlaW5nIGRlbGV0ZWQs IGp1c3QgdGhhdCB0aGUgc3VtdGkgcGxhY2UgaXMgbm90IGJlaW5nIGNvbnNpZGVyZWQgaW4gdGhl IHNlbGJyaS4gVXNpbmcgJyd6aSdvJycgd2l0aCBhIHN1bXRjaXRhIGdpdmVzIHdlaXJkIHJlc3Vs dHMuIEZvcm1hbGx5LCB0aGV5IHNob3VsZCBjYW5jZWwgZWFjaCBvdGhlciBvdXQuIFByYWN0aWNh bGx5LCBpdCB3b3VsZCBwcm9iYWJseSBiZSB1bmRlcnN0b29kIGFzIGFuIGV4cGxpY2l0IHdheSBv ZiBzYXlpbmcgdGhhdCB0aGUgc3VtdGNpdGEgZG9lcyBub3QgYXBwbHksIGFzIGluOiAnJ21pIGRh cnhpIGRvIG11J2kgemknbycnIC0g4oCcSSBoaXQgeW91LCB3aXRoIG9yIHdpdGhvdXQgbW90aXZh dGlvbi7igJ0KCgoKVGhlbiB0aGVyZSBpcyB0aGUgd29yZCAnJ2phaScnLiBJdCdzIG9uZSBvZiB0 aG9zZSBjb29sLCBzbWFsbCB3b3JkcyB3aGljaCBhcmUgaGFyZCB0byBncmFzcCwgYnV0IGVhc3kg dG8gd29yayB3aXRoIG9uY2UgeW91IGtub3cgaXQuIEl0IGhhcyB0d28gZGlzdGluY3QsIGJ1dCBz aW1pbGFyIGZ1bmN0aW9ucy4gQm90aCBoYXZlIHNvbWV0aGluZyB0byBkbyB3aXRoIGNvbnZlcnRp bmcgdGhlIHNlbGJyaSwgbGlrZSAnJ3NlJycgZG9lcy4KCl9fJydqYWknJ19fIFNlbGJyaSBjb252 ZXJzaW9uOiBDb252ZXJ0cyBzdW10Y2l0YSBvciB1bnNwZWNpZmllZCBhYnN0cmFjdGlvbiB0byB4 MS4gVXNlIHdpdGggJydmYWknJwoKX18nJ2ZhaScnX18gTWFya3Mgc3VtdGkgcGxhY2UuIFdvcmtz IGxpa2UgJydmYScnLiBUbyBiZSB1c2VkIHdpdGggJydqYWknJy4KClRoZSBmaXJzdCBncmFtbWF0 aWNhbCBjb25zdHJ1Y3Rpb24gaXQgY2FuIG1ha2UgaXMgIicnamFpJycge3N1bXRjaXRhfSB7c2Vs YnJpfSIuIEl0IGNoYW5nZXMgdGhlIHN1bXRpIHBsYWNlcyBzdWNoIHRoYXQgdGhlIHN1bXRpIHBs YWNlIG9mIHRoZSBzdW10Y2l0YSBiZWNvbWVzIHRoZSBzZWxicmkncyB4MSwgYW5kIHRoZSBzZWxi cmkncyBvbGQgeDEgaXMgcmVtb3ZlZCwgYW5kIG9ubHkgYWNjZXNzaWJsZSBieSB1c2luZyAnJ2Zh aScnLCB3aGljaCB3b3JrcyBsaWtlICcnZmEnJy4gWW91IGNhbiBzZWUgaXQgd2l0aCB0aGlzIGV4 YW1wbGU6CgpfXycnZ2F1JydfXyAtIHN1bXRjaXRhIChmcm9tICcnZ2FzbnUnJykg4oCcYnJpZGkg aGFzIGJlZW4gYnJvdWdodCBhYm91dCBieS93aXRoIGFjdGl2ZSBhZ2VudCB7c3VtdGl94oCdCgon J2RvIGphaSBnYXUganVuZGkgdGkgZmFpIG1pJycuIC0g4oCcWW91IGJyaW5nIGFib3V0IGF0dGVu dGlvbiB0byB0aGlzIGJ5IG1l4oCdLiBUaGUgbmV3IHNlbGJyaSwgJydqYWkgZ2F1IGp1bmRpJycs IGhhcyB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIOKAnHgxIGJyaW5ncyBhYm91dCBhdHRlbnRpb24g cGFpZCB0byB4MuKAnS4gVGhlc2UgYXJlIHRoZW4gZmlsbGVkIGJ5ICcnZG8nJyBhbmQgJyd0aScn LiBUaGUgJydmYWknJyB0aGVuIG1hcmtzIHRoZSBwbGFjZSBmb3IgdGhlIG9sZCB4MSwgdGhlIG9u ZSB3aG8gd2FzIHBheWluZyBhdHRlbnRpb24sIGFuZCBpdCBpcyBmaWxsZWQgd2l0aCAnJ21pJycu IFRoaXMgd29yZCBjYW4gYmUgdmVyeSBjb252ZW5pZW50IGFuZCBoYXMgdG9ucyBvZiB1c2VzLiBB IGdvb2QgZXhhbXBsZSBpcyBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLiBPbmUgY2FuLCBmb3IgaW5z dGFuY2UsIHJlZmVyIHRvIOKAnHRoZSBtZXRob2Qgb2Ygdm9saXRpb25hbCBhY3Rpb27igJ0gYnkg JydsbyBqYWkgdGEnaSB6dWt0ZScnLgoKX18nJ3RhJ2knJ19fOiBzdW10Y2l0YSAoZnJvbSAnJ3Rh ZGppJycpIOKAnEJyaWRpIGlzIGRvbmUgd2l0aCB0aGUgbWV0aG9kIG9mIHtzdW10aX3igJ0KCkNh biB5b3UgZGVkdWNlIHdoYXQgdGhlIG9yZGluYXJ5IExvamJhbiBwaHJhc2UgJydkbyBqYWkgZ2F1 IG1vJycgbWVhbnM/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcV2hhdCBhcmUgeW91IGRvaW5n P+KAnX5+CgoKClRoZSBvdGhlciBmdW5jdGlvbiBvZiAnJ2phaScnIGlzIGVhc2llciB0byBleHBs YWluLiBJdCBzaW1wbHkgY29udmVydHMgdGhlIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHN1bXRpIGlu IHRoZSB4MSBnZXRzIGEgJyd0dSdhJycgaW4gZnJvbnQgb2YgaXQgKCcna28nYSBqYWkgYnJvZGEn JyBfXz1fXyAnJ3R1J2Ega28nYSBicm9kYScnKS4gSW4gb3RoZXIgd29yZHMsIGl0IGNvbnZlcnRz IHRoZSBzZWxicmkgaW4gYSB3YXkgc3VjaCB0aGF0IGl0IGJ1aWxkcyBhbiBlbGxpcHRpY2FsIGFi c3RyYWN0aW9uIGZyb20gdGhlIHN1bXRpIGluIHRoZSB4MSwgYW5kIHRoZW4gZmlsbHMgeDEgd2l0 aCB0aGUgYWJzdHJhY3Rpb24gaW5zdGVhZCBvZiB0aGUgYWN0dWFsIHN1bXRpLiBBZ2FpbiwgdGhl IG9yaWdpbmFsIHN1bXRpIHBsYWNlIGlzIGFjY2Vzc2libGUgYnkgJydmYWknJy4KCkEgdmVyeSBh Y3RpdmUgTG9qYmFuIElSQy11c2VyIG9mdGVuIHNheXMgJydsZSBnZXJrdSBwZSBkbyBqYWkgc2Ug c3RpZGkgbWknJywgdG8gdXNlIGEgcmFuZG9tIGV4YW1wbGUgb2YgYSBzdW10aSBpbiB4MS4gV2hh dCdzIGhlIHNheT8KCl9fJydzdGlkaScnX18geDEgaW5zcGlyZXMvc3VnZ2VzdHMgeDIgaW4vdG8g eDPigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3QgKHNvbWV0aGluZyBhYm91 dCkgeW91ciBkb2cu4oCdfn4KCgoKU28gZmFyIHlvdSd2ZSBsZWFybmVkIGhvdyB0byBjb252ZXJ0 IGJyaWRpIHRvIHNlbGJyaSwgc2VsYnJpIHRvIHN1bXRpLCBhbmQgc2VsYnJpIGludG8gYnJpZGks IHNpbmNlIGFsbCBzZWxicmkgYnkgdGhlbXNlbHZlcyBhcmUgYWxzbyBicmlkaS4gWW91IG9ubHkg bmVlZCBvbmUgbGFzdCBmdW5jdGlvbjogY29udmVydCBzdW10aSB0byBzZWxicmkuIFRoaXMgaXMg ZG9uZSB3aXRoIHRoZSB3b3JkICcnbWUnJy4gSXQgYWNjZXB0cyBhIHN1bXRpIGFuZCBjb252ZXJ0 cyBpdCBpbnRvIGEgc2VsYnJpLgoKX18nJ21lJydfXzogR2VuZXJpYyBjb252ZXJ0IHN1bXRpIHRv IHNlbGJyaS4geDEgaXMvYXJlIGFtb25nIHRoZSByZWZlcmVudHMgb2YgU1VNVEkKCgoKV2hlbiBz Y3Jld2luZyBhIHNlbnRlbmNlIHVwLCBrbm93aW5nIGhvdyB0byBjb3JyZWN0IHlvdXJzZWxmIGlz IGEgZ29vZCBpZGVhLiBUaGVyZSBhcmUgdGhyZWUgd29yZHMgaW4gTG9qYmFuIHdoaWNoIHlvdSBj YW4gdXNlIHRvIGRlbGV0ZSB5b3VyIHByZXZpb3VzIHdvcmQocykKCl9fJydzaScnX18gLSBkZWxl dGlvbjogRGVsZXRlcyBsYXN0IHdvcmQgb25seS4KCl9fJydzYScnX18gLSBkZWxldGlvbjogRGVs ZXRlcyBiYWNrIHVudGlsIG5leHQgY21hdm8gc3Bva2VuLgoKX18nJ3N1JydfXyAtIGRlbGV0aW9u OiBEZWxldGVzIGVudGlyZSBkaXNjb3Vyc2UuCgpUaGUgZnVuY3Rpb24gb2YgdGhlc2Ugd29yZHMg YXJlIG9idmlvdXM6IFRoZXkgZGVsZXRlIHdvcmRzIGFzIGlmIHRoZXkgaGF2ZSBuZXZlciBiZWVu IHNwb2tlbi4gVGhleSBkbyBub3Qgd29yayBpbnNpZGUgY2VydGFpbiBxdW90ZXMgKGFsbCBxdW90 ZXMgZXhjZXB0ICcnbHUuLmxpJ3UnJyksIHRob3VnaCwgYXMgdGhhdCB3b3VsZCBsZWF2ZSBpdCBp bXBvc3NpYmxlIHRvIHF1b3RlIHRoZXNlIHdvcmRzLiBTZXZlcmFsICcnc2knJyBpbiBhIHJvdyBk ZWxldGVzIHNldmVyYWwgd29yZHMuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlaWdo dGVlbiAocXVvdGVzKQoKT25lIG9mIHRoZSBrZXkgZGVzaWduIGZlYXR1cmVzIG9mIExvamJhbiBp cyB0aGF0IGl0J3Mgc3VwcG9zZWQgdG8gYmUgYXVkaW8tdmlzdWFsIGlzb21vcnBoaWMsIG1lYW5p bmcgdGhhdCBldmVyeXRoaW5nIGV4cHJlc3NlZCBpbiB0ZXh0IHNob3VsZCBhbHNvIGJlIGV4cHJl c3NlZCBpbiBzcGVlY2ggYW5kIHZpY2UgdmVyc2EuIFRoZXJlZm9yZSwgdGhlcmUgY2Fubm90IGJl IGFueSBwdW5jdHVhdGlvbiB3aGljaCBpcyBub3QgcHJvbm91bmNlZC4gVGhpcyBtZWFucyB0aGF0 IExvamJhbiBoYXMgYSB3aWRlIHJhbmdlIG9mIHdvcmRzIHRvIHF1b3RlIG90aGVyIHdvcmRzLiBB bGwgTG9qYmFuIHF1b3RlcyB0YWtlIHNvbWUgaW5wdXQgb2YgdGV4dCBhbmQgY29udmVydHMgaXQg dG8gYSBzdW10aS4gTGV0J3MgYmVnaW4gd2l0aCB0aGUgbW9zdCBzaW1wbGU6CgoKCl9fJydsdScn X18gUXVvdGUgd29yZDogQmVnaW4gcXVvdGUgb2YgZ3JhbW1hdGljYWwgTG9qYmFuIGNvbnRlbnQK Cl9fJydsaSd1JydfXyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgZ3JhbW1hdGljYWwgTG9qYmFu IGNvbnRlbnQKCgoKVGhlIHRleHQgaW5zaWRlIHRoaXMgY29uc3RydWN0IG11c3QgYnkgaXRzZWxm IGJlIGdyYW1tYXRpY2FsLiBJdCBjYW4gcXVvdGUgYWxsIExvamJhbiB3b3JkcyB3aXRoIHNvbWUg ZmV3IGV4Y2VwdGlvbnMsIG1vc3Qgbm90YWJseSwgb2J2aW91c2x5LCAnJ2xpJ3UnJy4KCgoKVHJ5 IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHNlbnRlbmNlLiBUYWtlIHlvdXIgdGltZS4KCicn bWkgc3RpZGkgbG8gZHJhdGEgYmUgdHUnYSBsdSBrbyBqYWkgZ2F1IG1vIGxpJ3UnJwoKX18nJ2Ry YXRhJydfXyB4MSBpcyBkaWZmZXJlbnQgZnJvbSB4MiBieSBzdGFuZGFyZAoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnEkgc3VnZ2VzdCBzb21ldGhpbmcgZGlmZmVyZW50IHRoYW4gc29tZXRoaW5n IGFib3V0IOKAnGtvIGphaSBnYXUgbW/igJ0u4oCdfn4KCgoKVGhlc2UgcXVvdGUgd29yZHMgY2Fu bm90IHF1b3RlIHVuZ3JhbW1hdGljYWwgdGV4dC4gVGhpcyBpcyBzb21ldGltZXMgdXNlZnVsLCB3 aGVuIHlvdSB3YW50IHRvIG9ubHkgcGljayBvdXQgcGFydCBvZiBhIHNlbnRlbmNlLCBhcyBpbjog 4oCcIGlzIOKAnGdpJ2XigJ0gYSBMb2piYW4gc3VtdGNpdGE/4oCdCgoKCkZvciB0aGlzLCB5b3Ug bmVlZCB0aGVzZSB0d28gY21hdm8KCl9fJydsbyd1JydfXyBRdW90ZSB3b3JkOiBCZWdpbiBxdW90 ZSBvZiB1bmdyYW1tYXRpY2FsIGJ1dCBMb2piYW4gY29udGVudAoKX18nJ2xlJ3UnJ19fIFF1b3Rl IHdvcmQ6IEVuZCBxdW90ZSBvZiB1bmdyYW1tYXRpY2FsIGJ1dCBMb2piYW4gY29udGVudAoKCgpU aGUgdGV4dCBpbnNpZGUgbXVzdCBiZSBMb2piYW4gd29yZHMsIGJ1dCBuZWVkIG5vdCBiZSBncmFt bWF0aWNhbC4gVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUgZXhhbXBsZSAodGhlIG9uZSB3aXRo ICcnZ2knZScnKSBpbnRvIExvamJhbgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicneHUgbG8ndSBn aSdlIGxlJ3UgbG9qYm8gc3VtdGNpdGEnJ35+CgoKClRoaXMgcXVvdGUgY2FuIGJlIHVzZWQgdG8g cXVvdGUgYWxsIExvamJhbiB3b3JkcyBleGNlcHQgJydsZSd1JycuIEhvd2V2ZXIsIHRoaXMgaXMg bm90IGVub3VnaC4gSWYgd2Ugd2FudCB0byB0cmFuc2xhdGUg4oCcaXMg4oCdZG8gbW/igJ0gYSBj b3JyZWN0IHRyYW5zbGF0aW9uIG9mIOKAnFdoYXQncyB1cD/igJ3igJ0sIHdlIG1pZ2h0IGJlIHNs aWdodGx5IHdyb25nIGFib3V0IHdoYXQgd2UgaGVyZSBzdGF0ZSwgc2luY2UgJydkbyBtbycnIGFs c28gY2FuIG1lYW4g4oCcV2hhdCBhcmUgeW91P+KAnSwgYnV0IGxldCdzIHJvbGwgd2l0aCBpdCBm b3IgYSBzZWNvbmQuIFdoYXQgd2UgbmVlZCBoZXJlIGlzIHRoZSB3b3JkICcnem9pJycuCgoKCicn em9pJycgTmV4dCBjbWF2byBpcyBiZWdpbiBhbGwtcHVycG9zZSBxdW90ZSBhbmQgY2xvc2UgYWxs LXB1cnBvc2UgcXVvdGUuCgoKCldoZW4gdXNpbmcgJyd6b2knJywgeW91IHBpY2sgYW55IG1vcnBo b2xvZ2ljYWxseSBjb3JyZWN0IGxvamJhbiB3b3JkIGF0IHdpbGwgKGNhbGxlZCB0aGUgZGVsaW1p dGVyKSwgd2hpY2ggdGhlbiBvcGVucyBhIHF1b3RlLiBUbyBjbG9zZSBpdCwgdXNlIHRoYXQgd29y ZCBhZ2Fpbi4gVGhpcyB3YXksIHlvdSBjYW4gcXVvdGUgYW55dGhpbmcgZXhjZXB0IHRoZSBkZWxp bWl0ZXIsIHdoaWNoIHNob3VsZG4ndCBiZSBhIHByb2JsZW0gYmVjYXVzZSB5b3UgY2FuIHBpY2sg aXQgeW91cnNlbGYuIFVzdWFsbHksIHRoZSB3b3JkIHBpY2tlZCBpcyBlaXRoZXIgJyd6b2knJyBp dHNlbGYsIG9yIGEgbGV0dGVyIHdoaWNoIHN0YW5kcyBmb3IgdGhlIGxhbmd1YWdlIHdoaWNoIHRo ZSBxdW90ZSBpcyB3cml0dGVuIGluLiBFeGFtcGxlOiDigJxJIGxpa2VkIFRoZSBQaGFudG9tIG9m IHRoZSBPcGVyYeKAnSBpcyAnJ21pIHB1IG5lbGNpIGxhJ2Ugem9pIHpvaS4gVGhlIFBoYW50b20g b2YgdGhlIE9wZXJhIC56b2knJyBOb3RpY2UgdHdvIHRoaW5nczogRmlyc3RseSwgSSBuZWVkIGEg JydsYSdlJycsIHNpbmNlIEkgZGlkbid0IGxpa2UgdGhlIHF1b3RlLCBidXQgcmF0aGVyIHdoYXQg aXQgcmVmZXJyZWQgdG8uIFNlY29uZGx5LCBiZXR3ZWVuIHRoZSBjaG9zZW4gZGVsaW1pdGVyIGFu ZCB0aGUgcXVvdGUsIHRoZXJlIGFyZSBwYXVzZXMsIG9wdGlvbmFsbHkgcmVwcmVzZW50ZWQgYnkg YSBmdWxsIHN0b3AgaW4gd3JpdGluZy4gVGhpcyBwYXVzZSBpcyBuZWNlc3NhcnkgdG8gY29ycmVj dGx5IGlkZW50aWZ5IHRoZSBkZWxpbWl0ZXIuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3Zl IHNlbnRlbmNlIGNvbmNlcm5pbmcg4oCcV2hhdCdzIHVwP+KAnQoKCgpfXycnZHJhbmknJ19fIHgx IGlzIGNvcnJlY3QvcHJvcGVyIGluIGFzcGVjdCB4MiBpbiBzaXR1YXRpb24geDMgYnkgc3RhbmRh cmQgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3h1IGx1IGRvIG1vIGxpJ3UgZHJhbmkgeGUg ZmFudmEgem9pIGd5LiBXaGF0J3MgdXA/IC5neScnLiBIZXJlIHRoZSBkZWxpbWl0ZXIgJydneScn IGlzIGNob3NlbiBiZWNhdXNlIGl0J3Mgc2hvcnQgZm9yICcnZ2xpY28nJywgbWVhbmluZyAiRW5n bGlzaCJ+fgoKCgpDbG9zZWx5IGFuYWxvZ291c2x5LCB0aGVyZSBpcyAnJ2xhJ28nJy4gSXQgd29y a3MgZXhhY3RseSBsaWtlICcnem9pJycsIGJ1dCB0dXJucyB0aGUgcmVzdWx0aW5nIHF1b3RlIGlu dG8gYSBuYW1lLiBJdCBpcyBuZWVkZWQgYmVjYXVzZSBub3JtYWxseSwgb25seSBzZWxicmkgYW5k IGNtZXZsYSBjYW4gYmUgbmFtZXMsIG5vdCBxdW90ZXMuCgpfXycnbGEnbycnX18gTmV4dCBjbWF2 byBpcyBiZWdpbiBhbGwtcHVycG9zZSBxdW90ZSBhbmQgY2xvc2UgYWxsLXB1cnBvc2UgcXVvdGUg 4oCTIHVzZSBhcyBuYW1lLgoKCgpMYXN0IG9mIHRoZSBvZmZpY2lhbCBxdW90ZSB3b3JkcywgdGhl cmUgaXMgJyd6bycnLiAnJ3pvJycgYWx3YXlzIHF1b3RlcyB0aGUgbmV4dCBMb2piYW4gd29yZCwg bm8gbWF0dGVyIHdoYXQgaXQgaXMuIEl0J3MgcHJldHR5IGhhbmR5LgoKJyd6bycnIFF1b3RlIG5l eHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3aGF0LgoKRXhhbXBsZTogJyd6byB6byB6bydvIHBs aXhhdScnID0g4oCcIOKAnHpv4oCdIGlzIHVzZWZ1bCwgaGVoZeKAnQoKX18nJ3pvJ28nJ19fIGF0 dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBIdW1vcm91c2x5LCDigJxraWRkaW5nIHlvdeKAnQoKX18n J3BsaXhhdScnX18geDEgaXMgdXNlZnVsIGZvciB4MiB0byBkbyBwdXJwb3NlIHgzCgoKCkxvamJh biB1c2VycyBoYXZlIGZvdW5kIGl0IHVzZWZ1bCB0byBzdXBwbGVtZW50IHdpdGggZm91ciBhZGRp dGlvbmFsIHF1b3RlIHdvcmRzLiBUaGV5IGFyZSBhbGwgZXhwZXJpbWVudGFsLCBhbmQgdGhlIGZv cm1hbCBncmFtbWFyIGRvZXMgbm90IHN1cHBvcnQgaXQuIE5vbmV0aGVsZXNzLCB0aGV5IGFyZSB1 c2VkIG9mdGVuLCBhbmQgaXQncyBnb29kIHRvIGJlIGFibGUgdG8gcmVjb2duaXplIHRoZW0uIFRo ZSBtb3N0IHVzZWQgaXM6CgoKCl9fJyd6bydvaScnX18gUXVvdGUgbmV4dCB3b3JkIG9ubHkuIE5l eHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Igd2hpdGVzcGFjZSBp biB3cml0aW5nOgoKCgpFeGFtcGxlOiAnJ3JpIHB1IGN1c2t1IHpvJ29pIERvaCEgLnUnaScnIOKA nEhhIGhhLCBoZSBzYWlkIOKAnERvaCHigJ0g4oCcCgoKCkl0J3MgdmVyeSBlYXN5IHRvIHVzZS4g QWdhaW4sIG5vdGUgdGhhdCBhbGwgZ3JhbW1hciBib3RzIHdpbGwgY29uc2lkZXIgdGhlIHNlbnRl bmNlIG5vdCBncmFtbWF0aWNhbCwgYmVjYXVzZSB0aGVzZSB3b3JkcyBkbyBub3QgZXhpc3QgaW4g dGhlIGZvcm1hbCBncmFtbWFyLgoKCgpBbmFsb2dvdXMgdG8gJyd6bydvaScnIGFuZCAnJ2xhJ28n JywgdGhlcmUgaXMgYWxzbyB0aGUgd29yZCAnJ2xhJ29pJycsIHdoaWNoIHdvcmtzIGp1c3QgbGlr ZSAnJ3pvJ29pJycsIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZToKCl9fJydsYSdvaScn X18gUXVvdGUgbmV4dCB3b3JkIG9ubHksIHVzZSBhcyBuYW1lLiBOZXh0IHdvcmQgaXMgaWRlbnRp ZmllZCBieSBwYXVzZXMgaW4gc3BlZWNoIG9yIHdoaXRlc3BhY2UgaW4gd3JpdGluZzoKCgoKSG93 IHdvdWxkIHlvdSBzYXk6IOKAnE15IEVuZ2xpc2ggbmFtZSBpcyDigJxTYWZp4oCd4oCdPwoKX18n J2dsaWNvJydfXyB4MSBpcyBFbmdsaXNoL3BlcnRhaW5zIHRvIEVuZ2xpc2ggY3VsdHVyZSBpbiBh c3BlY3QgeDIKCl9fJydjbWVuZScnX18geDEgaXMgdGhlIG5hbWUgb2YgeDIgYXMgdXNlZCBieSB4 MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xpY28gc2UgY21lbmUgbGEnb2kgU2FmaScn LiBOb3RpY2UgdGhlIG5lY2Vzc2FyeSBzZS4gV2UgZG9uJ3Qgd2hhdCB0byBzYXkgdGhhdCB3ZSdy ZSBhIG5hbWUhfn4KCgoKVGhpcmRseSwgJydyYSdvaScnIHF1b3RlcyB0aGUgbmV4dCByYWZzaS4g U2luY2UgcmFmc2kgYXJlIG5vdCB3b3JkcywgdGhleSB3b3VsZCB1c3VhbGx5IGhhdmUgdG8gYmUg cXVvdGVkIGJ5ICcnem9pJycuIEZ1cnRoZXJtb3JlLCBzZXZlcmFsIHJhZnNpIGFyZSBhbHNvIGNt YXZvLiBUbyBhdm9pZCBjb25mdXNpb24gb2Ygd2hpY2ggaXMgbWVhbnQsICcncmEnb2knJyBhbHdh eXMgcmVmZXIgdG8gYSByYWZzaSwgYW5kIGlzIHdyb25nIGluIGZyb250IG9mIGFueSB0ZXh0IHN0 cmluZyB3aGljaCBhcmUgbm90IHJhZnNpLgoKCgpXaGF0IGRvZXMgJydyYSdvaSB6dSdlIHJhZnNp IHpvIHp1a3RlIC5pa3UnaSB6bydvaSB6dSdlIHN1bXRjaXRhJycgbWVhbj8KCl9fJydrdSdpJydf XyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSG93ZXZlciAvIHRob3VnaCAoY29udHJhc3RzIHRv IHNvbWV0aGluZyBwcmV2aW91c2x5IHNhaWQpCgpfXycncmFmc2knJ19fIHgxIGFuIGFmZml4IGZv ciB3b3JkL2NvbmNlcHQgeDIgd2l0aCBwcm9wZXJ0aWVzL29mIGZvcm0geDMgaW4gbGFuZ3VhZ2Ug eDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGUgcmFmc2kg4oCcenUnZeKAnSBpcyBhIHJh ZnNpIGZvciDigJx6dWt0ZeKAnS4gQnV0IOKAnHp1J2XigJ0gaXMgYSBzdW10Y2l0YeKAnX5+CgoK CkFuZCBmaW5hbGx5IHRoZSB1c2VmdWwgd29yZCAnJ21hJ29pJycuICcnbWEnb2knJyBxdW90ZXMg YW55IGNtYXZvLCBidXQgdHJlYXRzIHRoZSBxdW90ZSBhcyBhIG5hbWUgZm9yIHRoZSB3b3JkIGNs YXNzIChzZWxtYSdvKSB0byB3aGljaCB0aGF0IHdvcmQgYmVsb25ncy4gU28sIGZvciBpbnN0YW5j ZSwgYmEnbyBiZWxvbmdzIHRvIHRoZSB3b3JkY2xhc3MgY2FsbGVkIFpBaE8sIHNvICcnbWEnb2kg YmEnbycnIGlzIHVub2ZmaWNpYWwgTG9qYmFuIGZvciDigJxaYWhP4oCdCgoKClRyeSBpdCBvdXQu IFNheSB0aGF0ICcncHUnJyBhbmQgJydiYScnIGFyZSBpbiB0aGUgc2FtZSBzZWxtYSdvIQoKX18n J2NtYXZvJydfXyB4MSBpcyBhIGdyYW1tYXRpY2FsIHdvcmQgb2YgY2xhc3MgeDIgaW4gbGFuZ3Vh Z2UgeDMKCgoKKE9uZSBwb3NzaWJsZSkgQW5zd2VyOiAgfn5ncmV5LGdyZXk6Jyd6byBwdSBjbWF2 byBtYSdvaSBiYScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmV0ZWVuIChu dW1iZXJzKQoKV2hlbiBsZWFybmluZyBhIGxhbmd1YWdlLCBvbmUgb2YgdGhlIHRoaW5ncyB3aGlj aCBhcmUgdXN1YWxseSB0YXVnaHQgdmVyeSBlYXJseSBvbiBpcyBob3cgdG8gY291bnQuIFRoaXMg cmVhbGx5IG1ha2VzIGxpdHRsZSBzZW5zZSwgYmVjYXVzZSBpdCdzIG5vdCBuZWNlc3NhcnkgdG8g a25vdyBudW1iZXJzIGlmIHlvdSBkb24ndCBrbm93IGhvdyB0byBzcGVhayBhYm91dCB0aG9zZSB0 aGluZ3MgdG8gd2hpY2ggdGhleSBhcHBseS4gVGhpcyBpcyBwYXJ0bHkgdGhlIHJlYXNvbiB3aHkg SSBoYXZlIGxlZnQgaXQgZm9yIGxlc3NvbiBudW1iZXIgbmluZXRlZW4uIFRoZSBvdGhlciByZWFz b24gaXMgdGhhdCB3aGlsZSB0aGUgbnVtYmVycyB0aGVtc2VsdmVzIGFyZSBlYXN5IHRvIGxlYXJu LCBob3cgdGhleSBhcHBseSB0byBzdW10aSBjYW4gZ2V0IHZlcnkgY29uZnVzaW5nIGluZGVlZC4g VGhhdCwgaG93ZXZlciwgd2Ugd2lsbCBzYXZlIGZvciBhIGxhdGVyIGxlc3Nvbi4KCkJlZm9yZSBs ZWFybmluZyB0aGUgd29yZHMgdGhlbXNlbHZlcywgeW91IHNob3VsZCBrbm93IHRoYXQgbnVtYmVy cyBkbyBub3QgaGF2ZSBhbnkgaW50ZXJuYWwgZ3JhbW1hci4gVGhpcyBtZWFucyB0aGF0IGFueSBy b3cgb2YgbnVtYmVyIHdvcmRzIChoZW5jZWZvcnRoIHJlZmVycmVkIHRvIGFzIGEgIm51bWJlciBz dHJpbmciKSBhcmUgdHJlYXRlZCBpZGVudGljYWxseSB0byBhbnkgb3RoZXIgbnVtYmVyIHN0cmlu ZyB0byB0aGUgTG9qYmFuIGdyYW1tYXIsIGV2ZW4gaWYgdGhlIHN0cmluZyBtYWtlcyBubyBzZW5z ZS4gVGhlcmVmb3JlLCBvbmUgY2FuIG5ldmVyIGFuc3dlciB1bmFtYmlndW91c2x5IHdoZXRoZXIg YSBudW1iZXIgY29uc3RydWN0IG1ha2VzIHNlbnNlIG9yIG5vdC4gVGhlcmUgYXJlLCBob3dldmVy LCBpbnRlbmRlZCB3YXlzIG9mIHVzaW5nIHRoZSBudW1iZXIgd29yZHMsIGFuZCBjb25mdXNpb24g d2lsbCBwcm9iYWJseSByZXN1bHQgaWYgeW91IGRldmlhdGUgZnJvbSB0aGUgc3RhbmRhcmQuCgpM ZWFybmluZyBhbGwgdGhlIG51bWJlciB3b3JkcyBvZiBMb2piYW4gYXJlIHdheSBiZXlvbmQgdGhl IHNjb3BlIG9mIHRoaXMgbGVzc29uLCBzbyB5b3Ugd2lsbCBvbmx5IGJlIGludHJvZHVjZWQgdG8g d2hhdCBpcyBub3JtYWxseSB1c2VkIGluIHRleHQuIFRoZSB3aWRlIHJhbmdlIG9mIExvamJhbiBt YXRoZW1hdGljYWwgY21hdm8gYXJlIGNhbGxlZCAnJ21la3NvJycgKExvamJhbiBmb3IgIm1hdGhl bWF0aWNhbCBleHByZXNzaW9uIiksIGFuZCBpcyB3aWRlbHkgZGlzcmVnYXJkZWQgYmVjYXVzZSBv ZiBpdHMgY29tcGxleGl0eSBhbmQgcXVlc3Rpb25hYmxlIGFkdmFudGFnZSBvdmVyIHNvLWNhbGxl ZCBicmlkaSBtYXRoLgoKTGV0J3MgYmVnaW4gd2l0aCB0aGUgb3JkaW5hcnkgTG9qYmFuIG51bWJl cnMsIGZyb20gemVybyB0byBuaW5lOgoKfHx6ZXJvfG9uZXx0d298dGhyZWV8Zm91cnxmaXZlfHNp eHxzZXZlbnxlaWdodHxuaW5lCgpub3xwYXxyZXxjaXx2b3xtdXx4YXx6ZXxiaXxzb3x8CgpOb3Rp Y2UgaG93IHRoZSB2b3dlbHMgYXJlIGFsdGVybmF0aW5nICh3aXRoIHRoZSBleGNlcHRpb24gb2Yg JydubycnKSwgYW5kIGhvdyBubyBjb25zb25hbnQgaXMgdXNlZCBmb3IgdHdvIGRpZ2l0cy4KCklu IG9yZGVyIHRvIGV4cHJlc3MgbnVtYmVycyBoaWdoZXIgdGhhbiBuaW5lLCB0aGUgbnVtYmVycyBh cmUganVzdCBzdHJ1bmcgdG9nZXRoZXI6CgonJ3ZvIG11IGNpJycg4oCTIGZvdXIgaHVuZHJlZCBh bmQgZmlmdHkgdGhyZWUgKDQ1MykKCicncGEgbm8gbm8gbm8gbm8nJyB0ZW4gdGhvdXNhbmQgKDEw IDAwMCkKClRoZXJlIGlzIGFsc28gYSDigJxxdWVzdGlvbi1kaWdpdOKAnSwgd2hpY2ggaXMgdXNl ZCBsaWtlIG90aGVyIGZpbGwtaW4tdGhlLWJsYW5rIHF1ZXN0aW9uIHdvcmRzLiBJdCdzICcneG8n Jy4gVGhlIGFuc3dlciB0byBzdWNoIGEgcXVlc3Rpb24gbWF5IGJlIGp1c3QgdGhlIHJlbGV2YW50 IGRpZ2l0KHMpIGJ5IGl0c2VsZiwgb3IgdGhleSBjYW4gYmUgbnVtZXJpY2FsIGNvbnN0cnVjdHMs IGFzIHNob3duIGxhdGVyLgoKJydjaSB4byB4byB4bycnIOKAkyAiVGhyZWUgdGhvdXNhbmQgYW5k IGhvdyBtYW55PyIgKDM/Pz8pCgpfXycneG8nJ19fIHF1ZXN0aW9uIGRpZ2l0IOKAkyB1c2UgbGlr ZSBhbnkgb3RoZXIgZGlnaXQgdG8gYXNrIGZvciB0aGUgY29ycmVjdCBkaWdpdC4KClRoZSBleHBl cmltZW50YWwgd29yZCAnJ3hvJ2UnJyBpcyBzb21ldGltZXMgdXNlZCB0byBtZWFuIGFuIHVuc3Bl Y2lmaWVkLCBlbGxpcHRpY2FsIGRpZ2l0LiBJdHMgZGVmaW5pdGlvbiBpcyBub3Qgb2ZmaWNpYWws IHRob3VnaC4KCicnY2kgeG8nZSB4bydlIHhvJ2UnJyDigJMgVGhyZWUgdGhvdXNhbmQgYW5kIHNv bWV0aGluZwoKX18nJ3hvJ2UnJ19fIGVsbGlwdGljYWwgZGlnaXQuCgpTaW5jZSBhbGwgbnVtYmVy IHN0cmluZ3MgYXJlIHRyZWF0ZWQgZ3JhbW1hdGljYWxseSB0aGUgc2FtZSwgb25lIG1pZ2h0IGFs c28gYW5zd2VyIHNldmVyYWwgZGlnaXRzIHRvIG9uZSAnJ3hvJ2UnJwoKCgpGdXJ0aGVybW9yZSwg dGhlcmUgaXMgYWxzbyBhIHNldCBvZiBoZXhhZGVjaW1hbCBkaWdpdHMgQSB0aHJvdWdoIEYuIEJ5 IGRlZmF1bHQsIExvamJhbiBvcGVyYXRlcyBpbiBiYXNlIDEwLCBidXQgd2hlbiB1c2luZyBoZXhh ZGVjaW1hbCBkaWdpdHMsIGl0IGNhbiBiZSBzYWZlbHkgYXNzdW1lZCB0aGF0IHlvdSB1c2UgYmFz ZSBzaXh0ZWVuOgoKfHxkYXV8ZmVpfGdhaXxqYXV8cmVpfHhlaSB8dmFpfAoKMTAoQSl8MTEoQil8 MTIoQyl8MTMoRCl8MTQoRSl8MTQoRSl8MTUoRil8fAoKWWVzLCBJIGtub3cgdGhlcmUgYXJlIHR3 byB3b3JkcyBmb3IgRS4gVGhlIG9mZmljaWFsIG9uZSBpcyAnJ3JlaScnIChhbGwgdGhyZWUtbGV0 dGVyIGNtYXZvIGJlZ2lubmluZyB3aXRoIHggaXMgZXhwZXJpbWVudGFsKS4gJyd4ZWknJyB3YXMg aW52ZW50ZWQgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggJydyZScnLgoKVGhlIGJhc2UgY2FuIGJl IGV4cGxpY2l0bHkgc3RhdGVkIHVzaW5nICcnanUndScnOiBBbnkgbnVtYmVyIGJlZm9yZSAnJ2p1 J3UnJyB0aGUgbnVtYmVyIGJlaW5nIHNwb2tlbiBvZiwgYW55IG51bWJlciBhZnRlciBpcyB0aGUg YmFzZSBvZiB0aGUgbnVtYmVyOgoKJydkYXUgc28gZmVpIG5vIGp1J3UgcGEgcmUnJyDigJMgQTlC MCBpbiBiYXNlIDEyIChub3RpY2UgaGVyZSB0aGF0IGJhc2UgMTIgaXMgYWx3YXlzIGluIGRlY2lt YWwuIEl0IGlzIHBvc3NpYmxlIHRvIHBlcm1hbmVudGx5IGNoYW5nZSB0aGUgYmFzZSB5b3Ugc3Bl YWsgaW4sIGJ1dCBzaW5jZSBpdCBoYXMgbmV2ZXIgYmVlbiB1c2VkIGluIHByYWN0aWNlLCBpdCBo YXMgbm90IGJlZW4gc3RhbmRhcmRpemVkIGhvdyBvbmUgc2hvdWxkIGRvIGl0KQoKRnJhY3Rpb25z IGFyZSBhbHNvIHVzZWZ1bCB0byBsZWFybiBob3cgdG8gZXhwcmVzcy4gVGhleSBhcmUgdXN1YWxs eSBleHByZXNzZWQgdmlhIGEgZGVjaW1hbCBwb2ludCwgJydwaScnLgoKX18nJ3BpJydfXyBEZWNp bWFsIHBvaW50IChvciBwb2ludCBpbiB3aGljaGV2ZXIgYmFzZSB5b3UgYXJlIHRhbGtpbmcgaW4p CgonJ3BhIHJlIHBpIHJlIG11Jycg4oCTIHR3ZWx2ZSBwb2ludCB0d28gZml2ZSAoMTIuMjUpLiAK Ckxpa2UgaW4gbWF0aGVtYXRpY3MsIHdoZW4gbm8gbnVtYmVyIHN0cmluZyBpcyBwbGFjZWQgYmVm b3JlIG9yIGFmdGVyICcncGknJywgemVybyBpcyBhc3N1bWVkLiAKClJlbGF0ZWQgdG8gdGhpcywg dGhlIG51bWJlciBzZXBhcmF0b3IgJydwaSdlJycgaXMgdXNlZCB0byBzZXBhcmF0ZSBudW1iZXJz LCBlaXRoZXIgdG8gc2VwYXJhdGUgZGlnaXRzIHdoZW4gc3BlYWtpbmcgaW4gYSBiYXNlIGxhcmdl ciB0aGFuIHNpeHRlZW4sIG9yIHdoZW4gYSBkZWNpbWFsIHBvaW50IGlzIG5vdCBhcHBsaWNhYmxl LCBmb3IgaW5zdGFuY2UsIHdoZW4gdGFsa2luZyBhYm91dCB0aW1lIGluIGhvdXJzLCBtaW51dGVz LCBzZWNvbmRzOgoKJydwYSBzbyBwaSdlIHJlIG11IHBpJ2Ugbm8ganUndSByZSB6ZScnIOKAkyBO aW5ldGVlbiwgdHdlbnR5LWZpdmUsIHplcm8gaW4gYmFzZSAyNyAoSlAwIGJhc2UgMjcpCgonJ3Jl IHJlIHBpJ2Ugdm8gYmknJyDigJMgdHdlbnR5LXR3bywgZm91cnR5IGVpZ2h0ICgyMjo0OCkKCgoK VGhlcmUgaXMgYWxzbyBhIHJhbmdlIG9mIG51bWJlciB3b3JkcyB3aGljaCBhcmUgbm90IG1hdGhl bWF0aWNhbGx5IGV4YWN0IGJ1dCByYXRoZXIgc3ViamVjdGl2ZSBvciByZWxhdGl2ZS4gVGhlIGJl aGF2aW9ycyBvZiB0aGVzZSB3b3JkcyBhcmUgYWxtb3N0IGV4YWN0bHkgbGlrZSB0aGUgYmVoYXZp b3Igb2YgZGlnaXRzLCBleGNlcHQgdGhleSBjYW5ub3QgYmUgY29tYmluZWQgdG8gbWFrZSBiaWdn ZXIgbnVtYmVycyB0aGUgd2F5IGRpZ2l0cyBjYW46Cgp8fCByb3xzbydhfHNvJ2V8c28naXxzbydv fHNvJ3V8CgphbGx8YWxtb3N0IGFsbHxtb3N0fG1hbnl8c29tZXxmZXd8fAoKV2hlbiBjb21iaW5l ZCB3aXRoIGFueSBvZiB0aGUgZGlnaXRzLCB0aGVzZSB3b3JkcyBhcmUgYXNzdW1lZCB0byBnaXZl IGEgc2Vjb25kIHZlcmRpY3QgYWJvdXQgdGhlIHNpemUgb2YgdGhlIG51bWJlcjoKCicnbXUgYmkg c28naSBzYWknJyDigJNGaWZ0eSBlaWdodCwgd2hpY2ggaXMgcmVhbGx5IG1hbnkuCgpUaGV5IHNo b3VsZCB0aGVyZWZvcmUgbm90IGJlIHBsYWNlZCBpbiB0aGUgbWlkZGxlIG9mIGEgbnVtYmVyIHN0 cmluZy4gV2hlbiBwbGFjZWQgYWZ0ZXIgJydwaScnLCB0aGV5IGFyZSBhc3N1bWVkIHRvIGNvbnZl eSB0aGUgc2l6ZSBvZiBhIGZyYWN0aW9uOgoKJydwaSBzbyd1Jycg4oCTIGEgc21hbGwgcGFydCBv ZiBpdAoKJydwaSBzbydvJycg4oCTIHNvbWUgb2YgaXQgCgonJ3BpIHNvJ2knJyDigJMgYSBsYXJn ZSBwYXJ0IG9mIGl0IAoKJydwaSBzbydlJycg4oCTIG1vc3Qgb2YgaXQKCicncGkgc28nYScnIOKA kyBhbG1vc3QgYWxsIG9mIGl0CgoKClRoZXNlIGFyZSBzb21lIGhpZ2h0bHkgc3ViamVjdGl2ZSBu dW1iZXJzIC0gdGhleSB3b3JrIGp1c3QgbGlrZSB0aGUgcHJldmlvdXMgb25lcy4KCnx8ZHUnZXxt bydhfHJhdQoKdG9vIG1hbnl8dG9vIGZld3xlbm91Z2h8fAoKVGhlIGZvbGxvd2luZyBmaXZlIGFy ZSBjb250ZXh0LWJhc2VkIG51bWJlcnMg4oCTIHRoZXNlIHdvcmsgbGlrZSB0aGUgcHJldmlvdXMg b25lcywgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhleSB0YWtlIHRoZSBuZXh0IG51bWJlciBp biBvcmRlciB0byBhc3NpZ24gdGhlbSBtZWFuaW5nOgoKfHxkYSdhfHN1J2V8c3Unb3x6YSd1fG1l J2kKCmFsbCBleGNlcHQgbiB8QXQgbW9zdCBufEF0IGxlYXN0IG58bW9yZSB0aGFuIG58bGVzcyB0 aGFuIG58fAoKSWYgbm8gbnVtYmVyIHN0cmluZyBmb2xsb3cgdGhlbSwg4oCcb25l4oCdIGlzIGFz c3VtZWQuCgonJ3NvJ2kgcGEgcmUgZGEnYSBtdScnIOKAkyBNYW55LCB3aGljaCBpcyB0d2VsdmUs IHdoaWNoIGlzIGFsbCBidXQgZml2ZS4KClRoZSB0d28gbGFzdCBudW1iZXIgd29yZHMgeW91IHNo b3VsZCBrbm93IGhhdmUgc2xpZ2h0bHkgbW9yZSBjb21wbGljYXRlZCBncmFtbWFyOgoKX18nJ2pp J2knJ19fIC0gbnVtYmVyIHJvdW5kaW5nIG9yIG51bWJlciBhcHByb3hpbWF0aW9uCgpXaGVuICcn amknaScnIGlzIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIsIHRoZSBlbnRpcmUgbnVtYmVyIGlzIGFw cHJveGltYXRlZDoKCicnamknaSB6ZSB6YSd1IHJhdSBqdSdvJycg4oCTICJBYm91dCBzZXZlbnR5 LCB3aGljaCBpcyBtb3JlIHRoYW4gZW5vdWdoLCBjZXJ0YWlubHnigJ0KClBsYWNlZCBpbiB0aGUg bWlkZGxlIG9mIHRoZSBudW1iZXIsIG9ubHkgdGhlIGZvbGxvd2luZyBkaWdpdHMgYXJlIG5vbi1l eGFjdC4gQXQgdGhlIGVuZCBvZiBhIG51bWJlciwgaXQgc2lnbmlmaWVzIHRoYXQgdGhlIG51bWJl ciBoYXMgYmVlbiByb3VuZGVkIG9mZi4gCgpfXycna2knbycnX18gTnVtYmVyIGNvbW1hICAtIHNl cGFyYXRlcyBkaWdpdHMgd2l0aGluIG9uZSBzdHJpbmc7IFRob3VzYW5kcy4KCkl0IGlzIG5vdCBp bmNpZGVudGlhbCB0aGF0ICcna2knbycnIHNvdW5kcyBsaWtlIOKAnGtpbG/igJ0uIEF0IGl0cyBz aW1wbGVzdCwgJydraSdvJycgaXMgdXNlZCB0byBzZXBhcmF0ZSB0aHJlZSBkaWdpdHMgYXQgYSB0 aW1lIGluIGxhcmdlIG51bWJlcnMsIG11Y2ggbGlrZSBjb21tYXMgYXJlIHVzZWQgaW4gRW5nbGlz aDoKCicncGEga2knbyBzbyBzbyBzbyBraSdvIGJpIHhhIHplJycg4oCTIDEsOTk5LDg2NwoKSWYg bGVzcyB0aGFuIHRocmVlIGRpZ2l0cyBhcmUgcHV0IGJlZm9yZSBhICcna2knbycnLCB0aGUgZGln aXRzIGFyZSBhc3N1bWVkIHRvIGJlIHRoZSBsZWFzdCBzaWduaWZpY2FudCBvbmVzLCBhbmQgemVy b3MgYXJlIGFzc3VtZWQgdG8gZmlsbCBpbiB0aGUgcmVzdDoKCicndm8ga2knbyBjaSBiaSBraSdv IHBhIGtpJ28ga2knbycnIOKAkyA0LDAzOCwwMDEsMDAwLDAwMAoKJydraSdvJycgaXMgdXNlZCBz aW1pbGFybHkgYWZ0ZXIgYSBkZWNpbWFsIHBvaW50LgoKCgpUaGF0IGNvbmNsdWRlcyB0aGUgY29t bW9uIExvamJhbiBudW1iZXJzIHRoZW1zZWx2ZXMuIEhvdyB0aGV5IGFwcGx5IHRvIHN1bXRpIGlz IGEgc2NpZW5jZSBpbiBpdHNlbGYsIGFuZCB3ZSBsZWF2ZSB0aGF0IGZvciBsZXNzb24gdHdlbnR5 LXR3by4gTm93IHdlIGZvY3VzIG9uIGhvdyB0aGVzZSBudW1iZXJzIGNhbiBiZSB1c2VkIGluIGEg YnJpZGkuCgpBIHN0cmluZyBvZiBudW1iZXIgd29yZHMgYnkgdGhlbXNlbHZlcyBhcmUgZ3JhbW1h dGljYWwsIHNpbmNlIHRoZXkgY2FuIGFjdCBhcyBhbiBhbnN3ZXIgdG8gYSAnJ3hvJyctdHlwZSBv ZiBxdWVzdGlvbi4gSW4gdGhpcyBjYXNlLCBob3dldmVyLCB0aGV5IGNhbm5vdCBiZSBjb25zaWRl cmVkIHBhcnQgb2YgYW55IGJyaWRpLiBJbiBnZW5lcmFsLCBpZiBudW1iZXJzIGZpbGwgcGFydCBv ZiBhIGJyaWRpLCB0aGV5IGRvIHNvIGluIG9uZSBvZiB0d28gZm9ybXM6IFB1cmUgbnVtYmVycyBh bmQgcXVhbnRpZmllcnMuIFdlIHdpbGwgcmV0dXJuIHRvIHF1YW50aWZpZXJzIGluIGEgbGF0ZXIg bGVzc29uLiBGb3Igbm93LCB3ZSB3aWxsIGxvb2sgYXQgcHVyZSBudW1iZXJzLgoKQSBwdXJlIG51 bWJlciBpcyBhbnkgcm93IG9mIG51bWJlciB3b3JkcyBwcmVmaXhlZCB3aXRoICcnbGknJy4gVGhp cyBtYWtlcyBhIHN1bXRpIGRpcmVjdGx5IGZyb20gdGhlIG51bWJlciwgYW5kIHJlZmVycyB0byB0 aGUgbWF0aGVtYXRpY2FsIGNvbmNlcHQgb2YsIGZvciBpbnN0YW5jZSwg4oCcdGhlIG51bWJlciBz aXjigJ0uIEl0cyBmYSdvcm1hJ28gaXMgJydsbydvJycKCl9fJydsaScnX18gY29udmVydCBudW1i ZXIvbWVrc28tZXhwcmVzc2lvbiB0byBzdW10aS4KCl9fJydsbydvJydfXyBmYSdvcm1hJ286IGVu ZCBjb252ZXJ0IG51bWJlci9tZWtzby1leHByZXNzaW9uIHRvIHN1bXRpLgoKVGhlc2UgcHVyZSBz dW10aSBhcmUgdXN1YWxseSB3aGF0IGZpbGxzIHRoZSB4MiBvZiBicml2bGEgc3VjaCBhcyAnJ21p dHJlJycgb3IgJydjYWNyYScnCgpfXycnbWl0cmUnJ19fIHgxIGlzIHgyIG1ldHJlcyBpbiBkaW1l bnNpb24geDMgYnkgc3RhbmRhcmQgeDQKCl9fJydjYWNyYScnX18geDEgaXMgeDIgaG91cnMgaW4g ZHVyYXRpb24gKGRlZmF1bHQgMSkgYnkgc3RhbmRhcmQgeDMKCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0 aGUgZm9sbG93aW5nOgoKJydsZSB0YSBudSBjaW5qaWtjYSBjdSBjYWNyYSBsaSBjaSBqaSdpIHUn aSBuYWknJwoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCdKnNpZ2gqIFRoYXQgZmxpcnRpbmcgaGFz IGJlZW4gZ29pbmcgb24gZm9yIGFyb3VuZCB0aHJlZSBob3Vycy7igJ0gfn4KCkhvdyBkbyB5b3Ug Y291bnQgdG8gdGhyZWUgaW4gTG9qYmFuPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJydsaSBwYSBs aSByZSBsaSBjaScnIH5+CgoKClRoZSBsYXN0IHRoaW5nIHdlJ2xsIGdvIHRocm91Z2ggaW4gdGhp cyBsZXNzb24gaXMgdGhlIHdvcmRzIG9mIHRoZSBzZWxtYSdvIE1BSSBhbmQgdGhvc2Ugb2YgTU9J LgoKTUFJIG9ubHkgY29udGFpbnMgdHdvIHdvcmRzLCAnJ21haScnIGFuZCAnJ21vJ28nJy4gQm90 aCBvZiB0aGVzZSBjb252ZXJ0IGFueSBudW1iZXIgc3RyaW5nIHRvIGFuIG9yZGluYWwsIHdoaWNo IGhhcyB0aGUgZ3JhbW1hciBvZiBhdHRpdHVkaW5hbHMuIE9yZGluYWxzIGFyZSB1c2VkIHRvIGRp dmlkZSBhIHRleHQgaW50byBudW1iZXJlZCBzZWdtZW50cywgbGlrZSBjaGFwdGVycyBvciBwYXJ0 cy4gVGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuICcnbWFpJycgYW5kICcnbW8nbycnIGlzIHRo YXQgJydtbydvJycgcXVhbnRpZmllcyBsYXJnZXIgc3ViZGl2aXNpb25zIG9mIHRleHQsIGFsbG93 aW5nIHlvdSB0byBkaXZpZGUgYSB0ZXh0IG9uIHR3byBkaWZmZXJlbnQgbGV2ZWxzLCBmb3IgZXhh bXBsZSBlbnVtZXJhdGluZyBjaGFwdGVycyB3aXRoICcnbW8nbycnIGFuZCBzZWN0aW9ucyB3aXRo ICcnbWFpJycuIE5vdGljZSB0aGF0IHRoZXNlIGFzIHdlbGwgYXMgdGhlIE1PSSB0YWtlIGFueSBu dW1iZXIgc3RyaW5nIGRpcmVjdGx5LCB3aXRob3V0IGFueSBuZWVkIGZvciAnJ2xpJycuCgpfXycn bWFpJydfXzogTG93ZXItb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQgbnVtYmVyIHRvIG9y ZGluYWwKCl9fJydtbydvJydfXzogSGlnaGVyIG9yZGVyIG9yZGluYWwgbWFya2VyOiBDb252ZXJ0 IG51bWJlciB0byBvcmRpbmFsLgoKCgpUaGVyZSBhcmUgZml2ZSBNT0ksIGFuZCB0aGV5IGFsbCBj b252ZXJ0IGFueSBudW1iZXIgc3RyaW5nIHRvIHNlbGJyaS4gV2UnbGwgdGFrZSB0aGVtIG9uZSBh dCBhIHRpbWU6CgpfXycnbW9pJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBp cyB0aGUgbid0aCBtZW1iZXIgb2Ygc2V0IHgyIGJ5IG9yZGVyIHgzCgpFeGFtcGxlOiAnJ2xhIGx1 dGNpbWluIGNpIG1vaSBsbydpIG5pbm11IHBlbmRvIGJlIG1pIGxlIHN1J3UgbG8gY2xhbmkgem1h ZHUgY3UgbGlkbmUgbG8gY2xhbmkgbWxlY2EnJyDigJMg4oCcTHVpLUNoaSBNaW4gaXMgdGhpcmQg YW1vbmcgbXkgZmVtYWxlIGZyaWVuZHMgYnkgdGhlIG9yZGVyOiBUaGUgbW9yZSB0YWxsIG9uZXMg cHJlY2VkZXMgdGhlIGxlc3MgdGFsbCBvbmVz4oCdLgoKKFdoZW4gc3BlY2lmeWluZyBhIHNlcXVl bmNlLCBpdCBpcyB3aWRlbHkgdW5kZXJzdG9vZCB0aGF0IGlmIGEgJydrYScnLWFic3RyYWN0aW9u IChsZXNzb24gdHdlbnR5LW5pbmUpIGlzIHVzZWQgYXMgYSBzdW10aSwgdGhlIG1lbWJlcnMgb2Yg dGhlIHNldCBhcmUgb3JkZXJlZCBmcm9tIHRoZSBvbmUgd2l0aCBtb3N0IG9mIHRoZSBwcm9wZXJ0 eSB0byB0aGUgb25lIHdpdGggbGVzcyBvZiB0aGUgcHJvcGVydHksIHNvIHRoZSB4MyBvZiB0aGUg Zm9sbG93aW5nIHNlbnRlbmNlIGNvdWxkIGhhdmUgYmVlbiBzaG9ydGVuZWQgdG8gJydsbyBrYSBj bGFuaScnKQoKX18nJ2xpZG5lJydfXyB4MSBpcyBiZWZvcmUgeDIgaW4gc2VxdWVuY2UgeDMKCl9f JydjbGFuaScnX18geDEgaXMgbG9uZyBpbiBkaW1lbnNpb24geDIgYnkgc3RhbmRhcmQgeDMKCl9f Jyd6bWFkdScnX18geDEgZXhjZWVkcyB4MiBpbiBwcm9wZXJ0eS9hc3BlY3QgeDMgYnkgYW1vdW50 IHg0CgpfXycnbWxlY2EnJ19fIHgxIGlzIGxlc3MgdGhhbi9pcyBsZXNzIGNoYXJhY3Rlcml6ZWQg dGhhbiB4MiBieSBwcm9wZXJ0eS9hc3BlY3QgeDMgYnkgYW1vdW50IHg0CgoKCl9fJydtZWknJ19f IC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBtYXNzIGZvcm1lZCBmcm9t IHRoZSBzZXQgeDIsIHdoaWNoIGhhcyB0aGUgbiBtZW1iZXJzIG9mIHgzCgpOb3RpY2UgaGVyZSB0 aGF0IHgzIGFyZSBzdXBwb3NlZCB0byBiZSBpbmRpdmlkdWFscywgeDIgYSBzZXQgYW5kIHgxIGEg bWFzcy4KCldoYXQgd291bGQgJydtaSBjaSBtZWknJyBtZWFuPyAKCkFud2VyOiB+fmdyZXksZ3Jl eTrigJxXZSBhcmUgZ3JvdXAgb2YgdGhyZWUu4oCdfn4KCgoKX18nJ3NpJ2UnJ19fIC0gQ29udmVy dCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIG4gdGltZXMgeDIKCkV4YW1wbGU6ICcnbGUgdmkg cGxpc2UgY3UgbWUnaSBwaSBwYSBzaSdlIGxlaSBtaSBjaWRqYSBiZSB6ZSdhIGxvIGRqZWRpJycg 4oCTIOKAnFRoaXMgYXBwbGUgaGVyZSBpcyBsZXNzIHRoYW4gb25lIHRlbnRoIG9mIG15IGZvb2Qg Zm9yIG9uZSBkYXnigJ0KClBsZWFzZSBub3RlIHRoYXQgdGhlIGRlZmluaXRpb24gb2YgJydzaSdl Jycgd2hlbiBsb29rZWQgdXAgd2lsbCB0ZWxsIHlvdSB0aGF0IGl0J3MgIngxIGlzIGFuIG50aCBv ZiB4MiIsIGluc3RlYWQgb2YgIngxIGlzIG4gdGltZXMgeDIiLiBCdXQgcGVvcGxlIG9ubHkgdXNl IGl0IGFzIEkgaGF2ZSBkZWZpbmVkIGl0LCBzbyB0aGUgZGVmaW5pdGlvbiBpbiB0aGUgZGljdGlv bmFyaWVzIHdpbGwgcHJvYmFibHkgY2hhbmdlLgoKCgpfXycnY3UnbycnX18gLSBDb252ZXJ0IG51 bWJlciBuIHRvIHNlbGJyaTogeDEgaGFzIG4gcHJvYmFiaWxpdHkgb2Ygb2NjdXJyaW5nIHVuZGVy IGNvbmRpdGlvbnMgeDIKCkV4YW1wbGU6ICcnbG8gbnUgbWkgbXJvYmknbyBjdSBwYSBjdSdvIGxv IG51IG1pIGRlbnBhIHJpJycg4oCTIOKAnUFuIGV2ZW50IG9mIG1lIGR5aW5nIGhhcyBwcm9iYWJp bGl0eSAxIHVuZGVyIHRoZSBjb25kaXRpb25zOiBJIHdhaXQgZm9yIGl04oCdID0g4oCdTWUgZHlp bmcgaXMgY29tcGxldGVseSBjZXJ0YWluIGlmIEkgd2FpdCBsb25nIGVub3VnaC7igJ0KCl9fJydk ZW5wYScnX18geDEgd2FpdHMgZm9yIHgyLCBiZWluZyBpbiBzdGF0ZSB4MyB1bnRpbCByZXN1bWlu Zy9kb2luZyB4NAoKX18nJ3ZhJ2UnJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgx IGlzIGF0IHRoZSBuJ3RoIHBvc2l0aW9uIG9uIHRoZSBzY2FsZSB4MgoKRXhhbXBsZTogJydsaSBw YSBubyBjdSBybyB2YSdlIGxhIHRvcmlub24nJyDigJMg4oCcMTAgaXMgdGhlIGhpZ2hlc3QgdmFs dWUgb24gdGhlIFRvcmluby1zY2FsZeKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g dHdlbnR5IChibywga2UsIGNvIGFuZCBtb3JlIGN1dGVuZXNzKQoKU2F5IHlvdSdyZSBhbiBpbXBv cnRhbnQgQW1lcmljYW4gYnV5ZXIgb2YgY29tcHV0ZXJzLiBIb3cgZG8geW91IGV4cHJlc3MgdGhp cz8gRm9yIGNvbnN0cnVjdHMgbGlrZSB0aGVzZSwgdGFucnUgYXJlIGlkZWFsOiAnJ21pIHZham5p IG1lcmtvIHNrYW1pIHRlIHZlY251JycuIE5vIHdhaXQsIHRoYXQncyBub3QgcmlnaHQuIFRhbnJ1 IGFyZSBncm91cGVkIGZyb20gbGVmdCB0byByaWdodCwgc28gdGhpcyB0YW5ydSBpcyB1bmRlcnN0 b29kOiAoKCcndmFqbmkgbWVya28nJykgJydza2FtaScnKSAnJ3RlIHZlY251JycsIGEgYnV5ZXIg b2YgY29tcHV0ZXJzIGZvciBpbXBvcnRhbnQgQW1lcmljYW5zLiBZb3UgY2FuJ3QgY2hhbmdlIHRo ZSBvcmRlciBvZiB0aGUgc2VsYnJpIHRvIGdldCBhIHVzZWZ1bCB0YW5ydS4gTmVpdGhlciBjYW4g dGhpcyBiZSBzb2x2ZWQgd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCB3aGljaCB5b3Ugd2lsbCBm aXJzdCBsZWFybiBhYm91dCBsYXRlciBhbnl3YXkuIFRoZSBvbmx5IHdheSB0byBtYWtlIGEgZml0 dGluZyB0YW5ydSBpcyB0byBmb3JjZSB0aGUgc2VsYnJpIHRvIGdyb3VwIGRpZmZlcmVudGx5LgoK CgpUbyBiaW5kIHR3byBzZWxicmkgY2xvc2UgdG9nZXRoZXIgaW4gYSB0YW5ydSwgdGhlIHdvcmQg JydibycnIGNhbiBiZSBwbGFjZWQgYmV0d2VlbiB0aGVtOiAnJ21pIHZham5pIGJvIG1lcmtvIHNr YW1pIGJvIHRlIHZlY251JycgaXMgcmVhZCAnJ21pJycgKCcndmFqbmkgYm8gbWVya28nJykgKCcn c2thbWkgYm8gdGUgdmVjbnUnJyksIHdoaWNoIGlzIHVzZWZ1bCBpbiB0aGlzIGNvbnRleHQuIElm IGJvIGlzIHBsYWNlZCBiZXR3ZWVuIHNldmVyYWwgc2VsYnJpIGluIGEgcm93LCB0aGV5IGFyZSBn cm91cGVkIGZyb20gcmlnaHQgdG8gbGVmdCBpbnN0ZWFkIG9mIHRoZSB1c3VhbCBsZWZ0IHRvIHJp Z2h0OiAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251JycgaXMgcmVhZCAnJ3Zh am5pJycgKCcnbWVya28gYm8nJyAoJydza2FtaSBibyB0ZSB2ZWNudScnKSkgYW4g4oCcaW1wb3J0 YW50IChBbWVyaWNhbiBjb21wdXRlci1idXllcinigJ0sIHdoaWNoIGlzIGV2ZW4gbW9yZSBhcHBy b3ByaWF0ZSBpbiB0aGUgc2l0dWF0aW9uLgoKX18nJ2JvJydfXyBCaW5kcyB0d28gc2VsYnJpIHRv Z2V0aGVyIHN0cm9uZ2x5LgoKCgpIb3cgd291bGQgeW91IHNheSDigJxUaGF0J3MgYSB0YXN0eSB5 ZWxsb3cgYXBwbGXigJ0/CgpfXycna3VrdGUnJ19fIHgxIGlzIHRhc3R5IGZvciB4MgoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicndGkga3VrdGUgcGVseHUgYm8gcGxpc2UnJ35+CgoKCldoYXQgYWJv dXQg4oCdVGhhdCdzIGEgYmlnLCB0YXN0eSB5ZWxsb3cgYXBwbGXigJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ3RpIGJhcmRhIGt1a3RlIGJvIHBlbHh1IGJvIHBsaXNlJyd+fgoKCgpBbm90aGVy IGFwcHJvYWNoIHRvIHRoaXMgaXMgdG8gdXNlIHRoZSB3b3JkcyAnJ2tl4oCma2UnZScnLiBUaGVz ZSBjYW4gYmUgY29uc2lkZXJlZCBhcyBlcXVpdmFsZW50IHRvIHRoZSBwYXJlbnRoZXNpc2VzIHVz ZWQgaW4gdGhlIHBhcmFncmFwaCBhYm92ZS4gJydrZScnIGJlZ2lucyBzdHJvbmcgc2VsYnJpIGdy b3VwaW5nLCAnJ2tlJ2UnJyBlbmRzIGl0LgoKX18nJ2tlJydfXyDigJMgYmVnaW4gc3Ryb25nIHNl bGJyaSBncm91cGluZy4KCl9fJydrZSdlJydfXyDigJMgZW5kIHN0cm9uZyBzZWxicmkgZ3JvdXBp bmcuCgpUaGUgc3RyZW5ndGggb2YgdGhlIGJpbmRpbmcgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiAn J2JvJycuIFRoZXJlZm9yZSwgJydtaSB2YWpuaSBtZXJrbyBibyBza2FtaSBibyB0ZSB2ZWNudScn IGNhbiBiZSB3cml0dGVuICcnbWkgdmFqbmkga2UgbWVya28ga2Ugc2thbWkgdGUgdmVjbnUge2tl J2V9IHtrZSdlfScnLgoKSG93IGNvdWxkIHlvdSBzYXkg4oCcSSdtIGEgR2VybWFuIHNlbGxlciBv ZiB5ZWxsb3cgaG9tZXM/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkb3RjbyBrZSBw ZWx4dSB6ZGFuaSB2ZWNudScnfn4KCgoKV2hpbGUgd2UncmUgYXQgbWVzc2luZyB3aXRoIHRoZSBv cmRpbmFyeSB0YW5ydSBzdHJ1Y3R1cmUsIHRoZXJlIGlzIGFub3RoZXIgd29yZCB3b3J0aCBwYXlp bmcgYXR0ZW50aW9uIHRvLiBJZiBJIHdhbnQgdG8gc2F5IHRoYXQgSSdtIGEgcHJvZmVzc2lvbmFs IHRyYW5zbGF0b3IsIEkgY291bGQgc2F5ICcnbWkgZmFudmEgc2UgamlicmknJy4KCl9fJydqaWJy aScnX18geDEgaXMgYSBqb2Igb2YgeDIKCl9fJydkb3R5YmF1JydfXyB4MSBpcyBHZXJtYW4gdXNl ZCBieSB4MiB0byBzYXkgeDMKCl9fJydnbGliYXUnJ19fIHgxIGlzIEVuZ2xpc2ggdXNlZCBieSB4 MiB0byBzYXkgeDMKCklmIEkgd2FudGVkIHRvIHNheSB0aGF0IEknbSBhIHByb2Zlc3Npb25hbCB0 cmFuc2xhdGVyIGZyb20gRW5nbGlzaCB0byBHZXJtYW4sIEknZCBoYXZlIHRvIG1lc3MgYXJvdW5k IHdpdGggJydiZScnIGFuZCAnJ2JlaScnOiAnJ21pIGZhbnZhIGJlIGxlIGRvdHliYXUgYmVpIGxl IGdsaWJhdSBiZSdvIHNlIGppYnJpJycsIGFuZCB0aGUgZmFjdCB0aGF0IGl0IHdhcyBhIHRhbnJ1 IGNvdWxkIHF1aWNrbHkgYmUgbG9zdCBpbiBzcGVlY2ggZHVlIHRvIHRoZSBjb21wbGljYXRlZCBz dHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlLiBIZXJlLCB3ZSBjYW4gdXNlIHRoZSB3b3JkICcnY28n Jy4gaXQgaW52ZXJ0cyB0aGUgdGFucnUsIG1ha2luZyB0aGUgcmlnaHRtb3N0IHNlbGJyaSBtb2Rp ZnkgdGhlIGxlZnRtb3N0IGluc3RlYWQgb2YgdGhlIG90aGVyIHdheSBhcm91bmQ6CgonJ21pIHNl IGppYnJpIGNvIGZhbnZhIGxlIGRvdHliYXUgbGUgZ2xpYmF1JycgaXMgdGhlIHNhbWUgYnJpZGkg YXMgdGhlIHByZXZpb3VzIExvamJhbiBvbmUsIGJ1dCBtdWNoIG1vcmUgZWFzeSB0byB1bmRlcnN0 YW5kLiBOb3RpY2UgdGhhdCBhbnkgc3VtdGkgYmVmb3JlIHRoZSB0YW5ydSBmaWxscyAnJ3NlIGpp YnJpJycsIHdoaWxlIGFueSBmb2xsb3dpbmcgaXQgb25seSBmaWxscyB0aGUgbW9kaWZ5aW5nIHNl bGJyaTogJydmYW52YScnLgoKX18nJ2NvJydfXyBJbnZlcnQgdGFucnUuIEFueSBwcmV2aW91cyBz dW10aSBmaWxsIHRoZSBtb2RpZmllZCwgYW55IGZvbGxvd2luZyBmaWxsIHRoZSBtb2RpZmllci4K CgoKVGhlIHN0cmVuZ3RoIGJ5IHdoaWNoIHR3byBzZWxicmkgYXJlIGJvdW5kIHRvZ2V0aGVyIHdp dGggY28gaXMgdmVyeSB3ZWFrIOKAkyBldmVuIHdlYWtlciB0aGFuIG5vcm1hbCB0YW5ydSBncm91 cGluZyB3aXRob3V0IGFueSBncm91cGluZyB3b3Jkcy4gVGhpcyBtYWtlcyBzdXJlIHRoYXQsIGlu IGEgY28tY29uc3RydWN0LCB0aGUgbGVmdG1vc3Qgc2VsYnJpIGlzIGFsd2F5cyB0aGUgc2VsYnJp IGJlaW5nIG1vZGlmaWVkLCBhbmQgdGhlIHJpZ2h0bW9zdCBhbHdheXMgbW9kaWZpZXMsIGV2ZW4g aWYgYW55IG9mIHRob3NlIHBhcnRzIGFyZSB0YW5ydS4gVGhpcyBtYWtlcyBhIGNvLWNvbnN0cnVj dCBlYXN5IHRvIHBhcnNlOgoKJyd0aSBwZWx4dSBwbGlzZSBjbyBrdWt0ZScnIGlzIHJlYWQgJyd0 aScnICgnJ3BlbHh1IHBsaXNlJycpICcnY28ga3VrdGUnJywgd2hpY2ggaXMgdGhlIHNhbWUgYXMg Jyd0aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnLiBUaGlzIGFsc28gbWVhbnMgdGhhdCBhICcna2Xi gKZrZSdlJycgY2Fubm90IGVuY29tcGFzcyBhICcnY28nJy4KClRoZSBjbWF2byBvZiB0aGUgc2Vs bWEnbyBHSWhBLCB0aGUgYnJpZGktdGFpbCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZl cywgaG93ZXZlciwgYmluZHMgZXZlbiBsb29zZXIgdGhhbiAnJ2NvJycuIFRoaXMgaXMgaW4gb3Jk ZXIgdG8gdG90YWxseSBhdm9pZCBjb25mdXNpb24gYWJvdXQgd2hpY2ggc2VsYnJpIGJpbmRzIHRv IHdoaWNoIGluIGEgR0loQS1jb25zdHJ1Y3QuIFRoZSBhbnN3ZXIgaXMgc2ltcGxlOiBUaGUgR0lo QSBuZXZlciBlbWNvbXBhc3NlcyBhbnkgc2VsYnJpLWdyb3Vwcy4KCgoKSG93IGNhbiB5b3UgZXhw cmVzcyDigJ1JIGFtIGFuIGltcG9ydGFudCBBbWVyaWNhbiBidXllciBvZiBjb21wdXRlcnPigJ0g dXNpbmcgYSAnJ2NvJyc/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBza2FtaSB0ZSB2ZWNu dSBjbyB2YWpuaSBtZXJrbycnfn4KCgoKSWYgaXQncyBvZiBhbnkgdXNlLCB0aGlzIGlzIHRoZSBs aXN0IG9mIGRpZmZlcmVudCBraW5kIG9mIHNlbGJyaSBncm91cGVycyByYW5rZWQgYnkgc3RyZW5n dGg6CgoKCjEuICAgICcnYm8nJyBhbmQgJydrZS4ua2UnZScnCgoKCjIuICAgIGxvZ2ljYWwgY29u bmVjdGl2ZXMgb3RoZXIgdGhhbiBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5l Y3RpdmVzIChleHBsYWluZWQgaW4gbGVzc29uIHR3ZW50eS1maXZlKQoKCgozLiAgICBubyBncm91 cGluZyB3b3JkcwoKCgo0LiAgICAnJ2NvJycKCgoKNS4gICAgYnJpZGktdGFpbCBhZnRlcnRob3Vn aHQgbG9naWNhbCBjb25uZWN0aXZlcyAoYWxzbyBpbiBsZXNzb24gdHdlbnR5LWZpdmUpCgoKClRo ZSByZXN0IG9mIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHNlbGJyaSBncm91cGluZywgYnV0 IG11Y2ggbGlrZSBsZXNzb24gc2V2ZW50ZWVuIG1lbnRpb24gYXNzb3J0ZWQgd29yZHMsIHdoaWNo IGNhbiBiZSBvZiB1c2UuCgoKCicnYm8nJyBoYXMgYW5vdGhlciB1c2UsIHdoaWNoIHNlZW1zIHNl cGFyYXRlIGZyb20gc2VsYnJpIGdyb3VwaW5nOiBJdCBjYW4gYWxzbyBiaW5kIGEgc3VtdGNpdGEg dG8gYW4gZW50aXJlIGJyaWRpLCBzbyB0aGF0IHRoZSBjb250ZW50IG9mIHRoZSBzdW10Y2l0YSBp cyBub3QgYSBzdW10aSwgYnV0IHRoZSBmb2xsb3dpbmcgYnJpZGkuIFRoaXMgaXMgYmVzdCBleHBs YWluZWQgd2l0aCBhbiBleGFtcGxlLgoKX18nJ3hlYm5pJydfXyB4MSBoYXRlcyB4MgoKJydtaSBk YXJ4aSBkbyAuaSBtdSdpIGJvIG1pIGRvIHhlYm5pJycg4oCTIOKAnEkgaGl0IHlvdSwgd2l0aCBt b3RpdmF0aW9uIHRoYXQgSSBoYXRlIHlvdS7igJ0gSGVyZSB0aGUgJydibycnIGJpbmRzICcnbXUn aScnIHRvIHRoZSBmb2xsb3dpbmcgYnJpZGkuCgpUaGlzIGlzIHdoZXJlIHRoZSB0ZWNobmljYWwg ZGlmZmVyZW5jZSBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YSBpcyBy ZWxldmFudC4gWW91IHNlZSwgd2hlbiBiaW5kaW5nIGEgbm9ybWFsIHN1bXRjaXRhIHRvIGEgYnJp ZGkgd2l0aCAnJ2JvJycsIGl0IG1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyBicmlkaSBzb21laG93 IGZpdHMgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhLiBGb3IgdGhlIHJlYXNv biBvZiBHb2QgS25vd3MgV2h5LCBiaW5kaW5nIG9uZSBvZiB0aGUgd29yZHMgJydiYScnIG9yICcn cHUnJyB0byBhIGJyaWRpIGhhcyB0aGUgZXhhY3Qgb3Bwb3NpdGUgZWZmZWN0LiBGb3IgZXhhbXBs ZSwgaW4gdGhlIGJyaWRpICcnbWkgZGFyeGkgZG8gLmkgYmEgYm8gZG8gY2luamlrY2EnJywgb25l IHdvdWxkIGFzc3VtZSB0aGF0IHRoZSBzZWNvbmQgYnJpZGkgaXMgc29tZWhvdyBmaWxsZWQgaW50 byB0aGUgc3VtdGkgcGxhY2Ugb2YgJydiYScnLCBtZWFuaW5nIHRoYXQgdGhlIGJyaWRpIGZpcnN0 IHV0dGVyZWQgdG9vayBwbGFjZSBpbiB0aGUgZnV0dXJlIG9mIHRoZSBzZWNvbmQgYnJpZGkuIFRo YXQncyBub3QgdGhlIGNhc2UsIGhvd2V2ZXIsIGFuZCB0aGUgY29ycmVjdCB0cmFuc2xhdGlvbiBv ZiB0aGF0IHV0dGVyYW5jZSB3b3VsZCBiZSAiSSBoaXQgeW91LiBBZnRlcndhcmRzLCB5b3UgZmxp cnQiLiBUaGlzIHdlaXJkIHJ1bGUgaXMgYWN0dWFsbHkgb25lIG9mIHRoZSBtYWluIG9ic3RhY2xl cyB0byBhIHVuaWZpY2F0aW9uIG9mIGFsbCBzdW10Y2l0YSBpbnRvIG9uZSBzaW5nbGUgd29yZCBj bGFzcy4gQW5vdGhlciBkaWZmZXJlbmNlIGlzIHRoYXQgdGVuc2Utc3VtdGNpdGEgY2FuIGJlIGVs aWRlZCwgZXZlbiB0aG91Z2ggdGhleSBhcHBseS4gVGhpcyBydWxlIG1ha2VzIG1vcmUgc2Vuc2Us IHNpbmNlIHdlIG9mdGVuIGNhbiBhc3N1bWUgYnJpZGkgaXMgcGxhY2VkIGluIGEgdGltZSBhbmQg c3BhY2UsIGJ1dCB3ZSBjYW4ndCBhc3N1bWUgdGhhdCB0aGUgc3VtdGNpdGEgb2YgQkFJIGFwcGxp ZXMuCgoKClRoZSB1bm9mZmljaWFsIHdvcmQgJydtZSdvaScnIGlzIGVxdWl2YWxlbnQgdG8gbWUg bGEnZSAnJ3pvJ29pJycsIHdoaWNoIG1lYW5zIHRoYXQgaXQgY29udmVydHMgdGhlIGNvbnRlbnQg b2YgdGhlIG5leHQgd29yZCBpbnRvIGEgc2VsYnJpLiBJdCBpcyB1c2VkIHRvIGludmVudCBicml2 bGEgb24gdGhlIGZseTogJydtaSBjYSB6Z2FuYSBsYSBtZSdvaSBYLWZpbGVzJycgZm9yIOKAnEkg bm93IHdhdGNoIFgtZmlsZXPigJ0uIExpa2UgYWxsIHF1b3RlIG5leHQgd29yZC1jbWF2bywgaXQg aXMgbm90IHN1cHBvcnRlZCBieSB0aGUgb2ZmaWNpYWwgZ3JhbW1hciwgYnV0IHRvIHRoZSBsYXp5 IExvamJhbmlzdCwgaXQncyBpbnZhbHVhYmxlLgoKCgpUaGUgd29yZCAnJ2dpJycgaXMgc3RyYWdl IGtpbmQgb2YgYnJpZGkgc2VwYXJhdG9yLCBhbmFsb2dvdXMgdG8gJycuaScnLCBidXQgdG8gbXkg a25vd2xlZGdlLCBpdCBpcyB1c2VkIGluIG9ubHkgdHdvIGRpZmZlcmVudCBraW5kcyBvZiBjb25z dHJ1Y3RzOiBNb3N0IG9mdGVuIHdpdGggbG9naWNhbCBjb25uZWN0aXZlcywgZXhwbGFpbmVkIGlu IGxlc3NvbiB0d2VudHktZml2ZSwgYnV0IGFsc28gd2l0aCBzdW10Y2l0YS4gV2l0aCBzdW10Y2l0 YSBpdCBjcmVhdGVzIGEgdXNlZnVsLCBidXQgaGFyZGx5IHNlZW4sIGNvbnN0cnVjdDoKCicnbXUn aSBnaSBCUklESS0xIGdpIEJSSURJLTInJywgd2hpY2ggaXMgZXF1aXZhbGVudCB0byAnJ0JSSURJ LTIgLmkgbXUnaSBibyBCUklESS0xJycuIFRoZXJlZm9yZSwgdGhlIGV4YW1wbGUgYWJvdmUsIHdo aWNoIGV4cGxhaW5lZCB3aHkgSSBoaXQgeW91LCBjYW4gYmUgd3JpdHRlbiAnJ211J2kgZ2kgbWkg eGVibmkgZG8gZ2kgbWkgZGFyeGkgZG8nJywgb3IgdG8gcHJlc2VydmUgdGhlIHNhbWUgb3JkZXIg YXMgdGhlIG9yaWdpbmFsIHNlbnRlbmNlLCB3ZSBjYW4gY29udmVydCAnJ211J2knJyB3aXRoICcn c2UnJzogJydzZSBtdSdpIGdpIG1pIGRhcnhpIGRvIGdpIG1pIHhlYm5pIGRvJycuCgpJdCBpcyBp biBleGFtcGxlcyBsaWtlIHRoaXMgdGhhdCAnJ2dpJycgcmVhbGx5IGNhbiBzaG93IGl0cyB2ZXJz YXRpbGl0eS4gSXQgZG9lcyBub3QganVzdCBzZXBhcmF0ZSB0d28gYnJpZGkgbGlrZSAnJy5pJycg ZG9lcywgYnV0IGNhbiBhbHNvIHNlcGFyYXRlIHR3byBjb25zdHJ1Y3RzIHdpdGhpbiBhIGJyaWRp LCBtYWtpbmcgYWxsIGNvbnN0cnVjdHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgJydnaScnIGFwcGx5 IHRvIGJvdGggYnJpZGksIGFzIHRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXM6CgpfXycnY2luYmEn J19fIHgxIGtpc3NlcyB4MiBhdCBsb2N1cyB4MwoKCgpfXycn4oCiIFtOb3RlIGZyb20gSWxtZW46 IGdpLi4uZ2kuLi4gY29uc3RydWN0IGlzIG9ubHkgdmFsaWQgd2l0aCBzdW10Y2l0YSwgc28gSSBo YWQgdG8gY29ycmVjdCB0aGUgZXhhbXBsZXMgb2YgdGhlIHBhcmFncmFwaCBiZWxvdy4gUGVyaGFw cyB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgc2ltcGx5IHJlbW92ZWQ/XScnX18KCicnbWkgZ2Ug cHJhbWkgZG8gZ2kgY2luYmEgZG8nJyBsZWF2ZXMgbWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBt YWtpbmcgaXQgYXBwbHkgdG8gYm90aCBicmlkaS4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGgg JydkbycnLCB3aGljaCBpcyBhbHNvIHByZXNlbnQgaW4gYnJvdGggYnJpZGk6ICcnbWkgZ2UgcHJh bWkgZ2kgY2luYmEgdmF1IGRvJycuIE5vdGUgdGhhdCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtl IGRvIGFwcGVhciBvdXRzaWRlIHRoZSBzZWNvbmQgYnJpZGkuCgoKClRodXMsIHdlIGNhbiB3cml0 ZSB0aGUgb3JpZ2luYWwgc2VudGVuY2Ugc2hvcnRlcjogJydtaSBtdSdpIGdpIHhlYm5pIGdpIGRh cnhpIHZhdSBkbycnLCBvciwgdG8gb21pdCBldmVuIHRoZSAnJ3ZhdScnLCB3ZSBjYW4gd3JpdGUg aXQgZXZlbiBzaG9ydGVyIGFuZCBtb3JlIGVsZWdhbnRseTogJydtaSBkbyBtdSdpIGdpIHhlYm5p IGdpIGRhcnhpJycKCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1vbmUgKENP SSkKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBmYW1pbGlhcml6ZSB5b3Vyc2VsZiB3aXRoIHZv Y2F0aXZlcywgb3IgJydtYSdvaSBjb2knJy4gVGhleSBnZXQgdGhlaXIgb3duIGxlc3Nvbiwgbm90 IGJlY2F1c2UgdW5kZXJzdGFuZGluZyB0aGVzZSBwcm92aWRlcyBhIGJhc2lzIGZvciB1bmRlcnN0 YW5kaW5nIExvamJhbiBncmFtbWFyIGluIGdlbmVyYWwsIG9yIGJlY2F1c2UgdGhleSBhcmUgaGFy ZCB0byB1bmRlcnN0YW5kLCBidXQgcmF0aGVyIGJlY2F1c2UgdGhleSBhcmUgdmVyeSBvZnRlbiB1 c2VkIGluIGNhc3VhbCBzcGVlY2gsIGFuZCB0aGVyZSBhcmUgYSBsb3Qgb2YgdGhlbS4KCkEgdm9j YXRpdmUgaXMgdXNlZCBwYXJ0bHkgdG8gZGVmaW5lIHdobyAnJ2RvJycgcmVmZXJzIHRvLiBJZiB0 aGUgdm9jYXRpdmUgaXMgZm9sbG93ZWQgYnkgYSBjbWV2bGEsIHRoZSBjbWV2bGEgZ2V0cyBhbiBp bXBsaWVkIGxhIGluIGZyb250IG9mIGl0LiBJZiBhIHNlbGJyaSBmb2xsb3dzLCBhICcnbGUnJyBp cyB1c2VkIGFzIGEgZ2FkcmkgaW5zdGVhZC4KCkluIHRoZXNlIGV4YW1wbGVzLCBJIHdpbGwgdXNl IHRoZSB2b2NhdGl2ZSAnJ2NvaScnLCB3aXRoIG1lYW5zIOKAnEhp4oCdIG9yIOKAnEhlbGxv4oCd LgoKSWYgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgKyBTRUxCUkknJywgdXNpbmcgYSB2b2NhdGl2 ZSB3aXRoIG9ubHkgdGhlIHNlbGJyaSB0byBhZGRyZXNzIHRoYXQgcGVyc29uIHdpbGwgbWVhbiB5 b3UgcmVmZXIgdG8gaGVyIGFzIGFjdHVhbGx5IGJlaW5nIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSwg d2hpY2ggaXMgb2Z0ZW4gd3JvbmcuIElmLCBmb3IgaW5zdGFuY2UsIGEgcGVyc29uIGlzIGNhbGxl ZCAnJ2xhIHRzYW5pJycsIOKAnFNreeKAnSwgc2F5aW5nICcnY29pIHRzYW5pJycgcmVmZXJzIHRv IGhlciBhcyBhICcnbGUgdHNhbmknJywgbWVhbmluZyDigJxIaSwgeW91IHNreeKAnSwgd2hpbGUg Jydjb2kgbGEgdHNhbmkgY29ycmVjdGx5JycgcmVmZXJzIHRvIGhlciBhcyBzb21lb25lIGNhbGxl ZCAiU2t5IiwgbWVhbmluZyDigJxIaSBTa3nigJ0uIFRoaXMgaXMgYSBmcmVxdWVudCBtaXN0YWtl LCBlc3BlY2lhbGx5IGFtb25nIG5ldyBMb2piYW5pc3RzLgoKQWxsIHZvY2F0aXZlcyBoYXZlIGEg ZmEnb3JtYSdvIHdoaWNoIGlzIHNvbWV0aW1lcyByZXF1aXJlZC4gVGhpcyBpcyAnJ2RvJ3UnJy4g SXQncyBtb3N0bHkgdXNlZCBpZiBib3RoIHRoZSBmaXJzdCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2 ZSBwaHJhc2UgYW5kIHRoZSBsYXN0IHdvcmQgb2YgdGhlIHBocmFzZSBpcyBhIHNlbGJyaSwgc28g dGhhdCBpdCBwcmV2ZW50cyBmb3JtaW5nIGEgdGFucnU6CgoKCl9fJydkbyd1JydfXyBFbmQgdm9j YXRpdmUgcGhyYXNlLiBVc3VhbGx5IGVsaWRhYmxlLgoKX18nJ2tsYWt1JydfXyB4MSBjcmllcyB4 MiAodGVhcnMpIGZvciByZWFzb24geDMKCicnY29pIGxhIGdsZWtpIGRvJ3Uga2xha3UgZmkgbWEn JyDigJ1IZWxsbyBIYXBweS4gV2h5IGNyeT/igJ0KCgoKVGhlIGdlbmVyaWMgdm9jYXRpdmUsICcn ZG9pJycsIGRvZXMgbm90aGluZyBleGNlcHQgZGVmaW5pbmcgd2hvIGlzIGJlaW5nIHJlZmVycmVk IHRvIGJ5ICcnZG8nJzoKCicnZG9pIC5lcm5zdC4geHUgZG8gZG90Y28gbWVya28nJyDigJxFcm5z dDogQXJlIHlvdSBhIEdlcm1hbi1BbWVyaWNhbj/igJ0KCgoKQWxsIHRoZSBvdGhlciB2b2NhdGl2 ZXMgaGF2ZSBzb21lIGNvbnRlbnQgYmVzaWRlIGRlZmluaW5nICcnZG8nJy4gJydjb2knJywgd2hp Y2ggeW91IGtub3csIGFsc28gbWVhbnMg4oCcSGVsbG/igJ0sIGZvciBleGFtcGxlLiBNYW55IG9m IHRoZSB2b2NhdGl2ZXMgaGF2ZSB0d28gb3IgdGhyZWUgZGVmaW5pdGlvbnMgbGlrZSB0aGUgYXR0 aXR1ZGluYWxzLiBMaWtlIGF0dGl0dWRpbmFscywgdGhpcyBpcyBiZWNhdXNlIHRoZXkgY2FuIGJl IG1vZGlmaWVkIHdpdGggJydjdSdpJycgYW5kICcnbmFpJycsIHRob3VnaCBvbmx5IG9uZSB2b2Nh dGl2ZSBoYXMgdGhlICcnY3UnaScnLWZvcm0gZGVmaW5lZC4KClNvbWUgaW1wb3J0YW50IHZvY2F0 aXZlcyBhcmUgbGlzdGVkIGluIHRoZSB0YWJsZSBiZWxvdy4gVGhlcmUgYXJlIG90aGVycywgYnV0 IHRob3NlIGFyZSBub3QgdXNlZCBtdWNoLgoKfHx2b2NhdGl2ZXxXaXRob3V0IHN1ZmZpeHwtY3Un aXwtbmFpCgpjb2l8SGVsbG98LXwtCgpjbydvfEdvb2RieWUJfC18LQoKamUnZXxVbmRlcnN0b29k IC8gT0t8LXxOb3QgdW5kZXJzdG9vZAoKZmknaXxXZWxjb21lfC18Tm90IHdlbGNvbWUgaGVyZQoK cGUndXxQbGVhc2V8LXwtCgpraSdlfFRoYW5rc3wtfERpc2FwcHJlY2lhdGlvbgoKcmUnaXxSZWFk eSB0byByZWNpZXZlfC18Tm90IHJlYWR5CgpqdSdpfEhleSF8QXQgZWFzZXxJZ25vcmUgbWUKCnRh J2F8SW50ZXJydXB0aW9ufC18LQoKdmknb3xXaWxsIGRvfC18V2lsbCBub3QgZG8KCmtlJ298UGxl YXNlIHJlcGVhdHwtfE5vIHJlcGVhdCBuZWVkZWQKCmtpJ2FpfHdlbGwtd2lzaHwtfGN1cnNlfHwK Ck5vdGljZSB0aGF0ICcna2knYWknJyBpcyBleHBlcmltZW50YWwKCgoKCgpXaGF0IHdvdWxkICcn Y29pIGNvJ28nJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEdyZWV0aW5ncyBpbiBw YXNzaW5n4oCdIG9yIOKAnEhlbGxvIGFuZCBHb29kYnll4oCdfn4KCgoKJydqZSdlJycgaXMgdXNl ZCBhcyDigJxPS+KAnSwgYnV0IGFsc28gdGhlIGFwcHJvcHJpYXRlIHJlc3BvbnNlIHdoZW4gcmVj ZWl2aW5nIHByYWlzZSBvciB0aGFua3MgKGF0IGxlYXN0LCBpZiB5b3Ugd2FudCB0byBiZSBtb2Rl c3QpLCBhcyBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJhaXNlIG9yIHRoYW5rcyB3YXMgc3VjY2Vz c2Z1bGx5IHVuZGVyc3Rvb2QuCgoKClRyYW5zbGF0ZSAnJ2tpJ2Ugc2lkanUgYmUgbWkgYmVpIGxv IHZham5pIC5pIGplJ2UgLmplbmlmeW4uJycKCl9fJydzaWRqdScnX18geDEgaGVscHMgeDIgZG8g eDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGFua3MsIHlvdSBoZWxwZXIgb2YgbWUgdG8g ZG8gc29tZXRoaW5nIGltcG9ydGFudC7igJ0g4oCcTm8gcHJvYmxlbSwgSmVubmlmZXLigJ1+fgoK CgpBbmQgJydmaSdpIHRlIHZlY251IC5pIHBlJ3Uga28gY2l0a2EnJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnVdlbGNvbWUsIGJ1eWVyLiBQbGVhc2UgZWF0IeKAnX5+CgoKCicncmUnaScnIGlz IHVzZWQgdG8gc2lnbmFsIHRoYXQgeW91IGFyZSByZWFkeSB0byBiZSBzcG9rZW4gdG8uIEl0IGNh biBiZSB1c2VkIGFzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiDigJxXaGF0IGNhbiBJIGRvIGZv ciB5b3U/4oCdIG9yIHBlcmhhcHMgcmVwbGFjZSDigJxIZWxsb+KAnSwgd2hlbiBzcGVha2luZyBv biBhIHBob25lLiAnJ3JlJ2kgbmFpJycgY2FuIG1lYW4g4oCcQUZL4oCdIG9yIOKAnEJlIHRoZXJl IGlzIGEgc2Vjb25kLuKAnQoKCgpUcmFuc2xhdGU6IOKAnEhlbGxvLCB3aGF0IGNhbiBJIGRvIGZv ciB5b3UsIEludGVycHJldGVyL1RyYW5zbGF0ZXI/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 Jydjb2kgcmUnaSBsYSBmYW52YScnfn4KCgoKJyd0YSdhJycgaXMgdXNlZCB3aGVuIGF0dGVtcHRp bmcgdG8gcG9saXRlbHkgaW50ZXJydXB0IHNvbWVvbmUgZWxzZS4gV2hhdCB3b3VsZCBiZSBnb29k IHJlc3BvbnNlcyB0byB0aGlzPwoKCgpUcmFuc2xhdGU6ICcndGEnYSBybyBkbyBtaSBjbydhIGNs aXZhJycKCl9fJydjbGl2YScnX18geDEgbGVhdmVzIHgyIHZpYSByb3V0ZSB4MwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnEV4Y3VzZSBtZSBmb3IgaW50ZXJydXB0aW5nLCBldmVyeW9uZS4gSSBi ZWdpbiB0byBsZWF2ZSBub3figJ0gTm90aWNlIHRoYXQgbm8gZmEnb3JtYSdvIG9yICcnLmknJyBp cyBuZWVkZWQufn4KCgoKJydrZSdvJycgaXMgdXNlZCBhIGxvdCB3aGVuIGluZXhwZXJpZW5jZWQg TG9qYmFuaXN0cyBzcGVhayB0b2dldGhlciB2b2NhbGx5LiBJdCdzIHF1aXRlIGEgaGFuZHkgd29y ZAoKX18nJ3N1dHJhJydfXyB4MSBpcyBxdWljayBhdCBkb2luZyB4MgoKCgpUcmFuc2xhdGU6ICcn Lnkga2UnbyBzdXRyYSB0YXZsYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVWgsIFBsZWFz ZSByZXBlYXQsIHlvdSBxdWljayBzcGVha2VyLuKAnX5+CgoKCkFuZCDigJxPa2F5IG9rYXksIEkg Z290IGl0IGFscmVhZHkhIEknbGwgZG8gaXQh4oCdCgoKCkFuIGFuc3dlcjogfn5ncmV5LGdyZXk6 JydrZSdvIG5haSAudWkgbmFpIHZpJ28nJ35+CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g dHdlbnR5LXR3byAocXVhbnRpZnlpbmcgc3VtdGkpCgpNb3N0IG90aGVyIGxlYXJuaW5nIG1hdGVy aWFscyBzdWNoIGFzIFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UgYW5kIExvamJhbiBmb3Ig QmVnaW5uZXJzIHdlcmUgd3JpdHRlbiBiZWZvcmUgdGhlIG9mZmljaWFsIGFkb3B0YXRpb24gInhv cmxvIiwgYSBjaGFuZ2UgaW4gdGhlIHJ1bGVzIGFib3V0IGdhZHJpIGRlZmluaXRpb24gYW5kIGdh ZHJpIHF1YW50aWZpY2F0aW9uLiBUaGUgb2Jzb2xldGVuZXNzIG9mIHNvbWUgb2YgdGhlIHRleHQg aW4gdGhlIG9sZGVyIGxlYXJuaW5nIG1hdGVyaWFscyB3YXMgYSBtYWpvciBjYXVzZSBmb3IgdGhl IG1vdGl2YXRpb24gdG8gd3JpdGUgdGhlc2UgbGVzc29ucy4gVW5mb3J0dW5hdGVseSBmb3IgbWUs IHF1YW50aWZpY2F0aW9uIG9mIHN1bXRpIGNhbiBiZWNvbWUgYSB2ZXJ5IGNvbXBsZXggdG9waWMg d2hlbiB0aGUgaW1wbGljYXRpb25zIG9mIGNlcnRhaW4gcnVsZXMgYXJlIGRpc2N1c3NlZCBpbiBk ZXRhaWwuIEluIG9yZGVyIHRvIGZ1bGZpbGwgdGhlIGdvYWwgb2YgdGhpcyB0ZXh0IGJlaW5nIGFj Y3VyYXRlIGVub3VnaCB0byByZXByZXNlbnQgdGhlIG9mZmljaWFsICJnb2xkIHN0YW5kYXJkIiBC UEZLIHJ1bGVzLCB0aGlzIGNoYXB0ZXIgd2FzIGFtb25nIHRoZSBsYXN0IG9uZXMgZmluaXNoZWQg YW5kIHRoZSBvbmVzIG1vc3QgZnJlcXVlbnR5IHJld3JpdHRlbi4gSSBzdHJvbmdseSBlbmNvdXJh Z2UgYW55b25lIHdobyBmaW5kcyBtaXN0YWtlcyBpbiB0aGlzIHRleHQgdG8gY29udGFjdCBtZSBp biBvcmRlciBmb3IgdGhlbSB0byBiZSBjb3JyZWN0ZWQuCgpIYXZpbmcgc2FpZCB0aGF0IGRpc2Ns YWltZXIsIGxldCdzIGdldCBzdGFydGVkOgoKVGhlIGZpcnN0IGNvbmNlcHQgeW91IHNob3VsZCBr bm93IGFib3V0IGlzICJkaXN0cmlidXRpdml0eSIuIEluIGxlc3NvbiBmb3VydGVlbiBpIHVzZWQg dGhlIHdvcmQgImluZGl2aWR1YWxzIiBhYm91dCBhIGdyb3VwIG9mIG9iamVjdHMgY29uc2lkZXJl ZCBkaXN0cmlidXRpdmVseS4gQSBkaXN0cmlidXRpdmUgZ3JvdXAgJydrbydhJycgaXMgZm9yIGFu eSBzZWxicmkgJydicm9kYScnIGEgZ3JvdXAgc3VjaCB0aGF0LCBpZiAnJ2tvJ2EgYnJvZGEnJyBp cyB0cnVlLCBpdCBtZWFucyB0aGF0IGV2ZXJ5IG1lbWJlciBvZiB0aGUgZ3JvdXAgYWxzbyBpcyBj aGFyYWN0ZXJpemVkIGJ5ICcnYnJvZGEnJy4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gbm9u LWRpc3RyaWJ1dGl2aXR5ICh3aGljaCBtYXNzZXMgaGF2ZSksIGluIHdoaWNoIHRoZSBncm91cCBo YXMgb3RoZXIgcHJvcGVydGllcyB0aGFuIGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGRvLiBUaGUg ZGlzdGluY3Rpb24gYmV0d2VlbiBkaXN0cmlidXRpdml0eSAoaW5kaXZpZHVhbC1saWtlKSBhbmQg bm9uLWRpc3RyaWJ1dGl2aXR5IChtYXNzLWxpa2UpIGlzIG9mIHJlbGV2YW5jZSB3aGVuIHF1YW50 aWZ5aW5nIHN1bXRpLgoKTGV0IHVzIGZpcnN0IGNvbnNpZGVyIGhvdyBvbmUgY2FuIHF1YW50aWZ5 IGRlY3JpcHRpb24gc3VtdGksIHdoaWNoIGFyZSBzdW10aSBvZiB0aGUgZm9ybSBHQURSSSBCUklW TEEuIFRoZSBudW1iZXIgc3RyaW5nIHdoaWNoIGRvZXMgdGhlIHF1YW50aWZpY2F0aW9uIGNhbiBi ZSBwbGFjZWQgYmVmb3JlIHRoZSBnYWRyaSwgaW4gd2hpY2ggY2FzZSBpdCBpcyByZWZlcnJlZCB0 byBhcyBhbiBfX291dGVyIHF1YW50aWZpZXJfXywgYW5kIGl0IGNhbiBiZSBwbGFjZWQgYmV0d2Vl biB0aGUgZ2FkcmkgYW5kIHRoZSBicml2bGEsIGluIHdoaWNoIGNhc2UgaXQncyBhbiBfX2lubmVy IHF1YW50aWZpZXJfXy4gQW55IGtpbmQgb2YgbnVtYmVyIHN0cmluZyBjYW4gYWN0IGFzIGEgcXVh bnRpZmllci4KClRoZSBydWxlcyBmb3IgaG93IGlubmVyIGFuZCBvdXRlciBxdWFudGlmaWVycyBh ZmZlY3RzIHN1bXRpIGRlcGVuZCBvbiB0aGUga2luZCBvZiBnYWRyaSB3aGljaCBpcyB1c2VkOgoK CgotIC0nJ2xvJycgYW5kICcnbGUnJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxzIHVzIGhv dyBtYW55IG9iamVjdHMgYXJlIGJlaW5nIHNwb2tlbiBvZiAtIGhvdyBtYW55IG9iamVjdHMgYXJl IGluIHRoZSBkaXNjb3Vyc2UgdG90YWwuIElmIGFuIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2Vu dCwgdGhlIHN1bXRpIGlzIGRpc3RyaWJ1dGVkIG92ZXIgdGhhdCBhbW91bnQgb2Ygb2JqZWN0cy4g QXMgc3RhdGVkIGVhcmxpZXIsIGlmIG5vIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQn cyB2YWd1ZSBob3cgbWFueSBvYmplY3RzIHRoZSBzZWxicmkgYXBwbGllcyB0byAodGhvdWdoIG5v dCBub25lKSwgYW5kIHdoZXRoZXIgaXQgZG9lcyBzbyBkaXN0cmlidXRpdmVseSBvciBub24tZGlz dHJpYnV0aXZlbHkuIEV4YW1wbGVzIGFyZSBhbHdheXMgYSBnb29kIGlkZWEsIHNvIGhlcmUgdGhl eSBhcmU6CgonJ211IGxvIG11IGJha25pIGN1IHNlIGppcm5hJycgLSBUaGUgaW5uZXIgcXVhbnRp ZmllciBvZiBmaXZlIHRlbGxzIHVzIHRoYXQgd2Ugc3BlYWsgYWJvdXQgZml2ZSBwaWVjZXMgb2Yg Y2F0dGxlLCBhbmQgdGhlIG91dGVyIHF1YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHRo ZSBzZWxicmkgaXMgdHJ1ZSBmb3IgZWFjaCBvZiB0aGUgZml2ZS4gVGhlcmVmb3JlLCBpdCBtZWFu cyAiQWxsIHRoZSBmaXZlIGNvd3MgaGFkIGhvcm5zIi4gCgpfXycnYmFrbmknJ19fIHgxIGlzIGEg Y293L294L2NhdHRsZS9jYWxmIGV0YyBvZiBicmVlZCB4MgoKX18nJ2ppcm5hJydfXyB4MSBpcyB0 aGUgaG9ybiBvZiB4MiAobWV0YXBob3I6IGFueSBwb2ludGVkIGV4dHJlbWl0eSkKCgoKV2hhdCBk b2VzIHRoZSBmb2xsb3dpbmcgYnJpZGkgbWVhbj8KCicnbG8gcnUndXJndWJ1cHUgYmUgbGkgcmUg cGkgemUgbXUgY3UgamRpbWEgbG8gcGEgcmUgc292ZGEnJwoKX18nJ3J1J3VyZ3VidXB1JydfXyB4 MSBpcyBtZWFzdXJlcyB0byBiZSB4MiBCcml0aXNoIHBvdW5kcyAoR0JQKQoKX18nJ2pkaW1hJydf XyB4MSBpcyB0aGUgcHJpY2Ugb2YgeDIgdG8gYnV5ZXIgeDMgc2V0IGJ5IHZlbmRvciB4NAoKX18n J3NvdmRhJydfXyB4MSBpcyBhIGdhbWV0ZSAoZWdnL3NwZXJtKSBvZiB4MgoKQW5zd2VyOiB+fmdy ZXksZ3JleTogIlR3ZWx2ZSBlZ2dzIGNvc3QgMi43NSBCcml0aXNoIHBvdW5kcyIgd2hpY2gsIGFz IHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9uLCBjb3VsZCBtZWFuIGJvdGggdGhhdCB0aGV5IGNvc3Qg Mi43NSBlYWNoIChkaXN0cmlidXRpdmVseSkgb3IgdGhhdCBhbGwgdHdlbHZlIHRvZ2V0aGVyIGNv c3QgMi43NSAobm9uLWRpc3RyaWJ1dGl2ZWx5KX5+CgoKCicnc28gbGUgdGEgcGEgcGEgY2knZXJr ZWkgY3UgY2xhbWF1IG1pJycgKG5vdGljZSB0aGF0IHRoZSAnJ3RhJycgZ29lcyBiZWZvcmUgdGhl IGlubmVyIHF1YW50aWZpZXIpCgpfXycnY2knZXJrZWknJ19fIHgxIHBsYXlzIGdhbWUgeDIgZ292 ZW5lcmQgYnkgcnVsZXMgeDMgaW50ZXJyZWxhdGluZyBnYW1lIHBhcnRzIHg0IHt0aGlzIGlzIHVz ZWQgdG8gdHJhbnNsYXRlICJwbGF5IiBpbiB0aGUgc2Vuc2UgInBsYXkgYSBnYW1lIiByYXRoZXIg dGhhbiwgZm9yIGluc3RhbmNlICJwbGF5aW5nIHByZXRlbmQiIG9yICJwbGF5aW5nIEhvdXNlIn0K Cl9fJydjbGFtYXUnJ19fIHgxIGlzIHRhbGxlci9sb25nZXIgdGhhbiB4MiBpbiBkaXJlY3Rpb24g eDMgbXkgbWFyaWdpbiB4NAoKQW5zd2VyOiB+fmdyZXksZ3JleTpUaGUgaW5uZXIgc3RhdGVzIHRo ZXJlIGFyZSAxMSBwbGF5ZXJzIGluIHRoZSBkaXNjb3Vyc2UsIGFuZCB0aGUgb3V0ZXIgc3RhdGVz IHRoYXQgdGhlIHNlbGJyaSBhcHBsaWVzIHRvIG5pbmUgb2YgdGhlbSBkaXN0cmlidXRpdmVseS4g VGh1cyBpdCBtZWFucyAiTmluZSBvZiB0aGUgZWxldmVuIHBsYXllcnMgYXJlIHRhbGxlciB0aGFu IG1lIn5+CgoKClRoZXJlIGFyZSBhIGZldyBwb2ludHMgdGhhdCBuZWVkcyB0byBiZSByYWlzZWQg cmVnYXJkaW5nIHF1YW50aWZpY2F0aW9uIG9mICcnbG8nJy8nJ2xlJyc6CgpGaXJzdGx5LCAnJ2xv JycgaXMgdW5pcXVlIGluIHRoYXQgIntudW1iZXJ9IHtzZWxicml9IiBpcyBkZWZpbmVkIGFzICJ7 bnVtYmVyfSAnJ2xvJycge3NlbGJyaX0iLiBUaGVyZWZvcmUsICcnY2kgZ2Vya3UgY3UgYmF0Y2kg cmUgbmFubXUnJyBpcyBkZWZpbmVkIHRvIGJlICcnY2kgbG8gZ2Vya3UgY3UgYmF0Y2kgcmUgbG8g bmFubXUnJywgd2hpY2ggY29uc2lkZXJzIGJvdGggdGhlIGdyb3VwIG9mIGRvZ3MgYW5kIHRoZSBn cm91cCBvZiBtZW4gZGlzdHJpYnV0aXZlbHkuIFRoZXJlZm9yZSwgZWFjaCBvZiB0aGUgdGhyZWUg ZG9ncyBiaXQgZWFjaCBvZiB0aGUgdHdvIG1lbiwgd2l0aCBzaXggYml0aW5nIGV2ZW50cyBpbiB0 b3RhbC4KCl9fJydiYXRjaScnX18geDEgYml0ZXMvcGluY2hlcyB4MiBhdCBsb2N1cyB4MyB1c2lu ZyB4NCBhcyBwaW5jaGluZyB0b29sLgoKU2Vjb25kbHk6IFdoYXQgaWYgdGhlcmUgaXMgbm8gb3V0 ZXIgcXVhbnRpZmllcj8gRG9lcyB0aGlzIG1lYW4gdGhhdCBpdCBfX2lzX18gdGhlcmUsIGJ1dCBp dCdzIGVsaWRlZD8gTm9wZS4gSWYgdGhlcmUgaXMgYW55IGtpbmQgb2Ygb3V0ZXIgcXVhbnRpZmll ciwgZWxpZGVkIG9yIG5vdCwgaXQgd291bGQgZm9yY2UgdGhlIHN1bXRpIHRvIGJlIGRpc3RyaWJ1 dGl2ZSwgd2hpY2ggd291bGQgbWVhbiB0aGF0IG5laXRoZXIgJydsbycnIG5vciAnJ2xlJycgY291 bGQgYmUgdXNlZCB0byBkZXNjcmliZSBtYXNzZXMuIFRoZXJlZm9yZSwgaWYgbm8gb3V0ZXIgcXVh bnRpZmllciBpcyBwcmVzZW50LCBpdCdzIG5vdCBvbmx5IGVsaWRlZCAtIGl0J3Mgc2ltcGx5IG5v dCB0aGVyZS4gU3VtdGkgd2l0aG91dCBhbiBvdXRlciBxdWFudGlmaWVyIGNhbiBiZSByZWZlcnJl ZCB0byBhcyAiY29uc3RhbnRzIiwgZXZlbiB0aG91Z2ggSSB3b24ndC4KClRoaXJkbHksIGl0IG1h a2VzIG5vIHNlbnNlIHRvIGhhdmUgYW4gb3V0ZXIgcXVhbnRpZmllciB3aGljaCBpcyBsYXJnZXIg dGhhbiB0aGUgaW5uZXIgb25lLiBJdCBtZWFucyB0aGF0IHRoZSBzZWxicmkgaG9sZHMgdHJ1ZSBm b3IgbW9yZSBzdW10aSB0aGFuIGFyZSBwcmVzZW50IGluIHRoZSBkaXNjb3Vyc2UgLSBidXQgc2lu Y2UgdGhleSBhcHBlYXIgaW4gYSBicmlkaSwgdGhleSBfX2FyZV9fIHBhcnQgb2YgdGhlIGRpc2Nv dXJzZS4gSXQncyBncmFtbWF0aWNhbCB0byBkbyBpdCwgdGhvdWdoLgoKTGFzdGx5LCBwbGFjaW5n IGEgJydsbycnIG9yIGEgJydsZScnIGluIGZyb250IG9mIGEgc3VtdGkgaXMgZ3JhbW1hdGljYWws IGlmIHRoZXJlIGlzIGFuIGlubmVyIHF1YW50aWZpZXIgcHJlc2VudC4gIicnbG8nJy8nJ2xlJycg e251bWJlcn0ge3N1bXRpfSIgaXMgZGVmaW5lZCBhcyAiJydsbycnLycnbGUnJyB7bnVtYmVyfSAn J21lJycge3N1bXRpfSIuCgpTbyB3aGF0IHdvdWxkIHRoaXMgbWVhbj8gJydtaSBuZWxjaSBsb2kg bWkgYnJpanUga2Fuc2EgLmkga3UnaSBjaSBsbyByZSBtdSBqaSdpIHJpIGN1IGxhem5pJycKCl9f JydicmlqdScnJ19fIHgxIGlzIGFuIG9mZmljZSBmb3Igd29ya2VyIHgyIGF0IGxvY2F0aW9uIHgz CgpfXycna2Fuc2EnJ19fIHgxIGFjY29tcGFuaWVzIHgyIGluIGFjdGlvbi9zdGF0ZS9lbnRlcnBy aXNlIHgzCgpfXycnbGF6bmknJ19fIHgxIGlzIGxhenksIGF2b2lkaW5nIHdvcmsgY29uY2Vybmlu ZyB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleToiSSBsaWtlIG15IGNvLXdvcmtlcnMsIGJ1dCB0aHJl ZSBvdXQgb2YgYWJvdXQgdHdlbnR5IGZpdmUgb2YgdGhlbSBhcmUgbGF6eSJ+fgoKCgotIC0nJ2xh JyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBpcyBncmFtbWF0aWNhbCBpZiB0aGUgbmFtZSBpcyBh IHNlbGJyaSAtIGluIHRoaXMgY2FzZSwgaXQncyBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUu IEFuIG91dGVyIHF1YW50aWZpZXIgaXMgdXNlZCB0byBxdWFudGlmeSBkaXN0cmlidXRpdmVseSBv dmVyIHN1Y2ggaW5kaXZpZHVhbHMgKG11Y2ggbGlrZSAnJ2xvJycvJydsZScnKSBJdCdzIGdyYW1t YXRpY2FsIHdoZW4gcGxhY2VkIGluIGZyb250IG9mIHtudW1iZXJ9IHtzdW10aX0sIGluIHdoaWNo IGNhc2UsIHRoZSBib3RoIHRoZSBudW1iZXIgYW5kIHRoZSBzdW10aSBpcyBjb25zaWRlcmVkIHRo ZSBuYW1lLgoKCgpUcmFuc2xhdGUgdGhpczogJydyZSBsYSBjaSBiYXJndSBjdSBqaWJuaSBsZSBt aSB6ZGFuaScnCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiBUd28gIlRoZSBUaHJlZSBBcmNoZXMiIGFy ZSBsb2NhdGVkIGNsb3NlIHRvIG15IGhvdXNlIiAoUGVyaGFwcyBUaGUgVGhyZWUgQXJjaGVzIGFy ZSBhIGtpbmQgb2YgcmVzdGF1cmFudD8pfn4KCgoKLSAtJydsb2knJyBhbmQgJydsZWknJy0gLSBB biBpbm5lciBxdWFudGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55IG1lbWJlcnMgdGhlcmUgYXJlIGlu IHRoZSBtYXNzL21hc3NlcyBpbiBxdWVzdGlvbi4gQW4gb3V0ZXIgcXVhbnRpZmllciBxdWFudGlm aWVzIGRpc3RyaWJ1dGl2ZWx5IHshfSBvdmVyIHRoZXNlIG1hc3NlcwoKTm90aWNlIGhlcmUgdGhh dCB3aGlsZSBtYXNzZXMgY29uc2lzdCBvZiBhIG51bWJlciBvZiBvYmplY3RzIGNvbnNpZGVyZWQg bm9uLWRpc3RyaWJ1dGl2ZWx5LCBhbiBvdXRlciBxdWFudGlmaWVyIGFsd2F5cyB0cmVhdHMgZWFj aCBvZiB0aGVzZSBtYXNzZXMgYXMgYW4gaW5kaXZpZHVhbC4KCldoZW4gcGxhY2VkIGJlZm9yZSBh IG51bWJlciBzdHJpbmcsIHRoZW4gYSBzdW10aSwgJydsb2knJy8nJ2xlaScnIGlzIGRlZmluZWQg YXMgIicnbG8gZ3VubWEgYmUgbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIG1h c3MgY29uc2lzdGluZyBvZiB0aGUge251bWJlcn0gb2Yge3N1bXRpfSIuCgoKCkF0dGVtcHQgdG8g dHJhbnNsYXRlIHRoaXM6ICcncmUgZGVpIGd1bm1hIHJlIGxvaSB6ZSB2YWxzaSAuaSBjYSdlIHBh IGRlaSBqYWkgZ2F1IGpldG51JycKCl9fJydndW5tYScnX18geDEgaXMgYSBtYXNzIG9mIHRoZSBp bmRpdmlkdWFscyB4MgoKX18nJ3ZhbHNpJydfXyB4MSBpcyBhIHdvcmQsIG1lYW5pbmcgeDIgaW4g bGFuZ3VhZ2UgeDMKCl9fJydjYSdlJydfXyBBdHRpdHVkaW5hbDogRXZpZGVudGlhbDogSSBkZWZp bmUKCl9fJydqZXRudScnX18geDEgaXMgdHJ1ZSBhY2NvcmRpbmcgdG8gbWV0YXBoeXNpY3MvZXBp c3RlbW9sb2d5IHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlc2UgdHdvIHV0dGVyYW5jZXMg YXJlIGEgbWFzcywgY29uc2lzdGluZyBvZiB0d28gaW5kaXZpZHVhbCBtYXNzZXMgZWFjaCBvZiBz ZXZlbiB3b3Jkcy4gSSBkZWZpbmU6IFRoaXMgb25lIHV0dGVyYW5jZSBjYXVzZXMge2l0fSB0byBi ZSB0cnVlLiJ+fgoKCgotIC0nJ2xhaScnLSAtIE11Y2ggbGlrZSAnJ2xhJycsIGFuIGlubmVyIHF1 YW50aWZpZXIgKHdoZW4gbmFtZSBpcyBhIHNlbGJyaSkgaXMgcGFydCBvZiB0aGUgbmFtZS4gQW4g b3V0ZXIgb25lIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHkuIEJlZm9yZSBhIG51bWJlcitzdW10 aSwgYm90aCB0aGUgc3VtdGkgYW5kIHRoZSBudW1iZXIgbWFrZSB1cCB0aGUgbmFtZS4KCldoZW4g YSBmcmFjdGlvbiBpcyB1c2VkIGFzIGFuIG91dGVyIHF1YW50aWZpZXIgdG8gcXVhbnRpZnkgJyds b2knJywgJydsZWknJyBvciAnJ2xhaScnLCBvbmUgc3BlYWtzIGFib3V0IG9ubHkgcGFydCBvZiB0 aGUgbWFzcyAoZm9yIGluc3RhbmNlLCAiaGFsZiBvZiB0aGUgSm9obnNvbnMiIC0gJydwaSBtdSBs YWkgLmRqYW5zeW4uJycpLgoKCgotIC0nJ2xvJ2knJyBhbmQgJydsZSdpJyctIC0gQW4gaW5uZXIg cXVhbnRpZmllciBkZXNjcmliZXMgdGhlIGFtb3VudCBvZiBtZW1iZXJzIG9mIHRoZSBzZXQuIEFu IG91dGVyIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHkgb3ZlciBzZXZlcmFsIG9mIHN1Y2ggc2V0 cy4gV2hlbiBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQg YXMgIicnbG8gc2VsY21pIGJlICcnbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhl IHNldCBvZiB7bnVtYmVyfSB7c3VtdGl9Ii4KCgoKVHJhbnNsYXRlICcnbG8naSBybyBzZSBjaW5r aSBjdSBicmFtYXUgbGEnYSBwYSBubyBubyBsbydpIHJvIHNlIGJvZ3lrYW1qdSBqdXRzaScnCgpf XycnY2lua2knJ19fIHgxIGlzIGFuIGluc2VjdCBvZiBzcGVjaWVzIHgyCgpfXycnbGEnYScnX18g QXR0aXR1ZGluYWw6IERpc2N1cnNpdmU6IFByb2JhYmx5CgpfXycnYnJhbWF1JydfXyB4MSBpcyBi aWdnZXIgdGhhbiB4MiBpbiBkaW1lbnNpb24geDMgYnkgbWFyaWdpbiB4NAoKX18nJ2JvZ3lrYW1q dScnX18geDEgaXMgdGhlIHNwaW5lIG9mIHgyCgpfXycnanV0c2knJ19fIHgxIGlzIHRoZSBzcGVj aWVzIG9mIGdlbnVzIHgyLCBmYW1pbHkgeDMgLi4uIChvcGVuIGVuZGVkIGNsYXNzaWZpY2F0aW9u KQoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZSBzZXQgb2YgYWxsIHRoZSBzcGVjaWVzIG9mIGlu c2VjdHMgaXMgcHJvYmFibHkgYmlnZ2VyIHRoYW4gb25lIGh1bmRyZWQgc2V0cyBvZiBhbGwgc3Bl Y2llcyBvZiB2ZXJ0ZWJyYXRlcyJ+fgoKCgotIC0nJ2xhJ2knJy0gLSBBcyB3aXRoICcnbGFpJycK Ckxpa2Ugd2l0aCB0aGUgbWFzcyBnYWRyaSwgYW4gb3V0ZXIgcXVhbnRpZmllciBiZWZvcmUgYSBz ZXQgZ2FkcmkgZW5hYmxlcyBvbmUgdG8gc3BlYWsgYWJvdXQgYSBmcmFjdGlvbiBvZiBhIHNldC4g SW4gZnJvbnQgb2YgYSBudW1iZXIgYW5kIGEgc3VtdGksIGl0J3MgZGVmaW5lZCBhcyAiJydsbyBz ZWxjbWkgYmUgbGEnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUgc2V0IGNvbnNpc3Rpbmcgb2Yg VGhlIHtOdW1iZXJ9IHtTdW10aX0iIChjb25zaWRlcmVkIGEgbmFtZSkKCgoKLSAtJydsbydlJycg YW5kICcnbGUnZScnLSAtIEFyZSBmb3Igc29tZSByZWFzb24gbm90IGluY2x1ZGVkIGluIHRoZSBj dXJyZW50bHkgYWNjZXB0ZWQgZ2FkcmkgcHJvcG9zYWwuIElmIG9uZSB3ZXJlIHRvIGV4dGVuZCB0 aGUgcnVsZXMgb2YgYW5vdGhlciBnYWRyaSwgJydsbycnLycnbGUnJyB3b3VsZCBwcm9iYWJseSBi ZSB0aGUgYmVzdCBjaG9pY2UgKHNpbmNlIGJvdGggb3BlcmF0ZXMgd2l0aCBpbmRpdmlkdWFscyBy YXRoZXIgdGhhbiBncm91cHMpLCBhbmQgc28gb25lIHdvdWxkIGV4cGVjdCB0aGUgb3V0ZXIgcXVh bnRpZmllciB0byBmb3JjZSBkaXN0cmlidXRpdml0eSBvdmVyIHRoZSBhbW91bnQgb2YgdHlwaWNh bC9zdGVyZW90eXBpY2FsIHRoaW5ncyBnaXZlbiBieSB0aGUgaW5uZXIgcXVhbnRpZmllci4KCgoK V2hlbiBxdWFudGlmeWluZyBzdW1rYSdpIHJlcHJlc2VudGluZyBzZXZlcmFsIG9iamVjdHMsIGl0 IGlzIHVzZWZ1bCB0byByZW1lbWJlciB0aGF0IHRoZXkgYXJlIHVzdWFsbHkgbWFzc2VzLiBCeSBk ZWZpbml0aW9uLCAie251bWJlcn0ge3N1bXRpfSIgaXMgZGVmaW5lZCBhcyAie251bWJlcn0gJydk YSBwb2kga2UnYSBtZScnIHtzdW10aX0iLiBZb3Ugd2lsbCBub3QgYmUgZmFtaWxpYXIgd2l0aCAn J2RhJycgdW50aWwgYSBmZXcgbGVzc29ucyBsYXRlciwgc28gdGFrZSBpdCBvbiBmYWl0aCB0aGF0 IGl0IG1lYW5zICJzb21ldGhpbmciIGluIHRoaXMgY29udGV4dC4gVGhlcmVmb3JlLCAnJ2NpIG1p JycgbWVhbnMgIlR3byBvZiB0aG9zZSB3aG8gYmVsb25nIHRvICJ1cyIiLiBXaGVuIHF1YW50aWZ5 aW5nIHN1Y2ggbWFzc2VzLCBpdCBjYW4gc2FmZWx5IGJlIGFzc3VtZWQgdGhhdCB0aGUgcmVsYXRp b24gaW1wbGllZCBieSAnJ21lJycgaXMgbWVtYmVyc2hpcCBvZiB0aGUgbWFzcywgYW5kIHRoZXJl Zm9yZSAnJ2NpIG1pJycgaXMgIlRocmVlIG9mIHVzIi4KCgoKU29tZSBpbXBvcnRhbnQgdXNlcyBv ZiBxdWFudGlmaWNhdGlvbiByZXF1aXJlcyB5b3UgdG8gYmUgcXVhbnRpZnkgc2VsYnJpIG9yIG9i amVjdHMgd2hvc2UgaWRlbnRpdHkgaXMgdW5rbm93bi4gVGhpcyBpcyBkb25lIGJ5ICJsb2dpY2Fs bHkgcXVhbnRpZmllZCB2YXJpYWJsZXMiLiBUaGVzZSwgYXMgd2VsbCBhcyBob3cgdG8gcXVhbnRp ZnkgdGhlbSB3aWxsIGJlIGNvdmVyZWQgaW4gbGVzc29ucyB0d2VudHktc2V2ZW4uCgoKCkxhc3Rs eSwgaG93IGNhbiB5b3UgcXVhbnRpZnkgdW5jb3VudGFibGUgc3Vic3RhbmNlcyBsaWtlIHN1Z2Fy IG9yIHdhdGVyPyBPbmUgc29sdXRpb24gaXMgdG8gcXVhbnRpZnkgaXQgdXNpbmcgaW5leGFjdCBu dW1iZXJzLiBUaGlzIHVzZSBpcyB2YWd1ZSwgbm90IG9ubHkgYmVjYXVzZSB0aGUgdmFsdWUgb2Yg dGhlIG51bWJlciBpcyB2YWd1ZSwgYnV0IGFsc28gYmVjYXVzZSBpdCdzIG5vdCBzcGVjaWZpZWQg b24gd2hhdCBzY2FsZSB5b3UncmUgY291bnRpbmc6IFRoZSBzdWdhciBjb3VsZCBiZSBjb25zaWRl cmVkIGEgZ3JvdXAgb2YgbWFueSBjcnlzdGFscywgY291bnRlZCBvbmUgYXQgYSB0aW1lLCBhbmQg dGhlIHdhdGVyIGNvdWxkIGJlIHF1YW50aWZpZWQgYnkgdGhlIGFtb3VudHMgb2YgcmFpbmRyb3Bz IGl0IHRvb2sgdG8gbWFrZSB0aGUgYm9keSBvZiB3YXRlciBpbiBxdWVzdGlvbi4gV2hpbGUgdGhp cyB3YXkgb2YgY291bnRpbmcgaXMgbGVnaXRpbWF0ZSwgaXQncyBub3QgdmVyeSBleGFjdCBhbmQg Y2FuIGVhc2lseSBjb25mdXNlIG9yIG1pc2xlYWQuCgpBIHdheSB0byBiZSBleHBsaWNpdCBhYm91 dCBub24tY291bnRhYmlsaXR5IGlzIHRvIHVzZSB0aGUgbnVsbCBvcGVyYW5kICcndHUnbycnIGFz IGFuIGlubmVyIHF1YW50aWZpZXIuCgpfXycndHUnbycnX18gTnVsbCBvcGVyYW5kICggw5ggKS4g VXNlZCBpbiB1bmFyeSBtZWtzby4KClRoaXMgc29sdXRpb24gaXMgZWxlZ2FudCBhbmQgaW50dWl0 aXZlLCBhbmQgYWxzbyBnaXZlcyBtZSBhbiBleGN1c2UgdG8gcXVvdGUgdGhpcyBob3JyaWZ5aW5n LCB5ZXQgY29taWNhbCBleGFtcGxlIGZyb20gdGhlIG9yaWdpbmFsICcneG9ybG8nJy1wcm9wb3Nh bDoKCicnbGUgbmFubXUgY3Ugc2Ugc251dGkgLmkgamEnZSBibyBsbyB0dSdvIGdlcmt1IGN1IGt1 c3BlIGxlIGtsYWppJycKCl9fJydzbnV0aScnX18geDEgaXMgYW4gYWNjaWRlbnQgb24gdGhlIHBh cnQgb2YgeDIKCl9fJydqYSdlJydfXyBzdW10Y2l0YTogQkFJOiAoZnJvbSAnJ2phbGdlJycpOiBC cmlkaSByZXN1bHRzIGluIHtzdW10aX0gCgpfXycna3VzcGUnJ19fIHgxIHNwYW5zL2V4dGVuZHMg b3ZlciB4MgoKX18nJ2tsYWppJydfXyB4MSBpcyBhIHJvYWQvYXZlbnVlL3N0cmVldCBhdCB4MiBh Y2Nlc3NpbmcgeDMKCgoKV2hhdCBkb2VzIGl0IG1lYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAi VGhlIG1hbiBoYWQgYW4gYWNjaWRlbnQgYW5kIHNvIHRoZXJlIHdhcyBkb2cgYWxsIG92ZXIgdGhl IHJvYWQifn4KCgoKQSBzZWNvbmQgbWV0aG9kIG9mIHF1YW50aWZ5aW5nIHN1YnN0YW5jZXMgaXMg dG8gdXNlIHRoZSB0ZW5zZXMgJyd2ZSdpJycsICcndmUnYScnIGFuZCAnJ3ZlJ3UnJyBhcyBtZW50 aW9uZWQgaW4gbGVzc29uIHRlbjoKCicndGkgdmUnaSBkamFjdScnIC0gVGhpcyBpcyBhIHNtYWxs IGFtb3VudCBvZiB3YXRlcgoKX18nJ2RqYWN1JydfXyB4MSBpcyBhbiBleHBhbnNlIG9mIHdhdGVy L2lzIG1hZGUgb2Ygd2F0ZXIvY29udGFpbnMgd2F0ZXIKCgoKVGhpcmRseSwgb2YgY291cnNlLCB5 b3UgY291bGQgdXNlIGEgYnJpdmxhIHRvIGdpdmUgYW4gZXhhY3QgbWVhc3VyZW1lbnQ6CgonJ2xl IHRhIGRqYWN1IGN1IGtpJ29ncmEgYmUgbGkgcmUgcGkga2knbyBraSdvJycgLSAiVGhhdCB3YXRl ciBoYXMgYSBtYXNzIG9mIDIuMDAwIDAwMCBraWxvZ3JhbXMiCgpfXycna2knb2dyYScnX18geDEg bWVhc3VyZXMgaW4gbWFzcyB4MiBraWxvZ3JhbXMgYnkgc3RhbmRhcmQgeDMKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0d2VudHktdGhyZWUgKG5lZ2F0aW9uKQoKU29tZXRpbWVzLCBqdXN0 IHNheWluZyB3aGF0J3MgdGhlIHRydXRoIGlzIG5vdCBlbm91Z2guIE9mdGVuLCB3ZSB3YW50IHRv IHNwZWNpZnkgd2hhdCdzIG5vdCB0aGUgdHJ1dGgsIGFuZCB3ZSBkbyB0aGlzIGJ5IHVzaW5nIG5l Z2F0aW9uLgoKTmVnYXRpb24gaW4gRW5nbGlzaCBtb3N0bHkgaW52b2x2ZXMg4oCcbm904oCdLCBh bmQgaXMgY29tcGxldGVseSBhcmJpdHJhcnkgYW5kIGFtYmlndW91cy4gV2UsIGFzIExvamJhbmlz dHMsIGNhbid0IGhhdmUgdGhhdCwgb2YgY291cnNlLCBzbyBMb2piYW4gY29udGFpbnMgYW4gZWxl Z2FudCBhbmQgdW5hbWJpZ2lvdXMgc3lzdGVtIGZvciBuZWdhdGluZy4gV2hhdCB3aWxsIGJlIHBy ZXNlbnRlZCBoZXJlIGFyZSB0aGUgb2ZmaWNpYWwgZ29sZC1zdGFuZGFyZCBydWxlcy4gRGlzYXBw cm92YWwgb2YgdGhlc2UgImdvbGRlbiBydWxlcyIgY29uY2VybmluZyAnJ25hJycgaXMgZ3Jvd2lu ZywgYW5kIHRoZXJlIGlzIGRpc2FncmVlbWVudCBhYm91dCB3aGF0IHJ1bGUgc2V0IHNob3VsZCBy ZXBsYWNlIGl0LiBGb3Igbm93LCBJIHdpbGwgc3RpY2sgd2l0aCB0aGUgb2ZmaWNpYWwgcnVsZXMs IGFuZCB0aGVyZWZvcmUsIHNvIHdpbGwgeW91LCBkZWFyIHJlYWRlci4KClRoZSBmaXJzdCB5b3Ug bmVlZCB0byBrbm93IGFib3V0IGlzIGJyaWRpIG5lZ2F0aW9uLCBzbyBjYWxsZWQgYmVjYXVzZSBp dCBuZWdhdGVzIHRoZSBicmlkaSBpdCdzIGluLCBzYXlpbmcgaXQncyBub3QgdHJ1ZS4gVGhlIHdh eSB0byBuZWdhdGUgYSBicmlkaSBpcyB0byBwbGFjZSAnJ25hJycgZmlyc3QgaW4gdGhlIHNlbnRl bmNlIHdpdGggYSAnJ2t1JycgYWZ0ZXIgaXQsIG9yIGp1c3QgYmVmb3JlIHRoZSBzZWxicmkuIAoK X18nJ3NwZW5pJydfXyB4MSBpcyBtYXJyaWVkIHRvIHgyIHVuZGVyIGNvbnZlbnRpb24geDMKClRo dXM6ICcnbmEga3UgbGUgbWkgc3BlbmkgY3UgbmlubXUnJyBzdGF0ZXMgdGhhdCDigJxNeSBzcG91 c2UgaXMgbm90IGEgd29tYW7igJ0uIEl0IHN0YXRlcyBub3RoaW5nIGFib3V0IHdoYXQgbXkgd2lm ZSBpcywgb3IgaWYgSSBldmVuIGhhdmUgYSB3aWZlLiBJdCBvbmx5IHN0YXRlcyB0aGF0IEkgZG8g bm90IGhhdmUgYSB3aWZlIHdobyBpcyBhbHNvIGEgd29tYW4uIFRoaXMgaGFzIGFuIGltcG9ydGFu dCBpbXBsaWNhdGlvbjogSWYgdGhlIG5lZ2F0aW9uIG9mIGEgYnJpZGkgaXMgZmFsc2UsIHRoZSBi cmlkaSBtdXN0IGJlIHRydWU6ICcnbmEga3UgbGUgbWkgc3BlbmkgY3UgbmEgbmlubXUnJyBtdXN0 IG1lYW4gdGhhdCBJIGhhdmUgYm90aCBhIHNwb3VzZSwgYW5kIHRoYXQgc2hlIGlzIGEgc2hlLgoK SXQgaXMgcG9zc2libGUgdG8gdXNlIGJyaWRpIG5lZ2F0aW9ucyBpbiBhbGwgYnJpZGksIGV2ZW4g dGhlIGltcGxpY2l0IGJyaWRpIG9mIGRlc2NyaXB0aXZlIHN1bXRpLiAnJ2xvIG5hIHByZW51Jycg Y2FuIHJlZmVyIHRvIGFueXRoaW5nIG5vbi1odW1hbiwgd2hldGhlciBpdCBiZSBhIHNwaGlueCwg YSBiYXNlYmFsbCBvciB0aGUgcHJvcGVydHkgb2YgYXBwcm9wcmlhdGVuZXNzLgoKCgpfXycnYmF1 JydfXyBzdW10Y2l0YSwgZnJvbSBiYW5ndTogdXNpbmcgdGhlIGxhbmd1YWdlIG9mIHtzdW10aX0K Cl9fJydzZSBqYSdlJydfXyBzdW10Y2l0YSwgZnJvbSBzZSBqYWxnZTogYmVjYXVzZSBvZiB7c3Vt dGl9CgoKCk9mdGVuIHdoZW4gdXNpbmcgJyduYScnLCBpdCdzIGEgcHJvYmxlbSB0aGF0IGl0IG5l Z2F0ZXMgdGhlIGVudGlyZSBicmlkaS4gSWYgSSBzYXkgJydtaSBuYSBzdXRyYSB0YXZsYSBiYXUg bGUgZ2xpYmF1IHNlIGphJ2UgbGUgbnUgbWkgZG90Y28nJywgSSBlbmQgdXAgbmVnYXRpbmcgdG9v IG11Y2gsIGFuZCBpdCBpcyBub3QgY2xlYXIgdGhhdCBJIHdhbnRlZCB0byBvbmx5IG5lZ2F0ZSB0 aGF0IEkgc3BlYWsgZmFzdC4gVGhlIHNlbnRlbmNlIGNvdWxkIHN1Z2dlc3QgdGhhdCBJIGluIGZh Y3Qgc3BlYWsgZmFzdCBiZWNhdXNlIG9mIHNvbWUgb3RoZXIgcmVhc29uLCBmb3IgaW5zdGFuY2Ug dGhhdCBJIHNwZWFrIGZhc3QgaW4gRnJlbmNoIGJlY2F1c2UgSSdtIEdlcm1hbi4gVG8gZXhwcmVz cyB0aGUgc2VudGVuY2UgbW9yZSBwcmVjaXNlbHksIEkgbmVlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0 IEkgc3BlYWsgZmFzdCwgYW5kIG5vdCB0aGUgb3RoZXIgdGhpbmdzLgoKVG8gb25seSBuZWdhdGUg cGFydCBvZiBhIGJyaWRpLCAnJ25hIGt1JycgY2FuIGJlIG1vdmVkIGFyb3VuZCB0aGUgYnJpZGkg YW5kIHBsYWNlZCBhbnl3aGVyZSBhIHN1bXRpIGNhbiBnby4gSXQgdGhlbiBuZWdhdGVzIGFueSBz dW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YSBwbGFjZWQgYWZ0ZXIgaXQuIFdoZW4gcGxhY2VkIGlt bWVkaWF0ZWx5IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgJydrdScnIGNhbiBiZSBlbGlkZWQuCgpN b3ZpbmcgJyduYSBrdScnIGZyb20gdGhlIGxlZnQgZW5kIG9mIHRoZSBicmlkaSBhbmQgcmlnaHR3 YXJkcyBlZmZlY3RzIGFueSBxdWFudGlmaWVycyBpbiBhIGNlcnRhaW4gd2F5LCBhcyBjYW4gYmUg c2VlbiBieSB0aGlzIGV4YW1wbGU6CgoKClRoZXJlIGFyZSBmb3JjZXMgd2l0aGluIHRoZSBMb2pi YW4gY29tbXVuaXR5IHdobywgcGVyaGFwcyByaWdodGx5LCB0aGluayB0aGF0IHRoZXJlIGlzIG5v IGdvb2QgcmVhc29uIHRoYXQgYSAnJ25hJycgcGxhY2VkIGJlZm9yZSBhIHNlbGJyaSBuZWdhdGVz IHRoZSBlbnRpcmUgYnJpZGksIHdoZXJlYXMgYSAnJ25hIGt1JycgYW55IG90aGVyIHBsYWNlIG5l Z2F0ZXMgb25seSB3aGF0IGlzIHRyYWlsaW5nIGJlaGluZCBpdC4gSG93ZXZlciwgaW4gdGhlc2Ug bGVzc29ucyB5b3Ugd2lsbCBiZSB0YXVnaHQgd2hhdCBpcyBzdGlsbCB0aGUgb2ZmaWNpYWwgc3Rh bmNlLCBuYW1lbHkgdGhhdCAnJ25hJycgYmVmb3JlIHRoZSBzZWxicmkgbmVnYXRlcyB0aGUgYnJp ZGkuCgoKClRoZSB1c2Ugb2YgJyduYSBrdScnIGlzIGV4ZW1wbGlmaWVkIHdpdGggdGhlIGZvbGxv d2luZyBleGFtcGxlcy4KCicnbmEga3Ugcm8gcmVtbmEgY3UgdmVyYmEnJyDigJxJdCdzIG5vdCB0 cnVlIHRoYXQ6IEFsbCBodW1hbnMgYXJlIGNoaWxkcmVu4oCdCgonJ3N1J28gcmVtbmEgbmEga3Ug Y3UgdmVyYmEnJyDigJxGb3IgYXQgbGVhc3Qgb25lIGh1bWFuIGl0J3Mgbm90IHRydWUgdGhhdDog SXQncyBhIGNoaWxk4oCdLiBTZWUgdGhhdCB0aGUgJyduYSBrdScnIGlzIHBsYWNlZCBiZWZvcmUg JydjdScnLCBzaW5jZSBhIHN1bXRpIGNhbiBnbyBvbmx5IGJlZm9yZSwgbm90IGFmdGVyIHRoZSAn J2N1JycuIEhhZCBJIG9ubHkgdXNlZCAnJ25hJycsIGl0IHdvdWxkIGhhdmUgdG8gZ28gYWZ0ZXIg JydjdScnIC0gYnV0IHRoYXQgd291bGQgaGF2ZSBuZWdhdGVkIHRoZSBlbnRpcmUgYnJpZGksIG1l YW5pbmcgIkl0J3Mgbm90IHRydWUgdGhhdDogQXQgbGVhc3Qgb25lIGh1bWFuIGlzIGEgY2hpbGQi LgoKCgpXaGVuIHRoZSAnJ25hIGt1JycgaXMgbW92ZWQgcmlnaHR3YXJkcywgYW55IHF1YW50aWZp ZXIgaXMgaW52ZXJ0ZWQgLSB0aGF0IGlzOiAnJ3JvJycgaXMgdHVybmVkIGludG8gJydzdSdvJycu IFRoaXMgaXMsIG9mIGNvdXJzZSwgb25seSBpZiB0aGUgbWVhbmluZyBvZiB0aGUgYnJpZGkgaGFz IHRvIGJlIHByZXNlcnZlZC4gVGhpcyBtZWFucyB0aGF0IHdoZW4gdGhlICcnbmEga3UnJyBpcyBw bGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGksIG9ubHkgdGhlIHNlbGJyaSBpcyBuZWdhdGVk IGJ1dCBhbGwgdGhlIHN1bXRpIGFuZCBzdW10Y2l0YSBhcmUgcHJlc2VydmVkLCBhcyBjYW4gYmUg c2VlbiBieSB0aGVzZSB0aHJlZSBpZGVudGljYWwgYnJpZGk6CgpfXycnY2t1bGUnJ19fIHgxIGlz IGEgc2Nob29sIGF0IGxvY2F0aW9uIHgyIHRlYWNoaW5nIHgzIHRvIHN0dWRlbnRzIHg0IGFuZCBv cGVyYXRlZCBieSB4NQoKCgonJ25hIGt1IHJvIHZlcmJhIGN1IHZlIGNrdWxlIGZvIHN1J28gY2t1 bGUnJyDigJMg4oCcSXQncyBub3QgdHJ1ZSB0aGF0IGFsbCBjaGlsZHJlbiBhcmUgc3R1ZGVudHMg aW4gYSBzY2hvb2wu4oCdCgonJ3N1J28gdmVyYmEgY3UgdmUgY2t1bGUgbmEga3UgZm8gc3UnbyBj a3VsZScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBzdHVkZW50cyBpbiBub3QgYSBzaW5nbGUg c2Nob29sLuKAnQoKJydzdSdvIHZlcmJhIGN1IHZlIGNrdWxlIGZvIHJvIGNrdWxlIG5hIGt1Jycg 4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIGZvciBhbGwgc2Nob29scyBub3Qgc3R1ZGVudHMgaW4g dGhlbS7igJ0KCgoKVGhlIG9wcG9zaXRlIG9mICcnbmEnJyBpcyAnJ2phJ2EnJy4gVGhpcyBpcyBi YXJlbHkgZXZlciB1c2VkLCBzaW5jZSBpdCBpcyBkZWZhdWx0IGluIG1vc3QgYnJpZGkuIE9uZSBl eGNlcHRpb24gaXMgcmVwZWF0ZWQgYnJpZGkgKG5leHQgbGVzc29uKS4gU29tZXRpbWVzIGl0J3Mg dXNlZCB0byBwdXQgbW9yZSB3ZWlnaHQgb24gdGhlIHRydXRoIG9mIHRoZSBicmlkaSwgYXMgaW4g JydsYSAuYmFiLiBqYSdhIG1lbGJpJycgPSAiQm9iIGlzIGluZGVlZCBiZWF1dGlmdWwiLgoKCgpX aGlsZSB0aGUgbWVjaGFuaXNtIG9mICcnbmEga3UnJyByZXNlbWJsZXMgbmF0dXJhbCBsYW5ndWFn ZSBuZWdhdGlvbiwgaXQgY2FuIGJlIGRpZmZpY3VsdCB0byBrZWVwIHRyYWNrIG9mIGV4YWN0bHkg d2hhdCBpcyBuZWdhdGVkIGFuZCBob3cgdGhhdCBhZmZlY3RzIHRoZSBicmlkaS4gRm9yIHRoYXQg cmVhc29uLCB0aGUgY29uc3RydWN0ICcnbmEga3UnJyBpcyByYXJlbHkgc2VlbiBhbnl3aGVyZSBv dGhlciB0aGFuIHRoZSBiZWdpbm5pbmcgb2YgYSBicmlkaS4gSW4gbW9zdCBjYXNlcyB3aGVyZSBt b3JlIHNwZWNpZmljIG5lZ2F0aW9uIGlzIG5lZWRlZCBwZW9wbGUgcmVzb3J0IHRvIGEgZGlmZmVy ZW50IG1ldGhvZC4gVGhpcyBtZXRob2QsIGNhbGxlZCBzY2FsYXIgbmVnYXRpb24sIGlzIGFuIGVs ZWdhbnQgYW5kIGludHVpdGl2ZSB0b29sLiBVc2luZyBpdCwgeW91IGVmZmVjdCBvbmx5IHRoZSBz ZWxicmksIHNpbmNlIHRoZSB3b3JkcyB1c2VkIGluIHNjYWxhciBuZWdhdGlvbiBiaW5kcyB0byB0 aGUgc2VsYnJpIG11Y2ggbGlrZSB0aGUgd29yZCAnJ3NlJycuCgpUaGUgbmFtZSDigJxzY2FsYXIg bmVnYXRpb27igJ0gaXMgZGVyaXZlZCBmcm9tIHRoZSBmYWN0IHRoYXQgdGhlIHdvcmRzIHdoaWNo IGJpbmQgdG8gdGhlIHNlbGJyaSBjYW4gYmUgcGxhY2VkIGFsb25nIGEgc2NhbGUgZnJvbSBhZmZp cm1hdGlvbiBvdmVyIG5lZ2F0aW9uIGFuZCB0byBzdGF0aW5nIHRoYXQgdGhlIG9wcG9zaXRlIGNh c2UgaXMgdHJ1ZToKCnx8V29yZHxNZWFuaW5nCgpqZSdhfOKAnEluZGVlZOKAnTsgc2NhbGFyIGFm ZmlybWVyCgpubydlfOKAnE5vdCByZWFsbHnigJ0sIHNjYWxhciBtaWRwb2ludAoKbmEnZXzigJxO b24t4oCcLCBzY2FsYXIgbmVnYXRvcgoKdG8nZXzigJxJbOKAnSwg4oCcRGlzLeKAnCwg4oCcTWlz 4oCdIGVjdDsgc2NhbGFyIG9wcG9zZXJ8fAoKCgpUaGVzZSB3b3JkcyBhcmUgbm90IG5lZ2F0b3Jz IGluIHRoZSBzYW1lIHNlbnNlIGFzICcnbmEnJy4gVGhleSBkbyBub3Qgc3RhdGUgdGhhdCBhIGJy aWRpIGlzIGZhbHNlLCBidXQgbWFrZXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgdGhhdCBhIGJyaWRp IGlzIHRydWUg4oCTIHRoZSBzYW1lIGJyaWRpLCBidXQgd2l0aCBhIGRpZmZlcmVudCBzZWxicmku IFRoaXMgZGlzdGluY3Rpb24gaXMgbW9zdGx5IGFjYWRlbWljLCB0aG91Z2guIElmLCBmb3IgZXhh bXBsZSwgSSBzdGF0ZSB0aGF0ICcnbWkgbmEnZSBzZSBuZWxjaScnICJJIGFtIG5vbi1saWtlZCIs IEkgYWN0dWFsbHkgc3RhdGUgdGhhdCBzb21lIHNlbGJyaSBhcHBsaWVzIHRvIG1lLCB3aGljaCBp cyBhbHNvIG9uIGEgcmVsZXZhbnQgc2NhbGUgd2l0aCB0aGUgc2VsYnJpICcnbmVsY2knJy4gTW9z dCBvZiB0aGUgdGltZSwgd2UgYXNzdW1lIGEgc2NhbGUgd2hlcmUgdGhlIHBvc2l0aW9ucyBhcmUg bXV0dWFsbHkgZXhjbHVzaXZlIChsaWtlIGxvdmUtbGlrZS1kaXNsaWtlLWhhdGUpLCBzbyAnJ21p IG5hJ2Ugc2UgbmVsY2knJyBpbXBsaWVzICcnbWkgbmEgc2UgbmVsY2knJwoKVGhlcmVmb3JlLCB0 aGUgd29yZHMgJydubydlJycgYW5kICcndG8nZScnIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0 aGUgc2VsYnJpIGlzIHBsYWNlZCBvbiBzb21lIG9idmlvdXMgc2NhbGU6CgonJ2xlIG1pIHNwZW5p IGN1IHRvJ2UgbWVsYmknJyDigJMg4oCdTXkgc3BvdXNlIGlzIHVnbHnigJ0gbWFrZXMgc2Vuc2Us IHNpbmNlIHdlIGltbWVkaWF0ZWx5IGtub3cgd2hhdCB0aGUgb3Bwb3NpdGUgb2YgYmVhdXRpZnVs IGlzLCB3aGlsZQoKJydtaSBrbGFtYSBsZSBtaSB0bydlIHpkYW5pJycg4oCTIOKAnUkgZ28gdG8g bXkgb3Bwb3NpdGUgdGhpbmcgb2YgaG9tZeKAnSwgd2hpbGUgZ3JhbW1hdGljYWwsIGxlYXZlcyB0 aGUgbGlzdGVuZXIgZ3Vlc3Npbmcgd2hhdCB0aGUgc3BlYWtlcidzIOKAnG9wcG9zaXRlLWhvbWXi gJ0gaXMgYW5kIHNob3VsZCBiZSBhdm9pZGVkLgoKCgpTbyBob3cgY2FuIHlvdSBuZWdhdGUgb25s eSB0aGUgc2VsYnJpIHdpdGhvdXQgYWxzbyBpbXBseWluZyB0aGF0IHRoZSBzZWxicmkgaXMgY29y cmVjdCBhdCBzb21lIG90aGVyIHBvc2l0aW9uIG9uIGEgdHJ1dGgtc2NhbGU/IFNpbXBsZTogTW92 aW5nIHRoZSAnJ25hIGt1JycgdG8gdGhlIHJpZ2h0bW9zdCBlbmQgb2YgdGhlIGJyaWRpLCBhcyBk ZW1vbnN0cmF0ZWQgYSBmZXcgbGluZXMgYWJvdmUuIFRoaXMgZmVhdHVyZSBpcyB2ZXJ5IHVzZWZ1 bC4gU29tZSBsb2piYW5pc3RzIHByZWZlciB0byBwcmVmaXggdGhlIHJhZnNpICcnbmFyJycgKHRo ZSByYWZzaSBvZiAnJ25hJycpIGluIGZyb250IG9mIHRoZSBzZWxicmkgLSB0aGlzIGhhcyB0aGUg c2FtZSBlZmZlY3QsIGJ1dCBJIGFkdmlzZSBhZ2FpbnN0IGl0LCBiZWNhdXNlIGl0IG1ha2VzIGZh bWlsaWFyIGJyaXZsYSBzZWVtIGFsaWVuLCBhbmQgaXQncyBoYXJkZXIgdG8gdW5kZXJzdGFuZCB3 aGVuIHNwb2tlbiBjYXN1YWxseS4KCklmIGEgc2l0dWF0aW9uIGFyaXNlcyB3aGVyZSB5b3UgbmVl ZCB0byBuZWdhdGUgb25seSB0aGUgc2VsYnJpLCBidXQgd2FudCBpdCB0byBiZSBjbGVhciBiZWZv cmUgdGhlIGVuZCBvZiB0aGUgYnJpZGksIHRoZSBleHBlcmltZW50YWwgY21hdm8gJyduYSdlaScn LCB3aGljaCBncmFtbWF0aWNhbGx5IHdvcmtzIGxpa2UgJyduYSdlJycsIGNhbiBiZSB1c2VkCgpf XycnbmEnZWknJ19fOiBOZWdhdGVzIHRoZSBmb2xsb3dpbmcgc2VsYnJpIG9ubHkKCgoKVHJ5IHRv IHRyYW5zbGF0ZSB0aGVzZSBzZW50ZW5jZXM6CgrigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7i gJ0gKG1lYW5pbmcgdGhhdCBoZSBpcyBhIG1hbGUpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyds ZSBtaSBzcGVuaSBjdSBuYSdlIC8gdG8nZSBuaW5tdScnLiBVc2luZyBzY2FsYXIgbmVnYXRpb24g aGVyZSBpbXBsaWVzIHRoYXQgaGUgZXhpc3RzLCB3aGljaCBuYSBkaWQgbm90Ln5+CgoKCuKAnE15 IHNwb3VzZSBpcyBub3QgcmVhbGx5IGEgd29tYW7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J2xlIG1pIHNwZW5pIGN1IG5vJ2UgbmlubXUnJy4gVGhlIHNjYWxlIGhlcmUgaXMgcHJlc3VtZWQg dG8gYmUgZnJvbSB3b21hbiB0byBtYW4ufn4KCgoK4oCcSSBkb24ndCBzcGVhayBmYXN0IGluIEVu Z2xpc2ggYmVjYXVzZSBJJ20gR2VybWFu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBu YSdlIHN1dHJhIHRhdmxhIGJhdSBsZSBnbGliYXUgc2UgamEnZSBsZSBudSBtaSBkb3Rjbycnfn4K CgoKQWxzbywgbm90ZSB0aGF0IHdoZW5ldmVyIHRoZXNlIHdvcmRzIGFyZSB1c2VkIHRvZ2V0aGVy IHdpdGggYSB0YW5ydSwgdGhleSBvbmx5IGFmZmVjdCB0aGUgbGVmdG1vc3Qgc2VsYnJpLiBJbiBv cmRlciB0byBtYWtlIGl0IGJpbmQgdG8gdGhlIHdob2xlIHRhbnJ1IG9yIHBhcnRzIG9mIHRoZSB0 YW5ydSwgdGhlIHVzdWFsIHRhbnJ1LWdyb3VwaW5nIHdvcmRzIGNhbiBiZSB1c2VkLgoKCgpUcnkg dG8gc2F5IOKAnEkgc2VsbCBzb21ldGhpbmcgd2hpY2ggaXMgbm90IHllbGxvdyBob21lc+KAnSB1 c2luZyB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaSB2ZWNudScnCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBuYSdlIGtlIHBlbHh1IHpkYW5pIGtlJ2UgdmVjbnUgb3IgbWkgbmEnZSBwZWx4dSBi byB6ZGFuaSB2ZWNudScnfn4KCgoKV2hlbiBhdHRlbXB0aW5nIHRvIGFuc3dlcjog4oCcSXMgdGhl IGtpbmcgb2YgdGhlIFVTQSBmYXQ/4oCdLCBhbGwgb2YgdGhlc2UgbmVnYXRpb25zIGZhaWwuIFdo aWxlIGl0J3MgdGVjaG5pY2FsbHkgY29ycmVjdCB0byBuZWdhdGUgaXQgd2l0aCAnJ25hJycsIHNp bmNlIGl0IG1ha2VzIG5vIGFzc3VtcHRpb25zIG9mIHRoYXQgaXMgdHJ1ZSwgaXQncyBtaWxkbHkg bWlzbGVhZGluZyBzaW5jZSBpdCBjb3VsZCBsZWFkIHRoZSBsaXN0ZW5lciB0byBiZWxpZXZlIHRo ZXJlIGlzIGEga2luZyBvZiB0aGUgVVNBLiBGb3IgdGhlc2Ugc2NlbmFyaW9zLCB0aGVyZSBpcyBh IG1ldGFsaW5ndWlzdGljIG5lZ2F0b3IsICcnbmEnaScnLgoKJyduYSdpJycgTWV0YWxpbmd1aXN0 aWMgbmVnYXRvci4gU29tZXRoaW5nIGlzIHdyb25nIHdpdGggYXNzaWduaW5nIGEgdHJ1dGggdmFs dWUgdG8gdGhlIGJyaWRpLgoKQmVjYXVzZSAnJ25hJ2knJyBjYW4gYmUgbmVlZGVkIGFueXdoZXJl IGl0IGhhcyBiZWVuIGdpdmVuIHRoZSBncmFtbWFyIG9mIHRoZSBhdHRpdHVkaW5hbHMsIHdoaWNo IG1lYW5zIGl0IGNhbiBhcHBlYXIgYW55d2hlcmUsIGFuZCBpdCBhdHRhY2hlcyB0byB0aGUgcHJl dmlvdXMgd29yZCBvciBjb25zdHJ1Y3QuCgoKCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBz dGFuZGFyZCB4MgoKJydsZSBuYSdpIHB1IHRlIHp1a3RlIGJlIGxlIHNrYW1pIGN1IHBhbGNpJycg 4oCTIOKAnVRoZSBzb3VnaHQgZ29hbCB7bWlzdGFrZSF9IG9mIHRoZSBjb21wdXRlciB3YXMgZXZp bOKAnSwgcHJvYmFibHkgcHJvdGVzdHMgdGhhdCBjb21wdXRlcnMgY2FuIHNlZWsgYSBnb2FsIHZv bGl0aW9uYWxseS4KCgoKU2luY2UgdGhpcyBpcyBhIGxlc3NvbiBvbiBuZWdhdGlvbiwgSSBiZWxp ZXZlIHRoZSB3b3JkICcnbmFpJycgZGVzZXJ2ZXMgYSBzaG9ydCBtZW50aW9uLiBJdCBpcyB1c2Vk IHRvIG5lZ2F0ZSBtaW5vciBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLCBhbmQgY2FuIGJlIHVzZWQg aW4gY29tYmluYXRpb24gd2l0aCBhdHRpdHVkaW5hbHMsIGFsbCBzdW10Y2l0YSBpbmNsdWRpbmcg dGVuc2VzLCB2b2NhdGl2ZXMgYW5kIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFRoZSBydWxlcyBmb3Ig bmVnYXRpbmcgdXNpbmcgJyduYWknJyBkZXBlbmQgb24gdGhlIGNvbnN0cnVjdCwgYW5kIHNvIHRo ZSBlZmZlY3Qgb2YgJyduYWknJyBoYXMgYmVlbiBkaXNjdXNzZWQgd2hlbiBtZW50aW9uaW5nIHRo ZSBjb25zdHJ1Y3QgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiBpcyBzdW10Y2l0YSwgd2hlcmUg dGhlIHJ1bGVzIGZvciBuZWdhdGlvbiBhcmUgbW9yZSBjb21wbGV4LCBhbmQgd2lsbCBub3QgYmUg ZGlzY3Vzc2VkIGhlcmUuCgpfX05vdGU6X18gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgaXQgaGFz IGJlZW4gcHJvcG9zZWQgdG8gbW92ZSAnJ25haScnIHRvIHRoZSBzZWxtYSdvIENBSSwgd2hpY2gg bWVhbnMgdGhlIHNlbWFudGljcyBvZiAnJ25haScnIGRlcGVuZCBvbiB3aGljaCBzZWxtYSdvIGl0 IGZvbGxvd3MuIAoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZvdXIgKGJy aWthJ2kvcHJvLWJyaWRpIGFuZCBrbydhKQoKSWYgSSBzYXkgdGhhdCBJJ20gY2FsbGVkIE1pa2hh aWwsICcnbGEgLm1pa2FpbC4gY21lbmUgbWknJywgYW5kIHlvdSBoYXZlIHRvIHNheSB0aGUgZXhh Y3Qgc2FtZSBicmlkaSwgd2hhdCB3b3VsZCB0aGF0IGJlPyBPbmUgb2YgdGhlIG1hbnkgYW5zd2Vy cyBpcyAnJ2RvIHNlIGNtZW5lIGxhIC5taWthaWwuJycuIEZvciB0aGUgYnJpZGkgdG8gYmUgdGhl IHNhbWUsIHlvdSBoYXZlIHRvIHJlcGxhY2UgJydtaScnIHdpdGggJydkbycnLCBhbmQgaXQgZG9l c24ndCBtYXR0ZXIgd2hpY2ggaWYgeW91IHNheSB0aGUgYnJpZGkgd2l0aCB0aGUgJydzZScnLWNv bnZlcnRlZCBzZWxicmkgb3Igbm90LiBUaGlzIGlzIGJlY2F1c2UgYSBicmlkaSBpcyBub3QgdGhl IHdvcmRzIHdoaWNoIGV4cHJlc3MgaXQg4oCTIGEgYnJpZGkgaXMgYW4gaWRlYSwgYW4gYWJzdHJh Y3QgcHJvcG9zaXRpb24uIFRoZSB3b3JkICcnbWknJyB3aGVuIEkgc2F5IGl0IGFuZCB0aGUgd29y ZCAnJ2RvJycgd2hlbiB5b3UgZG8gcmVmZXJzIHRvIHRoZSBzYW1lIHN1bXRpLCBzbyB0aGUgdHdv IGJyaWRpIGFyZSBpZGVudGljYWwuCgpUaGlzIGxlc3NvbiBpcyBvbiAnJ2JyaWthJ2knJywgdGhl IGJyaWRpIGVxdWl2YWxlbnQgb2Ygc3Vta2EnaS4gVGhleSBhcmUgd29yZCB3aGljaCByZXByZXNl bnQgZW50aXJlIGJyaWRpLiBIZXJlIGl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IGEg YnJpZGkgY29uc2lzdHMgb25seSBvZiBzdW10aSBhbmQgdGhlIHRoaW5ncyB3aGljaCBjb250YWlu IHRoZSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YS4gTmVpdGhlciBhdHRpdHVkaW5hbHMsIG5v ciB0aGUgc2VtYW50aWMgbGF5ZXIgb2YgJydrbycnIG9yICcnbWEnJyBhcmUgcGFydCBvZiB0aGUg YnJpZGkgcHJvcGVyLCBhbmQgc28gdGhlc2UgYXJlIG5vdCByZXByZXNlbnRlZCBieSBhICcnYnJp a2EnaScnLgoKCgpUaGVyZSBhcmUgbXVjaCBmZXdlciAnJ2JyaWthJ2knJyB0aGFuIHRoZXJlIGFy ZSBzdW1rYSdpLiBXZSB3aWxsIGJlZ2luIGJ5IGdvaW5nIHRocm91Z2ggc29tZSBvZiB0aGUgd29y ZHMgaW4gdGhlIG1vc3QgdXNlZCBzZXJpZXMsIGNhbGxlZCBHT2hBOgoKV29yZDoJRGVmaW5pdGlv bjoKCl9fJydnbyd1JydfXwlSZXBlYXRzIHJlbW90ZSBwYXN0IGJyaWRpCgpfXycnZ28nYScnX18J UmVwZWF0cyBwYXN0IGJyaWRpCgpfXycnZ28nZScnX18JUmVwZWF0cyBuZXh0LXRvLWxhc3QgYnJp ZGkKCl9fJydnbydpJydfXwlSZXBlYXRzIGxhc3QgbWVudGlvbmVkIGJyaWRpCgpfXycnZ28nbycn X18JUmVwZWF0cyBmdXR1cmUgYnJpZGkKCl9fJyduZWknJ19fCVJlcGVhdHMgY3VycmVudCBicmlk aQoKX18nJ25vJ2EnJ19fCVJlcGVhdHMgb3V0ZXIgYnJpZGkKCgoKU29tZSBvZiB0aGUgR09oQS0n J2JyaWthJ2knJy4gTm90aWNlIHRoZSBmYW1pbGlhciBpLCBhLCB1LXBhdHRlcm4gZm9yIGNsb3Nl IGluIHBhc3QsIG1lZGl1bSBpbiBwYXN0IGFuZCBkaXN0YW50IGluIHBhc3QuCgoKClRoZXNlIGFy ZSB2ZXJ5IG11Y2ggbGlrZSB0aGUgc3Vta2EnaSAnJ3JpJycsICcncmEnJyBhbmQgJydydScnLiBU aGV5IGNhbiBvbmx5IHJlZmVyIHRvIG1haW4gYnJpZGkgb2YganVmcmEsIGFuZCBub3QgdGhvc2Ug Y29udGFpbmVkIGluIHJlbGF0aXZlIHBocmFzZXMgb3IgZGVzY3JpcHRpb24gc3VtdGkuIFRoZSBt YWluIGJyaWRpIGNhbiBjb250YWluIGEgcmVsYXRpdmUgcGhyYXNlLCBvZiBjb3Vyc2UsIGJ1dCBh ICcnYnJpa2EnaScnIGNhbiBuZXZlciBiZSB1c2VkIHRvIHJlZmVyIHRvIG9ubHkgdGhlIHJlbGF0 aXZlIHBocmFzZS4KCkEgR09oQSBhY3RzIGdyYW1tYXRpY2FsbHkgbXVjaCBsaWtlIGEgc2VsYnJp LCBhbnkgY29uc3RydWN0IHdoaWNoIGNhbiBhcHBseSB0byBzZWxicmkgY2FuIGFsc28gYXBwbHkg dG8gdGhlc2UuIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSBHT2hBIGlzIHRoZSBzYW1lIGFzIHRo YXQgb2YgdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMsIGFuZCB0aGUgc3VtdGkgYXJlIGJ5IGRlZmF1 bHQgdGhlIHNhbWUgYXMgaW4gdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMuIEZpbGxpbmcgdGhlIHN1 bXRpIHBsYWNlcyBvZiBhIEdPaEEgZXhwbGljaXRseSBvdmVyd3JpdGVzIHRoZSBzdW10aSBvZiB0 aGUgYnJpZGkgaXQgcmVwcmVzZW50cy4gQ29udHJhc3Q6CgpBOiAnJ21pIGNpdGthIGxvIHBsaXNl JycgQjogJydnbydpJycg4oCTIOKAnEkgZWF0IGFuIGFwcGxlLuKAnSDigJxZb3UgZG8u4oCdIHdp dGgKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ21pIGdvJ2knJyDigJMg4oCcSSBlYXQg YW4gYXBwbGUu4oCdIOKAnEkgZG8sIHRvby7igJ0KCgoKVGhlc2UgJydicmlrYSdpJycgYXJlIHZl cnkgdXNlZnVsIHdoZW4gYW5zd2VyaW5nIGEgcXVlc3Rpb24gd2l0aCAnJ3h1Jyc6CgpBOiAnJ3h1 IGRvIG5lbGNpIGxlIG1pIHNwZW5pJycgQjogJydnbydpIC8gbmEgZ28naScnIOKAkyDigJxEbyB5 b3UgbGlrZSBteSB3aWZlP+KAnSDigJxZZXMuL05vLuKAnS4gVGhlICcneHUnJywgYmVpbmcgYW4g YXR0aXR1ZGluYWwsIGlzIG5vdCBjb3BpZWQuCgpXaGVuIHJlcGVhdGluZyBicmlkaSBuZWdhdGVk IGJ5ICcnbmEnJywgdGhhdCBpczogQnJpZGkgd2hlcmUgJyduYScnIGlzIHBsYWNlZCBpbiB0aGUg cHJlbmV4IChsZXNzb24gdHdlbnR5LXNldmVuKSwgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJp ZGkgb3IgcmlnaHQgYmVmb3JlIHRoZSBzZWxicmksIHRoZSBydWxlcyBmb3IgY29weWluZyBvdmVy ICcnbmEnJyBhcmUgZGlmZmVyZW50IGZyb20gd2hhdCBvbmUgbWlnaHQgZXhwZWN0LiBBbnkgJydu YScnIGlzIGNvcGllZCBvdmVyLCBidXQgYW55IGFkZGl0aW9uYWwgJyduYScnIGluIHRoZSBicmlr YSdpIHJlcGxhY2VzIHRoZSBmaXJzdCBuYS4gTGV0IG1lIHNob3cgeW91IHdpdGggYW4gZXhhbXBs ZToKCkE6ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKQjogJydtaSBnbydpJycgPSAnJ21pIG5h IGNpdGthIGxvIHBsaXNlJycKCkM6ICcnbWkgbmEgZ28naScnID0gJydtaSBuYSBjaXRrYSBsbyBw bGlzZScnCgpEOiAnJ21pIG5hIG5hIGdvJ2knJyA9ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyA9ICcn bWkgamEnYSBnbydpJycKCgoKJyduZWknJyBhbmQgJydubydhJycgYXJlIG5vdCB1c2VkIG11Y2gs IGV4Y2VwdCBmb3Ig4oCcbWluZC1icmVha2luZyBwdXJwb3Nlc+KAnSwgd2hpY2ggaXMgbWFraW5n IHVwIGJyaWRpIHdoaWNoIGFyZSBoYXJkIHRvIHBhcnNlLCBsaWtlICcnZGVpIG5hIHNlIGR1J3Ug bGUgbm8nYSBsYSdlIGxlIG5laScnLiBTaW5jZSAnJ25laScnIHJlcGVhdHMgdGhlIGN1cnJlbnQg b3V0ZXIgYnJpZGksIGhvd2V2ZXIsICcnbGUgbmVpJycgY2FuIGJlIHVzZWQgdG8gcmVmZXIgdG8g dGhlIHgxIG9mIHRoZSBjdXJyZW50IG91dGVyIGJyaWRpLCAnJ2xlIHNlIG5laScnIHRoZSB4MiBh bmQgc28gb24uCgoKCldoZW4gdXNpbmcgJydicmlrYSdpJycsIG9uZSBtdXN0IGFsd2F5cyBiZSB3 YXJ5IG9mIGNvcHlpbmcgc2VudGVuY2VzIHdpdGggdGhlIHBlcnNvbmFsIHN1bWthJ2kgbGlrZSAn J21pJycsICcnZG8nJywgJydtYSdhJycgZWN0LCBhbmQgYmUgY2FyZWZ1bCBub3QgdG8gcmVwZWF0 IHRoZW0gd2hlbiB0aGV5IGFyZSBpbiB0aGUgd3JvbmcgY29udGVjdCwgYXMgc2hvd24gaW4gdGhl IHR3byBleGFtcGxlcyB3aXRoIGFwcGxlIGVhdGluZyBhYm92ZS4gSW5zdGVhZCBvZiByZXBsYWNp bmcgdGhlbSBvbmUgYnkgb25lLCB0aG91Z2gsIHRoZSB3b3JkICcncmEnbycnIGFueXdoZXJlIGlu IHRoZSBicmlkaSB1cGRhdGVzIHRoZSBwZXJzb25hbCBzdW1rYSdpIHNvIHRoYXQgdGhleSBhcHBs eSBmb3IgdGhlIHNwZWFrZXIncyBwZXJzcGVjdGl2ZToKCkE6ICcnbWkgZG8gcHJhbWknJyBCOiAn J21pIGRvIGdvJ2knJyBpcyBlcXVpdmFsZW50IHRvIEE6ICcnbWkgZG8gcHJhbWknJyBCOiAnJ2dv J2kgcmEnbycnCgpfXycncmEnbycnX18gVXBkYXRlIGFsbCBwZXJzb25hbCBzdW1rYSdpIHNvIHRo YXQgdGhleSBub3cgZml0IHRoZSBzcGVha2VyJ3MgcG9pbnQgb2Ygdmlldy4KCgoKVGhlIG9ubHkg b3RoZXIgc2VyaWVzIG9mIGJyaWthJ2kgYXJlIHZlcnkgZWFzeSB0byByZW1lbWJlcjoKCl9fJydi cm9kYScnX18JQnJpZGkgdmFyaWFibGUgMQoKX18nJ2Jyb2RlJydfXwlCcmlkaSB2YXJpYWJsZSAy CgpfXycnYnJvZGknJ19fCUJyaWRpIHZhcmlhYmxlIDMKCl9fJydicm9kbycnX18JQnJpZGkgdmFy aWFibGUgNAoKX18nJ2Jyb2R1JydfXwlCcmlkaSB2YXJpYWJsZSA1CgpfXycnY2VpJydfXwlEZWZp bmUgYnJpZGkgdmFyaWFibGUgKG5vdCBhIGJyaWthJ2kgYW5kIG5vdCBpbiBCUk9EQSkKCgoKCgpU aGUgZmlyc3QgZml2ZSBhcmUganVzdCBmaXZlIGluc3RhbmNlcyBvZiB0aGUgc2FtZSB3b3JkLiBU aGV5IGNhbiBiZSB1c2VkIGFzIHNob3J0Y3V0cyB0byBicmlkaS4gQWZ0ZXIgc2F5aW5nIGEgYnJp ZGksIHNheWluZyAnJ2NlaSBicm9kYScnIGRlZmluZXMgdGhhdCBicmlkaSBhcyAnJ2Jyb2RhJycs IGFuZCAnJ2Jyb2RhJycgY2FuIHRoZW4gYmUgdXNlZCBhcyAnJ2JyaWthJ2knJyBmb3IgdGhhdCBi cmlkaSBpbiB0aGUgZm9sbG93aW5nIGNvbnZlcnNhdGlvbi4KCldoaWxlIHdlJ3JlIGF0IGl0LCB0 aGVyZSBpcyBhbiBhbmFsb2dvdXMgc2VyaWVzIG9mIHN1bWthJ2ksIHdoaWNoIHByb2JhYmx5IGRv ZXMgbm90IGJlbG9uZyBpbiB0aGlzIGxlc3NvbiwgYnV0IGhlcmUgdGhleSBhcmUgYW55d2F5OgoK X18nJ2tvJ2EnJ19fCVN1bXRpIHZhcmlhYmxlIDEJX18nJ2ZvJ2EnJ19fCVN1bXRpIHZhcmlhYmxl IDYKCl9fJydrbydlJydfXwlTdW10aSB2YXJpYWJsZSAyCV9fJydmbydlJydfXwlTdW10aSB2YXJp YWJsZSA3CgpfXycna28naScnX18JU3VtdGkgdmFyaWFibGUgMwlfXycnZm8naScnX18JU3VtdGkg dmFyaWFibGUgOAoKX18nJ2tvJ28nJ19fCVN1bXRpIHZhcmlhYmxlIDQJX18nJ2ZvJ28nJ19fCVN1 bXRpIHZhcmlhYmxlIDkKCl9fJydrbyd1JydfXwlTdW10aSB2YXJpYWJsZSA1CV9fJydmbyd1Jydf XwlTdW10aSB2YXJpYWJsZSAxMAoKCgphcyB3ZWxsIGFzIHRoZSAnJ2NlaScnLWVxdWl2YWxlbnQg Zm9yIHRoaXMgc2VyaWVzOgoKX18nJ2dvaScnX18gRGVmaW5lIHN1bXRpIHZhcmlhYmxlCgoKCgoK VGhlc2UgYXJlIHVzZWQgbGlrZSB0aGUgJydicmlrYSdpJyctc2VyaWVzLiBKdXN0IHBsYWNlLCBm b3IgaW5zdGFuY2UsICcnZ29pIGtvJ3UnJyBhZnRlciBhIHN1bXRpLCBhbmQgdGhhdCBzdW10aSBj YW4gYmUgcmVmZXJyZWQgdG8gYnkgJydrbyd1JycuCgoKClN0cmFuZ2VseSwgdGhlc2Ugc2VyaWVz IGFyZSByYXJlbHkgdXNlZCBmb3IgdGhlaXIgaW50ZW5kZWQgcHVycG9zZS4gVGhleSBhcmUsIGhv d2V2ZXIsIHVzZWQgYXMgYXJiaXRyYXJ5IHNlbGJyaSBhbmQgc3VtdGkgaW4gZXhhbXBsZSB0ZXh0 czoKCuKAnFNvLCBpcyBpdCB0cnVlIHRoYXQgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgJydrbydh IGtvJ2UgYnJvZGEgbmEga3UnJyBhcmUgYWx3YXlzIHRoZSBzYW1lIGFzICcnbmEga3Uga28nYSBr bydlIGJyb2RhJyc/4oCdIOKAnE5vcGUsIGl0IGlzbid0LuKAnQoKCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gdHdlbnR5LWZpdmUgKGxvZ2ljYWwgY29ubmVjdGl2ZXMpCgrigJxJZiB5b3Ug YXNrIGEgTG9qYmFuaXN0OiDigJxEbyB5b3Ugd2FudCBtaWxrIG9yIHN1Z2FyIGluIHlvdXIgY29m ZmVlP+KAnSBzaGUnbGwgYW5zd2VyOiDigJxDb3JyZWN0LuKAneKAnQoKCgpXaXR0eSBhcyB0aGlz IGpva2UgbWlnaHQgYmUsIGl0IGlsbHVzdHJhdGVzIGEgd2VpcmQgcHJvcGVydHkgb2YgdGhlIEVu Z2xpc2ggd2F5IG9mIGFza2luZyB0aGlzIHF1ZXN0aW9uLiBJdCBpcyBwaHJhc2VkIGFzIGEgdHJ1 ZS9mYWxzZSBxdWVzdGlvbiwgYnV0IGl0IHJlYWxseSBpc24ndC4gSW4gTG9qYmFuLCB3ZSBjYW4n dCBoYXZlIHRoaXMga2luZCBvZiBpbmNvbnNpc3RlbmN5LCBhbmQgc28gd2UgbXVzdCBmaW5kIGFu b3RoZXIgd2F5IG9mIGFza2luZyB0aGlzIGtpbmQgb2YgcXVlc3Rpb24uIElmIHlvdSB0aGluayBh Ym91dCBpdCwgaXQncyBwcmV0dHkgaGFyZCB0byBmaW5kIGEgZ29vZCBhbmQgZWFzeSB3YXksIGFu ZCBpdCBzZWVtcyBMb2piYW4gaGF2ZSBwaWNrZWQgYSBnb29kIHdheSBpbnN0ZWFkIG9mIGFuIGVh c3kgd2F5LgoKCgpUbyBleHBsYWluIGl0LCBsZXQgdXMgdGFrZSB0d28gc2VwYXJhdGUgYnJpZGk6 IEJyaWRpIDE6IOKAnEkgbGlrZSBtaWxrIGluIG15IGNvZmZlZeKAnSBhbmQgYnJpZGkgMjog4oCc SSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKAnS4gQm90aCBvZiB0aGVzZSBicmlkaSBjYW4gaGF2 ZSB0aGUgc3RhdGUgdHJ1ZSBvciBmYWxzZS4gVGhpcyB5aWVsZHMgZm91ciBjb21iaW5hdGlvbnMg b2Ygd2hpY2ggYnJpZGkgaXMvYXJlIHRydWU6CgpBICkgMSBhbmQgMglCICkgMSBidXQgbm90IDIK CkMgKSAyIGJ1dCBub3QgMQlEICluZWl0aGVyIDEgbm9yIDIKCgoKSSwgaW4gYWN0dWFsaXR5LCBs aWtlIG1pbGsgaW4gbXkgY29mZmVlLCBhbmQgSSdtIGluZGlmZmVyZW50IGFzIHRvIHdoZXRoZXIg dGhlcmUgaXMgc3VnYXIgaW4gaXQgb3Igbm90LiBUaGVyZWZvcmUsIG15IHByZWZlcmVuY2UgY2Fu IGJlIHdyaXR0ZW4gQSApIHRydWUgQiApIHRydWUgQyApIGZhbHNlIEQgKSBmYWxzZSwgc2luY2Ug Ym90aCBBIGFuZCBCIHlpZWxkcyB0cnVlIGZvciBtZSwgYnV0IG5laXRoZXIgQyBub3IgRCBkb2Vz LiBBIG1vcmUgY29tcGFjdCB3YXkgb2Ygd3JpdGluZyBteSBjb2ZmZWUgcHJlZmVyZW5jZXMgd291 bGQgYmUgVFRGRiBmb3IgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLiBTaW1pbGFybHksIGEgcGVy c29uIGxpa2luZyBoaXMgY29mZmVlIGJsYWNrIGFuZCB1bnN3ZWV0ZW5lZCB3b3VsZCBoYXZlIGEg Y29mZmVlIHByZWZlcmVuY2Ugb2YgRkZGVC4gVGhpcyBjb21iaXRhdGlvbiBvZiAidHJ1ZSIgYW5k ICJmYWxzZSIgaXMgY2FsbGVkIGEg4oCcdHJ1dGggZnVuY3Rpb27igJ0sIGluIHRoaXMgY2FzZSBm b3IgdGhlIHR3byBzdGF0ZW1lbnRzIOKAnEkgbGlrZSBtaWxrIGluIG15IGNvZmZlZeKAnSBhbmQg 4oCcSSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKAnS4gTm90ZSB0aGF0IHRoZSBvcmRlciBvZiB0 aGUgc3RhdGVtZW50cyBtYXR0ZXJzLgoKSW4gTG9qYmFuLCB3ZSBvcGVyYXRlIHdpdGggNCB0cnV0 aCBmdW5jdGlvbnMsIHdoaWNoIHdlIGNvbnNpZGVyIGZ1bmRhbWVudGFsOgoKQTogVFRURiAoYW5k L29yKQoKTzogVEZGVCAoaWYgYW5kIG9ubHkgaWZmKQoKVTogVFRGRiAod2hldGhlciBvciBub3Qp CgpFOiBURkZGIChhbmQpCgoKCkluIHRoaXMgZXhhbXBsZSwgdGhleSB3b3VsZCB0cmFuc2xhdGUg dG8gc29tZXRoaW5nIGxpa2U6IEE64oCdSnVzdCBub3QgYmxhY2sgY29mZmVl4oCdLCBPOiDigJxF aXRoZXIgYm90aCBtaWxrIG9yIHN1Z2FyLCBvciBub3RoaW5nIGZvciBtZSwgcGxlYXNl4oCdLCBV OiDigJxNaWxrLCBhbmQgSSBkb24ndCBjYXJlIGFib3V0IGlmIHRoZXJlJ3Mgc3VnYXIgb3Igbm90 4oCdIGFuZCBFOiDigJxNaWxrIGFuZCBzdWdhciwgcGxlYXNlLuKAnS4KCgoKSW4gTG9qYmFuLCB5 b3UgcGxhY2UgdGhlIHdvcmQgZm9yIHRoZSB0cnV0aCBmdW5jdGlvbiBiZXR3ZWVuIHRoZSB0d28g YnJpZGksIHNlbGJyaSBvciBzdW10aSBpbiBxdWVzdGlvbi4gVGhhdCB3b3JkIGlzIGNhbGxlZCBh IGxvZ2ljYWwgY29ubmVjdGl2ZS4gVGhlIHdvcmRzIGZvciB0cnV0aCBmdW5jdGlvbnMgYmV0d2Vl biBzdW10aSAoYW5kIGp1c3QgZm9yIHN1bXRpISkgYXJlICAnJy5hJycgJycubycnICcnLnUnJyBh bmQgJycuZScnLiBIb3cgbmljZS4gRm9yIGluc3RhbmNlOiDigJxJIGFtIGZyaWVuZHMgd2l0aCBh biBBbWVyaWNhbiBhbmQgYSBHZXJtYW7igJ0gd291bGQgYmUgJydsbyBtZXJrbyAuZSBsbyBkb3Rj byBjdSBwZW5kbyBtaScnLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnEkgc3BlYWsgdG8geW91IGFu ZCBubyBvbmUgZWxzZT/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHRhdmxhIGRvIC5l IG5vIGRyYXRhJycgTm90ZSB0aGF0IHRoaXMgYWN0dWFsbHkgc3RhdGVzIHRoYXQgaXQncyB0cnVl IHRoYXQgIkkgc3BlYWsgdG8geW91Ii5+fgoKCgpPbmUgbW9yZTog4oCcSSBsaWtlIGNoZWVzZSB3 aGV0aGVyIG9yIG5vdCBJIGxpa2UgY29mZmVl4oCdCgpfXycnY2thZmknJ19fIHgxIGlzIGEgcXVh bnRpdHkvY29udGFpbnMgY29mZmVlIGZyb20gc291cmNlL29mIGdyYWluIHgyCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydtaSBuZWxjaSBsbydlIGNpcmxhIC51IGxvJ2UgY2thZmknJ35+CgoKCllv dSBjYW4gcGVyaGFwcyBkZWR1Y2UgdGhhdCB0aGVyZSBhcmUgc2l4dGVlbiBwb3NzaWJsZSB0cnV0 aCBmdW5jdGlvbnMsIHNvIHdlIG5lZWQgdG8gbGVhcm4gdHdlbHZlIG1vcmUgaW4gb3JkZXIgdG8g a25vdyB0aGVtIGFsbC4gRWlnaHQgbW9yZSBjYW4gYmUgb2J0YWluZWQgYnkgbmVnYXRpbmcgZWl0 aGVyIHRoZSBmaXJzdCBzZW50ZW5jZSBvciB0aGUgc2Vjb25kLiBUaGUgZmlyc3QgaXMgbmVnYXRl ZCBieSBwcmVmaXhpbmcgdGhlIHRydXRoIGZ1bmN0aW9uIHdvcmQgd2l0aCAnJ25hJycsIHRoZSBz ZWNvbmQgaXMgbmVnYXRlZCBieSBwbGFjaW5nICcnbmFpJycgYWZ0ZXIgdGhlIHdvcmQuIEZvciBl eGFtcGxlLCBzaW5jZSAnJy5lJycgcmVwcmVzZW50cyBURkZGLCAnJy5lIG5haScnIG11c3QgYmUg 4oCcYm90aCAxIGlzIHRydWUgYW5kIDIgaXMgZmFsc2XigJ0sIHdoaWNoIGlzIEZURkYuIFNpbWls YXJseSwgJyduYSAuYScnIGlzIOKAnEp1c3Qgbm90OiAxIGlzIHRydWUgYW5kIDIgaXMgZmFsc2Xi gJ0sIHdoaWNoIGlzIFRURlQuIERvaW5nIHRoaXMgdHlwZSBvZiBjb252ZXJzaW9uIGluIHRoZSBo ZWFkIHJlYWwtdGltZSBpcyB2ZXJ5LCB2ZXJ5IGhhcmQsIHNvIHBlcmhhcHMgb25lIHNob3VsZCBm b2N1cyBvbiBsZWFybmluZyBob3cgbG9naWNhbCBjb25uZWN0aXZlcyB3b3JrIGluIGdlbmVyYWws IGFuZCB0aGVuIGxlYXJuIHRoZSBsb2dpY2FsIGNvbm5lY3RpdmVzIHRoZW1zZWx2ZXMgYnkgaGVh cnQuCgoKCkZvdXIgZnVuY3Rpb25zIGNhbm5vdCBiZSBtYWRlIHRoaXMgd2F5OiBUVFRULCBURlRG LCBGVEZUIGFuZCBGRkZGLiBUaGUgZmlyc3QgYW5kIHRoZSBsYXN0IGNhbm5vdCBiZSBtYWRlIHVz aW5nIGxvZ2ljYWwgY29ubmVjdGl2ZXMgYXQgYWxsLCBidXQgdGhleSBhcmUga2luZCBvZiB1c2Vs ZXNzIGFueXdheS4gVXNpbmcgYSBoeXBvdGhldGljYWwgbG9naWNhbCBjb25uZWN0aXZlIGluIHRo ZSBzZW50ZW5jZSDigJxJIGxpa2UgbWlsayBGRkZGIHN1Z2FyIGluIG15IGNvZmZlZeKAnSBpcyBl cXVpdmFsZW50IHRvIHNheWluZyDigJxJIGRvbid0IGxpa2UgY29mZmVl4oCdLCBqdXN0IG1vcmUg Y29tcGxpY2F0ZWQuIFRoZSBsYXN0IHR3bywgVEZURiBhbmQgRlRGVCwgY2FuIGJlIG1hZGUgYnkg cHJlZml4aW5nICcnLnUnJyB3aXRoIGdvb2Qgb2wnICcnc2UnJywgd2hpY2gganVzdCByZXZlcnRz IHRoZSB0d28gc3RhdGVtZW50cy4gJydzZSAudScnICwgZm9yIGluc3RhbmNlIGlzIOKAnEIgd2hl dGhlciBvciBub3QgQeKAnSwgd2hpY2ggaXMgVEZURi4gVGhlIGZpbmFsIGxpc3Qgb2YgYWxsIGxv Z2ljYWwgY29ubmVjdGl2ZXMgY2FuIGJlIHNlZW4gYmVsb3cuCgoKClRUVFQ6IENhbm5vdCBiZSBt YWRlCgpUVFRGOiAnJy5hJycKClRURlQ6ICcnLmEgbmFpJycKClRURkY6ICcnLnUnJyBPUiAnJy51 IG5haScnCgpURlRUOiAnJ25hIC5hJycKClRGVEY6ICcnc2UgLnUnJwoKVEZGVDogJycubycnIE9S ICcnbmEgLm8gbmFpJycKClRGRkY6ICcnLmUnJwoKRlRUVDogJyduYSAuYSBuYWknJwoKRlRURjog JyduYSAubycnIE9SICcnLm8gbmFpJycKCkZURlQ6ICcnc2UgLnUgbmFpJycKCkZURkY6ICcnLmUg bmFpJycKCkZGVFQ6ICcnbmEgLnUnJyBPUiAnJ25hIC51IG5haScnCgpGRlRGOiAnJ25hIC5lJycK CkZGRlQ6ICcnbmEgLmUgbmFpJycKCkZGRkY6IENhbm5vdCBiZSBtYWRlCgoKCkxvZ2ljYWxseSwg c2F5aW5nIGEgc2VudGVuY2Ugd2l0aCBhIGxvZ2ljYWwgY29ubmVjdGl2ZSwgbGlrZSBmb3IgaW5z dGFuY2UgJydtaSBuZWxjaSBsbydlIGNpcmxhIC5lIG5haSBsbydlIGNrYWZpJycgaXMgZXF1aXZh bGVudCB0byBzYXlpbmcgdHdvIGJyaWRpLCB3aGljaCBhcmUgY29ubmVjdGVkIHdpdGggdGhlIHNh bWUgbG9naWNhbCBjb25uZWN0aXZlOiAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmkge0UgTkFJfSBt aSBuZWxjaSBsbydlIGNrYWZpJycuIFRoaXMgaXMgaG93IHRoZSBmdW5jdGlvbiBvZiBsb2dpY2Fs IGNvbm5lY3RpdmVzIGlzIGRlZmluZWQuIFdlIHdpbGwgZ2V0IHRvIGhvdyB0byBhcHBseSBsb2dp Y2FsIGNvbm5lY3RpdmVzIHRvIGJyaWRpIGluIGEgbW9tZW50LgoKCgpCeSBwdXR0aW5nIGEg4oCc auKAnSBpbiBmcm9udCBvZiB0aGUgY29yZSB3b3JkIG9mIGEgbG9naWNhbCBjb25uZWN0aXZlLCBp dCBjb25uZWN0cyB0d28gc2VsYnJpLiBBbiBleGFtcGxlIGlzICcnbWkgbmlubXUgbmEgam8gbmFu bXUnJyDigJxJIGFtIGEgbWFuIG9yIGEgd29tYW4sIGJ1dCBub3QgYm90aOKAnQoKX18nJ25pbm11 JydfXyB4MSBpcyBhIHdvbWFuCgoKClRoaXMgaXMg4oCcdGFucnUtaW50ZXJuYWzigJ0sIG1lYW5p bmcgdGhhdCBpdCBsb29zZWx5IGJpbmRzIHNlbGJyaSB0b2dldGhlciwgZXZlbiB3aGVuIHRoZXkg Zm9ybSBhIHRhbnJ1OiAnJ2xvIGRvdGNvIGphIG1lcmtvIHByZW51JycgbWVhbnMg4oCcYSBHZXJt YW4gb3IgQW1lcmljYW4gbWFu4oCdLCBhbmQgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBt ZXJrbycnKSAnJ3ByZW51JycuIFRoaXMgYmluZGluZyBpcyBzbGlnaHRseSBzdHJvbmdlciB0aGF0 IG5vcm1hbCB0YW5ydS1ncm91cGluZyAoc3RpbGwgd2Vha2VyIHRoYW4gc3BlY2lmaWMgZ3JvdXBp bmctd29yZHMpLCBhbmQgYXMgc3VjaCwgJydsbyBkb3RjbyBqYSBtZXJrbyBuaW5tdSBqYSBuYW5t dScnIGlzIHBhcnNlZCAnJ2xvJycgKCcnZG90Y28gamEgbWVya28nJykgKCcnbmlubXUgamEgbmFu bXUnJykuIFRoZSBzZWxicmkgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4gYWxzbyBiZSBhdHRhY2hl ZCB0byAnJy5pJycgaW4gb3JkZXIgdG8gY29ubmVjdCB0d28gc2VudGVuY2VzIHRvZ2V0aGVyOiAn J2xhIC5raW0uIGNtZW5lIG1pIC5pIGp1IG1pIG5hbm11Jycg4oCcSSdtIGNhbGxlZCBLaW0sIHdo ZXRoZXIgb3Igbm90IEknbSBhIG1hbuKAnS4gVGhlIGNvbWJpbmF0aW9uICcnLmkgamUnJyBzdGF0 ZXMgdGhhdCBib3RoIHNlbnRlbmNlcyBhcmUgdHJ1ZSwgbXVjaCBsaWtlIHdlIHdvdWxkIGFzc3Vt ZSBoYWQgbm8gbG9naWNhbCBjb25uZWN0aXZlIGJlZW4gcHJlc2VudC4KCgoKVW5mYWlybHkgaGFy ZCBxdWVzdGlvbjogVXNpbmcgbG9naWNhbCBjb25uZWN0aXZlcywgaG93IHdvdWxkIHlvdSB0cmFu c2xhdGUg4oCcSWYgeW91J3JlIGNhbGxlZCBCb2IsIHlvdSdyZSBhIG1hbi7igJ0/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydsYSAuYmFiLiBjbWVuZSBkbyAuaSBuYSBqYSBkbyBuYW5tdScnIG9y IOKAnEVpdGhlciB5b3UncmUgbm90IG5hbWVkIEJvYiBhbmQgYSBtYW4sIG9yIHlvdSdyZSBub3Qg bmFtZWQgQm9iIGFuZCBub3QgYSBtYW4sIG9yIHlvdSdyZSBuYW1lZCBCb2IgYW5kIGEgbWFuLiBC dXQgeW91IGNhbid0IGJlIG5hbWVkIEJvYiBhbmQgbm90IGJlIGEgbWFuLuKAnSBUaGUgb25seSBj b21iaW5hdGlvbiBub3QgcGVybWl0dGVkIGlzOiDigJxZb3UncmUgY2FsbGVkIEJvYiwgYnV0IG5v dCBhIG1hbi7igJ0gVGhpcyBtdXN0IG1lYW4gdGhhdCwgaWYgaXQncyB0cnVlIHRoYXQgeW91J3Jl IGNhbGxlZCBCb2IsIHlvdSBtdXN0IGJlIGEgbWFuLn5+CgoKCklmIHdlIHRyeSB0byB0cmFuc2xh dGUgdGhlIHNhZCwgc2FkIGV2ZW50IG9mIOKAnEkgY3JpZWQgYW5kIGdhdmUgYXdheSBteSBkb2fi gJ0sIHdlIHJ1biBpbnRvIGEgcHJvYmxlbS4KCkF0dGVtcHRpbmcgdG8gc2F5IHRoZSBzZW50ZW5j ZSB3aXRoIGEgJydqZScnIGJldHdlZW4gdGhlIHNlbGJyaSDigJxnYXZl4oCdIGFuZCDigJxjcmll ZOKAnSwgd291bGQgbWVhbiB0aGUgc2FtZSB3b3JkIGZvciB3b3JkLCBidXQgdW5mb3J0dW5hdGVs eSBtZWFuIHRoYXQg4oCcSSBjcmllZCB0aGUgZG9nIGFuZCBnYXZlIGF3YXkgdGhlIGRvZ+KAnSwg Y2YuIHRoZSBkZWZpbml0aW9uIG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIE9uZSBjYW4gY3J5IHRl YXJzIG9yIGV2ZW4gYmxvb2QsIGJ1dCBjcnlpbmcgZG9ncyBpcyBqdXN0IHNpbGx5LgoKSG93ZXZl ciwgd2UgY2FuIGdldCBhcm91bmQgYnkgdXNpbmcgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3Rp dmVzLiBXaGF0IHRoZXkgZG8gaXMgdGhhdCBhbnkgcHJldmlvdXMgc3VtdGNpdGEgYW5kIHN1bXRp IGF0dGFjaGVzIHRvIGJvdGggc2VsYnJpIGJvdW5kIGJ5IHRoZSBicmlkaS10YWlsIGxvZ2ljYWwg Y29ubmVjdGl2ZSwgYnV0IGFueSBmb2xsb3dpbmcgc3VtdGkgb3Igc3VtdGNpdGEgb25seSBhcHBs aWVzIHRvIHRoZSBsYXN0IG1lbnRpb25lZDogVGhlIGJyaWRpIHNwbGl0cyB1cCBmcm9tIG9uZSBo ZWFkIHRvIHR3byB0YWlscywgdG8gc3BlYWsgbWV0YXBob3JpY2FsbHkuCgpUaGUgZm9ybSBvZiBh IGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIGlzIGdpJ1YsIHdpdGggdGhlIFYgZm9yIHRo ZSB2b3dlbCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24uCgpIb3cgY291bGQgeW91IGNvcnJlY3RseSB0 cmFuc2xhdGUgdGhlIEVuZ2xpc2ggc2VudGVuY2UgdG8gTG9qYmFuPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgcHUga2xha3UgZ2knZSBkdW5kYSBsZSBtaSBnZXJrdScnfn4KCgoKV2hhdCBk b2VzICcncm8gcmVtbmEgY3UgcGFsY2kgZ2knbyB6dWt0ZSBsbyBwYWxjaScnIG1lYW4/CgpfXycn cGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxQZW9wbGUgYXJlIGV2aWwgaWYgYW5kIG9ubHkgaWYgdGhleSBkbyBldmlsIHRoaW5ncy7i gJ1+fgoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBmb3JldGhvdWdodCBhbGwtYnV0IHRhbnJ1 IGludGVybmFsIGdyb3VwIG9mIGNvbm5lY3RlcnMgbWFkZSBieSBwcmVmaXhpbmcg4oCcZ+KAnSBp biBmcm9udCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24gdm93ZWwuIOKAnEZvcmV0aG91Z2h04oCdIGlu IHRoaXMgY29udGV4dCBtZWFucyB0aGF0IHRoZXkgbmVlZCB0byBnbyBpbiBmcm9udCBvZiB0aGUg dGhpbmdzIHRoZXkgY29ubmVjdCwgYW5kIHRodXMgeW91IG5lZWQgdG8gdGhpbmsgYWJvdXQgdGhl IGdyYW1tYXRpY2FsIHN0cnVjdHVyZSBvZiB0aGUgc2VudGVuY2UgYmVmb3JlIHNheWluZyBpdC4g QWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBtZWFucyB0aGF0IGl0IHNlcnZlcyBib3RoIGFzIGEgY29u bmVjdGl2ZSBiZXR3ZWVuIHN1bXRpLCBicmlkaSwgc2VsYnJpIGFuZCBicmlkaS10YWlscywgYnV0 IG5vdCBiZXR3ZWVuIHR3byBzZWxicmkgb2Ygb25lIHRhbnJ1LiBMZXQgbWUgc2hvdyB5b3UgaG93 IGl0IHdvcmtzLCByZXdyaXRpbmcgdGhlIExvamJhbiBzZW50ZW5jZSBhYm92ZToKCicnZ28gbG8g cmVtbmEgY3UgcGFsY2kgZ2kgbG8gcmVtbmEgY3UgenVrdGUgbG8gcGFsY2knJwoKVGhlIGZpcnN0 IGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGVzZSBraW5kcyBvZiBjb25zdHJ1Y3RzIGFyZSB3aGF0 IGNhcnJpZXMgdGhlIHZvd2VsIHdoaWNoIHNpZ25hbCB3aGF0IHRydXRoIGZ1bmN0aW9uIGlzIGJl aW5nIHVzZWQuIFRoZSBzZWNvbmQgbG9naWNhbCBjb25uZWN0aXZlIGlzIGFsd2F5cyAnJ2dpJycs IGFuZCBsaWtlICcnLmknJywgaXQgaGFzIG5vIHRydXRoIGZ1bmN0aW9uLiBJdCBzaW1wbHkgc2Vy dmVzIHRvIHNlcGFyYXRlIHRoZSB0d28gdGVybXMgYmVpbmcgY29ubmVjdGVkLiBJZiB5b3Ugd2Fu dCB0byBuZWdhdGUgdGhlIGZpcnN0IG9yIHNlY29uZCBzZW50ZW5jZSwgYSAnJ25haScnIGlzIHN1 ZmZpeGVkIHRvIGVpdGhlciB0aGUgZmlyc3QgKGZvciB0aGUgZmlyc3Qgc2VudGVuY2UpIG9yIHNl Y29uZCAoZm9yIHRoZSBzZWNvbmQgc2VudGVuY2UpIGxvZ2ljYWwgY29ubmVjdGl2ZS4KClByb3Zp ZGVkIHRoYXQgdGhlIGNvbnN0cnVjdHMgYXJlIHRlcm1pbmF0ZWQgcHJvcGVybHksIGl0IGhhcyBy ZW1hcmthYmxlIGZsZXhpYmlsaXR5LCBhcyB0aGUgZm9sbG93aW5nIGZldyBleGFtcGxlcyBkZW1v bnN0cmF0ZToKCicnbWkgZ28ga2xhbWEgZ2kgY2FkenUgdmF1IGxlIG1pIHpkYW5pJycg4oCcSSBn bywgaWYgYW5kIG9ubHkgaWYgd2FsaywgdG8gbXkgaG9tZeKAnSBvciDigJxJIGNhbiBvbmx5IGdv IHRvIG15IGhvbWUgYnkgd2Fsa2luZy7igJ0gTm90aWNlIHRoYXQgdGhlICcndmF1JycgaXMgbmVl ZGVkIHRvIG1ha2UgbGUgbWkgemRhbmkgYXBwbHkgdG8gYm90aCAnJ2NhZHp1JycgYW5kICcna2xh bWEnJy4KCicnc2UgZ3UgZG8gZ2kgbmFpIG1pIGJhanJhIGxlIGRvIGNrdWxlJycg4oCcV2hldGhl ciBvciBub3QgeW91LCB0aGVuIG5vdCBJLCBydW4gdG8geW91ciBzY2hvb2zigJ0gb3Ig4oCcSSB3 b24ndCBydW4gdG8geW91ciBzY2hvb2wgbm8gbWF0dGVyIGlmIHlvdSBkbyBvciBub3TigJ0KCgoK VGhlIHRhbnJ1LWludGVybmFsIGVxdWl2YWxlbnQgb2YgZ1YgaXMgZ3UnVi4gVGhlc2UgYXJlIGV4 YWN0bHkgdGhlIHNhbWUsIGV4Y2VwdCB0aGF0IHRoZXkgYXJlIGV4Y2x1c2l2ZWx5IHRhbnJ1LWlu dGVybmFsLCBhbmQgdGhhdCB0aGV5IGJpbmQgYSBzZWxicmkgdG8gdGhlICcnZ2knJyB0aWdodGVy IHRoYW4gbm9ybWFsIHRhbnJ1LWdyb3VwaW5nLCBidXQgd2Vha2VyIHRoYW4gZXhwbGljaXQgYmlu ZGluZy1zdW10aToKCicnbGEgeGFuei5rcnQuIGd1J2UgbWVya28gZ2kgZG90Y28gbmFubXUnJyBp cyBlcXVpdmFsZW50IHRvCgonJ2xhIHhhbnoua3J0LiBtZXJrbyBqZSBkb3RjbyBuYW5tdScnCgoK CkFuZCBzbyB5b3UndmUgcmVhZCBwYWdlIHVwIGFuZCBwYWdlIGRvd24ganVzdCB0byBnZXQgdGhl IG5lY2Vzc2FyeSBrbm93bGVkZ2UgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBsZWFybiBob3cgdG8g YXNrIOKAnFdvdWxkIHlvdSBsaWtlIG1pbGsgb3Igc3VnYXIgaW4geW91ciBjb2ZmZWU/4oCdIGlu IExvamJhbi4gU2ltcGx5IHBsYWNlIGEgcXVlc3Rpb24gbG9naWNhbCBjb25uZWN0aXZlIGluc3Rl YWQgb2YgYW5vdGhlciBsb2dpY2FsIGNvbm5lY3RpdmUsIGFuZCBsaWtlICcnbWEnJywgaXQgYXNr cyB0aGUgbGlzdGVuZXIgdG8gZmlsbCBpbiBhIGNvcnJlY3QgcmVzcG9uc2UuIFVuZm9ydHVuYXRl bHksIHRoZXNlIHF1ZXN0aW9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMgZG9uJ3QgYWx3YXlzIG1hdGNo IHRoZSBtb3JwaG9sb2dpY2FsIHBhdHRlcm4gb2YgdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhl eSBhc2sgZm9yOgoKX18nJ2ppJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3Mg Zm9yIGEgc3VtdGkgbG9naWNhbCBjb25uZWN0aXZlIChBKQoKX18nJ2plJ2knJ19fIExvZ2ljYWwg Y29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSB0YW5ydS1pbnRlcm5hbCBzZWxicmkgbG9n aWNhbCBjb25uZWN0aXZlIChKQSkKCl9fJydnaSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVl c3Rpb246IEFza3MgZm9yIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdJaEEpCgpf XycnZ2UnaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGZvcmV0 aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgbG9naWNhbCBjb25uZWN0aXZlIChHQSkKCl9f JydndSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgZm9yZXRo b3VnaHQgb25seSB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdVaEEpCgoKClNv Li4uIGhvdyB3b3VsZCB5b3UgYXNrIGlmIHRoZSBwZXJzb25zIHdhbnRzIG1pbGsgb3Igc3VnYXIg aW4gaGVyIGNvZmZlZT8KCl9fJydsYWRydScnX18geDEgaXMvY29udGFpbnMgbWlsayBmcm9tIHNv dXJjZSB4MgoKX18nJ3Nha3RhJydfXyB4MSBpcy9jb250YWlucyBzdWdhciBmcm9tIHNvdXJjZSB4 MiBvZiBjb21wb3NpdGlvbiB4MwoKCgpQb3NzaWJsZSBhbnN3ZXI6IH5+Z3JleSxncmV5Oicnc2Fr dGEgamUnaSBsYWRydSBsZSBkbyBja2FmaScnIHRob3VnaCBJIGd1ZXNzIHNvbWV0aGluZyBtb3Jl IEVuZ2xpc2ggYW5kIGxlc3MgZWxlZ2FudCBjb3VsZCBhbHNvIHN1ZmZpY2UgbGlrZSAnJ2RvIGRq aWNhIGxlbnUgbG8gc2FrdGEgamkgbG8gbGFkcnUgY3UgbmVucmkgbGUgZG8gY2thZmknJ35+CgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXNpeCAobm9uLWxvZ2ljYWwgY29ubmVj dGl2ZXMpCgpUaGUgd29yZCAibG9naWNhbCIgaW4gImxvZ2ljYWwgY29ubmVjdGl2ZSIgcmVmZXJz IHRvIHRoZSBhc3NvY2lhdGlvbiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBoYXMgd2l0aCBhIHRydXRo IGZ1bmN0aW9uLiBOb3QgYWxsIHVzZWZ1bCBjb25uZWN0aXZlcyBjYW4gYmUgZGVmaW5lZCB0aHJv dWdoIGEgdHJ1dGggZnVuY3Rpb24sIGhvd2V2ZXIsIGFuZCBzbyB0aGVyZSBhcmUgb3RoZXIgY29u bmVjdGl2ZXMgYmVzaWRlIHRoZSBsb2dpY2FsIG9uZXMuCgpUaGUgbWVhbmluZyBvZiBhIGxvZ2lj YWwgY29ubmVjdGl2ZSBpcyBkZWZpbmVkIHRoZSBzYW1lIGFzIHR3byBkaWZmZXJlbnQgYnJpZGkg Y29ubmVjdGVkIHdpdGggdGhhdCBsb2dpY2FsIGNvbm5lY3RpdmUuIEZvciBpbnN0YW5jZSwgJydt aSBuaXRjdSBkbyAuYSBsYSAuZGphbi4nJyBpcyBkZWZpbmVkIHRvIGJlIGVxdWl2YWxlbnQgdG8g JydtaSBuaXRjdSBkbyAuaSBqYSBtaSBuaXRjdSBsYSAuZGphbi4nJy4gVGhpcyBkZWZpbml0aW9u IGlzIHVzZWZ1bCB0byBiZWFyIGluIG1pbmQsIGJlY2F1c2UgaXQgaW1wbGllcyB0aGF0IHNvbWV0 aW1lcywgc3VtdGkgY2Fubm90IGJlIGNvbm5lY3RlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMg d2l0aG91dCBjaGFuaW5nIHRoZSBtZWFuaW5nLiBDb25zaWRlciB0aGUgc2VudGVuY2U6ICJKYWNr IGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5LiIgT25lIGF0dGVtcHQgYXQgYSB0cmFuc2xhdGlvbiB3 b3VsZCBiZTogJyd0aSBkcmFjaSBmaSBsYSAuZGphay4gZSBsYSAuZGpvdXMuJycKCl9fJydkcmFj aScnX18geDEgaXMgYSBkcmFtYS9wbGF5IGFib3V0IHgyIGJ5IHdyaXRlci9kcmFtYXRpc3QgeDMg Zm9yIGF1ZGllbmNlIHg0IHdpdGggYWN0b3JzIHg1CgoKClRoZSBwcm9ibGVtIHdpdGggdGhpcyB0 cmFuc2xhdGlvbiBpcyB0aGF0IGl0IG1lYW5zICcndGkgZHJhY2kgbGEgLmRqYWsuIGlqZSB0aSBk cmFjaSBsYSAuZGpvdXMuJycsIHdoaWNoIGlzIG5vdCByZWFsbHkgdHJ1ZS4gTmVpdGhlciBKYWNr IG5vciBKb2Ugd3JvdGUgaXQsIHRoZXkgZGlkIHNvIHRvZ2V0aGVyLiBXaGF0IHdlIHdhbnQgaGVy ZSBpcyBvZiBjb3Vyc2UgYSBtYXNzLCBhbmQgc29tZSB3YXkgdG8gam9pbiBKYWNrIGFuZCBKb2Ug aW4gb25lIG1hc3MuIFRoaXMgaGFzIGxpdHRsZSB0byBkbyB3aXRoIGEgdHJ1dGggZnVuY3Rpb24g c28gd2UgbXVzdCB1c2UgYSBub24tbG9naWNhbCBjb25uZWN0aXZlLCB3aGljaCBhcmUgb2Ygc2Vs bWEnbyBKT0kuIFdlJ2xsIHJldHVybiB0byB0aGlzIEphY2sgYW5kIEpvZS1wcm9ibGVtIGluIGEg bGl0dGxlIC0gZmlyc3Q6IEZvdXIgb2YgdGhlIGtub3duIEpPSToKCgoKfHxUaGUgTG9qYmFuIGNv bm5lY3RpdmU6fCcnY2UnJ3wnJ2NlJ28nJ3wnJ2pvaScnfCcnam8ndScnCgpKb2lucyBzdW10aSBh bmQgZm9ybXMgYTp8c2V0fHNlcXVlbmNlfG1hc3N8Z3JvdXAgb2YgaW5kaXZpZHVhbHN8fAoKVGhl IGZ1bmN0aW9ucyBvZiB0aGVzZSB3b3JkcyBhcmUgc2ltcGxlOiAnJ2xvJ2kgcmVtbmEgam8ndSBs bydpIGdlcmt1JycgY29uc2lkZXJzIGJvdGggdGhlIHNldCBvZiBodW1hbnMgYW5kIHRoZSBzZXQg b2YgZG9ncyBkaXN0cmlidXRpdmVseSAoYXMgaW5kaXZpZHVhbHMpLiBSZW1lbWJlciBmcm9tIGxl c3NvbiB0d2VudHktdHdvIChxdWFudGlmaWVycykgdGhhdCAiZGlzdHJpYnV0aXZpdHkiIG1lYW5z IHRoYXQgd2hhdCBpcyB0cnVlIGZvciB0aGUgZ3JvdXAgaXMgYWxzbyB0cnVlIGZvciBlYWNoIG9m IHRoZSBpbmRpdmlkdWFscyBhbG9uZS4gU2ltaWxhcmx5ICcnbG9pIHJvIGdpc211IGNlJ28gbG9p IHJvIGx1anZvIGNlJ28gbG9pIHJvIGZ1J2l2bGEnJyBpcyBhIHNlcXVlbmNlIGNvbnNpc3Rpbmcg b2YgdGhlIG1hc3Mgb2YgYWxsIGdpc211LCBmb2xsb3dlZCBieSB0aGUgbWFzcyBvZiBhbGwgbHVq dm8sIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBmdSdpdmxhLgoKQXMgd2l0aCBhbGwgb2Yg dGhlIEpPSSB3aGljaCBoYXMgYW4gaW5oZXJlbnQgb3JkZXIsICcnc2UnJyBtYXkgYmUgcHV0IGJl Zm9yZSAnJ2NlJ28nJyB0byBpbnZlcnNlIHRoZSBvcmRlcjogIkEgJydjZSdvJycgQiIgaXMgdGhl IHNhbWUgYXMgIkIgc2UgJydjZSdvJycgQSIuCgoKCkhvdyBjYW4geW91IGNvcnJlY3RseSB0cmFu c2xhdGUgIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkiPwoKQW5zd2VyOiB+fmdyZXksZ3Jl eTogJyd0aSBkcmFjaSBmaSBsYSAuZGphay4gam9pIGxhIC5kam91cy4nJ35+IAoKCgpUaGUgY21h dm8gb2YgSk9JIGFyZSB2ZXJ5IGZsZXhpYmxlOiBUaGV5IGNhbiBhY3QgYm90aCBhcyBzdW10aSBj b25uZWN0aXZlcyBhbmQgdGFucnUtaW50ZXJuYWwgY29ubmVjdGl2ZXMsIHNvIHRoZXkgY2FuIGJl IHVzZWQgdG8gY29ubmVjdCBzdW10aSwgc2VsYnJpIGFuZCBicmlkaS4gVGhpcyBmbGV4aWJpbGl0 eSBtZWFucyB0aGF0IG9uZSBtdXN0IGJlIGNhcmVmdWwgdG8gdXNlIGZhJ29ybWEnbyBjb3JyZWN0 bHkgd2hlbiB1c2luZyBhIEpPSS4gCgpXaGF0IGlzIHdyb25nIHdpdGggdGhlIGJyaWRpICcnbG8g ZG90Y28gam8ndSBtaSBjdSBrbGFtYSBsYSBkb3RjbyBndWdkZScnPwoKQW5zd2VyOiB+fmdyZXks Z3JleTogJydqbyd1JycgaXMgcHV0IGFmdGVyIGEgc2VsYnJpLCBzbyBpdCBleHBlY3RzIGEgc2Vs YnJpIGFmdGVyIGl0IHRvIGNvbm5lY3QgdG8sIGJ1dCBub25lIGlzIGZvdW5kLiBIYWQgIGEgJydr dScnIGJlZW4gcHJlc2VudCBiZWZvcmUgdGhlIGNvbm5lY3RpdmUsIGl0IHdvdWxkIGhhdmUgYmVl biBncmFtbWF0aWNhbH5+CgoKCklmIHNldmVyYWwgSk9JIGFyZSB1c2VkLCAnJ2JvJycgYW5kL29y ICcna2UnJyBtYXkgYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgdXN1YWwgbGVmdC1ncm91cGluZzog JydtaSBqb2kgZG8gY2UnbyBsYSAuZGphay4gam9pIGJvIGxhIC5kam91cy4gY3UgcHUnbyBjaSdl cmtlaSBkYW1iYSBsZWkgeHVucmUnJyAiTWUgYW5kIHlvdSwgYW5kIHRoZW4gSmFjayBhbmQgSm9l IGFyZSBhYm91dCB0aGUgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4gQ29udHJhc3Qgd2l0aCAnJ21p IGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgbGEgLmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2VpIGRh bWJhIGxlaSB4dW5yZScnIC0gIkZpcnN0IG1lIGFuZCB5b3UsIHRoZW4gSmFjayB3aWxsIHRvZ2V0 aGVyIHdpdGggSm9lIHBsYXkgYWdhaW5zdCB0aGUgcmVkcyIuIAoKQ29ubmVjdGluZyBicmlkaSB3 aXRoIEpPSSBjYW4gbWFrZSBzb21lIGludGVyZXN0aW5nIGltcGxpY2F0aW9ucyBvZiB0aGUgcmVs YXRpb25zaGlwIGJldHdlZW4gdGhlIGJyaWRpOiAnJ2xhIC5kamFrLiBtb3JzaSByaSdhIGxvIG51 IHJpIGR6dXNvaSAuaSBqb2kgbGUgamVtamEnYSBwbyByaSBjdSBiZWJuYScnIC0gIkphY2sgaXMg ZGVhZCBiZWNhdXNlIGhlIHdhcyBhIGluZmFudHJ5IHNvbGRpZXIgYW5kIGhpcyBnZW5lcmFsIHdh cyBhbiBpZGlvdCIsIGltcGx5aW5nIHRoYXQgdGhlc2UgdHdvIGJyaWRpIG1hc3NlZCB0b2dldGhl ciB3YXMgdGhlIHBoeXNpY2FsIGNhdXNlIG9mIGhpcyBkZWF0aDogSGFkIGhlIG9ubHkgYmVlbiBp biBhbiBhcm1vcmVkIHZlaGljbGUgb3Igd2l0aCBhIGNvbXBldGVudCBjb21tYW5kZXIsIGhlIG1p Z2h0IGhhZCBzdXJ2aXZlZC4KCl9fJydkenVzb2knJ19fIHgxIGlzIGFuIGluZmFudHJ5IHNvbGRp ZXIgb2YgYXJteSB4MgoKX18nJ2plbWphJ2EnJ19fIHgxIGlzIGEgZ2VuZXJhbCBvZiBhcm15IHgy IGluIGZ1bmN0aW9uIHgzCgpfXycnYmVibmEnJ19fIHgxIGlzIGZvb2xpc2gvaWRpb3RpYyBpbiBw cm9wZXJ0eS9hc3BlY3QgeDIKCgoKTm9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMgbWF5IGFsc28gYmUg bmVnYXRlZCB3aXRoICcnbmFpJycsIGluZGljYXRpbmcgdGhhdCBzb21lIG90aGVyIGNvbm5lY3Rp dmUgaXMgYXBwcm9wcmlhdGU6ICcnbG8gZGphY3UgY2UnbyBuYWkgLmUnbyBsbyBsYWRydSBjdSBj YXZ5ZmxlIGZpIGxlIG1pIHRjYXRpJycgLSAiUGxlYXNlIGRvbid0IHBvdXIgZmlyc3Qgd2F0ZXIg dGhlbiBtaWxrIGluIG15IHRlYSIuIFRoaXMsIG9mIGNvdXJzZSwgc2F5cyBub3RoaW5nIGFib3V0 IHdoaWNoIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGUgLSBvbmUgbWlnaHQgZ3Vlc3MgJydzZSBj ZSdvJycgKGZpcnN0IG1pbGssIHRoZW4gd2F0ZXIpLCBvbmx5IHRvIGZpbmQgb3V0IHRoYXQgJycu ZSBuYWknJyAob25seSB3YXRlciwgbm8gbWlsayBhdCBhbGwpIHdhcyB0aGUgY29ycmVjdCBvbmUu CgpfXycnY2F2eWZsZScnX18geDEsIGNvbnNpc3Rpbmcgb2YgeDIsIGZsb3dzIGludG8geDMgZnJv bSB4NAoKSnVzdCBsaWtlIGEgbG9naWNhbCBjb25uZWN0aXZlIGlzIGEgcGxhdXNpYmxlIG5lZ2F0 aW9uIG9mIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5zd2VycyB0byBxdWVzdGlvbnMgb2Yg dGhlIHR5cGUgJydqaScnIG9yICcnamUnaScnIGNhbiBiZSBib3RoIGxvZ2ljYWwgYW5kIG5vbi1s b2dpY2FsOiBBOiAnJ2xhZHJ1IGplJ2kgc2FrdGEgbGUgZG8gY2thZmknJyBCOiAnJ3NlIGNlJ28n JyAoIk1pbGsgb3Igc3VnYXIgaW4geW91IGNvZmZlZT8iICJGaXJzdCB0aGUgbGF0dGVyLCB0aGVu IHRoZSBmb3JtZXIiKS4gSW4gdGhpcyBjYXNlICcnY2UnJyB3b3VsZCBtYWtlIG5vIHNlbnNlIGF0 IGFsbCwgc2luY2Ugc2V0cyBjYW4ndCBiZSBjb250YWluZWQgaW4gY29mZmVlLCBhbmQgJydqb2kn JyAoYm90aCBtaXhlZCB0b2dldGhlcikgd291bGQgbWVhbiB0aGUgc2FtZSBhcyAnJ2pvJ3UnJyAo Ym90aCBvZiB0aGVtKSwgdW5sZXNzIHRoZSByZXNwb25kYW50IHByZWZlcnJlZCB1bm1peGVkIHN1 Z2FyIGluIGhpcyBjb2ZmZWUuCgoKClRoZSBmaWZ0aCBKT0kgSSBwcmVzZW50IGhlcmUgaXMgYSBi aXQgb2YgYW4gb2RkYmFsbDoKCl9fJydmYSd1JydfXyBOb24tbG9naWNhbCBjb25uZWN0aXZlOiBV bm1peGVkIG9yZGVyZWQgZGlzdHJpYnV0aW9uIChBIGFuZCBCLCByZXNwZWN0aXZlbHkpCgpXaGVu IG9ubHkgb25lICcnZmEndScnIGlzIHBsYWNlZCB3aXRoaW4gYSBicmlkaSAob3Igc2V2ZXJhbCBi cmlkaSBjb25uZWN0ZWQgdG9nZXRoZXIgd2l0aCBjb25uZWN0b3JzKSwgJydmYSd1JycgbWF5IGJl IGFzc3VtZWQgdG8gYmUgaWRlbnRpY2FsIHRvICcnam8ndScnLiBXaGVuIHNldmVyYWwgJydmYSd1 JycgaXMgdXNlZCB3aXRoaW4gb25lIGJyaWRpLCBob3dldmVyLCB0aGUgY29uc3RydWN0cyBiZWZv cmUgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVyLCBhbmQgdGhlIGNvbnN0cnVjdHMg YWZ0ZXIgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVyLiBMZXQncyBoYXZlIGFuIGV4 YW1wbGU6CgonJ21pIGZhJ3UgZG8gcnVza28gZmEndSBrYWRubycnIC0gIllvdSBhbmQgSSBhcmUg UnVzc2lhbiBhbmQgQ2FuYWRpYW4iLCBpbXBseWluZyB0aGF0ICcnbWknJyBnb2VzIHdpdGggJydy dXNrbycnIGFuZCAnJ2RvJycgZ29lcyB3aXRoICcna2Fkbm8nJywgYW5kIGltcGx5aW5nIG5vdGhp bmcgYWJvdXQgYW55IG90aGVyIGNvbWJpbmF0aW9uLiBPZiBjb3Vyc2UsIGluIHRoaXMgZXhhbXBs ZSwgaXQgd291bGQgYmUgbXVjaCBlYXNpZXIgdG8gc2F5ICcnbWkgcnVza28gLmkgZG8ga2Fkbm8n Jy4KCgoKVGhlc2UgbGFzdCB0aHJlZSBKT0kgY29ubmVjdHMgdHdvIHNldHMgdG8gbWFrZSBuZXcg c2V0czoKCl9fJydqbydlJydfXwlBIHVuaW9uIEIKCl9fJydrdSdhJydfXwlBIGludGVyc2VjdGlv biBCCgpfXycncGkndSAnJ19fCUNyb3NzIHByb2R1Y3Qgb2YgQSBhbmQgQgoKCgpUaGVzZSBhcmUg cHJvYmFibHkgbm90IHZlcnkgdXNlZnVsIGZvciB0aGUgYXZlcmFnZSBMb2piYW5pc3QsIGJ1dCBJ IG1pZ2h0IGFzIHdlbGwgaW5jbHVkZSB0aGVtIGhlcmUuCgpUaGUgZmlyc3Qgb25lLCAnJ2pvJ2Un JywgbWFrZXMgYSBuZXcgc2V0IGZyb20gdHdvIHNldHMuIFRoaXMgbmV3IHNldCBjb250YWlucyBv bmx5IHRob3NlIG1lbWJlcnMgd2hpY2ggYXJlIGluIGJvdGggc2V0cy4KCkEgc2V0IG1hZGUgd2l0 aCAnJ2t1J2EnJyBjb250YWlucyBhbGwgdGhlIG1lbWJlcnMgb2Ygc2V0IEEgYW5kIHRob3NlIG9m IHNldCBCLiBJZiBhbnl0aGluZyBpcyBhIG1lbWJlciBvZiBib3RoIHNldHMsIHRoZXkgYXJlIG5v dCBjb3VudGVkIHR3aWNlLgoKJydwaSd1JycgaXMgYSBsaXR0bGUgbW9yZSBjb21wbGljYXRlZC4g QSBzZXQgIkEgJydwaSd1JycgQiIgY29udGFpbnMgYWxsIHRoZSBwb3NzaWJsZSBjb21iaW5hdGlv bnMgb2YgImEgJydjZSdvJycgYiIsIHdoZXJlIGEgaXMgYSBtZW1iZXIgb2YgQSBhbmQgYiBpcyBh IG1lbWJlciBvZiBCLiBJdCBpcyB0aHVzIGEgc2V0IG9mIHNlcXVlbmNlcyBvZiBtZW1iZXJzLiBJ ZiwgZm9yIGluc3RhbmNlLCBzZXQgQSBjb250YWluZWQgdGhlIG1lbWJlcnMgcCBhbmQgcSwgYW5k IHNldCBCIGNvbnRhaW5lZCBtZW1iZXJzIGYgYW5kIGcsIHRoZW4gQSAnJ3BpJ3UnJyBCIHdvdWxk IGJlIGEgc2V0IGNvbnNpc3Rpbmcgb2YgdGhlIGZvdXIgbWVtYmVycyBwICcnY2UnbycnIGYsIHAg JydjZSdvJycgZywgcSAnJ2NlJ28nJyBmIGFuZCBxICcnY2UnbycnIGcuCgoKCiEhIUVuZCBvZiBw YXJ0IHR3bwoKKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxSZXR1cm4gdG8gdGhlIHdhdmVsZXNzb25z IHBhcnQgb25lKSkKClRoaXMgcGFydCBjb25jbHVkZXMgdGhlIHR1dG9yaWFsIHRvIG9yZGluYXJ5 IExvamJhbi4gSW4gdGhlIHRoaXJkIHBhcnQsIEkgd2lsbCBmb2N1cyBvbiBhZHZhbmNlZCBMb2pi YW4gLSB0aGUgcGFydHMgeW91IGRvbid0IGFjdHVhbGx5IG5lZWQgdG8ga25vdyB0byBzcGVhayB0 aGUgbGFuZ3VhZ2UuIEkgZGlzY291cmFnZSB5b3UgdG8gYmVnaW4gcmVhZGluZyB0aGUgdGhpcmQg cGFydCB1bnRpbCB5b3UgZmVlbCBjb21mb3J0YWJsZSBlbm91Z2ggd2l0aCB0aGUgaW5mb3JtYXRp b24gaW4gdGhlIGZpcnN0IHR3byBwYXJ0cyB0byBob2xkIGFuIHdyaXR0ZW4gY29udmVyc2F0aW9u IGluIHRoZSBsYW5ndWFnZS4gSWYgeW91IF9fZG9fXyB3aXNoIHRvIGNvbnRpbnVlLCB5b3UgY2Fu IHByZXNzICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGlzIGxpbmspKSB0byBnbyB0aGVyZS4K CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1 cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxv amJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK