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=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 22314 invoked from network); 1 Apr 2022 19:57:36 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 1 Apr 2022 19:57:36 -0000 Content-Type: multipart/mixed; boundary="===============6700604899478707912==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_sagemath-9=2E5=3A_package_updates_and_fixes?= To: ml@inbox.vuxu.org From: tornaria Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 01 Apr 2022 21:57:36 +0200 List-Id: Message-ID: <20220401195736.3M914REO3nrPG08Q4EL-4ZaGivSIMY-wX_5PuIR3S1c@z> GitHub notification mails are now in MIME to allow UTF8. --===============6700604899478707912== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgdG9ybmFyaWEgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3Rv cm5hcmlhL3ZvaWQtcGFja2FnZXMgc2FnZW1hdGgtdXBkYXRlCmh0dHBzOi8vZ2l0aHViLmNvbS92 b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zNjQyMAoKc2FnZW1hdGgtOS41OiBwYWNrYWdl IHVwZGF0ZXMgYW5kIGZpeGVzCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0 aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqDQoNClRoaXMgaW5jbHVkZXMNCiAtIHVwZ3Jh ZGUgdG8gbHJjYWxjLTIuMSAoZnJvbSAjMzYyMDkpDQogLSB1cGdyYWRlIHRvIHN5bXB5LTEuMTAu MSAoZnJvbSAjMzYzOTcpDQogLSB1cGdyYWRlIHRvIFN1aXRlU3BhcnNlLTUuMTEuMCwgaWdyYXBo LTAuOS43LCBwbGFuYXJpdHktMy4wLjIuMCwgcHl0aG9uMy1jdnhvcHQtMS4zLjAgKGZyb20gIzM2 NDIzKQ0KIC0gdXBncmFkZSB0byBnaWFjLTEuNy4wLjUzIChmcm9tICMzNjQyMSkNCiAtIHVwZ3Jh ZGUgdG8gZ3AyYy0wLjAuMTJwbDEgKGZyb20gIzM2NDIyKQ0KIC0gYmFja3BvcnRlZCBmaXhlcyBm b3Igc2FnZW1hdGgtOS41IHRvIGFjY29tb2RhdGUgdGhlc2UgdXBncmFkZXMsIGFuZCBhbHNvIGlw eXRob24gYW5kIHNjaXB5IHVwZ3JhZGVzIHdoaWNoIGFyZSBhbHJlYWR5IG1lcmdlZA0KDQpJIHdh bnQgdG8gc2VlIGlmIHRoZSBDSSBjYW4gY29wZSB3aXRoIHRoaXMuIE90aGVyd2lzZSBJJ2xsIGp1 c3Qgc3BsaXQgdGhpcyBpbiBhIGZldyBzZXBhcmF0ZSBQUi4gRXhjZXB0IGZvciB0aGUgdXBncmFk ZSB0byBscmNhbGMtMi4xLCB3aGljaCBtdXN0IGJlIGNvb3JkaW5hdGVkIHdpdGggc2FnZSwgZXZl cnl0aGluZyBlbHNlIGNhbiBiZSBoYW5kbGVkIHNlcGFyYXRlbHkuDQoNCmNjOiBAZGt3bw0KDQpF RElUOiBJIGVuZGVkIHVwIG1ha2luZyAzIG5ldyBQUiB0byBoYW5kbGUgdGhlIHBhY2thZ2VzIHRo YXQgY2FuIGJlIHVwZ3JhZGVkIHNlcGFyYXRlbHkgZnJvbSBzYWdlbWF0aCAoIzM2Mzk3LCAjMzY0 MjEsICMzNjQyMiwgIzM2NDIzIHNob3VsZCBiZSBvayB0byBtZXJnZSBpZiBDSSBwYXNzZXMpLgoK QSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9wdWxsLzM2NDIwLnBhdGNoIGlzIGF0dGFjaGVk --===============6700604899478707912== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-sagemath-update-36420.patch" RnJvbSBhOGE2NTQzYzljMmUzNzczODA0ZDBiZDUxYTc3ZTJlOGQyMTRkODJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IE1vbiwgMjggRmViIDIwMjIgMTI6MDM6MjIgLTAz MDAKU3ViamVjdDogW1BBVENIIDEvNV0gbHJjYWxjOiB1cGRhdGUgdG8gMi4xLgoKLS0tCiBjb21t b24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyY3BrZ3MvbHJjYWxj L3BhdGNoZXMvaW5jbHVkZXMucGF0Y2ggfCA5MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHNyY3BrZ3MvbHJjYWxjL3RlbXBsYXRlICAgICAgICAgICAgICAgfCAgNiArLQogMyBmaWxlcyBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvbHJjYWxjL3BhdGNoZXMvaW5jbHVkZXMucGF0Y2gKCmRpZmYgLS1naXQgYS9j b21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBjY2M1NWExYjM3NzIuLjIxNzQ4Mjky YzRlOSAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC00 MDQwLDcgKzQwNDAsNyBAQCBsaWJhcmIuc28uMiBhcmItMi4yMC4wXzEKIGxpYmVjLnNvLjggZWNs aWItMjAyMTA2MjVfMQogbGlic3ltbWV0cmljYS5zby4yIHN5bW1ldHJpY2EtMy4wLjFfMQogbGli TGZ1bmN0aW9uLnNvLjEgbGNhbGMtMi4wLjRfMQotbGlibHJjYWxjLnNvLjEgbHJjYWxjLTEuMl8x CitsaWJscmNhbGMuc28uMiBscmNhbGMtMi4xXzEKIGxpYndheWxhbmQtY2xpZW50Kysuc28uMCBs aWJ3YXlsYW5kcHAtMC4yLjhfMQogbGlid2F5bGFuZC1jdXJzb3IrKy5zby4wIGxpYndheWxhbmRw cC0wLjIuOF8xCiBsaWJ3YXlsYW5kLWVnbCsrLnNvLjAgbGlid2F5bGFuZHBwLTAuMi44XzEKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbHJjYWxjL3BhdGNoZXMvaW5jbHVkZXMucGF0Y2ggYi9zcmNwa2dz L2xyY2FsYy9wYXRjaGVzL2luY2x1ZGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA3MDdkYTE3NmE2MGYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xyY2FsYy9wYXRj aGVzL2luY2x1ZGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotRnJvbSA0 YTVlMWM4YzNjMTFlZmRiMWNiYjQyMzk4MjVhNmJmNGJmMWM1MmY4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogQW5kZXJzIFNrb3ZzdGVkIEJ1Y2ggPGFzYnVjaEBtYXRoLnJ1dGdlcnMu ZWR1PgotRGF0ZTogU3VuLCAyOSBOb3YgMjAxNSAxNjoyNTo1NiAtMDUwMAotU3ViamVjdDogW1BB VENIXSBQYXRjaCBieSBKZXJvZW4gRGVtZXllciB0byBjaGFuZ2UgaW5jbHVkZSA8dmVjdG9yLmg+ IHRvCi0gInZlY3Rvci5oIiwgcGx1cyBzaW1pbGFyIGNhc2VzLgotCi0tLS0KLSBzcmMvbHJjYWxj LmMgICB8IDIgKy0KLSBzcmMvbWFwbGUuYyAgICB8IDQgKystLQotIHNyYy9zY2h1YmxpYi5oIHwg MiArLQotIHNyYy9zeW1mY24uYyAgIHwgNiArKystLS0KLSBzcmMvc3ltZmNuLmggICB8IDQgKyst LQotIDUgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1k aWZmIC0tZ2l0IGEvc3JjL2xyY2FsYy5jIGIvc3JjL2xyY2FsYy5jCi1pbmRleCBhZmYzZjc1Li42 MGRmNDllIDEwMDY0NAotLS0tIGEvc3JjL2xyY2FsYy5jCi0rKysgYi9zcmMvbHJjYWxjLmMKLUBA IC04LDcgKzgsNyBAQAotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSBleHRlcm4gY2hhciAqb3B0YXJn OwotIAotLSNpbmNsdWRlIDx2ZWN0YXJnLmg+Ci0rI2luY2x1ZGUgInZlY3RhcmcuaCIKLSAKLSAj aW5jbHVkZSAic3ltZmNuLmgiCi0gI2luY2x1ZGUgIm1hcGxlLmgiCi1kaWZmIC0tZ2l0IGEvc3Jj L21hcGxlLmMgYi9zcmMvbWFwbGUuYwotaW5kZXggZmRjMDc2OC4uYTVmNGQxNCAxMDA2NDQKLS0t LSBhL3NyYy9tYXBsZS5jCi0rKysgYi9zcmMvbWFwbGUuYwotQEAgLTQsOCArNCw4IEBACi0gICov Ci0gCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0tI2luY2x1ZGUgPHZlY3Rvci5oPgotLSNpbmNsdWRl IDxoYXNodGFiLmg+Ci0rI2luY2x1ZGUgInZlY3Rvci5oIgotKyNpbmNsdWRlICJoYXNodGFiLmgi Ci0gI2luY2x1ZGUgIm1hcGxlLmgiCi0gCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NjaHVibGliLmgg Yi9zcmMvc2NodWJsaWIuaAotaW5kZXggYThlODUxMS4uODY0ODUwYyAxMDA2NDQKLS0tLSBhL3Ny Yy9zY2h1YmxpYi5oCi0rKysgYi9zcmMvc2NodWJsaWIuaAotQEAgLTEsNyArMSw3IEBACi0gI2lm bmRlZiBfU0NIVUJMSUJfSAotICNkZWZpbmUgX1NDSFVCTElCX0gKLSAKLS0jaW5jbHVkZSA8aGFz aHRhYi5oPgotKyNpbmNsdWRlICJoYXNodGFiLmgiCi0gCi0gaGFzaHRhYiAqdHJhbnModmVjdG9y ICp3LCBpbnQgdmFycywgaGFzaHRhYiAqcmVzKTsKLSBoYXNodGFiICptb25rKGludCBpLCBoYXNo dGFiICpzbGMsIGludCByYW5rKTsKLWRpZmYgLS1naXQgYS9zcmMvc3ltZmNuLmMgYi9zcmMvc3lt ZmNuLmMKLWluZGV4IDRmZmJlNGIuLmZkNWRmNWQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3ltZmNuLmMK LSsrKyBiL3NyYy9zeW1mY24uYwotQEAgLTUsOSArNSw5IEBACi0gCi0gI2luY2x1ZGUgPHN0ZGlv Lmg+Ci0gCi0tI2luY2x1ZGUgPGFsbG9jLmg+Ci0tI2luY2x1ZGUgPHZlY3Rvci5oPgotLSNpbmNs dWRlIDxoYXNodGFiLmg+Ci0rI2luY2x1ZGUgImFsbG9jLmgiCi0rI2luY2x1ZGUgInZlY3Rvci5o IgotKyNpbmNsdWRlICJoYXNodGFiLmgiCi0gCi0gI2luY2x1ZGUgInN5bWZjbi5oIgotIAotZGlm ZiAtLWdpdCBhL3NyYy9zeW1mY24uaCBiL3NyYy9zeW1mY24uaAotaW5kZXggYjg1NDNiMS4uMjli YjAwZCAxMDA2NDQKLS0tLSBhL3NyYy9zeW1mY24uaAotKysrIGIvc3JjL3N5bWZjbi5oCi1AQCAt MSw4ICsxLDggQEAKLSAjaWZuZGVmIF9TWU1GQ05fSAotICNkZWZpbmUgX1NZTUZDTl9ICi0gCi0t I2luY2x1ZGUgPGhhc2h0YWIuaD4KLS0jaW5jbHVkZSA8dmVjdG9yLmg+Ci0rI2luY2x1ZGUgImhh c2h0YWIuaCIKLSsjaW5jbHVkZSAidmVjdG9yLmgiCi0gCi0gaW50IHBhcnRfaXRyX3N6KHZlY3Rv ciAqcGFydCk7Ci0gaW50IHBhcnRfaXRyX3N1Yih2ZWN0b3IgKnBhcnQsIHZlY3RvciAqb3V0ZXIp OwotLS0gCi0yLjEuMS4xLmcxZmIzMzdmCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbHJjYWxjL3Rl bXBsYXRlIGIvc3JjcGtncy9scmNhbGMvdGVtcGxhdGUKaW5kZXggOGIzM2MzY2JhNmM4Li5hZmE4 ODliNmQ2YWQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbHJjYWxjL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvbHJjYWxjL3RlbXBsYXRlCkBAIC0xLDE0ICsxLDE0IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdscmNhbGMnCiBwa2duYW1lPWxyY2FsYwotdmVyc2lvbj0xLjIKLXJldmlzaW9uPTIKK3ZlcnNp b249Mi4xCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBzaG9ydF9kZXNj PSJMaXR0bGV3b29kLVJpY2hhcmRzb24gQ2FsY3VsYXRvciIKIG1haW50YWluZXI9IkdvbnphbG8g VG9ybmFyw61hIDx0b3JuYXJpYUBjbWF0LmVkdS51eT4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxh dGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vc2l0ZXMubWF0aC5ydXRnZXJzLmVkdS9+YXNidWNoL2xy Y2FsYy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vc2l0ZXMubWF0aC5ydXRnZXJzLmVkdS9+YXNidWNo L2xyY2FsYy9scmNhbGMtJHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09NzkyZGQ1MzhhMGQxOTY5 OGJlMmM1YjhjMTM4NzMwYmJiNDgyMGU4YTQ0ZTAzYjAwMWFlMTRiZDVmMWQ3MDQwYgorY2hlY2tz dW09OTk2YWMwMGU2ZWE4MzIxZWYwOWIzNDQ3OGY1Mzc5ZjYxMzkzM2MzMjU0YWViYTYyNGI2NDE5 YjhhZmE1ZGY1NwogCiBscmNhbGMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gJHttYWtlZGVwZW5kc30iCgpGcm9tIDM1ZGFk ZmY4ODZjODk3Y2JiY2FjNDhiZjNkYzlhNGMwOTNhOTVjMjUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBj bWF0LmVkdS51eT4KRGF0ZTogTW9uLCAyOCBGZWIgMjAyMiAxNDowNjoyMSAtMDMwMApTdWJqZWN0 OiBbUEFUQ0ggMi81XSBOZXcgcGFja2FnZTogcHl0aG9uMy1scmNhbGMtMi4xCgotLS0KIHNyY3Br Z3MvcHl0aG9uMy1scmNhbGMvdGVtcGxhdGUgfCAxNCArKysrKysrKysrKysrKwogMSBmaWxlIGNo YW5nZWQsIDE0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B5dGhv bjMtbHJjYWxjL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLWxyY2FsYy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1scmNhbGMvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45ZjMzNWRhYzM1ZGQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3B5dGhvbjMtbHJjYWxjL3RlbXBsYXRlCkBAIC0wLDAgKzEsMTQgQEAKKyMgVGVt cGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtbHJjYWxjJworcGtnbmFtZT1weXRob24zLWxyY2FsYwor dmVyc2lvbj0yLjEKK3JldmlzaW9uPTEKK3dya3NyYz1scmNhbGMtJHt2ZXJzaW9ufQorYnVpbGRf c3R5bGU9cHl0aG9uMy1tb2R1bGUKK2hvc3RtYWtlZGVwZW5kcz0icHl0aG9uMy1zZXR1cHRvb2xz IHB5dGhvbjMtQ3l0aG9uIgorbWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2ZWwgbHJjYWxjLWRldmVs Igorc2hvcnRfZGVzYz0iUHl0aG9uIGJpbmRpbmdzIGZvciB0aGUgTGl0dGxld29vZC1SaWNoYXJk c29uIENhbGN1bGF0b3IgbGlicmFyeSIKK21haW50YWluZXI9IkdvbnphbG8gVG9ybmFyw61hIDx0 b3JuYXJpYUBjbWF0LmVkdS51eT4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBh Z2U9Imh0dHBzOi8vbWF0aC5ydXRnZXJzLmVkdS9+YXNidWNoL2xyY2FsYyIKK2Rpc3RmaWxlcz0i JHtQWVBJX1NJVEV9L2wvbHJjYWxjL2xyY2FsYy0ke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3Vt PWUzYTA1MDlhZWRhNDg3YjQxMmIzOTFhNTJlODE3Y2EzNmI1YzA2M2E4MzA1ZTA5ZmQ1NGQ1MzI1 OWRkNmFhYTkKCkZyb20gMjJmZTJkMTdkNGUzNzA5Mjc5NWYxZTU2MWIyMDFlY2Y4MGIxZjQ3NSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9 QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgpEYXRlOiBTYXQsIDIyIEphbiAyMDIyIDE2 OjM1OjM0IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAzLzVdIGxjYWxjOiBpZ25vcmUgYSB2ZXJzaW9u IGlycmVsZXZhbnQgZm9yIHVzCgotLS0KIHNyY3BrZ3MvbGNhbGMvdXBkYXRlIHwgMiArKwogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv bGNhbGMvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sY2FsYy91cGRhdGUgYi9zcmNwa2dz L2xjYWxjL3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRj ZmUyNjFjMDNiOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGNhbGMvdXBkYXRlCkBAIC0w LDAgKzEsMiBAQAorIyB0aGlzIHZlcnNpb24gb25seSBhZGRzIGEgZml4IGZvciBjeWd3aW4KK2ln bm9yZT0yLjAuNQoKRnJvbSAyZTcxYTcwYmYzOWI0Y2E5YTVhNzk0MWEyZjEzMTJjZjgyYWRlNjUz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5h cj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IFNhdCwgMjIgSmFuIDIwMjIg MTY6MzU6MjAgLTAzMDAKU3ViamVjdDogW1BBVENIIDQvNV0gcHl0aG9uMy1nbXB5MjogaWdub3Jl IGEgdmVyc2lvbiBpcnJlbGV2YW50IGZvciB1cwoKLS0tCiBzcmNwa2dzL3B5dGhvbjMtZ21weTIv dXBkYXRlIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcHl0aG9uMy1nbXB5Mi91cGRhdGUgYi9zcmNwa2dzL3B5dGhvbjMtZ21weTIv dXBkYXRlCmluZGV4IGI1NzAzNjE4ZDI4MC4uMGQ5YTdmN2QyMDE4IDEwMDY0NAotLS0gYS9zcmNw a2dzL3B5dGhvbjMtZ21weTIvdXBkYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1nbXB5Mi91cGRh dGUKQEAgLTEgKzEsMyBAQAogaWdub3JlPSIqYVsxLTldICpiWzEtOV0gKnJjWzEtOV0iCisjIHRo aXMgdmVyc2lvbiBvbmx5IGFkZHMgYmluYXJ5IHdoZWVscyBmb3IgYXBwbGUgc2lsaWNvbgoraWdu b3JlPSIkaWdub3JlIDIuMS4yIgoKRnJvbSAyN2RkMTZhMGE0MzU0OGY0YWU1ZjVmYTJhYTc4MDQw MjZkNDM3MzYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFs bz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IE1vbiwgMjgg RmViIDIwMjIgMTQ6MDY6MjggLTAzMDAKU3ViamVjdDogW1BBVENIIDUvNV0gc2FnZW1hdGg6IHJl YnVpbGQgZm9yIHBhY2thZ2UgdXBkYXRlcwoKIC0gY29tcGF0aWJpbGl0eSB3aXRoIGxyY2FsYyAy LjEgKHRyYWMgIzMxMzU1KQogLSBmaXggZG9jdGVzdHMgZm9yIGlweXRob24tOC4xICh0cmFjICMz MzE3MCkKIC0gZml4IGRvY3Rlc3RzIGZvciBzY2lweS0xLjggKHRyYWMgIzMzMzM2KQogLSBmaXgg ZG9jdGVzdHMgZm9yIHN5bXB5LTEuMTAgKHRyYWMgIzMzMzk4KQogLSBmaXggZG9jdGVzdHMgd2hl biBzcGhpbnggaXMgaW5zdGFsbGVkICh0cmFjICMzMzU4NSkKLS0tCiAuLi4vdHJhYy0zMTM1NS11 cGdyYWRlX2xyY2FsY190b18yLjEucGF0Y2ggICAgfCA2NzAgKysrKysrKysrKysrKysrKysrCiAu Li4vdHJhYy0zMzE3MC1maXhfZG9jdGVzdF9pcHl0aG9uXzgucGF0Y2ggICAgfCAgNDAgKysKIC4u Li90cmFjLTMzMTcwYi1maXhfZG9jdGVzdF9pcHl0aG9uXzguMS5wYXRjaCB8ICAxMyArCiAuLi4v dHJhYy0zMzMzNi1maXhfZG9jdGVzdF9zY2lweV8xLjgucGF0Y2ggICAgfCAgMTkgKwogLi4uZDlk ZWFlYWE2MzgwYWIyZjBkNTAyNzZkOTExMjMzYzAwYTA0LnBhdGNoIHwgIDk5ICsrKwogLi4uZmYz NDc0NTRhYzdmMDdlNTkxODQ3MGIyMGU5N2I4ZjIzNTdlLnBhdGNoIHwgIDI5ICsKIC4uLjBhMGIx NGY2N2Y0ODA0ZTcxMTNjM2RiNDFiYmNmOGE1ODI5Ni5wYXRjaCB8ICAyNiArCiBzcmNwa2dzL3Nh Z2VtYXRoL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0KIDggZmlsZXMgY2hh bmdlZCwgODk5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzEzNTUtdXBncmFkZV9scmNhbGNfdG9f Mi4xLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3Ry YWMtMzMxNzAtZml4X2RvY3Rlc3RfaXB5dGhvbl84LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzMxNzBiLWZpeF9kb2N0ZXN0X2lweXRob25f OC4xLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3Ry YWMtMzMzMzYtZml4X2RvY3Rlc3Rfc2NpcHlfMS44LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzMzOTgtZml4X2RvY3Rlc3Rfc3ltcHlfMS4x MC02MDlkZDlkZWFlYWE2MzgwYWIyZjBkNTAyNzZkOTExMjMzYzAwYTA0LnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzMzOTgtZml4X2RvY3Rl c3Rfc3ltcHlfMS4xMC1jNDllZmYzNDc0NTRhYzdmMDdlNTkxODQ3MGIyMGU5N2I4ZjIzNTdlLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM1 ODUtZml4X2RvY3Rlc3Rfc3BoaW54X2luc3RhbGxlZC1hMDRhMGEwYjE0ZjY3ZjQ4MDRlNzExM2Mz ZGI0MWJiY2Y4YTU4Mjk2LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRj aGVzL3RyYWMtMzEzNTUtdXBncmFkZV9scmNhbGNfdG9fMi4xLnBhdGNoIGIvc3JjcGtncy9zYWdl bWF0aC9wYXRjaGVzL3RyYWMtMzEzNTUtdXBncmFkZV9scmNhbGNfdG9fMi4xLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGJkNmY0ZjRlMmRjCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzEzNTUtdXBncmFkZV9s cmNhbGNfdG9fMi4xLnBhdGNoCkBAIC0wLDAgKzEsNjcwIEBACitBcyBwcm9kdWNlZCBieSBgZ2l0 IGRpZmYgOS41IDkuNi5iZXRhMyAtLSBzcmMvc2FnZS9saWJzL2xyY2FsY2AKKworZGlmZiAtLWdp dCBhL3NyYy9zYWdlL2xpYnMvbHJjYWxjL2xyY2FsYy5weGQgYi9zcmMvc2FnZS9saWJzL2xyY2Fs Yy9scmNhbGMucHhkCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDEwYjg4ZGI5M2Yy Li4wMDAwMDAwMDAwMAorLS0tIGEvc3JjL3NhZ2UvbGlicy9scmNhbGMvbHJjYWxjLnB4ZAorKysr IC9kZXYvbnVsbAorQEAgLTEsNzcgKzAsMCBAQAorLSMgZGlzdHV0aWxzOiBsaWJyYXJpZXMgPSBs cmNhbGMKKy0KKy1jZGVmIGV4dGVybiBmcm9tICJscmNhbGMvaGFzaHRhYi5oIjoKKy0gICAgY3R5 cGVkZWYgc3RydWN0IGhhc2h0YWI6CistICAgICAgICBwYXNzCistCistICAgIGN0eXBlZGVmIHN0 cnVjdCBoYXNoX2l0cjoKKy0gICAgICAgIHBhc3MKKy0KKy0gICAgY3R5cGVkZWYgdW5zaWduZWQg bG9uZyBoYXNoa2V5X3QKKy0gICAgY3R5cGVkZWYgaW50ICgqY21wX3QpICh2b2lkKiBhLCB2b2lk KiBiKQorLSAgICBjdHlwZWRlZiBoYXNoa2V5X3QgKCpoYXNoX3QpICh2b2lkKiBhKQorLQorLSAg ICBoYXNodGFiKiBoYXNoX25ldyhjbXBfdCBjbSwgaGFzaF90IGhzaCkKKy0gICAgdm9pZCBoYXNo X2ZyZWUoaGFzaHRhYiAqaHQpCistCistICAgIHZvaWQqIGhhc2hfbG9va3VwKGhhc2h0YWIgKmh0 LCB2b2lkICprZXkpCistICAgIHZvaWQqIGhhc2hfaW5zZXJ0KGhhc2h0YWIgKmh0LCB2b2lkICpr ZXksIHZvaWQgKnZhbHVlKQorLQorLSAgICBiaW50IGhhc2hfZ29vZChoYXNoX2l0cikKKy0gICAg dm9pZCBoYXNoX2ZpcnN0KGhhc2h0YWIqIHMsIGhhc2hfaXRyIGl0cikKKy0gICAgdm9pZCBoYXNo X25leHQoaGFzaF9pdHIgaXRyKQorLSAgICB2b2lkKiBoYXNoX2tleShoYXNoX2l0ciBpdHIpCist ICAgIHZvaWQqIGhhc2hfdmFsdWUoaGFzaF9pdHIgaXRyKQorLSAgICBpbnQgaGFzaF9pbnR2YWx1 ZShoYXNoX2l0ciBpdHIpCistCistY2RlZiBleHRlcm4gZnJvbSAibHJjYWxjL3ZlY3Rvci5oIjoK Ky0gICAgY3R5cGVkZWYgc3RydWN0IHZlY3RvcjoKKy0gICAgICAgIHNpemVfdCBsZW5ndGgKKy0g ICAgICAgIGludCogYXJyYXkKKy0KKy0gICAgdmVjdG9yKiB2X25ldyhpbnQgbGVuZ3RoKQorLSAg ICB2b2lkIHZfZnJlZSh2ZWN0b3IqIHYpCistICAgIHZvaWQgdl9wcmludCh2ZWN0b3IgKnYpCist ICAgIGludCB2X2xlbmd0aCh2ZWN0b3IqIHYpCistICAgIGludCB2X2VsZW0odmVjdG9yKiB2LCBp bnQgaSkKKy0KKy0gICAgY3R5cGVkZWYgc3RydWN0IHZlY3BhaXI6CistICAgICAgICB2ZWN0b3Ig KmZpcnN0CistICAgICAgICB2ZWN0b3IgKnNlY29uZAorLQorLSAgICB2ZWN0b3IqIHZwX2ZpcnN0 KHZlY3BhaXIqIHZwKQorLSAgICB2ZWN0b3IqIHZwX3NlY29uZCh2ZWNwYWlyKiB2cCkKKy0KKy1j ZGVmIGV4dGVybiBmcm9tICJscmNhbGMvbGlzdC5oIjoKKy0gICAgY2RlZiBzdHJ1Y3QgX2xpc3Q6 CistICAgICAgICB2b2lkICoqYXJyYXkKKy0gICAgICAgIHNpemVfdCBhbGxvY2F0ZWQKKy0gICAg ICAgIHNpemVfdCBsZW5ndGgKKy0gICAgdm9pZCBsX2ZyZWUoX2xpc3QgKmxzdCkKKy0KKy1jZGVm IGV4dGVybiBmcm9tICJscmNhbGMvc3ltZmNuLmgiOgorLSAgICBsb25nIGxvbmcgbHJjb2VmX2Mg ImxyY29lZiIodmVjdG9yKiBvdXRlciwgdmVjdG9yKiBpbm5lcjEsIHZlY3RvciogaW5uZXIyKQor LSAgICBoYXNodGFiKiBtdWx0X2MgIm11bHQiKHZlY3RvciAqc2gxLCB2ZWN0b3IgKnNoMiwgaW50 IG1heHJvd3MpCistICAgIGhhc2h0YWIqIHNrZXdfYyAic2tldyIodmVjdG9yICpvdXRlciwgdmVj dG9yICppbm5lciwgaW50IG1heHJvd3MpCistICAgIGhhc2h0YWIqIGNvcHJvZF9jICJjb3Byb2Qi KHZlY3RvciAqcGFydCwgaW50IGFsbCkKKy0gICAgdm9pZCBmdXNpb25fcmVkdWNlX2MgImZ1c2lv bl9yZWR1Y2UiKGhhc2h0YWIqIGh0LCBpbnQgcm93cywgaW50IGNvbHMsIGludCBvcHRfemVybykK Ky0gICAgX2xpc3QgKnF1YW50dW1fcmVkdWNlX2MgInF1YW50dW1fcmVkdWNlIihoYXNodGFiKiBo dCwgaW50IHJvd3MsIGludCBjb2wpCistCistICAgIGN0eXBlZGVmIHN0cnVjdCBza2V3dGFiOgor LSAgICAgICAgdmVjdG9yICpvdXRlcgorLSAgICAgICAgdmVjdG9yICppbm5lcgorLSAgICAgICAg dmVjdG9yICpjb250cworLSAgICAgICAgaW50IG1heHJvd3MKKy0gICAgICAgIHZlY3RvciAqY29u anVnYXRlCistICAgICAgICBpbnQgcm93cworLSAgICAgICAgaW50IGNvbHMKKy0gICAgICAgIGlu dCBtYXRyaXhbMV0KKy0KKy0gICAgc2tld3RhYiAqc3RfbmV3KHZlY3RvciAqb3V0ZXIsIHZlY3Rv ciAqaW5uZXIsIHZlY3RvciAqY29udHMsIGludCBtYXhyb3dzKQorLSAgICBpbnQgc3RfbmV4dChz a2V3dGFiICpzdCkKKy0gICAgdm9pZCBzdF9wcmludChza2V3dGFiICpzdCkKKy0gICAgdm9pZCBz dF9mcmVlKHNrZXd0YWIgKnN0KQorLQorLQorLWNkZWYgZXh0ZXJuIGZyb20gImxyY2FsYy9zY2h1 YmxpYi5oIjoKKy0gICAgaGFzaHRhYiogbXVsdF9zY2h1YmVydF9jICJtdWx0X3NjaHViZXJ0Iih2 ZWN0b3IgKnNoMSwgdmVjdG9yICpzaDIsIGludCByYW5rKQorZGlmZiAtLWdpdCBhL3NyYy9zYWdl L2xpYnMvbHJjYWxjL2xyY2FsYy5weXggYi9zcmMvc2FnZS9saWJzL2xyY2FsYy9scmNhbGMucHkK K3NpbWlsYXJpdHkgaW5kZXggNjAlCityZW5hbWUgZnJvbSBzcmMvc2FnZS9saWJzL2xyY2FsYy9s cmNhbGMucHl4CityZW5hbWUgdG8gc3JjL3NhZ2UvbGlicy9scmNhbGMvbHJjYWxjLnB5CitpbmRl eCBiNTkxMDgxZWM0Yy4uYjU0MWJmYWNkODkgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9saWJzL2xy Y2FsYy9scmNhbGMucHl4CisrKysgYi9zcmMvc2FnZS9saWJzL2xyY2FsYy9scmNhbGMucHkKK0BA IC0xMCw3ICsxMCw4IEBAIGZ1c2lvbiBwcm9kdWN0cy4gQWxsIG9mIHRoZSBhYm92ZSBhcmUgYWNo aWV2ZWQgYnkgY291bnRpbmcgTFIKKyBhcHByb3ByaWF0ZSBzaGFwZSBhbmQgY29udGVudCBieSBp dGVyYXRpbmcgdGhyb3VnaCB0aGVtLgorIEFkZGl0aW9uYWxseSwgYGBscmNhbGNgYCBoYW5kbGVz IHByb2R1Y3RzIG9mIFNjaHViZXJ0IHBvbHlub21pYWxzLgorIAorLVRoZSB3ZWIgcGFnZSBvZiBg YGxyY2FsY2BgIGlzIGA8aHR0cDovL3NpdGVzLm1hdGgucnV0Z2Vycy5lZHUvfmFzYnVjaC9scmNh bGMvPmBfLgorK1RoZSB3ZWIgcGFnZSBvZiBgYGxyY2FsY2BgIGlzCisrYDxodHRwOi8vc2l0ZXMu bWF0aC5ydXRnZXJzLmVkdS9+YXNidWNoL2xyY2FsYy8+YF8uCisgCisgVGhlIGZvbGxvd2luZyBk ZXNjcmliZXMgdGhlIFNhZ2UgaW50ZXJmYWNlIHRvIHRoaXMgbGlicmFyeS4KKyAKK0BAIC0zNiwx MiArMzcsMTMgQEAgU2NodXIgZXhwYW5zaW9uOjoKKyAgICAgIFs0LCAyXTogMX0KKyAKKyBTYW1l IHByb2R1Y3QsIGJ1dCBpbmNsdWRlIG9ubHkgcGFydGl0aW9ucyB3aXRoIGF0IG1vc3QgMyByb3dz LiAgVGhpcworLWNvcnJlc3BvbmRzIHRvIGNvbXB1dGluZyBpbiB0aGUgcmVwcmVzZW50YXRpb24g cmluZyBvZiBnbCgzKTo6CisrY29ycmVzcG9uZHMgdG8gY29tcHV0aW5nIGluIHRoZSByZXByZXNl bnRhdGlvbiByaW5nIG9mIGBcbWF0aGZyYWt7Z2x9KDMpYDo6CisgCisgICAgIHNhZ2U6IGxyY2Fs Yy5tdWx0KFsyLDFdLCBbMiwxXSwgMykKKyAgICAge1syLCAyLCAyXTogMSwgWzMsIDIsIDFdOiAy LCBbMywgM106IDEsIFs0LCAxLCAxXTogMSwgWzQsIDJdOiAxfQorIAorLVdlIGNhbiBhbHNvIGNv bXB1dGUgdGhlIGZ1c2lvbiBwcm9kdWN0LCBoZXJlIGZvciBzbCgzKSBhbmQgbGV2ZWwgMjo6Cisr V2UgY2FuIGFsc28gY29tcHV0ZSB0aGUgZnVzaW9uIHByb2R1Y3QsIGhlcmUgZm9yIGBcbWF0aGZy YWt7c2x9KDMpYAorK2FuZCBsZXZlbCAyOjoKKyAKKyAgICAgc2FnZTogbHJjYWxjLm11bHQoWzMs MiwxXSwgWzMsMiwxXSwgMywyKQorICAgICB7WzQsIDQsIDRdOiAxLCBbNSwgNCwgM106IDF9CitA QCAtNzcsNDIgKzc5LDM4IEBAIE11bHRpcGx5IHR3byBTY2h1YmVydCBwb2x5bm9taWFsczo6Cisg ICAgICBbNiwgMiwgMSwgNCwgMywgNV06IDF9CisgCisgU2FtZSBwcm9kdWN0LCBidXQgaW5jbHVk ZSBvbmx5IHBlcm11dGF0aW9ucyBvZiA1IGVsZW1lbnRzIGluIHRoZSByZXN1bHQuCistVGhpcyBj b3JyZXNwb25kcyB0byBjb21wdXRpbmcgaW4gdGhlIGNvaG9tb2xvZ3kgcmluZyBvZiBGbCg1KTo6 CisrVGhpcyBjb3JyZXNwb25kcyB0byBjb21wdXRpbmcgaW4gdGhlIGNvaG9tb2xvZ3kgcmluZyBv ZiBgRmwoNSlgOjoKKyAKKyAgICAgc2FnZTogbHJjYWxjLm11bHRfc2NodWJlcnQoWzQsMiwxLDNd LCBbMSw0LDIsNSwzXSwgNSkKKyAgICAge1s0LCA1LCAxLCAzLCAyXTogMSwgWzUsIDMsIDEsIDQs IDJdOiAxLCBbNSwgNCwgMSwgMiwgM106IDF9CisgCisgTGlzdCBhbGwgTGl0dGxld29vZC1SaWNo YXJkc29uIHRhYmxlYXV4IG9mIHNrZXcgc2hhcGUgYFxtdS9cbnVgOyBpbgorIHRoaXMgZXhhbXBs ZSBgXG11PVszLDIsMV1gIGFuZCBgXG51PVsyLDFdYC4gU3BlY2lmeWluZyBhIHRoaXJkIGVudHJ5 CistYG1heHJvd3NgIHJlc3RyaWN0cyB0aGUgYWxwaGFiZXQgdG8gYFx7MSwyLFxsZG90cyxtYXhy b3dzXH1gOjoKKytgTScgPSBgYG1heHJvd3NgYCByZXN0cmljdHMgdGhlIGFscGhhYmV0IHRvIGBc ezEsMixcbGRvdHMsTVx9YDo6CisgCisgICAgIHNhZ2U6IGxpc3QobHJjYWxjLmxyc2tldyhbMywy LDFdLFsyLDFdKSkKKyAgICAgW1tbTm9uZSwgTm9uZSwgMV0sIFtOb25lLCAxXSwgWzFdXSwgW1tO b25lLCBOb25lLCAxXSwgW05vbmUsIDFdLCBbMl1dLAorICAgICBbW05vbmUsIE5vbmUsIDFdLCBb Tm9uZSwgMl0sIFsxXV0sIFtbTm9uZSwgTm9uZSwgMV0sIFtOb25lLCAyXSwgWzNdXV0KKyAKKyAg ICAgc2FnZTogbGlzdChscmNhbGMubHJza2V3KFszLDIsMV0sWzIsMV0sbWF4cm93cz0yKSkKKy0g ICAgW1tbTm9uZSwgTm9uZSwgMV0sIFtOb25lLCAxXSwgWzFdXSwgW1tOb25lLCBOb25lLCAxXSwg W05vbmUsIDFdLCBbMl1dLCBbW05vbmUsIE5vbmUsIDFdLCBbTm9uZSwgMl0sIFsxXV1dCisrICAg IFtbW05vbmUsIE5vbmUsIDFdLCBbTm9uZSwgMV0sIFsxXV0sIFtbTm9uZSwgTm9uZSwgMV0sIFtO b25lLCAxXSwgWzJdXSwKKysgICAgIFtbTm9uZSwgTm9uZSwgMV0sIFtOb25lLCAyXSwgWzFdXV0K KyAKKyAuLiBUT0RPOjoKKyAKKy0gICAgdXNlIHRoaXMgbGlicmFyeSBpbiB0aGUgOmNsYXNzOmBT eW1tZXRyaWNGdW5jdGlvbnNgIGNvZGUsIHRvCisrICAgIFVzZSB0aGlzIGxpYnJhcnkgaW4gdGhl IDpjbGFzczpgU3ltbWV0cmljRnVuY3Rpb25zYCBjb2RlLCB0bworICAgICBtYWtlIGl0IGVhc3kg dG8gYXBwbHkgaXQgdG8gbGluZWFyIGNvbWJpbmF0aW9ucyBvZiBTY2h1ciBmdW5jdGlvbnMuCisg CisgLi4gU0VFQUxTTzo6CisgCisgICAgIC0gOmZ1bmM6YGxyY29lZmAKKy0KKyAgICAgLSA6ZnVu YzpgbXVsdGAKKy0KKyAgICAgLSA6ZnVuYzpgY29wcm9kYAorLQorICAgICAtIDpmdW5jOmBza2V3 YAorLQorICAgICAtIDpmdW5jOmBscnNrZXdgCistCisgICAgIC0gOmZ1bmM6YG11bHRfc2NodWJl cnRgCisgCistLi4gcnVicmljOjogVW5kZXJseWluZyBhbGdvcml0aG1pYyBpbiBscmNhbGMKKysu LiBSVUJSSUM6OiBVbmRlcmx5aW5nIGFsZ29yaXRobWljIGluIGxyY2FsYworIAorIEhlcmUgaXMg c29tZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgbWFpbiBsb3ctbGV2ZWwK KyBDLWZ1bmN0aW9ucyBpbiBgbHJjYWxjYC4gR2l2ZW4gdHdvIHBhcnRpdGlvbnMgYGBvdXRlcmBg IGFuZCBgYGlubmVyYGAKK0BAIC0xODcsMTgwICsxODUsMjQgQEAgQVVUSE9SUzoKKyAjICAgICAg ICAgICAgICAgICAgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8KKyAjICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKKyAKKy1mcm9tIHNhZ2UucmluZ3MuaW50ZWdlciBjaW1wb3J0IEludGVnZXIKKy1m cm9tIHNhZ2Uuc3RydWN0dXJlLnBhcmVudCBjaW1wb3J0IFBhcmVudAorIGZyb20gc2FnZS5jb21i aW5hdC5wYXJ0aXRpb24gaW1wb3J0IF9QYXJ0aXRpb25zCisgZnJvbSBzYWdlLmNvbWJpbmF0LnBl cm11dGF0aW9uIGltcG9ydCBQZXJtdXRhdGlvbgorLWZyb20gc2FnZS5jb21iaW5hdC5za2V3X3Rh YmxlYXUgaW1wb3J0IFNrZXdUYWJsZWF1CistCistCistY2RlZiB2ZWN0b3IqIGl0ZXJhYmxlX3Rv X3ZlY3RvcihpdCk6CistICAgICIiIgorLSAgICBSZXR1cm4gYW4gbHJjYWxjIHZlY3RvciAod2hp Y2ggaXMgYSBsaXN0IG9mIGludGVnZXJzKSBmcm9tIGEgUHl0aG9uIGl0ZXJhYmxlLgorLQorLSAg ICBURVNUUzo6CistCistICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubGlicy5scmNhbGMubHJjYWxj IGltcG9ydCB0ZXN0X2l0ZXJhYmxlX3RvX3ZlY3RvcgorLSAgICAgICAgc2FnZTogeCA9IHRlc3Rf aXRlcmFibGVfdG9fdmVjdG9yKFBhcnRpdGlvbihbMywyLDFdKSk7IHggICAjaW5kaXJlY3QgZG9j dGVzdAorLSAgICAgICAgWzMsIDIsIDFdCistICAgICIiIgorLSAgICBjZGVmIHZlY3Rvciogdgor LSAgICBjZGVmIGxpc3QgaXRyID0gbGlzdChpdCkKKy0gICAgY2RlZiBpbnQgbiA9IGxlbihpdHIp CistICAgIGNkZWYgaW50IGkKKy0gICAgdiA9IHZfbmV3KG4pCistICAgIGZvciBpIGluIHJhbmdl KG4pOgorLSAgICAgICAgdi5hcnJheVtpXSA9IGludChpdHJbaV0pCistICAgIHJldHVybiB2Cist CistCistY2RlZiBsaXN0IHZlY3Rvcl90b19saXN0KHZlY3RvciAqdik6CistICAgICIiIgorLSAg ICBDb252ZXJ0cyBhIGxyY2FsYyB2ZWN0b3IgdG8gUHl0aG9uIGxpc3QuCistCistICAgIFRFU1RT OjoKKy0KKy0gICAgICAgIHNhZ2U6IGZyb20gc2FnZS5saWJzLmxyY2FsYy5scmNhbGMgaW1wb3J0 IHRlc3RfaXRlcmFibGVfdG9fdmVjdG9yCistICAgICAgICBzYWdlOiB4ID0gdGVzdF9pdGVyYWJs ZV90b192ZWN0b3IoW10pOyB4ICAgICAgICAgI2luZGlyZWN0IGRvY3Rlc3QKKy0gICAgICAgIFtd CistICAgICIiIgorLSAgICBjZGVmIGludCBpLCBuCistICAgIG4gPSB2X2xlbmd0aCh2KQorLSAg ICBjZGVmIGxpc3QgcmVzdWx0ID0gW05vbmVdKm4KKy0gICAgZm9yIGkgaW4gcmFuZ2Uobik6Cist ICAgICAgICByZXN1bHRbaV0gPSBJbnRlZ2VyKHZfZWxlbSh2LCBpKSkKKy0gICAgcmV0dXJuIHJl c3VsdAorLQorLQorLWRlZiB0ZXN0X2l0ZXJhYmxlX3RvX3ZlY3RvcihpdCk6CistICAgICIiIgor LSAgICBBIHdyYXBwZXIgZnVuY3Rpb24gZm9yIHRoZSBjZGVmIGZ1bmN0aW9uIGBgaXRlcmFibGVf dG9fdmVjdG9yYGAKKy0gICAgYW5kIGBgdmVjdG9yX3RvX2xpc3RgYCwgdG8gdGVzdCB0aGF0IHRo ZXkgYXJlIHdvcmtpbmcgY29ycmVjdGx5LgorK2Zyb20gc2FnZS5jb21iaW5hdC5za2V3X3RhYmxl YXUgaW1wb3J0IFNlbWlzdGFuZGFyZFNrZXdUYWJsZWF1eAorK2Zyb20gc2FnZS5jb21iaW5hdC5z a2V3X3BhcnRpdGlvbiBpbXBvcnQgU2tld1BhcnRpdGlvbgorK2Zyb20gc2FnZS5yaW5ncy5pbnRl Z2VyIGltcG9ydCBJbnRlZ2VyCisraW1wb3J0IGxyY2FsYworIAorLSAgICBFWEFNUExFUzo6Cist CistICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubGlicy5scmNhbGMubHJjYWxjIGltcG9ydCB0ZXN0 X2l0ZXJhYmxlX3RvX3ZlY3RvcgorLSAgICAgICAgc2FnZTogeCA9IHRlc3RfaXRlcmFibGVfdG9f dmVjdG9yKFszLDIsMV0pOyB4CistICAgICAgICBbMywgMiwgMV0KKy0gICAgIiIiCistICAgIGNk ZWYgdmVjdG9yICp2ID0gaXRlcmFibGVfdG9fdmVjdG9yKGl0KQorLSAgICByZXN1bHQgPSB2ZWN0 b3JfdG9fbGlzdCh2KQorLSAgICB2X2ZyZWUodikKKy0gICAgcmV0dXJuIHJlc3VsdAorLQorLQor LWNkZWYgc2tld3RhYl90b19Ta2V3VGFibGVhdShza2V3dGFiICpzdCk6CistICAgICIiIgorLSAg ICBBIHdyYXBwZXIgZnVuY3Rpb24gd2hpY2ggdHJhbnNmb3JtcyB0aGUgZGF0YSBzZXQgYGBzdGBg IHVzZWQgaW4KKy0gICAgYGBscmNhbGNgYCB0byBhIGBgU2tld1RhYmxlYXVgYCBpbiBTYWdlLgor K2RlZiBfbHJjYWxjX2RpY3RfdG9fc2FnZShyZXN1bHQpOgorKyAgICByIiIiCisrICAgIFRyYW5z bGF0ZSBmcm9tIGxyY2FsYyBvdXRwdXQgZm9ybWF0IHRvIFNhZ2UgZXhwZWN0ZWQgZm9ybWF0Lgor IAorICAgICBURVNUUzo6CisgCistICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubGlicy5scmNhbGMu bHJjYWxjIGltcG9ydCB0ZXN0X3NrZXd0YWJfdG9fU2tld1RhYmxlYXUKKy0gICAgICAgIHNhZ2U6 IHRlc3Rfc2tld3RhYl90b19Ta2V3VGFibGVhdShbXSxbXSkKKy0gICAgICAgIFtdCistICAgICIi IgorLSAgICBpbm5lciA9IHZlY3Rvcl90b19saXN0KHN0LmlubmVyKQorLSAgICBvdXRlciA9IHZl Y3Rvcl90b19saXN0KHN0Lm91dGVyKQorLSAgICByZXR1cm4gU2tld1RhYmxlYXUoZXhwcj1bW2lu bmVyW3ldIGZvciB5IGluIHJhbmdlKGxlbihvdXRlcikpXSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFtbc3QubWF0cml4W3ggKyB5ICogc3QuY29sc10gKyAxCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmb3IgeCBpbiByYW5nZShpbm5lclt5XSwgb3V0ZXJbeV0pXQor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB5IGluIHJhbmdlKGxlbihvdXRlcikg LSAxLCAtMSwgLTEpXV0pCistCistCistZGVmIHRlc3Rfc2tld3RhYl90b19Ta2V3VGFibGVhdShv dXRlciwgaW5uZXIpOgorLSAgICAiIiIKKy0gICAgQSB3cmFwcGVyIGZ1bmN0aW9uIGZvciB0aGUg Y2RlZiBmdW5jdGlvbiBgYHNrZXd0YWJfdG9fU2tld1RhYmxlYXVgYAorLSAgICBmb3IgdGVzdGlu ZyBwdXJwb3Nlcy4KKy0KKy0gICAgSXQgY29uc3RydWN0cyB0aGUgZmlyc3QgTFIgc2tldyB0YWJs ZWF1IG9mIHNoYXBlIGBgb3V0ZXIvaW5uZXJgYAorLSAgICBhcyBhbiBgYGxyY2FsY2BgIGBgc2tl d3RhYmBgLCBhbmQgY29udmVydHMgaXQgdG8gYQorLSAgICA6Y2xhc3M6YFNrZXdUYWJsZWF1YC4K Ky0KKy0gICAgRVhBTVBMRVM6OgorLQorLSAgICAgICAgc2FnZTogZnJvbSBzYWdlLmxpYnMubHJj YWxjLmxyY2FsYyBpbXBvcnQgdGVzdF9za2V3dGFiX3RvX1NrZXdUYWJsZWF1CistICAgICAgICBz YWdlOiB0ZXN0X3NrZXd0YWJfdG9fU2tld1RhYmxlYXUoWzMsMiwxXSxbXSkKKy0gICAgICAgIFtb MSwgMSwgMV0sIFsyLCAyXSwgWzNdXQorLSAgICAgICAgc2FnZTogdGVzdF9za2V3dGFiX3RvX1Nr ZXdUYWJsZWF1KFs0LDMsMiwxXSxbMSwxXSkucHAoKQorLSAgICAgICAgLiAgMSAgMSAgMQorLSAg ICAgICAgLiAgMiAgMgorLSAgICAgICAgMSAgMworLSAgICAgICAgMgorLSAgICAiIiIKKy0gICAg Y2RlZiB2ZWN0b3IqIG8gPSBpdGVyYWJsZV90b192ZWN0b3Iob3V0ZXIpCistICAgIGNkZWYgdmVj dG9yKiBpID0gaXRlcmFibGVfdG9fdmVjdG9yKGlubmVyK1swXSoobGVuKG91dGVyKS1sZW4oaW5u ZXIpKSkKKy0gICAgY2RlZiBza2V3dGFiKiBzdCA9IHN0X25ldyhvLCBpLCBOVUxMLCAwKQorLSAg ICByZXR1cm4gc2tld3RhYl90b19Ta2V3VGFibGVhdShzdCkKKy0KKy0KKy1jZGVmIGRpY3Qgc2Zf aGFzaHRhYl90b19kaWN0KGhhc2h0YWIgKmh0KToKKy0gICAgIiIiCistICAgIFJldHVybiBhIGRp Y3Rpb25hcnkgcmVwcmVzZW50aW5nIGEgU2NodXIgZnVuY3Rpb24uIFRoZSBrZXlzIGFyZQorLSAg ICBwYXJ0aXRpb25zIGFuZCB0aGUgdmFsdWVzIGFyZSBpbnRlZ2VycyA8Y2xhc3MgJ3NhZ2Uucmlu Z3MuaW50ZWdlci5JbnRlZ2VyJz4uCistCistICAgIEVYQU1QTEVTOjoKKy0KKyAgICAgICAgIHNh Z2U6IGZyb20gc2FnZS5saWJzLmxyY2FsYy5scmNhbGMgaW1wb3J0IG11bHQKKy0gICAgICAgIHNh Z2U6IHNvcnRlZChtdWx0KFsxXSxbMV0pLml0ZW1zKCkpICAgICAgICAjaW5kaXJlY3QgZG9jdGVz dAorLSAgICAgICAgWyhbMSwgMV0sIDEpLCAoWzJdLCAxKV0KKy0gICAgICAgIHNhZ2U6IGFzc2Vy dCBpc2luc3RhbmNlKG11bHQoWzFdLFsxXSksZGljdCkjaW5kaXJlY3QgZG9jdGVzdAorLSAgICAi IiIKKy0gICAgY2RlZiBoYXNoX2l0ciBpdHIKKy0gICAgY2RlZiBkaWN0IHJlc3VsdCA9IHt9Cist ICAgIGNkZWYgbGlzdCBwCistICAgIGhhc2hfZmlyc3QoaHQsIGl0cikKKy0gICAgd2hpbGUgaGFz aF9nb29kKGl0cik6CistICAgICAgICBwID0gdmVjdG9yX3RvX2xpc3QoPHZlY3Rvcio+IGhhc2hf a2V5KGl0cikpCistICAgICAgICByZXN1bHRbX1BhcnRpdGlvbnMocCldID0gSW50ZWdlcihoYXNo X2ludHZhbHVlKGl0cikpCistICAgICAgICBoYXNoX25leHQoaXRyKQorLSAgICByZXR1cm4gcmVz dWx0CistCistCistY2RlZiBkaWN0IHNjaHViZXJ0X2hhc2h0YWJfdG9fZGljdChoYXNodGFiICpo dCk6CistICAgICIiIgorLSAgICBSZXR1cm4gYSBkaWN0aW9uYXJ5IGNvcnJlc3BvbmRpbmcgdG8g YSBTY2h1YmVydCBwb2x5bm9taWFsIHdob3NlIGtleXMKKy0gICAgYXJlIHBlcm11dGF0aW9ucyBh bmQgd2hvc2UgdmFsdWVzIGFyZSBpbnRlZ2VycyA8Y2xhc3MgJ3NhZ2UucmluZ3MuaW50ZWdlci5J bnRlZ2VyJz4uCistCistICAgIEVYQU1QTEVTOjoKKy0KKy0gICAgICAgIHNhZ2U6IGZyb20gc2Fn ZS5saWJzLmxyY2FsYy5scmNhbGMgaW1wb3J0IG11bHRfc2NodWJlcnQKKy0gICAgICAgIHNhZ2U6 IG11bHRfc2NodWJlcnQoWzMsMiwxXSwgWzEsMiwzXSkgICAgICAjaW5kaXJlY3QgZG9jdGVzdAor LSAgICAgICAge1szLCAyLCAxXTogMX0KKy0gICAgIiIiCistICAgIGNkZWYgaGFzaF9pdHIgaXRy CistICAgIGNkZWYgZGljdCByZXN1bHQgPSB7fQorLSAgICBoYXNoX2ZpcnN0KGh0LCBpdHIpCist ICAgIHdoaWxlIGhhc2hfZ29vZChpdHIpOgorLSAgICAgICAgcCA9IHZlY3Rvcl90b19saXN0KDx2 ZWN0b3IqPiBoYXNoX2tleShpdHIpKQorLSAgICAgICAgcmVzdWx0W1Blcm11dGF0aW9uKHApXSA9 IEludGVnZXIoaGFzaF9pbnR2YWx1ZShpdHIpKQorLSAgICAgICAgaGFzaF9uZXh0KGl0cikKKy0g ICAgcmV0dXJuIHJlc3VsdAorLQorLQorLWNkZWYgZGljdCB2cF9oYXNodGFiX3RvX2RpY3QoaGFz aHRhYiAqaHQpOgorLSAgICAiIiIKKy0gICAgUmV0dXJuIGEgZGljdGlvbmFyeSBjb3JyZXNwb25k aW5nIHRvIHRoZSBjb3Byb2R1Y3Qgb2YgYSBTY2h1ciBmdW5jdGlvbiB3aG9zZSBrZXlzIGFyZQor LSAgICBwYWlycyBvZiBwYXJ0aXRpb25zIGFuZCB3aG9zZSB2YWx1ZXMgYXJlIGludGVnZXJzIDxj bGFzcyAnc2FnZS5yaW5ncy5pbnRlZ2VyLkludGVnZXInPi4KKy0KKy0gICAgRVhBTVBMRVM6Ogor LQorLSAgICAgICAgc2FnZTogZnJvbSBzYWdlLmxpYnMubHJjYWxjLmxyY2FsYyBpbXBvcnQgY29w cm9kCistICAgICAgICBzYWdlOiBjb3Byb2QoWzFdKSAgICAgICNpbmRpcmVjdCBkb2N0ZXN0Cist ICAgICAgICB7KFsxXSwgW10pOiAxfQorKyAgICAgICAgc2FnZTogbXVsdChbMiwxXSxbMywyLDFd LDMpICMgaW5kaXJlY3QgZG9jdGVzdAorKyAgICAgICAge1szLCAzLCAzXTogMSwgWzQsIDMsIDJd OiAyLCBbNCwgNCwgMV06IDEsIFs1LCAyLCAyXTogMSwgWzUsIDMsIDFdOiAxfQorICAgICAiIiIK Ky0gICAgY2RlZiBoYXNoX2l0ciBpdHIKKy0gICAgY2RlZiB2ZWNwYWlyKiB2cAorLSAgICBjZGVm IGRpY3QgcmVzdWx0ID0ge30KKy0gICAgaGFzaF9maXJzdChodCwgaXRyKQorLSAgICB3aGlsZSBo YXNoX2dvb2QoaXRyKToKKy0gICAgICAgIHZwID0gPHZlY3BhaXIqPiBoYXNoX2tleShpdHIpCist ICAgICAgICBwMSA9IF9QYXJ0aXRpb25zKHZlY3Rvcl90b19saXN0KHZwX2ZpcnN0KHZwKSkpCist ICAgICAgICBwMiA9IF9QYXJ0aXRpb25zKHZlY3Rvcl90b19saXN0KHZwX3NlY29uZCh2cCkpKQor LSAgICAgICAgcmVzdWx0WyhwMSwgcDIpXSA9IEludGVnZXIoaGFzaF9pbnR2YWx1ZShpdHIpKQor LSAgICAgICAgaGFzaF9uZXh0KGl0cikKKy0gICAgcmV0dXJuIHJlc3VsdAorLQorKyAgICByZXR1 cm4ge19QYXJ0aXRpb25zKGxhKTogSW50ZWdlcihrKSBmb3IgbGEsIGsgaW4gcmVzdWx0Lml0ZW1z KCl9CisgCisgZGVmIGxyY29lZl91bnNhZmUob3V0ZXIsIGlubmVyMSwgaW5uZXIyKToKKyAgICAg ciIiIgorQEAgLTM3MSwxMyArMjEzLDExIEBAIGRlZiBscmNvZWZfdW5zYWZlKG91dGVyLCBpbm5l cjEsIGlubmVyMik6CisgCisgICAgIElOUFVUOgorIAorLSAgICAtIGBgb3V0ZXJgYCAtLSBhIHBh cnRpdGlvbiAod2Vha2x5IGRlY3JlYXNpbmcgbGlzdCBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMp LgorLQorLSAgICAtIGBgaW5uZXIxYGAgLS0gYSBwYXJ0aXRpb24uCisrICAgIC0gYGBvdXRlcmBg IC0tIGEgcGFydGl0aW9uICh3ZWFrbHkgZGVjcmVhc2luZyBsaXN0IG9mIG5vbi1uZWdhdGl2ZSBp bnRlZ2VycykKKysgICAgLSBgYGlubmVyMWBgIC0tIGEgcGFydGl0aW9uCisrICAgIC0gYGBpbm5l cjJgYCAtLSBhIHBhcnRpdGlvbgorIAorLSAgICAtIGBgaW5uZXIyYGAgLS0gYSBwYXJ0aXRpb24u CistCistICAgIC4uIHdhcm5pbmc6OgorKyAgICAuLiBXQVJOSU5HOjoKKyAKKyAgICAgICAgVGhp cyBmdW5jdGlvbiBkb2VzIG5vdCBkbyBhbnkgY2hlY2sgb24gaXRzIGlucHV0LiAgSWYgeW91IHdh bnQKKyAgICAgICAgdG8gdXNlIGEgc2FmZXIgdmVyc2lvbiwgdXNlIDpmdW5jOmBscmNvZWZgLgor QEAgLTM5MiwxOCArMjMyLDcgQEAgZGVmIGxyY29lZl91bnNhZmUob3V0ZXIsIGlubmVyMSwgaW5u ZXIyKToKKyAgICAgICAgIHNhZ2U6IGxyY29lZl91bnNhZmUoWzIsMSwxLDEsMV0sIFsyLDFdLCBb MiwxXSkKKyAgICAgICAgIDAKKyAgICAgIiIiCistICAgIGNkZWYgbG9uZyBsb25nIHJlc3VsdAor LSAgICBjZGVmIHZlY3RvciAqbworLSAgICBjZGVmIHZlY3RvciAqaTEKKy0gICAgY2RlZiB2ZWN0 b3IgKmkyCistICAgIG8gPSBpdGVyYWJsZV90b192ZWN0b3Iob3V0ZXIpCistICAgIGkxID0gaXRl cmFibGVfdG9fdmVjdG9yKGlubmVyMSkKKy0gICAgaTIgPSBpdGVyYWJsZV90b192ZWN0b3IoaW5u ZXIyKQorLSAgICByZXN1bHQgPSBscmNvZWZfYyhvLCBpMSwgaTIpCistICAgIHZfZnJlZShvKQor LSAgICB2X2ZyZWUoaTEpCistICAgIHZfZnJlZShpMikKKy0gICAgcmV0dXJuIEludGVnZXIocmVz dWx0KQorKyAgICByZXR1cm4gSW50ZWdlcihscmNhbGMubHJjb2VmKG91dGVyLCBpbm5lcjEsIGlu bmVyMikpCisgCisgCisgZGVmIGxyY29lZihvdXRlciwgaW5uZXIxLCBpbm5lcjIpOgorQEAgLTQx NSwxMSArMjQ0LDkgQEAgZGVmIGxyY29lZihvdXRlciwgaW5uZXIxLCBpbm5lcjIpOgorIAorICAg ICBJTlBVVDoKKyAKKy0gICAgLSBgYG91dGVyYGAgLS0gYSBwYXJ0aXRpb24gKHdlYWtseSBkZWNy ZWFzaW5nIGxpc3Qgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzKS4KKy0KKy0gICAgLSBgYGlubmVy MWBgIC0tIGEgcGFydGl0aW9uLgorLQorLSAgICAtIGBgaW5uZXIyYGAgLS0gYSBwYXJ0aXRpb24u CisrICAgIC0gYGBvdXRlcmBgIC0tIGEgcGFydGl0aW9uICh3ZWFrbHkgZGVjcmVhc2luZyBsaXN0 IG9mIG5vbi1uZWdhdGl2ZSBpbnRlZ2VycykKKysgICAgLSBgYGlubmVyMWBgIC0tIGEgcGFydGl0 aW9uCisrICAgIC0gYGBpbm5lcjJgYCAtLSBhIHBhcnRpdGlvbgorIAorICAgICAuLiBOT1RFOjoK KyAKK0BAIC00MzYsNyArMjYzLDYgQEAgZGVmIGxyY29lZihvdXRlciwgaW5uZXIxLCBpbm5lcjIp OgorICAgICAgICAgMQorICAgICAgICAgc2FnZTogbHJjb2VmKFsyLDEsMSwxLDFdLCBbMiwxXSwg WzIsMV0pCisgICAgICAgICAwCistCisgICAgICIiIgorICAgICByZXR1cm4gbHJjb2VmX3Vuc2Fm ZShfUGFydGl0aW9ucyhvdXRlciksIF9QYXJ0aXRpb25zKGlubmVyMSksIF9QYXJ0aXRpb25zKGlu bmVyMikpCisgCitAQCAtNDUxLDEzICsyNzcsOSBAQCBkZWYgbXVsdChwYXJ0MSwgcGFydDIsIG1h eHJvd3M9Tm9uZSwgbGV2ZWw9Tm9uZSwgcXVhbnR1bT1Ob25lKToKKyAgICAgSU5QVVQ6CisgCisg ICAgIC0gYGBwYXJ0MWBgIC0tIGEgcGFydGl0aW9uCistCisgICAgIC0gYGBwYXJ0MmBgIC0tIGEg cGFydGl0aW9uCistCisgICAgIC0gYGBtYXhyb3dzYGAgLS0gKG9wdGlvbmFsKSBhbiBpbnRlZ2Vy CistCisgICAgIC0gYGBsZXZlbGBgIC0tIChvcHRpb25hbCkgYW4gaW50ZWdlcgorLQorICAgICAt IGBgcXVhbnR1bWBgIC0tIChvcHRpb25hbCkgYW4gZWxlbWVudCBvZiBhIHJpbmcKKyAKKyAgICAg SWYgYGBtYXhyb3dzYGAgaXMgc3BlY2lmaWVkLCB0aGVuIG9ubHkgcGFydGl0aW9ucyB3aXRoIGF0 IG1vc3QKK0BAIC00NzksNyArMzAxLDggQEAgZGVmIG11bHQocGFydDEsIHBhcnQyLCBtYXhyb3dz PU5vbmUsIGxldmVsPU5vbmUsIHF1YW50dW09Tm9uZSk6CisgICAgICAgICBzYWdlOiBzb3J0ZWQo bXVsdChbMl0sWzJdKS5pdGVtcygpKQorICAgICAgICAgWyhbMiwgMl0sIDEpLCAoWzMsIDFdLCAx KSwgKFs0XSwgMSldCisgICAgICAgICBzYWdlOiBzb3J0ZWQobXVsdChbMiwxXSxbMiwxXSkuaXRl bXMoKSkKKy0gICAgICAgIFsoWzIsIDIsIDEsIDFdLCAxKSwgKFsyLCAyLCAyXSwgMSksIChbMywg MSwgMSwgMV0sIDEpLCAoWzMsIDIsIDFdLCAyKSwgKFszLCAzXSwgMSksIChbNCwgMSwgMV0sIDEp LCAoWzQsIDJdLCAxKV0KKysgICAgICAgIFsoWzIsIDIsIDEsIDFdLCAxKSwgKFsyLCAyLCAyXSwg MSksIChbMywgMSwgMSwgMV0sIDEpLAorKyAgICAgICAgIChbMywgMiwgMV0sIDIpLCAoWzMsIDNd LCAxKSwgKFs0LCAxLCAxXSwgMSksIChbNCwgMl0sIDEpXQorICAgICAgICAgc2FnZTogc29ydGVk KG11bHQoWzIsMV0sWzIsMV0sbWF4cm93cz0yKS5pdGVtcygpKQorICAgICAgICAgWyhbMywgM10s IDEpLCAoWzQsIDJdLCAxKV0KKyAgICAgICAgIHNhZ2U6IG11bHQoWzIsMV0sWzMsMiwxXSwzKQor QEAgLTUxMCw0NCArMzMzLDI0IEBAIGRlZiBtdWx0KHBhcnQxLCBwYXJ0MiwgbWF4cm93cz1Ob25l LCBsZXZlbD1Ob25lLCBxdWFudHVtPU5vbmUpOgorICAgICBpZiBxdWFudHVtIGlzIG5vdCBOb25l IGFuZCAobGV2ZWwgaXMgTm9uZSBvciBtYXhyb3dzIGlzIE5vbmUpOgorICAgICAgICAgcmFpc2Ug VmFsdWVFcnJvcignbWlzc2luZyBwYXJhbWV0ZXJzIG1heHJvd3Mgb3IgbGV2ZWwnKQorIAorLSAg ICBjZGVmIHZlY3RvciogdjEgPSBpdGVyYWJsZV90b192ZWN0b3IocGFydDEpCistICAgIGNkZWYg dmVjdG9yKiB2MiA9IGl0ZXJhYmxlX3RvX3ZlY3RvcihwYXJ0MikKKy0gICAgaWYgbWF4cm93cyBp cyBOb25lOgorLSAgICAgICAgbWF4cm93cyA9IDAKKy0gICAgY2RlZiBoYXNodGFiKiBodCA9IG11 bHRfYyh2MSwgdjIsIGludChtYXhyb3dzKSkKKy0gICAgY2RlZiBoYXNodGFiKiB0YWIKKy0gICAg Y2RlZiBkaWN0IHJlc3VsdAorLQorICAgICBpZiBxdWFudHVtIGlzIE5vbmU6CisgICAgICAgICBp ZiBsZXZlbCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICBmdXNpb25fcmVkdWNlX2MoaHQsIGlu dChtYXhyb3dzKSwgaW50KGxldmVsKSwgaW50KDApKQorLSAgICAgICAgcmVzdWx0ID0gc2ZfaGFz aHRhYl90b19kaWN0KGh0KQorLSAgICAgICAgdl9mcmVlKHYxKQorLSAgICAgICAgdl9mcmVlKHYy KQorLSAgICAgICAgaGFzaF9mcmVlKGh0KQorLSAgICAgICAgcmV0dXJuIHJlc3VsdAorKyAgICAg ICAgICAgIHJldHVybiBfbHJjYWxjX2RpY3RfdG9fc2FnZShscmNhbGMubXVsdF9mdXNpb24ocGFy dDEsIHBhcnQyLCBtYXhyb3dzLCBsZXZlbCkpCisrICAgICAgICBpZiBtYXhyb3dzIGlzIE5vbmU6 CisrICAgICAgICAgICAgbWF4cm93cyA9IC0xCisrICAgICAgICByZXR1cm4gX2xyY2FsY19kaWN0 X3RvX3NhZ2UobHJjYWxjLm11bHQocGFydDEsIHBhcnQyLCBtYXhyb3dzKSkKKyAKKyAgICAgIyBP dGhlcndpc2UgZG8gcXVhbnR1bSBtdWx0aXBsaWNhdGlvbgorLSAgICBjZGVmIF9saXN0ICpxbGlz dAorLSAgICBjZGVmIGRpY3QgdGVtcAorLSAgICBxbGlzdCA9IHF1YW50dW1fcmVkdWNlX2MoaHQs IGludChtYXhyb3dzKSwgaW50KGxldmVsKSkKKy0gICAgIyBUaGUgYWJvdmUgY2FsbCBmcmVlcyB0 aGUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBodAorLSAgICB2X2ZyZWUodjEpCistICAgIHZfZnJl ZSh2MikKKy0KKy0gICAgY2RlZiBQYXJlbnQgUCA9IHF1YW50dW0ucGFyZW50KCkKKy0gICAgcmVz dWx0ID0ge30KKy0gICAgZm9yIGkgaW4gcmFuZ2UocWxpc3QubGVuZ3RoKToKKy0gICAgICAgIHRh YiA9IDxoYXNodGFiKj4ocWxpc3QuYXJyYXlbaV0pCistICAgICAgICB0ZW1wID0gc2ZfaGFzaHRh Yl90b19kaWN0KHRhYikKKy0gICAgICAgIGZvciBrIGluIHRlbXA6CistICAgICAgICAgICAgcmVz dWx0W2tdID0gcmVzdWx0LmdldChrLCBQLnplcm8oKSkgKyBxdWFudHVtKippICogdGVtcFtrXQor LSAgICAgICAgaGFzaF9mcmVlKHRhYikKKy0gICAgbF9mcmVlKHFsaXN0KQorLSAgICByZXR1cm4g cmVzdWx0CistCistCistZGVmIHNrZXcob3V0ZXIsIGlubmVyLCBtYXhyb3dzPTApOgorKyAgICBy ZXN1bHQgPSBscmNhbGMubXVsdF9xdWFudHVtKHBhcnQxLCBwYXJ0MiwgbWF4cm93cywgbGV2ZWws IGRlZ3JlZXM9VHJ1ZSkKKysgICAgUCA9IHF1YW50dW0ucGFyZW50KCkKKysgICAgb3V0cHV0ID0g e30KKysgICAgZm9yIGksayBpbiByZXN1bHQuaXRlbXMoKToKKysgICAgICAgIGxhID0gX1BhcnRp dGlvbnMoaVswXSkKKysgICAgICAgIG91dHB1dFtsYV0gPSBvdXRwdXQuZ2V0KGxhLCBQLnplcm8o KSkgKyBrICogcXVhbnR1bSoqKGlbMV0pCisrICAgIHJldHVybiBvdXRwdXQKKysKKysKKytkZWYg c2tldyhvdXRlciwgaW5uZXIsIG1heHJvd3M9LTEpOgorICAgICAiIiIKKyAgICAgQ29tcHV0ZSB0 aGUgU2NodXIgZXhwYW5zaW9uIG9mIGEgc2tldyBTY2h1ciBmdW5jdGlvbi4KKyAKK0BAIC01NTcs MTEgKzM2MCw5IEBAIGRlZiBza2V3KG91dGVyLCBpbm5lciwgbWF4cm93cz0wKToKKyAKKyAgICAg SU5QVVQ6CisgCistICAgIC0gYGBvdXRlcmBgIC0tIGEgcGFydGl0aW9uLgorLQorLSAgICAtIGBg aW5uZXJgYCAtLSBhIHBhcnRpdGlvbi4KKy0KKy0gICAgLSBgYG1heHJvd3NgYCAtLSBhbiBpbnRl Z2VyIG9yIGBgTm9uZWBgLgorKyAgICAtIGBgb3V0ZXJgYCAtLSBhIHBhcnRpdGlvbgorKyAgICAt IGBgaW5uZXJgYCAtLSBhIHBhcnRpdGlvbgorKyAgICAtIGBgbWF4cm93c2BgIC0tIGFuIGludGVn ZXIgb3IgYGBOb25lYGAKKyAKKyAgICAgSWYgYGBtYXhyb3dzYGAgaXMgc3BlY2lmaWVkLCB0aGVu IG9ubHkgcGFydGl0aW9ucyB3aXRoIGF0IG1vc3QKKyAgICAgdGhpcyBudW1iZXIgb2Ygcm93cyBh cmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdC4KK0BAIC01NzIsMTQgKzM3Myw3IEBAIGRlZiBza2V3 KG91dGVyLCBpbm5lciwgbWF4cm93cz0wKToKKyAgICAgICAgIHNhZ2U6IHNvcnRlZChza2V3KFsy LDFdLFsxXSkuaXRlbXMoKSkKKyAgICAgICAgIFsoWzEsIDFdLCAxKSwgKFsyXSwgMSldCisgICAg ICIiIgorLSAgICBjZGVmIHZlY3RvciogdjEgPSBpdGVyYWJsZV90b192ZWN0b3Iob3V0ZXIpCist ICAgIGNkZWYgdmVjdG9yKiB2MiA9IGl0ZXJhYmxlX3RvX3ZlY3Rvcihpbm5lcikKKy0gICAgY2Rl ZiBoYXNodGFiKiBodCA9IHNrZXdfYyh2MSwgdjIsIGludChtYXhyb3dzKSkKKy0gICAgcmVzdWx0 ID0gc2ZfaGFzaHRhYl90b19kaWN0KGh0KQorLSAgICB2X2ZyZWUodjEpCistICAgIHZfZnJlZSh2 MikKKy0gICAgaGFzaF9mcmVlKGh0KQorLSAgICByZXR1cm4gcmVzdWx0CisrICAgIHJldHVybiBf bHJjYWxjX2RpY3RfdG9fc2FnZShscmNhbGMuc2tldyhvdXRlciwgaW5uZXIsIG1heHJvd3MpKQor IAorIAorIGRlZiBjb3Byb2QocGFydCwgYWxsPTApOgorQEAgLTU5Miw5ICszODYsOCBAQCBkZWYg Y29wcm9kKHBhcnQsIGFsbD0wKToKKyAKKyAgICAgSU5QVVQ6CisgCistICAgIC0gYGBwYXJ0YGAg LS0gYSBwYXJ0aXRpb24uCistCistICAgIC0gYGBhbGxgYCAtLSBhbiBpbnRlZ2VyLgorKyAgICAt IGBgcGFydGBgIC0tIGEgcGFydGl0aW9uCisrICAgIC0gYGBhbGxgYCAtLSBhbiBpbnRlZ2VyCisg CisgICAgIElmIGBgYWxsYGAgaXMgbm9uLXplcm8gdGhlbiBhbGwgdGVybXMgYXJlIGluY2x1ZGVk IGluIHRoZSByZXN1bHQuCisgICAgIElmIGBgYWxsYGAgaXMgemVybywgdGhlbiBvbmx5IHBhaXJz IG9mIHBhcnRpdGlvbnMgYGAocGFydDEsCitAQCAtNjA5LDEyICs0MDIsOSBAQCBkZWYgY29wcm9k KHBhcnQsIGFsbD0wKToKKyAgICAgICAgIHNhZ2U6IHNvcnRlZChjb3Byb2QoWzIsMV0pLml0ZW1z KCkpCisgICAgICAgICBbKChbMSwgMV0sIFsxXSksIDEpLCAoKFsyXSwgWzFdKSwgMSksICgoWzIs IDFdLCBbXSksIDEpXQorICAgICAiIiIKKy0gICAgY2RlZiB2ZWN0b3IqIHYxID0gaXRlcmFibGVf dG9fdmVjdG9yKHBhcnQpCistICAgIGNkZWYgaGFzaHRhYiogaHQgPSBjb3Byb2RfYyh2MSwgaW50 KGFsbCkpCistICAgIHJlc3VsdCA9IHZwX2hhc2h0YWJfdG9fZGljdChodCkKKy0gICAgdl9mcmVl KHYxKQorLSAgICBoYXNoX2ZyZWUoaHQpCistICAgIHJldHVybiByZXN1bHQKKysgICAgcmVzdWx0 ID0gbHJjYWxjLmNvcHJvZChwYXJ0LCBhbGwpCisrICAgIHJldHVybiB7dHVwbGUoW19QYXJ0aXRp b25zKG11KSBmb3IgbXUgaW4gbGFdKTogSW50ZWdlcihrKQorKyAgICAgICAgICAgIGZvciBsYSwg ayBpbiByZXN1bHQuaXRlbXMoKX0KKyAKKyAKKyBkZWYgbXVsdF9zY2h1YmVydCh3MSwgdzIsIHJh bms9MCk6CitAQCAtNjI3LDExICs0MTcsOSBAQCBkZWYgbXVsdF9zY2h1YmVydCh3MSwgdzIsIHJh bms9MCk6CisgCisgICAgIElOUFVUOgorIAorLSAgICAtIGBgdzFgYCAtLSBhIHBlcm11dGF0aW9u LgorLQorLSAgICAtIGBgdzJgYCAtLSBhIHBlcm11dGF0aW9uLgorLQorLSAgICAtIGBgcmFua2Bg IC0tIGFuIGludGVnZXIuCisrICAgIC0gYGB3MWBgIC0tIGEgcGVybXV0YXRpb24KKysgICAgLSBg YHcyYGAgLS0gYSBwZXJtdXRhdGlvbgorKyAgICAtIGBgcmFua2BgIC0tIGFuIGludGVnZXIKKyAK KyAgICAgSWYgYGByYW5rYGAgaXMgbm9uLXplcm8sIHRoZW4gb25seSBwZXJtdXRhdGlvbnMgZnJv bSB0aGUgc3ltbWV0cmljCisgICAgIGdyb3VwIGBTKFxtYXRocm17cmFua30pYCBhcmUgaW5jbHVk ZWQgaW4gdGhlIHJlc3VsdC4KK0BAIC02NDYsMzMgKzQzNCwyNCBAQCBkZWYgbXVsdF9zY2h1YmVy dCh3MSwgdzIsIHJhbms9MCk6CisgICAgICAgICAgKFs2LCA0LCAzLCAxLCAyLCA1XSwgMSksIChb NiwgNSwgMiwgMSwgMywgNF0sIDEpLAorICAgICAgICAgIChbNywgMywgNCwgMSwgMiwgNSwgNl0s IDEpLCAoWzcsIDQsIDIsIDEsIDMsIDUsIDZdLCAxKV0KKyAgICAgIiIiCistICAgIGNkZWYgdmVj dG9yKiB2MSA9IGl0ZXJhYmxlX3RvX3ZlY3Rvcih3MSkKKy0gICAgY2RlZiB2ZWN0b3IqIHYyID0g aXRlcmFibGVfdG9fdmVjdG9yKHcyKQorLSAgICBjZGVmIGhhc2h0YWIqIGh0ID0gbXVsdF9zY2h1 YmVydF9jKHYxLCB2MiwgaW50KHJhbmspKQorLSAgICByZXN1bHQgPSBzY2h1YmVydF9oYXNodGFi X3RvX2RpY3QoaHQpCistICAgIHZfZnJlZSh2MSkKKy0gICAgdl9mcmVlKHYyKQorLSAgICBoYXNo X2ZyZWUoaHQpCistICAgIHJldHVybiByZXN1bHQKKysgICAgcmVzdWx0ID0gbHJjYWxjLnNjaHVi bXVsdCh3MSwgdzIsIHJhbmspCisrICAgIHJldHVybiB7UGVybXV0YXRpb24obGlzdChsYSkpOklu dGVnZXIoaykgZm9yIGxhLGsgaW4gcmVzdWx0Lml0ZW1zKCl9CisgCisgCistZGVmIGxyc2tldyhv dXRlciwgaW5uZXIsIHdlaWdodD1Ob25lLCBtYXhyb3dzPTApOgorK2RlZiBscnNrZXcob3V0ZXIs IGlubmVyLCB3ZWlnaHQ9Tm9uZSwgbWF4cm93cz0tMSk6CisgICAgIHIiIiIKKyAgICAgSXRlcmF0 ZSBvdmVyIHRoZSBza2V3IExSIHRhYmxlYXV4IG9mIHNoYXBlIGBgb3V0ZXIgLyBpbm5lcmBgLgor IAorICAgICBJTlBVVDoKKyAKKyAgICAgLSBgYG91dGVyYGAgLS0gYSBwYXJ0aXRpb24KKy0KKyAg ICAgLSBgYGlubmVyYGAgLS0gYSBwYXJ0aXRpb24KKy0KKyAgICAgLSBgYHdlaWdodGBgIC0tIGEg cGFydGl0aW9uIChvcHRpb25hbCkKKy0KKy0gICAgLSBgYG1heHJvd3NgYCAtLSBhbiBpbnRlZ2Vy IChvcHRpb25hbCkKKysgICAgLSBgYG1heHJvd3NgYCAtLSBhIHBvc2l0aXZlIGludGVnZXIgKG9w dGlvbmFsKQorIAorICAgICBPVVRQVVQ6IGFuIGl0ZXJhdG9yIG9mIDpjbGFzczpgU2tld1RhYmxl YXVgCisgCistICAgIFNwZWNpZnlpbmcgYGBtYXhyb3dzYGAgcmVzdHJpY3RzIHRoZSBhbHBoYWJl dCB0byBgXHsxLDIsXGxkb3RzLG1heHJvd3NcfWAuCisrICAgIFNwZWNpZnlpbmcgYGBtYXhyb3dz YGAgPSBgTWAgcmVzdHJpY3RzIHRoZSBhbHBoYWJldCB0byBgXHsxLDIsXGxkb3RzLE1cfWAuCisg CisgICAgIFNwZWNpZnlpbmcgYGB3ZWlnaHRgYCByZXR1cm5zIG9ubHkgdGhvc2UgdGFibGVhdXgg b2YgZ2l2ZW4gY29udGVudC93ZWlnaHQuCisgCitAQCAtNzAyLDIyICs0ODEsNDAgQEAgZGVmIGxy c2tldyhvdXRlciwgaW5uZXIsIHdlaWdodD1Ob25lLCBtYXhyb3dzPTApOgorIAorICAgICAgICAg c2FnZTogbGlzdChscnNrZXcoWzMsMiwxXSxbMl0sIHdlaWdodD1bMywxXSkpCisgICAgICAgICBb W1tOb25lLCBOb25lLCAxXSwgWzEsIDFdLCBbMl1dXQorKworKyAgICBURVNUUzo6CisrCisrICAg ICAgICBzYWdlOiBmcm9tIHNhZ2UubGlicy5scmNhbGMubHJjYWxjIGltcG9ydCBscnNrZXcKKysg ICAgICAgIHNhZ2U6IGxpc3QobHJza2V3KFszLDIsMV0sWzJdLCB3ZWlnaHQ9W10pKQorKyAgICAg ICAgW10KKysgICAgICAgIHNhZ2U6IGxpc3QobHJza2V3KFszLDIsMV0sWzJdLCB3ZWlnaHQ9WzBd KSkKKysgICAgICAgIFtdCisrICAgICAgICBzYWdlOiBsaXN0KGxyc2tldyhbMywyLDFdLFszLDIs MV0sIHdlaWdodD1bXSkpCisrICAgICAgICBbW1tOb25lLCBOb25lLCBOb25lXSwgW05vbmUsIE5v bmVdLCBbTm9uZV1dXQorKyAgICAgICAgc2FnZTogbGlzdChscnNrZXcoWzMsMiwxXSxbMywyLDFd LCB3ZWlnaHQ9WzBdKSkKKysgICAgICAgIFtbW05vbmUsIE5vbmUsIE5vbmVdLCBbTm9uZSwgTm9u ZV0sIFtOb25lXV1dCisrICAgICAgICBzYWdlOiBsaXN0KGxyc2tldyhbMywyLDFdLFszLDIsMV0s IHdlaWdodD1bMV0pKQorKyAgICAgICAgW10KKyAgICAgIiIiCistICAgIGNkZWYgdmVjdG9yKiBv ID0gaXRlcmFibGVfdG9fdmVjdG9yKG91dGVyKQorLSAgICBjZGVmIHZlY3RvciogaSA9IGl0ZXJh YmxlX3RvX3ZlY3Rvcihpbm5lciArIFswXSoobGVuKG91dGVyKSAtIGxlbihpbm5lcikpKQorLSAg ICBjZGVmIHNrZXd0YWIqIHN0ID0gc3RfbmV3KG8sIGksIE5VTEwsIGludChtYXhyb3dzKSkKKysg ICAgaXRlcmF0b3IgPSBscmNhbGMubHJfaXRlcmF0b3Iob3V0ZXIsIGlubmVyLCBtYXhyb3dzKQor KyAgICBzaGFwZSA9IFNrZXdQYXJ0aXRpb24oW291dGVyLCBpbm5lcl0pCisgCisgICAgIGlmIHdl aWdodCBpcyBOb25lOgorLSAgICAgICAgeWllbGQgc2tld3RhYl90b19Ta2V3VGFibGVhdShzdCkK Ky0gICAgICAgIHdoaWxlIHN0X25leHQoc3QpOgorLSAgICAgICAgICAgIHlpZWxkIHNrZXd0YWJf dG9fU2tld1RhYmxlYXUoc3QpCisrICAgICAgICBTVCA9IFNlbWlzdGFuZGFyZFNrZXdUYWJsZWF1 eChzaGFwZSkKKysgICAgICAgIGZvciBkYXRhIGluIGl0ZXJhdG9yOgorKyAgICAgICAgICAgIHlp ZWxkIFNULmZyb21fc2hhcGVfYW5kX3dvcmQoc2hhcGUsIFtpKzEgZm9yIGkgaW4gZGF0YV0pCisg ICAgIGVsc2U6CisgICAgICAgICB3dCA9IF9QYXJ0aXRpb25zKHdlaWdodCkKKy0gICAgICAgIHIg PSBza2V3dGFiX3RvX1NrZXdUYWJsZWF1KHN0KQorLSAgICAgICAgaWYgci53ZWlnaHQoKSA9PSB3 dDoKKy0gICAgICAgICAgICB5aWVsZCByCistICAgICAgICB3aGlsZSBzdF9uZXh0KHN0KToKKy0g ICAgICAgICAgICByID0gc2tld3RhYl90b19Ta2V3VGFibGVhdShzdCkKKy0gICAgICAgICAgICBp ZiByLndlaWdodCgpID09IHd0OgorLSAgICAgICAgICAgICAgICB5aWVsZCByCistICAgIHN0X2Zy ZWUoc3QpCisrICAgICAgICBTVCA9IFNlbWlzdGFuZGFyZFNrZXdUYWJsZWF1eChzaGFwZSwgd3Qp CisrICAgICAgICBtID0gbGVuKHd0KQorKyAgICAgICAgZm9yIGRhdGEgaW4gaXRlcmF0b3I6Cisr ICAgICAgICAgICAgdyA9IFswXSAqIG0KKysgICAgICAgICAgICBmb3IgaiBpbiBkYXRhOgorKyAg ICAgICAgICAgICAgICBpZiBqID49IG06CisrICAgICAgICAgICAgICAgICAgICAjIFdlIGtub3cg dGhleSBhcmUgbm90IGVxdWFsLCBzbyBtYWtlIHRoZSBjaGVjayBiZWxvdyBxdWljaworKyAgICAg ICAgICAgICAgICAgICAgdyA9IE5vbmUKKysgICAgICAgICAgICAgICAgICAgIGJyZWFrCisrICAg ICAgICAgICAgICAgIHdbal0gKz0gMQorKyAgICAgICAgICAgIGlmIHcgPT0gd3Q6CisrICAgICAg ICAgICAgICAgIHlpZWxkIFNULmZyb21fc2hhcGVfYW5kX3dvcmQoc2hhcGUsIFtpKzEgZm9yIGkg aW4gZGF0YV0pCisrCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0z MzE3MC1maXhfZG9jdGVzdF9pcHl0aG9uXzgucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvdHJhYy0zMzE3MC1maXhfZG9jdGVzdF9pcHl0aG9uXzgucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xZTJlMGJhOTA3NDIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzE3MC1maXhfZG9jdGVzdF9pcHl0aG9u XzgucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorQXMgcHJvZHVjZWQgYnkgYGdpdCBkaWZmIGE5MGEz MTQ2e15eLH1gCisKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9yZXBsL2ludGVyZmFjZV9tYWdpYy5w eSBiL3NyYy9zYWdlL3JlcGwvaW50ZXJmYWNlX21hZ2ljLnB5CitpbmRleCA4YTQ1NWI2OWIwZS4u YTkzZTFjOWUwNGMgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9yZXBsL2ludGVyZmFjZV9tYWdpYy5w eQorKysrIGIvc3JjL3NhZ2UvcmVwbC9pbnRlcmZhY2VfbWFnaWMucHkKK0BAIC0yNjAsNyArMjYw LDcgQEAgY2xhc3MgSW50ZXJmYWNlTWFnaWMob2JqZWN0KToKKyAgICAgICAgICAgICAyCisgICAg ICAgICAgICAgMTIwCisgICAgICAgICAgICAgc2FnZTogc2hlbGwucnVuX2NlbGwoJyUlZ2FwIGZv b1xuMSsxO1xuJykKKy0gICAgICAgICAgICAuLi5GaWxlICI8c3RyaW5nPiIsIGxpbmUgdW5rbm93 bgorKyAgICAgICAgICAgIC4uLkZpbGUuLi48c3RyaW5nPi4uLgorICAgICAgICAgICAgIFN5bnRh eEVycm9yOiBJbnRlcmZhY2UgbWFnaWNzIGhhdmUgbm8gb3B0aW9ucywgZ290ICJmb28iCisgICAg ICAgICAgICAgPEJMQU5LTElORT4KKyAgICAgICAgICAgICBzYWdlOiBzaGVsbC5ydW5fY2VsbCgn JSVnYXA/JykKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9yZXBsL2ludGVycHJldGVyLnB5IGIvc3Jj L3NhZ2UvcmVwbC9pbnRlcnByZXRlci5weQoraW5kZXggNzQ2OGFmZTUyZDcuLjA2YzQ3YjczNzRh IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvcmVwbC9pbnRlcnByZXRlci5weQorKysrIGIvc3JjL3Nh Z2UvcmVwbC9pbnRlcnByZXRlci5weQorQEAgLTc4LDkgKzc4LDkgQEAgQ2hlY2sgdGhhdCBDeXRo b24gc291cmNlIGNvZGUgYXBwZWFycyBpbiB0cmFjZWJhY2tzOjoKKyAgICAgZHVtbXkgbGluZQor ICAgICAuLi4KKyAgICAgWmVyb0RpdmlzaW9uRXJyb3IuLi5UcmFjZWJhY2sgKG1vc3QgcmVjZW50 IGNhbGwgbGFzdCkKKy0gICAgPGlweXRob24taW5wdXQtLi4uPiBpbiA8bW9kdWxlPi4uLgorKyAg ICAuLi5pbiA8bW9kdWxlPi4uLgorICAgICAtLS0tPiAxIEludGVnZXIoMSkvSW50ZWdlcigwKQor LSAgICAuLi4vc2FnZS9yaW5ncy9pbnRlZ2VyLnB5eCBpbiBzYWdlLnJpbmdzLmludGVnZXIuSW50 ZWdlci4uLmRpdi4uLgorKyAgICAuLi4vc2FnZS9yaW5ncy9pbnRlZ2VyLnB5eC4uLiBpbiBzYWdl LnJpbmdzLmludGVnZXIuSW50ZWdlci4uLmRpdi4uLgorICAgICAuLi4KKyAgICAgLT4gLi4uICAg ICAgICAgICAgICAgICAgcmFpc2UgWmVyb0RpdmlzaW9uRXJyb3IoInJhdGlvbmFsIGRpdmlzaW9u IGJ5IHplcm8iKQorICAgICAgICAuLi4uOiAgICAgICAgICAgIHggPSA8UmF0aW9uYWw+IFJhdGlv bmFsLl9fbmV3X18oUmF0aW9uYWwpCitAQCAtNDIzLDcgKzQyMyw3IEBAIGRlZiBTYWdlUHJlcGFy c2VUcmFuc2Zvcm1lcihsaW5lcyk6CisgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UucmVwbC5pbnRl cnByZXRlciBpbXBvcnQgZ2V0X3Rlc3Rfc2hlbGwKKyAgICAgICAgIHNhZ2U6IHNoZWxsID0gZ2V0 X3Rlc3Rfc2hlbGwoKQorICAgICAgICAgc2FnZTogc2hlbGwucnVuX2NlbGwoYmFkX3N5bnRheCkK Ky0gICAgICAgICAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIHVua25vd24KKysgICAgICAgICAgRmls ZS4uLjxzdHJpbmc+Li4uCisgICAgICAgICBTeW50YXhFcnJvcjogTWlzbWF0Y2hlZCAnXScKKyAg ICAgICAgIDxCTEFOS0xJTkU+CisgICAgICAgICBzYWdlOiBzaGVsbC5xdWl0KCkKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMTcwYi1maXhfZG9jdGVzdF9pcHl0 aG9uXzguMS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMTcwYi1maXhf ZG9jdGVzdF9pcHl0aG9uXzguMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjg1MzgxM2IwZjViZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1h dGgvcGF0Y2hlcy90cmFjLTMzMTcwYi1maXhfZG9jdGVzdF9pcHl0aG9uXzguMS5wYXRjaApAQCAt MCwwICsxLDEzIEBACitGaXggZm9yIGlweXRob24gOC4xCisKKy0tLSBhL3NyYy9zYWdlL3JlcGwv aW50ZXJwcmV0ZXIucHkKKysrKyBiL3NyYy9zYWdlL3JlcGwvaW50ZXJwcmV0ZXIucHkKK0BAIC03 OCw3ICs3OCw3IEBAIENoZWNrIHRoYXQgQ3l0aG9uIHNvdXJjZSBjb2RlIGFwcGVhcnMgaW4gdHJh Y2ViYWNrczo6CisgICAgIGR1bW15IGxpbmUKKyAgICAgLi4uCisgICAgIFplcm9EaXZpc2lvbkVy cm9yLi4uVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpCistICAgIC4uLmluIDxtb2R1 bGU+Li4uCisrICAgIC4uLgorICAgICAtLS0tPiAxIEludGVnZXIoMSkvSW50ZWdlcigwKQorICAg ICAuLi4vc2FnZS9yaW5ncy9pbnRlZ2VyLnB5eC4uLiBpbiBzYWdlLnJpbmdzLmludGVnZXIuSW50 ZWdlci4uLmRpdi4uLgorICAgICAuLi4KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy90cmFjLTMzMzM2LWZpeF9kb2N0ZXN0X3NjaXB5XzEuOC5wYXRjaCBiL3NyY3BrZ3Mvc2Fn ZW1hdGgvcGF0Y2hlcy90cmFjLTMzMzM2LWZpeF9kb2N0ZXN0X3NjaXB5XzEuOC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE5YjY5NzAwYTRmNgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMzM2LWZpeF9kb2N0 ZXN0X3NjaXB5XzEuOC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitjb21taXQgOWM4MjM1ZTQ0ZmZi NTA5ZWZhOGEzY2E2Y2RiNTUxNTRlMmI1MDY2ZAorQXV0aG9yOiBBbnRvbmlvIFJvamFzIDxhcm9q YXNAYXJjaGxpbnV4Lm9yZz4KK0RhdGU6ICAgU3VuIEZlYiAxMyAxOTo1MzoxNCAyMDIyICswMTAw CisKKyAgICBGaXggZGVwcmVjYXRpb24gd2FybmluZyB3aXRoIHNjaXB5IDEuOAorCitkaWZmIC0t Z2l0IGEvc3JjL3NhZ2UvdGVzdHMvYm9va3MvY29tcHV0YXRpb25hbC1tYXRoZW1hdGljcy13aXRo LXNhZ2VtYXRoL2xpbnNvbHZlX2RvY3Rlc3QucHkgYi9zcmMvc2FnZS90ZXN0cy9ib29rcy9jb21w dXRhdGlvbmFsLW1hdGhlbWF0aWNzLXdpdGgtc2FnZW1hdGgvbGluc29sdmVfZG9jdGVzdC5weQor aW5kZXggZTliNjBkYWU1ZWMuLjc5MzIxNjdiNDFkIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvdGVz dHMvYm9va3MvY29tcHV0YXRpb25hbC1tYXRoZW1hdGljcy13aXRoLXNhZ2VtYXRoL2xpbnNvbHZl X2RvY3Rlc3QucHkKKysrKyBiL3NyYy9zYWdlL3Rlc3RzL2Jvb2tzL2NvbXB1dGF0aW9uYWwtbWF0 aGVtYXRpY3Mtd2l0aC1zYWdlbWF0aC9saW5zb2x2ZV9kb2N0ZXN0LnB5CitAQCAtMzU2LDcgKzM1 Niw3IEBAIFNhZ2UgZXhhbXBsZSBpbiAuL2xpbnNvbHZlLnRleCwgbGluZSAyMjMwOjoKKyAKKyBT YWdlIGV4YW1wbGUgaW4gLi9saW5zb2x2ZS50ZXgsIGxpbmUgMjYwOTo6CisgCistICBzYWdlOiBm cm9tIHNjaXB5LnNwYXJzZS5saW5hbGcuZHNvbHZlIGltcG9ydCAqCisrICBzYWdlOiBmcm9tIHNj aXB5LnNwYXJzZS5saW5hbGcgaW1wb3J0IGZhY3Rvcml6ZWQKKyAgIHNhZ2U6IGZyb20gc2NpcHku c3BhcnNlIGltcG9ydCBsaWxfbWF0cml4CisgICBzYWdlOiBmcm9tIG51bXB5IGltcG9ydCBhcnJh eQorICAgc2FnZTogbiA9IDIwMApkaWZmIC0tZ2l0IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVz L3RyYWMtMzMzOTgtZml4X2RvY3Rlc3Rfc3ltcHlfMS4xMC02MDlkZDlkZWFlYWE2MzgwYWIyZjBk NTAyNzZkOTExMjMzYzAwYTA0LnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMt MzMzOTgtZml4X2RvY3Rlc3Rfc3ltcHlfMS4xMC02MDlkZDlkZWFlYWE2MzgwYWIyZjBkNTAyNzZk OTExMjMzYzAwYTA0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uOWJhN2NhNWE2YjdkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRj aGVzL3RyYWMtMzMzOTgtZml4X2RvY3Rlc3Rfc3ltcHlfMS4xMC02MDlkZDlkZWFlYWE2MzgwYWIy ZjBkNTAyNzZkOTExMjMzYzAwYTA0LnBhdGNoCkBAIC0wLDAgKzEsOTkgQEAKK0Zyb20gNjA5ZGQ5 ZGVhZWFhNjM4MGFiMmYwZDUwMjc2ZDkxMTIzM2MwMGEwNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IE1hdHRoaWFzIEtvZXBwZSA8bWtvZXBwZUBtYXRoLnVjZGF2aXMuZWR1PgorRGF0 ZTogRnJpLCA0IE1hciAyMDIyIDE2OjA3OjA5IC0wODAwCitTdWJqZWN0OiBzYWdlLm1hbmlmb2xk czogVXBkYXRlIGRvY3Rlc3RzIGZvciBTeW1QeSAxLjEwCisKKy0tLQorIHNyYy9zYWdlL21hbmlm b2xkcy9jb250aW51b3VzX21hcC5weSAgICAgICAgICAgICAgfCAzICstLQorIHNyYy9zYWdlL21h bmlmb2xkcy9kaWZmZXJlbnRpYWJsZS9kaWZmX2Zvcm0ucHkgICAgfCA0ICsrLS0KKyBzcmMvc2Fn ZS9tYW5pZm9sZHMvZGlmZmVyZW50aWFibGUvdGVuc29yZmllbGQucHkgIHwgOCArKysrLS0tLQor IHNyYy9zYWdlL21hbmlmb2xkcy92ZWN0b3JfYnVuZGxlX2ZpYmVyX2VsZW1lbnQucHkgfCAyICst CisgNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9zcmMvc2FnZS9tYW5pZm9sZHMvY29udGludW91c19tYXAucHkgYi9zcmMvc2Fn ZS9tYW5pZm9sZHMvY29udGludW91c19tYXAucHkKK2luZGV4IGE2MzU2ZTcuLmY2ZjliNmQgMTAw NjQ0CistLS0gYS9zcmMvc2FnZS9tYW5pZm9sZHMvY29udGludW91c19tYXAucHkKKysrKyBiL3Ny Yy9zYWdlL21hbmlmb2xkcy9jb250aW51b3VzX21hcC5weQorQEAgLTEzNTcsOCArMTM1Nyw3IEBA IGNsYXNzIENvbnRpbnVvdXNNYXAoTW9ycGhpc20pOgorICAgICAgICAgICAgIHNhZ2U6IFBoaS5j b29yZF9mdW5jdGlvbnMoY191diwgY194eXopCisgICAgICAgICAgICAgQ29vcmRpbmF0ZSBmdW5j dGlvbnMgKHUqdiwgdS92LCB1ICsgdikgb24gdGhlIENoYXJ0IChNLCAodSwgdikpCisgICAgICAg ICAgICAgc2FnZTogUGhpLmNvb3JkX2Z1bmN0aW9ucyhjX1VWLCBjX3h5eikKKy0gICAgICAgICAg ICBDb29yZGluYXRlIGZ1bmN0aW9ucyAoLVUqKjIvNCArIFYqKjIvNCwgLShVICsgVikvKFUgLSBW KSwgVikKKy0gICAgICAgICAgICAgb24gdGhlIENoYXJ0IChNLCAoVSwgVikpCisrICAgICAgICAg ICAgQ29vcmRpbmF0ZSBmdW5jdGlvbnMgKC1VKioyLzQgKyBWKioyLzQsICgtVSAtIFYpLyhVIC0g ViksIFYpIG9uIHRoZSBDaGFydCAoTSwgKFUsIFYpKQorICAgICAgICAgICAgIHNhZ2U6IFBoaS5j b29yZF9mdW5jdGlvbnMoY19VViwgY19YWVopCisgICAgICAgICAgICAgQ29vcmRpbmF0ZSBmdW5j dGlvbnMgKCgtVSoqMyArIFUqKjIqViArIFUqVioqMiArIDIqVSpWICsgNipVIC0gVioqMworICAg ICAgICAgICAgICAtIDIqVioqMiArIDYqVikvKDIqKFUgLSBWKSksIChVKiozLzQgLSBVKioyKlYv NCAtIFUqVioqMi80ICsgVSpWCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWFuaWZvbGRzL2RpZmZl cmVudGlhYmxlL2RpZmZfZm9ybS5weSBiL3NyYy9zYWdlL21hbmlmb2xkcy9kaWZmZXJlbnRpYWJs ZS9kaWZmX2Zvcm0ucHkKK2luZGV4IDcwZGQ4ZmIuLjBhYTM0NjkgMTAwNjQ0CistLS0gYS9zcmMv c2FnZS9tYW5pZm9sZHMvZGlmZmVyZW50aWFibGUvZGlmZl9mb3JtLnB5CisrKysgYi9zcmMvc2Fn ZS9tYW5pZm9sZHMvZGlmZmVyZW50aWFibGUvZGlmZl9mb3JtLnB5CitAQCAtMjY2LDcgKzI2Niw3 IEBAIGNsYXNzIERpZmZGb3JtKFRlbnNvckZpZWxkKToKKyAKKyAgICAgICAgIHNhZ2U6IHMgPSBh LndlZGdlKGIpCisgICAgICAgICBzYWdlOiBzLmRpc3BsYXkoZVUpCistICAgICAgICBh4oinYiA9 IC14KigyKngqeSArIDEpIGR44oinZHkKKysgICAgICAgIGHiiKdiID0geCooLTIqeCp5IC0gMSkg ZHjiiKdkeQorICAgICAgICAgc2FnZTogcy5kaXNwbGF5KGVWKQorICAgICAgICAgYeKIp2IgPSAo dSoqMy84ICsgdSoqMip2LzggLSB1KnYqKjIvOCArIHUvNCAtIHYqKjMvOCArIHYvNCkgZHXiiKdk dgorIAorQEAgLTI3NSw3ICsyNzUsNyBAQCBjbGFzcyBEaWZmRm9ybShUZW5zb3JGaWVsZCk6Cisg ICAgICAgICBzYWdlOiBmID0gTS5zY2FsYXJfZmllbGQoe2NfeHk6ICh4K3kpXjIsIGNfdXY6IHVe Mn0sIG5hbWU9J2YnKQorICAgICAgICAgc2FnZTogcyA9IGYqYQorICAgICAgICAgc2FnZTogcy5k aXNwbGF5KGVVKQorLSAgICAgICAgZiphID0gLXkqKHgqKjIgKyAyKngqeSArIHkqKjIpIGR4ICsg eCooeCoqMiArIDIqeCp5ICsgeSoqMikgZHkKKysgICAgICAgIGYqYSA9IHkqKC14KioyIC0gMip4 KnkgLSB5KioyKSBkeCArIHgqKHgqKjIgKyAyKngqeSArIHkqKjIpIGR5CisgICAgICAgICBzYWdl OiBzLmRpc3BsYXkoZVYpCisgICAgICAgICBmKmEgPSB1KioyKnYvMiBkdSAtIHUqKjMvMiBkdgor IAorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21hbmlmb2xkcy9kaWZmZXJlbnRpYWJsZS90ZW5zb3Jm aWVsZC5weSBiL3NyYy9zYWdlL21hbmlmb2xkcy9kaWZmZXJlbnRpYWJsZS90ZW5zb3JmaWVsZC5w eQoraW5kZXggMjc3NWJlOS4uNmJjNWM1MCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21hbmlmb2xk cy9kaWZmZXJlbnRpYWJsZS90ZW5zb3JmaWVsZC5weQorKysrIGIvc3JjL3NhZ2UvbWFuaWZvbGRz L2RpZmZlcmVudGlhYmxlL3RlbnNvcmZpZWxkLnB5CitAQCAtMzM0LDcgKzMzNCw3IEBAIGNsYXNz IFRlbnNvckZpZWxkKE1vZHVsZUVsZW1lbnRXaXRoTXV0YWJpbGl0eSk6CisgICAgICAgICBzYWdl OiBmLmRpc3BsYXkoKSAgIyBsb25nIHRpbWUKKyAgICAgICAgIHQoYSxiKTogU14yIOKGkiDihJ0K KyAgICAgICAgIG9uIFU6ICh4LCB5KSDihqYgLTIqeCp5IC0gMyp4IC0geSoqMgorLSAgICAgICAg b24gVjogKHUsIHYpIOKGpiAtKDMqdSoqMyArIDMqdSp2KioyICsgMip1KnYgKyB2KioyKS8odSoq NCArIDIqdSoqMip2KioyICsgdioqNCkKKysgICAgICAgIG9uIFY6ICh1LCB2KSDihqYgKC0zKnUq KjMgLSAzKnUqdioqMiAtIDIqdSp2IC0gdioqMikvKHUqKjQgKyAyKnUqKjIqdioqMiArIHYqKjQp CisgCisgICAgIFRoZSB2ZWN0b3JzIGNhbiBiZSBkZWZpbmVkIG9ubHkgb24gc3Vic2V0cyBvZiBg U14yYCwgdGhlIGRvbWFpbiBvZiB0aGUKKyAgICAgcmVzdWx0IGlzIHRoZW4gdGhlIGNvbW1vbiBz dWJzZXQ6OgorQEAgLTM0MywxMiArMzQzLDEyIEBAIGNsYXNzIFRlbnNvckZpZWxkKE1vZHVsZUVs ZW1lbnRXaXRoTXV0YWJpbGl0eSk6CisgICAgICAgICBzYWdlOiBzLmRpc3BsYXkoKSAgIyBsb25n IHRpbWUKKyAgICAgICAgIHQoYSxiKTogVSDihpIg4oSdCisgICAgICAgICAgICAoeCwgeSkg4oam IC0yKngqeSAtIDMqeCAtIHkqKjIKKy0gICAgICAgIG9uIFc6ICh1LCB2KSDihqYgLSgzKnUqKjMg KyAzKnUqdioqMiArIDIqdSp2ICsgdioqMikvKHUqKjQgKyAyKnUqKjIqdioqMiArIHYqKjQpCisr ICAgICAgICBvbiBXOiAodSwgdikg4oamICgtMyp1KiozIC0gMyp1KnYqKjIgLSAyKnUqdiAtIHYq KjIpLyh1Kio0ICsgMip1KioyKnYqKjIgKyB2Kio0KQorICAgICAgICAgc2FnZTogcyA9IHQoYS5y ZXN0cmljdChVKSwgYi5yZXN0cmljdChXKSkgICMgbG9uZyB0aW1lCisgICAgICAgICBzYWdlOiBz LmRpc3BsYXkoKSAgIyBsb25nIHRpbWUKKyAgICAgICAgIHQoYSxiKTogVyDihpIg4oSdCisgICAg ICAgICAgICAoeCwgeSkg4oamIC0yKngqeSAtIDMqeCAtIHkqKjIKKy0gICAgICAgICAgICh1LCB2 KSDihqYgLSgzKnUqKjMgKyAzKnUqdioqMiArIDIqdSp2ICsgdioqMikvKHUqKjQgKyAyKnUqKjIq dioqMiArIHYqKjQpCisrICAgICAgICAgICAodSwgdikg4oamICgtMyp1KiozIC0gMyp1KnYqKjIg LSAyKnUqdiAtIHYqKjIpLyh1Kio0ICsgMip1KioyKnYqKjIgKyB2Kio0KQorIAorICAgICBUaGUg dGVuc29yIGl0c2VsZiBjYW4gYmUgZGVmaW5lZCBvbmx5IG9uIHNvbWUgb3BlbiBzdWJzZXQgb2Yg YFNeMmAsCisgICAgIHlpZWxkaW5nIGEgcmVzdWx0IHdob3NlIGRvbWFpbiBpcyB0aGlzIHN1YnNl dDo6CitAQCAtMzU2LDcgKzM1Niw3IEBAIGNsYXNzIFRlbnNvckZpZWxkKE1vZHVsZUVsZW1lbnRX aXRoTXV0YWJpbGl0eSk6CisgICAgICAgICBzYWdlOiBzID0gdC5yZXN0cmljdChWKShhLGIpICAj IGxvbmcgdGltZQorICAgICAgICAgc2FnZTogcy5kaXNwbGF5KCkgICMgbG9uZyB0aW1lCisgICAg ICAgICB0KGEsYik6IFYg4oaSIOKEnQorLSAgICAgICAgICAgKHUsIHYpIOKGpiAtKDMqdSoqMyAr IDMqdSp2KioyICsgMip1KnYgKyB2KioyKS8odSoqNCArIDIqdSoqMip2KioyICsgdioqNCkKKysg ICAgICAgICAgICh1LCB2KSDihqYgKC0zKnUqKjMgLSAzKnUqdioqMiAtIDIqdSp2IC0gdioqMikv KHUqKjQgKyAyKnUqKjIqdioqMiArIHYqKjQpCisgICAgICAgICBvbiBXOiAoeCwgeSkg4oamIC0y KngqeSAtIDMqeCAtIHkqKjIKKyAKKyAgICAgVGVzdHMgcmVnYXJkaW5nIHRoZSBtdWx0aXBsaWNh dGlvbiBieSBhIHNjYWxhciBmaWVsZDo6CitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWFuaWZvbGRz L3ZlY3Rvcl9idW5kbGVfZmliZXJfZWxlbWVudC5weSBiL3NyYy9zYWdlL21hbmlmb2xkcy92ZWN0 b3JfYnVuZGxlX2ZpYmVyX2VsZW1lbnQucHkKK2luZGV4IDI5ZWU4MWQuLjA0ODI3NWEgMTAwNjQ0 CistLS0gYS9zcmMvc2FnZS9tYW5pZm9sZHMvdmVjdG9yX2J1bmRsZV9maWJlcl9lbGVtZW50LnB5 CisrKysgYi9zcmMvc2FnZS9tYW5pZm9sZHMvdmVjdG9yX2J1bmRsZV9maWJlcl9lbGVtZW50LnB5 CitAQCAtMTEwLDQgKzExMCw0IEBAIGNsYXNzIFZlY3RvckJ1bmRsZUZpYmVyRWxlbWVudChGaW5p dGVSYW5rRnJlZU1vZHVsZUVsZW1lbnQpOgorICAgICAgICAgICAgIGRlc2MgKz0gc3RyKHNlbGYu X25hbWUpICsgIiAiCisgICAgICAgICBkZXNjICs9ICJpbiB0aGUgZmliZXIgb2Yge30gYXQge30i LmZvcm1hdChzZWxmLl92YnVuZGxlLl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcG9pbnQpCistICAgICAgICByZXR1cm4gZGVz YworXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrICAgICAgICByZXR1cm4gZGVzYworLS0g CitjZ2l0IHYxLjAtMS1nZDg4ZQorCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvdHJhYy0zMzM5OC1maXhfZG9jdGVzdF9zeW1weV8xLjEwLWM0OWVmZjM0NzQ1NGFjN2YwN2U1 OTE4NDcwYjIwZTk3YjhmMjM1N2UucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJh Yy0zMzM5OC1maXhfZG9jdGVzdF9zeW1weV8xLjEwLWM0OWVmZjM0NzQ1NGFjN2YwN2U1OTE4NDcw YjIwZTk3YjhmMjM1N2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi5mNWFjMTgwYmFhOTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRoL3Bh dGNoZXMvdHJhYy0zMzM5OC1maXhfZG9jdGVzdF9zeW1weV8xLjEwLWM0OWVmZjM0NzQ1NGFjN2Yw N2U1OTE4NDcwYjIwZTk3YjhmMjM1N2UucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSBjNDll ZmYzNDc0NTRhYzdmMDdlNTkxODQ3MGIyMGU5N2I4ZjIzNTdlIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogTWF0dGhpYXMgS29lcHBlIDxta29lcHBlQG1hdGgudWNkYXZpcy5lZHU+CitE YXRlOiBGcmksIDQgTWFyIDIwMjIgMTU6MTQ6NDMgLTA4MDAKK1N1YmplY3Q6IHNyYy9zYWdlL2Nh bGN1bHVzL2NhbGN1bHVzLnB5OiBVcGRhdGUgbGFwbGFjZSBkb2N0ZXN0IGZvciBzeW1weSAxLjEw CisKKy0tLQorIHNyYy9zYWdlL2NhbGN1bHVzL2NhbGN1bHVzLnB5IHwgNiArKystLS0KKyAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvc3JjL3NhZ2UvY2FsY3VsdXMvY2FsY3VsdXMucHkgYi9zcmMvc2FnZS9jYWxjdWx1cy9jYWxj dWx1cy5weQoraW5kZXggOWMyZjIyNi4uYjMzNTA5MyAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2Nh bGN1bHVzL2NhbGN1bHVzLnB5CisrKysgYi9zcmMvc2FnZS9jYWxjdWx1cy9jYWxjdWx1cy5weQor QEAgLTE2MzksOSArMTYzOSw5IEBAIGRlZiBsYXBsYWNlKGV4LCB0LCBzLCBhbGdvcml0aG09J21h eGltYScpOgorICAgICAgICAgc2FnZTogbGFwbGFjZShkaXJhY19kZWx0YSh0KSwgdCwgcykKKyAg ICAgICAgIDEKKyAgICAgICAgIHNhZ2U6IEYsIGEsIGNvbmQgPSBsYXBsYWNlKGRpcmFjX2RlbHRh KHQpLCB0LCBzLCBhbGdvcml0aG09J3N5bXB5JykKKy0gICAgICAgIHNhZ2U6IGEsIGNvbmQKKy0g ICAgICAgICgtb28sIFRydWUpCistICAgICAgICBzYWdlOiBGICAgICAgICMgcmFuZG9tIC0gc3lt cHkgPDEuOSBpbmNsdWRlcyB1bmRlZmluZWQgaGVhdmlzaWRlKDApIGluIGFuc3dlcgorKyAgICAg ICAgc2FnZTogYSwgY29uZCAgIyByYW5kb20gLSBzeW1weSA8MS4xMCBnaXZlcyAoLW9vLCBUcnVl KQorKyAgICAgICAgKDAsIFRydWUpCisrICAgICAgICBzYWdlOiBGICAgICAgICAjIHJhbmRvbSAt IHN5bXB5IDwxLjkgaW5jbHVkZXMgdW5kZWZpbmVkIGhlYXZpc2lkZSgwKSBpbiBhbnN3ZXIKKyAg ICAgICAgIDEKKyAgICAgICAgIHNhZ2U6IGxhcGxhY2UoZGlyYWNfZGVsdGEodCksIHQsIHMsIGFs Z29yaXRobT0nZ2lhYycpCisgICAgICAgICAxCistLSAKK2NnaXQgdjEuMC0xLWdkODhlCisKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzNTg1LWZpeF9kb2N0ZXN0 X3NwaGlueF9pbnN0YWxsZWQtYTA0YTBhMGIxNGY2N2Y0ODA0ZTcxMTNjM2RiNDFiYmNmOGE1ODI5 Ni5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzNTg1LWZpeF9kb2N0ZXN0 X3NwaGlueF9pbnN0YWxsZWQtYTA0YTBhMGIxNGY2N2Y0ODA0ZTcxMTNjM2RiNDFiYmNmOGE1ODI5 Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjhlN2JiNjRm NWIwMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMz NTg1LWZpeF9kb2N0ZXN0X3NwaGlueF9pbnN0YWxsZWQtYTA0YTBhMGIxNGY2N2Y0ODA0ZTcxMTNj M2RiNDFiYmNmOGE1ODI5Ni5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIGEwNGEwYTBiMTRm NjdmNDgwNGU3MTEzYzNkYjQxYmJjZjhhNTgyOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5l ZHUudXk+CitEYXRlOiBNb24sIDI4IE1hciAyMDIyIDIwOjM5OjU5IC0wMzAwCitTdWJqZWN0OiBU cmFjICMzMzU4NTogZml4IGRvY3Rlc3Qgd2hlbiBkb2NodG1sIGlzIG1pc3NpbmcuLi4KKworLi4u YnV0IHNwaGlueCBpcyBhdmFpbGFibGUgaW4gUFlUSE9OUEFUSC4KKy0tLQorIHNyYy9zYWdlL21p c2Mvc2FnZWRvYy5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21pc2Mvc2FnZWRvYy5weSBiL3Ny Yy9zYWdlL21pc2Mvc2FnZWRvYy5weQoraW5kZXggNGIzODUzZi4uMDhjNDIyNSAxMDA2NDQKKy0t LSBhL3NyYy9zYWdlL21pc2Mvc2FnZWRvYy5weQorKysrIGIvc3JjL3NhZ2UvbWlzYy9zYWdlZG9j LnB5CitAQCAtMTQwMSw3ICsxNDAxLDcgQEAgY2xhc3MgX3NhZ2VfZG9jOgorICAgICAgICAgICAg ICIuLi4qKkZpbGU6KiouLi4qKlR5cGU6KiouLi4qKkRlZmluaXRpb246KiogaWRlbnRpdHlfbWF0 cml4Li4uIgorICAgICAgICAgICAgIHNhZ2U6IGlkZW50aXR5X21hdHJpeC5fX2RvY19fIGluIGJy b3dzZV9zYWdlX2RvYyhpZGVudGl0eV9tYXRyaXgsICdyc3QnKQorICAgICAgICAgICAgIFRydWUK Ky0gICAgICAgICAgICBzYWdlOiBicm93c2Vfc2FnZV9kb2MoaWRlbnRpdHlfbWF0cml4LCAnaHRt bCcsIEZhbHNlKSAgICAgICAgICAgICAjIG9wdGlvbmFsIC0gc3BoaW54CisrICAgICAgICAgICAg c2FnZTogYnJvd3NlX3NhZ2VfZG9jKGlkZW50aXR5X21hdHJpeCwgJ2h0bWwnLCBGYWxzZSkgICAg ICAgICAgICAgIyBvcHRpb25hbCAtIHNwaGlueCBzYWdlbWF0aF9kb2NfaHRtbAorICAgICAgICAg ICAgICcuLi5kaXYuLi5GaWxlOi4uLlR5cGU6Li4uRGVmaW5pdGlvbjouLi5pZGVudGl0eV9tYXRy aXguLi4nCisgCisgICAgICAgICBJbiB0aGUgJ3RleHQnIHZlcnNpb24sIGRvdWJsZSBjb2xvbnMg aGF2ZSBiZWVuIHJlcGxhY2VkIHdpdGgKKy0tIAorY2dpdCB2MS4wLTEtZ2Q4OGUKKwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9zYWdlbWF0aC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2FnZW1hdGgvdGVtcGxh dGUKaW5kZXggNzEwYTllODBjMDUyLi4wMmQ0MzMzZmE1NDUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv c2FnZW1hdGgvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9zYWdlbWF0aC90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NhZ2VtYXRoJwogcGtnbmFtZT1zYWdlbWF0 aAogdmVyc2lvbj05LjUKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIHdya3NyYz1zYWdlLSR2ZXJz aW9uCiBidWlsZF93cmtzcmM9cGtncy9zYWdlbWF0aC1zdGFuZGFyZAogYnVpbGRfc3R5bGU9cHl0 aG9uMy1tb2R1bGUKQEAgLTEyLDcgKzEyLDcgQEAgaG9zdG1ha2VkZXBlbmRzPSJtNCBwa2ctY29u ZmlnIHB5dGhvbjMtQ3l0aG9uIHB5dGhvbjMtSmluamEyIHB5dGhvbjMtcGtnY29uZmlnCiBtYWtl ZGVwZW5kcz0iYXJiLWRldmVsIGJvb3N0LWRldmVsIGJyaWFsLWRldmVsIGNsaXF1ZXItZGV2ZWwg ZWNsIGVjbGliLWRldmVsCiAgZWNtLWRldmVsIGZmbGFzLWZmcGFjayBmbGludGxpYi1kZXZlbCBn YXAtZGV2ZWwgZ2QtZGV2ZWwgZ2lhYy1kZXZlbCBnbHBrLWRldmVsCiAgZ3NsLWRldmVsIGltbC1k ZXZlbCBsY2FsYy1kZXZlbCBsaWJicmFpZGluZy1kZXZlbCBsaWJob21mbHktZGV2ZWwgbGlibXBj LWRldmVsCi0gbGlicG5nLWRldmVsIGxpbmJveC1kZXZlbCBscmNhbGMtZGV2ZWwgbTRyaS1kZXZl bCBtNHJpZS1kZXZlbCBtcGZpLWRldmVsCisgbGlicG5nLWRldmVsIGxpbmJveC1kZXZlbCBtNHJp LWRldmVsIG00cmllLWRldmVsIG1wZmktZGV2ZWwKICBtcGZyLWRldmVsIG50bC1kZXZlbCBvcGVu Ymxhcy1kZXZlbCBwYXJpLWRldmVsIHBsYW5hcml0eS1kZXZlbCBweXRob24zLWN5cGFyaTIKICBw eXRob24zLWN5c2lnbmFscyBweXRob24zLWRldmVsIHB5dGhvbjMtZ21weTIgcHl0aG9uMy1tZW1v cnlfYWxsb2NhdG9yCiAgcHl0aG9uMy1udW1weSByYW5rd2lkdGgtZGV2ZWwgc2luZ3VsYXIgc3lt bWV0cmljYS1kZXZlbCB6bl9wb2x5IgpAQCAtMjAsNyArMjAsNyBAQCBkZXBlbmRzPSJGbGludFFT IGVjbGliLWRldmVsIGZmbGFzLWZmcGFjayBmbGludGxpYi1kZXZlbCBnY2MtZm9ydHJhbiBnZC1k ZXZlbAogIGdmYW4gZ2lhYyBnc2wtZGV2ZWwgZ3ppcCBsaWJwbmctZGV2ZWwgbGluYm94LWRldmVs IG00cmktZGV2ZWwgbWF4aW1hLWVjbAogIG1wZnItZGV2ZWwgbmF1dHkgbnRsLWRldmVsIHBhbHAg cGFyaS1kZXZlbCBwYXJpLWVsbGRhdGEtc21hbGwgcGFyaS1nYWxkYXRhCiAgcGFyaS1nYWxwb2wt c21hbGwgcGFyaS1zZWFkYXRhLXNtYWxsIHBrZy1jb25maWcgcHl0aG9uMy1DeXRob24gcHl0aG9u My1jeXBhcmkyCi0gcHl0aG9uMy1jeXNpZ25hbHMgcHl0aG9uMy1kZXZlbCBweXRob24zLWZweWxs bCBweXRob24zLWlweXRob24KKyBweXRob24zLWN5c2lnbmFscyBweXRob24zLWRldmVsIHB5dGhv bjMtZnB5bGxsIHB5dGhvbjMtaXB5dGhvbiBweXRob24zLWxyY2FsYwogIHB5dGhvbjMtaXB5dGhv bl9pcHlrZXJuZWwgcHl0aG9uMy1qdXB5dGVyX2lweXdpZGdldHMgcHl0aG9uMy1tYXRwbG90bGli CiAgcHl0aG9uMy1tZW1vcnlfYWxsb2NhdG9yIHB5dGhvbjMtbmV0d29ya3ggcHl0aG9uMy1waXAg cHl0aG9uMy1wa2djb25maWcKICBweXRob24zLXBwbHB5IHB5dGhvbjMtcHJpbWVjb3VudHB5IHB5 dGhvbjMtcmVxdWVzdHMgcHl0aG9uMy1zY2lweQo= --===============6700604899478707912==--