From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Miroslav Rezanina To: git-commits@fedoraproject.org Subject: [rpms/open-vm-tools] f45: Fixing buiding on newest version Date: Wed, 23 Sep 2026 22:13:07 GMT Message-ID: <179020158772.1.2910332101721966756.rpms-open-vm-tools-9fa6e2a468ca@fedoraproject.org> List-ID: X-Git-Repo: rpms/open-vm-tools X-Git-Branch: f45 X-Git-Rev: 9fa6e2a468ca59a5b050c506672f752a6c499a4e ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3Blbi12bS10b29scwogICAgICAgICAgICBCcmFuY2ggOiBmNDUKICAgICAg ICAgICAgQ29tbWl0IDogOWZhNmUyYTQ2OGNhNTlhNWIwNTBjNTA2NjcyZjc1MmE2YzQ5OWE0ZQog ICAgICAgICAgICBBdXRob3IgOiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNv bT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNS0xMi0xMFQxNDoyOToxMyswMTowMAogICAgICAg ICAgICBTdGF0cyAgOiArNzc3Ly0wIGluIDIgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBo dHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW4tdm0tdG9vbHMvYy85ZmE2ZTJh NDY4Y2E1OWE1YjA1MGM1MDY2NzJmNzUyYTZjNDk5YTRlP2JyYW5jaD1mNDUKCiAgICAgICAgICAg IExvZzoKICAgICAgICAgICAgRml4aW5nIGJ1aWRpbmcgb24gbmV3ZXN0IHZlcnNpb24KCkZpeGlu ZyB0d28gaXNzdWVzOgoKLSBQb2ludGVyIHR5cGUgaXMgbm93IHJhaXNpbmcgd2FybmluZyB3aGVu IGNvbnN0IGlzIGRpc2NhcmRlZCAodXN1YWxseQogIGNhc2Ugd2hlbiB3b3JraW5nIHdpdGggc3Ry aW5nIGZ1bmN0aW9ucykuCgotIG5ldyBnbGliMiBkZWZpbmUgZ19mcmVlIGFzIG1hY3JvIHRoYXQn cyBicmVha2luZyBvdXIgc3R1YiBjb2RlLgoKU2lnbmVkLW9mZi1ieTogTWlyb3NsYXYgUmV6YW5p bmEgPG1yZXphbmluQHJlZGhhdC5jb20+CgotLS0KZGlmZiAtLWdpdCBhLzAwMDEtRml4LWRpc2Nh cmRlZC1xdWFsaWZpZXJzLXdhcm5pbmctZXJyb3IucGF0Y2ggYi8wMDAxLUZpeC1kaXNjYXJkZWQt cXVhbGlmaWVycy13YXJuaW5nLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjJhOWM3NGYKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLUZpeC1kaXNjYXJkZWQt cXVhbGlmaWVycy13YXJuaW5nLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsNzc2IEBACitGcm9tIDBl ODBjYjg2YmI0NzVmNjY3ZGFmN2ViNjNhNDIxNjJiYjg0YWIwN2EgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK0Rh dGU6IFR1ZSwgOSBEZWMgMjAyNSAxMjoyMjowMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXgg ZGlzY2FyZGVkLXF1YWxpZmllcnMgd2FybmluZyBlcnJvcgorCitOZXcgZ2NjIHJlcG9ydHMgd2Fy bmluZyB3aGVuIHBvaW50ZXIgbG9vc2VzIGNvbnN0IHF1YWxpZmllci4KKworSW4gYWRkaXRpb24s IGhhbmRsZSBuZXcgZ19mcmVlIGRlZmluaXRpb24uCisKK1NpZ25lZC1vZmYtYnk6IE1pcm9zbGF2 IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorLS0tCisgb3Blbi12bS10b29scy0xMy4w LjUtMjQ5MTU2OTUvY29uZmlnL2x0bWFpbi5zaCAgICAgfCAgNCArKy0tCisgLi4uL2xpYi9maWxl L2ZpbGVMb2NrUG9zaXguYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgLi4uL2xp Yi9maWxlL2ZpbGVMb2NrUHJpbWl0aXZlLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIG9w ZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9maWxlL2ZpbGVQb3NpeC5jIHwgIDQgKyst LQorIC4uLi9saWIvZmlsZS9maWxlU3RhbmRBbG9uZS5jICAgICAgICAgICAgICAgICAgICAgIHwg IDggKysrKy0tLS0KKyAuLi4vbGliL2dsaWJVdGlscy9maWxlTG9nZ2VyLmMgICAgICAgICAgICAg ICAgICAgICB8ICA4ICsrKystLS0tCisgLi4uL2xpYi9oZ2ZzL2hnZnNFc2NhcGUuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQorIC4uLi9saWIvaGdmc1NlcnZl ci9oZ2ZzU2VydmVyTGludXguYyAgICAgICAgICAgICAgIHwgIDQgKystLQorIG9wZW4tdm0tdG9v bHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL2NvZGVzZXQuYyAgIHwgIDIgKy0KKyAuLi4vbGli L21pc2MvY29kZXNldE9sZC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCisgLi4u L2xpYi9taXNjL2hvc3RpbmZvUG9zaXguYyAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKysr KysrLS0tLS0tLQorIG9wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL21hY2hp bmVJRC5jIHwgIDIgKy0KKyBvcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9z dHJ1dGlsLmMgICB8ICA4ICsrKystLS0tCisgLi4uL2xpYi9uaWNJbmZvL25pY0luZm9Qb3NpeC5j ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIC4uLi9saWIvcHJvY01nci9wcm9jTWdyUG9z aXguYyAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyAuLi4vbGliL3Byb2NNZ3Iv cHJvY01nclNvbGFyaXMuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCisgLi4uL2xpYi9ycGND aGFubmVsL2dsaWJfc3R1YnMuYyAgICAgICAgICAgICAgICAgICAgfCAgMyArKysKKyBvcGVuLXZt LXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvdXNlci91dGlsLmMgICAgICB8ICAyICstCisgLi4u L2xpYmd1ZXN0U3RvcmVDbGllbnQvZ3Vlc3RTdG9yZUNsaWVudExpYi5jICAgICAgfCAgNCArKy0t Cisgb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGlidm10b29scy9pMThuLmMgICAgfCAg NCArKy0tCisgLi4uL21vZHVsZXMvc29sYXJpcy92bWhnZnMvdm5vZGUuYyAgICAgICAgICAgICAg ICAgfCAgMiArLQorIC4uLi9jb21wb25lbnRNZ3IvY29tcG9uZW50TWdySW5zdGFsbEFjdGlvbi5j ICAgICAgIHwgIDQgKystLQorIC4uLi9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2NvcHlQYXN0ZVVJ WDExLmNwcCAgICAgIHwgIDIgKy0KKyAuLi4vc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmQvZG5k WGRnLmMgICAgICAgICAgICB8ICAyICstCisgLi4uL3BsdWdpbnMvZG5kY3AvZG5kR3Vlc3QvZ3Vl c3RDb3B5UGFzdGVTcmMuY2MgICAgfCAgMiArLQorIC4uLi9wbHVnaW5zL2RuZGNwL2RuZEd1ZXN0 L3ZtR3Vlc3REbkRTcmMuY2MgICAgICAgIHwgIDIgKy0KKyAuLi4vc2VydmljZXMvcGx1Z2lucy9k bmRjcC9kbmRVSVgxMS5jcHAgICAgICAgICAgICB8ICAyICstCisgLi4uL3NlcnZpY2VzL3BsdWdp bnMvZ3Vlc3RJbmZvL3BlcmZNb25MaW51eC5jICAgICAgfCAgMiArLQorIC4uLi9zZXJ2aWNlcy9w bHVnaW5zL3ZpeC92aXhUb29scy5jICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyAuLi4v dGVzdHMvdm1ycGNkYmcvZGVidWdDaGFubmVsLmMgICAgICAgICAgICAgICAgICB8ICAyICstCisg b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvdmdhdXRoL2NvbW1vbi9pMThuLmMgfCAgMiAr LQorIC4uLi92bWJsb2NrbW91bnRlci92bWJsb2NrbW91bnRlci5jICAgICAgICAgICAgICAgIHwg IDIgKy0KKyBvcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS92bWhnZnMtZnVzZS9jb25maWcu YyB8ICAyICstCisgb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUveGZlcmxvZ3MveGZlcmxv Z3MuYyAgfCAgOCArKysrLS0tLQorIDM0IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyks IDcwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5 MTU2OTUvY29uZmlnL2x0bWFpbi5zaCBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2Nv bmZpZy9sdG1haW4uc2gKK2luZGV4IDJjMTUzMDkuLjA5ODk5ZjEgMTAwNzU1CistLS0gYS9vcGVu LXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9jb25maWcvbHRtYWluLnNoCisrKysgYi9vcGVuLXZt LXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9jb25maWcvbHRtYWluLnNoCitAQCAtNDQ3NiwxMSArNDQ3 NiwxMSBAQCBFT0YKKyAJICAgIGNhdCA8PCJFT0YiCisgICB7CisgICAgIGNoYXIqIHA7CistICAg IHdoaWxlICgocCA9IHN0cmNociAobmV3YXJnelswXSwgJ1xcJykpICE9IE5VTEwpCisrICAgIHdo aWxlICgocCA9IChjaGFyICopIHN0cmNociAobmV3YXJnelswXSwgJ1xcJykpICE9IE5VTEwpCisg ICAgICAgeworIAkqcCA9ICcvJzsKKyAgICAgICB9CistICAgIHdoaWxlICgocCA9IHN0cmNociAo bHRfYXJndl96ZXJvLCAnXFwnKSkgIT0gTlVMTCkKKysgICAgd2hpbGUgKChwID0gKGNoYXIgKikg c3RyY2hyIChsdF9hcmd2X3plcm8sICdcXCcpKSAhPSBOVUxMKQorICAgICAgIHsKKyAJKnAgPSAn Lyc7CisgICAgICAgfQorZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1 L2xpYi9maWxlL2ZpbGVMb2NrUG9zaXguYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1 L2xpYi9maWxlL2ZpbGVMb2NrUG9zaXguYworaW5kZXggYTczNzNiNC4uMGVlY2M0MiAxMDA2NDQK Ky0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9maWxlL2ZpbGVMb2NrUG9z aXguYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmlsZUxv Y2tQb3NpeC5jCitAQCAtMTcyLDcgKzE3Miw3IEBAIEZpbGVSZWFkU2xhc2hQcm9jKGNvbnN0IGNo YXIgKnByb2NQYXRoLCAgLy8gSU46CisgCisgICAgYnVmZmVyW2xlbl0gPSAnXDAnOworIAorLSAg IHAgPSBzdHJjaHIoYnVmZmVyLCAnXG4nKTsKKysgICBwID0gKGNoYXIgKikgc3RyY2hyKGJ1ZmZl ciwgJ1xuJyk7CisgCisgICAgaWYgKHAgIT0gTlVMTCkgeworICAgICAgICpwID0gJ1wwJzsKK0BA IC0yNDgsNyArMjQ4LDcgQEAgRmlsZUxvY2tQcm9jZXNzRGVzY3JpcHRvcihwaWRfdCBwaWQpICAv LyBJTjoKKyAKKyAgICAgICAqKHAgLSAxKSA9ICdcMCc7CisgCistICAgICAgcSA9IHN0cnJjaHIo cCArIDEsICcpJyk7CisrICAgICAgcSA9IChjaGFyICopIHN0cnJjaHIocCArIDEsICcpJyk7Cisg ICAgICAgaWYgKHEgPT0gTlVMTCkgeworICAgICAgICAgIGdvdG8gYmFpbDsKKyAgICAgICB9Citk aWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmlsZUxv Y2tQcmltaXRpdmUuYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9maWxlL2Zp bGVMb2NrUHJpbWl0aXZlLmMKK2luZGV4IDE5M2ZjMzYuLjc1NzFjZWQgMTAwNjQ0CistLS0gYS9v cGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvZmlsZS9maWxlTG9ja1ByaW1pdGl2ZS5j CisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvZmlsZS9maWxlTG9ja1By aW1pdGl2ZS5jCitAQCAtMjM4LDcgKzIzOCw3IEBAIEZpbGVMb2NrUGFyc2VBcmdzKGNoYXIgKmFy Z3ZbXSwgICAgICAgLy8gSU46CisgCisgICAgd2hpbGUgKGFyZ0NvdW50KSB7CisgICAgICAgdWlu dDMyIGk7CistICAgICAgY2hhciAqcCA9IHN0cmNocihhcmd2W2FyZ1Bvc10sICc9Jyk7CisrICAg ICAgY2hhciAqcCA9IChjaGFyICopIHN0cmNocihhcmd2W2FyZ1Bvc10sICc9Jyk7CisgCisgICAg ICAgLyogVmFsaWRhdGUgdGhlICJuYW1lPXZhbHVlIiBmb3JtICovCisgICAgICAgaWYgKChwID09 IE5VTEwpIHx8IChwID09IGFyZ3ZbYXJnUG9zXSkgfHwgKHBbMV0gPT0gJ1wwJykpIHsKK2RpZmYg LS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvZmlsZS9maWxlUG9zaXgu YyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9maWxlL2ZpbGVQb3NpeC5jCitp bmRleCAzYjUwMGViLi41ZDBmNzcyIDEwMDY0NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUt MjQ5MTU2OTUvbGliL2ZpbGUvZmlsZVBvc2l4LmMKKysrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41 LTI0OTE1Njk1L2xpYi9maWxlL2ZpbGVQb3NpeC5jCitAQCAtMTUxMCw3ICsxNTEwLDcgQEAgRmls ZV9HZXRWTUZTTW91bnRJbmZvKGNvbnN0IGNoYXIgKnBhdGhOYW1lLCAgICAvLyBJTjoKKyAgICAg ICAgKiBUaGlzIHdpbGwgY292ZXIgYm90aCBORlN2MyBhbmQgTkZTdjQuMS4KKyAgICAgICAgKi8K KyAgICAgICBpZiAoc3RybmNtcChmc0F0dHJzLT5mc1R5cGUsIEZTX05GU19PTl9FU1gsIEZTX05G U19QUkVGSVhfTEVOKSA9PSAwKSB7CistICAgICAgICAgY2hhciAqc2VwID0gc3RyY2hyKGZzQXR0 cnMtPmxvZ2ljYWxEZXZpY2UsICcgJyk7CisrICAgICAgICAgY2hhciAqc2VwID0gKGNoYXIgKikg c3RyY2hyKGZzQXR0cnMtPmxvZ2ljYWxEZXZpY2UsICcgJyk7CisgCisgICAgICAgICAgaWYgKHNl cCkgeworICAgICAgICAgICAgICpzZXArKyA9IDA7CitAQCAtMjMzOSw3ICsyMzM5LDcgQEAgRmls ZVBvc2l4TmVhcmVzdEV4aXN0aW5nQW5jZXN0b3IoY2hhciBjb25zdCAqcGF0aCkgIC8vIElOOiBG aWxlIHBhdGgKKyAgICAgICAgICBicmVhazsKKyAgICAgICB9CisgCistICAgICAgcHRyID0gc3Ry cmNocihyZXN1bHQsIERJUlNFUEMpOworKyAgICAgIHB0ciA9IChjaGFyICopIHN0cnJjaHIocmVz dWx0LCBESVJTRVBDKTsKKyAgICAgICBpZiAocHRyID09IE5VTEwpIHsKKyAgICAgICAgICBwdHIg PSByZXN1bHQ7CisgICAgICAgfQorZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0 OTE1Njk1L2xpYi9maWxlL2ZpbGVTdGFuZEFsb25lLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS9saWIvZmlsZS9maWxlU3RhbmRBbG9uZS5jCitpbmRleCA2ZDNjYmEyLi4xZmE0YWI2 IDEwMDY0NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmls ZVN0YW5kQWxvbmUuYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2Zp bGUvZmlsZVN0YW5kQWxvbmUuYworQEAgLTcxNSw5ICs3MTUsOSBAQCBGaWxlX1JlcGxhY2VFeHRl bnNpb24oY29uc3QgY2hhciAqcGF0aE5hbWUsICAgICAgLy8gSU46CisgCisgICAgcCA9IEZpbGVG aW5kTGFzdERpcnNlcChyZXN1bHQsIHBhdGhOYW1lTGVuKTsKKyAgICBpZiAocCA9PSBOVUxMKSB7 CistICAgICAgIHAgPSBzdHJyY2hyKHJlc3VsdCwgJy4nKTsKKysgICAgICAgcCA9IChjaGFyICop IHN0cnJjaHIocmVzdWx0LCAnLicpOworICAgIH0gZWxzZSB7CistICAgICAgIHAgPSBzdHJyY2hy KHAsICcuJyk7CisrICAgICAgIHAgPSAoY2hhciAqKSBzdHJyY2hyKHAsICcuJyk7CisgICAgfQor IAorICAgIGlmIChwID09IE5VTEwpIHsKK0BAIC03OTAsOSArNzkwLDkgQEAgRmlsZV9SZW1vdmVF eHRlbnNpb24oY29uc3QgY2hhciAqcGF0aE5hbWUpICAvLyBJTjoKKyAKKyAgICBwID0gRmlsZUZp bmRMYXN0RGlyc2VwKHJlc3VsdCwgc3RybGVuKHBhdGhOYW1lKSk7CisgICAgaWYgKHAgPT0gTlVM TCkgeworLSAgICAgICBwID0gc3RycmNocihyZXN1bHQsICcuJyk7CisrICAgICAgIHAgPSAoY2hh ciAqKSBzdHJyY2hyKHJlc3VsdCwgJy4nKTsKKyAgICB9IGVsc2UgeworLSAgICAgICBwID0gc3Ry cmNocihwLCAnLicpOworKyAgICAgICBwID0gKGNoYXIgKikgc3RycmNocihwLCAnLicpOworICAg IH0KKyAKKyAgICBBU1NFUlQocCAhPSBOVUxMKTsKK2RpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS9saWIvZ2xpYlV0aWxzL2ZpbGVMb2dnZXIuYyBiL29wZW4tdm0tdG9v bHMtMTMuMC41LTI0OTE1Njk1L2xpYi9nbGliVXRpbHMvZmlsZUxvZ2dlci5jCitpbmRleCBmMWIw ZGM3Li41OTYwNWJiIDEwMDY0NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv bGliL2dsaWJVdGlscy9maWxlTG9nZ2VyLmMKKysrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0 OTE1Njk1L2xpYi9nbGliVXRpbHMvZmlsZUxvZ2dlci5jCitAQCAtMTY3LDcgKzE2Nyw3IEBAIEZp bGVMb2dnZXJHZXRQYXRoKEZpbGVMb2dnZXIgKmRhdGEsCisgICAgZm9yIChpID0gMDsgaSA8IEdf Tl9FTEVNRU5UUyh2YXJzKTsgaSArPSAyKSB7CisgICAgICAgY2hhciAqbGFzdCA9IGxvZ3BhdGg7 CisgICAgICAgY2hhciAqc3RhcnQ7CistICAgICAgd2hpbGUgKChzdGFydCA9IHN0cnN0cihsYXN0 LCB2YXJzW2ldKSkgIT0gTlVMTCkgeworKyAgICAgIHdoaWxlICgoc3RhcnQgPSAoY2hhciAqKSBz dHJzdHIobGFzdCwgdmFyc1tpXSkpICE9IE5VTEwpIHsKKyAgICAgICAgICBnY2hhciAqdG1wOwor ICAgICAgICAgIGNoYXIgKmVuZCA9IHN0YXJ0ICsgc3RybGVuKHZhcnNbaV0pOworICAgICAgICAg IHNpemVfdCBvZmZzZXQgPSAoc3RhcnQgLSBsYXN0KSArIHN0cmxlbih2YXJzW2krMV0pOworQEAg LTE5MiwxMSArMTkyLDExIEBAIEZpbGVMb2dnZXJHZXRQYXRoKEZpbGVMb2dnZXIgKmRhdGEsCisg ICAgICogYmFja2luZyB1cCBvbGQgbG9nIGZpbGVzLgorICAgICAqLworICAgIGlmIChpbmRleCAh PSAwICYmICFoYXNJbmRleCkgeworLSAgICAgIGNoYXIgKnNlcCA9IHN0cnJjaHIobG9ncGF0aCwg Jy4nKTsKKy0gICAgICBjaGFyICpwYXRoc2VwID0gc3RycmNocihsb2dwYXRoLCAnLycpOworKyAg ICAgIGNoYXIgKnNlcCA9IChjaGFyICopIHN0cnJjaHIobG9ncGF0aCwgJy4nKTsKKysgICAgICBj aGFyICpwYXRoc2VwID0gKGNoYXIgKikgc3RycmNocihsb2dwYXRoLCAnLycpOworIAorICAgICAg IGlmIChwYXRoc2VwID09IE5VTEwpIHsKKy0gICAgICAgICBwYXRoc2VwID0gc3RycmNocihsb2dw YXRoLCAnXFwnKTsKKysgICAgICAgICBwYXRoc2VwID0gKGNoYXIgKikgc3RycmNocihsb2dwYXRo LCAnXFwnKTsKKyAgICAgICB9CisgCisgICAgICAgaWYgKHNlcCAhPSBOVUxMICYmIHNlcCA+IHBh dGhzZXApIHsKK2RpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIv aGdmcy9oZ2ZzRXNjYXBlLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvaGdm cy9oZ2ZzRXNjYXBlLmMKK2luZGV4IGM0ZDM5YjEuLmNlNDc1ZDkgMTAwNjQ0CistLS0gYS9vcGVu LXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvaGdmcy9oZ2ZzRXNjYXBlLmMKKysrKyBiL29w ZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9oZ2ZzL2hnZnNFc2NhcGUuYworQEAgLTE5 OCw3ICsxOTgsNyBAQCBIZ2ZzQWRkRXNjYXBlQ2hhcmFjdGVyKGNoYXIgY29uc3QgKiBidWZJbiwg ICAgICAvLyBJTjogaW5wdXQgbmFtZQorICAgICAgIGlmIChvdXRwdXRTcGFjZSA8IDIpIHsKKyAg ICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgICAgfQorLSAgICAgIGlsbGVnYWwgPSBzdHJjaHIo SEdGU19JTExFR0FMX0NIQVJTLCBidWZJbltlc2NhcGVDb250ZXh0LT5wcm9jZXNzZWRPZmZzZXRd KTsKKysgICAgICBpbGxlZ2FsID0gKGNoYXIgKikgc3RyY2hyKEhHRlNfSUxMRUdBTF9DSEFSUywg YnVmSW5bZXNjYXBlQ29udGV4dC0+cHJvY2Vzc2VkT2Zmc2V0XSk7CisgICAgICAgZXNjYXBlQ29u dGV4dC0+cHJvY2Vzc2VkT2Zmc2V0Kys7ICAvLyBTa2lwIGlsbGVnYWwgaW5wdXQgY2hhcmFjdGVy CisgICAgICAgQVNTRVJUKGlsbGVnYWwgIT0gTlVMTCk7CisgICAgICAgZXNjYXBlQ29udGV4dC0+ b3V0cHV0QnVmZmVyW2VzY2FwZUNvbnRleHQtPm91dHB1dE9mZnNldF0gPQorQEAgLTU4MywxMiAr NTgzLDEyIEBAIEhnZnNJc0VzY2FwZVNlcXVlbmNlKGNoYXIgY29uc3QgKmJ1ZkluLCAgIC8vIElO OiBpbnB1dCBuYW1lCisgICAgICAgICAgaWYgKGJ1ZkluW29mZnNldCAtIDJdID09IEhHRlNfRVND QVBFX1NVQlNUSVRVRV9DSEFSKSB7CisgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAg ICAgfQorLSAgICAgICAgIHN1YnN0aXR1dGUgPSBzdHJjaHIoSEdGU19TVUJTVElUVVRFX0NIQVJT LCBidWZJbltvZmZzZXQgLSAyXSk7CisrICAgICAgICAgc3Vic3RpdHV0ZSA9IChjaGFyICopIHN0 cmNocihIR0ZTX1NVQlNUSVRVVEVfQ0hBUlMsIGJ1ZkluW29mZnNldCAtIDJdKTsKKyAgICAgICAg ICBpZiAoc3Vic3RpdHV0ZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgcmV0dXJuIFRSVUU7Cisg ICAgICAgICAgfQorICAgICAgIH0KKy0gICAgICBzdWJzdGl0dXRlID0gc3RyY2hyKEhHRlNfU1VC U1RJVFVURV9DSEFSUywgYnVmSW5bb2Zmc2V0IC0gMV0pOworKyAgICAgIHN1YnN0aXR1dGUgPSAo Y2hhciAqKSBzdHJjaHIoSEdGU19TVUJTVElUVVRFX0NIQVJTLCBidWZJbltvZmZzZXQgLSAxXSk7 CisgICAgICAgaWYgKHN1YnN0aXR1dGUgIT0gTlVMTCkgeworICAgICAgICAgIHJldHVybiBUUlVF OworICAgICAgIH0KK0BAIC04ODIsMTIgKzg4MiwxMiBAQCBIZ2ZzRXNjYXBlVW5kb0NvbXBvbmVu dChjaGFyICAgKmJ1ZkluLCAgICAgICAgICAgICAvLyBJTjogQ2hhcmFjdGVycyB0byBiZSB1bmVz YworIAorICAgIGN1ck91dEJ1ZmZlciA9IGJ1ZkluOworICAgIHNpemVJbiA9IHN0cmxlbihjdXJP dXRCdWZmZXIpOworLSAgIGVzY2FwZVBvaW50ZXIgPSBzdHJjaHIoY3VyT3V0QnVmZmVyLCBIR0ZT X0VTQ0FQRV9DSEFSKTsKKysgICBlc2NhcGVQb2ludGVyID0gKGNoYXIgKikgc3RyY2hyKGN1ck91 dEJ1ZmZlciwgSEdGU19FU0NBUEVfQ0hBUik7CisgICAgd2hpbGUgKGVzY2FwZVBvaW50ZXIgIT0g TlVMTCkgeworICAgICAgIHNpemVfdCBvZmZzZXQgPSBlc2NhcGVQb2ludGVyIC0gYnVmSW47Cisg CisgICAgICAgaWYgKEhnZnNJc0VzY2FwZVNlcXVlbmNlKGJ1ZkluLCBvZmZzZXQsIHNpemVJbikp IHsKKy0gICAgICAgICBjaGFyKiBzdWJzdGl0dXRlID0gc3RyY2hyKEhHRlNfU1VCU1RJVFVURV9D SEFSUywgYnVmSW5bb2Zmc2V0IC0gMV0pOworKyAgICAgICAgIGNoYXIqIHN1YnN0aXR1dGUgPSAo Y2hhciAqKSBzdHJjaHIoSEdGU19TVUJTVElUVVRFX0NIQVJTLCBidWZJbltvZmZzZXQgLSAxXSk7 CisgICAgICAgICAgaWYgKHN1YnN0aXR1dGUgIT0gTlVMTCkgeworICAgICAgICAgICAgIGJ1Zklu W29mZnNldCAtIDFdID0gSEdGU19JTExFR0FMX0NIQVJTW3N1YnN0aXR1dGUgLSBIR0ZTX1NVQlNU SVRVVEVfQ0hBUlNdOworICAgICAgICAgIH0gZWxzZSBpZiAoYnVmSW5bb2Zmc2V0IC0gMV0gPT0g SEdGU19FU0NBUEVfU1VCU1RJVFVFX0NIQVIpIHsKK0BAIC04OTcsMTIgKzg5NywxMiBAQCBIZ2Zz RXNjYXBlVW5kb0NvbXBvbmVudChjaGFyICAgKmJ1ZkluLCAgICAgICAgICAgICAvLyBJTjogQ2hh cmFjdGVycyB0byBiZSB1bmVzYworICAgICAgICAgICgqdW5wcm9jZXNzZWRMZW5ndGgpLS07Cisg ICAgICAgICAgc2l6ZUluLS07CisgICAgICAgICAgaWYgKHNpemVJbiA+IDApIHsKKy0gICAgICAg ICAgICBlc2NhcGVQb2ludGVyID0gc3RyY2hyKGVzY2FwZVBvaW50ZXIsIEhHRlNfRVNDQVBFX0NI QVIpOworKyAgICAgICAgICAgIGVzY2FwZVBvaW50ZXIgPSAoY2hhciAqKSBzdHJjaHIoZXNjYXBl UG9pbnRlciwgSEdGU19FU0NBUEVfQ0hBUik7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg ICAgICBlc2NhcGVQb2ludGVyID0gTlVMTDsKKyAgICAgICAgICB9CisgICAgICAgfSBlbHNlIHsK Ky0gICAgICAgICBlc2NhcGVQb2ludGVyID0gc3RyY2hyKGVzY2FwZVBvaW50ZXIgKyAxLCBIR0ZT X0VTQ0FQRV9DSEFSKTsKKysgICAgICAgICBlc2NhcGVQb2ludGVyID0gKGNoYXIgKikgc3RyY2hy KGVzY2FwZVBvaW50ZXIgKyAxLCBIR0ZTX0VTQ0FQRV9DSEFSKTsKKyAgICAgICB9CisgICAgfQor ICAgIEFTU0VSVCgoKnVucHJvY2Vzc2VkTGVuZ3RoKSA+IHNpemVJbik7CitkaWZmIC0tZ2l0IGEv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2hnZnNTZXJ2ZXIvaGdmc1NlcnZlckxp bnV4LmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvaGdmc1NlcnZlci9oZ2Zz U2VydmVyTGludXguYworaW5kZXggNGEwYmM5My4uYWM2MmMxYiAxMDA2NDQKKy0tLSBhL29wZW4t dm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9oZ2ZzU2VydmVyL2hnZnNTZXJ2ZXJMaW51eC5j CisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvaGdmc1NlcnZlci9oZ2Zz U2VydmVyTGludXguYworQEAgLTEzNjksNyArMTM2OSw3IEBAIEhnZnNHZXRIaWRkZW5BdHRyKGNo YXIgY29uc3QgKmZpbGVOYW1lLCAgICAgICAgIC8vIElOOiAgSW5wdXQgZmlsZW5hbWUKKyAgICBB U1NFUlQoZmlsZU5hbWUpOworICAgIEFTU0VSVChhdHRyKTsKKyAKKy0gICBiYXNlTmFtZSA9IHN0 cnJjaHIoZmlsZU5hbWUsIERJUlNFUEMpOworKyAgIGJhc2VOYW1lID0gKGNoYXIgKikgc3RycmNo cihmaWxlTmFtZSwgRElSU0VQQyk7CisgCisgICAgaWYgKChiYXNlTmFtZSAhPSBOVUxMKSAmJgor ICAgICAgICAoYmFzZU5hbWVbMV0gPT0gJy4nKSAmJgorQEAgLTE2NDcsNyArMTY0Nyw3IEBAIEhn ZnNDYXNlSW5zZW5zaXRpdmVMb29rdXAoY29uc3QgY2hhciAqc2hhcmVQYXRoLCAgICAgICAgICAg Ly8gSU4KKyAKKyAgICB3aGlsZSAoVFJVRSkgeworICAgICAgIC8qIEdldCB0aGUgbmV4dCBjb21w b25lbnQuICovCistICAgICAgbmV4dENvbXBvbmVudCA9IHN0cmNocihjdXJyZW50Q29tcG9uZW50 LCBESVJTRVBDKTsKKysgICAgICBuZXh0Q29tcG9uZW50ID0gKGNoYXIgKikgc3RyY2hyKGN1cnJl bnRDb21wb25lbnQsIERJUlNFUEMpOworICAgICAgIGlmIChuZXh0Q29tcG9uZW50ICE9IE5VTEwp IHsKKyAgICAgICAgICAqbmV4dENvbXBvbmVudCA9ICdcMCc7CisgICAgICAgfQorZGlmZiAtLWdp dCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL2NvZGVzZXQuYyBiL29w ZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL2NvZGVzZXQuYworaW5kZXggMjUy MjFmNi4uYWZjNjE1YiAxMDA2NDQKKy0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1 L2xpYi9taXNjL2NvZGVzZXQuYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv bGliL21pc2MvY29kZXNldC5jCitAQCAtNTg5LDcgKzU4OSw3IEBAIENvZGVTZXRfSW5pdChjb25z dCBjaGFyICppY3VEYXRhRGlyKSAvLyBJTjogSUNVIGRhdGEgZmlsZSBsb2NhdGlvbiBpbiBDdXJy ZW50IGNvCisgICAgICAgICovCisgICAgICAgbW9kUGF0aCA9IENvZGVTZXRHZXRNb2R1bGVQYXRo KEhHTVBfUFJJVklMRUdFKTsKKyAgICAgICBpZiAobW9kUGF0aCkgeworLSAgICAgICAgIGxhc3RT bGFzaCA9IHN0cnJjaHIobW9kUGF0aCwgRElSU0VQQyk7CisrICAgICAgICAgbGFzdFNsYXNoID0g KGNoYXIgKikgc3RycmNocihtb2RQYXRoLCBESVJTRVBDKTsKKyAgICAgICAgICBpZiAobGFzdFNs YXNoKSB7CisgICAgICAgICAgICAgKmxhc3RTbGFzaCA9ICdcMCc7CisgCitkaWZmIC0tZ2l0IGEv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL21pc2MvY29kZXNldE9sZC5jIGIvb3Bl bi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL21pc2MvY29kZXNldE9sZC5jCitpbmRleCBm YjRmMTk0Li5lZDg2ZDAzIDEwMDY0NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvbGliL21pc2MvY29kZXNldE9sZC5jCisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkx NTY5NS9saWIvbWlzYy9jb2Rlc2V0T2xkLmMKK0BAIC03NTUsNyArNzU1LDcgQEAgQ29kZVNldE9s ZF9HZXRDdXJyZW50Q29kZVNldCh2b2lkKQorICAgICAgICAgIGNoYXIgKnA7CisgCisgICAgICAg ICAgZ0ZpbGVuYW1lRW5jb2RpbmcgPSBVdGlsX1NhZmVTdHJkdXAoZ0ZpbGVuYW1lRW5jb2Rpbmcp OworLSAgICAgICAgIHAgPSBzdHJjaHIoZ0ZpbGVuYW1lRW5jb2RpbmcsICcsJyk7CisrICAgICAg ICAgcCA9IChjaGFyICopIHN0cmNocihnRmlsZW5hbWVFbmNvZGluZywgJywnKTsKKyAKKyAgICAg ICAgICBpZiAocCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgKnAgPSAnXDAnOworZGlmZiAtLWdp dCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL2hvc3RpbmZvUG9zaXgu YyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL2hvc3RpbmZvUG9zaXgu YworaW5kZXggZGM5OWQ4My4uMjJkYmI0OCAxMDA2NDQKKy0tLSBhL29wZW4tdm0tdG9vbHMtMTMu MC41LTI0OTE1Njk1L2xpYi9taXNjL2hvc3RpbmZvUG9zaXguYworKysrIGIvb3Blbi12bS10b29s cy0xMy4wLjUtMjQ5MTU2OTUvbGliL21pc2MvaG9zdGluZm9Qb3NpeC5jCitAQCAtMTYyMCw3ICsx NjIwLDcgQEAgSG9zdGluZm9SZWFkRGlzdHJvRmlsZShCb29sIG9zUmVsZWFzZVJ1bGVzLCAgIC8v IElOOiBvc1JlbGVhc2UgcnVsZXMKKyAKKyAgICAgICAgICAgICAgaWYgKGxpbmVCdWZbbGVuXSA9 PSAnIicpIHsKKyAgICAgICAgICAgICAgICAgZGF0YSA9ICZsaW5lQnVmW2xlbiArIDFdOworLSAg ICAgICAgICAgICAgICBwID0gc3RycmNocihkYXRhLCAnIicpOworKyAgICAgICAgICAgICAgICBw ID0gKGNoYXIgKikgc3RycmNocihkYXRhLCAnIicpOworIAorICAgICAgICAgICAgICAgICBpZiAo cCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIFdhcm5pbmcoIiVzOiBJbnZhbGlkIG9z LXJlbGVhc2UgZmlsZS4iLCBfX0ZVTkNUSU9OX18pOworQEAgLTE2MjksNyArMTYyOSw3IEBAIEhv c3RpbmZvUmVhZERpc3Ryb0ZpbGUoQm9vbCBvc1JlbGVhc2VSdWxlcywgICAvLyBJTjogb3NSZWxl YXNlIHJ1bGVzCisgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgIGRhdGEg PSAmbGluZUJ1ZltsZW5dOworIAorLSAgICAgICAgICAgICAgICBwID0gc3RyY2hyKGRhdGEsICdc bicpOworKyAgICAgICAgICAgICAgICBwID0gKGNoYXIgKikgc3RyY2hyKGRhdGEsICdcbicpOwor IAorICAgICAgICAgICAgICAgICBpZiAocCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAg IFdhcm5pbmcoIiVzOiBvcy1yZWxlYXNlIGZpbGUgbGluZSB0b28gbG9uZy4iLAorQEAgLTE4OTQs NyArMTg5NCw3IEBAIEhvc3RpbmZvTHNiUmVtb3ZlUXVvdGVzKGNoYXIgKmxzYk91dHB1dCkgIC8v IElOL09VVDoKKyAgICBBU1NFUlQobHNiU3RhcnQgIT0gTlVMTCk7CisgCisgICAgaWYgKGxzYlN0 YXJ0WzBdID09ICciJykgeworLSAgICAgIGNoYXIgKnF1b3RlRW5kID0gc3RyY2hyKCsrbHNiU3Rh cnQsICciJyk7CisrICAgICAgY2hhciAqcXVvdGVFbmQgPSAoY2hhciAqKSBzdHJjaHIoKytsc2JT dGFydCwgJyInKTsKKyAKKyAgICAgICBpZiAocXVvdGVFbmQgIT0gTlVMTCkgeworICAgICAgICAg ICpxdW90ZUVuZCA9ICdcMCc7CitAQCAtMzQ3Miw4ICszNDcyLDggQEAgSG9zdGluZm9HZXRDcHVJ bmZvKGludCBuQ3B1LCAgICAgICAgIC8vIElOOgorICAgICAgICAgICBTdGRJT19SZWFkTmV4dExp bmUoZiwgJmxpbmUsIDAsIE5VTEwpID09IFN0ZElPX1N1Y2Nlc3MpIHsKKyAgICAgICBjaGFyICpz OworIAorLSAgICAgIGlmICgocyA9IHN0cnN0cihsaW5lLCBuYW1lKSkgJiYKKy0gICAgICAgICAg KHMgPSBzdHJjaHIocywgJzonKSkpIHsKKysgICAgICBpZiAoKHMgPSAoY2hhciAqKSBzdHJzdHIo bGluZSwgbmFtZSkpICYmCisrICAgICAgICAgIChzID0gKGNoYXIgKikgc3RyY2hyKHMsICc6Jykp KSB7CisgICAgICAgICAgY2hhciAqZTsKKyAKKyAgICAgICAgICBzKys7CitAQCAtNDAzOSw3ICs0 MDM5LDcgQEAgSG9zdGluZm9GaW5kRW50cnkoY2hhciAqYnVmZmVyLCAgICAgICAgIC8vIElOOiBC dWZmZXIKKyAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdHJpbmcsICAgLy8gSU46IFN0 cmluZyBzb3VnaHQKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnZhbHVlKSAgLy8g T1VUOiBWYWx1ZQorIHsKKy0gICBjaGFyICpwID0gc3Ryc3RyKGJ1ZmZlciwgc3RyaW5nKTsKKysg ICBjaGFyICpwID0gKGNoYXIgKikgc3Ryc3RyKGJ1ZmZlciwgc3RyaW5nKTsKKyAgICB1bnNpZ25l ZCBpbnQgdmFsOworIAorICAgIGlmIChwID09IE5VTEwpIHsKK0BAIC00NTcwLDcgKzQ1NzAsNyBA QCBIb3N0aW5mb19HZXRMaWJyYXJ5UGF0aCh2b2lkICphZGRyKSAgLy8gSU4KKyAgICAgICAgICAg ICBjb250aW51ZTsKKyAgICAgICAgICB9CisgCistICAgICAgICAgc2VwID0gc3RyY2hyKGVudHJ5 LT5kX25hbWUsICctJyk7CisrICAgICAgICAgc2VwID0gKGNoYXIgKikgc3RyY2hyKGVudHJ5LT5k X25hbWUsICctJyk7CisgICAgICAgICAgaWYgKHNlcCA9PSBOVUxMKSB7CisgICAgICAgICAgICAg Y29udGludWU7IC8vIFRoZSBmaWxlIG5hbWUgZG9lcyBOT1QgaW4gYDEyMzRhYmNkLWFiY2QxMjM0 YCBmb3JtYXQKKyAgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUt MjQ5MTU2OTUvbGliL21pc2MvbWFjaGluZUlELmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkx NTY5NS9saWIvbWlzYy9tYWNoaW5lSUQuYworaW5kZXggN2MyOWExYy4uMWUwNGE5YyAxMDA2NDQK Ky0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL21hY2hpbmVJRC5j CisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9tYWNoaW5lSUQu YworQEAgLTg4LDcgKzg4LDcgQEAgRmluZFdpbmRvd3NBZGFwdGVyKElQX0FEQVBURVJfSU5GTyAq aGVhZCwgIC8vIElOOgorICAgICAgICAgICAgICAoKmFkYXB0ZXJJbmZvLT5EZXNjcmlwdGlvbiA9 PSAnXDAnKSkgeworICAgICAgICAgICAgIHRha2VJdCA9IFRSVUU7CisgICAgICAgICAgfSBlbHNl IHsKKy0gICAgICAgICAgICBjaGFyICpwID0gc3Ryc3RyKGFkYXB0ZXJJbmZvLT5EZXNjcmlwdGlv biwgcGF0dGVybik7CisrICAgICAgICAgICAgY2hhciAqcCA9IChjaGFyICopIHN0cnN0cihhZGFw dGVySW5mby0+RGVzY3JpcHRpb24sIHBhdHRlcm4pOworIAorICAgICAgICAgICAgIGlmICgoKHAg IT0gTlVMTCkgJiYgZmluZFBhdHRlcm4pIHx8CisgICAgICAgICAgICAgICAgICgocCA9PSBOVUxM KSAmJiAhZmluZFBhdHRlcm4pKSB7CitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUt MjQ5MTU2OTUvbGliL21pc2Mvc3RydXRpbC5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvbGliL21pc2Mvc3RydXRpbC5jCitpbmRleCA0ZmM2NTAyLi44ZDY0ZDI3IDEwMDY0NAorLS0t IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL21pc2Mvc3RydXRpbC5jCisrKysg Yi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9zdHJ1dGlsLmMKK0BAIC0x NDY3LDcgKzE0NjcsNyBAQCBTdHJVdGlsX1JlcGxhY2VBbGwoY29uc3QgY2hhciAqb3JpZywgLy8g SU4KKyAgICAgbGVuV2l0aCA9IHN0cmxlbih3aXRoKTsKKyAKKyAgICAgY3VycmVudCA9IG9yaWc7 CistICAgIHdoaWxlICgodG1wID0gc3Ryc3RyKGN1cnJlbnQsIHdoYXQpKSAhPSBOVUxMKSB7Cisr ICAgIHdoaWxlICgodG1wID0gKGNoYXIgKikgc3Ryc3RyKGN1cnJlbnQsIHdoYXQpKSAhPSBOVUxM KSB7CisgICAgICAgIGN1cnJlbnQgPSB0bXAgKyBsZW5XaGF0OworICAgICAgICArK29jY3VycmVu Y2VzOworICAgICB9CitAQCAtMTYyMCw3ICsxNjIwLDcgQEAgU3RyVXRpbF9HZXROZXh0SXRlbShj aGFyICoqbGlzdCwgLy8gSU4vT1VUOgorICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAKKy0g ICBmb3VuZERlbGltID0gc3RyY2hyKCpsaXN0LCBkZWxpbSk7CisrICAgZm91bmREZWxpbSA9IChj aGFyICopIHN0cmNocigqbGlzdCwgZGVsaW0pOworICAgIGlmIChmb3VuZERlbGltICE9IE5VTEwp IHsKKyAgICAgICBmb3VuZERlbGltWzBdID0gJ1wwJzsKKyAgICAgICAqbGlzdCA9IGZvdW5kRGVs aW0gKyAxOworQEAgLTE2NjAsNyArMTY2MCw3IEBAIFN0clV0aWxfR2V0TGFzdEl0ZW0oY2hhciAq Kmxpc3QsIC8vIElOL09VVDoKKyAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgCistICAgZm91 bmREZWxpbSA9IHN0cnJjaHIoKmxpc3QsIGRlbGltKTsKKysgICBmb3VuZERlbGltID0gKGNoYXIg Kikgc3RycmNocigqbGlzdCwgZGVsaW0pOworICAgIGlmIChmb3VuZERlbGltICE9IE5VTEwpIHsK KyAgICAgICBmb3VuZERlbGltWzBdID0gJ1wwJzsKKyAgICAgICB0b2tlbiA9IGZvdW5kRGVsaW0g KyAxOworQEAgLTE3MDUsNyArMTcwNSw3IEBAIFN0clV0aWxIYXNMaXN0SXRlbShjaGFyIGNvbnN0 ICpsaXN0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJTjoKKyAgICBkbyB7Cisg ICAgICAgaW50IHRva2VuTGVuOworIAorLSAgICAgIGZvdW5kRGVsaW0gPSBzdHJjaHIobGlzdCwg ZGVsaW0pOworKyAgICAgIGZvdW5kRGVsaW0gPSAoY2hhciAqKSBzdHJjaHIobGlzdCwgZGVsaW0p OworICAgICAgIGlmIChmb3VuZERlbGltID09IE5VTEwpIHsgLy8gZWl0aGVyIHNpbmdsZSBvciBs YXN0IGVsZW1lbnQKKyAgICAgICAgICB0b2tlbkxlbiA9IHN0cmxlbihsaXN0KTsKKyAgICAgICB9 IGVsc2UgeyAvLyAhIGxhc3QgZWxlbWVudAorZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMu MC41LTI0OTE1Njk1L2xpYi9uaWNJbmZvL25pY0luZm9Qb3NpeC5jIGIvb3Blbi12bS10b29scy0x My4wLjUtMjQ5MTU2OTUvbGliL25pY0luZm8vbmljSW5mb1Bvc2l4LmMKK2luZGV4IDAxMzVlNmEu LmFhYWY3NWEgMTAwNjQ0CistLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIv bmljSW5mby9uaWNJbmZvUG9zaXguYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvbGliL25pY0luZm8vbmljSW5mb1Bvc2l4LmMKK0BAIC0yNjYsNyArMjY2LDcgQEAgSXBFbnRy eU1hdGNoZXNEZXZpY2UoY29uc3QgY2hhciAqZGV2TmFtZSwKKyAgICBjaGFyICpwOworICAgIHNp emVfdCBuOworIAorLSAgIGlmICgocCA9IHN0cmNocihsYWJlbCwgJzonKSkgIT0gTlVMTCkgewor KyAgIGlmICgocCA9IChjaGFyICopIHN0cmNocihsYWJlbCwgJzonKSkgIT0gTlVMTCkgeworICAg ICAgIG4gPSBwIC0gbGFiZWw7CisgICAgfSBlbHNlIHsKKyAgICAgICBuID0gc3RybGVuKGxhYmVs KTsKK2RpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvcHJvY01n ci9wcm9jTWdyUG9zaXguYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9wcm9j TWdyL3Byb2NNZ3JQb3NpeC5jCitpbmRleCA5NDk2ZTIxLi5mMTc0YzY0IDEwMDY0NAorLS0tIGEv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL3Byb2NNZ3IvcHJvY01nclBvc2l4LmMK KysrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9wcm9jTWdyL3Byb2NNZ3JQ b3NpeC5jCitAQCAtNjI2LDcgKzYyNiw3IEBAIFByb2NNZ3JfTGlzdFByb2Nlc3Nlcyh2b2lkKQor ICAgICAgICAgICAgICAgICAgICAqICAgZ2RtLXNlc3Npb24td29ya2VyIFtwYW0vZ2RtLWF1dG9s b2dpbl0KKyAgICAgICAgICAgICAgICAgICAgKgorICAgICAgICAgICAgICAgICAgICAqLworLSAg ICAgICAgICAgICAgICAgIGNoYXIgKmNtZE5hbWVCZWdpbiA9IHN0cnJjaHIoY21kTGluZVRlbXAs ICcvJyk7CisrICAgICAgICAgICAgICAgICAgY2hhciAqY21kTmFtZUJlZ2luID0gKGNoYXIgKikg c3RycmNocihjbWRMaW5lVGVtcCwgJy8nKTsKKyAgICAgICAgICAgICAgICAgICBpZiAoTlVMTCAh PSBjbWROYW1lQmVnaW4gJiYgY21kTGluZVRlbXBbMF0gPT0gJy8nKSB7CisgICAgICAgICAgICAg ICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgKiBTa2lwIG92ZXIgdGhlIGxhc3Qg c2VwYXJhdG9yLgorQEAgLTc2NCw3ICs3NjQsNyBAQCBQcm9jTWdyX0xpc3RQcm9jZXNzZXModm9p ZCkKKyAgICAgICAvKgorICAgICAgICAqIFNraXAgb3ZlciBpbml0aWFsIHByb2Nlc3MgaWQgYW5k IHByb2Nlc3MgbmFtZS4gICIxMjMgKGJhc2gpIFsuLi5dIi4KKyAgICAgICAgKi8KKy0gICAgICBz dHJpbmdCZWdpbiA9IHN0cmNocihjbWRTdGF0VGVtcCwgJyknKSArIDI7CisrICAgICAgc3RyaW5n QmVnaW4gPSAoY2hhciAqKSBzdHJjaHIoY21kU3RhdFRlbXAsICcpJykgKyAyOworIAorICAgICAg IG51bWJlckZvdW5kID0gc3NjYW5mKHN0cmluZ0JlZ2luLCAiJWMgJWQgJWQgJWQgJWQgJWQgIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlbHUgJWx1ICVsdSAlbHUgJWx1ICVMdSAlTHUg JUx1ICVMdSAlbGQgJWxkICIKK0BAIC05OTAsNyArOTkwLDcgQEAgUHJvY01ncl9MaXN0UHJvY2Vz c2VzKHZvaWQpCisgICAgICAgICAgICAgICAgICogRmluZCB0aGUgbGFzdCBwYXRoIHNlcGFyYXRv ciwgdG8gZ2V0IHRoZSBjbWQgbmFtZS4KKyAgICAgICAgICAgICAgICAgKiBJZiBubyBzZXBhcmF0 b3IgaXMgZm91bmQsIHRoZW4gdXNlIHRoZSB3aG9sZSBuYW1lLgorICAgICAgICAgICAgICAgICAq LworLSAgICAgICAgICAgICAgIGNtZE5hbWVCZWdpbiA9IHN0cnJjaHIoKmNtZExpbmVUZW1wLCAn LycpOworKyAgICAgICAgICAgICAgIGNtZE5hbWVCZWdpbiA9IChjaGFyICopIHN0cnJjaHIoKmNt ZExpbmVUZW1wLCAnLycpOworICAgICAgICAgICAgICAgIGlmIChOVUxMID09IGNtZE5hbWVCZWdp bikgeworICAgICAgICAgICAgICAgICAgIGNtZE5hbWVCZWdpbiA9ICpjbWRMaW5lVGVtcDsKKyAg ICAgICAgICAgICAgICB9IGVsc2UgeworQEAgLTEyMTksNyArMTIxOSw3IEBAIFByb2NNZ3JHZXRD b21tYW5kTGluZUFyZ3MobG9uZyBwaWQsICAgICAgICAgICAgICAgLy8gSU46ICBwcm9jZXNzIGlk CisgICAgICAgICAgICAgICogRmluZCB0aGUgbGFzdCBwYXRoIHNlcGFyYXRvciwgdG8gZ2V0IHRo ZSBjbWQgbmFtZS4KKyAgICAgICAgICAgICAgKiBJZiBubyBzZXBhcmF0b3IgaXMgZm91bmQsIHRo ZW4gdXNlIHRoZSB3aG9sZSBuYW1lLgorICAgICAgICAgICAgICAqLworLSAgICAgICAgICAgIGNt ZE5hbWVCZWdpbiA9IHN0cnJjaHIoY21kTGluZVRlbXAsICcvJyk7CisrICAgICAgICAgICAgY21k TmFtZUJlZ2luID0gKGNoYXIgKikgc3RycmNocihjbWRMaW5lVGVtcCwgJy8nKTsKKyAgICAgICAg ICAgICBpZiAoTlVMTCA9PSBjbWROYW1lQmVnaW4pIHsKKyAgICAgICAgICAgICAgICBjbWROYW1l QmVnaW4gPSBjbWRMaW5lVGVtcDsKKyAgICAgICAgICAgICB9IGVsc2UgeworZGlmZiAtLWdpdCBh L29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9wcm9jTWdyL3Byb2NNZ3JTb2xhcmlz LmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvcHJvY01nci9wcm9jTWdyU29s YXJpcy5jCitpbmRleCBlZGU1MmQ2Li44ZTAxNjA2IDEwMDY0NAorLS0tIGEvb3Blbi12bS10b29s cy0xMy4wLjUtMjQ5MTU2OTUvbGliL3Byb2NNZ3IvcHJvY01nclNvbGFyaXMuYworKysrIGIvb3Bl bi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL3Byb2NNZ3IvcHJvY01nclNvbGFyaXMuYwor QEAgLTM1Nyw3ICszNTcsNyBAQCBFeHRyYWN0Q29tbWFuZExpbmVGcm9tQWRkcmVzc1NwYWNlRmls ZShwc2luZm9fdCAqcHJvY0luZm8sIC8vSU46IHBzaW5mbyBzdHJ1Y3QKKyAgICAgICAgICAgICAg KiBGaW5kIHRoZSBsYXN0IHBhdGggc2VwYXJhdG9yLCB0byBnZXQgdGhlIGNtZCBuYW1lLgorICAg ICAgICAgICAgICAqIElmIG5vIHNlcGFyYXRvciBpcyBmb3VuZCwgdGhlbiB1c2UgdGhlIHdob2xl IG5hbWUuCisgICAgICAgICAgICAgICovCistICAgICAgICAgICAgY21kTmFtZUJlZ2luID0gc3Ry cmNocihidWYsICcvJyk7CisrICAgICAgICAgICAgY21kTmFtZUJlZ2luID0gKGNoYXIgKikgc3Ry cmNocihidWYsICcvJyk7CisgICAgICAgICAgICAgaWYgKE5VTEwgPT0gY21kTmFtZUJlZ2luKSB7 CisgICAgICAgICAgICAgICAgY21kTmFtZUJlZ2luID0gYnVmOworICAgICAgICAgICAgIH0gZWxz ZSB7CitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL3JwY0No YW5uZWwvZ2xpYl9zdHVicy5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL3Jw Y0NoYW5uZWwvZ2xpYl9zdHVicy5jCitpbmRleCBjMzJkZWIwLi5lZGIzZmM0IDEwMDY0NAorLS0t IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL3JwY0NoYW5uZWwvZ2xpYl9zdHVi cy5jCisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvcnBjQ2hhbm5lbC9n bGliX3N0dWJzLmMKK0BAIC0zMiw2ICszMiw5IEBACisgI2lmICFkZWZpbmVkKFVTRV9SUENJX09O TFkpCisgI2Vycm9yICJUaGlzIGZpbGUgc2hvdWxkIGJlIGNvbXBpbGVkIGZvciBSUENJLW9ubHkg Y2hhbm5lbCEiCisgI2VuZGlmCisrI2lmIGRlZmluZWQoZ19mcmVlKQorKyN1bmRlZiBnX2ZyZWUK KysjZW5kaWYKKyAKKyB2b2lkICpnX21hbGxvYzAoc2l6ZV90IHMpIHsgcmV0dXJuIFV0aWxfU2Fm ZUNhbGxvYygxLCBzKTsgfQorIHZvaWQgKmdfbWFsbG9jMF9uKHNpemVfdCBuLCBzaXplX3Qgcykg eyByZXR1cm4gVXRpbF9TYWZlQ2FsbG9jKG4sIHMpOyB9CitkaWZmIC0tZ2l0IGEvb3Blbi12bS10 b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL3VzZXIvdXRpbC5jIGIvb3Blbi12bS10b29scy0xMy4w LjUtMjQ5MTU2OTUvbGliL3VzZXIvdXRpbC5jCitpbmRleCBiYmQyOWM1Li5kZDEwM2JhIDEwMDY0 NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL3VzZXIvdXRpbC5jCisr KysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvdXNlci91dGlsLmMKK0BAIC04 NTcsNyArODU3LDcgQEAgVXRpbF9EZXJpdmVGaWxlTmFtZShjb25zdCBjaGFyICpzb3VyY2UsIC8v IElOOiBwYXRoIHRvIGRpY3QgZmlsZSAoaW5jbCBmaWxlbmFtZSkKKyAKKyAgICAvKiBzdHJpcCBv ZmYgdGhlIGV4aXN0aW5nIGZpbGUgZXh0ZW5zaW9uLCBpZiBwcmVzZW50ICovCisgICAgeworLSAg ICAgIGNoYXIgKnAgPSBTdHJfU3RycmNocihiYXNlLCAnLicpOworKyAgICAgIGNoYXIgKnAgPSAo Y2hhciAqKSBTdHJfU3RycmNocihiYXNlLCAnLicpOworICAgICAgIGlmIChwICE9IE5VTEwpIHsK KyAJICpwID0gJ1wwJzsKKyAgICAgICB9CitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4w LjUtMjQ5MTU2OTUvbGliZ3Vlc3RTdG9yZUNsaWVudC9ndWVzdFN0b3JlQ2xpZW50TGliLmMgYi9v cGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWJndWVzdFN0b3JlQ2xpZW50L2d1ZXN0U3Rv cmVDbGllbnRMaWIuYworaW5kZXggOWY3NGU4NC4uZGMyNDhjOCAxMDA2NDQKKy0tLSBhL29wZW4t dm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYmd1ZXN0U3RvcmVDbGllbnQvZ3Vlc3RTdG9yZUNs aWVudExpYi5jCisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWJndWVzdFN0 b3JlQ2xpZW50L2d1ZXN0U3RvcmVDbGllbnRMaWIuYworQEAgLTczNSw3ICs3MzUsNyBAQCBHdWVz dFN0b3JlUmVjdkhUVFBSZXNwb25zZUhlYWRlcihDYWxsQ3R4ICpjdHgpICAvLyBJTgorIAorICAg ICAgIHRvdGFsQnl0ZXNSZWNlaXZlZCArPSBieXRlc1JlY2VpdmVkOworICAgICAgIGN0eC0+YnVm W3RvdGFsQnl0ZXNSZWNlaXZlZF0gPSAnXDAnOworLSAgICAgIGh0dHBIZWFkZXJFbmQgPSBzdHJz dHIoY3R4LT5idWYsIEhUVFBfSEVBREVSX0VORCk7CisrICAgICAgaHR0cEhlYWRlckVuZCA9IChj aGFyICopIHN0cnN0cihjdHgtPmJ1ZiwgSFRUUF9IRUFERVJfRU5EKTsKKyAgICAgICBpZiAoaHR0 cEhlYWRlckVuZCAhPSBOVUxMKSB7CisgICAgICAgICAgKmh0dHBIZWFkZXJFbmQgPSAnXDAnOwor ICAgICAgICAgIGJyZWFrOworQEAgLTc3Niw3ICs3NzYsNyBAQCBHdWVzdFN0b3JlUmVjdkhUVFBS ZXNwb25zZUhlYWRlcihDYWxsQ3R4ICpjdHgpICAvLyBJTgorICAgICAgIHJldHVybiBHU0xJQkVS Ul9TRVJWRVI7CisgICAgfQorIAorLSAgIGNvbnRlbnRMZW5ndGhIZWFkZXIgPSBzdHJzdHIoaHR0 cFN0YXR1cyArIHN0cmxlbihodHRwU3RhdHVzKSArIDEsCisrICAgY29udGVudExlbmd0aEhlYWRl ciA9IChjaGFyICopIHN0cnN0cihodHRwU3RhdHVzICsgc3RybGVuKGh0dHBTdGF0dXMpICsgMSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTlRFTlRfTEVOR1RIX0hFQURFUik7 CisgICAgaWYgKE5VTEwgPT0gY29udGVudExlbmd0aEhlYWRlcikgeworICAgICAgIExPR19FUlIo Y3R4LCAiUHJvdG9jb2wgY29udGVudCBsZW5ndGggbm90IGZvdW5kLiIpOworZGlmZiAtLWdpdCBh L29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYnZtdG9vbHMvaTE4bi5jIGIvb3Blbi12 bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGlidm10b29scy9pMThuLmMKK2luZGV4IDMwODVmNzIu LmQ2YzhlYWUgMTAwNjQ0CistLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWJ2 bXRvb2xzL2kxOG4uYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGlidm10 b29scy9pMThuLmMKK0BAIC0yNDAsNyArMjQwLDcgQEAgTXNnR2V0VXNlckxhbmd1YWdlKHZvaWQp CisgICAgICAgY2hhciAqZG90OworIAorICAgICAgIGxhbmcgPSBnX3N0cmR1cCh0bXApOworLSAg ICAgIGRvdCA9IHN0cmNocihsYW5nLCAnLicpOworKyAgICAgIGRvdCA9IChjaGFyICopIHN0cmNo cihsYW5nLCAnLicpOworICAgICAgIGlmIChkb3QgIT0gTlVMTCkgeworICAgICAgICAgICpkb3Qg PSAnXDAnOworICAgICAgIH0KK0BAIC02OTgsNyArNjk4LDcgQEAgVk1Ub29sc19CaW5kVGV4dERv bWFpbihjb25zdCBjaGFyICpkb21haW4sCisgICAgICAgICogSWYgd2UgY291bGRuJ3QgZmluZCB0 aGUgY2F0YWxvZyBmaWxlIGZvciB0aGUgdXNlcidzIGxhbmd1YWdlLCBzZWUgaWYKKyAgICAgICAg KiB3ZSBjYW4gZmluZCBhIG1vcmUgZ2VuZXJpYyBsYW5ndWFnZSAoZS5nLiwgZm9yICJlbl9VUyIs IGFsc28gdHJ5ICJlbiIpLgorICAgICAgICAqLworLSAgICAgIGNoYXIgKnNlcCA9IFN0cl9TdHJy Y2hyKGxhbmcsICdfJyk7CisrICAgICAgY2hhciAqc2VwID0gKGNoYXIgKikgU3RyX1N0cnJjaHIo bGFuZywgJ18nKTsKKyAgICAgICBpZiAoc2VwICE9IE5VTEwpIHsKKyAgICAgICAgICBpZiAodXNy bGFuZyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgdXNybGFuZyA9IFV0aWxfU2FmZVN0cmR1cChs YW5nKTsKK2RpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9tb2R1bGVz L3NvbGFyaXMvdm1oZ2ZzL3Zub2RlLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9t b2R1bGVzL3NvbGFyaXMvdm1oZ2ZzL3Zub2RlLmMKK2luZGV4IDUzZGQ1NDkuLmRmMmUxZjIgMTAw NjQ0CistLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9tb2R1bGVzL3NvbGFyaXMv dm1oZ2ZzL3Zub2RlLmMKKysrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L21vZHVs ZXMvc29sYXJpcy92bWhnZnMvdm5vZGUuYworQEAgLTU0MjEsNyArNTQyMSw3IEBAIEhnZnNNYWtl RnVsbE5hbWUoY29uc3QgY2hhciAqcGF0aCwgICAgICAvLyBJTjogIFBhdGggb2YgZGlyZWN0b3J5 IGNvbnRhaW5pbmcgZmlsCisgICAgICAgICogUmVwbGFjZSB0aGUgbGFzdCBwYXRoIHNlcGFyYXRv ciB3aXRoIGEgTlVMIHRlcm1pbmF0b3IsIHRoZW4gcmV0dXJuIHRoZQorICAgICAgICAqIHNpemUg b2YgdGhlIGJ1ZmZlci4KKyAgICAgICAgKi8KKy0gICAgICBjaGFyICpuZXdFbmQgPSBzdHJyY2hy KG91dEJ1ZiwgJy8nKTsKKysgICAgICBjaGFyICpuZXdFbmQgPSAoY2hhciAqKSBzdHJyY2hyKG91 dEJ1ZiwgJy8nKTsKKyAgICAgICBpZiAoIW5ld0VuZCkgeworICAgICAgICAgIC8qCisgICAgICAg ICAgICogV2Ugc2hvdWxkIG5ldmVyIGdldCBoZXJlIHNpbmNlIHdlIG5hbWUgdGhlIHJvb3Qgdm5v ZGUgIi8iIGluCitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2Vy dmljZXMvcGx1Z2lucy9jb21wb25lbnRNZ3IvY29tcG9uZW50TWdySW5zdGFsbEFjdGlvbi5jIGIv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9jb21wb25lbnRN Z3IvY29tcG9uZW50TWdySW5zdGFsbEFjdGlvbi5jCitpbmRleCBlMDUxZjQxLi45ZGRiMjM5IDEw MDY0NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lu cy9jb21wb25lbnRNZ3IvY29tcG9uZW50TWdySW5zdGFsbEFjdGlvbi5jCisrKysgYi9vcGVuLXZt LXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2NvbXBvbmVudE1nci9jb21w b25lbnRNZ3JJbnN0YWxsQWN0aW9uLmMKK0BAIC00NzYsNyArNDc2LDcgQEAgQ29tcG9uZW50TWdy Q29uc3RydWN0Q29tbWFuZGxpbmUoZ2NoYXIgKnNjcmlwdFBhdGgsICAgICAgICAgICAgLy8gSU4K KyAgICB9CisgCisgICAgaWYgKGN1c3RvbUFyZ3VtZW50cyAhPSBOVUxMKSB7CistICAgICAgbWFu ZGF0b3J5UGFyYW1zRXhpc3RzID0gc3Ryc3RyKGN1c3RvbUFyZ3VtZW50cywgbWFuZGF0b3J5UGFy YW1zKTsKKysgICAgICBtYW5kYXRvcnlQYXJhbXNFeGlzdHMgPSAoY2hhciAqKSBzdHJzdHIoY3Vz dG9tQXJndW1lbnRzLCBtYW5kYXRvcnlQYXJhbXMpOworICAgICAgIGlmIChtYW5kYXRvcnlQYXJh bXNFeGlzdHMgPT0gTlVMTCkgeworICAgICAgICAgIGNvbW1hbmRsaW5lID0gU3RyX1NhZmVBc3By aW50ZihOVUxMLCAiXCIlcyVzXCIgJXMgXCIlc1wiICVzICVzICVzIiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzRGlyLCBwb3dlcnNoZWxsRXhlY3V0YWJsZSwK K0BAIC01MDQsNyArNTA0LDcgQEAgQ29tcG9uZW50TWdyQ29uc3RydWN0Q29tbWFuZGxpbmUoZ2No YXIgKnNjcmlwdFBhdGgsICAgICAgICAgICAgLy8gSU4KKyAgICBmcmVlKHN5c0Rpcik7CisgI2Vs c2UKKyAgICBpZiAoY3VzdG9tQXJndW1lbnRzICE9IE5VTEwpIHsKKy0gICAgICBtYW5kYXRvcnlQ YXJhbXNFeGlzdHMgPSBzdHJzdHIoY3VzdG9tQXJndW1lbnRzLCBtYW5kYXRvcnlQYXJhbXMpOwor KyAgICAgIG1hbmRhdG9yeVBhcmFtc0V4aXN0cyA9IChjaGFyICopIHN0cnN0cihjdXN0b21Bcmd1 bWVudHMsIG1hbmRhdG9yeVBhcmFtcyk7CisgICAgICAgaWYgKG1hbmRhdG9yeVBhcmFtc0V4aXN0 cyA9PSBOVUxMKSB7CisgICAgICAgICAgY29tbWFuZGxpbmUgPSBTdHJfU2FmZUFzcHJpbnRmKE5V TEwsICIlcyAlcyAlcyAlcyIsIHNjcmlwdFBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRlZmF1bHRBcmd1bWVudHMsIGN1c3RvbUFyZ3VtZW50cywKK2RpZmYg LS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2Ru ZGNwL2NvcHlQYXN0ZVVJWDExLmNwcCBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3Nl cnZpY2VzL3BsdWdpbnMvZG5kY3AvY29weVBhc3RlVUlYMTEuY3BwCitpbmRleCBhNGEwMmM1Li5l ZjQ3Yjc2IDEwMDY0NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2Vydmlj ZXMvcGx1Z2lucy9kbmRjcC9jb3B5UGFzdGVVSVgxMS5jcHAKKysrKyBiL29wZW4tdm0tdG9vbHMt MTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvY29weVBhc3RlVUlYMTEuY3Bw CitAQCAtMTA0MCw3ICsxMDQwLDcgQEAgQ29weVBhc3RlVUlYMTE6OkxvY2FsR2V0U2VsZWN0aW9u RmlsZUxpc3QoY29uc3QgR3RrOjpTZWxlY3Rpb25EYXRhJiBzZCkgICAgICAvLworICAgICAgIC8q CisgICAgICAgICogUGFyc2UgcmVsYXRpdmUgcGF0aC4KKyAgICAgICAgKi8KKy0gICAgICBuZXdS ZWxQYXRoID0gU3RyX1N0cnJjaHIobmV3UGF0aCwgRElSU0VQQykgKyAxOyAvLyBQb2ludCB0byBj aGFyIGFmdGVyICcvJworKyAgICAgIG5ld1JlbFBhdGggPSAoY2hhciAqKSBTdHJfU3RycmNocihu ZXdQYXRoLCBESVJTRVBDKSArIDE7IC8vIFBvaW50IHRvIGNoYXIgYWZ0ZXIgJy8nCisgCisgICAg ICAgLyogS2VlcCB0cmFjayBvZiBob3cgYmlnIHRoZSBmY3AgZmlsZXMgYXJlLiAqLworICAgICAg IGlmICgoc2l6ZSA9IEZpbGVfR2V0U2l6ZUV4KG5ld1BhdGgpKSA+PSAwKSB7CitkaWZmIC0tZ2l0 IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9k bmQvZG5kWGRnLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVn aW5zL2RuZGNwL2RuZC9kbmRYZGcuYworaW5kZXggZGE1NGVlNS4uOGY0OTBmNiAxMDA2NDQKKy0t LSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3Av ZG5kL2RuZFhkZy5jCisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNl cy9wbHVnaW5zL2RuZGNwL2RuZC9kbmRYZGcuYworQEAgLTQyOCw3ICs0MjgsNyBAQCBDcmVhdGVT dGFnaW5nRGlyZWN0b3J5KAorICAgICAgIGNoYXIgKnJlYWxTdGFnaW5nRGlyID0gU3RyX1NhZmVB c3ByaW50ZihOVUxMLCAiJXNYWFhYWFgiLCByZWFsUm9vdCk7CisgCisgICAgICAgaWYgKG1rZHRl bXAocmVhbFN0YWdpbmdEaXIpICE9IE5VTEwpIHsKKy0gICAgICAgICBjaGFyICpyYW5kb21QYXJ0 ID0gc3RycmNocihyZWFsU3RhZ2luZ0RpciwgJy8nKSArIDE7CisrICAgICAgICAgY2hhciAqcmFu ZG9tUGFydCA9IChjaGFyICopIHN0cnJjaHIocmVhbFN0YWdpbmdEaXIsICcvJykgKyAxOworICAg ICAgICAgIFZFUklGWSgqcmFuZG9tUGFydCAhPSAnXDAnKTsKKyAKKyAgICAgICAgICBhcHBhcmVu dFN0YWdpbmdEaXIgPSBVbmljb2RlX0FwcGVuZChhcHBhcmVudFJvb3QsIHJhbmRvbVBhcnQpOwor ZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdp bnMvZG5kY3AvZG5kR3Vlc3QvZ3Vlc3RDb3B5UGFzdGVTcmMuY2MgYi9vcGVuLXZtLXRvb2xzLTEz LjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZEd1ZXN0L2d1ZXN0Q29weVBh c3RlU3JjLmNjCitpbmRleCA0MmIxNGE3Li4wMzAzNjI1IDEwMDY0NAorLS0tIGEvb3Blbi12bS10 b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdC9ndWVz dENvcHlQYXN0ZVNyYy5jYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2Vy dmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdC9ndWVzdENvcHlQYXN0ZVNyYy5jYworQEAgLTE5 OCw3ICsxOTgsNyBAQCBHdWVzdENvcHlQYXN0ZVNyYzo6U2V0dXBEZXN0RGlyKGNvbnN0IHN0ZDo6 c3RyaW5nICZkZXN0RGlyKQorICAgICAgIGlmIChuZXdEaXIgIT0gTlVMTCkgeworICAgICAgICAg IG1TdGFnaW5nRGlyID0gbmV3RGlyOworIAorLSAgICAgICAgIGNoYXIgKmxhc3RTZXAgPSBTdHJf U3RycmNocihuZXdEaXIsIERJUlNFUEMpOworKyAgICAgICAgIGNoYXIgKmxhc3RTZXAgPSAoY2hh ciAqKSBTdHJfU3RycmNocihuZXdEaXIsIERJUlNFUEMpOworICAgICAgICAgIGlmIChsYXN0U2Vw ICYmIGxhc3RTZXBbMV0gIT0gJ1wwJykgeworICAgICAgICAgICAgIG1TdGFnaW5nRGlyICs9IERJ UlNFUFM7CisgICAgICAgICAgfQorZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0 OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvZG5kR3Vlc3Qvdm1HdWVzdERuRFNyYy5jYyBi L29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvZG5k R3Vlc3Qvdm1HdWVzdERuRFNyYy5jYworaW5kZXggMTFjOWZkNS4uMmYzNjZjNyAxMDA2NDQKKy0t LSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3Av ZG5kR3Vlc3Qvdm1HdWVzdERuRFNyYy5jYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5 MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdC92bUd1ZXN0RG5EU3JjLmNjCitA QCAtNzAsNyArNzAsNyBAQCBWTUd1ZXN0RG5EU3JjOjpTZXR1cERlc3REaXIoY29uc3Qgc3RkOjpz dHJpbmcgJmRlc3REaXIpCisgICAgICAgaWYgKG5ld0RpciAhPSBOVUxMKSB7CisgICAgICAgICAg bVN0YWdpbmdEaXIgPSBuZXdEaXI7CisgCistICAgICAgICAgY2hhciAqbGFzdFNlcCA9IFN0cl9T dHJyY2hyKG5ld0RpciwgRElSU0VQQyk7CisrICAgICAgICAgY2hhciAqbGFzdFNlcCA9IChjaGFy ICopIFN0cl9TdHJyY2hyKG5ld0RpciwgRElSU0VQQyk7CisgICAgICAgICAgaWYgKGxhc3RTZXAg JiYgbGFzdFNlcFsxXSAhPSAnXDAnKSB7CisgICAgICAgICAgICAgbVN0YWdpbmdEaXIgKz0gRElS U0VQUzsKKyAgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5 MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRVSVgxMS5jcHAgYi9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZFVJWDExLmNwcAoraW5k ZXggZTA4NGRjNC4uODNjMmM2MCAxMDA2NDQKKy0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0 OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvZG5kVUlYMTEuY3BwCisrKysgYi9vcGVuLXZt LXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZFVJWDExLmNw cAorQEAgLTE0OTEsNyArMTQ5MSw3IEBAIERuRFVJWDExOjpTZXRDUENsaXBib2FyZEZyb21HdGso Y29uc3QgR3RrOjpTZWxlY3Rpb25EYXRhJiBzZCkgLy8gSU4KKyAgICAgICAgICAvKgorICAgICAg ICAgICAqIFBhcnNlIHJlbGF0aXZlIHBhdGguCisgICAgICAgICAgICovCistICAgICAgICAgbmV3 UmVsUGF0aCA9IFN0cl9TdHJyY2hyKG5ld1BhdGgsIERJUlNFUEMpICsgMTsgLy8gUG9pbnQgdG8g Y2hhciBhZnRlciAnLycKKysgICAgICAgICBuZXdSZWxQYXRoID0gKGNoYXIgKikgU3RyX1N0cnJj aHIobmV3UGF0aCwgRElSU0VQQykgKyAxOyAvLyBQb2ludCB0byBjaGFyIGFmdGVyICcvJworIAor ICAgICAgICAgIC8qIEtlZXAgdHJhY2sgb2YgaG93IGJpZyB0aGUgZG5kIGZpbGVzIGFyZS4gKi8K KyAgICAgICAgICBpZiAoKHNpemUgPSBGaWxlX0dldFNpemVFeChuZXdQYXRoKSkgPj0gMCkgewor ZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdp bnMvZ3Vlc3RJbmZvL3BlcmZNb25MaW51eC5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvc2VydmljZXMvcGx1Z2lucy9ndWVzdEluZm8vcGVyZk1vbkxpbnV4LmMKK2luZGV4IDNjNTFm YWUuLjcyNDhiNmYgMTAwNjQ0CistLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9z ZXJ2aWNlcy9wbHVnaW5zL2d1ZXN0SW5mby9wZXJmTW9uTGludXguYworKysrIGIvb3Blbi12bS10 b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9ndWVzdEluZm8vcGVyZk1vbkxp bnV4LmMKK0BAIC00NzcsNyArNDc3LDcgQEAgR3Vlc3RJbmZvUHJvY0RhdGEoY29uc3QgY2hhciAq cGF0aE5hbWUsICAgICAgICAgICAvLyBJTjogcGF0aCBuYW1lCisgICAgICAgfQorIAorICAgICAg IGlmIChmaWVsZFNlcGFyYXRvciAhPSAnXDAnKSB7CistICAgICAgICAgY2hhciAqcCA9IHN0cnJj aHIoZmllbGROYW1lLCBmaWVsZFNlcGFyYXRvcik7CisrICAgICAgICAgY2hhciAqcCA9IChjaGFy ICopIHN0cnJjaHIoZmllbGROYW1lLCBmaWVsZFNlcGFyYXRvcik7CisgICAgICAgICAgaWYgKHAg PT0gTlVMTCkgeworICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICogV2hlbiBmaWVsZFNl cGFyYXRvciBpcyBzcGVjaWZpZWQsIGZpZWxkTmFtZSBpcyBleHBlY3RlZAorZGlmZiAtLWdpdCBh L29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvdml4L3ZpeFRv b2xzLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL3Zp eC92aXhUb29scy5jCitpbmRleCA2NTQ1MTJjLi42Yjk3MjMzIDEwMDY0NAorLS0tIGEvb3Blbi12 bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy92aXgvdml4VG9vbHMuYwor KysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy92aXgv dml4VG9vbHMuYworQEAgLTkzMyw3ICs5MzMsNyBAQCBWaXhUb29sc0J1aWxkVXNlckVudmlyb25t ZW50VGFibGUoY29uc3QgY2hhciAqIGNvbnN0ICplbnZwKSAgIC8vIElOOiBvcHRpb25hbAorICAg ICAgIGNoYXIgKndoZXJlVG9TcGxpdDsKKyAgICAgICBzaXplX3QgbmFtZUxlbjsKKyAKKy0gICAg ICB3aGVyZVRvU3BsaXQgPSBzdHJjaHIoKmVudnAsICc9Jyk7CisrICAgICAgd2hlcmVUb1NwbGl0 ID0gKGNoYXIgKikgc3RyY2hyKCplbnZwLCAnPScpOworICAgICAgIGlmIChOVUxMID09IHdoZXJl VG9TcGxpdCkgeworICAgICAgICAgIC8qIE91ciBjb2RlIGdlbmVyYXRlZCB0aGlzIGxpc3QsIHNv IHRoaXMgc2hvdWxkbid0IGhhcHBlbi4gKi8KKyAgICAgICAgICBBU1NFUlQoMCk7CitAQCAtMTQ5 OCw3ICsxNDk4LDcgQEAgVml4VG9vbHNSdW5Qcm9ncmFtSW1wbChjaGFyICpyZXF1ZXN0TmFtZSwg ICAgICAvLyBJTgorICAgIH0KKyAgICBpZiAoJ1wiJyA9PSAqc3RhcnRQcm9ncmFtRmlsZU5hbWUp IHsKKyAgICAgICBzdGFydFByb2dyYW1GaWxlTmFtZSsrOworLSAgICAgIHN0b3BQcm9ncmFtRmls ZU5hbWUgPSBzdHJzdHIoc3RhcnRQcm9ncmFtRmlsZU5hbWUsICJcIiIpOworKyAgICAgIHN0b3BQ cm9ncmFtRmlsZU5hbWUgPSAoY2hhciAqKSBzdHJzdHIoc3RhcnRQcm9ncmFtRmlsZU5hbWUsICJc IiIpOworICAgIH0gZWxzZSB7CisgICAgICAgc3RvcFByb2dyYW1GaWxlTmFtZSA9IE5VTEw7Cisg ICAgfQorQEAgLTE3MTYsNyArMTcxNiw3IEBAIFZpeFRvb2xzU3RhcnRQcm9ncmFtSW1wbChjb25z dCBjaGFyICpyZXF1ZXN0TmFtZSwgICAgICAgICAgICAvLyBJTgorICAgIH0KKyAgICBpZiAoJ1wi JyA9PSAqc3RhcnRQcm9ncmFtRmlsZU5hbWUpIHsKKyAgICAgICBzdGFydFByb2dyYW1GaWxlTmFt ZSsrOworLSAgICAgIHN0b3BQcm9ncmFtRmlsZU5hbWUgPSBzdHJzdHIoc3RhcnRQcm9ncmFtRmls ZU5hbWUsICJcIiIpOworKyAgICAgIHN0b3BQcm9ncmFtRmlsZU5hbWUgPSAoY2hhciAqKSBzdHJz dHIoc3RhcnRQcm9ncmFtRmlsZU5hbWUsICJcIiIpOworICAgIH0gZWxzZSB7CisgICAgICAgc3Rv cFByb2dyYW1GaWxlTmFtZSA9IE5VTEw7CisgICAgfQorQEAgLTQ1ODIsNyArNDU4Miw3IEBAIFZp eFRvb2xzR2V0QWxsRW52VmFyc0ZvclVzZXIodm9pZCAqdXNlclRva2VuLCAgICAgLy8gSU4KKyAg ICAgICAgICBjaGFyICp3aGVyZVRvU3BsaXQ7CisgICAgICAgICAgc2l6ZV90IG5hbWVMZW47Cisg CistICAgICAgICAgd2hlcmVUb1NwbGl0ID0gc3RyY2hyKGVudlZhciwgJz0nKTsKKysgICAgICAg ICB3aGVyZVRvU3BsaXQgPSAoY2hhciAqKSBzdHJjaHIoZW52VmFyLCAnPScpOworICAgICAgICAg IGlmIChOVUxMID09IHdoZXJlVG9TcGxpdCkgeworICAgICAgICAgICAgIC8qIE91ciBjb2RlIGdl bmVyYXRlZCB0aGlzIGxpc3QsIHNvIHRoaXMgc2hvdWxkbid0IGhhcHBlbi4gKi8KKyAgICAgICAg ICAgICBBU1NFUlQoMCk7CitkaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvdGVzdHMvdm1ycGNkYmcvZGVidWdDaGFubmVsLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS90ZXN0cy92bXJwY2RiZy9kZWJ1Z0NoYW5uZWwuYworaW5kZXggMzk5ZGVkZC4uZWI1 NWNmMiAxMDA2NDQKKy0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3Rlc3RzL3Zt cnBjZGJnL2RlYnVnQ2hhbm5lbC5jCisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5 NS90ZXN0cy92bXJwY2RiZy9kZWJ1Z0NoYW5uZWwuYworQEAgLTIyMiw3ICsyMjIsNyBAQCBScGNE ZWJ1Z1NlbmQoUnBjQ2hhbm5lbCAqY2hhbiwKKyAgICAgICAgICBBU1NFUlQobWFwcGluZy0+eGRy U2l6ZSA+IDApOworIAorICAgICAgICAgIC8qIEZpbmQgb3V0IHdoZXJlIHRoZSBYRFIgZGF0YSBz dGFydHMuICovCistICAgICAgICAgc3RhcnQgPSBzdHJjaHIoY29weSwgJyAnKTsKKysgICAgICAg ICBzdGFydCA9IChjaGFyICopIHN0cmNocihjb3B5LCAnICcpOworICAgICAgICAgIGlmIChzdGFy dCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgUnBjRGVidWdfU2V0UmVzdWx0KCJDYW4ndCBmaW5k IGNvbW1hbmQgZGVsaW1pdGVyLiIsIHJlc3VsdCwgcmVzdWx0TGVuKTsKKyAgICAgICAgICAgICBy ZXQgPSBGQUxTRTsKK2RpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS92 Z2F1dGgvY29tbW9uL2kxOG4uYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3ZnYXV0 aC9jb21tb24vaTE4bi5jCitpbmRleCA2ZDEyOTJkLi5iYTJjYTI4IDEwMDY0NAorLS0tIGEvb3Bl bi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvdmdhdXRoL2NvbW1vbi9pMThuLmMKKysrKyBiL29w ZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3ZnYXV0aC9jb21tb24vaTE4bi5jCitAQCAtNDg0 LDcgKzQ4NCw3IEBAIE1zZ0dldFVzZXJMYW5ndWFnZSh2b2lkKQorICAgICAgIGNoYXIgKmRvdDsK KyAKKyAgICAgICBsYW5nID0gZ19zdHJkdXAodG1wKTsKKy0gICAgICBkb3QgPSBzdHJjaHIobGFu ZywgJy4nKTsKKysgICAgICBkb3QgPSAoY2hhciAqKSBzdHJjaHIobGFuZywgJy4nKTsKKyAgICAg ICBpZiAoZG90ICE9IE5VTEwpIHsKKyAgICAgICAgICAqZG90ID0gJ1wwJzsKKyAgICAgICB9Citk aWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvdm1ibG9ja21vdW50ZXIv dm1ibG9ja21vdW50ZXIuYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3ZtYmxvY2tt b3VudGVyL3ZtYmxvY2ttb3VudGVyLmMKK2luZGV4IDQyOWIxMjQuLjYzYjViZWYgMTAwNjQ0Cist LS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS92bWJsb2NrbW91bnRlci92bWJsb2Nr bW91bnRlci5jCisrKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS92bWJsb2NrbW91 bnRlci92bWJsb2NrbW91bnRlci5jCitAQCAtMTQwLDcgKzE0MCw3IEBAIG1haW4oaW50IGFyZ2Ms ICAgICAgICAgIC8vIElOCisgICAgdGhpc1Byb2dyYW0gPSBhcmd2WzBdOworIAorICAgIC8qIENv bXB1dGUgdGhlIGJhc2UgbmFtZSBvZiB0aGUgcHJvZ3JhbSwgdG9vLiAqLworLSAgIHRoaXNQcm9n cmFtQmFzZSA9IHN0cnJjaHIodGhpc1Byb2dyYW0sICcvJyk7CisrICAgdGhpc1Byb2dyYW1CYXNl ID0gKGNoYXIgKikgc3RycmNocih0aGlzUHJvZ3JhbSwgJy8nKTsKKyAgICBpZiAodGhpc1Byb2dy YW1CYXNlICE9IE5VTEwpIHsKKyAgICAgICB0aGlzUHJvZ3JhbUJhc2UrKzsKKyAgICB9IGVsc2Ug eworZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3ZtaGdmcy1mdXNl L2NvbmZpZy5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvdm1oZ2ZzLWZ1c2UvY29u ZmlnLmMKK2luZGV4IDE5NTM1ZmQuLjNmNjhmZjYgMTAwNjQ0CistLS0gYS9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS92bWhnZnMtZnVzZS9jb25maWcuYworKysrIGIvb3Blbi12bS10b29s cy0xMy4wLjUtMjQ5MTU2OTUvdm1oZ2ZzLWZ1c2UvY29uZmlnLmMKK0BAIC0yNDgsNyArMjQ4LDcg QEAgU3lzQ29tcGF0SXNJbnN0YWxsZWRGdXNlKGNoYXIgKnV0c1JlbGVhc2UpICAvLyBJTjoga2Vy bmVsIHJlbGVhc2UKKyAgICB9CisgCisgICAgbW9kdWxlc0RlcERhdGFbbW9kdWxlc0RlcERhdGFT aXplXSA9ICdcMCc7CistICAgZnVzZUZpbGVzeXN0ZW0gPSBzdHJzdHIobW9kdWxlc0RlcERhdGEs CisrICAgZnVzZUZpbGVzeXN0ZW0gPSAoY2hhciAqKSBzdHJzdHIobW9kdWxlc0RlcERhdGEsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRlVTRVJfS0VSTkVMX0ZTKTsKKyAKKyAgICBpbnN0 YWxsZWRGdXNlID0gKGZ1c2VGaWxlc3lzdGVtICE9IE5VTEwpOworZGlmZiAtLWdpdCBhL29wZW4t dm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3hmZXJsb2dzL3hmZXJsb2dzLmMgYi9vcGVuLXZtLXRv b2xzLTEzLjAuNS0yNDkxNTY5NS94ZmVybG9ncy94ZmVybG9ncy5jCitpbmRleCBhMjlhMjVhLi43 ZmM4NjcxIDEwMDY0NAorLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUveGZlcmxv Z3MveGZlcmxvZ3MuYworKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUveGZlcmxv Z3MveGZlcmxvZ3MuYworQEAgLTIwOCw5ICsyMDgsOSBAQCBleHRyYWN0RmlsZShjaGFyICpmaWxl bmFtZSkgLy9JTjogdm14IGxvZyBmaWxlbmFtZSBlLmcuIHZtd2FyZS5sb2cKKyAgICAgICAgICAg ICAgKiByZWFkIHRoZSBpbnB1dCBmaWxlbmFtZSwgd2hpY2ggd2FzIHRoZSBmaWxlbmFtZSB3cml0 dGVuIGJ5IHRoZQorICAgICAgICAgICAgICAqIGd1ZXN0LgorICAgICAgICAgICAgICAqLworLSAg ICAgICAgICAgIGxvZ0lucEZpbGVuYW1lID0gc3Ryc3RyKGJ1ZiwgTE9HX1NUQVJUX01BUkspOwor KyAgICAgICAgICAgIGxvZ0lucEZpbGVuYW1lID0gKGNoYXIgKikgc3Ryc3RyKGJ1ZiwgTE9HX1NU QVJUX01BUkspOworICAgICAgICAgICAgIGxvZ0lucEZpbGVuYW1lICs9IHNpemVvZiBMT0dfU1RB UlRfTUFSSzsKKy0gICAgICAgICAgICBwdHJTdHIgPSBzdHJzdHIobG9nSW5wRmlsZW5hbWUsICI6 IHZlciAiKTsKKysgICAgICAgICAgICBwdHJTdHIgPSAoY2hhciAqKSBzdHJzdHIobG9nSW5wRmls ZW5hbWUsICI6IHZlciAiKTsKKyAgICAgICAgICAgICBpZiAocHRyU3RyID09IE5VTEwpIHsKKyAg ICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgc3RhcnQgbG9nIG1hcmsuIik7 CisgICAgICAgICAgICAgICAgYnJlYWs7CitAQCAtMjQzLDcgKzI0Myw3IEBAIGV4dHJhY3RGaWxl KGNoYXIgKmZpbGVuYW1lKSAvL0lOOiB2bXggbG9nIGZpbGVuYW1lIGUuZy4gdm13YXJlLmxvZwor ICAgICAgICAgICAgICAqIGRvbnQgd3JpdGUgYW55dGhpbmcuCisgICAgICAgICAgICAgICovCisg ICAgICAgICAgICAgcHRyU3RyKys7CistICAgICAgICAgICAgdmVyID0gc3Ryc3RyKHB0clN0ciwg InZlciAtICIpOworKyAgICAgICAgICAgIHZlciA9IChjaGFyICopIHN0cnN0cihwdHJTdHIsICJ2 ZXIgLSAiKTsKKyAgICAgICAgICAgICBpZiAoIXZlcikgeworICAgICAgICAgICAgICAgIFdhcm5p bmcoIk5vIHZlcnNpb24gaW5mb3JtYXRpb24gZGV0ZWN0ZWRcbiIpOworICAgICAgICAgICAgIH0g ZWxzZSB7CitAQCAtMjc2LDcgKzI3Niw3IEBAIGV4dHJhY3RGaWxlKGNoYXIgKmZpbGVuYW1lKSAv L0lOOiB2bXggbG9nIGZpbGVuYW1lIGUuZy4gdm13YXJlLmxvZworICAgICAgICAgIH0gZWxzZSB7 IC8vIHdyaXRlIHRvIHRoZSBvdXRwdXQgZmlsZQorICAgICAgICAgICAgIGlmIChvdXRmcCkgewor ICAgICAgICAgICAgICAgIEFTU0VSVChzdGF0ZSA9PSBJTl9HVUVTVF9MT0dHSU5HKTsKKy0gICAg ICAgICAgICAgICBwdHJTdHIgPSBzdHJzdHIoYnVmLCBMT0dfR1VFU1RfTUFSSyk7CisrICAgICAg ICAgICAgICAgcHRyU3RyID0gKGNoYXIgKikgc3Ryc3RyKGJ1ZiwgTE9HX0dVRVNUX01BUkspOwor ICAgICAgICAgICAgICAgIHB0clN0ciArPSBzaXplb2YgTE9HX0dVRVNUX01BUksgLSAxOworICAg ICAgICAgICAgICAgIGlmIChCYXNlNjRfRGVjb2RlKHB0clN0ciwgYmFzZTY0T3V0LCBCVUZfT1VU X1NJWkUsICZsZW5PdXQpKSB7CisgICAgICAgICAgICAgICAgICAgaWYgKGZ3cml0ZShiYXNlNjRP dXQsIDEsIGxlbk91dCwgb3V0ZnApICE9IGxlbk91dCkgeworLS0gCisyLjUxLjEKKwoKZGlmZiAt LWdpdCBhL29wZW4tdm0tdG9vbHMuc3BlYyBiL29wZW4tdm0tdG9vbHMuc3BlYwppbmRleCA3YmE1 YTc1Li4wMDQxZDJmIDEwMDY0NAotLS0gYS9vcGVuLXZtLXRvb2xzLnNwZWMKKysrIGIvb3Blbi12 bS10b29scy5zcGVjCkBAIC04MCw2ICs4MCw3IEBAIEV4Y2x1c2l2ZUFyY2g6ICAgICV7aXg4Nn0g eDg2XzY0IGFhcmNoNjQKICNQYXRjaDA6ICAgICAgICAgICA8cGF0Y2gtbmFtZTA+LnBhdGNoCiAj IEZvciBSSEVMLTk5NzgxIC0gQ2xvdWQtaW5pdCByZWNlaXZlcyBURVJNIHNpZ25hbCBmcm9tIFBJ RCAxIGluIHRoZSBtaWRkbGUgb2YgcnVubmluZyB1c2VyIGRhdGEgW3JoZWwtMTBdCiBQYXRjaDE6 IG92dC1IYW5kbGUtbmV3LWNsb3VkLWluaXQtZXJyb3ItY29kZS1hbmQtc3RhdHVzLnBhdGNoCitQ YXRjaDI6IDAwMDEtRml4LWRpc2NhcmRlZC1xdWFsaWZpZXJzLXdhcm5pbmctZXJyb3IucGF0Y2gK IAogQnVpbGRSZXF1aXJlczogICAgYXV0b2NvbmYKIEJ1aWxkUmVxdWlyZXM6ICAgIGF1dG9tYWtl Cg==