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: Sandro Mani To: git-commits@fedoraproject.org Subject: [rpms/assimp] f44: Add fixes for CVE-2026-14610, CVE-2026-19968, CVE-2026-19999, CVE-2026-14604, CVE-2025-15666 Date: Fri, 18 Sep 2026 21:39:48 GMT Message-ID: <178976758885.1.8408283280990321932.rpms-assimp-15d8e33f5f4e@fedoraproject.org> List-ID: X-Git-Repo: rpms/assimp X-Git-Branch: f44 X-Git-Rev: 15d8e33f5f4eb4689c74f59aa8c06637bb319542 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYXNzaW1wCkJyYW5j aCA6IGY0NApDb21taXQgOiAxNWQ4ZTMzZjVmNGViNDY4OWM3NGY1OWFhOGMwNjYzN2JiMzE5NTQy CkF1dGhvciA6IFNhbmRybyBNYW5pIDxtYW5pc2FuZHJvQGdtYWlsLmNvbT4KRGF0ZSAgIDogMjAy Ni0wOS0xOFQyMzozODoyMCswMjowMApTdGF0cyAgOiArNzI4Ly0xNiBpbiAxMSBmaWxlKHMpClVS TCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvYXNzaW1wL2MvMTVkOGUz M2Y1ZjRlYjQ2ODljNzRmNTlhYThjMDY2MzdiYjMxOTU0Mj9icmFuY2g9ZjQ0CgpMb2c6CkFkZCBm aXhlcyBmb3IgQ1ZFLTIwMjYtMTQ2MTAsIENWRS0yMDI2LTE5OTY4LCBDVkUtMjAyNi0xOTk5OSwg Q1ZFLTIwMjYtMTQ2MDQsIENWRS0yMDI1LTE1NjY2CgotLS0KZGlmZiAtLWdpdCBhL0NWRS0yMDI1 LTE1NjY2LnBhdGNoIGIvQ1ZFLTIwMjUtMTU2NjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uYWYxYTMwOQotLS0gL2Rldi9udWxsCisrKyBiL0NWRS0yMDI1LTE1NjY2 LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3Np bXAtNi4wLjUvY29kZS9Bc3NldExpYi9NREwvTURMTWF0ZXJpYWxMb2FkZXIuY3BwIGFzc2ltcC02 LjAuNS1uZXcvY29kZS9Bc3NldExpYi9NREwvTURMTWF0ZXJpYWxMb2FkZXIuY3BwCistLS0gYXNz aW1wLTYuMC41L2NvZGUvQXNzZXRMaWIvTURML01ETE1hdGVyaWFsTG9hZGVyLmNwcAkyMDI2LTA0 LTMwIDExOjE1OjA5LjAwMDAwMDAwMCArMDIwMAorKysrIGFzc2ltcC02LjAuNS1uZXcvY29kZS9B c3NldExpYi9NREwvTURMTWF0ZXJpYWxMb2FkZXIuY3BwCTIwMjYtMDktMTggMjM6MjY6MDguNzU2 OTgzNTUxICswMjAwCitAQCAtMjIxLDYgKzIyMSwxNCBAQCB2b2lkIE1ETEltcG9ydGVyOjpQYXJz ZVRleHR1cmVDb2xvckRhdGEoCisgCisgICAgIC8vIGFsbG9jYXRlIHN0b3JhZ2UgZm9yIHRoZSB0 ZXh0dXJlIGltYWdlCisgICAgIGlmIChkb19yZWFkKSB7CisrICAgICAgICAvLyBhIHplcm8taGVp Z2h0IHRleHR1cmUgbXVzdCBiZSBhIGNvbXByZXNzZWQgYmxvYiBvZiBtV2lkdGggYnl0ZXMsCisr ICAgICAgICAvLyBidXQgdGhpcyBwYXRoIHByb2R1Y2VzIGFuIG1XaWR0aCptSGVpZ2h0IHBpeGVs IGFycmF5IC0gdGhlCisrICAgICAgICAvLyByZXN1bHRpbmcgb2JqZWN0IHdvdWxkIHZpb2xhdGUg dGhlIGFpVGV4dHVyZSBjb250cmFjdCBhbmQgcmVhZAorKyAgICAgICAgLy8gb3V0IG9mIGJvdW5k cyB3aGVuIHRoZSBzY2VuZSBpcyBjb3BpZWQgKGUuZy4gb24gZXhwb3J0KQorKyAgICAgICAgaWYg KHBjTmV3LT5tSGVpZ2h0ID09IDAgJiYgcGNOZXctPm1XaWR0aCAhPSAwKSB7CisrICAgICAgICAg ICAgdGhyb3cgRGVhZGx5SW1wb3J0RXJyb3IoIkludmFsaWQgTURMIGZpbGUuIEEgdGV4dHVyZSBo YXMgemVybyBoZWlnaHQuIik7CisrICAgICAgICB9CisrCisgICAgICAgICAvLyBjaGVjayBmb3Ig bWF4IHRleHR1cmUgc2l6ZXMKKyAgICAgICAgIGlmIChwY05ldy0+bVdpZHRoID4gTWF4VGV4dHVy ZVNpemUgfHwgcGNOZXctPm1IZWlnaHQgPiBNYXhUZXh0dXJlU2l6ZSkgeworICAgICAgICAgICAg IHRocm93IERlYWRseUltcG9ydEVycm9yKCJJbnZhbGlkIE1ETCBmaWxlLiBBIHRleHR1cmUgaXMg dG9vIGJpZy4iKTsKCmRpZmYgLS1naXQgYS9DVkUtMjAyNi0xNDYwNC5wYXRjaCBiL0NWRS0yMDI2 LTE0NjA0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5M2ZhNDEK LS0tIC9kZXYvbnVsbAorKysgYi9DVkUtMjAyNi0xNDYwNC5wYXRjaApAQCAtMCwwICsxLDI0OSBA QAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02LjAuNS9jb2RlL0NvbW1vbi9T Y2VuZUNvbWJpbmVyLmNwcCBhc3NpbXAtNi4wLjUtbmV3L2NvZGUvQ29tbW9uL1NjZW5lQ29tYmlu ZXIuY3BwCistLS0gYXNzaW1wLTYuMC41L2NvZGUvQ29tbW9uL1NjZW5lQ29tYmluZXIuY3BwCTIw MjYtMDQtMzAgMTE6MTU6MDkuMDAwMDAwMDAwICswMjAwCisrKysgYXNzaW1wLTYuMC41LW5ldy9j b2RlL0NvbW1vbi9TY2VuZUNvbWJpbmVyLmNwcAkyMDI2LTA5LTE4IDIzOjI2OjA4LjM4MDk0ODAx NiArMDIwMAorQEAgLTY4LDggKzY4LDggQEAgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ U0VEIE9GIFRIRQorIG5hbWVzcGFjZSBBc3NpbXAgeworIAorICNpZiAoX19HTlVDX18gPj0gOCAm JiBfX0dOVUNfTUlOT1JfXyA+PSAwKQorLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAorLSNw cmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdjbGFzcy1tZW1hY2Nlc3MiCisrIyAgcHJh Z21hIEdDQyBkaWFnbm9zdGljIHB1c2gKKysjICBwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3Jl ZCAiLVdjbGFzcy1tZW1hY2Nlc3MiCisgI2VuZGlmCisgCisgLy8gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtODAsOCArODAsNyBAQCBpbmxpbmUgdm9pZCBQcmVm aXhTdHJpbmcoYWlTdHJpbmcgJnN0cmluCisgICAgICAgICByZXR1cm47CisgCisgICAgIGlmIChs ZW4gKyBzdHJpbmcubGVuZ3RoID49IEFJX01BWExFTiAtIDEpIHsKKy0gICAgICAgIEFTU0lNUF9M T0dfVkVSQk9TRV9ERUJVRygiQ2FuJ3QgYWRkIGFuIHVuaXF1ZSBwcmVmaXggYmVjYXVzZSB0aGUg c3RyaW5nIGlzIHRvbyBsb25nIik7CistICAgICAgICBhaV9hc3NlcnQoZmFsc2UpOworKyAgICAg ICAgQVNTSU1QX0xPR19FUlJPUigiQ2FuJ3QgYWRkIGFuIHVuaXF1ZSBwcmVmaXggYmVjYXVzZSB0 aGUgc3RyaW5nIGlzIHRvbyBsb25nIik7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKK0BA IC0xMTYsNyArMTE1LDEwIEBAIHZvaWQgU2NlbmVDb21iaW5lcjo6QWRkTm9kZUhhc2hlcyhhaU5v ZGUKKyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAvLyBBZGQg YSBuYW1lIHByZWZpeCB0byBhbGwgbm9kZXMgaW4gYSBoaWVyYXJjaHkKKyB2b2lkIFNjZW5lQ29t YmluZXI6OkFkZE5vZGVQcmVmaXhlcyhhaU5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKnByZWZpeCwg dW5zaWduZWQgaW50IGxlbikgeworLSAgICBhaV9hc3NlcnQobnVsbHB0ciAhPSBwcmVmaXgpOwor KyAgICBpZiAocHJlZml4ID09IG51bGxwdHIpIHsKKysgICAgICAgIEFTU0lNUF9MT0dfRVJST1Io IlBvaW50ZXIgdG8gcHJlZml4IGlzIG51bGxwdHIuIik7CisrICAgICAgICByZXR1cm47CisrICAg IH0KKyAKKyAgICAgUHJlZml4U3RyaW5nKG5vZGUtPm1OYW1lLCBwcmVmaXgsIGxlbik7CisgCitA QCAtMTQ0LDcgKzE0NiwxMCBAQCBib29sIFNjZW5lQ29tYmluZXI6OkZpbmROYW1lTWF0Y2goY29u c3QKKyAvLyBBZGQgYSBuYW1lIHByZWZpeCB0byBhbGwgbm9kZXMgaW4gYSBoaWVyYXJjaHkgaWYg YSBoYXNoIG1hdGNoIGlzIGZvdW5kCisgdm9pZCBTY2VuZUNvbWJpbmVyOjpBZGROb2RlUHJlZml4 ZXNDaGVja2VkKGFpTm9kZSAqbm9kZSwgY29uc3QgY2hhciAqcHJlZml4LCB1bnNpZ25lZCBpbnQg bGVuLAorICAgICAgICAgc3RkOjp2ZWN0b3I8U2NlbmVIZWxwZXI+ICZpbnB1dCwgdW5zaWduZWQg aW50IGN1cikgeworLSAgICBhaV9hc3NlcnQobnVsbHB0ciAhPSBwcmVmaXgpOworKyAgICBpZiAo cHJlZml4ID09IG51bGxwdHIpIHsKKysgICAgICAgIEFTU0lNUF9MT0dfRVJST1IoIlBvaW50ZXIg dG8gcHJlZml4IGlzIG51bGxwdHIuIik7CisrICAgICAgICByZXR1cm47CisrICAgIH0KKyAKKyAg ICAgY29uc3QgdW5zaWduZWQgaW50IGhhc2ggPSBTdXBlckZhc3RIYXNoKG5vZGUtPm1OYW1lLmRh dGEsIHN0YXRpY19jYXN0PHVpbnQzMl90Pihub2RlLT5tTmFtZS5sZW5ndGgpKTsKKyAKK0BAIC0x NjUsOCArMTcwLDkgQEAgdm9pZCBTY2VuZUNvbWJpbmVyOjpBZGROb2RlUHJlZml4ZXNDaGVjawor IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIC8vIEFkZCBhbiBv ZmZzZXQgdG8gYWxsIG1lc2ggaW5kaWNlcyBpbiBhIG5vZGUgZ3JhcGgKKyB2b2lkIFNjZW5lQ29t YmluZXI6Ok9mZnNldE5vZGVNZXNoSW5kaWNlcyhhaU5vZGUgKm5vZGUsIHVuc2lnbmVkIGludCBv ZmZzZXQpIHsKKy0gICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBub2RlLT5tTnVtTWVz aGVzOyArK2kpCisrICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbm9kZS0+bU51bU1l c2hlczsgKytpKSB7CisgICAgICAgICBub2RlLT5tTWVzaGVzW2ldICs9IG9mZnNldDsKKysgICAg fQorIAorICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG5vZGUtPm1OdW1DaGlsZHJl bjsgKytpKSB7CisgICAgICAgICBPZmZzZXROb2RlTWVzaEluZGljZXMobm9kZS0+bUNoaWxkcmVu W2ldLCBvZmZzZXQpOworQEAgLTE3Nyw2ICsxODMsNyBAQCB2b2lkIFNjZW5lQ29tYmluZXI6Ok9m ZnNldE5vZGVNZXNoSW5kaWNlCisgLy8gTWVyZ2VzIHR3byBzY2VuZXMuIEN1cnJlbnRseSBvbmx5 IHVzZWQgYnkgdGhlIExXUyBsb2FkZXIuCisgdm9pZCBTY2VuZUNvbWJpbmVyOjpNZXJnZVNjZW5l cyhhaVNjZW5lICoqX2Rlc3QsIHN0ZDo6dmVjdG9yPGFpU2NlbmUgKj4gJnNyYywgdW5zaWduZWQg aW50IGZsYWdzKSB7CisgICAgIGlmIChudWxscHRyID09IF9kZXN0KSB7CisrICAgICAgICBBU1NJ TVBfTE9HX0VSUk9SKCJQb2ludGVyIHRvIGRlc3RpbmF0aW9uIHNjZW5lIGlzIG51bGxwdHIuIik7 CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKK0BAIC0yMTEsNyArMjE4LDcgQEAgdm9pZCBT Y2VuZUNvbWJpbmVyOjpNZXJnZVNjZW5lcyhhaVNjZW5lCisgCisgLy8gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdm9pZCBTY2VuZUNvbWJpbmVyOjpBdHRhY2hUb0dy YXBoKGFpTm9kZSAqYXR0YWNoLCBzdGQ6OnZlY3RvcjxOb2RlQXR0YWNobWVudEluZm8+ICZzcmNM aXN0KSB7CistICAgIHVuc2lnbmVkIGludCBjbnQ7CisrICAgIHVuc2lnbmVkIGludCBjbnR7MH07 CisgICAgIGZvciAoY250ID0gMDsgY250IDwgYXR0YWNoLT5tTnVtQ2hpbGRyZW47ICsrY250KSB7 CisgICAgICAgICBBdHRhY2hUb0dyYXBoKGF0dGFjaC0+bUNoaWxkcmVuW2NudF0sIHNyY0xpc3Qp OworICAgICB9CitAQCAtMjE5LDggKzIyNiw5IEBAIHZvaWQgU2NlbmVDb21iaW5lcjo6QXR0YWNo VG9HcmFwaChhaU5vZGUKKyAgICAgY250ID0gMDsKKyAgICAgZm9yIChzdGQ6OnZlY3RvcjxOb2Rl QXR0YWNobWVudEluZm8+OjppdGVyYXRvciBpdCA9IHNyY0xpc3QuYmVnaW4oKTsKKyAgICAgICAg ICAgICBpdCAhPSBzcmNMaXN0LmVuZCgpOyArK2l0KSB7CistICAgICAgICBpZiAoKCppdCkuYXR0 YWNoVG9Ob2RlID09IGF0dGFjaCAmJiAhKCppdCkucmVzb2x2ZWQpCisrICAgICAgICBpZiAoKCpp dCkuYXR0YWNoVG9Ob2RlID09IGF0dGFjaCAmJiAhKCppdCkucmVzb2x2ZWQpIHsKKyAgICAgICAg ICAgICArK2NudDsKKysgICAgICAgIH0KKyAgICAgfQorIAorICAgICBpZiAoY250KSB7CitAQCAt MzE0LDEyICszMjIsNiBAQCB2b2lkIFNjZW5lQ29tYmluZXI6Ok1lcmdlU2NlbmVzKGFpU2NlbmUK KyAKKyAgICAgLy8gR2VuZXJhdGUgdW5pcXVlIG5hbWVzIGZvciBhbGwgbmFtZWQgc3R1ZmY/Cisg ICAgIGlmIChmbGFncyAmIEFJX0lOVF9NRVJHRV9TQ0VORV9HRU5fVU5JUVVFX05BTUVTKSB7Cist I2lmIDAKKy0gICAgICAgIC8vIENvbnN0cnVjdCBhIHByb3BlciByYW5kb20gbnVtYmVyIGdlbmVy YXRvcgorLSAgICAgICAgYm9vc3Q6Om10MTk5Mzcgcm5nKCAgKTsKKy0gICAgICAgIGJvb3N0Ojp1 bmlmb3JtX2ludDw+IGRpc3QoMXUsMSA8PCAyNHUpOworLSAgICAgICAgYm9vc3Q6OnZhcmlhdGVf Z2VuZXJhdG9yPGJvb3N0OjptdDE5OTM3JiwgYm9vc3Q6OnVuaWZvcm1faW50PD4gPiBybmRHZW4o cm5nLCBkaXN0KTsKKy0jZW5kaWYKKyAgICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAxOyBp IDwgc3JjLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgc3JjW2ldLmlkbGVuID0gYWlfc25w cmludGYoc3JjW2ldLmlkLCAzMiwgIiQlLjZYJF8iLCBpKTsKKyAKK0BAIC0zNzEsMTMgKzM3Mywx NCBAQCB2b2lkIFNjZW5lQ29tYmluZXI6Ok1lcmdlU2NlbmVzKGFpU2NlbmUKKyAgICAgICAgICAg ICBTY2VuZUhlbHBlciAqY3VyID0gJnNyY1tuXTsKKyAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk IGludCBpID0gMDsgaSA8ICgqY3VyKS0+bU51bVRleHR1cmVzOyArK2kpIHsKKyAgICAgICAgICAg ICAgICAgaWYgKG4gIT0gZHVwbGljYXRlc1tuXSkgeworLSAgICAgICAgICAgICAgICAgICAgaWYg KGZsYWdzICYgQUlfSU5UX01FUkdFX1NDRU5FX0RVUExJQ0FURVNfREVFUF9DUFkpCisrICAgICAg ICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBBSV9JTlRfTUVSR0VfU0NFTkVfRFVQTElDQVRFU19E RUVQX0NQWSkgeworICAgICAgICAgICAgICAgICAgICAgICAgIENvcHkocGlwLCAoKmN1ciktPm1U ZXh0dXJlc1tpXSk7CistCistICAgICAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworLSAg ICAgICAgICAgICAgICB9IGVsc2UKKysgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAg ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICpwaXAgPSAoKmN1ciktPm1UZXh0 dXJlc1tpXTsKKysgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICArK3BpcDsKKyAg ICAgICAgICAgICB9CisgCitAQCAtMzk0LDEzICszOTcsMTQgQEAgdm9pZCBTY2VuZUNvbWJpbmVy OjpNZXJnZVNjZW5lcyhhaVNjZW5lCisgICAgICAgICAgICAgU2NlbmVIZWxwZXIgKmN1ciA9ICZz cmNbbl07CisgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAoKmN1cikt Pm1OdW1NYXRlcmlhbHM7ICsraSkgeworICAgICAgICAgICAgICAgICBpZiAobiAhPSBkdXBsaWNh dGVzW25dKSB7CistICAgICAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBBSV9JTlRfTUVSR0Vf U0NFTkVfRFVQTElDQVRFU19ERUVQX0NQWSkKKysgICAgICAgICAgICAgICAgICAgIGlmIChmbGFn cyAmIEFJX0lOVF9NRVJHRV9TQ0VORV9EVVBMSUNBVEVTX0RFRVBfQ1BZKSB7CisgICAgICAgICAg ICAgICAgICAgICAgICAgQ29weShwaXAsICgqY3VyKS0+bU1hdGVyaWFsc1tpXSk7CistCistICAg ICAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworLSAgICAgICAgICAgICAgICB9IGVsc2UK KysgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICAgICAgICAgICAgICpwaXAgPSAoKmN1ciktPm1NYXRlcmlhbHNbaV07CisrICAgICAgICAg ICAgICAgIH0KKyAKKyAgICAgICAgICAgICAgICAgaWYgKCgqY3VyKS0+bU51bVRleHR1cmVzICE9 IGRlc3QtPm1OdW1UZXh0dXJlcykgeworICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0 byB1cGRhdGUgYWxsIHRleHR1cmUgaW5kaWNlcyBvZiB0aGUgbWVzaC4gU28gd2UgbmVlZCB0byBz ZWFyY2ggZm9yCitAQCAtNDU3LDE2ICs0NjEsMjEgQEAgdm9pZCBTY2VuZUNvbWJpbmVyOjpNZXJn ZVNjZW5lcyhhaVNjZW5lCisgICAgICAgICAgICAgU2NlbmVIZWxwZXIgKmN1ciA9ICZzcmNbbl07 CisgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAoKmN1ciktPm1OdW1N ZXNoZXM7ICsraSkgeworICAgICAgICAgICAgICAgICBpZiAobiAhPSBkdXBsaWNhdGVzW25dKSB7 CistICAgICAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBBSV9JTlRfTUVSR0VfU0NFTkVfRFVQ TElDQVRFU19ERUVQX0NQWSkKKysgICAgICAgICAgICAgICAgICAgIGlmIChmbGFncyAmIEFJX0lO VF9NRVJHRV9TQ0VORV9EVVBMSUNBVEVTX0RFRVBfQ1BZKSB7CisgICAgICAgICAgICAgICAgICAg ICAgICAgQ29weShwaXAsICgqY3VyKS0+bU1lc2hlc1tpXSk7CistCistICAgICAgICAgICAgICAg ICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOworLSAgICAgICAgICAgICAgICB9IGVsc2UKKysgICAgICAgICAg ICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg ICAgICpwaXAgPSAoKmN1ciktPm1NZXNoZXNbaV07CisrICAgICAgICAgICAgICAgIH0KKyAKKyAg ICAgICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBtYXRlcmlhbCBpbmRleCBvZiB0aGUgbWVzaAor LSAgICAgICAgICAgICAgICAoKnBpcCktPm1NYXRlcmlhbEluZGV4ICs9IG9mZnNldFtuXTsKKysg ICAgICAgICAgICAgICAgaWYgKCgqcGlwKSAhPSBudWxscHRyKSB7CisrICAgICAgICAgICAgICAg ICAgICAoKnBpcCktPm1NYXRlcmlhbEluZGV4ICs9IG9mZnNldFtuXTsKKysgICAgICAgICAgICAg ICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgICAgIEFTU0lNUF9MT0dfRVJST1IoIkNvcHlN ZXNoZXM6IE1pc3NpbmcgbWVzaCBpbnN0YW5jZSBmb3VuZCwgc2tpcHBlZC4iKTsKKysgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgICAgICArK3BpcDsKKyAgICAgICAgICAgICB9CisgCitA QCAtMTA4NSwxNCArMTA5NCwxOSBAQCB2b2lkIFNjZW5lQ29tYmluZXI6OkNvcHkoYWlNZXNoICoq X2Rlc3QsCisgICAgIEdldEFycmF5Q29weShkZXN0LT5tVGFuZ2VudHMsIGRlc3QtPm1OdW1WZXJ0 aWNlcyk7CisgICAgIEdldEFycmF5Q29weShkZXN0LT5tQml0YW5nZW50cywgZGVzdC0+bU51bVZl cnRpY2VzKTsKKyAKKy0gICAgdW5zaWduZWQgaW50IG4gPSAwOworLSAgICB3aGlsZSAoZGVzdC0+ SGFzVGV4dHVyZUNvb3JkcyhuKSkgeworLSAgICAgICAgR2V0QXJyYXlDb3B5KGRlc3QtPm1UZXh0 dXJlQ29vcmRzW24rK10sIGRlc3QtPm1OdW1WZXJ0aWNlcyk7CisrICAgIC8vIFJlYWxsb2NhdGUg ZXZlcnkgcG9wdWxhdGVkIFVWIGFuZCBjb2xvciBjaGFubmVsLiBUaGUgZGVzdHJ1Y3RvciBmcmVl cworKyAgICAvLyBhbGwgQUlfTUFYX05VTUJFUl9PRl8qIGNoYW5uZWxzLCBzbyB0aGUgY29weSBt dXN0IG93biBhbiBpbmRlcGVuZGVudAorKyAgICAvLyBidWZmZXIgZm9yIGVhY2ggbm9uLW51bGwg b25lLiBJdGVyYXRpbmcgd2l0aCBIYXNUZXh0dXJlQ29vcmRzKCkvCisrICAgIC8vIEhhc1ZlcnRl eENvbG9ycygpIHdvdWxkIHN0b3AgYXQgdGhlIGZpcnN0IGVtcHR5IGNoYW5uZWwgKGxlYXZpbmcg YW55CisrICAgIC8vIGxhdGVyIGNoYW5uZWwgYWxpYXNlZCB3aXRoIHRoZSBzb3VyY2UpIGFuZCBh bHNvIHNraXAgY2hhbm5lbHMgb2YgYSBtZXNoCisrICAgIC8vIHdpdGggbU51bVZlcnRpY2VzID09 IDAsIHdoaWNoIHRoZW4gZG91YmxlLWZyZWVzIHdoZW4gYm90aCBtZXNoZXMgYXJlCisrICAgIC8v IGRlc3Ryb3llZC4KKysgICAgZm9yICh1bnNpZ25lZCBpbnQgbiA9IDA7IG4gPCBBSV9NQVhfTlVN QkVSX09GX1RFWFRVUkVDT09SRFM7ICsrbikgeworKyAgICAgICAgR2V0QXJyYXlDb3B5KGRlc3Qt Pm1UZXh0dXJlQ29vcmRzW25dLCBkZXN0LT5tTnVtVmVydGljZXMpOworICAgICB9CisgCistICAg IG4gPSAwOworLSAgICB3aGlsZSAoZGVzdC0+SGFzVmVydGV4Q29sb3JzKG4pKSB7CistICAgICAg ICBHZXRBcnJheUNvcHkoZGVzdC0+bUNvbG9yc1tuKytdLCBkZXN0LT5tTnVtVmVydGljZXMpOwor KyAgICBmb3IgKHVuc2lnbmVkIGludCBuID0gMDsgbiA8IEFJX01BWF9OVU1CRVJfT0ZfQ09MT1Jf U0VUUzsgKytuKSB7CisrICAgICAgICBHZXRBcnJheUNvcHkoZGVzdC0+bUNvbG9yc1tuXSwgZGVz dC0+bU51bVZlcnRpY2VzKTsKKyAgICAgfQorIAorICAgICAvLyBtYWtlIGEgZGVlcCBjb3B5IG9m IGFsbCBib25lcworZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02LjAuNS90ZXN0 L3VuaXQvdXRTY2VuZUNvbWJpbmVyLmNwcCBhc3NpbXAtNi4wLjUtbmV3L3Rlc3QvdW5pdC91dFNj ZW5lQ29tYmluZXIuY3BwCistLS0gYXNzaW1wLTYuMC41L3Rlc3QvdW5pdC91dFNjZW5lQ29tYmlu ZXIuY3BwCTIwMjYtMDQtMzAgMTE6MTU6MDkuMDAwMDAwMDAwICswMjAwCisrKysgYXNzaW1wLTYu MC41LW5ldy90ZXN0L3VuaXQvdXRTY2VuZUNvbWJpbmVyLmNwcAkyMDI2LTA5LTE4IDIzOjI2OjA4 LjM4MTgxMzY5MyArMDIwMAorQEAgLTc1LDMgKzc1LDU0IEBAIFRFU1RfRih1dFNjZW5lQ29tYmlu ZXIsIENvcHlTY2VuZVdpdGhOdWwKKyAgICAgRVhQRUNUX05PX1RIUk9XKFNjZW5lQ29tYmluZXI6 OkNvcHlTY2VuZShudWxscHRyLCBudWxscHRyKSk7CisgICAgIEVYUEVDVF9OT19USFJPVyhTY2Vu ZUNvbWJpbmVyOjpDb3B5U2NlbmVGbGF0KG51bGxwdHIsIG51bGxwdHIpKTsKKyB9CisrCisrLy8g Q29weWluZyBhIG1lc2ggbXVzdCBnaXZlIHRoZSBjb3B5IGl0cyBvd24gVVYgYW5kIGNvbG9yIGJ1 ZmZlcnMgZm9yIGV2ZXJ5CisrLy8gcG9wdWxhdGVkIGNoYW5uZWwsIGV2ZW4gd2hlbiB0aGUgY2hh bm5lbCBpcyBub3QgdGhlIGZpcnN0IG9uZSBvciB3aGVuIHRoZQorKy8vIG1lc2ggcmVwb3J0cyB6 ZXJvIHZlcnRpY2VzLiBPdGhlcndpc2UgdGhlIGNvcHkgYWxpYXNlcyB0aGUgc291cmNlIGFycmF5 cyBhbmQKKysvLyBkZXN0cm95aW5nIGJvdGggZG91YmxlLWZyZWVzIHRoZW0gKGFzc2ltcC9hc3Np bXAjNjYyMCkuCisrVEVTVF9GKHV0U2NlbmVDb21iaW5lciwgQ29weU1lc2hEb2VzTm90QWxpYXNT cGFyc2VPckVtcHR5Q2hhbm5lbHMpIHsKKysgICAgYXV0byBtYWtlTWVzaCA9IFtdKCkgeworKyAg ICAgICAgYWlNZXNoICptZXNoID0gbmV3IGFpTWVzaDsKKysgICAgICAgIC8vIEEgcG9wdWxhdGVk IFVWIGNoYW5uZWwgdGhhdCBpcyBub3QgY2hhbm5lbCAwLgorKyAgICAgICAgbWVzaC0+bU51bVZl cnRpY2VzID0gMjsKKysgICAgICAgIG1lc2gtPm1WZXJ0aWNlcyA9IG5ldyBhaVZlY3RvcjNEWzJd OworKyAgICAgICAgbWVzaC0+bVRleHR1cmVDb29yZHNbMV0gPSBuZXcgYWlWZWN0b3IzRFsyXXt9 OworKyAgICAgICAgbWVzaC0+bU51bVVWQ29tcG9uZW50c1sxXSA9IDI7CisrICAgICAgICAvLyBB IHBvcHVsYXRlZCBjb2xvciBjaGFubmVsIHRoYXQgaXMgbm90IGNoYW5uZWwgMC4KKysgICAgICAg IG1lc2gtPm1Db2xvcnNbMV0gPSBuZXcgYWlDb2xvcjREWzJde307CisrICAgICAgICByZXR1cm4g bWVzaDsKKysgICAgfTsKKysKKysgICAgLy8gTm9uLWNvbnRpZ3VvdXMgY2hhbm5lbHM6IEhhc1Rl eHR1cmVDb29yZHMoMCkgaXMgZmFsc2UsIHNvIHRoZSBvbGQgbG9vcAorKyAgICAvLyBzdG9wcGVk IGJlZm9yZSBjb3B5aW5nIGNoYW5uZWwgMS4KKysgICAgeworKyAgICAgICAgYWlNZXNoICpzcmMg PSBtYWtlTWVzaCgpOworKyAgICAgICAgYWlNZXNoICpkc3QgPSBudWxscHRyOworKyAgICAgICAg U2NlbmVDb21iaW5lcjo6Q29weSgmZHN0LCBzcmMpOworKyAgICAgICAgQVNTRVJUX05FKGRzdCwg bnVsbHB0cik7CisrICAgICAgICBFWFBFQ1RfTkUoZHN0LT5tVGV4dHVyZUNvb3Jkc1sxXSwgc3Jj LT5tVGV4dHVyZUNvb3Jkc1sxXSk7CisrICAgICAgICBFWFBFQ1RfTkUoZHN0LT5tQ29sb3JzWzFd LCBzcmMtPm1Db2xvcnNbMV0pOworKyAgICAgICAgZGVsZXRlIGRzdDsKKysgICAgICAgIGRlbGV0 ZSBzcmM7CisrICAgIH0KKysKKysgICAgLy8gQSBwb3B1bGF0ZWQgY2hhbm5lbCBvbiBhIHplcm8t dmVydGV4IG1lc2g6IEhhc1RleHR1cmVDb29yZHMoKSByZXF1aXJlcworKyAgICAvLyBtTnVtVmVy dGljZXMgPiAwLCBzbyB0aGUgb2xkIGxvb3Agc2tpcHBlZCBpdC4KKysgICAgeworKyAgICAgICAg YWlNZXNoICpzcmMgPSBtYWtlTWVzaCgpOworKyAgICAgICAgc3JjLT5tTnVtVmVydGljZXMgPSAw OworKyAgICAgICAgZGVsZXRlW10gc3JjLT5tVmVydGljZXM7CisrICAgICAgICBzcmMtPm1WZXJ0 aWNlcyA9IG51bGxwdHI7CisrICAgICAgICAvLyBNb3ZlIHRoZSBwb3B1bGF0ZWQgY2hhbm5lbHMg dG8gaW5kZXggMCB0byBleGVyY2lzZSB0aGUgbU51bVZlcnRpY2VzCisrICAgICAgICAvLyBndWFy ZCBzcGVjaWZpY2FsbHkuCisrICAgICAgICBzdGQ6OnN3YXAoc3JjLT5tVGV4dHVyZUNvb3Jkc1sw XSwgc3JjLT5tVGV4dHVyZUNvb3Jkc1sxXSk7CisrICAgICAgICBzdGQ6OnN3YXAoc3JjLT5tQ29s b3JzWzBdLCBzcmMtPm1Db2xvcnNbMV0pOworKyAgICAgICAgYWlNZXNoICpkc3QgPSBudWxscHRy OworKyAgICAgICAgU2NlbmVDb21iaW5lcjo6Q29weSgmZHN0LCBzcmMpOworKyAgICAgICAgQVNT RVJUX05FKGRzdCwgbnVsbHB0cik7CisrICAgICAgICBFWFBFQ1RfTkUoZHN0LT5tVGV4dHVyZUNv b3Jkc1swXSwgc3JjLT5tVGV4dHVyZUNvb3Jkc1swXSk7CisrICAgICAgICBFWFBFQ1RfTkUoZHN0 LT5tQ29sb3JzWzBdLCBzcmMtPm1Db2xvcnNbMF0pOworKyAgICAgICAgZGVsZXRlIGRzdDsKKysg ICAgICAgIGRlbGV0ZSBzcmM7CisrICAgIH0KKyt9CgpkaWZmIC0tZ2l0IGEvQ1ZFLTIwMjYtMTQ2 MTAucGF0Y2ggYi9DVkUtMjAyNi0xNDYxMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4wZTM4YTMwCi0tLSAvZGV2L251bGwKKysrIGIvQ1ZFLTIwMjYtMTQ2MTAucGF0 Y2gKQEAgLTAsMCArMSwzNSBAQAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02 LjAuNS9jb2RlL0Fzc2V0TGliL0NTTS9DU01Mb2FkZXIuY3BwIGFzc2ltcC02LjAuNS1uZXcvY29k ZS9Bc3NldExpYi9DU00vQ1NNTG9hZGVyLmNwcAorLS0tIGFzc2ltcC02LjAuNS9jb2RlL0Fzc2V0 TGliL0NTTS9DU01Mb2FkZXIuY3BwCTIwMjYtMDQtMzAgMTE6MTU6MDkuMDAwMDAwMDAwICswMjAw CisrKysgYXNzaW1wLTYuMC41LW5ldy9jb2RlL0Fzc2V0TGliL0NTTS9DU01Mb2FkZXIuY3BwCTIw MjYtMDktMTggMjM6MjY6MDcuMjgwNTA0NzQ4ICswMjAwCitAQCAtMTc1LDcgKzE3NSw3IEBAIHZv aWQgQ1NNSW1wb3J0ZXI6OkludGVyblJlYWRGaWxlKCBjb25zdAorIAorICAgICAgICAgICAgICAg ICAvLyBJZiB3ZSBrbm93IGhvdyBtYW55IGZyYW1lcyB3ZSdsbCByZWFkLCB3ZSBjYW4gcHJlYWxs b2NhdGUgc29tZSBzdG9yYWdlCisgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBhbGxvYyA9 IDEwMDsKKy0gICAgICAgICAgICAgICAgaWYgKGxhc3QgIT0gMHgwMGZmZmZmZikgeworKyAgICAg ICAgICAgICAgICBpZiAobGFzdCAhPSAweDAwZmZmZmZmICYmIGxhc3QgPiBmaXJzdCkgeworICAg ICAgICAgICAgICAgICAgICAgLy8gcmUtaW5pdCBpZiB0aGUgZmlsZSBoYXMgbGFzdCBmcmFtZSBk YXRhCisgICAgICAgICAgICAgICAgICAgICBhbGxvYyA9IGxhc3QtZmlyc3Q7CisgICAgICAgICAg ICAgICAgICAgICBhbGxvYyArPSBhbGxvYz4+MnU7IC8vICsgMjUlCitkaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgYXNzaW1wLTYuMC41L3Rlc3QvbW9kZWxzL0NTTS9tYWxmb3JtZWRfemVyb19m cmFtZXJhbmdlLmNzbSBhc3NpbXAtNi4wLjUtbmV3L3Rlc3QvbW9kZWxzL0NTTS9tYWxmb3JtZWRf emVyb19mcmFtZXJhbmdlLmNzbQorLS0tIGFzc2ltcC02LjAuNS90ZXN0L21vZGVscy9DU00vbWFs Zm9ybWVkX3plcm9fZnJhbWVyYW5nZS5jc20JMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAg KzAxMDAKKysrKyBhc3NpbXAtNi4wLjUtbmV3L3Rlc3QvbW9kZWxzL0NTTS9tYWxmb3JtZWRfemVy b19mcmFtZXJhbmdlLmNzbQkyMDI2LTA5LTE4IDIzOjI2OjA3LjI4MDkyODA4MiArMDIwMAorQEAg LTAsMCArMSw2IEBACisrJEZpcnN0RnJhbWUgMAorKyRMYXN0RnJhbWUgMAorKyRPcmRlcgorK0EK KyskUG9pbnRzCisrMCAgMS4wIDIuMCAzLjAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBh c3NpbXAtNi4wLjUvdGVzdC91bml0L3V0Q1NNSW1wb3J0RXhwb3J0LmNwcCBhc3NpbXAtNi4wLjUt bmV3L3Rlc3QvdW5pdC91dENTTUltcG9ydEV4cG9ydC5jcHAKKy0tLSBhc3NpbXAtNi4wLjUvdGVz dC91bml0L3V0Q1NNSW1wb3J0RXhwb3J0LmNwcAkyMDI2LTA0LTMwIDExOjE1OjA5LjAwMDAwMDAw MCArMDIwMAorKysrIGFzc2ltcC02LjAuNS1uZXcvdGVzdC91bml0L3V0Q1NNSW1wb3J0RXhwb3J0 LmNwcAkyMDI2LTA5LTE4IDIzOjI2OjA3LjI4MTEwODQyOCArMDIwMAorQEAgLTU4LDMgKzU4LDkg QEAgcHVibGljOgorIFRFU1RfRih1dENTTUltcG9ydEV4cG9ydCwgaW1wb3J0QmxlbkZyb21GaWxl VGVzdCkgeworICAgICBFWFBFQ1RfVFJVRShpbXBvcnRlclRlc3QoKSk7CisgfQorKworK1RFU1Rf Rih1dENTTUltcG9ydEV4cG9ydCwgaW1wb3J0TWFsZm9ybWVkWmVyb0ZyYW1lUmFuZ2UpIHsKKysg ICAgQXNzaW1wOjpJbXBvcnRlciBpbXBvcnRlcjsKKysgICAgY29uc3QgYWlTY2VuZSAqc2NlbmUg PSBpbXBvcnRlci5SZWFkRmlsZShBU1NJTVBfVEVTVF9NT0RFTFNfRElSICIvQ1NNL21hbGZvcm1l ZF96ZXJvX2ZyYW1lcmFuZ2UuY3NtIiwgMCk7CisrICAgIEVYUEVDVF9ORShudWxscHRyLCBzY2Vu ZSk7CisrfQoKZGlmZiAtLWdpdCBhL0NWRS0yMDI2LTE5OTY4LnBhdGNoIGIvQ1ZFLTIwMjYtMTk5 NjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM0NDFmYwotLS0g L2Rldi9udWxsCisrKyBiL0NWRS0yMDI2LTE5OTY4LnBhdGNoCkBAIC0wLDAgKzEsMzgyIEBACitk aWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgYXNzaW1wLTYuMC41L2NvZGUvQXNzZXRMaWIvTFdP L0xXT0xvYWRlci5oIGFzc2ltcC02LjAuNS1uZXcvY29kZS9Bc3NldExpYi9MV08vTFdPTG9hZGVy LmgKKy0tLSBhc3NpbXAtNi4wLjUvY29kZS9Bc3NldExpYi9MV08vTFdPTG9hZGVyLmgJMjAyNi0w NC0zMCAxMToxNTowOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBhc3NpbXAtNi4wLjUtbmV3L2NvZGUv QXNzZXRMaWIvTFdPL0xXT0xvYWRlci5oCTIwMjYtMDktMTggMjM6MjY6MDcuNjQ3MTI1NDc1ICsw MjAwCitAQCAtNDYsNiArNDYsNyBAQCBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg T0YgVEhFCisgCisgI2luY2x1ZGUgIkxXT0ZpbGVEYXRhLmgiCisgI2luY2x1ZGUgPGFzc2ltcC9C YXNlSW1wb3J0ZXIuaD4KKysjaW5jbHVkZSA8YXNzaW1wL0V4Y2VwdGlvbmFsLmg+CisgI2luY2x1 ZGUgPGFzc2ltcC9tYXRlcmlhbC5oPgorICNpbmNsdWRlIDxhc3NpbXAvRGVmYXVsdExvZ2dlci5o cHA+CisgCitAQCAtNzEsMjggKzcyLDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBMV087CisgLy8gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgY2xhc3MgTFdPSW1wb3J0ZXIgZmluYWwgOiBwdWJsaWMgQmFzZUlt cG9ydGVyIHsKKyBwdWJsaWM6CistICAgIC8qKgorLSAgICAgKiBAYnJpZWYgVGhlIGNsYXNzIGNv bnN0cnVjdG9yLgorLSAgICAgKi8KKyAgICAgTFdPSW1wb3J0ZXIoKSA9IGRlZmF1bHQ7CistCist ICAgIC8qKgorLSAgICAgKiBAYnJpZWYgVGhlIGNsYXNzIGRlc3RydWN0b3IuCistICAgICAqLwor ICAgICB+TFdPSW1wb3J0ZXIoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CistCistICAgIC8vIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKy0gICAgLyoqIFJldHVybnMgd2hldGhlciB0aGUgY2xhc3MgY2FuIGhhbmRsZSB0aGUg Zm9ybWF0IG9mIHRoZSBnaXZlbiBmaWxlLgorLSAgICAgKiBTZWUgQmFzZUltcG9ydGVyOjpDYW5S ZWFkKCkgZm9yIGRldGFpbHMuCistICAgICAqLworICAgICBib29sIENhblJlYWQoY29uc3Qgc3Rk OjpzdHJpbmcgJnBGaWxlLCBJT1N5c3RlbSAqcElPSGFuZGxlciwKKyAgICAgICAgICAgICBib29s IGNoZWNrU2lnKSBjb25zdCBvdmVycmlkZTsKKy0KKy0gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAv KiogQ2FsbGVkIHByaW9yIHRvIFJlYWRGaWxlKCkuCistICAgICogVGhlIGZ1bmN0aW9uIGlzIGEg cmVxdWVzdCB0byB0aGUgaW1wb3J0ZXIgdG8gdXBkYXRlIGl0cyBjb25maWd1cmF0aW9uCistICAg ICogYmFzaW5nIG9uIHRoZSBJbXBvcnRlcidzIGNvbmZpZ3VyYXRpb24gcHJvcGVydHkgbGlzdC4K Ky0gICAgKi8KKyAgICAgdm9pZCBTZXR1cFByb3BlcnRpZXMoY29uc3QgSW1wb3J0ZXIgKnBJbXAp IG92ZXJyaWRlOworIAorIHByb3RlY3RlZDoKK0BAIC0xMDksMTggKzkyLDE1IEBAIHByb3RlY3Rl ZDoKKyAKKyBwcml2YXRlOgorICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgIC8qKiBMb2FkcyBhIExX TyBmaWxlIGluIHRoZSBvbGRlciBMV09CIGZvcm1hdCAoTFcgPCA2KQorLSAgICAgKi8KKysgICAg Ly8vIExvYWRzIGEgTFdPIGZpbGUgaW4gdGhlIG9sZGVyIExXT0IgZm9ybWF0IChMVyA8IDYpCisg ICAgIHZvaWQgTG9hZExXT0JGaWxlKCk7CisgCisgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoq IExvYWRzIGEgTFdPIGZpbGUgaW4gdGhlIG5ld2VyIExXTzIgZm9ybWF0IChMVyA+PSA2KQorLSAg ICAgKi8KKysgICAgLy8vIExvYWRzIGEgTFdPIGZpbGUgaW4gdGhlIG5ld2VyIExXTzIgZm9ybWF0 IChMVyA+PSA2KQorICAgICB2b2lkIExvYWRMV08yRmlsZSgpOworIAorICAgICAvLyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCistICAgIC8qKiBQYXJzaW5nIGZ1bmN0aW9ucyB1c2VkIGZvciBhbGwgZmlsZSBmb3JtYXQg dmVyc2lvbnMKKy0gICAgKi8KKysgICAgLy8vIFBhcnNpbmcgZnVuY3Rpb25zIHVzZWQgZm9yIGFs bCBmaWxlIGZvcm1hdCB2ZXJzaW9ucworICAgICB2b2lkIEdldFMwKHN0ZDo6c3RyaW5nICZvdXQs IHVuc2lnbmVkIGludCBtYXgpOworICAgICBmbG9hdCBHZXRGNCgpOworICAgICBmbG9hdCBHZXRG OCgpOworQEAgLTEzMCwzOSArMTEwLDM0IEBAIHByaXZhdGU6CisgICAgIHVpbnQ4X3QgR2V0VTEo KTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogTG9hZHMgYSBzdXJmYWNlIGNodW5r IGZyb20gYW4gTFdPQiBmaWxlCistICAgICAqICBAcGFyYW0gc2l6ZSBNYXhpbXVtIHNpemUgdG8g YmUgcmVhZCwgaW4gYnl0ZXMuCistICAgICAqLworKyAgICAvLy8gTG9hZHMgYSBzdXJmYWNlIGNo dW5rIGZyb20gYW4gTFdPQiBmaWxlCisrICAgIC8vLyBAcGFyYW0gc2l6ZSBNYXhpbXVtIHNpemUg dG8gYmUgcmVhZCwgaW4gYnl0ZXMuCisgICAgIHZvaWQgTG9hZExXT0JTdXJmYWNlKHVuc2lnbmVk IGludCBzaXplKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogTG9hZHMgYSBzdXJm YWNlIGNodW5rIGZyb20gYW4gTFdPMiBmaWxlCistICAgICAqICBAcGFyYW0gc2l6ZSBNYXhpbXVt IHNpemUgdG8gYmUgcmVhZCwgaW4gYnl0ZXMuCistICAgICAqLworKyAgICAvLy8gTG9hZHMgYSBz dXJmYWNlIGNodW5rIGZyb20gYW4gTFdPMiBmaWxlCisrICAgIC8vLyAgQHBhcmFtIHNpemUgTWF4 aW11bSBzaXplIHRvIGJlIHJlYWQsIGluIGJ5dGVzLgorICAgICB2b2lkIExvYWRMV08yU3VyZmFj ZSh1bnNpZ25lZCBpbnQgc2l6ZSk7CisgICAgIHZvaWQgTG9hZExXTzNTdXJmYWNlKHVuc2lnbmVk IGludCBzaXplKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogTG9hZHMgYSB0ZXh0 dXJlIGJsb2NrIGZyb20gYSBMV08yIGZpbGUuCistICAgICAqICBAcGFyYW0gc2l6ZSBNYXhpbXVt IHNpemUgdG8gYmUgcmVhZCwgaW4gYnl0ZXMuCistICAgICAqICBAcGFyYW0gaGVhZCBIZWFkZXIg b2YgdGhlIFNVRi5CTE9LIGhlYWRlcgorLSAgICAgKi8KKysgICAgLy8vIExvYWRzIGEgdGV4dHVy ZSBibG9jayBmcm9tIGEgTFdPMiBmaWxlLgorKyAgICAvLy8gQHBhcmFtIHNpemUgTWF4aW11bSBz aXplIHRvIGJlIHJlYWQsIGluIGJ5dGVzLgorKyAgICAvLy8gQHBhcmFtIGhlYWQgSGVhZGVyIG9m IHRoZSBTVUYuQkxPSyBoZWFkZXIKKyAgICAgdm9pZCBMb2FkTFdPMlRleHR1cmVCbG9jayhMRV9O Q09OU1QgSUZGOjpTdWJDaHVua0hlYWRlciAqaGVhZCwKKyAgICAgICAgICAgICB1bnNpZ25lZCBp bnQgc2l6ZSk7CisgCisgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIExvYWRzIGEgc2hhZGVy IGJsb2NrIGZyb20gYSBMV08yIGZpbGUuCistICAgICAqICBAcGFyYW0gc2l6ZSBNYXhpbXVtIHNp emUgdG8gYmUgcmVhZCwgaW4gYnl0ZXMuCistICAgICAqICBAcGFyYW0gaGVhZCBIZWFkZXIgb2Yg dGhlIFNVRi5CTE9LIGhlYWRlcgorLSAgICAgKi8KKysgICAgLy8vIExvYWRzIGEgc2hhZGVyIGJs b2NrIGZyb20gYSBMV08yIGZpbGUuCisrICAgIC8vLyBAcGFyYW0gc2l6ZSBNYXhpbXVtIHNpemUg dG8gYmUgcmVhZCwgaW4gYnl0ZXMuCisrICAgIC8vLyBAcGFyYW0gaGVhZCBIZWFkZXIgb2YgdGhl IFNVRi5CTE9LIGhlYWRlcgorICAgICB2b2lkIExvYWRMV08yU2hhZGVyQmxvY2soTEVfTkNPTlNU IElGRjo6U3ViQ2h1bmtIZWFkZXIgKmhlYWQsCisgICAgICAgICAgICAgdW5zaWduZWQgaW50IHNp emUpOworIAorICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgIC8qKiBMb2FkcyBhbiBpbWFnZSBtYXAg ZnJvbSBhIExXTzIgZmlsZQorLSAgICAgKiAgQHBhcmFtIHNpemUgTWF4aW11bSBzaXplIHRvIGJl IHJlYWQsIGluIGJ5dGVzLgorLSAgICAgKiAgQHBhcmFtIHRleCBUZXh0dXJlIG9iamVjdCB0byBi ZSBmaWxsZWQKKy0gICAgICovCisrICAgIC8vLyBMb2FkcyBhbiBpbWFnZSBtYXAgZnJvbSBhIExX TzIgZmlsZQorKyAgICAvLy8gQHBhcmFtIHNpemUgTWF4aW11bSBzaXplIHRvIGJlIHJlYWQsIGlu IGJ5dGVzLgorKyAgICAvLy8gQHBhcmFtIHRleCBUZXh0dXJlIG9iamVjdCB0byBiZSBmaWxsZWQK KyAgICAgdm9pZCBMb2FkTFdPMkltYWdlTWFwKHVuc2lnbmVkIGludCBzaXplLCBMV086OlRleHR1 cmUgJnRleCk7CisgICAgIHZvaWQgTG9hZExXTzJHcmFkaWVudCh1bnNpZ25lZCBpbnQgc2l6ZSwg TFdPOjpUZXh0dXJlICZ0ZXgpOworICAgICB2b2lkIExvYWRMV08yUHJvY2VkdXJhbCh1bnNpZ25l ZCBpbnQgc2l6ZSwgTFdPOjpUZXh0dXJlICZ0ZXgpOworQEAgLTE3MSw0OCArMTQ2LDQxIEBAIHBy aXZhdGU6CisgICAgIHZvaWQgTG9hZExXTzJUZXh0dXJlSGVhZGVyKHVuc2lnbmVkIGludCBzaXpl LCBMV086OlRleHR1cmUgJnRleCk7CisgCisgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIExv YWRzIHRoZSBMV08gdGFnIGxpc3QgZnJvbSB0aGUgZmlsZQorLSAgICAgKiAgQHBhcmFtIHNpemUg TWF4aW11bSBzaXplIHRvIGJlIHJlYWQsIGluIGJ5dGVzLgorLSAgICAgKi8KKysgICAgLy8vIExv YWRzIHRoZSBMV08gdGFnIGxpc3QgZnJvbSB0aGUgZmlsZQorKyAgICAvLy8gQHBhcmFtIHNpemUg TWF4aW11bSBzaXplIHRvIGJlIHJlYWQsIGluIGJ5dGVzLgorICAgICB2b2lkIExvYWRMV09UYWdz KHVuc2lnbmVkIGludCBzaXplKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogTG9h ZCBwb2x5Z29ucyBmcm9tIGEgUE9MUyBjaHVuaworLSAgICAgKiAgQHBhcmFtIGxlbmd0aCBTaXpl IG9mIHRoZSBjaHVuaworLSAgICAqLworKyAgICAvLy8gTG9hZCBwb2x5Z29ucyBmcm9tIGEgUE9M UyBjaHVuaworKyAgICAvLy8gQHBhcmFtIGxlbmd0aCBTaXplIG9mIHRoZSBjaHVuaworICAgICB2 b2lkIExvYWRMV08yUG9seWdvbnModW5zaWduZWQgaW50IGxlbmd0aCk7CisgICAgIHZvaWQgTG9h ZExXT0JQb2x5Z29ucyh1bnNpZ25lZCBpbnQgbGVuZ3RoKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorLSAgICAvKiogTG9hZCBwb2x5Z29uIHRhZ3MgZnJvbSBhIFBUQUcgY2h1bmsKKy0gICAgICog IEBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgY2h1bmsKKy0gICAgKi8KKysgICAgLy8vIExvYWQg cG9seWdvbiB0YWdzIGZyb20gYSBQVEFHIGNodW5rCisrICAgIC8vLyBAcGFyYW0gbGVuZ3RoIFNp emUgb2YgdGhlIGNodW5rCisgICAgIHZvaWQgTG9hZExXTzJQb2x5Z29uVGFncyh1bnNpZ25lZCBp bnQgbGVuZ3RoKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogTG9hZCBhIHZlcnRl eCBtYXAgZnJvbSBhIFZNQVAvVk1BRCBjaHVuaworLSAgICAgKiAgQHBhcmFtIGxlbmd0aCBTaXpl IG9mIHRoZSBjaHVuaworLSAgICAgKiAgQHBhcmFtIHBlclBvbHkgT3BlcmF0ZSBvbiBwZXItcG9s eWdvbiBiYXNlPworLSAgICAqLworKyAgICAvLy8gTG9hZCBhIHZlcnRleCBtYXAgZnJvbSBhIFZN QVAvVk1BRCBjaHVuaworKyAgICAvLy8gQHBhcmFtIGxlbmd0aCBTaXplIG9mIHRoZSBjaHVuawor KyAgICAvLy8gQHBhcmFtIHBlclBvbHkgT3BlcmF0ZSBvbiBwZXItcG9seWdvbiBiYXNlPworICAg ICB2b2lkIExvYWRMV08yVmVydGV4TWFwKHVuc2lnbmVkIGludCBsZW5ndGgsIGJvb2wgcGVyUG9s eSk7CisgCisgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIExvYWQgcG9seWdvbnMgZnJvbSBh IFBOVFMgY2h1bmsKKy0gICAgICogIEBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgY2h1bmsKKy0g ICAgKi8KKysgICAgLy8vIExvYWQgcG9seWdvbnMgZnJvbSBhIFBOVFMgY2h1bmsKKysgICAgLy8v IEBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgY2h1bmsKKyAgICAgdm9pZCBMb2FkTFdPUG9pbnRz KHVuc2lnbmVkIGludCBsZW5ndGgpOworIAorICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgIC8qKiBM b2FkIGEgY2xpcCBmcm9tIGEgQ0xJUCBjaHVuaworLSAgICAgKiAgQHBhcmFtIGxlbmd0aCBTaXpl IG9mIHRoZSBjaHVuaworLSAgICAqLworKyAgICAvLy8gTG9hZCBhIGNsaXAgZnJvbSBhIENMSVAg Y2h1bmsKKysgICAgLy8vIEBwYXJhbSBsZW5ndGggU2l6ZSBvZiB0aGUgY2h1bmsKKyAgICAgdm9p ZCBMb2FkTFdPMkNsaXAodW5zaWduZWQgaW50IGxlbmd0aCk7CisgICAgIHZvaWQgTG9hZExXTzND bGlwKHVuc2lnbmVkIGludCBsZW5ndGgpOworIAorICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgIC8q KiBMb2FkIGFuIGVudmVsb3BlIGZyb20gYW4gRVZMIGNodW5rCistICAgICAqICBAcGFyYW0gbGVu Z3RoIFNpemUgb2YgdGhlIGNodW5rCistICAgICovCisrICAgIC8vLyBMb2FkIGFuIGVudmVsb3Bl IGZyb20gYW4gRVZMIGNodW5rCisrICAgIC8vLyBAcGFyYW0gbGVuZ3RoIFNpemUgb2YgdGhlIGNo dW5rCisgICAgIHZvaWQgTG9hZExXTzJFbnZlbG9wZSh1bnNpZ25lZCBpbnQgbGVuZ3RoKTsKKyAg ICAgdm9pZCBMb2FkTFdPM0VudmVsb3BlKHVuc2lnbmVkIGludCBsZW5ndGgpOworIAorQEAgLTIy Niw4ICsxOTQsNyBAQCBwcml2YXRlOgorICAgICB2b2lkIExvYWROb2RlRGF0YSh1bnNpZ25lZCBp bnQgbGVuZ3RoKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogQ291bnQgdmVydGlj ZXMgYW5kIGZhY2VzIGluIGEgTFdPQi9MV08yIGZpbGUKKy0gICAgKi8KKysgICAgLy8vIENvdW50 IHZlcnRpY2VzIGFuZCBmYWNlcyBpbiBhIExXT0IvTFdPMiBmaWxlCisgICAgIHZvaWQgQ291bnRW ZXJ0c0FuZEZhY2VzTFdPMih1bnNpZ25lZCBpbnQgJnZlcnRzLAorICAgICAgICAgICAgIHVuc2ln bmVkIGludCAmZmFjZXMsCisgICAgICAgICAgICAgdWludDE2X3QgKiZjdXJzb3IsCitAQCAtMjQx LDggKzIwOCw3IEBAIHByaXZhdGU6CisgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1heCA9IFVJ TlRfTUFYKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogUmVhZCB2ZXJ0aWNlcyBh bmQgZmFjZXMgaW4gYSBMV09CL0xXTzIgZmlsZQorLSAgICAqLworKyAgICAvLy8gUmVhZCB2ZXJ0 aWNlcyBhbmQgZmFjZXMgaW4gYSBMV09CL0xXTzIgZmlsZQorICAgICB2b2lkIENvcHlGYWNlSW5k aWNlc0xXTzIoTFdPOjpGYWNlTGlzdDo6aXRlcmF0b3IgJml0LAorICAgICAgICAgICAgIHVpbnQx Nl90IComY3Vyc29yLAorICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICpjb25zdCBlbmQpOwor QEAgLTI1NCw0NSArMjIwLDM2IEBAIHByaXZhdGU6CisgICAgICAgICAgICAgdW5zaWduZWQgaW50 IG1heCA9IFVJTlRfTUFYKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogUmVzb2x2 ZSB0aGUgdGFnIGFuZCBzdXJmYWNlIGxpc3RzIHRoYXQgaGF2ZSBiZWVuIGxvYWRlZC4KKy0gICAg KiAgIEdlbmVyYXRlcyB0aGUgbU1hcHBpbmcgdGFibGUuCistICAgICovCisrICAgIC8vLyBSZXNv bHZlIHRoZSB0YWcgYW5kIHN1cmZhY2UgbGlzdHMgdGhhdCBoYXZlIGJlZW4gbG9hZGVkLgorKyAg ICAvLy8gR2VuZXJhdGVzIHRoZSBtTWFwcGluZyB0YWJsZS4KKyAgICAgdm9pZCBSZXNvbHZlVGFn cygpOworIAorICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgIC8qKiBSZXNvbHZlIHRoZSBjbGlwIGxp c3QgdGhhdCBoYXMgYmVlbiBsb2FkZWQuCistICAgICogICBSZXBsYWNlcyBjbGlwIHJlZmVyZW5j ZXMgd2l0aCByZWFsIGNsaXBzLgorLSAgICAqLworKyAgICAvLy8gUmVzb2x2ZSB0aGUgY2xpcCBs aXN0IHRoYXQgaGFzIGJlZW4gbG9hZGVkLgorKyAgICAvLy8gUmVwbGFjZXMgY2xpcCByZWZlcmVu Y2VzIHdpdGggcmVhbCBjbGlwcy4KKyAgICAgdm9pZCBSZXNvbHZlQ2xpcHMoKTsKKyAKKyAgICAg Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorLSAgICAvKiogQWRkIGEgdGV4dHVyZSBsaXN0IHRvIGFuIG91dHB1dCBt YXRlcmlhbCBkZXNjcmlwdGlvbi4KKy0gICAgICoKKy0gICAgICogIEBwYXJhbSBwY01hdCBPdXRw dXQgbWF0ZXJpYWwKKy0gICAgICogIEBwYXJhbSBpbiBJbnB1dCB0ZXh0dXJlIGxpc3QKKy0gICAg ICogIEBwYXJhbSB0eXBlIFR5cGUgaWRlbnRpZmllciBvZiB0aGUgdGV4dHVyZSBsaXN0CistICAg ICovCisrICAgIC8vLyBBZGQgYSB0ZXh0dXJlIGxpc3QgdG8gYW4gb3V0cHV0IG1hdGVyaWFsIGRl c2NyaXB0aW9uLgorKyAgICAvLy8gQHBhcmFtIHBjTWF0IE91dHB1dCBtYXRlcmlhbAorKyAgICAv Ly8gQHBhcmFtIGluIElucHV0IHRleHR1cmUgbGlzdAorKyAgICAvLy8gQHBhcmFtIHR5cGUgVHlw ZSBpZGVudGlmaWVyIG9mIHRoZSB0ZXh0dXJlIGxpc3QKKyAgICAgYm9vbCBIYW5kbGVUZXh0dXJl cyhhaU1hdGVyaWFsICpwY01hdCwgY29uc3QgVGV4dHVyZUxpc3QgJmluLAorICAgICAgICAgICAg IGFpVGV4dHVyZVR5cGUgdHlwZSk7CisgCisgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIEFk anVzdCBhIHRleHR1cmUgcGF0aAorLSAgICAqLworKyAgICAvLy8gQWRqdXN0IGEgdGV4dHVyZSBw YXRoCisgICAgIHZvaWQgQWRqdXN0VGV4dHVyZVBhdGgoc3RkOjpzdHJpbmcgJm91dCk7CisgCisg ICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIENvbnZlcnQgYSBMV08gc3VyZmFjZSBkZXNjcmlw dGlvbiB0byBhbiBBU1NJTVAgbWF0ZXJpYWwKKy0gICAgKi8KKysgICAgLy8vIENvbnZlcnQgYSBM V08gc3VyZmFjZSBkZXNjcmlwdGlvbiB0byBhbiBBU1NJTVAgbWF0ZXJpYWwKKyAgICAgdm9pZCBD b252ZXJ0TWF0ZXJpYWwoY29uc3QgTFdPOjpTdXJmYWNlICZzdXJmLCBhaU1hdGVyaWFsICpwY01h dCk7CisgCisgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIEdldCBhIGxpc3Qgb2YgYWxsIFVW L1ZDIGNoYW5uZWxzIHJlcXVpcmVkIGJ5IGEgc3BlY2lmaWMgc3VyZmFjZS4KKy0gICAgICoKKy0g ICAgICogIEBwYXJhbSBzdXJmIFdvcmtpbmcgc3VyZmFjZQorLSAgICAgKiAgQHBhcmFtIGxheWVy IFdvcmtpbmcgbGF5ZXIKKy0gICAgICogIEBwYXJhbSBvdXQgT3V0cHV0IGxpc3QuIFRoZSBtZW1i ZXJzIGFyZSBpbmRpY2VzIGludG8gdGhlCistICAgICAqICAgIFVWL1ZDIGNoYW5uZWwgbGlzdHMg b2YgdGhlIGxheWVyCistICAgICovCisrICAgIC8vLyBHZXQgYSBsaXN0IG9mIGFsbCBVVi9WQyBj aGFubmVscyByZXF1aXJlZCBieSBhIHNwZWNpZmljIHN1cmZhY2UuCisrICAgIC8vLyBAcGFyYW0g c3VyZiBXb3JraW5nIHN1cmZhY2UKKysgICAgLy8vIEBwYXJhbSBsYXllciBXb3JraW5nIGxheWVy CisrICAgIC8vLyBAcGFyYW0gb3V0IE91dHB1dCBsaXN0LiBUaGUgbWVtYmVycyBhcmUgaW5kaWNl cyBpbnRvIHRoZSBVVi9WQyBjaGFubmVsIGxpc3RzIG9mIHRoZSBsYXllcgorICAgICB2b2lkIEZp bmRVVkNoYW5uZWxzKC8qY29uc3QqLyBMV086OlN1cmZhY2UgJnN1cmYsCisgICAgICAgICAgICAg TFdPOjpTb3J0ZWRSZXAgJnNvcnRlZCwKKyAgICAgICAgICAgICAvKmNvbnN0Ki8gTFdPOjpMYXll ciAmbGF5ZXIsCitAQCAtMzA5LDU3ICsyNjYsNDcgQEAgcHJpdmF0ZToKKyAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgb3V0W0FJX01BWF9OVU1CRVJfT0ZfQ09MT1JfU0VUU10pOworIAorICAgICAv LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCistICAgIC8qKiBHZW5lcmF0ZSB0aGUgZmluYWwgbm9kZSBncmFwaAorLSAg ICAgKiAgVW51c2VkIG5vZGVzIGFyZSBkZWxldGVkLgorLSAgICAgKiAgQHBhcmFtIGFwY05vZGVz IEZsYXQgbGlzdCBvZiBub2RlcworLSAgICAqLworKyAgICAvLy8gR2VuZXJhdGUgdGhlIGZpbmFs IG5vZGUgZ3JhcGgKKysgICAgLy8vIFVudXNlZCBub2RlcyBhcmUgZGVsZXRlZC4KKysgICAgLy8v IEBwYXJhbSBhcGNOb2RlcyBGbGF0IGxpc3Qgb2Ygbm9kZXMKKyAgICAgdm9pZCBHZW5lcmF0ZU5v ZGVHcmFwaChzdGQ6Om1hcDx1aW50MTZfdCwgYWlOb2RlICo+ICZhcGNOb2Rlcyk7CisgCisgICAg IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIEFkZCBjaGlsZHJlbiB0byBhIG5vZGUKKy0gICAgICog IEBwYXJhbSBub2RlIE5vZGUgdG8gYmVjb21lIGEgZmF0aGVyCistICAgICAqICBAcGFyYW0gcGFy ZW50IEluZGV4IG9mIHRoZSBub2RlCistICAgICAqICBAcGFyYW0gYXBjTm9kZXMgRmxhdCBsaXN0 IG9mIG5vZGVzIC0gdXNlZCBub2RlcyBhcmUgc2V0IHRvIG51bGxwdHIuCistICAgICovCistICAg IHZvaWQgQWRkQ2hpbGRyZW4oYWlOb2RlICpub2RlLCB1aW50MTZfdCBwYXJlbnQsCistICAgICAg ICAgICAgc3RkOjp2ZWN0b3I8YWlOb2RlICo+ICZhcGNOb2Rlcyk7CisrICAgIC8vLyBBZGQgY2hp bGRyZW4gdG8gYSBub2RlCisrICAgIC8vLyBAcGFyYW0gbm9kZSBOb2RlIHRvIGJlY29tZSBhIGZh dGhlcgorKyAgICAvLy8gQHBhcmFtIHBhcmVudCBJbmRleCBvZiB0aGUgbm9kZQorKyAgICAvLy8g QHBhcmFtIGFwY05vZGVzIEZsYXQgbGlzdCBvZiBub2RlcyAtIHVzZWQgbm9kZXMgYXJlIHNldCB0 byBudWxscHRyLgorKyAgICB2b2lkIEFkZENoaWxkcmVuKGFpTm9kZSAqbm9kZSwgdWludDE2X3Qg cGFyZW50LCBzdGQ6OnZlY3RvcjxhaU5vZGUgKj4gJmFwY05vZGVzKTsKKyAKKyAgICAgLy8gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorLSAgICAvKiogUmVhZCBhIHZhcmlhYmxlIHNpemVkIGludGVnZXIKKy0gICAgICog IEBwYXJhbSBpbm91dCBJbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcgorLSAgICAqLworKyAgICAvLy8g UmVhZCBhIHZhcmlhYmxlIHNpemVkIGludGVnZXIKKysgICAgLy8vIEBwYXJhbSBpbm91dCBJbnB1 dCBhbmQgb3V0cHV0IGJ1ZmZlcgorICAgICBpbnQgUmVhZFZTaXplZEludExXTzIodWludDhfdCAq Jmlub3V0KTsKKyAKKyAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAvKiogQXNzaWduIGEgdmFsdWUg ZnJvbSBhIFZNQVAgdG8gYSB2ZXJ0ZXggYW5kIGFsbCB2ZXJ0aWNlcworLSAgICAgKiAgYXR0YWNo ZWQgdG8gaXQuCistICAgICAqICBAcGFyYW0gYmFzZSBWTUFQIGRlc3RpbmF0aW9uIGRhdGEKKy0g ICAgICogIEBwYXJhbSBudW1SZWFkIE51bWJlciBvZiBmbG9hdCdzIHRvIGJlIHJlYWQKKy0gICAg ICogIEBwYXJhbSBpZHggQWJzb2x1dGUgaW5kZXggb2YgdGhlIGZpcnN0IHZlcnRleAorLSAgICAg KiAgQHBhcmFtIGRhdGEgVmFsdWUgb2YgdGhlIFZNQVAgdG8gYmUgYXNzaWduZWQgLSByZWFkIG51 bVJlYWQKKy0gICAgICogICAgZmxvYXRzIGZyb20gdGhpcyBhcnJheS4KKy0gICAgKi8KKysgICAg Ly8vIEFzc2lnbiBhIHZhbHVlIGZyb20gYSBWTUFQIHRvIGEgdmVydGV4IGFuZCBhbGwgdmVydGlj ZXMgYXR0YWNoZWQgdG8gaXQuCisrICAgIC8vLyBAcGFyYW0gYmFzZSBWTUFQIGRlc3RpbmF0aW9u IGRhdGEKKysgICAgLy8vIEBwYXJhbSBudW1SZWFkIE51bWJlciBvZiBmbG9hdCdzIHRvIGJlIHJl YWQKKysgICAgLy8vIEBwYXJhbSBpZHggQWJzb2x1dGUgaW5kZXggb2YgdGhlIGZpcnN0IHZlcnRl eAorKyAgICAvLy8gQHBhcmFtIGRhdGEgVmFsdWUgb2YgdGhlIFZNQVAgdG8gYmUgYXNzaWduZWQg LSByZWFkIG51bVJlYWQKKysgICAgLy8vICAgICAgICBmbG9hdHMgZnJvbSB0aGlzIGFycmF5Lgor ICAgICB2b2lkIERvUmVjdXJzaXZlVk1BUEFzc2lnbm1lbnQoVk1hcEVudHJ5ICpiYXNlLCB1bnNp Z25lZCBpbnQgbnVtUmVhZCwKKyAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaWR4LCBmbG9hdCAq ZGF0YSk7CisgCisgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgLyoqIENvbXB1dGUgbm9ybWFsIHZl Y3RvcnMgZm9yIGEgbWVzaAorLSAgICAgKiAgQHBhcmFtIG1lc2ggSW5wdXQgbWVzaAorLSAgICAg KiAgQHBhcmFtIHNtb290aGluZ0dyb3VwcyBTbW9vdGhpbmctZ3JvdXBzLXBlci1mYWNlIGFycmF5 CistICAgICAqICBAcGFyYW0gc3VyZmFjZSBTdXJmYWNlIGZvciB0aGUgbWVzaAorLSAgICAqLwor KyAgICAvLy8gQ29tcHV0ZSBub3JtYWwgdmVjdG9ycyBmb3IgYSBtZXNoCisrICAgIC8vLyBAcGFy YW0gbWVzaCBJbnB1dCBtZXNoCisrICAgIC8vLyBAcGFyYW0gc21vb3RoaW5nR3JvdXBzIFNtb290 aGluZy1ncm91cHMtcGVyLWZhY2UgYXJyYXkKKysgICAgLy8vIEBwYXJhbSBzdXJmYWNlIFN1cmZh Y2UgZm9yIHRoZSBtZXNoCisgICAgIHZvaWQgQ29tcHV0ZU5vcm1hbHMoYWlNZXNoICptZXNoLCBj b25zdCBzdGQ6OnZlY3Rvcjx1bnNpZ25lZCBpbnQ+ICZzbW9vdGhpbmdHcm91cHMsCisgICAgICAg ICAgICAgY29uc3QgTFdPOjpTdXJmYWNlICZzdXJmYWNlKTsKKyAKKyAgICAgLy8gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorLSAgICAvKiogU2V0dXAgYSBuZXcgdGV4dHVyZSBhZnRlciB0aGUgY29ycmVzcG9uZGluZyBj aHVuayB3YXMKKy0gICAgICogIGVuY291bnRlcmVkIGluIHRoZSBmaWxlLgorLSAgICAgKiAgQHBh cmFtIGxpc3QgVGV4dHVyZSBsaXN0CistICAgICAqICBAcGFyYW0gc2l6ZSBNYXhpbXVtIG51bWJl ciBvZiBieXRlcyB0byBiZSByZWFkCistICAgICAqICBAcmV0dXJuIFBvaW50ZXIgdG8gbmV3IHRl eHR1cmUKKy0gICAgKi8KKy0gICAgTFdPOjpUZXh0dXJlICpTZXR1cE5ld1RleHR1cmVMV09CKExX Tzo6VGV4dHVyZUxpc3QgJmxpc3QsCistICAgICAgICAgICAgdW5zaWduZWQgaW50IHNpemUpOwor KyAgICAvLy8gU2V0dXAgYSBuZXcgdGV4dHVyZSBhZnRlciB0aGUgY29ycmVzcG9uZGluZyBjaHVu ayB3YXMgZW5jb3VudGVyZWQgaW4gdGhlIGZpbGUuCisrICAgIC8vLyBAcGFyYW0gbGlzdCBUZXh0 dXJlIGxpc3QKKysgICAgLy8vIEBwYXJhbSBzaXplIE1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRv IGJlIHJlYWQKKysgICAgLy8vIEByZXR1cm4gUG9pbnRlciB0byBuZXcgdGV4dHVyZQorKyAgICBM V086OlRleHR1cmUgKlNldHVwTmV3VGV4dHVyZUxXT0IoTFdPOjpUZXh0dXJlTGlzdCAmbGlzdCwg dW5zaWduZWQgaW50IHNpemUpOworIAorIHByaXZhdGU6CisgICAgIC8vLyB0cnVlIGlmIHRoZSBm aWxlIGlzIGEgTFdPMiBmaWxlCitAQCAtNDUzLDI0ICs0MDAsMjQgQEAgaW5saW5lIHVpbnQ4X3Qg TFdPSW1wb3J0ZXI6OkdldFUxKCkgeworIAorIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIGlubGluZSBpbnQgTFdPSW1wb3J0ZXI6OlJlYWRWU2l6ZWRJbnRMV08y KHVpbnQ4X3QgKiZpbm91dCkgeworKyAgICAvLyBBIHZhcmlhYmxlLXNpemVkIGluZGV4IGlzIDIg Ynl0ZXMgbG9uZywgb3IgNCBieXRlcyB3aGVuIHRoZSBmaXJzdCBieXRlCisrICAgIC8vIGlzIDB4 RkYuIEd1YXJkIGV2ZXJ5IGJ5dGUgcmVhZCBhZ2FpbnN0IHRoZSBlbmQgb2YgdGhlIGZpbGUgYnVm ZmVyIHNvIGEKKysgICAgLy8gdHJ1bmNhdGVkIG9yIG1hbGZvcm1lZCBjaHVuayBjYW5ub3QgdHJp Z2dlciBhbiBvdXQtb2YtYm91bmRzIHJlYWQuCisrICAgIGF1dG8gcmVhZEJ5dGUgPSBbJl0oKSAt PiBpbnQgeworKyAgICAgICAgaWYgKGlub3V0ID49IG1GaWxlQnVmZmVyRW5kKSB7CisrICAgICAg ICAgICAgdGhyb3cgRGVhZGx5SW1wb3J0RXJyb3IoIkxXTzI6IFVuZXhwZWN0ZWQgZW5kIG9mIGZp bGUgd2hpbGUgcmVhZGluZyBhIHZhcmlhYmxlLXNpemVkIGluZGV4Iik7CisrICAgICAgICB9Cisr ICAgICAgICByZXR1cm4gKmlub3V0Kys7CisrICAgIH07CisrCisgICAgIGludCBpOworLSAgICBp bnQgYyA9ICppbm91dDsKKy0gICAgaW5vdXQrKzsKKy0gICAgaWYgKGMgIT0gMHhGRikgeworKyAg ICBpZiAoaW50IGMgPSByZWFkQnl0ZSgpOyBjICE9IDB4RkYpIHsKKyAgICAgICAgIGkgPSBjIDw8 IDg7CistICAgICAgICBjID0gKmlub3V0OworLSAgICAgICAgaW5vdXQrKzsKKy0gICAgICAgIGkg fD0gYzsKKysgICAgICAgIGkgfD0gcmVhZEJ5dGUoKTsKKyAgICAgfSBlbHNlIHsKKy0gICAgICAg IGMgPSAqaW5vdXQ7CistICAgICAgICBpbm91dCsrOworLSAgICAgICAgaSA9IGMgPDwgMTY7Cist ICAgICAgICBjID0gKmlub3V0OworLSAgICAgICAgaW5vdXQrKzsKKy0gICAgICAgIGkgfD0gYyA8 PCA4OworLSAgICAgICAgYyA9ICppbm91dDsKKy0gICAgICAgIGlub3V0Kys7CistICAgICAgICBp IHw9IGM7CisrICAgICAgICBpID0gcmVhZEJ5dGUoKSA8PCAxNjsKKysgICAgICAgIGkgfD0gcmVh ZEJ5dGUoKSA8PCA4OworKyAgICAgICAgaSB8PSByZWFkQnl0ZSgpOworICAgICB9CisgICAgIHJl dHVybiBpOworIH0KCmRpZmYgLS1naXQgYS9DVkUtMjAyNi0xOTk5OS5wYXRjaCBiL0NWRS0yMDI2 LTE5OTk5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMmY4MTgK LS0tIC9kZXYvbnVsbAorKysgYi9DVkUtMjAyNi0xOTk5OS5wYXRjaApAQCAtMCwwICsxLDE0IEBA CitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgYXNzaW1wLTYuMC41L2NvZGUvQXNzZXRMaWIv TURML01ETExvYWRlci5jcHAgYXNzaW1wLTYuMC41LW5ldy9jb2RlL0Fzc2V0TGliL01ETC9NRExM b2FkZXIuY3BwCistLS0gYXNzaW1wLTYuMC41L2NvZGUvQXNzZXRMaWIvTURML01ETExvYWRlci5j cHAJMjAyNi0wNC0zMCAxMToxNTowOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBhc3NpbXAtNi4wLjUt bmV3L2NvZGUvQXNzZXRMaWIvTURML01ETExvYWRlci5jcHAJMjAyNi0wOS0xOCAyMzoyNjowOC4w MTM4NTY3MTcgKzAyMDAKK0BAIC0xNjg1LDYgKzE2ODUsMTAgQEAgdm9pZCBNRExJbXBvcnRlcjo6 UGFyc2VCb25lVHJhZm9LZXlzXzNERworICAgICAgICAgICAgIC8vIHNraXAgYWxsIGZyYW1lcyB2 ZXJ0aWNlcy4gV2UgY2FuJ3Qgc3VwcG9ydCB0aGVtCisgICAgICAgICAgICAgY29uc3QgTURMOjpC b25lVHJhbnNmb3JtX01ETDcgKnBjQm9uZVRyYW5zZm9ybXMgPSAoY29uc3QgTURMOjpCb25lVHJh bnNmb3JtX01ETDcgKikoKChjb25zdCBjaGFyICopZnJhbWUucGNGcmFtZSkgKyBwY0hlYWRlci0+ ZnJhbWVfc3RjX3NpemUgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZyYW1lLnBjRnJhbWUtPnZlcnRpY2VzX2NvdW50ICogcGNIZWFkZXItPmZyYW1ldmVydGV4X3N0 Y19zaXplKTsKKysgICAgICAgICAgICAvLyBDb25maXJtIHRoYXQgdGhlIGJvbmUgdHJhbnNmb3Jt YXRpb24gbWF0cmljZXMgYXJlIHdpdGhpbiB0aGUgZmlsZS4KKysgICAgICAgICAgICBjb25zdCBz aXplX3QgYm9uZVRyYW5zZm9ybVNwYW4gPSBzaXplb2YoTURMOjpCb25lVHJhbnNmb3JtX01ETDcp ICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNf Y2FzdDxzaXplX3Q+KGZyYW1lLnBjRnJhbWUtPnRyYW5zbWF0cml4X2NvdW50IC0gMXUpICogcGNI ZWFkZXItPmJvbmV0cmFuc19zdGNfc2l6ZTsKKysgICAgICAgICAgICBWQUxJREFURV9GSUxFX1NJ WkUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyICo+KHBjQm9uZVRyYW5zZm9ybXMpICsgYm9u ZVRyYW5zZm9ybVNwYW4pOworIAorICAgICAgICAgICAgIC8vIHJlYWQgYWxsIHRyYW5zZm9ybWF0 aW9uIG1hdHJpY2VzCisgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaVRyYWZvID0gMDsg aVRyYWZvIDwgZnJhbWUucGNGcmFtZS0+dHJhbnNtYXRyaXhfY291bnQ7ICsraVRyYWZvKSB7Cgpk aWZmIC0tZ2l0IGEvYXNzaW1wLWRvY3MucGF0Y2ggYi9hc3NpbXAtZG9jcy5wYXRjaAppbmRleCA0 NDIzNTY0Li4yOGE5Njc5IDEwMDY0NAotLS0gYS9hc3NpbXAtZG9jcy5wYXRjaAorKysgYi9hc3Np bXAtZG9jcy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5j ZSBhc3NpbXAtNi4wLjUvZG9jL0NNYWtlTGlzdHMudHh0IGFzc2ltcC02LjAuNS1uZXcvZG9jL0NN YWtlTGlzdHMudHh0CiAtLS0gYXNzaW1wLTYuMC41L2RvYy9DTWFrZUxpc3RzLnR4dAkyMDI2LTA0 LTMwIDExOjE1OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGFzc2ltcC02LjAuNS1uZXcvZG9jL0NN YWtlTGlzdHMudHh0CTIwMjYtMDUtMDEgMjM6MDU6NTcuMjU5Mjg2NDMyICswMjAwCisrKysgYXNz aW1wLTYuMC41LW5ldy9kb2MvQ01ha2VMaXN0cy50eHQJMjAyNi0wOS0xOCAyMzoyNjowNi41NDA3 ODQ5NjEgKzAyMDAKIEBAIC0zMyw5ICszMyw5IEBAIGlmKCBERUZJTkVEIENNQUtFX0lOU1RBTExf RE9DRElSICkKICAgICAgICAgIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9ET0NESVJ9CiAg ICAgICkKQEAgLTE2LDcgKzE2LDcgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2lt cC02LjAuNS9kb2MvQ01ha2VMaXN0cy50eHQgYXNzaW1wLTYuMC41LW5ldy9kb2MKICBlbmRpZigp CiBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgYXNzaW1wLTYuMC41L2RvYy9Eb3h5ZmlsZS5p biBhc3NpbXAtNi4wLjUtbmV3L2RvYy9Eb3h5ZmlsZS5pbgogLS0tIGFzc2ltcC02LjAuNS9kb2Mv RG94eWZpbGUuaW4JMjAyNi0wNC0zMCAxMToxNTowOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBhc3Np bXAtNi4wLjUtbmV3L2RvYy9Eb3h5ZmlsZS5pbgkyMDI2LTA1LTAxIDIzOjA1OjU3LjI1OTY2NTUz OCArMDIwMAorKysrIGFzc2ltcC02LjAuNS1uZXcvZG9jL0RveHlmaWxlLmluCTIwMjYtMDktMTgg MjM6MjY6MDYuNTQxMzU5NTQxICswMjAwCiBAQCAtOTUyLDcgKzk1Miw3IEBAIFJFQ1VSU0lWRSAg ICAgICAgICAgICAgPSBOTwogICMgTm90ZSB0aGF0IHJlbGF0aXZlIHBhdGhzIGFyZSByZWxhdGl2 ZSB0byB0aGUgZGlyZWN0b3J5IGZyb20gd2hpY2ggZG94eWdlbiBpcwogICMgcnVuLgoKZGlmZiAt LWdpdCBhL2Fzc2ltcC1ub3psaWIucGF0Y2ggYi9hc3NpbXAtbm96bGliLnBhdGNoCmluZGV4IDU4 NjYyYTIuLmZmYWMxOWMgMTAwNjQ0Ci0tLSBhL2Fzc2ltcC1ub3psaWIucGF0Y2gKKysrIGIvYXNz aW1wLW5vemxpYi5wYXRjaApAQCAtMSw2ICsxLDYgQEAKIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVy ZW5jZSBhc3NpbXAtNi4wLjUvY29udHJpYi96bGliL0NNYWtlTGlzdHMudHh0IGFzc2ltcC02LjAu NS1uZXcvY29udHJpYi96bGliL0NNYWtlTGlzdHMudHh0CiAtLS0gYXNzaW1wLTYuMC41L2NvbnRy aWIvemxpYi9DTWFrZUxpc3RzLnR4dAkyMDI2LTA0LTMwIDExOjE1OjA5LjAwMDAwMDAwMCArMDIw MAotKysrIGFzc2ltcC02LjAuNS1uZXcvY29udHJpYi96bGliL0NNYWtlTGlzdHMudHh0CTIwMjYt MDUtMDEgMjM6MDU6NTYuOTY2Njk5NTg4ICswMjAwCisrKysgYXNzaW1wLTYuMC41LW5ldy9jb250 cmliL3psaWIvQ01ha2VMaXN0cy50eHQJMjAyNi0wOS0xOCAyMzoyNjowNi4xNzM0NTM5NjEgKzAy MDAKIEBAIC0xOTYsNyArMTk2LDcgQEAgaWYoTUlOR1cpCiAgICAgIHNldChaTElCX0RMTF9TUkNT ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS96bGliMXJjLm9iaikKICBlbmRpZihNSU5HVykK CmRpZmYgLS1naXQgYS9hc3NpbXAtcHl0aG9ucGF0aC5wYXRjaCBiL2Fzc2ltcC1weXRob25wYXRo LnBhdGNoCmluZGV4IGY1ZWQwNzMuLjg2OTFhYjAgMTAwNjQ0Ci0tLSBhL2Fzc2ltcC1weXRob25w YXRoLnBhdGNoCisrKyBiL2Fzc2ltcC1weXRob25wYXRoLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAog ZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02LjAuNS9wb3J0L1B5QXNzaW1wL3B5 YXNzaW1wL2hlbHBlci5weSBhc3NpbXAtNi4wLjUtbmV3L3BvcnQvUHlBc3NpbXAvcHlhc3NpbXAv aGVscGVyLnB5CiAtLS0gYXNzaW1wLTYuMC41L3BvcnQvUHlBc3NpbXAvcHlhc3NpbXAvaGVscGVy LnB5CTIwMjYtMDQtMzAgMTE6MTU6MDkuMDAwMDAwMDAwICswMjAwCi0rKysgYXNzaW1wLTYuMC41 LW5ldy9wb3J0L1B5QXNzaW1wL3B5YXNzaW1wL2hlbHBlci5weQkyMDI2LTA1LTAxIDIzOjA1OjU2 LjY4NTEyOTg1NSArMDIwMAorKysrIGFzc2ltcC02LjAuNS1uZXcvcG9ydC9QeUFzc2ltcC9weWFz c2ltcC9oZWxwZXIucHkJMjAyNi0wOS0xOCAyMzoyNjowNS43ODA2NzEyNDUgKzAyMDAKIEBAIC0y OSw2ICsyOSw3IEBAIGFkZGl0aW9uYWxfZGlycywgZXh0X3doaXRlbGlzdCA9IFtdLFtdCiAgIyBk ZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIHdlJ3JlIHJ1bm5pbmcgb24uCiAgaWYgb3MubmFtZT09 J3Bvc2l4JzoKCmRpZmYgLS1naXQgYS9hc3NpbXAtdGVzdHMucGF0Y2ggYi9hc3NpbXAtdGVzdHMu cGF0Y2gKaW5kZXggMzFiN2RjNS4uNDA1MWZmZCAxMDA2NDQKLS0tIGEvYXNzaW1wLXRlc3RzLnBh dGNoCisrKyBiL2Fzc2ltcC10ZXN0cy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKIGRpZmYgLXJ1cE4g LS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUvQ01ha2VMaXN0cy50eHQgYXNzaW1wLTYuMC41 LW5ldy9DTWFrZUxpc3RzLnR4dAogLS0tIGFzc2ltcC02LjAuNS9DTWFrZUxpc3RzLnR4dAkyMDI2 LTA0LTMwIDExOjE1OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGFzc2ltcC02LjAuNS1uZXcvQ01h a2VMaXN0cy50eHQJMjAyNi0wNS0wMSAyMzowNTo1Ny41NDU2NjAzNzIgKzAyMDAKKysrKyBhc3Np bXAtNi4wLjUtbmV3L0NNYWtlTGlzdHMudHh0CTIwMjYtMDktMTggMjM6MjY6MDYuOTA1ODA2ODc4 ICswMjAwCiBAQCAtODIzLDYgKzgyMyw3IEBAIElGICggQVNTSU1QX0JVSUxEX1NBTVBMRVMgKQog IEVORElGICgpCiAgCkBAIC0xMCw4ICsxMCw4IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5j ZSBhc3NpbXAtNi4wLjUvQ01ha2VMaXN0cy50eHQgYXNzaW1wLTYuMC41LW5ldy9DTWFrZUxpCiAg RU5ESUYgKCkKICAKIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUvdGVz dC9DTWFrZUxpc3RzLnR4dCBhc3NpbXAtNi4wLjUtbmV3L3Rlc3QvQ01ha2VMaXN0cy50eHQKLS0t LSBhc3NpbXAtNi4wLjUvdGVzdC9DTWFrZUxpc3RzLnR4dAkyMDI2LTA1LTAxIDIzOjA1OjU2LjY4 MDUxMjY1MyArMDIwMAotKysrIGFzc2ltcC02LjAuNS1uZXcvdGVzdC9DTWFrZUxpc3RzLnR4dAky MDI2LTA1LTAxIDIzOjA1OjU3LjU0NTk4Nzk3MCArMDIwMAorLS0tIGFzc2ltcC02LjAuNS90ZXN0 L0NNYWtlTGlzdHMudHh0CTIwMjYtMDktMTggMjM6MjY6MDUuNzc1MDk1NDUxICswMjAwCisrKysg YXNzaW1wLTYuMC41LW5ldy90ZXN0L0NNYWtlTGlzdHMudHh0CTIwMjYtMDktMTggMjM6MjY6MDYu OTA2OTkxNzQ4ICswMjAwCiBAQCAtMzYsNiArMzYsNyBAQAogICMKICAjLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK ZGlmZiAtLWdpdCBhL2Fzc2ltcC11bmJ1bmRsZS5wYXRjaCBiL2Fzc2ltcC11bmJ1bmRsZS5wYXRj aAppbmRleCAyY2UwZmZkLi41ODFjNDU3IDEwMDY0NAotLS0gYS9hc3NpbXAtdW5idW5kbGUucGF0 Y2gKKysrIGIvYXNzaW1wLXVuYnVuZGxlLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAogZGlmZiAtcnVw TiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02LjAuNS9jb2RlL0Fzc2V0TGliL0JsZW5kZXIvQmxl bmRlclRlc3NlbGxhdG9yLmggYXNzaW1wLTYuMC41LW5ldy9jb2RlL0Fzc2V0TGliL0JsZW5kZXIv QmxlbmRlclRlc3NlbGxhdG9yLmgKIC0tLSBhc3NpbXAtNi4wLjUvY29kZS9Bc3NldExpYi9CbGVu ZGVyL0JsZW5kZXJUZXNzZWxsYXRvci5oCTIwMjYtMDQtMzAgMTE6MTU6MDkuMDAwMDAwMDAwICsw MjAwCi0rKysgYXNzaW1wLTYuMC41LW5ldy9jb2RlL0Fzc2V0TGliL0JsZW5kZXIvQmxlbmRlclRl c3NlbGxhdG9yLmgJMjAyNi0wNS0wMSAyMzowNTo1Ni4zOTQ5OTQyNjUgKzAyMDAKKysrKyBhc3Np bXAtNi4wLjUtbmV3L2NvZGUvQXNzZXRMaWIvQmxlbmRlci9CbGVuZGVyVGVzc2VsbGF0b3IuaAky MDI2LTA5LTE4IDIzOjI2OjA1LjM5MzgyOTQxMyArMDIwMAogQEAgLTE0Myw3ICsxNDMsNyBAQCBu YW1lc3BhY2UgQXNzaW1wCiAgCiAgI2lmIEFTU0lNUF9CTEVORF9XSVRIX1BPTFlfMl9UUkkKQEAg LTEyLDcgKzEyLDcgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02LjAuNS9j b2RlL0Fzc2V0TGliL0JsZW5kZXIvQmxlbmRlclRlc3NlbGxhdG8KICB7CiBkaWZmIC1ydXBOIC0t bm8tZGVyZWZlcmVuY2UgYXNzaW1wLTYuMC41L2NvZGUvQXNzZXRMaWIvSUZDL0lGQ0dlb21ldHJ5 LmNwcCBhc3NpbXAtNi4wLjUtbmV3L2NvZGUvQXNzZXRMaWIvSUZDL0lGQ0dlb21ldHJ5LmNwcAog LS0tIGFzc2ltcC02LjAuNS9jb2RlL0Fzc2V0TGliL0lGQy9JRkNHZW9tZXRyeS5jcHAJMjAyNi0w NC0zMCAxMToxNTowOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBhc3NpbXAtNi4wLjUtbmV3L2NvZGUv QXNzZXRMaWIvSUZDL0lGQ0dlb21ldHJ5LmNwcAkyMDI2LTA1LTAxIDIzOjA1OjU2LjM5NTQ4ODcy MyArMDIwMAorKysrIGFzc2ltcC02LjAuNS1uZXcvY29kZS9Bc3NldExpYi9JRkMvSUZDR2VvbWV0 cnkuY3BwCTIwMjYtMDktMTggMjM6MjY6MDUuMzk0OTc3NjE4ICswMjAwCiBAQCAtNDUsNyArNDUs NyBAQCBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCiAgI2luY2x1ZGUg IklGQ1V0aWwuaCIKICAjaW5jbHVkZSAiQ29tbW9uL1BvbHlUb29scy5oIgpAQCAtMjQsNyArMjQs NyBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgYXNzaW1wLTYuMC41L2NvZGUvQXNzZXRM aWIvSUZDL0lGQ0dlb21ldHJ5LmNwcCBhc3NpbQogICNpbmNsdWRlIDxpdGVyYXRvcj4KIGRpZmYg LXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUvY29kZS9Bc3NldExpYi9JRkMvSUZD T3BlbmluZ3MuY3BwIGFzc2ltcC02LjAuNS1uZXcvY29kZS9Bc3NldExpYi9JRkMvSUZDT3Blbmlu Z3MuY3BwCiAtLS0gYXNzaW1wLTYuMC41L2NvZGUvQXNzZXRMaWIvSUZDL0lGQ09wZW5pbmdzLmNw cAkyMDI2LTA0LTMwIDExOjE1OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGFzc2ltcC02LjAuNS1u ZXcvY29kZS9Bc3NldExpYi9JRkMvSUZDT3BlbmluZ3MuY3BwCTIwMjYtMDUtMDEgMjM6MDU6NTYu Mzk1OTQ0NzU3ICswMjAwCisrKysgYXNzaW1wLTYuMC41LW5ldy9jb2RlL0Fzc2V0TGliL0lGQy9J RkNPcGVuaW5ncy5jcHAJMjAyNi0wOS0xOCAyMzoyNjowNS4zOTU1MjgzNDUgKzAyMDAKIEBAIC00 Nyw3ICs0Nyw3IEBAIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKICAj aW5jbHVkZSAiSUZDVXRpbC5oIgogICNpbmNsdWRlICJDb21tb24vUG9seVRvb2xzLmgiCkBAIC0z Niw3ICszNiw3IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUvY29k ZS9Bc3NldExpYi9JRkMvSUZDT3BlbmluZ3MuY3BwIGFzc2ltCiAgI2luY2x1ZGUgPGRlcXVlPgog ZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02LjAuNS9jb2RlL0NNYWtlTGlzdHMu dHh0IGFzc2ltcC02LjAuNS1uZXcvY29kZS9DTWFrZUxpc3RzLnR4dAogLS0tIGFzc2ltcC02LjAu NS9jb2RlL0NNYWtlTGlzdHMudHh0CTIwMjYtMDQtMzAgMTE6MTU6MDkuMDAwMDAwMDAwICswMjAw Ci0rKysgYXNzaW1wLTYuMC41LW5ldy9jb2RlL0NNYWtlTGlzdHMudHh0CTIwMjYtMDUtMDEgMjM6 MDU6NTYuMzk2NDg4Nzc0ICswMjAwCisrKysgYXNzaW1wLTYuMC41LW5ldy9jb2RlL0NNYWtlTGlz dHMudHh0CTIwMjYtMDktMTggMjM6MjY6MDUuMzk2MDU5MDk5ICswMjAwCiBAQCAtMTExNywxMyAr MTExNyw3IEBAIElGKEFTU0lNUF9IVU5URVJfRU5BQkxFRCkKICAgIGh1bnRlcl9hZGRfcGFja2Fn ZShwdWdpeG1sKQogICAgZmluZF9wYWNrYWdlKHB1Z2l4bWwgQ09ORklHIFJFUVVJUkVEKQpAQCAt MTY0LDcgKzE2NCw3IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUv Y29kZS9DTWFrZUxpc3RzLnR4dCBhc3NpbXAtNi4wLjUtbmV3L2NvCiAgaWYoQVNTSU1QX0FORFJP SURfSk5JSU9TWVNURU0pCiBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgYXNzaW1wLTYuMC41 L2NvZGUvUG9zdFByb2Nlc3NpbmcvVHJpYW5ndWxhdGVQcm9jZXNzLmNwcCBhc3NpbXAtNi4wLjUt bmV3L2NvZGUvUG9zdFByb2Nlc3NpbmcvVHJpYW5ndWxhdGVQcm9jZXNzLmNwcAogLS0tIGFzc2lt cC02LjAuNS9jb2RlL1Bvc3RQcm9jZXNzaW5nL1RyaWFuZ3VsYXRlUHJvY2Vzcy5jcHAJMjAyNi0w NC0zMCAxMToxNTowOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBhc3NpbXAtNi4wLjUtbmV3L2NvZGUv UG9zdFByb2Nlc3NpbmcvVHJpYW5ndWxhdGVQcm9jZXNzLmNwcAkyMDI2LTA1LTAxIDIzOjA1OjU2 LjM5NjgwNDIzNSArMDIwMAorKysrIGFzc2ltcC02LjAuNS1uZXcvY29kZS9Qb3N0UHJvY2Vzc2lu Zy9Ucmlhbmd1bGF0ZVByb2Nlc3MuY3BwCTIwMjYtMDktMTggMjM6MjY6MDUuMzk2NzkwMTkzICsw MjAwCiBAQCAtNjIsNyArNjIsNyBAQCBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg T0YgVEhFCiAgI2luY2x1ZGUgIlBvc3RQcm9jZXNzaW5nL1RyaWFuZ3VsYXRlUHJvY2Vzcy5oIgog ICNpbmNsdWRlICJQb3N0UHJvY2Vzc2luZy9Qcm9jZXNzSGVscGVyLmgiCkBAIC0xNzYsNyArMTc2 LDcgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIGFzc2ltcC02LjAuNS9jb2RlL1Bvc3RQ cm9jZXNzaW5nL1RyaWFuZ3VsYXRlUHJvY2Vzcy4KICAjaW5jbHVkZSA8Y3N0ZGludD4KIGRpZmYg LXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUvc2FtcGxlcy9TaW1wbGVUZXh0dXJl ZE9wZW5HTC9TaW1wbGVUZXh0dXJlZE9wZW5HTC9zcmMvbW9kZWxfbG9hZGluZy5jcHAgYXNzaW1w LTYuMC41LW5ldy9zYW1wbGVzL1NpbXBsZVRleHR1cmVkT3BlbkdML1NpbXBsZVRleHR1cmVkT3Bl bkdML3NyYy9tb2RlbF9sb2FkaW5nLmNwcAogLS0tIGFzc2ltcC02LjAuNS9zYW1wbGVzL1NpbXBs ZVRleHR1cmVkT3BlbkdML1NpbXBsZVRleHR1cmVkT3BlbkdML3NyYy9tb2RlbF9sb2FkaW5nLmNw cAkyMDI2LTA0LTMwIDExOjE1OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGFzc2ltcC02LjAuNS1u ZXcvc2FtcGxlcy9TaW1wbGVUZXh0dXJlZE9wZW5HTC9TaW1wbGVUZXh0dXJlZE9wZW5HTC9zcmMv bW9kZWxfbG9hZGluZy5jcHAJMjAyNi0wNS0wMSAyMzowNTo1Ni4zOTcwMTgyODkgKzAyMDAKKysr KyBhc3NpbXAtNi4wLjUtbmV3L3NhbXBsZXMvU2ltcGxlVGV4dHVyZWRPcGVuR0wvU2ltcGxlVGV4 dHVyZWRPcGVuR0wvc3JjL21vZGVsX2xvYWRpbmcuY3BwCTIwMjYtMDktMTggMjM6MjY6MDUuMzk3 MjA2NDIxICswMjAwCiBAQCAtMjQsNyArMjQsNyBAQAogICNlbmRpZiAvLyBfTVNDX1ZFUgogIApA QCAtMTg4LDcgKzE4OCw3IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4w LjUvc2FtcGxlcy9TaW1wbGVUZXh0dXJlZE9wZW5HTC9TaW1wbGVUZXh0CiAgI3ByYWdtYSB3YXJu aW5nKGRlZmF1bHQ6IDQxMDApIC8vIEVuYWJsZSB3YXJuaW5nICd1bnJlZmVyZW5jZWQgZm9ybWFs IHBhcmFtZXRlcicKIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUvdGVz dC9DTWFrZUxpc3RzLnR4dCBhc3NpbXAtNi4wLjUtbmV3L3Rlc3QvQ01ha2VMaXN0cy50eHQKIC0t LSBhc3NpbXAtNi4wLjUvdGVzdC9DTWFrZUxpc3RzLnR4dAkyMDI2LTA0LTMwIDExOjE1OjA5LjAw MDAwMDAwMCArMDIwMAotKysrIGFzc2ltcC02LjAuNS1uZXcvdGVzdC9DTWFrZUxpc3RzLnR4dAky MDI2LTA1LTAxIDIzOjA1OjU2LjM5NzI0MDQ2MiArMDIwMAorKysrIGFzc2ltcC02LjAuNS1uZXcv dGVzdC9DTWFrZUxpc3RzLnR4dAkyMDI2LTA5LTE4IDIzOjI2OjA1LjM5NzY0ODY3MCArMDIwMAog QEAgLTQzLDE0ICs0Myw2IEBAIElOQ0xVREVfRElSRUNUT1JJRVMoCiAgICAgICR7QXNzaW1wX1NP VVJDRV9ESVJ9L2NvZGUKICApCkBAIC0yMzYsNyArMjM2LDcgQEAgZGlmZiAtcnVwTiAtLW5vLWRl cmVmZXJlbmNlIGFzc2ltcC02LjAuNS90ZXN0L0NNYWtlTGlzdHMudHh0IGFzc2ltcC02LjAuNS1u ZXcvdGUKICAgIEFERF9ERUZJTklUSU9OUyggLURBU1NJTVBfRU5BQkxFX0RSQUNPICkKIGRpZmYg LXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBhc3NpbXAtNi4wLjUvdGVzdC91bml0L3V0Z2xURjJJbXBv cnRFeHBvcnQuY3BwIGFzc2ltcC02LjAuNS1uZXcvdGVzdC91bml0L3V0Z2xURjJJbXBvcnRFeHBv cnQuY3BwCiAtLS0gYXNzaW1wLTYuMC41L3Rlc3QvdW5pdC91dGdsVEYySW1wb3J0RXhwb3J0LmNw cAkyMDI2LTA0LTMwIDExOjE1OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGFzc2ltcC02LjAuNS1u ZXcvdGVzdC91bml0L3V0Z2xURjJJbXBvcnRFeHBvcnQuY3BwCTIwMjYtMDUtMDEgMjM6MDU6NTYu Mzk3NDg4ODI2ICswMjAwCisrKysgYXNzaW1wLTYuMC41LW5ldy90ZXN0L3VuaXQvdXRnbFRGMklt cG9ydEV4cG9ydC5jcHAJMjAyNi0wOS0xOCAyMzoyNjowNS4zOTgxMTIxNzggKzAyMDAKIEBAIC05 ODcsNyArOTg3LDcgQEAgbmFtZXNwYWNlIHsKICAgICAgICAgICAgICByYXBpZGpzb246OkRvY3Vt ZW50IHNjaGVtYURvYzsKICAgICAgICAgICAgICBzY2hlbWFEb2MuUGFyc2UoUiI9PSh7InByb3Bl cnRpZXMiOnsic2NlbmUiIDogeyAidHlwZSIgOiAiaW50ZWdlciIgfX0sICJyZXF1aXJlZCI6IFsg InNjZW5lIiBdfSk9PSIpOwoKZGlmZiAtLWdpdCBhL2Fzc2ltcC5zcGVjIGIvYXNzaW1wLnNwZWMK aW5kZXggZTRiNWMzYy4uNTFiYmU3OSAxMDA2NDQKLS0tIGEvYXNzaW1wLnNwZWMKKysrIGIvYXNz aW1wLnNwZWMKQEAgLTIsNyArMiw3IEBACiAKIE5hbWU6ICAgICAgICAgICBhc3NpbXAKIFZlcnNp b246ICAgICAgICA2LjAuNQotUmVsZWFzZTogICAgICAgIDQlez9kaXN0fQorUmVsZWFzZTogICAg ICAgIDUlez9kaXN0fQogU3VtbWFyeTogICAgICAgIExpYnJhcnkgdG8gaW1wb3J0IHZhcmlvdXMg M0QgbW9kZWwgZm9ybWF0cyBpbnRvIGFwcGxpY2F0aW9ucwogCiAjIEFzc2ltcCBpcyBCU0QKQEAg LTMzLDYgKzMzLDE2IEBAIFBhdGNoMjogICAgICAgICAle25hbWV9LW5vemxpYi5wYXRjaAogUGF0 Y2gzOiAgICAgICAgICV7bmFtZX0tZG9jcy5wYXRjaAogIyBFbmFibGUgY3Rlc3QKIFBhdGNoNDog ICAgICAgICAle25hbWV9LXRlc3RzLnBhdGNoCisjIGh0dHBzOi8vZ2l0aHViLmNvbS9hc3NpbXAv YXNzaW1wL2NvbW1pdC9lYjg0ZWVjNTgwZDNmNGJhMmYwZmQ4NzQwOWI3ZDA3NDQ2MjBmMTFlCitQ YXRjaDU6ICAgICAgICAgQ1ZFLTIwMjYtMTQ2MTAucGF0Y2gKKyMgaHR0cHM6Ly9naXRodWIuY29t L2Fzc2ltcC9hc3NpbXAvY29tbWl0L2MzOWQ4YzE1ZGJiZTAzMTc0YWY2MWQ4ZWVkYmJmOTAxMjBm NGViOWYKK1BhdGNoNjogICAgICAgICBDVkUtMjAyNi0xOTk2OC5wYXRjaAorIyBodHRwczovL2dp dGh1Yi5jb20vYXNzaW1wL2Fzc2ltcC9jb21taXQvNTBkNzY3OTg0ZTc4ZDUxYjUzZTIwMjBmZGYw OTY3ZmQ2MjRiYzM3NworUGF0Y2g3OiAgICAgICAgIENWRS0yMDI2LTE5OTk5LnBhdGNoCisjIGh0 dHBzOi8vZ2l0aHViLmNvbS9EZXJEb2t0b3JYL2Fzc2ltcC9jb21taXQvYTA3YTI1ZDlhMzQ4MTUy ZjJlYjdmMzM1OTkwOWEyY2I5ZDBiMjcwMgorUGF0Y2g4OiAgICAgICAgIENWRS0yMDI2LTE0NjA0 LnBhdGNoCisjIGh0dHBzOi8vZ2l0aHViLmNvbS9hc3NpbXAvYXNzaW1wL3B1bGwvNjg2OQorUGF0 Y2g5OiAgICAgICAgIENWRS0yMDI1LTE1NjY2LnBhdGNoCiAKIAogQnVpbGRSZXF1aXJlczogIGJv b3N0LWRldmVsCkBAIC0xNzgsNiArMTg4LDEwIEBAIGV4Y2x1ZGU9InV0TUQ1SW1wb3J0ZXIuaW1w b3J0Qm9hck1hbnx1dE1ENUltcG9ydGVyLmltcG9ydEJvYnx1dE1EMkltcG9ydGVyLmltcG9yCiAK IAogJWNoYW5nZWxvZworKiBGcmkgU2VwIDE4IDIwMjYgU2FuZHJvIE1hbmkgPG1hbmlzYW5kcm9A Z21haWwuY29tPiAtIDYuMC41LTUKKy0gQWRkIGZpeGVzIGZvciBDVkUtMjAyNi0xNDYxMCwgQ1ZF LTIwMjYtMTk5NjgsIENWRS0yMDI2LTE5OTk5LCBDVkUtMjAyNi0xNDYwNCwKKyAgQ1ZFLTIwMjUt MTU2NjYKKwogKiBXZWQgSnVsIDE1IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA2LjAuNS00CiAtIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDVfTWFzc19SZWJ1aWxkCiAK