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: Xavier Bachelot To: git-commits@fedoraproject.org Subject: [rpms/xine-lib] epel9: Add patches for ffmpeg compatibility Date: Fri, 18 Sep 2026 18:46:45 GMT Message-ID: <178975720563.1.247150092454023738.rpms-xine-lib-05b4a7f5965c@fedoraproject.org> List-ID: X-Git-Repo: rpms/xine-lib X-Git-Branch: epel9 X-Git-Rev: 05b4a7f5965c5bf8b3918f8fb2b5e60a4fb0ba52 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMveGluZS1saWIKQnJh bmNoIDogZXBlbDkKQ29tbWl0IDogMDViNGE3ZjU5NjVjNWJmOGIzOTE4ZjhmYjJiNWU2MGE0ZmIw YmE1MgpBdXRob3IgOiBYYXZpZXIgQmFjaGVsb3QgPHhhdmllckBiYWNoZWxvdC5vcmc+CkRhdGUg ICA6IDIwMjQtMDUtMjBUMTg6NDM6MDQrMDI6MDAKU3RhdHMgIDogKzgwNS8tNCBpbiAzIGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy94aW5lLWxpYi9j LzA1YjRhN2Y1OTY1YzViZjhiMzkxOGY4ZmIyYjVlNjBhNGZiMGJhNTI/YnJhbmNoPWVwZWw5CgpM b2c6CkFkZCBwYXRjaGVzIGZvciBmZm1wZWcgY29tcGF0aWJpbGl0eQoKLS0tCmRpZmYgLS1naXQg YS94aW5lLWxpYi0xLjIuMTMtZmZtcGVnNi1jb21wYXRpYmlsaXR5XzIucGF0Y2ggYi94aW5lLWxp Yi0xLjIuMTMtZmZtcGVnNi1jb21wYXRpYmlsaXR5XzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZDUwMDNjYQotLS0gL2Rldi9udWxsCisrKyBiL3hpbmUtbGliLTEu Mi4xMy1mZm1wZWc2LWNvbXBhdGliaWxpdHlfMi5wYXRjaApAQCAtMCwwICsxLDQ3NSBAQAorIyBI RyBjaGFuZ2VzZXQgcGF0Y2gKKyMgVXNlciBUb3JzdGVuIEphZ2VyIDx0LmphZ2VyQGdteC5kZT4K KyMgRGF0ZSAxNzE1MDI1MzU1IC03MjAwCisjICAgICAgTW9uIE1heSAwNiAyMTo1NTo1NSAyMDI0 ICswMjAwCisjIE5vZGUgSUQgMWU3YjE4NDAwODg2MGM4YmUyMjg5YzNjZWZkOWRlZTU3ZjA2MTkz YQorIyBQYXJlbnQgIGQxOTU0ZDg1Mjk4MGRkYzg4N2E2N2E5ZjFhMjY2MjY5MDk1NjFmZjUKK2Zm bXBlZyBjb21wYXRpYmlsaXR5IHVwZGF0ZSAxLgorCitkaWZmIC1yIGQxOTU0ZDg1Mjk4MCAtciAx ZTdiMTg0MDA4ODYgc3JjL2NvbWJpbmVkL2ZmbXBlZy9mZl9hdWRpb19kZWNvZGVyLmMKKy0tLSBh L3NyYy9jb21iaW5lZC9mZm1wZWcvZmZfYXVkaW9fZGVjb2Rlci5jCU1vbiBBcHIgMDggMTM6MjU6 MTAgMjAyNCArMDIwMAorKysrIGIvc3JjL2NvbWJpbmVkL2ZmbXBlZy9mZl9hdWRpb19kZWNvZGVy LmMJTW9uIE1heSAwNiAyMTo1NTo1NSAyMDI0ICswMjAwCitAQCAtMSw1ICsxLDUgQEAKKyAvKgor LSAqIENvcHlyaWdodCAoQykgMjAwMS0yMDIzIHRoZSB4aW5lIHByb2plY3QKKysgKiBDb3B5cmln aHQgKEMpIDIwMDEtMjAyNCB0aGUgeGluZSBwcm9qZWN0CisgICoKKyAgKiBUaGlzIGZpbGUgaXMg cGFydCBvZiB4aW5lLCBhIGZyZWUgdmlkZW8gcGxheWVyLgorICAqCitAQCAtNjcsNiArNjcsNyBA QAorIAorICAgeGluZV90ICAgICAgICAgICAgICAgICAqeGluZTsKKyAgIGZsb2F0ICAgICAgICAg ICAgICAgICAgIGdhaW47CisrICBpbnQgICAgICAgICAgICAgICAgICAgICBiaXRleGFjdDsKKyB9 IGZmX2F1ZGlvX2NsYXNzX3Q7CisgCisgdHlwZWRlZiBzdHJ1Y3QgZmZfYXVkaW9fZGVjb2Rlcl9z IHsKK0BAIC0xODgsMTQgKzE4OSwyNSBAQAorICAgICAgICAgeHByaW50ZiAodGhpcy0+c3RyZWFt LT54aW5lLCBYSU5FX1ZFUkJPU0lUWV9ERUJVRywKKyAgICAgICAgICAgImZmbXBlZ19hdWRpb19k ZWM6IGZvdW5kIEFBQyBBRFRTIHN5bmN3b3JkIGFmdGVyICVkIGJ5dGVzXG4iLCBpKTsKKyAgICAg ICAgIGlmICh0aGlzLT5idWZ0eXBlID09IEJVRl9BVURJT19BQUNfTEFUTSkgeworKyAgICAgICAg ICB1aW50OF90ICplZCA9IE5VTEw7CisrICAgICAgICAgIGludCBlcyA9IDA7CisgICAgICAgICAg IHhwcmludGYgKHRoaXMtPnN0cmVhbS0+eGluZSwgWElORV9WRVJCT1NJVFlfREVCVUcsCisgICAg ICAgICAgICAgImZmbXBlZ19hdWRpb19kZWM6IHN0cmVhbSBzYXlzIExBVE0gYnV0IGlzIEFEVFMg LT4gc3dpdGNoaW5nIGRlY29kZXJzXG4iKTsKKy0gICAgICAgICAgaWYgKHRoaXMtPmRlY29kZXJf b2spIHsKKy0gICAgICAgICAgICBwdGhyZWFkX211dGV4X2xvY2sgKCZmZm1wZWdfbG9jayk7Cist ICAgICAgICAgICAgYXZjb2RlY19jbG9zZSAodGhpcy0+Y29udGV4dCk7CistICAgICAgICAgICAg cHRocmVhZF9tdXRleF91bmxvY2sgKCZmZm1wZWdfbG9jayk7CistICAgICAgICAgICAgdGhpcy0+ ZGVjb2Rlcl9vayA9IDA7CisrICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jayAoJmZmbXBlZ19s b2NrKTsKKysgICAgICAgICAgaWYgKHRoaXMtPmNvbnRleHQpIHsKKysgICAgICAgICAgICBlZCA9 IHRoaXMtPmNvbnRleHQtPmV4dHJhZGF0YTsKKysgICAgICAgICAgICBlcyA9IHRoaXMtPmNvbnRl eHQtPmV4dHJhZGF0YV9zaXplOworKyAgICAgICAgICAgIHRoaXMtPmNvbnRleHQtPmV4dHJhZGF0 YSA9IE5VTEw7CisrICAgICAgICAgICAgdGhpcy0+Y29udGV4dC0+ZXh0cmFkYXRhX3NpemUgPSAw OworKyAgICAgICAgICAgIFhGRl9GUkVFX0NPTlRFWFQgKHRoaXMtPmNvbnRleHQpOworICAgICAg ICAgICB9CisrICAgICAgICAgIHRoaXMtPmRlY29kZXJfb2sgPSAwOworKyAgICAgICAgICB0aGlz LT5jb250ZXh0ID0gWEZGX0FMTE9DX0NPTlRFWFQgKCk7CisrICAgICAgICAgIGlmICh0aGlzLT5j b250ZXh0KSB7CisrICAgICAgICAgICAgdGhpcy0+Y29udGV4dC0+ZXh0cmFkYXRhID0gZWQ7Cisr ICAgICAgICAgICAgdGhpcy0+Y29udGV4dC0+ZXh0cmFkYXRhX3NpemUgPSBlczsKKysgICAgICAg ICAgfQorKyAgICAgICAgICBwdGhyZWFkX211dGV4X3VubG9jayAoJmZmbXBlZ19sb2NrKTsKKyAg ICAgICAgICAgdGhpcy0+Y29kZWMgPSBOVUxMOworICAgICAgICAgICBmZl9hdWRpb19vcGVuX2Nv ZGVjICh0aGlzLCBCVUZfQVVESU9fQUFDKTsKKyAgICAgICAgIH0KK0BAIC0zNDksNiArMzYxLDEx IEBACisgICAgIHJldHVybiAtMTsKKyAgIH0KKyAKKysgIGlmICh0aGlzLT5jbGFzcy0+Yml0ZXhh Y3QpCisrICAgIHRoaXMtPmNvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfQklURVhBQ1Q7Cisr ICBlbHNlCisrICAgIHRoaXMtPmNvbnRleHQtPmZsYWdzICY9IH5DT0RFQ19GTEFHX0JJVEVYQUNU OworKworICAgcHRocmVhZF9tdXRleF9sb2NrICgmZmZtcGVnX2xvY2spOworICAgaWYgKFhGRl9B VkNPREVDX09QRU4gKHRoaXMtPmNvbnRleHQsIHRoaXMtPmNvZGVjKSA8IDApIHsKKyAgICAgcHRo cmVhZF9tdXRleF91bmxvY2sgKCZmZm1wZWdfbG9jayk7CitAQCAtMTM3Nyw5ICsxMzk0LDIxIEBA CisgICAgIH0KKyAjZW5kaWYKKyAgICAgcHRocmVhZF9tdXRleF9sb2NrICgmZmZtcGVnX2xvY2sp OworLSAgICBhdmNvZGVjX2Nsb3NlICh0aGlzLT5jb250ZXh0KTsKKy0gICAgaWYgKFhGRl9BVkNP REVDX09QRU4gKHRoaXMtPmNvbnRleHQsIHRoaXMtPmNvZGVjKSA8IDApCisrICAgIHsKKysgICAg ICB1aW50OF90ICplZCA9IHRoaXMtPmNvbnRleHQtPmV4dHJhZGF0YTsKKysgICAgICBpbnQgZXMg PSB0aGlzLT5jb250ZXh0LT5leHRyYWRhdGFfc2l6ZTsKKysgICAgICB0aGlzLT5jb250ZXh0LT5l eHRyYWRhdGEgPSBOVUxMOworKyAgICAgIHRoaXMtPmNvbnRleHQtPmV4dHJhZGF0YV9zaXplID0g MDsKKysgICAgICBYRkZfRlJFRV9DT05URVhUICh0aGlzLT5jb250ZXh0KTsKKyAgICAgICB0aGlz LT5kZWNvZGVyX29rID0gMDsKKysgICAgICB0aGlzLT5jb250ZXh0ID0gWEZGX0FMTE9DX0NPTlRF WFQgKCk7CisrICAgICAgaWYgKHRoaXMtPmNvbnRleHQpIHsKKysgICAgICAgIHRoaXMtPmNvbnRl eHQtPmV4dHJhZGF0YSA9IGVkOworKyAgICAgICAgdGhpcy0+Y29udGV4dC0+ZXh0cmFkYXRhX3Np emUgPSBlczsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKFhGRl9BVkNPREVDX09QRU4gKHRo aXMtPmNvbnRleHQsIHRoaXMtPmNvZGVjKSA+PSAwKQorKyAgICAgIHRoaXMtPmRlY29kZXJfb2sg PSAxOworICAgICBwdGhyZWFkX211dGV4X3VubG9jayAoJmZmbXBlZ19sb2NrKTsKKyAgIH0KKyAK K0BAIC0xNDE4LDIwICsxNDQ3LDIwIEBACisgICAgICAgWEZGX0ZSRUVfRlJBTUUgKHRoaXMtPmF2 X2ZyYW1lKTsKKyAgICAgfQorICNlbmRpZgorLSAgICBwdGhyZWFkX211dGV4X2xvY2sgKCZmZm1w ZWdfbG9jayk7CistICAgIGF2Y29kZWNfY2xvc2UgKHRoaXMtPmNvbnRleHQpOworLSAgICBwdGhy ZWFkX211dGV4X3VubG9jayAoJmZmbXBlZ19sb2NrKTsKKyAgIH0KKysgIHB0aHJlYWRfbXV0ZXhf bG9jayAoJmZmbXBlZ19sb2NrKTsKKysgIGlmICh0aGlzLT5jb250ZXh0KSB7CisrICAgIF94X2Zy ZWVwICgmdGhpcy0+Y29udGV4dC0+ZXh0cmFkYXRhKTsKKysgICAgdGhpcy0+Y29udGV4dC0+ZXh0 cmFkYXRhX3NpemUgPSAwOworKyAgICBYRkZfRlJFRV9DT05URVhUICh0aGlzLT5jb250ZXh0KTsK KysgIH0KKysgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrICgmZmZtcGVnX2xvY2spOworIAorICAgZmZf YXVkaW9fb3V0cHV0X2Nsb3NlKHRoaXMpOworIAorICAgeGluZV9mcmVlX2FsaWduZWQgKHRoaXMt PmJ1Zik7CisgICB4aW5lX2ZyZWVfYWxpZ25lZCAodGhpcy0+ZGVjb2RlX2J1ZmZlcik7CisgCist ICBfeF9mcmVlcCAoJnRoaXMtPmNvbnRleHQtPmV4dHJhZGF0YSk7CistICB0aGlzLT5jb250ZXh0 LT5leHRyYWRhdGFfc2l6ZSA9IDA7CistICBYRkZfRlJFRV9DT05URVhUICh0aGlzLT5jb250ZXh0 KTsKKy0KKyAgIFhGRl9QQUNLRVRfVU5SRUYgKHRoaXMtPmF2cGt0KTsKKyAKKyAgIHhpbmVfcHRz X3F1ZXVlX2RlbGV0ZSAoJnRoaXMtPnB0c19xdWV1ZSk7CitAQCAtMTUxMyw2ICsxNTQyLDEyIEBA CisgICBmcmVlICh0aGlzKTsKKyB9CisgCisrc3RhdGljIHZvaWQgZmZfYml0ZXhhY3RfY2IgKHZv aWQgKnVzZXJfZGF0YSwgeGluZV9jZmdfZW50cnlfdCAqZW50cnkpIHsKKysgIGZmX2F1ZGlvX2Ns YXNzX3QgKmNsYXNzID0gKGZmX2F1ZGlvX2NsYXNzX3QgKil1c2VyX2RhdGE7CisrCisrICBjbGFz cy0+Yml0ZXhhY3QgPSBlbnRyeS0+bnVtX3ZhbHVlOworK30KKysKKyB2b2lkICppbml0X2F1ZGlv X3BsdWdpbiAoeGluZV90ICp4aW5lLCBjb25zdCB2b2lkICpkYXRhKSB7CisgCisgICBmZl9hdWRp b19jbGFzc190ICp0aGlzIDsKK0BAIC0xNTQwLDUgKzE1NzUsMTIgQEAKKyAgICAgICAxMCwgZmZf Z2Fpbl9jYiwgdGhpcykKKyAgICAgLyAoZmxvYXQpMjApOworIAorKyAgdGhpcy0+Yml0ZXhhY3Qg PSB4aW5lLT5jb25maWctPnJlZ2lzdGVyX2Jvb2wgKHhpbmUtPmNvbmZpZywKKysgICAgICAiYXVk aW8ucHJvY2Vzc2luZy5mZm1wZWdfYml0ZXhhY3QiLCAwLAorKyAgICAgIF8oIkxldCBGRm1wZWcg dXNlIHByZWNpc2UgYnV0IHNsb3dlciBtYXRoIiksCisrICAgICAgXygiR2V0IHNsaWdodGx5IGJl dHRlciBzb3VuZCwgYXQgdGhlIGV4cGVuc2Ugb2Ygc3BlZWQuXG4iCisrICAgICAgICAiVGFrZXMg ZWZmZWN0IHdpdGggbmV4dCBzdHJlYW0uIiksCisrICAgICAgMTAsIGZmX2JpdGV4YWN0X2NiLCB0 aGlzKTsKKysKKyAgIHJldHVybiB0aGlzOworIH0KK2RpZmYgLXIgZDE5NTRkODUyOTgwIC1yIDFl N2IxODQwMDg4NiBzcmMvY29tYmluZWQvZmZtcGVnL2ZmX3ZpZGVvX2RlY29kZXIuYworLS0tIGEv c3JjL2NvbWJpbmVkL2ZmbXBlZy9mZl92aWRlb19kZWNvZGVyLmMJTW9uIEFwciAwOCAxMzoyNTox MCAyMDI0ICswMjAwCisrKysgYi9zcmMvY29tYmluZWQvZmZtcGVnL2ZmX3ZpZGVvX2RlY29kZXIu YwlNb24gTWF5IDA2IDIxOjU1OjU1IDIwMjQgKzAyMDAKK0BAIC0xLDUgKzEsNSBAQAorIC8qCist ICogQ29weXJpZ2h0IChDKSAyMDAxLTIwMjIgdGhlIHhpbmUgcHJvamVjdAorKyAqIENvcHlyaWdo dCAoQykgMjAwMS0yMDI0IHRoZSB4aW5lIHByb2plY3QKKyAgKgorICAqIFRoaXMgZmlsZSBpcyBw YXJ0IG9mIHhpbmUsIGEgZnJlZSB2aWRlbyBwbGF5ZXIuCisgICoKK0BAIC0xMjgsNiArMTI4LDcg QEAKKyAKKyAgIGludDY0X3QgICAgICAgICAgIHB0czsKKyAgIGludDY0X3QgICAgICAgICAgIGxh c3RfcHRzOworKyAgaW50NjRfdCAgICAgICAgICAgdGFnZ2VkX3B0czsKKyAgIGludCAgICAgICAg ICAgICAgIHZpZGVvX3N0ZXA7CisgICBpbnQgICAgICAgICAgICAgICByZXBvcnRlZF92aWRlb19z dGVwOworICAgdWludDhfdCAgICAgICAgICAgcHRzX3RhZ19wYXNzOworQEAgLTU1MSw3ICs1NTIs OSBAQAorICMgIGlmZGVmIFhGRl9GUkFNRV9BR0UKKyAgIGF2X2ZyYW1lLT5hZ2UgPSAxOworICMg IGVuZGlmCisrI2lmZGVmIFhGRl9BVkNPREVDX1JFT1JERVJFRF9PUEFRVUUKKyAgIGF2X2ZyYW1l LT5yZW9yZGVyZWRfb3BhcXVlID0gY29udGV4dC0+cmVvcmRlcmVkX29wYXF1ZTsKKysjZW5kaWYK KyAKKyAgIGZmc2YgPSBmZnNmX25ldyAodGhpcyk7CisgICBpZiAoIWZmc2YpCitAQCAtODYyLDcg Kzg2NSw5IEBACisgIyBlbmRpZgorIAorICAgLyogdGFrZSBvdmVyIHB0cyBmb3IgdGhpcyBmcmFt ZSB0byBoYXZlIGl0IHJlb3JkZXJlZCAqLworKyNpZmRlZiBYRkZfQVZDT0RFQ19SRU9SREVSRURf T1BBUVVFCisgICBhdl9mcmFtZS0+cmVvcmRlcmVkX29wYXF1ZSA9IGNvbnRleHQtPnJlb3JkZXJl ZF9vcGFxdWU7CisrI2VuZGlmCisgCisgICByZXR1cm4gMDsKKyB9CitAQCAtMTE0Miw5ICsxMTQ3 LDEzIEBACisgICBpZiAodGhpcy0+Y29kZWMtPmlkID09IENPREVDX0lEX1ZDMSAmJgorICAgICAg ICghdGhpcy0+YmloLmJpV2lkdGggfHwgIXRoaXMtPmJpaC5iaUhlaWdodCkpIHsKKyAgICAgLyog VkMxIGNvZGVjIG11c3QgYmUgcmUtb3BlbmVkIHdpdGggY29ycmVjdCB3aWR0aCBhbmQgaGVpZ2h0 LiAqLworLSAgICBhdmNvZGVjX2Nsb3NlKHRoaXMtPmNvbnRleHQpOworLQorLSAgICBpZiAoWEZG X0FWQ09ERUNfT1BFTiAodGhpcy0+Y29udGV4dCwgdGhpcy0+Y29kZWMpIDwgMCkgeworKyAgICBp ZiAodGhpcy0+Y29udGV4dCkgeworKyAgICAgIF94X2ZyZWVwICgmdGhpcy0+Y29udGV4dC0+ZXh0 cmFkYXRhKTsKKysgICAgICB0aGlzLT5jb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA9IDA7CisrICAg ICAgWEZGX0ZSRUVfQ09OVEVYVCAodGhpcy0+Y29udGV4dCk7CisrICAgIH0KKysgICAgdGhpcy0+ Y29udGV4dCA9IFhGRl9BTExPQ19DT05URVhUICgpOworKyAgICBpZiAoISh0aGlzLT5jb250ZXh0 ICYmIFhGRl9BVkNPREVDX09QRU4gKHRoaXMtPmNvbnRleHQsIHRoaXMtPmNvZGVjKSA+PSAwKSkg eworICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZmZm1wZWdfbG9jayk7CisgICAgICAgeHBy aW50ZiAodGhpcy0+c3RyZWFtLT54aW5lLCBYSU5FX1ZFUkJPU0lUWV9MT0csCisgCSAgICAgICBf KCJmZm1wZWdfdmlkZW9fZGVjOiBjb3VsZG4ndCBvcGVuIGRlY29kZXIgKHBhc3MgMilcbiIpKTsK K0BAIC0xMjExLDYgKzEyMjAsMTEgQEAKKyAgIC8qIGRvbnQgd2FudCBpbml0aWFsIEFWX05PUFRT X1ZBTFVFIGhlcmUgKi8KKyAgIHRoaXMtPmNvbnRleHQtPnJlb3JkZXJlZF9vcGFxdWUgPSAwOwor ICNlbmRpZgorKworKyNpZmRlZiBYRkZfQVZDT0RFQ19GUkFNRV9QVFMKKysgIHRoaXMtPmNvbnRl eHQtPnRpbWVfYmFzZS5udW0gPSAxOworKyAgdGhpcy0+Y29udGV4dC0+dGltZV9iYXNlLmRlbiA9 IDkwMDAwIDw8IDg7CisrI2VuZGlmCisgfQorIAorICNpZmRlZiBFTkFCTEVfVkFBUEkKK0BAIC0x OTU5LDcgKzE5NzMsMjYgQEAKKyAgIHJldHVybiAocHRzICogMjU2KSB8IHRoaXMtPnB0c190YWdf cGFzczsKKyB9CisgCistc3RhdGljIGludDY0X3QgZmZfdW50YWdfcHRzIChmZl92aWRlb19kZWNv ZGVyX3QgKnRoaXMsIGludDY0X3QgcHRzKSB7Cisrc3RhdGljIGludDY0X3QgZmZfdW50YWdfcHRz IChmZl92aWRlb19kZWNvZGVyX3QgKnRoaXMsIEFWRnJhbWUgKmF2X2ZyYW1lKSB7CisrICBpbnQ2 NF90IHB0czsKKysjaWYgZGVmaW5lZChYRkZfQVZDT0RFQ19GUkFNRV9QVFMpCisrICBwdHMgPSAo YXZfZnJhbWUtPnB0cyAhPSBBVl9OT1BUU19WQUxVRSkgPyBhdl9mcmFtZS0+cHRzIDogMDsKKysj ICBpZiBkZWZpbmVkKFhGRl9BVkNPREVDX1JFT1JERVJFRF9PUEFRVUUpCisrICAvKiBwYXJhbm9p YSAhISEgKi8KKysgIGlmIChwdHMgIT0gYXZfZnJhbWUtPnJlb3JkZXJlZF9vcGFxdWUpIHsKKysg ICAgeHByaW50ZiAodGhpcy0+c3RyZWFtLT54aW5lLCBYSU5FX1ZFUkJPU0lUWV9ERUJVRywKKysg ICAgICBMT0dfTU9EVUxFICI6IFdBUk5JTkc6IGZyYW1lIHB0cyAlIiBQUklkNjQgIiAhPSByZW9y ZGVyZWRfb3BhcXVlICUiIFBSSWQ2NCAiLlxuIiwKKysgICAgICBwdHMsIGF2X2ZyYW1lLT5yZW9y ZGVyZWRfb3BhcXVlKTsKKysgICAgcHRzID0gYXZfZnJhbWUtPnJlb3JkZXJlZF9vcGFxdWU7Cisr ICB9CisrICBhdl9mcmFtZS0+cmVvcmRlcmVkX29wYXF1ZSA9IDA7CisrIyAgZW5kaWYKKysjZWxp ZiBkZWZpbmVkKFhGRl9BVkNPREVDX1JFT1JERVJFRF9PUEFRVUUpCisrICBwdHMgPSBhdl9mcmFt ZS0+cmVvcmRlcmVkX29wYXF1ZTsKKysgIGF2X2ZyYW1lLT5yZW9yZGVyZWRfb3BhcXVlID0gMDsK KysjZWxzZQorKyAgcHRzID0gdGhpcy0+dGFnZ2VkX3B0czsKKysjZW5kaWYKKyAgIGlmICgodWlu dDhfdCkocHRzICYgMHhmZikgPT0gdGhpcy0+cHRzX3RhZ19wYXNzKSB7CisgICAgIC8qIHJlc3Rv cmUgc2lnbi4gKi8KKyAgICAgcmV0dXJuIHB0cyA+PiA4OworQEAgLTE5ODQsNyArMjAxNyw5IEBA CisgICB0aGlzLT5hdnBrdC0+ZGF0YSA9IGJ1ZjsKKyAgIHRoaXMtPmF2cGt0LT5zaXplID0gYnVm X3NpemU7CisgICB0aGlzLT5hdnBrdC0+ZmxhZ3MgPSBBVl9QS1RfRkxBR19LRVk7CistCisrIyBp ZmRlZiBYRkZfQVZDT0RFQ19GUkFNRV9QVFMKKysgIHRoaXMtPmF2cGt0LT5wdHMgPSB0aGlzLT50 YWdnZWRfcHRzOworKyMgZW5kaWYKKyAjIGlmIFhGRl9QQUxFVFRFID09IDIgfHwgWEZGX1BBTEVU VEUgPT0gMworICAgaWYgKGJ1ZiAmJiB0aGlzLT5wYWxldHRlX2NoYW5nZWQpIHsKKyAgICAgdWlu dDhfdCAqc2QgPSBhdl9wYWNrZXRfbmV3X3NpZGVfZGF0YSAodGhpcy0+YXZwa3QsIEFWX1BLVF9E QVRBX1BBTEVUVEUsIDI1NiAqIDQpOworQEAgLTIwOTQsOSArMjEyOSwxNCBAQAorICNlbmRpZgor IAorICAgICAvKiBhcHBseSB2YWxpZCBwdHMgdG8gZmlyc3QgZnJhbWUgX3N0YXJ0aW5nXyB0aGVy ZWFmdGVyIG9ubHkgKi8KKy0gICAgaWYgKHRoaXMtPnB0cyAmJiAhdGhpcy0+Y29udGV4dC0+cmVv cmRlcmVkX29wYXF1ZSkgeworLSAgICAgIHRoaXMtPmNvbnRleHQtPnJlb3JkZXJlZF9vcGFxdWUg PSAKKy0gICAgICB0aGlzLT5hdl9mcmFtZS0+cmVvcmRlcmVkX29wYXF1ZSA9IGZmX3RhZ19wdHMg KHRoaXMsIHRoaXMtPnB0cyk7CisrICAgIGlmICh0aGlzLT5wdHMgJiYgIXRoaXMtPnRhZ2dlZF9w dHMpIHsKKysgICAgICB0aGlzLT50YWdnZWRfcHRzID0gZmZfdGFnX3B0cyAodGhpcywgdGhpcy0+ cHRzKTsKKysjaWZkZWYgWEZGX0FWQ09ERUNfUkVPUkRFUkVEX09QQVFVRQorKyAgICAgIHRoaXMt PmNvbnRleHQtPnJlb3JkZXJlZF9vcGFxdWUgPSB0aGlzLT5hdl9mcmFtZS0+cmVvcmRlcmVkX29w YXF1ZSA9IHRoaXMtPnRhZ2dlZF9wdHM7CisrI2VuZGlmCisrI2lmZGVmIFhGRl9BVkNPREVDX0ZS QU1FX1BUUworKyAgICAgIHRoaXMtPmF2X2ZyYW1lLT5wdHMgPSB0aGlzLT50YWdnZWRfcHRzOwor KyNlbmRpZgorICAgICAgIHRoaXMtPnB0cyA9IDA7CisgICAgIH0KKyAKK0BAIC0yMjA3LDkgKzIy NDcsMTEgQEAKKyAgICAgICBpbWctPnRvcF9maWVsZF9maXJzdCAgID0gdGhpcy0+YXZfZnJhbWUt PnRvcF9maWVsZF9maXJzdDsKKyAKKyAgICAgICAvKiBnZXQgYmFjayByZW9yZGVyZWQgcHRzICov CistICAgICAgaW1nLT5wdHMgPSBmZl91bnRhZ19wdHMgKHRoaXMsIHRoaXMtPmF2X2ZyYW1lLT5y ZW9yZGVyZWRfb3BhcXVlKTsKKy0gICAgICB0aGlzLT5hdl9mcmFtZS0+cmVvcmRlcmVkX29wYXF1 ZSA9IDA7CisrICAgICAgaW1nLT5wdHMgPSBmZl91bnRhZ19wdHMgKHRoaXMsIHRoaXMtPmF2X2Zy YW1lKTsKKysgICAgICB0aGlzLT50YWdnZWRfcHRzID0gMDsKKysjaWZkZWYgWEZGX0FWQ09ERUNf UkVPUkRFUkVEX09QQVFVRQorICAgICAgIHRoaXMtPmNvbnRleHQtPnJlb3JkZXJlZF9vcGFxdWUg PSAwOworKyNlbmRpZgorIAorICAgICAgIGlmICh0aGlzLT5hdl9mcmFtZS0+cmVwZWF0X3BpY3Qp CisgICAgICAgICBpbWctPmR1cmF0aW9uID0gdGhpcy0+dmlkZW9fc3RlcCAqIDMgLyAyOworQEAg LTIzMzAsOSArMjM3MiwxNCBAQAorICAgfQorIAorICAgaWYgKHRoaXMtPnNpemUgPT0gMCkgewor KyAgICB0aGlzLT50YWdnZWRfcHRzID0gZmZfdGFnX3B0cyAodGhpcywgdGhpcy0+cHRzKTsKKyAg ICAgLyogdGFrZSBvdmVyIHB0cyB3aGVuIHdlIGFyZSBhYm91dCB0byBidWZmZXIgYSBmcmFtZSAq LworLSAgICB0aGlzLT5hdl9mcmFtZS0+cmVvcmRlcmVkX29wYXF1ZSA9IGZmX3RhZ19wdHModGhp cywgdGhpcy0+cHRzKTsKKy0gICAgdGhpcy0+Y29udGV4dC0+cmVvcmRlcmVkX29wYXF1ZSA9IGZm X3RhZ19wdHModGhpcywgdGhpcy0+cHRzKTsKKysjaWZkZWYgWEZGX0FWQ09ERUNfUkVPUkRFUkVE X09QQVFVRQorKyAgICB0aGlzLT5hdl9mcmFtZS0+cmVvcmRlcmVkX29wYXF1ZSA9IHRoaXMtPmNv bnRleHQtPnJlb3JkZXJlZF9vcGFxdWUgPSB0aGlzLT50YWdnZWRfcHRzOworKyNlbmRpZgorKyNp ZmRlZiBYRkZfQVZDT0RFQ19GUkFNRV9QVFMKKysgICAgdGhpcy0+YXZfZnJhbWUtPnB0cyA9IHRo aXMtPnRhZ2dlZF9wdHM7CisrI2VuZGlmCisgICAgIHRoaXMtPnB0cyA9IDA7CisgICB9CisgCitA QCAtMjQwNSw3ICsyNDUyLDEwIEBACisgICAgICAgICBuZWVkX3VucmVmID0gMTsKKyAjZW5kaWYK KyAgICAgICAgIC8qIHJlc2V0IGNvbnN1bWVkIHB0cyB2YWx1ZSAqLworLSAgICAgICAgdGhpcy0+ Y29udGV4dC0+cmVvcmRlcmVkX29wYXF1ZSA9IGZmX3RhZ19wdHModGhpcywgMCk7CisrICAgICAg ICB0aGlzLT50YWdnZWRfcHRzID0gZmZfdGFnX3B0cyAodGhpcywgMCk7CisrI2lmZGVmIFhGRl9B VkNPREVDX1JFT1JERVJFRF9PUEFRVUUKKysgICAgICAgIHRoaXMtPmNvbnRleHQtPnJlb3JkZXJl ZF9vcGFxdWUgPSB0aGlzLT50YWdnZWRfcHRzOworKyNlbmRpZgorIAorICAgICAgICAgaWYgKGVy cikgeworIAorQEAgLTI0MzksMTAgKzI0ODksMTQgQEAKKyAgICAgICAgICAgICBmZl9jaGVja19i dWZzaXplKHRoaXMsIHRoaXMtPnNpemUpOworICAgICAgICAgICAgIG1lbW1vdmUgKHRoaXMtPmJ1 ZiwgJmNodW5rX2J1ZltvZmZzZXRdLCB0aGlzLT5zaXplKTsKKyAgICAgICAgICAgICBjaHVua19i dWYgPSB0aGlzLT5idWY7CistCisgICAgICAgICAgICAgLyogdGFrZSBvdmVyIHB0cyBmb3IgbmV4 dCBhY2Nlc3MgdW5pdCAqLworLSAgICAgICAgICAgIHRoaXMtPmF2X2ZyYW1lLT5yZW9yZGVyZWRf b3BhcXVlID0gZmZfdGFnX3B0cyh0aGlzLCB0aGlzLT5wdHMpOworLSAgICAgICAgICAgIHRoaXMt PmNvbnRleHQtPnJlb3JkZXJlZF9vcGFxdWUgPSBmZl90YWdfcHRzKHRoaXMsIHRoaXMtPnB0cyk7 CisrICAgICAgICAgICAgdGhpcy0+dGFnZ2VkX3B0cyA9IGZmX3RhZ19wdHMgKHRoaXMsIHRoaXMt PnB0cyk7CisrI2lmZGVmIFhGRl9BVkNPREVDX1JFT1JERVJFRF9PUEFRVUUKKysgICAgICAgICAg ICB0aGlzLT5hdl9mcmFtZS0+cmVvcmRlcmVkX29wYXF1ZSA9IHRoaXMtPmNvbnRleHQtPnJlb3Jk ZXJlZF9vcGFxdWUgPSB0aGlzLT50YWdnZWRfcHRzOworKyNlbmRpZgorKyNpZmRlZiBYRkZfQVZD T0RFQ19GUkFNRV9QVFMKKysgICAgICAgICAgICB0aGlzLT5hdl9mcmFtZS0+cHRzID0gdGhpcy0+ dGFnZ2VkX3B0czsKKysjZW5kaWYKKyAgICAgICAgICAgICB0aGlzLT5wdHMgPSAwOworICAgICAg ICAgICB9CisgICAgICAgICB9CitAQCAtMjU1OSw4ICsyNjEzLDcgQEAKKyAgICAgICAgICAgZmZf Y29udmVydF9mcmFtZSh0aGlzLCBpbWcsIHRoaXMtPmF2X2ZyYW1lKTsKKyAgICAgICAgIH0KKyAK Ky0gICAgICAgIGltZy0+cHRzICA9IGZmX3VudGFnX3B0cyh0aGlzLCB0aGlzLT5hdl9mcmFtZS0+ cmVvcmRlcmVkX29wYXF1ZSk7CistICAgICAgICB0aGlzLT5hdl9mcmFtZS0+cmVvcmRlcmVkX29w YXF1ZSA9IDA7CisrICAgICAgICBpbWctPnB0cyAgPSBmZl91bnRhZ19wdHModGhpcywgdGhpcy0+ YXZfZnJhbWUpOworIAorICAgICAgICAgLyogd29ya2Fyb3VuZCBmb3Igd2VpcmQgMTIwZnBzIHN0 cmVhbXMgKi8KKyAgICAgICAgIGlmKCB2aWRlb19zdGVwX3RvX3VzZSA9PSA3NTAgKSB7CitAQCAt MjYwMCw4ICsyNjUzLDcgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGlzLT5vdXRwdXRfZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFZPX0JPVEhfRklFTERTfHRoaXMtPmZyYW1lX2ZsYWdz KTsKKyAgICAgICAvKiBzZXQgUFRTIHRvIGFsbG93IGVhcmx5IHN5bmNpbmcgKi8KKy0gICAgICBp bWctPnB0cyAgICAgICA9IGZmX3VudGFnX3B0cyh0aGlzLCB0aGlzLT5hdl9mcmFtZS0+cmVvcmRl cmVkX29wYXF1ZSk7CistICAgICAgdGhpcy0+YXZfZnJhbWUtPnJlb3JkZXJlZF9vcGFxdWUgPSAw OworKyAgICAgIGltZy0+cHRzICAgICAgID0gZmZfdW50YWdfcHRzKHRoaXMsIHRoaXMtPmF2X2Zy YW1lKTsKKyAKKyAgICAgICBpbWctPmR1cmF0aW9uICA9IHZpZGVvX3N0ZXBfdG9fdXNlOworIAor QEAgLTI3ODMsNyArMjgzNSw3IEBACisgICAgICAgZmZfY29udmVydF9mcmFtZSAodGhpcywgaW1n LCB0aGlzLT5hdl9mcmFtZTIpOworICAgICB9CisgCistICAgIGltZy0+cHRzID0gZmZfdW50YWdf cHRzICh0aGlzLCB0aGlzLT5hdl9mcmFtZTItPnJlb3JkZXJlZF9vcGFxdWUpOworKyAgICBpbWct PnB0cyA9IGZmX3VudGFnX3B0cyAodGhpcywgdGhpcy0+YXZfZnJhbWUyKTsKKyAKKyAgICAgaWYg KHZpZGVvX3N0ZXBfdG9fdXNlID09IDc1MCkKKyAgICAgICB2aWRlb19zdGVwX3RvX3VzZSA9IDA7 CitAQCAtMjkwMyw3ICsyOTU1LDkgQEAKKyAgIGlmICh0aGlzLT5kZWNvZGVyX29rKSB7CisgCisg ICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmZmZtcGVnX2xvY2spOworLSAgICBhdmNvZGVjX2Nsb3Nl ICh0aGlzLT5jb250ZXh0KTsKKysgICAgX3hfZnJlZXAgKCZ0aGlzLT5jb250ZXh0LT5leHRyYWRh dGEpOworKyAgICB0aGlzLT5jb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA9IDA7CisrICAgIFhGRl9G UkVFX0NPTlRFWFQgKHRoaXMtPmNvbnRleHQpOworICAgICBwdGhyZWFkX211dGV4X3VubG9jaygm ZmZtcGVnX2xvY2spOworIAorICNpZmRlZiBFTkFCTEVfRElSRUNUX1JFTkRFUklORworQEAgLTI5 MTIsMTYgKzI5NjYsMTUgQEAKKyAKKyAgICAgdGhpcy0+c3RyZWFtLT52aWRlb19vdXQtPmNsb3Nl KHRoaXMtPnN0cmVhbS0+dmlkZW9fb3V0LCB0aGlzLT5zdHJlYW0pOworICAgICB0aGlzLT5kZWNv ZGVyX29rID0gMDsKKysgIH0gZWxzZSBpZiAodGhpcy0+Y29udGV4dCkgeworKyAgICBfeF9mcmVl cCAoJnRoaXMtPmNvbnRleHQtPmV4dHJhZGF0YSk7CisrICAgIHRoaXMtPmNvbnRleHQtPmV4dHJh ZGF0YV9zaXplID0gMDsKKysgICAgWEZGX0ZSRUVfQ09OVEVYVCAodGhpcy0+Y29udGV4dCk7Cisg ICB9CisgCisgICBpZiAodGhpcy0+c2xpY2Vfb2Zmc2V0X3RhYmxlKQorICAgICBmcmVlICh0aGlz LT5zbGljZV9vZmZzZXRfdGFibGUpOworIAorLSAgaWYgKHRoaXMtPmNvbnRleHQpIHsKKy0gICAg X3hfZnJlZXAgKCZ0aGlzLT5jb250ZXh0LT5leHRyYWRhdGEpOworLSAgICB0aGlzLT5jb250ZXh0 LT5leHRyYWRhdGFfc2l6ZSA9IDA7CistICAgIFhGRl9GUkVFX0NPTlRFWFQgKHRoaXMtPmNvbnRl eHQpOworLSAgfQorIAorICNpZiBYRkZfVklERU8gPiAxCisgICBYRkZfUEFDS0VUX1VOUkVGICh0 aGlzLT5hdnBrdCk7CitkaWZmIC1yIGQxOTU0ZDg1Mjk4MCAtciAxZTdiMTg0MDA4ODYgc3JjL2Nv bWJpbmVkL2ZmbXBlZy9mZm1wZWdfY29tcGF0LmgKKy0tLSBhL3NyYy9jb21iaW5lZC9mZm1wZWcv ZmZtcGVnX2NvbXBhdC5oCU1vbiBBcHIgMDggMTM6MjU6MTAgMjAyNCArMDIwMAorKysrIGIvc3Jj L2NvbWJpbmVkL2ZmbXBlZy9mZm1wZWdfY29tcGF0LmgJTW9uIE1heSAwNiAyMTo1NTo1NSAyMDI0 ICswMjAwCitAQCAtMSw1ICsxLDUgQEAKKyAvKgorLSAqIENvcHlyaWdodCAoQykgMjAwMC0yMDIy IHRoZSB4aW5lIHByb2plY3QKKysgKiBDb3B5cmlnaHQgKEMpIDIwMDAtMjAyNCB0aGUgeGluZSBw cm9qZWN0CisgICoKKyAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB4aW5lLCBhIHVuaXggdmlkZW8g cGxheWVyLgorICAqCitAQCAtNTQsOSArNTQsMTYgQEAKKyAjZW5kaWYKKyAKKyAvKiByZW9yZGVy ZWRfb3BhcXVlIGFwcGVhcmVkIGluIGxpYmF2Y29kZWMgNTEuNjguMCAqLworLSNkZWZpbmUgWEZG X0FWQ09ERUNfUkVPUkRFUkVEX09QQVFVRQorLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UIDwg WEZGX0lOVF9WRVJTSU9OKDUxLDY4LDApCistIyB1bmRlZiBYRkZfQVZDT0RFQ19SRU9SREVSRURf T1BBUVVFCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gWEZGX0lOVF9WRVJTSU9OKDUx LDY4LDApICYmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCBYRkZfSU5UX1ZFUlNJT04oNjAsMCww KQorKyMgIGRlZmluZSBYRkZfQVZDT0RFQ19SRU9SREVSRURfT1BBUVVFCisrI2Vsc2UKKysjICB1 bmRlZiBYRkZfQVZDT0RFQ19SRU9SREVSRURfT1BBUVVFCisrI2VuZGlmCisrCisrI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9JTlQgPj0gWEZGX0lOVF9WRVJTSU9OKDU4LDMzLDEwMCkKKysjICBkZWZp bmUgWEZGX0FWQ09ERUNfRlJBTUVfUFRTCisrI2Vsc2UKKysjICB1bmRlZiBYRkZfQVZDT0RFQ19G UkFNRV9QVFMKKyAjZW5kaWYKKyAKKyAvKiBjb2xvcnNwYWNlIGFuZCBjb2xvcl9yYW5nZSB3ZXJl IGFkZGVkIGJlZm9yZSA1Mi4yOS4wICovCitAQCAtMjEwLDkgKzIxNywxMSBAQAorICNlbmRpZgor IAorICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgWEZGX0lOVF9WRVJTSU9OKDU1LDYzLDEw MCkKKy0jICBkZWZpbmUgWEZGX0ZSRUVfQ09OVEVYVChwcCkgZG8ge2F2X2ZyZWUocHApOyBwcCA9 IE5VTEw7fSB3aGlsZSAoMCkKKysjICBkZWZpbmUgWEZGX0ZSRUVfQ09OVEVYVChwcCkgZG8ge2lm IChwcCkgYXZjb2RlY19jbG9zZSAocHApOyBhdl9mcmVlIChwcCk7IHBwID0gTlVMTDt9IHdoaWxl ICgwKQorKyNlbGlmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCBYRkZfSU5UX1ZFUlNJT04oNTgs MzMsMTAwKQorKyMgIGRlZmluZSBYRkZfRlJFRV9DT05URVhUKHBwKSBkbyB7aWYgKHBwKSBhdmNv ZGVjX2Nsb3NlIChwcCk7IGF2Y29kZWNfZnJlZV9jb250ZXh0ICgmKHBwKSk7fSB3aGlsZSAoMCkK KyAjZWxzZQorLSMgIGRlZmluZSBYRkZfRlJFRV9DT05URVhUKHBwKSBhdmNvZGVjX2ZyZWVfY29u dGV4dCgmKHBwKSkKKysjICBkZWZpbmUgWEZGX0ZSRUVfQ09OVEVYVChwcCkgYXZjb2RlY19mcmVl X2NvbnRleHQgKCYocHApKQorICNlbmRpZgorIAorICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5U IDwgWEZGX0lOVF9WRVJTSU9OKDU0LDU5LDEwMCkKK0BAIC0zMDMsNCArMzEyLDMgQEAKKyAjZW5k aWYgLyogZGVmaW5lZChMSUJBVkNPREVDX1ZFUlNJT05fSU5UKSAqLworIAorICNlbmRpZiAvKiBY SU5FX0FWQ09ERUNfQ09NUEFUX0ggKi8KKy0KK2RpZmYgLXIgZDE5NTRkODUyOTgwIC1yIDFlN2Ix ODQwMDg4NiBzcmMvZHhyMy9mZm1wZWdfZW5jb2Rlci5jCistLS0gYS9zcmMvZHhyMy9mZm1wZWdf ZW5jb2Rlci5jCU1vbiBBcHIgMDggMTM6MjU6MTAgMjAyNCArMDIwMAorKysrIGIvc3JjL2R4cjMv ZmZtcGVnX2VuY29kZXIuYwlNb24gTWF5IDA2IDIxOjU1OjU1IDIwMjQgKzAyMDAKK0BAIC0xLDUg KzEsNSBAQAorIC8qCistICogQ29weXJpZ2h0IChDKSAyMDAwLTIwMjIgdGhlIHhpbmUgcHJvamVj dAorKyAqIENvcHlyaWdodCAoQykgMjAwMC0yMDI0IHRoZSB4aW5lIHByb2plY3QKKyAgKgorICAq IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHhpbmUsIGEgdW5peCB2aWRlbyBwbGF5ZXIuCisgICoKK0BA IC0xMjcsMTAgKzEyNyw4IEBACisgICB1bnNpZ25lZCBjaGFyIHVzZV9xdWFudGl6ZXI7CisgCisg ICBpZiAodGhpcy0+Y29udGV4dCkgeworLSAgICBhdmNvZGVjX2Nsb3NlKHRoaXMtPmNvbnRleHQp OworLSAgICBmcmVlKHRoaXMtPmNvbnRleHQpOworKyAgICBYRkZfRlJFRV9DT05URVhUICh0aGlz LT5jb250ZXh0KTsKKyAgICAgZnJlZSh0aGlzLT5waWN0dXJlKTsKKy0gICAgdGhpcy0+Y29udGV4 dCA9IE5VTEw7CisgICAgIHRoaXMtPnBpY3R1cmUgPSBOVUxMOworICAgfQorIAorQEAgLTM0NCwx MCArMzQyLDggQEAKKyAjaWYgWEZGX0VOQ1ZJREVPID4gMQorICAgICBYRkZfUEFDS0VUX1VOUkVG ICh0aGlzLT5wa3QpOworICNlbmRpZgorLSAgICBhdmNvZGVjX2Nsb3NlKHRoaXMtPmNvbnRleHQp OworICAgICBYRkZfRlJFRV9DT05URVhUICh0aGlzLT5jb250ZXh0KTsKKyAgICAgZnJlZSh0aGlz LT5waWN0dXJlKTsKKy0gICAgdGhpcy0+Y29udGV4dCA9IE5VTEw7CisgICAgIHRoaXMtPnBpY3R1 cmUgPSBOVUxMOworICAgfQorICAgcmV0dXJuIDE7CgpkaWZmIC0tZ2l0IGEveGluZS1saWItMS4y LjEzLWZmbXBlZzctY29tcGF0aWJpbGl0eS5wYXRjaCBiL3hpbmUtbGliLTEuMi4xMy1mZm1wZWc3 LWNvbXBhdGliaWxpdHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MTM2NzUwNAotLS0gL2Rldi9udWxsCisrKyBiL3hpbmUtbGliLTEuMi4xMy1mZm1wZWc3LWNvbXBh dGliaWxpdHkucGF0Y2gKQEAgLTAsMCArMSwzMTggQEAKKyMgSEcgY2hhbmdlc2V0IHBhdGNoCisj IFVzZXIgVG9yc3RlbiBKYWdlciA8dC5qYWdlckBnbXguZGU+CisjIERhdGUgMTcxNTE2MDg4NSAt NzIwMAorIyAgICAgIFdlZCBNYXkgMDggMTE6MzQ6NDUgMjAyNCArMDIwMAorIyBOb2RlIElEIDcz YjgzM2U3ZmUzNTZjZDJkOTQ5MGRkYTRlYmM5YmZlMTZmY2U5NTgKKyMgUGFyZW50ICAxZTdiMTg0 MDA4ODYwYzhiZTIyODljM2NlZmQ5ZGVlNTdmMDYxOTNhCitmZm1wZWcgY29tcGF0aWJpbGl0eSB1 cGRhdGUgMi4KKworZGlmZiAtciAxZTdiMTg0MDA4ODYgLXIgNzNiODMzZTdmZTM1IHNyYy9jb21i aW5lZC9mZm1wZWcvZmZfYXVkaW9fZGVjb2Rlci5jCistLS0gYS9zcmMvY29tYmluZWQvZmZtcGVn L2ZmX2F1ZGlvX2RlY29kZXIuYwlNb24gTWF5IDA2IDIxOjU1OjU1IDIwMjQgKzAyMDAKKysrKyBi L3NyYy9jb21iaW5lZC9mZm1wZWcvZmZfYXVkaW9fZGVjb2Rlci5jCVdlZCBNYXkgMDggMTE6MzQ6 NDUgMjAyNCArMDIwMAorQEAgLTEzOTMsNiArMTM5Myw5IEBACisgICAgICAgWEZGX0ZSRUVfRlJB TUUgKHRoaXMtPmF2X2ZyYW1lKTsKKyAgICAgfQorICNlbmRpZgorKyNpZiAxCisrICAgIGF2Y29k ZWNfZmx1c2hfYnVmZmVycyAodGhpcy0+Y29udGV4dCk7CisrI2Vsc2UKKyAgICAgcHRocmVhZF9t dXRleF9sb2NrICgmZmZtcGVnX2xvY2spOworICAgICB7CisgICAgICAgdWludDhfdCAqZWQgPSB0 aGlzLT5jb250ZXh0LT5leHRyYWRhdGE7CitAQCAtMTQxMCw2ICsxNDEzLDcgQEAKKyAgICAgaWYg KFhGRl9BVkNPREVDX09QRU4gKHRoaXMtPmNvbnRleHQsIHRoaXMtPmNvZGVjKSA+PSAwKQorICAg ICAgIHRoaXMtPmRlY29kZXJfb2sgPSAxOworICAgICBwdGhyZWFkX211dGV4X3VubG9jayAoJmZm bXBlZ19sb2NrKTsKKysjZW5kaWYKKyAgIH0KKyAKKyAgIGZmX2F1ZGlvX3Jlc2V0X3BhcnNlcih0 aGlzKTsKK2RpZmYgLXIgMWU3YjE4NDAwODg2IC1yIDczYjgzM2U3ZmUzNSBzcmMvY29tYmluZWQv ZmZtcGVnL2ZmX3ZpZGVvX2RlY29kZXIuYworLS0tIGEvc3JjL2NvbWJpbmVkL2ZmbXBlZy9mZl92 aWRlb19kZWNvZGVyLmMJTW9uIE1heSAwNiAyMTo1NTo1NSAyMDI0ICswMjAwCisrKysgYi9zcmMv Y29tYmluZWQvZmZtcGVnL2ZmX3ZpZGVvX2RlY29kZXIuYwlXZWQgTWF5IDA4IDExOjM0OjQ1IDIw MjQgKzAyMDAKK0BAIC04OSw2ICs4OSwxMSBAQAorICMgZGVmaW5lIEVOQUJMRV9FTU1TCisgI2Vu ZGlmCisgCisrLyoKKysjdW5kZWYgWEZGX0FWQ09ERUNfU0xJQ0VfVEFCTEUKKysjZGVmaW5lIFhG Rl9BVkNPREVDX1NMSUNFX1RBQkxFIDEKKysqLworKworICNkZWZpbmUgVklERU9CVUZTSVpFICAg ICAgICAoMTI4KjEwMjQpCisgI2RlZmluZSBTTElDRV9CVUZGRVJfU0laRSAgICgxMTk0KjEwMjQp CisgCitAQCAtMTQ4LDExICsxNTMsMTEgQEAKKyAgIGludCAgICAgICAgICAgICAgIGJ1ZnNpemU7 CisgICBpbnQgICAgICAgICAgICAgICBzaXplOworICAgaW50ICAgICAgICAgICAgICAgc2tpcGZy YW1lczsKKy0KKysjaWYgWEZGX0FWQ09ERUNfU0xJQ0VfVEFCTEUgPT0gMQorICAgaW50ICAgICAg ICAgICAgICAqc2xpY2Vfb2Zmc2V0X3RhYmxlOworICAgaW50ICAgICAgICAgICAgICAgc2xpY2Vf b2Zmc2V0X3NpemU7CisgICBpbnQgICAgICAgICAgICAgICBzbGljZV9vZmZzZXRfcG9zOworLQor KyNlbmRpZgorICAgQVZGcmFtZSAgICAgICAgICAqYXZfZnJhbWU7CisgICBBVkZyYW1lICAgICAg ICAgICphdl9mcmFtZTI7CisgICBBVkNvZGVjQ29udGV4dCAgICpjb250ZXh0OworQEAgLTIzOCw2 ICsyNDMsMTMgQEAKKyAjaWYgWEZGX1ZJREVPID4gMQorICAgWEZGX1BBQ0tFVF9ERUNMIChhdnBr dCk7CisgI2VuZGlmCisrCisrI2lmIFhGRl9BVkNPREVDX1NMSUNFX1RBQkxFID09IDIKKysgIHVp bnQ4X3QgICAgICAgICAgKnRlbXBfYnVmOworKyAgdWludDMyX3QgICAgICAgICAgdGVtcF9zaXpl OworKyAgaW50ICAgICAgICAgICAgICAgc2xpY2VfbnVtOworKyAgdWludDhfdCAgICAgICAgICAg c2xpY2VfdGFibGVbMSArIDI1NiAqIDhdOworKyNlbmRpZgorIH07CisgCisgLyogaW1wb3J0IGNv bG9yIG1hdHJpeCBuYW1lcyAqLworQEAgLTE3ODMsMTAgKzE3OTUsOSBAQAorICAgdGhpcy0+c2l6 ZSArPSBidWYtPnNpemU7CisgCisgICBpZiAoYnVmLT5kZWNvZGVyX2ZsYWdzICYgQlVGX0ZMQUdf RlJBTUVfRU5EKSB7CistICAgIGludCBjb2RlY190eXBlOworKyAgICB1aW50MzJfdCBjb2RlY190 eXBlID0gYnVmLT50eXBlICYgMHhGRkZGMDAwMDsKKyAKKyAgICAgbHByaW50ZiAoImhlYWRlciBj b21wbGV0ZVxuIik7CistICAgIGNvZGVjX3R5cGUgPSBidWYtPnR5cGUgJiAweEZGRkYwMDAwOwor IAorICAgICBpZiAoYnVmLT5kZWNvZGVyX2ZsYWdzICYgQlVGX0ZMQUdfU1RESEVBREVSKSB7Cisg CitAQCAtMTkxMiwzMyArMTkyMyw0NCBAQAorICNlbmRpZgorICAgfQorICAgZWxzZSBpZiAoYnVm LT5kZWNvZGVyX2luZm9bMV0gPT0gQlVGX1NQRUNJQUxfUlZfQ0hVTktfVEFCTEUpIHsKKy0gICAg LyogbyBkZWFyLiBNdWx0aXBsZSBkZWNvZGluZyB0aHJlYWRzIHVzZSBpbmRpdmlkdWFsIGNvbnRl eHRzLgorLSAgICAgIGF2X2RlY29kZV92aWRlbzIgKCkgZG9lcyBvbmx5IGNvcHkgdGhlIF9wb2lu dGVyXyB0byB0aGUgb2Zmc2V0cywKKy0gICAgICBub3QgdGhlIG9mZnNldHMgdGhlbXNlbHZlcy4g U28gd2UgbXVzdCBub3Qgb3ZlcndyaXRlIGFueXRoaW5nCistICAgICAgdGhhdCBhbm90aGVyIHRo cmVhZCBoYXMgbm90IHlldCByZWFkLiAqLworLSAgICBpbnQgaSwgbCwgdG90YWw7CistCistICAg IGxwcmludGYoIkJVRl9TUEVDSUFMX1JWX0NIVU5LX1RBQkxFXG4iKTsKKy0gICAgbCA9IGJ1Zi0+ ZGVjb2Rlcl9pbmZvWzJdICsgMTsKKy0KKy0gICAgdG90YWwgPSBsICogdGhpcy0+Y2xhc3MtPnRo cmVhZF9jb3VudDsKKy0gICAgaWYgKHRvdGFsIDwgU0xJQ0VfT0ZGU0VUX1NJWkUpCistICAgICAg dG90YWwgPSBTTElDRV9PRkZTRVRfU0laRTsKKy0gICAgaWYgKHRvdGFsID4gdGhpcy0+c2xpY2Vf b2Zmc2V0X3NpemUpIHsKKy0gICAgICB0aGlzLT5zbGljZV9vZmZzZXRfdGFibGUgPSByZWFsbG9j ICh0aGlzLT5zbGljZV9vZmZzZXRfdGFibGUsIHRvdGFsICogc2l6ZW9mIChpbnQpKTsKKy0gICAg ICB0aGlzLT5zbGljZV9vZmZzZXRfc2l6ZSA9IHRvdGFsOworLSAgICB9CistCistICAgIGlmICh0 aGlzLT5zbGljZV9vZmZzZXRfcG9zICsgbCA+IHRoaXMtPnNsaWNlX29mZnNldF9zaXplKQorLSAg ICAgIHRoaXMtPnNsaWNlX29mZnNldF9wb3MgPSAwOworLSAgICB0aGlzLT5jb250ZXh0LT5zbGlj ZV9vZmZzZXQgPSB0aGlzLT5zbGljZV9vZmZzZXRfdGFibGUgKyB0aGlzLT5zbGljZV9vZmZzZXRf cG9zOworLSAgICB0aGlzLT5jb250ZXh0LT5zbGljZV9jb3VudCA9IGw7CistCistICAgIGxwcmlu dGYgKCJzbGljZV9jb3VudD0lZFxuIiwgbCk7CistICAgIGZvciAoaSA9IDA7IGkgPCBsOyBpKysp IHsKKy0gICAgICB0aGlzLT5zbGljZV9vZmZzZXRfdGFibGVbdGhpcy0+c2xpY2Vfb2Zmc2V0X3Bv cysrXSA9CistICAgICAgICAoKHVpbnQzMl90ICopYnVmLT5kZWNvZGVyX2luZm9fcHRyWzJdKVso MiAqIGkpICsgMV07CistICAgICAgbHByaW50Zigic2xpY2Vfb2Zmc2V0WyVkXT0lZFxuIiwgaSwg dGhpcy0+Y29udGV4dC0+c2xpY2Vfb2Zmc2V0W2ldKTsKKysgICAgeworKyNpZiBYRkZfQVZDT0RF Q19TTElDRV9UQUJMRSA9PSAxCisrICAgICAgLyogbyBkZWFyLiBNdWx0aXBsZSBkZWNvZGluZyB0 aHJlYWRzIHVzZSBpbmRpdmlkdWFsIGNvbnRleHRzLgorKyAgICAgICAqIGF2X2RlY29kZV92aWRl bzIgKCkgZG9lcyBvbmx5IGNvcHkgdGhlIF9wb2ludGVyXyB0byB0aGUgb2Zmc2V0cywKKysgICAg ICAgKiBub3QgdGhlIG9mZnNldHMgdGhlbXNlbHZlcy4gU28gd2UgbXVzdCBub3Qgb3ZlcndyaXRl IGFueXRoaW5nCisrICAgICAgICogdGhhdCBhbm90aGVyIHRocmVhZCBoYXMgbm90IHlldCByZWFk LiAqLworKyAgICAgIGludCBpLCBsLCB0b3RhbDsKKysKKysgICAgICBscHJpbnRmKCJCVUZfU1BF Q0lBTF9SVl9DSFVOS19UQUJMRVxuIik7CisrICAgICAgbCA9IGJ1Zi0+ZGVjb2Rlcl9pbmZvWzJd ICsgMTsKKysKKysgICAgICB0b3RhbCA9IGwgKiB0aGlzLT5jbGFzcy0+dGhyZWFkX2NvdW50Owor KyAgICAgIGlmICh0b3RhbCA8IFNMSUNFX09GRlNFVF9TSVpFKQorKyAgICAgICAgdG90YWwgPSBT TElDRV9PRkZTRVRfU0laRTsKKysgICAgICBpZiAodG90YWwgPiB0aGlzLT5zbGljZV9vZmZzZXRf c2l6ZSkgeworKyAgICAgICAgdGhpcy0+c2xpY2Vfb2Zmc2V0X3RhYmxlID0gcmVhbGxvYyAodGhp cy0+c2xpY2Vfb2Zmc2V0X3RhYmxlLCB0b3RhbCAqIHNpemVvZiAoaW50KSk7CisrICAgICAgICB0 aGlzLT5zbGljZV9vZmZzZXRfc2l6ZSA9IHRvdGFsOworKyAgICAgIH0KKysKKysgICAgICBpZiAo dGhpcy0+c2xpY2Vfb2Zmc2V0X3BvcyArIGwgPiB0aGlzLT5zbGljZV9vZmZzZXRfc2l6ZSkKKysg ICAgICAgIHRoaXMtPnNsaWNlX29mZnNldF9wb3MgPSAwOworKyAgICAgIHRoaXMtPmNvbnRleHQt PnNsaWNlX29mZnNldCA9IHRoaXMtPnNsaWNlX29mZnNldF90YWJsZSArIHRoaXMtPnNsaWNlX29m ZnNldF9wb3M7CisrICAgICAgdGhpcy0+Y29udGV4dC0+c2xpY2VfY291bnQgPSBsOworKworKyAg ICAgIGxwcmludGYgKCJzbGljZV9jb3VudD0lZFxuIiwgbCk7CisrICAgICAgZm9yIChpID0gMDsg aSA8IGw7IGkrKykgeworKyAgICAgICAgdGhpcy0+c2xpY2Vfb2Zmc2V0X3RhYmxlW3RoaXMtPnNs aWNlX29mZnNldF9wb3MrK10gPQorKyAgICAgICAgICAoKHVpbnQzMl90ICopYnVmLT5kZWNvZGVy X2luZm9fcHRyWzJdKVsoMiAqIGkpICsgMV07CisrICAgICAgICBscHJpbnRmKCJzbGljZV9vZmZz ZXRbJWRdPSVkXG4iLCBpLCB0aGlzLT5jb250ZXh0LT5zbGljZV9vZmZzZXRbaV0pOworKyAgICAg IH0KKysjZWxpZiBYRkZfQVZDT0RFQ19TTElDRV9UQUJMRSA9PSAyCisrICAgICAgLyogKGNvdW50 LTEpOjEsIDE6NCwgKG9mZnNbMF0pOjQsIDE6NCwgKG9mZnNbMV06NCwgLi4uIGp1c3QgaW4gZnJv bnQgb2YgdGhlIGZyYW1lIGJpdHN0cmVhbS4KKysgICAgICAgKiByZXZlcnNlIGVuZ2luZWVyZWQg ZnJvbSBmZm1wZWcvbGliYXZjb2RlYy9ydjM0LmMuIHRoZXkgc2VlbSB0byBleHBlY3Qgbm8KKysg ICAgICAgKiBleHRlcm5hbCB1c2Ugb2YgcnYgZGVjb2RlcnMsIGFuZCBkaWQgbm90IGRvY3VtZW50 IHRoaXMuICovCisrICAgICAgdGhpcy0+c2xpY2VfdGFibGVbMF0gPSBidWYtPmRlY29kZXJfaW5m b1syXTsKKysgICAgICB0aGlzLT5zbGljZV9udW0gPSB0aGlzLT5zbGljZV90YWJsZVswXSArIDE7 CisrICAgICAgbWVtY3B5ICh0aGlzLT5zbGljZV90YWJsZSArIDEsIGJ1Zi0+ZGVjb2Rlcl9pbmZv X3B0clsyXSwgOCAqIHRoaXMtPnNsaWNlX251bSk7CisrI2VuZGlmCisgICAgIH0KKyAgIH0KKyB9 CitAQCAtMjAwNCw2ICsyMDI2LDcgQEAKKyAKKyBzdGF0aWMgaW50IGRlY29kZV92aWRlb193cmFw cGVyIChmZl92aWRlb19kZWNvZGVyX3QgKnRoaXMsCisgICBBVkZyYW1lICphdl9mcmFtZSwgaW50 ICplcnIsIHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1Zl9zaXplKSB7CisrICB1aW50MzJfdCB0c2l6ZSA9 IDA7CisgICBpbnQgbGVuOworIAorICNpZiBFTkFCTEVfVkFBUEkKK0BAIC0yMDEzLDkgKzIwMzYs MzIgQEAKKyAgIH0KKyAjZW5kaWYgLyogRU5BQkxFX1ZBQVBJICovCisgCisrI2lmIFhGRl9BVkNP REVDX1NMSUNFX1RBQkxFID09IDIKKysgIGlmICgodGhpcy0+c2xpY2VfbnVtID4gMCkgJiYgYnVm KSB7CisrICAgIHVpbnQzMl90IG5zaXplOworKyAgICB0c2l6ZSA9IDEgKyB0aGlzLT5zbGljZV9u dW0gKiA4OworKyAgICBuc2l6ZSA9IHRzaXplICsgYnVmX3NpemUgKyBBVl9JTlBVVF9CVUZGRVJf UEFERElOR19TSVpFOworKyAgICBpZiAodGhpcy0+dGVtcF9zaXplIDwgbnNpemUpIHsKKysgICAg ICBuc2l6ZSA9IG5zaXplICogMyAvIDI7CisrICAgICAgZnJlZSAodGhpcy0+dGVtcF9idWYpOwor KyAgICAgIHRoaXMtPnRlbXBfYnVmID0gbWFsbG9jIChuc2l6ZSk7CisrICAgICAgaWYgKCF0aGlz LT50ZW1wX2J1ZikKKysgICAgICAgIG5zaXplID0gMDsKKysgICAgICB0aGlzLT50ZW1wX3NpemUg PSBuc2l6ZTsKKysgICAgICBuc2l6ZSA9IHRzaXplICsgYnVmX3NpemUgKyBBVl9JTlBVVF9CVUZG RVJfUEFERElOR19TSVpFOworKyAgICB9CisrICAgIGlmICh0aGlzLT50ZW1wX3NpemUgPj0gbnNp emUpIHsKKysgICAgICBtZW1jcHkgKHRoaXMtPnRlbXBfYnVmLCB0aGlzLT5zbGljZV90YWJsZSwg dHNpemUpOworKyAgICAgIG1lbWNweSAodGhpcy0+dGVtcF9idWYgKyB0c2l6ZSwgYnVmLCBidWZf c2l6ZSArIEFWX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpOworKyAgICAgIGJ1ZiA9IHRoaXMt PnRlbXBfYnVmOworKyAgICB9CisrICAgIHRoaXMtPnNsaWNlX251bSA9IDA7CisrICB9CisrI2Vu ZGlmCisrCisgI2lmIFhGRl9WSURFTyA+IDEKKyAgIHRoaXMtPmF2cGt0LT5kYXRhID0gYnVmOwor LSAgdGhpcy0+YXZwa3QtPnNpemUgPSBidWZfc2l6ZTsKKysgIHRoaXMtPmF2cGt0LT5zaXplID0g YnVmX3NpemUgKyB0c2l6ZTsKKyAgIHRoaXMtPmF2cGt0LT5mbGFncyA9IEFWX1BLVF9GTEFHX0tF WTsKKyAjIGlmZGVmIFhGRl9BVkNPREVDX0ZSQU1FX1BUUworICAgdGhpcy0+YXZwa3QtPnB0cyA9 IHRoaXMtPnRhZ2dlZF9wdHM7CitAQCAtMjQ4Niw3ICsyNTMyLDYgQEAKKyAgICAgICAgICAgdGhp cy0+c2l6ZSAtPSBsZW47CisgCisgICAgICAgICAgIGlmICh0aGlzLT5zaXplID4gMCkgeworLSAg ICAgICAgICAgIGZmX2NoZWNrX2J1ZnNpemUodGhpcywgdGhpcy0+c2l6ZSk7CisgICAgICAgICAg ICAgbWVtbW92ZSAodGhpcy0+YnVmLCAmY2h1bmtfYnVmW29mZnNldF0sIHRoaXMtPnNpemUpOwor ICAgICAgICAgICAgIGNodW5rX2J1ZiA9IHRoaXMtPmJ1ZjsKKyAgICAgICAgICAgICAvKiB0YWtl IG92ZXIgcHRzIGZvciBuZXh0IGFjY2VzcyB1bml0ICovCitAQCAtMjYxNSw4ICsyNjYwLDggQEAK KyAKKyAgICAgICAgIGltZy0+cHRzICA9IGZmX3VudGFnX3B0cyh0aGlzLCB0aGlzLT5hdl9mcmFt ZSk7CisgCistICAgICAgICAvKiB3b3JrYXJvdW5kIGZvciB3ZWlyZCAxMjBmcHMgc3RyZWFtcyAq LworLSAgICAgICAgaWYoIHZpZGVvX3N0ZXBfdG9fdXNlID09IDc1MCApIHsKKysgICAgICAgIC8q IHdvcmthcm91bmQgZm9yIHdlaXJkIDEyMGZwcyBzdHJlYW1zLCBhcyB3ZWxsIGFzIHNvbWUgcnYy MCB3aXRoIGZyYW1lIGR1cmF0aW9uIDNwdHMuICovCisrICAgICAgICBpZiAodmlkZW9fc3RlcF90 b191c2UgPD0gNzUwKSB7CisgICAgICAgICAgIC8qIGZhbGxiYWNrIHRvIHRoZSBWSURFT19QVFNf TU9ERSAqLworICAgICAgICAgICB2aWRlb19zdGVwX3RvX3VzZSA9IDA7CisgICAgICAgICB9CitA QCAtMjgzNyw3ICsyODgyLDcgQEAKKyAKKyAgICAgaW1nLT5wdHMgPSBmZl91bnRhZ19wdHMgKHRo aXMsIHRoaXMtPmF2X2ZyYW1lMik7CisgCistICAgIGlmICh2aWRlb19zdGVwX3RvX3VzZSA9PSA3 NTApCisrICAgIGlmICh2aWRlb19zdGVwX3RvX3VzZSA8PSA3NTApCisgICAgICAgdmlkZW9fc3Rl cF90b191c2UgPSAwOworICAgICBpbWctPmR1cmF0aW9uID0gdGhpcy0+YXZfZnJhbWUyLT5yZXBl YXRfcGljdCA/IHZpZGVvX3N0ZXBfdG9fdXNlICogMyAvIDIgOiB2aWRlb19zdGVwX3RvX3VzZTsK KyAgICAgaW1nLT5wcm9ncmVzc2l2ZV9mcmFtZSA9ICF0aGlzLT5hdl9mcmFtZTItPmludGVybGFj ZWRfZnJhbWU7CitAQCAtMjk0MSw2ICsyOTg2LDkgQEAKKyAgICAgbXBlZ19wYXJzZXJfcmVzZXQo dGhpcy0+bXBlZ19wYXJzZXIpOworIAorICAgLyogdGhpcy0+cHRzX3RhZ19wYXNzID0gMDsgKi8K KysjaWYgWEZGX0FWQ09ERUNfU0xJQ0VfVEFCTEUgPT0gMgorKyAgdGhpcy0+c2xpY2VfbnVtID0g MDsKKysjZW5kaWYKKyB9CisgCisgc3RhdGljIHZvaWQgZmZfZGlzcG9zZSAodmlkZW9fZGVjb2Rl cl90ICp0aGlzX2dlbikgeworQEAgLTI5NTMsMTIgKzMwMDEsMTUgQEAKKyAgIHJnYjJ5dXkyX2Zy ZWUgKHRoaXMtPnJnYjJ5dXkyKTsKKyAKKyAgIGlmICh0aGlzLT5kZWNvZGVyX29rKSB7CisrICAg IHVpbnQ4X3QgKmVkOworIAorICAgICBwdGhyZWFkX211dGV4X2xvY2soJmZmbXBlZ19sb2NrKTsK Ky0gICAgX3hfZnJlZXAgKCZ0aGlzLT5jb250ZXh0LT5leHRyYWRhdGEpOworKyAgICBlZCA9IHRo aXMtPmNvbnRleHQtPmV4dHJhZGF0YTsKKysgICAgdGhpcy0+Y29udGV4dC0+ZXh0cmFkYXRhID0g TlVMTDsKKyAgICAgdGhpcy0+Y29udGV4dC0+ZXh0cmFkYXRhX3NpemUgPSAwOworICAgICBYRkZf RlJFRV9DT05URVhUICh0aGlzLT5jb250ZXh0KTsKKyAgICAgcHRocmVhZF9tdXRleF91bmxvY2so JmZmbXBlZ19sb2NrKTsKKysgICAgX3hfZnJlZXAgKCZlZCk7CisgCisgI2lmZGVmIEVOQUJMRV9E SVJFQ1RfUkVOREVSSU5HCisgICAgIGZmX2ZyZWVfZHIxX2ZyYW1lcyAodGhpcywgMSk7CitAQCAt Mjk3Miw5ICszMDIzLDExIEBACisgICAgIFhGRl9GUkVFX0NPTlRFWFQgKHRoaXMtPmNvbnRleHQp OworICAgfQorIAorLSAgaWYgKHRoaXMtPnNsaWNlX29mZnNldF90YWJsZSkKKy0gICAgZnJlZSAo dGhpcy0+c2xpY2Vfb2Zmc2V0X3RhYmxlKTsKKy0KKysjaWYgWEZGX0FWQ09ERUNfU0xJQ0VfVEFC TEUgPT0gMQorKyAgZnJlZSAodGhpcy0+c2xpY2Vfb2Zmc2V0X3RhYmxlKTsKKysjZWxpZiBYRkZf QVZDT0RFQ19TTElDRV9UQUJMRSA9PSAyCisrICBmcmVlICh0aGlzLT50ZW1wX2J1Zik7CisrI2Vu ZGlmCisgCisgI2lmIFhGRl9WSURFTyA+IDEKKyAgIFhGRl9QQUNLRVRfVU5SRUYgKHRoaXMtPmF2 cGt0KTsKK0BAIC0zMDYyLDIxICszMTE1LDI1IEBACisgICB0aGlzLT5kZWNvZGVyX29rICAgICAg PSAwOworICAgdGhpcy0+YXNwZWN0X3JhdGlvICAgID0gMDsKKyAgIHRoaXMtPnB0c190YWdfcGFz cyAgICA9IDA7CistI2lmZGVmIEhBVkVfUE9TVFBST0MKKysjICBpZmRlZiBIQVZFX1BPU1RQUk9D CisgICB0aGlzLT5wcF9xdWFsaXR5ICAgICAgPSAwOworICAgdGhpcy0+b3VyX2NvbnRleHQgICAg ID0gTlVMTDsKKyAgIHRoaXMtPm91cl9tb2RlICAgICAgICA9IE5VTEw7CistI2VuZGlmCisrIyAg ZW5kaWYKKyAgIHRoaXMtPm1wZWdfcGFyc2VyICAgICA9IE5VTEw7CisgICB0aGlzLT5zZXRfc3Ry ZWFtX2luZm8gPSAwOworICAgdGhpcy0+cmdiMnl1eTIgICAgICAgID0gTlVMTDsKKy0jaWZkZWYg RU5BQkxFX1ZBQVBJCisrIyAgaWZkZWYgRU5BQkxFX1ZBQVBJCisgICB0aGlzLT5hY2NlbCAgICAg ICAgICAgPSBOVUxMOworICAgdGhpcy0+YWNjZWxfaW1nICAgICAgID0gTlVMTDsKKy0jZW5kaWYK Ky0jaWYgWEZGX1ZJREVPID09IDMKKysjICBlbmRpZgorKyMgIGlmIFhGRl9WSURFTyA9PSAzCisg ICB0aGlzLT5mbHVzaF9wYWNrZXRfc2VudCA9IDA7CistI2VuZGlmCisrIyAgZW5kaWYKKysjICBp ZiBYRkZfQVZDT0RFQ19TTElDRV9UQUJMRSA9PSAyCisrICB0aGlzLT50ZW1wX3NpemUgICAgICAg PSAwOworKyAgdGhpcy0+dGVtcF9idWYgICAgICAgID0gTlVMTDsKKysjICBlbmRpZgorICNlbmRp ZgorIAorICAgdGhpcy0+dmlkZW9fZGVjb2Rlci5kZWNvZGVfZGF0YSAgID0gZmZfZGVjb2RlX2Rh dGE7CitkaWZmIC1yIDFlN2IxODQwMDg4NiAtciA3M2I4MzNlN2ZlMzUgc3JjL2NvbWJpbmVkL2Zm bXBlZy9mZm1wZWdfY29tcGF0LmgKKy0tLSBhL3NyYy9jb21iaW5lZC9mZm1wZWcvZmZtcGVnX2Nv bXBhdC5oCU1vbiBNYXkgMDYgMjE6NTU6NTUgMjAyNCArMDIwMAorKysrIGIvc3JjL2NvbWJpbmVk L2ZmbXBlZy9mZm1wZWdfY29tcGF0LmgJV2VkIE1heSAwOCAxMTozNDo0NSAyMDI0ICswMjAwCitA QCAtMTM5LDYgKzEzOSwxNCBAQAorICMgIGRlZmluZSBYRkZfUEFMRVRURSAzCisgI2VuZGlmCisg CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCBYRkZfSU5UX1ZFUlNJT04oNTksNDIsMTAw KQorKy8qIEFWQ29kZWNDb250ZXh0LnNsaWNlX3tvZmZzZXQsY291bnR9ICovCisrIyAgZGVmaW5l IFhGRl9BVkNPREVDX1NMSUNFX1RBQkxFIDEKKysjZWxzZQorKy8qIGlubGluZSBvZmZzZXQgdGFi bGUgYmVmb3JlIHRoZSBmcmFtZS4gKi8KKysjICBkZWZpbmUgWEZGX0FWQ09ERUNfU0xJQ0VfVEFC TEUgMgorKyNlbmRpZgorKworICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgWEZGX0lOVF9W RVJTSU9OKDU5LDAsMTAwKSAvKiogPDwgcmV2aXNlIHRoaXMgKi8KKyAjICBkZWZpbmUgWEZGX1ZB QVBJIDEgLyoqIDw8IGxpYmF2Y29kZWMvdmFhcGkuaCAqLworICNlbHNlCgpkaWZmIC0tZ2l0IGEv eGluZS1saWIuc3BlYyBiL3hpbmUtbGliLnNwZWMKaW5kZXggYjc0NWU0MS4uNTk2N2Y5YyAxMDA2 NDQKLS0tIGEveGluZS1saWIuc3BlYworKysgYi94aW5lLWxpYi5zcGVjCkBAIC0yNiwxMyArMjYs MTMgQEAKICVlbmRpZgogCiAjZ2xvYmFsICAgICAgICAgc25hcHNob3QgICAgMQotI2dsb2JhbCAg ICAgICAgIGRhdGUgICAgICAgIDIwMjIwMzA3Ci0jZ2xvYmFsICAgICAgICAgcmV2aXNpb24gICAg MTUwNzYKKyVnbG9iYWwgICAgICAgICBkYXRlICAgICAgICAyMDI0MDUwOAorJWdsb2JhbCAgICAg ICAgIHJldmlzaW9uICAgIDE1Mjg5CiAKIFN1bW1hcnk6ICAgICAgICBBIG11bHRpbWVkaWEgZW5n aW5lCiBOYW1lOiAgICAgICAgICAgeGluZS1saWIKIFZlcnNpb246ICAgICAgICAxLjIuMTMKLVJl bGVhc2U6ICAgICAgICAxMyV7P3NuYXBzaG90Oi4le2RhdGV9aGcle3JldmlzaW9ufX0lez9kaXN0 fQorUmVsZWFzZTogICAgICAgIDE0JXs/c25hcHNob3Q6LiV7ZGF0ZX1oZyV7cmV2aXNpb259fSV7 P2Rpc3R9CiBMaWNlbnNlOiAgICAgICAgR1BMLTIuMC1vci1sYXRlcgogVVJMOiAgICAgICAgICAg IGh0dHBzOi8vd3d3LnhpbmUtcHJvamVjdC5vcmcvCiAlaWYgISAwJXs/c25hcHNob3R9CkBAIC00 Niw3ICs0NiwxMiBAQCBTb3VyY2UxOiAgICAgICAgbWFrZV94aW5lbGliX3NuYXBzaG90LnNoCiAj IGZmbXBlZzYgY29tcGF0aWJpbGl0eQogIyBTZWU6IGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Av eGluZS94aW5lLWxpYi0xLjIvY2kvNzcxZjRhZTI3ZTU4MjEyM2ZmMzUwMDQ0NDcxOGZjOGY5NjE4 NmQ3NC8KIFBhdGNoMDogICAgICAgICB4aW5lLWxpYi0xLjIuMTMtZmZtcGVnNi1jb21wYXRpYmls aXR5LnBhdGNoCi1QYXRjaDE6IHhpbmUtbGliLWNvbmZpZ3VyZS1jOTkucGF0Y2gKKyMKK1BhdGNo MTogICAgICAgICB4aW5lLWxpYi1jb25maWd1cmUtYzk5LnBhdGNoCisjIFNlZTogaHR0cHM6Ly9z b3VyY2Vmb3JnZS5uZXQvcC94aW5lL3hpbmUtbGliLTEuMi9jaS8xZTdiMTg0MDA4ODYwYzhiZTIy ODljM2NlZmQ5ZGVlNTdmMDYxOTNhLworUGF0Y2gyOiAgICAgICAgIHhpbmUtbGliLTEuMi4xMy1m Zm1wZWc2LWNvbXBhdGliaWxpdHlfMi5wYXRjaAorIyBTZWU6IGh0dHBzOi8vc291cmNlZm9yZ2Uu bmV0L3AveGluZS94aW5lLWxpYi0xLjIvY2kvNzNiODMzZTdmZTM1NmNkMmQ5NDkwZGRhNGViYzli ZmUxNmZjZTk1OC8KK1BhdGNoMzogICAgICAgICB4aW5lLWxpYi0xLjIuMTMtZmZtcGVnNy1jb21w YXRpYmlsaXR5LnBhdGNoCiAKIFByb3ZpZGVzOiAgICAgICB4aW5lLWxpYihwbHVnaW4tYWJpKSA9 ICV7cGx1Z2luX2FiaX0KIFByb3ZpZGVzOiAgICAgICB4aW5lLWxpYihwbHVnaW4tYWJpKSV7P19p c2F9ID0gJXtwbHVnaW5fYWJpfQpAQCAtMzQ4LDYgKzM1Myw5IEBAIG1rZGlyIC1wICV7YnVpbGRy b290fSV7Y29kZWNkaXJ9CiAKIAogJWNoYW5nZWxvZworKiBNb24gTWF5IDIwIDIwMjQgWGF2aWVy IEJhY2hlbG90IDx4YXZpZXJAYmFjaGVsb3Qub3JnPi0gMS4yLjEzLTE0CistIEFkZCBwYXRjaGVz IGZvciBmZm1wZWcgY29tcGF0aWJpbGl0eQorCiAqIFdlZCBNYXIgMTMgMjAyNCBTw6lyZ2lvIEJh c3RvIDxzZXJnaW9Ac2VyanV4LmNvbT4gLSAxLjIuMTMtMTMKIC0gUmVidWlsZCBmb3IganBlZ3hs IChsaWJqeGwpIDAuMTAuMgogCg==