Received: from localhost ([::1]:45221 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UXyxP-0007Pa-3h; Thu, 02 May 2013 12:14:19 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:58772 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UXyxD-0007PS-3R for wikichanges@lojban.org; Thu, 02 May 2013 12:14:16 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Thu, 2 May 2013 12:14:06 -0700 From: "Apache" Date: Thu, 2 May 2013 12:14:06 -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 leçons wave en français was changed by gleki at 19:14 UTC Comment: changing formatting in untranslated part of lesson 0 You can view the page by following this link: http://www.lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] 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: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_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 VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBnbGVraSBh dCAxOToxNCBVVEMKQ29tbWVudDogY2hhbmdpbmcgZm9ybWF0dGluZyBpbiB1bnRyYW5zbGF0ZWQg cGFydCBvZiBsZXNzb24gMAoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvbGUlQzMlQTdvbnMlMjB3YXZlJTIw ZW4lMjBmcmFuJUMzJUE3YWlzCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZp b3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9qYmFuLm9y Zy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9bGUlQzMlQTdvbnMlMjB3YXZlJTIwZW4l MjBmcmFuJUMzJUE3YWlzJmNvbXBhcmU9MSZvbGR2ZXI9MTAmbmV3dmVyPTExCgoKKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNo YW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhl IGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA3NS0xMjYgY2hhbmdl ZCB0byArTGluZXM6IDc1LTEyNiBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKwpMZXMgbGV0dHJlcyBjYXBpdGFsZXMgbmUgc29udCBu b3JtYWxlbWVudCBwYXMgdXRpbGlzw6llcyBlbiBsb2piYW4uIE5vdXMgbGVzIHV0aWxpc29ucyBk YW5zIGRlcyBtb3RzIG5vbiBsb2piYW4gKGNvbW1lIMKrwqBQaWVycmXCoMK7KSwgcXVhbmQgbCdh Y2NlbnQgdG9uaXF1ZSBkJ3VuIG1vdCBlc3QgZGlmZsOpcmVudCBkZSBjZWx1aSBkZSBsYSBub3Jt ZSBsb2piYW4uIExhIG5vcm1lIGNvbnNpc3RlIMOgIG1ldHRyZSB1biBhY2NlbnQgdG9uaXF1ZSBz dXIgbCdhdmFudCBkZXJuacOocmUgc3lsbGFiZS4gUGFyIGV4ZW1wbGUsICcna3VybWlrY2UnJyAo aW5maXJtacOocmUpLCBlc3QgwqvCoGt1cl9fTUlLX19jZcKgwrssIGV0IG5vbiBwYXMgwqvCoF9f S1VSX19taWtjZcKgwrsuIExlIG5vbSDCq8KgSnVsaWV0dGXCoMK7IHMnw6ljcmlyYWl0IMKrwqAn J2p1TElFVC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1lIGVuIGZyYW7Dp2FpcywgbWFpcyDCq8Kg JydESlVsaSxldC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1lIGVuIGFuZ2xhaXMuCiEhISFBbHBo YWJldAotIEluIG1vc3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBoYWJldCBv ZiB0aGUgbGFuZ3VhZ2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0ZXJzIChsZXJmdSkg dHVybiBvdXQgdG8gYmUgZXZlbiBtb3JlIGltcG9ydGFudCB0aGFuIHVzdWFsIGluIExvamJhbiwg c28gd2UgbWlnaHQgYXMgd2VsbCBnbyB0aHJvdWdoIHRoZWlyIG5hbWVzIHF1aWNrbHkuPGJyIC8+ Q29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBs ZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9m IExvamJhbiwgJydiLCBjLCBkLCBmLCBnIC4uLicnLCBhcmUgY2FsbGVkIGJ5LiwgY3kuLCBkeS4s IGZ5LiwgZ3kuLi4uIGluIExvamJhbiAodXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0 IGRlc2NyaWJlZC4pPGJyIC8+Vm93ZWxzICcnd291bGQnJyBiZSBjYWxsZWQgLmF5LCAuZXksIC5p eSwgYnV0IHRoYXQgd291bGQgYmUgcmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3Rl YWQsIHRoZXkgYXJlIGhhbmRsZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRo ZSB3b3JkIGJ1LCB3aGljaCBiYXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMg b2YgTG9qYmFuIGFyZTogLmFidSwgLmVidSwgLmlidSwgLm9idSwgLnVidSwgeWJ1LjxiciAvPlRo ZSBhcG9zdHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFu ZCBpcyBjYWxsZWQgLnkneS4uIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291 Z2g7IHRvIG90aGVyLCBsaWtlICcndWgtaHVoJycgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVy IHRoYW4gJ05vJy4pPGJyIC8+TG9qYmFuIGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRvIG1vc3QgbGV0 dGVycyB5b3UgY2FuIHRoaW5rIG9mLiBJZiB5b3UgaGF2ZSB0aGUgdXJnZSB0byBzcGVsbCBvdXQg eW91ciBuYW1lIGluIExvamJhbiBhbmQgaGF2ZSBhbiAnJ0gnJywgJydRJycsIG9yICcnVycnIHRv IGRlYWwgd2l0aCwgeW91IGNhbiB1c2UgLnkneS5idSwga3kuYnUgYW5kIHZ5LmJ1LiBTbyAnJ1Nj aHdhcnplbmVnZ2VyJycgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOjxiciAvPnN5LiBjeS4gLnkneWJ1 IHZ5YnUuIC5hYnUgcnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS48YnIgLz5B bmQgc3BlbGxpbmcgJyd0aGF0JycgaXMgYSB0YXNrIHRoZSBlcXVhbCBvZiBhbnl0aGluZyB0aGUg VGVybWluYXRvciBldmVyIGRpZCEKKyBJbiBtb3N0IGxhbmd1YWdlIHRleHRib29rcywgeW91IGdl dCB0aGUgYWxwaGFiZXQgb2YgdGhlIGxhbmd1YWdlIHRvZ2V0aGVyIHdpdGggaXRzIHNvdW5kcy4g TGV0dGVycyAoJydsZXJmdScnKSB0dXJuIG91dCB0byBiZSBldmVuIG1vcmUgaW1wb3J0YW50IHRo YW4gdXN1YWwgaW4gTG9qYmFuLCBzbyB3ZSBtaWdodCBhcyB3ZWxsIGdvIHRocm91Z2ggdGhlaXIg bmFtZXMgcXVpY2tseS48YnIgLz5Db25zb25hbnRzIGFyZSBzdHJhaWdodGZvcndhcmQ6IHRoZSBu YW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGF0IGxldHRlciwgcGx1cyB5LiBTbyB0aGUg Y29uc29uYW50IGxldHRlcnMgb2YgTG9qYmFuLCAmcXVvdDtiLCBjLCBkLCBmLCBnIC4uLiZxdW90 OywgYXJlIGNhbGxlZCAnJ2J5LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuJycgLi4uIGluIExvamJhbiAo dXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pPGJyIC8+Vm93ZWxz IF9fd291bGRfXyBiZSBjYWxsZWQgJycuYXksIC5leSwgLml5JycsIGJ1dCB0aGF0IHdvdWxkIGJl IHJhdGhlciBkaWZmaWN1bHQgdG8gcHJvbm91bmNlLiBJbnN0ZWFkLCB0aGV5IGFyZSBoYW5kbGVk IGJ5IGZvbGxvd2luZyB0aGUgdm93ZWwgc291bmQgd2l0aCB0aGUgd29yZCAnJ2J1JycsIHdoaWNo IGJhc2ljYWxseSBtZWFucyAnbGV0dGVyJy4gU28gdGhlIHZvd2VscyBvZiBMb2piYW4gYXJlOiAn Jy5hYnUsIC5lYnUsIC5pYnUsIC5vYnUsIC51YnUsIHlidS4nJzxiciAvPlRoZSBhcG9zdHJvcGhl IGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBjYWxsZWQg JycueSd5LicnIC4gVG8gc29tZSBwZW9wbGUsIHRoaXMgc291bmRzIGxpa2UgYSBjb3VnaDsgdG8g b3RoZXIsIGxpa2UgJnF1b3Q7dWgtaHVoJnF1b3Q7ICh3aGVuIGl0IG1lYW5zICdZZXMnIHJhdGhl ciB0aGFuICdObycuKTxiciAvPkxvamJhbiBoYXMgd2F5cyBvZiByZWZlcmluZyB0byBtb3N0IGxl dHRlcnMgeW91IGNhbiB0aGluayBvZi4gSWYgeW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwgb3V0 IHlvdXIgbmFtZSBpbiBMb2piYW4gYW5kIGhhdmUgYW4gJnF1b3Q7SCZxdW90OywgJnF1b3Q7USZx dW90Oywgb3IgJnF1b3Q7VyZxdW90OyB0byBkZWFsIHdpdGgsIHlvdSBjYW4gdXNlICcnLnkneS5i dSwga3kuYnUnJyBhbmQgJyd2eS5idScnLiBTbyAmcXVvdDtTY2h3YXJ6ZW5lZ2dlciZxdW90OyBp cyBzcGVsdCBpbiBMb2piYW4gYXM6PGJyIC8+JydzeS4gY3kuIC55J3lidSB2eWJ1LiAuYWJ1IHJ5 LiB6eS4gLmVidSBueS4gLmVidSBneS4gZ3kuIC5lYnUgcnkuJyc8YnIgLz5BbmQgc3BlbGxpbmcg JnF1b3Q7dGhhdCZxdW90OyBpcyBhIHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJt aW5hdG9yIGV2ZXIgZGlkIQoKTm93IHNwZWxsIHlvdXIgbmFtZSBpbiBMb2piYW4gKG9yIGF0IGxl YXN0IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNlIHRoZSB0d2VudHktc2l4IGxl dHRlcnMgb2YgRW5nbGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0aGUgYXBvc3Ryb3BoZSkuCgoh ISEhICdDb3JyZWN0JyBwcm9udW5jaWF0aW9uCi0gWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBw cmVjaXNlIGFib3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBh cmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZv ciBhbm90aGVyLiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9u dW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbnRo ZSBnZW5lcmFsIHByaW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQg ZG9lc24ndCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwg TG9qYmFuIHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlzaCwgU2Nv dHRpc2ggb3IgRnJlbmNoLjxiciAvPlR3byB0aGluZ3MgdG8gYmUgY2FyZWZ1bCBvZiwgdGhvdWdo LCBhcmUgcHJvbm91bmNpbmcgTG9qYmFuIGkgYW5kIHUgbGlrZSBTdGFuZGFyZCBCcml0aXNoIEVu Z2xpc2ggJydoaXQnJyBhbmQgJydidXQnJyAoTm9ydGhlcm4gRW5nbGlzaCAnJ2J1dCcnIGlzIGZp bmUhKS4gVGhpcyBpcyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkgdGhl c2UgdHdvLCBhcmUgdXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8gZmlu ZCB0aGVtIGhhcmQgdG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMgc3Bp dHRpbmcgb3V0IHRoZSB6ZCBpbiB6ZGFuaSAoaG91c2UpLCB5b3UgY2FuIHNheSB6ZGFuaXdoZXJl IHRoZSAnJycnIGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgJydpJycgaGFzIHRvIGJlIGxv bmcuCisgWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNlIGFib3V0IExvamJhbiBwcm9u dW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBp dCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90aGVyLiBUaGlzIG1lYW5zIHRo YXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJh bmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbnRoZSBnZW5lcmFsIHByaW5jaXBsZSBpcyB0 aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9lc24ndCBzb3VuZCB0b28gbXVjaCBs aWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9qYmFuIHIgY2FuIGJlIHByb25vdW5j ZWQgbGlrZSB0aGUgJnF1b3Q7ciZxdW90OyBpbiBFbmdsaXNoLCBTY290dGlzaCBvciBGcmVuY2gu PGJyIC8+VHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91Z2gsIGFyZSBwcm9ub3VuY2lu ZyBMb2piYW4gJydpJycgYW5kICcndScnIGxpa2UgU3RhbmRhcmQgQnJpdGlzaCBFbmdsaXNoICZx dW90O2hpdCZxdW90OyBhbmQgJnF1b3Q7YnV0JnF1b3Q7IChOb3J0aGVybiBFbmdsaXNoICZxdW90 O2J1dCZxdW90OyBpcyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2Vscywg cGFydGljdWxhcmx5IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBi eSBwZW9wbGUgd2hvIGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBo YXZlIHByb2JsZW1zIHNwaXR0aW5nIG91dCB0aGUgJyd6ZCcnIGluICcnemRhbmknJyAoaG91c2Up LCB5b3UgY2FuIHNheSB6ZGFuaXdoZXJlIHRoZSAmcXVvdDsmcXVvdDsgaXMgdmVyeSBzaG9ydCwg YnV0IHRoZSBmaW5hbCAmcXVvdDtpJnF1b3Q7IGhhcyB0byBiZSBsb25nLgohISEhTG9qYmFuIE5h bWVzIChjbWV2bGEpCldhdGNoIGFueSBmaWxtIHdoZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2gg b3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBvZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1l IFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBhIHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExv amJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uCl9fJydtaSdlIC5yb2Jpbi4nJ19fCi0gJydJLWFt LW5hbWVkIFJvYmluJyc8YnIgLz4nJ0knbSBSb2JpbicnPGJyIC8+JydtaSdlJycgaXMgcmVsYXRl ZCB0byAnJ21pJycsIHdoaWNoIGlzICdJJywgJ21lJyBhbmQgc28gb24uIEl0J3MgYSBnb29kIGV4 YW1wbGUgb2YgdGhlIGFwb3N0cm9waGUgc2VwYXJhdGluZyB0d28gdm93ZWxzLCBhbmQgc291bmRz IGEgYml0IGxpa2UgJydtZSBoZWgnJy48YnIgLz5UaGlzIGd1eSBSb2JpbiBpcyBsdWNreSBiZWNh dXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91dCBhbnkgY2hhbmdl cy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBuYW1lcyB3aGljaCBt ZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5pc2VkJy4gVGhpcyBtYXkgc291 bmQgc3RyYW5nZWFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFtZWJ1dCBpbiBmYWN0IGFsbCBsYW5n dWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9yIGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtl cnMgdGVuZCB0byBwcm9ub3VuY2UgJydKb3NlJycgc29tZXRoaW5nIGxpa2UgJydIb3pheScnLCBh bmQgJydNYXJnYXJldCcnIGluIENoaW5lc2UgaXMgJydNYWdlbGl0YScnLiBTb21lIHNvdW5kcyBq dXN0IGRvbid0IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91 IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0IGl0IG9ubHkgY29udGFpbnMg TG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEgTG9qYmFuIHdheS48YnIgLz5fX05vdGU6 IF9fVGhlIGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwgeW91 IGJlIHVzaW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNh biB2b3dlbHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAn J1JvYmluJycgaXMgcmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgLnJvYmluLjsgYnV0IHRoZSBB bWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byAnJ3JhYnluLicnIG9yICcncmFiLG4uJycuIEFu ZCB3aXRoaW4gQW1lcmljYSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxzbyBhIGdvb2QgZGVhbCBv ZiB2YXJpYXRpb24uIFNvIHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNsaXRlcmF0aW9ucyBnaXZl biBiZWxvdyB3aXRoIGEgZ3JhaW4gb2Ygc2FsdC48YnIgLz5MZXQncyB0YWtlIHRoZSBFbmdsaXNo IG5hbWUgJydTdXNhbicnLiBUaGUgdHdvICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50 bHl0aGUgc2Vjb25kIG9uZSBpcyBhY3R1YWxseSBhICcneicnYW5kIHRoZSAnJ2EnJyBpcyBub3Qg cmVhbGx5IGFuICcnYScnIHNvdW5kLCBpdCdzIHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVk LiBTbyAnJ1N1c2FuJycgY29tZXMgb3V0IGluIExvamJhbiBhcyAnJy5zdXp5bi4nJy4KKyAmcXVv dDtJLWFtLW5hbWVkIFJvYmluJnF1b3Q7PGJyIC8+JnF1b3Q7SSdtIFJvYmluJnF1b3Q7PGJyIC8+ JydtaSdlJycgaXMgcmVsYXRlZCB0byAnJ21pJycsIHdoaWNoIGlzICdJJywgJ21lJyBhbmQgc28g b24uIEl0J3MgYSBnb29kIGV4YW1wbGUgb2YgdGhlIGFwb3N0cm9waGUgc2VwYXJhdGluZyB0d28g dm93ZWxzLCBhbmQgc291bmRzIGEgYml0IGxpa2UgJnF1b3Q7bWUgaGVoJnF1b3Q7LjxiciAvPlRo aXMgZ3V5IFJvYmluIGlzIGx1Y2t5IGJlY2F1c2UgaGlzIG5hbWUgZ29lcyBkaXJlY3RseSBpbnRv IExvamJhbiB3aXRob3V0IGFueSBjaGFuZ2VzLiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSBydWxl cyBmb3IgTG9qYmFuIG5hbWVzIHdoaWNoIG1lYW4gdGhhdCBzb21lIG5hbWVzIGhhdmUgdG8gYmUg J0xvamJhbmlzZWQnLiBUaGlzIG1heSBzb3VuZCBzdHJhbmdlYWZ0ZXIgYWxsLCBhIG5hbWUgaXMg YSBuYW1lYnV0IGluIGZhY3QgYWxsIGxhbmd1YWdlcyBkbyB0aGlzIHRvIHNvbWUgZXh0ZW50LiBG b3IgZXhhbXBsZSwgRW5nbGlzaCBzcGVha2VycyB0ZW5kIHRvIHByb25vdW5jZSAmcXVvdDtKb3Nl JnF1b3Q7IHNvbWV0aGluZyBsaWtlICZxdW90O0hvemF5JnF1b3Q7LCBhbmQgJnF1b3Q7TWFyZ2Fy ZXQmcXVvdDsgaW4gQ2hpbmVzZSBpcyAmcXVvdDtNYWdlbGl0YSZxdW90Oy4gU29tZSBzb3VuZHMg anVzdCBkb24ndCBleGlzdCBpbiBzb21lIGxhbmd1YWdlcywgc28gdGhlIGZpcnN0IHRoaW5nIHlv dSBuZWVkIHRvIGRvIGlzIHJld3JpdGUgdGhlIG5hbWUgc28gdGhhdCBpdCBvbmx5IGNvbnRhaW5z IExvamJhbiBzb3VuZHMsIGFuZCBpcyBzcGVsdCBpbiBhIExvamJhbiB3YXkuPGJyIC8+X19Ob3Rl OiBfX1RoZSBjYXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNpb24gb2YgdGhlIHNvdW5kcyB3aWxsIHlv dSBiZSB1c2luZz8gRm9yIEVuZ2xpc2ggaW4gcGFydGljdWxhciwgQnJpdGlzaCBhbmQgQW1lcmlj YW4gdm93ZWxzIGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQuIFRoZSBCcml0aXNoIHZlcnNpb24gb2Yg JnF1b3Q7Um9iaW4mcXVvdDsgaXMgcmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgJycucm9iaW4u Jyc7IGJ1dCB0aGUgQW1lcmljYW4gdmVyc2lvbiBpcyBjbG9zZXIgdG8gJycucmFieW4uJycgb3Ig JycucmFiLG4uJycuIEFuZCB3aXRoaW4gQW1lcmljYSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxz byBhIGdvb2QgZGVhbCBvZiB2YXJpYXRpb24uIFNvIHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNs aXRlcmF0aW9ucyBnaXZlbiBiZWxvdyB3aXRoIGEgZ3JhaW4gb2Ygc2FsdC48YnIgLz5MZXQncyB0 YWtlIHRoZSBFbmdsaXNoIG5hbWUgJnF1b3Q7U3VzYW4mcXVvdDsuIFRoZSB0d28gJydzJycncyBh cmUgcHJvbm91bmNlZCBkaWZmZXJlbnRseXRoZSBzZWNvbmQgb25lIGlzIGFjdHVhbGx5IGEgJnF1 b3Q7eiZxdW90O2FuZCB0aGUgJnF1b3Q7YSZxdW90OyBpcyBub3QgcmVhbGx5IGFuICZxdW90O2Em cXVvdDsgc291bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBtZW50aW9uZWQuIFNvICZxdW90 O1N1c2FuJnF1b3Q7IGNvbWVzIG91dCBpbiBMb2piYW4gYXMgJycuc3V6eW4uJycuCllvdSBtYXkg aGF2ZSBub3RpY2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhpcyBp cyBuZWNlc3NhcnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtu b3cgd2hlcmUgdGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4u CgotIFlvdSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBhIHBlcnNvbidz IGZpcnN0IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29yeSksIHNvICcn SmltIEpvbmVzJycgYmVjb21lcyAnJ2RqaW0uZGpvbnouJycuPGJyIC8+QW4gaW1wb3J0YW50IHJ1 bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3QgbGV0dGVyIG9mIGEgY21l dmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMgdG8g cHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlzIGFu ZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2VsKS4g V2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExvamJhbiwgJydNYXJ5JycgYmVj b21lcyAubWVyaXMuICwgJydKb2UnJyBiZWNvbWVzIC5kam9zLiBhbmQgc28gb24uIEFuIGFsdGVy bmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gJydNYXJ5Jycgd291bGQg YmVjb21lIC5tZXIuIG9yIC5tZWlyLi4KKyBZb3Ugc2hvdWxkIGFsc28gcHV0IGEgZnVsbCBzdG9w IGluIGJldHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBuYW1lcyAodGhvdWdoIGl0J3Mg bm90IGNvbXB1bHNvcnkpLCBzbyAmcXVvdDtKaW0gSm9uZXMmcXVvdDsgYmVjb21lcyAnJy5kamlt LmRqb256LicnLjxiciAvPkFuIGltcG9ydGFudCBydWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBp cyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBhIGNtZXZsYSAoTG9qYmFuIG5hbWUpIG11c3QgYmUg YSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHByZXZlbnQgY29uZnVzaW9uIGFzIHRvIHdo ZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQgaXMgbm90IGEgbmFtZSAoYWxsIG90aGVy IExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkgdXNlICcncydmb3IgdGhp czsgc28gaW4gTG9qYmFuLCAmcXVvdDtNYXJ5JnF1b3Q7IGJlY29tZXMgJycubWVyaXMuJycgLCAm cXVvdDtKb2UmcXVvdDsgYmVjb21lcyAnJy5kam9zLicnIGFuZCBzbyBvbi4gQW4gYWx0ZXJuYXRp dmUgaXMgdG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBzbyAmcXVvdDtNYXJ5JnF1b3Q7IHdv dWxkIGJlY29tZSAnJy5tZXIuJycgb3IgJycubWVpci4nJy4KCi0gVGhlIGZpbmFsIHBvaW50IGlz IHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUg cGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3Ms IHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQg RnJlbmNoIG5hbWVzICcnUm9iZXJ0JycgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4gTG9qYmFuOiB0 aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9yICcnLnJhYixy dC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBpcyAnJy5yb0JF Ui4nJy4KKyBUaGUgZmluYWwgcG9pbnQgaXMgc3RyZXNzLiBBcyB3ZSd2ZSBzZWVuLCBMb2piYW4g d29yZHMgYXJlIHN0cmVzc2VkIG9uIHRoZSBwZW51bHRpbWF0ZSBzeWxsYWJsZSwgYW5kIGlmIGEg bmFtZSBoYXMgZGlmZmVyZW50IHN0cmVzcywgd2UgdXNlIGNhcGl0YWwgbGV0dGVycy4gVGhpcyBt ZWFucyB0aGF0IHRoZSBFbmdsaXNoIGFuZCBGcmVuY2ggbmFtZXMgJnF1b3Q7Um9iZXJ0JnF1b3Q7 IGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAnJy5y b2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQuJycgaW4gc29tZSBBbWVyaWNhbiBk aWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIuJycuClRvIGdpdmUgYW4gaWRlYSBv ZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJlIHNvbWUgbmFtZXMgb2YgZmFtb3VzIHBlb3Bs ZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGluIExvamJhbi4KCnx8X19FbmdsaXNoX18KLSBN YXJnYXJldCBUaGF0Y2hlciB8Lm1hZ3J5dC50YXRjeXIuIChubyAnJ3RoJycgaW4gTG9qYmFuIGJl Y2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRoZSB3b3JsZCBjYW4ndCBzYXkgaXQhKTxiciAvPk1p Y2sgSmFnZ2VyIHwubWlrLmRqYWd5cy4gfHwKKyBNYXJnYXJldCBUaGF0Y2hlciB8JycubWFncnl0 LnRhdGN5ci4nJyAobm8gJnF1b3Q7dGgmcXVvdDsgaW4gTG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9w bGUgYXJvdW5kIHRoZSB3b3JsZCBjYW4ndCBzYXkgaXQhKTxiciAvPk1pY2sgSmFnZ2VyIHwnJy5t aWsuZGphZ3lzLicnIHx8Cnx8X19GcmVuY2hfXwotIE5hcG9sZW9uIEJvbmFwYXJ0ZSB8Lm5hcG9s ZSxPTi5ib25hUEFSVC48YnIgLz5KdWxpZXR0ZSBCaW5vY2hlIHwuanVMSUVULmJpbk9DLiB8fAor IE5hcG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnPGJyIC8+SnVsaWV0 dGUgQmlub2NoZSB8JycuanVMSUVULmJpbk9DLicnIHx8Cnx8X19DaGluZXNlX18KLSBMYW96aSB8 LmxhdWR6LjxiciAvPk1hbyBaZWRvbmcgfC5tYXVkenlEWU4uIChGaW5hbCAnJ25nJycgaXMgaW4g TG9qYmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAorIExhb3ppIHwnJy5sYXVk ei4nJzxiciAvPk1hbyBaZWRvbmcgfCcnLm1hdWR6eURZTi4nJyAoRmluYWwgJyduZycnIGlzIGlu IExvamJhbiBjb252ZW50aW9uYWxseSB0dXJuZWQgaW50byBuLikgfHwKfHxfX1R1cmtpc2hfXwot IE11c3RhZmEgS2VtYWwgfC5NVVN0YWZhcy5rZU1BTC48YnIgLz5FcmtpbiBLb3JheSB8LmVya2lu LmtvcmFpcy4gfHwKKyBNdXN0YWZhIEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4nJzxiciAvPkVy a2luIEtvcmF5IHwnJy5lcmtpbi5rb3JhaXMuJycgfHwKfHxfX0dlcm1hbl9fCi0gRnJpZWRyaWNo IE5pZXR6c2NoZSB8LmZyaWRyaXgubml0Y3lzLjxiciAvPkNsYXJhIFNjaHVtYW5uIHwua2xhcmFz LmN1bWFuLiB8fAorIEZyaWVkcmljaCBOaWV0enNjaGUgfCcnLmZyaWRyaXgubml0Y3lzLicnPGJy IC8+Q2xhcmEgU2NodW1hbm4gfCcnLmtsYXJhcy5jdW1hbi4nJyB8fAp8fF9fU3BhbmlzaF9fCi0g SXNhYmVsIEFsbGVuZGUgfC5pemFCRUwuYWllbmRlcy48YnIgLz5DaGUgR3VldmFyYSB8LnRjZWdl dmFyYXMuIHx8CisgSXNhYmVsIEFsbGVuZGUgfCcnLml6YUJFTC5haWVuZGVzLicnPGJyIC8+Q2hl IEd1ZXZhcmEgfCcnLnRjZWdldmFyYXMuJycgfHwKX19FeGVyY2lzZV9fLgpXaGVyZSBhcmUgdGhl c2UgcGxhY2VzPwoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAxNDYtMTUwIGNoYW5nZWQgdG8gK0xpbmVzOiAxNDYt MTUwIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rCiN+fmdyYXksZ3JheTpSb21lOiBJdGFseX5+CiN+fmdyYXksZ3JheTpIYXZhbmE6 IEN1YmF+fgotICN+fmdyYXksZ3JheTpDYXJkaWZmOiBXYWxlcyAoVGhlIFdlbHNoIGZvciAnJ0Nh cmRpZmYnJyBpcyAnJ0NhZXJkeWRkJycsIHdoaWNoIHdvdWxkIExvamJhbmlzZSB0byBzb21ldGhp bmcgbGlrZSBrYWlyZHlkLi4pfn4KKyAjfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBX ZWxzaCBmb3IgJnF1b3Q7Q2FyZGlmZiZxdW90OyBpcyAmcXVvdDtDYWVyZHlkZCZxdW90Oywgd2hp Y2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQuLil+fgojfn5ncmF5 LGdyYXk6QmVpamluZzogQ2hpbmF+fgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJrZXl+fgoKKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsK QEAgLUxpbmVzOiAxNTQtMTYwIGNoYW5nZWQgdG8gK0xpbmVzOiAxNTQtMTYwIEBACistKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiN+fmdy YXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHks IHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBt ZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4KI35+Z3JheSxncmF5OkJvbm46IEdl cm1hbnl+fgotICN+fmdyYXksZ3JheTpEZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3IgJydEZWxo aScnIGlzICcnRGlsbCcnLCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGlsaSdpcy4uKX5+ CisgI35+Z3JheSxncmF5OkRlbGhpOiBJbmRpYSAoVGhlIEhpbmRpIGZvciAmcXVvdDtEZWxoaSZx dW90OyBpcyAmcXVvdDtEaWxsJnF1b3Q7LCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGls aSdpcy4uKX5+CiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+fgotICN+fmdyYXksZ3JheTpBdGhl bnM6IEdyZWVjZSAoJydBdGhpbmEnJyBpbiBHcmVlayl+fgorICN+fmdyYXksZ3JheTpBdGhlbnM6 IEdyZWVjZSAoJnF1b3Q7QXRoaW5hJnF1b3Q7IGluIEdyZWVrKX5+CiN+fmdyYXksZ3JheTpMZWVk czogRW5nbGFuZH5+CiN+fmdyYXksZ3JheTpIZWxzaW5raTogRmlubGFuZH5+CgorLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGlu ZXM6IDE5Mi0yMDMgY2hhbmdlZCB0byArTGluZXM6IDE5Mi0yMDMgQEAKKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKI35+Z3JheSxncmF5 Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+PC9odG1sPn5+CiEh ISFMb2piYW4gd29yZHMgYXMgbmFtZXMKLSBCeSBub3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExv amJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRy YW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMs IG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5h dGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtp bmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFu ZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4cGVjdCB0aGUgJyd3YXNpY2h1JycgdG8gYmUg YWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFrb3RhLCBDaGVyb2tlZSBvciB3aGF0ZXZlciEK KyBCeSBub3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1lLiBI b3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50byBM b2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBj b21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5 IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1 c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRv bid0IGV4cGVjdCB0aGUgJnF1b3Q7d2FzaWNodSZxdW90OyB0byBiZSBhYmxlIHRvIHByb25vdW5j ZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVyIQpMb2piYW4gd29yZHMgKGV4 Y2VwdCBjbWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZb3UgY2FuIHVzZSBsb2piYW4gd29yZHMgYXMg bmFtZXMgdG9vLiBCdXQgaWYgeW91IHByZWZlciB0aGF0IHlvdXIgbmFtZSBpcyBhIGNtZXZsYSBh bmQgaXQgZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91IGNhbiBlaXRoZXIgYWRkIGEgY29uc29uYW50 IHRvIHRoZSBlbmQgb2YgaXQgb3IganVzdCBjaG9wIHRoZSBlbmQgdm93ZWwgb2ZmLgpIZXJlIGFy ZSBhIGZldyBleGFtcGxlcyAob3JpZ2luYWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBh cyBjbWV2bGEpOgotICpGaXNoICBmaW5wZSAgLmZpbnAuPGJyIC8+KkJqcm4gKFNjYW5kaW5hdmlh biA9IGJlYXIpICBjcmliZSAgLmNyaWIuPGJyIC8+KkdyZWVuICBjcmlubyAgLmNyaW4uPGJyIC8+ Kk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkgIG1lbGJpICAubWVsYi48YnIgLz4qQXloYW4g KFR1cmtpc2ggPSBNb29uIExvcmQpICBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkgIC5sdXJub2Js aXMuCisgKkZpc2ggIGZpbnBlICAnJy5maW5wLicnPGJyIC8+KkJqcm4gKFNjYW5kaW5hdmlhbiA9 IGJlYXIpICBjcmliZSAgJycuY3JpYi4nJzxiciAvPipHcmVlbiAgY3Jpbm8gICcnLmNyaW4uJyc8 YnIgLz4qTWVpIExpIChDaGluZXNlID0gYmVhdXRpZnVsKSAgbWVsYmkgICcnLm1lbGIuJyc8YnIg Lz4qQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpICBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg ICcnLmx1cm5vYmxpcy4nJwohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gb25lIChicmlkaSwg anVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCkEgJydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRyYWwg dW5pdCBvZiBMb2piYW4gdXR0ZXJhbmNlcy4gVGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0byB3 aGF0IHdlIGNhbGwgYSBwcm9wb3NpdGlvbiBpbiBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xhaW0g dGhhdCBzb21lIG9iamVjdHMgc3RhbmQgaW4gYSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBvciB0 aGF0IGFuIG9iamVjdCBoYXMgc29tZSBwcm9wZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3Qg dG8gJydqdWZyYScnLCB3aGljaCBhcmUgbWVyZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGljaCBj YW4gYmUgYnJpZGkgb3IgYW55dGhpbmcgZWxzZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5jZSBi ZXR3ZWVuIGEgYnJpZGkgYW5kIGEganVmcmEgaXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5lY2Vz c2FyaWx5IHN0YXRlIGFueXRoaW5nLCB3aGlsZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJpZGkg bWlnaHQgYmUgdHJ1ZSBvciBmYWxzZSwgd2hpbGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2FpZCB0 byBiZSBzdWNoLgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK CntCT1goCgogIHRpdGxlPSJUcmF2YWlsIGVuIGNvdXJzIgoKKX0KCkNldHRlIHBhZ2UgZXN0IHVu ZSB0cmFkdWN0aW9uIGVuIGNvdXJzIGRlICgod2F2ZWxlc3NvbnNjb250aW51ZWQpKSBlbiBmcmFu w6dhaXMuIExlIHN0YXR1dCBhY3R1ZWwgZXN0IHVuIGltcG9ydCBiw6p0ZSBldCBtw6ljaGFudCBk ZSBsYSBwYWdlIGFuZ2xhaXNlLiBBdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxhIHRyYWR1Y3Rpb24s IGNldHRlIG5vdGUgc2VyYSBtaXNlIMOgIGpvdXIgcG91ciBpbmRpcXVlciBsJ8OpdGF0IGQnYXZh bmNlbWVudCBkZXMgbGXDp29ucy4gCgoKCsOJdGF0IGFjdHVlbMKgOiB0cmFkdWN0aW9uIGRlIGxh IGxlw6dvbiB6w6lybyBlbnRhbcOpZS4KCntCT1h9IAoKCgohTGVzIGxlw6dvbnMgV2F2ZSBjb250 aW51w6llc8KgOgoKISEhUsOpZGlnw6llcyBwYXIgbGEga2xha3UsIGF2ZWMgbCdhaWRlIGRlIGxv amJhbmlzdGVzIHZhcmnDqXMuIEJhc8OpZSBzdXIgbGUgdHJhdmFpbCBkZSBsYSAua3JpYmFjci4g UHJpbnRlbXBzIDIwMTMuCgpUcmFkdWl0ZXMgZGUgbCdhbmdsYWlzIHZlcnMgbGUgZnJhbsOnYWlz IHBhciBEYWVsZGlyLgoKCgohIUxlw6dvbnMgZGUgbG9qYmFuIOKAkyBsZcOnb24gesOpcm86IGF2 YW50IHByb3BvcwoKQ2VzIGxlw6dvbnMgc29udCB1bmUgdGVudGF0aXZlIGRlIGTDqXZlbG9wcGVy IGxlcyDCq8KgTGXDp29ucyBkZSBHb29nbGUgV2F2ZcKgwrssIHVuIGV4Y2VsbGVudCBkaWRhY3Rp Y2llbCBjb25zYWNyw6kgYXUgbG9qYmFuLCDDqWNyaXQgcGFyIGtyaWJhY3IsIHhhbGJvLCBldCBk J2F1dHJlcywgcXVpLCBow6lsYXMsIG5lIGNvdXZyYWl0IHF1ZSBsZXMgcXVhdHJlcyBwcmVtaWVy cyBjaGFwaXRyZXMgZHUgcHLDqXNlbnQgZGlkYWN0aWNpZWwuIElsIHRyYWl0ZSBkZXMgcsOoZ2xl cyBsZXMgcGx1cyByw6ljZW50ZXMgZHUgbG9qYmFuLCBxdWkgbmUgc29udCBwYXMgY291dmVydGVz IHBhciBkZSBwbHVzIGFuY2llbnMgY291cnMgdGVscyBxdWUgwqvCoFdoYXQgaXMgTG9qYmFuP8Kg wrssIGV0IMKrwqBMb2piYW4gZm9yIEJlZ2lubmVyc8KgwrsuCgoKClNpIGxlIGxvamJhbiBlc3Qg dG90YWxlbWVudCBub3V2ZWF1IHBvdXIgdm91cywgamUgdm91cyByZWNvbW1hbmRlIGQnw6ljb3V0 ZXIgdG91dCBsZXMgZW5yZWdpc3RyZW1lbnQgZGUgbG9qYmFuIHBhcmzDqSBxdWUgdm91cyBwb3Vy cmV6IHRyb3V2ZXIsIHRhbnQgYXZhbnQgcXVlIHBlbmRhbnQgbGEgbGVjdHVyZSBkZSBjZSBkaWRh Y3RpY2llbCwgYWZpbiBkZSB2b3VzIGZhbWlsaWFyaXNlciBhdmVjIGxlcyBzb25zIGV0IGxlcyBt b3RzIGR1IGxhbmdhZ2UuIERlIHBsdXMsIGVzc2F5ZXogZGUgcHJvbm9uY2VyIGNlIHF1ZSB2b3Vz IGxpc2V6IGF2ZWMgbCdhY2NlbnQgZHUgbG9qYmFuIHNpIHZvdXMgbGUgcG91dmV6LiBDZWNpIHZv dXMgYWlkZXJhIMOgIHByb25vbmNlciBsZSBsb2piYW4uIAoKCgpFbiBzdWl2YW50IGNlIGRpZGFj dGljaWVsLCBpbCBlc3QgY29uc2VpbGzDqSBkZSBwcmVuZHJlIGRlcyBwYXVzZXMgZW50cmUgbGVz IGxlw6dvbnMgYWZpbiBkZSBkaWfDqXJlciBjZSBxdWUgdm91cyBhdmV6IGFwcHJpcy4gSidhaSBl c3NhecOpIGRlIGNvbnN0cnVpcmUgY2VzIGxlw6dvbnMgZHUgc2ltcGxlIGF1IGNvbXBsZXhlLCBl dCBkJ2V4Y2x1cmUgdG91dCBtb3Qgb3UgY29uY2VwdCBxdWkgbidhIHBhcyDDqXTDqSBleHBsaXF1 w6kgZGFucyBsZXMgbGXDp29uIHByw6ljw6lkZW50ZS4gVW5lIGZvaXMgZXhwbGlxdcOpcywgaWxz IHNvbnQgdXRpbGlzw6lzIGxpYnJlbWVudCB0b3V0IGF1IGxvbmcgZHUgcmVzdGUgZHUgZGlkYWN0 aWNpZWwuIEonZXhob3J0ZSBsZSBsZWN0ZXVyIMOgIG5lIHBhcyBmYWlyZSBsJ2ltcGFzc2Ugc3Vy IHVuIGNvbnRlbnUgaW5jb21wcmlzwqA6IHNpIHZvdXMgYXZleiB1bmUgcXVlc3Rpb24gb3Ugw6p0 ZXMgaW5jZXJ0YWluIGQndW5lIGNob3NlLCBuJ2F5ZXogcGFzIGRlIGNvbXBsZXhlIMOgIGRlbWFu ZGVyIMOgIGxhIGNvbW11bmF1dMOpIGxvamJhbiwgcXVpIHBldXQgw6p0cmUgdHJvdXbDqWUgc3Vy ICNsb2piYW4gc3VyIGxlIHLDqXNlYXUgSVJDIEZyZWVub2RlIChlbiBhbmdsYWlzKSwgb3Ugc3Vy IGxhIFtodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vbG9qYmFuLWZyfG1h aWxpbmctbGlzdCBmcmFuY29waG9uZV0uIEVsbGUgc2VyYSBoZXVyZXVzZSBkJ2FpZGVyLgoKCgpE YW5zIGNlIGRpZGFjdGljaWVsLCBsZSB0ZXh0ZSBlbiBsb2piYW4gZXN0IMOpY3JpdCBlbiAnJ2l0 YWxpcXVlcycnLiBQbHVzIHRhcmQsIHF1YW5kIHV0aWxpc8OpcyBjb21tZXMgbW90cyBlbXBydW50 w6lzIGR1IGxvamJhbiBkYW5zIGRlcyBwaHJhc2VzIGZyYW7Dp2Fpc2VzLCBpbHMgbmUgc29udCBw YXMgbWFycXXDqXMuIExlcyByw6lwb25zZXMgZGVzIGV4ZXJjaWNlcyBzb250IGFmZmljaMOpZXMg Y29tbWUgdW5lIGJhcnJlIGdyaXNlLiBTw6lsZWN0aW9ubmV6IGNldHRlIGJhcnJlIHBvdXIgdm9p ciBsZSB0ZXh0ZS4KCgoKRW5maW4sIGonYWkgYXV0YW50IHF1ZSBwb3NzaWJsZSBlc3NhecOpIGQn dXRpbGlzZXIgbGVzIG1vdHMgZHUgbG9qYmFuIHBvdXIgZMOpc2lnbmVyIGxlcyBjb25zdHJ1Y3Rp b25zIGdyYW1tYXRpY2FsZXPCoDogJydzdW1rYSdpJycgYXUgbGlldSBkZSBwcm8tc3VtdGksICcn c3VtdGNpdGEnJyBhdSBsaWV1IGRlIG1vZGFsLCBldCAnJ2p1ZnJhJycgYXUgbGlldSBkJ8Opbm9u Y8OpLiBDZWNpIHBhcmNlIHF1ZSBqJ2FpIGwnaW1wcmVzc2lvbiBxdWUgbGVzIG1vdHMgZnJhbsOn YWlzIHNvbnQgc291dmVudCBzb2l0IGFyYml0cmFpcmVzLCBhdXF1ZWwgY2FzIGlscyBzb250IGp1 c3RlcyBkZXMgbW90cyBlbiBwbHVzIMOgIGFwcHJlbmRyZSwgc29pdCB0cm9tcGV1cnMsIGF1cXVl bCBjYXMgaWxzIHNvbnQgcGlyZSBxdSdpbnV0aWxlcy4gRGFucyBsZXMgZGV1eCBjYXMsIHB1aXNx dWUgY2VzIG1vdHMgc29udCBzcMOpY2lmaXF1ZXMgw6AgbCdhcHByZW50aXNzYWdlIGR1IGxvamJh biBkZSB0b3V0ZSBmYcOnb24sIGlsIG4neSBhIHBhcyBkZSByYWlzb24gcG91ciBldXggZCdleGlz dGVyIGNvbW1lIGRlcyBtb3RzIGZyYW7Dp2FpcyBkaXN0aW5jdC4KCgoKISEhUHLDqWZhY2UuIFNv bnMKCkxhIHByZW1pw6hyZSBjaG9zZSDDoCBmYWlyZSBxdWFuZCB2b3VzIGFwcHJlbmV6IHVuZSBs YW5ndWUgw6l0cmFuZ8OocmUgZXN0IGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVzIHNvbnMg ZHUgbGFuZ2FnZSBldCBsZXVyIMOpY3JpdHVyZS4gSWwgZW4gdmEgZGUgbcOqbWUgcG91ciBsZSBs b2piYW4uIEhldXJldXNlbWVudCwgbGVzIHNvbnMgZHUgbG9qYmFuIChfX3Bob27DqG1lc19fKSBz b250IHBsdXTDtHQgc2ltcGxlcy4KCgoKISEhIVZveWVsbGVzCgpJbCB5IGEgc2l4IHZveWVsbGVz IGVuIGxvamJhbi4KCgoKfHwnJ2EnJyB8Y29tbWUgZGFucyDCq8KgcF9fYV9fcF9fYV9fwqDCuwoK JydlJycgfGNvbW1lIGRhbnMgwqsgYl9fZV9fcmdfX8OoX19yZSDCuwoKJydpJycgfGNvbW1lIGRh bnMgwqvCoG1hY2hfX2lfX25lwqDCuwoKJydvJycgfGNvbW1lIGRhbnMgwqsgX19vX19tw6lnYSDC uywgwqvCoF9fYXVfX3RfX29fX21vYmlsZcKgwrsKCicndScnIHxjb21tZSBkYW5zIMKrwqBfX291 X1/CoMK7LCDCq8KgbF9fb3VfX3DCoMK7CgonJ3knJyB8Y29tbWUgZGFucyDCqyBtYXRfX2VfX2xv dCDCu3x8CgoKCkxhIHNpeGnDqG1lIHZveWVsbGUsICcneScnLCBlc3QgYXBwZWzDqWUgdW4gX19z Y2h3YV9fIGVuIGxpbmd1aXN0aXF1ZS4gQydlc3QgdW4gwqvCoGXCoMK7IHRyw6hzIGzDqWdlciwg bm9uIGFjY2VudHXDqSwganVzdGUgbWlsaWV1IGVudHJlIGxlIMKrwqBlwqDCuyBtYXJzZWlsbGFp cyAowqsgbWF0X19ldV9fbG90IMK7KSBldCBsZSDCq8KgZcKgwrsgbXVldCBwYXJpc2llbiAowqsg bWF0J2xvdCDCuykuCgoKCkRldXggdm95ZWxsZXMgZW5zZW1ibGUgc29udCBwcm9ub25jw6llcyBj b21tZSB1biBzb24gKF9fZGlwaHRvbmd1ZV9fKS4gUGFyIGV4ZW1wbGXCoDoKCgoKfHwnJ2FpJycg fGNvbW1lIGRhbnMgwqvCoGNhbl9fYWlfX2xsZcKgwrsKCicnYXUnJyB8Y29tbWUgZGFucyDCq8Kg Y19fYW91X190Y2hvdWPCoMK7CgonJ2VpJycgfGNvbW1lIGRhbnMgwqvCoGFiX19laV9fbGxlwqDC uwoKJydvaScnIHxjb21tZSBkYW5zIMKrwqBnX19veV9fwqDCuwoKJydpYScnIHxjb21tZSBkYW5z IMKrwqBwX19pYV9fbm/CoMK7CgonJ2llJycgfGNvbW1lIGRhbnMgwqvCoGhfX2llX19ywqDCuwoK JydpdScnIHxjb21tZSBkYW5zIMKrwqBjYV9faWxsb3VfX8KgwrsKCicndWEnJyB8Y29tbWUgZGFu cyDCq8KgcV9fdW9pX1/CoMK7CgonJ3VlJycgfGNvbW1lIGRhbnMgwqvCoGJyX19vdWVfX3R0ZcKg wrsKCicndW8nJyB8Y29tbWUgZGFucyDCq8KgZHJfX291b19fdMKgwrsKCicndWknJyB8Y29tbWUg ZGFucyDCq8KgX19vdWlfX8KgwrsgfHwKCgoKTGVzIHZveWVsbGVzIGRvdWJsw6llcyBzb250IHJh cmVzLiBMZXMgc2V1bHMgZXhlbXBsZXMgc29udCAnJ2lpJycsIHByb25vbmPDqSBjb21tZSBkYW5z IMKrwqBmYV9faWxsaV9fwqDCuywgZXQgJyd1dScnLCBwcm9ub25jw6kgY29tbWUgZGFucyDCq8Kg X19PdV9faF9fb3VfX8KgIcKgwrsgKHF1YW5kIG9uIGFwcGVsbGUgcXVlbHF1J3VuLCBtYWlzIHBh cyBjb21tZSBkYW5zIMKrwqBIb3Vob3XCoMK7wqA6IGRhbnMgbGUgcHJlbWllciBleGVtcGxlLCBs ZSAnJ2gnJyBlc3QgbXVldCwgZGFucyBsZSBkZXV4acOobWUsIGxlICcnaCcnIGVzdCBhc3BpcsOp IOKAkyBjZSBxdWkgc2UgdHJhbnNjcmlyYWl0IGVuIGxvamJhbiAnJ3UndScnKQoKCgohISEhQ29u c29ubmVzCgpMYSBwbHVwYXJ0IGRlcyBjb25zb25uZXMgc29udCBsZXMgbcOqbWVzIHF1J2VuIGZy YW7Dp2Fpcywgw6AgcXVlbHF1ZSBleGNlcHRpb25zIHByw6p0wqA6CgoKCnx8JydnJycgfHNlIHBy b25vbmNlIHRvdWpvdXJzIGNvbW1lIGRhbnMgwqvCoF9fZ19fw6J0ZWF1wqDCuywgamFtYWlzIGNv bW1lIGRhbnMgwqvCoF9fZ19fZW5vdXjCoMK7CgonJ2MnJyB8c2UgcHJvbm9uY2UgJydjaCcnLCBj b21tZSBkYW5zIMKrwqBfX2NoX19hdGVhdcKgwrsKCicneCcnIHxzZSBwcm9ub25jZSBjb21tZSBk YW5zIGwnYWxsZW1hbmQgwqvCoEJhX19jaF9fwqDCuywgbCdlc3BhZ25vbCDCq8KgX19KX19vc2XC oMK7IG91IGwnYXJhYmUgwqvCoF9fS2hfX2FsZWTCoMK7CgonJ3InJyB8YWNjZXB0ZSBiZWF1Y291 cCBkZSBwcm9ub25jaWF0aW9ucyAow6AgbGEgZnJhbsOnYWlzZSwgw6AgbCdhbmdsYWlzZeKApikg bWFpcyBsYSBwcm9ub25jaWF0aW9uIGl0YWxpZW5uZSAoJydyJycgcm91bMOpKSBlc3QgcHLDqWbD qXLDqWV8fAoKCgpMZSBsb2piYW4gbid1dGlsaXNlIHBhcyBsZXMgY2FyYWN0w6hyZXMgwqvCoEjC oMK7LCDCq8KgUcKgwrsgb3UgwqvCoFfCoMK7LCBldCBpbCBuJ3kgYSBwYXMgZGUgY2FyYWN0w6hy ZXMgYWNjZW50dcOpcyBlbiBsb2piYW4uCgoKCiEhISFDYXJhY3TDqHJlcyBzcMOpY2lhdXgKCgoK TGUgbG9qYmFuIG5lIHJlcXVpw6hyZSBhdWN1bmUgcG9uY3R1YXRpb24sIG1haXMgY2VydGFpbiBj YXJhY3TDqHJlcywgaGFiaXR1ZWxsZW1lbnQgdXRpbGlzw6lzIGNvbW1lIHBvbmN0dWF0aW9uIGRh bnMgZCdhdXRyZSBsYW5ndWVzLCBhZmZlY3RlbnQgbGEgbWFuacOocmUgZG9udCBsZSBsb2piYW4g ZXN0IHByb25vbmPDqS4KCgoKTGUgc2V1bCBkZSBjZXMgY2FyYWN0w6hyZXMgcXVpIHNvaXQgb2Js aWdhdG9pcmUgZW4gbG9qYmFuIGVzdCBsJ2Fwb3N0cm9waGUuIEVuIGZhaXQsIGwnYXBvc3Ryb3Bo ZSBlc3QgY29uc2lkw6lyw6llIGNvbW1lIHVuZSBsZXR0cmUgZHUgbG9qYmFuLiBVbmUgYXBvc3Ry b3BoZSBzw6lwYXJlIGRldXggdm95ZWxsZXMsIGVtcMOqY2hhbnQgY2VsbGVzLWNpIGQnw6p0cmUg cHJvbm9uY8OpZXMgZW5zZW1ibGUgY29tbWUgdW5lIF9fZGlwaHRvbmd1ZV9fLiBFbGxlIGVzdCBl bGxlIG3Dqm1lIHByb25vbmPDqWUgY29tbWUgdW4gwqvCoGjCoMK7LiBQYXIgZXhlbXBsZSwgwqvC oCcndWknJ8KgwrsgZXN0IG5vcm1hbGVtZW50IHByb25vbmPDqSBjb21tZSDCq8KgX19vdWlfX8Kg wrssIG1haXMgwqvCoCcndSdpJyfCoMK7IGVzdCBwcm9ub25jw6kgY29tbWUgwqvCoF9fb3VoaV9f wqDCuy4KCgoKVW4gcG9pbnQgZXN0IHVuZSBjb3VydGUgcGF1c2Ugw6l2aXRhbnQgw6AgZGV1eCBt b3RzIGRlIHNlIGNvbmZvbmRyZSBsJ3VuIGRhbnMgbCdhdXRyZS4gTGVzIHLDqGdsZXMgZHUgbG9q YmFuIHJlbmRlbnQgZmFjaWxlIGxhIGZ1c2lvbiBkZSBkZXV4IG1vdHMgcXVhbmQgbGUgc2Vjb25k IGNvbW1lbmNlIHBhciB1bmUgdm95ZWxsZSwgZXQgZG9uYywgcGFyIGNvbnZlbnRpb24sIGNoYXF1 ZSBtb3QgY29tbWVuw6dhbnQgcGFyIHVuZSB2b3llbGxlIGVzdCBwcsOpY8OpZMOpIHBhciB1biBw b2ludC4KCgoKTGVzIHZpcmd1bGVzIHNvbnQgcmFyZSBlbiBsb2piYW4sIG1haXMgcGV1dmVudCDD qnRyZSB1dGlsaXPDqWVzIHBvdXIgZW1ww6pjaGVyIGRldXggdm95ZWxsZXMgZGUgc2UgZm9uZHJl IGwndW5lIGRhbnMgbCdhdXRyZSBxdWFuZCB2b3VzIG5lIHZvdWxleiBwYXMgdXRpbGlzZXIgZCdh cG9zdHJvcGhlLCBjZSBxdWkgYWpvdXRlcmFpcyB1biDCq8KgaMKgwrsgZW50cmUgZWxsZXMuIEF1 Y3VuIG1vdCBsb2piYW4gbidhIGRlIHZpcmd1bGUsIG1haXMgZWxsZSBlc3QgcGFyZm9pcyB1dGls aXPDqWUgZGFucyBsJ8OpY3JpdHVyZSBkZXMgbm9tcyBkJ2F1dHJlcyBsYW5ndWVzLiBQYXIgZXhl bXBsZSwgwqvCoCcncGksRVIuJyfCoMK7IChQaWVycmUpLCBhdSBsaWV1IGRlIMKrwqAnJ3BpZXIu JyfCoMK7IChQLXllcnIpLCDCq8KgJydwaS5FUi4nJ8KgwrsgKFBpOyBFaHIpLCBvdSDCq8KgJydw aSdFUicnwqDCuyAoUGloZXJyKS4KCgoKTGVzIGxldHRyZXMgY2FwaXRhbGVzIG5lIHNvbnQgbm9y bWFsZW1lbnQgcGFzIHV0aWxpc8OpZXMgZW4gbG9qYmFuLiBOb3VzIGxlcyB1dGlsaXNvbnMgZGFu cyBkZXMgbW90cyBub24gbG9qYmFuIChjb21tZSDCq8KgUGllcnJlwqDCuyksIHF1YW5kIGwnYWNj ZW50IHRvbmlxdWUgZCd1biBtb3QgZXN0IGRpZmbDqXJlbnQgZGUgY2VsdWkgZGUgbGEgbm9ybWUg bG9qYmFuLiBMYSBub3JtZSBjb25zaXN0ZSDDoCBtZXR0cmUgdW4gYWNjZW50IHRvbmlxdWUgc3Vy IGwnYXZhbnQgZGVybmnDqHJlIHN5bGxhYmUuIFBhciBleGVtcGxlLCAnJ2t1cm1pa2NlJycgKGlu ZmlybWnDqHJlKSwgZXN0IMKrwqBrdXJfX01JS19fY2XCoMK7LCBldCBub24gcGFzIMKrwqBfX0tV Ul9fbWlrY2XCoMK7LiBMZSBub20gwqvCoEp1bGlldHRlwqDCuyBzJ8OpY3JpcmFpdCDCq8KgJydq dUxJRVQuJyfCoMK7IHNpIHByb25vbmPDqSBjb21tZSBlbiBmcmFuw6dhaXMsIG1haXMgwqvCoCcn REpVbGksZXQuJyfCoMK7IHNpIHByb25vbmPDqSBjb21tZSBlbiBhbmdsYWlzLgoKISEhIUFscGhh YmV0CgpJbiBtb3N0IGxhbmd1YWdlIHRleHRib29rcywgeW91IGdldCB0aGUgYWxwaGFiZXQgb2Yg dGhlIGxhbmd1YWdlIHRvZ2V0aGVyIHdpdGggaXRzIHNvdW5kcy4gTGV0dGVycyAoJydsZXJmdScn KSB0dXJuIG91dCB0byBiZSBldmVuIG1vcmUgaW1wb3J0YW50IHRoYW4gdXN1YWwgaW4gTG9qYmFu LCBzbyB3ZSBtaWdodCBhcyB3ZWxsIGdvIHRocm91Z2ggdGhlaXIgbmFtZXMgcXVpY2tseS4KCkNv bnNvbmFudHMgYXJlIHN0cmFpZ2h0Zm9yd2FyZDogdGhlIG5hbWUgb2YgYSBjb25zb25hbnQgbGV0 dGVyIGlzIHRoYXQgbGV0dGVyLCBwbHVzIHkuIFNvIHRoZSBjb25zb25hbnQgbGV0dGVycyBvZiBM b2piYW4sICJiLCBjLCBkLCBmLCBnIC4uLiIsIGFyZSBjYWxsZWQgJydieS4sIGN5LiwgZHkuLCBm eS4sIGd5LicnIC4uLiBpbiBMb2piYW4gKHVzaW5nIHRoZSBmdWxsIHN0b3AgYXMgd2UndmUganVz dCBkZXNjcmliZWQuKQoKVm93ZWxzIF9fd291bGRfXyBiZSBjYWxsZWQgJycuYXksIC5leSwgLml5 JycsIGJ1dCB0aGF0IHdvdWxkIGJlIHJhdGhlciBkaWZmaWN1bHQgdG8gcHJvbm91bmNlLiBJbnN0 ZWFkLCB0aGV5IGFyZSBoYW5kbGVkIGJ5IGZvbGxvd2luZyB0aGUgdm93ZWwgc291bmQgd2l0aCB0 aGUgd29yZCAnJ2J1JycsIHdoaWNoIGJhc2ljYWxseSBtZWFucyAnbGV0dGVyJy4gU28gdGhlIHZv d2VscyBvZiBMb2piYW4gYXJlOiAnJy5hYnUsIC5lYnUsIC5pYnUsIC5vYnUsIC51YnUsIHlidS4n JwoKVGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIGluIExvamJh biwgYW5kIGlzIGNhbGxlZCAnJy55J3kuJycgLiBUbyBzb21lIHBlb3BsZSwgdGhpcyBzb3VuZHMg bGlrZSBhIGNvdWdoOyB0byBvdGhlciwgbGlrZSAidWgtaHVoIiAod2hlbiBpdCBtZWFucyAnWWVz JyByYXRoZXIgdGhhbiAnTm8nLikKCkxvamJhbiBoYXMgd2F5cyBvZiByZWZlcmluZyB0byBtb3N0 IGxldHRlcnMgeW91IGNhbiB0aGluayBvZi4gSWYgeW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwg b3V0IHlvdXIgbmFtZSBpbiBMb2piYW4gYW5kIGhhdmUgYW4gIkgiLCAiUSIsIG9yICJXIiB0byBk ZWFsIHdpdGgsIHlvdSBjYW4gdXNlICcnLnkneS5idSwga3kuYnUnJyBhbmQgJyd2eS5idScnLiBT byAiU2Nod2FyemVuZWdnZXIiIGlzIHNwZWx0IGluIExvamJhbiBhczoKCicnc3kuIGN5LiAueSd5 YnUgdnlidS4gLmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LicnCgpB bmQgc3BlbGxpbmcgInRoYXQiIGlzIGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhlIFRl cm1pbmF0b3IgZXZlciBkaWQhCgoKCk5vdyBzcGVsbCB5b3VyIG5hbWUgaW4gTG9qYmFuIChvciBh dCBsZWFzdCBzb21ldGhpbmcgY2xvc2UgZW5vdWdoIHRvIGl0IHRvIHVzZSB0aGUgdHdlbnR5LXNp eCBsZXR0ZXJzIG9mIEVuZ2xpc2ggd2UgaGF2ZSBsZWFybmVkLCBhbmQgdGhlIGFwb3N0cm9waGUp LgoKCgohISEhICdDb3JyZWN0JyBwcm9udW5jaWF0aW9uCgpZb3UgZG9uJ3QgaGF2ZSB0byBiZSB2 ZXJ5IHByZWNpc2UgYWJvdXQgTG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2UgdGhlIHBob25l bWVzIGFyZSBkaXN0cmlidXRlZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFrZSBvbmUgc291 bmQgZm9yIGFub3RoZXIuIFRoaXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUgJ2NvcnJlY3Qn IHByb251bmNpYXRpb24sIHRoZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBwcm9udW5jaWF0 aW9u4oCUdGhlIGdlbmVyYWwgcHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMgT0sgc28gbG9u ZyBhcyBpdCBkb2Vzbid0IHNvdW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVsc2UuIEZvciBl eGFtcGxlLCBMb2piYW4gciBjYW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAiciIgaW4gRW5nbGlz aCwgU2NvdHRpc2ggb3IgRnJlbmNoLgoKVHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91 Z2gsIGFyZSBwcm9ub3VuY2luZyBMb2piYW4gJydpJycgYW5kICcndScnIGxpa2UgU3RhbmRhcmQg QnJpdGlzaCBFbmdsaXNoICJoaXQiIGFuZCAiYnV0IiAoTm9ydGhlcm4gRW5nbGlzaCAiYnV0IiBp cyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxhcmx5 IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUgd2hv IGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2JsZW1z IHNwaXR0aW5nIG91dCB0aGUgJyd6ZCcnIGluICcnemRhbmknJyAoaG91c2UpLCB5b3UgY2FuIHNh eSB6yapkYW5p4oCUd2hlcmUgdGhlICLJqiIgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAi aSIgaGFzIHRvIGJlIGxvbmcuCgohISEhTG9qYmFuIE5hbWVzIChjbWV2bGEpCgpXYXRjaCBhbnkg ZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkg c3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSDigJxNZSBUYXJ6YW4s4oCdIHdoaWNoIGlzIGFz IGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBTbyBoZXJlIHdl IGdvLgoKX18nJ21pJ2UgLnJvYmluLicnX18KCiJJLWFtLW5hbWVkIFJvYmluIgoKIkknbSBSb2Jp biIKCicnbWknZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScgYW5k IHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcg dHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICJtZSBoZWgiLgoKVGhpcyBndXkgUm9i aW4gaXMgbHVja3kgYmVjYXVzZSBoaXMgbmFtZSBnb2VzIGRpcmVjdGx5IGludG8gTG9qYmFuIHdp dGhvdXQgYW55IGNoYW5nZXMuIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHJ1bGVzIGZvciBMb2pi YW4gbmFtZXMgd2hpY2ggbWVhbiB0aGF0IHNvbWUgbmFtZXMgaGF2ZSB0byBiZSAnTG9qYmFuaXNl ZCcuIFRoaXMgbWF5IHNvdW5kIHN0cmFuZ2XigJRhZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5hbWXi gJRidXQgaW4gZmFjdCBhbGwgbGFuZ3VhZ2VzIGRvIHRoaXMgdG8gc29tZSBleHRlbnQuIEZvciBl eGFtcGxlLCBFbmdsaXNoIHNwZWFrZXJzIHRlbmQgdG8gcHJvbm91bmNlICJKb3NlIiBzb21ldGhp bmcgbGlrZSAiSG96YXkiLCBhbmQgIk1hcmdhcmV0IiBpbiBDaGluZXNlIGlzICJNYWdlbGl0YSIu IFNvbWUgc291bmRzIGp1c3QgZG9uJ3QgZXhpc3QgaW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBm aXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyBpcyByZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQg b25seSBjb250YWlucyBMb2piYW4gc291bmRzLCBhbmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5 LgoKX19Ob3RlOiBfX1RoZSBjYXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNpb24gb2YgdGhlIHNvdW5k cyB3aWxsIHlvdSBiZSB1c2luZz8gRm9yIEVuZ2xpc2ggaW4gcGFydGljdWxhciwgQnJpdGlzaCBh bmQgQW1lcmljYW4gdm93ZWxzIGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQuIFRoZSBCcml0aXNoIHZl cnNpb24gb2YgIlJvYmluIiBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAnJy5yb2Jpbi4n JzsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byAnJy5yYWJ5bi4nJyBvciAn Jy5yYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVyZSBpcyBhbHNv IGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRoZSB0cmFuc2xp dGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0J3MgdGFrZSB0 aGUgRW5nbGlzaCBuYW1lICJTdXNhbiIuIFRoZSB0d28gJydzJycncyBhcmUgcHJvbm91bmNlZCBk aWZmZXJlbnRseeKAlHRoZSBzZWNvbmQgb25lIGlzIGFjdHVhbGx5IGEgInoi4oCUYW5kIHRoZSAi YSIgaXMgbm90IHJlYWxseSBhbiAiYSIgc291bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBt ZW50aW9uZWQuIFNvICJTdXNhbiIgY29tZXMgb3V0IGluIExvamJhbiBhcyAnJy5zdXp5bi4nJy4K CllvdSBtYXkgaGF2ZSBub3RpY2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVy ZS4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWln aHQgbm90IGtub3cgd2hlcmUgdGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdv cmQgYmVnYW4uCgoKCllvdSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBh IHBlcnNvbidzIGZpcnN0IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29y eSksIHNvICJKaW0gSm9uZXMiIGJlY29tZXMgJycuZGppbS5kam9uei4nJy4KCkFuIGltcG9ydGFu dCBydWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBh IGNtZXZsYSAoTG9qYmFuIG5hbWUpIG11c3QgYmUgYSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlz IHRvIHByZXZlbnQgY29uZnVzaW9uIGFzIHRvIHdoZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBp cyBhbmQgaXMgbm90IGEgbmFtZSAoYWxsIG90aGVyIExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dl bCkuIFdlIHVzdWFsbHkgdXNlICcncydmb3IgdGhpczsgc28gaW4gTG9qYmFuLCAiTWFyeSIgYmVj b21lcyAnJy5tZXJpcy4nJyAsICJKb2UiIGJlY29tZXMgJycuZGpvcy4nJyBhbmQgc28gb24uIEFu IGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gIk1hcnkiIHdv dWxkIGJlY29tZSAnJy5tZXIuJycgb3IgJycubWVpci4nJy4KCgoKVGhlIGZpbmFsIHBvaW50IGlz IHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUg cGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3Ms IHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQg RnJlbmNoIG5hbWVzICJSb2JlcnQiIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhl IEVuZ2xpc2ggbmFtZSBpcyAnJy5yb2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQu JycgaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIu JycuCgpUbyBnaXZlIGFuIGlkZWEgb2YgaG93IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21l IG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4gdGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2pi YW4uCgoKCnx8X19FbmdsaXNoX18KCk1hcmdhcmV0IFRoYXRjaGVyIHwnJy5tYWdyeXQudGF0Y3ly LicnIChubyAidGgiIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29y bGQgY2FuJ3Qgc2F5IGl0ISkKCk1pY2sgSmFnZ2VyIHwnJy5taWsuZGphZ3lzLicnIHx8Cgp8fF9f RnJlbmNoX18KCk5hcG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnCgpK dWxpZXR0ZSBCaW5vY2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHwKCnx8X19DaGluZXNlX18KCkxh b3ppIHwnJy5sYXVkei4nJwoKTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChGaW5hbCAnJ25n JycgaXMgaW4gTG9qYmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKfHxfX1R1 cmtpc2hfXwoKTXVzdGFmYSBLZW1hbCB8JycuTVVTdGFmYXMua2VNQUwuJycKCkVya2luIEtvcmF5 IHwnJy5lcmtpbi5rb3JhaXMuJycgfHwKCnx8X19HZXJtYW5fXwoKRnJpZWRyaWNoIE5pZXR6c2No ZSB8JycuZnJpZHJpeC5uaXRjeXMuJycKCkNsYXJhIFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4u JycgfHwKCnx8X19TcGFuaXNoX18KCklzYWJlbCBBbGxlbmRlIHwnJy5pemFCRUwuYWllbmRlcy4n JwoKQ2hlIEd1ZXZhcmEgfCcnLnRjZWdldmFyYXMuJycgfHwKCl9fRXhlcmNpc2VfXy4KCldoZXJl IGFyZSB0aGVzZSBwbGFjZXM/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5r YXJkaWYuCgojLmJlaWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVy LgoKIy5rZWlwdGF1bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxpcy4KCiMubmlzLgoKIy5h dGluYXMuCgojLmxpZHouCgojLnhlbHNpbmtpcy4KCkFuc3dlcjoKCn5+Z3JheSxncmF5On5+Cgoj fn5ncmF5LGdyYXk6TmV3IFlvcms6IFVTQX5+Cgojfn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fgoK I35+Z3JheSxncmF5OkhhdmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMg KFRoZSBXZWxzaCBmb3IgIkNhcmRpZmYiIGlzICJDYWVyZHlkZCIsIHdoaWNoIHdvdWxkIExvamJh bmlzZSB0byBzb21ldGhpbmcgbGlrZSBrYWlyZHlkLi4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5n OiBDaGluYX5+Cgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJrZXl+fgoKI35+Z3JheSxncmF5OkFs YmVxdWVycXVlOiBOZXcgTWV4aWNvLCBVU0F+fgoKI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2Fu YWRhfn4KCiN+fmdyYXksZ3JheTpDYXBlIFRvd246IFNvdXRoIEFmcmljYX5+Cgojfn5ncmF5LGdy YXk6VGFpcGVpOiBUYWl3YW4gKG5vdGUgYiwgbm90IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUg YiBpbiBQaW55aW4gaXMgcHJvbm91bmNlZCBhcyBhIHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQg dG8gYmUgYSBjb3Vyc2Ugb24gTWFuZGFyaW4hKX5+Cgojfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFu eX5+Cgojfn5ncmF5LGdyYXk6RGVsaGk6IEluZGlhIChUaGUgSGluZGkgZm9yICJEZWxoaSIgaXMg IkRpbGzDriIsIHdoaWNoIHdvdWxkIGdpdmUgZGlsaXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdy YXksZ3JheTpOaWNlOiBGcmFuY2V+fgoKI35+Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgiQXRo aW5hIiBpbiBHcmVlayl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn4KCiN+fmdyYXks Z3JheTpIZWxzaW5raTogRmlubGFuZH5+CgpfX0V4ZXJjaXNlX18uCgpMb2piYW5pc2UgdGhlIGZv bGxvd2luZyBuYW1lcwoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgojTWF0dGhldwoKI01pY2hh ZWwKCiNEYXZpZCBCb3dpZQoKI0phbmUgQXVzdGVuCgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1Np Z291cm5leSBXZWF2ZXIKCiNSaWNoYXJkIE5peG9uCgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5 bwoKI1NhbiBTYWx2YWRvcgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkg YWx0ZXJuYXRpdmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHBy b25vdW5jZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBz b3VuZCBkb2Vzbid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdl ZW4gdHdvIExvamJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2 ZXJ5b25lIGtub3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC5+fgoKI35+Z3Jh eSxncmF5Oi5kam9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+Cgojfn5ncmF5LGdy YXk6Lm1lbGlzeXMufn4KCiN+fmdyYXksZ3JheTouYW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcg b24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBi ZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBiZSBlLil+fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMu fn4KCiN+fmdyYXksZ3JheToubWFpa3lsLiBvciAubWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cg eW91IHNheSBpdC5+fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChi dXQgbm90IC5idSxpcy4g4oCUIHRoYXQncyB0aGUga25pZmUpfn4KCiN+fmdyYXksZ3JheTouZGpl aW4ub3N0aW4ufn4KCiN+fmdyYXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3Jh eTouc2lnb3JuaXMudWl2eXIuIG9yIC5zeWdvcm5pcy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5y aXRjeXJkLm5pa3N5bi5+fgoKI35+Z3JheSxncmF5Oi5pc3RhbkJVTC4gd2l0aCBFbmdsaXNoIHN0 cmVzcywgLklTdGFuYnVsLiB3aXRoIEFtZXJpY2FuLCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4g TG9qYmFuaXN0cyBnZW5lcmFsbHkgcHJlZmVyIHRvIGJhc2UgY21ldmxhIG9uIGxvY2FsIHByb251 bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdy YXk6Lm1hRFJJRC5+fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2Fu LnNhbHZhRE9SLiAod2l0aCBTcGFuaXNoIHN0cmVzcykgPC9zcGFuPjwvaHRtbD5+fgoKISEhIUxv amJhbiB3b3JkcyBhcyBuYW1lcwoKQnkgbm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5p c2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xh dGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBj b3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUg QW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVu Z2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFy dGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBlY3QgdGhlICJ3YXNpY2h1IiB0byBiZSBhYmxlIHRv IHByb25vdW5jZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVyIQoKTG9qYmFu IHdvcmRzIChleGNlcHQgY21ldmxhKSBlbmQgaW4gYSB2b3dlbC4gWW91IGNhbiB1c2UgbG9qYmFu IHdvcmRzIGFzIG5hbWVzIHRvby4gQnV0IGlmIHlvdSBwcmVmZXIgdGhhdCB5b3VyIG5hbWUgaXMg YSBjbWV2bGEgYW5kIGl0IGVuZHMgaW4gYSB2b3dlbCB0aGVuIHlvdSBjYW4gZWl0aGVyIGFkZCBh IGNvbnNvbmFudCB0byB0aGUgZW5kIG9mIGl0IG9yIGp1c3QgY2hvcCB0aGUgZW5kIHZvd2VsIG9m Zi4KCkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzIChvcmlnaW5hbCBuYW1lLCBtZWFuaW5nLCBuYW1l IGFuZCBuYW1lIGFzIGNtZXZsYSk6CgoqRmlzaCDigJMgZmlucGUg4oCTICcnLmZpbnAuJycKCipC asO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIpIOKAkyBjcmliZSDigJMgJycuY3JpYi4nJwoKKkdy ZWVuIOKAkyBjcmlubyDigJMgJycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1 bCkg4oCTIG1lbGJpIOKAkyAnJy5tZWxiLicnCgoqQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQp IOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg4oCTICcnLmx1cm5vYmxpcy4nJwoKISFMb2pi YW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJp KQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFu Y2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0 aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFu ZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21l IHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFy ZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGlu ZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBq dWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcs IHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNl LCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNv bWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRo ZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0 IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2Jq ZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4g b2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEg YnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9l cyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlk ZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0 ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0 IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywg SSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCd CgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAz IGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250 YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJh biB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBt b3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQg dGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEg cmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xh dGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBq dXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdz IGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291 bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVj dOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ug d2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0 aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3Ig bW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3Vt dGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRo ZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6Cgri gJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg 4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgc2l4dGVl biBuZXcgc2hpcnRzIGZyb20gTGVhJkxldnkncyBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKA nSBzdW10aTog4oCcSGXigJ0sIOKAnHNpeHRlZW4gbmV3IHNoaXJ0c+KAnSwg4oCcTGVhJkxld2lz 4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRz IGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0aGlyZCBleGFtcGxl OiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0aGUgYW1vdW50IG9m IHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGhh cyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRoZSBFUEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5k IOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRl4oCdfn4KCgoKTm93IHRyeSBiZWdpbiBt YWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBzb21lIHdv cmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToKCicnX19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIg dG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19wZWx4dV9fJycgeDEgaXMgeWVsbG93CgonJ19f emRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBt ZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KAnSBhbmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBj b25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4g TG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0 aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxp cyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2aW5n4oCdIChhZGplY3RpdmUpIGFzIHdlbGwg YXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxicmksIGFuZCBhcmUgdXNl ZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwgYXMgYSBmZXcgd29yZHMsIHdoaWNoIGNhbiBh Y3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEnigJ0gb3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUg b3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicnX190aV9fJycg4oCcdGhpc+KAnSDigJMgYSBj bG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhl IHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8g YXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0 aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJl IGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVyZSBzdW10aSBjYW4gZ28g dG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0 aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBsYWNlIG9mICcnZHVuZGEn JywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBp cyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRoZSB0aGluZy4gTm90aWNlIGFsc28gdGhhdCB0 aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhhcyB0aGUgd29yZCDigJx0b+KAnSBpbiBpdC4g VGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8g c2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkg cGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0aGlyZCBzdW10aSBwbGFj ZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBhbHdheXMgdGhlIHJlY2Vp dmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1aXZhbGVudCB0byB0aGUgd29yZCDigJx0b+KA nSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1wbHkgc2F5IHRoZSB4MSBzdW10aSBmaXJzdCwg dGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhlciBzdW10aS4KClVzdWFsIGJyaWRpOiB7eDEg c3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9IHt4MyBzdW10aX0ge3g0IHN1bXRpfSB7eDUg c3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIgY2FuIGJlIHBsYXllZCBhcm91bmQgd2l0aCwg YnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhlIHVzdWFsIGZvcm0uIFRvIHNheSDigJxJIGdp dmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5ICcnbWkgZHVuZGEgdGkgZG8nJywgd2l0aCB0 aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBsYWNlcy4KCgoKU28sIGhvdyB3b3VsZCB5b3Ug c2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn dGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBtb3JlIGluIG9yZGVyIHRvIGdldCB0aGUgaWRl YSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGluLgoKCgrigJxZb3UgZ2l2ZSB0aGlzIHRvIG1l 4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnZG8gZHVuZGEgdGkgbWknJ35+CgoKCkFuZCB0 cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyB5 ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNlIHlvdSBnZXQgdGhlIGhhbmcgb2YgaXQsIHJp Z2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBlYWNoIG90aGVyIGFyZSBzZXBhcmF0ZWQgYnkg JycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIGZ1bGwgc3RvcCwgYnV0IGl0 IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5zdGVhZCBvZiBhZnRlciB0aGVtLiBJdCdzIG9m dGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3QgYnJpZGksIHRob3VnaCwgYXMgaW4gYWxsIHRo ZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50ZW5jZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBh bnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFsc28gYnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1p ICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBob21lIHRvIG1lLiBUaGlzIGlzIHllbGxvdy7i gJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRoZSBuZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQg dGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBsZWFzdCBzZXZlbiBtaW51dGVzIHRvIGxldCB0 aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24g dHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJpIGhhdmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10 aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIg c3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4MSBzZWxscyB4MiB0byB4MyBmb3IgcHJpY2Ug eDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNlbGwgdGhpc+KAnSwgaXQgd291bGQgYmUgdG9v IG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFjZXMgeDMgYW5kIHg0LCB3aGljaCBz cGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tp bHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxhY2VzIGNhbiBiZSBmaWxsZWQgd2l0aCAnJ3pv J2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10 aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNlIGl0J3MgdW5pbXBvcnRhbnQgb3IgY2FuIGJl IGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydfX3pvJ2VfXycnIOKAnHNvbWV0aGluZ+KAnSBG aWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRoaW5nLCBidXQgZG9lcyBub3Qgc3RhdGUgd2hh dC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5b3XigJ0sIEkgY291bGQgc2F5ICcnbWkgdmVj bnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBzb21ldGhpbmcgdG8geW91IGZvciBzb21lIHBy aWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRoYXQncyBhIGhvbWUgKGZvciBzb21lYm9keSni gJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgemRhbmkgem8nZScnfn4KCgoKSG93IGFi b3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8nZScnfn4KCgoKU3RpbGwsIGZpbGxpbmcgb3V0 IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMg dGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVkIHRvIHdyaXRlIGFsbCB0aGUgJyd6bydlJycg aW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlzIHRoYXQgaWYgeW91IGxlYXZlIG91dCBhbnkg c3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGlmIHRoZXkgY29udGFpbmVkICcnem8n ZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBzZWxicmksIHRoZSB4MSBpcyBwcmVzdW1l ZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcnem8nZScnLgoKVHJ5IGl0IG91dC4gV2hh dCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkg dmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6ZGFuaSBtaScnIG1lYW4/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEgaG9tZSBvZiBtZeKAnSBvciBqdXN0IOKAnEkg aGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlvbmVkIGVhcmxpZXIsIHRoZSBmb3JtIGRvZXNu J3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAo ZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUgc2VsYnJpIGFueXdoZXJlIHlvdSB3YW50 LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaS4gSWYgeW91IGRvIHRoYXQs IHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFuZCBmaWxsZWQgd2l0aCAnJ3pvJ2UnJyBp bnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVlIGp1ZnJhIGFyZSBhbGwgdGhlIGV4YWN0bHkg c2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8nJwoKJydtaSB0aSBkdW5kYSBkbycnCgonJ21p IHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRoaXMgaXMgdXNlZCBmb3IgcG9ldGljIGVmZmVj dC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291bGQgYmUgJydkbyBkbyB2ZWNudScnLCB3aGlj aCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNudSBkbycnLiBPciBpdCBjYW4gYmUgdXNlZCBm b3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZlcnkgbG9uZyBhbmQgdGhlcmVmb3JlIGJldHRl ciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLgoKCgpUaGVyZSBhcmUgYWxzbyBzZXZl cmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0aGUgb3JkZXIgb2YgdGhlIHN1bXRpIGluc2lk ZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBpcyBieSB1c2luZyB0aGUgd29yZHMgJydmYScn LCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAnJ2Z1JycuIE5vdGljZSB0aGF0IHRoZSB2b3dl bHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUgTG9qYmFuIGFscGhhYmV0IGluIG9yZGVyLiBV c2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3MgdGhhdCB0aGUgbmV4dCBzdW10aSB3aWxsIGZp bGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSByZXNwZWN0aXZlbHkuIFRoZSBuZXh0IHN1bXRp IGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0byBmaWxsIGEgc2xvdCBvbmUgZ3JlYXRlciB0 aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4YW1wbGU6CgonJ2R1bmRhIGZhIGRvIGZlIHRp IGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2YgdGhpcyB0aGluZyB0byB5b3XigJ0uICcnZmEn JyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hpY2ggaXMgeW91LiAnJ2ZlJycgbWFya3MgdGhl IHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1bXRpIGNvdW50aW5nIHRoZW4gY29udGludWVz IGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhlIGxhc3Qgc3VtdGkgZmlsbHMgeDMsIHRoZSBv YmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHRo cmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBmbyB0aSBmZSBkbycnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHByaWNlIG9mIHRoaXMsIHlvdeKAnS4gb3Ig4oCc SSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRoaXPigJ0gKHByb2JhYmx5IHBvaW50aW5nIHRv IGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFuaSBmZSB0aScnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBIZXJlLCB0aGUgZmUgaXMgcmVkdW5kYW50Ln5+ CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc WW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0aGlzIHByaWNl4oCdfn4KCgoKCgohIUxvamJh biBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRhbnJ1IGFuZCBsbykKCkluIHRoaXMgbGVzc29u LCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgY29uY2VwdCBvZiBhICcndGFucnUn Jy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNlbGJyaSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5v dGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVhbmluZy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBz ZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90aGVyIHNlbGJyaSBvciB0YW5ydSB0byBmb3Jt IG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pkYW5pIHZlY251JycgaXMgYSB0YW5ydSwgYXMg d2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScnLCB3aGljaCBpcyBtYWRlIGZyb20gdGhlIHRh bnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNpbmdsZSBicml2bGEgd29yZCAnJ3ZlY251Jycu IFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2YgdGFucnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNo IG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJlZeKAnS4gSWYgeW91IGRpZG4ndCBrbm93IHdo YXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBoZWFyZCBhYm91dCBib3RoIGxlbW9ucyBhbmQg dHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0byBkZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUg d2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0cmVlLCBvciBhIHRyZWUgc2hhcGVkIGxpa2Ug YSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsgdGFzdGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5 IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3VyZSB3b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJl IGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9uLWxpa2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1 IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMuIEl0IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkg d2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0IGl0IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMg ZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBpdCdzIHpkYW5pLWxpa2UgaW4gc29tZSB3YXku IEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGluIGFueSB3YXkuIEluIHRoZW9yeSwgbm8gbWF0 dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNvbm5lY3Rpb24gdG8gemRhbmkgd2FzLCBpdCBj b3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkgdmVjbnUnJy4gSG93ZXZlciwgaXQgbXVzdCBh Y3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRpbmFyeSBzZW5zZSBpbiBvcmRlciBmb3IgdGhl IHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xvc3MgJyd6ZGFuaSB2ZWNudScnIGFzIOKAnGhv bWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBidXQgd29yc2Ugc291bmRpbmcg4oCcYSBob21l LXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgdGFucnUgaXMgYWx3 YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxicmkuIEl0J3MgYWxzbyBzYWlkIHRoYXQgdGhl IGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdodCBzZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5 b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9lc24ndCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBj b25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4gYSB0YW5ydSBpcywgaXQncyBzdGlsbCB0cnVl PyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMgZm9yICcnemRhbmkgdmVjbnUnJyBhbmQgdGhl biBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdoeSBJIHRoaW5rIGl0J3MgemRhbmktbGlrZT/i gJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBiZSBhIGRpY2suIE9yIGF0IGxlYXN0IHlvdSdk IGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4gSW4gZ2VuZXJhbCwgeW91IHNob3VsZCB1c2Ug YSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cgdGhlIGxlZnQgd29yZCByZWxhdGVzIHRvIHRo ZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzogJyd0aSBwZWx4 dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhhdCBpcyBhIHllbGxvdyBo b21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0IGtub3cgaW4gd2hpY2ggd2F5IGl0J3MgeWVs bG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVsbG93LCBidXQgd2UgZG9uJ3Qga25vdyBmb3Ig c3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJ IHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRh aW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29sZCBzb21ldGhpbmcsIHNpbmNlLCBieSBkZWZp bml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2FuIGJlIG5vIHBheW1lbnQgaW52b2x2ZWQuIEl0 IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUgc2VsbC1saWtlIGluIHNvbWUgYXNwZWN0Ln5+ CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4gV2hhdCBpZiBJ IHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2VybWFuPwoKJydfX2RvdGNvX18nJyB4MSBpcyBH ZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5 ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28gc2Vs YnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcnbWkg ZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291 bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkg YW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNheT8KCicnX19w ZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIKCicnX19tZXJrb19fJycgeDEgaXMgQW1lcmlj YW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMg d291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVya28nJywgYnV0IHRoYXQgd291bGQgZm9ybSBh IHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0sIHdoaWNoIGlz IHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRvIGlzIHRvIHRha2UgdGhlIHNlbGJyaSAnJ21l cmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEgc3VtdGkgc28gaXQgY2FuIGJlIHVzZWQgaW4g dGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMgZG9uZSBieSB0aGUgdHdvIHdvcmRzICcnbG8n JyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMgZ2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJy aSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoK X18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoKCllv dSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2VlbiB0aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0 YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVy bnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGluc3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQgY2Fu IGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUgaG9tZXMgb2Ygc29t ZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFucyDigJxhIGhvbWUgb3Igc29tZSBob21lcyBm b3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYgSSBzYXkgdGhhdCBzb21ldGhpbmcgaXMgcGVs eHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAnJ2xvIHBlbHh1IGt1JycgcmVmZXJzIHRvIHNv bWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2ZSB0aGUgbmVjZXNzYXJ5IGdyYW1tYXIgdG8g YmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4u4oCdIEhvdz8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBlbmRvIGxvIG1lcmtvIGt1Jyd+fgoKCgpUaGVy ZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydrdScnIGlzIG5lY2Vzc2FyeS4gVHJ5IHRvIHRy YW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlzIHRvIG1l4oCdCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBtaScnIElmIHlvdSBsZWF2ZSBvdXQgdGhlIGt1 LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQgc2ltcGx5IHRocmVlIHN1bXRpLiBTaW5jZSBs b+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0aGUgdGkgaXMgZm9yY2VkIG91dHNpZGUgdGhl IHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZvcmNlZCB0byBjbG9zZSBhbmQgaXQgc2ltcGx5 IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcnbG8gZG90Y28gdmVjbnUge2t1fScnLCAnJ3Rp JycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlzIGhhdmUgdG8gYmUgY2FyZWZ1bCB3aXRoIGp1 ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScnLiBJZiB0aGUgJydrdScnIGlzIGxlZnQgb3V0 IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBub3QgZW5kLCBhbmQgaXQgc2ltcGx5IGJlY29t ZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnemRhbmkgcGVseHUnJyBhbmQgdGhl biBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29u IGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIgY29uY2VwdCB3aGljaCBjYW4gYmUgdW5mYW1p bGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVk aW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEg b2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0cnVjdGVkIGxh bmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4g VGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJl ZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUg dG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhy b3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwgdGhlcmUgaXMgbm8g c3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBoYXZlIGJlZW4gZGVz aWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5j cmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBzby1jYWxsZWQgZnJl ZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1vc3QgYW55d2hl cmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGkncyBncmFtbWFyIG9y IGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoKSW4gTG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0 dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQuIElmIHRoYXQgcHJldmlvdXMgd29y ZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29uc3RydWN0IChsaWtlICcnLmknJyBvciAnJ2xv JycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgY29uc3RydWN0LiBMaWtld2lzZSwgaWYgdGhl IGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdoaWNoIGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAn J2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVkIGNvbnN0cnVjdC4KCgoKTGV0J3MgaGF2ZSB0 d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBleGFtcGxlczoKCl9fJycudWknJ19fOiBhdHRp dHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogaGFwcGluZXNzIC0gdW5oYXBwaW5lc3MKCl9f Jyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoK CgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24gb2YgJycudWknJywgdGhlcmUgYXJlIGxpc3Rl ZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhh dCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg4oCcbmVnYXRpb27i gJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBiZSB0aGUgd3Jvbmcg d29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24gb2YgJycudWknJyBp cyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBz ZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBzdWZmaXhlZCB3aXRo ICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFs LiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNjLiBuZWdhdGlvbiAt IGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVhbmluZyBpbnRvIHRo ZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBzZWxicmksIGp1c3Qg Zm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0cyB4MgoKX18nJ3Bs aXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIKCgoKVGhlIHNlbnRl bmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBw bGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxl X18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRo ZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2RvIHphJ2EgY2l0a2Eg bG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGlyZWN0bHkgb2JzZXJ2ZXMgdGhhdCBpdCBpcyBp bmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBlYXRzIGFuIGFwcGxlIGFzIG9wcG9zZWQgdG8g c29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVkaW5hbCBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lu bmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVyc3Rvb2QgdG8gYXBwbHkgdG8gYW4gZXhwbGlj aXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFwcGx5aW5nIHRvIHRoZSBlbnRpcmUgYnJpZGk6 CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNlIGt1IG1pJycg4oCTIOKAnFlheSwgSSBvYnNl cnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBsZSB0byBtZSHigJ0KCgoKJydtaSB2ZWNudSAu dWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxsICh3aGljaCBzdWNrcyEpIGEgaG9tZeKAnS4K CgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1wbGVzLiBGaXJzdCwgdGhvdWdoLCBoZXJlIGFy ZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18nJy51J3UnJ19fIGF0dGl0dWRpbmFsOiBzaW1w bGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9f Jycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogY29tcGxhaW50IC0g cGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVkaW5hbDogbWlzY2VsbGFuZW91cyBwdXJlIGVt b3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0IHRoYXQsIHR3byB3b3JkcyB3aXRoIHRocmVl IGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBUaGUgbWlkZGxlIG9uZSBpcyBhY2Nlc3NlZCBi eSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0J3MgY29uc2lkZXJlZCB0aGUgbWlkcG9pbnQg b2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0aXR1ZGluYWwgbWlkcG9pbnQgc2NhbGFy OiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRoZSBtZWFuaW5nIHRvIHRoZSAibWlk cG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5nIOKAnEkgZ2l2ZSBzb21ldGhpbmcg dG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1 bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem8nZScnIGluc3RlYWQgb2YgJydmaScnfn4K CgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cgYXBwbGXigJ0KCkFuc3dlcjogfn5ncmV5LGdy ZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1IHBsaXNlIGt1Jyd+fgoKCgpMZXQncyBoYXZl IGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQga2luZCB0byBpbGx1c3RyYXRlIHNv bWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1ZGluYWw6IGNvbXBsZXggcHJvcG9zaXRp b25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1aXRlIGVhc3k6IOKA nEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdIGlzICcnbWkgZHVuZGEgLmVpIGxvIHBs aXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkhIFdoZW4geW91IHRoaW5rIGFib3V0IGl0 LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0IGFsbCB0aGUgb3RoZXIgYXR0aXR1ZGluYWxz IHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2VzIHRoZSBzcGVha2VyJ3MgZmVlbGluZyBhYm91 dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQgdGhlIGJyaWRp IG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdh eeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0aGUgYXBwbGUgYWN0dWFsbHkgaXMg YmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAnJy51aScnLCBob3dldmVyLCBJIHdvdWxk IGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5LCBhbmQgdGhh dCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdzIHRoYXQgYWxsIGFib3V0PwoKCgpUaGlzIGlz c3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBjb25kaXRpb25zIG9uIHdo aWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlub3IgZGViYXRlLiBUaGUg b2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdoaWNoIHByb2JhYmx5IHdvbid0IGJlIGNo YW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIOKAnHB1cmUgZW1v dGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwgZW1vdGlvbnPigJ0uIE9ubHkgcHJvcG9zdGlv bmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRydXRoIGNvbmRpdGlvbnMsIHdoaWxlIHB1cmUg ZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBleHByZXNzIGEgcHJvcG9zaXRpb25hbCBlbW90 aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFuZ2luZyB0aGUgdHJ1dGggdmFsdWUgb2YgdGhl IGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUgaXQgZnJvbSB0aGUgYnJpZGkgd2l0aCAnJy5p JycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBleHBsaWNpdGx5IGNvbnNlcnZpbmcgb3IgY2hh bmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgYSBicmlkaToKCgoKX18nJ2RhJ2knJ19fIGF0 dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3NpbmcgLSBpbiBmYWN0CgpTYXlpbmcgJydkYSdp JycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb25zIHRvIGh5cG90aGV0aWNh bCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9zaXRpb25hbCBhdHRpdHVkaW5hbHMu IFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9uIHRvIHRoZSBu b3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcgcHVyZSBhdHRpdHVkaW5hbHMuCgoKClNvLCB3 aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnT8gKGFu ZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBk dW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcnbWkgZHVuZGEgZGEnaSBuYWkgLmVpIGxvIHBs aXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJl ZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4gVXN1YWxseSBpbiBvcmRpbmFyeSBzcGVl Y2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0 IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywgYmVjYXVzZSB0aGUgd29yZCBpcyBnbG9zc2Vk IOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJzIGVtb3Rpb25zKSwgc29tZSBMb2piYW5pc3Rz IG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3BlYWtlciBtdXN0IHNoYXJlIHRoZSBlbW90aW9u IGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoKX18nJ2RhaScnX18gYXR0aXR1ZGluYWwgbW9k aWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0aXR1ZGluYWwgdG8gc29tZW9uZSBlbHNlLCB1 bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5vaSBkYWkgY2l0a2EgdGknJyAtIOKAnEhhIGhh LCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVydCHigJ0KCgoKV2hhdCBvZnRlbiB1 c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0 IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xk IGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVuc2UgaXMgaW1wbGllZCBhbmQgbmVlZCBu b3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBjb3VsZCBiZSBvYnZpb3VzIGZyb20gY29u dGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3UndSBkYWkgdmVjbnUgbG8gemRhbmkga3Un J35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3Bl Y2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRoZXNlIGNhbiBiZSB1c2VkIGFmdGVyIGFuIGF0 dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3aXRoICcnbmFpJycgb3IgJydjdSdpJycgc3Vm Zml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0YWNoIGl0IHRv IG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBtdXN0IGl0J3MgbW9zdGx5IHVuZGVyc3Rvb2Qg YXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNvbWUgdW5zcGVjaWZp ZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8ICAgRXh0cmVt ZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1bSkKCiBydSdl ICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNpbmcgJycudSdpIG5h aSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9u OiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpTdHJvbmcgd2Vh cmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBhcmUgbWlsZGx5 IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBjdSdpIHJ1J2UnJ35+ CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJlZm9yZSB3ZSB2ZW50 dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3RydWN0cywgeW91IHNo b3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0aGUgc3VtdGkgb2Yg YSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2VmdWwgZm9yIG1ha2lu ZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3aXRoICcnbG8nJyku CgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGljaCBtaWdodCBi ZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5zbGF0ZSB0aGlz LCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBtZWFuaW5nIOKAnGdp ZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBjYXJlZnVsbHkg YXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0byB4Mywgb25lIHJl YWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2ZW4g4oCTIGEg Z2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0IHNheSAnJ21pIGNp dGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4 MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBh c2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlzIGEgd2F5IHRv IGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBsZSB3aGVyZSBp dCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycgZG9lcyBpcyB0 byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhhdCBzZWxicmkg dHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJyaSBpcyBvbiBpdHMg b3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4gb3JkaW5hcnkgc2Vu dGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0byBsYW5ndWFnZSB4 MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg14oCdCgonJ3Rp IHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJhbnNsYXRlZCBieSBt ZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBicmlkaSB3aXRo ICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3aXRoIHRoZSBw YXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0YWtpbmcgYWN0 aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9mIHRoZW0gc3dh cCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEgYW5kIHgyCgp0 ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAgeDEgYW5kIHg1 fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUgY29uc29uYW50cyBp biB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93bGVkZ2UsIHdoYXQg d291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc VGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEgdGkgZnUgdGknJyl+ fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBjb21iaW5lZCB3aXRo ICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBjb25mdXNpbmcg aW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1hJydfXyA9IOKAnHgx IHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0cmFuc3BvcnRh dGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkga3UgdGUga2xhbWEgZmUgZG8gdGkgZmEgbWkn JyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2luY2UgJyd0ZScnIGV4 Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBrdScnCgrigJxU aGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2YgY291cnNlLCBubyBv bmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2UgcGVvcGxlLCBv ciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4gZ3JhbW1hci4K CkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdlIGNhbiBzYXkg4oCc SSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFjZXMgb2YgJydk dW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0IHRoaXMgbmV3IHgx IHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/CgpPbmUgKHBv c3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UnJ35+ CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycgYW5kIGl0cyBmYW1p bHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJzdHJhY3Rpb25zKQoK U28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBvbmUgYXQgYSB0 aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlvdSBvZnRlbiBu ZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJlIG11Y2ggZWFzaWVy IGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNhbiBiZWdpbiB3aXRo IGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBh cmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJIGFtIGhhcHB5IHRo YXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJpZW5kLuKAnSBM b29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hpY2ggaXMgJydnbGVr aScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAoZXZlbnQvc3RhdGUp 4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRl LiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBv YmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4g QnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5k IG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFzIHlvdSBtaWdodCBo YXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1J3UnJy4uLicn a2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9u LCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4gRXhhbXBsZToKCl9fJydtcm9i aSdvJydfXyDigJx4MSBkaWVzIHVuZGVyIGNvbmRpdGlvbiB4MuKAnQoKX18nJ3N1J3UnJ19fIHgx IGlzIGFuIGFic3RyYWN0aW9uIG9mIHticmlkaX0gb2YgdHlwZSB4MgoKX18nJ2tlaScnX18gZW5k IGFic3RyYWN0aW9uCgonJ21pIHN1J3UgZG8gbXJvYmknbyBrZWknJyDigJMg4oCcSSBhbSB5b3Vy IGRlYXRo4oCdLgoKSXQncyBoYXJkIHRvIGZpbmQgZ29vZCB1c2VzIG9mIGEgYnJpZGkgYXMgYSBz ZWxicmksIGFuZCB0aGUgYWJvdmUgZXhhbXBsZSBzZWVtcyBhIGxpdHRsZSB1bmNvbnZpbmNpbmcu IEhvd2V2ZXIsIHNpbmNlICcnc3UndSBCUklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBj b252ZXJ0IGl0IHRvIGEgc3VtdGkgdXNpbmcgJydsbycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUg dGhlIGVxdWlwbWVudCB0byBleHByZXNzIOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZy aWVuZOKAnS4gVHJ5IGl0IG91dCEKCl9fJydwZW5kbycnX18g4oCceDEgaXMgYSBmcmllbmQgb2Yg eDLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIHN1J3UgZG8gcGVuZG8g bWkga2VpIGt1Jyd+fgoKCgpIb3dldmVyLCAnJ3N1J3UnJ+KApicna2VpJycgZG9lcyBub3Qgc2Vl IG11Y2ggdXNlLiBQZW9wbGUgcHJlZmVyIHRvIHVzZSB0aGUgbW9yZSBzcGVjaWZpYyB3b3JkcyAn J251JyfigKYnJ2tlaScnIGFuZCAnJ2R1J3UnJ+KApicna2VpJycuIFRoZXkgd29yayB0aGUgc2Ft ZSB3YXksIGJ1dCBtZWFuIHNvbWV0aGluZyBkaWZmZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMg dGhlIGJyaWRpIGluIGJldHdlZW4gYXMgYW4gZXZlbnQgb3Igc3RhdGUsIGFuZCAnJ2R1J3XigKZr ZWknJyB0cmVhdHMgaXQgYXMgYW4gYWJzdHJhY3QgYnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5n cyBsaWtlIGlkZWFzLCB0aG91Z2h0cyBvciB0cnV0aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0 ICcna2VpJycpIGFyZSBjYWxsZWQgYWJzdHJhY3RvcnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0s IGFuZCBvbmx5IGZldyBhcmUgdXNlZCBtdWNoLiAnJ3N1J3XigKZrZWknJyBpcyBhIGdlbmVyYWwg YWJzdHJhY3RvciwgYW5kIHdpbGwgd29yayBpbiBhbGwgY2FzZXMuCgoKClVzZSAnJ251JycgdG8g c2F5IOKAnEknbSBoYXBweSBhYm91dCB0YWxraW5nIHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18g eDEgdGFsa3MgdG8geDIgYWJvdXQgc3ViamVjdCB4MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIG51IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2Ug Ym90aCB0aGUgRW5nbGlzaCBhbmQgdGhlIExvamJhbiBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9p bmcgdGhlIHRhbGtpbmcpLn5+CgoKCk90aGVyIGltcG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRl OiAnJ2thLi4ua2VpJycgKHByb3BlcnR5L2FzcGVjdCBhYnN0cmFjdGlvbiksICcnc2knby4uLmtl aScnIChjb25jZXB0L2lkZWEgYWJzdHJhY3Rpb24pLCAnJ25pLi4ua2VpJycgKHF1YW50aXR5IGFi c3RyYWN0aW9uKSBhbW9uZyBvdGhlcnMuIFRoZSBtZWFuaW5ncyBvZiB0aGVzZSBpcyBhIGNvbXBs aWNhdGVkIG1hdHRlciwgYW5kIHdpbGwgYmUgZGlzY3Vzc2VkIG11Y2ggbGF0ZXIsIGluIGxlc3Nv biB0d2VudHktbmluZS4gRm9yIG5vdywgeW91J2xsIGhhdmUgdG8gZG8gd2l0aG91dCB0aGVtLgoK CgpJdCBpcyBpbXBvcnRhbnQgdG8gbm90aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNl dmVyYWwgc3VtdGkgcGxhY2VzLiBBcyBhbiBleGFtcGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlv bmVkLiAnJ2R1J3UnJyBpcyBkZWZpbmVkOgoKJydkdSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBp cyB0aGUgcHJlZGljYXRlL2JyaWRpIG9mIHticmlkaX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy 4oCdLgoKVGhlIG90aGVyIHN1bXRpIHBsYWNlcyBiZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBi dXQgJydsbyBzZSBkdSd1IHticmlkaX0ga2VpIGt1JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBz dW10aSBmb3IgaW5kaXJlY3QgcXVvdGF0aW9uOiDigJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBh IGRvZ+KAnSBjYW4gYmUgd3JpdHRlbiAnJ21pIGN1c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEg bG8gZ2Vya3Uga3Uga2VpIGt1JycsIGlmIHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBs ZS4KCl9fJydjdXNrdScnX18geDEgZXhwcmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0 CgpfXycnZ2Vya3UnJ19fIHgxIGlzIGEgZG9nIG9mIHJhY2UgeDIKCiEhTG9qYmFuIGxlc3NvbnMg 4oCTIGxlc3NvbiBzZXZlbiAoTk9JKQoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlJ3MgYW5vdGhl ciB0eXBlIG9mIHN1Ym9yZGluYXRlIGJyaWRpLiBUaGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNs YXVzZXMuIFRoZXkgYXJlIHNlbnRlbmNlcyB3aGljaCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBh IHN1bXRpLiBJbmRlZWQsIHRoZSDigJx3aGljaOKAnSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2Ug bWFya2VkIHRoZSBiZWdpbm5pbmcgb2YgYSByZWxhdGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNj cmliaW5nIHJlbGF0aXZlIGNsYXVzZXMuIEluIExvamJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2 b3JzLCBhbmQgaXQgbWlnaHQgYmUgd29ydGggZGlzdGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBi ZWZvcmUgbGVhcm5pbmcgaG93IHRvIGV4cHJlc3MgdGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNh bGxlZCByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVs YXRpdmUgY2xhdXNlcy4gQW4gZXhhbXBsZSB3b3VsZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90 aGVyLCB3aG8gaXMgdHdvIG1ldGVycyB0YWxsLCBpcyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2Fu IGJlIHVuZGVyc3Rvb2QgaW4gdHdvIHdheXMuIEkgY291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJz LCBpbiB3aGljaCBjYXNlIHNheWluZyBoZSBpcyB0d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91 IGtub3cgd2hpY2ggYnJvdGhlciBJIGFtIHRhbGtpbmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBv bmx5IG9uZSBicm90aGVyLCBpbiB3aGljaCBjYXNlIEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRk aXRpb25hbCBpbmZvcm1hdGlvbi4KCgoKSW4gRW5nbGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBk aXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3byBraW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJl dGF0aW9uIGlzIHJlc3RyaWN0aXZlIChzaW5jZSBpdCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2li bGUgYnJvdGhlcnMgSSBtaWdodCBiZSB0YWxraW5nIGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVz dHJpY3RpdmUuIFdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2lj ZSAob3IgaW4gd3JpdHRlbiBFbmdsaXNoLCBwdW5jdHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vp c2ggYmV0d2VlbiB0aGVzZSB0d28sIGJ1dCBub3Qgc28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0 aGUgY29uc3RydWN0cyAnJ3BvaeKApmt1J28nJyBhbmQgJydub2nigKZrdSdvJycgZm9yIHJlc3Ry aWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5 LgoKTGV0J3MgaGF2ZSBhIExvamJhbmljIGV4YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4g b3VyIHN0cmFuZ2UgZ2lmdC1lYXRpbmcgYmVoYXZpb3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3Nv biBmaXZlOgoKX18nJ25vaScnX18gYmVnaW4gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVz ZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3Rp dmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycna3Unbycn X18gZW5kIHJlbGF0aXZlIGNsYXVzZQoKCgonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBw bGlzZSBrdSdvJycgPSDigJxJIGVhdCBhIGdpZnQgc3VjaCB0aGF0IChzb21ldGhpbmcgaXMpIGFu IGFwcGxl4oCdLiAKCkhlcmUgdGhlICcncG9p4oCma3UnbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVy ICcnbG8gc2UgZHVuZGEga3UnJywgc28gaXQgYXBwbGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3Ry aWN0LCB0aGUgcmVsYXRpdmUgY2xhdXNlIGRvZXMgbm90IHNwZWNpZnkgd2hhdCBpdCBpcywgd2hp Y2ggaXMgYW4gYXBwbGUsIGJ1dCBzaW5jZSB0aGUgcmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8g dGhlIGdpZnQsIHdlIGNhbiBzYWZlbHkgYXNzdW1lIHRoYXQgaXQgbWVhbnMgdGhhdCB0aGUgZ2lm dCBpcyBhbiBhcHBsZS4gQWZ0ZXIgYWxsLCBpbiB0aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwg dGhpcyBzZWVtcyByZWFzb25hYmxlLiBJZiB3ZSB3YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0 aGF0IGl0IGluZGVlZCB3YXMgdGhlIGdpZnQgdGhhdCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUg d29yZCAnJ2tlJ2EnJywgd2hpY2ggaXMgYSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwg bW9yZSBvbiB0aGVtIGxhdGVyKSByZXByZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxh dGl2ZSBjbGF1c2UgaXMgYXR0YWNoZWQgdG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJz IHRvIHRoZSBzdW10aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4K CgoKJycudWkgbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g 4oCcWWF5LCBJIGVhdCBhIGdpZnQgd2hpY2ggaXMgYW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUg dGhlIGRpZmZlcmVuY2UgYmV0d2VlbiByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJl bGF0aXZlIGNsYXVzZXMsIGhlcmUncyBhbm90aGVyIGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g 4oCceDEgcmVmbGVjdHMgTG9qYmFuaWMgY3VsdHVyZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4 MSBpcyBMb2piYW5pYy7igJ0KCgoKJydtaSBub2kgbG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pi byBrdScnID0g4oCcSSwgd2hvIGFtIGEgTG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9q YmFuaWMgbGFuZ3VhZ2Uu4oCdIEhlcmUsIHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hp Y2ggJydtaScnIGNvdWxkIHJlZmVyIHRvLCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmlj IGlzIG1lcmVseSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkg bWUuIFRoZXJlZm9yZSAnJ25vaeKApmt1J28nJyBpcyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3Ug Y2FuIHRyYW5zbGF0ZSB0aGlzOiDigJxJIGZsaXJ0IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1 bC9oYW5kc29tZeKAnS4KCl9fJyduYW5tdScnX18g4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxi aScnX18g4oCceDEgaXMgYmVhdXRpZnVsIHRvIHgyIGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5k YXJkIHg04oCdCgpfXycnY2luamlrY2EnJ19fIOKAnHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGli aXRpbmcgc2V4dWFsaXR5IHgzIGJ5IHN0YW5kYXJkIHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBjaW5qaWtjYSBsbyBuYW5tdSBrdSBwb2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoK Ck9uIGEgbW9yZSB0ZWNobmljYWwgc2lkZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25v dyB0aGF0ICcnbG8ge3NlbGJyaX0ga3UnJyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydl IG5vaSBrZSdhIHtzZWxicml9IGt1J28nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNz b24gZWlnaHQgKHRlcm1pbmF0b3IgZWxpc2lvbikKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUg bGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5h IG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtl aSBrdSB2YXVfXycnCgogLSAg4oCcSSB3aXNoIHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxp bmcsIHdvdWxkIHVuZGVyc3RhbmQgdGhhdCBJIGRvbid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKA nQoKUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRl cnN0b29kLCAoaXQgc2hvdWxkbid0LCBhcyBpdCBjb250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBj b3ZlcmVkIGluIHRoZXNlIGxlc3NvbnMgeWV0KSBvbmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9y ZSBjb21wbGV4IExvamJhbiBzdHJ1Y3R1cmVzIGFyZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9m IHRoZSBzZW50ZW5jZXMgZ2V0IGZpbGxlZCB3aXRoICcna3UnJywgJydrZWknJywgJydrdSdvJycg YW5kIG90aGVyIG9mIHRob3NlIHdvcmRzIHdoaWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVh bmluZy4KCgoKVGhlIGZ1bmN0aW9uIG9mIGFsbCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhl IGVuZCBvZiBhIGNlcnRhaW4gZ3JhbW1hdGljYWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5j ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRo ZSBFbmdsaXNoIHdvcmQgZm9yIHRoaXMga2luZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0s IHRoZSBMb2piYW4gd29yZCBpcyAnJ2ZhJ29ybWEnbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJv bGQgaW4gdGhlIGV4YW1wbGUgYWJvdmUuCgpOb3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUg ZXhhbXBsZSBhcmUgdGhlIGZhJ29ybWEnbyBmb3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBh IGdvb2QgcmVhc29uIHlvdSBoYXZlIG5vdCB5ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2 YXUnJ19fIGZhJ29ybWEnbzogVGVybWluYXRlcyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5k IHdyaXR0ZW4gTG9qYmFuLCBtb3N0IGZhJ29ybWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhp cyBncmVhdGx5IHNhdmVzIHN5bGxhYmxlcyBpbiBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcs IGhvd2V2ZXIsIG9uZSBtdXN0IGFsd2F5cyBiZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1h J28uIEluIHRoZSBzaW1wbGUgZXhhbXBsZSAnJ2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5n IHRoZSBmYSdvcm1hJ28gJydrdScnIHdvdWxkIHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hp Y2ggaXMgYSBzaW5nbGUgc3VtdGkgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycu IFRodXMsIGl0IG1lYW5zIOKAnGFuIEFtZXJpY2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCc YW4gQW1lcmljYW4gdHJhdmVsc+KAnS4gZmEnb3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVy eSB3cm9uZyByZXN1bHRzIGlmIGRvbmUgaW5jb3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2 ZW4ndCBsZWFybmVkIGFib3V0IGl0IHVudGlsIG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEn b3JtYSdvIGNhbiBiZSBlbGlkZWQgaXMgdmVyeSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog 4oCcWW91IGNhbiBlbGlkZSBhIGZhJ29ybWEnbywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNv IGRvZXMgbm90IGNoYW5nZSB0aGUgZ3JhbW1hdGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVu Y2Uu4oCdCgpNb3N0IGZhJ29ybWEnbyBjYW4gYmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9m IHRoZSBicmlkaS4gRXhjZXB0aW9ucyBhcmUgdGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBx dW90ZeKAnS1mYSdvcm1hJ28gYW5kIOKAnGVuZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28u IFRoaXMgaXMgd2h5ICcndmF1JycgaXMgYWxtb3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdp bm5pbmcgYSBuZXcgYnJpZGkgd2l0aCAnJy5pJycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0 ZSB0aGUgcHJlY2VkaW5nIGJyaWRpIGFueXdheS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhv d2V2ZXIuIFNpbmNlIGF0dGl0dWRpbmFscyBhbHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3 b3JkLCBhcHBseWluZyBpdCB0byBhIGZhJ29ybWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUg Y29uc3RydWN0IHdoaWNoIGlzIHRlcm1pbmF0ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhl biB1c2UgYXR0aXR1ZGluYWxzIGFmdGVydGhvdWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50 aXJlIGJyaWRpOgoKJyd6YSdhIGRvIGR1bmRhIGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4u LiB2YXUgaSdlJycgLSDigJxJIHNlZSB0aGF0IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4u LiBJIGFwcHJvdmUh4oCdCgpfXycncHJlbnUnJ19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBw ZXJzb25hbGl0eS4KCgoKS25vd2luZyB0aGUgYmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlz aW9uLCB3ZSBjYW4gdGh1cyByZXR1cm4gdG8gdGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdp biByZW1vdmluZyBmYSdvcm1hJ286CgoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVy a28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNp IGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2 YXVfXycnCgoKCldlIGNhbiBzZWUgdGhhdCB0aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNh bGx5IHVubmVjZXNzYXJ5LCBiZWNhdXNlIHRoZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAn J2ppbXBlJycsIHdoaWNoIGlzIGEgc2VsYnJpLiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUg c2VsYnJpIHBlciBicmlkaSwgJyd2YXUnJyBpcyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycg YXMgYSBzZWxicmkgY2Fubm90IGJlIGluIHRoZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5 IG9uZSBicmlkaSBpbiBhIGNsYXVzZSwgb25seSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3 ZSBjYW4gZWxpZGUgJydrdSdvJycuIExpa2V3aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vj b25kIHNlbGJyaSBpbnNpZGUgdGhlIGNvbnN0cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNv IHRoZSAnJ2t1JycgaXMgbm90IG5lZWRlZCBlaXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZh J29ybWEnbyBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9v LCBzaW5jZSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNl IGNvbnN0cnVjdHMgYW55d2F5LgoKV2UgdGhlbiBlbmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkg ZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVs Y2kgbG8gbnUgdm8nYSBkYXJ4aSBtaScnIOKAkyB3aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoK CldoZW4gZWxpZGluZyBmYSdvcm1hJ28sIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50 ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBpcyBvbmUgb2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1h a2UgeW91ciAoTG9qYmFuaWMpIGxpZmUgYSBsb3QgZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8g c2VwYXJhdGUgYW55IHByZXZpb3VzIHN1bXRpIGZyb20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNh eSB0aGF0IGl0IGRlZmluZXMgdGhlIG5leHQgd29yZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1p bmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFzIGl0IG5lZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQu CgpfXycnY3UnJ19fIGVsaWRhYmxlIG1hcmtlcjogc2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNl ZGluZyBzdW10aSwgYWxsb3dzIHByZWNlZGluZyBmYSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3By YW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy4oCdCgoKCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBk dSd1IGRvIHByYW1pIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9 CgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGpp Y2EgbWknJwoK4oCcVGhhdCB5b3Ugc2F5IHRoYXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBi ZeKAnSBvciDigJxJIHdpc2ggeW91IHNhaWQgeW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1Jycg aXMgbm90IGEgZmEnb3JtYSdvLCBiZWNhdXNlIGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZp YyBjb25zdHJ1Y3QuIEJ1dCBpdCBjYW4gYmUgdXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28u CgoKCk9uZSBvZiB0aGUgZ3JlYXRlc3Qgc3RyZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1 aWNrbHkgYmVjb21lcyBlYXN5IHRvIGludHVpdGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBp dCBtZWFucyBub3RoaW5nLCBidXQgaXQgcmV2ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBl eHByZXNzaW9ucyBieSBpZGVudGlmeWluZyB0aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5h bCBleGFtcGxlIHdpdGggdGhlIHZpb2xlbnQgQW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScn IGJlZm9yZSAnJ2ppbXBlJycgZG9lcyBub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50 ZW5jZSBpbiBhbnkgd2F5LCBidXQgbWlnaHQgbWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4g dGhlIGZvbGxvd2luZyBjb3VwbGUgb2YgbGVzc29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVu IG5lY2Vzc2FyeSwgYW5kIGFsbCBmYSdvcm1hJ28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxp ZGVkIGZhJ29ybWEnbyB3aWxsIGJlIGVuY2FzZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3du IGJlbG93LiBUcnkgdG8gdHJhbnNsYXRlIGl0IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBv cnRhbnQgdG8geDIgZm9yIHJlYXNvbiB4M+KAnQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0 YW5kcyB0aGF0IHgyIChkdSd1LWFic3RyYWN0aW9uKSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycn YSdvJydfXyAtIEF0dGl0dWRpbmFsOiBTaW1wbGUgcHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3Bl IC0gZGVzcGFpcgoKCgonJ2EnbyBkbyBub2kga2UnYSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1 IGppbXBlIGxvIGR1J3UgbG8gZmEnb3JtYSdvIHtrdX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1 fSB7dmF1fScnCgpXaGF0IGRvIEkgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBo b3BlIHRoYXQgeW91LCBhIHByb3VkIExvamJhbmlzdCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1h J28gYXJlIGltcG9ydGFudOKAnX5+CgoKCkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwt dmVyc2VkIGluIGZhJ29ybWEnby1lbGlzaW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0 aGV5IG9mdGVuIG11c3QgYmUgcmVtaW5kZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZh J29ybWEnbyBhcmUgdG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVh Y2ggVHVlc2RheSBoYXZlIGJlZW4gZGVzaWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAn J2ZhJ29ybWEnbyBkamVkaScnIG9uIHRoZSBMb2piYW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVy bWluYXRvciBEYXksIG1hbnkgcGVvcGxlIHRyeSAoYW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVy IHdyaXRpbmcgb3V0IGFsbCBmYSdvcm1hJ28gd2l0aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJz YXRpb25zIGFzIGEgcmVzdWx0LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAo c3VtdGNpdGEpCgpTbyBmYXIgd2UgaGF2ZSBiZWVuIGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhl IHNlbGJyaSB3ZSBoYXZlIGhhZCBhdCBoYW5kLiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBh bW91bnQgb2YgZGVmaW5lZCBzZWxicmkgb3V0IHRoZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUg c3VtdGkgcGxhY2VzIGFyZSBub3QgdXNlZnVsIGZvciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0 IGlmLCBzYXksIGkgd2FudCB0byBzYXkgdGhhdCBJIGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29t cHV0ZXI/IFRoZXJlIGlzIG5vIHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRv IHNwZWNpZnkgd2hhdCB0b29sIEkgdHJhbnNsYXRlIHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0 aW1lLCB0aGF0IGlzIG5vdCBuZWNlc3NhcnkuIE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMg b24gaG93IHRvIGFkZCBhZGRpdGlvbmFsIHN1bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpU aGUgbW9zdCBiYXNpYyB3YXkgdG8gYWRkIHN1bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VM QlJJIGZlJ3UnJyAoeWVzLCBhbm90aGVyIGV4YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScn LiBJdCdzIGFsbW9zdCBuZXZlciBuZWNlc3NhcnksIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3Qg dGltZSB5b3UgZXZlciBzZWUgaXQuKQoKSW4gYmV0d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBh IHNlbGJyaSwgYW5kIGxpa2UgJydsbyBTRUxCUkkga3UnJywgJydmaSdvIFNFTEJSSSBmZSd1Jycg ZXh0cmFjdHMgdGhlIHgxIG9mIHRoZSBzZWxicmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGgg JydmaSdvIFNFTEJSSSBmZSd1JycsIHRoZSBzZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3Qg dG8gYSBzdW10aSwgYnV0IHRvIGEgJydzdW10Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs 4oCdLCB3aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQg Y29udmVydGVkLiBUaGlzICcnc3VtdGNpdGEnJyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGku IE9uZSBjb3VsZCBzYXkgdGhhdCB1c2luZyBhICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1 bXRpIHBsYWNlIGZyb20gYW5vdGhlciBzZWxicmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJl aW5nIHNhaWQuCgpOb3RlOiBTb21ldGltZXMsIGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRo ZSB0ZXJtIOKAnHRhZ+KAnSBvciDigJxtb2RhbOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycu IElnbm9yZSB0aG9zZSBwdW55IEVuZ2xpc2ggZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBM b2piYW4gaGVyZS4KCgoKV2hpbGUgaXQgaXMgaGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9t IHJlYWRpbmcgYWJvdXQgaXQsIGFuIGV4YW1wbGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFs IHNpbXBsaWNpdHk6CgpfXycnc2thbWknJ19fIOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBv c2UgeDLigJ0KCl9fJydwaWxubycnX18g4oCceDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5n IHgz4oCdCgoKCicnbWkgZmFudmEgdGkgZmknbyBzZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1 fXt2YXV9JycgLSDigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIg b2YgJydwaWxubycnLCB3aGljaCBpcyB0aGUgeDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ug c3RydWN0dXJlIGZvciBhIHRvb2wgYmVpbmcgdXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0 cnVjdHVyZSBpcyBjYXB0dXJlZCBieSAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhl IG1haW4gc2VsYnJpLCBhbmQgdGhlbiBmaWxsZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBv ZiAnJ3N1bXRjaXRhJycgaXMgc29tZXRpbWVzIGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRo ZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246CgrigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDog QSBjb21wdXRlcuKAnQoKCgpBICcnc3VtdGNpdGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRp LCB3aGljaCBpcyBhbHdheXMgdGhlIGZvbGxvd2luZyBvbmUuIEFsdGVybmF0aXZlbHksIHRoZSAn J3N1bXRjaXRhJycgY29uc3RydWN0IGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydrdScnLCBpbiB3 aGljaCBjYXNlIGEgJyd6bydlJycgaXMgaW1wbGllZCB0byBmaWxsIHRoZSAnJ3N1bXRjaXRhJycu IE9yLCBvbmUgY291bGQgaW1hZ2luZSBhbiBlbGlkZWQgc3VtdGkgYmVpbmcgdGVybWluYXRlZCB3 aXRoIHRoZSAnJ2t1JycuCgpfXycnenVrdGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRp dHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4MiBmb3IgcHVycG9zZSB4M+KAnQoKCgonJ2ZpJ28genVr dGUge2ZlJ3V9IGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9Jycg LSDigJxXaXRoIHZvbGl0aW9uLCBhIGNvbXB1dGVyIHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCd IChwZXJoYXBzIGltcGx5aW5nIHRoYXQgYSBMb2piYW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50 PyBUb3VnaCBpdCBkb2VzIG5vdCBzcGVjaWZ5IHdobyBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1 c3QgYmUgdGhlIHByb2dyYW1tZXIgd2hvIHByb2dyYW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJv cmluZy4pCgoKCldoYXQgZG9lcyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiB7a3V9IGZpJ28gc2Ug dGF2bGEge2ZlJ3V9IG1pJycgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSB1bmRl cnN0YW5kIHNvbWV0aGluZyBhYm91dCBMb2piYW4sIHNwb2tlbiB0byBtZeKAnX5+CgoKClB1dHRp bmcgdGhlICcnc3VtdGNpdGEnJyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFr ZXMgaXQgc2VsZi10ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10 aSwgYW5kIG5vdCBzZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4 dCBsZXNzb24sIGFzIHlvdSB3aWxsIHNlZS4KCgoKU2FkbHksICcnZmknbycnIGlzIG5vdCB1c2Vk IHZlcnkgb2Z0ZW4gZGVzcGl0ZSBpdHMgZmxleGliaWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9m dGVuLCB0aG91Z2gsIGFyZSBCQUkuIEJBSSBpcyBhIGNsYXNzIG9mIExvamJhbiB3b3Jkcywgd2hp Y2ggaW4gdGhlbXNlbHZlcyBhY3QgYXMgJydzdW10Y2l0YScnLiBBbiBleGFtcGxlIG9mIHRoaXMg aXMgJyd6dSdlJycsIHRoZSBCQUkgZm9yICcnenVrdGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p1J2Un JyBpcyB0aGUgc2FtZSBhcyAnJ2ZpJ28genVrdGUgZmUndScnLiBUaHVzLCB0aGUgYWJvdmUgZXhh bXBsZSBjb3VsZCBiZSByZWR1Y2VkIHRvOgoKJyd6dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGls bm8gbG8gbG9qYm8ge2t1fSB7dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBC QUksIGFuZCBhIGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3Jl LCBCQUkgY2FuIGFsc28gYmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFu aW5nIHRoYXQgJydzZSB6dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywg d2hpY2ggcmVzdWx0cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gdGVuIChQVSwgRkFoQSwgWkksIFZBLCBaRWhBLCBWRWhBKQoKSG93IHVuZmFt aWxpYXIgdG8gdGhlIEVuZ2xpc2gtc3BlYWtlciBhIGxhbmd1YWdlIExvamJhbiBpcyB3aGVuIG9u ZSBjYW4gcmVhZCB0aHJvdWdoIG5pbmUgbGVzc29ucyBvZiBMb2piYW4gZ3JhbW1hciB3aXRob3V0 IG1lZXRpbmcgYSB0ZW5zZSBvbmNlLiBUaGlzIGlzIGJlY2F1c2UsIHVubGlrZSBtYW55IG5hdHVy YWwgbGFuZ3VhZ2VzIChtb3N0IEluZG8tRXVyb3BlYW4gb25lcywgZm9yIGluc3RhbmNlKSwgYWxs IHRlbnNlcyBpbiBMb2piYW4gYXJlIG9wdGlvbmFsLiBTYXlpbmcgJydtaSBjaXRrYSBsbyBjaXJs YSB7a3V9JycgY2FuIG1lYW4g4oCcSSBlYXQgY2hlZXNl4oCdIG9yIOKAnEkgYXRlIHRoZSBjaGVl c2XigJ0gb3Ig4oCcSSBhbHdheXMgZWF0IGNoZWVzZeKAnSBvciDigJxJbiBhIG1vbWVudCwgaSB3 aWxsIGhhdmUganVzdCBmaW5pc2hlZCBlYXRpbmcgY2hlZXNl4oCdLiBDb250ZXh0IHJlc29sdmVz IHdoYXQgaXMgY29ycmVjdCwgYW5kIGluIG1vc3QgY29udmVyc2F0aW9uLCB0ZW5zZXMgYXJlIG5v dCBuZWVkZWQgYXQgYWxsLiBIb3dldmVyLCB3aGVuIGl0J3MgbmVlZGVkIGl0J3MgbmVlZGVkLCBh bmQgaXQgbXVzdCBiZSB0YXVnaHQuIEZ1cnRoZXJtb3JlLCBMb2piYW4gdGVuc2VzIGFyZSB1bnVz dWFsIGJlY2F1c2UgdGhleSB0cmVhdCB0aW1lIGFuZCBzcGFjZSBmdW5kYW1lbnRhbGx5IHRoZSBz YW1lIC0gc2F5aW5nIHRoYXQgSSB3b3JrZWQgYSBsb25nIHRpbWUgYWdvIGlzIG5vdCBncmFtbWF0 aWNhbGx5IGRpZmZlcmVudCB0aGFuIHNheWluZyBJIHdvcmsgZmFyIGF3YXkgdG8gdGhlIG5vcnRo LgoKTGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcywgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gaXMg cGVyaGFwcyB0aGUgbW9zdCBkaWZmaWN1bHQgcGFydCBvZiB0aGUgbGFuZ3VhZ2UuIFVubGlrZSBt YW55IG90aGVyIGxhbmd1YWdlcyB0aG91Z2gsIGl0J3MgcGVyZmVjdGx5IHJlZ3VsYXIgYW5kIG1h a2VzIHNlbnNlLiBTbyBmZWFyIG5vdCwgZm9yIGl0IHdpbGwgbm90IGludm9sdmUgc3dlYXRpbmcg dG8gbGVhcm4gaG93IHRvIG1vZGlmeSB0aGUgc2VsYnJpIG9yIGFueXRoaW5nIHNpbGx5IGxpa2Ug dGhhdC4KCgoKTm8sIGluIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtLCBhbGwgdGVuc2VzIGFyZSBz dW10Y2l0YSwgd2hpY2ggd2UgaGF2ZSBjb252ZW5pZW50bHkganVzdCBtYWRlIG91cnNlbHZlcyBm YW1pbGlhciB3aXRoLiBPa2F5IG9rYXksIHRlY2huaWNhbGx5LCB0ZW5zZXMgYXJlIHNsaWdodGx5 IGRpZmZlcmVudCBmcm9tIG90aGVyIHN1bXRjaXRhLCBidXQgdGhpcyBkaWZmZXJlbmNlIGlzIGFs bW9zdCBpbnNpZ25pZmljYW50LCBhbmQgd2lsbCBiZSB3b24ndCBiZSBleHBsYWluZWQgdW50aWwg bGF0ZXIuIEluIG1vc3QgYXNwZWN0cyB0aGV5IGFyZSBsaWtlIGFsbCBvdGhlciBzdW10Y2l0YTsg dGhleSBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIG1ha2luZyBpdCBleHBsaWNpdCB0aGF0IFBV IGlzIHRlcm1pbmF0ZWQgYnkgJydrdScnLgoKVGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IGtpbmRz IG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXQncyBzdGFydCBhdCB0aGUgb25lcyBtb3N0IGZhbWls aWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpfXycncHUnJ19fIC0gc3VtdGNpdGE6IGJlZm9yZSB7 c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHRpbWUgYXMge3N1bXRp fQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBhZnRlciB7c3VtdGl9CgoKClRoZXNlIGFyZSBsaWtl IHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJlZm9yZeKAnSwg4oCcbm934oCdIGFuZCDigJxhZnRl cuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwgb25lIGNvdWxkIGFyZ3VlIHRoYXQgdHdvIHBvaW50 LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1ciBleGFjdGx5IHNpbXVsdGFuZW91c2x5LCByZW5k ZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAnJ2NhJycgZXh0ZW5kcyBzbGlnaHRseSBpbnRvIHRo ZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFuaW5nIGp1c3Qg4oCcYWJvdXQgbm934oCdLiBUaGlz IGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRvbid0IHBlcmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0 bHkgbG9naWNhbCB3YXksIGFuZCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0 LgoKCgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1YWxseSBzdWdnZXN0ZWQgbWFraW5nIHRoZSBMb2pi YW4gdGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3RpYy4gVGhhdCBpZGVhLCBob3dldmVyLCB3YXMgZHJv cHBlZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVyLWludHVpdGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhh dCB0byBsZWFybiBMb2piYW4sIG9uZSB3b3VsZCBoYXZlIHRvIGxlYXJuIHRoZSB0aGVvcnkgb2Yg cmVsYXRpdml0eSBmaXJzdC4gIAoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcSSBleHByZXNz IHRoaXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCdIChwb2ludGluZyB0byBhIHBhcGVyKQoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgY3Vza3UgdGkgYmEgbG8gbnUgbWkga2xhbWEgdGkge3ZhdX0g e2tlaSB7a3V9IHt2YXV9Jyd+fgoKCgpVc3VhbGx5IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBu ZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZlbnQgdGhpcyBhY3Rpb24gaXMgaW4gdGhlIHBhc3QgcmVs YXRpdmUgdG8uIEluOiDigJxJIGdhdmUgYSBjb21wdXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1l IHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5lZCByZWxhdGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVz IHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkgb2YgdGhlIHN1bXRjaXRhLCBiZWNhdXNlIGl0J3Mgb2J2 aW91czoKCicncHUga3UgbWkgZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScnIG9yCgonJ21pIGR1 bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7dmF1fScnIG9yLCBtb3JlIGNvbW1vbmx5CgonJ21p IHB1IHtrdX0gZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScnLiBUaGUgc3VtdGkgd2hpY2ggZmls bHMgdGhlIHN1bXRjaXRhIGlzIGFuIGltcGxpZWQgJyd6bydlJycsIHdoaWNoIGlzIGFsbW9zdCBh bHdheXMgdW5kZXJzdG9vZCBhcyByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBs YWNlICh0aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVm dCBhbmQgcmlnaHQpLiBJZiBzcGVha2luZyBhYm91dCBzb21lIGV2ZW50cyB0aGF0IGhhcHBlbmVk IHNvbWUgb3RoZXIgdGltZSB0aGFuIHRoZSBwcmVzZW50LCBpdCBpcyBzb21ldGltZXMgYXNzdW1l ZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVp bmcgc3Bva2VuIGFib3V0LiBJbiBvcmRlciB0byBjbGFyaWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUg cmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25h dScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1lLiBBbm90aGVyIHdvcmQsICcna2knJyBtYXJrcyBh IHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lkZXJlZCB0aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdp bGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9fJyduYXUnJ19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5k IHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBoZXJl IGFuZCBub3cuCgoKCl9fJydndWdkZScnX18gPSDigJx4MSBpcyB0aGUgY291bnRyeSBvZiBwZW9w bGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4M+KAnQoKCgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1 IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUge2t1fSB7dmF1fScnLCDigJxJIHdlbnQgdG8gQW1l cmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhhdCBJJ20gbm90IHN0aWxsIHRyYXZlbGluZyB0byBV U0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxzbyB0cnVlIHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZm9y IGluc3RhbmNlIGZpdmUgbWludXRlcyBhZ28uCgoKCkFzIG1lbnRpb25lZCwgc3BhY2lhbCBhbmQg dGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJlIHZlcnkgbXVjaCBhbGlrZS4gQ29udHJhc3QgdGhlIHBy ZXZpb3VzIHRocmVlIHRpbWUgdGVuc2VzIHdpdGggdGhlc2UgZm91ciBzcGFjaWFsIHRlbnNlczoK Cl9fJyd6dSdhJydfXyBzdW10Y2l0YTogbGVmdCBvZiB7c3VtdGl9CgpfXycnY2EndScnX18gc3Vt dGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0KCl9fJydyaSd1JydfXyBzdW10Y2l0YTogcmlnaHQg b2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19fIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSBwbGFjZSBhcyB7 c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxlbnQgb2YgJydjYScnKQoKCgpfXycnbydvJydfXzogYXR0 aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBwYXRpZW5jZSAtIHRvbGVyYW5jZSAtIGFu Z2VyCgoKCldoYXQgd291bGQgJycubydvbmFpIHJpJ3Uge2t1fSBudSBsbyBwcmVudSB7a3V9IGN1 IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0ge2t1fSB7dmF1fSB7a2VpfSB7dmF1fScnIG1lYW4/IChu b3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBrdSEpCgpfXycnZGFyeGknJ19fIHgxIGJlYXRzL2hpdHMg eDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0IGxvY3VzIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0IChvZiBzb21ldGhpbmcsIHByb2JhYmx5IG1lKSBhbmQg aW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZlbnQpLCBzb21ldGhpbmcgaXMgYW4gZXZlbnQgb2YgYSBw ZXJzb24gYmVhdGluZyBhIGRvZy7igJ0gb3Ig4oCcQSBtYW4gaGl0IGEgZG9nIHRvIG15IHJpZ2h0 IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBzZXZlcmFsIHRlbnNlIHN1bXRjaXRhIGluIG9uZSBicmlk aSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3UgcmVhZCB0aGVtIGZyb20gbGVmdCB0byByaWdodCwgdGhp bmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg4oCcaW1hZ2luYXJ5IGpvdXJuZXnigJ0sIFdoZXJlIHlv dSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBvaW50IGluIHRpbWUgYW5kIHNwYWNlIChkZWZhdWx0OiB0 aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVyZSksIGFuZCB0aGVuIGZvbGxvdyB0aGUgc3VtdGNpdGEg b25lIGF0IGEgdGltZSBmcm9tIGxlZnQgdG8gcmlnaHQuCgpFeGFtcGxlCgonJ21pIHB1IHtrdX0g YmEge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnID0g4oCcQXQg c29tZSB0aW1lIGluIHRoZSBwYXN0LCBJIHdpbGwgYmUgYWJvdXQgdG8ga25vdyBhYm91dCBmYSdv cm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9IHB1IHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3Jt YSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBo YXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEnb3JtYSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVj aWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3ZSBtb3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0 YW5kaW5nIGNvdWxkIGluIGJvdGggY2FzZXMgaGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBh c3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVyZW5jZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVt cG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwgdGhlIHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3Jh bCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhpcyBydWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRp bWVzIHJlc3VsdCBpbiBzeW50YWN0aWNhbCBhbWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5v dCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3ZSB3YW50IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4g aGl0IGEgZG9nIGp1c3QgYSBtaW51dGUgYWdvLiBUaGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5k ICcnenUnJyBzcGVjaWZpZXMgYSBzaG9ydCwgdW5zcGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVt KSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0aW1lLiBOb3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScn LCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMgb3JkZXIgYXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4g TG9qYmFuLCBhbmQgbWlnaHQgYmUgd29ydGggdG8gbWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDi gJxsb25n4oCdIGluIGFyZSBhbHdheXMgY29udGV4dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBz dWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5ZWFycyBpcyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2ll cyB0byBldm9sdmUsIGJ1dCBhIGxvbmcgdGltZSB0byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3pp JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4g dGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJy aW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBm cm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRo ZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVy ZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFjaWFsIGRpc3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycs ICcndmEnJyBhbmQgJyd2dScnIGZvciBzaG9ydCwgdW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxv bmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpfXycndmknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUg c21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5j ZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0p IGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpf XycndnUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0g aW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4 MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVjdGl2ZSB4M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1 fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmthIHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXni gJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVseSB1c2UgJyd6aScnLCAnJ3phJycgb3IgJyd6dScnIHdp dGhvdXQgYSAnJ3B1Jycgb3IgJydiYScnIGluIGZyb250IG9mIGl0LiBUaGlzIGlzIGJlY2F1c2Ug bW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQgdG8gc3BlY2lmeSBwYXN0IG9yIGZ1dHVyZSBpbiB0aGVp ciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4geW91IHRoaW5rIGFib3V0IGl0IExvamJhbmljYWxseSwg bW9zdCBvZiB0aGUgdGltZSB0aGUgdGltZS1kaXJlY3Rpb24gaXMgb2J2aW91cywgYW5kIHRoZSAn J3B1Jycgb3IgJydiYScnIHN1cGVyZmx1b3VzIQoKCgpUaGUgb3JkZXIgaW4gd2hpY2ggZGlyZWN0 aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5jZS1zdW10Y2l0YSBhcmUgc2FpZCBtYWtlcyBhIGRpZmZl cmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhlIG1lYW5pbmdzIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMg cGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0dXJlZCBieSBhbiBpbWFnaW5hcnkgam91cm5leSByZWFk aW5nIGZyb20gbGVmdCB0byByaWdodC4gVGh1cyAnJ3B1IHp1JycgaXMg4oCcYSBsb25nIHRpbWUg YWdv4oCdIHdoaWxlICcnenUgcHUnJyBpcyDigJxpbiB0aGUgcGFzdCBvZiBzb21lIHBvaW50IGlu IHRpbWUgd2hpY2ggaXMgYSBsb25nIHRpbWUgdG93YXJkIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qg b2Ygbm934oCdLiBJbiB0aGUgZmlyc3QgZXhhbXBsZSwgJydwdScnIHNob3dzIHRoYXQgd2UgYmVn aW4gaW4gdGhlIHBhc3QsICcnenUnJyB0aGVuIHRoYXQgaXQgaXMgYSBsb25nIHRpbWUgYmFja3dh cmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1wbGUsICcnenUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGF0 IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4gdGltZSBmcm9tIG5vdywgJydwdScnIHRoZW4sIHRoYXQg d2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0aGF0IHBvaW50LiBUaHVzICcncHUgenUnJyBpcyBhbHdh eXMgaW4gdGhlIHBhc3QuICcnenUgcHUnJyBjb3VsZCBiZSBpbiB0aGUgZnV0dXJlLiBUaGUgZmFj dCB0aGF0IHRoZXNlIHRpbWUgdGVuc2VzIGNvbWJpbmUgaW4gdGhpcyB3YXkgaXMgb25lIG9mIHRo ZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YS4g VGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1bXRjaXRhIGFyZSBub3QgYWx0ZXJlZCBieSB0aGUgcHJl c2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10Y2l0YSBpbiBhIGJyaWRpLgoKCgpBcyBicmllZmx5IGlt cGxpZWQgZWFybGllciwgYWxsIHRoZXNlIGNvbnN0cnVjdHMgYmFzaWNhbGx5IHRyZWF0IGJyaWRp IGFzIGlmIHRoZXkgd2VyZSBwb2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNlLiBJbiBhY3R1YWxp dHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0IG92ZXIgYSBzcGFuIG9mIHRpbWUgYW5kIHNwYWNlLiBJ biB0aGUgZm9sbG93aW5nIGZldyBwYXJhZ3JhcGhzLCB3ZSB3aWxsIGxlYXJuIGhvdyB0byBzcGVj aWZ5IGludGVydmFscyBvZiB0aW1lIGFuZCBzcGFjZS4KCgoKX18nJ3plJ2knJ19fIHN1bXRjaXRh OiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSdhJydfXyBz dW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7 c3VtdGl9CgpfXycnemUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgdGlt ZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUg c2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBv dmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUndScn X18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgc3BhY2Ugb2Yge3N1bXRpfQoKCgpT aXggd29yZHMgYXQgYSB0aW1lLCBJIGtub3csIGJ1dCByZW1lbWJlcmluZyB0aGUgdm93ZWwgc2Vx dWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5IG9mIHRoZSBpbml0aWFsIGxldHRlciB6IGZvciB0ZW1w b3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNwYWNpYWwgdGVuc2VzIG1pZ2h0IGhlbHAgdGhlIG1lbW9y aXppbmcuCgpfXycnLm9pJydfXyAtIGF0dGl0dWRpbmFsOiBwYWluIC0gcGxlYXN1cmUKCgoKVHJh bnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUndSB7a3V9IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0g emUndSB7a3V9IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3Bl bmQgYSBsb25nIHRpbWUgdHJhdmVsaW5nIGEgbG9uZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoK ClRob3VnaCBtb3N0IHBlb3BsZSBhcmUgbm90IGZhbWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMs IHRoZXNlIG5ldyB3b3JkcyBjYW4gb3BlbiB1cCBmb3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4g T25lIGNvdWxkLCBmb3IgaW5zdGFuY2UsIHRyYW5zbGF0ZSDigJxUaGF0J3MgYSBiaWcgZG9n4oCd IGFzICcndGkgdmUndSB7a3V9IGdlcmt1IHt2YXV9JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBk b2dzIGZvciBhIGxvbmcgc3BhY2XigJ0gbWFrZXMgeW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xp c2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBMb2piYW4hCgoKCicnemUndScnIGFuZCBpdHMgYnJvdGhl cnMgYWxzbyBjb21iaW5lIHdpdGggb3RoZXIgdGVuc2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2Vz LiBUaGUgcnVsZSBmb3IgJyd6ZSd1JycgYW5kIHRoZSBvdGhlcnMgYXJlIHRoYXQgYW55IHRlbnNl cyBwcmVjZWRpbmcgaXQgbWFya3MgYW4gZW5kcG9pbnQgb2YgdGhlIHByb2Nlc3MgKHJlbGF0aXZl IHRvIHRoZSBwb2ludCBvZiByZWZlcmVuY2UpIGFuZCBhbnkgdGVuc2VzIGNvbWluZyBhZnRlciBp dCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9pbnQgcmVsYXRpdmUgdG8gdGhlIGZpcnN0LiBUaGlzIHNo b3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0aCBhIGNvdXBsZSBvZiBleGFtcGxlczoKCicnLm8nb2N1 J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1IHtrdX0gYmEge2t1fSB6dSB7a3V9IHt2YXV9JycgLSDi gJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJlZ2lubmluZyBpbiB0aGUgcGFzdCBhbmQgZm9yIGEgbG9u ZyB0aW1lIGVuZGluZyBhdCBzb21lIHBvaW50IGZhciBpbnRvIHRoZSBmdXR1cmUgb2Ygd2hlbiB5 b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBmLCB5b3UgYXRlIGZvciBhIGxvbmcgdGltZeKAnS4gT25l IGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8gY2Ege2t1fSB6ZSdpIHtrdX0gcHUge2t1fSBrbGFtYSB7 dmF1fScnIHdpdGggJydkbyBwdSB7a3V9IHplJ2kge2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9Jycu IFRoZSBmaXJzdCBldmVudCBvZiB0cmF2ZWxpbmcgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJl c2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRsZSB0b3dhcmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vj b25kIGV2ZW50IGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0 byB0aGUgcHJlc2VudCAodGhhdCBpcywgc2xpZ2h0eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkg b2YgdGhhdCBlbmRwb2ludC4KCl9fJydqbWl2ZScnX18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRh cmQgeDLigJ0KCgoKV2hhdCBkb2VzICcnLnVpIG1pIHB1IHtrdX0gemkge2t1fSB6ZSd1IHtrdX0g am1pdmUge3ZhdX0nJyBleHByZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHtoYXBwaW5l c3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRsZSBpbnRvIHRoZSBwYXN0IGFuZCBhIGxvbmcgd2F5IHRv d2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0IChvYnZpb3VzbHkgdGhlIGZ1dHVyZSwgaW4gdGhpcyBj YXNlKSBvZiB0aGF0IGV2ZW504oCdIG9yIOKAnEkgYW0geW91bmcsIGFuZCBoYXZlIG1vc3Qgb2Yg bXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKAnX5+CgoKCkp1c3QgdG8gdW5kZXJsaW5lIHRoZSBzaW1p bGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5zZXMsIGxldCdzIGhhdmUgYW5vdGhlciBleGFtcGxlLCB0 aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRlbnNlczoKCl9fJycudSdlJydfXyBhdHRpdHVkaW5hbDog d29uZGVyIC0gY29tbW9ucGxhY2UKCgoKJycudSdlIHphJ2Ege2t1fSBidSd1IHtrdX0gdmUndSB7 a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1fScnIC0gV2hhdCBkb2VzIGl0IG1lYW4/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6IOKAnHt3b25kZXJ9IHtJIG9ic2VydmUhfSBFeHRlbmRpbmcgYSBsb25n IHNwYWNlIGZyb20gaGVyZSB0byBteSBmcm9udCBpcyBhIGhvbWUu4oCdIG9yIOKAnFdvdywgdGhp cyBob21lIGV4dGVuZGluZyBhaGVhZCBpcyBodWdlIeKAnX5+CgoKCkJlZm9yZSB3ZSBjb250aW51 ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5IHRlbnNlIHN5c3RlbSwgaSByZWNvbW1lbmQgc3BlbmRp bmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMgZG9pbmcgc29tZXRoaW5nIHdoaWNoIGRvZXNuJ3Qgb2Nj dXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBT aW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUgdmVyeSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9u ZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29u IGVsZXZlbiAoWkFoTykKClRob3VnaCB3ZSB3b24ndCBnbyB0aHJvdWdoIGFsbCBMb2piYW4gdGVu c2UgY29uc3RydWN0cyBmb3Igbm93LCB0aGVyZSBpcyBvbmUgb3RoZXIga2luZCBvZiB0ZW5zZSB0 aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRhdWdodCBub3cuIFRoZXNlIGFyZSBjYWxsZWQg4oCcZXZl bnQgY29udG91cnPigJ0sIGFuZCByZXByZXNlbnQgYSB2ZXJ5IGRpZmZlcmVudCB3YXkgb2Ygdmll d2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZlIHNlZW4gc28gZmFyLiBTbyBsZXQncyBnZXQgdG8gaXQ6 CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2UgaGF2ZSBsZWFybmVkIHNvIGZhciwgd2UgY2FuIGltYWdp bmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxpbmUsIGFuZCB3ZSB0aGVuIHBsYWNlIGV2ZW50cyBvbiB0 aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhlIOKAnG5vd+KAnS4gV2l0aCBldmVudCBjb250b3Vycywg aG93ZXZlciwgd2UgdmlldyBlYWNoIGV2ZW50IGFzIGEgcHJvY2Vzcywgd2hpY2ggaGFzIGNlcnRh aW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3JlIGl0IHVuZm9sZHMsIGEgdGltZSB3aGVuIGl0IGJlZ2lu cywgYSB0aW1lIHdoZW4gaXQgaXMgaW4gcHJvY2VzcywgYSB0aW1lIHdoZW4gaXQgZW5kcywgYW5k IGEgdGltZSBhZnRlciBpdCBoYXMgZW5kZWQuIEV2ZW50IGNvbnRvdXJzIHRoZW4gdGVsbHMgdXMg d2hpY2ggcGFydCBvZiB0aGUgZXZlbnQncyBwcm9jZXNzIHdhcyBoYXBwZW5pbmcgZHVyaW5nIHRo ZSB0aW1lIHNwZWNpZmllZCBieSB0aGUgb3RoZXIgdGVuc2VzLiBXZSBuZWVkIGEgY291cGxlIG9m IHRlbnNlcyBmaXJzdDoKCgoKX18nJ3B1J28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6 IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBlbmVkIGR1cmluZyB7c3VtdGl9CgpfXycnY2EnbycnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBkdXJpbmcge3N1 bXRpfQoKX18nJ2JhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IFRoZSBwcm9jZXNz IG9mIGJyaWRpIGhhcyBlbmRlZCBkdXJpbmcge3N1bXRpfQoKCgpUaGlzIG5lZWRzIHRvIGJlIGRl bW9uc3RyYXRlZCBieSBzb21lIGV4YW1wbGVzLiBXaGF0J3MgJycudWkgbWkgcHUnbyB7a3V9IHNl IHpkYW5pIHt2YXV9JycgbWVhbj8KCgoKQW5zd2VyOiDigJxZYXksIEknbGwgYmVnaW4gdG8gaGF2 ZSBhIGhvbWXigJ0uCgoKCkJ1dCBoZXksIHlvdSBhc2ssIHdoeSBub3QganVzdCBzYXkgJycudWkg bWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGFuZCBldmVuIHNhdmUgYSBzeWxsYWJsZT8gQmVj YXVzZSwgcmVtZW1iZXIsIHNheWluZyB0aGF0IHlvdSB3aWxsIGhhdmUgYSBob21lIGluIHRoZSBm dXR1cmUgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgeW91IGhhdmUgYSBob21lIG5vdy4gVXNp bmcgJydwdSdvJycsIHRob3VnaCwgeW91IHNheSB0aGF0IHlvdSBhcmUgbm93IGluIHRoZSBwYXN0 IG9mIHRoZSBwcm9jZXNzIG9mIHlvdSBoYXZpbmcgYSBob21lLCB3aGljaCBtZWFucyB0aGF0IHlv dSBkb24ndCBoYXZlIG9uZSBub3cuCgpOb3RlLCBieSB0aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1 fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNpbWlsYXIgdG8gJydtaSBwdSdvIHtrdX0gc2UgemRhbmkg e3ZhdX0nJywgYW5kIGxpa2V3aXNlIHdpdGggJydiYSdvJycgYW5kICcncHUnJy4gV2h5IGRvIHRo ZXkgc2VlbSByZXZlcnNlZD8gQmVjYXVzZSBldmVudCBjb250b3VycyB2aWV3IHRoZSBwcmVzZW50 IGFzIHNlZW4gZnJvbSB0aGUgdmlld3BvaW50IG9mIHRoZSBwcm9jZXNzLCB3aGVyZWFzIHRoZSBv dGhlciB0ZW5zZXMgdmlldyBldmVudHMgc2VlbiBmcm9tIHRoZSBwcmVzZW50LgoKCgpPZnRlbiwg ZXZlbnQgY29udG91cnMgYXJlIG1vcmUgcHJlY2lzZSB0aGF0IG90aGVyIGtpbmQgb2YgdGVuc2Vz LiBFdmVuIG1vcmUgY2xhcml0eSBpcyBhY2hpZXZlZCBieSBjb21iaW5pbmcgc2V2ZXJhbCB0ZW5z ZXM6ICcnLmEnbyBtaSBiYXtrdX0gemkge2t1fSBiYSdvIHtrdX0gZ3Vua2Ege3ZhdX0nJyAtIOKA nEkgaG9wZSBJJ3ZlIHNvb24gZmluaXNoZWQgd29ya2luZy7igJ0KCgoKSW4gTG9qYmFuLCB3ZSBh bHNvIG9wZXJhdGUgd2l0aCBhbiBldmVudCdzIOKAnG5hdHVyYWwgYmVnaW5uaW5n4oCdIGFuZCBp dHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRoZSB0ZXJtIOKAnG5hdHVyYWzigJ0gaXMgaGlnaGx5IHN1 YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwgYW5kIHRoZSBuYXR1cmFsIGVuZCByZWZlcnMgdG8gdGhl IHBvaW50IGluIHRoZSBwcm9jZXNzIHdoZXJlIGl0IHNob3VsZCBlbmQuIFlvdSBjYW4gc2F5IGFi b3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGluc3RhbmNlLCB0aGF0IGl0cyBwcm9jZXNzIG9mIHJlYWNo aW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5nIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQuIEFuIHVuZGVy Y29va2VkLCBidXQgc2VydmVkIG1lYWwsIHNpbWlsYXJseSwgaXMgYmVpbmcgZWF0ZW4gYmVmb3Jl IHRoYXQgcHJvY2VzcycgbmF0dXJhbCBiZWdpbm5pbmcuIFRoZSBldmVudCBjb250b3VycyB1c2Vk IGluIHRoZXNlIGV4YW1wbGVzIGFyZSBhcyBmb2xsb3dzOgoKCgpfXycnemEnbycnX18gLSBzdW10 Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBiZXlvbmQgaXRzIG5hdHVy YWwgZW5kIGR1cmluZyB7c3VtdGl9CgpfXycneGEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29u dG91cjogQnJpZGkgaXMgaW1tYXR1cmVseSBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgoKCl9f JydjaWRqYScnX186IOKAnHgxIGlzIGZvb2QsIHdoaWNoIGlzIGVkaWJsZSBmb3IgeDLigJ0KCgoK VHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRrYSB6YSdvIGxvIG51IGRvIGJhJ28ge2t1fSB1J2UgY2l0 a2Egem8nZSBub2kgY2lkamEgZG8ge3ZhdX0ge2t1J299IHt2YXV9IHtrZWl9IHtrdX0nJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95LCB5b3Uga2VlcCBlYXRpbmcgd2hlbiB5b3UgaGF2ZSBm aW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0aW5nIHNvbWV0aGluZyBlZGlibGUh4oCdfn4KCgoKe2lt ZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpJbWFnZSBhYm92ZTogWkFoTyB0 ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4gQWxsIHRlbnNlcyBhYm92ZSB0aGUgbGluZSBvZiB0aGUg ZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292ZXJpbmcgYW4gYW1vdW50IG9mIHRpbWUuIEFsbCB0ZW5z ZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUgc2lnbmlmeSBzdGFnZXMgd2hpY2ggYXJlIHBvaW50LWxp a2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5zZXMgaGF2ZSBiZWVuIGRlc2NyaWJpbmcgc3RhZ2VzIG9m IGEgcHJvY2VzcyB3aGljaCB0YWtlcyBzb21lIHRpbWUgKGFzIHNob3duIG9uIHRoZSBncmFwaCBh Ym92ZTsgdGhvc2UgdGVuc2VzIGFib3ZlIHRoZSBldmVudCBsaWtlKS4gQnV0IG1hbnkgb2YgdGhl IGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJlcyBwb2ludCBsaWtlIHN0YWdlcyBpbiB0aGUgcHJvY2Vz cywgbGlrZSBpdHMgYmVnaW5uaW5nLiBBcyBpcyB0cnVlIG9mICcnY2EnJyBhbmQgJydidSd1Jycs IHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIGZ1dHVyZSBv ZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBub3QgdG8gYmUgcHJlY2lzZS4KCgoKVGhlIHR3byBtb3N0 IGltcG9ydGFudCBwb2ludC1saWtlIGV2ZW50IGNvbnRvdXJzIGFyZToKCl9fJydjbydhJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgYmVnaW5uaW5nIGR1cmlu ZyB7c3VtdGl9CgpfXycnY28ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkg aXMgYXQgaXRzIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMg YSBwb2ludCB3aGVyZSB0aGUgcHJvY2VzcyBpcyBuYXR1cmFsbHkgY29tcGxldGUsIGJ1dCBub3Qg bmVjZXNzYXJpbHkgaGFzIGVuZGVkIHlldDoKCl9fJydtbyd1JydfXyAtIHN1bXRjaXRhOiBldmVu dCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgbmF0dXJhbCBlbmRpbmcgZHVyaW5nIHtzdW10aX0K Ck1vc3Qgb2YgdGhlIHRpbWUsIHRob3VnaCwgcHJvY2Vzc2VzIGFjdHVhbGx5IGVuZCBhdCB0aGVp ciBuYXR1cmFsIGVuZGluZzsgdGhpcyBpcyB3aGF0IG1ha2VzIGl0IG5hdHVyYWwuIFRyYWlucyBh cmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5kIHBlb3BsZSB1c3VhbGx5IHJldHJhaW4gdGhlbXNlbHZl cyB0byBlYXQgb25seSBlZGlibGUgZm9vZC4KCgoKU2luY2UgYSBwcm9jZXNzIGNhbiBiZSBpbnRl cnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhlc2UgcG9pbnRzIGhhdmUgZWFybmVkIHRoZWlyIG93biBl dmVudCBjb250b3VyIGFsc286CgpfXycnZGUnYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogQnJpZGkgaXMgcGF1c2luZyBkdXJpbmcge3N1bXRpfQoKX18nJ2RpJ2EnJ19fIC0gc3VtdGNp dGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHJlc3VtaW5nIGR1cmluZyB7c3VtdGl9CgoKCklu IGZhY3QsIHNpbmNlICcnanVuZGknJyBtZWFucyDigJx4MSBwYXlzIGF0dGVudGlvbiB0byB4MuKA nSwgJydkZSdhIGp1bmRpJycgYW5kICcnZGknYSBqdW5kaScnIGFyZSBjb21tb24gTG9qYmFuIHdh eXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBhbmQg4oCcYmFja+KAnS4gT25lIGNvdWxkIG9mIGNvdXJz ZSBhbHNvIHNheSB0aGUgZXZlbnQgY29udG91cnMgYnkgdGhlbXNlbHZlcyBhbmQgaG9wZSB0aGUg cG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZpbmFsbHksIG9uZSBjYW4gdHJlYXQgYW4gZW50aXJlIGV2 ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcgdG8gdGhlIGVuZCBhcyBvbmUgc2luZ2xlIHBvaW50IHVz aW5nICcnY28naScnOgoKX18nJ3Blbm1pJydfXyDigJx4MSBtZWV0cyB4MiBhdCBsb2NhdGlvbiB4 M+KAnQoKJydtaSBwdSB7a3V9IHppIHtrdX0gY28naSB7a3V9IHBlbm1pIGxvIGRvdGNvIHByZW51 IHtrdX0ge3ZhdX0nJyAtIOKAnEEgbGl0dGxlIHdoaWxlIGFnbywgSSB3YXMgYXQgdGhlIHBvaW50 IGluIHRpbWUgd2hlcmUgaSBtZXQgYSBHZXJtYW4gcGVyc29u4oCdCgoKCgoKISFMb2piYW4gTGVz c29ucyAtIExlc3NvbiB0d2VsdmUgKG9yZGVycyBhbmQgcXVlc3Rpb25zKQoKUGhldywgdGhvc2Ug dHdvIGxvbmcgbGVzc29ucyB3aXRoIHN5bnRheCBoZWF2eSBMb2piYW4gZ2l2ZXMgdGhlIGJyYWlu IHNvbWV0aGluZyB0byBwb25kZXIgYWJvdXQuIEVzcGVjaWFsbHkgYmVjYXVzZSBpdCdzIHNvIGRp ZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNvIGxldCdzIHR1cm4gdG8gc29tZXRoaW5nIGEgbGl0dGxl IGxpZ2h0ZXI6IE9yZGVycyBhbmQgcXVlc3Rpb25zLgoKCgpXaGF0IHRoZS4uLiBfX3NpdCB1cCBh bmQgZm9jdXMhX18KCgoKU2luY2UgdGhlIHdheSB0byBleHByZXNzIG9yZGVycyBpbiBFbmdsaXNo IGlzIHRvIGxlYXZlIG91dCB0aGUgc3ViamVjdCBvZiB0aGUgY2xhdXNlLCB3aHkgZGlkIHlvdSBh c3N1bWUgdGhhdCBpdCB3YXMgeW91IEkgd2FzIHNwZWFraW5nIHRvLCBhbmQgbm90IG9yZGVyaW5n IG15c2VsZiwgb3IgZXhwcmVzc2luZyB0aGUgb2JsaWdhdGlvbiBzb21lb25lIGVsc2UgaGFzPyBC ZWNhdXNlIHRoZSBFbmdsaXNoIGxhbmd1YWdlIHVuZGVyc3RhbmRzIHRoYXQgb3JkZXJzLCBieSB0 aGVpciB2ZXJ5IG5hdHVyZSwgYXJlIGFsd2F5cyBkaXJlY3RlZCB0b3dhcmRzIHRoZSBsaXN0ZW5l ciAtIHRoZSDigJx5b3XigJ0sIGFuZCBzbyB0aGUgc3ViamVjdCBpcyBub3QgbmVjZXNzYXJ5LgoK SW4gTG9qYmFuLCBlbGlkaW5nIHRoZSBzdWJqZWN0IHlpZWxkcyAnJ3pvJ2UnJywgc28gdGhhdCBw b3NzaWJpbGl0eSBpcyBzYWRseSBub3Qgb3BlbiB0byB1cy4gSW5zdGVhZCwgd2UgdXNlIHRoZSB3 b3JkICcna28nJywgd2hpY2ggaXMgdGhlIGltcGVyYXRpdmUgZm9ybSBvZiAnJ2RvJycuIEdyYW1t YXRpY2FsbHkgYW5kIGJyaWRpLXdpc2UsIGl0J3MgZXF1aXZhbGVudCB0byAnJ2RvJycsIGJ1dCBp dCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50aWNzLCBzaW5jZSBpdCB0dXJucyBldmVyeSBzdGF0ZW1l bnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50byBhbiBvcmRlci4g4oCcRG8gc3VjaCB0aGF0IHRoaXMg c2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91PScna28nJyHigJ0gRm9yIHRoZSBzYW1lIHJlYXNvbiB3 ZSBkb24ndCBuZWVkIHRoZSBzdWJqZWN0IGluIEVuZ2xpc2ggc2VudGVuY2VzLCB3ZSBkb24ndCBu ZWVkIG9yZGVyLXdvcmRzIGRlcml2ZWQgZnJvbSBhbnkgb3RoZXIgc3VtdGkgdGhhbiAnJ2RvJycu CgoKCkhvdyBjb3VsZCB5b3Ugb3JkZXIgb25lIHRvIGdvIGZhciBhd2F5IGZvciBhIGxvbmcgdGlt ZSAodXNpbmcgJydrbGFtYScnIGFzIHRoZSBvbmx5IHNlbGJyaT8pCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6a28gdmUndSB6ZSd1IGtsYW1hfn4KCignJy5pIHphJ2EgZGFpIGEnbyBtaSBjYSBjbyd1 IGNpc2thIGxvIGZhJ29ybWEnbyAuaSBrbyBqaW1wZSB2YXUgLnVpJycpIC0gbG9vayB1cCBjaXNr YSBhbmQgd29yayBpdCBvdXQuCgoKClF1ZXN0aW9ucyBpbiBMb2piYW4gYXJlIHZlcnkgZWFzeSB0 byBsZWFybiwgYW5kIHRoZXkgY29tZSBpbiB0d28ga2luZHM6IEZpbGwgaW4gdGhlIGJsYW5rLCBh bmQgdHJ1ZS9mYWxzZSBxdWVzdGlvbnMuIExldCdzIGJlZ2luIHdpdGggdGhlIHRydWUtZmFsc2Ug cXVlc3Rpb24ga2luZCAtIHRoYXQncyBwcmV0dHkgb3ZlcmNvbWVhYmxlLCBzaW5jZSBpdCBvbmx5 IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1JycuCgonJ3h1Jycgd29ya3MgbGlrZSBhbiBhdHRpdHVk aW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBjYW4gZ28gYW55d2hlcmUsIGFuZCBpdCBhcHBsaWVz IHRvIHRoZSBwcmVjZWRpbmcgd29yZCAob3IgY29uc3RydWN0KS4gSXQgdGhlbiB0cmFuc2Zvcm1z IHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVlc3Rpb24sIGFza2luZyB3aGV0aGVyIGl0IGlzIHRydWUg b3Igbm90LiBJbiBvcmRlciB0byBhZmZpcm0sIHlvdSBzaW1wbHkgcmVwZWF0IHRoZSBicmlkaToK CicneHUgdmUndSB6ZGFuaSBkbycnICcnLmkgdmUndSB6ZGFuaSBtaScnLCBvciB5b3UganVzdCBy ZXBlYXQgdGhlIHRoZSBzZWxicmksIHdoaWNoIGlzIHRoZSBicmlkaSB3aXRoIGFsbCB0aGUgc3Vt dGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcnemRhbmknJy4KClRoZXJlIGlzIGFuIGV2ZW4gZWFzaWVy IHdheSB0byBhZmZpcm0gdXNpbmcgYnJpa2EnaSwgYnV0IHRob3NlIGFyZSBhIHRhbGUgZm9yIGFu b3RoZXIgdGltZS4gVG8gYW5zd2VyIOKAnG5v4oCdIG9yIOKAnGZhbHNl4oCdLCB5b3Ugc2ltcGx5 IGFuc3dlciB3aXRoIHRoZSBicmlkaSBuZWdhdGVkLiBUaGF0IHRvbywgd2lsbCBiZSBsZWZ0IGZv ciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0dXJuIHRvIHF1ZXN0aW9uIGFuc3dlcmluZyBieSB0aGVu LgoKCgpUaGUgb3RoZXIga2luZCBpcyBmaWxsIGluIHRoZSBibGFuay4gSGVyZSwgeW91IGFzayBm b3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8gYmUgcmVwbGFjZWQgZm9yIGEgY29uc3RydWN0LCB3aGlj aCBtYWtlcyB0aGUgYnJpZGkgY29ycmVjdC4gVGhlcmUgYXJlIHNldmVyYWwgb2YgdGhlc2Ugd29y ZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlvdSBhcmUgYXNraW5nIGFib3V0OgoKX18nJ21hJydfXyAt IHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8nJ19fIC0gc2VsYnJpIHF1ZXN0aW9uCgpfXycneG8nJ19f IC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycnY3UnZScnX18gLSB0ZW5zZSBxdWVzdGlvbgoKCgpBcyB3 ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBhc2sgYWJvdXQgYSBzdW10aSwgeW91IHRoZW4ganVzdCBw bGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3aGVyZSB5b3Ugd2FudCB5b3VyIGFuc3dlcjogJydkbyBk dW5kYSBtYSBtaScnIC0gYXNrcyBmb3IgdGhlIHgyIHRvIGJlIGZpbGxlZCB3aXRoIGEgY29ycmVj dCBzdW10aS4g4oCcWW91IGdpdmUgd2hhdCB0byBtZT/igJ0uIFRoZSBjb21iaW5hdGlvbiBvZiAn J3N1bXRjaXRhJycgKyAnJ21hJycgaXMgdmVyeSB1c2VmdWwgaW5kZWVkOgoKX18nJ211J2knJ19f IC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBieSB0aGUgYWJzdHJhY3Rpb24gb2Yge3N1bXRpfQoKCgon Jy5vaSBkbyBkYXJ4aSBtaSBtdSdpIG1hJycgLSDigJxPeSwgd2h5IGRvIHlvdSBoaXQgbWU/IeKA nQoKCgpMZXQncyB0cnkgYW5vdGhlciBvbmUuIFRoaXMgdGltZSwgeW91IHRyYW5zbGF0ZToKCicn LnVpIGRhaSBkbyBjYSB6ZSd1IHB1IG1vJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3Un cmUgaGFwcHksIHdoYXQgaGF2ZSB5b3UgYmVlbiBkb2luZyBhbGwgdGhpcyBsb25nIHRpbWUgdW50 aWwgbm93P+KAnSBUZWNobmljYWxseSwgaXQgY291bGQgYWxzbyBtZWFuIOKAnHdoYXQgaGF2ZSB5 b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJpbmcgd2l0aCAnJy51YSBuYWkgbGknYSByZW1uYScnIChV aCwgaHVtYW4sIG9idmlvdXNseSkgaXMganVzdCBiZWluZyBpbmNyZWRpYmx5IGFubm95aW5nIG9u IHB1cnBvc2Uufn4KCgoKU2luY2UgdG9uZSBvZiB2b2ljZSBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUg ZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIgYSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uIG9yIG5vdCwg b25lIGJldHRlciBub3QgbWlzcyB0aGUgcXVlc3Rpb24gd29yZC4gVGhlcmVmb3JlLCBzaW5jZSBw ZW9wbGUgdGVuZCB0byBmb2N1cyBtb3JlIG9uIHdvcmRzIGluIHRoZSBiZWdpbm5pbmcgb3IgYXQg dGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0J3MgdXN1YWxseSB3b3J0aCB0aGUgd2hpbGUgdG8gcmUt b3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRoYXQgdGhlIHF1ZXN0aW9uIHdvcmRzIGFyZSBhdCB0aG9z ZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90IGZlYXNhYmxlLCAnJ3BhdScnIGlzIGFuIGF0dGl0dWRp bmFsIG1hcmtpbmcgdGhhdCB0aGUgc2VudGVuY2UgaXMgYSBxdWVzdGlvbi4gQ29udHJhcnksICcn cGF1IG5haScnIGV4cGxpY2l0bHkgbWFya3MgYW55IHF1ZXN0aW9uIGFzIGJlaW5nIHJoZXRvcmlj YWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0aGUgdG9waWMgb2YgcXVlc3Rpb25zLCBpdCdzIGFsc28g YXBwcm9wcmlhdGUgdG8gbWVudGlvbiB0aGUgd29yZCAnJ2thdScnLCB3aGljaCBpcyBhIG1hcmtl ciBmb3Ig4oCcaW5kaXJlY3QgcXVlc3Rpb27igJ0uIFdoYXQncyBhbiBpbmRpcmVjdCBxdWVzdGlv biwgdGhlbj8gV2VsbCwgdGFrZSBhIGxvb2sgYXQgdGhlIHNlbnRlbmNlOiAnJ21pIGRqdW5vIGxv IGR1J3UgbWEga2F1IHpkYW5pIGRvJycgLSDigJxJIGtub3cgd2hhdCBpcyB5b3VyIGhvbWUu4oCd CgpfXycnZGp1bm8nJ19fIOKAnHgxIGtub3dzIGZhY3QocykgeDIgYXJlIHRydWUgYWJvdXQgeDMg YnkgZXBpc3RlbW9sb2d5IHg04oCdCgpPbmUgY2FuIHRoaW5rIGl0IGFzIHRoZSBhbnN3ZXIgdG8g dGhlIHF1ZXN0aW9uICcnbWEgemRhbmkgZG8nJy4gTW9yZSByYXJlbHksIG9uZSBjYW4gbWFyayBh IG5vbi1xdWVzdGlvbiB3b3JkIHdpdGggJydrYXUnJywgaW4gd2hpY2ggY2FzZSBvbmUgc3RpbGwg Y2FuIGltYWdpbmUgaXQgYXMgdGhlIGFuc3dlciB0byBhIHF1ZXN0aW9uOiAnJ21pIGppbXBlIGxv IGR1J3UgZHVuZGEgdGkga2F1IGRvJycgLSDigJxJIGtub3cgd2hhdCB5b3UgaGF2ZSBiZWVuIGdp dmVuLCBpdCBpcyB0aGlzLuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGhpcnRl ZW4gKG1vcnBob2xvZ3kgYW5kIHdvcmQgY2xhc3NlcykKCkJhY2sgdG8gbW9yZSBoZWF2eSAoYW5k IGludGVyZXN0aW5nKSBzdHVmZi4KCklmIHlvdSBoYXZlbid0IGFscmVhZHksIEkgc3Ryb25nbHkg c3VnZ2VzdCB5b3UgZmluZCB0aGUgTG9qYmFuaWMgcmVjb3JkaW5nIGNhbGxlZCAiU3RvcnkgVGlt ZSB3aXRoIFVuY2xlIFJvYmluIiwgb3IgbGlzdGVuIHRvIHNvbWVvbmUgc3BlYWsgTG9qYmFuIG9u IE11bWJsZSwgYW5kIHRoZW4gcHJhY3RpY2UgeW91ciBwcm9udW5jaWF0aW9uLiBIYXZpbmcgYW4g aW50ZXJuYWwgY29udmVyc2F0aW9uIGluIHlvdXIgaGVhZCBpbiBMb2piYW4gaXMgb25seSBnb29k IGlmIGl0IGlzbid0IHdpdGggYWxsIHRoZSB3cm9uZyBzb3VuZHMsIGFuZCBsZWFybmluZyBwcm9u dW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0ZXh0IGlzIGhhcmQuIFRoZXJlZm9yZSwgdGhpcyBsZXNz b24gd2lsbCBub3QgYmUgb24gdGhlIExvamJhbiBzb3VuZHMsIGhvd2V2ZXIgaW1wb3J0YW50IHRo ZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0IGludHJvZHVjdGlvbiB0byB0aGUgTG9qYmFuIG1vcnBo b2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhvbG9neT8gVGhlIHdvcmQgaXMgZGVyaXZlZCBmcm9tIEdy ZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5IG9mIHNoYXBlc+KAnSwgYW5kIGluIHRoaXMgY29udGV4 dCwgd2UgdGFsayBhYm91dCBob3cgd2UgbWFrZSB3b3JkcyBmcm9tIGxldHRlcnMgYW5kIHNvdW5k cywgYXMgY29udHJhc3RlZCB3aXRoIHN5bnRheCAtIGhvdyB3ZSBtYWtlIHNlbnRlbmNlcyB3aXRo IHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMgd2l0aCBkaWZmZXJlbnQgbW9ycGhvbG9naWNhbCB3b3Jk IGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwgZGVmaW5lZCBieSB0aGVpciBtb3JwaG9sb2d5LiBUbyBt YWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0ZW1hdGljIHRob3VnaCwgd29yZHMgd2l0aCBjZXJ0YWlu IGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdyb3VwZWQgYnkgbW9ycGhvbG9naWNhbCBjbGFzc2VzLCBi dXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIuCgp8fCAgIENsYXNzfE1lYW5pbmd8RGVmaW5lZCBCeXxU eXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jkczp8ICAgfCAgIHwgICAKCiAgIEJyaXZsYXwgICBicmlk aS13b3JkfCAgIEFtb25nIGZpcnN0IDUgbGV0dGVycyAoZXhjbHVkaW5nIOKAnCDigJgg4oCcKSBp cyBhIGNvbnNvbmFudCBjbHVzdGVyLiBFbmRzIGluIHZvd2VsLiAgIHwgICBBY3RzIGFzIGEgc2Vs YnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBoYXMgYSBwbGFjZSBzdHJ1Y3R1cmUuCgogICAtLUdpc211 fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJzIG9mIHRoZSBmb3JtIENWQ0NWIG9yIENDVkNWICAgfCAg IE9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcy4gQ292ZXJzIGJhc2ljIGNvbmNlcHRzLgoKICAgLS1M dWp2b3wgIENvbXBvdW5kIHdvcmQuIERlcml2ZWQgZnJvbSBmcm9tIOKAnGx1anZsYeKAnSwgbWVh bmluZyDigJxjb21wbGV4IHdvcmTigJ0gfCAgIE1pbi4gNiBsZXR0ZXJzLiBNYWRlIGJ5IHN0cmlu Z2luZyByYWZzaSB0b2dldGhlciB3aXRoIGJpbmRpbmcgbGV0dGVycyBpZiBuZWNlc3NhcnkufCAg IENvdmVycyBtb3JlIGNvbXBsZXggY29uY2VwdHMgdGhhbiBnaXNtdS4KCiAgIC0tRnUnaXZsYXwg IENvcHktd29yZCB8IEFzIGJyaXZsYSwgYnV0IGRvIG5vdCBtZWV0IGRlZmluaW5nIGNyaXRlcmlh IG9mIGdpc211IG9yIGx1anZvLCBleDogJydhbmdlbGknJyAgfCAgIENvdmVycyB1bmlxdWUgY29u Y2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFjZXMgb3Igb3JnYW5pc21zLgoKICAgQ21ldmxhfCAgTmFt ZS13b3JkIHwgICBCZWdpbm5pbmcgYW5kIGVuZGluZyB3aXRoIHBhdXNlIChmdWxsIHN0b3ApLiBM YXN0IHNvdW5kL2xldHRlciBpcyBhIGNvbnNvbmFudC58ICAgQWx3YXlzIGFjdHMgYXMgYSBuYW1l IG9yIGFzIHRoZSBjb250ZW50IG9mIGEgcXVvdGUuCgogICBDbWF2b3wgICBHcmFtbWFyLXdvcmQu IEZyb20g4oCcY21hdmxh4oCdLCBtZWFuaW5nIOKAnHNtYWxsIHdvcmTigJ18IE9uZSBjb25zb25h bnQgb3IgemVybywgYWx3YXlzIGF0IHRoZSBiZWdpbm5pbmcuIEVuZHMgaW4gYSB2b3dlbC4gIHwg ICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMuIFZhcmllcwoKICAgV29yZC1mcmFnbWVudHM6fCAgIHwg ICB8CgogICBSYWZzaXwgICBBZmZpeHwgIENDViwgQ1ZDLCBDVidWLCAtQ1ZDQ1YsIC1DQ1ZDViwg Q1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3QgYWN0dWFsIHdvcmRzLCBidXQgY2FuIGJlIHN0cmluZ2Vk IHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8gfHwKCgoKCgpfXycnY21ldmxhJydfXyBhcmUgdmVyeSBl YXN5IHRvIGlkZW50aWZ5IGJlY2F1c2UgdGhleSBiZWdpbiBhbmQgZW5kIHdpdGggYSBwYXVzZSwg c2lnbmFsZWQgYnkgYSBmdWxsIHN0b3AgaW4gd3JpdGluZywgYW5kIHRoZSBsYXN0IGxldHRlciBp cyBhIGNvbnNvbmFudC4gY21ldmxhIGNhbid0IGhhdmUgYW55IG90aGVyIGZ1bmN0aW9uIGJlc2lk ZXMgYWN0aW5nIGFzIGEgbmFtZS4gT24gdGhlIG90aGVyIGhhbmQsIG5hbWVzIHdoaWNoIGFyZSBu b3Qgc2VsYnJpIGNhbm5vdCBhcHBlYXIgaW4gTG9qYmFuIHdpdGhvdXQgdGhlbSBiZWluZyBjbWV2 bGEsIG9yIGVuY2FzZWQgYnkgY2VydGFpbiBxdW90ZSB3b3Jkcy4gT25lIGNhbiBtYXJrIHN0cmVz cyBpbiB0aGUgbmFtZXMgYnkgY2FwaXRhbGl6aW5nIHRoZSBsZXR0ZXJzIHdoaWNoIGFyZSBzdHJl c3NlZC4gRXhhbXBsZXMgb2YgY21ldmxhIGFyZTogJycuaW9oQU4uJycgKEpvaGFuLCBoIGlzIGNh cGl0YWwgYXBvc3Ryb3BoZSksICcnLm1hdC4nJyAoTWF0dCkgYW5kICcnLmx1dGNpTUlOLicnIChM dWktQ2hpIE1pbikuIE5hbWVzIHdoaWNoIGRvIG5vdCBlbmQgaW4gY29uc29uYW50cyBoYXZlIHRv IGhhdmUgb25lIGFkZGVkOiAnJy5pdnluLicnIChFdmUpLCBvciAocHJvYmFibHkgYmV0dGVyIGlu IHRoaXMgY2FzZSkgcmVtb3ZlZDogJycuaXYuJycKCgoKX18nJ2JyaXZsYScnX18gYXJlIGNhbGxl ZCDigJxicmlkaS13b3Jkc+KAnSBiZWNhdXNlIHRoZXkgYnkgZGVmYXVsdCBhcmUgc2VsYnJpLCBh bmQgdGhlcmVmb3JlIGFsbW9zdCBhbGwgTG9qYmFuIHdvcmRzIHdpdGggYSBwbGFjZSBzdHJ1Y3R1 cmUgYXJlIGJyaXZsYS4gVGhpcyBoYXMgYWxzbyBnaXZlbiB0aGVtIHRoZSBFbmdsaXNoIG5pY2tu YW1lIOKAnGNvbnRlbnQtd29yZHPigJ0uIEl0J3MgbmVhcmx5IGltcG9zc2libGUgdG8gc2F5IGFu eXRoaW5nIHVzZWZ1bCB3aXRob3V0IGJyaXZsYSwgYW5kIGFsbW9zdCBhbGwgd29yZHMgZm9yIGNv bmNlcHRzIG91dHNpZGUgbG9qYmFuIGdyYW1tYXIgKGFuZCBldmVuIG1vc3Qgb2YgdGhlIHdvcmRz IGZvciB0aGluZ3MgaW4gdGhlIGxhbmd1YWdlKSBhcmUgY2FwdHVyZWQgYnkgYnJpdmxhLiBBcyBz aG93biBpbiB0aGUgdGFibGUsIGJyaXZsYSBoYXMgdGhyZWUgc3ViY2F0ZWdvcmllczoKCl9fJydn aXNtdScnX18gYXJlIHRoZSByb290IHdvcmRzIG9mIHRoZSBsYW5ndWFnZS4gT25seSBhYm91dCAx NDUwIGV4aXN0cywgYW5kIHZlcnkgZmV3IG5ldyBvbmVzIGFyZSBhZGRlZC4gVGhleSBjb3ZlciB0 aGUgbW9zdCBiYXNpYyBjb25jZXB0cyBsaWtlIOKAnGNpcmNsZeKAnSwg4oCcZnJpZW5k4oCdLCDi gJx0cmVl4oCdIGFuZCDigJxkcmVhbeKAnS4gRXhhbXBsZXMgaW5jbHVkZSAnJ3pkYW5pJycsICcn cGVseHUnJyBhbmQgJydkdW5kYScnCgpfXycnbHVqdm8nJ19fIGFyZSBtYWRlIGJ5IGNvbWJpbmlu ZyByYWZzaSAoc2VlIHVuZGVyIHJhZnNpKSwgcmVzcHJlc2VudGluZyBnaXNtdS4gQnkgY29tYmlu aW5nIHJhZnNpLCBvbmUgbmFycm93cyBkb3duIHRoZSBtZWFuaW5nIG9mIHRoZSB3b3JkLiBsdWp2 byBhcmUgbWFkZSBieSBhbiBlbGFib3JhdGUgYWxnb3JpdGhtLCBzbyBtYWtpbmcgdmFsaWQgbHVq dm8gb24gdGhlIGZseSBpcyBuZWFyIGltcG9zc2libGUsIHdpdGggZmV3IGV4Y2VwdGlvbnMgbGlr ZSAnJ3NlbHBhJ2knJywgZnJvbSAnJ3NlIHByYW1pJycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25l IGRlZmluaXRpb24uIEluc3RlYWQsIGx1anZvIGFyZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1 Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4gdGhhdCBkZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwg YnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1wbGVzIGluY2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwg JydjaW5qaWtjYScnIChzZXh1YWwtc29jaWFsaXppbmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lu a2knJyAoc2hlbGwtaW5zZWN0ID0gYmVldGxlKS4KCl9fJydmdSdpdmxhJydfXyBhcmUgbWFkZSBi eSBtYWtpbmcgdXAgd29yZHMgd2hpY2ggZml0IHRoZSBkZWZpbml0aW9uIGZvciBicml2bGEsIGJ1 dCBub3QgZm9yIGx1anZvIG9yIGdpc211LiBUaGV5IHRlbmQgdG8gY292ZXIgY29uY2VwdHMgd2hp Y2ggaXQncyBoYXJkIHRvIGNvdmVyIGJ5IGx1anZvLCBmb3IgaW5zdGFuY2UgbmFtZXMgb2Ygc3Bl Y2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1bHR1cmFsIHNwZWNpZmljIGNvbmNlcHRzLiBFeGFtcGxl cyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlvJycgKEtvcmVhKSAnJ2NpZGpycGl0c2EnJyAocGl6emEp IG9yICcnYW5nZWxpJycgKGFuZ2VsKS4KCgoKX18nJ2NtYXZvJydfXyBhcmUgc21hbGwgd29yZHMg d2l0aCBvbmUgb3IgemVybyBjb25zb25hbnRzLiBUaGV5IHRlbmQgdG8gbm90IHNpZ25pZnkgYW55 dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdvcmxkLCBidXQgdG8gaGF2ZSBvbmx5IGdyYW1tYXRpY2Fs IGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9jY3VyLCBhbmQgaXQncyBkZWJhdGFibGUgaG93IG11Y2gg YXR0aXR1ZGluYWxzIGV4aXN0cyBmb3IgdGhlaXIgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEFub3Ro ZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBHT2hBLCB3aGljaCBh Y3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxpZCB0byB0eXBlIHNldmVyYWwgY21hdm8gaW4gYSByb3cg YXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVzZSBsZXNzb25zLCB0aGF0IHdvbid0IGJlIGRvbmUuIEJ5 IGdyb3VwaW5nIGNlcnRhaW4gY21hdm8gaW4gZnVuY3Rpb25hbCB1bml0cywgdGhvdWdoLCBpdCBp cyBzb21ldGltZXMgZWFzaWVyIHRvIHJlYWQuIFRodXMsICcnLnVpcHV6dXZ1a3VtaSBjaXRrYScn IGlzIHZhbGlkLCBhbmQgaXMgcGFyc2VkIGFuZCB1bmRlcnN0b29kIGFzICcnLnVpIHB1IHp1IHZ1 IGt1IG1pIGNpdGthJycuIExpa2Ugb3RoZXIgTG9qYmFuIHdvcmRzLCBvbmUgc2hvdWxkIChidXQg bmVlZCBub3QgYWx3YXlzKSBwbGFjZSBhIGZ1bGwgc3RvcCBiZWZvcmUgYW55IHdvcmRzIGJlZ2lu bmluZyB3aXRoIGEgdm93ZWwuCgpjbWF2byBvZiB0aGUgZm9ybSB4VlYsIENWJ1ZWIG9yIFYnVlYg YXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFyZSB3b3JkcyB3aGljaCBhcmUgbm90IGluIHRoZSBmb3Jt YWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhhdmUgYmVlbiBhZGRlZCBieSBMb2piYW4gdXNlcnMgdG8g cmVzcG9uZCB0byBhIGNlcnRhaW4gbmVlZC4KCgoKX18nJ3JhZnNpJydfXyBhcmUgbm90IExvamJh biB3b3JkcywgYW5kIGNhbiBuZXZlciBhcHBlYXIgYWxvbmUuIEhvd2V2ZXIsIHNldmVyYWwgKG1v cmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJpbmUgdG8gZm9ybSBsdWp2by4gVGhlc2UgbXVzdCBzdGls bCBsaXZlIHVwIHRvIHRoZSBicml2bGEtZGVmaW5pdGlvbiwgZm9yIGluc3RhbmNlICcnbG9qYmFu JycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGVuZHMgaW4gYSBjb25zb25hbnQgKHdoaWNoIG1ha2Vz IGl0IGEgY21ldmxhKSwgYW5kICcnY2knZWtlaScnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBkb2Vz IG5vdCBjb250YWluIGEgY29uc29uYW50IGNsdXN0ZXIsIGFuZCBpcyB0aHVzIHJlYWQgYXMgdHdv IGNtYXZvIHdyaXR0ZW4gYXMgb25lIHdvcmQuIE9mdGVuLCBhIDMtNCBsZXR0ZXIgc3RyaW5nIGlz IGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSwgbGlrZSAnJ3p1J2UnJywgd2hpY2ggaXMgYm90aCB0 aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9yICcnenVrdGUnJy4gTm90ZSB0aGF0IHRoZXJlIGlzIG5v d2hlcmUgdGhhdCBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2kgd291bGQgYmUgZ3JhbW1hdGljYWws IHNvIHRoZXNlIGFyZSBub3QgY29uc2lkZXJlZCBob21vcGhvbmVzLiBBbGwgZ2lzbXUgY2FuIGRv dWJsZSBhcyByYWZzaSwgaWYgdGhleSBhcmUgcHJlZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBU aGUgZmlyc3QgZm91ciBsZXR0ZXIgb2YgYSBnaXNtdSBzdWZmaXhlZCB3aXRoIGFuICJ5IiBjYW4g YWxzbyBhY3QgYXMgYSByYWZzaSwgaWYgdGhleSBhcmUgc3VmZml4ZWQgd2l0aCBhbm90aGVyIHJh ZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBvbmx5IGFwcGVhciBpbiBsdWp2byBvciBjbWV2bGEuIFZh bGlkIHJhZnNpIGxldHRlciBjb21iaW5hdGlvbnMgYXJlOiBDVlYsIENWJ1YsIENDViwgQ1ZDQ3kt IENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NWQ1YuCgoKClVzaW5nIHdoYXQgeW91IGtub3cgbm93LCB5 b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5zd2VyIHRoZSB0ZXN0IGkgdGh1cyBwcmVzZW50OgoKQ2F0 ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgd29yZHMgYXMgY21ldmxhIChDKSwgZ2lzbXUg KGcpLCBsdWp2byAobCksICcnZnUnaXZsYScnIChmKSBvciBjbWF2byAoYyk6CgpBICkgamFpICAg ICAgICBHICkgbXVtYmwKCkIgKSAuaXJjaSAgICAgICAgSCApIC5pJ2kKCkMgKSBib3N0dSAgICAg ICAgSSApIGN1CgpEICkgeGVsbWFuICAgICAgICBKICkgcGxhanZhCgpFICkgcG8nZSAgICAgICAg SyApIGRhbnNla2UKCkYgKSBkamlza3UgICAgICAgIEwgKSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTphLWMsIGItZiwgYy1nLCBkLUMsIGUtYywgZi1sLCBnLUMsIGgtYywgaS1jLCBqLWws IGstZiwgbC1mLiBJIGxlZnQgb3V0IHRoZSBmdWxsIHN0b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFt ZXMgc28gaXQgd291bGRuJ3QgYmUgdG9vIGVhc3kuCgpOb3RlOiBzb21lIG9mIHRoZXNlIHdvcmRz LCBsaWtlICcnYm9zdHUnJyBkbyBub3QgZXhpc3QgaW4gdGhlIGRpY3Rpb25hcnksIGJ1dCB0aGlz IGlzIGlycmVsZXZhbnQuIFRoZSBtb3JwaG9sb2d5IHN0aWxsIG1ha2VzIGl0IGEgZ2lzbXUsIHNv IGl0J3MganVzdCBhbiB1bmRlZmluZWQgZ2lzbXUuIFNpbWlsYXJseSB3aXRoICcnLmVydHNhJyd+ fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZm91cnRlZW4gKHRoZSBMb2piYW4gc3Vt dGkgMTogTEUgYW5kIExBKQoKSWYgeW91IGhhdmUgcmVhZCBhbmQgdW5kZXJzdG9vZCB0aGUgY29u dGVudCBvZiBhbGwgdGhlIGxlc3NvbnMgdW50aWwgbm93LCB5b3UgaGF2ZSBhbWFzc2VkIGEgbGFy Z2UgZW5vdWdoIGtub3dsZWRnZSBvZiBMb2piYW4gc28gdGhhdCBpdCBkb2Vzbid0IG1hdHRlciBp biB3aGljaCBvcmRlciB5b3UgbGVhcm4gdGhlIHJlc3QuIEFzIGEgcmVzdWx0LCB0aGUgb3JkZXIg b2YgdGhlIG5leHQgbGVzc29ucyB3aWxsIGJlIGEgbWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5jcmVh c2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0ZWQgYnkgaW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBMb2pi YW4gY29udmVyc2F0aW9uLgoKCgpPbmUgb2YgdGhlIGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5b3Vy IHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0ZWQga25vd2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1bXRp LiBTbyBmYXIsIHlvdSBvbmx5IGtub3cgJyd0aScnIGFuZCAnJ2xvIFNFTEJSSScnLCB3aGljaCBk b2Vzbid0IHRha2UgeW91IGZhciBjb25zaWRlcmluZyBob3cgaW1wb3J0YW50IHN1bXRpIGFyZSBp biBMb2piYW4uIFRoaXMgbGVzc29uIGFzIHdlbGwgYXMgdGhlIGZvbGxvd2luZyB0d28gd2lsbCBi ZSBhYm91dCB0aGUgTG9qYmFuIHN1bXRpLiBGb3Igbm93LCB3ZSBmb2N1cyBvbiB0aGUgZGVzY3Jp cHRpdmUtbGlrZSBzdW10aSwgdGhlIG9uZXMgbWFkZSB3aXRoIGFydGljbGVzIGxpa2UgJydsbycn CgpBcnRpY2xlcyBhcmUgaW4gbG9qYmFuIGNhbGxlZCAnJ2dhZHJpJycsIGFuZCBhbGwgdGhlIG9u ZXMgZGlzY3Vzc2VkIGluIHRoaXMgbGVzc29uIGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgZXhj ZXB0IHRoZSBjb21iaW5hdGlvbnMgJydsYSBDTUVWTEEnJywgJydsYWkgQ01FVkxBJycgYW5kICcn bGEnaSBDTUVWTEEnJy4gV2Ugd2lsbCBiZWdpbiBieSBkZXNjcmliaW5nIHRocmVlIHNpbXBsZSBr aW5kcyBvZiBkZXNjcmlwdGl2ZSBzdW10aSwgYW5kIHRoZW4gaW1tZWRpYXRlbHkgZmluZCB0aGF0 IHRoZXkgYXJlIG5vdCBzbyBzaW1wbGUgYWZ0ZXIgYWxsOgoKX18nJ2xvJydfXyAtIGdhZHJpOiBH ZW5lcmljIHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlz IHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xlJydf XyAtIGdhZHJpOiBHZW5lcmljIGRlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp 4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5l c3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKA nGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGlu ZGl2aWR1YWwocykuCgoKCllvdSBhcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRoICcnbG8nJyBhbmQg d2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBkb2VzIGl0IG1lYW4sIOKAnHZlcmlkaWNhbOKAnSBhbmQg 4oCcdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3PigJ0/IFRoZSBs YXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMgYW5kIG1hc3NlcywgSSdsbCBjb21lIGJhY2sgdG8gbGF0 ZXIuIEZvciBub3csIOKAnHZlcmlkaWNhbOKAnSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCBp biBvcmRlciBmb3IgYSB0aGluZyB0byBxdWFsaWZ5IGJlZ2luIGxhYmVsbGVkIGFzICcnbG8ga2xh bWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5ICcna2xhbWEnJy4gVGh1cywgdmVyaWRpY2FsIGdhZHJp IG1ha2VzIGEgY2xhaW0gd2hpY2ggbWF5IGJlIHRydWUgb3IgZmFsc2UgLSB0aGF0IHRoZSBvYmpl Y3QocykgaW4gcXVlc3Rpb24gYXJlIGFjdHVhbGx5IHRoZSB4MSBvZiB0aGUgc2VsYnJpIGFmdGVy ICcnbG8nJy4gCgoKClRoaXMgbWF5IGJlIGNvbnRyYXN0ZWQgd2l0aCAnJ2xlJycsIHdoaWNoIGlz IGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBub3QgdmVyaWRpY2FsLiBTYXlpbmcgJydsZSBnZXJrdScn IHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUgb3IgbW9yZSBzcGVjaWZpYyBvYmplY3RzIGluIG1pbmQs IGFuZCB5b3UgdXNlIHRoZSBzZWxicmkgJydnZXJrdScnIHRvIGRlc2NyaWJlIGl0LCBzbyB0aGF0 IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRpZnkgdGhvc2Ugc3BlY2lmaWMgb2JqZWN0cy4gVGhpcyBt ZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0d28gaW1wb3J0YW50IGRpZmZlcmVuY2VzIGZyb20gJyds bycnOiBGaXJzdGx5LCBpdCBjYW5ub3QgcmVmZXIgdG8gb2JqZWN0cyBpbiBnZW5lcmFsLCBidXQg YWx3YXlzIHJlZmVycyB0byBzcGVjaWZpYyBvYmplY3RzLiBTZWNvbmRseSwgd2hpbGUgJydsbyBn ZXJrdScnIGRlZmluaXRlbHkgaXMgb25lIG9yIG1vcmUgZG9ncywgJydsZSBnZXJrdScnLCBiZWNh dXNlIGl0J3Mgbm90IHZlcmlkaWNhbCwgY2FuIGJlIGFueXRoaW5nLCBhcyBsb25nIGFzIHRoZSBz cGVha2VyIHRoaW5rcyB0aGUgZGVzY3JpcHRpb24gd2lsbCBoZWxwIGlkZW50aWZ5aW5nIHRoZSBj b3JyZWN0IG9iamVjdHMuIFBlcmhhcHMgdGhlIHNwZWFrZXIgaXMgcmVmZXJyaW5nIHRvIGEgaHll bmEsIGJ1dCBhcmUgbm90IGZhbWlsaWFyIHdpdGggdGhlbSBhbmQgdGhpbmsg4oCcZG9n4oCdIGlz IGEgZ29vZCBlbm91Z2ggYXBwcm94aW1hdGlvbiB0byBiZSB1bmRlcnN0b29kLiBUaGlzIG5vbi12 ZXJpZGljYWxpdHkgaXMgcGVyaGFwcyBvdmVyLWVtcGhhc2lzZWQgaW4gbW9zdCBtYW55IHRleHRz OyBUaGUgYmVzdCB3YXkgdG8gZGVzY3JpYmUgYSBkb2cgaXMgdXN1YWxseSB0byBkZXNjcmliZSBp dCBhcyBiZWluZyBhIGRvZywgYW5kIHVubGVzcyB0aGVyZSBpcyBhIGdvb2QgcmVhc29uIG5vdCB0 bywgJydsZSBnZXJrdScnIGlzIHVzdWFsbHkgcHJlc3VtZWQgdG8gcmVmZXIgdG8gc29tZXRoaW5n IHdoaWNoIGlzIGFsc28gJydsbyBnZXJrdScnLgoKSW4gdHJhbnNsYXRpb24sICcnbG8gZ2Vya3Un JyBpcyB1c3VhbGx5IOKAnGEgZG9n4oCdIG9yIOKAnHNvbWUgZG9nc+KAnSwgd2hpbGUgJydsZSBn ZXJrdScnIGlzIOKAnHRoZSBkb2figJ0gb3Ig4oCcdGhlIGRvZ3PigJ0uIEV2ZW4gYmV0dGVyIGZv ciAnJ2xlIGdlcmt1Jycgd291bGQgYmUg4oCcdGhlIOKAnGRvZyhzKeKAnSDigJ0KCgoKTGFzdCBv ZiB0aGUgdGhyZWUgYmFzaWMgJydnYWRyaScnLCB0aGVyZSBpcyAnJ2xhJycsIHRoZSBuYW1pbmcg JydnYWRyaScnLCB3aGljaCBJIGhhdmUgdW5jb252ZW50aW9uYWxseSBjYWxsZWQg4oCcY29udmVu dGlvbmFs4oCdLiBXaGF0IEkgbWVhbiBieSB0aGlzIGlzIHRoYXQgaXQncyBuZWl0aGVyIGRlc2Ny aXB0aXZlIG5vciB2ZXJpZGljYWwsIHNpbmNlIGl0IHJlZmVycyB0byBhIHByb3BlciBuYW1lLiBJ ZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8gYSBwZXJzb24gY2FsbGVkIElubm9jZW50IGJ5IGhlciBu YW1lLCBJIG5laXRoZXIgZGVzY3JpYmUgaGVyIGFzIGJlaW5nIGlubm9jZW50LCBub3IgZG8gSSBz dGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5IHN0YXRlIHRoYXQgYnkgY29udmVudGlvbiwgdGhhdCBv YmplY3QgaXMgcmVmZXJyZWQgdG8gYnkgdGhhdCBzZWxicmkgb3IgY21ldmxhLiBOb3RlIHRoYXQg JydsYScnIGFuZCB0aGUgZ2FkcmkgZGVyaXZlZCBmcm9tIGl0IGNhbiBjb252ZXJ0IGNtZXZsYSB0 byBzdW10aSB1bmxpa2UgYW55IG90aGVyICcnZ2FkcmknJy4gQWxzbzogQmUgY2F1dGlvdXM6IE90 aGVyIHRleHRzIGRvIG5vdCBtZW50aW9uIHRoYXQgbmFtZXMgY2FuIGJlIGZvcm1lZCBmcm9tIG9y ZGluYXJ5IHNlbGJyaSB1c2luZyB0aGUgZ2FkcmkgJydsYScnLiBCdXQgdGhvc2UgaGVyZXRpY3Mg bXVzdCBidXJuOyBzZWxicmkgbmFtZXMgYXJlIGFzIGdvb2QgYXMgdGhleSBnZXQsIGFuZCBtYW55 IGEgcHJvdWQgTG9qYmFuaXN0IGhhdmUgdGhlbS4KCicnbGEnJywgYXMgd2VsbCBhcyAnJ2xhaScn IGFuZCAnJ2xhJ2knJyBhcmUgYSBiaXQgZWNjZW50cmljLCBzaW5jZSB0aGV5IF9fYWx3YXlzX18g bWFya3MgdGhlIGJlZ2lubmluZyBvZiBhIG5hbWUuIFVubGlrZSB0aGUgb3RoZXIgZ2FkcmksIGFu eXRoaW5nIHRoYXQgY2FuIGJlIGdyYW1tYXRpY2FsbHkgcGxhY2VkIGFmdGVyICcnbGEnJyBhbmQg aXRzIHNpc3RlcnMgYXJlIGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgbmFtZS4gRm9yIGV4YW1wbGUs ICcnbGUgbWkgZ2Vya3UnJyBpcyAibXkgZG9nIiwgYnV0ICcnbGEgbWkgZ2Vya3UnJyBpcyBzb21l b25lIGNhbGxlZCAiTXkgRG9nIi4KCgoKVGhlc2UgdGhyZWUgYmFzaWMgJydnYWRyaScnIGNhbiBi ZSBleHBhbmRlZCB3aXRoIHRocmVlIG1vcmUsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBwcmV2 aW91czoKCgoKX18nJ2xvaScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgpfXycnbGVpJydfXyAtIGdh ZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVz dWx0IGFzIGEgbWFzcyhlcykuCgpfXycnbGFpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTog Q29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRy ZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCgoKVGhlc2UgYXJlIHRoZSBzYW1lIGluIGFsbCBhc3Bl Y3RzIGV4Y2VwdCBmb3Igb25lOiBUaGV5IHRyZWF0IHRoZSBzdW10aSBleHBsaWNpdGx5IGFzIG1h c3Nlcy4gSWYgdGhlcmUgaXMgb25seSBvbmUgb2JqZWN0IGluIHF1ZXN0aW9uLCBhbiBpbmRpdmlk dWFsIGFuZCBhIG1hc3MgY29uc2lzdGluZyBvZiBvbmUgb2JqZWN0IGFyZSBlcXVpdmFsZW50LiBU aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZXNlIHR3byBjb25jZXB0cyBsaWUgaW4gd2hpY2ggc2Vs YnJpIGNhbiBiZSBhc2NyaWJlZCB0byBhIGdyb3VwIG9mIGluZGl2aWR1YWxzIHZlcnN1cyBhIG1h c3MuIEEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgY2FuIGJlIHNhaWQgdG8gZml0IGEgY2VydGFpbiBz ZWxicmkgaWYsIGFuZCBvbmx5IGlmLCBhbGwgbWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQg dGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJr dScnLCBjb25zaWRlcmVkIGluZGl2aWR1YWxseSwgYXMgYmVpbmcgYmxhY2ssIGlmIGZvciBlYWNo IG9mIHRoZSBkb2dzIGl0J3MgdHJ1ZSB0aGF0IHRoZXkgYXJlIGJsYWNrLiBBIG1hc3MsIG9uIHRo ZSBvdGhlciBoYW5kLCBmaXRzIG9ubHkgdGhvc2Ugc2VsYnJpIHdoaWNoIGl0cyBjb21wb25lbnRz IGZpdCBhcyBhIHdob2xlLCBhcyBhIHRlYW0sIHNvIHRvIHNwZWFrLiBIb3dldmVyLCBhbGwgdGhl IG1lbWJlcnMgb2YgYSBtYXNzICcnbG9pIGdlcmt1JycgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZv ciAnJ2xvaScnIHRvIGJlIGFwcGxpY2FibGUuIFRoZSBub3Rpb24gb2YgIm1hc3NlcyIgYXJlIHNv cGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJlcyBzb21lIGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdo aWNoIHByb3BlcnRpZXMgaXQgY2FuIGhhdmU6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3Mv ZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGluIGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJyds ZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRhbmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0 aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxlLCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3Qg Y29uc2lkZXJlZCwgaXQncyBjb21wbGV0ZWx5IGltcGxhdXNpYmxlIHRoYXQgaXQgY291bGQgYmUg dHJ1ZSBmb3IgYW55IG9uZSBvZiB0aGUgbWVtYmVycyBhbG9uZS4gQW4gRW5nbGlzaCBhbmFsb2d5 IGNvdWxkIGJlOiDigJxIdW1hbnMgZGVmZWF0ZWQgc21hbGxwb3ggaW4gdGhlIDIwdGggY2VudHVy eeKAnS4gU3VyZWx5IG5vIGh1bWFuIGRpZCBzbywgYnV0IHRoZSBtYXNzIG9mIGh1bWFucyBkaWQs IGFuZCB0aGF0IG1ha2VzIHRoZSBzZW50ZW5jZSB0cnVlIGluIEVuZ2xpc2gsIGFzIHdlbGwgYXMg aW4gTG9qYmFuIGlmIOKAnGh1bWFuc+KAnSBhcmUgYSBtYXNzLiBKdXN0IGxpa2UgdGhlIExvamJh biBtYXNzLCB0aGUgRW5nbGlzaCBtYXNzIOKAnGh1bWFuc+KAnSBjYW4gb25seSByZWZlciB0byBp bmRpdmlkdWFscyBlYWNoIG9mIHdoaWNoIGFyZSBodW1hbi4gQW5vdGhlciBleGFtcGxlOgoKX18n J21pdnlzbGUnJ19fOiAieDEgaXMgYSBiaW9sb2dpY2FsIGNlbGwgb2Ygb3JnYW5pc20geDIiCgpf XycncmVtbmEnJ19fOiAieDEgaXMgYSBodW1hbiIKCicnbG9pIG1pdnlzbGUgY3UgcmVtbmEnJyAt ICJTb21lIG1hc3NlcyBvZiBjZWxscyBhcmUgaHVtYW4iLiBBZ2Fpbiwgbm9uZSBvZiB0aGUgY2Vs bHMgYXJlIGh1bWFuLiBJbmRlZWQsIHRoZSBjZWxscyBoYXZlIHZlcnkgZmV3IGh1bWFuIHRyYWl0 cywgYnV0IHRoZSBjZWxscyBjb25zaWRlcmVkIGFzIGEgd2hvbGUgbWFrZXMgdXAgYSBodW1hbi4K CgoKQSBtYXNzIG1hZGUgd2l0aCAnJ2xlaScnLCBzdWNoIGFzICcnbGVpIGdlcmt1JycsIHJlZmVy cyB0byBhIG1hc3MgZm9ybWVkIGJ5IGEgZ3JvdXAgb2Ygc3BlY2lmaWMgaW5kaXZpZHVhbHMsIGVh Y2ggb2Ygd2hpY2ggdGhlIHNwZWFrZXIgcmVmZXJzIHRvIGFzICcnbGUgZ2Vya3UnJy4KCk1hc3Mg bmFtZXMgYXMgZGVzY3JpYmVzIGJ5ICcnbGFpJycgYXJlIG9ubHkgYXBwcm9wcmlhdGUgaWYgdGhl IGdyb3VwIGFzIGEgd2hvbGUgaXMgbmFtZWQgc3VjaCwgYW5kIG5vdCBqdXN0IGlmIGFueSBvZiB0 aGUgbWVtYmVycyBhcmUuIEl0IGNhbiwgaG93ZXZlciBiZSB1c2VkIGlmIHRoZSBicmlkaSBpcyB0 cnVlIGZvciBvbmx5IGEgZnJhY3Rpb24gb2YgdGhhdCBncm91cC4KCgoKSXQgaXMgaW1wb3J0YW50 IHRvIHJlbWVtYmVyIHRoYXQgJydsbycnIGFuZCAnJ2xlJycgY2FuIGJlIHVzZWQgdG8gZGVzY3Jp YmUgYm90aCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLiBMZXQncyBzYXkgYSBwYWNrIG9mIGRvZ3Ms IGNvbnNpZGVyZWQgYXMgYSBtYXNzIG5lZWRzIGRlc2NyaXB0aW9uLiBJIG1pZ2h0IGRlc2NyaWJl IGl0IGFzIGVpdGhlciAnJ2xvaSBnZXJrdScnIG9yICcnbG8gZ2Vya3UnJy4gSWYgSSB1c2UgJyds bycnLCB0aGlzIGFsbG93cyBtZSB0byBjb3JyZWN0bHkgc3RhdGUgc29tZXRoaW5nIHdoaWNoIGxv b2tzIGxpa2UgYSBjb250cmFkaWN0aW9uLCBidXQgcmVhbGx5IGlzbid0OiAnJ2xvIGdlcmt1IG5h IGdlcmt1JycgLSAiU29tZSBkb2dzIGFyZSBub3QgZG9ncyIuIFNpbmNlIGl0J3MgYmVpbmcgY29u c2lkZXJlZCBhIG1hc3Mgb2YgZG9ncywgdGhlIG1hbnkgZG9ncyBjb25zaWRlcmVzIGFzIGEgd2hv bGUgaXMgbm90IGEgZG9nLCBidXQgcmF0aGVyIGEgcGFjayBvZiBkb2dzLgoKWW91IG1pZ2h0IGhh dmUgbm90aWNlZCB0aGF0IHRoZXJlIGlzIG5vIHdvcmQgd2hpY2ggdW5hbWJpZ3VvdXNseSBjb252 ZXJ0cyBzZWxicmkgdG8gaW5kaXZpZHVhbChzKS4gSW4gb3JkZXIgdG8gYmUgZXhwbGljaXQgYWJv dXQgaW5kaXZpZHVhbG5lc3MsIG9uZSBuZWVkcyAnJ2xvJycsICcnbGUnJyBvciAnJ2xhJycgd2l0 aCBhbiBvdXRlciBxdWFudGlmaWVyLiBUaGUgc3ViamVjdCBvZiBxdWFudGlmaWVycyB3aWxsIGJl IGNvbnNpZGVyZWQgbGF0ZXIsIGluIGxlc3NvbiB0d2VudHktdHdvLiBXaGF0IGlzIHRoZSByZWFz b24gdGhhdCAnJ2xvJycgYW5kICcnbGUnJyB2YWd1ZSwgYW5kIG5vdCBleHBsaWNpdGx5IGluZGl2 aWR1YWw/IEl0IGlzIGJlY2F1c2UgdGhlaXIgdmFndWVuZXNzIGVuYWJsZXMgdGhlbSB0byBiZSB1 c2VkIGluIGFueSBjb250ZXh0LCB3aXRob3V0IHRoZSBzcGVha2VyIGhhdmluZyB0byB0aGluayBh Ym91dCB3aGV0aGVyIGlzIGJlaGF2ZXMgYXMgYSBtYXNzIG9yIGEgZ3JvdXAgb2YgaW5kaXZpZHVh bHMuCgoKClRoaXJkIGluIHRoaXMgc2VyaWVzLCB0aGVyZSBhcmUgdGhyZWUgc2V0LWZvcm1pbmcg JydnYWRyaScnOgoKCgpfXycnbG8naScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQg c2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGUnaScnX18g LSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0 IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsYSdpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTog Q29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRy ZWF0IHJlc3VsdCBhcyBhIHNldC4KCgoKVW5saWtlIGdyb3VwcyBvZiBpbmRpdmlkdWFscyBvciwg c29tZXRpbWVzLCBtYXNzZXMsIHNldHMgZG9lcyBub3QgdGFrZSBhbnkgb2YgdGhlIHByb3BlcnRp ZXMgZnJvbSB0aGUgb2JqZWN0cyBmcm9tIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkLiBBIHNldCBp cyBhIHB1cmVseSBtYXRoZW1hdGljYWwgb3IgbG9naWNhbCBjb25zdHJ1Y3QsIGFuZCBoYXMgcHJv cGVydGllcyBsaWtlIGNhcmRpbmFsaXR5LCBtZW1iZXJzaGlwIGFuZCBzZXQgaW5jbHVzaW9uLiBB Z2Fpbiwgbm90ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgc2V0IG9mIHRoaW5ncywgYW5kIHRo ZSB0aGluZ3Mgb2Ygd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQ6CgpfXycndGlyeHUnJ19fIOKAnHgx IGlzIGEgdGlnZXIvbGVvcGFyZC9qYWd1YXIgb2Ygc3BlY2llcy9icmVlZCB4MiB3aXRoIGNvYXQg bWFya2luZ3MgeDPigJ0KCicnbG8naSB0aXJ4dSBjdSBjbWFsdScnIHNheXMgbm90aGluZyBhYm91 dCB3aGV0aGVyIGJpZyBjYXRzIGFyZSBzbWFsbCAod2hpY2ggaXMsIGJ5IHRoZSB3YXksIG9idmlv dXNseSBmYWxzZSksIGJ1dCBpbnN0ZWFkIHNheSB0aGF0IHRoZSBzZXQgb2YgYmlnIGNhdHMgaXMg c21hbGw7IHRoYXQgaXMgLSB0aGVyZSBhcmUgZmV3IG9mIHRoZW0uCgoKCkxhc3RseSwgdGhlcmUg YXJlIHRoZSAob25seSB0d28pIGdlbmVyYWxpemluZyAnJ2dhZHJpJyc6CgpfXycnbG8nZScnX18g LSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSBy ZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBvZiAnJ2xvIHtzZWxicml9JycuCgpfXycnbGUnZScnX18g LSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRp IHJlZmVycyB0byB0aGUgZGVzY3JpYmVkL3BlcmNlaXZlZCBhcmNoZXR5cGUgb2YgJydsZSB7c2Vs YnJpfScnLgoKT2Ygd2hpY2ggdGhlcmUgaXMgbm8gJydsYScnLWVxdWl2YWxlbnQuCgoKClNvLCB3 aGF0IGlzIGFjdHVhbGx5IG1lYW50IGJ5IHRoZSBhcmNoZXR5cGU/IEZvciAnJ2xvJ2UgdGlyeHUn JywgaXQgaXMgYW4gaWRlYWwsIGltYWdpbmVkIGJpZyBjYXQsIHdoaWNoIGhhcyBhbGwgdGhlIHBy b3BlcnRpZXMgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBiaWcgY2F0cy4gSXQgd291bGQgYmUgd3Jv bmcgdG8gc2F5IHRoYXQgdGhpcyBpbmNsdWRlcyBoYXZpbmcgYSBzdHJpcGVkIGZ1ciwgc2luY2Ug YSBiaWcgc3lzdGVtYXRpYyBzdWJncm91cCBvZiB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IG9mIGJp ZyBjYXRzIGRvIG5vdCBoYXZlIHN0cmlwZWQgZnVyLCB0aGUgbGVvcGFyZHMgYW5kIHRoZSBqYWd1 YXJzLiBMaWtld2lzZSwgdGhlIHR5cGljYWwgaHVtYW4gZG9lcyBub3QgbGl2ZSBpbiBBc2lhIGV2 ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFucyBkby4gSG93ZXZlciwgaWYgc3VmZmljaWVudGx5IG1h bnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwgZm9yIGluc3RhbmNlIGJlaW5nIGFibGUgdG8gc3BlYWss IHdlIGNhbiBzYXk6CgpfXycna2FrbmUnJ19fOiDigJx4MSBpcyBjYXBhYmxlIG9mIGRvaW5nL2Jl aW5nIHgyIHVuZGVyIGNpcmN1bXN0YW5jZSB4M+KAnQoKJydsbydlIHJlbW5hIGN1IGtha25lIGxv IG51IHRhdmxhJycgLSDigJxUaGUgdHlwaWNhbCBodW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoK CicnbGUnZScnIHRoZW4sIGlzIHRoZSBpZGVhbCBvYmplY3QgYXMgcGVyY2VpdmVkIG9yIGRlc2Ny aWJlZCBieSB0aGUgc3BlYWtlci4gVGhpcyBuZWVkIG5vdCBiZSBmYWN0dWFsbHkgY29ycmVjdCwg YW5kIGlzIG9mdGVuIHRyYW5zbGF0ZWQgYXMgdGhlIOKAnHN0ZXJlb3R5cGXigJ0sIGV2ZW4gdGhv dWdoIHRoZSBFbmdsaXNoIHBocmFzZSBoYXZlIHNvbWUgdW5wbGVhc2FudCBuZWdhdGl2ZSBjb25u b3RhdGlvbnMsIHdoaWNoIHRoZSBMb2piYW4gZG9lcyBub3QuIEluIGZhY3QsIGV2ZXJ5b25lIGhh cyBhIHN0ZXJlb3R5cGljYWwgYXJjaGV0eXBpY2hhbCBpbWFnZSBvZiBhbnkgY2F0ZWdvcnkuIElu IG90aGVyIHdvcmRzLCAnJ2xvJ2UgcmVtbmEnJyBpcyB0aGUgYXJjaGV0eXBlIHdoaWNoIGJlc3Qg ZXhlbXBsaWZpZXMgYWxsICcnbG8gcmVtbmEnJywgd2hpbGUgdGhlIGFyY2hldHlwZSAnJ2xlJ2Ug cmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4g Z2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhlIGRpYWdyYW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNz ZXN8U2V0c3xHZW5lcmFsaXppbmcKCnZlcmlkaWNhbHxsb3xsb2l8bG8naXxsbydlCgpEZXNjcmlw dGl2ZXxsZXxsZWl8bGUnaXxsZSdlCgpOYW1lfGxhfGxhaXxsYSdpfGRvZXMgbm90IGV4aXN0fHwK CgoKTm90ZTogRWFybGllciwgdGhlcmUgd2FzIGEgd29yZCAnJ3hvJ2UnJyBmb3IgdGhlIGdlbmVy aWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBydWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdl cmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQsIGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24g dGhpcyB0b3BpYywgbmlja2VkIOKAnHhvcmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4g Tm93LCAnJ2xvJycgaXMgZ2VuZXJpYywgYW5kICcneG8nZScnIGlzIHVzZWQgYXMgYSBlbGxpcHRp Y2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAyOiBLT2hBMywgS09oQTUgYW5kIEtPaEE2KQoK U2VlIHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNlbnRlbmNlOiDigJxT dGVyZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNwZWFrIExvamJhbiBzcGVhayB0byBlYWNoIG90 aGVyIGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBjYW4gc3BlYWvigJ06CgpfXycnYmFuZ3UnJ19f IOKAnHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4MiB0byBleHByZXNzIHgzIChhYnN0cmFjdGlv binigJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9q YmFuLiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxh IC5sb2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVudSBwb2kga2UnYSB0YXZsYSBmbyBsYSAubG9q YmFuLiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hhdCB3ZSBzZWUgaXMgdGhhdCB0aGUgTG9qYmFu IHZlcnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUgRW5nbGlzaC4gVGhpcyBpcyBwcmltYXJp bHkgYmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxvdXNseSBsb25nIHN1bXRpIGlzIGJlaW5nIHJl cGVhdGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBMb2piYW4gdGV4dCwgd2hpbGUgdGhlIEVuZ2xp c2ggY2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2ggb3RoZXLigJ0gYW5kIOKAnHRoZXnigJ0gLSBt dWNoIG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0IGl0IGJlIGNsZXZlciBpZiBMb2piYW4gc29t ZWhvdyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcgdGhlIHNhbWU/CgoKCkl0IHR1cm5zIG91dCBp dCBkb2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJhbiBoYXMgYSByYW5nZSBvZiB3b3JkcyBjYWxs ZWQgJydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10aS1yZXByZXNlbnRhdGl2ZXPigJ0uIEluIEVu Z2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNhdXNlIHRoZXkgYXJlIGVz c2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHByb25vdW5zLCBidXQgd2l0aCBzdW10 aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBrbm93ICcndGknJywgJydk bycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBzbyBsZXQncyBnZXQgbGVh cm5pbmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBpdCBpbnRvIHN5c3RlbS4gV2UgY2FuIGJlZ2lu IHdpdGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLCBhbmQgd2hhdCB5b3UndmUg YWxyZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19fIC0gc3Vta2EnaTog4oCcaW1tZWRpYXRlIOKA mGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgbmVhciB0aGUgc3BlYWtlcuKAnQoK X18nJ3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJieSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10 aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhlIHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhl IGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2EnaTog4oCcZGlzdGFudCDigJhpdCc6IHJl cHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZhciBmcm9tIHRoZSBzcGVha2VyIGFuZCB0aGUg bGlzdGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4gcmVjb2duaXplIHRoZSDigJxpLCBhLCB14oCd LXNlcXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBhbmQgb3Zlci4gU29tZSB0aGluZ3MgbWlnaHQg dGFrZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2guIEZpcnN0bHksIHRoZXNlIHN1bXRpIGNhbiBy ZXByZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJlIHNhaWQgdG8gb2NjdXB5IGEgcGh5c2ljYWwg c3BhY2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRlYXMsIGNlcnRhaW5seSBub3QuIEV2ZW50cyBh cmUgYWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBleHRlbnQgdGhleSBhcmUgcmVzdHJpY3RlZCB0 byBhIHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21pbiBSZXZvbHV0aW9uIGNhbm5vdCBiZSBwb2lu dGVkIGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3IgYSBraXNzIG1pZ2h0LiBTZWNvbmRseSwgbm90 ZSB0aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2ZSB0byBkaWZmZXJlbnQgdGhpbmdzIGZvciB0 aGUgZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25seSBhcHBsaWVzIGlmIGl0J3MgZGlzdGFudCBm cm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhl IHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5v dCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScnIHJlZmVycyB0byBzb21ldGhpbmcgY2xv c2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdCdzIGFsbCByZWxhdGl2ZSBhbmQgY29udGV4 dCBkZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRzIGFyZSBhbGwgcHJvYmxlbWF0aWMgaW4gd3Jp dHRlbiB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBzcGVh a2VyIGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRvIGVhY2ggb3RoZXIsIGFuZCBjaGFuZ2VzIGFz IHRpbWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRoZSBhdXRob3Igb2YgYSBib29rIGNhbm5vdCBw b2ludCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3MgdGhlIHBvaW50aW5nIGluIHRoZSBib29rLgoK CgpUaGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxlZCBLT2hBMywgdG8gd2hpY2ggJydtaScnIGFu ZCAnJ2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdvbid0IHdyaXRlIHRoYXQgaGVyZSkgYmVsb25n czoKCl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUgc3BlYWtlcihzKS4KCl9fJydtaSdvJydfXyAt IHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCB0aGUgbGlzdGVuZXIocykg LgoKX18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5k IG90aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2Vy KHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9fJydkbycnX18gLSBzdW1rYSdpOiBU aGUgbGlzdGVuZXIocykuCgpfXycnZG8nbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUg bGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWthJ2kgYXJlIG1vcmUgZWFz aWx5IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4gZGlhZ3JhbToKCgoKe2ltZyBmaWxlSWQ9IjMi IHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5uIGRpYWdyYW0gb2YgS09oQTMgKCcna28nJyBl eGNsdWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3QgYSBLT2hBMywgYnV0IG1lYW5zIOKAnHRoZSBv dGhlcihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBmb3Igc2V2ZXJhbCBwZW9wbGUgdG8gYmUg4oCc dGhlIHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVtZW50IGlzIG1hZGUgb24gdGhlIGJlaGFsZiBv ZiBhbGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGlsZSDigJx3ZeKAnSBjYW4gYmUgdHJhbnNsYXRl ZCBhcyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywgJydtaSdhJycgb3IgJydtYSdhJycsIHdoYXQg b25lIHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxseSBqdXN0ICcnbWknJy4gQWxsIG9mIHRoZXNl IHNpeCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRoYW4gb25lIGluZGl2aWR1YWwsIHJlcHJlc2Vu dCBtYXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywgdGhlIGJyaWRpICcnbWkgZ2xla2knJyBzYWlk IGJ5IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8gJydkbyBnbGVraScnIHNhaWQg Ynkgc3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5kIGFyZSBjb25zaWRlcmVkIHRoZSBzYW1lIGJy aWRpLiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlzIGxhdGVyLCBpbiB0aGUgJydicmlrYSdpJycg KHByby1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2YgdGhlc2UgJydzdW1rYSdpJycgYXJlIHZlcnkg Y29udGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBiZSB1c2VkLCBmb3IgaW5zdGFuY2UsIHRvIGhl bHAgdXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2ggdGhpcyBsZXNzb24gYmVnYW4gd2l0aC4gVGhl IGZvbGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5jaXBsZSBiZSB1c2VkIHRvIHJlZmVyIHRvIGFu eSBzdW10aToKCl9fJydyaScnX18gLSBzdW1rYSdpOiDigJxMYXN0IHN1bXRpIG1lbnRpb25lZOKA nQoKX18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEgcmVjZW50LCBidXQgbm90IHRoZSBsYXN0IHN1 bXRpIG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAtIHN1bWthJ2k6IOKAnEEgc3VtdGkgbWVudGlv bmVkIGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRpIHdpbGwgcmVmZXIgdG8gYW55IHRlcm1pbmF0 ZWQgc3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycuIFRoZSByZWFzb24gdGhhdCBt b3N0IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSB0aGVzZSBzdW10 aSwgaXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRvIGp1c3QgcmVwZWF0IGJ5IHRoZW1zZWx2ZXMu IFRoZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJlICcndGknJywgJyd0YScnIGFuZCAnJ3R1Jycs IGJlY2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdlZCB3aGF0IHlvdSBwb2ludCBhdCwgYW5kIHRo dXMgY2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3JkLiBUaGV5IHdpbGwgb25seSByZWZlciB0byB0 ZXJtaW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5ub3QsIGZvciBpbnN0YW5jZSwgYmUgdXNlZCB0 byByZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0aGUgd29yZCBpbiBpcyB0aGF0IGFic3RyYWN0 aW9uOiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRvIG1pIGN1IGRqaWNhIGxvIG51IHJpIHNlIHpk YW5pJycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVmZXIgdG8gdGhlIGFic3RyYXRpb24sIHNpbmNl IGl0IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8gJydtaScnIG9yICcna2UnYScnLCBzaW5jZSB0 aGV5IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMgdG8gJydsZSBwZW5kbycnLgoKJydyYScnIGFu ZCAnJ3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50IGluIHdoYXQgdGhleSByZWZlciB0bywgYnV0 IHRoZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9uZWQgYWJvdmUsIGFuZCAnJ3J1JycgYWx3YXlz IHJlZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRpIHRoYW4gJydyYScnLCB3aGljaCBpcyBhbHdh eXMgbW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoKCgonJ3JpJycgYW5kIGl0J3MgYnJvdGhlcnMg YXJlIHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVhbGluZyB3aXRoIHRoZSBvcmlnaW5hbCBzZW50 ZW5jZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28gaW5zdGFuY2VzIG9mICcnc3Vta2EnaScnIQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0 YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBydSBsbyBiYW5ndSBwb2kgcnUgY3Ugc2UgYmFu Z3Uga2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQgcmVmZXJzIHRvICcn bGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtl bmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLicn LCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3QgZGlzdGFudCBzdW10 aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hp Y2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBU aGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChqdWZyYSksIGJ1dCBj YW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93cyBpdDoKCl9fJydk YSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBwYXN0IHNlbnRlbmNlCgpfXycnZGUn dScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNlbnQgc2VudGVuY2UKCl9fJydkaSd1JydfXyBV dHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVpJydfXyBVdHRlcmFu Y2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydkaSdlJydfXyBVdHRlcmFuY2UgdmFyaWFi bGU6IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5lYXIg ZnV0dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUg ZnV0dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBFbGxpcHRp Y2FsIHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29tZSBzZW50ZW5jZeKAnQoKVGhlc2UgcmVwcmVz ZW50cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCByZWZlciBvbmx5IHRvIHRoZSBzcG9rZW4gd29y ZHMgb3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUgbWVhbmluZyBiZWhpbmQgdGhlbS4KCgoKVGhl cmUgYXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScnLCBidXQgZm9yIG5vdyB5b3UgcHJvYmFibHkg bmVlZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5leHQgbGVzc29uIHdpbGwgYmUgb24gZGVyaXZl ZCBzdW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVyIHN1bXRpLgoKCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJhbiBzdW10aSAzOiBkZXJpdmVkIHN1bXRpKQoK WW91IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUgc3VtdGkgJydsZSBiYW5ndSBwb2kgbWkgc2Ug YmFuZ3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkg bGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdCdzIHJlYWxseSBhIHdvcmsgYXJvdW5kLiBB IGxhbmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJlIHNhaWQgdG8gZmlsbCBpbnRvIHRoZSB4MSBv ZiB0aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBjYW4ndCBjb252ZXJ0IHRoYXQgdG8gYSBzdW10 aSB1c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtrdX0gbWknJyBpcyB0d28gc3VtdGksIGJlY2F1 c2UgJydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5vdCBhIHNlbGJyaS4gTmVpdGhlciBjYW4gd2Ug Y29udmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywgYmVjYXVzZSB0aGUgc3UndSBnaXZlcyB0aGUg YnJpZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlvbiwgYW5kIHRoZSAnJ2xlJycgdGhlbiBleHRy YWN0cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3RyYWN0aW9uIHN1bXRpIG1lYW5pbmcgc29tZXRo aW5nIGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMgbXkgbGFuZ3VhZ2XigJ0uCgpFbnRlciAnJ2Jl JycuICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmluZHMgY29uc3RydWN0cyAoc3VtdGksIHN1bXRj aXRhIGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBVc2luZyBpdCBpbiBvcmRpbmFyeSBzZWxicmkg aGFzIG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBiZSBkbycnLCB0aGUgJydiZScnIGRvZXMgbm90 aGluZy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlzIGJvdW5kIHRvIGEgc2VsYnJpIHRoaXMgd2F5 LCB5b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBzZWxicmkgd2l0aG91dCB0aGUgc3VtdGkgc3Bs aXR0aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScnIGlzIGEgY29ycmVjdCBzb2x1dGlvbiB0byB0 aGUgcHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlvdSBjYW4gYXR0YWNoIGEgc3VtdGNpdGE6ICcn bGUgbnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDigJxUaGUgZXZlbnQgb2YgaGl0dGluZywgd2hp Y2ggaXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0aGF0IHRoZSBwcmVzZW5jZSBvciBhYnNlbmNl IG9mICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlmZmVyZW50bHk6IFdpdGggdGhlIGZhJ29ybWEn byBwcmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8gJydudScnLCB3aXRob3V0IHRoZSBmYSdvcm1h J28sIGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4gU28gaXQgZGVjaWRlcyB3aGF0IGlzIGJlaW5n IGVtcGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBvciB0aGUgZXZlbnQgb2YgaGl0dGluZyBjYXVz ZWQgYnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNhc2UsIHRob3VnaCwgdGhhdCdzIGp1c3QgYWJv dXQgdGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYgSSB3YW50IHRvIGF0dGFjaCBzZXZlcmFsIHN1 bXRpIHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJpPyDigJxUaGUgZ2l2ZXIgb2YgdGhlIGFwcGxl IHRvIHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxvIHBsaXNlIGJlIGRvJycsIHJpZ2h0PyBOb3Bl LiBUaGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0byB0aGUgYXBwbGUsIG1lYW5pbmcgJydsZSBw bGlzZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9mIHRoZSBzdHJhaW4gb2YgeW914oCdLCB3aGlj aCBtYWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8gc3RyaW5nIHNldmVyYWwgc3VtdGkgdG8gYSBz ZWxicmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBtdXN0IGJlIGJvdW5k IHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAn J2JlJ28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2JlJ28nJyBmb3IgZWFjaCBzZWxicmkgd2hpY2gg aGFzIHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRvIGxpc3QgdGhlbToKCl9fJydiZScnX18gYmlu ZHMgc3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJpCgpfXycnYmVpJydfXyBiaW5kcyBhIHNlY29u ZCwgdGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBvciBzdW10Y2l0YSB0byBhIHNlbGJyaQoKX18n J2JlJ28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoKVGhlcmUgaXMgYWxzbyB3YXlzIHRv IGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90aGVyLiAnJ3BlJycgYW5kICcnbmUn JyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSBhc3NvY2lhdGlvbi4gQWN0dWFs bHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0cmFuc2xhdGlvbiBvZiDigJxteSBs YW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVuZ2xpc2gsIGlzIHZhZ3Vl IGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBvdGhlci4KCicncGUn JyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9uIG9ubHksIGxpa2Ugc2F5 aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hpY2ggeW91IHNpdCBvbi4gSXQncyBu b3QgcmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0aGluZyBkbyB0byB3aXRoIHlvdS4gQSBtb3Jl IGludGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFibGlzaGVkIHdpdGggJydwbycnLCB3aGlj aCBtYWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVlIGFuZCBiaW5kaW5nIHRvIGEgcGVyc29uLCBh cyBpbiDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRoYXQgeW91IGFjdHVhbGx5IG93bi4gVGhlIGxh c3Qga2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8nZScnLCB3aGljaCBtYWtlcyBhIHNvLWNhbGxl ZCAiaW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBzdW10aSwgbWVhbmluZyB0aGF0IHRoZSBib25k IGlzIGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3VtdGkuIFNvbWUgZXhhbXBsZXMgY291bGQgYmUg Im15IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBob21lIGNvdW50cnkiOyBub25lIG9mIHRoZXNl ICJwb3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZlbiBpZiB5b3Ugc2F3IG9mZiB5b3VyIGFybSwg aXQncyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQgYXJlIHRoZXJlZm9yZSBpbmFsaWVuYWJsZS4g QWxtb3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3BvJ2UnJyBpcyBhcHByb3ByaWF0ZSwgdGhvdWdo LCB0aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlucyB0aGUgb25lIHRvIHdoaWNoIHRoZSB4MSBp cyBjb25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0ZXIuCgpfXycnbmUnJ19fIG5vbi1yZXN0cmlj dGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycn cGUnJ19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQg d2l0aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlz IHNwZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19fIGluYWxpZW5hYmxlIHJlbGF0aXZlIHBocmFz ZS4gIndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEgdmVyeSB1c2VmdWwgY29uc3RydWN0IHRvIGtu b3cgaXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJyaX0nJy4gdGhpcyBpcyBlcXVpdmFsZW50IHRv ICcne2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRpfScnLiBGb3IgaW5zdGFuY2UgJydsZSBtaSBn ZXJrdScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBnZXJrdSBwZSBtaScnLiBPbmUgY291bGQgaGF2 ZSBkZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVzY3JpcHRpb24gc3VtdGksIHNheWluZyAnJ2xl IGxlIHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1JycsID0gJydsZSBnZXJrdSBwZSBsZSBzZSBj aW5qaWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9mIHRoZSBtYW4gSSdtIGZsaXJ0aW5nIHdpdGji gJ0sIGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0byByZWFkIChvciB0byB1bmRlcnN0YW5kIHdo ZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28g dG8gbGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdpbGwgbWFrZSBhIGxvdCBvZiBzZW50ZW5jZXMg bXVjaCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IHRvIGFub3RoZXIg c3VtdGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIHdoaWNoIGhhcyBzb21ldGhpbmcgdG8g ZG8gd2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBleGFtcGxlLCBJIGNvdWxkIHNheSAnJ21pIGRq aWNhIGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycsIG9yIEkgY291bGQgbGV0IGl0IGJlIHVwIHRv IGNvbnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91dCB0aGUgYXBwbGUgSSBkZXNpcmUgYW5kIGp1 c3Qgc2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlzZScnLiBPbmUgYWx3YXlzIGhhcyB0byBndWVz cyB3aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2VyIG1lYW5zIGJ5ICcndHUnYSBTVU1USScnLCBz byBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29udGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1 ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19fIOKAnHgxIGRvZXMvYnJpbmdzIGFi b3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0KCicnemEnYSBkbyBnYXNudSB0dSdhIGxv IHNrYW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBtYWtlIHRoZSBjb21wdXRlciBkbyBzb21ldGhp bmfigJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1USScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBz dSd1IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1c2VmdWwuIFRoZXJlIGFyZSBzaXR1YXRpb25z IHdoZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScnLCBldmVuIHRob3VnaCBpdCB3b3VsZCBzZWVt IHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3aGVuIEkgZG9uJ3Qgd2FudCB0aGUgcmVz dWx0aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0aW9uLCBidXQgYSBjb25jcmV0ZSBzdW10aS4g SW4gdGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pvJ2UgcGUnJy4KCl9fJyd0dSdhJydfXyBjb252 ZXJ0IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9uIGludm9sdmluZyB0aGUgc3VtdGkuIEVxdWl2 YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Uga2VpIGt1JycKCgoKRmluYWxseSwgb25lIGtp bmQgb2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRvIGFub3RoZXIgYnkgdGhlIHdvcmRzIG9mIHRo ZSBjbGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mv c2VxdWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoKX18nJ2x1J2knJ19fIC0gQ29udmVydCBpbmRp dmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX18nJ2x1J28nJ19fIC0gQ29u dmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIG1hc3MuCgpfXycndnUnaScn X18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gc2VxdWVuY2U7 IHRoZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhlIHVzZSBvZiB0aGVzZSB3b3JkcyBpcyBzdHJh aWdodC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBiZWZvcmUgYSBzdW10aSBvZiBhIGNlcnRhaW4g dHlwZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5ldyB0eXBlLiBOb3RpY2UsIHRob3VnaCwgdGhh dCBhcyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBhIHNlcXVlbmNlIGhhcyBiZWVuIGludHJvZHVj ZWQuIFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiAoaXQgZG9lc24ndCBoYXZlIGl0cyBvd24g Z2FkcmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0IGluY2x1ZGVkIGhlcmUgZm9yIGNvbXBsZXRp b24uCgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBMQWhFIGRvIG5vdCBjb252ZXJ0IGJldHdlZW4g dHlwZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91IHRvIHNwZWFrIG9mIGEgYSBzdW10aSBieSBv bmx5IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNoIHJlZmVyZW5jZXMgdG8gaXQ6CgpJZiBvbmUg c3VtdGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBmb3IgaW5zdGFuY2UgYmVjYXVzZSBzdW10aSBB IGlzIGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5hbWUsIG9yIGEgc2VudGVuY2UgKHdoaWNoIGFs d2F5cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxlYXN0IGEgYnJpZGkpLCDigJgnbGEnZSBTVU1U SSBBJycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCYJ21pIG5lbGNpIGxhJ2Ug ZGkndScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3UganVzdCBzYWlk4oCdIChub3QgJydtaSBuZWxj aSBkaSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBsaWtlIHlvdXIgcHJldmlvdXMgc2VudGVuY2Ui KSBvciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUnJyBmb3IgdGhlIGJvb2sg4oCcVGhlIExpdHRs ZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2 byDigJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJldmVyc2Ug4oCTIOKAmCdsdSdlIFNVTVRJJycg cmVmZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZlcnMgdG8gdGhlIHN1bXRpLiAKCl9fJydsYSdl JydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0byBieeKAnSAtIGV4dHJhY3RzIGEgc3VtdGkg QSBmcm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMgdG8gQS4gCgpfXycnbHUnZScnX18gLSDigJx0 aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBCIGZyb20gYSBzdW10 aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQgb25lCgpEdWUgdG8g dGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25k IGFuZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91bmQgb24gcGFnZXMgZGVkaWNhdGVkIHRv ICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9ybWVyKSkgYW5kICgod2F2ZWxlc3NvbnNj b250aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwgY2xpY2tpbmcgb24g InRoZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRha2UgeW91IHRoZXJlIHBhaW5sZXNz bHkuCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpX aWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFp bC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK