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 8171 invoked from network); 1 Apr 2022 10:01:51 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 1 Apr 2022 10:01:51 -0000 Content-Type: multipart/mixed; boundary="===============4642015914509519291==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_packages=3A_highway=2C_libjxl=2C_qt-jpegxl-image-plugin?= To: ml@inbox.vuxu.org From: joshuakraemer Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 01 Apr 2022 12:01:50 +0200 List-Id: Message-ID: <20220401100150.w1QMHtvTUMh7cG9OXMv-mzPySdeMxAjJEf4vhVpRc6E@z> GitHub notification mails are now in MIME to allow UTF8. --===============4642015914509519291== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgam9zaHVha3JhZW1lciBhZ2FpbnN0 IG1hc3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5j b20vam9zaHVha3JhZW1lci92b2lkLXBhY2thZ2VzIGpwZWcteGwKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMxMzk3CgpOZXcgcGFja2FnZXM6IGhpZ2h3 YXksIGxpYmp4bCwgcXQtanBlZ3hsLWltYWdlLXBsdWdpbgojIyMjIEdlbmVyYWwNCi0gW3hdIFRo aXMgaXMgYSBuZXcgcGFja2FnZSBhbmQgaXQgY29uZm9ybXMgdG8gdGhlIFtxdWFsaXR5IHJlcXVp cmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9i L21hc3Rlci9NYW51YWwubWQjcXVhbGl0eS1yZXF1aXJlbWVudHMpDQoNCiMjIyMgSGF2ZSB0aGUg cmVzdWx0cyBvZiB0aGUgcHJvcG9zZWQgY2hhbmdlcyBiZWVuIHRlc3RlZD8NCi0gW3hdIEkgdXNl IHRoZSBwYWNrYWdlcyBhZmZlY3RlZCBieSB0aGUgcHJvcG9zZWQgY2hhbmdlcyBvbiBhIHJlZ3Vs YXIgYmFzaXMgYW5kIGNvbmZpcm0gdGhpcyBQUiB3b3JrcyBmb3IgbWUNCg0KVGhlc2UgcGFja2Fn ZXMgcHJvdmlkZSBzdXBwb3J0IGZvciB0aGUgSlBFRyBYTCBpbWFnZSBmb3JtYXQuCgpBIHBhdGNo IGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1 bGwvMzEzOTcucGF0Y2ggaXMgYXR0YWNoZWQ= --===============4642015914509519291== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-jpeg-xl-31397.patch" RnJvbSA1YjNiMzFjZmNkOWI3MTNmYzMzMzExOWQyNjhkYmU4ODMyNTkxOTkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sm9zaHVhPTIwS3I9QzM9QTRtZXI/PSA8am9z aHVhQGtyYWVtZXIubGluaz4KRGF0ZTogV2VkLCA5IEp1biAyMDIxIDAwOjQ0OjM3ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAxLzNdIE5ldyBwYWNrYWdlOiBoaWdod2F5LTAuMTYuMAoKLS0tCiBzcmNw a2dzL2hpZ2h3YXkvdGVtcGxhdGUgfCAxNyArKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5n ZWQsIDE3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2hpZ2h3YXkv dGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2hpZ2h3YXkvdGVtcGxhdGUgYi9zcmNwa2dz L2hpZ2h3YXkvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5hNWMxYmYyODRjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2hpZ2h3YXkvdGVtcGxh dGUKQEAgLTAsMCArMSwxNyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnaGlnaHdheScKK3BrZ25h bWU9aGlnaHdheQordmVyc2lvbj0wLjE2LjAKK3JldmlzaW9uPTEKK2J1aWxkX3N0eWxlPWNtYWtl Citjb25maWd1cmVfYXJncz0iLURIV1lfU1lTVEVNX0dURVNUPU9OIgorY2hlY2tkZXBlbmRzPSJn dGVzdC1kZXZlbCIKK3Nob3J0X2Rlc2M9IkMrKyBsaWJyYXJ5IHByb3ZpZGluZyBwb3J0YWJsZSBT SU1EL3ZlY3RvciBpbnRyaW5zaWNzIgorbWFpbnRhaW5lcj0iSm9zaHVhIEtyw6RtZXIgPGpvc2h1 YUBrcmFlbWVyLmxpbms+IgorbGljZW5zZT0iQXBhY2hlLTIuMCIKK2hvbWVwYWdlPSJodHRwczov L2dpdGh1Yi5jb20vZ29vZ2xlL2hpZ2h3YXkiCitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNv bS9nb29nbGUvaGlnaHdheS9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NzQ2 Yzk1Nzg0NDZiZTZjNTI4NmU4ODQ2YzVmMGQ0MTE4YzBjMWYwNDIxOWM0MDFhYmFkY2I4YTVmMjA1 MTg5MworCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwljb25maWd1cmVfYXJncys9IiAt REJVSUxEX1RFU1RJTkc9T0ZGIgorZmkKCkZyb20gNjFlMDJmMzY3YWNiOTc3NjFhYmY3NTNhOTgw NDIzMTE2YTk0NDc2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0pv c2h1YT0yMEtyPUMzPUE0bWVyPz0gPGpvc2h1YUBrcmFlbWVyLmxpbms+CkRhdGU6IFdlZCwgOSBK dW4gMjAyMSAwMTo1MjoyOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBOZXcgcGFja2FnZTog bGlianhsLTAuNi4xCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArCiBzcmNwa2dzL2xpYmp4bC1kZXZlbCAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDEgKwogc3JjcGtncy9saWJqeGwtcGx1Z2lucyAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAxICsKIHNyY3BrZ3MvbGlianhsLXRvb2xzICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiAuLi4vZGVwcmVjYXRlZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRjaCAgICAgICAg fCA0NTkgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2xpYmp4bC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgfCAgNzcgKysrCiA2IGZpbGVzIGNoYW5nZWQsIDU0MSBpbnNlcnRpb25z KCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJqeGwtZGV2ZWwKIGNyZWF0ZSBtb2Rl IDEyMDAwMCBzcmNwa2dzL2xpYmp4bC1wbHVnaW5zCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtn cy9saWJqeGwtdG9vbHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmp4bC9wYXRjaGVz L2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5jdGlvbnMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2xpYmp4bC90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21t b24vc2hsaWJzCmluZGV4IGNjYzU1YTFiMzc3Mi4uMTQ0NmM4NDhmZjlmIDEwMDY0NAotLS0gYS9j b21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTQxNDUsMyArNDE0NSw1IEBAIGxp YnJ6X2xhbmcuc28uMC4zLjQgcml6aW4tMC4zLjRfMQogbGlicnpfc2VhcmNoLnNvLjAuMy40IHJp emluLTAuMy40XzEKIGxpYnJ6X2Jpbi5zby4wLjMuNCByaXppbi0wLjMuNF8xCiBsaWJhcmF2aXMt MC44LnNvLjAgbGliYXJhdmlzLTAuOC4yMV8xCitsaWJqeGwuc28uMC42IGxpYmp4bC0wLjYuMV8x CitsaWJqeGxfdGhyZWFkcy5zby4wLjYgbGlianhsLTAuNi4xXzEKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbGlianhsLWRldmVsIGIvc3JjcGtncy9saWJqeGwtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAw MDAKaW5kZXggMDAwMDAwMDAwMDAwLi5kZGMxYWJmODI3ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL2xpYmp4bC1kZXZlbApAQCAtMCwwICsxIEBACitsaWJqeGwKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmp4bC1wbHVnaW5zIGIvc3JjcGtn cy9saWJqeGwtcGx1Z2lucwpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAu LmRkYzFhYmY4MjdkOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlianhsLXBsdWdpbnMK QEAgLTAsMCArMSBAQAorbGlianhsClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9saWJqeGwtdG9vbHMgYi9zcmNwa2dzL2xpYmp4bC10b29scwpuZXcgZmls ZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmRkYzFhYmY4MjdkOQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvbGlianhsLXRvb2xzCkBAIC0wLDAgKzEgQEAKK2xpYmp4bApcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlianhsL3BhdGNo ZXMvZGVwcmVjYXRlZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRjaCBiL3NyY3BrZ3MvbGlianhsL3Bh dGNoZXMvZGVwcmVjYXRlZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmE3NzVlYjVhN2M1NgotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvbGlianhsL3BhdGNoZXMvZGVwcmVjYXRlZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRj aApAQCAtMCwwICsxLDQ1OSBAQAorZGlmZiAtLWdpdCBhL2xpYi9qeGwvZGVjX3JlY29uc3RydWN0 LmNjIGIvbGliL2p4bC9kZWNfcmVjb25zdHJ1Y3QuY2MKK2luZGV4IGExYmFlZjQuLjA4Mjc5Zjgg MTAwNjQ0CistLS0gYS9saWIvanhsL2RlY19yZWNvbnN0cnVjdC5jYworKysrIGIvbGliL2p4bC9k ZWNfcmVjb25zdHJ1Y3QuY2MKK0BAIC0zNTcsOCArMzU3LDggQEAgdm9pZCBEb1lDYkNyVXBzYW1w bGluZyhzaXplX3QgaHMsIHNpemVfdCB2cywgSW1hZ2VGKiBwbGFuZV9pbiwgY29uc3QgUmVjdCYg cmVjdCwKKyAgICAgICAgIFN0b3JlKGxlZnQsIGQsIG91dCArIHgpOworICAgICAgICAgU3RvcmUo cmlnaHQsIGQsIG91dCArIHggKyAxKTsKKyAjZWxzZQorLSAgICAgICAgU3RvcmUoSW50ZXJsZWF2 ZUxvd2VyKGxlZnQsIHJpZ2h0KSwgZCwgb3V0ICsgeCk7CistICAgICAgICBTdG9yZShJbnRlcmxl YXZlVXBwZXIobGVmdCwgcmlnaHQpLCBkLCBvdXQgKyB4ICsgTGFuZXMoZCkpOworKyAgICAgICAg U3RvcmUoSW50ZXJsZWF2ZUxvd2VyKGQsIGxlZnQsIHJpZ2h0KSwgZCwgb3V0ICsgeCk7CisrICAg ICAgICBTdG9yZShJbnRlcmxlYXZlVXBwZXIoZCwgbGVmdCwgcmlnaHQpLCBkLCBvdXQgKyB4ICsg TGFuZXMoZCkpOworICNlbmRpZgorICAgICAgIH0KKyAgICAgfQorZGlmZiAtLWdpdCBhL2xpYi9q eGwvZGVjX3Vwc2FtcGxlLmNjIGIvbGliL2p4bC9kZWNfdXBzYW1wbGUuY2MKK2luZGV4IDcyNzdl NGYuLjNjYjNmMzYgMTAwNjQ0CistLS0gYS9saWIvanhsL2RlY191cHNhbXBsZS5jYworKysrIGIv bGliL2p4bC9kZWNfdXBzYW1wbGUuY2MKK0BAIC0xNzYsOCArMTc2LDggQEAgdm9pZCBVcHNhbXBs ZShjb25zdCBJbWFnZUYmIHNyYywgY29uc3QgUmVjdCYgc3JjX3JlY3QsIEltYWdlRiogZHN0LAor ICAgICAgICAgbWluID0gTWluKExvYWRVKGRmLCByYXdfbWluX3JvdyArIHN4ICsgZngpLCBtaW4p OworICAgICAgICAgbWF4ID0gTWF4KExvYWRVKGRmLCByYXdfbWF4X3JvdyArIHN4ICsgZngpLCBt YXgpOworICAgICAgIH0KKy0gICAgICBtaW4gPSBNaW5PZkxhbmVzKG1pbik7CistICAgICAgbWF4 ID0gTWF4T2ZMYW5lcyhtYXgpOworKyAgICAgIG1pbiA9IE1pbk9mTGFuZXMoZGYsIG1pbik7Cisr ICAgICAgbWF4ID0gTWF4T2ZMYW5lcyhkZiwgbWF4KTsKKyAgICAgICBmb3IgKHNpemVfdCBseCA9 IDA7IGx4IDwgTjsgbHggKz0gVikgeworICAgICAgICAgU3RvcmVVKG1pbiwgZGYsIG1pbl9yb3cg KyBOICogc3ggKyBseCk7CisgICAgICAgICBTdG9yZVUobWF4LCBkZiwgbWF4X3JvdyArIE4gKiBz eCArIGx4KTsKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19hY19zdHJhdGVneS5jYyBiL2xpYi9q eGwvZW5jX2FjX3N0cmF0ZWd5LmNjCitpbmRleCBiYzUwNDY1Li5jMGVkNjhmIDEwMDY0NAorLS0t IGEvbGliL2p4bC9lbmNfYWNfc3RyYXRlZ3kuY2MKKysrKyBiL2xpYi9qeGwvZW5jX2FjX3N0cmF0 ZWd5LmNjCitAQCAtNDI5LDggKzQyOSw4IEBAIGZsb2F0IEVzdGltYXRlRW50cm9weShjb25zdCBB Y1N0cmF0ZWd5JiBhY3MsIHNpemVfdCB4LCBzaXplX3QgeSwKKyAgICAgfQorICAgICBlbnRyb3B5 X3YgKz0gbnplcm9zX3YgKiBjb3N0MTsKKyAKKy0gICAgZW50cm9weSArPSBHZXRMYW5lKFN1bU9m TGFuZXMoZW50cm9weV92KSk7CistICAgIHNpemVfdCBudW1fbnplcm9zID0gR2V0TGFuZShTdW1P ZkxhbmVzKG56ZXJvc192KSk7CisrICAgIGVudHJvcHkgKz0gR2V0TGFuZShTdW1PZkxhbmVzKGRm LCBlbnRyb3B5X3YpKTsKKysgICAgc2l6ZV90IG51bV9uemVyb3MgPSBHZXRMYW5lKFN1bU9mTGFu ZXMoZGYsIG56ZXJvc192KSk7CisgICAgIC8vIEFkZCAjYml0IG9mIG51bV9ub256ZXJvcywgYXMg YW4gZXN0aW1hdGUgb2YgdGhlIGNvc3QgZm9yIGVuY29kaW5nIHRoZQorICAgICAvLyBudW1iZXIg b2Ygbm9uLXplcm9zIG9mIHRoZSBibG9jay4KKyAgICAgc2l6ZV90IG5iaXRzID0gQ2VpbExvZzJO b256ZXJvKG51bV9uemVyb3MgKyAxKSArIDE7CitAQCAtNDQxLDkgKzQ0MSw5IEBAIGZsb2F0IEVz dGltYXRlRW50cm9weShjb25zdCBBY1N0cmF0ZWd5JiBhY3MsIHNpemVfdCB4LCBzaXplX3QgeSwK KyAgIGZsb2F0IHJldCA9CisgICAgICAgZW50cm9weSArCisgICAgICAgbWFza2luZyAqCistICAg ICAgICAgICgoY29uZmlnLmluZm9fbG9zc19tdWx0aXBsaWVyICogR2V0TGFuZShTdW1PZkxhbmVz KGluZm9fbG9zcykpKSArCisrICAgICAgICAgICgoY29uZmlnLmluZm9fbG9zc19tdWx0aXBsaWVy ICogR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBpbmZvX2xvc3MpKSkgKworICAgICAgICAgICAgKGNv bmZpZy5pbmZvX2xvc3NfbXVsdGlwbGllcjIgKgorLSAgICAgICAgICAgIHNxcnQobnVtX2Jsb2Nr cyAqIEdldExhbmUoU3VtT2ZMYW5lcyhpbmZvX2xvc3MyKSkpKSk7CisrICAgICAgICAgICAgc3Fy dChudW1fYmxvY2tzICogR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBpbmZvX2xvc3MyKSkpKSk7Cisg ICByZXR1cm4gcmV0OworIH0KKyAKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19hZGFwdGl2ZV9x dWFudGl6YXRpb24uY2MgYi9saWIvanhsL2VuY19hZGFwdGl2ZV9xdWFudGl6YXRpb24uY2MKK2lu ZGV4IGY1MzM5M2YuLjI0ZjNkNTMgMTAwNjQ0CistLS0gYS9saWIvanhsL2VuY19hZGFwdGl2ZV9x dWFudGl6YXRpb24uY2MKKysrKyBiL2xpYi9qeGwvZW5jX2FkYXB0aXZlX3F1YW50aXphdGlvbi5j YworQEAgLTE4OSw3ICsxODksNyBAQCBWIEdhbW1hTW9kdWxhdGlvbihjb25zdCBEIGQsIGNvbnN0 IHNpemVfdCB4LCBjb25zdCBzaXplX3QgeSwKKyAgICAgICBvdmVyYWxsX3JhdGlvICs9IGF2Z19y YXRpbzsKKyAgICAgfQorICAgfQorLSAgb3ZlcmFsbF9yYXRpbyA9IFN1bU9mTGFuZXMob3ZlcmFs bF9yYXRpbyk7CisrICBvdmVyYWxsX3JhdGlvID0gU3VtT2ZMYW5lcyhkLCBvdmVyYWxsX3JhdGlv KTsKKyAgIG92ZXJhbGxfcmF0aW8gKj0gU2V0KGQsIDEuMGYgLyA2NCk7CisgICAvLyBpZGVhbGx5 IC0xLjAsIGJ1dCBsaWtlbHkgb3B0aW1hbCBjb3JyZWN0aW9uIGFkZHMgc29tZSBlbnRyb3B5LCBz byBzbGlnaHRseQorICAgLy8gbGVzcyB0aGFuIHRoYXQuCitAQCAtMjQ2LDEyICsyNDYsMTIgQEAg ViBDb2xvck1vZHVsYXRpb24oY29uc3QgRCBkLCBjb25zdCBzaXplX3QgeCwgY29uc3Qgc2l6ZV90 IHksCisgICAvLyBibHVlIHdlIGNvbnNpZGVyIGFzIGlmIGl0IHdhcyBmdWxseSByZWQgb3IgYmx1 ZS4KKyAgIHN0YXRpYyBjb25zdCBmbG9hdCByYXRpbyA9IDMwLjYxMDYxNTc4MjE0MjczN2Y7ICAv LyBvdXQgb2YgNjQgcGl4ZWxzLgorIAorLSAgYXV0byBvdmVyYWxsX3JlZF9jb3ZlcmFnZSA9IFN1 bU9mTGFuZXMocmVkX2NvdmVyYWdlKTsKKysgIGF1dG8gb3ZlcmFsbF9yZWRfY292ZXJhZ2UgPSBT dW1PZkxhbmVzKGQsIHJlZF9jb3ZlcmFnZSk7CisgICBvdmVyYWxsX3JlZF9jb3ZlcmFnZSA9Cisg ICAgICAgTWluKG92ZXJhbGxfcmVkX2NvdmVyYWdlLCBTZXQoZCwgcmF0aW8gKiBrUmVkUmFtcExl bmd0aCkpOworICAgb3ZlcmFsbF9yZWRfY292ZXJhZ2UgKj0gU2V0KGQsIHJlZF9zdHJlbmd0aCAv IHJhdGlvKTsKKyAKKy0gIGF1dG8gb3ZlcmFsbF9ibHVlX2NvdmVyYWdlID0gU3VtT2ZMYW5lcyhi bHVlX2NvdmVyYWdlKTsKKysgIGF1dG8gb3ZlcmFsbF9ibHVlX2NvdmVyYWdlID0gU3VtT2ZMYW5l cyhkLCBibHVlX2NvdmVyYWdlKTsKKyAgIG92ZXJhbGxfYmx1ZV9jb3ZlcmFnZSA9CisgICAgICAg TWluKG92ZXJhbGxfYmx1ZV9jb3ZlcmFnZSwgU2V0KGQsIHJhdGlvICoga0JsdWVSYW1wTGVuZ3Ro KSk7CisgICBvdmVyYWxsX2JsdWVfY292ZXJhZ2UgKj0gU2V0KGQsIGJsdWVfc3RyZW5ndGggLyBy YXRpbyk7CitAQCAtMjk1LDcgKzI5NSw3IEBAIFYgSGZNb2R1bGF0aW9uKGNvbnN0IEQgZCwgY29u c3Qgc2l6ZV90IHgsIGNvbnN0IHNpemVfdCB5LCBjb25zdCBJbWFnZUYmIHh5YiwKKyAgICAgfQor ICAgfQorIAorLSAgc3VtID0gU3VtT2ZMYW5lcyhzdW0pOworKyAgc3VtID0gU3VtT2ZMYW5lcyhk LCBzdW0pOworICAgcmV0dXJuIE11bEFkZChzdW0sIFNldChkLCAtMi4wMDUyMTkzMjMzNjg4ODg0 ZiAvIDExMiksIG91dF92YWwpOworIH0KKyAKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19hcl9j b250cm9sX2ZpZWxkLmNjIGIvbGliL2p4bC9lbmNfYXJfY29udHJvbF9maWVsZC5jYworaW5kZXgg ZjQzMzQwZS4uZjgwMjVhYyAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvZW5jX2FyX2NvbnRyb2xfZmll bGQuY2MKKysrKyBiL2xpYi9qeGwvZW5jX2FyX2NvbnRyb2xfZmllbGQuY2MKK0BAIC0xNTcsNyAr MTU3LDcgQEAgdm9pZCBQcm9jZXNzVGlsZShjb25zdCBJbWFnZTNGJiBvcHNpbiwgUGFzc2VzRW5j b2RlclN0YXRlKiBlbmNfc3RhdGUsCisgICAgICAgICAgIHN1bSArPSBMb2FkVShkZjQsIHJvd3Nf aW5baXldICsgeCAqIDQgKyBpeCArIDIpOworICAgICAgICAgfQorICAgICAgIH0KKy0gICAgICBy b3dfb3V0W3hdID0gR2V0TGFuZShTcXJ0KFN1bU9mTGFuZXMoc3VtKSkpICogKDEuMGYgLyA0LjBm KTsKKysgICAgICByb3dfb3V0W3hdID0gR2V0TGFuZShTcXJ0KFN1bU9mTGFuZXMoZGY0LCBzdW0p KSkgKiAoMS4wZiAvIDQuMGYpOworICAgICB9CisgICB9CisgICAvLyBJbmRleGluZyBpeSBhbmQg aXggaXMgYSBiaXQgdHJpY2t5IGFzIHdlIGluY2x1ZGUgYSAyIHBpeGVsIGJvcmRlcgorQEAgLTE5 Myw3ICsxOTMsNyBAQCB2b2lkIFByb2Nlc3NUaWxlKGNvbnN0IEltYWdlM0YmIG9wc2luLCBQYXNz ZXNFbmNvZGVyU3RhdGUqIGVuY19zdGF0ZSwKKyAgICAgICAgICAgICBzdW0gKz0gTG9hZChkZjQs IHJvd3NfaW5baXldICsgc3ggKyBpeCk7CisgICAgICAgICAgIH0KKyAgICAgICAgIH0KKy0gICAg ICAgIHJvd19vdXRbeF0gPSBHZXRMYW5lKFNxcnQoU3VtT2ZMYW5lcyhzdW0pKSkgKiAoMS4wZiAv IDQuMGYpOworKyAgICAgICAgcm93X291dFt4XSA9IEdldExhbmUoU3FydChTdW1PZkxhbmVzKGRm NCwgc3VtKSkpICogKDEuMGYgLyA0LjBmKTsKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgZmxv YXQgc3VtID0gMDsKKyAgICAgICAgIGZvciAoc2l6ZV90IGl5ID0gc3k7IGl5IDwgZXk7IGl5Kysp IHsKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19idXR0ZXJhdWdsaV9wbm9ybS5jYyBiL2xpYi9q eGwvZW5jX2J1dHRlcmF1Z2xpX3Bub3JtLmNjCitpbmRleCA3YzNmYjljLi45MGIwNDQwIDEwMDY0 NAorLS0tIGEvbGliL2p4bC9lbmNfYnV0dGVyYXVnbGlfcG5vcm0uY2MKKysrKyBiL2xpYi9qeGwv ZW5jX2J1dHRlcmF1Z2xpX3Bub3JtLmNjCitAQCAtOTUsMTMgKzk1LDEzIEBAIGRvdWJsZSBDb21w dXRlRGlzdGFuY2VQKGNvbnN0IEltYWdlRiYgZGlzdG1hcCwgY29uc3QgQnV0dGVyYXVnbGlQYXJh bXMmIHBhcmFtcywKKyAgICAgfQorICAgICBkb3VibGUgdiA9IDA7CisgICAgIHYgKz0gcG93KAor LSAgICAgICAgb25lUGVyUGl4ZWxzICogKHN1bTFbMF0gKyBHZXRMYW5lKFN1bU9mTGFuZXMoTG9h ZChkLCBzdW1fdG90YWxzMCkpKSksCisrICAgICAgICBvbmVQZXJQaXhlbHMgKiAoc3VtMVswXSAr IEdldExhbmUoU3VtT2ZMYW5lcyhkLCBMb2FkKGQsIHN1bV90b3RhbHMwKSkpKSwKKyAgICAgICAg IDEuMCAvIChwICogMS4wKSk7CisgICAgIHYgKz0gcG93KAorLSAgICAgICAgb25lUGVyUGl4ZWxz ICogKHN1bTFbMV0gKyBHZXRMYW5lKFN1bU9mTGFuZXMoTG9hZChkLCBzdW1fdG90YWxzMSkpKSks CisrICAgICAgICBvbmVQZXJQaXhlbHMgKiAoc3VtMVsxXSArIEdldExhbmUoU3VtT2ZMYW5lcyhk LCBMb2FkKGQsIHN1bV90b3RhbHMxKSkpKSwKKyAgICAgICAgIDEuMCAvIChwICogMi4wKSk7Cisg ICAgIHYgKz0gcG93KAorLSAgICAgICAgb25lUGVyUGl4ZWxzICogKHN1bTFbMl0gKyBHZXRMYW5l KFN1bU9mTGFuZXMoTG9hZChkLCBzdW1fdG90YWxzMikpKSksCisrICAgICAgICBvbmVQZXJQaXhl bHMgKiAoc3VtMVsyXSArIEdldExhbmUoU3VtT2ZMYW5lcyhkLCBMb2FkKGQsIHN1bV90b3RhbHMy KSkpKSwKKyAgICAgICAgIDEuMCAvIChwICogNC4wKSk7CisgICAgIHYgLz0gMy4wOworICAgICBy ZXR1cm4gdjsKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19jaHJvbWFfZnJvbV9sdW1hLmNjIGIv bGliL2p4bC9lbmNfY2hyb21hX2Zyb21fbHVtYS5jYworaW5kZXggZTVjM2YzOC4uMzcwNTk1YyAx MDA2NDQKKy0tLSBhL2xpYi9qeGwvZW5jX2Nocm9tYV9mcm9tX2x1bWEuY2MKKysrKyBiL2xpYi9q eGwvZW5jX2Nocm9tYV9mcm9tX2x1bWEuY2MKK0BAIC05MSw5ICs5MSw5IEBAIHN0cnVjdCBDRkxG dW5jdGlvbiB7CisgICAgICAgZmRtZV92ICs9IElmVGhlbkVsc2UoYXYgPj0gdGhyZXMsIHplcm8s IGRtZSk7CisgICAgIH0KKyAKKy0gICAgKmZwZXBzID0gZmlyc3RfZGVyaXZhdGl2ZV9wZXBzICsg R2V0TGFuZShTdW1PZkxhbmVzKGZkcGVfdikpOworLSAgICAqZm1lcHMgPSBmaXJzdF9kZXJpdmF0 aXZlX21lcHMgKyBHZXRMYW5lKFN1bU9mTGFuZXMoZmRtZV92KSk7CistICAgIHJldHVybiBmaXJz dF9kZXJpdmF0aXZlICsgR2V0TGFuZShTdW1PZkxhbmVzKGZkX3YpKTsKKysgICAgKmZwZXBzID0g Zmlyc3RfZGVyaXZhdGl2ZV9wZXBzICsgR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBmZHBlX3YpKTsK KysgICAgKmZtZXBzID0gZmlyc3RfZGVyaXZhdGl2ZV9tZXBzICsgR2V0TGFuZShTdW1PZkxhbmVz KGRmLCBmZG1lX3YpKTsKKysgICAgcmV0dXJuIGZpcnN0X2Rlcml2YXRpdmUgKyBHZXRMYW5lKFN1 bU9mTGFuZXMoZGYsIGZkX3YpKTsKKyAgIH0KKyAKKyAgIGNvbnN0IGZsb2F0KiBKWExfUkVTVFJJ Q1QgdmFsdWVzX207CitAQCAtMTI0LDggKzEyNCw4IEBAIGludDMyX3QgRmluZEJlc3RNdWx0aXBs aWVyKGNvbnN0IGZsb2F0KiB2YWx1ZXNfbSwgY29uc3QgZmxvYXQqIHZhbHVlc19zLAorICAgICAg IGNiID0gTXVsQWRkKGEsIGIsIGNiKTsKKyAgICAgfQorICAgICAvLyArIGRpc3RhbmNlX211bCAq IHheMiAqIG51bQorLSAgICB4ID0gLUdldExhbmUoU3VtT2ZMYW5lcyhjYikpIC8KKy0gICAgICAg IChHZXRMYW5lKFN1bU9mTGFuZXMoY2EpKSArIG51bSAqIGRpc3RhbmNlX211bCAqIDAuNWYpOwor KyAgICB4ID0gLUdldExhbmUoU3VtT2ZMYW5lcyhkZiwgY2IpKSAvCisrICAgICAgICAoR2V0TGFu ZShTdW1PZkxhbmVzKGRmLCBjYSkpICsgbnVtICogZGlzdGFuY2VfbXVsICogMC41Zik7CisgICB9 IGVsc2UgeworICAgICBjb25zdGV4cHIgZmxvYXQgZXBzID0gMTsKKyAgICAgY29uc3RleHByIGZs b2F0IGtDbGFtcCA9IDIwLjBmOworZGlmZiAtLWdpdCBhL2xpYi9qeGwvZW5jX2NsdXN0ZXIuY2Mg Yi9saWIvanhsL2VuY19jbHVzdGVyLmNjCitpbmRleCAxZjEyYTI5Li44YWU4NjNjIDEwMDY0NAor LS0tIGEvbGliL2p4bC9lbmNfY2x1c3Rlci5jYworKysrIGIvbGliL2p4bC9lbmNfY2x1c3Rlci5j YworQEAgLTQ5LDcgKzQ5LDcgQEAgdm9pZCBIaXN0b2dyYW1FbnRyb3B5KGNvbnN0IEhpc3RvZ3Jh bSYgYSkgeworICAgICBjb25zdCBhdXRvIGNvdW50cyA9IExvYWRVKGRpLCAmYS5kYXRhX1tpXSk7 CisgICAgIGVudHJvcHlfbGFuZXMgKz0gRW50cm9weShDb252ZXJ0VG8oZGYsIGNvdW50cyksIGlu dl90b3QsIHRvdGFsKTsKKyAgIH0KKy0gIGEuZW50cm9weV8gKz0gR2V0TGFuZShTdW1PZkxhbmVz KGVudHJvcHlfbGFuZXMpKTsKKysgIGEuZW50cm9weV8gKz0gR2V0TGFuZShTdW1PZkxhbmVzKGRm LCBlbnRyb3B5X2xhbmVzKSk7CisgfQorIAorIGZsb2F0IEhpc3RvZ3JhbURpc3RhbmNlKGNvbnN0 IEhpc3RvZ3JhbSYgYSwgY29uc3QgSGlzdG9ncmFtJiBiKSB7CitAQCAtNzEsNyArNzEsNyBAQCBm bG9hdCBIaXN0b2dyYW1EaXN0YW5jZShjb25zdCBIaXN0b2dyYW0mIGEsIGNvbnN0IEhpc3RvZ3Jh bSYgYikgeworICAgICBjb25zdCBhdXRvIGNvdW50cyA9IENvbnZlcnRUbyhkZiwgYV9jb3VudHMg KyBiX2NvdW50cyk7CisgICAgIGRpc3RhbmNlX2xhbmVzICs9IEVudHJvcHkoY291bnRzLCBpbnZf dG90LCB0b3RhbCk7CisgICB9CistICBjb25zdCBmbG9hdCB0b3RhbF9kaXN0YW5jZSA9IEdldExh bmUoU3VtT2ZMYW5lcyhkaXN0YW5jZV9sYW5lcykpOworKyAgY29uc3QgZmxvYXQgdG90YWxfZGlz dGFuY2UgPSBHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGRpc3RhbmNlX2xhbmVzKSk7CisgICByZXR1 cm4gdG90YWxfZGlzdGFuY2UgLSBhLmVudHJvcHlfIC0gYi5lbnRyb3B5XzsKKyB9CisgCitkaWZm IC0tZ2l0IGEvbGliL2p4bC9lbmNfZW50cm9weV9jb2Rlci5jYyBiL2xpYi9qeGwvZW5jX2VudHJv cHlfY29kZXIuY2MKK2luZGV4IDA5NDYzMDAuLjA3ZmU1YTAgMTAwNjQ0CistLS0gYS9saWIvanhs L2VuY19lbnRyb3B5X2NvZGVyLmNjCisrKysgYi9saWIvanhsL2VuY19lbnRyb3B5X2NvZGVyLmNj CitAQCAtODYsNyArODYsNyBAQCBpbnQzMl90IE51bU5vblplcm9FeGNlcHRMTEYoY29uc3Qgc2l6 ZV90IGN4LCBjb25zdCBzaXplX3QgY3ksCisgCisgICAvLyBXZSB3YW50IGFyZWEgLSBzdW1femVy bywgYWRkIGJlY2F1c2UgbmVnX3N1bV96ZXJvIGlzIGFscmVhZHkgbmVnYXRlZC4KKyAgIGNvbnN0 IGludDMyX3Qgbnplcm9zID0KKy0gICAgICBpbnQzMl90KGN4ICogY3kgKiBrRENUQmxvY2tTaXpl KSArIEdldExhbmUoU3VtT2ZMYW5lcyhuZWdfc3VtX3plcm8pKTsKKysgICAgICBpbnQzMl90KGN4 ICogY3kgKiBrRENUQmxvY2tTaXplKSArIEdldExhbmUoU3VtT2ZMYW5lcyhkaSwgbmVnX3N1bV96 ZXJvKSk7CisgCisgICBjb25zdCBpbnQzMl90IHNoaWZ0ZWRfbnplcm9zID0gc3RhdGljX2Nhc3Q8 aW50MzJfdD4oCisgICAgICAgKG56ZXJvcyArIGNvdmVyZWRfYmxvY2tzIC0gMSkgPj4gbG9nMl9j b3ZlcmVkX2Jsb2Nrcyk7CitAQCAtMTM1LDcgKzEzNSw3IEBAIGludDMyX3QgTnVtTm9uWmVybzh4 OEV4Y2VwdERDKGNvbnN0IGludDMyX3QqIEpYTF9SRVNUUklDVCBibG9jaywKKyAKKyAgIC8vIFdl IHdhbnQgNjQgLSBzdW1femVybywgYWRkIGJlY2F1c2UgbmVnX3N1bV96ZXJvIGlzIGFscmVhZHkg bmVnYXRlZC4KKyAgIGNvbnN0IGludDMyX3Qgbnplcm9zID0KKy0gICAgICBpbnQzMl90KGtEQ1RC bG9ja1NpemUpICsgR2V0TGFuZShTdW1PZkxhbmVzKG5lZ19zdW1femVybykpOworKyAgICAgIGlu dDMyX3Qoa0RDVEJsb2NrU2l6ZSkgKyBHZXRMYW5lKFN1bU9mTGFuZXMoZGksIG5lZ19zdW1femVy bykpOworIAorICAgKm56ZXJvc19wb3MgPSBuemVyb3M7CisgCitkaWZmIC0tZ2l0IGEvbGliL2p4 bC9lbmNfZmFzdF9oZXVyaXN0aWNzLmNjIGIvbGliL2p4bC9lbmNfZmFzdF9oZXVyaXN0aWNzLmNj CitpbmRleCAxNmY3NjcwLi4wNTUxNzgyIDEwMDY0NAorLS0tIGEvbGliL2p4bC9lbmNfZmFzdF9o ZXVyaXN0aWNzLmNjCisrKysgYi9saWIvanhsL2VuY19mYXN0X2hldXJpc3RpY3MuY2MKK0BAIC05 NCw4ICs5NCw4IEBAIFN0YXR1cyBIZXVyaXN0aWNzKFBhc3Nlc0VuY29kZXJTdGF0ZSogZW5jX3N0 YXRlLAorICAgICAgICAgICAgICAgY2IgPSBNdWxBZGQoYSwgYiwgY2IpOworICAgICAgICAgICAg IH0KKyAgICAgICAgICAgfQorLSAgICAgICAgICBmbG9hdCBiZXN0ID0KKy0gICAgICAgICAgICAg IC1HZXRMYW5lKFN1bU9mTGFuZXMoY2IpKSAvIChHZXRMYW5lKFN1bU9mTGFuZXMoY2EpKSArIDFl LTlmKTsKKysgICAgICAgICAgZmxvYXQgYmVzdCA9IC1HZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGNi KSkgLworKyAgICAgICAgICAgICAgICAgICAgICAgKEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgY2Ep KSArIDFlLTlmKTsKKyAgICAgICAgICAgaW50OF90JiByZXMgPSAoYyA9PSAwID8gc2hhcmVkLmNt YXAueXRveF9tYXAgOiBzaGFyZWQuY21hcC55dG9iX21hcCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLlJvdyh0eSlbdHhdOworICAgICAgICAgICByZXMgPSBzdGQ6Om1heCgtMTI4LjBm LCBzdGQ6Om1pbigxMjcuMGYsIHJvdW5kZihiZXN0KSkpOworQEAgLTEyNCw4ICsxMjQsOCBAQCBT dGF0dXMgSGV1cmlzdGljcyhQYXNzZXNFbmNvZGVyU3RhdGUqIGVuY19zdGF0ZSwKKyAgICAgICAg ICAgICAgICAgbWF4ID0gSWZUaGVuRWxzZShtYXggPiBubiwgbWF4LCBubik7CisgICAgICAgICAg ICAgICB9CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHJvd19vdXRfYXZnW3hdID0gR2V0 TGFuZShTdW1PZkxhbmVzKHN1bSkpOworLSAgICAgICAgICAgIHJvd19vdXRbeF0gPSBHZXRMYW5l KE1heE9mTGFuZXMobWF4KSk7CisrICAgICAgICAgICAgcm93X291dF9hdmdbeF0gPSBHZXRMYW5l KFN1bU9mTGFuZXMoZGY0LCBzdW0pKTsKKysgICAgICAgICAgICByb3dfb3V0W3hdID0gR2V0TGFu ZShNYXhPZkxhbmVzKGRmNCwgbWF4KSk7CisgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAg ICB9LAorZGlmZiAtLWdpdCBhL2xpYi9qeGwvZ2F1c3NfYmx1ci5jYyBiL2xpYi9qeGwvZ2F1c3Nf Ymx1ci5jYworaW5kZXggZjliYWJlNy4uZjI0YTc0YyAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvZ2F1 c3NfYmx1ci5jYworKysrIGIvbGliL2p4bC9nYXVzc19ibHVyLmNjCitAQCAtNDIxLDcgKzQyMSw3 IEBAIEltYWdlRiBDb252b2x2ZVhTYW1wbGVBbmRUcmFuc3Bvc2UoY29uc3QgSW1hZ2VGJiBpbiwK KyAgICAgICBmb3IgKGludCBpID0gLXI7IGkgPD0gcjsgaSArPSBMYW5lcyhkZikpIHsKKyAgICAg ICAgIHN1bSA9IE11bEFkZChMb2FkVShkZiwgcm93cCArIHggKyBpKSwgTG9hZFUoZGYsIGtlcm5l bHAgKyBpKSwgc3VtKTsKKyAgICAgICB9CistICAgICAgb3V0LlJvdyhveClbeV0gPSBHZXRMYW5l KFN1bU9mTGFuZXMoc3VtKSk7CisrICAgICAgb3V0LlJvdyhveClbeV0gPSBHZXRMYW5lKFN1bU9m TGFuZXMoZGYsIHN1bSkpOworICAgICB9CisgICAgIGZvciAoOyB4IDwgaW4ueHNpemUoKTsgeCAr PSByZXMsICsrb3gpIHsKKyAgICAgICBmbG9hdCBzdW0gPSAwLjBmOworZGlmZiAtLWdpdCBhL2xp Yi9qeGwvbW9kdWxhci9lbmNvZGluZy9lbmNfbWEuY2MgYi9saWIvanhsL21vZHVsYXIvZW5jb2Rp bmcvZW5jX21hLmNjCitpbmRleCAwZTJlYWFjLi5kNDg1MTI5IDEwMDY0NAorLS0tIGEvbGliL2p4 bC9tb2R1bGFyL2VuY29kaW5nL2VuY19tYS5jYworKysrIGIvbGliL2p4bC9tb2R1bGFyL2VuY29k aW5nL2VuY19tYS5jYworQEAgLTg0LDcgKzg0LDcgQEAgZmxvYXQgRXN0aW1hdGVCaXRzKGNvbnN0 IGludDMyX3QgKmNvdW50cywgaW50MzJfdCAqcm91bmRlZF9jb3VudHMsCisgICAgIGJpdHNfbGFu ZXMgLT0KKyAgICAgICAgIElmVGhlbkVsc2UoY291bnRzX3YgPT0gemVybywgemVybywgY291bnRz X3YgKiBCaXRDYXN0KGRmLCBuYnBzKSk7CisgICB9CistICByZXR1cm4gR2V0TGFuZShTdW1PZkxh bmVzKGJpdHNfbGFuZXMpKTsKKysgIHJldHVybiBHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGJpdHNf bGFuZXMpKTsKKyB9CisgCisgdm9pZCBNYWtlU3BsaXROb2RlKHNpemVfdCBwb3MsIGludCBwcm9w ZXJ0eSwgaW50IHNwbGl0dmFsLCBQcmVkaWN0b3IgbHByZWQsCitkaWZmIC0tZ2l0IGEvbGliL2p4 bC9yYXRpb25hbF9wb2x5bm9taWFsX3Rlc3QuY2MgYi9saWIvanhsL3JhdGlvbmFsX3BvbHlub21p YWxfdGVzdC5jYworaW5kZXggNjk5YWZkMC4uZjk4NWViMCAxMDA2NDQKKy0tLSBhL2xpYi9qeGwv cmF0aW9uYWxfcG9seW5vbWlhbF90ZXN0LmNjCisrKysgYi9saWIvanhsL3JhdGlvbmFsX3BvbHlu b21pYWxfdGVzdC5jYworQEAgLTUxLDcgKzUxLDcgQEAgc3RydWN0IEV2YWxMb2cyIHsKKyAgICAg Y29uc3QgSFdZX0ZVTEwoaW50MzJfdCkgZGk7CisgICAgIGNvbnN0IGF1dG8geF9iaXRzID0gQml0 Q2FzdChkaSwgdngpOworICAgICAvLyBDYW5ub3QgaGFuZGxlIG5lZ2F0aXZlIG51bWJlcnMgLyBO YU4uCistICAgIEpYTF9EQVNTRVJUKEFsbFRydWUoQWJzKHhfYml0cykgPT0geF9iaXRzKSk7Cisr ICAgIEpYTF9EQVNTRVJUKEFsbFRydWUoZGksIEFicyh4X2JpdHMpID09IHhfYml0cykpOworIAor ICAgICAvLyBSYW5nZSByZWR1Y3Rpb24gdG8gWy0xLzMsIDEvM10gLSAzIGludGVnZXIsIDIgZmxv YXQgb3BzCisgICAgIGNvbnN0IGF1dG8gZXhwX2JpdHMgPSB4X2JpdHMgLSBTZXQoZGksIDB4M2Yy YWFhYWIpOyAgLy8gPSAyLzMKK2RpZmYgLS1naXQgYS9saWIvanhsL3NwbGluZXMuY2MgYi9saWIv anhsL3NwbGluZXMuY2MKK2luZGV4IDg2NTM0NDUuLjVkYzI0MDQgMTAwNjQ0CistLS0gYS9saWIv anhsL3NwbGluZXMuY2MKKysrKyBiL2xpYi9qeGwvc3BsaW5lcy5jYworQEAgLTUyLDcgKzUyLDcg QEAgZmxvYXQgQ29udGludW91c0lEQ1QoY29uc3QgZmxvYXQgZGN0WzMyXSwgZmxvYXQgdCkgewor ICAgICBhdXRvIGxvY2FsX3JlcyA9IExvYWRVKGRmLCBkY3QgKyBpKSAqIGNvczsKKyAgICAgcmVz dWx0ID0gTXVsQWRkKFNldChkZiwgc3F1YXJlX3Jvb3Q8Mj46OnZhbHVlKSwgbG9jYWxfcmVzLCBy ZXN1bHQpOworICAgfQorLSAgcmV0dXJuIEdldExhbmUoU3VtT2ZMYW5lcyhyZXN1bHQpKTsKKysg IHJldHVybiBHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIHJlc3VsdCkpOworIH0KKyAKKyB0ZW1wbGF0 ZSA8dHlwZW5hbWUgREY+CitkaWZmIC0tZ2l0IGEvbGliL2p4bC90cmFuc3Bvc2UtaW5sLmggYi9s aWIvanhsL3RyYW5zcG9zZS1pbmwuaAoraW5kZXggZDEyYjEyOS4uNDY3NDQyMCAxMDA2NDQKKy0t LSBhL2xpYi9qeGwvdHJhbnNwb3NlLWlubC5oCisrKysgYi9saWIvanhsL3RyYW5zcG9zZS1pbmwu aAorQEAgLTc0LDUwICs3NCw1MSBAQCBKWExfSU5MSU5FX1RSQU5TUE9TRSB2b2lkIEdlbmVyaWNU cmFuc3Bvc2VCbG9jayhUcmFuc3Bvc2VTaW1kVGFnPHRydWU+LAorICAgc3RhdGljX2Fzc2VydChD T0xTX29yXzAgJSA4ID09IDAsICJJbnZhbGlkIG51bWJlciBvZiBjb2x1bW5zIik7CisgICBmb3Ig KHNpemVfdCBuID0gMDsgbiA8IFJPV1M7IG4gKz0gOCkgeworICAgICBmb3IgKHNpemVfdCBtID0g MDsgbSA8IENPTFM7IG0gKz0gOCkgeworLSAgICAgIGF1dG8gaTAgPSBmcm9tLkxvYWRQYXJ0KEJs b2NrRGVzYzw4PigpLCBuICsgMCwgbSArIDApOworLSAgICAgIGF1dG8gaTEgPSBmcm9tLkxvYWRQ YXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgMSwgbSArIDApOworLSAgICAgIGF1dG8gaTIgPSBmcm9t LkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgMiwgbSArIDApOworLSAgICAgIGF1dG8gaTMg PSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgMywgbSArIDApOworLSAgICAgIGF1 dG8gaTQgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgNCwgbSArIDApOworLSAg ICAgIGF1dG8gaTUgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgNSwgbSArIDAp OworLSAgICAgIGF1dG8gaTYgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgNiwg bSArIDApOworLSAgICAgIGF1dG8gaTcgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBu ICsgNywgbSArIDApOworKyAgICAgIGNvbnN0IEJsb2NrRGVzYzw4PiBkOworKyAgICAgIGF1dG8g aTAgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyAwLCBtICsgMCk7CisrICAgICAgYXV0byBpMSA9IGZy b20uTG9hZFBhcnQoZCwgbiArIDEsIG0gKyAwKTsKKysgICAgICBhdXRvIGkyID0gZnJvbS5Mb2Fk UGFydChkLCBuICsgMiwgbSArIDApOworKyAgICAgIGF1dG8gaTMgPSBmcm9tLkxvYWRQYXJ0KGQs IG4gKyAzLCBtICsgMCk7CisrICAgICAgYXV0byBpNCA9IGZyb20uTG9hZFBhcnQoZCwgbiArIDQs IG0gKyAwKTsKKysgICAgICBhdXRvIGk1ID0gZnJvbS5Mb2FkUGFydChkLCBuICsgNSwgbSArIDAp OworKyAgICAgIGF1dG8gaTYgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyA2LCBtICsgMCk7CisrICAg ICAgYXV0byBpNyA9IGZyb20uTG9hZFBhcnQoZCwgbiArIDcsIG0gKyAwKTsKKyAgICAgICAvLyBT dXJwcmlzaW5nbHksIHRoaXMgc3RyYWlnaHRmb3J3YXJkIGltcGxlbWVudGF0aW9uICgyNCBjeWNs ZXMgb24gcG9ydDUpCisgICAgICAgLy8gaXMgZmFzdGVyIHRoYW4gbG9hZDEyOCtpbnNlcnQgYW5k IExvYWREdXAxMjgrQ29uY2F0VXBwZXJMb3dlcitibGVuZC4KKy0gICAgICBjb25zdCBhdXRvIHEw ID0gSW50ZXJsZWF2ZUxvd2VyKGkwLCBpMik7CistICAgICAgY29uc3QgYXV0byBxMSA9IEludGVy bGVhdmVMb3dlcihpMSwgaTMpOworLSAgICAgIGNvbnN0IGF1dG8gcTIgPSBJbnRlcmxlYXZlVXBw ZXIoaTAsIGkyKTsKKy0gICAgICBjb25zdCBhdXRvIHEzID0gSW50ZXJsZWF2ZVVwcGVyKGkxLCBp Myk7CistICAgICAgY29uc3QgYXV0byBxNCA9IEludGVybGVhdmVMb3dlcihpNCwgaTYpOworLSAg ICAgIGNvbnN0IGF1dG8gcTUgPSBJbnRlcmxlYXZlTG93ZXIoaTUsIGk3KTsKKy0gICAgICBjb25z dCBhdXRvIHE2ID0gSW50ZXJsZWF2ZVVwcGVyKGk0LCBpNik7CistICAgICAgY29uc3QgYXV0byBx NyA9IEludGVybGVhdmVVcHBlcihpNSwgaTcpOworLQorLSAgICAgIGNvbnN0IGF1dG8gcjAgPSBJ bnRlcmxlYXZlTG93ZXIocTAsIHExKTsKKy0gICAgICBjb25zdCBhdXRvIHIxID0gSW50ZXJsZWF2 ZVVwcGVyKHEwLCBxMSk7CistICAgICAgY29uc3QgYXV0byByMiA9IEludGVybGVhdmVMb3dlcihx MiwgcTMpOworLSAgICAgIGNvbnN0IGF1dG8gcjMgPSBJbnRlcmxlYXZlVXBwZXIocTIsIHEzKTsK Ky0gICAgICBjb25zdCBhdXRvIHI0ID0gSW50ZXJsZWF2ZUxvd2VyKHE0LCBxNSk7CistICAgICAg Y29uc3QgYXV0byByNSA9IEludGVybGVhdmVVcHBlcihxNCwgcTUpOworLSAgICAgIGNvbnN0IGF1 dG8gcjYgPSBJbnRlcmxlYXZlTG93ZXIocTYsIHE3KTsKKy0gICAgICBjb25zdCBhdXRvIHI3ID0g SW50ZXJsZWF2ZVVwcGVyKHE2LCBxNyk7CistCistICAgICAgaTAgPSBDb25jYXRMb3dlckxvd2Vy KHI0LCByMCk7CistICAgICAgaTEgPSBDb25jYXRMb3dlckxvd2VyKHI1LCByMSk7CistICAgICAg aTIgPSBDb25jYXRMb3dlckxvd2VyKHI2LCByMik7CistICAgICAgaTMgPSBDb25jYXRMb3dlckxv d2VyKHI3LCByMyk7CistICAgICAgaTQgPSBDb25jYXRVcHBlclVwcGVyKHI0LCByMCk7CistICAg ICAgaTUgPSBDb25jYXRVcHBlclVwcGVyKHI1LCByMSk7CistICAgICAgaTYgPSBDb25jYXRVcHBl clVwcGVyKHI2LCByMik7CistICAgICAgaTcgPSBDb25jYXRVcHBlclVwcGVyKHI3LCByMyk7Cist ICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpMCwgbSArIDAsIG4gKyAwKTsKKy0g ICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+KCksIGkxLCBtICsgMSwgbiArIDApOworLSAg ICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTIsIG0gKyAyLCBuICsgMCk7CistICAg ICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpMywgbSArIDMsIG4gKyAwKTsKKy0gICAg ICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+KCksIGk0LCBtICsgNCwgbiArIDApOworLSAgICAg IHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8OD4oKSwgaTUsIG0gKyA1LCBuICsgMCk7CistICAgICAg dG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4PigpLCBpNiwgbSArIDYsIG4gKyAwKTsKKy0gICAgICB0 by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+KCksIGk3LCBtICsgNywgbiArIDApOworKyAgICAgIGNv bnN0IGF1dG8gcTAgPSBJbnRlcmxlYXZlTG93ZXIoZCwgaTAsIGkyKTsKKysgICAgICBjb25zdCBh dXRvIHExID0gSW50ZXJsZWF2ZUxvd2VyKGQsIGkxLCBpMyk7CisrICAgICAgY29uc3QgYXV0byBx MiA9IEludGVybGVhdmVVcHBlcihkLCBpMCwgaTIpOworKyAgICAgIGNvbnN0IGF1dG8gcTMgPSBJ bnRlcmxlYXZlVXBwZXIoZCwgaTEsIGkzKTsKKysgICAgICBjb25zdCBhdXRvIHE0ID0gSW50ZXJs ZWF2ZUxvd2VyKGQsIGk0LCBpNik7CisrICAgICAgY29uc3QgYXV0byBxNSA9IEludGVybGVhdmVM b3dlcihkLCBpNSwgaTcpOworKyAgICAgIGNvbnN0IGF1dG8gcTYgPSBJbnRlcmxlYXZlVXBwZXIo ZCwgaTQsIGk2KTsKKysgICAgICBjb25zdCBhdXRvIHE3ID0gSW50ZXJsZWF2ZVVwcGVyKGQsIGk1 LCBpNyk7CisrCisrICAgICAgY29uc3QgYXV0byByMCA9IEludGVybGVhdmVMb3dlcihkLCBxMCwg cTEpOworKyAgICAgIGNvbnN0IGF1dG8gcjEgPSBJbnRlcmxlYXZlVXBwZXIoZCwgcTAsIHExKTsK KysgICAgICBjb25zdCBhdXRvIHIyID0gSW50ZXJsZWF2ZUxvd2VyKGQsIHEyLCBxMyk7CisrICAg ICAgY29uc3QgYXV0byByMyA9IEludGVybGVhdmVVcHBlcihkLCBxMiwgcTMpOworKyAgICAgIGNv bnN0IGF1dG8gcjQgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTQsIHE1KTsKKysgICAgICBjb25zdCBh dXRvIHI1ID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHE0LCBxNSk7CisrICAgICAgY29uc3QgYXV0byBy NiA9IEludGVybGVhdmVMb3dlcihkLCBxNiwgcTcpOworKyAgICAgIGNvbnN0IGF1dG8gcjcgPSBJ bnRlcmxlYXZlVXBwZXIoZCwgcTYsIHE3KTsKKysKKysgICAgICBpMCA9IENvbmNhdExvd2VyTG93 ZXIoZCwgcjQsIHIwKTsKKysgICAgICBpMSA9IENvbmNhdExvd2VyTG93ZXIoZCwgcjUsIHIxKTsK KysgICAgICBpMiA9IENvbmNhdExvd2VyTG93ZXIoZCwgcjYsIHIyKTsKKysgICAgICBpMyA9IENv bmNhdExvd2VyTG93ZXIoZCwgcjcsIHIzKTsKKysgICAgICBpNCA9IENvbmNhdFVwcGVyVXBwZXIo ZCwgcjQsIHIwKTsKKysgICAgICBpNSA9IENvbmNhdFVwcGVyVXBwZXIoZCwgcjUsIHIxKTsKKysg ICAgICBpNiA9IENvbmNhdFVwcGVyVXBwZXIoZCwgcjYsIHIyKTsKKysgICAgICBpNyA9IENvbmNh dFVwcGVyVXBwZXIoZCwgcjcsIHIzKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgaTAsIG0gKyAw LCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIGkxLCBtICsgMSwgbiArIDApOworKyAg ICAgIHRvLlN0b3JlUGFydChkLCBpMiwgbSArIDIsIG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBh cnQoZCwgaTMsIG0gKyAzLCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIGk0LCBtICsg NCwgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFydChkLCBpNSwgbSArIDUsIG4gKyAwKTsKKysg ICAgICB0by5TdG9yZVBhcnQoZCwgaTYsIG0gKyA2LCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQ YXJ0KGQsIGk3LCBtICsgNywgbiArIDApOworICAgICB9CisgICB9CisgfQorQEAgLTEzNywyNSAr MTM4LDI2IEBAIEpYTF9JTkxJTkVfVFJBTlNQT1NFIHZvaWQgR2VuZXJpY1RyYW5zcG9zZUJsb2Nr KFRyYW5zcG9zZVNpbWRUYWc8dHJ1ZT4sCisgICBzdGF0aWNfYXNzZXJ0KENPTFNfb3JfMCAlIDQg PT0gMCwgIkludmFsaWQgbnVtYmVyIG9mIGNvbHVtbnMiKTsKKyAgIGZvciAoc2l6ZV90IG4gPSAw OyBuIDwgUk9XUzsgbiArPSA0KSB7CisgICAgIGZvciAoc2l6ZV90IG0gPSAwOyBtIDwgQ09MUzsg bSArPSA0KSB7CistICAgICAgY29uc3QgYXV0byBwMCA9IGZyb20uTG9hZFBhcnQoQmxvY2tEZXNj PDQ+KCksIG4gKyAwLCBtICsgMCk7CistICAgICAgY29uc3QgYXV0byBwMSA9IGZyb20uTG9hZFBh cnQoQmxvY2tEZXNjPDQ+KCksIG4gKyAxLCBtICsgMCk7CistICAgICAgY29uc3QgYXV0byBwMiA9 IGZyb20uTG9hZFBhcnQoQmxvY2tEZXNjPDQ+KCksIG4gKyAyLCBtICsgMCk7CistICAgICAgY29u c3QgYXV0byBwMyA9IGZyb20uTG9hZFBhcnQoQmxvY2tEZXNjPDQ+KCksIG4gKyAzLCBtICsgMCk7 CistCistICAgICAgY29uc3QgYXV0byBxMCA9IEludGVybGVhdmVMb3dlcihwMCwgcDIpOworLSAg ICAgIGNvbnN0IGF1dG8gcTEgPSBJbnRlcmxlYXZlTG93ZXIocDEsIHAzKTsKKy0gICAgICBjb25z dCBhdXRvIHEyID0gSW50ZXJsZWF2ZVVwcGVyKHAwLCBwMik7CistICAgICAgY29uc3QgYXV0byBx MyA9IEludGVybGVhdmVVcHBlcihwMSwgcDMpOworLQorLSAgICAgIGNvbnN0IGF1dG8gcjAgPSBJ bnRlcmxlYXZlTG93ZXIocTAsIHExKTsKKy0gICAgICBjb25zdCBhdXRvIHIxID0gSW50ZXJsZWF2 ZVVwcGVyKHEwLCBxMSk7CistICAgICAgY29uc3QgYXV0byByMiA9IEludGVybGVhdmVMb3dlcihx MiwgcTMpOworLSAgICAgIGNvbnN0IGF1dG8gcjMgPSBJbnRlcmxlYXZlVXBwZXIocTIsIHEzKTsK Ky0KKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDQ+KCksIHIwLCBtICsgMCwgbiArIDAp OworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8ND4oKSwgcjEsIG0gKyAxLCBuICsgMCk7 CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw0PigpLCByMiwgbSArIDIsIG4gKyAwKTsK Ky0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDQ+KCksIHIzLCBtICsgMywgbiArIDApOwor KyAgICAgIGNvbnN0IEJsb2NrRGVzYzw0PiBkOworKyAgICAgIGNvbnN0IGF1dG8gcDAgPSBmcm9t LkxvYWRQYXJ0KGQsIG4gKyAwLCBtICsgMCk7CisrICAgICAgY29uc3QgYXV0byBwMSA9IGZyb20u TG9hZFBhcnQoZCwgbiArIDEsIG0gKyAwKTsKKysgICAgICBjb25zdCBhdXRvIHAyID0gZnJvbS5M b2FkUGFydChkLCBuICsgMiwgbSArIDApOworKyAgICAgIGNvbnN0IGF1dG8gcDMgPSBmcm9tLkxv YWRQYXJ0KGQsIG4gKyAzLCBtICsgMCk7CisrCisrICAgICAgY29uc3QgYXV0byBxMCA9IEludGVy bGVhdmVMb3dlcihkLCBwMCwgcDIpOworKyAgICAgIGNvbnN0IGF1dG8gcTEgPSBJbnRlcmxlYXZl TG93ZXIoZCwgcDEsIHAzKTsKKysgICAgICBjb25zdCBhdXRvIHEyID0gSW50ZXJsZWF2ZVVwcGVy KGQsIHAwLCBwMik7CisrICAgICAgY29uc3QgYXV0byBxMyA9IEludGVybGVhdmVVcHBlcihkLCBw MSwgcDMpOworKworKyAgICAgIGNvbnN0IGF1dG8gcjAgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTAs IHExKTsKKysgICAgICBjb25zdCBhdXRvIHIxID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHEwLCBxMSk7 CisrICAgICAgY29uc3QgYXV0byByMiA9IEludGVybGVhdmVMb3dlcihkLCBxMiwgcTMpOworKyAg ICAgIGNvbnN0IGF1dG8gcjMgPSBJbnRlcmxlYXZlVXBwZXIoZCwgcTIsIHEzKTsKKysKKysgICAg ICB0by5TdG9yZVBhcnQoZCwgcjAsIG0gKyAwLCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0 KGQsIHIxLCBtICsgMSwgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFydChkLCByMiwgbSArIDIs IG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgcjMsIG0gKyAzLCBuICsgMCk7CisgICAg IH0KKyAgIH0KKyB9CitkaWZmIC0tZ2l0IGEvbGliL3Byb2ZpbGVyL3Byb2ZpbGVyLmNjIGIvbGli L3Byb2ZpbGVyL3Byb2ZpbGVyLmNjCitpbmRleCBkMjFlZTA5Li4xODZmZjA2IDEwMDY0NAorLS0t IGEvbGliL3Byb2ZpbGVyL3Byb2ZpbGVyLmNjCisrKysgYi9saWIvcHJvZmlsZXIvcHJvZmlsZXIu Y2MKK0BAIC0xMzksNyArMTM5LDcgQEAgY2xhc3MgUmVzdWx0cyB7CisgICB2b2lkIEFuYWx5emVQ YWNrZXRzKGNvbnN0IFBhY2tldCogSFdZX1JFU1RSSUNUIHBhY2tldHMsCisgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHNpemVfdCBudW1fcGFja2V0cykgeworICAgICAvLyBFbnN1cmVzIHBy aW9yIHdlYWtseS1vcmRlcmVkIHN0cmVhbWluZyBzdG9yZXMgYXJlIGdsb2JhbGx5IHZpc2libGUu CistICAgIGh3eTo6U3RvcmVGZW5jZSgpOworKyAgICBod3k6OkZsdXNoU3RyZWFtKCk7CisgCisg ICAgIGNvbnN0IHVpbnQ2NF90IHQwID0gVGlja3NCZWZvcmUoKTsKKyAKK0BAIC0zNzIsMTIgKzM3 MiwxMiBAQCB2b2lkIFRocmVhZFNwZWNpZmljOjpDb21wdXRlT3ZlcmhlYWQoKSB7CisgICAgICAg Y29uc3Qgc2l6ZV90IGtSZXBzID0gMTAwMDA7CisgICAgICAgLy8gQW5hbHlzaXMgdGltZSBzaG91 bGQgbm90IGJlIGluY2x1ZGVkID0+IG11c3QgZml0IHdpdGhpbiBidWZmZXIuCisgICAgICAgSFdZ X0FTU0VSVChrUmVwcyAqIDIgPCBtYXhfcGFja2V0c18pOworLSAgICAgIGh3eTo6U3RvcmVGZW5j ZSgpOworKyAgICAgIGh3eTo6Rmx1c2hTdHJlYW0oKTsKKyAgICAgICBjb25zdCB1aW50NjRfdCB0 MCA9IFRpY2tzQmVmb3JlKCk7CisgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrUmVwczsg KytpKSB7CisgICAgICAgICBQUk9GSUxFUl9aT05FKCJEdW1teSIpOworICAgICAgIH0KKy0gICAg ICBod3k6OlN0b3JlRmVuY2UoKTsKKysgICAgICBod3k6OkZsdXNoU3RyZWFtKCk7CisgICAgICAg Y29uc3QgdWludDY0X3QgdDEgPSBUaWNrc0FmdGVyKCk7CisgICAgICAgSFdZX0FTU0VSVChudW1f cGFja2V0c18gKyBidWZmZXJfc2l6ZV8gPT0ga1JlcHMgKiAyKTsKKyAgICAgICBidWZmZXJfc2l6 ZV8gPSAwOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJqeGwvdGVtcGxhdGUgYi9zcmNwa2dzL2xp Ymp4bC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE4 YmE1ODI0NDQ5ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlianhsL3RlbXBsYXRlCkBA IC0wLDAgKzEsNzcgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xpYmp4bCcKK3BrZ25hbWU9bGli anhsCit2ZXJzaW9uPTAuNi4xCityZXZpc2lvbj0xCisjX3Nob3J0X3ZlcnNpb249MC42Cisjd3Jr c3JjPWxpYmp4bC0ke19zaG9ydF92ZXJzaW9ufQorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3Vy ZV9hcmdzPSItREpQRUdYTF9FTkFCTEVfQkVOQ0hNQVJLPU9GRiAtREpQRUdYTF9FTkFCTEVfRVhB TVBMRVM9T0ZGCisgLURKUEVHWExfRU5BQkxFX1NKUEVHPU9GRiAtREpQRUdYTF9FTkFCTEVfUExV R0lOUz1PTiIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIHBrZy1jb25maWcgYXNjaWlkb2MiCittYWtl ZGVwZW5kcz0iYnJvdGxpLWRldmVsIGhpZ2h3YXkgbGlicG5nLWRldmVsIGdpZmxpYi1kZXZlbCBs aWJqcGVnLXR1cmJvLWRldmVsCisgbGlib3BlbmV4ci1kZXZlbCBnZGstcGl4YnVmLWRldmVsIGdp bXAtZGV2ZWwiCitjaGVja2RlcGVuZHM9Imd0ZXN0LWRldmVsIHhkZy11dGlscyIKK3Nob3J0X2Rl c2M9IkpQRUcgWEwgaW1hZ2UgZm9ybWF0IHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiIKK21haW50 YWluZXI9Ikpvc2h1YSBLcsOkbWVyIDxqb3NodWFAa3JhZW1lci5saW5rPiIKK2xpY2Vuc2U9IkJT RC0zLUNsYXVzZSwgY3VzdG9tOlBhdGVudCBncmFudCIKK2hvbWVwYWdlPSJodHRwczovL2pwZWcu b3JnL2pwZWd4bC8iCitfbG9kZXBuZ19oYXNoPTQ4ZTUzNjRlZjQ4ZWMyNDA4ZjQ0YzcyNzY1N2Fj MWI2NzAzMTg1ZjgKK19za2Ntc19oYXNoPTY0Mzc0NzU2ZTAzNzAwZDY0OWY4OTdkYmQ5OGM5NWU3 OGMzMGM3ZGEKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2xpYmp4bC9saWJqeGwvYXJj aGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oKKyBodHRwczovL2dpdGh1Yi5jb20vbHZhbmRldmUvbG9k ZXBuZy9hcmNoaXZlLyR7X2xvZGVwbmdfaGFzaH0udGFyLmd6PmxvZGVwbmctJHtfbG9kZXBuZ19o YXNofS50YXIuZ3oKKyBodHRwczovL3NraWEuZ29vZ2xlc291cmNlLmNvbS9za2Ntcy8rYXJjaGl2 ZS8ke19za2Ntc19oYXNofS50YXIuZ3o+c2tjbXMtJHtfc2tjbXNfaGFzaH0udGFyLmd6IgorY2hl Y2tzdW09ImNjYmQ1YTcyOWQ3MzAxNTIzMDNiZTM5OWYwMzNiOTA1ZTYwODMwOWQ1ODAyZDc3YTYx YTk1ZmFhMDkyNTkyYzUKKyBjNDdjNDhjNzdhMjA1ZjFhZjQ4NGI3YjVhODQ3MjkwYWY2NWRlM2Vh NmYxNTgxN2FhMjdjNWVjN2NjNTIwOGZkCisgQGE2OTIzMGM3YjZmMDNhMTc4YzkzYWJjNmVkYzgz MmMwNDBkNmUxOTgzNDAxOTNiMjdjM2QwNGFmZWNmOGY2MTciCitza2lwX2V4dHJhY3Rpb249Imxv ZGVwbmctJHtfbG9kZXBuZ19oYXNofS50YXIuZ3oKKyBza2Ntcy0ke19za2Ntc19oYXNofS50YXIu Z3oiCisKK2lmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCisJbWFrZWRlcGVu ZHMrPSIgbGliYXRvbWljLWRldmVsIgorCUxJQlM9Ii1sYXRvbWljIgorZmkKKworaWYgWyAiJENS T1NTX0JVSUxEIiBdOyB0aGVuCisJY29uZmlndXJlX2FyZ3MrPSIgLURCVUlMRF9URVNUSU5HPU9G RiIKK2ZpCisKK3Bvc3RfZXh0cmFjdCgpIHsKKwljZCAke1hCUFNfU1JDRElTVERJUn0vbGlianhs LSR7dmVyc2lvbn0KKwl0YXIgLXhmIGxvZGVwbmctJHtfbG9kZXBuZ19oYXNofS50YXIuZ3ogLS1z dHJpcC1jb21wb25lbnRzPTEgLUMgJHt3cmtzcmN9L3RoaXJkX3BhcnR5L2xvZGVwbmcKKwl0YXIg LXhmIHNrY21zLSR7X3NrY21zX2hhc2h9LnRhci5neiAtQyAke3dya3NyY30vdGhpcmRfcGFydHkv c2tjbXMKK30KKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIExJQ0VOU0UKKwl2bGljZW5z ZSBQQVRFTlRTCit9CisKK2xpYmp4bC1kZXZlbF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIg LSBkZXZlbG9wbWVudCBmaWxlcyIKKwlkZXBlbmRzPSJsaWJqeGw+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gaGlnaHdheSBicm90bGktZGV2ZWwiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVz ci9pbmNsdWRlCisJCXZtb3ZlICJ1c3IvbGliLyouYSIKKwkJdm1vdmUgInVzci9saWIvKi5zbyIK KwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKKwl9Cit9CisKK2xpYmp4bC10b29sc19wYWNrYWdl KCkgeworCXNob3J0X2Rlc2MrPSIgLSB0b29scyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUg dXNyL2JpbgorCQl2bW92ZSB1c3Ivc2hhcmUvbWFuCisJfQorfQorCitsaWJqeGwtcGx1Z2luc19w YWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSBwbHVnaW5zIgorCWRlcGVuZHM9ImRlc2t0b3At ZmlsZS11dGlscyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2xpYi9nZGstcGl4YnVm LTIuMAorCQl2bW92ZSB1c3IvbGliL2dpbXAKKwkJdm1vdmUgdXNyL3NoYXJlL21pbWUKKwkJdm1v dmUgdXNyL3NoYXJlL3RodW1ibmFpbGVycworCX0KK30KCkZyb20gMzI3OGY3ODdjNTQ2ZTZhOWIw ZGIyODdmODljMWM4ZTA4NjZiZmEyNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9z aHVhIDxqb3NodWFAa3JhZW1lci5saW5rPgpEYXRlOiBXZWQsIDMwIE1hciAyMDIyIDIxOjIzOjE2 ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIGtpbWFnZWZvcm1hdHM6IGVuYWJsZSBKUEVHIFhM IHN1cHBvcnQKCi0tLQogc3JjcGtncy9raW1hZ2Vmb3JtYXRzL3RlbXBsYXRlIHwgNCArKy0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2ltYWdlZm9ybWF0 cy90ZW1wbGF0ZQppbmRleCBlYmQ2ZTgxZGIyOTguLjY5NjVlMDQxMDI3YyAxMDA2NDQKLS0tIGEv c3JjcGtncy9raW1hZ2Vmb3JtYXRzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva2ltYWdlZm9ybWF0 cy90ZW1wbGF0ZQpAQCAtMSwxMiArMSwxMiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAna2ltYWdl Zm9ybWF0cycKIHBrZ25hbWU9a2ltYWdlZm9ybWF0cwogdmVyc2lvbj01LjkyLjAKLXJldmlzaW9u PTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURLSU1B R0VGT1JNQVRTX0hFSUY9T04iCiBob3N0bWFrZWRlcGVuZHM9Imtjb3JlYWRkb25zIGV4dHJhLWNt YWtlLW1vZHVsZXMgcXQ1LXFtYWtlIHF0NS1ob3N0LXRvb2xzCiAgcGtnLWNvbmZpZyIKLW1ha2Vk ZXBlbmRzPSJrYXJjaGl2ZS1kZXZlbCBsaWJvcGVuZXhyLWRldmVsIGxpYmhlaWYtZGV2ZWwiCitt YWtlZGVwZW5kcz0ia2FyY2hpdmUtZGV2ZWwgbGlib3BlbmV4ci1kZXZlbCBsaWJoZWlmLWRldmVs IGxpYmp4bC1kZXZlbCIKIHNob3J0X2Rlc2M9IktERSBQbHVnaW5zIHRvIGFsbG93IFFJbWFnZSB0 byBzdXBwb3J0IGV4dHJhIGZpbGUgZm9ybWF0cyIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4iCiBsaWNlbnNlPSJMR1BMLTIuMC1vci1sYXRlciIK --===============4642015914509519291==--