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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Added ibus-1602549-covscan.patch Date: Sun, 31 May 2026 02:06:55 GMT Message-ID: <178019321554.1.9236372605699051689.rpms-ibus-302409f50c63@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 302409f50c63f03cdc0c997bf8a6c11b88b26aca QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiAzMDI0MDlmNTBjNjNmMDNjZGMwYzk5N2JmOGE2YzExYjg4YjI2 YWNhCkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE4LTA3LTIzVDE5OjE5OjUyKzA5OjAwClN0YXRzICA6ICs5NzkvLTAgaW4gMSBmaWxlKHMp ClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzMwMjQw OWY1MGM2M2YwM2NkYzBjOTk3YmY4YTZjMTFiODhiMjZhY2E/YnJhbmNoPWF1dG90b29sCgpMb2c6 CkFkZGVkIGlidXMtMTYwMjU0OS1jb3ZzY2FuLnBhdGNoCgotLS0KZGlmZiAtLWdpdCBhL2lidXMt MTYwMjU0OS1jb3ZzY2FuLnBhdGNoIGIvaWJ1cy0xNjAyNTQ5LWNvdnNjYW4ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJlOTg4MAotLS0gL2Rldi9udWxsCisrKyBi L2lidXMtMTYwMjU0OS1jb3ZzY2FuLnBhdGNoCkBAIC0wLDAgKzEsOTc5IEBACitGcm9tIGJkZWRh YTRlZWMzMTZmMWQ0NTI3ZDcwYWM4ZDhiMTRlMTYzMjI2ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CitEYXRlOiBN b24sIDIzIEp1bCAyMDE4IDE4OjUxOjU1ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIFJIRUwgY29k ZSByZXZpZXdzCisKKy0tLQorIGNsaWVudC94MTEvbWFpbi5jICAgICAgICAgICAgIHwgIDQgKyst LQorIHNldHVwL2VuZ2luZXRyZWV2aWV3LnB5ICAgICAgIHwgMTAgKystLS0tLS0tLQorIHNldHVw L2lidXMtc2V0dXAuaW4gICAgICAgICAgIHwgIDUgKystLS0KKyBzcmMvZW1vamktcGFyc2VyLmMg ICAgICAgICAgICB8ICA4ICsrKysrLS0tCisgc3JjL2lidXNidXMuYyAgICAgICAgICAgICAgICAg fCAgOSArKysrKystLS0KKyBzcmMvaWJ1c2NvbXBvc2V0YWJsZS5jICAgICAgICB8ICA0ICsrLS0K KyBzcmMvaWJ1c2VuZ2luZXNpbXBsZS5jICAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrLS0t LS0KKyBzcmMvaWJ1c2hvdGtleS5jICAgICAgICAgICAgICB8ICA1ICsrKy0tCisgc3JjL2lidXNr ZXltYXAuYyAgICAgICAgICAgICAgfCAxMCArKysrKystLS0tCisgc3JjL2lidXNrZXluYW1lcy5j ICAgICAgICAgICAgfCAgMyArLS0KKyBzcmMvaWJ1c3JlZ2lzdHJ5LmMgICAgICAgICAgICB8ICA0 ICsrLS0KKyBzcmMvaWJ1c3NlcnZpY2UuYyAgICAgICAgICAgICB8IDEzICsrKysrKysrKy0tLS0K KyBzcmMvaWJ1c3htbC5jICAgICAgICAgICAgICAgICB8ICA5ICsrKysrKy0tLQorIHNyYy91bmlj b2RlLXBhcnNlci5jICAgICAgICAgIHwgIDMgKystCisgdXRpbC9JTWRraXQvRnJhbWVNZ3IuYyAg ICAgICAgfCAgNyArKysrKysrCisgdXRpbC9JTWRraXQvSU1Db25uLmMgICAgICAgICAgfCAgNiAr KysrLS0KKyB1dGlsL0lNZGtpdC9pMThuQ2xiay5jICAgICAgICB8IDEwICsrKysrKysrKysKKyB1 dGlsL0lNZGtpdC9pMThuSWMuYyAgICAgICAgICB8IDExICsrKysrKysrKy0tCisgdXRpbC9JTWRr aXQvaTE4bk1ldGhvZC5jICAgICAgfCAgNCArKysrCisgdXRpbC9JTWRraXQvaTE4bk9mZnNldENh Y2hlLmMgfCAyMSArKysrKysrKysrKysrKysrKy0tLS0KKyB1dGlsL0lNZGtpdC9pMThuUHRIZHIu YyAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KKyB1dGlsL0lNZGtpdC9p MThuVXRpbC5jICAgICAgICB8IDEyICsrKysrKysrKy0tLQorIHV0aWwvSU1ka2l0L2kxOG5YLmMg ICAgICAgICAgIHwgMTAgKysrKysrKystLQorIDIzIGZpbGVzIGNoYW5nZWQsIDE1NiBpbnNlcnRp b25zKCspLCA2MiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NsaWVudC94MTEvbWFpbi5j IGIvY2xpZW50L3gxMS9tYWluLmMKK2luZGV4IDE1OWY0MzAzLi4zYmVhOTRiNyAxMDA2NDQKKy0t LSBhL2NsaWVudC94MTEvbWFpbi5jCisrKysgYi9jbGllbnQveDExL21haW4uYworQEAgLTIsNyAr Miw3IEBACisgLyogdmltOnNldCBldCBzdHM9NDogKi8KKyAvKiBpYnVzCisgICogQ29weXJpZ2h0 IChDKSAyMDA3LTIwMTUgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CistICog Q29weXJpZ2h0IChDKSAyMDE1LTIwMTcgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBn bWFpbC5jb20+CisrICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggVGFrYW8gRnVqaXdhcmEgPHRh a2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisgICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTUgUmVk IEhhdCwgSW5jLgorICAqCisgICogbWFpbi5jOgorQEAgLTE5Niw3ICsxOTYsNyBAQCBfeGltX3By ZWVkaXRfY2FsbGJhY2tfZHJhdyAoWElNUyB4aW1zLCBYMTFJQyAqeDExaWMsIGNvbnN0IGdjaGFy ICpwcmVlZGl0X3N0cmluZworICAgICAgICAgfQorICAgICB9CisgCistICAgIGZvciAoaSA9IDA7 IGkgPCBsZW47IGkrKykgeworKyAgICBmb3IgKGkgPSAwOyBmZWVkYmFjayAmJiBpIDwgbGVuOyBp KyspIHsKKyAgICAgICAgIGZlZWRiYWNrW2ldID0gMDsKKyAgICAgfQorIAorZGlmZiAtLWdpdCBh L3NldHVwL2VuZ2luZXRyZWV2aWV3LnB5IGIvc2V0dXAvZW5naW5ldHJlZXZpZXcucHkKK2luZGV4 IDRkZTRhNTE2Li5hZWE4NDU5MyAxMDA2NDQKKy0tLSBhL3NldHVwL2VuZ2luZXRyZWV2aWV3LnB5 CisrKysgYi9zZXR1cC9lbmdpbmV0cmVldmlldy5weQorQEAgLTMsNyArMyw4IEBACisgIyBpYnVz IC0gVGhlIElucHV0IEJ1cworICMKKyAjIENvcHlyaWdodCAoYykgMjAwNy0yMDE1IFBlbmcgSHVh bmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorLSMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUg UmVkIEhhdCwgSW5jLgorKyMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTggVGFrYW8gRnVqaXdhcmEg PHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisrIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxOCBS ZWQgSGF0LCBJbmMuCisgIworICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTkxLDcgKzkyLDYgQEAgY2xhc3Mg RW5naW5lVHJlZVZpZXcoR3RrLlRyZWVWaWV3KToKKyAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9w ZXJ0eSgidGV4dC1jb2x1bW4iLCAwKQorICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJo YXMtZW50cnkiLCBGYWxzZSkKKyAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgiZWRpdGFi bGUiLCBUcnVlKQorLSAgICAgICAgcmVuZGVyZXIuY29ubmVjdCgiY2hhbmdlZCIsIHNlbGYuX19l bmdpbmVfbGF5b3V0X2NoYW5nZWRfY2IpCisgCisgICAgICAgICBjb2x1bW4gPSBHdGsuVHJlZVZp ZXdDb2x1bW4oXygiS2JkIikpCisgICAgICAgICBjb2x1bW4uc2V0X2V4cGFuZChGYWxzZSkKK0BA IC0xNjcsMTIgKzE2Nyw2IEBAIGNsYXNzIEVuZ2luZVRyZWVWaWV3KEd0ay5UcmVlVmlldyk6Cisg ICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInRleHQiLCBsYXlvdXQpCisgICAgICAgICBy ZW5kZXJlci5zZXRfcHJvcGVydHkoIndlaWdodCIsIFBhbmdvLldlaWdodC5OT1JNQUwpCisgCist ICAgIGRlZiBfX2VuZ2luZV9sYXlvdXRfY2hhbmdlZF9jYihzZWxmLCBjb21ibywgcGF0aCwgaXQp OgorLSAgICAgICAgcmV0dXJuCistICAgICAgICBpID0gc2VsZi5fX21vZGVsLmdldF9pdGVyKHBh dGgpCistICAgICAgICBsYXlvdXQgPSBjb21iby5nZXRfcHJvcGVydHkoIm1vZGVsIikuZ2V0X3Zh bHVlKGl0LCAwKQorLSAgICAgICAgc2VsZi5fX21vZGVsLnNldF92YWx1ZShpLCAxLCBsYXlvdXQp CistCisgICAgIGRlZiBkb19nZXRfcHJvcGVydHkoc2VsZiwgcHJvcCk6CisgICAgICAgICBpZiBw cm9wLm5hbWUgPT0gImFjdGl2ZS1lbmdpbmUiOgorICAgICAgICAgICAgIGl0ID0gc2VsZi5nZXRf c2VsZWN0ZWRfaXRlcigpCitkaWZmIC0tZ2l0IGEvc2V0dXAvaWJ1cy1zZXR1cC5pbiBiL3NldHVw L2lidXMtc2V0dXAuaW4KK2luZGV4IGUwZWQ5ZmY1Li5iYjVjODVjZiAxMDA2NDQKKy0tLSBhL3Nl dHVwL2lidXMtc2V0dXAuaW4KKysrKyBiL3NldHVwL2lidXMtc2V0dXAuaW4KK0BAIC0zLDcgKzMs OCBAQAorICMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKKyAjCisgIyBDb3B5cmlnaHQgKGMpIDIwMDct MjAxMCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0jIENvcHlyaWdodCAo YykgMjAwNy0yMDEwIFJlZCBIYXQsIEluYy4KKysjIENvcHlyaWdodCAoYykgMjAxOCBUYWthbyBG dWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKysjIENvcHlyaWdodCAoYykgMjAw Ny0yMDE4IFJlZCBIYXQsIEluYy4KKyAjCisgIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgIyBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitAQCAtMjEsOCArMjIsNiBA QAorICMgVVNBCisgCisgcHJlZml4PUBwcmVmaXhACistZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4 QAorLWRhdGFyb290ZGlyPUBkYXRhcm9vdGRpckAKKyBsaWJleGVjZGlyPUBsaWJleGVjZGlyQAor IGV4cG9ydCBJQlVTX1BSRUZJWD1AcHJlZml4QAorIGV4cG9ydCBJQlVTX0RBVEFST09URElSPUBk YXRhcm9vdGRpckAKK2RpZmYgLS1naXQgYS9zcmMvZW1vamktcGFyc2VyLmMgYi9zcmMvZW1vamkt cGFyc2VyLmMKK2luZGV4IDBmN2M4Y2ZiLi5iOGY0ZGNmMSAxMDA2NDQKKy0tLSBhL3NyYy9lbW9q aS1wYXJzZXIuYworKysrIGIvc3JjL2Vtb2ppLXBhcnNlci5jCitAQCAtNDY2LDcgKzQ2Niw4IEBA IHVuaWNvZGVfYW5ub3RhdGlvbnNfcGFyc2VfeG1sX2ZpbGUgKGNvbnN0IGdjaGFyICAqZmlsZW5h bWUsCisgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChsaXN0ICE9IE5VTEwsIEZBTFNFKTsKKyAK KyAgICAgaWYgKCFnX2ZpbGVfZ2V0X2NvbnRlbnRzIChmaWxlbmFtZSwgJmNvbnRlbnQsICZsZW5n dGgsICZlcnJvcikpIHsKKy0gICAgICAgIGdfd2FybmluZyAoIkZhaWxlZCB0byBsb2FkICVzOiAl cyIsIGZpbGVuYW1lLCBlcnJvci0+bWVzc2FnZSk7CisrICAgICAgICBnX3dhcm5pbmcgKCJGYWls ZWQgdG8gbG9hZCAlczogJXMiLCBmaWxlbmFtZSwKKysgICAgICAgICAgICAgICAgICAgZXJyb3Ig PyBlcnJvci0+bWVzc2FnZSA6ICIiKTsKKyAgICAgICAgIGdvdG8gZmFpbGVkX3RvX3BhcnNlX3Vu aWNvZGVfYW5ub3RhdGlvbnM7CisgICAgIH0KKyAKK0BAIC02MTEsNyArNjEyLDcgQEAgdW5pY29k ZV9lbW9qaV90ZXN0X3BhcnNlX2xpbmUgKGNvbnN0IGdjaGFyICpsaW5lLAorICAgICAgICAgICAg IGludCBpOworICAgICAgICAgICAgIGdjaGFyICphbXA7CisgICAgICAgICAgICAgc2VnbWVudHMg PSBnX3N0cnNwbGl0KGRhdGEtPnN1YmNhdGVnb3J5LCAiLSIsIC0xKTsKKy0gICAgICAgICAgICBm b3IgKGkgPSAwOyBzZWdtZW50c1tpXTsgaSsrKSB7CisrICAgICAgICAgICAgZm9yIChpID0gMDsg c2VnbWVudHMgJiYgc2VnbWVudHNbaV07IGkrKykgeworICAgICAgICAgICAgICAgICBpZiAoKGFt cCA9IHN0cmNociAoc2VnbWVudHNbaV0sICcmJykpICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAg ICAgICAgIGlmIChhbXAgLSBzZWdtZW50c1tpXSA8PSAxKSB7CisgICAgICAgICAgICAgICAgICAg ICAgICAgZ193YXJuaW5nICgiV3JvbmcgYW1wZXJzYW5kIik7CitAQCAtNjY1LDcgKzY2Niw4IEBA IHVuaWNvZGVfZW1vamlfdGVzdF9wYXJzZV9maWxlIChjb25zdCBnY2hhciAqZmlsZW5hbWUsCisg ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChsaXN0ICE9IE5VTEwsIEZBTFNFKTsKKyAKKyAgICAg aWYgKCFnX2ZpbGVfZ2V0X2NvbnRlbnRzIChmaWxlbmFtZSwgJmNvbnRlbnQsICZsZW5ndGgsICZl cnJvcikpIHsKKy0gICAgICAgIGdfd2FybmluZyAoIkZhaWxlZCB0byBsb2FkICVzOiAlcyIsIGZp bGVuYW1lLCBlcnJvci0+bWVzc2FnZSk7CisrICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQgdG8g bG9hZCAlczogJXMiLAorKyAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwgZXJyb3IgPyBlcnJv ci0+bWVzc2FnZSA6ICIiKTsKKyAgICAgICAgIGdvdG8gZmFpbGVkX3RvX3BhcnNlX3VuaWNvZGVf ZW1vamlfdGVzdDsKKyAgICAgfQorICAgICBoZWFkID0gZW5kID0gY29udGVudDsKK2RpZmYgLS1n aXQgYS9zcmMvaWJ1c2J1cy5jIGIvc3JjL2lidXNidXMuYworaW5kZXggOTg4MjBlOGEuLjMwYzJl MzIxIDEwMDY0NAorLS0tIGEvc3JjL2lidXNidXMuYworKysrIGIvc3JjL2lidXNidXMuYworQEAg LTIsNyArMiw3IEBACisgLyogdmltOnNldCBldCBzdHM9NDogKi8KKyAvKiBpYnVzIC0gVGhlIElu cHV0IEJ1cworICAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAu aHVhbmdAZ21haWwuY29tPgorLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE2IFRha2FvIEZ1aml3 YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorKyAqIENvcHlyaWdodCAoQykgMjAxNS0y MDE4IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorICAqIENvcHly aWdodCAoQykgMjAwOC0yMDE2IFJlZCBIYXQsIEluYy4KKyAgKgorICAqIFRoaXMgbGlicmFyeSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKK0BAIC0yMiw2 ICsyMiw3IEBACisgICovCisgCisgI2luY2x1ZGUgImlidXNidXMuaCIKKysjaW5jbHVkZSA8ZXJy bm8uaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Cisg I2luY2x1ZGUgPHVuaXN0ZC5oPgorQEAgLTU2NSw3ICs1NjYsOSBAQCBpYnVzX2J1c19pbml0IChJ QnVzQnVzICpidXMpCisgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQorICAgICAgICAg aWYgKGJ1Zi5zdF9tb2RlICE9IChTX0lGRElSIHwgU19JUldYVSkpIHsKKy0gICAgICAgICAgICBn X2NobW9kIChwYXRoLCAwNzAwKTsKKysgICAgICAgICAgICBlcnJubyA9IDA7CisrICAgICAgICAg ICAgaWYgKGdfY2htb2QgKHBhdGgsIDA3MDApKQorKyAgICAgICAgICAgICAgICBnX3dhcm5pbmcg KCJjaG1vZCBmYWlsZWQ6ICVzIiwgZXJybm8gPyBnX3N0cmVycm9yIChlcnJubykgOiAiIik7Cisg ICAgICAgICB9CisgICAgIH0KKyAKK0BAIC02NzMsNyArNjc2LDcgQEAgaWJ1c19idXNfY29uc3Ry dWN0b3IgKEdUeXBlICAgICAgICAgICAgICAgICAgdHlwZSwKKyAgICAgICAgICAgICBpYnVzX2J1 c19jb25uZWN0IChfYnVzKTsKKyAgICAgfQorICAgICBlbHNlIHsKKy0gICAgICAgIG9iamVjdCA9 IGdfb2JqZWN0X3JlZiAoX2J1cyk7CisrICAgICAgICBvYmplY3QgPSBnX29iamVjdF9yZWYgKEdf T0JKRUNUIChfYnVzKSk7CisgICAgIH0KKyAKKyAgICAgcmV0dXJuIG9iamVjdDsKK2RpZmYgLS1n aXQgYS9zcmMvaWJ1c2NvbXBvc2V0YWJsZS5jIGIvc3JjL2lidXNjb21wb3NldGFibGUuYworaW5k ZXggZDQ3M2Y1ODEuLmI4NDNlN2UxIDEwMDY0NAorLS0tIGEvc3JjL2lidXNjb21wb3NldGFibGUu YworKysrIGIvc3JjL2lidXNjb21wb3NldGFibGUuYworQEAgLTEsNyArMSw3IEBACisgLyogLSot IG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0qLSAq LworIC8qIGlidXMgLSBUaGUgSW5wdXQgQnVzCisgICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQg UGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CistICogQ29weXJpZ2h0IChDKSAy MDEzLTIwMTcgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisrICog Q29weXJpZ2h0IChDKSAyMDEzLTIwMTggVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBn bWFpbC5jb20+CisgICoKKyAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTUzMiw3ICs1MzIsNyBAQCBpYnVz X2NvbXBvc2VfdGFibGVfc2VyaWFsaXplIChJQnVzQ29tcG9zZVRhYmxlICpjb21wb3NlX3RhYmxl KQorIAorICAgICB2YXJpYW50X2RhdGEgPSBnX3ZhcmlhbnRfbmV3X2ZpeGVkX2FycmF5IChHX1ZB UklBTlRfVFlQRV9VSU5UMTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbXBvc2VfdGFibGUtPmRhdGEsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGluZGV4X3N0cmlkZSAqIG5fc2VxcywKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdzaXplKWluZGV4X3N0cmlkZSAq IG5fc2VxcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZW9mIChndWludDE2KSk7CisgICAgIGlmICh2YXJpYW50X2RhdGEgPT0gTlVMTCkgeworICAg ICAgICAgZ193YXJuaW5nICgiQ291bGQgbm90IGNoYW5nZSBjb21wb3NlIGRhdGEgdG8gR1Zhcmlh bnQuIik7CitkaWZmIC0tZ2l0IGEvc3JjL2lidXNlbmdpbmVzaW1wbGUuYyBiL3NyYy9pYnVzZW5n aW5lc2ltcGxlLmMKK2luZGV4IDY4ZDZmYjFlLi5hYWU2YjhkZiAxMDA2NDQKKy0tLSBhL3NyYy9p YnVzZW5naW5lc2ltcGxlLmMKKysrKyBiL3NyYy9pYnVzZW5naW5lc2ltcGxlLmMKK0BAIC0yLDcg KzIsNyBAQAorIC8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCisgLyogaWJ1cyAtIFRoZSBJbnB1dCBC dXMKKyAgKiBDb3B5cmlnaHQgKEMpIDIwMTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFp bC5jb20+CistICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgVGFrYW8gRnVqaXdhcmEgPHRha2Fv LmZ1aml3YXJhMUBnbWFpbC5jb20+CisrICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggVGFrYW8g RnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisgICogQ29weXJpZ2h0IChDKSAy MDE0LTIwMTcgUmVkIEhhdCwgSW5jLgorICAqCisgICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorQEAgLTgxNCw5ICs4MTQsMjEg QEAgY2hlY2tfbm9ybWFsaXplX25mYyAoZ3VuaWNoYXIqIGNvbWJpbmF0aW9uX2J1ZmZlciwgZ2lu dCBuX2NvbXBvc2UpCisgICAgICAgICBnX2ZyZWUgKG5mY190ZW1wKTsKKyAKKyAgICAgICAgIGlm IChuX2NvbXBvc2UgPiAyKSB7CistICAgICAgICAgICAgdGVtcF9zd2FwID0gY29tYmluYXRpb25f YnVmZmVyX3RlbXBbaSAlIChuX2NvbXBvc2UgLSAxKSArIDFdOworLSAgICAgICAgICAgIGNvbWJp bmF0aW9uX2J1ZmZlcl90ZW1wW2kgJSAobl9jb21wb3NlIC0gMSkgKyAxXSA9IGNvbWJpbmF0aW9u X2J1ZmZlcl90ZW1wWyhpKzEpICUgKG5fY29tcG9zZSAtIDEpICsgMV07CistICAgICAgICAgICAg Y29tYmluYXRpb25fYnVmZmVyX3RlbXBbKGkrMSkgJSAobl9jb21wb3NlIC0gMSkgKyAxXSA9IHRl bXBfc3dhcDsKKysgICAgICAgICAgICBnaW50IGogPSBpICUgKG5fY29tcG9zZSAtIDEpICsgMTsK KysgICAgICAgICAgICBnaW50IGsgPSAoaSsxKSAlIChuX2NvbXBvc2UgLSAxKSArIDE7CisrICAg ICAgICAgICAgaWYgKGogPj0gSUJVU19NQVhfQ09NUE9TRV9MRU4pIHsKKysgICAgICAgICAgICAg ICAgZ193YXJuaW5nICgiaiA+PSBJQlVTX01BWF9DT01QT1NFX0xFTiBmb3IgIiBcCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgImNvbWJpbmF0aW9uX2J1ZmZlcl90ZW1wIik7CisrICAgICAg ICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgICBpZiAoayA+PSBJ QlVTX01BWF9DT01QT1NFX0xFTikgeworKyAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKCJrID49 IElCVVNfTUFYX0NPTVBPU0VfTEVOIGZvciAiIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAiY29tYmluYXRpb25fYnVmZmVyX3RlbXAiKTsKKysgICAgICAgICAgICAgICAgYnJlYWs7Cisr ICAgICAgICAgICAgfQorKyAgICAgICAgICAgIHRlbXBfc3dhcCA9IGNvbWJpbmF0aW9uX2J1ZmZl cl90ZW1wW2pdOworKyAgICAgICAgICAgIGNvbWJpbmF0aW9uX2J1ZmZlcl90ZW1wW2pdID0gY29t YmluYXRpb25fYnVmZmVyX3RlbXBba107CisrICAgICAgICAgICAgY29tYmluYXRpb25fYnVmZmVy X3RlbXBba10gPSB0ZW1wX3N3YXA7CisgICAgICAgICB9CisgICAgICAgICBlbHNlCisgICAgICAg ICAgICAgYnJlYWs7CitAQCAtMTA2Nyw3ICsxMDc5LDcgQEAgaWJ1c19lbmdpbmVfc2ltcGxlX3By b2Nlc3Nfa2V5X2V2ZW50IChJQnVzRW5naW5lICplbmdpbmUsCisgICAgIGdib29sZWFuIGNvbXBv c2VfZmluaXNoOworICAgICBndW5pY2hhciBvdXRwdXRfY2hhcjsKKyAKKy0gICAgd2hpbGUgKHBy aXYtPmNvbXBvc2VfYnVmZmVyW25fY29tcG9zZV0gIT0gMCAmJiBuX2NvbXBvc2UgPCBFTU9KSV9T T1VSQ0VfTEVOKQorKyAgICB3aGlsZSAobl9jb21wb3NlIDwgRU1PSklfU09VUkNFX0xFTiAmJiBw cml2LT5jb21wb3NlX2J1ZmZlcltuX2NvbXBvc2VdICE9IDApCisgICAgICAgICBuX2NvbXBvc2Ur KzsKKyAgICAgaWYgKG5fY29tcG9zZSA+PSBFTU9KSV9TT1VSQ0VfTEVOKSB7CisgICAgICAgICBn X3dhcm5pbmcgKCJjb3Btb3NlIHRhYmxlIGJ1ZmZlciBpcyBmdWxsLiIpOworZGlmZiAtLWdpdCBh L3NyYy9pYnVzaG90a2V5LmMgYi9zcmMvaWJ1c2hvdGtleS5jCitpbmRleCAwY2RmYTc4Yi4uMDBk NTAyZmMgMTAwNjQ0CistLS0gYS9zcmMvaWJ1c2hvdGtleS5jCisrKysgYi9zcmMvaWJ1c2hvdGtl eS5jCitAQCAtMiw3ICsyLDggQEAKKyAvKiB2aW06c2V0IGV0IHN0cz00OiAqLworIC8qIElCdXMg LSBUaGUgSW5wdXQgQnVzCisgICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTAgUGVuZyBIdWFuZyA8 c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CistICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTAgUmVk IEhhdCwgSW5jLgorKyAqIENvcHlyaWdodCAoQykgMjAxOCBUYWthbyBGdWppd2FyYSA8dGFrYW8u ZnVqaXdhcmExQGdtYWlsLmNvbT4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOCBSZWQgSGF0 LCBJbmMuCisgICoKKyAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTQ1Myw3ICs0NTQsNyBAQCBpYnVzX2hv dGtleV9wcm9maWxlX3JlbW92ZV9ob3RrZXkgKElCdXNIb3RrZXlQcm9maWxlICpwcm9maWxlLAor ICAgICAgICAgICAgIGJyZWFrOworICAgICB9CisgCistICAgIGdfYXNzZXJ0IChwMi0+ZXZlbnQg PT0gZXZlbnQpOworKyAgICBnX2Fzc2VydCAocDIgJiYgcDItPmV2ZW50ID09IGV2ZW50KTsKKyAK KyAgICAgcDItPmhvdGtleXMgPSBnX2xpc3RfcmVtb3ZlIChwMi0+aG90a2V5cywgcDEpOworICAg ICBpZiAocDItPmhvdGtleXMgPT0gTlVMTCkgeworZGlmZiAtLWdpdCBhL3NyYy9pYnVza2V5bWFw LmMgYi9zcmMvaWJ1c2tleW1hcC5jCitpbmRleCBkNzQyOGM1ZC4uMjdhNTY3NTQgMTAwNjQ0Cist LS0gYS9zcmMvaWJ1c2tleW1hcC5jCisrKysgYi9zcmMvaWJ1c2tleW1hcC5jCitAQCAtMiw3ICsy LDggQEAKKyAvKiB2aW06c2V0IGV0IHN0cz00OiAqLworIC8qIElCdXMgLSBUaGUgSW5wdXQgQnVz CisgICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTAgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0Bn bWFpbC5jb20+CistICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTAgUmVkIEhhdCwgSW5jLgorKyAq IENvcHlyaWdodCAoQykgMjAxOCBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWls LmNvbT4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOCBSZWQgSGF0LCBJbmMuCisgICoKKyAg KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH ZW5lcmFsIFB1YmxpYworQEAgLTcyLDcgKzczLDcgQEAgc3RhdGljIGdib29sZWFuCisgaWJ1c19r ZXltYXBfcGFyc2VfbGluZSAoZ2NoYXIgICpzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg S0VZTUFQICBrZXltYXApCisgeworLSAgICBnY2hhciAqcDEsICpwMjsKKysgICAgZ2NoYXIgKnAx LCAqcDIsIGNoOworICAgICBnaW50IGk7CisgICAgIGd1aW50IGtleWNvZGU7CisgICAgIGd1aW50 IGtleXN5bTsKK0BAIC0xMzksMTEgKzE0MCwxMiBAQCBpYnVzX2tleW1hcF9wYXJzZV9saW5lIChn Y2hhciAgKnN0ciwKKyAgICAgaWYgKGtleXN5bSA9PSBJQlVTX0tFWV9Wb2lkU3ltYm9sKQorICAg ICAgICAgcmV0dXJuIEZBTFNFOworIAorKyAgICAvKiBEbyBub3QgYXNzaWduICpwMSB0byBnX2Fz Y2lpX2lzYWxwaGEoKSBkaXJlY3RseSBmb3IgdGhlIHN5bnRheCBjaGVjayAqLworICAgICBpZiAo aSA9PSAwICYmCisgICAgICAgICBzdHJuY21wIChwMiwgImFkZHVwcGVyIiwgc2l6ZW9mICgiYWRk dXBwZXIiKSAtIDEpID09IDAgJiYKKy0gICAgICAgIGdfYXNjaWlfaXNhbHBoYSAoKnAxKSkgewor KyAgICAgICAgKGNoID0gKnAxKSAmJiBnX2FzY2lpX2lzYWxwaGEgKGNoKSkgeworICAgICAgICAg Z2NoYXIgYnVmW10gPSAiYSI7CistICAgICAgICBidWZbMF0gPSBnX2FzY2lpX3RvdXBwZXIoKnAx KTsKKysgICAgICAgIGJ1ZlswXSA9IGdfYXNjaWlfdG91cHBlcihjaCk7CisgICAgICAgICBrZXlt YXBba2V5Y29kZV1bMF0gPSBrZXltYXBba2V5Y29kZV1bM10gPSBrZXlzeW07CisgICAgICAgICBr ZXltYXBba2V5Y29kZV1bMV0gPSBrZXltYXBba2V5Y29kZV1bMl0gPSBpYnVzX2tleXZhbF9mcm9t X25hbWUgKGJ1Zik7CisgCitkaWZmIC0tZ2l0IGEvc3JjL2lidXNrZXluYW1lcy5jIGIvc3JjL2li dXNrZXluYW1lcy5jCitpbmRleCBjMzY2NTEyNy4uMDg1MDU1OTggMTAwNjQ0CistLS0gYS9zcmMv aWJ1c2tleW5hbWVzLmMKKysrKyBiL3NyYy9pYnVza2V5bmFtZXMuYworQEAgLTE5Miw4ICsxOTIs NyBAQCBpYnVzX2tleV9ldmVudF9mcm9tX3N0cmluZyAoY29uc3QgZ2NoYXIgKnN0cmluZywKKyAg ICAgaWYgKCprZXl2YWwgIT0gSUJVU19LRVlfVm9pZFN5bWJvbCkKKyAgICAgICAgIHJldHZhbCA9 IFRSVUU7CisgX291dDoKKy0gICAgaWYgKHRva2VucykKKy0gICAgICAgIGdfc3RyZnJlZXYgKHRv a2Vucyk7CisrICAgIGdfc3RyZnJlZXYgKHRva2Vucyk7CisgICAgIHJldHVybiByZXR2YWw7Cisg fQorIAorZGlmZiAtLWdpdCBhL3NyYy9pYnVzcmVnaXN0cnkuYyBiL3NyYy9pYnVzcmVnaXN0cnku YworaW5kZXggZGZkYTJhZjMuLmIwNDgzOTk4IDEwMDY0NAorLS0tIGEvc3JjL2lidXNyZWdpc3Ry eS5jCisrKysgYi9zcmMvaWJ1c3JlZ2lzdHJ5LmMKK0BAIC0yLDcgKzIsNyBAQAorIC8qIHZpbTpz ZXQgZXQgc3RzPTQ6ICovCisgLyogYnVzIC0gVGhlIElucHV0IEJ1cworICAqIENvcHlyaWdodCAo QykgMjAxNSBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0gKiBDb3B5cmln aHQgKEMpIDIwMTUgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Cisr ICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+CisgICogQ29weXJpZ2h0IChDKSAyMDE1IFJlZCBIYXQsIEluYy4KKyAgKgor ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKK0BAIC00NzIsNyArNDcyLDcgQEAgaWJ1c19yZWdpc3RyeV9zYXZlX2NhY2hlX2Zp bGUgKElCdXNSZWdpc3RyeSAqcmVnaXN0cnksCisgICAgIH0KKyAKKyAgICAgaWYgKGdfc3RyX2hh c19wcmVmaXggKGZpbGVuYW1lLCBnX2dldF91c2VyX2NhY2hlX2RpciAoKSkpIHsKKy0gICAgICAg IGdfY2htb2QgKGZpbGVuYW1lLCAwNjQ0KTsKKysgICAgICAgIGdfd2Fybl9pZl9mYWlsICghZ19j aG1vZCAoZmlsZW5hbWUsIDA2NDQpKTsKKyAgICAgfQorIAorICAgICByZXR1cm4gVFJVRTsKK2Rp ZmYgLS1naXQgYS9zcmMvaWJ1c3NlcnZpY2UuYyBiL3NyYy9pYnVzc2VydmljZS5jCitpbmRleCAy MTk5ZDYxZC4uODAyMzUyN2IgMTAwNjQ0CistLS0gYS9zcmMvaWJ1c3NlcnZpY2UuYworKysrIGIv c3JjL2lidXNzZXJ2aWNlLmMKK0BAIC0yLDcgKzIsOCBAQAorIC8qIHZpbTpzZXQgZXQgc3RzPTQ6 ICovCisgLyogaWJ1cyAtIFRoZSBJbnB1dCBCdXMKKyAgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAx NSBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0gKiBDb3B5cmlnaHQgKEMp IDIwMDgtMjAxNSBSZWQgSGF0LCBJbmMuCisrICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggVGFr YW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisrICogQ29weXJpZ2h0IChD KSAyMDA4LTIwMTggUmVkIEhhdCwgSW5jLgorICAqCisgICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0BAIC01MDAs MTIgKzUwMSwxNCBAQCBpYnVzX3NlcnZpY2VfcmVnaXN0ZXIgKElCdXNTZXJ2aWNlICAgICAqc2Vy dmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEdEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlv biwKKyAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICoqZXJyb3IpCisgewor KyAgICBHQXJyYXkgKmFycmF5ID0gTlVMTDsKKysgICAgR0FycmF5ICppbnRlcmZhY2VzOworKyAg ICBHREJ1c0ludGVyZmFjZUluZm8gKipwOworKworICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAo SUJVU19JU19TRVJWSUNFIChzZXJ2aWNlKSwgRkFMU0UpOworICAgICBnX3JldHVybl92YWxfaWZf ZmFpbCAoR19JU19EQlVTX0NPTk5FQ1RJT04gKGNvbm5lY3Rpb24pLCBGQUxTRSk7CisgICAgIGdf cmV0dXJuX3ZhbF9pZl9mYWlsIChlcnJvciA9PSBOVUxMIHx8ICplcnJvciA9PSBOVUxMLCBGQUxT RSk7CisgCistICAgIEdBcnJheSAqYXJyYXkgPSBOVUxMOworLQorICAgICBpZiAoZ19oYXNoX3Rh YmxlX2xvb2t1cCAoc2VydmljZS0+cHJpdi0+dGFibGUsIGNvbm5lY3Rpb24pKSB7CisgICAgICAg ICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAqZXJyb3IgPSBnX2Vycm9yX25ldyAoR19EQlVT X0VSUk9SLCBHX0RCVVNfRVJST1JfT0JKRUNUX1BBVEhfSU5fVVNFLAorQEAgLTUxNSw3ICs1MTgs OSBAQCBpYnVzX3NlcnZpY2VfcmVnaXN0ZXIgKElCdXNTZXJ2aWNlICAgICAqc2VydmljZSwKKyAg ICAgICAgIGdvdG8gZXJyb3Jfb3V0OworICAgICB9CisgCistICAgIEdEQnVzSW50ZXJmYWNlSW5m byAqKnAgPSAoR0RCdXNJbnRlcmZhY2VJbmZvICoqKUlCVVNfU0VSVklDRV9HRVRfQ0xBU1MgKHNl cnZpY2UpLT5pbnRlcmZhY2VzLT5kYXRhOworKyAgICBpbnRlcmZhY2VzID0gSUJVU19TRVJWSUNF X0dFVF9DTEFTUyAoc2VydmljZSktPmludGVyZmFjZXM7CisrICAgIGdfYXNzZXJ0IChpbnRlcmZh Y2VzKTsKKysgICAgcCA9IChHREJ1c0ludGVyZmFjZUluZm8gKiopaW50ZXJmYWNlcy0+ZGF0YTsK KyAgICAgaWYgKCpwID09IE5VTEwpIHsKKyAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAg ICAgICplcnJvciA9IGdfZXJyb3JfbmV3IChHX0RCVVNfRVJST1IsIEdfREJVU19FUlJPUl9GQUlM RUQsCitkaWZmIC0tZ2l0IGEvc3JjL2lidXN4bWwuYyBiL3NyYy9pYnVzeG1sLmMKK2luZGV4IDVj YWNjNWFmLi4yNjZhODIwNyAxMDA2NDQKKy0tLSBhL3NyYy9pYnVzeG1sLmMKKysrKyBiL3NyYy9p YnVzeG1sLmMKK0BAIC0yLDcgKzIsOCBAQAorIC8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCisgLyog YnVzIC0gVGhlIElucHV0IEJ1cworICAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE1IFBlbmcgSHVh bmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorLSAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE1 IFJlZCBIYXQsIEluYy4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMTggVGFrYW8gRnVqaXdhcmEgPHRh a2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisrICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTggUmVk IEhhdCwgSW5jLgorICAqCisgICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0BAIC0yNDAsOCArMjQxLDEwIEBAIGli dXNfeG1sX3BhcnNlX2ZpbGUgKGNvbnN0IGdjaGFyICpmaWxlbmFtZSkKKyAgICAgICAgIHJldHVy biBub2RlOworICAgICB9IHdoaWxlICgwKTsKKyAKKy0gICAgZ193YXJuaW5nICgiUGFyc2UgJXMg ZmFpbGVkOiAlcyIsIGZpbGVuYW1lLCBlcnJvci0+bWVzc2FnZSk7CistICAgIGdfZXJyb3JfZnJl ZSAoZXJyb3IpOworKyAgICBpZiAoZXJyb3IpIHsKKysgICAgICAgIGdfd2FybmluZyAoIlBhcnNl ICVzIGZhaWxlZDogJXMiLCBmaWxlbmFtZSwgZXJyb3ItPm1lc3NhZ2UpOworKyAgICAgICAgZ19l cnJvcl9mcmVlIChlcnJvcik7CisrICAgIH0KKyAgICAgZ19tYXJrdXBfcGFyc2VfY29udGV4dF9m cmVlIChjb250ZXh0KTsKKyAgICAgcmV0dXJuIE5VTEw7CisgfQorZGlmZiAtLWdpdCBhL3NyYy91 bmljb2RlLXBhcnNlci5jIGIvc3JjL3VuaWNvZGUtcGFyc2VyLmMKK2luZGV4IGU5OGM2ZDVmLi4w ZTRmZThiNyAxMDA2NDQKKy0tLSBhL3NyYy91bmljb2RlLXBhcnNlci5jCisrKysgYi9zcmMvdW5p Y29kZS1wYXJzZXIuYworQEAgLTI4MSw3ICsyODEsOCBAQCB1Y2RfcGFyc2VfZmlsZSAoY29uc3Qg Z2NoYXIgKmZpbGVuYW1lLAorICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAobGlzdCAhPSBOVUxM LCBGQUxTRSk7CisgCisgICAgIGlmICghZ19maWxlX2dldF9jb250ZW50cyAoZmlsZW5hbWUsICZj b250ZW50LCAmbGVuZ3RoLCAmZXJyb3IpKSB7CistICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQg dG8gbG9hZCAlczogJXMiLCBmaWxlbmFtZSwgZXJyb3ItPm1lc3NhZ2UpOworKyAgICAgICAgZ193 YXJuaW5nICgiRmFpbGVkIHRvIGxvYWQgJXM6ICVzIiwKKysgICAgICAgICAgICAgICAgICAgZmls ZW5hbWUsIGVycm9yID8gZXJyb3ItPm1lc3NhZ2UgOiAiIik7CisgICAgICAgICBnb3RvIGZhaWxl ZF90b19wYXJzZV91Y2RfbmFtZXNfbGlzdDsKKyAgICAgfQorICAgICBoZWFkID0gZW5kID0gY29u dGVudDsKK2RpZmYgLS1naXQgYS91dGlsL0lNZGtpdC9GcmFtZU1nci5jIGIvdXRpbC9JTWRraXQv RnJhbWVNZ3IuYworaW5kZXggOWI0OTc5NDguLjA4NGI4ODEwIDEwMDY0NAorLS0tIGEvdXRpbC9J TWRraXQvRnJhbWVNZ3IuYworKysrIGIvdXRpbC9JTWRraXQvRnJhbWVNZ3IuYworQEAgLTI3LDYg KzI3LDcgQEAgU09GVFdBUkUuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworIAorICNpbmNsdWRlIDxYMTEvWGxpYmlu dC5oPgorKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1 ZGUgIkZyYW1lTWdyLmgiCisgCitAQCAtOTg5LDYgKzk5MCw3IEBAIHN0YXRpYyBYaW1GcmFtZVR5 cGUgRnJhbWVJbnN0R2V0TmV4dFR5cGUoRnJhbWVJbnN0IGZpLCBYaW1GcmFtZVR5cGVJbmZvIGlu Zm8pCisgICAgICAgICAgICAgd2hpbGUgKG51bWJlciA+IDApCisgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICBpID0gX0ZyYW1lSW5zdERlY3JlbWVudCAoZmktPnRlbXBsYXRlLCBpKTsK KysgICAgICAgICAgICAgICAgYXNzZXJ0IChpID49IDApOworICAgICAgICAgICAgICAgICBzaXpl ICs9IF9GcmFtZUluc3RHZXRJdGVtU2l6ZSAoZmksIGkpOworICAgICAgICAgICAgICAgICBudW1i ZXItLTsKKyAgICAgICAgICAgICB9CitAQCAtMTEzOCw2ICsxMTQwLDcgQEAgc3RhdGljIFhpbUZy YW1lVHlwZSBGcmFtZUluc3RQZWVrTmV4dFR5cGUgKEZyYW1lSW5zdCBmaSwgWGltRnJhbWVUeXBl SW5mbyBpbmZvKQorICAgICAgICAgICAgIHdoaWxlIChudW1iZXIgPiAwKQorICAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgICAgaSA9IF9GcmFtZUluc3REZWNyZW1lbnQgKGZpLT50ZW1wbGF0 ZSwgaSk7CisrICAgICAgICAgICAgICAgIGFzc2VydCAoaSA+PSAwKTsKKyAgICAgICAgICAgICAg ICAgc2l6ZSArPSBfRnJhbWVJbnN0R2V0SXRlbVNpemUgKGZpLCBpKTsKKyAgICAgICAgICAgICAg ICAgbnVtYmVyLS07CisgICAgICAgICAgICAgfQorQEAgLTEzNTYsNiArMTM1OSw3IEBAIHN0YXRp YyBGbVN0YXR1cyBGcmFtZUluc3RTZXRTaXplIChGcmFtZUluc3QgZmksIGludCBudW0pCisgCSAg ICBicmVhazsKKyAgICAgICAgIH0KKyAgICAgICAgIC8qZW5kc3dpdGNoKi8KKysgICAgICAgIGFz c2VydCAoaSA+PSAwKTsKKyAgICAgICAgIGkgPSBfRnJhbWVJbnN0SW5jcmVtZW50KGZpLT50ZW1w bGF0ZSwgaSk7CisgICAgIH0KKyAgICAgLyplbmR3aGlsZSovCitAQCAtMTQ1Nyw2ICsxNDYxLDcg QEAgc3RhdGljIEZtU3RhdHVzIEZyYW1lSW5zdFNldEl0ZXJDb3VudCAoRnJhbWVJbnN0IGZpLCBp bnQgbnVtKQorIAkgICAgYnJlYWs7CisgICAgICAgICB9CisgICAgICAgICAvKmVuZHN3aXRjaCov CisrICAgICAgICBhc3NlcnQgKGkgPj0gMCk7CisgICAgICAgICBpID0gX0ZyYW1lSW5zdEluY3Jl bWVudCAoZmktPnRlbXBsYXRlLCBpKTsKKyAgICAgfQorICAgICAvKmVuZHdoaWxlKi8KK0BAIC0x NDc0LDYgKzE0NzksNyBAQCBzdGF0aWMgaW50IEZyYW1lSW5zdEdldFRvdGFsU2l6ZSAoRnJhbWVJ bnN0IGZpKQorICAgICB3aGlsZSAoZmktPnRlbXBsYXRlW2ldLnR5cGUgIT0gRU9MKQorICAgICB7 CisgICAgICAgICBzaXplICs9IF9GcmFtZUluc3RHZXRJdGVtU2l6ZSAoZmksIGkpOworKyAgICAg ICAgYXNzZXJ0IChpID49IDApOworICAgICAgICAgaSA9IF9GcmFtZUluc3RJbmNyZW1lbnQgKGZp LT50ZW1wbGF0ZSwgaSk7CisgICAgIH0KKyAgICAgLyplbmR3aGlsZSovCitAQCAtMjQxOSw2ICsy NDI1LDcgQEAgc3RhdGljIGludCBfRnJhbWVJbnN0R2V0SXRlbVNpemUgKEZyYW1lSW5zdCBmaSwg aW50IGN1cl9ubykKKyAgICAgICAgICAgICBzaXplID0gMDsKKyAgICAgICAgICAgICB3aGlsZSAo bnVtYmVyID4gMCkKKyAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIGFzc2VydCAoaSA+ PSAwKTsKKyAgICAgICAgICAgICAgICAgaSA9IF9GcmFtZUluc3REZWNyZW1lbnQgKGZpLT50ZW1w bGF0ZSwgaSk7CisgICAgICAgICAgICAgICAgIHNpemUgKz0gX0ZyYW1lSW5zdEdldEl0ZW1TaXpl IChmaSwgaSk7CisgICAgICAgICAgICAgICAgIG51bWJlci0tOworZGlmZiAtLWdpdCBhL3V0aWwv SU1ka2l0L0lNQ29ubi5jIGIvdXRpbC9JTWRraXQvSU1Db25uLmMKK2luZGV4IDZkMzY1ODkzLi44 ZThiOGVjZSAxMDA2NDQKKy0tLSBhL3V0aWwvSU1ka2l0L0lNQ29ubi5jCisrKysgYi91dGlsL0lN ZGtpdC9JTUNvbm4uYworQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGNoYXIgKl9GaW5kTW9kaWZp ZXJzIChYSU1BcmcgKmFyZ3MpCisgeworICAgICBjaGFyICptb2RpZmllcnM7CisgCistICAgIHdo aWxlIChhcmdzLT5uYW1lKQorKyAgICB3aGlsZSAoYXJncyAmJiBhcmdzLT5uYW1lKQorICAgICB7 CisgCWlmIChzdHJjbXAgKGFyZ3MtPm5hbWUsIElNTW9kaWZpZXJzKSA9PSAwKQorIAl7CitAQCAt MTQ0LDggKzE0NCwxMCBAQCBYSU1TIElNT3BlbklNIChEaXNwbGF5ICpkaXNwbGF5LCAuLi4pCisg ICAgIG1vZGlmaWVycyA9IF9GaW5kTW9kaWZpZXJzIChhcmdzKTsKKyAKKyAgICAgaW1zID0gX0dl dElNUyAobW9kaWZpZXJzKTsKKy0gICAgaWYgKGltcyA9PSAoWElNUykgTlVMTCkKKysgICAgaWYg KGltcyA9PSAoWElNUykgTlVMTCkgeworKyAgICAgICAgWEZyZWUgKGFyZ3MpOworICAgICAgICAg cmV0dXJuIChYSU1TKSBOVUxMOworKyAgICB9CisgICAgIC8qZW5kaWYqLworICAgICAKKyAgICAg aW1zLT5jb3JlLmRpc3BsYXkgPSBkaXNwbGF5OworZGlmZiAtLWdpdCBhL3V0aWwvSU1ka2l0L2kx OG5DbGJrLmMgYi91dGlsL0lNZGtpdC9pMThuQ2xiay5jCitpbmRleCBiM2VkZjNhZC4uZjU1Zjk3 MGYgMTAwNjQ0CistLS0gYS91dGlsL0lNZGtpdC9pMThuQ2xiay5jCisrKysgYi91dGlsL0lNZGtp dC9pMThuQ2xiay5jCitAQCAtNTUsNiArNTUsNyBAQCBpbnQgX1hpMThuR2VvbWV0cnlDYWxsYmFj ayAoWElNUyBpbXMsIElNUHJvdG9jb2wgKmNhbGxfZGF0YSkKKyAgICAgaWYgKCFyZXBseSkKKyAg ICAgeworICAgICAgICAgX1hpMThuU2VuZE1lc3NhZ2UgKGltcywgY29ubmVjdF9pZCwgWElNX0VS Uk9SLCAwLCAwLCAwKTsKKysgICAgICAgIEZyYW1lTWdyRnJlZSAoZm0pOworICAgICAgICAgcmV0 dXJuIEZhbHNlOworICAgICB9CisgICAgIC8qZW5kaWYqLworQEAgLTk3LDYgKzk4LDcgQEAgaW50 IF9YaTE4blByZWVkaXRTdGFydENhbGxiYWNrIChYSU1TIGltcywgSU1Qcm90b2NvbCAqY2FsbF9k YXRhKQorICAgICBpZiAoIXJlcGx5KQorICAgICB7CisgICAgICAgICBfWGkxOG5TZW5kTWVzc2Fn ZShpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJPUiwgMCwgMCwgMCk7CisrICAgICAgICBGcmFtZU1n ckZyZWUgKGZtKTsKKyAgICAgICAgIHJldHVybiBGYWxzZTsKKyAgICAgfQorICAgICAvKmVuZGlm Ki8KK0BAIC0xNTksNiArMTYxLDcgQEAgaW50IF9YaTE4blByZWVkaXREcmF3Q2FsbGJhY2sgKFhJ TVMgaW1zLCBJTVByb3RvY29sICpjYWxsX2RhdGEpCisgICAgIGlmICghcmVwbHkpCisgICAgIHsK KyAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJPUiwg MCwgMCwgMCk7CisrICAgICAgICBGcmFtZU1nckZyZWUgKGZtKTsKKyAgICAgICAgIHJldHVybiBG YWxzZTsKKyAgICAgfQorICAgICAvKmVuZGlmKi8KK0BAIC0yMTIsNiArMjE1LDcgQEAgaW50IF9Y aTE4blByZWVkaXRDYXJldENhbGxiYWNrIChYSU1TIGltcywgSU1Qcm90b2NvbCAqY2FsbF9kYXRh KQorICAgICBpZiAoIXJlcGx5KQorICAgICB7CisgICAgICAgICBfWGkxOG5TZW5kTWVzc2FnZSAo aW1zLCBjb25uZWN0X2lkLCBYSU1fRVJST1IsIDAsIDAsIDApOworKyAgICAgICAgRnJhbWVNZ3JG cmVlIChmbSk7CisgICAgICAgICByZXR1cm4gRmFsc2U7CisgICAgIH0KKyAgICAgLyplbmRpZiov CitAQCAtMjU2LDYgKzI2MCw3IEBAIGludCBfWGkxOG5QcmVlZGl0RG9uZUNhbGxiYWNrIChYSU1T IGltcywgSU1Qcm90b2NvbCAqY2FsbF9kYXRhKQorICAgICBpZiAoIXJlcGx5KQorICAgICB7Cisg ICAgICAgICBfWGkxOG5TZW5kTWVzc2FnZSAoaW1zLCBjb25uZWN0X2lkLCBYSU1fRVJST1IsIDAs IDAsIDApOworKyAgICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAgICByZXR1cm4gRmFs c2U7CisgICAgIH0KKyAgICAgLyplbmRpZiovCitAQCAtMjk3LDYgKzMwMiw3IEBAIGludCBfWGkx OG5TdGF0dXNTdGFydENhbGxiYWNrIChYSU1TIGltcywgSU1Qcm90b2NvbCAqY2FsbF9kYXRhKQor ICAgICBpZiAoIXJlcGx5KQorICAgICB7CisgICAgICAgICBfWGkxOG5TZW5kTWVzc2FnZSAoaW1z LCBjb25uZWN0X2lkLCBYSU1fRVJST1IsIDAsIDAsIDApOworKyAgICAgICAgRnJhbWVNZ3JGcmVl IChmbSk7CisgICAgICAgICByZXR1cm4gRmFsc2U7CisgICAgIH0KKyAgICAgLyplbmRpZiovCitA QCAtMzYzLDYgKzM2OSw3IEBAIGludCBfWGkxOG5TdGF0dXNEcmF3Q2FsbGJhY2sgKFhJTVMgaW1z LCBJTVByb3RvY29sICpjYWxsX2RhdGEpCisgICAgICAgICBpZiAoIXJlcGx5KQorICAgICAgICAg eworICAgICAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9F UlJPUiwgMCwgMCwgMCk7CisrICAgICAgICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAg ICAgICAgcmV0dXJuIEZhbHNlOworICAgICAgICAgfQorICAgICAgICAgLyplbmRpZiovCitAQCAt MzkwLDYgKzM5Nyw3IEBAIGludCBfWGkxOG5TdGF0dXNEcmF3Q2FsbGJhY2sgKFhJTVMgaW1zLCBJ TVByb3RvY29sICpjYWxsX2RhdGEpCisgICAgICAgICBpZiAoIXJlcGx5KQorICAgICAgICAgewor ICAgICAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJP UiwgMCwgMCwgMCk7CisrICAgICAgICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAgICAg ICAgcmV0dXJuIEZhbHNlOworICAgICAgICAgfQorICAgICAgICAgLyplbmRpZiovCitAQCAtNDM1 LDYgKzQ0Myw3IEBAIGludCBfWGkxOG5TdGF0dXNEb25lQ2FsbGJhY2sgKFhJTVMgaW1zLCBJTVBy b3RvY29sICpjYWxsX2RhdGEpCisgICAgIGlmICghcmVwbHkpCisgICAgIHsKKyAgICAgICAgIF9Y aTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJPUiwgMCwgMCwgMCk7Cisr ICAgICAgICBGcmFtZU1nckZyZWUgKGZtKTsKKyAgICAgICAgIHJldHVybiBGYWxzZTsKKyAgICAg fQorICAgICAvKmVuZGlmKi8KK0BAIC00NzksNiArNDg4LDcgQEAgaW50IF9YaTE4blN0cmluZ0Nv bnZlcnNpb25DYWxsYmFjayAoWElNUyBpbXMsIElNUHJvdG9jb2wgKmNhbGxfZGF0YSkKKyAgICAg aWYgKCFyZXBseSkKKyAgICAgeworICAgICAgICAgX1hpMThuU2VuZE1lc3NhZ2UgKGltcywgY29u bmVjdF9pZCwgWElNX0VSUk9SLCAwLCAwLCAwKTsKKysgICAgICAgIEZyYW1lTWdyRnJlZSAoZm0p OworICAgICAgICAgcmV0dXJuIEZhbHNlOworICAgICB9CisgICAgIC8qZW5kaWYqLworZGlmZiAt LWdpdCBhL3V0aWwvSU1ka2l0L2kxOG5JYy5jIGIvdXRpbC9JTWRraXQvaTE4bkljLmMKK2luZGV4 IDg3NDQ1OTg2Li4yODk4MzdhNiAxMDA2NDQKKy0tLSBhL3V0aWwvSU1ka2l0L2kxOG5JYy5jCisr KysgYi91dGlsL0lNZGtpdC9pMThuSWMuYworQEAgLTQ3NSw4ICs0NzUsMTAgQEAgc3RhdGljIFhJ Q0F0dHJpYnV0ZSAqQ3JlYXRlTmVzdGVkTGlzdCAoQ0FSRDE2IGF0dHJfaWQsCisgICAgIC8qZW5k aWYqLworICAgICBtZW1zZXQgKG5lc3RfbGlzdCwgMCwgc2l6ZW9mIChYSUNBdHRyaWJ1dGUpKTsK KyAgICAgbmVzdF9saXN0LT52YWx1ZSA9ICh2b2lkICopIG1hbGxvYyAodmFsdWVfbGVuZ3RoKTsK Ky0gICAgaWYgKG5lc3RfbGlzdC0+dmFsdWUgPT0gTlVMTCkKKysgICAgaWYgKG5lc3RfbGlzdC0+ dmFsdWUgPT0gTlVMTCkgeworKyAgICAgICAgWEZyZWUgKG5lc3RfbGlzdCk7CisgICAgICAgICBy ZXR1cm4gTlVMTDsKKysgICAgfQorICAgICAvKmVuZGlmKi8KKyAgICAgbWVtc2V0IChuZXN0X2xp c3QtPnZhbHVlLCAwLCB2YWx1ZV9sZW5ndGgpOworIAorQEAgLTgxNiw2ICs4MTgsNyBAQCB2b2lk IF9YaTE4bkNoYW5nZUlDIChYSU1TIGltcywKKyAgICAgaWYgKCFyZXBseSkKKyAgICAgeworICAg ICAgICAgX1hpMThuU2VuZE1lc3NhZ2UgKGltcywgY29ubmVjdF9pZCwgWElNX0VSUk9SLCAwLCAw LCAwKTsKKysgICAgICAgIEZyYW1lTWdyRnJlZSAoZm0pOworICAgICAgICAgcmV0dXJuOworICAg ICB9CisgICAgIC8qZW5kaWYqLworQEAgLTk3Myw4ICs5NzYsMTAgQEAgdm9pZCBfWGkxOG5HZXRJ QyAoWElNUyBpbXMsIElNUHJvdG9jb2wgKmNhbGxfZGF0YSwgdW5zaWduZWQgY2hhciAqcCkKKyAg ICAgZ2V0aWMtPmljX2F0dHIgPSBpY19hdHRyOworICAgICBpZiAoaTE4bl9jb3JlLT5hZGRyZXNz LmltcHJvdG8pCisgICAgIHsKKy0gICAgICAgIGlmICghKGkxOG5fY29yZS0+YWRkcmVzcy5pbXBy b3RvIChpbXMsIGNhbGxfZGF0YSkpKQorKyAgICAgICAgaWYgKCEoaTE4bl9jb3JlLT5hZGRyZXNz LmltcHJvdG8gKGltcywgY2FsbF9kYXRhKSkpIHsKKysgICAgICAgICAgICBYRnJlZSAoYXR0cklE X2xpc3QpOworICAgICAgICAgICAgIHJldHVybjsKKysgICAgICAgIH0KKyAgICAgICAgIC8qZW5k aWYqLworIAlpZiAoX1hpMThuTmVlZFN3YXAgKGkxOG5fY29yZSwgY29ubmVjdF9pZCkpCisgCSAg U3dhcEF0dHJpYnV0ZXMoZ2V0aWMtPmljX2F0dHIsIGdldGljLT5pY19hdHRyX251bSk7CitAQCAt MTAyMCw2ICsxMDI1LDggQEAgdm9pZCBfWGkxOG5HZXRJQyAoWElNUyBpbXMsIElNUHJvdG9jb2wg KmNhbGxfZGF0YSwgdW5zaWduZWQgY2hhciAqcCkKKyAgICAgaWYgKHJlcGx5ID09IE5VTEwpCisg ICAgIHsKKyAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9F UlJPUiwgMCwgMCwgMCk7CisrICAgICAgICBYRnJlZSAoYXR0cklEX2xpc3QpOworKyAgICAgICAg RnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAgICAgLyplbmRp ZiovCitkaWZmIC0tZ2l0IGEvdXRpbC9JTWRraXQvaTE4bk1ldGhvZC5jIGIvdXRpbC9JTWRraXQv aTE4bk1ldGhvZC5jCitpbmRleCAyMDNmODMxNS4uMzZkZDI4YWMgMTAwNjQ0CistLS0gYS91dGls L0lNZGtpdC9pMThuTWV0aG9kLmMKKysrKyBiL3V0aWwvSU1ka2l0L2kxOG5NZXRob2QuYworQEAg LTg5NSw2ICs4OTUsNyBAQCBzdGF0aWMgU3RhdHVzIHhpMThuX2ZvcndhcmRFdmVudCAoWElNUyBp bXMsIFhQb2ludGVyIHhwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsK KysgICAgICAgIEZyYW1lTWdyRnJlZSAoZm0pOworICAgICAgICAgcmV0dXJuIEZhbHNlOworICAg ICB9CisgICAgIC8qZW5kaWYqLworQEAgLTk2NCw2ICs5NjUsNyBAQCBzdGF0aWMgU3RhdHVzIHhp MThuX2NvbW1pdCAoWElNUyBpbXMsIFhQb2ludGVyIHhwKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKysgICAgICAgICAgICBGcmFtZU1nckZyZWUg KGZtKTsKKyAgICAgICAgICAgICByZXR1cm4gRmFsc2U7CisgICAgICAgICB9CisgICAgICAgICAv KmVuZGlmKi8KK0BAIC05OTcsNiArOTk5LDcgQEAgc3RhdGljIFN0YXR1cyB4aTE4bl9jb21taXQg KFhJTVMgaW1zLCBYUG9pbnRlciB4cCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMCk7CisrICAgICAgICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAg ICAgICAgICAgcmV0dXJuIEZhbHNlOworICAgICAgICAgfQorICAgICAgICAgLyplbmRpZiovCitA QCAtMTEzMiw2ICsxMTM1LDcgQEAgc3RhdGljIGludCB4aTE4bl9zeW5jWGxpYiAoWElNUyBpbXMs IFhQb2ludGVyIHhwKQorICAgICByZXBseSA9ICh1bnNpZ25lZCBjaGFyICopIG1hbGxvYyAodG90 YWxfc2l6ZSk7CisgICAgIGlmICghcmVwbHkpIHsKKyAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdl IChpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJPUiwgMCwgMCwgMCk7CisrICAgICAgICBGcmFtZU1n ckZyZWUgKGZtKTsKKyAgICAgICAgIHJldHVybiBGYWxzZTsKKyAgICAgfQorICAgICBtZW1zZXQg KHJlcGx5LCAwLCB0b3RhbF9zaXplKTsKK2RpZmYgLS1naXQgYS91dGlsL0lNZGtpdC9pMThuT2Zm c2V0Q2FjaGUuYyBiL3V0aWwvSU1ka2l0L2kxOG5PZmZzZXRDYWNoZS5jCitpbmRleCBjOTUyZDVi NC4uZDUzNzkwNTEgMTAwNjQ0CistLS0gYS91dGlsL0lNZGtpdC9pMThuT2Zmc2V0Q2FjaGUuYwor KysrIGIvdXRpbC9JTWRraXQvaTE4bk9mZnNldENhY2hlLmMKK0BAIC0yNyw5ICsyNywxMSBAQAor ICAqLworIAorICNpbmNsdWRlIDxYMTEvWGxpYi5oPgorKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyAj aW5jbHVkZSA8c3RkZGVmLmg+CisgI2luY2x1ZGUgIklNZGtpdC5oIgorICNpbmNsdWRlICJYaTE4 bi5oIgorKyNpbmNsdWRlICJYaTE4bi5oIgorIAorIC8qCisgICogVGhlIFhJTSBzcGVjaWZpY2F0 aW9uIGRvZXMgbm90IGxpbWl0IHRoZSBudW1iZXIgb2Ygd2luZG93IHByb3BlcnRpZXMKK0BAIC01 Miw5ICs1NCwxMSBAQCB2b2lkIF9YaTE4bkluaXRPZmZzZXRDYWNoZSAoWGkxOG5PZmZzZXRDYWNo ZSAqb2Zmc2V0X2NhY2hlKQorIHVuc2lnbmVkIGxvbmcgX1hpMThuTG9va3VwUHJvcGVydHlPZmZz ZXQgKFhpMThuT2Zmc2V0Q2FjaGUgKm9mZnNldF9jYWNoZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBdG9tIGtleSkKKyB7CistICAgIFhpMThuQXRvbU9mZnNl dFBhaXIgKmRhdGEgPSBvZmZzZXRfY2FjaGUtPmRhdGE7CisrICAgIFhpMThuQXRvbU9mZnNldFBh aXIgKmRhdGE7CisgICAgIHNpemVfdCBpOworIAorKyAgICBhc3NlcnQgKG9mZnNldF9jYWNoZSk7 CisrICAgIGRhdGEgPSBvZmZzZXRfY2FjaGUtPmRhdGE7CisgICAgIGZvciAoaSA9IDA7IGkgPCBv ZmZzZXRfY2FjaGUtPnNpemU7ICsraSkgeworICAgICAgICAgaWYgKGRhdGFbaV0ua2V5ID09IGtl eSkgeworICAgICAgICAgICAgIHJldHVybiBkYXRhW2ldLm9mZnNldDsKK0BAIC03MCw2ICs3NCw3 IEBAIHZvaWQgX1hpMThuU2V0UHJvcGVydHlPZmZzZXQgKFhpMThuT2Zmc2V0Q2FjaGUgKm9mZnNl dF9jYWNoZSwgQXRvbSBrZXksCisgICAgIFhpMThuQXRvbU9mZnNldFBhaXIgKmRhdGEgPSBvZmZz ZXRfY2FjaGUtPmRhdGE7CisgICAgIHNpemVfdCBpOworIAorKyAgICBhc3NlcnQgKGRhdGEgIT0g TlVMTCk7CisgICAgIGZvciAoaSA9IDA7IGkgPCBvZmZzZXRfY2FjaGUtPnNpemU7ICsraSkgewor ICAgICAgICAgaWYgKGRhdGFbaV0ua2V5ID09IGtleSkgeworICAgICAgICAgICAgIGRhdGFbaV0u b2Zmc2V0ID0gb2Zmc2V0OworQEAgLTc5LDExICs4NCwxOSBAQCB2b2lkIF9YaTE4blNldFByb3Bl cnR5T2Zmc2V0IChYaTE4bk9mZnNldENhY2hlICpvZmZzZXRfY2FjaGUsIEF0b20ga2V5LAorIAor ICAgICBpZiAoKytvZmZzZXRfY2FjaGUtPnNpemUgPiBvZmZzZXRfY2FjaGUtPmNhcGFjaXR5KSB7 CisgICAgICAgICBvZmZzZXRfY2FjaGUtPmNhcGFjaXR5ICo9IE9GRlNFVF9DQUNIRV9HUk9XVEhf RkFDVE9SOworLSAgICAgICAgb2Zmc2V0X2NhY2hlLT5kYXRhID0gZGF0YSA9IChYaTE4bkF0b21P ZmZzZXRQYWlyICopIHJlYWxsb2MgKGRhdGEsCisrICAgICAgICBvZmZzZXRfY2FjaGUtPmRhdGEg PSAoWGkxOG5BdG9tT2Zmc2V0UGFpciAqKSByZWFsbG9jIChkYXRhLAorICAgICAgICAgICAgICAg ICBvZmZzZXRfY2FjaGUtPmNhcGFjaXR5ICogc2l6ZW9mIChYaTE4bkF0b21PZmZzZXRQYWlyKSk7 CisrICAgICAgICBpZiAob2Zmc2V0X2NhY2hlLT5kYXRhID09IE5VTEwpIHsKKysgICAgICAgICAg ICBvZmZzZXRfY2FjaGUtPmRhdGEgPSBkYXRhOworKyAgICAgICAgICAgIC0tb2Zmc2V0X2NhY2hl LT5zaXplOworKyAgICAgICAgfQorKyAgICAgICAgZGF0YSA9IG9mZnNldF9jYWNoZS0+ZGF0YTsK KyAgICAgfQorIAorLSAgICBkYXRhW2ldLmtleSA9IGtleTsKKy0gICAgZGF0YVtpXS5vZmZzZXQg PSBvZmZzZXQ7CisrICAgIGFzc2VydCAoZGF0YSAhPSBOVUxMKTsKKysgICAgaWYgKG9mZnNldF9j YWNoZS0+c2l6ZSA+IDApIHsKKysgICAgICAgIGRhdGFbaV0ua2V5ID0ga2V5OworKyAgICAgICAg ZGF0YVtpXS5vZmZzZXQgPSBvZmZzZXQ7CisrICAgIH0KKyB9CisgCitkaWZmIC0tZ2l0IGEvdXRp bC9JTWRraXQvaTE4blB0SGRyLmMgYi91dGlsL0lNZGtpdC9pMThuUHRIZHIuYworaW5kZXggMmU2 NzM1NDEuLmVhZWVlZTFjIDEwMDY0NAorLS0tIGEvdXRpbC9JTWRraXQvaTE4blB0SGRyLmMKKysr KyBiL3V0aWwvSU1ka2l0L2kxOG5QdEhkci5jCitAQCAtMTEwLDYgKzExMCw3IEBAIHN0YXRpYyB2 b2lkIENvbm5lY3RNZXNzYWdlUHJvYyAoWElNUyBpbXMsCisgICAgIGlmICghcmVwbHkpCisgICAg IHsKKyAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJP UiwgMCwgMCwgMCk7CisrICAgICAgICBGcmFtZU1nckZyZWUgKGZtKTsKKyAgICAgICAgIHJldHVy bjsKKyAgICAgfQorICAgICAvKmVuZGlmKi8KK0BAIC0yMzAsNiArMjMxLDcgQEAgc3RhdGljIHZv aWQgT3Blbk1lc3NhZ2VQcm9jKFhJTVMgaW1zLCBJTVByb3RvY29sICpjYWxsX2RhdGEsIHVuc2ln bmVkIGNoYXIgKnApCisgICAgIGlmICghcmVwbHkpCisgICAgIHsKKyAgICAgICAgIF9YaTE4blNl bmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJPUiwgMCwgMCwgMCk7CisrICAgICAg ICBGcmFtZU1nckZyZWUgKGZtKTsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorICAgICAvKmVu ZGlmKi8KK0BAIC0zMTIsNiArMzE0LDcgQEAgc3RhdGljIHZvaWQgQ2xvc2VNZXNzYWdlUHJvYyAo WElNUyBpbXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOworKyAgICAg ICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAgICAgLypl bmRpZiovCitAQCAtNTEzLDYgKzUxNiwxMCBAQCBzdGF0aWMgdm9pZCBRdWVyeUV4dGVuc2lvbk1l c3NhZ2VQcm9jIChYSU1TIGltcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg MCk7CisrICAgICAgICBGcmFtZU1nckZyZWUgKGZtKTsKKysgICAgICAgIGZvciAoaSA9IDA7ICBp IDwgcmVwbHlfbnVtYmVyOyAgaSsrKQorKyAgICAgICAgICAgIFhGcmVlIChleHRfbGlzdFtpXS5u YW1lKTsKKysgICAgICAgIFhGcmVlICgoY2hhciAqKSBleHRfbGlzdCk7CisgICAgICAgICByZXR1 cm47CisgICAgIH0KKyAgICAgLyplbmRpZiovCitAQCAtNjEwLDggKzYxNywxMCBAQCBzdGF0aWMg dm9pZCBHZXRJTVZhbHVlRnJvbU5hbWUgKFhpMThuIGkxOG5fY29yZSwKKyAKKyAgICAgICAgICAg ICB0b3RhbF9zaXplID0gRnJhbWVNZ3JHZXRUb3RhbFNpemUgKGZtKTsKKyAgICAgICAgICAgICBk YXRhID0gKHVuc2lnbmVkIGNoYXIgKikgbWFsbG9jICh0b3RhbF9zaXplKTsKKy0gICAgICAgICAg ICBpZiAoIWRhdGEpCisrICAgICAgICAgICAgaWYgKCFkYXRhKSB7CisrICAgICAgICAgICAgICAg IEZyYW1lTWdyRnJlZSAoZm0pOworICAgICAgICAgICAgICAgICByZXR1cm47CisrICAgICAgICAg ICAgfQorICAgICAgICAgICAgIC8qZW5kaWYqLworICAgICAgICAgICAgIG1lbXNldCAoZGF0YSwg MCwgdG90YWxfc2l6ZSk7CisgICAgICAgICAgICAgRnJhbWVNZ3JTZXRCdWZmZXIgKGZtLCBkYXRh KTsKK0BAIC02NjYsMTEgKzY3NSwxMiBAQCBzdGF0aWMgWElNQXR0cmlidXRlICpNYWtlSU1BdHRy aWJ1dGVMaXN0IChYaTE4biBpMThuX2NvcmUsCisgICAgICAgICAvKmVuZGZvciovCisgICAgIH0K KyAgICAgLyplbmRmb3IqLworLSAgICBhdHRyaWJfbGlzdCA9IChYSU1BdHRyaWJ1dGUgKikgbWFs bG9jIChzaXplb2YgKFhJTUF0dHJpYnV0ZSkqbGlzdF9udW0pOworKyAgICBhdHRyaWJfbGlzdCA9 CisrICAgICAgICAgICAgKFhJTUF0dHJpYnV0ZSAqKSBtYWxsb2MgKHNpemVvZiAoWElNQXR0cmli dXRlKSoobGlzdF9udW0gKyAxKSk7CisgICAgIGlmICghYXR0cmliX2xpc3QpCisgICAgICAgICBy ZXR1cm4gTlVMTDsKKyAgICAgLyplbmRpZiovCistICAgIG1lbXNldCAoYXR0cmliX2xpc3QsIDAs IHNpemVvZiAoWElNQXR0cmlidXRlKSpsaXN0X251bSk7CisrICAgIG1lbXNldCAoYXR0cmliX2xp c3QsIDAsIHNpemVvZiAoWElNQXR0cmlidXRlKSoobGlzdF9udW0gKyAxKSk7CisgICAgIG51bWJl cl9yZXQgPSBsaXN0X251bTsKKyAgICAgbGlzdF9udW0gPSAwOworICAgICBmb3IgKGkgPSAwOyAg aSA8ICpudW1iZXI7ICBpKyspCitAQCAtODA1LDYgKzgxNSwxMCBAQCBzdGF0aWMgdm9pZCBHZXRJ TVZhbHVlc01lc3NhZ2VQcm9jIChYSU1TIGltcywKKyAgICAgaWYgKCFyZXBseSkKKyAgICAgewor ICAgICAgICAgX1hpMThuU2VuZE1lc3NhZ2UgKGltcywgY29ubmVjdF9pZCwgWElNX0VSUk9SLCAw LCAwLCAwKTsKKysgICAgICAgIEZyYW1lTWdyRnJlZSAoZm0pOworKyAgICAgICAgZm9yIChpID0g MDsgaSA8IGl0ZXJfY291bnQ7IGkrKykKKysgICAgICAgICAgICBYRnJlZShpbV9hdHRyaWJ1dGVf bGlzdFtpXS52YWx1ZSk7CisrICAgICAgICBYRnJlZSAoaW1fYXR0cmlidXRlX2xpc3QpOworICAg ICAgICAgcmV0dXJuOworICAgICB9CisgICAgIC8qZW5kaWYqLworQEAgLTk2MSw2ICs5NzUsNyBA QCBzdGF0aWMgdm9pZCBEZXN0cm95SUNNZXNzYWdlUHJvYyAoWElNUyBpbXMsCisgICAgIGlmICgh cmVwbHkpCisgICAgIHsKKyAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3Rf aWQsIFhJTV9FUlJPUiwgMCwgMCwgMCk7CisrICAgICAgICBGcmFtZU1nckZyZWUgKGZtKTsKKyAg ICAgICAgIHJldHVybjsKKyAgICAgfQorICAgICAvKmVuZGlmKi8KK0BAIC0xMDI2LDYgKzEwNDEs NyBAQCBzdGF0aWMgdm9pZCBSZXNldElDTWVzc2FnZVByb2MgKFhJTVMgaW1zLAorICAgICBpZiAo IXJlcGx5KQorICAgICB7CisgICAgICAgICBfWGkxOG5TZW5kTWVzc2FnZSAoaW1zLCBjb25uZWN0 X2lkLCBYSU1fRVJST1IsIDAsIDAsIDApOworKyAgICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7Cisg ICAgICAgICByZXR1cm47CisgICAgIH0KKyAgICAgLyplbmRpZiovCitAQCAtMTA3Miw3ICsxMDg4 LDcgQEAgc3RhdGljIGludCBXaXJlRXZlbnRUb0V2ZW50IChYaTE4biBpMThuX2NvcmUsCisgICAg IC8qIGdldCAmIHNldCBzZXJpYWwgKi8KKyAgICAgRnJhbWVNZ3JHZXRUb2tlbihmbSwgYzE2KTsK KyAgICAgZXYtPnhhbnkuc2VyaWFsID0gKHVuc2lnbmVkIGxvbmcpYzE2OworLSAgICBldi0+eGFu eS5zZXJpYWwgfD0gc2VyaWFsIDw8IDE2OworKyAgICBldi0+eGFueS5zZXJpYWwgfD0gKCh1bnNp Z25lZCBsb25nKXNlcmlhbCkgPDwgMTY7CisgICAgIGV2LT54YW55LnNlbmRfZXZlbnQgPSBGYWxz ZTsKKyAgICAgZXYtPnhhbnkuZGlzcGxheSA9IGkxOG5fY29yZS0+YWRkcmVzcy5kcHk7CisgCitA QCAtMTMwOCw2ICsxMzI0LDcgQEAgc3RhdGljIHZvaWQgVHJpZ2dlck5vdGlmeU1lc3NhZ2VQcm9j IChYSU1TIGltcywKKyAgICAgaWYgKCFyZXBseSkKKyAgICAgeworICAgICAgICAgX1hpMThuU2Vu ZE1lc3NhZ2UgKGltcywgY29ubmVjdF9pZCwgWElNX0VSUk9SLCAwLCAwLCAwKTsKKysgICAgICAg IEZyYW1lTWdyRnJlZSAoZm0pOworICAgICAgICAgcmV0dXJuOworICAgICB9CisgICAgIC8qZW5k aWYqLworQEAgLTE0NDMsNyArMTQ2MCw3IEBAIHN0YXRpYyB2b2lkIEVuY29kaW5nTmVnb3RpYXRv bk1lc3NhZ2VQcm9jIChYSU1TIGltcywKKyAgICAgaWYgKGJ5dGVfbGVuZ3RoID4gMCkKKyAgICAg eworICAgICAgICAgZW5jX25lZ28tPmVuY29kaW5naW5mbyA9IChYSU1TdHIgKikgbWFsbG9jIChz aXplb2YgKFhJTVN0cikqMTApOworLSAgICAgICAgbWVtc2V0IChlbmNfbmVnby0+ZW5jb2Rpbmcs IDAsIHNpemVvZiAoWElNU3RyKSoxMCk7CisrICAgICAgICBtZW1zZXQgKGVuY19uZWdvLT5lbmNv ZGluZ2luZm8sIDAsIHNpemVvZiAoWElNU3RyKSoxMCk7CisgICAgICAgICBpID0gMDsKKyAgICAg ICAgIHdoaWxlIChGcmFtZU1ncklzSXRlckxvb3BFbmQgKGZtLCAmc3RhdHVzKSA9PSBGYWxzZSkK KyAgICAgICAgIHsKK0BAIC0xNDg4LDYgKzE1MDUsNyBAQCBzdGF0aWMgdm9pZCBFbmNvZGluZ05l Z290aWF0b25NZXNzYWdlUHJvYyAoWElNUyBpbXMsCisgICAgIGlmICghcmVwbHkpCisgICAgIHsK KyAgICAgICAgIF9YaTE4blNlbmRNZXNzYWdlIChpbXMsIGNvbm5lY3RfaWQsIFhJTV9FUlJPUiwg MCwgMCwgMCk7CisrICAgICAgICBGcmFtZU1nckZyZWUgKGZtKTsKKyAgICAgICAgIHJldHVybjsK KyAgICAgfQorICAgICAvKmVuZGlmKi8KK2RpZmYgLS1naXQgYS91dGlsL0lNZGtpdC9pMThuVXRp bC5jIGIvdXRpbC9JTWRraXQvaTE4blV0aWwuYworaW5kZXggNjU1N2JkMWEuLjEwOWRjZGY5IDEw MDY0NAorLS0tIGEvdXRpbC9JTWRraXQvaTE4blV0aWwuYworKysrIGIvdXRpbC9JTWRraXQvaTE4 blV0aWwuYworQEAgLTE0OCw2ICsxNDgsNyBAQCB2b2lkIF9YaTE4blNlbmRNZXNzYWdlIChYSU1T IGltcywKKyAgICAgaWYgKHJlcGx5X2hkciA9PSBOVUxMKQorICAgICB7CisgICAgICAgICBfWGkx OG5TZW5kTWVzc2FnZSAoaW1zLCBjb25uZWN0X2lkLCBYSU1fRVJST1IsIDAsIDAsIDApOworKyAg ICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAgICAg LyplbmRpZiovCitAQCAtMTYzLDcgKzE2NCw4IEBAIHZvaWQgX1hpMThuU2VuZE1lc3NhZ2UgKFhJ TVMgaW1zLAorICAgICByZXBseXAgPSByZXBseTsKKyAgICAgbWVtbW92ZSAocmVwbHksIHJlcGx5 X2hkciwgaGVhZGVyX3NpemUpOworICAgICByZXBseXAgKz0gaGVhZGVyX3NpemU7CistICAgIG1l bW1vdmUgKHJlcGx5cCwgZGF0YSwgbGVuZ3RoKTsKKysgICAgaWYgKGxlbmd0aCA+IDAgJiYgZGF0 YSAhPSBOVUxMKQorKyAgICAgICAgbWVtbW92ZSAocmVwbHlwLCBkYXRhLCBsZW5ndGgpOworIAor ICAgICBpMThuX2NvcmUtPm1ldGhvZHMuc2VuZCAoaW1zLCBjb25uZWN0X2lkLCByZXBseSwgcmVw bHlfbGVuZ3RoKTsKKyAKK0BAIC0yMDIsOCArMjA0LDEwIEBAIHZvaWQgX1hpMThuU2VuZFRyaWdn ZXJLZXkgKFhJTVMgaW1zLCBDQVJEMTYgY29ubmVjdF9pZCkKKyAgICAgdG90YWxfc2l6ZSA9IEZy YW1lTWdyR2V0VG90YWxTaXplIChmbSk7CisgCisgICAgIHJlcGx5ID0gKHVuc2lnbmVkIGNoYXIg KikgbWFsbG9jICh0b3RhbF9zaXplKTsKKy0gICAgaWYgKCFyZXBseSkKKysgICAgaWYgKCFyZXBs eSkgeworKyAgICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAgICByZXR1cm47CisrICAg IH0KKyAgICAgLyplbmRpZiovCisgICAgIG1lbXNldCAocmVwbHksIDAsIHRvdGFsX3NpemUpOwor ICAgICBGcmFtZU1nclNldEJ1ZmZlciAoZm0sIHJlcGx5KTsKK0BAIC0yNTcsOCArMjYxLDEwIEBA IHZvaWQgX1hpMThuU2V0RXZlbnRNYXNrIChYSU1TIGltcywKKyAKKyAgICAgdG90YWxfc2l6ZSA9 IEZyYW1lTWdyR2V0VG90YWxTaXplIChmbSk7CisgICAgIHJlcGx5ID0gKHVuc2lnbmVkIGNoYXIg KikgbWFsbG9jICh0b3RhbF9zaXplKTsKKy0gICAgaWYgKCFyZXBseSkKKysgICAgaWYgKCFyZXBs eSkgeworKyAgICAgICAgRnJhbWVNZ3JGcmVlIChmbSk7CisgICAgICAgICByZXR1cm47CisrICAg IH0KKyAgICAgLyplbmRpZiovCisgICAgIG1lbXNldCAocmVwbHksIDAsIHRvdGFsX3NpemUpOwor ICAgICBGcmFtZU1nclNldEJ1ZmZlciAoZm0sIHJlcGx5KTsKK2RpZmYgLS1naXQgYS91dGlsL0lN ZGtpdC9pMThuWC5jIGIvdXRpbC9JTWRraXQvaTE4blguYworaW5kZXggODM4NWFiYTkuLjVlNWMx NWZhIDEwMDY0NAorLS0tIGEvdXRpbC9JTWRraXQvaTE4blguYworKysrIGIvdXRpbC9JTWRraXQv aTE4blguYworQEAgLTMxLDYgKzMxLDcgQEAgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1Ig UEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAgCisgKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworIAorKyNpbmNs dWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgI2luY2x1ZGUgPGxpbWl0cy5o PgorICNpbmNsdWRlIDxYMTEvWGxpYi5oPgorQEAgLTkyLDYgKzkzLDcgQEAgc3RhdGljIHVuc2ln bmVkIGNoYXIgKlJlYWRYSU1NZXNzYWdlIChYSU1TIGltcywKKyAgICAgICAgIGNsaWVudCA9IGNs aWVudC0+bmV4dDsKKyAgICAgfQorIAorKyAgICBhc3NlcnQgKGNsaWVudCk7CisgICAgIGlmIChl di0+Zm9ybWF0ID09IDgpIHsKKyAgICAgICAgIC8qIENsaWVudE1lc3NhZ2Ugb25seSAqLworICAg ICAgICAgWGltUHJvdG9IZHIgKmhkciA9IChYaW1Qcm90b0hkciAqKSBldi0+ZGF0YS5iOworQEAg LTE1OCw2ICsxNjAsNyBAQCBzdGF0aWMgdW5zaWduZWQgY2hhciAqUmVhZFhJTU1lc3NhZ2UgKFhJ TVMgaW1zLAorICAgICAgICAgLyogVGhlIHByb3BlcnR5IGRhdGEgaXMgcmV0cmlldmVkIGluIDMy LWJpdCBjaHVua3MgKi8KKyAgICAgICAgIGxvbmdfYmVnaW4gPSBvZmZzZXQgLyA0OworICAgICAg ICAgbG9uZ19lbmQgPSAoZW5kICsgMykgLyA0OworKyAgICAgICAgYXNzZXJ0ICh4X2NsaWVudCk7 CisgICAgICAgICByZXR1cm5fY29kZSA9IFhHZXRXaW5kb3dQcm9wZXJ0eSAoaTE4bl9jb3JlLT5h ZGRyZXNzLmRweSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4 X2NsaWVudC0+YWNjZXB0X3dpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBhdG9tLAorQEAgLTI3NiwxMSArMjc5LDExIEBAIHN0YXRpYyBCb29sIFhpMThuWEVu ZChYSU1TIGltcykKKyBzdGF0aWMgY2hhciAqTWFrZU5ld0F0b20gKENBUkQxNiBjb25uZWN0X2lk LCBjaGFyICphdG9tTmFtZSkKKyB7CisgICAgIHN0YXRpYyBpbnQgc2VxdWVuY2UgPSAwOworLSAg ICAKKyAgICAgc3ByaW50ZiAoYXRvbU5hbWUsCisgICAgICAgICAgICAgICJfc2VydmVyJWRfJWQi LAorICAgICAgICAgICAgICBjb25uZWN0X2lkLAorLSAgICAgICAgICAgICAoKHNlcXVlbmNlID4g MjApICA/ICAoc2VxdWVuY2UgPSAwKSAgOiAgc2VxdWVuY2UrKykpOworKyAgICAgICAgICAgICAo KHNlcXVlbmNlID4gMjApICA/ICAoc2VxdWVuY2UgPSAwKSAgOiAgKDB4MWYgJiBzZXF1ZW5jZSkp KTsKKysgICAgc2VxdWVuY2UrKzsKKyAgICAgcmV0dXJuIGF0b21OYW1lOworIH0KKyAKK0BAIC00 MTgsMTMgKzQyMSwxNiBAQCBzdGF0aWMgQm9vbCBYaTE4blhXYWl0IChYSU1TIGltcywKKyAgICAg ICAgICAgICAgICAgJiYKKyAgICAgICAgICAgICAgICAgKGhkci0+bWlub3Jfb3Bjb2RlID09IG1p bm9yX29wY29kZSkpCisgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBYRnJlZSAocGFj a2V0KTsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWU7CisgICAgICAgICAgICAgfQorICAg ICAgICAgICAgIGVsc2UgaWYgKGhkci0+bWFqb3Jfb3Bjb2RlID09IFhJTV9FUlJPUikKKyAgICAg ICAgICAgICB7CisrICAgICAgICAgICAgICAgIFhGcmVlIChwYWNrZXQpOworICAgICAgICAgICAg ICAgICByZXR1cm4gRmFsc2U7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIC8qZW5kaWYq LworKyAgICAgICAgICAgIFhGcmVlIChwYWNrZXQpOworICAgICAgICAgfQorICAgICAgICAgLypl bmRpZiovCisgICAgIH0KKy0tIAorMi4xNy4xCisK