Received: from localhost ([::1]:59017 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Ub9nt-0008Pj-04; Sat, 11 May 2013 06:25:37 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:41206 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Ub9nh-0008Pd-Hv for wikichanges@lojban.org; Sat, 11 May 2013 06:25:34 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 11 May 2013 06:25:25 -0700 From: "Apache" Date: Sat, 11 May 2013 06:25:25 -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:25 CEST 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: 164786 VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDE1OjI1IENFU1QKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBs aW5rOgogCmh0dHA6Ly9sb2piYW4ub3JnL3Rpa2kvbGUlQzMlQTdvbnMlMjB3YXZlJTIwZW4lMjBm cmFuJUMzJUE3YWlzCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3VzIHZl cnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly9sb2piYW4ub3JnL3Rpa2kvdGlr aS1wYWdlaGlzdG9yeS5waHA/cGFnZT1sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMl QTdhaXMmY29tcGFyZT0xJm9sZHZlcj0xOCZuZXd2ZXI9MTkKCgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0 aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBm dWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDEyNy0xNTAgY2hhbmdlZCB0byArTGlu ZXM6IDEyNy0xNTEgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSsKQWZpbiBkZSB2b3VzIGRvbm5leiB1bmUgaWTDqWUgZGUgY29tbWVu dCB0b3V0IGNlY2kgZm9uY3Rpb25uZSwgdm9pY2kgdW5lIGxpc3RlIGRlIG5vbXMgZGUgcXVlbHF1 ZSBwZXJzb25uYWdlcyBjw6lsw6hicmVzIGRhbnMgbGV1ciBwcm9wcmUgbGFuZ3VlIGV0IGVuIGxv amJhbi4KCi0gfHxfX0VuZ2xpc2hfXzxiciAvPk1hcmdhcmV0IFRoYXRjaGVyIHwnJy5tYWdyeXQu dGF0Y3lyLicnIChubyAmcXVvdDt0aCZxdW90OyBpbiBMb2piYW4gYmVjYXVzZSBtb3N0IHBlb3Bs ZSBhcm91bmQgdGhlIHdvcmxkIGNhbid0IHNheSBpdCEpPGJyIC8+TWljayBKYWdnZXIgfCcnLm1p ay5kamFneXMuJycgfHw8YnIgLz58fF9fRnJlbmNoX18KKyB8fF9fRnJhbmFpc19fCk5hcG9sZW9u IEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnCkp1bGlldHRlIEJpbm9jaGUgfCcn Lmp1TElFVC5iaW5PQy4nJyB8fAotIHx8X19DaGluZXNlX18KKyB8fF9fQW5nbGFpc19fPGJyIC8+ TWFyZ2FyZXQgVGhhdGNoZXIgfCcnLm1hZ3J5dC50YXRjeXIuJyc8YnIgLz5NaWNrIEphZ2dlciB8 JycubWlrLmRqYWd5cy4nJyB8fDxiciAvPnx8X19DaGlub2lzX18KTGFvemkgfCcnLmxhdWR6Licn Ci0gTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChGaW5hbCAnJ25nJycgaXMgaW4gTG9qYmFu IGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fDxiciAvPnx8X19UdXJraXNoX18KKyBN YW8gWmVkb25nIHwnJy5tYXVkenlEWU4uJycgKExlIG5nIGZpbmFsIGVzdCBjb252ZW50aW9uZWxs ZW1lbnQgdHJhbmZvcm0gZW4gJyduJycgZW4gbG9qYmFuLikgfHw8YnIgLz58fF9fVHVyY19fCk11 c3RhZmEgS2VtYWwgfCcnLk1VU3RhZmFzLmtlTUFMLicnCkVya2luIEtvcmF5IHwnJy5lcmtpbi5r b3JhaXMuJycgfHwKLSB8fF9fR2VybWFuX18KKyB8fF9fQWxsZW1hbmRfXwpGcmllZHJpY2ggTmll dHpzY2hlIHwnJy5mcmlkcml4Lm5pdGN5cy4nJwpDbGFyYSBTY2h1bWFubiB8Jycua2xhcmFzLmN1 bWFuLicnIHx8Ci0gfHxfX1NwYW5pc2hfXworIHx8X19Fc3BhZ25vbF9fCklzYWJlbCBBbGxlbmRl IHwnJy5pemFCRUwuYWllbmRlcy4nJwpDaGUgR3VldmFyYSB8JycudGNlZ2V2YXJhcy4nJyB8fAot IF9fRXhlcmNpc2VfXy48YnIgLz5XaGVyZSBhcmUgdGhlc2UgcGxhY2VzPworIDxiciAvPl9fRXhl cmNpY2U6X188YnIgLz5PIHNvbnQgY2VzIGxpZXV4PwojLm51LElPUksuCiMucm9tYXMuCgorLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpA QCAtTGluZXM6IDE2My0xOTAgY2hhbmdlZCB0byArTGluZXM6IDE2NC0xOTQgQEAKKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKIy5saWR6 LgojLnhlbHNpbmtpcy4KLSBBbnN3ZXI6CisgPGJyIC8+UnBvbnNlczoKfn5ncmF5LGdyYXk6fn4K LSAjfn5ncmF5LGdyYXk6TmV3IFlvcms6IFVTQX5+PGJyIC8+I35+Z3JheSxncmF5OlJvbWU6IEl0 YWx5fn4KKyAjfn5ncmF5LGdyYXk6TmV3IFlvcms6IHRhdHMtVW5pcyBkJ0FtcmlxdWV+fjxiciAv PiN+fmdyYXksZ3JheTpSb21lOiBJdGFsaWV+fgojfn5ncmF5LGdyYXk6SGF2YW5hOiBDdWJhfn4K LSAjfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBXZWxzaCBmb3IgJnF1b3Q7Q2FyZGlm ZiZxdW90OyBpcyAmcXVvdDtDYWVyZHlkZCZxdW90Oywgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRv IHNvbWV0aGluZyBsaWtlIGthaXJkeWQuLil+fjxiciAvPiN+fmdyYXksZ3JheTpCZWlqaW5nOiBD aGluYX5+PGJyIC8+I35+Z3JheSxncmF5OkFua2FyYTogVHVya2V5fn48YnIgLz4jfn5ncmF5LGdy YXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQX5+CisgI35+Z3JheSxncmF5OkNhcmRpZmY6 IFBheXMgZGUgR2FsbGVzIChMZSBnYWxsb2lzIHBvdXIgQ2FyZGlmZiBlc3QgQ2FlcmR5ZGQsIHNl IHF1aSBzZSBsb2piYW5pc2VyYWl0IGNvbW1lICcnLmthaXJkeWQuJycuKX5+PGJyIC8+I35+Z3Jh eSxncmF5OkJlaWppbmc6IENoaW5lfn48YnIgLz4jfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJraWV+ fjxiciAvPiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTogTm91dmVhdS1NZXhpcXVlLCB0YXRzLVVu aXMgZCdBbXJpcXVlfn4KI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4KLSAjfn5ncmF5 LGdyYXk6Q2FwZSBUb3duOiBTb3V0aCBBZnJpY2F+fjxiciAvPiN+fmdyYXksZ3JheTpUYWlwZWk6 IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBpbnlp biBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBtZWFudCB0byBiZSBhIGNv dXJzZSBvbiBNYW5kYXJpbiEpfn48YnIgLz4jfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFueX5+PGJy IC8+I35+Z3JheSxncmF5OkRlbGhpOiBJbmRpYSAoVGhlIEhpbmRpIGZvciAmcXVvdDtEZWxoaSZx dW90OyBpcyAmcXVvdDtEaWxsJnF1b3Q7LCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGls aSdpcy4uKX5+CisgI35+Z3JheSxncmF5OkNhcGUgVG93bjogQWZyaXF1ZSBkdSBzdWR+fjxiciAv PiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdhbiAoTm90ZTogb24gdXRpbGlzZSAnJ2InJywgZXQg bm9uICcncCcnLiBCaWVuIHF1J2VuIGZhaXQsIGxlIGIgZW4gUGlueWluIHNvaXQgcHJvbm9uYyBw IE1haXMgbm91cyBuZSBzb21tZXMgcGFzIGRhbnMgdW4gY291cnMgZGUgbWFuZGFyaW4hKX5+PGJy IC8+I35+Z3JheSxncmF5OkJvbm46IEFsbGVtYWduZX5+PGJyIC8+I35+Z3JheSxncmF5OkRlbGhp OiBJbmRlIChMJ2hpbmRpIHBvdXIgRGVsaGkgZXN0IERpbGwsIGNlIHF1aSBkb25uZXJhaXQgJycu ZGlsaXlzLicnIG91ICcnLmRpbGknaXMuJycuKX5+CiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+ fgotICN+fmdyYXksZ3JheTpBdGhlbnM6IEdyZWVjZSAoJnF1b3Q7QXRoaW5hJnF1b3Q7IGluIEdy ZWVrKX5+PGJyIC8+I35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn48YnIgLz4jfn5ncmF5LGdy YXk6SGVsc2lua2k6IEZpbmxhbmR+fjxiciAvPl9fRXhlcmNpc2VfXy48YnIgLz5Mb2piYW5pc2Ug dGhlIGZvbGxvd2luZyBuYW1lcworICN+fmdyYXksZ3JheTpBdGhlbnM6IEdyY2UgKEF0aGluYSBl biBncmVjcXVlKX5+PGJyIC8+I35+Z3JheSxncmF5OkxlZWRzOiBBbmdsZXRlcnJlfn48YnIgLz4j fn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmRlfn48YnIgLz48YnIgLz5fX0V4ZXJjaXNlOl9f PGJyIC8+TG9qYmFuaXNleiBsZXMgbm9tcyBzdWl2YW50OgojSm9obgojTWVsaXNzYQojQW1hbmRh CiNNYXR0aGV3CisgI01hdGhpZXUKI01pY2hhZWwKI0RhdmlkIEJvd2llCgorLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6 IDE5Ny0yMTYgY2hhbmdlZCB0byArTGluZXM6IDIwMS0yMjIgQEAKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKI1Rva3lvCiNTYW4gU2Fs dmFkb3IKLSBBbnN3ZXI6PGJyIC8+fn5ncmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJu YXRpdmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5j ZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBk b2Vzbid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdv IExvamJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25l IGtub3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC5+fjxiciAvPiN+fmdyYXks Z3JheTouZGpvbi4gKG9yIC5kamFuLiB3aXRoIHNvbWUgYWNjZW50cyl+fjxiciAvPiN+fmdyYXks Z3JheToubWVsaXN5cy5+fjxiciAvPiN+fmdyYXksZ3JheTouYW1hbmR5cy4gKGFnYWluLCBkZXBl bmRpbmcgb24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBh IG1heSBiZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBiZSBlLil+fgorIDxiciAvPlJwb25zZXM6 PGJyIC8+fn5ncmF5LGdyYXk6SWwgeSBhIHNvdXZlbnQgZCdhdXRyZXMgcGVsbGF0aW9ucyBwb3Vy IGxlcyBub21zLCBzb2l0IHBhcmNlIHF1ZSBsZXMgZ2VucyBwcm9ub25jZW50IGwnb3JpZ2luYWwg ZGlmZnJlbW1lbnQsIHNvaXQgcGFyY2UgcXVlIGxlIHNvbiBleGFjdCBuJ2V4aXN0ZSBwYXMgZW4g bG9qYmFuLCBldCBxdWUgbCdvbiBkb2l0IGNob2lzaXIgZW50cmUgZGV1eCBsZXR0cmVzLiBDZSBu J2VzdCBwYXMgaW1wb3J0YW50LCBkdSBtb21lbnQgcXVlIHRvdXQgbGUgbW9uZGUgc2FpdCBkZSBx dWkgb3UgcXVvaSB2b3VzIHBhcmxlei5+fjxiciAvPiN+fmdyYXksZ3JheTouZGpvbi4gKG91IC5k amFuLiBhdmVjIGNlcnRhaW5zIGFjY2VudHMpfn48YnIgLz4jfn5ncmF5LGdyYXk6Lm1lbGlzYXMu ICgubWVsaXN5cy4gZW4gYW5nbGFpcyl+fjxiciAvPiN+fmdyYXksZ3JheTouYW1hbmRhcy4gKEVu IGFuZ2xhaXMsIHN1aXZhbnQgbGVzIGFjY2VudHMsIGxlICcnYScnIGZpbmFsIHBldXQgdHJlIHVu ICcneScnLCBkZSBtbWUgcG91ciBsZSAnJ2EnJyBpbml0aWFsLCBldCBsZSAnJ2EnJyBkdSBtaWxp ZXUgcGV1dCB0cmUgdW4gJydlJycuKX5+CiN+fmdyYXksZ3JheToubWF0aXVzLn5+Ci0gI35+Z3Jh eSxncmF5Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVwZW5kaW5nIG9uIGhvdyB5b3Ugc2F5IGl0 Ln5+PGJyIC8+I35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90 IC5idSxpcy4gIHRoYXQncyB0aGUga25pZmUpfn4KKyAjfn5ncmF5LGdyYXk6Lm1hVElZUy5+fjxi ciAvPiN+fmdyYXksZ3JheToubWlrYWVsLiAoLm1haWt5bC4gb3UgLm1haWssbC4gZW4gYW5nbGFp cy4pfn48YnIgLz4jfn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG91IC5ibyxpcy4gKHBhcyAu YnUsaXMuICBxdWkgc2UgcmZyZSBhdSBbaHR0cHM6Ly9mci53aWtpcGVkaWEub3JnL3dpa2kvQ291 dGVhdV9Cb3dpZXxjb3V0ZWF1XSl+fgojfn5ncmF5LGdyYXk6LmRqZWluLm9zdGluLn5+CiN+fmdy YXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KLSAjfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnly LiBvciAuc3lnb3JuaXMudWl2eXIufn4KKyAjfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBv dSAuc3lnb3JuaXMudWl2eXIufn4KI35+Z3JheSxncmF5Oi5yaXRjeXJkLm5pa3N5bi5+fgotICN+ fmdyYXksZ3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0 aCBBbWVyaWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5 IHByZWZlciB0byBiYXNlIGNtZXZsYSBvbiBsb2NhbCBwcm9udW5jaWF0aW9uLCBidXQgdGhpcyBp cyBub3QgYW4gYWJzb2x1dGUgcnVsZS5+fgorICN+fmdyYXksZ3JheTouaXN0YW5CVUwuIGF2ZWMg dW4gYWNjZW50IHRvbmlxdWUgYW5nbGFpcywgLklTdGFuYnVsLiBhdmVjIHVuIGFjY2VudCB0b25p cXVlIEFtcmljYWluLCAuaXN0YW5idWwuIGF2ZWMgbCdhY2NlbnQgdG9uaXF1ZSBUdXJjLiBMZXMg bG9qYmFuaXN0ZXMgcHJmcmVudCBlbiBnbnJhbCBiYXNlciBsZXMgY21ldmxhIHN1ciBsYSBwcm9u b25jaWF0aW9uIGxvY2FsZSwgbWFpcyBjZSBuJ2VzdCBwYXMgdW5lIHJnbGUgYWJzb2x1ZS5+fgoj fn5ncmF5LGdyYXk6Lm1hRFJJRC5+fgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgotICN+fmdyYXks Z3JheTouc2FuLnNhbHZhRE9SLiAod2l0aCBTcGFuaXNoIHN0cmVzcykgJmx0Oy9zcGFuJmd0OyZs dDsvaHRtbCZndDt+fgorICN+fmdyYXksZ3JheTouc2FuLnNhbHZhRE9SLiAoYXZlYyBsJ2FjY2Vu dCB0b25pcXVlIGVzcGFnbm9sKX5+CiEhISFMb2piYW4gd29yZHMgYXMgbmFtZXMKQnkgbm93IHlv dSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwgaWYg eW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChpZiB5 b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVseSBu ZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xhdGUg dGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2 ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBlY3Qg dGhlICJ3YXNpY2h1IiB0byBiZSBhYmxlIHRvIHByb25vdW5jZSB3b3JkcyBpbiBMYWtvdGEsIENo ZXJva2VlIG9yIHdoYXRldmVyIQoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBi ZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKCntCT1goCgogIHRpdGxlPSJUcmF2YWlsIGVuIGNvdXJzIgoKKX0KCkNldHRlIHBh Z2UgZXN0IHVuZSB0cmFkdWN0aW9uIGVuIGNvdXJzIGRlICgod2F2ZWxlc3NvbnNjb250aW51ZWQp KSBlbiBmcmFuw6dhaXMuIExlIHN0YXR1dCBhY3R1ZWwgZXN0IHVuIGltcG9ydCBiw6p0ZSBldCBt w6ljaGFudCBkZSBsYSBwYWdlIGFuZ2xhaXNlLiBBdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxhIHRy YWR1Y3Rpb24sIGNldHRlIG5vdGUgc2VyYSBtaXNlIMOgIGpvdXIgcG91ciBpbmRpcXVlciBsJ8Op dGF0IGQnYXZhbmNlbWVudCBkZXMgbGXDp29ucy4gCgoKCsOJdGF0IGFjdHVlbMKgOiB0cmFkdWN0 aW9uIGRlIGxhIGxlw6dvbiB6w6lybyBlbnRhbcOpZS4KCntCT1h9IAoKCgohTGVzIGxlw6dvbnMg V2F2ZSBjb250aW51w6llc8KgOgoKISEhUsOpZGlnw6llcyBwYXIgbGEga2xha3UsIGF2ZWMgbCdh aWRlIGRlIGxvamJhbmlzdGVzIHZhcmnDqXMuIEJhc8OpZSBzdXIgbGUgdHJhdmFpbCBkZSBsYSAu a3JpYmFjci4gUHJpbnRlbXBzIDIwMTMuCgpUcmFkdWl0ZXMgZGUgbCdhbmdsYWlzIHZlcnMgbGUg ZnJhbsOnYWlzIHBhciBEYWVsZGlyLgoKCgohIUxlw6dvbnMgZGUgbG9qYmFuIOKAkyBsZcOnb24g esOpcm86IGF2YW50IHByb3BvcwoKQ2VzIGxlw6dvbnMgc29udCB1bmUgdGVudGF0aXZlIGRlIGTD qXZlbG9wcGVyIGxlcyDCq8KgTGXDp29ucyBkZSBHb29nbGUgV2F2ZcKgwrssIHVuIGV4Y2VsbGVu dCBkaWRhY3RpY2llbCBjb25zYWNyw6kgYXUgbG9qYmFuLCDDqWNyaXQgcGFyIGtyaWJhY3IsIHhh bGJvLCBldCBkJ2F1dHJlcywgcXVpLCBow6lsYXMsIG5lIGNvdXZyYWl0IHF1ZSBsZXMgcXVhdHJl cyBwcmVtaWVycyBjaGFwaXRyZXMgZHUgcHLDqXNlbnQgZGlkYWN0aWNpZWwuIElsIHRyYWl0ZSBk ZXMgcsOoZ2xlcyBsZXMgcGx1cyByw6ljZW50ZXMgZHUgbG9qYmFuLCBxdWkgbmUgc29udCBwYXMg Y291dmVydGVzIHBhciBkZSBwbHVzIGFuY2llbnMgY291cnMgdGVscyBxdWUgwqvCoFdoYXQgaXMg TG9qYmFuP8KgwrssIGV0IMKrwqBMb2piYW4gZm9yIEJlZ2lubmVyc8KgwrsuCgoKClNpIGxlIGxv amJhbiBlc3QgdG90YWxlbWVudCBub3V2ZWF1IHBvdXIgdm91cywgamUgdm91cyByZWNvbW1hbmRl IGQnw6ljb3V0ZXIgdG91dCBsZXMgZW5yZWdpc3RyZW1lbnQgZGUgbG9qYmFuIHBhcmzDqSBxdWUg dm91cyBwb3VycmV6IHRyb3V2ZXIsIHRhbnQgYXZhbnQgcXVlIHBlbmRhbnQgbGEgbGVjdHVyZSBk ZSBjZSBkaWRhY3RpY2llbCwgYWZpbiBkZSB2b3VzIGZhbWlsaWFyaXNlciBhdmVjIGxlcyBzb25z IGV0IGxlcyBtb3RzIGR1IGxhbmdhZ2UuIERlIHBsdXMsIGVzc2F5ZXogZGUgcHJvbm9uY2VyIGNl IHF1ZSB2b3VzIGxpc2V6IGF2ZWMgbCdhY2NlbnQgZHUgbG9qYmFuIHNpIHZvdXMgbGUgcG91dmV6 LiBDZWNpIHZvdXMgYWlkZXJhIMOgIHByb25vbmNlciBsZSBsb2piYW4uIAoKCgpFbiBzdWl2YW50 IGNlIGRpZGFjdGljaWVsLCBpbCBlc3QgY29uc2VpbGzDqSBkZSBwcmVuZHJlIGRlcyBwYXVzZXMg ZW50cmUgbGVzIGxlw6dvbnMgYWZpbiBkZSBkaWfDqXJlciBjZSBxdWUgdm91cyBhdmV6IGFwcHJp cy4gSidhaSBlc3NhecOpIGRlIGNvbnN0cnVpcmUgY2VzIGxlw6dvbnMgZHUgc2ltcGxlIGF1IGNv bXBsZXhlLCBldCBkJ2V4Y2x1cmUgdG91dCBtb3Qgb3UgY29uY2VwdCBxdWkgbidhIHBhcyDDqXTD qSBleHBsaXF1w6kgZGFucyBsZXMgbGXDp29uIHByw6ljw6lkZW50ZS4gVW5lIGZvaXMgZXhwbGlx dcOpcywgaWxzIHNvbnQgdXRpbGlzw6lzIGxpYnJlbWVudCB0b3V0IGF1IGxvbmcgZHUgcmVzdGUg ZHUgZGlkYWN0aWNpZWwuIEonZXhob3J0ZSBsZSBsZWN0ZXVyIMOgIG5lIHBhcyBmYWlyZSBsJ2lt cGFzc2Ugc3VyIHVuIGNvbnRlbnUgaW5jb21wcmlzwqA6IHNpIHZvdXMgYXZleiB1bmUgcXVlc3Rp b24gb3Ugw6p0ZXMgaW5jZXJ0YWluIGQndW5lIGNob3NlLCBuJ2F5ZXogcGFzIGRlIGNvbXBsZXhl IMOgIGRlbWFuZGVyIMOgIGxhIGNvbW11bmF1dMOpIGxvamJhbiwgcXVpIHBldXQgw6p0cmUgdHJv dXbDqWUgc3VyICNsb2piYW4gc3VyIGxlIHLDqXNlYXUgSVJDIEZyZWVub2RlIChlbiBhbmdsYWlz KSwgb3Ugc3VyIGxhIFtodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vbG9q YmFuLWZyfG1haWxpbmctbGlzdCBmcmFuY29waG9uZV0uIEVsbGUgc2VyYSBoZXVyZXVzZSBkJ2Fp ZGVyLgoKCgpEYW5zIGNlIGRpZGFjdGljaWVsLCBsZSB0ZXh0ZSBlbiBsb2piYW4gZXN0IMOpY3Jp dCBlbiAnJ2l0YWxpcXVlcycnLiBQbHVzIHRhcmQsIHF1YW5kIHV0aWxpc8OpcyBjb21tZXMgbW90 cyBlbXBydW50w6lzIGR1IGxvamJhbiBkYW5zIGRlcyBwaHJhc2VzIGZyYW7Dp2Fpc2VzLCBpbHMg bmUgc29udCBwYXMgbWFycXXDqXMuIExlcyByw6lwb25zZXMgZGVzIGV4ZXJjaWNlcyBzb250IGFm ZmljaMOpZXMgY29tbWUgdW5lIGJhcnJlIGdyaXNlLiBTw6lsZWN0aW9ubmV6IGNldHRlIGJhcnJl IHBvdXIgdm9pciBsZSB0ZXh0ZS4KCgoKRW5maW4sIGonYWkgYXV0YW50IHF1ZSBwb3NzaWJsZSBl c3NhecOpIGQndXRpbGlzZXIgbGVzIG1vdHMgZHUgbG9qYmFuIHBvdXIgZMOpc2lnbmVyIGxlcyBj b25zdHJ1Y3Rpb25zIGdyYW1tYXRpY2FsZXPCoDogJydzdW1rYSdpJycgYXUgbGlldSBkZSBwcm8t c3VtdGksICcnc3VtdGNpdGEnJyBhdSBsaWV1IGRlIG1vZGFsLCBldCAnJ2p1ZnJhJycgYXUgbGll dSBkJ8Opbm9uY8OpLiBDZWNpIHBhcmNlIHF1ZSBqJ2FpIGwnaW1wcmVzc2lvbiBxdWUgbGVzIG1v dHMgZnJhbsOnYWlzIHNvbnQgc291dmVudCBzb2l0IGFyYml0cmFpcmVzLCBhdXF1ZWwgY2FzIGls cyBzb250IGp1c3RlcyBkZXMgbW90cyBlbiBwbHVzIMOgIGFwcHJlbmRyZSwgc29pdCB0cm9tcGV1 cnMsIGF1cXVlbCBjYXMgaWxzIHNvbnQgcGlyZSBxdSdpbnV0aWxlcy4gRGFucyBsZXMgZGV1eCBj YXMsIHB1aXNxdWUgY2VzIG1vdHMgc29udCBzcMOpY2lmaXF1ZXMgw6AgbCdhcHByZW50aXNzYWdl IGR1IGxvamJhbiBkZSB0b3V0ZSBmYcOnb24sIGlsIG4neSBhIHBhcyBkZSByYWlzb24gcG91ciBl dXggZCdleGlzdGVyIGNvbW1lIGRlcyBtb3RzIGZyYW7Dp2FpcyBkaXN0aW5jdC4KCgoKISEhUHLD qWZhY2UuIFNvbnMKCkxhIHByZW1pw6hyZSBjaG9zZSDDoCBmYWlyZSBxdWFuZCB2b3VzIGFwcHJl bmV6IHVuZSBsYW5ndWUgw6l0cmFuZ8OocmUgZXN0IGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMg bGVzIHNvbnMgZHUgbGFuZ2FnZSBldCBsZXVyIMOpY3JpdHVyZS4gSWwgZW4gdmEgZGUgbcOqbWUg cG91ciBsZSBsb2piYW4uIEhldXJldXNlbWVudCwgbGVzIHNvbnMgZHUgbG9qYmFuIChfX3Bob27D qG1lc19fKSBzb250IHBsdXTDtHQgc2ltcGxlcy4KCgoKISEhIVZveWVsbGVzCgpJbCB5IGEgc2l4 IHZveWVsbGVzIGVuIGxvamJhbi4KCgoKfHwnJ2EnJyB8Y29tbWUgZGFucyDCq8KgcF9fYV9fcF9f YV9fwqDCuwoKJydlJycgfGNvbW1lIGRhbnMgwqsgYl9fZV9fcmdfX8OoX19yZSDCuwoKJydpJycg fGNvbW1lIGRhbnMgwqvCoG1hY2hfX2lfX25lwqDCuwoKJydvJycgfGNvbW1lIGRhbnMgwqsgX19v X19tw6lnYSDCuywgwqvCoF9fYXVfX3RfX29fX21vYmlsZcKgwrsKCicndScnIHxjb21tZSBkYW5z IMKrwqBfX291X1/CoMK7LCDCq8KgbF9fb3VfX3DCoMK7CgonJ3knJyB8Y29tbWUgZGFucyDCqyBt YXRfX2VfX2xvdCDCu3x8CgoKCkxhIHNpeGnDqG1lIHZveWVsbGUsICcneScnLCBlc3QgYXBwZWzD qWUgdW4gX19zY2h3YV9fIGVuIGxpbmd1aXN0aXF1ZS4gQydlc3QgdW4gwqvCoGXCoMK7IHRyw6hz IGzDqWdlciwgbm9uIGFjY2VudHXDqSwganVzdGUgbWlsaWV1IGVudHJlIGxlIMKrwqBlwqDCuyBt YXJzZWlsbGFpcyAowqsgbWF0X19ldV9fbG90IMK7KSBldCBsZSDCq8KgZcKgwrsgbXVldCBwYXJp c2llbiAowqsgbWF0J2xvdCDCuykuCgoKCkRldXggdm95ZWxsZXMgZW5zZW1ibGUgc29udCBwcm9u b25jw6llcyBjb21tZSB1biBzb24gKF9fZGlwaHRvbmd1ZV9fKS4gUGFyIGV4ZW1wbGXCoDoKCgoK fHwnJ2FpJycgfGNvbW1lIGRhbnMgwqvCoGNhbl9fYWlfX2xsZcKgwrsKCicnYXUnJyB8Y29tbWUg ZGFucyDCq8KgY19fYW91X190Y2hvdWPCoMK7CgonJ2VpJycgfGNvbW1lIGRhbnMgwqvCoGFiX19l aV9fbGxlwqDCuwoKJydvaScnIHxjb21tZSBkYW5zIMKrwqBnX19veV9fwqDCuwoKJydpYScnIHxj b21tZSBkYW5zIMKrwqBwX19pYV9fbm/CoMK7CgonJ2llJycgfGNvbW1lIGRhbnMgwqvCoGhfX2ll X19ywqDCuwoKJydpdScnIHxjb21tZSBkYW5zIMKrwqBjYV9faWxsb3VfX8KgwrsKCicndWEnJyB8 Y29tbWUgZGFucyDCq8KgcV9fdW9pX1/CoMK7CgonJ3VlJycgfGNvbW1lIGRhbnMgwqvCoGJyX19v dWVfX3R0ZcKgwrsKCicndW8nJyB8Y29tbWUgZGFucyDCq8KgZHJfX291b19fdMKgwrsKCicndWkn JyB8Y29tbWUgZGFucyDCq8KgX19vdWlfX8KgwrsgfHwKCgoKTGVzIHZveWVsbGVzIGRvdWJsw6ll cyBzb250IHJhcmVzLiBMZXMgc2V1bHMgZXhlbXBsZXMgc29udCAnJ2lpJycsIHByb25vbmPDqSBj b21tZSBkYW5zIMKrwqBmYV9faWxsaV9fwqDCuywgZXQgJyd1dScnLCBwcm9ub25jw6kgY29tbWUg ZGFucyDCq8KgX19PdV9faF9fb3VfX8KgIcKgwrsgKHF1YW5kIG9uIGFwcGVsbGUgcXVlbHF1J3Vu LCBtYWlzIHBhcyBjb21tZSBkYW5zIMKrwqBIb3Vob3XCoMK7wqA6IGRhbnMgbGUgcHJlbWllciBl eGVtcGxlLCBsZSAnJ2gnJyBlc3QgbXVldCwgZGFucyBsZSBkZXV4acOobWUsIGxlICcnaCcnIGVz dCBhc3BpcsOpIOKAkyBjZSBxdWkgc2UgdHJhbnNjcmlyYWl0IGVuIGxvamJhbiAnJ3UndScnKQoK CgohISEhQ29uc29ubmVzCgpMYSBwbHVwYXJ0IGRlcyBjb25zb25uZXMgc29udCBsZXMgbcOqbWVz IHF1J2VuIGZyYW7Dp2Fpcywgw6AgcXVlbHF1ZSBleGNlcHRpb25zIHByw6p0wqA6CgoKCnx8Jydn JycgfHNlIHByb25vbmNlIHRvdWpvdXJzIGNvbW1lIGRhbnMgwqvCoF9fZ19fw6J0ZWF1wqDCuywg amFtYWlzIGNvbW1lIGRhbnMgwqvCoF9fZ19fZW5vdXjCoMK7CgonJ2MnJyB8c2UgcHJvbm9uY2Ug JydjaCcnLCBjb21tZSBkYW5zIMKrwqBfX2NoX19hdGVhdcKgwrsKCicneCcnIHxzZSBwcm9ub25j ZSBjb21tZSBkYW5zIGwnYWxsZW1hbmQgwqvCoEJhX19jaF9fwqDCuywgbCdlc3BhZ25vbCDCq8Kg X19KX19vc2XCoMK7IG91IGwnYXJhYmUgwqvCoF9fS2hfX2FsZWTCoMK7CgonJ3InJyB8YWNjZXB0 ZSBiZWF1Y291cCBkZSBwcm9ub25jaWF0aW9ucyAow6AgbGEgZnJhbsOnYWlzZSwgw6AgbCdhbmds YWlzZeKApikgbWFpcyBsYSBwcm9ub25jaWF0aW9uIGl0YWxpZW5uZSAoJydyJycgcm91bMOpKSBl c3QgcHLDqWbDqXLDqWV8fAoKCgpMZSBsb2piYW4gbid1dGlsaXNlIHBhcyBsZXMgY2FyYWN0w6hy ZXMgwqvCoEjCoMK7LCDCq8KgUcKgwrsgb3UgwqvCoFfCoMK7LCBldCBpbCBuJ3kgYSBwYXMgZGUg Y2FyYWN0w6hyZXMgYWNjZW50dcOpcyBlbiBsb2piYW4uCgoKCiEhISFDYXJhY3TDqHJlcyBzcMOp Y2lhdXgKCgoKTGUgbG9qYmFuIG5lIHJlcXVpw6hyZSBhdWN1bmUgcG9uY3R1YXRpb24sIG1haXMg Y2VydGFpbiBjYXJhY3TDqHJlcywgaGFiaXR1ZWxsZW1lbnQgdXRpbGlzw6lzIGNvbW1lIHBvbmN0 dWF0aW9uIGRhbnMgZCdhdXRyZSBsYW5ndWVzLCBhZmZlY3RlbnQgbGEgbWFuacOocmUgZG9udCBs ZSBsb2piYW4gZXN0IHByb25vbmPDqS4KCgoKTGUgc2V1bCBkZSBjZXMgY2FyYWN0w6hyZXMgcXVp IHNvaXQgb2JsaWdhdG9pcmUgZW4gbG9qYmFuIGVzdCBsJ2Fwb3N0cm9waGUuIEVuIGZhaXQsIGwn YXBvc3Ryb3BoZSBlc3QgY29uc2lkw6lyw6llIGNvbW1lIHVuZSBsZXR0cmUgZHUgbG9qYmFuLiBV bmUgYXBvc3Ryb3BoZSBzw6lwYXJlIGRldXggdm95ZWxsZXMsIGVtcMOqY2hhbnQgY2VsbGVzLWNp IGQnw6p0cmUgcHJvbm9uY8OpZXMgZW5zZW1ibGUgY29tbWUgdW5lIF9fZGlwaHRvbmd1ZV9fLiBF bGxlIGVzdCBlbGxlIG3Dqm1lIHByb25vbmPDqWUgY29tbWUgdW4gwqvCoGjCoMK7LiBQYXIgZXhl bXBsZSwgwqvCoCcndWknJ8KgwrsgZXN0IG5vcm1hbGVtZW50IHByb25vbmPDqSBjb21tZSDCq8Kg X19vdWlfX8KgwrssIG1haXMgwqvCoCcndSdpJyfCoMK7IGVzdCBwcm9ub25jw6kgY29tbWUgwqvC oF9fb3VoaV9fwqDCuy4KCgoKVW4gcG9pbnQgZXN0IHVuZSBjb3VydGUgcGF1c2Ugw6l2aXRhbnQg w6AgZGV1eCBtb3RzIGRlIHNlIGNvbmZvbmRyZSBsJ3VuIGRhbnMgbCdhdXRyZS4gTGVzIHLDqGds ZXMgZHUgbG9qYmFuIHJlbmRlbnQgZmFjaWxlIGxhIGZ1c2lvbiBkZSBkZXV4IG1vdHMgcXVhbmQg bGUgc2Vjb25kIGNvbW1lbmNlIHBhciB1bmUgdm95ZWxsZSwgZXQgZG9uYywgcGFyIGNvbnZlbnRp b24sIGNoYXF1ZSBtb3QgY29tbWVuw6dhbnQgcGFyIHVuZSB2b3llbGxlIGVzdCBwcsOpY8OpZMOp IHBhciB1biBwb2ludC4KCgoKTGVzIHZpcmd1bGVzIHNvbnQgcmFyZSBlbiBsb2piYW4sIG1haXMg cGV1dmVudCDDqnRyZSB1dGlsaXPDqWVzIHBvdXIgZW1ww6pjaGVyIGRldXggdm95ZWxsZXMgZGUg c2UgZm9uZHJlIGwndW5lIGRhbnMgbCdhdXRyZSBxdWFuZCB2b3VzIG5lIHZvdWxleiBwYXMgdXRp bGlzZXIgZCdhcG9zdHJvcGhlLCBjZSBxdWkgYWpvdXRlcmFpcyB1biDCq8KgaMKgwrsgZW50cmUg ZWxsZXMuIEF1Y3VuIG1vdCBsb2piYW4gbidhIGRlIHZpcmd1bGUsIG1haXMgZWxsZSBlc3QgcGFy Zm9pcyB1dGlsaXPDqWUgZGFucyBsJ8OpY3JpdHVyZSBkZXMgbm9tcyBkJ2F1dHJlcyBsYW5ndWVz LiBQYXIgZXhlbXBsZSwgwqvCoCcncGksRVIuJyfCoMK7IChQaWVycmUpLCBhdSBsaWV1IGRlIMKr wqAnJ3BpZXIuJyfCoMK7IChQLXllcnIpLCDCq8KgJydwaS5FUi4nJ8KgwrsgKFBpOyBFaHIpLCBv dSDCq8KgJydwaSdFUicnwqDCuyAoUGloZXJyKS4KCgoKTGVzIGxldHRyZXMgY2FwaXRhbGVzIG5l IHNvbnQgbm9ybWFsZW1lbnQgcGFzIHV0aWxpc8OpZXMgZW4gbG9qYmFuLiBOb3VzIGxlcyB1dGls aXNvbnMgZGFucyBkZXMgbW90cyBub24gbG9qYmFuIChjb21tZSDCq8KgUGllcnJlwqDCuyksIHF1 YW5kIGwnYWNjZW50IHRvbmlxdWUgZCd1biBtb3QgZXN0IGRpZmbDqXJlbnQgZGUgY2VsdWkgZGUg bGEgbm9ybWUgbG9qYmFuLiBMYSBub3JtZSBjb25zaXN0ZSDDoCBtZXR0cmUgdW4gYWNjZW50IHRv bmlxdWUgc3VyIGwnYXZhbnQgZGVybmnDqHJlIHN5bGxhYmUuIFBhciBleGVtcGxlLCAnJ2t1am1p a2NlJycgKGluZmlybWnDqHJlKSwgZXN0IMKrwqBrdWpfX01JS19fY2XCoMK7LCBldCBub24gcGFz IMKrwqBfX0tVSl9fbWlrY2XCoMK7LiBMZSBub20gwqvCoEp1bGlldHRlwqDCuyBzJ8OpY3JpcmFp dCDCq8KgJydqdUxJRVQuJyfCoMK7IHNpIHByb25vbmPDqSBjb21tZSBlbiBmcmFuw6dhaXMsIG1h aXMgwqvCoCcnREpVbGksZXQuJyfCoMK7IHNpIHByb25vbmPDqSBjb21tZSBlbiBhbmdsYWlzLgoK ISEhIUFscGhhYmV0CgoKCkRhbnMgbGEgcGx1cGFydCBkZXMgbWFudWVscywgbG9ycyBkZSBsJ2Fw cHJlbnRpc3NhZ2UgZCd1bmUgbGFuZ3VlLCB2b3VzIGFwcHJlbmV6IGwnYWxwaGFiZXQgZHUgbGFu Z2FnZSwgZXQgc2EgcHJvbm9uY2lhdGlvbi4gTGVzIGxldHRyZXMgKCcnbGVyZnUnJykgw6l0YW50 IHBsdXMgaW1wb3J0YW50ZXMgZW4gbG9qYmFuIHF1J8OgIGwnYWNjb3V0dW3DqWUsIGF1dGFudCBh cHByZW5kcmUgbGV1ciBub21zIHJhcGlkZW1lbnQuCgoKCkxlcyBjb25zb25uZXMgc29udCBzaW1w bGVzwqA6IGxlIG5vbSBkJ3VuZSBjb25zb25uZSBlc3QgY2V0dGUgbGV0dHJlLCBzdWl2aWUgZGUg wqvCoHnCoMK7LiBBaW5zaSwgbGVzIGNvbnNvbm5lcyBkdSBsb2piYW4sIMKrwqBiwqDCuywgwqvC oGPCoMK7LCDCq8KgZMKgwrssIMKrwqBmwqDCuywgwqvCoGfCoMK74oCmIHNvbnQgYXBwZWzDqWVz IMKrwqAnJ2J5LicnwqDCuywgwqvCoCcnY3kuJyfCoMK7LCDCq8KgJydkeS4nJ8KgwrssIMKrwqAn J2Z5LicnwqDCuywgwqvCoCcnZ3kuJyfCoMK74oCmIGVuIGxvamJhbiAoZW4gdXRpbGlzYW50IHVu IHBvaW50LCBjb21tZSBkw6ljcml0IGRhbnMgbGEgcGFydGllIHByw6ljw6lkZW50ZSkuCgoKCkxl cyB2b3llbGxlcyBfX3NlcmFpZW50X18gYXBwZWzDqWVzIMKrwqAnJy5heScnwqDCuywgwqvCoCcn LmV5JyfCoMK7LCDCq8KgJycuaXknJ8KgwrvigKYsIHNpIGMnw6l0YWl0IG1vaW5zIGRpZmZpY2ls ZSDDoCBwcm9ub25jZXIuIEF1IGxpZXUgZGUgw6dhLCBlbGxlcyBzb250IG5vbW3DqWUgZW4gc3Vp dmFudCBsZSBzb24gZGUgbGEgdm95ZWxsZSBwYXIgbGUgbW90ICcnYnUnJywgcXVpIHNpZ25pZmll IHNpbXBsZW1lbnQgwqvCoGxldHRyZcKgwrsuIEFpbnNpLCBsZXMgdm95ZWxsZXMgZHUgbG9qYmFu IHNvbnTCoDogIMKrwqAnJy5hYnUnJ8KgwrssIMKrwqAnJy5lYnUnJ8KgwrssIMKrwqAnJy5pYnUn J8KgwrssIMKrICcnLm9idScnIMK7LCDCq8KgJycudWJ1JyfCoMK7LCDCq8KgJycueWJ1JyfCoMK7 LgoKCgpMJ2Fwb3N0cm9waGUgZXN0IGNvbnNpZMOpcsOpZSBjb21tZSB1bmUgdnJhaSBsZXR0cmUg ZW4gbG9qYmFuLCBldCBlc3Qgbm9tbcOpZSDCq8KgJycueSd5LicnwqDCuyAowqvCoGV1aGV1wqDC u+KApiBVbiBwZXUgY29tbWUgdW5lIHBldGl0ZSB0b3V4KS4KCgoKTGUgbG9qYmFuIGEgdW4gbW95 ZW4gZGUgc2UgcsOpZsOpcmVyIMOgIGxhIHBsdXBhcnQgZGVzIGxldHRyZXMgYXV4cXVlbGxlcyB2 b3VzIHBvdXZleiBwZW5zZXIuIFNpIHZvdXMgZMOpc2lyZXogZMOocyBtYWludGVuYW50IMOpcGVs ZXIgdm90cmUgbm9tIGVuIGxvamJhbiwgZXQgcXVlIGNlbHVpIGNpIHBvc3PDqGRlIHVuIMKrwqBI wqDCuywgwqvCoFHCoMK7IG91IMKrwqBXwqDCuywgdm91cyBwb3V2ZXogdXRpbGlzZXIgwqsgJycu eSd5LmJ1JycgwrssIMKrICcna3kuYnUnJyDCuyBldCDCqyAnJ3Z5LmJ1JycgwrsuIEFpbnNpLCDC q8KgU2Nod2FyemVuZWdnZXLCoMK7IGVzdCDDqXBlbMOpIGVuIGxvamJhbsKgOgoKJydzeS4gY3ku IC55J3lidSB2eWJ1LiAuYWJ1IHJ5LiB6eS4gLmVidSBueS4gLmVidSBneS4gZ3kuIC5lYnUgcnku JycKCgoKRXQgw6lwZWxlciBfX8OnYV9fIGVzdCB1bmUgdMOiY2hlIGRpZ25lIGR1IFRlcm1pbmF0 b3LCoCEKCgoKTWFpbnRlbmFudCwgw6lwZWxleiB2b3RyZSBub20gZW4gbG9qYmFuIChsZSBjYXMg w6ljaMOpYW50LCBkZSBsYSBtYW5pw6hyZSBsYSBwbHVzIHByb2NoZSBxdWUgdm91cyBwb3V2ZXog YXZlYyBsZXMgMjYgbGV0dHJlcyBxdWUgbm91cyB2ZW5vbnMgZCdhcHByZW5kcmUsIGV0IGwnYXBv c3Ryb3BoZSkuCgohISEhIFByb25vbmNpYXRpb24gwqvCoGNvcnJlY3RlwqDCuwoKCgonJ0NldHRl IHBhZ2UgZXN0IMOgIGxhIGZvaXMgdW5lIHRyYWR1Y3Rpb24gZGUgbGEgdmVyc2lvbiBhbmdsYWlz ZSwgZXQgdW5lIGFkYXB0YXRpb24gYXV4IHByb2Jsw6htZXMgcmVuY29udHLDqXMgcGFyIGxlcyBm cmFuY29waG9uZXMgcGx1dG90IHF1ZSBwYXIgbGVzIGFuZ2xvcGhvbmVzLiBQYXIgbWFucXVlIGQn ZXhww6lyaWVuY2UgZGFucyBsJ2Vuc2VpZ25lbWVudCBkdSBsb2piYW4gw6AgZGVzIGZyYW5jb3Bo b25lcywgY2V0dGUgcGFydGllIHBldXQgZG9uYyBtYW5xdWVyIGRlIGNvbnNlaWxzIG91IHJlc3Rl ciBpbmFkYXB0w6llLCB2b2lyZSBjb25mdXNlLiBOJ2jDqXNpdGV6IHBhcyDDoCBkZW1hbmRlciBz dXIgbGEgW2h0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby9sb2piYW4tZnJ8 bWFpbGluZy1saXN0XSBmcmFuY29waG9uZSBzaSB2b3VzIGF2ZXogdW4gcHJvYmzDqG1lIOKAkyBj ZWNpIHBvdXJyYWl0IG5vdXMgYWlkZXIgw6AgYW3DqWxpb3JlciBjZXR0ZSBwYWdlwqAhJycKCgoK Vm91cyBuJ2F2ZXogcGFzIMOgIGF2b2lyIHVuZSBwcm9ub25jaWF0aW9uIHByw6ljaXNlIGR1IGxv amJhbiwgY2FyIGNoYXF1ZSBwaG9uw6htZSBlc3QgZGlzdHJpYnXDqSBkZSBtYW5pw6hyZSDDoCBj ZSBxdSdpbCBzb2l0IGRpZmZpY2lsZSBkZSBjb25mb25kcmUgZGV1eCBzb25zLiBDZWNpIHNpZ25p ZmllIHF1ZSwgcG91ciB1bmUgbGV0dHJlLCBwbHV0w7R0IHF1J3VuZSBwcm9ub25jaWF0aW9uIMKr wqBjb3JyZWN0ZcKgwrssIGlsIHkgYSB1bmUgZ2FtbWUgZGUgc29ucyBhY2NlcHTDqXMg4oCTIGxl IHByaW5jaXBlIGfDqW7DqXJhbCDDqXRhbnQgcXUndW4gc29uIGVzdCBib24gdGFudCBxdSdpbCBu ZSByZXNzZW1ibGUgcGFzIHRyb3Agw6AgdW5lIGF1dHJlIGxldHRyZS4gUGFyIGV4ZW1wbGUsIGxl IMKrwqBywqDCuyBsb2piYW4gcGV1dCDDqnRyZSBwcm9ub25jw6kgY29tbWUgZW4gYW5nbGFpcywg aXRhbGllbiwgZnJhbsOnYWlz4oCmIAoKCgpCaWVuIHF1ZSBsZSDCq8KgcsKgwrsgZnJhbsOnYWlz IHNvaXQgY29uc2lkw6lyw6kgY29tbWUgdW4gwqvCoCcncicnwqDCuywgY2VsdWktY2kgZXN0IGF1 c3NpIHByb2NoZSBkdSDCq8KgJyd4JyfCoMK7IGxvamJhbi4gU2kgdm91cyBkw6lzaXJleiBjb21w cmVuZHJlIGxhIGRpZmbDqXJlbmNlIGVudHJlIGNlcyBkZXV4IHNvbnMsIG9ic2VydmV6IGxhIGRp ZmbDqXJlbmNlIGVudHJlIGxlIHNvbiDCq8KgJydkJyfCoMK7IGV0IGxlIHNvbiDCq8KgJyd0JyfC oMK7wqA6IGwndW4gZXN0IHZvY2FsaXPDqSwgbCdhdXRyZSBub24uIExhIG3Dqm1lIGRpc3RpbmN0 aW9uIHMnb3DDqHJlIGVudHJlIGxlIMKrwqAnJ3InJ8KgwrsgZXQgbGUgwqvCoCcneCcnwqDCuy4g UXVvaSBxdSdpbCBlbiBzb2l0LCBpbCBlc3QgY29uc2VpbGzDqSBkJ29wdGVyIHBvdXIgdW4gwqvC oHLCoMK7IG1vaW5zIGFtYmlndS4gQ29uY2VybmFudCBsZSDCq8KgcsKgwrsgcm91bMOpLCBkZXV4 IHByb25vbmNpYXRpb25zIHNvbnQgcG9zc2libGXCoDogbGUgwqvCoHLCoMK7IGVzcGFnbm9sLCBz aXR1w6kgw6AgbCdhdmFudCBkdSBwYWxhaXMsIGV0IGxlIMKrwqBywqDCuyBndXR1cmFsLCBkb250 IHVuIHBhcmZhaXMgZXhlbXBsZSBzZSB0cm91dmUgZW4gRWRpdCBQaWFmLiBMZSBsb2piYW4gZXN0 IGJlYXVjb3VwIG1vaW5zIHN0cmljdCBxdWUgbCdlc3BhZ25vbCBxdWFuZCDDoCBsYSBwcm9ub25j aWF0aW9uIGRlIGNldHRlIGxldHRyZSwgZXQgdm91cyBwb3V2ZXogZG9uYyBjaG9pc2lyIGNlbGxl IHF1aSB2b3VzIHBvc2UgbGUgbW9pbnMgZGUgc291Y2lzLgoKCgpGYWl0ZXMgYXVzc2kgYXR0ZW50 aW9uIMOgIGJpZW4gYXBwdXllciBsZXMgdm95ZWxsZXMg4oCTIG1pcyDDoCBwYXJ0IGxlIMKrwqAn J3knJ8KgwrsgcXVpICcnZG9pdCcnIMOqdHJlIGNvdXJ0LiBMYSByYWlzb24gZW4gZXN0IHF1ZSBs ZXMgdm95ZWxsZXMgwqvCoG5vbi1sb2piYW7CoMK7IHBldXZlbnQgw6p0cmUgdXRpbGlzw6llcyBw b3VyIHPDqXBhcmVyIGxlcyBjb25zb25uZXMgcGFyIGxlcyBwZXJzb25uZXMgcXVpIG4nYXJyaXZl bnQgcGFzIMOgIGxlcyBwcm9ub25jZXIuIFBhciBleGVtcGxlLCBzaSB2b3VzIGF2ZXogdW4gcHJv YmzDqG1lIGF2ZWMgbGUgwqvCoCcnemQnJ8KgwrsgZGUgwqvCoCcnemRhbmknJ8KgwrsgKG1haXNv biksIHZvdXMgcG91dmV6IGRpcmUgwqvCoHrJqmRhbmnCoMK7LCBhdmVjIHVuIMKrwqDJqsKgwrsg dHLDqHMgY291cnQsIG1haXMgbGUgwqvCoGnCoMK7IGZpbmFsIGxvbmcuIAoKISEhIU5vbXMgbG9q YmFuIChjbWV2bGEpCgoKCkRhbnMgbGVzIGZpbG1zIG/DuSBsZXMgcHJvdGFnb25pc3RlcyBuJ29u dCBwYXMgZGUgbGFuZ3VlIGNvbW11bmUsIGlscyBjb21tZW5jZW50IHNvdXZlbnQgcGFyIGRpcmUg ZGVzIGNob3NlcyB0ZWxsZXMgcXVlIMKrwqBNb2kgVGFyemFuwqDCuywgY2UgcXVpIGVzdCB1bmUg bWFuacOocmUgY29tbWUgdW5lIGF1dHJlIGRlIGTDqWJ1dGVyIGVuIGxvamJhbi4gRXQgZG9uY8Kg OgoKCgpfXycnbWknZSAucm9iaW4uJydfXwoKwqvCoEplLXN1aXMtbm9tbcOpIFJvYmluwqDCuwoK wqvCoEplIHN1aXMgUm9iaW7CoMK7CgoKCicnbWknZScnIGVzdCBhcHBhcmVudMOpIMOgICcnbWkn JywgcXVpIHNpZ25pZmllIMKrwqBtb2nCoMK7LCDCq8KgamXCoMK74oCmIEMnZXN0IHVuIGJvbiBl eGVtcGxlIGRlIGwnYXBvc3Ryb3BlIHPDqXBhcmFudCBkZXV4IHZveWVsbGVzLCBwcm9ub25jw6kg wqvCoG1pIGhlaMKgwrsuIAoKCgpDZSBSb2JpbiBlc3QgY2hhbmNldXjCoDogc29uIG5vbSBzZSB0 cmFuc2NyaXQgZGlyZWN0ZW1lbnQgZW4gbG9qYmFuLCBzYW5zIGNoYW5nZW1lbnQuIElsIHkgYSB0 b3V0ZWZvaXMgZGVzIHLDqGdsZXMgcG91ciBsZXMgbm9tcyBsb2piYW4sIGNlIHF1aSBzaWduaWZp ZSBxdWUgY2VydGFpbnMgbm9tcyBkb2l2ZW50IMOqdHJlcyDCq8KgbG9qYmFuaXPDqXPCoMK7LiBD ZWxhIHBldXQgc2VtYmxlciDDqXRyYW5nZS4gQXByw6hzIHRvdXQsIHVuIG5vbSBlc3QgdW4gbm9t 4oCmIEVuIGZhaXQsIHRvdXQgbGVzIGxhbmdhZ2VzIGZvbnQgY2UgZ2VucmUgZCdhZGFwYXRpb24g w6AgdW4gY2VydGFpbiBuaXZlYXUuIFBhciBleGVtcGxlLCBsZXMgYW5nbGFpcyB0ZW5kZW50IMOg IHByb25vbmNlciDCq8KgSm9zZcKgwrsgY29tbWUgwqvCoEhvemF5wqDCuywgZXQgwqvCoE1hcmdh cmV0wqDCuyBkZXZpZW50IMKrwqBNYWdlbGl0YcKgwrsgZW4gY2hpbm9pcy4KCgoKQ2VydGFpbnMg c29ucyBuJ2V4aXN0ZW50IHBhcyBkYW5zIGNlcnRhaW5zIGxhbmdhZ2VzLiBBaW5zaSwgbGEgcHJl bWnDqHJlIGNob3NlIMOgIGZhaXJlIGVzdCBkZSByw6nDqWNyaXJlIHZvdHJlIG5vbSBkZSBtYW5p w6hyZSDDoCBjZSBxdSdpbCBuZSBjb250aWVubmUgcXVlIGRlcyBzb25zIGxvamJhbiwgZXQgc29p dCDDqWNyaXQgY29tbWUgdW4gbW90IGxvamJhbi4KCgoKX19Ob3RlwqA6X18gTGEgcXVlc3Rpb24g aWNpIGVzdMKgOiBxdWVsbGUgdmVyc2lvbiBkZXMgc29ucyBhbGxleiB2b3VzIHV0aWxpc2VywqA/ IEVuIGFuZ2xhaXMsIHBhciBleGVtcGxlLCBsZXMgdm95ZWxsZXMgYW5nbGFpc2VzIGV0IGFtw6ly aWNhaW5lcyBzb250IGFzc2V6IGRpZmbDqXJlbnRlcy4gTGUgwqvCoFJvYmluwqDCuyBhbmdsYWlz IHBldXQgw6p0cmUgcmFpc29ubmFibGVtZW50IGFwcHJveGltw6kgcGFyIMKrwqAnJy5yb2Jpbi4n J8KgwrssIG1haXMgbGEgdmVyc2lvbiBhbcOpcmljYWluZSBlc3QgcGx1cyBwcm9jaGUgZGUgwqvC oCcnLnJhYnluLicnwqDCuyBvdSDCq8KgJycucmFiLG4uJyfCoMK7LiBFdCDDoCBsJ2ludMOpcmll dXIgbcOqbWUgZGUgbCdhbmdsZXRlcnJlIG91IGRlcyDDqXRhdHMgdW5pcyBkJ2Ftw6lyaXF1ZSwg aWwgcGV1dCB5IGF2b2lyIG5vbWJyZSB2YXJpYXRpb25zLiBBdXNzaSBkZXZyaWV6IHZvdXMgcHJl bmRyZSBsZXMgdHJhbnNsaXRlcmF0aW9ucyBjaS1kZXNzdXMgYXZlYyBkZXMgcGluY2V0dGVzLgoK CgpQcmVub25zIGxlIG5vbSDCq8KgU3VzYW7CoMK7LCBlbiBhbmdsYWlzLiBMZXMgZGV1eCDCq8Kg c8Kgwrsgc29udCBwcm9ub25jw6lzIGRpZmbDqXJlbW1lbnQg4oCTwqBsZSBzZWNvbmQgw6l0YW50 IGVuIGZhaXQgdW4gwqvCoHrCoMK7wqDigJMgZXQgbGUgwqvCoGHCoMK7IG4nZXN0IHBhcyB2cmFp bWVudCB1biDCq8KgYcKgwrssIG1haXMgbGUgwqvCoHNjaHdhwqDCuyBkb250IG5vdXMgYXZvbnMg cGFybMOpIHBsdXMgaGF1dC4gQWluc2ksIMKrwqBTdXNhbsKgwrsgZGV2aWVudCwgZW4gbG9qYmFu LCDCq8KgJycuc3V6eW4uJyfCoMK7LgoKCgpWb3VzIGF2ZXogcGV1dC3DqnRyZSBub3TDqSBsZXMg ZGV1eCBwb2ludHMgcXVpIGFwcGFyYWlzc2VudCBkYW5zIGNoYXF1ZSBub20gbG9qYmFu4oCmIENl dXgtY2kgc29udCBuw6ljZXNzYWlyZXMgY2FyIHNhbnMgcGF1c2UsIGlsIHBldXQgw6p0cmUgZGlm ZmljaWxlIGRlIHNhdm9pciBxdWFuZCBsZSBtb3QgcHLDqWPDqWRlbnQgZmluaXQsIGV0IHF1YW5k IGxlIG1vdCBzdWl2YW50IGTDqWJ1dGUuCgoKClZvdXMgZGV2cmlleiBhdXNzaSBwbGFjZXIgdW4g cG9pbnQgZW50cmUgbGUgbm9tIGV0IGxlIHByw6lub20gZCd1bmUgcGVyc29ubmUgKGJpZW4gcXVl IGNlIG5lIHNvaXQgcGFzIG9ibGlnYXRvaXJlKS4gQWluc2ksIMKrwqBKaW0gSm9uZXPCoMK7IGRl dmllbnQgwqvCoCcnLmRqaW0uZGpvbnouJyfCoMK7LgoKCgpVbmUgcsOoZ2xlIGltcG9ydGFudGUg ZGFucyBsYSBsb2piYW5pc2F0aW9uIGRlcyBub21zIGVzdCBxdWUgbGEgZGVybmnDqHJlIGxldHRy ZSBkJ3VuICcnY21ldmxhJycgKG5vbSBsb2piYW4pIGRvaXQgdG91am91cnMgw6p0cmUgdW5lIGNv bnNvbm5lLiBFbmNvcmUsIGNlY2kgYSBwb3VyIGJ1dCBkJ8Opdml0ZXIgbGEgY29uZnVzaW9uIHF1 YW50IMOgIHNhdm9pciBvw7kgZXN0IGxhIGZpbiBkJ3VuIG1vdCwgZXQgc2kgdW4gbW90IGVzdCBv dSBuJ2VzdCBwYXMgdW4gbm9tICh0b3V0IGxlcyBhdXRyZXMgbW90IGxvamJhbiBmaW5pc3NhbnQg cGFyIHVuZSB2b3llbGxlKS4gRGFucyBsZSBjYXMgb8O5IHVuIG1vdCBmaW5pdCBwYXIgdW5lIHZv eWVsbGUsIMKrwqAnJ3MnJ8KgwrsgZXN0IHNvdXZlbnQgYWpvdXTDqSDDoCBsYSBmaW4uIEFpbnNp LCDCq8KgTWFyecKgwrsgZGV2aWVudCBlbiBsb2piYW4gwqvCoCcnLm1lcmlzLicnwqDCuywgwqvC oEpvZcKgwrsgZGV2aWVudCDCq8KgJycuZGpvcy4nJ8KgwrssIGV0IGFpbnNpIGRlIHN1aXRlLiBV bmUgYWx0ZXJuYXRpdmUgY29uc2lzdGUgw6Agc3VwcHJpbWVyIGxhIGRlcm5pw6hyZSB2b3llbGxl LCDCq8KgTWFyecKgwrsgZGV2ZW5hbnQgwqvCoCcnLm1lci4nJ8Kgwrsgb3UgwqvCoCcnLm1laXIu JyfCoMK7LgoKCgpVbmUgZGVybmnDqHJlIGNob3NlwqA6IGNvbW1lIG5vdXMgbCdhdm9ucyB2dSwg bCdhY2NlbnQgdG9uaXF1ZSBkZXMgbW90cyBsb2piYW4gZXN0IHNpdHXDqSBzdXIgbCdhdmFudCBk ZXJuacOocmUgc3lsbGFiZS4gU2kgbCdhY2NlbnQgdG9uaXF1ZSBkJ3VuIG5vbSBlc3Qgc2l0dcOp IGFpbGxldXJzLCBkZXMgbGV0dHJlcyBtYWp1c2N1bGVzIHNvbnQgdXRpbGlzw6llcy4gQ2VjaSBz aWduaWZpZSBxdWUgbGUgbm9tIMKrwqBSb2JlcnTCoMK7IHNlcmEgw6ljcml0IGRpZmbDqXJlbW1l bnQgc3VpdmFudCBxdSdpbCBzb2l0IGFuZ2xhaXMgb3UgZnJhbsOnYWlzwqA6IMKrwqAnJy5yb2J5 dC4nJ8KgwrsgZW4gYW5nbGFpcywgwqsgJycucmFiLHJ0LicnIMK7IGVuIGFtw6lyaWNhaW4gZXQg IMKrICcnLnJvQkVSLicnIMK7IGVuIGZyYW7Dp2Fpcy4KCgoKQWZpbiBkZSB2b3VzIGRvbm5leiB1 bmUgaWTDqWUgZGUgY29tbWVudCB0b3V0IGNlY2kgZm9uY3Rpb25uZSwgdm9pY2kgdW5lIGxpc3Rl IGRlIG5vbXMgZGUgcXVlbHF1ZSBwZXJzb25uYWdlcyBjw6lsw6hicmVzIGRhbnMgbGV1ciBwcm9w cmUgbGFuZ3VlIGV0IGVuIGxvamJhbi4KCgoKfHxfX0ZyYW7Dp2Fpc19fCgpOYXBvbGVvbiBCb25h cGFydGUgfCcnLm5hcG9sZSxPTi5ib25hUEFSVC4nJwoKSnVsaWV0dGUgQmlub2NoZSB8JycuanVM SUVULmJpbk9DLicnIHx8Cgp8fF9fQW5nbGFpc19fCgpNYXJnYXJldCBUaGF0Y2hlciB8JycubWFn cnl0LnRhdGN5ci4nJwoKTWljayBKYWdnZXIgfCcnLm1pay5kamFneXMuJycgfHwKCnx8X19DaGlu b2lzX18KCkxhb3ppIHwnJy5sYXVkei4nJwoKTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChM ZSDCq8KgbmfCoMK7IGZpbmFsIGVzdCBjb252ZW50aW9uZWxsZW1lbnQgdHJhbmZvcm3DqSBlbiDC q8KgJyduJyfCoMK7IGVuIGxvamJhbi4pIHx8Cgp8fF9fVHVyY19fCgpNdXN0YWZhIEtlbWFsIHwn Jy5NVVN0YWZhcy5rZU1BTC4nJwoKRXJraW4gS29yYXkgfCcnLmVya2luLmtvcmFpcy4nJyB8fAoK fHxfX0FsbGVtYW5kX18KCkZyaWVkcmljaCBOaWV0enNjaGUgfCcnLmZyaWRyaXgubml0Y3lzLicn CgpDbGFyYSBTY2h1bWFubiB8Jycua2xhcmFzLmN1bWFuLicnIHx8Cgp8fF9fRXNwYWdub2xfXwoK SXNhYmVsIEFsbGVuZGUgfCcnLml6YUJFTC5haWVuZGVzLicnCgpDaGUgR3VldmFyYSB8JycudGNl Z2V2YXJhcy4nJyB8fAoKCgpfX0V4ZXJjaWNlwqA6X18KCk/DuSBzb250IGNlcyBsaWV1eMKgPwoK Iy5udSxJT1JLLgoKIy5yb21hcy4KCiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoK Iy5BTmthcmFzLgoKIy5BTGJla2Vya2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRh aWJlaXMuCgojLmJvbi4KCiMuZGVsaXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54 ZWxzaW5raXMuCgoKClLDqXBvbnNlczoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5LGdyYXk6TmV3 IFlvcms6IMOJdGF0cy1VbmlzIGQnQW3DqXJpcXVlfn4KCiN+fmdyYXksZ3JheTpSb21lOiBJdGFs aWV+fgoKI35+Z3JheSxncmF5OkhhdmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjog UGF5cyBkZSBHYWxsZXMgKExlIGdhbGxvaXMgcG91ciDCq8KgQ2FyZGlmZsKgwrsgZXN0IMKrwqBD YWVyZHlkZMKgwrssIHNlIHF1aSBzZSBsb2piYW5pc2VyYWl0IGNvbW1lIMKrwqAnJy5rYWlyZHlk LicnwqDCuy4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGluZX5+Cgojfn5ncmF5LGdyYXk6 QW5rYXJhOiBUdXJraWV+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVycXVlOiBOb3V2ZWF1LU1leGlx dWUsIMOJdGF0cy1VbmlzIGQnQW3DqXJpcXVlfn4KCiN+fmdyYXksZ3JheTpWYW5jb3V2ZXI6IENh bmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2FwZSBUb3duOiBBZnJpcXVlIGR1IHN1ZH5+Cgojfn5ncmF5 LGdyYXk6VGFpcGVpOiBUYWl3YW4gKE5vdGXCoDogb24gdXRpbGlzZSDCq8KgJydiJyfCoMK7LCBl dCBub24gwqvCoCcncCcnwqDCuy4gQmllbiBxdSdlbiBmYWl0LCBsZSBiIGVuIFBpbnlpbiBzb2l0 IHByb25vbmPDqSBw4oCmIE1haXMgbm91cyBuZSBzb21tZXMgcGFzIGRhbnMgdW4gY291cnMgZGUg bWFuZGFyaW7CoCEpfn4KCiN+fmdyYXksZ3JheTpCb25uOiBBbGxlbWFnbmV+fgoKI35+Z3JheSxn cmF5OkRlbGhpOiBJbmRlIChMJ2hpbmRpIHBvdXIgwqvCoERlbGhpwqDCuyBlc3QgwqvCoERpbGzD rsKgwrssIGNlIHF1aSBkb25uZXJhaXQgwqvCoCcnLmRpbGl5cy4nJ8Kgwrsgb3UgwqvCoCcnLmRp bGknaXMuJyfCoMK7Lil+fgoKI35+Z3JheSxncmF5Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdy YXk6QXRoZW5zOiBHcsOoY2UgKMKrwqBBdGhpbmHCoMK7IGVuIGdyZWNxdWUpfn4KCiN+fmdyYXks Z3JheTpMZWVkczogQW5nbGV0ZXJyZX5+Cgojfn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmRl fn4KCgoKX19FeGVyY2lzZcKgOl9fCgpMb2piYW5pc2V6IGxlcyBub21zIHN1aXZhbnTCoDoKCiNK b2huCgojTWVsaXNzYQoKI0FtYW5kYQoKI01hdHRoZXcKCiNNYXRoaWV1CgojTWljaGFlbAoKI0Rh dmlkIEJvd2llCgojSmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5 IFdlYXZlcgoKI1JpY2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2Fu IFNhbHZhZG9yCgoKClLDqXBvbnNlc8KgOgoKfn5ncmF5LGdyYXk6SWwgeSBhIHNvdXZlbnQgZCdh dXRyZXMgw6lwZWxsYXRpb25zIHBvdXIgbGVzIG5vbXMsIHNvaXQgcGFyY2UgcXVlIGxlcyBnZW5z IHByb25vbmNlbnQgbCdvcmlnaW5hbCBkaWZmw6lyZW1tZW50LCBzb2l0IHBhcmNlIHF1ZSBsZSBz b24gZXhhY3QgbidleGlzdGUgcGFzIGVuIGxvamJhbiwgZXQgcXVlIGwnb24gZG9pdCBjaG9pc2ly IGVudHJlIGRldXggbGV0dHJlcy4gQ2Ugbidlc3QgcGFzIGltcG9ydGFudCwgZHUgbW9tZW50IHF1 ZSB0b3V0IGxlIG1vbmRlIHNhaXQgZGUgcXVpIG91IHF1b2kgdm91cyBwYXJsZXoufn4KCiN+fmdy YXksZ3JheTouZGpvbi4gKG91IC5kamFuLiBhdmVjIGNlcnRhaW5zIGFjY2VudHMpfn4KCiN+fmdy YXksZ3JheToubWVsaXNhcy4gKC5tZWxpc3lzLiBlbiBhbmdsYWlzKX5+Cgojfn5ncmF5LGdyYXk6 LmFtYW5kYXMuIChFbiBhbmdsYWlzLCBzdWl2YW50IGxlcyBhY2NlbnRzLCBsZSDCq8KgJydhJyfC oMK7IGZpbmFsIHBldXQgw6p0cmUgdW4gwqvCoCcneScnwqDCuywgZGUgbcOqbWUgcG91ciBsZSDC q8KgJydhJyfCoMK7IGluaXRpYWwsIGV0IGxlIMKrwqAnJ2EnJ8KgwrsgZHUgbWlsaWV1IHBldXQg w6p0cmUgdW4gwqvCoCcnZScnwqDCuy4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5n cmF5LGdyYXk6Lm1hVElZUy5+fgoKI35+Z3JheSxncmF5Oi5taWthZWwuICgubWFpa3lsLiBvdSAu bWFpayxsLiBlbiBhbmdsYWlzLil+fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvdSAu Ym8saXMuIChwYXMgLmJ1LGlzLiDigJQgcXVpIHNlIHLDqWbDqHJlIGF1IFtodHRwczovL2ZyLndp a2lwZWRpYS5vcmcvd2lraS9Db3V0ZWF1X0Jvd2llfGNvdXRlYXVdKX5+Cgojfn5ncmF5LGdyYXk6 LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5jZWtzcGlyLn5+Cgojfn5ncmF5 LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvdSAuc3lnb3JuaXMudWl2eXIufn4KCiN+fmdyYXksZ3Jh eToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTouaXN0YW5CVUwuIGF2ZWMgdW4gYWNj ZW50IHRvbmlxdWUgYW5nbGFpcywgLklTdGFuYnVsLiBhdmVjIHVuIGFjY2VudCB0b25pcXVlIEFt w6lyaWNhaW4sIC5pc3RhbmJ1bC4gYXZlYyBsJ2FjY2VudCB0b25pcXVlIFR1cmMuIExlcyBsb2pi YW5pc3RlcyBwcsOpZsOocmVudCBlbiBnw6luw6lyYWwgYmFzZXIgbGVzIGNtZXZsYSBzdXIgbGEg cHJvbm9uY2lhdGlvbiBsb2NhbGUsIG1haXMgY2Ugbidlc3QgcGFzIHVuZSByw6hnbGUgYWJzb2x1 ZS5+fgoKI35+Z3JheSxncmF5Oi5tYURSSUQufn4KCiN+fmdyYXksZ3JheToudG9raW9zLn5+Cgoj fn5ncmF5LGdyYXk6LnNhbi5zYWx2YURPUi4gKGF2ZWMgbCdhY2NlbnQgdG9uaXF1ZSBlc3BhZ25v bCl+fgoKISEhIUxvamJhbiB3b3JkcyBhcyBuYW1lcwoKQnkgbm93IHlvdSBzaG91bGQgYmUgYWJs ZSB0byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91 IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0 IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50 aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVu IHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5h bWVzLCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBlY3QgdGhlICJ3YXNpY2h1IiB0 byBiZSBhYmxlIHRvIHByb25vdW5jZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRl dmVyIQoKTG9qYmFuIHdvcmRzIChleGNlcHQgY21ldmxhKSBlbmQgaW4gYSB2b3dlbC4gWW91IGNh biB1c2UgbG9qYmFuIHdvcmRzIGFzIG5hbWVzIHRvby4gQnV0IGlmIHlvdSBwcmVmZXIgdGhhdCB5 b3VyIG5hbWUgaXMgYSBjbWV2bGEgYW5kIGl0IGVuZHMgaW4gYSB2b3dlbCB0aGVuIHlvdSBjYW4g ZWl0aGVyIGFkZCBhIGNvbnNvbmFudCB0byB0aGUgZW5kIG9mIGl0IG9yIGp1c3QgY2hvcCB0aGUg ZW5kIHZvd2VsIG9mZi4KCkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzIChvcmlnaW5hbCBuYW1lLCBt ZWFuaW5nLCBuYW1lIGFuZCBuYW1lIGFzIGNtZXZsYSk6CgoqRmlzaCDigJMgZmlucGUg4oCTICcn LmZpbnAuJycKCipCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIpIOKAkyBjcmliZSDigJMgJycu Y3JpYi4nJwoKKkdyZWVuIOKAkyBjcmlubyDigJMgJycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbmVz ZSA9IGJlYXV0aWZ1bCkg4oCTIG1lbGJpIOKAkyAnJy5tZWxiLicnCgoqQXloYW4gKFR1cmtpc2gg PSBNb29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg4oCTICcnLmx1cm5vYmxp cy4nJwoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10 aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExv amJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2Fs bCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUg b2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2Jq ZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJh JycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlk aSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBi cmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3Rh dGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0 cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2gu CgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxN b3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRp LCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52 b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRl c3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHi gJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwg YW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJh LgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoK CgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDi gJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKA nQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBh c3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0 aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoK UHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxicmknJywg YW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3Ig Y2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hp Y2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVy ZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJl ZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJz dHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJh bnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGlu ZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRo b3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2Fu IG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxi cmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0 aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoK CklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xp c2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10 aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBi b3VnaHQgNSBuZXcgc2hpcnRzIGZyb20gTWFyayBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKA nSBzdW10aTog4oCcSGXigJ0sIOKAnDUgbmV3IHNoaXJ0c+KAnSwg4oCcTWFya+KAnSBhbmQg4oCc dHdvIGh1bmRyZWQgZXVyb3PigJ1+fgoKCgpTaW5jZSB0aGVzZSBjb25jZXB0cyBhcmUgc28gZnVu ZGFtZW50YWwgdG8gTG9qYmFuLCBsZXQncyBoYXZlIGEgdGhpcmQgZXhhbXBsZTog4oCcU28gZmFy LCB0aGUgRVBBIGhhcyBkb25lIG5vdGhpbmcgYWJvdXQgdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRp b3hpZGUu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxoYXMgZG9uZSAoYWJv dXQp4oCdIHN1bXRpOiDigJxUaGUgRVBB4oCdLCDigJxub3RoaW5n4oCdIGFuZCDigJx0aGUgYW1v dW50IG9mIHN1bHBodXIgZGlveGlkZeKAnX5+CgoKCk5vdyB0cnkgYmVnaW4gbWFraW5nIExvamJh biBicmlkaS4gRm9yIHRoaXMgeW91IHdpbGwgbmVlZCB0byB1c2Ugc29tZSB3b3Jkcywgd2hpY2gg Y2FuIGFjdCBhcyBzZWxicmk6CgonJ19fZHVuZGFfXycnIHgxIGdpdmVzIHgyIHRvIHgzICh3aXRo b3V0IHBheW1lbnQpCgonJ19fcGVseHVfXycnIHgxIGlzIHllbGxvdwoKJydfX3pkYW5pX18nJyB4 MSBpcyBhIGhvbWUgb2YgeDIKCgoKTm90aWNlIHRoYXQgdGhlc2Ugd29yZHMgbWVhbmluZyDigJxn aXZl4oCdLCDigJx5ZWxsb3figJ0gYW5kIOKAnGhvbWXigJ0gd291bGQgYmUgY29uc2lkZXJlZCBh IHZlcmIsIGFuIGFkamVjdGl2ZSBhbmQgYSBub3VuIGluIEVuZ2xpc2guIEluIExvamJhbiwgdGhl cmUgYXJlIG5vIHN1Y2ggY2F0ZWdvcmllcyBhbmQgbm8gc3VjaCBkaXN0aW5jdGlvbi4gJydkdW5k YScnIGNhbiBiZSB0cmFuc2xhdGVkIOKAnGdpdmVz4oCdICh2ZXJiKSwg4oCcaXMgYSBnaXZlcuKA nSAobm91biksIOKAnGlzIGdpdmluZ+KAnSAoYWRqZWN0aXZlKSBhcyB3ZWxsIGFzIHRvIGFuIGFk dmVyYiBmb3JtLiBUaGV5IGFsbCBhY3QgYXMgc2VsYnJpLCBhbmQgYXJlIHVzZWQgaW4gdGhlIHNh bWUgd2F5LgoKCgpBcyB3ZWxsIGFzIGEgZmV3IHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHN1bXRp OgoKJydfX21pX18nJyDigJxJ4oCdIG9yIOKAnHdl4oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdo byBhcmUgc3BlYWtpbmcuCgonJ19fdGlfXycnIOKAnHRoaXPigJ0g4oCTIGEgY2xvc2UgdGhpbmcg b3IgZXZlbnQgbmVhcmJ5IHdoaWNoIGNhbiBiZSBwb2ludGVkIHRvIGJ5IHRoZSBzcGVha2VyLgoK JydfX2RvX18nJyDigJx5b3XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBiZWluZyBz cG9rZW4gdG8uCgoKClNlZSB0aGUgc3RyYW5nZSB0cmFuc2xhdGlvbnMgb2YgdGhlIHNlbGJyaSBh Ym92ZSAtIGVzcGVjaWFsbHkgdGhlIHgxLCB4MiBhbmQgeDM/IFRob3NlIGFyZSBjYWxsZWQgc3Vt dGkgcGxhY2VzLiBUaGV5IGFyZSBwbGFjZXMgd2hlcmUgc3VtdGkgY2FuIGdvIHRvIGZpbGwgYSBi cmlkaS4gRmlsbGluZyBhIHN1bXRpIGluIGEgcGxhY2Ugc3RhdGVzIHRoYXQgdGhlIHN1bXRpIGZp dHMgaW4gdGhhdCBwbGFjZS4gVGhlIHNlY29uZCBwbGFjZSBvZiAnJ2R1bmRhJycsIGZvciBleGFt cGxlLCB4MiwgaXMgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLiBUaGUgdGhpcmQgaXMgdGhlIG9iamVj dCB3aGljaCByZWNlaXZlcyB0aGUgdGhpbmcuIE5vdGljZSBhbHNvIHRoYXQgdGhlIHRyYW5zbGF0 aW9uIG9mICcnZHVuZGEnJyBoYXMgdGhlIHdvcmQg4oCcdG/igJ0gaW4gaXQuIFRoaXMgaXMgYmVj YXVzZSwgd2hpbGUgdGhpcyB3b3JkIGlzIG5lZWRlZCBpbiBFbmdsaXNoIHRvIHNpZ25pZnkgdGhl IHJlY2VpdmVyLCB0aGUgcmVjZWl2ZXIgaXMgaW4gdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcn ZHVuZGEnJy4gU28gd2hlbiB5b3UgZmlsbCB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5k YScnLCB0aGUgc3VtdGkgeW91IGZpbGwgaW4gaXMgYWx3YXlzIHRoZSByZWNlaXZlciwgYW5kIHlv dSBkb24ndCBuZWVkIGFuIGVxdWl2YWxlbnQgdG8gdGhlIHdvcmQg4oCcdG/igJ0hCgoKClRvIHNh eSBhIGJyaWRpLCB5b3Ugc2ltcGx5IHNheSB0aGUgeDEgc3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNl bGJyaSwgdGhlbiBhbnkgb3RoZXIgc3VtdGkuCgpVc3VhbCBicmlkaToge3gxIHN1bXRpfSBfX3tz ZWxicml9X18ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IHt4NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5k IHNvIG9ufQoKVGhlIG9yZGVyIGNhbiBiZSBwbGF5ZWQgYXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93 LCB3ZSBzdGljayB3aXRoIHRoZSB1c3VhbCBmb3JtLiBUbyBzYXkg4oCcSSBnaXZlIHRoaXMgdG8g eW914oCdIHlvdSBqdXN0IHNheSAnJ21pIGR1bmRhIHRpIGRvJycsIHdpdGggdGhlIHRocmVlIHN1 bXRpIGF0IHRoZSByaWdodCBwbGFjZXMuCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxUaGlz IGlzIGEgaG9tZSBvZiBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1p Jyd+fgoKCgpUcnkgYSBmZXcgbW9yZSBpbiBvcmRlciB0byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFj ZSBzdHJ1Y3R1cmUgc2luayBpbi4KCgoK4oCcWW91IGdpdmUgdGhpcyB0byBtZeKAnT8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ2RvIGR1bmRhIHRpIG1pJyd+fgoKCgpBbmQgdHJhbnNsYXRlICcn dGkgcGVseHUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+ CgoKClF1aXRlIGVhc3kgb25jZSB5b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCByaWdodD8KCgoKTXVs dGlwbGUgYnJpZGkgYWZ0ZXIgZWFjaCBvdGhlciBhcmUgc2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlz IGlzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiBmdWxsIHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdv ZXMgYmVmb3JlIGJyaWRpIGluc3RlYWQgb2YgYWZ0ZXIgdGhlbS4gSXQncyBvZnRlbiBsZWZ0IG91 dCBiZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBleGFtcGxl czoKCicnX18uaV9fJycgU2VudGVuY2Ugc2VwYXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3byBqdWZy YSAoYW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRpKS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVs eHUnJyDigJ1UaGlzIGlzIGEgaG9tZSB0byBtZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9y ZSB5b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBsZXNzb24sIEkgcmVjb21tZW5kIHRoYXQgeW91IHRh a2UgYSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2ZW4gbWludXRlcyB0byBsZXQgdGhlIGluZm9ybWF0 aW9uIHNpbmsgaW4uCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHR3byAoRkEgYW5k IHpvJ2UpCgpNb3N0IHNlbGJyaSBoYXZlIGZyb20gb25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLCBi dXQgc29tZSBoYXZlIG1vcmUuIEhlcmUgaXMgYSBzZWxicmkgd2l0aCBmb3VyIHN1bXRpIHBsYWNl czoKCicnX192ZWNudV9fJycgeDEgc2VsbHMgeDIgdG8geDMgZm9yIHByaWNlIHg0CgoKCklmIEkg d2FudCB0byBzYXkg4oCcSSBzZWxsIHRoaXPigJ0sIGl0IHdvdWxkIGJlIHRvbyBtdWNoIHRvIGhh dmUgdG8gZmlsbCB0aGUgc3VtdGkgcGxhY2VzIHgzIGFuZCB4NCwgd2hpY2ggc3BlY2lmeSB3aG8g SSBzZWxsIHRoZSB0aGluZyB0bywgYW5kIGZvciB3aGF0IHByaWNlLiBMdWNraWx5LCBJIGRvbid0 IG5lZWQgdG8uIHN1bXRpIHBsYWNlcyBjYW4gYmUgZmlsbGVkIHdpdGggJyd6bydlJycuICcnem8n ZScnIGluZGljYXRlcyB0byB1cyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgc3VtdGkgcGxhY2UgaXMg dW5zcGVjaWZpZWQgYmVjYXVzZSBpdCdzIHVuaW1wb3J0YW50IG9yIGNhbiBiZSBkZXRlcm1pbmVk IGZyb20gY29udGV4dC4KCicnX196bydlX18nJyDigJxzb21ldGhpbmfigJ0gRmlsbHMgYSBzdW10 aSBwbGFjZSB3aXRoIHNvbWV0aGluZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQuCgoKClNvIHRv IHNheSDigJxJIHNlbGwgdG8geW914oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251IHpvJ2UgZG8g em8nZScnIOKAkyBJIHNlbGwgc29tZXRoaW5nIHRvIHlvdSBmb3Igc29tZSBwcmljZS4KCkhvdyB3 b3VsZCB5b3Ugc2F5OiDigJxUaGF0J3MgYSBob21lIChmb3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIHpkYW5pIHpvJ2UnJ35+CgoKCkhvdyBhYm91dCDigJwoc29t ZW9uZSkgZ2l2ZXMgdGhpcyB0byAoc29tZW9uZSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 Jyd6bydlIGR1bmRhIHRpIHpvJ2UnJ35+CgoKClN0aWxsLCBmaWxsaW5nIG91dCB0aHJlZSB6bydl IGp1c3QgdG8gc2F5IHRoYXQgYSB0aGluZyBpcyBiZWluZyBzb2xkIHRha2VzIHRpbWUuIFRoZXJl Zm9yZSB5b3UgZG9uJ3QgbmVlZCB0byB3cml0ZSBhbGwgdGhlICcnem8nZScnIGluIGEgYnJpZGku IFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlvdSBsZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5 IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5IGNvbnRhaW5lZCAnJ3pvJ2UnJy4gSWYgdGhl IGJyaWRpIGJlZ2lucyB3aXRoIGEgc2VsYnJpLCB0aGUgeDEgaXMgcHJlc3VtZWQgdG8gYmUgb21p dHRlZCBhbmQgaXQgYmVjb21lcyAnJ3pvJ2UnJy4KClRyeSBpdCBvdXQuIFdoYXQncyBMb2piYW4g Zm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHZlY251Jyd+fgoK CgpBbmQgd2hhdCBkb2VzICcnemRhbmkgbWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUgb2YgbWXigJ0gb3IganVzdCDigJxJIGhhdmUgYSBob21l LuKAnX5+CgoKCkFzIG1lbnRpb25lZCBlYXJsaWVyLCB0aGUgZm9ybSBkb2Vzbid0IGhhdmUgdG8g YmUge3gxIHN1bXRpfSB7c2VsYnJpfSB7eDIgc3VtdGl9IHt4MyBzdW10aX0gKGVjdC4pIEluIGZh Y3QsIHlvdSBjYW4gcGxhY2UgdGhlIHNlbGJyaSBhbnl3aGVyZSB5b3Ugd2FudCwganVzdCBub3Qg YXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkuIElmIHlvdSBkbyB0aGF0LCB0aGUgeDEgaXMg Y29uc2lkZXJlZCBsZWZ0IG91dCBhbmQgZmlsbGVkIHdpdGggJyd6bydlJycgaW5zdGVhZC4gU28g dGhlIGZvbGxvd2luZyB0aHJlZSBqdWZyYSBhcmUgYWxsIHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6 CgonJ21pIGR1bmRhIHRpIGRvJycKCicnbWkgdGkgZHVuZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5k YScnCgoKClNvbWV0aW1lcyB0aGlzIGlzIHVzZWQgZm9yIHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBz ZWxsIHlvdXJzZWxm4oCdIGNvdWxkIGJlICcnZG8gZG8gdmVjbnUnJywgd2hpY2ggc291bmRzIGJl dHRlciB0aGFuICcnZG8gdmVjbnUgZG8nJy4gT3IgaXQgY2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkg aWYgdGhlIHNlbGJyaSBpcyB2ZXJ5IGxvbmcgYW5kIHRoZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBh dCB0aGUgZW5kIG9mIHRoZSBicmlkaS4KCgoKVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRv IHBsYXkgYXJvdW5kIHdpdGggdGhlIG9yZGVyIG9mIHRoZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRp LiBUaGUgZWFzaWVzdCBvbmUgaXMgYnkgdXNpbmcgdGhlIHdvcmRzICcnZmEnJywgJydmZScnLCAn J2ZpJycsICcnZm8nJyBhbmQgJydmdScnLiBOb3RpY2UgdGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUg Zml2ZSB2b3dlbHMgaW4gdGhlIExvamJhbiBhbHBoYWJldCBpbiBvcmRlci4gVXNpbmcgb25lIG9m IHRoZXNlIHdvcmRzIG1hcmtzIHRoYXQgdGhlIG5leHQgc3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwg eDIsIHgzLCB4NCBhbmQgeDUgcmVzcGVjdGl2ZWx5LiBUaGUgbmV4dCBzdW10aSBhZnRlciB0aGF0 IHdpbGwgYmUgcHJlc3VtZWQgdG8gZmlsbCBhIHNsb3Qgb25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJl dmlvdXMuIFRvIHVzZSBhbiBleGFtcGxlOgoKJydkdW5kYSBmYSBkbyBmZSB0aSBkbycnIOKAkyDi gJxHaXZpbmcgYnkgeW91IG9mIHRoaXMgdGhpbmcgdG8geW914oCdLiAnJ2ZhJycgbWFya3MgdGhl IHgxLCB0aGUgZ2l2ZXIsIHdoaWNoIGlzIHlvdS4gJydmZScnIG1hcmtzIHRoZSB0aGluZyBiZWlu ZyBnaXZlbiwgdGhlIHgyLiBTdW10aSBjb3VudGluZyB0aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUn JywgbWVhbmluZyB0aGF0IHRoZSBsYXN0IHN1bXRpIGZpbGxzIHgzLCB0aGUgb2JqZWN0IHJlY2Vp dmluZy4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyB0aHJlZSBzZW50ZW5j ZXM6CgoKCicnbWkgdmVjbnUgZm8gdGkgZmUgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nUkgc2VsbCwgZm9yIHRoZSBwcmljZSBvZiB0aGlzLCB5b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3Ug Zm9yIHRoZSBwcmljZSBvZiB0aGlz4oCdIChwcm9iYWJseSBwb2ludGluZyB0byBhIGJ1bmNoIG9m IG1vbmV5KX5+CgoKCicnemRhbmkgZmUgdGknJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRo aXMgaGFzIGEgaG9tZeKAnS4gSGVyZSwgdGhlIGZlIGlzIHJlZHVuZGFudC5+fgoKCgonJ3ZlY251 IHpvJ2UgbWkgdGkgZmEgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNv bWV0aGluZyB0byBtZSBmb3IgdGhpcyBwcmljZeKAnX5+CgoKCgoKISFMb2piYW4gTGVzc29ucyDi gJMgbGVzc29uIHRocmVlICh0YW5ydSBhbmQgbG8pCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwg YmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGNvbmNlcHQgb2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUg aXMgZm9ybWVkIHdoZW4gYSBzZWxicmkgaXMgcHV0IGluIGZyb250IG9mIGFub3RoZXIgc2VsYnJp LCBtb2RpZnlpbmcgaXRzIG1lYW5pbmcuIEEgdGFucnUgaXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQg Y2FuIGNvbWJpbmUgd2l0aCBvdGhlciBzZWxicmkgb3IgdGFucnUgdG8gZm9ybSBtb3JlIGNvbXBs ZXggdGFucnUuIFRodXMgJyd6ZGFuaSB2ZWNudScnIGlzIGEgdGFucnUsIGFzIHdlbGwgYXMgICcn cGVseHUgemRhbmkgdmVjbnUnJywgd2hpY2ggaXMgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1 IHpkYW5pJycgYW5kIHRoZSBzaW5nbGUgYnJpdmxhIHdvcmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0 YW5kIHRoZSBjb25jZXB0IG9mIHRhbnJ1LCBjb25zaWRlciB0aGUgRW5nbGlzaCBub3VuIGNvbWJp bmF0aW9uIOKAnGxlbW9uIHRyZWXigJ0uIElmIHlvdSBkaWRuJ3Qga25vdyB3aGF0IGEgbGVtb24g dHJlZSB3YXMsIGJ1dCBoYWQgaGVhcmQgYWJvdXQgYm90aCBsZW1vbnMgYW5kIHRyZWVzLCB5b3Ug d291bGQgbm90IGJlIGFibGUgdG8gZGVkdWNlIHdoYXQgYSBsZW1vbiB0cmVlIHdhcy4gUGVyaGFw cyBhIGxlbW9uLWNvbG9yZWQgdHJlZSwgb3IgYSB0cmVlIHNoYXBlZCBsaWtlIGEgbGVtb24sIG9y IGEgdHJlZSB3aG9zZSBiYXJrIHRhc3RlcyBsaWtlIGxlbW9uLiBUaGUgb25seSB0aGluZ3MgeW91 IGNvdWxkIGtub3cgZm9yIHN1cmUgd291bGQgYmUgdGhhdCBpdCB3b3VsZCBiZSBhIHRyZWUsIGFu ZCBpdCB3b3VsZCBiZSBsZW1vbi1saWtlIGluIHNvbWUgd2F5LgoKQSB0YW5ydSBpcyBjbG9zZWx5 IGFuYWxvZ291cyB0byB0aGlzLiBJdCBjYW5ub3QgYmUgc2FpZCBleGFjdGx5IHdoYXQgYSAnJ3pk YW5pIHZlY251JycgaXMsIGJ1dCBpdCBjYW4gYmUgc2FpZCB0aGF0IGl0IGlzIGRlZmluaXRlbHkg YSB2ZWNudSwgYW5kIHRoYXQgaXQncyB6ZGFuaS1saWtlIGluIHNvbWUgd2F5LiBBbmQgaXQgY291 bGQgYmUgemRhbmktbGlrZSBpbiBhbnkgd2F5LiBJbiB0aGVvcnksIG5vIG1hdHRlciBob3cgc2ls bHkgb3IgYWJzdXJkIHRoZSBjb25uZWN0aW9uIHRvIHpkYW5pIHdhcywgaXQgY291bGQgc3RpbGwg dHJ1bHkgYmUgYSAnJ3pkYW5pIHZlY251JycuIEhvd2V2ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUg YSB2ZWNudSBpbiB0aGUgb3JkaW5hcnkgc2Vuc2UgaW4gb3JkZXIgZm9yIHRoZSB0YW5ydSB0byBh cHBseS4gWW91IGNvdWxkIGdsb3NzICcnemRhbmkgdmVjbnUnJyBhcyDigJxob21lIHNlbGxlcuKA nSwgb3IgZXZlbiBiZXR0ZXIgYnV0IHdvcnNlIHNvdW5kaW5nIOKAnGEgaG9tZS10eXBlLW9mIHNl bGxlcuKAnS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBhIHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9m IHRoZSByaWdodG1vc3Qgc2VsYnJpLiBJdCdzIGFsc28gc2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJy aSBtb2RpZmllcyB0aGUgcmlnaHQgc2VsYnJpLgoK4oCcUmVhbGx5P+KAnSwgeW91IGFzaywgc2Nl cHRpY2FsbHksIOKAnEl0IGRvZXNuJ3QgbWF0dGVyIGhvdyBzaWxseSB0aGUgY29ubmVjdGlvbiB0 byB0aGUgbGVmdCB3b3JkIGluIGEgdGFucnUgaXMsIGl0J3Mgc3RpbGwgdHJ1ZT8gU28gSSBjb3Vs ZCBjYWxsIGFsbCBzZWxsZXJzIGZvciAnJ3pkYW5pIHZlY251JycgYW5kIHRoZW4gbWFrZSB1cCBz b21lIHNpbGx5IGV4Y3VzZSB3aHkgSSB0aGluayBpdCdzIHpkYW5pLWxpa2U/4oCdCgpXZWxsIHll cywgYnV0IHRoZW4geW91J2QgYmUgYSBkaWNrLiBPciBhdCBsZWFzdCB5b3UnZCBiZSBpbnRlbnRp b25hbGx5IG1pc2xlYWRpbmcuIEluIGdlbmVyYWwsIHlvdSBzaG91bGQgdXNlIGEgdGFucnUgd2hl biBpdCdzIG9idmlvdXMgaG93IHRoZSBsZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmlnaHQuCgoK CkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRhbmkgZG8n JwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW91 4oCdIEFnYWluLCB3ZSBkb24ndCBrbm93IGluIHdoaWNoIHdheSBpdCdzIHllbGxvdy4gUHJvYmFi bHkgaXQncyBwYWludGVkIHllbGxvdywgYnV0IHdlIGRvbid0IGtub3cgZm9yIHN1cmUufn4KCgoK JydtaSB2ZWNudSBkdW5kYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzZWxsLWxpa2Ug Z2l2ZeKAnS4gV2hhdCBjYW4gdGhhdCBtZWFuPyBObyBpZGVhLiBJdCBjZXJ0YWlubHkgZG9lc24n dCBtZWFuIHRoYXQgeW91IHNvbGQgc29tZXRoaW5nLCBzaW5jZSwgYnkgZGVmaW5pdGlvbiBvZiAn J2R1bmRhJycsIHRoZXJlIGNhbiBiZSBubyBwYXltZW50IGludm9sdmVkLiBJdCBoYXMgdG8gYmUg YSBnaXZlYXdheSwgYnV0IGJlIHNlbGwtbGlrZSBpbiBzb21lIGFzcGVjdC5+fgoKCgpBbmQgbm93 IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQuIFdoYXQgaWYgSSB3YW50ZWQgdG8g c2F5IEkgc29sZCB0byBhIEdlcm1hbj8KCicnX19kb3Rjb19fJycgeDEgaXMgR2VybWFuL3JlZmxl Y3RzIEdlcm1hbiBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpJIGNhbid0IHNheSAnJ21pIHZlY251 IHpvJ2UgZG90Y28nJyBiZWNhdXNlIHRoYXQgd291bGQgbGVhdmUgdHdvIHNlbGJyaSBpbiBhIGJy aWRpLCB3aGljaCBpcyBub3QgcGVybWl0dGVkLiBJIGNvdWxkIHNheSAnJ21pIGRvdGNvIHZlY251 JycgYnV0IHRoYXQgd291bGQgYmUgdW5uZWNlc3NhcnkgdmFndWUgLSBJIGNvdWxkIHNlbGwgaW4g YSBHZXJtYW4gd2F5LiBMaWtld2lzZSwgaWYgSSB3YW50IHRvIHNheSDigJxJIGFtIGZyaWVuZHMg d2l0aCBhbiBBbWVyaWNhbuKAnSwgd2hhdCBzaG91bGQgSSBzYXk/CgonJ19fcGVuZG9fXycnIDF4 IGlzIGEgZnJpZW5kIG9mIHgyCgonJ19fbWVya29fXycnIHgxIGlzIEFtZXJpY2FuL3JlZmxlY3Qg VVMgY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKQWdhaW4sIHRoZSBvYnZpb3VzIHdvdWxkIGJlIHRv IHNheSAnJ21pIHBlbmRvIG1lcmtvJycsIGJ1dCB0aGF0IHdvdWxkIGZvcm0gYSB0YW5ydSwgbWVh bmluZyDigJxJIGFtIGZyaWVuZC1saWtlIEFtZXJpY2Fu4oCdLCB3aGljaCBpcyB3cm9uZy4gV2hh dCB3ZSByZWFsbHkgd2FudCB0byBpcyB0byB0YWtlIHRoZSBzZWxicmkgJydtZXJrbycnIGFuZCB0 cmFuc2Zvcm0gaXQgaW50byBhIHN1bXRpIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBzZWxicmkg JydwZW5kbycnLiBUaGlzIGlzIGRvbmUgYnkgdGhlIHR3byB3b3JkcyAnJ2xvJycgYW5kICcna3Un Jy4KCl9fJydsbycnX18g4oCTIGdlbmVyaWMgYmVnaW4gY29udmVydCBzZWxicmkgdG8gc3VtdGkg d29yZC4gRXh0cmFjdHMgeDEgb2Ygc2VsYnJpIHRvIHVzZSBhcyBzdW10aS4KCl9fJydrdScnX18g 4oCTIGVuZCBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSBwcm9jZXNzLgoKCgpZb3Ugc2ltcGx5IHBs YWNlIGEgc2VsYnJpIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzLCBhbmQgaXQgdGFrZXMgYW55dGhp bmcgdGhhdCBjYW4gZmlsbCB0aGUgeDEgb2YgdGhhdCBzZWxicmkgYW5kIHR1cm5zIGl0IGludG8g YSBzdW10aS4KClNvIGZvciBpbnN0YW5jZSwgdGhlIHRoaW5ncyB0aGF0IGNhbiBmaWxsIHpkYW5p 4oCYcyB4MSBhcmUgb25seSB0aGluZ3Mgd2hpY2ggYXJlIGhvbWVzIG9mIHNvbWVib2R5LiBTbyAn J2xvIHpkYW5pIGt1JycgbWVhbnMg4oCcYSBob21lIG9yIHNvbWUgaG9tZXMgZm9yIHNvbWVib2R5 LuKAnSBTaW1pbGFybHksIGlmIEkgc2F5IHRoYXQgc29tZXRoaW5nIGlzIHBlbHh1LCBpdCBtZWFu cyBpdCdzIHllbGxvdy4gU28gJydsbyBwZWx4dSBrdScnIHJlZmVycyB0byBzb21ldGhpbmcgeWVs bG93LgoKCgpOb3cgeW91IGhhdmUgdGhlIG5lY2Vzc2FyeSBncmFtbWFyIHRvIGJlIGFibGUgdG8g c2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuLuKAnSBIb3c/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBrdScnfn4KCgoKVGhlcmUgaXMgYSBnb29k IHJlYXNvbiB3aHkgdGhlICcna3UnJyBpcyBuZWNlc3NhcnkuIFRyeSB0byB0cmFuc2xhdGUg4oCc QSBHZXJtYW4gc2VsbHMgdGhpcyB0byBtZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbG8g ZG90Y28ga3UgdmVjbnUgdGkgbWknJyBJZiB5b3UgbGVhdmUgb3V0IHRoZSBrdSwgeW91IGRvIG5v dCBnZXQgYSBicmlkaSwgYnV0IHNpbXBseSB0aHJlZSBzdW10aS4gU2luY2UgbG/igKZrdSBjYW5u b3QgY29udmVydCBicmlkaSwgdGhlIHRpIGlzIGZvcmNlZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhl IGxvLWNvbnN0cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2UgYW5kIGl0IHNpbXBseSBiZWNvbWVzIHRo ZSB0aHJlZSBzdW10aSBvZiAnJ2xvIGRvdGNvIHZlY251IHtrdX0nJywgJyd0aScnIGFuZCAnJ21p Jycufn4KCgoKWW91IGFsd2F5cyBoYXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBqdWZyYSBsaWtlICcn bG8gemRhbmkga3UgcGVseHUnJy4gSWYgdGhlICcna3UnJyBpcyBsZWZ0IG91dCB0aGUgY29udmVy c2lvbiBwcm9jZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10 aSwgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBlbHh1JycgYW5kIHRoZW4gY29udmVydGVk IHdpdGggJydsbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBmb3VyIChhdHRp dHVkaW5hbHMpCgpBbm90aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5n bGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3 b3JkcyB0aGF0IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRp bmFscyBvcmlnaW5hdGVkIGluIHRoZSBmZW1pbmlzdCBjb25zdHJ1Y3RlZCBsYW5ndWFnZSBMYWRh biwgc3VwcG9zZWRseSB0byBlbmFibGUgdHJ1ZSBmZW1hbGUgZW1vdGlvbnMuIFRoZSBpZGVhIHdh cyB0aGF0IGZlbWFsZSBlbW90aW9uYWwgZXhwcmVzc2lvbiB3YXMgaGluZGVyZWQgYnkgbWFsZSBk b21pbmF0ZWQgbGFuZ3VhZ2UsIGFuZCBpZiBvbmx5IHRoZXkgd2VyZSBhYmxlIHRvIGJlIGV4cHJl c3NlZCBtb3JlIGZyZWVseSwgdGhpcyB3b3VsZCBlbXBvd2VyIHdvbWVuIHRocm91Z2ggbGliZXJh dGlvbiBvZiB0aGUgbGFuZ3VhZ2UuCgpJbiBMb2piYW4sIHRoZXJlIGlzIG5vIHN1Y2ggYWdlbmRh LCBhbmQgYXR0aXR1ZGluYWxzIG1vc3QgcHJvYmFibHkgaGF2ZSBiZWVuIGRlc2lnbmVkIGludG8g dGhlIGxhbmd1YWdlIGJlY2F1c2UgdGhleSB0dXJuZWQgb3V0IHRvIGJlIGluY3JlZGlibHkgYXdl c29tZSBhbmQgdXNlZnVsLiBUaGV5IGFsbCBoYXZlIGEgc28tY2FsbGVkIGZyZWUgZ3JhbW1hciwg d2hpY2ggbWVhbnMgdGhhdCB0aGV5IGNhbiBhcHBlYXIgYWxtb3N0IGFueXdoZXJlIHdpdGhpbiBi cmlkaSB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGJyaWRpJ3MgZ3JhbW1hciBvciBhbnkgZ3JhbW1h dGljYWwgY29uc3RydWN0cy4KCkluIExvamJhbiBncmFtbWFyLCBhbiBhdHRpdHVkaW5hbCBhcHBs aWVzIHRvIHRoZSBwcmV2aW91cyB3b3JkLiBJZiB0aGF0IHByZXZpb3VzIHdvcmQgaXMgYSB3b3Jk IHdoaWNoIGJlZ2lucyBhIGNvbnN0cnVjdCAobGlrZSAnJy5pJycgb3IgJydsbycnKSwgaXQgYXBw bGllcyB0byB0aGUgZW50aXJlIGNvbnN0cnVjdC4gTGlrZXdpc2UsIGlmIHRoZSBhdHRpdHVkaW5h bCBmb2xsb3dzIGEgd29yZCB3aGljaCBlbmRzIGEgY29uc3RydWN0IGxpa2UgJydrdScnLCBpdCBh cHBsaWVzIHRvIHRoZSBlbmRlZCBjb25zdHJ1Y3QuCgoKCkxldCdzIGhhdmUgdHdvIGF0dGl0dWRp bmFscyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycnLnVpJydfXzogYXR0aXR1ZGluYWw6IHNp bXBsZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVuaGFwcGluZXNzCgpfXycnemEnYScnX186 IGF0dGl0dWRpbmFsOiBldmlkZW50aWFsOiBJIGRpcmVjdGx5IG9ic2VydmUKCgoKTm90ZSB0aGF0 IGluIHRoZSBkZWZpbml0aW9uIG9mICcnLnVpJycsIHRoZXJlIGFyZSBsaXN0ZWQgdHdvIGVtb3Rp b25zLCBoYXBwaW5lc3MgYW5kIHVuaGFwcGluZXNzLiBUaGlzIG1lYW5zIHRoYXQgJycudWknJyBp cyBkZWZpbmVkIGFzIGhhcHBpbmVzcywgd2hpbGUgaXRzIOKAnG5lZ2F0aW9u4oCdLCBtZWFucyB1 bmhhcHBpbmVzcy4g4oCcTmVnYXRpb27igJ0gbWlnaHQgYmUgdGhlIHdyb25nIHdvcmQgaGVyZS4g VGVjaG5pY2FsbHksIHRoZSBvdGhlciBkZWZpbml0aW9uIG9mICcnLnVpJycgaXMgYW5vdGhlciBj b25zdHJ1Y3QsICcnLnVpIG5haScnLiBNb3N0IG9mIHRoZSB0aW1lLCB0aGUgc2Vjb25kIGRlZmlu aXRpb24gb2YgYXR0aXR1ZGluYWxzIC0gdGhlIG9uZXMgc3VmZml4ZWQgd2l0aCAnJ25haScnIC0g cmVhbGx5IGlzIHRoZSBuZWdhdGlvbiBvZiB0aGUgYmFyZSBhdHRpdHVkaW5hbC4gT3RoZXIgdGlt ZXMsIG5vdCBzbyBtdWNoLgoKX18nJ25haScnX18gbWlzYy4gbmVnYXRpb24gLSBhdHRhY2hlZCB0 byBhdHRpdHVkaW5hbHMsIGl0IGNoYW5nZXMgdGhlIG1lYW5pbmcgaW50byB0aGUgYXR0aXR1ZGlu YWwncyAibmVnYXRpb24iCgoKCkFuZCBzb21lIG1vcmUgc2VsYnJpLCBqdXN0IGZvciB0aGUgaGVj ayBvZiBpdDoKCl9fJydjaXRrYScnX18g4oCTIHgxIGVhdHMgeDIKCl9fJydwbGlzZScnX18g4oCT IHgxIGlzIGFuIGFwcGxlIG9mIHN0cmFpbi90eXBlIHgyCgoKClRoZSBzZW50ZW5jZSAnJ2RvIGNp dGthIGxvIHBsaXNlIGt1IC51aScnLCBtZWFucyDigJxZb3UgZWF0IGFuIGFwcGxlLCB5YXkh4oCd IChlc3BlY2lhbGx5IGV4cHJlc3NpbmcgdGhhdCBpdCBpcyB0aGUgX19hcHBsZV9fIHRoYXQgdGhl IHNwZWFrZXIgaXMgaGFwcHkgYWJvdXQsIG5vdCB0aGUgZWF0aW5nLCBvciB0aGUgZmFjdCB0aGF0 IGl0IHdhcyB5b3UuKSBJbiB0aGUgc2VudGVuY2UgJydkbyB6YSdhIGNpdGthIGxvIHBsaXNlIGt1 JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBf X+KAnHlvdeKAnV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxz ZS4KCgoKSWYgYW4gYXR0aXR1ZGluYWwgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhl IGJyaWRpLCBpdCBpcyB1bmRlcnN0b29kIHRvIGFwcGx5IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxp Y2l0ICcnLmknJywgdGh1cyBhcHBseWluZyB0byB0aGUgZW50aXJlIGJyaWRpOgoKJycudWkgemEn YSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKAkyDigJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlv dSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCdCgoKCicnbWkgdmVjbnUgLnVpIG5haSBsbyB6 ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vja3MhKSBhIGhvbWXigJ0uCgoKClRyeSBpdCBv dXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3QsIHRob3VnaCwgaGVyZSBhcmUgc29tZSBtb3Jl IGF0dGl0dWRpbmFsczoKCl9fJycudSd1JydfXyBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1v dGlvbjogZ3VpbHQgLSByZW1vcnNlbGVzc25lc3MgLSBpbm5vY2VuY2UuCgpfXycnLm9pJydfXyBh dHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IGNvbXBsYWludCAtIHBsZWFzdXJlLgoK X18nJy5pdScnX18gYXR0aXR1ZGluYWw6IG1pc2NlbGxhbmVvdXMgcHVyZSBlbW90aW9uOiBsb3Zl IC0gaGF0ZS4KCgoKTG9vayBhdCB0aGF0LCB0d28gd29yZHMgd2l0aCB0aHJlZSBlbW90aW9ucyBp biB0aGUgZGVmaW5pdGlvbiEgVGhlIG1pZGRsZSBvbmUgaXMgYWNjZXNzZWQgYnkgc3VmZml4aW5u ZyB3aXRoICcnY3UnaScnLiBJdCdzIGNvbnNpZGVyZWQgdGhlIG1pZHBvaW50IG9mIHRoZSBlbW90 aW9uLgoKX18nJ2N1J2knJ19fIGF0dGl0dWRpbmFsIG1pZHBvaW50IHNjYWxhcjogYXR0YWNoIHRv IGF0dGl0dWRpbmFsIHRvIGNoYW5nZSB0aGUgbWVhbmluZyB0byB0aGUgIm1pZHBvaW50IiBvZiB0 aGUgZW1vdGlvbi4KCgoKVHJ5IHNheWluZyDigJxJIGdpdmUgc29tZXRoaW5nIHRvIGEgR2VybWFu LCB3aG8gSSBsb3Zl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBmaSBsbyBk b3RjbyBrdSAuaXUnJyBvciAnJ3pvJ2UnJyBpbnN0ZWFkIG9mICcnZmknJ35+CgoKCk5vdyDigJxB YWgsIEkgZWF0IGEgeWVsbG93IGFwcGxl4oCdCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLm9pIG5h aSBtaSBjaXRrYSBsbyBwZWx4dSBwbGlzZSBrdScnfn4KCgoKTGV0J3MgaGF2ZSBhbm90aGVyIGF0 dGl0dWRpbmFsIG9mIGEgZGlmZmVyZW50IGtpbmQgdG8gaWxsdXN0cmF0ZSBzb21ldGhpbmcgcGVj dWxpYXI6CgonJy5laScnIEF0dGl0dWRpbmFsOiBjb21wbGV4IHByb3Bvc2l0aW9uYWwgZW1vdGlv bjogb2JsaWdhdGlvbiAtIGZyZWVkb20uCgoKClNvLCBxdWl0ZSBlYXN5OiDigJxJIGhhdmUgdG8g Z2l2ZSB0aGUgYXBwbGUgYXdheeKAnSBpcyAnJ21pIGR1bmRhIC5laSBsbyBwbGlzZSBrdScnLCBy aWdodD8gSXQgaXMsIGFjdHVhbGx5ISBXaGVuIHlvdSB0aGluayBhYm91dCBpdCwgdGhhdCdzIHdl aXJkLiBXaHkgaXMgaXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0dGl0dWRpbmFscyB3ZSBoYXZlIHNl ZW4gc28gZmFyIGV4cHJlc3NlcyB0aGUgc3BlYWtlcidzIGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRp LCBidXQgdGhpcyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3aGF0IHRoZSBicmlkaSBtZWFucz8gU3Vy ZWx5LCBieSBzYXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNh eSBub3RoaW5nIGFib3V0IHdoZXRoZXIgdGhlIGFwcGxlIGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVu IGF3YXkuIElmIEkgaGFkIHVzZWQgJycudWknJywgaG93ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBo YXZlIHN0YXRlZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUgYXdheSwgYW5kIHRoYXQgSSB3YXMgaGFw cHkgYWJvdXQgaXQuIFdoYXQncyB0aGF0IGFsbCBhYm91dD8KCgoKVGhpcyBpc3N1ZSwgZXhhY3Rs eSBob3cgYXR0aXR1ZGluYWxzIGNoYW5nZSB0aGUgY29uZGl0aW9ucyBvbiB3aGljaCBhIGJyaWRp IGlzIHRydWUsIGlzIGEgc3ViamVjdCBvZiBhIG1pbm9yIGRlYmF0ZS4gVGhlIG9mZmljaWFsLCDi gJx0ZXh0Ym9va+KAnSBydWxlLCB3aGljaCBwcm9iYWJseSB3b24ndCBiZSBjaGFuZ2VkLCBpcyB0 aGF0IHRoZXJlIGlzIGEgZGlzdGluY3Rpb24gYmV0d2VlbiDigJxwdXJlIGVtb3Rpb25z4oCdIGFu ZCDigJxwcm9wb3NpdGlvbmFsIGVtb3Rpb25z4oCdLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90aW9u cyBjYW4gY2hhbmdlIHRoZSB0cnV0aCBjb25kaXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNh bm5vdC4gSW4gb3JkZXIgdG8gZXhwcmVzcyBhIHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0 dWRpbmFsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwgeW91 IGNhbiBqdXN0IHNlcGFyYXRlIGl0IGZyb20gdGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVyZSBp cyBhbHNvIGEgd29yZCBmb3IgZXhwbGljaXRseSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0 cnV0aCBjb25kaXRpb25zIG9mIGEgYnJpZGk6CgoKCl9fJydkYSdpJydfXyBhdHRpdHVkaW5hbDog ZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4gZmFjdAoKU2F5aW5nICcnZGEnaScnIGluIGEgYnJp ZGkgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9ucyB0byBoeXBvdGhldGljYWwsIHdoaWNoIGlz IHRoZSBkZWZhdWx0IHVzaW5nIHByb3Bvc2l0aW9uYWwgYXR0aXR1ZGluYWxzLiBTYXlpbmcgJydk YSdpIG5haScnIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbiB0byB0aGUgbm9ybWFsLCB3aGlj aCBpcyBkZWZhdWx0IHVzaW5nIHB1cmUgYXR0aXR1ZGluYWxzLgoKCgpTbywgd2hhdCdzIHR3byB3 YXlzIG9mIHNheWluZyDigJxJIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBvYmxp Z2F0aW9uIGFib3V0IGl0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8gcGxp c2UgLmkgLmVpJycgIGFuZCAnJ21pIGR1bmRhIGRhJ2kgbmFpIC5laSBsbyBwbGlzZScnfn4KCgoK VGhlIGZlZWxpbmcgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHN1YnNjcmliZWQgdG8gc29tZW9u ZSBlbHNlIHVzaW5nICcnZGFpJycuIFVzdWFsbHkgaW4gb3JkaW5hcnkgc3BlZWNoLCB0aGUgYXR0 aXR1ZGluYWwgaXMgc3Vic2NyaWJlZCB0byB0aGUgbGlzdGVuZXIsIGJ1dCBpdCBkb2Vzbid0IGhh dmUgdG8gYmUgc28uIEFsc28sIGJlY2F1c2UgdGhlIHdvcmQgaXMgZ2xvc3NlZCDigJxlbXBhdGh5 4oCdIChmZWVsaW5nIG90aGVycyBlbW90aW9ucyksIHNvbWUgTG9qYmFuaXN0cyBtaXN0YWtlbmx5 IHRoaW5rIHRoYXQgdGhlIHNwZWFrZXIgbXVzdCBzaGFyZSB0aGUgZW1vdGlvbiBiZWluZyBzdWJz Y3JpYmVkIHRvIG90aGVycy4KCl9fJydkYWknJ19fIGF0dGl0dWRpbmFsIG1vZGlmeWVyOiBFbXBh dGh5IChzdWJzY3JpYmVzIGF0dGl0dWRpbmFsIHRvIHNvbWVvbmUgZWxzZSwgdW5zcGVjaWZpZWQp CgpFeGFtcGxlOiAnJ3UnaSAub2kgZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwgdGhpcyB3YXMg ZWF0ZW4hIFRoYXQgbXVzdCBoYXZlIGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNlZCBwaHJhc2Ug Y291bGQgJycub2kgdSdpIGRhaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3Vj aCwgdmVyeSBmdW5ueS7igJ1+fgoKCgpBbmQgYW5vdGhlciBvbmUgdG8gdGVzdCB5b3VyIGtub3ds ZWRnZTogVHJ5IHRvIHRyYW5zbGF0ZSDigJxIZSB3YXMgc29ycnkgaGUgc29sZCBhIGhvbWXigJ0g KHJlbWVtYmVyaW5nLCB0aGF0IHRlbnNlIGlzIGltcGxpZWQgYW5kIG5lZWQgbm90IGJlIHNwZWNp ZmllZC4gQWxzbywg4oCcaGXigJ0gY291bGQgYmUgb2J2aW91cyBmcm9tIGNvbnRleHQpCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6Jyd1J3UgZGFpIHZlY251IGxvIHpkYW5pIGt1Jyd+fgoKCgpMYXN0 bHksIHRoZSBpbnRlbnNpdHkgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHNwZWNpZmllZCB1c2lu ZyBjZXJ0YWluIHdvcmRzLiBUaGVzZSBjYW4gYmUgdXNlZCBhZnRlciBhbiBhdHRpdHVkaW5hbCwg b3IgYW4gYXR0aXR1ZGluYWwgd2l0aCAnJ25haScnIG9yICcnY3UnaScnIHN1ZmZpeGVkLiBJdCdz IGxlc3MgY2xlYXIgd2hhdCBoYXBwZW5zIHdoZW4geW91IGF0dGFjaCBpdCB0byBvdGhlciB3b3Jk cywgbGlrZSBhIHNlbGJyaSwgbXVzdCBpdCdzIG1vc3RseSB1bmRlcnN0b29kIGFzIGludGVuc2lm eWluZyBvciB3ZWFrZW5pbmcgdGhlIHNlbGJyaSBpbiBzb21lIHVuc3BlY2lmaWVkIHdheToKCnx8 IE1vZGlmeWluZyB3b3JkICB8IEludGVuc2l0eSAgCgogY2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAg U3Ryb25nCgogKG5vbmUpfCAgIFVuc3BlY2lmaWVkIChtZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8 fAoKCgpXaGF0IGVtb3Rpb24gaXMgZXhwcmVzc2VkIHVzaW5nICcnLnUnaSBuYWkgc2FpJycgPwoK X18nJy51J2knJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50 IC0gd2VhcmluZXNzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoK CkFuZCBob3cgd291bGQgeW91IGV4cHJlc3MgdGhhdCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVz cz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy51J3UgY3UnaSBydSdlJyd+fgoKCgohIUxvamJh biBsZXNzb25zIOKAkyBsZXNzb24gZml2ZSAoU0UpCgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRo ZSB0ZXJyaXRvcnkgb2YgbW9yZSBjb21wbGV4IGNvbnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4g YW5vdGhlciBtZWNoYW5pc20gZm9yIHJlb3JkZXJpbmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBU aGlzLCBhcyB3ZSB3aWxsIHNob3csIGlzIHZlcnkgdXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRp b24tbGlrZSBzdW10aSAodGhlIGtpbmQgb2Ygc3VtdGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIg dGhlIHNlbnRlbmNlIOKAnEkgZWF0IGEgZ2lmdOKAnSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlh dGUgaWYgdGhhdCBnaWZ0IGlzIGFuIGFwcGxlLiBUbyB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQg c2VlbSBuYXR1cmFsIHRvIGxvb2sgdXAgYSBzZWxicmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9y ZSBjb250aW51aW5nLiBIb3dldmVyLCBpZiBvbmUgbG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZp bml0aW9uIG9mICcnZHVuZGEnJywgeDEgZ2l2ZXMgeDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0 IHRoZSB4MiBvZiAnJ2R1bmRhJycgaXMgc29tZXRoaW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywg dG8gZXhwcmVzcyB0aGF0IHNlbnRlbmNlLCB3ZSBjYW4ndCBzYXkgJydtaSBjaXRrYSBsbyBkdW5k YSBrdScnLCBiZWNhdXNlICcnbG8gZHVuZGEga3UnJyB3b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5k YScnLCB3aGljaCBpcyBhIGRvbm9yIG9mIGEgZ2lmdC4gQ2FubmliYWxpc20gYXNpZGUsIHdlIGRv bid0IHdhbnQgdG8gc2F5IHRoYXQuIFdoYXQgd2Ugd2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRo ZSB4MiBvZiBhIHNlbGJyaS4KClRoaXMgaXMgb25lIGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVs IHRvIHVzZSB0aGUgd29yZCAnJ3NlJycuIFdoYXQgJydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEg c2VsYnJpIHN1Y2ggdGhhdCB0aGUgeDEgYW5kIHgyIG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNl cy4gVGhlIGNvbnN0cnVjdCBvZiAnJ3NlJycgKyBzZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRl cmVkIG9uZSBzZWxicmkuIExldCdzIHRyeSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18n J2ZhbnZhJydfXyA9IOKAnHgxIHRyYW5zbGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5n dWFnZSB4NCB3aXRoIHJlc3VsdCBvZiB0cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBt aScnID0gJydtaSBmYW52YSB0aScnCgpUaGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFu c2xhdGUgdGhpcykuIE9mdGVuLCBidXQgbm90IGFsd2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29u c3RydWN0cyBhcmUgdHJhbnNsYXRlZCB0byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2lj ZSwgc2luY2UgdGhlIHgxIGlzIG9mdGVuIHRoZSBvYmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2Un JyBoYXMgaXRzIG93biBmYW1pbHkgb2Ygd29yZHMuIEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJl bnQgcGxhY2Ugd2l0aCB0aGUgeDEuCgp8fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEg YW5kIHgzCgp2ZQl8c3dhcCB4MSBhbmQgeDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRo YXQgcywgdCwgdiwgYW5kIHggYXJlIGNvbnNlY3V0aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJh biBhbHBoYWJldC4KCgoKU286IFVzaW5nIHRoaXMga25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkg eGUgZmFudmEgdGknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0 cmFuc2xhdGlvbiBvZiB0aGlz4oCdIChvciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScn IGFuZCBpdHMgZmFtaWx5IGNhbiBvZiBjb3Vyc2UgYmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5k IGl0cyBmYW1pbHkuIFRoZSByZXN1bHQgY2FuIGJlIHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYg eW91IHdpc2ggdG8gbWFrZSBpdCBzbzoKCl9fJydrbGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dv ZXMgdG8geDIgZnJvbSB4MyB2aWEgeDQgdXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl 4oCdCgonJ2Z1IGxvIHpkYW5pIGt1IHRlIGtsYW1hIGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRl IGtsYW1hIGRvIHRpIGxvIHpkYW5pIGt1JycgYW5kIHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEg YW5kIHgzOiA9ICcndGkga2xhbWEgZG8gbWkgbG8gemRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxz IHRvIHlvdSBmcm9tIG1lIHZpYSBhIGhvbWUu4oCdIE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1h a2Ugc3VjaCBhIHNlbnRlbmNlIGV4Y2VwdCB0byBjb25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0 byB0ZXN0IHRoZWlyIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywg d2UgaGF2ZSBjb21lIHRvIHRoZSBwb2ludCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lm dC7igJ0uIFNpbXBseSBleGNoYW5nZSB0aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBn ZXQgdGhlIGdpZnQgdG8gYmUgeDEsIHRoZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8n Jy4uLicna3UnJy4gU28sIGhvdyB3b3VsZCB5b3Ugc2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93 cyBvbmUgb2YgdGhlIG1hbnkgdXNlcyBmb3IgJydzZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEh TG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzaXggKGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBo YXZlIG9ubHkgZXhwcmVzc2VkIHNpbmdsZSBzZW50ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhw cmVzcyBtb3JlIGNvbXBsZXggdGhpbmdzLCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRp bmF0ZSBzZW50ZW5jZXMuIEx1Y2tpbHksIHRoZXNlIGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4g dGhhbiB3aGF0IG9uZSB3b3VsZCBleHBlY3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxl IHRvIGRlbW9uc3RyYXRlIHRoaXM6IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVu ZC7igJ0gSGVyZSwgdGhlIG1haW4gYnJpZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBh bmQgdGhlIHN1Yi1icmlkaSBpcyDigJxZb3UgYXJlIG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0 aGUgZGVmaW5pdGlvbiBmb3Ig4oCcaGFwcHnigJ0sIHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydn bGVraScnX18g4oCceDEgaXMgaGFwcHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNl ZXMgdGhhdCB0aGUgeDIgbmVlZHMgdG8gYmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBu YXR1cmFsLCBiZWNhdXNlIG9uZSBjYW5ub3QgYmUgaGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0 c2VsZiwgb25seSBhYm91dCBzb21lIHN0YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBP bmx5IGJyaWRpIGNhbiBleHByZXNzIGEgc3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRp IGNhbiBmaWxsIHRoZSB4MiBvZiAnJ2dsZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2Vk LCB0aGVyZSBpcyBhIHNvbHV0aW9uLiBUaGUgd29yZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEg Z2VuZXJpYyDigJxjb252ZXJ0IGJyaWRpIHRvIHNlbGJyaeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtz IGp1c3QgbGlrZSAnJ2xvJyfigKYnJ2t1JycuCgpfXycnc3UndScnX18geDEgaXMgYW4gYWJzdHJh Y3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCgpfXycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24K CgoKRXhhbXBsZToKCl9fJydtZWxiaScnX18geDEgaXMgYmVhdXRpZnVsIHRvIHgyLgoKX18nJ2Rh bnN1JydfXyB4MSBkYW5jZXMgdG8gYWNjb21wYW5pbWVudC9tdXNpYy9yaHl0aG0geDIuCgonJ21l bGJpIHN1J3UgZGFuc3Uga2VpJycgLSDigJxCZWF1dGlmaWwgZGFuY2luZ+KAnS/igJxCZWF1dGlm aWwgZGFuY2XigJ0KCgoKSXQncyB1c3VhbGx5IGhhcmQgdG8gZmluZCBnb29kIHVzZXMgb2YgYSBi cmlkaSBhcyBhIHNlbGJyaS4gSG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScnIGlzIGEg c2VsYnJpLCBvbmUgY2FuIGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1 JycuCgpOb3cgd2UgaGF2ZSB0aGUgZXF1aXBtZW50IHRvIGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0 aGF0IHlvdSBhcmUgbXkgZnJpZW5k4oCdLiBUcnkgaXQgb3V0IQoKX18nJ3BlbmRvJydfXyDigJx4 MSBpcyBhIGZyaWVuZCBvZiB4MuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kg bG8gc3UndSBkbyBwZW5kbyBtaSBrZWkga3UnJ35+CgoKCkhvd2V2ZXIsICcnc3UndScn4oCmJydr ZWknJyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3Jl IHNwZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2VpJycgYW5kICcnZHUndScn4oCmJydrZWknJy4g VGhleSB3b3JrIHRoZSBzYW1lIHdheSwgYnV0IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVudC4gJydu deKApmtlaScnIHRyZWF0cyB0aGUgYnJpZGkgaW4gYmV0d2VlbiBhcyBhbiBldmVudCBvciBzdGF0 ZSwgYW5kICcnZHUndeKApmtlaScnIHRyZWF0cyBpdCBhcyBhbiBhYnN0cmFjdCBicmlkaSwgZm9y IGV4cHJlc3NpbmcgdGhpbmdzIGxpa2UgaWRlYXMsIHRob3VnaHRzIG9yIHRydXRocy4gQWxsIHRo ZXNlIHdvcmRzIChleGNlcHQgJydrZWknJykgYXJlIGNhbGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUg YXJlIG1hbnkgb2YgdGhlbSwgYW5kIG9ubHkgZmV3IGFyZSB1c2VkIG11Y2guICcnc3UndeKApmtl aScnIGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4K CgoKVXNlICcnbnUnJyB0byBzYXkg4oCcSSdtIGhhcHB5IGFib3V0IHRhbGtpbmcgdG8geW91LuKA nQoKX18nJ3RhdmxhJydfXyB4MSB0YWxrcyB0byB4MiBhYm91dCBzdWJqZWN0IHgzIGluIGxhbmd1 YWdlIHg0LgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8g a2VpIGt1JycgKG5vdGljZSBib3RoIHRoZSBFbmdsaXNoIGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3Vl IGFzIHRvIHdobyBpcyBkb2luZyB0aGUgdGFsa2luZykufn4KCgoKT3RoZXIgaW1wb3J0YW50IGFi c3RyYWN0b3JzIGluY2x1ZGU6ICcna2EuLi5rZWknJyAocHJvcGVydHkvYXNwZWN0IGFic3RyYWN0 aW9uKSwgJydzaSdvLi4ua2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5r ZWknJyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFtb25nIG90aGVycy4gVGhlIG1lYW5pbmdzIG9m IHRoZXNlIGlzIGEgY29tcGxpY2F0ZWQgbWF0dGVyLCBhbmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVj aCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS1uaW5lLiBGb3Igbm93LCB5b3UnbGwgaGF2ZSB0byBk byB3aXRob3V0IHRoZW0uCgoKCkl0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCBzb21lIGFi c3RyYWN0b3JzIGhhdmUgc2V2ZXJhbCBzdW10aSBwbGFjZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUn dScnIGNhbiBiZSBtZW50aW9uZWQuICcnZHUndScnIGlzIGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKA nGFic3RyYWN0b3IuIHgxIGlzIHRoZSBwcmVkaWNhdGUvYnJpZGkgb2Yge2JyaWRpfSBleHByZXNz ZWQgaW4gc2VudGVuY2UgeDLigJ0uCgpUaGUgb3RoZXIgc3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEg aXMgcmFyZWx5IHVzZWQsIGJ1dCAnJ2xvIHNlIGR1J3Uge2JyaWRpfSBrZWkga3UnJyBpcyBzb21l dGltZXMgdXNlZCBhcyBhIHN1bXRpIGZvciBpbmRpcmVjdCBxdW90YXRpb246IOKAnEkgc2FpZCB0 aGF0IEkgd2FzIGdpdmVuIGEgZG9n4oCdIGNhbiBiZSB3cml0dGVuICcnbWkgY3Vza3UgbG8gc2Ug ZHUndSBtaSB0ZSBkdW5kYSBsbyBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9u IHRoZSB3ZWlyZCBleGFtcGxlLgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMg dGhyb3VnaCBtZWRpdW0geDQKCl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoK ISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBp dCwgdGhlcmUncyBhbm90aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBj YWxsZWQgcmVsYXRpdmUgY2xhdXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21l IGRlc2NyaXB0aW9uIHRvIGEgc3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBw cmV2aW91cyBzZW50ZW5jZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVz ZSBpbiBFbmdsaXNoIGRlc2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5 IGNvbWUgaW4gdHdvIGZsYXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGlu ZyB0aGUgdHdvIGtpbmRzIGJlZm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhl IHR3byBraW5kcyBhcmUgY2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9y IGluY2lkZW50aWFsKSByZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2Qg aGVyZToKCuKAnE15IGJyb3RoZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRp Y2lhbi7igJ0gVGhpcyBjYW4gYmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZl IHNldmVyYWwgYnJvdGhlcnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMg dGFsbCB3aWxsIGxldCB5b3Uga25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4g T3IgSSBtaWdodCBoYXZlIG9ubHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1w bHkgZ2l2aW5nIHlvdSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdl bGwgYXMgTG9qYmFuIHdlIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0 aGUgZmlyc3QgaW50ZXJwcmV0YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJl c3RyaWN0IHRoZSBwb3NzaWJsZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0 aGUgc2Vjb25kIG5vbi1yZXN0cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0 IGFuZCB0b25lIG9mIHZvaWNlIChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBo ZWxwcyB1cyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2pi YW4uIExvamJhbiB1c2VzIHRoZSBjb25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKA pmt1J28nJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1 c2VzLCByZXNwZWN0aXZlbHkuCgpMZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2gg Y2FuIGFsc28gZXhwbGFpbiBvdXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhl IGV4YW1wbGUgaW4gbGVzc29uIGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3Rp dmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydf XyBiZWdpbiByZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBz dW10aSkKCl9fJydrdSdvJydfXyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8g c2UgZHVuZGEga3UgcG9pIHBsaXNlIGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQg KHNvbWV0aGluZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMg cGxhY2VkIGp1c3QgYWZ0ZXIgJydsbyBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRo ZSBnaWZ0LiBUbyBiZSBzdHJpY3QsIHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lm eSB3aGF0IGl0IGlzLCB3aGljaCBpcyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBj bGF1c2UgYXBwbGllcyB0byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpdCBt ZWFucyB0aGF0IHRoZSBnaWZ0IGlzIGFuIGFwcGxlLiBBZnRlciBhbGwsIGluIHRoZSBjb250ZXh0 IG9mIGxlc3NvbiBmaXZlLCB0aGlzIHNlZW1zIHJlYXNvbmFibGUuIElmIHdlIHdhbnQgdG8gYmUg YWJzb2x1dGVseSBzdXJlIHRoYXQgaXQgaW5kZWVkIHdhcyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBh cHBsZSwgd2UgdXNlIHRoZSB3b3JkICcna2UnYScnLCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChh IExvamJhbiBwcm9ub3VuLCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3Vt dGkgd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydf XyBzdW1rYSdpOyByZWZlcnMgdG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xh dXNlIGl0IGF0dGFjaGVkLgoKCgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2Un YSBwbGlzZSBrdSdvJycgPSDigJxZYXksIEkgZWF0IGEgZ2lmdCB3aGljaCBpcyBhbiBhcHBsZeKA nS4KClRvIHVuZGVybGluZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBu b24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgaGVyZSdzIGFub3RoZXIgZXhhbXBsZToK CgoKX18nJ2xvamJvJydfXyDigJx4MSByZWZsZWN0cyBMb2piYW5pYyBjdWx0dXJlL2NvbW11bml0 eSBpcyBhc3BlY3QgeDI7IHgxIGlzIExvamJhbmljLuKAnQoKCgonJ21pIG5vaSBsb2pibyBrdSdv IGZhbnZhIGZvIGxvIGxvamJvIGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5pYywgdHJhbnNs YXRlIGZyb20gc29tZSBMb2piYW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11 bHRpcGxlIHRoaW5ncyB3aGljaCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0 aGF0IEkgYW0gbG9qYmFuaWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbm90IG5l ZWRlZCB0byBpZGVudGlmeSBtZS4gVGhlcmVmb3JlICcnbm9p4oCma3UnbycnIGlzIGFwcHJvcHJp YXRlLgoKU2VlIGlmIHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1h biB3aG8gaXMgYmVhdXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBh IG1hbuKAnQoKX18nJ21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0 IChrYSkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRz L2NvdXJ0cyB4MiwgZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7a2UnYX0g bWVsYmkga3Unbycnfn4KCgoKT24gYSBtb3JlIHRlY2huaWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0 IGJlIHVzZWZ1bCB0byBrbm93IHRoYXQgJydsbyB7c2VsYnJpfSBrdScnIGlzIG9mdGVuIHNlZW4g ZGVmaW5lZCBhcyAnJ3pvJ2Ugbm9pIGtlJ2Ege3NlbGJyaX0ga3UnbycnLgoKCgoKCiEhTG9qYmFu IExlc3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVybWluYXRvciBlbGlzaW9uKQoKJycuYXUgZGEn aSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGpp bXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3Ug dmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCiAtICDigJxJIHdpc2ggdGhlIEFtZXJpY2Fu LCB3aG8gaXMgbXkgc2libGluZywgd291bGQgdW5kZXJzdGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0 aGF0IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRl bmNlIGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBzaG91bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdv cmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0aGluZyBz dGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQs IG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBnZXQgZmlsbGVkIHdpdGggJydrdScnLCAn J2tlaScnLCAnJ2t1J28nJyBhbmQgb3RoZXIgb2YgdGhvc2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNl bHZlcyBjYXJyeSBubyBtZWFuaW5nLgoKCgpUaGUgZnVuY3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRz IGlzIHRvIHNpZ25hbCB0aGUgZW5kIG9mIGEgY2VydGFpbiBncmFtbWF0aWNhbCBjb25zdHJ1Y3Qs IGxpa2UgZm9yIGluc3RhbmNlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdIGluIHRoZSBj YXNlIG9mICcna3UnJy4gVGhlIEVuZ2xpc2ggd29yZCBmb3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg 4oCcdGVybWluYXRvcuKAnSwgdGhlIExvamJhbiB3b3JkIGlzICcnZmEnb3JtYSdvJycuIFRoZXkg YXJlIHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBsZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3Zh dScnIGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUgZmEnb3JtYSdvIGZvciDigJxlbmQgYnJp ZGnigJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24geW91IGhhdmUgbm90IHlldCBzZWVuIGl0LCBz dGF5IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3JtYSdvOiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJ biBtb3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2piYW4sIG1vc3QgZmEnb3JtYSdvIGFyZSBza2lw cGVkIChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMgc3lsbGFibGVzIGluIHNwZWVjaCBhbmQg c3BhY2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25lIG11c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hl biBlbGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNpbXBsZSBleGFtcGxlICcnbG8gbWVya28ga3Ug a2xhbWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAnJ2t1Jycgd291bGQgeWllbGQgJydsbyBt ZXJrbyBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmdsZSBzdW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1 ICcnbWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLi gJ0gaW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lv biBjYW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMgaWYgZG9uZSBpbmNvcnJlY3RseSwgd2hp Y2ggaXMgd2h5IHlvdSBoYXZlbid0IGxlYXJuZWQgYWJvdXQgaXQgdW50aWwgbm93LgoKCgpUaGUg cnVsZSBmb3Igd2hlbiBmYSdvcm1hJ28gY2FuIGJlIGVsaWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQg bGVhc3QgaW4gdGhlb3J5OiDigJxZb3UgY2FuIGVsaWRlIGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBv bmx5IGlmX18gZG9pbmcgc28gZG9lcyBub3QgY2hhbmdlIHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1 Y3RzIGluIHRoZSBzZW50ZW5jZS7igJ0KCk1vc3QgZmEnb3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxp ZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLiBFeGNlcHRpb25zIGFyZSB0aGUgb2J2aW91cyBv bmVzIGxpa2Ug4oCcZW5kIHF1b3Rl4oCdLWZhJ29ybWEnbyBhbmQg4oCcZW5kIGJyaWRpIGdyb3Vw aW5n4oCdLWZhJ29ybWEnby4gVGhpcyBpcyB3aHkgJyd2YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNl ZCDigJMgc2ltcGx5IGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aXRoICcnLmknJyB3aWxsIGFsbW9z dCBhbHdheXMgdGVybWluYXRlIHRoZSBwcmVjZWRpbmcgYnJpZGkgYW55d2F5LiBJdCBoYXMgb25l IGZyZXF1ZW50IHVzZSwgaG93ZXZlci4gU2luY2UgYXR0aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0 byB0aGUgcHJlY2VkaW5nIHdvcmQsIGFwcGx5aW5nIGl0IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMg aXQgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qgd2hpY2ggaXMgdGVybWluYXRlZC4gVXNpbmcgJyd2 YXUnJywgb25lIGNhbiB0aGVuIHVzZSBhdHRpdHVkaW5hbHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBs eSB0aGVtIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJ3phJ2EgZG8gZHVuZGEgbG8gemRhbmkge2t1 fSBsbyBwcmVudSB7a3V9Li4uIHZhdSBpJ2UnJyAtIOKAnEkgc2VlIHRoYXQgeW91IGdpdmUgYSBo b21lIHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHigJ0KCl9fJydwcmVudScnX18geDEgaXMgYSBw ZXJzb247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpLbm93aW5nIHRoZSBiYXNpYyBydWxlcyBm b3IgZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0aHVzIHJldHVybiB0byB0aGUgb3JpZ2luYWwg c2VudGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZhJ29ybWEnbzoKCgoKJycuYXUgZGEnaSBtaSBk amljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxv IGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtl aSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCgoKV2UgY2FuIHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3Zh dScnIGlzIGdyYW1tYXRpY2FsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UgdGhlIG5leHQgbm9uLWZh J29ybWEnby13b3JkIGlzICcnamltcGUnJywgd2hpY2ggaXMgYSBzZWxicmkuIFNpbmNlIHRoZXJl IGNhbiBvbmx5IGJlIG9uZSBzZWxicmkgcGVyIGJyaWRpLCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQu IFNpbmNlICcnamltcGUnJyBhcyBhIHNlbGJyaSBjYW5ub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNs YXVzZSBlaXRoZXIgKG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkg aW4gZWFjaCBicmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUn JyBjYW5ub3QgYmUgYSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVy a28gcG9pey4uLn0nJywgc28gdGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhl cm1vcmUsIGFsbCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2Ug Y2FuIGJlIGVsaWRlZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1p bmF0ZSBhbGwgb2YgdGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRo OgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgamltcGUg bG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pJycg4oCTIHdpdGggbm8gZmEn b3JtYSdvIGF0IGFsbCEKCgoKV2hlbiBlbGlkaW5nIGZhJ29ybWEnbywgaXQgaXMgYSBnb29kIGlk ZWEgdG8gYmUgYWNxdWFpbnRlZCB3aXRoICcnY3UnJy4gJydjdScnIGlzIG9uZSBvZiB0aG9zZSB3 b3JkcyB3aGljaCBjYW4gbWFrZSB5b3VyIChMb2piYW5pYykgbGlmZSBhIGxvdCBlYXNpZXIuIFdo YXQgaXQgZG9lcyBpcyB0byBzZXBhcmF0ZSBhbnkgcHJldmlvdXMgc3VtdGkgZnJvbSB0aGUgc2Vs YnJpLiBPbmUgY291bGQgc2F5IHRoYXQgaXQgZGVmaW5lcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEg c2VsYnJpLCBhbmQgdGVybWluYXRlcyBleGFjdGx5IGFzIG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4g b3JkZXIgdG8gZG8gdGhhdC4KCl9fJydjdScnX18gZWxpZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMg c2VsYnJpIGZyb20gcHJlY2VkaW5nIHN1bXRpLCBhbGxvd3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBl bGlzaW9uLgoKCgpfXycncHJhbWknJ19fID0g4oCceDEgbG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1 IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3Vf XyBzZSBkamljYSBtaScnID0KCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1p IG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBt ZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXi gJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90IHRp ZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRl IG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMgb2YgJydj dScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkgdW5kZXJz dGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1 Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJy aS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBicm90 aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1l YW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVhc2ll ciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycg d2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYg cG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJseSBi cmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycndmFqbmkn J19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycnamltcGUn J19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR1J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUg YWJvdXQgeDPigJ0KCl9fJydhJ28nJ19fIC0gQXR0aXR1ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlv bmFsIGVtb3Rpb246IEhvcGUgLSBkZXNwYWlyCgoKCicnYSdvIGRvIG5vaSBrZSdhIGxvamJvIC5p J2Uge2t1J299IHtrdX0gY3UgamltcGUgbG8gZHUndSBsbyBmYSdvcm1hJ28ge2t1fSBjdSB2YWpu aSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQgZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIGEgcHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0 YW5kcyB0aGF0IGZhJ29ybWEnbyBhcmUgaW1wb3J0YW504oCdfn4KCgoKRnVuIHNpZGUgbm90ZTog TW9zdCBwZW9wbGUgd2VsbC12ZXJzZWQgaW4gZmEnb3JtYSdvLWVsaXNpb24gZG8gaXQgc28gaW5z dGluY3RpdmVseSB0aGF0IHRoZXkgb2Z0ZW4gbXVzdCBiZSByZW1pbmRlZCBob3cgaW1wb3J0YW50 IHVuZGVyc3RhbmRpbmcgZmEnb3JtYSdvIGFyZSB0byB0aGUgdW5kZXJzdGFuZGluZyBvZiBMb2pi YW4uIFRoZXJlZm9yZSwgZWFjaCBUdWVzZGF5IGhhdmUgYmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1p bmF0b3IgRGF54oCdIG9yICcnZmEnb3JtYSdvIGRqZWRpJycgb24gdGhlIExvamJhbiBJUkMgY2hh dHJvb20uIER1cmluZyBUZXJtaW5hdG9yIERheSwgbWFueSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4g ZmFpbCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQgYWxsIGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVy eSB2ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1bHQuCgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNvIGZhciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJl dHR5IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUgaGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRo ZXJlIGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZpbmVkIHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBp biBtYW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMgYXJlIG5vdCB1c2VmdWwgZm9yIHdoYXQgd2Ug aGFkIGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3YW50IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNs YXRpbmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUgaXMgbm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVy ZSBvZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0IHRvb2wgSSB0cmFuc2xhdGUgd2l0aCwgc2lu Y2UsIG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5 LCB0aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRkIGFkZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRv IHRoZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2ljIHdheSB0byBhZGQgc3VtdGkgcGxhY2VzIGFy ZSB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnICh5ZXMsIGFub3RoZXIgZXhhbXBsZSBvZiBhIGZh J29ybWEnbywgJydmZSd1JycuIEl0J3MgYWxtb3N0IG5ldmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBt aWdodCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNlZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNl IHR3byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlrZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2Zp J28gU0VMQlJJIGZlJ3UnJyBleHRyYWN0cyB0aGUgeDEgb2YgdGhlIHNlbGJyaSBwdXQgaW50byBp dC4gSG93ZXZlciwgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgdGhlIHNlbGJyaSBwbGFjZSBp cyBjb252ZXJ0ZWQsIG5vdCB0byBhIHN1bXRpLCBidXQgdG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5p bmcg4oCcc3VtdGktbGFiZWzigJ0sIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEg b2YgdGhlIHNlbGJyaSBpdCBjb252ZXJ0ZWQuIFRoaXMgJydzdW10Y2l0YScnIHRoZW4gYWJzb3Ji cyB0aGUgbmV4dCBzdW10aS4gT25lIGNvdWxkIHNheSB0aGF0IHVzaW5nIGEgJydzdW10Y2l0YScn LCB5b3UgaW1wb3J0IGEgc3VtdGkgcGxhY2UgZnJvbSBhbm90aGVyIHNlbGJyaSwgYW5kIGFkZCBp dCB0byB0aGUgYnJpZGkgYmVpbmcgc2FpZC4KCk5vdGU6IFNvbWV0aW1lcywgZXNwZWNpYWxseSBp biBvbGRlciB0ZXh0cywgdGhlIHRlcm0g4oCcdGFn4oCdIG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQg Zm9yICcnc3VtdGNpdGEnJy4gSWdub3JlIHRob3NlIHB1bnkgRW5nbGlzaCBleHByZXNzaW9ucy4g V2UgdGVhY2ggcHJvcGVyIExvamJhbiBoZXJlLgoKCgpXaGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNw IHRoZSBwcm9jZXNzIGZyb20gcmVhZGluZyBhYm91dCBpdCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFw cyBzaG93IGl0cyBhY3R1YWwgc2ltcGxpY2l0eToKCl9fJydza2FtaScnX18g4oCceDEgaXMgYSBj b21wdXRlciBmb3IgcHVycG9zZSB4MuKAnQoKX18nJ3BpbG5vJydfXyDigJx4MSB1c2VzIHgyIGFz IGEgdG9vbCBmb3IgZG9pbmcgeDPigJ0KCgoKJydtaSBmYW52YSB0aSBmaSdvIHNlIHBpbG5vIHtm ZSd1fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNv bXB1dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdoaWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBp bG5vJycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEgdG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVv bmUuIFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUn dScnLCBhZGRlZCB0byB0aGUgbWFpbiBzZWxicmksIGFuZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNr YW1pJycuIFRoZSBpZGVhIG9mICcnc3VtdGNpdGEnJyBpcyBzb21ldGltZXMgZXhwcmVzc2VkIGlu IEVuZ2xpc2ggdXNpbmcgdGhlIGZvbGxvd2luZyB0cmFuc2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRl IHRoaXMgd2l0aC10b29sOiBBIGNvbXB1dGVy4oCdCgoKCkEgJydzdW10Y2l0YScnIGNhbiBvbmx5 IGFic29yYiBvbmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0 ZXJuYXRpdmVseSwgdGhlICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3QgY2FuIGJlIHRlcm1pbmF0ZWQg d2l0aCAnJ2t1JycsIGluIHdoaWNoIGNhc2UgYSAnJ3pvJ2UnJyBpcyBpbXBsaWVkIHRvIGZpbGwg dGhlICcnc3VtdGNpdGEnJy4gT3IsIG9uZSBjb3VsZCBpbWFnaW5lIGFuIGVsaWRlZCBzdW10aSBi ZWluZyB0ZXJtaW5hdGVkIHdpdGggdGhlICcna3UnJy4KCl9fJyd6dWt0ZScnX18g4oCceDEgaXMg YSB2b2xpdGlvbmFsIGVudGl0eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZvciBwdXJwb3NlIHgz 4oCdCgoKCicnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBs b2pibyB7a3V9e3ZhdX0nJyAtIOKAnFdpdGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNlZCBzb21l dGhpbmcgTG9qYmFuaWPigJ0gKHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmljIGNvbXB1 dGVyIHdlbnQgc2VudGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhhZCB2b2xp dGlvbi4gSXQgY291bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1lZCB0aGUg Y29tcHV0ZXIgLSBob3cgYm9yaW5nLikKCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkgbGEgbG9q YmFuIHtrdX0gZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bva2VuIHRv IG1l4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRo ZSBzZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25s eSBjYW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2Yg aW1wb3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRseSwgJydm aSdvJycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hh dCBJUyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2Yg TG9qYmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFu IGV4YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFt YXRpY2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1JycuIFRo dXMsIHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Uga3UgbG8g c2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNv bWV0aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBp bmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycg YW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAnJ2ZpJ28g c2UgenVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4K CgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEs IFZFaEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2Ug TG9qYmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJh biBncmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwg dW5saWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBm b3IgaW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAn J21pIGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig 4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKA nEluIGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0u IENvbnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRp b24sIHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVk ZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJh biB0ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1 bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBh Z28gaXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIg YXdheSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFu IHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBs YW5ndWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBwZXJmZWN0 bHkgcmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3Qg aW52b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55 dGhpbmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0s IGFsbCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0 IG1hZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRl bnNlcyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlz IGRpZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3aWxsIGJlIHdvbid0IGJl IGV4cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRoZXkgYXJlIGxpa2UgYWxs IG90aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgbWFraW5nIGl0 IGV4cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1JycuCgpUaGVyZSBhcmUgbWFu eSBkaWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxldCdzIHN0YXJ0IGF0IHRo ZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScnX18gLSBz dW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQgdGhlIHNh bWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtzdW10aX0K CgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCdLCDigJxu b3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291bGQgYXJn dWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0bHkgc2lt dWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBleHRlbmRz IHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVzdCDigJxh Ym91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9uJ3QgcGVyY2VpdmUg dGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVuc2Ugc3lz dGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1Z2dlc3Rl ZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0IGlkZWEs IGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0aXZlLCBh bmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUgdG8gbGVh cm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291bGQgeW91 IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50aW5nIHRv IGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBsbyBudSBt aSBrbGFtYSB0aSB7dmF1fSB7a2VpIHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hlbiBzcGVh a2luZywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCB0aGlzIGFjdGlvbiBp cyBpbiB0aGUgcGFzdCByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVyIGF3YXni gJ0sIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZlIHRvIOKA nG5vd+KAnSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEs IGJlY2F1c2UgaXQncyBvYnZpb3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2 YXV9Jycgb3IKCicnbWkgZHVuZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycgb3IsIG1v cmUgY29tbW9ubHkKCicnbWkgcHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9JycuIFRo ZSBzdW10aSB3aGljaCBmaWxscyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pvJ2UnJywg d2hpY2ggaXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRvIHRoZSBzcGVh a2VyJ3MgdGltZSBhbmQgcGxhY2UgKHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBz cGVha2luZyBhYm91dCBsZWZ0IGFuZCByaWdodCkuIElmIHNwZWFraW5nIGFib3V0IHNvbWUgZXZl bnRzIHRoYXQgaGFwcGVuZWQgc29tZSBvdGhlciB0aW1lIHRoYW4gdGhlIHByZXNlbnQsIGl0IGlz IHNvbWV0aW1lcyBhc3N1bWVkIHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhhdCBl dmVudCB3aGljaCBpcyBiZWluZyBzcG9rZW4gYWJvdXQuIEluIG9yZGVyIHRvIGNsYXJpZnkgdGhh dCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgcG9zaXRp b24sIHRoZSB3b3JkICcnbmF1JycgY2FuIGJlIHVzZWQgYXQgYW55IHRpbWUuIEFub3RoZXIgd29y ZCwgJydraScnIG1hcmtzIGEgdGVuc2Ugd2hpY2ggaXMgdGhlbiBjb25zaWRlcmVkIHRoZSBuZXcg c3RhbmRhcmQuIFRoYXQgd2lsbCBiZSB0YXVnaHQgd2F5IGxhdGVyLgoKX18nJ25hdScnX18gdXBk YXRlcyB0ZW1wb3JhbCBhbmQgc3BhY2lhbCBmcmFtZSBvZiByZWZlcmVuY2UgdG8gdGhlIHNwZWFr ZXIncyBjdXJyZW50IGhlcmUgYW5kIG5vdy4KCgoKX18nJ2d1Z2RlJydfXyA9IOKAnHgxIGlzIHRo ZSBjb3VudHJ5IG9mIHBlb3BsZSB4MiB3aXRoIGxhbmQvdGVycml0b3J5IHgz4oCdCgoKCkFsc28g bm90ZSB0aGF0ICcnbWkgcHUge2t1fSBrbGFtYSBsbyBtZXJrbyBndWdkZSB7a3V9IHt2YXV9Jycs IOKAnEkgd2VudCB0byBBbWVyaWNh4oCdLCBkb2VzIG5vdCBpbXBseSB0aGF0IEknbSBub3Qgc3Rp bGwgdHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUgc29tZSB0aW1l IGluIHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoKQXMgbWVudGlv bmVkLCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBtdWNoIGFsaWtl LiBDb250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0aGVzZSBmb3Vy IHNwYWNpYWwgdGVuc2VzOgoKX18nJ3p1J2EnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtzdW10aX0K Cl9fJydjYSd1JydfXyBzdW10Y2l0YTogaW4gZnJvbnQgb2Yge3N1bXRpfQoKX18nJ3JpJ3UnJ19f IHN1bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnUndScnX18gc3VtdGNpdGE6IGF0IHRo ZSBzYW1lIHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2NhJycpCgoK Cl9fJydvJ28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBhdGllbmNl IC0gdG9sZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5vJ29uYWkgcmkndSB7a3V9IG51 IGxvIHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUge2t1fSB7a3V9IHt2YXV9IHtrZWl9 IHt2YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxpZGVkIGt1ISkKCl9fJydkYXJ4aScn X18geDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQgeDMgYXQgbG9jdXMgeDQKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUgcmlnaHQgKG9mIHNvbWV0aGluZywg cHJvYmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29tZSBldmVudCksIHNvbWV0aGluZyBp cyBhbiBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9nLuKAnSBvciDigJxBIG1hbiBoaXQg YSBkb2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVuc2Ugc3Vt dGNpdGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0IHlvdSByZWFkIHRoZW0gZnJvbSBs ZWZ0IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNhbGxlZCDigJxpbWFnaW5hcnkgam91 cm5leeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxpZWQgcG9pbnQgaW4gdGltZSBhbmQg c3BhY2UgKGRlZmF1bHQ6IHRoZSBzcGVha2VyJ3Mgbm93IGFuZCBoZXJlKSwgYW5kIHRoZW4gZm9s bG93IHRoZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4KCkV4YW1w bGUKCicnbWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9 IHt2YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0 byBrbm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgonJ21pIGJhIHtrdX0gcHUge2t1fSBqaW1wZSBm aSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnIOKAnEF0IHNvbWUgcG9pbnQgaW4gdGhl IGZ1dHVyZSwgSSB3aWxsIGhhdmUgdW5kZXJzdG9vZCBhYm91dCBmYSdvcm1hJ29zLuKAnQoKU2lu Y2Ugd2UgZG8gbm90IHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIHdlIG1vdmUgYmFjayBvciBm b3J0aCwgdGhlIHVuZGVyc3RhbmRpbmcgY291bGQgaW4gYm90aCBjYXNlcyBoYXBwZW4gaW4gdGhl IGZ1dHVyZSBvciB0aGUgcGFzdCBvZiB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlLgoKCgpBbHNvLCBp ZiBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZXMgYXJlIG1peGVkLCB0aGUgcnVsZSBpcyB0byBh bHdheXMgcHV0IHRlbXBvcmFsIGJlZm9yZSBzcGFjaWFsLiBJZiB0aGlzIHJ1bGUgaXMgdmlvbGF0 ZWQsIGl0IGNhbiBzb21ldGltZXMgcmVzdWx0IGluIHN5bnRhY3RpY2FsIGFtYmlndWl0eSwgd2hp Y2ggTG9qYmFuIGRvZXMgbm90IHRvbGVyYXRlLgoKCgpTdXBwb3NlIHdlIHdhbnQgdG8gc3BlY2lm eSB0aGF0IHRoZSBhIG1hbiBoaXQgYSBkb2cganVzdCBhIG1pbnV0ZSBhZ28uIFRoZSB3b3JkcyAn J3ppJycsICcnemEnJyBhbmQgJyd6dScnIHNwZWNpZmllcyBhIHNob3J0LCB1bnNwZWNpZmllZCAo cHJlc3VtYWJseSBtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHRpbWUuIE5vdGljZSB0aGUg dm93ZWwgb3JkZXIgJydpJycsICcnYScnIGFuZCAnJ3UnJy4gVGhpcyBvcmRlciBhcHBlYXJzIGFn YWluIGFuZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBtaWdodCBiZSB3b3J0aCB0byBtZW1vcml6ZS4g 4oCcU2hvcnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4gYXJlIGFsd2F5cyBjb250ZXh0IGRlcGVuZGVu dCwgcmVsYXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3byBodW5kcmVkIHllYXJzIGlzIGEgc2hvcnQg dGltZSBmb3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwgYnV0IGEgbG9uZyB0aW1lIHRvIHdhaXQgZm9y IHRoZSBidXMuCgpfXycnemknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFu Y2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3phJydf XyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yg e3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3p1JydfXyBzdW10 Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSB0 aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1pbGFybHksIHNwYWNpYWwgZGlzdGFuY2UgaXMg bWFya2VkIGJ5ICcndmknJywgJyd2YScnIGFuZCAnJ3Z1JycgZm9yIHNob3J0LCB1bnNwZWNpZmll ZCAobWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiBzcGFjZS4KCl9fJyd2aScnX18gc3VtdGNp dGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20g cG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVu c3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50 IG9mIHJlZmVyZW5jZSAKCl9fJyd2dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlz dGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgpf XycnZ3Vua2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgyIHdpdGggb2JqZWN0aXZlIHgz4oCdCgoKClRy YW5zbGF0ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1IHtrdX0gZ3Vua2Ege3ZhdX0nJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgd29yayBh IHBsYWNlIGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQZW9wbGUgcmFyZWx5IHVzZSAnJ3ppJycsICcn emEnJyBvciAnJ3p1Jycgd2l0aG91dCBhICcncHUnJyBvciAnJ2JhJycgaW4gZnJvbnQgb2YgaXQu IFRoaXMgaXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5IHBhc3Qg b3IgZnV0dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gV2hlbiB5b3UgdGhpbmsgYWJvdXQg aXQgTG9qYmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0aW1lIHRoZSB0aW1lLWRpcmVjdGlvbiBpcyBv YnZpb3VzLCBhbmQgdGhlICcncHUnJyBvciAnJ2JhJycgc3VwZXJmbHVvdXMhCgoKClRoZSBvcmRl ciBpbiB3aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEgYW5kIGRpc3RhbmNlLXN1bXRjaXRhIGFyZSBz YWlkIG1ha2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1iZXIgdGhhdCB0aGUgbWVhbmluZ3Mgb2Ygc2V2 ZXJhbCB0ZW5zZSB3b3JkcyBwbGFjZWQgdG9nZXRoZXIgYXJlIHBpY3R1cmVkIGJ5IGFuIGltYWdp bmFyeSBqb3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUgenUnJyBp cyDigJxhIGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRoZSBwYXN0 IG9mIHNvbWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQgdGhlIGZ1 dHVyZSBvciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAnJ3B1Jycg c2hvd3MgdGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBpdCBpcyBh IGxvbmcgdGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScnIHNob3dz IHRoYXQgd2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20gbm93LCAn J3B1JycgdGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQuIFRodXMg JydwdSB6dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJlIGluIHRo ZSBmdXR1cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBpbiB0aGlz IHdheSBpcyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5k IG90aGVyIHN1bXRjaXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJlIG5vdCBh bHRlcmVkIGJ5IHRoZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEgYnJpZGku CgoKCkFzIGJyaWVmbHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0cyBiYXNp Y2FsbHkgdHJlYXQgYnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGltZSBhbmQg c3BhY2UuIEluIGFjdHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNwYW4gb2Yg dGltZSBhbmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdlIHdpbGwg bGVhcm4gaG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoKCgpfXycn emUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHRpbWUgb2Yge3N1bXRp fQoKX18nJ3plJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAo bWVkaXVtKSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcg b3ZlciB0aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3ZlJ2knJ19fIHN1bXRjaXRhOiBz cGFubmluZyBvdmVyIHRoZSBzaG9ydCBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUnYScnX18gc3Vt dGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHNwYWNlIG9mIHtz dW10aX0KCl9fJyd2ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFj ZSBvZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJlbWVtYmVy aW5nIHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGluaXRpYWwg bGV0dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5zZXMgbWln aHQgaGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6IHBhaW4g LSBwbGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2ZSd1IHtrdX0ga2xhbWEgbG8g ZG90Y28gZ3VnZGUge2t1fSB6ZSd1IHtrdX0ge3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnE91Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGltZSB0cmF2ZWxpbmcgYSBsb25nIHNwYWNlIHRv IEdlcm1hbnnigJ0gfn4KCgoKVGhvdWdoIG1vc3QgcGVvcGxlIGFyZSBub3QgZmFtaWxpYXIgd2l0 aCBzcGFjaWFsIHRlbnNlcywgdGhlc2UgbmV3IHdvcmRzIGNhbiBvcGVuIHVwIGZvciBzb21lIHBy ZXR0eSBzd2VldCB1c2VzLiBPbmUgY291bGQsIGZvciBpbnN0YW5jZSwgdHJhbnNsYXRlIOKAnFRo YXQncyBhIGJpZyBkb2figJ0gYXMgJyd0aSB2ZSd1IHtrdX0gZ2Vya3Uge3ZhdX0nJy4gU2F5aW5n OiDigJxUaGlzIHRoaW5nIGRvZ3MgZm9yIGEgbG9uZyBzcGFjZeKAnSBtYWtlcyB5b3Ugc291bmQg cmV0YXJkZWQgaW4gRW5nbGlzaCwgYnV0IHdlbGwtc3Bva2VuIGluIExvamJhbiEKCgoKJyd6ZSd1 JycgYW5kIGl0cyBicm90aGVycyBhbHNvIGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMgdG8gZm9y bSBjb21wb3VuZCB0ZW5zZXMuIFRoZSBydWxlIGZvciAnJ3plJ3UnJyBhbmQgdGhlIG90aGVycyBh cmUgdGhhdCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBvZiB0aGUg cHJvY2VzcyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFueSB0ZW5z ZXMgY29taW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2ZSB0byB0 aGUgZmlyc3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxlIG9mIGV4 YW1wbGVzOgoKJycubydvY3UnaSBkbyBjaXRrYSBwdSB7a3V9IHplJ3Uge2t1fSBiYSB7a3V9IHp1 IHtrdX0ge3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGluIHRoZSBw YXN0IGFuZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGludG8gdGhl IGZ1dHVyZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUgZm9yIGEg bG9uZyB0aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHplJ2kge2t1 fSBwdSB7a3V9IGtsYW1hIHt2YXV9Jycgd2l0aCAnJ2RvIHB1IHtrdX0gemUnaSB7a3V9IGNhIHtr dX0ga2xhbWEge3ZhdX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMgb25lIGVu ZHBvaW50IGluIHRoZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMgdGhlIHBh c3QsIHdoaWxlIHRoZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcGFzdCBh bmQgZXh0ZW5kcyBvbmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGludG8gdGhl IHBhc3Qgb3IgZnV0dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDigJx4MSBp cyBhbGl2ZSBieSBzdGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUge2t1fSB6 aSB7a3V9IHplJ3Uge2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhlIHBhc3Qg YW5kIGEgbG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNseSB0aGUg ZnV0dXJlLCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywg YW5kIGhhdmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVzdCB0byB1 bmRlcmxpbmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV0J3MgaGF2ZSBh bm90aGVyIGV4YW1wbGUsIHRoaXMgdGltZSB3aXRoIHNwYWNpYWwgdGVuc2VzOgoKX18nJy51J2Un J19fIGF0dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy51J2UgemEnYSB7a3V9 IGJ1J3Uge2t1fSB2ZSd1IHtrdX0gY2EndSB7a3V9IHpkYW5pIHt2YXV9JycgLSBXaGF0IGRvZXMg aXQgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCce3dvbmRlcn0ge0kgb2JzZXJ2ZSF9 IEV4dGVuZGluZyBhIGxvbmcgc3BhY2UgZnJvbSBoZXJlIHRvIG15IGZyb250IGlzIGEgaG9tZS7i gJ0gb3Ig4oCcV293LCB0aGlzIGhvbWUgZXh0ZW5kaW5nIGFoZWFkIGlzIGh1Z2Uh4oCdfn4KCgoK QmVmb3JlIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBzeW50YXgtaGVhdnkgdGVuc2Ugc3lzdGVtLCBp IHJlY29tbWVuZCBzcGVuZGluZyBhdCBsZWFzdCB0ZW4gbWludXRlcyBkb2luZyBzb21ldGhpbmcg d2hpY2ggZG9lc24ndCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhlIGluZm9y bWF0aW9uIHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNsb3dseSAt IHdoYXRldmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCiEhTG9qYmFu IExlc3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbid0IGdvIHRocm91 Z2ggYWxsIExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3csIHRoZXJlIGlzIG9uZSBvdGhl ciBraW5kIG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUgdGF1Z2h0IG5vdy4gVGhlc2Ug YXJlIGNhbGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJlcHJlc2VudCBhIHZlcnkgZGlm ZmVyZW50IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUgc2VlbiBzbyBmYXIuIFNv IGxldCdzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZlIGxlYXJuZWQgc28g ZmFyLCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwgYW5kIHdlIHRoZW4g cGxhY2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCcbm934oCdLiBXaXRo IGV2ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQgYXMgYSBwcm9jZXNz LCB3aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQgdW5mb2xkcywgYSB0 aW1lIHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9jZXNzLCBhIHRpbWUg d2hlbiBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4gRXZlbnQgY29udG91 cnMgdGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudCdzIHByb2Nlc3Mgd2FzIGhh cHBlbmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5zZXMuIFdl IG5lZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHUnbycnX18gLSBzdW10Y2l0 YTogZXZlbnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVuZWQgZHVyaW5nIHtzdW10 aX0KCl9fJydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBw cm9jZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29u dG91cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9CgoKClRo aXMgbmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXQncyAnJy51 aSBtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoKCgpBbnN3ZXI6IOKAnFlheSwg SSdsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywgd2h5IG5v dCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2ZW4gc2F2 ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdpbGwgaGF2 ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5b3UgaGF2 ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ugc2F5IHRoYXQgeW91IGFy ZSBub3cgaW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhhdmluZyBhIGhvbWUsIHdo aWNoIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRoZSB3YXks IHRoYXQgJydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMgc2ltaWxhciB0byAnJ21pIHB1 J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2JhJ28nJyBhbmQg JydwdScnLiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNhdXNlIGV2ZW50IGNvbnRvdXJz IHZpZXcgdGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgdGhlIHByb2Nl c3MsIHdoZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20gdGhlIHBy ZXNlbnQuCgoKCk9mdGVuLCBldmVudCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRoYXQgb3Ro ZXIga2luZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGlldmVkIGJ5IGNvbWJp bmluZyBzZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6aSB7a3V9IGJhJ28ge2t1fSBn dW5rYSB7dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5pc2hlZCB3b3JraW5nLuKAnQoK CgpJbiBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50J3Mg4oCcbmF0dXJhbCBi ZWdpbm5pbmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCcbmF0dXJh bOKAnSBpcyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5hdHVyYWwg ZW5kIHJlZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hvdWxkIGVu ZC4gWW91IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRoYXQgaXRz IHByb2Nlc3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0cyBuYXR1 cmFsIGVuZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5LCBpcyBi ZWluZyBlYXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJlZ2lubmluZy4gVGhlIGV2 ZW50IGNvbnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6CgoKCl9f Jyd6YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNz IGJleW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0KCl9fJyd4YSdvJydfXyAtIHN1 bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nlc3MgZHVy aW5nIHtzdW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2ggaXMgZWRp YmxlIGZvciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHphJ28gbG8gbnUgZG8g YmEnbyB7a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3Unb30ge3ZhdX0g e2tlaX0ge2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVwIGVhdGlu ZyB3aGVuIHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRoaW5nIGVk aWJsZSHigJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KCklt YWdlIGFib3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2VzIGFib3Zl IHRoZSBsaW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBhbW91bnQg b2YgdGltZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0YWdlcyB3 aGljaCBhcmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJlZW4gZGVz Y3JpYmluZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAoYXMgc2hv d24gb24gdGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50IGxpa2Up LiBCdXQgbWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxpa2Ugc3Rh Z2VzIGluIHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUgb2YgJydj YScnIGFuZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50byB0aGUg cGFzdCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBwcmVjaXNl LgoKCgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91cnMgYXJl OgoKX18nJ2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0 cyBiZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1JydfXyAtIHN1bXRjaXRhOiBldmVu dCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoKCkZ1cnRo ZXJtb3JlLCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVyYWxseSBj b21wbGV0ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21vJ3UnJ19f IC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBuYXR1cmFsIGVuZGlu ZyBkdXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBwcm9jZXNzZXMgYWN0 dWFsbHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdoYXQgbWFrZXMgaXQg bmF0dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVvcGxlIHVzdWFsbHkg cmV0cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoKCgpTaW5jZSBhIHBy b2Nlc3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBwb2ludHMgaGF2ZSBl YXJuZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZSdhJydfXyAtIHN1bXRj aXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7c3VtdGl9CgpfXycn ZGknYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1pbmcgZHVy aW5nIHtzdW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgxIHBheXMg YXR0ZW50aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQgJydkaSdhIGp1bmRpJycgYXJl IGNvbW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFuZCDigJxiYWNr4oCdLiBP bmUgY291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBjb250b3VycyBieSB0aGVtc2Vs dmVzIGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoKRmluYWxseSwgb25lIGNhbiB0 cmVhdCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5kIGFzIG9u ZSBzaW5nbGUgcG9pbnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVubWknJ19fIOKAnHgxIG1lZXRz IHgyIGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjbydpIHtrdX0gcGVu bWkgbG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0bGUgd2hpbGUgYWdvLCBJ IHdhcyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBhIEdlcm1hbiBwZXJzb27igJ0K CgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAob3JkZXJzIGFuZCBxdWVzdGlv bnMpCgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGggc3ludGF4IGhlYXZ5IExvamJh biBnaXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBhYm91dC4gRXNwZWNpYWxseSBi ZWNhdXNlIGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4gU28gbGV0J3MgdHVybiB0byBz b21ldGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoKCldoYXQg dGhlLi4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4cHJlc3Mg b3JkZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjbGF1 c2UsIHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtpbmcgdG8s IGFuZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0aW9uIHNv bWVvbmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJzdGFuZHMg dGhhdCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVjdGVkIHRv d2FyZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJqZWN0IGlz IG5vdCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWllbGRzICcn em8nZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVzLiBJbnN0 ZWFkLCB3ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2ZSBmb3Jt IG9mICcnZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lzZSwgaXQncyBlcXVpdmFsZW50 IHRvICcnZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1hbnRpY3MsIHNpbmNlIGl0IHR1 cm5zIGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBpbnRvIGFuIG9yZGVyLiDigJxE byBzdWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9JydrbycnIeKAnSBGb3Ig dGhlIHNhbWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5nbGlzaCBzZW50 ZW5jZXMsIHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBvdGhlciBz dW10aSB0aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28gZmFyIGF3 YXkgZm9yIGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2VsYnJpPykK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+fgoKKCcnLmkgemEnYSBk YWkgYSdvIG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5pIGtvIGppbXBlIHZhdSAudWkn JykgLSBsb29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGluIExvamJh biBhcmUgdmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5kczogRmls bCBpbiB0aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0 aCB0aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdzIHByZXR0eSBvdmVyY29tZWFi bGUsIHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUnJyB3b3Jr cyBsaWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBhbnl3aGVy ZSwgYW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1Y3QpLiBJ dCB0aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNraW5nIHdo ZXRoZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNpbXBseSBy ZXBlYXQgdGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycgJycuaSB2ZSd1IHpkYW5pIG1p JycsIG9yIHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhlIGJyaWRp IHdpdGggYWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoKVGhlcmUg aXMgYW4gZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBicmlrYSdpLCBidXQgdGhvc2Ug YXJlIGEgdGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig4oCcZmFs c2XigJ0sIHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRoYXQgdG9v LCB3aWxsIGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVlc3Rpb24g YW5zd2VyaW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5r LiBIZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNlZCBmb3Ig YSBjb25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2 ZXJhbCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tpbmcgYWJv dXQ6CgpfXycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxicmkgcXVl c3Rpb24KCl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9fJydjdSdlJydfXyAtIHRlbnNl IHF1ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBhIHN1bXRp LCB5b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3YW50IHlv dXIgYW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8gYmUgZmls bGVkIHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KAnS4gVGhl IGNvbWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1bCBpbmRl ZWQ6CgpfXycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0cmFjdGlv biBvZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kgbWEnJyAtIOKAnE95LCB3aHkg ZG8geW91IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVyIG9uZS4gVGhpcyB0aW1lLCB5 b3UgdHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8nJwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5nIGFsbCB0 aGlzIGxvbmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBhbHNvIG1l YW4g4oCcd2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcnLnVhIG5h aSBsaSdhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBpcyBqdXN0IGJlaW5nIGluY3Jl ZGlibHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0b25lIG9mIHZvaWNlIG9yIHNl bnRlbmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhlciBhIHNlbnRlbmNlIGlzIGEg cXVlc3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBxdWVzdGlvbiB3b3JkLiBU aGVyZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUgb24gd29yZHMgaW4gdGhl IGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQncyB1c3VhbGx5IHdvcnRo IHRoZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28gdGhhdCB0aGUgcXVlc3Rpb24g d29yZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBub3QgZmVhc2FibGUsICcncGF1 JycgaXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBzZW50ZW5jZSBpcyBhIHF1ZXN0 aW9uLiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBtYXJrcyBhbnkgcXVlc3Rpb24g YXMgYmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRoZSB0b3BpYyBvZiBxdWVz dGlvbnMsIGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcna2F1Jycs IHdoaWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hhdCdzIGFu IGluZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9vayBhdCB0aGUgc2VudGVu Y2U6ICcnbWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8nJyAtIOKAnEkga25vdyB3aGF0 IGlzIHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g4oCceDEga25vd3MgZmFjdChzKSB4MiBh cmUgdHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9uZSBjYW4gdGhpbmsgaXQg YXMgdGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBkbycnLiBNb3JlIHJhcmVs eSwgb25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAnJ2thdScnLCBpbiB3aGlj aCBjYXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5zd2VyIHRvIGEgcXVlc3Rp b246ICcnbWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25vdyB3aGF0 IHlvdSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoKQmFjayB0 byBtb3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVuJ3QgYWxy ZWFkeSwgSSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBMb2piYW5pYyByZWNvcmRpbmcg Y2FsbGVkICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8gc29tZW9u ZSBzcGVhayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFjdGljZSB5b3VyIHByb251bmNp YXRpb24uIEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24gaW4geW91ciBoZWFkIGluIExv amJhbiBpcyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhlIHdyb25nIHNvdW5kcywg YW5kIGxlYXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3cml0dGVuIHRleHQgaXMgaGFyZC4gVGhl cmVmb3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5kcywgaG93 ZXZlciBpbXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0aW9uIHRv IHRoZSBMb2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUgd29yZCBp cyBkZXJpdmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz4oCdLCBh bmQgaW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRzIGZyb20g bGV0dGVycyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVkIHdpdGggc3ludGF4IC0gaG93IHdlIG1h a2Ugc2VudGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRlcyB3aXRoIGRpZmZlcmVudCBt b3JwaG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5IHRoZWly IG1vcnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhvdWdoLCB3 b3JkcyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBtb3JwaG9s b2dpY2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1ci4KCnx8ICAgQ2xhc3N8TWVh bmluZ3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRzOnwgICB8ICAgfCAgIAoK ICAgQnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChleGNsdWRp bmcg4oCcIOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93ZWwuICAg fCAgIEFjdHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNlIHN0cnVj dHVyZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZvcm0gQ1ZD Q1Ygb3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMgYmFzaWMg Y29uY2VwdHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4gRGVyaXZlZCBmcm9tIGZyb20g 4oCcbHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKAnSB8ICAgTWluLiA2IGxldHRl cnMuIE1hZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGggYmluZGluZyBsZXR0ZXJz IGlmIG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBjb25jZXB0cyB0aGFuIGdpc211 LgoKICAgLS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxhLCBidXQgZG8gbm90IG1lZXQg ZGVmaW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScnICB8ICAg Q292ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNlcyBvciBvcmdhbmlzbXMu CgogICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBhbmQgZW5kaW5nIHdpdGggcGF1 c2UgKGZ1bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEgY29uc29uYW50LnwgICBBbHdh eXMgYWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAgIENtYXZv fCAgIEdyYW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1lYW5pbmcg4oCcc21hbGwgd29y ZOKAnXwgT25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQgdGhlIGJlZ2lubmluZy4gRW5k cyBpbiBhIHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgogICBXb3Jk LWZyYWdtZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMsIENWJ1Ys IC1DVkNDViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBhY3R1YWwgd29yZHMsIGJ1 dCBjYW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8fAoKCgoKCl9fJydjbWV2 bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBl bmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQg dGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEgY2FuJ3QgaGF2ZSBhbnkgb3Ro ZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwg bmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2piYW4gd2l0aG91 dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3RlIHdvcmRzLiBP bmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcgdGhlIGxldHRl cnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAnJy5pb2hBTi4n JyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChNYXR0KSBhbmQg JycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90IGVuZCBpbiBj b25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSksIG9yIChw cm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpfXycnYnJp dmxhJydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBieSBkZWZh dWx0IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29yZHMgd2l0 aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0g dGhlIEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFybHkgaW1w b3NzaWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0 IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4g bW9zdCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJl ZCBieSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJj YXRlZ29yaWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qgd29yZHMgb2YgdGhlIGxhbmd1 YWdlLiBPbmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcgbmV3IG9uZXMgYXJlIGFk ZGVkLiBUaGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxpa2Ug4oCcY2lyY2xl4oCd LCDigJxmcmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCdLiBFeGFtcGxlcyBpbmNs dWRlICcnemRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9fJydsdWp2bycnX18gYXJl IG1hZGUgYnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFmc2kpLCByZXNwcmVzZW50aW5n IGdpc211LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRvd24gdGhlIG1lYW5pbmcg b2YgdGhlIHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0ZSBhbGdvcml0aG0sIHNv IG1ha2luZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1wb3NzaWJsZSwgd2l0aCBm ZXcgZXhjZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcnc2UgcHJhbWknJywgd2hpY2gg Y2FuIG9ubHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1hZGUgb25j ZSwgaXRzIHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmluaXRpb24g aXMgbWFkZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVkZSBicml2 bGEgKGJyaWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9IGZsaXJ0 aW5nKSBhbmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18nJ2Z1J2l2 bGEnJ19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRlZmluaXRp b24gZm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVuZCB0byBj b3ZlciBjb25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIgYnkgbHVqdm8sIGZvciBpbnN0 YW5jZSBuYW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkgY3VsdHVyYWwgc3BlY2lmaWMg Y29uY2VwdHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3VyaW8nJyAoS29yZWEpICcnY2lk anJwaXRzYScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwpLgoKCgpfXycnY21hdm8nJ19f IGFyZSBzbWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFudHMuIFRoZXkgdGVuZCB0 byBub3Qgc2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29ybGQsIGJ1dCB0byBoYXZl IG9ubHkgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2NjdXIsIGFuZCBpdCdzIGRl YmF0YWJsZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFtbWF0aWNh bCBmdW5jdGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2YgdGhlIGNs YXNzIEdPaEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUgc2V2ZXJh bCBjbWF2byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMsIHRoYXQg d29uJ3QgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlvbmFsIHVu aXRzLCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywgJycudWlw dXp1dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVyc3Rvb2Qg YXMgJycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4gd29yZHMs IG9uZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9wIGJlZm9y ZSBhbnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBmb3JtIHhW ViwgQ1YnVlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdoaWNoIGFy ZSBub3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFkZGVkIGJ5 IExvamJhbiB1c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycncmFmc2kn J19fIGFyZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9uZS4gSG93 ZXZlciwgc2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3JtIGx1anZv LiBUaGVzZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9uLCBmb3Ig aW5zdGFuY2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBhIGNvbnNv bmFudCAod2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaSdla2VpJycgaXMgaW52YWxp ZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3RlciwgYW5kIGlz IHRodXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00 IGxldHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcnenUnZScn LCB3aGljaCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBmb3IgJyd6dWt0ZScnLiBOb3Rl IHRoYXQgdGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSB3b3Vs ZCBiZSBncmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIGhvbW9waG9uZXMu IEFsbCBnaXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFyZSBwcmVmaXhlZCB3aXRo IGFub3RoZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBvZiBhIGdpc211IHN1ZmZpeGVk IHdpdGggYW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0aGV5IGFyZSBzdWZmaXhl ZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2FuIG9ubHkgYXBwZWFyIGluIGx1 anZvIG9yIGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0aW9ucyBhcmU6IENWViwg Q1YnViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNpbmcgd2hh dCB5b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRlc3QgaSB0 aHVzIHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3JkcyBhcyBj bWV2bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdpdmxhJycgKGYpIG9yIGNtYXZv IChjKToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBIICkgLmkn aQoKQyApIGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4gICAgICAgIEogKSBwbGFqdmEK CkUgKSBwbydlICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCApIC5lcnRz YQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBmLWwsIGct QywgaC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3RvcHMgYmVm b3JlIGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0b28gZWFzeS4KCk5vdGU6IHNv bWUgb2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0aGUgZGlj dGlvbmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3RpbGwgbWFr ZXMgaXQgYSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5lZCBnaXNtdS4gU2ltaWxhcmx5 IHdpdGggJycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmb3VydGVl biAodGhlIExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3UgaGF2ZSByZWFkIGFuZCB1 bmRlcnN0b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1bnRpbCBub3csIHlvdSBo YXZlIGFtYXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9mIExvamJhbiBzbyB0aGF0IGl0 IGRvZXNuJ3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVzdC4gQXMgYSBy ZXN1bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBtaXh0dXJlIG9m IHNvcnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBpbXBvcnRhbmNl IGluIG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUgYmlnZ2VzdCBj b25zdHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93bGVkZ2Ugb24g aG93IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycgYW5kICcnbG8g U0VMQlJJJycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhvdyBpbXBv cnRhbnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0aGUgZm9s bG93aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3csIHdlIGZv Y3VzIG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdpdGggYXJ0 aWNsZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcnZ2Fkcmkn JywgYW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRlcm1pbmF0 ZWQgYnkgJydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xhIENNRVZMQScnLCAnJ2xh aSBDTUVWTEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxsIGJlZ2luIGJ5IGRlc2NyaWJp bmcgdGhyZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRpLCBhbmQgdGhlbiBpbW1l ZGlhdGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6CgpfXycn bG8nJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1 bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNz LW5lc3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRpdmUg4oCcY29udmVy dCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRp dmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6 IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBU cmVhdCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJlYWR5IGZhbWlsaWFy IHdpdGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMgaXQgbWVhbiwg4oCc dmVyaWRpY2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21h c3MtbmVzc+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLCBJJ2xs IGNvbWUgYmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs4oCdIGluIHRoaXMgY29u dGV4dCBtZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1YWxpZnkgYmVnaW4gbGFi ZWxsZWQgYXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFsbHkgJydrbGFtYScnLiBUaHVz LCB2ZXJpZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBvciBmYWxz ZSAtIHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhlIHgxIG9m IHRoZSBzZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkgYmUgY29udHJhc3RlZCB3aXRo ICcnbGUnJywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5vdCB2ZXJpZGljYWwuIFNh eWluZyAnJ2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBvciBtb3JlIHNwZWNpZmlj IG9iamVjdHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAnJ2dlcmt1JycgdG8gZGVz Y3JpYmUgaXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVudGlmeSB0aG9zZSBzcGVjaWZp YyBvYmplY3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3byBpbXBvcnRhbnQgZGlm ZmVyZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5vdCByZWZlciB0byBvYmplY3Rz IGluIGdlbmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNpZmljIG9iamVjdHMuIFNlY29u ZGx5LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBkb2dzLCAn J2xlIGdlcmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55dGhpbmcs IGFzIGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxsIGhlbHAg aWRlbnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtlciBpcyBy ZWZlcnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVtIGFuZCB0 aGluayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJlIHVuZGVy c3Rvb2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFzaXNlZCBp biBtb3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBpcyB1c3Vh bGx5IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJlIGlzIGEg Z29vZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1lZCB0byBy ZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0cmFuc2xh dGlvbiwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz 4oCdLCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUgZG9nc+KA nS4gRXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp 4oCdIOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJlIGlzICcn bGEnJywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5 IGNhbGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBp dCdzIG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwgc2luY2UgaXQgcmVmZXJzIHRv IGEgcHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0byBhIHBlcnNvbiBjYWxsZWQg SW5ub2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmliZSBoZXIgYXMgYmVpbmcgaW5u b2NlbnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkgc3RhdGUgdGhhdCBieSBj b252ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBieSB0aGF0IHNlbGJyaSBvciBj bWV2bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBkZXJpdmVkIGZyb20gaXQgY2Fu IGNvbnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScnLiBBbHNv OiBCZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRpb24gdGhhdCBuYW1lcyBjYW4g YmUgZm9ybWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBnYWRyaSAnJ2xhJycuIEJ1 dCB0aG9zZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBhcmUgYXMgZ29vZCBhcyB0 aGV5IGdldCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0aGVtLgoKJydsYScnLCBh cyB3ZWxsIGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJpdCBlY2NlbnRyaWMsIHNpbmNl IHRoZXkgX19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmFtZS4gVW5saWtlIHRo ZSBvdGhlciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1hdGljYWxseSBwbGFjZWQg YWZ0ZXIgJydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBu YW1lLiBGb3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJteSBkb2ciLCBidXQgJydsYSBt aSBnZXJrdScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoKCgpUaGVzZSB0aHJlZSBiYXNp YyAnJ2dhZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUgbW9yZSwgd2hpY2ggY29ycmVz cG9uZHMgdG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg 4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4K Cl9fJydsZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1 bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9fJydsYWknJ19fIC0gZ2Fkcmk6 IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZs YSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKCgpUaGVzZSBhcmUgdGhl IHNhbWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhlIHN1bXRp IGV4cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3QgaW4gcXVl c3Rpb24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBvYmplY3Qg YXJlIGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRz IGxpZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2YgaW5kaXZp ZHVhbHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUgc2FpZCB0 byBmaXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJzIG9mIHRo ZSBncm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2NyaWJlIGEg cGFjayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBiZWluZyBi bGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBhcmUgYmxh Y2suIEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxicmkgd2hp Y2ggaXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8gc3BlYWsu IEhvd2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBtdXN0IGJl IGRvZ3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5vdGlvbiBv ZiAibWFzc2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVpcmVzIHNvbWUgZXhhbXBsZXMg dG8gZGVtb25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4gaGF2ZToKCl9fJydzcnVyaScn X186IOKAnHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFuZS9kaXJl Y3Rpb25zIHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFuaScnIC0g4oCcVGhlIHBl b3BsZSBzdXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2libGUsIGV2ZW4gdGhvdWdoLCB5 byBtb21hIGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBsZXRlbHkgaW1wbGF1c2libGUg dGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFsb25lLiBB biBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFsbHBveCBp biB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQgdGhlIG1h c3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUgaW4gRW5n bGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1 c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNh biBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFuLiBBbm90 aGVyIGV4YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBhIGJpb2xvZ2ljYWwgY2VsbCBv ZiBvcmdhbmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBhIGh1bWFuIgoKJydsb2kgbWl2 eXNsZSBjdSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFyZSBodW1hbiIuIEFnYWlu LCBub25lIG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwgdGhlIGNlbGxzIGhhdmUgdmVy eSBmZXcgaHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNpZGVyZWQgYXMgYSB3aG9sZSBt YWtlcyB1cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcnbGVpJycsIHN1Y2ggYXMgJyds ZWkgZ2Vya3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBncm91cCBvZiBzcGVjaWZp YyBpbmRpdmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtlciByZWZlcnMgdG8gYXMgJyds ZSBnZXJrdScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkgJydsYWknJyBhcmUgb25seSBh cHByb3ByaWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1lZCBzdWNoLCBhbmQgbm90 IGp1c3QgaWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBob3dldmVyIGJlIHVzZWQg aWYgdGhlIGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBvZiB0aGF0IGdyb3VwLgoK CgpJdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycgYW5kICcnbGUnJyBjYW4g YmUgdXNlZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFuZCBtYXNzZXMuIExldCdzIHNh eSBhIHBhY2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3MgbmVlZHMgZGVzY3JpcHRpb24u IEkgbWlnaHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1Jycgb3IgJydsbyBnZXJr dScnLiBJZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRvIGNvcnJlY3RseSBzdGF0ZSBz b21ldGhpbmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24sIGJ1dCByZWFsbHkgaXNu J3Q6ICcnbG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3MgYXJlIG5vdCBkb2dzIi4gU2lu Y2UgaXQncyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0aGUgbWFueSBkb2dzIGNv bnNpZGVyZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCByYXRoZXIgYSBwYWNrIG9mIGRv Z3MuCgpZb3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgbm8gd29yZCB3aGljaCB1 bmFtYmlndW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlkdWFsKHMpLiBJbiBvcmRlciB0 byBiZSBleHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25lIG5lZWRzICcnbG8nJywgJyds ZScnIG9yICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIuIFRoZSBzdWJqZWN0IG9mIHF1 YW50aWZpZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS10d28u IFdoYXQgaXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJydsZScnIHZhZ3VlLCBhbmQgbm90 IGV4cGxpY2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVpciB2YWd1ZW5lc3MgZW5h YmxlcyB0aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdpdGhvdXQgdGhlIHNwZWFrZXIg aGF2aW5nIHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBhcyBhIG1hc3Mgb3IgYSBn cm91cCBvZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJpZXMsIHRoZXJlIGFyZSB0 aHJlZSBzZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydpJydfXyAtIGdhZHJpOiB2ZXJp ZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNl dC4KCl9fJydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xhJ2knJ19fIC0gZ2Fkcmk6 IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZs YSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9m IGluZGl2aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0YWtlIGFu eSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhlIHNldCBp cyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2FsIGNvbnN0 cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNoaXAgYW5k IHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBzZXQg b2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZDoKCl9f Jyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVjaWVzL2Jy ZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydpIHRpcnh1IGN1IGNtYWx1Jycg c2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNtYWxsICh3aGljaCBpcywg YnkgdGhlIHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQgc2F5IHRoYXQgdGhlIHNl dCBvZiBiaWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFyZSBmZXcgb2YgdGhlbS4K CgoKTGFzdGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2VuZXJhbGl6aW5nICcnZ2Fkcmkn JzoKCl9fJydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8g c3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBlIG9mICcnbG8ge3NlbGJyaX0n Jy4KCl9fJydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVkIGFyY2hl dHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1 aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hldHlwZT8g Rm9yICcnbG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNhdCwgd2hp Y2ggaGFzIGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJpZyBjYXRz LiBJdCB3b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmluZyBhIHN0 cmlwZWQgZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBtZW1iZXJz IG9mIHRoZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRoZSBsZW9w YXJkcyBhbmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5v dCBsaXZlIGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dldmVyLCBp ZiBzdWZmaWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVp bmcgYWJsZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgxIGlzIGNh cGFibGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgonJ2xvJ2Ug cmVtbmEgY3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFuIGJlaW5n IGNhbiBzcGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBw ZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZh Y3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVv dHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFz YW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4g ZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9m IGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRoZSBhcmNo ZXR5cGUgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGlsZSB0aGUg YXJjaGV0eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUgcmVtbmEn Jy4KCgoKVGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdy4K Cnx8IHxHZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxvfGxvaXxs bydpfGxvJ2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFpfGxhJ2l8 ZG9lcyBub3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3JkICcneG8n ZScnIGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBkZWZpbml0 aW9ucyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBjdXJyZW50 IHNldCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFzIHJlcGxh Y2VkIHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydlJycgaXMg dXNlZCBhcyBhIGVsbGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVlbikuCgoKCgoKISFMb2pi YW4gTGVzc29ucyAtIExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDI6IEtPaEEzLCBL T2hBNSBhbmQgS09oQTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5IHRvIHRyYW5zbGF0ZSB0 aGUgc2VudGVuY2U6IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBjYW4gc3BlYWsgTG9qYmFu IHNwZWFrIHRvIGVhY2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0aGV5IGNhbiBzcGVha+KA nToKCl9fJydiYW5ndScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1c2VkIGJ5IHgyIHRvIGV4cHJl c3MgeDMgKGFic3RyYWN0aW9uKeKAnQoKJydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51 IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIGxlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUg bG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gbG8gYmFuZ3UgcG9pIGxvIHByZW51IHBvaSBrZSdh IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHNlIGJhbmd1IGtlJ2EnJwoKCgpXaGF0IHdlIHNlZSBp cyB0aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBFbmdsaXNo LiBUaGlzIGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5IGxvbmcg c3VtdGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4gdGhlIExvamJhbiB0ZXh0 LCB3aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBh bmQg4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4gV291bGRuJ3QgaXQgYmUgY2xl dmVyIGlmIExvamJhbiBzb21laG93IGhhZCBtZWNoYW5pc21zIGZvciBkb2luZyB0aGUgc2FtZT8K CgoKSXQgdHVybnMgb3V0IGl0IGRvZXMsIHdoYXQgYSBzdXJwcmlzZSEgTG9qYmFuIGhhcyBhIHJh bmdlIG9mIHdvcmRzIGNhbGxlZCAnJ3N1bWthJ2knJyBtZWFuaW5nIOKAnHN1bXRpLXJlcHJlc2Vu dGF0aXZlc+KAnS4gSW4gRW5nbGlzaCwgd2UgcmVmZXIgdG8gdGhlbSBhcyBwcm8tc3VtdGksIGJl Y2F1c2UgdGhleSBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgdGhlIEVuZ2xpc2ggcHJvbm91 bnMsIGJ1dCB3aXRoIHN1bXRpIGluc3RlYWQgb2Ygbm91bnMuIEluIGZhY3QsIHlvdSBhbHJlYWR5 IGtub3cgJyd0aScnLCAnJ2RvJycgYW5kICcnbWknJywgYnV0IHRoZXJlIGFyZSBtYW55IG1vcmUs IHNvIGxldCdzIGdldCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGludG8gc3lz dGVtLiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gs IGFuZCB3aGF0IHlvdSd2ZSBhbHJlYWR5IGxlYXJuZWQ6CgoKCl9fJyd0aScnX18gLSBzdW1rYSdp OiDigJxpbW1lZGlhdGUg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBuZWFy IHRoZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vta2EnaTog4oCcbmVhcmJ5IOKAmGl0Jzog cmVwcmVzZW50cyBhIHN1bXRpIHNvbWUgcGh5c2ljYWwgZGlzdGFuY2UgZnJvbSB0aGUgc3BlYWtl ciBPUiBjbG9zZSB0byB0aGUgbGlzdGVuZXLigJ0KCl9fJyd0dScnX18gLSBzdW1rYSdpOiDigJxk aXN0YW50IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgZmFyIGZyb20gdGhl IHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci7igJ0KCgoKWW91IGNhbiBhZ2FpbiByZWNvZ25pemUg dGhlIOKAnGksIGEsIHXigJ0tc2VxdWVuY2Ugd2hpY2ggcG9wcyB1cCBvdmVyIGFuZCBvdmVyLiBT b21lIHRoaW5ncyBtaWdodCB0YWtlIHNvbWUgY2xlYXJpbmcgdXAsIHRob3VnaC4gRmlyc3RseSwg dGhlc2Ugc3VtdGkgY2FuIHJlcHJlc2VudCBhbnl0aGluZyB3aGljaCBjYW4gYmUgc2FpZCB0byBv Y2N1cHkgYSBwaHlzaWNhbCBzcGFjZS4gT2JqZWN0cywgY2VydGFpbmx5LiBJZGVhcywgY2VydGFp bmx5IG5vdC4gRXZlbnRzIGFyZSBhY2NlcHRlZCwgYnV0IG9ubHkgdG8gdGhlIGV4dGVudCB0aGV5 IGFyZSByZXN0cmljdGVkIHRvIGEgc3BlY2lmaWMgcGxhY2UgLSB0aGUgSmFzbWluIFJldm9sdXRp b24gY2Fubm90IGJlIHBvaW50ZWQgYXQsIGJ1dCBzb21lIGJhci1maWdodCBvciBhIGtpc3MgbWln aHQuIFNlY29uZGx5LCBub3RlIHRoYXQgdGhlIGRpc3RhbmNlIGlzIHJlbGF0aXZlIHRvIGRpZmZl cmVudCB0aGluZ3MgZm9yIHRoZSBkaWZmZXJlbnQgd29yZHM6ICcndHUnJyBvbmx5IGFwcGxpZXMg aWYgaXQncyBkaXN0YW50IGZyb20gYm90aCB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLiBJ biBjYXNlcyB3aGVyZSB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgZmFyIGFwYXJ0IGFuZCB0 aGUgbGlzdGVuZXIgY2Fubm90IHNlZSB0aGUgc3BlYWtlciB0YWxraW5nLCAnJ3RhJycgcmVmZXJz IHRvIHNvbWV0aGluZyBjbG9zZSB0byB0aGUgbGlzdGVuZXIuIFRoaXJkbHksIGl0J3MgYWxsIHJl bGF0aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhyZWUgd29yZHMgYXJlIGFsbCBw cm9ibGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5jZSwgYmVjYXVzZSB0aGUgcG9z aXRpb24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVua25vd24gdG8gZWFjaCBvdGhl ciwgYW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVybW9yZSwgdGhlIGF1dGhvciBv ZiBhIGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQgZXhwcmVzcyB0aGUgcG9pbnRp bmcgaW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJpZXMgY2FsbGVkIEtPaEEzLCB0 byB3aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcna28nJywgYnV0IEkgd29uJ3Qgd3JpdGUg dGhhdCBoZXJlKSBiZWxvbmdzOgoKX18nJ21pJydfXyAtIHN1bWthJ2k6IFRoZSBzcGVha2VyKHMp LgoKX18nJ21pJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5k IHRoZSBsaXN0ZW5lcihzKSAuCgpfXycnbWknYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0 aGUgc3BlYWtlcihzKSBhbmQgb3RoZXJzLgoKX18nJ21hJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1h c3Mgb2YgdGhlIHNwZWFrZXIocyksIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKX18nJ2Rv JydfXyAtIHN1bWthJ2k6IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydkbydvJydfXyAtIHN1bWthJ2k6 IFRoZSBtYXNzIG9mIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKCgpUaGVzZSBzaXggc3Vt a2EnaSBhcmUgbW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cgVmVubiBkaWFncmFtOgoK Cgp7aW1nIGZpbGVJZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KClZlbm4gZGlhZ3JhbSBv ZiBLT2hBMyAoJydrbycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlzIG5vdCBhIEtPaEEzLCBi dXQgbWVhbnMg4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3NpYmxlIGZvciBzZXZlcmFs IHBlb3BsZSB0byBiZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBzdGF0ZW1lbnQgaXMgbWFk ZSBvbiB0aGUgYmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUsIHdoaWxlIOKAnHdl4oCd IGNhbiBiZSB0cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21pJycsICcnbWknbycnLCAnJ21pJ2EnJyBv ciAnJ21hJ2EnJywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMgcmVhbGx5IGp1c3QgJydt aScnLiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5k aXZpZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkg JydtaSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byAn J2RvIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtlciBBLCBhbmQgYXJlIGNvbnNp ZGVyZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGlu IHRoZSAnJ2JyaWthJ2knJyAocHJvLWJyaWRpKSBsZXNzb24uCgoKCkFsbCBvZiB0aGVzZSAnJ3N1 bWthJ2knJyBhcmUgdmVyeSBjb250ZW50LXNwZWNpZmljLCBhbmQgY2Fubm90IGJlIHVzZWQsIGZv ciBpbnN0YW5jZSwgdG8gaGVscCB1cyB3aXRoIHRoZSBzZW50ZW5jZSB3aGljaCB0aGlzIGxlc3Nv biBiZWdhbiB3aXRoLiBUaGUgZm9sbG93aW5nIHNlcmllcyBjYW4gaW4gcHJpbmNpcGxlIGJlIHVz ZWQgdG8gcmVmZXIgdG8gYW55IHN1bXRpOgoKX18nJ3JpJydfXyAtIHN1bWthJ2k6IOKAnExhc3Qg c3VtdGkgbWVudGlvbmVk4oCdCgpfXycncmEnJ19fIC0gc3Vta2EnaTog4oCcQSByZWNlbnQsIGJ1 dCBub3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vta2EnaTog 4oCcQSBzdW10aSBtZW50aW9uZWQgbG9uZyBhZ2/igJ0KCgoKVGhlc2Ugc3VtdGkgd2lsbCByZWZl ciB0byBhbnkgdGVybWluYXRlZCBzdW10aSBleGNlcHQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJy4g VGhlIHJlYXNvbiB0aGF0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycgY2Fubm90IGJlIHJlZmVycmVk IHRvIGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kgdG8ganVzdCByZXBl YXQgYnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBhcmUgJyd0aScnLCAn J3RhJycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFuZ2VkIHdoYXQgeW91 IHBvaW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdvcmQuIFRoZXkgd2ls bCBvbmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNhbm5vdCwgZm9yIGlu c3RhbmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlmIHRoZSB3b3JkIGlu IGlzIHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtlJ2EgcGVuZG8gbWkgY3UgZGpp Y2EgbG8gbnUgcmkgc2UgemRhbmknJyAtIGhlcmUgJydyaScnIGNhbm5vdCByZWZlciB0byB0aGUg YWJzdHJhdGlvbiwgc2luY2UgaXQgaXMgbm90IHRlcm1pbmF0ZWQsIG5vciB0byAnJ21pJycgb3Ig JydrZSdhJycsIHNpbmNlIHRoZXkgYXJlIHN1bWthJ2ksIHNvIGl0IHJlZmVycyB0byAnJ2xlIHBl bmRvJycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1kZXBlbmRlbnQgaW4gd2hhdCB0 aGV5IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1lbnRpb25lZCBhYm92ZSwg YW5kICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQgc3VtdGkgdGhhbiAnJ3Jh JycsIHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3JpJycuCgoKCicncmknJyBh bmQgaXQncyBicm90aGVycyBhcmUgcHJldHR5IHdlbGwgc3VpdGVkIGZvciBkZWFsaW5nIHdpdGgg dGhlIG9yaWdpbmFsIHNlbnRlbmNlLiBUcnkgc2F5aW5nIGl0IHVzaW5nIHR3byBpbnN0YW5jZXMg b2YgJydzdW1rYSdpJychCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSdlIHByZW51IHBvaSBr ZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIHJ1IGxvIGJhbmd1 IHBvaSBydSBjdSBzZSBiYW5ndSBrZSdhJycuICcncmknJyBpcyBub3QgY29ycmVjdCwgYmVjYXVz ZSBpdCByZWZlcnMgdG8gJydsYSAubG9qYmFuLicnLiAnJ3JhJycgY291bGQgYmUgdXNlZCwgYnV0 IGNvdWxkIGJlIG1pc3Rha2VubHkgYmUgdGhvdWdodCB0byByZWZlciB0byAnJ2xvIG51IHRhdmxh IGZvIGxhIC5sb2piYW4uJycsIGJ1dCAnJ3J1JycgaXMgYXNzdW1lZCB0byByZWZlciB0byB0aGUg bW9zdCBkaXN0YW50IHN1bXRpIC0gdGhlIG1vc3Qgb3V0ZXIgb25lLn5+CgoKCkxhc3RseSwgdGhl cmUgYSBzdW10Y2l0YSB3aGljaCByZXByZXNlbnQgdXR0ZXJhbmNlczogU28gY2FsbGVkIHV0dGVy YW5jZSB2YXJpYWJsZXMuIFRoZXkgbmVlZCBub3QgYmUgcmVzdHJpY3RlZCB0byBvbmUgc2VudGVu Y2UgKGp1ZnJhKSwgYnV0IGNhbiBiZSBzZXZlcmFsIHNlbnRlbmNlcywgaWYgdGhlIGNvbnRleHQg YWxsb3dzIGl0OgoKX18nJ2RhJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIHBhc3Qg c2VudGVuY2UKCl9fJydkZSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlY2VudCBzZW50ZW5j ZQoKX18nJ2RpJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUHJldmlvdXMgc2VudGVuY2UKCl9f JydkZWknJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogVGhpcyBzZW50ZW5jZQoKX18nJ2RpJ2UnJ19f IFV0dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBzZW50ZW5jZQoKX18nJ2RlJ2UnJ19fIFV0dGVyYW5j ZSB2YXJpYWJsZTogTmVhciBmdXR1cmUgc2VudGVuY2UKCl9fJydkYSdlJydfXyBVdHRlcmFuY2Ug dmFyaWFibGU6IFJlbW90ZSBmdXR1cmUgc2VudGVuY2UKCl9fJydkbydpJydfXyBVdHRlcmFuY2Ug dmFyaWFibGU6IEVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDigJxTb21lIHNlbnRlbmNl 4oCdCgpUaGVzZSByZXByZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10aSwgYW5kIHJlZmVyIG9ubHkg dG8gdGhlIHNwb2tlbiB3b3JkcyBvciB0aGUgbGV0dGVycywgbm90IHRvIHRoZSBtZWFuaW5nIGJl aGluZCB0aGVtLgoKCgpUaGVyZSBhcmUgbW9yZSBMb2piYW4gJydzdW1rYSdpJycsIGJ1dCBmb3Ig bm93IHlvdSBwcm9iYWJseSBuZWVkIGEgYnJlYWsgZnJvbSB0aGVtLiBUaGUgbmV4dCBsZXNzb24g d2lsbCBiZSBvbiBkZXJpdmVkIHN1bXRpLCBzdW10aSBtYWRlIGZyb20gb3RoZXIgc3VtdGkuCgoK CgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzaXh0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDM6 IGRlcml2ZWQgc3VtdGkpCgpZb3UgY2FuIHByb2JhYmx5IHNlZSB0aGF0IHRoZSBzdW10aSAnJ2xl IGJhbmd1IHBvaSBtaSBzZSBiYW5ndSBrZSdhJycgaXMgYSBsZXNzIHRoYW4gZWxlZ2FudCBleHBy ZXNzaW9uIGZvciDigJxteSBsYW5ndWFnZeKAnS4gVGhpcyBpcyBiZWNhdXNlIGl0J3MgcmVhbGx5 IGEgd29yayBhcm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBjYW4gYmUgc2FpZCB0byBm aWxsIGludG8gdGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycuIFdlIGNhbid0IGNvbnZl cnQgdGhhdCB0byBhIHN1bXRpIHVzaW5nIGEgZ2Fkcmk6ICcnbGUgYmFuZ3Uge2t1fSBtaScnIGlz IHR3byBzdW10aSwgYmVjYXVzZSAnJ2Jhbmd1IG1pJycgaXMgYSBicmlkaSwgbm90IGEgc2VsYnJp LiBOZWl0aGVyIGNhbiB3ZSBjb252ZXJ0IGl0IHVzaW5nICcnbGUgc3UndScnLCBiZWNhdXNlIHRo ZSBzdSd1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFic3RyYWN0aW9uLCBhbmQgdGhl ICcnbGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4gYWJzdHJhY3Rpb24gc3Vt dGkgbWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0aGluZyBpcyBteSBsYW5ndWFn ZeKAnS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3aGljaCBiaW5kcyBjb25zdHJ1 Y3RzIChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBzZWxicmkuIFVzaW5nIGl0IGlu IG9yZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5lbGNpIGJlIGRvJycsIHRo ZSAnJ2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8g YSBzZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRo b3V0IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJlIG1pJycgaXMgYSBjb3Jy ZWN0IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lzZSwgeW91IGNhbiBhdHRh Y2ggYSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVu dCBvZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCdLiBOb3RlIHRoYXQgdGhlIHBy ZXNlbmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBwYXJzZSBkaWZmZXJlbnRseTog V2l0aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRhY2hlcyB0byAnJ251JycsIHdp dGhvdXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4aScnLiBTbyBpdCBkZWNp ZGVzIHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhpdHRpbmcsIG9yIHRoZSBldmVu dCBvZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdo LCB0aGF0J3MganVzdCBhYm91dCB0aGUgc2FtZSB0aGluZy4KCgoKV2hhdCBpZiBJIHdhbnQgdG8g YXR0YWNoIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmkgaW5zaWRlIGEgZ2Fkcmk/IOKAnFRoZSBn aXZlciBvZiB0aGUgYXBwbGUgdG8geW914oCdIGlzICcnbGUgZHVuZGEgYmUgbG8gcGxpc2UgYmUg ZG8nJywgcmlnaHQ/IE5vcGUuIFRoZSBzZWNvbmQgJydiZScnIGF0dGFjaGVzIHRvIHRoZSBhcHBs ZSwgbWVhbmluZyAnJ2xlIHBsaXNlIGJlIGRvJycgLSDigJxUaGUgYXBwbGUgb2YgdGhlIHN0cmFp biBvZiB5b3XigJ0sIHdoaWNoIG1ha2VzIG5vIHNlbnNlLiBJbiBvcmRlciB0byBzdHJpbmcgc2V2 ZXJhbCBzdW10aSB0byBhIHNlbGJyaSwgdGhlIGFsbCB0aGUgb25lcyBmb2xsb3dpbmcgdGhlIGZp cnN0IG11c3QgYmUgYm91bmQgd2l0aCAnJ2JlaScnLiBUaGUg4oCcYmluZGluZ+KAnSBjYW4gYmUg dGVybWluYXRlZCB3aXRoICcnYmUnbycnIC0gb25lIGluc3RhbmNlIG9mICcnYmUnbycnIGZvciBl YWNoIHNlbGJyaSB3aGljaCBoYXMgc3VtdGkgYm91bmQgYnkgJydiZScnLgoKVG8gbGlzdCB0aGVt OgoKX18nJ2JlJydfXyBiaW5kcyBzdW10aSBvciBzdW10Y2l0YSB0byBzZWxicmkKCl9fJydiZWkn J19fIGJpbmRzIGEgc2Vjb25kLCB0aGlyZCwgZm91cnRoIChlY3QpIHN1bXRpIG9yIHN1bXRjaXRh IHRvIGEgc2VsYnJpCgpfXycnYmUnbycnX18gZW5kcyBiaW5kaW5nIHRvIHNlbGJyaQoKCgpUaGVy ZSBpcyBhbHNvIHdheXMgdG8gbG9vc2VseSBhc3NvY2lhdGUgYSBzdW10aSB3aXRoIGFub3RoZXIu ICcncGUnJyBhbmQgJyduZScnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIGFz c29jaWF0aW9uLiBBY3R1YWxseSwgJydsZSBiYW5ndSBwZSBtaScnIGlzIGEgYmV0dGVyIHRyYW5z bGF0aW9uIG9mIOKAnG15IGxhbmd1YWdl4oCdLCBzaW5jZSB0aGlzIHBocmFzZSwgbGlrZSB0aGUg RW5nbGlzaCwgaXMgdmFndWUgYXMgdG8gaG93IHRoZSB0d28gYXJlIGFzc29jaWF0ZWQgd2l0aCBl YWNoIG90aGVyLgoKJydwZScnIGFuZCAnJ25lJycgYXJlIHVzZWQgYXMgbG9vc2UgYXNzb2NpYXRp b24gb25seSwgbGlrZSBzYXlpbmcg4oCcbXkgY2hhaXLigJ0gYWJvdXQgYSBjaGFpciB3aGljaCB5 b3Ugc2l0IG9uLiBJdCdzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5nIGRvIHRv IHdpdGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJsaXNoZWQg d2l0aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5kIGJpbmRp bmcgdG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5b3UgYWN0 dWFsbHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycsIHdoaWNo IG1ha2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRpLCBtZWFu aW5nIHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4gU29tZSBl eGFtcGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUgY291bnRy eSI7IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlmIHlvdSBz YXcgb2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUgdGhlcmVm b3JlIGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScnIGlzIGFw cHJvcHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRoZSBvbmUg dG8gd2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4KCl9fJydu ZScnX18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0 ZWQgd2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hp Y2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVsYXRpdmUg cGhyYXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5hbGllbmFi bGUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5IHVzZWZ1 bCBjb25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScnLiB0aGlz IGlzIGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9JycuIEZvciBp bnN0YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1IHBlIG1p JycuIE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlwdGlvbiBz dW10aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywgPSAnJ2xl IGdlcmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhlIG1hbiBJ J20gZmxpcnRpbmcgd2l0aOKAnSwgYnV0IHRoYXQncyBub3QgdmVyeSBlYXN5IHRvIHJlYWQgKG9y IHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4pLCBhbmQgaXMgb2Z0ZW4gYmVpbmcgYXZvaWRlZC4K CgoKT25lIG5lZWQgYWxzbyB0byBsZWFybiAnJ3R1J2EnJywgc2luY2UgaXQgd2lsbCBtYWtlIGEg bG90IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10aSBhbmQgY29udmVy dHMgaXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24gd2hpY2gg aGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9yIGV4YW1wbGUsIEkg Y291bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2UnJywgb3IgSSBjb3Vs ZCBsZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFib3V0IHRoZSBhcHBs ZSBJIGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamljYSB0dSdhIGxvIHBsaXNlJycuIE9uZSBh bHdheXMgaGFzIHRvIGd1ZXNzIHdoYXQgYWJzdHJhY3Rpb24gdGhlIHNwZWFrZXIgbWVhbnMgYnkg Jyd0dSdhIFNVTVRJJycsIHNvIGl0IHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBjb250ZXh0IG1h a2VzIGl0IGVhc3kgdG8gZ3Vlc3MuIEFub3RoZXIgZXhhbXBsZToKCl9fJydnYXNudScnX18g4oCc eDEgZG9lcy9icmluZ3MgYWJvdXQgeDIgKHZvbGl0aW9uIG5vdCBpbXBsaWVkKeKAnQoKJyd6YSdh IGRvIGdhc251IHR1J2EgbG8gc2thbWknJyAtIOKAnEkgc2VlIHRoYXQgeW91IG1ha2UgdGhlIGNv bXB1dGVyIGRvIHNvbWV0aGluZ+KAnS4gT2ZmaWNpYWxseSwgJyd0dSdhIFNVTVRJJycgaXMgZXF1 aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZScnLiBWYWd1ZSwgYnV0IHVzZWZ1bC4gVGhl cmUgYXJlIHNpdHVhdGlvbnMgd2hlcmUgeW91IGNhbm5vdCB1c2UgJyd0dSdhJycsIGV2ZW4gdGhv dWdoIGl0IHdvdWxkIHNlZW0gc3VpdGFibGUuIFRoZXNlIHNpdHVhdGlvbnMgYXJlIHdoZW4gSSBk b24ndCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8gYmUgYW4gYWJzdHJhY3Rpb24sIGJ1dCBh IGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9uZSBjYW4gdXNlICcnem8nZSBwZScnLgoK X18nJ3R1J2EnJ19fIGNvbnZlcnQgc3VtdGkgdG8gdmFndWUgYWJzdHJhY3Rpb24gaW52b2x2aW5n IHRoZSBzdW10aS4gRXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZSBrZWkga3UnJwoK CgpGaW5hbGx5LCBvbmUga2luZCBvZiBzdW10aSBjYW4gYmUgdHVybmVkIGludG8gYW5vdGhlciBi eSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIExBaEUuCgpfXycnbHUnYScnX18gLSBDb252ZXJ0IGlu ZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVhbHMuCgpfXycnbHUnaScn X18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gYSBzZXQuCgpf XycnbHUnbycnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8g bWFzcy4KCl9fJyd2dSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNl L3NldCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQuCgpUaGUgdXNlIG9mIHRo ZXNlIHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0aGVtIGJlZm9yZSBhIHN1 bXRpIG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9mIGEgbmV3IHR5cGUuIE5v dGljZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3VtdGksIGEgc2VxdWVuY2Ug aGFzIGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIChpdCBkb2Vz bid0IGhhdmUgaXRzIG93biBnYWRyaSwgZm9yIGluc3RhbmNlKSwgYnV0IGp1c3QgaW5jbHVkZWQg aGVyZSBmb3IgY29tcGxldGlvbi4KClRoZSBsYXN0IHR3byBtZW1iZXJzIG9mIExBaEUgZG8gbm90 IGNvbnZlcnQgYmV0d2VlbiB0eXBlcyBvZiBzdW10aSwgYnV0IGFsbG93cyB5b3UgdG8gc3BlYWsg b2YgYSBhIHN1bXRpIGJ5IG9ubHkgbWVudGlvbmluZyBzb21ldGhpbmcgd2hpY2ggcmVmZXJlbmNl cyB0byBpdDoKCklmIG9uZSBzdW10aSBBIHJlZmVycyB0byBhIHN1bXRpIEIsIGZvciBpbnN0YW5j ZSBiZWNhdXNlIHN1bXRpIEEgaXMgYSB0aXRsZSBvZiBhIGJvb2ssIG9yIGEgbmFtZSwgb3IgYSBz ZW50ZW5jZSAod2hpY2ggYWx3YXlzIHJlZmVyIHRvIHNvbWV0aGluZywgYXQgbGVhc3QgYSBicmlk aSksIOKAmCdsYSdlIFNVTVRJIEEnJyByZWZlcnMgdG8gc3VtdGkgQi4gRm9yIGluc3RhbmNlLCDi gJgnbWkgbmVsY2kgbGEnZSBkaSd1JycgZm9yIOKAnEkgbGlrZSB3aGF0IHlvdSBqdXN0IHNhaWTi gJ0gKG5vdCAnJ21pIG5lbGNpIGRpJ3UnJyB3aGljaCBqdXN0IG1lYW5zICJJIGxpa2UgeW91ciBw cmV2aW91cyBzZW50ZW5jZSIpIG9yIOKAmCdsYSdlIGxlIGNtYWx1IG5vbHRydScnIGZvciB0aGUg Ym9vayDigJxUaGUgTGl0dGxlIFByaW5jZeKAnSwgYW5kIG5vdCBzb21lIGxpdHRsZSBwcmluY2Ug aGltc2VsZi4gVGhlIGNtYXZvIOKAmCdsdSdlJycgZG9lcyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg 4oCYJ2x1J2UgU1VNVEknJyByZWZlcnMgdG8gYW4gb2JqZWN0IHdoaWNoIHJlZmVycyB0byB0aGUg c3VtdGkuIAoKX18nJ2xhJ2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVkIHRvIGJ54oCdIC0g ZXh0cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVycyB0byBBLiAKCl9f JydsdSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJpbmcgdG/igJ0gLSBleHRyYWN0cyBhIHN1 bXRpIEIgZnJvbSBhIHN1bXRpIEEsIHdoZW4gQiByZWZlcnMgdG8gQS4KCgoKCgohISFFbmQgb2Yg cGFydCBvbmUKCkR1ZSB0byB0aGUgaW1wcmFjdGljYWxseSBsYXJnZSBzaXplIG9mIHRoZXNlIGxl c3NvbnMsIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGluc3RhbGxtZW50IGNhbiBiZSBmb3VuZCBvbiBw YWdlcyBkZWRpY2F0ZWQgdG8gKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRoZSBmb3JtZXIpKSBh bmQgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZSBsYXR0ZXIpKS4gTm8gd29ycmllcywgdGhv dWdoLCBjbGlja2luZyBvbiAidGhlIGZvcm1lciIgb3IgInRoZSBsYXR0ZXIiIHdpbGwgdGFrZSB5 b3UgdGhlcmUgcGFpbmxlc3NseS4KCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2pi YW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdl cwo=