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: Andrew Burgess To: git-commits@fedoraproject.org Subject: [rpms/gdb] rawhide: fix rhbz2368350 - out of memory issue with the D demangler Date: Fri, 10 Jul 2026 20:04:15 GMT Message-ID: <178371385569.1.10885899103804245415.rpms-gdb-5038c278c760@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: rawhide X-Git-Rev: 5038c278c760a5fd2cf5b4b44bb8d136f8b9b0d5 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAgICAgICAg Q29tbWl0IDogNTAzOGMyNzhjNzYwYTVmZDJjZjViNGI0NGJiOGQxMzZmOGI5YjBkNQogICAgICAg ICAgICBBdXRob3IgOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4KICAgICAg ICAgICAgRGF0ZSAgIDogMjAyNi0wNy0wOFQyMDozMDoxNyswMTowMAogICAgICAgICAgICBTdGF0 cyAgOiArNjM0Ly0wIGluIDQgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3Ny Yy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzUwMzhjMjc4Yzc2MGE1ZmQyY2Y1YjRiNDRi YjhkMTM2ZjhiOWIwZDU/YnJhbmNoPXJhd2hpZGUKCiAgICAgICAgICAgIExvZzoKICAgICAgICAg ICAgZml4IHJoYnoyMzY4MzUwIC0gb3V0IG9mIG1lbW9yeSBpc3N1ZSB3aXRoIHRoZSBEIGRlbWFu Z2xlcgoKQmFja3BvcnQgb2YgdXBzdHJlYW0gY29tbWl0IGJlM2E5NDA1Y2ViNGQ2ZDYgdG8gZml4 IFJIQlogMjM2ODM1MCwgYW4Kb3V0IG9mIG1lbW9yeSBpc3N1ZSB3aXRoIHRoZSBEIGRlbWFuZ2xl ci4KClRoZSBjb21taXQgYmVpbmcgcHVsbGVkIGluIGhlcmUgaXMgYSBjb21taXQgdGhhdCBzeW5j cyBtdWx0aXBsZQpjb21taXRzIHRvIGxpYmliZXJ0eSBmcm9tIGdjYyB0byBiaW51dGlscy1nZGIu ICBNb3N0IG9mIHRoZXNlIGNvbW1pdHMKYXJlIHNwZWxsaW5nIGFuZCB3aGl0ZSBzcGFjZSBmaXhl cywgd2hpY2ggc2hvdWxkIGhhdmUgbm8gcmVhbCBpbXBhY3QuClRoZSBvbmx5IGNvbW1pdCB3ZSBh Y3R1YWxseSBjYXJlIGFib3V0IGlzIGdjYyBjb21taXQgYmM0ZDliNmFlYjMsCndoaWNoIGZpeGVz IHRoZSBEIGRlbWFuZ2xlciBpc3N1ZS4KClRoaXMgY29tbWl0IHdpbGwgbm90IGJlIG5lZWRlZCBv bmNlIHdlIHJlYmFzZSB0byBHREIgMTguCgpJIGRlbGliZXJhdGVseSBkb24ndCBpbmNyZW1lbnQg dGhlIHJlbGVhc2UgbnVtYmVyIGluIHRoaXMgY29tbWl0IGFzCnRoaXMgaXMgdGhlIGZpcnN0IGlu IGEgdHdvIHBhdGNoIHNlcmllcywgdGhlIHNlY29uZCBwYXRjaCB3aWxsCmluY3JlbWVudCB0aGUg cmVsZWFzZSBudW1iZXIuCgotLS0KZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRl IGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKaW5kZXggZDlmN2UwOS4uZjNlZTYwNyAxMDA2NDQK LS0tIGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1 ZGUKQEAgLTg2LDMgKzg2LDE1IEBAIFBhdGNoMDE1OiBnZGItdGNsOS11dGY4LWVuY29kaW5nLWZp eC5wYXRjaAogIyBnZGI6IGJhY2twb3J0IERBUCBjb3JlIGZpbGUgc3VwcG9ydAogUGF0Y2gwMTY6 IGdkYi1iYWNrcG9ydC1kYXAtY29yZS1maWxlLXN1cHBvcnQucGF0Y2gKIAorIyBCYWNrcG9ydCBv ZiB1cHN0cmVhbSBjb21taXQgYmUzYTk0MDVjZWI0ZDZkNiB0byBmaXggUkhCWiAyMzY4MzUwLCBh bgorIyBvdXQgb2YgbWVtb3J5IGlzc3VlIHdpdGggdGhlIEQgZGVtYW5nbGVyLgorIworIyBUaGUg Y29tbWl0IGJlaW5nIHB1bGxlZCBpbiBoZXJlIGlzIGEgY29tbWl0IHRoYXQgc3luY3MgbXVsdGlw bGUKKyMgY29tbWl0cyB0byBsaWJpYmVydHkgZnJvbSBnY2MgdG8gYmludXRpbHMtZ2RiLiAgTW9z dCBvZiB0aGVzZSBjb21taXRzCisjIGFyZSBzcGVsbGluZyBhbmQgd2hpdGUgc3BhY2UgZml4ZXMs IHdoaWNoIHNob3VsZCBoYXZlIG5vIHJlYWwgaW1wYWN0LgorIyBUaGUgb25seSBjb21taXQgd2Ug YWN0dWFsbHkgY2FyZSBhYm91dCBpcyBnY2MgY29tbWl0IGJjNGQ5YjZhZWIzLAorIyB3aGljaCBm aXhlcyB0aGUgRCBkZW1hbmdsZXIgaXNzdWUuCisjCisjIFRoaXMgY29tbWl0IHdpbGwgbm90IGJl IG5lZWRlZCBvbmNlIHdlIHJlYmFzZSB0byBHREIgMTguCitQYXRjaDAxNzogZ2RiLWJhY2twb3J0 LWxpYmliZXJ0eS1zeW5jLnBhdGNoCisKCmRpZmYgLS1naXQgYS9fcGF0Y2hfb3JkZXIgYi9fcGF0 Y2hfb3JkZXIKaW5kZXggYzZkZDQ4Ny4uNWI3MzQyMyAxMDA2NDQKLS0tIGEvX3BhdGNoX29yZGVy CisrKyBiL19wYXRjaF9vcmRlcgpAQCAtMTQsMyArMTQsNCBAQCBnZGItcmhiejIzNjY0NjEtYmFk LXNvbGliLWVudHJ5LWFkZHIucGF0Y2gKIGdkYi1yaGJ6MjQ2NzI1MS1jb21wdXRlZC1sb2NhdGlv bi1zeW50aGV0aWMtcG9pbnRlcnMucGF0Y2gKIGdkYi10Y2w5LXV0ZjgtZW5jb2RpbmctZml4LnBh dGNoCiBnZGItYmFja3BvcnQtZGFwLWNvcmUtZmlsZS1zdXBwb3J0LnBhdGNoCitnZGItYmFja3Bv cnQtbGliaWJlcnR5LXN5bmMucGF0Y2gKCmRpZmYgLS1naXQgYS9nZGItYmFja3BvcnQtbGliaWJl cnR5LXN5bmMucGF0Y2ggYi9nZGItYmFja3BvcnQtbGliaWJlcnR5LXN5bmMucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg0ZDVlNwotLS0gL2Rldi9udWxsCisrKyBi L2dkYi1iYWNrcG9ydC1saWJpYmVydHktc3luYy5wYXRjaApAQCAtMCwwICsxLDYxNiBAQAorRnJv bSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJldyBC dXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPgorRGF0ZTogVGh1LCAxNCBNYXkgMjAyNiAwOToy Mjo0MiArMDAwMAorU3ViamVjdDogZ2RiLWJhY2twb3J0LWxpYmliZXJ0eS1zeW5jLnBhdGNoCisK Kzs7IEJhY2twb3J0IG9mIHVwc3RyZWFtIGNvbW1pdCBiZTNhOTQwNWNlYjRkNmQ2IHRvIGZpeCBS SEJaIDIzNjgzNTAsIGFuCis7OyBvdXQgb2YgbWVtb3J5IGlzc3VlIHdpdGggdGhlIEQgZGVtYW5n bGVyLgorOzsKKzs7IFRoZSBjb21taXQgYmVpbmcgcHVsbGVkIGluIGhlcmUgaXMgYSBjb21taXQg dGhhdCBzeW5jcyBtdWx0aXBsZQorOzsgY29tbWl0cyB0byBsaWJpYmVydHkgZnJvbSBnY2MgdG8g YmludXRpbHMtZ2RiLiAgTW9zdCBvZiB0aGVzZSBjb21taXRzCis7OyBhcmUgc3BlbGxpbmcgYW5k IHdoaXRlIHNwYWNlIGZpeGVzLCB3aGljaCBzaG91bGQgaGF2ZSBubyByZWFsIGltcGFjdC4KKzs7 IFRoZSBvbmx5IGNvbW1pdCB3ZSBhY3R1YWxseSBjYXJlIGFib3V0IGlzIGdjYyBjb21taXQgYmM0 ZDliNmFlYjMsCis7OyB3aGljaCBmaXhlcyB0aGUgRCBkZW1hbmdsZXIgaXNzdWUuCis7OworOzsg VGhpcyBjb21taXQgd2lsbCBub3QgYmUgbmVlZGVkIG9uY2Ugd2UgcmViYXNlIHRvIEdEQiAxOC4K KworbGliaWJlcnR5OiBzeW5jIHdpdGggZ2NjIGNvbW1pdCBkZjM1MTBmODBlN2MwMmQ5CisKK1N5 bmMgdGhlIGxpYmliZXJ0eS8gZGlyZWN0b3J5IHdpdGggZ2NjIGNvbW1pdAorZGYzNTEwZjgwZTdj MDJkOWMxOWQ3Y2IzMzc1OWNkOTI1ODgwZjUzYS4gIFRoaXMgcHVsbHMgaW4gdGhlIGZvbGxvd2lu ZworZ2NjIGNvbW1pdHMgYW5kIHRoZSBhc3NvY2lhdGVkIHVwZGF0ZXMgdG8gJ2xpYmliZXJ0eS9D aGFuZ2VMb2cnOgorCisgICogMDZmYjAwY2I2NmQgbGliaWJlcnR5OiBGaXggdHlwb3MgaW4gdmFy aW91cyBmaWxlcworICAqIGZiZjkwM2U1YjlmIFJlLWZsb3cgbGluZXMgbWFkZSBsb25nZXIgdGhh biA4MCBjaGFyYWN0ZXJzIGJ5IHR5cG8gZml4ZXMKKyAgKiBjZmI5NDU5NTdlZSBSZWdlbmVyYXRl IHNvbWUgYXV0b2NvbmYgY29uZmlndXJlIHNjcmlwdHMgYWZ0ZXIgcmVjZW50IHNwZWxsaW5nIGZp eGVzLgorICAqIGJjNGQ5YjZhZWIzIGxpYmliZXJ0eTogYXZvaWQgZXhwb25lbnRpYWwgYmFjayBy ZWZlcmVuY2UgaXNzdWUgaW4gRCBkZW1hbmdsZXIKKworSSBoYXZlIHJldGFpbmVkIHRoZSBjaGFu Z2VzIHRoYXQgYXJlIGluIHRoZSBmb2xsb3dpbmcgYmludXRpbHMtZ2RiCitjb21taXQsIHdoaWNo IGFyZSBub3QgaW4gZ2NjOgorCisgIGNvbW1pdCAyMTk4MjJmZDVkYjYzMDU1OTJiNDU2NzdhM2Iz OGMwMmI1MjMzNjBlCisgIERhdGU6ICAgVHVlIEFwciA5IDA2OjM5OjIxIDIwMjQgLTA3MDAKKwor ICAgIG1tYXA6IEF2b2lkIHRoZSBzYW5pdGl6ZXIgY29uZmlndXJlIGNoZWNrIGZhaWx1cmUKKwor ZGlmZiAtLWdpdCBhL2xpYmliZXJ0eS9DaGFuZ2VMb2cgYi9saWJpYmVydHkvQ2hhbmdlTG9nCist LS0gYS9saWJpYmVydHkvQ2hhbmdlTG9nCisrKysgYi9saWJpYmVydHkvQ2hhbmdlTG9nCitAQCAt MSwzICsxLDYyIEBACisrMjAyNi0wNi0wNyAgQW5kcmV3IEJ1cmdlc3MgIDxhYnVyZ2Vzc0ByZWRo YXQuY29tPgorKworKwkqIGQtZGVtYW5nbGUuYyAoc3RydWN0IGRsYW5nX2luZm86Om9wdGlvbnMp OiBOZXcgZmllbGQsCisrCWNhcnJpZXMgb3B0aW9ucyBwYXNzZWQgdG8gdGhlIGRlbWFuZ2xlci4K KysJKHN0cnVjdCBkbGFuZ19pbmZvOjpudW1fYmFja3JlZnMpOiBDb3VudCB0b3RhbCBudW1iZXIg b2YgYmFjaworKwlyZWZlcmVuY2VkIHR5cGVzIHRoYXQgaGF2ZSBiZWVuIHByb2Nlc3NlZC4KKysJ KHN0cnVjdCBkbGFuZ19pbmZvOjpiYWNrcmVmX2RlcHRoKTogQ291bnQgdGhlIGRlcHRoIG9mCisr CXJlY3Vyc2l2ZSBiYWNrIHJlZmVyZW5jZXMuCisrCShkbGFuZ190eXBlX2JhY2tyZWYpOiBUcmFj ayByZWN1cnNpdmUgYmFjayByZWZlcmVuY2UgZGVwdGgsCisrCWFuZCB0aGUgdG90YWwgbnVtYmVy IG9mIGJhY2sgcmVmZXJlbmNlcyBlbmNvdW50ZXJlZC4gIEJhaWwgb3V0CisrCWVhcmx5IGlmIHRo ZSB0b3RhbCBudW1iZXIgZ2V0cyB0b28gaGlnaC4KKysJKGRsYW5nX2RlbWFuZ2xlX2luaXRfaW5m byk6IEluaXRpYWxpc2UgbmV3ICdzdHJ1Y3QgZGxhbmdfaW5mbycKKysJZmllbGRzLgorKwkoZGxh bmdfZGVtYW5nbGUpOiBQYXNzIGRlbWFuZ2xlciBvcHRpb25zIHRvCisrCWRsYW5nX2RlbWFuZ2xl X2luaXRfaW5mby4KKysJKiB0ZXN0c3VpdGUvZC1kZW1hbmdsZS1leHBlY3RlZDogQWRkIG5ldyB0 ZXN0LgorKworKzIwMjYtMDYtMDEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgor KworKwkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KKysKKysyMDI2LTA1LTMwICBEaHJ1diBDaGF3 bGEgIDxkaHJ1dmNAbnZpZGlhLmNvbT4KKysKKysJKiBzaW1wbGUtb2JqZWN0LW1hY2gtby5jIChz aW1wbGVfb2JqZWN0X21hY2hfb193cml0ZV9zZWdtZW50KTogUmVmbG93CisrCWxvbmcgbGluZS4K KysKKysyMDI2LTA1LTMwICBEaHJ1diBDaGF3bGEgIDxkaHJ1dmNAbnZpZGlhLmNvbT4KKysKKysJ KiBiY29weS5jOiBGaXggdHlwb3MuCisrCSogYnNlYXJjaC5jOiBMaWtld2lzZS4KKysJKiBic2Vh cmNoX3IuYzogTGlrZXdpc2UuCisrCSogY29uZmlndXJlLmFjOiBMaWtld2lzZS4KKysJKiBjcC1k ZW1hbmdsZS5jIChkX3ByaW50X2NvbXBfaW5uZXIpOiBMaWtld2lzZS4KKysJKGRfcHJpbnRfY29t cCk6IExpa2V3aXNlLgorKwkqIGQtZGVtYW5nbGUuYyAoZGxhbmdfaWRlbnRpZmllcik6IExpa2V3 aXNlLgorKwkqIGR5bi1zdHJpbmcuYzogTGlrZXdpc2UuCisrCSogbGRpcm5hbWUuYzogTGlrZXdp c2UuCisrCSogbWFrZS1yZWxhdGl2ZS1wcmVmaXguYyAobWFrZV9yZWxhdGl2ZV9wcmVmaXhfMSk6 IExpa2V3aXNlLgorKwkqIG9ic3RhY2tzLnRleGk6IExpa2V3aXNlLgorKwkqIHBleC13aW4zMi5j IChhcmd2X3RvX2NtZGxpbmUpOiBMaWtld2lzZS4KKysJKHNwYXduX3NjcmlwdCk6IExpa2V3aXNl LgorKwkqIHJhbmRvbS5jIChyYW5kb20pOiBMaWtld2lzZS4KKysJKHNldHN0YXRlKTogTGlrZXdp c2UuCisrCSogcmVnZXguYyAoV0lERV9DSEFSX1NVUFBPUlQpOiBMaWtld2lzZS4KKysJKGNvbnZl cnRfbWJzX3RvX3djcyk6IExpa2V3aXNlLgorKwkoUFJFRklYKTogTGlrZXdpc2UuCisrCSh3Y3Nf Y29tcGlsZV9yYW5nZSk6IExpa2V3aXNlLgorKwkoY291bnRfbWJzX2xlbmd0aCk6IExpa2V3aXNl LgorKwkod2NzX3JlX21hdGNoXzJfaW50ZXJuYWwpOiBMaWtld2lzZS4KKysJKGJ5dGVfcmVfbWF0 Y2hfMl9pbnRlcm5hbCk6IExpa2V3aXNlLgorKwkqIHNpZ3NldG1hc2suYzogTGlrZXdpc2UuCisr CSogc2ltcGxlLW9iamVjdC1lbGYuYyAoU0hUX1NZTVRBQl9TSE5EWCk6IExpa2V3aXNlLgorKwko U1RWX0hJRERFTik6IExpa2V3aXNlLgorKwkoc2ltcGxlX29iamVjdF9lbGZfY29weV9sdG9fZGVi dWdfc2VjdGlvbnMpOiBMaWtld2lzZS4KKysJKiBzaW1wbGUtb2JqZWN0LW1hY2gtby5jIChzdHJ1 Y3QgbWFjaF9vX2hlYWRlcl8zMik6IExpa2V3aXNlLgorKwkoc3RydWN0IG1hY2hfb19oZWFkZXJf NjQpOiBMaWtld2lzZS4KKysJKHNpbXBsZV9vYmplY3RfbWFjaF9vX3dyaXRlX3NlZ21lbnQpOiBM aWtld2lzZS4KKysJKiBzdHJzaWduYWwuYyAoZGVmaW5lZCk6IExpa2V3aXNlLgorKworIDIwMjUt MDgtMDYgIE1hdHRoaWV1IExvbmdvICA8bWF0dGhpZXUubG9uZ29AYXJtLmNvbT4KKyAKKyAJKiB0 ZXN0c3VpdGUvdGVzdC1kb3VibHktbGlua2VkLWxpc3QuYzogZGlzYWJsZSBkZWJ1ZyBsb2dnaW5n IG9uCitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L2Jjb3B5LmMgYi9saWJpYmVydHkvYmNvcHkuYwor LS0tIGEvbGliaWJlcnR5L2Jjb3B5LmMKKysrKyBiL2xpYmliZXJ0eS9iY29weS5jCitAQCAtMSw0 ICsxLDQgQEAKKy0vKiBiY29weSAtLSBjb3B5IG1lbW9yeSByZWdpb25zIG9mIGFyYml0YXJ5IGxl bmd0aAorKy8qIGJjb3B5IC0tIGNvcHkgbWVtb3J5IHJlZ2lvbnMgb2YgYXJiaXRyYXJ5IGxlbmd0 aAorIAorIEBkZWZ0eXBlZm4gU3VwcGxlbWVudGFsIHZvaWQgYmNvcHkgKGNoYXIgKkB2YXJ7aW59 LCBjaGFyICpAdmFye291dH0sIGludCBAdmFye2xlbmd0aH0pCisgCitkaWZmIC0tZ2l0IGEvbGli aWJlcnR5L2JzZWFyY2guYyBiL2xpYmliZXJ0eS9ic2VhcmNoLmMKKy0tLSBhL2xpYmliZXJ0eS9i c2VhcmNoLmMKKysrKyBiL2xpYmliZXJ0eS9ic2VhcmNoLmMKK0BAIC02MCw3ICs2MCw3IEBAIGlz IHJlc3BlY3RpdmVseSBsZXNzIHRoYW4sIG1hdGNoaW5nLCBvciBncmVhdGVyIHRoYW4gdGhlIGFy cmF5IG1lbWJlci4KKyAgKiBpcyBvZGQsIG1vdmluZyBsZWZ0IHNpbXBseSBpbnZvbHZlcyBoYWx2 aW5nIGxpbTogZS5nLiwgd2hlbiBsaW0KKyAgKiBpcyA1IHdlIGxvb2sgYXQgaXRlbSAyLCBzbyB3 ZSBjaGFuZ2UgbGltIHRvIDIgc28gdGhhdCB3ZSB3aWxsCisgICogbG9vayBhdCBpdGVtcyAwICYg MS4gIElmIGxpbSBpcyBldmVuLCB0aGUgc2FtZSBhcHBsaWVzLiAgSWYgbGltCistICogaXMgb2Rk LCBtb3ZpbmcgcmlnaHQgYWdhaW4gaW52b2xlcyBoYWx2aW5nIGxpbSwgdGhpcyB0aW1lIG1vdmlu ZworKyAqIGlzIG9kZCwgbW92aW5nIHJpZ2h0IGFnYWluIGludm9sdmVzIGhhbHZpbmcgbGltLCB0 aGlzIHRpbWUgbW92aW5nCisgICogdGhlIGJhc2UgdXAgb25lIGl0ZW0gcGFzdCBwOiBlLmcuLCB3 aGVuIGxpbSBpcyA1IHdlIGNoYW5nZSBiYXNlCisgICogdG8gaXRlbSAzIGFuZCBtYWtlIGxpbSAy IHNvIHRoYXQgd2Ugd2lsbCBsb29rIGF0IGl0ZW1zIDMgYW5kIDQuCisgICogSWYgbGltIGlzIGV2 ZW4sIGhvd2V2ZXIsIHdlIGhhdmUgdG8gc2hyaW5rIGl0IGJ5IG9uZSBiZWZvcmUKK2RpZmYgLS1n aXQgYS9saWJpYmVydHkvYnNlYXJjaF9yLmMgYi9saWJpYmVydHkvYnNlYXJjaF9yLmMKKy0tLSBh L2xpYmliZXJ0eS9ic2VhcmNoX3IuYworKysrIGIvbGliaWJlcnR5L2JzZWFyY2hfci5jCitAQCAt NjEsNyArNjEsNyBAQCBpcyByZXNwZWN0aXZlbHkgbGVzcyB0aGFuLCBtYXRjaGluZywgb3IgZ3Jl YXRlciB0aGFuIHRoZSBhcnJheSBtZW1iZXIuCisgICogaXMgb2RkLCBtb3ZpbmcgbGVmdCBzaW1w bHkgaW52b2x2ZXMgaGFsdmluZyBsaW06IGUuZy4sIHdoZW4gbGltCisgICogaXMgNSB3ZSBsb29r IGF0IGl0ZW0gMiwgc28gd2UgY2hhbmdlIGxpbSB0byAyIHNvIHRoYXQgd2Ugd2lsbAorICAqIGxv b2sgYXQgaXRlbXMgMCAmIDEuICBJZiBsaW0gaXMgZXZlbiwgdGhlIHNhbWUgYXBwbGllcy4gIElm IGxpbQorLSAqIGlzIG9kZCwgbW92aW5nIHJpZ2h0IGFnYWluIGludm9sZXMgaGFsdmluZyBsaW0s IHRoaXMgdGltZSBtb3ZpbmcKKysgKiBpcyBvZGQsIG1vdmluZyByaWdodCBhZ2FpbiBpbnZvbHZl cyBoYWx2aW5nIGxpbSwgdGhpcyB0aW1lIG1vdmluZworICAqIHRoZSBiYXNlIHVwIG9uZSBpdGVt IHBhc3QgcDogZS5nLiwgd2hlbiBsaW0gaXMgNSB3ZSBjaGFuZ2UgYmFzZQorICAqIHRvIGl0ZW0g MyBhbmQgbWFrZSBsaW0gMiBzbyB0aGF0IHdlIHdpbGwgbG9vayBhdCBpdGVtcyAzIGFuZCA0Lgor ICAqIElmIGxpbSBpcyBldmVuLCBob3dldmVyLCB3ZSBoYXZlIHRvIHNocmluayBpdCBieSBvbmUg YmVmb3JlCitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L2NvbmZpZ3VyZSBiL2xpYmliZXJ0eS9jb25m aWd1cmUKKy0tLSBhL2xpYmliZXJ0eS9jb25maWd1cmUKKysrKyBiL2xpYmliZXJ0eS9jb25maWd1 cmUKK0BAIC01OTY3LDcgKzU5NjcsNyBAQCBfQUNFT0YKKyAKKyAKKyAKKy0jIENoZWNrIGZvciBw cmVzZW5zZSBvZiBsb25nIGxvbmcKKysjIENoZWNrIGZvciBwcmVzZW5jZSBvZiBsb25nIGxvbmcK KyBhY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJsb25nIGxvbmciICJhY19jdl90eXBlX2xv bmdfbG9uZyIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgorIGlmIHRlc3QgIngkYWNfY3ZfdHlwZV9s b25nX2xvbmciID0geHllczsgdGhlbiA6CisgCitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L2NvbmZp Z3VyZS5hYyBiL2xpYmliZXJ0eS9jb25maWd1cmUuYWMKKy0tLSBhL2xpYmliZXJ0eS9jb25maWd1 cmUuYWMKKysrKyBiL2xpYmliZXJ0eS9jb25maWd1cmUuYWMKK0BAIC0zMDIsNyArMzAyLDcgQEAg QUNfQ0hFQ0tfU0laRU9GKFtpbnRdKQorIEFDX0NIRUNLX1NJWkVPRihbbG9uZ10pCisgQUNfQ0hF Q0tfU0laRU9GKFtzaXplX3RdKQorIAorLSMgQ2hlY2sgZm9yIHByZXNlbnNlIG9mIGxvbmcgbG9u ZworKyMgQ2hlY2sgZm9yIHByZXNlbmNlIG9mIGxvbmcgbG9uZworIEFDX0NIRUNLX1RZUEUoW2xv bmcgbG9uZ10sCisgICBbQUNfREVGSU5FKEhBVkVfTE9OR19MT05HLCAxLCBbRGVmaW5lIGlmIHlv dSBoYXZlIHRoZSBgbG9uZyBsb25nJyB0eXBlLl0pIEFDX0NIRUNLX1NJWkVPRihbbG9uZyBsb25n XSldLAorICAgW10pCitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L2NwLWRlbWFuZ2xlLmMgYi9saWJp YmVydHkvY3AtZGVtYW5nbGUuYworLS0tIGEvbGliaWJlcnR5L2NwLWRlbWFuZ2xlLmMKKysrKyBi L2xpYmliZXJ0eS9jcC1kZW1hbmdsZS5jCitAQCAtODIsNyArODIsNyBAQAorIAorICAgIElOX0dM SUJDUFBfVjMKKyAgICAgICBJZiBkZWZpbmVkLCB0aGlzIGZpbGUgZGVmaW5lcyBvbmx5IF9fY3hh X2RlbWFuZ2xlKCkgYW5kCistICAgICAgX19nY2NsaWJjeHhfZGVtYW5nbGVfY2FsbGJhY2soKSwg YW5kIG5vIG90aGVyIHB1YmxpY2FsbHkgdmlzaWJsZQorKyAgICAgIF9fZ2NjbGliY3h4X2RlbWFu Z2xlX2NhbGxiYWNrKCksIGFuZCBubyBvdGhlciBwdWJsaWNseSB2aXNpYmxlCisgICAgICAgZnVu Y3Rpb25zIG9yIHZhcmlhYmxlcy4KKyAKKyAgICBTVEFOREFMT05FX0RFTUFOR0xFUgorQEAgLTU1 NDksNyArNTU0OSw3IEBAIGRfcHJpbnRfY29tcF9pbm5lciAoc3RydWN0IGRfcHJpbnRfaW5mbyAq ZHBpLCBpbnQgb3B0aW9ucywKKyAJCWNvbnN0IHN0cnVjdCBkX2NvbXBvbmVudF9zdGFjayAqZGNz ZTsKKyAJCWludCBmb3VuZF9zZWxmX29yX3BhcmVudCA9IDA7CisgCistCQkvKiBUaGlzIHRyYXZl cnNhbCBpcyByZWVudGVyaW5nIFNVQiBhcyBhIHN1YnN0aXRpb24uCisrCQkvKiBUaGlzIHRyYXZl cnNhbCBpcyByZWVudGVyaW5nIFNVQiBhcyBhIHN1YnN0aXR1dGlvbi4KKyAJCSAgIElmIHdlIGFy ZSBub3QgYmVuZWF0aCBTVUIgb3IgREMgaW4gdGhlIHRyZWUgdGhlbiB3ZQorIAkJICAgbmVlZCB0 byByZXN0b3JlIFNVQidzIHRlbXBsYXRlIHN0YWNrIHRlbXBvcmFyaWx5LiAgKi8KKyAJCWZvciAo ZGNzZSA9IGRwaS0+Y29tcG9uZW50X3N0YWNrOyBkY3NlICE9IE5VTEw7CitAQCAtNjM0MSw3ICs2 MzQxLDcgQEAgZF9wcmludF9jb21wIChzdHJ1Y3QgZF9wcmludF9pbmZvICpkcGksIGludCBvcHRp b25zLAorICAgZHBpLT5yZWN1cnNpb24tLTsKKyB9CisgCistLyogUHJpbnQgYSBKYXZhIGRlbnRp Zmllci4gIEZvciBKYXZhIHdlIHRyeSB0byBoYW5kbGUgZW5jb2RlZCBleHRlbmRlZAorKy8qIFBy aW50IGEgSmF2YSBpZGVudGlmaWVyLiAgRm9yIEphdmEgd2UgdHJ5IHRvIGhhbmRsZSBlbmNvZGVk IGV4dGVuZGVkCisgICAgVW5pY29kZSBjaGFyYWN0ZXJzLiAgVGhlIEMrKyBBQkkgZG9lc24ndCBt ZW50aW9uIFVuaWNvZGUgZW5jb2RpbmcsCisgICAgc28gd2UgZG9uJ3QgaXQgZm9yIEMrKy4gIENo YXJhY3RlcnMgYXJlIGVuY29kZWQgYXMKKyAgICBfX1U8aGV4LWNoYXI+K18uICAqLworZGlmZiAt LWdpdCBhL2xpYmliZXJ0eS9kLWRlbWFuZ2xlLmMgYi9saWJpYmVydHkvZC1kZW1hbmdsZS5jCist LS0gYS9saWJpYmVydHkvZC1kZW1hbmdsZS5jCisrKysgYi9saWJpYmVydHkvZC1kZW1hbmdsZS5j CitAQCAtMTc1LDggKzE3NSwzMyBAQCBzdHJ1Y3QgZGxhbmdfaW5mbworIHsKKyAgIC8qIFRoZSBz dHJpbmcgd2UgYXJlIGRlbWFuZ2xpbmcuICAqLworICAgY29uc3QgY2hhciAqczsKKysKKysgIC8q IFRoZSBvcHRpb25zIHBhc3NlZCB0byB0aGUgZGVtYW5nbGVyLiAgKi8KKysgIGludCBvcHRpb25z OworKworICAgLyogVGhlIGluZGV4IG9mIHRoZSBsYXN0IGJhY2sgcmVmZXJlbmNlLiAgKi8KKyAg IGludCBsYXN0X2JhY2tyZWY7CisrCisrICAvKiBUaGUgdG90YWwgbnVtYmVyIG9mIGJhY2sgcmVm ZXJlbmNlZCB0eXBlcywgaW5jbHVkaW5nIG5lc3RlZCBiYWNrCisrICAgICByZWZlcmVuY2VkIHR5 cGVzLiAgVGhpcyBpcyByZXNldCB0byB6ZXJvIGVhY2ggdGltZSBhIGJhY2sKKysgICAgIHJlZmVy ZW5jZSBpcyBwcm9jZXNzZWQgYXQgdGhlICJ0b3AgbGV2ZWwiIChpLmUuIG5vdCBhIG5lc3RlZCBi YWNrCisrICAgICByZWZlcmVuY2UpLgorKworKyAgICAgQ2FzZXMgaGF2ZSBiZWVuIGVuY291bnRl cmVkIHdoZXJlIGEgYmFjayByZWZlcmVuY2UgdHlwZSBpbmNsdWRlcworKyAgICAgcmVmZXJlbmNl cyB0byBvdGhlciBiYWNrIHJlZmVyZW5jZSB0eXBlcywgd2hpY2ggaW5jbHVkZSBmdXJ0aGVyCisr ICAgICBiYWNrIHJlZmVyZW5jZXMuICBUaGlzIHdhcyBvYnNlcnZlZCB0byBhIGRlcHRoIG9mIDU3 LiAgSWYgZWFjaAorKyAgICAgbGF5ZXIgb25seSByZWZlcmVuY2VzIHRoZSBsYXllciBiZWZvcmUg dHdpY2UgdGhlbiB0aGUgaW5uZXJtb3N0CisrICAgICBzdHJpbmcgd2lsbCBiZSBkdXBsaWNhdGVk IDJeNTcgdGltZXMhCisrCisrICAgICBXZSBjb3VudCB0aGUgbnVtYmVyIG9mIG5lc3RlZCBiYWNr IHJlZmVyZW5jZXMgYW5kIGNvbXBhcmUgdGhpcyB0bworKyAgICAgdGhlIHJlY3Vyc2lvbiBsaW1p dCwgZXZlbiB0aG91Z2ggdGhpcyBpc24ndCBzdHJpY3RseSByZWN1cnNpb24uICAqLworKyAgaW50 IG51bV9iYWNrcmVmczsKKysKKysgIC8qIFRyYWNrIHRoZSBkZXB0aCBvZiBiYWNrIHJlZmVyZW5j ZXMuICBEZXB0aCAwIGlzIGNvbnNpZGVyZWQgdGhlCisrICAgICB0b3AgbGV2ZWwuICBXaGVuIHdl IGVuY291bnRlciBhIGJhY2sgcmVmZXJlbmNlIGF0IHRoaXMgZGVwdGggdGhlCisrICAgICBOVU1f QkFDS1JFRlMgZmllbGQgaXMgcmVzZXQgdG8gMC4gIEF0IGdyZWF0ZXIgZGVwdGhzLAorKyAgICAg TlVNX0JBQ0tSRUZTIHdpbGwgYmUgaW5jcmVtZW50ZWQuICAqLworKyAgaW50IGJhY2tyZWZfZGVw dGg7CisgfTsKKyAKKyAvKiBQYXNzIGFzIHRoZSBMRU4gdG8gZGxhbmdfcGFyc2VfdGVtcGxhdGUg aWYgc3ltYm9sIGxlbmd0aCBpcyBub3Qga25vd24uICAqLworQEAgLTQxMSw2ICs0MzYsMjQgQEAg ZGxhbmdfdHlwZV9iYWNrcmVmIChzdHJpbmcgKmRlY2wsIGNvbnN0IGNoYXIgKm1hbmdsZWQsIHN0 cnVjdCBkbGFuZ19pbmZvICppbmZvLAorICAgaWYgKG1hbmdsZWQgLSBpbmZvLT5zID49IGluZm8t Pmxhc3RfYmFja3JlZikKKyAgICAgcmV0dXJuIE5VTEw7CisgCisrICAvKiBBIGJhY2sgcmVmZXJl bmNlIG1pZ2h0IHBvaW50IHRvIGEgdHlwZSB0aGF0IGl0c2VsZiBjb250YWlucyBiYWNrCisrICAg ICByZWZlcmVuY2VzLCB3aGljaCBtaWdodCB0aGVtc2VsdmVzIGNvbnRhaW4gYmFjayByZWZlcmVu Y2VzLgorKyAgICAgVGhlcmUgbWlnaHQgbm90IGJlIHJlY3Vyc2lvbiBnb2luZyBvbiwgYnV0IHdl IGNhbiBydW4gaW50bworKyAgICAgcHJvYmxlbXMgb2YgZXhwb25lbnRpYWwgZ3Jvd3RoIGNhdXNl ZCBieSB0aGUgaW5uZXIgdHlwZSBhcHBlYXJpbmcKKysgICAgIHRvIGJlIHJlZmVyZW5jZWQgMTBz IG9mIG1pbGxpb25zIG9mIHRpbWVzLiAgKi8KKysgIGlmIChpbmZvLT5iYWNrcmVmX2RlcHRoID4g MCkKKysgICAgeworKyAgICAgIGlmICgoaW5mby0+b3B0aW9ucyAmIERNR0xfTk9fUkVDVVJTRV9M SU1JVCkgPT0gMAorKwkgICYmIGluZm8tPm51bV9iYWNrcmVmcyA+IERFTUFOR0xFX1JFQ1VSU0lP Tl9MSU1JVCkKKysJcmV0dXJuIE5VTEw7CisrCisrICAgICAgaW5mby0+bnVtX2JhY2tyZWZzKys7 CisrICAgIH0KKysgIGVsc2UKKysgICAgaW5mby0+bnVtX2JhY2tyZWZzID0gMDsKKysKKysgIGlu Zm8tPmJhY2tyZWZfZGVwdGgrKzsKKysKKyAgIGludCBzYXZlX3JlZnBvcyA9IGluZm8tPmxhc3Rf YmFja3JlZjsKKyAgIGluZm8tPmxhc3RfYmFja3JlZiA9IG1hbmdsZWQgLSBpbmZvLT5zOworIAor QEAgLTQyNCw2ICs0NjcsNyBAQCBkbGFuZ190eXBlX2JhY2tyZWYgKHN0cmluZyAqZGVjbCwgY29u c3QgY2hhciAqbWFuZ2xlZCwgc3RydWN0IGRsYW5nX2luZm8gKmluZm8sCisgICAgIGJhY2tyZWYg PSBkbGFuZ190eXBlIChkZWNsLCBiYWNrcmVmLCBpbmZvKTsKKyAKKyAgIGluZm8tPmxhc3RfYmFj a3JlZiA9IHNhdmVfcmVmcG9zOworKyAgaW5mby0+YmFja3JlZl9kZXB0aC0tOworIAorICAgaWYg KGJhY2tyZWYgPT0gTlVMTCkKKyAgICAgcmV0dXJuIE5VTEw7CitAQCAtMTA2Nyw3ICsxMTExLDcg QEAgZGxhbmdfaWRlbnRpZmllciAoc3RyaW5nICpkZWNsLCBjb25zdCBjaGFyICptYW5nbGVkLCBz dHJ1Y3QgZGxhbmdfaW5mbyAqaW5mbykKKyB9CisgCisgLyogRXh0cmFjdCB0aGUgcGxhaW4gaWRl bnRpZmllciBmcm9tIE1BTkdMRUQgYW5kIHByZXBlbmQvYXBwZW5kIGl0IHRvIERFQ0wKKy0gICB3 aXRoIHNwZWNpYWwgdHJlYXRtZW50IGZvciBzb21lIG1hZ2ljIGNvbXBpbGVyIGdlbmVydGVkIHN5 bWJvbHMuCisrICAgd2l0aCBzcGVjaWFsIHRyZWF0bWVudCBmb3Igc29tZSBtYWdpYyBjb21waWxl ciBnZW5lcmF0ZWQgc3ltYm9scy4KKyAgICBSZXR1cm4gdGhlIHJlbWFpbmluZyBzdHJpbmcgb24g c3VjY2VzcyBvciBOVUxMIG9uIGZhaWx1cmUuICAqLworIHN0YXRpYyBjb25zdCBjaGFyICoKKyBk bGFuZ19sbmFtZSAoc3RyaW5nICpkZWNsLCBjb25zdCBjaGFyICptYW5nbGVkLCB1bnNpZ25lZCBs b25nIGxlbikKK0BAIC0xOTMxLDE3ICsxOTc1LDIwIEBAIGRsYW5nX3BhcnNlX3RlbXBsYXRlIChz dHJpbmcgKmRlY2wsIGNvbnN0IGNoYXIgKm1hbmdsZWQsCisgLyogSW5pdGlhbGl6ZSB0aGUgaW5m b3JtYXRpb24gc3RydWN0dXJlIHdlIHVzZSB0byBwYXNzIGFyb3VuZCBpbmZvcm1hdGlvbi4gICov Cisgc3RhdGljIHZvaWQKKyBkbGFuZ19kZW1hbmdsZV9pbml0X2luZm8gKGNvbnN0IGNoYXIgKm1h bmdsZWQsIGludCBsYXN0X2JhY2tyZWYsCistCQkJICBzdHJ1Y3QgZGxhbmdfaW5mbyAqaW5mbykK KysJCQkgIGludCBvcHRpb25zLCBzdHJ1Y3QgZGxhbmdfaW5mbyAqaW5mbykKKyB7CisgICBpbmZv LT5zID0gbWFuZ2xlZDsKKysgIGluZm8tPm9wdGlvbnMgPSBvcHRpb25zOworICAgaW5mby0+bGFz dF9iYWNrcmVmID0gbGFzdF9iYWNrcmVmOworKyAgaW5mby0+bnVtX2JhY2tyZWZzID0gMDsKKysg IGluZm8tPmJhY2tyZWZfZGVwdGggPSAwOworIH0KKyAKKyAvKiBFeHRyYWN0IGFuZCBkZW1hbmds ZSB0aGUgc3ltYm9sIGluIE1BTkdMRUQuICBSZXR1cm5zIHRoZSBkZW1hbmdsZWQKKyAgICBzaWdu YXR1cmUgb24gc3VjY2VzcyBvciBOVUxMIG9uIGZhaWx1cmUuICAqLworIAorIGNoYXIgKgorLWRs YW5nX2RlbWFuZ2xlIChjb25zdCBjaGFyICptYW5nbGVkLCBpbnQgb3B0aW9uIEFUVFJJQlVURV9V TlVTRUQpCisrZGxhbmdfZGVtYW5nbGUgKGNvbnN0IGNoYXIgKm1hbmdsZWQsIGludCBvcHRpb25z KQorIHsKKyAgIHN0cmluZyBkZWNsOworICAgY2hhciAqZGVtYW5nbGVkID0gTlVMTDsKK0BAIC0x OTYyLDcgKzIwMDksNyBAQCBkbGFuZ19kZW1hbmdsZSAoY29uc3QgY2hhciAqbWFuZ2xlZCwgaW50 IG9wdGlvbiBBVFRSSUJVVEVfVU5VU0VEKQorICAgICB7CisgICAgICAgc3RydWN0IGRsYW5nX2lu Zm8gaW5mbzsKKyAKKy0gICAgICBkbGFuZ19kZW1hbmdsZV9pbml0X2luZm8gKG1hbmdsZWQsIHN0 cmxlbiAobWFuZ2xlZCksICZpbmZvKTsKKysgICAgICBkbGFuZ19kZW1hbmdsZV9pbml0X2luZm8g KG1hbmdsZWQsIHN0cmxlbiAobWFuZ2xlZCksIG9wdGlvbnMsICZpbmZvKTsKKyAgICAgICBtYW5n bGVkID0gZGxhbmdfcGFyc2VfbWFuZ2xlICgmZGVjbCwgbWFuZ2xlZCwgJmluZm8pOworIAorICAg ICAgIC8qIENoZWNrIHRoYXQgdGhlIGVudGlyZSBzeW1ib2wgd2FzIHN1Y2Nlc3NmdWxseSBkZW1h bmdsZWQuICAqLworZGlmZiAtLWdpdCBhL2xpYmliZXJ0eS9keW4tc3RyaW5nLmMgYi9saWJpYmVy dHkvZHluLXN0cmluZy5jCistLS0gYS9saWJpYmVydHkvZHluLXN0cmluZy5jCisrKysgYi9saWJp YmVydHkvZHluLXN0cmluZy5jCitAQCAtNDksOCArNDksOCBAQCBCb3N0b24sIE1BIDAyMTEwLTEz MDEsIFVTQS4gICovCisgICAgZnVuY3Rpb24gY2FuIGJlIHVzZWQgd2l0aCBhIGR5bl9zdHJpbmcg c3RydWN0IG9uIHRoZSBzdGFjayBvcgorICAgIGVtYmVkZGVkIGluIGFub3RoZXIgb2JqZWN0LiAg VGhlIGNvbnRlbnRzIG9mIHRoZSBzdHJpbmcgaXRzZWxmCisgICAgYXJlIHN0aWxsIGR5bmFtaWNh bGx5IGFsbG9jYXRlZC4gIFRoZSBzdHJpbmcgaW5pdGlhbGx5IGlzIGNhcGFibGUKKy0gICBvZiBo b2xkaW5nIGF0IGxlYXN0IFNQQUNFIGNoYXJhY2V0ZXJzLCBpbmNsdWRpbmcgdGhlIHRlcm1pbmF0 aW5nCistICAgTlVMLiAgSWYgU1BBQ0UgaXMgMCwgaXQgd2lsbCBzaWxlbnRseSBiZSBpbmNyZWF0 ZWQgdG8gMS4gIAorKyAgIG9mIGhvbGRpbmcgYXQgbGVhc3QgU1BBQ0UgY2hhcmFjdGVycywgaW5j bHVkaW5nIHRoZSB0ZXJtaW5hdGluZworKyAgIE5VTC4gIElmIFNQQUNFIGlzIDAsIGl0IHdpbGwg c2lsZW50bHkgYmUgaW5jcmVhc2VkIHRvIDEuICAKKyAKKyAgICBJZiBSRVRVUk5fT05fQUxMT0NB VElPTl9GQUlMVVJFIGlzIGRlZmluZWQgYW5kIG1lbW9yeSBhbGxvY2F0aW9uCisgICAgZmFpbHMs IHJldHVybnMgMC4gIE90aGVyd2lzZSByZXR1cm5zIDEuICAqLworZGlmZiAtLWdpdCBhL2xpYmli ZXJ0eS9sZGlybmFtZS5jIGIvbGliaWJlcnR5L2xkaXJuYW1lLmMKKy0tLSBhL2xpYmliZXJ0eS9s ZGlybmFtZS5jCisrKysgYi9saWJpYmVydHkvbGRpcm5hbWUuYworQEAgLTI2LDcgKzI2LDcgQEAg R2l2ZW4gYSBwb2ludGVyIHRvIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSB0eXBpY2FsIHBhdGhuYW1l CisgKEBzYW1wey91c3Ivc3JjL2NtZC9scy9scy5jfSBmb3IgZXhhbXBsZSksIHJldHVybnMgYSBz dHJpbmcgY29udGFpbmluZyB0aGUKKyBwYXNzZWQgc3RyaW5nIHVwIHRvLCBidXQgbm90IGluY2x1 ZGluZywgdGhlIGZpbmFsIGRpcmVjdG9yeSBzZXBhcmF0b3IuCisgCistSWYgdGhlIGdpdmVuIHBh dGhuYW1lIGRvZXNuJ3QgY29udGFpbiBhIGRpcmVjdG9yeSBzZXBhcmF0b3IgdGhlbiB0aGlzIGZ1 bnRpb24KKytJZiB0aGUgZ2l2ZW4gcGF0aG5hbWUgZG9lc24ndCBjb250YWluIGEgZGlyZWN0b3J5 IHNlcGFyYXRvciB0aGVuIHRoaXMgZnVuY3Rpb24KKyByZXR1cm5zIHRoZSBlbXB0eSBzdHJpbmc7 IHRoaXMgaW5jbHVkZXMgYW4gZW1wdHkgZ2l2ZW4gcGF0aG5hbWUuICBAY29kZXtOVUxMfQorIGlz IHJldHVybmVkIG9uIG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yLgorIAorZGlmZiAtLWdpdCBhL2xp YmliZXJ0eS9tYWtlLXJlbGF0aXZlLXByZWZpeC5jIGIvbGliaWJlcnR5L21ha2UtcmVsYXRpdmUt cHJlZml4LmMKKy0tLSBhL2xpYmliZXJ0eS9tYWtlLXJlbGF0aXZlLXByZWZpeC5jCisrKysgYi9s aWJpYmVydHkvbWFrZS1yZWxhdGl2ZS1wcmVmaXguYworQEAgLTQxMCw3ICs0MTAsNyBAQCBtYWtl X3JlbGF0aXZlX3ByZWZpeF8xIChjb25zdCBjaGFyICpwcm9nbmFtZSwgY29uc3QgY2hhciAqYmlu X3ByZWZpeCwKKyAvKiBEbyB0aGUgZnVsbCBqb2IsIGluY2x1ZGluZyBzeW1saW5rIHJlc29sdXRp b24uCisgICAgVGhpcyBwYXRoIHdpbGwgZmluZCBmaWxlcyBpbnN0YWxsZWQgaW4gdGhlIHNhbWUg cGxhY2UgYXMgdGhlCisgICAgcHJvZ3JhbSBldmVuIHdoZW4gYSBzb2Z0IGxpbmsgaGFzIGJlZW4g bWFkZSB0byB0aGUgcHJvZ3JhbQorLSAgIGZyb20gc29td2hlcmUgZWxzZS4gKi8KKysgICBmcm9t IHNvbWV3aGVyZSBlbHNlLiAqLworIAorIGNoYXIgKgorIG1ha2VfcmVsYXRpdmVfcHJlZml4IChj b25zdCBjaGFyICpwcm9nbmFtZSwgY29uc3QgY2hhciAqYmluX3ByZWZpeCwKK2RpZmYgLS1naXQg YS9saWJpYmVydHkvb2JzdGFja3MudGV4aSBiL2xpYmliZXJ0eS9vYnN0YWNrcy50ZXhpCistLS0g YS9saWJpYmVydHkvb2JzdGFja3MudGV4aQorKysrIGIvbGliaWJlcnR5L29ic3RhY2tzLnRleGkK K0BAIC02OTUsNyArNjk1LDcgQEAgSW5pdGlhbGl6ZSB1c2Ugb2YgYW4gb2JzdGFjaywgd2l0aCBh biBpbml0aWFsIGNodW5rIG9mCisgQHZhcntjaHVua19zaXplfSBieXRlcy4KKyAKKyBAaXRlbSBp bnQgb2JzdGFja19zcGVjaWZ5X2FsbG9jYXRpb24gKHN0cnVjdCBvYnN0YWNrICpAdmFye29ic3Rh Y2stcHRyfSwgc2l6ZV90IGNodW5rX3NpemUsIHNpemVfdCBhbGlnbm1lbnQsIHZvaWQgKigqY2h1 bmtmdW4pIChzaXplX3QpLCB2b2lkICgqZnJlZWZ1bikgKHZvaWQgKikpCistSW5pdGlhbGl6ZSB1 c2Ugb2YgYW4gb2JzdGFjaywgc3BlY2lmeWluZyBpbnRpYWwgY2h1bmsgc2l6ZSwgY2h1bmsKKytJ bml0aWFsaXplIHVzZSBvZiBhbiBvYnN0YWNrLCBzcGVjaWZ5aW5nIGluaXRpYWwgY2h1bmsgc2l6 ZSwgY2h1bmsKKyBhbGlnbm1lbnQsIGFuZCBtZW1vcnkgYWxsb2NhdGlvbiBmdW5jdGlvbnMuCisg CisgQGl0ZW0gaW50IG9ic3RhY2tfc3BlY2lmeV9hbGxvY2F0aW9uX3dpdGhfYXJnIChzdHJ1Y3Qg b2JzdGFjayAqQHZhcntvYnN0YWNrLXB0cn0sIHNpemVfdCBjaHVua19zaXplLCBzaXplX3QgYWxp Z25tZW50LCB2b2lkICooKmNodW5rZnVuKSAodm9pZCAqLCBzaXplX3QpLCB2b2lkICgqZnJlZWZ1 bikgKHZvaWQgKiwgdm9pZCAqKSwgdm9pZCAqYXJnKQorZGlmZiAtLWdpdCBhL2xpYmliZXJ0eS9w ZXgtd2luMzIuYyBiL2xpYmliZXJ0eS9wZXgtd2luMzIuYworLS0tIGEvbGliaWJlcnR5L3BleC13 aW4zMi5jCisrKysgYi9saWJpYmVydHkvcGV4LXdpbjMyLmMKK0BAIC0zNTAsNyArMzUwLDcgQEAg YXJndl90b19jbWRsaW5lIChjaGFyICpjb25zdCAqYXJndikKKyAgICAgICAvKiBXZSBvbmx5IHF1 b3RlIGFyZ3VtZW50cyB0aGF0IGNvbnRhaW4gc3BhY2VzLCBcdCBvciAiIGNoYXJhY3RlcnMgdG8K KyAJIHByZXZlbnQgd2FzdGluZyAyIGNoYXJzIHBlciBhcmd1bWVudCBvZiB0aGUgQ3JlYXRlUHJv Y2VzcyAzMmsgY2hhcgorIAkgbGltaXQuICBXZSBuZWVkIG9ubHkgZXNjYXBlIGVtYmVkZGVkIGRv dWJsZS1xdW90ZXMgYW5kIGltbWVkaWF0ZWx5CistCSBwcmVjZWVkaW5nIGJhY2tzbGFzaCBjaGFy YWN0ZXJzLiAgQSBzZXF1ZW5jZSBvZiBiYWNrc2xhY2ggY2hhcmFjdGVycworKwkgcHJlY2VkaW5n IGJhY2tzbGFzaCBjaGFyYWN0ZXJzLiAgQSBzZXF1ZW5jZSBvZiBiYWNrc2xhY2ggY2hhcmFjdGVy cworIAkgdGhhdCBpcyBub3QgZm9sbG93ZWQgYnkgYSBkb3VibGUgcXVvdGUgY2hhcmFjdGVyIHdp bGwgbm90IGJlCisgCSBlc2NhcGVkLiAgKi8KKyAgICAgICBuZWVkc19xdW90ZXMgPSAwOworQEAg LTM2Myw3ICszNjMsNyBAQCBhcmd2X3RvX2NtZGxpbmUgKGNoYXIgKmNvbnN0ICphcmd2KQorIAor IAkgIGlmIChhcmd2W2ldW2pdID09ICciJykKKyAJICAgIHsKKy0JICAgICAgLyogRXNjYXBlIHBy ZWNlZWRpbmcgYmFja3NsYXNoZXMuICAqLworKwkgICAgICAvKiBFc2NhcGUgcHJlY2VkaW5nIGJh Y2tzbGFzaGVzLiAgKi8KKyAJICAgICAgZm9yIChrID0gaiAtIDE7IGsgPj0gMCAmJiBhcmd2W2ld W2tdID09ICdcXCc7IGstLSkKKyAJCWNtZGxpbmVfbGVuKys7CisgCSAgICAgIC8qIEVzY2FwZSB0 aGUgcXVvdGUgY2hhcmFjdGVyLiAgKi8KK0BAIC02OTUsNyArNjk1LDcgQEAgc3Bhd25fc2NyaXB0 IChzdHJ1Y3QgcGV4X29iaiAqb2JqLAorICAgaW50IGZkID0gX29wZW4gKGV4ZWN1dGFibGUsIF9P X1JET05MWSk7CisgCisgICAvKiBUcnkgdG8gb3BlbiBzY3JpcHQsIGNoZWNrIGhlYWRlciBmb3Jt YXQsIGV4dHJhY3QgaW50ZXJwcmV0ZXIgcGF0aCwKKy0gICAgIGFuZCBzcGF3biBzY3JpcHQgdXNp bmcgdGhhdCBpbnRlcnByZXR0ZXIuICovCisrICAgICBhbmQgc3Bhd24gc2NyaXB0IHVzaW5nIHRo YXQgaW50ZXJwcmV0ZXIuICovCisgICBpZiAoZmQgPj0gMCkKKyAgICAgeworICAgICAgIGNoYXIg YnVmW01BWF9QQVRIICsgNV07CitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L3JhbmRvbS5jIGIvbGli aWJlcnR5L3JhbmRvbS5jCistLS0gYS9saWJpYmVydHkvcmFuZG9tLmMKKysrKyBiL2xpYmliZXJ0 eS9yYW5kb20uYworQEAgLTg4LDcgKzg4LDcgQEAgbG9uZyBpbnQgcmFuZG9tICh2b2lkKTsKKyAg ICB0aGVuIGluaXRpYWxpemVkIHRvIGNvbnRhaW4gaW5mb3JtYXRpb24gZm9yIHJhbmRvbSBudW1i ZXIgZ2VuZXJhdGlvbiB3aXRoCisgICAgdGhhdCBtdWNoIHN0YXRlIGluZm9ybWF0aW9uLiAgR29v ZCBzaXplcyBmb3IgdGhlIGFtb3VudCBvZiBzdGF0ZQorICAgIGluZm9ybWF0aW9uIGFyZSAzMiwg NjQsIDEyOCwgYW5kIDI1NiBieXRlcy4gIFRoZSBzdGF0ZSBjYW4gYmUgc3dpdGNoZWQgYnkKKy0g ICBjYWxsaW5nIHRoZSBzZXRzdGF0ZSgpIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgYXJyYXkgYXMg d2FzIGluaXRpYWxsaXplZAorKyAgIGNhbGxpbmcgdGhlIHNldHN0YXRlKCkgZnVuY3Rpb24gd2l0 aCB0aGUgc2FtZSBhcnJheSBhcyB3YXMgaW5pdGlhbGl6ZWQKKyAgICB3aXRoIGluaXRzdGF0ZSgp LiAgQnkgZGVmYXVsdCwgdGhlIHBhY2thZ2UgcnVucyB3aXRoIDEyOCBieXRlcyBvZiBzdGF0ZQor ICAgIGluZm9ybWF0aW9uIGFuZCBnZW5lcmF0ZXMgZmFyIGJldHRlciByYW5kb20gbnVtYmVycyB0 aGFuIGEgbGluZWFyCisgICAgY29uZ3J1ZW50aWFsIGdlbmVyYXRvci4gIElmIHRoZSBhbW91bnQg b2Ygc3RhdGUgaW5mb3JtYXRpb24gaXMgbGVzcyB0aGFuCitAQCAtMzYyLDcgKzM2Miw3IEBAIHNl dHN0YXRlICh2b2lkICphcmdfc3RhdGUpCisgDAorIC8qIElmIHdlIGFyZSB1c2luZyB0aGUgdHJp dmlhbCBUWVBFXzAgUi5OLkcuLCBqdXN0IGRvIHRoZSBvbGQgbGluZWFyCisgICAgY29uZ3J1ZW50 aWFsIGJpdC4gIE90aGVyd2lzZSwgd2UgZG8gb3VyIGZhbmN5IHRyaW5vbWlhbCBzdHVmZiwgd2hp Y2ggaXMgdGhlCistICAgc2FtZSBpbiBhbGwgdGhlciBvdGhlciBjYXNlcyBkdWUgdG8gYWxsIHRo ZSBnbG9iYWwgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuCisrICAgc2FtZSBpbiBhbGwgdGhlIG90 aGVyIGNhc2VzIGR1ZSB0byBhbGwgdGhlIGdsb2JhbCB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4K KyAgICBzZXQgdXAuICBUaGUgYmFzaWMgb3BlcmF0aW9uIGlzIHRvIGFkZCB0aGUgbnVtYmVyIGF0 IHRoZSByZWFyIHBvaW50ZXIgaW50bworICAgIHRoZSBvbmUgYXQgdGhlIGZyb250IHBvaW50ZXIu ICBUaGVuIGJvdGggcG9pbnRlcnMgYXJlIGFkdmFuY2VkIHRvIHRoZSBuZXh0CisgICAgbG9jYXRp b24gY3ljbGljYWxseSBpbiB0aGUgdGFibGUuICBUaGUgdmFsdWUgcmV0dXJuZWQgaXMgdGhlIHN1 bSBnZW5lcmF0ZWQsCitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L3JlZ2V4LmMgYi9saWJpYmVydHkv cmVnZXguYworLS0tIGEvbGliaWJlcnR5L3JlZ2V4LmMKKysrKyBiL2xpYmliZXJ0eS9yZWdleC5j CitAQCAtNTgsNyArNTgsNyBAQAorIAorICMgZGVmaW5lIFdJREVfQ0hBUl9TVVBQT1JUIChIQVZF X1dDVFlQRV9IICYmIEhBVkVfV0NIQVJfSCAmJiBIQVZFX0JUT1dDKQorIAorLS8qIEZvciBwbGF0 Zm9ybSB3aGljaCBzdXBwb3J0IHRoZSBJU08gQyBhbWVuZGVtZW50IDEgZnVuY3Rpb25hbGl0eSB3 ZQorKy8qIEZvciBwbGF0Zm9ybSB3aGljaCBzdXBwb3J0IHRoZSBJU08gQyBhbWVuZG1lbnQgMSBm dW5jdGlvbmFsaXR5IHdlCisgICAgc3VwcG9ydCB1c2VyIGRlZmluZWQgY2hhcmFjdGVyIGNsYXNz ZXMuICAqLworICMgaWYgZGVmaW5lZCBfTElCQyB8fCBXSURFX0NIQVJfU1VQUE9SVAorIC8qIFNv bGFyaXMgMi41IGhhcyBhIGJ1ZzogPHdjaGFyLmg+IG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlIDx3 Y3R5cGUuaD4uICAqLworQEAgLTEyMzUsNyArMTIzNSw3IEBAIHByaW50Y2hhciAoaW50IGMpCisg CisgIyBpZmRlZiBXQ0hBUgorIC8qIFRoaXMgIGNvbnZlcnQgYSBtdWx0aWJ5dGUgc3RyaW5nIHRv IGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nLgorLSAgIEFuZCB3cml0ZSB0aGVpciBjb3JyZXNwb25k YW5jZXMgdG8gb2Zmc2V0X2J1ZmZlcihzZWUgYmVsb3cpCisrICAgQW5kIHdyaXRlIHRoZWlyIGNv cnJlc3BvbmRlbmNlcyB0byBvZmZzZXRfYnVmZmVyKHNlZSBiZWxvdykKKyAgICBhbmQgd3JpdGUg d2hldGhlciBlYWNoIHdjaGFyX3QgaXMgYmluYXJ5IGRhdGEgdG8gaXNfYmluYXJ5LgorICAgIFRo aXMgYXNzdW1lIGludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlcyBhcyBiaW5hcnkgZGF0YS4KKyAg ICBXZSBhc3N1bWUgb2Zmc2V0X2J1ZmZlciBhbmQgaXNfYmluYXJ5IGlzIGFscmVhZHkgYWxsb2Nh dGVkCitAQCAtMTI0Nyw3ICsxMjQ3LDcgQEAgc3RhdGljIHNpemVfdCBjb252ZXJ0X21ic190b193 Y3MgKENIQVJfVCAqZGVzdCwgY29uc3QgdW5zaWduZWQgY2hhciogc3JjLAorIHN0YXRpYyBzaXpl X3QKKyBjb252ZXJ0X21ic190b193Y3MgKENIQVJfVCAqZGVzdCwgY29uc3QgdW5zaWduZWQgY2hh cipzcmMsIHNpemVfdCBsZW4sCisgICAgICAgICAgICAgICAgICAgICBpbnQgKm9mZnNldF9idWZm ZXIsIGNoYXIgKmlzX2JpbmFyeSkKKy0gICAgIC8qIEl0IGhvbGQgY29ycmVzcG9uZGFuY2VzIGJl dHdlZW4gc3JjKGNoYXIgc3RyaW5nKSBhbmQKKysgICAgIC8qIEl0IGhvbGQgY29ycmVzcG9uZGVu Y2VzIGJldHdlZW4gc3JjKGNoYXIgc3RyaW5nKSBhbmQKKyAJZGVzdCh3Y2hhcl90IHN0cmluZykg Zm9yIG9wdGltaXphdGlvbi4KKyAJZS5nLiBzcmMgID0gInh4eHl6eiIKKyAgICAgICAgICAgICAg ZGVzdCA9IHsnWCcsICdZJywgJ1onfQorQEAgLTEyODEsNyArMTI4MSw3IEBAIGNvbnZlcnRfbWJz X3RvX3djcyAoQ0hBUl9UICpkZXN0LCBjb25zdCB1bnNpZ25lZCBjaGFyKnNyYywgc2l6ZV90IGxl biwKKyAKKyAgICAgICBpZiAoY29uc3VtZWQgPD0gMCkKKyAJLyogZmFpbGVkIHRvIGNvbnZlcnQu IG1heWJlIHNyYyBjb250YWlucyBiaW5hcnkgZGF0YS4KKy0JICAgU28gd2UgY29uc3VtZSAxIGJ5 dGUgbWFudWFseS4gICovCisrCSAgIFNvIHdlIGNvbnN1bWUgMSBieXRlIG1hbnVhbGx5LiAgKi8K KyAJeworIAkgICpwZGVzdCA9ICpwc3JjOworIAkgIGNvbnN1bWVkID0gMTsKK0BAIC0yMTc0LDcg KzIxNzQsNyBAQCB0eXBlZGVmIHN0cnVjdAorICMgaWZuZGVmIERFRklORURfT05DRQorICMgIGlm IGRlZmluZWQgX0xJQkMgfHwgV0lERV9DSEFSX1NVUFBPUlQKKyAvKiBUaGUgR05VIEMgbGlicmFy eSBwcm92aWRlcyBzdXBwb3J0IGZvciB1c2VyLWRlZmluZWQgY2hhcmFjdGVyIGNsYXNzZXMKKy0g ICBhbmQgdGhlIGZ1bmN0aW9ucyBmcm9tIElTTyBDIGFtZW5kZW1lbnQgMS4gICovCisrICAgYW5k IHRoZSBmdW5jdGlvbnMgZnJvbSBJU08gQyBhbWVuZG1lbnQgMS4gICovCisgIyAgIGlmZGVmIENI QVJDTEFTU19OQU1FX01BWAorICMgICAgZGVmaW5lIENIQVJfQ0xBU1NfTUFYX0xFTkdUSCBDSEFS Q0xBU1NfTkFNRV9NQVgKKyAjICAgZWxzZQorQEAgLTM0MTYsNyArMzQxNiw3IEBAIFBSRUZJWChy ZWdleF9jb21waWxlKSAoY29uc3QgY2hhciAqQVJHX1BSRUZJWChwYXR0ZXJuKSwKKyAJCQkJICBp bnQzMl90IGlkeDIgPSB0YWJsZVtjaF07CisgCQkJCSAgc2l6ZV90IGxlbiA9IHdlaWdodHNbaWR4 Ml07CisgCistCQkJCSAgLyogVGVzdCB3aGV0aGVyIHRoZSBsZW5naHRzIG1hdGNoLiAgKi8KKysJ CQkJICAvKiBUZXN0IHdoZXRoZXIgdGhlIGxlbmd0aHMgbWF0Y2guICAqLworIAkJCQkgIGlmICh3 ZWlnaHRzW2lkeF0gPT0gbGVuKQorIAkJCQkgICAgeworIAkJCQkgICAgICAvKiBUaGV5IGRvLiAg TmV3IGNvbXBhcmUgdGhlIGJ5dGVzIG9mCitAQCAtNDM4OSw3ICs0Mzg5LDcgQEAgd2NzX2NvbXBp bGVfcmFuZ2UgKENIQVJfVCByYW5nZV9zdGFydF9jaGFyLCBjb25zdCBDSEFSX1QgKipwX3B0ciwK KyAJeworIAkgIC8qIHJhbmdlX3N0YXJ0IGlzIGEgY29sbGF0aW5nIHN5bWJvbC4gICovCisgCSAg aW50MzJfdCAqd2V4dHJhOworLQkgIC8qIFJldHJlaXZlIHRoZSBpbmRleCBhbmQgZ2V0IGNvbGxh dGlvbiBzZXF1ZW5jZSB2YWx1ZS4gICovCisrCSAgLyogUmV0cmlldmUgdGhlIGluZGV4IGFuZCBn ZXQgY29sbGF0aW9uIHNlcXVlbmNlIHZhbHVlLiAgKi8KKyAJICB3ZXh0cmEgPSAoaW50MzJfdCop KGV4dHJhICsgY2hhcl9zZXRbLXJhbmdlX3N0YXJ0X2NoYXJdKTsKKyAJICBzdGFydF92YWwgPSB3 ZXh0cmFbMSArICp3ZXh0cmFdOworIAl9CitAQCAtNTUwMiw3ICs1NTAyLDcgQEAgY291bnRfbWJz X2xlbmd0aChpbnQgKm9mZnNldF9idWZmZXIsIGludCBsZW5ndGgpCisgICAgIHJldHVybiAwOwor IAorICAgLyogSWYgdGhlcmUgYXJlIG5vIG11bHRpYnl0ZSBjaGFyYWN0ZXIsIG9mZnNldF9idWZm ZXJbaV0gPT0gaS4KKy0gICBPcHRtaXplIGZvciB0aGlzIGNhc2UuICAqLworKyAgIE9wdGltaXpl IGZvciB0aGlzIGNhc2UuICAqLworICAgaWYgKG9mZnNldF9idWZmZXJbbGVuZ3RoXSA9PSBsZW5n dGgpCisgICAgIHJldHVybiBsZW5ndGg7CisgCitAQCAtNTUzOCw3ICs1NTM4LDcgQEAgd2NzX3Jl X21hdGNoXzJfaW50ZXJuYWwgKHN0cnVjdCByZV9wYXR0ZXJuX2J1ZmZlciAqYnVmcCwKKyAJCQkg c3RydWN0IHJlX3JlZ2lzdGVycyAqcmVncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IHN0b3AsCisgICAgICAvKiBzdHJpbmcxID09IHN0cmluZzIgPT0gTlVMTCBtZWFucyBzdHJpbmcx LzIsIHNpemUxLzIgYW5kCistCW1ic19vZmZzZXQxLzIgbmVlZCBzZXRpbmcgdXAgaW4gdGhpcyBm dW5jdGlvbi4gICovCisrCW1ic19vZmZzZXQxLzIgbmVlZCBzZXR0aW5nIHVwIGluIHRoaXMgZnVu Y3Rpb24uICAqLworICAgICAgLyogV2UgbmVlZCB3Y2hhcl90KiBidWZmZXJzIGNvcnJlc3BvbmQg dG8gY3N0cmluZzEsIGNzdHJpbmcyLiAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2No YXJfdCAqc3RyaW5nMSwgaW50IHNpemUxLAorICAgICAgICAgICAgICAgICAgICAgICAgICB3Y2hh cl90ICpzdHJpbmcyLCBpbnQgc2l6ZTIsCitAQCAtNTczOSw3ICs1NzM5LDcgQEAgYnl0ZV9yZV9t YXRjaF8yX2ludGVybmFsIChzdHJ1Y3QgcmVfcGF0dGVybl9idWZmZXIgKmJ1ZnAsCisgICAgICBm aWxsIHRoZW0gd2l0aCBjb252ZXJ0ZWQgc3RyaW5nLiAgKi8KKyAgIGlmIChzdHJpbmcxID09IE5V TEwgJiYgc3RyaW5nMiA9PSBOVUxMKQorICAgICB7CistICAgICAgLyogV2UgbmVlZCBzZXRpbmcg dXAgYnVmZmVycyBoZXJlLiAgKi8KKysgICAgICAvKiBXZSBuZWVkIHNldHRpbmcgdXAgYnVmZmVy cyBoZXJlLiAgKi8KKyAKKyAgICAgICAvKiBXZSBtdXN0IGZyZWUgd2NzIGJ1ZmZlcnMgaW4gdGhp cyBmdW5jdGlvbi4gICovCisgICAgICAgY2FudF9mcmVlX3djc19idWYgPSAwOworZGlmZiAtLWdp dCBhL2xpYmliZXJ0eS9zaWdzZXRtYXNrLmMgYi9saWJpYmVydHkvc2lnc2V0bWFzay5jCistLS0g YS9saWJpYmVydHkvc2lnc2V0bWFzay5jCisrKysgYi9saWJpYmVydHkvc2lnc2V0bWFzay5jCitA QCAtMSw3ICsxLDcgQEAKKyAvKiBWZXJzaW9uIG9mIHNpZ3NldG1hc2suYworICAgIFdyaXR0ZW4g YnkgU3RldmUgQ2hhbWJlcmxhaW4gKHNhY0BjeWdudXMuY29tKS4KKyAgICBDb250cmlidXRlZCBi eSBDeWdudXMgU3VwcG9ydC4KKy0gICBUaGlzIGZpbGUgaXMgaW4gdGhlIHB1YmxpYyBkb2FtaW4u ICovCisrICAgVGhpcyBmaWxlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLiAqLworIAorIC8qCisg CitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L3NpbXBsZS1vYmplY3QtZWxmLmMgYi9saWJpYmVydHkv c2ltcGxlLW9iamVjdC1lbGYuYworLS0tIGEvbGliaWJlcnR5L3NpbXBsZS1vYmplY3QtZWxmLmMK KysrKyBiL2xpYmliZXJ0eS9zaW1wbGUtb2JqZWN0LWVsZi5jCitAQCAtMTk4LDcgKzE5OCw3IEBA IHR5cGVkZWYgc3RydWN0IHsKKyAjZGVmaW5lIFNIVF9SRUxBCTQJCS8qIFJlbG9jYXRpb24gZW50 cmllcyB3aXRoIGFkZGVuZHMgKi8KKyAjZGVmaW5lIFNIVF9SRUwJCTkJCS8qIFJlbG9jYXRpb24g ZW50cmllcywgbm8gYWRkZW5kcyAqLworICNkZWZpbmUgU0hUX0dST1VQCTE3CQkvKiBTZWN0aW9u IGNvbnRhaW5zIGEgc2VjdGlvbiBncm91cCAqLworLSNkZWZpbmUgU0hUX1NZTVRBQl9TSE5EWCAx OAkJLyogRXh0ZW5kZWQgc2VjdGlvbiBpbmRlY2VzICovCisrI2RlZmluZSBTSFRfU1lNVEFCX1NI TkRYIDE4CQkvKiBFeHRlbmRlZCBzZWN0aW9uIGluZGljZXMgKi8KKyAKKyAvKiBWYWx1ZXMgZm9y IHNoX2ZsYWdzIGZpZWxkLiAgKi8KKyAKK0BAIC0yNDYsNyArMjQ2LDcgQEAgdHlwZWRlZiBzdHJ1 Y3QKKyAjZGVmaW5lIFNUQl9XRUFLCTIJLyogV2VhayBnbG9iYWwgKi8KKyAKKyAjZGVmaW5lIFNU Vl9ERUZBVUxUCTAJLyogVmlzaWJpbGl0eSBpcyBzcGVjaWZpZWQgYnkgYmluZGluZyB0eXBlICov CistI2RlZmluZSBTVFZfSElEREVOCTIJLyogQ2FuIG9ubHkgYmUgc2VlbiBpbnNpZGUgY3VycmVj dCBjb21wb25lbnQgKi8KKysjZGVmaW5lIFNUVl9ISURERU4JMgkvKiBDYW4gb25seSBiZSBzZWVu IGluc2lkZSBjdXJyZW50IGNvbXBvbmVudCAqLworIAorIC8qIEZ1bmN0aW9ucyB0byBmZXRjaCBh bmQgc3RvcmUgZGlmZmVyZW50IEVMRiB0eXBlcywgZGVwZW5kaW5nIG9uIHRoZQorICAgIGVuZGlh bm5lc3MgYW5kIHNpemUuICAqLworQEAgLTE1MTIsNyArMTUxMiw3IEBAIHNpbXBsZV9vYmplY3Rf ZWxmX2NvcHlfbHRvX2RlYnVnX3NlY3Rpb25zIChzaW1wbGVfb2JqZWN0X3JlYWQgKnNvYmosCisg CQkgb2YgX19nbnVfbHRvX3NsaW0gc3ltYm9sLiAgKi8KKyAJICAgICAgaWYgKHN0X3NobmR4ID09 IFNITl9DT01NT04pCisgCQlkaXNjYXJkID0gMTsKKy0JICAgICAgLyogV2UgYWxzbyBuZWVkIHRv IHJlbW92ZSBzeW1ib2xzIHJlZmVyaW5nIHRvIHNlY3Rpb25zCisrCSAgICAgIC8qIFdlIGFsc28g bmVlZCB0byByZW1vdmUgc3ltYm9scyByZWZlcnJpbmcgdG8gc2VjdGlvbnMKKyAJCSB3ZSdsbCBl dmVudHVhbGx5IHJlbW92ZSBhcyB3aXRoIGZhdCBMVE8gb2JqZWN0cworIAkJIHdlIG90aGVyd2lz ZSBnZXQgZHVwbGljYXRlIHN5bWJvbHMgYXQgZmluYWwgbGluaworIAkJICh3aXRoIEdOVSBsZCwg Z29sZCBpcyBmaW5lIGFuZCBpZ25vcmVzIHN5bWJvbHMgaW4KK2RpZmYgLS1naXQgYS9saWJpYmVy dHkvc2ltcGxlLW9iamVjdC1tYWNoLW8uYyBiL2xpYmliZXJ0eS9zaW1wbGUtb2JqZWN0LW1hY2gt by5jCistLS0gYS9saWJpYmVydHkvc2ltcGxlLW9iamVjdC1tYWNoLW8uYworKysrIGIvbGliaWJl cnR5L3NpbXBsZS1vYmplY3QtbWFjaC1vLmMKK0BAIC01Myw3ICs1Myw3IEBAIHN0cnVjdCBtYWNo X29faGVhZGVyXzMyCisgICB1bnNpZ25lZCBjaGFyIGZpbGV0eXBlWzRdOwkvKiBUeXBlIG9mIGZp bGUuICAqLworICAgdW5zaWduZWQgY2hhciBuY21kc1s0XTsJLyogTnVtYmVyIG9mIGxvYWQgY29t bWFuZHMuICAqLworICAgdW5zaWduZWQgY2hhciBzaXplb2ZjbWRzWzRdOwkvKiBUb3RhbCBzaXpl IG9mIGxvYWQgY29tbWFuZHMuICAqLworLSAgdW5zaWduZWQgY2hhciBmbGFnc1s0XTsJLyogRmxh Z3MgZm9yIHNwZWNpYWwgZmVhdHVlcy4gICovCisrICB1bnNpZ25lZCBjaGFyIGZsYWdzWzRdOwkv KiBGbGFncyBmb3Igc3BlY2lhbCBmZWF0dXJlcy4gICovCisgfTsKKyAKKyAvKiBNYWNoLU8gaGVh ZGVyICg2NC1iaXQgdmVyc2lvbikuICAqLworQEAgLTY2LDcgKzY2LDcgQEAgc3RydWN0IG1hY2hf b19oZWFkZXJfNjQKKyAgIHVuc2lnbmVkIGNoYXIgZmlsZXR5cGVbNF07CS8qIFR5cGUgb2YgZmls ZS4gICovCisgICB1bnNpZ25lZCBjaGFyIG5jbWRzWzRdOwkvKiBOdW1iZXIgb2YgbG9hZCBjb21t YW5kcy4gICovCisgICB1bnNpZ25lZCBjaGFyIHNpemVvZmNtZHNbNF07CS8qIFRvdGFsIHNpemUg b2YgbG9hZCBjb21tYW5kcy4gICovCistICB1bnNpZ25lZCBjaGFyIGZsYWdzWzRdOwkvKiBGbGFn cyBmb3Igc3BlY2lhbCBmZWF0dWVzLiAgKi8KKysgIHVuc2lnbmVkIGNoYXIgZmxhZ3NbNF07CS8q IEZsYWdzIGZvciBzcGVjaWFsIGZlYXR1cmVzLiAgKi8KKyAgIHVuc2lnbmVkIGNoYXIgcmVzZXJ2 ZWRbNF07CS8qIFJlc2VydmVkLiAgRHVoLiAgKi8KKyB9OworIAorQEAgLTEyMDQsOCArMTIwNCw4 IEBAIHNpbXBsZV9vYmplY3RfbWFjaF9vX3dyaXRlX3NlZ21lbnQgKHNpbXBsZV9vYmplY3Rfd3Jp dGUgKnNvYmosIGludCBkZXNjcmlwdG9yLAorICAgICAgIHVuc2lnbmVkIGludCBpOworIAorICAg ICAgIC8qIFdyaXRlIHRoZSBzZWN0aW9uIGhlYWRlciBmb3IgdGhlIHdyYXBwZXIuICAqLworLSAg ICAgIC8qIEFjY291bnQgZm9yIGFueSBpbml0aWFsIGFsaWdtZW50IC0gd2hpY2ggYmVjb21lcyB0 aGUgYWxpZ25tZW50IGZvciB0aGlzCistCSBjcmVhdGVkIHNlY3Rpb24uICAqLworKyAgICAgIC8q IEFjY291bnQgZm9yIGFueSBpbml0aWFsIGFsaWdubWVudCAtIHdoaWNoIGJlY29tZXMgdGhlIGFs aWdubWVudCBmb3IKKysJIHRoaXMgY3JlYXRlZCBzZWN0aW9uLiAgKi8KKyAKKyAgICAgICBzZWNz aXplID0gKG9mZnNldCAtIGluZGV4WzBdKTsKKyAgICAgICBpZiAoIXNpbXBsZV9vYmplY3RfbWFj aF9vX3dyaXRlX3NlY3Rpb25faGVhZGVyIChzb2JqLCBkZXNjcmlwdG9yLAorQEAgLTEyMTgsNyAr MTIxOCw3IEBAIHNpbXBsZV9vYmplY3RfbWFjaF9vX3dyaXRlX3NlZ21lbnQgKHNpbXBsZV9vYmpl Y3Rfd3JpdGUgKnNvYmosIGludCBkZXNjcmlwdG9yLAorIAkJCQkJCSAgICAgIGVycm1zZywgZXJy KSkKKyAJcmV0dXJuIDA7CisgCistICAgICAgLyogU3VidHJhY3QgdGhlIHdyYXBwZXIgc2VjdGlv biBzdGFydCBmcm9tIHRoZSBiZWdpbmluZyBvZiBlYWNoIHN1YgorKyAgICAgIC8qIFN1YnRyYWN0 IHRoZSB3cmFwcGVyIHNlY3Rpb24gc3RhcnQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggc3Vi CisgCSBzZWN0aW9uLiAgKi8KKyAKKyAgICAgICBmb3IgKGkgPSAxOyBpIDwgbnNlY3RzX2luOyAr K2kpCitkaWZmIC0tZ2l0IGEvbGliaWJlcnR5L3N0cnNpZ25hbC5jIGIvbGliaWJlcnR5L3N0cnNp Z25hbC5jCistLS0gYS9saWJpYmVydHkvc3Ryc2lnbmFsLmMKKysrKyBiL2xpYmliZXJ0eS9zdHJz aWduYWwuYworQEAgLTE1Miw3ICsxNTIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNpZ25hbF9p bmZvIHNpZ25hbF90YWJsZVtdID0KKyAjZW5kaWYKKyAjaWYgZGVmaW5lZCAoU0lHSU8pCisgICAv KiAiSS9PIHBlbmRpbmciIGhhcyBhbHNvIGJlZW4gc3VnZ2VzdGVkLCBidXQgaXMgbWlzbGVhZGlu ZyBzaW5jZSB0aGUKKy0gICAgIHNpZ25hbCBvbmx5IGhhcHBlbnMgd2hlbiB0aGUgcHJvY2VzcyBo YXMgYXNrZWQgZm9yIGl0LCBub3QgZXZlcnl0aW1lCisrICAgICBzaWduYWwgb25seSBoYXBwZW5z IHdoZW4gdGhlIHByb2Nlc3MgaGFzIGFza2VkIGZvciBpdCwgbm90IGV2ZXJ5IHRpbWUKKyAgICAg IEkvTyBpcyBwZW5kaW5nLiAqLworICAgRU5UUlkoU0lHSU8sICJTSUdJTyIsICJJL08gcG9zc2li bGUiKSwKKyAjZW5kaWYKK0BAIC0yMDgsNyArMjA4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBz aWduYWxfaW5mbyBzaWduYWxfdGFibGVbXSA9CisgICBFTlRSWShTSUdHUkFOVCwgIlNJR0dSQU5U IiwgIk1vbml0b3IgbW9kZSBncmFudGVkIiksCisgI2VuZGlmCisgI2lmIGRlZmluZWQgKFNJR1JF VFJBQ1QpCistICBFTlRSWShTSUdSRVRSQUNULCAiU0lHUkVUUkFDVCIsICJOZWVkIHRvIHJlbGlu Z3Vpc2ggbW9uaXRvciBtb2RlIiksCisrICBFTlRSWShTSUdSRVRSQUNULCAiU0lHUkVUUkFDVCIs ICJOZWVkIHRvIHJlbGlucXVpc2ggbW9uaXRvciBtb2RlIiksCisgI2VuZGlmCisgI2lmIGRlZmlu ZWQgKFNJR01TRykKKyAgIEVOVFJZKFNJR01TRywgIlNJR01TRyIsICJNb25pdG9yIG1vZGUgZGF0 YSBhdmFpbGFibGUiKSwKK2RpZmYgLS1naXQgYS9saWJpYmVydHkvdGVzdHN1aXRlL2QtZGVtYW5n bGUtZXhwZWN0ZWQgYi9saWJpYmVydHkvdGVzdHN1aXRlL2QtZGVtYW5nbGUtZXhwZWN0ZWQKKy0t LSBhL2xpYmliZXJ0eS90ZXN0c3VpdGUvZC1kZW1hbmdsZS1leHBlY3RlZAorKysrIGIvbGliaWJl cnR5L3Rlc3RzdWl0ZS9kLWRlbWFuZ2xlLWV4cGVjdGVkCitAQCAtMTQ3NSwzICsxNDc1LDE1IEBA IGRlbWFuZ2xlLmFub255bW91cy5mb28KKyAtLWZvcm1hdD1hdXRvCisgX0Q4ZGVtYW5nbGU5YW5v bnltb3VzMDNmb29aCisgZGVtYW5nbGUuYW5vbnltb3VzLmZvbworKyMKKysjIFRoaXMgc3ltYm9s IHdhcyBzZWVuIGluIHRoZSB3aWxkLiAgSXQgaGFzIGEgcGF0dGVybiBvZiBiYWNrCisrIyByZWZl cmVuY2VzIHRoYXQgcmVzdWx0IGluIGV4cG9uZW50aWFsIGdyb3d0aCwgd2l0aCB0aGUgaW5uZXJt b3N0CisrIyB0eXBlIGJlaW5nIHJlZmVyZW5jZWQgMTBzIG9mIG1pbGxpb25zIG9mIHRpbWVzLiAg V2UgdXNlIHRoZQorKyMgZGVtYW5nbGVyJ3MgcmVjdXJzaW9uIGxpbWl0IHRvIHBsYWNlIGEgaGFy ZCBjYXAgb24gYmFjayByZWZlcmVuY2UKKysjIHVzYWdlLCB3aGljaCBjYXVzZXMgdGhlIGRlbWFu Z2xlciB0byBzYWZlbHkgYmFpbCBvdXQgYmVmb3JlCisrIyBjb25zdW1pbmcgYW4gZXhjZXNzaXZl IGFtb3VudCBvZiBtZW1vcnkuICBUcnlpbmcgdG8gZGVtYW5nbGUgdGhpcworKyMgd2l0aG91dCB0 aGUgcmVjdXJzaW9uIGxpbWl0IGluIHBsYWNlIHdpbGwgZXZlbnR1YWxseSBjYXVzZSB0aGUgT09N CisrIyBraWxsZXIgdG8ga2ljayBpbi4KKystLWZvcm1hdD1kbGFuZworK19EM3N0ZDZmb3JtYXQ1 d3JpdGVfX1QxNGZvcm1hdHRlZFdyaXRlVERGQXhhWnZUYVRTMmFlNXV0aWxzNHRleHQ3ZnVuY3Rv cl9fVDEzc3RyaW5naWZpYWJsZVRTUUJxUUJxUUJpMTBwcmltaXRpdmVzX19UUUNhU1FDc1FDc1FD azExY29tcG9zaXRpb25fX1Qzc2VxVFNRRHhRRHhRRHBRQ2hfX1RRRHlTUUVxUUVxUUVuUUVsX19U MTdmb3JtYXR0aW5nRnVuY3RvclZBeWFhMl8yNTczVmlpMjUwVFFyWjE1X19sYW1iZGFfTDQwX0Mz VFFCbVo3RnVuY3RvclRTUUh6UUh6UUhyUUdqX19UUUlhU1FJc1FJc1FJcFFJbl9fVFFFY1ZRRG1h Ml8yNTczVmlpMjUwVFNRS2RRS2RRS2FRSnlfX1RRSnRUU1FLeFFLeFFLcFFKaF9fVFFLeVM0YnRk dTJ1aTZjdXJzZXM2Q3Vyc2VzNFdhbmRfX1Q4d2l0aEF0dHJUU1FOZlFOZlFOY1FOYV9fVFFNdlRT UU56UU56UU5yUU1qX19UUU9hU1FPc1FPc1FPa1FNYV9fVDZzZWxlY3RUU1FQcVFQcVFQaVFPYV9f VFFQclNRUWpRUWpRUWJRT3RfX1QxMnZhbHVlRnVuY3RvclRiWlFyRmJaMTdfX2xhbWJkYV9MMTQz X0M1N1RiWlFMYlRTUVN2UVN2UVNuUVJmX19UUVN3U1FUb1FUb1FUbFFUal9fVDVmbXRJZlZRT2xu VGJUUEZOYU5iTmlOZlpRUGRUU1FWaFFWaFFVelFUcl9fVFFWaVNRS2tRS2k3YnJvd3NlcjdCcm93 c2VyNnVwZGF0ZU1GWl9fVDE3X19sYW1iZGFfTDExODVfQzRUUVNlVFNRWWlRWWlRWWZRWWRfX1RR WHlUU1FaY1FaY1FZdVFYbV9fVFFaZFNRWnZRWnZRWm5RWGRfX1RRTGRUUUt6VFNRQkF0UUJBdVFC QW5RWmdfX1RRQkF4U1FCQnFRQkJyUUJCcFFCQm9fX1RRSWdWUVdvblRiVFNRQkN2UUJDd1FCQ3BR QkJpX19UUUJEYVNRQkR0UUJEdVFCRG5RQkNnX19UUU5vVFNRQkVyUUJFc1FCRXFRQkVwX19UUUJF bFRTUUJGcVFCRnJRQkZrUUJFZF9fVFFCRnZTUUJHb1FCR3BRQkdpUUJEel9fVFFCRHFUU1FCSG5R QkhvUUJIaFFCR2FfX1RRQkhzU1FCSWxRQkltUUJJa1FCSWpfX1RRQkR6VlFCRGthMl8yNTczVmlp MjUwVFNRQktjUUJLZFFCS2JRQkthX19UUUJKd1RTUUJMYlFCTGNRQkt2UUJKb19fVFFCTGdTUUJB alFCQWlRQkFqUUJBZ1FCQWRfX1RRQkFjVFFCSGNUU1FCTmhRQk5pUUJOZ1FCTmZfX1RRQk5iVFNR Qk9nUUJPaFFCT2FRQk10X19UUUJPbFNRQkRvUUJEblFCRG9RQkRsUUJEaV9fVFFCRGhUUUJLaFpR QkRyTUZFUUJGY1FCRmJRQkZjUUJFelFCRXc5QXR0cmlidXRlYktRQkx6WjE5X19sYW1iZGFfTDUw M19DMjBfMVRQU1FCSGxRQkhrUUJIbFFCSGlRQkhmVFFEZlRiVFNRQlVkUUJVZVFCVWNRQlViX19U UUJUeFRTUUJWY1FCVmRRQlV3UUJUcF9fVFFCVmhTUUJXYVFCV2JRQlZ1UUJUbF9fVFFCVGNUUUJU Y1ozZnVuVFFCVG1aUUJQeVpRQld0RlFDd1oxM1N0cmluZ2lmaWFibGVaUUJSY1pRQlh4RlFLd1pR QmVUUUJUa1pRQk11TUZRSmRiUUJUelFNd1FCVWdaMTdfX2xhbWJkYV9MNTAzX0MyMFRRSWZUUUty VGJUU1FDQnBRQ0JxUUNCb1FDQm5fX1RRQ0JqVFNRQ0NvUUNDcFFDQ2lRQ0JiX19UUUNDdFNRQ0Rt UUNEblFDRGdRQ0F4X19UUUNBb1RRQ0FvVFNRQ0VxUUNFclFDRWtRQ0RkX19UUUNFdlNRQ0ZvUUNG cFFDRm5RQ0ZtX19UUUNCY1ZRQ0FuYTJfMjU3M1ZpaTI1MFRRVHlaMTdfX2xhbWJkYV9MNDBfQzNf MVRRVXdaUUNBclRRQ0VwWlFMblRRQ0V5VFFFa1RRQ0ZoWlFDQnRaUUNJb0ZRSGZaUUx2WlFDQ2xa UUNKZ0ZRWmtaUU1uWjE3X19sYW1iZGFfTDQwX0MzXzNUUUJCbFpRQ0VjVFFDSWFUUUJFcFpRUGRU UUJFeVRRQ0l0VFFCRmlaUUNGa1pRQ01mRlFCSHVaUVBuWlFCV3VGUUJKaFoxOV9fbGFtYmRhX0wx NDNfQzU3XzFUUUJLaVpRQ0hvVFNRQ1BqUUNQa1FDUGRRQ053X19UUUNQb1NRQ1FoUUNRaVFDUWJR Q091X19UUUNBY1RRQkhlWlFDQW1GUUJIb1oxOV9fbGFtYmRhX0wxNDNfQzU3XzJUUUJJcFpRQ0xn WlFCWXhGTmliUUJRb1FFZVpRV25UUUJSYVpRQ01rVFNRQ1VmUUNVZ1FDVHpRQ1NzX19UUUNVa1NR Q1ZkUUNWZVFDVmNRQ1ZiX19UUUNCdFZRQ1FjblRiVFFCVHBUUUhnWlFDQ3BGTmliUUJVZ1FId1pR QkFmVFFJZlpRQ1FjWlFCQXRUUUNJbVRRQlhvVFFFaFpRQ1JhWlFDWHZGUUJaeVpRQkJkWlFDQ2FN RlFDVHFRQ0JtYlNRQ09qUUNPaVFDRWJRQ0R4MTNTY3JvbGxDb250ZXh0UFNRQ1BxNXBhdGhzMTFC cm93c2VyUGF0aFoyMF9fbGFtYmRhX0wxMTk1X0M3Nl8xVFFCeFpRQ1ZxWlFDSmhGTmliUUNKYlFD SXFaUUJHeVRRQ0pwWlFDV3dUU1FERXJRREVzUURFbFFERGVfX1RRREV3U1FERnBRREZxUURGb1FE Rm5fX1RRQ01mVlFEQW9uVGJUUUNNZVRRQ0x1WlFDTmNGTmliUUNNd1FDTWxaUUJLdFRRQ012WlFE QXJaUUJMaVRRQ1RiVFFDUWJUUUVrWlFEQnBaUURJa0ZRQ1ZxWlFCTHNaUUNYZU1GUUJUbmJRQ1hm WjE5X19sYW1iZGFfTDUwM19DMjBfMlRRQlNsVFFCVXlUYlRTUURMeFFETHlRREx3UURMdl9fVFFE THJUU1FETXdRRE14UURNcVFETGpfX1RRRE5iU1FETnVRRE52UUROb1FETGZfX1RRREt3VFNRRE90 UURPdVFET25RRE5nX19UUURPeVNRRFByUURQc1FEUHFRRFBwX19UUURMZlZRREtxYTJfMjU3M1Zp aTI1MFRRREVkWjE3X19sYW1iZGFfTDQwX0MzXzdUUURGY1pRREt3WlFCVm5UUUVkWlFETGtaUURT ZkZRR29aUUJWbVpRRE1kWlFEU3lGUURKZ1pRQldnWjE3X19sYW1iZGFfTDQwX0MzXzhUUURMZVpR RE53WlFCWW5UUURSelRRRE9jWlFET3FaUURWbEZRRFZhWlFCWXRaUURZYkZLUURYcU14QWFRRFhv WmsKKytfRDNzdGQ2Zm9ybWF0NXdyaXRlX19UMTRmb3JtYXR0ZWRXcml0ZVRERkF4YVp2VGFUUzJh ZTV1dGlsczR0ZXh0N2Z1bmN0b3JfX1QxM3N0cmluZ2lmaWFibGVUU1FCcVFCcVFCaTEwcHJpbWl0 aXZlc19fVFFDYVNRQ3NRQ3NRQ2sxMWNvbXBvc2l0aW9uX19UM3NlcVRTUUR4UUR4UURwUUNoX19U UUR5U1FFcVFFcVFFblFFbF9fVDE3Zm9ybWF0dGluZ0Z1bmN0b3JWQXlhYTJfMjU3M1ZpaTI1MFRR cloxNV9fbGFtYmRhX0w0MF9DM1RRQm1aN0Z1bmN0b3JUU1FIelFIelFIclFHal9fVFFJYVNRSXNR SXNRSXBRSW5fX1RRRWNWUURtYTJfMjU3M1ZpaTI1MFRTUUtkUUtkUUthUUp5X19UUUp0VFNRS3hR S3hRS3BRSmhfX1RRS3lTNGJ0ZHUydWk2Y3Vyc2VzNkN1cnNlczRXYW5kX19UOHdpdGhBdHRyVFNR TmZRTmZRTmNRTmFfX1RRTXZUU1FOelFOelFOclFNal9fVFFPYVNRT3NRT3NRT2tRTWFfX1Q2c2Vs ZWN0VFNRUHFRUHFRUGlRT2FfX1RRUHJTUVFqUVFqUVFiUU90X19UMTJ2YWx1ZUZ1bmN0b3JUYlpR ckZiWjE3X19sYW1iZGFfTDE0M19DNTdUYlpRTGJUU1FTdlFTdlFTblFSZl9fVFFTd1NRVG9RVG9R VGxRVGpfX1Q1Zm10SWZWUU9sblRiVFBGTmFOYk5pTmZaUVBkVFNRVmhRVmhRVXpRVHJfX1RRVmlT UUtrUUtpN2Jyb3dzZXI3QnJvd3NlcjZ1cGRhdGVNRlpfX1QxN19fbGFtYmRhX0wxMTg1X0M0VFFT ZVRTUVlpUVlpUVlmUVlkX19UUVh5VFNRWmNRWmNRWXVRWG1fX1RRWmRTUVp2UVp2UVpuUVhkX19U UUxkVFFLelRTUUJBdFFCQXVRQkFuUVpnX19UUUJBeFNRQkJxUUJCclFCQnBRQkJvX19UUUlnVlFX b25UYlRTUUJDdlFCQ3dRQkNwUUJCaV9fVFFCRGFTUUJEdFFCRHVRQkRuUUJDZ19fVFFOb1RTUUJF clFCRXNRQkVxUUJFcF9fVFFCRWxUU1FCRnFRQkZyUUJGa1FCRWRfX1RRQkZ2U1FCR29RQkdwUUJH aVFCRHpfX1RRQkRxVFNRQkhuUUJIb1FCSGhRQkdhX19UUUJIc1NRQklsUUJJbVFCSWtRQklqX19U UUJEelZRQkRrYTJfMjU3M1ZpaTI1MFRTUUJLY1FCS2RRQktiUUJLYV9fVFFCSndUU1FCTGJRQkxj UUJLdlFCSm9fX1RRQkxnU1FCQWpRQkFpUUJBalFCQWdRQkFkX19UUUJBY1RRQkhjVFNRQk5oUUJO aVFCTmdRQk5mX19UUUJOYlRTUUJPZ1FCT2hRQk9hUUJNdF9fVFFCT2xTUUJEb1FCRG5RQkRvUUJE bFFCRGlfX1RRQkRoVFFCS2haUUJEck1GRVFCRmNRQkZiUUJGY1FCRXpRQkV3OUF0dHJpYnV0ZWJL UUJMeloxOV9fbGFtYmRhX0w1MDNfQzIwXzFUUFNRQkhsUUJIa1FCSGxRQkhpUUJIZlRRRGZUYlRT UUJVZFFCVWVRQlVjUUJVYl9fVFFCVHhUU1FCVmNRQlZkUUJVd1FCVHBfX1RRQlZoU1FCV2FRQldi UUJWdVFCVGxfX1RRQlRjVFFCVGNaM2Z1blRRQlRtWlFCUHlaUUJXdEZRQ3daMTNTdHJpbmdpZmlh YmxlWlFCUmNaUUJYeEZRS3daUUJlVFFCVGtaUUJNdU1GUUpkYlFCVHpRTXdRQlVnWjE3X19sYW1i ZGFfTDUwM19DMjBUUUlmVFFLclRiVFNRQ0JwUUNCcVFDQm9RQ0JuX19UUUNCalRTUUNDb1FDQ3BR Q0NpUUNCYl9fVFFDQ3RTUUNEbVFDRG5RQ0RnUUNBeF9fVFFDQW9UUUNBb1RTUUNFcVFDRXJRQ0Vr UUNEZF9fVFFDRXZTUUNGb1FDRnBRQ0ZuUUNGbV9fVFFDQmNWUUNBbmEyXzI1NzNWaWkyNTBUUVR5 WjE3X19sYW1iZGFfTDQwX0MzXzFUUVV3WlFDQXJUUUNFcFpRTG5UUUNFeVRRRWtUUUNGaFpRQ0J0 WlFDSW9GUUhmWlFMdlpRQ0NsWlFDSmdGUVprWlFNbloxN19fbGFtYmRhX0w0MF9DM18zVFFCQmxa UUNFY1RRQ0lhVFFCRXBaUVBkVFFCRXlUUUNJdFRRQkZpWlFDRmtaUUNNZkZRQkh1WlFQblpRQld1 RlFCSmhaMTlfX2xhbWJkYV9MMTQzX0M1N18xVFFCS2laUUNIb1RTUUNQalFDUGtRQ1BkUUNOd19f VFFDUG9TUUNRaFFDUWlRQ1FiUUNPdV9fVFFDQWNUUUJIZVpRQ0FtRlFCSG9aMTlfX2xhbWJkYV9M MTQzX0M1N18yVFFCSXBaUUNMZ1pRQll4Rk5pYlFCUW9RRWVaUVduVFFCUmFaUUNNa1RTUUNVZlFD VWdRQ1R6UUNTc19fVFFDVWtTUUNWZFFDVmVRQ1ZjUUNWYl9fVFFDQnRWUUNRY25UYlRRQlRwVFFI Z1pRQ0NwRk5pYlFCVWdRSHdaUUJBZlRRSWZaUUNRY1pRQkF0VFFDSW1UUUJYb1RRRWhaUUNSYVpR Q1h2RlFCWnlaUUJCZFpRQ0NhTUZRQ1RxUUNCbWJTUUNPalFDT2lRQ0ViUUNEeDEzU2Nyb2xsQ29u dGV4dFBTUUNQcTVwYXRoczExQnJvd3NlclBhdGhaMjBfX2xhbWJkYV9MMTE5NV9DNzZfMVRRQnha UUNWcVpRQ0poRk5pYlFDSmJRQ0lxWlFCR3lUUUNKcFpRQ1d3VFNRREVyUURFc1FERWxRRERlX19U UURFd1NRREZwUURGcVFERm9RREZuX19UUUNNZlZRREFvblRiVFFDTWVUUUNMdVpRQ05jRk5pYlFD TXdRQ01sWlFCS3RUUUNNdlpRREFyWlFCTGlUUUNUYlRRQ1FiVFFFa1pRREJwWlFESWtGUUNWcVpR QkxzWlFDWGVNRlFCVG5iUUNYZloxOV9fbGFtYmRhX0w1MDNfQzIwXzJUUUJTbFRRQlV5VGJUU1FE THhRREx5UURMd1FETHZfX1RRRExyVFNRRE13UURNeFFETXFRRExqX19UUUROYlNRRE51UUROdlFE Tm9RRExmX19UUURLd1RTUURPdFFET3VRRE9uUUROZ19fVFFET3lTUURQclFEUHNRRFBxUURQcF9f VFFETGZWUURLcWEyXzI1NzNWaWkyNTBUUURFZFoxN19fbGFtYmRhX0w0MF9DM183VFFERmNaUURL d1pRQlZuVFFFZFpRRExrWlFEU2ZGUUdvWlFCVm1aUURNZFpRRFN5RlFESmdaUUJXZ1oxN19fbGFt YmRhX0w0MF9DM184VFFETGVaUUROd1pRQlluVFFEUnpUUURPY1pRRE9xWlFEVmxGUURWYVpRQll0 WlFEWWJGS1FEWHFNeEFhUURYb1prCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwpp bmRleCBmZjc1NGY2Li5kNTdkNjMxIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3Bl YwpAQCAtOTI5LDYgKzkyOSwxMSBAQCBmaQogCiAlY2hhbmdlbG9nCiAqIFdlZCBKdWwgOCAyMDI2 IEFuZHJldyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPgorLSBCYWNrcG9ydCB1cHN0cmVh bSBjb21taXQgYmUzYTk0MDVjZWI0ZDZkNiB0byBmaXggYW5kIGlzc3VlIHdpdGggdGhlCisgIEQg ZGVtYW5nbGVyIChSSEJaIDIzNjgzNTApLiAgVGhpcyBjb21taXQgd2lsbCBkcm9wIG91dCB3aGVu IHdlCisgIHJlYmFzZSB0byBHREIgMTguCisKKyogV2VkIEp1bCA4IDIwMjYgQW5kcmV3IEJ1cmdl c3MgPGFidXJnZXNzQHJlZGhhdC5jb20+CiAtIEFkanVzdCBjb21taXQgbWVzc2FnZSBpbiBnZGIt YmFja3BvcnQtZGFwLWNvcmUtZmlsZS1zdXBwb3J0LnBhdGNoIHRvCiAgIHJlbW92ZSAnLS0tJyBz dHJpbmcgd2hpY2ggY29uZnVzZXMgZ2l0LgogCg==