From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25127 invoked from network); 10 Jan 2024 03:22:43 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 10 Jan 2024 03:22:43 -0000 Content-Type: multipart/mixed; boundary="===============6764281872591826971==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_blender=3A_update_to_4=2E0=2E2=2E?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 10 Jan 2024 04:22:43 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============6764281872591826971== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHNnbiBhZ2FpbnN0IG1hc3RlciBvbiB0aGUg dm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vc2duL3ZvaWQtcGFj a2FnZXMgYmxlbmRlci11cGRhdGUKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9wdWxsLzQ4MTUwCgpibGVuZGVyOiB1cGRhdGUgdG8gNC4wLjIuCjwhLS0gVW5jb21t ZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBhcmUgbm90IGFw cGxpY2FibGUgLS0+DQoNCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUg Y2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqDQoNCjwhLS0NCiMjIyMgTmV3IHBhY2thZ2UNCi0g VGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3BhY2thZ2UgcmVxdWlyZW1lbnRzXSho dHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NP TlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6ICoqWUVTKip8KipOTyoqDQotLT4N Cg0KPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5IHRvIHRha2UgbW9yZSB0aGFuIDIg aG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVzY3JpYmVkIGluDQpodHRwczovL2dp dGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElO Ry5tZCNjb250aW51b3VzLWludGVncmF0aW9uDQphbmQgdGVzdCBhdCBsZWFzdCBvbmUgbmF0aXZl IGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuDQpJZ25v cmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBwaW5nIENJLg0KLS0+DQo8IS0t DQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9y IG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQotIEkgYnVpbHQgdGhpcyBQUiBs b2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3Ni dWlsZHMpOg0KICAtIGFhcmNoNjQtbXVzbA0KICAtIGFybXY3bA0KICAtIGFybXY2bC1tdXNsDQot LT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzQ4MTUwLnBhdGNoIGlzIGF0dGFjaGVk --===============6764281872591826971== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-blender-update-48150.patch" RnJvbSA1MDYxNTUxNTljYmY2ZmM3ZTM4ZWI2NDU5MjZjMmZkNTg4NThkMGRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9u LCA4IEphbiAyMDI0IDIxOjI5OjExICswNzAwClN1YmplY3Q6IFtQQVRDSF0gYmxlbmRlcjogdXBk YXRlIHRvIDQuMC4yLgoKLS0tCiBzcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy8wMDAxLW11c2wtZml4 ZXMucGF0Y2ggfCAgIDEwICstCiBzcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy9hbHRpdmVjLWFsbC5w YXRjaCAgICAgfCAgICA2ICstCiBzcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy9ib29zdC0xLjgxLnBh dGNoICAgICAgfCAgIDEyIC0KIC4uLi9ibGVuZGVyL3BhdGNoZXMvcHl0aG9uLTMuMTItcmVnZXgu cGF0Y2ggICB8ICAgMzYgKwogLi4uL2JsZW5kZXIvcGF0Y2hlcy9weXRob24zLjEyLW9wY29kZS5w YXRjaCAgIHwgICA4OSAtLQogLi4uL3BhdGNoZXMvcHl0aG9uMy4xMi1weWFyZy1wYXJzZXIucGF0 Y2ggICAgIHwgMTE2MSAtLS0tLS0tLS0tLS0tLS0tLQogLi4uL3BhdGNoZXMvcHl0aG9uMy4xMi1w eWxvbmdvYmplY3QucGF0Y2ggICAgIHwgICAyNiArLQogc3JjcGtncy9ibGVuZGVyL3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgICAgIHwgICAxMSArLQogOCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNl cnRpb25zKCspLCAxMjkwIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv YmxlbmRlci9wYXRjaGVzL2Jvb3N0LTEuODEucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2JsZW5kZXIvcGF0Y2hlcy9weXRob24tMy4xMi1yZWdleC5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvYmxlbmRlci9wYXRjaGVzL3B5dGhvbjMuMTItb3Bjb2RlLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9ibGVuZGVyL3BhdGNoZXMvcHl0aG9uMy4xMi1weWFy Zy1wYXJzZXIucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy8wMDAx LW11c2wtZml4ZXMucGF0Y2ggYi9zcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy8wMDAxLW11c2wtZml4 ZXMucGF0Y2gKaW5kZXggYjQ4MDU2ZDAxMzI3Yy4uYTMyODIxMTcyY2JhMyAxMDA2NDQKLS0tIGEv c3JjcGtncy9ibGVuZGVyL3BhdGNoZXMvMDAwMS1tdXNsLWZpeGVzLnBhdGNoCisrKyBiL3NyY3Br Z3MvYmxlbmRlci9wYXRjaGVzLzAwMDEtbXVzbC1maXhlcy5wYXRjaApAQCAtMTAsMTcgKzEwLDE1 IEBAIFN1YmplY3Q6IFtQQVRDSCAxLzJdIG11c2wgZml4ZXMKICBleHRlcm4vZ2xvZy9zcmMvY29u ZmlnX2xpbnV4LmggfCAxIC0KICAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQogCi1kaWZm IC0tZ2l0IGEvZXh0ZXJuL2dsb2cvc3JjL2NvbmZpZ19saW51eC5oIGIvZXh0ZXJuL2dsb2cvc3Jj L2NvbmZpZ19saW51eC5oCi1pbmRleCBiM2EzMzI1Li45NDYwOTVhIDEwMDY0NAogLS0tIGEvZXh0 ZXJuL2dsb2cvc3JjL2NvbmZpZ19saW51eC5oCiArKysgYi9leHRlcm4vZ2xvZy9zcmMvY29uZmln X2xpbnV4LmgKLUBAIC0xNCw3ICsxNCw2IEBACitAQCAtMTQsNyArMTQsOSBAQAogICNkZWZpbmUg SEFWRV9ETEZDTl9ICiAgCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxleGVjaW5m by5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jZGVmaW5lIEhBVkVfRVhFQ0lORk9fSAorKyNpZmRlZiBf X0dMSUJDX18KKyAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSAorKyNlbmRpZgogIAogIC8qIERlZmlu ZSBpZiB5b3UgaGF2ZSB0aGUgYGZjbnRsJyBmdW5jdGlvbiAqLwogICNkZWZpbmUgSEFWRV9GQ05U TAotLS0gCi0yLjM4LjEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYmxlbmRlci9wYXRjaGVzL2FsdGl2 ZWMtYWxsLnBhdGNoIGIvc3JjcGtncy9ibGVuZGVyL3BhdGNoZXMvYWx0aXZlYy1hbGwucGF0Y2gK aW5kZXggYTUwNDIwN2QyYmNjMC4uMTE1ZTFlYTZmZDAzMyAxMDA2NDQKLS0tIGEvc3JjcGtncy9i bGVuZGVyL3BhdGNoZXMvYWx0aXZlYy1hbGwucGF0Y2gKKysrIGIvc3JjcGtncy9ibGVuZGVyL3Bh dGNoZXMvYWx0aXZlYy1hbGwucGF0Y2gKQEAgLTEsMTAgKzEsOCBAQAogVGhpcyBhcHBsaWVzIGEg YmV0dGVyIHdvcmthcm91bmQgZm9yIEMrKyB0eXBlIGNvbmZsaWN0cwogaW4gQWx0aVZlYy9DKyss IGFsbG93aW5nIGl0IHRvIGJ1aWxkIG9uIEJFIHBwYyg2NCkuCiAKLUluZGV4OiBibGVuZGVyLTMu My4wL2V4dGVybi9jbGV3L2luY2x1ZGUvY2xldy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYmxlbmRlci0z LjMuMC5vcmlnL2V4dGVybi9jbGV3L2luY2x1ZGUvY2xldy5oCi0rKysgYmxlbmRlci0zLjMuMC9l eHRlcm4vY2xldy9pbmNsdWRlL2NsZXcuaAorLS0tIGEvZXh0ZXJuL2NsZXcvaW5jbHVkZS9jbGV3 LmgKKysrKyBiL2V4dGVybi9jbGV3L2luY2x1ZGUvY2xldy5oCiBAQCAtMzcwLDE1ICszNzAsMTgg QEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgY2xfR0xlbnVtOwogIAogIC8qIERlZmluZSBiYXNpYyB2 ZWN0b3IgdHlwZXMgKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYmxlbmRlci9wYXRjaGVzL2Jvb3N0 LTEuODEucGF0Y2ggYi9zcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy9ib29zdC0xLjgxLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMDQzNDJhMTAxODdjLi4wMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvYmxlbmRlci9wYXRjaGVzL2Jvb3N0LTEuODEucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxMiArMCwwIEBACi1JbmRleDogYmxlbmRlci0zLjMuMC9pbnRlcm4vbG9jYWxl L2Jvb3N0X2xvY2FsZV93cmFwcGVyLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGJsZW5kZXItMy4zLjAu b3JpZy9pbnRlcm4vbG9jYWxlL2Jvb3N0X2xvY2FsZV93cmFwcGVyLmNwcAotKysrIGJsZW5kZXIt My4zLjAvaW50ZXJuL2xvY2FsZS9ib29zdF9sb2NhbGVfd3JhcHBlci5jcHAKLUBAIC03LDYgKzcs NyBAQAotIAotICNpbmNsdWRlIDxib29zdC9sb2NhbGUuaHBwPgotICNpbmNsdWRlIDxzdGRpby5o PgotKyNpbmNsdWRlIDxpb3N0cmVhbT4KLSAKLSAjaW5jbHVkZSAiYm9vc3RfbG9jYWxlX3dyYXBw ZXIuaCIKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYmxlbmRlci9wYXRjaGVzL3B5dGhvbi0zLjEy LXJlZ2V4LnBhdGNoIGIvc3JjcGtncy9ibGVuZGVyL3BhdGNoZXMvcHl0aG9uLTMuMTItcmVnZXgu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uZGFiYTRhODU5 ZmQxNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvYmxlbmRlci9wYXRjaGVzL3B5dGhvbi0z LjEyLXJlZ2V4LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKKy0tLSBhL3NjcmlwdHMvYWRkb25zL2lv X2ltcG9ydF9keGYvZHhmZ3JhYmJlci9keGZlbnRpdGllcy5weQorKysrIGIvc2NyaXB0cy9hZGRv bnMvaW9faW1wb3J0X2R4Zi9keGZncmFiYmVyL2R4ZmVudGl0aWVzLnB5CitAQCAtODUyLDcgKzg1 Miw3IEBAIGNsYXNzIE1UZXh0KERYRkVudGl0eSk6CisgICAgICAgICBzZWxmLnNldF9kZWZhdWx0 X2V4dHJ1c2lvbigpCisgCisgICAgIGRlZiBsaW5lcyhzZWxmKToKKy0gICAgICAgIHJldHVybiBz ZWxmLnJhd190ZXh0LnNwbGl0KCdcUCcpCisrICAgICAgICByZXR1cm4gc2VsZi5yYXdfdGV4dC5z cGxpdChyJ1xQJykKKyAKKyAgICAgZGVmIHBsYWluX3RleHQoc2VsZiwgc3BsaXQ9RmFsc2UpOgor ICAgICAgICAgY2hhcnMgPSBbXQorLS0tIGEvc2NyaXB0cy9hZGRvbnMvaW9fc2NlbmVfZ2x0ZjIv aW8vZXhwL2dsdGYyX2lvX2ltYWdlX2RhdGEucHkKKysrKyBiL3NjcmlwdHMvYWRkb25zL2lvX3Nj ZW5lX2dsdGYyL2lvL2V4cC9nbHRmMl9pb19pbWFnZV9kYXRhLnB5CitAQCAtMjIsOSArMjIsOSBA QCBjbGFzcyBJbWFnZURhdGE6CisgICAgICAgICByZXR1cm4gaGFzaChzZWxmLl9kYXRhKQorIAor ICAgICBkZWYgYWRqdXN0ZWRfbmFtZShzZWxmKToKKy0gICAgICAgIHJlZ2V4X2RvdCA9IHJlLmNv bXBpbGUoIlwuIikKKysgICAgICAgIHJlZ2V4X2RvdCA9IHJlLmNvbXBpbGUociJcLiIpCisgICAg ICAgICBhZGp1c3RlZF9uYW1lID0gcmUuc3ViKHJlZ2V4X2RvdCwgIl8iLCBzZWxmLm5hbWUpCist ICAgICAgICBuZXdfbmFtZSA9ICIiLmpvaW4oW2NoYXIgZm9yIGNoYXIgaW4gYWRqdXN0ZWRfbmFt ZSBpZiBjaGFyIG5vdCBpbiAiISMkJicoKSorLC86Ozw+P0BbXF1eYHt8fX4iXSkKKysgICAgICAg IG5ld19uYW1lID0gIiIuam9pbihbY2hhciBmb3IgY2hhciBpbiBhZGp1c3RlZF9uYW1lIGlmIGNo YXIgbm90IGluIHIiISMkJicoKSorLC86Ozw+P0BbXF1eYHt8fX4iXSkKKyAgICAgICAgIHJldHVy biBuZXdfbmFtZQorIAorICAgICBAcHJvcGVydHkKKy0tLSBhL3NjcmlwdHMvbW9kdWxlcy9ibF9p MThuX3V0aWxzL3NldHRpbmdzLnB5CisrKysgYi9zY3JpcHRzL21vZHVsZXMvYmxfaTE4bl91dGls cy9zZXR0aW5ncy5weQorQEAgLTMwMiw3ICszMDIsNyBAQCBQWUdFVFRFWFRfS0VZV09SRFMgPSAo KCkgKworICAgICAjIGJlY29tZXMgZXh0cmVtZWx5IHNsb3cgdG8gcHJvY2VzcyBzb21lICh1bnJl bGF0ZWQpIHNvdXJjZSBmaWxlcy4KKyAgICAgKChyIlx7KD86KD86XHMqXCJbXlwiLF0rXCJccyos KXwoPzpccypcIlxcXCJcIiwpfCg/OlxzKm51bGxwdHJccyosKSl7NH1ccyoiICsKKyAgICAgICBf bXNnX3JlICsgciJccyosKD86KD86XHMqXCJbXlwiJyxdK1wiXHMqLCl8KD86XHMqbnVsbHB0clxz KiwpKSg/OlteLF0rLCl7Mn0iCistICAgICAgKyAiKD86XHw/XHMqQl9VTklUX0RFRl9bX0EtWl0r XHMqKStcfSIpLCkgKworKyAgICAgICsgciIoPzpcfD9ccypCX1VOSVRfREVGX1tfQS1aXStccyop K1x9IiksKSArCisgCisgICAgIHR1cGxlKChyInt9XChccyoiICsgX21zZ19yZSArIHIiXHMqLFxz Kig/OiIgKworICAgICAgICAgICAgciJccyosXHMqKT8oPzoiLmpvaW4oX2N0eHRfcmVfZ2VuKGkp IGZvciBpIGluIHJhbmdlKFBZR0VUVEVYVF9NQVhfTVVMVElfQ1RYVCkpICsgciIpP1xzKlwpIiku Zm9ybWF0KGl0KQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9ibGVuZGVyL3BhdGNoZXMvcHl0aG9uMy4x Mi1vcGNvZGUucGF0Y2ggYi9zcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy9weXRob24zLjEyLW9wY29k ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmFiZTZkZTY3ODc5Yi4uMDAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy9weXRob24zLjEyLW9wY29k ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLWh0dHBzOi8vc3JjLmZlZG9y YXByb2plY3Qub3JnL3JwbXMvYmxlbmRlci9yYXcvNzA0NTcxN2ViNTQ3N2M0MDkwNWY2ZDI5ZGZk M2RiZjVlZDY3NGU0ZC9mL2JsZW5kZXItMy42LjEtcHkzMTItb3Bjb2RlLnBhdGNoCi0KLS0tLSBi bGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5dGhvbi9pbnRlcm4vYnB5X2RyaXZlci5jLnB5 b3AJMjAyMy0wNS0xOCAwODowNDo0NS4wMDAwMDAwMDAgKzA5MDAKLSsrKyBibGVuZGVyLTMuNi4x L3NvdXJjZS9ibGVuZGVyL3B5dGhvbi9pbnRlcm4vYnB5X2RyaXZlci5jCTIwMjMtMDgtMDEgMTc6 MTE6MDYuMzU2ODAyOTE2ICswOTAwCi1AQCAtMzEzLDE0ICszMTMsMjcgQEAgc3RhdGljIGNvbnN0 IGJvb2wgc2VjdXJlX29wY29kZXNbMjU1XSA9Ci0gICAgIE9LX09QKENBQ0hFKSwKLSAgICAgT0tf T1AoUE9QX1RPUCksCi0gICAgIE9LX09QKFBVU0hfTlVMTCksCi0rI2lmIFBZX1ZFUlNJT05fSEVY ID49IDB4MDMwYzAwMDAgLyogUHl0aG9uIDMuMTIgYW5kIG5ld2VyICovCi0rICAgIE9LX09QKElO VEVSUFJFVEVSX0VYSVQpLAotKyAgICBPS19PUChFTkRfRk9SKSwKLSsgICAgT0tfT1AoRU5EX1NF TkQpLAotKyNlbmRpZgotICAgICBPS19PUChOT1ApLAotKyNpZiBQWV9WRVJTSU9OX0hFWCA8IDB4 MDMwYzAwMDAgLyogb2xkZXIgdGhhbiBQeXRob24gMy4xMiAqLwotICAgICBPS19PUChVTkFSWV9Q T1NJVElWRSksCi0rI2VuZGlmCi0gICAgIE9LX09QKFVOQVJZX05FR0FUSVZFKSwKLSAgICAgT0tf T1AoVU5BUllfTk9UKSwKLSAgICAgT0tfT1AoVU5BUllfSU5WRVJUKSwKLSAgICAgT0tfT1AoQklO QVJZX1NVQlNDUiksCi0rI2lmIFBZX1ZFUlNJT05fSEVYID49IDB4MDMwYzAwMDAgLyogUHl0aG9u IDMuMTIgYW5kIG5ld2VyICovCi0rICAgIE9LX09QKEJJTkFSWV9TTElDRSksCi0rICAgIE9LX09Q KFNUT1JFX1NMSUNFKSwKLSsjZW5kaWYKLSAgICAgT0tfT1AoR0VUX0xFTiksCi0rI2lmIFBZX1ZF UlNJT05fSEVYIDwgMHgwMzBjMDAwMCAvKiBvbGRlciB0aGFuIFB5dGhvbiAzLjEyICovCi0gICAg IE9LX09QKExJU1RfVE9fVFVQTEUpLAotKyNlbmRpZgotICAgICBPS19PUChSRVRVUk5fVkFMVUUp LAotICAgICBPS19PUChTV0FQKSwKLSAgICAgT0tfT1AoQlVJTERfVFVQTEUpLAotQEAgLTMyOSwx MCArMzQyLDE1IEBAIHN0YXRpYyBjb25zdCBib29sIHNlY3VyZV9vcGNvZGVzWzI1NV0gPQotICAg ICBPS19PUChCVUlMRF9NQVApLAotICAgICBPS19PUChDT01QQVJFX09QKSwKLSAgICAgT0tfT1Ao SlVNUF9GT1JXQVJEKSwKLSsjaWYgUFlfVkVSU0lPTl9IRVggPj0gMHgwMzBjMDAwMCAvKiBQeXRo b24gMy4xMiBhbmQgbmV3ZXIgKi8KLSsgICAgT0tfT1AoUE9QX0pVTVBfSUZfRkFMU0UpLAotKyAg ICBPS19PUChQT1BfSlVNUF9JRl9UUlVFKSwKLSsjZWxzZQotICAgICBPS19PUChKVU1QX0lGX0ZB TFNFX09SX1BPUCksCi0gICAgIE9LX09QKEpVTVBfSUZfVFJVRV9PUl9QT1ApLAotICAgICBPS19P UChQT1BfSlVNUF9GT1JXQVJEX0lGX0ZBTFNFKSwKLSAgICAgT0tfT1AoUE9QX0pVTVBfRk9SV0FS RF9JRl9UUlVFKSwKLSsjZW5kaWYKLSAgICAgT0tfT1AoTE9BRF9HTE9CQUwpLAotICAgICBPS19P UChJU19PUCksCi0gICAgIE9LX09QKENPTlRBSU5TX09QKSwKLUBAIC0zNDAsOCArMzU4LDEzIEBA IHN0YXRpYyBjb25zdCBib29sIHNlY3VyZV9vcGNvZGVzWzI1NV0gPQotICAgICBPS19PUChMT0FE X0ZBU1QpLAotICAgICBPS19PUChTVE9SRV9GQVNUKSwKLSAgICAgT0tfT1AoREVMRVRFX0ZBU1Qp LAotKyNpZiBQWV9WRVJTSU9OX0hFWCA+PSAweDAzMGMwMDAwIC8qIFB5dGhvbiAzLjEyIGFuZCBu ZXdlciAqLwotKyAgICBPS19PUChQT1BfSlVNUF9JRl9OT1RfTk9ORSksCi0rICAgIE9LX09QKFBP UF9KVU1QX0lGX05PTkUpLAotKyNlbHNlCi0gICAgIE9LX09QKFBPUF9KVU1QX0ZPUldBUkRfSUZf Tk9UX05PTkUpLAotICAgICBPS19PUChQT1BfSlVNUF9GT1JXQVJEX0lGX05PTkUpLAotKyNlbmRp ZgotICAgICBPS19PUChCVUlMRF9TTElDRSksCi0gICAgIE9LX09QKExPQURfREVSRUYpLAotICAg ICBPS19PUChTVE9SRV9ERVJFRiksCi1AQCAtMzU0LDE3ICszNzcsMjYgQEAgc3RhdGljIGNvbnN0 IGJvb2wgc2VjdXJlX29wY29kZXNbMjU1XSA9Ci0gICAgIE9LX09QKERJQ1RfTUVSR0UpLAotICAg ICBPS19PUChESUNUX1VQREFURSksCi0gIyAgICBlbmRpZgotKyNpZiBQWV9WRVJTSU9OX0hFWCA+ PSAweDAzMGMwMDAwIC8qIFB5dGhvbiAzLjEyIGFuZCBuZXdlciAqLwotKyAgICBPS19PUChJTlNU UlVNRU5URURfUE9QX0pVTVBfSUZfTk9ORSksCi0rICAgIE9LX09QKElOU1RSVU1FTlRFRF9QT1Bf SlVNUF9JRl9OT1RfTk9ORSksCi0rICAgIE9LX09QKElOU1RSVU1FTlRFRF9QT1BfSlVNUF9JRl9G QUxTRSksCi0rICAgIE9LX09QKElOU1RSVU1FTlRFRF9QT1BfSlVNUF9JRl9UUlVFKSwKLSsjZWxz ZQotICAgICBPS19PUChQT1BfSlVNUF9CQUNLV0FSRF9JRl9OT1RfTk9ORSksCi0gICAgIE9LX09Q KFBPUF9KVU1QX0JBQ0tXQVJEX0lGX05PTkUpLAotICAgICBPS19PUChQT1BfSlVNUF9CQUNLV0FS RF9JRl9GQUxTRSksCi0gICAgIE9LX09QKFBPUF9KVU1QX0JBQ0tXQVJEX0lGX1RSVUUpLAotKyNl bmRpZgotIAotICAgICAvKiBTcGVjaWFsIGNhc2VzLiAqLwotICAgICBPS19PUChMT0FEX0NPTlNU KSwgLyogT2sgYmVjYXVzZSBjb25zdGFudHMgYXJlIGFjY2VwdGVkLiAqLwotICAgICBPS19PUChM T0FEX05BTUUpLCAgLyogT2ssIGJlY2F1c2UgYFB5Q29kZU9iamVjdC5uYW1lc2AgaXMgY2hlY2tl ZC4gKi8KLSAgICAgT0tfT1AoQ0FMTCksICAgICAgIC8qIE9rLCBiZWNhdXNlIHdlIGNoZWNrIGl0 cyAibmFtZSIgYmVmb3JlIGNhbGxpbmcuICovCi0gICAgIE9LX09QKEtXX05BTUVTKSwgICAvKiBP aywgYmVjYXVzZSBpdCdzIHVzZWQgZm9yIGNhbGxpbmcgZnVuY3Rpb25zIHdpdGgga2V5d29yZCBh cmd1bWVudHMuICovCi0rI2lmIFBZX1ZFUlNJT05fSEVYIDwgMHgwMzBjMDAwMCAvKiBvbGRlciB0 aGFuIFB5dGhvbiAzLjEyICovCi0gICAgIE9LX09QKFBSRUNBTEwpLCAgICAvKiBPaywgYmVjYXVz ZSBpdCdzIHVzZWQgZm9yIGNhbGxpbmcuICovCi0rI2VuZGlmCi0gCi0gIyAgZWxzZSAvKiBQeXRo b24gMy4xMCBhbmQgb2xkZXIuICovCi0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JsZW5kZXIvcGF0 Y2hlcy9weXRob24zLjEyLXB5YXJnLXBhcnNlci5wYXRjaCBiL3NyY3BrZ3MvYmxlbmRlci9wYXRj aGVzL3B5dGhvbjMuMTItcHlhcmctcGFyc2VyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA5NzI4MTIyYzFlNWRkLi4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvYmxlbmRl ci9wYXRjaGVzL3B5dGhvbjMuMTItcHlhcmctcGFyc2VyLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMTE2MSArMCwwIEBACi1odHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2JsZW5k ZXIvcmF3LzcwNDU3MTdlYjU0NzdjNDA5MDVmNmQyOWRmZDNkYmY1ZWQ2NzRlNGQvZi9ibGVuZGVy LTMuNi4xLXB5MzEyLXB5YXJnLXBhcnNlci1kZWYucGF0Y2gKLQotLS0tIGJsZW5kZXItMy42LjEv c291cmNlL2JsZW5kZXIvcHl0aG9uL2dlbmVyaWMvaW1idWZfcHlfYXBpLmMucHkzMTIJMjAyMy0w Ny0zMSAyMjozNDoxMC41OTg2NjEzMTYgKzA5MDAKLSsrKyBibGVuZGVyLTMuNi4xL3NvdXJjZS9i bGVuZGVyL3B5dGhvbi9nZW5lcmljL2ltYnVmX3B5X2FwaS5jCTIwMjMtMDctMzEgMjI6NDI6MzEu MzI3MzMwMjY4ICswOTAwCi1AQCAtOTMsMTIgKzkzLDExIEBAIHN0YXRpYyBQeU9iamVjdCAqcHlf aW1idWZfcmVzaXplKFB5X0ltQnUKLSAKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNb XSA9IHsic2l6ZSIsICJtZXRob2QiLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9w YXJzZXIgPSB7Ci0tICAgICAgIihpaSkiIC8qIGBzaXplYCAqLwotKyAgICAgIC5mb3JtYXQgPSAi KGlpKSIgLyogYHNpemVgICovCi0gICAgICAgInwkIiAgIC8qIE9wdGlvbmFsIGtleXdvcmQgb25s eSBhcmd1bWVudHMuICovCi0gICAgICAgIk8mIiAgIC8qIGBtZXRob2RgICovCi0gICAgICAgIjpy ZXNpemUiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9 IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNG YXN0KAotICAgICAgICAgICBhcmdzLCBrdywgJl9wYXJzZXIsICZzaXplWzBdLCAmc2l6ZVsxXSwg UHlDX1BhcnNlU3RyaW5nRW51bSwgJm1ldGhvZCkpCi1AQCAtMTM5LDExICsxMzgsMTAgQEAgc3Rh dGljIFB5T2JqZWN0ICpweV9pbWJ1Zl9jcm9wKFB5X0ltQnVmCi0gCi0gICBzdGF0aWMgY29uc3Qg Y2hhciAqX2tleXdvcmRzW10gPSB7Im1pbiIsICJtYXgiLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlB cmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIihJSSkiIC8qIGBtaW5gICovCi0rICAgICAg LmZvcm1hdCA9ICIoSUkpIiAvKiBgbWluYCAqLwotICAgICAgICIoSUkpIiAvKiBgbWF4YCAqLwot ICAgICAgICI6Y3JvcCIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtl eXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRL ZXl3b3Jkc0Zhc3QoCi0gICAgICAgICAgIGFyZ3MsIGt3LCAmX3BhcnNlciwgJmNyb3AueG1pbiwg JmNyb3AueW1pbiwgJmNyb3AueG1heCwgJmNyb3AueW1heCkpCi1AQCAtNDMxLDEwICs0MjksOSBA QCBzdGF0aWMgUHlPYmplY3QgKk1faW1idWZfbmV3KFB5T2JqZWN0ICpVCi0gICBpbnQgc2l6ZVsy XTsKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsic2l6ZSIsIE5VTEx9Owot ICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiKGlpKSIgLyogYHNp emVgICovCi0rICAgICAgLmZvcm1hdCA9ICIoaWkpIiAvKiBgc2l6ZWAgKi8KLSAgICAgICAiOm5l dyIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tl eXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3Qo YXJncywga3csICZfcGFyc2VyLCAmc2l6ZVswXSwgJnNpemVbMV0pKSB7Ci0gICAgIHJldHVybiBO VUxMOwotQEAgLTQ3MSwxMCArNDY4LDkgQEAgc3RhdGljIFB5T2JqZWN0ICpNX2ltYnVmX2xvYWQo UHlPYmplY3QgKgotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmaWxl cGF0aCIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAg ICAicyIgLyogYGZpbGVwYXRoYCAqLwotKyAgICAgIC5mb3JtYXQgPSAicyIgLyogYGZpbGVwYXRo YCAqLwotICAgICAgICI6bG9hZCIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAg ICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVw bGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywga3csICZfcGFyc2VyLCAmZmlsZXBhdGgpKSB7Ci0gICAg IHJldHVybiBOVUxMOwotQEAgLTUxOCwxMiArNTE0LDExIEBAIHN0YXRpYyBQeU9iamVjdCAqTV9p bWJ1Zl93cml0ZShQeU9iamVjdAotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1td ID0geyJpbWFnZSIsICJmaWxlcGF0aCIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIg X3BhcnNlciA9IHsKLS0gICAgICAiTyEiIC8qIGBpbWFnZWAgKi8KLSsgICAgICAuZm9ybWF0ID0g Ik8hIiAvKiBgaW1hZ2VgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkg YXJndW1lbnRzLiAqLwotICAgICAgICJzIiAgLyogYGZpbGVwYXRoYCAqLwotICAgICAgICI6d3Jp dGUiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9r ZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0 KGFyZ3MsIGt3LCAmX3BhcnNlciwgJlB5X0ltQnVmX1R5cGUsICZweV9pbWIsICZmaWxlcGF0aCkp IHsKLSAgICAgcmV0dXJuIE5VTEw7Ci0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9w eXRob24vZ3B1L2dwdV9weV9iYXRjaC5jLnB5MzEyCTIwMjMtMDctMzEgMjI6MzQ6MTAuNjAxNjYx MzE0ICswOTAwCi0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vZ3B1L2dw dV9weV9iYXRjaC5jCTIwMjMtMDctMzEgMjI6NDQ6MTIuMjE5MjYzNTcxICswOTAwCi1AQCAtNTUs MTMgKzU1LDEyIEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfYmF0Y2hfX3RwX25ldyhQeVQKLSAK LSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsidHlwZSIsICJidWYiLCAiZWxl bSIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAi fCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0rICAgICAgLmZvcm1h dCA9ICJ8JCIgLyogT3B0aW9uYWwga2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSAgICAgICAi TyYiIC8qIGB0eXBlYCAqLwotICAgICAgICJPISIgLyogYGJ1ZmAgKi8KLSAgICAgICAiTyEiIC8q IGBlbGVtYCAqLwotICAgICAgICI6R1BVQmF0Y2guX19uZXdfXyIsCi0tICAgICAgX2tleXdvcmRz LAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlm ICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAga3dkcywKLUBAIC0yNTYsMTMgKzI1NSwxMiBAQCBz dGF0aWMgUHlPYmplY3QgKnB5Z3B1X2JhdGNoX2RyYXdfaW5zdGFuCi0gCi0gICBzdGF0aWMgY29u c3QgY2hhciAqX2tleXdvcmRzW10gPSB7InByb2dyYW0iLCAiaW5zdGFuY2Vfc3RhcnQiLCAiaW5z dGFuY2VfY291bnQiLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7 Ci0tICAgICAgIk8hIiAvKiBgcHJvZ3JhbWAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8hIiAvKiBg cHJvZ3JhbWAgKi8KLSAgICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVu dHMuICovCi0gICAgICAgImkiICAvKiBgaW5zdGFuY2Vfc3RhcnRgICovCi0gICAgICAgImkiICAv KiBgaW5zdGFuY2VfY291bnQnICovCi0gICAgICAgIjpHUFVCYXRjaC5kcmF3X2luc3RhbmNlZCIs Ci0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdv cmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoCi0g ICAgICAgICAgIGFyZ3MsIGt3LCAmX3BhcnNlciwgJkJQeUdQVVNoYWRlcl9UeXBlLCAmcHlfcHJv Z3JhbSwgJmluc3RhbmNlX3N0YXJ0LCAmaW5zdGFuY2VfY291bnQpKQotQEAgLTI5OCwxMyArMjk2 LDEyIEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfYmF0Y2hfZHJhd19yYW5nZSgKLSAKLSAgIHN0 YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsicHJvZ3JhbSIsICJlbGVtX3N0YXJ0Iiwg ImVsZW1fY291bnQiLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7 Ci0tICAgICAgIk8hIiAvKiBgcHJvZ3JhbWAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8hIiAvKiBg cHJvZ3JhbWAgKi8KLSAgICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVu dHMuICovCi0gICAgICAgImkiICAvKiBgZWxlbV9zdGFydCcgKi8KLSAgICAgICAiaSIgIC8qIGBl bGVtX2NvdW50JyAqLwotICAgICAgICI6R1BVQmF0Y2guZHJhd19yYW5nZSIsCi0tICAgICAgX2tl eXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsK LSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoCi0gICAgICAgICAgIGFy Z3MsIGt3LCAmX3BhcnNlciwgJkJQeUdQVVNoYWRlcl9UeXBlLCAmcHlfcHJvZ3JhbSwgJmVsZW1f c3RhcnQsICZlbGVtX2NvdW50KSkKLS0tLSBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5 dGhvbi9ncHUvZ3B1X3B5X2VsZW1lbnQuYy5weTMxMgkyMDIzLTA3LTMxIDIyOjM0OjEwLjYwMTY2 MTMxNCArMDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2dwdS9n cHVfcHlfZWxlbWVudC5jCTIwMjMtMDctMzEgMjI6NDQ6MjguNzA3MjUyNjcwICswOTAwCi1AQCAt MzgsMTEgKzM4LDEwIEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfSW5kZXhCdWZfX3RwX25ldygK LSAKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsidHlwZSIsICJzZXEiLCBO VUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIiRPIiAv KiBgdHlwZWAgKi8KLSsgICAgICAuZm9ybWF0ID0gIiRPIiAvKiBgdHlwZWAgKi8KLSAgICAgICAi Jk8iIC8qIGBzZXFgICovCi0gICAgICAgIjpJbmRleEJ1Zi5fX25ld19fIiwKLS0gICAgICBfa2V5 d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9Owot ICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdCgKLSAgICAgICAgICAgYXJn cywga3dkcywgJl9wYXJzZXIsIFB5Q19QYXJzZVN0cmluZ0VudW0sICZwcmltX3R5cGUsICZzZXEp KSB7Ci0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vZ3B1L2dwdV9weV9m cmFtZWJ1ZmZlci5jLnB5MzEyCTIwMjMtMDctMzEgMjI6MzQ6MTAuNjAzNjYxMzEzICswOTAwCi0r KysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vZ3B1L2dwdV9weV9mcmFtZWJ1 ZmZlci5jCTIwMjMtMDctMzEgMjI6NDU6MDUuNDcwMjI4MzY2ICswOTAwCi1AQCAtMjc2LDEyICsy NzYsMTEgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV9mcmFtZWJ1ZmZlcl9fdHBfbgotICAgUHlP YmplY3QgKmNvbG9yX2F0dGFjaGVtZW50cyA9IE5VTEw7Ci0gICBzdGF0aWMgY29uc3QgY2hhciAq X2tleXdvcmRzW10gPSB7ImRlcHRoX3Nsb3QiLCAiY29sb3Jfc2xvdHMiLCBOVUxMfTsKLSAgIHN0 YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgInwkIiAvKiBPcHRpb25hbCBr ZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotKyAgICAgIC5mb3JtYXQgPSAifCQiIC8qIE9wdGlv bmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAgICAgIk8iICAvKiBgZGVwdGhfc2xv dGAgKi8KLSAgICAgICAiTyIgIC8qIGBjb2xvcl9zbG90c2AgKi8KLSAgICAgICAiOkdQVUZyYW1l QnVmZmVyLl9fbmV3X18iLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5r ZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5k S2V5d29yZHNGYXN0KAotICAgICAgICAgICBhcmdzLCBrd2RzLCAmX3BhcnNlciwgJmRlcHRoX2F0 dGFjaG1lbnQsICZjb2xvcl9hdHRhY2hlbWVudHMpKQotQEAgLTM3MSwxMyArMzcwLDEyIEBAIHN0 YXRpYyBQeU9iamVjdCAqcHlncHVfZnJhbWVidWZmZXJfY2xlYXIKLSAKLSAgIHN0YXRpYyBjb25z dCBjaGFyICpfa2V5d29yZHNbXSA9IHsiY29sb3IiLCAiZGVwdGgiLCAic3RlbmNpbCIsIE5VTEx9 OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAifCQiIC8qIE9w dGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0rICAgICAgLmZvcm1hdCA9ICJ8JCIg LyogT3B0aW9uYWwga2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSAgICAgICAiTyIgIC8qIGBj b2xvcmAgKi8KLSAgICAgICAiTyIgIC8qIGBkZXB0aGAgKi8KLSAgICAgICAiTyIgIC8qIGBzdGVu Y2lsYCAqLwotICAgICAgICI6Y2xlYXIiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAot KyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJz ZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsIGt3ZHMsICZfcGFyc2VyLCAmcHlfY29sLCAmcHlf ZGVwdGgsICZweV9zdGVuY2lsKSkgewotICAgICByZXR1cm4gTlVMTDsKLUBAIC00OTAsNyArNDg4 LDcgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV9mcmFtZWJ1ZmZlcl9yZWFkXwotICAgc3RhdGlj IGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0gewotICAgICAgICJ4IiwgInkiLCAieHNpemUiLCAi eXNpemUiLCAiY2hhbm5lbHMiLCAic2xvdCIsICJmb3JtYXQiLCAiZGF0YSIsIE5VTEx9OwotICAg c3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiaSIgIC8qIGB4YCAqLwot KyAgICAgIC5mb3JtYXQgPSAiaSIgIC8qIGB4YCAqLwotICAgICAgICJpIiAgLyogYHlgICovCi0g ICAgICAgImkiICAvKiBgeHNpemVgICovCi0gICAgICAgImkiICAvKiBgeXNpemVgICovCi1AQCAt NTAwLDggKzQ5OCw3IEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfZnJhbWVidWZmZXJfcmVhZF8K LSAgICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAg ICAgIk8hIiAvKiBgZGF0YWAgKi8KLSAgICAgICAiOnJlYWRfY29sb3IiLAotLSAgICAgIF9rZXl3 b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0g ICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3ZHMsCi1AQCAtNTg5LDE1ICs1ODYsMTQg QEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV9mcmFtZWJ1ZmZlcl9yZWFkXwotIAotICAgc3RhdGlj IGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJ4IiwgInkiLCAieHNpemUiLCAieXNpemUiLCAi ZGF0YSIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAg ICAiaSIgIC8qIGB4YCAqLwotKyAgICAgIC5mb3JtYXQgPSAiaSIgIC8qIGB4YCAqLwotICAgICAg ICJpIiAgLyogYHlgICovCi0gICAgICAgImkiICAvKiBgeHNpemVgICovCi0gICAgICAgImkiICAv KiBgeXNpemVgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1l bnRzLiAqLwotICAgICAgICJPISIgLyogYGRhdGFgICovCi0gICAgICAgIjpyZWFkX2RlcHRoIiwK LS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29y ZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdCgKLSAg ICAgICAgICAgYXJncywga3dkcywgJl9wYXJzZXIsICZ4LCAmeSwgJncsICZoLCAmQlB5R1BVX0J1 ZmZlclR5cGUsICZweV9idWZmZXIpKQotLS0tIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIv cHl0aG9uL2dwdS9ncHVfcHlfb2Zmc2NyZWVuLmMucHkzMTIJMjAyMy0wNy0zMSAyMjozNDoxMC42 MDQ2NjEzMTIgKzA5MDAKLSsrKyBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5dGhvbi9n cHUvZ3B1X3B5X29mZnNjcmVlbi5jCTIwMjMtMDctMzEgMjI6NDU6MzkuMzkxMjA1OTM5ICswOTAw Ci1AQCAtMTg2LDExICsxODYsMTAgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV9vZmZzY3JlZW5f dW5iaW5kKAotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJyZXN0b3Jl IiwgTlVMTH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJ8 JCIgLyogT3B0aW9uYWwga2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSsgICAgICAuZm9ybWF0 ID0gInwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJP JiIgLyogYHJlc3RvcmVgICovCi0gICAgICAgIjp1bmJpbmQiLAotLSAgICAgIF9rZXl3b3JkcywK LS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAo IV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsIGt3ZHMsICZfcGFyc2VyLCBQ eUNfUGFyc2VCb29sLCAmcmVzdG9yZSkpIHsKLSAgICAgcmV0dXJuIE5VTEw7Ci1AQCAtMjE4LDEz ICsyMTcsMTIgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV9vZmZzY3JlZW5fX3RwX25ldwotIAot ICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJ3aWR0aCIsICJoZWlnaHQiLCAi Zm9ybWF0IiwgTlVMTH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAg ICAgICJpIiAgLyogYHdpZHRoYCAqLwotKyAgICAgIC5mb3JtYXQgPSAiaSIgIC8qIGB3aWR0aGAg Ki8KLSAgICAgICAiaSIgIC8qIGBoZWlnaHRgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCBr ZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJPJiIgLyogYGZvcm1hdGAgKi8KLSAg ICAgICAiOkdQVU9mZlNjcmVlbi5fX25ld19fIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAg MCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdf UGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdCgKLSAgICAgICAgICAgYXJncywga3dkcywgJl9wYXJz ZXIsICZ3aWR0aCwgJmhlaWdodCwgUHlDX1BhcnNlU3RyaW5nRW51bSwgJnB5Z3B1X3RleHR1cmVm b3JtYXQpKQotQEAgLTMzOSw3ICszMzcsNyBAQCBzdGF0aWMgUHlPYmplY3QgKnB5Z3B1X29mZnNj cmVlbl9kcmF3X3ZpCi0gICAgICAgTlVMTCwKLSAgIH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNl ciBfcGFyc2VyID0gewotLSAgICAgICJPIiAgLyogYHNjZW5lYCAqLwotKyAgICAgIC5mb3JtYXQg PSAiTyIgIC8qIGBzY2VuZWAgKi8KLSAgICAgICAiTyIgIC8qIGB2aWV3X2xheWVyYCAqLwotICAg ICAgICJPIiAgLyogYHZpZXczZGAgKi8KLSAgICAgICAiTyIgIC8qIGByZWdpb25gICovCi1AQCAt MzQ5LDggKzM0Nyw3IEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfb2Zmc2NyZWVuX2RyYXdfdmkK LSAgICAgICAiTyYiIC8qIGBkb19jb2xvcl9tYW5hZ2VtZW50YCAqLwotICAgICAgICJPJiIgLyog YGRyYXdfYmFja2dyb3VuZGAgKi8KLSAgICAgICAiOmRyYXdfdmlldzNkIiwKLS0gICAgICBfa2V5 d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9Owot ICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdChhcmdzLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2RzLAotLS0tIGJsZW5kZXItMy42LjEv c291cmNlL2JsZW5kZXIvcHl0aG9uL2dwdS9ncHVfcHlfc2hhZGVyLmMucHkzMTIJMjAyMy0wNy0z MSAyMjozNDoxMC42MDU2NjEzMTIgKzA5MDAKLSsrKyBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVu ZGVyL3B5dGhvbi9ncHUvZ3B1X3B5X3NoYWRlci5jCTIwMjMtMDctMzEgMjI6NDY6MDQuMTI4MTg5 NTg0ICswOTAwCi1AQCAtMTA3LDcgKzEwNyw3IEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfc2hh ZGVyX190cF9uZXcoUHkKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsKLSAg ICAgICAidmVydGV4Y29kZSIsICJmcmFnY29kZSIsICJnZW9jb2RlIiwgImxpYmNvZGUiLCAiZGVm aW5lcyIsICJuYW1lIiwgTlVMTH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0g ewotLSAgICAgICJzIiAgLyogYHZlcnRleGNvZGVgICovCi0rICAgICAgLmZvcm1hdCA9ICJzIiAg LyogYHZlcnRleGNvZGVgICovCi0gICAgICAgInMiICAvKiBgZnJhZ2NvZGVgICovCi0gICAgICAg InwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJzIiAg LyogYGdlb2NvZGVgICovCi1AQCAtMTE1LDggKzExNSw3IEBAIHN0YXRpYyBQeU9iamVjdCAqcHln cHVfc2hhZGVyX190cF9uZXcoUHkKLSAgICAgICAicyIgIC8qIGBkZWZpbmVzYCAqLwotICAgICAg ICJzIiAgLyogYG5hbWVgICovCi0gICAgICAgIjpHUFVTaGFkZXIuX19uZXdfXyIsCi0tICAgICAg X2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAg fTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dkcywKLUBAIC04NDEsMTIgKzg0 MCwxMSBAQCBzdGF0aWMgUHlPYmplY3QgKnB5Z3B1X3NoYWRlcl9mcm9tX2J1aWx0Ci0gCi0gICBz dGF0aWMgY29uc3QgY2hhciAqX2tleXdvcmRzW10gPSB7InNoYWRlcl9uYW1lIiwgImNvbmZpZyIs IE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiTyYi IC8qIGBzaGFkZXJfbmFtZWAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8mIiAvKiBgc2hhZGVyX25h bWVgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAq LwotICAgICAgICJPJiIgLyogYGNvbmZpZ2AgKi8KLSAgICAgICAiOmZyb21fYnVpbHRpbiIsCi0t ICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRz LAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dkcywKLS0tLSBibGVu ZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5dGhvbi9ncHUvZ3B1X3B5X3NoYWRlcl9jcmVhdGVf aW5mby5jYy5weTMxMgkyMDIzLTA3LTMxIDIyOjM0OjEwLjYwNzY2MTMxMCArMDkwMAotKysrIGJs ZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2dwdS9ncHVfcHlfc2hhZGVyX2NyZWF0 ZV9pbmZvLmNjCTIwMjMtMDctMzEgMjI6NDY6NTMuMTkyMTU3MTQ0ICswOTAwCi1AQCAtNDgyLDE0 ICs0ODIsMTMgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV9zaGFkZXJfaW5mb19mcmFnbQotIAot ICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzbG90IiwgInR5cGUiLCAibmFt ZSIsICJibGVuZCIsIG51bGxwdHJ9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9 IHsKLS0gICAgICAiaSIgIC8qIGBzbG90YCAqLwotKyAgICAgIC5mb3JtYXQgPSAiaSIgIC8qIGBz bG90YCAqLwotICAgICAgICJPJiIgLyogYHR5cGVgICovCi0gICAgICAgInMiICAvKiBgbmFtZWAg Ki8KLSAgICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0g ICAgICAgIk8mIiAvKiBgYmxlbmRgICovCi0gICAgICAgIjpmcmFnbWVudF9vdXQiLAotLSAgICAg IF9rZXl3b3JkcywKLS0gICAgICBudWxscHRyLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3Jk cywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3Ms Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3ZHMsCi1AQCAtNTg2 LDE1ICs1ODUsMTQgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV9zaGFkZXJfaW5mb19pbWFnZQot IAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzbG90IiwgImZvcm1hdCIs ICJ0eXBlIiwgIm5hbWUiLCAicXVhbGlmaWVycyIsIG51bGxwdHJ9OwotICAgc3RhdGljIF9QeUFy Z19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiaSIgIC8qIGBzbG90YCAqLwotKyAgICAgIC5m b3JtYXQgPSAiaSIgIC8qIGBzbG90YCAqLwotICAgICAgICJPJiIgLyogYGZvcm1hdGAgKi8KLSAg ICAgICAiTyYiIC8qIGB0eXBlYCAqLwotICAgICAgICJzIiAgLyogYG5hbWVgICovCi0gICAgICAg InwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJPIiAg LyogYHF1YWxpZmllcnNgICovCi0gICAgICAgIjppbWFnZSIsCi0tICAgICAgX2tleXdvcmRzLAot LSAgICAgIG51bGxwdHIsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAg IGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dkcywKLUBAIC03NjksMTMgKzc2NywxMiBA QCBzdGF0aWMgUHlPYmplY3QgKnB5Z3B1X3NoYWRlcl9pbmZvX3B1c2hfCi0gCi0gICBzdGF0aWMg Y29uc3QgY2hhciAqX2tleXdvcmRzW10gPSB7InR5cGUiLCAibmFtZSIsICJzaXplIiwgbnVsbHB0 cn07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPJiIgLyog YHR5cGVgICovCi0rICAgICAgLmZvcm1hdCA9ICJPJiIgLyogYHR5cGVgICovCi0gICAgICAgInMi ICAvKiBgbmFtZWAgKi8KLSAgICAgICAifCIgIC8qIE9wdGlvbmFsIGFyZ3VtZW50cy4gKi8KLSAg ICAgICAiSSIgIC8qIGBzaXplYCAqLwotICAgICAgICI6cHVzaF9jb25zdGFudCIsCi0tICAgICAg X2tleXdvcmRzLAotLSAgICAgIG51bGxwdHIsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRz LAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoCi0gICAg ICAgICAgIGFyZ3MsIGt3ZHMsICZfcGFyc2VyLCBQeUNfUGFyc2VTdHJpbmdFbnVtLCAmcHlncHVf dHlwZSwgJm5hbWUsICZhcnJheV9zaXplKSkKLS0tLSBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVu ZGVyL3B5dGhvbi9ncHUvZ3B1X3B5X3RleHR1cmUuYy5weTMxMgkyMDIzLTA3LTMxIDIyOjM0OjEw LjYwNzY2MTMxMCArMDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9u L2dwdS9ncHVfcHlfdGV4dHVyZS5jCTIwMjMtMDctMzEgMjI6NTU6MzAuNzEwMTA0MDg3ICswOTAw Ci1AQCAtMTIxLDE1ICsxMjEsMTQgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV90ZXh0dXJlX190 cF9uZXcoUAotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzaXplIiwg ImxheWVycyIsICJpc19jdWJlbWFwIiwgImZvcm1hdCIsICJkYXRhIiwgTlVMTH07Ci0gICBzdGF0 aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPIiAgLyogYHNpemVgICovCi0r ICAgICAgLmZvcm1hdCA9ICJPIiAgLyogYHNpemVgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25h bCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJpIiAgLyogYGxheWVyc2AgKi8K LSAgICAgICAicCIgIC8qIGBpc19jdWJlbWFwYCAqLwotICAgICAgICJPJiIgLyogYGZvcm1hdGAg Ki8KLSAgICAgICAiTyEiIC8qIGBkYXRhYCAqLwotICAgICAgICI6R1BVVGV4dHVyZS5fX25ld19f IiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5 d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdChh cmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2RzLAotQEAg LTI5NCwxMiArMjkzLDExIEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfdGV4dHVyZV9jbGVhcihC UHkKLSAKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsiZm9ybWF0IiwgInZh bHVlIiwgTlVMTH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAg ICIkIiAgLyogS2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSsgICAgICAuZm9ybWF0ID0gIiQi ICAvKiBLZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJPJiIgLyogYGZvcm1hdGAg Ki8KLSAgICAgICAiTyIgIC8qIGB2YWx1ZWAgKi8KLSAgICAgICAiOmNsZWFyIiwKLS0gICAgICBf a2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9 OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdCgKLSAgICAgICAgICAg YXJncywga3dkcywgJl9wYXJzZXIsIFB5Q19QYXJzZVN0cmluZ0VudW0sICZweWdwdV9kYXRhZm9y bWF0LCAmcHlfdmFsdWVzKSkKLS0tLSBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5dGhv bi9ncHUvZ3B1X3B5X3VuaWZvcm1idWZmZXIuYy5weTMxMgkyMDIzLTA3LTMxIDIyOjM0OjEwLjYw ODY2MTMxMCArMDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2dw dS9ncHVfcHlfdW5pZm9ybWJ1ZmZlci5jCTIwMjMtMDctMzEgMjI6NTg6MTkuNTg5NjU2MTYxICsw OTAwCi1AQCAtNjUsMTAgKzY1LDkgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV91bmlmb3JtYnVm ZmVyX190cAotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJkYXRhIiwg TlVMTH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPIiAv KiBgZGF0YWAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8iIC8qIGBkYXRhYCAqLwotICAgICAgICI6 R1BVVW5pZm9ybUJ1Zi5fX25ld19fIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsg ICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VU dXBsZUFuZEtleXdvcmRzRmFzdChhcmdzLCBrd2RzLCAmX3BhcnNlciwgJnB5YnVmZmVyX29iaikp IHsKLSAgICAgcmV0dXJuIE5VTEw7Ci0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9w eXRob24vZ3B1L2dwdV9weV92ZXJ0ZXhfYnVmZmVyLmMucHkzMTIJMjAyMy0wNy0zMSAyMjozNDox MC42MDk2NjEzMDkgKzA5MDAKLSsrKyBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5dGhv bi9ncHUvZ3B1X3B5X3ZlcnRleF9idWZmZXIuYwkyMDIzLTA3LTMxIDIyOjU4OjM5Ljk4MzcyMjgy MiArMDkwMAotQEAgLTIzNywxMSArMjM3LDEwIEBAIHN0YXRpYyBQeU9iamVjdCAqcHlncHVfdmVy dGJ1Zl9fdHBfbmV3KFAKLSAKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsi Zm9ybWF0IiwgImxlbiIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9 IHsKLS0gICAgICAiTyEiIC8qIGBmb3JtYXRgICovCi0rICAgICAgLmZvcm1hdCA9ICJPISIgLyog YGZvcm1hdGAgKi8KLSAgICAgICAiSSIgIC8qIGBsZW5gICovCi0gICAgICAgIjpHUFVWZXJ0QnVm Ll9fbmV3X18iLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3Jk cyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29y ZHNGYXN0KAotICAgICAgICAgICBhcmdzLCBrd2RzLCAmX3BhcnNlciwgJkJQeUdQVVZlcnRGb3Jt YXRfVHlwZSwgJnBhcmFtcy5weV9mbXQsICZwYXJhbXMubGVuKSkKLUBAIC0yNzMsMTEgKzI3Miwx MCBAQCBzdGF0aWMgUHlPYmplY3QgKnB5Z3B1X3ZlcnRidWZfYXR0cl9maWxsCi0gCi0gICBzdGF0 aWMgY29uc3QgY2hhciAqX2tleXdvcmRzW10gPSB7ImlkIiwgImRhdGEiLCBOVUxMfTsKLSAgIHN0 YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIk8iIC8qIGBpZGAgKi8KLSsg ICAgICAuZm9ybWF0ID0gIk8iIC8qIGBpZGAgKi8KLSAgICAgICAiTyIgLyogYGRhdGFgICovCi0g ICAgICAgIjphdHRyX2ZpbGwiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAg IC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxl QW5kS2V5d29yZHNGYXN0KGFyZ3MsIGt3ZHMsICZfcGFyc2VyLCAmaWRlbnRpZmllciwgJmRhdGEp KSB7Ci0gICAgIHJldHVybiBOVUxMOwotLS0tIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIv cHl0aG9uL2dwdS9ncHVfcHlfdmVydGV4X2Zvcm1hdC5jLnB5MzEyCTIwMjMtMDctMzEgMjI6MzQ6 MTAuNjEwNjYxMzA4ICswOTAwCi0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRo b24vZ3B1L2dwdV9weV92ZXJ0ZXhfZm9ybWF0LmMJMjAyMy0wNy0zMSAyMjo1ODo1My4zMDk3NjYz ODQgKzA5MDAKLUBAIC05MSwxNCArOTEsMTMgQEAgc3RhdGljIFB5T2JqZWN0ICpweWdwdV92ZXJ0 Zm9ybWF0X2F0dHJfYQotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJp ZCIsICJjb21wX3R5cGUiLCAibGVuIiwgImZldGNoX21vZGUiLCBOVUxMfTsKLSAgIHN0YXRpYyBf UHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIiQiICAvKiBLZXl3b3JkIG9ubHkgYXJn dW1lbnRzLiAqLwotKyAgICAgIC5mb3JtYXQgPSAiJCIgIC8qIEtleXdvcmQgb25seSBhcmd1bWVu dHMuICovCi0gICAgICAgInMiICAvKiBgaWRgICovCi0gICAgICAgIk8mIiAvKiBgY29tcF90eXBl YCAqLwotICAgICAgICJJIiAgLyogYGxlbmAgKi8KLSAgICAgICAiTyYiIC8qIGBmZXRjaF9tb2Rl YCAqLwotICAgICAgICI6YXR0cl9hZGQiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAot KyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJz ZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGt3ZHMsCi0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRo b24vaW50ZXJuL2JweS5jLnB5MzEyCTIwMjMtMDUtMTggMDg6MDQ6NDUuMDAwMDAwMDAwICswOTAw Ci0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vaW50ZXJuL2JweS5jCTIw MjMtMDctMzEgMjI6NDI6MTAuNTA1MzQ0MDMyICswOTAwCi1AQCAtMTE4LDEzICsxMTgsMTIgQEAg c3RhdGljIFB5T2JqZWN0ICpicHlfYmxlbmRfcGF0aHMoUHlPYmplYwotIAotICAgc3RhdGljIGNv bnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJhYnNvbHV0ZSIsICJwYWNrZWQiLCAibG9jYWwiLCBO VUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgInwkIiAv KiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotKyAgICAgIC5mb3JtYXQgPSAi fCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAgICAgIk8mIiAv KiBgYWJzb2x1dGVgICovCi0gICAgICAgIk8mIiAvKiBgcGFja2VkYCAqLwotICAgICAgICJPJiIg LyogYGxvY2FsYCAqLwotICAgICAgICI6YmxlbmRfcGF0aHMiLAotLSAgICAgIF9rZXl3b3JkcywK LS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAo IV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGt3LAotQEAgLTE4MSwxMiArMTgwLDExIEBAIHN0YXRp YyBQeU9iamVjdCAqYnB5X2ZsaXBfbmFtZShQeU9iamVjdAotIAotICAgc3RhdGljIGNvbnN0IGNo YXIgKl9rZXl3b3Jkc1tdID0geyIiLCAic3RyaXBfZGlnaXRzIiwgTlVMTH07Ci0gICBzdGF0aWMg X1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJzIyIgLyogYG5hbWVgICovCi0rICAg ICAgLmZvcm1hdCA9ICJzIyIgLyogYG5hbWVgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCwg a2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSAgICAgICAiTyYiIC8qIGBzdHJpcF9kaWdpdHNg ICovCi0gICAgICAgIjpmbGlwX25hbWUiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAot KyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJz ZVR1cGxlQW5kS2V5d29yZHNGYXN0KAotICAgICAgICAgICBhcmdzLCBrdywgJl9wYXJzZXIsICZu YW1lX3NyYywgJm5hbWVfc3JjX2xlbiwgUHlDX1BhcnNlQm9vbCwgJnN0cmlwX2RpZ2l0cykpCi1A QCAtMjI1LDEyICsyMjMsMTEgQEAgc3RhdGljIFB5T2JqZWN0ICpicHlfdXNlcl9yZXNvdXJjZShQ eU9iagotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJ0eXBlIiwgInBh dGgiLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAg Ik8mIiAvKiBgdHlwZWAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8mIiAvKiBgdHlwZWAgKi8KLSAg ICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAgICAg InMiICAvKiBgcGF0aGAgKi8KLSAgICAgICAiOnVzZXJfcmVzb3VyY2UiLAotLSAgICAgIF9rZXl3 b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0g ICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsIGt3LCAmX3BhcnNl ciwgUHlDX1BhcnNlU3RyaW5nRW51bSwgJnR5cGUsICZzdWJkaXIpKSB7Ci0gICAgIHJldHVybiBO VUxMOwotQEAgLTI2OCwxMiArMjY1LDExIEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5X3N5c3RlbV9y ZXNvdXJjZShQeU8KLSAKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsidHlw ZSIsICJwYXRoIiwgTlVMTH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewot LSAgICAgICJPJiIgLyogYHR5cGVgICovCi0rICAgICAgLmZvcm1hdCA9ICJPJiIgLyogYHR5cGVg ICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwot ICAgICAgICJzIiAgLyogYHBhdGhgICovCi0gICAgICAgIjpzeXN0ZW1fcmVzb3VyY2UiLAotLSAg ICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywK LSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsIGt3 LCAmX3BhcnNlciwgUHlDX1BhcnNlU3RyaW5nRW51bSwgJnR5cGUsICZzdWJkaXIpKSB7Ci0gICAg IHJldHVybiBOVUxMOwotQEAgLTMxMywxMyArMzA5LDEyIEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5 X3Jlc291cmNlX3BhdGgoUHlPYmoKLSAKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNb XSA9IHsidHlwZSIsICJtYWpvciIsICJtaW5vciIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19Q YXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiTyYiIC8qIGB0eXBlYCAqLwotKyAgICAgIC5mb3Jt YXQgPSAiTyYiIC8qIGB0eXBlYCAqLwotICAgICAgICJ8JCIgLyogT3B0aW9uYWwga2V5d29yZCBv bmx5IGFyZ3VtZW50cy4gKi8KLSAgICAgICAiaSIgIC8qIGBtYWpvcmAgKi8KLSAgICAgICAiaSIg IC8qIGBtaW5vcmAgKi8KLSAgICAgICAiOnJlc291cmNlX3BhdGgiLAotLSAgICAgIF9rZXl3b3Jk cywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBp ZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KAotICAgICAgICAgICBhcmdzLCBr dywgJl9wYXJzZXIsIFB5Q19QYXJzZVN0cmluZ0VudW0sICZ0eXBlLCAmbWFqb3IsICZtaW5vcikp Ci1AQCAtMzUzLDEzICszNDgsMTIgQEAgc3RhdGljIFB5T2JqZWN0ICpicHlfZHJpdmVyX3NlY3Vy ZV9jb2RlXwotICAgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7Ci0gICBzdGF0aWMgY29uc3Qg Y2hhciAqX2tleXdvcmRzW10gPSB7ImNvZGUiLCAibmFtZXNwYWNlIiwgInZlcmJvc2UiLCBOVUxM fTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIk8hIiAvKiBg ZXhwcmVzc2lvbmAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8hIiAvKiBgZXhwcmVzc2lvbmAgKi8K LSAgICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAg ICAgIk8hIiAvKiBgbmFtZXNwYWNlYCAqLwotICAgICAgICJPJiIgLyogYHZlcmJvc2VgICovCi0g ICAgICAgIjpkcml2ZXJfc2VjdXJlX2NvZGVfdGVzdCIsCi0tICAgICAgX2tleXdvcmRzLAotLSAg ICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5 QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAga3csCi0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRl ci9weXRob24vaW50ZXJuL2JweV9hcHAuYy5weTMxMgkyMDIzLTA1LTE4IDA4OjA0OjQ1LjAwMDAw MDAwMCArMDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVy bi9icHlfYXBwLmMJMjAyMy0wNy0zMSAyMjo0MjoxMC41MDYzNDQwMzEgKzA5MDAKLUBAIC01MDIs MTAgKzUwMiw5IEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5X2FwcF9pc19qb2JfcnVubmluZygKLSAg IH07Ci0gICBzdGF0aWMgY29uc3QgY2hhciAqX2tleXdvcmRzW10gPSB7ImpvYl90eXBlIiwgTlVM TH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPJiIgLyog YGpvYl90eXBlYCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyYiIC8qIGBqb2JfdHlwZWAgKi8KLSAg ICAgICAiOmlzX2pvYl9ydW5uaW5nIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsg ICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VU dXBsZUFuZEtleXdvcmRzRmFzdCgKLSAgICAgICAgICAgYXJncywga3dkcywgJl9wYXJzZXIsIHB5 cm5hX2VudW1fdmFsdWVfcGFyc2Vfc3RyaW5nLCAmam9iX3R5cGVfZW51bSkpCi0tLS0gYmxlbmRl ci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vaW50ZXJuL2JweV9hcHBfaWNvbnMuYy5weTMx MgkyMDIzLTA1LTE4IDA4OjA0OjQ1LjAwMDAwMDAwMCArMDkwMAotKysrIGJsZW5kZXItMy42LjEv c291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9icHlfYXBwX2ljb25zLmMJMjAyMy0wNy0zMSAy Mjo0MjoxMC41MDgzNDQwMzAgKzA5MDAKLUBAIC00MSwxMiArNDEsMTEgQEAgc3RhdGljIFB5T2Jq ZWN0ICpicHlfYXBwX2ljb25zX25ld190cmlhbgotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9r ZXl3b3Jkc1tdID0geyJyYW5nZSIsICJjb29yZHMiLCAiY29sb3JzIiwgTlVMTH07Ci0gICBzdGF0 aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICIoQkIpIiAvKiBgcmFuZ2VgICov Ci0rICAgICAgLmZvcm1hdCA9ICIoQkIpIiAvKiBgcmFuZ2VgICovCi0gICAgICAgIlMiICAgIC8q IGBjb29yZHNgICovCi0gICAgICAgIlMiICAgIC8qIGBjb2xvcnNgICovCi0gICAgICAgIjpuZXdf dHJpYW5nbGVzIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29y ZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdv cmRzRmFzdCgKLSAgICAgICAgICAgYXJncywga3csICZfcGFyc2VyLCAmY29vcmRzX3JhbmdlWzBd LCAmY29vcmRzX3JhbmdlWzFdLCAmcHlfY29vcmRzLCAmcHlfY29sb3JzKSkKLUBAIC0xMDIsMTAg KzEwMSw5IEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5X2FwcF9pY29uc19uZXdfdHJpYW4KLSAKLSAg IHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmlsZW5hbWUiLCBOVUxMfTsKLSAg IHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgInMiIC8qIGBmaWxlbmFt ZWAgKi8KLSsgICAgICAuZm9ybWF0ID0gInMiIC8qIGBmaWxlbmFtZWAgKi8KLSAgICAgICAiOm5l d190cmlhbmdsZXNfZnJvbV9maWxlIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsg ICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VU dXBsZUFuZEtleXdvcmRzRmFzdChhcmdzLCBrdywgJl9wYXJzZXIsICZmaWxlbmFtZSkpIHsKLSAg ICAgcmV0dXJuIE5VTEw7Ci1AQCAtMTI5LDEwICsxMjcsOSBAQCBzdGF0aWMgUHlPYmplY3QgKmJw eV9hcHBfaWNvbnNfcmVsZWFzZShQCi0gICBpbnQgaWNvbl9pZDsKLSAgIHN0YXRpYyBjb25zdCBj aGFyICpfa2V5d29yZHNbXSA9IHsiaWNvbl9pZCIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19Q YXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiaSIgLyogYGljb25faWRgICovCi0rICAgICAgLmZv cm1hdCA9ICJpIiAvKiBgaWNvbl9pZGAgKi8KLSAgICAgICAiOnJlbGVhc2UiLAotLSAgICAgIF9r ZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07 Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsIGt3LCAmX3Bh cnNlciwgJmljb25faWQpKSB7Ci0gICAgIHJldHVybiBOVUxMOwotLS0tIGJsZW5kZXItMy42LjEv c291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9icHlfYXBwX3RpbWVycy5jLnB5MzEyCTIwMjMt MDctMzEgMjI6MzQ6MTAuNjE2NjYxMzA0ICswOTAwCi0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2Uv YmxlbmRlci9weXRob24vaW50ZXJuL2JweV9hcHBfdGltZXJzLmMJMjAyMy0wNy0zMSAyMjo1OToy NC4xOTI4NjczMzYgKzA5MDAKLUBAIC05NCwxMyArOTQsMTIgQEAgc3RhdGljIFB5T2JqZWN0ICpi cHlfYXBwX3RpbWVyc19yZWdpc3RlcgotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jk c1tdID0geyJmdW5jdGlvbiIsICJmaXJzdF9pbnRlcnZhbCIsICJwZXJzaXN0ZW50IiwgTlVMTH07 Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPIiAgLyogYGZ1 bmN0aW9uYCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyIgIC8qIGBmdW5jdGlvbmAgKi8KLSAgICAg ICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAgICAgImQi ICAvKiBgZmlyc3RfaW50ZXJ2YWxgICovCi0gICAgICAgInAiICAvKiBgcGVyc2lzdGVudGAgKi8K LSAgICAgICAiOnJlZ2lzdGVyIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAg ICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBs ZUFuZEtleXdvcmRzRmFzdCgKLSAgICAgICAgICAgYXJncywga3csICZfcGFyc2VyLCAmZnVuY3Rp b24sICZmaXJzdF9pbnRlcnZhbCwgJnBlcnNpc3RlbnQpKSB7Ci0tLS0gYmxlbmRlci0zLjYuMS9z b3VyY2UvYmxlbmRlci9weXRob24vaW50ZXJuL2JweV9naXptb193cmFwLmMucHkzMTIJMjAyMy0w Ny0zMSAyMjozNDoxMC42MTc2NjEzMDQgKzA5MDAKLSsrKyBibGVuZGVyLTMuNi4xL3NvdXJjZS9i bGVuZGVyL3B5dGhvbi9pbnRlcm4vYnB5X2dpem1vX3dyYXAuYwkyMDIzLTA3LTMxIDIyOjU5OjM0 LjM3NzkwMDYzMCArMDkwMAotQEAgLTUyLDEzICs1MiwxMiBAQCBzdGF0aWMgYm9vbCBicHlfZ2l6 bW90eXBlX3RhcmdldF9wcm9wZXJ0Ci0gCi0gICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgX2tl eXdvcmRzW10gPSB7ImlkIiwgInR5cGUiLCAiYXJyYXlfbGVuZ3RoIiwgTlVMTH07Ci0gICBzdGF0 aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJ8JCIgLyogT3B0aW9uYWwga2V5 d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSsgICAgICAuZm9ybWF0ID0gInwkIiAvKiBPcHRpb25h bCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJzIiAgLyogYGlkYCAqLwotICAg ICAgICJPJiIgLyogYHR5cGVgICovCi0gICAgICAgImkiICAvKiBgYXJyYXlfbGVuZ3RoYCAqLwot ICAgICAgICI6cmVnaXN0ZXJfY2xhc3MiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAot KyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJz ZVR1cGxlQW5kS2V5d29yZHNGYXN0KGVtcHR5X3R1cGxlLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpdGVtLAotLS0tIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5k ZXIvcHl0aG9uL2ludGVybi9icHlfbGlicmFyeV9sb2FkLmMucHkzMTIJMjAyMy0wNy0zMSAyMjoz NDoxMC42MTc2NjEzMDQgKzA5MDAKLSsrKyBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5 dGhvbi9pbnRlcm4vYnB5X2xpYnJhcnlfbG9hZC5jCTIwMjMtMDctMzEgMjM6MDE6MDcuMjkwMjA0 MzUyICswOTAwCi1AQCAtMTkxLDcgKzE5MSw3IEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5X2xpYl9s b2FkKEJQeV9Qcm9wZXIKLSAgICAgICBOVUxMLAotICAgfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFy c2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgInMiIC8qIGBmaWxlcGF0aGAgKi8KLSsgICAgICAuZm9y bWF0ID0gInMiIC8qIGBmaWxlcGF0aGAgKi8KLSAgICAgICAvKiBPcHRpb25hbCBrZXl3b3JkIG9u bHkgYXJndW1lbnRzLiAqLwotICAgICAgICJ8JCIKLSAgICAgICAiTyYiIC8qIGBsaW5rYCAqLwot QEAgLTIwMSw4ICsyMDEsNyBAQCBzdGF0aWMgUHlPYmplY3QgKmJweV9saWJfbG9hZChCUHlfUHJv cGVyCi0gICAgICAgIk8mIiAvKiBgcmV1c2VfbGlib3ZlcnJpZGVzYCAqLwotICAgICAgICJPJiIg LyogYGNyZWF0ZV9saWJvdmVycmlkZXNfcnVudGltZWAgKi8KLSAgICAgICAiOmxvYWQiLAotLSAg ICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywK LSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3LAotLS0tIGJsZW5kZXIt My42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9icHlfbGlicmFyeV93cml0ZS5jLnB5 MzEyCTIwMjMtMDctMzEgMjI6MzQ6MTAuNjIwNjYxMzAyICswOTAwCi0rKysgYmxlbmRlci0zLjYu MS9zb3VyY2UvYmxlbmRlci9weXRob24vaW50ZXJuL2JweV9saWJyYXJ5X3dyaXRlLmMJMjAyMy0w Ny0zMSAyMzowMToxNy42ODMyMzgzMjUgKzA5MDAKLUBAIC04NCwxNSArODQsMTQgQEAgc3RhdGlj IFB5T2JqZWN0ICpicHlfbGliX3dyaXRlKEJQeV9Qcm9wZQotICAgICAgIE5VTEwsCi0gICB9Owot ICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAicyIgIC8qIGBmaWxl cGF0aGAgKi8KLSsgICAgICAuZm9ybWF0ID0gInMiICAvKiBgZmlsZXBhdGhgICovCi0gICAgICAg Ik8hIiAvKiBgZGF0YWJsb2Nrc2AgKi8KLSAgICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQg b25seSBhcmd1bWVudHMuICovCi0gICAgICAgIk8mIiAvKiBgcGF0aF9yZW1hcGAgKi8KLSAgICAg ICAiTyYiIC8qIGBmYWtlX3VzZXJgICovCi0gICAgICAgIk8mIiAvKiBgY29tcHJlc3NgICovCi0g ICAgICAgIjp3cml0ZSIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtl eXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRL ZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAga3csCi0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vaW50ZXJuL2Jw eV9tc2didXMuYy5weTMxMgkyMDIzLTA3LTMxIDIyOjM0OjEwLjYyMDY2MTMwMiArMDkwMAotKysr IGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9icHlfbXNnYnVzLmMJ MjAyMy0wNy0zMSAyMzowMzo0OC40NTM3MzExOTIgKzA5MDAKLUBAIC0yNDEsMTUgKzI0MSwxNCBA QCBzdGF0aWMgUHlPYmplY3QgKmJweV9tc2didXNfc3Vic2NyaWJlX3JuCi0gICAgICAgTlVMTCwK LSAgIH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPIiAg LyogYGtleWAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8iICAvKiBga2V5YCAqLwotICAgICAgICJP IiAgLyogYG93bmVyYCAqLwotICAgICAgICJPISIgLyogYGFyZ3NgICovCi0gICAgICAgIk8iICAv KiBgbm90aWZ5YCAqLwotICAgICAgICJ8JCIgLyogT3B0aW9uYWwga2V5d29yZCBvbmx5IGFyZ3Vt ZW50cy4gKi8KLSAgICAgICAiTyEiIC8qIGBvcHRpb25zYCAqLwotICAgICAgICI6c3Vic2NyaWJl X3JuYSIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0g X2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zh c3QoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3csCi1A QCAtMzQyLDEwICszNDEsOSBAQCBzdGF0aWMgUHlPYmplY3QgKmJweV9tc2didXNfcHVibGlzaF9y bmEoCi0gICAgICAgTlVMTCwKLSAgIH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2Vy ID0gewotLSAgICAgICJPIiAvKiBga2V5YCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyIgLyogYGtl eWAgKi8KLSAgICAgICAiOnB1Ymxpc2hfcm5hIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAg MCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdf UGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdChhcmdzLCBrdywgJl9wYXJzZXIsICZweV9zdWIpKSB7 Ci0gICAgIHJldHVybiBOVUxMOwotLS0tIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0 aG9uL2ludGVybi9icHlfcHJvcHMuYy5weTMxMgkyMDIzLTA3LTMxIDIyOjM0OjEwLjYyMjY2MTMw MCArMDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9i cHlfcHJvcHMuYwkyMDIzLTA3LTMxIDIzOjA1OjQwLjE5NTA5NjQ3NCArMDkwMAotQEAgLTE1Nzks MTEgKzE1NzksMTAgQEAgc3RhdGljIGJvb2wgYnB5X3Byb3Bfc3RyaW5nX3Zpc2l0X2ZuX2NhbAot ICAgICAgICAgTlVMTCwKLSAgICAgfTsKLSAgICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNl ciA9IHsKLS0gICAgICAgICJzIiAvKiBgdGV4dGAgKi8KLSsgICAgICAgIC5mb3JtYXQgPSAicyIg LyogYHRleHRgICovCi0gICAgICAgICAicyIgLyogYGluZm9gICovCi0gICAgICAgICAiOnNlYXJj aCIsCi0tICAgICAgICBfa2V5d29yZHMsCi0tICAgICAgICAwLAotKyAgICAgICAgLmtleXdvcmRz ID0gX2tleXdvcmRzLAotICAgICB9OwotICAgICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5 d29yZHNGYXN0KGl0ZW0sIE5VTEwsICZfcGFyc2VyLCAmdGV4dCwgJmluZm8pKSB7Ci0gICAgICAg UHlDX0Vycl9QcmludFdpdGhGdW5jKHB5X2Z1bmMpOwotQEAgLTI4MTksNyArMjgxOCw3IEBAIHN0 YXRpYyBQeU9iamVjdCAqQlB5X0Jvb2xQcm9wZXJ0eShQeU9iamUKLSAgICAgICBOVUxMLAotICAg fTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIk8mIiAvKiBg YXR0cmAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8mIiAvKiBgYXR0cmAgKi8KLSAgICAgICAifCQi IC8qIE9wdGlvbmFsLCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJzIiAgLyog YG5hbWVgICovCi0gICAgICAgInMiICAvKiBgZGVzY3JpcHRpb25gICovCi1AQCAtMjgzMyw4ICsy ODMyLDcgQEAgc3RhdGljIFB5T2JqZWN0ICpCUHlfQm9vbFByb3BlcnR5KFB5T2JqZQotICAgICAg ICJPIiAgLyogYGdldGAgKi8KLSAgICAgICAiTyIgIC8qIGBzZXRgICovCi0gICAgICAgIjpCb29s UHJvcGVydHkiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3Jk cyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29y ZHNGYXN0KGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3 LAotQEAgLTI5NzYsNyArMjk3NCw3IEBAIHN0YXRpYyBQeU9iamVjdCAqQlB5X0Jvb2xWZWN0b3JQ cm9wZXJ0eSgKLSAgICAgICBOVUxMLAotICAgfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9w YXJzZXIgPSB7Ci0tICAgICAgIk8mIiAvKiBgYXR0cmAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8m IiAvKiBgYXR0cmAgKi8KLSAgICAgICAifCQiIC8qIE9wdGlvbmFsLCBrZXl3b3JkIG9ubHkgYXJn dW1lbnRzLiAqLwotICAgICAgICJzIiAgLyogYG5hbWVgICovCi0gICAgICAgInMiICAvKiBgZGVz Y3JpcHRpb25gICovCi1AQCAtMjk5MSw4ICsyOTg5LDcgQEAgc3RhdGljIFB5T2JqZWN0ICpCUHlf Qm9vbFZlY3RvclByb3BlcnR5KAotICAgICAgICJPIiAgLyogYGdldGAgKi8KLSAgICAgICAiTyIg IC8qIGBzZXRgICovCi0gICAgICAgIjpCb29sVmVjdG9yUHJvcGVydHkiLAotLSAgICAgIF9rZXl3 b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0g ICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3LAotQEAgLTMxNjYsNyArMzE2Myw3IEBA IHN0YXRpYyBQeU9iamVjdCAqQlB5X0ludFByb3BlcnR5KFB5T2JqZWMKLSAgICAgICBOVUxMLAot ICAgfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIk8mIiAv KiBgYXR0cmAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8mIiAvKiBgYXR0cmAgKi8KLSAgICAgICAi fCQiIC8qIE9wdGlvbmFsLCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJzIiAg LyogYG5hbWVgICovCi0gICAgICAgInMiICAvKiBgZGVzY3JpcHRpb25gICovCi1AQCAtMzE4NSw4 ICszMTgyLDcgQEAgc3RhdGljIFB5T2JqZWN0ICpCUHlfSW50UHJvcGVydHkoUHlPYmplYwotICAg ICAgICJPIiAgLyogYGdldGAgKi8KLSAgICAgICAiTyIgIC8qIGBzZXRgICovCi0gICAgICAgIjpJ bnRQcm9wZXJ0eSIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdv cmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3 b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg a3csCi1AQCAtMzMzNSw3ICszMzMxLDcgQEAgc3RhdGljIFB5T2JqZWN0ICpCUHlfSW50VmVjdG9y UHJvcGVydHkoUAotICAgICAgICJnZXQiLCAgICAgICJzZXQiLCAgICAgTlVMTCwKLSAgIH07Ci0g ICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPJiIgLyogYGF0dHJg ICovCi0rICAgICAgLmZvcm1hdCA9ICJPJiIgLyogYGF0dHJgICovCi0gICAgICAgInwkIiAvKiBP cHRpb25hbCwga2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSAgICAgICAicyIgIC8qIGBuYW1l YCAqLwotICAgICAgICJzIiAgLyogYGRlc2NyaXB0aW9uYCAqLwotQEAgLTMzNTUsOCArMzM1MSw3 IEBAIHN0YXRpYyBQeU9iamVjdCAqQlB5X0ludFZlY3RvclByb3BlcnR5KFAKLSAgICAgICAiTyIg IC8qIGBnZXRgICovCi0gICAgICAgIk8iICAvKiBgc2V0YCAqLwotICAgICAgICI6SW50VmVjdG9y UHJvcGVydHkiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3Jk cyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29y ZHNGYXN0KGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3 LAotQEAgLTM1MzMsNyArMzUyOCw3IEBAIHN0YXRpYyBQeU9iamVjdCAqQlB5X0Zsb2F0UHJvcGVy dHkoUHlPYmoKLSAgICAgICAidXBkYXRlIiwgICAiZ2V0IiwgICJzZXQiLCAgICAgICAgIE5VTEws Ci0gICB9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiTyYi IC8qIGBhdHRyYCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyYiIC8qIGBhdHRyYCAqLwotICAgICAg ICJ8JCIgLyogT3B0aW9uYWwsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAgICAgInMi ICAvKiBgbmFtZWAgKi8KLSAgICAgICAicyIgIC8qIGBkZXNjcmlwdGlvbmAgKi8KLUBAIC0zNTU0 LDggKzM1NDksNyBAQCBzdGF0aWMgUHlPYmplY3QgKkJQeV9GbG9hdFByb3BlcnR5KFB5T2JqCi0g ICAgICAgIk8iICAvKiBgZ2V0YCAqLwotICAgICAgICJPIiAgLyogYHNldGAgKi8KLSAgICAgICAi OkZsb2F0UHJvcGVydHkiLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5r ZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5k S2V5d29yZHNGYXN0KGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGt3LAotQEAgLTM3MTcsNyArMzcxMSw3IEBAIHN0YXRpYyBQeU9iamVjdCAqQlB5X0Zsb2F0 VmVjdG9yUHJvcGVydHkKLSAgICAgICBOVUxMLAotICAgfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFy c2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgIk8mIiAvKiBgYXR0cmAgKi8KLSsgICAgICAuZm9ybWF0 ID0gIk8mIiAvKiBgYXR0cmAgKi8KLSAgICAgICAifCQiIC8qIE9wdGlvbmFsLCBrZXl3b3JkIG9u bHkgYXJndW1lbnRzLiAqLwotICAgICAgICJzIiAgLyogYG5hbWVgICovCi0gICAgICAgInMiICAv KiBgZGVzY3JpcHRpb25gICovCi1AQCAtMzczOSw4ICszNzMzLDcgQEAgc3RhdGljIFB5T2JqZWN0 ICpCUHlfRmxvYXRWZWN0b3JQcm9wZXJ0eQotICAgICAgICJPIiAgLyogYGdldGAgKi8KLSAgICAg ICAiTyIgIC8qIGBzZXRgICovCi0gICAgICAgIjpGbG9hdFZlY3RvclByb3BlcnR5IiwKLS0gICAg ICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0g ICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdChhcmdzLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrdywKLUBAIC0zOTI4LDcgKzM5 MjEsNyBAQCBzdGF0aWMgUHlPYmplY3QgKkJQeV9TdHJpbmdQcm9wZXJ0eShQeU9iCi0gICAgICAg TlVMTCwKLSAgIH07Ci0gICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAg ICJPJiIgLyogYGF0dHJgICovCi0rICAgICAgLmZvcm1hdCA9ICJPJiIgLyogYGF0dHJgICovCi0g ICAgICAgInwkIiAvKiBPcHRpb25hbCwga2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSAgICAg ICAicyIgIC8qIGBuYW1lYCAqLwotICAgICAgICJzIiAgLyogYGRlc2NyaXB0aW9uYCAqLwotQEAg LTM5NDUsOCArMzkzOCw3IEBAIHN0YXRpYyBQeU9iamVjdCAqQlB5X1N0cmluZ1Byb3BlcnR5KFB5 T2IKLSAgICAgICAiTyIgIC8qIGBzZWFyY2hgICovCi0gICAgICAgIk8mIiAvKiBgc2VhcmNoX29w dGlvbnNgICovCi0gICAgICAgIjpTdHJpbmdQcm9wZXJ0eSIsCi0tICAgICAgX2tleXdvcmRzLAot LSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICgh X1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAga3csCi1AQCAtNDEzMiw3ICs0MTI0LDcgQEAgc3RhdGlj IFB5T2JqZWN0ICpCUHlfRW51bVByb3BlcnR5KFB5T2JqZQotICAgICAgIE5VTEwsCi0gICB9Owot ICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiTyYiIC8qIGBhdHRy YCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyYiIC8qIGBhdHRyYCAqLwotICAgICAgICJPIiAgLyog YGl0ZW1zYCAqLwotICAgICAgICJ8JCIgLyogT3B0aW9uYWwsIGtleXdvcmQgb25seSBhcmd1bWVu dHMuICovCi0gICAgICAgInMiICAvKiBgbmFtZWAgKi8KLUBAIC00MTQ2LDggKzQxMzgsNyBAQCBz dGF0aWMgUHlPYmplY3QgKkJQeV9FbnVtUHJvcGVydHkoUHlPYmplCi0gICAgICAgIk8iICAvKiBg Z2V0YCAqLwotICAgICAgICJPIiAgLyogYHNldGAgKi8KLSAgICAgICAiOkVudW1Qcm9wZXJ0eSIs Ci0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdv cmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJn cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3csCi1AQCAtNDM2 MCw3ICs0MzUxLDcgQEAgUHlPYmplY3QgKkJQeV9Qb2ludGVyUHJvcGVydHkoUHlPYmplY3QgKgot ICAgICAgIE5VTEwsCi0gICB9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsK LS0gICAgICAiTyYiIC8qIGBhdHRyYCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyYiIC8qIGBhdHRy YCAqLwotICAgICAgICJPIiAgLyogYHR5cGVgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCwg a2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSAgICAgICAicyIgIC8qIGBuYW1lYCAqLwotQEAg LTQzNzIsOCArNDM2Myw3IEBAIFB5T2JqZWN0ICpCUHlfUG9pbnRlclByb3BlcnR5KFB5T2JqZWN0 ICoKLSAgICAgICAiTyIgIC8qIGBwb2xsYCAqLwotICAgICAgICJPIiAgLyogYHVwZGF0ZWAgKi8K LSAgICAgICAiOlBvaW50ZXJQcm9wZXJ0eSIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAs Ci0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1Bh cnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAga3csCi1AQCAtNDUwMyw3ICs0NDkzLDcgQEAgUHlPYmplY3QgKkJQeV9D b2xsZWN0aW9uUHJvcGVydHkoUHlPYmplYwotICAgICAgIE5VTEwsCi0gICB9OwotICAgc3RhdGlj IF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiTyYiIC8qIGBhdHRyYCAqLwotKyAg ICAgIC5mb3JtYXQgPSAiTyYiIC8qIGBhdHRyYCAqLwotICAgICAgICJPIiAgLyogYHR5cGVgICov Ci0gICAgICAgInwkIiAvKiBPcHRpb25hbCwga2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSAg ICAgICAicyIgIC8qIGBuYW1lYCAqLwotQEAgLTQ1MTMsOCArNDUwMyw3IEBAIFB5T2JqZWN0ICpC UHlfQ29sbGVjdGlvblByb3BlcnR5KFB5T2JqZWMKLSAgICAgICAiTyYiIC8qIGBvdmVycmlkZWAg Ki8KLSAgICAgICAiTyYiIC8qIGB0YWdzYCAqLwotICAgICAgICI6Q29sbGVjdGlvblByb3BlcnR5 IiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5 d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdChh cmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrdywKLUBAIC00 NjIxLDEwICs0NjEwLDkgQEAgc3RhdGljIFB5T2JqZWN0ICpCUHlfUmVtb3ZlUHJvcGVydHkoUHlP YgotICAgICAgIE5VTEwsCi0gICB9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9 IHsKLS0gICAgICAicyIgLyogYGF0dHJgICovCi0rICAgICAgLmZvcm1hdCA9ICJzIiAvKiBgYXR0 cmAgKi8KLSAgICAgICAiOlJlbW92ZVByb3BlcnR5IiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAg ICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlB cmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdChhcmdzLCBrdywgJl9wYXJzZXIsICZpZCkpIHsK LSAgICAgcmV0dXJuIE5VTEw7Ci0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRo b24vaW50ZXJuL2JweV9ybmEuYy5weTMxMgkyMDIzLTA3LTMxIDIyOjM0OjEwLjYyNDY2MTI5OSAr MDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9icHlf cm5hLmMJMjAyMy0wNy0zMSAyMzowNjowNS40NzgxNzkxMjQgKzA5MDAKLUBAIC0zNjIyLDEyICsz NjIyLDExIEBAIHN0YXRpYyBQeU9iamVjdCAqcHlybmFfc3RydWN0X2lzX3Byb3BlcnQKLSAKLSAg IHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsiIiwgImdob3N0IiwgTlVMTH07Ci0g ICBzdGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJzIiAgLyogYG5hbWVg IChwb3NpdGlvbmFsKS4gKi8KLSsgICAgICAuZm9ybWF0ID0gInMiICAvKiBgbmFtZWAgKHBvc2l0 aW9uYWwpLiAqLwotICAgICAgICJ8JCIgLyogT3B0aW9uYWwga2V5d29yZCBvbmx5IGFyZ3VtZW50 cy4gKi8KLSAgICAgICAiTyYiIC8qIGBnaG9zdGAgKi8KLSAgICAgICAiOmlzX3Byb3BlcnR5X3Nl dCIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tl eXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3Qo YXJncywga3csICZfcGFyc2VyLCAmbmFtZSwgUHlDX1BhcnNlQm9vbCwgJnVzZV9naG9zdCkpIHsK LSAgICAgcmV0dXJuIE5VTEw7Ci0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRo b24vaW50ZXJuL2JweV9ybmFfY29udGV4dC5jLnB5MzEyCTIwMjMtMDctMzEgMjI6MzQ6MTAuNjI0 NjYxMjk5ICswOTAwCi0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vaW50 ZXJuL2JweV9ybmFfY29udGV4dC5jCTIwMjMtMDctMzEgMjM6MDY6MTYuMzAyMjE0NTA4ICswOTAw Ci1AQCAtMjM5LDEzICsyMzksMTIgQEAgc3RhdGljIFB5T2JqZWN0ICpicHlfY29udGV4dF90ZW1w X292ZXJyaQotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IF9rZXl3b3Jkc1tdID0geyJ3 aW5kb3ciLCAiYXJlYSIsICJyZWdpb24iLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2Vy IF9wYXJzZXIgPSB7Ci0tICAgICAgInwkIiAvKiBPcHRpb25hbCwga2V5d29yZCBvbmx5IGFyZ3Vt ZW50cy4gKi8KLSsgICAgICAuZm9ybWF0ID0gInwkIiAvKiBPcHRpb25hbCwga2V5d29yZCBvbmx5 IGFyZ3VtZW50cy4gKi8KLSAgICAgICAiTyYiIC8qIGB3aW5kb3dgICovCi0gICAgICAgIk8mIiAv KiBgYXJlYWAgKi8KLSAgICAgICAiTyYiIC8qIGByZWdpb25gICovCi0gICAgICAgIjp0ZW1wX292 ZXJyaWRlIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAua2V5d29yZHMg PSBfa2V5d29yZHMsCi0gICB9OwotICAgLyogUGFyc2Uga25vd24ga2V5d29yZHMsIHRoZSByZW1h aW5pbmcga2V5d29yZHMgYXJlIHNldCB1c2luZyAjQ1RYX3B5X3N0YXRlX3B1c2guICovCi0gICBr d2RzID0ga3dkcyA/IFB5RGljdF9Db3B5KGt3ZHMpIDogUHlEaWN0X05ldygpOwotLS0tIGJsZW5k ZXItMy42LjEvc291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9icHlfcm5hX2RhdGEuYy5weTMx MgkyMDIzLTA3LTMxIDIyOjM0OjEwLjYyNTY2MTI5OCArMDkwMAotKysrIGJsZW5kZXItMy42LjEv c291cmNlL2JsZW5kZXIvcHl0aG9uL2ludGVybi9icHlfcm5hX2RhdGEuYwkyMDIzLTA3LTMxIDIz OjA2OjI2LjEyMTI0NjYxMSArMDkwMAotQEAgLTEzMCwxMSArMTMwLDEwIEBAIHN0YXRpYyBQeU9i amVjdCAqYnB5X3JuYV9kYXRhX3RlbXBfZGF0YSgKLSAgIGNvbnN0IGNoYXIgKmZpbGVwYXRoID0g TlVMTDsKLSAgIHN0YXRpYyBjb25zdCBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmlsZXBhdGgiLCBO VUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAgInwkIiAv KiBPcHRpb25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotKyAgICAgIC5mb3JtYXQgPSAi fCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAgICAgInoiICAv KiBgZmlsZXBhdGhgICovCi0gICAgICAgIjp0ZW1wX2RhdGEiLAotLSAgICAgIF9rZXl3b3JkcywK LS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAo IV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsIGt3LCAmX3BhcnNlciwgJmZp bGVwYXRoKSkgewotICAgICByZXR1cm4gTlVMTDsKLS0tLSBibGVuZGVyLTMuNi4xL3NvdXJjZS9i bGVuZGVyL3B5dGhvbi9pbnRlcm4vYnB5X3JuYV9naXptby5jLnB5MzEyCTIwMjMtMDctMzEgMjI6 MzQ6MTAuNjI2NjYxMjk4ICswOTAwCi0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9w eXRob24vaW50ZXJuL2JweV9ybmFfZ2l6bW8uYwkyMDIzLTA3LTMxIDIzOjA3OjA0LjkyMzM3MzQ1 NSArMDkwMAotQEAgLTM0MCwxNSArMzQwLDE0IEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5X2dpem1v X3RhcmdldF9zZXRfaGEKLSAgICAqIChzZWU6IHJuYV93bV9naXptb19hcGkuYykuIGNvbnZlbnRp b25zIHNob3VsZCBtYXRjaC4gKi8KLSAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBfa2V5d29y ZHNbXSA9IHsic2VsZiIsICJ0YXJnZXQiLCAiZ2V0IiwgInNldCIsICJyYW5nZSIsIE5VTEx9Owot ICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAiTyYiIC8qIGBzZWxm YCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyYiIC8qIGBzZWxmYCAqLwotICAgICAgICJPJiIgLyog YHRhcmdldGAgKi8KLSAgICAgICAifCQiIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVu dHMuICovCi0gICAgICAgIk8iICAvKiBgZ2V0YCAqLwotICAgICAgICJPIiAgLyogYHNldGAgKi8K LSAgICAgICAiTyIgIC8qIGByYW5nZWAgKi8KLSAgICAgICAiOnRhcmdldF9zZXRfaGFuZGxlciIs Ci0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdv cmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJn cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3csCi1AQCAtNDM4 LDExICs0MzcsMTAgQEAgc3RhdGljIFB5T2JqZWN0ICpicHlfZ2l6bW9fdGFyZ2V0X2dldF92YQot IAotICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IF9rZXl3b3Jkc1tdID0geyJzZWxmIiwgInRh cmdldCIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAg ICAiTyYiIC8qIGBzZWxmYCAqLwotKyAgICAgIC5mb3JtYXQgPSAiTyYiIC8qIGBzZWxmYCAqLwot ICAgICAgICJPJiIgLyogYHRhcmdldGAgKi8KLSAgICAgICAiOnRhcmdldF9nZXRfdmFsdWUiLAot LSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3Jk cywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3Ms Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3LAotQEAgLTUwMywx MiArNTAxLDExIEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5X2dpem1vX3RhcmdldF9zZXRfdmEKLSAK LSAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBfa2V5d29yZHNbXSA9IHsic2VsZiIsICJ0YXJn ZXQiLCAidmFsdWUiLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7 Ci0tICAgICAgIk8mIiAvKiBgc2VsZmAgKi8KLSsgICAgICAuZm9ybWF0ID0gIk8mIiAvKiBgc2Vs ZmAgKi8KLSAgICAgICAiTyYiIC8qIGB0YXJnZXRgICovCi0gICAgICAgIk8iICAvKiBgdmFsdWVg ICovCi0gICAgICAgIjp0YXJnZXRfc2V0X3ZhbHVlIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAg ICAgMCwKLSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlB cmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzRmFzdChhcmdzLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBrdywKLUBAIC01ODEsMTEgKzU3OCwxMCBAQCBzdGF0aWMgUHlP YmplY3QgKmJweV9naXptb190YXJnZXRfZ2V0X3JhCi0gCi0gICBzdGF0aWMgY29uc3QgY2hhciAq Y29uc3QgX2tleXdvcmRzW10gPSB7InNlbGYiLCAidGFyZ2V0IiwgTlVMTH07Ci0gICBzdGF0aWMg X1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJPJiIgLyogYHNlbGZgICovCi0rICAg ICAgLmZvcm1hdCA9ICJPJiIgLyogYHNlbGZgICovCi0gICAgICAgIk8mIiAvKiBgdGFyZ2V0YCAq LwotICAgICAgICI6dGFyZ2V0X2dldF9yYW5nZSIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAg IDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJn X1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAga3csCi0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9w eXRob24vaW50ZXJuL2JweV9ybmFfaWRfY29sbGVjdGlvbi5jLnB5MzEyCTIwMjMtMDctMzEgMjI6 MzQ6MTAuNjI3NjYxMjk3ICswOTAwCi0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9w eXRob24vaW50ZXJuL2JweV9ybmFfaWRfY29sbGVjdGlvbi5jCTIwMjMtMDctMzEgMjM6MDc6MzUu MjEyNDU1NzkzICswOTAwCi1AQCAtMTU5LDEzICsxNTksMTIgQEAgc3RhdGljIFB5T2JqZWN0ICpi cHlfdXNlcl9tYXAoUHlPYmplY3QgKgotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jk c1tdID0geyJzdWJzZXQiLCAia2V5X3R5cGVzIiwgInZhbHVlX3R5cGVzIiwgTlVMTH07Ci0gICBz dGF0aWMgX1B5QXJnX1BhcnNlciBfcGFyc2VyID0gewotLSAgICAgICJ8JCIgLyogT3B0aW9uYWwg a2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSsgICAgICAuZm9ybWF0ID0gInwkIiAvKiBPcHRp b25hbCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJPIiAgLyogYHN1YnNldGAg Ki8KLSAgICAgICAiTyEiIC8qIGBrZXlfdHlwZXNgICovCi0gICAgICAgIk8hIiAvKiBgdmFsdWVf dHlwZXNgICovCi0gICAgICAgIjp1c2VyX21hcCIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAg IDAsCi0rICAgICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJn X1BhcnNlVHVwbGVBbmRLZXl3b3Jkc0Zhc3QoCi0gICAgICAgICAgIGFyZ3MsIGt3ZHMsICZfcGFy c2VyLCAmc3Vic2V0LCAmUHlTZXRfVHlwZSwgJmtleV90eXBlcywgJlB5U2V0X1R5cGUsICZ2YWxf dHlwZXMpKQotQEAgLTMwMiwxMCArMzAxLDkgQEAgc3RhdGljIFB5T2JqZWN0ICpicHlfYmF0Y2hf cmVtb3ZlKFB5T2JqZQotIAotICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJp ZHMiLCBOVUxMfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAgICAg Ik8iIC8qIGBpZHNgICovCi0rICAgICAgLmZvcm1hdCA9ICJPIiAvKiBgaWRzYCAqLwotICAgICAg ICI6YmF0Y2hfcmVtb3ZlIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwKLSsgICAgICAu a2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFyc2VUdXBsZUFu ZEtleXdvcmRzRmFzdChhcmdzLCBrd2RzLCAmX3BhcnNlciwgJmlkcykpIHsKLSAgICAgcmV0dXJu IHJldDsKLUBAIC0zODAsMTMgKzM3OCwxMiBAQCBzdGF0aWMgUHlPYmplY3QgKmJweV9vcnBoYW5z X3B1cmdlKFB5T2JqCi0gCi0gICBzdGF0aWMgY29uc3QgY2hhciAqX2tleXdvcmRzW10gPSB7ImRv X2xvY2FsX2lkcyIsICJkb19saW5rZWRfaWRzIiwgImRvX3JlY3Vyc2l2ZSIsIE5VTEx9OwotICAg c3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAifCIgIC8qIE9wdGlvbmFs IGFyZ3VtZW50cy4gKi8KLSsgICAgICAuZm9ybWF0ID0gInwiICAvKiBPcHRpb25hbCBhcmd1bWVu dHMuICovCi0gICAgICAgIk8mIiAvKiBgZG9fbG9jYWxfaWRzYCAqLwotICAgICAgICJPJiIgLyog YGRvX2xpbmtlZF9pZHNgICovCi0gICAgICAgIk8mIiAvKiBgZG9fcmVjdXJzaXZlYCAqLwotICAg ICAgICI6b3JwaGFuc19wdXJnZSIsCi0tICAgICAgX2tleXdvcmRzLAotLSAgICAgIDAsCi0rICAg ICAgLmtleXdvcmRzID0gX2tleXdvcmRzLAotICAgfTsKLSAgIGlmICghX1B5QXJnX1BhcnNlVHVw bGVBbmRLZXl3b3Jkc0Zhc3QoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAga3dkcywKLS0tLSBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5dGhvbi9p bnRlcm4vYnB5X3JuYV90ZXh0LmMucHkzMTIJMjAyMy0wNy0zMSAyMjozNDoxMC42MzA2NjEyOTUg KzA5MDAKLSsrKyBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL3B5dGhvbi9pbnRlcm4vYnB5 X3JuYV90ZXh0LmMJMjAyMy0wNy0zMSAyMzowNzo1OC4yNDM0OTEzMzcgKzA5MDAKLUBAIC02NCwx MSArNjQsMTAgQEAgc3RhdGljIFB5T2JqZWN0ICpicHlfcm5hX3JlZ2lvbl9hc19zdHJpbgotIAot ICAgc3RhdGljIGNvbnN0IGNoYXIgKl9rZXl3b3Jkc1tdID0geyJyYW5nZSIsIE5VTEx9OwotICAg c3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAifCQiICAgICAgICAgLyog T3B0aW9uYWwga2V5d29yZCBvbmx5IGFyZ3VtZW50cy4gKi8KLSsgICAgICAuZm9ybWF0ID0gInwk IiAgICAgICAgIC8qIE9wdGlvbmFsIGtleXdvcmQgb25seSBhcmd1bWVudHMuICovCi0gICAgICAg IigoaWkpKGlpKSkiIC8qIGByYW5nZWAgKi8KLSAgICAgICAiOnJlZ2lvbl9hc19zdHJpbmciLAot LSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3Jk cywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KAotICAg ICAgICAgICBhcmdzLCBrd2RzLCAmX3BhcnNlciwgJnJlZ2lvbi5jdXJsLCAmcmVnaW9uLmN1cmMs ICZyZWdpb24uc2VsbCwgJnJlZ2lvbi5zZWxjKSkKLUBAIC0xMjIsMTIgKzEyMSwxMSBAQCBzdGF0 aWMgUHlPYmplY3QgKmJweV9ybmFfcmVnaW9uX2Zyb21fc3RyCi0gCi0gICBzdGF0aWMgY29uc3Qg Y2hhciAqX2tleXdvcmRzW10gPSB7IiIsICJyYW5nZSIsIE5VTEx9OwotICAgc3RhdGljIF9QeUFy Z19QYXJzZXIgX3BhcnNlciA9IHsKLS0gICAgICAicyMiICAgICAgICAgLyogYGJ1ZmAgKHBvc2l0 aW9uYWwpLiAqLwotKyAgICAgIC5mb3JtYXQgPSAicyMiICAgICAgICAgLyogYGJ1ZmAgKHBvc2l0 aW9uYWwpLiAqLwotICAgICAgICJ8JCIgICAgICAgICAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkg YXJndW1lbnRzLiAqLwotICAgICAgICIoKGlpKShpaSkpIiAvKiBgcmFuZ2VgICovCi0gICAgICAg IjpyZWdpb25fZnJvbV9zdHJpbmciLAotLSAgICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAg ICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywKLSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1 cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGt3ZHMsCi0tLS0gYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24v aW50ZXJuL2JweV91dGlsc191bml0cy5jLnB5MzEyCTIwMjMtMDctMzEgMjI6MzQ6MTAuNjMxNjYx Mjk0ICswOTAwCi0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9weXRob24vaW50ZXJu L2JweV91dGlsc191bml0cy5jCTIwMjMtMDctMzEgMjM6MDg6MTguMTc4NTIyMTAyICswOTAwCi1A QCAtMTc2LDE0ICsxNzYsMTMgQEAgc3RhdGljIFB5T2JqZWN0ICpicHl1bml0c190b192YWx1ZShQ eU9iagotICAgICAgIE5VTEwsCi0gICB9OwotICAgc3RhdGljIF9QeUFyZ19QYXJzZXIgX3BhcnNl ciA9IHsKLS0gICAgICAicyIgIC8qIGB1bml0X3N5c3RlbWAgKi8KLSsgICAgICAuZm9ybWF0ID0g InMiICAvKiBgdW5pdF9zeXN0ZW1gICovCi0gICAgICAgInMiICAvKiBgdW5pdF9jYXRlZ29yeWAg Ki8KLSAgICAgICAicyMiIC8qIGBzdHJfaW5wdXRgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25h bCBrZXl3b3JkIG9ubHkgYXJndW1lbnRzLiAqLwotICAgICAgICJ6IiAgLyogYHN0cl9yZWZfdW5p dGAgKi8KLSAgICAgICAiOnRvX3ZhbHVlIiwKLS0gICAgICBfa2V5d29yZHMsCi0tICAgICAgMCwK LSsgICAgICAua2V5d29yZHMgPSBfa2V5d29yZHMsCi0gICB9OwotICAgaWYgKCFfUHlBcmdfUGFy c2VUdXBsZUFuZEtleXdvcmRzRmFzdCgKLSAgICAgICAgICAgYXJncywga3csICZfcGFyc2VyLCAm dXN5c19zdHIsICZ1Y2F0X3N0ciwgJmlucHQsICZzdHJfbGVuLCAmdXJlZikpCi1AQCAtMjYzLDcg KzI2Miw3IEBAIHN0YXRpYyBQeU9iamVjdCAqYnB5dW5pdHNfdG9fc3RyaW5nKFB5T2IKLSAgICAg ICBOVUxMLAotICAgfTsKLSAgIHN0YXRpYyBfUHlBcmdfUGFyc2VyIF9wYXJzZXIgPSB7Ci0tICAg ICAgInMiICAvKiBgdW5pdF9zeXN0ZW1gICovCi0rICAgICAgLmZvcm1hdCA9ICJzIiAgLyogYHVu aXRfc3lzdGVtYCAqLwotICAgICAgICJzIiAgLyogYHVuaXRfY2F0ZWdvcnlgICovCi0gICAgICAg ImQiICAvKiBgdmFsdWVgICovCi0gICAgICAgInwkIiAvKiBPcHRpb25hbCBrZXl3b3JkIG9ubHkg YXJndW1lbnRzLiAqLwotQEAgLTI3MSw4ICsyNzAsNyBAQCBzdGF0aWMgUHlPYmplY3QgKmJweXVu aXRzX3RvX3N0cmluZyhQeU9iCi0gICAgICAgIk8mIiAvKiBgc3BsaXRfdW5pdGAgKi8KLSAgICAg ICAiTyYiIC8qIGBjb21wYXRpYmxlX3VuaXRgICovCi0gICAgICAgIjp0b19zdHJpbmciLAotLSAg ICAgIF9rZXl3b3JkcywKLS0gICAgICAwLAotKyAgICAgIC5rZXl3b3JkcyA9IF9rZXl3b3JkcywK LSAgIH07Ci0gICBpZiAoIV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNGYXN0KGFyZ3MsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3LApkaWZmIC0tZ2l0IGEv c3JjcGtncy9ibGVuZGVyL3BhdGNoZXMvcHl0aG9uMy4xMi1weWxvbmdvYmplY3QucGF0Y2ggYi9z cmNwa2dzL2JsZW5kZXIvcGF0Y2hlcy9weXRob24zLjEyLXB5bG9uZ29iamVjdC5wYXRjaAppbmRl eCA0NjBhMWNjZmJjZTFjLi44MGIzMjY4MDljYzk1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2JsZW5k ZXIvcGF0Y2hlcy9weXRob24zLjEyLXB5bG9uZ29iamVjdC5wYXRjaAorKysgYi9zcmNwa2dzL2Js ZW5kZXIvcGF0Y2hlcy9weXRob24zLjEyLXB5bG9uZ29iamVjdC5wYXRjaApAQCAtMSw4ICsxLDgg QEAKIGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvYmxlbmRlci9yYXcvNzA0NTcx N2ViNTQ3N2M0MDkwNWY2ZDI5ZGZkM2RiZjVlZDY3NGU0ZC9mL2JsZW5kZXItMy42LjEtcHkzMTIt cHlsb25nb2JqZWN0LnBhdGNoCiAKLS0tLSBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL2Zy ZWVzdHlsZS9pbnRlcm4vcHl0aG9uL0JQeV9JbnRlZ3JhdGlvblR5cGUuY3BwLnB5b3JpZwkyMDIz LTA1LTE4IDA4OjA0OjQ0LjAwMDAwMDAwMCArMDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNl L2JsZW5kZXIvZnJlZXN0eWxlL2ludGVybi9weXRob24vQlB5X0ludGVncmF0aW9uVHlwZS5jcHAJ MjAyMy0wOC0wMSAxNjozMDoxMy42MDk2NDA2MTQgKzA5MDAKLUBAIC0xODYsNiArMTg2LDcgQEAg UHlUeXBlT2JqZWN0IEludGVncmF0aW9uVHlwZV9UeXBlID0geworLS0tIGEvc291cmNlL2JsZW5k ZXIvZnJlZXN0eWxlL2ludGVybi9weXRob24vQlB5X0ludGVncmF0aW9uVHlwZS5jcHAKKysrKyBi L3NvdXJjZS9ibGVuZGVyL2ZyZWVzdHlsZS9pbnRlcm4vcHl0aG9uL0JQeV9JbnRlZ3JhdGlvblR5 cGUuY3BwCitAQCAtMTg4LDYgKzE4OCw3IEBAIFB5VHlwZU9iamVjdCBJbnRlZ3JhdGlvblR5cGVf VHlwZSA9IHsKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tQlB5X0ludGVncmF0aW9uVHlw ZSBpbnN0YW5jZSBkZWZpbml0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAKQEAg LTEwLDcgKzEwLDcgQEAgaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9ibGVuZGVy L3Jhdy83MDQ1NzE3ZWI1NDc3YzQwOTA1ZjZkMjlkZmQzZGJmNWUKICBzdGF0aWMgUHlMb25nT2Jq ZWN0IF9JbnRlZ3JhdGlvblR5cGVfTUVBTiA9IHsKICAgICAgUHlWYXJPYmplY3RfSEVBRF9JTklU KCZJbnRlZ3JhdGlvblR5cGVfVHlwZSwgMSl7TUVBTn19OwogIHN0YXRpYyBQeUxvbmdPYmplY3Qg X0ludGVncmF0aW9uVHlwZV9NSU4gPSB7UHlWYXJPYmplY3RfSEVBRF9JTklUKCZJbnRlZ3JhdGlv blR5cGVfVHlwZSwgMSl7TUlOfX07Ci1AQCAtMTk0LDYgKzE5NSwyNiBAQCBzdGF0aWMgUHlMb25n T2JqZWN0IF9JbnRlZ3JhdGlvblR5cGVfRklSCitAQCAtMTk2LDYgKzE5NywyNiBAQCBzdGF0aWMg UHlMb25nT2JqZWN0IF9JbnRlZ3JhdGlvblR5cGVfRklSCiAgICAgIFB5VmFyT2JqZWN0X0hFQURf SU5JVCgmSW50ZWdyYXRpb25UeXBlX1R5cGUsIDEpe0ZJUlNUfX07CiAgc3RhdGljIFB5TG9uZ09i amVjdCBfSW50ZWdyYXRpb25UeXBlX0xBU1QgPSB7CiAgICAgIFB5VmFyT2JqZWN0X0hFQURfSU5J VCgmSW50ZWdyYXRpb25UeXBlX1R5cGUsIDEpe0xBU1R9fTsKQEAgLTM3LDkgKzM3LDkgQEAgaHR0 cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9ibGVuZGVyL3Jhdy83MDQ1NzE3ZWI1NDc3 YzQwOTA1ZjZkMjlkZmQzZGJmNWUKICAKICAjZGVmaW5lIEJQeV9JbnRlZ3JhdGlvblR5cGVfTUVB TiAoKFB5T2JqZWN0ICopJl9JbnRlZ3JhdGlvblR5cGVfTUVBTikKICAjZGVmaW5lIEJQeV9JbnRl Z3JhdGlvblR5cGVfTUlOICgoUHlPYmplY3QgKikmX0ludGVncmF0aW9uVHlwZV9NSU4pCi0tLS0g YmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9mcmVlc3R5bGUvaW50ZXJuL3B5dGhvbi9CUHlf TWVkaXVtVHlwZS5jcHAucHlvcmlnCTIwMjMtMDUtMTggMDg6MDQ6NDQuMDAwMDAwMDAwICswOTAw Ci0rKysgYmxlbmRlci0zLjYuMS9zb3VyY2UvYmxlbmRlci9mcmVlc3R5bGUvaW50ZXJuL3B5dGhv bi9CUHlfTWVkaXVtVHlwZS5jcHAJMjAyMy0wOC0wMSAxNjozMDoxOC44NzU2Mjg3OTcgKzA5MDAK LUBAIC03MSw2ICs3MSw3IEBAIFB5VHlwZU9iamVjdCBNZWRpdW1UeXBlX1R5cGUgPSB7CistLS0g YS9zb3VyY2UvYmxlbmRlci9mcmVlc3R5bGUvaW50ZXJuL3B5dGhvbi9CUHlfTWVkaXVtVHlwZS5j cHAKKysrKyBiL3NvdXJjZS9ibGVuZGVyL2ZyZWVzdHlsZS9pbnRlcm4vcHl0aG9uL0JQeV9NZWRp dW1UeXBlLmNwcAorQEAgLTczLDYgKzczLDcgQEAgUHlUeXBlT2JqZWN0IE1lZGl1bVR5cGVfVHlw ZSA9IHsKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tQlB5X0ludGVncmF0aW9uVHlwZSBp bnN0YW5jZSBkZWZpbml0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAKQEAgLTQ3 LDcgKzQ3LDcgQEAgaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9ibGVuZGVyL3Jh dy83MDQ1NzE3ZWI1NDc3YzQwOTA1ZjZkMjlkZmQzZGJmNWUKICBQeUxvbmdPYmplY3QgX0JQeV9N ZWRpdW1UeXBlX0RSWV9NRURJVU0gPSB7CiAgICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmTWVk aXVtVHlwZV9UeXBlLCAxKXtTdHJva2U6OkRSWV9NRURJVU19LAogIH07Ci1AQCAtODAsNiArODEs MjQgQEAgUHlMb25nT2JqZWN0IF9CUHlfTWVkaXVtVHlwZV9IVU1JRF9NRURJVQorQEAgLTgyLDYg KzgzLDI0IEBAIFB5TG9uZ09iamVjdCBfQlB5X01lZGl1bVR5cGVfSFVNSURfTUVESVUKICBQeUxv bmdPYmplY3QgX0JQeV9NZWRpdW1UeXBlX09QQVFVRV9NRURJVU0gPSB7CiAgICAgIFB5VmFyT2Jq ZWN0X0hFQURfSU5JVCgmTWVkaXVtVHlwZV9UeXBlLCAxKXtTdHJva2U6Ok9QQVFVRV9NRURJVU19 LAogIH07CkBAIC03Miw5ICs3Miw5IEBAIGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3Jw bXMvYmxlbmRlci9yYXcvNzA0NTcxN2ViNTQ3N2M0MDkwNWY2ZDI5ZGZkM2RiZjVlCiAgCiAgLy8t LS0tLS0tLS0tLS0tLS0tLS0tTU9EVUxFIElOSVRJQUxJWkFUSU9OLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KICAKLS0tLSBibGVuZGVyLTMuNi4xL3NvdXJjZS9ibGVuZGVyL2ZyZWVz dHlsZS9pbnRlcm4vcHl0aG9uL0JQeV9OYXR1cmUuY3BwLnB5b3JpZwkyMDIzLTA1LTE4IDA4OjA0 OjQ0LjAwMDAwMDAwMCArMDkwMAotKysrIGJsZW5kZXItMy42LjEvc291cmNlL2JsZW5kZXIvZnJl ZXN0eWxlL2ludGVybi9weXRob24vQlB5X05hdHVyZS5jcHAJMjAyMy0wOC0wMSAxNjo0OTozMS40 NDYwNDIzMjkgKzA5MDAKLUBAIC0xMzUsNiArMTM1LDcgQEAgUHlUeXBlT2JqZWN0IE5hdHVyZV9U eXBlID0geworLS0tIGEvc291cmNlL2JsZW5kZXIvZnJlZXN0eWxlL2ludGVybi9weXRob24vQlB5 X05hdHVyZS5jcHAKKysrKyBiL3NvdXJjZS9ibGVuZGVyL2ZyZWVzdHlsZS9pbnRlcm4vcHl0aG9u L0JQeV9OYXR1cmUuY3BwCitAQCAtMTM3LDYgKzEzNyw3IEBAIFB5VHlwZU9iamVjdCBOYXR1cmVf VHlwZSA9IHsKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tQlB5X05hdHVyZSBpbnN0YW5j ZSBkZWZpbml0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAKQEAg LTgyLDcgKzgyLDcgQEAgaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9ibGVuZGVy L3Jhdy83MDQ1NzE3ZWI1NDc3YzQwOTA1ZjZkMjlkZmQzZGJmNWUKICBzdGF0aWMgUHlMb25nT2Jq ZWN0IF9OYXR1cmVfUE9JTlQgPSB7UHlWYXJPYmplY3RfSEVBRF9JTklUKCZOYXR1cmVfVHlwZSwg MCl7TmF0dXJlOjpQT0lOVH19OwogIHN0YXRpYyBQeUxvbmdPYmplY3QgX05hdHVyZV9TX1ZFUlRF WCA9IHtQeVZhck9iamVjdF9IRUFEX0lOSVQoJk5hdHVyZV9UeXBlLCAxKXtOYXR1cmU6OlNfVkVS VEVYfX07CiAgc3RhdGljIFB5TG9uZ09iamVjdCBfTmF0dXJlX1ZJRVdfVkVSVEVYID0gewotQEAg LTE1Nyw2ICsxNTgsMzYgQEAgc3RhdGljIFB5TG9uZ09iamVjdCBfTmF0dXJlX01BVEVSSUFMX0JP VQorQEAgLTE1OSw2ICsxNjAsMzYgQEAgc3RhdGljIFB5TG9uZ09iamVjdCBfTmF0dXJlX01BVEVS SUFMX0JPVQogICAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoJk5hdHVyZV9UeXBlLCAxKXtOYXR1 cmU6Ok1BVEVSSUFMX0JPVU5EQVJZfX07CiAgc3RhdGljIFB5TG9uZ09iamVjdCBfTmF0dXJlX0VE R0VfTUFSSyA9IHsKICAgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKCZOYXR1cmVfVHlwZSwgMSl7 TmF0dXJlOjpFREdFX01BUkt9fTsKQEAgLTExOSw3ICsxMTksNyBAQCBodHRwczovL3NyYy5mZWRv cmFwcm9qZWN0Lm9yZy9ycG1zL2JsZW5kZXIvcmF3LzcwNDU3MTdlYjU0NzdjNDA5MDVmNmQyOWRm ZDNkYmY1ZQogIAogICNkZWZpbmUgQlB5X05hdHVyZV9QT0lOVCAoKFB5T2JqZWN0ICopJl9OYXR1 cmVfUE9JTlQpCiAgI2RlZmluZSBCUHlfTmF0dXJlX1NfVkVSVEVYICgoUHlPYmplY3QgKikmX05h dHVyZV9TX1ZFUlRFWCkKLUBAIC0yNDcsNyArMjc4LDEyIEBAIHN0YXRpYyBQeU9iamVjdCAqQlB5 X05hdHVyZV9iaXR3aXNlKFB5T2IKK0BAIC0yNDksNyArMjgwLDEyIEBAIHN0YXRpYyBQeU9iamVj dCAqQlB5X05hdHVyZV9iaXR3aXNlKFB5T2IKICAgIGVsc2UgewogICAgICByZXN1bHQgPSBQeU9i amVjdF9OZXdWYXIoQlB5X05hdHVyZSwgJk5hdHVyZV9UeXBlLCAxKTsKICAgICAgaWYgKHJlc3Vs dCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9ibGVuZGVyL3RlbXBsYXRlIGIvc3JjcGtncy9ibGVu ZGVyL3RlbXBsYXRlCmluZGV4IDA1ZmRiZjhmNzQ3ZTIuLmNmM2VjYmZlZTBkY2IgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvYmxlbmRlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2JsZW5kZXIvdGVtcGxh dGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2JsZW5kZXInCiBwa2du YW1lPWJsZW5kZXIKLXZlcnNpb249My42LjUKLXJldmlzaW9uPTIKK3ZlcnNpb249NC4wLjIKK3Jl dmlzaW9uPTEKIGFyY2hzPSJ4ODZfNjQqIHBwYzY0KiIKIGJ1aWxkX3N0eWxlPSJjbWFrZSIKLXB5 Y29tcGlsZV9kaXJzPSIvdXNyL3NoYXJlL2JsZW5kZXIvJHt2ZXJzaW9uJS4qfS9zY3JpcHRzIgor cHljb21waWxlX2RpcnM9InVzci9zaGFyZS9ibGVuZGVyLyR7dmVyc2lvbiUuKn0vc2NyaXB0cyIK IGNvbmZpZ3VyZV9hcmdzPSItRFdJVEhfSU5TVEFMTF9QT1JUQUJMRT1PRkYgLURXSVRIX1BZVEhP Tl9JTlNUQUxMPU9GRgogIC1EV0lUSF9KQUNLPU9OIC1EV0lUSF9DT0RFQ19GRk1QRUc9T04gLURX SVRIX0NPREVDX1NOREZJTEU9T04gLURXSVRIX09QRU5NUD1PTgogIC1EV0lUSF9GRlRXMz1PTiAt RFdJVEhfTU9EX09DRUFOU0lNPU9OIC1EV0lUSF9DWUNMRVNfRU1CUkVFPU9GRiAtRFdJVEhfT1BF TkNPTE9SSU89T04KQEAgLTIzLDE0ICsyMywxNSBAQCBtYWtlZGVwZW5kcz0ibGliZ29tcC1kZXZl bCBsaWJwbmctZGV2ZWwgdGlmZi1kZXZlbCBweXRob24zLWRldmVsIGdsdS1kZXZlbAogIE9wZW5T dWJkaXYtZGV2ZWwgdGJiLWRldmVsIGxpYnhtbDItZGV2ZWwgb3BlbnZkYi1kZXZlbCBhbGVtYmlj LWRldmVsCiAgcHVnaXhtbC1kZXZlbCBsaWJYeGY4NnZtLWRldmVsIGxpYmVwb3h5LWRldmVsIGdt cC1kZXZlbCBnbXB4eC1kZXZlbAogIHdheWxhbmQtcHJvdG9jb2xzIHdheWxhbmQtZGV2ZWwgbGli eGtiY29tbW9uLWRldmVsIGxpYmRlY29yLWRldmVsCi0gZWlnZW4gbHpvLWRldmVsIgorIGxpYnNw bmF2LWRldmVsIGxpYndlYnAtZGV2ZWwgcG90cmFjZS1kZXZlbCBIYXJ1LWRldmVsIG9wZW5wZ2wt ZGV2ZWwKKyBwdWxzZWF1ZGlvLWRldmVsIGVpZ2VuIGx6by1kZXZlbCIKIGRlcGVuZHM9ImRlc2t0 b3AtZmlsZS11dGlscyBoaWNvbG9yLWljb24tdGhlbWUiCiBzaG9ydF9kZXNjPSIzRCBncmFwaGlj cyBjcmVhdGlvbiBzdWl0ZSIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxp bnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8v d3d3LmJsZW5kZXIub3JnIgogZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2FkLmJsZW5kZXIub3Jn L3NvdXJjZS9ibGVuZGVyLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NDAwMWMwZmU5OWY2 ZDg3MmVjN2M3ZTk1NWY4NGE5ZWViZGI5YWRhMTcxMDBmNGI1MTllYWUwOGRlY2Y3ZjI0MworY2hl Y2tzdW09YWFhMGU3MjlkYTc1OTFjZmJmNDU3NzJhZjc2MzQ1OTc3ZGFhYTdiMTFhMGFmMzVkOThm OTMxM2UyNDYwNzdhMwogcHl0aG9uX3ZlcnNpb249MwogTERGTEFHUz0iLVdsLC16LHN0YWNrLXNp emU9MjA5NzE1MiIKICMgQmxlbmRlciB0ZXN0cyBhcmUgZXhlY3V0ZWQgYWdhaW5zdCBhIHN5c3Rl bSBpbnN0YWxsYXRpb24gb2YgYmxlbmRlci4gVGhpcwo= --===============6764281872591826971==--