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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: - Rebase to FSF GDB 7.2.50.20110218 (which is a 7.3 pre-release). Date: Sat, 27 Jun 2026 23:55:02 GMT Message-ID: <178260450286.1.2930517074686838881.rpms-gdb-3080c0e54fa4@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 3080c0e54fa42b34135636f9f092851096b277a0 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogMzA4MGMwZTU0ZmE0MmIzNDEzNTYzNmY5ZjA5Mjg1MTA5NmIy NzdhMAogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wMi0xOFQxMToyNTozNCswMTow MAogICAgICAgICAgICBTdGF0cyAgOiArMjQ2Ly01MTQgaW4gOCBmaWxlKHMpCiAgICAgICAgICAg IFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvMzA4MGMw ZTU0ZmE0MmIzNDEzNTYzNmY5ZjA5Mjg1MTA5NmIyNzdhMD9icmFuY2g9Z2RiLTE3LjItcmViYXNl LWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICAtIFJlYmFzZSB0byBGU0YgR0RCIDcu Mi41MC4yMDExMDIxOCAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgotIFt2bGFdIEZveCBG b3J0cmFuIHZlY3RvciBzbGljZXMgZm9yIGFsbG9jYXRlZCBhcnJheXMgKGZvciBCWiA2MDk3ODIp LgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCAzNjZmYzZh Li4zNTViY2U0IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEs MiArMSwyIEBACiAvbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLS9nZGItNy4y LjUwLjIwMTEwMjEzLnRhci5iejIKKy9nZGItNy4yLjUwLjIwMTEwMjE4LnRhci5iejIKCmRpZmYg LS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoIGIvZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAppbmRleCBlNGE1NzY3Li5iOWQxMTM0 IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoCisr KyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKQEAgLTU4LDEzICs1 OCwxMyBAQCBIdHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wMS9tc2cw MDUxNy5odG1sCiAJKiBleGVjLmMgKGV4ZWNfZmlsZV9hdHRhY2gpOiBQcmludCBhIG1vcmUgdXNl ZnVsIGVycm9yIG1lc3NhZ2UgaWYgdGhlCiAJdXNlciBkaWQgImdkYiBjb3JlIi4KIAotSW5kZXg6 IGdkYi03LjIuNTAuMjAxMTAxMDcvZ2RiL2V4Y2VwdGlvbnMuaAorSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAyMTgvZ2RiL2V4Y2VwdGlvbnMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAx MTAxMDcub3JpZy9nZGIvZXhjZXB0aW9ucy5oCTIwMTEtMDEtMDUgMjM6MjI6NDguMDAwMDAwMDAw ICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDExMDEwNy9nZGIvZXhjZXB0aW9ucy5oCTIwMTEtMDEt MDcgMDk6MDk6MTguMDAwMDAwMDAwICswMTAwCi1AQCAtNzgsNiArNzgsOSBAQCBlbnVtIGVycm9y cyB7Ci0gICAvKiBGZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBjb3B5IG9mIEdEQi4g ICovCi0gICBVTlNVUFBPUlRFRF9FUlJPUiwKKy0tLSBnZGItNy4yLjUwLjIwMTEwMjE4Lm9yaWcv Z2RiL2V4Y2VwdGlvbnMuaAkyMDExLTAyLTE0IDEyOjM1OjQ0LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjIuNTAuMjAxMTAyMTgvZ2RiL2V4Y2VwdGlvbnMuaAkyMDExLTAyLTE4IDEwOjQ1OjMx LjAwMDAwMDAwMCArMDEwMAorQEAgLTg1LDYgKzg1LDkgQEAgZW51bSBlcnJvcnMgeworICAgICAg dHJhY2VmcmFtZS4gICovCisgICBOT1RfQVZBSUxBQkxFX0VSUk9SLAogIAogKyAgLyogQXR0ZW1w dCB0byBsb2FkIGEgY29yZSBmaWxlIGFzIGV4ZWN1dGFibGUuICAqLwogKyAgSVNfQ09SRV9FUlJP UiwKQEAgLTcyLDEwICs3MiwxMCBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDEwNy9nZGIvZXhj ZXB0aW9ucy5oCiAgICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVyZS4gICovCiAgICBOUl9FUlJPUlMK ICB9OwotSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMDcvZ2RiL2V4ZWMuYworSW5kZXg6IGdkYi03 LjIuNTAuMjAxMTAyMTgvZ2RiL2V4ZWMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAx MTAxMDcub3JpZy9nZGIvZXhlYy5jCTIwMTEtMDEtMDUgMjM6MjI6NDguMDAwMDAwMDAwICswMTAw Ci0rKysgZ2RiLTcuMi41MC4yMDExMDEwNy9nZGIvZXhlYy5jCTIwMTEtMDEtMDcgMDk6MDk6MTgu MDAwMDAwMDAwICswMTAwCistLS0gZ2RiLTcuMi41MC4yMDExMDIxOC5vcmlnL2dkYi9leGVjLmMJ MjAxMS0wMi0xNCAyMzowODo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjUwLjIwMTEw MjE4L2dkYi9leGVjLmMJMjAxMS0wMi0xOCAxMDo0NToxNi4wMDAwMDAwMDAgKzAxMDAKIEBAIC0z NCw2ICszNCw3IEBACiAgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKICAjaW5jbHVkZSAiZ2RidGhy ZWFkLmgiCkBAIC0xMTUsMTAgKzExNSwxMCBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDEwNy9n ZGIvZXhlYy5jCiAgCX0KICAKICAgICAgICAvKiBGSVhNRSAtIFRoaXMgc2hvdWxkIG9ubHkgYmUg cnVuIGZvciBSUzYwMDAsIGJ1dCB0aGUgaWZkZWYgaXMgYSBwb29yCi1JbmRleDogZ2RiLTcuMi41 MC4yMDExMDEwNy9nZGIvbWFpbi5jCitJbmRleDogZ2RiLTcuMi41MC4yMDExMDIxOC9nZGIvbWFp bi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi41MC4yMDExMDEwNy5vcmlnL2dkYi9tYWluLmMJ MjAxMS0wMS0wNyAwOTowNTowMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjUwLjIwMTEw MTA3L2dkYi9tYWluLmMJMjAxMS0wMS0wNyAwOToxMDoxNC4wMDAwMDAwMDAgKzAxMDAKKy0tLSBn ZGItNy4yLjUwLjIwMTEwMjE4Lm9yaWcvZ2RiL21haW4uYwkyMDExLTAyLTE4IDEwOjQ0OjE3LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuNTAuMjAxMTAyMTgvZ2RiL21haW4uYwkyMDExLTAy LTE4IDEwOjQ1OjE2LjAwMDAwMDAwMCArMDEwMAogQEAgLTI0Myw2ICsyNDMsMzYgQEAgY2FwdHVy ZWRfY29tbWFuZF9sb29wICh2b2lkICpkYXRhKQogICAgcmV0dXJuIDE7CiAgfQpAQCAtMTU2LDcg KzE1Niw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTA3L2dkYi9tYWluLmMKICBzdGF0aWMg aW50CiAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICB7Ci1AQCAtNzI2LDYgKzc1Niw4IEBA IGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAtNzI3LDYgKzc1Nyw4IEBAIGNhcHR1cmVk X21haW4gKHZvaWQgKmRhdGEpCiAgCXsKICAJICBzeW1hcmcgPSBhcmd2W29wdGluZF07CiAgCSAg ZXhlY2FyZyA9IGFyZ3Zbb3B0aW5kXTsKQEAgLTE2NSw3ICsxNjUsNyBAQCBJbmRleDogZ2RiLTcu Mi41MC4yMDExMDEwNy9nZGIvbWFpbi5jCiAgCSAgb3B0aW5kKys7CiAgCX0KICAKLUBAIC04Njcs MTEgKzg5OSwyNSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQorQEAgLTg2OCwxMSArOTAw LDI1IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgICAgICAgJiYgc3ltYXJnICE9IE5V TEwKICAgICAgICAmJiBzdHJjbXAgKGV4ZWNhcmcsIHN5bWFyZykgPT0gMCkKICAgICAgewoKZGlm ZiAtLWdpdCBhL2dkYi1hcmNoZXIucGF0Y2ggYi9nZGItYXJjaGVyLnBhdGNoCmluZGV4IGM3YjYz Y2QuLjJiNDQ2MGYgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXIucGF0Y2gKKysrIGIvZ2RiLWFyY2hl ci5wYXRjaApAQCAtMiw3ICsyLDcgQEAgaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL1By b2plY3RBcmNoZXIKIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9nZGIvd2lraS9BcmNoZXJCcmFuY2hN YW5hZ2VtZW50CiAKIEdJVCBzbmFwc2hvdDoKLWNvbW1pdCA3ZjBmNmFiZDljMTllMTQxMGU2NmVi YmUxMGUzZGRlYTFlY2FjOGQzCitjb21taXQgMjcxYjE0MjUzZjEwZWVhOGM2MGEzMjdjNjNkYmU3 MzJhMmFmNTExYQogCiBicmFuY2ggYGFyY2hlcicgLSB0aGUgbWVyZ2Ugb2YgYnJhbmNoZXM6CiBh cmNoZXItamFua3JhdG9jaHZpbC12bGEKQEAgLTE0LDcgKzE0LDcgQEAgYXJjaGVyLXRyb21leS1w eXRob24KIAogCiBkaWZmIC0tZ2l0IGEvZ2RiL01ha2VmaWxlLmluIGIvZ2RiL01ha2VmaWxlLmlu Ci1pbmRleCA1ZjkxZTM1Li4wYTIzNzIwIDEwMDY0NAoraW5kZXggYzYwNDlmYS4uNGExNzk3NiAx MDA2NDQKIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxlLmluCiBAQCAt ODEzLDcgKzgxMyw4IEBAIGFubm90YXRlLmggc2ltLXJlZ25vLmggZGljdGlvbmFyeS5oIGRmcC5o IG1haW4uaCBmcmFtZS11bndpbmQuaAlcCkBAIC00MSwxMCArNDEsMTAgQEAgaW5kZXggNWY5MWUz NS4uMGEyMzcyMCAxMDA2NDQKICAJJChTSEVMTCkgY29uZmlnLnN0YXR1cyAtLXJlY2hlY2sKICAK IGRpZmYgLS1naXQgYS9nZGIvYWRhLWxhbmcuYyBiL2dkYi9hZGEtbGFuZy5jCi1pbmRleCA4OTBl MDkxLi5kMWUxZjhmIDEwMDY0NAoraW5kZXggNDY3ZTRkZi4uNTU1OTE0YyAxMDA2NDQKIC0tLSBh L2dkYi9hZGEtbGFuZy5jCiArKysgYi9nZGIvYWRhLWxhbmcuYwotQEAgLTExMzcyLDYgKzExMzcy LDcgQEAgYWRhX29wZXJhdG9yX2xlbmd0aCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKmV4cCwg aW50IHBjLCBpbnQgKm9wbGVucCwKK0BAIC0xMTM4OSw2ICsxMTM4OSw3IEBAIGFkYV9vcGVyYXRv cl9sZW5ndGggKGNvbnN0IHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwYywgaW50ICpvcGxl bnAsCiAgCiAgc3RhdGljIGludAogIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Np b24gKmV4cCwgaW50IHBvcywKQEAgLTUyLDcgKzUyLDcgQEAgaW5kZXggODkwZTA5MS4uZDFlMWY4 ZiAxMDA2NDQKICAJCSAgICBpbnQgKCpvYmpmaWxlX2Z1bmMpIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwgdm9pZCAqZGF0YSksCiAgCQkgICAgdm9pZCAqZGF0YSkKICB7Ci1AQCAtMTEzODYsMTIg KzExMzg3LDE1IEBAIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwg aW50IHBvcywKK0BAIC0xMTQwMywxMiArMTE0MDQsMTUgQEAgYWRhX29wZXJhdG9yX2NoZWNrIChz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLAogIAlicmVhazsKICAKICAgICAgICBkZWZh dWx0OgpAQCAtMzkyLDcgKzM5Miw3IEBAIGluZGV4IGI5YWFmNTQuLmUxZjMyNDIgMTAwNjQ0CiAg CiAgLyogUmV0dXJuIHRoZSBpbm5lcm1vc3Qgc3RhY2sgZnJhbWUgZXhlY3V0aW5nIGluc2lkZSBv ZiBCTE9DSywgb3IgTlVMTAogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJl YWtwb2ludC5jCi1pbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAoraW5kZXggY2E1NmM0My4u NmYyNjliOSAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3Bv aW50LmMKIEBAIC02Miw2ICs2Miw3IEBACkBAIC01MzAsNyArNTMwLDcgQEAgaW5kZXggMzlkOWIw Mi4uZDVhYjcwYiAxMDA2NDQKICAgICAgICBpZiAoc29tZV9mYWlsZWQpCiAgCXsKICAJICBmb3Ig KGxvYyA9IGJwdC0+bG9jOyBsb2M7IGxvYyA9IGxvYy0+bmV4dCkKLUBAIC0zNTAxLDYgKzM1MzUs OCBAQCBwcmludF9pdF90eXBpY2FsIChicHN0YXQgYnMpCitAQCAtMzYzNSw2ICszNjY5LDggQEAg cHJpbnRfaXRfdHlwaWNhbCAoYnBzdGF0IGJzKQogICAgICBjYXNlIGJwX3RyYWNlcG9pbnQ6CiAg ICAgIGNhc2UgYnBfZmFzdF90cmFjZXBvaW50OgogICAgICBjYXNlIGJwX2ppdF9ldmVudDoKQEAg LTUzOSw3ICs1MzksNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogICAgICBkZWZh dWx0OgogICAgICAgIHJlc3VsdCA9IFBSSU5UX1VOS05PV047CiAgICAgICAgYnJlYWs7Ci1AQCAt MzcyMiw2ICszNzU4LDggQEAgd2F0Y2hwb2ludF9jaGVjayAodm9pZCAqcCkKK0BAIC0zODU2LDYg KzM4OTIsOCBAQCB3YXRjaHBvaW50X2NoZWNrICh2b2lkICpwKQogICAgZ2RiX2Fzc2VydCAoYnMt PmJyZWFrcG9pbnRfYXQgIT0gTlVMTCk7CiAgICBiID0gYnMtPmJyZWFrcG9pbnRfYXQ7CiAgCkBA IC01NDgsNyArNTQ4LDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAgIC8qIElm IHRoaXMgaXMgYSBsb2NhbCB3YXRjaHBvaW50LCB3ZSBvbmx5IHdhbnQgdG8gY2hlY2sgaWYgdGhl CiAgICAgICB3YXRjaHBvaW50IGZyYW1lIGlzIGluIHNjb3BlIGlmIHRoZSBjdXJyZW50IHRocmVh ZCBpcyB0aGUgdGhyZWFkCiAgICAgICB0aGF0IHdhcyB1c2VkIHRvIGNyZWF0ZSB0aGUgd2F0Y2hw b2ludC4gICovCi1AQCAtMzgzMSwxMyArMzg2OSw3IEBAIHdhdGNocG9pbnRfY2hlY2sgKHZvaWQg KnApCitAQCAtMzk2NSwxMyArNDAwMyw3IEBAIHdhdGNocG9pbnRfY2hlY2sgKHZvaWQgKnApCiAg CQkgICAiIGRlbGV0ZWQgYmVjYXVzZSB0aGUgcHJvZ3JhbSBoYXMgbGVmdCB0aGUgYmxvY2sgaW5c blwKICB3aGljaCBpdHMgZXhwcmVzc2lvbiBpcyB2YWxpZC5cbiIpOyAgICAgCiAgCkBAIC01NjMs NyArNTYzLDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAgICAgICByZXR1 cm4gV1BfREVMRVRFRDsKICAgICAgfQotQEAgLTQwNDIsOSArNDA3NCw3IEBAIGJwc3RhdF9jaGVj a193YXRjaHBvaW50IChicHN0YXQgYnMpCitAQCAtNDE3Niw5ICs0MjA4LDcgQEAgYnBzdGF0X2No ZWNrX3dhdGNocG9pbnQgKGJwc3RhdCBicykKICAJICAgIGNhc2UgMDoKICAJICAgICAgLyogRXJy b3IgZnJvbSBjYXRjaF9lcnJvcnMuICAqLwogIAkgICAgICBwcmludGZfZmlsdGVyZWQgKF8oIldh dGNocG9pbnQgJWQgZGVsZXRlZC5cbiIpLCBiLT5udW1iZXIpOwpAQCAtNTc0LDcgKzU3NCw3IEBA IGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCSAgICAgIC8qIFdlJ3ZlIGFscmVhZHkg cHJpbnRlZCB3aGF0IG5lZWRzIHRvIGJlIHByaW50ZWQuICAqLwogIAkgICAgICBicy0+cHJpbnRf aXQgPSBwcmludF9pdF9kb25lOwogIAkgICAgICBicmVhazsKLUBAIC00MjUwLDcgKzQyODAsNyBA QCBicHN0YXRfc3RvcF9zdGF0dXMgKHN0cnVjdCBhZGRyZXNzX3NwYWNlICphc3BhY2UsCitAQCAt NDM4NCw3ICs0NDE0LDcgQEAgYnBzdGF0X3N0b3Bfc3RhdHVzIChzdHJ1Y3QgYWRkcmVzc19zcGFj ZSAqYXNwYWNlLAogIAkgICAgIHdhdGNocG9pbnQgYXMgdHJpZ2dlcmVkIHNvIHRoYXQgd2Ugd2ls bCBoYW5kbGUgdGhlCiAgCSAgICAgb3V0LW9mLXNjb3BlIGV2ZW50LiAgV2UnbGwgZ2V0IHRvIHRo ZSB3YXRjaHBvaW50IG5leHQKICAJICAgICBpdGVyYXRpb24uICAqLwpAQCAtNTgzLDcgKzU4Myw3 IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCSAgICBiLT5yZWxhdGVkX2JyZWFr cG9pbnQtPndhdGNocG9pbnRfdHJpZ2dlcmVkID0gd2F0Y2hfdHJpZ2dlcmVkX3llczsKICAJfQog ICAgICB9Ci1AQCAtNDM3Miw3ICs0NDAyLDcgQEAgaGFuZGxlX2ppdF9ldmVudCAodm9pZCkKK0BA IC00NTA2LDcgKzQ1MzYsNyBAQCBoYW5kbGVfaml0X2V2ZW50ICh2b2lkKQogIC8qIERlY2lkZSB3 aGF0IGluZnJ1biBuZWVkcyB0byBkbyB3aXRoIHRoaXMgYnBzdGF0LiAgKi8KICAKICBzdHJ1Y3Qg YnBzdGF0X3doYXQKQEAgLTU5Miw3ICs1OTIsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEw MDY0NAogIHsKICAgIHN0cnVjdCBicHN0YXRfd2hhdCByZXR2YWw7CiAgICAvKiBXZSBuZWVkIHRv IGRlZmVyIGNhbGxpbmcgYHNvbGliX2FkZCcsIGFzIGFkZGluZyBuZXcgc3ltYm9scwotQEAgLTQz ODAsMTIgKzQ0MTAsMTMgQEAgYnBzdGF0X3doYXQgKGJwc3RhdCBicykKK0BAIC00NTE0LDEyICs0 NTQ0LDEzIEBAIGJwc3RhdF93aGF0IChicHN0YXQgYnMpCiAgICAgICBhbmQgaGVuY2UgbWF5IGNs ZWFyIHVucHJvY2Vzc2VkIGVudHJpZXMgaW4gdGhlIEJTIGNoYWluLiAgKi8KICAgIGludCBzaGxp Yl9ldmVudCA9IDA7CiAgICBpbnQgaml0X2V2ZW50ID0gMDsKQEAgLTYwNyw3ICs2MDcsNyBAQCBp bmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogICAgICB7CiAgICAgICAgLyogRXh0cmFjdCB0 aGlzIEJTJ3MgYWN0aW9uLiAgQWZ0ZXIgcHJvY2Vzc2luZyBlYWNoIEJTLCB3ZSBjaGVjawogIAkg aWYgaXRzIGFjdGlvbiBvdmVycmlkZXMgYWxsIHdlJ3ZlIHNlZW0gc28gZmFyLiAgKi8KLUBAIC00 NTE1LDYgKzQ1NDYsMjAgQEAgYnBzdGF0X3doYXQgKGJwc3RhdCBicykKK0BAIC00NjQ5LDYgKzQ2 ODAsMjAgQEAgYnBzdGF0X3doYXQgKGJwc3RhdCBicykKICAJICAgICBvdXQgYWxyZWFkeS4gICov CiAgCSAgaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKICAJCQkgIF8oImJwc3Rh dF93aGF0OiB0cmFjZXBvaW50IGVuY291bnRlcmVkIikpOwpAQCAtNjI4LDcgKzYyOCw3IEBAIGlu ZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCWRlZmF1bHQ6CiAgCSAgaW50ZXJuYWxfZXJy b3IgKF9fRklMRV9fLCBfX0xJTkVfXywKICAJCQkgIF8oImJwc3RhdF93aGF0OiB1bmhhbmRsZWQg YnB0eXBlICVkIiksIChpbnQpIGJwdHlwZSk7Ci1AQCAtNDU1Miw2ICs0NTk3LDIxIEBAIGJwc3Rh dF93aGF0IChicHN0YXQgYnMpCitAQCAtNDY4Niw2ICs0NzMxLDIxIEBAIGJwc3RhdF93aGF0IChi cHN0YXQgYnMpCiAgICAgICAgaGFuZGxlX2ppdF9ldmVudCAoKTsKICAgICAgfQogIApAQCAtNjUw LDcgKzY1MCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgICByZXR1cm4gcmV0 dmFsOwogIH0KICAKLUBAIC00NjczLDYgKzQ3MzMsOCBAQCBicHR5cGVfc3RyaW5nIChlbnVtIGJw dHlwZSB0eXBlKQorQEAgLTQ4MDcsNiArNDg2Nyw4IEBAIGJwdHlwZV9zdHJpbmcgKGVudW0gYnB0 eXBlIHR5cGUpCiAgICAgIHticF9mYXN0X3RyYWNlcG9pbnQsICJmYXN0IHRyYWNlcG9pbnQifSwK ICAgICAge2JwX3N0YXRpY190cmFjZXBvaW50LCAic3RhdGljIHRyYWNlcG9pbnQifSwKICAgICAg e2JwX2ppdF9ldmVudCwgImppdCBldmVudHMifSwKQEAgLTY1OSw3ICs2NTksNyBAQCBpbmRleCAz OWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogICAgfTsKICAKICAgIGlmICgoKGludCkgdHlwZSA+PSAo c2l6ZW9mIChicHR5cGVzKSAvIHNpemVvZiAoYnB0eXBlc1swXSkpKQotQEAgLTQ4MjAsNiArNDg4 Miw4IEBAIHByaW50X29uZV9icmVha3BvaW50X2xvY2F0aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAq YiwKK0BAIC00OTU0LDYgKzUwMTYsOCBAQCBwcmludF9vbmVfYnJlYWtwb2ludF9sb2NhdGlvbiAo c3RydWN0IGJyZWFrcG9pbnQgKmIsCiAgICAgICAgY2FzZSBicF9mYXN0X3RyYWNlcG9pbnQ6CiAg ICAgICAgY2FzZSBicF9zdGF0aWNfdHJhY2Vwb2ludDoKICAgICAgICBjYXNlIGJwX2ppdF9ldmVu dDoKQEAgLTY2OCw3ICs2NjgsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogIAlp ZiAob3B0cy5hZGRyZXNzcHJpbnQpCiAgCSAgewogIAkgICAgYW5ub3RhdGVfZmllbGQgKDQpOwot QEAgLTUxMDEsNyArNTE2NSw4IEBAIHVzZXJfc2V0dGFibGVfYnJlYWtwb2ludCAoY29uc3Qgc3Ry dWN0IGJyZWFrcG9pbnQgKmIpCitAQCAtNTIzNSw3ICs1Mjk5LDggQEAgdXNlcl9zZXR0YWJsZV9i cmVha3BvaW50IChjb25zdCBzdHJ1Y3QgYnJlYWtwb2ludCAqYikKICAJICB8fCBiLT50eXBlID09 IGJwX2NhdGNocG9pbnQKICAJICB8fCBiLT50eXBlID09IGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQK ICAJICB8fCBpc190cmFjZXBvaW50IChiKQpAQCAtNjc4LDcgKzY3OCw3IEBAIGluZGV4IDM5ZDli MDIuLmQ1YWI3MGIgMTAwNjQ0CiAgfQogIAogIC8qIFJldHVybiB0cnVlIGlmIHRoaXMgYnJlYWtw b2ludCB3YXMgc2V0IGJ5IHRoZSB1c2VyLCBmYWxzZSBpZiBpdCBpcwotQEAgLTU1OTAsNiArNTY1 NSw4IEBAIGFsbG9jYXRlX2JwX2xvY2F0aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYnB0KQorQEAg LTU3MjQsNiArNTc4OSw4IEBAIGFsbG9jYXRlX2JwX2xvY2F0aW9uIChzdHJ1Y3QgYnJlYWtwb2lu dCAqYnB0KQogICAgICBjYXNlIGJwX2xvbmdqbXBfbWFzdGVyOgogICAgICBjYXNlIGJwX3N0ZF90 ZXJtaW5hdGVfbWFzdGVyOgogICAgICBjYXNlIGJwX2V4Y2VwdGlvbl9tYXN0ZXI6CkBAIC02ODcs NyArNjg3LDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAgICAgICBsb2MtPmxv Y190eXBlID0gYnBfbG9jX3NvZnR3YXJlX2JyZWFrcG9pbnQ7CiAgICAgICAgYnJlYWs7CiAgICAg IGNhc2UgYnBfaGFyZHdhcmVfYnJlYWtwb2ludDoKLUBAIC01Njc5LDYgKzU3NDYsNyBAQCBzZXRf cmF3X2JyZWFrcG9pbnRfd2l0aG91dF9sb2NhdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CitAQCAtNTgxMyw2ICs1ODgwLDcgQEAgc2V0X3Jhd19icmVha3BvaW50X3dpdGhvdXRfbG9jYXRp b24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogICAgYi0+b3BzID0gTlVMTDsKICAgIGItPmNv bmRpdGlvbl9ub3RfcGFyc2VkID0gMDsKICAgIGItPnB5X2JwX29iamVjdCA9IE5VTEw7CkBAIC02 OTUsNyArNjk1LDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAgIC8qIEFk ZCB0aGlzIGJyZWFrcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgY2hhaW4gc28gdGhhdCBhIGxpc3Qg b2YKICAgICAgIGJyZWFrcG9pbnRzIHdpbGwgY29tZSBvdXQgaW4gb3JkZXIgb2YgaW5jcmVhc2lu ZyBudW1iZXJzLiAgKi8KLUBAIC01Njk3LDcgKzU3NjUsNyBAQCBzZXRfcmF3X2JyZWFrcG9pbnRf d2l0aG91dF9sb2NhdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtNTgzMSw3ICs1 ODk5LDcgQEAgc2V0X3Jhd19icmVha3BvaW50X3dpdGhvdXRfbG9jYXRpb24gKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLAogIAogIC8qIEluaXRpYWxpemUgbG9jLT5mdW5jdGlvbl9uYW1lLiAgKi8K ICBzdGF0aWMgdm9pZApAQCAtNzA0LDcgKzcwNCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIg MTAwNjQ0CiAgewogICAgZ2RiX2Fzc2VydCAobG9jLT5vd25lciAhPSBOVUxMKTsKICAKLUBAIC01 NzA1LDggKzU3NzMsMjkgQEAgc2V0X2JyZWFrcG9pbnRfbG9jYXRpb25fZnVuY3Rpb24gKHN0cnVj dCBicF9sb2NhdGlvbiAqbG9jKQorQEAgLTU4MzksOCArNTkwNywyOSBAQCBzZXRfYnJlYWtwb2lu dF9sb2NhdGlvbl9mdW5jdGlvbiAoc3RydWN0IGJwX2xvY2F0aW9uICpsb2MpCiAgICAgICAgfHwg bG9jLT5vd25lci0+dHlwZSA9PSBicF9oYXJkd2FyZV9icmVha3BvaW50CiAgICAgICAgfHwgaXNf dHJhY2Vwb2ludCAobG9jLT5vd25lcikpCiAgICAgIHsKQEAgLTczNiw3ICs3MzYsNyBAQCBpbmRl eCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogICAgICAgIGlmIChsb2MtPmZ1bmN0aW9uX25hbWUp CiAgCWxvYy0+ZnVuY3Rpb25fbmFtZSA9IHhzdHJkdXAgKGxvYy0+ZnVuY3Rpb25fbmFtZSk7CiAg ICAgIH0KLUBAIC01NzgxLDcgKzU4NzAsOCBAQCBzZXRfcmF3X2JyZWFrcG9pbnQgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLAorQEAgLTU5MTUsNyArNjAwNCw4IEBAIHNldF9yYXdfYnJlYWtwb2lu dCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICBiLT5sb2MtPnNlY3Rpb24gPSBzYWwuc2Vj dGlvbjsKICAgIGItPmxpbmVfbnVtYmVyID0gc2FsLmxpbmU7CiAgCkBAIC03NDYsNyArNzQ2LDcg QEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAgIGJyZWFrcG9pbnRzX2NoYW5n ZWQgKCk7CiAgCi1AQCAtNjg5OCw3ICs2OTg4LDcgQEAgY2xvbmVfbW9tZW50YXJ5X2JyZWFrcG9p bnQgKHN0cnVjdCBicmVha3BvaW50ICpvcmlnKQorQEAgLTcwMzIsNyArNzEyMiw3IEBAIGNsb25l X21vbWVudGFyeV9icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAqb3JpZykKICAKICAgIGNv cHkgPSBzZXRfcmF3X2JyZWFrcG9pbnRfd2l0aG91dF9sb2NhdGlvbiAob3JpZy0+Z2RiYXJjaCwg b3JpZy0+dHlwZSk7CiAgICBjb3B5LT5sb2MgPSBhbGxvY2F0ZV9icF9sb2NhdGlvbiAoY29weSk7 CkBAIC03NTUsNyArNzU1LDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAg IGNvcHktPmxvYy0+Z2RiYXJjaCA9IG9yaWctPmxvYy0+Z2RiYXJjaDsKICAgIGNvcHktPmxvYy0+ cmVxdWVzdGVkX2FkZHJlc3MgPSBvcmlnLT5sb2MtPnJlcXVlc3RlZF9hZGRyZXNzOwotQEAgLTY5 OTgsNiArNzA4OCw3IEBAIG1lbnRpb24gKHN0cnVjdCBicmVha3BvaW50ICpiKQorQEAgLTcxMzIs NiArNzIyMiw3IEBAIG1lbnRpb24gKHN0cnVjdCBicmVha3BvaW50ICpiKQogIAlkb19jbGVhbnVw cyAodWlfb3V0X2NoYWluKTsKICAJYnJlYWs7CiAgICAgICAgY2FzZSBicF9icmVha3BvaW50OgpA QCAtNzYzLDcgKzc2Myw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCWlmICh1 aV9vdXRfaXNfbWlfbGlrZV9wICh1aW91dCkpCiAgCSAgewogIAkgICAgc2F5X3doZXJlID0gMDsK LUBAIC03MDA4LDYgKzcwOTksOCBAQCBtZW50aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYikKK0BA IC03MTQyLDYgKzcyMzMsOCBAQCBtZW50aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYikKICAJZWxz ZQogIAkgIHByaW50Zl9maWx0ZXJlZCAoXygiQnJlYWtwb2ludCIpKTsKICAJcHJpbnRmX2ZpbHRl cmVkIChfKCIgJWQiKSwgYi0+bnVtYmVyKTsKQEAgLTc3Miw3ICs3NzIsNyBAQCBpbmRleCAzOWQ5 YjAyLi5kNWFiNzBiIDEwMDY0NAogIAlzYXlfd2hlcmUgPSAxOwogIAlicmVhazsKICAgICAgICBj YXNlIGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQ6Ci1AQCAtNzA2Nyw2ICs3MTYwLDcgQEAgbWVudGlv biAoc3RydWN0IGJyZWFrcG9pbnQgKmIpCitAQCAtNzIwMSw2ICs3Mjk0LDcgQEAgbWVudGlvbiAo c3RydWN0IGJyZWFrcG9pbnQgKmIpCiAgICAgICAgY2FzZSBicF9sb25nam1wX21hc3RlcjoKICAg ICAgICBjYXNlIGJwX3N0ZF90ZXJtaW5hdGVfbWFzdGVyOgogICAgICAgIGNhc2UgYnBfZXhjZXB0 aW9uX21hc3RlcjoKQEAgLTc4MCw3ICs3ODAsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEw MDY0NAogIAlicmVhazsKICAgICAgICB9CiAgCi1AQCAtNzEyNyw3ICs3MjIxLDggQEAgYWRkX2xv Y2F0aW9uX3RvX2JyZWFrcG9pbnQgKHN0cnVjdCBicmVha3BvaW50ICpiLAorQEAgLTcyNjEsNyAr NzM1NSw4IEBAIGFkZF9sb2NhdGlvbl90b19icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAq YiwKICAgIGdkYl9hc3NlcnQgKGxvYy0+cHNwYWNlICE9IE5VTEwpOwogICAgbG9jLT5zZWN0aW9u ID0gc2FsLT5zZWN0aW9uOwogIApAQCAtNzkwLDcgKzc5MCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1 YWI3MGIgMTAwNjQ0CiAgICByZXR1cm4gbG9jOwogIH0KICAMCi1AQCAtODU3Niw2ICs4NjcxLDcg QEAgd2F0Y2hfY29tbWFuZF8xIChjaGFyICphcmcsIGludCBhY2Nlc3NmbGFnLCBpbnQgZnJvbV90 dHksCitAQCAtODcxMCw2ICs4ODA1LDcgQEAgd2F0Y2hfY29tbWFuZF8xIChjaGFyICphcmcsIGlu dCBhY2Nlc3NmbGFnLCBpbnQgZnJvbV90dHksCiAgICBiID0gc2V0X3Jhd19icmVha3BvaW50X3dp dGhvdXRfbG9jYXRpb24gKE5VTEwsIGJwX3R5cGUpOwogICAgc2V0X2JyZWFrcG9pbnRfbnVtYmVy IChpbnRlcm5hbCwgYik7CiAgICBiLT50aHJlYWQgPSB0aHJlYWQ7CkBAIC03OTgsNyArNzk4LDcg QEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAgIGItPmRpc3Bvc2l0aW9uID0gZGlz cF9kb250dG91Y2g7CiAgICBiLT5leHAgPSBleHA7CiAgICBiLT5leHBfdmFsaWRfYmxvY2sgPSBl eHBfdmFsaWRfYmxvY2s7Ci1AQCAtOTc0Nyw2ICs5ODQzLDkgQEAgdXBkYXRlX2dsb2JhbF9sb2Nh dGlvbl9saXN0IChpbnQgc2hvdWxkX2luc2VydCkKK0BAIC05ODgxLDYgKzk5NzcsOSBAQCB1cGRh dGVfZ2xvYmFsX2xvY2F0aW9uX2xpc3QgKGludCBzaG91bGRfaW5zZXJ0KQogICAgICAgIGludCBr ZWVwX2luX3RhcmdldCA9IDA7CiAgICAgICAgaW50IHJlbW92ZWQgPSAwOwogIApAQCAtODA4LDcg KzgwOCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgICAgICAgLyogU2tpcCBM T0NQIGVudHJpZXMgd2hpY2ggd2lsbCBkZWZpbml0ZWx5IG5ldmVyIGJlIG5lZWRlZC4KICAJIFN0 b3AgZWl0aGVyIGF0IG9yIGJlaW5nIHRoZSBvbmUgbWF0Y2hpbmcgT0xEX0xPQy4gICovCiAgICAg ICAgd2hpbGUgKGxvY3AgPCBicF9sb2NhdGlvbiArIGJwX2xvY2F0aW9uX2NvdW50Ci1AQCAtMTAw NjMsMTIgKzEwMTYyLDIwIEBAIGRlbGV0ZV9icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAq YnB0KQorQEAgLTEwMTk3LDEyICsxMDI5NiwyMCBAQCBkZWxldGVfYnJlYWtwb2ludCAoc3RydWN0 IGJyZWFrcG9pbnQgKmJwdCkKICAKICAgIC8qIEF0IGxlYXN0IGF2b2lkIHRoaXMgc3RhbGUgcmVm ZXJlbmNlIHVudGlsIHRoZSByZWZlcmVuY2UgY291bnRpbmcKICAgICAgIG9mIGJyZWFrcG9pbnRz IGdldHMgcmVzb2x2ZWQuICAqLwpAQCAtODM0LDcgKzgzNCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1 YWI3MGIgMTAwNjQ0CiAgICAgIH0KICAKICAgIG9ic2VydmVyX25vdGlmeV9icmVha3BvaW50X2Rl bGV0ZWQgKGJwdC0+bnVtYmVyKTsKLUBAIC0xMDM5OSw2ICsxMDUwNiw5IEBAIHVwZGF0ZV9icmVh a3BvaW50X2xvY2F0aW9ucyAoc3RydWN0IGJyZWFrcG9pbnQgKmIsCitAQCAtMTA1MzMsNiArMTA2 NDAsOSBAQCB1cGRhdGVfYnJlYWtwb2ludF9sb2NhdGlvbnMgKHN0cnVjdCBicmVha3BvaW50ICpi LAogICAgICByZXR1cm47CiAgCiAgICBiLT5sb2MgPSBOVUxMOwpAQCAtODQ0LDcgKzg0NCw3IEBA IGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgc2Fs cy5uZWx0czsgKytpKQogICAgICB7Ci1AQCAtMTA0MjYsMTEgKzEwNTM2LDcgQEAgdXBkYXRlX2Jy ZWFrcG9pbnRfbG9jYXRpb25zIChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwKK0BAIC0xMDU2MCwxMSAr MTA2NzAsNyBAQCB1cGRhdGVfYnJlYWtwb2ludF9sb2NhdGlvbnMgKHN0cnVjdCBicmVha3BvaW50 ICpiLAogIAkgICAgfQogIAl9CiAgCkBAIC04NTcsNyArODU3LDcgQEAgaW5kZXggMzlkOWIwMi4u ZDVhYjcwYiAxMDA2NDQKICAJYi0+c291cmNlX2ZpbGUgPSB4c3RyZHVwIChzYWxzLnNhbHNbaV0u c3ltdGFiLT5maWxlbmFtZSk7CiAgCiAgICAgICAgaWYgKGItPmxpbmVfbnVtYmVyID09IDApCi1A QCAtMTA1MTMsNiArMTA2MTksNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQgKmJpbnQp CitAQCAtMTA2NDcsNiArMTA3NTMsNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQgKmJp bnQpCiAgICAgIGNhc2UgYnBfdHJhY2Vwb2ludDoKICAgICAgY2FzZSBicF9mYXN0X3RyYWNlcG9p bnQ6CiAgICAgIGNhc2UgYnBfc3RhdGljX3RyYWNlcG9pbnQ6CkBAIC04NjUsNyArODY1LDcgQEAg aW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAgICAgICAvKiBEbyBub3QgYXR0ZW1wdCB0 byByZS1zZXQgYnJlYWtwb2ludHMgZGlzYWJsZWQgZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgICAg IGlmIChiLT5lbmFibGVfc3RhdGUgPT0gYnBfc3RhcnR1cF9kaXNhYmxlZCkKICAJcmV0dXJuIDA7 Ci1AQCAtMTA2ODMsNiArMTA3OTAsNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQgKmJp bnQpCitAQCAtMTA4MTcsNiArMTA5MjQsNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQg KmJpbnQpCiAgICAgIGNhc2UgYnBfZXhjZXB0aW9uOgogICAgICBjYXNlIGJwX2V4Y2VwdGlvbl9y ZXN1bWU6CiAgICAgIGNhc2UgYnBfaml0X2V2ZW50OgpAQCAtODczLDcgKzg3Myw3IEBAIGluZGV4 IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAKLUBAIC0x MDg1MCwxMSArMTA5NTgsMjUgQEAgbWFwX2JyZWFrcG9pbnRfbnVtYmVycyAoY2hhciAqYXJncywg dm9pZCAoKmZ1bmN0aW9uKSAoc3RydWN0IGJyZWFrcG9pbnQgKiwKK0BAIC0xMDk4MSwxMSArMTEw ODksMjUgQEAgbWFwX2JyZWFrcG9pbnRfbnVtYmVycyAoY2hhciAqYXJncywgdm9pZCAoKmZ1bmN0 aW9uKSAoc3RydWN0IGJyZWFrcG9pbnQgKiwKICAJICBBTExfQlJFQUtQT0lOVFNfU0FGRSAoYiwg dG1wKQogIAkgICAgaWYgKGItPm51bWJlciA9PSBudW0pCiAgCSAgICAgIHsKQEAgLTkwMyw3ICs5 MDMsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogIAkJYnJlYWs7CiAgCSAgICAg IH0KICAJICBpZiAobWF0Y2ggPT0gMCkKLUBAIC0xMTk2OSw2ICsxMjA5MSwyMiBAQCBhbGxfdHJh Y2Vwb2ludHMgKCkKK0BAIC0xMjEwMCw2ICsxMjIyMiwyMiBAQCBhbGxfdHJhY2Vwb2ludHMgKCkK ICAgIHJldHVybiB0cF92ZWM7CiAgfQogIApAQCAtOTI2LDcgKzkyNiw3IEBAIGluZGV4IDM5ZDli MDIuLmQ1YWI3MGIgMTAwNjQ0CiAgDAogIC8qIFRoaXMgaGVscCBzdHJpbmcgaXMgdXNlZCBmb3Ig dGhlIGJyZWFrLCBoYnJlYWssIHRicmVhayBhbmQgdGhicmVhawogICAgIGNvbW1hbmRzLiAgSXQg aXMgZGVmaW5lZCBhcyBhIG1hY3JvIHRvIHByZXZlbnQgZHVwbGljYXRpb24uCi1AQCAtMTIwNTQs NiArMTIxOTIsMTA3IEBAIGl0ZXJhdGVfb3Zlcl9icmVha3BvaW50cyAoaW50ICgqY2FsbGJhY2sp IChzdHJ1Y3QgYnJlYWtwb2ludCAqLCB2b2lkICopLAorQEAgLTEyMTg1LDYgKzEyMzIzLDEwNyBA QCBpdGVyYXRlX292ZXJfYnJlYWtwb2ludHMgKGludCAoKmNhbGxiYWNrKSAoc3RydWN0IGJyZWFr cG9pbnQgKiwgdm9pZCAqKSwKICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTEwMzQsNyArMTAz NCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgdm9pZAogIF9pbml0aWFsaXpl X2JyZWFrcG9pbnQgKHZvaWQpCiAgewotQEAgLTEyNTg4LDQgKzEyODI3LDUgQEAgaW5mZXJpb3Ig aW4gYWxsLXN0b3AgbW9kZSwgZ2RiIGJlaGF2ZXMgYXMgaWYgYWx3YXlzLWluc2VydGVkIG1vZGUg aXMgb2ZmLiIpLAorQEAgLTEyNzIxLDQgKzEyOTYwLDUgQEAgaW5mZXJpb3IgaW4gYWxsLXN0b3Ag bW9kZSwgZ2RiIGJlaGF2ZXMgYXMgaWYgYWx3YXlzLWluc2VydGVkIG1vZGUgaXMgb2ZmLiIpLAog ICAgYXV0b21hdGljX2hhcmR3YXJlX2JyZWFrcG9pbnRzID0gMTsKICAKICAgIG9ic2VydmVyX2F0 dGFjaF9hYm91dF90b19wcm9jZWVkIChicmVha3BvaW50X2Fib3V0X3RvX3Byb2NlZWQpOwpAQCAt MTEyMSw3ICsxMTIxLDcgQEAgaW5kZXggOTQwOWRkZS4uZjBmYTRjNyAxMDA2NDQKICBleHRlcm4g Y2hhciAqeGZ1bGxwYXRoIChjb25zdCBjaGFyICopOwogIAogZGlmZiAtLWdpdCBhL2dkYi9kb2Mv Z2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRleCA2YTNjN2RlLi5iMjE2NWY4 IDEwMDY0NAoraW5kZXggZTE2MDY1Yi4uY2RiNDRlMyAxMDA2NDQKIC0tLSBhL2dkYi9kb2MvZ2Ri LnRleGluZm8KICsrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KIEBAIC0xMTc3LDYgKzExNzcsMTYg QEAgZm9yIHJlbW90ZSBkZWJ1Z2dpbmcuCkBAIC0xMTQxLDcgKzExNDEsNyBAQCBpbmRleCA2YTNj N2RlLi5iMjE2NWY4IDEwMDY0NAogIEBjIHJlc29sdmUgdGhlIHNpdHVhdGlvbiBvZiB0aGVzZSBl dmVudHVhbGx5CiAgQGl0ZW0gLXR1aQogIEBjaW5kZXggQGNvZGV7LS10dWl9Ci1AQCAtMjA2NTIs OCArMjA2NjIsNiBAQCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3IgZXhhbXBsZToKK0BAIC0y MDY3Nyw4ICsyMDY4Nyw2IEBAIGNvbnRhaW5pbmcgQGNvZGV7ZW5kfS4gIEZvciBleGFtcGxlOgog IAogIEBzbWFsbGV4YW1wbGUKICAoQHZhbHVle0dEQlB9KSBweXRob24KQEAgLTExNTAsNyArMTE1 MCw3IEBAIGluZGV4IDZhM2M3ZGUuLmIyMTY1ZjggMTAwNjQ0CiAgPnByaW50IDIzCiAgPmVuZAog IDIzCi1AQCAtMjA2NjYsNiArMjA2NzQsMTQgQEAgaW4gYSBQeXRob24gc2NyaXB0LiAgVGhpcyBj YW4gYmUgY29udHJvbGxlZCB1c2luZyBAY29kZXttYWludCBzZXQKK0BAIC0yMDY5MSw2ICsyMDY5 OSwxNCBAQCBpbiBhIFB5dGhvbiBzY3JpcHQuICBUaGlzIGNhbiBiZSBjb250cm9sbGVkIHVzaW5n IEBjb2Rle21haW50IHNldAogIHB5dGhvbiBwcmludC1zdGFja306IGlmIEBjb2Rle29ufSwgdGhl IGRlZmF1bHQsIHRoZW4gUHl0aG9uIHN0YWNrCiAgcHJpbnRpbmcgaXMgZW5hYmxlZDsgaWYgQGNv ZGV7b2ZmfSwgdGhlbiBQeXRob24gc3RhY2sgcHJpbnRpbmcgaXMKICBkaXNhYmxlZC4KQEAgLTEx NjUsNyArMTE2NSw3IEBAIGluZGV4IDZhM2M3ZGUuLmIyMTY1ZjggMTAwNjQ0CiAgQGVuZCB0YWJs ZQogIAogIEl0IGlzIGFsc28gcG9zc2libGUgdG8gZXhlY3V0ZSBhIFB5dGhvbiBzY3JpcHQgZnJv bSB0aGUgQHZhbHVle0dEQk59Ci1AQCAtMjA2ODcsNiArMjA3MDMsMTQgQEAgYW5kIHRodXMgaXMg YWx3YXlzIGF2YWlsYWJsZS4KK0BAIC0yMDcxMiw2ICsyMDcyOCwxNCBAQCBhbmQgdGh1cyBpcyBh bHdheXMgYXZhaWxhYmxlLgogIEBjaW5kZXggcHl0aG9uIGFwaQogIEBjaW5kZXggcHJvZ3JhbW1p bmcgaW4gcHl0aG9uCiAgCkBAIC0xMzQ0LDcgKzEzNDQsNyBAQCBpbmRleCBhZmU2ZGRlLi5kMzY0 YjE0IDEwMDY0NAogIAkgIGVycm9yIChfKCJVbmhhbmRsZWQgZHdhcmYgZXhwcmVzc2lvbiBvcGNv ZGUgMHgleCIpLCBvcCk7CiAgCX0KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyZXhwci5oIGIvZ2Ri L2R3YXJmMmV4cHIuaAotaW5kZXggMzg1OGRjOC4uYTE3MjU4NSAxMDA2NDQKK2luZGV4IDYyMDI2 OWYuLmM2ZmM2NGYgMTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYyZXhwci5oCiArKysgYi9nZGIvZHdh cmYyZXhwci5oCiBAQCAtMTE0LDkgKzExNCwxNSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0 CkBAIC0xMzY1LDcgKzEzNjUsNyBAQCBpbmRleCAzODU4ZGM4Li5hMTcyNTg1IDEwMDY0NAogICAg LyogVGhlIGN1cnJlbnQgZGVwdGggb2YgZHdhcmYgZXhwcmVzc2lvbiByZWN1cnNpb24sIHZpYSBE V19PUF9jYWxsKiwKICAgICAgIERXX09QX2ZicmVnLCBEV19PUF9wdXNoX29iamVjdF9hZGRyZXNz LCBldGMuLCBhbmQgdGhlIG1heGltdW0KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9n ZGIvZHdhcmYybG9jLmMKLWluZGV4IGQ5NTgwYzYuLjU1OWUwYjUgMTAwNjQ0CitpbmRleCA0ZDMx YWZhLi5mZDBjMTg1IDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCiArKysgYi9nZGIvZHdh cmYybG9jLmMKIEBAIC0xMzQsNiArMTM0LDkgQEAgc3RydWN0IGR3YXJmX2V4cHJfYmF0b24KQEAg LTE2MDIsOCArMTYwMiw3IEBAIGluZGV4IGQ5NTgwYzYuLjU1OWUwYjUgMTAwNjQ0CiAgCiAtICBj dHggPSBuZXdfZHdhcmZfZXhwcl9jb250ZXh0ICgpOwogLSAgb2xkX2NoYWluID0gbWFrZV9jbGVh bnVwX2ZyZWVfZHdhcmZfZXhwcl9jb250ZXh0IChjdHgpOwotKyAgY3R4ID0gZHdhcmZfZXhwcl9w cmVwX2N0eCAoZnJhbWUsIGRhdGEsIHNpemUsIHBlcl9jdSk7Ci0gCistCiAtICBjdHgtPmdkYmFy Y2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKTsKIC0gIGN0eC0+YWRkcl9zaXplID0gZHdh cmYyX3Blcl9jdV9hZGRyX3NpemUgKHBlcl9jdSk7CiAtICBjdHgtPm9mZnNldCA9IGR3YXJmMl9w ZXJfY3VfdGV4dF9vZmZzZXQgKHBlcl9jdSk7CkBAIC0xNjE1LDcgKzE2MTQsOCBAQCBpbmRleCBk OTU4MGM2Li41NTllMGI1IDEwMDY0NAogLSAgY3R4LT5nZXRfZnJhbWVfcGMgPSBkd2FyZl9leHBy X2ZyYW1lX3BjOwogLSAgY3R4LT5nZXRfdGxzX2FkZHJlc3MgPSBkd2FyZl9leHByX3Rsc19hZGRy ZXNzOwogLSAgY3R4LT5kd2FyZl9jYWxsID0gZHdhcmZfZXhwcl9kd2FyZl9jYWxsOwotLQorKyAg Y3R4ID0gZHdhcmZfZXhwcl9wcmVwX2N0eCAoZnJhbWUsIGRhdGEsIHNpemUsIHBlcl9jdSk7Cisg CiAtICBkd2FyZl9leHByX2V2YWwgKGN0eCwgZGF0YSwgc2l6ZSk7CiAgICBpZiAoY3R4LT5udW1f cGllY2VzID4gMCkKICAgICAgewpAQCAtMTYzNiw4ICsxNjM2LDggQEAgaW5kZXggZDk1ODBjNi4u NTU5ZTBiNSAxMDA2NDQKICAJICAgIHJldHZhbCA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHR5cGUp OwogIAkgICAgVkFMVUVfTFZBTCAocmV0dmFsKSA9IGx2YWxfbWVtb3J5OwogIAkgICAgaWYgKGlu X3N0YWNrX21lbW9yeSkKLUBAIC0yODIxLDExICsyOTc5LDUxIEBAIGxvY2xpc3RfdHJhY2Vwb2lu dF92YXJfcmVmIChzdHJ1Y3Qgc3ltYm9sICpzeW1ib2wsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAotIAkJCSBkbGJhdG9uLT5wZXJfY3UpOworQEAgLTI4MzEsMTEgKzI5ODksNTEgQEAgbG9jbGlz dF90cmFjZXBvaW50X3Zhcl9yZWYgKHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCisgCQkJICAgICAgIGRsYmF0b24tPnBlcl9jdSk7CiAgfQogIAogLS8qIFRo ZSBzZXQgb2YgbG9jYXRpb24gZnVuY3Rpb25zIHVzZWQgd2l0aCB0aGUgRFdBUkYtMiBleHByZXNz aW9uCkBAIC0xNjkxLDEwICsxNjkxLDEwIEBAIGluZGV4IGQ5NTgwYzYuLjU1OWUwYjUgMTAwNjQ0 CiArICBtaXNzaW5nX3RyYWNlcG9pbnRfdmFyX3JlZgogK307CiBkaWZmIC0tZ2l0IGEvZ2RiL2R3 YXJmMmxvYy5oIGIvZ2RiL2R3YXJmMmxvYy5oCi1pbmRleCBlZTUyNTA2Li42YTc3YzNmIDEwMDY0 NAoraW5kZXggOTZhNDkwZS4uYjBlYmIwNiAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJsb2MuaAog KysrIGIvZ2RiL2R3YXJmMmxvYy5oCi1AQCAtMTA1LDUgKzEwNSwxNCBAQCBzdHJ1Y3QgZHdhcmYy X2xvY2xpc3RfYmF0b24KK0BAIC0xMDcsNiArMTA3LDE1IEBAIHN0cnVjdCBkd2FyZjJfbG9jbGlz dF9iYXRvbgogIAogIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2Fy ZjJfbG9jZXhwcl9mdW5jczsKICBleHRlcm4gY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9v cHMgZHdhcmYyX2xvY2xpc3RfZnVuY3M7CkBAIC0xNzA4LDkgKzE3MDgsMTAgQEAgaW5kZXggZWU1 MjUwNi4uNmE3N2MzZiAxMDA2NDQKICtleHRlcm4gaW50IGR3YXJmX2xvY2xpc3RfYmF0b25fZXZh bCAoc3RydWN0IGR3YXJmMl9sb2NsaXN0X2JhdG9uICpkbGxiYXRvbiwKICsJCQkJICAgICBzdHJ1 Y3QgdHlwZSAqdHlwZSwgQ09SRV9BRERSICphZGRycCk7CiAgCi0gI2VuZGlmIC8qIGR3YXJmMmxv Yy5oICovCisgLyogQ29tcGlsZSBhIERXQVJGIGxvY2F0aW9uIGV4cHJlc3Npb24gdG8gYW4gYWdl bnQgZXhwcmVzc2lvbi4KKyAgICAKIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2Ri L2R3YXJmMnJlYWQuYwotaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKK2luZGV4IDA4Yjgw NGEuLmE5MDk5YmUgMTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYycmVhZC5jCiArKysgYi9nZGIvZHdh cmYycmVhZC5jCiBAQCAtMTIxMSw2ICsxMjExLDkgQEAgc3RhdGljIHZvaWQgZmlsbF9pbl9sb2Ns aXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKQEAgLTE3ODIsNyArMTc4Myw3IEBAIGlu ZGV4IDgzN2ZhM2IuLjMyN2JkNzAgMTAwNjQ0CiAgICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsK ICAgIGNoYXIgKm5hbWU7CiAgCi1AQCAtNzM3OCwxNyArNzQxMCwxMSBAQCByZWFkX2FycmF5X3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC03Mzc4 LDE3ICs3NDEwLDE5IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgdHlwZSA9IGVsZW1lbnRfdHlwZTsKICAKICAgIGlmIChy ZWFkX2FycmF5X29yZGVyIChkaWUsIGN1KSA9PSBEV19PUkRfY29sX21ham9yKQpAQCAtMTgwMiwx MCArMTgwMywxOCBAQCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEwMDY0NAogKyAgZWxzZSAvKiAo cmVhZF9hcnJheV9vcmRlciAoZGllLCBjdSkgPT0gRFdfT1JEX3Jvd19tYWpvcikgKi8KICsgICAg Zm9yIChpID0gbmRpbSAtIDE7IGkgPj0gMDsgaS0tKQogKyAgICAgIHR5cGUgPSBjcmVhdGVfc2lu Z2xlX2FycmF5X2RpbWVuc2lvbiAodHlwZSwgcmFuZ2VfdHlwZXNbaV0sIGRpZSwgY3UpOworKwor KyAgLyogRGF0YSBsb2NhdGlvbnMgc2hvdWxkIGJlIHNldCBvbmx5IGZvciB0aGUgb3V0ZXJtb3N0 IGRpbWVuc2lvbiBhcyB0aGV5CisrICAgICB3b3VsZCBiZSBjb25mdXNpbmcgZm9yIHRoZSBkZXJl ZmVyZW5jZWQgb2Zmc2V0IG9uIHRoZSBpbm5lciBvbmVzLiAgKi8KKysgIGF0dHIgPSBkd2FyZjJf YXR0ciAoZGllLCBEV19BVF9kYXRhX2xvY2F0aW9uLCBjdSk7CisrICBpZiAoYXR0cl9mb3JtX2lz X2Jsb2NrIChhdHRyKSkKKysgICAgVFlQRV9EQVRBX0xPQ0FUSU9OX0RXQVJGX0JMT0NLICh0eXBl KQorKyAgICAgID0gZHdhcmYyX2F0dHJfdG9fbG9jZXhwcl9iYXRvbiAoYXR0ciwgY3UpOworKyAg Z2RiX2Fzc2VydCAoIVRZUEVfREFUQV9MT0NBVElPTl9JU19BRERSICh0eXBlKSk7CiAgCiAgICAv KiBVbmRlcnN0YW5kIER3YXJmMiBzdXBwb3J0IGZvciB2ZWN0b3IgdHlwZXMgKGxpa2UgdGhleSBv Y2N1ciBvbgogICAgICAgdGhlIFBvd2VyUEMgdy8gQWx0aVZlYykuICBHY2MganVzdCBhZGRzIGFu b3RoZXIgYXR0cmlidXRlIHRvIHRoZQotQEAgLTc4ODIsMjkgKzc5MDgsMTE0IEBAIHJlYWRfdGFn X3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CitAQCAtNzg4MiwyOSArNzkxNiwxMTQgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlwZSAqdHlw ZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBlOwogICAgc3RydWN0IGF0dHJp YnV0ZSAqYXR0cjsKQEAgLTE5MzQsNyArMTk0Myw3IEBAIGluZGV4IDgzN2ZhM2IuLjMyN2JkNzAg MTAwNjQ0CiAgICBjaGFyX3R5cGUgPSBsYW5ndWFnZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFu Z3VhZ2VfZGVmbiwgZ2RiYXJjaCk7CiAgICB0eXBlID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxM LCBjaGFyX3R5cGUsIHJhbmdlX3R5cGUpOwogIAotQEAgLTgxOTAsOCArODMwMSw3IEBAIHJlYWRf c3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQorQEAgLTgxOTAsOCArODMwOSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IHR5cGUgKmJhc2VfdHlw ZTsKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0 cjsKQEAgLTE5NDQsNyArMTk1Myw3IEBAIGluZGV4IDgzN2ZhM2IuLjMyN2JkNzAgMTAwNjQ0CiAg ICBjaGFyICpuYW1lOwogICAgTE9OR0VTVCBuZWdhdGl2ZV9tYXNrOwogIAotQEAgLTgyMDQsNTMg KzgzMTQsMTI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTgyMDQsNTMgKzgzMjIsMTI2IEBAIHJlYWRfc3VicmFu Z2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAg aWYgKHJhbmdlX3R5cGUpCiAgICAgIHJldHVybiByYW5nZV90eXBlOwogIApAQCAtMjEwNiw3ICsy MTE1LDcgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKICAgICAgfQogIAogICAgLyog RHdhcmYtMiBzcGVjaWZpY2F0aW9ucyBleHBsaWNpdGx5IGFsbG93cyB0byBjcmVhdGUgc3VicmFu Z2UgdHlwZXMKLUBAIC04MjkxLDI0ICs4NDc0LDQxIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTgyOTEsMjQgKzg0 ODIsNDEgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCiAgCX0KICAgICAgfQogIApAQCAtMjE2NCw3ICsyMTczLDcgQEAgaW5k ZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKICAKICAgIG5hbWUgPSBkd2FyZjJfbmFtZSAoZGll LCBjdSk7CiAgICBpZiAobmFtZSkKLUBAIC0xMDc4NSwxMCArMTA5ODUsMTIgQEAgdmFyX2RlY29k ZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IHN5bWJvbCAqc3ltLAor QEAgLTEwNzg1LDEwICsxMDk5MywxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0 cmlidXRlICphdHRyLCBzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAoaS5lLiB3aGVuIHRoZSB2 YWx1ZSBvZiBhIHJlZ2lzdGVyIG9yIG1lbW9yeSBsb2NhdGlvbiBpcwogICAgICAgcmVmZXJlbmNl ZCwgb3IgYSB0aHJlYWQtbG9jYWwgYmxvY2ssIGV0Yy4pLiAgVGhlbiBhZ2FpbiwgaXQgbWlnaHQK ICAgICAgIG5vdCBiZSB3b3J0aHdoaWxlLiAgSSdtIGFzc3VtaW5nIHRoYXQgaXQgaXNuJ3QgdW5s ZXNzIHBlcmZvcm1hbmNlCkBAIC0yMTc5LDcgKzIxODgsNyBAQCBpbmRleCA4MzdmYTNiLi4zMjdi ZDcwIDEwMDY0NAogIH0KICAKICAvKiBHaXZlbiBhIHBvaW50ZXIgdG8gYSBEV0FSRiBpbmZvcm1h dGlvbiBlbnRyeSwgZmlndXJlIG91dCBpZiB3ZSBuZWVkCi1AQCAtMTA4MjYsNiArMTEwMjgsOCBA QCBuZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCitAQCAtMTA4MjYsNiArMTEwMzYsOCBAQCBuZXdfc3lt Ym9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UsCiAgICAgICAgZWxzZQogIAlzeW0gPSBPQlNUQUNLX1pBTExPQyAoJm9i amZpbGUtPm9iamZpbGVfb2JzdGFjaywgc3RydWN0IHN5bWJvbCk7CiAgICAgICAgT0JKU1RBVCAo b2JqZmlsZSwgbl9zeW1zKyspOwpAQCAtMjE4OCw3ICsyMTk3LDcgQEAgaW5kZXggODM3ZmEzYi4u MzI3YmQ3MCAxMDA2NDQKICAKICAgICAgICAvKiBDYWNoZSB0aGlzIHN5bWJvbCdzIG5hbWUgYW5k IHRoZSBuYW1lJ3MgZGVtYW5nbGVkIGZvcm0gKGlmIGFueSkuICAqLwogICAgICAgIFNZTUJPTF9T RVRfTEFOR1VBR0UgKHN5bSwgY3UtPmxhbmd1YWdlKTsKLUBAIC0xMTU5OCw2ICsxMTgwMiw5IEBA IHJlYWRfdHlwZV9kaWVfMSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQorQEAgLTExNTk4LDYgKzExODEwLDkgQEAgcmVhZF90eXBlX2RpZV8xIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICAgICAgYnJlYWs7CiAgICAgIH0K ICAKQEAgLTIxOTgsNyArMjIwNyw3IEBAIGluZGV4IDgzN2ZhM2IuLjMyN2JkNzAgMTAwNjQ0CiAg ICByZXR1cm4gdGhpc190eXBlOwogIH0KICAKLUBAIC0xNDQxMCw2MSArMTQ2MTcsOTkgQEAgZmls bF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xNDQxOSw2MSAr MTQ2MzQsOTkgQEAgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwK ICAgIGJhdG9uLT5iYXNlX2FkZHJlc3MgPSBjdS0+YmFzZV9hZGRyZXNzOwogIH0KICAKQEAgLTIy MjAsMTYgKzIyMjksMjAgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKIC0gICAgewog LSAgICAgIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRvbiAqYmF0b247CiArICBzdHJ1Y3QgZHdh cmYyX2xvY2V4cHJfYmF0b24gKmJhdG9uOwotKwotKyAgZ2RiX2Fzc2VydCAoYXR0cl9mb3JtX2lz X2Jsb2NrIChhdHRyKSk7CiAgCiAtICAgICAgYmF0b24gPSBvYnN0YWNrX2FsbG9jICgmY3UtPm9i amZpbGUtPm9iamZpbGVfb2JzdGFjaywKIC0JCQkgICAgIHNpemVvZiAoc3RydWN0IGR3YXJmMl9s b2NsaXN0X2JhdG9uKSk7CisrICBnZGJfYXNzZXJ0IChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIp KTsKKyAKKy0gICAgICBmaWxsX2luX2xvY2xpc3RfYmF0b24gKGN1LCBiYXRvbiwgYXR0cik7CiAr ICBiYXRvbiA9IG9ic3RhY2tfYWxsb2MgKCZjdS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBz aXplb2YgKCpiYXRvbikpOwogKyAgYmF0b24tPnBlcl9jdSA9IGN1LT5wZXJfY3U7CiArICBnZGJf YXNzZXJ0IChiYXRvbi0+cGVyX2N1KTsKICAKLS0gICAgICBmaWxsX2luX2xvY2xpc3RfYmF0b24g KGN1LCBiYXRvbiwgYXR0cik7CistICAgICAgaWYgKGN1LT5iYXNlX2tub3duID09IDApCistCWNv bXBsYWludCAoJnN5bWZpbGVfY29tcGxhaW50cywKKy0JCSAgIF8oIkxvY2F0aW9uIGxpc3QgdXNl ZCB3aXRob3V0ICIKKy0JCSAgICAgInNwZWNpZnlpbmcgdGhlIENVIGJhc2UgYWRkcmVzcy4iKSk7 CiArICAvKiBOb3RlIHRoYXQgd2UncmUganVzdCBjb3B5aW5nIHRoZSBibG9jaydzIGRhdGEgcG9p bnRlcgogKyAgICAgaGVyZSwgbm90IHRoZSBhY3R1YWwgZGF0YS4gIFdlJ3JlIHN0aWxsIHBvaW50 aW5nIGludG8gdGhlCiArICAgICBpbmZvX2J1ZmZlciBmb3IgU1lNJ3Mgb2JqZmlsZTsgcmlnaHQg bm93IHdlIG5ldmVyIHJlbGVhc2UKQEAgLTIyMzgsMTEgKzIyNTEsNyBAQCBpbmRleCA4MzdmYTNi Li4zMjdiZDcwIDEwMDY0NAogKyAgYmF0b24tPnNpemUgPSBEV19CTE9DSyAoYXR0ciktPnNpemU7 CiArICBiYXRvbi0+ZGF0YSA9IERXX0JMT0NLIChhdHRyKS0+ZGF0YTsKICsgIGdkYl9hc3NlcnQg KGJhdG9uLT5zaXplID09IDAgfHwgYmF0b24tPmRhdGEgIT0gTlVMTCk7Ci0gCi0tICAgICAgaWYg KGN1LT5iYXNlX2tub3duID09IDApCi0tCWNvbXBsYWludCAoJnN5bWZpbGVfY29tcGxhaW50cywK LS0JCSAgIF8oIkxvY2F0aW9uIGxpc3QgdXNlZCB3aXRob3V0ICIKLS0JCSAgICAgInNwZWNpZnlp bmcgdGhlIENVIGJhc2UgYWRkcmVzcy4iKSk7CisrCiArICByZXR1cm4gYmF0b247CiArfQogKwpA QCAtMjI1NSw3ICsyMjY0LDcgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKICsgICAg IHZhcmlhYmxlIGhhcyBiZWVuIG9wdGltaXplZCBvdXQuICAqLwogKyAgaWYgKCFhdHRyKQogKyAg ICByZXR1cm4gTlVMTDsKLSsKKyAKICsgIGR3YXJmMl9yZWFkX3NlY3Rpb24gKGR3YXJmMl9wZXJf b2JqZmlsZS0+b2JqZmlsZSwKICsJCSAgICAgICAmZHdhcmYyX3Blcl9vYmpmaWxlLT5sb2MpOwog KwpAQCAtMjI3OSw3ICsyMjg4LDcgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKICsK ICsgIHJldHVybiBiYXRvbjsKICt9Ci0gCisrCiArLyogU1lNIG1heSBnZXQgaXRzIFNZTUJPTF9D TEFTUyBvdmVycmlkZW4gb24gaW52YWxpZCBBVFRSIGNvbnRlbnQuICAqLwogKwogK3N0YXRpYyB2 b2lkCkBAIC0yMzQxLDcgKzIzNTAsNyBAQCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEwMDY0NAog ICAgICB9CiAgfQogIAotQEAgLTE0ODEwLDYgKzE1MDU1LDMxIEBAIG9mZnNldF9hbmRfdHlwZV9l cSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKQorQEAgLTE0ODE5 LDYgKzE1MDcyLDI1IEBAIG9mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMs IGNvbnN0IHZvaWQgKml0ZW1fcmhzKQogICAgcmV0dXJuIG9mc19saHMtPm9mZnNldCA9PSBvZnNf cmhzLT5vZmZzZXQ7CiAgfQogIApAQCAtMjM1MywxMiArMjM2Miw2IEBAIGluZGV4IDgzN2ZhM2Iu LjMyN2JkNzAgMTAwNjQ0CiArewogKyAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKICsKLSsgIGF0 dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9kYXRhX2xvY2F0aW9uLCBjdSk7Ci0rICBpZiAo YXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKLSsgICAgVFlQRV9EQVRBX0xPQ0FUSU9OX0RXQVJG X0JMT0NLICh0eXBlKSA9IGR3YXJmMl9hdHRyX3RvX2xvY2V4cHJfYmF0b24gKGF0dHIsCi0rCQkJ CQkJCQkJICBjdSk7Ci0rICBnZGJfYXNzZXJ0ICghVFlQRV9EQVRBX0xPQ0FUSU9OX0lTX0FERFIg KHR5cGUpKTsKLSsKICsgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hbGxvY2F0ZWQs IGN1KTsKICsgIGlmIChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIpKQogKyAgICBUWVBFX0FMTE9D QVRFRCAodHlwZSkgPSBkd2FyZjJfYXR0cl90b19sb2NleHByX2JhdG9uIChhdHRyLCBjdSk7CkBA IC0yMzczLDcgKzIzNzYsNyBAQCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEwMDY0NAogIC8qIFNl dCB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGluIENVJ3Mg aGFzaAogICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0dXJuIFRZ UEUuCiAgCi1AQCAtMTQ4MzUsNiArMTUxMDUsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAt MTQ4NDQsNiArMTUxMTYsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSA9IGN1LT5vYmpmaWxlOwogICAgaHRhYl90ICp0eXBlX2hhc2hfcHRyOwogIApA QCAtMjY3Nyw3ICsyNjgwLDcgQEAgaW5kZXggYzU5MTM0Yi4uYzJjODIyOSAxMDA2NDQKICAKICAg IC8qIEFkZCBzeW50aGV0aWMgc3ltYm9scyAtIGZvciBpbnN0YW5jZSwgbmFtZXMgZm9yIGFueSBQ TFQgZW50cmllcy4gICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKLWlu ZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CitpbmRleCBkZTI1YjM5Li5mOWM3YTgyIDEwMDY0 NAogLS0tIGEvZ2RiL2V2YWwuYwogKysrIGIvZ2RiL2V2YWwuYwogQEAgLTQ0LDYgKzQ0LDcgQEAK QEAgLTI2ODgsNyArMjY5MSw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgCiAg I2luY2x1ZGUgImdkYl9hc3NlcnQuaCIKICAKLUBAIC01MDUsMjcgKzUwNiwxOTggQEAgaW5pdF9h cnJheV9lbGVtZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQs CitAQCAtNTA1LDI3ICs1MDYsMjAyIEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZhbHVl ICphcnJheSwgc3RydWN0IHZhbHVlICplbGVtZW50LAogIH0KICAKICBzdGF0aWMgc3RydWN0IHZh bHVlICoKQEAgLTI3NjAsMTAgKzI3NjMsMTQgQEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAxMDA2 NDQKICsgICAgICB2YWx1ZV9ieXRlX2FkZHJlc3MgPSAoVFlQRV9EQVRBX0xPQ0FUSU9OX0FERFIg KHR5cGUpCiArCQkJICAgICsgdmFsdWVfb2Zmc2V0IChhcnJheSkpOwogKyAgICAgIFRZUEVfREFU QV9MT0NBVElPTl9JU19BRERSICh0eXBlKSA9IDA7CisrICAgICAgVFlQRV9EQVRBX0xPQ0FUSU9O X0RXQVJGX0JMT0NLICh0eXBlKSA9IE5VTEw7CiArICAgIH0KICAgIGVsc2UKIC0gICAgbG93X2Jv dW5kID0gdmFsdWVfYXNfbG9uZyAoZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9z LCBub3NpZGUpKTsKLSsgICAgdmFsdWVfYnl0ZV9hZGRyZXNzID0gdmFsdWVfYWRkcmVzcyAoYXJy YXkpOworKyAgICB7CisrICAgICAgZ2RiX2Fzc2VydCAoVFlQRV9EQVRBX0xPQ0FUSU9OX0RXQVJG X0JMT0NLICh0eXBlKSA9PSBOVUxMKTsKKysgICAgICB2YWx1ZV9ieXRlX2FkZHJlc3MgPSB2YWx1 ZV9hZGRyZXNzIChhcnJheSk7CisrICAgIH0KICsKICsgIG5ld19hcnJheV90eXBlID0gdHlwZTsK ICsKQEAgLTI4MDUsOSArMjgxMiw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAr CSAgc3RydWN0IHZhbHVlICp2YWw7CiArCiArCSAgaW5kZXgtPmtpbmQgPSBTVUJTQ1JJUFRfTlVN QkVSOwotIAotLSAgaWYgKHJhbmdlX3R5cGUgPT0gSElHSF9CT1VORF9ERUZBVUxUIHx8IHJhbmdl X3R5cGUgPT0gQk9USF9CT1VORF9ERUZBVUxUKQotLSAgICBoaWdoX2JvdW5kID0gVFlQRV9ISUdI X0JPVU5EIChyYW5nZSk7CisrCiArCSAgLyogRXZhbHVhdGUgZWFjaCBzdWJzY3JpcHQ7IGl0IG11 c3QgYmUgYSBsZWdhbCBpbnRlZ2VyIGluIEY3Ny4gICovCiArCSAgdmFsID0gZXZhbHVhdGVfc3Vi ZXhwX3dpdGhfY29lcmNpb24gKGV4cCwgcG9zLCBub3NpZGUpOwogKwkgIGluZGV4LT5udW1iZXIg PSB2YWx1ZV9hc19sb25nICh2YWwpOwpAQCAtMjgxOSw3ICsyODI0LDkgQEAgaW5kZXggZGUyNWIz OS4uY2NlZDEzYyAxMDA2NDQKICsgICAgewogKyAgICAgIHN0cnVjdCBzdWJzY3JpcHRfaW5kZXgg KmluZGV4ID0gJnN1YnNjcmlwdF9hcnJheVtpXTsKICsgICAgICBzdHJ1Y3QgdHlwZSAqcmFuZ2Vf dHlwZSA9IFRZUEVfSU5ERVhfVFlQRSAodHlwZSk7Ci0rCisgCistICBpZiAocmFuZ2VfdHlwZSA9 PSBISUdIX0JPVU5EX0RFRkFVTFQgfHwgcmFuZ2VfdHlwZSA9PSBCT1RIX0JPVU5EX0RFRkFVTFQp CistICAgIGhpZ2hfYm91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKHJhbmdlKTsKICsgICAgICBzd2l0 Y2ggKGluZGV4LT5raW5kKQogKwl7CiArCWNhc2UgU1VCU0NSSVBUX1JBTkdFOgpAQCAtMjg5MSwx OSArMjg5OCwxOSBAQCBpbmRleCBkZTI1YjM5Li5jY2VkMTNjIDEwMDY0NAogKyAgICB7CiArICAg ICAgYWxsb2NhdGVfdmFsdWVfY29udGVudHMgKGFycmF5KTsKICsgICAgICBzZXRfdmFsdWVfbGF6 eSAoYXJyYXksIDApOwotIAotLSAgcmV0dXJuIHZhbHVlX3NsaWNlIChhcnJheSwgbG93X2JvdW5k LCBoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSk7CisrCiArICAgICAgbWVtY3B5ICh2YWx1ZV9j b250ZW50c193cml0ZWFibGUgKGFycmF5KSwKICsJICAgICAgdmFsdWVfY29udGVudHMgKHNhdmVk X2FycmF5KSArIHZhbHVlX2J5dGVfb2Zmc2V0LAogKwkgICAgICBUWVBFX0xFTkdUSCAobmV3X2Fy cmF5X3R5cGUpKTsKICsgICAgfQotKworIAorLSAgcmV0dXJuIHZhbHVlX3NsaWNlIChhcnJheSwg bG93X2JvdW5kLCBoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSk7CiArICBkb19jbGVhbnVwcyAo b2xkX2NoYWluKTsKICsgIHJldHVybiBhcnJheTsKICB9CiAgCiAgCi1AQCAtODA2LDYgKzk3OCw3 IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAor QEAgLTgwNiw2ICs5ODIsNyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKICAgIGludCBzYXZlX3BvczE7CiAgICBzdHJ1Y3Qgc3ltYm9sICpmdW5j dGlvbiA9IE5VTEw7CiAgICBjaGFyICpmdW5jdGlvbl9uYW1lID0gTlVMTDsKQEAgLTI5MTEsNyAr MjkxOCw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgCiAgICBwYyA9ICgqcG9z KSsrOwogICAgb3AgPSBleHAtPmVsdHNbcGNdLm9wY29kZTsKLUBAIC0xODQ5LDYgKzIwMjIsOCBA QCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BA IC0xODQ5LDYgKzIwMjYsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKICAJICAgICAgcmV0dXJuIHZhbHVlX3plcm8gKGJ1aWx0aW5fdHlwZSAo ZXhwLT5nZGJhcmNoKS0+YnVpbHRpbl9pbnQsCiAgCQkJCSBub3RfbHZhbCk7CiAgCSAgICB9CkBA IC0yOTIwLDcgKzI5MjcsNyBAQCBpbmRleCBkZTI1YjM5Li5jY2VkMTNjIDEwMDY0NAogIAkgIGVs c2UgaWYgKFRZUEVfVEFSR0VUX1RZUEUgKGZ0eXBlKSkKICAJICAgIHJldHVybiBhbGxvY2F0ZV92 YWx1ZSAoVFlQRV9UQVJHRVRfVFlQRSAoZnR5cGUpKTsKICAJICBlbHNlCi1AQCAtMTg3Nyw2ICsy MDUyLDggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5 cGUsCitAQCAtMTg3Nyw2ICsyMDU2LDggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1 Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgCiAgICAgICAgLyogRmlyc3QgZGV0ZXJtaW5lIHRoZSB0 eXBlIGNvZGUgd2UgYXJlIGRlYWxpbmcgd2l0aC4gICovCiAgICAgICAgYXJnMSA9IGV2YWx1YXRl X3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKQEAgLTI5MjksNyArMjkzNiw3 IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgICAgICAgdHlwZSA9IGNoZWNrX3R5 cGVkZWYgKHZhbHVlX3R5cGUgKGFyZzEpKTsKICAgICAgICBjb2RlID0gVFlQRV9DT0RFICh0eXBl KTsKICAKLUBAIC0xODk3LDIzICsyMDc0LDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAo c3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTE4OTcsMjMgKzIwNzgsMTMgQEAgZXZhbHVh dGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgCSAgICAgIGNv ZGUgPSBUWVBFX0NPREUgKHR5cGUpOwogIAkgICAgfQogIAl9IApAQCAtMjk1NSw3ICsyOTYyLDcg QEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAxMDA2NDQKICAKICAJY2FzZSBUWVBFX0NPREVfUFRS OgogIAljYXNlIFRZUEVfQ09ERV9GVU5DOgotQEAgLTIzNTIsNDkgKzI1MTksNiBAQCBldmFsdWF0 ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yMzUyLDQ5 ICsyNTIzLDYgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0 X3R5cGUsCiAgCX0KICAgICAgICByZXR1cm4gKGFyZzEpOwogIApAQCAtMzAwNSw3ICszMDEyLDcg QEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAxMDA2NDQKICAgICAgY2FzZSBCSU5PUF9MT0dJQ0FM X0FORDoKICAgICAgICBhcmcxID0gZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9z LCBub3NpZGUpOwogICAgICAgIGlmIChub3NpZGUgPT0gRVZBTF9TS0lQKQotQEAgLTI2MjYsMTUg KzI3NTAsMjMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0 X3R5cGUsCitAQCAtMjYyNiwxNSArMjc1NCwyMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQg KHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAgICAgICBpZiAoZXhwZWN0X3R5cGUgJiYgVFlQ RV9DT0RFIChleHBlY3RfdHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKICAJZXhwZWN0X3R5cGUgPSBU WVBFX1RBUkdFVF9UWVBFIChjaGVja190eXBlZGVmIChleHBlY3RfdHlwZSkpOwogICAgICAgIGFy ZzEgPSBldmFsdWF0ZV9zdWJleHAgKGV4cGVjdF90eXBlLCBleHAsIHBvcywgbm9zaWRlKTsKQEAg LTMwMzEsNyArMzAzOCw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgICAgICAg ZWxzZSBpZiAobm9zaWRlID09IEVWQUxfQVZPSURfU0lERV9FRkZFQ1RTKQogIAl7CiAgCSAgdHlw ZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZzEpKTsKLUBAIC0yNjQzLDEyICsyNzc1 LDE4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBl LAorQEAgLTI2NDMsMTIgKzI3NzksMTggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1 Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgCSAgLyogSW4gQyB5b3UgY2FuIGRlcmVmZXJlbmNlIGFu IGFycmF5IHRvIGdldCB0aGUgMXN0IGVsdC4gICovCiAgCSAgICAgIHx8IFRZUEVfQ09ERSAodHlw ZSkgPT0gVFlQRV9DT0RFX0FSUkFZCiAgCSAgICApCkBAIC0zMDU1LDcgKzMwNjIsNyBAQCBpbmRl eCBkZTI1YjM5Li5jY2VkMTNjIDEwMDY0NAogIAkgIGVsc2UKICAJICAgIGVycm9yIChfKCJBdHRl bXB0IHRvIHRha2UgY29udGVudHMgb2YgYSBub24tcG9pbnRlciB2YWx1ZS4iKSk7CiAgCX0KLUBA IC0yNjU4LDkgKzI3OTYsMTQgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlw ZSAqZXhwZWN0X3R5cGUsCitAQCAtMjY1OCw5ICsyODAwLDE0IEBAIGV2YWx1YXRlX3N1YmV4cF9z dGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgZG8uICAibG9uZyBsb25nIiB2 YXJpYWJsZXMgYXJlIHJhcmUgZW5vdWdoIHRoYXQKICAJIEJVSUxUSU5fVFlQRV9MT05HRVNUIHdv dWxkIHNlZW0gdG8gYmUgYSBtaXN0YWtlLiAgKi8KICAgICAgICBpZiAoVFlQRV9DT0RFICh0eXBl KSA9PSBUWVBFX0NPREVfSU5UKQpAQCAtMzA3Myw3ICszMDgwLDcgQEAgaW5kZXggZGUyNWIzOS4u Y2NlZDEzYyAxMDA2NDQKICAKICAgICAgY2FzZSBVTk9QX0FERFI6CiAgICAgICAgLyogQysrOiBj aGVjayBmb3IgYW5kIGhhbmRsZSBwb2ludGVyIHRvIG1lbWJlcnMuICAqLwotQEAgLTMwMDYsNyAr MzE0OSw3IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJjaW9uIChzdHJ1Y3QgZXhwcmVzc2lv biAqZXhwLAorQEAgLTMwMDYsNyArMzE1Myw3IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJj aW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogIHsKICAgIGVudW0gZXhwX29wY29kZSBvcDsK ICAgIGludCBwYzsKQEAgLTMwODIsNyArMzA4OSw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2Mg MTAwNjQ0CiAgICBzdHJ1Y3Qgc3ltYm9sICp2YXI7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAK LUBAIC0zMDE3LDEzICszMTYwLDE4IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJjaW9uIChz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAorQEAgLTMwMTcsMTMgKzMxNjQsMTggQEAgZXZhbHVhdGVf c3ViZXhwX3dpdGhfY29lcmNpb24gKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgICAgIHsKICAg ICAgY2FzZSBPUF9WQVJfVkFMVUU6CiAgICAgICAgdmFyID0gZXhwLT5lbHRzW3BjICsgMl0uc3lt Ym9sOwpAQCAtMzEwMiw3ICszMTA5LDcgQEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAxMDA2NDQK ICAJICByZXR1cm4gdmFsdWVfY2FzdCAobG9va3VwX3BvaW50ZXJfdHlwZSAoVFlQRV9UQVJHRVRf VFlQRSAodHlwZSkpLAogIAkJCSAgICAgdmFsKTsKICAJfQotQEAgLTMwNzUsOSArMzIyMywxMyBA QCBldmFsdWF0ZV9zdWJleHBfZm9yX3NpemVvZiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50 ICpwb3MpCitAQCAtMzA3NSw5ICszMjI3LDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9mb3Jfc2l6ZW9m IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBvcykKICAKICAgICAgY2FzZSBPUF9WQVJf VkFMVUU6CiAgICAgICAgKCpwb3MpICs9IDQ7CkBAIC0zMTE5LDcgKzMxMjYsNyBAQCBpbmRleCBk ZTI1YjM5Li5jY2VkMTNjIDEwMDY0NAogIAogICAgICBkZWZhdWx0OgogICAgICAgIHZhbCA9IGV2 YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgRVZBTF9BVk9JRF9TSURFX0VGRkVD VFMpOwotQEAgLTMxMDgsMTggKzMyNjAsMjUgQEAgcGFyc2VfYW5kX2V2YWxfdHlwZSAoY2hhciAq cCwgaW50IGxlbmd0aCkKK0BAIC0zMTA4LDE4ICszMjY0LDI1IEBAIHBhcnNlX2FuZF9ldmFsX3R5 cGUgKGNoYXIgKnAsIGludCBsZW5ndGgpCiAgaW50CiAgY2FsY19mNzdfYXJyYXlfZGltcyAoc3Ry dWN0IHR5cGUgKmFycmF5X3R5cGUpCiAgewpAQCAtMzU2MSw3ICszNTY4LDcgQEAgaW5kZXggZmZi N2Y1My4uYTJlN2U5NCAxMDA2NDQKICAKICBiIGludGVybmFsX2Vycm9yCiBkaWZmIC0tZ2l0IGEv Z2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwotaW5kZXggMmNmMWI0ZC4uZDE0NWZkOSAx MDA2NDQKK2luZGV4IDkxZmFmYTIuLjBlOTEyNDggMTAwNjQ0CiAtLS0gYS9nZGIvZ2RidHlwZXMu YwogKysrIGIvZ2RiL2dkYnR5cGVzLmMKIEBAIC0zOSw2ICszOSw5IEBACkBAIC0zODk1LDcgKzM5 MDIsNyBAQCBpbmRleCAyY2YxYjRkLi5kMTQ1ZmQ5IDEwMDY0NAogIAogICAgaWYgKG5hbWUpCiAg ICAgIFRZUEVfTkFNRSAodHlwZSkgPSBvYnNhdmVzdHJpbmcgKG5hbWUsIHN0cmxlbiAobmFtZSks Ci1AQCAtMzI1OSwzMyArMzM5Myw0MiBAQCB0eXBlX3BhaXJfZXEgKGNvbnN0IHZvaWQgKml0ZW1f bGhzLCBjb25zdCB2b2lkICppdGVtX3JocykKK0BAIC0zMjY0LDMzICszMzk4LDQyIEBAIHR5cGVf cGFpcl9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKQogIH0K ICAKICAvKiBBbGxvY2F0ZSB0aGUgaGFzaCB0YWJsZSB1c2VkIGJ5IGNvcHlfdHlwZV9yZWN1cnNp dmUgdG8gd2FsawpAQCAtMzk1Myw3ICszOTYwLDcgQEAgaW5kZXggMmNmMWI0ZC4uZDE0NWZkOSAx MDA2NDQKICAgICAgcmV0dXJuIHR5cGU7CiAgCiAgICAvKiBUaGlzIHR5cGUgc2hvdWxkbid0IGJl IHBvaW50aW5nIHRvIGFueSB0eXBlcyBpbiBvdGhlciBvYmpmaWxlczsKLUBAIC0zMzAwLDkgKzM0 NDMsMTAgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitA QCAtMzMwNSw5ICszNDQ4LDEwIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlLAogICAgbmV3X3R5cGUgPSBhbGxvY190eXBlX2FyY2ggKGdldF90eXBlX2FyY2gg KHR5cGUpKTsKICAKICAgIC8qIFdlIG11c3QgYWRkIHRoZSBuZXcgdHlwZSB0byB0aGUgaGFzaCB0 YWJsZSBpbW1lZGlhdGVseSwgaW4gY2FzZQpAQCAtMzk2Nyw3ICszOTc0LDcgQEAgaW5kZXggMmNm MWI0ZC4uZDE0NWZkOSAxMDA2NDQKICAgIHN0b3JlZC0+b2xkID0gdHlwZTsKICAgIHN0b3JlZC0+ bmV3ID0gbmV3X3R5cGU7CiAgICAqc2xvdCA9IHN0b3JlZDsKLUBAIC0zMzEzLDYgKzM0NTcsMTkg QEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzMx OCw2ICszNDYyLDE5IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLAogICAgVFlQRV9PQkpGSUxFX09XTkVEIChuZXdfdHlwZSkgPSAwOwogICAgVFlQRV9PV05F UiAobmV3X3R5cGUpLmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKICAKQEAgLTM5ODcs NyArMzk5NCw3IEBAIGluZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgICBpZiAoVFlQRV9O QU1FICh0eXBlKSkKICAgICAgVFlQRV9OQU1FIChuZXdfdHlwZSkgPSB4c3RyZHVwIChUWVBFX05B TUUgKHR5cGUpKTsKICAgIGlmIChUWVBFX1RBR19OQU1FICh0eXBlKSkKLUBAIC0zMzIxLDEyICsz NDc4LDQ4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAor QEAgLTMzMjYsMTIgKzM0ODMsNDggQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZp bGUgKm9iamZpbGUsCiAgICBUWVBFX0lOU1RBTkNFX0ZMQUdTIChuZXdfdHlwZSkgPSBUWVBFX0lO U1RBTkNFX0ZMQUdTICh0eXBlKTsKICAgIFRZUEVfTEVOR1RIIChuZXdfdHlwZSkgPSBUWVBFX0xF TkdUSCAodHlwZSk7CiAgCkBAIC00MDM2LDcgKzQwNDMsNyBAQCBpbmRleCAyY2YxYjRkLi5kMTQ1 ZmQ5IDEwMDY0NAogICAgICAgIFRZUEVfRklFTERTIChuZXdfdHlwZSkgPSBYQ0FMTE9DIChuZmll bGRzLCBzdHJ1Y3QgZmllbGQpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBuZmllbGRzOyBpKysp CiAgCXsKLUBAIC0zMzM1LDggKzM1MjgsOCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zMzQwLDggKzM1MzMsOCBAQCBjb3B5X3R5cGVfcmVjdXJz aXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAJICBUWVBFX0ZJRUxEX0JJVFNJWkUgKG5l d190eXBlLCBpKSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZSwgaSk7CiAgCSAgaWYgKFRZUEVf RklFTERfVFlQRSAodHlwZSwgaSkpCiAgCSAgICBUWVBFX0ZJRUxEX1RZUEUgKG5ld190eXBlLCBp KQpAQCAtNDA0Nyw3ICs0MDU0LDcgQEAgaW5kZXggMmNmMWI0ZC4uZDE0NWZkOSAxMDA2NDQKICAJ ICBpZiAoVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKSkKICAJICAgIFRZUEVfRklFTERfTkFNRSAo bmV3X3R5cGUsIGkpID0gCiAgCSAgICAgIHhzdHJkdXAgKFRZUEVfRklFTERfTkFNRSAodHlwZSwg aSkpOwotQEAgLTMzNjMsMjQgKzM1NTYsMTg0IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlLAorQEAgLTMzNjgsMjQgKzM1NjEsMTg0IEBAIGNvcHlfdHlwZV9y ZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAl9CiAgICAgIH0KICAKQEAgLTQy MzksNyArNDI0Niw3IEBAIGluZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgICAvKiBNYXli ZSBjb3B5IHRoZSB0eXBlX3NwZWNpZmljIGJpdHMuCiAgCiAgICAgICBOT1RFIGRyb3cvMjAwNS0x Mi0wOTogV2UgZG8gbm90IGNvcHkgdGhlIEMrKy1zcGVjaWZpYyBiaXRzIGxpa2UKLUBAIC0zMzk3 LDYgKzM3NTAsMTcgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsCitAQCAtMzQwMiw2ICszNzU1LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBv YmpmaWxlICpvYmpmaWxlLAogICAgcmV0dXJuIG5ld190eXBlOwogIH0KICAKQEAgLTQyNTcsNyAr NDI2NCw3IEBAIGluZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgLyogTWFrZSBhIGNvcHkg b2YgdGhlIGdpdmVuIFRZUEUsIGV4Y2VwdCB0aGF0IHRoZSBwb2ludGVyICYgcmVmZXJlbmNlCiAg ICAgdHlwZXMgYXJlIG5vdCBwcmVzZXJ2ZWQuCiAgICAgCi1AQCAtMzQxOSw2ICszNzgzLDE5OSBA QCBjb3B5X3R5cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTM0MjQsNiArMzc4OCwx OTkgQEAgY29weV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICAgIHJldHVybiBuZXdf dHlwZTsKICB9CiAgCkBAIC00NDU3LDcgKzQ0NjQsNyBAQCBpbmRleCAyY2YxYjRkLi5kMTQ1ZmQ5 IDEwMDY0NAogIAogIC8qIEhlbHBlciBmdW5jdGlvbnMgdG8gaW5pdGlhbGl6ZSBhcmNoaXRlY3R1 cmUtc3BlY2lmaWMgdHlwZXMuICAqLwogIAotQEAgLTM3NjcsNiArNDMyNCw4IEBAIGdkYnR5cGVz X3Bvc3RfaW5pdCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCitAQCAtMzc3Miw2ICs0MzI5LDgg QEAgZ2RidHlwZXNfcG9zdF9pbml0IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAgICAgPSBs b29rdXBfcG9pbnRlcl90eXBlIChidWlsdGluX3R5cGUtPmJ1aWx0aW5fdm9pZCk7CiAgICBidWls dGluX3R5cGUtPmJ1aWx0aW5fZnVuY19wdHIKICAgICAgPSBsb29rdXBfcG9pbnRlcl90eXBlIChs b29rdXBfZnVuY3Rpb25fdHlwZSAoYnVpbHRpbl90eXBlLT5idWlsdGluX3ZvaWQpKTsKQEAgLTQ0 NjYsNyArNDQ3Myw3IEBAIGluZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgCiAgICAvKiBU aGlzIHR5cGUgcmVwcmVzZW50cyBhIEdEQiBpbnRlcm5hbCBmdW5jdGlvbi4gICovCiAgICBidWls dGluX3R5cGUtPmludGVybmFsX2ZuCi1AQCAtMzg4MCw2ICs0NDM5LDE4IEBAIG9iamZpbGVfdHlw ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCitAQCAtMzg4NSw2ICs0NDQ0LDE4IEBAIG9iamZp bGVfdHlwZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCiAgCQkgIjx0ZXh0IHZhcmlhYmxlLCBu byBkZWJ1ZyBpbmZvPiIsIG9iamZpbGUpOwogICAgVFlQRV9UQVJHRVRfVFlQRSAob2JqZmlsZV90 eXBlLT5ub2RlYnVnX3RleHRfc3ltYm9sKQogICAgICA9IG9iamZpbGVfdHlwZS0+YnVpbHRpbl9p bnQ7CkBAIC00NDg1LDcgKzQ0OTIsNyBAQCBpbmRleCAyY2YxYjRkLi5kMTQ1ZmQ5IDEwMDY0NAog ICAgb2JqZmlsZV90eXBlLT5ub2RlYnVnX2RhdGFfc3ltYm9sCiAgICAgID0gaW5pdF90eXBlIChU WVBFX0NPREVfSU5ULAogIAkJIGdkYmFyY2hfaW50X2JpdCAoZ2RiYXJjaCkgLyBIT1NUX0NIQVJf QklULCAwLAotQEAgLTM5MzQsNiArNDUwNSwxMSBAQCB2b2lkCitAQCAtMzkzOSw2ICs0NTEwLDEx IEBAIHZvaWQKICBfaW5pdGlhbGl6ZV9nZGJ0eXBlcyAodm9pZCkKICB7CiAgICBnZGJ0eXBlc19k YXRhID0gZ2RiYXJjaF9kYXRhX3JlZ2lzdGVyX3Bvc3RfaW5pdCAoZ2RidHlwZXNfcG9zdF9pbml0 KTsKQEAgLTU3ODQsMTggKzU3OTEsMTggQEAgaW5kZXggODQ5Nzk5MS4uNDYzNTg1MyAxMDA2NDQK ICAJCSAgICAgICBTWU1CT0xfTElOS0FHRV9OQU1FICh0c3ltYm9sKSkgPT0gMCkKICAJICByZXR1 cm4gU1lNQk9MX1ZBTFVFX0FERFJFU1MgKG1zeW1ib2wpOwogZGlmZiAtLWdpdCBhL2dkYi9wLXZh bHByaW50LmMgYi9nZGIvcC12YWxwcmludC5jCi1pbmRleCA4ZTc5MDcwLi40ZjljMGI3IDEwMDY0 NAoraW5kZXggZmM1MGUyYS4uNDk5ZGY3YyAxMDA2NDQKIC0tLSBhL2dkYi9wLXZhbHByaW50LmMK ICsrKyBiL2dkYi9wLXZhbHByaW50LmMKLUBAIC0zOCw2ICszOCw3IEBACi0gI2luY2x1ZGUgInAt bGFuZy5oIgorQEAgLTM5LDYgKzM5LDcgQEAKICAjaW5jbHVkZSAiY3AtYWJpLmgiCiAgI2luY2x1 ZGUgImNwLXN1cHBvcnQuaCIKKyAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgogKyNpbmNsdWRlICJk d2FyZjJsb2MuaCIKICAMCiAgCiAgLyogU2VlIHZhbF9wcmludCBmb3IgYSBkZXNjcmlwdGlvbiBv ZiB0aGUgdmFyaW91cyBwYXJhbWV0ZXJzIG9mIHRoaXMKLUBAIC02Miw4ICs2MywzMSBAQCBwYXNj YWxfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs CitAQCAtNjMsOCArNjQsMzEgQEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUs IGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgc3RydWN0IHR5cGUgKmNoYXJfdHlwZTsKICAg IExPTkdFU1QgdmFsOwogICAgQ09SRV9BRERSIGFkZHI7CkBAIC01ODI4LDcgKzU4MzUsNyBAQCBp bmRleCA4ZTc5MDcwLi40ZjljMGI3IDEwMDY0NAogICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUp KQogICAgICB7CiAgICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgotQEAgLTExOSw4ICsxNDMsOCBA QCBwYXNjYWxfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZh bGFkZHIsCitAQCAtMTIwLDggKzE0NCw4IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAJCXsKICAJCSAgaSA9IDA7CiAgCQl9 CkBAIC01ODM5LDcgKzU4NDYsNyBAQCBpbmRleCA4ZTc5MDcwLi40ZjljMGI3IDEwMDY0NAogIAkJ CQkJb3JpZ2luYWxfdmFsdWUsIG9wdGlvbnMsIGkpOwogIAkgICAgICBmcHJpbnRmX2ZpbHRlcmVk IChzdHJlYW0sICJ9Iik7CiAgCSAgICB9Ci1AQCAtMTU5LDYgKzE4Myw3IEBAIHBhc2NhbF92YWxf cHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC0x NjAsNiArMTg0LDcgQEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLAogIAkgIC8qIFRyeSB0byBwcmludCB3aGF0IGZ1bmN0aW9uIGl0 IHBvaW50cyB0by4gICovCiAgCSAgcHJpbnRfYWRkcmVzc19kZW1hbmdsZSAoZ2RiYXJjaCwgYWRk ciwgc3RyZWFtLCBkZW1hbmdsZSk7CiAgCSAgLyogUmV0dXJuIHZhbHVlIGlzIGlycmVsZXZhbnQg ZXhjZXB0IGZvciBzdHJpbmcgcG9pbnRlcnMuICAqLwpAQCAtNTg0Nyw3ICs1ODU0LDcgQEAgaW5k ZXggOGU3OTA3MC4uNGY5YzBiNyAxMDA2NDQKICAJICByZXR1cm4gKDApOwogIAl9CiAgCi1AQCAt MjUwLDYgKzI3NSw3IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC0yNTEsNiArMjc2LDcgQEAgcGFzY2FsX3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgIC8q IFJldHVybiBudW1iZXIgb2YgY2hhcmFjdGVycyBwcmludGVkLCBpbmNsdWRpbmcgdGhlIHRlcm1p bmF0aW5nCiAgCSAnXDAnIGlmIHdlIHJlYWNoZWQgdGhlIGVuZC4gIHZhbF9wcmludF9zdHJpbmcg dGFrZXMgY2FyZSBpbmNsdWRpbmcKICAJIHRoZSB0ZXJtaW5hdGluZyAnXDAnIGlmIG5lY2Vzc2Fy eS4gICovCkBAIC01ODU1LDcgKzU4NjIsNyBAQCBpbmRleCA4ZTc5MDcwLi40ZjljMGI3IDEwMDY0 NAogICAgICAgIHJldHVybiBpOwogIAogICAgICAgIGJyZWFrOwotQEAgLTU2Niw2ICs1OTIsNyBA QCBwYXNjYWxfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZh bGFkZHIsCitAQCAtNTY3LDYgKzU5Myw3IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAJICAgICBUWVBFX0NPREUgKHR5cGUp KTsKICAgICAgfQogICAgZ2RiX2ZsdXNoIChzdHJlYW0pOwpAQCAtMTA1MTIsMTAgKzEwNTE5LDEw IEBAIGluZGV4IDAwMDAwMDAuLjIyNmRjNWQKICtlbmQKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v c3VicmFuZ2UuZXhwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNTU1OThm OQoraW5kZXggMDAwMDAwMC4uYmUzNzJjMQogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKLUBAIC0wLDAgKzEsNTEgQEAKK0BAIC0wLDAg KzEsNjAgQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKwogKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKQEAgLTEwNTUyLDI3ICsxMDU1OSwzNiBAQCBpbmRleCAwMDAw MDAwLi41NTU5OGY5CiArZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImJyZWFr LXN0YXRpYyJdCiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrLXN0YXRpYyIgIi4q YnJlYWstc3RhdGljLioiCiArCi0rZ2RiX3Rlc3QgInAgYSAoMiwgMjozKSIgeyA9IFwoMjIsIDMy XCl9Ci0rZ2RiX3Rlc3QgInAgYSAoMjozLCAzKSIgeyA9IFwoMzIsIDMzXCl9Ci0rZ2RiX3Rlc3Qg InAgYSAoMSwgMjopIiB7ID0gXCgyMSwgMzFcKX0KLStnZGJfdGVzdCAicCBhICgyLCA6MikiIHsg PSBcKDEyLCAyMlwpfQotK2dkYl90ZXN0ICJwIGEgKDMsIDI6MikiIHsgPSBcKDIzXCl9Ci0rZ2Ri X3Rlc3QgInB0eXBlIGEgKDMsIDI6MikiICIgPSAkaW50NCBcXCgyOjJcXCkiCi0rZ2RiX3Rlc3Qg InAgYSAoNCwgOikiIHsgPSBcKDE0LCAyNCwgMzRcKX0KLStnZGJfdGVzdCAicCBhICg6LCA6KSIg eyA9IFwoXCggKjExLCAxMiwgMTMsIDE0XCkgXCggKjIxLCAyMiwgMjMsIDI0XCkgXCggKjMxLCAz MiwgMzMsIDM0XCkgKlwpfQotK2dkYl90ZXN0ICJwdHlwZSBhICg6LCA6KSIgIiA9ICRpbnQ0IFxc KDQsM1xcKSIKLStnZGJfdGVzdCAicCBhICg6KSIgIldyb25nIG51bWJlciBvZiBzdWJzY3JpcHRz IgotK2dkYl90ZXN0ICJwIGEgKDosIDosIDopIiAiV3JvbmcgbnVtYmVyIG9mIHN1YnNjcmlwdHMi CisrZm9yZWFjaCB2YXIge2EgYWxsb2MgcHRyfSB7CisrICAgIGdsb2JhbCBwZl9wcmVmaXgKKysg ICAgc2V0IG9sZF9wcmVmaXggJHBmX3ByZWZpeAorKyAgICBsYXBwZW5kIHBmX3ByZWZpeCAiJHZh cjoiCisrCisrICAgIGdkYl90ZXN0ICJwICR2YXIgKDIsIDI6MykiIHsgPSBcKDIyLCAzMlwpfQor KyAgICBnZGJfdGVzdCAicCAkdmFyICgyOjMsIDMpIiB7ID0gXCgzMiwgMzNcKX0KKysgICAgZ2Ri X3Rlc3QgInAgJHZhciAoMSwgMjopIiB7ID0gXCgyMSwgMzFcKX0KKysgICAgZ2RiX3Rlc3QgInAg JHZhciAoMiwgOjIpIiB7ID0gXCgxMiwgMjJcKX0KKysgICAgZ2RiX3Rlc3QgInAgJHZhciAoMywg MjoyKSIgeyA9IFwoMjNcKX0KKysgICAgZ2RiX3Rlc3QgInB0eXBlICR2YXIgKDMsIDI6MikiICIg PSAkaW50NCBcXCgyOjJcXCkiCisrICAgIGdkYl90ZXN0ICJwICR2YXIgKDQsIDopIiB7ID0gXCgx NCwgMjQsIDM0XCl9CisrICAgIGdkYl90ZXN0ICJwICR2YXIgKDosIDopIiB7ID0gXChcKCAqMTEs IDEyLCAxMywgMTRcKSBcKCAqMjEsIDIyLCAyMywgMjRcKSBcKCAqMzEsIDMyLCAzMywgMzRcKSAq XCl9CisrICAgIGdkYl90ZXN0ICJwdHlwZSAkdmFyICg6LCA6KSIgIiA9ICRpbnQ0IFxcKDQsM1xc KSIKKysgICAgZ2RiX3Rlc3QgInAgJHZhciAoOikiICJXcm9uZyBudW1iZXIgb2Ygc3Vic2NyaXB0 cyIKKysgICAgZ2RiX3Rlc3QgInAgJHZhciAoOiwgOiwgOikiICJXcm9uZyBudW1iZXIgb2Ygc3Vi c2NyaXB0cyIKKysKKysgICAgc2V0IHBmX3ByZWZpeCAkb2xkX3ByZWZpeAorK30KKysKICtnZGJf dGVzdF9ub19vdXRwdXQge3NldCAkYT1hfQogK2RlbGV0ZV9icmVha3BvaW50cwogK2dkYl91bmxv YWQKICtnZGJfdGVzdCB7cCAkYSAoMywgMjoyKX0geyA9IFwoMjNcKX0KIGRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vc3VicmFuZ2UuZjkwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAw MC4uZmUzM2MyYworaW5kZXggMDAwMDAwMC4uNDc0N2VhOQogLS0tIC9kZXYvbnVsbAogKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAKLUBAIC0wLDAgKzEsMjMgQEAK K0BAIC0wLDAgKzEsMjggQEAKICshIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKyEKICshIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC0xMDU4OSwxMSArMTA2MDUsMTYgQEAg aW5kZXggMDAwMDAwMC4uZmUzM2MyYwogKyEgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiArCiArcHJvZ3JhbSB0ZXN0 Ci0rICBpbnRlZ2VyIDo6IGEgKDQsIDMpCisrICBpbnRlZ2VyLCB0YXJnZXQgOjogYSAoNCwgMykK KysgIGludGVnZXIsIGFsbG9jYXRhYmxlIDo6IGFsbG9jICg6LCA6KQorKyAgaW50ZWdlciwgcG9p bnRlciA6OiBwdHIgKDosIDopCiArICBkbyAxIGkgPSAxLCA0CiArICBkbyAxIGogPSAxLCAzCiAr ICAgIGEgKGksIGopID0gaiAqIDEwICsgaQogKzEgY29udGludWUKKysgIGFsbG9jYXRlIChhbGxv YyAoNCwgMykpCisrICBhbGxvYyA9IGEKKysgIHB0ciA9PiBhCiArICB3cml0ZSAoKiwqKSBhICAg ICAgICAgICAgICAgICAhIGJyZWFrLXN0YXRpYwogK2VuZAogZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRl c3QuZXhwCkBAIC0xMTc5NSw3ICsxMTgxNiw3IEBAIGluZGV4IDAwMDAwMDAuLjMxZjc2NTYKICtl eHRlcm4gdm9pZCBtYXJrZXIgKHZvaWQpOwogK2V4dGVybiB2b2lkIGZvcmtvZmYgKGludCBucik7 CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3VpdGUv bGliL2dkYi5leHAKLWluZGV4IDVhM2YxZmMuLjQ3MTY2MjYgMTAwNjQ0CitpbmRleCBkNTIzZDhl Li5iNTQzYWQwIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogKysrIGIv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogQEAgLTE0MCw2ICsxNDAsMTEgQEAgcHJvYyBnZGJf dW5sb2FkIHt9IHsKQEAgLTExOTU2LDcgKzExOTc3LDcgQEAgaW5kZXggODJlM2FkYi4uYTViOTE0 NiAxMDA2NDQKICAKICBzdGF0aWMgdm9pZAogZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIv Z2RiL3ZhbGFyaXRoLmMKLWluZGV4IDI2NTUzMmMuLjFlNDE5ZGQgMTAwNjQ0CitpbmRleCA3ODdm YzY5Li5hOTBmNDE2IDEwMDY0NAogLS0tIGEvZ2RiL3ZhbGFyaXRoLmMKICsrKyBiL2dkYi92YWxh cml0aC5jCiBAQCAtMTk4LDcgKzE5OCwxMCBAQCB2YWx1ZV9zdWJzY3JpcHRlZF9ydmFsdWUgKHN0 cnVjdCB2YWx1ZSAqYXJyYXksIExPTkdFU1QgaW5kZXgsIGludCBsb3dlcmJvdW5kKQpAQCAtMTE5 NzEsNyArMTE5OTIsNyBAQCBpbmRleCAyNjU1MzJjLi4xZTQxOWRkIDEwMDY0NAogICAgc3RydWN0 IHZhbHVlICp2OwogIAogICAgaWYgKGluZGV4IDwgbG93ZXJib3VuZCB8fCAoIVRZUEVfQVJSQVlf VVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEIChhcnJheV90eXBlKQotQEAgLTI5Nyw2ICszMDAsMTAg QEAgaW50CitAQCAtMjk4LDYgKzMwMSwxMCBAQCBpbnQKICBiaW5vcF91c2VyX2RlZmluZWRfcCAo ZW51bSBleHBfb3Bjb2RlIG9wLAogIAkJICAgICAgc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3Qg dmFsdWUgKmFyZzIpCiAgewpAQCAtMTE5ODMsMTggKzEyMDA0LDE4IEBAIGluZGV4IDI2NTUzMmMu LjFlNDE5ZGQgMTAwNjQ0CiAgfQogIAogZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92 YWxvcHMuYwotaW5kZXggMjRjMjI2OS4uMjFmYjM1ZiAxMDA2NDQKK2luZGV4IDU0NjVhYmEuLmQy NjdiZjggMTAwNjQ0CiAtLS0gYS9nZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwotQEAg LTM4LDYgKzM4LDcgQEAKLSAjaW5jbHVkZSAiY3Atc3VwcG9ydC5oIgotICNpbmNsdWRlICJkZnAu aCIKLSAjaW5jbHVkZSAidXNlci1yZWdzLmgiCitAQCAtNDcsNiArNDcsNyBAQAorICNpbmNsdWRl ICJvYmpmaWxlcy5oIgorICNpbmNsdWRlICJzeW10YWIuaCIKKyAjaW5jbHVkZSAiZXhjZXB0aW9u cy5oIgogKyNpbmNsdWRlICJkd2FyZjJsb2MuaCIKICAKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAj aW5jbHVkZSAiZ2RiX3N0cmluZy5oIgotQEAgLTkwNyw2ICs5MDgsNjUgQEAgdmFsdWVfb25lIChz dHJ1Y3QgdHlwZSAqdHlwZSwgZW51bSBsdmFsX3R5cGUgbHYpCisgZXh0ZXJuIGludCBvdmVybG9h ZF9kZWJ1ZzsKKyAvKiBMb2NhbCBmdW5jdGlvbnMuICAqLworQEAgLTkxNSw2ICs5MTYsNjUgQEAg dmFsdWVfb25lIChzdHJ1Y3QgdHlwZSAqdHlwZSwgZW51bSBsdmFsX3R5cGUgbHYpCiAgICByZXR1 cm4gdmFsOwogIH0KICAKQEAgLTEyMDYwLDcgKzEyMDgxLDcgQEAgaW5kZXggMjRjMjI2OS4uMjFm YjM1ZiAxMDA2NDQKICAvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHZhbHVlX2F0LCB2YWx1ZV9hdF9s YXp5LCBhbmQgdmFsdWVfYXRfbGF6eV9zdGFjay4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1 ZSAqCi1AQCAtMTAwNSwxNSArMTA2NSwyMSBAQCB2YWx1ZV9mZXRjaF9sYXp5IChzdHJ1Y3QgdmFs dWUgKnZhbCkKK0BAIC0xMDExLDEyICsxMDcxLDIwIEBAIHZhbHVlX2ZldGNoX2xhenkgKHN0cnVj dCB2YWx1ZSAqdmFsKQogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09IGx2 YWxfbWVtb3J5KQogICAgICB7CkBAIC0xMjA2OSwyNyArMTIwOTAsMjQgQEAgaW5kZXggMjRjMjI2 OS4uMjFmYjM1ZiAxMDA2NDQKICsgICAgICBDT1JFX0FERFIgYWRkciA9IHZhbHVlX3Jhd19hZGRy ZXNzICh2YWwpOwogIAogLSAgICAgIGlmIChsZW5ndGgpCistCXJlYWRfdmFsdWVfbWVtb3J5ICh2 YWwsIDAsIHZhbHVlX3N0YWNrICh2YWwpLAorLQkJCSAgIGFkZHIsIHZhbHVlX2NvbnRlbnRzX2Fs bF9yYXcgKHZhbCksIGxlbmd0aCk7CiArICAgICAgaWYgKG9iamVjdF9hZGRyZXNzX2dldF9kYXRh ICh2YWx1ZV90eXBlICh2YWwpLCAmYWRkcikpCi0gCXsKLS0JICBpZiAodmFsdWVfc3RhY2sgKHZh bCkpCi0tCSAgICByZWFkX3N0YWNrIChhZGRyLCB2YWx1ZV9jb250ZW50c19hbGxfcmF3ICh2YWwp LCBsZW5ndGgpOwotLQkgIGVsc2UKLS0JICAgIHJlYWRfbWVtb3J5IChhZGRyLCB2YWx1ZV9jb250 ZW50c19hbGxfcmF3ICh2YWwpLCBsZW5ndGgpOworKwl7CiArCSAgc3RydWN0IHR5cGUgKnR5cGUg PSB2YWx1ZV9lbmNsb3NpbmdfdHlwZSAodmFsKTsKICsJICBpbnQgbGVuZ3RoID0gVFlQRV9MRU5H VEggKGNoZWNrX3R5cGVkZWYgKHR5cGUpKTsKICsKICsJICBpZiAobGVuZ3RoKQogKwkgICAgewog KwkgICAgICBhZGRyICs9IHZhbHVlX29mZnNldCAodmFsKTsKLSsJICAgICAgaWYgKHZhbHVlX3N0 YWNrICh2YWwpKQotKwkJcmVhZF9zdGFjayAoYWRkciwgdmFsdWVfY29udGVudHNfYWxsX3JhdyAo dmFsKSwgbGVuZ3RoKTsKLSsJICAgICAgZWxzZQotKwkJcmVhZF9tZW1vcnkgKGFkZHIsIHZhbHVl X2NvbnRlbnRzX2FsbF9yYXcgKHZhbCksIGxlbmd0aCk7CisrCSAgICAgIHJlYWRfdmFsdWVfbWVt b3J5ICh2YWwsIDAsIHZhbHVlX3N0YWNrICh2YWwpLAorKwkJCQkgYWRkciwgdmFsdWVfY29udGVu dHNfYWxsX3JhdyAodmFsKSwgbGVuZ3RoKTsKICsJICAgIH0KLSAJfQorKwl9CiAgICAgIH0KICAg IGVsc2UgaWYgKFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9yZWdpc3RlcikKLUBAIC0xNDI5LDcg KzE0OTUsMTggQEAgYWRkcmVzc19vZl92YXJpYWJsZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1 Y3QgYmxvY2sgKmIpCisgICAgIHsKK0BAIC0xNTIwLDcgKzE1ODgsMTggQEAgYWRkcmVzc19vZl92 YXJpYWJsZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgYmxvY2sgKmIpCiAgICBpZiAoKFZB TFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9tZW1vcnkgJiYgdmFsdWVfbGF6eSAodmFsKSkKICAgICAg ICB8fCBUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9GVU5DKQogICAgICB7CkBAIC0xMjEw OSw3ICsxMjEyNyw3IEBAIGluZGV4IDI0YzIyNjkuLjIxZmIzNWYgMTAwNjQ0CiAgCiAgICAgICAg cmV0dXJuIHZhbHVlX2Zyb21fcG9pbnRlciAobG9va3VwX3BvaW50ZXJfdHlwZSAodHlwZSksIGFk ZHIpOwogICAgICB9Ci1AQCAtMTUzNiw2ICsxNjEzLDcgQEAgc3RydWN0IHZhbHVlICoKK0BAIC0x NjI3LDYgKzE3MDYsNyBAQCBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2NvZXJjZV9hcnJheSAoc3Ry dWN0IHZhbHVlICphcmcxKQogIHsKICAgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRl ZiAodmFsdWVfdHlwZSAoYXJnMSkpOwpAQCAtMTIxMTcsNyArMTIxMzUsNyBAQCBpbmRleCAyNGMy MjY5Li4yMWZiMzVmIDEwMDY0NAogIAogICAgLyogSWYgdGhlIHVzZXIgdHJpZXMgdG8gZG8gc29t ZXRoaW5nIHJlcXVpcmluZyBhIHBvaW50ZXIgd2l0aCBhbgogICAgICAgYXJyYXkgdGhhdCBoYXMg bm90IHlldCBiZWVuIHB1c2hlZCB0byB0aGUgdGFyZ2V0LCB0aGVuIHRoaXMgd291bGQKLUBAIC0x NTQ1LDggKzE2MjMsMTIgQEAgdmFsdWVfY29lcmNlX2FycmF5IChzdHJ1Y3QgdmFsdWUgKmFyZzEp CitAQCAtMTYzNiw4ICsxNzE2LDEyIEBAIHZhbHVlX2NvZXJjZV9hcnJheSAoc3RydWN0IHZhbHVl ICphcmcxKQogICAgaWYgKFZBTFVFX0xWQUwgKGFyZzEpICE9IGx2YWxfbWVtb3J5KQogICAgICBl cnJvciAoXygiQXR0ZW1wdCB0byB0YWtlIGFkZHJlc3Mgb2YgdmFsdWUgbm90IGxvY2F0ZWQgaW4g bWVtb3J5LiIpKTsKICAKQEAgLTEyMTMxLDcgKzEyMTQ5LDcgQEAgaW5kZXggMjRjMjI2OS4uMjFm YjM1ZiAxMDA2NDQKICB9CiAgCiAgLyogR2l2ZW4gYSB2YWx1ZSB3aGljaCBpcyBhIGZ1bmN0aW9u LCByZXR1cm4gYSB2YWx1ZSB3aGljaCBpcyBhIHBvaW50ZXIKLUBAIC0zNTg3LDYgKzM2NjksOCBA QCB2YWx1ZV9zbGljZSAoc3RydWN0IHZhbHVlICphcnJheSwgaW50IGxvd2JvdW5kLCBpbnQgbGVu Z3RoKQorQEAgLTM2ODAsNiArMzc2NCw4IEBAIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFy cmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgpCiAgCQkJCQlUWVBFX1RBUkdFVF9UWVBFIChy YW5nZV90eXBlKSwKICAJCQkJCWxvd2JvdW5kLCAKICAJCQkJCWxvd2JvdW5kICsgbGVuZ3RoIC0g MSk7CkBAIC0xMjE0MSw3ICsxMjE1OSw3IEBAIGluZGV4IDI0YzIyNjkuLjIxZmIzNWYgMTAwNjQ0 CiAgICAgIHsKICAgICAgICBpbnQgaTsKIGRpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQuYyBiL2dk Yi92YWxwcmludC5jCi1pbmRleCBiMzJkNmZjLi43MzE5YzVkIDEwMDY0NAoraW5kZXggMjg2ZWY5 ZS4uMWZlNThiMSAxMDA2NDQKIC0tLSBhL2dkYi92YWxwcmludC5jCiArKysgYi9nZGIvdmFscHJp bnQuYwogQEAgLTM2LDYgKzM2LDcgQEAKQEAgLTEyMTYwLDcgKzEyMTc4LDcgQEAgaW5kZXggYjMy ZDZmYy4uNzMxOWM1ZCAxMDA2NDQKICAgICAgY2FzZSBUWVBFX0NPREVfQklUU1RSSU5HOgogICAg ICAgIHJldHVybiAwOwogICAgICBkZWZhdWx0OgotQEAgLTExNzMsNiArMTE3Myw3IEBAIHZhbF9w cmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTE5Myw2ICsxMTkz LDcgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICB7CiAg ICB1bnNpZ25lZCBpbnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgdW5zaWduZWQgbGVuOwpAQCAt MTIxNjgsNyArMTIxODYsNyBAQCBpbmRleCBiMzJkNmZjLi43MzE5YzVkIDEwMDY0NAogICAgc3Ry dWN0IHR5cGUgKmVsdHR5cGUsICppbmRleF90eXBlOwogICAgdW5zaWduZWQgZWx0bGVuOwogICAg LyogUG9zaXRpb24gb2YgdGhlIGFycmF5IGVsZW1lbnQgd2UgYXJlIGV4YW1pbmluZyB0byBzZWUK LUBAIC0xMTgxLDkgKzExODIsMzMgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwKK0BAIC0xMjAxLDkgKzEyMDIsMzMgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1l bnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgIC8qIE51bWJlciBvZiByZXBldGl0aW9ucyB3ZSBo YXZlIGRldGVjdGVkIHNvIGZhci4gICovCiAgICB1bnNpZ25lZCBpbnQgcmVwczsKICAgIExPTkdF U1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kOwpAQCAtMTIyMDQsNyArMTIyMjIsNyBAQCBpbmRleCBi MzJkNmZjLi43MzE5YzVkIDEwMDY0NAogICAgaW5kZXhfdHlwZSA9IFRZUEVfSU5ERVhfVFlQRSAo dHlwZSk7CiAgCiAgICBpZiAoZ2V0X2FycmF5X2JvdW5kcyAodHlwZSwgJmxvd19ib3VuZCwgJmhp Z2hfYm91bmQpKQotQEAgLTEyNjIsNiArMTI4Nyw4IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50 cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTI4NCw2ICsxMzA5LDggQEAgdmFsX3ByaW50X2Fy cmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgICAgewogICAgICAgIGZwcmludGZf ZmlsdGVyZWQgKHN0cmVhbSwgIi4uLiIpOwogICAgICB9CkBAIC0xMjIxNCwxOCArMTIyMzIsMTgg QEAgaW5kZXggYjMyZDZmYy4uNzMxOWM1ZCAxMDA2NDQKICAKICAvKiBSZWFkIExFTiBieXRlcyBv ZiB0YXJnZXQgbWVtb3J5IGF0IGFkZHJlc3MgTUVNQUREUiwgcGxhY2luZyB0aGUKIGRpZmYgLS1n aXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5jCi1pbmRleCBlMjYyNzBjLi4yOWJiMGNhIDEw MDY0NAoraW5kZXggMDExYjVlNy4uYmNmYmU1ZCAxMDA2NDQKIC0tLSBhL2dkYi92YWx1ZS5jCiAr KysgYi9nZGIvdmFsdWUuYwotQEAgLTM5LDYgKzM5LDcgQEAKLSAjaW5jbHVkZSAib2JqZmlsZXMu aCIKLSAjaW5jbHVkZSAidmFscHJpbnQuaCIKK0BAIC00MSw2ICs0MSw3IEBACiAgI2luY2x1ZGUg ImNsaS9jbGktZGVjb2RlLmgiCisgI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKKyAjaW5jbHVkZSAi cHl0aG9uL3B5dGhvbi5oIgogKyNpbmNsdWRlICJvYnNlcnZlci5oIgogIAotICNpbmNsdWRlICJw eXRob24vcHl0aG9uLmgiCisgI2luY2x1ZGUgInRyYWNlcG9pbnQuaCIKICAKLUBAIC04NzAsMTIg Kzg3MSwxNSBAQCB2b2lkCitAQCAtMTMzOSwxMiArMTM0MCwxNSBAQCB2b2lkCiAgc2V0X3ZhbHVl X2NvbXBvbmVudF9sb2NhdGlvbiAoc3RydWN0IHZhbHVlICpjb21wb25lbnQsCiAgCQkJICAgICAg Y29uc3Qgc3RydWN0IHZhbHVlICp3aG9sZSkKICB7CkBAIC0xMjI0MSw3ICsxMjI1OSw3IEBAIGlu ZGV4IGUyNjI3MGMuLjI5YmIwY2EgMTAwNjQ0CiAgICBpZiAod2hvbGUtPmx2YWwgPT0gbHZhbF9j b21wdXRlZCkKICAgICAgewogICAgICAgIHN0cnVjdCBsdmFsX2Z1bmNzICpmdW5jcyA9IHdob2xl LT5sb2NhdGlvbi5jb21wdXRlZC5mdW5jczsKLUBAIC04ODMsNiArODg3LDEyIEBAIHNldF92YWx1 ZV9jb21wb25lbnRfbG9jYXRpb24gKHN0cnVjdCB2YWx1ZSAqY29tcG9uZW50LAorQEAgLTEzNTIs NiArMTM1NiwxMiBAQCBzZXRfdmFsdWVfY29tcG9uZW50X2xvY2F0aW9uIChzdHJ1Y3QgdmFsdWUg KmNvbXBvbmVudCwKICAgICAgICBpZiAoZnVuY3MtPmNvcHlfY2xvc3VyZSkKICAgICAgICAgIGNv bXBvbmVudC0+bG9jYXRpb24uY29tcHV0ZWQuY2xvc3VyZSA9IGZ1bmNzLT5jb3B5X2Nsb3N1cmUg KHdob2xlKTsKICAgICAgfQpAQCAtMTIyNTQsNyArMTIyNzIsNyBAQCBpbmRleCBlMjYyNzBjLi4y OWJiMGNhIDEwMDY0NAogIH0KICAKICAMCi1AQCAtMTAxNiw2ICsxMDI2LDI5IEBAIHNob3dfdmFs dWVzIChjaGFyICpudW1fZXhwLCBpbnQgZnJvbV90dHkpCitAQCAtMTQ4NSw2ICsxNDk1LDI5IEBA IHNob3dfdmFsdWVzIChjaGFyICpudW1fZXhwLCBpbnQgZnJvbV90dHkpCiAgICAgICAgbnVtX2V4 cFsxXSA9ICdcMCc7CiAgICAgIH0KICB9CkBAIC0xMjI4NCw3ICsxMjMwMiw3IEBAIGluZGV4IGUy NjI3MGMuLjI5YmIwY2EgMTAwNjQ0CiAgDAogIC8qIEludGVybmFsIHZhcmlhYmxlcy4gIFRoZXNl IGFyZSB2YXJpYWJsZXMgd2l0aGluIHRoZSBkZWJ1Z2dlcgogICAgIHRoYXQgaG9sZCB2YWx1ZXMg YXNzaWduZWQgYnkgZGVidWdnZXIgY29tbWFuZHMuCi1AQCAtMTUxMSw2ICsxNTQ0LDQwIEBAIGNh bGxfaW50ZXJuYWxfZnVuY3Rpb24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTE5NjMs NiArMTk5NiwzNiBAQCBjYWxsX2ludGVybmFsX2Z1bmN0aW9uIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwKICAgIHJldHVybiAoKmlmbi0+aGFuZGxlcikgKGdkYmFyY2gsIGxhbmd1YWdlLCBpZm4t PmNvb2tpZSwgYXJnYywgYXJndik7CiAgfQogIApAQCAtMTIzMDYsMTAgKzEyMzI0LDYgQEAgaW5k ZXggZTI2MjcwYy4uMjliYjBjYSAxMDA2NDQKICsgICAgICBjYXNlIElOVEVSTkFMVkFSX0lOVEVH RVI6CiArCXR5cGVfbWFya191c2VkICh2YXItPnUuaW50ZWdlci50eXBlKTsKICsJYnJlYWs7Ci0r Ci0rICAgICAgY2FzZSBJTlRFUk5BTFZBUl9QT0lOVEVSOgotKwl0eXBlX21hcmtfdXNlZCAodmFy LT51LnBvaW50ZXIudHlwZSk7Ci0rCWJyZWFrOwogKyAgICAgIH0KICsKICsgIGZvciAoY2h1bmsg PSB2YWx1ZV9oaXN0b3J5X2NoYWluOyBjaHVuayAhPSBOVUxMOyBjaHVuayA9IGNodW5rLT5uZXh0 KQpAQCAtMTIzMjUsNyArMTIzMzksNyBAQCBpbmRleCBlMjYyNzBjLi4yOWJiMGNhIDEwMDY0NAog IC8qIFRoZSAnZnVuY3Rpb24nIGNvbW1hbmQuICBUaGlzIGRvZXMgbm90aGluZyAtLSBpdCBpcyBq dXN0IGEKICAgICBwbGFjZWhvbGRlciB0byBsZXQgImhlbHAgZnVuY3Rpb24gTkFNRSIgd29yay4g IFRoaXMgaXMgYWxzbyB1c2VkIGFzCiAgICAgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdWIt Y29tbWFuZCB0aGF0IGlzIGNyZWF0ZWQgd2hlbgotQEAgLTE1NTgsMTEgKzE2MjUsMTAgQEAgcHJl c2VydmVfb25lX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwKK0BAIC0yMDEwLDExICsyMDczLDEwIEBAIHByZXNlcnZlX29uZV92YWx1ZSAoc3RydWN0 IHZhbHVlICp2YWx1ZSwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkgICAgaHRhYl90IGNv cGllZF90eXBlcykKICB7CiAgICBpZiAoVFlQRV9PQkpGSUxFICh2YWx1ZS0+dHlwZSkgPT0gb2Jq ZmlsZSkKQEAgLTEyMzM5LDcgKzEyMzUzLDcgQEAgaW5kZXggZTI2MjcwYy4uMjliYjBjYSAxMDA2 NDQKICAJCQkJCQkgY29waWVkX3R5cGVzKTsKICB9CiAgCi1AQCAtMTU3NywxMyArMTY0MywxMyBA QCBwcmVzZXJ2ZV9vbmVfaW50ZXJuYWx2YXIgKHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyLCBzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0yMDI5LDcgKzIwOTEsNyBAQCBwcmVzZXJ2ZV9vbmVf aW50ZXJuYWx2YXIgKHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyLCBzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwKICAgICAgY2FzZSBJTlRFUk5BTFZBUl9JTlRFR0VSOgogICAgICAgIGlmICh2YXItPnUu aW50ZWdlci50eXBlICYmIFRZUEVfT0JKRklMRSAodmFyLT51LmludGVnZXIudHlwZSkgPT0gb2Jq ZmlsZSkKICAJdmFyLT51LmludGVnZXIudHlwZQpAQCAtMTIzNDcsMTUgKzEyMzYxLDggQEAgaW5k ZXggZTI2MjcwYy4uMjliYjBjYSAxMDA2NDQKICsJICA9IGNvcHlfdHlwZV9yZWN1cnNpdmUgKHZh ci0+dS5pbnRlZ2VyLnR5cGUsIGNvcGllZF90eXBlcyk7CiAgICAgICAgYnJlYWs7CiAgCi0gICAg IGNhc2UgSU5URVJOQUxWQVJfUE9JTlRFUjoKLSAgICAgICBpZiAoVFlQRV9PQkpGSUxFICh2YXIt PnUucG9pbnRlci50eXBlKSA9PSBvYmpmaWxlKQotIAl2YXItPnUucG9pbnRlci50eXBlCi0tCSAg PSBjb3B5X3R5cGVfcmVjdXJzaXZlIChvYmpmaWxlLCB2YXItPnUucG9pbnRlci50eXBlLCBjb3Bp ZWRfdHlwZXMpOwotKwkgID0gY29weV90eXBlX3JlY3Vyc2l2ZSAodmFyLT51LnBvaW50ZXIudHlw ZSwgY29waWVkX3R5cGVzKTsKLSAgICAgICBicmVhazsKLSAKICAgICAgY2FzZSBJTlRFUk5BTFZB Ul9WQUxVRToKLUBAIC0yNDQ5LDcgKzI1MTUsMjQgQEAgdmFsdWVfZnJvbV9kZWNmbG9hdCAoc3Ry dWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpkZWMpCitAQCAtMjk5NCw3ICszMDU2LDI0 IEBAIHZhbHVlX2Zyb21fZGVjZmxvYXQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqZGVjKQogIHN0cnVjdCB2YWx1ZSAqCiAgY29lcmNlX3JlZiAoc3RydWN0IHZhbHVlICphcmcp CiAgewpAQCAtMTIzODEsNyArMTIzODgsNyBAQCBpbmRleCBlMjYyNzBjLi4yOWJiMGNhIDEwMDY0 NAogIAogICAgaWYgKFRZUEVfQ09ERSAodmFsdWVfdHlwZV9hcmdfdG1wKSA9PSBUWVBFX0NPREVf UkVGKQogICAgICBhcmcgPSB2YWx1ZV9hdF9sYXp5IChUWVBFX1RBUkdFVF9UWVBFICh2YWx1ZV90 eXBlX2FyZ190bXApLAotQEAgLTI1NDcsNCArMjYzMCw4IEBAIFZBUklBQkxFIGlzIGFscmVhZHkg aW5pdGlhbGl6ZWQuIikpOworQEAgLTMwOTIsNCArMzE3MSw4IEBAIFZBUklBQkxFIGlzIGFscmVh ZHkgaW5pdGlhbGl6ZWQuIikpOwogICAgYWRkX3ByZWZpeF9jbWQgKCJmdW5jdGlvbiIsIG5vX2Ns YXNzLCBmdW5jdGlvbl9jb21tYW5kLCBfKCJcCiAgUGxhY2Vob2xkZXIgY29tbWFuZCBmb3Igc2hv d2luZyBoZWxwIG9uIGNvbnZlbmllbmNlIGZ1bmN0aW9ucy4iKSwKICAJCSAgJmZ1bmN0aW9ubGlz dCwgImZ1bmN0aW9uICIsIDAsICZjbWRsaXN0KTsKQEAgLTEyMzkxLDEwICsxMjM5OCwxMCBAQCBp bmRleCBlMjYyNzBjLi4yOWJiMGNhIDEwMDY0NAogKyAgb2JzZXJ2ZXJfYXR0YWNoX21hcmtfdXNl ZCAodmFsdWVfdHlwZXNfbWFya191c2VkKTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmgg Yi9nZGIvdmFsdWUuaAotaW5kZXggYWE4ZmYzYy4uMmI0NTQzYyAxMDA2NDQKK2luZGV4IGUwMTll NTYuLmJhNWUyMGYgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuaAogKysrIGIvZ2RiL3ZhbHVlLmgK LUBAIC0zOTUsNiArMzk1LDEwIEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Zyb21fZG91 YmxlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgRE9VQkxFU1QgbnVtKTsKK0BAIC00NzIsNiArNDcyLDEw IEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Zyb21fZG91YmxlIChzdHJ1Y3QgdHlwZSAq dHlwZSwgRE9VQkxFU1QgbnVtKTsKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2Rl Y2Zsb2F0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkJCSAgY29uc3QgZ2RiX2J5dGUgKmRlY2J5 dGVzKTsKICAKCmRpZmYgLS1naXQgYS9nZGItYno1NjI3NjMtcHJldHR5LXByaW50LTJkLXZlY3Rv cnMucGF0Y2ggYi9nZGItYno1NjI3NjMtcHJldHR5LXByaW50LTJkLXZlY3RvcnMucGF0Y2gKaW5k ZXggM2M1ZTBkYi4uMGUzZDIxNiAxMDA2NDQKLS0tIGEvZ2RiLWJ6NTYyNzYzLXByZXR0eS1wcmlu dC0yZC12ZWN0b3JzLnBhdGNoCisrKyBiL2dkYi1iejU2Mjc2My1wcmV0dHktcHJpbnQtMmQtdmVj dG9ycy5wYXRjaApAQCAtMTIsMTAgKzEyLDEwIEBACiAJKiBnZGIucHl0aG9uL3ByMTA2NTkuZXhw LiAgTmV3IGZpbGUuCiAJKiBnZGIucHl0aG9uL3ByMTA2NTkucHk6IE5ldyBmaWxlLgogCi1JbmRl eDogZ2RiLTcuMi41MC4yMDExMDIwNi9nZGIvdmFscHJpbnQuaAorSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAyMTgvZ2RiL3ZhbHByaW50LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIwMTEw MjA2Lm9yaWcvZ2RiL3ZhbHByaW50LmgJMjAxMS0wMS0yNSAxODo1OTowMC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi92YWxwcmludC5oCTIwMTEtMDItMDYgMjA6 NTU6NTkuMDAwMDAwMDAwICswMTAwCistLS0gZ2RiLTcuMi41MC4yMDExMDIxOC5vcmlnL2dkYi92 YWxwcmludC5oCTIwMTEtMDItMTQgMTI6MzU6NDUuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Mi41MC4yMDExMDIxOC9nZGIvdmFscHJpbnQuaAkyMDExLTAyLTE4IDEwOjQ0OjMyLjAwMDAwMDAw MCArMDEwMAogQEAgLTkwLDYgKzkwLDkgQEAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMKICAK ICAgIC8qIElmIG5vbnplcm8sIHByaW50IHRoZSB2YWx1ZSBpbiAic3VtbWFyeSIgZm9ybS4gICov CkBAIC0yNiwxMCArMjYsMTAgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3ZhbHBy aW50LmgKICB9OwogIAogIC8qIFRoZSBnbG9iYWwgcHJpbnQgb3B0aW9ucyBzZXQgYnkgdGhlIHVz ZXIuICBJbiBnZW5lcmFsIHRoaXMgc2hvdWxkCi1JbmRleDogZ2RiLTcuMi41MC4yMDExMDIwNi9n ZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMKK0luZGV4OiBnZGItNy4yLjUwLjIwMTEwMjE4L2dk Yi9weXRob24vcHktcHJldHR5cHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAx MTAyMDYub3JpZy9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMS0wMS0yNiAyMTo1ODo0 OC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi9weXRob24vcHkt cHJldHR5cHJpbnQuYwkyMDExLTAyLTA2IDIwOjU2OjMwLjAwMDAwMDAwMCArMDEwMAorLS0tIGdk Yi03LjIuNTAuMjAxMTAyMTgub3JpZy9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMS0w Mi0xNCAxMjoxMDo1My4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjUwLjIwMTEwMjE4L2dk Yi9weXRob24vcHktcHJldHR5cHJpbnQuYwkyMDExLTAyLTE4IDEwOjQ1OjAyLjAwMDAwMDAwMCAr MDEwMAogQEAgLTUwMSw3ICs1MDEsNyBAQCBwcmludF9jaGlsZHJlbiAoUHlPYmplY3QgKnByaW50 ZXIsIGNvbnN0CiAgCiAgICAvKiBVc2UgdGhlIHByZXR0eXByaW50X2FycmF5cyBvcHRpb24gaWYg d2UgYXJlIHByaW50aW5nIGFuIGFycmF5LApAQCAtMTAzLDE1ICsxMDMsMTUgQEAgSW5kZXg6IGdk Yi03LjIuNTAuMjAxMTAyMDYvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5jCiAgICAgIH0KICAK ICAgZG9uZToKLUBAIC02OTAsNiArNzEzLDcgQEAgYXBwbHlfdmFsX3ByZXR0eV9wcmludGVyIChz dHJ1Y3QgdHlwZSAqdAorQEAgLTY4OSw2ICs3MTIsNyBAQCBhcHBseV92YWxfcHJldHR5X3ByaW50 ZXIgKHN0cnVjdCB0eXBlICp0CisgICBjaGFyICpoaW50ID0gTlVMTDsKICAgIHN0cnVjdCBjbGVh bnVwICpjbGVhbnVwczsKICAgIGludCByZXN1bHQgPSAwOwotICAgZW51bSBzdHJpbmdfcmVwcl9y ZXN1bHQgcHJpbnRfcmVzdWx0OwogKyAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnNfY29weTsKLSAgIGNsZWFudXBzID0gZW5zdXJlX3B5dGhvbl9lbnYgKGdkYmFyY2gsIGxhbmd1 YWdlKTsKKyAgIGVudW0gc3RyaW5nX3JlcHJfcmVzdWx0IHByaW50X3Jlc3VsdDsKICAKLSAgIC8q IEluc3RhbnRpYXRlIHRoZSBwcmludGVyLiAgKi8KLUBAIC03MjEsOSArNzQ1LDIxIEBAIGFwcGx5 X3ZhbF9wcmV0dHlfcHJpbnRlciAoc3RydWN0IHR5cGUgKnQKKyAgIC8qIE5vIHByZXR0eS1wcmlu dGVyIHN1cHBvcnQgZm9yIHVuYXZhaWxhYmxlIHZhbHVlcy4gICovCitAQCAtNzI2LDkgKzc1MCwy MSBAQCBhcHBseV92YWxfcHJldHR5X3ByaW50ZXIgKHN0cnVjdCB0eXBlICp0CiAgCiAgICAvKiBJ ZiB3ZSBhcmUgcHJpbnRpbmcgYSBtYXAsIHdlIHdhbnQgc29tZSBzcGVjaWFsIGZvcm1hdHRpbmcu ICAqLwogICAgaGludCA9IGdkYnB5X2dldF9kaXNwbGF5X2hpbnQgKHByaW50ZXIpOwpAQCAtMTMz LDEwICsxMzMsMTAgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3B5dGhvbi9weS1w cmV0dHlwcmludC5jCiAgICBwcmludF9yZXN1bHQgPSBwcmludF9zdHJpbmdfcmVwciAocHJpbnRl ciwgaGludCwgc3RyZWFtLCByZWN1cnNlLAogIAkJCQkgICAgb3B0aW9ucywgbGFuZ3VhZ2UsIGdk YmFyY2gpOwogICAgaWYgKHByaW50X3Jlc3VsdCAhPSBzdHJpbmdfcmVwcl9lcnJvcikKLUluZGV4 OiBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEwNjU5LmNj CitJbmRleDogZ2RiLTcuMi41MC4yMDExMDIxOC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHIx MDY1OS5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3ByMTA2NTkuY2MJMjAxMS0wMi0wNiAyMDo1NTo1OS4wMDAwMDAwMDAgKzAxMDAKKysr KyBnZGItNy4yLjUwLjIwMTEwMjE4L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEwNjU5LmNj CTIwMTEtMDItMTggMTA6NDQ6MzIuMDAwMDAwMDAwICswMTAwCiBAQCAtMCwwICsxLDQzIEBACiAr I2luY2x1ZGUgPGxpc3Q+CiArI2luY2x1ZGUgPHZlY3Rvcj4gIC8vIC91c3IvaW5jbHVkZS9jKysv NC40LjEvYml0cy92ZWN0b3IudGNjCkBAIC0xODEsMTAgKzE4MSwxMCBAQCBJbmRleDogZ2RiLTcu Mi41MC4yMDExMDIwNi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHIxMDY1OS5jYwogKyAgCiAr ICByZXR1cm4gMDsgIC8vIGJyZWFrCiArfQotSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMDYvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2NTkuZXhwCitJbmRleDogZ2RiLTcuMi41MC4yMDEx MDIxOC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHIxMDY1OS5leHAKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4yLjUwLjIwMTEwMjA2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEwNjU5LmV4cAkyMDEx LTAyLTA2IDIwOjU1OjU5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuNTAuMjAxMTAyMTgv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2NTkuZXhwCTIwMTEtMDItMTggMTA6NDQ6MzIu MDAwMDAwMDAwICswMTAwCiBAQCAtMCwwICsxLDgyIEBACiArI0NvcHlyaWdodCAyMDEwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjY4LDEwICsyNjgsMTAgQEAgSW5kZXg6 IGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2NTkuZXhw CiArIyAKICsKICsKLUluZGV4OiBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9wcjEwNjU5LnB5CitJbmRleDogZ2RiLTcuMi41MC4yMDExMDIxOC9nZGIvdGVzdHN1 aXRlL2dkYi5weXRob24vcHIxMDY1OS5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuNTAuMjAxMTAyMDYv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2NTkucHkJMjAxMS0wMi0wNiAyMDo1NTo1OS4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjUwLjIwMTEwMjE4L2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9wcjEwNjU5LnB5CTIwMTEtMDItMTggMTA6NDQ6MzIuMDAwMDAwMDAwICswMTAwCiBA QCAtMCwwICsxLDEwOSBAQAogKyMgQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMzgyLDEwICszODIsMTAgQEAgSW5kZXg6IGdkYi03 LjIuNTAuMjAxMTAyMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2NTkucHkKICtmYWtl X3ByZXR0eV9wcmludGVyc19kaWN0ID0ge30KICsKICtidWlsZF9saWJmYWtlY3h4X2RpY3Rpb25h cnkgKCkKLUluZGV4OiBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi92YWxwcmludC5jCitJbmRleDog Z2RiLTcuMi41MC4yMDExMDIxOC9nZGIvdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjIuNTAuMjAxMTAyMDYub3JpZy9nZGIvdmFscHJpbnQuYwkyMDExLTAyLTA2IDIwOjU1OjUyLjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3ZhbHByaW50LmMJMjAx MS0wMi0wNiAyMDo1NTo1OS4wMDAwMDAwMDAgKzAxMDAKKy0tLSBnZGItNy4yLjUwLjIwMTEwMjE4 Lm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAxMS0wMi0xOCAxMDo0NDoxNi4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy4yLjUwLjIwMTEwMjE4L2dkYi92YWxwcmludC5jCTIwMTEtMDItMTggMTA6NDQ6 MzIuMDAwMDAwMDAwICswMTAwCiBAQCAtODUsNyArODUsOCBAQCBzdHJ1Y3QgdmFsdWVfcHJpbnRf b3B0aW9ucyB1c2VyX3ByaW50X29wCiAgICAxLAkJCQkvKiBzdGF0aWNfZmllbGRfcHJpbnQgKi8K ICAgIDEsCQkJCS8qIHBhc2NhbF9zdGF0aWNfZmllbGRfcHJpbnQgKi8KCmRpZmYgLS1naXQgYS9n ZGItY29tcGlsZS1kb2MtaW5mby5wYXRjaCBiL2dkYi1jb21waWxlLWRvYy1pbmZvLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzE4ZjBjLi4wMDAwMDAwCi0tLSBhL2dkYi1j b21waWxlLWRvYy1pbmZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotaHR0 cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDIvbXNnMDAyMzQuaHRtbAot U3ViamVjdDogUmU6IFtyZmEvcmZjXSBCdWlsZCBsaWJjb21tb24uYSBmb3IgZ2RiIGFuZCBnZGJz ZXJ2ZXIKLQotVGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0t LS0tLS0tLS0tLS0tMDMwMjAwMDUwNzAxMDUwNTA4MDIwMzA3Ci1Db250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQot T24gMDIvMTIvMjAxMSAwMjo0NyBBTSwgVG9tIFRyb21leSB3cm90ZToKLT4gY29tbW9uL01ha2Vm aWxlLmluIGRvZXNuJ3QgaGF2ZSBhIGNvcHlyaWdodCBoZWFkZXIuCi0+IEkgZGlkbid0IGNoZWNr IHRoZSBvdGhlciBmaWxlcy4KLT4gCi0KLUFkZCBhIGNvcHlyaWdodCBoZWFkZXIgdG8gY29tbW9u L01ha2VmaWxlLmluLiAgT3RoZXIgZmlsZXMgaGF2ZQotY29weXJpZ2h0IGhlYWRlci4gIEFwcGxp ZWQgYXMgb2J2aW91cy4KLQotPiAibWFrZSBpbmZvIiBub3cgZmFpbHMuICBJIGRpZG4ndCBjaGVj ayBvdGhlciBzdWJkaXIgdGFyZ2V0cyBpbgotPiBnZGIvTWFrZWZpbGUuaW4uICBBdXRvbWFrZSB3 b3VsZCBzb2x2ZSB0aGlzIHBsdXMgc29tZSBvdGhlciB0aGluZ3MKLT4gLi4uIDotKQotCi1BZGQg c29tZSBtb3JlIHRhcmdldHMgaW4gY29tbW9uL01ha2VmaWxlLmluIGluIHRoaXMgcGF0Y2guICBg bWFrZQote2luZm8scGRmLGh0bWwsZHZpfScgd29ya3MuCi0KLS0tIAotWWFvICjpvZDlsKcpCi0K LS0tLS0tLS0tLS0tLS0tMDMwMjAwMDUwNzAxMDUwNTA4MDIwMzA3Ci1Db250ZW50LVR5cGU6IHRl eHQveC1wYXRjaDsKLSBuYW1lPSJtb3JlLXRhcmdldHMucGF0Y2giCi1Db250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA3Yml0Ci1Db250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OwotIGZpbGVu YW1lPSJtb3JlLXRhcmdldHMucGF0Y2giCi0KLWNvbW1vbi8KLQotCSogTWFrZWZpbGUuaW46IEFk ZCBtb3JlIHRhcmdldHMgZm9yIG1ha2UuCi0KLUluZGV4OiBNYWtlZmlsZS5pbgotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvY29tbW9uL01ha2VmaWxlLmluLHYKLXJldHJp ZXZpbmcgcmV2aXNpb24gMS4xCi1kaWZmIC11IC1yMS4xIE1ha2VmaWxlLmluCi0tLS0gLi9nZGIv Y29tbW9uL01ha2VmaWxlLmluCTExIEZlYiAyMDExIDA5OjU3OjI1IC0wMDAwCTEuMQotKysrIC4v Z2RiL2NvbW1vbi9NYWtlZmlsZS5pbgkxMiBGZWIgMjAxMSAwMjo1NDoxNSAtMDAwMAotQEAgLTc0 LDMgKzkxLDIwIEBACi0gZGlzdGNsZWFuIG1haW50YWluZXItY2xlYW4gcmVhbGNsZWFuOiBjbGVh bgotIAktcm0gLWYgKn4KLSAJLXJtIC1mIE1ha2VmaWxlIGNvbmZpZy5zdGF0dXMgY29uZmlnLmxv ZwotKwotKy5QSE9OWTogaW5zdGFsbAotK2luc3RhbGw6IGFsbAotKwotKy5QSE9OWTogaW5zdGFs bC1vbmx5Ci0raW5zdGFsbC1vbmx5OgotKyAKLSsuUEhPTlk6IHVuaW5zdGFsbAotK3VuaW5zdGFs bDogCi0rCi0rLlBIT05ZOiBjaGVjayBpbnN0YWxsY2hlY2sgaW5mbyBkdmkgcGRmIGh0bWwKLSsu UEhPTlk6IGluc3RhbGwtaW5mbyBpbnN0YWxsLXBkZiBpbnN0YWxsLWh0bWwgY2xlYW4taW5mbwot K2NoZWNrIGluc3RhbGxjaGVjazoKLStpbmZvIGR2aSBwZGYgaHRtbDoKLStpbnN0YWxsLWluZm8g aW5zdGFsbC1wZGYgaW5zdGFsbC1odG1sOgotK2NsZWFuLWluZm86Ci0rCi0KLS0tLS0tLS0tLS0t LS0tMDMwMjAwMDUwNzAxMDUwNTA4MDIwMzA3LS0KLQoKZGlmZiAtLWdpdCBhL2dkYi11cHN0cmVh bS5wYXRjaCBiL2dkYi11cHN0cmVhbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMGIzMGZkZi4uMDAwMDAwMAotLS0gYS9nZGItdXBzdHJlYW0ucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwyMDYgKzAsMCBAQAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAx MS0wMi9tc2cwMDA2My5odG1sCi0KLSMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDExLzAyLzEyIDEz OjA3OjM4CTEuMTI1NTcKLSMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDExLzAyLzEzIDA5OjA5OjMz CTEuMTI1NTgKLSMjIC0xLDMgKzEsOSBAQAotKzIwMTEtMDItMTMgIEphbiBLcmF0b2NodmlsICA8 amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLSsKLSsJKiBzeW10YWIuYyAoZmluZF9wY19zZWN0 X2xpbmUpOiBOZXcgdmFyaWFibGUgb2JqZmlsZSwgaW5pdGlhbGl6ZSBpdAotKwlmcm9tIFMuICBJ dGVyYXRlIFMgdXNpbmcgQUxMX09CSkZJTEVfU1lNVEFCUy4gIFZlcmlmeSBCViBmb3IgZWFjaCBT LgotKwkqIHN5bXRhYi5oIChzdHJ1Y3Qgc3ltdGFiKSA8bmV4dD46IENvbW1lbnQgZXh0ZW5zaW9u LgotKwotIDIwMTEtMDItMTIgIFlhbyBRaSAgPHlhb0Bjb2Rlc291cmNlcnkuY29tPgotIAotIAkq IE1ha2VmaWxlLmluIChDTEVBTkRJUlMpOiBSZW1vdmUgZHVwbGljYXRlZCBjb21tb24gZGlyLgot LS0tIHNyYy9nZGIvc3ltdGFiLmMJMjAxMS8wMS8xMSAyMTo1MzoyNAkxLjI1NwotKysrIHNyYy9n ZGIvc3ltdGFiLmMJMjAxMS8wMi8xMyAwOTowOTozNgkxLjI1OAotQEAgLTE5MDQsNiArMTkwNCw3 IEBACi0gICBzdHJ1Y3QgYmxvY2t2ZWN0b3IgKmJ2OwotICAgc3RydWN0IG1pbmltYWxfc3ltYm9s ICptc3ltYm9sOwotICAgc3RydWN0IG1pbmltYWxfc3ltYm9sICptZnVuc3ltOwotKyAgc3RydWN0 IG9iamZpbGUgKm9iamZpbGU7Ci0gCi0gICAvKiBJbmZvIG9uIGJlc3QgbGluZSBzZWVuIHNvIGZh ciwgYW5kIHdoZXJlIGl0IHN0YXJ0cywgYW5kIGl0cyBmaWxlLiAgKi8KLSAKLUBAIC0yMDMxLDEz ICsyMDMyLDE3IEBACi0gICAgIH0KLSAKLSAgIGJ2ID0gQkxPQ0tWRUNUT1IgKHMpOwotKyAgb2Jq ZmlsZSA9IHMtPm9iamZpbGU7Ci0gCi0gICAvKiBMb29rIGF0IGFsbCB0aGUgc3ltdGFicyB0aGF0 IHNoYXJlIHRoaXMgYmxvY2t2ZWN0b3IuCi0gICAgICBUaGV5IGFsbCBoYXZlIHRoZSBzYW1lIGFw cmlvcmkgcmFuZ2UsIHRoYXQgd2UgZm91bmQgd2FzIHJpZ2h0OwotICAgICAgYnV0IHRoZXkgaGF2 ZSBkaWZmZXJlbnQgbGluZSB0YWJsZXMuICAqLwotIAotLSAgZm9yICg7IHMgJiYgQkxPQ0tWRUNU T1IgKHMpID09IGJ2OyBzID0gcy0+bmV4dCkKLSsgIEFMTF9PQkpGSUxFX1NZTVRBQlMgKG9iamZp bGUsIHMpCi0gICAgIHsKLSsgICAgICBpZiAoQkxPQ0tWRUNUT1IgKHMpICE9IGJ2KQotKwljb250 aW51ZTsKLSsKLSAgICAgICAvKiBGaW5kIHRoZSBiZXN0IGxpbmUgaW4gdGhpcyBzeW10YWIuICAq LwotICAgICAgIGwgPSBMSU5FVEFCTEUgKHMpOwotICAgICAgIGlmICghbCkKLS0tLSBzcmMvZ2Ri L3N5bXRhYi5oCTIwMTEvMDEvMTEgMjE6NTM6MjUJMS4xNjgKLSsrKyBzcmMvZ2RiL3N5bXRhYi5o CTIwMTEvMDIvMTMgMDk6MDk6MzYJMS4xNjkKLUBAIC03MzgsOCArNzM4LDcgQEAKLSAKLSBzdHJ1 Y3Qgc3ltdGFiCi0gewotLQotLSAgLyogQ2hhaW4gb2YgYWxsIGV4aXN0aW5nIHN5bXRhYnMuICAq LwotKyAgLyogVW5vcmRlcmVkIGNoYWluIG9mIGFsbCBleGlzdGluZyBzeW10YWJzIG9mIHRoaXMg b2JqZmlsZS4gICovCi0gCi0gICBzdHJ1Y3Qgc3ltdGFiICpuZXh0OwotIAotCi0KLQotaHR0cDov L3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxMS0wMi9tc2cwMDA2NC5odG1sCi0KLSMjIyBz cmMvZ2RiL0NoYW5nZUxvZwkyMDExLzAyLzEzIDA5OjA5OjMzCTEuMTI1NTgKLSMjIyBzcmMvZ2Ri L0NoYW5nZUxvZwkyMDExLzAyLzEzIDA5OjE1OjUwCTEuMTI1NTkKLSMjIC0xLDUgKzEsMTIgQEAK LSAyMDExLTAyLTEzICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+ Ci0gCi0rCUZpeCBjb25zdC92b2xhdGlsZSBxdWFsaWZpZXJzIG9mIEMrKyB0eXBlcywgUFIgYysr LzEyMzI4LgotKwkqIGMtdHlwZXByaW50LmMgKGNfdHlwZV9wcmludF9hcmdzKTogVXBkYXRlIHRo ZSBmdW5jdGlvbiBjb21tZW50LiAgTmV3Ci0rCXZhcmlhYmxlIHBhcmFtX3R5cGUsIGluaXRpYWxp emUgaXQuICBSZW1vdmUgY29uc3Qvdm9sYXRpbGUgcXVhbGlmaWVycwotKwlmb3IgbGFuZ3VhZ2Vf Y3BsdXMgYW5kICFzaG93X2FydGlmaWNpYWwuICBVc2UgcGFyYW1fdHlwZS4KLSsKLSsyMDExLTAy LTEzICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0rCi0gCSog c3ltdGFiLmMgKGZpbmRfcGNfc2VjdF9saW5lKTogTmV3IHZhcmlhYmxlIG9iamZpbGUsIGluaXRp YWxpemUgaXQKLSAJZnJvbSBTLiAgSXRlcmF0ZSBTIHVzaW5nIEFMTF9PQkpGSUxFX1NZTVRBQlMu ICBWZXJpZnkgQlYgZm9yIGVhY2ggUy4KLSAJKiBzeW10YWIuaCAoc3RydWN0IHN5bXRhYikgPG5l eHQ+OiBDb21tZW50IGV4dGVuc2lvbi4KLS0tLSBzcmMvZ2RiL2MtdHlwZXByaW50LmMJMjAxMS8w MS8wNyAxOTozNjoxNQkxLjY4Ci0rKysgc3JjL2dkYi9jLXR5cGVwcmludC5jCTIwMTEvMDIvMTMg MDk6MTU6NTMJMS42OQotQEAgLTM4OCw5ICszODgsMTIgQEAKLSAvKiBQcmludCBvdXQgdGhlIGFy Z3VtZW50cyBvZiBUWVBFLCB3aGljaCBzaG91bGQgaGF2ZSBUWVBFX0NPREVfTUVUSE9ECi0gICAg b3IgVFlQRV9DT0RFX0ZVTkMsIHRvIFNUUkVBTS4gIEFydGlmaWNpYWwgYXJndW1lbnRzLCBzdWNo IGFzICJ0aGlzIgotICAgIGluIG5vbi1zdGF0aWMgbWV0aG9kcywgYXJlIGRpc3BsYXllZCBpZiBT SE9XX0FSVElGSUNJQUwgaXMKLS0gICBub24temVyby4gIExBTkdVQUdFIGlzIHRoZSBsYW5ndWFn ZSBpbiB3aGljaCBUWVBFIHdhcyBkZWZpbmVkLgotLSAgIFRoaXMgaXMgYSBuZWNlc3NhcnkgZXZp bCBzaW5jZSB0aGlzIGNvZGUgaXMgdXNlZCBieSB0aGUgQywgQysrLCBhbmQKLS0gICBKYXZhIGJh Y2tlbmRzLiAgKi8KLSsgICBub24temVyby4gIElmIFNIT1dfQVJUSUZJQ0lBTCBpcyB6ZXJvIGFu ZCBMQU5HVUFHRSBpcyBsYW5ndWFnZV9jcGx1cwotKyAgIHRoZSB0b3Btb3N0IHBhcmFtZXRlciB0 eXBlcyBnZXQgcmVtb3ZlZCB0aGVpciBwb3NzaWJsZSBjb25zdCBhbmQgdm9sYXRpbGUKLSsgICBx dWFsaWZpZXJzIHRvIG1hdGNoIGRlbWFuZ2xlZCBsaW5rYWdlIG5hbWUgcGFyYW1ldGVycyBwYXJ0 IG9mIHN1Y2ggZnVuY3Rpb24KLSsgICB0eXBlLiAgTEFOR1VBR0UgaXMgdGhlIGxhbmd1YWdlIGlu IHdoaWNoIFRZUEUgd2FzIGRlZmluZWQuICBUaGlzIGlzCi0rICAgYSBuZWNlc3NhcnkgZXZpbCBz aW5jZSB0aGlzIGNvZGUgaXMgdXNlZCBieSB0aGUgQywgQysrLCBhbmQgSmF2YSBiYWNrZW5kcy4K LSsgICAqLwotIAotIHZvaWQKLSBjX3R5cGVfcHJpbnRfYXJncyAoc3RydWN0IHR5cGUgKnR5cGUs IHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi1AQCAtNDA2LDYgKzQwOSw4IEBACi0gCi0gICBmb3Ig KGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsgaSsrKQotICAgICB7Ci0rICAgICAgc3Ry dWN0IHR5cGUgKnBhcmFtX3R5cGU7Ci0rCi0gICAgICAgaWYgKFRZUEVfRklFTERfQVJUSUZJQ0lB TCAodHlwZSwgaSkgJiYgIXNob3dfYXJ0aWZpY2lhbCkKLSAJY29udGludWU7Ci0gCi1AQCAtNDE1 LDEyICs0MjAsMjQgQEAKLSAJICB3cmFwX2hlcmUgKCIgICAgIik7Ci0gCX0KLSAKLSsgICAgICBw YXJhbV90eXBlID0gVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBpKTsKLSsKLSsgICAgICBpZiAobGFu Z3VhZ2UgPT0gbGFuZ3VhZ2VfY3BsdXMgJiYgIXNob3dfYXJ0aWZpY2lhbCkKLSsJewotKwkgIC8q IEMrKyBzdGFuZGFyZCwgMTMuMSBPdmVybG9hZGFibGUgZGVjbGFyYXRpb25zLCBwb2ludCAzLCBp dGVtOgotKwkgICAgIC0gUGFyYW1ldGVyIGRlY2xhcmF0aW9ucyB0aGF0IGRpZmZlciBvbmx5IGlu IHRoZSBwcmVzZW5jZSBvcgotKwkgICAgICAgYWJzZW5jZSBvZiBjb25zdCBhbmQvb3Igdm9sYXRp bGUgYXJlIGVxdWl2YWxlbnQuCi0rCi0rCSAgICAgQW5kIHRoZSBjb25zdC92b2xhdGlsZSBxdWFs aWZpZXJzIGFyZSBub3QgcHJlc2VudCBpbiB0aGUgbWFuZ2xlZAotKwkgICAgIG5hbWVzIGFzIHBy b2R1Y2VkIGJ5IEdDQy4gICovCi0rCi0rCSAgcGFyYW1fdHlwZSA9IG1ha2VfY3ZfdHlwZSAoMCwg MCwgcGFyYW1fdHlwZSwgTlVMTCk7Ci0rCX0KLSsKLSAgICAgICBpZiAobGFuZ3VhZ2UgPT0gbGFu Z3VhZ2VfamF2YSkKLS0JamF2YV9wcmludF90eXBlIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkp LAotLQkJCSAiIiwgc3RyZWFtLCAtMSwgMCk7Ci0rCWphdmFfcHJpbnRfdHlwZSAocGFyYW1fdHlw ZSwgIiIsIHN0cmVhbSwgLTEsIDApOwotICAgICAgIGVsc2UKLS0JY19wcmludF90eXBlIChUWVBF X0ZJRUxEX1RZUEUgKHR5cGUsIGkpLAotLQkJICAgICAgIiIsIHN0cmVhbSwgLTEsIDApOwotKwlj X3ByaW50X3R5cGUgKHBhcmFtX3R5cGUsICIiLCBzdHJlYW0sIC0xLCAwKTsKLSAgICAgICBwcmlu dGVkX2FueSA9IDE7Ci0gICAgIH0KLSAKLSMjIyBzcmMvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cJ MjAxMS8wMi8wOCAxMzozMDowOAkxLjI1NzYKLSMjIyBzcmMvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VM b2cJMjAxMS8wMi8xMyAwOToxNTo1MwkxLjI1NzcKLSMjIC0xLDMgKzEsOSBAQAotKzIwMTEtMDIt MTMgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLSsKLSsJRml4 IGNvbnN0L3ZvbGF0aWxlIHF1YWxpZmllcnMgb2YgQysrIHR5cGVzLCBQUiBjKysvMTIzMjguCi0r CSogZ2RiLmNwL292ZXJsb2FkLWNvbnN0LmV4cDogTmV3IGZpbGUuCi0rCSogZ2RiLmNwL292ZXJs b2FkLWNvbnN0LmNjOiBOZXcgZmlsZS4KLSsKLSAyMDExLTAyLTA4ICBVbHJpY2ggV2VpZ2FuZCAg PHV3ZWlnYW5kQGRlLmlibS5jb20+Ci0gCi0gCSogZ2RiLm9wZW5jbC9jYWxsZnVuY3MuY2w6IE5l dyBmaWxlLgotLS0tIHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVybG9hZC1jb25zdC5jYwot KysrIHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVybG9hZC1jb25zdC5jYwkyMDExLTAyLTEz IDE3OjQ3OjE1LjU4Nzc4MDAwMCArMDAwMAotQEAgLTAsMCArMSwyOCBAQAotKy8qIFRoaXMgdGVz dCBjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdo dCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLStjbGFzcyBteWNsYXNzCi0rewotK3B1Ymxp YzoKLSsgIHN0YXRpYyB2b2lkIGZ1bmMoY29uc3QgaW50IGFhKSB7fQotK307Ci0rCi0raW50Ci0r bWFpbiAoKQotK3sKLSsgIG15Y2xhc3M6OmZ1bmMgKDQyKTsKLSt9Ci0tLS0gc3JjL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL292ZXJsb2FkLWNvbnN0LmV4cAotKysrIHNyYy9nZGIvdGVzdHN1aXRlL2dk Yi5jcC9vdmVybG9hZC1jb25zdC5leHAJMjAxMS0wMi0xMyAxNzo0NzoxNS44ODQ2OTgwMDAgKzAw MDAKLUBAIC0wLDAgKzEsMjkgQEAKLSsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rIyBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4KLSsKLStpZiB7W3NraXBfY3Bs dXNfdGVzdHNdfSB7IGNvbnRpbnVlIH0KLSsKLStzZXQgdGVzdGZpbGUgIm92ZXJsb2FkLWNvbnN0 IgotK2lmIFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZSAkdGVzdGZpbGUgJHRlc3RmaWxl LmNjIHtjKysgZGVidWd9XSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLStnZGJfdGVzdF9ub19v dXRwdXQgInNldCBsYW5ndWFnZSBjKysiCi0rCi0raWYgW2dkYl9icmVha3BvaW50ICJteWNsYXNz OjpmdW5jIl0gewotKyAgICBwYXNzICJzZXR0aW5nIGJyZWFrcG9pbnQgYXQgbXljbGFzczo6ZnVu YyIKLSt9CgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBkZGJlNDIxLi4y NmFkM2ZlIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMjMsMTEgKzIz LDExIEBAIE5hbWU6IGdkYiV7P193aXRoX2RlYnVnOi1kZWJ1Z30KICMgU2V0IHZlcnNpb24gdG8g Y29udGVudHMgb2YgZ2RiL3ZlcnNpb24uaW4uCiAjIE5PVEU6IHRoZSBGU0YgZ2RiIHZlcnNpb25z IGFyZSBudW1iZXJlZCBOLk0gZm9yIG9mZmljaWFsIHJlbGVhc2VzLCBsaWtlIDYuMwogIyBhbmQs IHNpbmNlIEphbnVhcnkgMjAwNSwgWC5ZLlouZGF0ZSBmb3IgZGFpbHkgc25hcHNob3RzLCBsaWtl IDYuMy41MC4yMDA1MDExMiAjIChkYWlseSBzbmFwc2hvdCBmcm9tIG1haWxpbmUpLCBvciA2LjMu MC4yMDA0MDExMiAoaGVhZCBvZiB0aGUgcmVsZWFzZSBicmFuY2gpLgotVmVyc2lvbjogNy4yLjUw LjIwMTEwMjEzCitWZXJzaW9uOiA3LjIuNTAuMjAxMTAyMTgKIAogIyBUaGUgcmVsZWFzZSBhbHdh eXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMg YHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBl bmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAyMyV7P193aXRo X3Vwc3RyZWFtOi51cHN0cmVhbX0lez9kaXN0fQorUmVsZWFzZTogMjQlez9fd2l0aF91cHN0cmVh bToudXBzdHJlYW19JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBl eGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsg YW5kIExHUEx2MisgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50 L0RlYnVnZ2VycwpAQCAtMjY0LDcgKzI2NCw3IEBAIFBhdGNoMjMxOiBnZGItNi4zLWJ6MjAyNjg5 LWV4ZWMtZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2gKIAogIyBCYWNrcG9ydGVkIGZpeHVwcyBwb3N0 IHRoZSBzb3VyY2UgdGFyYmFsbC4KICNYZHJvcDogSnVzdCBiYWNrcG9ydHMuCi1QYXRjaDIzMjog Z2RiLXVwc3RyZWFtLnBhdGNoCisjUGF0Y2gyMzI6IGdkYi11cHN0cmVhbS5wYXRjaAogCiAjIFRl c3RjYXNlIGZvciBQUEMgUG93ZXI2L0RGUCBpbnN0cnVjdGlvbnMgZGlzYXNzZW1ibHkgKEJaIDIz MDAwMCkuCiAjPWZlZG9yYXRlc3QrcHBjCkBAIC01NTgsMTAgKzU1OCw2IEBAIFBhdGNoNTY1OiBn ZGItcGh5c25hbWUtcHIxMTczNC0xb2YyLnBhdGNoCiBQYXRjaDU2NjogZ2RiLXBoeXNuYW1lLXBy MTE3MzQtMm9mMi5wYXRjaAogUGF0Y2g1Njc6IGdkYi1waHlzbmFtZS1wcjEyMjczLnBhdGNoCiAK LSMgVGVtcG9yYXJ5IEhFQUQgY29tcGlsYXRpb24gZml4LgotIyA9ZHJvcAotUGF0Y2g1Njg6IGdk Yi1jb21waWxlLWRvYy1pbmZvLnBhdGNoCi0KIEJ1aWxkUmVxdWlyZXM6IG5jdXJzZXMtZGV2ZWwl ez9faXNhfSB0ZXhpbmZvIGdldHRleHQgZmxleCBiaXNvbiBleHBhdC1kZXZlbCV7P19pc2F9CiBS ZXF1aXJlczogcmVhZGxpbmUlez9faXNhfQogQnVpbGRSZXF1aXJlczogcmVhZGxpbmUtZGV2ZWwl ez9faXNhfQpAQCAtNzE2LDcgKzcxMiw3IEBAIHJtIC1mIGdkYi9qdi1leHAuYyBnZGIvbTItZXhw LmMgZ2RiL29iamMtZXhwLmMgZ2RiL3AtZXhwLmMKIAogJWlmIDAleyE/X3dpdGhfdXBzdHJlYW06 MX0KIAotJXBhdGNoMjMyIC1wMQorI3BhdGNoMjMyIC1wMQogJXBhdGNoMzQ5IC1wMQogJXBhdGNo MSAtcDEKICVwYXRjaDMgLXAxCkBAIC04MzEsNyArODI3LDYgQEAgcm0gLWYgZ2RiL2p2LWV4cC5j IGdkYi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoNTY1IC1wMQog JXBhdGNoNTY2IC1wMQogJXBhdGNoNTY3IC1wMQotJXBhdGNoNTY4IC1wMQogCiAlcGF0Y2gzOTAg LXAxCiAlcGF0Y2gzOTMgLXAxCkBAIC0xMjM5LDYgKzEyMzQsMTAgQEAgZmkKICV7X2luZm9kaXJ9 L2dkYi5pbmZvKgogCiAlY2hhbmdlbG9nCisqIEZyaSBGZWIgMTggMjAxMSBKYW4gS3JhdG9jaHZp bCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjIuNTAuMjAxMTAyMTgtMjQuZmMxNQor LSBSZWJhc2UgdG8gRlNGIEdEQiA3LjIuNTAuMjAxMTAyMTggKHdoaWNoIGlzIGEgNy4zIHByZS1y ZWxlYXNlKS4KKy0gW3ZsYV0gRm94IEZvcnRyYW4gdmVjdG9yIHNsaWNlcyBmb3IgYWxsb2NhdGVk IGFycmF5cyAoZm9yIEJaIDYwOTc4MikuCisKICogVHVlIEZlYiAxNSAyMDExIEphbiBLcmF0b2No dmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi41MC4yMDExMDIxMy0yMy5mYzE1 CiAtIE1vdmUgdGhlIEdGREwgTGljZW5zZSB0byBnZGItZG9jLgogCgpkaWZmIC0tZ2l0IGEvc291 cmNlcyBiL3NvdXJjZXMKaW5kZXggYjlhODVhOS4uNDIxOTEwOSAxMDA2NDQKLS0tIGEvc291cmNl cworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAogMDRlNWM0YjFiOWU2MzM0MjJjYzQ4OTkw ZmU2MTk1OGQgIGxpYnN0ZGMrKy12My1weXRob24tcjE1NTk3OC50YXIuYnoyCi02MjZmMmVjZGY5 NGM2NWVjNWI4ZjIzNTlmMzQ4OGQ5NiAgZ2RiLTcuMi41MC4yMDExMDIxMy50YXIuYnoyCis5MWY4 MjgzYzliMzhjZThmNzQ2YTMwOGJjNDE2NWQ4MSAgZ2RiLTcuMi41MC4yMDExMDIxOC50YXIuYnoy Cg==