From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adonay Felipe Nogueira Subject: Dormant WIP (please take over): Add Tahoe-LAFS and various packages Date: Sun, 25 Dec 2016 11:43:19 -0200 Message-ID: <87y3z4jf9k.fsf@openmailbox.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42154) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cL95U-0001mC-2W for guix-devel@gnu.org; Sun, 25 Dec 2016 08:43:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cL95Q-0002jC-WE for guix-devel@gnu.org; Sun, 25 Dec 2016 08:43:44 -0500 Received: from smtp22.openmailbox.org ([62.4.1.56]:38848 helo=smtp7.openmailbox.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cL95Q-0002iz-EO for guix-devel@gnu.org; Sun, 25 Dec 2016 08:43:40 -0500 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org --=-=-= Content-Type: text/plain This is one of my dormant works in progress. It wasn't touched since around October 3rd. Feel free to insert any copyright notices that are missing. I'm unable to continue it due to: * My lack in programming skills. * Important phases failing. * And a possible license issue with libbase32 (or zbase32, I don't know the exact name). I tried sending a patch, but the repository owner says the project is no longer maintained. Respectfully, Adonay. -- * pt-BR: Brasileiro | en: Brazilian * pt-BR: Ativista do software livre | en: Free/libre software activist * https://libreplanet.org/wiki/User:Adfeno * pt-BR: Palestrante, consultor e avaliador | en: Speaker, consultant and evaluator --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=tahoe-lafs.scm Content-Transfer-Encoding: base64 Ozs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCjs7 OyBDb3B5cmlnaHQgwqkgMjAxNiBBZG9uYXkgImFkZmVubyIgRmVsaXBlIE5vZ3VlaXJhIDxodHRw czovL2xpYnJlcGxhbmV0Lm9yZy93aWtpL1VzZXI6QWRmZW5vPiA8YWRmZW5vQG9wZW5tYWlsYm94 Lm9yZz4KOzs7Cjs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KOzs7Cjs7OyBHTlUg R3VpeCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5IGl0Cjs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQo7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cjs7OyB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCjs7Owo7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cjs7OyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCjs7OyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7OyBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo7OzsKOzs7IFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCjs7 OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgoKKGRlZmluZS1tb2R1bGUgKHRhaG9lLWxhZnMpCiAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgYmFzZSkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaW51eCkKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBweXRob24pCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj a2FnZXMgdmVyc2lvbi1jb250cm9sKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0g Z251KQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gcHl0aG9uKQogICM6dXNlLW1v ZHVsZSAoZ3VpeCBkb3dubG9hZCkKICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25sb2FkKQog ICM6dXNlLW1vZHVsZSAoKGd1aXggbGljZW5zZXMpCiAgICAjOnNlbGVjdCAoYm9vc3QxLjAgZXhw YXQgZ3BsMispKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykKICAjOnVzZS1tb2R1bGUg KGljZS05IHJlZ2V4KSkKCihkZWZpbmUtcHVibGljIGNyeXB0b3BwCiAgOzsgVE9ETzogVGVzdCBy ZXByb2R1Y2liaWxpdHkuCiAgKHBhY2thZ2UKICAgIChuYW1lICJjcnlwdG9wcCIpCiAgICAodmVy c2lvbiAiNS42LjQiKQogICAgKHNvdXJjZQogICAgICAob3JpZ2luCiAgICAgICAgKG1ldGhvZCBn aXQtZmV0Y2gpCiAgICAgICAgKHVyaQogICAgICAgICAgKGdpdC1yZWZlcmVuY2UKICAgICAgICAg ICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3dlaWRhaTExL2NyeXB0b3BwLmdpdCIpCiAgICAg ICAgICAgIChjb21taXQKICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZAogICAgICAgICAgICAg ICAgIkNSWVBUT1BQXyIKICAgICAgICAgICAgICAgIChyZWdleHAtc3Vic3RpdHV0ZS9nbG9iYWwg I2YKICAgICAgICAgICAgICAgICAgIlxcLiIgdmVyc2lvbiAncHJlICJfIiAncG9zdCkpKSkpCiAg ICAgICAgKGZpbGUtbmFtZQogICAgICAgICAgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lv bikpCiAgICAgICAgKHNoYTI1NgogICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAiMGdsM3hh Z3I3NnNxeDVscjNuZHZ3cmRqNHZidzVsY3M3NnZwOTQybTNxa3kwNGo5MjExMiIpKQogICAgICAg IChzbmlwcGV0CiAgICAgICAgICAnKGJlZ2luCiAgICAgICAgICAgICAoZGVsZXRlLWZpbGUgImJk czEwLnppcCIpCiAgICAgICAgICAgICAoZGVsZXRlLWZpbGUgInZjNjAuemlwIikKICAgICAgICAg ICAgIChkZWxldGUtZmlsZSAidnMyMDA1LnppcCIpKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnbnUt YnVpbGQtc3lzdGVtKQogICAgKGlucHV0cwogICAgICBgKCgid2hpY2giICx3aGljaCkpKQogICAg KGFyZ3VtZW50cwogICAgICAnKCM6bWFrZS1mbGFncwogICAgICAgICAgYCgiZHluYW1pYyIKICAg ICAgICAgICAgLChzdHJpbmctYXBwZW5kCiAgICAgICAgICAgICAgICJDWFhGTEFHUz1cIi1tdHVu ZT0iCiAgICAgICAgICAgICAgICh1dHNuYW1lOm1hY2hpbmUgKHVuYW1lKSkKICAgICAgICAgICAg ICAgIlwiIikKICAgICAgICAgICAgIkxEQ09ORj1lY2hvIgogICAgICAgICAgICAsKHN0cmluZy1h cHBlbmQKICAgICAgICAgICAgICAgIlBSRUZJWD0iCiAgICAgICAgICAgICAgIChhc3NvYy1yZWYg JW91dHB1dHMgIm91dCIpKSkKICAgICAgICAjOnBoYXNlcyAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh cmQtcGhhc2VzCiAgICAgICAgICAoZGVsZXRlICdjb25maWd1cmUpKSkpCiAgICAoaG9tZS1wYWdl ICJodHRwOi8vd3d3LmNyeXB0b3BwLmNvbS8iKQogICAgKHN5bm9wc2lzICJDKysgY2xhc3MgbGli cmFyeSBvZiBjcnlwdG9ncmFwaGljIHNjaGVtZXMiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgICJD KysgY2xhc3MgbGlicmFyeSBvZiBjcnlwdG9ncmFwaGljIHNjaGVtZXMuIikKICAgIChsaWNlbnNl IGJvb3N0MS4wKSkpCgooZGVmaW5lLXB1YmxpYyBweXRob24yLWF0dHJzCiAgOzsgVE9ETzogVGVz dCByZXByb2R1Y2liaWxpdHkuCiAgKHBhY2thZ2UKICAgIChuYW1lICJweXRob24yLWF0dHJzIikK ICAgICh2ZXJzaW9uICIxNi4yLjAiKQogICAgKHNvdXJjZQogICAgICAob3JpZ2luCiAgICAgICAg KG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgKHVyaQogICAgICAgICAgKGdpdC1yZWZlcmVuY2UK ICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2h5bmVrL2F0dHJzLmdpdCIpCiAg ICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAgICAgIChmaWxlLW5hbWUKICAgICAgICAg IChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24pKQogICAgICAgIChzaGEyNTYKICAgICAg ICAgIChiYXNlMzIKICAgICAgICAgICAgIjF3bWNzN2k3N3Bzd3ZtMDRwaHFjZDRmM2duMnpiNGF2 bHI1MXlpeGtxcmRxeTdxaXN4YXciKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBweXRob24tYnVpbGQt c3lzdGVtKQogICAgKGlucHV0cwogICAgICBgKDs7IFRPRE86IE1ha2UgImRvY3MiLgogICAgICAg ICgicHl0aG9uMi1zZXR1cHRvb2xzIiAscHl0aG9uMi1zZXR1cHRvb2xzKSkpCiAgICAoYXJndW1l bnRzCiAgICAgIGAoIzpweXRob24gLHB5dGhvbi0yIDsgVE9ETzogVGVzdCB3aXRoIFB5dGhvbiAz LgogICAgICAgICM6dGVzdHM/ICNmKSkgOyBGSVhNRT8gVGVzdHMgcmVxdWlyZSBweXRlc3QuCiAg ICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vaHluZWsvYXR0cnMiKQogICAgKHN5bm9w c2lzICJQeXRob24gYXR0cmlidXRlcyB3aXRob3V0IGJvaWxlcnBsYXRlIikKICAgIChkZXNjcmlw dGlvbgogICAgICAiRWFzZXMgd3JpdGluZyBjbGFzc2VzIGJ5IG5vdCBuZWVkaW5nIHRvIGltcGxl bWVudCBvYmplY3QgcHJvdG9jb2xzLAp0dXBsZXMgb3IgbmFtZWR0dXBsZXMuIikKICAgIChsaWNl bnNlIGV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBweXRob24yLWNoYXJhY3RlcmlzdGljCiAgOzsg Tk9URTogUHJlZGVjZXNzb3Igb2YgYXR0cnMuCiAgOzsgVE9ETzogVGVzdCByZXByb2R1Y2liaWxp dHkuCiAgKHBhY2thZ2UKICAgIChuYW1lICJweXRob24yLWNoYXJhY3RlcmlzdGljIikKICAgICh2 ZXJzaW9uICIxNC4zLjAiKQogICAgKHNvdXJjZQogICAgICAob3JpZ2luCiAgICAgICAgKG1ldGhv ZCBnaXQtZmV0Y2gpCiAgICAgICAgKHVyaQogICAgICAgICAgKGdpdC1yZWZlcmVuY2UKICAgICAg ICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2h5bmVrL2NoYXJhY3RlcmlzdGljLmdpdCIp CiAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAgICAgIChmaWxlLW5hbWUKICAgICAg ICAgIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24pKQogICAgICAgIChzaGEyNTYKICAg ICAgICAgIChiYXNlMzIKICAgICAgICAgICAgIjAzMW1hcnI3a3MzY242bXhuaDNnbW1zemZhMjgy dzIxaGh3d2x2Y3FubDlxNmw0MjFmZjQiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBweXRob24tYnVp bGQtc3lzdGVtKQogICAgKGlucHV0cwogICAgICBgKDs7IFRPRE86IE1ha2UgImRvY3MiLgogICAg ICAgICgicHl0aG9uMi1zZXR1cHRvb2xzIiAscHl0aG9uMi1zZXR1cHRvb2xzKSkpCiAgICAoYXJn dW1lbnRzCiAgICAgIGAoIzpweXRob24gLHB5dGhvbi0yIDsgVE9ETzogVGVzdCB3aXRoIFB5dGhv biAzLgogICAgICAgICM6dGVzdHM/ICNmKSkgOyBGSVhNRT8gVGVzdHMgcmVxdWlyZSBweXRlc3Qu CiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vaHluZWsvY2hhcmFjdGVyaXN0aWMi KQogICAgKHN5bm9wc2lzICJQeXRob24gYXR0cmlidXRlcyB3aXRob3V0IGJvaWxlcnBsYXRlIikK ICAgIChkZXNjcmlwdGlvbgogICAgICAiUHJvdmlkZXMgY2xhc3MgZGVjb3JhdG9ycyB0aGF0IGVh c2UgdGhlIGNob3JlcyBvZiBpbXBsZW1lbnRpbmcgdGhlIG1vc3QKY29tbW9uIGF0dHJpYnV0ZS1y ZWxhdGVkIG9iamVjdCBwcm90b2NvbHMuICBQcmVkZWNlc3NvciBvZiBhdHRycy4iKQogICAgKGxp Y2Vuc2UgZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIHB5dGhvbjItZm9vbHNjYXAKICA7OyBUT0RP OiBUZXN0IHJlcHJvZHVjaWJpbGl0eS4KICAocGFja2FnZQogICAgKG5hbWUgInB5dGhvbjItZm9v bHNjYXAiKQogICAgKHZlcnNpb24gIjAuMTIuMyIpCiAgICAoc291cmNlCiAgICAgIChvcmlnaW4K ICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAodXJpCiAgICAgICAgICAoZ2l0LXJl ZmVyZW5jZQogICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vd2FybmVyL2Zvb2xz Y2FwLmdpdCIpCiAgICAgICAgICAgIChjb21taXQKICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZCAiZm9vbHNjYXAtIiB2ZXJzaW9uKSkpKQogICAgICAgIChmaWxlLW5hbWUKICAgICAgICAgIChz dHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24pKQogICAgICAgIChzaGEyNTYKICAgICAgICAg IChiYXNlMzIKICAgICAgICAgICAgIjE2eWptMjRzeGloMm5hM2pmYXpqcTlmY2JmeWMxMzQ1MXY2 cW5raTI2czdhdnhnMDcwZmsiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBweXRob24tYnVpbGQtc3lz dGVtKQogICAgKGlucHV0cwogICAgICBgKDs7IFRPRE86IE1ha2UgImRvY3MiLgogICAgICAgIDs7 IFRPRE86IE1ha2UgImRldiIgInNvY2tzIiAidG9yIiAiaTJwIiBleHRyYXMuCiAgICAgICAgKCJw eXRob24yLXB5b3BlbnNzbCIgLHB5dGhvbjItcHlvcGVuc3NsKQogICAgICAgICgicHl0aG9uMi1z ZXJ2aWNlLWlkZW50aXR5IiAscHl0aG9uMi1zZXJ2aWNlLWlkZW50aXR5KQogICAgICAgICgicHl0 aG9uMi1zZXR1cHRvb2xzIiAscHl0aG9uMi1zZXR1cHRvb2xzKQogICAgICAgICgicHl0aG9uMi10 d2lzdGVkLXRscyIgLHB5dGhvbjItdHdpc3RlZC10bHMpKSkKICAgIChhcmd1bWVudHMKICAgICAg YCgjOnB5dGhvbiAscHl0aG9uLTIgOyBUT0RPOiBUZXN0IHdpdGggUHl0aG9uIDMuCiAgICAgICAg OzsgRklYTUU6IERpc2FibGUgdGVzdHMsIG90aGVyd2lzZSAiY2hlY2siIHBoYXNlIGZhaWxzIHdp dGg6CiAgICAgICAgOzsgdHdpc3RlZC5weXRob24ucmVmbGVjdC5PYmplY3ROb3RGb3VuZDogJ2Zv b2xzY2FwLnRlc3QnIGRvZXMKICAgICAgICA7OyBub3QgbmFtZSBhbiBvYmplY3QKICAgICAgICAj OnRlc3RzPyAjZikpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2Zvb2xzY2FwLmxvdGhhci5jb20v IikKICAgIChzeW5vcHNpcyAiUmVtb3RlIG9iamVjdC1tZXNzYWdpbmcgZm9yIFB5dGhvbitUd2lz dGVkIikKICAgIChkZXNjcmlwdGlvbgogICAgICAiUlBDL1JNSSAoUmVtb3RlIFByb2NlZHVyZSBD YWxsIC8gUmVtb3RlIE1ldGhvZCBJbnZvY2F0aW9uKSBwcm90b2NvbCBmb3IKdXNlIHdpdGggVHdp c3RlZCwgZGVyaXZlZC9pbnNwaXJlZCBieSBUd2lzdGVkJ3MgYnVpbHQtaW4gUGVyc3BlY3RpdmUK QnJva2VyIHBhY2thZ2UuIikKICAgIChsaWNlbnNlIGV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBw eXRob24yLW5ldm93CiAgOzsgVE9ETzogVGVzdCByZXByb2R1Y2liaWxpdHkuCiAgKHBhY2thZ2UK ICAgIChuYW1lICJweXRob24yLW5ldm93IikKICAgICh2ZXJzaW9uICIwLjE0LjIiKQogICAgKHNv dXJjZQogICAgICAob3JpZ2luCiAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgKHVy aQogICAgICAgICAgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRo dWIuY29tL3R3aXN0ZWQvbmV2b3cuZ2l0IikKICAgICAgICAgICAgKGNvbW1pdAogICAgICAgICAg ICAgIChzdHJpbmctYXBwZW5kICJuZXZvdy0iIHZlcnNpb24pKSkpCiAgICAgICAgKGZpbGUtbmFt ZQogICAgICAgICAgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbikpCiAgICAgICAgKHNo YTI1NgogICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAiMDRyZjZyOTBmenc3a25wMjZ6OHNz bmIwd3h3ZDNtdnJyMGE1Y25qbjUwbmI3OHB5eWg4bCIpKQogICAgICAgIChtb2R1bGVzCiAgICAg ICAgICAnKChndWl4IGJ1aWxkIHV0aWxzKSkpCiAgICAgICAgKHNuaXBwZXQKICAgICAgICAgICco YmVnaW4KICAgICAgICAgICAgIChkZWxldGUtZmlsZS1yZWN1cnNpdmVseSAid2luMzIiKQogICAg ICAgICAgICAgKHN1YnN0aXR1dGUqICJNQU5JRkVTVC5pbiIKICAgICAgICAgICAgICAgKCgiaW5j bHVkZSB3aW4zMi9cXCoiKQogICAgICAgICAgICAgICAgICAiIikpKSkpKQogICAgKGJ1aWxkLXN5 c3RlbSBweXRob24tYnVpbGQtc3lzdGVtKQogICAgKGlucHV0cwogICAgICBgKDs7IEZJWE1FOiBO ZWVkczoKICAgICAgICA7OyAqICIvZXRjL21pbWUudHlwZXMiLgogICAgICAgIDs7ICogIi9zaGFy ZS9kaWN0L3dvcmRzIi4KICAgICAgICA7OyAqICIvc2hhcmUvaWNvbnMvZ25vbWUvNDh4NDgvc3Rv Y2svbmV0L3N0b2NrX2NoYW5uZWwucG5nIi4KICAgICAgICA7OyBUT0RPOiBNYWtlICJkb2NzIi4K ICAgICAgICAoInB5dGhvbjItc2V0dXB0b29scyIgLHB5dGhvbjItc2V0dXB0b29scykKICAgICAg ICAoInB5dGhvbjItdHdpc3RlZCIgLHB5dGhvbjItdHdpc3RlZCkpKQogICAgKGFyZ3VtZW50cwog ICAgICBgKCM6cHl0aG9uICxweXRob24tMikpIDsgVE9ETzogVGVzdCB3aXRoIFB5dGhvbiAzLgog ICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3R3aXN0ZWQvbmV2b3ciKQogICAgKHN5 bm9wc2lzICJXZWIgYXBwbGljYXRpb24gY29uc3RydWN0aW9uIGtpdCIpCiAgICAoZGVzY3JpcHRp b24KICAgICAgIkRlc2lnbmVkIHRvIGFsbG93IHRoZSBwcm9ncmFtbWVyIHRvIGV4cHJlc3Mgdmll dyBsb2dpYyBhcyBkZXNpcmVkCmluIFB5dGhvbi4gIEluY2x1ZGVzIGEgUHl0aG9uIFhNTCBleHBy ZXNzaW9uIHN5bnRheCBuYW1lZCBzdGFuLgpQcm92aWRlcyBzdXBwb3J0IGZvciBkZXNpZ25lci1l ZGl0ZWQgdGVtcGxhdGVzLCB1c2luZyBhIFhNTCBhdHRyaWJ1dGUKbGFuZ3VhZ2UgZm9yIGJpLWRp cmVjdGlvbmFsIHRlbXBsYXRlIG1hbmlwdWxhdGlvbi4iKQogICAgKGxpY2Vuc2UgZXhwYXQpKSkK CihkZWZpbmUtcHVibGljIHB5dGhvbjItcHljcnlwdG9wcAogIDs7IEZJWE1FOiAidmFsaWRhdGUt cnVucGF0aCIgcGhhc2UgZmFpbHMgd2l0aDoKICA7OyB2YWxpZGF0aW5nIFJVTlBBVEggb2YgMiBi aW5hcmllcyBpbgogIDs7ICIvZ251L3N0b3JlLy4uLi1weXRob24yLXB5Y3J5cHRvcHAtMC43LjEv bGliIi4uLgogIDs7IFtQYXRoIGFib3ZlLCBzZWUgTk9URV0vcHl0aG9uMi43L3NpdGUtcGFja2Fn ZXMvcHljcnlwdG9wcC9fcHljcnlwdG9wcC5zbzoKICA7OyBlcnJvcjogZGVwZW5kcyBvbiAnbGli Y3J5cHRvcHAuc28uNS42Jywgd2hpY2ggY2Fubm90CiAgOzsgYmUgZm91bmQgaW4gUlVOUEFUSCAo Ii9nbnUvc3RvcmUvLi4uLXB5dGhvbi0yLjcuMTEvbGliIgogIDs7ICIvZ251L3N0b3JlLy4uLi1n bGliYy0yLjIzL2xpYiIgIi9nbnUvc3RvcmUvLi4uLWdjYy00LjkuMy1saWIvbGliIgogIDs7ICIv Z251L3N0b3JlLy4uLi1jcnlwdG9wcC01LjYuNC9saWIiCiAgOzsgIi9nbnUvc3RvcmUvLi4uLWdj Yy00LjkuMy1saWIvbGliW1JldHVybnMgaGVyZSwgc2VlIE5PVEVdIikKICA7OyBOT1RFOgogIDs7 ICogIlBhdGggYWJvdmUiOiAiL2dudS9zdG9yZS8uLi4tcHl0aG9uMi1weWNyeXB0b3BwLTAuNy4x L2xpYiIuCiAgOzsgKiAiUmV0dXJucyBoZXJlIjogImdjYy9pNjg2LXVua25vd24tbGludXgtZ251 LzQuOS4zLy4uLy4uLy4uIi4KICAocGFja2FnZQogICAgKG5hbWUgInB5dGhvbjItcHljcnlwdG9w cCIpCiAgICAodmVyc2lvbiAiMC43LjEiKQogICAgKHNvdXJjZQogICAgICAob3JpZ2luCiAgICAg ICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgKHVyaQogICAgICAgICAgKGdpdC1yZWZlcmVu Y2UKICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3RhaG9lLWxhZnMvcHljcnlw dG9wcC5naXQiKQogICAgICAgICAgICAoY29tbWl0CiAgICAgICAgICAgICAgKHN0cmluZy1hcHBl bmQgInB5Y3J5cHRvcHAtIiB2ZXJzaW9uKSkpKQogICAgICAgIChmaWxlLW5hbWUKICAgICAgICAg IChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24pKQogICAgICAgIChzaGEyNTYKICAgICAg ICAgIChiYXNlMzIKICAgICAgICAgICAgIjBpZGdtNXJ5bmQyamc2bG1naDl2bjlzNmk2aHh4ejZ2 NTZxMnpjZHFoYzRiOXBicGdwZzIiKSkKICAgICAgICAobW9kdWxlcwogICAgICAgICAgJygoZ3Vp eCBidWlsZCB1dGlscykpKQogICAgICAgIChzbmlwcGV0CiAgICAgICAgICBgKGJlZ2luCiAgICAg ICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgInNyYy1jcnlwdG9wcCIpCiAgICAgICAg ICAgICA7OyBGSVhNRT8gQWJvdXQgInNyYy1lZDI1NTE5IiwgZG8gb25lIG9mIHRoZSBmb2xsb3dp bmc6CiAgICAgICAgICAgICA7OyBhKSBSZW1vdmUgaXQuCiAgICAgICAgICAgICA7OyBiKSBUYWxr IHRvIHVwc3RyZWFtIHRvIHVzZSBvcmlnaW5hbCBvbmUuCiAgICAgICAgICAgICA7OyBTZWVtcyB0 byBiZSBjdXN0b20gbWFkZSwgc2VlIGNvbW1pdAogICAgICAgICAgICAgOzsgOTU5ODUxNzQzZWQw YTVmYjFkYzc3ZDY5MjUwMzFhMDMzNjdjODk0OS4KICAgICAgICAgICAgIDs7IEZJWE1FOiBGb3Jj ZSB2ZXJzaW9uLCBvdGhlcndpc2UgImJ1aWxkIiBwaGFzZSBmYWlscyB3aXRoOgogICAgICAgICAg ICAgOzsgRXhjZXB0aW9uOiBwcm9ibGVtOiBjb3VsZG4ndCBnZXQgdmVyc2lvbiBpbmZvcm1hdGlv biBmcm9tCiAgICAgICAgICAgICA7OyByZXZpc2lvbiBjb250cm9sIGhpc3RvcnksIGFuZCB0aGVy ZSBpcyBubyB2ZXJzaW9uIGluZm9ybWF0aW9uCiAgICAgICAgICAgICA7OyBpbiAnc3JjL3B5Y3J5 cHRvcHAvX3ZlcnNpb24ucHknLiBTdG9wcGluZy4KICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAi c2V0dXAucHkiCiAgICAgICAgICAgICAgICgoInZlcnNpb24gPSBVcGRhdGVWZXJzaW9uXFwoXFwp XFwucnVuXFwoXFwpIikKICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgInZlcnNpb24g PSBcIiIgLHZlcnNpb24gIlwiIikpKSkpKSkKICAgIChidWlsZC1zeXN0ZW0gcHl0aG9uLWJ1aWxk LXN5c3RlbSkKICAgIChpbnB1dHMKICAgICAgYCgoImNyeXB0b3BwIiAsY3J5cHRvcHApCiAgICAg ICAgKCJweXRob24yLXNldHVwdG9vbHMiICxweXRob24yLXNldHVwdG9vbHMpKSkKICAgIChhcmd1 bWVudHMKICAgICAgYCgjOmNvbmZpZ3VyZS1mbGFncwogICAgICAgICAgJygiLS1zaW5nbGUtdmVy c2lvbi1leHRlcm5hbGx5LW1hbmFnZWQiCiAgICAgICAgICAgICItLXJlY29yZD1weWNyeXB0b3Bw LnR4dCIpCiAgICAgICAgIzpwaGFzZXMKICAgICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFy ZC1waGFzZXMKICAgICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdzZXRlbnYtYW5kLWZpeC1w YXRocwogICAgICAgICAgICAgIChsYW1iZGEqCiAgICAgICAgICAgICAgICAgICgjOmtleSBpbnB1 dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgICAgKGFuZAogICAgICAgICAgICAg ICAgICAoc2V0ZW52ICJQWUNSWVBUT1BQX0RJU0FCTEVfRU1CRURERURfQ1JZUFRPUFAiICIxIikg CiAgICAgICAgICAgICAgICAgIChsZXQKICAgICAgICAgICAgICAgICAgICAgICgoY3J5cHRvcHAK ICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgaW5wdXRzICJjcnlwdG9wcCIpKSkK ICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInNldHVwLnB5IgogICAgICAgICAgICAg ICAgICAgICAgKCgiZm9yIGluY2xwYXRoIGluIFxcWy4qXFxdOiIpCiAgICAgICAgICAgICAgICAg ICAgICAgICAoc3RyaW5nLWFwcGVuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9yIGlu Y2xwYXRoIGluIFtcIiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgY3J5cHRvcHAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi9pbmNsdWRlXCJdOiIpKSkpKSkpKQogICAgICAgICM6cHl0 aG9uICxweXRob24tMiA7IFRPRE86IFRlc3Qgd2l0aCBQeXRob24gMy4KICAgICAgICA7OyBGSVhN RTogRGlzYWJsZSB0ZXN0cywgb3RoZXJ3aXNlICJjaGVjayIgcGhhc2UgZmFpbHMgd2l0aDoKICAg ICAgICA7OyBJbXBvcnRFcnJvcjogbGliY3J5cHRvcHAuc28uNS42OiBjYW5ub3Qgb3BlbiBzaGFy ZWQgb2JqZWN0IGZpbGU6CiAgICAgICAgOzsgTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICAg ICAgICM6dGVzdHM/ICNmKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vdGFob2UtbGFmcy5vcmcv dHJhYy9weWNyeXB0b3BwIikKICAgIChzeW5vcHNpcyAiUHl0aG9uIGJpbmRpbmdzIHRvIHRoZSBD cnlwdG8rKyBsaWJyYXJ5IikKICAgIChkZXNjcmlwdGlvbgogICAgICAiUHl0aG9uIGludGVyZmFj ZXMgdG8gc29tZSBjcnlwdG9ncmFwaGljIGFsZ29yaXRobXMuIikKICAgIChsaWNlbnNlIGdwbDIr KSkpCgooZGVmaW5lLXB1YmxpYyBweXRob24yLXB5dXRpbAogIDs7IFRPRE86IFRlc3QgcmVwcm9k dWNpYmlsaXR5LgogIChwYWNrYWdlCiAgICAobmFtZSAicHl0aG9uMi1weXV0aWwiKQogICAgKHZl cnNpb24gIjIuMC4wIikKICAgIChzb3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2Qg dXJsLWZldGNoKQogICAgICAgICh1cmkKICAgICAgICAgIChweXBpLXVyaSAicHl1dGlsIiB2ZXJz aW9uKSkKICAgICAgICAoZmlsZS1uYW1lCiAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBuYW1lICIt IiB2ZXJzaW9uICIudGFyLmd6IikpCiAgICAgICAgKHNoYTI1NgogICAgICAgICAgKGJhc2UzMgog ICAgICAgICAgICAiMWZzZzl5ejVtaTJzYjBoNmMxdnZjcWNoeDU2aTg5bmJ2ZGI1Z2ZndjFpYTNi Mnc1cmE4YyIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIHB5dGhvbi1idWlsZC1zeXN0ZW0pCiAgICAo aW5wdXRzCiAgICAgIGAoOzsgRklYTUU6IE5lZWRzICIvZXRjL2xzYi1yZWxlYXNlIi4KICAgICAg ICA7OyBUT0RPOiBNYWtlICJqc29udXRpbCIgZXh0cmFzLgogICAgICAgICgibmV0LXRvb2xzIiAs bmV0LXRvb2xzKQogICAgICAgICgicHl0aG9uMi1zZXR1cHRvb2xzIiAscHl0aG9uMi1zZXR1cHRv b2xzKQogICAgICAgICgicHl0aG9uMi1zaW1wbGVqc29uIiAscHl0aG9uMi1zaW1wbGVqc29uKQog ICAgICAgICgicHl0aG9uMi10d2lzdGVkIiAscHl0aG9uMi10d2lzdGVkKQogICAgICAgICgicHl0 aG9uMi16YmFzZTMyIiAscHl0aG9uMi16YmFzZTMyKSkpCiAgICAoYXJndW1lbnRzCiAgICAgIGAo Izpjb25maWd1cmUtZmxhZ3MKICAgICAgICAgICcoIi0tc2luZ2xlLXZlcnNpb24tZXh0ZXJuYWxs eS1tYW5hZ2VkIgogICAgICAgICAgICAiLS1yZWNvcmQ9cHl1dGlsLnR4dCIpCiAgICAgICAgIzpw aGFzZXMKICAgICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAg ICAgKGFkZC1hZnRlciAndW5wYWNrICdmaXgtcGF0aHMKICAgICAgICAgICAgICAobGFtYmRhKgog ICAgICAgICAgICAgICAgICAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKICAgICAg ICAgICAgICAgIChsZXQKICAgICAgICAgICAgICAgICAgICAoKG5ldC10b29scwogICAgICAgICAg ICAgICAgICAgICAgIChhc3NvYy1yZWYgaW5wdXRzICJuZXQtdG9vbHMiKSkpCiAgICAgICAgICAg ICAgICAgIChhbmQKICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInB5dXRpbC9pcHV0 aWwucHkiCiAgICAgICAgICAgICAgICAgICAgICAoKCInL3NiaW4vaWZjb25maWcnIikKICAgICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICInIiBuZXQtdG9vbHMgIi9zYmluL2lm Y29uZmlnJyIpKSkpKSkpKQogICAgICAgICM6cHl0aG9uICxweXRob24tMikpIDsgVE9ETzogVGVz dCB3aXRoIFB5dGhvbiAzLgogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3pvb2tv L3B5dXRpbCIpCiAgICAoc3lub3BzaXMgIkNvbGxlY3Rpb24gb2YgdXRpbGl0aWVzIGZvciBQeXRo b24gcHJvZ3JhbW1lcnMiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgICJDb2xsZWN0aW9uIG9mIHV0 aWxpdGllcyBmb3IgUHl0aG9uIHByb2dyYW1tZXJzLiIpCiAgICAobGljZW5zZSBncGwyKykpKQoK KGRlZmluZS1wdWJsaWMgcHl0aG9uMi1zZXJ2aWNlLWlkZW50aXR5CiAgOzsgVE9ETzogVGVzdCBy ZXByb2R1Y2liaWxpdHkuCiAgKHBhY2thZ2UKICAgIChuYW1lICJweXRob24yLXNlcnZpY2UtaWRl bnRpdHkiKQogICAgKHZlcnNpb24gIjE2LjAuMCIpCiAgICAoc291cmNlCiAgICAgIChvcmlnaW4K ICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICAodXJpCiAgICAgICAgICAoZ2l0LXJl ZmVyZW5jZQogICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vcHljYS9zZXJ2aWNl X2lkZW50aXR5LmdpdCIpCiAgICAgICAgICAgIChjb21taXQgdmVyc2lvbikpKQogICAgICAgIChm aWxlLW5hbWUgKHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbikpCiAgICAgICAgKHNoYTI1 NgogICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAiMWY2ZzVyNmpna3dqMGtqbno0ODFjd2oy ZnlrNncwNjR3aDhyMTEyMng2YWo1NTE4NTUwNSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIHB5dGhv bi1idWlsZC1zeXN0ZW0pCiAgICAoaW5wdXRzCiAgICAgIGAoOzsgVE9ETzogTWFrZSAiZG9jcyIu CiAgICAgICAgOzsgVE9ETzogTWFrZSAiaWRuYSIgZXh0cmFzLgogICAgICAgICgicHl0aG9uMi1h dHRycyIscHl0aG9uMi1hdHRycykKICAgICAgICAoInB5dGhvbjItcHlhc24xIiAscHl0aG9uMi1w eWFzbjEpCiAgICAgICAgKCJweXRob24yLXB5YXNuMS1tb2R1bGVzIiAscHl0aG9uMi1weWFzbjEt bW9kdWxlcykKICAgICAgICAoInB5dGhvbjItcHlvcGVuc3NsIiAscHl0aG9uMi1weW9wZW5zc2wp CiAgICAgICAgKCJweXRob24yLXNldHVwdG9vbHMiICxweXRob24yLXNldHVwdG9vbHMpKSkKICAg IChhcmd1bWVudHMKICAgICAgYCgjOnB5dGhvbiAscHl0aG9uLTIgOyBUT0RPOiBUZXN0IHdpdGgg UHl0aG9uIDMuCiAgICAgICAgIzp0ZXN0cz8gI2YpKSA7IEZJWE1FPyBUZXN0cyByZXF1aXJlIHB5 dGVzdC4KICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9weWNhL3NlcnZpY2VfaWRl bnRpdHkiKQogICAgKHN5bm9wc2lzICJTZXJ2aWNlIGlkZW50aXR5IHZlcmlmaWNhdGlvbiBmb3Ig cHlPcGVuU1NMIikKICAgIChkZXNjcmlwdGlvbgogICAgICAiVXNlIHRoaXMgcGFja2FnZSBpZiB5 b3UgdXNlIHB5T3BlblNTTCBhbmQgZG9u4oCZdCB3YW50IHRvIGJlIE1JVE1lZCBvcgppZiB5b3Ug d2FudCB0byB2ZXJpZnkgdGhhdCBhIFB5Q0EgY3J5cHRvZ3JhcGh5IGNlcnRpZmljYXRlIGlzIHZh bGlkIGZvcgphIGNlcnRhaW4gaG9zdG5hbWUuCgpzZXJ2aWNlX2lkZW50aXR5IGFzcGlyZXMgdG8g Z2l2ZSB5b3UgYWxsIHRoZSB0b29scyB5b3UgbmVlZCBmb3IgdmVyaWZ5aW5nCndoZXRoZXIgYSBj ZXJ0aWZpY2F0ZSBpcyB2YWxpZCBmb3IgdGhlIGludGVuZGVkIHB1cnBvc2VzLgoKSW4gdGhlIHNp bXBsZXN0IGNhc2UsIHRoaXMgbWVhbnMgaG9zdCBuYW1lIHZlcmlmaWNhdGlvbi4gIEhvd2V2ZXIs CnNlcnZpY2VfaWRlbnRpdHkgaW1wbGVtZW50cyBSRkMgNjEyNSBmdWxseSBhbmQgcGxhbnMgdG8g YWRkIG90aGVyIHJlbGV2YW50ClJGQ3MgdG9vLiIpCiAgICAobGljZW5zZSBleHBhdCkpKQoKKGRl ZmluZS1wdWJsaWMgcHl0aG9uMi10d2lzdGVkLXRscwogIDs7IFRPRE86IFRlc3Qgd2l0aCBQeXRo b24gMy4KICA7OyBUT0RPOiBUZXN0IHJlcHJvZHVjaWJpbGl0eS4KICAocGFja2FnZQogICAgKGlu aGVyaXQgcHl0aG9uMi10d2lzdGVkKQogICAgKG5hbWUgInB5dGhvbjItdHdpc3RlZC10bHMiKQog ICAgKGlucHV0cwogICAgICBgKCxAKHBhY2thZ2UtaW5wdXRzIHB5dGhvbjItdHdpc3RlZCkKICAg ICAgICAoInB5dGhvbjItaWRuYSIgLHB5dGhvbjItaWRuYSkKICAgICAgICAoInB5dGhvbjItcHlv cGVuc3NsIiAscHl0aG9uMi1weW9wZW5zc2wpCiAgICAgICAgKCJweXRob24yLXNlcnZpY2UtaWRl bnRpdHkiICxweXRob24yLXNlcnZpY2UtaWRlbnRpdHkpKSkKICAgIChkZXNjcmlwdGlvbgogICAg ICAoc3RyaW5nLWFwcGVuZAogICAgICAgIChwYWNrYWdlLWRlc2NyaXB0aW9uIHB5dGhvbjItdHdp c3RlZCkgIlxuXG4iCiAgICAgICAgIlRoaXMgcGFja2FnZSBwcm92aWRlcyBUd2lzdGVkIGFuZCBp dHMgXCJ0bHNcIiBleHRyYS4iKSkpKQoKKGRlZmluZS1wdWJsaWMgcHl0aG9uMi16YmFzZTMyCiAg OzsgVE9ETzogVGVzdCByZXByb2R1Y2liaWxpdHkuCiAgKHBhY2thZ2UKICAgIChuYW1lICJweXRo b24yLXpiYXNlMzIiKQogICAgKHZlcnNpb24gIjEuMS41IikKICAgIChzb3VyY2UKICAgICAgKG9y aWdpbgogICAgICAgIChtZXRob2QgdXJsLWZldGNoKQogICAgICAgICh1cmkKICAgICAgICAgIChw eXBpLXVyaSAiemJhc2UzMiIgdmVyc2lvbikpCiAgICAgICAgKGZpbGUtbmFtZQogICAgICAgICAg KHN0cmluZy1hcHBlbmQgbmFtZSAiLSIgdmVyc2lvbiAiLnRhci5neiIpKQogICAgICAgIChzaGEy NTYKICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgIjBiczJ3cjhrMHBzc2huYmxmM3Nuemh3 Nno2anI0Z2tpZHhic2E3YWJtanc2bG01dzY5Y3YiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBweXRo b24tYnVpbGQtc3lzdGVtKQogICAgKGlucHV0cwogICAgICBgKCgicHl0aG9uMi1zZXR1cHRvb2xz IiAscHl0aG9uMi1zZXR1cHRvb2xzKSkpCiAgICAoYXJndW1lbnRzCiAgICAgIGAoIzpjb25maWd1 cmUtZmxhZ3MKICAgICAgICAgICcoIi0tc2luZ2xlLXZlcnNpb24tZXh0ZXJuYWxseS1tYW5hZ2Vk IgogICAgICAgICAgICAiLS1yZWNvcmQ9emJhc2UzMi50eHQiKQogICAgICAgICM6cHl0aG9uICxw eXRob24tMiA7IFRPRE86IFRlc3Qgd2l0aCBQeXRob24gMy4KICAgICAgICAjOnRlc3RzPyAjZikp IDsgRklYTUU/IENpcmN1bGFyIGRlcGVuZGVuY3kgb2YgcHl1dGlsLgogICAgKGhvbWUtcGFnZSAi aHR0cHM6Ly9naXRodWIuY29tL3pvb2tvL2xpYmJhc2UzMiIpCiAgICAoc3lub3BzaXMgIkFsdGVy bmF0ZSBiYXNlMzIgZW5jb2RlciAobm90IFJGQyAzNTQ4IGNvbXBsaWFudCkiKQogICAgKGRlc2Ny aXB0aW9uCiAgICAgICJBbHRlcm5hdGUgYmFzZTMyIGVuY29kZXIgKG5vdCBSRkMgMzU0OCBjb21w bGlhbnQpLiIpCiAgICA7OyBGSVhNRTogU291cmNlIGZpbGVzIHNheSBpdHMgdW5kZXIgIkJTRCBs aWNlbnNlIi4KICAgIDs7IFVwc3RyZWFtIHJlcG9zaXRvcnkgc2F5cyBpdHMgdW5kZXIgQ0MwIDEu MC4KICAgIDs7ICoqQ2FuKiogYWZmZWN0IEdQTCAyKyBjb21wbGlhbmNlIG9mIHB5dXRpbCwgemZl YyBhbmQgVGFob2UtTEFGUy4KICAgIDs7IFVwc3RyZWFtIHJlcG9zaXRvcnkgaXMgImxpYmJhc2Uz MiIuIFB5dXRpbCBleHBlY3RzICJ6YmFzZTMyIi4KICAgIChsaWNlbnNlICNmKSkpCgooZGVmaW5l LXB1YmxpYyBweXRob24yLXpmZWMKICA7OyBUT0RPOiBUZXN0IHJlcHJvZHVjaWJpbGl0eS4KICAo cGFja2FnZQogICAgKG5hbWUgInB5dGhvbjItemZlYyIpCiAgICAodmVyc2lvbiAiMS40LjI0IikK ICAgIChzb3VyY2UKICAgICAgKG9yaWdpbgogICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAg ICAgICh1cmkKICAgICAgICAgIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICh1cmwgImh0dHBz Oi8vZ2l0aHViLmNvbS90YWhvZS1sYWZzL3pmZWMuZ2l0IikKICAgICAgICAgICAgKGNvbW1pdAog ICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICJ6ZmVjLSIgdmVyc2lvbikpKSkKICAgICAgICAo ZmlsZS1uYW1lCiAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBuYW1lICItIiB2ZXJzaW9uKSkKICAg ICAgICAoc2hhMjU2CiAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICIwMzE1aTJneXZ3MWw5 cjBnbHhhMXByM2l2Z2NraHJpOXhmeHczYW1rejYza3BxZ2w5eWJiIikpKSkKICAgIChidWlsZC1z eXN0ZW0gcHl0aG9uLWJ1aWxkLXN5c3RlbSkKICAgIDs7IFRPRE86IEFib3V0ICJzZXR1cHRvb2xz LTAuNmMxNmRldjMuZWdnIiwgZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CiAgICA7OyBhKSBEZWZp bmUgYXMgInpldHVwdG9vbHoiIG91dHB1dC4KICAgIDs7IGIpIFByb3ZpZGUgInpldHVwdG9vbHoi IGFzIGFub3RoZXIgcmVjaXBlLgogICAgOzsgYykgVGFsayB0byB1cHN0cmVhbSB0byB1c2Ugb3Jp Z2luYWwgc2V0dXB0b29scy4KICAgIChpbnB1dHMKICAgICAgYCgoImNvcmV1dGlscyIgLGNvcmV1 dGlscykKICAgICAgICAoInB5dGhvbjItcHl1dGlsIiAscHl0aG9uMi1weXV0aWwpCiAgICAgICAg KCJweXRob24yLXNldHVwdG9vbHMiICxweXRob24yLXNldHVwdG9vbHMpKSkKICAgIChhcmd1bWVu dHMKICAgICAgYCgjOmNvbmZpZ3VyZS1mbGFncwogICAgICAgICAgJygiLS1zaW5nbGUtdmVyc2lv bi1leHRlcm5hbGx5LW1hbmFnZWQiCiAgICAgICAgICAgICItLXJlY29yZD16ZmVjLnR4dCIpCiAg ICAgICAgIzpweXRob24gLHB5dGhvbi0yKSkgOyBUT0RPOiBUZXN0IHdpdGggUHl0aG9uIDMuCiAg ICAoaG9tZS1wYWdlICJodHRwczovL3RhaG9lLWxhZnMub3JnL3RyYWMvemZlYyIpCiAgICAoc3lu b3BzaXMgIkVmZmljaWVudCwgcG9ydGFibGUgZXJhc3VyZSBjb2RpbmcgdG9vbCIpCiAgICAoZGVz Y3JpcHRpb24KICAgICAgIkdlbmVyYXRlIHJlZHVuZGFudCBibG9ja3Mgb2YgaW5mb3JtYXRpb24g c3VjaCB0aGF0IGlmIHNvbWUgb2YgdGhlIGJsb2NrcwphcmUgbG9zdCB0aGVuIHRoZSBvcmlnaW5h bCBkYXRhIGNhbiBiZSByZWNvdmVyZWQgZnJvbSB0aGUgcmVtYWluaW5nCmJsb2Nrcy4gIFRoaXMg cGFja2FnZSBpbmNsdWRlcyBjb21tYW5kLWxpbmUgdG9vbHMsIEMgQVBJLCBQeXRob24gQVBJLAph bmQgSGFza2VsbCBBUEkuIikKICAgIChsaWNlbnNlIGdwbDIrKSkpCgooZGVmaW5lLXB1YmxpYyB0 YWhvZS1sYWZzCiAgOzsgVE9ETzogVGVzdCByZXByb2R1Y2liaWxpdHkuCiAgKHBhY2thZ2UKICAg IChuYW1lICJ0YWhvZS1sYWZzIikKICAgICh2ZXJzaW9uICIxLjExLjAiKQogICAgKHNvdXJjZQog ICAgICAob3JpZ2luCiAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAgKHVyaQogICAg ICAgICAgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29t L3RhaG9lLWxhZnMvdGFob2UtbGFmcy5naXQiKQogICAgICAgICAgICAoY29tbWl0CiAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgInRhaG9lLWxhZnMtIiB2ZXJzaW9uKSkpKQogICAgICAgIChm aWxlLW5hbWUKICAgICAgICAgIChzdHJpbmctYXBwZW5kIG5hbWUgIi0iIHZlcnNpb24pKQogICAg ICAgIChzaGEyNTYKICAgICAgICAgIChiYXNlMzIKICAgICAgICAgICAgIjFmcnpmMTQ2c2RxbTZu d3FxeTVwN2tzcDA5cXJreHlzazk4anduN2x2Ym4xMTV6NGk2OHEiKSkpKQogICAgKGJ1aWxkLXN5 c3RlbSBweXRob24tYnVpbGQtc3lzdGVtKQogICAgKGlucHV0cwogICAgICBgKDs7IEZJWE1FOiBO ZWVkcyAiL2V0Yy9zc2gvbW9kdWxpIi4KICAgICAgICA7OyBGSVhNRTogTmVlZHMgIi9ldGMvbWlt ZS50eXBlcyIuCiAgICAgICAgOzsgVE9ETzogTWFrZSAiZG9jcyIuCiAgICAgICAgKCJuZXQtdG9v bHMiICxuZXQtdG9vbHMpCiAgICAgICAgKCJweXRob24yLWNoYXJhY3RlcmlzdGljIiAscHl0aG9u Mi1jaGFyYWN0ZXJpc3RpYykKICAgICAgICAoInB5dGhvbjItZm9vbHNjYXAiICxweXRob24yLWZv b2xzY2FwKQogICAgICAgICgicHl0aG9uMi1uZXZvdyIgLHB5dGhvbjItbmV2b3cpCiAgICAgICAg KCJweXRob24yLXB5YXNuMSIgLHB5dGhvbjItcHlhc24xKQogICAgICAgICgicHl0aG9uMi1weWFz bjEtbW9kdWxlcyIgLHB5dGhvbjItcHlhc24xLW1vZHVsZXMpCiAgICAgICAgKCJweXRob24yLXB5 Y3J5cHRvIiAscHl0aG9uMi1weWNyeXB0bykKICAgICAgICAoInB5dGhvbjItcHljcnlwdG9wcCIg LHB5dGhvbjItcHljcnlwdG9wcCkKICAgICAgICAoInB5dGhvbjItcHlvcGVuc3NsIiAscHl0aG9u Mi1weW9wZW5zc2wpCiAgICAgICAgKCJweXRob24yLXNlcnZpY2UtaWRlbnRpdHkiICxweXRob24y LXNlcnZpY2UtaWRlbnRpdHkpCiAgICAgICAgKCJweXRob24yLXNldHVwdG9vbHMiICxweXRob24y LXNldHVwdG9vbHMpCiAgICAgICAgKCJweXRob24yLXNpbXBsZWpzb24iICxweXRob24yLXNpbXBs ZWpzb24pCiAgICAgICAgKCJweXRob24yLXR3aXN0ZWQtdGxzIiAscHl0aG9uMi10d2lzdGVkLXRs cykKICAgICAgICAoInB5dGhvbjItemZlYyIgLHB5dGhvbjItemZlYykKICAgICAgICAoInB5dGhv bjItem9wZS1pbnRlcmZhY2UiICxweXRob24yLXpvcGUtaW50ZXJmYWNlKSkpCiAgICAoYXJndW1l bnRzCiAgICAgIGAoIzpjb25maWd1cmUtZmxhZ3MKICAgICAgICAgICcoIi0tc2luZ2xlLXZlcnNp b24tZXh0ZXJuYWxseS1tYW5hZ2VkIgogICAgICAgICAgICAiLS1yZWNvcmQ9dGFob2UtbGFmcy50 eHQiKQogICAgICAgICM6cGhhc2VzCiAgICAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQt cGhhc2VzCiAgICAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAnZml4LXBhdGhzCiAgICAgICAg ICAgICAgKGxhbWJkYSoKICAgICAgICAgICAgICAgICAgKCM6a2V5IGlucHV0cyAjOmFsbG93LW90 aGVyLWtleXMpCiAgICAgICAgICAgICAgICAobGV0CiAgICAgICAgICAgICAgICAgICAgKChuZXQt dG9vbHMKICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmIGlucHV0cyAibmV0LXRvb2xz IikpKQogICAgICAgICAgICAgICAgICA7OyBGSVhNRTogInNyYy9hbGxteWRhdGEvdXRpbC9pcHV0 aWwucHkiIHNlZW1zIHRvIGJlIG9sZGVyCiAgICAgICAgICAgICAgICAgIDs7IGFuZCBtb3JlIHVw ZGF0ZWQgdGhhbiBweXV0aWwncy4KICAgICAgICAgICAgICAgICAgKGFuZAogICAgICAgICAgICAg ICAgICAgIChzdWJzdGl0dXRlKiAic3JjL2FsbG15ZGF0YS91dGlsL2lwdXRpbC5weSIKICAgICAg ICAgICAgICAgICAgICAgICgoIicvc2Jpbi9pZmNvbmZpZyciKQogICAgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgIiciIG5ldC10b29scyAiL3NiaW4vaWZjb25maWcnIikpCiAg ICAgICAgICAgICAgICAgICAgICAoKCIoJy9iaW4vaXAnLCAoJ2FkZHInLCksIF9hZGRyX3JlKSxc XG5bWzpibGFuazpdXSoiKQogICAgICAgICAgICAgICAgICAgICAgICAgIiIpCiAgICAgICAgICAg ICAgICAgICAgICAoKCIoJy91c3Ivc2Jpbi9pZmNvbmZpZycsICgnLWEnLCksIF9hZGRyX3JlKSxc XG5bWzpibGFuazpdXSoiKQogICAgICAgICAgICAgICAgICAgICAgICAgIiIpCiAgICAgICAgICAg ICAgICAgICAgICAoKCIoJy91c3IvZXRjL2lmY29uZmlnJywgKCctYScsKSwgX2FkZHJfcmUpLFxc bltbOmJsYW5rOl1dKiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAiIikpKSkpKSkKICAgICAg ICAjOnB5dGhvbiAscHl0aG9uLTIpKSA7IFRPRE86IFRlc3Qgd2l0aCBQeXRob24gMy4KICAgICho b21lLXBhZ2UgImh0dHBzOi8vdGFob2UtbGFmcy5vcmcvIikKICAgIChzeW5vcHNpcyAiRGVjZW50 cmFsaXplZCBzdG9yYWdlIHN5c3RlbSB3aXRoIHByb3ZpZGVyLWluZGVwZW5kZW50IHNlY3VyaXR5 IikKICAgIChkZXNjcmlwdGlvbgogICAgICAiRGlzdHJpYnV0ZXMgeW91ciBmaWxlc3lzdGVtIGFj cm9zcyBtdWx0aXBsZSBzZXJ2ZXJzLCBhbmQgZXZlbiBpZiBzb21lIG9mCnRoZSBzZXJ2ZXJzIGZh aWwgb3IgYXJlIHRha2VuIG92ZXIgYnkgYW4gYXR0YWNrZXIsIHRoZSBlbnRpcmUgZmlsZXN5c3Rl bQpjb250aW51ZXMgdG8gd29yayBjb3JyZWN0bHkgYW5kIHRvIHByZXNlcnZlIHlvdXIgcHJpdmFj eSBhbmQgc2VjdXJpdHkuIikKICAgIChsaWNlbnNlIGdwbDIrKSkpCg== --=-=-=--