From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26871 invoked from network); 26 Mar 2022 17:59:50 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 26 Mar 2022 17:59:50 -0000 Content-Type: multipart/mixed; boundary="===============5740398288720095672==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_poppler=3A_update_to_22=2E03=2E0?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 26 Mar 2022 18:59:49 +0100 List-Id: Message-ID: <20220326175949.hpPFkboEQWmPQeZiLlJGUH3DU_yB-48o883azWuVz3I@z> GitHub notification mails are now in MIME to allow UTF8. --===============5740398288720095672== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIHBvcHBsZXIKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzM2MzUxCgpwb3BwbGVyOiB1cGRhdGUgdG8gMjIuMDMuMAo8IS0t IFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJl IG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0 ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcg cGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1 aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxv Yi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioN Ci0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRo YW4gMiBob3VycywgcGxlYXNlIFtza2lwIENJXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWlu dGVncmF0aW9uKQ0KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1 cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMgc2VjdGlvbiBp ZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBDSS4NCi0tPg0KPCEtLSANCiMjIyMgTG9jYWwgYnVp bGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hp dGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNl IGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFy Y2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZp bGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwv MzYzNTEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============5740398288720095672== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-poppler-36351.patch" RnJvbSBjMTllMGZhZWUyYjI1NGM0NTc5MDNlMzExZjk5OTc3MzVhZTYzMDM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODoyODowOCAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMS84XSBwb3BwbGVyOiB1cGRhdGUgdG8gMjIuMDMuMAoKLS0tCiBjb21tb24v c2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyY3BrZ3MvcG9wcGxl ci9wYXRjaGVzL2ZpeC1jZmxhZ3MucGF0Y2ggfCAyMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNy Y3BrZ3MvcG9wcGxlci90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrKy0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3BvcHBsZXIvcGF0Y2hlcy9maXgtY2ZsYWdzLnBhdGNoCgpk aWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggN2QzMjM1OTNh MTIwLi41ZmQ1M2RlZjNlNjQgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9u L3NobGlicwpAQCAtMzQ2LDcgKzM0Niw3IEBAIGxpYk1hZ2lja0NvcmUtNi5RMTYuc28uNyBsaWJt YWdpY2s2LTYuOS4xMS42MV8xCiBsaWJNYWdpY2tXYW5kLTYuUTE2LnNvLjcgbGlibWFnaWNrNi02 LjkuMTEuNjFfMQogbGliTWFnaWNrKystNi5RMTYuc28uOSBsaWJtYWdpY2s2LTYuOS4xMi4xXzEK IGxpYmx0ZGwuc28uNyBsaWJsdGRsLTIuMi42XzEKLWxpYnBvcHBsZXIuc28uMTExIGxpYnBvcHBs ZXItMjEuMDcuMF8xCitsaWJwb3BwbGVyLnNvLjExOSBsaWJwb3BwbGVyLTIyLjAzLjBfMQogbGli cG9wcGxlci1nbGliLnNvLjggcG9wcGxlci1nbGliLTAuMTguMl8xCiBsaWJwb3BwbGVyLWNwcC5z by4wIHBvcHBsZXItY3BwLTAuMTguMl8xCiBsaWJwb3BwbGVyLXF0NS5zby4xIHBvcHBsZXItcXQ1 LTAuMzEuMF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BvcHBsZXIvcGF0Y2hlcy9maXgtY2ZsYWdz LnBhdGNoIGIvc3JjcGtncy9wb3BwbGVyL3BhdGNoZXMvZml4LWNmbGFncy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFhNDA4ZDAzY2NlLi4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9wb3BwbGVyL3BhdGNoZXMvZml4LWNmbGFncy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDIxICswLDAgQEAKLWRpZmYgLS1naXQgYS9jbWFrZS9tb2R1bGVzL1BvcHBsZXJNYWNyb3Mu Y21ha2UgYi9jbWFrZS9tb2R1bGVzL1BvcHBsZXJNYWNyb3MuY21ha2UKLWluZGV4IGZlMTE4MmQu LjYwMTNiZDIgMTAwNjQ0Ci0tLS0gYS9jbWFrZS9tb2R1bGVzL1BvcHBsZXJNYWNyb3MuY21ha2UK LSsrKyBiL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jvcy5jbWFrZQotQEAgLTEwNCwxNCArMTA0 LDE0IEBAIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCkKLSAgIHNldChERUZBVUxUX0NPTVBJ TEVfV0FSTklOR1NfRVhUUkEgIiR7X3dhcm59ICR7X3dhcm54fSIpCi0gCi0gICBzZXQoX3NhdmVf Y3h4ZmxhZ3MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSIpCi0tICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICAg ICAgICAgICAgICAgICItZm5vLWV4Y2VwdGlvbnMgLWZuby1jaGVjay1uZXcgLWZuby1jb21tb24g LWZuby1vcGVyYXRvci1uYW1lcyAtRF9ERUZBVUxUX1NPVVJDRSIpCi0rICBzZXQoQ01BS0VfQ1hY X0ZMQUdTICAgICAgICAgICAgICAgICItZm5vLWV4Y2VwdGlvbnMgLWZuby1jaGVjay1uZXcgLWZu by1jb21tb24gLWZuby1vcGVyYXRvci1uYW1lcyAtRF9ERUZBVUxUX1NPVVJDRSAke19zYXZlX2N4 eGZsYWdzfSIpCi0gICBzZXQoQ01BS0VfQ1hYX0ZMQUdTX1JFTFdJVEhERUJJTkZPICItTzIgLWcg JHtfc2F2ZV9jeHhmbGFnc30iKQotICAgc2V0KENNQUtFX0NYWF9GTEFHU19SRUxFQVNFICAgICAg ICAiLU8yIC1ETkRFQlVHICR7X3NhdmVfY3h4ZmxhZ3N9IikKLSAgIHNldChDTUFLRV9DWFhfRkxB R1NfREVCVUcgICAgICAgICAgIi1nIC1PMiAtZm5vLXJlb3JkZXItYmxvY2tzIC1mbm8tc2NoZWR1 bGUtaW5zbnMgLWZuby1pbmxpbmUgJHtfc2F2ZV9jeHhmbGFnc30iKQotICAgc2V0KENNQUtFX0NY WF9GTEFHU19ERUJVR0ZVTEwgICAgICAiLWczIC1mbm8taW5saW5lICR7X3NhdmVfY3h4ZmxhZ3N9 IikKLSAgIHNldChDTUFLRV9DWFhfRkxBR1NfUFJPRklMRSAgICAgICAgIi1nMyAtZm5vLWlubGlu ZSAtZnRlc3QtY292ZXJhZ2UgLWZwcm9maWxlLWFyY3MgJHtfc2F2ZV9jeHhmbGFnc30iKQotICAg c2V0KF9zYXZlX2NmbGFncyAiJHtDTUFLRV9DX0ZMQUdTfSIpCi0tICBzZXQoQ01BS0VfQ19GTEFH UyAgICAgICAgICAgICAgICAgICItc3RkPWM5OSAtRF9ERUZBVUxUX1NPVVJDRSIpCi0rICBzZXQo Q01BS0VfQ19GTEFHUyAgICAgICAgICAgICAgICAgICItc3RkPWM5OSAtRF9ERUZBVUxUX1NPVVJD RSAke19zYXZlX2NmbGFnc30iKQotICAgc2V0KENNQUtFX0NfRkxBR1NfUkVMV0lUSERFQklORk8g ICAiLU8yIC1nICR7X3NhdmVfY2ZsYWdzfSIpCi0gICBzZXQoQ01BS0VfQ19GTEFHU19SRUxFQVNF ICAgICAgICAgICItTzIgLUROREVCVUcgJHtfc2F2ZV9jZmxhZ3N9IikKLSAgIHNldChDTUFLRV9D X0ZMQUdTX0RFQlVHICAgICAgICAgICAgIi1nIC1PMiAtZm5vLXJlb3JkZXItYmxvY2tzIC1mbm8t c2NoZWR1bGUtaW5zbnMgLWZuby1pbmxpbmUgJHtfc2F2ZV9jZmxhZ3N9IikKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcG9wcGxlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvcG9wcGxlci90ZW1wbGF0ZQppbmRl eCAwYWE0ZWRmMjBiNTcuLjJiNDRlZThkZmM2NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9wb3BwbGVy L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcG9wcGxlci90ZW1wbGF0ZQpAQCAtMywxMyArMywxNSBA QAogIyBUSElTIFBLRyBNVVNUIEJFIFNZTkNIUk9OSVpFRCBXSVRIICJzcmNwa2dzL3BvcHBsZXIt cXQ1Ii4KICMKIHBrZ25hbWU9cG9wcGxlcgotdmVyc2lvbj0yMS4wNy4wCit2ZXJzaW9uPTIyLjAz LjAKIHJldmlzaW9uPTEKK190ZXN0VmVyc2lvbj0wNzYyZTAxNDQxNDNlNjgwZTI0ZWM4ZDRjMzRj NDZjMzcxNmI4NzEzCiBidWlsZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPSJnaXIiCiBjb25m aWd1cmVfYXJncz0iLURFTkFCTEVfVU5TVEFCTEVfQVBJX0FCSV9IRUFERVJTPU9OIC1ERU5BQkxF X0NQUD1PTgogIC1ERU5BQkxFX0dMSUI9T04gLURFTkFCTEVfR09CSkVDVF9JTlRST1NQRUNUSU9O PSQodm9wdF9pZiBnaXIgT04gT0ZGKQotIC1ERU5BQkxFX1FUNT1PRkYgLURFTkFCTEVfVVRJTFM9 T04gLURFTkFCTEVfQk9PU1Q9JCh2b3B0X2lmIGJvb3N0IE9OIE9GRikiCisgLURFTkFCTEVfUVQ1 PU9GRiAtREVOQUJMRV9VVElMUz1PTiAtREVOQUJMRV9CT09TVD0kKHZvcHRfaWYgYm9vc3QgT04g T0ZGKQorIC1EQ01BS0VfQlVJTERfVFlQRT1SRUxFQVNFIC1EVEVTVERBVEFESVI9JyR7WEJQU19C VUlMRERJUn0vdGVzdC0ke190ZXN0VmVyc2lvbn0nIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29u ZmlnIGdsaWItZGV2ZWwiCiBtYWtlZGVwZW5kcz0ibGlicG5nLWRldmVsIGxpYmdsaWItZGV2ZWwg Y2Fpcm8tZGV2ZWwgdGlmZi1kZXZlbCBsY21zMi1kZXZlbAogbGliY3VybC1kZXZlbCBsaWJvcGVu anBlZzItZGV2ZWwgJCh2b3B0X2lmIGJvb3N0IGJvb3N0LWRldmVsKSIKQEAgLTE3LDggKzE5LDEw IEBAIHNob3J0X2Rlc2M9IlBERiByZW5kZXJpbmcgbGlicmFyeSIKIG1haW50YWluZXI9Ik9ycGhh bmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBH UEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcG9wcGxlci5mcmVlZGVza3RvcC5v cmciCi1kaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1lMjZhYjI5ZjY4MDY1ZGU0ZDY1NjJmMGEzZTJiNTQzNWE4M2NhOTJiZTU3M2I5 OWExYzgxOTk4ZmEyODZhNGQ0CitkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9LyR7cGtnbmFtZX0tJHt2 ZXJzaW9ufS50YXIueHoKKyBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvcG9wcGxlci90 ZXN0Ly0vYXJjaGl2ZS8ke190ZXN0VmVyc2lvbn0vdGVzdC0ke190ZXN0VmVyc2lvbn0udGFyLmd6 IgorY2hlY2tzdW09IjcyOGM3OGJhOTRkNzVhNTVmNmI2MzU1ZDRmYmRhYTZmNDk5MzRkOTYxNmJl NThlNWU2NzlhOWNmZDA5ODBlMWUKKyAyMTQwMTA0MGQ1Y2NmMDVlOWVkODVjMDlhNWRlMjI1ZDA1 YjI3MGY4YmE3NTkyMWFmOGZmNjcxMTRmMjMxM2E2IgogCiBidWlsZF9vcHRpb25zPSJnaXIgYm9v c3QiCiBidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImdpciBib29zdCIKCkZyb20gNmM2MGRlY2NhZGJi ODkwY2IzMTZhNDhkNjAyNmI2NTY5YzdiMmJkMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogb3JlbzYzOSA8MzE5MTYzNzkrT3JlbzYzOUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CkRh dGU6IEZyaSwgMjUgTWFyIDIwMjIgMTg6Mjk6MDIgLTA3MDAKU3ViamVjdDogW1BBVENIIDIvOF0g cG9wcGxlci1xdDU6IHVwZGF0ZSB0byAyMi4wMy4wCgotLS0KIHNyY3BrZ3MvcG9wcGxlci1xdDUv cGF0Y2hlcyAgfCAxIC0KIHNyY3BrZ3MvcG9wcGxlci1xdDUvdGVtcGxhdGUgfCA3ICsrKystLS0K IDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogZGVsZXRl IG1vZGUgMTIwMDAwIHNyY3BrZ3MvcG9wcGxlci1xdDUvcGF0Y2hlcwoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcG9wcGxlci1xdDUvcGF0Y2hlcyBiL3NyY3BrZ3MvcG9wcGxlci1xdDUvcGF0Y2hlcwpk ZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggNjM2ZTRhYzJjYmQ5Li4wMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9wb3BwbGVyLXF0NS9wYXRjaGVzCisrKyAvZGV2L251bGwKQEAgLTEgKzAs MCBAQAotLi4vcG9wcGxlci9wYXRjaGVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9wb3BwbGVyLXF0NS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcG9wcGxlci1x dDUvdGVtcGxhdGUKaW5kZXggMmExNWY1NjEyOGMxLi4wMDBlMzM4N2I1YmMgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvcG9wcGxlci1xdDUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wb3BwbGVyLXF0NS90 ZW1wbGF0ZQpAQCAtNCwxMiArNCwxMyBAQAogIyBJVCBJUyBTUExJVCBUTyBBVk9JRCBBIENZQ0xJ QyBERVBFTkRFTkNZOiBxdDUgLT4gY3VwcyAtPiBwb3BwbGVyIC0+IHF0NS4KICMKIHBrZ25hbWU9 cG9wcGxlci1xdDUKLXZlcnNpb249MjEuMDcuMAordmVyc2lvbj0yMi4wMy4wCiByZXZpc2lvbj0x CiB3cmtzcmM9InBvcHBsZXItJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1 cmVfYXJncz0iLURFTkFCTEVfVU5TVEFCTEVfQVBJX0FCSV9IRUFERVJTPU9OIC1ERU5BQkxFX0dM SUI9T0ZGCi0gLURFTkFCTEVfUVQ1PU9OIC1ERU5BQkxFX1VUSUxTPU9GRiAtREVOQUJMRV9DUFA9 T0ZGIC1ERU5BQkxFX0JPT1NUPU9GRiIKKyAtREVOQUJMRV9RVDU9T04gLURFTkFCTEVfVVRJTFM9 T0ZGIC1ERU5BQkxFX0NQUD1PRkYgLURFTkFCTEVfQk9PU1Q9T0ZGCisgLURDTUFLRV9CVUlMRF9U WVBFPVJFTEVBU0UiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1LWRldmVsIgogbWFr ZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCB0aWZmLWRldmVsIGxjbXMyLWRldmVsIGxpYmN1cmwtZGV2 ZWwKICBmb250Y29uZmlnLWRldmVsIGNhaXJvLWRldmVsIGxpYm9wZW5qcGVnMi1kZXZlbCBxdDUt ZGV2ZWwiCkBAIC0xOCw3ICsxOSw3IEBAIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9p ZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxhdGVy IgogaG9tZXBhZ2U9Imh0dHBzOi8vcG9wcGxlci5mcmVlZGVza3RvcC5vcmciCiBkaXN0ZmlsZXM9 IiR7aG9tZXBhZ2V9L3BvcHBsZXItJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lMjZhYjI5 ZjY4MDY1ZGU0ZDY1NjJmMGEzZTJiNTQzNWE4M2NhOTJiZTU3M2I5OWExYzgxOTk4ZmEyODZhNGQ0 CitjaGVja3N1bT03MjhjNzhiYTk0ZDc1YTU1ZjZiNjM1NWQ0ZmJkYWE2ZjQ5OTM0ZDk2MTZiZTU4 ZTVlNjc5YTljZmQwOTgwZTFlCiAjIGZhaWxzIHRvIGZpbmQgYSBidW5jaCBvZiBmaWxlcwogbWFr ZV9jaGVjaz1ubwogCgpGcm9tIDE1OWFiMTc0Yjg2NGFiYzc4NjJkNzcwYjllNDc0MzIxNTQzZDg5 OGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IG9yZW82MzkgPDMxOTE2Mzc5K09yZW82 MzlAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgpEYXRlOiBGcmksIDI1IE1hciAyMDIyIDE4OjI5 OjMyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAzLzhdIHBvcHBsZXItZGF0YTogdXBkYXRlIHRvIDAu NC4xMQoKLS0tCiBzcmNwa2dzL3BvcHBsZXItZGF0YS90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3BvcHBsZXItZGF0YS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcG9wcGxlci1kYXRhL3RlbXBs YXRlCmluZGV4IDQ4ZGJhMjQ5N2ZiNi4uNGI2ZTk1NmI3YjcyIDEwMDY0NAotLS0gYS9zcmNwa2dz L3BvcHBsZXItZGF0YS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BvcHBsZXItZGF0YS90ZW1wbGF0 ZQpAQCAtMSwxMyArMSwxMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncG9wcGxlci1kYXRhJwog cGtnbmFtZT1wb3BwbGVyLWRhdGEKLXZlcnNpb249MC40LjEwCit2ZXJzaW9uPTAuNC4xMQogcmV2 aXNpb249MQogc2hvcnRfZGVzYz0iRW5jb2RpbmcgZGF0YSBmb3IgdGhlIHBvcHBsZXIgUERGIHJl bmRlcmluZyBsaWJyYXJ5IgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgu b3JnPiIKIGxpY2Vuc2U9Ik1JVCwgR1BMLTIuMC1vci1sYXRlciwgQlNELTMtQ2xhdXNlIgogaG9t ZXBhZ2U9Imh0dHBzOi8vcG9wcGxlci5mcmVlZGVza3RvcC5vcmcvIgogZGlzdGZpbGVzPSJodHRw czovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIuZ3oi Ci1jaGVja3N1bT02ZTJmY2VmNjZlYzhjNDQ2MjVmOTQyOTJjY2Y4YWY5ZjFkOTE4YjQxMGQ1YWE2 OWMyNzRjZTY3Mzg3OTY3YjMwCitjaGVja3N1bT0yY2VjMDVjZDFiYjAzYWY5OGE4YjA2YTFlMjJm NmU2ZTFhNjViMWUyZjM4MTZjYjMwNjliYjA4NzQ4MjVmMDhjCiAKIGRvX2luc3RhbGwoKSB7CiAJ bWFrZSBwcmVmaXg9L3VzciBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAoKRnJvbSAwZTA5OWM1 NWQwNjMyNmRiMjc5ZWE0ZmY0NTZhZTZlOGIzM2NhYWE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODozMzozMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0gg NC84XSBjYWxsaWdyYTogcmVidWlsZCBhZ2FpbnN0IGxpYnBvcHBsZXIgMjIuMDMuMAoKLS0tCiAu Li4vcGF0Y2hlcy8wMDAxLUZpeC1zb21lLW1vcmUtd2FybmluZ3MucGF0Y2ggfCA0NDAgKysrKysr KysrKysrKysrKysrCiAuLi4vMDAwMi1NYWtlLXNob3ctaGlkZGVuLXJvdy1zLXdvcmsucGF0Y2gg ICAgfCAgMjkgKysKIHNyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy9jKysxNy5wYXRjaCAgICAgICAg ICB8ICAxNiArCiAuLi4vcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoICAgICAgICAg fCAgMjIgKwogc3JjcGtncy9jYWxsaWdyYS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgIHwg ICAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDUwOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzLzAwMDEtRml4LXNv bWUtbW9yZS13YXJuaW5ncy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2FsbGln cmEvcGF0Y2hlcy8wMDAyLU1ha2Utc2hvdy1oaWRkZW4tcm93LXMtd29yay5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy9jKysxNy5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4 LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzLzAwMDEtRml4LXNv bWUtbW9yZS13YXJuaW5ncy5wYXRjaCBiL3NyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy8wMDAxLUZp eC1zb21lLW1vcmUtd2FybmluZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi42Y2MxMzI5MjViMTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NhbGxp Z3JhL3BhdGNoZXMvMDAwMS1GaXgtc29tZS1tb3JlLXdhcm5pbmdzLnBhdGNoCkBAIC0wLDAgKzEs NDQwIEBACitGcm9tIDA2OGNkOWFlYzExMDUyNzMzZTM5Mzk3NjE0MjUxNmQyMTkwZTQ1NjQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQaWVycmUgRHVjcm9xdWV0IDxwaW5hcmFmQHBp bmFyYWYuaW5mbz4KK0RhdGU6IFN1biwgMjggRmViIDIwMjEgMjM6MjM6MDIgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gRml4IHNvbWUgbW9yZSB3YXJuaW5ncworCistLS0KKyBmaWx0ZXJzL2xpYm1z b294bWwvTXNvb1htbERpYWdyYW1SZWFkZXJfcC5jcHAgICAgICAgIHwgIDEgKworIGZpbHRlcnMv c2hlZXRzL2Nzdi9jc3ZpbXBvcnQuY2MgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIGZp bHRlcnMvc2hlZXRzL2V4Y2VsL3NpZGV3aW5kZXIvZXhjZWwuY3BwICAgICAgICAgICAgfCAgMSAr CisgZmlsdGVycy9zaGVldHMvZXhjZWwvc2lkZXdpbmRlci9mb3JtdWxhcy5jcHAgICAgICAgICB8 ICAyICstCisgZmlsdGVycy9zaGVldHMvZ251bWVyaWMvZ251bWVyaWNleHBvcnQuY2MgICAgICAg ICAgICB8ICA1ICsrLS0tCisgZmlsdGVycy9zaGVldHMvaHRtbC9odG1sZXhwb3J0LmNjICAgICAg ICAgICAgICAgICAgICB8ICAyIC0tCisgZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0L2xhdGV4 ZXhwb3J0LmNjICAgICAgICAgICB8ICAxIC0KKyBmaWx0ZXJzL3NoZWV0cy9sYXRleC9leHBvcnQv dGFibGUuY2MgICAgICAgICAgICAgICAgIHwgIDEgKworIGZpbHRlcnMvc2hlZXRzL3hsc3gvWGxz eFhtbFdvcmtzaGVldFJlYWRlci5jcHAgICAgICAgfCAgMSAtCisgZmlsdGVycy9zdGFnZS9wcHR4 L1BwdHhYbWxEb2N1bWVudFJlYWRlci5jcHAgICAgICAgICB8ICAyICstCisgZmlsdGVycy93b3Jk cy9tc3dvcmQtb2RmL3RleHRoYW5kbGVyLmNwcCAgICAgICAgICAgICB8ICAyICsrCisgZmlsdGVy cy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvcGFyc2VyOXguY3BwICAgICAgICB8ICA0ICsrKy0K KyBmaWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9zdHlsZXMuY3BwICAgICAgICAgIHwg IDQgKy0tLQorIGZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5oICAgICAg ICAgICAgfCAxMSArKysrKysrKy0tLQorIGdlbWluaS9saWIvR2VtaW5pTWFpbldpbmRvdy5jcHAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArKworIGxpYnMvcGFnZWFwcC9Lb1BBT2RmUGFnZVNh dmVIZWxwZXIuY3BwICAgICAgICAgICAgICAgfCAgMiArLQorIHBsdWdpbnMvc3BhY2VuYXZpZ2F0 b3IvU3BhY2VOYXZpZ2F0b3JEZXZpY2UuaCAgICAgICAgfCAgNiArKy0tLS0KKyBwbHVnaW5zL3Nw YWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9yRXZlbnQuaCAgICAgICAgIHwgIDIgKy0KKyBwbHVn aW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9yUG9sbGluZ1RocmVhZC5oIHwgIDMgKy0t CisgcGx1Z2lucy92ZWN0b3JzaGFwZS9WZWN0b3JTaGFwZS5jcHAgICAgICAgICAgICAgICAgICB8 ICAxICsKKyBzaGVldHMvZnVuY3Rpb25zL2RhdGV0aW1lLmNwcCAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDEgKworIHNoZWV0cy9wYXJ0L0RpZ2VzdC5jcHAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgOCArKysrLS0tLQorIHNoZWV0cy9zaGFwZS9UYWJsZVRvb2xGYWN0b3J5Lmgg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIHNoZWV0cy90ZXN0cy9UZXN0U29ydC5jcHAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgMjQgZmlsZXMgY2hhbmdlZCwg MzggaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9maWx0ZXJz L2xpYm1zb294bWwvTXNvb1htbERpYWdyYW1SZWFkZXJfcC5jcHAgYi9maWx0ZXJzL2xpYm1zb294 bWwvTXNvb1htbERpYWdyYW1SZWFkZXJfcC5jcHAKK2luZGV4IDE0YjA4NTMxMjYyLi4xNGZjNmFi OWE3MSAxMDA2NDQKKy0tLSBhL2ZpbHRlcnMvbGlibXNvb3htbC9Nc29vWG1sRGlhZ3JhbVJlYWRl cl9wLmNwcAorKysrIGIvZmlsdGVycy9saWJtc29veG1sL01zb29YbWxEaWFncmFtUmVhZGVyX3Au Y3BwCitAQCAtODcyLDYgKzg3Miw3IEBAIHZvaWQgTGF5b3V0Tm9kZUF0b206OmZpbmlzaEJ1aWxk KENvbnRleHQqIGNvbnRleHQpIHsKKyAgICAgICAgIGNhc2UgQWxnb3JpdGhtQXRvbTo6VW5rbm93 bkFsZzoKKyAgICAgICAgICAgICB3YXJuTXNvb1htbCA8PCAiTGF5b3V0IHdpdGggbmFtZT0iIDw8 IG1fbmFtZSA8PCAiZGVmaW5lcyBhbiB1bmtub3duIGFsZ29yaXRobS4iOworICAgICAgICAgICAg IC8vIGZhbGwgdGhyb3VnaCBhbmQgdXNlIHRoZSBjb21wb3NpdGUtYWxnb3JpdGhtCisrICAgICAg ICAvLyBmYWxsIHRocm91Z2gKKyAgICAgICAgIGNhc2UgQWxnb3JpdGhtQXRvbTo6Q29tcG9zaXRl QWxnOiBtX2FsZ29yaXRobUltcGwgPSBuZXcgQ29tcG9zaXRlQWxnb3JpdGhtOyBicmVhazsKKyAg ICAgICAgIGNhc2UgQWxnb3JpdGhtQXRvbTo6Q29ubmVjdG9yQWxnOiBtX2FsZ29yaXRobUltcGwg PSBuZXcgQ29ubmVjdG9yQWxnb3JpdGhtOyBicmVhazsKKyAgICAgICAgIGNhc2UgQWxnb3JpdGht QXRvbTo6Q3ljbGVBbGc6IG1fYWxnb3JpdGhtSW1wbCA9IG5ldyBDeWNsZUFsZ29yaXRobTsgYnJl YWs7CitkaWZmIC0tZ2l0IGEvZmlsdGVycy9zaGVldHMvY3N2L2NzdmltcG9ydC5jYyBiL2ZpbHRl cnMvc2hlZXRzL2Nzdi9jc3ZpbXBvcnQuY2MKK2luZGV4IDg5ZmI3MTYyZTAwLi4xMDA4ZDE4NmYx OCAxMDA2NDQKKy0tLSBhL2ZpbHRlcnMvc2hlZXRzL2Nzdi9jc3ZpbXBvcnQuY2MKKysrKyBiL2Zp bHRlcnMvc2hlZXRzL2Nzdi9jc3ZpbXBvcnQuY2MKK0BAIC05Nyw4ICs5Nyw4IEBAIEtvRmlsdGVy OjpDb252ZXJzaW9uU3RhdHVzIENTVkZpbHRlcjo6Y29udmVydChjb25zdCBRQnl0ZUFycmF5JiBm cm9tLCBjb25zdCBRQnl0CisgICAgICAgICByZXR1cm4gS29GaWx0ZXI6OkZpbGVOb3RGb3VuZDsK KyAgICAgfQorIAorLSAgICBRU3RyaW5nIGNzdl9kZWxpbWl0ZXI7CisgICAgIC8vICMjIyMjIyBG SVhNRTogZGlzYWJsZWQgZm9yIG5vdworKyAgICAvL1FTdHJpbmcgY3N2X2RlbGltaXRlcjsKKyAg ICAgLy9pZiAoIWNvbmZpZy5pc051bGwoKSkKKyAgICAgLy8gICAgY3N2X2RlbGltaXRlciA9IGNv bmZpZ1swXTsKKyAKK2RpZmYgLS1naXQgYS9maWx0ZXJzL3NoZWV0cy9leGNlbC9zaWRld2luZGVy L2V4Y2VsLmNwcCBiL2ZpbHRlcnMvc2hlZXRzL2V4Y2VsL3NpZGV3aW5kZXIvZXhjZWwuY3BwCitp bmRleCBhYjU5MjIyNWNhNi4uN2ZhNTYzM2Q0MzMgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3NoZWV0 cy9leGNlbC9zaWRld2luZGVyL2V4Y2VsLmNwcAorKysrIGIvZmlsdGVycy9zaGVldHMvZXhjZWwv c2lkZXdpbmRlci9leGNlbC5jcHAKK0BAIC0yNDQ5LDYgKzI0NDksNyBAQCBib29sIEV4Y2VsUmVh ZGVyOjpsb2FkKFdvcmtib29rKiB3b3JrYm9vaywgY29uc3QgY2hhciogZmlsZW5hbWUpCisgICAg ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICBieXRlc19yZWFkID0gY29tYk9i alN0cmVhbS0+cmVhZCggYnVmZmVyLCBtYXJrZXJPckxlbmd0aCApOworICAgICAgICAgICAgICAg ICBRU3RyaW5nIGFuc2lTdHJpbmcgPSByZWFkQnl0ZVN0cmluZyhidWZmZXIsIG1hcmtlck9yTGVu Z3RoKTsKKysgICAgICAgICAgICAgICAgUV9VTlVTRUQoYW5zaVN0cmluZyk7CisgICAgICAgICAg ICAgICAgIC8vVE9ETy4uLgorICAgICAgICAgICAgICAgICAvL3ByaW50ZiggIm1hcmtlck9yTGVu Z3RoPSVpIGFuc2lTdHJpbmc9JXNcbiIsbWFya2VyT3JMZW5ndGgsYW5zaVN0cmluZy5hc2NpaSgp ICk7CisgICAgICAgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvZmlsdGVycy9zaGVldHMvZXhjZWwv c2lkZXdpbmRlci9mb3JtdWxhcy5jcHAgYi9maWx0ZXJzL3NoZWV0cy9leGNlbC9zaWRld2luZGVy L2Zvcm11bGFzLmNwcAoraW5kZXggNjI3NDc0NjlhNDkuLjAxMzJkMzllMDI0IDEwMDY0NAorLS0t IGEvZmlsdGVycy9zaGVldHMvZXhjZWwvc2lkZXdpbmRlci9mb3JtdWxhcy5jcHAKKysrKyBiL2Zp bHRlcnMvc2hlZXRzL2V4Y2VsL3NpZGV3aW5kZXIvZm9ybXVsYXMuY3BwCitAQCAtMTUxMyw3ICsx NTEzLDcgQEAgc3RhdGljIHZvaWQgbWVyZ2VUb2tlbnMoVVN0cmluZ1N0YWNrKiBzdGFjaywgdW5z aWduZWQgY291bnQsIGNvbnN0IFFTdHJpbmcgJm1lcmcKKyAgICAgaWYgKCFzdGFjaykgcmV0dXJu OworICAgICBpZiAoc3RhY2stPnNpemUoKSA8IGNvdW50KSByZXR1cm47CisgCistICAgIFFTdHJp bmcgczEsIHMyOworKyAgICBRU3RyaW5nIHMxOworIAorICAgICB3aGlsZSAoY291bnQpIHsKKyAg ICAgICAgIGNvdW50LS07CitkaWZmIC0tZ2l0IGEvZmlsdGVycy9zaGVldHMvZ251bWVyaWMvZ251 bWVyaWNleHBvcnQuY2MgYi9maWx0ZXJzL3NoZWV0cy9nbnVtZXJpYy9nbnVtZXJpY2V4cG9ydC5j YworaW5kZXggMTI1NmM2OGJjNzQuLjI0Njg1NDhlZGIzIDEwMDY0NAorLS0tIGEvZmlsdGVycy9z aGVldHMvZ251bWVyaWMvZ251bWVyaWNleHBvcnQuY2MKKysrKyBiL2ZpbHRlcnMvc2hlZXRzL2du dW1lcmljL2dudW1lcmljZXhwb3J0LmNjCitAQCAtMTI5MywxNSArMTI5MywxMyBAQCBLb0ZpbHRl cjo6Q29udmVyc2lvblN0YXR1cyBHTlVNRVJJQ0V4cG9ydDo6Y29udmVydChjb25zdCBRQnl0ZUFy cmF5JiBmcm9tLCBjb25zdAorICAgICAgICAgICAgICAgICBpID0gMDsKKyAgICAgICAgICAgICB9 CisgCistICAgICAgICAgICAgUVN0cmluZyBsaW5lOworICAgICAgICAgICAgIGZvciAoaW50IGN1 cnJlbnRjb2x1bW4gPSAxOyBjdXJyZW50Y29sdW1uIDw9IGlNYXhDb2x1bW47IGN1cnJlbnRjb2x1 bW4rKykgeworICAgICAgICAgICAgICAgICBRRG9tRWxlbWVudCBjZWxsX2NvbnRlbnRzOworICAg ICAgICAgICAgICAgICBDZWxsIGNlbGwodGFibGUsIGN1cnJlbnRjb2x1bW4sIGN1cnJlbnRyb3cp OworIAorLSAgICAgICAgICAgICAgICBRU3RyaW5nIHRleHQsIHN0eWxlOworKyAgICAgICAgICAg ICAgICBRU3RyaW5nIHRleHQ7CisgICAgICAgICAgICAgICAgIFFEb21Eb2N1bWVudCBkb21MaW5r OworICAgICAgICAgICAgICAgICBRRG9tRWxlbWVudCBkb21Sb290OworLSAgICAgICAgICAgICAg ICBRRG9tTm9kZSBkb21Ob2RlOworICAgICAgICAgICAgICAgICBRRG9tTm9kZUxpc3QgY2hpbGRO b2RlczsKKyAKKyAgICAgICAgICAgICAgICAgaWYgKCFjZWxsLmlzRGVmYXVsdCgpICYmICFjZWxs LmlzRW1wdHkoKSkgeworQEAgLTEzNDIsNiArMTM0MCw3IEBAIEtvRmlsdGVyOjpDb252ZXJzaW9u U3RhdHVzIEdOVU1FUklDRXhwb3J0Ojpjb252ZXJ0KGNvbnN0IFFCeXRlQXJyYXkmIGZyb20sIGNv bnN0CisgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGRvbU5vZGUudG9FbGVtZW50KCku dGV4dCgpOworIAorICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICghZG9tTm9kZS5pc051 bGwoKSkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBRU3RyaW5nIHN0eWxlOworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSA9IGRvbU5vZGUudG9FbGVtZW50KCkudGFn TmFtZSgpOworIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3R5bGUgPT0gImIi KQorZGlmZiAtLWdpdCBhL2ZpbHRlcnMvc2hlZXRzL2h0bWwvaHRtbGV4cG9ydC5jYyBiL2ZpbHRl cnMvc2hlZXRzL2h0bWwvaHRtbGV4cG9ydC5jYworaW5kZXggMmQxMTZlMDYwOGMuLmJmNDFhNmY3 NDNlIDEwMDY0NAorLS0tIGEvZmlsdGVycy9zaGVldHMvaHRtbC9odG1sZXhwb3J0LmNjCisrKysg Yi9maWx0ZXJzL3NoZWV0cy9odG1sL2h0bWxleHBvcnQuY2MKK0BAIC0yNDIsNyArMjQyLDYgQEAg dm9pZCBIVE1MRXhwb3J0Ojpjb252ZXJ0U2hlZXQoU2hlZXQgKnNoZWV0LCBRU3RyaW5nICZzdHIs IGludCBpTWF4VXNlZFJvdywgaW50IGkKKyAgICAgICAgICAgICBpID0gMDsKKyAgICAgICAgIH0K KyAKKy0gICAgICAgIFFTdHJpbmcgc2VwYXJhdG9yczsKKyAgICAgICAgIFFTdHJpbmcgbGluZTsK KyAgICAgICAgIHVuc2lnbmVkIGludCBub25lbXB0eV9jZWxscyA9IDA7CisgCitAQCAtNDM1LDcg KzQzNCw2IEBAIHZvaWQgSFRNTEV4cG9ydDo6ZGV0ZWN0RmlsbGVkQ2VsbHMoU2hlZXQgKnNoZWV0 LCBpbnQgJnJvd3MsIGludCAmY29sdW1ucykKKyAgICAgICAgIGludCBpVXNlZENvbHVtbiA9IDA7 CisgICAgICAgICBmb3IgKGludCBjdXJyZW50Y29sdW1uID0gMSA7IGN1cnJlbnRjb2x1bW4gPD0g aU1heENvbHVtbiA7IGN1cnJlbnRjb2x1bW4rKykgeworICAgICAgICAgICAgIGNlbGwgPSBDZWxs KHNoZWV0LCBjdXJyZW50Y29sdW1uLCBjdXJyZW50cm93KTsKKy0gICAgICAgICAgICBRU3RyaW5n IHRleHQ7CisgICAgICAgICAgICAgaWYgKCFjZWxsLmlzRGVmYXVsdCgpICYmICFjZWxsLmlzRW1w dHkoKSkgeworICAgICAgICAgICAgICAgICBpVXNlZENvbHVtbiA9IGN1cnJlbnRjb2x1bW47Cisg ICAgICAgICAgICAgfQorZGlmZiAtLWdpdCBhL2ZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC9s YXRleGV4cG9ydC5jYyBiL2ZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC9sYXRleGV4cG9ydC5j YworaW5kZXggOGQwNjk4YTM0MjAuLjRmOGNhZjIzNWQ5IDEwMDY0NAorLS0tIGEvZmlsdGVycy9z aGVldHMvbGF0ZXgvZXhwb3J0L2xhdGV4ZXhwb3J0LmNjCisrKysgYi9maWx0ZXJzL3NoZWV0cy9s YXRleC9leHBvcnQvbGF0ZXhleHBvcnQuY2MKK0BAIC0zOCw3ICszOCw2IEBAIExBVEVYRXhwb3J0 OjpMQVRFWEV4cG9ydChRT2JqZWN0KiBwYXJlbnQsIGNvbnN0IFFWYXJpYW50TGlzdCYpIDoKKyAK KyBLb0ZpbHRlcjo6Q29udmVyc2lvblN0YXR1cyBMQVRFWEV4cG9ydDo6Y29udmVydChjb25zdCBR Qnl0ZUFycmF5JiBmcm9tLCBjb25zdCBRQnl0ZUFycmF5JiB0bykKKyB7CistICAgIFFTdHJpbmcg Y29uZmlnOworIAorICAgICBpZiAodG8gIT0gInRleHQveC10ZXgiIHx8IGZyb20gIT0gImFwcGxp Y2F0aW9uL3gta3NwcmVhZCIpCisgICAgICAgICByZXR1cm4gS29GaWx0ZXI6Ok5vdEltcGxlbWVu dGVkOworZGlmZiAtLWdpdCBhL2ZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC90YWJsZS5jYyBi L2ZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC90YWJsZS5jYworaW5kZXggOGQ4YjY3MDFhMzku LmU1ODgyN2RmYmM3IDEwMDY0NAorLS0tIGEvZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0L3Rh YmxlLmNjCisrKysgYi9maWx0ZXJzL3NoZWV0cy9sYXRleC9leHBvcnQvdGFibGUuY2MKK0BAIC0x MTgsNiArMTE4LDcgQEAgdm9pZCBUYWJsZTo6YW5hbHl6ZVBhcGVyKGNvbnN0IFFEb21Ob2RlIG5v ZGUpCisgCisgICAgIC8qIGJvcmRlcnMgKi8KKyAgICAgUURvbU5vZGUgYm9yZGVyID0gZ2V0Q2hp bGQobm9kZSwgImJvcmRlcnMiKTsKKysgICAgUV9VTlVTRUQoYm9yZGVyKTsKKyAgICAgc2V0Qm9y ZGVyUmlnaHQoZ2V0QXR0cihub2RlLCAicmlnaHQiKS50b0xvbmcoKSk7CisgICAgIHNldEJvcmRl ckxlZnQoZ2V0QXR0cihub2RlLCAibGVmdCIpLnRvTG9uZygpKTsKKyAgICAgc2V0Qm9yZGVyQm90 dG9tKGdldEF0dHIobm9kZSwgImJvdHRvbSIpLnRvTG9uZygpKTsKK2RpZmYgLS1naXQgYS9maWx0 ZXJzL3NoZWV0cy94bHN4L1hsc3hYbWxXb3Jrc2hlZXRSZWFkZXIuY3BwIGIvZmlsdGVycy9zaGVl dHMveGxzeC9YbHN4WG1sV29ya3NoZWV0UmVhZGVyLmNwcAoraW5kZXggNzgyYTU5MTQ3MjkuLmVk YThmZmM2YjQ3IDEwMDY0NAorLS0tIGEvZmlsdGVycy9zaGVldHMveGxzeC9YbHN4WG1sV29ya3No ZWV0UmVhZGVyLmNwcAorKysrIGIvZmlsdGVycy9zaGVldHMveGxzeC9YbHN4WG1sV29ya3NoZWV0 UmVhZGVyLmNwcAorQEAgLTg3Miw3ICs4NzIsNiBAQCBLb0ZpbHRlcjo6Q29udmVyc2lvblN0YXR1 cyBYbHN4WG1sV29ya3NoZWV0UmVhZGVyOjpyZWFkX2NvbmRpdGlvbmFsRm9ybWF0dGluZygpCisg ICAgIHdoaWxlIChpbmRleCA8IG1fY29uZGl0aW9uYWxJbmRpY2VzLnNpemUoKSkgeworICAgICAg ICAgUVN0cmluZyBjb25kaXRpb25hbEFyZWE7CisgICAgICAgICBDb25kaXRpb24gZXhhbWluZWRD b25kaXRpb24gPSBtX2NvbmRpdGlvbmFsSW5kaWNlcy5hdChpbmRleCk7CistICAgICAgICBRU3Ry aW5nIHNxcmVmT3JpZ2luYWwgPSBzcXJlZjsKKyAgICAgICAgIGludCBhcmVhSW5kZXggPSAwOwor ICAgICAgICAgQ29uZGl0aW9uIHByZXZpb3VzQ29uZDsKKyAKK2RpZmYgLS1naXQgYS9maWx0ZXJz L3N0YWdlL3BwdHgvUHB0eFhtbERvY3VtZW50UmVhZGVyLmNwcCBiL2ZpbHRlcnMvc3RhZ2UvcHB0 eC9QcHR4WG1sRG9jdW1lbnRSZWFkZXIuY3BwCitpbmRleCA0Y2Y4NmFlYThjOC4uMTFiNWFkMjY2 YjkgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3N0YWdlL3BwdHgvUHB0eFhtbERvY3VtZW50UmVhZGVy LmNwcAorKysrIGIvZmlsdGVycy9zdGFnZS9wcHR4L1BwdHhYbWxEb2N1bWVudFJlYWRlci5jcHAK K0BAIC0zMTYsNyArMzE2LDcgQEAgS29GaWx0ZXI6OkNvbnZlcnNpb25TdGF0dXMgUHB0eFhtbERv Y3VtZW50UmVhZGVyOjpyZWFkX3NsZElkKCkKKyAKKyAgICAgUVN0cmluZyBzbGlkZU1hc3RlclBh dGgsIHNsaWRlTWFzdGVyRmlsZTsKKyAgICAgTVNPT1hNTDo6VXRpbHM6OnNwbGl0UGF0aEFuZEZp bGUobV9jb250ZXh0LT5yZWxhdGlvbnNoaXBzLT50YXJnZXRGb3JUeXBlKHNsaWRlUGF0aCwgc2xp ZGVGaWxlLCBRTGF0aW4xU3RyaW5nKE1TT09YTUw6OlNjaGVtYXM6Om9mZmljZURvY3VtZW50Ojpy ZWxhdGlvbnNoaXBzKSArICIvc2xpZGVMYXlvdXQiKSwgJnNsaWRlTWFzdGVyUGF0aCwgJnNsaWRl TWFzdGVyRmlsZSk7CistICAgIGNvbnN0IFFTdHJpbmcgc2xpZGVNYXN0ZXJQYXRoQW5kRmlsZSA9 IG1fY29udGV4dC0+cmVsYXRpb25zaGlwcy0+dGFyZ2V0Rm9yVHlwZShzbGlkZU1hc3RlclBhdGgs IHNsaWRlTWFzdGVyRmlsZSwgUUxhdGluMVN0cmluZyhNU09PWE1MOjpTY2hlbWFzOjpvZmZpY2VE b2N1bWVudDo6cmVsYXRpb25zaGlwcykgKyAiL3NsaWRlTWFzdGVyIik7CisrICAgIC8vIGNvbnN0 IFFTdHJpbmcgc2xpZGVNYXN0ZXJQYXRoQW5kRmlsZSA9IG1fY29udGV4dC0+cmVsYXRpb25zaGlw cy0+dGFyZ2V0Rm9yVHlwZShzbGlkZU1hc3RlclBhdGgsIHNsaWRlTWFzdGVyRmlsZSwgUUxhdGlu MVN0cmluZyhNU09PWE1MOjpTY2hlbWFzOjpvZmZpY2VEb2N1bWVudDo6cmVsYXRpb25zaGlwcykg KyAiL3NsaWRlTWFzdGVyIik7CisgCisgICAgIC8vIERlbGF5IHRoZSByZWFkaW5nIG9mIGEgdGFi bGVTdHlsZSB1bnRpbCB3ZSBmaW5kIGEgdGFibGUgYXMgd2UgbmVlZCB0aGUKKyAgICAgLy8gY2xy TWFwIGZyb20gdGhlIG1hc3RlciBzbGlkZQorZGlmZiAtLWdpdCBhL2ZpbHRlcnMvd29yZHMvbXN3 b3JkLW9kZi90ZXh0aGFuZGxlci5jcHAgYi9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvdGV4dGhh bmRsZXIuY3BwCitpbmRleCBlMTY3ZDg2ZTAyOC4uODllZjY3ODk2MWEgMTAwNjQ0CistLS0gYS9m aWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvdGV4dGhhbmRsZXIuY3BwCisrKysgYi9maWx0ZXJzL3dv cmRzL21zd29yZC1vZGYvdGV4dGhhbmRsZXIuY3BwCitAQCAtNDA4LDYgKzQwOCw3IEBAIHZvaWQg V29yZHNUZXh0SGFuZGxlcjo6Zm9vdG5vdGVGb3VuZCh3dldhcmU6OkZvb3Rub3RlRGF0YSBkYXRh LAorICAgICAgICAgfQorICAgICAgICAgY2FzZSBtc29uZmNVQ0xldHRlcjoKKyAgICAgICAgICAg ICBsZXR0ZXIgPSAnQSc7CisrICAgICAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgICAgICBj YXNlIG1zb25mY0xDTGV0dGVyOgorICAgICAgICAgeworICAgICAgICAgICAgIHdoaWxlIChub3Rl TnVtYmVyIC8gMjUgPiAwKSB7CitAQCAtMTA2NCw2ICsxMDY1LDcgQEAgdm9pZCBXb3Jkc1RleHRI YW5kbGVyOjpmaWVsZFN0YXJ0KGNvbnN0IHd2V2FyZTo6RkxEKiBmbGQsIHd2V2FyZTo6U2hhcmVk UHRyPGNvbnMKKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFVOU1VQUE9SVEVEOgorICAgICAg ICAgd2Fybk1zRG9jIDw8ICJXYXJuaW5nOiBGbGQgZGF0YSBtaXNzaW5nLCBpZ25vcmluZyEiOwor KyAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgIGRlZmF1bHQ6CisgICAgICAgICB3YXJuTXNE b2MgPDwgIldhcm5pbmc6IHVucmVjb2duaXplZCBmaWVsZCB0eXBlLCBpZ25vcmluZyEiOworICAg ICAgICAgbV9mbGQtPm1fdHlwZSA9IFVOU1VQUE9SVEVEOworZGlmZiAtLWdpdCBhL2ZpbHRlcnMv d29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3BhcnNlcjl4LmNwcCBiL2ZpbHRlcnMvd29yZHMvbXN3 b3JkLW9kZi93djIvc3JjL3BhcnNlcjl4LmNwcAoraW5kZXggOWE2ZDE2MDZjZTkuLmU1ZDdkMTQ2 OTFjIDEwMDY0NAorLS0tIGEvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvcGFyc2Vy OXguY3BwCisrKysgYi9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9wYXJzZXI5eC5j cHAKK0BAIC01ODEsNyArNTgxLDggQEAgdm9pZCBQYXJzZXI5eDo6cHJvY2Vzc1BpZWNlKCBTdHJp bmcqIHN0cmluZywgVTMyIGZjLCBVMzIgbGltaXQsIGNvbnN0IFBvc2l0aW9uJgorICAgICAgICAg Ly8gc2FtZSBBU0NJSSBjb2RlIGFzIFRUUF9NQVJLICgweDAwMDcpLCBOT1RFOiB0YWJsZSBkZXB0 aCA9PSAxCisgICAgICAgICBjYXNlIENFTExfTUFSSzoKKyAgICAgICAgICAgICBtX2NlbGxNYXJr Rm91bmQgPSB0cnVlOworLSAgICAgICAgICAgIC8vIEZhbGwtdGhyb3VnaCBpbnRlbmRlZC4gQSBy b3cvY2VsbCBlbmQgaXMgYWxzbyBhIHBhcmFncmFwaCBlbmQuCisrICAgICAgICAgICAgLy8gQSBy b3cvY2VsbCBlbmQgaXMgYWxzbyBhIHBhcmFncmFwaCBlbmQuCisrICAgICAgICAgICAgLy8gZmFs bCB0aHJvdWdoCisgICAgICAgICBjYXNlIFBBUkFHUkFQSF9NQVJLOgorICAgICAgICAgeworICAg ICAgICAgICAgIC8vIE5vICJpbmRleCAtIHN0YXJ0ICsgMSIgaGVyZSwgYXMgd2UgZG9uJ3Qgd2Fu dCB0byBjb3B5IHRoZQorQEAgLTEwNjQsNiArMTA2NSw3IEBAIHZvaWQgUGFyc2VyOXg6OmVtaXRT cGVjaWFsQ2hhcmFjdGVyKCBVQ2hhciBjaGFyYWN0ZXIsIFUzMiBnbG9iYWxDUCwgU2hhcmVkUHRy PGNvCisgICAgICAgICAgICAgaWYgKG1fc3ViRG9jdW1lbnQgPT0gTWFpbikgeworICAgICAgICAg ICAgICAgICBlbWl0QW5ub3RhdGlvbiggVVN0cmluZyhjaGFyYWN0ZXIpLCBnbG9iYWxDUCwgY2hw ICk7CisgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgfQorICAg ICBjYXNlIFRleHRIYW5kbGVyOjpGaWVsZEVzY2FwZUNoYXI6CisgICAgICAgICB3dmxvZyA8PCAi Rm91bmQgYW4gZXNjYXBlIGNoYXJhY3RlciArKysrKysrKysrKysrKysrKysrKz8iIDw8IGVuZGw7 CitkaWZmIC0tZ2l0IGEvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5bGVzLmNw cCBiL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5jcHAKK2luZGV4IGY0 N2MzZGQ4ZDUxLi5kMmM5NmUzZDkyYiAxMDA2NDQKKy0tLSBhL2ZpbHRlcnMvd29yZHMvbXN3b3Jk LW9kZi93djIvc3JjL3N0eWxlcy5jcHAKKysrKyBiL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93 djIvc3JjL3N0eWxlcy5jcHAKK0BAIC00Miw3ICs0Miw2IEBAIFNURDo6U1REKCkKKyB9CisgCisg U1REOjpTVEQoIFUxNiBiYXNlU2l6ZSwgVTE2IHRvdGFsU2l6ZSwgT0xFU3RyZWFtUmVhZGVyKiBz dHJlYW0sIGJvb2wgcHJlc2VydmVQb3MgKQorLXRocm93KEludmFsaWRGb3JtYXRFeGNlcHRpb24p CisgeworICAgICBjbGVhckludGVybmFsKCk7CisgICAgIGlmICghcmVhZCggYmFzZVNpemUsIHRv dGFsU2l6ZSwgc3RyZWFtLCBwcmVzZXJ2ZVBvcyApKSB7CitAQCAtMTEyLDcgKzExMSw2IEBAIFNU RCYgU1REOjpvcGVyYXRvcj0oIGNvbnN0IFNURCYgcmhzICkKKyB9CisgCisgYm9vbCBTVEQ6OnJl YWQoIGNvbnN0IFUxNiBjYlN0ZCwgY29uc3QgVTE2IHN0ZGZTaXplLCBPTEVTdHJlYW1SZWFkZXIq IHN0cmVhbSwgYm9vbCBwcmVzZXJ2ZVBvcyApCistdGhyb3coSW52YWxpZEZvcm1hdEV4Y2VwdGlv bikKKyB7CisgICAgIFUxNiBzaGlmdGVyVTE2OworICAgICBTMzIgc3RhcnRPZmZzZXQ9c3RyZWFt LT50ZWxsKCk7ICAvLyBhZGRyZXNzIHdoZXJlIHRoZSBTVEQgc3RhcnRzCitAQCAtOTM4LDcgKzkz Niw3IEBAIHZvaWQgU3R5bGU6Om1lcmdlVXBlY2hweCggY29uc3QgU3R5bGUqIHBhcmVudFN0eWxl LCBXb3JkVmVyc2lvbiB2ZXJzaW9uICkKKyB9CisgCisgCistU3R5bGVTaGVldDo6U3R5bGVTaGVl dCggT0xFU3RyZWFtUmVhZGVyKiB0YWJsZVN0cmVhbSwgVTMyIGZjU3RzaGYsIFUzMiBsY2JTdHNo ZiApIHRocm93KEludmFsaWRGb3JtYXRFeGNlcHRpb24pCisrU3R5bGVTaGVldDo6U3R5bGVTaGVl dCggT0xFU3RyZWFtUmVhZGVyKiB0YWJsZVN0cmVhbSwgVTMyIGZjU3RzaGYsIFUzMiBsY2JTdHNo ZiApCisgICAgIDogbV91ZHNOdW0oMCkKKyB7CisgICAgIFdvcmRWZXJzaW9uIHZlcnNpb24gPSBX b3JkODsKK2RpZmYgLS1naXQgYS9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9zdHls ZXMuaCBiL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5oCitpbmRleCBi YTAyZGVmNjg0NS4uNDFjODI3OGRkMjEgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3dvcmRzL21zd29y ZC1vZGYvd3YyL3NyYy9zdHlsZXMuaAorKysrIGIvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2 Mi9zcmMvc3R5bGVzLmgKK0BAIC01OCw4ICs1OCw5IEBAIHN0cnVjdCBTVEQKKyAgICAgU1REKCk7 CisgICAgIC8qKgorICAgICAgKiBTaW1wbHkgY2FsbHMgcmVhZCguLi4pCisrICAgICAqIEB0aHJv dyBJbnZhbGlkRm9ybWF0RXhjZXB0aW9uCisgICAgICAqLworLSAgICBTVEQoIFUxNiBzdGRmU2l6 ZSwgVTE2IHRvdGFsU2l6ZSwgT0xFU3RyZWFtUmVhZGVyKiBzdHJlYW0sIGJvb2wgcHJlc2VydmVQ b3MgPSBmYWxzZSApIHRocm93KEludmFsaWRGb3JtYXRFeGNlcHRpb24pOworKyAgICBTVEQoIFUx NiBzdGRmU2l6ZSwgVTE2IHRvdGFsU2l6ZSwgT0xFU3RyZWFtUmVhZGVyKiBzdHJlYW0sIGJvb2wg cHJlc2VydmVQb3MgPSBmYWxzZSApOworICAgICAvKioKKyAgICAgICogQXR0ZW50aW9uOiBUaGlz IHN0cnVjdCBhbGxvY2F0ZXMgbWVtb3J5IG9uIHRoZSBoZWFwCisgICAgICAqLworQEAgLTc0LDgg Kzc1LDkgQEAgc3RydWN0IFNURAorICAgICAgKiBmYWxzZSB0aGUgc3RhdGUgb2Ygc3RyZWFtIHdp bGwgYmUgY2hhbmdlZCEKKyAgICAgICoKKyAgICAgICogQHJldHVybiB0cnVlIC0gc3VjY2Vzcywg ZmFsc2UgLSBmYWlsZWQKKysgICAgICogQHRocm93IEludmFsaWRGb3JtYXRFeGNlcHRpb24KKyAg ICAgICovCistICAgIGJvb2wgcmVhZCggY29uc3QgVTE2IGNiU3RkLCBjb25zdCBVMTYgc3RkZlNp emUsIE9MRVN0cmVhbVJlYWRlciogc3RyZWFtLCBib29sIHByZXNlcnZlUG9zID0gZmFsc2UgKSB0 aHJvdyhJbnZhbGlkRm9ybWF0RXhjZXB0aW9uKTsKKysgICAgYm9vbCByZWFkKCBjb25zdCBVMTYg Y2JTdGQsIGNvbnN0IFUxNiBzdGRmU2l6ZSwgT0xFU3RyZWFtUmVhZGVyKiBzdHJlYW0sIGJvb2wg cHJlc2VydmVQb3MgPSBmYWxzZSApOworIAorICAgICAvKioKKyAgICAgICogU2FtZSBhcyByZWFk aW5nIDopCitAQCAtMzY1LDcgKzM2NywxMCBAQCBjbGFzcyBXVjJfRVhQT1JUIFN0eWxlCisgY2xh c3MgV1YyX0VYUE9SVCBTdHlsZVNoZWV0CisgeworIHB1YmxpYzoKKy0gICAgU3R5bGVTaGVldCgg T0xFU3RyZWFtUmVhZGVyKiB0YWJsZVN0cmVhbSwgVTMyIGZjU3RzaGYsIFUzMiBsY2JTdHNoZiAp IHRocm93KEludmFsaWRGb3JtYXRFeGNlcHRpb24pOworKyAgICAvKioKKysgICAgICogQHRocm93 IEludmFsaWRGb3JtYXRFeGNlcHRpb24KKysgICAgICovCisrICAgIFN0eWxlU2hlZXQoIE9MRVN0 cmVhbVJlYWRlciogdGFibGVTdHJlYW0sIFUzMiBmY1N0c2hmLCBVMzIgbGNiU3RzaGYgKTsKKyAg ICAgflN0eWxlU2hlZXQoKTsKKyAKKyAgICAgLyoqCitkaWZmIC0tZ2l0IGEvZ2VtaW5pL2xpYi9H ZW1pbmlNYWluV2luZG93LmNwcCBiL2dlbWluaS9saWIvR2VtaW5pTWFpbldpbmRvdy5jcHAKK2lu ZGV4IDNkMDVmNjQ2MWUwLi5lYjVmMTIwYzBmNyAxMDA2NDQKKy0tLSBhL2dlbWluaS9saWIvR2Vt aW5pTWFpbldpbmRvdy5jcHAKKysrKyBiL2dlbWluaS9saWIvR2VtaW5pTWFpbldpbmRvdy5jcHAK K0BAIC0xMzYsOCArMTM2LDEwIEBAIHZvaWQgR2VtaW5pTWFpbldpbmRvdzo6c2V0RnVsbFNjcmVl bihib29sIG5ld1N0YXRlKQorIH0KKyAKKyAKKysKKyB2b2lkIEdlbWluaU1haW5XaW5kb3c6OmNo YW5nZVN0YXRlKEdlbWluaU1haW5XaW5kb3c6OkdlbWluaVN0YXRlIG5ld1N0YXRlLCBib29sIGxv Y2tOZXdTdGF0ZSkKKyB7CisrICAgIFFfVU5VU0VEKGxvY2tOZXdTdGF0ZSk7CisgICAgIGQtPnN5 bmNPYmplY3QgPSBuZXcgR2VtaW5pTW9kZVN5bmNocm9uaXNhdGlvbk9iamVjdDsKKyAKKyAgICAg aWYoY2VudHJhbFdpZGdldCgpKSB7CitkaWZmIC0tZ2l0IGEvbGlicy9wYWdlYXBwL0tvUEFPZGZQ YWdlU2F2ZUhlbHBlci5jcHAgYi9saWJzL3BhZ2VhcHAvS29QQU9kZlBhZ2VTYXZlSGVscGVyLmNw cAoraW5kZXggOTJjNmRmZDRjYjQuLjA2ODUwMWM4YWYxIDEwMDY0NAorLS0tIGEvbGlicy9wYWdl YXBwL0tvUEFPZGZQYWdlU2F2ZUhlbHBlci5jcHAKKysrKyBiL2xpYnMvcGFnZWFwcC9Lb1BBT2Rm UGFnZVNhdmVIZWxwZXIuY3BwCitAQCAtNDksNyArNDksNyBAQCBLb1BBT2RmUGFnZVNhdmVIZWxw ZXI6OktvUEFPZGZQYWdlU2F2ZUhlbHBlciggS29QQURvY3VtZW50ICogZG9jLCBRTGlzdDxLb1BB UGFnZQorICAgICAgICAgICAgIEtvUEFQYWdlICogcCA9IHN0YXRpY19jYXN0PEtvUEFQYWdlICo+ KCBwYWdlICk7CisgICAgICAgICAgICAgbWFzdGVyUGFnZXMuaW5zZXJ0KCBwLT5tYXN0ZXJQYWdl KCkgKTsKKyAgICAgICAgIH0KKy0gICAgICAgIG1fbWFzdGVyUGFnZXMgPSBtYXN0ZXJQYWdlcy50 b0xpc3QoKTsKKysgICAgICAgIG1fbWFzdGVyUGFnZXMgPSBtYXN0ZXJQYWdlcy52YWx1ZXMoKTsK KyAgICAgfQorIH0KKyAKK2RpZmYgLS1naXQgYS9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNl TmF2aWdhdG9yRGV2aWNlLmggYi9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9y RGV2aWNlLmgKK2luZGV4IGI5MDU2YWM5OGMxLi5lY2Q2OTZlNDE1ZiAxMDA2NDQKKy0tLSBhL3Bs dWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JEZXZpY2UuaAorKysrIGIvcGx1Z2lu cy9zcGFjZW5hdmlnYXRvci9TcGFjZU5hdmlnYXRvckRldmljZS5oCitAQCAtMzEsMTAgKzMxLDgg QEAgY2xhc3MgU3BhY2VOYXZpZ2F0b3JEZXZpY2UgOiBwdWJsaWMgS29JbnB1dERldmljZUhhbmRs ZXIKKyAgICAgZXhwbGljaXQgU3BhY2VOYXZpZ2F0b3JEZXZpY2UoUU9iamVjdCAqcGFyZW50KTsK KyAgICAgdmlydHVhbCB+U3BhY2VOYXZpZ2F0b3JEZXZpY2UoKTsKKyAKKy0gICAgLy8vIHJlaW1w bGVtZW50ZWQgZnJvbSBLb0lucHV0RGV2aWNlSGFuZGxlcgorLSAgICB2aXJ0dWFsIGJvb2wgc3Rh cnQoKTsKKy0gICAgLy8vIHJlaW1wbGVtZW50ZWQgZnJvbSBLb0lucHV0RGV2aWNlSGFuZGxlcgor LSAgICB2aXJ0dWFsIGJvb2wgc3RvcCgpOworKyAgICB2aXJ0dWFsIGJvb2wgc3RhcnQoKSBvdmVy cmlkZTsKKysgICAgdmlydHVhbCBib29sIHN0b3AoKSBvdmVycmlkZTsKKyBwcml2YXRlIFFfU0xP VFM6CisgICAgIHZvaWQgc2xvdE1vdmVFdmVudCggaW50IHgsIGludCB5LCBpbnQgeiwgaW50IHJ4 LCBpbnQgcnksIGludCByeiwgUXQ6Ok1vdXNlQnV0dG9ucyApOworICAgICB2b2lkIHNsb3RCdXR0 b25FdmVudCggaW50IHgsIGludCB5LCBpbnQgeiwgaW50IHJ4LCBpbnQgcnksIGludCByeiwgUXQ6 Ok1vdXNlQnV0dG9ucywgUXQ6Ok1vdXNlQnV0dG9uLCBpbnQgdHlwZSApOworZGlmZiAtLWdpdCBh L3BsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JFdmVudC5oIGIvcGx1Z2lucy9z cGFjZW5hdmlnYXRvci9TcGFjZU5hdmlnYXRvckV2ZW50LmgKK2luZGV4IDczNzUxZWM4OGZmLi43 NmVlOGUyZjg4MCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZp Z2F0b3JFdmVudC5oCisrKysgYi9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9y RXZlbnQuaAorQEAgLTMzLDcgKzMzLDcgQEAgY2xhc3MgU3BhY2VOYXZpZ2F0b3JFdmVudCA6IHB1 YmxpYyBLb0lucHV0RGV2aWNlSGFuZGxlckV2ZW50CisgICAgIHZvaWQgc2V0UG9zaXRpb24oIGlu dCB4LCBpbnQgeSwgaW50IHogKTsKKyAgICAgdm9pZCBzZXRSb3RhdGlvbiggaW50IHJ4LCBpbnQg cnksIGludCByeiApOworIAorLSAgICB2aXJ0dWFsIEtvUG9pbnRlckV2ZW50ICogcG9pbnRlckV2 ZW50KCk7CisrICAgIHZpcnR1YWwgS29Qb2ludGVyRXZlbnQgKiBwb2ludGVyRXZlbnQoKSBvdmVy cmlkZTsKKyAKKyBwcml2YXRlOgorICAgICBpbnQgbV94LCBtX3ksIG1fejsKK2RpZmYgLS1naXQg YS9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2aWdhdG9yUG9sbGluZ1RocmVhZC5oIGIv cGx1Z2lucy9zcGFjZW5hdmlnYXRvci9TcGFjZU5hdmlnYXRvclBvbGxpbmdUaHJlYWQuaAoraW5k ZXggNjJjNGRlOGFiNzMuLjY3ZDU5MTc3MDIxIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9zcGFjZW5h dmlnYXRvci9TcGFjZU5hdmlnYXRvclBvbGxpbmdUaHJlYWQuaAorKysrIGIvcGx1Z2lucy9zcGFj ZW5hdmlnYXRvci9TcGFjZU5hdmlnYXRvclBvbGxpbmdUaHJlYWQuaAorQEAgLTM5LDggKzM5LDcg QEAgY2xhc3MgU3BhY2VOYXZpZ2F0b3JQb2xsaW5nVGhyZWFkIDogcHVibGljIFFUaHJlYWQKKyAK KyBwcm90ZWN0ZWQ6CisgCistICAgIC8vLyByZWltcGxlbWVudGVkIGZyb20gUVRocmVhZAorLSAg ICB2aXJ0dWFsIHZvaWQgcnVuKCk7CisrICAgIHZpcnR1YWwgdm9pZCBydW4oKSBvdmVycmlkZTsK KyAKKyBwcml2YXRlOgorICAgICBib29sIG1fc3RvcHBlZDsKK2RpZmYgLS1naXQgYS9wbHVnaW5z L3ZlY3RvcnNoYXBlL1ZlY3RvclNoYXBlLmNwcCBiL3BsdWdpbnMvdmVjdG9yc2hhcGUvVmVjdG9y U2hhcGUuY3BwCitpbmRleCBhMjVhYjNmYzU2MS4uOWFjYmQyNTFjOTQgMTAwNjQ0CistLS0gYS9w bHVnaW5zL3ZlY3RvcnNoYXBlL1ZlY3RvclNoYXBlLmNwcAorKysrIGIvcGx1Z2lucy92ZWN0b3Jz aGFwZS9WZWN0b3JTaGFwZS5jcHAKK0BAIC0yOTQsNiArMjk0LDcgQEAgdm9pZCBWZWN0b3JTaGFw ZTo6c2F2ZU9kZihLb1NoYXBlU2F2aW5nQ29udGV4dCAmIGNvbnRleHQpIGNvbnN0CisgICAgICAg ICBicmVhazsKKyAgICAgY2FzZSBWZWN0b3JUeXBlU3ZnOgorICAgICAgICAgbWltZVR5cGUgPSAi aW1hZ2Uvc3ZnK3htbCI7CisrICAgICAgICBicmVhazsKKyAgICAgZGVmYXVsdDoKKyAgICAgICAg IC8vIEZJWE1FOiBXaGF0IGhlcmU/CisgICAgICAgICBtaW1lVHlwZSA9ICJhcHBsaWNhdGlvbi94 LXdoYXQiOworZGlmZiAtLWdpdCBhL3NoZWV0cy9mdW5jdGlvbnMvZGF0ZXRpbWUuY3BwIGIvc2hl ZXRzL2Z1bmN0aW9ucy9kYXRldGltZS5jcHAKK2luZGV4IDlmNTlmZTJjZjc1Li42MTU3YjA5OTZj MSAxMDA2NDQKKy0tLSBhL3NoZWV0cy9mdW5jdGlvbnMvZGF0ZXRpbWUuY3BwCisrKysgYi9zaGVl dHMvZnVuY3Rpb25zL2RhdGV0aW1lLmNwcAorQEAgLTU5Nyw2ICs1OTcsNyBAQCBWYWx1ZSBmdW5j X2N1cnJlbnREYXRlKHZhbFZlY3RvciwgVmFsdWVDYWxjICogY2FsYywgRnVuY0V4dHJhICopCisg Ly8gRnVuY3Rpb246IENVUlJFTlRUSU1FCisgVmFsdWUgZnVuY19jdXJyZW50VGltZSh2YWxWZWN0 b3IsIFZhbHVlQ2FsYyAqIGNhbGMsIEZ1bmNFeHRyYSAqKQorIHsKKysgICAgUV9VTlVTRUQoY2Fs Yyk7CisgICAgIHJldHVybiBWYWx1ZShRVGltZTo6Y3VycmVudFRpbWUoKSk7CisgfQorIAorZGlm ZiAtLWdpdCBhL3NoZWV0cy9wYXJ0L0RpZ2VzdC5jcHAgYi9zaGVldHMvcGFydC9EaWdlc3QuY3Bw CitpbmRleCA4Y2Q5NzJkYjk4OS4uZTkyNDZjZTZlN2QgMTAwNjQ0CistLS0gYS9zaGVldHMvcGFy dC9EaWdlc3QuY3BwCisrKysgYi9zaGVldHMvcGFydC9EaWdlc3QuY3BwCitAQCAtNTk2LDEwICs1 OTYsMTAgQEAgc3RhdGljIHZvaWQgX19ydGxfZGlnZXN0X2VuZFNIQShEaWdlc3RDb250ZXh0U0hB ICpjdHgpCisgICAgIH0KKyAKKyAgICAgc3dpdGNoIChjdHgtPm1fbkRhdExlbiAmIDB4MDMpIHsK Ky0gICAgY2FzZSAwOiBYW2ldICA9ICgoc2FsX3VJbnQzMikoKihwKyspKSkgPDwgIDBMOworLSAg ICBjYXNlIDE6IFhbaV0gfD0gKChzYWxfdUludDMyKSgqKHArKykpKSA8PCAgOEw7CistICAgIGNh c2UgMjogWFtpXSB8PSAoKHNhbF91SW50MzIpKCoocCsrKSkpIDw8IDE2TDsKKy0gICAgY2FzZSAz OiBYW2ldIHw9ICgoc2FsX3VJbnQzMikoKihwKyspKSkgPDwgMjRMOworKyAgICBjYXNlIDA6IFhb aV0gID0gKChzYWxfdUludDMyKSgqKHArKykpKSA8PCAgMEw7IC8qIGZhbGwgdGhyb3VnaCAqLwor KyAgICBjYXNlIDE6IFhbaV0gfD0gKChzYWxfdUludDMyKSgqKHArKykpKSA8PCAgOEw7IC8qIGZh bGwgdGhyb3VnaCAqLworKyAgICBjYXNlIDI6IFhbaV0gfD0gKChzYWxfdUludDMyKSgqKHArKykp KSA8PCAxNkw7IC8qIGZhbGwgdGhyb3VnaCAqLworKyAgICBjYXNlIDM6IFhbaV0gfD0gKChzYWxf dUludDMyKSgqKHArKykpKSA8PCAyNEw7IC8qIGZhbGwgdGhyb3VnaCAqLworICAgICB9CisgCisg ICAgIF9fcnRsX2RpZ2VzdF9zd2FwTG9uZyhYLCBpICsgMSk7CitkaWZmIC0tZ2l0IGEvc2hlZXRz L3NoYXBlL1RhYmxlVG9vbEZhY3RvcnkuaCBiL3NoZWV0cy9zaGFwZS9UYWJsZVRvb2xGYWN0b3J5 LmgKK2luZGV4IDY3OWJmZTE0YjhlLi45NDEyZDhmZmRjNSAxMDA2NDQKKy0tLSBhL3NoZWV0cy9z aGFwZS9UYWJsZVRvb2xGYWN0b3J5LmgKKysrKyBiL3NoZWV0cy9zaGFwZS9UYWJsZVRvb2xGYWN0 b3J5LmgKK0BAIC0zNCw3ICszNCw3IEBAIGNsYXNzIFRhYmxlVG9vbEZhY3RvcnkgOiBwdWJsaWMg S29Ub29sRmFjdG9yeUJhc2UKKyAgICAgVGFibGVUb29sRmFjdG9yeSgpOworICAgICB+VGFibGVU b29sRmFjdG9yeSgpOworIAorLSAgICBLb1Rvb2xCYXNlKiBjcmVhdGVUb29sKEtvQ2FudmFzQmFz ZSogY2FudmFzKTsKKysgICAgS29Ub29sQmFzZSogY3JlYXRlVG9vbChLb0NhbnZhc0Jhc2UqIGNh bnZhcykgb3ZlcnJpZGU7CisgfTsKKyAKKyB9IC8vIG5hbWVzcGFjZSBTaGVldHMKK2RpZmYgLS1n aXQgYS9zaGVldHMvdGVzdHMvVGVzdFNvcnQuY3BwIGIvc2hlZXRzL3Rlc3RzL1Rlc3RTb3J0LmNw cAoraW5kZXggYjNmMWUzNTE2OWQuLjYzNTRkNzlhYmM1IDEwMDY0NAorLS0tIGEvc2hlZXRzL3Rl c3RzL1Rlc3RTb3J0LmNwcAorKysrIGIvc2hlZXRzL3Rlc3RzL1Rlc3RTb3J0LmNwcAorQEAgLTY4 LDcgKzY4LDcgQEAgdm9pZCBUZXN0U29ydDo6QXNjZW5kaW5nT3JkZXIoKQorICAgICBjb21tYW5k LT5zZXRTaGVldChzaGVldCk7CisgCisgICAgIC8vIFBhcmFtZXRlcnMuCistICAgIGNvbW1hbmQt PnNldFNvcnRSb3dzKFF0OjpWZXJ0aWNhbCk7CisrICAgIGNvbW1hbmQtPnNldFNvcnRSb3dzKHRy dWUpOworICAgICBjb21tYW5kLT5zZXRTa2lwRmlyc3QoZmFsc2UpOworICAgICBjb21tYW5kLT5z ZXRDb3B5Rm9ybWF0KGZhbHNlKTsKKyAKK0BAIC0xMjEsNyArMTIxLDcgQEAgdm9pZCBUZXN0U29y dDo6RGVzY2VuZGluZ09yZGVyKCkKKyAgICAgY29tbWFuZC0+c2V0U2hlZXQoc2hlZXQpOworIAor ICAgICAvLyBQYXJhbWV0ZXJzLgorLSAgICBjb21tYW5kLT5zZXRTb3J0Um93cyhRdDo6VmVydGlj YWwpOworKyAgICBjb21tYW5kLT5zZXRTb3J0Um93cyh0cnVlKTsKKyAgICAgY29tbWFuZC0+c2V0 U2tpcEZpcnN0KGZhbHNlKTsKKyAgICAgY29tbWFuZC0+c2V0Q29weUZvcm1hdChmYWxzZSk7Cisg CmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAwMi1NYWtlLXNob3ctaGlk ZGVuLXJvdy1zLXdvcmsucGF0Y2ggYi9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAwMi1NYWtl LXNob3ctaGlkZGVuLXJvdy1zLXdvcmsucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5kNGIwODJiOWEwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nh bGxpZ3JhL3BhdGNoZXMvMDAwMi1NYWtlLXNob3ctaGlkZGVuLXJvdy1zLXdvcmsucGF0Y2gKQEAg LTAsMCArMSwyOSBAQAorRnJvbSAyMmUwMjk5OGRlYzhhZjE1YTI1YjdlOGUzZDUzYzE3NDgxMGNj M2JlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFnIEFuZGVyc2VuIDxkYW5kZXJz QGdldDJuZXQuZGs+CitEYXRlOiBUaHUsIDExIEp1biAyMDIwIDEwOjQzOjM4ICswMjAwCitTdWJq ZWN0OiBbUEFUQ0hdIE1ha2Ugc2hvdyBoaWRkZW4gcm93KHMpIHdvcmsKKworQ2hlY2sgZm9yIGhp ZGRlbiByb3dzIHdhcyBpbnZlcnRlZCB0byBjaGVjayBmb3Igc2hvd24gcm93cywKK2hlbmNlIGhp ZGRlbiByb3dzIHdvdWxkIG5ldmVyIGJlIHVuaGlkZGVuLgorCitCVUc6MzM4ODE2CitCVUc6MzU0 MjM2CitGSVhFRC1JTjozLjIuMgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjg5MjBjNTBl NjMwMGQ2NDM0NzdmMjU2YWJhOTFjOGM1MTgzNjY4MikKKy0tLQorIHNoZWV0cy9jb21tYW5kcy9S b3dDb2x1bW5NYW5pcHVsYXRvcnMuY3BwIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc2hlZXRzL2NvbW1hbmRzL1Jv d0NvbHVtbk1hbmlwdWxhdG9ycy5jcHAgYi9zaGVldHMvY29tbWFuZHMvUm93Q29sdW1uTWFuaXB1 bGF0b3JzLmNwcAoraW5kZXggOTUyODJkNmUzMWIuLjI1ZThjNDU0ZTI3IDEwMDY0NAorLS0tIGEv c2hlZXRzL2NvbW1hbmRzL1Jvd0NvbHVtbk1hbmlwdWxhdG9ycy5jcHAKKysrKyBiL3NoZWV0cy9j b21tYW5kcy9Sb3dDb2x1bW5NYW5pcHVsYXRvcnMuY3BwCitAQCAtMTkyLDcgKzE5Miw3IEBAIGJv b2wgSGlkZVNob3dNYW5pcHVsYXRvcjo6cHJlUHJvY2Vzc2luZygpCisgICAgICAgICAgICAgICAg ICAgICB9CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgZm9yIChpbnQgcm93 ID0gcmFuZ2UudG9wKCk7IHJvdyA8PSByYW5nZS5ib3R0b20oKTsgKytyb3cpIHsKKy0gICAgICAg ICAgICAgICAgICAgIGlmICghbV9zaGVldC0+cm93Rm9ybWF0cygpLT5pc0hpZGRlbihyb3cpKSB7 CisrICAgICAgICAgICAgICAgICAgICBpZiAobV9zaGVldC0+cm93Rm9ybWF0cygpLT5pc0hpZGRl bihyb3cpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaW9uLmFkZChRUmVjdCgxLCBy b3csIEtTX2NvbE1heCwgMSkpOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvYysrMTcucGF0Y2gg Yi9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvYysrMTcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xZGI4Mzg1MTYxYTMKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvYysrMTcucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorZGlm ZiAtTmF1ciBDTWFrZUxpc3RzLnR4dC5vcmlnIENNYWtlTGlzdHMudHh0CistLS0gYS9DTWFrZUxp c3RzLnR4dC5vcmlnCisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEwNiw5ICsxMDYsOSBAQAor IAorICMgdXNlIENQUC0xMQorIGlmIChDTUFLRV9WRVJTSU9OIFZFUlNJT05fTEVTUyAiMy4xIikK Ky0gICAgc2V0IChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtc3RkPWMrKzEx IikKKysgICAgc2V0IChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtc3RkPWMr KzE3IikKKyBlbHNlICgpCistICAgIHNldCAoQ01BS0VfQ1hYX1NUQU5EQVJEIDExKQorKyAgICBz ZXQgKENNQUtFX0NYWF9TVEFOREFSRCAxNykKKyBlbmRpZiAoKQorIAorICMjIyMjIyMjIyMjIwor CmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZp eC5wYXRjaCBiL3NyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWViMTQ4ZDA2YjY0 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzL3BvcHBsZXItMjIu MDMuMC1maXgucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorLS0tIGEvZmlsdGVycy9rYXJib24vcGRm L1BkZjJPZGdJbXBvcnQuY3BwLm9yaWcKKysrKyBiL2ZpbHRlcnMva2FyYm9uL3BkZi9QZGYyT2Rn SW1wb3J0LmNwcAorQEAgLTg3LDcgKzg3LDcgQEAKKyAgICAgICAgIHJldHVybiBLb0ZpbHRlcjo6 Tm90SW1wbGVtZW50ZWQ7CisgCisgICAgIEdvb1N0cmluZyAqIGZuYW1lID0gbmV3IEdvb1N0cmlu ZyhRRmlsZTo6ZW5jb2RlTmFtZShtX2NoYWluLT5pbnB1dEZpbGUoKSkuZGF0YSgpKTsKKy0gICAg UERGRG9jICogcGRmRG9jID0gbmV3IFBERkRvYyhmbmFtZSwgMCwgMCwgMCk7CisrICAgIFBERkRv YyAqIHBkZkRvYyA9IG5ldyBQREZEb2Moc3RkOjptYWtlX3VuaXF1ZTxHb29TdHJpbmc+KGZuYW1l KSk7CisgICAgIGlmICghIHBkZkRvYykgeworICNpZmRlZiBIQVZFX1BPUFBMRVJfUFJFXzBfODMK KyAgICAgICAgIGRlbGV0ZSBnbG9iYWxQYXJhbXM7CistLS0gYS9maWx0ZXJzL2thcmJvbi9wZGYv UGRmSW1wb3J0LmNwcC5vcmlnCisrKysgYi9maWx0ZXJzL2thcmJvbi9wZGYvUGRmSW1wb3J0LmNw cAorQEAgLTc0LDcgKzc0LDcgQEAKKyAgICAgICAgIHJldHVybiBLb0ZpbHRlcjo6Tm90SW1wbGVt ZW50ZWQ7CisgCisgICAgIEdvb1N0cmluZyAqIGZuYW1lID0gbmV3IEdvb1N0cmluZyhRRmlsZTo6 ZW5jb2RlTmFtZShtX2NoYWluLT5pbnB1dEZpbGUoKSkuZGF0YSgpKTsKKy0gICAgUERGRG9jICog cGRmRG9jID0gbmV3IFBERkRvYyhmbmFtZSwgMCwgMCwgMCk7CisrICAgIFBERkRvYyAqIHBkZkRv YyA9IG5ldyBQREZEb2Moc3RkOjptYWtlX3VuaXF1ZTxHb29TdHJpbmc+KGZuYW1lKSk7CisgICAg IGlmICghIHBkZkRvYykgeworICNpZmRlZiBIQVZFX1BPUFBMRVJfUFJFXzBfODMKKyAgICAgICAg IGRlbGV0ZSBnbG9iYWxQYXJhbXM7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2NhbGxpZ3JhL3RlbXBs YXRlIGIvc3JjcGtncy9jYWxsaWdyYS90ZW1wbGF0ZQppbmRleCA4OWQwYjE2NDhlOWUuLjdjMTQx MWJmM2RhNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jYWxsaWdyYS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2NhbGxpZ3JhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnY2FsbGlncmEnCiBwa2duYW1lPWNhbGxpZ3JhCiB2ZXJzaW9uPTMuMi4xCi1yZXZpc2lvbj02 CityZXZpc2lvbj03CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1Xbm8tZGV2 IC1EQ0FMTElHUkFfU0hPVUxEX0JVSUxEX1VOTUFJTlRBSU5FRD1PTgogIC1EQlVJTERfVEVTVElO Rz1PRkYiCgpGcm9tIGJjODEzOTZlODFiMTlmZTJkYjExZWZlYTEwODk0MjlmMGM3OGM2ZGQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IG9yZW82MzkgPDMxOTE2Mzc5K09yZW82MzlAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgpEYXRlOiBGcmksIDI1IE1hciAyMDIyIDE4OjM0OjA3IC0w NzAwClN1YmplY3Q6IFtQQVRDSCA1LzhdIGlua3NjYXBlOiByZWJ1aWxkIGFnYWluc3QgbGlicG9w cGxlciAyMi4wMy4wCgotLS0KIC4uLmliaWxpdHktd2l0aC1Qb3BwbGVyLTIyLjAzLWFuZC1sYXRl ci5wYXRjaCB8IDUwICsrKysrKysrKysrKysrKysrKysKIC4uLi9GaXgtYnVpbGQtd2l0aC1wb3Bw bGVyLTIxLjExLjAucGF0Y2ggICAgICB8IDI5ICsrKysrKysrKysrCiBzcmNwa2dzL2lua3NjYXBl L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA4 MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9pbmtzY2FwZS9wYXRjaGVzL0Vuc3VyZS1jb21wYXRpYmlsaXR5LXdpdGgtUG9wcGxlci0yMi4w My1hbmQtbGF0ZXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2lua3NjYXBlL3Bh dGNoZXMvRml4LWJ1aWxkLXdpdGgtcG9wcGxlci0yMS4xMS4wLnBhdGNoCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9pbmtzY2FwZS9wYXRjaGVzL0Vuc3VyZS1jb21wYXRpYmlsaXR5LXdpdGgtUG9wcGxl ci0yMi4wMy1hbmQtbGF0ZXIucGF0Y2ggYi9zcmNwa2dzL2lua3NjYXBlL3BhdGNoZXMvRW5zdXJl LWNvbXBhdGliaWxpdHktd2l0aC1Qb3BwbGVyLTIyLjAzLWFuZC1sYXRlci5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjI5N2VmNjc3NjY1ZQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvaW5rc2NhcGUvcGF0Y2hlcy9FbnN1cmUtY29tcGF0aWJpbGl0eS13 aXRoLVBvcHBsZXItMjIuMDMtYW5kLWxhdGVyLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20g YTE4YzU3ZmZmZjMxM2ZkMDhiYzhhNDRmNmI2YmYwYjAxZDdlOWI3NSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IEV2YW5nZWxvcyBGb3V0cmFzIDxldmFuZ2Vsb3NAZm91dHJlbGlzLmNv bT4KK0RhdGU6IFN1biwgMjAgTWFyIDIwMjIgMjI6NDE6NTEgLTAzMDAKK1N1YmplY3Q6IFtQQVRD SF0gRW5zdXJlIGNvbXBhdGliaWxpdHkgd2l0aCBQb3BwbGVyIDIyLjAzIGFuZCBsYXRlcgorCitU aGlzIGNoYW5nZSBlbnN1cmVzIHRoYXQgSW5rc2NhcGUgd2lsbCBidWlsZCBhZ2FpbnN0IFBvcHBs ZXIgMjIuMDMgYWZ0ZXIKK3RoZSBjaGFuZ2VzIHRoYXQgd2VyZSBtYWRlIHRvIHRoZSBjb25zdHJ1 Y3RvciBvZiBgUERGRG9jYC4KKworU2VlOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcv cG9wcGxlci9wb3BwbGVyLy0vY29tbWl0LzRmMmFiZDNlZgorCitDby1hdXRob3JlZC1ieTogUmFm YWVsIFNpZWpha293c2tpIDxyc0Bycy1tYXRoLm5ldD4KKy0tLQorIHNyYy9leHRlbnNpb24vaW50 ZXJuYWwvcGRmaW5wdXQvcGRmLWlucHV0LmNwcCAgICAgICAgICAgIHwgMyArLS0KKyBzcmMvZXh0 ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BvcHBsZXItdHJhbnNpdGlvbi1hcGkuaCB8IDYgKysr KysrCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1pbnB1dC5j cHAgYi9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1pbnB1dC5jcHAKK2luZGV4 IDNkYWJjOTRiYTIuLjA3OWIwZGM3MTMgMTAwNjQ0CistLS0gYS9zcmMvZXh0ZW5zaW9uL2ludGVy bmFsL3BkZmlucHV0L3BkZi1pbnB1dC5jcHAKKysrKyBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwv cGRmaW5wdXQvcGRmLWlucHV0LmNwcAorQEAgLTY4OCw4ICs2ODgsNyBAQCBQZGZJbnB1dDo6b3Bl big6Oklua3NjYXBlOjpFeHRlbnNpb246OklucHV0ICogLyptb2QqLywgY29uc3QgZ2NoYXIgKiB1 cmkpIHsKKyAKKyAgICAgLy8gcG9wcGxlciBkb2VzIG5vdCB1c2UgZ2xpYiBnX29wZW4uIFNvIG9u IHdpbjMyIHdlIG11c3QgdXNlIHVuaWNvZGUgY2FsbC4gY29kZSB3YXMgY29waWVkIGZyb20KKyAg ICAgLy8gZ2xpYiBnc3RkaW8uYworLSAgICBHb29TdHJpbmcgKmZpbGVuYW1lX2dvbyA9IG5ldyBH b29TdHJpbmcodXJpKTsKKy0gICAgcGRmX2RvYyA9IHN0ZDo6bWFrZV9zaGFyZWQ8UERGRG9jPihm aWxlbmFtZV9nb28sIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpOyAgIC8vIFRPRE86IENvdWxk IGFzayBmb3IgcGFzc3dvcmQKKysgICAgcGRmX2RvYyA9IF9QT1BQTEVSX01BS0VfU0hBUkVEX1BE RkRPQyh1cmkpOyAvLyBUT0RPOiBDb3VsZCBhc2sgZm9yIHBhc3N3b3JkCisgCisgICAgIGlmICgh cGRmX2RvYy0+aXNPaygpKSB7CisgICAgICAgICBpbnQgZXJyb3IgPSBwZGZfZG9jLT5nZXRFcnJv ckNvZGUoKTsKK2RpZmYgLS1naXQgYS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3Bv cHBsZXItdHJhbnNpdGlvbi1hcGkuaCBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQv cG9wcGxlci10cmFuc2l0aW9uLWFwaS5oCitpbmRleCA4N2ExOWQ0YzQyLi41MGI2MTdjMjVjIDEw MDY0NAorLS0tIGEvc3JjL2V4dGVuc2lvbi9pbnRlcm5hbC9wZGZpbnB1dC9wb3BwbGVyLXRyYW5z aXRpb24tYXBpLmgKKysrKyBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcG9wcGxl ci10cmFuc2l0aW9uLWFwaS5oCitAQCAtMTQsNiArMTQsMTIgQEAKKyAKKyAjaW5jbHVkZSA8Z2xp Yi9wb3BwbGVyLWZlYXR1cmVzLmg+CisgCisrI2lmIFBPUFBMRVJfQ0hFQ0tfVkVSU0lPTigyMiwg MywgMCkKKysjZGVmaW5lIF9QT1BQTEVSX01BS0VfU0hBUkVEX1BERkRPQyh1cmkpIHN0ZDo6bWFr ZV9zaGFyZWQ8UERGRG9jPihzdGQ6Om1ha2VfdW5pcXVlPEdvb1N0cmluZz4odXJpKSkKKysjZWxz ZQorKyNkZWZpbmUgX1BPUFBMRVJfTUFLRV9TSEFSRURfUERGRE9DKHVyaSkgc3RkOjptYWtlX3No YXJlZDxQREZEb2M+KG5ldyBHb29TdHJpbmcodXJpKSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0 cikKKysjZW5kaWYKKysKKyAjaWYgUE9QUExFUl9DSEVDS19WRVJTSU9OKDAsIDgzLCAwKQorICNk ZWZpbmUgX1BPUFBMRVJfQ09OU1RfODMgY29uc3QKKyAjZWxzZQorLS0gCitHaXRMYWIKKwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9pbmtzY2FwZS9wYXRjaGVzL0ZpeC1idWlsZC13aXRoLXBvcHBsZXIt MjEuMTEuMC5wYXRjaCBiL3NyY3BrZ3MvaW5rc2NhcGUvcGF0Y2hlcy9GaXgtYnVpbGQtd2l0aC1w b3BwbGVyLTIxLjExLjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi41ZDdmNDgwMTI3M2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2lua3NjYXBlL3Bh dGNoZXMvRml4LWJ1aWxkLXdpdGgtcG9wcGxlci0yMS4xMS4wLnBhdGNoCkBAIC0wLDAgKzEsMjkg QEAKK0Zyb20gNTcyNGMyMWI5Y2I3YjYxNzZhN2IzNmNhMjQwNjhiMTQ4YzgxN2U4MiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEV2YW5nZWxvcyBGb3V0cmFzIDxldmFuZ2Vsb3NAZm91 dHJlbGlzLmNvbT4KK0RhdGU6IE1vbiwgMSBOb3YgMjAyMSAyMTo0NTozOCArMDIwMAorU3ViamVj dDogW1BBVENIXSBGaXggYnVpbGQgd2l0aCBwb3BwbGVyIDIxLjExLjAKKworR2Z4Rm9udDo6dGFn IGlzIG5vdyBvZiB0eXBlIHN0ZDo6c3RyaW5nIGluc3RlYWQgb2YgR29vU3RyaW5nICouCistLS0K KyBzcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1wYXJzZXIuY3BwIHwgNCArKysr CisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2V4 dGVuc2lvbi9pbnRlcm5hbC9wZGZpbnB1dC9wZGYtcGFyc2VyLmNwcCBiL3NyYy9leHRlbnNpb24v aW50ZXJuYWwvcGRmaW5wdXQvcGRmLXBhcnNlci5jcHAKK2luZGV4IGUzZDA0ZDU0NGIuLmZlZWNl ZmEwNDMgMTAwNjQ0CistLS0gYS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1w YXJzZXIuY3BwCisrKysgYi9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1wYXJz ZXIuY3BwCitAQCAtMjE2OSw3ICsyMTY5LDExIEBAIHZvaWQgUGRmUGFyc2VyOjpvcFNldEZvbnQo T2JqZWN0IGFyZ3NbXSwgaW50IC8qbnVtQXJncyovKQorICAgfQorICAgaWYgKHByaW50Q29tbWFu ZHMpIHsKKyAgICAgcHJpbnRmKCIgIGZvbnQ6IHRhZz0lcyBuYW1lPSclcycgJWdcbiIsCisrI2lm IFBPUFBMRVJfQ0hFQ0tfVkVSU0lPTigyMSwxMSwwKQorKwkgICBmb250LT5nZXRUYWcoKS5jX3N0 cigpLAorKyNlbHNlCisgCSAgIGZvbnQtPmdldFRhZygpLT5nZXRDU3RyaW5nKCksCisrI2VuZGlm CisgCSAgIGZvbnQtPmdldE5hbWUoKSA/IGZvbnQtPmdldE5hbWUoKS0+Z2V0Q1N0cmluZygpIDog Ij8/PyIsCisgCSAgIGFyZ3NbMV0uZ2V0TnVtKCkpOworICAgICBmZmx1c2goc3Rkb3V0KTsKKy0t IAorR2l0TGFiCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaW5rc2NhcGUvdGVtcGxhdGUgYi9zcmNw a2dzL2lua3NjYXBlL3RlbXBsYXRlCmluZGV4IDQ1ZjQ4Y2NkYTBkYy4uNGQ5MDJlNjYzZjczIDEw MDY0NAotLS0gYS9zcmNwa2dzL2lua3NjYXBlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvaW5rc2Nh cGUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdpbmtzY2Fw ZScKIHBrZ25hbWU9aW5rc2NhcGUKIHZlcnNpb249MS4xLjEKLXJldmlzaW9uPTMKK3JldmlzaW9u PTQKIHdya3NyYz0iaW5rc2NhcGUtJHt2ZXJzaW9ufV8yMDIxLTA5LTIwXzNiZjVhZTBkMjUiCiBi dWlsZF9zdHlsZT1jbWFrZQogIyBidWlsZHMgZXhlY3V0YWJsZXMgdGhlbiBydW5zIGNoZWNrcwoK RnJvbSBkOGYzYzQ0MTc3ZWQxNmJhN2U1Y2FjZmVkMWVhNmNlMTExYjRjYWMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODozNDo0MyAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggNi84XSBpcGU6IHJlYnVpbGQgYWdhaW5zdCBsaWJwb3BwbGVyIDIyLjAzLjAK Ci0tLQogc3JjcGtncy9pcGUvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoIHwgMzMg KysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9pcGUvdGVtcGxhdGUgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvaXBlL3BhdGNoZXMvcG9wcGxl ci0yMi4wMy4wLWZpeC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaXBlL3BhdGNoZXMvcG9w cGxlci0yMi4wMy4wLWZpeC5wYXRjaCBiL3NyY3BrZ3MvaXBlL3BhdGNoZXMvcG9wcGxlci0yMi4w My4wLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmRm Mjg5NDgwOWMxYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvaXBlL3BhdGNoZXMvcG9wcGxl ci0yMi4wMy4wLWZpeC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitkaWZmIC1OYXVyIHBkZnRvaXBl LmNwcC5vcmlnIHBkZnRvaXBlLmNwcAorLS0tIGEvaXBlLXRvb2xzL3BkZnRvaXBlL3BkZnRvaXBl LmNwcC5vcmlnCisrKysgYi9pcGUtdG9vbHMvcGRmdG9pcGUvcGRmdG9pcGUuY3BwCitAQCAtODQs MjIgKzg0LDIwIEBACisgICBpZiAocXVpZXQpCisgICAgIGdsb2JhbFBhcmFtcy0+c2V0RXJyUXVp ZXQocXVpZXQpOworIAorLSAgR29vU3RyaW5nICpvd25lclBXLCAqdXNlclBXOworKyAgc3RkOjpv cHRpb25hbDxHb29TdHJpbmc+IG93bmVyUFcsIHVzZXJQVzsKKyAgIGlmIChvd25lclBhc3N3b3Jk WzBdKSB7CistICAgIG93bmVyUFcgPSBuZXcgR29vU3RyaW5nKG93bmVyUGFzc3dvcmQpOworKyAg ICBvd25lclBXID0gR29vU3RyaW5nKG93bmVyUGFzc3dvcmQpOworICAgfSBlbHNlIHsKKy0gICAg b3duZXJQVyA9IDA7CisrICAgIG93bmVyUFcgPSBzdGQ6Om51bGxvcHQ7CisgICB9CisgICBpZiAo dXNlclBhc3N3b3JkWzBdKSB7CistICAgIHVzZXJQVyA9IG5ldyBHb29TdHJpbmcodXNlclBhc3N3 b3JkKTsKKysgICAgdXNlclBXID0gR29vU3RyaW5nKHVzZXJQYXNzd29yZCk7CisgICB9IGVsc2Ug eworLSAgICB1c2VyUFcgPSAwOworKyAgICB1c2VyUFcgPSBzdGQ6Om51bGxvcHQ7CisgICB9Cisg CisgICAvLyBvcGVuIFBERiBmaWxlCistICBQREZEb2MgKmRvYyA9IG5ldyBQREZEb2MoZmlsZU5h bWUsIG93bmVyUFcsIHVzZXJQVyk7CistICBkZWxldGUgdXNlclBXOworLSAgZGVsZXRlIG93bmVy UFc7CisrICBQREZEb2MgKmRvYyA9IG5ldyBQREZEb2Moc3RkOjptYWtlX3VuaXF1ZTxHb29TdHJp bmc+KGZpbGVOYW1lKSwgb3duZXJQVywgdXNlclBXKTsKKyAKKyAgIGlmICghZG9jLT5pc09rKCkp CisgICAgIHJldHVybiAxOworCmRpZmYgLS1naXQgYS9zcmNwa2dzL2lwZS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvaXBlL3RlbXBsYXRlCmluZGV4IGZiZDUwMGEzZGM5NC4uNjJmY2ZlOTUwNTA0IDEwMDY0 NAotLS0gYS9zcmNwa2dzL2lwZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2lwZS90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2lwZScKIHBrZ25hbWU9aXBlCiB2 ZXJzaW9uPTcuMi4yNAotcmV2aXNpb249NQorcmV2aXNpb249NgogX3Rvb2xzX2NvbW1pdD12Ny4y LjIwLjEKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBkb3h5Z2VuIHF0NS1xbWFrZSBxdDUt dG9vbHMgcXQ1LWhvc3QtdG9vbHMiCiBtYWtlZGVwZW5kcz0iY2Fpcm8tZGV2ZWwgZ3NsLWRldmVs IGxpYmN1cmwtZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbAoKRnJvbSBiYTdhMjFkODhjZWM5OGEy NzhiYmJmY2RjNjYxNmNlZWI2YmU2OTc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBv cmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTog RnJpLCAyNSBNYXIgMjAyMiAxODozNTozMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNy84XSBraXRp bmVyYXJ5OiByZWJ1aWxkIGFnYWluc3QgbGlicG9wcGxlciAyMi4wMy4wCgotLS0KIHNyY3BrZ3Mv a2l0aW5lcmFyeS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2l0aW5lcmFyeS90ZW1wbGF0 ZSBiL3NyY3BrZ3Mva2l0aW5lcmFyeS90ZW1wbGF0ZQppbmRleCBhYTVhZDA3ZmUyMTkuLjVjMzZl ODI5ZjdhZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9raXRpbmVyYXJ5L3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3Mva2l0aW5lcmFyeS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2tpdGluZXJhcnknCiBwa2duYW1lPWtpdGluZXJhcnkKIHZlcnNpb249MjEuMTIuMwot cmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5k cz0iZXh0cmEtY21ha2UtbW9kdWxlcyBnZXR0ZXh0IGtjb3JlYWRkb25zIHBrZy1jb25maWcgcXQ1 LWhvc3QtdG9vbHMgcXQ1LXFtYWtlIHF0NS10b29scy1kZXZlbCIKIG1ha2VkZXBlbmRzPSJrY2Fs ZW5kYXJjb3JlLWRldmVsIGtjb250YWN0cy1kZXZlbCBrZGVjbGFyYXRpdmUtZGV2ZWwga21pbWUt ZGV2ZWwKCkZyb20gN2U4NDljNDlmODk4MGVjYmM5ZWRlMDM0MjQwNGE3ZmI0ZmZhNjhkNCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8MzE5MTYzNzkrT3JlbzYzOUB1c2Vy cy5ub3JlcGx5LmdpdGh1Yi5jb20+CkRhdGU6IEZyaSwgMjUgTWFyIDIwMjIgMTg6MzY6MjQgLTA3 MDAKU3ViamVjdDogW1BBVENIIDgvOF0gc2NyaWJ1czogcmVidWlsZCBhZ2FpbnN0IGxpYnBvcHBs ZXIgMjIuMDMuMAoKLS0tCiAuLi4vc2NyaWJ1cy9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgu cGF0Y2ggfCAgNTIgKysrKysrKwogLi4uL3NjcmlidXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjIuMC1m aXgucGF0Y2ggIHwgMTI5ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9zY3JpYnVzL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCiAzIGZpbGVzIGNoYW5nZWQsIDE4MyBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv c2NyaWJ1cy9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjIuMC1maXgucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBh dGNoIGIvc3JjcGtncy9zY3JpYnVzL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY3YTBjMDNmZGQ5NgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc2NyaWJ1cy9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1m aXgucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSBmMTk0MTBhYzNiMjdlMzNkZDYyMTA1NzQ2 Nzg0ZTYxZTg1YjkwYTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmVhbiBHaGFs aSA8amdoYWxpQGxpYmVydHlzdXJmLmZyPgorRGF0ZTogV2VkLCAyIE1hciAyMDIyIDIyOjIyOjUz ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdICMxNjc2NDogQnVpbGQgYnJlYWsgd2l0aCBwb3BwbGVy IDIyLjAzLjAKKworZ2l0LXN2bi1pZDogc3ZuOi8vc2NyaWJ1cy5uZXQvdHJ1bmsvU2NyaWJ1c0Ay NDk4MiAxMWQyMDcwMS04NDMxLTA0MTAtYTcxMS1lM2M5NTllM2I4NzAKKy0tLQorIHNjcmlidXMv cGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBkZi5jcHAgfCAxMyArKysrKysrKysrKysrCisgMSBm aWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NjcmlidXMvcGx1 Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBkZi5jcHAgYi9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3Bk Zi9pbXBvcnRwZGYuY3BwCitpbmRleCAxNTRlNThhM2YwLi4zOTJkY2Q5ZTY0IDEwMDY0NAorLS0t IGEvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvaW1wb3J0cGRmLmNwcAorKysrIGIvc2NyaWJ1 cy9wbHVnaW5zL2ltcG9ydC9wZGYvaW1wb3J0cGRmLmNwcAorQEAgLTg5LDcgKzg5LDExIEBAIFFJ bWFnZSBQZGZQbHVnOjpyZWFkVGh1bWJuYWlsKGNvbnN0IFFTdHJpbmcmIGZOYW1lKQorICNlbmRp Zg0KKyAJZ2xvYmFsUGFyYW1zLT5zZXRFcnJRdWlldChnVHJ1ZSk7DQorIA0KKysjaWYgUE9QUExF Ul9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMywgMCkNCisr CVBERkRvYyBwZGZEb2N7IHN0ZDo6bWFrZV91bmlxdWU8R29vU3RyaW5nPihmbmFtZSkgfTsNCisr I2Vsc2UNCisgCVBERkRvYyBwZGZEb2N7Zm5hbWUsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHJ9 Ow0KKysjZW5kaWYNCisgCWlmICghcGRmRG9jLmlzT2soKSB8fCBwZGZEb2MuZ2V0RXJyb3JDb2Rl KCkgPT0gZXJyRW5jcnlwdGVkKQ0KKyAJCXJldHVybiBRSW1hZ2UoKTsNCisgDQorQEAgLTM0Miw3 ICszNDYsMTEgQEAgYm9vbCBQZGZQbHVnOjpjb252ZXJ0KGNvbnN0IFFTdHJpbmcmIGZuKQorIAln bG9iYWxQYXJhbXMtPnNldEVyclF1aWV0KGdUcnVlKTsNCisgLy8JZ2xvYmFsUGFyYW1zLT5zZXRQ cmludENvbW1hbmRzKGdUcnVlKTsNCisgCVFMaXN0PE9wdGlvbmFsQ29udGVudEdyb3VwKj4gb2Nn R3JvdXBzOw0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9O X0VOQ09ERSgyMiwgMywgMCkNCisrCWF1dG8gcGRmRG9jID0gc3RkOjptYWtlX3VuaXF1ZTxQREZE b2M+KHN0ZDo6bWFrZV91bmlxdWU8R29vU3RyaW5nPihmbmFtZSkpOw0KKysjZWxzZQ0KKyAJYXV0 byBwZGZEb2MgPSBzdGQ6OnVuaXF1ZV9wdHI8UERGRG9jPihuZXcgUERGRG9jKGZuYW1lLCBudWxs cHRyLCBudWxscHRyLCBudWxscHRyKSk7DQorKyNlbmRpZg0KKyAJaWYgKHBkZkRvYykNCisgCXsN CisgCQlpZiAocGRmRG9jLT5nZXRFcnJvckNvZGUoKSA9PSBlcnJFbmNyeXB0ZWQpDQorQEAgLTM2 MSw4ICszNjksMTMgQEAgYm9vbCBQZGZQbHVnOjpjb252ZXJ0KGNvbnN0IFFTdHJpbmcmIGZuKQor ICNlbHNlDQorIAkJCQlhdXRvIGZuYW1lID0gbmV3IEdvb1N0cmluZyhRRmlsZTo6ZW5jb2RlTmFt ZShmbikuZGF0YSgpKTsNCisgI2VuZGlmDQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+ PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCAzLCAwKQ0KKysJCQkJc3RkOjpvcHRpb25hbDxH b29TdHJpbmc+IHVzZXJQVyhzdGQ6OmluX3BsYWNlLCB0ZXh0LnRvTG9jYWw4Qml0KCkuZGF0YSgp KTsNCisrCQkJCXBkZkRvYy5yZXNldChuZXcgUERGRG9jKHN0ZDo6bWFrZV91bmlxdWU8R29vU3Ry aW5nPihmbmFtZSksIHVzZXJQVywgdXNlclBXLCBudWxscHRyKSk7DQorKyNlbHNlDQorIAkJCQlh dXRvIHVzZXJQVyA9IG5ldyBHb29TdHJpbmcodGV4dC50b0xvY2FsOEJpdCgpLmRhdGEoKSk7DQor IAkJCQlwZGZEb2MucmVzZXQobmV3IFBERkRvYyhmbmFtZSwgdXNlclBXLCB1c2VyUFcsIG51bGxw dHIpKTsNCisrI2VuZGlmDQorIAkJCQlxQXBwLT5jaGFuZ2VPdmVycmlkZUN1cnNvcihRQ3Vyc29y KFF0OjpXYWl0Q3Vyc29yKSk7DQorIAkJCX0NCisgCQkJaWYgKCghcGRmRG9jKSB8fCAocGRmRG9j LT5nZXRFcnJvckNvZGUoKSAhPSBlcnJOb25lKSkNCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Njcmli dXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjIuMC1maXgucGF0Y2ggYi9zcmNwa2dzL3NjcmlidXMvcGF0 Y2hlcy9wb3BwbGVyLTIyLjIuMC1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi40ZTBmNjA3YzZhMDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3Nj cmlidXMvcGF0Y2hlcy9wb3BwbGVyLTIyLjIuMC1maXgucGF0Y2gKQEAgLTAsMCArMSwxMjkgQEAK K0Zyb20gODVjMGRmZjM0MjJmYTNjMjZmYmMyZThkODU2MWY1OTdlYzI0YmQ5MiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IEplYW4gR2hhbGkgPGpnaGFsaUBsaWJlcnR5c3VyZi5mcj4K K0RhdGU6IFdlZCwgMiBGZWIgMjAyMiAyMzoxMjo1MiArMDAwMAorU3ViamVjdDogW1BBVENIXSAj MTY3MzQ6IEJ1aWxkIGJyZWFrIHdpdGggcG9wcGxlciAyMi4yLjAKKworZ2l0LXN2bi1pZDogc3Zu Oi8vc2NyaWJ1cy5uZXQvdHJ1bmsvU2NyaWJ1c0AyNDg4NCAxMWQyMDcwMS04NDMxLTA0MTAtYTcx MS1lM2M5NTllM2I4NzAKKy0tLQorIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1 dC5jcHAgfCA0NyArKysrKysrKysrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzcg aW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zY3JpYnVzL3Bs dWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuY3BwIGIvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9w ZGYvc2xhb3V0cHV0LmNwcAoraW5kZXggNTg5NGJmMmFkNi4uMzY1MGM5NmY1MiAxMDA2NDQKKy0t LSBhL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAKKysrKyBiL3Njcmli dXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAKK0BAIC03LDYgKzcsMTEgQEAgZm9y IHdoaWNoIGEgbmV3IGxpY2Vuc2UgKEdQTCtleGNlcHRpb24pIGlzIGluIHBsYWNlLgorIA0KKyAj aW5jbHVkZSAic2xhb3V0cHV0LmgiDQorIA0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04g Pj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMiwgMCkNCisrI2luY2x1ZGUgPG1lbW9yeT4N CisrI2luY2x1ZGUgPG9wdGlvbmFsPg0KKysjZW5kaWYNCisrDQorICNpbmNsdWRlIDxwb3BwbGVy L0dsb2JhbFBhcmFtcy5oPg0KKyAjaW5jbHVkZSA8cG9wcGxlci9wb3BwbGVyLWNvbmZpZy5oPg0K KyAjaW5jbHVkZSA8cG9wcGxlci9GaWxlU3BlYy5oPg0KK0BAIC0zMDI3LDE4ICszMDMyLDI0IEBA IHZvaWQgU2xhT3V0cHV0RGV2OjptYXJrUG9pbnQoUE9QUExFUl9DT05TVCBjaGFyICpuYW1lLCBE aWN0ICpwcm9wZXJ0aWVzKQorIHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRl ICpzdGF0ZSkNCisgew0KKyAJR2Z4Rm9udCAqZ2Z4Rm9udDsNCistCUdmeEZvbnRMb2MgKmZvbnRM b2M7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5D T0RFKDIyLCAyLCAwKQ0KKysJc3RkOjpvcHRpb25hbDxHZnhGb250TG9jPiBmb250TG9jOw0KKysJ Y29uc3QgR29vU3RyaW5nICogZmlsZU5hbWUgPSBudWxscHRyOw0KKysJc3RkOjp1bmlxdWVfcHRy PEZvRmlUcnVlVHlwZT4gZmY7DQorKyNlbHNlDQorKwlHZnhGb250TG9jICogZm9udExvYyA9IG51 bGxwdHI7DQorKwlHb29TdHJpbmcgKiBmaWxlTmFtZSA9IG51bGxwdHI7DQorKwlGb0ZpVHJ1ZVR5 cGUgKiBmZiA9IG51bGxwdHI7DQorKyNlbmRpZg0KKyAJR2Z4Rm9udFR5cGUgZm9udFR5cGU7DQor IAlTbGFPdXRGb250RmlsZUlEICppZDsNCisgCVNwbGFzaEZvbnRGaWxlICpmb250RmlsZTsNCisg CVNwbGFzaEZvbnRTcmMgKmZvbnRzcmMgPSBudWxscHRyOw0KKy0JRm9GaVRydWVUeXBlICpmZjsN CisgCU9iamVjdCByZWZPYmosIHN0ck9iajsNCistCUdvb1N0cmluZyAqZmlsZU5hbWU7DQorLQlj aGFyICp0bXBCdWY7DQorKwljaGFyICp0bXBCdWYgPSBudWxscHRyOw0KKyAJaW50IHRtcEJ1Zkxl biA9IDA7DQorLQlpbnQgKmNvZGVUb0dJRDsNCistCWNvbnN0IGRvdWJsZSAqdGV4dE1hdDsNCisr CWludCAqY29kZVRvR0lEID0gbnVsbHB0cjsNCisrCWNvbnN0IGRvdWJsZSAqdGV4dE1hdCA9IG51 bGxwdHI7DQorIAlkb3VibGUgbTExLCBtMTIsIG0yMSwgbTIyLCBmb250U2l6ZTsNCisgCVNwbGFz aENvb3JkIG1hdFs0XTsNCisgCWludCBuID0gMDsNCitAQCAtMzA0Niw5ICszMDU3LDYgQEAgdm9p ZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQorIAlTcGxhc2hDb29y ZCBtYXRyaXhbNl07DQorIA0KKyAJbV9mb250ID0gbnVsbHB0cjsNCistCWZpbGVOYW1lID0gbnVs bHB0cjsNCistCXRtcEJ1ZiA9IG51bGxwdHI7DQorLQlmb250TG9jID0gbnVsbHB0cjsNCisgDQor IAlnZnhGb250ID0gc3RhdGUtPmdldEZvbnQoKTsNCisgCWlmICghZ2Z4Rm9udCkNCitAQCAtMzA4 Myw3ICszMDkxLDExIEBAIHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpz dGF0ZSkKKyAJCX0NCisgCQllbHNlDQorIAkJeyAvLyBnZnhGb250TG9jRXh0ZXJuYWwNCisrI2lm IFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjIsIDIs IDApDQorKwkJCWZpbGVOYW1lID0gZm9udExvYy0+cGF0aEFzR29vU3RyaW5nKCk7DQorKyNlbHNl DQorIAkJCWZpbGVOYW1lID0gZm9udExvYy0+cGF0aDsNCisrI2VuZGlmDQorIAkJCWZvbnRUeXBl ID0gZm9udExvYy0+Zm9udFR5cGU7DQorIAkJfQ0KKyANCitAQCAtMzEzNiw5ICszMTQ4LDE0IEBA IHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkKKyAJCQkJZmYg PSBGb0ZpVHJ1ZVR5cGU6Om1ha2UodG1wQnVmLCB0bXBCdWZMZW4pOw0KKyAJCQlpZiAoZmYpDQor IAkJCXsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9F TkNPREUoMjIsIDIsIDApDQorKwkJCQljb2RlVG9HSUQgPSAoKEdmeDhCaXRGb250KikgZ2Z4Rm9u dCktPmdldENvZGVUb0dJRE1hcChmZi5nZXQoKSk7DQorKwkJCQlmZi5yZXNldCgpOw0KKysjZWxz ZQ0KKyAJCQkJY29kZVRvR0lEID0gKChHZng4Qml0Rm9udCAqKWdmeEZvbnQpLT5nZXRDb2RlVG9H SURNYXAoZmYpOw0KKy0JCQkJbiA9IDI1NjsNCisgCQkJCWRlbGV0ZSBmZjsNCisrI2VuZGlmDQor KwkJCQluID0gMjU2Ow0KKyAJCQl9DQorIAkJCWVsc2UNCisgCQkJew0KK0BAIC0zMjA5LDggKzMy MjYsMTMgQEAgdm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQor IAkJCQkJZmYgPSBGb0ZpVHJ1ZVR5cGU6Om1ha2UodG1wQnVmLCB0bXBCdWZMZW4pOw0KKyAJCQkJ aWYgKCEgZmYpDQorIAkJCQkJZ290byBlcnIyOw0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJ T04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMiwgMCkNCisrCQkJCWNvZGVUb0dJRCA9 ICgoR2Z4Q0lERm9udCopIGdmeEZvbnQpLT5nZXRDb2RlVG9HSURNYXAoZmYuZ2V0KCksICZuKTsN CisrCQkJCWZmLnJlc2V0KCk7DQorKyNlbHNlDQorIAkJCQljb2RlVG9HSUQgPSAoKEdmeENJREZv bnQgKilnZnhGb250KS0+Z2V0Q29kZVRvR0lETWFwKGZmLCAmbik7DQorIAkJCQlkZWxldGUgZmY7 DQorKyNlbmRpZg0KKyAJCQl9DQorIAkJCWlmICghKGZvbnRGaWxlID0gbV9mb250RW5naW5lLT5s b2FkVHJ1ZVR5cGVGb250KA0KKyAJCQkJCQkJaWQsDQorQEAgLTMyNDcsMTQgKzMyNjksMTkgQEAg dm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQorIAltYXRbM10g PSAtbTIyOw0KKyAJbV9mb250ID0gbV9mb250RW5naW5lLT5nZXRGb250KGZvbnRGaWxlLCBtYXQs IG1hdHJpeCk7DQorIA0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPCBQT1BQTEVSX1ZF UlNJT05fRU5DT0RFKDIyLCAyLCAwKQ0KKyAJZGVsZXRlIGZvbnRMb2M7DQorKyNlbmRpZg0KKyAJ aWYgKGZvbnRzcmMgJiYgIWZvbnRzcmMtPmlzRmlsZSkNCisgCQlmb250c3JjLT51bnJlZigpOw0K KyAJcmV0dXJuOw0KKyANCisgZXJyMjoNCisgCWRlbGV0ZSBpZDsNCisrI2lmIFBPUFBMRVJfRU5D T0RFRF9WRVJTSU9OIDwgUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMiwgMCkNCisgCWRlbGV0 ZSBmb250TG9jOw0KKysjZW5kaWYNCisrDQorIGVycjE6DQorIAlpZiAoZm9udHNyYyAmJiAhZm9u dHNyYy0+aXNGaWxlKQ0KKyAJCWZvbnRzcmMtPnVucmVmKCk7DQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9zY3JpYnVzL3RlbXBsYXRlIGIvc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRlCmluZGV4IDBlYzkw OGY3ZWY1MC4uMTI1YTdkNTRlNGNmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3NjcmlidXMvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdzY3JpYnVzJwogcGtnbmFtZT1zY3JpYnVzCiB2ZXJzaW9uPTEuNS44 Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2Fy Z3M9Ii1EQ01BS0VfU0tJUF9SUEFUSD1UUlVFIC1EUVRfUFJFRklYPSR7WEJQU19DUk9TU19CQVNF fS91c3IKLSAtRFdBTlRfR1JBUEhJQ1NNQUdJQ0s9MSIKKyAtRFdBTlRfR1JBUEhJQ1NNQUdJQ0s9 MSAtRFdBTlRfQ1BQMTc9T04iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1LXFtYWtl IHF0NS1ob3N0LXRvb2xzIHB5dGhvbjMiCiBtYWtlZGVwZW5kcz0icXQ1LWRldmVsIHF0NS10b29s cy1kZXZlbCB6bGliLWRldmVsIGNhaXJvLWRldmVsIGxjbXMyLWRldmVsCiAgY3Vwcy1kZXZlbCBs aWJ4bWwyLWRldmVsIGh5cGhlbi1kZXZlbCBnaG9zdHNjcmlwdC1kZXZlbCBib29zdC1kZXZlbAo= --===============5740398288720095672==--