Received: from localhost ([::1]:59393 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1VCrdV-0007Ad-Gf; Fri, 23 Aug 2013 06:42:45 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:58254 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1VCrdK-0007AU-1U for wikichanges@lojban.org; Fri, 23 Aug 2013 06:42:43 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 23 Aug 2013 06:42:33 -0700 From: "Apache" Date: Fri, 23 Aug 2013 06:42:33 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp2 was changed by gleki at 13:42 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAx Mzo0MiBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9MzEmbmV3dmVy PTMyCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93 ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVz OiAzMjQtMzI4IGNoYW5nZWQgdG8gK0xpbmVzOiAzMjQtMzI4IEBACistKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgpUaGUgZ2VuZXJpYyB2 b2NhdGl2ZSwgJydkb2knJywgZG9lcyBub3RoaW5nIGV4Y2VwdCBkZWZpbmluZyB3aG8gaXMgYmVp bmcgcmVmZXJyZWQgdG8gYnkgJydkbycnOgotICcnZG9pIC5lcm5zdC4geHUgZG8gZG90Y28gbWVy a28nJyBFcm5zdDogQXJlIHlvdSBhIEdlcm1hbi1BbWVyaWNhbj8KKyAnJ2RvaSAuZXJuc3l0LiB4 dSBkbyBkb3RjbyBtZXJrbycnIEVybnN0OiBBcmUgeW91IGEgR2VybWFuLUFtZXJpY2FuPwoKQWxs IHRoZSBvdGhlciB2b2NhdGl2ZXMgaGF2ZSBzb21lIGNvbnRlbnQgYmVzaWRlIGRlZmluaW5nICcn ZG8nJy4gJydjb2knJywgd2hpY2ggeW91IGtub3csIGFsc28gbWVhbnMg4oCcSGVsbG/igJ0sIGZv ciBleGFtcGxlLiBNYW55IG9mIHRoZSB2b2NhdGl2ZXMgaGF2ZSB0d28gb3IgdGhyZWUgZGVmaW5p dGlvbnMgbGlrZSB0aGUgYXR0aXR1ZGluYWxzLiBMaWtlIGF0dGl0dWRpbmFscywgdGhpcyBpcyBi ZWNhdXNlIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHdpdGggJydjdSdpJycgYW5kICcnbmFpJycsIHRo b3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3UnaScnLWZvcm0gZGVmaW5lZC4KCgoK CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgohTG9qYmFuIFdhdmUg TGVzc29ucyBDb250aW51ZWQgKHBhcnQgdHdvKToKCiEhIU1hZGUgYnkgbGEga2xha3Ugd2l0aCBo ZWxwIGZyb20gdmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBsYSAua3Jp YmFjci4gU3ByaW5nIDIwMTMuCgoKClRoaXMgaXMgdGhlIHNlY29uZCBpbnN0YWxsbWVudCBvZiB0 aGUgV2F2ZSBMZXNzb25zIENvbnRpbnVlZC4gSWYgeW91IGRpZG4ndCBjYXRjaCB0aGUgZmlyc3Qg cGFydCwgb3Igd2FudCB0byBnbyBiYWNrIGZvciBzb21lIHJlYXNvbiwganVzdCBjbGljayAoKHdh dmVsZXNzb25zY29udGludWVkfG9uIHRoZXNlIGZvdXIgd29yZHMuKSkuIFlvdSBjYW4gYWxzbyBn byB0byB0aGUgdGhpcmQgcGFydCBieSBjbGlja2luZyAoKHdhdmVsZXNzb25zY29udGludWVkcDJ8 dGhpcyBsaW5rKSksIGlmIHlvdSBmZWVsIGxpa2UgZG9pbmcgdGhhdC4KCgoKISFMb2piYW4gTGVz c29ucyAtIExlc3NvbiBzZXZlbnRlZW4gKGN1dGUgYXNzb3J0ZWQgd29yZHMpCgpBbmQgd2l0aCB0 aGF0LCB0aGlyZCBjaGFwdGVyLCB5b3Uga25vdyBhIGxvdCBhYm91dCBMb2piYW4gc3VtdGkuIEFm dGVyIHN1Y2ggYSBsb25nIHRpbWUgb2Ygcmlnb3JvdXMgc3lzdGVtYXRpYyBsZWFybmluZywgd2hh dCBjb3VsZCBiZSBtb3JlIGZpdHRpbmcgdGhhdCB0aGlzIGxlc3NvbiB3aGVyZSBJIHNwZWFrIGFi b3V0IHNvbWUgd29yZHMgd2hpY2ggSSBjb3VsZCBub3QsIG9yIHdhbnRlZCBub3QgdG8gZml0IGlu dG8gYW55IG90aGVyIGxlc3NvbnM/IFNvIGhlcmUgYXJlIGEgZmV3IHNtYWxsIGFuZCByZWFsbHkg dXNlZnVsIHdvcmRzOgoKCgpUaGUgZm9sbG93aW5nIGNtYXZvIGFyZSBhbGwgZWxsaXB0aWNhbCB3 b3Jkcy4gWW91IHNob3VsZCBhbHJlYWR5IGJlIGZhbWlsaWFyIHdpdGggdGhlIGZpcnN0LgoKX18n J3pvJ2UnJ19fIC0gZWxsaXB0aWNhbCBzdW10aQoKX18nJ2NvJ2UnJ19fIC0gZWxsaXB0aWNhbCBz ZWxicmkKCl9fJydkbydlJydfXyAtIGVsbGlwdGljYWwgc3VtdGNpdGEKCl9fJydqdSdhJydfXyAt IGVsbGlwdGljYWwgZXZpZGVudGlhbAoKX18nJ2RvJ2knJ19fIC0gZWxsaXB0aWNhbCB1dHRlcmFu Y2UgdmFyaWFibGUKCl9fJydnZSdlJydfXyAtIGVsbGlwdGljYWwgYXR0aXR1ZGluYWwKCgoKQWxs IG9mIHRoZXNlIGFjdCBncmFtbWF0aWNhbGx5IGFzIGEgY21hdm8gb2YgdGhlIGtpbmQgdGhleSBy ZXByZXNlbnQsIGJ1dCB0aGV5IGNvbnRhaW4gbm8gaW5mb3JtYXRpb24sIGFuZCBjYW4gYmUgcXVp dGUgaGFuZHkgd2hlbiB5b3UncmUgbGF6eSBhbmQgZG9uJ3QgbmVlZCB0byBiZSBzcGVjaWZpYyBh bnl3YXkuIFRoZXJlIGFyZSwgaG93ZXZlciwgYSBmZXcgdGhpbmdzIHdoaWNoIG5lZWQgdG8gYmUg Y2xlYXJlZCB1cDoKCgoKICAgICcnem8nZScnIGhhdmUgdG8gcmVmZXIgdG8gc29tZXRoaW5nIHdo aWNoIGlzIGNsYWltZWQgdG8gaGF2ZSBhIHZhbHVlLiDigJx6ZXJvIGNhcnPigJ0gb3Ig4oCcbm90 aGluZ+KAnSwgZm9yIGluc3RhbmNlLCBoYXMgbm8gdmFsdWUsIGFuZCB0aGVyZWZvcmUgY2Fubm90 IGJlIHJlZmVycmVkIHRvIGJ5ICcnem8nZScnLiBUaGlzIGlzIGJlY2F1c2UsIGlmIGl0IGNvdWxk IG1lYW4g4oCcbm90aGluZ+KAnSBieSAnJ3pvJ2UnJywgdGhlbiBhbnkgc2VsYnJpIGNvdWxkIGJl IGlkZW50aWNhbCB0byBpdHMgbmVnYXRpb24sIGlmIG9uZSBvZiB0aGUgZWxpZGVkIHN1bXRpIHdl cmUgZmlsbGVkIHdpdGggYSAnJ3pvJ2UnJyB3aXRoIG5vIHZhbHVlLgoKICAgICcnZ2UnZScnIGRv ZXMgbm90IG1lYW4gdGhhdCB5b3UgZmVlbCBubyBlbW90aW9uLCBqdXN0IHRoYXQgeW91IGZlZWwg bm90aGluZyBzcGVjaWFsIG9yIHdvcnRoIHRvIG1lbnRpb24gYXQgdGhlIG1vbWVudC4gSXQncyBz aW1pbGFyIHRvIOKAnEknbSBmaW5lLuKAnS4gJydnZSdlIHBlaScnIGFzayBhYm91dCBhbiBlbGxp cHRpY2FsIGVtb3Rpb24gYW5kIGlzIGEgZ29vZCB0cmFuc2xhdGlvbiBmb3I6IOKAnEhvdyBhcmUg eW91IGZlZWxpbmc/4oCdLgoKICAgICcnY28nZScnIGlzIGhhbmR5IHdoZW4gbmVlZGluZyBhIHNl bGJyaSBpbiBhIGNvbnN0cnVjdCBmb3IgZ3JhbW1hdGljYWwgcmVhc29ucywgbGlrZSBpbiB0aGUg ZGVmaW5pdGlvbiBvZiAnJ3R1J2EnJyBpbiB0aGUgcHJldmlvdXMgbGVzc29uLgoKICAgICcnanUn YScnIGRvZXMgbm90IGNoYW5nZSB0aGUgdHJ1dGggdmFsdWUgb3Igc3ViamVjdGl2ZSB1bmRlcnN0 YW5kaW5nIG9mIHRoZSBicmlkaSBvciBhbnl0aGluZyBsaWtlIHRoYXQuIEluIGZhY3QsIGl0J3Mg bW9zdGx5IGRvZXMgbm90aGluZy4gSG93ZXZlciwgJydqdSdhIHBlaScnLCDigJxXaGF0IGlzIHlv dXIgYmFzaXMgZm9yIHNheWluZyB0aGF0P+KAnSBpcyBoYW5keS4KCiAgICAnJ2RvJ2knJyBpcyBy ZWFsbHkgdXNlZnVsLiBBIGxvdCBvZiB0aW1lcyB3aGVuIHlvdSByZWZlciB0byB1dHRlcmFuY2Vz IG9yIGNvbnZlcnNhdGlvbnMgYnkgd29yZHMgbGlrZSDigJx0aGlz4oCdIG9yIOKAnHRoYXTigJ0s IHlvdSB3YW50ICcnZG8naScnLgoKICAgIElmIHlvdSBmaWxsIGluIG1vcmUgc3VtdGkgdGhhbiBh IHNlbGJyaSBoYXMgcGxhY2VzIGZvciwgdGhlIGxhc3Qgc3VtdGkgaGF2ZSBpbXBsaWVkICcnZG8n ZScnIHN1bXRjaXRhIGluIGZyb250IG9mIHRoZW0uCgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBh IHdvcmQsICcnemknbycnLCB0aGF0IHlvdSBjYW4gZmlsbCBhIHN1bXRpIHBsYWNlIHdpdGggdG8g ZGVsZXRlIGl0IGZyb20gYW55IHNlbGJyaS4gJydsbyBtZWxiaSBiZSB6aSdvJycsIGZvciBpbnN0 YW5jZSwgaXMganVzdCDigJxTb21ldGhpbmcgYmVhdXRpZnVs4oCdLCBhbmQgZG9lcyBub3QgaW5j bHVkZSB0aGUgdXN1YWwgeDIgb2YgJydtZWxiaScnLCB3aGljaCBpcyB0aGUgb2JzZXJ2ZXIgd2hv IGp1ZGdlcyBzb21ldGhpbmcgdG8gYmUgYmVhdXRpZnVsLiBUaHVzLCBpdCBjYW4gbWVhbiBzb21l dGhpbmcgbGlrZSDigJxPYmplY3RpdmVseSBiZWF1dGlmdWwu4oCdIEl0IGRvZXMgbm90IHN0YXRl IHRoYXQgbm90aGluZyBmaWxscyB0aGUgc3VtdGkgcGxhY2Ugd2hpY2ggaXMgYmVpbmcgZGVsZXRl ZCwganVzdCB0aGF0IHRoZSBzdW10aSBwbGFjZSBpcyBub3QgYmVpbmcgY29uc2lkZXJlZCBpbiB0 aGUgc2VsYnJpLiBVc2luZyAnJ3ppJ28nJyB3aXRoIGEgc3VtdGNpdGEgZ2l2ZXMgd2VpcmQgcmVz dWx0cy4gRm9ybWFsbHksIHRoZXkgc2hvdWxkIGNhbmNlbCBlYWNoIG90aGVyIG91dC4gUHJhY3Rp Y2FsbHksIGl0IHdvdWxkIHByb2JhYmx5IGJlIHVuZGVyc3Rvb2QgYXMgYW4gZXhwbGljaXQgd2F5 IG9mIHNheWluZyB0aGF0IHRoZSBzdW10Y2l0YSBkb2VzIG5vdCBhcHBseSwgYXMgaW46ICcnbWkg ZGFyeGkgZG8gbXUnaSB6aSdvJycgLSDigJxJIGhpdCB5b3UsIHdpdGggb3Igd2l0aG91dCBtb3Rp dmF0aW9uLuKAnQoKCgpUaGVuIHRoZXJlIGlzIHRoZSB3b3JkICcnamFpJycuIEl0J3Mgb25lIG9m IHRob3NlIGNvb2wsIHNtYWxsIHdvcmRzIHdoaWNoIGFyZSBoYXJkIHRvIGdyYXNwLCBidXQgZWFz eSB0byB3b3JrIHdpdGggb25jZSB5b3Uga25vdyBpdC4gSXQgaGFzIHR3byBkaXN0aW5jdCwgYnV0 IHNpbWlsYXIgZnVuY3Rpb25zLiBCb3RoIGhhdmUgc29tZXRoaW5nIHRvIGRvIHdpdGggY29udmVy dGluZyB0aGUgc2VsYnJpLCBsaWtlICcnc2UnJyBkb2VzLgoKX18nJ2phaScnX18gU2VsYnJpIGNv bnZlcnNpb246IENvbnZlcnRzIHN1bXRjaXRhIG9yIHVuc3BlY2lmaWVkIGFic3RyYWN0aW9uIHRv IHgxLiBVc2Ugd2l0aCAnJ2ZhaScnCgpfXycnZmFpJydfXyBNYXJrcyBzdW10aSBwbGFjZS4gV29y a3MgbGlrZSAnJ2ZhJycuIFRvIGJlIHVzZWQgd2l0aCAnJ2phaScnLgoKVGhlIGZpcnN0IGdyYW1t YXRpY2FsIGNvbnN0cnVjdGlvbiBpdCBjYW4gbWFrZSBpcyAiJydqYWknJyB7c3VtdGNpdGF9IHtz ZWxicml9Ii4gSXQgY2hhbmdlcyB0aGUgc3VtdGkgcGxhY2VzIHN1Y2ggdGhhdCB0aGUgc3VtdGkg cGxhY2Ugb2YgdGhlIHN1bXRjaXRhIGJlY29tZXMgdGhlIHNlbGJyaSdzIHgxLCBhbmQgdGhlIHNl bGJyaSdzIG9sZCB4MSBpcyByZW1vdmVkLCBhbmQgb25seSBhY2Nlc3NpYmxlIGJ5IHVzaW5nICcn ZmFpJycsIHdoaWNoIHdvcmtzIGxpa2UgJydmYScnLiBZb3UgY2FuIHNlZSBpdCB3aXRoIHRoaXMg ZXhhbXBsZToKCl9fJydnYXUnJ19fIC0gc3VtdGNpdGEgKGZyb20gJydnYXNudScnKSDigJxicmlk aSBoYXMgYmVlbiBicm91Z2h0IGFib3V0IGJ5L3dpdGggYWN0aXZlIGFnZW50IHtzdW10aX3igJ0K CicnZG8gamFpIGdhdSBqdW5kaSB0aSBmYWkgbWknJy4gLSDigJxZb3UgYnJpbmcgYWJvdXQgYXR0 ZW50aW9uIHRvIHRoaXMgYnkgbWXigJ0uIFRoZSBuZXcgc2VsYnJpLCAnJ2phaSBnYXUganVuZGkn JywgaGFzIHRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2Yg4oCceDEgYnJpbmdzIGFib3V0IGF0dGVudGlv biBwYWlkIHRvIHgy4oCdLiBUaGVzZSBhcmUgdGhlbiBmaWxsZWQgYnkgJydkbycnIGFuZCAnJ3Rp JycuIFRoZSAnJ2ZhaScnIHRoZW4gbWFya3MgdGhlIHBsYWNlIGZvciB0aGUgb2xkIHgxLCB0aGUg b25lIHdobyB3YXMgcGF5aW5nIGF0dGVudGlvbiwgYW5kIGl0IGlzIGZpbGxlZCB3aXRoICcnbWkn Jy4gVGhpcyB3b3JkIGNhbiBiZSB2ZXJ5IGNvbnZlbmllbnQgYW5kIGhhcyB0b25zIG9mIHVzZXMu IEEgZ29vZCBleGFtcGxlIGlzIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGkuIE9uZSBjYW4sIGZvciBp bnN0YW5jZSwgcmVmZXIgdG8g4oCcdGhlIG1ldGhvZCBvZiB2b2xpdGlvbmFsIGFjdGlvbuKAnSBi eSAnJ2xvIGphaSB0YSdpIHp1a3RlJycuCgpfXycndGEnaScnX186IHN1bXRjaXRhIChmcm9tICcn dGFkamknJykg4oCcQnJpZGkgaXMgZG9uZSB3aXRoIHRoZSBtZXRob2Qgb2Yge3N1bXRpfeKAnQoK Q2FuIHlvdSBkZWR1Y2Ugd2hhdCB0aGUgb3JkaW5hcnkgTG9qYmFuIHBocmFzZSAnJ2RvIGphaSBn YXUgbW8nJyBtZWFucz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxXaGF0IGFyZSB5b3UgZG9p bmc/4oCdfn4KCgoKVGhlIG90aGVyIGZ1bmN0aW9uIG9mICcnamFpJycgaXMgZWFzaWVyIHRvIGV4 cGxhaW4uIEl0IHNpbXBseSBjb252ZXJ0cyB0aGUgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgc3VtdGkg aW4gdGhlIHgxIGdldHMgYSAnJ3R1J2EnJyBpbiBmcm9udCBvZiBpdCAoJydrbydhIGphaSBicm9k YScnIF9fPV9fICcndHUnYSBrbydhIGJyb2RhJycpLiBJbiBvdGhlciB3b3JkcywgaXQgY29udmVy dHMgdGhlIHNlbGJyaSBpbiBhIHdheSBzdWNoIHRoYXQgaXQgYnVpbGRzIGFuIGVsbGlwdGljYWwg YWJzdHJhY3Rpb24gZnJvbSB0aGUgc3VtdGkgaW4gdGhlIHgxLCBhbmQgdGhlbiBmaWxscyB4MSB3 aXRoIHRoZSBhYnN0cmFjdGlvbiBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgc3VtdGkuIEFnYWluLCB0 aGUgb3JpZ2luYWwgc3VtdGkgcGxhY2UgaXMgYWNjZXNzaWJsZSBieSAnJ2ZhaScnLgoKQSB2ZXJ5 IGFjdGl2ZSBMb2piYW4gSVJDLXVzZXIgb2Z0ZW4gc2F5cyAnJ2xlIGdlcmt1IHBlIGRvIGphaSBz ZSBzdGlkaSBtaScnLCB0byB1c2UgYSByYW5kb20gZXhhbXBsZSBvZiBhIHN1bXRpIGluIHgxLiBX aGF0J3MgaGUgc2F5PwoKX18nJ3N0aWRpJydfXyB4MSBpbnNwaXJlcy9zdWdnZXN0cyB4MiBpbi90 byB4M+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc3VnZ2VzdCAoc29tZXRoaW5nIGFi b3V0KSB5b3VyIGRvZy7igJ1+fgoKCgpTbyBmYXIgeW91J3ZlIGxlYXJuZWQgaG93IHRvIGNvbnZl cnQgYnJpZGkgdG8gc2VsYnJpLCBzZWxicmkgdG8gc3VtdGksIGFuZCBzZWxicmkgaW50byBicmlk aSwgc2luY2UgYWxsIHNlbGJyaSBieSB0aGVtc2VsdmVzIGFyZSBhbHNvIGJyaWRpLiBZb3Ugb25s eSBuZWVkIG9uZSBsYXN0IGZ1bmN0aW9uOiBjb252ZXJ0IHN1bXRpIHRvIHNlbGJyaS4gVGhpcyBp cyBkb25lIHdpdGggdGhlIHdvcmQgJydtZScnLiBJdCBhY2NlcHRzIGEgc3VtdGkgYW5kIGNvbnZl cnRzIGl0IGludG8gYSBzZWxicmkuCgpfXycnbWUnJ19fOiBHZW5lcmljIGNvbnZlcnQgc3VtdGkg dG8gc2VsYnJpLiB4MSBpcy9hcmUgYW1vbmcgdGhlIHJlZmVyZW50cyBvZiBTVU1USQoKCgpXaGVu IHNjcmV3aW5nIGEgc2VudGVuY2UgdXAsIGtub3dpbmcgaG93IHRvIGNvcnJlY3QgeW91cnNlbGYg aXMgYSBnb29kIGlkZWEuIFRoZXJlIGFyZSB0aHJlZSB3b3JkcyBpbiBMb2piYW4gd2hpY2ggeW91 IGNhbiB1c2UgdG8gZGVsZXRlIHlvdXIgcHJldmlvdXMgd29yZChzKQoKX18nJ3NpJydfXyAtIGRl bGV0aW9uOiBEZWxldGVzIGxhc3Qgd29yZCBvbmx5LgoKX18nJ3NhJydfXyAtIGRlbGV0aW9uOiBE ZWxldGVzIGJhY2sgdW50aWwgbmV4dCBjbWF2byBzcG9rZW4uCgpfXycnc3UnJ19fIC0gZGVsZXRp b246IERlbGV0ZXMgZW50aXJlIGRpc2NvdXJzZS4KClRoZSBmdW5jdGlvbiBvZiB0aGVzZSB3b3Jk cyBhcmUgb2J2aW91czogVGhleSBkZWxldGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJl ZW4gc3Bva2VuLiBUaGV5IGRvIG5vdCB3b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1 b3RlcyBleGNlcHQgJydsdS4ubGkndScnKSwgdGhvdWdoLCBhcyB0aGF0IHdvdWxkIGxlYXZlIGl0 IGltcG9zc2libGUgdG8gcXVvdGUgdGhlc2Ugd29yZHMuIFNldmVyYWwgJydzaScnIGluIGEgcm93 IGRlbGV0ZXMgc2V2ZXJhbCB3b3Jkcy4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVp Z2h0ZWVuIChxdW90ZXMpCgpPbmUgb2YgdGhlIGtleSBkZXNpZ24gZmVhdHVyZXMgb2YgTG9qYmFu IGlzIHRoYXQgaXQncyBzdXBwb3NlZCB0byBiZSBhdWRpby12aXN1YWwgaXNvbW9ycGhpYywgbWVh bmluZyB0aGF0IGV2ZXJ5dGhpbmcgZXhwcmVzc2VkIGluIHRleHQgc2hvdWxkIGFsc28gYmUgZXhw cmVzc2VkIGluIHNwZWVjaCBhbmQgdmljZSB2ZXJzYS4gVGhlcmVmb3JlLCB0aGVyZSBjYW5ub3Qg YmUgYW55IHB1bmN0dWF0aW9uIHdoaWNoIGlzIG5vdCBwcm9ub3VuY2VkLiBUaGlzIG1lYW5zIHRo YXQgTG9qYmFuIGhhcyBhIHdpZGUgcmFuZ2Ugb2Ygd29yZHMgdG8gcXVvdGUgb3RoZXIgd29yZHMu IEFsbCBMb2piYW4gcXVvdGVzIHRha2Ugc29tZSBpbnB1dCBvZiB0ZXh0IGFuZCBjb252ZXJ0cyBp dCB0byBhIHN1bXRpLiBMZXQncyBiZWdpbiB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoKX18nJ2x1 JydfXyBRdW90ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVu dAoKX18nJ2xpJ3UnJ19fIFF1b3RlIHdvcmQ6IEVuZCBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2pi YW4gY29udGVudAoKCgpUaGUgdGV4dCBpbnNpZGUgdGhpcyBjb25zdHJ1Y3QgbXVzdCBieSBpdHNl bGYgYmUgZ3JhbW1hdGljYWwuIEl0IGNhbiBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIHdpdGggc29t ZSBmZXcgZXhjZXB0aW9ucywgbW9zdCBub3RhYmx5LCBvYnZpb3VzbHksICcnbGkndScnLgoKCgpU cnkgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UuIFRha2UgeW91ciB0aW1lLgoK JydtaSBzdGlkaSBsbyBkcmF0YSBiZSB0dSdhIGx1IGtvIGphaSBnYXUgbW8gbGkndScnCgpfXycn ZHJhdGEnJ19fIHgxIGlzIGRpZmZlcmVudCBmcm9tIHgyIGJ5IHN0YW5kYXJkCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcSSBzdWdnZXN0IHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBzb21ldGhp bmcgYWJvdXQg4oCca28gamFpIGdhdSBtb+KAnS7igJ1+fgoKCgpUaGVzZSBxdW90ZSB3b3JkcyBj YW5ub3QgcXVvdGUgdW5ncmFtbWF0aWNhbCB0ZXh0LiBUaGlzIGlzIHNvbWV0aW1lcyB1c2VmdWws IHdoZW4geW91IHdhbnQgdG8gb25seSBwaWNrIG91dCBwYXJ0IG9mIGEgc2VudGVuY2UsIGFzIGlu OiDigJwgaXMg4oCcZ2knZeKAnSBhIExvamJhbiBzdW10Y2l0YT/igJ0KCgoKRm9yIHRoaXMsIHlv dSBuZWVkIHRoZXNlIHR3byBjbWF2bwoKX18nJ2xvJ3UnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1 b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgpfXycnbGUndScnX18gUXVv dGUgd29yZDogRW5kIHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgoK ClRoZSB0ZXh0IGluc2lkZSBtdXN0IGJlIExvamJhbiB3b3JkcywgYnV0IG5lZWQgbm90IGJlIGdy YW1tYXRpY2FsLiBUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBleGFtcGxlICh0aGUgb25lIHdp dGggJydnaSdlJycpIGludG8gTG9qYmFuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsbyd1 IGdpJ2UgbGUndSBsb2pibyBzdW10Y2l0YScnfn4KCgoKVGhpcyBxdW90ZSBjYW4gYmUgdXNlZCB0 byBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIGV4Y2VwdCAnJ2xlJ3UnJy4gSG93ZXZlciwgdGhpcyBp cyBub3QgZW5vdWdoLiBJZiB3ZSB3YW50IHRvIHRyYW5zbGF0ZSDigJxpcyDigJ1kbyBtb+KAnSBh IGNvcnJlY3QgdHJhbnNsYXRpb24gb2Yg4oCcV2hhdCdzIHVwP+KAneKAnSwgd2UgbWlnaHQgYmUg c2xpZ2h0bHkgd3JvbmcgYWJvdXQgd2hhdCB3ZSBoZXJlIHN0YXRlLCBzaW5jZSAnJ2RvIG1vJycg YWxzbyBjYW4gbWVhbiDigJxXaGF0IGFyZSB5b3U/4oCdLCBidXQgbGV0J3Mgcm9sbCB3aXRoIGl0 IGZvciBhIHNlY29uZC4gV2hhdCB3ZSBuZWVkIGhlcmUgaXMgdGhlIHdvcmQgJyd6b2knJy4KCgoK Jyd6b2knJyBOZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBh bGwtcHVycG9zZSBxdW90ZS4KCgoKV2hlbiB1c2luZyAnJ3pvaScnLCB5b3UgcGljayBhbnkgbW9y cGhvbG9naWNhbGx5IGNvcnJlY3QgbG9qYmFuIHdvcmQgYXQgd2lsbCAoY2FsbGVkIHRoZSBkZWxp bWl0ZXIpLCB3aGljaCB0aGVuIG9wZW5zIGEgcXVvdGUuIFRvIGNsb3NlIGl0LCB1c2UgdGhhdCB3 b3JkIGFnYWluLiBUaGlzIHdheSwgeW91IGNhbiBxdW90ZSBhbnl0aGluZyBleGNlcHQgdGhlIGRl bGltaXRlciwgd2hpY2ggc2hvdWxkbid0IGJlIGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gcGlj ayBpdCB5b3Vyc2VsZi4gVXN1YWxseSwgdGhlIHdvcmQgcGlja2VkIGlzIGVpdGhlciAnJ3pvaScn IGl0c2VsZiwgb3IgYSBsZXR0ZXIgd2hpY2ggc3RhbmRzIGZvciB0aGUgbGFuZ3VhZ2Ugd2hpY2gg dGhlIHF1b3RlIGlzIHdyaXR0ZW4gaW4uIEV4YW1wbGU6IOKAnEkgbGlrZWQgVGhlIFBoYW50b20g b2YgdGhlIE9wZXJh4oCdIGlzICcnbWkgcHUgbmVsY2kgbGEnZSB6b2kgem9pLiBUaGUgUGhhbnRv bSBvZiB0aGUgT3BlcmEgLnpvaScnIE5vdGljZSB0d28gdGhpbmdzOiBGaXJzdGx5LCBJIG5lZWQg YSAnJ2xhJ2UnJywgc2luY2UgSSBkaWRuJ3QgbGlrZSB0aGUgcXVvdGUsIGJ1dCByYXRoZXIgd2hh dCBpdCByZWZlcnJlZCB0by4gU2Vjb25kbHksIGJldHdlZW4gdGhlIGNob3NlbiBkZWxpbWl0ZXIg YW5kIHRoZSBxdW90ZSwgdGhlcmUgYXJlIHBhdXNlcywgb3B0aW9uYWxseSByZXByZXNlbnRlZCBi eSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5nLiBUaGlzIHBhdXNlIGlzIG5lY2Vzc2FyeSB0byBjb3Jy ZWN0bHkgaWRlbnRpZnkgdGhlIGRlbGltaXRlci4KCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJv dmUgc2VudGVuY2UgY29uY2VybmluZyDigJxXaGF0J3MgdXA/4oCdCgoKCl9fJydkcmFuaScnX18g eDEgaXMgY29ycmVjdC9wcm9wZXIgaW4gYXNwZWN0IHgyIGluIHNpdHVhdGlvbiB4MyBieSBzdGFu ZGFyZCB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicneHUgbHUgZG8gbW8gbGkndSBkcmFuaSB4 ZSBmYW52YSB6b2kgZ3kuIFdoYXQncyB1cD8gLmd5JycuIEhlcmUgdGhlIGRlbGltaXRlciAnJ2d5 JycgaXMgY2hvc2VuIGJlY2F1c2UgaXQncyBzaG9ydCBmb3IgJydnbGljbycnLCBtZWFuaW5nICJF bmdsaXNoIn5+CgoKCkNsb3NlbHkgYW5hbG9nb3VzbHksIHRoZXJlIGlzICcnbGEnbycnLiBJdCB3 b3JrcyBleGFjdGx5IGxpa2UgJyd6b2knJywgYnV0IHR1cm5zIHRoZSByZXN1bHRpbmcgcXVvdGUg aW50byBhIG5hbWUuIEl0IGlzIG5lZWRlZCBiZWNhdXNlIG5vcm1hbGx5LCBvbmx5IHNlbGJyaSBh bmQgY21ldmxhIGNhbiBiZSBuYW1lcywgbm90IHF1b3Rlcy4KCl9fJydsYSdvJydfXyBOZXh0IGNt YXZvIGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90 ZSDigJMgdXNlIGFzIG5hbWUuCgoKCkxhc3Qgb2YgdGhlIG9mZmljaWFsIHF1b3RlIHdvcmRzLCB0 aGVyZSBpcyAnJ3pvJycuICcnem8nJyBhbHdheXMgcXVvdGVzIHRoZSBuZXh0IExvamJhbiB3b3Jk LCBubyBtYXR0ZXIgd2hhdCBpdCBpcy4gSXQncyBwcmV0dHkgaGFuZHkuCgonJ3pvJycgUXVvdGUg bmV4dCBMb2piYW4gd29yZCwgbm8gbWF0dGVyIHdoYXQuCgpFeGFtcGxlOiAnJ3pvIHpvIHpvJ28g cGxpeGF1JycgPSDigJwg4oCcem/igJ0gaXMgdXNlZnVsLCBoZWhl4oCdCgpfXycnem8nbycnX18g YXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IEh1bW9yb3VzbHksIOKAnGtpZGRpbmcgeW914oCdCgpf XycncGxpeGF1JydfXyB4MSBpcyB1c2VmdWwgZm9yIHgyIHRvIGRvIHB1cnBvc2UgeDMKCgoKTG9q YmFuIHVzZXJzIGhhdmUgZm91bmQgaXQgdXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0aCBmb3VyIGFk ZGl0aW9uYWwgcXVvdGUgd29yZHMuIFRoZXkgYXJlIGFsbCBleHBlcmltZW50YWwsIGFuZCB0aGUg Zm9ybWFsIGdyYW1tYXIgZG9lcyBub3Qgc3VwcG9ydCBpdC4gTm9uZXRoZWxlc3MsIHRoZXkgYXJl IHVzZWQgb2Z0ZW4sIGFuZCBpdCdzIGdvb2QgdG8gYmUgYWJsZSB0byByZWNvZ25pemUgdGhlbS4g VGhlIG1vc3QgdXNlZCBpczoKCgoKX18nJ3pvJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seS4g TmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNl IGluIHdyaXRpbmc6CgoKCkV4YW1wbGU6ICcncmkgcHUgY3Vza3Ugem8nb2kgRG9oISAudSdpJycg 4oCcSGEgaGEsIGhlIHNhaWQg4oCcRG9oIeKAnSDigJwKCgoKSXQncyB2ZXJ5IGVhc3kgdG8gdXNl LiBBZ2Fpbiwgbm90ZSB0aGF0IGFsbCBncmFtbWFyIGJvdHMgd2lsbCBjb25zaWRlciB0aGUgc2Vu dGVuY2Ugbm90IGdyYW1tYXRpY2FsLCBiZWNhdXNlIHRoZXNlIHdvcmRzIGRvIG5vdCBleGlzdCBp biB0aGUgZm9ybWFsIGdyYW1tYXIuCgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5kICcnbGEn bycnLCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGEnb2knJywgd2hpY2ggd29ya3MganVzdCBs aWtlICcnem8nb2knJywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMgYSBuYW1lOgoKX18nJ2xhJ29p JydfXyBRdW90ZSBuZXh0IHdvcmQgb25seSwgdXNlIGFzIG5hbWUuIE5leHQgd29yZCBpcyBpZGVu dGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgoKCgpI b3cgd291bGQgeW91IHNheTog4oCcTXkgRW5nbGlzaCBuYW1lIGlzIOKAnFNhZmnigJ3igJ0/Cgpf XycnZ2xpY28nJ19fIHgxIGlzIEVuZ2xpc2gvcGVydGFpbnMgdG8gRW5nbGlzaCBjdWx0dXJlIGlu IGFzcGVjdCB4MgoKX18nJ2NtZW5lJydfXyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBhcyB1c2VkIGJ5 IHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGljbyBzZSBjbWVuZSBsYSdvaSBTYWZp JycuIE5vdGljZSB0aGUgbmVjZXNzYXJ5IHNlLiBXZSBkb24ndCB3aGF0IHRvIHNheSB0aGF0IHdl J3JlIGEgbmFtZSF+fgoKCgpUaGlyZGx5LCAnJ3JhJ29pJycgcXVvdGVzIHRoZSBuZXh0IHJhZnNp LiBTaW5jZSByYWZzaSBhcmUgbm90IHdvcmRzLCB0aGV5IHdvdWxkIHVzdWFsbHkgaGF2ZSB0byBi ZSBxdW90ZWQgYnkgJyd6b2knJy4gRnVydGhlcm1vcmUsIHNldmVyYWwgcmFmc2kgYXJlIGFsc28g Y21hdm8uIFRvIGF2b2lkIGNvbmZ1c2lvbiBvZiB3aGljaCBpcyBtZWFudCwgJydyYSdvaScnIGFs d2F5cyByZWZlciB0byBhIHJhZnNpLCBhbmQgaXMgd3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQg c3RyaW5nIHdoaWNoIGFyZSBub3QgcmFmc2kuCgoKCldoYXQgZG9lcyAnJ3JhJ29pIHp1J2UgcmFm c2kgem8genVrdGUgLmlrdSdpIHpvJ29pIHp1J2Ugc3VtdGNpdGEnJyBtZWFuPwoKX18nJ2t1J2kn J19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBIb3dldmVyIC8gdGhvdWdoIChjb250cmFzdHMg dG8gc29tZXRoaW5nIHByZXZpb3VzbHkgc2FpZCkKCl9fJydyYWZzaScnX18geDEgYW4gYWZmaXgg Zm9yIHdvcmQvY29uY2VwdCB4MiB3aXRoIHByb3BlcnRpZXMvb2YgZm9ybSB4MyBpbiBsYW5ndWFn ZSB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoZSByYWZzaSDigJx6dSdl4oCdIGlzIGEg cmFmc2kgZm9yIOKAnHp1a3Rl4oCdLiBCdXQg4oCcenUnZeKAnSBpcyBhIHN1bXRjaXRh4oCdfn4K CgoKQW5kIGZpbmFsbHkgdGhlIHVzZWZ1bCB3b3JkICcnbWEnb2knJy4gJydtYSdvaScnIHF1b3Rl cyBhbnkgY21hdm8sIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQg Y2xhc3MgKHNlbG1hJ28pIHRvIHdoaWNoIHRoYXQgd29yZCBiZWxvbmdzLiBTbywgZm9yIGluc3Rh bmNlLCBiYSdvIGJlbG9uZ3MgdG8gdGhlIHdvcmRjbGFzcyBjYWxsZWQgWkFoTywgc28gJydtYSdv aSBiYSdvJycgaXMgdW5vZmZpY2lhbCBMb2piYW4gZm9yIOKAnFphaE/igJ0KCgoKVHJ5IGl0IG91 dC4gU2F5IHRoYXQgJydwdScnIGFuZCAnJ2JhJycgYXJlIGluIHRoZSBzYW1lIHNlbG1hJ28hCgpf XycnY21hdm8nJ19fIHgxIGlzIGEgZ3JhbW1hdGljYWwgd29yZCBvZiBjbGFzcyB4MiBpbiBsYW5n dWFnZSB4MwoKCgooT25lIHBvc3NpYmxlKSBBbnN3ZXI6ICB+fmdyZXksZ3JleTonJ3pvIHB1IGNt YXZvIG1hJ29pIGJhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZXRlZW4g KG51bWJlcnMpCgpXaGVuIGxlYXJuaW5nIGEgbGFuZ3VhZ2UsIG9uZSBvZiB0aGUgdGhpbmdzIHdo aWNoIGFyZSB1c3VhbGx5IHRhdWdodCB2ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0byBjb3VudC4gVGhp cyByZWFsbHkgbWFrZXMgbGl0dGxlIHNlbnNlLCBiZWNhdXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0 byBrbm93IG51bWJlcnMgaWYgeW91IGRvbid0IGtub3cgaG93IHRvIHNwZWFrIGFib3V0IHRob3Nl IHRoaW5ncyB0byB3aGljaCB0aGV5IGFwcGx5LiBUaGlzIGlzIHBhcnRseSB0aGUgcmVhc29uIHdo eSBJIGhhdmUgbGVmdCBpdCBmb3IgbGVzc29uIG51bWJlciBuaW5ldGVlbi4gVGhlIG90aGVyIHJl YXNvbiBpcyB0aGF0IHdoaWxlIHRoZSBudW1iZXJzIHRoZW1zZWx2ZXMgYXJlIGVhc3kgdG8gbGVh cm4sIGhvdyB0aGV5IGFwcGx5IHRvIHN1bXRpIGNhbiBnZXQgdmVyeSBjb25mdXNpbmcgaW5kZWVk LiBUaGF0LCBob3dldmVyLCB3ZSB3aWxsIHNhdmUgZm9yIGEgbGF0ZXIgbGVzc29uLgoKQmVmb3Jl IGxlYXJuaW5nIHRoZSB3b3JkcyB0aGVtc2VsdmVzLCB5b3Ugc2hvdWxkIGtub3cgdGhhdCBudW1i ZXJzIGRvIG5vdCBoYXZlIGFueSBpbnRlcm5hbCBncmFtbWFyLiBUaGlzIG1lYW5zIHRoYXQgYW55 IHJvdyBvZiBudW1iZXIgd29yZHMgKGhlbmNlZm9ydGggcmVmZXJyZWQgdG8gYXMgYSAibnVtYmVy IHN0cmluZyIpIGFyZSB0cmVhdGVkIGlkZW50aWNhbGx5IHRvIGFueSBvdGhlciBudW1iZXIgc3Ry aW5nIHRvIHRoZSBMb2piYW4gZ3JhbW1hciwgZXZlbiBpZiB0aGUgc3RyaW5nIG1ha2VzIG5vIHNl bnNlLiBUaGVyZWZvcmUsIG9uZSBjYW4gbmV2ZXIgYW5zd2VyIHVuYW1iaWd1b3VzbHkgd2hldGhl ciBhIG51bWJlciBjb25zdHJ1Y3QgbWFrZXMgc2Vuc2Ugb3Igbm90LiBUaGVyZSBhcmUsIGhvd2V2 ZXIsIGludGVuZGVkIHdheXMgb2YgdXNpbmcgdGhlIG51bWJlciB3b3JkcywgYW5kIGNvbmZ1c2lv biB3aWxsIHByb2JhYmx5IHJlc3VsdCBpZiB5b3UgZGV2aWF0ZSBmcm9tIHRoZSBzdGFuZGFyZC4K CkxlYXJuaW5nIGFsbCB0aGUgbnVtYmVyIHdvcmRzIG9mIExvamJhbiBhcmUgd2F5IGJleW9uZCB0 aGUgc2NvcGUgb2YgdGhpcyBsZXNzb24sIHNvIHlvdSB3aWxsIG9ubHkgYmUgaW50cm9kdWNlZCB0 byB3aGF0IGlzIG5vcm1hbGx5IHVzZWQgaW4gdGV4dC4gVGhlIHdpZGUgcmFuZ2Ugb2YgTG9qYmFu IG1hdGhlbWF0aWNhbCBjbWF2byBhcmUgY2FsbGVkICcnbWVrc28nJyAoTG9qYmFuIGZvciAibWF0 aGVtYXRpY2FsIGV4cHJlc3Npb24iKSwgYW5kIGlzIHdpZGVseSBkaXNyZWdhcmRlZCBiZWNhdXNl IG9mIGl0cyBjb21wbGV4aXR5IGFuZCBxdWVzdGlvbmFibGUgYWR2YW50YWdlIG92ZXIgc28tY2Fs bGVkIGJyaWRpIG1hdGguCgpMZXQncyBiZWdpbiB3aXRoIHRoZSBvcmRpbmFyeSBMb2piYW4gbnVt YmVycywgZnJvbSB6ZXJvIHRvIG5pbmU6Cgp8fHplcm98b25lfHR3b3x0aHJlZXxmb3VyfGZpdmV8 c2l4fHNldmVufGVpZ2h0fG5pbmUKCm5vfHBhfHJlfGNpfHZvfG11fHhhfHplfGJpfHNvfHwKCk5v dGljZSBob3cgdGhlIHZvd2VscyBhcmUgYWx0ZXJuYXRpbmcgKHdpdGggdGhlIGV4Y2VwdGlvbiBv ZiAnJ25vJycpLCBhbmQgaG93IG5vIGNvbnNvbmFudCBpcyB1c2VkIGZvciB0d28gZGlnaXRzLgoK SW4gb3JkZXIgdG8gZXhwcmVzcyBudW1iZXJzIGhpZ2hlciB0aGFuIG5pbmUsIHRoZSBudW1iZXJz IGFyZSBqdXN0IHN0cnVuZyB0b2dldGhlcjoKCicndm8gbXUgY2knJyDigJMgZm91ciBodW5kcmVk IGFuZCBmaWZ0eSB0aHJlZSAoNDUzKQoKJydwYSBubyBubyBubyBubycnIHRlbiB0aG91c2FuZCAo MTAgMDAwKQoKVGhlcmUgaXMgYWxzbyBhIOKAnHF1ZXN0aW9uLWRpZ2l04oCdLCB3aGljaCBpcyB1 c2VkIGxpa2Ugb3RoZXIgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb24gd29yZHMuIEl0J3MgJyd4 bycnLiBUaGUgYW5zd2VyIHRvIHN1Y2ggYSBxdWVzdGlvbiBtYXkgYmUganVzdCB0aGUgcmVsZXZh bnQgZGlnaXQocykgYnkgaXRzZWxmLCBvciB0aGV5IGNhbiBiZSBudW1lcmljYWwgY29uc3RydWN0 cywgYXMgc2hvd24gbGF0ZXIuCgonJ2NpIHhvIHhvIHhvJycg4oCTICJUaHJlZSB0aG91c2FuZCBh bmQgaG93IG1hbnk/IiAoMz8/PykKCl9fJyd4bycnX18gcXVlc3Rpb24gZGlnaXQg4oCTIHVzZSBs aWtlIGFueSBvdGhlciBkaWdpdCB0byBhc2sgZm9yIHRoZSBjb3JyZWN0IGRpZ2l0LgoKVGhlIGV4 cGVyaW1lbnRhbCB3b3JkICcneG8nZScnIGlzIHNvbWV0aW1lcyB1c2VkIHRvIG1lYW4gYW4gdW5z cGVjaWZpZWQsIGVsbGlwdGljYWwgZGlnaXQuIEl0cyBkZWZpbml0aW9uIGlzIG5vdCBvZmZpY2lh bCwgdGhvdWdoLgoKJydjaSB4bydlIHhvJ2UgeG8nZScnIOKAkyBUaHJlZSB0aG91c2FuZCBhbmQg c29tZXRoaW5nCgpfXycneG8nZScnX18gZWxsaXB0aWNhbCBkaWdpdC4KClNpbmNlIGFsbCBudW1i ZXIgc3RyaW5ncyBhcmUgdHJlYXRlZCBncmFtbWF0aWNhbGx5IHRoZSBzYW1lLCBvbmUgbWlnaHQg YWxzbyBhbnN3ZXIgc2V2ZXJhbCBkaWdpdHMgdG8gb25lICcneG8nZScnCgoKCkZ1cnRoZXJtb3Jl LCB0aGVyZSBpcyBhbHNvIGEgc2V0IG9mIGhleGFkZWNpbWFsIGRpZ2l0cyBBIHRocm91Z2ggRi4g QnkgZGVmYXVsdCwgTG9qYmFuIG9wZXJhdGVzIGluIGJhc2UgMTAsIGJ1dCB3aGVuIHVzaW5nIGhl eGFkZWNpbWFsIGRpZ2l0cywgaXQgY2FuIGJlIHNhZmVseSBhc3N1bWVkIHRoYXQgeW91IHVzZSBi YXNlIHNpeHRlZW46Cgp8fGRhdXxmZWl8Z2FpfGphdXxyZWl8eGVpIHx2YWl8CgoxMChBKXwxMShC KXwxMihDKXwxMyhEKXwxNChFKXwxNChFKXwxNShGKXx8CgpZZXMsIEkga25vdyB0aGVyZSBhcmUg dHdvIHdvcmRzIGZvciBFLiBUaGUgb2ZmaWNpYWwgb25lIGlzICcncmVpJycgKGFsbCB0aHJlZS1s ZXR0ZXIgY21hdm8gYmVnaW5uaW5nIHdpdGggeCBpcyBleHBlcmltZW50YWwpLiAnJ3hlaScnIHdh cyBpbnZlbnRlZCB0byBhdm9pZCBjb25mdXNpb24gd2l0aCAnJ3JlJycuCgpUaGUgYmFzZSBjYW4g YmUgZXhwbGljaXRseSBzdGF0ZWQgdXNpbmcgJydqdSd1Jyc6IEFueSBudW1iZXIgYmVmb3JlICcn anUndScnIHRoZSBudW1iZXIgYmVpbmcgc3Bva2VuIG9mLCBhbnkgbnVtYmVyIGFmdGVyIGlzIHRo ZSBiYXNlIG9mIHRoZSBudW1iZXI6CgonJ2RhdSBzbyBmZWkgbm8ganUndSBwYSByZScnIOKAkyBB OUIwIGluIGJhc2UgMTIgKG5vdGljZSBoZXJlIHRoYXQgYmFzZSAxMiBpcyBhbHdheXMgaW4gZGVj aW1hbC4gSXQgaXMgcG9zc2libGUgdG8gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBiYXNlIHlvdSBz cGVhayBpbiwgYnV0IHNpbmNlIGl0IGhhcyBuZXZlciBiZWVuIHVzZWQgaW4gcHJhY3RpY2UsIGl0 IGhhcyBub3QgYmVlbiBzdGFuZGFyZGl6ZWQgaG93IG9uZSBzaG91bGQgZG8gaXQpCgpGcmFjdGlv bnMgYXJlIGFsc28gdXNlZnVsIHRvIGxlYXJuIGhvdyB0byBleHByZXNzLiBUaGV5IGFyZSB1c3Vh bGx5IGV4cHJlc3NlZCB2aWEgYSBkZWNpbWFsIHBvaW50LCAnJ3BpJycuCgpfXycncGknJ19fIERl Y2ltYWwgcG9pbnQgKG9yIHBvaW50IGluIHdoaWNoZXZlciBiYXNlIHlvdSBhcmUgdGFsa2luZyBp bikKCicncGEgcmUgcGkgcmUgbXUnJyDigJMgdHdlbHZlIHBvaW50IHR3byBmaXZlICgxMi4yNSku IAoKTGlrZSBpbiBtYXRoZW1hdGljcywgd2hlbiBubyBudW1iZXIgc3RyaW5nIGlzIHBsYWNlZCBi ZWZvcmUgb3IgYWZ0ZXIgJydwaScnLCB6ZXJvIGlzIGFzc3VtZWQuIAoKUmVsYXRlZCB0byB0aGlz LCB0aGUgbnVtYmVyIHNlcGFyYXRvciAnJ3BpJ2UnJyBpcyB1c2VkIHRvIHNlcGFyYXRlIG51bWJl cnMsIGVpdGhlciB0byBzZXBhcmF0ZSBkaWdpdHMgd2hlbiBzcGVha2luZyBpbiBhIGJhc2UgbGFy Z2VyIHRoYW4gc2l4dGVlbiwgb3Igd2hlbiBhIGRlY2ltYWwgcG9pbnQgaXMgbm90IGFwcGxpY2Fi bGUsIGZvciBpbnN0YW5jZSwgd2hlbiB0YWxraW5nIGFib3V0IHRpbWUgaW4gaG91cnMsIG1pbnV0 ZXMsIHNlY29uZHM6CgonJ3BhIHNvIHBpJ2UgcmUgbXUgcGknZSBubyBqdSd1IHJlIHplJycg4oCT IE5pbmV0ZWVuLCB0d2VudHktZml2ZSwgemVybyBpbiBiYXNlIDI3IChKUDAgYmFzZSAyNykKCicn cmUgcmUgcGknZSB2byBiaScnIOKAkyB0d2VudHktdHdvLCBmb3VydHkgZWlnaHQgKDIyOjQ4KQoK CgpUaGVyZSBpcyBhbHNvIGEgcmFuZ2Ugb2YgbnVtYmVyIHdvcmRzIHdoaWNoIGFyZSBub3QgbWF0 aGVtYXRpY2FsbHkgZXhhY3QgYnV0IHJhdGhlciBzdWJqZWN0aXZlIG9yIHJlbGF0aXZlLiBUaGUg YmVoYXZpb3JzIG9mIHRoZXNlIHdvcmRzIGFyZSBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBiZWhh dmlvciBvZiBkaWdpdHMsIGV4Y2VwdCB0aGV5IGNhbm5vdCBiZSBjb21iaW5lZCB0byBtYWtlIGJp Z2dlciBudW1iZXJzIHRoZSB3YXkgZGlnaXRzIGNhbjoKCnx8IHJvfHNvJ2F8c28nZXxzbydpfHNv J298c28ndXwKCmFsbHxhbG1vc3QgYWxsfG1vc3R8bWFueXxzb21lfGZld3x8CgpXaGVuIGNvbWJp bmVkIHdpdGggYW55IG9mIHRoZSBkaWdpdHMsIHRoZXNlIHdvcmRzIGFyZSBhc3N1bWVkIHRvIGdp dmUgYSBzZWNvbmQgdmVyZGljdCBhYm91dCB0aGUgc2l6ZSBvZiB0aGUgbnVtYmVyOgoKJydtdSBi aSBzbydpIHNhaScnIOKAk0ZpZnR5IGVpZ2h0LCB3aGljaCBpcyByZWFsbHkgbWFueS4KClRoZXkg c2hvdWxkIHRoZXJlZm9yZSBub3QgYmUgcGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgYSBudW1iZXIg c3RyaW5nLiBXaGVuIHBsYWNlZCBhZnRlciAnJ3BpJycsIHRoZXkgYXJlIGFzc3VtZWQgdG8gY29u dmV5IHRoZSBzaXplIG9mIGEgZnJhY3Rpb246CgonJ3BpIHNvJ3UnJyDigJMgYSBzbWFsbCBwYXJ0 IG9mIGl0CgonJ3BpIHNvJ28nJyDigJMgc29tZSBvZiBpdCAKCicncGkgc28naScnIOKAkyBhIGxh cmdlIHBhcnQgb2YgaXQgCgonJ3BpIHNvJ2UnJyDigJMgbW9zdCBvZiBpdAoKJydwaSBzbydhJycg 4oCTIGFsbW9zdCBhbGwgb2YgaXQKCgoKVGhlc2UgYXJlIHNvbWUgaGlnaHRseSBzdWJqZWN0aXZl IG51bWJlcnMgLSB0aGV5IHdvcmsganVzdCBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLgoKfHxkdSdl fG1vJ2F8cmF1Cgp0b28gbWFueXx0b28gZmV3fGVub3VnaHx8CgpUaGUgZm9sbG93aW5nIGZpdmUg YXJlIGNvbnRleHQtYmFzZWQgbnVtYmVycyDigJMgdGhlc2Ugd29yayBsaWtlIHRoZSBwcmV2aW91 cyBvbmVzLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGV5IHRha2UgdGhlIG5leHQgbnVtYmVy IGluIG9yZGVyIHRvIGFzc2lnbiB0aGVtIG1lYW5pbmc6Cgp8fGRhJ2F8c3UnZXxzdSdvfHphJ3V8 bWUnaQoKYWxsIGV4Y2VwdCBuIHxBdCBtb3N0IG58QXQgbGVhc3Qgbnxtb3JlIHRoYW4gbnxsZXNz IHRoYW4gbnx8CgpJZiBubyBudW1iZXIgc3RyaW5nIGZvbGxvdyB0aGVtLCDigJxvbmXigJ0gaXMg YXNzdW1lZC4KCicnc28naSBwYSByZSBkYSdhIG11Jycg4oCTIE1hbnksIHdoaWNoIGlzIHR3ZWx2 ZSwgd2hpY2ggaXMgYWxsIGJ1dCBmaXZlLgoKVGhlIHR3byBsYXN0IG51bWJlciB3b3JkcyB5b3Ug c2hvdWxkIGtub3cgaGF2ZSBzbGlnaHRseSBtb3JlIGNvbXBsaWNhdGVkIGdyYW1tYXI6CgpfXycn amknaScnX18gLSBudW1iZXIgcm91bmRpbmcgb3IgbnVtYmVyIGFwcHJveGltYXRpb24KCldoZW4g JydqaSdpJycgaXMgcGxhY2VkIGJlZm9yZSBhIG51bWJlciwgdGhlIGVudGlyZSBudW1iZXIgaXMg YXBwcm94aW1hdGVkOgoKJydqaSdpIHplIG5vIHphJ3UgcmF1IGp1J28nJyDigJMgIkFib3V0IHNl dmVudHksIHdoaWNoIGlzIG1vcmUgdGhhbiBlbm91Z2gsIGNlcnRhaW5seeKAnQoKUGxhY2VkIGlu IHRoZSBtaWRkbGUgb2YgdGhlIG51bWJlciwgb25seSB0aGUgZm9sbG93aW5nIGRpZ2l0cyBhcmUg bm9uLWV4YWN0LiBBdCB0aGUgZW5kIG9mIGEgbnVtYmVyLCBpdCBzaWduaWZpZXMgdGhhdCB0aGUg bnVtYmVyIGhhcyBiZWVuIHJvdW5kZWQgb2ZmLiAKCl9fJydraSdvJydfXyBOdW1iZXIgY29tbWEg IC0gc2VwYXJhdGVzIGRpZ2l0cyB3aXRoaW4gb25lIHN0cmluZzsgVGhvdXNhbmRzLgoKSXQgaXMg bm90IGluY2lkZW50aWFsIHRoYXQgJydraSdvJycgc291bmRzIGxpa2Ug4oCca2lsb+KAnS4gQXQg aXRzIHNpbXBsZXN0LCAnJ2tpJ28nJyBpcyB1c2VkIHRvIHNlcGFyYXRlIHRocmVlIGRpZ2l0cyBh dCBhIHRpbWUgaW4gbGFyZ2UgbnVtYmVycywgbXVjaCBsaWtlIGNvbW1hcyBhcmUgdXNlZCBpbiBF bmdsaXNoOgoKJydwYSBraSdvIHNvIHNvIHNvIGtpJ28gYmkgeGEgemUnJyDigJMgMSw5OTksODY3 CgpJZiBsZXNzIHRoYW4gdGhyZWUgZGlnaXRzIGFyZSBwdXQgYmVmb3JlIGEgJydraSdvJycsIHRo ZSBkaWdpdHMgYXJlIGFzc3VtZWQgdG8gYmUgdGhlIGxlYXN0IHNpZ25pZmljYW50IG9uZXMsIGFu ZCB6ZXJvcyBhcmUgYXNzdW1lZCB0byBmaWxsIGluIHRoZSByZXN0OgoKJyd2byBraSdvIGNpIGJp IGtpJ28gcGEga2knbyBraSdvJycg4oCTIDQsMDM4LDAwMSwwMDAsMDAwCgonJ2tpJ28nJyBpcyB1 c2VkIHNpbWlsYXJseSBhZnRlciBhIGRlY2ltYWwgcG9pbnQuCgoKClRoYXQgY29uY2x1ZGVzIHRo ZSBjb21tb24gTG9qYmFuIG51bWJlcnMgdGhlbXNlbHZlcy4gSG93IHRoZXkgYXBwbHkgdG8gc3Vt dGkgaXMgYSBzY2llbmNlIGluIGl0c2VsZiwgYW5kIHdlIGxlYXZlIHRoYXQgZm9yIGxlc3NvbiB0 d2VudHktdHdvLiBOb3cgd2UgZm9jdXMgb24gaG93IHRoZXNlIG51bWJlcnMgY2FuIGJlIHVzZWQg aW4gYSBicmlkaS4KCkEgc3RyaW5nIG9mIG51bWJlciB3b3JkcyBieSB0aGVtc2VsdmVzIGFyZSBn cmFtbWF0aWNhbCwgc2luY2UgdGhleSBjYW4gYWN0IGFzIGFuIGFuc3dlciB0byBhICcneG8nJy10 eXBlIG9mIHF1ZXN0aW9uLiBJbiB0aGlzIGNhc2UsIGhvd2V2ZXIsIHRoZXkgY2Fubm90IGJlIGNv bnNpZGVyZWQgcGFydCBvZiBhbnkgYnJpZGkuIEluIGdlbmVyYWwsIGlmIG51bWJlcnMgZmlsbCBw YXJ0IG9mIGEgYnJpZGksIHRoZXkgZG8gc28gaW4gb25lIG9mIHR3byBmb3JtczogUHVyZSBudW1i ZXJzIGFuZCBxdWFudGlmaWVycy4gV2Ugd2lsbCByZXR1cm4gdG8gcXVhbnRpZmllcnMgaW4gYSBs YXRlciBsZXNzb24uIEZvciBub3csIHdlIHdpbGwgbG9vayBhdCBwdXJlIG51bWJlcnMuCgpBIHB1 cmUgbnVtYmVyIGlzIGFueSByb3cgb2YgbnVtYmVyIHdvcmRzIHByZWZpeGVkIHdpdGggJydsaScn LiBUaGlzIG1ha2VzIGEgc3VtdGkgZGlyZWN0bHkgZnJvbSB0aGUgbnVtYmVyLCBhbmQgcmVmZXJz IHRvIHRoZSBtYXRoZW1hdGljYWwgY29uY2VwdCBvZiwgZm9yIGluc3RhbmNlLCDigJx0aGUgbnVt YmVyIHNpeOKAnS4gSXRzIGZhJ29ybWEnbyBpcyAnJ2xvJ28nJwoKX18nJ2xpJydfXyBjb252ZXJ0 IG51bWJlci9tZWtzby1leHByZXNzaW9uIHRvIHN1bXRpLgoKX18nJ2xvJ28nJ19fIGZhJ29ybWEn bzogZW5kIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3VtdGkuCgpUaGVzZSBw dXJlIHN1bXRpIGFyZSB1c3VhbGx5IHdoYXQgZmlsbHMgdGhlIHgyIG9mIGJyaXZsYSBzdWNoIGFz ICcnbWl0cmUnJyBvciAnJ2NhY3JhJycKCl9fJydtaXRyZScnX18geDEgaXMgeDIgbWV0cmVzIGlu IGRpbWVuc2lvbiB4MyBieSBzdGFuZGFyZCB4NAoKX18nJ2NhY3JhJydfXyB4MSBpcyB4MiBob3Vy cyBpbiBkdXJhdGlvbiAoZGVmYXVsdCAxKSBieSBzdGFuZGFyZCB4MwoKCgpUcnkgdG8gdHJhbnNs YXRlIHRoZSBmb2xsb3dpbmc6CgonJ2xlIHRhIG51IGNpbmppa2NhIGN1IGNhY3JhIGxpIGNpIGpp J2kgdSdpIG5haScnCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJ0qc2lnaCogVGhhdCBmbGlydGlu ZyBoYXMgYmVlbiBnb2luZyBvbiBmb3IgYXJvdW5kIHRocmVlIGhvdXJzLuKAnSB+fgoKSG93IGRv IHlvdSBjb3VudCB0byB0aHJlZSBpbiBMb2piYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2xp IHBhIGxpIHJlIGxpIGNpJycgfn4KCgoKVGhlIGxhc3QgdGhpbmcgd2UnbGwgZ28gdGhyb3VnaCBp biB0aGlzIGxlc3NvbiBpcyB0aGUgd29yZHMgb2YgdGhlIHNlbG1hJ28gTUFJIGFuZCB0aG9zZSBv ZiBNT0kuCgpNQUkgb25seSBjb250YWlucyB0d28gd29yZHMsICcnbWFpJycgYW5kICcnbW8nbycn LiBCb3RoIG9mIHRoZXNlIGNvbnZlcnQgYW55IG51bWJlciBzdHJpbmcgdG8gYW4gb3JkaW5hbCwg d2hpY2ggaGFzIHRoZSBncmFtbWFyIG9mIGF0dGl0dWRpbmFscy4gT3JkaW5hbHMgYXJlIHVzZWQg dG8gZGl2aWRlIGEgdGV4dCBpbnRvIG51bWJlcmVkIHNlZ21lbnRzLCBsaWtlIGNoYXB0ZXJzIG9y IHBhcnRzLiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gJydtYWknJyBhbmQgJydtbydvJycg aXMgdGhhdCAnJ21vJ28nJyBxdWFudGlmaWVzIGxhcmdlciBzdWJkaXZpc2lvbnMgb2YgdGV4dCwg YWxsb3dpbmcgeW91IHRvIGRpdmlkZSBhIHRleHQgb24gdHdvIGRpZmZlcmVudCBsZXZlbHMsIGZv ciBleGFtcGxlIGVudW1lcmF0aW5nIGNoYXB0ZXJzIHdpdGggJydtbydvJycgYW5kIHNlY3Rpb25z IHdpdGggJydtYWknJy4gTm90aWNlIHRoYXQgdGhlc2UgYXMgd2VsbCBhcyB0aGUgTU9JIHRha2Ug YW55IG51bWJlciBzdHJpbmcgZGlyZWN0bHksIHdpdGhvdXQgYW55IG5lZWQgZm9yICcnbGknJy4K Cl9fJydtYWknJ19fOiBMb3dlci1vcmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIg dG8gb3JkaW5hbAoKX18nJ21vJ28nJ19fOiBIaWdoZXIgb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENv bnZlcnQgbnVtYmVyIHRvIG9yZGluYWwuCgoKClRoZXJlIGFyZSBmaXZlIE1PSSwgYW5kIHRoZXkg YWxsIGNvbnZlcnQgYW55IG51bWJlciBzdHJpbmcgdG8gc2VsYnJpLiBXZSdsbCB0YWtlIHRoZW0g b25lIGF0IGEgdGltZToKCl9fJydtb2knJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6 IHgxIGlzIHRoZSBuJ3RoIG1lbWJlciBvZiBzZXQgeDIgYnkgb3JkZXIgeDMKCkV4YW1wbGU6ICcn bGEgbHV0Y2ltaW4gY2kgbW9pIGxvJ2kgbmlubXUgcGVuZG8gYmUgbWkgbGUgc3UndSBsbyBjbGFu aSB6bWFkdSBjdSBsaWRuZSBsbyBjbGFuaSBtbGVjYScnIOKAkyDigJxMdWktQ2hpIE1pbiBpcyB0 aGlyZCBhbW9uZyBteSBmZW1hbGUgZnJpZW5kcyBieSB0aGUgb3JkZXI6IFRoZSBtb3JlIHRhbGwg b25lcyBwcmVjZWRlcyB0aGUgbGVzcyB0YWxsIG9uZXPigJ0uCgooV2hlbiBzcGVjaWZ5aW5nIGEg c2VxdWVuY2UsIGl0IGlzIHdpZGVseSB1bmRlcnN0b29kIHRoYXQgaWYgYSAnJ2thJyctYWJzdHJh Y3Rpb24gKGxlc3NvbiB0d2VudHktbmluZSkgaXMgdXNlZCBhcyBhIHN1bXRpLCB0aGUgbWVtYmVy cyBvZiB0aGUgc2V0IGFyZSBvcmRlcmVkIGZyb20gdGhlIG9uZSB3aXRoIG1vc3Qgb2YgdGhlIHBy b3BlcnR5IHRvIHRoZSBvbmUgd2l0aCBsZXNzIG9mIHRoZSBwcm9wZXJ0eSwgc28gdGhlIHgzIG9m IHRoZSBmb2xsb3dpbmcgc2VudGVuY2UgY291bGQgaGF2ZSBiZWVuIHNob3J0ZW5lZCB0byAnJ2xv IGthIGNsYW5pJycpCgpfXycnbGlkbmUnJ19fIHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5jZSB4 MwoKX18nJ2NsYW5pJydfXyB4MSBpcyBsb25nIGluIGRpbWVuc2lvbiB4MiBieSBzdGFuZGFyZCB4 MwoKX18nJ3ptYWR1JydfXyB4MSBleGNlZWRzIHgyIGluIHByb3BlcnR5L2FzcGVjdCB4MyBieSBh bW91bnQgeDQKCl9fJydtbGVjYScnX18geDEgaXMgbGVzcyB0aGFuL2lzIGxlc3MgY2hhcmFjdGVy aXplZCB0aGFuIHgyIGJ5IHByb3BlcnR5L2FzcGVjdCB4MyBieSBhbW91bnQgeDQKCgoKX18nJ21l aScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG1hc3MgZm9ybWVk IGZyb20gdGhlIHNldCB4Miwgd2hpY2ggaGFzIHRoZSBuIG1lbWJlcnMgb2YgeDMKCk5vdGljZSBo ZXJlIHRoYXQgeDMgYXJlIHN1cHBvc2VkIHRvIGJlIGluZGl2aWR1YWxzLCB4MiBhIHNldCBhbmQg eDEgYSBtYXNzLgoKV2hhdCB3b3VsZCAnJ21pIGNpIG1laScnIG1lYW4/IAoKQW53ZXI6IH5+Z3Jl eSxncmV5OuKAnFdlIGFyZSBncm91cCBvZiB0aHJlZS7igJ1+fgoKCgpfXycnc2knZScnX18gLSBD b252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgbiB0aW1lcyB4MgoKRXhhbXBsZTogJyds ZSB2aSBwbGlzZSBjdSBtZSdpIHBpIHBhIHNpJ2UgbGVpIG1pIGNpZGphIGJlIHplJ2EgbG8gZGpl ZGknJyDigJMg4oCcVGhpcyBhcHBsZSBoZXJlIGlzIGxlc3MgdGhhbiBvbmUgdGVudGggb2YgbXkg Zm9vZCBmb3Igb25lIGRheeKAnQoKUGxlYXNlIG5vdGUgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiAn J3NpJ2UnJyB3aGVuIGxvb2tlZCB1cCB3aWxsIHRlbGwgeW91IHRoYXQgaXQncyAieDEgaXMgYW4g bnRoIG9mIHgyIiwgaW5zdGVhZCBvZiAieDEgaXMgbiB0aW1lcyB4MiIuIEJ1dCBwZW9wbGUgb25s eSB1c2UgaXQgYXMgSSBoYXZlIGRlZmluZWQgaXQsIHNvIHRoZSBkZWZpbml0aW9uIGluIHRoZSBk aWN0aW9uYXJpZXMgd2lsbCBwcm9iYWJseSBjaGFuZ2UuCgoKCl9fJydjdSdvJydfXyAtIENvbnZl cnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBoYXMgbiBwcm9iYWJpbGl0eSBvZiBvY2N1cnJpbmcg dW5kZXIgY29uZGl0aW9ucyB4MgoKRXhhbXBsZTogJydsbyBudSBtaSBtcm9iaSdvIGN1IHBhIGN1 J28gbG8gbnUgbWkgZGVucGEgcmknJyDigJMg4oCdQW4gZXZlbnQgb2YgbWUgZHlpbmcgaGFzIHBy b2JhYmlsaXR5IDEgdW5kZXIgdGhlIGNvbmRpdGlvbnM6IEkgd2FpdCBmb3IgaXTigJ0gPSDigJ1N ZSBkeWluZyBpcyBjb21wbGV0ZWx5IGNlcnRhaW4gaWYgSSB3YWl0IGxvbmcgZW5vdWdoLuKAnQoK X18nJ2RlbnBhJydfXyB4MSB3YWl0cyBmb3IgeDIsIGJlaW5nIGluIHN0YXRlIHgzIHVudGlsIHJl c3VtaW5nL2RvaW5nIHg0CgpfXycndmEnZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJy aTogeDEgaXMgYXQgdGhlIG4ndGggcG9zaXRpb24gb24gdGhlIHNjYWxlIHgyCgpFeGFtcGxlOiAn J2xpIHBhIG5vIGN1IHJvIHZhJ2UgbGEgdG9yaW5vbicnIOKAkyDigJwxMCBpcyB0aGUgaGlnaGVz dCB2YWx1ZSBvbiB0aGUgVG9yaW5vLXNjYWxl4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExl c3NvbiB0d2VudHkgKGJvLCBrZSwgY28gYW5kIG1vcmUgY3V0ZW5lc3MpCgpTYXkgeW91J3JlIGFu IGltcG9ydGFudCBBbWVyaWNhbiBidXllciBvZiBjb21wdXRlcnMuIEhvdyBkbyB5b3UgZXhwcmVz cyB0aGlzPyBGb3IgY29uc3RydWN0cyBsaWtlIHRoZXNlLCB0YW5ydSBhcmUgaWRlYWw6ICcnbWkg dmFqbmkgbWVya28gc2thbWkgdGUgdmVjbnUnJy4gTm8gd2FpdCwgdGhhdCdzIG5vdCByaWdodC4g VGFucnUgYXJlIGdyb3VwZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LCBzbyB0aGlzIHRhbnJ1IGlzIHVu ZGVyc3Rvb2Q6ICgoJyd2YWpuaSBtZXJrbycnKSAnJ3NrYW1pJycpICcndGUgdmVjbnUnJywgYSBi dXllciBvZiBjb21wdXRlcnMgZm9yIGltcG9ydGFudCBBbWVyaWNhbnMuIFlvdSBjYW4ndCBjaGFu Z2UgdGhlIG9yZGVyIG9mIHRoZSBzZWxicmkgdG8gZ2V0IGEgdXNlZnVsIHRhbnJ1LiBOZWl0aGVy IGNhbiB0aGlzIGJlIHNvbHZlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIHdoaWNoIHlvdSB3 aWxsIGZpcnN0IGxlYXJuIGFib3V0IGxhdGVyIGFueXdheS4gVGhlIG9ubHkgd2F5IHRvIG1ha2Ug YSBmaXR0aW5nIHRhbnJ1IGlzIHRvIGZvcmNlIHRoZSBzZWxicmkgdG8gZ3JvdXAgZGlmZmVyZW50 bHkuCgoKClRvIGJpbmQgdHdvIHNlbGJyaSBjbG9zZSB0b2dldGhlciBpbiBhIHRhbnJ1LCB0aGUg d29yZCAnJ2JvJycgY2FuIGJlIHBsYWNlZCBiZXR3ZWVuIHRoZW06ICcnbWkgdmFqbmkgYm8gbWVy a28gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyByZWFkICcnbWknJyAoJyd2YWpuaSBibyBtZXJrbycn KSAoJydza2FtaSBibyB0ZSB2ZWNudScnKSwgd2hpY2ggaXMgdXNlZnVsIGluIHRoaXMgY29udGV4 dC4gSWYgYm8gaXMgcGxhY2VkIGJldHdlZW4gc2V2ZXJhbCBzZWxicmkgaW4gYSByb3csIHRoZXkg YXJlIGdyb3VwZWQgZnJvbSByaWdodCB0byBsZWZ0IGluc3RlYWQgb2YgdGhlIHVzdWFsIGxlZnQg dG8gcmlnaHQ6ICcnbWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyByZWFk ICcndmFqbmknJyAoJydtZXJrbyBibycnICgnJ3NrYW1pIGJvIHRlIHZlY251JycpKSBhbiDigJxp bXBvcnRhbnQgKEFtZXJpY2FuIGNvbXB1dGVyLWJ1eWVyKeKAnSwgd2hpY2ggaXMgZXZlbiBtb3Jl IGFwcHJvcHJpYXRlIGluIHRoZSBzaXR1YXRpb24uCgpfXycnYm8nJ19fIEJpbmRzIHR3byBzZWxi cmkgdG9nZXRoZXIgc3Ryb25nbHkuCgoKCkhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoYXQncyBhIHRh c3R5IHllbGxvdyBhcHBsZeKAnT8KCl9fJydrdWt0ZScnX18geDEgaXMgdGFzdHkgZm9yIHgyCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnfn4KCgoKV2hh dCBhYm91dCDigJ1UaGF0J3MgYSBiaWcsIHRhc3R5IHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicndGkgYmFyZGEga3VrdGUgYm8gcGVseHUgYm8gcGxpc2UnJ35+CgoKCkFu b3RoZXIgYXBwcm9hY2ggdG8gdGhpcyBpcyB0byB1c2UgdGhlIHdvcmRzICcna2XigKZrZSdlJycu IFRoZXNlIGNhbiBiZSBjb25zaWRlcmVkIGFzIGVxdWl2YWxlbnQgdG8gdGhlIHBhcmVudGhlc2lz ZXMgdXNlZCBpbiB0aGUgcGFyYWdyYXBoIGFib3ZlLiAnJ2tlJycgYmVnaW5zIHN0cm9uZyBzZWxi cmkgZ3JvdXBpbmcsICcna2UnZScnIGVuZHMgaXQuCgpfXycna2UnJ19fIOKAkyBiZWdpbiBzdHJv bmcgc2VsYnJpIGdyb3VwaW5nLgoKX18nJ2tlJ2UnJ19fIOKAkyBlbmQgc3Ryb25nIHNlbGJyaSBn cm91cGluZy4KClRoZSBzdHJlbmd0aCBvZiB0aGUgYmluZGluZyBpcyB0aGUgc2FtZSBhcyB0aGF0 IG9mICcnYm8nJy4gVGhlcmVmb3JlLCAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZl Y251JycgY2FuIGJlIHdyaXR0ZW4gJydtaSB2YWpuaSBrZSBtZXJrbyBrZSBza2FtaSB0ZSB2ZWNu dSB7a2UnZX0ge2tlJ2V9JycuCgpIb3cgY291bGQgeW91IHNheSDigJxJJ20gYSBHZXJtYW4gc2Vs bGVyIG9mIHllbGxvdyBob21lcz/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGRvdGNv IGtlIHBlbHh1IHpkYW5pIHZlY251Jyd+fgoKCgpXaGlsZSB3ZSdyZSBhdCBtZXNzaW5nIHdpdGgg dGhlIG9yZGluYXJ5IHRhbnJ1IHN0cnVjdHVyZSwgdGhlcmUgaXMgYW5vdGhlciB3b3JkIHdvcnRo IHBheWluZyBhdHRlbnRpb24gdG8uIElmIEkgd2FudCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNz aW9uYWwgdHJhbnNsYXRvciwgSSBjb3VsZCBzYXkgJydtaSBmYW52YSBzZSBqaWJyaScnLgoKX18n J2ppYnJpJydfXyB4MSBpcyBhIGpvYiBvZiB4MgoKX18nJ2RvdHliYXUnJ19fIHgxIGlzIEdlcm1h biB1c2VkIGJ5IHgyIHRvIHNheSB4MwoKX18nJ2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2Vk IGJ5IHgyIHRvIHNheSB4MwoKSWYgSSB3YW50ZWQgdG8gc2F5IHRoYXQgSSdtIGEgcHJvZmVzc2lv bmFsIHRyYW5zbGF0ZXIgZnJvbSBFbmdsaXNoIHRvIEdlcm1hbiwgSSdkIGhhdmUgdG8gbWVzcyBh cm91bmQgd2l0aCAnJ2JlJycgYW5kICcnYmVpJyc6ICcnbWkgZmFudmEgYmUgbGUgZG90eWJhdSBi ZWkgbGUgZ2xpYmF1IGJlJ28gc2UgamlicmknJywgYW5kIHRoZSBmYWN0IHRoYXQgaXQgd2FzIGEg dGFucnUgY291bGQgcXVpY2tseSBiZSBsb3N0IGluIHNwZWVjaCBkdWUgdG8gdGhlIGNvbXBsaWNh dGVkIHN0cnVjdHVyZSBvZiB0aGUgc2VudGVuY2UuIEhlcmUsIHdlIGNhbiB1c2UgdGhlIHdvcmQg JydjbycnLiBpdCBpbnZlcnRzIHRoZSB0YW5ydSwgbWFraW5nIHRoZSByaWdodG1vc3Qgc2VsYnJp IG1vZGlmeSB0aGUgbGVmdG1vc3QgaW5zdGVhZCBvZiB0aGUgb3RoZXIgd2F5IGFyb3VuZDoKCicn bWkgc2UgamlicmkgY28gZmFudmEgbGUgZG90eWJhdSBsZSBnbGliYXUnJyBpcyB0aGUgc2FtZSBi cmlkaSBhcyB0aGUgcHJldmlvdXMgTG9qYmFuIG9uZSwgYnV0IG11Y2ggbW9yZSBlYXN5IHRvIHVu ZGVyc3RhbmQuIE5vdGljZSB0aGF0IGFueSBzdW10aSBiZWZvcmUgdGhlIHRhbnJ1IGZpbGxzICcn c2UgamlicmknJywgd2hpbGUgYW55IGZvbGxvd2luZyBpdCBvbmx5IGZpbGxzIHRoZSBtb2RpZnlp bmcgc2VsYnJpOiAnJ2ZhbnZhJycuCgpfXycnY28nJ19fIEludmVydCB0YW5ydS4gQW55IHByZXZp b3VzIHN1bXRpIGZpbGwgdGhlIG1vZGlmaWVkLCBhbnkgZm9sbG93aW5nIGZpbGwgdGhlIG1vZGlm aWVyLgoKCgpUaGUgc3RyZW5ndGggYnkgd2hpY2ggdHdvIHNlbGJyaSBhcmUgYm91bmQgdG9nZXRo ZXIgd2l0aCBjbyBpcyB2ZXJ5IHdlYWsg4oCTIGV2ZW4gd2Vha2VyIHRoYW4gbm9ybWFsIHRhbnJ1 IGdyb3VwaW5nIHdpdGhvdXQgYW55IGdyb3VwaW5nIHdvcmRzLiBUaGlzIG1ha2VzIHN1cmUgdGhh dCwgaW4gYSBjby1jb25zdHJ1Y3QsIHRoZSBsZWZ0bW9zdCBzZWxicmkgaXMgYWx3YXlzIHRoZSBz ZWxicmkgYmVpbmcgbW9kaWZpZWQsIGFuZCB0aGUgcmlnaHRtb3N0IGFsd2F5cyBtb2RpZmllcywg ZXZlbiBpZiBhbnkgb2YgdGhvc2UgcGFydHMgYXJlIHRhbnJ1LiBUaGlzIG1ha2VzIGEgY28tY29u c3RydWN0IGVhc3kgdG8gcGFyc2U6CgonJ3RpIHBlbHh1IHBsaXNlIGNvIGt1a3RlJycgaXMgcmVh ZCAnJ3RpJycgKCcncGVseHUgcGxpc2UnJykgJydjbyBrdWt0ZScnLCB3aGljaCBpcyB0aGUgc2Ft ZSBhcyAnJ3RpIGt1a3RlIHBlbHh1IGJvIHBsaXNlJycuIFRoaXMgYWxzbyBtZWFucyB0aGF0IGEg JydrZeKApmtlJ2UnJyBjYW5ub3QgZW5jb21wYXNzIGEgJydjbycnLgoKVGhlIGNtYXZvIG9mIHRo ZSBzZWxtYSdvIEdJaEEsIHRoZSBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5l Y3RpdmVzLCBob3dldmVyLCBiaW5kcyBldmVuIGxvb3NlciB0aGFuICcnY28nJy4gVGhpcyBpcyBp biBvcmRlciB0byB0b3RhbGx5IGF2b2lkIGNvbmZ1c2lvbiBhYm91dCB3aGljaCBzZWxicmkgYmlu ZHMgdG8gd2hpY2ggaW4gYSBHSWhBLWNvbnN0cnVjdC4gVGhlIGFuc3dlciBpcyBzaW1wbGU6IFRo ZSBHSWhBIG5ldmVyIGVtY29tcGFzc2VzIGFueSBzZWxicmktZ3JvdXBzLgoKCgpIb3cgY2FuIHlv dSBleHByZXNzIOKAnUkgYW0gYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVy c+KAnSB1c2luZyBhICcnY28nJz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHNrYW1pIHRl IHZlY251IGNvIHZham5pIG1lcmtvJyd+fgoKCgpJZiBpdCdzIG9mIGFueSB1c2UsIHRoaXMgaXMg dGhlIGxpc3Qgb2YgZGlmZmVyZW50IGtpbmQgb2Ygc2VsYnJpIGdyb3VwZXJzIHJhbmtlZCBieSBz dHJlbmd0aDoKCgoKMS4gICAgJydibycnIGFuZCAnJ2tlLi5rZSdlJycKCgoKMi4gICAgbG9naWNh bCBjb25uZWN0aXZlcyBvdGhlciB0aGFuIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwg Y29ubmVjdGl2ZXMgKGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5v IGdyb3VwaW5nIHdvcmRzCgoKCjQuICAgICcnY28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVy dGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzIChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkK CgoKVGhlIHJlc3Qgb2YgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5n LCBidXQgbXVjaCBsaWtlIGxlc3NvbiBzZXZlbnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywg d2hpY2ggY2FuIGJlIG9mIHVzZS4KCgoKJydibycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2Vl bXMgc2VwYXJhdGUgZnJvbSBzZWxicmkgZ3JvdXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10 Y2l0YSB0byBhbiBlbnRpcmUgYnJpZGksIHNvIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRj aXRhIGlzIG5vdCBhIHN1bXRpLCBidXQgdGhlIGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0 IGV4cGxhaW5lZCB3aXRoIGFuIGV4YW1wbGUuCgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgon J21pIGRhcnhpIGRvIC5pIG11J2kgYm8gbWkgZG8geGVibmknJyDigJMg4oCcSSBoaXQgeW91LCB3 aXRoIG1vdGl2YXRpb24gdGhhdCBJIGhhdGUgeW91LuKAnSBIZXJlIHRoZSAnJ2JvJycgYmluZHMg JydtdSdpJycgdG8gdGhlIGZvbGxvd2luZyBicmlkaS4KClRoaXMgaXMgd2hlcmUgdGhlIHRlY2hu aWNhbCBkaWZmZXJlbmNlIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRh IGlzIHJlbGV2YW50LiBZb3Ugc2VlLCB3aGVuIGJpbmRpbmcgYSBub3JtYWwgc3VtdGNpdGEgdG8g YSBicmlkaSB3aXRoICcnYm8nJywgaXQgbWVhbnMgdGhhdCB0aGUgZm9sbG93aW5nIGJyaWRpIHNv bWVob3cgZml0cyBpbnRvIHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEuIEZvciB0aGUg cmVhc29uIG9mIEdvZCBLbm93cyBXaHksIGJpbmRpbmcgb25lIG9mIHRoZSB3b3JkcyAnJ2JhJycg b3IgJydwdScnIHRvIGEgYnJpZGkgaGFzIHRoZSBleGFjdCBvcHBvc2l0ZSBlZmZlY3QuIEZvciBl eGFtcGxlLCBpbiB0aGUgYnJpZGkgJydtaSBkYXJ4aSBkbyAuaSBiYSBibyBkbyBjaW5qaWtjYScn LCBvbmUgd291bGQgYXNzdW1lIHRoYXQgdGhlIHNlY29uZCBicmlkaSBpcyBzb21laG93IGZpbGxl ZCBpbnRvIHRoZSBzdW10aSBwbGFjZSBvZiAnJ2JhJycsIG1lYW5pbmcgdGhhdCB0aGUgYnJpZGkg Zmlyc3QgdXR0ZXJlZCB0b29rIHBsYWNlIGluIHRoZSBmdXR1cmUgb2YgdGhlIHNlY29uZCBicmlk aS4gVGhhdCdzIG5vdCB0aGUgY2FzZSwgaG93ZXZlciwgYW5kIHRoZSBjb3JyZWN0IHRyYW5zbGF0 aW9uIG9mIHRoYXQgdXR0ZXJhbmNlIHdvdWxkIGJlICJJIGhpdCB5b3UuIEFmdGVyd2FyZHMsIHlv dSBmbGlydCIuIFRoaXMgd2VpcmQgcnVsZSBpcyBhY3R1YWxseSBvbmUgb2YgdGhlIG1haW4gb2Jz dGFjbGVzIHRvIGEgdW5pZmljYXRpb24gb2YgYWxsIHN1bXRjaXRhIGludG8gb25lIHNpbmdsZSB3 b3JkIGNsYXNzLiBBbm90aGVyIGRpZmZlcmVuY2UgaXMgdGhhdCB0ZW5zZS1zdW10Y2l0YSBjYW4g YmUgZWxpZGVkLCBldmVuIHRob3VnaCB0aGV5IGFwcGx5LiBUaGlzIHJ1bGUgbWFrZXMgbW9yZSBz ZW5zZSwgc2luY2Ugd2Ugb2Z0ZW4gY2FuIGFzc3VtZSBicmlkaSBpcyBwbGFjZWQgaW4gYSB0aW1l IGFuZCBzcGFjZSwgYnV0IHdlIGNhbid0IGFzc3VtZSB0aGF0IHRoZSBzdW10Y2l0YSBvZiBCQUkg YXBwbGllcy4KCgoKVGhlIHVub2ZmaWNpYWwgd29yZCAnJ21lJ29pJycgaXMgZXF1aXZhbGVudCB0 byBtZSBsYSdlICcnem8nb2knJywgd2hpY2ggbWVhbnMgdGhhdCBpdCBjb252ZXJ0cyB0aGUgY29u dGVudCBvZiB0aGUgbmV4dCB3b3JkIGludG8gYSBzZWxicmkuIEl0IGlzIHVzZWQgdG8gaW52ZW50 IGJyaXZsYSBvbiB0aGUgZmx5OiAnJ21pIGNhIHpnYW5hIGxhIG1lJ29pIFgtZmlsZXMnJyBmb3Ig 4oCcSSBub3cgd2F0Y2ggWC1maWxlc+KAnS4gTGlrZSBhbGwgcXVvdGUgbmV4dCB3b3JkLWNtYXZv LCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBvZmZpY2lhbCBncmFtbWFyLCBidXQgdG8gdGhl IGxhenkgTG9qYmFuaXN0LCBpdCdzIGludmFsdWFibGUuCgoKClRoZSB3b3JkICcnZ2knJyBpcyBz dHJhZ2Uga2luZCBvZiBicmlkaSBzZXBhcmF0b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1dCB0 byBteSBrbm93bGVkZ2UsIGl0IGlzIHVzZWQgaW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRzIG9m IGNvbnN0cnVjdHM6IE1vc3Qgb2Z0ZW4gd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBsYWlu ZWQgaW4gbGVzc29uIHR3ZW50eS1maXZlLCBidXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRoIHN1 bXRjaXRhIGl0IGNyZWF0ZXMgYSB1c2VmdWwsIGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0OgoK JydtdSdpIGdpIEJSSURJLTEgZ2kgQlJJREktMicnLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvICcn QlJJREktMiAuaSBtdSdpIGJvIEJSSURJLTEnJy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92 ZSwgd2hpY2ggZXhwbGFpbmVkIHdoeSBJIGhpdCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXUnaSBn aSBtaSB4ZWJuaSBkbyBnaSBtaSBkYXJ4aSBkbycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2FtZSBv cmRlciBhcyB0aGUgb3JpZ2luYWwgc2VudGVuY2UsIHdlIGNhbiBjb252ZXJ0ICcnbXUnaScnIHdp dGggJydzZScnOiAnJ3NlIG11J2kgZ2kgbWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0 IGlzIGluIGV4YW1wbGVzIGxpa2UgdGhpcyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRz IHZlcnNhdGlsaXR5LiBJdCBkb2VzIG5vdCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcn LmknJyBkb2VzLCBidXQgY2FuIGFsc28gc2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEg YnJpZGksIG1ha2luZyBhbGwgY29uc3RydWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycg YXBwbHkgdG8gYm90aCBicmlkaSwgYXMgdGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydj aW5iYScnX18geDEga2lzc2VzIHgyIGF0IGxvY3VzIHgzCgoKCl9fJyfigKIgW05vdGUgZnJvbSBJ bG1lbjogZ2kuLi5naS4uLiBjb25zdHJ1Y3QgaXMgb25seSB2YWxpZCB3aXRoIHN1bXRjaXRhLCBz byBJIGhhZCB0byBjb3JyZWN0IHRoZSBleGFtcGxlcyBvZiB0aGUgcGFyYWdyYXBoIGJlbG93IChi eSByZXBsYWNpbmcgdGhlIGZpcnN0ICJnaSIgd2l0aCAiZ2UiKS4gUGVyaGFwcyB0aGlzIHBhcmFn cmFwaCBzaG91bGQgYmUgc2ltcGx5IHJlbW92ZWQ/XScnX18KCicnbWkgZ2UgcHJhbWkgZG8gZ2kg Y2luYmEgZG8nJyBsZWF2ZXMgbWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBw bHkgdG8gYm90aCBicmlkaS4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGlj aCBpcyBhbHNvIHByZXNlbnQgaW4gYnJvdGggYnJpZGk6ICcnbWkgZ2UgcHJhbWkgZ2kgY2luYmEg dmF1IGRvJycuIE5vdGUgdGhhdCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBv dXRzaWRlIHRoZSBzZWNvbmQgYnJpZGkuCgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2lu YWwgc2VudGVuY2Ugc2hvcnRlcjogJydtaSBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBkbycn LCBvciwgdG8gb21pdCBldmVuIHRoZSAnJ3ZhdScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBzaG9y dGVyIGFuZCBtb3JlIGVsZWdhbnRseTogJydtaSBkbyBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpJycK CgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1vbmUgKENPSSkKCkluIHRoaXMg bGVzc29uLCB5b3Ugd2lsbCBmYW1pbGlhcml6ZSB5b3Vyc2VsZiB3aXRoIHZvY2F0aXZlcywgb3Ig JydtYSdvaSBjb2knJy4gVGhleSBnZXQgdGhlaXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5k ZXJzdGFuZGluZyB0aGVzZSBwcm92aWRlcyBhIGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJh biBncmFtbWFyIGluIGdlbmVyYWwsIG9yIGJlY2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0 YW5kLCBidXQgcmF0aGVyIGJlY2F1c2UgdGhleSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3Vh bCBzcGVlY2gsIGFuZCB0aGVyZSBhcmUgYSBsb3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNl ZCBwYXJ0bHkgdG8gZGVmaW5lIHdobyAnJ2RvJycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUg aXMgZm9sbG93ZWQgYnkgYSBjbWV2bGEsIHRoZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGlu IGZyb250IG9mIGl0LiBJZiBhIHNlbGJyaSBmb2xsb3dzLCBhICcnbGUnJyBpcyB1c2VkIGFzIGEg Z2FkcmkgaW5zdGVhZC4KCkluIHRoZXNlIGV4YW1wbGVzLCBJIHdpbGwgdXNlIHRoZSB2b2NhdGl2 ZSAnJ2NvaScnLCB3aXRoIG1lYW5zIOKAnEhp4oCdIG9yIOKAnEhlbGxv4oCdLgoKSWYgYSBwZXJz b24gaXMgY2FsbGVkICcnbGEgKyBTRUxCUkknJywgdXNpbmcgYSB2b2NhdGl2ZSB3aXRoIG9ubHkg dGhlIHNlbGJyaSB0byBhZGRyZXNzIHRoYXQgcGVyc29uIHdpbGwgbWVhbiB5b3UgcmVmZXIgdG8g aGVyIGFzIGFjdHVhbGx5IGJlaW5nIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSwgd2hpY2ggaXMgb2Z0 ZW4gd3JvbmcuIElmLCBmb3IgaW5zdGFuY2UsIGEgcGVyc29uIGlzIGNhbGxlZCAnJ2xhIHRzYW5p JycsIOKAnFNreeKAnSwgc2F5aW5nICcnY29pIHRzYW5pJycgcmVmZXJzIHRvIGhlciBhcyBhICcn bGUgdHNhbmknJywgbWVhbmluZyDigJxIaSwgeW91IHNreeKAnSwgd2hpbGUgJydjb2kgbGEgdHNh bmkgY29ycmVjdGx5JycgcmVmZXJzIHRvIGhlciBhcyBzb21lb25lIGNhbGxlZCAiU2t5IiwgbWVh bmluZyDigJxIaSBTa3nigJ0uIFRoaXMgaXMgYSBmcmVxdWVudCBtaXN0YWtlLCBlc3BlY2lhbGx5 IGFtb25nIG5ldyBMb2piYW5pc3RzLgoKQWxsIHZvY2F0aXZlcyBoYXZlIGEgZmEnb3JtYSdvIHdo aWNoIGlzIHNvbWV0aW1lcyByZXF1aXJlZC4gVGhpcyBpcyAnJ2RvJ3UnJy4gSXQncyBtb3N0bHkg dXNlZCBpZiBib3RoIHRoZSBmaXJzdCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5k IHRoZSBsYXN0IHdvcmQgb2YgdGhlIHBocmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2 ZW50cyBmb3JtaW5nIGEgdGFucnU6CgoKCl9fJydkbyd1JydfXyBFbmQgdm9jYXRpdmUgcGhyYXNl LiBVc3VhbGx5IGVsaWRhYmxlLgoKX18nJ2tsYWt1JydfXyB4MSBjcmllcyB4MiAodGVhcnMpIGZv ciByZWFzb24geDMKCicnY29pIGxhIGdsZWtpIGRvJ3Uga2xha3UgZmkgbWEnJyDigJ1IZWxsbyBI YXBweS4gV2h5IGNyeT/igJ0KCgoKVGhlIGdlbmVyaWMgdm9jYXRpdmUsICcnZG9pJycsIGRvZXMg bm90aGluZyBleGNlcHQgZGVmaW5pbmcgd2hvIGlzIGJlaW5nIHJlZmVycmVkIHRvIGJ5ICcnZG8n JzoKCicnZG9pIC5lcm5zeXQuIHh1IGRvIGRvdGNvIG1lcmtvJycg4oCcRXJuc3Q6IEFyZSB5b3Ug YSBHZXJtYW4tQW1lcmljYW4/4oCdCgoKCkFsbCB0aGUgb3RoZXIgdm9jYXRpdmVzIGhhdmUgc29t ZSBjb250ZW50IGJlc2lkZSBkZWZpbmluZyAnJ2RvJycuICcnY29pJycsIHdoaWNoIHlvdSBrbm93 LCBhbHNvIG1lYW5zIOKAnEhlbGxv4oCdLCBmb3IgZXhhbXBsZS4gTWFueSBvZiB0aGUgdm9jYXRp dmVzIGhhdmUgdHdvIG9yIHRocmVlIGRlZmluaXRpb25zIGxpa2UgdGhlIGF0dGl0dWRpbmFscy4g TGlrZSBhdHRpdHVkaW5hbHMsIHRoaXMgaXMgYmVjYXVzZSB0aGV5IGNhbiBiZSBtb2RpZmllZCB3 aXRoICcnY3UnaScnIGFuZCAnJ25haScnLCB0aG91Z2ggb25seSBvbmUgdm9jYXRpdmUgaGFzIHRo ZSAnJ2N1J2knJy1mb3JtIGRlZmluZWQuCgpTb21lIGltcG9ydGFudCB2b2NhdGl2ZXMgYXJlIGxp c3RlZCBpbiB0aGUgdGFibGUgYmVsb3cuIFRoZXJlIGFyZSBvdGhlcnMsIGJ1dCB0aG9zZSBhcmUg bm90IHVzZWQgbXVjaC4KCnx8dm9jYXRpdmV8V2l0aG91dCBzdWZmaXh8LWN1J2l8LW5haQoKY29p fEhlbGxvfC18LQoKY28nb3xHb29kYnllCXwtfC0KCmplJ2V8VW5kZXJzdG9vZCAvIE9LfC18Tm90 IHVuZGVyc3Rvb2QKCmZpJ2l8V2VsY29tZXwtfE5vdCB3ZWxjb21lIGhlcmUKCnBlJ3V8UGxlYXNl fC18LQoKa2knZXxUaGFua3N8LXxEaXNhcHByZWNpYXRpb24KCnJlJ2l8UmVhZHkgdG8gcmVjaWV2 ZXwtfE5vdCByZWFkeQoKanUnaXxIZXkhfEF0IGVhc2V8SWdub3JlIG1lCgp0YSdhfEludGVycnVw dGlvbnwtfC0KCnZpJ298V2lsbCBkb3wtfFdpbGwgbm90IGRvCgprZSdvfFBsZWFzZSByZXBlYXR8 LXxObyByZXBlYXQgbmVlZGVkCgpkaSdhaXx3ZWxsLXdpc2h8LXxjdXJzZXx8CgpOb3RpY2UgdGhh dCAnJ2RpJ2FpJycgaXMgZXhwZXJpbWVudGFsCgoKCgoKV2hhdCB3b3VsZCAnJ2NvaSBjbydvJycg bWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxHcmVldGluZ3MgaW4gcGFzc2luZ+KAnSBv ciDigJxIZWxsbyBhbmQgR29vZGJ5ZeKAnX5+CgoKCicnamUnZScnIGlzIHVzZWQgYXMg4oCcT0vi gJ0sIGJ1dCBhbHNvIHRoZSBhcHByb3ByaWF0ZSByZXNwb25zZSB3aGVuIHJlY2VpdmluZyBwcmFp c2Ugb3IgdGhhbmtzIChhdCBsZWFzdCwgaWYgeW91IHdhbnQgdG8gYmUgbW9kZXN0KSwgYXMgaXQg aW5kaWNhdGVzIHRoYXQgdGhlIHByYWlzZSBvciB0aGFua3Mgd2FzIHN1Y2Nlc3NmdWxseSB1bmRl cnN0b29kLgoKCgpUcmFuc2xhdGUgJydraSdlIHNpZGp1IGJlIG1pIGJlaSBsbyB2YWpuaSAuaSBq ZSdlIC5qZW5pZnluLicnCgpfXycnc2lkanUnJ19fIHgxIGhlbHBzIHgyIGRvIHgzCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcVGhhbmtzLCB5b3UgaGVscGVyIG9mIG1lIHRvIGRvIHNvbWV0aGlu ZyBpbXBvcnRhbnQu4oCdIOKAnE5vIHByb2JsZW0sIEplbm5pZmVy4oCdfn4KCgoKQW5kICcnZmkn aSB0ZSB2ZWNudSAuaSBwZSd1IGtvIGNpdGthJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1X ZWxjb21lLCBidXllci4gUGxlYXNlIGVhdCHigJ1+fgoKCgonJ3JlJ2knJyBpcyB1c2VkIHRvIHNp Z25hbCB0aGF0IHlvdSBhcmUgcmVhZHkgdG8gYmUgc3Bva2VuIHRvLiBJdCBjYW4gYmUgdXNlZCBh cyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2Yg4oCcV2hhdCBjYW4gSSBkbyBmb3IgeW91P+KAnSBv ciBwZXJoYXBzIHJlcGxhY2Ug4oCcSGVsbG/igJ0sIHdoZW4gc3BlYWtpbmcgb24gYSBwaG9uZS4g JydyZSdpIG5haScnIGNhbiBtZWFuIOKAnEFGS+KAnSBvciDigJxCZSB0aGVyZSBpcyBhIHNlY29u ZC7igJ0KCgoKVHJhbnNsYXRlOiDigJxIZWxsbywgd2hhdCBjYW4gSSBkbyBmb3IgeW91LCBJbnRl cnByZXRlci9UcmFuc2xhdGVyP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnY29pIHJlJ2kg bGEgZmFudmEnJ35+CgoKCicndGEnYScnIGlzIHVzZWQgd2hlbiBhdHRlbXB0aW5nIHRvIHBvbGl0 ZWx5IGludGVycnVwdCBzb21lb25lIGVsc2UuIFdoYXQgd291bGQgYmUgZ29vZCByZXNwb25zZXMg dG8gdGhpcz8KCgoKVHJhbnNsYXRlOiAnJ3RhJ2Egcm8gZG8gbWkgY28nYSBjbGl2YScnCgpfXycn Y2xpdmEnJ19fIHgxIGxlYXZlcyB4MiB2aWEgcm91dGUgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxFeGN1c2UgbWUgZm9yIGludGVycnVwdGluZywgZXZlcnlvbmUuIEkgYmVnaW4gdG8gbGVh dmUgbm934oCdIE5vdGljZSB0aGF0IG5vIGZhJ29ybWEnbyBvciAnJy5pJycgaXMgbmVlZGVkLn5+ CgoKCicna2UnbycnIGlzIHVzZWQgYSBsb3Qgd2hlbiBpbmV4cGVyaWVuY2VkIExvamJhbmlzdHMg c3BlYWsgdG9nZXRoZXIgdm9jYWxseS4gSXQncyBxdWl0ZSBhIGhhbmR5IHdvcmQKCl9fJydzdXRy YScnX18geDEgaXMgcXVpY2sgYXQgZG9pbmcgeDIKCgoKVHJhbnNsYXRlOiAnJy55IGtlJ28gc3V0 cmEgdGF2bGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFVoLCBQbGVhc2UgcmVwZWF0LCB5 b3UgcXVpY2sgc3BlYWtlci7igJ1+fgoKCgpBbmQg4oCcT2theSBva2F5LCBJIGdvdCBpdCBhbHJl YWR5ISBJJ2xsIGRvIGl0IeKAnQoKCgpBbiBhbnN3ZXI6IH5+Z3JleSxncmV5Oicna2UnbyBuYWkg LnVpIG5haSB2aSdvJyd+fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS10d28g KHF1YW50aWZ5aW5nIHN1bXRpKQoKTW9zdCBvdGhlciBsZWFybmluZyBtYXRlcmlhbHMgc3VjaCBh cyBUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlIGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycyB3 ZXJlIHdyaXR0ZW4gYmVmb3JlIHRoZSBvZmZpY2lhbCBhZG9wdGF0aW9uICJ4b3JsbyIsIGEgY2hh bmdlIGluIHRoZSBydWxlcyBhYm91dCBnYWRyaSBkZWZpbml0aW9uIGFuZCBnYWRyaSBxdWFudGlm aWNhdGlvbi4gVGhlIG9ic29sZXRlbmVzcyBvZiBzb21lIG9mIHRoZSB0ZXh0IGluIHRoZSBvbGRl ciBsZWFybmluZyBtYXRlcmlhbHMgd2FzIGEgbWFqb3IgY2F1c2UgZm9yIHRoZSBtb3RpdmF0aW9u IHRvIHdyaXRlIHRoZXNlIGxlc3NvbnMuIFVuZm9ydHVuYXRlbHkgZm9yIG1lLCBxdWFudGlmaWNh dGlvbiBvZiBzdW10aSBjYW4gYmVjb21lIGEgdmVyeSBjb21wbGV4IHRvcGljIHdoZW4gdGhlIGlt cGxpY2F0aW9ucyBvZiBjZXJ0YWluIHJ1bGVzIGFyZSBkaXNjdXNzZWQgaW4gZGV0YWlsLiBJbiBv cmRlciB0byBmdWxmaWxsIHRoZSBnb2FsIG9mIHRoaXMgdGV4dCBiZWluZyBhY2N1cmF0ZSBlbm91 Z2ggdG8gcmVwcmVzZW50IHRoZSBvZmZpY2lhbCAiZ29sZCBzdGFuZGFyZCIgQlBGSyBydWxlcywg dGhpcyBjaGFwdGVyIHdhcyBhbW9uZyB0aGUgbGFzdCBvbmVzIGZpbmlzaGVkIGFuZCB0aGUgb25l cyBtb3N0IGZyZXF1ZW50eSByZXdyaXR0ZW4uIEkgc3Ryb25nbHkgZW5jb3VyYWdlIGFueW9uZSB3 aG8gZmluZHMgbWlzdGFrZXMgaW4gdGhpcyB0ZXh0IHRvIGNvbnRhY3QgbWUgaW4gb3JkZXIgZm9y IHRoZW0gdG8gYmUgY29ycmVjdGVkLgoKSGF2aW5nIHNhaWQgdGhhdCBkaXNjbGFpbWVyLCBsZXQn cyBnZXQgc3RhcnRlZDoKClRoZSBmaXJzdCBjb25jZXB0IHlvdSBzaG91bGQga25vdyBhYm91dCBp cyAiZGlzdHJpYnV0aXZpdHkiLiBJbiBsZXNzb24gZm91cnRlZW4gaSB1c2VkIHRoZSB3b3JkICJp bmRpdmlkdWFscyIgYWJvdXQgYSBncm91cCBvZiBvYmplY3RzIGNvbnNpZGVyZWQgZGlzdHJpYnV0 aXZlbHkuIEEgZGlzdHJpYnV0aXZlIGdyb3VwICcna28nYScnIGlzIGZvciBhbnkgc2VsYnJpICcn YnJvZGEnJyBhIGdyb3VwIHN1Y2ggdGhhdCwgaWYgJydrbydhIGJyb2RhJycgaXMgdHJ1ZSwgaXQg bWVhbnMgdGhhdCBldmVyeSBtZW1iZXIgb2YgdGhlIGdyb3VwIGFsc28gaXMgY2hhcmFjdGVyaXpl ZCBieSAnJ2Jyb2RhJycuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvIG5vbi1kaXN0cmlidXRp dml0eSAod2hpY2ggbWFzc2VzIGhhdmUpLCBpbiB3aGljaCB0aGUgZ3JvdXAgaGFzIG90aGVyIHBy b3BlcnRpZXMgdGhhbiBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBkby4gVGhlIGRpc3RpbmN0aW9u IGJldHdlZW4gZGlzdHJpYnV0aXZpdHkgKGluZGl2aWR1YWwtbGlrZSkgYW5kIG5vbi1kaXN0cmli dXRpdml0eSAobWFzcy1saWtlKSBpcyBvZiByZWxldmFuY2Ugd2hlbiBxdWFudGlmeWluZyBzdW10 aS4KCkxldCB1cyBmaXJzdCBjb25zaWRlciBob3cgb25lIGNhbiBxdWFudGlmeSBkZWNyaXB0aW9u IHN1bXRpLCB3aGljaCBhcmUgc3VtdGkgb2YgdGhlIGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUgbnVt YmVyIHN0cmluZyB3aGljaCBkb2VzIHRoZSBxdWFudGlmaWNhdGlvbiBjYW4gYmUgcGxhY2VkIGJl Zm9yZSB0aGUgZ2FkcmksIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4gX19v dXRlciBxdWFudGlmaWVyX18sIGFuZCBpdCBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhlIGdhZHJp IGFuZCB0aGUgYnJpdmxhLCBpbiB3aGljaCBjYXNlIGl0J3MgYW4gX19pbm5lciBxdWFudGlmaWVy X18uIEFueSBraW5kIG9mIG51bWJlciBzdHJpbmcgY2FuIGFjdCBhcyBhIHF1YW50aWZpZXIuCgpU aGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0ZXIgcXVhbnRpZmllcnMgYWZmZWN0cyBzdW10 aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkgd2hpY2ggaXMgdXNlZDoKCgoKLSAtJydsbycn IGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBvYmpl Y3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cgbWFueSBvYmplY3RzIGFyZSBpbiB0aGUgZGlz Y291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIHRoZSBzdW10 aSBpcyBkaXN0cmlidXRlZCBvdmVyIHRoYXQgYW1vdW50IG9mIG9iamVjdHMuIEFzIHN0YXRlZCBl YXJsaWVyLCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIGl0J3MgdmFndWUgaG93 IG1hbnkgb2JqZWN0cyB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gKHRob3VnaCBub3Qgbm9uZSksIGFu ZCB3aGV0aGVyIGl0IGRvZXMgc28gZGlzdHJpYnV0aXZlbHkgb3Igbm9uLWRpc3RyaWJ1dGl2ZWx5 LiBFeGFtcGxlcyBhcmUgYWx3YXlzIGEgZ29vZCBpZGVhLCBzbyBoZXJlIHRoZXkgYXJlOgoKJydt dSBsbyBtdSBiYWtuaSBjdSBzZSBqaXJuYScnIC0gVGhlIGlubmVyIHF1YW50aWZpZXIgb2YgZml2 ZSB0ZWxscyB1cyB0aGF0IHdlIHNwZWFrIGFib3V0IGZpdmUgcGllY2VzIG9mIGNhdHRsZSwgYW5k IHRoZSBvdXRlciBxdWFudGlmaWVyIG9mIGZpdmUgdGVsbHMgdXMgdGhhdCB0aGUgc2VsYnJpIGlz IHRydWUgZm9yIGVhY2ggb2YgdGhlIGZpdmUuIFRoZXJlZm9yZSwgaXQgbWVhbnMgIkFsbCB0aGUg Zml2ZSBjb3dzIGhhZCBob3JucyIuIAoKX18nJ2Jha25pJydfXyB4MSBpcyBhIGNvdy9veC9jYXR0 bGUvY2FsZiBldGMgb2YgYnJlZWQgeDIKCl9fJydqaXJuYScnX18geDEgaXMgdGhlIGhvcm4gb2Yg eDIgKG1ldGFwaG9yOiBhbnkgcG9pbnRlZCBleHRyZW1pdHkpCgoKCldoYXQgZG9lcyB0aGUgZm9s bG93aW5nIGJyaWRpIG1lYW4/CgonJ2xvIHJ1J3VyZ3VidXB1IGJlIGxpIHJlIHBpIHplIG11IGN1 IGpkaW1hIGxvIHBhIHJlIHNvdmRhJycKCl9fJydydSd1cmd1YnVwdScnX18geDEgaXMgbWVhc3Vy ZXMgdG8gYmUgeDIgQnJpdGlzaCBwb3VuZHMgKEdCUCkKCl9fJydqZGltYScnX18geDEgaXMgdGhl IHByaWNlIG9mIHgyIHRvIGJ1eWVyIHgzIHNldCBieSB2ZW5kb3IgeDQKCl9fJydzb3ZkYScnX18g eDEgaXMgYSBnYW1ldGUgKGVnZy9zcGVybSkgb2YgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJU d2VsdmUgZWdncyBjb3N0IDIuNzUgQnJpdGlzaCBwb3VuZHMiIHdoaWNoLCBhcyB0aGUgRW5nbGlz aCB0cmFuc2xhdGlvbiwgY291bGQgbWVhbiBib3RoIHRoYXQgdGhleSBjb3N0IDIuNzUgZWFjaCAo ZGlzdHJpYnV0aXZlbHkpIG9yIHRoYXQgYWxsIHR3ZWx2ZSB0b2dldGhlciBjb3N0IDIuNzUgKG5v bi1kaXN0cmlidXRpdmVseSl+fgoKCgonJ3NvIGxlIHRhIHBhIHBhIGNpJ2Vya2VpIGN1IGNsYW1h dSBtaScnIChub3RpY2UgdGhhdCB0aGUgJyd0YScnIGdvZXMgYmVmb3JlIHRoZSBpbm5lciBxdWFu dGlmaWVyKQoKX18nJ2NpJ2Vya2VpJydfXyB4MSBwbGF5cyBnYW1lIHgyIGdvdmVuZXJkIGJ5IHJ1 bGVzIHgzIGludGVycmVsYXRpbmcgZ2FtZSBwYXJ0cyB4NCB7dGhpcyBpcyB1c2VkIHRvIHRyYW5z bGF0ZSAicGxheSIgaW4gdGhlIHNlbnNlICJwbGF5IGEgZ2FtZSIgcmF0aGVyIHRoYW4sIGZvciBp bnN0YW5jZSAicGxheWluZyBwcmV0ZW5kIiBvciAicGxheWluZyBIb3VzZSJ9CgpfXycnY2xhbWF1 JydfXyB4MSBpcyB0YWxsZXIvbG9uZ2VyIHRoYW4geDIgaW4gZGlyZWN0aW9uIHgzIG15IG1hcmln aW4geDQKCkFuc3dlcjogfn5ncmV5LGdyZXk6VGhlIGlubmVyIHN0YXRlcyB0aGVyZSBhcmUgMTEg cGxheWVycyBpbiB0aGUgZGlzY291cnNlLCBhbmQgdGhlIG91dGVyIHN0YXRlcyB0aGF0IHRoZSBz ZWxicmkgYXBwbGllcyB0byBuaW5lIG9mIHRoZW0gZGlzdHJpYnV0aXZlbHkuIFRodXMgaXQgbWVh bnMgIk5pbmUgb2YgdGhlIGVsZXZlbiBwbGF5ZXJzIGFyZSB0YWxsZXIgdGhhbiBtZSJ+fgoKCgpU aGVyZSBhcmUgYSBmZXcgcG9pbnRzIHRoYXQgbmVlZHMgdG8gYmUgcmFpc2VkIHJlZ2FyZGluZyBx dWFudGlmaWNhdGlvbiBvZiAnJ2xvJycvJydsZScnOgoKRmlyc3RseSwgJydsbycnIGlzIHVuaXF1 ZSBpbiB0aGF0ICJ7bnVtYmVyfSB7c2VsYnJpfSIgaXMgZGVmaW5lZCBhcyAie251bWJlcn0gJyds bycnIHtzZWxicml9Ii4gVGhlcmVmb3JlLCAnJ2NpIGdlcmt1IGN1IGJhdGNpIHJlIG5hbm11Jycg aXMgZGVmaW5lZCB0byBiZSAnJ2NpIGxvIGdlcmt1IGN1IGJhdGNpIHJlIGxvIG5hbm11JycsIHdo aWNoIGNvbnNpZGVycyBib3RoIHRoZSBncm91cCBvZiBkb2dzIGFuZCB0aGUgZ3JvdXAgb2YgbWVu IGRpc3RyaWJ1dGl2ZWx5LiBUaGVyZWZvcmUsIGVhY2ggb2YgdGhlIHRocmVlIGRvZ3MgYml0IGVh Y2ggb2YgdGhlIHR3byBtZW4sIHdpdGggc2l4IGJpdGluZyBldmVudHMgaW4gdG90YWwuCgpfXycn YmF0Y2knJ19fIHgxIGJpdGVzL3BpbmNoZXMgeDIgYXQgbG9jdXMgeDMgdXNpbmcgeDQgYXMgcGlu Y2hpbmcgdG9vbC4KClNlY29uZGx5OiBXaGF0IGlmIHRoZXJlIGlzIG5vIG91dGVyIHF1YW50aWZp ZXI/IERvZXMgdGhpcyBtZWFuIHRoYXQgaXQgX19pc19fIHRoZXJlLCBidXQgaXQncyBlbGlkZWQ/ IE5vcGUuIElmIHRoZXJlIGlzIGFueSBraW5kIG9mIG91dGVyIHF1YW50aWZpZXIsIGVsaWRlZCBv ciBub3QsIGl0IHdvdWxkIGZvcmNlIHRoZSBzdW10aSB0byBiZSBkaXN0cmlidXRpdmUsIHdoaWNo IHdvdWxkIG1lYW4gdGhhdCBuZWl0aGVyICcnbG8nJyBub3IgJydsZScnIGNvdWxkIGJlIHVzZWQg dG8gZGVzY3JpYmUgbWFzc2VzLiBUaGVyZWZvcmUsIGlmIG5vIG91dGVyIHF1YW50aWZpZXIgaXMg cHJlc2VudCwgaXQncyBub3Qgb25seSBlbGlkZWQgLSBpdCdzIHNpbXBseSBub3QgdGhlcmUuIFN1 bXRpIHdpdGhvdXQgYW4gb3V0ZXIgcXVhbnRpZmllciBjYW4gYmUgcmVmZXJyZWQgdG8gYXMgImNv bnN0YW50cyIsIGV2ZW4gdGhvdWdoIEkgd29uJ3QuCgpUaGlyZGx5LCBpdCBtYWtlcyBubyBzZW5z ZSB0byBoYXZlIGFuIG91dGVyIHF1YW50aWZpZXIgd2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlIGlu bmVyIG9uZS4gSXQgbWVhbnMgdGhhdCB0aGUgc2VsYnJpIGhvbGRzIHRydWUgZm9yIG1vcmUgc3Vt dGkgdGhhbiBhcmUgcHJlc2VudCBpbiB0aGUgZGlzY291cnNlIC0gYnV0IHNpbmNlIHRoZXkgYXBw ZWFyIGluIGEgYnJpZGksIHRoZXkgX19hcmVfXyBwYXJ0IG9mIHRoZSBkaXNjb3Vyc2UuIEl0J3Mg Z3JhbW1hdGljYWwgdG8gZG8gaXQsIHRob3VnaC4KCkxhc3RseSwgcGxhY2luZyBhICcnbG8nJyBv ciBhICcnbGUnJyBpbiBmcm9udCBvZiBhIHN1bXRpIGlzIGdyYW1tYXRpY2FsLCBpZiB0aGVyZSBp cyBhbiBpbm5lciBxdWFudGlmaWVyIHByZXNlbnQuICInJ2xvJycvJydsZScnIHtudW1iZXJ9IHtz dW10aX0iIGlzIGRlZmluZWQgYXMgIicnbG8nJy8nJ2xlJycge251bWJlcn0gJydtZScnIHtzdW10 aX0iLgoKU28gd2hhdCB3b3VsZCB0aGlzIG1lYW4/ICcnbWkgbmVsY2kgbG9pIG1pIGJyaWp1IGth bnNhIC5pIGt1J2kgY2kgbG8gcmUgbXUgamknaSByaSBjdSBsYXpuaScnCgpfXycnYnJpanUnJydf XyB4MSBpcyBhbiBvZmZpY2UgZm9yIHdvcmtlciB4MiBhdCBsb2NhdGlvbiB4MwoKX18nJ2thbnNh JydfXyB4MSBhY2NvbXBhbmllcyB4MiBpbiBhY3Rpb24vc3RhdGUvZW50ZXJwcmlzZSB4MwoKX18n J2xhem5pJydfXyB4MSBpcyBsYXp5LCBhdm9pZGluZyB3b3JrIGNvbmNlcm5pbmcgeDIKCkFuc3dl cjogfn5ncmV5LGdyZXk6IkkgbGlrZSBteSBjby13b3JrZXJzLCBidXQgdGhyZWUgb3V0IG9mIGFi b3V0IHR3ZW50eSBmaXZlIG9mIHRoZW0gYXJlIGxhenkifn4KCgoKLSAtJydsYScnLSAtIEFuIGlu bmVyIHF1YW50aWZpZXIgaXMgZ3JhbW1hdGljYWwgaWYgdGhlIG5hbWUgaXMgYSBzZWxicmkgLSBp biB0aGlzIGNhc2UsIGl0J3MgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBx dWFudGlmaWVyIGlzIHVzZWQgdG8gcXVhbnRpZnkgZGlzdHJpYnV0aXZlbHkgb3ZlciBzdWNoIGlu ZGl2aWR1YWxzIChtdWNoIGxpa2UgJydsbycnLycnbGUnJykgSXQncyBncmFtbWF0aWNhbCB3aGVu IHBsYWNlZCBpbiBmcm9udCBvZiB7bnVtYmVyfSB7c3VtdGl9LCBpbiB3aGljaCBjYXNlLCB0aGUg Ym90aCB0aGUgbnVtYmVyIGFuZCB0aGUgc3VtdGkgaXMgY29uc2lkZXJlZCB0aGUgbmFtZS4KCgoK VHJhbnNsYXRlIHRoaXM6ICcncmUgbGEgY2kgYmFyZ3UgY3UgamlibmkgbGUgbWkgemRhbmknJwoK QW5zd2VyOiB+fmdyZXksZ3JleTogVHdvICJUaGUgVGhyZWUgQXJjaGVzIiBhcmUgbG9jYXRlZCBj bG9zZSB0byBteSBob3VzZSIgKFBlcmhhcHMgVGhlIFRocmVlIEFyY2hlcyBhcmUgYSBraW5kIG9m IHJlc3RhdXJhbnQ/KX5+CgoKCi0gLScnbG9pJycgYW5kICcnbGVpJyctIC0gQW4gaW5uZXIgcXVh bnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBtZW1iZXJzIHRoZXJlIGFyZSBpbiB0aGUgbWFzcy9t YXNzZXMgaW4gcXVlc3Rpb24uIEFuIG91dGVyIHF1YW50aWZpZXIgcXVhbnRpZmllcyBkaXN0cmli dXRpdmVseSB7IX0gb3ZlciB0aGVzZSBtYXNzZXMKCk5vdGljZSBoZXJlIHRoYXQgd2hpbGUgbWFz c2VzIGNvbnNpc3Qgb2YgYSBudW1iZXIgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIG5vbi1kaXN0cmli dXRpdmVseSwgYW4gb3V0ZXIgcXVhbnRpZmllciBhbHdheXMgdHJlYXRzIGVhY2ggb2YgdGhlc2Ug bWFzc2VzIGFzIGFuIGluZGl2aWR1YWwuCgpXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgc3Ry aW5nLCB0aGVuIGEgc3VtdGksICcnbG9pJycvJydsZWknJyBpcyBkZWZpbmVkIGFzICInJ2xvIGd1 bm1hIGJlIGxvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBtYXNzIGNvbnNpc3Rp bmcgb2YgdGhlIHtudW1iZXJ9IG9mIHtzdW10aX0iLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0 aGlzOiAnJ3JlIGRlaSBndW5tYSByZSBsb2kgemUgdmFsc2kgLmkgY2EnZSBwYSBkZWkgamFpIGdh dSBqZXRudScnCgpfXycnZ3VubWEnJ19fIHgxIGlzIGEgbWFzcyBvZiB0aGUgaW5kaXZpZHVhbHMg eDIKCl9fJyd2YWxzaScnX18geDEgaXMgYSB3b3JkLCBtZWFuaW5nIHgyIGluIGxhbmd1YWdlIHgz CgpfXycnY2EnZScnX18gQXR0aXR1ZGluYWw6IEV2aWRlbnRpYWw6IEkgZGVmaW5lCgpfXycnamV0 bnUnJ19fIHgxIGlzIHRydWUgYWNjb3JkaW5nIHRvIG1ldGFwaHlzaWNzL2VwaXN0ZW1vbG9neSB4 MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZXNlIHR3byB1dHRlcmFuY2VzIGFyZSBhIG1hc3Ms IGNvbnNpc3Rpbmcgb2YgdHdvIGluZGl2aWR1YWwgbWFzc2VzIGVhY2ggb2Ygc2V2ZW4gd29yZHMu IEkgZGVmaW5lOiBUaGlzIG9uZSB1dHRlcmFuY2UgY2F1c2VzIHtpdH0gdG8gYmUgdHJ1ZS4ifn4K CgoKLSAtJydsYWknJy0gLSBNdWNoIGxpa2UgJydsYScnLCBhbiBpbm5lciBxdWFudGlmaWVyICh3 aGVuIG5hbWUgaXMgYSBzZWxicmkpIGlzIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIG9uZSBx dWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5LiBCZWZvcmUgYSBudW1iZXIrc3VtdGksIGJvdGggdGhl IHN1bXRpIGFuZCB0aGUgbnVtYmVyIG1ha2UgdXAgdGhlIG5hbWUuCgpXaGVuIGEgZnJhY3Rpb24g aXMgdXNlZCBhcyBhbiBvdXRlciBxdWFudGlmaWVyIHRvIHF1YW50aWZ5ICcnbG9pJycsICcnbGVp Jycgb3IgJydsYWknJywgb25lIHNwZWFrcyBhYm91dCBvbmx5IHBhcnQgb2YgdGhlIG1hc3MgKGZv ciBpbnN0YW5jZSwgImhhbGYgb2YgdGhlIEpvaG5zb25zIiAtICcncGkgbXUgbGFpIC5kamFuc3lu LicnKS4KCgoKLSAtJydsbydpJycgYW5kICcnbGUnaScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIg ZGVzY3JpYmVzIHRoZSBhbW91bnQgb2YgbWVtYmVycyBvZiB0aGUgc2V0LiBBbiBvdXRlciBxdWFu dGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc2V2ZXJhbCBvZiBzdWNoIHNldHMuIFdoZW4gcGxh Y2VkIGJlZm9yZSBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNl bGNtaSBiZSAnJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBzZXQgb2Yge251 bWJlcn0ge3N1bXRpfSIuCgoKClRyYW5zbGF0ZSAnJ2xvJ2kgcm8gc2UgY2lua2kgY3UgYnJhbWF1 IGxhJ2EgcGEgbm8gbm8gbG8naSBybyBzZSBib2d5a2FtanUganV0c2knJwoKX18nJ2NpbmtpJydf XyB4MSBpcyBhbiBpbnNlY3Qgb2Ygc3BlY2llcyB4MgoKX18nJ2xhJ2EnJ19fIEF0dGl0dWRpbmFs OiBEaXNjdXJzaXZlOiBQcm9iYWJseQoKX18nJ2JyYW1hdScnX18geDEgaXMgYmlnZ2VyIHRoYW4g eDIgaW4gZGltZW5zaW9uIHgzIGJ5IG1hcmlnaW4geDQKCl9fJydib2d5a2FtanUnJ19fIHgxIGlz IHRoZSBzcGluZSBvZiB4MgoKX18nJ2p1dHNpJydfXyB4MSBpcyB0aGUgc3BlY2llcyBvZiBnZW51 cyB4MiwgZmFtaWx5IHgzIC4uLiAob3BlbiBlbmRlZCBjbGFzc2lmaWNhdGlvbikKCkFuc3dlcjog fn5ncmV5LGdyZXk6ICJUaGUgc2V0IG9mIGFsbCB0aGUgc3BlY2llcyBvZiBpbnNlY3RzIGlzIHBy b2JhYmx5IGJpZ2dlciB0aGFuIG9uZSBodW5kcmVkIHNldHMgb2YgYWxsIHNwZWNpZXMgb2YgdmVy dGVicmF0ZXMifn4KCgoKLSAtJydsYSdpJyctIC0gQXMgd2l0aCAnJ2xhaScnCgpMaWtlIHdpdGgg dGhlIG1hc3MgZ2FkcmksIGFuIG91dGVyIHF1YW50aWZpZXIgYmVmb3JlIGEgc2V0IGdhZHJpIGVu YWJsZXMgb25lIHRvIHNwZWFrIGFib3V0IGEgZnJhY3Rpb24gb2YgYSBzZXQuIEluIGZyb250IG9m IGEgbnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlIGxh Jycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBjb25zaXN0aW5nIG9mIFRoZSB7TnVtYmVy fSB7U3VtdGl9IiAoY29uc2lkZXJlZCBhIG5hbWUpCgoKCi0gLScnbG8nZScnIGFuZCAnJ2xlJ2Un Jy0gLSBBcmUgZm9yIHNvbWUgcmVhc29uIG5vdCBpbmNsdWRlZCBpbiB0aGUgY3VycmVudGx5IGFj Y2VwdGVkIGdhZHJpIHByb3Bvc2FsLiBJZiBvbmUgd2VyZSB0byBleHRlbmQgdGhlIHJ1bGVzIG9m IGFub3RoZXIgZ2FkcmksICcnbG8nJy8nJ2xlJycgd291bGQgcHJvYmFibHkgYmUgdGhlIGJlc3Qg Y2hvaWNlIChzaW5jZSBib3RoIG9wZXJhdGVzIHdpdGggaW5kaXZpZHVhbHMgcmF0aGVyIHRoYW4g Z3JvdXBzKSwgYW5kIHNvIG9uZSB3b3VsZCBleHBlY3QgdGhlIG91dGVyIHF1YW50aWZpZXIgdG8g Zm9yY2UgZGlzdHJpYnV0aXZpdHkgb3ZlciB0aGUgYW1vdW50IG9mIHR5cGljYWwvc3RlcmVvdHlw aWNhbCB0aGluZ3MgZ2l2ZW4gYnkgdGhlIGlubmVyIHF1YW50aWZpZXIuCgoKCldoZW4gcXVhbnRp Znlpbmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2ZXJhbCBvYmplY3RzLCBpdCBpcyB1c2VmdWwg dG8gcmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3VhbGx5IG1hc3Nlcy4gQnkgZGVmaW5pdGlvbiwg IntudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIntudW1iZXJ9ICcnZGEgcG9pIGtlJ2Eg bWUnJyB7c3VtdGl9Ii4gWW91IHdpbGwgbm90IGJlIGZhbWlsaWFyIHdpdGggJydkYScnIHVudGls IGEgZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2UgaXQgb24gZmFpdGggdGhhdCBpdCBtZWFucyAi c29tZXRoaW5nIiBpbiB0aGlzIGNvbnRleHQuIFRoZXJlZm9yZSwgJydjaSBtaScnIG1lYW5zICJU d28gb2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAidXMiIi4gV2hlbiBxdWFudGlmeWluZyBzdWNoIG1h c3NlcywgaXQgY2FuIHNhZmVseSBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlbGF0aW9uIGltcGxpZWQg YnkgJydtZScnIGlzIG1lbWJlcnNoaXAgb2YgdGhlIG1hc3MsIGFuZCB0aGVyZWZvcmUgJydjaSBt aScnIGlzICJUaHJlZSBvZiB1cyIuCgoKClNvbWUgaW1wb3J0YW50IHVzZXMgb2YgcXVhbnRpZmlj YXRpb24gcmVxdWlyZXMgeW91IHRvIGJlIHF1YW50aWZ5IHNlbGJyaSBvciBvYmplY3RzIHdob3Nl IGlkZW50aXR5IGlzIHVua25vd24uIFRoaXMgaXMgZG9uZSBieSAibG9naWNhbGx5IHF1YW50aWZp ZWQgdmFyaWFibGVzIi4gVGhlc2UsIGFzIHdlbGwgYXMgaG93IHRvIHF1YW50aWZ5IHRoZW0gd2ls bCBiZSBjb3ZlcmVkIGluIGxlc3NvbnMgdHdlbnR5LXNldmVuLgoKCgpMYXN0bHksIGhvdyBjYW4g eW91IHF1YW50aWZ5IHVuY291bnRhYmxlIHN1YnN0YW5jZXMgbGlrZSBzdWdhciBvciB3YXRlcj8g T25lIHNvbHV0aW9uIGlzIHRvIHF1YW50aWZ5IGl0IHVzaW5nIGluZXhhY3QgbnVtYmVycy4gVGhp cyB1c2UgaXMgdmFndWUsIG5vdCBvbmx5IGJlY2F1c2UgdGhlIHZhbHVlIG9mIHRoZSBudW1iZXIg aXMgdmFndWUsIGJ1dCBhbHNvIGJlY2F1c2UgaXQncyBub3Qgc3BlY2lmaWVkIG9uIHdoYXQgc2Nh bGUgeW91J3JlIGNvdW50aW5nOiBUaGUgc3VnYXIgY291bGQgYmUgY29uc2lkZXJlZCBhIGdyb3Vw IG9mIG1hbnkgY3J5c3RhbHMsIGNvdW50ZWQgb25lIGF0IGEgdGltZSwgYW5kIHRoZSB3YXRlciBj b3VsZCBiZSBxdWFudGlmaWVkIGJ5IHRoZSBhbW91bnRzIG9mIHJhaW5kcm9wcyBpdCB0b29rIHRv IG1ha2UgdGhlIGJvZHkgb2Ygd2F0ZXIgaW4gcXVlc3Rpb24uIFdoaWxlIHRoaXMgd2F5IG9mIGNv dW50aW5nIGlzIGxlZ2l0aW1hdGUsIGl0J3Mgbm90IHZlcnkgZXhhY3QgYW5kIGNhbiBlYXNpbHkg Y29uZnVzZSBvciBtaXNsZWFkLgoKQSB3YXkgdG8gYmUgZXhwbGljaXQgYWJvdXQgbm9uLWNvdW50 YWJpbGl0eSBpcyB0byB1c2UgdGhlIG51bGwgb3BlcmFuZCAnJ3R1J28nJyBhcyBhbiBpbm5lciBx dWFudGlmaWVyLgoKX18nJ3R1J28nJ19fIE51bGwgb3BlcmFuZCAoIMOYICkuIFVzZWQgaW4gdW5h cnkgbWVrc28uCgpUaGlzIHNvbHV0aW9uIGlzIGVsZWdhbnQgYW5kIGludHVpdGl2ZSwgYW5kIGFs c28gZ2l2ZXMgbWUgYW4gZXhjdXNlIHRvIHF1b3RlIHRoaXMgaG9ycmlmeWluZywgeWV0IGNvbWlj YWwgZXhhbXBsZSBmcm9tIHRoZSBvcmlnaW5hbCAnJ3hvcmxvJyctcHJvcG9zYWw6CgonJ2xlIG5h bm11IGN1IHNlIHNudXRpIC5pIGphJ2UgYm8gbG8gdHUnbyBnZXJrdSBjdSBrdXNwZSBsZSBrbGFq aScnCgpfXycnc251dGknJ19fIHgxIGlzIGFuIGFjY2lkZW50IG9uIHRoZSBwYXJ0IG9mIHgyCgpf XycnamEnZScnX18gc3VtdGNpdGE6IEJBSTogKGZyb20gJydqYWxnZScnKTogQnJpZGkgcmVzdWx0 cyBpbiB7c3VtdGl9IAoKX18nJ2t1c3BlJydfXyB4MSBzcGFucy9leHRlbmRzIG92ZXIgeDIKCl9f JydrbGFqaScnX18geDEgaXMgYSByb2FkL2F2ZW51ZS9zdHJlZXQgYXQgeDIgYWNjZXNzaW5nIHgz CgoKCldoYXQgZG9lcyBpdCBtZWFuPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZSBtYW4gaGFk IGFuIGFjY2lkZW50IGFuZCBzbyB0aGVyZSB3YXMgZG9nIGFsbCBvdmVyIHRoZSByb2FkIn5+CgoK CkEgc2Vjb25kIG1ldGhvZCBvZiBxdWFudGlmeWluZyBzdWJzdGFuY2VzIGlzIHRvIHVzZSB0aGUg dGVuc2VzICcndmUnaScnLCAnJ3ZlJ2EnJyBhbmQgJyd2ZSd1JycgYXMgbWVudGlvbmVkIGluIGxl c3NvbiB0ZW46CgonJ3RpIHZlJ2kgZGphY3UnJyAtIFRoaXMgaXMgYSBzbWFsbCBhbW91bnQgb2Yg d2F0ZXIKCl9fJydkamFjdScnX18geDEgaXMgYW4gZXhwYW5zZSBvZiB3YXRlci9pcyBtYWRlIG9m IHdhdGVyL2NvbnRhaW5zIHdhdGVyCgoKClRoaXJkbHksIG9mIGNvdXJzZSwgeW91IGNvdWxkIHVz ZSBhIGJyaXZsYSB0byBnaXZlIGFuIGV4YWN0IG1lYXN1cmVtZW50OgoKJydsZSB0YSBkamFjdSBj dSBraSdvZ3JhIGJlIGxpIHJlIHBpIGtpJ28ga2knbycnIC0gIlRoYXQgd2F0ZXIgaGFzIGEgbWFz cyBvZiAyLjAwMCAwMDAga2lsb2dyYW1zIgoKX18nJ2tpJ29ncmEnJ19fIHgxIG1lYXN1cmVzIGlu IG1hc3MgeDIga2lsb2dyYW1zIGJ5IHN0YW5kYXJkIHgzCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdHdlbnR5LXRocmVlIChuZWdhdGlvbikKClNvbWV0aW1lcywganVzdCBzYXlpbmcgd2hh dCdzIHRoZSB0cnV0aCBpcyBub3QgZW5vdWdoLiBPZnRlbiwgd2Ugd2FudCB0byBzcGVjaWZ5IHdo YXQncyBub3QgdGhlIHRydXRoLCBhbmQgd2UgZG8gdGhpcyBieSB1c2luZyBuZWdhdGlvbi4KCk5l Z2F0aW9uIGluIEVuZ2xpc2ggbW9zdGx5IGludm9sdmVzIOKAnG5vdOKAnSwgYW5kIGlzIGNvbXBs ZXRlbHkgYXJiaXRyYXJ5IGFuZCBhbWJpZ3VvdXMuIFdlLCBhcyBMb2piYW5pc3RzLCBjYW4ndCBo YXZlIHRoYXQsIG9mIGNvdXJzZSwgc28gTG9qYmFuIGNvbnRhaW5zIGFuIGVsZWdhbnQgYW5kIHVu YW1iaWdpb3VzIHN5c3RlbSBmb3IgbmVnYXRpbmcuIFdoYXQgd2lsbCBiZSBwcmVzZW50ZWQgaGVy ZSBhcmUgdGhlIG9mZmljaWFsIGdvbGQtc3RhbmRhcmQgcnVsZXMuIERpc2FwcHJvdmFsIG9mIHRo ZXNlICJnb2xkZW4gcnVsZXMiIGNvbmNlcm5pbmcgJyduYScnIGlzIGdyb3dpbmcsIGFuZCB0aGVy ZSBpcyBkaXNhZ3JlZW1lbnQgYWJvdXQgd2hhdCBydWxlIHNldCBzaG91bGQgcmVwbGFjZSBpdC4g Rm9yIG5vdywgSSB3aWxsIHN0aWNrIHdpdGggdGhlIG9mZmljaWFsIHJ1bGVzLCBhbmQgdGhlcmVm b3JlLCBzbyB3aWxsIHlvdSwgZGVhciByZWFkZXIuCgpUaGUgZmlyc3QgeW91IG5lZWQgdG8ga25v dyBhYm91dCBpcyBicmlkaSBuZWdhdGlvbiwgc28gY2FsbGVkIGJlY2F1c2UgaXQgbmVnYXRlcyB0 aGUgYnJpZGkgaXQncyBpbiwgc2F5aW5nIGl0J3Mgbm90IHRydWUuIFRoZSB3YXkgdG8gbmVnYXRl IGEgYnJpZGkgaXMgdG8gcGxhY2UgJyduYScnIGZpcnN0IGluIHRoZSBzZW50ZW5jZSB3aXRoIGEg JydrdScnIGFmdGVyIGl0LCBvciBqdXN0IGJlZm9yZSB0aGUgc2VsYnJpLiAKCl9fJydzcGVuaScn X18geDEgaXMgbWFycmllZCB0byB4MiB1bmRlciBjb252ZW50aW9uIHgzCgpUaHVzOiAnJ25hIGt1 IGxlIG1pIHNwZW5pIGN1IG5pbm11Jycgc3RhdGVzIHRoYXQg4oCcTXkgc3BvdXNlIGlzIG5vdCBh IHdvbWFu4oCdLiBJdCBzdGF0ZXMgbm90aGluZyBhYm91dCB3aGF0IG15IHdpZmUgaXMsIG9yIGlm IEkgZXZlbiBoYXZlIGEgd2lmZS4gSXQgb25seSBzdGF0ZXMgdGhhdCBJIGRvIG5vdCBoYXZlIGEg d2lmZSB3aG8gaXMgYWxzbyBhIHdvbWFuLiBUaGlzIGhhcyBhbiBpbXBvcnRhbnQgaW1wbGljYXRp b246IElmIHRoZSBuZWdhdGlvbiBvZiBhIGJyaWRpIGlzIGZhbHNlLCB0aGUgYnJpZGkgbXVzdCBi ZSB0cnVlOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1IG5hIG5pbm11JycgbXVzdCBtZWFuIHRoYXQg SSBoYXZlIGJvdGggYSBzcG91c2UsIGFuZCB0aGF0IHNoZSBpcyBhIHNoZS4KCkl0IGlzIHBvc3Np YmxlIHRvIHVzZSBicmlkaSBuZWdhdGlvbnMgaW4gYWxsIGJyaWRpLCBldmVuIHRoZSBpbXBsaWNp dCBicmlkaSBvZiBkZXNjcmlwdGl2ZSBzdW10aS4gJydsbyBuYSBwcmVudScnIGNhbiByZWZlciB0 byBhbnl0aGluZyBub24taHVtYW4sIHdoZXRoZXIgaXQgYmUgYSBzcGhpbngsIGEgYmFzZWJhbGwg b3IgdGhlIHByb3BlcnR5IG9mIGFwcHJvcHJpYXRlbmVzcy4KCgoKX18nJ2JhdScnX18gc3VtdGNp dGEsIGZyb20gYmFuZ3U6IHVzaW5nIHRoZSBsYW5ndWFnZSBvZiB7c3VtdGl9CgpfXycnc2UgamEn ZScnX18gc3VtdGNpdGEsIGZyb20gc2UgamFsZ2U6IGJlY2F1c2Ugb2Yge3N1bXRpfQoKCgpPZnRl biB3aGVuIHVzaW5nICcnbmEnJywgaXQncyBhIHByb2JsZW0gdGhhdCBpdCBuZWdhdGVzIHRoZSBl bnRpcmUgYnJpZGkuIElmIEkgc2F5ICcnbWkgbmEgc3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBz ZSBqYSdlIGxlIG51IG1pIGRvdGNvJycsIEkgZW5kIHVwIG5lZ2F0aW5nIHRvbyBtdWNoLCBhbmQg aXQgaXMgbm90IGNsZWFyIHRoYXQgSSB3YW50ZWQgdG8gb25seSBuZWdhdGUgdGhhdCBJIHNwZWFr IGZhc3QuIFRoZSBzZW50ZW5jZSBjb3VsZCBzdWdnZXN0IHRoYXQgSSBpbiBmYWN0IHNwZWFrIGZh c3QgYmVjYXVzZSBvZiBzb21lIG90aGVyIHJlYXNvbiwgZm9yIGluc3RhbmNlIHRoYXQgSSBzcGVh ayBmYXN0IGluIEZyZW5jaCBiZWNhdXNlIEknbSBHZXJtYW4uIFRvIGV4cHJlc3MgdGhlIHNlbnRl bmNlIG1vcmUgcHJlY2lzZWx5LCBJIG5lZWQgdG8gb25seSBuZWdhdGUgdGhhdCBJIHNwZWFrIGZh c3QsIGFuZCBub3QgdGhlIG90aGVyIHRoaW5ncy4KClRvIG9ubHkgbmVnYXRlIHBhcnQgb2YgYSBi cmlkaSwgJyduYSBrdScnIGNhbiBiZSBtb3ZlZCBhcm91bmQgdGhlIGJyaWRpIGFuZCBwbGFjZWQg YW55d2hlcmUgYSBzdW10aSBjYW4gZ28uIEl0IHRoZW4gbmVnYXRlcyBhbnkgc3VtdGksIHNlbGJy aSBhbmQgc3VtdGNpdGEgcGxhY2VkIGFmdGVyIGl0LiBXaGVuIHBsYWNlZCBpbW1lZGlhdGVseSBi ZWZvcmUgdGhlIHNlbGJyaSwgdGhlICcna3UnJyBjYW4gYmUgZWxpZGVkLgoKTW92aW5nICcnbmEg a3UnJyBmcm9tIHRoZSBsZWZ0IGVuZCBvZiB0aGUgYnJpZGkgYW5kIHJpZ2h0d2FyZHMgZWZmZWN0 cyBhbnkgcXVhbnRpZmllcnMgaW4gYSBjZXJ0YWluIHdheSwgYXMgY2FuIGJlIHNlZW4gYnkgdGhp cyBleGFtcGxlOgoKCgpUaGVyZSBhcmUgZm9yY2VzIHdpdGhpbiB0aGUgTG9qYmFuIGNvbW11bml0 eSB3aG8sIHBlcmhhcHMgcmlnaHRseSwgdGhpbmsgdGhhdCB0aGVyZSBpcyBubyBnb29kIHJlYXNv biB0aGF0IGEgJyduYScnIHBsYWNlZCBiZWZvcmUgYSBzZWxicmkgbmVnYXRlcyB0aGUgZW50aXJl IGJyaWRpLCB3aGVyZWFzIGEgJyduYSBrdScnIGFueSBvdGhlciBwbGFjZSBuZWdhdGVzIG9ubHkg d2hhdCBpcyB0cmFpbGluZyBiZWhpbmQgaXQuIEhvd2V2ZXIsIGluIHRoZXNlIGxlc3NvbnMgeW91 IHdpbGwgYmUgdGF1Z2h0IHdoYXQgaXMgc3RpbGwgdGhlIG9mZmljaWFsIHN0YW5jZSwgbmFtZWx5 IHRoYXQgJyduYScnIGJlZm9yZSB0aGUgc2VsYnJpIG5lZ2F0ZXMgdGhlIGJyaWRpLgoKCgpUaGUg dXNlIG9mICcnbmEga3UnJyBpcyBleGVtcGxpZmllZCB3aXRoIHRoZSBmb2xsb3dpbmcgZXhhbXBs ZXMuCgonJ25hIGt1IHJvIHJlbW5hIGN1IHZlcmJhJycg4oCcSXQncyBub3QgdHJ1ZSB0aGF0OiBB bGwgaHVtYW5zIGFyZSBjaGlsZHJlbuKAnQoKJydzdSdvIHJlbW5hIG5hIGt1IGN1IHZlcmJhJycg 4oCcRm9yIGF0IGxlYXN0IG9uZSBodW1hbiBpdCdzIG5vdCB0cnVlIHRoYXQ6IEl0J3MgYSBjaGls ZOKAnS4gU2VlIHRoYXQgdGhlICcnbmEga3UnJyBpcyBwbGFjZWQgYmVmb3JlICcnY3UnJywgc2lu Y2UgYSBzdW10aSBjYW4gZ28gb25seSBiZWZvcmUsIG5vdCBhZnRlciB0aGUgJydjdScnLiBIYWQg SSBvbmx5IHVzZWQgJyduYScnLCBpdCB3b3VsZCBoYXZlIHRvIGdvIGFmdGVyICcnY3UnJyAtIGJ1 dCB0aGF0IHdvdWxkIGhhdmUgbmVnYXRlZCB0aGUgZW50aXJlIGJyaWRpLCBtZWFuaW5nICJJdCdz IG5vdCB0cnVlIHRoYXQ6IEF0IGxlYXN0IG9uZSBodW1hbiBpcyBhIGNoaWxkIi4KCgoKV2hlbiB0 aGUgJyduYSBrdScnIGlzIG1vdmVkIHJpZ2h0d2FyZHMsIGFueSBxdWFudGlmaWVyIGlzIGludmVy dGVkIC0gdGhhdCBpczogJydybycnIGlzIHR1cm5lZCBpbnRvICcnc3UnbycnLiBUaGlzIGlzLCBv ZiBjb3Vyc2UsIG9ubHkgaWYgdGhlIG1lYW5pbmcgb2YgdGhlIGJyaWRpIGhhcyB0byBiZSBwcmVz ZXJ2ZWQuIFRoaXMgbWVhbnMgdGhhdCB3aGVuIHRoZSAnJ25hIGt1JycgaXMgcGxhY2VkIGF0IHRo ZSBlbmQgb2YgdGhlIGJyaWRpLCBvbmx5IHRoZSBzZWxicmkgaXMgbmVnYXRlZCBidXQgYWxsIHRo ZSBzdW10aSBhbmQgc3VtdGNpdGEgYXJlIHByZXNlcnZlZCwgYXMgY2FuIGJlIHNlZW4gYnkgdGhl c2UgdGhyZWUgaWRlbnRpY2FsIGJyaWRpOgoKX18nJ2NrdWxlJydfXyB4MSBpcyBhIHNjaG9vbCBh dCBsb2NhdGlvbiB4MiB0ZWFjaGluZyB4MyB0byBzdHVkZW50cyB4NCBhbmQgb3BlcmF0ZWQgYnkg eDUKCgoKJyduYSBrdSBybyB2ZXJiYSBjdSB2ZSBja3VsZSBmbyBzdSdvIGNrdWxlJycg4oCTIOKA nEl0J3Mgbm90IHRydWUgdGhhdCBhbGwgY2hpbGRyZW4gYXJlIHN0dWRlbnRzIGluIGEgc2Nob29s LuKAnQoKJydzdSdvIHZlcmJhIGN1IHZlIGNrdWxlIG5hIGt1IGZvIHN1J28gY2t1bGUnJyDigJMg 4oCcU29tZSBjaGlsZHJlbiBhcmUgc3R1ZGVudHMgaW4gbm90IGEgc2luZ2xlIHNjaG9vbC7igJ0K Cicnc3UnbyB2ZXJiYSBjdSB2ZSBja3VsZSBmbyBybyBja3VsZSBuYSBrdScnIOKAkyDigJxTb21l IGNoaWxkcmVuIGFyZSBmb3IgYWxsIHNjaG9vbHMgbm90IHN0dWRlbnRzIGluIHRoZW0u4oCdCgoK ClRoZSBvcHBvc2l0ZSBvZiAnJ25hJycgaXMgJydqYSdhJycuIFRoaXMgaXMgYmFyZWx5IGV2ZXIg dXNlZCwgc2luY2UgaXQgaXMgZGVmYXVsdCBpbiBtb3N0IGJyaWRpLiBPbmUgZXhjZXB0aW9uIGlz IHJlcGVhdGVkIGJyaWRpIChuZXh0IGxlc3NvbikuIFNvbWV0aW1lcyBpdCdzIHVzZWQgdG8gcHV0 IG1vcmUgd2VpZ2h0IG9uIHRoZSB0cnV0aCBvZiB0aGUgYnJpZGksIGFzIGluICcnbGEgLmJhYi4g amEnYSBtZWxiaScnID0gIkJvYiBpcyBpbmRlZWQgYmVhdXRpZnVsIi4KCgoKV2hpbGUgdGhlIG1l Y2hhbmlzbSBvZiAnJ25hIGt1JycgcmVzZW1ibGVzIG5hdHVyYWwgbGFuZ3VhZ2UgbmVnYXRpb24s IGl0IGNhbiBiZSBkaWZmaWN1bHQgdG8ga2VlcCB0cmFjayBvZiBleGFjdGx5IHdoYXQgaXMgbmVn YXRlZCBhbmQgaG93IHRoYXQgYWZmZWN0cyB0aGUgYnJpZGkuIEZvciB0aGF0IHJlYXNvbiwgdGhl IGNvbnN0cnVjdCAnJ25hIGt1JycgaXMgcmFyZWx5IHNlZW4gYW55d2hlcmUgb3RoZXIgdGhhbiB0 aGUgYmVnaW5uaW5nIG9mIGEgYnJpZGkuIEluIG1vc3QgY2FzZXMgd2hlcmUgbW9yZSBzcGVjaWZp YyBuZWdhdGlvbiBpcyBuZWVkZWQgcGVvcGxlIHJlc29ydCB0byBhIGRpZmZlcmVudCBtZXRob2Qu IFRoaXMgbWV0aG9kLCBjYWxsZWQgc2NhbGFyIG5lZ2F0aW9uLCBpcyBhbiBlbGVnYW50IGFuZCBp bnR1aXRpdmUgdG9vbC4gVXNpbmcgaXQsIHlvdSBlZmZlY3Qgb25seSB0aGUgc2VsYnJpLCBzaW5j ZSB0aGUgd29yZHMgdXNlZCBpbiBzY2FsYXIgbmVnYXRpb24gYmluZHMgdG8gdGhlIHNlbGJyaSBt dWNoIGxpa2UgdGhlIHdvcmQgJydzZScnLgoKVGhlIG5hbWUg4oCcc2NhbGFyIG5lZ2F0aW9u4oCd IGlzIGRlcml2ZWQgZnJvbSB0aGUgZmFjdCB0aGF0IHRoZSB3b3JkcyB3aGljaCBiaW5kIHRvIHRo ZSBzZWxicmkgY2FuIGJlIHBsYWNlZCBhbG9uZyBhIHNjYWxlIGZyb20gYWZmaXJtYXRpb24gb3Zl ciBuZWdhdGlvbiBhbmQgdG8gc3RhdGluZyB0aGF0IHRoZSBvcHBvc2l0ZSBjYXNlIGlzIHRydWU6 Cgp8fFdvcmR8TWVhbmluZwoKamUnYXzigJxJbmRlZWTigJ07IHNjYWxhciBhZmZpcm1lcgoKbm8n ZXzigJxOb3QgcmVhbGx54oCdLCBzY2FsYXIgbWlkcG9pbnQKCm5hJ2V84oCcTm9uLeKAnCwgc2Nh bGFyIG5lZ2F0b3IKCnRvJ2V84oCcSWzigJ0sIOKAnERpcy3igJwsIOKAnE1pc+KAnSBlY3Q7IHNj YWxhciBvcHBvc2VyfHwKCgoKVGhlc2Ugd29yZHMgYXJlIG5vdCBuZWdhdG9ycyBpbiB0aGUgc2Ft ZSBzZW5zZSBhcyAnJ25hJycuIFRoZXkgZG8gbm90IHN0YXRlIHRoYXQgYSBicmlkaSBpcyBmYWxz ZSwgYnV0IG1ha2VzIGEgcG9zaXRpdmUgc3RhdGVtZW50IHRoYXQgYSBicmlkaSBpcyB0cnVlIOKA kyB0aGUgc2FtZSBicmlkaSwgYnV0IHdpdGggYSBkaWZmZXJlbnQgc2VsYnJpLiBUaGlzIGRpc3Rp bmN0aW9uIGlzIG1vc3RseSBhY2FkZW1pYywgdGhvdWdoLiBJZiwgZm9yIGV4YW1wbGUsIEkgc3Rh dGUgdGhhdCAnJ21pIG5hJ2Ugc2UgbmVsY2knJyAiSSBhbSBub24tbGlrZWQiLCBJIGFjdHVhbGx5 IHN0YXRlIHRoYXQgc29tZSBzZWxicmkgYXBwbGllcyB0byBtZSwgd2hpY2ggaXMgYWxzbyBvbiBh IHJlbGV2YW50IHNjYWxlIHdpdGggdGhlIHNlbGJyaSAnJ25lbGNpJycuIE1vc3Qgb2YgdGhlIHRp bWUsIHdlIGFzc3VtZSBhIHNjYWxlIHdoZXJlIHRoZSBwb3NpdGlvbnMgYXJlIG11dHVhbGx5IGV4 Y2x1c2l2ZSAobGlrZSBsb3ZlLWxpa2UtZGlzbGlrZS1oYXRlKSwgc28gJydtaSBuYSdlIHNlIG5l bGNpJycgaW1wbGllcyAnJ21pIG5hIHNlIG5lbGNpJycKClRoZXJlZm9yZSwgdGhlIHdvcmRzICcn bm8nZScnIGFuZCAnJ3RvJ2UnJyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIHNlbGJyaSBp cyBwbGFjZWQgb24gc29tZSBvYnZpb3VzIHNjYWxlOgoKJydsZSBtaSBzcGVuaSBjdSB0bydlIG1l bGJpJycg4oCTIOKAnU15IHNwb3VzZSBpcyB1Z2x54oCdIG1ha2VzIHNlbnNlLCBzaW5jZSB3ZSBp bW1lZGlhdGVseSBrbm93IHdoYXQgdGhlIG9wcG9zaXRlIG9mIGJlYXV0aWZ1bCBpcywgd2hpbGUK CicnbWkga2xhbWEgbGUgbWkgdG8nZSB6ZGFuaScnIOKAkyDigJ1JIGdvIHRvIG15IG9wcG9zaXRl IHRoaW5nIG9mIGhvbWXigJ0sIHdoaWxlIGdyYW1tYXRpY2FsLCBsZWF2ZXMgdGhlIGxpc3RlbmVy IGd1ZXNzaW5nIHdoYXQgdGhlIHNwZWFrZXIncyDigJxvcHBvc2l0ZS1ob21l4oCdIGlzIGFuZCBz aG91bGQgYmUgYXZvaWRlZC4KCgoKU28gaG93IGNhbiB5b3UgbmVnYXRlIG9ubHkgdGhlIHNlbGJy aSB3aXRob3V0IGFsc28gaW1wbHlpbmcgdGhhdCB0aGUgc2VsYnJpIGlzIGNvcnJlY3QgYXQgc29t ZSBvdGhlciBwb3NpdGlvbiBvbiBhIHRydXRoLXNjYWxlPyBTaW1wbGU6IE1vdmluZyB0aGUgJydu YSBrdScnIHRvIHRoZSByaWdodG1vc3QgZW5kIG9mIHRoZSBicmlkaSwgYXMgZGVtb25zdHJhdGVk IGEgZmV3IGxpbmVzIGFib3ZlLiBUaGlzIGZlYXR1cmUgaXMgdmVyeSB1c2VmdWwuIFNvbWUgbG9q YmFuaXN0cyBwcmVmZXIgdG8gcHJlZml4IHRoZSByYWZzaSAnJ25hcicnICh0aGUgcmFmc2kgb2Yg JyduYScnKSBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIC0gdGhpcyBoYXMgdGhlIHNhbWUgZWZmZWN0 LCBidXQgSSBhZHZpc2UgYWdhaW5zdCBpdCwgYmVjYXVzZSBpdCBtYWtlcyBmYW1pbGlhciBicml2 bGEgc2VlbSBhbGllbiwgYW5kIGl0J3MgaGFyZGVyIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4g Y2FzdWFsbHkuCgpJZiBhIHNpdHVhdGlvbiBhcmlzZXMgd2hlcmUgeW91IG5lZWQgdG8gbmVnYXRl IG9ubHkgdGhlIHNlbGJyaSwgYnV0IHdhbnQgaXQgdG8gYmUgY2xlYXIgYmVmb3JlIHRoZSBlbmQg b2YgdGhlIGJyaWRpLCB0aGUgZXhwZXJpbWVudGFsIGNtYXZvICcnbmEnZWknJywgd2hpY2ggZ3Jh bW1hdGljYWxseSB3b3JrcyBsaWtlICcnbmEnZScnLCBjYW4gYmUgdXNlZAoKX18nJ25hJ2VpJydf XzogTmVnYXRlcyB0aGUgZm9sbG93aW5nIHNlbGJyaSBvbmx5CgoKClRyeSB0byB0cmFuc2xhdGUg dGhlc2Ugc2VudGVuY2VzOgoK4oCcTXkgc3BvdXNlIGlzIG5vdCBhIHdvbWFu4oCdIChtZWFuaW5n IHRoYXQgaGUgaXMgYSBtYWxlKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUgbWkgc3Blbmkg Y3UgbmEnZSAvIHRvJ2UgbmlubXUnJy4gVXNpbmcgc2NhbGFyIG5lZ2F0aW9uIGhlcmUgaW1wbGll cyB0aGF0IGhlIGV4aXN0cywgd2hpY2ggbmEgZGlkIG5vdC5+fgoKCgrigJxNeSBzcG91c2UgaXMg bm90IHJlYWxseSBhIHdvbWFu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSBtaSBzcGVu aSBjdSBubydlIG5pbm11JycuIFRoZSBzY2FsZSBoZXJlIGlzIHByZXN1bWVkIHRvIGJlIGZyb20g d29tYW4gdG8gbWFuLn5+CgoKCuKAnEkgZG9uJ3Qgc3BlYWsgZmFzdCBpbiBFbmdsaXNoIGJlY2F1 c2UgSSdtIEdlcm1hbuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgbmEnZSBzdXRyYSB0 YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2UgbGUgbnUgbWkgZG90Y28nJ35+CgoKCkFsc28sIG5v dGUgdGhhdCB3aGVuZXZlciB0aGVzZSB3b3JkcyBhcmUgdXNlZCB0b2dldGhlciB3aXRoIGEgdGFu cnUsIHRoZXkgb25seSBhZmZlY3QgdGhlIGxlZnRtb3N0IHNlbGJyaS4gSW4gb3JkZXIgdG8gbWFr ZSBpdCBiaW5kIHRvIHRoZSB3aG9sZSB0YW5ydSBvciBwYXJ0cyBvZiB0aGUgdGFucnUsIHRoZSB1 c3VhbCB0YW5ydS1ncm91cGluZyB3b3JkcyBjYW4gYmUgdXNlZC4KCgoKVHJ5IHRvIHNheSDigJxJ IHNlbGwgc29tZXRoaW5nIHdoaWNoIGlzIG5vdCB5ZWxsb3cgaG9tZXPigJ0gdXNpbmcgdGhlIHRh bnJ1ICcncGVseHUgemRhbmkgdmVjbnUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgbmEn ZSBrZSBwZWx4dSB6ZGFuaSBrZSdlIHZlY251IG9yIG1pIG5hJ2UgcGVseHUgYm8gemRhbmkgdmVj bnUnJ35+CgoKCldoZW4gYXR0ZW1wdGluZyB0byBhbnN3ZXI6IOKAnElzIHRoZSBraW5nIG9mIHRo ZSBVU0EgZmF0P+KAnSwgYWxsIG9mIHRoZXNlIG5lZ2F0aW9ucyBmYWlsLiBXaGlsZSBpdCdzIHRl Y2huaWNhbGx5IGNvcnJlY3QgdG8gbmVnYXRlIGl0IHdpdGggJyduYScnLCBzaW5jZSBpdCBtYWtl cyBubyBhc3N1bXB0aW9ucyBvZiB0aGF0IGlzIHRydWUsIGl0J3MgbWlsZGx5IG1pc2xlYWRpbmcg c2luY2UgaXQgY291bGQgbGVhZCB0aGUgbGlzdGVuZXIgdG8gYmVsaWV2ZSB0aGVyZSBpcyBhIGtp bmcgb2YgdGhlIFVTQS4gRm9yIHRoZXNlIHNjZW5hcmlvcywgdGhlcmUgaXMgYSBtZXRhbGluZ3Vp c3RpYyBuZWdhdG9yLCAnJ25hJ2knJy4KCicnbmEnaScnIE1ldGFsaW5ndWlzdGljIG5lZ2F0b3Iu IFNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIGFzc2lnbmluZyBhIHRydXRoIHZhbHVlIHRvIHRoZSBi cmlkaS4KCkJlY2F1c2UgJyduYSdpJycgY2FuIGJlIG5lZWRlZCBhbnl3aGVyZSBpdCBoYXMgYmVl biBnaXZlbiB0aGUgZ3JhbW1hciBvZiB0aGUgYXR0aXR1ZGluYWxzLCB3aGljaCBtZWFucyBpdCBj YW4gYXBwZWFyIGFueXdoZXJlLCBhbmQgaXQgYXR0YWNoZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQg b3IgY29uc3RydWN0LgoKCgpfXycncGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIK CicnbGUgbmEnaSBwdSB0ZSB6dWt0ZSBiZSBsZSBza2FtaSBjdSBwYWxjaScnIOKAkyDigJ1UaGUg c291Z2h0IGdvYWwge21pc3Rha2UhfSBvZiB0aGUgY29tcHV0ZXIgd2FzIGV2aWzigJ0sIHByb2Jh Ymx5IHByb3Rlc3RzIHRoYXQgY29tcHV0ZXJzIGNhbiBzZWVrIGEgZ29hbCB2b2xpdGlvbmFsbHku CgoKClNpbmNlIHRoaXMgaXMgYSBsZXNzb24gb24gbmVnYXRpb24sIEkgYmVsaWV2ZSB0aGUgd29y ZCAnJ25haScnIGRlc2VydmVzIGEgc2hvcnQgbWVudGlvbi4gSXQgaXMgdXNlZCB0byBuZWdhdGUg bWlub3IgZ3JhbW1hdGljYWwgY29uc3RydWN0cywgYW5kIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0 aW9uIHdpdGggYXR0aXR1ZGluYWxzLCBhbGwgc3VtdGNpdGEgaW5jbHVkaW5nIHRlbnNlcywgdm9j YXRpdmVzIGFuZCBsb2dpY2FsIGNvbm5lY3RpdmVzLiBUaGUgcnVsZXMgZm9yIG5lZ2F0aW5nIHVz aW5nICcnbmFpJycgZGVwZW5kIG9uIHRoZSBjb25zdHJ1Y3QsIGFuZCBzbyB0aGUgZWZmZWN0IG9m ICcnbmFpJycgaGFzIGJlZW4gZGlzY3Vzc2VkIHdoZW4gbWVudGlvbmluZyB0aGUgY29uc3RydWN0 IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gaXMgc3VtdGNpdGEsIHdoZXJlIHRoZSBydWxlcyBm b3IgbmVnYXRpb24gYXJlIG1vcmUgY29tcGxleCwgYW5kIHdpbGwgbm90IGJlIGRpc2N1c3NlZCBo ZXJlLgoKX19Ob3RlOl9fIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIGl0IGhhcyBiZWVuIHByb3Bv c2VkIHRvIG1vdmUgJyduYWknJyB0byB0aGUgc2VsbWEnbyBDQUksIHdoaWNoIG1lYW5zIHRoZSBz ZW1hbnRpY3Mgb2YgJyduYWknJyBkZXBlbmQgb24gd2hpY2ggc2VsbWEnbyBpdCBmb2xsb3dzLiAK CgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1mb3VyIChicmlrYSdpL3Byby1i cmlkaSBhbmQga28nYSkKCklmIEkgc2F5IHRoYXQgSSdtIGNhbGxlZCBNaWtoYWlsLCAnJ3pvIC5t aWthaWwuIGNtZW5lIG1pJycsIGFuZCB5b3UgaGF2ZSB0byBzYXkgdGhlIGV4YWN0IHNhbWUgYnJp ZGksIHdoYXQgd291bGQgdGhhdCBiZT8gT25lIG9mIHRoZSBtYW55IGFuc3dlcnMgaXMgJydkbyBz ZSBjbWVuZSB6byAubWlrYWlsLicnLiBGb3IgdGhlIGJyaWRpIHRvIGJlIHRoZSBzYW1lLCB5b3Ug aGF2ZSB0byByZXBsYWNlICcnbWknJyB3aXRoICcnZG8nJywgYW5kIGl0IGRvZXNuJ3QgbWF0dGVy IHdoaWNoIGlmIHlvdSBzYXkgdGhlIGJyaWRpIHdpdGggdGhlICcnc2UnJy1jb252ZXJ0ZWQgc2Vs YnJpIG9yIG5vdC4gVGhpcyBpcyBiZWNhdXNlIGEgYnJpZGkgaXMgbm90IHRoZSB3b3JkcyB3aGlj aCBleHByZXNzIGl0IOKAkyBhIGJyaWRpIGlzIGFuIGlkZWEsIGFuIGFic3RyYWN0IHByb3Bvc2l0 aW9uLiBUaGUgd29yZCAnJ21pJycgd2hlbiBJIHNheSBpdCBhbmQgdGhlIHdvcmQgJydkbycnIHdo ZW4geW91IGRvIHJlZmVycyB0byB0aGUgc2FtZSBzdW10aSwgc28gdGhlIHR3byBicmlkaSBhcmUg aWRlbnRpY2FsLgoKVGhpcyBsZXNzb24gaXMgb24gJydicmlrYSdpJycsIHRoZSBicmlkaSBlcXVp dmFsZW50IG9mIHN1bWthJ2kuIFRoZXkgYXJlIHdvcmQgd2hpY2ggcmVwcmVzZW50IGVudGlyZSBi cmlkaS4gSGVyZSBpdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCBhIGJyaWRpIGNvbnNp c3RzIG9ubHkgb2Ygc3VtdGkgYW5kIHRoZSB0aGluZ3Mgd2hpY2ggY29udGFpbiB0aGUgc3VtdGks IHNlbGJyaSBhbmQgc3VtdGNpdGEuIE5laXRoZXIgYXR0aXR1ZGluYWxzLCBub3IgdGhlIHNlbWFu dGljIGxheWVyIG9mICcna28nJyBvciAnJ21hJycgYXJlIHBhcnQgb2YgdGhlIGJyaWRpIHByb3Bl ciwgYW5kIHNvIHRoZXNlIGFyZSBub3QgcmVwcmVzZW50ZWQgYnkgYSAnJ2JyaWthJ2knJy4KCgoK VGhlcmUgYXJlIG11Y2ggZmV3ZXIgJydicmlrYSdpJycgdGhhbiB0aGVyZSBhcmUgc3Vta2EnaS4g V2Ugd2lsbCBiZWdpbiBieSBnb2luZyB0aHJvdWdoIHNvbWUgb2YgdGhlIHdvcmRzIGluIHRoZSBt b3N0IHVzZWQgc2VyaWVzLCBjYWxsZWQgR09oQToKCldvcmQ6CURlZmluaXRpb246CgpfXycnZ28n dScnX18JUmVwZWF0cyByZW1vdGUgcGFzdCBicmlkaQoKX18nJ2dvJ2EnJ19fCVJlcGVhdHMgcGFz dCBicmlkaQoKX18nJ2dvJ2UnJ19fCVJlcGVhdHMgbmV4dC10by1sYXN0IGJyaWRpCgpfXycnZ28n aScnX18JUmVwZWF0cyBsYXN0IG1lbnRpb25lZCBicmlkaQoKX18nJ2dvJ28nJ19fCVJlcGVhdHMg ZnV0dXJlIGJyaWRpCgpfXycnbmVpJydfXwlSZXBlYXRzIGN1cnJlbnQgYnJpZGkKCl9fJydubydh JydfXwlSZXBlYXRzIG91dGVyIGJyaWRpCgoKClNvbWUgb2YgdGhlIEdPaEEtJydicmlrYSdpJycu IE5vdGljZSB0aGUgZmFtaWxpYXIgaSwgYSwgdS1wYXR0ZXJuIGZvciBjbG9zZSBpbiBwYXN0LCBt ZWRpdW0gaW4gcGFzdCBhbmQgZGlzdGFudCBpbiBwYXN0LgoKCgpUaGVzZSBhcmUgdmVyeSBtdWNo IGxpa2UgdGhlIHN1bWthJ2kgJydyaScnLCAnJ3JhJycgYW5kICcncnUnJy4gVGhleSBjYW4gb25s eSByZWZlciB0byBtYWluIGJyaWRpIG9mIGp1ZnJhLCBhbmQgbm90IHRob3NlIGNvbnRhaW5lZCBp biByZWxhdGl2ZSBwaHJhc2VzIG9yIGRlc2NyaXB0aW9uIHN1bXRpLiBUaGUgbWFpbiBicmlkaSBj YW4gY29udGFpbiBhIHJlbGF0aXZlIHBocmFzZSwgb2YgY291cnNlLCBidXQgYSAnJ2JyaWthJ2kn JyBjYW4gbmV2ZXIgYmUgdXNlZCB0byByZWZlciB0byBvbmx5IHRoZSByZWxhdGl2ZSBwaHJhc2Uu CgpBIEdPaEEgYWN0cyBncmFtbWF0aWNhbGx5IG11Y2ggbGlrZSBhIHNlbGJyaSwgYW55IGNvbnN0 cnVjdCB3aGljaCBjYW4gYXBwbHkgdG8gc2VsYnJpIGNhbiBhbHNvIGFwcGx5IHRvIHRoZXNlLiBU aGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgR09oQSBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBi cmlkaSBpdCByZXByZXNlbnRzLCBhbmQgdGhlIHN1bXRpIGFyZSBieSBkZWZhdWx0IHRoZSBzYW1l IGFzIGluIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBGaWxsaW5nIHRoZSBzdW10aSBwbGFjZXMg b2YgYSBHT2hBIGV4cGxpY2l0bHkgb3ZlcndyaXRlcyB0aGUgc3VtdGkgb2YgdGhlIGJyaWRpIGl0 IHJlcHJlc2VudHMuIENvbnRyYXN0OgoKQTogJydtaSBjaXRrYSBsbyBwbGlzZScnIEI6ICcnZ28n aScnIOKAkyDigJxJIGVhdCBhbiBhcHBsZS7igJ0g4oCcWW91IGRvLuKAnSB3aXRoCgpBOiAnJ21p IGNpdGthIGxvIHBsaXNlJycgQjogJydtaSBnbydpJycg4oCTIOKAnEkgZWF0IGFuIGFwcGxlLuKA nSDigJxJIGRvLCB0b28u4oCdCgoKClRoZXNlICcnYnJpa2EnaScnIGFyZSB2ZXJ5IHVzZWZ1bCB3 aGVuIGFuc3dlcmluZyBhIHF1ZXN0aW9uIHdpdGggJyd4dScnOgoKQTogJyd4dSBkbyBuZWxjaSBs ZSBtaSBzcGVuaScnIEI6ICcnZ28naSAvIG5hIGdvJ2knJyDigJMg4oCcRG8geW91IGxpa2UgbXkg d2lmZT/igJ0g4oCcWWVzLi9Oby7igJ0uIFRoZSAnJ3h1JycsIGJlaW5nIGFuIGF0dGl0dWRpbmFs LCBpcyBub3QgY29waWVkLgoKV2hlbiByZXBlYXRpbmcgYnJpZGkgbmVnYXRlZCBieSAnJ25hJycs IHRoYXQgaXM6IEJyaWRpIHdoZXJlICcnbmEnJyBpcyBwbGFjZWQgaW4gdGhlIHByZW5leCAobGVz c29uIHR3ZW50eS1zZXZlbiksIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpIG9yIHJpZ2h0 IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgcnVsZXMgZm9yIGNvcHlpbmcgb3ZlciAnJ25hJycgYXJl IGRpZmZlcmVudCBmcm9tIHdoYXQgb25lIG1pZ2h0IGV4cGVjdC4gQW55ICcnbmEnJyBpcyBjb3Bp ZWQgb3ZlciwgYnV0IGFueSBhZGRpdGlvbmFsICcnbmEnJyBpbiB0aGUgYnJpa2EnaSByZXBsYWNl cyB0aGUgZmlyc3QgbmEuIExldCBtZSBzaG93IHlvdSB3aXRoIGFuIGV4YW1wbGU6CgpBOiAnJ21p IG5hIGNpdGthIGxvIHBsaXNlJycKCkI6ICcnbWkgZ28naScnID0gJydtaSBuYSBjaXRrYSBsbyBw bGlzZScnCgpDOiAnJ21pIG5hIGdvJ2knJyA9ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKRDog JydtaSBuYSBuYSBnbydpJycgPSAnJ21pIGNpdGthIGxvIHBsaXNlJycgPSAnJ21pIGphJ2EgZ28n aScnCgoKCicnbmVpJycgYW5kICcnbm8nYScnIGFyZSBub3QgdXNlZCBtdWNoLCBleGNlcHQgZm9y IOKAnG1pbmQtYnJlYWtpbmcgcHVycG9zZXPigJ0sIHdoaWNoIGlzIG1ha2luZyB1cCBicmlkaSB3 aGljaCBhcmUgaGFyZCB0byBwYXJzZSwgbGlrZSAnJ2RlaSBuYSBzZSBkdSd1IGxlIG5vJ2EgbGEn ZSBsZSBuZWknJy4gU2luY2UgJyduZWknJyByZXBlYXRzIHRoZSBjdXJyZW50IG91dGVyIGJyaWRp LCBob3dldmVyLCAnJ2xlIG5laScnIGNhbiBiZSB1c2VkIHRvIHJlZmVyIHRvIHRoZSB4MSBvZiB0 aGUgY3VycmVudCBvdXRlciBicmlkaSwgJydsZSBzZSBuZWknJyB0aGUgeDIgYW5kIHNvIG9uLgoK CgpXaGVuIHVzaW5nICcnYnJpa2EnaScnLCBvbmUgbXVzdCBhbHdheXMgYmUgd2FyeSBvZiBjb3B5 aW5nIHNlbnRlbmNlcyB3aXRoIHRoZSBwZXJzb25hbCBzdW1rYSdpIGxpa2UgJydtaScnLCAnJ2Rv JycsICcnbWEnYScnIGVjdCwgYW5kIGJlIGNhcmVmdWwgbm90IHRvIHJlcGVhdCB0aGVtIHdoZW4g dGhleSBhcmUgaW4gdGhlIHdyb25nIGNvbnRlY3QsIGFzIHNob3duIGluIHRoZSB0d28gZXhhbXBs ZXMgd2l0aCBhcHBsZSBlYXRpbmcgYWJvdmUuIEluc3RlYWQgb2YgcmVwbGFjaW5nIHRoZW0gb25l IGJ5IG9uZSwgdGhvdWdoLCB0aGUgd29yZCAnJ3JhJ28nJyBhbnl3aGVyZSBpbiB0aGUgYnJpZGkg dXBkYXRlcyB0aGUgcGVyc29uYWwgc3Vta2EnaSBzbyB0aGF0IHRoZXkgYXBwbHkgZm9yIHRoZSBz cGVha2VyJ3MgcGVyc3BlY3RpdmU6CgpBOiAnJ21pIGRvIHByYW1pJycgQjogJydtaSBkbyBnbydp JycgaXMgZXF1aXZhbGVudCB0byBBOiAnJ21pIGRvIHByYW1pJycgQjogJydnbydpIHJhJ28nJwoK X18nJ3JhJ28nJ19fIFVwZGF0ZSBhbGwgcGVyc29uYWwgc3Vta2EnaSBzbyB0aGF0IHRoZXkgbm93 IGZpdCB0aGUgc3BlYWtlcidzIHBvaW50IG9mIHZpZXcuCgoKClRoZSBvbmx5IG90aGVyIHNlcmll cyBvZiBicmlrYSdpIGFyZSB2ZXJ5IGVhc3kgdG8gcmVtZW1iZXI6CgpfXycnYnJvZGEnJ19fCUJy aWRpIHZhcmlhYmxlIDEKCl9fJydicm9kZScnX18JQnJpZGkgdmFyaWFibGUgMgoKX18nJ2Jyb2Rp JydfXwlCcmlkaSB2YXJpYWJsZSAzCgpfXycnYnJvZG8nJ19fCUJyaWRpIHZhcmlhYmxlIDQKCl9f Jydicm9kdScnX18JQnJpZGkgdmFyaWFibGUgNQoKX18nJ2NlaScnX18JRGVmaW5lIGJyaWRpIHZh cmlhYmxlIChub3QgYSBicmlrYSdpIGFuZCBub3QgaW4gQlJPREEpCgoKCgoKVGhlIGZpcnN0IGZp dmUgYXJlIGp1c3QgZml2ZSBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgd29yZC4gVGhleSBjYW4gYmUg dXNlZCBhcyBzaG9ydGN1dHMgdG8gYnJpZGkuIEFmdGVyIHNheWluZyBhIGJyaWRpLCBzYXlpbmcg JydjZWkgYnJvZGEnJyBkZWZpbmVzIHRoYXQgYnJpZGkgYXMgJydicm9kYScnLCBhbmQgJydicm9k YScnIGNhbiB0aGVuIGJlIHVzZWQgYXMgJydicmlrYSdpJycgZm9yIHRoYXQgYnJpZGkgaW4gdGhl IGZvbGxvd2luZyBjb252ZXJzYXRpb24uCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUgaXMgYW4g YW5hbG9nb3VzIHNlcmllcyBvZiBzdW1rYSdpLCB3aGljaCBwcm9iYWJseSBkb2VzIG5vdCBiZWxv bmcgaW4gdGhpcyBsZXNzb24sIGJ1dCBoZXJlIHRoZXkgYXJlIGFueXdheToKCl9fJydrbydhJydf XwlTdW10aSB2YXJpYWJsZSAxCV9fJydmbydhJydfXwlTdW10aSB2YXJpYWJsZSA2CgpfXycna28n ZScnX18JU3VtdGkgdmFyaWFibGUgMglfXycnZm8nZScnX18JU3VtdGkgdmFyaWFibGUgNwoKX18n J2tvJ2knJ19fCVN1bXRpIHZhcmlhYmxlIDMJX18nJ2ZvJ2knJ19fCVN1bXRpIHZhcmlhYmxlIDgK Cl9fJydrbydvJydfXwlTdW10aSB2YXJpYWJsZSA0CV9fJydmbydvJydfXwlTdW10aSB2YXJpYWJs ZSA5CgpfXycna28ndScnX18JU3VtdGkgdmFyaWFibGUgNQlfXycnZm8ndScnX18JU3VtdGkgdmFy aWFibGUgMTAKCgoKYXMgd2VsbCBhcyB0aGUgJydjZWknJy1lcXVpdmFsZW50IGZvciB0aGlzIHNl cmllczoKCl9fJydnb2knJ19fIERlZmluZSBzdW10aSB2YXJpYWJsZQoKCgoKClRoZXNlIGFyZSB1 c2VkIGxpa2UgdGhlICcnYnJpa2EnaScnLXNlcmllcy4gSnVzdCBwbGFjZSwgZm9yIGluc3RhbmNl LCAnJ2dvaSBrbyd1JycgYWZ0ZXIgYSBzdW10aSwgYW5kIHRoYXQgc3VtdGkgY2FuIGJlIHJlZmVy cmVkIHRvIGJ5ICcna28ndScnLgoKCgpTdHJhbmdlbHksIHRoZXNlIHNlcmllcyBhcmUgcmFyZWx5 IHVzZWQgZm9yIHRoZWlyIGludGVuZGVkIHB1cnBvc2UuIFRoZXkgYXJlLCBob3dldmVyLCB1c2Vk IGFzIGFyYml0cmFyeSBzZWxicmkgYW5kIHN1bXRpIGluIGV4YW1wbGUgdGV4dHM6CgrigJxTbywg aXMgaXQgdHJ1ZSB0aGF0IHRoZSB0cnV0aCBjb25kaXRpb25zIG9mICcna28nYSBrbydlIGJyb2Rh IG5hIGt1JycgYXJlIGFsd2F5cyB0aGUgc2FtZSBhcyAnJ25hIGt1IGtvJ2Ega28nZSBicm9kYScn P+KAnSDigJxOb3BlLCBpdCBpc24ndC7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29u IHR3ZW50eS1maXZlIChsb2dpY2FsIGNvbm5lY3RpdmVzKQoK4oCcSWYgeW91IGFzayBhIExvamJh bmlzdDog4oCcRG8geW91IHdhbnQgbWlsayBvciBzdWdhciBpbiB5b3VyIGNvZmZlZT/igJ0gc2hl J2xsIGFuc3dlcjog4oCcQ29ycmVjdC7igJ3igJ0KCgoKV2l0dHkgYXMgdGhpcyBqb2tlIG1pZ2h0 IGJlLCBpdCBpbGx1c3RyYXRlcyBhIHdlaXJkIHByb3BlcnR5IG9mIHRoZSBFbmdsaXNoIHdheSBv ZiBhc2tpbmcgdGhpcyBxdWVzdGlvbi4gSXQgaXMgcGhyYXNlZCBhcyBhIHRydWUvZmFsc2UgcXVl c3Rpb24sIGJ1dCBpdCByZWFsbHkgaXNuJ3QuIEluIExvamJhbiwgd2UgY2FuJ3QgaGF2ZSB0aGlz IGtpbmQgb2YgaW5jb25zaXN0ZW5jeSwgYW5kIHNvIHdlIG11c3QgZmluZCBhbm90aGVyIHdheSBv ZiBhc2tpbmcgdGhpcyBraW5kIG9mIHF1ZXN0aW9uLiBJZiB5b3UgdGhpbmsgYWJvdXQgaXQsIGl0 J3MgcHJldHR5IGhhcmQgdG8gZmluZCBhIGdvb2QgYW5kIGVhc3kgd2F5LCBhbmQgaXQgc2VlbXMg TG9qYmFuIGhhdmUgcGlja2VkIGEgZ29vZCB3YXkgaW5zdGVhZCBvZiBhbiBlYXN5IHdheS4KCgoK VG8gZXhwbGFpbiBpdCwgbGV0IHVzIHRha2UgdHdvIHNlcGFyYXRlIGJyaWRpOiBCcmlkaSAxOiDi gJxJIGxpa2UgbWlsayBpbiBteSBjb2ZmZWXigJ0gYW5kIGJyaWRpIDI6IOKAnEkgbGlrZSBzdWdh ciBpbiBteSBjb2ZmZWXigJ0uIEJvdGggb2YgdGhlc2UgYnJpZGkgY2FuIGhhdmUgdGhlIHN0YXRl IHRydWUgb3IgZmFsc2UuIFRoaXMgeWllbGRzIGZvdXIgY29tYmluYXRpb25zIG9mIHdoaWNoIGJy aWRpIGlzL2FyZSB0cnVlOgoKQSApIDEgYW5kIDIJQiApIDEgYnV0IG5vdCAyCgpDICkgMiBidXQg bm90IDEJRCApbmVpdGhlciAxIG5vciAyCgoKCkksIGluIGFjdHVhbGl0eSwgbGlrZSBtaWxrIGlu IG15IGNvZmZlZSwgYW5kIEknbSBpbmRpZmZlcmVudCBhcyB0byB3aGV0aGVyIHRoZXJlIGlzIHN1 Z2FyIGluIGl0IG9yIG5vdC4gVGhlcmVmb3JlLCBteSBwcmVmZXJlbmNlIGNhbiBiZSB3cml0dGVu IEEgKSB0cnVlIEIgKSB0cnVlIEMgKSBmYWxzZSBEICkgZmFsc2UsIHNpbmNlIGJvdGggQSBhbmQg QiB5aWVsZHMgdHJ1ZSBmb3IgbWUsIGJ1dCBuZWl0aGVyIEMgbm9yIEQgZG9lcy4gQSBtb3JlIGNv bXBhY3Qgd2F5IG9mIHdyaXRpbmcgbXkgY29mZmVlIHByZWZlcmVuY2VzIHdvdWxkIGJlIFRURkYg Zm9yIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZS4gU2ltaWxhcmx5LCBhIHBlcnNvbiBsaWtpbmcg aGlzIGNvZmZlZSBibGFjayBhbmQgdW5zd2VldGVuZWQgd291bGQgaGF2ZSBhIGNvZmZlZSBwcmVm ZXJlbmNlIG9mIEZGRlQuIFRoaXMgY29tYml0YXRpb24gb2YgInRydWUiIGFuZCAiZmFsc2UiIGlz IGNhbGxlZCBhIOKAnHRydXRoIGZ1bmN0aW9u4oCdLCBpbiB0aGlzIGNhc2UgZm9yIHRoZSB0d28g c3RhdGVtZW50cyDigJxJIGxpa2UgbWlsayBpbiBteSBjb2ZmZWXigJ0gYW5kIOKAnEkgbGlrZSBz dWdhciBpbiBteSBjb2ZmZWXigJ0uIE5vdGUgdGhhdCB0aGUgb3JkZXIgb2YgdGhlIHN0YXRlbWVu dHMgbWF0dGVycy4KCkluIExvamJhbiwgd2Ugb3BlcmF0ZSB3aXRoIDQgdHJ1dGggZnVuY3Rpb25z LCB3aGljaCB3ZSBjb25zaWRlciBmdW5kYW1lbnRhbDoKCkE6IFRUVEYgKGFuZC9vcikKCk86IFRG RlQgKGlmIGFuZCBvbmx5IGlmZikKClU6IFRURkYgKHdoZXRoZXIgb3Igbm90KQoKRTogVEZGRiAo YW5kKQoKCgpJbiB0aGlzIGV4YW1wbGUsIHRoZXkgd291bGQgdHJhbnNsYXRlIHRvIHNvbWV0aGlu ZyBsaWtlOiBBOuKAnUp1c3Qgbm90IGJsYWNrIGNvZmZlZeKAnSwgTzog4oCcRWl0aGVyIGJvdGgg bWlsayBvciBzdWdhciwgb3Igbm90aGluZyBmb3IgbWUsIHBsZWFzZeKAnSwgVTog4oCcTWlsaywg YW5kIEkgZG9uJ3QgY2FyZSBhYm91dCBpZiB0aGVyZSdzIHN1Z2FyIG9yIG5vdOKAnSBhbmQgRTog 4oCcTWlsayBhbmQgc3VnYXIsIHBsZWFzZS7igJ0uCgoKCkluIExvamJhbiwgeW91IHBsYWNlIHRo ZSB3b3JkIGZvciB0aGUgdHJ1dGggZnVuY3Rpb24gYmV0d2VlbiB0aGUgdHdvIGJyaWRpLCBzZWxi cmkgb3Igc3VtdGkgaW4gcXVlc3Rpb24uIFRoYXQgd29yZCBpcyBjYWxsZWQgYSBsb2dpY2FsIGNv bm5lY3RpdmUuIFRoZSB3b3JkcyBmb3IgdHJ1dGggZnVuY3Rpb25zIGJldHdlZW4gc3VtdGkgKGFu ZCBqdXN0IGZvciBzdW10aSEpIGFyZSAgJycuYScnICcnLm8nJyAnJy51JycgYW5kICcnLmUnJy4g SG93IG5pY2UuIEZvciBpbnN0YW5jZTog4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4g YW5kIGEgR2VybWFu4oCdIHdvdWxkIGJlICcnbG8gbWVya28gLmUgbG8gZG90Y28gY3UgcGVuZG8g bWknJy4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxJIHNwZWFrIHRvIHlvdSBhbmQgbm8gb25lIGVs c2U/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSB0YXZsYSBkbyAuZSBubyBkcmF0YScn IE5vdGUgdGhhdCB0aGlzIGFjdHVhbGx5IHN0YXRlcyB0aGF0IGl0J3MgdHJ1ZSB0aGF0ICJJIHNw ZWFrIHRvIHlvdSIufn4KCgoKT25lIG1vcmU6IOKAnEkgbGlrZSBjaGVlc2Ugd2hldGhlciBvciBu b3QgSSBsaWtlIGNvZmZlZeKAnQoKX18nJ2NrYWZpJydfXyB4MSBpcyBhIHF1YW50aXR5L2NvbnRh aW5zIGNvZmZlZSBmcm9tIHNvdXJjZS9vZiBncmFpbiB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgbmVsY2kgbG8nZSBjaXJsYSAudSBsbydlIGNrYWZpJyd+fgoKCgpZb3UgY2FuIHBlcmhh cHMgZGVkdWNlIHRoYXQgdGhlcmUgYXJlIHNpeHRlZW4gcG9zc2libGUgdHJ1dGggZnVuY3Rpb25z LCBzbyB3ZSBuZWVkIHRvIGxlYXJuIHR3ZWx2ZSBtb3JlIGluIG9yZGVyIHRvIGtub3cgdGhlbSBh bGwuIEVpZ2h0IG1vcmUgY2FuIGJlIG9idGFpbmVkIGJ5IG5lZ2F0aW5nIGVpdGhlciB0aGUgZmly c3Qgc2VudGVuY2Ugb3IgdGhlIHNlY29uZC4gVGhlIGZpcnN0IGlzIG5lZ2F0ZWQgYnkgcHJlZml4 aW5nIHRoZSB0cnV0aCBmdW5jdGlvbiB3b3JkIHdpdGggJyduYScnLCB0aGUgc2Vjb25kIGlzIG5l Z2F0ZWQgYnkgcGxhY2luZyAnJ25haScnIGFmdGVyIHRoZSB3b3JkLiBGb3IgZXhhbXBsZSwgc2lu Y2UgJycuZScnIHJlcHJlc2VudHMgVEZGRiwgJycuZSBuYWknJyBtdXN0IGJlIOKAnGJvdGggMSBp cyB0cnVlIGFuZCAyIGlzIGZhbHNl4oCdLCB3aGljaCBpcyBGVEZGLiBTaW1pbGFybHksICcnbmEg LmEnJyBpcyDigJxKdXN0IG5vdDogMSBpcyB0cnVlIGFuZCAyIGlzIGZhbHNl4oCdLCB3aGljaCBp cyBUVEZULiBEb2luZyB0aGlzIHR5cGUgb2YgY29udmVyc2lvbiBpbiB0aGUgaGVhZCByZWFsLXRp bWUgaXMgdmVyeSwgdmVyeSBoYXJkLCBzbyBwZXJoYXBzIG9uZSBzaG91bGQgZm9jdXMgb24gbGVh cm5pbmcgaG93IGxvZ2ljYWwgY29ubmVjdGl2ZXMgd29yayBpbiBnZW5lcmFsLCBhbmQgdGhlbiBs ZWFybiB0aGUgbG9naWNhbCBjb25uZWN0aXZlcyB0aGVtc2VsdmVzIGJ5IGhlYXJ0LgoKCgpGb3Vy IGZ1bmN0aW9ucyBjYW5ub3QgYmUgbWFkZSB0aGlzIHdheTogVFRUVCwgVEZURiwgRlRGVCBhbmQg RkZGRi4gVGhlIGZpcnN0IGFuZCB0aGUgbGFzdCBjYW5ub3QgYmUgbWFkZSB1c2luZyBsb2dpY2Fs IGNvbm5lY3RpdmVzIGF0IGFsbCwgYnV0IHRoZXkgYXJlIGtpbmQgb2YgdXNlbGVzcyBhbnl3YXku IFVzaW5nIGEgaHlwb3RoZXRpY2FsIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGUgc2VudGVuY2Ug 4oCcSSBsaWtlIG1pbGsgRkZGRiBzdWdhciBpbiBteSBjb2ZmZWXigJ0gaXMgZXF1aXZhbGVudCB0 byBzYXlpbmcg4oCcSSBkb24ndCBsaWtlIGNvZmZlZeKAnSwganVzdCBtb3JlIGNvbXBsaWNhdGVk LiBUaGUgbGFzdCB0d28sIFRGVEYgYW5kIEZURlQsIGNhbiBiZSBtYWRlIGJ5IHByZWZpeGluZyAn Jy51Jycgd2l0aCBnb29kIG9sJyAnJ3NlJycsIHdoaWNoIGp1c3QgcmV2ZXJ0cyB0aGUgdHdvIHN0 YXRlbWVudHMuICcnc2UgLnUnJyAsIGZvciBpbnN0YW5jZSBpcyDigJxCIHdoZXRoZXIgb3Igbm90 IEHigJ0sIHdoaWNoIGlzIFRGVEYuIFRoZSBmaW5hbCBsaXN0IG9mIGFsbCBsb2dpY2FsIGNvbm5l Y3RpdmVzIGNhbiBiZSBzZWVuIGJlbG93LgoKCgpUVFRUOiBDYW5ub3QgYmUgbWFkZQoKVFRURjog JycuYScnCgpUVEZUOiAnJy5hIG5haScnCgpUVEZGOiAnJy51JycgT1IgJycudSBuYWknJwoKVEZU VDogJyduYSAuYScnCgpURlRGOiAnJ3NlIC51JycKClRGRlQ6ICcnLm8nJyBPUiAnJ25hIC5vIG5h aScnCgpURkZGOiAnJy5lJycKCkZUVFQ6ICcnbmEgLmEgbmFpJycKCkZUVEY6ICcnbmEgLm8nJyBP UiAnJy5vIG5haScnCgpGVEZUOiAnJ3NlIC51IG5haScnCgpGVEZGOiAnJy5lIG5haScnCgpGRlRU OiAnJ25hIC51JycgT1IgJyduYSAudSBuYWknJwoKRkZURjogJyduYSAuZScnCgpGRkZUOiAnJ25h IC5lIG5haScnCgpGRkZGOiBDYW5ub3QgYmUgbWFkZQoKCgpMb2dpY2FsbHksIHNheWluZyBhIHNl bnRlbmNlIHdpdGggYSBsb2dpY2FsIGNvbm5lY3RpdmUsIGxpa2UgZm9yIGluc3RhbmNlICcnbWkg bmVsY2kgbG8nZSBjaXJsYSAuZSBuYWkgbG8nZSBja2FmaScnIGlzIGVxdWl2YWxlbnQgdG8gc2F5 aW5nIHR3byBicmlkaSwgd2hpY2ggYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBzYW1lIGxvZ2ljYWwg Y29ubmVjdGl2ZTogJydtaSBuZWxjaSBsbydlIGNpcmxhIC5pIHtFIE5BSX0gbWkgbmVsY2kgbG8n ZSBja2FmaScnLiBUaGlzIGlzIGhvdyB0aGUgZnVuY3Rpb24gb2YgbG9naWNhbCBjb25uZWN0aXZl cyBpcyBkZWZpbmVkLiBXZSB3aWxsIGdldCB0byBob3cgdG8gYXBwbHkgbG9naWNhbCBjb25uZWN0 aXZlcyB0byBicmlkaSBpbiBhIG1vbWVudC4KCgoKQnkgcHV0dGluZyBhIOKAnGrigJ0gaW4gZnJv bnQgb2YgdGhlIGNvcmUgd29yZCBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSwgaXQgY29ubmVjdHMg dHdvIHNlbGJyaS4gQW4gZXhhbXBsZSBpcyAnJ21pIG5pbm11IG5hIGpvIG5hbm11Jycg4oCcSSBh bSBhIG1hbiBvciBhIHdvbWFuLCBidXQgbm90IGJvdGjigJ0KCl9fJyduaW5tdScnX18geDEgaXMg YSB3b21hbgoKCgpUaGlzIGlzIOKAnHRhbnJ1LWludGVybmFs4oCdLCBtZWFuaW5nIHRoYXQgaXQg bG9vc2VseSBiaW5kcyBzZWxicmkgdG9nZXRoZXIsIGV2ZW4gd2hlbiB0aGV5IGZvcm0gYSB0YW5y dTogJydsbyBkb3RjbyBqYSBtZXJrbyBwcmVudScnIG1lYW5zIOKAnGEgR2VybWFuIG9yIEFtZXJp Y2FuIG1hbuKAnSwgYW5kIGlzIHBhcnNlZCAnJ2xvJycgKCcnZG90Y28gamEgbWVya28nJykgJydw cmVudScnLiBUaGlzIGJpbmRpbmcgaXMgc2xpZ2h0bHkgc3Ryb25nZXIgdGhhdCBub3JtYWwgdGFu cnUtZ3JvdXBpbmcgKHN0aWxsIHdlYWtlciB0aGFuIHNwZWNpZmljIGdyb3VwaW5nLXdvcmRzKSwg YW5kIGFzIHN1Y2gsICcnbG8gZG90Y28gamEgbWVya28gbmlubXUgamEgbmFubXUnJyBpcyBwYXJz ZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICgnJ25pbm11IGphIG5hbm11JycpLiBUaGUg c2VsYnJpIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2FuIGFsc28gYmUgYXR0YWNoZWQgdG8gJycuaScn IGluIG9yZGVyIHRvIGNvbm5lY3QgdHdvIHNlbnRlbmNlcyB0b2dldGhlcjogJydsYSAua2ltLiBj bWVuZSBtaSAuaSBqdSBtaSBuYW5tdScnIOKAnEknbSBjYWxsZWQgS2ltLCB3aGV0aGVyIG9yIG5v dCBJJ20gYSBtYW7igJ0uIFRoZSBjb21iaW5hdGlvbiAnJy5pIGplJycgc3RhdGVzIHRoYXQgYm90 aCBzZW50ZW5jZXMgYXJlIHRydWUsIG11Y2ggbGlrZSB3ZSB3b3VsZCBhc3N1bWUgaGFkIG5vIGxv Z2ljYWwgY29ubmVjdGl2ZSBiZWVuIHByZXNlbnQuCgoKClVuZmFpcmx5IGhhcmQgcXVlc3Rpb246 IFVzaW5nIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvdyB3b3VsZCB5b3UgdHJhbnNsYXRlIOKAnElm IHlvdSdyZSBjYWxsZWQgQm9iLCB5b3UncmUgYSBtYW4u4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5Oicnem8gLmJhYi4gY21lbmUgZG8gLmkgbmEgamEgZG8gbmFubXUnJyBvciDigJxFaXRoZXIg eW91J3JlIG5vdCBuYW1lZCBCb2IgYW5kIGEgbWFuLCBvciB5b3UncmUgbm90IG5hbWVkIEJvYiBh bmQgbm90IGEgbWFuLCBvciB5b3UncmUgbmFtZWQgQm9iIGFuZCBhIG1hbi4gQnV0IHlvdSBjYW4n dCBiZSBuYW1lZCBCb2IgYW5kIG5vdCBiZSBhIG1hbi7igJ0gVGhlIG9ubHkgY29tYmluYXRpb24g bm90IHBlcm1pdHRlZCBpczog4oCcWW91J3JlIGNhbGxlZCBCb2IsIGJ1dCBub3QgYSBtYW4u4oCd IFRoaXMgbXVzdCBtZWFuIHRoYXQsIGlmIGl0J3MgdHJ1ZSB0aGF0IHlvdSdyZSBjYWxsZWQgQm9i LCB5b3UgbXVzdCBiZSBhIG1hbi5+fgoKCgpJZiB3ZSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzYWQs IHNhZCBldmVudCBvZiDigJxJIGNyaWVkIGFuZCBnYXZlIGF3YXkgbXkgZG9n4oCdLCB3ZSBydW4g aW50byBhIHByb2JsZW0uCgpBdHRlbXB0aW5nIHRvIHNheSB0aGUgc2VudGVuY2Ugd2l0aCBhICcn amUnJyBiZXR3ZWVuIHRoZSBzZWxicmkg4oCcZ2F2ZeKAnSBhbmQg4oCcY3JpZWTigJ0sIHdvdWxk IG1lYW4gdGhlIHNhbWUgd29yZCBmb3Igd29yZCwgYnV0IHVuZm9ydHVuYXRlbHkgbWVhbiB0aGF0 IOKAnEkgY3JpZWQgdGhlIGRvZyBhbmQgZ2F2ZSBhd2F5IHRoZSBkb2figJ0sIGNmLiB0aGUgZGVm aW5pdGlvbiBvZiBsb2dpY2FsIGNvbm5lY3RpdmVzLiBPbmUgY2FuIGNyeSB0ZWFycyBvciBldmVu IGJsb29kLCBidXQgY3J5aW5nIGRvZ3MgaXMganVzdCBzaWxseS4KCkhvd2V2ZXIsIHdlIGNhbiBn ZXQgYXJvdW5kIGJ5IHVzaW5nIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlcy4gV2hhdCB0 aGV5IGRvIGlzIHRoYXQgYW55IHByZXZpb3VzIHN1bXRjaXRhIGFuZCBzdW10aSBhdHRhY2hlcyB0 byBib3RoIHNlbGJyaSBib3VuZCBieSB0aGUgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUs IGJ1dCBhbnkgZm9sbG93aW5nIHN1bXRpIG9yIHN1bXRjaXRhIG9ubHkgYXBwbGllcyB0byB0aGUg bGFzdCBtZW50aW9uZWQ6IFRoZSBicmlkaSBzcGxpdHMgdXAgZnJvbSBvbmUgaGVhZCB0byB0d28g dGFpbHMsIHRvIHNwZWFrIG1ldGFwaG9yaWNhbGx5LgoKVGhlIGZvcm0gb2YgYSBicmlkaS10YWls IGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBnaSdWLCB3aXRoIHRoZSBWIGZvciB0aGUgdm93ZWwgb2Yg dGhlIHRydXRoIGZ1bmN0aW9uLgoKSG93IGNvdWxkIHlvdSBjb3JyZWN0bHkgdHJhbnNsYXRlIHRo ZSBFbmdsaXNoIHNlbnRlbmNlIHRvIExvamJhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21p IHB1IGtsYWt1IGdpJ2UgZHVuZGEgbGUgbWkgZ2Vya3UnJ35+CgoKCldoYXQgZG9lcyAnJ3JvIHJl bW5hIGN1IHBhbGNpIGdpJ28genVrdGUgbG8gcGFsY2knJyBtZWFuPwoKX18nJ3BhbGNpJydfXyB4 MSBpcyBldmlsIGJ5IHN0YW5kYXJkIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcUGVvcGxl IGFyZSBldmlsIGlmIGFuZCBvbmx5IGlmIHRoZXkgZG8gZXZpbCB0aGluZ3Mu4oCdfn4KCgoKRnVy dGhlcm1vcmUsIHRoZXJlIGlzIGEgZm9yZXRob3VnaHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBn cm91cCBvZiBjb25uZWN0ZXJzIG1hZGUgYnkgcHJlZml4aW5nIOKAnGfigJ0gaW4gZnJvbnQgb2Yg dGhlIHRydXRoIGZ1bmN0aW9uIHZvd2VsLiDigJxGb3JldGhvdWdodOKAnSBpbiB0aGlzIGNvbnRl eHQgbWVhbnMgdGhhdCB0aGV5IG5lZWQgdG8gZ28gaW4gZnJvbnQgb2YgdGhlIHRoaW5ncyB0aGV5 IGNvbm5lY3QsIGFuZCB0aHVzIHlvdSBuZWVkIHRvIHRoaW5rIGFib3V0IHRoZSBncmFtbWF0aWNh bCBzdHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlIGJlZm9yZSBzYXlpbmcgaXQuIEFsbC1idXQgdGFu cnUgaW50ZXJuYWwgbWVhbnMgdGhhdCBpdCBzZXJ2ZXMgYm90aCBhcyBhIGNvbm5lY3RpdmUgYmV0 d2VlbiBzdW10aSwgYnJpZGksIHNlbGJyaSBhbmQgYnJpZGktdGFpbHMsIGJ1dCBub3QgYmV0d2Vl biB0d28gc2VsYnJpIG9mIG9uZSB0YW5ydS4gTGV0IG1lIHNob3cgeW91IGhvdyBpdCB3b3Jrcywg cmV3cml0aW5nIHRoZSBMb2piYW4gc2VudGVuY2UgYWJvdmU6CgonJ2dvIGxvIHJlbW5hIGN1IHBh bGNpIGdpIGxvIHJlbW5hIGN1IHp1a3RlIGxvIHBhbGNpJycKClRoZSBmaXJzdCBsb2dpY2FsIGNv bm5lY3RpdmUgaW4gdGhlc2Uga2luZHMgb2YgY29uc3RydWN0cyBhcmUgd2hhdCBjYXJyaWVzIHRo ZSB2b3dlbCB3aGljaCBzaWduYWwgd2hhdCB0cnV0aCBmdW5jdGlvbiBpcyBiZWluZyB1c2VkLiBU aGUgc2Vjb25kIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBhbHdheXMgJydnaScnLCBhbmQgbGlrZSAn Jy5pJycsIGl0IGhhcyBubyB0cnV0aCBmdW5jdGlvbi4gSXQgc2ltcGx5IHNlcnZlcyB0byBzZXBh cmF0ZSB0aGUgdHdvIHRlcm1zIGJlaW5nIGNvbm5lY3RlZC4gSWYgeW91IHdhbnQgdG8gbmVnYXRl IHRoZSBmaXJzdCBvciBzZWNvbmQgc2VudGVuY2UsIGEgJyduYWknJyBpcyBzdWZmaXhlZCB0byBl aXRoZXIgdGhlIGZpcnN0IChmb3IgdGhlIGZpcnN0IHNlbnRlbmNlKSBvciBzZWNvbmQgKGZvciB0 aGUgc2Vjb25kIHNlbnRlbmNlKSBsb2dpY2FsIGNvbm5lY3RpdmUuCgpQcm92aWRlZCB0aGF0IHRo ZSBjb25zdHJ1Y3RzIGFyZSB0ZXJtaW5hdGVkIHByb3Blcmx5LCBpdCBoYXMgcmVtYXJrYWJsZSBm bGV4aWJpbGl0eSwgYXMgdGhlIGZvbGxvd2luZyBmZXcgZXhhbXBsZXMgZGVtb25zdHJhdGU6Cgon J21pIGdvIGtsYW1hIGdpIGNhZHp1IHZhdSBsZSBtaSB6ZGFuaScnIOKAnEkgZ28sIGlmIGFuZCBv bmx5IGlmIHdhbGssIHRvIG15IGhvbWXigJ0gb3Ig4oCcSSBjYW4gb25seSBnbyB0byBteSBob21l IGJ5IHdhbGtpbmcu4oCdIE5vdGljZSB0aGF0IHRoZSAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtl IGxlIG1pIHpkYW5pIGFwcGx5IHRvIGJvdGggJydjYWR6dScnIGFuZCAnJ2tsYW1hJycuCgonJ3Nl IGd1IGRvIGdpIG5haSBtaSBiYWpyYSBsZSBkbyBja3VsZScnIOKAnFdoZXRoZXIgb3Igbm90IHlv dSwgdGhlbiBub3QgSSwgcnVuIHRvIHlvdXIgc2Nob29s4oCdIG9yIOKAnEkgd29uJ3QgcnVuIHRv IHlvdXIgc2Nob29sIG5vIG1hdHRlciBpZiB5b3UgZG8gb3Igbm904oCdCgoKClRoZSB0YW5ydS1p bnRlcm5hbCBlcXVpdmFsZW50IG9mIGdWIGlzIGd1J1YuIFRoZXNlIGFyZSBleGFjdGx5IHRoZSBz YW1lLCBleGNlcHQgdGhhdCB0aGV5IGFyZSBleGNsdXNpdmVseSB0YW5ydS1pbnRlcm5hbCwgYW5k IHRoYXQgdGhleSBiaW5kIGEgc2VsYnJpIHRvIHRoZSAnJ2dpJycgdGlnaHRlciB0aGFuIG5vcm1h bCB0YW5ydS1ncm91cGluZywgYnV0IHdlYWtlciB0aGFuIGV4cGxpY2l0IGJpbmRpbmctc3VtdGk6 CgonJ2xhIHhhbnoua3J0LiBndSdlIG1lcmtvIGdpIGRvdGNvIG5hbm11JycgaXMgZXF1aXZhbGVu dCB0bwoKJydsYSB4YW56LmtydC4gbWVya28gamUgZG90Y28gbmFubXUnJwoKCgpBbmQgc28geW91 J3ZlIHJlYWQgcGFnZSB1cCBhbmQgcGFnZSBkb3duIGp1c3QgdG8gZ2V0IHRoZSBuZWNlc3Nhcnkg a25vd2xlZGdlIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gbGVhcm4gaG93IHRvIGFzayDigJxXb3Vs ZCB5b3UgbGlrZSBtaWxrIG9yIHN1Z2FyIGluIHlvdXIgY29mZmVlP+KAnSBpbiBMb2piYW4uIFNp bXBseSBwbGFjZSBhIHF1ZXN0aW9uIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbnN0ZWFkIG9mIGFub3Ro ZXIgbG9naWNhbCBjb25uZWN0aXZlLCBhbmQgbGlrZSAnJ21hJycsIGl0IGFza3MgdGhlIGxpc3Rl bmVyIHRvIGZpbGwgaW4gYSBjb3JyZWN0IHJlc3BvbnNlLiBVbmZvcnR1bmF0ZWx5LCB0aGVzZSBx dWVzdGlvbi1sb2dpY2FsIGNvbm5lY3RpdmVzIGRvbid0IGFsd2F5cyBtYXRjaCB0aGUgbW9ycGhv bG9naWNhbCBwYXR0ZXJuIG9mIHRoZSBsb2dpY2FsIGNvbm5lY3RpdmVzIHRoZXkgYXNrIGZvcjoK Cl9fJydqaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHN1bXRp IGxvZ2ljYWwgY29ubmVjdGl2ZSAoQSkKCl9fJydqZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUg cXVlc3Rpb246IEFza3MgZm9yIGEgdGFucnUtaW50ZXJuYWwgc2VsYnJpIGxvZ2ljYWwgY29ubmVj dGl2ZSAoSkEpCgpfXycnZ2knaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tz IGZvciBhIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIChHSWhBKQoKX18nJ2dlJ2knJ19f IExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3JldGhvdWdodCBhbGwt YnV0IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR0EpCgpfXycnZ3UnaScnX18g TG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGZvcmV0aG91Z2h0IG9ubHkg dGFucnUgaW50ZXJuYWwgbG9naWNhbCBjb25uZWN0aXZlIChHVWhBKQoKCgpTby4uLiBob3cgd291 bGQgeW91IGFzayBpZiB0aGUgcGVyc29ucyB3YW50cyBtaWxrIG9yIHN1Z2FyIGluIGhlciBjb2Zm ZWU/CgpfXycnbGFkcnUnJ19fIHgxIGlzL2NvbnRhaW5zIG1pbGsgZnJvbSBzb3VyY2UgeDIKCl9f JydzYWt0YScnX18geDEgaXMvY29udGFpbnMgc3VnYXIgZnJvbSBzb3VyY2UgeDIgb2YgY29tcG9z aXRpb24geDMKCgoKUG9zc2libGUgYW5zd2VyOiB+fmdyZXksZ3JleTonJ3Nha3RhIGplJ2kgbGFk cnUgbGUgZG8gY2thZmknJyB0aG91Z2ggSSBndWVzcyBzb21ldGhpbmcgbW9yZSBFbmdsaXNoIGFu ZCBsZXNzIGVsZWdhbnQgY291bGQgYWxzbyBzdWZmaWNlIGxpa2UgJydkbyBkamljYSBsZW51IGxv IHNha3RhIGppIGxvIGxhZHJ1IGN1IG5lbnJpIGxlIGRvIGNrYWZpJyd+fgoKCgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIHR3ZW50eS1zaXggKG5vbi1sb2dpY2FsIGNvbm5lY3RpdmVzKQoKVGhl IHdvcmQgImxvZ2ljYWwiIGluICJsb2dpY2FsIGNvbm5lY3RpdmUiIHJlZmVycyB0byB0aGUgYXNz b2NpYXRpb24gYSBsb2dpY2FsIGNvbm5lY3RpdmUgaGFzIHdpdGggYSB0cnV0aCBmdW5jdGlvbi4g Tm90IGFsbCB1c2VmdWwgY29ubmVjdGl2ZXMgY2FuIGJlIGRlZmluZWQgdGhyb3VnaCBhIHRydXRo IGZ1bmN0aW9uLCBob3dldmVyLCBhbmQgc28gdGhlcmUgYXJlIG90aGVyIGNvbm5lY3RpdmVzIGJl c2lkZSB0aGUgbG9naWNhbCBvbmVzLgoKVGhlIG1lYW5pbmcgb2YgYSBsb2dpY2FsIGNvbm5lY3Rp dmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB0d28gZGlmZmVyZW50IGJyaWRpIGNvbm5lY3RlZCB3 aXRoIHRoYXQgbG9naWNhbCBjb25uZWN0aXZlLiBGb3IgaW5zdGFuY2UsICcnbWkgbml0Y3UgZG8g LmEgbGEgLmRqYW4uJycgaXMgZGVmaW5lZCB0byBiZSBlcXVpdmFsZW50IHRvICcnbWkgbml0Y3Ug ZG8gLmkgamEgbWkgbml0Y3UgbGEgLmRqYW4uJycuIFRoaXMgZGVmaW5pdGlvbiBpcyB1c2VmdWwg dG8gYmVhciBpbiBtaW5kLCBiZWNhdXNlIGl0IGltcGxpZXMgdGhhdCBzb21ldGltZXMsIHN1bXRp IGNhbm5vdCBiZSBjb25uZWN0ZWQgd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzIHdpdGhvdXQgY2hh bmluZyB0aGUgbWVhbmluZy4gQ29uc2lkZXIgdGhlIHNlbnRlbmNlOiAiSmFjayBhbmQgSm9lIHdy b3RlIHRoaXMgcGxheS4iIE9uZSBhdHRlbXB0IGF0IGEgdHJhbnNsYXRpb24gd291bGQgYmU6ICcn dGkgZHJhY2kgZmkgbGEgLmRqYWsuIGUgbGEgLmRqb3VzLicnCgpfXycnZHJhY2knJ19fIHgxIGlz IGEgZHJhbWEvcGxheSBhYm91dCB4MiBieSB3cml0ZXIvZHJhbWF0aXN0IHgzIGZvciBhdWRpZW5j ZSB4NCB3aXRoIGFjdG9ycyB4NQoKCgpUaGUgcHJvYmxlbSB3aXRoIHRoaXMgdHJhbnNsYXRpb24g aXMgdGhhdCBpdCBtZWFucyAnJ3RpIGRyYWNpIGxhIC5kamFrLiBpamUgdGkgZHJhY2kgbGEgLmRq b3VzLicnLCB3aGljaCBpcyBub3QgcmVhbGx5IHRydWUuIE5laXRoZXIgSmFjayBub3IgSm9lIHdy b3RlIGl0LCB0aGV5IGRpZCBzbyB0b2dldGhlci4gV2hhdCB3ZSB3YW50IGhlcmUgaXMgb2YgY291 cnNlIGEgbWFzcywgYW5kIHNvbWUgd2F5IHRvIGpvaW4gSmFjayBhbmQgSm9lIGluIG9uZSBtYXNz LiBUaGlzIGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBhIHRydXRoIGZ1bmN0aW9uIHNvIHdlIG11c3Qg dXNlIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgd2hpY2ggYXJlIG9mIHNlbG1hJ28gSk9JLiBX ZSdsbCByZXR1cm4gdG8gdGhpcyBKYWNrIGFuZCBKb2UtcHJvYmxlbSBpbiBhIGxpdHRsZSAtIGZp cnN0OiBGb3VyIG9mIHRoZSBrbm93biBKT0k6CgoKCnx8VGhlIExvamJhbiBjb25uZWN0aXZlOnwn J2NlJyd8JydjZSdvJyd8Jydqb2knJ3wnJ2pvJ3UnJwoKSm9pbnMgc3VtdGkgYW5kIGZvcm1zIGE6 fHNldHxzZXF1ZW5jZXxtYXNzfGdyb3VwIG9mIGluZGl2aWR1YWxzfHwKClRoZSBmdW5jdGlvbnMg b2YgdGhlc2Ugd29yZHMgYXJlIHNpbXBsZTogJydsbydpIHJlbW5hIGpvJ3UgbG8naSBnZXJrdScn IGNvbnNpZGVycyBib3RoIHRoZSBzZXQgb2YgaHVtYW5zIGFuZCB0aGUgc2V0IG9mIGRvZ3MgZGlz dHJpYnV0aXZlbHkgKGFzIGluZGl2aWR1YWxzKS4gUmVtZW1iZXIgZnJvbSBsZXNzb24gdHdlbnR5 LXR3byAocXVhbnRpZmllcnMpIHRoYXQgImRpc3RyaWJ1dGl2aXR5IiBtZWFucyB0aGF0IHdoYXQg aXMgdHJ1ZSBmb3IgdGhlIGdyb3VwIGlzIGFsc28gdHJ1ZSBmb3IgZWFjaCBvZiB0aGUgaW5kaXZp ZHVhbHMgYWxvbmUuIFNpbWlsYXJseSAnJ2xvaSBybyBnaXNtdSBjZSdvIGxvaSBybyBsdWp2byBj ZSdvIGxvaSBybyBmdSdpdmxhJycgaXMgYSBzZXF1ZW5jZSBjb25zaXN0aW5nIG9mIHRoZSBtYXNz IG9mIGFsbCBnaXNtdSwgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGx1anZvLCBmb2xsb3dl ZCBieSB0aGUgbWFzcyBvZiBhbGwgZnUnaXZsYS4KCkFzIHdpdGggYWxsIG9mIHRoZSBKT0kgd2hp Y2ggaGFzIGFuIGluaGVyZW50IG9yZGVyLCAnJ3NlJycgbWF5IGJlIHB1dCBiZWZvcmUgJydjZSdv JycgdG8gaW52ZXJzZSB0aGUgb3JkZXI6ICJBICcnY2UnbycnIEIiIGlzIHRoZSBzYW1lIGFzICJC IHNlICcnY2UnbycnIEEiLgoKCgpIb3cgY2FuIHlvdSBjb3JyZWN0bHkgdHJhbnNsYXRlICJKYWNr IGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5Ij8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgZHJh Y2kgZmkgbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMuJyd+fiAKCgoKVGhlIGNtYXZvIG9mIEpPSSBh cmUgdmVyeSBmbGV4aWJsZTogVGhleSBjYW4gYWN0IGJvdGggYXMgc3VtdGkgY29ubmVjdGl2ZXMg YW5kIHRhbnJ1LWludGVybmFsIGNvbm5lY3RpdmVzLCBzbyB0aGV5IGNhbiBiZSB1c2VkIHRvIGNv bm5lY3Qgc3VtdGksIHNlbGJyaSBhbmQgYnJpZGkuIFRoaXMgZmxleGliaWxpdHkgbWVhbnMgdGhh dCBvbmUgbXVzdCBiZSBjYXJlZnVsIHRvIHVzZSBmYSdvcm1hJ28gY29ycmVjdGx5IHdoZW4gdXNp bmcgYSBKT0kuIAoKV2hhdCBpcyB3cm9uZyB3aXRoIHRoZSBicmlkaSAnJ2xvIGRvdGNvIGpvJ3Ug bWkgY3Uga2xhbWEgbGEgZG90Y28gZ3VnZGUnJz8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnam8n dScnIGlzIHB1dCBhZnRlciBhIHNlbGJyaSwgc28gaXQgZXhwZWN0cyBhIHNlbGJyaSBhZnRlciBp dCB0byBjb25uZWN0IHRvLCBidXQgbm9uZSBpcyBmb3VuZC4gSGFkICBhICcna3UnJyBiZWVuIHBy ZXNlbnQgYmVmb3JlIHRoZSBjb25uZWN0aXZlLCBpdCB3b3VsZCBoYXZlIGJlZW4gZ3JhbW1hdGlj YWx+fgoKCgpJZiBzZXZlcmFsIEpPSSBhcmUgdXNlZCwgJydibycnIGFuZC9vciAnJ2tlJycgbWF5 IGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIHVzdWFsIGxlZnQtZ3JvdXBpbmc6ICcnbWkgam9pIGRv IGNlJ28gbGEgLmRqYWsuIGpvaSBibyBsYSAuZGpvdXMuIGN1IHB1J28gY2knZXJrZWkgZGFtYmEg bGVpIHh1bnJlJycgIk1lIGFuZCB5b3UsIGFuZCB0aGVuIEphY2sgYW5kIEpvZSBhcmUgYWJvdXQg dGhlIHBsYXkgYWdhaW5zdCB0aGUgcmVkcyIuIENvbnRyYXN0IHdpdGggJydtaSBqb2kgZG8gY2Un byBsYSAuZGphay4gam9pIGxhIC5kam91cy4gY3UgcHUnbyBjaSdlcmtlaSBkYW1iYSBsZWkgeHVu cmUnJyAtICJGaXJzdCBtZSBhbmQgeW91LCB0aGVuIEphY2sgd2lsbCB0b2dldGhlciB3aXRoIEpv ZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMiLiAKCkNvbm5lY3RpbmcgYnJpZGkgd2l0aCBKT0kgY2Fu IG1ha2Ugc29tZSBpbnRlcmVzdGluZyBpbXBsaWNhdGlvbnMgb2YgdGhlIHJlbGF0aW9uc2hpcCBi ZXR3ZWVuIHRoZSBicmlkaTogJydsYSAuZGphay4gbW9yc2kgcmknYSBsbyBudSByaSBkenVzb2kg Lmkgam9pIGxlIGplbWphJ2EgcG8gcmkgY3UgYmVibmEnJyAtICJKYWNrIGlzIGRlYWQgYmVjYXVz ZSBoZSB3YXMgYSBpbmZhbnRyeSBzb2xkaWVyIGFuZCBoaXMgZ2VuZXJhbCB3YXMgYW4gaWRpb3Qi LCBpbXBseWluZyB0aGF0IHRoZXNlIHR3byBicmlkaSBtYXNzZWQgdG9nZXRoZXIgd2FzIHRoZSBw aHlzaWNhbCBjYXVzZSBvZiBoaXMgZGVhdGg6IEhhZCBoZSBvbmx5IGJlZW4gaW4gYW4gYXJtb3Jl ZCB2ZWhpY2xlIG9yIHdpdGggYSBjb21wZXRlbnQgY29tbWFuZGVyLCBoZSBtaWdodCBoYWQgc3Vy dml2ZWQuCgpfXycnZHp1c29pJydfXyB4MSBpcyBhbiBpbmZhbnRyeSBzb2xkaWVyIG9mIGFybXkg eDIKCl9fJydqZW1qYSdhJydfXyB4MSBpcyBhIGdlbmVyYWwgb2YgYXJteSB4MiBpbiBmdW5jdGlv biB4MwoKX18nJ2JlYm5hJydfXyB4MSBpcyBmb29saXNoL2lkaW90aWMgaW4gcHJvcGVydHkvYXNw ZWN0IHgyCgoKCk5vbi1sb2dpY2FsIGNvbm5lY3RpdmVzIG1heSBhbHNvIGJlIG5lZ2F0ZWQgd2l0 aCAnJ25haScnLCBpbmRpY2F0aW5nIHRoYXQgc29tZSBvdGhlciBjb25uZWN0aXZlIGlzIGFwcHJv cHJpYXRlOiAnJ2xvIGRqYWN1IGNlJ28gbmFpIC5lJ28gbG8gbGFkcnUgY3UgY2F2eWZsZSBmaSBs ZSBtaSB0Y2F0aScnIC0gIlBsZWFzZSBkb24ndCBwb3VyIGZpcnN0IHdhdGVyIHRoZW4gbWlsayBp biBteSB0ZWEiLiBUaGlzLCBvZiBjb3Vyc2UsIHNheXMgbm90aGluZyBhYm91dCB3aGljaCBjb25u ZWN0aXZlIGlzIGFwcHJvcHJpYXRlIC0gb25lIG1pZ2h0IGd1ZXNzICcnc2UgY2UnbycnIChmaXJz dCBtaWxrLCB0aGVuIHdhdGVyKSwgb25seSB0byBmaW5kIG91dCB0aGF0ICcnLmUgbmFpJycgKG9u bHkgd2F0ZXIsIG5vIG1pbGsgYXQgYWxsKSB3YXMgdGhlIGNvcnJlY3Qgb25lLgoKX18nJ2Nhdnlm bGUnJ19fIHgxLCBjb25zaXN0aW5nIG9mIHgyLCBmbG93cyBpbnRvIHgzIGZyb20geDQKCkp1c3Qg bGlrZSBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBhIHBsYXVzaWJsZSBuZWdhdGlvbiBvZiBhIG5v bi1sb2dpY2FsIGNvbm5lY3RpdmUsIGFuc3dlcnMgdG8gcXVlc3Rpb25zIG9mIHRoZSB0eXBlICcn amknJyBvciAnJ2plJ2knJyBjYW4gYmUgYm90aCBsb2dpY2FsIGFuZCBub24tbG9naWNhbDogQTog JydsYWRydSBqZSdpIHNha3RhIGxlIGRvIGNrYWZpJycgQjogJydzZSBjZSdvJycgKCJNaWxrIG9y IHN1Z2FyIGluIHlvdSBjb2ZmZWU/IiAiRmlyc3QgdGhlIGxhdHRlciwgdGhlbiB0aGUgZm9ybWVy IikuIEluIHRoaXMgY2FzZSAnJ2NlJycgd291bGQgbWFrZSBubyBzZW5zZSBhdCBhbGwsIHNpbmNl IHNldHMgY2FuJ3QgYmUgY29udGFpbmVkIGluIGNvZmZlZSwgYW5kICcnam9pJycgKGJvdGggbWl4 ZWQgdG9nZXRoZXIpIHdvdWxkIG1lYW4gdGhlIHNhbWUgYXMgJydqbyd1JycgKGJvdGggb2YgdGhl bSksIHVubGVzcyB0aGUgcmVzcG9uZGFudCBwcmVmZXJyZWQgdW5taXhlZCBzdWdhciBpbiBoaXMg Y29mZmVlLgoKCgpUaGUgZmlmdGggSk9JIEkgcHJlc2VudCBoZXJlIGlzIGEgYml0IG9mIGFuIG9k ZGJhbGw6CgpfXycnZmEndScnX18gTm9uLWxvZ2ljYWwgY29ubmVjdGl2ZTogVW5taXhlZCBvcmRl cmVkIGRpc3RyaWJ1dGlvbiAoQSBhbmQgQiwgcmVzcGVjdGl2ZWx5KQoKV2hlbiBvbmx5IG9uZSAn J2ZhJ3UnJyBpcyBwbGFjZWQgd2l0aGluIGEgYnJpZGkgKG9yIHNldmVyYWwgYnJpZGkgY29ubmVj dGVkIHRvZ2V0aGVyIHdpdGggY29ubmVjdG9ycyksICcnZmEndScnIG1heSBiZSBhc3N1bWVkIHRv IGJlIGlkZW50aWNhbCB0byAnJ2pvJ3UnJy4gV2hlbiBzZXZlcmFsICcnZmEndScnIGlzIHVzZWQg d2l0aGluIG9uZSBicmlkaSwgaG93ZXZlciwgdGhlIGNvbnN0cnVjdHMgYmVmb3JlICcnZmEndScn IGVhY2ggYXBwbHkgdG8gZWFjaCBvdGhlciwgYW5kIHRoZSBjb25zdHJ1Y3RzIGFmdGVyICcnZmEn dScnIGVhY2ggYXBwbHkgdG8gZWFjaCBvdGhlci4gTGV0J3MgaGF2ZSBhbiBleGFtcGxlOgoKJydt aSBmYSd1IGRvIHJ1c2tvIGZhJ3Uga2Fkbm8nJyAtICJZb3UgYW5kIEkgYXJlIFJ1c3NpYW4gYW5k IENhbmFkaWFuIiwgaW1wbHlpbmcgdGhhdCAnJ21pJycgZ29lcyB3aXRoICcncnVza28nJyBhbmQg JydkbycnIGdvZXMgd2l0aCAnJ2thZG5vJycsIGFuZCBpbXBseWluZyBub3RoaW5nIGFib3V0IGFu eSBvdGhlciBjb21iaW5hdGlvbi4gT2YgY291cnNlLCBpbiB0aGlzIGV4YW1wbGUsIGl0IHdvdWxk IGJlIG11Y2ggZWFzaWVyIHRvIHNheSAnJ21pIHJ1c2tvIC5pIGRvIGthZG5vJycuCgoKClRoZXNl IGxhc3QgdGhyZWUgSk9JIGNvbm5lY3RzIHR3byBzZXRzIHRvIG1ha2UgbmV3IHNldHM6CgpfXycn am8nZScnX18JQSB1bmlvbiBCCgpfXycna3UnYScnX18JQSBpbnRlcnNlY3Rpb24gQgoKX18nJ3Bp J3UgJydfXwlDcm9zcyBwcm9kdWN0IG9mIEEgYW5kIEIKCgoKVGhlc2UgYXJlIHByb2JhYmx5IG5v dCB2ZXJ5IHVzZWZ1bCBmb3IgdGhlIGF2ZXJhZ2UgTG9qYmFuaXN0LCBidXQgSSBtaWdodCBhcyB3 ZWxsIGluY2x1ZGUgdGhlbSBoZXJlLgoKVGhlIGZpcnN0IG9uZSwgJydqbydlJycsIG1ha2VzIGEg bmV3IHNldCBmcm9tIHR3byBzZXRzLiBUaGlzIG5ldyBzZXQgY29udGFpbnMgb25seSB0aG9zZSBt ZW1iZXJzIHdoaWNoIGFyZSBpbiBib3RoIHNldHMuCgpBIHNldCBtYWRlIHdpdGggJydrdSdhJycg Y29udGFpbnMgYWxsIHRoZSBtZW1iZXJzIG9mIHNldCBBIGFuZCB0aG9zZSBvZiBzZXQgQi4gSWYg YW55dGhpbmcgaXMgYSBtZW1iZXIgb2YgYm90aCBzZXRzLCB0aGV5IGFyZSBub3QgY291bnRlZCB0 d2ljZS4KCicncGkndScnIGlzIGEgbGl0dGxlIG1vcmUgY29tcGxpY2F0ZWQuIEEgc2V0ICJBICcn cGkndScnIEIiIGNvbnRhaW5zIGFsbCB0aGUgcG9zc2libGUgY29tYmluYXRpb25zIG9mICJhICcn Y2UnbycnIGIiLCB3aGVyZSBhIGlzIGEgbWVtYmVyIG9mIEEgYW5kIGIgaXMgYSBtZW1iZXIgb2Yg Qi4gSXQgaXMgdGh1cyBhIHNldCBvZiBzZXF1ZW5jZXMgb2YgbWVtYmVycy4gSWYsIGZvciBpbnN0 YW5jZSwgc2V0IEEgY29udGFpbmVkIHRoZSBtZW1iZXJzIHAgYW5kIHEsIGFuZCBzZXQgQiBjb250 YWluZWQgbWVtYmVycyBmIGFuZCBnLCB0aGVuIEEgJydwaSd1JycgQiB3b3VsZCBiZSBhIHNldCBj b25zaXN0aW5nIG9mIHRoZSBmb3VyIG1lbWJlcnMgcCAnJ2NlJ28nJyBmLCBwICcnY2UnbycnIGcs IHEgJydjZSdvJycgZiBhbmQgcSAnJ2NlJ28nJyBnLgoKCgohISFFbmQgb2YgcGFydCB0d28KCigo d2F2ZWxlc3NvbnNjb250aW51ZWR8UmV0dXJuIHRvIHRoZSB3YXZlbGVzc29ucyBwYXJ0IG9uZSkp CgpUaGlzIHBhcnQgY29uY2x1ZGVzIHRoZSB0dXRvcmlhbCB0byBvcmRpbmFyeSBMb2piYW4uIElu IHRoZSB0aGlyZCBwYXJ0LCBJIHdpbGwgZm9jdXMgb24gYWR2YW5jZWQgTG9qYmFuIC0gdGhlIHBh cnRzIHlvdSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGtub3cgdG8gc3BlYWsgdGhlIGxhbmd1YWdl LiBJIGRpc2NvdXJhZ2UgeW91IHRvIGJlZ2luIHJlYWRpbmcgdGhlIHRoaXJkIHBhcnQgdW50aWwg eW91IGZlZWwgY29tZm9ydGFibGUgZW5vdWdoIHdpdGggdGhlIGluZm9ybWF0aW9uIGluIHRoZSBm aXJzdCB0d28gcGFydHMgdG8gaG9sZCBhbiB3cml0dGVuIGNvbnZlcnNhdGlvbiBpbiB0aGUgbGFu Z3VhZ2UuIElmIHlvdSBfX2RvX18gd2lzaCB0byBjb250aW51ZSwgeW91IGNhbiBwcmVzcyAoKHdh dmVsZXNzb25zY29udGludWVkcDN8dGhpcyBsaW5rKSkgdG8gZ28gdGhlcmUuCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGlu ZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWls bWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==