Received: from localhost ([::1]:34433 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UcIHw-0002gq-BL; Tue, 14 May 2013 09:41:20 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:33626 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UcIHm-0002gj-AK for wikineurotic@lojban.org; Tue, 14 May 2013 09:41:17 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 14 May 2013 09:41:10 -0700 From: "Apache" Date: Tue, 14 May 2013 09:41:10 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by daeldir at 18:40 CEST Comment: Un français proncera ouhi « u,i », ou-hi semble plus produire l'effet voulu (« u'i ») You can view the page by following this link: [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7?= =?utf-8?q?ais_changed_by_daeldir?= X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDE4OjQwIENFU1QKQ29tbWVudDogVW4gZnJhbsOnYWlzIHByb25jZXJhIG91aGkgwqvCoHUs acKgwrssIG91LWhpIHNlbWJsZSBwbHVzIHByb2R1aXJlIGwnZWZmZXQgdm91bHUgKMKrwqB1J2nC oMK7KQoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0 cDovL2xvamJhbi5vcmcvdGlraS9sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMlQTdh aXMKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBm b2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL2xvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0 b3J5LnBocD9wYWdlPWxlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcyZjb21w YXJlPTEmb2xkdmVyPTMwJm5ld3Zlcj0zMQoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lv biBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0 ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rCkBAIC1MaW5lczogNjYtNzAgY2hhbmdlZCB0byArTGluZXM6IDY2LTcwIEBA CistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rCkxlIGxvamJhbiBuZSByZXF1acOocmUgYXVjdW5lIHBvbmN0dWF0aW9uLCBtYWlzIGNlcnRh aW4gY2FyYWN0w6hyZXMsIGhhYml0dWVsbGVtZW50IHV0aWxpc8OpcyBjb21tZSBwb25jdHVhdGlv biBkYW5zIGQnYXV0cmUgbGFuZ3VlcywgYWZmZWN0ZW50IGxhIG1hbmnDqHJlIGRvbnQgbGUgbG9q YmFuIGVzdCBwcm9ub25jw6kuCgotIExlIHNldWwgZGUgY2VzIGNhcmFjdHJlcyBxdWkgc29pdCBv YmxpZ2F0b2lyZSBlbiBsb2piYW4gZXN0IGwnYXBvc3Ryb3BoZS4gRW4gZmFpdCwgbCdhcG9zdHJv cGhlIGVzdCBjb25zaWRyZSBjb21tZSB1bmUgbGV0dHJlIGR1IGxvamJhbi4gVW5lIGFwb3N0cm9w aGUgc3BhcmUgZGV1eCB2b3llbGxlcywgZW1wY2hhbnQgY2VsbGVzLWNpIGQndHJlIHByb25vbmNl cyBlbnNlbWJsZSBjb21tZSB1bmUgX19kaXBodG9uZ3VlX18uIEVsbGUgZXN0IGVsbGUgbW1lIHBy b25vbmNlIGNvbW1lIHVuIGguIFBhciBleGVtcGxlLCAnJ3VpJycgZXN0IG5vcm1hbGVtZW50IHBy b25vbmMgY29tbWUgX19vdWlfXywgbWFpcyAnJ3UnaScnIGVzdCBwcm9ub25jIGNvbW1lIF9fb3Vo aV9fLgorIExlIHNldWwgZGUgY2VzIGNhcmFjdHJlcyBxdWkgc29pdCBvYmxpZ2F0b2lyZSBlbiBs b2piYW4gZXN0IGwnYXBvc3Ryb3BoZS4gRW4gZmFpdCwgbCdhcG9zdHJvcGhlIGVzdCBjb25zaWRy ZSBjb21tZSB1bmUgbGV0dHJlIGR1IGxvamJhbi4gVW5lIGFwb3N0cm9waGUgc3BhcmUgZGV1eCB2 b3llbGxlcywgZW1wY2hhbnQgY2VsbGVzLWNpIGQndHJlIHByb25vbmNlcyBlbnNlbWJsZSBjb21t ZSB1bmUgX19kaXBodG9uZ3VlX18uIEVsbGUgZXN0IGVsbGUgbW1lIHByb25vbmNlIGNvbW1lIHVu IGguIFBhciBleGVtcGxlLCAnJ3VpJycgZXN0IG5vcm1hbGVtZW50IHByb25vbmMgY29tbWUgX19v dWlfXywgbWFpcyAnJ3UnaScnIGVzdCBwcm9ub25jIGNvbW1lIF9fb3UtaGlfXy4KClVuIHBvaW50 IGVzdCB1bmUgY291cnRlIHBhdXNlIMOpdml0YW50IMOgIGRldXggbW90cyBkZSBzZSBjb25mb25k cmUgbCd1biBkYW5zIGwnYXV0cmUuIExlcyByw6hnbGVzIGR1IGxvamJhbiByZW5kZW50IGZhY2ls ZSBsYSBmdXNpb24gZGUgZGV1eCBtb3RzIHF1YW5kIGxlIHNlY29uZCBjb21tZW5jZSBwYXIgdW5l IHZveWVsbGUsIGV0IGRvbmMsIHBhciBjb252ZW50aW9uLCBjaGFxdWUgbW90IGNvbW1lbsOnYW50 IHBhciB1bmUgdm95ZWxsZSBlc3QgcHLDqWPDqWTDqSBwYXIgdW4gcG9pbnQuCgoKCgoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUg bmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKe0JPWCh0aXRsZT0iVHJhdmFpbCBl biBjb3VycyIpfQoKQ2V0dGUgcGFnZSBlc3QgdW5lIHRyYWR1Y3Rpb24gZW4gY291cnMgZGUgKCh3 YXZlbGVzc29uc2NvbnRpbnVlZCkpIGVuIGZyYW7Dp2Fpcy4gTGEgbWFqZXVyZSBwYXJ0aWUgZGUg bGEgcGFnZSBlc3QgZW5jb3JlIGVuIGFuZ2xhaXMuIEF1IGZ1ciBldCDDoCBtZXN1cmUgZGUgbGEg dHJhZHVjdGlvbiwgY2V0dGUgbm90ZSBzZXJhIG1pc2Ugw6Agam91ciBwb3VyIGluZGlxdWVyIGwn w6l0YXQgZCdhdmFuY2VtZW50IGRlcyBsZcOnb25zLiAKCgoKw4l0YXQgYWN0dWVswqA6IExlw6dv biB6w6lybyB0cmFkdWl0ZSBsaXR0w6lyYWxlbWVudC4gTsOpY2Vzc2l0ZSB1bmUgYWRhcHRhdGlv biBhdSBmcmFuw6dhaXMsIHB1aXMgdW5lIHZhbGlkYXRpb24gcGFyIGRlcyBsb2piYW5pc3RlcyBj b25maXJtw6lzLi4KCntCT1h9IAoKCgohTGVzIGxlw6dvbnMgV2F2ZSBjb250aW51w6llc8KgOgoK ISEhUsOpZGlnw6llcyBwYXIgbGEga2xha3UsIGF2ZWMgbCdhaWRlIGRlIGxvamJhbmlzdGVzIHZh cmnDqXMuIEJhc8OpZSBzdXIgbGUgdHJhdmFpbCBkZSBsYSAua3JpYmFjci4gUHJpbnRlbXBzIDIw MTMuCgpUcmFkdWl0ZXMgZGUgbCdhbmdsYWlzIHZlcnMgbGUgZnJhbsOnYWlzIHBhciBEYWVsZGly LgoKCgohIUxlw6dvbnMgZGUgbG9qYmFuIOKAkyBsZcOnb24gesOpcm86IGF2YW50IHByb3BvcwoK Q2VzIGxlw6dvbnMgc29udCB1bmUgdGVudGF0aXZlIGRlIGTDqXZlbG9wcGVyIGxlcyDCq8KgTGXD p29ucyBkZSBHb29nbGUgV2F2ZcKgwrssIHVuIGV4Y2VsbGVudCBkaWRhY3RpY2llbCBjb25zYWNy w6kgYXUgbG9qYmFuLCDDqWNyaXQgcGFyIGtyaWJhY3IsIHhhbGJvLCBldCBkJ2F1dHJlcywgcXVp LCBow6lsYXMsIG5lIGNvdXZyYWl0IHF1ZSBsZXMgcXVhdHJlcyBwcmVtaWVycyBjaGFwaXRyZXMg ZHUgcHLDqXNlbnQgZGlkYWN0aWNpZWwuIElsIHRyYWl0ZSBkZXMgcsOoZ2xlcyBsZXMgcGx1cyBy w6ljZW50ZXMgZHUgbG9qYmFuLCBxdWkgbmUgc29udCBwYXMgY291dmVydGVzIHBhciBkZSBwbHVz IGFuY2llbnMgY291cnMgdGVscyBxdWUgwqvCoFdoYXQgaXMgTG9qYmFuP8KgwrssIGV0IMKrwqBM b2piYW4gZm9yIEJlZ2lubmVyc8KgwrsuCgoKClNpIGxlIGxvamJhbiBlc3QgdG90YWxlbWVudCBu b3V2ZWF1IHBvdXIgdm91cywgamUgdm91cyByZWNvbW1hbmRlIGQnw6ljb3V0ZXIgdG91dCBsZXMg ZW5yZWdpc3RyZW1lbnQgZGUgbG9qYmFuIHBhcmzDqSBxdWUgdm91cyBwb3VycmV6IHRyb3V2ZXIs IHRhbnQgYXZhbnQgcXVlIHBlbmRhbnQgbGEgbGVjdHVyZSBkZSBjZSBkaWRhY3RpY2llbCwgYWZp biBkZSB2b3VzIGZhbWlsaWFyaXNlciBhdmVjIGxlcyBzb25zIGV0IGxlcyBtb3RzIGR1IGxhbmdh Z2UuIERlIHBsdXMsIGVzc2F5ZXogZGUgcHJvbm9uY2VyIGNlIHF1ZSB2b3VzIGxpc2V6IGF2ZWMg bCdhY2NlbnQgbG9qYmFuIHNpIHZvdXMgbGUgcG91dmV6LiBDZWNpIHZvdXMgYWlkZXJhIMOgIHBy b25vbmNlciBsZSBsb2piYW4uIAoKCgpFbiBzdWl2YW50IGNlIGRpZGFjdGljaWVsLCBpbCBlc3Qg Y29uc2VpbGzDqSBkZSBwcmVuZHJlIGRlcyBwYXVzZXMgZW50cmUgbGVzIGxlw6dvbnMgYWZpbiBk ZSBkaWfDqXJlciBjZSBxdWUgdm91cyBhdmV6IGFwcHJpcy4gSidhaSBlc3NhecOpIGRlIGNvbnN0 cnVpcmUgY2VzIGxlw6dvbnMgZHUgc2ltcGxlIGF1IGNvbXBsZXhlLCBldCBkJ2V4Y2x1cmUgdG91 dCBtb3Qgb3UgY29uY2VwdCBxdWkgbidhIHBhcyDDqXTDqSBleHBsaXF1w6kgZGFucyBsZXMgbGXD p29uIHByw6ljw6lkZW50ZS4gVW5lIGZvaXMgZXhwbGlxdcOpcywgaWxzIHNvbnQgdXRpbGlzw6lz IGxpYnJlbWVudCB0b3V0IGF1IGxvbmcgZHUgcmVzdGUgZHUgZGlkYWN0aWNpZWwuIEonZXhob3J0 ZSBsZSBsZWN0ZXVyIMOgIG5lIHBhcyBmYWlyZSBsJ2ltcGFzc2Ugc3VyIHVuIGNvbnRlbnUgaW5j b21wcmlzwqA6IHNpIHZvdXMgYXZleiB1bmUgcXVlc3Rpb24gb3UgbifDqnRlcyBwYXMgY2VydGFp bnMgZCd1bmUgY2hvc2UsIG4nYXlleiBwYXMgZGUgY29tcGxleGUgw6AgZGVtYW5kZXIgw6AgbGEg Y29tbXVuYXV0w6kgbG9qYmFuLCBxdWkgcGV1dCDDqnRyZSB0cm91dsOpZSBzdXIgI2xvamJhbiBz dXIgbGUgcsOpc2VhdSBJUkMgRnJlZW5vZGUgKGVuIGFuZ2xhaXMpLCBvdSBzdXIgbGEgW2h0dHA6 Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby9sb2piYW4tZnJ8bWFpbGluZy1saXN0 IGZyYW5jb3Bob25lXS4gRWxsZSBzZXJhIGhldXJldXNlIGQnYWlkZXIuCgoKCkRhbnMgY2UgZGlk YWN0aWNpZWwsIGxlIHRleHRlIGVuIGxvamJhbiBlc3Qgw6ljcml0IGVuICcnaXRhbGlxdWVzJycu IExlcyBtb3RzIGVtcHJ1bnTDqXMgZHUgbG9qYmFuIGF1IGZyYW7Dp2FpcyBuZSBzb250IHRvdXRl Zm9pcyBwYXMgc291bWlzIMOgIGNldHRlIGVtcGhhc2UuIExlcyByw6lwb25zZXMgZGVzIGV4ZXJj aWNlcyBzb250IGFmZmljaMOpZXMgY29tbWUgdW5lIGJhcnJlIGdyaXNlLiBTw6lsZWN0aW9ubmV6 IGNldHRlIGJhcnJlIHBvdXIgdm9pciBsZSB0ZXh0ZS4KCgoKRW5maW4sIGonYWkgYXV0YW50IHF1 ZSBwb3NzaWJsZSBlc3NhecOpIGQndXRpbGlzZXIgbGVzIG1vdHMgZHUgbG9qYmFuIHBvdXIgZMOp c2lnbmVyIGxlcyBjb25zdHJ1Y3Rpb25zIGdyYW1tYXRpY2FsZXPCoOKAk8KgJydzdW1rYSdpJycg YXUgbGlldSBkZSBwcm8tc3VtdGksICcnc3VtdGNpdGEnJyBhdSBsaWV1IGRlIG1vZGFsLCBldCAn J2p1ZnJhJycgYXUgbGlldSBkJ8Opbm9uY8OpwqDigJMgcGFyY2UgcXVlIGonYWkgbCdpbXByZXNz aW9uIHF1ZSBsZXMgbW90cyBmcmFuw6dhaXMgc29udCBzb3V2ZW50IHNvaXQgYXJiaXRyYWlyZXMg 4oCTwqBqdXN0ZSBkZXMgbW90cyBlbiBwbHVzIMOgIGFwcHJlbmRyZcKg4oCTLCBzb2l0IHRyb21w ZXVycyDigJPCoGRvbmMgcGlyZSBxdSdpbnV0aWxlcy4gRGFucyBsZXMgZGV1eCBjYXMsIHB1aXNx dWUgY2VzIG1vdHMgc29udCBkZSB0b3V0ZSBmYcOnb24gc3DDqWNpZmlxdWVzIMOgIGwnYXBwcmVu dGlzc2FnZSBkdSBsb2piYW4sIGlsIG4nb250IHBhcyBkZSByYWlzb24gZCdleGlzdGVyIGNvbW1l IGRlcyBtb3RzIGZyYW7Dp2FpcyBkaXN0aW5jdC4KCgoKISEhUHLDqWZhY2UuIFNvbnMKCkxhIHBy ZW1pw6hyZSBjaG9zZSDDoCBmYWlyZSBxdWFuZCB2b3VzIGFwcHJlbmV6IHVuZSBsYW5ndWUgw6l0 cmFuZ8OocmUgZXN0IGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVzIHNvbnMgZHUgbGFuZ2Fn ZSBldCBsZXVyIMOpY3JpdHVyZS4gSWwgZW4gdmEgZGUgbcOqbWUgcG91ciBsZSBsb2piYW4uIEhl dXJldXNlbWVudCwgbGVzIHNvbnMgZHUgbG9qYmFuIChfX3Bob27DqG1lc19fKSBzb250IHBsdXTD tHQgc2ltcGxlcy4KCgoKISEhIVZveWVsbGVzCgpJbCB5IGEgc2l4IHZveWVsbGVzIGVuIGxvamJh bi4KCgoKfHwnJ2EnJyB8Y29tbWUgZGFucyDCq8KgcF9fYV9fcF9fYV9fwqDCuwoKJydlJycgfGNv bW1lIGRhbnMgwqsgYl9fZV9fcmdfX8OoX19yZSDCuwoKJydpJycgfGNvbW1lIGRhbnMgwqvCoG1h Y2hfX2lfX25lwqDCuwoKJydvJycgfGNvbW1lIGRhbnMgwqsgX19vX19tw6lnYSDCuywgwqvCoF9f YXVfX3RfX29fX21vYmlsZcKgwrsKCicndScnIHxjb21tZSBkYW5zIMKrwqBfX291X1/CoMK7LCDC q8KgbF9fb3VfX3DCoMK7CgonJ3knJyB8Y29tbWUgZGFucyDCqyBtYXRfX2VfX2xvdCDCu3x8CgoK CkxhIHNpeGnDqG1lIHZveWVsbGUsICcneScnLCBlc3QgYXBwZWzDqWUgdW4gX19zY2h3YV9fIGVu IGxpbmd1aXN0aXF1ZS4gQydlc3QgdW4gwqvCoGXCoMK7IHRyw6hzIGzDqWdlciwgbm9uIGFjY2Vu dHXDqSwganVzdGUgbWlsaWV1IGVudHJlIGxlIMKrwqBlwqDCuyBtYXJzZWlsbGFpcyAowqvCoG1h dF9fZXVfX2xvdMKgwrspIGV0IGxlIMKrwqBlwqDCuyBtdWV0IHBhcmlzaWVuICjCqyBtYXQnbG90 IMK7KS4KCgoKRGV1eCB2b3llbGxlcyBlbnNlbWJsZSBzb250IHByb25vbmPDqWVzIGNvbW1lIHVu IHNvbiAoX19kaXBodG9uZ3VlX18pLiBQYXIgZXhlbXBsZcKgOgoKCgp8fCcnYWknJyB8Y29tbWUg ZGFucyDCq8KgY2FuX19haV9fbGxlwqDCuwoKJydhdScnIHxjb21tZSBkYW5zIMKrwqBjX19hb3Vf X3RjaG91Y8KgwrsKCicnZWknJyB8Y29tbWUgZGFucyDCq8KgYWJfX2VpX19sbGXCoMK7CgonJ29p JycgfGNvbW1lIGRhbnMgwqvCoGdfX295X1/CoMK7CgonJ2lhJycgfGNvbW1lIGRhbnMgwqvCoHBf X2lhX19ub8KgwrsKCicnaWUnJyB8Y29tbWUgZGFucyDCq8KgaF9faWVfX3LCoMK7CgonJ2l1Jycg fGNvbW1lIGRhbnMgwqvCoGNhX19pbGxvdV9fwqDCuwoKJyd1YScnIHxjb21tZSBkYW5zIMKrwqBx X191b2lfX8KgwrsKCicndWUnJyB8Y29tbWUgZGFucyDCq8KgYnJfX291ZV9fdHRlwqDCuwoKJyd1 bycnIHxjb21tZSBkYW5zIMKrwqBkcl9fb3VvX190wqDCuwoKJyd1aScnIHxjb21tZSBkYW5zIMKr wqBfX291aV9fwqDCuyB8fAoKCgpMZXMgdm95ZWxsZXMgZG91YmzDqWVzIHNvbnQgcmFyZXMuIExl cyBzZXVscyBleGVtcGxlcyBzb250ICcnaWknJywgcHJvbm9uY8OpIGNvbW1lIGRhbnMgwqvCoGZh X19pbGxpX1/CoMK7LCBldCAnJ3V1JycsIHByb25vbmPDqSBjb21tZSBkYW5zIMKrwqBfX091X19o X19vdV9fwqAhwqDCuyAocXVhbmQgb24gYXBwZWxsZSBxdWVscXUndW4sIG1haXMgcGFzIGNvbW1l IGRhbnMgwqvCoEhvdWhvdcKgwrvCoDogZGFucyBsZSBwcmVtaWVyIGV4ZW1wbGUsIGxlICcnaCcn IGVzdCBtdWV0LCBkYW5zIGxlIGRldXhpw6htZSwgbGUgJydoJycgZXN0IGFzcGlyw6kg4oCTIGNl IHF1aSBzZSB0cmFuc2NyaXJhaXQgZW4gbG9qYmFuICcndSd1JycpCgoKCiEhISFDb25zb25uZXMK CkxhIHBsdXBhcnQgZGVzIGNvbnNvbm5lcyBzb250IGxlcyBtw6ptZXMgcXUnZW4gZnJhbsOnYWlz LCDDoCBxdWVscXVlIGV4Y2VwdGlvbnMgcHLDqnTCoDoKCgoKfHwnJ2cnJyB8c2UgcHJvbm9uY2Ug dG91am91cnMgY29tbWUgZGFucyDCq8KgX19nX1/DonRlYXXCoMK7LCBqYW1haXMgY29tbWUgZGFu cyDCq8KgX19nX19lbm91eMKgwrsgKG9uIHV0aWxpc2UgYWxvcnMgbGUgwqvCoCcnaicnwqDCuykK CicncycnIHxzZSBwcm9ub25jZSB0b3Vqb3VycyBjb21tZSBkYW5zIMKrwqBfX3NfX2VycGVudMKg wrssIGphbWFpcyBjb21tZSBkYW5zIMKrwqByb19fc19fZcKgwrsgKG9uIHV0aWxpc2UgYWxvcnMg bGUgwqsgJyd6JycgwrspCgonJ2MnJyB8c2UgcHJvbm9uY2UgJydjaCcnLCBjb21tZSBkYW5zIMKr wqBfX2NoX19hdGVhdcKgwrsKCicneCcnIHxzZSBwcm9ub25jZSBjb21tZSBkYW5zIGwnYWxsZW1h bmQgwqvCoEJhX19jaF9fwqDCuywgbCdlc3BhZ25vbCDCq8KgX19KX19vc2XCoMK7IG91IGwnYXJh YmUgwqvCoF9fS2hfX2FsZWTCoMK7CgonJ3InJyB8YWNjZXB0ZSBiZWF1Y291cCBkZSBwcm9ub25j aWF0aW9ucyAow6AgbGEgZnJhbsOnYWlzZSwgw6AgbCdhbmdsYWlzZeKApikgbWFpcyBsYSBwcm9u b25jaWF0aW9uIGl0YWxpZW5uZSAoJydyJycgcm91bMOpKSBlc3QgcHLDqWbDqXLDqWV8fAoKCgpM ZSBsb2piYW4gbid1dGlsaXNlIHBhcyBsZXMgY2FyYWN0w6hyZXMgwqvCoEjCoMK7LCDCq8KgUcKg wrsgb3UgwqvCoFfCoMK7LCBldCBpbCBuJ3kgYSBwYXMgZGUgY2FyYWN0w6hyZXMgYWNjZW50dcOp cyBlbiBsb2piYW4uCgoKCiEhISFDYXJhY3TDqHJlcyBzcMOpY2lhdXgKCgoKTGUgbG9qYmFuIG5l IHJlcXVpw6hyZSBhdWN1bmUgcG9uY3R1YXRpb24sIG1haXMgY2VydGFpbiBjYXJhY3TDqHJlcywg aGFiaXR1ZWxsZW1lbnQgdXRpbGlzw6lzIGNvbW1lIHBvbmN0dWF0aW9uIGRhbnMgZCdhdXRyZSBs YW5ndWVzLCBhZmZlY3RlbnQgbGEgbWFuacOocmUgZG9udCBsZSBsb2piYW4gZXN0IHByb25vbmPD qS4KCgoKTGUgc2V1bCBkZSBjZXMgY2FyYWN0w6hyZXMgcXVpIHNvaXQgb2JsaWdhdG9pcmUgZW4g bG9qYmFuIGVzdCBsJ2Fwb3N0cm9waGUuIEVuIGZhaXQsIGwnYXBvc3Ryb3BoZSBlc3QgY29uc2lk w6lyw6llIGNvbW1lIHVuZSBsZXR0cmUgZHUgbG9qYmFuLiBVbmUgYXBvc3Ryb3BoZSBzw6lwYXJl IGRldXggdm95ZWxsZXMsIGVtcMOqY2hhbnQgY2VsbGVzLWNpIGQnw6p0cmUgcHJvbm9uY8OpZXMg ZW5zZW1ibGUgY29tbWUgdW5lIF9fZGlwaHRvbmd1ZV9fLiBFbGxlIGVzdCBlbGxlIG3Dqm1lIHBy b25vbmPDqWUgY29tbWUgdW4gwqvCoGjCoMK7LiBQYXIgZXhlbXBsZSwgwqvCoCcndWknJ8Kgwrsg ZXN0IG5vcm1hbGVtZW50IHByb25vbmPDqSBjb21tZSDCq8KgX19vdWlfX8KgwrssIG1haXMgwqvC oCcndSdpJyfCoMK7IGVzdCBwcm9ub25jw6kgY29tbWUgwqvCoF9fb3UtaGlfX8KgwrsuCgoKClVu IHBvaW50IGVzdCB1bmUgY291cnRlIHBhdXNlIMOpdml0YW50IMOgIGRldXggbW90cyBkZSBzZSBj b25mb25kcmUgbCd1biBkYW5zIGwnYXV0cmUuIExlcyByw6hnbGVzIGR1IGxvamJhbiByZW5kZW50 IGZhY2lsZSBsYSBmdXNpb24gZGUgZGV1eCBtb3RzIHF1YW5kIGxlIHNlY29uZCBjb21tZW5jZSBw YXIgdW5lIHZveWVsbGUsIGV0IGRvbmMsIHBhciBjb252ZW50aW9uLCBjaGFxdWUgbW90IGNvbW1l bsOnYW50IHBhciB1bmUgdm95ZWxsZSBlc3QgcHLDqWPDqWTDqSBwYXIgdW4gcG9pbnQuCgoKCkxl cyB2aXJndWxlcyBzb250IHJhcmUgZW4gbG9qYmFuLCBtYWlzIHBldXZlbnQgw6p0cmUgdXRpbGlz w6llcyBwb3VyIGVtcMOqY2hlciBkZXV4IHZveWVsbGVzIGRlIHNlIGZvbmRyZSBsJ3VuZSBkYW5z IGwnYXV0cmUgcXVhbmQgdm91cyBuZSB2b3VsZXogcGFzIHV0aWxpc2VyIGQnYXBvc3Ryb3BoZSwg Y2UgcXVpIGFqb3V0ZXJhaXMgdW4gwqvCoGjCoMK7IGVudHJlIGVsbGVzLiBBdWN1biBtb3QgbG9q YmFuIG4nYSBkZSB2aXJndWxlLCBtYWlzIGVsbGUgZXN0IHBhcmZvaXMgdXRpbGlzw6llIGRhbnMg bCfDqWNyaXR1cmUgZGVzIG5vbXMgZCdhdXRyZXMgbGFuZ3Vlcy4gUGFyIGV4ZW1wbGUsIMKrwqAn J3BpLEVSLicnwqDCuyAoUGllcnJlKSwgYXUgbGlldSBkZSDCq8KgJydwaWVyLicnwqDCuyAoUC15 ZXJyKSwgwqvCoCcncGkuRVIuJyfCoMK7IChQaTsgRWhyKSwgb3UgwqvCoCcncGknRVInJ8Kgwrsg KFBpaGVycikuCgoKCkxlcyBsZXR0cmVzIGNhcGl0YWxlcyBuZSBzb250IG5vcm1hbGVtZW50IHBh cyB1dGlsaXPDqWVzIGVuIGxvamJhbi4gTm91cyBsZXMgdXRpbGlzb25zIGRhbnMgZGVzIG1vdHMg bm9uIGxvamJhbiAoY29tbWUgwqvCoFBpZXJyZcKgwrspLCBxdWFuZCBsJ2FjY2VudCB0b25pcXVl IGQndW4gbW90IGVzdCBkaWZmw6lyZW50IGRlIGNlbHVpIGRlIGxhIG5vcm1lIGxvamJhbi4gTGEg bm9ybWUgY29uc2lzdGUgw6AgbWV0dHJlIHVuIGFjY2VudCB0b25pcXVlIHN1ciBsJ2F2YW50IGRl cm5pw6hyZSBzeWxsYWJlLiBQYXIgZXhlbXBsZSwgJydrdWptaWtjZScnIChpbmZpcm1pw6hyZSks IGVzdCDCq8Kga3VqX19NSUtfX2NlwqDCuywgZXQgbm9uIHBhcyDCq8KgX19LVUpfX21pa2NlwqDC uy4gTGUgbm9tIMKrwqBKdWxpZXR0ZcKgwrsgcyfDqWNyaXJhaXQgwqvCoCcnanVMSUVULicnwqDC uyBzaSBwcm9ub25jw6kgY29tbWUgZW4gZnJhbsOnYWlzLCBtYWlzIMKrwqAnJ0RKVWxpLGV0Licn wqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4gYW5nbGFpcy4KCiEhISFBbHBoYWJldAoKCgpEYW5z IGxhIHBsdXBhcnQgZGVzIG1hbnVlbHMsIGxvcnMgZGUgbCdhcHByZW50aXNzYWdlIGQndW5lIGxh bmd1ZSwgdm91cyBhcHByZW5leiBsJ2FscGhhYmV0IGR1IGxhbmdhZ2UsIGV0IHNhIHByb25vbmNp YXRpb24uIExlcyBsZXR0cmVzICgnJ2xlcmZ1JycpIMOpdGFudCBwbHVzIGltcG9ydGFudGVzIGVu IGxvamJhbiBxdSfDoCBsJ2FjY291dHVtw6llLCBhdXRhbnQgYXBwcmVuZHJlIGxldXIgbm9tcyBy YXBpZGVtZW50LgoKCgpMZXMgY29uc29ubmVzIHNvbnQgc2ltcGxlc8KgOiBsZSBub20gZCd1bmUg Y29uc29ubmUgZXN0IGNldHRlIGxldHRyZSwgc3VpdmllIGRlIMKrwqB5wqDCuy4gQWluc2ksIGxl cyBjb25zb25uZXMgZHUgbG9qYmFuLCDCq8KgYsKgwrssIMKrwqBjwqDCuywgwqvCoGTCoMK7LCDC q8KgZsKgwrssIMKrwqBnwqDCu+KApiBzb250IGFwcGVsw6llcyDCq8KgJydieS4nJ8KgwrssIMKr wqAnJ2N5LicnwqDCuywgwqvCoCcnZHkuJyfCoMK7LCDCq8KgJydmeS4nJ8KgwrssIMKrwqAnJ2d5 LicnwqDCu+KApiBlbiBsb2piYW4gKGVuIHV0aWxpc2FudCB1biBwb2ludCwgY29tbWUgZMOpY3Jp dCBkYW5zIGxhIHBhcnRpZSBwcsOpY8OpZGVudGUpLgoKCgpMZXMgdm95ZWxsZXMgX19zZXJhaWVu dF9fIGFwcGVsw6llcyDCq8KgJycuYXknJ8KgwrssIMKrwqAnJy5leScnwqDCuywgwqvCoCcnLml5 JyfCoMK74oCmLCBzaSBjJ8OpdGFpdCBtb2lucyBkaWZmaWNpbGUgw6AgcHJvbm9uY2VyLiBBdSBs aWV1IGRlIMOnYSwgZWxsZXMgc29udCBub21tw6llIGVuIHN1aXZhbnQgbGUgc29uIGRlIGxhIHZv eWVsbGUgcGFyIGxlIG1vdCAnJ2J1JycsIHF1aSBzaWduaWZpZSBzaW1wbGVtZW50IMKrwqBsZXR0 cmXCoMK7LiBBaW5zaSwgbGVzIHZveWVsbGVzIGR1IGxvamJhbiBzb250wqA6ICDCq8KgJycuYWJ1 JyfCoMK7LCDCq8KgJycuZWJ1JyfCoMK7LCDCq8KgJycuaWJ1JyfCoMK7LCDCqyAnJy5vYnUnJyDC uywgwqvCoCcnLnVidScnwqDCuywgwqvCoCcnLnlidScnwqDCuy4KCgoKTCdhcG9zdHJvcGhlIGVz dCBjb25zaWTDqXLDqWUgY29tbWUgdW5lIHZyYWkgbGV0dHJlIGVuIGxvamJhbiwgZXQgZXN0IG5v bW3DqWUgwqvCoCcnLnkneS4nJ8KgwrsgKMKrwqBldWhldcKgwrvigKYgVW4gcGV1IGNvbW1lIHVu ZSBwZXRpdGUgdG91eCkuCgoKCkxlIGxvamJhbiBhIHVuIG1veWVuIGRlIHNlIHLDqWbDqXJlciDD oCBsYSBwbHVwYXJ0IGRlcyBsZXR0cmVzIGF1eHF1ZWxsZXMgdm91cyBwb3V2ZXogcGVuc2VyLiBT aSB2b3VzIGTDqXNpcmV6IGTDqHMgbWFpbnRlbmFudCDDqXBlbGVyIHZvdHJlIG5vbSBlbiBsb2pi YW4sIGV0IHF1ZSBjZWx1aSBjaSBwb3Nzw6hkZSB1biDCq8KgSMKgwrssIMKrwqBRwqDCuyBvdSDC q8KgV8KgwrssIHZvdXMgcG91dmV6IHV0aWxpc2VyIMKrICcnLnkneS5idScnIMK7LCDCqyAnJ2t5 LmJ1JycgwrsgZXQgwqsgJyd2eS5idScnIMK7LiBBaW5zaSwgwqvCoFNjaHdhcnplbmVnZ2VywqDC uyBlc3Qgw6lwZWzDqSBlbiBsb2piYW7CoDoKCicnc3kuIGN5LiAueSd5YnUgdnlidS4gLmFidSBy eS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LicnCgoKCkV0IMOpcGVsZXIgX1/D p2FfXyBlc3QgdW5lIHTDomNoZSBkaWduZSBkdSBUZXJtaW5hdG9ywqAhCgoKCk1haW50ZW5hbnQs IMOpcGVsZXogdm90cmUgbm9tIGVuIGxvamJhbiAobGUgY2FzIMOpY2jDqWFudCwgZGUgbGEgbWFu acOocmUgbGEgcGx1cyBwcm9jaGUgcXVlIHZvdXMgcG91dmV6IGF2ZWMgbGVzIDI2IGxldHRyZXMg cXVlIG5vdXMgdmVub25zIGQnYXBwcmVuZHJlLCBldCBsJ2Fwb3N0cm9waGUpLgoKISEhISBQcm9u b25jaWF0aW9uIMKrwqBjb3JyZWN0ZcKgwrsKCgoKJydDZXR0ZSBwYWdlIGVzdCDDoCBsYSBmb2lz IHVuZSB0cmFkdWN0aW9uIGRlIGxhIHZlcnNpb24gYW5nbGFpc2UsIGV0IHVuZSBhZGFwdGF0aW9u IGF1eCBwcm9ibMOobWVzIHJlbmNvbnRyw6lzIHBhciBsZXMgZnJhbmNvcGhvbmVzIHBsdXRvdCBx dWUgcGFyIGxlcyBhbmdsb3Bob25lcy4gUGFyIG1hbnF1ZSBkJ2V4cMOpcmllbmNlIGRhbnMgbCdl bnNlaWduZW1lbnQgZHUgbG9qYmFuIMOgIGRlcyBmcmFuY29waG9uZXMsIGNldHRlIHBhcnRpZSBw ZXV0IGRvbmMgbWFucXVlciBkZSBjb25zZWlscyBvdSByZXN0ZXIgaW5hZGFwdMOpZSwgdm9pcmUg Y29uZnVzZS4gTidow6lzaXRleiBwYXMgw6AgZGVtYW5kZXIgc3VyIGxhIFtodHRwOi8vbWFpbC5s b2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vbG9qYmFuLWZyfG1haWxpbmctbGlzdF0gZnJhbmNv cGhvbmUgc2kgdm91cyBhdmV6IHVuIHByb2Jsw6htZSDigJMgY2VjaSBwb3VycmFpdCBub3VzIGFp ZGVyIMOgIGFtw6lsaW9yZXIgY2V0dGUgcGFnZcKgIScnCgoKClZvdXMgbidhdmV6IHBhcyDDoCBh dm9pciB1bmUgcHJvbm9uY2lhdGlvbiBwcsOpY2lzZSBkdSBsb2piYW4sIGNhciBjaGFxdWUgcGhv bsOobWUgZXN0IGRpc3RyaWJ1w6kgZGUgbWFuacOocmUgw6AgY2UgcXUnaWwgc29pdCBkaWZmaWNp bGUgZGUgY29uZm9uZHJlIGRldXggc29ucy4gQ2VjaSBzaWduaWZpZSBxdWUsIHBvdXIgdW5lIGxl dHRyZSwgcGx1dMO0dCBxdSd1bmUgcHJvbm9uY2lhdGlvbiDCq8KgY29ycmVjdGXCoMK7LCBpbCB5 IGEgdW5lIGdhbW1lIGRlIHNvbnMgYWNjZXB0w6lzIOKAkyBsZSBwcmluY2lwZSBnw6luw6lyYWwg w6l0YW50IHF1J3VuIHNvbiBlc3QgYm9uIHRhbnQgcXUnaWwgbmUgcmVzc2VtYmxlIHBhcyB0cm9w IMOgIHVuZSBhdXRyZSBsZXR0cmUuIFBhciBleGVtcGxlLCBsZSDCq8KgcsKgwrsgbG9qYmFuIHBl dXQgw6p0cmUgcHJvbm9uY8OpIGNvbW1lIGVuIGFuZ2xhaXMsIGl0YWxpZW4sIGZyYW7Dp2Fpc+KA piAKCgoKQ2VwZW5kYW50LCBiaWVuIHF1ZSBsZSBbaHR0cHM6Ly9mci53aWtpcGVkaWEub3JnL3dp a2kvQ29uc29ubmVfZnJpY2F0aXZlX3V2dWxhaXJlX3ZvaXMlQzMlQTllfMKrwqBywqDCuyBmcmFu w6dhaXNdIHNvaXQgY29uc2lkw6lyw6kgY29tbWUgdW4gwqvCoCcncicnwqDCuywgY2VsdWktY2kg ZXN0IGF1c3NpIHByb2NoZSBkdSBbaHR0cHM6Ly9mci53aWtpcGVkaWEub3JnL3dpa2kvQ29uc29u bmVfZnJpY2F0aXZlX3V2dWxhaXJlX3NvdXJkZXzCq8KgJyd4JyfCoMK7XSBsb2piYW4uIFBvdXIg Y29tcHJlbmRyZSBsYSBkaWZmw6lyZW5jZSBlbnRyZSBjZXMgZGV1eCBzb25zLCBvYnNlcnZleiBs YSBkaWZmw6lyZW5jZSBlbnRyZSBsZSBzb24gwqvCoCcnZCcnwqDCuyBldCBsZSBzb24gwqvCoCcn dCcnwqDCu8KgOiBsJ3VuIGVzdCB2b2NhbGlzw6ksIGwnYXV0cmUgbm9uLiBMYSBtw6ptZSBkaXN0 aW5jdGlvbiBzJ29ww6hyZSBlbnRyZSBsZSDCq8KgJydyJyfCoMK7IGZyYW7Dp2FpcyBldCBsZSDC q8KgJyd4JyfCoMK7LiBKZSB2b3VzIGNvbnNlaWxsZSBkb25jIGQnb3B0ZXIgcG91ciB1biDCq8Kg csKgwrsgbW9pbnMgYW1iaWd1LiBDb25jZXJuYW50IGxlIMKrwqBywqDCuyByb3Vsw6ksIGRldXgg cHJvbm9uY2lhdGlvbnMgc29udCBwb3NzaWJsZcKgOiBsZSBbaHR0cHM6Ly9mci53aWtpcGVkaWEu b3JnL3dpa2kvQ29uc29ubmVfcm91bCVDMyVBOWVfYWx2JUMzJUE5b2xhaXJlX3ZvaXMlQzMlQTll fMKrwqBywqDCu10gZXNwYWdub2wsIHNpdHXDqSDDoCBsJ2F2YW50IGR1IHBhbGFpcywgZXQgdW4g W2h0dHBzOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0NvbnNvbm5lX3JvdWwlQzMlQTllX3V2dWxh aXJlX3ZvaXMlQzMlQTllfMKrwqBywqDCu10gcGx1cyBwcm9jaGUgZGUgbGEgZ29yZ2UsIGNvbW1l IGNlbHVpIGQnRWRpdCBQaWFmLiBDaG9pc2lzc2V6IGxhIHByb25vbmNpYXRpb24gcXVpIHZvdXMg cG9zZSBsZSBtb2lucyBkZSBwcm9ibMOobWUsIHRhbnQgcXUnZWxsZSBuZSBzZSBjb25mb25kIHBh cyBhdmVjIHVuZSBhdXRyZSBsZXR0cmUgZHUgbG9qYmFuLgoKCgpGYWl0ZXMgYXVzc2kgYXR0ZW50 aW9uIMOgIGJpZW4gYXBwdXllciBsZXMgdm95ZWxsZXMg4oCTIG1pcyDDoCBwYXJ0IGxlIMKrwqAn J3knJ8KgwrsgcXVpICcnZG9pdCcnIMOqdHJlIGNvdXJ0LiBMYSByYWlzb24gZW4gZXN0IHF1ZSBs ZXMgdm95ZWxsZXMgwqvCoG5vbi1sb2piYW7CoMK7IHBldXZlbnQgw6p0cmUgdXRpbGlzw6llcyBw b3VyIHPDqXBhcmVyIGxlcyBjb25zb25uZXMgcGFyIGxlcyBwZXJzb25uZXMgcXVpIG4nYXJyaXZl bnQgcGFzIMOgIGxlcyBwcm9ub25jZXIuIFBhciBleGVtcGxlLCBzaSB2b3VzIGF2ZXogdW4gcHJv YmzDqG1lIGF2ZWMgbGUgwqvCoCcnemQnJ8KgwrsgZGUgwqvCoCcnemRhbmknJ8KgwrsgKG1haXNv biksIHZvdXMgcG91dmV6IGRpcmUgwqvCoHrJqmRhbmnCoMK7LCBhdmVjIHVuIMKrwqDJqsKgwrsg dHLDqHMgY291cnQsIG1haXMgbGUgwqvCoGnCoMK7IGZpbmFsIGxvbmcuIAoKISEhIU5vbXMgbG9q YmFuIChjbWV2bGEpCgoKCkRhbnMgbGVzIGZpbG1zIG/DuSBsZXMgcHJvdGFnb25pc3RlcyBuJ29u dCBwYXMgZGUgbGFuZ3VlIGNvbW11bmUsIGlscyBjb21tZW5jZW50IHNvdXZlbnQgcGFyIGRpcmUg ZGVzIGNob3NlcyB0ZWxsZXMgcXVlIMKrwqBNb2kgVGFyemFuwqDCuywgY2UgcXVpIGVzdCB1bmUg bWFuacOocmUgY29tbWUgdW5lIGF1dHJlIGRlIGTDqWJ1dGVyIGVuIGxvamJhbi4gRXQgZG9uY8Kg OgoKCgpfXycnbWknZSAucm9iaW4uJydfXwoKwqvCoEplLXN1aXMtbm9tbcOpIFJvYmluwqDCuwoK wqvCoEplIHN1aXMgUm9iaW7CoMK7CgoKCicnbWknZScnIGVzdCBhcHBhcmVudMOpIMOgICcnbWkn JywgcXVpIHNpZ25pZmllIMKrwqBtb2nCoMK7LCDCq8KgamXCoMK74oCmIEMnZXN0IHVuIGJvbiBl eGVtcGxlIGRlIGwnYXBvc3Ryb3BlIHPDqXBhcmFudCBkZXV4IHZveWVsbGVzLCBwcm9ub25jw6kg wqvCoG1pIGhlaMKgwrsuIAoKCgpDZSBSb2JpbiBlc3QgY2hhbmNldXjCoDogc29uIG5vbSBzZSB0 cmFuc2NyaXQgZGlyZWN0ZW1lbnQgZW4gbG9qYmFuLCBzYW5zIGNoYW5nZW1lbnQuIElsIHkgYSB0 b3V0ZWZvaXMgZGVzIHLDqGdsZXMgcG91ciBsZXMgbm9tcyBsb2piYW4sIGNlIHF1aSBzaWduaWZp ZSBxdWUgY2VydGFpbnMgbm9tcyBkb2l2ZW50IMOqdHJlcyDCq8KgbG9qYmFuaXPDqXPCoMK7LiBD ZWxhIHBldXQgc2VtYmxlciDDqXRyYW5nZS4gQXByw6hzIHRvdXQsIHVuIG5vbSBlc3QgdW4gbm9t 4oCmIEVuIGZhaXQsIHRvdXQgbGVzIGxhbmdhZ2VzIGZvbnQgY2UgZ2VucmUgZCdhZGFwYXRpb24g w6AgdW4gY2VydGFpbiBuaXZlYXUuIFBhciBleGVtcGxlLCBsZXMgYW5nbGFpcyB0ZW5kZW50IMOg IHByb25vbmNlciDCq8KgSm9zZcKgwrsgY29tbWUgwqvCoEhvemF5wqDCuywgZXQgwqvCoE1hcmdh cmV0wqDCuyBkZXZpZW50IMKrwqBNYWdlbGl0YcKgwrsgZW4gY2hpbm9pcy4KCgoKQ2VydGFpbnMg c29ucyBuJ2V4aXN0ZW50IHBhcyBkYW5zIGNlcnRhaW5zIGxhbmdhZ2VzLiBBaW5zaSwgbGEgcHJl bWnDqHJlIGNob3NlIMOgIGZhaXJlIGVzdCBkZSByw6nDqWNyaXJlIHZvdHJlIG5vbSBkZSBtYW5p w6hyZSDDoCBjZSBxdSdpbCBuZSBjb250aWVubmUgcXVlIGRlcyBzb25zIGxvamJhbiwgZXQgc29p dCDDqWNyaXQgY29tbWUgdW4gbW90IGxvamJhbi4KCgoKX19Ob3RlwqA6X18gTGEgcXVlc3Rpb24g aWNpIGVzdMKgOiBxdWVsbGUgdmVyc2lvbiBkZXMgc29ucyBhbGxleiB2b3VzIHV0aWxpc2VywqA/ IEVuIGFuZ2xhaXMsIHBhciBleGVtcGxlLCBsZXMgdm95ZWxsZXMgYW5nbGFpc2VzIGV0IGFtw6ly aWNhaW5lcyBzb250IGFzc2V6IGRpZmbDqXJlbnRlcy4gTGUgwqvCoFJvYmluwqDCuyBhbmdsYWlz IHBldXQgw6p0cmUgcmFpc29ubmFibGVtZW50IGFwcHJveGltw6kgcGFyIMKrwqAnJy5yb2Jpbi4n J8KgwrssIG1haXMgbGEgdmVyc2lvbiBhbcOpcmljYWluZSBlc3QgcGx1cyBwcm9jaGUgZGUgwqvC oCcnLnJhYnluLicnwqDCuyBvdSDCq8KgJycucmFiLG4uJyfCoMK7LiBFdCDDoCBsJ2ludMOpcmll dXIgbcOqbWUgZGUgbCdhbmdsZXRlcnJlIG91IGRlcyDDqXRhdHMgdW5pcyBkJ2Ftw6lyaXF1ZSwg aWwgcGV1dCB5IGF2b2lyIG5vbWJyZSB2YXJpYXRpb25zLiBBdXNzaSBkZXZyaWV6IHZvdXMgcHJl bmRyZSBsZXMgdHJhbnNsaXRlcmF0aW9ucyBjaS1kZXNzdXMgYXZlYyBkZXMgcGluY2V0dGVzLgoK CgpQcmVub25zIGxlIG5vbSDCq8KgU3VzYW7CoMK7LCBlbiBhbmdsYWlzLiBMZXMgZGV1eCDCq8Kg c8Kgwrsgc29udCBwcm9ub25jw6lzIGRpZmbDqXJlbW1lbnQg4oCTwqBsZSBzZWNvbmQgw6l0YW50 IGVuIGZhaXQgdW4gwqvCoHrCoMK7wqDigJMgZXQgbGUgwqvCoGHCoMK7IG4nZXN0IHBhcyB2cmFp bWVudCB1biDCq8KgYcKgwrssIG1haXMgbGUgwqvCoHNjaHdhwqDCuyBkb250IG5vdXMgYXZvbnMg cGFybMOpIHBsdXMgaGF1dC4gQWluc2ksIMKrwqBTdXNhbsKgwrsgZGV2aWVudCwgZW4gbG9qYmFu LCDCq8KgJycuc3V6eW4uJyfCoMK7LgoKCgpWb3VzIGF2ZXogcGV1dC3DqnRyZSBub3TDqSBsZXMg ZGV1eCBwb2ludHMgcXVpIGFwcGFyYWlzc2VudCBkYW5zIGNoYXF1ZSBub20gbG9qYmFu4oCmIENl dXgtY2kgc29udCBuw6ljZXNzYWlyZXMgY2FyIHNhbnMgcGF1c2UsIGlsIHBldXQgw6p0cmUgZGlm ZmljaWxlIGRlIHNhdm9pciBxdWFuZCBsZSBtb3QgcHLDqWPDqWRlbnQgZmluaXQsIGV0IHF1YW5k IGxlIG1vdCBzdWl2YW50IGTDqWJ1dGUuCgoKClZvdXMgZGV2cmlleiBhdXNzaSBwbGFjZXIgdW4g cG9pbnQgZW50cmUgbGUgbm9tIGV0IGxlIHByw6lub20gZCd1bmUgcGVyc29ubmUgKGJpZW4gcXVl IGNlIG5lIHNvaXQgcGFzIG9ibGlnYXRvaXJlKS4gQWluc2ksIMKrwqBKb3NlcGggQmVuYXJkwqDC uyBkZXZpZW50IMKrwqAnJy5qb3plZi5iZW5hci4nJ8KgwrsuCgoKClVuZSByw6hnbGUgaW1wb3J0 YW50ZSBkYW5zIGxhIGxvamJhbmlzYXRpb24gZGVzIG5vbXMgZXN0IHF1ZSBsYSBkZXJuacOocmUg bGV0dHJlIGQndW4gJydjbWV2bGEnJyAobm9tIGxvamJhbikgZG9pdCB0b3Vqb3VycyDDqnRyZSB1 bmUgY29uc29ubmUuIEVuY29yZSwgY2VjaSBhIHBvdXIgYnV0IGQnw6l2aXRlciBsYSBjb25mdXNp b24gcXVhbnQgw6Agc2F2b2lyIG/DuSBlc3QgbGEgZmluIGQndW4gbW90LCBldCBzaSB1biBtb3Qg ZXN0IG91IG4nZXN0IHBhcyB1biBub20gKHRvdXQgbGVzIGF1dHJlcyBtb3QgbG9qYmFuIGZpbmlz c2FudCBwYXIgdW5lIHZveWVsbGUpLiBEYW5zIGxlIGNhcyBvw7kgdW4gbW90IGZpbml0IHBhciB1 bmUgdm95ZWxsZSwgwqvCoCcncycnwqDCuyBlc3Qgc291dmVudCBham91dMOpIMOgIGxhIGZpbi4g QWluc2ksIMKrwqBNYXJpZcKgwrsgZGV2aWVudCBlbiBsb2piYW4gwqvCoCcnLm1hcmlzLicnwqDC uywgwqvCoEpvZcKgwrsgZGV2aWVudCDCq8KgJycuZGpvcy4nJ8KgwrssIGV0IGFpbnNpIGRlIHN1 aXRlLiBVbmUgYWx0ZXJuYXRpdmUgY29uc2lzdGUgw6Agc3VwcHJpbWVyIGxhIGRlcm5pw6hyZSB2 b3llbGxlLCDCq8KgTWFyaWXCoMK7IGRldmVuYW50IMKrwqAnJy5tYXIuJyfCoMK7LgoKCgpVbmUg ZGVybmnDqHJlIGNob3NlwqA6IGNvbW1lIG5vdXMgbCdhdm9ucyB2dSwgbCdhY2NlbnQgdG9uaXF1 ZSBkZXMgbW90cyBsb2piYW4gZXN0IHNpdHXDqSBzdXIgbCdhdmFudCBkZXJuacOocmUgc3lsbGFi ZS4gU2kgbCdhY2NlbnQgdG9uaXF1ZSBkJ3VuIG5vbSBzZSB0cm91dmUgYWlsbGV1cnMsIGRlcyBs ZXR0cmVzIG1hanVzY3VsZXMgc29udCB1dGlsaXPDqWVzLiBDZWNpIHNpZ25pZmllIHF1ZSBsZSBu b20gwqvCoFJvYmVydMKgwrsgc2VyYSDDqWNyaXQgZGlmZsOpcmVtbWVudCBzdWl2YW50IHF1J2ls IHNvaXQgYW5nbGFpcyBvdSBmcmFuw6dhaXPCoDogwqsgJycucm9CRVIuJycgwrsgZW4gZnJhbsOn YWlzLCDCq8KgJycucm9ieXQuJyfCoMK7IGVuIGFuZ2xhaXMgZXQgwqsgJycucmFiLHJ0LicnIMK7 IGVuIGFtw6lyaWNhaW4uCgoKCkFmaW4gZGUgdm91cyBkb25uZXIgdW5lIGlkw6llIGRlIGNvbW1l bnQgdG91dCBjZWNpIGZvbmN0aW9ubmUsIHZvaWNpIHVuZSBsaXN0ZSBkZSBub21zIGRlIHF1ZWxx dWUgcGVyc29ubmFnZXMgY8OpbMOoYnJlcyBkYW5zIGxldXIgcHJvcHJlIGxhbmd1ZSBldCBlbiBs b2piYW4uCgoKCnx8X19GcmFuw6dhaXNfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwnJy5uYXBvbGUs T04uYm9uYVBBUlQuJycKCkp1bGlldHRlIEJpbm9jaGUgfCcnLmp1TElFVC5iaW5PQy4nJyB8fAoK fHxfX0FuZ2xhaXNfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfCcnLm1hZ3J5dC50YXRjeXIuJycKCk1p Y2sgSmFnZ2VyIHwnJy5taWsuZGphZ3lzLicnIHx8Cgp8fF9fQ2hpbm9pc19fCgpMYW96aSB8Jycu bGF1ZHouJycKCk1hbyBaZWRvbmcgfCcnLm1hdWR6eURZTi4nJyAoTGUgwqvCoG5nwqDCuyBmaW5h bCBlc3QgY29udmVudGlvbmVsbGVtZW50IHRyYW5mb3Jtw6kgZW4gwqvCoCcnbicnwqDCuyBlbiBs b2piYW4uKSB8fAoKfHxfX1R1cmNfXwoKTXVzdGFmYSBLZW1hbCB8JycuTVVTdGFmYXMua2VNQUwu JycKCkVya2luIEtvcmF5IHwnJy5lcmtpbi5rb3JhaXMuJycgfHwKCnx8X19BbGxlbWFuZF9fCgpG cmllZHJpY2ggTmlldHpzY2hlIHwnJy5mcmlkcml4Lm5pdGN5cy4nJwoKQ2xhcmEgU2NodW1hbm4g fCcnLmtsYXJhcy5jdW1hbi4nJyB8fAoKfHxfX0VzcGFnbm9sX18KCklzYWJlbCBBbGxlbmRlIHwn Jy5pemFCRUwuYWllbmRlcy4nJwoKQ2hlIEd1ZXZhcmEgfCcnLnRjZWdldmFyYXMuJycgfHwKCgoK X19FeGVyY2ljZcKgOl9fCgpPw7kgc29udCBjZXMgbGlldXjCoD8KCiMubnUsSU9SSy4KCiMucm9t YXMuCgojLnhhdmFuYXMuCgojLmthcmRpZi4KCiMuYmVpZGppbi4KCiMuQU5rYXJhcy4KCiMuQUxi ZWtlcmtpcy4KCiMudmFua3V2ZXIuCgojLmtlaXB0YXVuLgoKIy50YWliZWlzLgoKIy5ib24uCgoj LmRlbGlzLgoKIy5uaXMuCgojLmF0aW5hcy4KCiMubGlkei4KCiMueGVsc2lua2lzLgoKCgpSw6lw b25zZXM6Cgp+fmdyYXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiDDiXRhdHMtVW5p cyBkJ0Ftw6lyaXF1ZX5+Cgojfn5ncmF5LGdyYXk6Um9tZTogSXRhbGllfn4KCiN+fmdyYXksZ3Jh eTpIYXZhbmE6IEN1YmF+fgoKI35+Z3JheSxncmF5OkNhcmRpZmY6IFBheXMgZGUgR2FsbGVzIChM ZSBnYWxsb2lzIHBvdXIgwqvCoENhcmRpZmbCoMK7IGVzdCDCq8KgQ2FlcmR5ZGTCoMK7LCBzZSBx dWkgc2UgbG9qYmFuaXNlcmFpdCBjb21tZSDCq8KgJycua2FpcmR5ZC4nJ8KgwrsuKX5+Cgojfn5n cmF5LGdyYXk6QmVpamluZzogQ2hpbmV+fgoKI35+Z3JheSxncmF5OkFua2FyYTogVHVya2llfn4K CiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTogTm91dmVhdS1NZXhpcXVlLCDDiXRhdHMtVW5pcyBk J0Ftw6lyaXF1ZX5+Cgojfn5ncmF5LGdyYXk6VmFuY291dmVyOiBDYW5hZGF+fgoKI35+Z3JheSxn cmF5OkNhcGUgVG93bjogQWZyaXF1ZSBkdSBzdWR+fgoKI35+Z3JheSxncmF5OlRhaXBlaTogVGFp d2FuIChOb3RlwqA6IG9uIHV0aWxpc2UgwqvCoCcnYicnwqDCuywgZXQgbm9uIMKrwqAnJ3AnJ8Kg wrsuIEJpZW4gcXUnZW4gZmFpdCwgbGUgYiBlbiBQaW55aW4gc29pdCBwcm9ub25jw6kgcOKApiBN YWlzIG5vdXMgbmUgc29tbWVzIHBhcyBkYW5zIHVuIGNvdXJzIGRlIG1hbmRhcmluwqAhKX5+Cgoj fn5ncmF5LGdyYXk6Qm9ubjogQWxsZW1hZ25lfn4KCiN+fmdyYXksZ3JheTpEZWxoaTogSW5kZSAo TCdoaW5kaSBwb3VyIMKrwqBEZWxoacKgwrsgZXN0IMKrwqBEaWxsw67CoMK7LCBjZSBxdWkgZG9u bmVyYWl0IMKrwqAnJy5kaWxpeXMuJyfCoMK7IG91IMKrwqAnJy5kaWxpJ2lzLicnwqDCuy4pfn4K CiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+fgoKI35+Z3JheSxncmF5OkF0aGVuczogR3LDqGNl ICjCq8KgQXRoaW5hwqDCuyBlbiBncmVjcXVlKX5+Cgojfn5ncmF5LGdyYXk6TGVlZHM6IEFuZ2xl dGVycmV+fgoKI35+Z3JheSxncmF5OkhlbHNpbmtpOiBGaW5sYW5kZX5+CgoKCl9fRXhlcmNpc2XC oDpfXwoKTG9qYmFuaXNleiBsZXMgbm9tcyBzdWl2YW50wqA6CgojSm9obgoKI01lbGlzc2EKCiNB bWFuZGEKCiNNYXR0aGV3CgojTWF0aGlldQoKI01pY2hhZWwKCiNEYXZpZCBCb3dpZQoKI0phbmUg QXVzdGVuCgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1NpZ291cm5leSBXZWF2ZXIKCiNSaWNoYXJk IE5peG9uCgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5bwoKI1NhbiBTYWx2YWRvcgoKCgpSw6lw b25zZXPCoDoKCn5+Z3JheSxncmF5OklsIHkgYSBzb3V2ZW50IGQnYXV0cmVzIMOpcGVsbGF0aW9u cyBwb3VyIGxlcyBub21zLCBzb2l0IHBhcmNlIHF1ZSBsZXMgZ2VucyBwcm9ub25jZW50IGwnb3Jp Z2luYWwgZGlmZsOpcmVtbWVudCwgc29pdCBwYXJjZSBxdWUgbGUgc29uIGV4YWN0IG4nZXhpc3Rl IHBhcyBlbiBsb2piYW4sIGV0IHF1ZSBsJ29uIGRvaXQgY2hvaXNpciBlbnRyZSBkZXV4IGxldHRy ZXMuIENlIG4nZXN0IHBhcyBpbXBvcnRhbnQsIGR1IG1vbWVudCBxdWUgdG91dCBsZSBtb25kZSBz YWl0IGRlIHF1aSBvdSBxdW9pIHZvdXMgcGFybGV6Ln5+Cgojfn5ncmF5LGdyYXk6LmRqb24uIChv dSAuZGphbi4gYXZlYyBjZXJ0YWlucyBhY2NlbnRzKX5+Cgojfn5ncmF5LGdyYXk6Lm1lbGlzYXMu ICgubWVsaXN5cy4gZW4gYW5nbGFpcyl+fgoKI35+Z3JheSxncmF5Oi5hbWFuZGFzLiAoRW4gYW5n bGFpcywgc3VpdmFudCBsZXMgYWNjZW50cywgbGUgwqvCoCcnYScnwqDCuyBmaW5hbCBwZXV0IMOq dHJlIHVuIMKrwqAnJ3knJ8KgwrssIGRlIG3Dqm1lIHBvdXIgbGUgwqvCoCcnYScnwqDCuyBpbml0 aWFsLCBldCBsZSDCq8KgJydhJyfCoMK7IGR1IG1pbGlldSBwZXV0IMOqdHJlIHVuIMKrwqAnJ2Un J8KgwrsuKX5+Cgojfn5ncmF5LGdyYXk6Lm1hdGl1cy5+fgoKI35+Z3JheSxncmF5Oi5tYVRJWVMu fn4KCiN+fmdyYXksZ3JheToubWlrYWVsLiAoLm1haWt5bC4gb3UgLm1haWssbC4gZW4gYW5nbGFp cy4pfn4KCiN+fmdyYXksZ3JheTouZGVpdnlkLmJhdSxpcy4gb3UgLmJvLGlzLiAocGFzIC5idSxp cy4g4oCUIGNlIHNlcmFpdCBhbG9ycyBsZSAnJ2NvdXRlYXUnJyBCb3dpZSl+fgoKI35+Z3JheSxn cmF5Oi5kamVpbi5vc3Rpbi5+fgoKI35+Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+fgoKI35+ Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3UgLnN5Z29ybmlzLnVpdnlyLn5+Cgojfn5ncmF5 LGdyYXk6LnJpdGN5cmQubmlrc3luLn5+Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiBhdmVjIHVu IGFjY2VudCB0b25pcXVlIGFuZ2xhaXMsIC5JU3RhbmJ1bC4gYXZlYyB1biBhY2NlbnQgdG9uaXF1 ZSBBbcOpcmljYWluLCAuaXN0YW5idWwuIGF2ZWMgbCdhY2NlbnQgdG9uaXF1ZSBUdXJjLiBMZXMg bG9qYmFuaXN0ZXMgcHLDqWbDqHJlbnQgZW4gZ8OpbsOpcmFsIGJhc2VyIGxlcyBjbWV2bGEgc3Vy IGxhIHByb25vbmNpYXRpb24gbG9jYWxlLCBtYWlzIGNlIG4nZXN0IHBhcyB1bmUgcsOoZ2xlIGFi c29sdWUufn4KCiN+fmdyYXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lvcy5+ fgoKI35+Z3JheSxncmF5Oi5zYW4uc2FsdmFET1IuIChhdmVjIGwnYWNjZW50IHRvbmlxdWUgZXNw YWdub2wpfn4KCiEhISFNb3RzIGxvamJhbiBjb21tZSBub21zCgoKCsOAIHByw6lzZW50LCB2b3Vz IGRldnJpZXogw6p0cmUgY2FwYWJsZSBkZSBsb2piYW5pc2VyIHZvdHJlIHByb3ByZSBub20uIFRv dXRlZm9pcywgc2kgdm91cyBsZSBwcsOpZsOpcmV6LCB2b3VzIHBvdXZleiB0cmFkdWlyZSB2b3Ry ZSBub20gZW4gbG9qYmFuIChzaSB2b3VzIHNhdmV6IGNlIHF1J2lsIHNpZ25pZmllLCBiaWVuIHPD u3IpLCBvdSBhZG9wdGVyIHVuZSB0b3V0ZSBub3V2ZWxsZSBpZGVudGl0w6kgbG9qYmFuZS4gTGVz IGluZGllbnMgZCdhbcOpcmlxdWUgb250IHRlbmRhbmNlIMOgIHRyYWR1aXJlIGxldXIgbm9tIGVu IGFuZ2xhaXMsIHBhcnRpZWxsZW1lbnQgcGFyY2UgcXVlIGxldXIgbm9tIHNpZ25pZmllIHF1ZWxx dWUgY2hvc2UsIGV0IHBhcnRpZWxsZW1lbnQgcGFyY2UgcXUnaWwgbmUgcydhdHRlbmRlbnQgcGFz IMOgIGNlIHF1ZSBsZSDCq8Kgd2FzaWNodcKgwrsgc29pdCBjYXBhYmxlIGRlIHByb25vbmNlciBk ZXMgbW90cyBlbiBMYWtvdGEsIENoZXJva2VlIG91IGF1dHJlwqAhCgoKCkxlcyBtb3RzIGxvamJh biAobWlzIMOgIHBhcnQgbGVzIGNtZXZsYSkgc2UgdGVybWluZW50IHBhciB1bmUgdm95ZWxsZS4g Vm91cyBwb3V2ZXogdXRpbGlzZXIgZGVzIG1vdHMgbG9qYmFuIGNvbW1lIG5vbSwgbWFpcyBzaSB2 b3VzIHByw6lmw6lyZXogcXVlIHZvdHJlIG5vbSBzb2l0IHVuIGNtZXZsYSBldCBxdSdpbCBzZSB0 ZXJtaW5lIHBhciB1bmUgdm95ZWxsZSwgdm91cyBwb3V2ZXogc29pdCBham91dGVyIHVuZSBjb25z b25uZSDDoCBsYSBmaW4gZGUgY2VsdWktY2ksIHNvaXQgdHJvbnF1ZXIgbGEgZGVybmnDqHJlIHZv eWVsbGUuCgoKClZvaWNpIHF1ZWxxdWVzIGV4ZW1wbGVzIChub20gb3JpZ2luYWwsIHNpZ25pZmlj YXRpb24sIG5vbSBldCBub20gY29tbWUgY21ldmxhKcKgOgoKKkZpc2ggKEFuZ2xhaXMgPSBwb2lz c29uKSDigJMgZmlucGUg4oCTICcnLmZpbnAuJycKCipCasO2cm4gKFNjYW5kaW5hdmUgPSBvdXJz KSDigJMgY3JpYmUg4oCTICcnLmNyaWIuJycKCipWZXJkaSAoSXRhbGllbiA9IHZlcnQpIOKAkyBj cmlubyDigJMgJycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbm9pcyA9IGJlYXUpIOKAkyBtZWxiaSDi gJMgJycubWVsYi4nJwoKKkF5aGFuIChUdXJjID0gU2VpZ25ldXIgTHVuZSkg4oCTIGx1bnJhIG5v YmxpICg9IGx1cm5vYmxpKSDigJMgJycubHVybm9ibGlzLicnCgohIUxvamJhbiBMZXNzb25zIOKA kyBsZXNzb24gb25lIChicmlkaSwganVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCgpBICcnYnJpZGkn JyBpcyB0aGUgbW9zdCBjZW50cmFsIHVuaXQgb2YgTG9qYmFuIHV0dGVyYW5jZXMuIFRoZSBjb25j ZXB0IGlzIHZlcnkgY2xvc2UgdG8gd2hhdCB3ZSBjYWxsIGEgcHJvcG9zaXRpb24gaW4gRW5nbGlz aC4gQSBicmlkaSBpcyBhIGNsYWltIHRoYXQgc29tZSBvYmplY3RzIHN0YW5kIGluIGEgcmVsYXRp b24gdG8gZWFjaCBvdGhlciwgb3IgdGhhdCBhbiBvYmplY3QgaGFzIHNvbWUgcHJvcGVydHkuIFRo aXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvICcnanVmcmEnJywgd2hpY2ggYXJlIG1lcmVseSBMb2pi YW4gdXR0ZXJhbmNlcywgd2hpY2ggY2FuIGJlIGJyaWRpIG9yIGFueXRoaW5nIGVsc2UgYmVpbmcg c2FpZC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGJyaWRpIGFuZCBhIGp1ZnJhIGlzIHRoYXQg YSBqdWZyYSBkb2VzIG5vdCBuZWNlc3NhcmlseSBzdGF0ZSBhbnl0aGluZywgd2hpbGUgYSBicmlk aSBkb2VzLiBUaHVzLCBhIGJyaWRpIG1pZ2h0IGJlIHRydWUgb3IgZmFsc2UsIHdoaWxlIG5vdCBh bGwganVmcmEgY2FuIGJlIHNhaWQgdG8gYmUgc3VjaC4KClRvIGhhdmUgc29tZSBleGFtcGxlcyAo aW4gRW5nbGlzaCwgdG8gYmVnaW4gd2l0aCksIOKAnE1vemFydCB3YXMgdGhlIGdyZWF0ZXN0IG11 c2ljaWFuIG9mIGFsbCB0aW1l4oCdIGlzIGEgYnJpZGksIGJlY2F1c2UgaXQgbWFrZXMgYSBjbGFp bSB3aXRoIGEgdHJ1dGggdmFsdWUsIGFuZCBpdCBpbnZvbHZlcyBhbiBvYmplY3QsIE1vemFydCwg YW5kIGEgcHJvcGVydHksIGJlaW5nIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZS4g T24gdGhlIGNvbnRyYXJ5LCDigJxPdyEgTXkgdG9lIeKAnSBpcyBub3QgYSBicmlkaSwgc2luY2Ug aXQgZG9lcyBub3QgaW52b2x2ZSBhIHJlbGF0aW9uLCBhbmQgdGh1cyBkb2VzIG5vdCBzdGF0ZSBh bnl0aGluZy4gQm90aCwgdGhvdWdoLCBhcmUganVmcmEuCgpUcnkgdG8gaWRlbnRpZnkgdGhlIGJy aWRpIGFtb25nIHRoZXNlIEVuZ2xpc2gganVmcmE6CgoKCiMg4oCcSSBoYXRlIGl0IHdoZW4geW91 IGRvIHRoYXQu4oCdCgojIOKAnFJ1bnMu4oCdCgojIOKAnFdvYWgsIHRoYXQgbG9va3MgZGVsaWNp b3VzIeKAnQoKIyDigJxHZWV6LCBub3QgYWdhaW4u4oCdCgojIOKAnE5vLCBJIG93biB0aHJlZSBj YXJz4oCdCgojIOKAnE5pbmV0ZWVuIG1pbnV0ZXMgcGFzdCBlaWdodC7igJ0KCiMg4oCcVGhpcyBT YXR1cmRheSwgeWVzLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OjEsIDMgYW5kIDUgYXJlIGJy aWRpLiAyIGNvbnRhaW5zIG5vIG9iamVjdHMgYW5kIHRoZSByZXN0IGNvbnRhaW4gbm8gcmVsYXRp b24gb3IgY2xhaW0gb2YgYSBwcm9wZXJ0eS5+fgoKCgpQdXQgaW4gTG9qYmFuIHRlcm1zLCBhIGJy aWRpIGNvbnNpc3RzIG9mIG9uZSAnJ3NlbGJyaScnLCBhbmQgb25lIG9yIG1vcmUgJydzdW10aScn LiBUaGUgc2VsYnJpIGlzIHRoZSByZWxhdGlvbiBvciBjbGFpbSBhYm91dCB0aGUgb2JqZWN0LCBh bmQgdGhlIHN1bXRpIGFyZSB0aGUgb2JqZWN0cyB3aGljaCBhcmUgaW4gYSByZWxhdGlvbi4gTm90 ZSB0aGF0IOKAnG9iamVjdOKAnSBpcyBub3QgYSBwZXJmZWN0IHRyYW5zbGF0aW9uIG9mIOKAnHN1 bXRp4oCdLCBzaW5jZSDigJxzdW10aeKAnSBjYW4gcmVmZXIgdG8gbm90IGp1c3QgcGh5c2ljYWwg b2JqZWN0cywgYnV0IGNhbiBhbHNvIHB1cmVseSBhYnN0cmFjdCB0aGluZ3MgbGlrZSDigJxUaGUg aWRlYSBvZiB3YXJmYXJl4oCdLiBBIGJldHRlciB0cmFuc2xhdGlvbiB3b3VsZCBiZSBzb21ldGhp bmcgbGlrZSDigJxzdWJqZWN0LCBkaXJlY3Qgb3IgaW5kaXJlY3Qgb2JqZWN04oCdIGZvciBzdW10 aSwgYW5kIOKAnHZlcmLigJ0gZm9yIHNlbGJyaSwgdGhvdWdoLCBhcyB3ZSB3aWxsIHNlZSwgdGhp cyBpcyBub3Qgb3B0aW1hbCBlaXRoZXIuCgpXZSBjYW4gbm93IHdyaXRlIHRoZSBmaXJzdCBpbXBv cnRhbnQgbGVzc29uIGRvd246CgpicmlkaSA9IHNlbGJyaSArIG9uZSBvciBtb3JlIHN1bXRpCgpQ dXQgYW5vdGhlciB3YXksIGEgYnJpZGkgc3RhdGVzIHRoYXQgc29tZSBzdW10aSBkby9hcmUgc29t ZXRoaW5nIGV4cGxhaW5lZCBieSBhIHNlbGJyaS4KCgoKSWRlbnRpZnkgdGhlIHN1bXRpIGFuZCBz ZWxicmkgZXF1aXZhbGVudHMgaW4gdGhlc2UgRW5nbGlzaCBqdWZyYToKCuKAnEkgd2lsbCBwaWNr IHVwIG15IGRhdWdodGVycyB3aXRoIG15IGNhcuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNl bGJyaTog4oCccGljayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBkYXVnaHRl cnPigJ0sIOKAnG15IGNhcuKAnX5+CgoKCuKAnEhlIGJvdWdodCA1IG5ldyBzaGlydHMgZnJvbSBN YXJrIGZvciBqdXN0IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 c2VsYnJpOiDigJxib3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCcNSBu ZXcgc2hpcnRz4oCdLCDigJxNYXJr4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoK ClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdz IGhhdmUgYSB0aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGlu ZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRoZSBFUEHi gJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRl4oCd fn4KCgoKTm93IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5b3Ugd2ls bCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToKCicnX19k dW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19wZWx4dV9f JycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoKCgpOb3Rp Y2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KAnSBhbmQg 4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZlIGFuZCBh IG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRlZ29yaWVz IGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0ZWQg4oCc Z2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2aW5n4oCd IChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxsIGFjdCBh cyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwgYXMgYSBm ZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEnigJ0gb3Ig 4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicnX190aV9f Jycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hpY2ggY2Fu IGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKAnSDigJMg dGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRoZSBzdHJh bmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0aGUgeDEs IHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJlIHBsYWNl cyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3VtdGkgaW4g YSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBUaGUgc2Vj b25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhpbmcgYmVp bmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRoZSB0aGlu Zy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhhcyB0aGUg d29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdvcmQgaXMg bmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNlaXZlciBp cyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlvdSBmaWxs IHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3UgZmlsbCBp biBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1aXZhbGVu dCB0byB0aGUgd29yZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1wbHkgc2F5 IHRoZSB4MSBzdW10aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhlciBzdW10 aS4KClVzdWFsIGJyaWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9IHt4MyBz dW10aX0ge3g0IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIgY2FuIGJl IHBsYXllZCBhcm91bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhlIHVzdWFs IGZvcm0uIFRvIHNheSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5ICcnbWkg ZHVuZGEgdGkgZG8nJywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBsYWNlcy4K CgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCdPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBtb3JlIGlu IG9yZGVyIHRvIGdldCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGluLgoKCgri gJxZb3UgZ2l2ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnZG8gZHVu ZGEgdGkgbWknJ35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNlIHlvdSBn ZXQgdGhlIGhhbmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBlYWNoIG90 aGVyIGFyZSBzZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVpdmFsZW50 IG9mIGZ1bGwgc3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5zdGVhZCBv ZiBhZnRlciB0aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3QgYnJpZGks IHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50ZW5jZSBz ZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFsc28gYnJp ZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBob21lIHRv IG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRoZSBuZXh0 IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBsZWFzdCBz ZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgohIUxvamJh biBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJpIGhhdmUg ZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBp cyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4MSBzZWxs cyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNlbGwgdGhp c+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFj ZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQg Zm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxhY2VzIGNh biBiZSBmaWxsZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVzIHRoYXQg dGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNlIGl0J3Mg dW5pbXBvcnRhbnQgb3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydfX3pvJ2Vf XycnIOKAnHNvbWV0aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRoaW5nLCBi dXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5b3XigJ0s IEkgY291bGQgc2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBzb21ldGhp bmcgdG8geW91IGZvciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRoYXQncyBh IGhvbWUgKGZvciBzb21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgemRh bmkgem8nZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRvIChzb21l b25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8nZScnfn4K CgoKU3RpbGwsIGZpbGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBhIHRoaW5n IGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVkIHRvIHdy aXRlIGFsbCB0aGUgJyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlzIHRoYXQg aWYgeW91IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGlm IHRoZXkgY29udGFpbmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBzZWxi cmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcnem8n ZScnLgoKVHJ5IGl0IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6ZGFuaSBt aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEgaG9tZSBv ZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlvbmVkIGVh cmxpZXIsIHRoZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9IHt4 MiBzdW10aX0ge3gzIHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUgc2Vs YnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBi cmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFuZCBm aWxsZWQgd2l0aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVlIGp1ZnJh IGFyZSBhbGwgdGhlIGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8nJwoKJydt aSB0aSBkdW5kYSBkbycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRoaXMgaXMg dXNlZCBmb3IgcG9ldGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291bGQgYmUg JydkbyBkbyB2ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNudSBkbycn LiBPciBpdCBjYW4gYmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZlcnkgbG9u ZyBhbmQgdGhlcmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLgoK CgpUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0aGUgb3Jk ZXIgb2YgdGhlIHN1bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBpcyBieSB1 c2luZyB0aGUgd29yZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAnJ2Z1Jycu IE5vdGljZSB0aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUgTG9qYmFu IGFscGhhYmV0IGluIG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3MgdGhhdCB0 aGUgbmV4dCBzdW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSByZXNwZWN0 aXZlbHkuIFRoZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0byBmaWxs IGEgc2xvdCBvbmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4YW1wbGU6 CgonJ2R1bmRhIGZhIGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2YgdGhpcyB0 aGluZyB0byB5b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hpY2ggaXMg eW91LiAnJ2ZlJycgbWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1bXRpIGNv dW50aW5nIHRoZW4gY29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhlIGxhc3Qg c3VtdGkgZmlsbHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRvIHRyYW5z bGF0ZSB0aGUgZm9sbG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBmbyB0aSBm ZSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHByaWNlIG9m IHRoaXMsIHlvdeKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRoaXPigJ0g KHByb2JhYmx5IHBvaW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFuaSBmZSB0 aScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBIZXJlLCB0 aGUgZmUgaXMgcmVkdW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0aGlzIHBy aWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRhbnJ1IGFu ZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUg Y29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNlbGJyaSBp cyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVhbmluZy4g QSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90aGVyIHNl bGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pkYW5pIHZl Y251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScnLCB3aGlj aCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNpbmdsZSBi cml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2YgdGFucnUs IGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJlZeKAnS4g SWYgeW91IGRpZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBoZWFyZCBh Ym91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0byBkZWR1 Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0cmVlLCBv ciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsgdGFzdGVz IGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3VyZSB3b3Vs ZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9uLWxpa2Ug aW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMuIEl0IGNh bm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0IGl0IGNh biBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBpdCdzIHpk YW5pLWxpa2UgaW4gc29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGluIGFueSB3 YXkuIEluIHRoZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNvbm5lY3Rp b24gdG8gemRhbmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkgdmVjbnUn Jy4gSG93ZXZlciwgaXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRpbmFyeSBz ZW5zZSBpbiBvcmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xvc3MgJyd6 ZGFuaSB2ZWNudScnIGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBidXQgd29y c2Ugc291bmRpbmcg4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ugc3RydWN0 dXJlIG9mIGEgdGFucnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxicmkuIEl0 J3MgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdodCBzZWxi cmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9lc24ndCBt YXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4gYSB0YW5y dSBpcywgaXQncyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMgZm9yICcn emRhbmkgdmVjbnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdoeSBJIHRo aW5rIGl0J3MgemRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBiZSBhIGRp Y2suIE9yIGF0IGxlYXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4gSW4gZ2Vu ZXJhbCwgeW91IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cgdGhlIGxl ZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhl IGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0IGtub3cg aW4gd2hpY2ggd2F5IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVsbG93LCBi dXQgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0aGF0IG1l YW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29sZCBzb21l dGhpbmcsIHNpbmNlLCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2FuIGJlIG5v IHBheW1lbnQgaW52b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUgc2VsbC1s aWtlIGluIHNvbWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5 IGRpZmZlcmVudC4gV2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2VybWFuPwoK JydfX2RvdGNvX18nJyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUgaW4gYXNw ZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1c2UgdGhh dCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBwZXJtaXR0 ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBiZSB1bm5l Y2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3aXNlLCBp ZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCdLCB3aGF0 IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIKCicnX19t ZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVjdCB4MgoK CgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVya28nJywg YnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5kLWxpa2Ug QW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRvIGlzIHRv IHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEgc3VtdGkg c28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMgZG9uZSBi eSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMgZ2VuZXJp YyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBvZiBzZWxi cmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2VsYnJpIHRv IHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2VlbiB0aGVz ZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRoZSB4MSBv ZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGluc3RhbmNl LCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRoaW5ncyB3 aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFucyDigJxh IGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYgSSBzYXkg dGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAnJ2xvIHBl bHh1IGt1JycgcmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2ZSB0aGUg bmVjZXNzYXJ5IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGgg YW4gQW1lcmljYW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBlbmRvIGxv IG1lcmtvIGt1Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydrdScnIGlz IG5lY2Vzc2FyeS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlzIHRvIG1l 4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBtaScnIElm IHlvdSBsZWF2ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQgc2ltcGx5 IHRocmVlIHN1bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0aGUgdGkg aXMgZm9yY2VkIG91dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZvcmNlZCB0 byBjbG9zZSBhbmQgaXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcnbG8gZG90 Y28gdmVjbnUge2t1fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlzIGhhdmUg dG8gYmUgY2FyZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScnLiBJZiB0 aGUgJydrdScnIGlzIGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBub3QgZW5k LCBhbmQgaXQgc2ltcGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRhbnJ1ICcn emRhbmkgcGVseHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoKISFMb2pi YW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIgY29uY2Vw dCB3aGljaCBjYW4gYmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQgb2Yg YXR0aXR1ZGluYWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90aW9u cyBkaXJlY3RseS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZl bWluaXN0IGNvbnN0cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0 cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBl eHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5kIGlm IG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdv dWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4KCklu IExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMgbW9zdCBw cm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0aGV5 IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRoZXkgYWxs IGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRoZXkgY2Fu IGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVwdGluZyB0 aGUgYnJpZGkncyBncmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoKSW4gTG9q YmFuIGdyYW1tYXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQu IElmIHRoYXQgcHJldmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29uc3RydWN0 IChsaWtlICcnLmknJyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgY29uc3Ry dWN0LiBMaWtld2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdoaWNoIGVu ZHMgYSBjb25zdHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVkIGNvbnN0 cnVjdC4KCgoKTGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBleGFtcGxl czoKCl9fJycudWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogaGFwcGlu ZXNzIC0gdW5oYXBwaW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6 IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24gb2YgJycu dWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBw aW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGluZXNzLCB3 aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdhdGlvbuKA nSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90aGVyIGRl ZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFpJycuIE1v c3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0 aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9m IHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpfXycnbmFp JydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQgY2hhbmdl cyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoKQW5kIHNv bWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGthJydfXyDi gJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWlu L3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1l YW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0 aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBhYm91dCwg bm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRoZSBzZW50 ZW5jZSAnJ2RvIHphJ2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGlyZWN0bHkg b2JzZXJ2ZXMgdGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBlYXRzIGFu IGFwcGxlIGFzIG9wcG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVkaW5hbCBp cyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVyc3Rvb2Qg dG8gYXBwbHkgdG8gYW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFwcGx5aW5n IHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNlIGt1IG1p Jycg4oCTIOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBsZSB0byBt ZSHigJ0KCgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxsICh3aGlj aCBzdWNrcyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1wbGVzLiBG aXJzdCwgdGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18nJy51J3Un J19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNz bmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUg ZW1vdGlvbjogY29tcGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVkaW5hbDog bWlzY2VsbGFuZW91cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0IHRoYXQs IHR3byB3b3JkcyB3aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBUaGUgbWlk ZGxlIG9uZSBpcyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0J3MgY29u c2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0aXR1 ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRo ZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5n IOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem8nZScn IGluc3RlYWQgb2YgJydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cgYXBwbGXi gJ0KCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1IHBsaXNl IGt1Jyd+fgoKCgpMZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQg a2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1ZGlu YWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4K CgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdIGlz ICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkhIFdo ZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0IGFsbCB0 aGUgb3RoZXIgYXR0aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2VzIHRoZSBz cGVha2VyJ3MgZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBj aGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhhdmUg dG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0 aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAnJy51 aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRo ZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdzIHRoYXQg YWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdl IHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9m IGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdoaWNo IHByb2JhYmx5IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0aW5jdGlv biBiZXR3ZWVuIOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwgZW1vdGlv bnPigJ0uIE9ubHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRydXRoIGNv bmRpdGlvbnMsIHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBleHByZXNz IGEgcHJvcG9zaXRpb25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFuZ2luZyB0 aGUgdHJ1dGggdmFsdWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUgaXQgZnJv bSB0aGUgYnJpZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBleHBsaWNp dGx5IGNvbnNlcnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgYSBicmlk aToKCgoKX18nJ2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3NpbmcgLSBp biBmYWN0CgpTYXlpbmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25k aXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9z aXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0aGUgdHJ1 dGggY29uZGl0aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcgcHVyZSBh dHRpdHVkaW5hbHMuCgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0 aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcnbWkgZHVu ZGEgZGEnaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRpdHVk aW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4gVXN1 YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRv IHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywgYmVjYXVz ZSB0aGUgd29yZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJzIGVtb3Rp b25zKSwgc29tZSBMb2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3BlYWtlciBt dXN0IHNoYXJlIHRoZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoKX18nJ2Rh aScnX18gYXR0aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0aXR1ZGlu YWwgdG8gc29tZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5vaSBkYWkg Y2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVy dCHigJ0KCgoKV2hhdCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFpJycgbWVh bj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFu ZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKA nEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVuc2Ug aXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBjb3Vs ZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3UndSBk YWkgdmVjbnUgbG8gemRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBvZiBhbiBh dHRpdHVkaW5hbCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRoZXNlIGNh biBiZSB1c2VkIGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3aXRoICcn bmFpJycgb3IgJydjdSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhhcHBlbnMg d2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBtdXN0IGl0 J3MgbW9zdGx5IHVuZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0aGUgc2Vs YnJpIGluIHNvbWUgdW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5z aXR5ICAKCiBjYWl8ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAgVW5zcGVj aWZpZWQgKG1lZGl1bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBpcyBleHBy ZXNzZWQgdXNpbmcgJycudSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0dWRpbmFs OiBzaW1wbGUgcHVyZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTpTdHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVz cyB0aGF0IHlvdSBhcmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnLnUndSBjdSdpIHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZl IChTRSkKCkJlZm9yZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBs ZXggY29uc3RydWN0cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVv cmRlcmluZyB0aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMg dmVyeSB1c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBv ZiBzdW10aSB3aXRoICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBn aWZ04oCdLCB3aGljaCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBw bGUuIFRvIHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBh IHNlbGJyaSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlm IG9uZSBsb29rcyBjYXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBn aXZlcyB4MiB0byB4Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBz b21ldGhpbmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2VudGVuY2Us IHdlIGNhbid0IHNheSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5k YSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2Yg YSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhhdC4gV2hh dCB3ZSB3YW50IGlzIGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBp cyBvbmUgZXhhbXBsZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcnc2UnJy4g V2hhdCAnJ3NlJycgZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBh bmQgeDIgb2YgdGhhdCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9mICcnc2Un JyArIHNlbGJyaSBpcyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5 IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNs YXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRy YW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRo aXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBu b3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRv IHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4g dGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3 b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8 c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4 NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29u c2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcg dGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9y ICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNv dXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBj YW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoK X18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1 c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkga3UgdGUg a2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3Un JyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBt aSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9t ZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0 IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGlu ZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50 IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRo ZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhl biBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93IHdvdWxk IHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0 a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZv ciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29u IHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xl IHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3Ms IGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwg dGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVj dC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCc SSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlk aSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlv dSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBw eeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBh Ym91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBi ZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5v dCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3Rh dGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBz dGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xl a2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRo ZSB3b3JkcyAnJ3N1J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkg dG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicna3Un Jy4KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9mIHR5cGUg eDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoKX18nJ21lbGJpJydf XyB4MSBpcyBiZWF1dGlmdWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRhbmNlcyB0byBhY2Nv bXBhbmltZW50L211c2ljL3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5zdSBrZWknJyAtIOKA nEJlYXV0aWZpbCBkYW5jaW5n4oCdL+KAnEJlYXV0aWZpbCBkYW5jZeKAnQoKCgpJdCdzIHVzdWFs bHkgaGFyZCB0byBmaW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLiBIb3dldmVy LCBzaW5jZSAnJ3N1J3UgQlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBp dCB0byBhIHN1bXRpIHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVp cG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0u IFRyeSBpdCBvdXQhCgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBr dScnfn4KCgoKSG93ZXZlciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVz ZS4gUGVvcGxlIHByZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCm JydrZWknJyBhbmQgJydkdSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBi dXQgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlk aSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJl YXRzIGl0IGFzIGFuIGFic3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBp ZGVhcywgdGhvdWdodHMgb3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScn KSBhcmUgY2FsbGVkIGFic3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25s eSBmZXcgYXJlIHVzZWQgbXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0 b3IsIGFuZCB3aWxsIHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJ J20gaGFwcHkgYWJvdXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtz IHRvIHgyIGFib3V0IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBnbGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhl IEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0 YWxraW5nKS5+fgoKCgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4u LmtlaScnIChwcm9wZXJ0eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29u Y2VwdC9pZGVhIGFic3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlv bikgYW1vbmcgb3RoZXJzLiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGljYXRlZCBt YXR0ZXIsIGFuZCB3aWxsIGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5 LW5pbmUuIEZvciBub3csIHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMg aW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1 bXRpIHBsYWNlcy4gQXMgYW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25lZC4gJydk dSd1JycgaXMgZGVmaW5lZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHBy ZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRo ZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8g c2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9y IGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0g Y2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1 IGt1IGtlaSBrdScnLCBpZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUuCgpfXycn Y3Vza3UnJ19fIHgxIGV4cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dl cmt1JydfXyB4MSBpcyBhIGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNz b24gc2V2ZW4gKE5PSSkKCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBv ZiBzdWJvcmRpbmF0ZSBicmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBU aGV5IGFyZSBzZW50ZW5jZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBzdW10aS4g SW5kZWVkLCB0aGUg4oCcd2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0 aGUgYmVnaW5uaW5nIG9mIGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3JpYmluZyBy ZWxhdGl2ZSBjbGF1c2VzLiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9ycywgYW5k IGl0IG1pZ2h0IGJlIHdvcnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVmb3JlIGxl YXJuaW5nIGhvdyB0byBleHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVz dHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNs YXVzZXMuIEFuIGV4YW1wbGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hv IGlzIHR3byBtZXRlcnMgdGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRl cnN0b29kIGluIHR3byB3YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywgaW4gd2hp Y2ggY2FzZSBzYXlpbmcgaGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdo aWNoIGJyb3RoZXIgSSBhbSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25seSBvbmUg YnJvdGhlciwgaW4gd2hpY2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0aW9uYWwg aW5mb3JtYXRpb24uCgoKCkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vp c2ggYmV0d2VlbiB0aGVzZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBp cyByZXN0cmljdGl2ZSAoc2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxlIGJyb3Ro ZXJzIEkgbWlnaHQgYmUgdGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZl LiBXaGVuIHNwZWFraW5nIEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGlu IHdyaXR0ZW4gRW5nbGlzaCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdl ZW4gdGhlc2UgdHdvLCBidXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0 cnVjdHMgJydwb2nigKZrdSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmljdGl2ZSBh bmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldCdz IGhhdmUgYSBMb2piYW5pYyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91ciBzdHJh bmdlIGdpZnQtZWF0aW5nIGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24gZml2ZToK Cl9fJydub2knJ19fIGJlZ2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBv bmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0 aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19fIGVuZCBy ZWxhdGl2ZSBjbGF1c2UKCgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3Un bycnID0g4oCcSSBlYXQgYSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKA nS4gCgpIZXJlIHRoZSAnJ3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNl IGR1bmRhIGt1JycsIHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhl IHJlbGF0aXZlIGNsYXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFu IGFwcGxlLCBidXQgc2luY2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0 LCB3ZSBjYW4gc2FmZWx5IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4g YXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2Vl bXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBp bmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydr ZSdhJycsIHdoaWNoIGlzIGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1vcmUgb24g dGhlbSBsYXRlcikgcmVwcmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xh dXNlIGlzIGF0dGFjaGVkIHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0byB0aGUg c3VtdGksIHRvIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVp IG1pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKAnFlheSwg SSBlYXQgYSBnaWZ0IHdoaWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZm ZXJlbmNlIGJldHdlZW4gcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBj bGF1c2VzLCBoZXJlJ3MgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJl ZmxlY3RzIExvamJhbmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9q YmFuaWMu4oCdCgoKCicnbWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9 IOKAnEksIHdobyBhbSBhIExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJhbmljIGxh bmd1YWdlLuKAnSBIZXJlLCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNoICcnbWkn JyBjb3VsZCByZWZlciB0bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBpcyBtZXJl bHkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVy ZWZvcmUgJydub2nigKZrdSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFu c2xhdGUgdGhpczog4oCcSSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNv bWXigJ0uCgpfXycnbmFubXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKA nHgxIGlzIGJlYXV0aWZ1bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKA nQoKX18nJ2Npbmppa2NhJydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNl eHVhbGl0eSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkg Y2luamlrY2EgbG8gbmFubXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1v cmUgdGVjaG5pY2FsIHNpZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cgdGhhdCAn J2xvIHtzZWxicml9IGt1JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBub2kga2Un YSB7c2VsYnJpfSBrdSdvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgTGVzc29uIGVpZ2h0 ICh0ZXJtaW5hdG9yIGVsaXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtv IHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBs byBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1 X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5nLCB3b3Vs ZCB1bmRlcnN0YW5kIHRoYXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBtZS7igJ0KClJlZ2Fy ZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcgdW5kZXJzdG9vZCwg KGl0IHNob3VsZG4ndCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292ZXJlZCBp biB0aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUgY29tcGxl eCBMb2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0aGUgc2Vu dGVuY2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3UnbycnIGFuZCBvdGhl ciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoK ClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBlbmQgb2Yg YSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug4oCcY29u dmVydCBzZWxicmkgdG8gc3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUgRW5nbGlz aCB3b3JkIGZvciB0aGlzIGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0aGUgTG9q YmFuIHdvcmQgaXMgJydmYSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xkIGluIHRo ZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4YW1wbGUg YXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBnb29kIHJl YXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1JydfXyBm YSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3cml0dGVu IExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMgZ3JlYXRs eSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBob3dldmVy LCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdvLiBJbiB0 aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0aGUgZmEn b3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNoIGlzIGEg c2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBUaHVzLCBp dCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFuIEFtZXJp Y2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkgd3Jvbmcg cmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVuJ3QgbGVh cm5lZCBhYm91dCBpdCB1bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29ybWEnbyBj YW4gYmUgZWxpZGVkIGlzIHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKAnFlvdSBj YW4gZWxpZGUgYSBmYSdvcm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBkb2VzIG5v dCBjaGFuZ2UgdGhlIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNlLuKAnQoK TW9zdCBmYSdvcm1hJ28gY2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJp ZGkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVvdGXigJ0t ZmEnb3JtYSdvIGFuZCDigJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBUaGlzIGlz IHdoeSAnJ3ZhdScnIGlzIGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5uaW5nIGEg bmV3IGJyaWRpIHdpdGggJycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUgdGhlIHBy ZWNlZGluZyBicmlkaSBhbnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dldmVyLiBT aW5jZSBhdHRpdHVkaW5hbHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29yZCwgYXBw bHlpbmcgaXQgdG8gYSBmYSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNvbnN0cnVj dCB3aGljaCBpcyB0ZXJtaW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4gdXNlIGF0 dGl0dWRpbmFscyBhZnRlcnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGlyZSBicmlk aToKCicnemEnYSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0uLi4gdmF1IGkn ZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24uLi4gSSBhcHBy b3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEgcGVyc29uYWxp dHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxpc2lvbiwgd2Ug Y2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVnaW4gcmVtb3Zp bmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0 dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2 bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoK CgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1hdGljYWxseSB1bm5l Y2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQgaXMgJydqaW1wZScn LCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHNlbGJyaSBw ZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1wZScnIGFzIGEgc2Vs YnJpIGNhbm5vdCBiZSBpbiB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAob25seSBvbmUgYnJp ZGkgaW4gYSBjbGF1c2UsIG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRpKSwgd2UgY2FuIGVs aWRlICcna3UnbycnLiBMaWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBhIHNlY29uZCBzZWxi cmkgaW5zaWRlIHRoZSBjb25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScnLCBzbyB0aGUgJydr dScnIGlzIG5vdCBuZWVkZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRoZSBmYSdvcm1hJ28g YXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVkIHRvbywgc2luY2Ug YmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0aGVzZSBjb25zdHJ1 Y3RzIGFueXdheS4KCldlIHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdpIG1pIGRqaWNhIGxv IG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51 IHZvJ2EgZGFyeGkgbWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpXaGVuIGVs aWRpbmcgZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVkIHdpdGgg JydjdScnLiAnJ2N1JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtlIHlvdXIg KExvamJhbmljKSBsaWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNlcGFyYXRl IGFueSBwcmV2aW91cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkgdGhhdCBp dCBkZWZpbmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5hdGVzIGV4 YWN0bHkgYXMgbXVjaCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoKX18nJ2N1 JydfXyBlbGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRpbmcgc3Vt dGksIGFsbG93cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFtaScnX18g PSDigJx4MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBw cmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1pJycgPQoKJydsbyBz dSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNlIGRqaWNhIG1pJycK CuKAnFRoYXQgeW91IHNheSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQgYnkgYmXigJ0gb3Ig 4oCcSSB3aXNoIHlvdSBzYWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydjdScnIGlzIG5vdCBh IGZhJ29ybWEnbywgYmVjYXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3BlY2lmaWMgY29uc3Ry dWN0LiBCdXQgaXQgY2FuIGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3JtYSdvLgoKCgpPbmUg b2YgdGhlIGdyZWF0ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBpdCBxdWlja2x5IGJl Y29tZXMgZWFzeSB0byBpbnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNlbGYgaXQgbWVhbnMg bm90aGluZywgYnV0IGl0IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2piYW4gZXhwcmVzc2lv bnMgYnkgaWRlbnRpZnlpbmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3JpZ2luYWwgZXhhbXBs ZSB3aXRoIHRoZSB2aW9sZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcnY3UnJyBiZWZvcmUg JydqaW1wZScnIGRvZXMgbm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgc2VudGVuY2UgaW4g YW55IHdheSwgYnV0IG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoKCkluIHRoZSBmb2xs b3dpbmcgY291cGxlIG9mIGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQgd2hlbiBuZWNlc3Nh cnksIGFuZCBhbGwgZmEnb3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhlIGVsaWRlZCBmYSdv cm1hJ28gd2lsbCBiZSBlbmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBzaG93biBiZWxvdy4g VHJ5IHRvIHRyYW5zbGF0ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMgaW1wb3J0YW50IHRv IHgyIGZvciByZWFzb24geDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5kZXJzdGFuZHMgdGhh dCB4MiAoZHUndS1hYnN0cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2EnbycnX18g LSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAtIGRlc3Bh aXIKCgoKJydhJ28gZG8gbm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1fSBjdSBqaW1wZSBs byBkdSd1IGxvIGZhJ29ybWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0n JwoKV2hhdCBkbyBJIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgaG9wZSB0aGF0 IHlvdSwgYSBwcm91ZCBMb2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdvIGFyZSBp bXBvcnRhbnTigJ1+fgoKCgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZlcnNlZCBp biBmYSdvcm1hJ28tZWxpc2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhleSBvZnRl biBtdXN0IGJlIHJlbWluZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdvcm1hJ28g YXJlIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNoIFR1ZXNk YXkgaGF2ZSBiZWVuIGRlc2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydmYSdvcm1h J28gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRlcm1pbmF0b3Ig RGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJlciB3cml0aW5n IG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVyc2F0aW9ucyBh cyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUgKHN1bXRjaXRh KQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRoZSBzZWxicmkg d2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUgYW1vdW50IG9m IGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhlIHN1bXRpIHBs YWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hhdCBpZiwgc2F5 LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNvbXB1dGVyPyBU aGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0byBzcGVjaWZ5 IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUgdGltZSwgdGhh dCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlzIG9uIGhvdyB0 byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoKVGhlIG1vc3Qg YmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1 JycgKHllcywgYW5vdGhlciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4gSXQncyBh bG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBsYXN0IHRpbWUgeW91 IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdvZXMgYSBzZWxicmks IGFuZCBsaWtlICcnbG8gU0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUndScnIGV4dHJhY3Rz IHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcnZmknbyBT RUxCUkkgZmUndScnLCB0aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRvIGEgc3Vt dGksIGJ1dCB0byBhICcnc3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKAnSwgd2l0 aCB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNvbnZlcnRl ZC4gVGhpcyAnJ3N1bXRjaXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBPbmUgY291 bGQgc2F5IHRoYXQgdXNpbmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10aSBwbGFj ZSBmcm9tIGFub3RoZXIgc2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWluZyBzYWlk LgoKTm90ZTogU29tZXRpbWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUgdGVybSDi gJx0YWfigJ0gb3Ig4oCcbW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJZ25vcmUg dGhvc2UgcHVueSBFbmdsaXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9qYmFuIGhl cmUuCgoKCldoaWxlIGl0IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSByZWFkaW5n IGFib3V0IGl0LCBhbiBleGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBzaW1wbGlj aXR5OgoKX18nJ3NrYW1pJydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3NlIHgy4oCd CgpfXycncGlsbm8nJ19fIOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4M+KAnQoK CgonJ21pIGZhbnZhIHRpIGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1pIHtrdX17dmF1fScn IC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgyIG9mICcncGls bm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNlIHN0cnVjdHVy ZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBzdHJ1Y3R1cmUg aXMgY2FwdHVyZWQgYnkgJydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRvIHRoZSBtYWluIHNl bGJyaSwgYW5kIHRoZW4gZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2YgJydzdW10 Y2l0YScnIGlzIHNvbWV0aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUgZm9sbG93 aW5nIHRyYW5zbGF0aW9uOgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEgY29tcHV0 ZXLigJ0KCgoKQSAnJ3N1bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwgd2hpY2gg aXMgYWx3YXlzIHRoZSBmb2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0aGUgJydzdW10Y2l0 YScnIGNvbnN0cnVjdCBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywgaW4gd2hpY2ggY2Fz ZSBhICcnem8nZScnIGlzIGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0YScnLiBPciwgb25l IGNvdWxkIGltYWdpbmUgYW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0ZWQgd2l0aCB0aGUg JydrdScnLgoKX18nJ3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwgZW50aXR5IGNhcnJ5 aW5nIG91dCBhY3Rpb24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1 fSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g4oCcV2l0 aCB2b2xpdGlvbiwgYSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAocGVyaGFw cyBpbXBseWluZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8gVG91Z2gg aXQgZG9lcyBub3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0IGJlIHRo ZSBwcm9ncmFtbWVyIHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3JpbmcuKQoK CgpXaGF0IGRvZXMgJydtaSBqaW1wZSBmaSBsYSBsb2piYW4ge2t1fSBmaSdvIHNlIHRhdmxhIHtm ZSd1fSBtaScnIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBz b21ldGhpbmcgYWJvdXQgTG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAn J3N1bXRjaXRhJycgcmlnaHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNl bGYtdGVybWluYXRlLCBzaW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBu b3Qgc2VsYnJpLiBUaGlzIGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29u LCBhcyB5b3Ugd2lsbCBzZWUuCgoKClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9m dGVuIGRlc3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhv dWdoLCBhcmUgQkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRo ZW1zZWx2ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUn ZScnLCB0aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhl IHNhbWUgYXMgJydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291 bGQgYmUgcmVkdWNlZCB0bzoKCicnenUnZSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxv amJvIHtrdX0ge3ZhdX0nJy4gVGhlcmUgZXhpc3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQg YSBsb3Qgb2YgdGhlc2UgYXJlIHZlcnkgdXNlZnVsIGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNh biBhbHNvIGJlIGNvbnZlcnRlZCB3aXRoICcnc2UnJyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0 ICcnc2UgenUnZScnIGlzIGVxdWFsIHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJl c3VsdHMgaW4gYSBncmVhdCBkZWFsIG1vcmUgQkFJLgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIHRlbiAoUFUsIEZBaEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRv IHRoZSBFbmdsaXNoLXNwZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJl YWQgdGhyb3VnaCBuaW5lIGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5n IGEgdGVuc2Ugb25jZS4gVGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1 YWdlcyAobW9zdCBJbmRvLUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMg aW4gTG9qYmFuIGFyZSBvcHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScn IGNhbiBtZWFuIOKAnEkgZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9y IOKAnEkgYWx3YXlzIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZl IGp1c3QgZmluaXNoZWQgZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlz IGNvcnJlY3QsIGFuZCBpbiBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVk IGF0IGFsbC4gSG93ZXZlciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11 c3QgYmUgdGF1Z2h0LiBGdXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNh dXNlIHRoZXkgdHJlYXQgdGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNh eWluZyB0aGF0IEkgd29ya2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBk aWZmZXJlbnQgdGhhbiBzYXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2Ug bWFueSBvdGhlciBsYW5ndWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMg dGhlIG1vc3QgZGlmZmljdWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhl ciBsYW5ndWFnZXMgdGhvdWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5z ZS4gU28gZmVhciBub3QsIGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJu IGhvdyB0byBtb2RpZnkgdGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoK Ck5vLCBpbiB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEs IHdoaWNoIHdlIGhhdmUgY29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIg d2l0aC4gT2theSBva2F5LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJl bnQgZnJvbSBvdGhlciBzdW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5z aWduaWZpY2FudCwgYW5kIHdpbGwgYmUgd29uJ3QgYmUgZXhwbGFpbmVkIHVudGlsIGxhdGVyLiBJ biBtb3N0IGFzcGVjdHMgdGhleSBhcmUgbGlrZSBhbGwgb3RoZXIgc3VtdGNpdGE7IHRoZXkgYXJl IHRlcm1pbmF0ZWQgYnkgJydrdScnLCBtYWtpbmcgaXQgZXhwbGljaXQgdGhhdCBQVSBpcyB0ZXJt aW5hdGVkIGJ5ICcna3UnJy4KClRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBraW5kcyBvZiB0ZW5z ZS1zdW10Y2l0YSwgc28gbGV0J3Mgc3RhcnQgYXQgdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBF bmdsaXNoLXNwZWFrZXJzLgoKX18nJ3B1JydfXyAtIHN1bXRjaXRhOiBiZWZvcmUge3N1bXRpfQoK X18nJ2NhJydfXyAtIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1lIGFzIHtzdW10aX0KCl9fJydi YScnX18gLSBzdW10Y2l0YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVzZSBhcmUgbGlrZSB0aGUgRW5n bGlzaCBjb25jZXB0cyDigJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBhbmQg4oCcYWZ0ZXLigJ0uIElu IGFjdHVhbGl0eSB0aG91Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0IHR3byBwb2ludC1saWtlIGV2 ZW50cyBjYW4gbmV2ZXIgb2NjdXIgZXhhY3RseSBzaW11bHRhbmVvdXNseSwgcmVuZGVyaW5nICcn Y2EnJyB1c2VsZXNzLiBCdXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBh bmQgdGhlIGZ1dHVyZSwgbWVhbmluZyBqdXN0IOKAnGFib3V0IG5vd+KAnS4gVGhpcyBpcyBiZWNh dXNlIGh1bWFuIGJlaW5ncyBkb24ndCBwZXJjZWl2ZSB0aW1lIGluIGEgcGVyZmVjdGx5IGxvZ2lj YWwgd2F5LCBhbmQgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVmbGVjdHMgdGhhdC4KCgoKU2lk ZSBub3RlOiBJdCB3YXMgYWN0dWFsbHkgc3VnZ2VzdGVkIG1ha2luZyB0aGUgTG9qYmFuIHRlbnNl IHN5c3RlbSByZWxhdGl2aXN0aWMuIFRoYXQgaWRlYSwgaG93ZXZlciwgd2FzIGRyb3BwZWQsIGJl Y2F1c2UgaXQgaXMgY291bnRlci1pbnR1aXRpdmUsIGFuZCB3b3VsZCBtZWFuIHRoYXQgdG8gbGVh cm4gTG9qYmFuLCBvbmUgd291bGQgaGF2ZSB0byBsZWFybiB0aGUgdGhlb3J5IG9mIHJlbGF0aXZp dHkgZmlyc3QuICAKCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnEkgZXhwcmVzcyB0aGlzIGFm dGVyIEkgY2FtZSBoZXJlP+KAnSAocG9pbnRpbmcgdG8gYSBwYXBlcikKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1hIHRpIHt2YXV9IHtrZWkge2t1 fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBkbyBub3QgbmVlZCB0byBz cGVjaWZ5IHdoaWNoIGV2ZW50IHRoaXMgYWN0aW9uIGlzIGluIHRoZSBwYXN0IHJlbGF0aXZlIHRv LiBJbjog4oCcSSBnYXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRo ZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBhbmQgdGh1cyB3ZSBjYW4g ZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBpdCdzIG9idmlvdXM6Cgon J3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5kYSBsbyBz a2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25seQoKJydtaSBwdSB7a3V9 IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBz dW10Y2l0YSBpcyBhbiBpbXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzIHVu ZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFuZCBwbGFjZSAodGhp cyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQgYW5kIHJp Z2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBzb21lIG90 aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQgdGhhdCBh bGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tl biBhYm91dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZl IHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQgJyduYXUnJyBjYW4g YmUgdXNlZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFya3MgYSB0ZW5zZSB3 aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3aWxsIGJlIHRh dWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFuZCBzcGFjaWFs IGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVyZSBhbmQgbm93 LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2YgcGVvcGxlIHgyIHdp dGggbGFuZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydtaSBwdSB7a3V9IGts YW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFtZXJpY2HigJ0s IGRvZXMgbm90IGltcGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxpbmcgdG8gVVNBLCBvbmx5 IHRoYXQgaXQgd2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIGZvciBpbnN0YW5j ZSBmaXZlIG1pbnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNpYWwgYW5kIHRlbXBvcmFs IHRpbWUgdGVuc2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0IHRoZSBwcmV2aW91cyB0 aHJlZSB0aW1lIHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0ZW5zZXM6CgpfXycnenUn YScnX18gc3VtdGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3UnJ19fIHN1bXRjaXRhOiBp biBmcm9udCBvZiB7c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6IHJpZ2h0IG9mIHtzdW10 aX0KCl9fJydidSd1JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAo c3BhY2lhbCBlcXVpdmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFs OiBjb21wbGV4IHB1cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpX aGF0IHdvdWxkICcnLm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUge2t1fSBjdSBkYXJ4aSBs byBnZXJrdSBwdSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBtZWFuPyAobm90aWNlIHRo ZSBmaXJzdCBlbGlkZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0cy9oaXRzIHgyIHdpdGgg aW5zdHJ1bWVudCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHthbmdl ciF9IFRvIHRoZSByaWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBtZSkgYW5kIGluIHRoZSBw YXN0IChvZiBzb21lIGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50IG9mIGEgcGVyc29uIGJl YXRpbmcgYSBkb2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBteSByaWdodCHigJ1+fgoK CgpJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBvbmUgYnJpZGksIHRoZSBy dWxlIGlzIHRoYXQgeW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoaW5raW5nIGl0 IGFzIGEgc28gY2FsbGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBXaGVyZSB5b3UgYmVnaW4g YXQgYW4gaW1wbGllZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVmYXVsdDogdGhlIHNwZWFr ZXIncyBub3cgYW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBh IHRpbWUgZnJvbSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0g amltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9IOKAnEF0IHNvbWUgdGlt ZSBpbiB0aGUgcGFzdCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJvdXQgZmEnb3JtYSdvcy7i gJ0KCicnbWkgYmEge2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9 IHt2YXV9Jycg4oCcQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRl cnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUg YW1vdW50IG9mIHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFuZGluZyBj b3VsZCBpbiBib3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRo ZSBwb2ludCBvZiByZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRl bnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwgYmVmb3Jl IHNwYWNpYWwuIElmIHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1 bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3QgdG9sZXJh dGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhlIGEgbWFuIGhpdCBhIGRv ZyBqdXN0IGEgbWludXRlIGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6YScnIGFuZCAnJ3p1Jycg c3BlY2lmaWVzIGEgc2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5IG1lZGl1bSkgYW5kIGxv bmcgZGlzdGFuY2UgaW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRlciAnJ2knJywgJydhJycg YW5kICcndScnLiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFnYWluIGluIExvamJhbiwg YW5kIG1pZ2h0IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKAnSBhbmQg4oCcbG9uZ+KA nSBpbiBhcmUgYWx3YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2ZSBhbmQgc3ViamVjdGl2 ZS4gVHdvIGh1bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBhIHNwZWNpZXMgdG8gZXZv bHZlLCBidXQgYSBsb25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4KCl9fJyd6aScnX18gc3Vt dGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJv bSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUg dW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2lu dCBvZiByZWZlcmVuY2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRp c3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgoK ClNpbWlsYXJseSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkgJyd2aScnLCAnJ3ZhJycg YW5kICcndnUnJyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0pIGFuZCBsb25nIGRpc3Rh bmNlIGluIHNwYWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRp c3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycn dmEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5j ZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3Z1Jydf XyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNl IGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScnX18g4oCceDEgd29ya3Mg YXQgeDIgd2l0aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAnJ2JhIHtrdX0gemEga3Ug bWkgdnUge2t1fSBndW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZSB0 aW1lIGluIHRoZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9uZyBhd2F54oCdfn4KCk5v dGU6IFBlb3BsZSByYXJlbHkgdXNlICcnemknJywgJyd6YScnIG9yICcnenUnJyB3aXRob3V0IGEg JydwdScnIG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVv cGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZl IGxhbmd1YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1vc3Qgb2Yg dGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydwdScnIG9y ICcnYmEnJyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlvbi1zdW10 Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBS ZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNlIHdvcmRzIHBsYWNlZCB0 b2dldGhlciBhcmUgcGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9t IGxlZnQgdG8gcmlnaHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3 aGlsZSAnJ3p1IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0aW1lIHdo aWNoIGlzIGEgbG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KA nS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGluIHRo ZSBwYXN0LCAnJ3p1JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4g dGhlIHNlY29uZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBv aW50IGZhciBhd2F5IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUg YmFja3dhcmRzIGZyb20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlzIGluIHRo ZSBwYXN0LiAnJ3p1IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0 aGVzZSB0aW1lIHRlbnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVy ZW5jZXMgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFu aW5ncyBvZiBvdGhlciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9m IGFkZGl0aW9uYWwgc3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVh cmxpZXIsIGFsbCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0 aGV5IHdlcmUgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0 IGV2ZW50cyBwbGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZv bGxvd2luZyBmZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lmeSBpbnRl cnZhbHMgb2YgdGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5p bmcgb3ZlciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUnYScnX18gc3VtdGNpdGE6 IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRpbWUgb2Yge3N1bXRpfQoK X18nJ3plJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1 bXRpfQoKCgpfXycndmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHNw YWNlIG9mIHtzdW10aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUg dW5zcGVjaWZpZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ3UnJ19fIHN1bXRj aXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4IHdvcmRz IGF0IGEgdGltZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFu ZCB0aGUgc2ltaWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVu c2VzIGFuZCB2IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6aW5nLgoK X18nJy5vaScnX18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5zbGF0ZTog Jycub2kgZGFpIGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHplJ3Uge2t1 fSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgeW91IHNwZW5kIGEgbG9u ZyB0aW1lIHRyYXZlbGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKAnSB+fgoKCgpUaG91Z2gg bW9zdCBwZW9wbGUgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwgdGVuc2VzLCB0aGVzZSBu ZXcgd29yZHMgY2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0IHVzZXMuIE9uZSBjb3Vs ZCwgZm9yIGluc3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmlnIGRvZ+KAnSBhcyAnJ3Rp IHZlJ3Uge2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3Ig YSBsb25nIHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQg d2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRzIGJyb3RoZXJzIGFsc28g Y29tYmluZSB3aXRoIG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5kIHRlbnNlcy4gVGhlIHJ1 bGUgZm9yICcnemUndScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMgcHJlY2Vk aW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0byB0aGUg cG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQgbWFya3Mg dGhlIG90aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91bGQgYmUg ZGVtb25zdHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5vJ29jdSdpIGRvIGNp dGthIHB1IHtrdX0gemUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScnIC0g4oCce3RvbGVy YW5jZX0geW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBhIGxvbmcgdGltZSBl bmRpbmcgYXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdoZW4geW91IHN0YXJ0 ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9uZSBjYW4gYWxz byBjb250cmFzdCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3 aXRoICcnZG8gcHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7dmF1fScnLiBUaGUgZmly c3QgZXZlbnQgb2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHByZXNlbnQgYW5k IGV4dGVuZHMgYSBsaXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUgdGhlIHNlY29uZCBldmVu dCBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRzIG9ubHkgdG8gdGhlIHBy ZXNlbnQgKHRoYXQgaXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBmdXR1cmUpIG9mIHRoYXQg ZW5kcG9pbnQuCgpfXycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5IHN0YW5kYXJkIHgy4oCd CgoKCldoYXQgZG9lcyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUndSB7a3V9IGptaXZlIHt2 YXV9JycgZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7aGFwcGluZXNzIX0gSSBs aXZlIGZyb20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25nIHdheSB0b3dhcmRzIHRo ZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGluIHRoaXMgY2FzZSkgb2Yg dGhhdCBldmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBtb3N0IG9mIG15IGxpZmUg YWhlYWQgb2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0aGUgc2ltaWxhcml0eSB3 aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1l IHdpdGggc3BhY2lhbCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1ZGluYWw6IHdvbmRlciAt IGNvbW1vbnBsYWNlCgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9IHZlJ3Uge2t1fSBjYSd1 IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBm cm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3csIHRoaXMgaG9tZSBl eHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUgd2l0aCB0 aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5nIGF0IGxl YXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vzbid0IG9jY3VweSB5b3Vy IGJyYWluIGluIG9yZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4gU2luZyBhIHNv bmcgb3IgZWF0IGEgY29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIsIGFzIGxvbmcgYXMgeW91 IGxldCB5b3VyIG1pbmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlbGV2ZW4g KFpBaE8pCgpUaG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0 cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRo aW5rIHNob3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRv dXJz4oCdLCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVu c2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0IHRvIGl0OgoKCgpVc2lu ZyB0aGUgdGVuc2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNhbiBpbWFnaW5lIGFuIGlu ZGVmaW5pdGUgdGltZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVudHMgb24gdGhhdCBsaW5l IHJlbGF0aXZlIHRvIHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29udG91cnMsIGhvd2V2ZXIs IHdlIHZpZXcgZWFjaCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhhcyBjZXJ0YWluIHN0YWdl czogQSB0aW1lIGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBpdCBiZWdpbnMsIGEgdGlt ZSB3aGVuIGl0IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVuZHMsIGFuZCBhIHRpbWUg YWZ0ZXIgaXQgaGFzIGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRlbGxzIHVzIHdoaWNoIHBh cnQgb2YgdGhlIGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUgdGltZSBz cGVjaWZpZWQgYnkgdGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMg Zmlyc3Q6CgoKCl9fJydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBo YXMgbm90IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2NhJ28nJ19fIC0gc3VtdGNp dGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCl9f JydiYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlk aSBoYXMgZW5kZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0 ZWQgYnkgc29tZSBleGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28ge2t1fSBzZSB6ZGFuaSB7 dmF1fScnIG1lYW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2luIHRvIGhhdmUgYSBob21l 4oCdLgoKCgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtr dX0gc2UgemRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1c2UsIHJl bWVtYmVyLCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNh eXMgbm90aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5nICcncHUn bycnLCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUg cHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9uJ3Qg aGF2ZSBvbmUgbm93LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21pIGJhIHtrdX0gc2UgemRh bmkge3ZhdX0nJyBpcyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9Jycs IGFuZCBsaWtld2lzZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNlZW0g cmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBzZWVu IGZyb20gdGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVhcyB0aGUgb3RoZXIgdGVu c2VzIHZpZXcgZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNv bnRvdXJzIGFyZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9mIHRlbnNlcy4gRXZlbiBt b3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2VzOiAnJy5h J28gbWkgYmF7a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9JycgLSDigJxJIGhvcGUg SSd2ZSBzb29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwgd2UgYWxzbyBvcGVy YXRlIHdpdGggYW4gZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRzIOKAnG5h dHVyYWwgZW5k4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZl IGluIHRoaXMgc2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBwb2ludCBp biB0aGUgcHJvY2VzcyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91dCBhIGxh dGUgdHJhaW4sIGZvciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGluZyB5b3Ug aXMgbm93IGV4dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwg YnV0IHNlcnZlZCBtZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0aGF0IHBy b2Nlc3MnIG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91cnMgdXNlZCBpbiB0aGVz ZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19fIC0gc3VtdGNpdGE6IGV2 ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0cyBuYXR1cmFsIGVuZCBk dXJpbmcge3N1bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJy aWRpIGlzIGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycnY2lkamEn J19fOiDigJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0 ZTogJycub2kgZG8gY2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0gdSdlIGNpdGthIHpvJ2Ug bm9pIGNpZGphIGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91IGhhdmUgZmluaXNoZWQs IGluY3JlZGlibHksIGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+CgoKCntpbWcgZmlsZUlk PSIyIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6IFpBaE8gdGVuc2VzIChl dmVudCBjb250b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNp Z25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93 IHRoZSBldmVudCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBwb2ludC1saWtlLgoKCgpB bGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0YWdlcyBvZiBhIHByb2Nl c3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRo b3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55IG9mIHRoZSBldmVudCBj b250b3VycyBkZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2Ug aXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcnYnUndScnLCB0aGV5IGFj dHVhbGx5IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2YgdGhhdCBw b2ludCwgYW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBpbXBvcnRh bnQgcG9pbnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY28nYScnX18gLSBzdW10Y2l0 YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcge3N1bXRp fQoKX18nJ2NvJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0 cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQg d2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5lY2Vzc2Fy aWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgpNb3N0IG9m IHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQgdGhlaXIgbmF0dXJh bCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFpbnMgYXJlIG5vdCB1 c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1zZWx2ZXMgdG8gZWF0 IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUgaW50ZXJydXB0ZWQg YW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBvd24gZXZlbnQgY29u dG91ciBhbHNvOgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRp IGlzIHBhdXNpbmcgZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAtIHN1bXRjaXRhOiBldmVu dCBjb250b3VyOiBCcmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBmYWN0LCBz aW5jZSAnJ2p1bmRpJycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0sICcnZGUn YSBqdW5kaScnIGFuZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlzIG9mIHNh eWluZyDigJxCUkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBz YXkgdGhlIGV2ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdl dHMgYWNyb3NzLgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVudCwgZnJv bSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2luZyAnJ2Nv J2knJzoKCl9fJydwZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPigJ0KCicn bWkgcHUge2t1fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2 YXV9JycgLSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRoZSBwb2ludCBpbiB0aW1l IHdoZXJlIGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcsIHRob3NlIHR3byBsb25n IGxlc3NvbnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRoZSBicmFpbiBzb21ldGhp bmcgdG8gcG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQncyBzbyBkaWZmZXJlbnQg ZnJvbSBFbmdsaXNoLiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBsaWdodGVy OiBPcmRlcnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5kIGZvY3Vz IV9fCgoKClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBpcyB0byBs ZWF2ZSBvdXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRo YXQgaXQgd2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBteXNlbGYs IG9yIGV4cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0 aGUgRW5nbGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhlaXIgdmVy eSBuYXR1cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg 4oCceW914oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCkluIExvamJh biwgZWxpZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNvIHRoYXQgcG9zc2liaWxp dHkgaXMgc2FkbHkgbm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tv JycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycnLiBHcmFtbWF0aWNhbGx5 IGFuZCBicmlkaS13aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQgYWRkcyBh IGxheWVyIG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50IHdpdGgg JydrbycnIGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNl IGlzIHRydWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2UgZG9uJ3Qg bmVlZCB0aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9uJ3QgbmVlZCBvcmRl ci13b3JkcyBkZXJpdmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoKCgpIb3cg Y291bGQgeW91IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUgKHVzaW5n ICcna2xhbWEnJyBhcyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Omtv IHZlJ3UgemUndSBrbGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkgY2EgY28ndSBjaXNrYSBs byBmYSdvcm1hJ28gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxvb2sgdXAgY2lza2EgYW5kIHdv cmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5IGVhc3kgdG8gbGVhcm4s IGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBibGFuaywgYW5kIHRydWUv ZmFsc2UgcXVlc3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVlLWZhbHNlIHF1ZXN0aW9u IGtpbmQgLSB0aGF0J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBpbnZvbHZl cyBvbmUgd29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4g dGhlIHNlbnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUg cHJlY2VkaW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2Vu dGVuY2UgaW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4g SW4gb3JkZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZl J3UgemRhbmkgZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91IGp1c3QgcmVwZWF0IHRo ZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0 ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3YXkgdG8g YWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRp bWUuIFRvIGFuc3dlciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIg d2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIs IGJ1dCB3ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhl IG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBx dWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMg dGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBl bmRpbmcgb24gd2hhdCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydtYScnX18gLSBzdW10aSBx dWVzdGlvbgoKX18nJ21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18nJ3hvJydfXyAtIG51bWJl ciBxdWVzdGlvbgoKX18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2VsbCBhcyBt YW55IG90aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxhY2UgdGhl IHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVuZGEgbWEg bWknJyAtIGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qgc3VtdGku IOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydzdW10Y2l0 YScnICsgJydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdSdpJydfXyAtIHN1bXRj aXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycub2kgZG8g ZGFyeGkgbWkgbXUnaSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0KCgoKTGV0 J3MgdHJ5IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6CgonJy51aSBkYWkg ZG8gY2EgemUndSBwdSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91J3JlIGhhcHB5 LCB3aGF0IGhhdmUgeW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGlsIG5vdz/i gJ0gVGVjaG5pY2FsbHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91IGJlZW4/ 4oCdLCBidXQgYW5zd2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVtbmEnJyAoVWgsIGh1bWFu LCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5veWluZyBvbiBwdXJwb3Nl Ln5+CgoKClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3RydWN0dXJlIGRvZXMgbm90 IHJldmVhbCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBvciBub3QsIG9uZSBiZXR0 ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwgc2luY2UgcGVvcGxlIHRl bmQgdG8gZm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQg b2Ygc2VudGVuY2VzLCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRo ZSBzZW50ZW5jZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2Vz LiBJZiB0aGF0IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJr aW5nIHRoYXQgdGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3BhdSBuYWkn JyBleHBsaWNpdGx5IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2FsLgoKCgpX aGlsZSB3ZSBhcmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQncyBhbHNvIGFwcHJvcHJp YXRlIHRvIG1lbnRpb24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKA nGluZGlyZWN0IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/ IFdlbGwsIHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBkanVubyBsbyBkdSd1IG1h IGthdSB6ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoKX18nJ2Rq dW5vJydfXyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0 ZW1vbG9neSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVz dGlvbiAnJ21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBub24tcXVl c3Rpb24gd29yZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFn aW5lIGl0IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBkdSd1IGR1 bmRhIHRpIGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZlbiwgaXQg aXMgdGhpcy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVuIChtb3Jw aG9sb2d5IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVz dGluZykgc3R1ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3Qg eW91IGZpbmQgdGhlIExvamJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBV bmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExvamJhbiBvbiBNdW1ibGUs IGFuZCB0aGVuIHByYWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2aW5nIGFuIGludGVybmFs IGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBp c24ndCB3aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlv biBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwg bm90IGJlIG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0 IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9sb2d5LgoK CgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVlayBtZWFu aW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRh bGsgYWJvdXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNv bnRyYXN0ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4g TG9qYmFuIG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBjbGFzc2Vz LCB3aGljaCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFrZSBpdCBh bGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBmdW5jdGlv bnMgdGVuZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0IGV4Y2Vw dGlvbnMgbWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlwaWNhbCBG dW5jdGlvbgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGktd29yZHwg ICBBbW9uZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMgYSBjb25z b25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBk ZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwgICBSb290 LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBPbmUgdG8g Zml2ZSBzdW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVqdm98ICBD b21wb3VuZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCc Y29tcGxleCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdpbmcgcmFm c2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMg bW9yZSBjb21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBDb3B5LXdv cmQgfCBBcyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNt dSBvciBsdWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxp a2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUtd29yZCB8 ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3Vu ZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0 aGUgY29udGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBGcm9tIOKA nGNtYXZsYeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50IG9yIHpl cm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAgR3JhbW1h dGljYWwgZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAgfAoKICAg UmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBv ciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhl ciB0byBmb3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBp ZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVk IGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25z b25hbnQuIGNtZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGlu ZyBhcyBhIG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJy aSBjYW5ub3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBl bmNhc2VkIGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhl IG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4 YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFw b3N0cm9waGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBN aW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9u ZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNh c2UpIHJlbW92ZWQ6ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJp ZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJl Zm9yZSBhbG1vc3QgYWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBi cml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxj b250ZW50LXdvcmRz4oCdLiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1 c2VmdWwgd2l0aG91dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBv dXRzaWRlIGxvamJhbiBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhp bmdzIGluIHRoZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4g dGhlIHRhYmxlLCBicml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19f IGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlz dHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3Qg YmFzaWMgY29uY2VwdHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKA nSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1Jycg YW5kICcnZHVuZGEnJwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kg KHNlZSB1bmRlciByYWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZz aSwgb25lIG5hcnJvd3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1h ZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRo ZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxw YSdpJycsIGZyb20gJydzZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBoYXZlIG9uZSBkZWZpbml0 aW9uLiBJbnN0ZWFkLCBsdWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRl ZmluZWQsIGFuZCB0aGVuIHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBk aWN0aW9uYXJ5LiBFeGFtcGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGktd29yZCksICcnY2luamlr Y2EnJyAoc2V4dWFsLXNvY2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNo ZWxsLWluc2VjdCA9IGJlZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJlIG1hZGUgYnkgbWFraW5n IHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQgbm90IGZv ciBsdWp2byBvciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNoIGl0J3Mg aGFyZCB0byBjb3ZlciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5h dGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVk ZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2Fu Z2VsaScnIChhbmdlbCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25l IG9yIHplcm8gY29uc29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGlu IHRoZSBleHRlcmlvciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlv bi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRp bmFscyBleGlzdHMgZm9yIHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJk IGV4YW1wbGUgYXJlIHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0IGFzIGJy aXZsYS4gSXQgaXMgdmFsaWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGluIGEgcm93IGFzIG9uZSB3 b3JkLCBidXQgaW4gdGhlc2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBkb25lLiBCeSBncm91cGlu ZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwgaXQgaXMgc29tZXRp bWVzIGVhc2llciB0byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxp ZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6dSB2dSBrdSBtaSBj aXRrYScnLiBMaWtlIG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAoYnV0IG5lZWQgbm90 IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0 aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBvciBWJ1ZWIGFyZSBleHBl cmltZW50YWwsIGFuZCBhcmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1t YXIsIGJ1dCB3aGljaCBoYXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQg dG8gYSBjZXJ0YWluIG5lZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5vdCBMb2piYW4gd29yZHMs IGFuZCBjYW4gbmV2ZXIgYXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZlcmFsIChtb3JlIHRoYW4g b25lKSByYWZzaSBjb21iaW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1 cCB0byB0aGUgYnJpdmxhLWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAnJ2xvamJhbicnIGlzIGlu dmFsaWQgYmVjYXVzZSBpdCBlbmRzIGluIGEgY29uc29uYW50ICh3aGljaCBtYWtlcyBpdCBhIGNt ZXZsYSksIGFuZCAnJ2NpJ2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBub3QgY29u dGFpbiBhIGNvbnNvbmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFkIGFzIHR3byBjbWF2byB3 cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0cmluZyBpcyBib3RoIGEg Y21hdm8gYW5kIGEgcmFmc2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBh bmQgdGhlIHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRo YXQgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVz ZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMg cmFmc2ksIGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0 IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0 IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhl IHZvd2VsICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZz aSBsZXR0ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0s IC1DVkNDViBhbmQgLUNDVkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93IG5vdywgeW91IHNob3Vs ZCBiZSBhYmxlIHRvIGFuc3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2VudDoKCkNhdGVnb3JpemUg ZWFjaCBvZiB0aGUgZm9sbG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyksIGdpc211IChnKSwgbHVq dm8gKGwpLCAnJ2Z1J2l2bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSApIGphaSAgICAgICAgRyAp IG11bWJsCgpCICkgLmlyY2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9zdHUgICAgICAgIEkgKSBj dQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2UgICAgICAgIEsgKSBkYW5z ZWtlCgpGICkgZGppc2t1ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 YS1jLCBiLWYsIGMtZywgZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGktYywgai1sLCBrLWYsIGwt Zi4gSSBsZWZ0IG91dCB0aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0 IHdvdWxkbid0IGJlIHRvbyBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAn J2Jvc3R1JycgZG8gbm90IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJl bGV2YW50LiBUaGUgbW9ycGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdCdzIGp1 c3QgYW4gdW5kZWZpbmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgoh IUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExF IGFuZCBMQSkKCklmIHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2Yg YWxsIHRoZSBsZXNzb25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3Vn aCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2gg b3JkZXIgeW91IGxlYXJuIHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBu ZXh0IGxlc3NvbnMgd2lsbCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNpbmcgZGlm ZmljdWx0eSBhbmQgc29ydGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZl cnNhdGlvbi4KCgoKT25lIG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMgb24geW91ciBzcGVhayBu b3cgaXMgeW91ciBsaW1pdGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFrZSBzdW10aS4gU28gZmFy LCB5b3Ugb25seSBrbm93ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywgd2hpY2ggZG9lc24ndCB0 YWtlIHlvdSBmYXIgY29uc2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFu LiBUaGlzIGxlc3NvbiBhcyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQg dGhlIExvamJhbiBzdW10aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxp a2Ugc3VtdGksIHRoZSBvbmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNs ZXMgYXJlIGluIGxvamJhbiBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1 c3NlZCBpbiB0aGlzIGxlc3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUg Y29tYmluYXRpb25zICcnbGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01F VkxBJycuIFdlIHdpbGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMgb2Yg ZGVzY3JpcHRpdmUgc3VtdGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFy ZSBub3Qgc28gc2ltcGxlIGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBnYWRyaTogR2VuZXJpYyB2 ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3 aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsZScnX18gLSBnYWRy aTogR2VuZXJpYyBkZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVz dWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18n J2xhJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0 IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFs KHMpLgoKCgpZb3UgYXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQg ZG9lcy4gQnV0IHdoYXQgZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3Vl IHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFi b3V0IGluZGl2aWR1YWxzIGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNrIHRvIGxhdGVyLiBGb3Ig bm93LCDigJx2ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIg Zm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0 IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBh IGNsYWltIHdoaWNoIG1heSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGlu IHF1ZXN0aW9uIGFyZSBhY3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycu IAoKCgpUaGlzIG1heSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlw dGl2ZSwgYW5kIHRodXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRo YXQgeW91IGhhdmUgb25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91 IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlz dGVuZXIgbWF5IGlkZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuIFRoaXMgbWVhbnMgdGhh dCAnJ2xlJycgaGF2ZXMgdHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBmcm9tICcnbG8nJzogRmly c3RseSwgaXQgY2Fubm90IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyBy ZWZlcnMgdG8gc3BlY2lmaWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vya3UnJyBk ZWZpbml0ZWx5IGlzIG9uZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdz IG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0 aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBv YmplY3RzLiBQZXJoYXBzIHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQg YXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2Qg ZW5vdWdoIGFwcHJveGltYXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2Fs aXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJl c3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVp bmcgYSBkb2csIGFuZCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUg Z2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBp cyBhbHNvICcnbG8gZ2Vya3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1 YWxseSDigJxhIGRvZ+KAnSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBp cyDigJx0aGUgZG9n4oCdIG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBn ZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRo cmVlIGJhc2ljICcnZ2FkcmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2Fkcmkn Jywgd2hpY2ggSSBoYXZlIHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKA nS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBu b3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBF bmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBu ZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhh dCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlz IHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBh bmQgdGhlIGdhZHJpIGRlcml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkg dW5saWtlIGFueSBvdGhlciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0 cyBkbyBub3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBz ZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVy bjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3Vk IExvamJhbmlzdCBoYXZlIHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMgJydsYWknJyBhbmQgJyds YSdpJycgYXJlIGEgYml0IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fsd2F5c19fIG1hcmtzIHRo ZSBiZWdpbm5pbmcgb2YgYSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0aGluZyB0 aGF0IGNhbiBiZSBncmFtbWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0 ZXJzIGFyZSBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBleGFtcGxlLCAnJ2xlIG1p IGdlcmt1JycgaXMgIm15IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1JycgaXMgc29tZW9uZSBjYWxs ZWQgIk15IERvZyIuCgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5k ZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoK Cl9fJydsb2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10 aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVz Y3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBh IG1hc3MoZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRp b25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1 bHQgYXMgbWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNl cHQgZm9yIG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElm IHRoZXJlIGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQg YSBtYXNzIGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZl cmVuY2UgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4g YmUgYXNjcmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdy b3VwIG9mIGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpIGlm LCBhbmQgb25seSBpZiwgYWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVhY2ggZml0IHRoZSBzZWxi cmkuIEl0IGlzIGNvcnJlY3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcnbG8gZ2Vya3UnJywgY29u c2lkZXJlZCBpbmRpdmlkdWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBmb3IgZWFjaCBvZiB0aGUg ZG9ncyBpdCdzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIg aGFuZCwgZml0cyBvbmx5IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29tcG9uZW50cyBmaXQgYXMg YSB3aG9sZSwgYXMgYSB0ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwgYWxsIHRoZSBtZW1iZXJz IG9mIGEgbWFzcyAnJ2xvaSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBvcmRlciBmb3IgJydsb2kn JyB0byBiZSBhcHBsaWNhYmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMiIGFyZSBzb3BoaXN0aWNh dGVkLCBhbmQgcmVxdWlyZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0cmF0ZSB3aGljaCBwcm9w ZXJ0aWVzIGl0IGNhbiBoYXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEgZmxhbmtzL2VuY2lyY2xl cy9lbmNsb3NlcyB4MiBpbiBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPigJ0KCicnbGVpIHByZW51 IGN1IHNydXJpIGxvIHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJvdW5kZWQgdGhlIGhvbWUu 4oCdIGlzIHBsYXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9rZXMgbm90IGNvbnNpZGVy ZWQsIGl0J3MgY29tcGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNvdWxkIGJlIHRydWUgZm9y IGFueSBvbmUgb2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2ggYW5hbG9neSBjb3VsZCBi ZTog4oCcSHVtYW5zIGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRoIGNlbnR1cnnigJ0uIFN1 cmVseSBubyBodW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1hbnMgZGlkLCBhbmQgdGhh dCBtYWtlcyB0aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3ZWxsIGFzIGluIExvamJh biBpZiDigJxodW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRoZSBMb2piYW4gbWFzcywg dGhlIEVuZ2xpc2ggbWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVmZXIgdG8gaW5kaXZpZHVh bHMgZWFjaCBvZiB3aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBsZToKCl9fJydtaXZ5c2xl JydfXzogIngxIGlzIGEgYmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNtIHgyIgoKX18nJ3JlbW5h JydfXzogIngxIGlzIGEgaHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJlbW5hJycgLSAiU29tZSBt YXNzZXMgb2YgY2VsbHMgYXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2YgdGhlIGNlbGxzIGFyZSBo dW1hbi4gSW5kZWVkLCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1hbiB0cmFpdHMsIGJ1dCB0 aGUgY2VsbHMgY29uc2lkZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEgaHVtYW4uCgoKCkEgbWFz cyBtYWRlIHdpdGggJydsZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScnLCByZWZlcnMgdG8gYSBt YXNzIGZvcm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdo aWNoIHRoZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFz IGRlc2NyaWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBh cyBhIHdob2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJl cnMgYXJlLiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Ig b25seSBhIGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGltcG9ydGFudCB0byByZW1l bWJlciB0aGF0ICcnbG8nJyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIGJvdGgg aW5kaXZpZHVhbHMgYW5kIG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBvZiBkb2dzLCBjb25zaWRl cmVkIGFzIGEgbWFzcyBuZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBkZXNjcmliZSBpdCBhcyBl aXRoZXIgJydsb2kgZ2Vya3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkgdXNlICcnbG8nJywgdGhp cyBhbGxvd3MgbWUgdG8gY29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3aGljaCBsb29rcyBsaWtl IGEgY29udHJhZGljdGlvbiwgYnV0IHJlYWxseSBpc24ndDogJydsbyBnZXJrdSBuYSBnZXJrdScn IC0gIlNvbWUgZG9ncyBhcmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJlaW5nIGNvbnNpZGVyZWQg YSBtYXNzIG9mIGRvZ3MsIHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBhcyBhIHdob2xlIGlzIG5v dCBhIGRvZywgYnV0IHJhdGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBtaWdodCBoYXZlIG5vdGlj ZWQgdGhhdCB0aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2Vs YnJpIHRvIGluZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2 aWR1YWxuZXNzLCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0 ZXIgcXVhbnRpZmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRl cmVkIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQg JydsbycnIGFuZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJ dCBpcyBiZWNhdXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBh bnkgY29udGV4dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hl dGhlciBpcyBiZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpU aGlyZCBpbiB0aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2Fkcmkn JzoKCgoKX18nJ2xvJ2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xlJ2knJ19fIC0gZ2Fkcmk6 IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQg YXMgYSBzZXQuCgpfXycnbGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRp b25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1 bHQgYXMgYSBzZXQuCgoKClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVhbHMgb3IsIHNvbWV0aW1l cywgbWFzc2VzLCBzZXRzIGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20g dGhlIG9iamVjdHMgZnJvbSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4gQSBzZXQgaXMgYSBwdXJl bHkgbWF0aGVtYXRpY2FsIG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQgaGFzIHByb3BlcnRpZXMg bGlrZSBjYXJkaW5hbGl0eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1c2lvbi4gQWdhaW4sIG5v dGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3MsIGFuZCB0aGUgdGhpbmdz IG9mIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1JydfXyDigJx4MSBpcyBhIHRp Z2VyL2xlb3BhcmQvamFndWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0aCBjb2F0IG1hcmtpbmdz IHgz4oCdCgonJ2xvJ2kgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhl ciBiaWcgY2F0cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFs c2UpLCBidXQgaW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0 aGF0IGlzIC0gdGhlcmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUg KG9ubHkgdHdvKSBnZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xvJ2UnJ19fIC0gZ2Fkcmk6 IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRv IHRoZSBhcmNoZXR5cGUgb2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xlJ2UnJ19fIC0gZ2Fkcmk6 IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMg dG8gdGhlIGRlc2NyaWJlZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcnbGUge3NlbGJyaX0nJy4K Ck9mIHdoaWNoIHRoZXJlIGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoKCgpTbywgd2hhdCBpcyBh Y3R1YWxseSBtZWFudCBieSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydlIHRpcnh1JycsIGl0IGlz IGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVz IHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNh eSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5 c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBk byBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlr ZXdpc2UsIHRoZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3Vn aCBhIGxvdCBvZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFu cyBoYXZlIGEgdHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4g c2F5OgoKX18nJ2tha25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1 bmRlciBjaXJjdW1zdGFuY2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZs YScnIC0g4oCcVGhlIHR5cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr4oCdLgoKCgonJ2xlJ2Un JyB0aGVuLCBpcyB0aGUgaWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBvciBkZXNjcmliZWQgYnkg dGhlIHNwZWFrZXIuIFRoaXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNvcnJlY3QsIGFuZCBpcyBv ZnRlbiB0cmFuc2xhdGVkIGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBldmVuIHRob3VnaCB0aGUg RW5nbGlzaCBwaHJhc2UgaGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRpdmUgY29ubm90YXRpb25z LCB3aGljaCB0aGUgTG9qYmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVyeW9uZSBoYXMgYSBzdGVy ZW90eXBpY2FsIGFyY2hldHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVnb3J5LiBJbiBvdGhlciB3 b3JkcywgJydsbydlIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlm aWVzIGFsbCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZSdlIHJlbW5hJycg YmVzdCBleGVtcGxpZmllcyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUgZWxldmVuIGdhZHJpIGNh biBiZSBzZWVuIGluIHRoZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVyaWN8TWFzc2VzfFNldHN8 R2VuZXJhbGl6aW5nCgp2ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoKRGVzY3JpcHRpdmV8bGV8 bGVpfGxlJ2l8bGUnZQoKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6 IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBnZW5lcmljIGdhZHJp LiBIb3dldmVyLCB0aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRyaSB3ZXJlIGNoYW5n ZWQgaW4gbGF0ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVzIG9uIHRoaXMgdG9w aWMsIG5pY2tlZCDigJx4b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5vdywgJyds bycnIGlzIGdlbmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNhbCBkaWdp dCAobGVzc29uIG5pbmV0ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZpZnRl ZW4gKHRoZSBMb2piYW4gc3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNlZSB3aGF0 IGhhcHBlbnMgaWYgSSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlw aWNhbCBwZW9wbGUgd2hvIGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhlciBhYm91 dCB0aGUgbGFuZ3VhZ2VzIHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDigJx4MSBp cyBhIGxhbmd1YWdlIHVzZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p4oCdCgon J2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ug dGF2bGEgbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFu LiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ug c2UgYmFuZ3Uga2UnYScnCgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2ZXJzaW9u IGlzIG11Y2ggbG9uZ2VyIHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1 c2UgdGhlIGZpcnN0LCByaWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBlYXRlZCB0 d28gbW9yZSB0aW1lcyBpbiB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNoIGNhbiBy ZWZlciB0byBpdCBieSDigJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVjaCBtb3Jl IGVmZmljaWVudGx5LiBXb3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFk IG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywg d2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vt a2EnaScnIG1lYW5pbmcg4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3 ZSByZWZlciB0byB0aGVtIGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxs eSB0aGUgc2FtZSBhcyB0aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkgaW5zdGVh ZCBvZiBub3Vucy4gSW4gZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8nJyBhbmQg JydtaScnLCBidXQgdGhlcmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBG aXJzdCwgd2Ugd2FudCB0byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRo ZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFscmVhZHkg bGVhcm5lZDoKCgoKX18nJ3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJl cHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9fJyd0YScn X18gLSBzdW1rYSdpOiDigJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgc29tZSBw aHlzaWNhbCBkaXN0YW5jZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5l cuKAnQoKX18nJ3R1JydfXyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXByZXNlbnRz IGEgc3VtdGkgcGh5c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVy LuKAnQoKCgpZb3UgY2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5j ZSB3aGljaCBwb3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29t ZSBjbGVhcmluZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50 IGFueXRoaW5nIHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBP YmplY3RzLCBjZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2Vw dGVkLCBidXQgb25seSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVj aWZpYyBwbGFjZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwg YnV0IHNvbWUgYmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0 aGUgZGlzdGFuY2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZl cmVudCB3b3JkczogJyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJvbSBib3Ro IHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBzcGVha2Vy IGFuZCBsaXN0ZW5lciBpcyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRo ZSBzcGVha2VyIHRhbGtpbmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3NlIHRvIHRo ZSBsaXN0ZW5lci4gVGhpcmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQgZGVwZW5k ZW50LiBUaGVzZSB0aHJlZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4 dCwgZm9yIGluc3RhbmNlLCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtlciBhbmQg bGlzdGVuZXIgaXMgdW5rbm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdv ZXMgYnkuIEZ1cnRoZXJtb3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9pbnQgdG8g YW4gb2JqZWN0IGFuZCBleHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0 aGVyZSBpcyBhIHNlcmllcyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQgJydkbycn IChhbmQgJydrbycnLCBidXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycn bWknJ19fIC0gc3Vta2EnaTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycnX18gLSBzdW1rYSdp OiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydt aSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMu CgpfXycnbWEnYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSwgdGhl IGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhlIGxpc3Rl bmVyKHMpLgoKX18nJ2RvJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVy KHMpIGFuZCBvdGhlcnMuCgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2lseSBncmFz cGVkIGluIHRoZSBiZWxvdyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0aHVtYj0i eSIgcmVsPSJib3hbZ10ifQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhjbHVkZWQp LiAnJ2xlIGRyYXRhJycgaXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3RoZXIocyni gJ0KCgoKSXQgaXMgcG9zc2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVh a2Vyc+KAnSwgaWYgb25lIHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9m IHRoZW0uIFRoZXJlZm9yZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0 aGVyICcnbWknJywgJydtaSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0 ZSBvZnRlbiBtZWFucyBpcyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBzaXgsIGlm IHRoZXkgcmVmZXIgdG8gbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQgbWFzc2Vz LiBXaXRoaW4gYnJpZGktbG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBieSBzcGVh a2VyIEEgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFr ZXIgQiB0byBzcGVha2VyIEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ug d2lsbCBjb21lIGJhY2sgdG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChwcm8tYnJp ZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQt c3BlY2lmaWMsIGFuZCBjYW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdp dGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dp bmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6 CgpfXycncmknJ19fIC0gc3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydy YScnX18gLSBzdW1rYSdpOiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50 aW9uZWTigJ0KCl9fJydydScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25n IGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRp IGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9zdCBvdGhl ciAnJ3N1bWthJ2knJyBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRo YXQgdGhleSBhcmUgc28gZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBUaGUgZXhj ZXB0aW9uIHRvIHRoZSBydWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBiZWNhdXNl IHlvdSBjb3VsZCBoYXZlIGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5v dCBqdXN0IHJlcGVhdCB0aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVybWluYXRl ZCBzdW10aSwgYW5kIHRodXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIg dG8gYW4gYWJzdHJhY3Rpb24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlvbjogJyds ZSBwZW5kbyBub2kga2UnYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0g aGVyZSAnJ3JpJycgY2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBu b3QgdGVybWluYXRlZCwgbm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhleSBhcmUg c3Vta2EnaSwgc28gaXQgcmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQgJydydScn IGFyZSBjb250ZXh0LWRlcGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZv bGxvdyB0aGUgcnVsZXMgbWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyByZWZlciB0 byBhIG1vcmUgZGlzdGFudCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlzIG1vcmUg ZGlzdGFudCB0aGFuICcncmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0 dHkgd2VsbCBzdWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRy eSBzYXlpbmcgaXQgdXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8g bGEgLmxvamJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2En Jy4gJydyaScnIGlzIG5vdCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xhIC5sb2pi YW4uJycuICcncmEnJyBjb3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5seSBiZSB0 aG91Z2h0IHRvIHJlZmVyIHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywgYnV0ICcn cnUnJyBpcyBhc3N1bWVkIHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUg bW9zdCBvdXRlciBvbmUufn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJl c2VudCB1dHRlcmFuY2VzOiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhleSBuZWVk IG5vdCBiZSByZXN0cmljdGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2FuIGJlIHNl dmVyYWwgc2VudGVuY2VzLCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEndScnX18g VXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0ZXJhbmNl IHZhcmlhYmxlOiBQcmV2aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBUaGlzIHNlbnRlbmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0 IHNlbnRlbmNlCgpfXycnZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBz ZW50ZW5jZQoKX18nJ2RhJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBz ZW50ZW5jZQoKX18nJ2RvJ2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRl cmFuY2UgdmFyaWFibGU6IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2VudHMgc2Vu dGVuY2VzIGFzIHN1bXRpLCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRo ZSBsZXR0ZXJzLCBub3QgdG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJlIGFyZSBt b3JlIExvamJhbiAnJ3N1bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBi cmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGks IHN1bXRpIG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIHNpeHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4g cHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtl J2EnJyBpcyBhIGxlc3MgdGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxhbmd1YWdl 4oCdLiBUaGlzIGlzIGJlY2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFn ZSB3aGljaCBJIHNwZWFrIGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2YgdGhlIGJy aWRpICcnYmFuZ3UgbWknJy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcg YSBnYWRyaTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFu Z3UgbWknJyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQg aXQgdXNpbmcgJydsZSBzdSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEg bmV3IHgxLCB0aGUgYWJzdHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFjdHMgdGhh dC4gVGhhdCBtYWtlcyBhbiBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtl IOKAnHRoYXQgc29tZXRoaW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScnLiAnJ2Jl JycgaXMgYSB3b3JkIHdoaWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQg b3RoZXJzKSB0byBhIHNlbGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhhcyBubyBl ZmZlY3Q6IGluICcnbWkgbmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhv d2V2ZXIsIHdoZW4gYSBzdW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwgeW91IGNh biB1c2UgYSBnYWRyaSBvbiB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0dGluZyBv ZmY6ICcnbGUgYmFuZ3UgYmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhlIHByb2Js ZW0gYWJvdmUuIExpa2V3aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRh cnhpIGtlaSBiZSBnYXUgZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNh dXNlZCBieSB5b3XigJ0uIE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tl aScnIG1ha2VzIGl0IHBhcnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28gcHJlc2Vu dCwgJydiZScnIGF0dGFjaGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBh dHRhY2hlcyB0byAnJ2RhcnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNp c2VkOiBJcyB0aGUgaGl0dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlv dT8gSW4gdGhpcyBzcGVjaWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0IHRoZSBz YW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBh IHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3Xi gJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNl Y29uZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUg ZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMg bm8gc2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0 aGUgYWxsIHRoZSBvbmVzIGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3aXRoICcn YmVpJycuIFRoZSDigJxiaW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydiZSdvJycg LSBvbmUgaW5zdGFuY2Ugb2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10 aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRp IG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJk LCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZSdvJydf XyBlbmRzIGJpbmRpbmcgdG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBsb29zZWx5 IGFzc29jaWF0ZSBhIHN1bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycgZm9yIHJl c3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xl IGJhbmd1IHBlIG1pJycgaXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2Xi gJ0sIHNpbmNlIHRoaXMgcGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBo b3cgdGhlIHR3byBhcmUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycgYW5kICcn bmUnJyBhcmUgdXNlZCBhcyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWluZyDigJxt eSBjaGFpcuKAnSBhYm91dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90IHJlYWxs eSB5b3VycywgYnV0IGhhcyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0 ZSBjb25uZWN0aW9uIGNhbiBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywgd2hpY2ggbWFrZXMg dGhlIGFzc29jaWF0aW9uIHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCc bXkgY2Fy4oCdIGZvciBhIGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0IGtpbmQg b2YgYXNzb2NpYXRvciBpcyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQgImluYWxp ZW5hYmxlIiBib25kIGJldHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5h dGUgYmV0d2VlbiB0aGUgdHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJteSBtb3Ro ZXIiLCAibXkgYXJtIiBvciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2Vz aW9ucyIgY2FuIGJlIGxvc3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0J3Mgc3Rp bGwgX195b3VyX18gYXJtKSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFsbW9zdCBh bGwgb2YgdGhlIHRpbWVzIGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwgdGhlIHgy IG9mIHRoZSBzZWxicmkgY29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMgY29ubmVj dGVkLCBzbyAnJ2JlJycgaXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVzdHJpY3RpdmUgcmVs YXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BlJydfXyBy ZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4i CgpfXycncG8nJ19fIHBvc3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBzcGVjaWZp YyB0by4uLiIKCl9fJydwbydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGlj aCBiZWxvbmdzIHRvLi4uIgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93IGlzICcn e2dhZHJpfSB7c3VtdGl9IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAnJ3tnYWRy aX0ge3NlbGJyaX0gcGUgIHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBp cyBlcXVpdmFsZW50IHRvICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUgZGVzY3Jp cHRpb24gc3VtdGkgaW5zaWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBj aW5qaWtjYSBiZSBtaSBrdSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2luamlrY2Eg YmUgbWknJyA94oCcdGhlIGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCdLCBidXQg dGhhdCdzIG5vdCB2ZXJ5IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tl biksIGFuZCBpcyBvZnRlbiBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJu ICcndHUnYScnLCBzaW5jZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFz aWVyLiBJdCB0YWtlcyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1bXRpIC0g YW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGgg dGhlIGZpcnN0IHN1bXRpLiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamljYSBsbyBu dSBtaSBjaXRrYSBsbyBwbGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBjb250ZXh0 IHdoYXQgYWJzdHJhY3Rpb24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0IHNheSAn J21pIGRqaWNhIHR1J2EgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBh YnN0cmFjdGlvbiB0aGUgc3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28gaXQgc2hv dWxkIG9ubHkgYmUgdXNlZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVzcy4gQW5v dGhlciBleGFtcGxlOgoKX18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAo dm9saXRpb24gbm90IGltcGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScn IC0g4oCcSSBzZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBP ZmZpY2lhbGx5LCAnJ3R1J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1U SSBjbydlJycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5 b3UgY2Fubm90IHVzZSAnJ3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJs ZS4gVGhlc2Ugc2l0dWF0aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3VsdGluZyBz dW10aSB0byBiZSBhbiBhYnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3VtdGkuIEluIHRoaXMg Y2FzZSwgb25lIGNhbiB1c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10 aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRv ICcnbGUgc3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1 bXRpIGNhbiBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3Mg TEFoRS4KCl9fJydsdSdhJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNl L3NldCB0byBpbmRpdmlkdWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChz KS9tYXNzL3NlcXVlbmNlL3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZlcnQgaW5k aXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29u dmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0aGUgb3Jk ZXIgaXMgbm90IHN0YXRlZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9y d2FyZGx5OiBQbGFjaW5nIHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFr ZXMgYSBuZXcgc3VtdGkgb2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBm b3VydGgga2luZCBvZiBzdW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlz IGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBm b3IgaW5zdGFuY2UpLCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhl IGxhc3QgdHdvIG1lbWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9m IHN1bXRpLCBidXQgYWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50 aW9uaW5nIHNvbWV0aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEg cmVmZXJzIHRvIGEgc3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRp dGxlIG9mIGEgYm9vaywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVm ZXIgdG8gc29tZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJl ZmVycyB0byBzdW10aSBCLiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBm b3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScn IHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCY J2xhJ2UgbGUgY21hbHUgbm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl 4oCdLCBhbmQgbm90IHNvbWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1 J2UnJyBkb2VzIHRoZSBleGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJlZmVycyB0 byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScnX18gLSDi gJx0aGUgdGhpbmcgcmVmZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBh IHN1bXRpIEIgd2hpY2ggcmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5n IHJlZmVycmluZyB0b+KAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hl biBCIHJlZmVycyB0byBBLgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXBy YWN0aWNhbGx5IGxhcmdlIHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBhbmQgdGhp cmQgaW5zdGFsbG1lbnQgY2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAoKHdhdmVs ZXNzb25zY29udGludWVkcDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29udGludWVk cDN8dGhlIGxhdHRlcikpLiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9y bWVyIiBvciAidGhlIGxhdHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5LgoKCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraW5ldXJv dGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2pi YW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==