From mboxrd@z Thu Jan 1 00:00:00 1970 From: Federico Beffa Subject: [PATCH 2/2] import: Add stackage importer and updater. Date: Tue, 7 Feb 2017 08:36:15 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=f403045e1e1894b3100547ebcdaa Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49975) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cb0K2-0001OU-UU for guix-devel@gnu.org; Tue, 07 Feb 2017 02:36:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cb0K0-0001bN-Dn for guix-devel@gnu.org; Tue, 07 Feb 2017 02:36:18 -0500 Received: from mail-ua0-x234.google.com ([2607:f8b0:400c:c08::234]:35086) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cb0K0-0001aw-7w for guix-devel@gnu.org; Tue, 07 Feb 2017 02:36:16 -0500 Received: by mail-ua0-x234.google.com with SMTP id y9so78771984uae.2 for ; Mon, 06 Feb 2017 23:36:16 -0800 (PST) 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 --f403045e1e1894b3100547ebcdaa Content-Type: text/plain; charset=UTF-8 An importer/updater for Stackage built on top of the Hackage one. Regards, Fede --f403045e1e1894b3100547ebcdaa Content-Type: text/x-patch; charset=UTF-8; name="0002-import-Add-stackage-importer-and-updater.patch" Content-Disposition: attachment; filename="0002-import-Add-stackage-importer-and-updater.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iyv7nokz0 RnJvbSA1MDg5MWRjOTI5YTIxMzI3NDA1YzZhM2I1ODYzODEyNjQ1NmRlZWVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWRlcmljbyBCZWZmYSA8YmVmZmFAZmJlbmdpbmVlcmluZy5j aD4KRGF0ZTogTW9uLCA2IEZlYiAyMDE3IDE4OjE5OjI2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAy LzJdIGltcG9ydDogQWRkIHN0YWNrYWdlIGltcG9ydGVyIGFuZCB1cGRhdGVyLgoKKiBndWl4L2lt cG9ydC9zdGFja2FnZS5zY206IE5ldyBmaWxlLgoqIGd1aXgvc2NyaXB0cy9pbXBvcnQvc3RhY2th Z2Uuc2NtOiBOZXcgZmlsZS4KKiBNYWtlZmlsZS5hbSAoTU9EVUxFUyk6IEFkZCBuZXcgZmlsZXMu CiogZ3VpeC9zY3JpcHRzL2ltcG9ydC5zY20gKGltcG9ydGVycyk6IEFkZCAic3RhY2thZ2UiLgoq IGd1aXgvc2NyaXB0cy9yZWZyZXNoLnNjbSAoJXVwZGF0ZXJzKTogQWRkICVzdGFja2FnZS11cGRh dGVyLgoqIGRvYy9ndWl4LnRleGkgKEludm9raW5nICdndWl4IGltcG9ydCcpOiBEb2N1bWVudCB0 aGUgaW1wb3J0ZXIuCiAgKEludm9raW5nICdndWl4IHJlZnJlc2gnKTogQWRkIHN0YWNrYWdlIHRv IG9wdGlvbiAtLXR5cGUgdmFsaWQgdmFsdWVzLgotLS0KIE1ha2VmaWxlLmFtICAgICAgICAgICAg ICAgICAgICAgIHwgICAyICsKIGRvYy9ndWl4LnRleGkgICAgICAgICAgICAgICAgICAgIHwgIDMz ICsrKysrKystCiBndWl4L2ltcG9ydC9zdGFja2FnZS5zY20gICAgICAgICB8IDE3OCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGd1aXgvc2NyaXB0cy9pbXBvcnQuc2Nt ICAgICAgICAgIHwgICAzICstCiBndWl4L3NjcmlwdHMvaW1wb3J0L3N0YWNrYWdlLnNjbSB8IDEx NSArKysrKysrKysrKysrKysrKysrKysrKysrCiBndWl4L3NjcmlwdHMvcmVmcmVzaC5zY20gICAg ICAgICB8ICAgMiArCiA2IGZpbGVzIGNoYW5nZWQsIDMzMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGd1aXgvaW1wb3J0L3N0YWNrYWdlLnNjbQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGd1aXgvc2NyaXB0cy9pbXBvcnQvc3RhY2thZ2Uuc2NtCgpkaWZmIC0t Z2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQppbmRleCAzNjBjMzU2ZjEuLjE4NTAxYmRk ZiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAgLTEyNiw2ICsx MjYsNyBAQCBNT0RVTEVTID0JCQkJCVwKICAgZ3VpeC9pbXBvcnQvY2FiYWwuc2NtCQkJCVwKICAg Z3VpeC9pbXBvcnQvY3Jhbi5zY20JCQkJXAogICBndWl4L2ltcG9ydC9oYWNrYWdlLnNjbQkJCVwK KyAgZ3VpeC9pbXBvcnQvc3RhY2thZ2Uuc2NtCQkJXAogICBndWl4L2ltcG9ydC9lbHBhLnNjbSAg IAkJCVwKICAgZ3VpeC9zY3JpcHRzLnNjbQkJCQlcCiAgIGd1aXgvc2NyaXB0cy9kb3dubG9hZC5z Y20JCQlcCkBAIC0xNDcsNiArMTQ4LDcgQEAgTU9EVUxFUyA9CQkJCQlcCiAgIGd1aXgvc2NyaXB0 cy9pbXBvcnQvZ251LnNjbQkJCVwKICAgZ3VpeC9zY3JpcHRzL2ltcG9ydC9uaXguc2NtCQkJXAog ICBndWl4L3NjcmlwdHMvaW1wb3J0L2hhY2thZ2Uuc2NtCQlcCisgIGd1aXgvc2NyaXB0cy9pbXBv cnQvc3RhY2thZ2Uuc2NtCQlcCiAgIGd1aXgvc2NyaXB0cy9pbXBvcnQvZWxwYS5zY20gIAkJXAog ICBndWl4L3NjcmlwdHMvZW52aXJvbm1lbnQuc2NtCQkJXAogICBndWl4L3NjcmlwdHMvcHVibGlz aC5zY20JCQlcCmRpZmYgLS1naXQgYS9kb2MvZ3VpeC50ZXhpIGIvZG9jL2d1aXgudGV4aQppbmRl eCA2YWNkZTY2MjEuLjhjYWYxZDY4ZCAxMDA2NDQKLS0tIGEvZG9jL2d1aXgudGV4aQorKysgYi9k b2MvZ3VpeC50ZXhpCkBAIC0zMSw3ICszMSw4IEBAIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAx NiBKYW4gTmlldXdlbmh1aXplbkAqCiBDb3B5cmlnaHQgQGNvcHlyaWdodHt9IDIwMTYgSnVsaWVu IExlcGlsbGVyQCoKIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAxNiBBbGV4IHRlciBXZWVsZUAq CiBDb3B5cmlnaHQgQGNvcHlyaWdodHt9IDIwMTcgQ2zDqW1lbnQgTGFzc2lldXJAKgotQ29weXJp Z2h0IEBjb3B5cmlnaHR7fSAyMDE3IE1hdGhpZXUgT3RoYWNlaGUKK0NvcHlyaWdodCBAY29weXJp Z2h0e30gMjAxNyBNYXRoaWV1IE90aGFjZWhlQCoKK0NvcHlyaWdodCBAY29weXJpZ2h0e30gMjAx NyBGZWRlcmljbyBCZWZmYQogCiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSwgZGlzdHJp YnV0ZSBhbmQvb3IgbW9kaWZ5IHRoaXMgZG9jdW1lbnQKIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMyBvcgpAQCAtNTM0MCw2 ICs1MzQxLDM0IEBAIHBhY2thZ2UgbmFtZSBieSBhbiBhdC1zaWduIGFuZCBhIHZlcnNpb24gbnVt YmVyIGFzIGluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZToKIGd1aXggaW1wb3J0IGhhY2thZ2UgbXRs QEAyLjEuMy4xCiBAZW5kIGV4YW1wbGUKIAorQGl0ZW0gc3RhY2thZ2UKK0BjaW5kZXggc3RhY2th Z2UKK1RoZSBAY29kZXtzdGFja2FnZX0gaW1wb3J0ZXIgaXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUg QGNvZGV7aGFja2FnZX0gb25lLgorSXQgdGFrZXMgYSBwYWNrYWdlIG5hbWUsIGxvb2tzIHVwIHRo ZSBwYWNrYWdlIHZlcnNpb24gaW5jbHVkZWQgaW4gYW4gTFRTCitAdXJlZntodHRwczovL3d3dy5z dGFja2FnZS5vcmcvLCBTdGFja2FnZX0gcmVsZWFzZSBhbmQgdXNlcyB0aGUKK0Bjb2Rle2hhY2th Z2V9IGltcG9ydGVyIHRvIHJldHJpZXZlIGl0cyBtZXRhZGF0YS4gIE5vdGUgdGhhdCBpdCBpcyB1 cCB0bworeW91IHRvIHNlbGVjdCBhbiBMVFMgcmVsZWFzZSBjb21wYXRpYmxlIHdpdGggdGhlIEdI QyBjb21waWxlciB1c2VkIGJ5CitHdWl4LgorCitTcGVjaWZpYyBjb21tYW5kLWxpbmUgb3B0aW9u cyBhcmU6CisKK0B0YWJsZSBAY29kZQorQGl0ZW0gLS1uby10ZXN0LWRlcGVuZGVuY2llcworQGl0 ZW14IC10CitEbyBub3QgaW5jbHVkZSBkZXBlbmRlbmNpZXMgcmVxdWlyZWQgb25seSBieSB0aGUg dGVzdCBzdWl0ZXMuCitAaXRlbSAtLWx0cy12ZXJzaW9uPUB2YXJ7dmVyc2lvbn0KK0BpdGVteCAt ciBAdmFye3ZlcnNpb259CitAdmFye3ZlcnNpb259IGlzIHRoZSBkZXNpcmVkIExUUyByZWxlYXNl IHZlcnNpb24uICBJZiBvbWl0dGVkIHRoZSBsYXRlc3QKK3JlbGVhc2UgaXMgdXNlZC4KK0BlbmQg dGFibGUKKworVGhlIGNvbW1hbmQgYmVsb3cgaW1wb3J0cyBtZXRhZGF0YSBmb3IgdGhlIEBjb2Rl e0hUVFB9IEhhc2tlbGwgcGFja2FnZQoraW5jbHVkZWQgaW4gdGhlIExUUyBTdGFja2FnZSByZWxl YXNlIHZlcnNpb24gNy4xODoKKworQGV4YW1wbGUKK2d1aXggaW1wb3J0IHN0YWNrYWdlIC0tbHRz LXZlcnNpb249Ny4xOCBIVFRQCitAZW5kIGV4YW1wbGUKKwogQGl0ZW0gZWxwYQogQGNpbmRleCBl bHBhCiBJbXBvcnQgbWV0YWRhdGEgZnJvbSBhbiBFbWFjcyBMaXNwIFBhY2thZ2UgQXJjaGl2ZSAo RUxQQSkgcGFja2FnZQpAQCAtNTUwNCw2ICs1NTMzLDggQEAgdGhlIHVwZGF0ZXIgZm9yIEB1cmVm e2h0dHBzOi8vcnVieWdlbXMub3JnLCBSdWJ5R2Vtc30gcGFja2FnZXMuCiB0aGUgdXBkYXRlciBm b3IgQHVyZWZ7aHR0cHM6Ly9naXRodWIuY29tLCBHaXRIdWJ9IHBhY2thZ2VzLgogQGl0ZW0gaGFj a2FnZQogdGhlIHVwZGF0ZXIgZm9yIEB1cmVme2h0dHBzOi8vaGFja2FnZS5oYXNrZWxsLm9yZywg SGFja2FnZX0gcGFja2FnZXMuCitAaXRlbSBzdGFja2FnZQordGhlIHVwZGF0ZXIgZm9yIEB1cmVm e2h0dHBzOi8vd3d3LnN0YWNrYWdlLm9yZywgU3RhY2thZ2V9IHBhY2thZ2VzLgogQGl0ZW0gY3Jh dGUKIHRoZSB1cGRhdGVyIGZvciBAdXJlZntodHRwczovL2NyYXRlcy5pbywgQ3JhdGVzfSBwYWNr YWdlcy4KIEBlbmQgdGFibGUKZGlmZiAtLWdpdCBhL2d1aXgvaW1wb3J0L3N0YWNrYWdlLnNjbSBi L2d1aXgvaW1wb3J0L3N0YWNrYWdlLnNjbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjFlNTM2ZGViYgotLS0gL2Rldi9udWxsCisrKyBiL2d1aXgvaW1wb3J0L3N0YWNrYWdl LnNjbQpAQCAtMCwwICsxLDE3OCBAQAorOzs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2th Z2UgbWFuYWdlbWVudCBmb3IgR05VCis7OzsgQ29weXJpZ2h0IMKpIDIwMTcgRmVkZXJpY28gQmVm ZmEgPGJlZmZhQGZiZW5naW5lZXJpbmcuY2g+Cis7OzsKKzs7OyBUaGlzIGZpbGUgaXMgcGFydCBv ZiBHTlUgR3VpeC4KKzs7OworOzs7IEdOVSBHdWl4IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKzs7OyB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzs7IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yIChhdAorOzs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKzs7OworOzs7IEdO VSBHdWl4IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws IGJ1dAorOzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKzs7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCis7OzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKzs7OworOzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OzsgYWxvbmcgd2l0aCBHTlUgR3Vp eC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworKGRlZmlu ZS1tb2R1bGUgKGd1aXggaW1wb3J0IHN0YWNrYWdlKQorICAjOnVzZS1tb2R1bGUgKGljZS05IG1h dGNoKQorICAjOnVzZS1tb2R1bGUgKGljZS05IHJlZ2V4KQorICAjOnVzZS1tb2R1bGUgKHNyZmkg c3JmaS0xKQorICAjOnVzZS1tb2R1bGUgKHNyZmkgc3JmaS0yNikKKyAgIzp1c2UtbW9kdWxlIChn dWl4IGltcG9ydCBqc29uKQorICAjOnVzZS1tb2R1bGUgKGd1aXggaW1wb3J0IGhhY2thZ2UpCisg ICM6dXNlLW1vZHVsZSAoZ3VpeCBtZW1vaXphdGlvbikKKyAgIzp1c2UtbW9kdWxlIChndWl4IHBh Y2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGd1aXggdXBzdHJlYW0pCisgICM6ZXhwb3J0IChzdGFj a2FnZS0+Z3VpeC1wYWNrYWdlCisgICAgICAgICAgICBzdGFja2FnZS1sdHMtPmd1aXgtcGFja2Fn ZXMKKyAgICAgICAgICAgICVzdGFja2FnZS11cGRhdGVyKSkKKworDAorOzs7Cis7OzsgU3RhY2th Z2UgaW5mbyBmZXRjaGVyIGFuZCBhY2Nlc3MgZnVuY3Rpb25zCis7OzsKKworCisoZGVmaW5lICVz dGFja2FnZS11cmwgImh0dHA6Ly93d3cuc3RhY2thZ2Uub3JnIikKKworKGRlZmluZSAobHRzLWlu Zm8tZ2hjLXZlcnNpb24gbHRzLWluZm8pCisgICJSZXRydW5zIHRoZSB2ZXJzaW9uIG9mIHRoZSBH SEMgY29tcGlsZXIgY29udGFpbmVkIGluIExUUy1JTkZPLiIKKyAgKG1hdGNoIGx0cy1pbmZvCisg ICAgKCgoInNuYXBzaG90IiAoImdoYyIgLiB2ZXJzaW9uKSBfIF8pIF8pICB2ZXJzaW9uKQorICAg IChfICNmKSkpCisKKyhkZWZpbmUgKGx0cy1pbmZvLXBhY2thZ2VzIGx0cy1pbmZvKQorICAiUmV0 cnVucyB0aGUgYWxpc3Qgb2YgcGFja2FnZXMgY29udGFpbmVkIGluIExUUy1JTkZPLiIKKyAgKG1h dGNoIGx0cy1pbmZvCisgICAgKChfICgicGFja2FnZXMiIHBrZyAuLi4pKSBwa2cpCisgICAgKF8g JygpKSkpCisKKyhkZWZpbmUgc3RhY2thZ2UtbHRzLWluZm8tZmV0Y2gKKyAgOzsgIlJldHJpZXZl IHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgTFRTIFN0YWNrYWdlIHJlbGVhc2UgVkVSU0lPTi4i CisgIChtZW1vaXplCisgICAobGFtYmRhKiAoIzpvcHRpb25hbCAodmVyc2lvbiAiIikpCisgICAg IChsZXQqICgodXJsIChpZiAoc3RyaW5nPT8gIiIgdmVyc2lvbikKKyAgICAgICAgICAgICAgICAg ICAgIChzdHJpbmctYXBwZW5kICVzdGFja2FnZS11cmwgIi9sdHMiKQorICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgJXN0YWNrYWdlLXVybCAiL2x0cy0iIHZlcnNpb24pKSkKKyAg ICAgICAgICAgIChsdHMtaW5mbyAoanNvbi1mZXRjaCB1cmwpKSkKKyAgICAgICAoaWYgbHRzLWlu Zm8KKyAgICAgICAgICAgKHJldmVyc2UgbHRzLWluZm8pCisgICAgICAgICAgIChiZWdpbgorICAg ICAgICAgICAgIChmb3JtYXQgKGN1cnJlbnQtZXJyb3ItcG9ydCkKKyAgICAgICAgICAgICAgICAg ICAgICJndWl4IGltcG9ydCBzdGFja2FnZTogTFRTIHJlbGVhc2UgdmVyc2lvbiBub3QgZm91bmQ6 IH5hfiUiCisgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uKQorICAgICAgICAgICAgICNmKSkp KSkpCisKKyhkZWZpbmUgKHN0YWNrYWdlLXBhY2thZ2UtbmFtZSBwa2ctaW5mbykKKyAgKGFzc29j LXJlZiBwa2ctaW5mbyAibmFtZSIpKQorCisoZGVmaW5lIChzdGFja2FnZS1wYWNrYWdlLXZlcnNp b24gcGtnLWluZm8pCisgIChhc3NvYy1yZWYgcGtnLWluZm8gInZlcnNpb24iKSkKKworKGRlZmlu ZSAobHRzLXBhY2thZ2UtdmVyc2lvbiBwa2dzLWluZm8gbmFtZSkKKyAgIlJldHVybiB0aGUgdmVy c2lvbiBvZiB0aGUgcGFja2FnZSB3aXRoIHVwc3RyZWFtIE5BTUUgaW5jbHVkZWQgaW4gUEtHUy1J TkZPLiIKKyAgKGxldCAoKHBrZyAoZmluZCAobGFtYmRhIChwa2cpIChzdHJpbmc9PyAoc3RhY2th Z2UtcGFja2FnZS1uYW1lIHBrZykgbmFtZSkpCisgICAgICAgICAgICAgICAgICAgcGtncy1pbmZv KSkpCisgICAgKHN0YWNrYWdlLXBhY2thZ2UtdmVyc2lvbiBwa2cpKSkKKworDAorOzs7Cis7Ozsg SGFja2FnZSBpbXBvcnRlciBsb3ctbGV2ZWwgaGVscCBmdW5jdGlvbnMKKzs7OworCisoZGVmaW5l IGd1aXgtcGFja2FnZS0+aGFja2FnZS1uYW1lCisgIChAQCAoZ3VpeCBpbXBvcnQgaGFja2FnZSkg Z3VpeC1wYWNrYWdlLT5oYWNrYWdlLW5hbWUpKQorCisoZGVmaW5lIGhhY2thZ2UtZmV0Y2gKKyAg KEBAIChndWl4IGltcG9ydCBoYWNrYWdlKSBoYWNrYWdlLWZldGNoKSkKKworKGRlZmluZSBoYWNr YWdlLXNvdXJjZS11cmwKKyAgKEBAIChndWl4IGltcG9ydCBoYWNrYWdlKSBoYWNrYWdlLXNvdXJj ZS11cmwpKQorCisoZGVmaW5lIGhhY2thZ2UtY2FiYWwtdXJsCisgIChAQCAoZ3VpeCBpbXBvcnQg aGFja2FnZSkgaGFja2FnZS1jYWJhbC11cmwpKQorCisMCis7OzsKKzs7OyBJbXBvcnRlciBlbnRy eSBwb2ludAorOzs7CisKKyhkZWZpbmUgKGhhY2thZ2UtbmFtZS12ZXJzaW9uIG5hbWUgdmVyc2lv bikKKyAgKGFuZCB2ZXJzaW9uIChzdHJpbmctYXBwZW5kICBuYW1lICJAIiB2ZXJzaW9uKSkpCisK KyhkZWZpbmUqIChzdGFja2FnZS0+Z3VpeC1wYWNrYWdlIHBhY2thZ2UtbmFtZSA7IHVwc3RyZWFt IG5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6a2V5CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZS10ZXN0LWRlcGVuZGVuY2llcz8gI3QpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobHRzLXZlcnNpb24gIiIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocGFja2FnZXMtaW5mbworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChsdHMtaW5mby1wYWNrYWdlcworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoc3RhY2thZ2UtbHRzLWluZm8tZmV0Y2ggbHRzLXZlcnNpb24pKSkp CisgICJGZXRjaCBDYWJhbCBmaWxlIGZvciBQQUNLQUdFLU5BTUUgZnJvbSBoYWNrYWdlLmhhc2tl bGwub3JnLiAgVGhlIHJldHJpZXZlZAordmVzaW9uIGNvcnJlc3BvbmRzIHRvIHRoZSB2ZXJzaW9u IG9mIFBBQ0tBR0UtTkFNRSBzcGVjaWZpZWQgaW4gdGhlIExUUy1WRVJTSU9OCityZWxlYXNlIGF0 IHN0YWNrYWdlLm9yZy4gIFJldHVybiB0aGUgYHBhY2thZ2UnIFMtZXhwcmVzc2lvbiBjb3JyZXNw b25kaW5nIHRvCit0aGF0IHBhY2thZ2UsIG9yICNmIG9uIGZhaWx1cmUuICBQQUNLQUdFUy1JTkZP IGlzIHRoZSBhbGlzdCB3aXRoIHRoZSBwYWNrYWdlcworaW5jbHVkZWQgaW4gdGhlIFN0YWNrYWdl IExUUyByZWxlYXNlLiIKKyAgKGxldCogKCh2ZXJzaW9uIChsdHMtcGFja2FnZS12ZXJzaW9uIHBh Y2thZ2VzLWluZm8gcGFja2FnZS1uYW1lKSkKKyAgICAgICAgIChuYW1lLXZlcnNpb24gKGhhY2th Z2UtbmFtZS12ZXJzaW9uIHBhY2thZ2UtbmFtZSB2ZXJzaW9uKSkpCisgICAgKGlmIG5hbWUtdmVy c2lvbgorICAgICAgICAoaGFja2FnZS0+Z3VpeC1wYWNrYWdlIG5hbWUtdmVyc2lvbgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICM6aW5jbHVkZS10ZXN0LWRlcGVuZGVuY2llcz8KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlLXRlc3QtZGVwZW5kZW5jaWVzPykK KyAgICAgICAgKGJlZ2luCisgICAgICAgICAgKGZvcm1hdCAoY3VycmVudC1lcnJvci1wb3J0KQor ICAgICAgICAgICAgICAgICAgImd1aXggaW1wb3J0IHN0YWNrYWdlOiBwYWNrYWdlIG5vdCBmb3Vu ZDogfmF+JSIgcGFja2FnZS1uYW1lKQorICAgICAgICAgICNmKSkpKQorCisoZGVmaW5lKiAoc3Rh Y2thZ2UtbHRzLT5ndWl4LXBhY2thZ2VzICM6a2V5CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChpbmNsdWRlLXRlc3QtZGVwZW5kZW5jaWVzPyAjdCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGx0cy12ZXJzaW9uICIiKSkKKyAgIkZldGNoIHRo ZSBDYWJhbCBmaWxlcyBvZiBhbGwgcGFja2FnZXMgaW5jbHVkZWQgaW4gdGhlIFN0YWNrYWdlIExU UyByZWxlYXNlCitMVFMtVkVSU0lPTiBhbmQgcHJvZHVjZSBhIGxpc3Qgd2l0aCBhIEd1aXggcGFj a2FnZSBTLWV4cHJlc3Npb24gZm9yIGVhY2ggb2YKK3RoZW0uICBJZiB3ZSBmYWlsIHRvIHBhcnNl IHRoZSBDYWJhbCBmaWxlIHdlIG9taXQgdGhhdCBwYWNrYWdlIGZyb20gdGhlIHJlc3VsdC4iCisg IChsZXQqICgocGtncy1pbmZvIChsdHMtaW5mby1wYWNrYWdlcyAoc3RhY2thZ2UtbHRzLWluZm8t ZmV0Y2ggbHRzLXZlcnNpb24pKSkKKyAgICAgICAgIChoYWNrYWdlLW5hbWVzIChtYXAgc3RhY2th Z2UtcGFja2FnZS1uYW1lIHBrZ3MtaW5mbykpKQorICAgIChmaWx0ZXIgKGN1dCBzdGFja2FnZS0+ Z3VpeC1wYWNrYWdlIDw+CisgICAgICAgICAgICAgICAgICM6aW5jbHVkZS10ZXN0LWRlcGVuZGVu Y2llcz8gaW5jbHVkZS10ZXN0LWRlcGVuZGVuY2llcz8KKyAgICAgICAgICAgICAgICAgIzpsdHMt dmVyc2lvbiBsdHMtdmVyc2lvbgorICAgICAgICAgICAgICAgICAjOnBhY2thZ2VzLWluZm8gcGtn cy1pbmZvKQorICAgICAgICAgICAgaGFja2FnZS1uYW1lcykpKQorCisMCis7OzsKKzs7OyBVcGRh dGVyCis7OzsKKworKGRlZmluZSogKGxhdGVzdC1sdHMtcmVsZWFzZSBwYWNrYWdlCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICM6b3B0aW9uYWwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHBhY2thZ2VzLWluZm8gKGx0cy1pbmZvLXBhY2thZ2VzCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhY2thZ2UtbHRzLWluZm8tZmV0Y2gpKSkp CisgICJSZXR1cm4gYW4gPHVwc3RyZWFtLXNvdXJjZT4gZm9yIHRoZSBsYXRlc3QgU3RhY2thZ2Ug TFRTIHJlbGVhc2Ugb2YgUEFDS0FHRQorb3IgI2YgaXQgdGhlIHBhY2thZ2UgaXMgbm90IGlubHVj ZGVkIGluIHRoZSBTdGFja2FnZSBMVFMgcmVsZWFzZS4iCisgIChsZXQqICgoaGFja2FnZS1uYW1l IChndWl4LXBhY2thZ2UtPmhhY2thZ2UtbmFtZSBwYWNrYWdlKSkKKyAgICAgICAgICh2ZXJzaW9u IChsdHMtcGFja2FnZS12ZXJzaW9uIHBhY2thZ2VzLWluZm8gaGFja2FnZS1uYW1lKSkKKyAgICAg ICAgIChuYW1lLXZlcnNpb24gKGhhY2thZ2UtbmFtZS12ZXJzaW9uIGhhY2thZ2UtbmFtZSB2ZXJz aW9uKSkKKyAgICAgICAgIChjYWJhbC1tZXRhIChhbmQ9PiBuYW1lLXZlcnNpb24gaGFja2FnZS1m ZXRjaCkpKQorICAgIChtYXRjaCBjYWJhbC1tZXRhCisgICAgICAoI2YKKyAgICAgICAoZm9ybWF0 IChjdXJyZW50LWVycm9yLXBvcnQpCisgICAgICAgICAgICAgICAid2FybmluZzogZmFpbGVkIHRv IHBhcnNlIH5hfiUiCisgICAgICAgICAgICAgICAoaGFja2FnZS1jYWJhbC11cmwgaGFja2FnZS1u YW1lKSkKKyAgICAgICAjZikKKyAgICAgIChfCisgICAgICAgKGxldCAoKHVybCAoaGFja2FnZS1z b3VyY2UtdXJsIGhhY2thZ2UtbmFtZSB2ZXJzaW9uKSkpCisgICAgICAgICAodXBzdHJlYW0tc291 cmNlCisgICAgICAgICAgKHBhY2thZ2UgKHBhY2thZ2UtbmFtZSBwYWNrYWdlKSkKKyAgICAgICAg ICAodmVyc2lvbiB2ZXJzaW9uKQorICAgICAgICAgICh1cmxzIChsaXN0IHVybCkpKSkpKSkpCisK KyhkZWZpbmUgJXN0YWNrYWdlLXVwZGF0ZXIKKyAgKHVwc3RyZWFtLXVwZGF0ZXIKKyAgIChuYW1l ICdzdGFja2FnZSkKKyAgIChkZXNjcmlwdGlvbiAiVXBkYXRlciBmb3IgU3RhY2thZ2UgTFRTIHBh Y2thZ2VzIikKKyAgIChwcmVkIChAQCAoZ3VpeCBpbXBvcnQgaGFja2FnZSkgaGFja2FnZS1wYWNr YWdlPykpCisgICAobGF0ZXN0IGxhdGVzdC1sdHMtcmVsZWFzZSkpKQorCis7Ozsgc3RhY2thZ2Uu c2NtIGVuZHMgaGVyZQpkaWZmIC0tZ2l0IGEvZ3VpeC9zY3JpcHRzL2ltcG9ydC5zY20gYi9ndWl4 L3NjcmlwdHMvaW1wb3J0LnNjbQppbmRleCA0ZDA3ZTBmZDYuLjhjMmY3MDU3MyAxMDA2NDQKLS0t IGEvZ3VpeC9zY3JpcHRzL2ltcG9ydC5zY20KKysrIGIvZ3VpeC9zY3JpcHRzL2ltcG9ydC5zY20K QEAgLTczLDcgKzczLDggQEAgcmF0aGVyIHRoYW4gXFxuLiIKIDs7OyBFbnRyeSBwb2ludC4KIDs7 OwogCi0oZGVmaW5lIGltcG9ydGVycyAnKCJnbnUiICJuaXgiICJweXBpIiAiY3BhbiIgImhhY2th Z2UiICJlbHBhIiAiZ2VtIiAiY3JhbiIgImNyYXRlIikpCisoZGVmaW5lIGltcG9ydGVycyAnKCJn bnUiICJuaXgiICJweXBpIiAiY3BhbiIgImhhY2thZ2UiICJzdGFja2FnZSIgImVscGEiICJnZW0i CisgICAgICAgICAgICAgICAgICAgICJjcmFuIiAiY3JhdGUiKSkKIAogKGRlZmluZSAocmVzb2x2 ZS1pbXBvcnRlciBuYW1lKQogICAobGV0ICgobW9kdWxlIChyZXNvbHZlLWludGVyZmFjZQpkaWZm IC0tZ2l0IGEvZ3VpeC9zY3JpcHRzL2ltcG9ydC9zdGFja2FnZS5zY20gYi9ndWl4L3NjcmlwdHMv aW1wb3J0L3N0YWNrYWdlLnNjbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LmNmNDdiZmYyNQotLS0gL2Rldi9udWxsCisrKyBiL2d1aXgvc2NyaXB0cy9pbXBvcnQvc3RhY2th Z2Uuc2NtCkBAIC0wLDAgKzEsMTE1IEBACis7OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFj a2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKKzs7OyBDb3B5cmlnaHQgwqkgMjAxNyBGZWRlcmljbyBC ZWZmYSA8YmVmZmFAZmJlbmdpbmVlcmluZy5jaD4KKzs7OworOzs7IFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEdOVSBHdWl4LgorOzs7Cis7OzsgR05VIEd1aXggaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorOzs7IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OzsgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IgKGF0Cis7OzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorOzs7Cis7Ozsg R05VIEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwgYnV0Cis7OzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorOzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorOzs7Cis7OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7OyBhbG9uZyB3aXRoIEdOVSBH dWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisoZGVm aW5lLW1vZHVsZSAoZ3VpeCBzY3JpcHRzIGltcG9ydCBzdGFja2FnZSkKKyAgIzp1c2UtbW9kdWxl IChndWl4IHVpKQorICAjOnVzZS1tb2R1bGUgKGd1aXggdXRpbHMpCisgICM6dXNlLW1vZHVsZSAo Z3VpeCBwYWNrYWdlcykKKyAgIzp1c2UtbW9kdWxlIChndWl4IHNjcmlwdHMpCisgICM6dXNlLW1v ZHVsZSAoZ3VpeCBpbXBvcnQgc3RhY2thZ2UpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBzY3JpcHRz IGltcG9ydCkKKyAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMSkKKyAgIzp1c2UtbW9kdWxlIChz cmZpIHNyZmktMTEpCisgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTM3KQorICAjOnVzZS1tb2R1 bGUgKGljZS05IG1hdGNoKQorICAjOnVzZS1tb2R1bGUgKGljZS05IGZvcm1hdCkKKyAgIzpleHBv cnQgKGd1aXgtaW1wb3J0LXN0YWNrYWdlKSkKKworDAorOzs7Cis7OzsgQ29tbWFuZC1saW5lIG9w dGlvbnMuCis7OzsKKworKGRlZmluZSAlZGVmYXVsdC1vcHRpb25zCisgIGAoKGx0cy12ZXJzaW9u IC4gIiIpCisgICAgKGluY2x1ZGUtdGVzdC1kZXBlbmRlbmNpZXM/IC4gI3QpKSkKKworKGRlZmlu ZSAoc2hvdy1oZWxwKQorICAoZGlzcGxheSAoXyAiVXNhZ2U6IGd1aXggaW1wb3J0IHN0YWNrYWdl IFBBQ0tBR0UtTkFNRQorSW1wb3J0IGFuZCBjb252ZXJ0IHRoZSBMVFMgU3RhY2thZ2UgcGFja2Fn ZSBmb3IgUEFDS0FHRS1OQU1FLlxuIikpCisgIChkaXNwbGF5IChfICIKKyAgLXIgVkVSU0lPTiwg LS1sdHMtdmVyc2lvbj1WRVJTSU9OCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bl Y2lmeSB0aGUgTFRTIHZlcnNpb24gdG8gdXNlIikpCisgIChkaXNwbGF5IChfICIKKyAgLWgsIC0t aGVscCAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdCIpKQorICAo ZGlzcGxheSAoXyAiCisgIC10LCAtLW5vLXRlc3QtZGVwZW5kZW5jaWVzICAgZG9uJ3QgaW5jbHVk ZSB0ZXN0LW9ubHkgZGVwZW5kZW5jaWVzIikpCisgIChkaXNwbGF5IChfICIKKyAgLVYsIC0tdmVy c2lvbiAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQi KSkKKyAgKG5ld2xpbmUpCisgIChzaG93LWJ1Zy1yZXBvcnQtaW5mb3JtYXRpb24pKQorCisoZGVm aW5lICVvcHRpb25zCisgIDs7IFNwZWNpZmljYXRpb24gb2YgdGhlIGNvbW1hbmQtbGluZSBvcHRp b25zLgorICAoY29ucyogKG9wdGlvbiAnKCNcaCAiaGVscCIpICNmICNmCisgICAgICAgICAgICAg ICAgIChsYW1iZGEgYXJncworICAgICAgICAgICAgICAgICAgIChzaG93LWhlbHApCisgICAgICAg ICAgICAgICAgICAgKGV4aXQgMCkpKQorICAgICAgICAgKG9wdGlvbiAnKCNcViAidmVyc2lvbiIp ICNmICNmCisgICAgICAgICAgICAgICAgIChsYW1iZGEgYXJncworICAgICAgICAgICAgICAgICAg IChzaG93LXZlcnNpb24tYW5kLWV4aXQgImd1aXggaW1wb3J0IHN0YWNrYWdlIikpKQorICAgICAg ICAgKG9wdGlvbiAnKCNcdCAibm8tdGVzdC1kZXBlbmRlbmNpZXMiKSAjZiAjZgorICAgICAgICAg ICAgICAgICAobGFtYmRhIChvcHQgbmFtZSBhcmcgcmVzdWx0KQorICAgICAgICAgICAgICAgICAg IChhbGlzdC1jb25zICdpbmNsdWRlLXRlc3QtZGVwZW5kZW5jaWVzPyAjZgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChhbGlzdC1kZWxldGUgJ2luY2x1ZGUtdGVzdC1kZXBlbmRlbmNp ZXM/CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQp KSkpCisgICAgICAgICAob3B0aW9uICcoI1xyICJsdHMtdmVyc2lvbiIpICN0ICNmCisgICAgICAg ICAgICAgICAgIChsYW1iZGEgKG9wdCBuYW1lIGFyZyByZXN1bHQpCisgICAgICAgICAgICAgICAg ICAgKGFsaXN0LWNvbnMgJ2x0cy12ZXJzaW9uIGFyZworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChhbGlzdC1kZWxldGUgJ2x0cy12ZXJzaW9uCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQpKSkpCisgICAgICAgICAlc3RhbmRhcmQtaW1w b3J0LW9wdGlvbnMpKQorCisMCis7OzsKKzs7OyBFbnRyeSBwb2ludC4KKzs7OworCisoZGVmaW5l IChndWl4LWltcG9ydC1zdGFja2FnZSAuIGFyZ3MpCisgIChkZWZpbmUgKHBhcnNlLW9wdGlvbnMp CisgICAgOzsgUmV0dXJuIHRoZSBhbGlzdCBvZiBvcHRpb24gdmFsdWVzLgorICAgIChhcmdzLWZv bGQqIGFyZ3MgJW9wdGlvbnMKKyAgICAgICAgICAgICAgICAobGFtYmRhIChvcHQgbmFtZSBhcmcg cmVzdWx0KQorICAgICAgICAgICAgICAgICAgKGxlYXZlIChfICJ+QTogdW5yZWNvZ25pemVkIG9w dGlvbn4lIikgbmFtZSkpCisgICAgICAgICAgICAgICAgKGxhbWJkYSAoYXJnIHJlc3VsdCkKKyAg ICAgICAgICAgICAgICAgIChhbGlzdC1jb25zICdhcmd1bWVudCBhcmcgcmVzdWx0KSkKKyAgICAg ICAgICAgICAgICAlZGVmYXVsdC1vcHRpb25zKSkKKworICAobGV0KiAoKG9wdHMgKHBhcnNlLW9w dGlvbnMpKQorICAgICAgICAgKGFyZ3MgKGZpbHRlci1tYXAgKG1hdGNoLWxhbWJkYQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoJ2FyZ3VtZW50IC4gdmFsdWUpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZhbHVlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfICNm KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXZlcnNlIG9wdHMpKSkpCisgICAgKG1h dGNoIGFyZ3MKKyAgICAgICgocGFja2FnZS1uYW1lKQorICAgICAgIChsZXQgKChzZXhwIChzdGFj a2FnZS0+Z3VpeC1wYWNrYWdlCisgICAgICAgICAgICAgICAgICAgIHBhY2thZ2UtbmFtZQorICAg ICAgICAgICAgICAgICAgICAjOmluY2x1ZGUtdGVzdC1kZXBlbmRlbmNpZXM/CisgICAgICAgICAg ICAgICAgICAgIChhc3NvYy1yZWYgb3B0cyAnaW5jbHVkZS10ZXN0LWRlcGVuZGVuY2llcz8pCisg ICAgICAgICAgICAgICAgICAgICM6bHRzLXZlcnNpb24gKGFzc29jLXJlZiBvcHRzICdsdHMtdmVy c2lvbikpKSkKKyAgICAgICAgICh1bmxlc3Mgc2V4cAorICAgICAgICAgICAobGVhdmUgKF8gImZh aWxlZCB0byBkb3dubG9hZCBjYWJhbCBmaWxlIGZvciBwYWNrYWdlICd+YSd+JSIpCisgICAgICAg ICAgICAgICAgICBwYWNrYWdlLW5hbWUpKQorICAgICAgICAgc2V4cCkpCisgICAgICAoKCkKKyAg ICAgICAobGVhdmUgKF8gInRvbyBmZXcgYXJndW1lbnRzfiUiKSkpCisgICAgICAoKG1hbnkgLi4u KQorICAgICAgIChsZWF2ZSAoXyAidG9vIG1hbnkgYXJndW1lbnRzfiUiKSkpKSkpCisKKzs7OyBz dGFja2FnZS5zY20gZW5kcyBoZXJlCmRpZmYgLS1naXQgYS9ndWl4L3NjcmlwdHMvcmVmcmVzaC5z Y20gYi9ndWl4L3NjcmlwdHMvcmVmcmVzaC5zY20KaW5kZXggMGRkN2VlZTk3Li45NGRlYTRlYmMg MTAwNjQ0Ci0tLSBhL2d1aXgvc2NyaXB0cy9yZWZyZXNoLnNjbQorKysgYi9ndWl4L3NjcmlwdHMv cmVmcmVzaC5zY20KQEAgLTQwLDYgKzQwLDcgQEAKICAgIzp1c2UtbW9kdWxlIChndWl4IGltcG9y dCBlbHBhKQogICAjOnVzZS1tb2R1bGUgKGd1aXggaW1wb3J0IGNyYW4pCiAgICM6dXNlLW1vZHVs ZSAoZ3VpeCBpbXBvcnQgaGFja2FnZSkKKyAgIzp1c2UtbW9kdWxlIChndWl4IGltcG9ydCBzdGFj a2FnZSkKICAgIzp1c2UtbW9kdWxlIChndWl4IGdudXBnKQogICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcykKICAgIzp1c2UtbW9kdWxlICgoZ251IHBhY2thZ2VzIGNvbW1lbmNlbWVudCkgIzpz ZWxlY3QgKCVmaW5hbC1pbnB1dHMpKQpAQCAtMjA1LDYgKzIwNiw3IEBAIHVuYXZhaWxhYmxlIG9w dGlvbmFsIGRlcGVuZGVuY2llcyBzdWNoIGFzIEd1aWxlLUpTT04uIgogICAgICAgICAgICAgICAg ICAlZWxwYS11cGRhdGVyCiAgICAgICAgICAgICAgICAgICVjcmFuLXVwZGF0ZXIKICAgICAgICAg ICAgICAgICAgJWJpb2NvbmR1Y3Rvci11cGRhdGVyCisgICAgICAgICAgICAgICAgICVzdGFja2Fn ZS11cGRhdGVyCiAgICAgICAgICAgICAgICAgICVoYWNrYWdlLXVwZGF0ZXIKICAgICAgICAgICAg ICAgICAgKChndWl4IGltcG9ydCBjcGFuKSA9PiAlY3Bhbi11cGRhdGVyKQogICAgICAgICAgICAg ICAgICAoKGd1aXggaW1wb3J0IHB5cGkpID0+ICVweXBpLXVwZGF0ZXIpCi0tIAoyLjExLjAKCg== --f403045e1e1894b3100547ebcdaa--