Received: from localhost ([::1]:40702 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UaR0w-0006gT-3p; Thu, 09 May 2013 06:36:06 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:45835 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UaR0l-0006gM-RV for wikichanges@lojban.org; Thu, 09 May 2013 06:36:03 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Thu, 9 May 2013 06:35:55 -0700 From: "Apache" Date: Thu, 9 May 2013 06:35:55 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by daeldir at 15:35 CEST Comment: Finit la traduction de la prononciation. You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_changed_by_daeldir?= X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 159165 VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDE1OjM1IENFU1QKQ29tbWVudDogRmluaXQgbGEgdHJhZHVjdGlvbiBkZSBsYSBwcm9ub25j aWF0aW9uLgoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAK aHR0cDovL2xvamJhbi5vcmcvdGlraS9sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMl QTdhaXMKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBi eSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL2xvamJhbi5vcmcvdGlraS90aWtpLXBhZ2Vo aXN0b3J5LnBocD9wYWdlPWxlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcyZj b21wYXJlPTEmb2xkdmVyPTE2Jm5ld3Zlcj0xNwoKCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVy c2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFn ZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogOTItMTAwIGNoYW5nZWQgdG8gK0xpbmVzOiA5Mi0x MDIgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSsKISEhISBQcm9ub25jaWF0aW9uIMKrwqBjb3JyZWN0ZcKgwrsKCi0gVm91cyBuJ2F2 ZXogcGFzICBhdm9pciB1bmUgcHJvbm9uY2lhdGlvbiBwcmNpc2UgZHUgbG9qYmFuLCBjYXIgY2hh cXVlIHBob25tZSBlc3QgZGlzdHJpYnUgZGUgbWFuaXJlICBjZSBxdSdpbCBzb2l0IGRpZmZpY2ls ZSBkZSBjb25mb25kcmUgZGV1eCBzb25zLiBDZWNpIHNpZ25pZmllIHF1ZSwgcG91ciB1bmUgbGV0 dHJlLCBwbHV0dCBxdSd1bmUgcHJvbm9uY2lhdGlvbiBjb3JyZWN0ZSwgaWwgeSBhIHVuZSBnYW1t ZSBkZSBzb25zIGFjY2VwdHMgIGxlIHByaW5jaXBlIGducmFsIHRhbnQgcXUndW4gc29uIGVzdCBi b24gdGFudCBxdSdpbCBuZSByZXNzZW1ibGUgcGFzIHRyb3AgIHVuZSBhdXRyZSBsZXR0cmUuIFBh ciBleGVtcGxlLCBsZSByIGxvamJhbiBwZXV0IHRyZSBwcm9ub25jIGNvbW1lIGVuIGFuZ2xhaXMs IGNvc3NhaXMsIGZyYW5haXMKKyAnJ0NldHRlIHBhZ2UgZXN0ICBsYSBmb2lzIHVuZSB0cmFkdWN0 aW9uIGRlIGxhIHZlcnNpb24gYW5nbGFpc2UsIGV0IHVuZSBhZGFwdGF0aW9uIGF1eCBwcm9ibG1l cyByZW5jb250cnMgcGFyIGxlcyBmcmFuY29waG9uZXMgcGx1dG90IHF1ZSBwYXIgbGVzIGFuZ2xv cGhvbmVzLiBQYXIgbWFucXVlIGQnZXhwcmllbmNlIGRhbnMgbCdlbnNlaWduZW1lbnQgZHUgbG9q YmFuICBkZXMgZnJhbmNvcGhvbmVzLCBjZXR0ZSBwYXJ0aWUgcGV1dCBkb25jIG1hbnF1ZXIgZGUg Y29uc2VpbHMgb3UgcmVzdGVyIGluYWRhcHRlLCB2b2lyZSBjb25mdXNlLiBOJ2hzaXRleiBwYXMg IGRlbWFuZGVyIHN1ciBsYSBbaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xvamJhbi1mcnxtYWlsaW5nLWxpc3RdIGZyYW5jb3Bob25lIHNpIHZvdXMgYXZleiB1biBwcm9i bG1lICBjZWNpIHBvdXJyYWl0IG5vdXMgYWlkZXIgIGFtbGlvcmVyIGNldHRlIHBhZ2UhJycKCi0g JydQb3VyIGRlcyByYWlzb25zIC0tZCdpbmNvbXB0ZW5jZS0tIGRlIGRpZmZpY3VsdHMgZGUgdHJh ZHVjdGlvbiwgbGUgcGFzc2FnZSBzdWl2YW50IHNlIGJhc2UgZW5jb3JlIHN1ciBkZXMgZXhlbXBs ZXMgZGUgbW90cyBhbmdsYWlzICBzaSB2b3VzIHRyb3V2ZXogdW4gcXVpdmFsZW50IGZyYW5haXMs IG4naHNpdGV6IHBhcyEnJworIFZvdXMgbidhdmV6IHBhcyAgYXZvaXIgdW5lIHByb25vbmNpYXRp b24gcHJjaXNlIGR1IGxvamJhbiwgY2FyIGNoYXF1ZSBwaG9ubWUgZXN0IGRpc3RyaWJ1IGRlIG1h bmlyZSAgY2UgcXUnaWwgc29pdCBkaWZmaWNpbGUgZGUgY29uZm9uZHJlIGRldXggc29ucy4gQ2Vj aSBzaWduaWZpZSBxdWUsIHBvdXIgdW5lIGxldHRyZSwgcGx1dHQgcXUndW5lIHByb25vbmNpYXRp b24gY29ycmVjdGUsIGlsIHkgYSB1bmUgZ2FtbWUgZGUgc29ucyBhY2NlcHRzICBsZSBwcmluY2lw ZSBnbnJhbCB0YW50IHF1J3VuIHNvbiBlc3QgYm9uIHRhbnQgcXUnaWwgbmUgcmVzc2VtYmxlIHBh cyB0cm9wICB1bmUgYXV0cmUgbGV0dHJlLiBQYXIgZXhlbXBsZSwgbGUgciBsb2piYW4gcGV1dCB0 cmUgcHJvbm9uYyBjb21tZSBlbiBhbmdsYWlzLCBpdGFsaWVuLCBmcmFuYWlzIAoKLSBJbCBmYXV0 IGNlcGVuZGFudCBiaWVuIGZhaXJlIGF0dGVudGlvbiAgbmUgcGFzIHByb25vbmNlciBsZXMgJydp JycgZXQgJyd1JycgbG9qYmFuIGNvbW1lIGRhbnMgbCdhbmdsYWlzIHN0YW5kYXJkIGhpdCBldCBi dXQgKGxlIGJ1dCBkZSBsJ2FuZ2xhaXMgZHUgbm9yZCBlc3QgY2VwZW5kYW50IGNvcnJlY3QhKS4g TGEgcmFpc29uIGVuIGVzdCBxdWUgbGVzIHZveWVsbGVzIG5vbi1sb2piYW4sIGNlcyBkZXV4IGNp IHBhcnRpY3VsaXJlbWVudCwgc29udCB1dGlsaXNlcyBwb3VyIHNwYXJlciBsZXMgY29uc29ubmVz IHBhciBsZXMgcGVyc29ubmVzIHF1aSBuJ2Fycml2ZW50IHBhcyAgbGVzIHByb25vbmNlci4gUGFy IGV4ZW1wbGUsIHNpIHZvdXMgYXZleiB1biBwcm9ibG1lIGF2ZWMgbGUgJyd6ZCcnIGRlICcnemRh bmknJyAobWFpc29uKSwgdm91cyBwb3V2ZXogZGlyZSB6ZGFuaSwgYXZlYyB1biAgdHJzIGNvdXJ0 LCBtYWlzIGxlIGkgZmluYWwgbG9uZy4KKyBCaWVuIHF1ZSBsZSByIGZyYW5haXMgc29pdCBjb25z aWRyIGNvbW1lIHVuICcncicnLCBjZWx1aS1jaSBlc3QgYXVzc2kgcHJvY2hlIGR1ICcneCcnIGxv amJhbi4gU2kgdm91cyBkc2lyZXogY29tcHJlbmRyZSBsYSBkaWZmcmVuY2UgZW50cmUgY2VzIGRl dXggc29ucywgb2JzZXJ2ZXogbGEgZGlmZnJlbmNlIGVudHJlIGxlIHNvbiAnJ2QnJyBldCBsZSBz b24gJyd0Jyc6IGwndW4gZXN0IHZvY2FsaXMsIGwnYXV0cmUgbm9uLiBMYSBtbWUgZGlzdGluY3Rp b24gcydvcHJlIGVudHJlIGxlICcncicnIGV0IGxlICcneCcnLiBRdW9pIHF1J2lsIGVuIHNvaXQs IGlsIGVzdCBjb25zZWlsbCBkJ29wdGVyIHBvdXIgdW4gciBtb2lucyBhbWJpZ3UuIENvbmNlcm5h bnQgbGUgciByb3VsLCBkZXV4IHByb25vbmNpYXRpb25zIHNvbnQgcG9zc2libGU6IGxlIHIgZXNw YWdub2wsIHNpdHUgIGwnYXZhbnQgZHUgcGFsYWlzLCBldCBsZSByIGd1dHVyYWwsIGRvbnQgdW4g cGFyZmFpcyBleGVtcGxlIHNlIHRyb3V2ZSBlbiBFZGl0IFBpYWYuIExlIGxvamJhbiBlc3QgYmVh dWNvdXAgbW9pbnMgc3RyaWN0IHF1ZSBsJ2VzcGFnbm9sIHF1YW5kICBsYSBwcm9ub25jaWF0aW9u IGRlIGNldHRlIGxldHRyZSwgZXQgdm91cyBwb3V2ZXogZG9uYyBjaG9pc2lyIGNlbGxlIHF1aSB2 b3VzIHBvc2UgbGUgbW9pbnMgZGUgc291Y2lzLjxiciAvPjxiciAvPkZhaXRlcyBhdXNzaSBhdHRl bnRpb24gIGJpZW4gYXBwdXllciBsZXMgdm95ZWxsZXMgIG1pcyAgcGFydCBsZSAnJ3knJyBxdWkg Jydkb2l0JycgdHJlIGNvdXJ0LiBMYSByYWlzb24gZW4gZXN0IHF1ZSBsZXMgdm95ZWxsZXMgbm9u LWxvamJhbiBwZXV2ZW50IHRyZSB1dGlsaXNlcyBwb3VyIHNwYXJlciBsZXMgY29uc29ubmVzIHBh ciBsZXMgcGVyc29ubmVzIHF1aSBuJ2Fycml2ZW50IHBhcyAgbGVzIHByb25vbmNlci4gUGFyIGV4 ZW1wbGUsIHNpIHZvdXMgYXZleiB1biBwcm9ibG1lIGF2ZWMgbGUgJyd6ZCcnIGRlICcnemRhbmkn JyAobWFpc29uKSwgdm91cyBwb3V2ZXogZGlyZSB6ZGFuaSwgYXZlYyB1biAgdHJzIGNvdXJ0LCBt YWlzIGxlIGkgZmluYWwgbG9uZy4gCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKV2F0Y2ggYW55 IGZpbG0gd2hlcmUgcGVvcGxlIGRvbid0IGtub3cgZWFjaCBvdGhlcidzIGxhbmd1YWdlLiBUaGV5 IHN0YXJ0IG9mZiBzYXlpbmcgdGhpbmdzIGxpa2Ug4oCcTWUgVGFyemFuLOKAnSB3aGljaCBpcyBh cyBnb29kIGEgcGxhY2UgdG8gc3RhcnQgbGVhcm5pbmcgTG9qYmFuIGFzIGFueS4gU28gaGVyZSB3 ZSBnby4KCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgp7Qk9Y KAoKICB0aXRsZT0iVHJhdmFpbCBlbiBjb3VycyIKCil9CgpDZXR0ZSBwYWdlIGVzdCB1bmUgdHJh ZHVjdGlvbiBlbiBjb3VycyBkZSAoKHdhdmVsZXNzb25zY29udGludWVkKSkgZW4gZnJhbsOnYWlz LiBMZSBzdGF0dXQgYWN0dWVsIGVzdCB1biBpbXBvcnQgYsOqdGUgZXQgbcOpY2hhbnQgZGUgbGEg cGFnZSBhbmdsYWlzZS4gQXUgZnVyIGV0IMOgIG1lc3VyZSBkZSBsYSB0cmFkdWN0aW9uLCBjZXR0 ZSBub3RlIHNlcmEgbWlzZSDDoCBqb3VyIHBvdXIgaW5kaXF1ZXIgbCfDqXRhdCBkJ2F2YW5jZW1l bnQgZGVzIGxlw6dvbnMuIAoKCgrDiXRhdCBhY3R1ZWzCoDogdHJhZHVjdGlvbiBkZSBsYSBsZcOn b24gesOpcm8gZW50YW3DqWUuCgp7Qk9YfSAKCgoKIUxlcyBsZcOnb25zIFdhdmUgY29udGludcOp ZXPCoDoKCiEhIVLDqWRpZ8OpZXMgcGFyIGxhIGtsYWt1LCBhdmVjIGwnYWlkZSBkZSBsb2piYW5p c3RlcyB2YXJpw6lzLiBCYXPDqWUgc3VyIGxlIHRyYXZhaWwgZGUgbGEgLmtyaWJhY3IuIFByaW50 ZW1wcyAyMDEzLgoKVHJhZHVpdGVzIGRlIGwnYW5nbGFpcyB2ZXJzIGxlIGZyYW7Dp2FpcyBwYXIg RGFlbGRpci4KCgoKISFMZcOnb25zIGRlIGxvamJhbiDigJMgbGXDp29uIHrDqXJvOiBhdmFudCBw cm9wb3MKCkNlcyBsZcOnb25zIHNvbnQgdW5lIHRlbnRhdGl2ZSBkZSBkw6l2ZWxvcHBlciBsZXMg wqvCoExlw6dvbnMgZGUgR29vZ2xlIFdhdmXCoMK7LCB1biBleGNlbGxlbnQgZGlkYWN0aWNpZWwg Y29uc2FjcsOpIGF1IGxvamJhbiwgw6ljcml0IHBhciBrcmliYWNyLCB4YWxibywgZXQgZCdhdXRy ZXMsIHF1aSwgaMOpbGFzLCBuZSBjb3V2cmFpdCBxdWUgbGVzIHF1YXRyZXMgcHJlbWllcnMgY2hh cGl0cmVzIGR1IHByw6lzZW50IGRpZGFjdGljaWVsLiBJbCB0cmFpdGUgZGVzIHLDqGdsZXMgbGVz IHBsdXMgcsOpY2VudGVzIGR1IGxvamJhbiwgcXVpIG5lIHNvbnQgcGFzIGNvdXZlcnRlcyBwYXIg ZGUgcGx1cyBhbmNpZW5zIGNvdXJzIHRlbHMgcXVlIMKrwqBXaGF0IGlzIExvamJhbj/CoMK7LCBl dCDCq8KgTG9qYmFuIGZvciBCZWdpbm5lcnPCoMK7LgoKCgpTaSBsZSBsb2piYW4gZXN0IHRvdGFs ZW1lbnQgbm91dmVhdSBwb3VyIHZvdXMsIGplIHZvdXMgcmVjb21tYW5kZSBkJ8OpY291dGVyIHRv dXQgbGVzIGVucmVnaXN0cmVtZW50IGRlIGxvamJhbiBwYXJsw6kgcXVlIHZvdXMgcG91cnJleiB0 cm91dmVyLCB0YW50IGF2YW50IHF1ZSBwZW5kYW50IGxhIGxlY3R1cmUgZGUgY2UgZGlkYWN0aWNp ZWwsIGFmaW4gZGUgdm91cyBmYW1pbGlhcmlzZXIgYXZlYyBsZXMgc29ucyBldCBsZXMgbW90cyBk dSBsYW5nYWdlLiBEZSBwbHVzLCBlc3NheWV6IGRlIHByb25vbmNlciBjZSBxdWUgdm91cyBsaXNl eiBhdmVjIGwnYWNjZW50IGR1IGxvamJhbiBzaSB2b3VzIGxlIHBvdXZlei4gQ2VjaSB2b3VzIGFp ZGVyYSDDoCBwcm9ub25jZXIgbGUgbG9qYmFuLiAKCgoKRW4gc3VpdmFudCBjZSBkaWRhY3RpY2ll bCwgaWwgZXN0IGNvbnNlaWxsw6kgZGUgcHJlbmRyZSBkZXMgcGF1c2VzIGVudHJlIGxlcyBsZcOn b25zIGFmaW4gZGUgZGlnw6lyZXIgY2UgcXVlIHZvdXMgYXZleiBhcHByaXMuIEonYWkgZXNzYXnD qSBkZSBjb25zdHJ1aXJlIGNlcyBsZcOnb25zIGR1IHNpbXBsZSBhdSBjb21wbGV4ZSwgZXQgZCdl eGNsdXJlIHRvdXQgbW90IG91IGNvbmNlcHQgcXVpIG4nYSBwYXMgw6l0w6kgZXhwbGlxdcOpIGRh bnMgbGVzIGxlw6dvbiBwcsOpY8OpZGVudGUuIFVuZSBmb2lzIGV4cGxpcXXDqXMsIGlscyBzb250 IHV0aWxpc8OpcyBsaWJyZW1lbnQgdG91dCBhdSBsb25nIGR1IHJlc3RlIGR1IGRpZGFjdGljaWVs LiBKJ2V4aG9ydGUgbGUgbGVjdGV1ciDDoCBuZSBwYXMgZmFpcmUgbCdpbXBhc3NlIHN1ciB1biBj b250ZW51IGluY29tcHJpc8KgOiBzaSB2b3VzIGF2ZXogdW5lIHF1ZXN0aW9uIG91IMOqdGVzIGlu Y2VydGFpbiBkJ3VuZSBjaG9zZSwgbidheWV6IHBhcyBkZSBjb21wbGV4ZSDDoCBkZW1hbmRlciDD oCBsYSBjb21tdW5hdXTDqSBsb2piYW4sIHF1aSBwZXV0IMOqdHJlIHRyb3V2w6llIHN1ciAjbG9q YmFuIHN1ciBsZSByw6lzZWF1IElSQyBGcmVlbm9kZSAoZW4gYW5nbGFpcyksIG91IHN1ciBsYSBb aHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvamJhbi1mcnxtYWlsaW5n LWxpc3QgZnJhbmNvcGhvbmVdLiBFbGxlIHNlcmEgaGV1cmV1c2UgZCdhaWRlci4KCgoKRGFucyBj ZSBkaWRhY3RpY2llbCwgbGUgdGV4dGUgZW4gbG9qYmFuIGVzdCDDqWNyaXQgZW4gJydpdGFsaXF1 ZXMnJy4gUGx1cyB0YXJkLCBxdWFuZCB1dGlsaXPDqXMgY29tbWVzIG1vdHMgZW1wcnVudMOpcyBk dSBsb2piYW4gZGFucyBkZXMgcGhyYXNlcyBmcmFuw6dhaXNlcywgaWxzIG5lIHNvbnQgcGFzIG1h cnF1w6lzLiBMZXMgcsOpcG9uc2VzIGRlcyBleGVyY2ljZXMgc29udCBhZmZpY2jDqWVzIGNvbW1l IHVuZSBiYXJyZSBncmlzZS4gU8OpbGVjdGlvbm5leiBjZXR0ZSBiYXJyZSBwb3VyIHZvaXIgbGUg dGV4dGUuCgoKCkVuZmluLCBqJ2FpIGF1dGFudCBxdWUgcG9zc2libGUgZXNzYXnDqSBkJ3V0aWxp c2VyIGxlcyBtb3RzIGR1IGxvamJhbiBwb3VyIGTDqXNpZ25lciBsZXMgY29uc3RydWN0aW9ucyBn cmFtbWF0aWNhbGVzwqA6ICcnc3Vta2EnaScnIGF1IGxpZXUgZGUgcHJvLXN1bXRpLCAnJ3N1bXRj aXRhJycgYXUgbGlldSBkZSBtb2RhbCwgZXQgJydqdWZyYScnIGF1IGxpZXUgZCfDqW5vbmPDqS4g Q2VjaSBwYXJjZSBxdWUgaidhaSBsJ2ltcHJlc3Npb24gcXVlIGxlcyBtb3RzIGZyYW7Dp2FpcyBz b250IHNvdXZlbnQgc29pdCBhcmJpdHJhaXJlcywgYXVxdWVsIGNhcyBpbHMgc29udCBqdXN0ZXMg ZGVzIG1vdHMgZW4gcGx1cyDDoCBhcHByZW5kcmUsIHNvaXQgdHJvbXBldXJzLCBhdXF1ZWwgY2Fz IGlscyBzb250IHBpcmUgcXUnaW51dGlsZXMuIERhbnMgbGVzIGRldXggY2FzLCBwdWlzcXVlIGNl cyBtb3RzIHNvbnQgc3DDqWNpZmlxdWVzIMOgIGwnYXBwcmVudGlzc2FnZSBkdSBsb2piYW4gZGUg dG91dGUgZmHDp29uLCBpbCBuJ3kgYSBwYXMgZGUgcmFpc29uIHBvdXIgZXV4IGQnZXhpc3RlciBj b21tZSBkZXMgbW90cyBmcmFuw6dhaXMgZGlzdGluY3QuCgoKCiEhIVByw6lmYWNlLiBTb25zCgpM YSBwcmVtacOocmUgY2hvc2Ugw6AgZmFpcmUgcXVhbmQgdm91cyBhcHByZW5leiB1bmUgbGFuZ3Vl IMOpdHJhbmfDqHJlIGVzdCBkZSB2b3VzIGZhbWlsaWFyaXNlciBhdmVjIGxlcyBzb25zIGR1IGxh bmdhZ2UgZXQgbGV1ciDDqWNyaXR1cmUuIElsIGVuIHZhIGRlIG3Dqm1lIHBvdXIgbGUgbG9qYmFu LiBIZXVyZXVzZW1lbnQsIGxlcyBzb25zIGR1IGxvamJhbiAoX19waG9uw6htZXNfXykgc29udCBw bHV0w7R0IHNpbXBsZXMuCgoKCiEhISFWb3llbGxlcwoKSWwgeSBhIHNpeCB2b3llbGxlcyBlbiBs b2piYW4uCgoKCnx8JydhJycgfGNvbW1lIGRhbnMgwqvCoHBfX2FfX3BfX2FfX8KgwrsKCicnZScn IHxjb21tZSBkYW5zIMKrIGJfX2VfX3JnX1/DqF9fcmUgwrsKCicnaScnIHxjb21tZSBkYW5zIMKr wqBtYWNoX19pX19uZcKgwrsKCicnbycnIHxjb21tZSBkYW5zIMKrIF9fb19fbcOpZ2EgwrssIMKr wqBfX2F1X190X19vX19tb2JpbGXCoMK7CgonJ3UnJyB8Y29tbWUgZGFucyDCq8KgX19vdV9fwqDC uywgwqvCoGxfX291X19wwqDCuwoKJyd5JycgfGNvbW1lIGRhbnMgwqsgbWF0X19lX19sb3Qgwrt8 fAoKCgpMYSBzaXhpw6htZSB2b3llbGxlLCAnJ3knJywgZXN0IGFwcGVsw6llIHVuIF9fc2Nod2Ff XyBlbiBsaW5ndWlzdGlxdWUuIEMnZXN0IHVuIMKrwqBlwqDCuyB0csOocyBsw6lnZXIsIG5vbiBh Y2NlbnR1w6ksIGp1c3RlIG1pbGlldSBlbnRyZSBsZSDCq8KgZcKgwrsgbWFyc2VpbGxhaXMgKMKr IG1hdF9fZXVfX2xvdCDCuykgZXQgbGUgwqvCoGXCoMK7IG11ZXQgcGFyaXNpZW4gKMKrIG1hdCds b3QgwrspLgoKCgpEZXV4IHZveWVsbGVzIGVuc2VtYmxlIHNvbnQgcHJvbm9uY8OpZXMgY29tbWUg dW4gc29uIChfX2RpcGh0b25ndWVfXykuIFBhciBleGVtcGxlwqA6CgoKCnx8JydhaScnIHxjb21t ZSBkYW5zIMKrwqBjYW5fX2FpX19sbGXCoMK7CgonJ2F1JycgfGNvbW1lIGRhbnMgwqvCoGNfX2Fv dV9fdGNob3VjwqDCuwoKJydlaScnIHxjb21tZSBkYW5zIMKrwqBhYl9fZWlfX2xsZcKgwrsKCicn b2knJyB8Y29tbWUgZGFucyDCq8KgZ19fb3lfX8KgwrsKCicnaWEnJyB8Y29tbWUgZGFucyDCq8Kg cF9faWFfX25vwqDCuwoKJydpZScnIHxjb21tZSBkYW5zIMKrwqBoX19pZV9fcsKgwrsKCicnaXUn JyB8Y29tbWUgZGFucyDCq8KgY2FfX2lsbG91X1/CoMK7CgonJ3VhJycgfGNvbW1lIGRhbnMgwqvC oHFfX3VvaV9fwqDCuwoKJyd1ZScnIHxjb21tZSBkYW5zIMKrwqBicl9fb3VlX190dGXCoMK7Cgon J3VvJycgfGNvbW1lIGRhbnMgwqvCoGRyX19vdW9fX3TCoMK7CgonJ3VpJycgfGNvbW1lIGRhbnMg wqvCoF9fb3VpX1/CoMK7IHx8CgoKCkxlcyB2b3llbGxlcyBkb3VibMOpZXMgc29udCByYXJlcy4g TGVzIHNldWxzIGV4ZW1wbGVzIHNvbnQgJydpaScnLCBwcm9ub25jw6kgY29tbWUgZGFucyDCq8Kg ZmFfX2lsbGlfX8KgwrssIGV0ICcndXUnJywgcHJvbm9uY8OpIGNvbW1lIGRhbnMgwqvCoF9fT3Vf X2hfX291X1/CoCHCoMK7IChxdWFuZCBvbiBhcHBlbGxlIHF1ZWxxdSd1biwgbWFpcyBwYXMgY29t bWUgZGFucyDCq8KgSG91aG91wqDCu8KgOiBkYW5zIGxlIHByZW1pZXIgZXhlbXBsZSwgbGUgJydo JycgZXN0IG11ZXQsIGRhbnMgbGUgZGV1eGnDqG1lLCBsZSAnJ2gnJyBlc3QgYXNwaXLDqSDigJMg Y2UgcXVpIHNlIHRyYW5zY3JpcmFpdCBlbiBsb2piYW4gJyd1J3UnJykKCgoKISEhIUNvbnNvbm5l cwoKTGEgcGx1cGFydCBkZXMgY29uc29ubmVzIHNvbnQgbGVzIG3Dqm1lcyBxdSdlbiBmcmFuw6dh aXMsIMOgIHF1ZWxxdWUgZXhjZXB0aW9ucyBwcsOqdMKgOgoKCgp8fCcnZycnIHxzZSBwcm9ub25j ZSB0b3Vqb3VycyBjb21tZSBkYW5zIMKrwqBfX2dfX8OidGVhdcKgwrssIGphbWFpcyBjb21tZSBk YW5zIMKrwqBfX2dfX2Vub3V4wqDCuwoKJydjJycgfHNlIHByb25vbmNlICcnY2gnJywgY29tbWUg ZGFucyDCq8KgX19jaF9fYXRlYXXCoMK7CgonJ3gnJyB8c2UgcHJvbm9uY2UgY29tbWUgZGFucyBs J2FsbGVtYW5kIMKrwqBCYV9fY2hfX8KgwrssIGwnZXNwYWdub2wgwqvCoF9fSl9fb3NlwqDCuyBv dSBsJ2FyYWJlIMKrwqBfX0toX19hbGVkwqDCuwoKJydyJycgfGFjY2VwdGUgYmVhdWNvdXAgZGUg cHJvbm9uY2lhdGlvbnMgKMOgIGxhIGZyYW7Dp2Fpc2UsIMOgIGwnYW5nbGFpc2XigKYpIG1haXMg bGEgcHJvbm9uY2lhdGlvbiBpdGFsaWVubmUgKCcncicnIHJvdWzDqSkgZXN0IHByw6lmw6lyw6ll fHwKCgoKTGUgbG9qYmFuIG4ndXRpbGlzZSBwYXMgbGVzIGNhcmFjdMOocmVzIMKrwqBIwqDCuywg wqvCoFHCoMK7IG91IMKrwqBXwqDCuywgZXQgaWwgbid5IGEgcGFzIGRlIGNhcmFjdMOocmVzIGFj Y2VudHXDqXMgZW4gbG9qYmFuLgoKCgohISEhQ2FyYWN0w6hyZXMgc3DDqWNpYXV4CgoKCkxlIGxv amJhbiBuZSByZXF1acOocmUgYXVjdW5lIHBvbmN0dWF0aW9uLCBtYWlzIGNlcnRhaW4gY2FyYWN0 w6hyZXMsIGhhYml0dWVsbGVtZW50IHV0aWxpc8OpcyBjb21tZSBwb25jdHVhdGlvbiBkYW5zIGQn YXV0cmUgbGFuZ3VlcywgYWZmZWN0ZW50IGxhIG1hbmnDqHJlIGRvbnQgbGUgbG9qYmFuIGVzdCBw cm9ub25jw6kuCgoKCkxlIHNldWwgZGUgY2VzIGNhcmFjdMOocmVzIHF1aSBzb2l0IG9ibGlnYXRv aXJlIGVuIGxvamJhbiBlc3QgbCdhcG9zdHJvcGhlLiBFbiBmYWl0LCBsJ2Fwb3N0cm9waGUgZXN0 IGNvbnNpZMOpcsOpZSBjb21tZSB1bmUgbGV0dHJlIGR1IGxvamJhbi4gVW5lIGFwb3N0cm9waGUg c8OpcGFyZSBkZXV4IHZveWVsbGVzLCBlbXDDqmNoYW50IGNlbGxlcy1jaSBkJ8OqdHJlIHByb25v bmPDqWVzIGVuc2VtYmxlIGNvbW1lIHVuZSBfX2RpcGh0b25ndWVfXy4gRWxsZSBlc3QgZWxsZSBt w6ptZSBwcm9ub25jw6llIGNvbW1lIHVuIMKrwqBowqDCuy4gUGFyIGV4ZW1wbGUsIMKrwqAnJ3Vp JyfCoMK7IGVzdCBub3JtYWxlbWVudCBwcm9ub25jw6kgY29tbWUgwqvCoF9fb3VpX1/CoMK7LCBt YWlzIMKrwqAnJ3UnaScnwqDCuyBlc3QgcHJvbm9uY8OpIGNvbW1lIMKrwqBfX291aGlfX8Kgwrsu CgoKClVuIHBvaW50IGVzdCB1bmUgY291cnRlIHBhdXNlIMOpdml0YW50IMOgIGRldXggbW90cyBk ZSBzZSBjb25mb25kcmUgbCd1biBkYW5zIGwnYXV0cmUuIExlcyByw6hnbGVzIGR1IGxvamJhbiBy ZW5kZW50IGZhY2lsZSBsYSBmdXNpb24gZGUgZGV1eCBtb3RzIHF1YW5kIGxlIHNlY29uZCBjb21t ZW5jZSBwYXIgdW5lIHZveWVsbGUsIGV0IGRvbmMsIHBhciBjb252ZW50aW9uLCBjaGFxdWUgbW90 IGNvbW1lbsOnYW50IHBhciB1bmUgdm95ZWxsZSBlc3QgcHLDqWPDqWTDqSBwYXIgdW4gcG9pbnQu CgoKCkxlcyB2aXJndWxlcyBzb250IHJhcmUgZW4gbG9qYmFuLCBtYWlzIHBldXZlbnQgw6p0cmUg dXRpbGlzw6llcyBwb3VyIGVtcMOqY2hlciBkZXV4IHZveWVsbGVzIGRlIHNlIGZvbmRyZSBsJ3Vu ZSBkYW5zIGwnYXV0cmUgcXVhbmQgdm91cyBuZSB2b3VsZXogcGFzIHV0aWxpc2VyIGQnYXBvc3Ry b3BoZSwgY2UgcXVpIGFqb3V0ZXJhaXMgdW4gwqvCoGjCoMK7IGVudHJlIGVsbGVzLiBBdWN1biBt b3QgbG9qYmFuIG4nYSBkZSB2aXJndWxlLCBtYWlzIGVsbGUgZXN0IHBhcmZvaXMgdXRpbGlzw6ll IGRhbnMgbCfDqWNyaXR1cmUgZGVzIG5vbXMgZCdhdXRyZXMgbGFuZ3Vlcy4gUGFyIGV4ZW1wbGUs IMKrwqAnJ3BpLEVSLicnwqDCuyAoUGllcnJlKSwgYXUgbGlldSBkZSDCq8KgJydwaWVyLicnwqDC uyAoUC15ZXJyKSwgwqvCoCcncGkuRVIuJyfCoMK7IChQaTsgRWhyKSwgb3UgwqvCoCcncGknRVIn J8KgwrsgKFBpaGVycikuCgoKCkxlcyBsZXR0cmVzIGNhcGl0YWxlcyBuZSBzb250IG5vcm1hbGVt ZW50IHBhcyB1dGlsaXPDqWVzIGVuIGxvamJhbi4gTm91cyBsZXMgdXRpbGlzb25zIGRhbnMgZGVz IG1vdHMgbm9uIGxvamJhbiAoY29tbWUgwqvCoFBpZXJyZcKgwrspLCBxdWFuZCBsJ2FjY2VudCB0 b25pcXVlIGQndW4gbW90IGVzdCBkaWZmw6lyZW50IGRlIGNlbHVpIGRlIGxhIG5vcm1lIGxvamJh bi4gTGEgbm9ybWUgY29uc2lzdGUgw6AgbWV0dHJlIHVuIGFjY2VudCB0b25pcXVlIHN1ciBsJ2F2 YW50IGRlcm5pw6hyZSBzeWxsYWJlLiBQYXIgZXhlbXBsZSwgJydrdWptaWtjZScnIChpbmZpcm1p w6hyZSksIGVzdCDCq8Kga3VqX19NSUtfX2NlwqDCuywgZXQgbm9uIHBhcyDCq8KgX19LVUpfX21p a2NlwqDCuy4gTGUgbm9tIMKrwqBKdWxpZXR0ZcKgwrsgcyfDqWNyaXJhaXQgwqvCoCcnanVMSUVU LicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4gZnJhbsOnYWlzLCBtYWlzIMKrwqAnJ0RKVWxp LGV0LicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4gYW5nbGFpcy4KCiEhISFBbHBoYWJldAoK CgpEYW5zIGxhIHBsdXBhcnQgZGVzIG1hbnVlbHMsIGxvcnMgZGUgbCdhcHByZW50aXNzYWdlIGQn dW5lIGxhbmd1ZSwgdm91cyBhcHByZW5leiBsJ2FscGhhYmV0IGR1IGxhbmdhZ2UsIGV0IHNhIHBy b25vbmNpYXRpb24uIExlcyBsZXR0cmVzICgnJ2xlcmZ1JycpIMOpdGFudCBwbHVzIGltcG9ydGFu dGVzIGVuIGxvamJhbiBxdSfDoCBsJ2FjY291dHVtw6llLCBhdXRhbnQgYXBwcmVuZHJlIGxldXIg bm9tcyByYXBpZGVtZW50LgoKCgpMZXMgY29uc29ubmVzIHNvbnQgc2ltcGxlc8KgOiBsZSBub20g ZCd1bmUgY29uc29ubmUgZXN0IGNldHRlIGxldHRyZSwgc3VpdmllIGRlIMKrwqB5wqDCuy4gQWlu c2ksIGxlcyBjb25zb25uZXMgZHUgbG9qYmFuLCDCq8KgYsKgwrssIMKrwqBjwqDCuywgwqvCoGTC oMK7LCDCq8KgZsKgwrssIMKrwqBnwqDCu+KApiBzb250IGFwcGVsw6llcyDCq8KgJydieS4nJ8Kg wrssIMKrwqAnJ2N5LicnwqDCuywgwqvCoCcnZHkuJyfCoMK7LCDCq8KgJydmeS4nJ8KgwrssIMKr wqAnJ2d5LicnwqDCu+KApiBlbiBsb2piYW4gKGVuIHV0aWxpc2FudCB1biBwb2ludCwgY29tbWUg ZMOpY3JpdCBkYW5zIGxhIHBhcnRpZSBwcsOpY8OpZGVudGUpLgoKCgpMZXMgdm95ZWxsZXMgX19z ZXJhaWVudF9fIGFwcGVsw6llcyDCq8KgJycuYXknJ8KgwrssIMKrwqAnJy5leScnwqDCuywgwqvC oCcnLml5JyfCoMK74oCmLCBzaSBjJ8OpdGFpdCBtb2lucyBkaWZmaWNpbGUgw6AgcHJvbm9uY2Vy LiBBdSBsaWV1IGRlIMOnYSwgZWxsZXMgc29udCBub21tw6llIGVuIHN1aXZhbnQgbGUgc29uIGRl IGxhIHZveWVsbGUgcGFyIGxlIG1vdCAnJ2J1JycsIHF1aSBzaWduaWZpZSBzaW1wbGVtZW50IMKr wqBsZXR0cmXCoMK7LiBBaW5zaSwgbGVzIHZveWVsbGVzIGR1IGxvamJhbiBzb250wqA6ICDCq8Kg JycuYWJ1JyfCoMK7LCDCq8KgJycuZWJ1JyfCoMK7LCDCq8KgJycuaWJ1JyfCoMK7LCDCqyAnJy5v YnUnJyDCuywgwqvCoCcnLnVidScnwqDCuywgwqvCoCcnLnlidScnwqDCuy4KCgoKTCdhcG9zdHJv cGhlIGVzdCBjb25zaWTDqXLDqWUgY29tbWUgdW5lIHZyYWkgbGV0dHJlIGVuIGxvamJhbiwgZXQg ZXN0IG5vbW3DqWUgwqvCoCcnLnkneS4nJ8KgwrsgKMKrwqBldWhldcKgwrvigKYgVW4gcGV1IGNv bW1lIHVuZSBwZXRpdGUgdG91eCkuCgoKCkxlIGxvamJhbiBhIHVuIG1veWVuIGRlIHNlIHLDqWbD qXJlciDDoCBsYSBwbHVwYXJ0IGRlcyBsZXR0cmVzIGF1eHF1ZWxsZXMgdm91cyBwb3V2ZXogcGVu c2VyLiBTaSB2b3VzIGTDqXNpcmV6IGTDqHMgbWFpbnRlbmFudCDDqXBlbGVyIHZvdHJlIG5vbSBl biBsb2piYW4sIGV0IHF1ZSBjZWx1aSBjaSBwb3Nzw6hkZSB1biDCq8KgSMKgwrssIMKrwqBRwqDC uyBvdSDCq8KgV8KgwrssIHZvdXMgcG91dmV6IHV0aWxpc2VyIMKrICcnLnkneS5idScnIMK7LCDC qyAnJ2t5LmJ1JycgwrsgZXQgwqsgJyd2eS5idScnIMK7LiBBaW5zaSwgwqvCoFNjaHdhcnplbmVn Z2VywqDCuyBlc3Qgw6lwZWzDqSBlbiBsb2piYW7CoDoKCicnc3kuIGN5LiAueSd5YnUgdnlidS4g LmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LicnCgoKCkV0IMOpcGVs ZXIgX1/Dp2FfXyBlc3QgdW5lIHTDomNoZSBkaWduZSBkdSBUZXJtaW5hdG9ywqAhCgoKCk1haW50 ZW5hbnQsIMOpcGVsZXogdm90cmUgbm9tIGVuIGxvamJhbiAobGUgY2FzIMOpY2jDqWFudCwgZGUg bGEgbWFuacOocmUgbGEgcGx1cyBwcm9jaGUgcXVlIHZvdXMgcG91dmV6IGF2ZWMgbGVzIDI2IGxl dHRyZXMgcXVlIG5vdXMgdmVub25zIGQnYXBwcmVuZHJlLCBldCBsJ2Fwb3N0cm9waGUpLgoKISEh ISBQcm9ub25jaWF0aW9uIMKrwqBjb3JyZWN0ZcKgwrsKCgoKJydDZXR0ZSBwYWdlIGVzdCDDoCBs YSBmb2lzIHVuZSB0cmFkdWN0aW9uIGRlIGxhIHZlcnNpb24gYW5nbGFpc2UsIGV0IHVuZSBhZGFw dGF0aW9uIGF1eCBwcm9ibMOobWVzIHJlbmNvbnRyw6lzIHBhciBsZXMgZnJhbmNvcGhvbmVzIHBs dXRvdCBxdWUgcGFyIGxlcyBhbmdsb3Bob25lcy4gUGFyIG1hbnF1ZSBkJ2V4cMOpcmllbmNlIGRh bnMgbCdlbnNlaWduZW1lbnQgZHUgbG9qYmFuIMOgIGRlcyBmcmFuY29waG9uZXMsIGNldHRlIHBh cnRpZSBwZXV0IGRvbmMgbWFucXVlciBkZSBjb25zZWlscyBvdSByZXN0ZXIgaW5hZGFwdMOpZSwg dm9pcmUgY29uZnVzZS4gTidow6lzaXRleiBwYXMgw6AgZGVtYW5kZXIgc3VyIGxhIFtodHRwOi8v bWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vbG9qYmFuLWZyfG1haWxpbmctbGlzdF0g ZnJhbmNvcGhvbmUgc2kgdm91cyBhdmV6IHVuIHByb2Jsw6htZSDigJMgY2VjaSBwb3VycmFpdCBu b3VzIGFpZGVyIMOgIGFtw6lsaW9yZXIgY2V0dGUgcGFnZcKgIScnCgoKClZvdXMgbidhdmV6IHBh cyDDoCBhdm9pciB1bmUgcHJvbm9uY2lhdGlvbiBwcsOpY2lzZSBkdSBsb2piYW4sIGNhciBjaGFx dWUgcGhvbsOobWUgZXN0IGRpc3RyaWJ1w6kgZGUgbWFuacOocmUgw6AgY2UgcXUnaWwgc29pdCBk aWZmaWNpbGUgZGUgY29uZm9uZHJlIGRldXggc29ucy4gQ2VjaSBzaWduaWZpZSBxdWUsIHBvdXIg dW5lIGxldHRyZSwgcGx1dMO0dCBxdSd1bmUgcHJvbm9uY2lhdGlvbiDCq8KgY29ycmVjdGXCoMK7 LCBpbCB5IGEgdW5lIGdhbW1lIGRlIHNvbnMgYWNjZXB0w6lzIOKAkyBsZSBwcmluY2lwZSBnw6lu w6lyYWwgw6l0YW50IHF1J3VuIHNvbiBlc3QgYm9uIHRhbnQgcXUnaWwgbmUgcmVzc2VtYmxlIHBh cyB0cm9wIMOgIHVuZSBhdXRyZSBsZXR0cmUuIFBhciBleGVtcGxlLCBsZSDCq8KgcsKgwrsgbG9q YmFuIHBldXQgw6p0cmUgcHJvbm9uY8OpIGNvbW1lIGVuIGFuZ2xhaXMsIGl0YWxpZW4sIGZyYW7D p2Fpc+KApiAKCgoKQmllbiBxdWUgbGUgwqvCoHLCoMK7IGZyYW7Dp2FpcyBzb2l0IGNvbnNpZMOp csOpIGNvbW1lIHVuIMKrwqAnJ3InJ8KgwrssIGNlbHVpLWNpIGVzdCBhdXNzaSBwcm9jaGUgZHUg wqvCoCcneCcnwqDCuyBsb2piYW4uIFNpIHZvdXMgZMOpc2lyZXogY29tcHJlbmRyZSBsYSBkaWZm w6lyZW5jZSBlbnRyZSBjZXMgZGV1eCBzb25zLCBvYnNlcnZleiBsYSBkaWZmw6lyZW5jZSBlbnRy ZSBsZSBzb24gwqvCoCcnZCcnwqDCuyBldCBsZSBzb24gwqvCoCcndCcnwqDCu8KgOiBsJ3VuIGVz dCB2b2NhbGlzw6ksIGwnYXV0cmUgbm9uLiBMYSBtw6ptZSBkaXN0aW5jdGlvbiBzJ29ww6hyZSBl bnRyZSBsZSDCq8KgJydyJyfCoMK7IGV0IGxlIMKrwqAnJ3gnJ8KgwrsuIFF1b2kgcXUnaWwgZW4g c29pdCwgaWwgZXN0IGNvbnNlaWxsw6kgZCdvcHRlciBwb3VyIHVuIMKrwqBywqDCuyBtb2lucyBh bWJpZ3UuIENvbmNlcm5hbnQgbGUgwqvCoHLCoMK7IHJvdWzDqSwgZGV1eCBwcm9ub25jaWF0aW9u cyBzb250IHBvc3NpYmxlwqA6IGxlIMKrwqBywqDCuyBlc3BhZ25vbCwgc2l0dcOpIMOgIGwnYXZh bnQgZHUgcGFsYWlzLCBldCBsZSDCq8KgcsKgwrsgZ3V0dXJhbCwgZG9udCB1biBwYXJmYWlzIGV4 ZW1wbGUgc2UgdHJvdXZlIGVuIEVkaXQgUGlhZi4gTGUgbG9qYmFuIGVzdCBiZWF1Y291cCBtb2lu cyBzdHJpY3QgcXVlIGwnZXNwYWdub2wgcXVhbmQgw6AgbGEgcHJvbm9uY2lhdGlvbiBkZSBjZXR0 ZSBsZXR0cmUsIGV0IHZvdXMgcG91dmV6IGRvbmMgY2hvaXNpciBjZWxsZSBxdWkgdm91cyBwb3Nl IGxlIG1vaW5zIGRlIHNvdWNpcy4KCgoKRmFpdGVzIGF1c3NpIGF0dGVudGlvbiDDoCBiaWVuIGFw cHV5ZXIgbGVzIHZveWVsbGVzIOKAkyBtaXMgw6AgcGFydCBsZSDCq8KgJyd5JyfCoMK7IHF1aSAn J2RvaXQnJyDDqnRyZSBjb3VydC4gTGEgcmFpc29uIGVuIGVzdCBxdWUgbGVzIHZveWVsbGVzIMKr wqBub24tbG9qYmFuwqDCuyBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcG91ciBzw6lwYXJlciBs ZXMgY29uc29ubmVzIHBhciBsZXMgcGVyc29ubmVzIHF1aSBuJ2Fycml2ZW50IHBhcyDDoCBsZXMg cHJvbm9uY2VyLiBQYXIgZXhlbXBsZSwgc2kgdm91cyBhdmV6IHVuIHByb2Jsw6htZSBhdmVjIGxl IMKrwqAnJ3pkJyfCoMK7IGRlIMKrwqAnJ3pkYW5pJyfCoMK7IChtYWlzb24pLCB2b3VzIHBvdXZl eiBkaXJlIMKrwqB6yapkYW5pwqDCuywgYXZlYyB1biDCq8KgyarCoMK7IHRyw6hzIGNvdXJ0LCBt YWlzIGxlIMKrwqBpwqDCuyBmaW5hbCBsb25nLiAKCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkK CldhdGNoIGFueSBmaWxtIHdoZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5n dWFnZS4gVGhleSBzdGFydCBvZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0g d2hpY2ggaXMgYXMgZ29vZCBhIHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnku IFNvIGhlcmUgd2UgZ28uCgpfXycnbWknZSAucm9iaW4uJydfXwoKIkktYW0tbmFtZWQgUm9iaW4i CgoiSSdtIFJvYmluIgoKJydtaSdlJycgaXMgcmVsYXRlZCB0byAnJ21pJycsIHdoaWNoIGlzICdJ JywgJ21lJyBhbmQgc28gb24uIEl0J3MgYSBnb29kIGV4YW1wbGUgb2YgdGhlIGFwb3N0cm9waGUg c2VwYXJhdGluZyB0d28gdm93ZWxzLCBhbmQgc291bmRzIGEgYml0IGxpa2UgIm1lIGhlaCIuCgpU aGlzIGd1eSBSb2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50 byBMb2piYW4gd2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVs ZXMgZm9yIExvamJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJl ICdMb2piYW5pc2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1l IGlzIGEgbmFtZeKAlGJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4 dGVudC4gRm9yIGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgIkpv c2UiIHNvbWV0aGluZyBsaWtlICJIb3pheSIsIGFuZCAiTWFyZ2FyZXQiIGluIENoaW5lc2UgaXMg Ik1hZ2VsaXRhIi4gU29tZSBzb3VuZHMganVzdCBkb24ndCBleGlzdCBpbiBzb21lIGxhbmd1YWdl cywgc28gdGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRvIGlzIHJld3JpdGUgdGhlIG5hbWUg c28gdGhhdCBpdCBvbmx5IGNvbnRhaW5zIExvamJhbiBzb3VuZHMsIGFuZCBpcyBzcGVsdCBpbiBh IExvamJhbiB3YXkuCgpfX05vdGU6IF9fVGhlIGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBv ZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFy LCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4gVGhl IEJyaXRpc2ggdmVyc2lvbiBvZiAiUm9iaW4iIGlzIHJlYXNvbmFibHkgYXBwcm94aW1hdGVkIGJ5 ICcnLnJvYmluLicnOyBidXQgdGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcnLnJh YnluLicnIG9yICcnLnJhYixuLicnLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5kIEJyaXRhaW4sIHRo ZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ugc2hvdWxkIHRha2Ug dGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWluIG9mIHNhbHQuCgpM ZXQncyB0YWtlIHRoZSBFbmdsaXNoIG5hbWUgIlN1c2FuIi4gVGhlIHR3byAnJ3MnJydzIGFyZSBw cm9ub3VuY2VkIGRpZmZlcmVudGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAieiLi gJRhbmQgdGhlICJhIiBpcyBub3QgcmVhbGx5IGFuICJhIiBzb3VuZCwgaXQncyB0aGUgJ3NjaHdh JyB3ZSBqdXN0IG1lbnRpb25lZC4gU28gIlN1c2FuIiBjb21lcyBvdXQgaW4gTG9qYmFuIGFzICcn LnN1enluLicnLgoKWW91IG1heSBoYXZlIG5vdGljZWQgdHdvIGV4dHJhIGZ1bGwgc3RvcHMgKHBl cmlvZHMpIHRoZXJlLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGlmIHlvdSBkaWRuJ3QgcGF1 c2UsIHlvdSBtaWdodCBub3Qga25vdyB3aGVyZSB0aGUgcHJldmlvdXMgd29yZCBlbmRlZCBhbmQg dGhlIG5leHQgd29yZCBiZWdhbi4KCgoKWW91IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwgc3RvcCBp biBiZXR3ZWVuIGEgcGVyc29uJ3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdCdzIG5v dCBjb21wdWxzb3J5KSwgc28gIkppbSBKb25lcyIgYmVjb21lcyAnJy5kamltLmRqb256LicnLgoK QW4gaW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3Qg bGV0dGVyIG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdh aW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMs IGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVu ZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJ2ZvciB0aGlzOyBzbyBpbiBMb2piYW4s ICJNYXJ5IiBiZWNvbWVzICcnLm1lcmlzLicnICwgIkpvZSIgYmVjb21lcyAnJy5kam9zLicnIGFu ZCBzbyBvbi4gQW4gYWx0ZXJuYXRpdmUgaXMgdG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBz byAiTWFyeSIgd291bGQgYmVjb21lICcnLm1lci4nJyBvciAnJy5tZWlyLicnLgoKCgpUaGUgZmlu YWwgcG9pbnQgaXMgc3RyZXNzLiBBcyB3ZSd2ZSBzZWVuLCBMb2piYW4gd29yZHMgYXJlIHN0cmVz c2VkIG9uIHRoZSBwZW51bHRpbWF0ZSBzeWxsYWJsZSwgYW5kIGlmIGEgbmFtZSBoYXMgZGlmZmVy ZW50IHN0cmVzcywgd2UgdXNlIGNhcGl0YWwgbGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IHRoZSBF bmdsaXNoIGFuZCBGcmVuY2ggbmFtZXMgIlJvYmVydCIgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4g TG9qYmFuOiB0aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9y ICcnLnJhYixydC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBp cyAnJy5yb0JFUi4nJy4KClRvIGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhl cmUgYXJlIHNvbWUgbmFtZXMgb2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2Ug YW5kIGluIExvamJhbi4KCgoKfHxfX0VuZ2xpc2hfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfCcnLm1h Z3J5dC50YXRjeXIuJycgKG5vICJ0aCIgaW4gTG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJv dW5kIHRoZSB3b3JsZCBjYW4ndCBzYXkgaXQhKQoKTWljayBKYWdnZXIgfCcnLm1pay5kamFneXMu JycgfHwKCnx8X19GcmVuY2hfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwnJy5uYXBvbGUsT04uYm9u YVBBUlQuJycKCkp1bGlldHRlIEJpbm9jaGUgfCcnLmp1TElFVC5iaW5PQy4nJyB8fAoKfHxfX0No aW5lc2VfXwoKTGFvemkgfCcnLmxhdWR6LicnCgpNYW8gWmVkb25nIHwnJy5tYXVkenlEWU4uJycg KEZpbmFsICcnbmcnJyBpcyBpbiBMb2piYW4gY29udmVudGlvbmFsbHkgdHVybmVkIGludG8gbi4p IHx8Cgp8fF9fVHVya2lzaF9fCgpNdXN0YWZhIEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4nJwoK RXJraW4gS29yYXkgfCcnLmVya2luLmtvcmFpcy4nJyB8fAoKfHxfX0dlcm1hbl9fCgpGcmllZHJp Y2ggTmlldHpzY2hlIHwnJy5mcmlkcml4Lm5pdGN5cy4nJwoKQ2xhcmEgU2NodW1hbm4gfCcnLmts YXJhcy5jdW1hbi4nJyB8fAoKfHxfX1NwYW5pc2hfXwoKSXNhYmVsIEFsbGVuZGUgfCcnLml6YUJF TC5haWVuZGVzLicnCgpDaGUgR3VldmFyYSB8JycudGNlZ2V2YXJhcy4nJyB8fAoKX19FeGVyY2lz ZV9fLgoKV2hlcmUgYXJlIHRoZXNlIHBsYWNlcz8KCiMubnUsSU9SSy4KCiMucm9tYXMuCgojLnhh dmFuYXMuCgojLmthcmRpZi4KCiMuYmVpZGppbi4KCiMuQU5rYXJhcy4KCiMuQUxiZWtlcmtpcy4K CiMudmFua3V2ZXIuCgojLmtlaXB0YXVuLgoKIy50YWliZWlzLgoKIy5ib24uCgojLmRlbGlzLgoK Iy5uaXMuCgojLmF0aW5hcy4KCiMubGlkei4KCiMueGVsc2lua2lzLgoKQW5zd2VyOgoKfn5ncmF5 LGdyYXk6fn4KCiN+fmdyYXksZ3JheTpOZXcgWW9yazogVVNBfn4KCiN+fmdyYXksZ3JheTpSb21l OiBJdGFseX5+Cgojfn5ncmF5LGdyYXk6SGF2YW5hOiBDdWJhfn4KCiN+fmdyYXksZ3JheTpDYXJk aWZmOiBXYWxlcyAoVGhlIFdlbHNoIGZvciAiQ2FyZGlmZiIgaXMgIkNhZXJkeWRkIiwgd2hpY2gg d291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQuLil+fgoKI35+Z3JheSxn cmF5OkJlaWppbmc6IENoaW5hfn4KCiN+fmdyYXksZ3JheTpBbmthcmE6IFR1cmtleX5+Cgojfn5n cmF5LGdyYXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQX5+Cgojfn5ncmF5LGdyYXk6VmFu Y291dmVyOiBDYW5hZGF+fgoKI35+Z3JheSxncmF5OkNhcGUgVG93bjogU291dGggQWZyaWNhfn4K CiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0 dWFsbHksIHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBp c24ndCBtZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4KCiN+fmdyYXksZ3JheTpC b25uOiBHZXJtYW55fn4KCiN+fmdyYXksZ3JheTpEZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3Ig IkRlbGhpIiBpcyAiRGlsbMOuIiwgd2hpY2ggd291bGQgZ2l2ZSBkaWxpeXMuIG9yIGRpbGknaXMu Lil+fgoKI35+Z3JheSxncmF5Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdyYXk6QXRoZW5zOiBH cmVlY2UgKCJBdGhpbmEiIGluIEdyZWVrKX5+Cgojfn5ncmF5LGdyYXk6TGVlZHM6IEVuZ2xhbmR+ fgoKI35+Z3JheSxncmF5OkhlbHNpbmtpOiBGaW5sYW5kfn4KCl9fRXhlcmNpc2VfXy4KCkxvamJh bmlzZSB0aGUgZm9sbG93aW5nIG5hbWVzCgojSm9obgoKI01lbGlzc2EKCiNBbWFuZGEKCiNNYXR0 aGV3CgojTWljaGFlbAoKI0RhdmlkIEJvd2llCgojSmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtl c3BlYXJlCgojU2lnb3VybmV5IFdlYXZlcgoKI1JpY2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01h ZHJpZAoKI1Rva3lvCgojU2FuIFNhbHZhZG9yCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTpUaGVyZSBh cmUgdXN1YWxseSBhbHRlcm5hdGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVz ZSBwZW9wbGUgcHJvbm91bmNlIHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2Ug dGhlIGV4YWN0IHNvdW5kIGRvZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBj aG9vc2UgYmV0d2VlbiB0d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNv IGxvbmcgYXMgZXZlcnlvbmUga25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0 Ln5+Cgojfn5ncmF5LGdyYXk6LmRqb24uIChvciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMpfn4K CiN+fmdyYXksZ3JheToubWVsaXN5cy5+fgoKI35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdhaW4s IGRlcGVuZGluZyBvbiB5b3VyIGFjY2VudCwgdGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBpbml0 aWFsIGEgbWF5IGJlIHksIGFuZCB0aGUgbWlkZGxlIGEgbWF5IGJlIGUuKX5+Cgojfn5ncmF5LGdy YXk6Lm1hdGl1cy5+fgoKI35+Z3JheSxncmF5Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVwZW5k aW5nIG9uIGhvdyB5b3Ugc2F5IGl0Ln5+Cgojfn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG9y IC5ibyxpcy4gKGJ1dCBub3QgLmJ1LGlzLiDigJQgdGhhdCdzIHRoZSBrbmlmZSl+fgoKI35+Z3Jh eSxncmF5Oi5kamVpbi5vc3Rpbi5+fgoKI35+Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+fgoK I35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5Z29ybmlzLnVpdnlyLn5+Cgojfn5n cmF5LGdyYXk6LnJpdGN5cmQubmlrc3luLn5+Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiB3aXRo IEVuZ2xpc2ggc3RyZXNzLCAuSVN0YW5idWwuIHdpdGggQW1lcmljYW4sIC5pc3RhbmJ1bC4gd2l0 aCBUdXJraXNoLiBMb2piYW5pc3RzIGdlbmVyYWxseSBwcmVmZXIgdG8gYmFzZSBjbWV2bGEgb24g bG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUufn4K CiN+fmdyYXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+Z3Jh eSxncmF5Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+PC9odG1s Pn5+CgohISEhTG9qYmFuIHdvcmRzIGFzIG5hbWVzCgpCeSBub3cgeW91IHNob3VsZCBiZSBhYmxl IHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3Ug Y2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQg bWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRp dHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4g c3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFt ZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4cGVjdCB0aGUgIndhc2ljaHUiIHRv IGJlIGFibGUgdG8gcHJvbm91bmNlIHdvcmRzIGluIExha290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2 ZXIhCgpMb2piYW4gd29yZHMgKGV4Y2VwdCBjbWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZb3UgY2Fu IHVzZSBsb2piYW4gd29yZHMgYXMgbmFtZXMgdG9vLiBCdXQgaWYgeW91IHByZWZlciB0aGF0IHlv dXIgbmFtZSBpcyBhIGNtZXZsYSBhbmQgaXQgZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91IGNhbiBl aXRoZXIgYWRkIGEgY29uc29uYW50IHRvIHRoZSBlbmQgb2YgaXQgb3IganVzdCBjaG9wIHRoZSBl bmQgdm93ZWwgb2ZmLgoKSGVyZSBhcmUgYSBmZXcgZXhhbXBsZXMgKG9yaWdpbmFsIG5hbWUsIG1l YW5pbmcsIG5hbWUgYW5kIG5hbWUgYXMgY21ldmxhKToKCipGaXNoIOKAkyBmaW5wZSDigJMgJycu ZmlucC4nJwoKKkJqw7ZybiAoU2NhbmRpbmF2aWFuID0gYmVhcikg4oCTIGNyaWJlIOKAkyAnJy5j cmliLicnCgoqR3JlZW4g4oCTIGNyaW5vIOKAkyAnJy5jcmluLicnCgoqTWVpIExpIChDaGluZXNl ID0gYmVhdXRpZnVsKSDigJMgbWVsYmkg4oCTICcnLm1lbGIuJycKCipBeWhhbiAoVHVya2lzaCA9 IE1vb24gTG9yZCkg4oCTIGx1bnJhIG5vYmxpICg9IGx1cm5vYmxpKSDigJMgJycubHVybm9ibGlz LicnCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gb25lIChicmlkaSwganVmcmEsIHN1bXRp IGFuZCBzZWxicmkpCgpBICcnYnJpZGknJyBpcyB0aGUgbW9zdCBjZW50cmFsIHVuaXQgb2YgTG9q YmFuIHV0dGVyYW5jZXMuIFRoZSBjb25jZXB0IGlzIHZlcnkgY2xvc2UgdG8gd2hhdCB3ZSBjYWxs IGEgcHJvcG9zaXRpb24gaW4gRW5nbGlzaC4gQSBicmlkaSBpcyBhIGNsYWltIHRoYXQgc29tZSBv YmplY3RzIHN0YW5kIGluIGEgcmVsYXRpb24gdG8gZWFjaCBvdGhlciwgb3IgdGhhdCBhbiBvYmpl Y3QgaGFzIHNvbWUgcHJvcGVydHkuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvICcnanVmcmEn Jywgd2hpY2ggYXJlIG1lcmVseSBMb2piYW4gdXR0ZXJhbmNlcywgd2hpY2ggY2FuIGJlIGJyaWRp IG9yIGFueXRoaW5nIGVsc2UgYmVpbmcgc2FpZC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGJy aWRpIGFuZCBhIGp1ZnJhIGlzIHRoYXQgYSBqdWZyYSBkb2VzIG5vdCBuZWNlc3NhcmlseSBzdGF0 ZSBhbnl0aGluZywgd2hpbGUgYSBicmlkaSBkb2VzLiBUaHVzLCBhIGJyaWRpIG1pZ2h0IGJlIHRy dWUgb3IgZmFsc2UsIHdoaWxlIG5vdCBhbGwganVmcmEgY2FuIGJlIHNhaWQgdG8gYmUgc3VjaC4K ClRvIGhhdmUgc29tZSBleGFtcGxlcyAoaW4gRW5nbGlzaCwgdG8gYmVnaW4gd2l0aCksIOKAnE1v emFydCB3YXMgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1l4oCdIGlzIGEgYnJpZGks IGJlY2F1c2UgaXQgbWFrZXMgYSBjbGFpbSB3aXRoIGEgdHJ1dGggdmFsdWUsIGFuZCBpdCBpbnZv bHZlcyBhbiBvYmplY3QsIE1vemFydCwgYW5kIGEgcHJvcGVydHksIGJlaW5nIHRoZSBncmVhdGVz dCBtdXNpY2lhbiBvZiBhbGwgdGltZS4gT24gdGhlIGNvbnRyYXJ5LCDigJxPdyEgTXkgdG9lIeKA nSBpcyBub3QgYSBicmlkaSwgc2luY2UgaXQgZG9lcyBub3QgaW52b2x2ZSBhIHJlbGF0aW9uLCBh bmQgdGh1cyBkb2VzIG5vdCBzdGF0ZSBhbnl0aGluZy4gQm90aCwgdGhvdWdoLCBhcmUganVmcmEu CgpUcnkgdG8gaWRlbnRpZnkgdGhlIGJyaWRpIGFtb25nIHRoZXNlIEVuZ2xpc2gganVmcmE6CgoK CiMg4oCcSSBoYXRlIGl0IHdoZW4geW91IGRvIHRoYXQu4oCdCgojIOKAnFJ1bnMu4oCdCgojIOKA nFdvYWgsIHRoYXQgbG9va3MgZGVsaWNpb3VzIeKAnQoKIyDigJxHZWV6LCBub3QgYWdhaW4u4oCd CgojIOKAnE5vLCBJIG93biB0aHJlZSBjYXJz4oCdCgojIOKAnE5pbmV0ZWVuIG1pbnV0ZXMgcGFz dCBlaWdodC7igJ0KCiMg4oCcVGhpcyBTYXR1cmRheSwgeWVzLuKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OjEsIDMgYW5kIDUgYXJlIGJyaWRpLiAyIGNvbnRhaW5zIG5vIG9iamVjdHMgYW5kIHRo ZSByZXN0IGNvbnRhaW4gbm8gcmVsYXRpb24gb3IgY2xhaW0gb2YgYSBwcm9wZXJ0eS5+fgoKCgpQ dXQgaW4gTG9qYmFuIHRlcm1zLCBhIGJyaWRpIGNvbnNpc3RzIG9mIG9uZSAnJ3NlbGJyaScnLCBh bmQgb25lIG9yIG1vcmUgJydzdW10aScnLiBUaGUgc2VsYnJpIGlzIHRoZSByZWxhdGlvbiBvciBj bGFpbSBhYm91dCB0aGUgb2JqZWN0LCBhbmQgdGhlIHN1bXRpIGFyZSB0aGUgb2JqZWN0cyB3aGlj aCBhcmUgaW4gYSByZWxhdGlvbi4gTm90ZSB0aGF0IOKAnG9iamVjdOKAnSBpcyBub3QgYSBwZXJm ZWN0IHRyYW5zbGF0aW9uIG9mIOKAnHN1bXRp4oCdLCBzaW5jZSDigJxzdW10aeKAnSBjYW4gcmVm ZXIgdG8gbm90IGp1c3QgcGh5c2ljYWwgb2JqZWN0cywgYnV0IGNhbiBhbHNvIHB1cmVseSBhYnN0 cmFjdCB0aGluZ3MgbGlrZSDigJxUaGUgaWRlYSBvZiB3YXJmYXJl4oCdLiBBIGJldHRlciB0cmFu c2xhdGlvbiB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZSDigJxzdWJqZWN0LCBkaXJlY3Qgb3IgaW5k aXJlY3Qgb2JqZWN04oCdIGZvciBzdW10aSwgYW5kIOKAnHZlcmLigJ0gZm9yIHNlbGJyaSwgdGhv dWdoLCBhcyB3ZSB3aWxsIHNlZSwgdGhpcyBpcyBub3Qgb3B0aW1hbCBlaXRoZXIuCgpXZSBjYW4g bm93IHdyaXRlIHRoZSBmaXJzdCBpbXBvcnRhbnQgbGVzc29uIGRvd246CgpicmlkaSA9IHNlbGJy aSArIG9uZSBvciBtb3JlIHN1bXRpCgpQdXQgYW5vdGhlciB3YXksIGEgYnJpZGkgc3RhdGVzIHRo YXQgc29tZSBzdW10aSBkby9hcmUgc29tZXRoaW5nIGV4cGxhaW5lZCBieSBhIHNlbGJyaS4KCgoK SWRlbnRpZnkgdGhlIHN1bXRpIGFuZCBzZWxicmkgZXF1aXZhbGVudHMgaW4gdGhlc2UgRW5nbGlz aCBqdWZyYToKCuKAnEkgd2lsbCBwaWNrIHVwIG15IGRhdWdodGVycyB3aXRoIG15IGNhcuKAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCccGljayB1cCAod2l0aCnigJ0uIHN1bXRp OiDigJxJ4oCdLCDigJxteSBkYXVnaHRlcnPigJ0sIOKAnG15IGNhcuKAnX5+CgoKCuKAnEhlIGJv dWdodCA1IG5ldyBzaGlydHMgZnJvbSBNYXJrIGZvciBqdXN0IHR3byBodW5kcmVkIGV1cm8h4oCd CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxib3VnaHQgKGZyb20pIChmb3Ip4oCd IHN1bXRpOiDigJxIZeKAnSwg4oCcNSBuZXcgc2hpcnRz4oCdLCDigJxNYXJr4oCdIGFuZCDigJx0 d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5k YW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0aGlyZCBleGFtcGxlOiDigJxTbyBmYXIs IHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlv eGlkZS7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91 dCnigJ0gc3VtdGk6IOKAnFRoZSBFUEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91 bnQgb2Ygc3VscGh1ciBkaW94aWRl4oCdfn4KCgoKTm93IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFu IGJyaWRpLiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBj YW4gYWN0IGFzIHNlbGJyaToKCicnX19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhv dXQgcGF5bWVudCkKCicnX19wZWx4dV9fJycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgx IGlzIGEgaG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdp dmXigJ0sIOKAnHllbGxvd+KAnSBhbmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEg dmVyYiwgYW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVy ZSBhcmUgbm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRh JycgY2FuIGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCd IChub3VuKSwg4oCcaXMgZ2l2aW5n4oCdIChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2 ZXJiIGZvcm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2Ft ZSB3YXkuCgoKCkFzIHdlbGwgYXMgYSBmZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6 CgonJ19fbWlfXycnIOKAnEnigJ0gb3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hv IGFyZSBzcGVha2luZy4KCicnX190aV9fJycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBv ciBldmVudCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgon J19fZG9fXycnIOKAnHlvdeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNw b2tlbiB0by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFi b3ZlIC0gZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10 aSBwbGFjZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJy aWRpLiBGaWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0 cyBpbiB0aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1w bGUsIHgyLCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0 IHdoaWNoIHJlY2VpdmVzIHRoZSB0aGluZy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRp b24gb2YgJydkdW5kYScnIGhhcyB0aGUgd29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNh dXNlLCB3aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUg cmVjZWl2ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydk dW5kYScnLiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRh JycsIHRoZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91 IGRvbid0IG5lZWQgYW4gZXF1aXZhbGVudCB0byB0aGUgd29yZCDigJx0b+KAnSEKCgoKVG8gc2F5 IGEgYnJpZGksIHlvdSBzaW1wbHkgc2F5IHRoZSB4MSBzdW10aSBmaXJzdCwgdGhlbiB0aGUgc2Vs YnJpLCB0aGVuIGFueSBvdGhlciBzdW10aS4KClVzdWFsIGJyaWRpOiB7eDEgc3VtdGl9IF9fe3Nl bGJyaX1fXyB7eDIgc3VtdGl9IHt4MyBzdW10aX0ge3g0IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQg c28gb259CgpUaGUgb3JkZXIgY2FuIGJlIHBsYXllZCBhcm91bmQgd2l0aCwgYnV0IGZvciBub3cs IHdlIHN0aWNrIHdpdGggdGhlIHVzdWFsIGZvcm0uIFRvIHNheSDigJxJIGdpdmUgdGhpcyB0byB5 b3XigJ0geW91IGp1c3Qgc2F5ICcnbWkgZHVuZGEgdGkgZG8nJywgd2l0aCB0aGUgdGhyZWUgc3Vt dGkgYXQgdGhlIHJpZ2h0IHBsYWNlcy4KCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMg aXMgYSBob21lIG9mIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgemRhbmkgbWkn J35+CgoKClRyeSBhIGZldyBtb3JlIGluIG9yZGVyIHRvIGdldCB0aGUgaWRlYSBvZiBhIHBsYWNl IHN0cnVjdHVyZSBzaW5rIGluLgoKCgrigJxZb3UgZ2l2ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnZG8gZHVuZGEgdGkgbWknJ35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0 aSBwZWx4dScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4K CgoKUXVpdGUgZWFzeSBvbmNlIHlvdSBnZXQgdGhlIGhhbmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0 aXBsZSBicmlkaSBhZnRlciBlYWNoIG90aGVyIGFyZSBzZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMg aXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIGZ1bGwgc3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29l cyBiZWZvcmUgYnJpZGkgaW5zdGVhZCBvZiBhZnRlciB0aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0 IGJlZm9yZSB0aGUgZmlyc3QgYnJpZGksIHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVz OgoKJydfXy5pX18nJyBTZW50ZW5jZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJh IChhbmQgdGhlcmVmb3JlIGFsc28gYnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4 dScnIOKAnVRoaXMgaXMgYSBob21lIHRvIG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3Jl IHlvdSBtb3ZlIG9uIHRvIHRoZSBuZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFr ZSBhIGJyZWFrIGZvciBhdCBsZWFzdCBzZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRp b24gc2luayBpbi4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQg em8nZSkKCk1vc3Qgc2VsYnJpIGhhdmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1 dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2Vz OgoKJydfX3ZlY251X18nJyB4MSBzZWxscyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3 YW50IHRvIHNheSDigJxJIHNlbGwgdGhpc+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2 ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFjZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJ IHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3Qg bmVlZCB0by4gc3VtdGkgcGxhY2VzIGNhbiBiZSBmaWxsZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydl JycgaW5kaWNhdGVzIHRvIHVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1 bnNwZWNpZmllZCBiZWNhdXNlIGl0J3MgdW5pbXBvcnRhbnQgb3IgY2FuIGJlIGRldGVybWluZWQg ZnJvbSBjb250ZXh0LgoKJydfX3pvJ2VfXycnIOKAnHNvbWV0aGluZ+KAnSBGaWxscyBhIHN1bXRp IHBsYWNlIHdpdGggc29tZXRoaW5nLCBidXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8g c2F5IOKAnEkgc2VsbCB0byB5b3XigJ0sIEkgY291bGQgc2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6 bydlJycg4oCTIEkgc2VsbCBzb21ldGhpbmcgdG8geW91IGZvciBzb21lIHByaWNlLgoKSG93IHdv dWxkIHlvdSBzYXk6IOKAnFRoYXQncyBhIGhvbWUgKGZvciBzb21lYm9keSnigJ0/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6ICcndGkgemRhbmkgem8nZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21l b25lKSBnaXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J3pvJ2UgZHVuZGEgdGkgem8nZScnfn4KCgoKU3RpbGwsIGZpbGxpbmcgb3V0IHRocmVlIHpvJ2Ug anVzdCB0byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVm b3JlIHlvdSBkb24ndCBuZWVkIHRvIHdyaXRlIGFsbCB0aGUgJyd6bydlJycgaW4gYSBicmlkaS4g VGhlIHJ1bGUgc2ltcGx5IGlzIHRoYXQgaWYgeW91IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkg d2lsbCBiZSBjb25zaWRlcmVkIGFzIGlmIHRoZXkgY29udGFpbmVkICcnem8nZScnLiBJZiB0aGUg YnJpZGkgYmVnaW5zIHdpdGggYSBzZWxicmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0 dGVkIGFuZCBpdCBiZWNvbWVzICcnem8nZScnLgoKVHJ5IGl0IG91dC4gV2hhdCdzIExvamJhbiBm b3Ig4oCcSSBzZWxs4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoK CkFuZCB3aGF0IGRvZXMgJyd6ZGFuaSBtaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcU29tZXRoaW5nIGlzIGEgaG9tZSBvZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu 4oCdfn4KCgoKQXMgbWVudGlvbmVkIGVhcmxpZXIsIHRoZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBi ZSB7eDEgc3VtdGl9IHtzZWxicml9IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAoZWN0LikgSW4gZmFj dCwgeW91IGNhbiBwbGFjZSB0aGUgc2VsYnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBh dCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBj b25zaWRlcmVkIGxlZnQgb3V0IGFuZCBmaWxsZWQgd2l0aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0 aGUgZm9sbG93aW5nIHRocmVlIGp1ZnJhIGFyZSBhbGwgdGhlIGV4YWN0bHkgc2FtZSBicmlkaToK CicnbWkgZHVuZGEgdGkgZG8nJwoKJydtaSB0aSBkdW5kYSBkbycnCgonJ21pIHRpIGRvIGR1bmRh JycKCgoKU29tZXRpbWVzIHRoaXMgaXMgdXNlZCBmb3IgcG9ldGljIGVmZmVjdC4g4oCcWW91IHNl bGwgeW91cnNlbGbigJ0gY291bGQgYmUgJydkbyBkbyB2ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0 dGVyIHRoYW4gJydkbyB2ZWNudSBkbycnLiBPciBpdCBjYW4gYmUgdXNlZCBmb3IgY2xhcml0eSBp ZiB0aGUgc2VsYnJpIGlzIHZlcnkgbG9uZyBhbmQgdGhlcmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0 IHRoZSBlbmQgb2YgdGhlIGJyaWRpLgoKCgpUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIHdheXMgdG8g cGxheSBhcm91bmQgd2l0aCB0aGUgb3JkZXIgb2YgdGhlIHN1bXRpIGluc2lkZSB0aGUgYnJpZGku IFRoZSBlYXNpZXN0IG9uZSBpcyBieSB1c2luZyB0aGUgd29yZHMgJydmYScnLCAnJ2ZlJycsICcn ZmknJywgJydmbycnIGFuZCAnJ2Z1JycuIE5vdGljZSB0aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBm aXZlIHZvd2VscyBpbiB0aGUgTG9qYmFuIGFscGhhYmV0IGluIG9yZGVyLiBVc2luZyBvbmUgb2Yg dGhlc2Ugd29yZHMgbWFya3MgdGhhdCB0aGUgbmV4dCBzdW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4 MiwgeDMsIHg0IGFuZCB4NSByZXNwZWN0aXZlbHkuIFRoZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQg d2lsbCBiZSBwcmVzdW1lZCB0byBmaWxsIGEgc2xvdCBvbmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2 aW91cy4gVG8gdXNlIGFuIGV4YW1wbGU6CgonJ2R1bmRhIGZhIGRvIGZlIHRpIGRvJycg4oCTIOKA nEdpdmluZyBieSB5b3Ugb2YgdGhpcyB0aGluZyB0byB5b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUg eDEsIHRoZSBnaXZlciwgd2hpY2ggaXMgeW91LiAnJ2ZlJycgbWFya3MgdGhlIHRoaW5nIGJlaW5n IGdpdmVuLCB0aGUgeDIuIFN1bXRpIGNvdW50aW5nIHRoZW4gY29udGludWVzIGZyb20gJydmZScn LCBtZWFuaW5nIHRoYXQgdGhlIGxhc3Qgc3VtdGkgZmlsbHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2 aW5nLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHRocmVlIHNlbnRlbmNl czoKCgoKJydtaSB2ZWNudSBmbyB0aSBmZSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCd SSBzZWxsLCBmb3IgdGhlIHByaWNlIG9mIHRoaXMsIHlvdeKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBm b3IgdGhlIHByaWNlIG9mIHRoaXPigJ0gKHByb2JhYmx5IHBvaW50aW5nIHRvIGEgYnVuY2ggb2Yg bW9uZXkpfn4KCgoKJyd6ZGFuaSBmZSB0aScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhp cyBoYXMgYSBob21l4oCdLiBIZXJlLCB0aGUgZmUgaXMgcmVkdW5kYW50Ln5+CgoKCicndmVjbnUg em8nZSBtaSB0aSBmYSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29t ZXRoaW5nIHRvIG1lIGZvciB0aGlzIHByaWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKA kyBsZXNzb24gdGhyZWUgKHRhbnJ1IGFuZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBi ZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgY29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBp cyBmb3JtZWQgd2hlbiBhIHNlbGJyaSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmks IG1vZGlmeWluZyBpdHMgbWVhbmluZy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBj YW4gY29tYmluZSB3aXRoIG90aGVyIHNlbGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxl eCB0YW5ydS4gVGh1cyAnJ3pkYW5pIHZlY251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydw ZWx4dSB6ZGFuaSB2ZWNudScnLCB3aGljaCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUg emRhbmknJyBhbmQgdGhlIHNpbmdsZSBicml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3Rh bmQgdGhlIGNvbmNlcHQgb2YgdGFucnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmlu YXRpb24g4oCcbGVtb24gdHJlZeKAnS4gSWYgeW91IGRpZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0 cmVlIHdhcywgYnV0IGhhZCBoZWFyZCBhYm91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3 b3VsZCBub3QgYmUgYWJsZSB0byBkZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBz IGEgbGVtb24tY29sb3JlZCB0cmVlLCBvciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3Ig YSB0cmVlIHdob3NlIGJhcmsgdGFzdGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3Ug Y291bGQga25vdyBmb3Igc3VyZSB3b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5k IGl0IHdvdWxkIGJlIGxlbW9uLWxpa2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkg YW5hbG9nb3VzIHRvIHRoaXMuIEl0IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRh bmkgdmVjbnUnJyBpcywgYnV0IGl0IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBh IHZlY251LCBhbmQgdGhhdCBpdCdzIHpkYW5pLWxpa2UgaW4gc29tZSB3YXkuIEFuZCBpdCBjb3Vs ZCBiZSB6ZGFuaS1saWtlIGluIGFueSB3YXkuIEluIHRoZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxs eSBvciBhYnN1cmQgdGhlIGNvbm5lY3Rpb24gdG8gemRhbmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0 cnVseSBiZSBhICcnemRhbmkgdmVjbnUnJy4gSG93ZXZlciwgaXQgbXVzdCBhY3R1YWxseSBiZSBh IHZlY251IGluIHRoZSBvcmRpbmFyeSBzZW5zZSBpbiBvcmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFw cGx5LiBZb3UgY291bGQgZ2xvc3MgJyd6ZGFuaSB2ZWNudScnIGFzIOKAnGhvbWUgc2VsbGVy4oCd LCBvciBldmVuIGJldHRlciBidXQgd29yc2Ugc291bmRpbmcg4oCcYSBob21lLXR5cGUtb2Ygc2Vs bGVy4oCdLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgdGFucnUgaXMgYWx3YXlzIHRoYXQgb2Yg dGhlIHJpZ2h0bW9zdCBzZWxicmkuIEl0J3MgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJp IG1vZGlmaWVzIHRoZSByaWdodCBzZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2Vw dGljYWxseSwg4oCcSXQgZG9lc24ndCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRv IHRoZSBsZWZ0IHdvcmQgaW4gYSB0YW5ydSBpcywgaXQncyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxk IGNhbGwgYWxsIHNlbGxlcnMgZm9yICcnemRhbmkgdmVjbnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNv bWUgc2lsbHkgZXhjdXNlIHdoeSBJIHRoaW5rIGl0J3MgemRhbmktbGlrZT/igJ0KCldlbGwgeWVz LCBidXQgdGhlbiB5b3UnZCBiZSBhIGRpY2suIE9yIGF0IGxlYXN0IHlvdSdkIGJlIGludGVudGlv bmFsbHkgbWlzbGVhZGluZy4gSW4gZ2VuZXJhbCwgeW91IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVu IGl0J3Mgb2J2aW91cyBob3cgdGhlIGxlZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoK QXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3Xi gJ0gQWdhaW4sIHdlIGRvbid0IGtub3cgaW4gd2hpY2ggd2F5IGl0J3MgeWVsbG93LiBQcm9iYWJs eSBpdCdzIHBhaW50ZWQgeWVsbG93LCBidXQgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZS5+fgoKCgon J21pIHZlY251IGR1bmRhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBn aXZl4oCdLiBXaGF0IGNhbiB0aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0 IG1lYW4gdGhhdCB5b3Ugc29sZCBzb21ldGhpbmcsIHNpbmNlLCBieSBkZWZpbml0aW9uIG9mICcn ZHVuZGEnJywgdGhlcmUgY2FuIGJlIG5vIHBheW1lbnQgaW52b2x2ZWQuIEl0IGhhcyB0byBiZSBh IGdpdmVhd2F5LCBidXQgYmUgc2VsbC1saWtlIGluIHNvbWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cg Zm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4gV2hhdCBpZiBJIHdhbnRlZCB0byBz YXkgSSBzb2xkIHRvIGEgR2VybWFuPwoKJydfX2RvdGNvX18nJyB4MSBpcyBHZXJtYW4vcmVmbGVj dHMgR2VybWFuIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUg em8nZSBkb3RjbycnIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJp ZGksIHdoaWNoIGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUn JyBidXQgdGhhdCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBh IEdlcm1hbiB3YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3 aXRoIGFuIEFtZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXgg aXMgYSBmcmllbmQgb2YgeDIKCicnX19tZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBV UyBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8g c2F5ICcnbWkgcGVuZG8gbWVya28nJywgYnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFu aW5nIOKAnEkgYW0gZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0 IHdlIHJlYWxseSB3YW50IHRvIGlzIHRvIHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRy YW5zZm9ybSBpdCBpbnRvIGEgc3VtdGkgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAn J3BlbmRvJycuIFRoaXMgaXMgZG9uZSBieSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScn LgoKX18nJ2xvJydfXyDigJMgZ2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3 b3JkLiBFeHRyYWN0cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDi gJMgZW5kIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxh Y2UgYSBzZWxicmkgYmV0d2VlbiB0aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGlu ZyB0aGF0IGNhbiBmaWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBh IHN1bXRpLgoKU28gZm9yIGluc3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmni gJhzIHgxIGFyZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcn bG8gemRhbmkga3UnJyBtZWFucyDigJxhIGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku 4oCdIFNpbWlsYXJseSwgaWYgSSBzYXkgdGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5z IGl0J3MgeWVsbG93LiBTbyAnJ2xvIHBlbHh1IGt1JycgcmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxs b3cuCgoKCk5vdyB5b3UgaGF2ZSB0aGUgbmVjZXNzYXJ5IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBz YXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ21pIHBlbmRvIGxvIG1lcmtvIGt1Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2Qg cmVhc29uIHdoeSB0aGUgJydrdScnIGlzIG5lY2Vzc2FyeS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxB IEdlcm1hbiBzZWxscyB0aGlzIHRvIG1l4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsbyBk b3RjbyBrdSB2ZWNudSB0aSBtaScnIElmIHlvdSBsZWF2ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90 IGdldCBhIGJyaWRpLCBidXQgc2ltcGx5IHRocmVlIHN1bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5v dCBjb252ZXJ0IGJyaWRpLCB0aGUgdGkgaXMgZm9yY2VkIG91dHNpZGUgdGhlIHN1bXRpLCB0aGUg bG8tY29uc3RydWN0IGlzIGZvcmNlZCB0byBjbG9zZSBhbmQgaXQgc2ltcGx5IGJlY29tZXMgdGhl IHRocmVlIHN1bXRpIG9mICcnbG8gZG90Y28gdmVjbnUge2t1fScnLCAnJ3RpJycgYW5kICcnbWkn Jy5+fgoKCgpZb3UgYWx3YXlzIGhhdmUgdG8gYmUgY2FyZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJyds byB6ZGFuaSBrdSBwZWx4dScnLiBJZiB0aGUgJydrdScnIGlzIGxlZnQgb3V0IHRoZSBjb252ZXJz aW9uIHByb2Nlc3MgZG9lcyBub3QgZW5kLCBhbmQgaXQgc2ltcGx5IGJlY29tZXMgb25lIHN1bXRp LCBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnemRhbmkgcGVseHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQg d2l0aCAnJ2xvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0dGl0 dWRpbmFscykKCkFub3RoZXIgY29uY2VwdCB3aGljaCBjYW4gYmUgdW5mYW1pbGlhciB0byBFbmds aXNoIHNwZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdv cmRzIHRoYXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGlu YWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0cnVjdGVkIGxhbmd1YWdlIExhZGFu LCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2Fz IHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRv bWluYXRlZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVz c2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0 aW9uIG9mIHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEs IGFuZCBhdHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0 aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vz b21lIGFuZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3 aGljaCBtZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJy aWRpIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGkncyBncmFtbWFyIG9yIGFueSBncmFtbWF0 aWNhbCBjb25zdHJ1Y3RzLgoKSW4gTG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxp ZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQuIElmIHRoYXQgcHJldmlvdXMgd29yZCBpcyBhIHdvcmQg d2hpY2ggYmVnaW5zIGEgY29uc3RydWN0IChsaWtlICcnLmknJyBvciAnJ2xvJycpLCBpdCBhcHBs aWVzIHRvIHRoZSBlbnRpcmUgY29uc3RydWN0LiBMaWtld2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFs IGZvbGxvd3MgYSB3b3JkIHdoaWNoIGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFw cGxpZXMgdG8gdGhlIGVuZGVkIGNvbnN0cnVjdC4KCgoKTGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGlu YWxzIHRvIG1ha2Ugc29tZSBleGFtcGxlczoKCl9fJycudWknJ19fOiBhdHRpdHVkaW5hbDogc2lt cGxlIHB1cmUgZW1vdGlvbjogaGFwcGluZXNzIC0gdW5oYXBwaW5lc3MKCl9fJyd6YSdhJydfXzog YXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQg aW4gdGhlIGRlZmluaXRpb24gb2YgJycudWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlv bnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlz IGRlZmluZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVu aGFwcGluZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBU ZWNobmljYWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNv bnN0cnVjdCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5p dGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSBy ZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1l cywgbm90IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRv IGF0dGl0dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5h bCdzICJuZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNr IG9mIGl0OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMg eDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0 a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0g KGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUg c3BlYWtlciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQg aXQgd2FzIHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2RvIHphJ2EgY2l0a2EgbG8gcGxpc2Uga3Un JywgdGhlIHNwZWFrZXIgZGlyZWN0bHkgb2JzZXJ2ZXMgdGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f 4oCceW914oCdX18sIHdobyBlYXRzIGFuIGFwcGxlIGFzIG9wcG9zZWQgdG8gc29tZW9uZSBlbHNl LgoKCgpJZiBhbiBhdHRpdHVkaW5hbCBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUg YnJpZGksIGl0IGlzIHVuZGVyc3Rvb2QgdG8gYXBwbHkgdG8gYW4gZXhwbGljaXQgb3IgaW1wbGlj aXQgJycuaScnLCB0aHVzIGFwcGx5aW5nIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJy51aSB6YSdh IGRvIGR1bmRhIGxvIHBsaXNlIGt1IG1pJycg4oCTIOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91 IGdpdmUgYW4vc29tZSBhcHBsZSB0byBtZSHigJ0KCgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpk YW5pIGt1Jycg4oCcSSBzZWxsICh3aGljaCBzdWNrcyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91 dCB3aXRoIGEgZmV3IGV4YW1wbGVzLiBGaXJzdCwgdGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUg YXR0aXR1ZGluYWxzOgoKX18nJy51J3UnJ19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90 aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0 dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogY29tcGxhaW50IC0gcGxlYXN1cmUuCgpf XycnLml1JydfXyBhdHRpdHVkaW5hbDogbWlzY2VsbGFuZW91cyBwdXJlIGVtb3Rpb246IGxvdmUg LSBoYXRlLgoKCgpMb29rIGF0IHRoYXQsIHR3byB3b3JkcyB3aXRoIHRocmVlIGVtb3Rpb25zIGlu IHRoZSBkZWZpbml0aW9uISBUaGUgbWlkZGxlIG9uZSBpcyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5n IHdpdGggJydjdSdpJycuIEl0J3MgY29uc2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rp b24uCgpfXycnY3UnaScnX18gYXR0aXR1ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8g YXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRoZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRo ZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5nIOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4s IHdobyBJIGxvdmXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRv dGNvIGt1IC5pdScnIG9yICcnem8nZScnIGluc3RlYWQgb2YgJydmaScnfn4KCgoKTm93IOKAnEFh aCwgSSBlYXQgYSB5ZWxsb3cgYXBwbGXigJ0KCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFp IG1pIGNpdGthIGxvIHBlbHh1IHBsaXNlIGt1Jyd+fgoKCgpMZXQncyBoYXZlIGFub3RoZXIgYXR0 aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQga2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1 bGlhcjoKCicnLmVpJycgQXR0aXR1ZGluYWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9u OiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBn aXZlIHRoZSBhcHBsZSBhd2F54oCdIGlzICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJp Z2h0PyBJdCBpcywgYWN0dWFsbHkhIFdoZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF0J3Mgd2Vp cmQuIFdoeSBpcyBpdCB0aGF0IGFsbCB0aGUgb3RoZXIgYXR0aXR1ZGluYWxzIHdlIGhhdmUgc2Vl biBzbyBmYXIgZXhwcmVzc2VzIHRoZSBzcGVha2VyJ3MgZmVlbGluZyBhYm91dCB0aGUgYnJpZGks IGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJl bHksIGJ5IHNheWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5 IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4g YXdheS4gSWYgSSBoYWQgdXNlZCAnJy51aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhh dmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBw eSBhYm91dCBpdC4gV2hhdCdzIHRoYXQgYWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5 IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkg aXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKA nHRleHRib29r4oCdIHJ1bGUsIHdoaWNoIHByb2JhYmx5IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRo YXQgdGhlcmUgaXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5k IOKAnHByb3Bvc2l0aW9uYWwgZW1vdGlvbnPigJ0uIE9ubHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25z IGNhbiBjaGFuZ2UgdGhlIHRydXRoIGNvbmRpdGlvbnMsIHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fu bm90LiBJbiBvcmRlciB0byBleHByZXNzIGEgcHJvcG9zaXRpb25hbCBlbW90aW9uYWwgYXR0aXR1 ZGluYWwgd2l0aG91dCBjaGFuZ2luZyB0aGUgdHJ1dGggdmFsdWUgb2YgdGhlIGJyaWRpLCB5b3Ug Y2FuIGp1c3Qgc2VwYXJhdGUgaXQgZnJvbSB0aGUgYnJpZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlz IGFsc28gYSB3b3JkIGZvciBleHBsaWNpdGx5IGNvbnNlcnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRy dXRoIGNvbmRpdGlvbnMgb2YgYSBicmlkaToKCgoKX18nJ2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBk aXNjdXJzaXZlOiBzdXBwb3NpbmcgLSBpbiBmYWN0CgpTYXlpbmcgJydkYSdpJycgaW4gYSBicmlk aSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMg dGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9zaXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2Rh J2kgbmFpJycgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNo IGlzIGRlZmF1bHQgdXNpbmcgcHVyZSBhdHRpdHVkaW5hbHMuCgoKClNvLCB3aGF0J3MgdHdvIHdh eXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9ibGln YXRpb24gYWJvdXQgaXQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlz ZSAuaSAuZWknJyAgYW5kICcnbWkgZHVuZGEgZGEnaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpU aGUgZmVlbGluZyBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25l IGVsc2UgdXNpbmcgJydkYWknJy4gVXN1YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRp dHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2 ZSB0byBiZSBzby4gQWxzbywgYmVjYXVzZSB0aGUgd29yZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHni gJ0gKGZlZWxpbmcgb3RoZXJzIGVtb3Rpb25zKSwgc29tZSBMb2piYW5pc3RzIG1pc3Rha2VubHkg dGhpbmsgdGhhdCB0aGUgc3BlYWtlciBtdXN0IHNoYXJlIHRoZSBlbW90aW9uIGJlaW5nIHN1YnNj cmliZWQgdG8gb3RoZXJzLgoKX18nJ2RhaScnX18gYXR0aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0 aHkgKHN1YnNjcmliZXMgYXR0aXR1ZGluYWwgdG8gc29tZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkK CkV4YW1wbGU6ICcndSdpIC5vaSBkYWkgY2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBl YXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVydCHigJ0KCgoKV2hhdCBvZnRlbiB1c2VkIHBocmFzZSBj b3VsZCAnJy5vaSB1J2kgZGFpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNo LCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xl ZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAo cmVtZW1iZXJpbmcsIHRoYXQgdGVuc2UgaXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lm aWVkLiBBbHNvLCDigJxoZeKAnSBjb3VsZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ3UndSBkYWkgdmVjbnUgbG8gemRhbmkga3UnJ35+CgoKCkxhc3Rs eSwgdGhlIGludGVuc2l0eSBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5n IGNlcnRhaW4gd29yZHMuIFRoZXNlIGNhbiBiZSB1c2VkIGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBv ciBhbiBhdHRpdHVkaW5hbCB3aXRoICcnbmFpJycgb3IgJydjdSdpJycgc3VmZml4ZWQuIEl0J3Mg bGVzcyBjbGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRz LCBsaWtlIGEgc2VsYnJpLCBtdXN0IGl0J3MgbW9zdGx5IHVuZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5 aW5nIG9yIHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNvbWUgdW5zcGVjaWZpZWQgd2F5OgoKfHwg TW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8ICAgRXh0cmVtZQoKIHNhaXwgICBT dHJvbmcKCiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1bSkKCiBydSdlICB8ICAgV2Vha3x8 CgoKCldoYXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNpbmcgJycudSdpIG5haSBzYWknJyA/Cgpf XycnLnUnaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBhbXVzZW1lbnQg LSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpTdHJvbmcgd2VhcmluZXNzfn4KCgoK QW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBhcmUgbWlsZGx5IHJlbW9yc2VsZXNz PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBjdSdpIHJ1J2UnJ35+CgoKCiEhTG9qYmFu IGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJlZm9yZSB3ZSB2ZW50dXJlIGludG8gdGhl IHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3RydWN0cywgeW91IHNob3VsZCBsZWFybiBh bm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRo aXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlwdGlv bi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3aXRoICcnbG8nJykuCgpDb25zaWRlciB0 aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGljaCBtaWdodCBiZSBhcHByb3ByaWF0 ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBz ZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3Jl IGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBjYXJlZnVsbHkgYXQgdGhlIGRlZmlu aXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0byB4Mywgb25lIHJlYWxpemVzIHRoYXQg dGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0 byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0IHNheSAnJ21pIGNpdGthIGxvIGR1bmRh IGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRh JycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9u J3Qgd2FudCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlzIGEgd2F5IHRvIGV4dHJhY3QgdGhl IHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBsZSB3aGVyZSBpdCBpcyB1c2VmdWwg dG8gdXNlIHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycgZG9lcyBpcyB0byBtb2RpZnkgYSBz ZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhhdCBzZWxicmkgdHJhZGUgcGxhY2Vz LiBUaGUgY29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJyaSBpcyBvbiBpdHMgb3duIGNvbnNpZGVy ZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6CgpfXycn ZmFudmEnJ19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1 YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZhIG1p JycgPSAnJ21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRyYW5z bGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1jb25z dHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNl LCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydzZScn IGhhcyBpdHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVu dCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBh bmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhh dCBzLCB0LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9qYmFu IGFscGhhYmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4 ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBhIHRy YW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3NlJycg YW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBhbmQg aXRzIGZhbWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5 b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMvZ29l cyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZpY2Xi gJ0KCicnZnUgbG8gemRhbmkga3UgdGUga2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUg a2xhbWEgZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBh bmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZlbHMg dG8geW91IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQgbWFr ZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRv IHRlc3QgdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3 ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0 LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRvIGdl dCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJydsbycn Li4uJydrdScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNob3dz IG9uZSBvZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoKISFM b2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdlIGhh dmUgb25seSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBleHBy ZXNzIG1vcmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGlu YXRlIHNlbnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJhbiB0 aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1wbGUg dG8gZGVtb25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5k LuKAnSBIZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFu ZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0IHRo ZSBkZWZpbml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18nJ2ds ZWtpJydfXyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2Vl cyB0aGF0IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5h dHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRz ZWxmLCBvbmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9u bHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkg Y2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQs IHRoZXJlIGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1J3UnJy4uLicna2VpJycgaXMgYSBn ZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3Mg anVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFj dGlvbiBvZiB7YnJpZGl9IG9mIHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoK CgpFeGFtcGxlOgoKX18nJ21lbGJpJydfXyB4MSBpcyBiZWF1dGlmdWwgdG8geDIuCgpfXycnZGFu c3UnJ19fIHgxIGRhbmNlcyB0byBhY2NvbXBhbmltZW50L211c2ljL3JoeXRobSB4Mi4KCicnbWVs Ymkgc3UndSBkYW5zdSBrZWknJyAtIOKAnEJlYXV0aWZpbCBkYW5jaW5n4oCdL+KAnEJlYXV0aWZp bCBkYW5jZeKAnQoKCgpJdCdzIHVzdWFsbHkgaGFyZCB0byBmaW5kIGdvb2QgdXNlcyBvZiBhIGJy aWRpIGFzIGEgc2VsYnJpLiBIb3dldmVyLCBzaW5jZSAnJ3N1J3UgQlJJREkga2VpJycgaXMgYSBz ZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVzaW5nICcnbG8nJy4uLicna3Un Jy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhhcHB5IHRo YXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpfXycncGVuZG8nJ19fIOKAnHgx IGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBs byBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoKSG93ZXZlciwgJydzdSd1JyfigKYnJ2tl aScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHByZWZlciB0byB1c2UgdGhlIG1vcmUg c3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQgJydkdSd1JyfigKYnJ2tlaScnLiBU aGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LiAnJ251 4oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRl LCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFzIGFuIGFic3RyYWN0IGJyaWRpLCBmb3Ig ZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdodHMgb3IgdHJ1dGhzLiBBbGwgdGhl c2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVkIGFic3RyYWN0b3JzLiBUaGVyZSBh cmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJlIHVzZWQgbXVjaC4gJydzdSd14oCma2Vp JycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3aWxsIHdvcmsgaW4gYWxsIGNhc2VzLgoK CgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkgYWJvdXQgdGFsa2luZyB0byB5b3Uu4oCd CgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0IHN1YmplY3QgeDMgaW4gbGFuZ3Vh Z2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBudSB0YXZsYSBkbyBr ZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4gaXMgdmFndWUg YXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoKCgpPdGhlciBpbXBvcnRhbnQgYWJz dHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9wZXJ0eS9hc3BlY3QgYWJzdHJhY3Rp b24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVhIGFic3RyYWN0aW9uKSwgJyduaS4uLmtl aScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcgb3RoZXJzLiBUaGUgbWVhbmluZ3Mgb2Yg dGhlc2UgaXMgYSBjb21wbGljYXRlZCBtYXR0ZXIsIGFuZCB3aWxsIGJlIGRpc2N1c3NlZCBtdWNo IGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LW5pbmUuIEZvciBub3csIHlvdSdsbCBoYXZlIHRvIGRv IHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJz dHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4gQXMgYW4gZXhhbXBsZSwgJydkdSd1 JycgY2FuIGJlIG1lbnRpb25lZC4gJydkdSd1JycgaXMgZGVmaW5lZDoKCicnZHUndScnID0g4oCc YWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJlc3Nl ZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4MSBp cyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0 aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRo YXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBk dSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1IGt1IGtlaSBrdScnLCBpZiB5b3Ugd2lsbCBwYXJkb24g dGhlIHdlaXJkIGV4YW1wbGUuCgpfXycnY3Vza3UnJ19fIHgxIGV4cHJlc3NlcyB4MiB0byB4MyB0 aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dlcmt1JydfXyB4MSBpcyBhIGRvZyBvZiByYWNlIHgyCgoh IUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4gKE5PSSkKCldoaWxlIHdlJ3JlIGF0IGl0 LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBvZiBzdWJvcmRpbmF0ZSBicmlkaS4gVGhlc2UgYXJlIGNh bGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBUaGV5IGFyZSBzZW50ZW5jZXMgd2hpY2ggYWRkIHNvbWUg ZGVzY3JpcHRpb24gdG8gYSBzdW10aS4gSW5kZWVkLCB0aGUg4oCcd2hpY2jigJ0gaW4gdGhlIHBy ZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0aGUgYmVnaW5uaW5nIG9mIGEgcmVsYXRpdmUgY2xhdXNl IGluIEVuZ2xpc2ggZGVzY3JpYmluZyByZWxhdGl2ZSBjbGF1c2VzLiBJbiBMb2piYW4sIHRoZXkg Y29tZSBpbiB0d28gZmxhdm9ycywgYW5kIGl0IG1pZ2h0IGJlIHdvcnRoIGRpc3Rpbmd1aXNoaW5n IHRoZSB0d28ga2luZHMgYmVmb3JlIGxlYXJuaW5nIGhvdyB0byBleHByZXNzIHRoZW0uCgpUaGUg dHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSAob3Ig aW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNsYXVzZXMuIEFuIGV4YW1wbGUgd291bGQgYmUgZ29vZCBo ZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hvIGlzIHR3byBtZXRlcnMgdGFsbCwgaXMgYSBwb2xpdGlj aWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRlcnN0b29kIGluIHR3byB3YXlzLiBJIGNvdWxkIGhhdmUg c2V2ZXJhbCBicm90aGVycywgaW4gd2hpY2ggY2FzZSBzYXlpbmcgaGUgaXMgdHdvIG1ldGVycyB0 YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdoaWNoIGJyb3RoZXIgSSBhbSB0YWxraW5nIGFib3V0LiBP ciBJIG1pZ2h0IGhhdmUgb25seSBvbmUgYnJvdGhlciwgaW4gd2hpY2ggY2FzZSBJIGFtIHNpbXBs eSBnaXZpbmcgeW91IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCgoKCkluIEVuZ2xpc2ggYXMgd2Vs bCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28ga2luZHMg4oCTIHRo ZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBpcyByZXN0cmljdGl2ZSAoc2luY2UgaXQgaGVscHMgcmVz dHJpY3QgdGhlIHBvc3NpYmxlIGJyb3RoZXJzIEkgbWlnaHQgYmUgdGFsa2luZyBhYm91dCksIHRo ZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZlLiBXaGVuIHNwZWFraW5nIEVuZ2xpc2gsIGNvbnRleHQg YW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGluIHdyaXR0ZW4gRW5nbGlzaCwgcHVuY3R1YXRpb24pIGhl bHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvLCBidXQgbm90IHNvIGluIExvamJh bi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0cnVjdHMgJydwb2nigKZrdSdvJycgYW5kICcnbm9p4oCm a3UnbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVz ZXMsIHJlc3BlY3RpdmVseS4KCkxldCdzIGhhdmUgYSBMb2piYW5pYyBleGFtcGxlLCB3aGljaCBj YW4gYWxzbyBleHBsYWluIG91ciBzdHJhbmdlIGdpZnQtZWF0aW5nIGJlaGF2aW91ciBpbiB0aGUg ZXhhbXBsZSBpbiBsZXNzb24gZml2ZToKCl9fJydub2knJ19fIGJlZ2luIG5vbi1yZXN0cmljdGl2 ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydwb2knJ19f IGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1 bXRpKQoKX18nJ2t1J28nJ19fIGVuZCByZWxhdGl2ZSBjbGF1c2UKCgoKJydtaSBjaXRrYSBsbyBz ZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3UnbycnID0g4oCcSSBlYXQgYSBnaWZ0IHN1Y2ggdGhhdCAo c29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRoZSAnJ3BvaeKApmt1J28nJyBpcyBw bGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1JycsIHNvIGl0IGFwcGxpZXMgdG8gdGhl IGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNsYXVzZSBkb2VzIG5vdCBzcGVjaWZ5 IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFuIGFwcGxlLCBidXQgc2luY2UgdGhlIHJlbGF0aXZlIGNs YXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0LCB3ZSBjYW4gc2FmZWx5IGFzc3VtZSB0aGF0IGl0IG1l YW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRleHQg b2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBiZSBh YnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFw cGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZSdhJycsIHdoaWNoIGlzIGEgJydzdW1rYSdpJycgKGEg TG9qYmFuIHByb25vdW4sIG1vcmUgb24gdGhlbSBsYXRlcikgcmVwcmVzZW50aW5nIHRoZSBzdW10 aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGlzIGF0dGFjaGVkIHRvLgoKX18nJ2tlJ2EnJ19f IHN1bWthJ2k7IHJlZmVycyB0byB0aGUgc3VtdGksIHRvIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1 c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVpIG1pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBrZSdh IHBsaXNlIGt1J28nJyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0IHdoaWNoIGlzIGFuIGFwcGxl4oCd LgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVzdHJpY3RpdmUgYW5kIG5v bi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJlJ3MgYW5vdGhlciBleGFtcGxlOgoK CgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExvamJhbmljIGN1bHR1cmUvY29tbXVuaXR5 IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoKCicnbWkgbm9pIGxvamJvIGt1J28g ZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9IOKAnEksIHdobyBhbSBhIExvamJhbmljLCB0cmFuc2xh dGUgZnJvbSBzb21lIExvamJhbmljIGxhbmd1YWdlLuKAnSBIZXJlLCB0aGVyZSBpcyBub3QgbXVs dGlwbGUgdGhpbmdzIHdoaWNoICcnbWknJyBjb3VsZCByZWZlciB0bywgYW5kIHRoZSBmYWN0IHRo YXQgSSBhbSBsb2piYW5pYyBpcyBtZXJlbHkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBub3QgbmVl ZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVyZWZvcmUgJydub2nigKZrdSdvJycgaXMgYXBwcm9wcmlh dGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhpczog4oCcSSBmbGlydCB3aXRoIGEgbWFu IHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycnbmFubXUnJ19fIOKAnHgxIGlzIGEg bWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0aWZ1bCB0byB4MiBpbiBhc3BlY3Qg KGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Npbmppa2NhJydfXyDigJx4MSBmbGlydHMv Y291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgbG8gbmFubXUga3UgcG9pIHtrZSdhfSBt ZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1vcmUgdGVjaG5pY2FsIHNpZGUgbm90ZSwgaXQgbWlnaHQg YmUgdXNlZnVsIHRvIGtub3cgdGhhdCAnJ2xvIHtzZWxicml9IGt1JycgaXMgb2Z0ZW4gc2VlbiBk ZWZpbmVkIGFzICcnem8nZSBub2kga2UnYSB7c2VsYnJpfSBrdSdvJycuCgoKCgoKISFMb2piYW4g TGVzc29ucyDigJMgTGVzc29uIGVpZ2h0ICh0ZXJtaW5hdG9yIGVsaXNpb24pCgonJy5hdSBkYSdp IG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamlt cGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2 YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmljYW4s IHdobyBpcyBteSBzaWJsaW5nLCB3b3VsZCB1bmRlcnN0YW5kIHRoYXQgSSBkb24ndCBsaWtlIHRo YXQgaGUgaGl0cyBtZS7igJ0KClJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWJvdmUgc2VudGVu Y2UgaXMgYmVpbmcgdW5kZXJzdG9vZCwgKGl0IHNob3VsZG4ndCwgYXMgaXQgY29udGFpbnMgd29y ZHMgd2UgaGF2ZSBub3QgY292ZXJlZCBpbiB0aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5nIHN0 YW5kcyBvdXQ6IEFzIG1vcmUgY29tcGxleCBMb2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5lZCwg bW9yZSBhbmQgbW9yZSBvZiB0aGUgc2VudGVuY2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1JycsICcn a2VpJycsICcna3UnbycnIGFuZCBvdGhlciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVtc2Vs dmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoKClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMg aXMgdG8gc2lnbmFsIHRoZSBlbmQgb2YgYSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNvbnN0cnVjdCwg bGlrZSBmb3IgaW5zdGFuY2Ug4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0gaW4gdGhlIGNh c2Ugb2YgJydrdScnLiBUaGUgRW5nbGlzaCB3b3JkIGZvciB0aGlzIGtpbmQgb2Ygd29yZCBpcyDi gJx0ZXJtaW5hdG9y4oCdLCB0aGUgTG9qYmFuIHdvcmQgaXMgJydmYSdvcm1hJ28nJy4gVGhleSBh cmUgd3JpdHRlbiBpbiBib2xkIGluIHRoZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcndmF1 JycgaW4gdGhlIGFib3ZlIGV4YW1wbGUgYXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBicmlk aeKAnS4gVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0 YXkgdHVuZWQuCgpfXycndmF1JydfXyBmYSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCklu IG1vc3Qgc3Bva2VuIGFuZCB3cml0dGVuIExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNraXBw ZWQgKGVsaWRlZCkuIFRoaXMgZ3JlYXRseSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBz cGFjZSBpbiB3cml0aW5nLCBob3dldmVyLCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVu IGVsaWRpbmcgZmEnb3JtYSdvLiBJbiB0aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBrdSBr bGFtYScnLCByZW1vdmluZyB0aGUgZmEnb3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1l cmtvIGtsYW1hJycsIHdoaWNoIGlzIGEgc2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUg JydtZXJrbyBrbGFtYScnLiBUaHVzLCBpdCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKA nSBpbnN0ZWFkIG9mIOKAnGFuIEFtZXJpY2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9u IGNhbiBsZWFkIHRvIHZlcnkgd3JvbmcgcmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3aGlj aCBpcyB3aHkgeW91IGhhdmVuJ3QgbGVhcm5lZCBhYm91dCBpdCB1bnRpbCBub3cuCgoKClRoZSBy dWxlIGZvciB3aGVuIGZhJ29ybWEnbyBjYW4gYmUgZWxpZGVkIGlzIHZlcnkgc2ltcGxlLCBhdCBs ZWFzdCBpbiB0aGVvcnk6IOKAnFlvdSBjYW4gZWxpZGUgYSBmYSdvcm1hJ28sIF9faWYgYW5kIG9u bHkgaWZfXyBkb2luZyBzbyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGdyYW1tYXRpY2FsIGNvbnN0cnVj dHMgaW4gdGhlIHNlbnRlbmNlLuKAnQoKTW9zdCBmYSdvcm1hJ28gY2FuIGJlIHNhZmVseSBlbGlk ZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBvYnZpb3VzIG9u ZXMgbGlrZSDigJxlbmQgcXVvdGXigJ0tZmEnb3JtYSdvIGFuZCDigJxlbmQgYnJpZGkgZ3JvdXBp bmfigJ0tZmEnb3JtYSdvLiBUaGlzIGlzIHdoeSAnJ3ZhdScnIGlzIGFsbW9zdCBuZXZlciB1c2Vk IOKAkyBzaW1wbHkgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpdGggJycuaScnIHdpbGwgYWxtb3N0 IGFsd2F5cyB0ZXJtaW5hdGUgdGhlIHByZWNlZGluZyBicmlkaSBhbnl3YXkuIEl0IGhhcyBvbmUg ZnJlcXVlbnQgdXNlLCBob3dldmVyLiBTaW5jZSBhdHRpdHVkaW5hbHMgYWx3YXlzIGFwcGx5IHRv IHRoZSBwcmVjZWRpbmcgd29yZCwgYXBwbHlpbmcgaXQgdG8gYSBmYSdvcm1hJ28gYXBwbGllcyBp dCB0byB0aGUgZW50aXJlIGNvbnN0cnVjdCB3aGljaCBpcyB0ZXJtaW5hdGVkLiBVc2luZyAnJ3Zh dScnLCBvbmUgY2FuIHRoZW4gdXNlIGF0dGl0dWRpbmFscyBhZnRlcnRob3VnaHQgYW5kIGFwcGx5 IHRoZW0gdG8gdGhlIGVudGlyZSBicmlkaToKCicnemEnYSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9 IGxvIHByZW51IHtrdX0uLi4gdmF1IGknZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhv bWUgdG8gYSBwZXJzb24uLi4gSSBhcHByb3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBhIHBl cnNvbjsgeDEgaGFzIGEgcGVyc29uYWxpdHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZv ciBmYSdvcm1hJ28gZWxpc2lvbiwgd2UgY2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBz ZW50ZW5jZSBhbmQgYmVnaW4gcmVtb3ZpbmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYSdpIG1pIGRq aWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8g ZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2Vp IGt1IHZhdSBrZWkga3UgdmF1X18nJwoKCgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1 JycgaXMgZ3JhbW1hdGljYWxseSB1bm5lY2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24tZmEn b3JtYSdvLXdvcmQgaXMgJydqaW1wZScnLCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhlcmUg Y2FuIG9ubHkgYmUgb25lIHNlbGJyaSBwZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRlZC4g U2luY2UgJydqaW1wZScnIGFzIGEgc2VsYnJpIGNhbm5vdCBiZSBpbiB0aGUgcmVsYXRpdmUgY2xh dXNlIGVpdGhlciAob25seSBvbmUgYnJpZGkgaW4gYSBjbGF1c2UsIG9ubHkgb25lIHNlbGJyaSBp biBlYWNoIGJyaWRpKSwgd2UgY2FuIGVsaWRlICcna3UnbycnLiBMaWtld2lzZSwgJydqaW1wZScn IGNhbm5vdCBiZSBhIHNlY29uZCBzZWxicmkgaW5zaWRlIHRoZSBjb25zdHJ1Y3QgJydsZSBtZXJr byBwb2l7Li4ufScnLCBzbyB0aGUgJydrdScnIGlzIG5vdCBuZWVkZWQgZWl0aGVyLiBGdXJ0aGVy bW9yZSwgYWxsIHRoZSBmYSdvcm1hJ28gYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBzZW50ZW5jZSBj YW4gYmUgZWxpZGVkIHRvbywgc2luY2UgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpbGwgdGVybWlu YXRlIGFsbCBvZiB0aGVzZSBjb25zdHJ1Y3RzIGFueXdheS4KCldlIHRoZW4gZW5kIHVwIHdpdGg6 CgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBs byBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWknJyDigJMgd2l0aCBubyBmYSdv cm1hJ28gYXQgYWxsIQoKCgpXaGVuIGVsaWRpbmcgZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRl YSB0byBiZSBhY3F1YWludGVkIHdpdGggJydjdScnLiAnJ2N1JycgaXMgb25lIG9mIHRob3NlIHdv cmRzIHdoaWNoIGNhbiBtYWtlIHlvdXIgKExvamJhbmljKSBsaWZlIGEgbG90IGVhc2llci4gV2hh dCBpdCBkb2VzIGlzIHRvIHNlcGFyYXRlIGFueSBwcmV2aW91cyBzdW10aSBmcm9tIHRoZSBzZWxi cmkuIE9uZSBjb3VsZCBzYXkgdGhhdCBpdCBkZWZpbmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBz ZWxicmksIGFuZCB0ZXJtaW5hdGVzIGV4YWN0bHkgYXMgbXVjaCBhcyBpdCBuZWVkcyB0byBpbiBv cmRlciB0byBkbyB0aGF0LgoKX18nJ2N1JydfXyBlbGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBz ZWxicmkgZnJvbSBwcmVjZWRpbmcgc3VtdGksIGFsbG93cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVs aXNpb24uCgoKCl9fJydwcmFtaScnX18gPSDigJx4MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN1J3Ug ZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9f IHNlIGRqaWNhIG1pJycgPQoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkg bWkgX19jdV9fIHNlIGRqaWNhIG1pJycKCuKAnFRoYXQgeW91IHNheSB0aGF0IHlvdSBsb3ZlIG1l IGlzIGRlc2lyZWQgYnkgYmXigJ0gb3Ig4oCcSSB3aXNoIHlvdSBzYWlkIHlvdSBsb3ZlZCBtZeKA nQoKbm90ZTogJydjdScnIGlzIG5vdCBhIGZhJ29ybWEnbywgYmVjYXVzZSBpdCBpcyBub3QgdGll ZCB0byBvbmUgc3BlY2lmaWMgY29uc3RydWN0LiBCdXQgaXQgY2FuIGJlIHVzZWQgdG8gZWxpZGUg b3RoZXIgZmEnb3JtYSdvLgoKCgpPbmUgb2YgdGhlIGdyZWF0ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1 JycgaXMgdGhhdCBpdCBxdWlja2x5IGJlY29tZXMgZWFzeSB0byBpbnR1aXRpdmVseSB1bmRlcnN0 YW5kLiBCeSBpdHNlbGYgaXQgbWVhbnMgbm90aGluZywgYnV0IGl0IHJldmVhbHMgdGhlIHN0cnVj dHVyZSBvZiBMb2piYW4gZXhwcmVzc2lvbnMgYnkgaWRlbnRpZnlpbmcgdGhlIGNvcmUgc2VsYnJp LiBJbiB0aGUgb3JpZ2luYWwgZXhhbXBsZSB3aXRoIHRoZSB2aW9sZW50IEFtZXJpY2FuIGJyb3Ro ZXIsIHVzaW5nICcnY3UnJyBiZWZvcmUgJydqaW1wZScnIGRvZXMgbm90IGNoYW5nZSB0aGUgbWVh bmluZyBvZiB0aGUgc2VudGVuY2UgaW4gYW55IHdheSwgYnV0IG1pZ2h0IG1ha2UgaXQgZWFzaWVy IHRvIHJlYWQuCgoKCkluIHRoZSBmb2xsb3dpbmcgY291cGxlIG9mIGxlc3NvbnMsICcnY3UnJyB3 aWxsIGJlIHVzZWQgd2hlbiBuZWNlc3NhcnksIGFuZCBhbGwgZmEnb3JtYSdvIGVsaWRlZCBpZiBw b3NzaWJsZS4gVGhlIGVsaWRlZCBmYSdvcm1hJ28gd2lsbCBiZSBlbmNhc2VkIGluIGN1cmx5IGJy YWNrZXRzLCBhcyBzaG93biBiZWxvdy4gVHJ5IHRvIHRyYW5zbGF0ZSBpdCEKCl9fJyd2YWpuaScn X18g4oCceDEgaXMgaW1wb3J0YW50IHRvIHgyIGZvciByZWFzb24geDPigJ0KCl9fJydqaW1wZScn X18g4oCceDEgdW5kZXJzdGFuZHMgdGhhdCB4MiAoZHUndS1hYnN0cmFjdGlvbikgaXMgdHJ1ZSBh Ym91dCB4M+KAnQoKX18nJ2EnbycnX18gLSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0aW9u YWwgZW1vdGlvbjogSG9wZSAtIGRlc3BhaXIKCgoKJydhJ28gZG8gbm9pIGtlJ2EgbG9qYm8gLmkn ZSB7a3Unb30ge2t1fSBjdSBqaW1wZSBsbyBkdSd1IGxvIGZhJ29ybWEnbyB7a3V9IGN1IHZham5p IHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0nJwoKV2hhdCBkbyBJIHN0YXRlPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnEkgaG9wZSB0aGF0IHlvdSwgYSBwcm91ZCBMb2piYW5pc3QsIHVuZGVyc3Rh bmRzIHRoYXQgZmEnb3JtYSdvIGFyZSBpbXBvcnRhbnTigJ1+fgoKCgpGdW4gc2lkZSBub3RlOiBN b3N0IHBlb3BsZSB3ZWxsLXZlcnNlZCBpbiBmYSdvcm1hJ28tZWxpc2lvbiBkbyBpdCBzbyBpbnN0 aW5jdGl2ZWx5IHRoYXQgdGhleSBvZnRlbiBtdXN0IGJlIHJlbWluZGVkIGhvdyBpbXBvcnRhbnQg dW5kZXJzdGFuZGluZyBmYSdvcm1hJ28gYXJlIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIExvamJh bi4gVGhlcmVmb3JlLCBlYWNoIFR1ZXNkYXkgaGF2ZSBiZWVuIGRlc2lnbmF0ZWQg4oCcVGVybWlu YXRvciBEYXnigJ0gb3IgJydmYSdvcm1hJ28gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0 cm9vbS4gRHVyaW5nIFRlcm1pbmF0b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBm YWlsKSB0byByZW1lbWJlciB3cml0aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5 IHZlcmJvc2UgY29udmVyc2F0aW9ucyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIG5pbmUgKHN1bXRjaXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0 dHkgd2VsbCB3aXRoIHRoZSBzZWxicmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhl cmUgaXMgYSBmaW5pdGUgYW1vdW50IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGlu IG1hbnkgY2FzZXMgdGhlIHN1bXRpIHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBo YWQgaW4gbWluZC4gV2hhdCBpZiwgc2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xh dGluZyB1c2luZyBhIGNvbXB1dGVyPyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJl IG9mICcnZmFudmEnJyB0byBzcGVjaWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5j ZSwgbW9zdCBvZiB0aGUgdGltZSwgdGhhdCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29ycnks IHRoaXMgbGVzc29uIGlzIG9uIGhvdyB0byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMgdG8g dGhlIHNlbGJyaS4KCgoKVGhlIG1vc3QgYmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJl IHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycgKHllcywgYW5vdGhlciBleGFtcGxlIG9mIGEgZmEn b3JtYSdvLCAnJ2ZlJ3UnJy4gSXQncyBhbG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1p Z2h0IGJlIHRoZSBsYXN0IHRpbWUgeW91IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhlc2Ug dHdvIHdvcmRzIGdvZXMgYSBzZWxicmksIGFuZCBsaWtlICcnbG8gU0VMQlJJIGt1JycsICcnZmkn byBTRUxCUkkgZmUndScnIGV4dHJhY3RzIHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0 LiBIb3dldmVyLCB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnLCB0aGUgc2VsYnJpIHBsYWNlIGlz IGNvbnZlcnRlZCwgbm90IHRvIGEgc3VtdGksIGJ1dCB0byBhICcnc3VtdGNpdGEnJywgbWVhbmlu ZyDigJxzdW10aS1sYWJlbOKAnSwgd2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIHRoZSB4MSBv ZiB0aGUgc2VsYnJpIGl0IGNvbnZlcnRlZC4gVGhpcyAnJ3N1bXRjaXRhJycgdGhlbiBhYnNvcmJz IHRoZSBuZXh0IHN1bXRpLiBPbmUgY291bGQgc2F5IHRoYXQgdXNpbmcgYSAnJ3N1bXRjaXRhJycs IHlvdSBpbXBvcnQgYSBzdW10aSBwbGFjZSBmcm9tIGFub3RoZXIgc2VsYnJpLCBhbmQgYWRkIGl0 IHRvIHRoZSBicmlkaSBiZWluZyBzYWlkLgoKTm90ZTogU29tZXRpbWVzLCBlc3BlY2lhbGx5IGlu IG9sZGVyIHRleHRzLCB0aGUgdGVybSDigJx0YWfigJ0gb3Ig4oCcbW9kYWzigJ0gaXMgdXNlZCBm b3IgJydzdW10Y2l0YScnLiBJZ25vcmUgdGhvc2UgcHVueSBFbmdsaXNoIGV4cHJlc3Npb25zLiBX ZSB0ZWFjaCBwcm9wZXIgTG9qYmFuIGhlcmUuCgoKCldoaWxlIGl0IGlzIGhhcmQgdG8gZ3Jhc3Ag dGhlIHByb2Nlc3MgZnJvbSByZWFkaW5nIGFib3V0IGl0LCBhbiBleGFtcGxlIGNhbiBwZXJoYXBz IHNob3cgaXRzIGFjdHVhbCBzaW1wbGljaXR5OgoKX18nJ3NrYW1pJydfXyDigJx4MSBpcyBhIGNv bXB1dGVyIGZvciBwdXJwb3NlIHgy4oCdCgpfXycncGlsbm8nJ19fIOKAnHgxIHVzZXMgeDIgYXMg YSB0b29sIGZvciBkb2luZyB4M+KAnQoKCgonJ21pIGZhbnZhIHRpIGZpJ28gc2UgcGlsbm8ge2Zl J3V9IGxvIHNrYW1pIHtrdX17dmF1fScnIC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29t cHV0ZXLigJ0gVGhlIHgyIG9mICcncGlsbm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2UgcGls bm8nJyBpcyBhIHBsYWNlIHN0cnVjdHVyZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29tZW9u ZS4gVGhpcyBwbGFjZSBzdHJ1Y3R1cmUgaXMgY2FwdHVyZWQgYnkgJydmaSdvIFNFTEJSSSBmZSd1 JycsIGFkZGVkIHRvIHRoZSBtYWluIHNlbGJyaSwgYW5kIHRoZW4gZmlsbGVkIGJ5ICcnbG8gc2th bWknJy4gVGhlIGlkZWEgb2YgJydzdW10Y2l0YScnIGlzIHNvbWV0aW1lcyBleHByZXNzZWQgaW4g RW5nbGlzaCB1c2luZyB0aGUgZm9sbG93aW5nIHRyYW5zbGF0aW9uOgoK4oCcSSB0cmFuc2xhdGUg dGhpcyB3aXRoLXRvb2w6IEEgY29tcHV0ZXLigJ0KCgoKQSAnJ3N1bXRjaXRhJycgY2FuIG9ubHkg YWJzb3JiIG9uZSBzdW10aSwgd2hpY2ggaXMgYWx3YXlzIHRoZSBmb2xsb3dpbmcgb25lLiBBbHRl cm5hdGl2ZWx5LCB0aGUgJydzdW10Y2l0YScnIGNvbnN0cnVjdCBjYW4gYmUgdGVybWluYXRlZCB3 aXRoICcna3UnJywgaW4gd2hpY2ggY2FzZSBhICcnem8nZScnIGlzIGltcGxpZWQgdG8gZmlsbCB0 aGUgJydzdW10Y2l0YScnLiBPciwgb25lIGNvdWxkIGltYWdpbmUgYW4gZWxpZGVkIHN1bXRpIGJl aW5nIHRlcm1pbmF0ZWQgd2l0aCB0aGUgJydrdScnLgoKX18nJ3p1a3RlJydfXyDigJx4MSBpcyBh IHZvbGl0aW9uYWwgZW50aXR5IGNhcnJ5aW5nIG91dCBhY3Rpb24geDIgZm9yIHB1cnBvc2UgeDPi gJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1fSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxv amJvIHtrdX17dmF1fScnIC0g4oCcV2l0aCB2b2xpdGlvbiwgYSBjb21wdXRlciB1c2VkIHNvbWV0 aGluZyBMb2piYW5pY+KAnSAocGVyaGFwcyBpbXBseWluZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0 ZXIgd2VudCBzZW50aWVudD8gVG91Z2ggaXQgZG9lcyBub3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0 aW9uLiBJdCBjb3VsZCBqdXN0IGJlIHRoZSBwcm9ncmFtbWVyIHdobyBwcm9ncmFtbWVkIHRoZSBj b21wdXRlciAtIGhvdyBib3JpbmcuKQoKCgpXaGF0IGRvZXMgJydtaSBqaW1wZSBmaSBsYSBsb2pi YW4ge2t1fSBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhpbmcgYWJvdXQgTG9qYmFuLCBzcG9rZW4gdG8g bWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRjaXRhJycgcmlnaHQgaW4gZnJvbnQgb2YgdGhl IHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVybWluYXRlLCBzaW5jZSBzdW10Y2l0YSBvbmx5 IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2VsYnJpLiBUaGlzIGZhY3Qgd2lsbCBiZSBvZiBp bXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5b3Ugd2lsbCBzZWUuCgoKClNhZGx5LCAnJ2Zp J28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRlc3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0 IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBhcmUgQkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBM b2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1zZWx2ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4g ZXhhbXBsZSBvZiB0aGlzIGlzICcnenUnZScnLCB0aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1h dGljYWxseSwgJyd6dSdlJycgaXMgdGhlIHNhbWUgYXMgJydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1 cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUgcmVkdWNlZCB0bzoKCicnenUnZSBrdSBsbyBz a2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX0ge3ZhdX0nJy4gVGhlcmUgZXhpc3Qgc29t ZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhlc2UgYXJlIHZlcnkgdXNlZnVsIGlu ZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNvbnZlcnRlZCB3aXRoICcnc2UnJyBh bmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenUnZScnIGlzIGVxdWFsIHRvICcnZmknbyBz ZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBncmVhdCBkZWFsIG1vcmUgQkFJLgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAoUFUsIEZBaEEsIFpJLCBWQSwgWkVoQSwg VkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNoLXNwZWFrZXIgYSBsYW5ndWFnZSBM b2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3VnaCBuaW5lIGxlc3NvbnMgb2YgTG9qYmFu IGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25jZS4gVGhpcyBpcyBiZWNhdXNlLCB1 bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJbmRvLUV1cm9wZWFuIG9uZXMsIGZv ciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFyZSBvcHRpb25hbC4gU2F5aW5nICcn bWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFuIOKAnEkgZWF0IGNoZWVzZeKAnSBvciDi gJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlzIGVhdCBjaGVlc2XigJ0gb3Ig4oCc SW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmluaXNoZWQgZWF0aW5nIGNoZWVzZeKAnS4g Q29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFuZCBpbiBtb3N0IGNvbnZlcnNhdGlv biwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93ZXZlciwgd2hlbiBpdCdzIG5lZWRl ZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0LiBGdXJ0aGVybW9yZSwgTG9qYmFu IHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkgdHJlYXQgdGltZSBhbmQgc3BhY2UgZnVu ZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0IEkgd29ya2VkIGEgbG9uZyB0aW1lIGFn byBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQgdGhhbiBzYXlpbmcgSSB3b3JrIGZhciBh d2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMsIHRoZSBMb2piYW4g dGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3QgZGlmZmljdWx0IHBhcnQgb2YgdGhlIGxh bmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMgdGhvdWdoLCBpdCdzIHBlcmZlY3Rs eSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVhciBub3QsIGZvciBpdCB3aWxsIG5vdCBp bnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBtb2RpZnkgdGhlIHNlbGJyaSBvciBhbnl0 aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSwg YWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdlIGhhdmUgY29udmVuaWVudGx5IGp1c3Qg bWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2theSBva2F5LCB0ZWNobmljYWxseSwgdGVu c2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBvdGhlciBzdW10Y2l0YSwgYnV0IHRoaXMg ZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2FudCwgYW5kIHdpbGwgYmUgd29uJ3QgYmUg ZXhwbGFpbmVkIHVudGlsIGxhdGVyLiBJbiBtb3N0IGFzcGVjdHMgdGhleSBhcmUgbGlrZSBhbGwg b3RoZXIgc3VtdGNpdGE7IHRoZXkgYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBtYWtpbmcgaXQg ZXhwbGljaXQgdGhhdCBQVSBpcyB0ZXJtaW5hdGVkIGJ5ICcna3UnJy4KClRoZXJlIGFyZSBtYW55 IGRpZmZlcmVudCBraW5kcyBvZiB0ZW5zZS1zdW10Y2l0YSwgc28gbGV0J3Mgc3RhcnQgYXQgdGhl IG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLXNwZWFrZXJzLgoKX18nJ3B1JydfXyAtIHN1 bXRjaXRhOiBiZWZvcmUge3N1bXRpfQoKX18nJ2NhJydfXyAtIHN1bXRjaXRhOiBhdCB0aGUgc2Ft ZSB0aW1lIGFzIHtzdW10aX0KCl9fJydiYScnX18gLSBzdW10Y2l0YTogYWZ0ZXIge3N1bXRpfQoK CgpUaGVzZSBhcmUgbGlrZSB0aGUgRW5nbGlzaCBjb25jZXB0cyDigJxiZWZvcmXigJ0sIOKAnG5v d+KAnSBhbmQg4oCcYWZ0ZXLigJ0uIEluIGFjdHVhbGl0eSB0aG91Z2gsIG9uZSBjb3VsZCBhcmd1 ZSB0aGF0IHR3byBwb2ludC1saWtlIGV2ZW50cyBjYW4gbmV2ZXIgb2NjdXIgZXhhY3RseSBzaW11 bHRhbmVvdXNseSwgcmVuZGVyaW5nICcnY2EnJyB1c2VsZXNzLiBCdXQgJydjYScnIGV4dGVuZHMg c2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgdGhlIGZ1dHVyZSwgbWVhbmluZyBqdXN0IOKAnGFi b3V0IG5vd+KAnS4gVGhpcyBpcyBiZWNhdXNlIGh1bWFuIGJlaW5ncyBkb24ndCBwZXJjZWl2ZSB0 aW1lIGluIGEgcGVyZmVjdGx5IGxvZ2ljYWwgd2F5LCBhbmQgdGhlIExvamJhbiB0ZW5zZSBzeXN0 ZW0gcmVmbGVjdHMgdGhhdC4KCgoKU2lkZSBub3RlOiBJdCB3YXMgYWN0dWFsbHkgc3VnZ2VzdGVk IG1ha2luZyB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWxhdGl2aXN0aWMuIFRoYXQgaWRlYSwg aG93ZXZlciwgd2FzIGRyb3BwZWQsIGJlY2F1c2UgaXQgaXMgY291bnRlci1pbnR1aXRpdmUsIGFu ZCB3b3VsZCBtZWFuIHRoYXQgdG8gbGVhcm4gTG9qYmFuLCBvbmUgd291bGQgaGF2ZSB0byBsZWFy biB0aGUgdGhlb3J5IG9mIHJlbGF0aXZpdHkgZmlyc3QuICAKCgoKU28sIGhvdyB3b3VsZCB5b3Ug c2F5IOKAnEkgZXhwcmVzcyB0aGlzIGFmdGVyIEkgY2FtZSBoZXJlP+KAnSAocG9pbnRpbmcgdG8g YSBwYXBlcikKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxvIG51IG1p IGtsYW1hIHRpIHt2YXV9IHtrZWkge2t1fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3aGVuIHNwZWFr aW5nLCB3ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50IHRoaXMgYWN0aW9uIGlz IGluIHRoZSBwYXN0IHJlbGF0aXZlIHRvLiBJbjog4oCcSSBnYXZlIGEgY29tcHV0ZXIgYXdheeKA nSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCc bm934oCdLCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwg YmVjYXVzZSBpdCdzIG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3Zh dX0nJyBvcgoKJydtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9y ZSBjb21tb25seQoKJydtaSBwdSB7a3V9IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhl IHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBhbiBpbXBsaWVkICcnem8nZScnLCB3 aGljaCBpcyBhbG1vc3QgYWx3YXlzIHVuZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFr ZXIncyB0aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNw ZWFraW5nIGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVu dHMgdGhhdCBoYXBwZW5lZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMg c29tZXRpbWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2 ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0 IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlv biwgdGhlIHdvcmQgJyduYXUnJyBjYW4gYmUgdXNlZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3Jk LCAnJ2tpJycgbWFya3MgYSB0ZW5zZSB3aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBz dGFuZGFyZC4gVGhhdCB3aWxsIGJlIHRhdWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRh dGVzIHRlbXBvcmFsIGFuZCBzcGFjaWFsIGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtl cidzIGN1cnJlbnQgaGVyZSBhbmQgbm93LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhl IGNvdW50cnkgb2YgcGVvcGxlIHgyIHdpdGggbGFuZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBu b3RlIHRoYXQgJydtaSBwdSB7a3V9IGtsYW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg 4oCcSSB3ZW50IHRvIEFtZXJpY2HigJ0sIGRvZXMgbm90IGltcGx5IHRoYXQgSSdtIG5vdCBzdGls bCB0cmF2ZWxpbmcgdG8gVVNBLCBvbmx5IHRoYXQgaXQgd2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUg aW4gdGhlIHBhc3QsIGZvciBpbnN0YW5jZSBmaXZlIG1pbnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9u ZWQsIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRpbWUgdGVuc2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2Uu IENvbnRyYXN0IHRoZSBwcmV2aW91cyB0aHJlZSB0aW1lIHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIg c3BhY2lhbCB0ZW5zZXM6CgpfXycnenUnYScnX18gc3VtdGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoK X18nJ2NhJ3UnJ19fIHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7c3VtdGl9CgpfXycncmkndScnX18g c3VtdGNpdGE6IHJpZ2h0IG9mIHtzdW10aX0KCl9fJydidSd1JydfXyBzdW10Y2l0YTogYXQgdGhl IHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFsZW50IG9mICcnY2EnJykKCgoK X18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogcGF0aWVuY2Ug LSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm8nb25haSByaSd1IHtrdX0gbnUg bG8gcHJlbnUge2t1fSBjdSBkYXJ4aSBsbyBnZXJrdSBwdSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0g e3ZhdX0nJyBtZWFuPyAobm90aWNlIHRoZSBmaXJzdCBlbGlkZWQga3UhKQoKX18nJ2RhcnhpJydf XyB4MSBiZWF0cy9oaXRzIHgyIHdpdGggaW5zdHJ1bWVudCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnHthbmdlciF9IFRvIHRoZSByaWdodCAob2Ygc29tZXRoaW5nLCBw cm9iYWJseSBtZSkgYW5kIGluIHRoZSBwYXN0IChvZiBzb21lIGV2ZW50KSwgc29tZXRoaW5nIGlz IGFuIGV2ZW50IG9mIGEgcGVyc29uIGJlYXRpbmcgYSBkb2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBh IGRvZyB0byBteSByaWdodCHigJ1+fgoKCgpJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10 Y2l0YSBpbiBvbmUgYnJpZGksIHRoZSBydWxlIGlzIHRoYXQgeW91IHJlYWQgdGhlbSBmcm9tIGxl ZnQgdG8gcmlnaHQsIHRoaW5raW5nIGl0IGFzIGEgc28gY2FsbGVkIOKAnGltYWdpbmFyeSBqb3Vy bmV54oCdLCBXaGVyZSB5b3UgYmVnaW4gYXQgYW4gaW1wbGllZCBwb2ludCBpbiB0aW1lIGFuZCBz cGFjZSAoZGVmYXVsdDogdGhlIHNwZWFrZXIncyBub3cgYW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xs b3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJvbSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBs ZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0g e3ZhdX0nJyA9IOKAnEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgSSB3aWxsIGJlIGFib3V0IHRv IGtub3cgYWJvdXQgZmEnb3JtYSdvcy7igJ0KCicnbWkgYmEge2t1fSBwdSB7a3V9IGppbXBlIGZp IGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9Jycg4oCcQXQgc29tZSBwb2ludCBpbiB0aGUg ZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5j ZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZv cnRoLCB0aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBpbiBib3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUg ZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRoZSBwb2ludCBvZiByZWZlcmVuY2UuCgoKCkFsc28sIGlm IHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFs d2F5cyBwdXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwuIElmIHRoaXMgcnVsZSBpcyB2aW9sYXRl ZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1aXR5LCB3aGlj aCBMb2piYW4gZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5 IHRoYXQgdGhlIGEgbWFuIGhpdCBhIGRvZyBqdXN0IGEgbWludXRlIGFnby4gVGhlIHdvcmRzICcn emknJywgJyd6YScnIGFuZCAnJ3p1Jycgc3BlY2lmaWVzIGEgc2hvcnQsIHVuc3BlY2lmaWVkIChw cmVzdW1hYmx5IG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gdGltZS4gTm90aWNlIHRoZSB2 b3dlbCBvcmRlciAnJ2knJywgJydhJycgYW5kICcndScnLiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdh aW4gYW5kIGFnYWluIGluIExvamJhbiwgYW5kIG1pZ2h0IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDi gJxTaG9ydOKAnSBhbmQg4oCcbG9uZ+KAnSBpbiBhcmUgYWx3YXlzIGNvbnRleHQgZGVwZW5kZW50 LCByZWxhdGl2ZSBhbmQgc3ViamVjdGl2ZS4gVHdvIGh1bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0 aW1lIGZvciBhIHNwZWNpZXMgdG8gZXZvbHZlLCBidXQgYSBsb25nIHRpbWUgdG8gd2FpdCBmb3Ig dGhlIGJ1cy4KCl9fJyd6aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5j ZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnemEnJ19f IHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7 c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnenUnJ19fIHN1bXRj aXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHRo ZSBwb2ludCBvZiByZWZlcmVuY2UgCgoKClNpbWlsYXJseSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBt YXJrZWQgYnkgJyd2aScnLCAnJ3ZhJycgYW5kICcndnUnJyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVk IChtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHNwYWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0 YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBw b2ludCBvZiByZWZlcmVuY2UgCgpfXycndmEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5z cGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQg b2YgcmVmZXJlbmNlIAoKX18nJ3Z1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0 YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9f JydndW5rYScnX18g4oCceDEgd29ya3MgYXQgeDIgd2l0aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJh bnNsYXRlOiAnJ2JhIHtrdX0gemEga3UgbWkgdnUge2t1fSBndW5rYSB7dmF1fScnCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcU29tZSB0aW1lIGluIHRoZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEg cGxhY2UgbG9uZyBhd2F54oCdfn4KCk5vdGU6IFBlb3BsZSByYXJlbHkgdXNlICcnemknJywgJyd6 YScnIG9yICcnenUnJyB3aXRob3V0IGEgJydwdScnIG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4g VGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVvcGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBv ciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBp dCBMb2piYW5pY2FsbHksIG1vc3Qgb2YgdGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9i dmlvdXMsIGFuZCB0aGUgJydwdScnIG9yICcnYmEnJyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVy IGluIHdoaWNoIGRpcmVjdGlvbi1zdW10Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNh aWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBSZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZl cmFsIHRlbnNlIHdvcmRzIHBsYWNlZCB0b2dldGhlciBhcmUgcGljdHVyZWQgYnkgYW4gaW1hZ2lu YXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQuIFRodXMgJydwdSB6dScnIGlz IOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qg b2Ygc29tZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0 dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUsICcncHUnJyBz aG93cyB0aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1JycgdGhlbiB0aGF0IGl0IGlzIGEg bG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNlY29uZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3Mg dGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZhciBhd2F5IGluIHRpbWUgZnJvbSBub3csICcn cHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZyb20gdGhhdCBwb2ludC4gVGh1cyAn J3B1IHp1JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1IHB1JycgY291bGQgYmUgaW4gdGhl IGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRlbnNlcyBjb21iaW5lIGluIHRoaXMg d2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQg b3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhlciBzdW10Y2l0YSBhcmUgbm90IGFs dGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNpdGEgaW4gYSBicmlkaS4K CgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2lj YWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBz cGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0 aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBs ZWFybiBob3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMgb2YgdGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6 ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9 CgpfXycnemUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkICht ZWRpdW0pIHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBv dmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoKCgpfXycndmUnaScnX18gc3VtdGNpdGE6IHNw YW5uaW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSdhJydfXyBzdW10 Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1 bXRpfQoKX18nJ3ZlJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHNwYWNl IG9mIHtzdW10aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGltZSwgSSBrbm93LCBidXQgcmVtZW1iZXJp bmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUgc2ltaWxhcml0eSBvZiB0aGUgaW5pdGlhbCBs ZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdo dCBoZWxwIHRoZSBtZW1vcml6aW5nLgoKX18nJy5vaScnX18gLSBhdHRpdHVkaW5hbDogcGFpbiAt IHBsZWFzdXJlCgoKClRyYW5zbGF0ZTogJycub2kgZGFpIGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBk b3RjbyBndWdkZSB7a3V9IHplJ3Uge2t1fSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcT3VjaCwgeW91IHNwZW5kIGEgbG9uZyB0aW1lIHRyYXZlbGluZyBhIGxvbmcgc3BhY2UgdG8g R2VybWFueeKAnSB+fgoKCgpUaG91Z2ggbW9zdCBwZW9wbGUgYXJlIG5vdCBmYW1pbGlhciB3aXRo IHNwYWNpYWwgdGVuc2VzLCB0aGVzZSBuZXcgd29yZHMgY2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJl dHR5IHN3ZWV0IHVzZXMuIE9uZSBjb3VsZCwgZm9yIGluc3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhh dCdzIGEgYmlnIGRvZ+KAnSBhcyAnJ3RpIHZlJ3Uge2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6 IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCBy ZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3Un JyBhbmQgaXRzIGJyb3RoZXJzIGFsc28gY29tYmluZSB3aXRoIG90aGVyIHRlbnNlcyB0byBmb3Jt IGNvbXBvdW5kIHRlbnNlcy4gVGhlIHJ1bGUgZm9yICcnemUndScnIGFuZCB0aGUgb3RoZXJzIGFy ZSB0aGF0IGFueSB0ZW5zZXMgcHJlY2VkaW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBw cm9jZXNzIChyZWxhdGl2ZSB0byB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNl cyBjb21pbmcgYWZ0ZXIgaXQgbWFya3MgdGhlIG90aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRo ZSBmaXJzdC4gVGhpcyBzaG91bGQgYmUgZGVtb25zdHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhh bXBsZXM6CgonJy5vJ29jdSdpIGRvIGNpdGthIHB1IHtrdX0gemUndSB7a3V9IGJhIHtrdX0genUg e2t1fSB7dmF1fScnIC0g4oCce3RvbGVyYW5jZX0geW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBh c3QgYW5kIGZvciBhIGxvbmcgdGltZSBlbmRpbmcgYXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUg ZnV0dXJlIG9mIHdoZW4geW91IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBs b25nIHRpbWXigJ0uIE9uZSBjYW4gYWxzbyBjb250cmFzdCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9 IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1 fSBrbGFtYSB7dmF1fScnLiBUaGUgZmlyc3QgZXZlbnQgb2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5k cG9pbnQgaW4gdGhlIHByZXNlbnQgYW5kIGV4dGVuZHMgYSBsaXR0bGUgdG93YXJkcyB0aGUgcGFz dCwgd2hpbGUgdGhlIHNlY29uZCBldmVudCBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwYXN0IGFu ZCBleHRlbmRzIG9ubHkgdG8gdGhlIHByZXNlbnQgKHRoYXQgaXMsIHNsaWdodHkgaW50byB0aGUg cGFzdCBvciBmdXR1cmUpIG9mIHRoYXQgZW5kcG9pbnQuCgpfXycnam1pdmUnJ19fIOKAnHgxIGlz IGFsaXZlIGJ5IHN0YW5kYXJkIHgy4oCdCgoKCldoYXQgZG9lcyAnJy51aSBtaSBwdSB7a3V9IHpp IHtrdX0gemUndSB7a3V9IGptaXZlIHt2YXV9JycgZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJx7aGFwcGluZXNzIX0gSSBsaXZlIGZyb20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBh bmQgYSBsb25nIHdheSB0b3dhcmRzIHRoZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBm dXR1cmUsIGluIHRoaXMgY2FzZSkgb2YgdGhhdCBldmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBh bmQgaGF2ZSBtb3N0IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVu ZGVybGluZSB0aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXQncyBoYXZlIGFu b3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lhbCB0ZW5zZXM6CgpfXycnLnUnZScn X18gYXR0aXR1ZGluYWw6IHdvbmRlciAtIGNvbW1vbnBsYWNlCgoKCicnLnUnZSB6YSdhIHtrdX0g YnUndSB7a3V9IHZlJ3Uge2t1fSBjYSd1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBp dCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0g RXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKA nSBvciDigJxXb3csIHRoaXMgaG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpC ZWZvcmUgd2UgY29udGludWUgd2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkg cmVjb21tZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3 aGljaCBkb2Vzbid0IG9jY3VweSB5b3VyIGJyYWluIGluIG9yZGVyIHRvIGxldCB0aGUgaW5mb3Jt YXRpb24gc2luayBpbi4gU2luZyBhIHNvbmcgb3IgZWF0IGEgY29va2llIHZlcnkgc2xvd2x5IC0g d2hhdGV2ZXIsIGFzIGxvbmcgYXMgeW91IGxldCB5b3VyIG1pbmQgcmVzdC4KCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3Vn aCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVy IGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBh cmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZm ZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28g bGV0J3MgZ2V0IHRvIGl0OgoKCgpVc2luZyB0aGUgdGVuc2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBm YXIsIHdlIGNhbiBpbWFnaW5lIGFuIGluZGVmaW5pdGUgdGltZSBsaW5lLCBhbmQgd2UgdGhlbiBw bGFjZSBldmVudHMgb24gdGhhdCBsaW5lIHJlbGF0aXZlIHRvIHRoZSDigJxub3figJ0uIFdpdGgg ZXZlbnQgY29udG91cnMsIGhvd2V2ZXIsIHdlIHZpZXcgZWFjaCBldmVudCBhcyBhIHByb2Nlc3Ms IHdoaWNoIGhhcyBjZXJ0YWluIHN0YWdlczogQSB0aW1lIGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRp bWUgd2hlbiBpdCBiZWdpbnMsIGEgdGltZSB3aGVuIGl0IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3 aGVuIGl0IGVuZHMsIGFuZCBhIHRpbWUgYWZ0ZXIgaXQgaGFzIGVuZGVkLiBFdmVudCBjb250b3Vy cyB0aGVuIHRlbGxzIHVzIHdoaWNoIHBhcnQgb2YgdGhlIGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFw cGVuaW5nIGR1cmluZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgdGhlIG90aGVyIHRlbnNlcy4gV2Ug bmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9fJydwdSdvJydfXyAtIHN1bXRjaXRh OiBldmVudCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRp fQoKX18nJ2NhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHBy b2Nlc3MgZHVyaW5nIHtzdW10aX0KCl9fJydiYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlkaSBoYXMgZW5kZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhp cyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBleGFtcGxlcy4gV2hhdCdzICcnLnVp IG1pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnIG1lYW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJ J2xsIGJlZ2luIHRvIGhhdmUgYSBob21l4oCdLgoKCgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90 IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZl IGEgc3lsbGFibGU/IEJlY2F1c2UsIHJlbWVtYmVyLCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZl IGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZl IGEgaG9tZSBub3cuIFVzaW5nICcncHUnbycnLCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJl IG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hp Y2ggbWVhbnMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBvbmUgbm93LgoKTm90ZSwgYnkgdGhlIHdheSwg dGhhdCAnJ21pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBpcyBzaW1pbGFyIHRvICcnbWkgcHUn byB7a3V9IHNlIHpkYW5pIHt2YXV9JycsIGFuZCBsaWtld2lzZSB3aXRoICcnYmEnbycnIGFuZCAn J3B1JycuIFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMg dmlldyB0aGUgcHJlc2VudCBhcyBzZWVuIGZyb20gdGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vz cywgd2hlcmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJl c2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhl ciBraW5kIG9mIHRlbnNlcy4gRXZlbiBtb3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmlu aW5nIHNldmVyYWwgdGVuc2VzOiAnJy5hJ28gbWkgYmF7a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1 bmthIHt2YXV9JycgLSDigJxJIGhvcGUgSSd2ZSBzb29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoK CkluIExvamJhbiwgd2UgYWxzbyBvcGVyYXRlIHdpdGggYW4gZXZlbnQncyDigJxuYXR1cmFsIGJl Z2lubmluZ+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs 4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBl bmQgcmVmZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUgcHJvY2VzcyB3aGVyZSBpdCBzaG91bGQgZW5k LiBZb3UgY2FuIHNheSBhYm91dCBhIGxhdGUgdHJhaW4sIGZvciBpbnN0YW5jZSwgdGhhdCBpdHMg cHJvY2VzcyBvZiByZWFjaGluZyB5b3UgaXMgbm93IGV4dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVy YWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBtZWFsLCBzaW1pbGFybHksIGlzIGJl aW5nIGVhdGVuIGJlZm9yZSB0aGF0IHByb2Nlc3MnIG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZl bnQgY29udG91cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18n J3phJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3Mg YmV5b25kIGl0cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3Vt dGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJp bmcge3N1bXRpfQoKCgpfXycnY2lkamEnJ19fOiDigJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGli bGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0ZTogJycub2kgZG8gY2l0a2EgemEnbyBsbyBudSBkbyBi YSdvIHtrdX0gdSdlIGNpdGthIHpvJ2Ugbm9pIGNpZGphIGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7 a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPeSwgeW91IGtlZXAgZWF0aW5n IHdoZW4geW91IGhhdmUgZmluaXNoZWQsIGluY3JlZGlibHksIGVhdGluZyBzb21ldGhpbmcgZWRp YmxlIeKAnX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKSW1h Z2UgYWJvdmU6IFpBaE8gdGVuc2VzIChldmVudCBjb250b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUg dGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3VudCBv ZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93IHRoZSBldmVudCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdo aWNoIGFyZSBwb2ludC1saWtlLgoKCgpBbGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNj cmliaW5nIHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1lIChhcyBzaG93 biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlrZSku IEJ1dCBtYW55IG9mIHRoZSBldmVudCBjb250b3VycyBkZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFn ZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2Nh JycgYW5kICcnYnUndScnLCB0aGV5IGFjdHVhbGx5IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBw YXN0IGFuZCBmdXR1cmUgb2YgdGhhdCBwb2ludCwgYW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2Uu CgoKClRoZSB0d28gbW9zdCBpbXBvcnRhbnQgcG9pbnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6 CgpfXycnY28nYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRz IGJlZ2lubmluZyBkdXJpbmcge3N1bXRpfQoKX18nJ2NvJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCgoKRnVydGhl cm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNv bXBsZXRlLCBidXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycnbW8ndScnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5n IGR1cmluZyB7c3VtdGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1 YWxseSBlbmQgYXQgdGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBu YXR1cmFsLiBUcmFpbnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSBy ZXRyYWluIHRoZW1zZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJv Y2VzcyBjYW4gYmUgaW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVh cm5lZCB0aGVpciBvd24gZXZlbnQgY29udG91ciBhbHNvOgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNp dGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcgZHVyaW5nIHtzdW10aX0KCl9fJydk aSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyByZXN1bWluZyBkdXJp bmcge3N1bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRpJycgbWVhbnMg4oCceDEgcGF5cyBh dHRlbnRpb24gdG8geDLigJ0sICcnZGUnYSBqdW5kaScnIGFuZCAnJ2RpJ2EganVuZGknJyBhcmUg Y29tbW9uIExvamJhbiB3YXlzIG9mIHNheWluZyDigJxCUkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9u ZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2 ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdldHMgYWNyb3NzLgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRy ZWF0IGFuIGVudGlyZSBldmVudCwgZnJvbSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBlbmQgYXMgb25l IHNpbmdsZSBwb2ludCB1c2luZyAnJ2NvJ2knJzoKCl9fJydwZW5taScnX18g4oCceDEgbWVldHMg eDIgYXQgbG9jYXRpb24geDPigJ0KCicnbWkgcHUge2t1fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5t aSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2YXV9JycgLSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkg d2FzIGF0IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoK CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9u cykKClBoZXcsIHRob3NlIHR3byBsb25nIGxlc3NvbnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFu IGdpdmVzIHRoZSBicmFpbiBzb21ldGhpbmcgdG8gcG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJl Y2F1c2UgaXQncyBzbyBkaWZmZXJlbnQgZnJvbSBFbmdsaXNoLiBTbyBsZXQncyB0dXJuIHRvIHNv bWV0aGluZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRlcnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0 aGUuLi4gX19zaXQgdXAgYW5kIGZvY3VzIV9fCgoKClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBv cmRlcnMgaW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBvdXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVz ZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQgd2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywg YW5kIG5vdCBvcmRlcmluZyBteXNlbGYsIG9yIGV4cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29t ZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5nbGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0 aGF0IG9yZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93 YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg4oCceW914oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMg bm90IG5lY2Vzc2FyeS4KCkluIExvamJhbiwgZWxpZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6 bydlJycsIHNvIHRoYXQgcG9zc2liaWxpdHkgaXMgc2FkbHkgbm90IG9wZW4gdG8gdXMuIEluc3Rl YWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0g b2YgJydkbycnLiBHcmFtbWF0aWNhbGx5IGFuZCBicmlkaS13aXNlLCBpdCdzIGVxdWl2YWxlbnQg dG8gJydkbycnLCBidXQgaXQgYWRkcyBhIGxheWVyIG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVy bnMgZXZlcnkgc3RhdGVtZW50IHdpdGggJydrbycnIGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERv IHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNlIGlzIHRydWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0 aGUgc2FtZSByZWFzb24gd2UgZG9uJ3QgbmVlZCB0aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRl bmNlcywgd2UgZG9uJ3QgbmVlZCBvcmRlci13b3JkcyBkZXJpdmVkIGZyb20gYW55IG90aGVyIHN1 bXRpIHRoYW4gJydkbycnLgoKCgpIb3cgY291bGQgeW91IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdh eSBmb3IgYSBsb25nIHRpbWUgKHVzaW5nICcna2xhbWEnJyBhcyB0aGUgb25seSBzZWxicmk/KQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OmtvIHZlJ3UgemUndSBrbGFtYX5+CgooJycuaSB6YSdhIGRh aSBhJ28gbWkgY2EgY28ndSBjaXNrYSBsbyBmYSdvcm1hJ28gLmkga28gamltcGUgdmF1IC51aScn KSAtIGxvb2sgdXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFu IGFyZSB2ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxs IGluIHRoZSBibGFuaywgYW5kIHRydWUvZmFsc2UgcXVlc3Rpb25zLiBMZXQncyBiZWdpbiB3aXRo IHRoZSB0cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF0J3MgcHJldHR5IG92ZXJjb21lYWJs ZSwgc2luY2UgaXQgb25seSBpbnZvbHZlcyBvbmUgd29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtz IGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJl LCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJlY2VkaW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0 IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVuY2UgaW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hl dGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJl cGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZlJ3UgemRhbmkgZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWkn Jywgb3IgeW91IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkg d2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBp cyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBh cmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFuc3dlciDigJxub+KAnSBvciDigJxmYWxz ZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28s IHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBh bnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhlIG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsu IEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBh IGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZl cmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24gd2hhdCB5b3UgYXJlIGFza2luZyBhYm91 dDoKCl9fJydtYScnX18gLSBzdW10aSBxdWVzdGlvbgoKX18nJ21vJydfXyAtIHNlbGJyaSBxdWVz dGlvbgoKX18nJ3hvJydfXyAtIG51bWJlciBxdWVzdGlvbgoKX18nJ2N1J2UnJ19fIC0gdGVuc2Ug cXVlc3Rpb24KCgoKQXMgd2VsbCBhcyBtYW55IG90aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGks IHlvdSB0aGVuIGp1c3QgcGxhY2UgdGhlIHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91 ciBhbnN3ZXI6ICcnZG8gZHVuZGEgbWEgbWknJyAtIGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxs ZWQgd2l0aCBhIGNvcnJlY3Qgc3VtdGkuIOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUg Y29tYmluYXRpb24gb2YgJydzdW10Y2l0YScnICsgJydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVl ZDoKCl9fJydtdSdpJydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9u IG9mIHtzdW10aX0KCgoKJycub2kgZG8gZGFyeGkgbWkgbXUnaSBtYScnIC0g4oCcT3ksIHdoeSBk byB5b3UgaGl0IG1lPyHigJ0KCgoKTGV0J3MgdHJ5IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlv dSB0cmFuc2xhdGU6CgonJy51aSBkYWkgZG8gY2EgemUndSBwdSBtbycnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcWW91J3JlIGhhcHB5LCB3aGF0IGhhdmUgeW91IGJlZW4gZG9pbmcgYWxsIHRo aXMgbG9uZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5pY2FsbHksIGl0IGNvdWxkIGFsc28gbWVh biDigJx3aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBidXQgYW5zd2VyaW5nIHdpdGggJycudWEgbmFp IGxpJ2EgcmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVk aWJseSBhbm5veWluZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2Vu dGVuY2Ugc3RydWN0dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBx dWVzdGlvbiBvciBub3QsIG9uZSBiZXR0ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRo ZXJlZm9yZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUg YmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVuY2VzLCBpdCdzIHVzdWFsbHkgd29ydGgg dGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3 b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUn JyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJraW5nIHRoYXQgdGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rp b24uIENvbnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5IG1hcmtzIGFueSBxdWVzdGlvbiBh cyBiZWluZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0 aW9ucywgaXQncyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRpb24gdGhlIHdvcmQgJydrYXUnJywg d2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4g aW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5j ZTogJydtaSBkanVubyBsbyBkdSd1IG1hIGthdSB6ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQg aXMgeW91ciBob21lLuKAnQoKX18nJ2RqdW5vJydfXyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFy ZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9neSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBh cyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAnJ21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5 LCBvbmUgY2FuIG1hcmsgYSBub24tcXVlc3Rpb24gd29yZCB3aXRoICcna2F1JycsIGluIHdoaWNo IGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlv bjogJydtaSBqaW1wZSBsbyBkdSd1IGR1bmRhIHRpIGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQg eW91IGhhdmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhpcy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRv IG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVzdGluZykgc3R1ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJl YWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhlIExvamJhbmljIHJlY29yZGluZyBj YWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0byBzb21lb25l IHNwZWFrIExvamJhbiBvbiBNdW1ibGUsIGFuZCB0aGVuIHByYWN0aWNlIHlvdXIgcHJvbnVuY2lh dGlvbi4gSGF2aW5nIGFuIGludGVybmFsIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9q YmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBpc24ndCB3aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBh bmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlvbiBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVy ZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dl dmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8g dGhlIExvamJhbiBtb3JwaG9sb2d5LgoKCgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlz IGRlcml2ZWQgZnJvbSBHcmVlayBtZWFuaW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFu ZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRhbGsgYWJvdXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBs ZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNvbnRyYXN0ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFr ZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4gTG9qYmFuIG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1v cnBob2xvZ2ljYWwgd29yZCBjbGFzc2VzLCB3aGljaCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIg bW9ycGhvbG9neS4gVG8gbWFrZSBpdCBhbGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdv cmRzIHdpdGggY2VydGFpbiBmdW5jdGlvbnMgdGVuZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xv Z2ljYWwgY2xhc3NlcywgYnV0IGV4Y2VwdGlvbnMgbWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFu aW5nfERlZmluZWQgQnl8VHlwaWNhbCBGdW5jdGlvbgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgog ICBCcml2bGF8ICAgYnJpZGktd29yZHwgICBBbW9uZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGlu ZyDigJwg4oCYIOKAnCkgaXMgYSBjb25zb25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8 ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBkZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0 dXJlLgoKICAgLS1HaXNtdXwgICBSb290LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkND ViBvciBDQ1ZDViAgIHwgICBPbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBj b25jZXB0cy4KCiAgIC0tTHVqdm98ICBDb21wb3VuZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDi gJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCcY29tcGxleCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVy cy4gTWFkZSBieSBzdHJpbmdpbmcgcmFmc2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMg aWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMgbW9yZSBjb21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUu CgogICAtLUZ1J2l2bGF8ICBDb3B5LXdvcmQgfCBBcyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBk ZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNtdSBvciBsdWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBD b3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxpa2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4K CiAgIENtZXZsYXwgIE5hbWUtd29yZCB8ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVz ZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3VuZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5 cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0aGUgY29udGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98 ICAgR3JhbW1hci13b3JkLiBGcm9tIOKAnGNtYXZsYeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk 4oCdfCBPbmUgY29uc29uYW50IG9yIHplcm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRz IGluIGEgdm93ZWwuICB8ICAgR3JhbW1hdGljYWwgZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQt ZnJhZ21lbnRzOnwgICB8ICAgfAoKICAgUmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwg LUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBvciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0 IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhlciB0byBmb3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZs YScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVu ZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0 aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIGNtZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhl ciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBhIG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBu YW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5ub3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0 IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2VkIGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9u ZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVy cyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicn IChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9waGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAn Jy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNv bnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHBy b2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJlbW92ZWQ6ICcnLml2LicnCgoKCl9fJydicml2 bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJpZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1 bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJlZm9yZSBhbG1vc3QgYWxsIExvamJhbiB3b3JkcyB3aXRo IGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBicml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0 aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxjb250ZW50LXdvcmRz4oCdLiBJdCdzIG5lYXJseSBpbXBv c3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEsIGFuZCBhbG1vc3Qg YWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFyIChhbmQgZXZlbiBt b3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVk IGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFzIHRocmVlIHN1YmNh dGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3Vh Z2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRk ZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDigJxjaXJjbGXigJ0s IOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1 ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1anZvJydfXyBhcmUg bWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJlc3ByZXNlbnRpbmcg Z2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0aGUgbWVhbmluZyBv ZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29yaXRobSwgc28g bWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxlLCB3aXRoIGZl dyBleGNlcHRpb25zIGxpa2UgJydzZWxwYSdpJycsIGZyb20gJydzZSBwcmFtaScnLCB3aGljaCBj YW4gb25seSBoYXZlIG9uZSBkZWZpbml0aW9uLiBJbnN0ZWFkLCBsdWp2byBhcmUgbWFkZSBvbmNl LCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRlZmluZWQsIGFuZCB0aGVuIHRoYXQgZGVmaW5pdGlvbiBp cyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBkaWN0aW9uYXJ5LiBFeGFtcGxlcyBpbmNsdWRlIGJyaXZs YSAoYnJpZGktd29yZCksICcnY2luamlrY2EnJyAoc2V4dWFsLXNvY2lhbGl6aW5nID0gZmxpcnRp bmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNoZWxsLWluc2VjdCA9IGJlZXRsZSkuCgpfXycnZnUnaXZs YScnX18gYXJlIG1hZGUgYnkgbWFraW5nIHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlv biBmb3IgYnJpdmxhLCBidXQgbm90IGZvciBsdWp2byBvciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNv dmVyIGNvbmNlcHRzIHdoaWNoIGl0J3MgaGFyZCB0byBjb3ZlciBieSBsdWp2bywgZm9yIGluc3Rh bmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBj b25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3JlYSkgJydjaWRq cnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCkuCgoKCl9fJydjbWF2bycnX18g YXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHplcm8gY29uc29uYW50cy4gVGhleSB0ZW5kIHRv IG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3b3JsZCwgYnV0IHRvIGhhdmUg b25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5kIGl0J3MgZGVi YXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRpbmFscyBleGlzdHMgZm9yIHRoZWlyIGdyYW1tYXRpY2Fs IGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJkIGV4YW1wbGUgYXJlIHRoZSB3b3JkcyBvZiB0aGUgY2xh c3MgR09oQSwgd2hpY2ggYWN0IGFzIGJyaXZsYS4gSXQgaXMgdmFsaWQgdG8gdHlwZSBzZXZlcmFs IGNtYXZvIGluIGEgcm93IGFzIG9uZSB3b3JkLCBidXQgaW4gdGhlc2UgbGVzc29ucywgdGhhdCB3 b24ndCBiZSBkb25lLiBCeSBncm91cGluZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5p dHMsIHRob3VnaCwgaXQgaXMgc29tZXRpbWVzIGVhc2llciB0byByZWFkLiBUaHVzLCAnJy51aXB1 enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBh cyAnJy51aSBwdSB6dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtlIG90aGVyIExvamJhbiB3b3Jkcywg b25lIHNob3VsZCAoYnV0IG5lZWQgbm90IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0b3AgYmVmb3Jl IGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhlIGZvcm0geFZW LCBDVidWViBvciBWJ1ZWIGFyZSBleHBlcmltZW50YWwsIGFuZCBhcmUgd29yZHMgd2hpY2ggYXJl IG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIsIGJ1dCB3aGljaCBoYXZlIGJlZW4gYWRkZWQgYnkg TG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQgdG8gYSBjZXJ0YWluIG5lZWQuCgoKCl9fJydyYWZzaScn X18gYXJlIG5vdCBMb2piYW4gd29yZHMsIGFuZCBjYW4gbmV2ZXIgYXBwZWFyIGFsb25lLiBIb3dl dmVyLCBzZXZlcmFsIChtb3JlIHRoYW4gb25lKSByYWZzaSBjb21iaW5lIHRvIGZvcm0gbHVqdm8u IFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1cCB0byB0aGUgYnJpdmxhLWRlZmluaXRpb24sIGZvciBp bnN0YW5jZSAnJ2xvamJhbicnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBlbmRzIGluIGEgY29uc29u YW50ICh3aGljaCBtYWtlcyBpdCBhIGNtZXZsYSksIGFuZCAnJ2NpJ2VrZWknJyBpcyBpbnZhbGlk IGJlY2F1c2UgaXQgZG9lcyBub3QgY29udGFpbiBhIGNvbnNvbmFudCBjbHVzdGVyLCBhbmQgaXMg dGh1cyByZWFkIGFzIHR3byBjbWF2byB3cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQg bGV0dGVyIHN0cmluZyBpcyBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2ksIGxpa2UgJyd6dSdlJycs IHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhlIHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUg dGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxk IGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4g QWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGgg YW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQg d2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVk IHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2VsICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVq dm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBD VidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0sIC1DVkNDViBhbmQgLUNDVkNWLgoKCgpVc2luZyB3aGF0 IHlvdSBrbm93IG5vdywgeW91IHNob3VsZCBiZSBhYmxlIHRvIGFuc3dlciB0aGUgdGVzdCBpIHRo dXMgcHJlc2VudDoKCkNhdGVnb3JpemUgZWFjaCBvZiB0aGUgZm9sbG93aW5nIHdvcmRzIGFzIGNt ZXZsYSAoQyksIGdpc211IChnKSwgbHVqdm8gKGwpLCAnJ2Z1J2l2bGEnJyAoZikgb3IgY21hdm8g KGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJsCgpCICkgLmlyY2kgICAgICAgIEggKSAuaSdp CgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBsYWp2YQoK RSApIHBvJ2UgICAgICAgIEsgKSBkYW5zZWtlCgpGICkgZGppc2t1ICAgICAgICBMICkgLmVydHNh CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6YS1jLCBiLWYsIGMtZywgZC1DLCBlLWMsIGYtbCwgZy1D LCBoLWMsIGktYywgai1sLCBrLWYsIGwtZi4gSSBsZWZ0IG91dCB0aGUgZnVsbCBzdG9wcyBiZWZv cmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0IHdvdWxkbid0IGJlIHRvbyBlYXN5LgoKTm90ZTogc29t ZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8gbm90IGV4aXN0IGluIHRoZSBkaWN0 aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50LiBUaGUgbW9ycGhvbG9neSBzdGlsbCBtYWtl cyBpdCBhIGdpc211LCBzbyBpdCdzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211LiBTaW1pbGFybHkg d2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVu ICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZlIHJlYWQgYW5kIHVu ZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGlsIG5vdywgeW91IGhh dmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQg ZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2ggb3JkZXIgeW91IGxlYXJuIHRoZSByZXN0LiBBcyBhIHJl c3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBuZXh0IGxlc3NvbnMgd2lsbCBiZSBhIG1peHR1cmUgb2Yg c29ydGVkIGJ5IGluY3JlYXNpbmcgZGlmZmljdWx0eSBhbmQgc29ydGVkIGJ5IGltcG9ydGFuY2Ug aW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZlcnNhdGlvbi4KCgoKT25lIG9mIHRoZSBiaWdnZXN0IGNv bnN0cmFpbnMgb24geW91ciBzcGVhayBub3cgaXMgeW91ciBsaW1pdGVkIGtub3dsZWRnZSBvbiBo b3cgdG8gbWFrZSBzdW10aS4gU28gZmFyLCB5b3Ugb25seSBrbm93ICcndGknJyBhbmQgJydsbyBT RUxCUkknJywgd2hpY2ggZG9lc24ndCB0YWtlIHlvdSBmYXIgY29uc2lkZXJpbmcgaG93IGltcG9y dGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxlc3NvbiBhcyB3ZWxsIGFzIHRoZSBmb2xs b3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExvamJhbiBzdW10aS4gRm9yIG5vdywgd2UgZm9j dXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRoZSBvbmVzIG1hZGUgd2l0aCBhcnRp Y2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxvamJhbiBjYWxsZWQgJydnYWRyaScn LCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlzIGxlc3NvbiBhcmUgdGVybWluYXRl ZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUgY29tYmluYXRpb25zICcnbGEgQ01FVkxBJycsICcnbGFp IENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01FVkxBJycuIFdlIHdpbGwgYmVnaW4gYnkgZGVzY3JpYmlu ZyB0aHJlZSBzaW1wbGUga2luZHMgb2YgZGVzY3JpcHRpdmUgc3VtdGksIGFuZCB0aGVuIGltbWVk aWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qgc28gc2ltcGxlIGFmdGVyIGFsbDoKCl9fJyds bycnX18gLSBnYWRyaTogR2VuZXJpYyB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3Vt dGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3Mt bmVzcy4KCl9fJydsZScnX18gLSBnYWRyaTogR2VuZXJpYyBkZXNjcmlwdGl2ZSDigJxjb252ZXJ0 IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2 aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xhJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTog Q29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRy ZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFsKHMpLgoKCgpZb3UgYXJlIGFscmVhZHkgZmFtaWxpYXIg d2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQgZG9lcy4gQnV0IHdoYXQgZG9lcyBpdCBtZWFuLCDigJx2 ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFz cy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGluZGl2aWR1YWxzIGFuZCBtYXNzZXMsIEknbGwg Y29tZSBiYWNrIHRvIGxhdGVyLiBGb3Igbm93LCDigJx2ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250 ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJl bGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1hJycuIFRodXMs IHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBhIGNsYWltIHdoaWNoIG1heSBiZSB0cnVlIG9yIGZhbHNl IC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFyZSBhY3R1YWxseSB0aGUgeDEgb2Yg dGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuIAoKCgpUaGlzIG1heSBiZSBjb250cmFzdGVkIHdpdGgg JydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRodXMgbm90IHZlcmlkaWNhbC4gU2F5 aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUgb25lIG9yIG1vcmUgc3BlY2lmaWMg b2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3UnJyB0byBkZXNj cmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlkZW50aWZ5IHRob3NlIHNwZWNpZmlj IG9iamVjdHMuIFRoaXMgbWVhbnMgdGhhdCAnJ2xlJycgaGF2ZXMgdHdvIGltcG9ydGFudCBkaWZm ZXJlbmNlcyBmcm9tICcnbG8nJzogRmlyc3RseSwgaXQgY2Fubm90IHJlZmVyIHRvIG9iamVjdHMg aW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyByZWZlcnMgdG8gc3BlY2lmaWMgb2JqZWN0cy4gU2Vjb25k bHksIHdoaWxlICcnbG8gZ2Vya3UnJyBkZWZpbml0ZWx5IGlzIG9uZSBvciBtb3JlIGRvZ3MsICcn bGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdzIG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBhbnl0aGluZywg YXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdpbGwgaGVscCBp ZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQZXJoYXBzIHRoZSBzcGVha2VyIGlzIHJl ZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZW0gYW5kIHRo aW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJveGltYXRpb24gdG8gYmUgdW5kZXJz dG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBoYXNpc2VkIGlu IG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9nIGlzIHVzdWFs bHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBkb2csIGFuZCB1bmxlc3MgdGhlcmUgaXMgYSBn b29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1bWVkIHRvIHJl ZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNvICcnbG8gZ2Vya3UnJy4KCkluIHRyYW5zbGF0 aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDigJxhIGRvZ+KAnSBvciDigJxzb21lIGRvZ3Pi gJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n4oCdIG9yIOKAnHRoZSBkb2dz4oCd LiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDigJxkb2cocyni gJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJhc2ljICcnZ2FkcmknJywgdGhlcmUgaXMgJyds YScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hpY2ggSSBoYXZlIHVuY29udmVudGlvbmFsbHkg Y2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBpcyB0aGF0IGl0 J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8g YSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJ bm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5v Y2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNv bnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNt ZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhlIGdhZHJpIGRlcml2ZWQgZnJvbSBpdCBjYW4g Y29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtlIGFueSBvdGhlciAnJ2dhZHJpJycuIEFsc286 IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBub3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBi ZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0 IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRo ZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCgonJ2xhJycsIGFz IHdlbGwgYXMgJydsYWknJyBhbmQgJydsYSdpJycgYXJlIGEgYml0IGVjY2VudHJpYywgc2luY2Ug dGhleSBfX2Fsd2F5c19fIG1hcmtzIHRoZSBiZWdpbm5pbmcgb2YgYSBuYW1lLiBVbmxpa2UgdGhl IG90aGVyIGdhZHJpLCBhbnl0aGluZyB0aGF0IGNhbiBiZSBncmFtbWF0aWNhbGx5IHBsYWNlZCBh ZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5h bWUuIEZvciBleGFtcGxlLCAnJ2xlIG1pIGdlcmt1JycgaXMgIm15IGRvZyIsIGJ1dCAnJ2xhIG1p IGdlcmt1JycgaXMgc29tZW9uZSBjYWxsZWQgIk15IERvZyIuCgoKClRoZXNlIHRocmVlIGJhc2lj ICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNw b25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoK X18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3Vt dGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTog TmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxh IHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUg c2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkg ZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJlIGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVz dGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBh cmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMg bGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNjcmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlk dWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRv IGZpdCBhIGNlcnRhaW4gc2VsYnJpIGlmLCBhbmQgb25seSBpZiwgYWxsIG1lbWJlcnMgb2YgdGhl IGdyb3VwIGVhY2ggZml0IHRoZSBzZWxicmkuIEl0IGlzIGNvcnJlY3QgdG8gZGVzY3JpYmUgYSBw YWNrIG9mICcnbG8gZ2Vya3UnJywgY29uc2lkZXJlZCBpbmRpdmlkdWFsbHksIGFzIGJlaW5nIGJs YWNrLCBpZiBmb3IgZWFjaCBvZiB0aGUgZG9ncyBpdCdzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFj ay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0cyBvbmx5IHRob3NlIHNlbGJyaSB3aGlj aCBpdHMgY29tcG9uZW50cyBmaXQgYXMgYSB3aG9sZSwgYXMgYSB0ZWFtLCBzbyB0byBzcGVhay4g SG93ZXZlciwgYWxsIHRoZSBtZW1iZXJzIG9mIGEgbWFzcyAnJ2xvaSBnZXJrdScnIG11c3QgYmUg ZG9ncyBpbiBvcmRlciBmb3IgJydsb2knJyB0byBiZSBhcHBsaWNhYmxlLiBUaGUgbm90aW9uIG9m ICJtYXNzZXMiIGFyZSBzb3BoaXN0aWNhdGVkLCBhbmQgcmVxdWlyZXMgc29tZSBleGFtcGxlcyB0 byBkZW1vbnN0cmF0ZSB3aGljaCBwcm9wZXJ0aWVzIGl0IGNhbiBoYXZlOgoKX18nJ3NydXJpJydf Xzog4oCceDEgZmxhbmtzL2VuY2lyY2xlcy9lbmNsb3NlcyB4MiBpbiBsaW5lL3BsYW5lL2RpcmVj dGlvbnMgeDPigJ0KCicnbGVpIHByZW51IGN1IHNydXJpIGxvIHpkYW5pJycgLSDigJxUaGUgcGVv cGxlIHN1cnJvdW5kZWQgdGhlIGhvbWUu4oCdIGlzIHBsYXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlv IG1vbWEgam9rZXMgbm90IGNvbnNpZGVyZWQsIGl0J3MgY29tcGxldGVseSBpbXBsYXVzaWJsZSB0 aGF0IGl0IGNvdWxkIGJlIHRydWUgZm9yIGFueSBvbmUgb2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFu IEVuZ2xpc2ggYW5hbG9neSBjb3VsZCBiZTog4oCcSHVtYW5zIGRlZmVhdGVkIHNtYWxscG94IGlu IHRoZSAyMHRoIGNlbnR1cnnigJ0uIFN1cmVseSBubyBodW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFz cyBvZiBodW1hbnMgZGlkLCBhbmQgdGhhdCBtYWtlcyB0aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmds aXNoLCBhcyB3ZWxsIGFzIGluIExvamJhbiBpZiDigJxodW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVz dCBsaWtlIHRoZSBMb2piYW4gbWFzcywgdGhlIEVuZ2xpc2ggbWFzcyDigJxodW1hbnPigJ0gY2Fu IG9ubHkgcmVmZXIgdG8gaW5kaXZpZHVhbHMgZWFjaCBvZiB3aGljaCBhcmUgaHVtYW4uIEFub3Ro ZXIgZXhhbXBsZToKCl9fJydtaXZ5c2xlJydfXzogIngxIGlzIGEgYmlvbG9naWNhbCBjZWxsIG9m IG9yZ2FuaXNtIHgyIgoKX18nJ3JlbW5hJydfXzogIngxIGlzIGEgaHVtYW4iCgonJ2xvaSBtaXZ5 c2xlIGN1IHJlbW5hJycgLSAiU29tZSBtYXNzZXMgb2YgY2VsbHMgYXJlIGh1bWFuIi4gQWdhaW4s IG5vbmUgb2YgdGhlIGNlbGxzIGFyZSBodW1hbi4gSW5kZWVkLCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5 IGZldyBodW1hbiB0cmFpdHMsIGJ1dCB0aGUgY2VsbHMgY29uc2lkZXJlZCBhcyBhIHdob2xlIG1h a2VzIHVwIGEgaHVtYW4uCgoKCkEgbWFzcyBtYWRlIHdpdGggJydsZWknJywgc3VjaCBhcyAnJ2xl aSBnZXJrdScnLCByZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmlj IGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xl IGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFw cHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdob2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3Qg anVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBp ZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoK Ckl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0ICcnbG8nJyBhbmQgJydsZScnIGNhbiBi ZSB1c2VkIHRvIGRlc2NyaWJlIGJvdGggaW5kaXZpZHVhbHMgYW5kIG1hc3Nlcy4gTGV0J3Mgc2F5 IGEgcGFjayBvZiBkb2dzLCBjb25zaWRlcmVkIGFzIGEgbWFzcyBuZWVkcyBkZXNjcmlwdGlvbi4g SSBtaWdodCBkZXNjcmliZSBpdCBhcyBlaXRoZXIgJydsb2kgZ2Vya3UnJyBvciAnJ2xvIGdlcmt1 JycuIElmIEkgdXNlICcnbG8nJywgdGhpcyBhbGxvd3MgbWUgdG8gY29ycmVjdGx5IHN0YXRlIHNv bWV0aGluZyB3aGljaCBsb29rcyBsaWtlIGEgY29udHJhZGljdGlvbiwgYnV0IHJlYWxseSBpc24n dDogJydsbyBnZXJrdSBuYSBnZXJrdScnIC0gIlNvbWUgZG9ncyBhcmUgbm90IGRvZ3MiLiBTaW5j ZSBpdCdzIGJlaW5nIGNvbnNpZGVyZWQgYSBtYXNzIG9mIGRvZ3MsIHRoZSBtYW55IGRvZ3MgY29u c2lkZXJlcyBhcyBhIHdob2xlIGlzIG5vdCBhIGRvZywgYnV0IHJhdGhlciBhIHBhY2sgb2YgZG9n cy4KCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVu YW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGluZGl2aWR1YWwocykuIEluIG9yZGVyIHRv IGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNzLCBvbmUgbmVlZHMgJydsbycnLCAnJ2xl Jycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRpZmllci4gVGhlIHN1YmplY3Qgb2YgcXVh bnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LXR3by4g V2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFuZCAnJ2xlJycgdmFndWUsIGFuZCBub3Qg ZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFi bGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4dCwgd2l0aG91dCB0aGUgc3BlYWtlciBo YXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBiZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdy b3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlzIHNlcmllcywgdGhlcmUgYXJlIHRo cmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18nJ2xvJ2knJ19fIC0gZ2Fkcmk6IHZlcmlk aWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0 LgoKX18nJ2xlJ2knJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRv IHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGEnaScnX18gLSBnYWRyaTog TmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxh IHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgoKClVubGlrZSBncm91cHMgb2Yg aW5kaXZpZHVhbHMgb3IsIHNvbWV0aW1lcywgbWFzc2VzLCBzZXRzIGRvZXMgbm90IHRha2UgYW55 IG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20gdGhlIG9iamVjdHMgZnJvbSB3aGljaCB0aGUgc2V0IGlz IGZvcm1lZC4gQSBzZXQgaXMgYSBwdXJlbHkgbWF0aGVtYXRpY2FsIG9yIGxvZ2ljYWwgY29uc3Ry dWN0LCBhbmQgaGFzIHByb3BlcnRpZXMgbGlrZSBjYXJkaW5hbGl0eSwgbWVtYmVyc2hpcCBhbmQg c2V0IGluY2x1c2lvbi4gQWdhaW4sIG5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHNldCBv ZiB0aGluZ3MsIGFuZCB0aGUgdGhpbmdzIG9mIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkOgoKX18n J3Rpcnh1JydfXyDigJx4MSBpcyBhIHRpZ2VyL2xlb3BhcmQvamFndWFyIG9mIHNwZWNpZXMvYnJl ZWQgeDIgd2l0aCBjb2F0IG1hcmtpbmdzIHgz4oCdCgonJ2xvJ2kgdGlyeHUgY3UgY21hbHUnJyBz YXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBi eSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0 IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUgYXJlIGZldyBvZiB0aGVtLgoK CgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5lcmFsaXppbmcgJydnYWRyaScn OgoKX18nJ2xvJ2UnJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBz dW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBhcmNoZXR5cGUgb2YgJydsbyB7c2VsYnJpfScn LgoKX18nJ2xlJ2UnJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRv IHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGRlc2NyaWJlZC9wZXJjZWl2ZWQgYXJjaGV0 eXBlIG9mICcnbGUge3NlbGJyaX0nJy4KCk9mIHdoaWNoIHRoZXJlIGlzIG5vICcnbGEnJy1lcXVp dmFsZW50LgoKCgpTbywgd2hhdCBpcyBhY3R1YWxseSBtZWFudCBieSB0aGUgYXJjaGV0eXBlPyBG b3IgJydsbydlIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGlj aCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMu IEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3Ry aXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMg b2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3Bh cmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRoZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90 IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBvZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlm IHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEgdHJhaXQsIGZvciBpbnN0YW5jZSBiZWlu ZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2tha25lJydfXzog4oCceDEgaXMgY2Fw YWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJjdW1zdGFuY2UgeDPigJ0KCicnbG8nZSBy ZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZsYScnIC0g4oCcVGhlIHR5cGljYWwgaHVtYW4gYmVpbmcg Y2FuIHNwZWFr4oCdLgoKCgonJ2xlJ2UnJyB0aGVuLCBpcyB0aGUgaWRlYWwgb2JqZWN0IGFzIHBl cmNlaXZlZCBvciBkZXNjcmliZWQgYnkgdGhlIHNwZWFrZXIuIFRoaXMgbmVlZCBub3QgYmUgZmFj dHVhbGx5IGNvcnJlY3QsIGFuZCBpcyBvZnRlbiB0cmFuc2xhdGVkIGFzIHRoZSDigJxzdGVyZW90 eXBl4oCdLCBldmVuIHRob3VnaCB0aGUgRW5nbGlzaCBwaHJhc2UgaGF2ZSBzb21lIHVucGxlYXNh bnQgbmVnYXRpdmUgY29ubm90YXRpb25zLCB3aGljaCB0aGUgTG9qYmFuIGRvZXMgbm90LiBJbiBm YWN0LCBldmVyeW9uZSBoYXMgYSBzdGVyZW90eXBpY2FsIGFyY2hldHlwaWNoYWwgaW1hZ2Ugb2Yg YW55IGNhdGVnb3J5LiBJbiBvdGhlciB3b3JkcywgJydsbydlIHJlbW5hJycgaXMgdGhlIGFyY2hl dHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRoZSBh cmNoZXR5cGUgJydsZSdlIHJlbW5hJycgYmVzdCBleGVtcGxpZmllcyBhbGwgJydsZSByZW1uYScn LgoKCgpUaGUgZWxldmVuIGdhZHJpIGNhbiBiZSBzZWVuIGluIHRoZSBkaWFncmFtIGJlbG93LgoK fHwgfEdlbmVyaWN8TWFzc2VzfFNldHN8R2VuZXJhbGl6aW5nCgp2ZXJpZGljYWx8bG98bG9pfGxv J2l8bG8nZQoKRGVzY3JpcHRpdmV8bGV8bGVpfGxlJ2l8bGUnZQoKTmFtZXxsYXxsYWl8bGEnaXxk b2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4bydl JycgZm9yIHRoZSBnZW5lcmljIGdhZHJpLiBIb3dldmVyLCB0aGUgcnVsZXMgYW5kIGRlZmluaXRp b25zIGZvciBnYWRyaSB3ZXJlIGNoYW5nZWQgaW4gbGF0ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQg c2V0IG9mIHJ1bGVzIG9uIHRoaXMgdG9waWMsIG5pY2tlZCDigJx4b3Jsb+KAnSBoYXMgcmVwbGFj ZWQgdGhlIG9sZCB3YXkuIE5vdywgJydsbycnIGlzIGdlbmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1 c2VkIGFzIGEgZWxsaXB0aWNhbCBkaWdpdCAobGVzc29uIG5pbmV0ZWVuKS4KCgoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIGZpZnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMjogS09oQTMsIEtP aEE1IGFuZCBLT2hBNikKClNlZSB3aGF0IGhhcHBlbnMgaWYgSSB0cnkgdG8gdHJhbnNsYXRlIHRo ZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlwaWNhbCBwZW9wbGUgd2hvIGNhbiBzcGVhayBMb2piYW4g c3BlYWsgdG8gZWFjaCBvdGhlciBhYm91dCB0aGUgbGFuZ3VhZ2VzIHRoZXkgY2FuIHNwZWFr4oCd OgoKX18nJ2Jhbmd1JydfXyDigJx4MSBpcyBhIGxhbmd1YWdlIHVzZWQgYnkgeDIgdG8gZXhwcmVz cyB4MyAoYWJzdHJhY3Rpb24p4oCdCgonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUg dGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBs byBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtlJ2Eg dGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ugc2UgYmFuZ3Uga2UnYScnCgoKCldoYXQgd2Ugc2VlIGlz IHRoYXQgdGhlIExvamJhbiB2ZXJzaW9uIGlzIG11Y2ggbG9uZ2VyIHRoYW4gdGhlIEVuZ2xpc2gu IFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGZpcnN0LCByaWRpY3Vsb3VzbHkgbG9uZyBz dW10aSBpcyBiZWluZyByZXBlYXRlZCB0d28gbW9yZSB0aW1lcyBpbiB0aGUgTG9qYmFuIHRleHQs IHdoaWxlIHRoZSBFbmdsaXNoIGNhbiByZWZlciB0byBpdCBieSDigJxlYWNoIG90aGVy4oCdIGFu ZCDigJx0aGV54oCdIC0gbXVjaCBtb3JlIGVmZmljaWVudGx5LiBXb3VsZG4ndCBpdCBiZSBjbGV2 ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoK CgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFu Z2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2EnaScnIG1lYW5pbmcg4oCcc3VtdGktcmVwcmVzZW50 YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3ZSByZWZlciB0byB0aGVtIGFzIHByby1zdW10aSwgYmVj YXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0aGUgRW5nbGlzaCBwcm9ub3Vu cywgYnV0IHdpdGggc3VtdGkgaW5zdGVhZCBvZiBub3Vucy4gSW4gZmFjdCwgeW91IGFscmVhZHkg a25vdyAnJ3RpJycsICcnZG8nJyBhbmQgJydtaScnLCBidXQgdGhlcmUgYXJlIG1hbnkgbW9yZSwg c28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBGaXJzdCwgd2Ugd2FudCB0byBwdXQgaXQgaW50byBzeXN0 ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaCwg YW5kIHdoYXQgeW91J3ZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAtIHN1bWthJ2k6 IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IG5lYXIg dGhlIHNwZWFrZXLigJ0KCl9fJyd0YScnX18gLSBzdW1rYSdpOiDigJxuZWFyYnkg4oCYaXQnOiBy ZXByZXNlbnRzIGEgc3VtdGkgc29tZSBwaHlzaWNhbCBkaXN0YW5jZSBmcm9tIHRoZSBzcGVha2Vy IE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5lcuKAnQoKX18nJ3R1JydfXyAtIHN1bWthJ2k6IOKAnGRp c3RhbnQg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBmYXIgZnJvbSB0aGUg c3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2FuIGFnYWluIHJlY29nbml6ZSB0 aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNv bWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0 aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9j Y3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlu bHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0byB0aGUgZXh0ZW50IHRoZXkg YXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlv biBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdo dC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVy ZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0dScnIG9ubHkgYXBwbGllcyBp ZiBpdCdzIGRpc3RhbnQgZnJvbSBib3RoIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIuIElu IGNhc2VzIHdoZXJlIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyBmYXIgYXBhcnQgYW5kIHRo ZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRoZSBzcGVha2VyIHRhbGtpbmcsICcndGEnJyByZWZlcnMg dG8gc29tZXRoaW5nIGNsb3NlIHRvIHRoZSBsaXN0ZW5lci4gVGhpcmRseSwgaXQncyBhbGwgcmVs YXRpdmUgYW5kIGNvbnRleHQgZGVwZW5kZW50LiBUaGVzZSB0aHJlZSB3b3JkcyBhcmUgYWxsIHBy b2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4dCwgZm9yIGluc3RhbmNlLCBiZWNhdXNlIHRoZSBwb3Np dGlvbiBvZiB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgdW5rbm93biB0byBlYWNoIG90aGVy LCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdvZXMgYnkuIEZ1cnRoZXJtb3JlLCB0aGUgYXV0aG9yIG9m IGEgYm9vayBjYW5ub3QgcG9pbnQgdG8gYW4gb2JqZWN0IGFuZCBleHByZXNzIHRoZSBwb2ludGlu ZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0aGVyZSBpcyBhIHNlcmllcyBjYWxsZWQgS09oQTMsIHRv IHdoaWNoICcnbWknJyBhbmQgJydkbycnIChhbmQgJydrbycnLCBidXQgSSB3b24ndCB3cml0ZSB0 aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vta2EnaTogVGhlIHNwZWFrZXIocyku CgpfXycnbWknbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQg dGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRo ZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMuCgpfXycnbWEnYScnX18gLSBzdW1rYSdpOiBUaGUgbWFz cyBvZiB0aGUgc3BlYWtlcihzKSwgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgpfXycnZG8n J19fIC0gc3Vta2EnaTogVGhlIGxpc3RlbmVyKHMpLgoKX18nJ2RvJ28nJ19fIC0gc3Vta2EnaTog VGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgoKClRoZXNlIHNpeCBzdW1r YSdpIGFyZSBtb3JlIGVhc2lseSBncmFzcGVkIGluIHRoZSBiZWxvdyBWZW5uIGRpYWdyYW06CgoK CntpbWcgZmlsZUlkPSIzIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKVmVubiBkaWFncmFtIG9m IEtPaEEzICgnJ2tvJycgZXhjbHVkZWQpLiAnJ2xlIGRyYXRhJycgaXMgbm90IGEgS09oQTMsIGJ1 dCBtZWFucyDigJx0aGUgb3RoZXIocynigJ0KCgoKSXQgaXMgcG9zc2libGUgZm9yIHNldmVyYWwg cGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVha2Vyc+KAnSwgaWYgb25lIHN0YXRlbWVudCBpcyBtYWRl IG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9mIHRoZW0uIFRoZXJlZm9yZSwgd2hpbGUg4oCcd2XigJ0g Y2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0aGVyICcnbWknJywgJydtaSdvJycsICcnbWknYScnIG9y ICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0ZSBvZnRlbiBtZWFucyBpcyByZWFsbHkganVzdCAnJ21p JycuIEFsbCBvZiB0aGVzZSBzaXgsIGlmIHRoZXkgcmVmZXIgdG8gbW9yZSB0aGFuIG9uZSBpbmRp dmlkdWFsLCByZXByZXNlbnQgbWFzc2VzLiBXaXRoaW4gYnJpZGktbG9naWMsIHRoZSBicmlkaSAn J21pIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEEgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvICcn ZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQiB0byBzcGVha2VyIEEsIGFuZCBhcmUgY29uc2lk ZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ugd2lsbCBjb21lIGJhY2sgdG8gdGhpcyBsYXRlciwgaW4g dGhlICcnYnJpa2EnaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vt a2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQtc3BlY2lmaWMsIGFuZCBjYW5ub3QgYmUgdXNlZCwgZm9y IGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29u IGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNl ZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0gc3Vta2EnaTog4oCcTGFzdCBz dW10aSBtZW50aW9uZWTigJ0KCl9fJydyYScnX18gLSBzdW1rYSdpOiDigJxBIHJlY2VudCwgYnV0 IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydydScnX18gLSBzdW1rYSdpOiDi gJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3aWxsIHJlZmVy IHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vta2EnaScnLiBU aGUgcmVhc29uIHRoYXQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJyBjYW5ub3QgYmUgcmVmZXJyZWQg dG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRoYXQgdGhleSBhcmUgc28gZWFzeSB0byBqdXN0IHJlcGVh dCBieSB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIHRvIHRoZSBydWxlIGFyZSAnJ3RpJycsICcn dGEnJyBhbmQgJyd0dScnLCBiZWNhdXNlIHlvdSBjb3VsZCBoYXZlIGNoYW5nZWQgd2hhdCB5b3Ug cG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5vdCBqdXN0IHJlcGVhdCB0aGUgd29yZC4gVGhleSB3aWxs IG9ubHkgcmVmZXIgdG8gdGVybWluYXRlZCBzdW10aSwgYW5kIHRodXMgY2Fubm90LCBmb3IgaW5z dGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW4gYWJzdHJhY3Rpb24gaWYgdGhlIHdvcmQgaW4g aXMgdGhhdCBhYnN0cmFjdGlvbjogJydsZSBwZW5kbyBub2kga2UnYSBwZW5kbyBtaSBjdSBkamlj YSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fubm90IHJlZmVyIHRvIHRoZSBh YnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwgbm9yIHRvICcnbWknJyBvciAn J2tlJ2EnJywgc2luY2UgdGhleSBhcmUgc3Vta2EnaSwgc28gaXQgcmVmZXJzIHRvICcnbGUgcGVu ZG8nJy4KCicncmEnJyBhbmQgJydydScnIGFyZSBjb250ZXh0LWRlcGVuZGVudCBpbiB3aGF0IHRo ZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZvbGxvdyB0aGUgcnVsZXMgbWVudGlvbmVkIGFib3ZlLCBh bmQgJydydScnIGFsd2F5cyByZWZlciB0byBhIG1vcmUgZGlzdGFudCBzdW10aSB0aGFuICcncmEn Jywgd2hpY2ggaXMgYWx3YXlzIG1vcmUgZGlzdGFudCB0aGFuICcncmknJy4KCgoKJydyaScnIGFu ZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0 aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNpbmcgdHdvIGluc3RhbmNlcyBv ZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlJ2UgcHJlbnUgcG9pIGtl J2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3Ug cG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2EnJy4gJydyaScnIGlzIG5vdCBjb3JyZWN0LCBiZWNhdXNl IGl0IHJlZmVycyB0byAnJ2xhIC5sb2piYW4uJycuICcncmEnJyBjb3VsZCBiZSB1c2VkLCBidXQg Y291bGQgYmUgbWlzdGFrZW5seSBiZSB0aG91Z2h0IHRvIHJlZmVyIHRvICcnbG8gbnUgdGF2bGEg Zm8gbGEgLmxvamJhbi4nJywgYnV0ICcncnUnJyBpcyBhc3N1bWVkIHRvIHJlZmVyIHRvIHRoZSBt b3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUgbW9zdCBvdXRlciBvbmUufn4KCgoKTGFzdGx5LCB0aGVy ZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJlc2VudCB1dHRlcmFuY2VzOiBTbyBjYWxsZWQgdXR0ZXJh bmNlIHZhcmlhYmxlcy4gVGhleSBuZWVkIG5vdCBiZSByZXN0cmljdGVkIHRvIG9uZSBzZW50ZW5j ZSAoanVmcmEpLCBidXQgY2FuIGJlIHNldmVyYWwgc2VudGVuY2VzLCBpZiB0aGUgY29udGV4dCBh bGxvd3MgaXQ6CgpfXycnZGEndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgcGFzdCBz ZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNl CgpfXycnZGkndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBQcmV2aW91cyBzZW50ZW5jZQoKX18n J2RlaScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBUaGlzIHNlbnRlbmNlCgpfXycnZGknZScnX18g VXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0IHNlbnRlbmNlCgpfXycnZGUnZScnX18gVXR0ZXJhbmNl IHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RhJ2UnJ19fIFV0dGVyYW5jZSB2 YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RvJ2knJ19fIFV0dGVyYW5jZSB2 YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGU6IOKAnFNvbWUgc2VudGVuY2Xi gJ0KClRoZXNlIHJlcHJlc2VudHMgc2VudGVuY2VzIGFzIHN1bXRpLCBhbmQgcmVmZXIgb25seSB0 byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRoZSBsZXR0ZXJzLCBub3QgdG8gdGhlIG1lYW5pbmcgYmVo aW5kIHRoZW0uCgoKClRoZXJlIGFyZSBtb3JlIExvamJhbiAnJ3N1bWthJ2knJywgYnV0IGZvciBu b3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3 aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzog ZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUg YmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtlJ2EnJyBpcyBhIGxlc3MgdGhhbiBlbGVnYW50IGV4cHJl c3Npb24gZm9yIOKAnG15IGxhbmd1YWdl4oCdLiBUaGlzIGlzIGJlY2F1c2UgaXQncyByZWFsbHkg YSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFnZSB3aGljaCBJIHNwZWFrIGNhbiBiZSBzYWlkIHRvIGZp bGwgaW50byB0aGUgeDEgb2YgdGhlIGJyaWRpICcnYmFuZ3UgbWknJy4gV2UgY2FuJ3QgY29udmVy dCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMg dHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmku IE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBzdSd1JycsIGJlY2F1c2UgdGhl IHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEgbmV3IHgxLCB0aGUgYWJzdHJhY3Rpb24sIGFuZCB0aGUg JydsZScnIHRoZW4gZXh0cmFjdHMgdGhhdC4gVGhhdCBtYWtlcyBhbiBhYnN0cmFjdGlvbiBzdW10 aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtlIOKAnHRoYXQgc29tZXRoaW5nIGlzIG15IGxhbmd1YWdl 4oCdLgoKRW50ZXIgJydiZScnLiAnJ2JlJycgaXMgYSB3b3JkIHdoaWNoIGJpbmRzIGNvbnN0cnVj dHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQgb3RoZXJzKSB0byBhIHNlbGJyaS4gVXNpbmcgaXQgaW4g b3JkaW5hcnkgc2VsYnJpIGhhcyBubyBlZmZlY3Q6IGluICcnbWkgbmVsY2kgYmUgZG8nJywgdGhl ICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsIHdoZW4gYSBzdW10aSBpcyBib3VuZCB0byBh IHNlbGJyaSB0aGlzIHdheSwgeW91IGNhbiB1c2UgYSBnYWRyaSBvbiB0aGUgc2VsYnJpIHdpdGhv dXQgdGhlIHN1bXRpIHNwbGl0dGluZyBvZmY6ICcnbGUgYmFuZ3UgYmUgbWknJyBpcyBhIGNvcnJl Y3Qgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gYWJvdmUuIExpa2V3aXNlLCB5b3UgY2FuIGF0dGFj aCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRhcnhpIGtlaSBiZSBnYXUgZG8nJzog4oCcVGhlIGV2ZW50 IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNhdXNlZCBieSB5b3XigJ0uIE5vdGUgdGhhdCB0aGUgcHJl c2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tlaScnIG1ha2VzIGl0IHBhcnNlIGRpZmZlcmVudGx5OiBX aXRoIHRoZSBmYSdvcm1hJ28gcHJlc2VudCwgJydiZScnIGF0dGFjaGVzIHRvICcnbnUnJywgd2l0 aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBhdHRhY2hlcyB0byAnJ2RhcnhpJycuIFNvIGl0IGRlY2lk ZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNpc2VkOiBJcyB0aGUgaGl0dGluZywgb3IgdGhlIGV2ZW50 IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlvdT8gSW4gdGhpcyBzcGVjaWZpYyBjYXNlLCB0aG91Z2gs IHRoYXQncyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBh dHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdp dmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBk bycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxl LCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWlu IG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgbm8gc2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZl cmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0aGUgYWxsIHRoZSBvbmVzIGZvbGxvd2luZyB0aGUgZmly c3QgbXVzdCBiZSBib3VuZCB3aXRoICcnYmVpJycuIFRoZSDigJxiaW5kaW5n4oCdIGNhbiBiZSB0 ZXJtaW5hdGVkIHdpdGggJydiZSdvJycgLSBvbmUgaW5zdGFuY2Ugb2YgJydiZSdvJycgZm9yIGVh Y2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06 CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScn X18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEg dG8gYSBzZWxicmkKCl9fJydiZSdvJydfXyBlbmRzIGJpbmRpbmcgdG8gc2VsYnJpCgoKClRoZXJl IGlzIGFsc28gd2F5cyB0byBsb29zZWx5IGFzc29jaWF0ZSBhIHN1bXRpIHdpdGggYW5vdGhlci4g JydwZScnIGFuZCAnJ25lJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgYXNz b2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xlIGJhbmd1IHBlIG1pJycgaXMgYSBiZXR0ZXIgdHJhbnNs YXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2XigJ0sIHNpbmNlIHRoaXMgcGhyYXNlLCBsaWtlIHRoZSBF bmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBob3cgdGhlIHR3byBhcmUgYXNzb2NpYXRlZCB3aXRoIGVh Y2ggb3RoZXIuCgonJ3BlJycgYW5kICcnbmUnJyBhcmUgdXNlZCBhcyBsb29zZSBhc3NvY2lhdGlv biBvbmx5LCBsaWtlIHNheWluZyDigJxteSBjaGFpcuKAnSBhYm91dCBhIGNoYWlyIHdoaWNoIHlv dSBzaXQgb24uIEl0J3Mgbm90IHJlYWxseSB5b3VycywgYnV0IGhhcyBzb21ldGhpbmcgZG8gdG8g d2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0ZSBjb25uZWN0aW9uIGNhbiBiZSBlc3RhYmxpc2hlZCB3 aXRoICcncG8nJywgd2hpY2ggbWFrZXMgdGhlIGFzc29jaWF0aW9uIHVuaXF1ZSBhbmQgYmluZGlu ZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCcbXkgY2Fy4oCdIGZvciBhIGNhciB0aGF0IHlvdSBhY3R1 YWxseSBvd24uIFRoZSBsYXN0IGtpbmQgb2YgYXNzb2NpYXRvciBpcyAnJ3BvJ2UnJywgd2hpY2gg bWFrZXMgYSBzby1jYWxsZWQgImluYWxpZW5hYmxlIiBib25kIGJldHdlZW4gc3VtdGksIG1lYW5p bmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5hdGUgYmV0d2VlbiB0aGUgdHdvIHN1bXRpLiBTb21lIGV4 YW1wbGVzIGNvdWxkIGJlICJteSBtb3RoZXIiLCAibXkgYXJtIiBvciAibXkgaG9tZSBjb3VudHJ5 Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2VzaW9ucyIgY2FuIGJlIGxvc3QgKGV2ZW4gaWYgeW91IHNh dyBvZmYgeW91ciBhcm0sIGl0J3Mgc3RpbGwgX195b3VyX18gYXJtKSwgYW5kIGFyZSB0aGVyZWZv cmUgaW5hbGllbmFibGUuIEFsbW9zdCBhbGwgb2YgdGhlIHRpbWVzIGEgJydwbydlJycgaXMgYXBw cm9wcmlhdGUsIHRob3VnaCwgdGhlIHgyIG9mIHRoZSBzZWxicmkgY29udGFpbnMgdGhlIG9uZSB0 byB3aGljaCB0aGUgeDEgaXMgY29ubmVjdGVkLCBzbyAnJ2JlJycgaXMgYmV0dGVyLgoKX18nJ25l JydfXyBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRl ZCB3aXRoLi4uIgoKX18nJ3BlJydfXyByZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGlj aCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncG8nJ19fIHBvc3Nlc2l2ZSByZWxhdGl2ZSBw aHJhc2UuICJ3aGljaCBpcyBzcGVjaWZpYyB0by4uLiIKCl9fJydwbydlJydfXyBpbmFsaWVuYWJs ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBiZWxvbmdzIHRvLi4uIgoKCgpBIHZlcnkgdXNlZnVs IGNvbnN0cnVjdCB0byBrbm93IGlzICcne2dhZHJpfSB7c3VtdGl9IHtzZWxicml9JycuIHRoaXMg aXMgZXF1aXZhbGVudCB0byAnJ3tnYWRyaX0ge3NlbGJyaX0gcGUgIHtzdW10aX0nJy4gRm9yIGlu c3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgZ2Vya3UgcGUgbWkn Jy4gT25lIGNvdWxkIGhhdmUgZGVzY3JpcHRpb24gc3VtdGkgaW5zaWRlIGRlc2NyaXB0aW9uIHN1 bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBjaW5qaWtjYSBiZSBtaSBrdSBnZXJrdScnLCA9ICcnbGUg Z2Vya3UgcGUgbGUgc2UgY2luamlrY2EgYmUgbWknJyA94oCcdGhlIGRvZyBvZiB0aGUgbWFuIEkn bSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdCdzIG5vdCB2ZXJ5IGVhc3kgdG8gcmVhZCAob3Ig dG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiksIGFuZCBpcyBvZnRlbiBiZWluZyBhdm9pZGVkLgoK CgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJuICcndHUnYScnLCBzaW5jZSBpdCB3aWxsIG1ha2UgYSBs b3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFzaWVyLiBJdCB0YWtlcyBhIHN1bXRpIGFuZCBjb252ZXJ0 cyBpdCB0byBhbm90aGVyIHN1bXRpIC0gYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiB3aGljaCBo YXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIGZpcnN0IHN1bXRpLiBGb3IgZXhhbXBsZSwgSSBj b3VsZCBzYXkgJydtaSBkamljYSBsbyBudSBtaSBjaXRrYSBsbyBwbGlzZScnLCBvciBJIGNvdWxk IGxldCBpdCBiZSB1cCB0byBjb250ZXh0IHdoYXQgYWJzdHJhY3Rpb24gYWJvdXQgdGhlIGFwcGxl IEkgZGVzaXJlIGFuZCBqdXN0IHNheSAnJ21pIGRqaWNhIHR1J2EgbG8gcGxpc2UnJy4gT25lIGFs d2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUgc3BlYWtlciBtZWFucyBieSAn J3R1J2EgU1VNVEknJywgc28gaXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGNvbnRleHQgbWFr ZXMgaXQgZWFzeSB0byBndWVzcy4gQW5vdGhlciBleGFtcGxlOgoKX18nJ2dhc251JydfXyDigJx4 MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAodm9saXRpb24gbm90IGltcGxpZWQp4oCdCgonJ3phJ2Eg ZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29t cHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R1J2EgU1VNVEknJyBpcyBlcXVp dmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlJycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVy ZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVzZSAnJ3R1J2EnJywgZXZlbiB0aG91 Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJsZS4gVGhlc2Ugc2l0dWF0aW9ucyBhcmUgd2hlbiBJIGRv bid0IHdhbnQgdGhlIHJlc3VsdGluZyBzdW10aSB0byBiZSBhbiBhYnN0cmFjdGlvbiwgYnV0IGEg Y29uY3JldGUgc3VtdGkuIEluIHRoaXMgY2FzZSwgb25lIGNhbiB1c2UgJyd6bydlIHBlJycuCgpf XycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcg dGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoK CkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5 IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9fJydsdSdhJydfXyAtIENvbnZlcnQgaW5k aXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBpbmRpdmlkdWFscy4KCl9fJydsdSdpJydf XyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBhIHNldC4KCl9f JydsdSdvJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBt YXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uv c2V0IHRvIHNlcXVlbmNlOyB0aGUgb3JkZXIgaXMgbm90IHN0YXRlZC4KClRoZSB1c2Ugb2YgdGhl c2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9yd2FyZGx5OiBQbGFjaW5nIHRoZW0gYmVmb3JlIGEgc3Vt dGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFrZXMgYSBuZXcgc3VtdGkgb2YgYSBuZXcgdHlwZS4gTm90 aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBmb3VydGgga2luZCBvZiBzdW10aSwgYSBzZXF1ZW5jZSBo YXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlzIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gKGl0IGRvZXNu J3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBidXQganVzdCBpbmNsdWRlZCBo ZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJlcnMgb2YgTEFoRSBkbyBub3Qg Y29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxsb3dzIHlvdSB0byBzcGVhayBv ZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGluZyB3aGljaCByZWZlcmVuY2Vz IHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3VtdGkgQiwgZm9yIGluc3RhbmNl IGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywgb3IgYSBuYW1lLCBvciBhIHNl bnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRp KSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJlZmVycyB0byBzdW10aSBCLiBGb3IgaW5zdGFuY2UsIOKA mCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBmb3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKA nSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHBy ZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCYJ2xhJ2UgbGUgY21hbHUgbm9sdHJ1JycgZm9yIHRoZSBi b29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl4oCdLCBhbmQgbm90IHNvbWUgbGl0dGxlIHByaW5jZSBo aW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1J2UnJyBkb2VzIHRoZSBleGFjdCByZXZlcnNlIOKAkyDi gJgnbHUnZSBTVU1USScnIHJlZmVycyB0byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBz dW10aS4gCgpfXycnbGEnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyZWQgdG8gYnnigJ0gLSBl eHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBhIHN1bXRpIEIgd2hpY2ggcmVmZXJzIHRvIEEuIAoKX18n J2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmluZyB0b+KAnSAtIGV4dHJhY3RzIGEgc3Vt dGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hlbiBCIHJlZmVycyB0byBBLgoKCgoKCiEhIUVuZCBvZiBw YXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXByYWN0aWNhbGx5IGxhcmdlIHNpemUgb2YgdGhlc2UgbGVz c29ucywgdGhlIHNlY29uZCBhbmQgdGhpcmQgaW5zdGFsbG1lbnQgY2FuIGJlIGZvdW5kIG9uIHBh Z2VzIGRlZGljYXRlZCB0byAoKHdhdmVsZXNzb25zY29udGludWVkcDJ8dGhlIGZvcm1lcikpIGFu ZCAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhlIGxhdHRlcikpLiBObyB3b3JyaWVzLCB0aG91 Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9ybWVyIiBvciAidGhlIGxhdHRlciIgd2lsbCB0YWtlIHlv dSB0aGVyZSBwYWlubGVzc2x5LgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGluZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJh bi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2Vz Cg==