Received: from localhost ([::1]:40732 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Uge3u-0002KO-8Z; Sun, 26 May 2013 09:44:50 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:54099 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Uge3l-0002KI-Fi for wikineurotic@lojban.org; Sun, 26 May 2013 09:44:48 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sun, 26 May 2013 09:44:41 -0700 From: "Apache" Date: Sun, 26 May 2013 09:44:41 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 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 wavelessonscontinued was changed by dimnas at 18:43 CEST Comment: reverted jbobau to lojban You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by dimnas X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZGltbmFzIGF0IDE4 OjQzIENFU1QKQ29tbWVudDogcmV2ZXJ0ZWQgamJvYmF1IHRvIGxvamJhbgoKWW91IGNhbiB2aWV3 IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3Jn L3Rpa2kvd2F2ZWxlc3NvbnNjb250aW51ZWQKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0 aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5s b2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT13YXZlbGVzc29uc2NvbnRp bnVlZCZjb21wYXJlPTEmb2xkdmVyPTc0Jm5ld3Zlcj03NQoKCioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRo aXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1 bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNTg1LTU4OSBjaGFuZ2VkIHRvICtMaW5l czogNTg1LTU4OSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKwonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHNrYW1pIHtrdX0gY3Ug cGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRoIHZvbGl0aW9uLCBhIGNvbXB1dGVy IHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBzIGltcGx5aW5nIHRoYXQgYSBMb2pi YW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBpdCBkb2VzIG5vdCBzcGVjaWZ5IHdo byBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhlIHByb2dyYW1tZXIgd2hvIHByb2dy YW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgotIFdoYXQgZG9lcyAnJ21pIGppbXBl IGZpIGxhIGpib2JhdSBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRlPworIFdoYXQgZG9l cyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRl PwoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExv amJhbiwgc3Bva2VuIHRvIG1l4oCdfn4KCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxv d3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqCgohTG9qYmFuIFdhdmUgTGVzc29ucyBDb250aW51ZWQ6CgohISFNYWRlIGJ5 IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhl IHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoKCgohIUxvamJhbiBMZXNzb25zIOKA kyBsZXNzb24gemVybzogRm9yZXdvcmQKClRoZXNlIGxlc3NvbnMgYXJlIGFuIGF0dGVtcHQgdG8g ZXhwYW5kIG9uIHRoZSBHb29nbGUgV2F2ZSBMZXNzb25zLCBhbiBleGNlbGxlbnQgTG9qYmFuIHR1 dG9yaWFsIGJ5IGtyaWJhY3IsIHhhbGJvLCBhbmQgb3RoZXJzLCB3aGljaCBzYWRseSBvbmx5IGNv dmVyZWQgdGhlIGZpcnN0IGZvdXIgY2hhcHRlcnMgaW4gdGhpcyB0dXRvcmlhbC4gSXQgaW1wbGVt ZW50cyB0aGUgbmV3ZXN0IHJ1bGVzIG9mIExvamJhbiBub3QgY292ZXJlZCBieSBvbGRlciBtYXRl cmlhbHMgc3VjaCBhcyBXaGF0IGlzIExvamJhbj8gYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzLgoK CgpJZiB5b3UgYXJlIG5ldyB0byBMb2piYW4sIEkgcmVjb21tZW5kIGxpc3RlbmluZyB0byBhbnkg cmVjb3JkaW5ncyB5b3UgY2FuIGZpbmQgb2Ygc3Bva2VuIExvamJhbiBib3RoIGJlZm9yZSBhbmQg d2hpbGUgeW91IGFyZSB0YWtpbmcgdGhpcyB0dXRvcmlhbCwgaW4gb3JkZXIgdG8gbWFrZSB5b3Vy c2VsZiBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgYW5kIHdvcmRzIG9mIHRoZSBsYW5ndWFnZX50 Y34sIHdoaWNoIHdpbGwgbm90IGJlIGV4cGxhaW5lZCBoZXJlfi90Y34uIEZ1cnRoZXJtb3JlLCB0 cnkgdG8gc2F5IHRoZSB0aGluZ3MgeW91IHJlYWQgaW4gTG9qYmFuIGFjY2VudCBpZiBpdCdzIHJl YXNvbmFibHkgcHJhY3RpY2FsLiBUaGlzIGNhbiBoZWxwIHlvdXIgcHJvbnVuY2lhdGlvbiBhIGxv dC4KCgoKV2hlbiB0YWtpbmcgdGhpcyB0dXRvcmlhbCwgaXQncyBiZXN0IHRvIHBhdXNlIGJldHdl ZW4gbGVzc29ucyBpbiBvcmRlciB0byBpbnRlcm5hbGl6ZSB3aGF0IHlvdSBoYXZlIGxlYXJudC4g SSBoYXZlIGF0dGVtcHRlZCB0byBidWlsZCB0aGVzZSBsZXNzb25zIGZyb20gdGhlIGJvdHRvbSB1 cCBhbmQgZXhjbHVkZSBhbnkgd29yZHMgb3IgY29uY2VwdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGV4 cGxhaW5lZCBpbiBwcmV2aW91cyBsZXNzb25zLiBPbmNlIGV4cGxhaW5lZCwgdGhleSBhcmUgdXNl ZCBmcmVlbHkgdGhyb3VnaG91dCB0aGUgcmVtYWluZGVyIG9mIHRoZSB0dXRvcmlhbC4gSSB1cmdl IHJlYWRlcnMgbm90IHRvIHBhc3MgYW55IG1pc3VuZGVyc3Rvb2QgY29udGVudDsgaWYgeW91IGhh dmUgcXVlc3Rpb25zIG9yIGFyZSB1bmNlcnRhaW4gYWJvdXQgc29tZXRoaW5nLCBmZWVsIGZyZWUg dG8gYXNrIHRoZSBMb2piYW4gY29tbXVuaXR5LCB3aGljaCBjYW4gYmUgZm91bmQgaW4gI2xvamJh biBvbiB0aGUgRnJlZW5vZGUgSVJDIG5ldHdvcmsuIFRoZXkgd2lsbCBiZSBoYXBweSB0byBoZWxw LgoKCgpJbiB0aGlzIHR1dG9yaWFsLCBMb2piYW4gdGV4dCBpcyB3cml0dGVuIGluICcnaXRhbGlj cycnLiBMYXRlciwgd2hlbiB1c2VkIGFzIExvamJhbiBsb2Fud29yZHMgaW4gRW5nbGlzaCBzZW50 ZW5jZXMsIHRoZXkgYXJlIG5vdCBtYXJrZWQuIEFuc3dlcnMgdG8gZXhlcmNpc2VzIGFyZSBkaXNw bGF5ZWQgYXMgYSBncmV5IGJhci4gSGlnaGxpZ2h0IHRoZSB0ZXh0IGluIG9yZGVyIHRvIHNlZSBp dC4KCgoKTGFzdGx5LCBJIGhhdmUgYXMgZmFyIGFzIHBvc3NpYmxlIGF0dGVtcHRlZCB0byB1c2Ug dGhlIExvamJhbiB3b3JkcyBmb3IgZ3JhbW1hdGljYWwgY29uc3RydWN0czogJydzdW1rYSdpJycg aW5zdGVhZCBvZiBwcm8tc3VtdGksICcnc3VtdGNpdGEnJyBpbnN0ZWFkIG9mIG1vZGFsIGFuZCAn J2p1ZnJhJycgaW5zdGVhZCBvZiB1dHRlcmFuY2UuIFRoaXMgaXMgYmVjYXVzZSBJIGZlZWwgdGhl IEVuZ2xpc2ggd29yZHMgYXJlIG9mdGVuIGVpdGhlciBhcmJpdHJhcnksIGluIHdoaWNoIGNhc2Ug dGhleSBhcmUganVzdCBtb3JlIHdvcmRzIHRvIGxlYXJuLCBvciBtaXNsZWFkaW5nLCBpbiB3aGlj aCBjYXNlIHRoZXkgYXJlIHdvcnNlIHRoYW4gdXNlbGVzcy4gSW4gZWl0aGVyIGNhc2UsIGFzIGxv bmcgYXMgdGhlIHdvcmRzIGFyZSBzcGVjaWZpYyB0byB0aG9zZSB3aG8gYXJlIGxlYXJuaW5nIExv amJhbiBhbnl3YXksIHRoZXJlIGlzIG5vIHJlYXNvbiBmb3IgdGhlbSB0byBleGlzdCBhcyBzZXBh cmF0ZSBFbmdsaXNoIHdvcmRzLgoKCgohISFQcmVmYWNlLiBTb3VuZHMKClRoZSBmaXJzdCB0aGlu ZyB5b3UgbmVlZCB0byBkbyB3aGVuIHlvdSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMgdG8g YmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0 aGV5IGFyZSB3cml0dGVuLCBhbmQgdGhlIHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5hdGVs eSwgTG9qYmFuIHNvdW5kcyAoX19waG9uZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9yd2Fy ZC4KCiEhISFWb3dlbHMKClRoZXJlIGFyZSBzaXggdm93ZWxzIGluIExvamJhbi4KCgoKfHwnJ2En JyB8YXMgaW4gImZfX2FfX3RoZXIiIChub3QgYXMgaW4gImhfX2FfX3QiKQoKJydlJycgfGFzIGlu ICJnX19lX190IgoKJydpJycgfGFzIGluICJtYWNoX19pX19uZSIgb3IgKEl0YWxpYW4pICJ2X19p X19ubyIgKG5vdCBhcyBpbiAiaF9faV9fdCIpCgonJ28nJyB8YXMgaW4gImJfX29fX2xkIiBvciAi bV9fb19fcmUiIOKAlCBub3QgYXMgaW4gInNfX29fXyIgKHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUn IHNvdW5kLikKCicndScnIHxhcyBpbiAiY19fb29fX2wiIChub3QgYXMgaW4gImJfX3VfX3QiKSB8 fAoKVGhlc2UgYXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9y IFNwYW5pc2guIFRoZSBzaXh0aCB2b3dlbCwgJyd5JycsIGlzIGNhbGxlZCBhIF9fc2Nod2FfXyBp biB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0IGFu ZCBsYXN0ICJBIidzIGluICJBbWVyaWNhIiAodGhhdCdzIEVuZ2xpc2ggIkFtZXJpY2EiLCBub3Qg U3BhbmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlz IGNvbXBsZXRlbHkgcmVsYXhlZC4KClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5jZWQg YXMgb25lIHNvdW5kIChfX2RpcGh0aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CgoKCnx8Jydh aScnIHxhcyBpbiAiaF9faWdoX18iCgonJ2F1JycgfGFzIGluICJoX19vd19fIgoKJydlaScnIHxh cyBpbiAiaF9fZXlfXyIKCicnb2knJyB8YXMgaW4gImJfX295X18iCgonJ2lhJycgfGxpa2UgR2Vy bWFuIF9fIkphX18iCgonJ2llJycgfGxpa2UgX18ieWVhaF9fIgoKJydpdScnIHxsaWtlIF9fInlv dV9fIgoKJyd1YScnIHxhcyBpbiBfXyJ3YWFoIV9fIiwgb3IgRnJlbmNoICJxX191b2lfXyIKCicn dWUnJyB8YXMgaW4gInFfX3VlX19zdGlvbiIKCicndW8nJyB8YXMgaW4gInFfX3VvX190ZSIKCicn dWknJyB8bGlrZSBfXyJ3ZV9fIiwgb3IgRnJlbmNoIF9fIm91aV9fIiB8fAoKRG91YmxlIHZvd2Vs cyBhcmUgcmFyZS4gVGhlIG9ubHkgZXhhbXBsZXMgYXJlICcnaWknJywgd2hpY2ggaXMgcHJvbm91 bmNlZCBsaWtlIEVuZ2xpc2ggInllIiAoYXMgaW4g4oCcT2ggY29tZSBhbGwgeWUgZmFpdGhmdWzi gJ0pIG9yIENoaW5lc2UgInlpIiwgYW5kICcndXUnJywgcHJvbm91bmNlZCBsaWtlICJ3b28iLgoK ISEhIUNvbnNvbmFudHMKCk1vc3QgTG9qYmFuIGNvbnNvbmFudHMgYXJlIHRoZSBzYW1lIGFzIEVu Z2xpc2gsIGJ1dCB0aGVyZSBhcmUgc29tZSBleGNlcHRpb25zOgoKCgp8fGcgfGFsd2F5cyAnJ2cn JyBhcyBpbiAnJ19fZ19fdW0nJywgbmV2ZXIgJydnJycgYXMgaW4gJydfX2dfX2VtJycKCmMgfCcn c2gnJywgYXMgaW4gJydfX3NoX19pcCcnCgpqIHxhcyBpbiAnJ21lYV9fc19fdXJlJycgb3IgRnJl bmNoICcnYm9uX19qX19vdXInJwoKeCB8YXMgaW4gR2VybWFuICcnQmFfX2NoJydfXywgU3Bhbmlz aCAnJ19fSl9fb3NlJycgb3IgQXJhYmljICcnX19LaF9fYWxlZCcnIHx8CgpUaGUgRW5nbGlzaCBz b3VuZHMgJydjaCcnIGFuZCAnJ2onJyBhcmUgd3JpdHRlbiBhcyB0YyBhbmQgZGouCgpMb2piYW4g ZG9lc24ndCB1c2UgdGhlIGxldHRlcnMgJydIJycsICcnUScnIG9yICcnVycnLgoKISEhIVNwZWNp YWwgQ2hhcmFjdGVycwoKTG9qYmFuIGRvZXMgbm90IHJlcXVpcmUgYW55IHB1bmN0dWF0aW9uLCBi dXQgc29tZSBzcGVjaWFsIGNoYXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQgaW4gcHVuY3R1YXRpb24g aW4gb3RoZXIgbGFuZ3VhZ2VzKSBhZmZlY3QgdGhlIHdheSBMb2piYW4gaXMgcHJvbm91bmNlZC4K ClRoZSBvbmx5IG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIHdoaWNoIGlzIG9ibGlnYXRvcnkgaW4g TG9qYmFuIGlzIHRoZSBhcG9zdHJvcGhlOyBpbiBmYWN0IHRoZSBhcG9zdHJvcGhlIGlzIHJlZ2Fy ZGVkIGFzIGEgcHJvcGVyIGxldHRlciBvZiBMb2piYW4uIEFuIGFwb3N0cm9waGUgc2VwYXJhdGVz IHR3byB2b3dlbHMsIHByZXZlbnRpbmcgdGhlbSBmcm9tIGJlaW5nIHByb25vdW5jZWQgdG9nZXRo ZXIgKGFzIGEgX19kaXBodGhvbmdfXyk7IGl0IGlzIGl0c2VsZiBwcm9ub3VuY2VkIGxpa2UgYW4g ImgiLiBGb3IgZXhhbXBsZSwgJyd1aScnIGlzIG5vcm1hbGx5IHByb25vdW5jZWQgIndlIiwgYnV0 ICcndSdpJycgaXMgIm9vaGVlIicuCgpBIGZ1bGwgc3RvcCAocGVyaW9kKSBpcyBhIHNob3J0IHBh dXNlIHRvIHN0b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2ggb3RoZXIuIFRoZSBydWxlcyBvZiBM b2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRvIHJ1biBpbnRvIGFub3RoZXIgd2hl biB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dlbDsgc28gYW55IHdvcmQgc3RhcnRp bmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBhIGZ1bGwgc3RvcCBwbGFjZWQgaW4g ZnJvbnQgb2YgaXQuCgpDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBidXQgY2FuIGJlIHVzZWQg dG8gc3RvcCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4geW91IGRvbid0IHdhbnQg dG8gdXNlIGFuIGFwb3N0cm9waGUgKHdoaWNoIHdvdWxkIHB1dCBhICcnaCcnIGJldHdlZW4gdGhl bSkuIE5vIExvamJhbiB3b3JkcyBoYXZlIGNvbW1hcywgYnV0IHRoZXkncmUgc29tZXRpbWVzIHVz ZWQgaW4gd3JpdGluZyBub24tTG9qYmFuIG5hbWVzLCBmb3IgZXhhbXBsZSAnJy5waSxFUi4nJyAo IlBpZXJyZSIpLCBhcyBvcHBvc2VkIHRvICcnLnBpZXIuJycgKCJQLXllcnIiKSwgJycucGkuRVIu JycgKCJQZWU7IEVociIpLCBvciAnJy5waSdFUi4nJyAoIlBpaGVyciIpLgoKQ2FwaXRhbCBsZXR0 ZXJzIGFyZSBub3Qgbm9ybWFsbHkgdXNlZCBpbiBMb2piYW4uIFdlIHVzZSB0aGVtIGluIG5vbi1M b2piYW4gd29yZHMgKGxpa2UgIlBpZXJyZSIpIHdoZW4gdGhlIHN0cmVzcyBvZiBhIHdvcmQgaXMg ZGlmZmVyZW50IGZyb20gdGhlIExvamJhbiBub3JtLiBUaGUgbm9ybSBpcyB0byBwdXQgdGhlIHN0 cmVzcyBvbiB0aGUgbGFzdC1idXQtb25lIHN5bGxhYmxlOyBzbywgZm9yIGV4YW1wbGUsICcna3Vq bWlrY2UnJyAibnVyc2UiIGlzICcna3VqX19NSUtfX2NlJycsIG5vdCAnJ19fS1VKX19taWtjZScn LiBUaGUgbmFtZSAiSnVsaWV0dGUiIHdvdWxkIGJlIHdyaXR0ZW4gJycuREpVbGksZXQuJycgaWYg cHJvbm91bmNlZCBpbiBhbiBFbmdsaXNoIHdheSwgYnV0ICcnLmp1TElFVC4nJyBpZiBwcm9ub3Vu Y2VkIGFzIGluIEZyZW5jaC4KCiEhISFBbHBoYWJldAoKSW4gbW9zdCBsYW5ndWFnZSB0ZXh0Ym9v a3MsIHlvdSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFnZSB0b2dldGhlciB3aXRoIGl0 cyBzb3VuZHMuIExldHRlcnMgKCcnbGVyZnUnJykgdHVybiBvdXQgdG8gYmUgZXZlbiBtb3JlIGlt cG9ydGFudCB0aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2UgbWlnaHQgYXMgd2VsbCBnbyB0aHJv dWdoIHRoZWlyIG5hbWVzIHF1aWNrbHkuCgpDb25zb25hbnRzIGFyZSBzdHJhaWdodGZvcndhcmQ6 IHRoZSBuYW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGF0IGxldHRlciwgcGx1cyB5LiBT byB0aGUgY29uc29uYW50IGxldHRlcnMgb2YgTG9qYmFuLCAiYiwgYywgZCwgZiwgZyAuLi4iLCBh cmUgY2FsbGVkICcnYnkuLCBjeS4sIGR5LiwgZnkuLCBneS4nJyAuLi4gaW4gTG9qYmFuICh1c2lu ZyB0aGUgZnVsbCBzdG9wIGFzIHdlJ3ZlIGp1c3QgZGVzY3JpYmVkLikKClZvd2VscyBfX3dvdWxk X18gYmUgY2FsbGVkICcnLmF5LCAuZXksIC5peScnLCBidXQgdGhhdCB3b3VsZCBiZSByYXRoZXIg ZGlmZmljdWx0IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUgaGFuZGxlZCBieSBmb2xs b3dpbmcgdGhlIHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgJydidScnLCB3aGljaCBiYXNpY2Fs bHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFyZTogJycuYWJ1LCAu ZWJ1LCAuaWJ1LCAub2J1LCAudWJ1LCB5YnUuJycKClRoZSBhcG9zdHJvcGhlIGlzIHJlZ2FyZGVk IGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBjYWxsZWQgJycueSd5LicnIC4g VG8gc29tZSBwZW9wbGUsIHRoaXMgc291bmRzIGxpa2UgYSBjb3VnaDsgdG8gb3RoZXIsIGxpa2Ug InVoLWh1aCIgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVyIHRoYW4gJ05vJy4pCgpMb2piYW4g aGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBsZXR0ZXJzIHlvdSBjYW4gdGhpbmsgb2YuIElm IHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91dCB5b3VyIG5hbWUgaW4gTG9qYmFuIGFuZCBo YXZlIGFuICJIIiwgIlEiLCBvciAiVyIgdG8gZGVhbCB3aXRoLCB5b3UgY2FuIHVzZSAnJy55J3ku YnUsIGt5LmJ1JycgYW5kICcndnkuYnUnJy4gU28gIlNjaHdhcnplbmVnZ2VyIiBpcyBzcGVsdCBp biBMb2piYW4gYXM6CgonJ3N5LiBjeS4gLnkneWJ1IHZ5YnUuIC5hYnUgcnkuIHp5LiAuZWJ1IG55 LiAuZWJ1IGd5LiBneS4gLmVidSByeS4nJwoKQW5kIHNwZWxsaW5nICJ0aGF0IiBpcyBhIHRhc2sg dGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5hdG9yIGV2ZXIgZGlkIQoKCgpOb3cgc3Bl bGwgeW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVhc3Qgc29tZXRoaW5nIGNsb3NlIGVub3Vn aCB0byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0dGVycyBvZiBFbmdsaXNoIHdlIGhhdmUg bGVhcm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlKS4KCgoKISEhISAnQ29ycmVjdCcgcHJvbnVuY2lh dGlvbgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNlIGFib3V0IExvamJhbiBwcm9u dW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBp dCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90aGVyLiBUaGlzIG1lYW5zIHRo YXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJh bmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKAlHRoZSBnZW5lcmFsIHByaW5jaXBsZSBp cyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9lc24ndCBzb3VuZCB0b28gbXVj aCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9qYmFuIHIgY2FuIGJlIHByb25v dW5jZWQgbGlrZSB0aGUgInIiIGluIEVuZ2xpc2gsIFNjb3R0aXNoIG9yIEZyZW5jaC4KClR3byB0 aGluZ3MgdG8gYmUgY2FyZWZ1bCBvZiwgdGhvdWdoLCBhcmUgcHJvbm91bmNpbmcgTG9qYmFuICcn aScnIGFuZCAnJ3UnJyBsaWtlIFN0YW5kYXJkIEJyaXRpc2ggRW5nbGlzaCAiaGl0IiBhbmQgImJ1 dCIgKE5vcnRoZXJuIEVuZ2xpc2ggImJ1dCIgaXMgZmluZSEpLiBUaGlzIGlzIGJlY2F1c2Ugbm9u LUxvamJhbiB2b3dlbHMsIHBhcnRpY3VsYXJseSB0aGVzZSB0d28sIGFyZSB1c2VkIHRvIHNlcGFy YXRlIGNvbnNvbmFudHMgYnkgcGVvcGxlIHdobyBmaW5kIHRoZW0gaGFyZCB0byBzYXkuIEZvciBl eGFtcGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyBzcGl0dGluZyBvdXQgdGhlICcnemQnJyBpbiAn J3pkYW5pJycgKGhvdXNlKSwgeW91IGNhbiBzYXkgesmqZGFuaeKAlHdoZXJlIHRoZSAiyaoiIGlz IHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgImkiIGhhcyB0byBiZSBsb25nLgoKISEhIUxvamJh biBOYW1lcyAoY21ldmxhKQoKV2F0Y2ggYW55IGZpbG0gd2hlcmUgcGVvcGxlIGRvbid0IGtub3cg ZWFjaCBvdGhlcidzIGxhbmd1YWdlLiBUaGV5IHN0YXJ0IG9mZiBzYXlpbmcgdGhpbmdzIGxpa2Ug 4oCcTWUgVGFyemFuLOKAnSB3aGljaCBpcyBhcyBnb29kIGEgcGxhY2UgdG8gc3RhcnQgbGVhcm5p bmcgTG9qYmFuIGFzIGFueS4gU28gaGVyZSB3ZSBnby4KCl9fJydtaSdlIC5yb2Jpbi4nJ19fCgoi SS1hbS1uYW1lZCBSb2JpbiIKCiJJJ20gUm9iaW4iCgonJ21pJ2UnJyBpcyByZWxhdGVkIHRvICcn bWknJywgd2hpY2ggaXMgJ0knLCAnbWUnIGFuZCBzbyBvbi4gSXQncyBhIGdvb2QgZXhhbXBsZSBv ZiB0aGUgYXBvc3Ryb3BoZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMsIGFuZCBzb3VuZHMgYSBiaXQg bGlrZSAibWUgaGVoIi4KClRoaXMgZ3V5IFJvYmluIGlzIGx1Y2t5IGJlY2F1c2UgaGlzIG5hbWUg Z29lcyBkaXJlY3RseSBpbnRvIExvamJhbiB3aXRob3V0IGFueSBjaGFuZ2VzLiBIb3dldmVyLCB0 aGVyZSBhcmUgc29tZSBydWxlcyBmb3IgTG9qYmFuIG5hbWVzIHdoaWNoIG1lYW4gdGhhdCBzb21l IG5hbWVzIGhhdmUgdG8gYmUgJ0xvamJhbmlzZWQnLiBUaGlzIG1heSBzb3VuZCBzdHJhbmdl4oCU YWZ0ZXIgYWxsLCBhIG5hbWUgaXMgYSBuYW1l4oCUYnV0IGluIGZhY3QgYWxsIGxhbmd1YWdlcyBk byB0aGlzIHRvIHNvbWUgZXh0ZW50LiBGb3IgZXhhbXBsZSwgRW5nbGlzaCBzcGVha2VycyB0ZW5k IHRvIHByb25vdW5jZSAiSm9zZSIgc29tZXRoaW5nIGxpa2UgIkhvemF5IiwgYW5kICJNYXJnYXJl dCIgaW4gQ2hpbmVzZSBpcyAiTWFnZWxpdGEiLiBTb21lIHNvdW5kcyBqdXN0IGRvbid0IGV4aXN0 IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gaXMg cmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0IGl0IG9ubHkgY29udGFpbnMgTG9qYmFuIHNvdW5kcywg YW5kIGlzIHNwZWx0IGluIGEgTG9qYmFuIHdheS4KCl9fTm90ZTogX19UaGUgY2F0Y2ggaGVyZSBp cywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBzb3VuZHMgd2lsbCB5b3UgYmUgdXNpbmc/IEZvciBFbmds aXNoIGluIHBhcnRpY3VsYXIsIEJyaXRpc2ggYW5kIEFtZXJpY2FuIHZvd2VscyBjYW4gYmUgcXVp dGUgZGlmZmVyZW50LiBUaGUgQnJpdGlzaCB2ZXJzaW9uIG9mICJSb2JpbiIgaXMgcmVhc29uYWJs eSBhcHByb3hpbWF0ZWQgYnkgJycucm9iaW4uJyc7IGJ1dCB0aGUgQW1lcmljYW4gdmVyc2lvbiBp cyBjbG9zZXIgdG8gJycucmFieW4uJycgb3IgJycucmFiLG4uJycuIEFuZCB3aXRoaW4gQW1lcmlj YSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxzbyBhIGdvb2QgZGVhbCBvZiB2YXJpYXRpb24uIFNv IHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNsaXRlcmF0aW9ucyBnaXZlbiBiZWxvdyB3aXRoIGEg Z3JhaW4gb2Ygc2FsdC4KCkxldCdzIHRha2UgdGhlIEVuZ2xpc2ggbmFtZSAiU3VzYW4iLiBUaGUg dHdvICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHnigJR0aGUgc2Vjb25kIG9uZSBp cyBhY3R1YWxseSBhICJ6IuKAlGFuZCB0aGUgImEiIGlzIG5vdCByZWFsbHkgYW4gImEiIHNvdW5k LCBpdCdzIHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAiU3VzYW4iIGNvbWVzIG91 dCBpbiBMb2piYW4gYXMgJycuc3V6eW4uJycuCgpZb3UgbWF5IGhhdmUgbm90aWNlZCB0d28gZXh0 cmEgZnVsbCBzdG9wcyAocGVyaW9kcykgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ug aWYgeW91IGRpZG4ndCBwYXVzZSwgeW91IG1pZ2h0IG5vdCBrbm93IHdoZXJlIHRoZSBwcmV2aW91 cyB3b3JkIGVuZGVkIGFuZCB0aGUgbmV4dCB3b3JkIGJlZ2FuLgoKCgpZb3Ugc2hvdWxkIGFsc28g cHV0IGEgZnVsbCBzdG9wIGluIGJldHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBuYW1l cyAodGhvdWdoIGl0J3Mgbm90IGNvbXB1bHNvcnkpLCBzbyAiSmltIEpvbmVzIiBiZWNvbWVzICcn LmRqaW0uZGpvbnouJycuCgpBbiBpbXBvcnRhbnQgcnVsZSBmb3IgTG9qYmFuaXNpbmcgbmFtZXMg aXMgdGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWV2bGEgKExvamJhbiBuYW1lKSBtdXN0IGJl IGEgY29uc29uYW50LiBBZ2FpbiwgdGhpcyBpcyB0byBwcmV2ZW50IGNvbmZ1c2lvbiBhcyB0byB3 aGVyZSBhIG5hbWUgZW5kcywgYW5kIHdoYXQgaXMgYW5kIGlzIG5vdCBhIG5hbWUgKGFsbCBvdGhl ciBMb2piYW4gd29yZHMgZW5kIGluIGEgdm93ZWwpLiBXZSB1c3VhbGx5IHVzZSAnJ3MnJyBmb3Ig dGhpczsgc28gaW4gTG9qYmFuLCAiTWFyeSIgYmVjb21lcyAnJy5tZXJpcy4nJyAsICJKb2UiIGJl Y29tZXMgJycuZGpvcy4nJyBhbmQgc28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91 dCB0aGUgbGFzdCB2b3dlbCwgc28gIk1hcnkiIHdvdWxkIGJlY29tZSAnJy5tZXIuJycgb3IgJycu bWVpci4nJy4KCgoKVGhlIGZpbmFsIHBvaW50IGlzIHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9q YmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUgcGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBp ZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3MsIHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRo aXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQgRnJlbmNoIG5hbWVzICJSb2JlcnQiIGNvbWUg b3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAnJy5yb2J5dC4n JyBpbiBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQuJycgaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0 cywgYnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIuJycuCgpUbyBnaXZlIGFuIGlkZWEgb2YgaG93 IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4g dGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCgoKCnx8X19FbmdsaXNoX18KCk1hcmdh cmV0IFRoYXRjaGVyIHwnJy5tYWdyeXQudGF0Y3lyLicnIChubyAidGgiIGluIExvamJhbiBiZWNh dXNlIG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29ybGQgY2FuJ3Qgc2F5IGl0ISkKCk1pY2sgSmFn Z2VyIHwnJy5taWsuZGphZ3lzLicnIHx8Cgp8fF9fRnJlbmNoX18KCk5hcG9sZW9uIEJvbmFwYXJ0 ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnCgpKdWxpZXR0ZSBCaW5vY2hlIHwnJy5qdUxJRVQu YmluT0MuJycgfHwKCnx8X19DaGluZXNlX18KCkxhb3ppIHwnJy5sYXVkei4nJwoKTWFvIFplZG9u ZyB8JycubWF1ZHp5RFlOLicnIChGaW5hbCAnJ25nJycgaXMgaW4gTG9qYmFuIGNvbnZlbnRpb25h bGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKfHxfX1R1cmtpc2hfXwoKTXVzdGFmYSBLZW1hbCB8Jycu TVVTdGFmYXMua2VNQUwuJycKCkVya2luIEtvcmF5IHwnJy5lcmtpbi5rb3JhaXMuJycgfHwKCnx8 X19HZXJtYW5fXwoKRnJpZWRyaWNoIE5pZXR6c2NoZSB8JycuZnJpZHJpeC5uaXRjeXMuJycKCkNs YXJhIFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4uJycgfHwKCnx8X19TcGFuaXNoX18KCklzYWJl bCBBbGxlbmRlIHwnJy5pemFCRUwuYWllbmRlcy4nJwoKQ2hlIEd1ZXZhcmEgfCcnLnRjZWdldmFy YXMuJycgfHwKCl9fRXhlcmNpc2VfXy4KCldoZXJlIGFyZSB0aGVzZSBwbGFjZXM/CgojLm51LElP UksuCgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5rYXJkaWYuCgojLmJlaWRqaW4uCgojLkFOa2Fy YXMuCgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVyLgoKIy5rZWlwdGF1bi4KCiMudGFpYmVpcy4K CiMuYm9uLgoKIy5kZWxpcy4KCiMubmlzLgoKIy5hdGluYXMuCgojLmxpZHouCgojLnhlbHNpbmtp cy4KCkFuc3dlcjoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5LGdyYXk6TmV3IFlvcms6IFVTQX5+ Cgojfn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fgoKI35+Z3JheSxncmF5OkhhdmFuYTogQ3ViYX5+ Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBXZWxzaCBmb3IgIkNhcmRpZmYiIGlz ICJDYWVyZHlkZCIsIHdoaWNoIHdvdWxkIExvamJhbmlzZSB0byBzb21ldGhpbmcgbGlrZSBrYWly ZHlkLi4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGluYX5+Cgojfn5ncmF5LGdyYXk6QW5r YXJhOiBUdXJrZXl+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVycXVlOiBOZXcgTWV4aWNvLCBVU0F+ fgoKI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4KCiN+fmdyYXksZ3JheTpDYXBlIFRv d246IFNvdXRoIEFmcmljYX5+Cgojfn5ncmF5LGdyYXk6VGFpcGVpOiBUYWl3YW4gKG5vdGUgYiwg bm90IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUgYiBpbiBQaW55aW4gaXMgcHJvbm91bmNlZCBh cyBhIHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQgdG8gYmUgYSBjb3Vyc2Ugb24gTWFuZGFyaW4h KX5+Cgojfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFueX5+Cgojfn5ncmF5LGdyYXk6RGVsaGk6IElu ZGlhIChUaGUgSGluZGkgZm9yICJEZWxoaSIgaXMgIkRpbGzDriIsIHdoaWNoIHdvdWxkIGdpdmUg ZGlsaXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+fgoKI35+ Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgiQXRoaW5hIiBpbiBHcmVlayl+fgoKI35+Z3JheSxn cmF5OkxlZWRzOiBFbmdsYW5kfn4KCiN+fmdyYXksZ3JheTpIZWxzaW5raTogRmlubGFuZH5+Cgpf X0V4ZXJjaXNlX18uCgpMb2piYW5pc2UgdGhlIGZvbGxvd2luZyBuYW1lcwoKI0pvaG4KCiNNZWxp c3NhCgojQW1hbmRhCgojTWF0dGhldwoKI01pY2hhZWwKCiNEYXZpZCBCb3dpZQoKI0phbmUgQXVz dGVuCgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1NpZ291cm5leSBXZWF2ZXIKCiNSaWNoYXJkIE5p eG9uCgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5bwoKI1NhbiBTYWx2YWRvcgoKQW5zd2VyOgoK fn5ncmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJuYXRpdmUgc3BlbGxpbmdzIGZvciBu YW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5jZSB0aGUgb3JpZ2luYWxzIGRpZmZl cmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBkb2Vzbid0IGV4aXN0IGluIExvamJh biwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdvIExvamJhbiBsZXR0ZXJzLiBUaGlz IGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25lIGtub3dzIHdobyBvciB3aGVyZSB5 b3UncmUgdGFsa2luZyBhYm91dC5+fgoKI35+Z3JheSxncmF5Oi5kam9uLiAob3IgLmRqYW4uIHdp dGggc29tZSBhY2NlbnRzKX5+Cgojfn5ncmF5LGdyYXk6Lm1lbGlzeXMufn4KCiN+fmdyYXksZ3Jh eTouYW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcgb24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5 IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBiZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBi ZSBlLil+fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMufn4KCiN+fmdyYXksZ3JheToubWFpa3lsLiBv ciAubWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cgeW91IHNheSBpdC5+fgoKI35+Z3JheSxncmF5 Oi5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90IC5idSxpcy4g4oCUIHRoYXQncyB0 aGUga25pZmUpfn4KCiN+fmdyYXksZ3JheTouZGplaW4ub3N0aW4ufn4KCiN+fmdyYXksZ3JheTou dWlsaWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3JheTouc2lnb3JuaXMudWl2eXIuIG9yIC5zeWdv cm5pcy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5yaXRjeXJkLm5pa3N5bi5+fgoKI35+Z3JheSxn cmF5Oi5pc3RhbkJVTC4gd2l0aCBFbmdsaXNoIHN0cmVzcywgLklTdGFuYnVsLiB3aXRoIEFtZXJp Y2FuLCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4gTG9qYmFuaXN0cyBnZW5lcmFsbHkgcHJlZmVy IHRvIGJhc2UgY21ldmxhIG9uIGxvY2FsIHByb251bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBh biBhYnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdyYXk6Lm1hRFJJRC5+fgoKI35+Z3JheSxncmF5 Oi50b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2FuLnNhbHZhRE9SLiAod2l0aCBTcGFuaXNoIHN0 cmVzcykgPC9zcGFuPjwvaHRtbD5+fgoKISEhIUxvamJhbiB3b3JkcyBhcyBuYW1lcwoKQnkgbm93 IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwg aWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChp ZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVs eSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xh dGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkg aGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBl Y3QgdGhlICJ3YXNpY2h1IiB0byBiZSBhYmxlIHRvIHByb25vdW5jZSB3b3JkcyBpbiBMYWtvdGEs IENoZXJva2VlIG9yIHdoYXRldmVyIQoKTG9qYmFuIHdvcmRzIChleGNlcHQgY21ldmxhKSBlbmQg aW4gYSB2b3dlbC4gWW91IGNhbiB1c2UgbG9qYmFuIHdvcmRzIGFzIG5hbWVzIHRvby4gQnV0IGlm IHlvdSBwcmVmZXIgdGhhdCB5b3VyIG5hbWUgaXMgYSBjbWV2bGEgYW5kIGl0IGVuZHMgaW4gYSB2 b3dlbCB0aGVuIHlvdSBjYW4gZWl0aGVyIGFkZCBhIGNvbnNvbmFudCB0byB0aGUgZW5kIG9mIGl0 IG9yIGp1c3QgY2hvcCB0aGUgZW5kIHZvd2VsIG9mZi4KCkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVz IChvcmlnaW5hbCBuYW1lLCBtZWFuaW5nLCBuYW1lIGFuZCBuYW1lIGFzIGNtZXZsYSk6CgoqRmlz aCDigJMgZmlucGUg4oCTICcnLmZpbnAuJycKCipCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIp IOKAkyBjcmliZSDigJMgJycuY3JpYi4nJwoKKkdyZWVuIOKAkyBjcmlubyDigJMgJycuY3Jpbi4n JwoKKk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkg4oCTIG1lbGJpIOKAkyAnJy5tZWxiLicn CgoqQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2Js aSkg4oCTICcnLmx1cm5vYmxpcy4nJwoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gb25l IChicmlkaSwganVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCgpBICcnYnJpZGknJyBpcyB0aGUgbW9z dCBjZW50cmFsIHVuaXQgb2YgTG9qYmFuIHV0dGVyYW5jZXMuIFRoZSBjb25jZXB0IGlzIHZlcnkg Y2xvc2UgdG8gd2hhdCB3ZSBjYWxsIGEgcHJvcG9zaXRpb24gaW4gRW5nbGlzaC4gQSBicmlkaSBp cyBhIGNsYWltIHRoYXQgc29tZSBvYmplY3RzIHN0YW5kIGluIGEgcmVsYXRpb24gdG8gZWFjaCBv dGhlciwgb3IgdGhhdCBhbiBvYmplY3QgaGFzIHNvbWUgcHJvcGVydHkuIFRoaXMgc3RhbmRzIGlu IGNvbnRyYXN0IHRvICcnanVmcmEnJywgd2hpY2ggYXJlIG1lcmVseSBMb2piYW4gdXR0ZXJhbmNl cywgd2hpY2ggY2FuIGJlIGJyaWRpIG9yIGFueXRoaW5nIGVsc2UgYmVpbmcgc2FpZC4gVGhlIGRp ZmZlcmVuY2UgYmV0d2VlbiBhIGJyaWRpIGFuZCBhIGp1ZnJhIGlzIHRoYXQgYSBqdWZyYSBkb2Vz IG5vdCBuZWNlc3NhcmlseSBzdGF0ZSBhbnl0aGluZywgd2hpbGUgYSBicmlkaSBkb2VzLiBUaHVz LCBhIGJyaWRpIG1pZ2h0IGJlIHRydWUgb3IgZmFsc2UsIHdoaWxlIG5vdCBhbGwganVmcmEgY2Fu IGJlIHNhaWQgdG8gYmUgc3VjaC4KClRvIGhhdmUgc29tZSBleGFtcGxlcyAoaW4gRW5nbGlzaCwg dG8gYmVnaW4gd2l0aCksIOKAnE1vemFydCB3YXMgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFs bCB0aW1l4oCdIGlzIGEgYnJpZGksIGJlY2F1c2UgaXQgbWFrZXMgYSBjbGFpbSB3aXRoIGEgdHJ1 dGggdmFsdWUsIGFuZCBpdCBpbnZvbHZlcyBhbiBvYmplY3QsIE1vemFydCwgYW5kIGEgcHJvcGVy dHksIGJlaW5nIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZS4gT24gdGhlIGNvbnRy YXJ5LCDigJxPdyEgTXkgdG9lIeKAnSBpcyBub3QgYSBicmlkaSwgc2luY2UgaXQgZG9lcyBub3Qg aW52b2x2ZSBhIHJlbGF0aW9uLCBhbmQgdGh1cyBkb2VzIG5vdCBzdGF0ZSBhbnl0aGluZy4gQm90 aCwgdGhvdWdoLCBhcmUganVmcmEuCgpUcnkgdG8gaWRlbnRpZnkgdGhlIGJyaWRpIGFtb25nIHRo ZXNlIEVuZ2xpc2gganVmcmE6CgoKCiMg4oCcSSBoYXRlIGl0IHdoZW4geW91IGRvIHRoYXQu4oCd CgojIOKAnFJ1bnMu4oCdCgojIOKAnFdvYWgsIHRoYXQgbG9va3MgZGVsaWNpb3VzIeKAnQoKIyDi gJxHZWV6LCBub3QgYWdhaW4u4oCdCgojIOKAnE5vLCBJIG93biB0aHJlZSBjYXJz4oCdCgojIOKA nE5pbmV0ZWVuIG1pbnV0ZXMgcGFzdCBlaWdodC7igJ0KCiMg4oCcVGhpcyBTYXR1cmRheSwgeWVz LuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OjEsIDMgYW5kIDUgYXJlIGJyaWRpLiAyIGNvbnRh aW5zIG5vIG9iamVjdHMgYW5kIHRoZSByZXN0IGNvbnRhaW4gbm8gcmVsYXRpb24gb3IgY2xhaW0g b2YgYSBwcm9wZXJ0eS5+fgoKCgpQdXQgaW4gTG9qYmFuIHRlcm1zLCBhIGJyaWRpIGNvbnNpc3Rz IG9mIG9uZSAnJ3NlbGJyaScnLCBhbmQgb25lIG9yIG1vcmUgJydzdW10aScnLiBUaGUgc2VsYnJp IGlzIHRoZSByZWxhdGlvbiBvciBjbGFpbSBhYm91dCB0aGUgb2JqZWN0LCBhbmQgdGhlIHN1bXRp IGFyZSB0aGUgb2JqZWN0cyB3aGljaCBhcmUgaW4gYSByZWxhdGlvbi4gTm90ZSB0aGF0IOKAnG9i amVjdOKAnSBpcyBub3QgYSBwZXJmZWN0IHRyYW5zbGF0aW9uIG9mIOKAnHN1bXRp4oCdLCBzaW5j ZSDigJxzdW10aeKAnSBjYW4gcmVmZXIgdG8gbm90IGp1c3QgcGh5c2ljYWwgb2JqZWN0cywgYnV0 IGNhbiBhbHNvIHB1cmVseSBhYnN0cmFjdCB0aGluZ3MgbGlrZSDigJxUaGUgaWRlYSBvZiB3YXJm YXJl4oCdLiBBIGJldHRlciB0cmFuc2xhdGlvbiB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZSDigJxz dWJqZWN0LCBkaXJlY3Qgb3IgaW5kaXJlY3Qgb2JqZWN04oCdIGZvciBzdW10aSwgYW5kIOKAnHZl cmLigJ0gZm9yIHNlbGJyaSwgdGhvdWdoLCBhcyB3ZSB3aWxsIHNlZSwgdGhpcyBpcyBub3Qgb3B0 aW1hbCBlaXRoZXIuCgpXZSBjYW4gbm93IHdyaXRlIHRoZSBmaXJzdCBpbXBvcnRhbnQgbGVzc29u IGRvd246CgpicmlkaSA9IHNlbGJyaSArIG9uZSBvciBtb3JlIHN1bXRpCgpQdXQgYW5vdGhlciB3 YXksIGEgYnJpZGkgc3RhdGVzIHRoYXQgc29tZSBzdW10aSBkby9hcmUgc29tZXRoaW5nIGV4cGxh aW5lZCBieSBhIHNlbGJyaS4KCgoKSWRlbnRpZnkgdGhlIHN1bXRpIGFuZCBzZWxicmkgZXF1aXZh bGVudHMgaW4gdGhlc2UgRW5nbGlzaCBqdWZyYToKCuKAnEkgd2lsbCBwaWNrIHVwIG15IGRhdWdo dGVycyB3aXRoIG15IGNhcuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCccGlj ayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBkYXVnaHRlcnPigJ0sIOKAnG15 IGNhcuKAnX5+CgoKCuKAnEhlIGJvdWdodCA1IG5ldyBzaGlydHMgZnJvbSBNYXJrIGZvciBqdXN0 IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxi b3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCcNSBuZXcgc2hpcnRz4oCd LCDigJxNYXJr4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRoZXNl IGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0aGly ZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0aGUg YW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxi cmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRoZSBFUEHigJ0sIOKAnG5vdGhp bmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRl4oCdfn4KCgoKTm93IHRy eSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVkIHRvIHVz ZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToKCicnX19kdW5kYV9fJycgeDEg Z2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19wZWx4dV9fJycgeDEgaXMgeWVs bG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhhdCB0aGVz ZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KAnSBhbmQg4oCcaG9tZeKAnSB3 b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4gaW4gRW5n bGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBubyBzdWNo IGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPigJ0gKHZl cmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2aW5n4oCdIChhZGplY3RpdmUp IGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxicmksIGFu ZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwgYXMgYSBmZXcgd29yZHMsIHdo aWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEnigJ0gb3Ig4oCcd2XigJ0g4oCT IHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicnX190aV9fJycg4oCcdGhpc+KA nSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBvaW50ZWQg dG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKAnSDigJMgdGhlIG9uZSBvciB0 aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRyYW5zbGF0 aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFuZCB4Mz8g VGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVyZSBzdW10 aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFjZSBzdGF0 ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBsYWNlIG9m ICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4uIFRo ZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRoZSB0aGluZy4gTm90aWNlIGFs c28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhhcyB0aGUgd29yZCDigJx0b+KA nSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVkIGluIEVu Z2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0aGUgdGhp cmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0aGlyZCBz dW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBhbHdheXMg dGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1aXZhbGVudCB0byB0aGUgd29y ZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1wbHkgc2F5IHRoZSB4MSBzdW10 aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhlciBzdW10aS4KClVzdWFsIGJy aWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9IHt4MyBzdW10aX0ge3g0IHN1 bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIgY2FuIGJlIHBsYXllZCBhcm91 bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhlIHVzdWFsIGZvcm0uIFRvIHNh eSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5ICcnbWkgZHVuZGEgdGkgZG8n Jywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBsYWNlcy4KCgoKU28sIGhvdyB3 b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBtb3JlIGluIG9yZGVyIHRvIGdl dCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGluLgoKCgrigJxZb3UgZ2l2ZSB0 aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnZG8gZHVuZGEgdGkgbWknJ35+ CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc VGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNlIHlvdSBnZXQgdGhlIGhhbmcg b2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBlYWNoIG90aGVyIGFyZSBzZXBh cmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIGZ1bGwgc3Rv cCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5zdGVhZCBvZiBhZnRlciB0aGVt LiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3QgYnJpZGksIHRob3VnaCwgYXMg aW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50ZW5jZSBzZXBhcmF0b3IuIFNl cGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFsc28gYnJpZGkpLgoKCgonJ3Rp IHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBob21lIHRvIG1lLiBUaGlzIGlz IHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRoZSBuZXh0IGxlc3NvbiwgSSBy ZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBsZWFzdCBzZXZlbiBtaW51dGVz IHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKA kyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJpIGhhdmUgZnJvbSBvbmUgdG8g Zml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBpcyBhIHNlbGJyaSB3 aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4MSBzZWxscyB4MiB0byB4MyBm b3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNlbGwgdGhpc+KAnSwgaXQgd291 bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFjZXMgeDMgYW5kIHg0 LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQgZm9yIHdoYXQgcHJp Y2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxhY2VzIGNhbiBiZSBmaWxsZWQg d2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVzIHRoYXQgdGhlIHZhbHVlIG9m IHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNlIGl0J3MgdW5pbXBvcnRhbnQg b3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydfX3pvJ2VfXycnIOKAnHNvbWV0 aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRoaW5nLCBidXQgZG9lcyBub3Qg c3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5b3XigJ0sIEkgY291bGQgc2F5 ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBzb21ldGhpbmcgdG8geW91IGZv ciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRoYXQncyBhIGhvbWUgKGZvciBz b21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgemRhbmkgem8nZScnfn4K CgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8nZScnfn4KCgoKU3RpbGwsIGZp bGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5nIHNv bGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVkIHRvIHdyaXRlIGFsbCB0aGUg Jyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlzIHRoYXQgaWYgeW91IGxlYXZl IG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGlmIHRoZXkgY29udGFp bmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBzZWxicmksIHRoZSB4MSBp cyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcnem8nZScnLgoKVHJ5IGl0 IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6ZGFuaSBtaScnIG1lYW4/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEgaG9tZSBvZiBtZeKAnSBvciBq dXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlvbmVkIGVhcmxpZXIsIHRoZSBm b3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9IHt4MiBzdW10aX0ge3gz IHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUgc2VsYnJpIGFueXdoZXJl IHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaS4gSWYgeW91 IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFuZCBmaWxsZWQgd2l0aCAn J3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVlIGp1ZnJhIGFyZSBhbGwgdGhl IGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8nJwoKJydtaSB0aSBkdW5kYSBk bycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRoaXMgaXMgdXNlZCBmb3IgcG9l dGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291bGQgYmUgJydkbyBkbyB2ZWNu dScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNudSBkbycnLiBPciBpdCBjYW4g YmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZlcnkgbG9uZyBhbmQgdGhlcmVm b3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLgoKCgpUaGVyZSBhcmUg YWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0aGUgb3JkZXIgb2YgdGhlIHN1 bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBpcyBieSB1c2luZyB0aGUgd29y ZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAnJ2Z1JycuIE5vdGljZSB0aGF0 IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUgTG9qYmFuIGFscGhhYmV0IGlu IG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3MgdGhhdCB0aGUgbmV4dCBzdW10 aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSByZXNwZWN0aXZlbHkuIFRoZSBu ZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0byBmaWxsIGEgc2xvdCBvbmUg Z3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4YW1wbGU6CgonJ2R1bmRhIGZh IGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2YgdGhpcyB0aGluZyB0byB5b3Xi gJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hpY2ggaXMgeW91LiAnJ2ZlJycg bWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1bXRpIGNvdW50aW5nIHRoZW4g Y29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhlIGxhc3Qgc3VtdGkgZmlsbHMg eDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9s bG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBmbyB0aSBmZSBkbycnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHByaWNlIG9mIHRoaXMsIHlvdeKA nS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRoaXPigJ0gKHByb2JhYmx5IHBv aW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFuaSBmZSB0aScnCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBIZXJlLCB0aGUgZmUgaXMgcmVk dW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0aGlzIHByaWNl4oCdfn4KCgoK CgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRhbnJ1IGFuZCBsbykKCkluIHRo aXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgY29uY2VwdCBvZiBh ICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNlbGJyaSBpcyBwdXQgaW4gZnJv bnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVhbmluZy4gQSB0YW5ydSBpcyBp dHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90aGVyIHNlbGJyaSBvciB0YW5y dSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pkYW5pIHZlY251JycgaXMgYSB0 YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScnLCB3aGljaCBpcyBtYWRlIGZy b20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNpbmdsZSBicml2bGEgd29yZCAn J3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2YgdGFucnUsIGNvbnNpZGVyIHRo ZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJlZeKAnS4gSWYgeW91IGRpZG4n dCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBoZWFyZCBhYm91dCBib3RoIGxl bW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0byBkZWR1Y2Ugd2hhdCBhIGxl bW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0cmVlLCBvciBhIHRyZWUgc2hh cGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsgdGFzdGVzIGxpa2UgbGVtb24u IFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3VyZSB3b3VsZCBiZSB0aGF0IGl0 IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9uLWxpa2UgaW4gc29tZSB3YXku CgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMuIEl0IGNhbm5vdCBiZSBzYWlk IGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0IGl0IGNhbiBiZSBzYWlkIHRo YXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBpdCdzIHpkYW5pLWxpa2UgaW4g c29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGluIGFueSB3YXkuIEluIHRoZW9y eSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNvbm5lY3Rpb24gdG8gemRhbmkg d2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkgdmVjbnUnJy4gSG93ZXZlciwg aXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRpbmFyeSBzZW5zZSBpbiBvcmRl ciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xvc3MgJyd6ZGFuaSB2ZWNudScn IGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBidXQgd29yc2Ugc291bmRpbmcg 4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgdGFu cnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxicmkuIEl0J3MgYWxzbyBzYWlk IHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdodCBzZWxicmkuCgrigJxSZWFs bHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9lc24ndCBtYXR0ZXIgaG93IHNp bGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4gYSB0YW5ydSBpcywgaXQncyBz dGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMgZm9yICcnemRhbmkgdmVjbnUn JyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdoeSBJIHRoaW5rIGl0J3MgemRh bmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBiZSBhIGRpY2suIE9yIGF0IGxl YXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4gSW4gZ2VuZXJhbCwgeW91IHNo b3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cgdGhlIGxlZnQgd29yZCByZWxh dGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzog Jyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhhdCBpcyBh IHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0IGtub3cgaW4gd2hpY2ggd2F5 IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVsbG93LCBidXQgd2UgZG9uJ3Qg a25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0aGF0IG1lYW4/IE5vIGlkZWEu IEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29sZCBzb21ldGhpbmcsIHNpbmNl LCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2FuIGJlIG5vIHBheW1lbnQgaW52 b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUgc2VsbC1saWtlIGluIHNvbWUg YXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4g V2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2VybWFuPwoKJydfX2RvdGNvX18n JyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkkg Y2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2 ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291bGQg c2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1 ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQgdG8g c2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNh eT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIKCicnX19tZXJrb19fJycgeDEg aXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhl IG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVya28nJywgYnV0IHRoYXQgd291 bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0s IHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRvIGlzIHRvIHRha2UgdGhlIHNl bGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEgc3VtdGkgc28gaXQgY2FuIGJl IHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMgZG9uZSBieSB0aGUgdHdvIHdv cmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMgZ2VuZXJpYyBiZWdpbiBjb252 ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFz IHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nl c3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2VlbiB0aGVzZSB0d28gd29yZHMs IGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJy aSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGluc3RhbmNlLCB0aGUgdGhpbmdz IHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUgaG9t ZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFucyDigJxhIGhvbWUgb3Igc29t ZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYgSSBzYXkgdGhhdCBzb21ldGhp bmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAnJ2xvIHBlbHh1IGt1JycgcmVm ZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2ZSB0aGUgbmVjZXNzYXJ5IGdy YW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4u 4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBlbmRvIGxvIG1lcmtvIGt1Jyd+ fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydrdScnIGlzIG5lY2Vzc2FyeS4g VHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlzIHRvIG1l4oCdCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBtaScnIElmIHlvdSBsZWF2ZSBv dXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQgc2ltcGx5IHRocmVlIHN1bXRp LiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0aGUgdGkgaXMgZm9yY2VkIG91 dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZvcmNlZCB0byBjbG9zZSBhbmQg aXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcnbG8gZG90Y28gdmVjbnUge2t1 fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlzIGhhdmUgdG8gYmUgY2FyZWZ1 bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScnLiBJZiB0aGUgJydrdScnIGlz IGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBub3QgZW5kLCBhbmQgaXQgc2lt cGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnemRhbmkgcGVseHUn JyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDi gJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIgY29uY2VwdCB3aGljaCBjYW4g YmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxz LiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3RseS4g VGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0 cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBl bW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdh cyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3 ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIg d29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwgdGhl cmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBoYXZl IGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQg dG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBzby1j YWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1v c3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGkncyBn cmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoKSW4gTG9qYmFuIGdyYW1tYXIs IGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQuIElmIHRoYXQgcHJl dmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29uc3RydWN0IChsaWtlICcnLmkn JyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgY29uc3RydWN0LiBMaWtld2lz ZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdoaWNoIGVuZHMgYSBjb25zdHJ1 Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVkIGNvbnN0cnVjdC4KCgoKTGV0 J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBleGFtcGxlczoKCl9fJycudWkn J19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogaGFwcGluZXNzIC0gdW5oYXBw aW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0bHkg b2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24gb2YgJycudWknJywgdGhlcmUg YXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRoaXMg bWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg4oCc bmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBiZSB0 aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24gb2Yg JycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhlIHRp bWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBzdWZm aXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJlIGF0 dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNjLiBu ZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVhbmlu ZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBzZWxi cmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0cyB4 MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIKCgoK VGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlvdSBl YXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlzIHRo ZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBlYXRp bmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2RvIHph J2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGlyZWN0bHkgb2JzZXJ2ZXMgdGhh dCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBlYXRzIGFuIGFwcGxlIGFzIG9w cG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVkaW5hbCBpcyBwbGFjZWQgYXQg dGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVyc3Rvb2QgdG8gYXBwbHkgdG8g YW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFwcGx5aW5nIHRvIHRoZSBlbnRp cmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNlIGt1IG1pJycg4oCTIOKAnFlh eSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBsZSB0byBtZSHigJ0KCgoKJydt aSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxsICh3aGljaCBzdWNrcyEpIGEg aG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1wbGVzLiBGaXJzdCwgdGhvdWdo LCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18nJy51J3UnJ19fIGF0dGl0dWRp bmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNzbmVzcyAtIGlubm9j ZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogY29t cGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVkaW5hbDogbWlzY2VsbGFuZW91 cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0IHRoYXQsIGEgd29yZCB3aXRo IHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBUaGUgbWlkZGxlIG9uZSBpcyBhY2Nl c3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0J3MgY29uc2lkZXJlZCB0aGUgbWlk cG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0aXR1ZGluYWwgbWlkcG9pbnQg c2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRoZSBtZWFuaW5nIHRvIHRo ZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5nIOKAnEkgZ2l2ZSBzb21l dGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem8nZScnIGluc3RlYWQgb2YgJydm aScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cgYXBwbGXigJ0KCkFuc3dlcjogfn5n cmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1IHBsaXNlIGt1Jyd+fgoKCgpMZXQn cyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQga2luZCB0byBpbGx1c3Ry YXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1ZGluYWw6IGNvbXBsZXggcHJv cG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1aXRlIGVh c3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdIGlzICcnbWkgZHVuZGEgLmVp IGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkhIFdoZW4geW91IHRoaW5rIGFi b3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0IGFsbCB0aGUgb3RoZXIgYXR0aXR1 ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2VzIHRoZSBzcGVha2VyJ3MgZmVlbGlu ZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQgdGhl IGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBw bGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0aGUgYXBwbGUgYWN0dWFs bHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAnJy51aScnLCBob3dldmVyLCBJ IHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5LCBh bmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdzIHRoYXQgYWxsIGFib3V0PwoKCgpU aGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBjb25kaXRpb25z IG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlub3IgZGViYXRl LiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdoaWNoIHByb2JhYmx5IHdvbid0 IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIOKAnHB1 cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwgZW1vdGlvbnPigJ0uIE9ubHkgcHJv cG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRydXRoIGNvbmRpdGlvbnMsIHdoaWxl IHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBleHByZXNzIGEgcHJvcG9zaXRpb25h bCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFuZ2luZyB0aGUgdHJ1dGggdmFsdWUg b2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUgaXQgZnJvbSB0aGUgYnJpZGkgd2l0 aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBleHBsaWNpdGx5IGNvbnNlcnZpbmcg b3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgYSBicmlkaToKCgoKX18nJ2RhJ2kn J19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3NpbmcgLSBpbiBmYWN0CgpTYXlpbmcg JydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb25zIHRvIGh5cG90 aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9zaXRpb25hbCBhdHRpdHVk aW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9uIHRv IHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcgcHVyZSBhdHRpdHVkaW5hbHMuCgoK ClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0aGUgYXBwbGUgYXdheeKA nT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcnbWkgZHVuZGEgZGEnaSBuYWkgLmVp IGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3Vi c2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4gVXN1YWxseSBpbiBvcmRpbmFy eSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRvIHRoZSBsaXN0ZW5lciwg YnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywgYmVjYXVzZSB0aGUgd29yZCBpcyBn bG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJzIGVtb3Rpb25zKSwgc29tZSBMb2pi YW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3BlYWtlciBtdXN0IHNoYXJlIHRoZSBl bW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoKX18nJ2RhaScnX18gYXR0aXR1ZGlu YWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0aXR1ZGluYWwgdG8gc29tZW9uZSBl bHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5vaSBkYWkgY2l0a2EgdGknJyAtIOKA nEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVydCHigJ0KCgoKV2hhdCBv ZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFpJycgbWVhbj8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9uZSB0 byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKAnEhlIHdhcyBzb3JyeSBo ZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVuc2UgaXMgaW1wbGllZCBhbmQg bmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBjb3VsZCBiZSBvYnZpb3VzIGZy b20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3UndSBkYWkgdmVjbnUgbG8gemRh bmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBvZiBhbiBhdHRpdHVkaW5hbCBjYW4g YmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRoZXNlIGNhbiBiZSB1c2VkIGFmdGVy IGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3aXRoICcnbmFpJycgb3IgJydjdSdp Jycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0YWNo IGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBidXQgaXQncyBtb3N0bHkgdW5kZXJz dG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxicmkgaW4gc29tZSB1bnNw ZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNpdHkgIAoKIGNhaXwgICBF eHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNpZmllZCAobWVkaXVtKQoK IHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJlc3NlZCB1c2luZyAnJy51 J2kgbmFpIHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVt b3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OlN0cm9u ZyB3ZWFyaW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHByZXNzIHRoYXQgeW91IGFyZSBt aWxkbHkgcmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JycudSd1IGN1J2kgcnUn ZScnfn4KCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZpdmUgKFNFKQoKQmVmb3JlIHdl IHZlbnR1cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29tcGxleCBjb25zdHJ1Y3RzLCB5 b3Ugc2hvdWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciByZW9yZGVyaW5nIHRoZSBzdW10 aSBvZiBhIHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBpcyB2ZXJ5IHVzZWZ1bCBmb3Ig bWFraW5nIGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5kIG9mIHN1bXRpIHdpdGggJyds bycnKS4KCkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBhIGdpZnTigJ0sIHdoaWNoIG1p Z2h0IGJlIGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBhcHBsZS4gVG8gdHJhbnNsYXRl IHRoaXMsIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVwIGEgc2VsYnJpIG1lYW5pbmcg 4oCcZ2lmdOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwgaWYgb25lIGxvb2tzIGNhcmVm dWxseSBhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgxIGdpdmVzIHgyIHRvIHgzLCBv bmUgcmVhbGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlzIHNvbWV0aGluZyBnaXZlbiDi gJMgYSBnaWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5jZSwgd2UgY2FuJ3Qgc2F5ICcn bWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRhIGt1Jycgd291bGQgYmUg dGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBhIGdpZnQuIENhbm5pYmFs aXNtIGFzaWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBXaGF0IHdlIHdhbnQgaXMgYSB3 YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlzIG9uZSBleGFtcGxlIHdo ZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBXaGF0ICcnc2UnJyBkb2Vz IGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFuZCB4MiBvZiB0aGF0IHNl bGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScnICsgc2VsYnJpIGlzIG9u IGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0cnkgd2l0aCBhbiBvcmRpbmFy eSBzZW50ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFuc2xhdGVzIHgyIHRvIGxhbmd1 YWdlIHgzIGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2YgdHJhbnNsYXRpb24geDXigJ0K CicndGkgc2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoKVGhpcyBpcyB0cmFuc2xhdGVk IGJ5IG1lICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0IG5vdCBhbHdheXMsIGJyaWRp IHdpdGggJydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQgdG8gc2VudGVuY2VzIHdpdGgg dGhlIHBhc3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRlbiB0aGUgb2JqZWN0IHRha2lu ZyBhY3Rpb24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9mIHdvcmRzLiBBbGwgb2YgdGhl bSBzd2FwIGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoKfHxzZQl8c3dhcCB4MSBhbmQg eDIKCnRlCXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5kIHg0Cgp4ZQl8c3dhcCB4MSBh bmQgeDV8fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBjb25zZWN1dGl2ZSBjb25zb25h bnRzIGluIHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2luZyB0aGlzIGtub3dsZWRnZSwg d2hhdCB3b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAob3IgJydmYW52YSB0aSBmdSB0 aScnKX5+CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2YgY291cnNlIGJlIGNvbWJpbmVk IHdpdGggJydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0IGNhbiBiZSB2ZXJ5IGNvbmZ1 c2luZyBpbmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286CgpfXycna2xhbWEnJ19fID0g 4oCceDEgdHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0IHVzaW5nIHg1IGFzIHRyYW5z cG9ydGF0aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0ZSBrbGFtYSBmZSBkbyB0aSBm YSBtaScnID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBrdScnIGFuZCBzaW5jZSAnJ3Rl JycgZXhjaGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRvIG1pIGxvIHpkYW5pIGt1JycK CuKAnFRoaXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBob21lLuKAnSBPZiBjb3Vyc2Us IG5vIG9uZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNlcHQgdG8gY29uZnVzZSBwZW9w bGUsIG9yIGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5kaW5nIG9mIExvamJhbiBncmFt bWFyLgoKQW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9pbnQgd2hlcmUgd2UgY2FuIHNh eSDigJxJIGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2UgdGhlIHN1bXRpIHBsYWNlcyBv ZiAnJ2R1bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0aGVuIGV4dHJhY3QgdGhpcyBu ZXcgeDEgd2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291bGQgeW91IHNheSBpdD8KCk9u ZSAocG9zc2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaXRrYSBsbyBzZSBkdW5kYSBr dScnfn4KClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMgZm9yICcnc2UnJyBhbmQgaXRz IGZhbWlseS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2l4IChhYnN0cmFjdGlv bnMpCgpTbyBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5nbGUgc2VudGVuY2VzIG9uZSBh dCBhIHRpbWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5ncywgaG93ZXZlciwgeW91IG9m dGVuIG5lZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5LCB0aGVzZSBhcmUgbXVjaCBl YXNpZXIgaW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhwZWN0LgoKV2UgY2FuIGJlZ2lu IHdpdGggYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDigJxJIGFtIGhhcHB5IHRoYXQg eW91IGFyZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJyaWRpIGlzIOKAnEkgYW0gaGFw cHkgdGhhdCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCcWW91IGFyZSBteSBmcmllbmQu 4oCdIExvb2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhhcHB54oCdLCB3aGljaCBpcyAn J2dsZWtpJyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5IGFib3V0IHgyIChldmVudC9z dGF0ZSnigJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRvIGJlIGFuIGV2ZW50IG9yIGEg c3RhdGUuIFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fubm90IGJlIGhhcHB5IGFib3V0 IGFuIG9iamVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBzdGF0ZSB0aGUgb2JqZWN0IGlz IGluLiBCdXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBhIHN0YXRlIG9yIGFuIGV2ZW50 LCBhbmQgb25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydnbGVraScnIQoKQXMgeW91IG1p Z2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4gVGhlIHdvcmRzICcnc3UndScn Li4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlkaSB0byBzZWxicmnigJ0gZnVu Y3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydrdScnLgoKX18nJ3N1J3UnJ19f IHgxIGlzIGFuIGFic3RyYWN0aW9uIG9mIHticmlkaX0gb2YgdHlwZSB4MgoKX18nJ2tlaScnX18g ZW5kIGFic3RyYWN0aW9uCgoKCkV4YW1wbGU6CgpfXycnbWVsYmknJ19fIHgxIGlzIGJlYXV0aWZ1 bCB0byB4Mi4KCl9fJydkYW5zdScnX18geDEgZGFuY2VzIHRvIGFjY29tcGFuaW1lbnQvbXVzaWMv cmh5dGhtIHgyLgoKJydtZWxiaSBzdSd1IGRhbnN1IGtlaScnIC0g4oCcQmVhdXRpZnVsIGRhbmNp bmfigJ0v4oCcQmVhdXRpZnVsIGRhbmNl4oCdCgoKCkl0J3MgdXN1YWxseSBoYXJkIHRvIGZpbmQg Z29vZCB1c2VzIG9mIGEgYnJpZGkgYXMgYSBzZWxicmkuIEhvd2V2ZXIsIHNpbmNlICcnc3UndSBC UklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0IGl0IHRvIGEgc3VtdGkgdXNp bmcgJydsbycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVxdWlwbWVudCB0byBleHByZXNz IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKAnS4gVHJ5IGl0IG91dCEKCl9f JydwZW5kbycnX18g4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIGdsZWtpIGxvIHN1J3UgZG8gcGVuZG8gbWkga2VpIGt1Jyd+fgoKCgpIb3dldmVy LCAnJ3N1J3UnJ+KApicna2VpJycgZG9lcyBub3Qgc2VlIG11Y2ggdXNlLiBQZW9wbGUgcHJlZmVy IHRvIHVzZSB0aGUgbW9yZSBzcGVjaWZpYyB3b3JkcyAnJ251JyfigKYnJ2tlaScnIGFuZCAnJ2R1 J3UnJ+KApicna2VpJycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXksIGJ1dCBtZWFuIHNvbWV0aGlu ZyBkaWZmZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJyaWRpIGluIGJldHdlZW4gYXMg YW4gZXZlbnQgb3Igc3RhdGUsIGFuZCAnJ2R1J3XigKZrZWknJyB0cmVhdHMgaXQgYXMgYW4gYWJz dHJhY3QgYnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlkZWFzLCB0aG91Z2h0cyBv ciB0cnV0aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycpIGFyZSBjYWxsZWQgYWJz dHJhY3RvcnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5IGZldyBhcmUgdXNlZCBt dWNoLiAnJ3N1J3XigKZrZWknJyBpcyBhIGdlbmVyYWwgYWJzdHJhY3RvciwgYW5kIHdpbGwgd29y ayBpbiBhbGwgY2FzZXMuCgoKClVzZSAnJ251JycgdG8gc2F5IOKAnEknbSBoYXBweSBhYm91dCB0 YWxraW5nIHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFsa3MgdG8geDIgYWJvdXQgc3Vi amVjdCB4MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsZWtp IGxvIG51IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0aGUgRW5nbGlzaCBhbmQgdGhl IExvamJhbiBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhlIHRhbGtpbmcpLn5+CgoKCk90 aGVyIGltcG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2thLi4ua2VpJycgKHByb3BlcnR5 L2FzcGVjdCBhYnN0cmFjdGlvbiksICcnc2knby4uLmtlaScnIChjb25jZXB0L2lkZWEgYWJzdHJh Y3Rpb24pLCAnJ25pLi4ua2VpJycgKHF1YW50aXR5IGFic3RyYWN0aW9uKSBhbW9uZyBvdGhlcnMu IFRoZSBtZWFuaW5ncyBvZiB0aGVzZSBpcyBhIGNvbXBsaWNhdGVkIG1hdHRlciwgYW5kIHdpbGwg YmUgZGlzY3Vzc2VkIG11Y2ggbGF0ZXIsIGluIGxlc3NvbiB0d2VudHktbmluZS4gRm9yIG5vdywg eW91J2xsIGhhdmUgdG8gZG8gd2l0aG91dCB0aGVtLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gbm90 aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwgc3VtdGkgcGxhY2VzLiBBcyBh biBleGFtcGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAnJ2R1J3UnJyBpcyBkZWZpbmVk OgoKJydkdSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUgcHJlZGljYXRlL2JyaWRpIG9m IHticmlkaX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoKVGhlIG90aGVyIHN1bXRpIHBs YWNlcyBiZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJydsbyBzZSBkdSd1IHticmlkaX0g a2VpIGt1JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBmb3IgaW5kaXJlY3QgcXVvdGF0 aW9uOiDigJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KAnSBjYW4gYmUgd3JpdHRlbiAn J21pIGN1c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vya3Uga3Uga2VpIGt1JycsIGlm IHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9fJydjdXNrdScnX18geDEgZXhw cmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycnZ2Vya3UnJ19fIHgxIGlzIGEg ZG9nIG9mIHJhY2UgeDIKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzZXZlbiAoTk9JKQoK V2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlJ3MgYW5vdGhlciB0eXBlIG9mIHN1Ym9yZGluYXRlIGJy aWRpLiBUaGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMuIFRoZXkgYXJlIHNlbnRlbmNl cyB3aGljaCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRpLiBJbmRlZWQsIHRoZSDigJx3 aGljaOKAnSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2VkIHRoZSBiZWdpbm5pbmcgb2Yg YSByZWxhdGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5nIHJlbGF0aXZlIGNsYXVzZXMu IEluIExvamJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBhbmQgaXQgbWlnaHQgYmUgd29y dGggZGlzdGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUgbGVhcm5pbmcgaG93IHRvIGV4 cHJlc3MgdGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCByZXN0cmljdGl2ZSBhbmQgbm9u LXJlc3RyaWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUgY2xhdXNlcy4gQW4gZXhhbXBs ZSB3b3VsZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3aG8gaXMgdHdvIG1ldGVycyB0 YWxsLCBpcyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVuZGVyc3Rvb2QgaW4gdHdvIHdh eXMuIEkgY291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3aGljaCBjYXNlIHNheWluZyBo ZSBpcyB0d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cgd2hpY2ggYnJvdGhlciBJIGFt IHRhbGtpbmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9uZSBicm90aGVyLCBpbiB3aGlj aCBjYXNlIEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4KCgoK SW4gRW5nbGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNl IHR3byBraW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9uIGlzIHJlc3RyaWN0aXZlIChz aW5jZSBpdCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJvdGhlcnMgSSBtaWdodCBiZSB0 YWxraW5nIGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3RpdmUuIFdoZW4gc3BlYWtpbmcg RW5nbGlzaCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3IgaW4gd3JpdHRlbiBFbmdsaXNo LCBwdW5jdHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28sIGJ1 dCBub3Qgc28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29uc3RydWN0cyAnJ3BvaeKApmt1 J28nJyBhbmQgJydub2nigKZrdSdvJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3Rp dmUgcmVsYXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV0J3MgaGF2ZSBhIExvamJhbmlj IGV4YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0cmFuZ2UgZ2lmdC1lYXRpbmcg YmVoYXZpb3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZlOgoKX18nJ25vaScnX18gYmVn aW4gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1 bXRpKQoKX18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4g b25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5kIHJlbGF0aXZlIGNsYXVzZQoK CgonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBrdSdvJycgPSDigJxJIGVhdCBh IGdpZnQgc3VjaCB0aGF0IChzb21ldGhpbmcgaXMpIGFuIGFwcGxl4oCdLiAKCkhlcmUgdGhlICcn cG9p4oCma3UnbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8gc2UgZHVuZGEga3UnJywgc28g aXQgYXBwbGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0aGUgcmVsYXRpdmUgY2xhdXNl IGRvZXMgbm90IHNwZWNpZnkgd2hhdCBpdCBpcywgd2hpY2ggaXMgYW4gYXBwbGUsIGJ1dCBzaW5j ZSB0aGUgcmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdpZnQsIHdlIGNhbiBzYWZlbHkg YXNzdW1lIHRoYXQgaXQgbWVhbnMgdGhhdCB0aGUgZ2lmdCBpcyBhbiBhcHBsZS4gQWZ0ZXIgYWxs LCBpbiB0aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVtcyByZWFzb25hYmxlLiBJ ZiB3ZSB3YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0IGluZGVlZCB3YXMgdGhlIGdp ZnQgdGhhdCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tlJ2EnJywgd2hpY2ggaXMg YSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0aGVtIGxhdGVyKSByZXBy ZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXMgYXR0YWNoZWQg dG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBzdW10aSwgdG8gd2hpY2gg dGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkgbWkgY2l0a2EgbG8gc2Ug ZHVuZGEga3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5LCBJIGVhdCBhIGdpZnQgd2hp Y2ggaXMgYW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBy ZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIGhlcmUncyBh bm90aGVyIGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVmbGVjdHMgTG9qYmFuaWMg Y3VsdHVyZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2piYW5pYy7igJ0KCgoKJydt aSBub2kgbG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g4oCcSSwgd2hvIGFtIGEg TG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFuZ3VhZ2Uu4oCdIEhlcmUs IHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScnIGNvdWxkIHJlZmVyIHRv LCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVseSBhZGRpdGlvbmFsIGlu Zm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJlZm9yZSAnJ25vaeKApmt1 J28nJyBpcyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRyYW5zbGF0ZSB0aGlzOiDigJxJ IGZsaXJ0IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5kc29tZeKAnS4KCl9fJyduYW5t dScnX18g4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g4oCceDEgaXMgYmVhdXRpZnVs IHRvIHgyIGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg04oCdCgpfXycnY2luamlrY2En J19fIOKAnHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcgc2V4dWFsaXR5IHgzIGJ5IHN0 YW5kYXJkIHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaW5qaWtjYSBsbyBuYW5t dSBrdSBwb2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEgbW9yZSB0ZWNobmljYWwgc2lk ZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcnbG8ge3NlbGJyaX0ga3Un JyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBrZSdhIHtzZWxicml9IGt1J28n Jy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0b3IgZWxp c2lvbikKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9f dmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkg bWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgogLSAg4oCcSSB3 aXNoIHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVuZGVyc3RhbmQgdGhh dCBJIGRvbid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVzcyBvZiB3aGV0aGVy IHRoZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQgc2hvdWxkbid0LCBh cyBpdCBjb250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGluIHRoZXNlIGxlc3NvbnMg eWV0KSBvbmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4IExvamJhbiBzdHJ1Y3R1 cmVzIGFyZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50ZW5jZXMgZ2V0IGZpbGxl ZCB3aXRoICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVyIG9mIHRob3NlIHdvcmRz IHdoaWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoKVGhlIGZ1bmN0aW9uIG9m IGFsbCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBhIGNlcnRhaW4gZ3JhbW1h dGljYWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252ZXJ0IHNlbGJyaSB0byBz dW10aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNoIHdvcmQgZm9yIHRoaXMg a2luZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2piYW4gd29yZCBpcyAnJ2Zh J29ybWEnbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhlIGV4YW1wbGUgYWJvdmUu CgpOb3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBhcmUgdGhlIGZhJ29ybWEn byBmb3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHlvdSBoYXZlIG5v dCB5ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZhJ29ybWEnbzogVGVybWlu YXRlcyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4gTG9qYmFuLCBtb3N0IGZh J29ybWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5IHNhdmVzIHN5bGxhYmxl cyBpbiBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIsIG9uZSBtdXN0IGFsd2F5 cyBiZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRoZSBzaW1wbGUgZXhhbXBs ZSAnJ2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdvcm1hJ28gJydrdScnIHdv dWxkIHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBzaW5nbGUgc3VtdGkgbWFk ZSBmcm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0IG1lYW5zIOKAnGFuIEFt ZXJpY2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmljYW4gdHJhdmVsc+KAnS4g ZmEnb3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyByZXN1bHRzIGlmIGRvbmUg aW5jb3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFybmVkIGFib3V0IGl0IHVu dGlsIG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNhbiBiZSBlbGlkZWQgaXMg dmVyeSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNhbiBlbGlkZSBhIGZhJ29y bWEnbywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90IGNoYW5nZSB0aGUgZ3Jh bW1hdGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpNb3N0IGZhJ29ybWEnbyBj YW4gYmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4gRXhjZXB0aW9ucyBh cmUgdGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1mYSdvcm1hJ28gYW5kIOKA nGVuZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMgd2h5ICcndmF1JycgaXMg YWxtb3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2l0aCAn Jy5pJycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJlY2VkaW5nIGJyaWRpIGFu eXdheS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNpbmNlIGF0dGl0dWRpbmFs cyBhbHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBseWluZyBpdCB0byBhIGZh J29ybWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0IHdoaWNoIGlzIHRlcm1p bmF0ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0aXR1ZGluYWxzIGFmdGVy dGhvdWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRpOgoKJyd6YSdhIGRvIGR1 bmRhIGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdlJycgLSDigJxJIHNlZSB0 aGF0IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJvdmUh4oCdCgpfXycncHJl bnUnJ19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0eS4KCgoKS25vd2luZyB0 aGUgYmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBjYW4gdGh1cyByZXR1cm4g dG8gdGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmluZyBmYSdvcm1hJ286CgoK CicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1 J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192 YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldlIGNhbiBzZWUgdGhh dCB0aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNzYXJ5LCBiZWNhdXNl IHRoZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdoaWNoIGlzIGEgc2Vs YnJpLiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBicmlkaSwgJyd2YXUn JyBpcyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkgY2Fubm90IGJlIGlu IHRoZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBpbiBhIGNsYXVzZSwg b25seSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUgJydrdSdvJycuIExp a2V3aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBpbnNpZGUgdGhlIGNv bnN0cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1JycgaXMgbm90IG5lZWRl ZCBlaXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0aGUgdmVyeSBlbmQg b2YgdGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdpbm5pbmcgYSBuZXcg YnJpZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMgYW55d2F5LgoKV2Ug dGhlbiBlbmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9p IHR1bmJhIG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaScn IOKAkyB3aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdvcm1hJ28s IGl0IGlzIGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBp cyBvbmUgb2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMpIGxpZmUg YSBsb3QgZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZpb3VzIHN1 bXRpIGZyb20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMgdGhlIG5l eHQgd29yZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFz IGl0IG5lZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRhYmxlIG1h cmtlcjogc2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dzIHByZWNl ZGluZyBmYSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy 4oCdCgoKCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fdmF1IGtl aSBrdSB2YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8g c2UgZHUndSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK4oCcVGhhdCB5b3Ugc2F5 IHRoYXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDigJxJIHdpc2ggeW91IHNh aWQgeW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEgZmEnb3JtYSdvLCBiZWNh dXNlIGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1Y3QuIEJ1dCBpdCBjYW4g YmUgdXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBvZiB0aGUgZ3JlYXRlc3Qg c3RyZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVjb21lcyBlYXN5IHRvIGlu dHVpdGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBub3RoaW5nLCBidXQgaXQg cmV2ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9ucyBieSBpZGVudGlmeWlu ZyB0aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxlIHdpdGggdGhlIHZpb2xl bnQgQW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAnJ2ppbXBlJycgZG9lcyBu b3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBhbnkgd2F5LCBidXQgbWln aHQgbWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxvd2luZyBjb3VwbGUgb2Yg bGVzc29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2FyeSwgYW5kIGFsbCBmYSdv cm1hJ28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29ybWEnbyB3aWxsIGJlIGVu Y2FzZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBUcnkgdG8gdHJhbnNsYXRl IGl0IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8geDIgZm9yIHJlYXNvbiB4 M+KAnQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0IHgyIChkdSd1LWFic3Ry YWN0aW9uKSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAtIEF0dGl0dWRpbmFsOiBT aW1wbGUgcHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2EnbyBkbyBu b2kga2UnYSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxvIGR1J3UgbG8gZmEnb3Jt YSdvIHtrdX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnCgpXaGF0IGRvIEkgc3Rh dGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQgeW91LCBhIHByb3VkIExv amJhbmlzdCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGltcG9ydGFudOKAnX5+CgoK CkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGluIGZhJ29ybWEnby1lbGlz aW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVuIG11c3QgYmUgcmVtaW5k ZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBhcmUgdG8gdGhlIHVuZGVy c3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2RheSBoYXZlIGJlZW4gZGVz aWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEnbyBkamVkaScnIG9uIHRo ZSBMb2piYW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBEYXksIG1hbnkgcGVvcGxl IHRyeSAoYW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcgb3V0IGFsbCBmYSdvcm1h J28gd2l0aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFzIGEgcmVzdWx0LgoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEpCgpTbyBmYXIgd2UgaGF2 ZSBiZWVuIGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3ZSBoYXZlIGhhZCBhdCBo YW5kLiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2YgZGVmaW5lZCBzZWxicmkg b3V0IHRoZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxhY2VzIGFyZSBub3QgdXNl ZnVsIGZvciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXksIGkgd2FudCB0byBzYXkg dGhhdCBJIGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRoZXJlIGlzIG5vIHBsYWNl IGluIHRoZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkgd2hhdCB0b29sIEkgdHJh bnNsYXRlIHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0IGlzIG5vdCBuZWNlc3Nh cnkuIE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRvIGFkZCBhZGRpdGlvbmFs IHN1bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBiYXNpYyB3YXkgdG8gYWRk IHN1bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyAoeWVzLCBhbm90aGVy IGV4YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFsbW9zdCBuZXZlciBuZWNl c3NhcnksIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3UgZXZlciBzZWUgaXQuKQoK SW4gYmV0d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwgYW5kIGxpa2UgJydsbyBT RUxCUkkga3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMgdGhlIHgxIG9mIHRoZSBz ZWxicmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycsIHRo ZSBzZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10aSwgYnV0IHRvIGEgJydz dW10Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRoIHRoZSBwbGFjZSBzdHJ1 Y3R1cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVkLiBUaGlzICcnc3VtdGNp dGEnJyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3VsZCBzYXkgdGhhdCB1c2lu ZyBhICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNlIGZyb20gYW5vdGhlciBz ZWxicmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQuCgpOb3RlOiBTb21ldGlt ZXMsIGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKAnHRhZ+KAnSBvciDigJxt b2RhbOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0aG9zZSBwdW55IEVuZ2xp c2ggZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVyZS4KCgoKV2hpbGUgaXQg aXMgaGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcgYWJvdXQgaXQsIGFuIGV4 YW1wbGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNpdHk6CgpfXycnc2thbWkn J19fIOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0KCl9fJydwaWxubycnX18g 4oCceDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoKCicnbWkgZmFudmEgdGkg ZmknbyBzZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9JycgLSDigJxJIHRyYW5zbGF0 ZSB0aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxubycnLCB3aGljaCBpcyB0 aGUgeDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJlIGZvciBhIHRvb2wgYmVp bmcgdXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBpcyBjYXB0dXJlZCBieSAn J2ZpJ28gU0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2VsYnJpLCBhbmQgdGhlbiBm aWxsZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRjaXRhJycgaXMgc29tZXRp bWVzIGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246 CgrigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRlcuKAnQoKCgpBICcnc3Vt dGNpdGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBpcyBhbHdheXMgdGhlIGZv bGxvd2luZyBvbmUuIEFsdGVybmF0aXZlbHksIHRoZSAnJ3N1bXRjaXRhJycgY29uc3RydWN0IGNh biBiZSB0ZXJtaW5hdGVkIHdpdGggJydrdScnLCBpbiB3aGljaCBjYXNlIGEgJyd6bydlJycgaXMg aW1wbGllZCB0byBmaWxsIHRoZSAnJ3N1bXRjaXRhJycuIE9yLCBvbmUgY291bGQgaW1hZ2luZSBh biBlbGlkZWQgc3VtdGkgYmVpbmcgdGVybWluYXRlZCB3aXRoIHRoZSAnJ2t1JycuCgpfXycnenVr dGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4 MiBmb3IgcHVycG9zZSB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHNrYW1pIHtr dX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRoIHZvbGl0aW9uLCBhIGNv bXB1dGVyIHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBzIGltcGx5aW5nIHRoYXQg YSBMb2piYW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBpdCBkb2VzIG5vdCBzcGVj aWZ5IHdobyBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhlIHByb2dyYW1tZXIgd2hv IHByb2dyYW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgoKCldoYXQgZG9lcyAnJ21p IGppbXBlIGZpIGxhIGxvamJhbiBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRlPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhpbmcgYWJvdXQgTG9qYmFu LCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRjaXRhJycgcmlnaHQgaW4g ZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVybWluYXRlLCBzaW5jZSBz dW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2VsYnJpLiBUaGlzIGZhY3Qg d2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5b3Ugd2lsbCBzZWUuCgoK ClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRlc3BpdGUgaXRzIGZsZXhp YmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBhcmUgQkFJLiBCQUkgaXMg YSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1zZWx2ZXMgYWN0IGFzICcnc3Vt dGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUnZScnLCB0aGUgQkFJIGZvciAnJ3p1 a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhlIHNhbWUgYXMgJydmaSdvIHp1a3Rl IGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUgcmVkdWNlZCB0bzoKCicn enUnZSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX0ge3ZhdX0nJy4gVGhl cmUgZXhpc3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhlc2UgYXJlIHZl cnkgdXNlZnVsIGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNvbnZlcnRlZCB3 aXRoICcnc2UnJyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenUnZScnIGlzIGVxdWFs IHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBncmVhdCBkZWFs IG1vcmUgQkFJLgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAoUFUsIEZBaEEsIFpJ LCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNoLXNwZWFrZXIg YSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3VnaCBuaW5lIGxlc3Nv bnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25jZS4gVGhpcyBp cyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJbmRvLUV1cm9w ZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFyZSBvcHRpb25h bC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFuIOKAnEkgZWF0IGNo ZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlzIGVhdCBjaGVl c2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmluaXNoZWQgZWF0aW5n IGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFuZCBpbiBtb3N0 IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93ZXZlciwgd2hl biBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0LiBGdXJ0aGVy bW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkgdHJlYXQgdGltZSBh bmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0IEkgd29ya2VkIGEg bG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQgdGhhbiBzYXlpbmcg SSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMs IHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3QgZGlmZmljdWx0IHBh cnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMgdGhvdWdoLCBp dCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVhciBub3QsIGZvciBp dCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBtb2RpZnkgdGhlIHNl bGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0aGUgTG9qYmFuIHRl bnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdlIGhhdmUgY29udmVu aWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2theSBva2F5LCB0ZWNo bmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBvdGhlciBzdW10Y2l0 YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2FudCwgYW5kIHdvbid0 IGJlIGV4cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRoZXkgYXJlIGxpa2Ug YWxsIG90aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgbWFraW5n IGl0IGV4cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1JycuCgpUaGVyZSBhcmUg bWFueSBkaWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxldCdzIHN0YXJ0IGF0 IHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScnX18g LSBzdW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQgdGhl IHNhbWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtzdW10 aX0KCgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCdLCDi gJxub3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291bGQg YXJndWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0bHkg c2ltdWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBleHRl bmRzIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVzdCDi gJxhYm91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9uJ3QgcGVyY2Vp dmUgdGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVuc2Ug c3lzdGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1Z2dl c3RlZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0IGlk ZWEsIGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0aXZl LCBhbmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUgdG8g bGVhcm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291bGQg eW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50aW5n IHRvIGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBsbyBu dSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9Jyd+fgoKCgpVc3VhbGx5IHdoZW4g c3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZlbnQgaW4gdGhlIHBh c3QgdGhpcyBhY3Rpb24gaXMgcmVsYXRpdmUgdG8uIEluOiDigJxJIGdhdmUgYSBjb21wdXRlciBh d2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5lZCByZWxhdGl2ZSB0 byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkgb2YgdGhlIHN1bXRj aXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEgbG8gc2thbWkge2t1 fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7dmF1fScnIG9y LCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScn LiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGltcGxpZWQgJyd6bydl JycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxhdGl2ZSB0byB0aGUg c3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdo ZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2luZyBhYm91dCBzb21l IGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRoZSBwcmVzZW50LCBp dCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRo YXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRlciB0byBjbGFyaWZ5 IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50IHBv c2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1lLiBBbm90aGVy IHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lkZXJlZCB0aGUg bmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9fJyduYXUnJ19f IHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNlIHRvIHRoZSBz cGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScnX18gPSDigJx4MSBp cyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4M+KAnQoKCgpB bHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUge2t1fSB7dmF1 fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhhdCBJJ20gbm90 IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxzbyB0cnVlIHNvbWUg dGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBhZ28uCgoKCkFzIG1l bnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJlIHZlcnkgbXVjaCBh bGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2VzIHdpdGggdGhlc2Ug Zm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10Y2l0YTogbGVmdCBvZiB7c3Vt dGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0KCl9fJydyaSd1 JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19fIHN1bXRjaXRhOiBh dCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxlbnQgb2YgJydjYScn KQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBwYXRp ZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQgJycubydvbmFpIHJpJ3Uge2t1 fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0ge2t1fSB7dmF1fSB7 a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBrdSEpCgpfXycnZGFy eGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0IGxvY3VzIHg0CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0IChvZiBzb21ldGhp bmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZlbnQpLCBzb21ldGhp bmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0gb3Ig4oCcQSBtYW4g aGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBzZXZlcmFsIHRlbnNl IHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3UgcmVhZCB0aGVtIGZy b20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg4oCcaW1hZ2luYXJ5 IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBvaW50IGluIHRpbWUg YW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVyZSksIGFuZCB0aGVu IGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9tIGxlZnQgdG8gcmlnaHQuCgpF eGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28g e2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJIHdpbGwgYmUgYWJv dXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9IHB1IHtrdX0gamlt cGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBzb21lIHBvaW50IGlu IHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEnb3JtYSdvcy7igJ0K ClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3ZSBtb3ZlIGJhY2sg b3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJvdGggY2FzZXMgaGFwcGVuIGlu IHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVyZW5jZS4KCgoKQWxz bywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwgdGhlIHJ1bGUgaXMg dG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhpcyBydWxlIGlzIHZp b2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50YWN0aWNhbCBhbWJpZ3VpdHks IHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3ZSB3YW50IHRvIHNw ZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUgYWdvLiBUaGUgd29y ZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9ydCwgdW5zcGVjaWZp ZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0aW1lLiBOb3RpY2Ug dGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMgb3JkZXIgYXBwZWFy cyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29ydGggdG8gbWVtb3Jp emUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMgY29udGV4dCBkZXBl bmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5ZWFycyBpcyBhIHNo b3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcgdGltZSB0byB3YWl0 IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRp c3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6 YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNl IG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6dScnX18g c3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZy b20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFjaWFsIGRpc3RhbmNl IGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBzaG9ydCwgdW5zcGVj aWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpfXycndmknJ19fIHN1 bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBm cm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRo ZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBw b2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFy IGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNl IAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVjdGl2ZSB4M+KAnQoK CgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmthIHt2YXV9JycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIHdv cmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVseSB1c2UgJyd6aScn LCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScnIGluIGZyb250IG9m IGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQgdG8gc3BlY2lmeSBw YXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4geW91IHRoaW5rIGFi b3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGltZS1kaXJlY3Rpb24g aXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1b3VzIQoKCgpUaGUg b3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5jZS1zdW10Y2l0YSBh cmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhlIG1lYW5pbmdzIG9m IHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0dXJlZCBieSBhbiBp bWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byByaWdodC4gVGh1cyAnJ3B1IHp1 JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUgcHUnJyBpcyDigJxpbiB0aGUg cGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBsb25nIHRpbWUgdG93YXJkIHRo ZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUgZmlyc3QgZXhhbXBsZSwgJydw dScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcnenUnJyB0aGVuIHRoYXQgaXQg aXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1wbGUsICcnenUnJyBz aG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4gdGltZSBmcm9tIG5v dywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0aGF0IHBvaW50LiBU aHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcnenUgcHUnJyBjb3VsZCBiZSBp biB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUgdGVuc2VzIGNvbWJpbmUgaW4g dGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRh IGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1bXRjaXRhIGFyZSBu b3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10Y2l0YSBpbiBhIGJy aWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxsIHRoZXNlIGNvbnN0cnVjdHMg YmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwb2ludC1saWtlIGluIHRpbWUg YW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0IG92ZXIgYSBzcGFu IG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZldyBwYXJhZ3JhcGhzLCB3ZSB3 aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0aW1lIGFuZCBzcGFjZS4KCgoK X18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCB0aW1lIG9mIHtz dW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZp ZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScnX18gc3VtdGNpdGE6IHNwYW5u aW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdpJydfXyBzdW10Y2l0 YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ2EnJ19f IHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSBzcGFjZSBv ZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcg c3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1lLCBJIGtub3csIGJ1dCByZW1l bWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5IG9mIHRoZSBpbml0 aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNwYWNpYWwgdGVuc2Vz IG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydfXyAtIGF0dGl0dWRpbmFsOiBw YWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUndSB7a3V9IGtsYW1h IGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5nIGEgbG9uZyBzcGFj ZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUgbm90IGZhbWlsaWFy IHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3BlbiB1cCBmb3Igc29t ZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2UsIHRyYW5zbGF0ZSDi gJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9IGdlcmt1IHt2YXV9JycuIFNh eWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3BhY2XigJ0gbWFrZXMgeW91IHNv dW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBMb2piYW4hCgoKCicn emUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3RoZXIgdGVuc2VzIHRv IGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZSd1JycgYW5kIHRoZSBvdGhl cnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFya3MgYW4gZW5kcG9pbnQgb2Yg dGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiByZWZlcmVuY2UpIGFuZCBhbnkg dGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9pbnQgcmVsYXRpdmUg dG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0aCBhIGNvdXBsZSBv ZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1IHtrdX0gYmEge2t1 fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJlZ2lubmluZyBpbiB0 aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBzb21lIHBvaW50IGZhciBpbnRv IHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBmLCB5b3UgYXRlIGZv ciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8gY2Ege2t1fSB6ZSdp IHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9IHplJ2kge2t1fSBj YSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2ZWxpbmcgaGFzIG9u ZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRsZSB0b3dhcmRzIHRo ZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHBh c3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywgc2xpZ2h0eSBpbnRv IHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydqbWl2ZScnX18g4oCc eDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcnLnVpIG1pIHB1IHtr dX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHByZXNzPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRsZSBpbnRvIHRoZSBw YXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0IChvYnZpb3VzbHkg dGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW504oCdIG9yIOKAnEkgYW0geW91 bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKAnX5+CgoKCkp1c3Qg dG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5zZXMsIGxldCdzIGhh dmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRlbnNlczoKCl9fJycu dSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoKJycudSdlIHphJ2Eg e2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1fScnIC0gV2hhdCBk b2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25kZXJ9IHtJIG9ic2Vy dmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBmcm9udCBpcyBhIGhv bWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBpcyBodWdlIeKAnX5+ CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5IHRlbnNlIHN5c3Rl bSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMgZG9pbmcgc29tZXRo aW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8gbGV0IHRoZSBp bmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUgdmVyeSBzbG93 bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0LgoKCgohIUxv amJhbiBMZXNzb25zIC0gTGVzc29uIGVsZXZlbiAoWkFoTykKClRob3VnaCB3ZSB3b24ndCBnbyB0 aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Igbm93LCB0aGVyZSBpcyBvbmUg b3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRhdWdodCBub3cuIFRo ZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFuZCByZXByZXNlbnQgYSB2ZXJ5 IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZlIHNlZW4gc28gZmFy LiBTbyBsZXQncyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2UgaGF2ZSBsZWFybmVk IHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxpbmUsIGFuZCB3ZSB0 aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhlIOKAnG5vd+KAnS4g V2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2ZW50IGFzIGEgcHJv Y2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3JlIGl0IHVuZm9sZHMs IGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4gcHJvY2VzcywgYSB0 aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5kZWQuIEV2ZW50IGNv bnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnQncyBwcm9jZXNzIHdh cyBoYXBwZW5pbmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNpZmllZCBieSB0aGUgb3RoZXIgdGVuc2Vz LiBXZSBuZWVkIGEgY291cGxlIG9mIHRlbnNlcyBmaXJzdDoKCgoKX18nJ3B1J28nJ19fIC0gc3Vt dGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBlbmVkIGR1cmluZyB7 c3VtdGl9CgpfXycnY2EnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMg aW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2JhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhhcyBlbmRlZCBkdXJpbmcge3N1bXRpfQoK CgpUaGlzIG5lZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBieSBzb21lIGV4YW1wbGVzLiBXaGF0J3Mg JycudWkgbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVhbj8KCgoKQW5zd2VyOiDigJxZ YXksIEknbGwgYmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0uCgoKCkJ1dCBoZXksIHlvdSBhc2ssIHdo eSBub3QganVzdCBzYXkgJycudWkgbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGFuZCBldmVu IHNhdmUgYSBzeWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1iZXIsIHNheWluZyB0aGF0IHlvdSB3aWxs IGhhdmUgYSBob21lIGluIHRoZSBmdXR1cmUgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgeW91 IGhhdmUgYSBob21lIG5vdy4gVXNpbmcgJydwdSdvJycsIHRob3VnaCwgeW91IHNheSB0aGF0IHlv dSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9jZXNzIG9mIHlvdSBoYXZpbmcgYSBob21l LCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb24ndCBoYXZlIG9uZSBub3cuCgpOb3RlLCBieSB0aGUg d2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNpbWlsYXIgdG8gJydt aSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJywgYW5kIGxpa2V3aXNlIHdpdGggJydiYSdvJycg YW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2VlbSByZXZlcnNlZD8gQmVjYXVzZSBldmVudCBjb250 b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJvbSB0aGUgdmlld3BvaW50IG9mIHRoZSBw cm9jZXNzLCB3aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMgdmlldyBldmVudHMgc2VlbiBmcm9tIHRo ZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQgY29udG91cnMgYXJlIG1vcmUgcHJlY2lzZSB0aGF0 IG90aGVyIGtpbmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUgY2xhcml0eSBpcyBhY2hpZXZlZCBieSBj b21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBtaSBiYXtrdX0gemkge2t1fSBiYSdvIHtr dX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3ZlIHNvb24gZmluaXNoZWQgd29ya2luZy7i gJ0KCgoKSW4gTG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUgd2l0aCBhbiBldmVudCdzIOKAnG5hdHVy YWwgYmVnaW5uaW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRoZSB0ZXJtIOKAnG5h dHVyYWzigJ0gaXMgaGlnaGx5IHN1YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwgYW5kIHRoZSBuYXR1 cmFsIGVuZCByZWZlcnMgdG8gdGhlIHBvaW50IGluIHRoZSBwcm9jZXNzIHdoZXJlIGl0IHNob3Vs ZCBlbmQuIFlvdSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGluc3RhbmNlLCB0aGF0 IGl0cyBwcm9jZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5nIGJleW9uZCBpdHMg bmF0dXJhbCBlbmQuIEFuIHVuZGVyY29va2VkLCBidXQgc2VydmVkIG1lYWwsIHNpbWlsYXJseSwg aXMgYmVpbmcgZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2VzcycgbmF0dXJhbCBiZWdpbm5pbmcuIFRo ZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVzIGFyZSBhcyBmb2xsb3dzOgoK CgpfXycnemEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJv Y2VzcyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3VtdGl9CgpfXycneGEnbycnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1tYXR1cmVseSBpbiBwcm9jZXNz IGR1cmluZyB7c3VtdGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgxIGlzIGZvb2QsIHdoaWNoIGlz IGVkaWJsZSBmb3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRrYSB6YSdvIGxvIG51 IGRvIGJhJ28ge2t1fSB1J2UgY2l0a2Egem8nZSBub2kgY2lkamEgZG8ge3ZhdX0ge2t1J299IHt2 YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95LCB5b3Uga2VlcCBl YXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0aW5nIHNvbWV0aGlu ZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9 CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4gQWxsIHRlbnNlcyBh Ym92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292ZXJpbmcgYW4gYW1v dW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUgc2lnbmlmeSBzdGFn ZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5zZXMgaGF2ZSBiZWVu IGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0YWtlcyBzb21lIHRpbWUgKGFz IHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2VzIGFib3ZlIHRoZSBldmVudCBs aWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJlcyBwb2ludCBsaWtl IHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5uaW5nLiBBcyBpcyB0cnVlIG9m ICcnY2EnJyBhbmQgJydidSd1JycsIHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNsaWdodGx5IGludG8g dGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBub3QgdG8gYmUgcHJl Y2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1saWtlIGV2ZW50IGNvbnRvdXJz IGFyZToKCl9fJydjbydhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBh dCBpdHMgYmVnaW5uaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnY28ndScnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKCgpG dXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUgcHJvY2VzcyBpcyBuYXR1cmFs bHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVuZGVkIHlldDoKCl9fJydtbyd1 JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgbmF0dXJhbCBl bmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUsIHRob3VnaCwgcHJvY2Vzc2Vz IGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsgdGhpcyBpcyB3aGF0IG1ha2Vz IGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5kIHBlb3BsZSB1c3Vh bGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGlibGUgZm9vZC4KCgoKU2luY2Ug YSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhlc2UgcG9pbnRzIGhh dmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286CgpfXycnZGUnYScnX18gLSBz dW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcGF1c2luZyBkdXJpbmcge3N1bXRpfQoK X18nJ2RpJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHJlc3VtaW5n IGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVuZGknJyBtZWFucyDigJx4MSBw YXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZSdhIGp1bmRpJycgYW5kICcnZGknYSBqdW5kaScn IGFyZSBjb21tb24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBhbmQg4oCcYmFja+KA nS4gT25lIGNvdWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZlbnQgY29udG91cnMgYnkgdGhl bXNlbHZlcyBhbmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZpbmFsbHksIG9uZSBj YW4gdHJlYXQgYW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcgdG8gdGhlIGVuZCBh cyBvbmUgc2luZ2xlIHBvaW50IHVzaW5nICcnY28naScnOgoKX18nJ3Blbm1pJydfXyDigJx4MSBt ZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9IHppIHtrdX0gY28naSB7a3V9 IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKAnEEgbGl0dGxlIHdoaWxlIGFn bywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBtZXQgYSBHZXJtYW4gcGVyc29u 4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VsdmUgKG9yZGVycyBhbmQgcXVl c3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3aXRoIHN5bnRheCBoZWF2eSBM b2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25kZXIgYWJvdXQuIEVzcGVjaWFs bHkgYmVjYXVzZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNvIGxldCdzIHR1cm4g dG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9yZGVycyBhbmQgcXVlc3Rpb25zLgoKCgpX aGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18KCgoKU2luY2UgdGhlIHdheSB0byBleHBy ZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZlIG91dCB0aGUgc3ViamVjdCBvZiB0aGUg Y2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBpdCB3YXMgeW91IEkgd2FzIHNwZWFraW5n IHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3IgZXhwcmVzc2luZyB0aGUgb2JsaWdhdGlv biBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBFbmdsaXNoIGxhbmd1YWdlIHVuZGVyc3Rh bmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwgYXJlIGFsd2F5cyBkaXJlY3Rl ZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5b3XigJ0sIGFuZCBzbyB0aGUgc3ViamVj dCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBlbGlkaW5nIHRoZSBzdWJqZWN0IHlpZWxk cyAnJ3pvJ2UnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBpcyBzYWRseSBub3Qgb3BlbiB0byB1cy4g SW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywgd2hpY2ggaXMgdGhlIGltcGVyYXRpdmUg Zm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5kIGJyaWRpLXdpc2UsIGl0J3MgZXF1aXZh bGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50aWNzLCBzaW5jZSBp dCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50byBhbiBvcmRlci4g 4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91PScna28nJyHigJ0g Rm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVkIHRoZSBzdWJqZWN0IGluIEVuZ2xpc2gg c2VudGVuY2VzLCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdvcmRzIGRlcml2ZWQgZnJvbSBhbnkgb3Ro ZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhvdyBjb3VsZCB5b3Ugb3JkZXIgb25lIHRvIGdvIGZh ciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNpbmcgJydrbGFtYScnIGFzIHRoZSBvbmx5IHNlbGJy aT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6a28gdmUndSB6ZSd1IGtsYW1hfn4KCignJy5pIHph J2EgZGFpIGEnbyBtaSBjYSBjbyd1IGNpc2thIGxvIGZhJ29ybWEnbyAuaSBrbyBqaW1wZSB2YXUg LnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBvdXQuCgoKClF1ZXN0aW9ucyBpbiBM b2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRoZXkgY29tZSBpbiB0d28ga2luZHM6 IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBxdWVzdGlvbnMuIExldCdzIGJlZ2lu IHdpdGggdGhlIHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRoYXQncyBwcmV0dHkgb3ZlcmNv bWVhYmxlLCBzaW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1JycuCgonJ3h1Jycg d29ya3MgbGlrZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBjYW4gZ28gYW55 d2hlcmUsIGFuZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcgd29yZCAob3IgY29uc3RydWN0 KS4gSXQgdGhlbiB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVlc3Rpb24sIGFza2lu ZyB3aGV0aGVyIGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0byBhZmZpcm0sIHlvdSBzaW1w bHkgcmVwZWF0IHRoZSBicmlkaToKCicneHUgdmUndSB6ZGFuaSBkbycnICcnLmkgdmUndSB6ZGFu aSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmksIHdoaWNoIGlzIHRoZSBi cmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcnemRhbmknJy4KClRo ZXJlIGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNpbmcgYnJpa2EnaSwgYnV0IHRo b3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5zd2VyIOKAnG5v4oCdIG9yIOKA nGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBicmlkaSBuZWdhdGVkLiBUaGF0 IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0dXJuIHRvIHF1ZXN0 aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2luZCBpcyBmaWxsIGluIHRoZSBi bGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8gYmUgcmVwbGFjZWQg Zm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkgY29ycmVjdC4gVGhlcmUgYXJl IHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlvdSBhcmUgYXNraW5n IGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8nJ19fIC0gc2VsYnJp IHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycnY3UnZScnX18gLSB0 ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBhc2sgYWJvdXQgYSBz dW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3aGVyZSB5b3Ugd2Fu dCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNrcyBmb3IgdGhlIHgyIHRvIGJl IGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdpdmUgd2hhdCB0byBtZT/igJ0u IFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21hJycgaXMgdmVyeSB1c2VmdWwg aW5kZWVkOgoKX18nJ211J2knJ19fIC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBieSB0aGUgYWJzdHJh Y3Rpb24gb2Yge3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4aSBtaSBtdSdpIG1hJycgLSDigJxPeSwg d2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0cnkgYW5vdGhlciBvbmUuIFRoaXMgdGlt ZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZSd1IHB1IG1vJycKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxZb3UncmUgaGFwcHksIHdoYXQgaGF2ZSB5b3UgYmVlbiBkb2luZyBh bGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmljYWxseSwgaXQgY291bGQgYWxz byBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJpbmcgd2l0aCAnJy51 YSBuYWkgbGknYSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNseSkgaXMganVzdCBiZWluZyBp bmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2luY2UgdG9uZSBvZiB2b2ljZSBv ciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIgYSBzZW50ZW5jZSBp cyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlzcyB0aGUgcXVlc3Rpb24gd29y ZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1cyBtb3JlIG9uIHdvcmRzIGlu IHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0J3MgdXN1YWxseSB3 b3J0aCB0aGUgd2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRoYXQgdGhlIHF1ZXN0 aW9uIHdvcmRzIGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90IGZlYXNhYmxlLCAn J3BhdScnIGlzIGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0aGUgc2VudGVuY2UgaXMgYSBx dWVzdGlvbi4gQ29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0bHkgbWFya3MgYW55IHF1ZXN0 aW9uIGFzIGJlaW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0aGUgdG9waWMgb2Yg cXVlc3Rpb25zLCBpdCdzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVudGlvbiB0aGUgd29yZCAnJ2th dScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3QgcXVlc3Rpb27igJ0uIFdoYXQn cyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFrZSBhIGxvb2sgYXQgdGhlIHNl bnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR1J3UgbWEga2F1IHpkYW5pIGRvJycgLSDigJxJIGtub3cg d2hhdCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKAnHgxIGtub3dzIGZhY3Qocykg eDIgYXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg04oCdCgpPbmUgY2FuIHRoaW5r IGl0IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEgemRhbmkgZG8nJy4gTW9yZSBy YXJlbHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3JkIHdpdGggJydrYXUnJywgaW4g d2hpY2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMgdGhlIGFuc3dlciB0byBhIHF1 ZXN0aW9uOiAnJ21pIGppbXBlIGxvIGR1J3UgZHVuZGEgdGkga2F1IGRvJycgLSDigJxJIGtub3cg d2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0aGlzLuKAnQoKCgoKCiEhTG9qYmFuIExl c3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xvZ3kgYW5kIHdvcmQgY2xhc3NlcykKCkJh Y2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5nKSBzdHVmZi4KCklmIHlvdSBoYXZlbid0 IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3UgZmluZCB0aGUgTG9qYmFuaWMgcmVjb3Jk aW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xlIFJvYmluIiwgb3IgbGlzdGVuIHRvIHNv bWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5kIHRoZW4gcHJhY3RpY2UgeW91ciBwcm9u dW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29udmVyc2F0aW9uIGluIHlvdXIgaGVhZCBp biBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbid0IHdpdGggYWxsIHRoZSB3cm9uZyBzb3Vu ZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0ZXh0IGlzIGhhcmQu IFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gdGhlIExvamJhbiBzb3VuZHMs IGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0IGludHJvZHVjdGlv biB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhvbG9neT8gVGhlIHdv cmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5IG9mIHNoYXBlc+KA nSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBob3cgd2UgbWFrZSB3b3JkcyBm cm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3aXRoIHN5bnRheCAtIGhvdyB3 ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMgd2l0aCBkaWZmZXJl bnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwgZGVmaW5lZCBieSB0 aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0ZW1hdGljIHRob3Vn aCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdyb3VwZWQgYnkgbW9y cGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIuCgp8fCAgIENsYXNz fE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jkczp8ICAgfCAgIHwg ICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZpcnN0IDUgbGV0dGVycyAoZXhj bHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVzdGVyLiBFbmRzIGluIHZvd2Vs LiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBoYXMgYSBwbGFjZSBz dHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJzIG9mIHRoZSBmb3Jt IENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcy4gQ292ZXJzIGJh c2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdvcmQuIERlcml2ZWQgZnJvbSBm cm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdvcmTigJ0gfCAgIE1pbi4gNiBs ZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhlciB3aXRoIGJpbmRpbmcgbGV0 dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBsZXggY29uY2VwdHMgdGhhbiBn aXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJyaXZsYSwgYnV0IGRvIG5vdCBt ZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZvLCBleDogJydhbmdlbGknJyAg fCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFjZXMgb3Igb3JnYW5p c21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5pbmcgYW5kIGVuZGluZyB3aXRo IHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBpcyBhIGNvbnNvbmFudC58ICAg QWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50IG9mIGEgcXVvdGUuCgogICBD bWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCdLCBtZWFuaW5nIOKAnHNtYWxs IHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlzIGF0IHRoZSBiZWdpbm5pbmcu IEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMuIFZhcmllcwoKICAg V29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBBZmZpeHwgIENDViwgQ1ZDLCBD VidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3QgYWN0dWFsIHdvcmRz LCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8gfHwKCgoKCgpfXycn Y21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJlY2F1c2UgdGhleSBiZWdpbiBh bmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxsIHN0b3AgaW4gd3JpdGluZywg YW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21ldmxhIGNhbid0IGhhdmUgYW55 IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFzIGEgbmFtZS4gT24gdGhlIG90aGVyIGhh bmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNhbm5vdCBhcHBlYXIgaW4gTG9qYmFuIHdp dGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9yIGVuY2FzZWQgYnkgY2VydGFpbiBxdW90ZSB3b3Jk cy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0aGUgbmFtZXMgYnkgY2FwaXRhbGl6aW5nIHRoZSBs ZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBsZXMgb2YgY21ldmxhIGFyZTogJycuaW9o QU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ryb3BoZSksICcnLm1hdC4nJyAoTWF0dCkg YW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hpIE1pbikuIE5hbWVzIHdoaWNoIGRvIG5vdCBlbmQg aW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFkZGVkOiAnJy5pdnluLicnIChFdmUpLCBv ciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkgcmVtb3ZlZDogJycuaXYuJycKCgoKX18n J2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jkc+KAnSBiZWNhdXNlIHRoZXkgYnkg ZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFsbW9zdCBhbGwgTG9qYmFuIHdvcmRz IHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4gVGhpcyBoYXMgYWxzbyBnaXZlbiB0 aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQtd29yZHPigJ0uIEl0J3MgbmVhcmx5 IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1bCB3aXRob3V0IGJyaXZsYSwgYW5kIGFs bW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRzIG91dHNpZGUgbG9qYmFuIGdyYW1tYXIgKGFuZCBl dmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0aGluZ3MgaW4gdGhlIGxhbmd1YWdlKSBhcmUgY2Fw dHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBpbiB0aGUgdGFibGUsIGJyaXZsYSBoYXMgdGhyZWUg c3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScnX18gYXJlIHRoZSByb290IHdvcmRzIG9mIHRoZSBs YW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4aXN0cywgYW5kIHZlcnkgZmV3IG5ldyBvbmVzIGFy ZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9zdCBiYXNpYyBjb25jZXB0cyBsaWtlIOKAnGNpcmNs ZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFuZCDigJxkcmVhbeKAnS4gRXhhbXBsZXMg aW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUnJyBhbmQgJydkdW5kYScnCgpfXycnbHVqdm8nJ19f IGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZzaSAoc2VlIHVuZGVyIHJhZnNpKSwgcmVzcHJlc2Vu dGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJhZnNpLCBvbmUgbmFycm93cyBkb3duIHRoZSBtZWFu aW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBieSBhbiBlbGFib3JhdGUgYWxnb3JpdGht LCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24gdGhlIGZseSBpcyBuZWFyIGltcG9zc2libGUsIHdp dGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2knJywgZnJvbSAnJ3NlIHByYW1pJycsIHdo aWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3RlYWQsIGx1anZvIGFyZSBtYWRl IG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4gdGhhdCBkZWZpbml0 aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1wbGVzIGluY2x1ZGUg YnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1YWwtc29jaWFsaXppbmcgPSBm bGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0ID0gYmVldGxlKS4KCl9fJydm dSdpdmxhJydfXyBhcmUgbWFkZSBieSBtYWtpbmcgdXAgd29yZHMgd2hpY2ggZml0IHRoZSBkZWZp bml0aW9uIGZvciBicml2bGEsIGJ1dCBub3QgZm9yIGx1anZvIG9yIGdpc211LiBUaGV5IHRlbmQg dG8gY292ZXIgY29uY2VwdHMgd2hpY2ggaXQncyBoYXJkIHRvIGNvdmVyIGJ5IGx1anZvLCBmb3Ig aW5zdGFuY2UgbmFtZXMgb2Ygc3BlY2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1bHR1cmFsIHNwZWNp ZmljIGNvbmNlcHRzLiBFeGFtcGxlcyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlvJycgKEtvcmVhKSAn J2NpZGpycGl0c2EnJyAocGl6emEpIG9yICcnYW5nZWxpJycgKGFuZ2VsKS4KCgoKX18nJ2NtYXZv JydfXyBhcmUgc21hbGwgd29yZHMgd2l0aCBvbmUgb3IgemVybyBjb25zb25hbnRzLiBUaGV5IHRl bmQgdG8gbm90IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdvcmxkLCBidXQgdG8g aGF2ZSBvbmx5IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9jY3VyLCBhbmQgaXQn cyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBmb3IgdGhlaXIgZ3JhbW1h dGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhlIHdvcmRzIG9mIHRo ZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxpZCB0byB0eXBlIHNl dmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVzZSBsZXNzb25zLCB0 aGF0IHdvbid0IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNlcnRhaW4gY21hdm8gaW4gZnVuY3Rpb25h bCB1bml0cywgdGhvdWdoLCBpdCBpcyBzb21ldGltZXMgZWFzaWVyIHRvIHJlYWQuIFRodXMsICcn LnVpcHV6dXZ1a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBhbmQgaXMgcGFyc2VkIGFuZCB1bmRlcnN0 b29kIGFzICcnLnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGthJycuIExpa2Ugb3RoZXIgTG9qYmFuIHdv cmRzLCBvbmUgc2hvdWxkIChidXQgbmVlZCBub3QgYWx3YXlzKSBwbGFjZSBhIGZ1bGwgc3RvcCBi ZWZvcmUgYW55IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEgdm93ZWwuCgpjbWF2byBvZiB0aGUgZm9y bSB4VlYsIENWJ1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFyZSB3b3JkcyB3aGlj aCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhhdmUgYmVlbiBhZGRl ZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRhaW4gbmVlZC4KCgoKX18nJ3Jh ZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBuZXZlciBhcHBlYXIgYWxvbmUu IEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJpbmUgdG8gZm9ybSBs dWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBicml2bGEtZGVmaW5pdGlvbiwg Zm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGVuZHMgaW4gYSBj b25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5kICcnY2knZWtlaScnIGlzIGlu dmFsaWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjb250YWluIGEgY29uc29uYW50IGNsdXN0ZXIsIGFu ZCBpcyB0aHVzIHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0ZW4gYXMgb25lIHdvcmQuIE9mdGVuLCBh IDMtNCBsZXR0ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSwgbGlrZSAnJ3p1 J2UnJywgd2hpY2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9yICcnenVrdGUnJy4g Tm90ZSB0aGF0IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2kg d291bGQgYmUgZ3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3QgY29uc2lkZXJlZCBob21vcGhv bmVzLiBBbGwgZ2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYgdGhleSBhcmUgcHJlZml4ZWQg d2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0ZXIgb2YgYSBnaXNtdSBzdWZm aXhlZCB3aXRoIGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZzaSwgaWYgdGhleSBhcmUgc3Vm Zml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBvbmx5IGFwcGVhciBp biBsdWp2byBvciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBjb21iaW5hdGlvbnMgYXJlOiBD VlYsIENWJ1YsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NWQ1YuCgoKClVzaW5n IHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5zd2VyIHRoZSB0ZXN0 IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgd29yZHMg YXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcnZnUnaXZsYScnIChmKSBvciBj bWF2byAoYyk6CgpBICkgamFpICAgICAgICBHICkgbXVtYmwKCkIgKSAuaXJjaSAgICAgICAgSCAp IC5pJ2kKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVsbWFuICAgICAgICBKICkgcGxh anZhCgpFICkgcG8nZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBkamlza3UgICAgICAgIEwgKSAu ZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwgYy1nLCBkLUMsIGUtYywgZi1s LCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQgb3V0IHRoZSBmdWxsIHN0b3Bz IGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRuJ3QgYmUgdG9vIGVhc3kuCgpOb3Rl OiBzb21lIG9mIHRoZXNlIHdvcmRzLCBsaWtlICcnYm9zdHUnJyBkbyBub3QgZXhpc3QgaW4gdGhl IGRpY3Rpb25hcnksIGJ1dCB0aGlzIGlzIGlycmVsZXZhbnQuIFRoZSBtb3JwaG9sb2d5IHN0aWxs IG1ha2VzIGl0IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBhbiB1bmRlZmluZWQgZ2lzbXUuIFNpbWls YXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZm91 cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoKSWYgeW91IGhhdmUgcmVhZCBh bmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxlc3NvbnMgdW50aWwgbm93LCB5 b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRnZSBvZiBMb2piYW4gc28gdGhh dCBpdCBkb2Vzbid0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4gdGhlIHJlc3QuIEFz IGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxsIGJlIGEgbWl4dHVy ZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0ZWQgYnkgaW1wb3J0 YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUgb2YgdGhlIGJpZ2dl c3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0ZWQga25vd2xlZGdl IG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cgJyd0aScnIGFuZCAn J2xvIFNFTEJSSScnLCB3aGljaCBkb2Vzbid0IHRha2UgeW91IGZhciBjb25zaWRlcmluZyBob3cg aW1wb3J0YW50IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRoaXMgbGVzc29uIGFzIHdlbGwgYXMgdGhl IGZvbGxvd2luZyB0d28gd2lsbCBiZSBhYm91dCB0aGUgTG9qYmFuIHN1bXRpLiBGb3Igbm93LCB3 ZSBmb2N1cyBvbiB0aGUgZGVzY3JpcHRpdmUtbGlrZSBzdW10aSwgdGhlIG9uZXMgbWFkZSB3aXRo IGFydGljbGVzIGxpa2UgJydsbycnCgpBcnRpY2xlcyBhcmUgaW4gbG9qYmFuIGNhbGxlZCAnJ2dh ZHJpJycsIGFuZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2VkIGluIHRoaXMgbGVzc29uIGFyZSB0ZXJt aW5hdGVkIGJ5ICcna3UnJywgZXhjZXB0IHRoZSBjb21iaW5hdGlvbnMgJydsYSBDTUVWTEEnJywg JydsYWkgQ01FVkxBJycgYW5kICcnbGEnaSBDTUVWTEEnJy4gV2Ugd2lsbCBiZWdpbiBieSBkZXNj cmliaW5nIHRocmVlIHNpbXBsZSBraW5kcyBvZiBkZXNjcmlwdGl2ZSBzdW10aSwgYW5kIHRoZW4g aW1tZWRpYXRlbHkgZmluZCB0aGF0IHRoZXkgYXJlIG5vdCBzbyBzaW1wbGUgYWZ0ZXIgYWxsOgoK X18nJ2xvJydfXyAtIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkv bWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2NyaXB0aXZlIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8g aW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRp Y2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKA nS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUgYWxyZWFkeSBmYW1p bGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBkb2VzIGl0IG1lYW4s IOKAnHZlcmlkaWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0 eS9tYXNzLW5lc3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMgYW5kIG1hc3Nlcywg SSdsbCBjb21lIGJhY2sgdG8gbGF0ZXIuIEZvciBub3csIOKAnHZlcmlkaWNhbOKAnSBpbiB0aGlz IGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGluZyB0byBxdWFsaWZ5IGJlZ2lu IGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5ICcna2xhbWEnJy4g VGh1cywgdmVyaWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xhaW0gd2hpY2ggbWF5IGJlIHRydWUgb3Ig ZmFsc2UgLSB0aGF0IHRoZSBvYmplY3QocykgaW4gcXVlc3Rpb24gYXJlIGFjdHVhbGx5IHRoZSB4 MSBvZiB0aGUgc2VsYnJpIGFmdGVyICcnbG8nJy4gCgoKClRoaXMgbWF5IGJlIGNvbnRyYXN0ZWQg d2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBub3QgdmVyaWRpY2Fs LiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUgb3IgbW9yZSBzcGVj aWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBzZWxicmkgJydnZXJrdScnIHRv IGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRpZnkgdGhvc2Ugc3Bl Y2lmaWMgb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0d28gaW1wb3J0YW50 IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBjYW5ub3QgcmVmZXIgdG8gb2Jq ZWN0cyBpbiBnZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVycyB0byBzcGVjaWZpYyBvYmplY3RzLiBT ZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkgaXMgb25lIG9yIG1vcmUgZG9n cywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90IHZlcmlkaWNhbCwgY2FuIGJlIGFueXRo aW5nLCBhcyBsb25nIGFzIHRoZSBzcGVha2VyIHRoaW5rcyB0aGUgZGVzY3JpcHRpb24gd2lsbCBo ZWxwIGlkZW50aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVjdHMuIFBlcmhhcHMgdGhlIHNwZWFrZXIg aXMgcmVmZXJyaW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUgbm90IGZhbWlsaWFyIHdpdGggdGhlbSBh bmQgdGhpbmsg4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91Z2ggYXBwcm94aW1hdGlvbiB0byBiZSB1 bmRlcnN0b29kLiBUaGlzIG5vbi12ZXJpZGljYWxpdHkgaXMgcGVyaGFwcyBvdmVyLWVtcGhhc2lz ZWQgaW4gbW9zdCBtYW55IHRleHRzOyBUaGUgYmVzdCB3YXkgdG8gZGVzY3JpYmUgYSBkb2cgaXMg dXN1YWxseSB0byBkZXNjcmliZSBpdCBhcyBiZWluZyBhIGRvZywgYW5kIHVubGVzcyB0aGVyZSBp cyBhIGdvb2QgcmVhc29uIG5vdCB0bywgJydsZSBnZXJrdScnIGlzIHVzdWFsbHkgcHJlc3VtZWQg dG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGFsc28gJydsbyBnZXJrdScnLgoKSW4gdHJh bnNsYXRpb24sICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5IOKAnGEgZG9n4oCdIG9yIOKAnHNvbWUg ZG9nc+KAnSwgd2hpbGUgJydsZSBnZXJrdScnIGlzIOKAnHRoZSBkb2figJ0gb3Ig4oCcdGhlIGRv Z3PigJ0uIEV2ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1Jycgd291bGQgYmUg4oCcdGhlIOKAnGRv ZyhzKeKAnSDigJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUgYmFzaWMgJydnYWRyaScnLCB0aGVyZSBp cyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRyaScnLCB3aGljaCBJIGhhdmUgdW5jb252ZW50aW9u YWxseSBjYWxsZWQg4oCcY29udmVudGlvbmFs4oCdLiBXaGF0IEkgbWVhbiBieSB0aGlzIGlzIHRo YXQgaXQncyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGljYWwsIHNpbmNlIGl0IHJlZmVy cyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8gYSBwZXJzb24gY2Fs bGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVzY3JpYmUgaGVyIGFzIGJlaW5n IGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5IHN0YXRlIHRoYXQg YnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQgdG8gYnkgdGhhdCBzZWxicmkg b3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgZ2FkcmkgZGVyaXZlZCBmcm9tIGl0 IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxpa2UgYW55IG90aGVyICcnZ2FkcmknJy4g QWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRzIGRvIG5vdCBtZW50aW9uIHRoYXQgbmFtZXMg Y2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJyaSB1c2luZyB0aGUgZ2FkcmkgJydsYScn LiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJuOyBzZWxicmkgbmFtZXMgYXJlIGFzIGdvb2Qg YXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9qYmFuaXN0IGhhdmUgdGhlbS4KCicnbGEn JywgYXMgd2VsbCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2knJyBhcmUgYSBiaXQgZWNjZW50cmljLCBz aW5jZSB0aGV5IF9fYWx3YXlzX18gbWFya3MgdGhlIGJlZ2lubmluZyBvZiBhIG5hbWUuIFVubGlr ZSB0aGUgb3RoZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQgY2FuIGJlIGdyYW1tYXRpY2FsbHkgcGxh Y2VkIGFmdGVyICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIGNvbnNpZGVyZWQgcGFydCBvZiB0 aGUgbmFtZS4gRm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vya3UnJyBpcyAibXkgZG9nIiwgYnV0ICcn bGEgbWkgZ2Vya3UnJyBpcyBzb21lb25lIGNhbGxlZCAiTXkgRG9nIi4KCgoKVGhlc2UgdGhyZWUg YmFzaWMgJydnYWRyaScnIGNhbiBiZSBleHBhbmRlZCB3aXRoIHRocmVlIG1vcmUsIHdoaWNoIGNv cnJlc3BvbmRzIHRvIHRoZSBwcmV2aW91czoKCgoKX18nJ2xvaScnX18gLSBnYWRyaTogdmVyaWRp Y2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhl cykuCgpfXycnbGVpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFzcyhlcykuCgpfXycnbGFpJydfXyAtIGdh ZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBj bWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCgoKVGhlc2UgYXJl IHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25lOiBUaGV5IHRyZWF0IHRoZSBz dW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhlcmUgaXMgb25seSBvbmUgb2JqZWN0IGlu IHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1hc3MgY29uc2lzdGluZyBvZiBvbmUgb2Jq ZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZXNlIHR3byBjb25j ZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBhc2NyaWJlZCB0byBhIGdyb3VwIG9mIGlu ZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgY2FuIGJlIHNh aWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFuZCBvbmx5IGlmLCBhbGwgbWVtYmVycyBv ZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0byBkZXNjcmli ZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRlcmVkIGluZGl2aWR1YWxseSwgYXMgYmVp bmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dzIGl0J3MgdHJ1ZSB0aGF0IHRoZXkgYXJl IGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5kLCBmaXRzIG9ubHkgdGhvc2Ugc2VsYnJp IHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdob2xlLCBhcyBhIHRlYW0sIHNvIHRvIHNw ZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2YgYSBtYXNzICcnbG9pIGdlcmt1JycgbXVz dCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxpY2FibGUuIFRoZSBub3Rp b24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJlcyBzb21lIGV4YW1w bGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhhdmU6CgpfXycnc3J1 cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGluIGxpbmUvcGxhbmUv ZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRhbmknJyAtIOKAnFRo ZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxlLCBldmVuIHRob3Vn aCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXQncyBjb21wbGV0ZWx5IGltcGxhdXNp YmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55IG9uZSBvZiB0aGUgbWVtYmVycyBhbG9u ZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDigJxIdW1hbnMgZGVmZWF0ZWQgc21hbGxw b3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5IG5vIGh1bWFuIGRpZCBzbywgYnV0IHRo ZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1ha2VzIHRoZSBzZW50ZW5jZSB0cnVlIGlu IEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlmIOKAnGh1bWFuc+KAnSBhcmUgYSBtYXNz LiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUgRW5nbGlzaCBtYXNzIOKAnGh1bWFuc+KA nSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBlYWNoIG9mIHdoaWNoIGFyZSBodW1hbi4g QW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19fOiAieDEgaXMgYSBiaW9sb2dpY2FsIGNl bGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19fOiAieDEgaXMgYSBodW1hbiIKCicnbG9p IG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3NlcyBvZiBjZWxscyBhcmUgaHVtYW4iLiBB Z2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFuLiBJbmRlZWQsIHRoZSBjZWxscyBoYXZl IHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBjZWxscyBjb25zaWRlcmVkIGFzIGEgd2hv bGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1hZGUgd2l0aCAnJ2xlaScnLCBzdWNoIGFz ICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3MgZm9ybWVkIGJ5IGEgZ3JvdXAgb2Ygc3Bl Y2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2ggdGhlIHNwZWFrZXIgcmVmZXJzIHRvIGFz ICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVzY3JpYmVzIGJ5ICcnbGFpJycgYXJlIG9u bHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEgd2hvbGUgaXMgbmFtZWQgc3VjaCwgYW5k IG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBhcmUuIEl0IGNhbiwgaG93ZXZlciBiZSB1 c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5IGEgZnJhY3Rpb24gb2YgdGhhdCBncm91 cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgJydsbycnIGFuZCAnJ2xlJycg Y2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLiBMZXQn cyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQgYXMgYSBtYXNzIG5lZWRzIGRlc2NyaXB0 aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhlciAnJ2xvaSBnZXJrdScnIG9yICcnbG8g Z2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFsbG93cyBtZSB0byBjb3JyZWN0bHkgc3Rh dGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb250cmFkaWN0aW9uLCBidXQgcmVhbGx5 IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAiU29tZSBkb2dzIGFyZSBub3QgZG9ncyIu IFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1hc3Mgb2YgZG9ncywgdGhlIG1hbnkgZG9n cyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEgZG9nLCBidXQgcmF0aGVyIGEgcGFjayBv ZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IHRoZXJlIGlzIG5vIHdvcmQgd2hp Y2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkgdG8gaW5kaXZpZHVhbChzKS4gSW4gb3Jk ZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVhbG5lc3MsIG9uZSBuZWVkcyAnJ2xvJycs ICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBxdWFudGlmaWVyLiBUaGUgc3ViamVjdCBv ZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQgbGF0ZXIsIGluIGxlc3NvbiB0d2VudHkt dHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xvJycgYW5kICcnbGUnJyB2YWd1ZSwgYW5k IG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlzIGJlY2F1c2UgdGhlaXIgdmFndWVuZXNz IGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBjb250ZXh0LCB3aXRob3V0IHRoZSBzcGVh a2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVyIGlzIGJlaGF2ZXMgYXMgYSBtYXNzIG9y IGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJkIGluIHRoaXMgc2VyaWVzLCB0aGVyZSBh cmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoKCgpfXycnbG8naScnX18gLSBnYWRyaTog dmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMg YSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsYSdpJydfXyAtIGdh ZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBj bWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCgoKVW5saWtlIGdyb3Vw cyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBtYXNzZXMsIHNldHMgZG9lcyBub3QgdGFr ZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUgb2JqZWN0cyBmcm9tIHdoaWNoIHRoZSBz ZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBtYXRoZW1hdGljYWwgb3IgbG9naWNhbCBj b25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtlIGNhcmRpbmFsaXR5LCBtZW1iZXJzaGlw IGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEg c2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Ygd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQ6 CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIvbGVvcGFyZC9qYWd1YXIgb2Ygc3BlY2ll cy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPigJ0KCicnbG8naSB0aXJ4dSBjdSBjbWFs dScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJpZyBjYXRzIGFyZSBzbWFsbCAod2hpY2gg aXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSksIGJ1dCBpbnN0ZWFkIHNheSB0aGF0IHRo ZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQgaXMgLSB0aGVyZSBhcmUgZmV3IG9mIHRo ZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25seSB0d28pIGdlbmVyYWxpemluZyAnJ2dh ZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBvZiAnJ2xvIHtzZWxi cml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgZGVzY3JpYmVkL3BlcmNlaXZlZCBh cmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Ygd2hpY2ggdGhlcmUgaXMgbm8gJydsYScn LWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVhbGx5IG1lYW50IGJ5IHRoZSBhcmNoZXR5 cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4gaWRlYWwsIGltYWdpbmVkIGJpZyBjYXQs IHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBiaWcg Y2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRoYXQgdGhpcyBpbmNsdWRlcyBoYXZpbmcg YSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVtYXRpYyBzdWJncm91cCBvZiB0aGUgbWVt YmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5vdCBoYXZlIHN0cmlwZWQgZnVyLCB0aGUg bGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhlIHR5cGljYWwgaHVtYW4gZG9l cyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFucyBkby4gSG93ZXZl ciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwgZm9yIGluc3RhbmNl IGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6CgpfXycna2FrbmUnJ19fOiDigJx4MSBp cyBjYXBhYmxlIG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVyIGNpcmN1bXN0YW5jZSB4M+KAnQoKJyds bydlIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUgdHlwaWNhbCBodW1hbiBi ZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGUnZScnIHRoZW4sIGlzIHRoZSBpZGVhbCBvYmplY3Qg YXMgcGVyY2VpdmVkIG9yIGRlc2NyaWJlZCBieSB0aGUgc3BlYWtlci4gVGhpcyBuZWVkIG5vdCBi ZSBmYWN0dWFsbHkgY29ycmVjdCwgYW5kIGlzIG9mdGVuIHRyYW5zbGF0ZWQgYXMgdGhlIOKAnHN0 ZXJlb3R5cGXigJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmdsaXNoIHBocmFzZSBoYXZlIHNvbWUgdW5w bGVhc2FudCBuZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdoaWNoIHRoZSBMb2piYW4gZG9lcyBub3Qu IEluIGZhY3QsIGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5cGljYWwgYXJjaGV0eXBpY2hhbCBpbWFn ZSBvZiBhbnkgY2F0ZWdvcnkuIEluIG90aGVyIHdvcmRzLCAnJ2xvJ2UgcmVtbmEnJyBpcyB0aGUg YXJjaGV0eXBlIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbG8gcmVtbmEnJywgd2hpbGUg dGhlIGFyY2hldHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xlIHJl bW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhlIGRpYWdyYW0gYmVs b3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXppbmcKCnZlcmlkaWNhbHxsb3xs b2l8bG8naXxsbydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8bGUnaXxsZSdlCgpOYW1lfGxhfGxhaXxs YSdpfGRvZXMgbm90IGV4aXN0fHwKCgoKTm90ZTogRWFybGllciwgdGhlcmUgd2FzIGEgd29yZCAn J3hvJ2UnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBydWxlcyBhbmQgZGVm aW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQsIGFuZCB0aGUgY3Vy cmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhvcmxv4oCdIGhhcyBy ZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywgYW5kICcneG8nZScn IGlzIHVzZWQgYXMgYSBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAyOiBLT2hB MywgS09oQTUgYW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0cmFuc2xh dGUgdGhlIHNlbnRlbmNlOiDigJxTdGVyZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNwZWFrIExv amJhbiBzcGVhayB0byBlYWNoIG90aGVyIGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBjYW4gc3Bl YWvigJ06CgpfXycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4MiB0byBl eHByZXNzIHgzIChhYnN0cmFjdGlvbinigJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBs byBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBrZSdhIGth a25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVudSBwb2kg a2UnYSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hhdCB3ZSBz ZWUgaXMgdGhhdCB0aGUgTG9qYmFuIHZlcnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUgRW5n bGlzaC4gVGhpcyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxvdXNseSBs b25nIHN1bXRpIGlzIGJlaW5nIHJlcGVhdGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBMb2piYW4g dGV4dCwgd2hpbGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2ggb3RoZXLi gJ0gYW5kIOKAnHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0IGl0IGJl IGNsZXZlciBpZiBMb2piYW4gc29tZWhvdyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcgdGhlIHNh bWU/CgoKCkl0IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJhbiBoYXMg YSByYW5nZSBvZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10aS1yZXBy ZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRp LCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHBy b25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxy ZWFkeSBrbm93ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBt b3JlLCBzbyBsZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBpdCBpbnRv IHN5c3RlbS4gV2UgY2FuIGJlZ2luIHdpdGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmds aXNoLCBhbmQgd2hhdCB5b3UndmUgYWxyZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19fIC0gc3Vt a2EnaTog4oCcaW1tZWRpYXRlIOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkg bmVhciB0aGUgc3BlYWtlcuKAnQoKX18nJ3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJieSDigJhp dCc6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhlIHNw ZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2EnaTog 4oCcZGlzdGFudCDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZhciBmcm9t IHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4gcmVjb2du aXplIHRoZSDigJxpLCBhLCB14oCdLXNlcXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBhbmQgb3Zl ci4gU29tZSB0aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2guIEZpcnN0 bHksIHRoZXNlIHN1bXRpIGNhbiByZXByZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJlIHNhaWQg dG8gb2NjdXB5IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRlYXMsIGNl cnRhaW5seSBub3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBleHRlbnQg dGhleSBhcmUgcmVzdHJpY3RlZCB0byBhIHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21pbiBSZXZv bHV0aW9uIGNhbm5vdCBiZSBwb2ludGVkIGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3IgYSBraXNz IG1pZ2h0LiBTZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2ZSB0byBk aWZmZXJlbnQgdGhpbmdzIGZvciB0aGUgZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25seSBhcHBs aWVzIGlmIGl0J3MgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5l ci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFydCBh bmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScnIHJl ZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdCdzIGFs bCByZWxhdGl2ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRzIGFyZSBh bGwgcHJvYmxlbWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1c2UgdGhl IHBvc2l0aW9uIG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRvIGVhY2gg b3RoZXIsIGFuZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRoZSBhdXRo b3Igb2YgYSBib29rIGNhbm5vdCBwb2ludCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3MgdGhlIHBv aW50aW5nIGluIHRoZSBib29rLgoKCgpUaGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxlZCBLT2hB MywgdG8gd2hpY2ggJydtaScnIGFuZCAnJ2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdvbid0IHdy aXRlIHRoYXQgaGVyZSkgYmVsb25nczoKCl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUgc3BlYWtl cihzKS4KCl9fJydtaSdvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMp IGFuZCB0aGUgbGlzdGVuZXIocykgLgoKX18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mg b2YgdGhlIHNwZWFrZXIocykgYW5kIG90aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWthJ2k6IFRo ZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9f JydkbycnX18gLSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIocykuCgpfXycnZG8nbycnX18gLSBzdW1r YSdpOiBUaGUgbWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4 IHN1bWthJ2kgYXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4gZGlhZ3Jh bToKCgoKe2ltZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5uIGRpYWdy YW0gb2YgS09oQTMgKCcna28nJyBleGNsdWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3QgYSBLT2hB MywgYnV0IG1lYW5zIOKAnHRoZSBvdGhlcihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBmb3Igc2V2 ZXJhbCBwZW9wbGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVtZW50IGlz IG1hZGUgb24gdGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGlsZSDigJx3 ZeKAnSBjYW4gYmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywgJydtaSdh Jycgb3IgJydtYSdhJycsIHdoYXQgb25lIHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxseSBqdXN0 ICcnbWknJy4gQWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRoYW4gb25l IGluZGl2aWR1YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywgdGhlIGJy aWRpICcnbWkgZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2YWxlbnQg dG8gJydkbyBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5kIGFyZSBj b25zaWRlcmVkIHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlzIGxhdGVy LCBpbiB0aGUgJydicmlrYSdpJycgKHByby1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2YgdGhlc2Ug JydzdW1rYSdpJycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBiZSB1c2Vk LCBmb3IgaW5zdGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2ggdGhpcyBs ZXNzb24gYmVnYW4gd2l0aC4gVGhlIGZvbGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5jaXBsZSBi ZSB1c2VkIHRvIHJlZmVyIHRvIGFueSBzdW10aToKCl9fJydyaScnX18gLSBzdW1rYSdpOiDigJxM YXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEgcmVjZW50 LCBidXQgbm90IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAtIHN1bWth J2k6IOKAnEEgc3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRpIHdpbGwg cmVmZXIgdG8gYW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydzdW1rYSdp JycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBiZSByZWZl cnJlZCB0byBieSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRvIGp1c3Qg cmVwZWF0IGJ5IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJlICcndGkn JywgJyd0YScnIGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdlZCB3aGF0 IHlvdSBwb2ludCBhdCwgYW5kIHRodXMgY2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3JkLiBUaGV5 IHdpbGwgb25seSByZWZlciB0byB0ZXJtaW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5ub3QsIGZv ciBpbnN0YW5jZSwgYmUgdXNlZCB0byByZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0aGUgd29y ZCBpbiBpcyB0aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRvIG1pIGN1 IGRqaWNhIGxvIG51IHJpIHNlIHpkYW5pJycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVmZXIgdG8g dGhlIGFic3RyYXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8gJydtaScn IG9yICcna2UnYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMgdG8gJyds ZSBwZW5kbycnLgoKJydyYScnIGFuZCAnJ3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50IGluIHdo YXQgdGhleSByZWZlciB0bywgYnV0IHRoZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9uZWQgYWJv dmUsIGFuZCAnJ3J1JycgYWx3YXlzIHJlZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRpIHRoYW4g JydyYScnLCB3aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoKCgonJ3Jp JycgYW5kIGl0J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVhbGluZyB3 aXRoIHRoZSBvcmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28gaW5zdGFu Y2VzIG9mICcnc3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBwcmVudSBw b2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBydSBsbyBi YW5ndSBwb2kgcnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3QsIGJl Y2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVzZWQs IGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBudSB0 YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8g dGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0bHks IHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1 dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNl bnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBjb250 ZXh0IGFsbG93cyBpdDoKCl9fJydkYSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBw YXN0IHNlbnRlbmNlCgpfXycnZGUndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNlbnQgc2Vu dGVuY2UKCl9fJydkaSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRlbmNl CgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydkaSdl JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IE5lYXIgZnV0dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18gVXR0ZXJh bmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18gVXR0ZXJh bmNlIHZhcmlhYmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29tZSBzZW50 ZW5jZeKAnQoKVGhlc2UgcmVwcmVzZW50cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCByZWZlciBv bmx5IHRvIHRoZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUgbWVhbmlu ZyBiZWhpbmQgdGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScnLCBidXQg Zm9yIG5vdyB5b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5leHQgbGVz c29uIHdpbGwgYmUgb24gZGVyaXZlZCBzdW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVyIHN1bXRp LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJhbiBzdW10 aSAzOiBkZXJpdmVkIHN1bXRpKQoKWW91IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUgc3VtdGkg JydsZSBiYW5ndSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQg ZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdCdzIHJl YWxseSBhIHdvcmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJlIHNhaWQg dG8gZmlsbCBpbnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBjYW4ndCBj b252ZXJ0IHRoYXQgdG8gYSBzdW10aSB1c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtrdX0gbWkn JyBpcyB0d28gc3VtdGksIGJlY2F1c2UgJydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5vdCBhIHNl bGJyaS4gTmVpdGhlciBjYW4gd2UgY29udmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywgYmVjYXVz ZSB0aGUgc3UndSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlvbiwgYW5k IHRoZSAnJ2xlJycgdGhlbiBleHRyYWN0cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3RyYWN0aW9u IHN1bXRpIG1lYW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMgbXkgbGFu Z3VhZ2XigJ0uCgpFbnRlciAnJ2JlJycuICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmluZHMgY29u c3RydWN0cyAoc3VtdGksIHN1bXRjaXRhIGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBVc2luZyBp dCBpbiBvcmRpbmFyeSBzZWxicmkgaGFzIG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBiZSBkbycn LCB0aGUgJydiZScnIGRvZXMgbm90aGluZy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlzIGJvdW5k IHRvIGEgc2VsYnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBzZWxicmkg d2l0aG91dCB0aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScnIGlzIGEg Y29ycmVjdCBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlvdSBjYW4g YXR0YWNoIGEgc3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDigJxUaGUg ZXZlbnQgb2YgaGl0dGluZywgd2hpY2ggaXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0aGF0IHRo ZSBwcmVzZW5jZSBvciBhYnNlbmNlIG9mICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlmZmVyZW50 bHk6IFdpdGggdGhlIGZhJ29ybWEnbyBwcmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8gJydudScn LCB3aXRob3V0IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4gU28gaXQg ZGVjaWRlcyB3aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBvciB0aGUg ZXZlbnQgb2YgaGl0dGluZyBjYXVzZWQgYnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNhc2UsIHRo b3VnaCwgdGhhdCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYgSSB3YW50 IHRvIGF0dGFjaCBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJpPyDigJxU aGUgZ2l2ZXIgb2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxvIHBsaXNl IGJlIGRvJycsIHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0byB0aGUg YXBwbGUsIG1lYW5pbmcgJydsZSBwbGlzZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9mIHRoZSBz dHJhaW4gb2YgeW914oCdLCB3aGljaCBtYWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8gc3RyaW5n IHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93aW5nIHRo ZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2Fu IGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2JlJ28nJyBm b3IgZWFjaCBzZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRvIGxpc3Qg dGhlbToKCl9fJydiZScnX18gYmluZHMgc3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJpCgpfXycn YmVpJydfXyBiaW5kcyBhIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBvciBzdW10 Y2l0YSB0byBhIHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoK VGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90 aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2 ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0 cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2Ug dGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdp dGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29j aWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hp Y2ggeW91IHNpdCBvbi4gSXQncyBub3QgcmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0aGluZyBk byB0byB3aXRoIHlvdS4gQSBtb3JlIGludGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFibGlz aGVkIHdpdGggJydwbycnLCB3aGljaCBtYWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVlIGFuZCBi aW5kaW5nIHRvIGEgcGVyc29uLCBhcyBpbiDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRoYXQgeW91 IGFjdHVhbGx5IG93bi4gVGhlIGxhc3Qga2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8nZScnLCB3 aGljaCBtYWtlcyBhIHNvLWNhbGxlZCAiaW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBzdW10aSwg bWVhbmluZyB0aGF0IHRoZSBib25kIGlzIGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3VtdGkuIFNv bWUgZXhhbXBsZXMgY291bGQgYmUgIm15IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBob21lIGNv dW50cnkiOyBub25lIG9mIHRoZXNlICJwb3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZlbiBpZiB5 b3Ugc2F3IG9mZiB5b3VyIGFybSwgaXQncyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQgYXJlIHRo ZXJlZm9yZSBpbmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3BvJ2UnJyBp cyBhcHByb3ByaWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlucyB0aGUg b25lIHRvIHdoaWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0ZXIuCgpf XycnbmUnJ19fIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3Nv Y2lhdGVkIHdpdGguLi4iCgpfXycncGUnJ19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4g IndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZlIHJlbGF0 aXZlIHBocmFzZS4gIndoaWNoIGlzIHNwZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19fIGluYWxp ZW5hYmxlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEgdmVyeSB1 c2VmdWwgY29uc3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJyaX0nJy4g dGhpcyBpcyBlcXVpdmFsZW50IHRvICcne2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRpfScnLiBG b3IgaW5zdGFuY2UgJydsZSBtaSBnZXJrdScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBnZXJrdSBw ZSBtaScnLiBPbmUgY291bGQgaGF2ZSBkZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVzY3JpcHRp b24gc3VtdGksIHNheWluZyAnJ2xlIGxlIHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1JycsID0g JydsZSBnZXJrdSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9mIHRoZSBt YW4gSSdtIGZsaXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0byByZWFk IChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lk ZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdpbGwgbWFr ZSBhIGxvdCBvZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkgYW5kIGNv bnZlcnRzIGl0IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIHdo aWNoIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBleGFtcGxl LCBJIGNvdWxkIHNheSAnJ21pIGRqaWNhIGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycsIG9yIEkg Y291bGQgbGV0IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91dCB0aGUg YXBwbGUgSSBkZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlzZScnLiBP bmUgYWx3YXlzIGhhcyB0byBndWVzcyB3aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2VyIG1lYW5z IGJ5ICcndHUnYSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29udGV4 dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19f IOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0KCicn emEnYSBkbyBnYXNudSB0dSdhIGxvIHNrYW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBtYWtlIHRo ZSBjb21wdXRlciBkbyBzb21ldGhpbmfigJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1USScnIGlz IGVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1c2VmdWwu IFRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScnLCBldmVu IHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3aGVu IEkgZG9uJ3Qgd2FudCB0aGUgcmVzdWx0aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0aW9uLCBi dXQgYSBjb25jcmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pvJ2UgcGUn Jy4KCl9fJyd0dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9uIGludm9s dmluZyB0aGUgc3VtdGkuIEVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Uga2VpIGt1 JycKCgoKRmluYWxseSwgb25lIGtpbmQgb2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRvIGFub3Ro ZXIgYnkgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0gQ29udmVy dCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoKX18nJ2x1 J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0 LgoKX18nJ2x1J28nJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0 IHRvIG1hc3MuCgpfXycndnUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1 ZW5jZS9zZXQgdG8gc2VxdWVuY2U7IHRoZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhlIHVzZSBv ZiB0aGVzZSB3b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBiZWZvcmUg YSBzdW10aSBvZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5ldyB0eXBl LiBOb3RpY2UsIHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBhIHNlcXVl bmNlIGhhcyBiZWVuIGludHJvZHVjZWQuIFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiAoaXQg ZG9lc24ndCBoYXZlIGl0cyBvd24gZ2FkcmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0IGluY2x1 ZGVkIGhlcmUgZm9yIGNvbXBsZXRpb24uCgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBMQWhFIGRv IG5vdCBjb252ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91IHRvIHNw ZWFrIG9mIGEgYSBzdW10aSBieSBvbmx5IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNoIHJlZmVy ZW5jZXMgdG8gaXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBmb3IgaW5z dGFuY2UgYmVjYXVzZSBzdW10aSBBIGlzIGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5hbWUsIG9y IGEgc2VudGVuY2UgKHdoaWNoIGFsd2F5cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxlYXN0IGEg YnJpZGkpLCDigJgnbGEnZSBTVU1USSBBJycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0YW5j ZSwg4oCYJ21pIG5lbGNpIGxhJ2UgZGkndScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3UganVzdCBz YWlk4oCdIChub3QgJydtaSBuZWxjaSBkaSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBsaWtlIHlv dXIgcHJldmlvdXMgc2VudGVuY2UiKSBvciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUnJyBmb3Ig dGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJp bmNlIGhpbXNlbGYuIFRoZSBjbWF2byDigJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJldmVyc2Ug 4oCTIOKAmCdsdSdlIFNVTVRJJycgcmVmZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZlcnMgdG8g dGhlIHN1bXRpLiAKCl9fJydsYSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0byBieeKA nSAtIGV4dHJhY3RzIGEgc3VtdGkgQSBmcm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMgdG8gQS4g CgpfXycnbHUnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMg YSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEhRW5k IG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVz ZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91bmQg b24gcGFnZXMgZGVkaWNhdGVkIHRvICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9ybWVy KSkgYW5kICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMs IHRob3VnaCwgY2xpY2tpbmcgb24gInRoZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRh a2UgeW91IHRoZXJlIHBhaW5sZXNzbHkuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNA bG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5l dXJvdGljCg==