Received: from localhost ([::1]:56443 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UX0zx-0007Em-45; Mon, 29 Apr 2013 20:12:57 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:43978 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UX0zj-0007Ec-QD for wikichanges@lojban.org; Mon, 29 Apr 2013 20:12:53 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 29 Apr 2013 20:12:43 -0700 From: "Apache" Date: Mon, 29 Apr 2013 20:12:43 -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 daeldir at 05:12 CEST Comment: Début de traduction de la leçon zéro. You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_changed_by_daeldir?= 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 VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDA1OjEyIENFU1QKQ29tbWVudDogRMOpYnV0IGRlIHRyYWR1Y3Rpb24gZGUgbGEgbGXDp29u IHrDqXJvLgoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAK aHR0cDovL2xvamJhbi5vcmcvdGlraS9sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMl QTdhaXMKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBi eSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL2xvamJhbi5vcmcvdGlraS90aWtpLXBhZ2Vo aXN0b3J5LnBocD9wYWdlPWxlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcyZj b21wYXJlPTEmb2xkdmVyPTEmbmV3dmVyPTIKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNp b24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2Ug dGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKwpAQCAtTGluZXM6IDgtMjAgY2hhbmdlZCB0byArTGluZXM6IDgtMjEgQEAK Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSsKe0JPWH0gCgotICFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZDo8YnIgLz4hISFNYWRl IGJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24g dGhlIHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgorICFMZXMgbGVvbnMgV2F2ZSBj b250aW51ZXM6PGJyIC8+ISEhUmRpZ2VzIHBhciBsYSBrbGFrdSwgYXZlYyBsJ2FpZGUgZGUgbG9q YmFuaXN0ZXMgdmFyaXMuIEJhc2Ugc3VyIGxlIHRyYXZhaWwgZGUgbGEgLmtyaWJhY3IuIFByaW50 ZW1wcyAyMDEzLjxiciAvPlRyYWR1aXRlcyBkZSBsJ2FuZ2xhaXMgdmVycyBsZSBmcmFuYWlzIHBh ciBEYWVsZGlyLgoKLSAhIUxvamJhbiBMZXNzb25zICBsZXNzb24gemVybzogRm9yZXdvcmQ8YnIg Lz5UaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUgR29vZ2xlIFdh dmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmliYWNyLCB4YWxi bywgYW5kIG90aGVycywgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVkIHRoZSBmaXJzdCBmb3VyIGNo YXB0ZXJzIGluIHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMgdGhlIG5ld2VzdCBydWxlcyBv ZiBMb2piYW4gbm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxzIHN1Y2ggYXMgV2hhdCBpcyBM b2piYW4/IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KKyAhIUxlb25zIGRlIGxvamJhbiAgbGVv biB6cm86IGF2YW50IHByb3BvczxiciAvPkNlcyBsZW9ucyBzb250IHVuZSB0ZW50YXRpdmUgZGUg ZHZlbG9wcGVyIGxlcyBMZW9ucyBkZSBHb29nbGUgV2F2ZSwgdW4gZXhjZWxsZW50IGRpZGFjdGlj aWVsIGNvbnNhY3IgYXUgbG9qYmFuLCBjcml0IHBhciBrcmliYWNyLCB4YWxibywgZXQgZCdhdXRy ZXMsIHF1aSwgaGxhcywgbmUgY291dnJhaXQgcXVlIGxlcyBxdWF0cmVzIHByZW1pZXJzIGNoYXBp dHJlcyBkdSBwcnNlbnQgZGlkYWN0aWNpZWwuIElsIHRyYWl0ZSBkZXMgcmdsZXMgbGVzIHBsdXMg cmNlbnRlcyBkdSBsb2piYW4sIHF1aSBuZSBzb250IHBhcyBjb3V2ZXJ0ZXMgcGFyIGRlIHBsdXMg YW5jaWVucyBjb3VycyB0ZWxzIHF1ZSBXaGF0IGlzIExvamJhbj8sIGV0IExvamJhbiBmb3IgQmVn aW5uZXJzLiAobm90ZSBkdSB0cmFkdWN0ZXVyIChuZHQpOiBjZXMgZG9jdW1lbnRzIG5lIHBvc3Nk ZW50IHBhcyAgbWEgY29ubmFpc3NhbmNlIGRlIHRyYWR1Y3Rpb24gZW4gZnJhbmFpcy4pCgotIElm IHlvdSBhcmUgbmV3IHRvIExvamJhbiwgSSByZWNvbW1lbmQgbGlzdGVuaW5nIHRvIGFueSByZWNv cmRpbmdzIHlvdSBjYW4gZmluZCBvZiBzcG9rZW4gTG9qYmFuIGJvdGggYmVmb3JlIGFuZCB3aGls ZSB5b3UgYXJlIHRha2luZyB0aGlzIHR1dG9yaWFsLCBpbiBvcmRlciB0byBtYWtlIHlvdXJzZWxm IGZhbWlsaWFyIHdpdGggdGhlIHNvdW5kcyBhbmQgd29yZHMgb2YgdGhlIGxhbmd1YWdlfnRjfiwg d2hpY2ggd2lsbCBub3QgYmUgZXhwbGFpbmVkIGhlcmV+L3Rjfi4gRnVydGhlcm1vcmUsIHRyeSB0 byBzYXkgdGhlIHRoaW5ncyB5b3UgcmVhZCBpbiBMb2piYW4gYWNjZW50IGlmIGl0J3MgcmVhc29u YWJseSBwcmFjdGljYWwuIFRoaXMgY2FuIGhlbHAgeW91ciBwcm9udW5jaWF0aW9uIGEgbG90Lgor IFNpIGxlIGxvamJhbiBlc3QgdG90YWxlbWVudCBub3V2ZWF1IHBvdXIgdm91cywgamUgdm91cyBy ZWNvbW1hbmRlIGQnY291dGVyIHRvdXQgbGVzIGVucmVnaXN0cmVtZW50IGRlIGxvamJhbiBwYXJs IHF1ZSB2b3VzIHBvdXJyZXogdHJvdXZlciwgdGFudCBhdmFudCBxdWUgcGVuZGFudCBsYSBsZWN0 dXJlIGRlIGNlIGRpZGFjdGljaWVsLCBhZmluIGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVz IHNvbnMgZXQgbGVzIG1vdHMgZHUgbGFuZ2FnZS4gRGUgcGx1cywgZXNzYXlleiBkZSBwcm9ub25j ZXIgY2UgcXVlIHZvdXMgbGlzZXogYXZlYyBsJ2FjY2VudCBkdSBsb2piYW4gc2kgdm91cyBsZSBw b3V2ZXouIENlY2kgdm91cyBhaWRlcmEgIHByb25vbmNlciBsZSBsb2piYW4uIAoKLSBXaGVuIHRh a2luZyB0aGlzIHR1dG9yaWFsLCBpdCdzIGJlc3QgdG8gcGF1c2UgYmV0d2VlbiBsZXNzb25zIGlu IG9yZGVyIHRvIGludGVybmFsaXplIHdoYXQgeW91IGhhdmUgbGVhcm50LiBJIGhhdmUgYXR0ZW1w dGVkIHRvIGJ1aWxkIHRoZXNlIGxlc3NvbnMgZnJvbSB0aGUgYm90dG9tIHVwIGFuZCBleGNsdWRl IGFueSB3b3JkcyBvciBjb25jZXB0cyB0aGF0IGhhdmUgbm90IGJlZW4gZXhwbGFpbmVkIGluIHBy ZXZpb3VzIGxlc3NvbnMuIE9uY2UgZXhwbGFpbmVkLCB0aGV5IGFyZSB1c2VkIGZyZWVseSB0aHJv dWdob3V0IHRoZSByZW1haW5kZXIgb2YgdGhlIHR1dG9yaWFsLiBJIHVyZ2UgcmVhZGVycyBub3Qg dG8gcGFzcyBhbnkgbWlzdW5kZXJzdG9vZCBjb250ZW50OyBpZiB5b3UgaGF2ZSBxdWVzdGlvbnMg b3IgYXJlIHVuY2VydGFpbiBhYm91dCBzb21ldGhpbmcsIGZlZWwgZnJlZSB0byBhc2sgdGhlIExv amJhbiBjb21tdW5pdHksIHdoaWNoIGNhbiBiZSBmb3VuZCBpbiAjbG9qYmFuIG9uIHRoZSBGcmVl bm9kZSBJUkMgbmV0d29yay4gVGhleSB3aWxsIGJlIGhhcHB5IHRvIGhlbHAuCisgRW4gc3VpdmFu dCBjZSBkaWRhY3RpY2llbCwgaWwgZXN0IGNvbnNlaWxsIGRlIHByZW5kcmUgZGVzIHBhdXNlcyBl bnRyZSBsZXMgbGVvbnMgYWZpbiBkZSBkaWdyZXIgY2UgcXVlIHZvdXMgYXZleiBhcHByaXMuIEon YWkgZXNzYXkgZGUgY29uc3RydWlyZSBjZXMgbGVvbnMgZHUgc2ltcGxlIGF1IGNvbXBsZXhlLCBl dCBkJ2V4Y2x1cmUgdG91dCBtb3Qgb3UgY29uY2VwdCBxdWkgbidhIHBhcyB0IGV4cGxpcXUgZGFu cyBsZXMgbGVvbiBwcmNkZW50ZS4gVW5lIGZvaXMgZXhwbGlxdXMsIGlscyBzb250IHV0aWxpc3Mg bGlicmVtZW50IHRvdXQgYXUgbG9uZyBkdSByZXN0ZSBkdSBkaWRhY3RpY2llbC4gSidleGhvcnRl IGxlIGxlY3RldXIgIG5lIHBhcyBmYWlyZSBsJ2ltcGFzc2Ugc3VyIHVuIGNvbnRlbnUgaW5jb21w cmlzOiBzaSB2b3VzIGF2ZXogdW5lIHF1ZXN0aW9uIG91IHRlcyBpbmNlcnRhaW4gZCd1bmUgY2hv c2UsIG4nYXlleiBwYXMgZGUgY29tcGxleGUgIGRlbWFuZGVyICBsYSBjb21tdW5hdXQgbG9qYmFu LCBxdWkgcGV1dCB0cmUgdHJvdXZlIHN1ciAjbG9qYmFuIHN1ciBsZSByc2VhdSBJUkMgRnJlZW5v ZGUgKG5kdDogY2UgY2FuYWwgSVJDIGVzdCBhbmdsb3Bob25lLiBWb3VzIHBvdXZleiBhdXNzaSB0 ZW50ZXIgdm90cmUgY2hhbmNlIHN1ciBsYSBtYWlsaW5nLWxpc3QgZnJhbmNvcGhvbmUgW2h0dHA6 Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby9sb2piYW4tZnJ8bG9qYmFuLWZyXSku IEVsbGUgc2VyYSBoZXVyZXVzZSBkJ2FpZGVyLgoKSW4gdGhpcyB0dXRvcmlhbCwgTG9qYmFuIHRl eHQgaXMgd3JpdHRlbiBpbiAnJ2l0YWxpY3MnJy4gTGF0ZXIsIHdoZW4gdXNlZCBhcyBMb2piYW4g bG9hbndvcmRzIGluIEVuZ2xpc2ggc2VudGVuY2VzLCB0aGV5IGFyZSBub3QgbWFya2VkLiBBbnN3 ZXJzIHRvIGV4ZXJjaXNlcyBhcmUgZGlzcGxheWVkIGFzIGEgZ3JleSBiYXIuIEhpZ2hsaWdodCB0 aGUgdGV4dCBpbiBvcmRlciB0byBzZWUgaXQuCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDk5Ny05OTggY2hhbmdl ZCB0byArTGluZXM6IDk5OC0xMDAwIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiEhIUVuZCBvZiBwYXJ0IG9uZQpEdWUgdG8gdGhl IGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFu ZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91bmQgb24gcGFnZXMgZGVkaWNhdGVkIHRvICgo d2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9ybWVyKSkgYW5kICgod2F2ZWxlc3NvbnNjb250 aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInRo ZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRha2UgeW91IHRoZXJlIHBhaW5sZXNzbHku CisgCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKe0JPWCgK CiAgdGl0bGU9IlRyYXZhaWwgZW4gY291cnMiCgopfQoKdGV4dGUKCkNldHRlIHBhZ2UgZXN0IHVu ZSB0cmFkdWN0aW9uIGVuIGNvdXJzIGRlICgod2F2ZWxlc3NvbnNjb250aW51ZWQpKSBlbiBmcmFu w6dhaXMuIExlIHN0YXR1dCBhY3R1ZWwgZXN0IHVuIGltcG9ydCBiw6p0ZSBldCBtw6ljaGFudCBk ZSBsYSBwYWdlIGFuZ2xhaXNlLiBBdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxhIHRyYWR1Y3Rpb24s IGNldHRlIG5vdGUgc2VyYSBtaXNlIMOgIGpvdXIgcG91ciBpbmRpcXVlciBsJ8OpdGF0IGQnYXZh bmNlbWVudCBkZXMgbGXDp29ucy4gCgoKCsOJdGF0IGFjdHVlbMKgOiBpbXBvcnQgZGVzIGxlw6dv bnMgYW5nbGFpc2VzLCBwYXMgZGUgdHJhZHVjdGlvbi4KCntCT1h9IAoKCgohTGVzIGxlw6dvbnMg V2F2ZSBjb250aW51w6llc8KgOgoKISEhUsOpZGlnw6llcyBwYXIgbGEga2xha3UsIGF2ZWMgbCdh aWRlIGRlIGxvamJhbmlzdGVzIHZhcmnDqXMuIEJhc8OpZSBzdXIgbGUgdHJhdmFpbCBkZSBsYSAu a3JpYmFjci4gUHJpbnRlbXBzIDIwMTMuCgpUcmFkdWl0ZXMgZGUgbCdhbmdsYWlzIHZlcnMgbGUg ZnJhbsOnYWlzIHBhciBEYWVsZGlyLgoKCgohIUxlw6dvbnMgZGUgbG9qYmFuIOKAkyBsZcOnb24g esOpcm86IGF2YW50IHByb3BvcwoKQ2VzIGxlw6dvbnMgc29udCB1bmUgdGVudGF0aXZlIGRlIGTD qXZlbG9wcGVyIGxlcyDCq8KgTGXDp29ucyBkZSBHb29nbGUgV2F2ZcKgwrssIHVuIGV4Y2VsbGVu dCBkaWRhY3RpY2llbCBjb25zYWNyw6kgYXUgbG9qYmFuLCDDqWNyaXQgcGFyIGtyaWJhY3IsIHhh bGJvLCBldCBkJ2F1dHJlcywgcXVpLCBow6lsYXMsIG5lIGNvdXZyYWl0IHF1ZSBsZXMgcXVhdHJl cyBwcmVtaWVycyBjaGFwaXRyZXMgZHUgcHLDqXNlbnQgZGlkYWN0aWNpZWwuIElsIHRyYWl0ZSBk ZXMgcsOoZ2xlcyBsZXMgcGx1cyByw6ljZW50ZXMgZHUgbG9qYmFuLCBxdWkgbmUgc29udCBwYXMg Y291dmVydGVzIHBhciBkZSBwbHVzIGFuY2llbnMgY291cnMgdGVscyBxdWUgwqvCoFdoYXQgaXMg TG9qYmFuP8KgwrssIGV0IMKrwqBMb2piYW4gZm9yIEJlZ2lubmVyc8KgwrsuIChub3RlIGR1IHRy YWR1Y3RldXIgKG5kdCnCoDogY2VzIGRvY3VtZW50cyBuZSBwb3Nzw6hkZW50IHBhcyDigJPCoMOg IG1hIGNvbm5haXNzYW5jZcKg4oCTIGRlIHRyYWR1Y3Rpb24gZW4gZnJhbsOnYWlzLikKCgoKU2kg bGUgbG9qYmFuIGVzdCB0b3RhbGVtZW50IG5vdXZlYXUgcG91ciB2b3VzLCBqZSB2b3VzIHJlY29t bWFuZGUgZCfDqWNvdXRlciB0b3V0IGxlcyBlbnJlZ2lzdHJlbWVudCBkZSBsb2piYW4gcGFybMOp IHF1ZSB2b3VzIHBvdXJyZXogdHJvdXZlciwgdGFudCBhdmFudCBxdWUgcGVuZGFudCBsYSBsZWN0 dXJlIGRlIGNlIGRpZGFjdGljaWVsLCBhZmluIGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVz IHNvbnMgZXQgbGVzIG1vdHMgZHUgbGFuZ2FnZS4gRGUgcGx1cywgZXNzYXlleiBkZSBwcm9ub25j ZXIgY2UgcXVlIHZvdXMgbGlzZXogYXZlYyBsJ2FjY2VudCBkdSBsb2piYW4gc2kgdm91cyBsZSBw b3V2ZXouIENlY2kgdm91cyBhaWRlcmEgw6AgcHJvbm9uY2VyIGxlIGxvamJhbi4gCgoKCkVuIHN1 aXZhbnQgY2UgZGlkYWN0aWNpZWwsIGlsIGVzdCBjb25zZWlsbMOpIGRlIHByZW5kcmUgZGVzIHBh dXNlcyBlbnRyZSBsZXMgbGXDp29ucyBhZmluIGRlIGRpZ8OpcmVyIGNlIHF1ZSB2b3VzIGF2ZXog YXBwcmlzLiBKJ2FpIGVzc2F5w6kgZGUgY29uc3RydWlyZSBjZXMgbGXDp29ucyBkdSBzaW1wbGUg YXUgY29tcGxleGUsIGV0IGQnZXhjbHVyZSB0b3V0IG1vdCBvdSBjb25jZXB0IHF1aSBuJ2EgcGFz IMOpdMOpIGV4cGxpcXXDqSBkYW5zIGxlcyBsZcOnb24gcHLDqWPDqWRlbnRlLiBVbmUgZm9pcyBl eHBsaXF1w6lzLCBpbHMgc29udCB1dGlsaXPDqXMgbGlicmVtZW50IHRvdXQgYXUgbG9uZyBkdSBy ZXN0ZSBkdSBkaWRhY3RpY2llbC4gSidleGhvcnRlIGxlIGxlY3RldXIgw6AgbmUgcGFzIGZhaXJl IGwnaW1wYXNzZSBzdXIgdW4gY29udGVudSBpbmNvbXByaXPCoDogc2kgdm91cyBhdmV6IHVuZSBx dWVzdGlvbiBvdSDDqnRlcyBpbmNlcnRhaW4gZCd1bmUgY2hvc2UsIG4nYXlleiBwYXMgZGUgY29t cGxleGUgw6AgZGVtYW5kZXIgw6AgbGEgY29tbXVuYXV0w6kgbG9qYmFuLCBxdWkgcGV1dCDDqnRy ZSB0cm91dsOpZSBzdXIgI2xvamJhbiBzdXIgbGUgcsOpc2VhdSBJUkMgRnJlZW5vZGUgKG5kdMKg OiBjZSBjYW5hbCBJUkMgZXN0IGFuZ2xvcGhvbmUuIFZvdXMgcG91dmV6IGF1c3NpIHRlbnRlciB2 b3RyZSBjaGFuY2Ugc3VyIGxhIG1haWxpbmctbGlzdCBmcmFuY29waG9uZSBbaHR0cDovL21haWwu bG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvamJhbi1mcnxsb2piYW4tZnJdKS4gRWxsZSBz ZXJhIGhldXJldXNlIGQnYWlkZXIuCgoKCkluIHRoaXMgdHV0b3JpYWwsIExvamJhbiB0ZXh0IGlz IHdyaXR0ZW4gaW4gJydpdGFsaWNzJycuIExhdGVyLCB3aGVuIHVzZWQgYXMgTG9qYmFuIGxvYW53 b3JkcyBpbiBFbmdsaXNoIHNlbnRlbmNlcywgdGhleSBhcmUgbm90IG1hcmtlZC4gQW5zd2VycyB0 byBleGVyY2lzZXMgYXJlIGRpc3BsYXllZCBhcyBhIGdyZXkgYmFyLiBIaWdobGlnaHQgdGhlIHRl eHQgaW4gb3JkZXIgdG8gc2VlIGl0LgoKCgpMYXN0bHksIEkgaGF2ZSBhcyBmYXIgYXMgcG9zc2li bGUgYXR0ZW1wdGVkIHRvIHVzZSB0aGUgTG9qYmFuIHdvcmRzIGZvciBncmFtbWF0aWNhbCBjb25z dHJ1Y3RzOiAnJ3N1bWthJ2knJyBpbnN0ZWFkIG9mIHByby1zdW10aSwgJydzdW10Y2l0YScnIGlu c3RlYWQgb2YgbW9kYWwgYW5kICcnanVmcmEnJyBpbnN0ZWFkIG9mIHV0dGVyYW5jZS4gVGhpcyBp cyBiZWNhdXNlIEkgZmVlbCB0aGUgRW5nbGlzaCB3b3JkcyBhcmUgb2Z0ZW4gZWl0aGVyIGFyYml0 cmFyeSwgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSBqdXN0IG1vcmUgd29yZHMgdG8gbGVhcm4sIG9y IG1pc2xlYWRpbmcsIGluIHdoaWNoIGNhc2UgdGhleSBhcmUgd29yc2UgdGhhbiB1c2VsZXNzLiBJ biBlaXRoZXIgY2FzZSwgYXMgbG9uZyBhcyB0aGUgd29yZHMgYXJlIHNwZWNpZmljIHRvIHRob3Nl IHdobyBhcmUgbGVhcm5pbmcgTG9qYmFuIGFueXdheSwgdGhlcmUgaXMgbm8gcmVhc29uIGZvciB0 aGVtIHRvIGV4aXN0IGFzIHNlcGFyYXRlIEVuZ2xpc2ggd29yZHMuCgoKCiEhIVByZWZhY2UuIFNv dW5kcwoKVGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRvIHdoZW4geW91IGxlYXJuIGEgZm9y ZWlnbiBsYW5ndWFnZSBpcyB0byBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgc291bmRzIG9mIHRo ZSBsYW5ndWFnZSBhbmQgaG93IHRoZXkgYXJlIHdyaXR0ZW4sIGFuZCB0aGUgc2FtZSBnb2VzIGZv ciBMb2piYW4uIEZvcnR1bmF0ZWx5LCBMb2piYW4gc291bmRzIChfX3Bob25lbWVzX18pIGFyZSBm YWlybHkgc3RyYWlnaHRmb3J3YXJkLgoKISEhIVZvd2VscwoKVGhlcmUgYXJlIHNpeCB2b3dlbHMg aW4gTG9qYmFuLgoKCgp8fCcnYScnIHxhcyBpbiAiZl9fYV9fdGhlciIgKG5vdCBhcyBpbiAiaF9f YV9fdCIpCgonJ2UnJyB8YXMgaW4gImdfX2VfX3QiCgonJ2knJyB8YXMgaW4gIm1hY2hfX2lfX25l IiBvciAoSXRhbGlhbikgInZfX2lfX25vIiAobm90IGFzIGluICJoX19pX190IikKCicnbycnIHxh cyBpbiAiYl9fb19fbGQiIG9yICJtX19vX19yZSIg4oCUIG5vdCBhcyBpbiAic19fb19fIiAodGhp cyBzaG91bGQgYmUgYSAncHVyZScgc291bmQuKQoKJyd1JycgfGFzIGluICJjX19vb19fbCIgKG5v dCBhcyBpbiAiYl9fdV9fdCIpIHx8CgpUaGVzZSBhcmUgcHJldHR5IG11Y2ggdGhlIHNhbWUgYXMg dm93ZWxzIGluIEl0YWxpYW4gb3IgU3BhbmlzaC4gVGhlIHNpeHRoIHZvd2VsLCAnJ3knJywgaXMg Y2FsbGVkIGEgX19zY2h3YV9fIGluIHRoZSBsYW5ndWFnZSB0cmFkZSwgYW5kIGlzIHByb25vdW5j ZWQgbGlrZSB0aGUgZmlyc3QgYW5kIGxhc3QgIkEiJ3MgaW4gIkFtZXJpY2EiICh0aGF0J3MgRW5n bGlzaCAiQW1lcmljYSIsIG5vdCBTcGFuaXNoLikgSXQncyB0aGUgc291bmQgdGhhdCBjb21lcyBv dXQgd2hlbiB0aGUgbW91dGggaXMgY29tcGxldGVseSByZWxheGVkLgoKVHdvIHZvd2VscyB0b2dl dGhlciBhcmUgcHJvbm91bmNlZCBhcyBvbmUgc291bmQgKF9fZGlwaHRob25nX18pLiBTb21lIGV4 YW1wbGVzIGFyZToKCgoKfHwnJ2FpJycgfGFzIGluICJoX19pZ2hfXyIKCicnYXUnJyB8YXMgaW4g ImhfX293X18iCgonJ2VpJycgfGFzIGluICJoX19leV9fIgoKJydvaScnIHxhcyBpbiAiYl9fb3lf XyIKCicnaWEnJyB8bGlrZSBHZXJtYW4gX18iSmFfXyIKCicnaWUnJyB8bGlrZSBfXyJ5ZWFoX18i CgonJ2l1JycgfGxpa2UgX18ieW91X18iCgonJ3VhJycgfGFzIGluIF9fIndhYWghX18iLCBvciBG cmVuY2ggInFfX3VvaV9fIgoKJyd1ZScnIHxhcyBpbiAicV9fdWVfX3N0aW9uIgoKJyd1bycnIHxh cyBpbiAicV9fdW9fX3RlIgoKJyd1aScnIHxsaWtlIF9fIndlX18iLCBvciBGcmVuY2ggX18ib3Vp X18iIHx8CgpEb3VibGUgdm93ZWxzIGFyZSByYXJlLiBUaGUgb25seSBleGFtcGxlcyBhcmUgJydp aScnLCB3aGljaCBpcyBwcm9ub3VuY2VkIGxpa2UgRW5nbGlzaCAieWUiIChhcyBpbiDigJxPaCBj b21lIGFsbCB5ZSBmYWl0aGZ1bOKAnSkgb3IgQ2hpbmVzZSAieWkiLCBhbmQgJyd1dScnLCBwcm9u b3VuY2VkIGxpa2UgIndvbyIuCgohISEhQ29uc29uYW50cwoKTW9zdCBMb2piYW4gY29uc29uYW50 cyBhcmUgdGhlIHNhbWUgYXMgRW5nbGlzaCwgYnV0IHRoZXJlIGFyZSBzb21lIGV4Y2VwdGlvbnM6 CgoKCnx8ZyB8YWx3YXlzICcnZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAnJ2cnJyBhcyBp biAnJ19fZ19fZW0nJwoKYyB8JydzaCcnLCBhcyBpbiAnJ19fc2hfX2lwJycKCmogfGFzIGluICcn bWVhX19zX191cmUnJyBvciBGcmVuY2ggJydib25fX2pfX291cicnCgp4IHxhcyBpbiBHZXJtYW4g JydCYV9fY2gnJ19fLCBTcGFuaXNoICcnX19KX19vc2UnJyBvciBBcmFiaWMgJydfX0toX19hbGVk JycgfHwKClRoZSBFbmdsaXNoIHNvdW5kcyAnJ2NoJycgYW5kICcnaicnIGFyZSB3cml0dGVuIGFz IHRjIGFuZCBkai4KCkxvamJhbiBkb2Vzbid0IHVzZSB0aGUgbGV0dGVycyAnJ0gnJywgJydRJycg b3IgJydXJycuCgohISEhU3BlY2lhbCBDaGFyYWN0ZXJzCgpMb2piYW4gZG9lcyBub3QgcmVxdWly ZSBhbnkgcHVuY3R1YXRpb24sIGJ1dCBzb21lIHNwZWNpYWwgY2hhcmFjdGVycyAobm9ybWFsbHkg dXNlZCBpbiBwdW5jdHVhdGlvbiBpbiBvdGhlciBsYW5ndWFnZXMpIGFmZmVjdCB0aGUgd2F5IExv amJhbiBpcyBwcm9ub3VuY2VkLgoKVGhlIG9ubHkgb25lIG9mIHRoZXNlIGNoYXJhY3RlcnMgd2hp Y2ggaXMgb2JsaWdhdG9yeSBpbiBMb2piYW4gaXMgdGhlIGFwb3N0cm9waGU7IGluIGZhY3QgdGhl IGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIG9mIExvamJhbi4gQW4g YXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZvd2VscywgcHJldmVudGluZyB0aGVtIGZyb20gYmVp bmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMgYSBfX2RpcGh0aG9uZ19fKTsgaXQgaXMgaXRzZWxm IHByb25vdW5jZWQgbGlrZSBhbiAnJ2gnJy4gRm9yIGV4YW1wbGUsIHVpIGlzIG5vcm1hbGx5IHBy b25vdW5jZWQgJyd3ZScnLCBidXQgdSdpIGlzICcnb29oZWUnJy4KCkEgZnVsbCBzdG9wIChwZXJp b2QpIGlzIGEgc2hvcnQgcGF1c2UgdG8gc3RvcCB3b3JkcyBydW5uaW5nIGludG8gZWFjaCBvdGhl ci4gVGhlIHJ1bGVzIG9mIExvamJhbiBtYWtlIGl0IGVhc2llciBmb3Igb25lIHdvcmQgdG8gcnVu IGludG8gYW5vdGhlciB3aGVuIHRoZSBzZWNvbmQgd29yZCBiZWdpbnMgd2l0aCBhIHZvd2VsOyBz byBhbnkgd29yZCBzdGFydGluZyB3aXRoIGEgdm93ZWwgY29udmVudGlvbmFsbHkgaGFzIGEgZnVs bCBzdG9wIHBsYWNlZCBpbiBmcm9udCBvZiBpdC4KCkNvbW1hcyBhcmUgcmFyZSBpbiBMb2piYW4s IGJ1dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1cnJpbmcgdG9nZXRoZXIgd2hl biB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hpY2ggd291bGQgcHV0IGEg JydoJycgYmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhhdmUgY29tbWFzLCBidXQgdGhl eSdyZSBzb21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2piYW4gbmFtZXMsIGZvciBleGFt cGxlIHBpLEVSLiAoJydQaWVycmUnJyksIGFzIG9wcG9zZWQgdG8gcGllci4gKCcnUC15ZXJyJycp LCBwaS5FUi4gKCcnUGVlOyBFaHInJyksIG9yIHBpJ0VSLiAoJydQaWhlcnInJykuCgpDYXBpdGFs IGxldHRlcnMgYXJlIG5vdCBub3JtYWxseSB1c2VkIGluIExvamJhbi4gV2UgdXNlIHRoZW0gaW4g bm9uLUxvamJhbiB3b3JkcyAobGlrZSAnJ1BpZXJyZScnKSB3aGVuIHRoZSBzdHJlc3Mgb2YgYSB3 b3JkIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBMb2piYW4gbm9ybS4gVGhlIG5vcm0gaXMgdG8gcHV0 IHRoZSBzdHJlc3Mgb24gdGhlIGxhc3QtYnV0LW9uZSBzeWxsYWJsZTsgc28sIGZvciBleGFtcGxl LCBrdXJtaWtjZSAnbnVyc2UnIGlzIGt1cl9fTUlLX19jZSwgbm90IF9fS1VSX19taWtjZS4gVGhl IG5hbWUgJydKdWxpZXR0ZScnIHdvdWxkIGJlIHdyaXR0ZW4gREpVbGksZXQuIGlmIHByb25vdW5j ZWQgaW4gYW4gRW5nbGlzaCB3YXksIGJ1dCBqdUxJRVQuIGlmIHByb25vdW5jZWQgYXMgaW4gRnJl bmNoLgoKISEhIUFscGhhYmV0CgpJbiBtb3N0IGxhbmd1YWdlIHRleHRib29rcywgeW91IGdldCB0 aGUgYWxwaGFiZXQgb2YgdGhlIGxhbmd1YWdlIHRvZ2V0aGVyIHdpdGggaXRzIHNvdW5kcy4gTGV0 dGVycyAobGVyZnUpIHR1cm4gb3V0IHRvIGJlIGV2ZW4gbW9yZSBpbXBvcnRhbnQgdGhhbiB1c3Vh bCBpbiBMb2piYW4sIHNvIHdlIG1pZ2h0IGFzIHdlbGwgZ28gdGhyb3VnaCB0aGVpciBuYW1lcyBx dWlja2x5LgoKQ29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBhIGNv bnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNvbnNvbmFudCBs ZXR0ZXJzIG9mIExvamJhbiwgJydiLCBjLCBkLCBmLCBnIC4uLicnLCBhcmUgY2FsbGVkIGJ5Liwg Y3kuLCBkeS4sIGZ5LiwgZ3kuLi4uIGluIExvamJhbiAodXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3 ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pCgpWb3dlbHMgJyd3b3VsZCcnIGJlIGNhbGxlZCAuYXksIC5l eSwgLml5LCBidXQgdGhhdCB3b3VsZCBiZSByYXRoZXIgZGlmZmljdWx0IHRvIHByb25vdW5jZS4g SW5zdGVhZCwgdGhleSBhcmUgaGFuZGxlZCBieSBmb2xsb3dpbmcgdGhlIHZvd2VsIHNvdW5kIHdp dGggdGhlIHdvcmQgYnUsIHdoaWNoIGJhc2ljYWxseSBtZWFucyAnbGV0dGVyJy4gU28gdGhlIHZv d2VscyBvZiBMb2piYW4gYXJlOiAuYWJ1LCAuZWJ1LCAuaWJ1LCAub2J1LCAudWJ1LCB5YnUuCgpU aGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4gTG9qYmFuLCBh bmQgaXMgY2FsbGVkIC55J3kuLiBUbyBzb21lIHBlb3BsZSwgdGhpcyBzb3VuZHMgbGlrZSBhIGNv dWdoOyB0byBvdGhlciwgbGlrZSAnJ3VoLWh1aCcnICh3aGVuIGl0IG1lYW5zICdZZXMnIHJhdGhl ciB0aGFuICdObycuKQoKTG9qYmFuIGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRvIG1vc3QgbGV0dGVy cyB5b3UgY2FuIHRoaW5rIG9mLiBJZiB5b3UgaGF2ZSB0aGUgdXJnZSB0byBzcGVsbCBvdXQgeW91 ciBuYW1lIGluIExvamJhbiBhbmQgaGF2ZSBhbiAnJ0gnJywgJydRJycsIG9yICcnVycnIHRvIGRl YWwgd2l0aCwgeW91IGNhbiB1c2UgLnkneS5idSwga3kuYnUgYW5kIHZ5LmJ1LiBTbyAnJ1NjaHdh cnplbmVnZ2VyJycgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOgoKc3kuIGN5LiAueSd5YnUgdnlidS4g LmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LgoKQW5kIHNwZWxsaW5n ICcndGhhdCcnIGlzIGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhlIFRlcm1pbmF0b3Ig ZXZlciBkaWQhCgoKCk5vdyBzcGVsbCB5b3VyIG5hbWUgaW4gTG9qYmFuIChvciBhdCBsZWFzdCBz b21ldGhpbmcgY2xvc2UgZW5vdWdoIHRvIGl0IHRvIHVzZSB0aGUgdHdlbnR5LXNpeCBsZXR0ZXJz IG9mIEVuZ2xpc2ggd2UgaGF2ZSBsZWFybmVkLCBhbmQgdGhlIGFwb3N0cm9waGUpLgoKCgohISEh ICdDb3JyZWN0JyBwcm9udW5jaWF0aW9uCgpZb3UgZG9uJ3QgaGF2ZSB0byBiZSB2ZXJ5IHByZWNp c2UgYWJvdXQgTG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2UgdGhlIHBob25lbWVzIGFyZSBk aXN0cmlidXRlZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFrZSBvbmUgc291bmQgZm9yIGFu b3RoZXIuIFRoaXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUgJ2NvcnJlY3QnIHByb251bmNp YXRpb24sIHRoZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBwcm9udW5jaWF0aW9u4oCUdGhl IGdlbmVyYWwgcHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMgT0sgc28gbG9uZyBhcyBpdCBk b2Vzbid0IHNvdW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVsc2UuIEZvciBleGFtcGxlLCBM b2piYW4gciBjYW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAnJ3InJyBpbiBFbmdsaXNoLCBTY290 dGlzaCBvciBGcmVuY2guCgpUd28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2YsIHRob3VnaCwgYXJl IHByb25vdW5jaW5nIExvamJhbiBpIGFuZCB1IGxpa2UgU3RhbmRhcmQgQnJpdGlzaCBFbmdsaXNo ICcnaGl0JycgYW5kICcnYnV0JycgKE5vcnRoZXJuIEVuZ2xpc2ggJydidXQnJyBpcyBmaW5lISku IFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxhcmx5IHRoZXNlIHR3 bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUgd2hvIGZpbmQgdGhl bSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2JsZW1zIHNwaXR0aW5n IG91dCB0aGUgemQgaW4gemRhbmkgKGhvdXNlKSwgeW91IGNhbiBzYXkgesmqZGFuaeKAlHdoZXJl IHRoZSAnJ8mqJycgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAnJ2knJyBoYXMgdG8gYmUg bG9uZy4KCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKCldhdGNoIGFueSBmaWxtIHdoZXJlIHBl b3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBvZmYgc2F5 aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBhIHBsYWNl IHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uCgpfXycnbWkn ZSAucm9iaW4uJydfXwoKJydJLWFtLW5hbWVkIFJvYmluJycKCicnSSdtIFJvYmluJycKCicnbWkn ZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9uLiBJ dCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZvd2Vs cywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICcnbWUgaGVoJycuCgpUaGlzIGd1eSBSb2JpbiBpcyBs dWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91dCBh bnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBuYW1l cyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5pc2VkJy4gVGhp cyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFtZeKAlGJ1dCBp biBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9yIGV4YW1wbGUs IEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgJydKb3NlJycgc29tZXRoaW5nIGxp a2UgJydIb3pheScnLCBhbmQgJydNYXJnYXJldCcnIGluIENoaW5lc2UgaXMgJydNYWdlbGl0YScn LiBTb21lIHNvdW5kcyBqdXN0IGRvbid0IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0aGUg Zmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0IGl0 IG9ubHkgY29udGFpbnMgTG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEgTG9qYmFuIHdh eS4KCl9fTm90ZTogX19UaGUgY2F0Y2ggaGVyZSBpcywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBzb3Vu ZHMgd2lsbCB5b3UgYmUgdXNpbmc/IEZvciBFbmdsaXNoIGluIHBhcnRpY3VsYXIsIEJyaXRpc2gg YW5kIEFtZXJpY2FuIHZvd2VscyBjYW4gYmUgcXVpdGUgZGlmZmVyZW50LiBUaGUgQnJpdGlzaCB2 ZXJzaW9uIG9mICcnUm9iaW4nJyBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAucm9iaW4u OyBidXQgdGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcncmFieW4uJycgb3IgJydy YWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVyZSBpcyBhbHNvIGEg Z29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRoZSB0cmFuc2xpdGVy YXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0J3MgdGFrZSB0aGUg RW5nbGlzaCBuYW1lICcnU3VzYW4nJy4gVGhlIHR3byAnJ3MnJydzIGFyZSBwcm9ub3VuY2VkIGRp ZmZlcmVudGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAnJ3onJ+KAlGFuZCB0aGUg JydhJycgaXMgbm90IHJlYWxseSBhbiAnJ2EnJyBzb3VuZCwgaXQncyB0aGUgJ3NjaHdhJyB3ZSBq dXN0IG1lbnRpb25lZC4gU28gJydTdXNhbicnIGNvbWVzIG91dCBpbiBMb2piYW4gYXMgJycuc3V6 eW4uJycuCgpZb3UgbWF5IGhhdmUgbm90aWNlZCB0d28gZXh0cmEgZnVsbCBzdG9wcyAocGVyaW9k cykgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaWYgeW91IGRpZG4ndCBwYXVzZSwg eW91IG1pZ2h0IG5vdCBrbm93IHdoZXJlIHRoZSBwcmV2aW91cyB3b3JkIGVuZGVkIGFuZCB0aGUg bmV4dCB3b3JkIGJlZ2FuLgoKCgpZb3Ugc2hvdWxkIGFsc28gcHV0IGEgZnVsbCBzdG9wIGluIGJl dHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBuYW1lcyAodGhvdWdoIGl0J3Mgbm90IGNv bXB1bHNvcnkpLCBzbyAnJ0ppbSBKb25lcycnIGJlY29tZXMgJydkamltLmRqb256LicnLgoKQW4g aW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3QgbGV0 dGVyIG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4s IHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFu ZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBp biBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExvamJhbiwg JydNYXJ5JycgYmVjb21lcyAubWVyaXMuICwgJydKb2UnJyBiZWNvbWVzIC5kam9zLiBhbmQgc28g b24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gJydN YXJ5Jycgd291bGQgYmVjb21lIC5tZXIuIG9yIC5tZWlyLi4KCgoKVGhlIGZpbmFsIHBvaW50IGlz IHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUg cGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3Ms IHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQg RnJlbmNoIG5hbWVzICcnUm9iZXJ0JycgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4gTG9qYmFuOiB0 aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9yICcnLnJhYixy dC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBpcyAnJy5yb0JF Ui4nJy4KClRvIGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJlIHNv bWUgbmFtZXMgb2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGluIExv amJhbi4KCgoKfHxfX0VuZ2xpc2hfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfC5tYWdyeXQudGF0Y3ly LiAobm8gJyd0aCcnIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29y bGQgY2FuJ3Qgc2F5IGl0ISkKCk1pY2sgSmFnZ2VyIHwubWlrLmRqYWd5cy4gfHwKCnx8X19GcmVu Y2hfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwubmFwb2xlLE9OLmJvbmFQQVJULgoKSnVsaWV0dGUg Qmlub2NoZSB8Lmp1TElFVC5iaW5PQy4gfHwKCnx8X19DaGluZXNlX18KCkxhb3ppIHwubGF1ZHou CgpNYW8gWmVkb25nIHwubWF1ZHp5RFlOLiAoRmluYWwgJyduZycnIGlzIGluIExvamJhbiBjb252 ZW50aW9uYWxseSB0dXJuZWQgaW50byBuLikgfHwKCnx8X19UdXJraXNoX18KCk11c3RhZmEgS2Vt YWwgfC5NVVN0YWZhcy5rZU1BTC4KCkVya2luIEtvcmF5IHwuZXJraW4ua29yYWlzLiB8fAoKfHxf X0dlcm1hbl9fCgpGcmllZHJpY2ggTmlldHpzY2hlIHwuZnJpZHJpeC5uaXRjeXMuCgpDbGFyYSBT Y2h1bWFubiB8LmtsYXJhcy5jdW1hbi4gfHwKCnx8X19TcGFuaXNoX18KCklzYWJlbCBBbGxlbmRl IHwuaXphQkVMLmFpZW5kZXMuCgpDaGUgR3VldmFyYSB8LnRjZWdldmFyYXMuIHx8CgpfX0V4ZXJj aXNlX18uCgpXaGVyZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5udSxJT1JLLgoKIy5yb21hcy4KCiMu eGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmthcmFzLgoKIy5BTGJla2Vya2lz LgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMuCgojLmJvbi4KCiMuZGVsaXMu CgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgpBbnN3ZXI6Cgp+fmdy YXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiBVU0F+fgoKI35+Z3JheSxncmF5OlJv bWU6IEl0YWx5fn4KCiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+fgoKI35+Z3JheSxncmF5OkNh cmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICcnQ2FyZGlmZicnIGlzICcnQ2FlcmR5ZGQnJywg d2hpY2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQuLil+fgoKI35+ Z3JheSxncmF5OkJlaWppbmc6IENoaW5hfn4KCiN+fmdyYXksZ3JheTpBbmthcmE6IFR1cmtleX5+ Cgojfn5ncmF5LGdyYXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQX5+Cgojfn5ncmF5LGdy YXk6VmFuY291dmVyOiBDYW5hZGF+fgoKI35+Z3JheSxncmF5OkNhcGUgVG93bjogU291dGggQWZy aWNhfn4KCiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91 Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQg dGhpcyBpc24ndCBtZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4KCiN+fmdyYXks Z3JheTpCb25uOiBHZXJtYW55fn4KCiN+fmdyYXksZ3JheTpEZWxoaTogSW5kaWEgKFRoZSBIaW5k aSBmb3IgJydEZWxoaScnIGlzICcnRGlsbMOuJycsIHdoaWNoIHdvdWxkIGdpdmUgZGlsaXlzLiBv ciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+fgoKI35+Z3JheSxncmF5 OkF0aGVuczogR3JlZWNlICgnJ0F0aGluYScnIGluIEdyZWVrKX5+Cgojfn5ncmF5LGdyYXk6TGVl ZHM6IEVuZ2xhbmR+fgoKI35+Z3JheSxncmF5OkhlbHNpbmtpOiBGaW5sYW5kfn4KCl9fRXhlcmNp c2VfXy4KCkxvamJhbmlzZSB0aGUgZm9sbG93aW5nIG5hbWVzCgojSm9obgoKI01lbGlzc2EKCiNB bWFuZGEKCiNNYXR0aGV3CgojTWljaGFlbAoKI0RhdmlkIEJvd2llCgojSmFuZSBBdXN0ZW4KCiNX aWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5IFdlYXZlcgoKI1JpY2hhcmQgTml4b24KCiNJ c3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2FuIFNhbHZhZG9yCgpBbnN3ZXI6Cgp+fmdyYXks Z3JheTpUaGVyZSBhcmUgdXN1YWxseSBhbHRlcm5hdGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBl aXRoZXIgYmVjYXVzZSBwZW9wbGUgcHJvbm91bmNlIHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHks IG9yIGJlY2F1c2UgdGhlIGV4YWN0IHNvdW5kIGRvZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5 b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24n dCBtYXR0ZXIsIHNvIGxvbmcgYXMgZXZlcnlvbmUga25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0 YWxraW5nIGFib3V0Ln5+Cgojfn5ncmF5LGdyYXk6LmRqb24uIChvciAuZGphbi4gd2l0aCBzb21l IGFjY2VudHMpfn4KCiN+fmdyYXksZ3JheToubWVsaXN5cy5+fgoKI35+Z3JheSxncmF5Oi5hbWFu ZHlzLiAoYWdhaW4sIGRlcGVuZGluZyBvbiB5b3VyIGFjY2VudCwgdGhlIGZpbmFsIHkgbWF5IGJl IGEsIHRoZSBpbml0aWFsIGEgbWF5IGJlIHksIGFuZCB0aGUgbWlkZGxlIGEgbWF5IGJlIGUuKX5+ Cgojfn5ncmF5LGdyYXk6Lm1hdGl1cy5+fgoKI35+Z3JheSxncmF5Oi5tYWlreWwuIG9yIC5tYWlr LGwuICwgZGVwZW5kaW5nIG9uIGhvdyB5b3Ugc2F5IGl0Ln5+Cgojfn5ncmF5LGdyYXk6LmRlaXZ5 ZC5iYXUsaXMuIG9yIC5ibyxpcy4gKGJ1dCBub3QgLmJ1LGlzLiDigJQgdGhhdCdzIHRoZSBrbmlm ZSl+fgoKI35+Z3JheSxncmF5Oi5kamVpbi5vc3Rpbi5+fgoKI35+Z3JheSxncmF5Oi51aWxpYW0u Y2Vrc3Bpci5+fgoKI35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5Z29ybmlzLnVp dnlyLn5+Cgojfn5ncmF5LGdyYXk6LnJpdGN5cmQubmlrc3luLn5+Cgojfn5ncmF5LGdyYXk6Lmlz dGFuQlVMLiB3aXRoIEVuZ2xpc2ggc3RyZXNzLCAuSVN0YW5idWwuIHdpdGggQW1lcmljYW4sIC5p c3RhbmJ1bC4gd2l0aCBUdXJraXNoLiBMb2piYW5pc3RzIGdlbmVyYWxseSBwcmVmZXIgdG8gYmFz ZSBjbWV2bGEgb24gbG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90IGFuIGFic29s dXRlIHJ1bGUufn4KCiN+fmdyYXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lv cy5+fgoKI35+Z3JheSxncmF5Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSA8 L3NwYW4+PC9odG1sPn5+CgohISEhTG9qYmFuIHdvcmRzIGFzIG5hbWVzCgpCeSBub3cgeW91IHNo b3VsZCBiZSBhYmxlIHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVyLCBpZiB5b3Ug cHJlZmVyLCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4gKGlmIHlvdSBr bm93IHdoYXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0ZWx5IG5ldyBM b2piYW4gaWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5zbGF0ZSB0aGVp ciBuYW1lIHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhleSBoYXZlIG1l YW5pbmdmdWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4cGVjdCB0aGUg Jyd3YXNpY2h1JycgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFrb3RhLCBDaGVy b2tlZSBvciB3aGF0ZXZlciEKCkxvamJhbiB3b3JkcyAoZXhjZXB0IGNtZXZsYSkgZW5kIGluIGEg dm93ZWwuIFlvdSBjYW4gdXNlIGxvamJhbiB3b3JkcyBhcyBuYW1lcyB0b28uIEJ1dCBpZiB5b3Ug cHJlZmVyIHRoYXQgeW91ciBuYW1lIGlzIGEgY21ldmxhIGFuZCBpdCBlbmRzIGluIGEgdm93ZWwg dGhlbiB5b3UgY2FuIGVpdGhlciBhZGQgYSBjb25zb25hbnQgdG8gdGhlIGVuZCBvZiBpdCBvciBq dXN0IGNob3AgdGhlIGVuZCB2b3dlbCBvZmYuCgpIZXJlIGFyZSBhIGZldyBleGFtcGxlcyAob3Jp Z2luYWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBhcyBjbWV2bGEpOgoKKkZpc2gg4oCT IGZpbnBlIOKAkyAuZmlucC4KCipCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIpIOKAkyBjcmli ZSDigJMgLmNyaWIuCgoqR3JlZW4g4oCTIGNyaW5vIOKAkyAuY3Jpbi4KCipNZWkgTGkgKENoaW5l c2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgLm1lbGIuCgoqQXloYW4gKFR1cmtpc2ggPSBN b29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg4oCTIC5sdXJub2JsaXMuCgoh IUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gb25lIChicmlkaSwganVmcmEsIHN1bXRpIGFuZCBz ZWxicmkpCgpBICcnYnJpZGknJyBpcyB0aGUgbW9zdCBjZW50cmFsIHVuaXQgb2YgTG9qYmFuIHV0 dGVyYW5jZXMuIFRoZSBjb25jZXB0IGlzIHZlcnkgY2xvc2UgdG8gd2hhdCB3ZSBjYWxsIGEgcHJv cG9zaXRpb24gaW4gRW5nbGlzaC4gQSBicmlkaSBpcyBhIGNsYWltIHRoYXQgc29tZSBvYmplY3Rz IHN0YW5kIGluIGEgcmVsYXRpb24gdG8gZWFjaCBvdGhlciwgb3IgdGhhdCBhbiBvYmplY3QgaGFz IHNvbWUgcHJvcGVydHkuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvICcnanVmcmEnJywgd2hp Y2ggYXJlIG1lcmVseSBMb2piYW4gdXR0ZXJhbmNlcywgd2hpY2ggY2FuIGJlIGJyaWRpIG9yIGFu eXRoaW5nIGVsc2UgYmVpbmcgc2FpZC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGJyaWRpIGFu ZCBhIGp1ZnJhIGlzIHRoYXQgYSBqdWZyYSBkb2VzIG5vdCBuZWNlc3NhcmlseSBzdGF0ZSBhbnl0 aGluZywgd2hpbGUgYSBicmlkaSBkb2VzLiBUaHVzLCBhIGJyaWRpIG1pZ2h0IGJlIHRydWUgb3Ig ZmFsc2UsIHdoaWxlIG5vdCBhbGwganVmcmEgY2FuIGJlIHNhaWQgdG8gYmUgc3VjaC4KClRvIGhh dmUgc29tZSBleGFtcGxlcyAoaW4gRW5nbGlzaCwgdG8gYmVnaW4gd2l0aCksIOKAnE1vemFydCB3 YXMgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1l4oCdIGlzIGEgYnJpZGksIGJlY2F1 c2UgaXQgbWFrZXMgYSBjbGFpbSB3aXRoIGEgdHJ1dGggdmFsdWUsIGFuZCBpdCBpbnZvbHZlcyBh biBvYmplY3QsIE1vemFydCwgYW5kIGEgcHJvcGVydHksIGJlaW5nIHRoZSBncmVhdGVzdCBtdXNp Y2lhbiBvZiBhbGwgdGltZS4gT24gdGhlIGNvbnRyYXJ5LCDigJxPdyEgTXkgdG9lIeKAnSBpcyBu b3QgYSBicmlkaSwgc2luY2UgaXQgZG9lcyBub3QgaW52b2x2ZSBhIHJlbGF0aW9uLCBhbmQgdGh1 cyBkb2VzIG5vdCBzdGF0ZSBhbnl0aGluZy4gQm90aCwgdGhvdWdoLCBhcmUganVmcmEuCgpUcnkg dG8gaWRlbnRpZnkgdGhlIGJyaWRpIGFtb25nIHRoZXNlIEVuZ2xpc2gganVmcmE6CgoKCiMg4oCc SSBoYXRlIGl0IHdoZW4geW91IGRvIHRoYXQu4oCdCgojIOKAnFJ1bnMu4oCdCgojIOKAnFdvYWgs IHRoYXQgbG9va3MgZGVsaWNpb3VzIeKAnQoKIyDigJxHZWV6LCBub3QgYWdhaW4u4oCdCgojIOKA nE5vLCBJIG93biB0aHJlZSBjYXJz4oCdCgojIOKAnE5pbmV0ZWVuIG1pbnV0ZXMgcGFzdCBlaWdo dC7igJ0KCiMg4oCcVGhpcyBTYXR1cmRheSwgeWVzLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OjEsIDMgYW5kIDUgYXJlIGJyaWRpLiAyIGNvbnRhaW5zIG5vIG9iamVjdHMgYW5kIHRoZSByZXN0 IGNvbnRhaW4gbm8gcmVsYXRpb24gb3IgY2xhaW0gb2YgYSBwcm9wZXJ0eS5+fgoKCgpQdXQgaW4g TG9qYmFuIHRlcm1zLCBhIGJyaWRpIGNvbnNpc3RzIG9mIG9uZSAnJ3NlbGJyaScnLCBhbmQgb25l IG9yIG1vcmUgJydzdW10aScnLiBUaGUgc2VsYnJpIGlzIHRoZSByZWxhdGlvbiBvciBjbGFpbSBh Ym91dCB0aGUgb2JqZWN0LCBhbmQgdGhlIHN1bXRpIGFyZSB0aGUgb2JqZWN0cyB3aGljaCBhcmUg aW4gYSByZWxhdGlvbi4gTm90ZSB0aGF0IOKAnG9iamVjdOKAnSBpcyBub3QgYSBwZXJmZWN0IHRy YW5zbGF0aW9uIG9mIOKAnHN1bXRp4oCdLCBzaW5jZSDigJxzdW10aeKAnSBjYW4gcmVmZXIgdG8g bm90IGp1c3QgcGh5c2ljYWwgb2JqZWN0cywgYnV0IGNhbiBhbHNvIHB1cmVseSBhYnN0cmFjdCB0 aGluZ3MgbGlrZSDigJxUaGUgaWRlYSBvZiB3YXJmYXJl4oCdLiBBIGJldHRlciB0cmFuc2xhdGlv biB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZSDigJxzdWJqZWN0LCBkaXJlY3Qgb3IgaW5kaXJlY3Qg b2JqZWN04oCdIGZvciBzdW10aSwgYW5kIOKAnHZlcmLigJ0gZm9yIHNlbGJyaSwgdGhvdWdoLCBh cyB3ZSB3aWxsIHNlZSwgdGhpcyBpcyBub3Qgb3B0aW1hbCBlaXRoZXIuCgpXZSBjYW4gbm93IHdy aXRlIHRoZSBmaXJzdCBpbXBvcnRhbnQgbGVzc29uIGRvd246CgpicmlkaSA9IHNlbGJyaSArIG9u ZSBvciBtb3JlIHN1bXRpCgpQdXQgYW5vdGhlciB3YXksIGEgYnJpZGkgc3RhdGVzIHRoYXQgc29t ZSBzdW10aSBkby9hcmUgc29tZXRoaW5nIGV4cGxhaW5lZCBieSBhIHNlbGJyaS4KCgoKSWRlbnRp ZnkgdGhlIHN1bXRpIGFuZCBzZWxicmkgZXF1aXZhbGVudHMgaW4gdGhlc2UgRW5nbGlzaCBqdWZy YToKCuKAnEkgd2lsbCBwaWNrIHVwIG15IGRhdWdodGVycyB3aXRoIG15IGNhcuKAnQoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCccGljayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ 4oCdLCDigJxteSBkYXVnaHRlcnPigJ0sIOKAnG15IGNhcuKAnX5+CgoKCuKAnEhlIGJvdWdodCBz aXh0ZWVuIG5ldyBzaGlydHMgZnJvbSBMZWEmTGV2eSdzIGZvciBqdXN0IHR3byBodW5kcmVkIGV1 cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxib3VnaHQgKGZyb20pIChm b3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCcc2l4dGVlbiBuZXcgc2hpcnRz4oCdLCDigJxMZWEm TGV3aXPigJ0gYW5kIOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4KCgoKU2luY2UgdGhlc2UgY29u Y2VwdHMgYXJlIHNvIGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV0J3MgaGF2ZSBhIHRoaXJkIGV4 YW1wbGU6IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3RoaW5nIGFib3V0IHRoZSBhbW91 bnQgb2Ygc3VscGh1ciBkaW94aWRlLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog 4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQQeKAnSwg4oCcbm90aGluZ+KA nSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGXigJ1+fgoKCgpOb3cgdHJ5IGJl Z2luIG1ha2luZyBMb2piYW4gYnJpZGkuIEZvciB0aGlzIHlvdSB3aWxsIG5lZWQgdG8gdXNlIHNv bWUgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc2VsYnJpOgoKJydfX2R1bmRhX18nJyB4MSBnaXZl cyB4MiB0byB4MyAod2l0aG91dCBwYXltZW50KQoKJydfX3BlbHh1X18nJyB4MSBpcyB5ZWxsb3cK CicnX196ZGFuaV9fJycgeDEgaXMgYSBob21lIG9mIHgyCgoKCk5vdGljZSB0aGF0IHRoZXNlIHdv cmRzIG1lYW5pbmcg4oCcZ2l2ZeKAnSwg4oCceWVsbG934oCdIGFuZCDigJxob21l4oCdIHdvdWxk IGJlIGNvbnNpZGVyZWQgYSB2ZXJiLCBhbiBhZGplY3RpdmUgYW5kIGEgbm91biBpbiBFbmdsaXNo LiBJbiBMb2piYW4sIHRoZXJlIGFyZSBubyBzdWNoIGNhdGVnb3JpZXMgYW5kIG5vIHN1Y2ggZGlz dGluY3Rpb24uICcnZHVuZGEnJyBjYW4gYmUgdHJhbnNsYXRlZCDigJxnaXZlc+KAnSAodmVyYiks IOKAnGlzIGEgZ2l2ZXLigJ0gKG5vdW4pLCDigJxpcyBnaXZpbmfigJ0gKGFkamVjdGl2ZSkgYXMg d2VsbCBhcyB0byBhbiBhZHZlcmIgZm9ybS4gVGhleSBhbGwgYWN0IGFzIHNlbGJyaSwgYW5kIGFy ZSB1c2VkIGluIHRoZSBzYW1lIHdheS4KCgoKQXMgd2VsbCBhcyBhIGZldyB3b3Jkcywgd2hpY2gg Y2FuIGFjdCBhcyBzdW10aToKCicnX19taV9fJycg4oCcSeKAnSBvciDigJx3ZeKAnSDigJMgdGhl IG9uZSBvciB0aG9zZSB3aG8gYXJlIHNwZWFraW5nLgoKJydfX3RpX18nJyDigJx0aGlz4oCdIOKA kyBhIGNsb3NlIHRoaW5nIG9yIGV2ZW50IG5lYXJieSB3aGljaCBjYW4gYmUgcG9pbnRlZCB0byBi eSB0aGUgc3BlYWtlci4KCicnX19kb19fJycg4oCceW914oCdIOKAkyB0aGUgb25lIG9yIHRob3Nl IHdobyBhcmUgYmVpbmcgc3Bva2VuIHRvLgoKCgpTZWUgdGhlIHN0cmFuZ2UgdHJhbnNsYXRpb25z IG9mIHRoZSBzZWxicmkgYWJvdmUgLSBlc3BlY2lhbGx5IHRoZSB4MSwgeDIgYW5kIHgzPyBUaG9z ZSBhcmUgY2FsbGVkIHN1bXRpIHBsYWNlcy4gVGhleSBhcmUgcGxhY2VzIHdoZXJlIHN1bXRpIGNh biBnbyB0byBmaWxsIGEgYnJpZGkuIEZpbGxpbmcgYSBzdW10aSBpbiBhIHBsYWNlIHN0YXRlcyB0 aGF0IHRoZSBzdW10aSBmaXRzIGluIHRoYXQgcGxhY2UuIFRoZSBzZWNvbmQgcGxhY2Ugb2YgJydk dW5kYScnLCBmb3IgZXhhbXBsZSwgeDIsIGlzIHRoZSB0aGluZyBiZWluZyBnaXZlbi4gVGhlIHRo aXJkIGlzIHRoZSBvYmplY3Qgd2hpY2ggcmVjZWl2ZXMgdGhlIHRoaW5nLiBOb3RpY2UgYWxzbyB0 aGF0IHRoZSB0cmFuc2xhdGlvbiBvZiAnJ2R1bmRhJycgaGFzIHRoZSB3b3JkIOKAnHRv4oCdIGlu IGl0LiBUaGlzIGlzIGJlY2F1c2UsIHdoaWxlIHRoaXMgd29yZCBpcyBuZWVkZWQgaW4gRW5nbGlz aCB0byBzaWduaWZ5IHRoZSByZWNlaXZlciwgdGhlIHJlY2VpdmVyIGlzIGluIHRoZSB0aGlyZCBz dW10aSBwbGFjZSBvZiAnJ2R1bmRhJycuIFNvIHdoZW4geW91IGZpbGwgdGhlIHRoaXJkIHN1bXRp IHBsYWNlIG9mICcnZHVuZGEnJywgdGhlIHN1bXRpIHlvdSBmaWxsIGluIGlzIGFsd2F5cyB0aGUg cmVjZWl2ZXIsIGFuZCB5b3UgZG9uJ3QgbmVlZCBhbiBlcXVpdmFsZW50IHRvIHRoZSB3b3JkIOKA nHRv4oCdIQoKCgpUbyBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBzYXkgdGhlIHgxIHN1bXRpIGZp cnN0LCB0aGVuIHRoZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1bXRpLgoKVXN1YWwgYnJpZGk6 IHt4MSBzdW10aX0gX197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gzIHN1bXRpfSB7eDQgc3VtdGl9 IHt4NSBzdW10aX0ge2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4gYmUgcGxheWVkIGFyb3VuZCB3 aXRoLCBidXQgZm9yIG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9ybS4gVG8gc2F5IOKA nEkgZ2l2ZSB0aGlzIHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydtaSBkdW5kYSB0aSBkbycnLCB3 aXRoIHRoZSB0aHJlZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpTbywgaG93IHdvdWxk IHlvdSBzYXkg4oCcVGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6Jyd0aSB6ZGFuaSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3JkZXIgdG8gZ2V0IHRo ZSBpZGVhIG9mIGEgcGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlvdSBnaXZlIHRoaXMg dG8gbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0aSBtaScnfn4KCgoK QW5kIHRyYW5zbGF0ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlz IGlzIHllbGxvdy7igJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0aGUgaGFuZyBvZiBp dCwgcmlnaHQ/CgoKCk11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIgYXJlIHNlcGFyYXRl ZCBieSAnJy5pJycgVGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2YgZnVsbCBzdG9wLCBi dXQgaXQgdXN1YWxseSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFmdGVyIHRoZW0uIEl0 J3Mgb2Z0ZW4gbGVmdCBvdXQgYmVmb3JlIHRoZSBmaXJzdCBicmlkaSwgdGhvdWdoLCBhcyBpbiBh bGwgdGhlc2UgZXhhbXBsZXM6CgonJ19fLmlfXycnIFNlbnRlbmNlIHNlcGFyYXRvci4gU2VwYXJh dGVzIGFueSB0d28ganVmcmEgKGFuZCB0aGVyZWZvcmUgYWxzbyBicmlkaSkuCgoKCicndGkgemRh bmkgbWkgIC5pIHRpIHBlbHh1Jycg4oCdVGhpcyBpcyBhIGhvbWUgdG8gbWUuIFRoaXMgaXMgeWVs bG93LuKAnQoKCgpCZWZvcmUgeW91IG1vdmUgb24gdG8gdGhlIG5leHQgbGVzc29uLCBJIHJlY29t bWVuZCB0aGF0IHlvdSB0YWtlIGEgYnJlYWsgZm9yIGF0IGxlYXN0IHNldmVuIG1pbnV0ZXMgdG8g bGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxl c3NvbiB0d28gKEZBIGFuZCB6bydlKQoKTW9zdCBzZWxicmkgaGF2ZSBmcm9tIG9uZSB0byBmaXZl IHN1bXRpIHBsYWNlcywgYnV0IHNvbWUgaGF2ZSBtb3JlLiBIZXJlIGlzIGEgc2VsYnJpIHdpdGgg Zm91ciBzdW10aSBwbGFjZXM6CgonJ19fdmVjbnVfXycnIHgxIHNlbGxzIHgyIHRvIHgzIGZvciBw cmljZSB4NAoKCgpJZiBJIHdhbnQgdG8gc2F5IOKAnEkgc2VsbCB0aGlz4oCdLCBpdCB3b3VsZCBi ZSB0b28gbXVjaCB0byBoYXZlIHRvIGZpbGwgdGhlIHN1bXRpIHBsYWNlcyB4MyBhbmQgeDQsIHdo aWNoIHNwZWNpZnkgd2hvIEkgc2VsbCB0aGUgdGhpbmcgdG8sIGFuZCBmb3Igd2hhdCBwcmljZS4g THVja2lseSwgSSBkb24ndCBuZWVkIHRvLiBzdW10aSBwbGFjZXMgY2FuIGJlIGZpbGxlZCB3aXRo ICcnem8nZScnLiAnJ3pvJ2UnJyBpbmRpY2F0ZXMgdG8gdXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhl IHN1bXRpIHBsYWNlIGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXQncyB1bmltcG9ydGFudCBvciBj YW4gYmUgZGV0ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem8nZV9fJycg4oCcc29tZXRoaW5n 4oCdIEZpbGxzIGEgc3VtdGkgcGxhY2Ugd2l0aCBzb21ldGhpbmcsIGJ1dCBkb2VzIG5vdCBzdGF0 ZSB3aGF0LgoKCgpTbyB0byBzYXkg4oCcSSBzZWxsIHRvIHlvdeKAnSwgSSBjb3VsZCBzYXkgJydt aSB2ZWNudSB6bydlIGRvIHpvJ2UnJyDigJMgSSBzZWxsIHNvbWV0aGluZyB0byB5b3UgZm9yIHNv bWUgcHJpY2UuCgpIb3cgd291bGQgeW91IHNheTog4oCcVGhhdCdzIGEgaG9tZSAoZm9yIHNvbWVi b2R5KeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSB6ZGFuaSB6bydlJyd+fgoKCgpI b3cgYWJvdXQg4oCcKHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNvbWVvbmUp4oCdPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5Oicnem8nZSBkdW5kYSB0aSB6bydlJyd+fgoKCgpTdGlsbCwgZmlsbGlu ZyBvdXQgdGhyZWUgem8nZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhpbmcgaXMgYmVpbmcgc29sZCB0 YWtlcyB0aW1lLiBUaGVyZWZvcmUgeW91IGRvbid0IG5lZWQgdG8gd3JpdGUgYWxsIHRoZSAnJ3pv J2UnJyBpbiBhIGJyaWRpLiBUaGUgcnVsZSBzaW1wbHkgaXMgdGhhdCBpZiB5b3UgbGVhdmUgb3V0 IGFueSBzdW10aSwgdGhleSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgaWYgdGhleSBjb250YWluZWQg Jyd6bydlJycuIElmIHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNlbGJyaSwgdGhlIHgxIGlzIHBy ZXN1bWVkIHRvIGJlIG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6bydlJycuCgpUcnkgaXQgb3V0 LiBXaGF0J3MgTG9qYmFuIGZvciDigJxJIHNlbGzigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydtaSB2ZWNudScnfn4KCgoKQW5kIHdoYXQgZG9lcyAnJ3pkYW5pIG1pJycgbWVhbj8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxTb21ldGhpbmcgaXMgYSBob21lIG9mIG1l4oCdIG9yIGp1c3Qg 4oCcSSBoYXZlIGEgaG9tZS7igJ1+fgoKCgpBcyBtZW50aW9uZWQgZWFybGllciwgdGhlIGZvcm0g ZG9lc24ndCBoYXZlIHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0ge3gyIHN1bXRpfSB7eDMgc3Vt dGl9IChlY3QuKSBJbiBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBzZWxicmkgYW55d2hlcmUgeW91 IHdhbnQsIGp1c3Qgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLiBJZiB5b3UgZG8g dGhhdCwgdGhlIHgxIGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5kIGZpbGxlZCB3aXRoICcnem8n ZScnIGluc3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVmcmEgYXJlIGFsbCB0aGUgZXhh Y3RseSBzYW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgonJ21pIHRpIGR1bmRhIGRvJycK CicnbWkgdGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBpcyB1c2VkIGZvciBwb2V0aWMg ZWZmZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBiZSAnJ2RvIGRvIHZlY251Jycs IHdoaWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRvJycuIE9yIGl0IGNhbiBiZSB1 c2VkIGZvciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBsb25nIGFuZCB0aGVyZWZvcmUg YmV0dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuCgoKClRoZXJlIGFyZSBhbHNv IHNldmVyYWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBvcmRlciBvZiB0aGUgc3VtdGkg aW5zaWRlIHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5IHVzaW5nIHRoZSB3b3JkcyAn J2ZhJycsICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUnJy4gTm90aWNlIHRoYXQgdGhl IHZvd2VscyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2piYW4gYWxwaGFiZXQgaW4gb3Jk ZXIuIFVzaW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0IHRoZSBuZXh0IHN1bXRpIHdp bGwgZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3BlY3RpdmVseS4gVGhlIG5leHQg c3VtdGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZpbGwgYSBzbG90IG9uZSBncmVh dGVyIHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBsZToKCicnZHVuZGEgZmEgZG8g ZmUgdGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlzIHRoaW5nIHRvIHlvdeKAnS4g JydmYScnIG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBpcyB5b3UuICcnZmUnJyBtYXJr cyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkgY291bnRpbmcgdGhlbiBjb250 aW51ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFzdCBzdW10aSBmaWxscyB4Mywg dGhlIG9iamVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dp bmcgdGhyZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRpIGZlIGRvJycKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ugb2YgdGhpcywgeW914oCdLiBv ciDigJxJIHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KAnSAocHJvYmFibHkgcG9pbnRp bmcgdG8gYSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZlIHRpJycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUsIHRoZSBmZSBpcyByZWR1bmRh bnQufn4KCgoKJyd2ZWNudSB6bydlIG1pIHRpIGZhIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxZb3Ugc2VsbCBzb21ldGhpbmcgdG8gbWUgZm9yIHRoaXMgcHJpY2XigJ1+fgoKCgoKCiEh TG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0aHJlZSAodGFucnUgYW5kIGxvKQoKSW4gdGhpcyBs ZXNzb24sIHlvdSB3aWxsIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBjb25jZXB0IG9mIGEgJyd0 YW5ydScnLiBBIHRhbnJ1IGlzIGZvcm1lZCB3aGVuIGEgc2VsYnJpIGlzIHB1dCBpbiBmcm9udCBv ZiBhbm90aGVyIHNlbGJyaSwgbW9kaWZ5aW5nIGl0cyBtZWFuaW5nLiBBIHRhbnJ1IGlzIGl0c2Vs ZiBhIHNlbGJyaSwgYW5kIGNhbiBjb21iaW5lIHdpdGggb3RoZXIgc2VsYnJpIG9yIHRhbnJ1IHRv IGZvcm0gbW9yZSBjb21wbGV4IHRhbnJ1LiBUaHVzICcnemRhbmkgdmVjbnUnJyBpcyBhIHRhbnJ1 LCBhcyB3ZWxsIGFzICAnJ3BlbHh1IHpkYW5pIHZlY251JycsIHdoaWNoIGlzIG1hZGUgZnJvbSB0 aGUgdGFucnUgJydwZWx4dSB6ZGFuaScnIGFuZCB0aGUgc2luZ2xlIGJyaXZsYSB3b3JkICcndmVj bnUnJy4gVG8gdW5kZXJzdGFuZCB0aGUgY29uY2VwdCBvZiB0YW5ydSwgY29uc2lkZXIgdGhlIEVu Z2xpc2ggbm91biBjb21iaW5hdGlvbiDigJxsZW1vbiB0cmVl4oCdLiBJZiB5b3UgZGlkbid0IGtu b3cgd2hhdCBhIGxlbW9uIHRyZWUgd2FzLCBidXQgaGFkIGhlYXJkIGFib3V0IGJvdGggbGVtb25z IGFuZCB0cmVlcywgeW91IHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRlZHVjZSB3aGF0IGEgbGVtb24g dHJlZSB3YXMuIFBlcmhhcHMgYSBsZW1vbi1jb2xvcmVkIHRyZWUsIG9yIGEgdHJlZSBzaGFwZWQg bGlrZSBhIGxlbW9uLCBvciBhIHRyZWUgd2hvc2UgYmFyayB0YXN0ZXMgbGlrZSBsZW1vbi4gVGhl IG9ubHkgdGhpbmdzIHlvdSBjb3VsZCBrbm93IGZvciBzdXJlIHdvdWxkIGJlIHRoYXQgaXQgd291 bGQgYmUgYSB0cmVlLCBhbmQgaXQgd291bGQgYmUgbGVtb24tbGlrZSBpbiBzb21lIHdheS4KCkEg dGFucnUgaXMgY2xvc2VseSBhbmFsb2dvdXMgdG8gdGhpcy4gSXQgY2Fubm90IGJlIHNhaWQgZXhh Y3RseSB3aGF0IGEgJyd6ZGFuaSB2ZWNudScnIGlzLCBidXQgaXQgY2FuIGJlIHNhaWQgdGhhdCBp dCBpcyBkZWZpbml0ZWx5IGEgdmVjbnUsIGFuZCB0aGF0IGl0J3MgemRhbmktbGlrZSBpbiBzb21l IHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55IHdheS4gSW4gdGhlb3J5LCBu byBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVjdGlvbiB0byB6ZGFuaSB3YXMs IGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNudScnLiBIb3dldmVyLCBpdCBt dXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5IHNlbnNlIGluIG9yZGVyIGZv ciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAnJ3pkYW5pIHZlY251JycgYXMg 4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3b3JzZSBzb3VuZGluZyDigJxh IGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSB0YW5ydSBp cyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4gSXQncyBhbHNvIHNhaWQgdGhh dCB0aGUgbGVmdCBzZWxicmkgbW9kaWZpZXMgdGhlIHJpZ2h0IHNlbGJyaS4KCuKAnFJlYWxseT/i gJ0sIHlvdSBhc2ssIHNjZXB0aWNhbGx5LCDigJxJdCBkb2Vzbid0IG1hdHRlciBob3cgc2lsbHkg dGhlIGNvbm5lY3Rpb24gdG8gdGhlIGxlZnQgd29yZCBpbiBhIHRhbnJ1IGlzLCBpdCdzIHN0aWxs IHRydWU/IFNvIEkgY291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3IgJyd6ZGFuaSB2ZWNudScnIGFu ZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkgdGhpbmsgaXQncyB6ZGFuaS1s aWtlP+KAnQoKV2VsbCB5ZXMsIGJ1dCB0aGVuIHlvdSdkIGJlIGEgZGljay4gT3IgYXQgbGVhc3Qg eW91J2QgYmUgaW50ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBnZW5lcmFsLCB5b3Ugc2hvdWxk IHVzZSBhIHRhbnJ1IHdoZW4gaXQncyBvYnZpb3VzIGhvdyB0aGUgbGVmdCB3b3JkIHJlbGF0ZXMg dG8gdGhlIHJpZ2h0LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOiAnJ3Rp IHBlbHh1IHpkYW5pIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGF0IGlzIGEgeWVs bG93IGhvbWUgZm9yIHlvdeKAnSBBZ2Fpbiwgd2UgZG9uJ3Qga25vdyBpbiB3aGljaCB3YXkgaXQn cyB5ZWxsb3cuIFByb2JhYmx5IGl0J3MgcGFpbnRlZCB5ZWxsb3csIGJ1dCB3ZSBkb24ndCBrbm93 IGZvciBzdXJlLn5+CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnEkgc2VsbC1saWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQgbWVhbj8gTm8gaWRlYS4gSXQg Y2VydGFpbmx5IGRvZXNuJ3QgbWVhbiB0aGF0IHlvdSBzb2xkIHNvbWV0aGluZywgc2luY2UsIGJ5 IGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUgbm8gcGF5bWVudCBpbnZvbHZl ZC4gSXQgaGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxsLWxpa2UgaW4gc29tZSBhc3Bl Y3Qufn4KCgoKQW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LiBXaGF0 IGlmIEkgd2FudGVkIHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/CgonJ19fZG90Y29fXycnIHgx IGlzIEdlcm1hbi9yZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKSSBjYW4n dCBzYXkgJydtaSB2ZWNudSB6bydlIGRvdGNvJycgYmVjYXVzZSB0aGF0IHdvdWxkIGxlYXZlIHR3 byBzZWxicmkgaW4gYSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1pdHRlZC4gSSBjb3VsZCBzYXkg JydtaSBkb3RjbyB2ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVubmVjZXNzYXJ5IHZhZ3VlIC0g SSBjb3VsZCBzZWxsIGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2UsIGlmIEkgd2FudCB0byBzYXkg 4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdoYXQgc2hvdWxkIEkgc2F5PwoK JydfX3BlbmRvX18nJyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydfX21lcmtvX18nJyB4MSBpcyBB bWVyaWNhbi9yZWZsZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkFnYWluLCB0aGUgb2J2 aW91cyB3b3VsZCBiZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycnLCBidXQgdGhhdCB3b3VsZCBm b3JtIGEgdGFucnUsIG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlrZSBBbWVyaWNhbuKAnSwgd2hp Y2ggaXMgd3JvbmcuIFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMgdG8gdGFrZSB0aGUgc2VsYnJp ICcnbWVya28nJyBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10aSBzbyBpdCBjYW4gYmUgdXNl ZCBpbiB0aGUgc2VsYnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25lIGJ5IHRoZSB0d28gd29yZHMg JydsbycnIGFuZCAnJ2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5lcmljIGJlZ2luIGNvbnZlcnQg c2VsYnJpIHRvIHN1bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNlbGJyaSB0byB1c2UgYXMgc3Vt dGkuCgpfXycna3UnJ19fIOKAkyBlbmQgY29udmVydCBzZWxicmkgdG8gc3VtdGkgcHJvY2Vzcy4K CgoKWW91IHNpbXBseSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcywgYW5k IGl0IHRha2VzIGFueXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgxIG9mIHRoYXQgc2VsYnJpIGFu ZCB0dXJucyBpdCBpbnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFuY2UsIHRoZSB0aGluZ3MgdGhh dCBjYW4gZmlsbCB6ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdzIHdoaWNoIGFyZSBob21lcyBv ZiBzb21lYm9keS4gU28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKAnGEgaG9tZSBvciBzb21lIGhv bWVzIGZvciBzb21lYm9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNheSB0aGF0IHNvbWV0aGluZyBp cyBwZWx4dSwgaXQgbWVhbnMgaXQncyB5ZWxsb3cuIFNvICcnbG8gcGVseHUga3UnJyByZWZlcnMg dG8gc29tZXRoaW5nIHllbGxvdy4KCgoKTm93IHlvdSBoYXZlIHRoZSBuZWNlc3NhcnkgZ3JhbW1h ciB0byBiZSBhYmxlIHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbi7igJ0g SG93PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcGVuZG8gbG8gbWVya28ga3UnJ35+CgoK ClRoZXJlIGlzIGEgZ29vZCByZWFzb24gd2h5IHRoZSAnJ2t1JycgaXMgbmVjZXNzYXJ5LiBUcnkg dG8gdHJhbnNsYXRlIOKAnEEgR2VybWFuIHNlbGxzIHRoaXMgdG8gbWXigJ0KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ2xvIGRvdGNvIGt1IHZlY251IHRpIG1pJycgSWYgeW91IGxlYXZlIG91dCB0 aGUga3UsIHlvdSBkbyBub3QgZ2V0IGEgYnJpZGksIGJ1dCBzaW1wbHkgdGhyZWUgc3VtdGkuIFNp bmNlIGxv4oCma3UgY2Fubm90IGNvbnZlcnQgYnJpZGksIHRoZSB0aSBpcyBmb3JjZWQgb3V0c2lk ZSB0aGUgc3VtdGksIHRoZSBsby1jb25zdHJ1Y3QgaXMgZm9yY2VkIHRvIGNsb3NlIGFuZCBpdCBz aW1wbHkgYmVjb21lcyB0aGUgdGhyZWUgc3VtdGkgb2YgJydsbyBkb3RjbyB2ZWNudSB7a3V9Jycs ICcndGknJyBhbmQgJydtaScnLn5+CgoKCllvdSBhbHdheXMgaGF2ZSB0byBiZSBjYXJlZnVsIHdp dGgganVmcmEgbGlrZSAnJ2xvIHpkYW5pIGt1IHBlbHh1JycuIElmIHRoZSAnJ2t1JycgaXMgbGVm dCBvdXQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyBkb2VzIG5vdCBlbmQsIGFuZCBpdCBzaW1wbHkg YmVjb21lcyBvbmUgc3VtdGksIG1hZGUgZnJvbSB0aGUgdGFucnUgJyd6ZGFuaSBwZWx4dScnIGFu ZCB0aGVuIGNvbnZlcnRlZCB3aXRoICcnbG8nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBs ZXNzb24gZm91ciAoYXR0aXR1ZGluYWxzKQoKQW5vdGhlciBjb25jZXB0IHdoaWNoIGNhbiBiZSB1 bmZhbWlsaWFyIHRvIEVuZ2xpc2ggc3BlYWtlcnMgaXMgdGhhdCBvZiBhdHRpdHVkaW5hbHMuIEF0 dGl0dWRpbmFscyBhcmUgd29yZHMgdGhhdCBleHByZXNzIGVtb3Rpb25zIGRpcmVjdGx5LiBUaGUg aWRlYSBvZiBhdHRpdHVkaW5hbHMgb3JpZ2luYXRlZCBpbiB0aGUgZmVtaW5pc3QgY29uc3RydWN0 ZWQgbGFuZ3VhZ2UgTGFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUgZmVtYWxlIGVtb3Rp b25zLiBUaGUgaWRlYSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJlc3Npb24gd2FzIGhp bmRlcmVkIGJ5IG1hbGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYgb25seSB0aGV5IHdlcmUg YWJsZSB0byBiZSBleHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMgd291bGQgZW1wb3dlciB3b21l biB0aHJvdWdoIGxpYmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoKSW4gTG9qYmFuLCB0aGVyZSBp cyBubyBzdWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHByb2JhYmx5IGhhdmUgYmVl biBkZXNpZ25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVybmVkIG91dCB0byBi ZSBpbmNyZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2ZSBhIHNvLWNhbGxl ZCBmcmVlIGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4gYXBwZWFyIGFsbW9zdCBh bnl3aGVyZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBicmlkaSdzIGdyYW1t YXIgb3IgYW55IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBMb2piYW4gZ3JhbW1hciwgYW4g YXR0aXR1ZGluYWwgYXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29yZC4gSWYgdGhhdCBwcmV2aW91 cyB3b3JkIGlzIGEgd29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxpa2UgJycuaScnIG9y ICcnbG8nJyksIGl0IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3QuIExpa2V3aXNlLCBp ZiB0aGUgYXR0aXR1ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2ggZW5kcyBhIGNvbnN0cnVjdCBs aWtlICcna3UnJywgaXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29uc3RydWN0LgoKCgpMZXQncyBo YXZlIHR3byBhdHRpdHVkaW5hbHMgdG8gbWFrZSBzb21lIGV4YW1wbGVzOgoKX18nJy51aScnX186 IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBoYXBwaW5lc3MgLSB1bmhhcHBpbmVz cwoKX18nJ3phJ2EnJ19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlhbDogSSBkaXJlY3RseSBvYnNl cnZlCgoKCk5vdGUgdGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJy51aScnLCB0aGVyZSBhcmUg bGlzdGVkIHR3byBlbW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhhcHBpbmVzcy4gVGhpcyBtZWFu cyB0aGF0ICcnLnVpJycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3MsIHdoaWxlIGl0cyDigJxuZWdh dGlvbuKAnSwgbWVhbnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u4oCdIG1pZ2h0IGJlIHRoZSB3 cm9uZyB3b3JkIGhlcmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIgZGVmaW5pdGlvbiBvZiAnJy51 aScnIGlzIGFub3RoZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4gTW9zdCBvZiB0aGUgdGltZSwg dGhlIHNlY29uZCBkZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAtIHRoZSBvbmVzIHN1ZmZpeGVk IHdpdGggJyduYWknJyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIGJhcmUgYXR0aXR1 ZGluYWwuIE90aGVyIHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJyduYWknJ19fIG1pc2MuIG5lZ2F0 aW9uIC0gYXR0YWNoZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFuZ2VzIHRoZSBtZWFuaW5nIGlu dG8gdGhlIGF0dGl0dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQgc29tZSBtb3JlIHNlbGJyaSwg anVzdCBmb3IgdGhlIGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19fIOKAkyB4MSBlYXRzIHgyCgpf XycncGxpc2UnJ19fIOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlwZSB4MgoKCgpUaGUg c2VudGVuY2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMg4oCcWW91IGVhdCBh biBhcHBsZSwgeWF5IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRoYXQgaXQgaXMgdGhlIF9f YXBwbGVfXyB0aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhlIGVhdGluZywg b3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcnZG8gemEnYSBj aXRrYSBsbyBwbGlzZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBvYnNlcnZlcyB0aGF0IGl0 IGlzIGluZGVlZCB0aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBwbGUgYXMgb3Bwb3Nl ZCB0byBzb21lb25lIGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNlZCBhdCB0aGUg YmVnaW5uaW5nIG9mIHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBseSB0byBhbiBl eHBsaWNpdCBvciBpbXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhlIGVudGlyZSBi cmlkaToKCicnLnVpIHphJ2EgZG8gZHVuZGEgbG8gcGxpc2Uga3UgbWknJyDigJMg4oCcWWF5LCBJ IG9ic2VydmUgdGhhdCB5b3UgZ2l2ZSBhbi9zb21lIGFwcGxlIHRvIG1lIeKAnQoKCgonJ21pIHZl Y251IC51aSBuYWkgbG8gemRhbmkga3UnJyDigJxJIHNlbGwgKHdoaWNoIHN1Y2tzISkgYSBob21l 4oCdLgoKCgpUcnkgaXQgb3V0IHdpdGggYSBmZXcgZXhhbXBsZXMuIEZpcnN0LCB0aG91Z2gsIGhl cmUgYXJlIHNvbWUgbW9yZSBhdHRpdHVkaW5hbHM6CgpfXycnLnUndScnX18gYXR0aXR1ZGluYWw6 IHNpbXBsZSBwdXJlIGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxlc3NuZXNzIC0gaW5ub2NlbmNl LgoKX18nJy5vaScnX18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBjb21wbGFp bnQgLSBwbGVhc3VyZS4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFsOiBtaXNjZWxsYW5lb3VzIHB1 cmUgZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhhdCwgdHdvIHdvcmRzIHdpdGgg dGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBtaWRkbGUgb25lIGlzIGFjY2Vz c2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N1J2knJy4gSXQncyBjb25zaWRlcmVkIHRoZSBtaWRw b2ludCBvZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdpJydfXyBhdHRpdHVkaW5hbCBtaWRwb2ludCBz Y2FsYXI6IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0byBjaGFuZ2UgdGhlIG1lYW5pbmcgdG8gdGhl ICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rpb24uCgoKClRyeSBzYXlpbmcg4oCcSSBnaXZlIHNvbWV0 aGluZyB0byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn bWkgZHVuZGEgZmkgbG8gZG90Y28ga3UgLml1Jycgb3IgJyd6bydlJycgaW5zdGVhZCBvZiAnJ2Zp Jyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBsZeKAnQoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJy5vaSBuYWkgbWkgY2l0a2EgbG8gcGVseHUgcGxpc2Uga3UnJ35+CgoKCkxldCdz IGhhdmUgYW5vdGhlciBhdHRpdHVkaW5hbCBvZiBhIGRpZmZlcmVudCBraW5kIHRvIGlsbHVzdHJh dGUgc29tZXRoaW5nIHBlY3VsaWFyOgoKJycuZWknJyBBdHRpdHVkaW5hbDogY29tcGxleCBwcm9w b3NpdGlvbmFsIGVtb3Rpb246IG9ibGlnYXRpb24gLSBmcmVlZG9tLgoKCgpTbywgcXVpdGUgZWFz eTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0gaXMgJydtaSBkdW5kYSAuZWkg bG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEgV2hlbiB5b3UgdGhpbmsgYWJv dXQgaXQsIHRoYXQncyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxsIHRoZSBvdGhlciBhdHRpdHVk aW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhlIHNwZWFrZXIncyBmZWVsaW5n IGFib3V0IHRoZSBicmlkaSwgYnV0IHRoaXMgb25lIGFjdHVhbGx5IGNoYW5nZXMgd2hhdCB0aGUg YnJpZGkgbWVhbnM/IFN1cmVseSwgYnkgc2F5aW5nIOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBs ZSBhd2F54oCdLCB3ZSBzYXkgbm90aGluZyBhYm91dCB3aGV0aGVyIHRoZSBhcHBsZSBhY3R1YWxs eSBpcyBiZWluZyBnaXZlbiBhd2F5LiBJZiBJIGhhZCB1c2VkICcnLnVpJycsIGhvd2V2ZXIsIEkg d291bGQgYWN0dWFsbHkgaGF2ZSBzdGF0ZWQgdGhhdCBJIGdhdmUgdGhlIGFwcGxlIGF3YXksIGFu ZCB0aGF0IEkgd2FzIGhhcHB5IGFib3V0IGl0LiBXaGF0J3MgdGhhdCBhbGwgYWJvdXQ/CgoKClRo aXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlvbnMg b24gd2hpY2ggYSBicmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5vciBkZWJhdGUu IFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJvb2vigJ0gcnVsZSwgd2hpY2ggcHJvYmFibHkgd29uJ3Qg YmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4g4oCccHVy ZSBlbW90aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90aW9uc+KAnS4gT25seSBwcm9w b3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0aW9ucywgd2hpbGUg cHVyZSBlbW90aW9ucyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBwcm9wb3NpdGlvbmFs IGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0cnV0aCB2YWx1ZSBv ZiB0aGUgYnJpZGksIHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRoZSBicmlkaSB3aXRo ICcnLmknJy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkgY29uc2VydmluZyBv ciBjaGFuZ2luZyB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgoKCgpfXycnZGEnaScn X18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IHN1cHBvc2luZyAtIGluIGZhY3QKClNheWluZyAn J2RhJ2knJyBpbiBhIGJyaWRpIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbnMgdG8gaHlwb3Ro ZXRpY2FsLCB3aGljaCBpcyB0aGUgZGVmYXVsdCB1c2luZyBwcm9wb3NpdGlvbmFsIGF0dGl0dWRp bmFscy4gU2F5aW5nICcnZGEnaSBuYWknJyBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb24gdG8g dGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJlIGF0dGl0dWRpbmFscy4KCgoK U28sIHdoYXQncyB0d28gd2F5cyBvZiBzYXlpbmcg4oCcSSBnaXZlIHRoZSBhcHBsZSBhd2F54oCd PyAoYW5kIGZlZWwgb2JsaWdhdGlvbiBhYm91dCBpdCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J21pIGR1bmRhIGxvIHBsaXNlIC5pIC5laScnICBhbmQgJydtaSBkdW5kYSBkYSdpIG5haSAuZWkg bG8gcGxpc2UnJ35+CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzdWJz Y3JpYmVkIHRvIHNvbWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBVc3VhbGx5IGluIG9yZGluYXJ5 IHNwZWVjaCwgdGhlIGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQgdG8gdGhlIGxpc3RlbmVyLCBi dXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNhdXNlIHRoZSB3b3JkIGlzIGds b3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1vdGlvbnMpLCBzb21lIExvamJh bmlzdHMgbWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2VyIG11c3Qgc2hhcmUgdGhlIGVt b3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycnZGFpJydfXyBhdHRpdHVkaW5h bCBtb2RpZnllcjogRW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVkaW5hbCB0byBzb21lb25lIGVs c2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBsZTogJyd1J2kgLm9pIGRhaSBjaXRrYSB0aScnIC0g4oCc SGEgaGEsIHRoaXMgd2FzIGVhdGVuISBUaGF0IG11c3QgaGF2ZSBodXJ0IeKAnQoKCgpXaGF0IG9m dGVuIHVzZWQgcGhyYXNlIGNvdWxkICcnLm9pIHUnaSBkYWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoKQW5kIGFub3RoZXIgb25lIHRv IHRlc3QgeW91ciBrbm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg4oCcSGUgd2FzIHNvcnJ5IGhl IHNvbGQgYSBob21l4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5zZSBpcyBpbXBsaWVkIGFuZCBu ZWVkIG5vdCBiZSBzcGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNvdWxkIGJlIG9idmlvdXMgZnJv bSBjb250ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndSd1IGRhaSB2ZWNudSBsbyB6ZGFu aSBrdScnfn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBi ZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2UgY2FuIGJlIHVzZWQgYWZ0ZXIg YW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGggJyduYWknJyBvciAnJ2N1J2kn JyBzdWZmaXhlZC4gSXQncyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVucyB3aGVuIHlvdSBhdHRhY2gg aXQgdG8gb3RoZXIgd29yZHMsIGxpa2UgYSBzZWxicmksIG11c3QgaXQncyBtb3N0bHkgdW5kZXJz dG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxicmkgaW4gc29tZSB1bnNw ZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNpdHkgIAoKIGNhaXwgICBF eHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNpZmllZCAobWVkaXVtKQoK IHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJlc3NlZCB1c2luZyAnJy51 J2kgbmFpIHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVt b3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OlN0cm9u ZyB3ZWFyaW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHByZXNzIHRoYXQgeW91IGFyZSBt aWxkbHkgcmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JycudSd1IGN1J2kgcnUn ZScnfn4KCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZpdmUgKFNFKQoKQmVmb3JlIHdl IHZlbnR1cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29tcGxleCBjb25zdHJ1Y3RzLCB5 b3Ugc2hvdWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciByZW9yZGVyaW5nIHRoZSBzdW10 aSBvZiBhIHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBpcyB2ZXJ5IHVzZWZ1bCBmb3Ig bWFraW5nIGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5kIG9mIHN1bXRpIHdpdGggJyds bycnKS4KCkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBhIGdpZnTigJ0sIHdoaWNoIG1p Z2h0IGJlIGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBhcHBsZS4gVG8gdHJhbnNsYXRl IHRoaXMsIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVwIGEgc2VsYnJpIG1lYW5pbmcg 4oCcZ2lmdOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwgaWYgb25lIGxvb2tzIGNhcmVm dWxseSBhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgxIGdpdmVzIHgyIHRvIHgzLCBv bmUgcmVhbGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlzIHNvbWV0aGluZyBnaXZlbiDi gJMgYSBnaWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5jZSwgd2UgY2FuJ3Qgc2F5ICcn bWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRhIGt1Jycgd291bGQgYmUg dGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBhIGdpZnQuIENhbm5pYmFs aXNtIGFzaWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBXaGF0IHdlIHdhbnQgaXMgYSB3 YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlzIG9uZSBleGFtcGxlIHdo ZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBXaGF0ICcnc2UnJyBkb2Vz IGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFuZCB4MiBvZiB0aGF0IHNl bGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScnICsgc2VsYnJpIGlzIG9u IGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0cnkgd2l0aCBhbiBvcmRpbmFy eSBzZW50ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFuc2xhdGVzIHgyIHRvIGxhbmd1 YWdlIHgzIGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2YgdHJhbnNsYXRpb24geDXigJ0K CicndGkgc2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoKVGhpcyBpcyB0cmFuc2xhdGVk IGJ5IG1lICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0IG5vdCBhbHdheXMsIGJyaWRp IHdpdGggJydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQgdG8gc2VudGVuY2VzIHdpdGgg dGhlIHBhc3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRlbiB0aGUgb2JqZWN0IHRha2lu ZyBhY3Rpb24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9mIHdvcmRzLiBBbGwgb2YgdGhl bSBzd2FwIGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoKfHxzZQl8c3dhcCB4MSBhbmQg eDIKCnRlCXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5kIHg0Cgp4ZQl8c3dhcCB4MSBh bmQgeDV8fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBjb25zZWN1dGl2ZSBjb25zb25h bnRzIGluIHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2luZyB0aGlzIGtub3dsZWRnZSwg d2hhdCB3b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAob3IgJydmYW52YSB0aSBmdSB0 aScnKX5+CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2YgY291cnNlIGJlIGNvbWJpbmVk IHdpdGggJydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0IGNhbiBiZSB2ZXJ5IGNvbmZ1 c2luZyBpbmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286CgpfXycna2xhbWEnJ19fID0g 4oCceDEgdHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0IHVzaW5nIHg1IGFzIHRyYW5z cG9ydGF0aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0ZSBrbGFtYSBmZSBkbyB0aSBm YSBtaScnID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBrdScnIGFuZCBzaW5jZSAnJ3Rl JycgZXhjaGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRvIG1pIGxvIHpkYW5pIGt1JycK CuKAnFRoaXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBob21lLuKAnSBPZiBjb3Vyc2Us IG5vIG9uZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNlcHQgdG8gY29uZnVzZSBwZW9w bGUsIG9yIGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5kaW5nIG9mIExvamJhbiBncmFt bWFyLgoKQW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9pbnQgd2hlcmUgd2UgY2FuIHNh eSDigJxJIGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2UgdGhlIHN1bXRpIHBsYWNlcyBv ZiAnJ2R1bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0aGVuIGV4dHJhY3QgdGhpcyBu ZXcgeDEgd2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291bGQgeW91IHNheSBpdD8KCk9u ZSAocG9zc2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaXRrYSBsbyBzZSBkdW5kYSBr dScnfn4KClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMgZm9yICcnc2UnJyBhbmQgaXRz IGZhbWlseS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2l4IChhYnN0cmFjdGlv bnMpCgpTbyBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5nbGUgc2VudGVuY2VzIG9uZSBh dCBhIHRpbWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5ncywgaG93ZXZlciwgeW91IG9m dGVuIG5lZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5LCB0aGVzZSBhcmUgbXVjaCBl YXNpZXIgaW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhwZWN0LgoKV2UgY2FuIGJlZ2lu IHdpdGggYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDigJxJIGFtIGhhcHB5IHRoYXQg eW91IGFyZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJyaWRpIGlzIOKAnEkgYW0gaGFw cHkgdGhhdCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCcWW91IGFyZSBteSBmcmllbmQu 4oCdIExvb2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhhcHB54oCdLCB3aGljaCBpcyAn J2dsZWtpJyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5IGFib3V0IHgyIChldmVudC9z dGF0ZSnigJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRvIGJlIGFuIGV2ZW50IG9yIGEg c3RhdGUuIFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fubm90IGJlIGhhcHB5IGFib3V0 IGFuIG9iamVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBzdGF0ZSB0aGUgb2JqZWN0IGlz IGluLiBCdXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBhIHN0YXRlIG9yIGFuIGV2ZW50 LCBhbmQgb25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydnbGVraScnIQoKQXMgeW91IG1p Z2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4gVGhlIHdvcmRzICcnc3UndScn Li4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlkaSB0byBzZWxicmnigJ0gZnVu Y3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydrdScnLiBFeGFtcGxlOgoKX18n J21yb2JpJ28nJ19fIOKAnHgxIGRpZXMgdW5kZXIgY29uZGl0aW9uIHgy4oCdCgpfXycnc3UndScn X18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCgpfXycna2VpJydf XyBlbmQgYWJzdHJhY3Rpb24KCicnbWkgc3UndSBkbyBtcm9iaSdvIGtlaScnIOKAkyDigJxJIGFt IHlvdXIgZGVhdGjigJ0uCgpJdCdzIGhhcmQgdG8gZmluZCBnb29kIHVzZXMgb2YgYSBicmlkaSBh cyBhIHNlbGJyaSwgYW5kIHRoZSBhYm92ZSBleGFtcGxlIHNlZW1zIGEgbGl0dGxlIHVuY29udmlu Y2luZy4gSG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScnIGlzIGEgc2VsYnJpLCBvbmUg Y2FuIGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1JycuCgpOb3cgd2Ug aGF2ZSB0aGUgZXF1aXBtZW50IHRvIGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUg bXkgZnJpZW5k4oCdLiBUcnkgaXQgb3V0IQoKX18nJ3BlbmRvJydfXyDigJx4MSBpcyBhIGZyaWVu ZCBvZiB4MuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gc3UndSBkbyBw ZW5kbyBtaSBrZWkga3UnJ35+CgoKCkhvd2V2ZXIsICcnc3UndScn4oCmJydrZWknJyBkb2VzIG5v dCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmljIHdv cmRzICcnbnUnJ+KApicna2VpJycgYW5kICcnZHUndScn4oCmJydrZWknJy4gVGhleSB3b3JrIHRo ZSBzYW1lIHdheSwgYnV0IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVudC4gJydudeKApmtlaScnIHRy ZWF0cyB0aGUgYnJpZGkgaW4gYmV0d2VlbiBhcyBhbiBldmVudCBvciBzdGF0ZSwgYW5kICcnZHUn deKApmtlaScnIHRyZWF0cyBpdCBhcyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3Npbmcg dGhpbmdzIGxpa2UgaWRlYXMsIHRob3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRzIChl eGNlcHQgJydrZWknJykgYXJlIGNhbGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkgb2Yg dGhlbSwgYW5kIG9ubHkgZmV3IGFyZSB1c2VkIG11Y2guICcnc3UndeKApmtlaScnIGlzIGEgZ2Vu ZXJhbCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcnbnUn JyB0byBzYXkg4oCcSSdtIGhhcHB5IGFib3V0IHRhbGtpbmcgdG8geW91LuKAnQoKX18nJ3Rhdmxh JydfXyB4MSB0YWxrcyB0byB4MiBhYm91dCBzdWJqZWN0IHgzIGluIGxhbmd1YWdlIHg0LgoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8ga2VpIGt1JycgKG5v dGljZSBib3RoIHRoZSBFbmdsaXNoIGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3VlIGFzIHRvIHdobyBp cyBkb2luZyB0aGUgdGFsa2luZykufn4KCgoKT3RoZXIgaW1wb3J0YW50IGFic3RyYWN0b3JzIGlu Y2x1ZGU6ICcna2EuLi5rZWknJyAocHJvcGVydHkvYXNwZWN0IGFic3RyYWN0aW9uKSwgJydzaSdv Li4ua2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVhbnRp dHkgYWJzdHJhY3Rpb24pIGFtb25nIG90aGVycy4gVGhlIG1lYW5pbmdzIG9mIHRoZXNlIGlzIGEg Y29tcGxpY2F0ZWQgbWF0dGVyLCBhbmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVjaCBsYXRlciwgaW4g bGVzc29uIHR3ZW50eS1uaW5lLiBGb3Igbm93LCB5b3UnbGwgaGF2ZSB0byBkbyB3aXRob3V0IHRo ZW0uCgoKCkl0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCBzb21lIGFic3RyYWN0b3JzIGhh dmUgc2V2ZXJhbCBzdW10aSBwbGFjZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUndScnIGNhbiBiZSBt ZW50aW9uZWQuICcnZHUndScnIGlzIGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKAnGFic3RyYWN0b3Iu IHgxIGlzIHRoZSBwcmVkaWNhdGUvYnJpZGkgb2Yge2JyaWRpfSBleHByZXNzZWQgaW4gc2VudGVu Y2UgeDLigJ0uCgpUaGUgb3RoZXIgc3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEgaXMgcmFyZWx5IHVz ZWQsIGJ1dCAnJ2xvIHNlIGR1J3Uge2JyaWRpfSBrZWkga3UnJyBpcyBzb21ldGltZXMgdXNlZCBh cyBhIHN1bXRpIGZvciBpbmRpcmVjdCBxdW90YXRpb246IOKAnEkgc2FpZCB0aGF0IEkgd2FzIGdp dmVuIGEgZG9n4oCdIGNhbiBiZSB3cml0dGVuICcnbWkgY3Vza3UgbG8gc2UgZHUndSBtaSB0ZSBk dW5kYSBsbyBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9uIHRoZSB3ZWlyZCBl eGFtcGxlLgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMgdGhyb3VnaCBtZWRp dW0geDQKCl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoKISFMb2piYW4gbGVz c29ucyDigJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUncyBh bm90aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVsYXRp dmUgY2xhdXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0aW9u IHRvIGEgc3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBzZW50 ZW5jZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmdsaXNo IGRlc2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4gdHdv IGZsYXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdvIGtp bmRzIGJlZm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5kcyBh cmUgY2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50aWFs KSByZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKAnE15 IGJyb3RoZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0gVGhp cyBjYW4gYmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwgYnJv dGhlcnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxsIGxl dCB5b3Uga25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdodCBo YXZlIG9ubHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5nIHlv dSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9qYmFu IHdlIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3QgaW50 ZXJwcmV0YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRoZSBw b3NzaWJsZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25kIG5v bi1yZXN0cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25lIG9m IHZvaWNlIChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBkaXN0 aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJhbiB1 c2VzIHRoZSBjb25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBmb3Ig cmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNwZWN0 aXZlbHkuCgpMZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28gZXhw bGFpbiBvdXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4g bGVzc29uIGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUg Y2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiByZXN0 cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydr dSdvJydfXyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3Ug cG9pIHBsaXNlIGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBp cykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1c3Qg YWZ0ZXIgJydsbyBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBUbyBi ZSBzdHJpY3QsIHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0IGlz LCB3aGljaCBpcyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBwbGll cyB0byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpdCBtZWFucyB0aGF0IHRo ZSBnaWZ0IGlzIGFuIGFwcGxlLiBBZnRlciBhbGwsIGluIHRoZSBjb250ZXh0IG9mIGxlc3NvbiBm aXZlLCB0aGlzIHNlZW1zIHJlYXNvbmFibGUuIElmIHdlIHdhbnQgdG8gYmUgYWJzb2x1dGVseSBz dXJlIHRoYXQgaXQgaW5kZWVkIHdhcyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBhcHBsZSwgd2UgdXNl IHRoZSB3b3JkICcna2UnYScnLCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChhIExvamJhbiBwcm9u b3VuLCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3VtdGkgd2hpY2ggdGhl IHJlbGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydfXyBzdW1rYSdpOyBy ZWZlcnMgdG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGl0IGF0dGFj aGVkLgoKCgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2UnYSBwbGlzZSBrdSdv JycgPSDigJxZYXksIEkgZWF0IGEgZ2lmdCB3aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVuZGVy bGluZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3Rp dmUgcmVsYXRpdmUgY2xhdXNlcywgaGVyZSdzIGFub3RoZXIgZXhhbXBsZToKCgoKX18nJ2xvamJv JydfXyDigJx4MSByZWZsZWN0cyBMb2piYW5pYyBjdWx0dXJlL2NvbW11bml0eSBpcyBhc3BlY3Qg eDI7IHgxIGlzIExvamJhbmljLuKAnQoKCgonJ21pIG5vaSBsb2pibyBrdSdvIGZhbnZhIGZvIGxv IGxvamJvIGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5pYywgdHJhbnNsYXRlIGZyb20gc29t ZSBMb2piYW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11bHRpcGxlIHRoaW5n cyB3aGljaCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0aGF0IEkgYW0gbG9q YmFuaWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbm90IG5lZWRlZCB0byBpZGVu dGlmeSBtZS4gVGhlcmVmb3JlICcnbm9p4oCma3UnbycnIGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlm IHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVh dXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoKX18n J21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMgYnkg c3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4Miwg ZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7a2UnYX0gbWVsYmkga3Unbycn fn4KCgoKT24gYSBtb3JlIHRlY2huaWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0 byBrbm93IHRoYXQgJydsbyB7c2VsYnJpfSBrdScnIGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBhcyAn J3pvJ2Ugbm9pIGtlJ2Ege3NlbGJyaX0ga3UnbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCT IExlc3NvbiBlaWdodCAodGVybWluYXRvciBlbGlzaW9uKQoKJycuYXUgZGEnaSBtaSBkamljYSBs byBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3Ug bWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2 YXUga2VpIGt1IHZhdV9fJycKCiAtICDigJxJIHdpc2ggdGhlIEFtZXJpY2FuLCB3aG8gaXMgbXkg c2libGluZywgd291bGQgdW5kZXJzdGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0aGF0IGhlIGhpdHMg bWUu4oCdCgpSZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJlaW5n IHVuZGVyc3Rvb2QsIChpdCBzaG91bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhhdmUg bm90IGNvdmVyZWQgaW4gdGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0OiBB cyBtb3JlIGNvbXBsZXggTG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5kIG1v cmUgb2YgdGhlIHNlbnRlbmNlcyBnZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAnJ2t1 J28nJyBhbmQgb3RoZXIgb2YgdGhvc2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNlbHZlcyBjYXJyeSBu byBtZWFuaW5nLgoKCgpUaGUgZnVuY3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRzIGlzIHRvIHNpZ25h bCB0aGUgZW5kIG9mIGEgY2VydGFpbiBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9yIGlu c3RhbmNlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcna3Un Jy4gVGhlIEVuZ2xpc2ggd29yZCBmb3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWluYXRv cuKAnSwgdGhlIExvamJhbiB3b3JkIGlzICcnZmEnb3JtYSdvJycuIFRoZXkgYXJlIHdyaXR0ZW4g aW4gYm9sZCBpbiB0aGUgZXhhbXBsZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3ZhdScnIGluIHRoZSBh Ym92ZSBleGFtcGxlIGFyZSB0aGUgZmEnb3JtYSdvIGZvciDigJxlbmQgYnJpZGnigJ0uIFRoZXJl IGlzIGEgZ29vZCByZWFzb24geW91IGhhdmUgbm90IHlldCBzZWVuIGl0LCBzdGF5IHR1bmVkLgoK X18nJ3ZhdScnX18gZmEnb3JtYSdvOiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJbiBtb3N0IHNwb2tl biBhbmQgd3JpdHRlbiBMb2piYW4sIG1vc3QgZmEnb3JtYSdvIGFyZSBza2lwcGVkIChlbGlkZWQp LiBUaGlzIGdyZWF0bHkgc2F2ZXMgc3lsbGFibGVzIGluIHNwZWVjaCBhbmQgc3BhY2UgaW4gd3Jp dGluZywgaG93ZXZlciwgb25lIG11c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hlbiBlbGlkaW5nIGZh J29ybWEnby4gSW4gdGhlIHNpbXBsZSBleGFtcGxlICcnbG8gbWVya28ga3Uga2xhbWEnJywgcmVt b3ZpbmcgdGhlIGZhJ29ybWEnbyAnJ2t1Jycgd291bGQgeWllbGQgJydsbyBtZXJrbyBrbGFtYScn LCB3aGljaCBpcyBhIHNpbmdsZSBzdW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnbWVya28ga2xh bWEnJy4gVGh1cywgaXQgbWVhbnMg4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLigJ0gaW5zdGVhZCBv ZiDigJxhbiBBbWVyaWNhbiB0cmF2ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lvbiBjYW4gbGVhZCB0 byB2ZXJ5IHdyb25nIHJlc3VsdHMgaWYgZG9uZSBpbmNvcnJlY3RseSwgd2hpY2ggaXMgd2h5IHlv dSBoYXZlbid0IGxlYXJuZWQgYWJvdXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Igd2hl biBmYSdvcm1hJ28gY2FuIGJlIGVsaWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4gdGhl b3J5OiDigJxZb3UgY2FuIGVsaWRlIGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18gZG9p bmcgc28gZG9lcyBub3QgY2hhbmdlIHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRoZSBz ZW50ZW5jZS7igJ0KCk1vc3QgZmEnb3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRoZSBl bmQgb2YgdGhlIGJyaWRpLiBFeGNlcHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug4oCc ZW5kIHF1b3Rl4oCdLWZhJ29ybWEnbyBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZhJ29y bWEnby4gVGhpcyBpcyB3aHkgJyd2YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2ltcGx5 IGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMgdGVy bWluYXRlIHRoZSBwcmVjZWRpbmcgYnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50IHVz ZSwgaG93ZXZlci4gU2luY2UgYXR0aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJlY2Vk aW5nIHdvcmQsIGFwcGx5aW5nIGl0IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhlIGVu dGlyZSBjb25zdHJ1Y3Qgd2hpY2ggaXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25lIGNh biB0aGVuIHVzZSBhdHRpdHVkaW5hbHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRvIHRo ZSBlbnRpcmUgYnJpZGk6CgonJ3phJ2EgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVudSB7 a3V9Li4uIHZhdSBpJ2UnJyAtIOKAnEkgc2VlIHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEgcGVy c29uLi4uIEkgYXBwcm92ZSHigJ0KCl9fJydwcmVudScnX18geDEgaXMgYSBwZXJzb247IHgxIGhh cyBhIHBlcnNvbmFsaXR5LgoKCgpLbm93aW5nIHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3JtYSdv IGVsaXNpb24sIHdlIGNhbiB0aHVzIHJldHVybiB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2UgYW5k IGJlZ2luIHJlbW92aW5nIGZhJ29ybWEnbzoKCgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBs ZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEg bmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2Vp IGt1IHZhdV9fJycKCgoKV2UgY2FuIHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdyYW1t YXRpY2FsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13b3Jk IGlzICcnamltcGUnJywgd2hpY2ggaXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5IGJl IG9uZSBzZWxicmkgcGVyIGJyaWRpLCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcnamlt cGUnJyBhcyBhIHNlbGJyaSBjYW5ub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRoZXIg KG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBicmlk aSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3QgYmUg YSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4uLn0n Jywgc28gdGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFsbCB0 aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVsaWRl ZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwgb2Yg dGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUgZGEn aSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBtaSBu YSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pJycg4oCTIHdpdGggbm8gZmEnb3JtYSdvIGF0IGFs bCEKCgoKV2hlbiBlbGlkaW5nIGZhJ29ybWEnbywgaXQgaXMgYSBnb29kIGlkZWEgdG8gYmUgYWNx dWFpbnRlZCB3aXRoICcnY3UnJy4gJydjdScnIGlzIG9uZSBvZiB0aG9zZSB3b3JkcyB3aGljaCBj YW4gbWFrZSB5b3VyIChMb2piYW5pYykgbGlmZSBhIGxvdCBlYXNpZXIuIFdoYXQgaXQgZG9lcyBp cyB0byBzZXBhcmF0ZSBhbnkgcHJldmlvdXMgc3VtdGkgZnJvbSB0aGUgc2VsYnJpLiBPbmUgY291 bGQgc2F5IHRoYXQgaXQgZGVmaW5lcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEgc2VsYnJpLCBhbmQg dGVybWluYXRlcyBleGFjdGx5IGFzIG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4gb3JkZXIgdG8gZG8g dGhhdC4KCl9fJydjdScnX18gZWxpZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMgc2VsYnJpIGZyb20g cHJlY2VkaW5nIHN1bXRpLCBhbGxvd3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBlbGlzaW9uLgoKCgpf XycncHJhbWknJ19fID0g4oCceDEgbG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1IGRvIGN1c2t1IGxv IHNlIGR1J3UgZG8gcHJhbWkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamljYSBt aScnID0KCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fY3VfXyBz ZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBtZSBpcyBkZXNpcmVk IGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXigJ0KCm5vdGU6ICcn Y3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90IHRpZWQgdG8gb25lIHNw ZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRlIG90aGVyIGZhJ29y bWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMgb2YgJydjdScnIGlzIHRoYXQg aXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkgdW5kZXJzdGFuZC4gQnkgaXRz ZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1Y3R1cmUgb2YgTG9q YmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJyaS4gSW4gdGhlIG9y aWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBicm90aGVyLCB1c2luZyAn J2N1JycgYmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhl IHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVhc2llciB0byByZWFkLgoK CgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycgd2lsbCBiZSB1c2Vk IHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYgcG9zc2libGUuIFRo ZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJseSBicmFja2V0cywgYXMg c2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycndmFqbmknJ19fIOKAnHgxIGlz IGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycnamltcGUnJ19fIOKAnHgxIHVu ZGVyc3RhbmRzIHRoYXQgeDIgKGR1J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPigJ0K Cl9fJydhJ28nJ19fIC0gQXR0aXR1ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlvbmFsIGVtb3Rpb246 IEhvcGUgLSBkZXNwYWlyCgoKCicnYSdvIGRvIG5vaSBrZSdhIGxvamJvIC5pJ2Uge2t1J299IHtr dX0gY3UgamltcGUgbG8gZHUndSBsbyBmYSdvcm1hJ28ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2Vp fSB7a3V9IHt2YXV9JycKCldoYXQgZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxJIGhvcGUgdGhhdCB5b3UsIGEgcHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0YW5kcyB0aGF0IGZh J29ybWEnbyBhcmUgaW1wb3J0YW504oCdfn4KCgoKRnVuIHNpZGUgbm90ZTogTW9zdCBwZW9wbGUg d2VsbC12ZXJzZWQgaW4gZmEnb3JtYSdvLWVsaXNpb24gZG8gaXQgc28gaW5zdGluY3RpdmVseSB0 aGF0IHRoZXkgb2Z0ZW4gbXVzdCBiZSByZW1pbmRlZCBob3cgaW1wb3J0YW50IHVuZGVyc3RhbmRp bmcgZmEnb3JtYSdvIGFyZSB0byB0aGUgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4uIFRoZXJlZm9y ZSwgZWFjaCBUdWVzZGF5IGhhdmUgYmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1pbmF0b3IgRGF54oCd IG9yICcnZmEnb3JtYSdvIGRqZWRpJycgb24gdGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1cmlu ZyBUZXJtaW5hdG9yIERheSwgbWFueSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8gcmVt ZW1iZXIgd3JpdGluZyBvdXQgYWxsIGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3NlIGNv bnZlcnNhdGlvbnMgYXMgYSByZXN1bHQuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBu aW5lIChzdW10Y2l0YSkKClNvIGZhciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwgd2l0 aCB0aGUgc2VsYnJpIHdlIGhhdmUgaGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEgZmlu aXRlIGFtb3VudCBvZiBkZWZpbmVkIHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNhc2Vz IHRoZSBzdW10aSBwbGFjZXMgYXJlIG5vdCB1c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1pbmQu IFdoYXQgaWYsIHNheSwgaSB3YW50IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNpbmcg YSBjb21wdXRlcj8gVGhlcmUgaXMgbm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2ZhbnZh JycgdG8gc3BlY2lmeSB3aGF0IHRvb2wgSSB0cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qgb2Yg dGhlIHRpbWUsIHRoYXQgaXMgbm90IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxlc3Nv biBpcyBvbiBob3cgdG8gYWRkIGFkZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxicmku CgoKClRoZSBtb3N0IGJhc2ljIHdheSB0byBhZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcnZmkn byBTRUxCUkkgZmUndScnICh5ZXMsIGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywgJydm ZSd1JycuIEl0J3MgYWxtb3N0IG5ldmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0aGUg bGFzdCB0aW1lIHlvdSBldmVyIHNlZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcyBn b2VzIGEgc2VsYnJpLCBhbmQgbGlrZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2ZpJ28gU0VMQlJJIGZl J3UnJyBleHRyYWN0cyB0aGUgeDEgb2YgdGhlIHNlbGJyaSBwdXQgaW50byBpdC4gSG93ZXZlciwg d2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0ZWQs IG5vdCB0byBhIHN1bXRpLCBidXQgdG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3VtdGkt bGFiZWzigJ0sIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNlbGJy aSBpdCBjb252ZXJ0ZWQuIFRoaXMgJydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4dCBz dW10aS4gT25lIGNvdWxkIHNheSB0aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1wb3J0 IGEgc3VtdGkgcGxhY2UgZnJvbSBhbm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUgYnJp ZGkgYmVpbmcgc2FpZC4KCk5vdGU6IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0ZXh0 cywgdGhlIHRlcm0g4oCcdGFn4oCdIG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3VtdGNp dGEnJy4gSWdub3JlIHRob3NlIHB1bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2ggcHJv cGVyIExvamJhbiBoZXJlLgoKCgpXaGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9jZXNz IGZyb20gcmVhZGluZyBhYm91dCBpdCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0cyBh Y3R1YWwgc2ltcGxpY2l0eToKCl9fJydza2FtaScnX18g4oCceDEgaXMgYSBjb21wdXRlciBmb3Ig cHVycG9zZSB4MuKAnQoKX18nJ3BpbG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBmb3Ig ZG9pbmcgeDPigJ0KCgoKJydtaSBmYW52YSB0aSBmaSdvIHNlIHBpbG5vIHtmZSd1fSBsbyBza2Ft aSB7a3V9e3ZhdX0nJyAtIOKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCdIFRo ZSB4MiBvZiAnJ3BpbG5vJycsIHdoaWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMgYSBw bGFjZSBzdHJ1Y3R1cmUgZm9yIGEgdG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMgcGxh Y2Ugc3RydWN0dXJlIGlzIGNhcHR1cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUndScnLCBhZGRlZCB0 byB0aGUgbWFpbiBzZWxicmksIGFuZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRoZSBp ZGVhIG9mICcnc3VtdGNpdGEnJyBpcyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2ggdXNp bmcgdGhlIGZvbGxvd2luZyB0cmFuc2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aC10 b29sOiBBIGNvbXB1dGVy4oCdCgoKCkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBvbmUg c3VtdGksIHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVseSwg dGhlICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3QgY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2t1Jycs IGluIHdoaWNoIGNhc2UgYSAnJ3pvJ2UnJyBpcyBpbXBsaWVkIHRvIGZpbGwgdGhlICcnc3VtdGNp dGEnJy4gT3IsIG9uZSBjb3VsZCBpbWFnaW5lIGFuIGVsaWRlZCBzdW10aSBiZWluZyB0ZXJtaW5h dGVkIHdpdGggdGhlICcna3UnJy4KCl9fJyd6dWt0ZScnX18g4oCceDEgaXMgYSB2b2xpdGlvbmFs IGVudGl0eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZvciBwdXJwb3NlIHgz4oCdCgoKCicnZmkn byB6dWt0ZSB7ZmUndX0ga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9e3Zh dX0nJyAtIOKAnFdpdGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNlZCBzb21ldGhpbmcgTG9qYmFu aWPigJ0gKHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmljIGNvbXB1dGVyIHdlbnQgc2Vu dGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhhZCB2b2xpdGlvbi4gSXQgY291 bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1lZCB0aGUgY29tcHV0ZXIgLSBo b3cgYm9yaW5nLikKCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkgbGEgbG9qYmFuIHtrdX0gZmkn byBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJ IHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bva2VuIHRvIG1l4oCdfn4KCgoK UHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRoZSBzZWxicmkgYWxz byBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25seSBjYW4gYWJzb3Ji IHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2YgaW1wb3J0YW5jZSBp biBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRseSwgJydmaSdvJycgaXMgbm90 IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJUyB1c2VkIHZl cnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2YgTG9qYmFuIHdvcmRz LCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4YW1wbGUgb2Yg dGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRpY2FsbHksICcn enUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1JycuIFRodXMsIHRoZSBhYm92 ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Uga3UgbG8gc2thbWkge2t1fSBj dSBwaWxubyBsbyBsb2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNvbWV0aGluZyBsaWtl IDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQuIEZ1cnRl cm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5kIGZyaWVuZHMs IG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAnJ2ZpJ28gc2UgenVrdGUgZmUn dScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4KCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEsIFZFaEEpCgpIb3cg dW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdo ZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdp dGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkg bmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2Up LCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxv IGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhl IGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50 LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVz b2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBh cmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVkZWQgaXQncyBuZWVk ZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJl IHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkg dGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdy YW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUg bm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFuIHRlbnNlIHN5c3Rl bSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4gVW5s aWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBwZXJmZWN0bHkgcmVndWxhciBh bmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3QgaW52b2x2ZSBzd2Vh dGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55dGhpbmcgc2lsbHkg bGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0sIGFsbCB0ZW5zZXMg YXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0IG1hZGUgb3Vyc2Vs dmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRlbnNlcyBhcmUgc2xp Z2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlzIGRpZmZlcmVuY2Ug aXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3aWxsIGJlIHdvbid0IGJlIGV4cGxhaW5lZCB1 bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRoZXkgYXJlIGxpa2UgYWxsIG90aGVyIHN1bXRj aXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgbWFraW5nIGl0IGV4cGxpY2l0IHRo YXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1JycuCgpUaGVyZSBhcmUgbWFueSBkaWZmZXJlbnQg a2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxldCdzIHN0YXJ0IGF0IHRoZSBvbmVzIG1vc3Qg ZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScnX18gLSBzdW10Y2l0YTogYmVm b3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQgdGhlIHNhbWUgdGltZSBhcyB7 c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtzdW10aX0KCgoKVGhlc2UgYXJl IGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCdLCDigJxub3figJ0gYW5kIOKA nGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291bGQgYXJndWUgdGhhdCB0d28g cG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0bHkgc2ltdWx0YW5lb3VzbHks IHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBleHRlbmRzIHNsaWdodGx5IGlu dG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVzdCDigJxhYm91dCBub3figJ0u IFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9uJ3QgcGVyY2VpdmUgdGltZSBpbiBhIHBl cmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlZmxlY3Rz IHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1Z2dlc3RlZCBtYWtpbmcgdGhl IExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0IGlkZWEsIGhvd2V2ZXIsIHdh cyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0aXZlLCBhbmQgd291bGQgbWVh biB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUgdG8gbGVhcm4gdGhlIHRoZW9y eSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxJIGV4 cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50aW5nIHRvIGEgcGFwZXIpCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBsbyBudSBtaSBrbGFtYSB0aSB7 dmF1fSB7a2VpIHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hlbiBzcGVha2luZywgd2UgZG8g bm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCB0aGlzIGFjdGlvbiBpcyBpbiB0aGUgcGFz dCByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVyIGF3YXnigJ0sIHdlIGNhbiBh c3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZlIHRvIOKAnG5vd+KAnSwgYW5k IHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEsIGJlY2F1c2UgaXQn cyBvYnZpb3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9Jycgb3IKCicn bWkgZHVuZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycgb3IsIG1vcmUgY29tbW9ubHkK CicnbWkgcHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9JycuIFRoZSBzdW10aSB3aGlj aCBmaWxscyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pvJ2UnJywgd2hpY2ggaXMgYWxt b3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgdGltZSBh bmQgcGxhY2UgKHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBzcGVha2luZyBhYm91 dCBsZWZ0IGFuZCByaWdodCkuIElmIHNwZWFraW5nIGFib3V0IHNvbWUgZXZlbnRzIHRoYXQgaGFw cGVuZWQgc29tZSBvdGhlciB0aW1lIHRoYW4gdGhlIHByZXNlbnQsIGl0IGlzIHNvbWV0aW1lcyBh c3N1bWVkIHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhhdCBldmVudCB3aGljaCBp cyBiZWluZyBzcG9rZW4gYWJvdXQuIEluIG9yZGVyIHRvIGNsYXJpZnkgdGhhdCBhbGwgdGVuc2Vz IGFyZSByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgcG9zaXRpb24sIHRoZSB3b3Jk ICcnbmF1JycgY2FuIGJlIHVzZWQgYXQgYW55IHRpbWUuIEFub3RoZXIgd29yZCwgJydraScnIG1h cmtzIGEgdGVuc2Ugd2hpY2ggaXMgdGhlbiBjb25zaWRlcmVkIHRoZSBuZXcgc3RhbmRhcmQuIFRo YXQgd2lsbCBiZSB0YXVnaHQgd2F5IGxhdGVyLgoKX18nJ25hdScnX18gdXBkYXRlcyB0ZW1wb3Jh bCBhbmQgc3BhY2lhbCBmcmFtZSBvZiByZWZlcmVuY2UgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50 IGhlcmUgYW5kIG5vdy4KCgoKX18nJ2d1Z2RlJydfXyA9IOKAnHgxIGlzIHRoZSBjb3VudHJ5IG9m IHBlb3BsZSB4MiB3aXRoIGxhbmQvdGVycml0b3J5IHgz4oCdCgoKCkFsc28gbm90ZSB0aGF0ICcn bWkgcHUge2t1fSBrbGFtYSBsbyBtZXJrbyBndWdkZSB7a3V9IHt2YXV9JycsIOKAnEkgd2VudCB0 byBBbWVyaWNh4oCdLCBkb2VzIG5vdCBpbXBseSB0aGF0IEknbSBub3Qgc3RpbGwgdHJhdmVsaW5n IHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUgc29tZSB0aW1lIGluIHRoZSBwYXN0 LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoKQXMgbWVudGlvbmVkLCBzcGFjaWFs IGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBtdWNoIGFsaWtlLiBDb250cmFzdCB0 aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0aGVzZSBmb3VyIHNwYWNpYWwgdGVu c2VzOgoKX18nJ3p1J2EnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtzdW10aX0KCl9fJydjYSd1Jydf XyBzdW10Y2l0YTogaW4gZnJvbnQgb2Yge3N1bXRpfQoKX18nJ3JpJ3UnJ19fIHN1bXRjaXRhOiBy aWdodCBvZiB7c3VtdGl9CgpfXycnYnUndScnX18gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHBsYWNl IGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2NhJycpCgoKCl9fJydvJ28nJ19f OiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBhdGllbmNlIC0gdG9sZXJhbmNl IC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5vJ29uYWkgcmkndSB7a3V9IG51IGxvIHByZW51IHtr dX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUge2t1fSB7a3V9IHt2YXV9IHtrZWl9IHt2YXV9JycgbWVh bj8gKG5vdGljZSB0aGUgZmlyc3QgZWxpZGVkIGt1ISkKCl9fJydkYXJ4aScnX18geDEgYmVhdHMv aGl0cyB4MiB3aXRoIGluc3RydW1lbnQgeDMgYXQgbG9jdXMgeDQKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJx7YW5nZXIhfSBUbyB0aGUgcmlnaHQgKG9mIHNvbWV0aGluZywgcHJvYmFibHkgbWUp IGFuZCBpbiB0aGUgcGFzdCAob2Ygc29tZSBldmVudCksIHNvbWV0aGluZyBpcyBhbiBldmVudCBv ZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9nLuKAnSBvciDigJxBIG1hbiBoaXQgYSBkb2cgdG8gbXkg cmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVuc2Ugc3VtdGNpdGEgaW4gb25l IGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0IHlvdSByZWFkIHRoZW0gZnJvbSBsZWZ0IHRvIHJpZ2h0 LCB0aGlua2luZyBpdCBhcyBhIHNvIGNhbGxlZCDigJxpbWFnaW5hcnkgam91cm5leeKAnSwgV2hl cmUgeW91IGJlZ2luIGF0IGFuIGltcGxpZWQgcG9pbnQgaW4gdGltZSBhbmQgc3BhY2UgKGRlZmF1 bHQ6IHRoZSBzcGVha2VyJ3Mgbm93IGFuZCBoZXJlKSwgYW5kIHRoZW4gZm9sbG93IHRoZSBzdW10 Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4KCkV4YW1wbGUKCicnbWkgcHUg e2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9JycgPSDi gJxBdCBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0byBrbm93IGFib3V0 IGZhJ29ybWEnb3Mu4oCdCgonJ21pIGJhIHtrdX0gcHUge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBm YSdvcm1hJ28ge2t1fSB7dmF1fScnIOKAnEF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSwgSSB3 aWxsIGhhdmUgdW5kZXJzdG9vZCBhYm91dCBmYSdvcm1hJ29zLuKAnQoKU2luY2Ugd2UgZG8gbm90 IHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIHdlIG1vdmUgYmFjayBvciBmb3J0aCwgdGhlIHVu ZGVyc3RhbmRpbmcgY291bGQgaW4gYm90aCBjYXNlcyBoYXBwZW4gaW4gdGhlIGZ1dHVyZSBvciB0 aGUgcGFzdCBvZiB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlLgoKCgpBbHNvLCBpZiBzcGFjaWFsIGFu ZCB0ZW1wb3JhbCB0ZW5zZXMgYXJlIG1peGVkLCB0aGUgcnVsZSBpcyB0byBhbHdheXMgcHV0IHRl bXBvcmFsIGJlZm9yZSBzcGFjaWFsLiBJZiB0aGlzIHJ1bGUgaXMgdmlvbGF0ZWQsIGl0IGNhbiBz b21ldGltZXMgcmVzdWx0IGluIHN5bnRhY3RpY2FsIGFtYmlndWl0eSwgd2hpY2ggTG9qYmFuIGRv ZXMgbm90IHRvbGVyYXRlLgoKCgpTdXBwb3NlIHdlIHdhbnQgdG8gc3BlY2lmeSB0aGF0IHRoZSBh IG1hbiBoaXQgYSBkb2cganVzdCBhIG1pbnV0ZSBhZ28uIFRoZSB3b3JkcyAnJ3ppJycsICcnemEn JyBhbmQgJyd6dScnIHNwZWNpZmllcyBhIHNob3J0LCB1bnNwZWNpZmllZCAocHJlc3VtYWJseSBt ZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHRpbWUuIE5vdGljZSB0aGUgdm93ZWwgb3JkZXIg JydpJycsICcnYScnIGFuZCAnJ3UnJy4gVGhpcyBvcmRlciBhcHBlYXJzIGFnYWluIGFuZCBhZ2Fp biBpbiBMb2piYW4sIGFuZCBtaWdodCBiZSB3b3J0aCB0byBtZW1vcml6ZS4g4oCcU2hvcnTigJ0g YW5kIOKAnGxvbmfigJ0gaW4gYXJlIGFsd2F5cyBjb250ZXh0IGRlcGVuZGVudCwgcmVsYXRpdmUg YW5kIHN1YmplY3RpdmUuIFR3byBodW5kcmVkIHllYXJzIGlzIGEgc2hvcnQgdGltZSBmb3IgYSBz cGVjaWVzIHRvIGV2b2x2ZSwgYnV0IGEgbG9uZyB0aW1lIHRvIHdhaXQgZm9yIHRoZSBidXMuCgpf XycnemknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRp fSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3phJydfXyBzdW10Y2l0YTog T2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0 aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3p1JydfXyBzdW10Y2l0YTogT2N1cnJp bmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSB0aGUgcG9pbnQgb2Yg cmVmZXJlbmNlIAoKCgpTaW1pbGFybHksIHNwYWNpYWwgZGlzdGFuY2UgaXMgbWFya2VkIGJ5ICcn dmknJywgJyd2YScnIGFuZCAnJ3Z1JycgZm9yIHNob3J0LCB1bnNwZWNpZmllZCAobWVkaXVtKSBh bmQgbG9uZyBkaXN0YW5jZSBpbiBzcGFjZS4KCl9fJyd2aScnX18gc3VtdGNpdGE6IE9jdXJyaW5n IHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVm ZXJlbmNlIAoKX18nJ3ZhJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1l ZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5j ZSAKCl9fJyd2dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1 bXRpfSBpbiBzcGFjZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnZ3Vua2EnJ19f IOKAnHgxIHdvcmtzIGF0IHgyIHdpdGggb2JqZWN0aXZlIHgz4oCdCgoKClRyYW5zbGF0ZTogJydi YSB7a3V9IHphIGt1IG1pIHZ1IHtrdX0gZ3Vua2Ege3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgd29yayBhIHBsYWNlIGxvbmcg YXdheeKAnX5+CgpOb3RlOiBQZW9wbGUgcmFyZWx5IHVzZSAnJ3ppJycsICcnemEnJyBvciAnJ3p1 Jycgd2l0aG91dCBhICcncHUnJyBvciAnJ2JhJycgaW4gZnJvbnQgb2YgaXQuIFRoaXMgaXMgYmVj YXVzZSBtb3N0IHBlb3BsZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5IHBhc3Qgb3IgZnV0dXJlIGlu IHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQgTG9qYmFuaWNh bGx5LCBtb3N0IG9mIHRoZSB0aW1lIHRoZSB0aW1lLWRpcmVjdGlvbiBpcyBvYnZpb3VzLCBhbmQg dGhlICcncHUnJyBvciAnJ2JhJycgc3VwZXJmbHVvdXMhCgoKClRoZSBvcmRlciBpbiB3aGljaCBk aXJlY3Rpb24tc3VtdGNpdGEgYW5kIGRpc3RhbmNlLXN1bXRjaXRhIGFyZSBzYWlkIG1ha2VzIGEg ZGlmZmVyZW5jZS4gUmVtZW1iZXIgdGhhdCB0aGUgbWVhbmluZ3Mgb2Ygc2V2ZXJhbCB0ZW5zZSB3 b3JkcyBwbGFjZWQgdG9nZXRoZXIgYXJlIHBpY3R1cmVkIGJ5IGFuIGltYWdpbmFyeSBqb3VybmV5 IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUgenUnJyBpcyDigJxhIGxvbmcg dGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRoZSBwYXN0IG9mIHNvbWUgcG9p bnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQgdGhlIGZ1dHVyZSBvciB0aGUg cGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAnJ3B1Jycgc2hvd3MgdGhhdCB3 ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBpdCBpcyBhIGxvbmcgdGltZSBi YWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScnIHNob3dzIHRoYXQgd2UgYmVn aW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20gbm93LCAnJ3B1JycgdGhlbiwg dGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQuIFRodXMgJydwdSB6dScnIGlz IGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJlIGluIHRoZSBmdXR1cmUuIFRo ZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBpbiB0aGlzIHdheSBpcyBvbmUg b2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRj aXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJlIG5vdCBhbHRlcmVkIGJ5IHRo ZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEgYnJpZGkuCgoKCkFzIGJyaWVm bHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0cyBiYXNpY2FsbHkgdHJlYXQg YnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3BhY2UuIEluIGFj dHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNwYW4gb2YgdGltZSBhbmQgc3Bh Y2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdlIHdpbGwgbGVhcm4gaG93IHRv IHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoKCgpfXycnemUnaScnX18gc3Vt dGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ2En J19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSB0aW1l IG9mIHtzdW10aX0KCl9fJyd6ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9u ZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3ZlJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVy IHRoZSBzaG9ydCBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUnYScnX18gc3VtdGNpdGE6IHNwYW5u aW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2 ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFjZSBvZiB7c3VtdGl9 CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJlbWVtYmVyaW5nIHRoZSB2b3dl bCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGluaXRpYWwgbGV0dGVyIHogZm9y IHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5zZXMgbWlnaHQgaGVscCB0aGUg bWVtb3JpemluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6IHBhaW4gLSBwbGVhc3VyZQoK CgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2ZSd1IHtrdX0ga2xhbWEgbG8gZG90Y28gZ3VnZGUg e2t1fSB6ZSd1IHtrdX0ge3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHlv dSBzcGVuZCBhIGxvbmcgdGltZSB0cmF2ZWxpbmcgYSBsb25nIHNwYWNlIHRvIEdlcm1hbnnigJ0g fn4KCgoKVGhvdWdoIG1vc3QgcGVvcGxlIGFyZSBub3QgZmFtaWxpYXIgd2l0aCBzcGFjaWFsIHRl bnNlcywgdGhlc2UgbmV3IHdvcmRzIGNhbiBvcGVuIHVwIGZvciBzb21lIHByZXR0eSBzd2VldCB1 c2VzLiBPbmUgY291bGQsIGZvciBpbnN0YW5jZSwgdHJhbnNsYXRlIOKAnFRoYXQncyBhIGJpZyBk b2figJ0gYXMgJyd0aSB2ZSd1IHtrdX0gZ2Vya3Uge3ZhdX0nJy4gU2F5aW5nOiDigJxUaGlzIHRo aW5nIGRvZ3MgZm9yIGEgbG9uZyBzcGFjZeKAnSBtYWtlcyB5b3Ugc291bmQgcmV0YXJkZWQgaW4g RW5nbGlzaCwgYnV0IHdlbGwtc3Bva2VuIGluIExvamJhbiEKCgoKJyd6ZSd1JycgYW5kIGl0cyBi cm90aGVycyBhbHNvIGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMgdG8gZm9ybSBjb21wb3VuZCB0 ZW5zZXMuIFRoZSBydWxlIGZvciAnJ3plJ3UnJyBhbmQgdGhlIG90aGVycyBhcmUgdGhhdCBhbnkg dGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBvZiB0aGUgcHJvY2VzcyAocmVs YXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFueSB0ZW5zZXMgY29taW5nIGFm dGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2ZSB0byB0aGUgZmlyc3QuIFRo aXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxlIG9mIGV4YW1wbGVzOgoKJycu bydvY3UnaSBkbyBjaXRrYSBwdSB7a3V9IHplJ3Uge2t1fSBiYSB7a3V9IHp1IHtrdX0ge3ZhdX0n JyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGluIHRoZSBwYXN0IGFuZCBmb3Ig YSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGludG8gdGhlIGZ1dHVyZSBvZiB3 aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUgZm9yIGEgbG9uZyB0aW1l4oCd LiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHplJ2kge2t1fSBwdSB7a3V9IGts YW1hIHt2YXV9Jycgd2l0aCAnJ2RvIHB1IHtrdX0gemUnaSB7a3V9IGNhIHtrdX0ga2xhbWEge3Zh dX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMgb25lIGVuZHBvaW50IGluIHRo ZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMgdGhlIHBhc3QsIHdoaWxlIHRo ZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcGFzdCBhbmQgZXh0ZW5kcyBv bmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGludG8gdGhlIHBhc3Qgb3IgZnV0 dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDigJx4MSBpcyBhbGl2ZSBieSBz dGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUge2t1fSB6aSB7a3V9IHplJ3Ug e2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2hh cHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhlIHBhc3QgYW5kIGEgbG9uZyB3 YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNseSB0aGUgZnV0dXJlLCBpbiB0 aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywgYW5kIGhhdmUgbW9z dCBvZiBteSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVzdCB0byB1bmRlcmxpbmUgdGhl IHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV0J3MgaGF2ZSBhbm90aGVyIGV4YW1w bGUsIHRoaXMgdGltZSB3aXRoIHNwYWNpYWwgdGVuc2VzOgoKX18nJy51J2UnJ19fIGF0dGl0dWRp bmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy51J2UgemEnYSB7a3V9IGJ1J3Uge2t1fSB2 ZSd1IHtrdX0gY2EndSB7a3V9IHpkYW5pIHt2YXV9JycgLSBXaGF0IGRvZXMgaXQgbWVhbj8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTog4oCce3dvbmRlcn0ge0kgb2JzZXJ2ZSF9IEV4dGVuZGluZyBh IGxvbmcgc3BhY2UgZnJvbSBoZXJlIHRvIG15IGZyb250IGlzIGEgaG9tZS7igJ0gb3Ig4oCcV293 LCB0aGlzIGhvbWUgZXh0ZW5kaW5nIGFoZWFkIGlzIGh1Z2Uh4oCdfn4KCgoKQmVmb3JlIHdlIGNv bnRpbnVlIHdpdGggdGhpcyBzeW50YXgtaGVhdnkgdGVuc2Ugc3lzdGVtLCBpIHJlY29tbWVuZCBz cGVuZGluZyBhdCBsZWFzdCB0ZW4gbWludXRlcyBkb2luZyBzb21ldGhpbmcgd2hpY2ggZG9lc24n dCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsg aW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNsb3dseSAtIHdoYXRldmVyLCBh cyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbid0IGdvIHRocm91Z2ggYWxsIExvamJh biB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3csIHRoZXJlIGlzIG9uZSBvdGhlciBraW5kIG9mIHRl bnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUgdGF1Z2h0IG5vdy4gVGhlc2UgYXJlIGNhbGxlZCDi gJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJlcHJlc2VudCBhIHZlcnkgZGlmZmVyZW50IHdheSBv ZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUgc2VlbiBzbyBmYXIuIFNvIGxldCdzIGdldCB0 byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZlIGxlYXJuZWQgc28gZmFyLCB3ZSBjYW4g aW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwgYW5kIHdlIHRoZW4gcGxhY2UgZXZlbnRz IG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCcbm934oCdLiBXaXRoIGV2ZW50IGNvbnRv dXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQgYXMgYSBwcm9jZXNzLCB3aGljaCBoYXMg Y2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQgdW5mb2xkcywgYSB0aW1lIHdoZW4gaXQg YmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9jZXNzLCBhIHRpbWUgd2hlbiBpdCBlbmRz LCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4gRXZlbnQgY29udG91cnMgdGhlbiB0ZWxs cyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudCdzIHByb2Nlc3Mgd2FzIGhhcHBlbmluZyBkdXJp bmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5zZXMuIFdlIG5lZWQgYSBjb3Vw bGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHUnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29u dG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVuZWQgZHVyaW5nIHtzdW10aX0KCl9fJydjYSdv JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGR1cmlu ZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogVGhlIHBy b2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9CgoKClRoaXMgbmVlZHMgdG8g YmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXQncyAnJy51aSBtaSBwdSdvIHtr dX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoKCgpBbnN3ZXI6IOKAnFlheSwgSSdsbCBiZWdpbiB0 byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywgd2h5IG5vdCBqdXN0IHNheSAn Jy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2ZW4gc2F2ZSBhIHN5bGxhYmxl PyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdpbGwgaGF2ZSBhIGhvbWUgaW4g dGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5b3UgaGF2ZSBhIGhvbWUgbm93 LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ugc2F5IHRoYXQgeW91IGFyZSBub3cgaW4gdGhl IHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhhdmluZyBhIGhvbWUsIHdoaWNoIG1lYW5zIHRo YXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRoZSB3YXksIHRoYXQgJydtaSBi YSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMgc2ltaWxhciB0byAnJ21pIHB1J28ge2t1fSBzZSB6 ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2JhJ28nJyBhbmQgJydwdScnLiBXaHkg ZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNhdXNlIGV2ZW50IGNvbnRvdXJzIHZpZXcgdGhlIHBy ZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgdGhlIHByb2Nlc3MsIHdoZXJlYXMg dGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20gdGhlIHByZXNlbnQuCgoKCk9m dGVuLCBldmVudCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRoYXQgb3RoZXIga2luZCBvZiB0 ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGlldmVkIGJ5IGNvbWJpbmluZyBzZXZlcmFs IHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6aSB7a3V9IGJhJ28ge2t1fSBndW5rYSB7dmF1fScn IC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5pc2hlZCB3b3JraW5nLuKAnQoKCgpJbiBMb2piYW4s IHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50J3Mg4oCcbmF0dXJhbCBiZWdpbm5pbmfigJ0g YW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCcbmF0dXJhbOKAnSBpcyBoaWdo bHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5hdHVyYWwgZW5kIHJlZmVycyB0 byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hvdWxkIGVuZC4gWW91IGNhbiBz YXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRoYXQgaXRzIHByb2Nlc3Mgb2Yg cmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0cyBuYXR1cmFsIGVuZC4gQW4g dW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5LCBpcyBiZWluZyBlYXRlbiBi ZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJlZ2lubmluZy4gVGhlIGV2ZW50IGNvbnRvdXJz IHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6CgoKCl9fJyd6YSdvJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGJleW9uZCBpdHMg bmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0KCl9fJyd4YSdvJydfXyAtIHN1bXRjaXRhOiBldmVu dCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0K CgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2ggaXMgZWRpYmxlIGZvciB4MuKA nQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHphJ28gbG8gbnUgZG8gYmEnbyB7a3V9IHUn ZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3Unb30ge3ZhdX0ge2tlaX0ge2t1fScn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVwIGVhdGluZyB3aGVuIHlvdSBo YXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRoaW5nIGVkaWJsZSHigJ1+fgoK Cgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KCkltYWdlIGFib3ZlOiBa QWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2VzIGFib3ZlIHRoZSBsaW5lIG9m IHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBhbW91bnQgb2YgdGltZS4gQWxs IHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0YWdlcyB3aGljaCBhcmUgcG9p bnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJlZW4gZGVzY3JpYmluZyBzdGFn ZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAoYXMgc2hvd24gb24gdGhlIGdy YXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50IGxpa2UpLiBCdXQgbWFueSBv ZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxpa2Ugc3RhZ2VzIGluIHRoZSBw cm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUgb2YgJydjYScnIGFuZCAnJ2J1 J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgZnV0 dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBwcmVjaXNlLgoKCgpUaGUgdHdv IG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91cnMgYXJlOgoKX18nJ2NvJ2En J19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBiZWdpbm5pbmcg ZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBC cmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoKCkZ1cnRoZXJtb3JlLCB0aGVy ZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVyYWxseSBjb21wbGV0ZSwgYnV0 IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21vJ3UnJ19fIC0gc3VtdGNpdGE6 IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBuYXR1cmFsIGVuZGluZyBkdXJpbmcge3N1 bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBwcm9jZXNzZXMgYWN0dWFsbHkgZW5kIGF0 IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdoYXQgbWFrZXMgaXQgbmF0dXJhbC4gVHJh aW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVvcGxlIHVzdWFsbHkgcmV0cmFpbiB0aGVt c2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoKCgpTaW5jZSBhIHByb2Nlc3MgY2FuIGJl IGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBwb2ludHMgaGF2ZSBlYXJuZWQgdGhlaXIg b3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBj b250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnZGknYScnX18gLSBz dW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1pbmcgZHVyaW5nIHtzdW10aX0K CgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgxIHBheXMgYXR0ZW50aW9uIHRv IHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQgJydkaSdhIGp1bmRpJycgYXJlIGNvbW1vbiBMb2pi YW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFuZCDigJxiYWNr4oCdLiBPbmUgY291bGQgb2Yg Y291cnNlIGFsc28gc2F5IHRoZSBldmVudCBjb250b3VycyBieSB0aGVtc2VsdmVzIGFuZCBob3Bl IHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoKRmluYWxseSwgb25lIGNhbiB0cmVhdCBhbiBlbnRp cmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5kIGFzIG9uZSBzaW5nbGUgcG9p bnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVubWknJ19fIOKAnHgxIG1lZXRzIHgyIGF0IGxvY2F0 aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjbydpIHtrdX0gcGVubWkgbG8gZG90Y28g cHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0bGUgd2hpbGUgYWdvLCBJIHdhcyBhdCB0aGUg cG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBhIEdlcm1hbiBwZXJzb27igJ0KCgoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAob3JkZXJzIGFuZCBxdWVzdGlvbnMpCgpQaGV3LCB0 aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGggc3ludGF4IGhlYXZ5IExvamJhbiBnaXZlcyB0aGUg YnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBhYm91dC4gRXNwZWNpYWxseSBiZWNhdXNlIGl0J3Mg c28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4gU28gbGV0J3MgdHVybiB0byBzb21ldGhpbmcgYSBs aXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoKCldoYXQgdGhlLi4uIF9fc2l0 IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4cHJlc3Mgb3JkZXJzIGluIEVu Z2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjbGF1c2UsIHdoeSBkaWQg eW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtpbmcgdG8sIGFuZCBub3Qgb3Jk ZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0aW9uIHNvbWVvbmUgZWxzZSBo YXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJzdGFuZHMgdGhhdCBvcmRlcnMs IGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVjdGVkIHRvd2FyZHMgdGhlIGxp c3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJqZWN0IGlzIG5vdCBuZWNlc3Nh cnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWllbGRzICcnem8nZScnLCBzbyB0 aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVzLiBJbnN0ZWFkLCB3ZSB1c2Ug dGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2ZSBmb3JtIG9mICcnZG8nJy4g R3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lzZSwgaXQncyBlcXVpdmFsZW50IHRvICcnZG8nJywg YnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1hbnRpY3MsIHNpbmNlIGl0IHR1cm5zIGV2ZXJ5IHN0 YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBpbnRvIGFuIG9yZGVyLiDigJxEbyBzdWNoIHRoYXQg dGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9JydrbycnIeKAnSBGb3IgdGhlIHNhbWUgcmVh c29uIHdlIGRvbid0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHdlIGRv bid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBvdGhlciBzdW10aSB0aGFuICcn ZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28gZmFyIGF3YXkgZm9yIGEgbG9u ZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2VsYnJpPykKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+fgoKKCcnLmkgemEnYSBkYWkgYSdvIG1pIGNh IGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5pIGtvIGppbXBlIHZhdSAudWknJykgLSBsb29rIHVw IGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGluIExvamJhbiBhcmUgdmVyeSBl YXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5kczogRmlsbCBpbiB0aGUgYmxh bmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0aCB0aGUgdHJ1ZS1m YWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdzIHByZXR0eSBvdmVyY29tZWFibGUsIHNpbmNlIGl0 IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUnJyB3b3JrcyBsaWtlIGFuIGF0 dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBhbnl3aGVyZSwgYW5kIGl0IGFw cGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1Y3QpLiBJdCB0aGVuIHRyYW5z Zm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNraW5nIHdoZXRoZXIgaXQgaXMg dHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNpbXBseSByZXBlYXQgdGhlIGJy aWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycgJycuaSB2ZSd1IHpkYW5pIG1pJycsIG9yIHlvdSBq dXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhlIGJyaWRpIHdpdGggYWxsIHRo ZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoKVGhlcmUgaXMgYW4gZXZlbiBl YXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBicmlrYSdpLCBidXQgdGhvc2UgYXJlIGEgdGFsZSBm b3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig4oCcZmFsc2XigJ0sIHlvdSBz aW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRoYXQgdG9vLCB3aWxsIGJlIGxl ZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVlc3Rpb24gYW5zd2VyaW5nIGJ5 IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5rLiBIZXJlLCB5b3Ug YXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNlZCBmb3IgYSBjb25zdHJ1Y3Qs IHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2ZXJhbCBvZiB0aGVz ZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tpbmcgYWJvdXQ6CgpfXycnbWEn J19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxicmkgcXVlc3Rpb24KCl9fJyd4 bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9fJydjdSdlJydfXyAtIHRlbnNlIHF1ZXN0aW9uCgoK CkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBhIHN1bXRpLCB5b3UgdGhlbiBq dXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3YW50IHlvdXIgYW5zd2VyOiAn J2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8gYmUgZmlsbGVkIHdpdGggYSBj b3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KAnS4gVGhlIGNvbWJpbmF0aW9u IG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1bCBpbmRlZWQ6CgpfXycnbXUn aScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0cmFjdGlvbiBvZiB7c3VtdGl9 CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kgbWEnJyAtIOKAnE95LCB3aHkgZG8geW91IGhpdCBt ZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVyIG9uZS4gVGhpcyB0aW1lLCB5b3UgdHJhbnNsYXRl OgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5nIGFsbCB0aGlzIGxvbmcgdGlt ZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBhbHNvIG1lYW4g4oCcd2hhdCBo YXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcnLnVhIG5haSBsaSdhIHJlbW5h JycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBpcyBqdXN0IGJlaW5nIGluY3JlZGlibHkgYW5ub3lp bmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0b25lIG9mIHZvaWNlIG9yIHNlbnRlbmNlIHN0cnVj dHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhlciBhIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24gb3Ig bm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBxdWVzdGlvbiB3b3JkLiBUaGVyZWZvcmUsIHNp bmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUgb24gd29yZHMgaW4gdGhlIGJlZ2lubmluZyBv ciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQncyB1c3VhbGx5IHdvcnRoIHRoZSB3aGlsZSB0 byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28gdGhhdCB0aGUgcXVlc3Rpb24gd29yZHMgYXJlIGF0 IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBub3QgZmVhc2FibGUsICcncGF1JycgaXMgYW4gYXR0 aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uLiBDb250cmFy eSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBtYXJrcyBhbnkgcXVlc3Rpb24gYXMgYmVpbmcgcmhl dG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRoZSB0b3BpYyBvZiBxdWVzdGlvbnMsIGl0J3Mg YWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcna2F1JycsIHdoaWNoIGlzIGEg bWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hhdCdzIGFuIGluZGlyZWN0IHF1 ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9vayBhdCB0aGUgc2VudGVuY2U6ICcnbWkgZGp1 bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8nJyAtIOKAnEkga25vdyB3aGF0IGlzIHlvdXIgaG9t ZS7igJ0KCl9fJydkanVubycnX18g4oCceDEga25vd3MgZmFjdChzKSB4MiBhcmUgdHJ1ZSBhYm91 dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9uZSBjYW4gdGhpbmsgaXQgYXMgdGhlIGFuc3dl ciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBkbycnLiBNb3JlIHJhcmVseSwgb25lIGNhbiBt YXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAnJ2thdScnLCBpbiB3aGljaCBjYXNlIG9uZSBz dGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5zd2VyIHRvIGEgcXVlc3Rpb246ICcnbWkgamlt cGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25vdyB3aGF0IHlvdSBoYXZlIGJl ZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0 aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoKQmFjayB0byBtb3JlIGhlYXZ5 IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVuJ3QgYWxyZWFkeSwgSSBzdHJv bmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBMb2piYW5pYyByZWNvcmRpbmcgY2FsbGVkICJTdG9y eSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8gc29tZW9uZSBzcGVhayBMb2pi YW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFjdGljZSB5b3VyIHByb251bmNpYXRpb24uIEhhdmlu ZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24gaW4geW91ciBoZWFkIGluIExvamJhbiBpcyBvbmx5 IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhlIHdyb25nIHNvdW5kcywgYW5kIGxlYXJuaW5n IHByb251bmNpYXRpb24gZnJvbSB3cml0dGVuIHRleHQgaXMgaGFyZC4gVGhlcmVmb3JlLCB0aGlz IGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5kcywgaG93ZXZlciBpbXBvcnRh bnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHRoZSBMb2piYW4g bW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUgd29yZCBpcyBkZXJpdmVkIGZy b20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz4oCdLCBhbmQgaW4gdGhpcyBj b250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRzIGZyb20gbGV0dGVycyBhbmQg c291bmRzLCBhcyBjb250cmFzdGVkIHdpdGggc3ludGF4IC0gaG93IHdlIG1ha2Ugc2VudGVuY2Vz IHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRlcyB3aXRoIGRpZmZlcmVudCBtb3JwaG9sb2dpY2Fs IHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5IHRoZWlyIG1vcnBob2xvZ3ku IFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhvdWdoLCB3b3JkcyB3aXRoIGNl cnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBtb3JwaG9sb2dpY2FsIGNsYXNz ZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1ci4KCnx8ICAgQ2xhc3N8TWVhbmluZ3xEZWZpbmVk IEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRzOnwgICB8ICAgfCAgIAoKICAgQnJpdmxhfCAg IGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChleGNsdWRpbmcg4oCcIOKAmCDi gJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93ZWwuICAgfCAgIEFjdHMgYXMg YSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNlIHN0cnVjdHVyZS4KCiAgIC0t R2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZvcm0gQ1ZDQ1Ygb3IgQ0NWQ1Yg ICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMgYmFzaWMgY29uY2VwdHMuCgog ICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4gRGVyaXZlZCBmcm9tIGZyb20g4oCcbHVqdmxh4oCd LCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKAnSB8ICAgTWluLiA2IGxldHRlcnMuIE1hZGUgYnkg c3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGggYmluZGluZyBsZXR0ZXJzIGlmIG5lY2Vzc2Fy eS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBjb25jZXB0cyB0aGFuIGdpc211LgoKICAgLS1GdSdp dmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxhLCBidXQgZG8gbm90IG1lZXQgZGVmaW5pbmcgY3Jp dGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScnICB8ICAgQ292ZXJzIHVuaXF1 ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNlcyBvciBvcmdhbmlzbXMuCgogICBDbWV2bGF8 ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBhbmQgZW5kaW5nIHdpdGggcGF1c2UgKGZ1bGwgc3Rv cCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEgY29uc29uYW50LnwgICBBbHdheXMgYWN0cyBhcyBh IG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAgIENtYXZvfCAgIEdyYW1tYXIt d29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1lYW5pbmcg4oCcc21hbGwgd29yZOKAnXwgT25lIGNv bnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQgdGhlIGJlZ2lubmluZy4gRW5kcyBpbiBhIHZvd2Vs LiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgogICBXb3JkLWZyYWdtZW50czp8 ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMsIENWJ1YsIC1DVkNDViwgLUND VkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBhY3R1YWwgd29yZHMsIGJ1dCBjYW4gYmUgc3Ry aW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8fAoKCgoKCl9fJydjbWV2bGEnJ19fIGFyZSB2 ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBlbmQgd2l0aCBhIHBh dXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQgdGhlIGxhc3QgbGV0 dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEgY2FuJ3QgaGF2ZSBhbnkgb3RoZXIgZnVuY3Rpb24g YmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwgbmFtZXMgd2hpY2gg YXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2piYW4gd2l0aG91dCB0aGVtIGJlaW5n IGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3RlIHdvcmRzLiBPbmUgY2FuIG1hcmsg c3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcgdGhlIGxldHRlcnMgd2hpY2ggYXJl IHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAnJy5pb2hBTi4nJyAoSm9oYW4sIGgg aXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChNYXR0KSBhbmQgJycubHV0Y2lNSU4u JycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90IGVuZCBpbiBjb25zb25hbnRzIGhh dmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSksIG9yIChwcm9iYWJseSBiZXR0 ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpfXycnYnJpdmxhJydfXyBhcmUg Y2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBieSBkZWZhdWx0IGFyZSBzZWxi cmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29yZHMgd2l0aCBhIHBsYWNlIHN0 cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0gdGhlIEVuZ2xpc2gg bmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFybHkgaW1wb3NzaWJsZSB0byBz YXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0IGFsbCB3b3JkcyBm b3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4gbW9zdCBvZiB0aGUg d29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJlZCBieSBicml2bGEu IEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJjYXRlZ29yaWVzOgoK X18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qgd29yZHMgb2YgdGhlIGxhbmd1YWdlLiBPbmx5IGFi b3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcgbmV3IG9uZXMgYXJlIGFkZGVkLiBUaGV5IGNv dmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxpa2Ug4oCcY2lyY2xl4oCdLCDigJxmcmllbmTi gJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCdLiBFeGFtcGxlcyBpbmNsdWRlICcnemRhbmkn JywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9fJydsdWp2bycnX18gYXJlIG1hZGUgYnkgY29t YmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFmc2kpLCByZXNwcmVzZW50aW5nIGdpc211LiBCeSBj b21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRvd24gdGhlIG1lYW5pbmcgb2YgdGhlIHdvcmQu IGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0ZSBhbGdvcml0aG0sIHNvIG1ha2luZyB2YWxp ZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1wb3NzaWJsZSwgd2l0aCBmZXcgZXhjZXB0aW9u cyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcnc2UgcHJhbWknJywgd2hpY2ggY2FuIG9ubHkgaGF2 ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1hZGUgb25jZSwgaXRzIHBsYWNl IHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmluaXRpb24gaXMgbWFkZSBvZmZp Y2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVkZSBicml2bGEgKGJyaWRpLXdv cmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9IGZsaXJ0aW5nKSBhbmQgJydj YWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18nJ2Z1J2l2bGEnJ19fIGFyZSBt YWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRlZmluaXRpb24gZm9yIGJyaXZs YSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVuZCB0byBjb3ZlciBjb25jZXB0 cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIgYnkgbHVqdm8sIGZvciBpbnN0YW5jZSBuYW1lcyBv ZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkgY3VsdHVyYWwgc3BlY2lmaWMgY29uY2VwdHMuIEV4 YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3VyaW8nJyAoS29yZWEpICcnY2lkanJwaXRzYScnIChw aXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwpLgoKCgpfXycnY21hdm8nJ19fIGFyZSBzbWFsbCB3 b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFudHMuIFRoZXkgdGVuZCB0byBub3Qgc2lnbmlm eSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29ybGQsIGJ1dCB0byBoYXZlIG9ubHkgZ3JhbW1h dGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2NjdXIsIGFuZCBpdCdzIGRlYmF0YWJsZSBob3cg bXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFtbWF0aWNhbCBmdW5jdGlvbi4g QW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIEdPaEEsIHdo aWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUgc2V2ZXJhbCBjbWF2byBpbiBh IHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMsIHRoYXQgd29uJ3QgYmUgZG9u ZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlvbmFsIHVuaXRzLCB0aG91Z2gs IGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywgJycudWlwdXp1dnVrdW1pIGNp dGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVyc3Rvb2QgYXMgJycudWkgcHUg enUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4gd29yZHMsIG9uZSBzaG91bGQg KGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9wIGJlZm9yZSBhbnkgd29yZHMg YmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBmb3JtIHhWViwgQ1YnVlYgb3Ig VidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdoaWNoIGFyZSBub3QgaW4gdGhl IGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFkZGVkIGJ5IExvamJhbiB1c2Vy cyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycncmFmc2knJ19fIGFyZSBub3Qg TG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9uZS4gSG93ZXZlciwgc2V2ZXJh bCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3JtIGx1anZvLiBUaGVzZSBtdXN0 IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9uLCBmb3IgaW5zdGFuY2UgJyds b2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBhIGNvbnNvbmFudCAod2hpY2gg bWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaSdla2VpJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0 IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3RlciwgYW5kIGlzIHRodXMgcmVhZCBh cyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00IGxldHRlciBzdHJp bmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcnenUnZScnLCB3aGljaCBpcyBi b3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBmb3IgJyd6dWt0ZScnLiBOb3RlIHRoYXQgdGhlcmUg aXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSB3b3VsZCBiZSBncmFtbWF0 aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIGhvbW9waG9uZXMuIEFsbCBnaXNtdSBj YW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFyZSBwcmVmaXhlZCB3aXRoIGFub3RoZXIgcmFm c2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBvZiBhIGdpc211IHN1ZmZpeGVkIHdpdGggYW4gInki IGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0aGV5IGFyZSBzdWZmaXhlZCB3aXRoIGFub3Ro ZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2FuIG9ubHkgYXBwZWFyIGluIGx1anZvIG9yIGNtZXZs YS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0aW9ucyBhcmU6IENWViwgQ1YnViwgQ0NWLCBD VkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNpbmcgd2hhdCB5b3Uga25vdyBu b3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRlc3QgaSB0aHVzIHByZXNlbnQ6 CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3JkcyBhcyBjbWV2bGEgKEMpLCBn aXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdpdmxhJycgKGYpIG9yIGNtYXZvIChjKToKCkEgKSBq YWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBIICkgLmknaQoKQyApIGJvc3R1 ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4gICAgICAgIEogKSBwbGFqdmEKCkUgKSBwbydlICAg ICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCApIC5lcnRzYQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBmLWwsIGctQywgaC1jLCBpLWMs IGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3RvcHMgYmVmb3JlIGFuZCBhZnRl ciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0b28gZWFzeS4KCk5vdGU6IHNvbWUgb2YgdGhlc2Ug d29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0aGUgZGljdGlvbmFyeSwgYnV0 IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3RpbGwgbWFrZXMgaXQgYSBnaXNt dSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5lZCBnaXNtdS4gU2ltaWxhcmx5IHdpdGggJycuZXJ0 c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmb3VydGVlbiAodGhlIExvamJh biBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3UgaGF2ZSByZWFkIGFuZCB1bmRlcnN0b29kIHRo ZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1bnRpbCBub3csIHlvdSBoYXZlIGFtYXNzZWQg YSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9mIExvamJhbiBzbyB0aGF0IGl0IGRvZXNuJ3QgbWF0 dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVzdC4gQXMgYSByZXN1bHQsIHRoZSBv cmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBtaXh0dXJlIG9mIHNvcnRlZCBieSBp bmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBpbXBvcnRhbmNlIGluIG9yZGluYXJ5 IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUgYmlnZ2VzdCBjb25zdHJhaW5zIG9u IHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93bGVkZ2Ugb24gaG93IHRvIG1ha2Ug c3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycgYW5kICcnbG8gU0VMQlJJJycsIHdo aWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhvdyBpbXBvcnRhbnQgc3VtdGkg YXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0aGUgZm9sbG93aW5nIHR3byB3 aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3csIHdlIGZvY3VzIG9uIHRoZSBk ZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdpdGggYXJ0aWNsZXMgbGlrZSAn J2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcnZ2FkcmknJywgYW5kIGFsbCB0 aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScn LCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xhIENNRVZMQScnLCAnJ2xhaSBDTUVWTEEnJyBh bmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxsIGJlZ2luIGJ5IGRlc2NyaWJpbmcgdGhyZWUgc2lt cGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRpLCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmaW5k IHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6CgpfXycnbG8nJ19fIC0gZ2Fk cmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1 bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycn bGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8g c3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21h c3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25h bCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQg YXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJlYWR5IGZhbWlsaWFyIHdpdGggJydsbycn IGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMgaXQgbWVhbiwg4oCcdmVyaWRpY2Fs4oCd IGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzc+KAnT8g VGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLCBJJ2xsIGNvbWUgYmFjayB0 byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs4oCdIGluIHRoaXMgY29udGV4dCBtZWFucyB0 aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1YWxpZnkgYmVnaW4gbGFiZWxsZWQgYXMgJyds byBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFsbHkgJydrbGFtYScnLiBUaHVzLCB2ZXJpZGljYWwg Z2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBvciBmYWxzZSAtIHRoYXQgdGhl IG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhlIHgxIG9mIHRoZSBzZWxicmkg YWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkgYmUgY29udHJhc3RlZCB3aXRoICcnbGUnJywgd2hp Y2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5vdCB2ZXJpZGljYWwuIFNheWluZyAnJ2xlIGdl cmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBvciBtb3JlIHNwZWNpZmljIG9iamVjdHMgaW4g bWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAnJ2dlcmt1JycgdG8gZGVzY3JpYmUgaXQsIHNv IHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVudGlmeSB0aG9zZSBzcGVjaWZpYyBvYmplY3RzLiBU aGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3byBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgZnJv bSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5vdCByZWZlciB0byBvYmplY3RzIGluIGdlbmVyYWws IGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNpZmljIG9iamVjdHMuIFNlY29uZGx5LCB3aGlsZSAn J2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBkb2dzLCAnJ2xlIGdlcmt1Jycs IGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMg dGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxsIGhlbHAgaWRlbnRpZnlpbmcg dGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtlciBpcyByZWZlcnJpbmcgdG8g YSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVtIGFuZCB0aGluayDigJxkb2fi gJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJlIHVuZGVyc3Rvb2QuIFRoaXMg bm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFzaXNlZCBpbiBtb3N0IG1hbnkg dGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBpcyB1c3VhbGx5IHRvIGRlc2Ny aWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24g bm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1lZCB0byByZWZlciB0byBzb21l dGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0cmFuc2xhdGlvbiwgJydsbyBn ZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz4oCdLCB3aGlsZSAn J2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUgZG9nc+KAnS4gRXZlbiBiZXR0 ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp4oCdIOKAnQoKCgpM YXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJlIGlzICcnbGEnJywgdGhlIG5h bWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5IGNhbGxlZCDigJxj b252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBpdCdzIG5laXRoZXIg ZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwgc2luY2UgaXQgcmVmZXJzIHRvIGEgcHJvcGVyIG5h bWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0byBhIHBlcnNvbiBjYWxsZWQgSW5ub2NlbnQgYnkg aGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmliZSBoZXIgYXMgYmVpbmcgaW5ub2NlbnQsIG5vciBk byBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkgc3RhdGUgdGhhdCBieSBjb252ZW50aW9uLCB0 aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBieSB0aGF0IHNlbGJyaSBvciBjbWV2bGEuIE5vdGUg dGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBkZXJpdmVkIGZyb20gaXQgY2FuIGNvbnZlcnQgY21l dmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScnLiBBbHNvOiBCZSBjYXV0aW91 czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRpb24gdGhhdCBuYW1lcyBjYW4gYmUgZm9ybWVkIGZy b20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBnYWRyaSAnJ2xhJycuIEJ1dCB0aG9zZSBoZXJl dGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBhcmUgYXMgZ29vZCBhcyB0aGV5IGdldCwgYW5k IG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0aGVtLgoKJydsYScnLCBhcyB3ZWxsIGFzICcn bGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJpdCBlY2NlbnRyaWMsIHNpbmNlIHRoZXkgX19hbHdh eXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmFtZS4gVW5saWtlIHRoZSBvdGhlciBnYWRy aSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1hdGljYWxseSBwbGFjZWQgYWZ0ZXIgJydsYScn IGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBGb3IgZXhh bXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJteSBkb2ciLCBidXQgJydsYSBtaSBnZXJrdScnIGlz IHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoKCgpUaGVzZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycg Y2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUgbW9yZSwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhl IHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBz ZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCl9fJydsZWknJ19f IC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVh dCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9fJydsYWknJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRp Y2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKA nS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKCgpUaGVzZSBhcmUgdGhlIHNhbWUgaW4gYWxs IGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhlIHN1bXRpIGV4cGxpY2l0bHkg YXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3QgaW4gcXVlc3Rpb24sIGFuIGlu ZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBvYmplY3QgYXJlIGVxdWl2YWxl bnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIGxpZSBpbiB3aGlj aCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgdmVyc3Vz IGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUgc2FpZCB0byBmaXQgYSBjZXJ0 YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJzIG9mIHRoZSBncm91cCBlYWNo IGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2NyaWJlIGEgcGFjayBvZiAnJ2xv IGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBiZWluZyBibGFjaywgaWYgZm9y IGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBhcmUgYmxhY2suIEEgbWFzcywg b24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxicmkgd2hpY2ggaXRzIGNvbXBv bmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8gc3BlYWsuIEhvd2V2ZXIsIGFs bCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBtdXN0IGJlIGRvZ3MgaW4gb3Jk ZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5vdGlvbiBvZiAibWFzc2VzIiBh cmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVpcmVzIHNvbWUgZXhhbXBsZXMgdG8gZGVtb25zdHJh dGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4gaGF2ZToKCl9fJydzcnVyaScnX186IOKAnHgxIGZs YW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFuZS9kaXJlY3Rpb25zIHgz4oCd CgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFuaScnIC0g4oCcVGhlIHBlb3BsZSBzdXJyb3Vu ZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2libGUsIGV2ZW4gdGhvdWdoLCB5byBtb21hIGpva2Vz IG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBsZXRlbHkgaW1wbGF1c2libGUgdGhhdCBpdCBjb3Vs ZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFsb25lLiBBbiBFbmdsaXNoIGFu YWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFsbHBveCBpbiB0aGUgMjB0aCBj ZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQgdGhlIG1hc3Mgb2YgaHVtYW5z IGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUgaW4gRW5nbGlzaCwgYXMgd2Vs bCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1c3QgbGlrZSB0aGUg TG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNhbiBvbmx5IHJlZmVy IHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFuLiBBbm90aGVyIGV4YW1wbGU6 CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBhIGJpb2xvZ2ljYWwgY2VsbCBvZiBvcmdhbmlzbSB4 MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBhIGh1bWFuIgoKJydsb2kgbWl2eXNsZSBjdSByZW1u YScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFyZSBodW1hbiIuIEFnYWluLCBub25lIG9mIHRo ZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwgdGhlIGNlbGxzIGhhdmUgdmVyeSBmZXcgaHVtYW4g dHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNpZGVyZWQgYXMgYSB3aG9sZSBtYWtlcyB1cCBhIGh1 bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcnbGVpJycsIHN1Y2ggYXMgJydsZWkgZ2Vya3UnJywg cmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBncm91cCBvZiBzcGVjaWZpYyBpbmRpdmlkdWFs cywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtlciByZWZlcnMgdG8gYXMgJydsZSBnZXJrdScnLgoK TWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkgJydsYWknJyBhcmUgb25seSBhcHByb3ByaWF0ZSBp ZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1lZCBzdWNoLCBhbmQgbm90IGp1c3QgaWYgYW55 IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBob3dldmVyIGJlIHVzZWQgaWYgdGhlIGJyaWRp IGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBvZiB0aGF0IGdyb3VwLgoKCgpJdCBpcyBpbXBv cnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycgYW5kICcnbGUnJyBjYW4gYmUgdXNlZCB0byBk ZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFuZCBtYXNzZXMuIExldCdzIHNheSBhIHBhY2sgb2Yg ZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3MgbmVlZHMgZGVzY3JpcHRpb24uIEkgbWlnaHQgZGVz Y3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1Jycgb3IgJydsbyBnZXJrdScnLiBJZiBJIHVz ZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRvIGNvcnJlY3RseSBzdGF0ZSBzb21ldGhpbmcgd2hp Y2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24sIGJ1dCByZWFsbHkgaXNuJ3Q6ICcnbG8gZ2Vy a3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3MgYXJlIG5vdCBkb2dzIi4gU2luY2UgaXQncyBiZWlu ZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0aGUgbWFueSBkb2dzIGNvbnNpZGVyZXMgYXMg YSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCByYXRoZXIgYSBwYWNrIG9mIGRvZ3MuCgpZb3UgbWln aHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgbm8gd29yZCB3aGljaCB1bmFtYmlndW91c2x5 IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlkdWFsKHMpLiBJbiBvcmRlciB0byBiZSBleHBsaWNp dCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25lIG5lZWRzICcnbG8nJywgJydsZScnIG9yICcnbGEn JyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIuIFRoZSBzdWJqZWN0IG9mIHF1YW50aWZpZXJzIHdp bGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS10d28uIFdoYXQgaXMgdGhl IHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJydsZScnIHZhZ3VlLCBhbmQgbm90IGV4cGxpY2l0bHkg aW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVpciB2YWd1ZW5lc3MgZW5hYmxlcyB0aGVtIHRv IGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdpdGhvdXQgdGhlIHNwZWFrZXIgaGF2aW5nIHRvIHRo aW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBhcyBhIG1hc3Mgb3IgYSBncm91cCBvZiBpbmRp dmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJpZXMsIHRoZXJlIGFyZSB0aHJlZSBzZXQtZm9y bWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydpJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29u dmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsZSdp JydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4g VHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xhJ2knJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRp Y2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKA nS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9mIGluZGl2aWR1YWxz IG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0YWtlIGFueSBvZiB0aGUgcHJv cGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQuIEEg c2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2FsIGNvbnN0cnVjdCwgYW5kIGhh cyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNoaXAgYW5kIHNldCBpbmNsdXNp b24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBzZXQgb2YgdGhpbmdzLCBh bmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZDoKCl9fJyd0aXJ4dScnX18g 4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVjaWVzL2JyZWVkIHgyIHdpdGgg Y29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydpIHRpcnh1IGN1IGNtYWx1Jycgc2F5cyBub3RoaW5n IGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNtYWxsICh3aGljaCBpcywgYnkgdGhlIHdheSwg b2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQgc2F5IHRoYXQgdGhlIHNldCBvZiBiaWcgY2F0 cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFyZSBmZXcgb2YgdGhlbS4KCgoKTGFzdGx5LCB0 aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2VuZXJhbGl6aW5nICcnZ2FkcmknJzoKCl9fJydsbydl JydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1 bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBlIG9mICcnbG8ge3NlbGJyaX0nJy4KCl9fJydsZSdl JydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4g U3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVkIGFyY2hldHlwZSBvZiAnJ2xl IHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCgoK U28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hldHlwZT8gRm9yICcnbG8nZSB0 aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNhdCwgd2hpY2ggaGFzIGFsbCB0 aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJpZyBjYXRzLiBJdCB3b3VsZCBi ZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmluZyBhIHN0cmlwZWQgZnVyLCBz aW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQg b2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRoZSBsZW9wYXJkcyBhbmQgdGhl IGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5vdCBsaXZlIGluIEFz aWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dldmVyLCBpZiBzdWZmaWNpZW50 bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVpbmcgYWJsZSB0byBz cGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgxIGlzIGNhcGFibGUgb2YgZG9p bmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgonJ2xvJ2UgcmVtbmEgY3Uga2Fr bmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFuIGJlaW5nIGNhbiBzcGVha+KA nS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3Ig ZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3Jy ZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZl biB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZl IGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlv bmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29y eS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRoZSBhcmNoZXR5cGUgd2hpY2gg YmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGlsZSB0aGUgYXJjaGV0eXBlICcn bGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUgcmVtbmEnJy4KCgoKVGhlIGVs ZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdy4KCnx8IHxHZW5lcmlj fE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxvfGxvaXxsbydpfGxvJ2UKCkRl c2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFpfGxhJ2l8ZG9lcyBub3QgZXhp c3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3JkICcneG8nZScnIGZvciB0aGUg Z2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBkZWZpbml0aW9ucyBmb3IgZ2Fk cmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBjdXJyZW50IHNldCBvZiBydWxl cyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFzIHJlcGxhY2VkIHRoZSBvbGQg d2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydlJycgaXMgdXNlZCBhcyBhIGVs bGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVlbikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09o QTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6 IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBjYW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVh Y2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5n dScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1c2VkIGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3Ry YWN0aW9uKeKAnQoKJydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxh IC5sb2piYW4uIGN1IHRhdmxhIGxlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEg Zm8gbGEgLmxvamJhbi4gbG8gYmFuZ3UgcG9pIGxvIHByZW51IHBvaSBrZSdhIHRhdmxhIGZvIGxh IC5sb2piYW4uIGN1IHNlIGJhbmd1IGtlJ2EnJwoKCgpXaGF0IHdlIHNlZSBpcyB0aGF0IHRoZSBM b2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBFbmdsaXNoLiBUaGlzIGlzIHBy aW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5IGxvbmcgc3VtdGkgaXMgYmVp bmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4gdGhlIExvamJhbiB0ZXh0LCB3aGlsZSB0aGUg RW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBhbmQg4oCcdGhleeKA nSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4gV291bGRuJ3QgaXQgYmUgY2xldmVyIGlmIExvamJh biBzb21laG93IGhhZCBtZWNoYW5pc21zIGZvciBkb2luZyB0aGUgc2FtZT8KCgoKSXQgdHVybnMg b3V0IGl0IGRvZXMsIHdoYXQgYSBzdXJwcmlzZSEgTG9qYmFuIGhhcyBhIHJhbmdlIG9mIHdvcmRz IGNhbGxlZCAnJ3N1bWthJ2knJyBtZWFuaW5nIOKAnHN1bXRpLXJlcHJlc2VudGF0aXZlc+KAnS4g SW4gRW5nbGlzaCwgd2UgcmVmZXIgdG8gdGhlbSBhcyBwcm8tc3VtdGksIGJlY2F1c2UgdGhleSBh cmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgdGhlIEVuZ2xpc2ggcHJvbm91bnMsIGJ1dCB3aXRo IHN1bXRpIGluc3RlYWQgb2Ygbm91bnMuIEluIGZhY3QsIHlvdSBhbHJlYWR5IGtub3cgJyd0aScn LCAnJ2RvJycgYW5kICcnbWknJywgYnV0IHRoZXJlIGFyZSBtYW55IG1vcmUsIHNvIGxldCdzIGdl dCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGludG8gc3lzdGVtLiBXZSBjYW4g YmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gsIGFuZCB3aGF0IHlv dSd2ZSBhbHJlYWR5IGxlYXJuZWQ6CgoKCl9fJyd0aScnX18gLSBzdW1rYSdpOiDigJxpbW1lZGlh dGUg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBuZWFyIHRoZSBzcGVha2Vy 4oCdCgpfXycndGEnJ19fIC0gc3Vta2EnaTog4oCcbmVhcmJ5IOKAmGl0JzogcmVwcmVzZW50cyBh IHN1bXRpIHNvbWUgcGh5c2ljYWwgZGlzdGFuY2UgZnJvbSB0aGUgc3BlYWtlciBPUiBjbG9zZSB0 byB0aGUgbGlzdGVuZXLigJ0KCl9fJyd0dScnX18gLSBzdW1rYSdpOiDigJxkaXN0YW50IOKAmGl0 JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgZmFyIGZyb20gdGhlIHNwZWFrZXIgYW5k IHRoZSBsaXN0ZW5lci7igJ0KCgoKWW91IGNhbiBhZ2FpbiByZWNvZ25pemUgdGhlIOKAnGksIGEs IHXigJ0tc2VxdWVuY2Ugd2hpY2ggcG9wcyB1cCBvdmVyIGFuZCBvdmVyLiBTb21lIHRoaW5ncyBt aWdodCB0YWtlIHNvbWUgY2xlYXJpbmcgdXAsIHRob3VnaC4gRmlyc3RseSwgdGhlc2Ugc3VtdGkg Y2FuIHJlcHJlc2VudCBhbnl0aGluZyB3aGljaCBjYW4gYmUgc2FpZCB0byBvY2N1cHkgYSBwaHlz aWNhbCBzcGFjZS4gT2JqZWN0cywgY2VydGFpbmx5LiBJZGVhcywgY2VydGFpbmx5IG5vdC4gRXZl bnRzIGFyZSBhY2NlcHRlZCwgYnV0IG9ubHkgdG8gdGhlIGV4dGVudCB0aGV5IGFyZSByZXN0cmlj dGVkIHRvIGEgc3BlY2lmaWMgcGxhY2UgLSB0aGUgSmFzbWluIFJldm9sdXRpb24gY2Fubm90IGJl IHBvaW50ZWQgYXQsIGJ1dCBzb21lIGJhci1maWdodCBvciBhIGtpc3MgbWlnaHQuIFNlY29uZGx5 LCBub3RlIHRoYXQgdGhlIGRpc3RhbmNlIGlzIHJlbGF0aXZlIHRvIGRpZmZlcmVudCB0aGluZ3Mg Zm9yIHRoZSBkaWZmZXJlbnQgd29yZHM6ICcndHUnJyBvbmx5IGFwcGxpZXMgaWYgaXQncyBkaXN0 YW50IGZyb20gYm90aCB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLiBJbiBjYXNlcyB3aGVy ZSB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgZmFyIGFwYXJ0IGFuZCB0aGUgbGlzdGVuZXIg Y2Fubm90IHNlZSB0aGUgc3BlYWtlciB0YWxraW5nLCAnJ3RhJycgcmVmZXJzIHRvIHNvbWV0aGlu ZyBjbG9zZSB0byB0aGUgbGlzdGVuZXIuIFRoaXJkbHksIGl0J3MgYWxsIHJlbGF0aXZlIGFuZCBj b250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhyZWUgd29yZHMgYXJlIGFsbCBwcm9ibGVtYXRpYyBp biB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5jZSwgYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgdGhl IHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVua25vd24gdG8gZWFjaCBvdGhlciwgYW5kIGNoYW5n ZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVybW9yZSwgdGhlIGF1dGhvciBvZiBhIGJvb2sgY2Fu bm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQgZXhwcmVzcyB0aGUgcG9pbnRpbmcgaW4gdGhlIGJv b2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJpZXMgY2FsbGVkIEtPaEEzLCB0byB3aGljaCAnJ21p JycgYW5kICcnZG8nJyAoYW5kICcna28nJywgYnV0IEkgd29uJ3Qgd3JpdGUgdGhhdCBoZXJlKSBi ZWxvbmdzOgoKX18nJ21pJydfXyAtIHN1bWthJ2k6IFRoZSBzcGVha2VyKHMpLgoKX18nJ21pJ28n J19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIHRoZSBsaXN0ZW5l cihzKSAuCgpfXycnbWknYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihz KSBhbmQgb3RoZXJzLgoKX18nJ21hJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNw ZWFrZXIocyksIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKX18nJ2RvJydfXyAtIHN1bWth J2k6IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydkbydvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9m IHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKCgpUaGVzZSBzaXggc3Vta2EnaSBhcmUgbW9y ZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cgVmVubiBkaWFncmFtOgoKCgp7aW1nIGZpbGVJ ZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAoJydr bycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlzIG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg4oCc dGhlIG90aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3NpYmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0byBi ZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBzdGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUgYmVo YWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUsIHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0cmFu c2xhdGVkIGFzIGVpdGhlciAnJ21pJycsICcnbWknbycnLCAnJ21pJ2EnJyBvciAnJ21hJ2EnJywg d2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMgcmVhbGx5IGp1c3QgJydtaScnLiBBbGwgb2Yg dGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5kaXZpZHVhbCwgcmVw cmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkgJydtaSBnbGVraScn IHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byAnJ2RvIGdsZWtpJycg c2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtlciBBLCBhbmQgYXJlIGNvbnNpZGVyZWQgdGhlIHNh bWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGluIHRoZSAnJ2JyaWth J2knJyAocHJvLWJyaWRpKSBsZXNzb24uCgoKCkFsbCBvZiB0aGVzZSAnJ3N1bWthJ2knJyBhcmUg dmVyeSBjb250ZW50LXNwZWNpZmljLCBhbmQgY2Fubm90IGJlIHVzZWQsIGZvciBpbnN0YW5jZSwg dG8gaGVscCB1cyB3aXRoIHRoZSBzZW50ZW5jZSB3aGljaCB0aGlzIGxlc3NvbiBiZWdhbiB3aXRo LiBUaGUgZm9sbG93aW5nIHNlcmllcyBjYW4gaW4gcHJpbmNpcGxlIGJlIHVzZWQgdG8gcmVmZXIg dG8gYW55IHN1bXRpOgoKX18nJ3JpJydfXyAtIHN1bWthJ2k6IOKAnExhc3Qgc3VtdGkgbWVudGlv bmVk4oCdCgpfXycncmEnJ19fIC0gc3Vta2EnaTog4oCcQSByZWNlbnQsIGJ1dCBub3QgdGhlIGxh c3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vta2EnaTog4oCcQSBzdW10aSBt ZW50aW9uZWQgbG9uZyBhZ2/igJ0KCgoKVGhlc2Ugc3VtdGkgd2lsbCByZWZlciB0byBhbnkgdGVy bWluYXRlZCBzdW10aSBleGNlcHQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJy4gVGhlIHJlYXNvbiB0 aGF0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycgY2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5IHRoZXNl IHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kgdG8ganVzdCByZXBlYXQgYnkgdGhlbXNl bHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBhcmUgJyd0aScnLCAnJ3RhJycgYW5kICcn dHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFuZ2VkIHdoYXQgeW91IHBvaW50IGF0LCBh bmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdvcmQuIFRoZXkgd2lsbCBvbmx5IHJlZmVy IHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNhbm5vdCwgZm9yIGluc3RhbmNlLCBiZSB1 c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlmIHRoZSB3b3JkIGluIGlzIHRoYXQgYWJz dHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtlJ2EgcGVuZG8gbWkgY3UgZGppY2EgbG8gbnUgcmkg c2UgemRhbmknJyAtIGhlcmUgJydyaScnIGNhbm5vdCByZWZlciB0byB0aGUgYWJzdHJhdGlvbiwg c2luY2UgaXQgaXMgbm90IHRlcm1pbmF0ZWQsIG5vciB0byAnJ21pJycgb3IgJydrZSdhJycsIHNp bmNlIHRoZXkgYXJlIHN1bWthJ2ksIHNvIGl0IHJlZmVycyB0byAnJ2xlIHBlbmRvJycuCgonJ3Jh JycgYW5kICcncnUnJyBhcmUgY29udGV4dC1kZXBlbmRlbnQgaW4gd2hhdCB0aGV5IHJlZmVyIHRv LCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1lbnRpb25lZCBhYm92ZSwgYW5kICcncnUnJyBh bHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQgc3VtdGkgdGhhbiAnJ3JhJycsIHdoaWNoIGlz IGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3JpJycuCgoKCicncmknJyBhbmQgaXQncyBicm90 aGVycyBhcmUgcHJldHR5IHdlbGwgc3VpdGVkIGZvciBkZWFsaW5nIHdpdGggdGhlIG9yaWdpbmFs IHNlbnRlbmNlLiBUcnkgc2F5aW5nIGl0IHVzaW5nIHR3byBpbnN0YW5jZXMgb2YgJydzdW1rYSdp JychCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxv IG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIHJ1IGxvIGJhbmd1IHBvaSBydSBjdSBz ZSBiYW5ndSBrZSdhJycuICcncmknJyBpcyBub3QgY29ycmVjdCwgYmVjYXVzZSBpdCByZWZlcnMg dG8gJydsYSAubG9qYmFuLicnLiAnJ3JhJycgY291bGQgYmUgdXNlZCwgYnV0IGNvdWxkIGJlIG1p c3Rha2VubHkgYmUgdGhvdWdodCB0byByZWZlciB0byAnJ2xvIG51IHRhdmxhIGZvIGxhIC5sb2pi YW4uJycsIGJ1dCAnJ3J1JycgaXMgYXNzdW1lZCB0byByZWZlciB0byB0aGUgbW9zdCBkaXN0YW50 IHN1bXRpIC0gdGhlIG1vc3Qgb3V0ZXIgb25lLn5+CgoKCkxhc3RseSwgdGhlcmUgYSBzdW10Y2l0 YSB3aGljaCByZXByZXNlbnQgdXR0ZXJhbmNlczogU28gY2FsbGVkIHV0dGVyYW5jZSB2YXJpYWJs ZXMuIFRoZXkgbmVlZCBub3QgYmUgcmVzdHJpY3RlZCB0byBvbmUgc2VudGVuY2UgKGp1ZnJhKSwg YnV0IGNhbiBiZSBzZXZlcmFsIHNlbnRlbmNlcywgaWYgdGhlIGNvbnRleHQgYWxsb3dzIGl0OgoK X18nJ2RhJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIHBhc3Qgc2VudGVuY2UKCl9f JydkZSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlY2VudCBzZW50ZW5jZQoKX18nJ2RpJ3Un J19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUHJldmlvdXMgc2VudGVuY2UKCl9fJydkZWknJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogVGhpcyBzZW50ZW5jZQoKX18nJ2RpJ2UnJ19fIFV0dGVyYW5jZSB2 YXJpYWJsZTogTmV4dCBzZW50ZW5jZQoKX18nJ2RlJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTog TmVhciBmdXR1cmUgc2VudGVuY2UKCl9fJydkYSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJl bW90ZSBmdXR1cmUgc2VudGVuY2UKCl9fJydkbydpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVs bGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDigJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSBy ZXByZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10aSwgYW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tl biB3b3JkcyBvciB0aGUgbGV0dGVycywgbm90IHRvIHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoK CgpUaGVyZSBhcmUgbW9yZSBMb2piYW4gJydzdW1rYSdpJycsIGJ1dCBmb3Igbm93IHlvdSBwcm9i YWJseSBuZWVkIGEgYnJlYWsgZnJvbSB0aGVtLiBUaGUgbmV4dCBsZXNzb24gd2lsbCBiZSBvbiBk ZXJpdmVkIHN1bXRpLCBzdW10aSBtYWRlIGZyb20gb3RoZXIgc3VtdGkuCgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiBzaXh0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDM6IGRlcml2ZWQgc3Vt dGkpCgpZb3UgY2FuIHByb2JhYmx5IHNlZSB0aGF0IHRoZSBzdW10aSAnJ2xlIGJhbmd1IHBvaSBt aSBzZSBiYW5ndSBrZSdhJycgaXMgYSBsZXNzIHRoYW4gZWxlZ2FudCBleHByZXNzaW9uIGZvciDi gJxteSBsYW5ndWFnZeKAnS4gVGhpcyBpcyBiZWNhdXNlIGl0J3MgcmVhbGx5IGEgd29yayBhcm91 bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBjYW4gYmUgc2FpZCB0byBmaWxsIGludG8gdGhl IHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycuIFdlIGNhbid0IGNvbnZlcnQgdGhhdCB0byBh IHN1bXRpIHVzaW5nIGEgZ2Fkcmk6ICcnbGUgYmFuZ3Uge2t1fSBtaScnIGlzIHR3byBzdW10aSwg YmVjYXVzZSAnJ2Jhbmd1IG1pJycgaXMgYSBicmlkaSwgbm90IGEgc2VsYnJpLiBOZWl0aGVyIGNh biB3ZSBjb252ZXJ0IGl0IHVzaW5nICcnbGUgc3UndScnLCBiZWNhdXNlIHRoZSBzdSd1IGdpdmVz IHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFic3RyYWN0aW9uLCBhbmQgdGhlICcnbGUnJyB0aGVu IGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4gYWJzdHJhY3Rpb24gc3VtdGkgbWVhbmluZyBz b21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0aGluZyBpcyBteSBsYW5ndWFnZeKAnS4KCkVudGVy ICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3aGljaCBiaW5kcyBjb25zdHJ1Y3RzIChzdW10aSwg c3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBzZWxicmkuIFVzaW5nIGl0IGluIG9yZGluYXJ5IHNl bGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5lbGNpIGJlIGRvJycsIHRoZSAnJ2JlJycgZG9l cyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8gYSBzZWxicmkgdGhp cyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRob3V0IHRoZSBzdW10 aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJlIG1pJycgaXMgYSBjb3JyZWN0IHNvbHV0aW9u IHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lzZSwgeW91IGNhbiBhdHRhY2ggYSBzdW10Y2l0 YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVudCBvZiBoaXR0aW5n LCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCdLiBOb3RlIHRoYXQgdGhlIHByZXNlbmNlIG9yIGFi c2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBwYXJzZSBkaWZmZXJlbnRseTogV2l0aCB0aGUgZmEn b3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRhY2hlcyB0byAnJ251JycsIHdpdGhvdXQgdGhlIGZh J29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4aScnLiBTbyBpdCBkZWNpZGVzIHdoYXQgaXMg YmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhpdHRpbmcsIG9yIHRoZSBldmVudCBvZiBoaXR0aW5n IGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdoLCB0aGF0J3MganVz dCBhYm91dCB0aGUgc2FtZSB0aGluZy4KCgoKV2hhdCBpZiBJIHdhbnQgdG8gYXR0YWNoIHNldmVy YWwgc3VtdGkgdG8gYSBzZWxicmkgaW5zaWRlIGEgZ2Fkcmk/IOKAnFRoZSBnaXZlciBvZiB0aGUg YXBwbGUgdG8geW914oCdIGlzICcnbGUgZHVuZGEgYmUgbG8gcGxpc2UgYmUgZG8nJywgcmlnaHQ/ IE5vcGUuIFRoZSBzZWNvbmQgJydiZScnIGF0dGFjaGVzIHRvIHRoZSBhcHBsZSwgbWVhbmluZyAn J2xlIHBsaXNlIGJlIGRvJycgLSDigJxUaGUgYXBwbGUgb2YgdGhlIHN0cmFpbiBvZiB5b3XigJ0s IHdoaWNoIG1ha2VzIG5vIHNlbnNlLiBJbiBvcmRlciB0byBzdHJpbmcgc2V2ZXJhbCBzdW10aSB0 byBhIHNlbGJyaSwgdGhlIGFsbCB0aGUgb25lcyBmb2xsb3dpbmcgdGhlIGZpcnN0IG11c3QgYmUg Ym91bmQgd2l0aCAnJ2JlaScnLiBUaGUg4oCcYmluZGluZ+KAnSBjYW4gYmUgdGVybWluYXRlZCB3 aXRoICcnYmUnbycnIC0gb25lIGluc3RhbmNlIG9mICcnYmUnbycnIGZvciBlYWNoIHNlbGJyaSB3 aGljaCBoYXMgc3VtdGkgYm91bmQgYnkgJydiZScnLgoKVG8gbGlzdCB0aGVtOgoKX18nJ2JlJydf XyBiaW5kcyBzdW10aSBvciBzdW10Y2l0YSB0byBzZWxicmkKCl9fJydiZWknJ19fIGJpbmRzIGEg c2Vjb25kLCB0aGlyZCwgZm91cnRoIChlY3QpIHN1bXRpIG9yIHN1bXRjaXRhIHRvIGEgc2VsYnJp CgpfXycnYmUnbycnX18gZW5kcyBiaW5kaW5nIHRvIHNlbGJyaQoKCgpUaGVyZSBpcyBhbHNvIHdh eXMgdG8gbG9vc2VseSBhc3NvY2lhdGUgYSBzdW10aSB3aXRoIGFub3RoZXIuICcncGUnJyBhbmQg JyduZScnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIGFzc29jaWF0aW9uLiBB Y3R1YWxseSwgJydsZSBiYW5ndSBwZSBtaScnIGlzIGEgYmV0dGVyIHRyYW5zbGF0aW9uIG9mIOKA nG15IGxhbmd1YWdl4oCdLCBzaW5jZSB0aGlzIHBocmFzZSwgbGlrZSB0aGUgRW5nbGlzaCwgaXMg dmFndWUgYXMgdG8gaG93IHRoZSB0d28gYXJlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIG90aGVyLgoK JydwZScnIGFuZCAnJ25lJycgYXJlIHVzZWQgYXMgbG9vc2UgYXNzb2NpYXRpb24gb25seSwgbGlr ZSBzYXlpbmcg4oCcbXkgY2hhaXLigJ0gYWJvdXQgYSBjaGFpciB3aGljaCB5b3Ugc2l0IG9uLiBJ dCdzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5nIGRvIHRvIHdpdGggeW91LiBB IG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJsaXNoZWQgd2l0aCAnJ3BvJycs IHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5kIGJpbmRpbmcgdG8gYSBwZXJz b24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5b3UgYWN0dWFsbHkgb3duLiBU aGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycsIHdoaWNoIG1ha2VzIGEgc28t Y2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRpLCBtZWFuaW5nIHRoYXQgdGhl IGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4gU29tZSBleGFtcGxlcyBjb3Vs ZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUgY291bnRyeSI7IG5vbmUgb2Yg dGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlmIHlvdSBzYXcgb2ZmIHlvdXIg YXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUgdGhlcmVmb3JlIGluYWxpZW5h YmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScnIGlzIGFwcHJvcHJpYXRlLCB0 aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRoZSBvbmUgdG8gd2hpY2ggdGhl IHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4KCl9fJyduZScnX18gbm9uLXJl c3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIK Cl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2Np YXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hp Y2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5hbGllbmFibGUgcmVsYXRpdmUg cGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5IHVzZWZ1bCBjb25zdHJ1Y3Qg dG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScnLiB0aGlzIGlzIGVxdWl2YWxl bnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9JycuIEZvciBpbnN0YW5jZSAnJ2xl IG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1IHBlIG1pJycuIE9uZSBjb3Vs ZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlwdGlvbiBzdW10aSwgc2F5aW5n ICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywgPSAnJ2xlIGdlcmt1IHBlIGxl IHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhlIG1hbiBJJ20gZmxpcnRpbmcg d2l0aOKAnSwgYnV0IHRoYXQncyBub3QgdmVyeSBlYXN5IHRvIHJlYWQgKG9yIHRvIHVuZGVyc3Rh bmQgd2hlbiBzcG9rZW4pLCBhbmQgaXMgb2Z0ZW4gYmVpbmcgYXZvaWRlZC4KCgoKT25lIG5lZWQg YWxzbyB0byBsZWFybiAnJ3R1J2EnJywgc2luY2UgaXQgd2lsbCBtYWtlIGEgbG90IG9mIHNlbnRl bmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgdG8gYW5v dGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24gd2hpY2ggaGFzIHNvbWV0aGlu ZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9yIGV4YW1wbGUsIEkgY291bGQgc2F5ICcn bWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2UnJywgb3IgSSBjb3VsZCBsZXQgaXQgYmUg dXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFib3V0IHRoZSBhcHBsZSBJIGRlc2lyZSBh bmQganVzdCBzYXkgJydtaSBkamljYSB0dSdhIGxvIHBsaXNlJycuIE9uZSBhbHdheXMgaGFzIHRv IGd1ZXNzIHdoYXQgYWJzdHJhY3Rpb24gdGhlIHNwZWFrZXIgbWVhbnMgYnkgJyd0dSdhIFNVTVRJ JycsIHNvIGl0IHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBjb250ZXh0IG1ha2VzIGl0IGVhc3kg dG8gZ3Vlc3MuIEFub3RoZXIgZXhhbXBsZToKCl9fJydnYXNudScnX18g4oCceDEgZG9lcy9icmlu Z3MgYWJvdXQgeDIgKHZvbGl0aW9uIG5vdCBpbXBsaWVkKeKAnQoKJyd6YSdhIGRvIGdhc251IHR1 J2EgbG8gc2thbWknJyAtIOKAnEkgc2VlIHRoYXQgeW91IG1ha2UgdGhlIGNvbXB1dGVyIGRvIHNv bWV0aGluZ+KAnS4gT2ZmaWNpYWxseSwgJyd0dSdhIFNVTVRJJycgaXMgZXF1aXZhbGVudCB0byAn J2xlIHN1J3UgU1VNVEkgY28nZScnLiBWYWd1ZSwgYnV0IHVzZWZ1bC4gVGhlcmUgYXJlIHNpdHVh dGlvbnMgd2hlcmUgeW91IGNhbm5vdCB1c2UgJyd0dSdhJycsIGV2ZW4gdGhvdWdoIGl0IHdvdWxk IHNlZW0gc3VpdGFibGUuIFRoZXNlIHNpdHVhdGlvbnMgYXJlIHdoZW4gSSBkb24ndCB3YW50IHRo ZSByZXN1bHRpbmcgc3VtdGkgdG8gYmUgYW4gYWJzdHJhY3Rpb24sIGJ1dCBhIGNvbmNyZXRlIHN1 bXRpLiBJbiB0aGlzIGNhc2UsIG9uZSBjYW4gdXNlICcnem8nZSBwZScnLgoKX18nJ3R1J2EnJ19f IGNvbnZlcnQgc3VtdGkgdG8gdmFndWUgYWJzdHJhY3Rpb24gaW52b2x2aW5nIHRoZSBzdW10aS4g RXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZSBrZWkga3UnJwoKCgpGaW5hbGx5LCBv bmUga2luZCBvZiBzdW10aSBjYW4gYmUgdHVybmVkIGludG8gYW5vdGhlciBieSB0aGUgd29yZHMg b2YgdGhlIGNsYXNzIExBaEUuCgpfXycnbHUnYScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykv bWFzcy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVhbHMuCgpfXycnbHUnaScnX18gLSBDb252ZXJ0 IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gYSBzZXQuCgpfXycnbHUnbycnX18g LSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gbWFzcy4KCl9fJyd2 dSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBzZXF1 ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQuCgpUaGUgdXNlIG9mIHRoZXNlIHdvcmRzIGlz IHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0aGVtIGJlZm9yZSBhIHN1bXRpIG9mIGEgY2Vy dGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9mIGEgbmV3IHR5cGUuIE5vdGljZSwgdGhvdWdo LCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3VtdGksIGEgc2VxdWVuY2UgaGFzIGJlZW4gaW50 cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIChpdCBkb2Vzbid0IGhhdmUgaXRz IG93biBnYWRyaSwgZm9yIGluc3RhbmNlKSwgYnV0IGp1c3QgaW5jbHVkZWQgaGVyZSBmb3IgY29t cGxldGlvbi4KClRoZSBsYXN0IHR3byBtZW1iZXJzIG9mIExBaEUgZG8gbm90IGNvbnZlcnQgYmV0 d2VlbiB0eXBlcyBvZiBzdW10aSwgYnV0IGFsbG93cyB5b3UgdG8gc3BlYWsgb2YgYSBhIHN1bXRp IGJ5IG9ubHkgbWVudGlvbmluZyBzb21ldGhpbmcgd2hpY2ggcmVmZXJlbmNlcyB0byBpdDoKCklm IG9uZSBzdW10aSBBIHJlZmVycyB0byBhIHN1bXRpIEIsIGZvciBpbnN0YW5jZSBiZWNhdXNlIHN1 bXRpIEEgaXMgYSB0aXRsZSBvZiBhIGJvb2ssIG9yIGEgbmFtZSwgb3IgYSBzZW50ZW5jZSAod2hp Y2ggYWx3YXlzIHJlZmVyIHRvIHNvbWV0aGluZywgYXQgbGVhc3QgYSBicmlkaSksIOKAmCdsYSdl IFNVTVRJIEEnJyByZWZlcnMgdG8gc3VtdGkgQi4gRm9yIGluc3RhbmNlLCDigJgnbWkgbmVsY2kg bGEnZSBkaSd1JycgZm9yIOKAnEkgbGlrZSB3aGF0IHlvdSBqdXN0IHNhaWTigJ0gKG5vdCAnJ21p IG5lbGNpIGRpJ3UnJyB3aGljaCBqdXN0IG1lYW5zICJJIGxpa2UgeW91ciBwcmV2aW91cyBzZW50 ZW5jZSIpIG9yIOKAmCdsYSdlIGxlIGNtYWx1IG5vbHRydScnIGZvciB0aGUgYm9vayDigJxUaGUg TGl0dGxlIFByaW5jZeKAnSwgYW5kIG5vdCBzb21lIGxpdHRsZSBwcmluY2UgaGltc2VsZi4gVGhl IGNtYXZvIOKAmCdsdSdlJycgZG9lcyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg4oCYJ2x1J2UgU1VN VEknJyByZWZlcnMgdG8gYW4gb2JqZWN0IHdoaWNoIHJlZmVycyB0byB0aGUgc3VtdGkuIAoKX18n J2xhJ2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVkIHRvIGJ54oCdIC0gZXh0cmFjdHMgYSBz dW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVycyB0byBBLiAKCl9fJydsdSdlJydfXyAt IOKAnHRoZSB0aGluZyByZWZlcnJpbmcgdG/igJ0gLSBleHRyYWN0cyBhIHN1bXRpIEIgZnJvbSBh IHN1bXRpIEEsIHdoZW4gQiByZWZlcnMgdG8gQS4KCgoKCgohISFFbmQgb2YgcGFydCBvbmUKCkR1 ZSB0byB0aGUgaW1wcmFjdGljYWxseSBsYXJnZSBzaXplIG9mIHRoZXNlIGxlc3NvbnMsIHRoZSBz ZWNvbmQgYW5kIHRoaXJkIGluc3RhbGxtZW50IGNhbiBiZSBmb3VuZCBvbiBwYWdlcyBkZWRpY2F0 ZWQgdG8gKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRoZSBmb3JtZXIpKSBhbmQgKCh3YXZlbGVz c29uc2NvbnRpbnVlZHAzfHRoZSBsYXR0ZXIpKS4gTm8gd29ycmllcywgdGhvdWdoLCBjbGlja2lu ZyBvbiAidGhlIGZvcm1lciIgb3IgInRoZSBsYXR0ZXIiIHdpbGwgdGFrZSB5b3UgdGhlcmUgcGFp bmxlc3NseS4KCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6 Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=