Received: from localhost ([::1]:43657 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UROBt-0002Oi-3V; Sun, 14 Apr 2013 07:46:01 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:40396 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UROBj-0002Ob-MW for wikichanges@lojban.org; Sun, 14 Apr 2013 07:45:59 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sun, 14 Apr 2013 07:45:51 -0700 From: "Apache" Date: Sun, 14 Apr 2013 07:45:51 -0700 To: wikichanges@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 wavelessonscontinuedp0 was changed by gleki at 14:45 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp0 [...] 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] 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: [Wikichanges] Wiki page wavelessonscontinuedp0 changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 54562 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMCB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAx NDo0NSBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDAKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAwJmNvbXBhcmU9MSZvbGR2ZXI9NiZuZXd2ZXI9 NwoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2Vk IGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczog MS0xNjcgY2hhbmdlZCB0byArTGluZXM6IDEtMTcwIEBACistKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiFQcmVmYWNlLiBTb3VuZHMKLSBU aGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gd2hlbiB5b3UgbGVhcm4gYSBmb3JlaWduIGxh bmd1YWdlIGlzIHRvIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgb2YgdGhlIGxhbmd1 YWdlIGFuZCBob3cgdGhleSBhcmUgd3JpdHRlbiwgYW5kIHRoZSBzYW1lIGdvZXMgZm9yIExvamJh bi4gRm9ydHVuYXRlbHksIExvamJhbiBzb3VuZHMgKF9fcGhvbmVtZXNfXykgYXJlIGZhaXJseSBz dHJhaWdodGZvcndhcmQuIAorIFRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyB3aGVuIHlv dSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMgdG8gYmVjb21lIGZhbWlsaWFyIHdpdGggdGhl IHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0aGV5IGFyZSB3cml0dGVuLCBhbmQgdGhl IHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5hdGVseSwgTG9qYmFuIHNvdW5kcyAoX19waG9u ZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZC4KISFWb3dlbHMKLSBUaGVyZSBhcmUg c2l4IHZvd2VscyBpbiBMb2piYW4uIAorIFRoZXJlIGFyZSBzaXggdm93ZWxzIGluIExvamJhbi4K Ci0gfHxhIHxhcyBpbiAnJ2ZfX2FfX3RoZXInJyAobm90IGFzIGluICcnaF9fYV9fdCcnKSA8YnIg Lz5lIHxhcyBpbiAnJ2dfX2VfX3QnJyA8YnIgLz5pIHxhcyBpbiAnJ21hY2hfX2lfX25lJycgb3Ig KEl0YWxpYW4pICcndl9faV9fbm8nJyAobm90IGFzIGluICcnaF9faV9fdCcnKSA8YnIgLz5vIHxh cyBpbiAnJ2JfX29fX2xkICcnb3IgJydtX19vX19yZScnbm90IGFzIGluICcnc19fbycnX18gKHRo aXMgc2hvdWxkIGJlIGEgJ3B1cmUnIHNvdW5kLikgCisgfHxhIHxhcyBpbiAnJ2ZfX2FfX3RoZXIn JyAobm90IGFzIGluICcnaF9fYV9fdCcnKTxiciAvPmUgfGFzIGluICcnZ19fZV9fdCcnPGJyIC8+ aSB8YXMgaW4gJydtYWNoX19pX19uZScnIG9yIChJdGFsaWFuKSAnJ3ZfX2lfX25vJycgKG5vdCBh cyBpbiAnJ2hfX2lfX3QnJyk8YnIgLz5vIHxhcyBpbiAnJ2JfX29fX2xkICcnb3IgJydtX19vX19y ZScnbm90IGFzIGluICcnc19fbycnX18gKHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUnIHNvdW5kLikK dSB8YXMgaW4gJydjX19vb19fbCcnIChub3QgYXMgaW4gJydiX191X190JycpIHx8Ci0gVGhlc2Ug YXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9yIFNwYW5pc2gu IFRoZSBzaXh0aCB2b3dlbCwgeSwgaXMgY2FsbGVkIGEgX19zY2h3YV9fIGluIHRoZSBsYW5ndWFn ZSB0cmFkZSwgYW5kIGlzIHByb25vdW5jZWQgbGlrZSB0aGUgZmlyc3QgYW5kIGxhc3QgJydBJycn cyBpbiAnJ0FtZXJpY2EnJyAodGhhdCdzIEVuZ2xpc2ggJydBbWVyaWNhJycsIG5vdCBTcGFuaXNo LikgSXQncyB0aGUgc291bmQgdGhhdCBjb21lcyBvdXQgd2hlbiB0aGUgbW91dGggaXMgY29tcGxl dGVseSByZWxheGVkLiA8YnIgLz5Ud28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBwcm9ub3VuY2VkIGFz IG9uZSBzb3VuZCAoX19kaXBodGhvbmdfXykuIFNvbWUgZXhhbXBsZXMgYXJlOiAKKyBUaGVzZSBh cmUgcHJldHR5IG11Y2ggdGhlIHNhbWUgYXMgdm93ZWxzIGluIEl0YWxpYW4gb3IgU3BhbmlzaC4g VGhlIHNpeHRoIHZvd2VsLCB5LCBpcyBjYWxsZWQgYSBfX3NjaHdhX18gaW4gdGhlIGxhbmd1YWdl IHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBmaXJzdCBhbmQgbGFzdCAnJ0EnJydz IGluICcnQW1lcmljYScnICh0aGF0J3MgRW5nbGlzaCAnJ0FtZXJpY2EnJywgbm90IFNwYW5pc2gu KSBJdCdzIHRoZSBzb3VuZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBtb3V0aCBpcyBjb21wbGV0 ZWx5IHJlbGF4ZWQuPGJyIC8+VHdvIHZvd2VscyB0b2dldGhlciBhcmUgcHJvbm91bmNlZCBhcyBv bmUgc291bmQgKF9fZGlwaHRob25nX18pLiBTb21lIGV4YW1wbGVzIGFyZToKCi0gfHxhaSB8YXMg aW4gJydoX19pZ2gnJ19fIDxiciAvPmF1IHxhcyBpbiAnJ2hfX293JydfXyA8YnIgLz5laSB8YXMg aW4gJydoX19leScnX18gPGJyIC8+b2kgfGFzIGluICcnYl9fb3knJ19fIDxiciAvPmlhIHxsaWtl IEdlcm1hbiAnJ19fSmEnJ19fIDxiciAvPmllIHxsaWtlICcnX195ZWFoJydfXyA8YnIgLz5pdSB8 bGlrZSAnJ19feW91JydfXyA8YnIgLz51YSB8YXMgaW4gJydfX3dhYWghJydfXywgb3IgRnJlbmNo ICcncV9fdW9pJydfXyA8YnIgLz51ZSB8YXMgaW4gJydxX191ZV9fc3Rpb24nJyA8YnIgLz51byB8 YXMgaW4gJydxX191b19fdGUnJyAKKyB8fGFpIHxhcyBpbiAnJ2hfX2lnaCcnX188YnIgLz5hdSB8 YXMgaW4gJydoX19vdycnX188YnIgLz5laSB8YXMgaW4gJydoX19leScnX188YnIgLz5vaSB8YXMg aW4gJydiX19veScnX188YnIgLz5pYSB8bGlrZSBHZXJtYW4gJydfX0phJydfXzxiciAvPmllIHxs aWtlICcnX195ZWFoJydfXzxiciAvPml1IHxsaWtlICcnX195b3UnJ19fPGJyIC8+dWEgfGFzIGlu ICcnX193YWFoIScnX18sIG9yIEZyZW5jaCAnJ3FfX3VvaScnX188YnIgLz51ZSB8YXMgaW4gJydx X191ZV9fc3Rpb24nJzxiciAvPnVvIHxhcyBpbiAnJ3FfX3VvX190ZScnCnVpIHxsaWtlICcnX193 ZScnX18sIG9yIEZyZW5jaCAnJ19fb3VpJydfXyB8fAotIERvdWJsZSB2b3dlbHMgYXJlIHJhcmUu IFRoZSBvbmx5IGV4YW1wbGVzIGFyZSBpaSwgd2hpY2ggaXMgcHJvbm91bmNlZCBsaWtlIEVuZ2xp c2ggJyd5ZScnIChhcyBpbiBPaCBjb21lIGFsbCB5ZSBmYWl0aGZ1bCkgb3IgQ2hpbmVzZSAnJ3lp JycsIGFuZCB1dSwgcHJvbm91bmNlZCBsaWtlICcnd29vJycuIAorIERvdWJsZSB2b3dlbHMgYXJl IHJhcmUuIFRoZSBvbmx5IGV4YW1wbGVzIGFyZSBpaSwgd2hpY2ggaXMgcHJvbm91bmNlZCBsaWtl IEVuZ2xpc2ggJyd5ZScnIChhcyBpbiBPaCBjb21lIGFsbCB5ZSBmYWl0aGZ1bCkgb3IgQ2hpbmVz ZSAnJ3lpJycsIGFuZCB1dSwgcHJvbm91bmNlZCBsaWtlICcnd29vJycuCiEhQ29uc29uYW50cwot IE1vc3QgTG9qYmFuIGNvbnNvbmFudHMgYXJlIHRoZSBzYW1lIGFzIEVuZ2xpc2gsIGJ1dCB0aGVy ZSBhcmUgc29tZSBleGNlcHRpb25zOiAKKyBNb3N0IExvamJhbiBjb25zb25hbnRzIGFyZSB0aGUg c2FtZSBhcyBFbmdsaXNoLCBidXQgdGhlcmUgYXJlIHNvbWUgZXhjZXB0aW9uczoKCi0gfHxnIHxh bHdheXMgJydnJycgYXMgaW4gJydfX2dfX3VtJycsIG5ldmVyICcnZycnIGFzIGluICcnX19nX19l bScnIDxiciAvPmMgfCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcnIDxiciAvPmogfGFzIGluICcn bWVhX19zX191cmUnJyBvciBGcmVuY2ggJydib25fX2pfX291cicnIAorIHx8ZyB8YWx3YXlzICcn ZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAnJ2cnJyBhcyBpbiAnJ19fZ19fZW0nJzxiciAv PmMgfCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcnPGJyIC8+aiB8YXMgaW4gJydtZWFfX3NfX3Vy ZScnIG9yIEZyZW5jaCAnJ2Jvbl9fal9fb3VyJycKeCB8YXMgaW4gR2VybWFuICcnQmFfX2NoJydf XywgU3BhbmlzaCAnJ19fSl9fb3NlJycgb3IgQXJhYmljICcnX19LaF9fYWxlZCcnIHx8Ci0gVGhl IEVuZ2xpc2ggc291bmRzICcnY2gnJyBhbmQgJydqJycgYXJlIHdyaXR0ZW4gYXMgdGMgYW5kIGRq LiA8YnIgLz5Mb2piYW4gZG9lc24ndCB1c2UgdGhlIGxldHRlcnMgJydIJycsICcnUScnIG9yICcn VycnLiAKKyBUaGUgRW5nbGlzaCBzb3VuZHMgJydjaCcnIGFuZCAnJ2onJyBhcmUgd3JpdHRlbiBh cyB0YyBhbmQgZGouPGJyIC8+TG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJzICcnSCcnLCAn J1EnJyBvciAnJ1cnJy4KISFTcGVjaWFsIENoYXJhY3RlcnMKLSBMb2piYW4gZG9lcyBub3QgcmVx dWlyZSBhbnkgcHVuY3R1YXRpb24sIGJ1dCBzb21lIHNwZWNpYWwgY2hhcmFjdGVycyAobm9ybWFs bHkgdXNlZCBpbiBwdW5jdHVhdGlvbiBpbiBvdGhlciBsYW5ndWFnZXMpIGFmZmVjdCB0aGUgd2F5 IExvamJhbiBpcyBwcm9ub3VuY2VkLiA8YnIgLz5UaGUgb25seSBvbmUgb2YgdGhlc2UgY2hhcmFj dGVycyB3aGljaCBpcyBvYmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUgYXBvc3Ryb3BoZTsgaW4g ZmFjdCB0aGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgb2YgTG9q YmFuLiBBbiBhcG9zdHJvcGhlIHNlcGFyYXRlcyB0d28gdm93ZWxzLCBwcmV2ZW50aW5nIHRoZW0g ZnJvbSBiZWluZyBwcm9ub3VuY2VkIHRvZ2V0aGVyIChhcyBhIF9fZGlwaHRob25nX18pOyBpdCBp cyBpdHNlbGYgcHJvbm91bmNlZCBsaWtlIGFuICcnaCcnLiBGb3IgZXhhbXBsZSwgdWkgaXMgbm9y bWFsbHkgcHJvbm91bmNlZCAnJ3dlJycsIGJ1dCB1J2kgaXMgJydvb2hlZScnLiA8YnIgLz5BIGZ1 bGwgc3RvcCAocGVyaW9kKSBpcyBhIHNob3J0IHBhdXNlIHRvIHN0b3Agd29yZHMgcnVubmluZyBp bnRvIGVhY2ggb3RoZXIuIFRoZSBydWxlcyBvZiBMb2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9u ZSB3b3JkIHRvIHJ1biBpbnRvIGFub3RoZXIgd2hlbiB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdp dGggYSB2b3dlbDsgc28gYW55IHdvcmQgc3RhcnRpbmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25h bGx5IGhhcyBhIGZ1bGwgc3RvcCBwbGFjZWQgaW4gZnJvbnQgb2YgaXQuIDxiciAvPkNvbW1hcyBh cmUgcmFyZSBpbiBMb2piYW4sIGJ1dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1 cnJpbmcgdG9nZXRoZXIgd2hlbiB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAo d2hpY2ggd291bGQgcHV0IGEgJydoJycgYmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhh dmUgY29tbWFzLCBidXQgdGhleSdyZSBzb21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2pi YW4gbmFtZXMsIGZvciBleGFtcGxlIHBpLEVSLiAoJydQaWVycmUnJyksIGFzIG9wcG9zZWQgdG8g cGllci4gKCcnUC15ZXJyJycpLCBwaS5FUi4gKCcnUGVlOyBFaHInJyksIG9yIHBpJ0VSLiAoJydQ aWhlcnInJykuIDxiciAvPkNhcGl0YWwgbGV0dGVycyBhcmUgbm90IG5vcm1hbGx5IHVzZWQgaW4g TG9qYmFuLiBXZSB1c2UgdGhlbSBpbiBub24tTG9qYmFuIHdvcmRzIChsaWtlICcnUGllcnJlJycp IHdoZW4gdGhlIHN0cmVzcyBvZiBhIHdvcmQgaXMgZGlmZmVyZW50IGZyb20gdGhlIExvamJhbiBu b3JtLiBUaGUgbm9ybSBpcyB0byBwdXQgdGhlIHN0cmVzcyBvbiB0aGUgbGFzdC1idXQtb25lIHN5 bGxhYmxlOyBzbywgZm9yIGV4YW1wbGUsIGt1cm1pa2NlICdudXJzZScgaXMga3VyX19NSUtfX2Nl LCBub3QgX19LVVJfX21pa2NlLiBUaGUgbmFtZSAnJ0p1bGlldHRlJycgd291bGQgYmUgd3JpdHRl biBESlVsaSxldC4gaWYgcHJvbm91bmNlZCBpbiBhbiBFbmdsaXNoIHdheSwgYnV0IGp1TElFVC4g aWYgcHJvbm91bmNlZCBhcyBpbiBGcmVuY2guIAorIExvamJhbiBkb2VzIG5vdCByZXF1aXJlIGFu eSBwdW5jdHVhdGlvbiwgYnV0IHNvbWUgc3BlY2lhbCBjaGFyYWN0ZXJzIChub3JtYWxseSB1c2Vk IGluIHB1bmN0dWF0aW9uIGluIG90aGVyIGxhbmd1YWdlcykgYWZmZWN0IHRoZSB3YXkgTG9qYmFu IGlzIHByb25vdW5jZWQuPGJyIC8+VGhlIG9ubHkgb25lIG9mIHRoZXNlIGNoYXJhY3RlcnMgd2hp Y2ggaXMgb2JsaWdhdG9yeSBpbiBMb2piYW4gaXMgdGhlIGFwb3N0cm9waGU7IGluIGZhY3QgdGhl IGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIG9mIExvamJhbi4gQW4g YXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZvd2VscywgcHJldmVudGluZyB0aGVtIGZyb20gYmVp bmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMgYSBfX2RpcGh0aG9uZ19fKTsgaXQgaXMgaXRzZWxm IHByb25vdW5jZWQgbGlrZSBhbiAnJ2gnJy4gRm9yIGV4YW1wbGUsIHVpIGlzIG5vcm1hbGx5IHBy b25vdW5jZWQgJyd3ZScnLCBidXQgdSdpIGlzICcnb29oZWUnJy48YnIgLz5BIGZ1bGwgc3RvcCAo cGVyaW9kKSBpcyBhIHNob3J0IHBhdXNlIHRvIHN0b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2gg b3RoZXIuIFRoZSBydWxlcyBvZiBMb2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRv IHJ1biBpbnRvIGFub3RoZXIgd2hlbiB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dl bDsgc28gYW55IHdvcmQgc3RhcnRpbmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBh IGZ1bGwgc3RvcCBwbGFjZWQgaW4gZnJvbnQgb2YgaXQuPGJyIC8+Q29tbWFzIGFyZSByYXJlIGlu IExvamJhbiwgYnV0IGNhbiBiZSB1c2VkIHRvIHN0b3AgdHdvIHZvd2VscyBibHVycmluZyB0b2dl dGhlciB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHVzZSBhbiBhcG9zdHJvcGhlICh3aGljaCB3b3Vs ZCBwdXQgYSAnJ2gnJyBiZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4gd29yZHMgaGF2ZSBjb21tYXMs IGJ1dCB0aGV5J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJhbiBuYW1lcywg Zm9yIGV4YW1wbGUgcGksRVIuICgnJ1BpZXJyZScnKSwgYXMgb3Bwb3NlZCB0byBwaWVyLiAoJydQ LXllcnInJyksIHBpLkVSLiAoJydQZWU7IEVocicnKSwgb3IgcGknRVIuICgnJ1BpaGVycicnKS48 YnIgLz5DYXBpdGFsIGxldHRlcnMgYXJlIG5vdCBub3JtYWxseSB1c2VkIGluIExvamJhbi4gV2Ug dXNlIHRoZW0gaW4gbm9uLUxvamJhbiB3b3JkcyAobGlrZSAnJ1BpZXJyZScnKSB3aGVuIHRoZSBz dHJlc3Mgb2YgYSB3b3JkIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBMb2piYW4gbm9ybS4gVGhlIG5v cm0gaXMgdG8gcHV0IHRoZSBzdHJlc3Mgb24gdGhlIGxhc3QtYnV0LW9uZSBzeWxsYWJsZTsgc28s IGZvciBleGFtcGxlLCBrdXJtaWtjZSAnbnVyc2UnIGlzIGt1cl9fTUlLX19jZSwgbm90IF9fS1VS X19taWtjZS4gVGhlIG5hbWUgJydKdWxpZXR0ZScnIHdvdWxkIGJlIHdyaXR0ZW4gREpVbGksZXQu IGlmIHByb25vdW5jZWQgaW4gYW4gRW5nbGlzaCB3YXksIGJ1dCBqdUxJRVQuIGlmIHByb25vdW5j ZWQgYXMgaW4gRnJlbmNoLgohIUFscGhhYmV0Ci0gSW4gbW9zdCBsYW5ndWFnZSB0ZXh0Ym9va3Ms IHlvdSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFnZSB0b2dldGhlciB3aXRoIGl0cyBz b3VuZHMuIExldHRlcnMgKGxlcmZ1KSB0dXJuIG91dCB0byBiZSBldmVuIG1vcmUgaW1wb3J0YW50 IHRoYW4gdXN1YWwgaW4gTG9qYmFuLCBzbyB3ZSBtaWdodCBhcyB3ZWxsIGdvIHRocm91Z2ggdGhl aXIgbmFtZXMgcXVpY2tseS4gPGJyIC8+Q29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0 aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28g dGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgJydiLCBjLCBkLCBmLCBnIC4uLicnLCBh cmUgY2FsbGVkIGJ5LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuLi4uIGluIExvamJhbiAodXNpbmcgdGhl IGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pIDxiciAvPlZvd2VscyAnJ3dvdWxk JycgYmUgY2FsbGVkIC5heSwgLmV5LCAuaXksIGJ1dCB0aGF0IHdvdWxkIGJlIHJhdGhlciBkaWZm aWN1bHQgdG8gcHJvbm91bmNlLiBJbnN0ZWFkLCB0aGV5IGFyZSBoYW5kbGVkIGJ5IGZvbGxvd2lu ZyB0aGUgdm93ZWwgc291bmQgd2l0aCB0aGUgd29yZCBidSwgd2hpY2ggYmFzaWNhbGx5IG1lYW5z ICdsZXR0ZXInLiBTbyB0aGUgdm93ZWxzIG9mIExvamJhbiBhcmU6IC5hYnUsIC5lYnUsIC5pYnUs IC5vYnUsIC51YnUsIHlidS4gPGJyIC8+VGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBw cm9wZXIgbGV0dGVyIGluIExvamJhbiwgYW5kIGlzIGNhbGxlZCAueSd5Li4gVG8gc29tZSBwZW9w bGUsIHRoaXMgc291bmRzIGxpa2UgYSBjb3VnaDsgdG8gb3RoZXIsIGxpa2UgJyd1aC1odWgnJyAo d2hlbiBpdCBtZWFucyAnWWVzJyByYXRoZXIgdGhhbiAnTm8nLikgPGJyIC8+TG9qYmFuIGhhcyB3 YXlzIG9mIHJlZmVyaW5nIHRvIG1vc3QgbGV0dGVycyB5b3UgY2FuIHRoaW5rIG9mOyBzZWUgJydU aGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlJycsIENoYXB0ZXIgMTcgZm9yIGRldGFpbHMuIElm IHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91dCB5b3VyIG5hbWUgaW4gTG9qYmFuIGFuZCBo YXZlIGFuICcnSCcnLCAnJ1EnJywgb3IgJydXJycgdG8gZGVhbCB3aXRoLCB5b3UgY2FuIHVzZSAu eSd5LmJ1LCBreS5idSBhbmQgdnkuYnUuIFNvICcnU2Nod2FyemVuZWdnZXInJyBpcyBzcGVsdCBp biBMb2piYW4gYXM6IDxiciAvPnN5LiBjeS4gLnkneWJ1IHZ5YnUuIC5hYnUgcnkuIHp5LiAuZWJ1 IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4gPGJyIC8+QW5kIHNwZWxsaW5nICcndGhhdCcnIGlz IGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhlIFRlcm1pbmF0b3IgZXZlciBkaWQhIAor IEluIG1vc3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBoYWJldCBvZiB0aGUg bGFuZ3VhZ2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0ZXJzIChsZXJmdSkgdHVybiBv dXQgdG8gYmUgZXZlbiBtb3JlIGltcG9ydGFudCB0aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2Ug bWlnaHQgYXMgd2VsbCBnbyB0aHJvdWdoIHRoZWlyIG5hbWVzIHF1aWNrbHkuPGJyIC8+Q29uc29u YW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIg aXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJh biwgJydiLCBjLCBkLCBmLCBnIC4uLicnLCBhcmUgY2FsbGVkIGJ5LiwgY3kuLCBkeS4sIGZ5Liwg Z3kuLi4uIGluIExvamJhbiAodXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2Ny aWJlZC4pPGJyIC8+Vm93ZWxzICcnd291bGQnJyBiZSBjYWxsZWQgLmF5LCAuZXksIC5peSwgYnV0 IHRoYXQgd291bGQgYmUgcmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRo ZXkgYXJlIGhhbmRsZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3Jk IGJ1LCB3aGljaCBiYXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9q YmFuIGFyZTogLmFidSwgLmVidSwgLmlidSwgLm9idSwgLnVidSwgeWJ1LjxiciAvPlRoZSBhcG9z dHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBj YWxsZWQgLnkneS4uIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291Z2g7IHRv IG90aGVyLCBsaWtlICcndWgtaHVoJycgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVyIHRoYW4g J05vJy4pPGJyIC8+TG9qYmFuIGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRvIG1vc3QgbGV0dGVycyB5 b3UgY2FuIHRoaW5rIG9mOyBzZWUgJydUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlJycsIENo YXB0ZXIgMTcgZm9yIGRldGFpbHMuIElmIHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91dCB5 b3VyIG5hbWUgaW4gTG9qYmFuIGFuZCBoYXZlIGFuICcnSCcnLCAnJ1EnJywgb3IgJydXJycgdG8g ZGVhbCB3aXRoLCB5b3UgY2FuIHVzZSAueSd5LmJ1LCBreS5idSBhbmQgdnkuYnUuIFNvICcnU2No d2FyemVuZWdnZXInJyBpcyBzcGVsdCBpbiBMb2piYW4gYXM6PGJyIC8+c3kuIGN5LiAueSd5YnUg dnlidS4gLmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LjxiciAvPkFu ZCBzcGVsbGluZyAnJ3RoYXQnJyBpcyBhIHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBU ZXJtaW5hdG9yIGV2ZXIgZGlkIQpfX0V4ZXJjaXNlIDFfXwpTcGVsbCB5b3VyIG5hbWUgaW4gTG9q YmFuIChvciBhdCBsZWFzdCBzb21ldGhpbmcgY2xvc2UgZW5vdWdoIHRvIGl0IHRvIHVzZSB0aGUg dHdlbnR5LXNpeCBsZXR0ZXJzIG9mIEVuZ2xpc2ggd2UgaGF2ZSBsZWFybmVkLCBhbmQgdGhlIGFw b3N0cm9waGUuKQohISAnQ29ycmVjdCcgcHJvbnVuY2lhdGlvbgotIFlvdSBkb24ndCBoYXZlIHRv IGJlIHZlcnkgcHJlY2lzZSBhYm91dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUg cGhvbmVtZXMgYXJlIGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9u ZSBzb3VuZCBmb3IgYW5vdGhlci4gVGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29y cmVjdCcgcHJvbnVuY2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251 bmNpYXRpb250aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBs b25nIGFzIGl0IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4gRm9y IGV4YW1wbGUsIExvamJhbiByIGNhbiBiZSBwcm9ub3VuY2VkIGxpa2UgdGhlICcncicnIGluIEVu Z2xpc2gsIFNjb3R0aXNoIG9yIEZyZW5jaC4gPGJyIC8+VHdvIHRoaW5ncyB0byBiZSBjYXJlZnVs IG9mLCB0aG91Z2gsIGFyZSBwcm9ub3VuY2luZyBMb2piYW4gaSBhbmQgdSBsaWtlIFN0YW5kYXJk IEJyaXRpc2ggRW5nbGlzaCAnJ2hpdCcnIGFuZCAnJ2J1dCcnIChOb3J0aGVybiBFbmdsaXNoICcn YnV0JycgaXMgZmluZSEpLiBUaGlzIGlzIGJlY2F1c2Ugbm9uLUxvamJhbiB2b3dlbHMsIHBhcnRp Y3VsYXJseSB0aGVzZSB0d28sIGFyZSB1c2VkIHRvIHNlcGFyYXRlIGNvbnNvbmFudHMgYnkgcGVv cGxlIHdobyBmaW5kIHRoZW0gaGFyZCB0byBzYXkuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBw cm9ibGVtcyBzcGl0dGluZyBvdXQgdGhlIHpkIGluIHpkYW5pIChob3VzZSksIHlvdSBjYW4gc2F5 IHpkYW5pd2hlcmUgdGhlICcnJycgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAnJ2knJyBo YXMgdG8gYmUgbG9uZy4gCisgWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNlIGFib3V0 IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlzdHJpYnV0 ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90aGVyLiBU aGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0aW9uLCB0 aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbnRoZSBnZW5lcmFsIHBy aW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9lc24ndCBzb3Vu ZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9qYmFuIHIgY2Fu IGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlzaCwgU2NvdHRpc2ggb3IgRnJl bmNoLjxiciAvPlR3byB0aGluZ3MgdG8gYmUgY2FyZWZ1bCBvZiwgdGhvdWdoLCBhcmUgcHJvbm91 bmNpbmcgTG9qYmFuIGkgYW5kIHUgbGlrZSBTdGFuZGFyZCBCcml0aXNoIEVuZ2xpc2ggJydoaXQn JyBhbmQgJydidXQnJyAoTm9ydGhlcm4gRW5nbGlzaCAnJ2J1dCcnIGlzIGZpbmUhKS4gVGhpcyBp cyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkgdGhlc2UgdHdvLCBhcmUg dXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8gZmluZCB0aGVtIGhhcmQg dG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMgc3BpdHRpbmcgb3V0IHRo ZSB6ZCBpbiB6ZGFuaSAoaG91c2UpLCB5b3UgY2FuIHNheSB6ZGFuaXdoZXJlIHRoZSAnJycnIGlz IHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgJydpJycgaGFzIHRvIGJlIGxvbmcuCiEhTG9qYmFu IE5hbWVzIChjbWVuZSkKLSBXYXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBl YWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSBN ZSBUYXJ6YW4sIHdoaWNoIGlzIGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2pi YW4gYXMgYW55LiBTbyBoZXJlIHdlIGdvLiA8YnIgLz5taSdlIC5yb2Jpbi4gPGJyIC8+SS1hbS1u YW1lZCBSb2JpbiA8YnIgLz5JJ20gUm9iaW4gPGJyIC8+bWknZSBpcyByZWxhdGVkIHRvIG1pLCB3 aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBh cG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICcn bWUgaGVoJycuIDxiciAvPlRoaXMgZ3V5IFJvYmluIGlzIGx1Y2t5IGJlY2F1c2UgaGlzIG5hbWUg Z29lcyBkaXJlY3RseSBpbnRvIExvamJhbiB3aXRob3V0IGFueSBjaGFuZ2VzLiBIb3dldmVyLCB0 aGVyZSBhcmUgc29tZSBydWxlcyBmb3IgTG9qYmFuIG5hbWVzIHdoaWNoIG1lYW4gdGhhdCBzb21l IG5hbWVzIGhhdmUgdG8gYmUgJ0xvamJhbmlzZWQnLiBUaGlzIG1heSBzb3VuZCBzdHJhbmdlYWZ0 ZXIgYWxsLCBhIG5hbWUgaXMgYSBuYW1lYnV0IGluIGZhY3QgYWxsIGxhbmd1YWdlcyBkbyB0aGlz IHRvIHNvbWUgZXh0ZW50LiBGb3IgZXhhbXBsZSwgRW5nbGlzaCBzcGVha2VycyB0ZW5kIHRvIHBy b25vdW5jZSAnJ0pvc2UnJyBzb21ldGhpbmcgbGlrZSAnJ0hvemF5JycsIGFuZCAnJ01hcmdhcmV0 JycgaW4gQ2hpbmVzZSBpcyAnJ01hZ2VsaXRhJycuIFNvbWUgc291bmRzIGp1c3QgZG9uJ3QgZXhp c3QgaW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyBp cyByZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQgb25seSBjb250YWlucyBMb2piYW4gc291bmRz LCBhbmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5LiA8YnIgLz5fX05vdGU6IF9fVGhlIGNhdGNo IGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBG b3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2Fu IGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAnJ1JvYmluJycgaXMg cmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgLnJvYmluLjsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJz aW9uIGlzIGNsb3NlciB0byByYWJ5bi4gb3IgcmFiLG4uLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5k IEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ug c2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWlu IG9mIHNhbHQuIDxiciAvPkxldCdzIHRha2UgdGhlIEVuZ2xpc2ggbmFtZSAnJ1N1c2FuJycuIFRo ZSB0d28gJydzJycncyBhcmUgcHJvbm91bmNlZCBkaWZmZXJlbnRseXRoZSBzZWNvbmQgb25lIGlz IGFjdHVhbGx5IGEgJyd6JydhbmQgdGhlICcnYScnIGlzIG5vdCByZWFsbHkgYW4gJydhJycgc291 bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBtZW50aW9uZWQuIFNvICcnU3VzYW4nJyBjb21l cyBvdXQgaW4gTG9qYmFuIGFzIC5zdXp5bi4uIDxiciAvPllvdSBtYXkgaGF2ZSBub3RpY2VkIHR3 byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhpcyBpcyBuZWNlc3NhcnkgYmVj YXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtub3cgd2hlcmUgdGhlIHBy ZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4uIEZvciBleGFtcGxlOiAK KyBXYXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFu Z3VhZ2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSBNZSBUYXJ6YW4sIHdoaWNo IGlzIGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBTbyBo ZXJlIHdlIGdvLjxiciAvPm1pJ2UgLnJvYmluLjxiciAvPkktYW0tbmFtZWQgUm9iaW48YnIgLz5J J20gUm9iaW48YnIgLz5taSdlIGlzIHJlbGF0ZWQgdG8gbWksIHdoaWNoIGlzICdJJywgJ21lJyBh bmQgc28gb24uIEl0J3MgYSBnb29kIGV4YW1wbGUgb2YgdGhlIGFwb3N0cm9waGUgc2VwYXJhdGlu ZyB0d28gdm93ZWxzLCBhbmQgc291bmRzIGEgYml0IGxpa2UgJydtZSBoZWgnJy48YnIgLz5UaGlz IGd1eSBSb2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBM b2piYW4gd2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMg Zm9yIExvamJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdM b2piYW5pc2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5nZWFmdGVyIGFsbCwgYSBuYW1lIGlzIGEg bmFtZWJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9y IGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgJydKb3NlJycgc29t ZXRoaW5nIGxpa2UgJydIb3pheScnLCBhbmQgJydNYXJnYXJldCcnIGluIENoaW5lc2UgaXMgJydN YWdlbGl0YScnLiBTb21lIHNvdW5kcyBqdXN0IGRvbid0IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2Vz LCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBz byB0aGF0IGl0IG9ubHkgY29udGFpbnMgTG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEg TG9qYmFuIHdheS48YnIgLz5fX05vdGU6IF9fVGhlIGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lv biBvZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1 bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4g VGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAnJ1JvYmluJycgaXMgcmVhc29uYWJseSBhcHByb3hpbWF0 ZWQgYnkgLnJvYmluLjsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byByYWJ5 bi4gb3IgcmFiLG4uLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlzIGFs c28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ugc2hvdWxkIHRha2UgdGhlIHRyYW5z bGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWluIG9mIHNhbHQuPGJyIC8+TGV0J3Mg dGFrZSB0aGUgRW5nbGlzaCBuYW1lICcnU3VzYW4nJy4gVGhlIHR3byAnJ3MnJydzIGFyZSBwcm9u b3VuY2VkIGRpZmZlcmVudGx5dGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAnJ3onJ2FuZCB0 aGUgJydhJycgaXMgbm90IHJlYWxseSBhbiAnJ2EnJyBzb3VuZCwgaXQncyB0aGUgJ3NjaHdhJyB3 ZSBqdXN0IG1lbnRpb25lZC4gU28gJydTdXNhbicnIGNvbWVzIG91dCBpbiBMb2piYW4gYXMgLnN1 enluLi48YnIgLz5Zb3UgbWF5IGhhdmUgbm90aWNlZCB0d28gZXh0cmEgZnVsbCBzdG9wcyAocGVy aW9kcykgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaWYgeW91IGRpZG4ndCBwYXVz ZSwgeW91IG1pZ2h0IG5vdCBrbm93IHdoZXJlIHRoZSBwcmV2aW91cyB3b3JkIGVuZGVkIGFuZCB0 aGUgbmV4dCB3b3JkIGJlZ2FuLiBGb3IgZXhhbXBsZToKCi0gWW91IHNob3VsZCBhbHNvIHB1dCBh IGZ1bGwgc3RvcCBpbiBiZXR3ZWVuIGEgcGVyc29uJ3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRo b3VnaCBpdCdzIG5vdCBjb21wdWxzb3J5KSwgc28gJydKaW0gSm9uZXMnJyBiZWNvbWVzIGRqaW0u ZGpvbnouLiA8YnIgLz5BbiBpbXBvcnRhbnQgcnVsZSBmb3IgTG9qYmFuaXNpbmcgbmFtZXMgaXMg dGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWVuZSAoTG9qYmFuIG5hbWUpIG11c3QgYmUgYSBj b25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHByZXZlbnQgY29uZnVzaW9uIGFzIHRvIHdoZXJl IGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQgaXMgbm90IGEgbmFtZSAoYWxsIG90aGVyIExv amJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkgdXNlICcncycnIGZvciB0aGlz OyBzbyBpbiBMb2piYW4sICcnTWFyeScnIGJlY29tZXMgLm1lcmlzLiAsICcnSm9lJycgYmVjb21l cyAuZGpvcy4gYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0byBsZWF2ZSBvdXQgdGhlIGxh c3Qgdm93ZWwsIHNvICcnTWFyeScnIHdvdWxkIGJlY29tZSAubWVyLiBvciAubWVpci4uIAorIFlv dSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBhIHBlcnNvbidzIGZpcnN0 IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29yeSksIHNvICcnSmltIEpv bmVzJycgYmVjb21lcyBkamltLmRqb256Li48YnIgLz5BbiBpbXBvcnRhbnQgcnVsZSBmb3IgTG9q YmFuaXNpbmcgbmFtZXMgaXMgdGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWVuZSAoTG9qYmFu IG5hbWUpIG11c3QgYmUgYSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHByZXZlbnQgY29u ZnVzaW9uIGFzIHRvIHdoZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQgaXMgbm90IGEg bmFtZSAoYWxsIG90aGVyIExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkg dXNlICcncycnIGZvciB0aGlzOyBzbyBpbiBMb2piYW4sICcnTWFyeScnIGJlY29tZXMgLm1lcmlz LiAsICcnSm9lJycgYmVjb21lcyAuZGpvcy4gYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0 byBsZWF2ZSBvdXQgdGhlIGxhc3Qgdm93ZWwsIHNvICcnTWFyeScnIHdvdWxkIGJlY29tZSAubWVy LiBvciAubWVpci4uCgotIFRoZSBmaW5hbCBwb2ludCBpcyBzdHJlc3MuIEFzIHdlJ3ZlIHNlZW4s IExvamJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBh bmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJz LiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZyZW5jaCBuYW1lcyAnJ1JvYmVydCcn IGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAucm9i eXQuIGluIFVLIEVuZ2xpc2gsIG9yIC5yYWIscnQuIGluIHNvbWUgQW1lcmljYW4gZGlhbGVjdHMs IGJ1dCB0aGUgRnJlbmNoIGlzIC5yb0JFUi4gLiA8YnIgLz5UbyBnaXZlIGFuIGlkZWEgb2YgaG93 IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4g dGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uIAorIFRoZSBmaW5hbCBwb2ludCBpcyBz dHJlc3MuIEFzIHdlJ3ZlIHNlZW4sIExvamJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBl bnVsdGltYXRlIHN5bGxhYmxlLCBhbmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3 ZSB1c2UgY2FwaXRhbCBsZXR0ZXJzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZy ZW5jaCBuYW1lcyAnJ1JvYmVydCcnIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhl IEVuZ2xpc2ggbmFtZSBpcyAucm9ieXQuIGluIFVLIEVuZ2xpc2gsIG9yIC5yYWIscnQuIGluIHNv bWUgQW1lcmljYW4gZGlhbGVjdHMsIGJ1dCB0aGUgRnJlbmNoIGlzIC5yb0JFUi4gLjxiciAvPlRv IGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJlIHNvbWUgbmFtZXMg b2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGluIExvamJhbi4KCi0g fHxfX0VuZ2xpc2hfXyA8YnIgLz5NYXJnYXJldCBUaGF0Y2hlciB8Lm1hZ3J5dC50YXRjeXMuIChu byAnJ3RoJycgaW4gTG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRoZSB3b3JsZCBj YW4ndCBzYXkgaXQhKSAKKyB8fF9fRW5nbGlzaF9fPGJyIC8+TWFyZ2FyZXQgVGhhdGNoZXIgfC5t YWdyeXQudGF0Y3lzLiAobm8gJyd0aCcnIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFy b3VuZCB0aGUgd29ybGQgY2FuJ3Qgc2F5IGl0ISkKTWljayBKYWdnZXIgfC5taWsuZGphZ3lzLiB8 fAoKLSB8fF9fRnJlbmNoX18gPGJyIC8+TmFwb2xlb24gQm9uYXBhcnRlIHwubmFwb2xlLE9OLmJv bmFQQVJULiAKKyB8fF9fRnJlbmNoX188YnIgLz5OYXBvbGVvbiBCb25hcGFydGUgfC5uYXBvbGUs T04uYm9uYVBBUlQuCkp1bGlldHRlIEJpbm9jaGUgfC5qdUxJRVQuYmluT0MuIHx8CgotIHx8X19D aGluZXNlX18gPGJyIC8+TGFvemkgfC5sYXVkei4gCisgfHxfX0NoaW5lc2VfXzxiciAvPkxhb3pp IHwubGF1ZHouCk1hbyBaZWRvbmcgfC5tYXVkenlEWU4uIChGaW5hbCAnJ25nJycgaXMgaW4gTG9q YmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKLSB8fF9fVHVya2lzaF9fIDxi ciAvPk11c3RhZmEgS2VtYWwgfC5NVVN0YWZhcy5rZU1BTC4gCisgfHxfX1R1cmtpc2hfXzxiciAv Pk11c3RhZmEgS2VtYWwgfC5NVVN0YWZhcy5rZU1BTC4KRXJraW4gS29yYXkgfC5lcmtpbi5rb3Jh aXMuIHx8CgotIHx8X19HZXJtYW5fXyA8YnIgLz5GcmllZHJpY2ggTmlldHpzY2hlIHwuZnJpZHJp eC5uaXRjeXMuIAorIHx8X19HZXJtYW5fXzxiciAvPkZyaWVkcmljaCBOaWV0enNjaGUgfC5mcmlk cml4Lm5pdGN5cy4KQ2xhcmEgU2NodW1hbm4gfC5rbGFyYXMuY3VtYW4uIHx8CgotIHx8X19TcGFu aXNoX18gPGJyIC8+SXNhYmVsIEFsbGVuZGUgfC5pemFCRUwuYWllbmRlcy4gCisgfHxfX1NwYW5p c2hfXzxiciAvPklzYWJlbCBBbGxlbmRlIHwuaXphQkVMLmFpZW5kZXMuCkNoZSBHdWV2YXJhIHwu dGNlZ2V2YXJhcy4gfHwKISEhRXhlcmNpc2UgMgotIFdoZXJlIGFyZSB0aGVzZSBwbGFjZXM/IDxi ciAvPiMubnUsSU9SSy4gPGJyIC8+Iy5yb21hcy4gPGJyIC8+Iy54YXZhbmFzLiA8YnIgLz4jLmth cmRpZi4gPGJyIC8+Iy5iZWlkamluLiA8YnIgLz4jLkFOa2FyYXMuIDxiciAvPiMuQUxiZWtlcmtp cy4gPGJyIC8+Iy52YW5rdXZlci4gPGJyIC8+Iy5rZWlwdGF1bi4gPGJyIC8+Iy50YWliZWlzLiA8 YnIgLz4jLmJvbi4gPGJyIC8+Iy5kZWxpcy4gPGJyIC8+Iy5uaXMuIDxiciAvPiMuYXRpbmFzLiA8 YnIgLz4jLmxpZHouIAorIFdoZXJlIGFyZSB0aGVzZSBwbGFjZXM/PGJyIC8+Iy5udSxJT1JLLjxi ciAvPiMucm9tYXMuPGJyIC8+Iy54YXZhbmFzLjxiciAvPiMua2FyZGlmLjxiciAvPiMuYmVpZGpp bi48YnIgLz4jLkFOa2FyYXMuPGJyIC8+Iy5BTGJla2Vya2lzLjxiciAvPiMudmFua3V2ZXIuPGJy IC8+Iy5rZWlwdGF1bi48YnIgLz4jLnRhaWJlaXMuPGJyIC8+Iy5ib24uPGJyIC8+Iy5kZWxpcy48 YnIgLz4jLm5pcy48YnIgLz4jLmF0aW5hcy48YnIgLz4jLmxpZHouCiMueGVsc2lua2lzLgotIEFu c3dlcjogPHNwYW4gc3R5bGU9ImNvbG9yOiM4MDgwODA7YmFja2dyb3VuZC1jb2xvcjojODA4MDgw OyI+I05ldyBZb3JrOiBVU0EgPGJyIC8+I1JvbWU6IEl0YWx5IDxiciAvPiNIYXZhbmE6IEN1YmEg PGJyIC8+I0NhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICcnQ2FyZGlmZicnIGlzICcnQ2Fl cmR5ZGQnJywgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQu LikgPGJyIC8+I0JlaWppbmc6IENoaW5hIDxiciAvPiNBbmthcmE6IFR1cmtleSA8YnIgLz4jQWxi ZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQSA8YnIgLz4jVmFuY291dmVyOiBDYW5hZGEgPGJyIC8+ I0NhcGUgVG93bjogU291dGggQWZyaWNhIDxiciAvPiNUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBu b3QgcC4gQWx0aG91Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFz IGEgcC4uLiBCdXQgdGhpcyBpc24ndCBtZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEp IDxiciAvPiNCb25uOiBHZXJtYW55IDxiciAvPiNEZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3Ig JydEZWxoaScnIGlzICcnRGlsbCcnLCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGlsaSdp cy4uKSA8YnIgLz4jTmljZTogRnJhbmNlIDxiciAvPiNBdGhlbnM6IEdyZWVjZSAoJydBdGhpbmEn JyBpbiBHcmVlaykgPGJyIC8+I0xlZWRzOiBFbmdsYW5kIDxiciAvPiNIZWxzaW5raTogRmlubGFu ZCA8L3NwYW4+IAorIEFuc3dlcjo8YnIgLz5+fmdyYXksZ3JheTp+fjxiciAvPiN+fmdyYXksZ3Jh eTpOZXcgWW9yazogVVNBfn48YnIgLz4jfn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fjxiciAvPiN+ fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+fjxiciAvPiN+fmdyYXksZ3JheTpDYXJkaWZmOiBXYWxl cyAoVGhlIFdlbHNoIGZvciAnJ0NhcmRpZmYnJyBpcyAnJ0NhZXJkeWRkJycsIHdoaWNoIHdvdWxk IExvamJhbmlzZSB0byBzb21ldGhpbmcgbGlrZSBrYWlyZHlkLi4pfn48YnIgLz4jfn5ncmF5LGdy YXk6QmVpamluZzogQ2hpbmF+fjxiciAvPiN+fmdyYXksZ3JheTpBbmthcmE6IFR1cmtleX5+PGJy IC8+I35+Z3JheSxncmF5OkFsYmVxdWVycXVlOiBOZXcgTWV4aWNvLCBVU0F+fjxiciAvPiN+fmdy YXksZ3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+PGJyIC8+I35+Z3JheSxncmF5OkNhcGUgVG93bjog U291dGggQWZyaWNhfn48YnIgLz4jfn5ncmF5LGdyYXk6VGFpcGVpOiBUYWl3YW4gKG5vdGUgYiwg bm90IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUgYiBpbiBQaW55aW4gaXMgcHJvbm91bmNlZCBh cyBhIHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQgdG8gYmUgYSBjb3Vyc2Ugb24gTWFuZGFyaW4h KX5+PGJyIC8+I35+Z3JheSxncmF5OkJvbm46IEdlcm1hbnl+fjxiciAvPiN+fmdyYXksZ3JheTpE ZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3IgJydEZWxoaScnIGlzICcnRGlsbCcnLCB3aGljaCB3 b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGlsaSdpcy4uKX5+PGJyIC8+I35+Z3JheSxncmF5Ok5pY2U6 IEZyYW5jZX5+PGJyIC8+I35+Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgnJ0F0aGluYScnIGlu IEdyZWVrKX5+PGJyIC8+I35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn48YnIgLz4jfn5ncmF5 LGdyYXk6SGVsc2lua2k6IEZpbmxhbmR+fgohISFFeGVyY2lzZSAzCi0gTG9qYmFuaXNlIHRoZSBm b2xsb3dpbmcgbmFtZXMgPGJyIC8+I0pvaG4gPGJyIC8+I01lbGlzc2EgPGJyIC8+I0FtYW5kYSA8 YnIgLz4jTWF0dGhldyA8YnIgLz4jTWljaGFlbCA8YnIgLz4jRGF2aWQgQm93aWUgPGJyIC8+I0ph bmUgQXVzdGVuIDxiciAvPiNXaWxsaWFtIFNoYWtlc3BlYXJlIDxiciAvPiNTaWdvdXJuZXkgV2Vh dmVyIDxiciAvPiNSaWNoYXJkIE5peG9uIDxiciAvPiNJc3RhbmJ1bCA8YnIgLz4jTWFkcmlkIDxi ciAvPiNUb2t5byA8YnIgLz4jU2FuIFNhbHZhZG9yIDxiciAvPkFuc3dlcjogPHNwYW4gc3R5bGU9 ImNvbG9yOiM4MDgwODA7YmFja2dyb3VuZC1jb2xvcjojODA4MDgwOyI+VGhlcmUgYXJlIHVzdWFs bHkgYWx0ZXJuYXRpdmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxl IHByb25vdW5jZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFj dCBzb3VuZCBkb2Vzbid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJl dHdlZW4gdHdvIExvamJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFz IGV2ZXJ5b25lIGtub3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC4gPGJyIC8+ Iy5kam9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKSA8YnIgLz4jLm1lbGlzeXMuIDxi ciAvPiMuYW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcgb24geW91ciBhY2NlbnQsIHRoZSBmaW5h bCB5IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBiZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1h eSBiZSBlLikgPGJyIC8+Iy5tYXRpdXMuIDxiciAvPiMubWFpa3lsLiBvciAubWFpayxsLiAsIGRl cGVuZGluZyBvbiBob3cgeW91IHNheSBpdC4gPGJyIC8+Iy5kZWl2eWQuYmF1LGlzLiBvciAuYm8s aXMuIChidXQgbm90IC5idSxpcy4gIHRoYXQncyB0aGUga25pZmUpIDxiciAvPiMuZGplaW4ub3N0 aW4uIDxiciAvPiMudWlsaWFtLmNla3NwaXIuIDxiciAvPiMuc2lnb3JuaXMudWl2eXIuIG9yIC5z eWdvcm5pcy51aXZ5ci4gPGJyIC8+Iy5yaXRjeXJkLm5pa3N5bi4gPGJyIC8+Iy5pc3RhbkJVTC4g d2l0aCBFbmdsaXNoIHN0cmVzcywgLklTdGFuYnVsLiB3aXRoIEFtZXJpY2FuLCAuaXN0YW5idWwu IHdpdGggVHVya2lzaC4gTG9qYmFuaXN0cyBnZW5lcmFsbHkgcHJlZmVyIHRvIGJhc2UgY21lbmUg b24gbG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUu IDxiciAvPiMubWFEUklELiA8YnIgLz4jLnRva2lvcy4gPGJyIC8+Iy5zYW4uc2FsdmFET1IuICh3 aXRoIFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+CisgTG9qYmFuaXNlIHRoZSBmb2xsb3dpbmcgbmFt ZXM8YnIgLz4jSm9objxiciAvPiNNZWxpc3NhPGJyIC8+I0FtYW5kYTxiciAvPiNNYXR0aGV3PGJy IC8+I01pY2hhZWw8YnIgLz4jRGF2aWQgQm93aWU8YnIgLz4jSmFuZSBBdXN0ZW48YnIgLz4jV2ls bGlhbSBTaGFrZXNwZWFyZTxiciAvPiNTaWdvdXJuZXkgV2VhdmVyPGJyIC8+I1JpY2hhcmQgTml4 b248YnIgLz4jSXN0YW5idWw8YnIgLz4jTWFkcmlkPGJyIC8+I1Rva3lvPGJyIC8+I1NhbiBTYWx2 YWRvcjxiciAvPkFuc3dlcjo8YnIgLz5+fmdyYXksZ3JheTpUaGVyZSBhcmUgdXN1YWxseSBhbHRl cm5hdGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9wbGUgcHJvbm91 bmNlIHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4YWN0IHNvdW5k IGRvZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0 d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcgYXMgZXZlcnlv bmUga25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0Ln5+PGJyIC8+I35+Z3Jh eSxncmF5Oi5kam9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+PGJyIC8+I35+Z3Jh eSxncmF5Oi5tZWxpc3lzLn5+PGJyIC8+I35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdhaW4sIGRl cGVuZGluZyBvbiB5b3VyIGFjY2VudCwgdGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBpbml0aWFs IGEgbWF5IGJlIHksIGFuZCB0aGUgbWlkZGxlIGEgbWF5IGJlIGUuKX5+PGJyIC8+I35+Z3JheSxn cmF5Oi5tYXRpdXMufn48YnIgLz4jfn5ncmF5LGdyYXk6Lm1haWt5bC4gb3IgLm1haWssbC4gLCBk ZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQufn48YnIgLz4jfn5ncmF5LGdyYXk6LmRlaXZ5ZC5i YXUsaXMuIG9yIC5ibyxpcy4gKGJ1dCBub3QgLmJ1LGlzLiAgdGhhdCdzIHRoZSBrbmlmZSl+fjxi ciAvPiN+fmdyYXksZ3JheTouZGplaW4ub3N0aW4ufn48YnIgLz4jfn5ncmF5LGdyYXk6LnVpbGlh bS5jZWtzcGlyLn5+PGJyIC8+I35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5Z29y bmlzLnVpdnlyLn5+PGJyIC8+I35+Z3JheSxncmF5Oi5yaXRjeXJkLm5pa3N5bi5+fjxiciAvPiN+ fmdyYXksZ3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0 aCBBbWVyaWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5 IHByZWZlciB0byBiYXNlIGNtZW5lIG9uIGxvY2FsIHByb251bmNpYXRpb24sIGJ1dCB0aGlzIGlz IG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+PGJyIC8+I35+Z3JheSxncmF5Oi5tYURSSUQufn48YnIg Lz4jfn5ncmF5LGdyYXk6LnRva2lvcy5+fjxiciAvPiN+fmdyYXksZ3JheTouc2FuLnNhbHZhRE9S LiAod2l0aCBTcGFuaXNoIHN0cmVzcykgJmx0Oy9zcGFuJmd0OyZsdDsvaHRtbCZndDt+fgohIUxv amJhbiB3b3JkcyBhcyBuYW1lcwotIEJ5IG5vdyB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gTG9qYmFu aXNlIHlvdXIgb3duIG5hbWUuIEhvd2V2ZXIsIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gdHJhbnNs YXRlIHlvdXIgbmFtZSBpbnRvIExvamJhbiAoaWYgeW91IGtub3cgd2hhdCBpdCBtZWFucywgb2Yg Y291cnNlKSBvciBhZG9wdCBhIGNvbXBsZXRlbHkgbmV3IExvamJhbiBpZGVudGl0eS4gTmF0aXZl IEFtZXJpY2FucyBnZW5lcmFsbHkgdHJhbnNsYXRlIHRoZWlyIG5hbWUgd2hlbiBzcGVha2luZyBF bmdsaXNoLCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGhhdmUgbWVhbmluZ2Z1bCBuYW1lcywgYW5kIHBh cnRseSBiZWNhdXNlIHRoZXkgZG9uJ3QgZXhwZWN0IHRoZSAnJ3dhc2ljaHUnJyB0byBiZSBhYmxl IHRvIHByb25vdW5jZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVyISA8YnIg Lz5BbGwgTG9qYmFuIHdvcmRzIChhcyBvcHBvc2VkIHRvIGNtZW5lKSBlbmQgaW4gYSB2b3dlbCwg YW5kIGFsdGhvdWdoIHlvdSAnJ2NhbicnIHVzZSB0aGVtIGFzIG5hbWVzIGFzIHRoZXkgc3RhbmQs IGl0J3MgY29tbW9uIHRvIGxlYXZlIG91dCB0aGUgZmluYWwgdm93ZWwgdG8gbWFrZSBpdCBhYnNv bHV0ZWx5IGNsZWFyIHRoYXQgdGhpcyBpcyBhIG5hbWUgYW5kIG5vdCBzb21ldGhpbmcgZWxzZSAo TG9qYmFuIGdvZXMgZm9yIG92ZXJraWxsIHdoZW4gaXQgY29tZXMgdG8gcG9zc2libGUgbWlzdW5k ZXJzdGFuZGluZykuIFNvIGlmIHlvdXIgbmFtZSBvciBuaWNrbmFtZSBpcyAnJ0NhdCcnIChMb2pi YW4gbWxhdHUpLCB5b3UgY2FuIGVpdGhlciBhZGQgcyBsaWtlIGEgbm9ybWFsIGNtZW5lIHRvIG1h a2UgLm1sYXR1cy4sIG9yIGp1c3QgY2hvcCB0aGUgZW5kIG9mZiBhbmQgY2FsbCB5b3Vyc2VsZiAu bWxhdC4gLiA8YnIgLz5IZXJlIGFyZSBhIGZldyBleGFtcGxlczogPGJyIC8+ICAgRmlzaCAgZmlu cGUgIC5maW5wLiA8YnIgLz4gICBCanJuIChTY2FuZGluYXZpYW4gPSBiZWFyKSAgY3JpYmUgIC5j cmliLiA8YnIgLz4gICBHcmVlbiAgY3Jpbm8gIC5jcmluLiA8YnIgLz4gICBNZWkgTGkgKENoaW5l c2UgPSBiZWF1dGlmdWwpICBtZWxiaSAgLm1lbGIuIDxiciAvPiAgIEF5aGFuIChUdXJraXNoID0g TW9vbiBMb3JkKSAgbHVucmEgbm9ibGkgKD0gbHVybm9ibGkpICAubHVybm9ibGlzLiAKKyBCeSBu b3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVy LCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4g KGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0 ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5z bGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhl eSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4 cGVjdCB0aGUgJyd3YXNpY2h1JycgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFr b3RhLCBDaGVyb2tlZSBvciB3aGF0ZXZlciE8YnIgLz5BbGwgTG9qYmFuIHdvcmRzIChhcyBvcHBv c2VkIHRvIGNtZW5lKSBlbmQgaW4gYSB2b3dlbCwgYW5kIGFsdGhvdWdoIHlvdSAnJ2NhbicnIHVz ZSB0aGVtIGFzIG5hbWVzIGFzIHRoZXkgc3RhbmQsIGl0J3MgY29tbW9uIHRvIGxlYXZlIG91dCB0 aGUgZmluYWwgdm93ZWwgdG8gbWFrZSBpdCBhYnNvbHV0ZWx5IGNsZWFyIHRoYXQgdGhpcyBpcyBh IG5hbWUgYW5kIG5vdCBzb21ldGhpbmcgZWxzZSAoTG9qYmFuIGdvZXMgZm9yIG92ZXJraWxsIHdo ZW4gaXQgY29tZXMgdG8gcG9zc2libGUgbWlzdW5kZXJzdGFuZGluZykuIFNvIGlmIHlvdXIgbmFt ZSBvciBuaWNrbmFtZSBpcyAnJ0NhdCcnIChMb2piYW4gbWxhdHUpLCB5b3UgY2FuIGVpdGhlciBh ZGQgcyBsaWtlIGEgbm9ybWFsIGNtZW5lIHRvIG1ha2UgLm1sYXR1cy4sIG9yIGp1c3QgY2hvcCB0 aGUgZW5kIG9mZiBhbmQgY2FsbCB5b3Vyc2VsZiAubWxhdC4gLjxiciAvPkhlcmUgYXJlIGEgZmV3 IGV4YW1wbGVzOjxiciAvPiAgIEZpc2ggIGZpbnBlICAuZmlucC48YnIgLz4gICBCanJuIChTY2Fu ZGluYXZpYW4gPSBiZWFyKSAgY3JpYmUgIC5jcmliLjxiciAvPiAgIEdyZWVuICBjcmlubyAgLmNy aW4uPGJyIC8+ICAgTWVpIExpIChDaGluZXNlID0gYmVhdXRpZnVsKSAgbWVsYmkgIC5tZWxiLjxi ciAvPiAgIEF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSAgbHVucmEgbm9ibGkgKD0gbHVybm9i bGkpICAubHVybm9ibGlzLgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxv dy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKCiFQcmVmYWNlLiBTb3VuZHMKClRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyB3 aGVuIHlvdSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMgdG8gYmVjb21lIGZhbWlsaWFyIHdp dGggdGhlIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0aGV5IGFyZSB3cml0dGVuLCBh bmQgdGhlIHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5hdGVseSwgTG9qYmFuIHNvdW5kcyAo X19waG9uZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZC4KCiEhVm93ZWxzCgpUaGVy ZSBhcmUgc2l4IHZvd2VscyBpbiBMb2piYW4uCgoKCnx8YSB8YXMgaW4gJydmX19hX190aGVyJycg KG5vdCBhcyBpbiAnJ2hfX2FfX3QnJykKCmUgfGFzIGluICcnZ19fZV9fdCcnCgppIHxhcyBpbiAn J21hY2hfX2lfX25lJycgb3IgKEl0YWxpYW4pICcndl9faV9fbm8nJyAobm90IGFzIGluICcnaF9f aV9fdCcnKQoKbyB8YXMgaW4gJydiX19vX19sZCAnJ29yICcnbV9fb19fcmUnJ+KAlG5vdCBhcyBp biAnJ3NfX28nJ19fICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3VuZC4pCgp1IHxhcyBpbiAn J2NfX29vX19sJycgKG5vdCBhcyBpbiAnJ2JfX3VfX3QnJykgfHwKClRoZXNlIGFyZSBwcmV0dHkg bXVjaCB0aGUgc2FtZSBhcyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGgg dm93ZWwsIHksIGlzIGNhbGxlZCBhIF9fc2Nod2FfXyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFu ZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0IGFuZCBsYXN0ICcnQScnJ3MgaW4gJydBbWVy aWNhJycgKHRoYXQncyBFbmdsaXNoICcnQW1lcmljYScnLCBub3QgU3BhbmlzaC4pIEl0J3MgdGhl IHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBsZXRlbHkgcmVsYXhl ZC4KClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5jZWQgYXMgb25lIHNvdW5kIChfX2Rp cGh0aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CgoKCnx8YWkgfGFzIGluICcnaF9faWdoJydf XwoKYXUgfGFzIGluICcnaF9fb3cnJ19fCgplaSB8YXMgaW4gJydoX19leScnX18KCm9pIHxhcyBp biAnJ2JfX295JydfXwoKaWEgfGxpa2UgR2VybWFuICcnX19KYScnX18KCmllIHxsaWtlICcnX195 ZWFoJydfXwoKaXUgfGxpa2UgJydfX3lvdScnX18KCnVhIHxhcyBpbiAnJ19fd2FhaCEnJ19fLCBv ciBGcmVuY2ggJydxX191b2knJ19fCgp1ZSB8YXMgaW4gJydxX191ZV9fc3Rpb24nJwoKdW8gfGFz IGluICcncV9fdW9fX3RlJycKCnVpIHxsaWtlICcnX193ZScnX18sIG9yIEZyZW5jaCAnJ19fb3Vp JydfXyB8fAoKRG91YmxlIHZvd2VscyBhcmUgcmFyZS4gVGhlIG9ubHkgZXhhbXBsZXMgYXJlIGlp LCB3aGljaCBpcyBwcm9ub3VuY2VkIGxpa2UgRW5nbGlzaCAnJ3llJycgKGFzIGluIOKAnE9oIGNv bWUgYWxsIHllIGZhaXRoZnVs4oCdKSBvciBDaGluZXNlICcneWknJywgYW5kIHV1LCBwcm9ub3Vu Y2VkIGxpa2UgJyd3b28nJy4KCiEhQ29uc29uYW50cwoKTW9zdCBMb2piYW4gY29uc29uYW50cyBh cmUgdGhlIHNhbWUgYXMgRW5nbGlzaCwgYnV0IHRoZXJlIGFyZSBzb21lIGV4Y2VwdGlvbnM6CgoK Cnx8ZyB8YWx3YXlzICcnZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAnJ2cnJyBhcyBpbiAn J19fZ19fZW0nJwoKYyB8JydzaCcnLCBhcyBpbiAnJ19fc2hfX2lwJycKCmogfGFzIGluICcnbWVh X19zX191cmUnJyBvciBGcmVuY2ggJydib25fX2pfX291cicnCgp4IHxhcyBpbiBHZXJtYW4gJydC YV9fY2gnJ19fLCBTcGFuaXNoICcnX19KX19vc2UnJyBvciBBcmFiaWMgJydfX0toX19hbGVkJycg fHwKClRoZSBFbmdsaXNoIHNvdW5kcyAnJ2NoJycgYW5kICcnaicnIGFyZSB3cml0dGVuIGFzIHRj IGFuZCBkai4KCkxvamJhbiBkb2Vzbid0IHVzZSB0aGUgbGV0dGVycyAnJ0gnJywgJydRJycgb3Ig JydXJycuCgohIVNwZWNpYWwgQ2hhcmFjdGVycwoKTG9qYmFuIGRvZXMgbm90IHJlcXVpcmUgYW55 IHB1bmN0dWF0aW9uLCBidXQgc29tZSBzcGVjaWFsIGNoYXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQg aW4gcHVuY3R1YXRpb24gaW4gb3RoZXIgbGFuZ3VhZ2VzKSBhZmZlY3QgdGhlIHdheSBMb2piYW4g aXMgcHJvbm91bmNlZC4KClRoZSBvbmx5IG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIHdoaWNoIGlz IG9ibGlnYXRvcnkgaW4gTG9qYmFuIGlzIHRoZSBhcG9zdHJvcGhlOyBpbiBmYWN0IHRoZSBhcG9z dHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBvZiBMb2piYW4uIEFuIGFwb3N0 cm9waGUgc2VwYXJhdGVzIHR3byB2b3dlbHMsIHByZXZlbnRpbmcgdGhlbSBmcm9tIGJlaW5nIHBy b25vdW5jZWQgdG9nZXRoZXIgKGFzIGEgX19kaXBodGhvbmdfXyk7IGl0IGlzIGl0c2VsZiBwcm9u b3VuY2VkIGxpa2UgYW4gJydoJycuIEZvciBleGFtcGxlLCB1aSBpcyBub3JtYWxseSBwcm9ub3Vu Y2VkICcnd2UnJywgYnV0IHUnaSBpcyAnJ29vaGVlJycuCgpBIGZ1bGwgc3RvcCAocGVyaW9kKSBp cyBhIHNob3J0IHBhdXNlIHRvIHN0b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2ggb3RoZXIuIFRo ZSBydWxlcyBvZiBMb2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRvIHJ1biBpbnRv IGFub3RoZXIgd2hlbiB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dlbDsgc28gYW55 IHdvcmQgc3RhcnRpbmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBhIGZ1bGwgc3Rv cCBwbGFjZWQgaW4gZnJvbnQgb2YgaXQuCgpDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBidXQg Y2FuIGJlIHVzZWQgdG8gc3RvcCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4geW91 IGRvbid0IHdhbnQgdG8gdXNlIGFuIGFwb3N0cm9waGUgKHdoaWNoIHdvdWxkIHB1dCBhICcnaCcn IGJldHdlZW4gdGhlbSkuIE5vIExvamJhbiB3b3JkcyBoYXZlIGNvbW1hcywgYnV0IHRoZXkncmUg c29tZXRpbWVzIHVzZWQgaW4gd3JpdGluZyBub24tTG9qYmFuIG5hbWVzLCBmb3IgZXhhbXBsZSBw aSxFUi4gKCcnUGllcnJlJycpLCBhcyBvcHBvc2VkIHRvIHBpZXIuICgnJ1AteWVycicnKSwgcGku RVIuICgnJ1BlZTsgRWhyJycpLCBvciBwaSdFUi4gKCcnUGloZXJyJycpLgoKQ2FwaXRhbCBsZXR0 ZXJzIGFyZSBub3Qgbm9ybWFsbHkgdXNlZCBpbiBMb2piYW4uIFdlIHVzZSB0aGVtIGluIG5vbi1M b2piYW4gd29yZHMgKGxpa2UgJydQaWVycmUnJykgd2hlbiB0aGUgc3RyZXNzIG9mIGEgd29yZCBp cyBkaWZmZXJlbnQgZnJvbSB0aGUgTG9qYmFuIG5vcm0uIFRoZSBub3JtIGlzIHRvIHB1dCB0aGUg c3RyZXNzIG9uIHRoZSBsYXN0LWJ1dC1vbmUgc3lsbGFibGU7IHNvLCBmb3IgZXhhbXBsZSwga3Vy bWlrY2UgJ251cnNlJyBpcyBrdXJfX01JS19fY2UsIG5vdCBfX0tVUl9fbWlrY2UuIFRoZSBuYW1l ICcnSnVsaWV0dGUnJyB3b3VsZCBiZSB3cml0dGVuIERKVWxpLGV0LiBpZiBwcm9ub3VuY2VkIGlu IGFuIEVuZ2xpc2ggd2F5LCBidXQganVMSUVULiBpZiBwcm9ub3VuY2VkIGFzIGluIEZyZW5jaC4K CiEhQWxwaGFiZXQKCkluIG1vc3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBo YWJldCBvZiB0aGUgbGFuZ3VhZ2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0ZXJzIChs ZXJmdSkgdHVybiBvdXQgdG8gYmUgZXZlbiBtb3JlIGltcG9ydGFudCB0aGFuIHVzdWFsIGluIExv amJhbiwgc28gd2UgbWlnaHQgYXMgd2VsbCBnbyB0aHJvdWdoIHRoZWlyIG5hbWVzIHF1aWNrbHku CgpDb25zb25hbnRzIGFyZSBzdHJhaWdodGZvcndhcmQ6IHRoZSBuYW1lIG9mIGEgY29uc29uYW50 IGxldHRlciBpcyB0aGF0IGxldHRlciwgcGx1cyB5LiBTbyB0aGUgY29uc29uYW50IGxldHRlcnMg b2YgTG9qYmFuLCAnJ2IsIGMsIGQsIGYsIGcgLi4uJycsIGFyZSBjYWxsZWQgYnkuLCBjeS4sIGR5 LiwgZnkuLCBneS4uLi4gaW4gTG9qYmFuICh1c2luZyB0aGUgZnVsbCBzdG9wIGFzIHdlJ3ZlIGp1 c3QgZGVzY3JpYmVkLikKClZvd2VscyAnJ3dvdWxkJycgYmUgY2FsbGVkIC5heSwgLmV5LCAuaXks IGJ1dCB0aGF0IHdvdWxkIGJlIHJhdGhlciBkaWZmaWN1bHQgdG8gcHJvbm91bmNlLiBJbnN0ZWFk LCB0aGV5IGFyZSBoYW5kbGVkIGJ5IGZvbGxvd2luZyB0aGUgdm93ZWwgc291bmQgd2l0aCB0aGUg d29yZCBidSwgd2hpY2ggYmFzaWNhbGx5IG1lYW5zICdsZXR0ZXInLiBTbyB0aGUgdm93ZWxzIG9m IExvamJhbiBhcmU6IC5hYnUsIC5lYnUsIC5pYnUsIC5vYnUsIC51YnUsIHlidS4KClRoZSBhcG9z dHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBj YWxsZWQgLnkneS4uIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291Z2g7IHRv IG90aGVyLCBsaWtlICcndWgtaHVoJycgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVyIHRoYW4g J05vJy4pCgpMb2piYW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBsZXR0ZXJzIHlvdSBj YW4gdGhpbmsgb2Y7IHNlZSAnJ1RoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UnJywgQ2hhcHRl ciAxNyBmb3IgZGV0YWlscy4gSWYgeW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwgb3V0IHlvdXIg bmFtZSBpbiBMb2piYW4gYW5kIGhhdmUgYW4gJydIJycsICcnUScnLCBvciAnJ1cnJyB0byBkZWFs IHdpdGgsIHlvdSBjYW4gdXNlIC55J3kuYnUsIGt5LmJ1IGFuZCB2eS5idS4gU28gJydTY2h3YXJ6 ZW5lZ2dlcicnIGlzIHNwZWx0IGluIExvamJhbiBhczoKCnN5LiBjeS4gLnkneWJ1IHZ5YnUuIC5h YnUgcnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4KCkFuZCBzcGVsbGluZyAn J3RoYXQnJyBpcyBhIHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5hdG9yIGV2 ZXIgZGlkIQoKX19FeGVyY2lzZSAxX18KClNwZWxsIHlvdXIgbmFtZSBpbiBMb2piYW4gKG9yIGF0 IGxlYXN0IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNlIHRoZSB0d2VudHktc2l4 IGxldHRlcnMgb2YgRW5nbGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0aGUgYXBvc3Ryb3BoZS4p CgohISAnQ29ycmVjdCcgcHJvbnVuY2lhdGlvbgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBw cmVjaXNlIGFib3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBh cmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZv ciBhbm90aGVyLiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9u dW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKA lHRoZSBnZW5lcmFsIHByaW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMg aXQgZG9lc24ndCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBs ZSwgTG9qYmFuIHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlzaCwg U2NvdHRpc2ggb3IgRnJlbmNoLgoKVHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91Z2gs IGFyZSBwcm9ub3VuY2luZyBMb2piYW4gaSBhbmQgdSBsaWtlIFN0YW5kYXJkIEJyaXRpc2ggRW5n bGlzaCAnJ2hpdCcnIGFuZCAnJ2J1dCcnIChOb3J0aGVybiBFbmdsaXNoICcnYnV0JycgaXMgZmlu ZSEpLiBUaGlzIGlzIGJlY2F1c2Ugbm9uLUxvamJhbiB2b3dlbHMsIHBhcnRpY3VsYXJseSB0aGVz ZSB0d28sIGFyZSB1c2VkIHRvIHNlcGFyYXRlIGNvbnNvbmFudHMgYnkgcGVvcGxlIHdobyBmaW5k IHRoZW0gaGFyZCB0byBzYXkuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyBzcGl0 dGluZyBvdXQgdGhlIHpkIGluIHpkYW5pIChob3VzZSksIHlvdSBjYW4gc2F5IHrJqmRhbmnigJR3 aGVyZSB0aGUgJyfJqicnIGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgJydpJycgaGFzIHRv IGJlIGxvbmcuCgohIUxvamJhbiBOYW1lcyAoY21lbmUpCgpXYXRjaCBhbnkgZmlsbSB3aGVyZSBw ZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkgc3RhcnQgb2ZmIHNh eWluZyB0aGluZ3MgbGlrZSDigJxNZSBUYXJ6YW4s4oCdIHdoaWNoIGlzIGFzIGdvb2QgYSBwbGFj ZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBTbyBoZXJlIHdlIGdvLgoKbWknZSAu cm9iaW4uCgpJLWFtLW5hbWVkIFJvYmluCgpJJ20gUm9iaW4KCm1pJ2UgaXMgcmVsYXRlZCB0byBt aSwgd2hpY2ggaXMgJ0knLCAnbWUnIGFuZCBzbyBvbi4gSXQncyBhIGdvb2QgZXhhbXBsZSBvZiB0 aGUgYXBvc3Ryb3BoZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMsIGFuZCBzb3VuZHMgYSBiaXQgbGlr ZSAnJ21lIGhlaCcnLgoKVGhpcyBndXkgUm9iaW4gaXMgbHVja3kgYmVjYXVzZSBoaXMgbmFtZSBn b2VzIGRpcmVjdGx5IGludG8gTG9qYmFuIHdpdGhvdXQgYW55IGNoYW5nZXMuIEhvd2V2ZXIsIHRo ZXJlIGFyZSBzb21lIHJ1bGVzIGZvciBMb2piYW4gbmFtZXMgd2hpY2ggbWVhbiB0aGF0IHNvbWUg bmFtZXMgaGF2ZSB0byBiZSAnTG9qYmFuaXNlZCcuIFRoaXMgbWF5IHNvdW5kIHN0cmFuZ2XigJRh ZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5hbWXigJRidXQgaW4gZmFjdCBhbGwgbGFuZ3VhZ2VzIGRv IHRoaXMgdG8gc29tZSBleHRlbnQuIEZvciBleGFtcGxlLCBFbmdsaXNoIHNwZWFrZXJzIHRlbmQg dG8gcHJvbm91bmNlICcnSm9zZScnIHNvbWV0aGluZyBsaWtlICcnSG96YXknJywgYW5kICcnTWFy Z2FyZXQnJyBpbiBDaGluZXNlIGlzICcnTWFnZWxpdGEnJy4gU29tZSBzb3VuZHMganVzdCBkb24n dCBleGlzdCBpbiBzb21lIGxhbmd1YWdlcywgc28gdGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRv IGRvIGlzIHJld3JpdGUgdGhlIG5hbWUgc28gdGhhdCBpdCBvbmx5IGNvbnRhaW5zIExvamJhbiBz b3VuZHMsIGFuZCBpcyBzcGVsdCBpbiBhIExvamJhbiB3YXkuCgpfX05vdGU6IF9fVGhlIGNhdGNo IGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBG b3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2Fu IGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAnJ1JvYmluJycgaXMg cmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgLnJvYmluLjsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJz aW9uIGlzIGNsb3NlciB0byByYWJ5bi4gb3IgcmFiLG4uLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5k IEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ug c2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWlu IG9mIHNhbHQuCgpMZXQncyB0YWtlIHRoZSBFbmdsaXNoIG5hbWUgJydTdXNhbicnLiBUaGUgdHdv ICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHnigJR0aGUgc2Vjb25kIG9uZSBpcyBh Y3R1YWxseSBhICcneicn4oCUYW5kIHRoZSAnJ2EnJyBpcyBub3QgcmVhbGx5IGFuICcnYScnIHNv dW5kLCBpdCdzIHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAnJ1N1c2FuJycgY29t ZXMgb3V0IGluIExvamJhbiBhcyAuc3V6eW4uLgoKWW91IG1heSBoYXZlIG5vdGljZWQgdHdvIGV4 dHJhIGZ1bGwgc3RvcHMgKHBlcmlvZHMpIHRoZXJlLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNl IGlmIHlvdSBkaWRuJ3QgcGF1c2UsIHlvdSBtaWdodCBub3Qga25vdyB3aGVyZSB0aGUgcHJldmlv dXMgd29yZCBlbmRlZCBhbmQgdGhlIG5leHQgd29yZCBiZWdhbi4gRm9yIGV4YW1wbGU6CgoKCllv dSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBhIHBlcnNvbidzIGZpcnN0 IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29yeSksIHNvICcnSmltIEpv bmVzJycgYmVjb21lcyBkamltLmRqb256Li4KCkFuIGltcG9ydGFudCBydWxlIGZvciBMb2piYW5p c2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBhIGNtZW5lIChMb2piYW4gbmFt ZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNp b24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1l IChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2Ug JydzJycgZm9yIHRoaXM7IHNvIGluIExvamJhbiwgJydNYXJ5JycgYmVjb21lcyAubWVyaXMuICwg JydKb2UnJyBiZWNvbWVzIC5kam9zLiBhbmQgc28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxl YXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gJydNYXJ5Jycgd291bGQgYmVjb21lIC5tZXIuIG9y IC5tZWlyLi4KCgoKVGhlIGZpbmFsIHBvaW50IGlzIHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9q YmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUgcGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBp ZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3MsIHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRo aXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQgRnJlbmNoIG5hbWVzICcnUm9iZXJ0JycgY29t ZSBvdXQgZGlmZmVyZW50bHkgaW4gTG9qYmFuOiB0aGUgRW5nbGlzaCBuYW1lIGlzIC5yb2J5dC4g aW4gVUsgRW5nbGlzaCwgb3IgLnJhYixydC4gaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0 IHRoZSBGcmVuY2ggaXMgLnJvQkVSLiAuCgpUbyBnaXZlIGFuIGlkZWEgb2YgaG93IGFsbCB0aGlz IHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4gdGhlaXIgb3du IGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCgoKCnx8X19FbmdsaXNoX18KCk1hcmdhcmV0IFRoYXRj aGVyIHwubWFncnl0LnRhdGN5cy4gKG5vICcndGgnJyBpbiBMb2piYW4gYmVjYXVzZSBtb3N0IHBl b3BsZSBhcm91bmQgdGhlIHdvcmxkIGNhbid0IHNheSBpdCEpCgpNaWNrIEphZ2dlciB8Lm1pay5k amFneXMuIHx8CgoKCnx8X19GcmVuY2hfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwubmFwb2xlLE9O LmJvbmFQQVJULgoKSnVsaWV0dGUgQmlub2NoZSB8Lmp1TElFVC5iaW5PQy4gfHwKCgoKfHxfX0No aW5lc2VfXwoKTGFvemkgfC5sYXVkei4KCk1hbyBaZWRvbmcgfC5tYXVkenlEWU4uIChGaW5hbCAn J25nJycgaXMgaW4gTG9qYmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKCgp8 fF9fVHVya2lzaF9fCgpNdXN0YWZhIEtlbWFsIHwuTVVTdGFmYXMua2VNQUwuCgpFcmtpbiBLb3Jh eSB8LmVya2luLmtvcmFpcy4gfHwKCgoKfHxfX0dlcm1hbl9fCgpGcmllZHJpY2ggTmlldHpzY2hl IHwuZnJpZHJpeC5uaXRjeXMuCgpDbGFyYSBTY2h1bWFubiB8LmtsYXJhcy5jdW1hbi4gfHwKCgoK fHxfX1NwYW5pc2hfXwoKSXNhYmVsIEFsbGVuZGUgfC5pemFCRUwuYWllbmRlcy4KCkNoZSBHdWV2 YXJhIHwudGNlZ2V2YXJhcy4gfHwKCiEhIUV4ZXJjaXNlIDIKCldoZXJlIGFyZSB0aGVzZSBwbGFj ZXM/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5rYXJkaWYuCgojLmJlaWRq aW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVyLgoKIy5rZWlwdGF1bi4K CiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxpcy4KCiMubmlzLgoKIy5hdGluYXMuCgojLmxpZHou CgojLnhlbHNpbmtpcy4KCkFuc3dlcjoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5LGdyYXk6TmV3 IFlvcms6IFVTQX5+Cgojfn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fgoKI35+Z3JheSxncmF5Okhh dmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBXZWxzaCBmb3Ig JydDYXJkaWZmJycgaXMgJydDYWVyZHlkZCcnLCB3aGljaCB3b3VsZCBMb2piYW5pc2UgdG8gc29t ZXRoaW5nIGxpa2Uga2FpcmR5ZC4uKX5+Cgojfn5ncmF5LGdyYXk6QmVpamluZzogQ2hpbmF+fgoK I35+Z3JheSxncmF5OkFua2FyYTogVHVya2V5fn4KCiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTog TmV3IE1leGljbywgVVNBfn4KCiN+fmdyYXksZ3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5n cmF5LGdyYXk6Q2FwZSBUb3duOiBTb3V0aCBBZnJpY2F+fgoKI35+Z3JheSxncmF5OlRhaXBlaTog VGFpd2FuIChub3RlIGIsIG5vdCBwLiBBbHRob3VnaCBhY3R1YWxseSwgdGhlIGIgaW4gUGlueWlu IGlzIHByb25vdW5jZWQgYXMgYSBwLi4uIEJ1dCB0aGlzIGlzbid0IG1lYW50IHRvIGJlIGEgY291 cnNlIG9uIE1hbmRhcmluISl+fgoKI35+Z3JheSxncmF5OkJvbm46IEdlcm1hbnl+fgoKI35+Z3Jh eSxncmF5OkRlbGhpOiBJbmRpYSAoVGhlIEhpbmRpIGZvciAnJ0RlbGhpJycgaXMgJydEaWxsw64n Jywgd2hpY2ggd291bGQgZ2l2ZSBkaWxpeXMuIG9yIGRpbGknaXMuLil+fgoKI35+Z3JheSxncmF5 Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdyYXk6QXRoZW5zOiBHcmVlY2UgKCcnQXRoaW5hJycg aW4gR3JlZWspfn4KCiN+fmdyYXksZ3JheTpMZWVkczogRW5nbGFuZH5+Cgojfn5ncmF5LGdyYXk6 SGVsc2lua2k6IEZpbmxhbmR+fgoKISEhRXhlcmNpc2UgMwoKTG9qYmFuaXNlIHRoZSBmb2xsb3dp bmcgbmFtZXMKCiNKb2huCgojTWVsaXNzYQoKI0FtYW5kYQoKI01hdHRoZXcKCiNNaWNoYWVsCgoj RGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoKI1dpbGxpYW0gU2hha2VzcGVhcmUKCiNTaWdvdXJu ZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoKI0lzdGFuYnVsCgojTWFkcmlkCgojVG9reW8KCiNT YW4gU2FsdmFkb3IKCkFuc3dlcjoKCn5+Z3JheSxncmF5OlRoZXJlIGFyZSB1c3VhbGx5IGFsdGVy bmF0aXZlIHNwZWxsaW5ncyBmb3IgbmFtZXMsIGVpdGhlciBiZWNhdXNlIHBlb3BsZSBwcm9ub3Vu Y2UgdGhlIG9yaWdpbmFscyBkaWZmZXJlbnRseSwgb3IgYmVjYXVzZSB0aGUgZXhhY3Qgc291bmQg ZG9lc24ndCBleGlzdCBpbiBMb2piYW4sIHNvIHlvdSBuZWVkIHRvIGNob29zZSBiZXR3ZWVuIHR3 byBMb2piYW4gbGV0dGVycy4gVGhpcyBkb2Vzbid0IG1hdHRlciwgc28gbG9uZyBhcyBldmVyeW9u ZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91J3JlIHRhbGtpbmcgYWJvdXQufn4KCiN+fmdyYXksZ3Jh eTouZGpvbi4gKG9yIC5kamFuLiB3aXRoIHNvbWUgYWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5t ZWxpc3lzLn5+Cgojfn5ncmF5LGdyYXk6LmFtYW5keXMuIChhZ2FpbiwgZGVwZW5kaW5nIG9uIHlv dXIgYWNjZW50LCB0aGUgZmluYWwgeSBtYXkgYmUgYSwgdGhlIGluaXRpYWwgYSBtYXkgYmUgeSwg YW5kIHRoZSBtaWRkbGUgYSBtYXkgYmUgZS4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgoj fn5ncmF5LGdyYXk6Lm1haWt5bC4gb3IgLm1haWssbC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBz YXkgaXQufn4KCiN+fmdyYXksZ3JheTouZGVpdnlkLmJhdSxpcy4gb3IgLmJvLGlzLiAoYnV0IG5v dCAuYnUsaXMuIOKAlCB0aGF0J3MgdGhlIGtuaWZlKX5+Cgojfn5ncmF5LGdyYXk6LmRqZWluLm9z dGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5jZWtzcGlyLn5+Cgojfn5ncmF5LGdyYXk6LnNp Z29ybmlzLnVpdnlyLiBvciAuc3lnb3JuaXMudWl2eXIufn4KCiN+fmdyYXksZ3JheToucml0Y3ly ZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3Ms IC5JU3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJh bmlzdHMgZ2VuZXJhbGx5IHByZWZlciB0byBiYXNlIGNtZW5lIG9uIGxvY2FsIHByb251bmNpYXRp b24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdyYXk6Lm1h RFJJRC5+fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2FuLnNhbHZh RE9SLiAod2l0aCBTcGFuaXNoIHN0cmVzcykgPC9zcGFuPjwvaHRtbD5+fgoKISFMb2piYW4gd29y ZHMgYXMgbmFtZXMKCkJ5IG5vdyB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gTG9qYmFuaXNlIHlvdXIg b3duIG5hbWUuIEhvd2V2ZXIsIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gdHJhbnNsYXRlIHlvdXIg bmFtZSBpbnRvIExvamJhbiAoaWYgeW91IGtub3cgd2hhdCBpdCBtZWFucywgb2YgY291cnNlKSBv ciBhZG9wdCBhIGNvbXBsZXRlbHkgbmV3IExvamJhbiBpZGVudGl0eS4gTmF0aXZlIEFtZXJpY2Fu cyBnZW5lcmFsbHkgdHJhbnNsYXRlIHRoZWlyIG5hbWUgd2hlbiBzcGVha2luZyBFbmdsaXNoLCBw YXJ0bHkgYmVjYXVzZSB0aGV5IGhhdmUgbWVhbmluZ2Z1bCBuYW1lcywgYW5kIHBhcnRseSBiZWNh dXNlIHRoZXkgZG9uJ3QgZXhwZWN0IHRoZSAnJ3dhc2ljaHUnJyB0byBiZSBhYmxlIHRvIHByb25v dW5jZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVyIQoKQWxsIExvamJhbiB3 b3JkcyAoYXMgb3Bwb3NlZCB0byBjbWVuZSkgZW5kIGluIGEgdm93ZWwsIGFuZCBhbHRob3VnaCB5 b3UgJydjYW4nJyB1c2UgdGhlbSBhcyBuYW1lcyBhcyB0aGV5IHN0YW5kLCBpdCdzIGNvbW1vbiB0 byBsZWF2ZSBvdXQgdGhlIGZpbmFsIHZvd2VsIHRvIG1ha2UgaXQgYWJzb2x1dGVseSBjbGVhciB0 aGF0IHRoaXMgaXMgYSBuYW1lIGFuZCBub3Qgc29tZXRoaW5nIGVsc2UgKExvamJhbiBnb2VzIGZv ciBvdmVya2lsbCB3aGVuIGl0IGNvbWVzIHRvIHBvc3NpYmxlIG1pc3VuZGVyc3RhbmRpbmcpLiBT byBpZiB5b3VyIG5hbWUgb3Igbmlja25hbWUgaXMgJydDYXQnJyAoTG9qYmFuIG1sYXR1KSwgeW91 IGNhbiBlaXRoZXIgYWRkIHMgbGlrZSBhIG5vcm1hbCBjbWVuZSB0byBtYWtlIC5tbGF0dXMuLCBv ciBqdXN0IGNob3AgdGhlIGVuZCBvZmYgYW5kIGNhbGwgeW91cnNlbGYgLm1sYXQuIC4KCkhlcmUg YXJlIGEgZmV3IGV4YW1wbGVzOgoK4oCiICAgRmlzaCDigJMgZmlucGUg4oCTIC5maW5wLgoK4oCi ICAgQmrDtnJuIChTY2FuZGluYXZpYW4gPSBiZWFyKSDigJMgY3JpYmUg4oCTIC5jcmliLgoK4oCi ICAgR3JlZW4g4oCTIGNyaW5vIOKAkyAuY3Jpbi4KCuKAoiAgIE1laSBMaSAoQ2hpbmVzZSA9IGJl YXV0aWZ1bCkg4oCTIG1lbGJpIOKAkyAubWVsYi4KCuKAoiAgIEF5aGFuIChUdXJraXNoID0gTW9v biBMb3JkKSDigJMgbHVucmEgbm9ibGkgKD0gbHVybm9ibGkpIOKAkyAubHVybm9ibGlzLgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2Vz IG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5v cmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=