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.4.50.20120120. Date: Sat, 27 Jun 2026 23:55:22 GMT Message-ID: <178260452210.1.16199057906056006394.rpms-gdb-c5c713f196e0@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: c5c713f196e09552ec1e2656754474f2130acdad ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogYzVjNzEzZjE5NmUwOTU1MmVjMWUyNjU2NzU0NDc0ZjIxMzBh Y2RhZAogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMi0wMS0yMVQwMDoyNzoyOCswMTow MAogICAgICAgICAgICBTdGF0cyAgOiArNDg3Ly0xMjE5IGluIDkgZmlsZShzKQogICAgICAgICAg ICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jL2M1Yzcx M2YxOTZlMDk1NTJlYzFlMjY1Njc1NDQ3NGYyMTMwYWNkYWQ/YnJhbmNoPWdkYi0xNy4yLXJlYmFz ZS1mNDQKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgUmViYXNlIHRvIEZTRiBHREIgNy40 LjUwLjIwMTIwMTIwLgpEcm9wIHRoZSBnNzcgLnNwZWMgcHJvdmlzaW9uaW5nIGFzIGl0IGhhcyBi ZWVuIGZpeGVkIGluIEZTRiBHREIuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0 aWdub3JlCmluZGV4IDk2N2E1OWIuLmYxNzFhMGYgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysr IGIvLmdpdGlnbm9yZQpAQCAtMSwyICsxLDIgQEAKIC9saWJzdGRjKystdjMtcHl0aG9uLXIxNTU5 NzgudGFyLmJ6MgotL2dkYi03LjQuNTAuMjAxMjAxMDMudGFyLmJ6MgorL2dkYi03LjQuNTAuMjAx MjAxMjAudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gg Yi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCmluZGV4IDdhNzJkODYuLjczNjhkOGEgMTAw NjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWls ZGlkLWxvY2F0ZS5wYXRjaApAQCAtMSwxOCArMSwxOCBAQAotSW5kZXg6IGdkYi03LjQuNTAuMjAx MjAxMDMvZ2RiL2NvcmVsb3cuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL2NvcmVs b3cuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9nZGIvY29yZWxv dy5jCTIwMTEtMDQtMTcgMjE6MTI6MjAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4y MDEyMDEwMy9nZGIvY29yZWxvdy5jCTIwMTItMDEtMDMgMTU6MjA6NTQuOTA1ODUxNDU2ICswMTAw Ci1AQCAtNDgsNiArNDgsOSBAQAorLS0tIGdkYi03LjQuNTAuMjAxMjAxMjAub3JpZy9nZGIvY29y ZWxvdy5jCTIwMTItMDEtMTAgMTc6MzA6NDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNC41 MC4yMDEyMDEyMC9nZGIvY29yZWxvdy5jCTIwMTItMDEtMjEgMDA6MDI6NTguNzIwNDAxNzkyICsw MTAwCitAQCAtNDYsNiArNDYsOSBAQAorICNpbmNsdWRlICJmaWxlbmFtZXMuaCIKICAjaW5jbHVk ZSAicHJvZ3NwYWNlLmgiCiAgI2luY2x1ZGUgIm9iamZpbGVzLmgiCi0gI2luY2x1ZGUgIndyYXBw ZXIuaCIKICsjaW5jbHVkZSAiYXV4di5oIgogKyNpbmNsdWRlICJlbGYvY29tbW9uLmgiCiArI2lu Y2x1ZGUgImdkYmNtZC5oIgogIAotIAogICNpZm5kZWYgT19MQVJHRUZJTEUKLUBAIC0yNzksNiAr MjgyLDUyIEBAIGFkZF90b190aHJlYWRfbGlzdCAoYmZkICphYmZkLCBhc2VjdGlvbgorICNkZWZp bmUgT19MQVJHRUZJTEUgMAorQEAgLTI3Myw2ICsyNzYsNTIgQEAgYWRkX3RvX3RocmVhZF9saXN0 IChiZmQgKmFiZmQsIGFzZWN0aW9uCiAgICAgIGluZmVyaW9yX3B0aWQgPSBwdGlkOwkJCS8qIFll cywgbWFrZSBpdCBjdXJyZW50LiAgKi8KICB9CiAgCkBAIC02NSw3ICs2NSw3IEBAIEluZGV4OiBn ZGItNy40LjUwLjIwMTIwMTAzL2dkYi9jb3JlbG93LmMKICAvKiBUaGlzIHJvdXRpbmUgb3BlbnMg YW5kIHNldHMgdXAgdGhlIGNvcmUgZmlsZSBiZmQuICAqLwogIAogIHN0YXRpYyB2b2lkCi1AQCAt MzgwLDYgKzQyOSwxMiBAQCBjb3JlX29wZW4gKGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkp CitAQCAtMzc1LDYgKzQyNCwxMiBAQCBjb3JlX29wZW4gKGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJv bV90dHkpCiAgICBwdXNoX3RhcmdldCAoJmNvcmVfb3BzKTsKICAgIGRpc2NhcmRfY2xlYW51cHMg KG9sZF9jaGFpbik7CiAgCkBAIC03OCw3ICs3OCw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIw MTAzL2dkYi9jb3JlbG93LmMKICAgIC8qIERvIHRoaXMgYmVmb3JlIGFja25vd2xlZGdpbmcgdGhl IGluZmVyaW9yLCBzbyBpZgogICAgICAgcG9zdF9jcmVhdGVfaW5mZXJpb3IgdGhyb3dzIChjYW4g aGFwcGVuIGVhc2lsbHkgaWYgeW91J3JlIGxvYWRpbmcKICAgICAgIGEgY29yZSBmaWxlIHdpdGgg dGhlIHdyb25nIGV4ZWMpLCB3ZSBhcmVuJ3QgbGVmdCB3aXRoIHRocmVhZHMKLUBAIC05MzMsNCAr OTg4LDExIEBAIF9pbml0aWFsaXplX2NvcmVsb3cgKHZvaWQpCitAQCAtOTM0LDQgKzk4OSwxMSBA QCBfaW5pdGlhbGl6ZV9jb3JlbG93ICh2b2lkKQogICAgaW5pdF9jb3JlX29wcyAoKTsKICAKICAg IGFkZF90YXJnZXQgKCZjb3JlX29wcyk7CkBAIC05MCwxMSArOTAsMTEgQEAgSW5kZXg6IGdkYi03 LjQuNTAuMjAxMjAxMDMvZ2RiL2NvcmVsb3cuYwogKwkJCSAgIE5VTEwsIE5VTEwsIE5VTEwsCiAr CQkJICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAgfQotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAx MDMvZ2RiL2RvYy9nZGIudGV4aW5mbworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL2Rv Yy9nZGIudGV4aW5mbwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9n ZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTItMDEtMDMgMDU6NTM6NDEuMDAwMDAwMDAwICswMTAwCi0r KysgZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTItMDEtMDMgMTU6 MjA6NTQuOTEwODUxNDM2ICswMTAwCi1AQCAtMTU5NzEsNiArMTU5NzEsMjcgQEAgaW5mb3JtYXRp b24gZmlsZXMuCistLS0gZ2RiLTcuNC41MC4yMDEyMDEyMC5vcmlnL2dkYi9kb2MvZ2RiLnRleGlu Zm8JMjAxMi0wMS0yMSAwMDowMjozNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy40LjUwLjIw MTIwMTIwL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMi0wMS0yMSAwMDowMjo0MS42MTk0NjM2MDcg KzAxMDAKK0BAIC0xNjAxNSw2ICsxNjAxNSwyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KICAKICBA ZW5kIHRhYmxlCiAgCkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEy MDEwMy9nZGIvZG9jL2dkYi50ZXhpbmZvCiAgQGNpbmRleCBAY29kZXsuZ251X2RlYnVnbGlua30g c2VjdGlvbnMKICBAY2luZGV4IGRlYnVnIGxpbmsgc2VjdGlvbnMKICBBIGRlYnVnIGxpbmsgaXMg YSBzcGVjaWFsIHNlY3Rpb24gb2YgdGhlIGV4ZWN1dGFibGUgZmlsZSBuYW1lZAotSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjAxMDMvZ2RiL3NvbGliLXN2cjQuYworSW5kZXg6IGdkYi03LjQuNTAuMjAx MjAxMjAvZ2RiL3NvbGliLXN2cjQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAx MDMub3JpZy9nZGIvc29saWItc3ZyNC5jCTIwMTEtMTItMDMgMTk6MzI6MjkuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvc29saWItc3ZyNC5jCTIwMTItMDEtMDMg MTU6MjA6NTQuOTExODUxNDMyICswMTAwCi1AQCAtMTIyOCw5ICsxMjI4LDUyIEBAIHN2cjRfcmVh ZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAorLS0tIGdkYi03LjQuNTAuMjAxMjAxMjAu b3JpZy9nZGIvc29saWItc3ZyNC5jCTIwMTItMDEtMDQgMDk6MTc6MTEuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNC41MC4yMDEyMDEyMC9nZGIvc29saWItc3ZyNC5jCTIwMTItMDEtMjEgMDA6 MDI6NDEuNjIwNDYzNjAzICswMTAwCitAQCAtMTIyNyw5ICsxMjI3LDUyIEBAIHN2cjRfcmVhZF9z b19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAogIAkgIGNvbnRpbnVlOwogIAl9CiAgCkBAIC0x ODIsMTEgKzE4MiwxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvc29saWItc3Zy NC5jCiAgICAgICAgeGZyZWUgKGJ1ZmZlcik7CiAgCiAgICAgICAgLyogSWYgdGhpcyBlbnRyeSBo YXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQotSW5kZXg6IGdkYi03LjQu NTAuMjAxMjAxMDMvZ2RiL2VsZnJlYWQuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2Ri L2VsZnJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9nZGIv ZWxmcmVhZC5jCTIwMTItMDEtMDMgMDU6NTI6MTUuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu NC41MC4yMDEyMDEwMy9nZGIvZWxmcmVhZC5jCTIwMTItMDEtMDMgMTU6MjE6MDkuOTMzNzk2MTY4 ICswMTAwCi1AQCAtNDYsNiArNDYsMTEgQEAKKy0tLSBnZGItNy40LjUwLjIwMTIwMTIwLm9yaWcv Z2RiL2VsZnJlYWQuYwkyMDEyLTAxLTIxIDAwOjAyOjMzLjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjQuNTAuMjAxMjAxMjAvZ2RiL2VsZnJlYWQuYwkyMDEyLTAxLTIxIDAwOjAyOjQxLjYyMTQ2 MzU5OSArMDEwMAorQEAgLTQ0LDYgKzQ0LDExIEBACiAgI2luY2x1ZGUgImdkYnRocmVhZC5oIgog ICNpbmNsdWRlICJyZWdjYWNoZS5oIgogICNpbmNsdWRlICJiY2FjaGUuaCIKQEAgLTE5OCw3ICsx OTgsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvZWxmcmVhZC5jCiAgCiAgZXh0 ZXJuIHZvaWQgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCk7CiAgCi1AQCAtMTA3OCwxNiArMTA4 Myw2NSBAQCBlbGZfZ251X2lmdW5jX3Jlc29sdmVyX3JldHVybl9zdG9wIChzdHJ1CitAQCAtMTA3 NiwxNiArMTA4MSw2NSBAQCBlbGZfZ251X2lmdW5jX3Jlc29sdmVyX3JldHVybl9zdG9wIChzdHJ1 CiAgICB1cGRhdGVfYnJlYWtwb2ludF9sb2NhdGlvbnMgKGIsIHNhbHMsIHNhbHNfZW5kKTsKICB9 CiAgCkBAIC0yNjYsNyArMjY2LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2Vs ZnJlYWQuYwogIHsKICAgIHN0cnVjdCBidWlsZF9pZCAqcmV0dmFsOwogIAotQEAgLTExMDMsNiAr MTE1NywzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQorQEAgLTExMDEsNiArMTE1 NSwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQogICAgcmV0dXJuIHJldHZhbDsK ICB9CiAgCkBAIC02MTUsNyArNjE1LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2Ri L2VsZnJlYWQuYwogIC8qIFJldHVybiBpZiBGSUxFTkFNRSBoYXMgTlRfR05VX0JVSUxEX0lEIG1h dGNoaW5nIHRoZSBDSEVDSyB2YWx1ZS4gICovCiAgCiAgc3RhdGljIGludAotQEAgLTExMTcsNyAr MTUxMyw3IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIHMKK0BAIC0x MTE1LDcgKzE1MTEsNyBAQCBidWlsZF9pZF92ZXJpZnkgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBz CiAgICBpZiAoYWJmZCA9PSBOVUxMKQogICAgICByZXR1cm4gMDsKICAKQEAgLTYyNCw3ICs2MjQs NyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvZWxmcmVhZC5jCiAgCiAgICBpZiAo Zm91bmQgPT0gTlVMTCkKICAgICAgd2FybmluZyAoXygiRmlsZSBcIiVzXCIgaGFzIG5vIGJ1aWxk LWlkLCBmaWxlIHNraXBwZWQiKSwgZmlsZW5hbWUpOwotQEAgLTExMzUsMTQgKzE1MzEsMTUgQEAg YnVpbGRfaWRfdmVyaWZ5IChjb25zdCBjaGFyICpmaWxlbmFtZSwgcworQEAgLTExMzMsMTQgKzE1 MjksMTUgQEAgYnVpbGRfaWRfdmVyaWZ5IChjb25zdCBjaGFyICpmaWxlbmFtZSwgcwogICAgcmV0 dXJuIHJldHZhbDsKICB9CiAgCkBAIC02NDQsNyArNjQ0LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAu MjAxMjAxMDMvZ2RiL2VsZnJlYWQuYwogIAogICAgLyogS2VlcCBiYWNrd2FyZCBjb21wYXRpYmls aXR5IHNvIHRoYXQgREVCVUdfRklMRV9ESVJFQ1RPUlkgYmVpbmcgIiIgd2lsbAogICAgICAgY2F1 c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29rdXBzLiAgKi8KLUBAIC0xMTUzLDYgKzE1NTAsOCBAQCBi dWlsZF9pZF90b19kZWJ1Z19maWxlbmFtZSAoc3RydWN0IGJ1aWxkCitAQCAtMTE1MSw2ICsxNTQ4 LDggQEAgYnVpbGRfaWRfdG9fZGVidWdfZmlsZW5hbWUgKHN0cnVjdCBidWlsZAogICAgICAgIGNo YXIgKnMsICpkZWJ1Z2Rpcl9lbmQ7CiAgICAgICAgZ2RiX2J5dGUgKmRhdGEgPSBidWlsZF9pZC0+ ZGF0YTsKICAgICAgICBzaXplX3Qgc2l6ZSA9IGJ1aWxkX2lkLT5zaXplOwpAQCAtNjUzLDcgKzY1 Myw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9lbGZyZWFkLmMKICAKICAgICAg ICB3aGlsZSAoKmRlYnVnZGlyID09IERJUk5BTUVfU0VQQVJBVE9SKQogIAlkZWJ1Z2RpcisrOwot QEAgLTExNzMsMzkgKzE1NzIsMjQyIEBAIGJ1aWxkX2lkX3RvX2RlYnVnX2ZpbGVuYW1lIChzdHJ1 Y3QgYnVpbGQKK0BAIC0xMTcxLDM5ICsxNTcwLDI0MiBAQCBidWlsZF9pZF90b19kZWJ1Z19maWxl bmFtZSAoc3RydWN0IGJ1aWxkCiAgCSpzKysgPSAnLyc7CiAgICAgICAgd2hpbGUgKHNpemUtLSA+ IDApCiAgCXMgKz0gc3ByaW50ZiAocywgIiUwMngiLCAodW5zaWduZWQpICpkYXRhKyspOwpAQCAt OTA4LDcgKzkwOCw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9lbGZyZWFkLmMK ICAgICAgICB4ZnJlZSAoYnVpbGRfaWQpOwogICAgICAgIC8qIFByZXZlbnQgbG9vcGluZyBvbiBh IHN0cmlwcGVkIC5kZWJ1ZyBmaWxlLiAgKi8KICAgICAgICBpZiAoYnVpbGRfaWRfbmFtZSAhPSBO VUxMCi1AQCAtMTIxNiw3ICsxODE4LDcgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1 aWxkaWQgKHN0cgorQEAgLTEyMTQsNyArMTgxNiw3IEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmls ZV9ieV9idWlsZGlkIChzdHIKICAJICB4ZnJlZSAoYnVpbGRfaWRfbmFtZSk7CiAgCX0KICAgICAg ICBlbHNlIGlmIChidWlsZF9pZF9uYW1lICE9IE5VTEwpCkBAIC05MTcsNyArOTE3LDcgQEAgSW5k ZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2VsZnJlYWQuYwogICAgICB9CiAgICByZXR1cm4g TlVMTDsKICB9Ci1AQCAtMTQzNiw5ICsyMDM4LDEwIEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWwKK0BAIC0xNDM0LDkgKzIwMzYsMTAgQEAgZWxmX3N5bWZpbGVfcmVh ZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbAogICAgICAgYC5ub3RlLmdudS5idWlsZC1pZCcuICAq LwogICAgZWxzZSBpZiAoIW9iamZpbGVfaGFzX3BhcnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCiAg ICAgIHsKQEAgLTkzMCw3ICs5MzAsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIv ZWxmcmVhZC5jCiAgCiAgICAgICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQogIAlkZWJ1Z2ZpbGUg PSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpmaWxlKTsKLUBAIC0x NDUwLDYgKzIwNTMsMTIgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZp bAorQEAgLTE0NDgsNiArMjA1MSwxMiBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsCiAgCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChhYmZkLCBzeW1maWxlX2Zs YWdzLCBvYmpmaWxlKTsKICAJICB4ZnJlZSAoZGVidWdmaWxlKTsKICAJfQpAQCAtOTQzLDcgKzk0 Myw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9lbGZyZWFkLmMKICAgICAgfQog IH0KICAKLUBAIC0xOTMzLDQgKzI1NDIsMTYgQEAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkK K0BAIC0xOTMxLDQgKzI1NDAsMTYgQEAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkKICAKICAg IGVsZl9vYmpmaWxlX2dudV9pZnVuY19jYWNoZV9kYXRhID0gcmVnaXN0ZXJfb2JqZmlsZV9kYXRh ICgpOwogICAgZ251X2lmdW5jX2Zuc19wID0gJmVsZl9nbnVfaWZ1bmNfZm5zOwpAQCAtOTYwLDEx ICs5NjAsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2VsZnJlYWQuYwogKwog KyAgb2JzZXJ2ZXJfYXR0YWNoX2V4ZWN1dGFibGVfY2hhbmdlZCAoZGVidWdfcHJpbnRfZXhlY3V0 YWJsZV9jaGFuZ2VkKTsKICB9Ci1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvc3ltZmls ZS5oCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEyMC9nZGIvc3ltZmlsZS5oCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDEwMy5vcmlnL2dkYi9zeW1maWxlLmgJMjAxMi0wMS0wMyAw NTo1MjoxNS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9zeW1m aWxlLmgJMjAxMi0wMS0wMyAxNToyMDo1NC45MTQ4NTE0MjIgKzAxMDAKLUBAIC02MTYsNiArNjE2 LDEzIEBAIHZvaWQgZnJlZV9zeW1maWxlX3NlZ21lbnRfZGF0YSAoc3RydWN0IHMKKy0tLSBnZGIt Ny40LjUwLjIwMTIwMTIwLm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDEyLTAxLTIxIDAwOjAyOjMzLjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL3N5bWZpbGUuaAkyMDEy LTAxLTIxIDAwOjAyOjQxLjYyMTQ2MzU5OSArMDEwMAorQEAgLTYxNCw2ICs2MTQsMTMgQEAgdm9p ZCBmcmVlX3N5bWZpbGVfc2VnbWVudF9kYXRhIChzdHJ1Y3QgcwogIAogIGV4dGVybiBzdHJ1Y3Qg Y2xlYW51cCAqaW5jcmVtZW50X3JlYWRpbmdfc3ltdGFiICh2b2lkKTsKICAKQEAgLTk3OCwxMSAr OTc4LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9zeW1maWxlLmgKICAvKiBG cm9tIGR3YXJmMnJlYWQuYyAqLwogIAogIC8qIE5hbWVzIGZvciBhIGR3YXJmMiBkZWJ1Z2dpbmcg c2VjdGlvbi4gIFRoZSBmaWVsZCBOT1JNQUwgaXMgdGhlIG5vcm1hbAotSW5kZXg6IGdkYi03LjQu NTAuMjAxMjAxMDMvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorSW5kZXg6IGdkYi03LjQuNTAu MjAxMjAxMjAvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjQuNTAuMjAxMjAxMDMub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDEtMDMg MDU6NTI6MTUuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDEtMDMgMTU6MjA6NTQuOTE0ODUxNDIyICswMTAwCi1A QCAtMTM4Nyw2ICsxMzg3LDE2IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKKy0tLSBn ZGItNy40LjUwLjIwMTIwMTIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDEyLTAx LTIxIDAwOjAyOjM2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjQuNTAuMjAxMjAxMjAvZ2Ri L3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDEyLTAxLTIxIDAwOjAyOjQxLjYyMjQ2MzU5NiArMDEw MAorQEAgLTEzODUsNiArMTM4NSwxNiBAQCBwcm9jIGRlZmF1bHRfZ2RiX3N0YXJ0IHsgfSB7CiAg CSAgICB3YXJuaW5nICJDb3VsZG4ndCBzZXQgdGhlIHdpZHRoIHRvIDAuIgogIAl9CiAgICAgIH0K QEAgLTk5OSwxMCArOTk5LDEwIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi90ZXN0 c3VpdGUvbGliL2dkYi5leHAKICAgICAgcmV0dXJuIDA7CiAgfQogIAotSW5kZXg6IGdkYi03LjQu NTAuMjAxMjAxMDMvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKK0luZGV4OiBnZGIt Ny40LjUwLjIwMTIwMTIwL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDEwMy5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1 cHBvcnQuZXhwCTIwMTEtMTItMDMgMjE6MjA6MjkuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu NC41MC4yMDEyMDEwMy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEyLTAxLTAz IDE1OjIwOjU0LjkxNTg1MTQxOSArMDEwMAorLS0tIGdkYi03LjQuNTAuMjAxMjAxMjAub3JpZy9n ZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEyLTAxLTEyIDIzOjI4OjM0LjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL3Rlc3RzdWl0ZS9saWIvbWkt c3VwcG9ydC5leHAJMjAxMi0wMS0yMSAwMDowMjo0MS42MjI0NjM1OTYgKzAxMDAKIEBAIC0yMTIs NiArMjEyLDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyBhcmdzIH0gewogIAkgICAg d2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKICAJfQpAQCAtMTAyMCwxMSAr MTAyMCwxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvdGVzdHN1aXRlL2xpYi9t aS1zdXBwb3J0LmV4cAogICAgICAjIElmIGFsbG93aW5nIHRoZSBpbmZlcmlvciB0byBoYXZlIGl0 cyBvd24gUFRZIHRoZW4gYXNzaWduIHRoZSBpbmZlcmlvcgogICAgICAjIGl0cyBvd24gdGVybWlu YWwgZGV2aWNlIGhlcmUuCiAgICAgIGlmIHsgJHNlcGFyYXRlX2luZmVyaW9yX3B0eSB9IHsKLUlu ZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9vYmpmaWxlcy5oCitJbmRleDogZ2RiLTcuNC41 MC4yMDEyMDEyMC9nZGIvb2JqZmlsZXMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAx MjAxMDMub3JpZy9nZGIvb2JqZmlsZXMuaAkyMDExLTEyLTA4IDE5OjA4OjEyLjAwMDAwMDAwMCAr MDEwMAotKysrIGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL29iamZpbGVzLmgJMjAxMi0wMS0wMyAx NToyMDo1NC45MTU4NTE0MTkgKzAxMDAKLUBAIC00MzUsNiArNDM1LDEwIEBAIHN0cnVjdCBvYmpm aWxlCistLS0gZ2RiLTcuNC41MC4yMDEyMDEyMC5vcmlnL2dkYi9vYmpmaWxlcy5oCTIwMTItMDEt MDQgMDk6MTc6MDkuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDEyMC9nZGIv b2JqZmlsZXMuaAkyMDEyLTAxLTIxIDAwOjAyOjQxLjYyMzQ2MzU5MyArMDEwMAorQEAgLTQzMyw2 ICs0MzMsMTAgQEAgc3RydWN0IG9iamZpbGUKICAKICAjZGVmaW5lIE9CSkZfTUFJTkxJTkUgKDEg PDwgNSkKICAKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRj aAppbmRleCBlZGVlN2NhLi41ZTliMTY4IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisr KyBiL2dkYi1hcmNoZXIucGF0Y2gKQEAgLTIsNyArMiw3IEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9y Zy9nZGIvd2lraS9Qcm9qZWN0QXJjaGVyCiBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kv QXJjaGVyQnJhbmNoTWFuYWdlbWVudAogCiBHSVQgc25hcHNob3Q6Ci1jb21taXQgOWQwMzJjYTZi ZjZkZTM5YzU1ZDk5ZmZjMDkwNTY2ODNjN2E2NDk4YgorY29tbWl0IDlmOGQ0N2YwNTkwOTEzMzNk MTc4YmQyNDk1MDdmZDI1Njc2ODYwZTcKIAogYnJhbmNoIGBhcmNoZXInIC0gdGhlIG1lcmdlIG9m IGJyYW5jaGVzOgogYXJjaGVyLWphbmtyYXRvY2h2aWwtdmxhCkBAIC0xMiwxMCArMTIsMTAgQEAg YXJjaGVyLXNlcmdpb2RqLXN0YXAKIAogCiBkaWZmIC0tZ2l0IGEvZ2RiL01ha2VmaWxlLmluIGIv Z2RiL01ha2VmaWxlLmluCi1pbmRleCA4OTc3NmI5Li5hNDQ0Yzk4IDEwMDY0NAoraW5kZXggMzhj OTNjOS4uM2FjYWNkYiAxMDA2NDQKIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01h a2VmaWxlLmluCi1AQCAtNzI3LDggKzcyNyw4IEBAIFNGSUxFUyA9IGFkYS1leHAueSBhZGEtbGFu Zy5jIGFkYS10eXBlcHJpbnQuYyBhZGEtdmFscHJpbnQuYyBhZGEtdGFza3MuYyBcCitAQCAtNzIw LDggKzcyMCw4IEBAIFNGSUxFUyA9IGFkYS1leHAueSBhZGEtbGFuZy5jIGFkYS10eXBlcHJpbnQu YyBhZGEtdmFscHJpbnQuYyBhZGEtdGFza3MuYyBcCiAgCXNlbnRpbmVsLWZyYW1lLmMgXAogIAlz ZXJpYWwuYyBzZXItYmFzZS5jIHNlci11bml4LmMgc2tpcC5jIFwKICAJc29saWIuYyBzb2xpYi10 YXJnZXQuYyBzb3VyY2UuYyBcCkBAIC0yNiw3ICsyNiw3IEBAIGluZGV4IDg5Nzc2YjkuLmE0NDRj OTggMTAwNjQ0CiAgCXRhcmdldC5jIHRhcmdldC1kZXNjcmlwdGlvbnMuYyB0YXJnZXQtbWVtb3J5 LmMgXAogIAl0aHJlYWQuYyB0b3AuYyB0cmFjZXBvaW50LmMgXAogIAl0cmFkLWZyYW1lLmMgXAot QEAgLTgyNSw3ICs4MjUsNyBAQCBvc2RhdGEuaCBwcm9jZnMuaCBweXRob24vcHktZXZlbnQuaCBw eXRob24vcHktZXZlbnRzLmggcHl0aG9uL3B5LXN0b3BldmVudC5oIFwKK0BAIC04MTcsNyArODE3 LDcgQEAgb3NkYXRhLmggcHJvY2ZzLmggcHl0aG9uL3B5LWV2ZW50LmggcHl0aG9uL3B5LWV2ZW50 cy5oIHB5dGhvbi9weS1zdG9wZXZlbnQuaCBcCiAgcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIHB5 dGhvbi9weXRob24uaCByYXZlbnNjYXItdGhyZWFkLmggcmVjb3JkLmggXAogIHNvbGliLWRhcndp bi5oIHNvbGliLWlhNjQtaHB1eC5oIHNvbGliLXNwdS5oIHdpbmRvd3MtbmF0LmggeGNvZmZyZWFk LmggXAogIGdudWxpYi9leHRyYS9hcmctbm9ubnVsbC5oIGdudWxpYi9leHRyYS9jKytkZWZzLmgg Z251bGliL2V4dHJhL3dhcm4tb24tdXNlLmggXApAQCAtMzUsNyArMzUsNyBAQCBpbmRleCA4OTc3 NmI5Li5hNDQ0Yzk4IDEwMDY0NAogIGNvbW1vbi9jb21tb24tdXRpbHMuaCBjb21tb24veG1sLXV0 aWxzLmggY29tbW9uL2J1ZmZlci5oIGNvbW1vbi9wdGlkLmggXAogIGNvbW1vbi9saW51eC1vc2Rh dGEuaCBnZGItZGxmY24uaAogIAotQEAgLTkxMyw3ICs5MTMsNyBAQCBDT01NT05fT0JTID0gJChE RVBGSUxFUykgJChDT05GSUdfT0JTKSAkKFlZT0JKKSBcCitAQCAtOTA1LDcgKzkwNSw3IEBAIENP TU1PTl9PQlMgPSAkKERFUEZJTEVTKSAkKENPTkZJR19PQlMpICQoWVlPQkopIFwKICAJeG1sLXN1 cHBvcnQubyB4bWwtc3lzY2FsbC5vIHhtbC11dGlscy5vIFwKICAJdGFyZ2V0LWRlc2NyaXB0aW9u cy5vIHRhcmdldC1tZW1vcnkubyB4bWwtdGRlc2MubyB4bWwtYnVpbHRpbi5vIFwKICAJaW5mZXJp b3IubyBvc2RhdGEubyBnZGJfdXNsZWVwLm8gcmVjb3JkLm8gZ2NvcmUubyBcCkBAIC00NCw3ICs0 NCw3IEBAIGluZGV4IDg5Nzc2YjkuLmE0NDRjOTggMTAwNjQ0CiAgCWNvbW1vbi11dGlscy5vIGJ1 ZmZlci5vIHB0aWQubyBnZGItZGxmY24ubwogIAogIFRTT0JTID0gaW5mbG93Lm8KLUBAIC0xMzAx LDYgKzEzMDEsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIpL2NvbmZpZy5pbiBjb25maWcuc3RhdHVz CitAQCAtMTI5Myw2ICsxMjkzLDEyIEBAIHN0YW1wLWg6ICQoc3JjZGlyKS9jb25maWcuaW4gY29u ZmlnLnN0YXR1cwogIAkgIENPTkZJR19MSU5LUz0gXAogIAkgICQoU0hFTEwpIGNvbmZpZy5zdGF0 dXMKICAKQEAgLTU4LDEwICs1OCwxMCBAQCBpbmRleCA4OTc3NmI5Li5hNDQ0Yzk4IDEwMDY0NAog IAkkKFNIRUxMKSBjb25maWcuc3RhdHVzIC0tcmVjaGVjawogIAogZGlmZiAtLWdpdCBhL2dkYi9O RVdTIGIvZ2RiL05FV1MKLWluZGV4IGE5YTc4NTkuLjc1ZGM5NjQgMTAwNjQ0CitpbmRleCAxMjg4 MjVlLi4xM2RkODhjIDEwMDY0NAogLS0tIGEvZ2RiL05FV1MKICsrKyBiL2dkYi9ORVdTCi1AQCAt MzA1LDYgKzMwNSwxMCBAQCBSZW5lc2FzIFJMNzgJCQkJcmw3OC0qLWVsZgorQEAgLTMyOCw2ICsz MjgsMTAgQEAgUmVuZXNhcyBSTDc4CQkJCXJsNzgtKi1lbGYKICAgIEluaXRpYWwgc3VwcG9ydCBm b3IgdGhlIE9wZW5DTCBDIGxhbmd1YWdlIChodHRwOi8vd3d3Lmtocm9ub3Mub3JnL29wZW5jbCkK ICAgIGhhcyBiZWVuIGludGVncmF0ZWQgaW50byBHREIuCiAgCkBAIC03MywxMCArNzMsMTAgQEAg aW5kZXggYTlhNzg1OS4uNzVkYzk2NCAxMDA2NDQKICAKICAgICoqIFRoZSBmdW5jdGlvbiBnZGIu V3JpdGUgbm93IGFjY2VwdHMgYW4gb3B0aW9uYWwga2V5d29yZCAnc3RyZWFtJy4KIGRpZmYgLS1n aXQgYS9nZGIvYWRhLWxhbmcuYyBiL2dkYi9hZGEtbGFuZy5jCi1pbmRleCBjNGJmNmU5Li44YzNh ZjE0IDEwMDY0NAoraW5kZXggMjk5NTZkNy4uZGMxZmFkZCAxMDA2NDQKIC0tLSBhL2dkYi9hZGEt bGFuZy5jCiArKysgYi9nZGIvYWRhLWxhbmcuYwotQEAgLTExOTA0LDYgKzExOTA0LDcgQEAgYWRh X29wZXJhdG9yX2xlbmd0aCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBjLCBp bnQgKm9wbGVucCwKK0BAIC0xMTg5Niw2ICsxMTg5Niw3IEBAIGFkYV9vcGVyYXRvcl9sZW5ndGgg KGNvbnN0IHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwYywgaW50ICpvcGxlbnAsCiAgCiAg c3RhdGljIGludAogIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwg aW50IHBvcywKQEAgLTg0LDcgKzg0LDcgQEAgaW5kZXggYzRiZjZlOS4uOGMzYWYxNCAxMDA2NDQK ICAJCSAgICBpbnQgKCpvYmpmaWxlX2Z1bmMpIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9p ZCAqZGF0YSksCiAgCQkgICAgdm9pZCAqZGF0YSkKICB7Ci1AQCAtMTE5MTgsMTIgKzExOTE5LDE1 IEBAIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywK K0BAIC0xMTkxMCwxMiArMTE5MTEsMTUgQEAgYWRhX29wZXJhdG9yX2NoZWNrIChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBpbnQgcG9zLAogIAlicmVhazsKICAKICAgICAgICBkZWZhdWx0OgpAQCAt MTAzLDEwICsxMDMsMTAgQEAgaW5kZXggYzRiZjZlOS4uOGMzYWYxNCAxMDA2NDQKICAgICAgcmV0 dXJuIDE7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jIGIvZ2RiL2FtZDY0 LWxpbnV4LW5hdC5jCi1pbmRleCBkNTk4Mzg5Li42YmY3OTRiIDEwMDY0NAoraW5kZXggYTBiZGJk Ny4uOTg3NjBiZiAxMDA2NDQKIC0tLSBhL2dkYi9hbWQ2NC1saW51eC1uYXQuYwogKysrIGIvZ2Ri L2FtZDY0LWxpbnV4LW5hdC5jCi1AQCAtMzM3LDggKzMzNyw4IEBAIGFtZDY0X2xpbnV4X2RyX2dl dF9zdGF0dXMgKHZvaWQpCitAQCAtMzM2LDggKzMzNiw4IEBAIGFtZDY0X2xpbnV4X2RyX2dldF9z dGF0dXMgKHZvaWQpCiAgICByZXR1cm4gYW1kNjRfbGludXhfZHJfZ2V0IChpbmZlcmlvcl9wdGlk LCBEUl9TVEFUVVMpOwogIH0KICAKQEAgLTExNyw3ICsxMTcsNyBAQCBpbmRleCBkNTk4Mzg5Li42 YmY3OTRiIDEwMDY0NAogIAogIHN0YXRpYyBpbnQKICB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2Nh bGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJnKQotQEAgLTM2NCw5ICszNjQs NyBAQCB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3 cCwgdm9pZCAqYXJnKQorQEAgLTM2Myw5ICszNjMsNyBAQCB1cGRhdGVfZGVidWdfcmVnaXN0ZXJz X2NhbGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJnKQogIHN0YXRpYyB2b2lk CiAgYW1kNjRfbGludXhfZHJfc2V0X2NvbnRyb2wgKHVuc2lnbmVkIGxvbmcgY29udHJvbCkKICB7 CkBAIC0xMjgsNyArMTI4LDcgQEAgaW5kZXggZDU5ODM4OS4uNmJmNzk0YiAxMDA2NDQKICB9CiAg CiAgLyogU2V0IGFkZHJlc3MgUkVHTlVNICh6ZXJvIGJhc2VkKSB0byBBRERSIGluIGFsbCBMV1Bz IG9mIHRoZSBjdXJyZW50Ci1AQCAtMzc5LDcgKzM3Nyw3IEBAIGFtZDY0X2xpbnV4X2RyX3NldF9h ZGRyIChpbnQgcmVnbnVtLCBDT1JFX0FERFIgYWRkcikKK0BAIC0zNzgsNyArMzc2LDcgQEAgYW1k NjRfbGludXhfZHJfc2V0X2FkZHIgKGludCByZWdudW0sIENPUkVfQUREUiBhZGRyKQogIAogICAg Z2RiX2Fzc2VydCAocmVnbnVtID49IDAgJiYgcmVnbnVtIDw9IERSX0xBU1RBRERSIC0gRFJfRklS U1RBRERSKTsKICAKQEAgLTEzNyw3ICsxMzcsNyBAQCBpbmRleCBkNTk4Mzg5Li42YmY3OTRiIDEw MDY0NAogIH0KICAKICAvKiBDYWxsZWQgd2hlbiByZXN1bWluZyBhIHRocmVhZC4KLUBAIC00MDEs NiArMzk5LDEzIEBAIGFtZDY0X2xpbnV4X3ByZXBhcmVfdG9fcmVzdW1lIChzdHJ1Y3QgbHdwX2lu Zm8gKmx3cCkKK0BAIC00MDAsNiArMzk4LDEzIEBAIGFtZDY0X2xpbnV4X3ByZXBhcmVfdG9fcmVz dW1lIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCkKICAgICAgICBzdHJ1Y3QgaTM4Nl9kZWJ1Z19yZWdf c3RhdGUgKnN0YXRlID0gaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKCk7CiAgICAgICAgaW50IGk7CiAg CkBAIC0xNTIsMTAgKzE1MiwxMCBAQCBpbmRleCBkNTk4Mzg5Li42YmY3OTRiIDEwMDY0NAogIAlp ZiAoc3RhdGUtPmRyX3JlZl9jb3VudFtpXSA+IDApCiAgCSAgewogZGlmZiAtLWdpdCBhL2dkYi9h bWQ2NC1saW51eC10ZGVwLmMgYi9nZGIvYW1kNjQtbGludXgtdGRlcC5jCi1pbmRleCA4NGI1OGEw Li42MmVkOTY0IDEwMDY0NAoraW5kZXggY2E5YWRlNi4uYzMwMTg1ZCAxMDA2NDQKIC0tLSBhL2dk Yi9hbWQ2NC1saW51eC10ZGVwLmMKICsrKyBiL2dkYi9hbWQ2NC1saW51eC10ZGVwLmMKLUBAIC0x MzYzLDYgKzEzNjMsMTUgQEAgYW1kNjRfbGludXhfaW5pdF9hYmkgKHN0cnVjdCBnZGJhcmNoX2lu Zm8gaW5mbywgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCitAQCAtMTM2Miw2ICsxMzYyLDE1IEBA IGFtZDY0X2xpbnV4X2luaXRfYWJpIChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoKQogICAgc2V0X2dkYmFyY2hfcHJvY2Vzc19yZWNvcmQgKGdkYmFyY2gs IGkzODZfcHJvY2Vzc19yZWNvcmQpOwogICAgc2V0X2dkYmFyY2hfcHJvY2Vzc19yZWNvcmRfc2ln bmFsIChnZGJhcmNoLCBhbWQ2NF9saW51eF9yZWNvcmRfc2lnbmFsKTsKICAKQEAgLTE3MiwxMCAr MTcyLDEwIEBAIGluZGV4IDg0YjU4YTAuLjYyZWQ5NjQgMTAwNjQ0CiAgICAvKiBUaGVzZSB2YWx1 ZXMgYXJlIHRoZSBzaXplIG9mIHRoZSB0eXBlIHRoYXQgd2lsbCBiZSB1c2VkIGluIGEgc3lzdGVt CiAgICAgICBjYWxsLiAgVGhleSBhcmUgb2J0YWluZWQgZnJvbSBMaW51eCBLZXJuZWwgc291cmNl LiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvYXJtLWxpbnV4LXRkZXAuYyBiL2dkYi9hcm0tbGludXgt dGRlcC5jCi1pbmRleCBiZWUzM2U0Li40ZGY2YmZhIDEwMDY0NAoraW5kZXggYWM0ODYwYy4uZDcx MDY4MiAxMDA2NDQKIC0tLSBhL2dkYi9hcm0tbGludXgtdGRlcC5jCiArKysgYi9nZGIvYXJtLWxp bnV4LXRkZXAuYwotQEAgLTQ0LDYgKzQ0LDEyIEBACitAQCAtNDMsNiArNDMsMTIgQEAKICAjaW5j bHVkZSAiZ2RidGhyZWFkLmgiCiAgI2luY2x1ZGUgInN5bWZpbGUuaCIKICAKQEAgLTE4OCw3ICsx ODgsNyBAQCBpbmRleCBiZWUzM2U0Li40ZGY2YmZhIDEwMDY0NAogICNpbmNsdWRlICJnZGJfc3Ry aW5nLmgiCiAgCiAgLyogVGhpcyBpcyBkZWZpbmVkIGluIDxlbGYuaD4gb24gQVJNIEdOVS9MaW51 eCBzeXN0ZW1zLiAgKi8KLUBAIC0xMDU0LDYgKzEwNjAsMTIyIEBAIGFybV9saW51eF9kaXNwbGFj ZWRfc3RlcF9jb3B5X2luc24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTEwNTMsNiAr MTA1OSwxMjIgQEAgYXJtX2xpbnV4X2Rpc3BsYWNlZF9zdGVwX2NvcHlfaW5zbiAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCiAgICByZXR1cm4gZHNjOwogIH0KICAKQEAgLTMxMSw3ICszMTEsNyBA QCBpbmRleCBiZWUzM2U0Li40ZGY2YmZhIDEwMDY0NAogIHN0YXRpYyB2b2lkCiAgYXJtX2xpbnV4 X2luaXRfYWJpIChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sCiAgCQkgICAgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gpCi1AQCAtMTE1Myw2ICsxMjc1LDE1IEBAIGFybV9saW51eF9pbml0X2FiaSAo c3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLAorQEAgLTExNTIsNiArMTI3NCwxNSBAQCBhcm1fbGlu dXhfaW5pdF9hYmkgKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywKICAJCQkJCSAgIHNpbXBsZV9k aXNwbGFjZWRfc3RlcF9mcmVlX2Nsb3N1cmUpOwogICAgc2V0X2dkYmFyY2hfZGlzcGxhY2VkX3N0 ZXBfbG9jYXRpb24gKGdkYmFyY2gsIGRpc3BsYWNlZF9zdGVwX2F0X2VudHJ5X3BvaW50KTsKICAK QEAgLTMyOCw3ICszMjgsNyBAQCBpbmRleCBiZWUzM2U0Li40ZGY2YmZhIDEwMDY0NAogICAgdGRl cC0+c3lzY2FsbF9uZXh0X3BjID0gYXJtX2xpbnV4X3N5c2NhbGxfbmV4dF9wYzsKICB9CiBkaWZm IC0tZ2l0IGEvZ2RiL2F4LWdkYi5jIGIvZ2RiL2F4LWdkYi5jCi1pbmRleCBlNTljNzM1Li5lMWIw Zjg1IDEwMDY0NAoraW5kZXggMzFlOTFiOS4uNDUxOGY2YiAxMDA2NDQKIC0tLSBhL2dkYi9heC1n ZGIuYwogKysrIGIvZ2RiL2F4LWdkYi5jCiBAQCAtOTUsOCArOTUsNiBAQCBzdGF0aWMgdm9pZCBn ZW5faW50X2xpdGVyYWwgKHN0cnVjdCBhZ2VudF9leHByICpheCwKQEAgLTM4NywxMCArMzg3LDEw IEBAIGluZGV4IGU1OWM3MzUuLmUxYjBmODUgMTAwNjQ0CiAgCQkgICAiZXhwcmVzc2lvbnMgY2Fu bm90IHVzZSBjb252ZW5pZW5jZSB2YXJpYWJsZXMuIiksIG5hbWUpOwogICAgICAgIH0KIGRpZmYg LS1naXQgYS9nZGIvYXgtZ2RiLmggYi9nZGIvYXgtZ2RiLmgKLWluZGV4IDk1MWVjMWYuLjZjZGNk YTIgMTAwNjQ0CitpbmRleCA0OGMzNWE0Li4wOWY2ODg5IDEwMDY0NAogLS0tIGEvZ2RiL2F4LWdk Yi5oCiArKysgYi9nZGIvYXgtZ2RiLmgKLUBAIC0xMTEsNiArMTExLDExIEBAIGV4dGVybiBzdHJ1 Y3QgYWdlbnRfZXhwciAqZ2VuX3RyYWNlX2Zvcl9yZXR1cm5fYWRkcmVzcyAoQ09SRV9BRERSLAor QEAgLTExMCw2ICsxMTAsMTEgQEAgZXh0ZXJuIHN0cnVjdCBhZ2VudF9leHByICpnZW5fdHJhY2Vf Zm9yX3JldHVybl9hZGRyZXNzIChDT1JFX0FERFIsCiAgCiAgZXh0ZXJuIHN0cnVjdCBhZ2VudF9l eHByICpnZW5fZXZhbF9mb3JfZXhwciAoQ09SRV9BRERSLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqKTsK ICAKQEAgLTQwMywxMCArNDAzLDEwIEBAIGluZGV4IDk1MWVjMWYuLjZjZGNkYTIgMTAwNjQ0CiAg ZXh0ZXJuIGludCB0cmFjZV9zdHJpbmdfa2x1ZGdlOwogIAogZGlmZiAtLWdpdCBhL2dkYi9ibG9j ay5jIGIvZ2RiL2Jsb2NrLmMKLWluZGV4IDFmYTM2ODguLjc2NDU3YmEgMTAwNjQ0CitpbmRleCA1 N2FiNGMyLi41NzM2MzBlIDEwMDY0NAogLS0tIGEvZ2RiL2Jsb2NrLmMKICsrKyBiL2dkYi9ibG9j ay5jCi1AQCAtMzcwLDMgKzM3MCwyMSBAQCBhbGxvY2F0ZV9ibG9jayAoc3RydWN0IG9ic3RhY2sg Km9ic3RhY2spCitAQCAtMzY5LDMgKzM2OSwyMSBAQCBhbGxvY2F0ZV9ibG9jayAoc3RydWN0IG9i c3RhY2sgKm9ic3RhY2spCiAgCiAgICByZXR1cm4gYmw7CiAgfQpAQCAtNDI5LDEwICs0MjksMTAg QEAgaW5kZXggMWZhMzY4OC4uNzY0NTdiYSAxMDA2NDQKICsgIHJldHVybiBTWU1CT0xfU1lNVEFC IChmdW5jKS0+b2JqZmlsZTsKICt9CiBkaWZmIC0tZ2l0IGEvZ2RiL2Jsb2NrLmggYi9nZGIvYmxv Y2suaAotaW5kZXggNjNiMThhNi4uODA4YTE5YSAxMDA2NDQKK2luZGV4IDJjYmNjMWIuLjEwNGMx NDYgMTAwNjQ0CiAtLS0gYS9nZGIvYmxvY2suaAogKysrIGIvZ2RiL2Jsb2NrLmgKLUBAIC0xNjgs NCArMTY4LDYgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2tfZ2xvYmFsX2Jsb2Nr IChjb25zdCBzdHJ1Y3QgYmxvY2sgKmJsb2NrKTsKK0BAIC0xNjcsNCArMTY3LDYgQEAgZXh0ZXJu IGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2tfZ2xvYmFsX2Jsb2NrIChjb25zdCBzdHJ1Y3QgYmxv Y2sgKmJsb2NrKTsKICAKICBleHRlcm4gc3RydWN0IGJsb2NrICphbGxvY2F0ZV9ibG9jayAoc3Ry dWN0IG9ic3RhY2sgKm9ic3RhY2spOwogIApAQCAtNDQwLDEwICs0NDAsMTAgQEAgaW5kZXggNjNi MThhNi4uODA4YTE5YSAxMDA2NDQKICsKICAjZW5kaWYgLyogQkxPQ0tfSCAqLwogZGlmZiAtLWdp dCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtwb2ludC5jCi1pbmRleCAxNzJlNDE5Li43 NDMyNGM0IDEwMDY0NAoraW5kZXggZjZhMDI3Ni4uZTQwNjE1NiAxMDA2NDQKIC0tLSBhL2dkYi9i cmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC02Myw2ICs2Myw4IEBACitA QCAtNjAsNiArNjAsOCBAQAogICNpbmNsdWRlICJqaXQuaCIKICAjaW5jbHVkZSAieG1sLXN5c2Nh bGwuaCIKICAjaW5jbHVkZSAicGFyc2VyLWRlZnMuaCIKQEAgLTQ1Miw3ICs0NTIsNyBAQCBpbmRl eCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAogICNpbmNsdWRlICJjbGkvY2xpLXV0aWxzLmgiCiAg I2luY2x1ZGUgImNvbnRpbnVhdGlvbnMuaCIKICAjaW5jbHVkZSAic3RhY2suaCIKLUBAIC0xMjI1 LDkgKzEyMjcsMTAgQEAgaXNfd2F0Y2hwb2ludCAoY29uc3Qgc3RydWN0IGJyZWFrcG9pbnQgKmJw dCkKK0BAIC0xMjM5LDkgKzEyNDEsMTAgQEAgaXNfd2F0Y2hwb2ludCAoY29uc3Qgc3RydWN0IGJy ZWFrcG9pbnQgKmJwdCkKICBzdGF0aWMgaW50CiAgd2F0Y2hwb2ludF9pbl90aHJlYWRfc2NvcGUg KHN0cnVjdCB3YXRjaHBvaW50ICpiKQogIHsKQEAgLTQ2Niw3ICs0NjYsNyBAQCBpbmRleCAxNzJl NDE5Li43NDMyNGM0IDEwMDY0NAogIH0KICAKICAvKiBTZXQgd2F0Y2hwb2ludCBCIHRvIGRpc3Bf ZGVsX2F0X25leHRfc3RvcCwgZXZlbiBpbmNsdWRpbmcgaXRzIHBvc3NpYmxlCi1AQCAtMTYzNCw2 ICsxNjM3LDQwIEBAIHVuZHVwbGljYXRlZF9zaG91bGRfYmVfaW5zZXJ0ZWQgKHN0cnVjdCBicF9s b2NhdGlvbiAqYmwpCitAQCAtMTY0OCw2ICsxNjUxLDQwIEBAIHVuZHVwbGljYXRlZF9zaG91bGRf YmVfaW5zZXJ0ZWQgKHN0cnVjdCBicF9sb2NhdGlvbiAqYmwpCiAgICByZXR1cm4gcmVzdWx0Owog IH0KICAKQEAgLTUwNyw3ICs1MDcsNyBAQCBpbmRleCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAog IC8qIEluc2VydCBhIGxvdy1sZXZlbCAiYnJlYWtwb2ludCIgb2Ygc29tZSB0eXBlLiAgQkwgaXMg dGhlIGJyZWFrcG9pbnQKICAgICBsb2NhdGlvbi4gIEFueSBlcnJvciBtZXNzYWdlcyBhcmUgcHJp bnRlZCB0byBUTVBfRVJST1JfU1RSRUFNOyBhbmQKICAgICBESVNBQkxFRF9CUkVBS1MsIGFuZCBI V19CUkVBS1BPSU5UX0VSUk9SIGFyZSB1c2VkIHRvIHJlcG9ydCBwcm9ibGVtcy4KLUBAIC0xNzI3 LDYgKzE3NjQsOCBAQCBpbnNlcnRfYnBfbG9jYXRpb24gKHN0cnVjdCBicF9sb2NhdGlvbiAqYmws CitAQCAtMTc0MSw2ICsxNzc4LDggQEAgaW5zZXJ0X2JwX2xvY2F0aW9uIChzdHJ1Y3QgYnBfbG9j YXRpb24gKmJsLAogIAkgIC8qIE5vIG92ZXJsYXkgaGFuZGxpbmc6IGp1c3Qgc2V0IHRoZSBicmVh a3BvaW50LiAgKi8KICAKICAJICB2YWwgPSBibC0+b3duZXItPm9wcy0+aW5zZXJ0X2xvY2F0aW9u IChibCk7CkBAIC01MTYsNyArNTE2LDcgQEAgaW5kZXggMTcyZTQxOS4uNzQzMjRjNCAxMDA2NDQK ICAJfQogICAgICAgIGVsc2UKICAJewotQEAgLTIyMTAsMTEgKzIyNDksMjMgQEAgc3RydWN0IGJy ZWFrcG9pbnRfb2JqZmlsZV9kYXRhCitAQCAtMjIyNCwxMSArMjI2MywyMyBAQCBzdHJ1Y3QgYnJl YWtwb2ludF9vYmpmaWxlX2RhdGEKICAgIC8qIE1pbmltYWwgc3ltYm9sKHMpIGZvciAibG9uZ2pt cCIsICJzaWdsb25nam1wIiwgZXRjLiAoaWYgYW55KS4gICovCiAgICBzdHJ1Y3QgbWluaW1hbF9z eW1ib2wgKmxvbmdqbXBfbXN5bVtOVU1fTE9OR0pNUF9OQU1FU107CiAgCkBAIC01NDAsNyArNTQw LDcgQEAgaW5kZXggMTcyZTQxOS4uNzQzMjRjNCAxMDA2NDQKICB9OwogIAogIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgb2JqZmlsZV9kYXRhICpicmVha3BvaW50X29iamZpbGVfa2V5OwotQEAgLTIyNTEs NiArMjMwMiwxNSBAQCBnZXRfYnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlKQorQEAgLTIyNjUsNiArMjMxNiwxNSBAQCBnZXRfYnJlYWtwb2ludF9vYmpmaWxl X2RhdGEgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogIH0KICAKICBzdGF0aWMgdm9pZApAQCAt NTU2LDcgKzU1Niw3IEBAIGluZGV4IDE3MmU0MTkuLjc0MzI0YzQgMTAwNjQ0CiAgY3JlYXRlX292 ZXJsYXlfZXZlbnRfYnJlYWtwb2ludCAodm9pZCkKICB7CiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZTsKLUBAIC0yMzI3LDYgKzIzODcsMzcgQEAgY3JlYXRlX2xvbmdqbXBfbWFzdGVyX2JyZWFr cG9pbnQgKHZvaWQpCitAQCAtMjM0MSw2ICsyNDAxLDM3IEBAIGNyZWF0ZV9sb25nam1wX21hc3Rl cl9icmVha3BvaW50ICh2b2lkKQogIAogICAgICAgIGJwX29iamZpbGVfZGF0YSA9IGdldF9icmVh a3BvaW50X29iamZpbGVfZGF0YSAob2JqZmlsZSk7CiAgCkBAIC01OTQsNyArNTk0LDcgQEAgaW5k ZXggMTcyZTQxOS4uNzQzMjRjNCAxMDA2NDQKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX0xP TkdKTVBfTkFNRVM7IGkrKykKICAJewogIAkgIHN0cnVjdCBicmVha3BvaW50ICpiOwotQEAgLTI0 MzcsNiArMjUyOCw0MCBAQCBjcmVhdGVfZXhjZXB0aW9uX21hc3Rlcl9icmVha3BvaW50ICh2b2lk KQorQEAgLTI0NTEsNiArMjU0Miw0MCBAQCBjcmVhdGVfZXhjZXB0aW9uX21hc3Rlcl9icmVha3Bv aW50ICh2b2lkKQogIAogICAgICAgIGJwX29iamZpbGVfZGF0YSA9IGdldF9icmVha3BvaW50X29i amZpbGVfZGF0YSAob2JqZmlsZSk7CiAgCkBAIC02MzUsNyArNjM1LDcgQEAgaW5kZXggMTcyZTQx OS4uNzQzMjRjNCAxMDA2NDQKICAgICAgICBpZiAobXN5bV9ub3RfZm91bmRfcCAoYnBfb2JqZmls ZV9kYXRhLT5leGNlcHRpb25fbXN5bSkpCiAgCWNvbnRpbnVlOwogIAotQEAgLTI2NTIsNiArMjc3 Nyw4IEBAIHJlbW92ZV9icmVha3BvaW50XzEgKHN0cnVjdCBicF9sb2NhdGlvbiAqYmwsIGluc2Vy dGlvbl9zdGF0ZV90IGlzKQorQEAgLTI2NjYsNiArMjc5MSw4IEBAIHJlbW92ZV9icmVha3BvaW50 XzEgKHN0cnVjdCBicF9sb2NhdGlvbiAqYmwsIGluc2VydGlvbl9zdGF0ZV90IGlzKQogIAl7CiAg CSAgLyogTm8gb3ZlcmxheSBoYW5kbGluZzoganVzdCByZW1vdmUgdGhlIGJyZWFrcG9pbnQuICAq LwogIAkgIHZhbCA9IGJsLT5vd25lci0+b3BzLT5yZW1vdmVfbG9jYXRpb24gKGJsKTsKQEAgLTY0 NCw3ICs2NDQsNyBAQCBpbmRleCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAogIAl9CiAgICAgICAg ZWxzZQogIAl7Ci1AQCAtNzA5Nyw2ICs3MjI0LDcgQEAgbW9tZW50YXJ5X2JyZWFrcG9pbnRfZnJv bV9tYXN0ZXIgKHN0cnVjdCBicmVha3BvaW50ICpvcmlnLAorQEAgLTcxMTEsNiArNzIzOCw3IEBA IG1vbWVudGFyeV9icmVha3BvaW50X2Zyb21fbWFzdGVyIChzdHJ1Y3QgYnJlYWtwb2ludCAqb3Jp ZywKICAgIGNvcHktPmxvYy0+YWRkcmVzcyA9IG9yaWctPmxvYy0+YWRkcmVzczsKICAgIGNvcHkt PmxvYy0+c2VjdGlvbiA9IG9yaWctPmxvYy0+c2VjdGlvbjsKICAgIGNvcHktPmxvYy0+cHNwYWNl ID0gb3JpZy0+bG9jLT5wc3BhY2U7CkBAIC02NTIsNyArNjUyLDcgQEAgaW5kZXggMTcyZTQxOS4u NzQzMjRjNCAxMDA2NDQKICAKICAgIGlmIChvcmlnLT5sb2MtPnNvdXJjZV9maWxlICE9IE5VTEwp CiAgICAgIGNvcHktPmxvYy0+c291cmNlX2ZpbGUgPSB4c3RyZHVwIChvcmlnLT5sb2MtPnNvdXJj ZV9maWxlKTsKLUBAIC03MTgyLDYgKzczMTAsNyBAQCBhZGRfbG9jYXRpb25fdG9fYnJlYWtwb2lu dCAoc3RydWN0IGJyZWFrcG9pbnQgKmIsCitAQCAtNzE5Niw2ICs3MzI0LDcgQEAgYWRkX2xvY2F0 aW9uX3RvX2JyZWFrcG9pbnQgKHN0cnVjdCBicmVha3BvaW50ICpiLAogICAgbG9jLT5yZXF1ZXN0 ZWRfYWRkcmVzcyA9IHNhbC0+cGM7CiAgICBsb2MtPmFkZHJlc3MgPSBhZGp1c3RlZF9hZGRyZXNz OwogICAgbG9jLT5wc3BhY2UgPSBzYWwtPnBzcGFjZTsKQEAgLTY2MCw3ICs2NjAsNyBAQCBpbmRl eCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAogICAgZ2RiX2Fzc2VydCAobG9jLT5wc3BhY2UgIT0g TlVMTCk7CiAgICBsb2MtPnNlY3Rpb24gPSBzYWwtPnNlY3Rpb247CiAgICBsb2MtPmdkYmFyY2gg PSBsb2NfZ2RiYXJjaDsKLUBAIC0xMzMwNiw2ICsxMzQzNSwyNCBAQCBhbGxfdHJhY2Vwb2ludHMg KHZvaWQpCitAQCAtMTM1MjEsNiArMTM2NTAsMjQgQEAgYWxsX3RyYWNlcG9pbnRzICh2b2lkKQog ICAgcmV0dXJuIHRwX3ZlYzsKICB9CiAgCkBAIC02ODUsNyArNjg1LDcgQEAgaW5kZXggMTcyZTQx OS4uNzQzMjRjNCAxMDA2NDQKICAMCiAgLyogVGhpcyBoZWxwIHN0cmluZyBpcyB1c2VkIGZvciB0 aGUgYnJlYWssIGhicmVhaywgdGJyZWFrIGFuZCB0aGJyZWFrCiAgICAgY29tbWFuZHMuICBJdCBp cyBkZWZpbmVkIGFzIGEgbWFjcm8gdG8gcHJldmVudCBkdXBsaWNhdGlvbi4KLUBAIC0xMzU4Nyw3 ICsxMzczNCw4IEBAIF9pbml0aWFsaXplX2JyZWFrcG9pbnQgKHZvaWQpCitAQCAtMTM4MTUsNyAr MTM5NjIsOCBAQCBfaW5pdGlhbGl6ZV9icmVha3BvaW50ICh2b2lkKQogICAgb2JzZXJ2ZXJfYXR0 YWNoX2luZmVyaW9yX2V4aXQgKGNsZWFyX3N5c2NhbGxfY291bnRzKTsKICAgIG9ic2VydmVyX2F0 dGFjaF9tZW1vcnlfY2hhbmdlZCAoaW52YWxpZGF0ZV9icF92YWx1ZV9vbl9tZW1vcnlfY2hhbmdl KTsKICAKQEAgLTY5NSw3ICs2OTUsNyBAQCBpbmRleCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAog IAogICAgYnJlYWtwb2ludF9jaGFpbiA9IDA7CiAgICAvKiBEb24ndCBib3RoZXIgdG8gY2FsbCBz ZXRfYnJlYWtwb2ludF9jb3VudC4gICRicG51bSBpc24ndCB1c2VmdWwKLUBAIC0xNDExNCw0ICsx NDI2Miw3IEBAIHJhbmdlIChpbmNsdWRpbmcgU1RBUlQtTE9DQVRJT04gYW5kIEVORC1MT0NBVElP TikuIikpOworQEAgLTE0MzQwLDQgKzE0NDg4LDcgQEAgcmFuZ2UgKGluY2x1ZGluZyBTVEFSVC1M T0NBVElPTiBhbmQgRU5ELUxPQ0FUSU9OKS4iKSk7CiAgICBhdXRvbWF0aWNfaGFyZHdhcmVfYnJl YWtwb2ludHMgPSAxOwogIAogICAgb2JzZXJ2ZXJfYXR0YWNoX2Fib3V0X3RvX3Byb2NlZWQgKGJy ZWFrcG9pbnRfYWJvdXRfdG9fcHJvY2VlZCk7CkBAIC03MDQsNyArNzA0LDcgQEAgaW5kZXggMTcy ZTQxOS4uNzQzMjRjNCAxMDA2NDQKICsjZW5kaWYKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFr cG9pbnQuaCBiL2dkYi9icmVha3BvaW50LmgKLWluZGV4IGQyMmU1NjQuLjllYTY2Y2UgMTAwNjQ0 CitpbmRleCA4YThkNWYyLi4xZTE4NTYyIDEwMDY0NAogLS0tIGEvZ2RiL2JyZWFrcG9pbnQuaAog KysrIGIvZ2RiL2JyZWFrcG9pbnQuaAogQEAgLTM3OSw2ICszNzksMTEgQEAgc3RydWN0IGJwX2xv Y2F0aW9uCkBAIC03MTksNyArNzE5LDcgQEAgaW5kZXggZDIyZTU2NC4uOWVhNjZjZSAxMDA2NDQK ICAgIGNoYXIgKmZ1bmN0aW9uX25hbWU7CiAgCiAgICAvKiBEZXRhaWxzIG9mIHRoZSBwbGFjZWQg YnJlYWtwb2ludCwgd2hlbiBpbnNlcnRlZC4gICovCi1AQCAtMTM4MSw0ICsxMzg2LDExIEBAIGV4 dGVybiBpbnQgdXNlcl9icmVha3BvaW50X3AgKHN0cnVjdCBicmVha3BvaW50ICopOworQEAgLTE0 MTIsNCArMTQxNywxMSBAQCBleHRlcm4gaW50IHVzZXJfYnJlYWtwb2ludF9wIChzdHJ1Y3QgYnJl YWtwb2ludCAqKTsKICAvKiBBdHRlbXB0IHRvIGRldGVybWluZSBhcmNoaXRlY3R1cmUgb2YgbG9j YXRpb24gaWRlbnRpZmllZCBieSBTQUwuICAqLwogIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAqZ2V0 X3NhbF9hcmNoIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lIHNhbCk7CiAgCkBAIC03MzIsMTAgKzcz MiwxMCBAQCBpbmRleCBkMjJlNTY0Li45ZWE2NmNlIDEwMDY0NAogKwogICNlbmRpZiAvKiAhZGVm aW5lZCAoQlJFQUtQT0lOVF9IKSAqLwogZGlmZiAtLWdpdCBhL2dkYi9jLXR5cGVwcmludC5jIGIv Z2RiL2MtdHlwZXByaW50LmMKLWluZGV4IDAyMTIyMzIuLmQ5ZGRmZjggMTAwNjQ0CitpbmRleCBk YjI1NGRjLi4xODFkZTA1IDEwMDY0NAogLS0tIGEvZ2RiL2MtdHlwZXByaW50LmMKICsrKyBiL2dk Yi9jLXR5cGVwcmludC5jCi1AQCAtNjI1LDkgKzYyNSwxNCBAQCBjX3R5cGVfcHJpbnRfdmFyc3Bl Y19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTYyNCw5ICs2MjQsMTQgQEAgY190eXBl X3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJICBmcHJpbnRmX2Zp bHRlcmVkIChzdHJlYW0sICIpIik7CiAgCiAgCWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIlsi KTsKQEAgLTc1NCw3ICs3NTQsNyBAQCBpbmRleCAwMjEyMjMyLi5kOWRkZmY4IDEwMDY0NAogIAog IAljX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCBz dHJlYW0sCiBkaWZmIC0tZ2l0IGEvZ2RiL2NsaS9jbGktdXRpbHMuYyBiL2dkYi9jbGkvY2xpLXV0 aWxzLmMKLWluZGV4IDYyYTJmMTIuLmNkNWZhYjUgMTAwNjQ0CitpbmRleCBhN2IyNzE4Li5hMWU1 MTYxIDEwMDY0NAogLS0tIGEvZ2RiL2NsaS9jbGktdXRpbHMuYwogKysrIGIvZ2RiL2NsaS9jbGkt dXRpbHMuYwogQEAgLTIyMyw2ICsyMjMsMTggQEAgc2tpcF9zcGFjZXMgKGNoYXIgKmNocCkKQEAg LTgxMCw3ICs4MTAsNyBAQCBpbmRleCA2MmEyZjEyLi5jZDVmYWI1IDEwMDY0NAogKyAgcmV0dXJu IGNvcHk7CiArfQogZGlmZiAtLWdpdCBhL2dkYi9jbGkvY2xpLXV0aWxzLmggYi9nZGIvY2xpL2Ns aS11dGlscy5oCi1pbmRleCA4YTZlNWIzLi42NTgxMTUxIDEwMDY0NAoraW5kZXggZTIzYzdkOC4u NWY4YTkxZCAxMDA2NDQKIC0tLSBhL2dkYi9jbGkvY2xpLXV0aWxzLmgKICsrKyBiL2dkYi9jbGkv Y2xpLXV0aWxzLmgKIEBAIC05NCw2ICs5NCwxMCBAQCBleHRlcm4gaW50IG51bWJlcl9pc19pbl9s aXN0IChjaGFyICpsaXN0LCBpbnQgbnVtYmVyKTsKQEAgLTgzNywxMCArODM3LDEwIEBAIGluZGV4 IDhhNmU1YjMuLjY1ODExNTEgMTAwNjQ0CiArCiAgI2VuZGlmIC8qIENMSV9VVElMU19IICovCiBk aWZmIC0tZ2l0IGEvZ2RiL2NvZmZyZWFkLmMgYi9nZGIvY29mZnJlYWQuYwotaW5kZXggY2Y4ZmI1 NC4uZjE3ZWFkOSAxMDA2NDQKK2luZGV4IGM3MjcyMjguLmUxZmFiNmQgMTAwNjQ0CiAtLS0gYS9n ZGIvY29mZnJlYWQuYwogKysrIGIvZ2RiL2NvZmZyZWFkLmMKLUBAIC0yMTk3LDYgKzIxOTcsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgY29mZl9zeW1fZm5zID0KK0BAIC0yMTk1LDYg KzIxOTUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgY29mZl9zeW1fZm5zID0KICAK ICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogc3ltX3JlbG9jYXRlOiBSZWxvY2F0ZSBh IGRlYnVnCiAgCQkJCSAgIHNlY3Rpb24uICAqLwpAQCAtODQ5LDcgKzg0OSw3IEBAIGluZGV4IGNm OGZiNTQuLmYxN2VhZDkgMTAwNjQ0CiAgfTsKICAKIGRpZmYgLS1naXQgYS9nZGIvZGF0YS1kaXJl Y3RvcnkvTWFrZWZpbGUuaW4gYi9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4KLWluZGV4 IGMwNGFlYTQuLmYwNmI2ZGEgMTAwNjQ0CitpbmRleCA0Mjk2ZTVhLi5iMDRkMTJmIDEwMDY0NAog LS0tIGEvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCiArKysgYi9nZGIvZGF0YS1kaXJl Y3RvcnkvTWFrZWZpbGUuaW4KIEBAIC01MiwxMyArNTIsMjQgQEAgU1lTQ0FMTFNfRklMRVMgPSBc CkBAIC04ODIsMTAgKzg4MiwxMCBAQCBpbmRleCBjMDRhZWE0Li5mMDZiNmRhIDEwMDY0NAogIEZM QUdTX1RPX1BBU1MgPSBcCiAgCSJwcmVmaXg9JChwcmVmaXgpIiBcCiBkaWZmIC0tZ2l0IGEvZ2Ri L2RieHJlYWQuYyBiL2dkYi9kYnhyZWFkLmMKLWluZGV4IDIyMTBhZjIuLjVkZTMwNzggMTAwNjQ0 CitpbmRleCBhZGY4MzE1Li5jMTFlNGQ0IDEwMDY0NAogLS0tIGEvZ2RiL2RieHJlYWQuYwogKysr IGIvZ2RiL2RieHJlYWQuYwotQEAgLTM1OTAsNiArMzU5MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgc3ltX2ZucyBhb3V0X3N5bV9mbnMgPQorQEAgLTM1ODgsNiArMzU4OCw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3Qgc3ltX2ZucyBhb3V0X3N5bV9mbnMgPQogICAgZGVmYXVsdF9zeW1maWxlX3Nl Z21lbnRzLAkvKiBHZXQgc2VnbWVudCBpbmZvcm1hdGlvbiBmcm9tIGEgZmlsZS4gICovCiAgICBO VUxMLAogICAgZGVmYXVsdF9zeW1maWxlX3JlbG9jYXRlLAkvKiBSZWxvY2F0ZSBhIGRlYnVnIHNl Y3Rpb24uICAqLwpAQCAtODk0LDEwICs4OTQsMTAgQEAgaW5kZXggMjIxMGFmMi4uNWRlMzA3OCAx MDA2NDQKICB9OwogIAogZGlmZiAtLWdpdCBhL2dkYi9kZWZzLmggYi9nZGIvZGVmcy5oCi1pbmRl eCA3ZjhhMzMwLi44YjdhOTQ2IDEwMDY0NAoraW5kZXggODNhNzE2YS4uN2Y4NzUyZSAxMDA2NDQK IC0tLSBhL2dkYi9kZWZzLmgKICsrKyBiL2dkYi9kZWZzLmgKLUBAIC00MTIsNiArNDEyLDggQEAg ZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICptYWtlX2NsZWFudXBfcmVzdG9yZV9wYWdlX2luZm8gKHZv aWQpOworQEAgLTQxMSw2ICs0MTEsOCBAQCBleHRlcm4gc3RydWN0IGNsZWFudXAgKm1ha2VfY2xl YW51cF9yZXN0b3JlX3BhZ2VfaW5mbyAodm9pZCk7CiAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICoK ICAgIHNldF9iYXRjaF9mbGFnX2FuZF9tYWtlX2NsZWFudXBfcmVzdG9yZV9wYWdlX2luZm8gKHZv aWQpOwogIApAQCAtOTA3LDEwICs5MDcsMTAgQEAgaW5kZXggN2Y4YTMzMC4uOGI3YTk0NiAxMDA2 NDQKICBleHRlcm4gY2hhciAqeGZ1bGxwYXRoIChjb25zdCBjaGFyICopOwogIAogZGlmZiAtLWdp dCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRleCBkNjBh ODdiLi5iMDYxOGY2IDEwMDY0NAoraW5kZXggMjBiMGI2Ny4uNTcwNjhjMyAxMDA2NDQKIC0tLSBh L2dkYi9kb2MvZ2RiLnRleGluZm8KICsrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLUBAIC0xMTc1 LDYgKzExNzUsMTYgQEAgZm9yIHJlbW90ZSBkZWJ1Z2dpbmcuCitAQCAtMTE3Myw2ICsxMTczLDE2 IEBAIGZvciByZW1vdGUgZGVidWdnaW5nLgogIFJ1biB1c2luZyBAdmFye2RldmljZX0gZm9yIHlv dXIgcHJvZ3JhbSdzIHN0YW5kYXJkIGlucHV0IGFuZCBvdXRwdXQuCiAgQGMgRklYTUU6IGtpbmdk b24gdGhpbmtzIHRoZXJlIGlzIG1vcmUgdG8gLXR0eS4gIEludmVzdGlnYXRlLgogIApAQCAtOTI3 LDcgKzkyNyw3IEBAIGluZGV4IGQ2MGE4N2IuLmIwNjE4ZjYgMTAwNjQ0CiAgQGMgcmVzb2x2ZSB0 aGUgc2l0dWF0aW9uIG9mIHRoZXNlIGV2ZW50dWFsbHkKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBA Y29kZXstLXR1aX0KLUBAIC0zMzAzLDYgKzMzMTMsNyBAQCBhbGwgYnJlYWtwb2ludHMgaW4gdGhh dCByYW5nZSBhcmUgb3BlcmF0ZWQgb24uCitAQCAtMzMwMSw2ICszMzExLDcgQEAgYWxsIGJyZWFr cG9pbnRzIGluIHRoYXQgcmFuZ2UgYXJlIG9wZXJhdGVkIG9uLgogICogQ29uZGl0aW9uczo6ICAg ICAgICAgICAgICAgICAgQnJlYWsgY29uZGl0aW9ucwogICogQnJlYWsgQ29tbWFuZHM6OiAgICAg ICAgICAgICAgQnJlYWtwb2ludCBjb21tYW5kIGxpc3RzCiAgKiBTYXZlIEJyZWFrcG9pbnRzOjog ICAgICAgICAgICBIb3cgdG8gc2F2ZSBicmVha3BvaW50cyBpbiBhIGZpbGUKQEAgLTkzNSw3ICs5 MzUsNyBAQCBpbmRleCBkNjBhODdiLi5iMDYxOGY2IDEwMDY0NAogICogRXJyb3IgaW4gQnJlYWtw b2ludHM6OiAgICAgICAgYGBDYW5ub3QgaW5zZXJ0IGJyZWFrcG9pbnRzJycKICAqIEJyZWFrcG9p bnQtcmVsYXRlZCBXYXJuaW5nczo6IGBgQnJlYWtwb2ludCBhZGRyZXNzIGFkanVzdGVkLi4uJycK ICBAZW5kIG1lbnUKLUBAIC00NTMyLDYgKzQ1NDMsNTAgQEAgYW5kIHJlbW92ZSB0aGUgYnJlYWtw b2ludCBkZWZpbml0aW9ucyB5b3UncmUgbm90IGludGVyZXN0ZWQgaW4sIG9yCitAQCAtNDUzMCw2 ICs0NTQxLDUwIEBAIGFuZCByZW1vdmUgdGhlIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgeW91J3Jl IG5vdCBpbnRlcmVzdGVkIGluLCBvcgogIHRoYXQgY2FuIG5vIGxvbmdlciBiZSByZWNyZWF0ZWQu CiAgQGVuZCB0YWJsZQogIApAQCAtOTg2LDcgKzk4Niw3IEBAIGluZGV4IGQ2MGE4N2IuLmIwNjE4 ZjYgMTAwNjQ0CiAgQGMgIEBpZmNsZWFyIEJBUkVUQVJHRVQKICBAbm9kZSBFcnJvciBpbiBCcmVh a3BvaW50cwogIEBzdWJzZWN0aW9uIGBgQ2Fubm90IGluc2VydCBicmVha3BvaW50cycnCi1AQCAt NjU1Miw2ICs2NjA3LDI5IEBAIHNwZWNpZnkgdGhlIGZ1bmN0aW9uIHVuYW1iaWd1b3VzbHksIGUu Zy4sIGlmIHRoZXJlIGFyZSBzZXZlcmFsCitAQCAtNjU1NSw2ICs2NjEwLDI5IEBAIHNwZWNpZnkg dGhlIGZ1bmN0aW9uIHVuYW1iaWd1b3VzbHksIGUuZy4sIGlmIHRoZXJlIGFyZSBzZXZlcmFsCiAg ZnVuY3Rpb25zIHdpdGggaWRlbnRpY2FsIG5hbWVzIGluIGRpZmZlcmVudCBzb3VyY2UgZmlsZXMu CiAgQGVuZCB0YWJsZQogIApAQCAtMTAxNiw3ICsxMDE2LDcgQEAgaW5kZXggZDYwYTg3Yi4uYjA2 MThmNiAxMDA2NDQKICBAZW5kIHRhYmxlCiAgCiAgCi1AQCAtODc2Nyw2ICs4ODQ1LDEwIEBAIHRv IG1hdGNoIHRoZSBmb3JtYXQgaW4gd2hpY2ggdGhlIGRhdGEgd2FzIHByaW50ZWQuCitAQCAtODgx MSw2ICs4ODg5LDEwIEBAIHRvIG1hdGNoIHRoZSBmb3JtYXQgaW4gd2hpY2ggdGhlIGRhdGEgd2Fz IHByaW50ZWQuCiAgVGhlIHZhcmlhYmxlIEBjb2RleyRfZXhpdGNvZGV9IGlzIGF1dG9tYXRpY2Fs bHkgc2V0IHRvIHRoZSBleGl0IGNvZGUgd2hlbgogIHRoZSBwcm9ncmFtIGJlaW5nIGRlYnVnZ2Vk IHRlcm1pbmF0ZXMuCiAgCkBAIC0xMDI3LDcgKzEwMjcsNyBAQCBpbmRleCBkNjBhODdiLi5iMDYx OGY2IDEwMDY0NAogIEBpdGVtICRfc2RhdGEKICBAdmluZGV4ICRfc2RhdGFAcnssIGluc3BlY3Qs IGNvbnZlbmllbmNlIHZhcmlhYmxlfQogIFRoZSB2YXJpYWJsZSBAY29kZXskX3NkYXRhfSBjb250 YWlucyBleHRyYSBjb2xsZWN0ZWQgc3RhdGljIHRyYWNlcG9pbnQKLUBAIC0xMDcxOSw2ICsxMDgw MSwxNiBAQCBDb2xsZWN0IGFsbCBsb2NhbCB2YXJpYWJsZXMuCitAQCAtMTA3NjMsNiArMTA4NDUs MTYgQEAgQ29sbGVjdCBhbGwgbG9jYWwgdmFyaWFibGVzLgogIENvbGxlY3QgdGhlIHJldHVybiBh ZGRyZXNzLiAgVGhpcyBpcyBoZWxwZnVsIGlmIHlvdSB3YW50IHRvIHNlZSBtb3JlCiAgb2YgYSBi YWNrdHJhY2UuCiAgCkBAIC0xMDQ0LDcgKzEwNDQsNyBAQCBpbmRleCBkNjBhODdiLi5iMDYxOGY2 IDEwMDY0NAogIEBpdGVtICRfc2RhdGEKICBAdmluZGV4ICRfc2RhdGFAcnssIGNvbGxlY3R9CiAg Q29sbGVjdCBzdGF0aWMgdHJhY2Vwb2ludCBtYXJrZXIgc3BlY2lmaWMgZGF0YS4gIE9ubHkgYXZh aWxhYmxlIGZvcgotQEAgLTIxNDU4LDggKzIxNTUwLDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9 LiAgRm9yIGV4YW1wbGU6CitAQCAtMjE1MDYsOCArMjE1OTgsNiBAQCBjb250YWluaW5nIEBjb2Rl e2VuZH0uICBGb3IgZXhhbXBsZToKICAKICBAc21hbGxleGFtcGxlCiAgKEB2YWx1ZXtHREJQfSkg cHl0aG9uCkBAIC0xMDUzLDcgKzEwNTMsNyBAQCBpbmRleCBkNjBhODdiLi5iMDYxOGY2IDEwMDY0 NAogID5wcmludCAyMwogID5lbmQKICAyMwotQEAgLTIxNDczLDYgKzIxNTYzLDE0IEBAIGNvbnRy b2xsZWQgdXNpbmcgQGNvZGV7c2V0IHB5dGhvbiBwcmludC1zdGFja306IGlmIEBjb2Rle2Z1bGx9 LCB0aGVuCitAQCAtMjE1MjEsNiArMjE2MTEsMTQgQEAgY29udHJvbGxlZCB1c2luZyBAY29kZXtz ZXQgcHl0aG9uIHByaW50LXN0YWNrfTogaWYgQGNvZGV7ZnVsbH0sIHRoZW4KICBmdWxsIFB5dGhv biBzdGFjayBwcmludGluZyBpcyBlbmFibGVkOyBpZiBAY29kZXtub25lfSwgdGhlbiBQeXRob24g c3RhY2sKICBhbmQgbWVzc2FnZSBwcmludGluZyBpcyBkaXNhYmxlZDsgaWYgQGNvZGV7bWVzc2Fn ZX0sIHRoZSBkZWZhdWx0LCBvbmx5CiAgdGhlIG1lc3NhZ2UgY29tcG9uZW50IG9mIHRoZSBlcnJv ciBpcyBwcmludGVkLgpAQCAtMTA2OCw3ICsxMDY4LDcgQEAgaW5kZXggZDYwYTg3Yi4uYjA2MThm NiAxMDA2NDQKICBAZW5kIHRhYmxlCiAgCiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBleGVjdXRl IGEgUHl0aG9uIHNjcmlwdCBmcm9tIHRoZSBAdmFsdWV7R0RCTn0KLUBAIC0yMTQ5NCw2ICsyMTU5 MiwxNCBAQCBhbmQgdGh1cyBpcyBhbHdheXMgYXZhaWxhYmxlLgorQEAgLTIxNTQyLDYgKzIxNjQw LDE0IEBAIGFuZCB0aHVzIGlzIGFsd2F5cyBhdmFpbGFibGUuCiAgQGNpbmRleCBweXRob24gYXBp CiAgQGNpbmRleCBwcm9ncmFtbWluZyBpbiBweXRob24KICAKQEAgLTEwODQsMTAgKzEwODQsMTAg QEAgaW5kZXggZDYwYTg3Yi4uYjA2MThmNiAxMDA2NDQKICBAY2luZGV4IHB5dGhvbiBwYWdpbmF0 aW9uCiAgQXQgc3RhcnR1cCwgQHZhbHVle0dEQk59IG92ZXJyaWRlcyBQeXRob24ncyBAY29kZXtz eXMuc3Rkb3V0fSBhbmQKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYmludC50ZXhpbmZvIGIvZ2Ri L2RvYy9nZGJpbnQudGV4aW5mbwotaW5kZXggMzRlZWU5MS4uMDZhN2FkYSAxMDA2NDQKK2luZGV4 IDAyNmRjNTkuLmYwZjZlZTMgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL2dkYmludC50ZXhpbmZvCiAr KysgYi9nZGIvZG9jL2dkYmludC50ZXhpbmZvCi1AQCAtMjEwNCw2ICsyMTA0LDE4IEBAIHRpbWUs IGFuZCBzbyB3ZSBhdHRlbXB0IHRvIGhhbmRsZSBzeW1ib2xzIGluY3JlbWVudGFsbHkuICBGb3Ig aW5zdGFuY2UsCitAQCAtMjEwMyw2ICsyMTAzLDE4IEBAIHRpbWUsIGFuZCBzbyB3ZSBhdHRlbXB0 IHRvIGhhbmRsZSBzeW1ib2xzIGluY3JlbWVudGFsbHkuICBGb3IgaW5zdGFuY2UsCiAgd2UgY3Jl YXRlIEBkZm57cGFydGlhbCBzeW1ib2wgdGFibGVzfSBjb25zaXN0aW5nIG9mIG9ubHkgc2VsZWN0 ZWQKICBzeW1ib2xzLCBhbmQgb25seSBleHBhbmQgdGhlbSB0byBmdWxsIHN5bWJvbCB0YWJsZXMg d2hlbiBuZWNlc3NhcnkuCiAgCkBAIC0xMTA2LDcgKzExMDYsNyBAQCBpbmRleCAzNGVlZTkxLi4w NmE3YWRhIDEwMDY0NAogIEBzZWN0aW9uIFN5bWJvbCBSZWFkaW5nCiAgCiAgQGNpbmRleCBzeW1i b2wgcmVhZGluZwotQEAgLTIxOTYsNiArMjIwOCw3IEBAIHN5bXRhYi4gIFVwb24gcmV0dXJuLCBA Y29kZXtwc3QtPnJlYWRpbn0gc2hvdWxkIGhhdmUgYmVlbiBzZXQgdG8gMSwgYW5kCitAQCAtMjE5 NSw2ICsyMjA3LDcgQEAgc3ltdGFiLiAgVXBvbiByZXR1cm4sIEBjb2Rle3BzdC0+cmVhZGlufSBz aG91bGQgaGF2ZSBiZWVuIHNldCB0byAxLCBhbmQKICB6ZXJvIGlmIHRoZXJlIHdlcmUgbm8gc3lt Ym9scyBpbiB0aGF0IHBhcnQgb2YgdGhlIHN5bWJvbCBmaWxlLgogIEBlbmQgdGFibGUKICAKQEAg LTExMTQsNyArMTExNCw3IEBAIGluZGV4IDM0ZWVlOTEuLjA2YTdhZGEgMTAwNjQ0CiAgQHNlY3Rp b24gUGFydGlhbCBTeW1ib2wgVGFibGVzCiAgCiAgQHZhbHVle0dEQk59IGhhcyB0aHJlZSB0eXBl cyBvZiBzeW1ib2wgdGFibGVzOgotQEAgLTIyOTcsNiArMjMxMCw3IEBAIGFuZCBwYXJ0aWFsIHN5 bWJvbCB0YWJsZXMgYmVoaW5kIGEgc2V0IG9mIGZ1bmN0aW9uIHBvaW50ZXJzIGtub3duIGFzCitA QCAtMjI5Niw2ICsyMzA5LDcgQEAgYW5kIHBhcnRpYWwgc3ltYm9sIHRhYmxlcyBiZWhpbmQgYSBz ZXQgb2YgZnVuY3Rpb24gcG9pbnRlcnMga25vd24gYXMKICB0aGUgQGRmbntxdWljayBzeW1ib2wg ZnVuY3Rpb25zfS4gIFRoZXNlIGFyZSBkb2N1bWVudGVkIGluCiAgQGZpbGV7c3ltZmlsZS5ofS4K ICAKQEAgLTExMjIsNyArMTEyMiw3IEBAIGluZGV4IDM0ZWVlOTEuLjA2YTdhZGEgMTAwNjQ0CiAg QHNlY3Rpb24gVHlwZXMKICAKICBAdW5udW1iZXJlZHN1YnNlYyBGdW5kYW1lbnRhbCBUeXBlcyAo ZS5nLiwgQGNvZGV7RlRfVk9JRH0sIEBjb2Rle0ZUX0JPT0xFQU59KS4KLUBAIC0yMzE5LDYgKzIz MzMsNyBAQCB0eXBlcyBtYXAgdG8gb25lIEBjb2Rle1RZUEVfQ09ERV8qfSB0eXBlLCBhbmQgYXJl IGRpc3Rpbmd1aXNoZWQgYnkKK0BAIC0yMzE4LDYgKzIzMzIsNyBAQCB0eXBlcyBtYXAgdG8gb25l IEBjb2Rle1RZUEVfQ09ERV8qfSB0eXBlLCBhbmQgYXJlIGRpc3Rpbmd1aXNoZWQgYnkKICBvdGhl ciBtZW1iZXJzIG9mIHRoZSB0eXBlIHN0cnVjdCwgc3VjaCBhcyB3aGV0aGVyIHRoZSB0eXBlIGlz IHNpZ25lZAogIG9yIHVuc2lnbmVkLCBhbmQgaG93IG1hbnkgYml0cyBpdCB1c2VzLgogIApAQCAt MTEzMCw3ICsxMTMwLDcgQEAgaW5kZXggMzRlZWU5MS4uMDZhN2FkYSAxMDA2NDQKICBAdW5udW1i ZXJlZHN1YnNlYyBCdWlsdGluIFR5cGVzIChlLmcuLCBAY29kZXtidWlsdGluX3R5cGVfdm9pZH0s IEBjb2Rle2J1aWx0aW5fdHlwZV9jaGFyfSkuCiAgCiAgVGhlc2UgYXJlIGluc3RhbmNlcyBvZiB0 eXBlIHN0cnVjdHMgdGhhdCByb3VnaGx5IGNvcnJlc3BvbmQgdG8KLUBAIC0yMzMzLDYgKzIzNDgs NyBAQCBvbmx5IG9uZSBpbnN0YW5jZSBleGlzdHMsIHdoaWxlIEBmaWxle2MtbGFuZy5jfSBidWls ZHMgYXMgbWFueQorQEAgLTIzMzIsNiArMjM0Nyw3IEBAIG9ubHkgb25lIGluc3RhbmNlIGV4aXN0 cywgd2hpbGUgQGZpbGV7Yy1sYW5nLmN9IGJ1aWxkcyBhcyBtYW55CiAgQGNvZGV7VFlQRV9DT0RF X0lOVH0gdHlwZXMgYXMgbmVlZGVkLCB3aXRoIGVhY2ggb25lIGFzc29jaWF0ZWQgd2l0aAogIHNv bWUgcGFydGljdWxhciBvYmpmaWxlLgogIApAQCAtMTEzOCw3ICsxMTM4LDcgQEAgaW5kZXggMzRl ZWU5MS4uMDZhN2FkYSAxMDA2NDQKICBAc2VjdGlvbiBPYmplY3QgRmlsZSBGb3JtYXRzCiAgQGNp bmRleCBvYmplY3QgZmlsZSBmb3JtYXRzCiAgCi1AQCAtMjQxOCw2ICsyNDM0LDcgQEAgU09NLCB3 aGljaCBpcyBhIGNyb3NzLWxhbmd1YWdlIEFCSSkuCitAQCAtMjQxNyw2ICsyNDMzLDcgQEAgU09N LCB3aGljaCBpcyBhIGNyb3NzLWxhbmd1YWdlIEFCSSkuCiAgCiAgVGhlIFNPTSByZWFkZXIgaXMg aW4gQGZpbGV7c29tcmVhZC5jfS4KICAKQEAgLTExNDYsNyArMTE0Niw3IEBAIGluZGV4IDM0ZWVl OTEuLjA2YTdhZGEgMTAwNjQ0CiAgQHNlY3Rpb24gRGVidWdnaW5nIEZpbGUgRm9ybWF0cwogIAog IFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgY2hhcmFjdGVyaXN0aWNzIG9mIGRlYnVnZ2luZyBpbmZv cm1hdGlvbiB0aGF0Ci1AQCAtMjQ4OSw2ICsyNTA2LDcgQEAgRFdBUkYgMyBpcyBhbiBpbXByb3Zl ZCB2ZXJzaW9uIG9mIERXQVJGIDIuCitAQCAtMjQ4OCw2ICsyNTA1LDcgQEAgRFdBUkYgMyBpcyBh biBpbXByb3ZlZCB2ZXJzaW9uIG9mIERXQVJGIDIuCiAgQGNpbmRleCBTT00gZGVidWdnaW5nIGlu Zm8KICBMaWtlIENPRkYsIHRoZSBTT00gZGVmaW5pdGlvbiBpbmNsdWRlcyBkZWJ1Z2dpbmcgaW5m b3JtYXRpb24uCiAgCkBAIC0xMTU0LDcgKzExNTQsNyBAQCBpbmRleCAzNGVlZTkxLi4wNmE3YWRh IDEwMDY0NAogIEBzZWN0aW9uIEFkZGluZyBhIE5ldyBTeW1ib2wgUmVhZGVyIHRvIEB2YWx1ZXtH REJOfQogIAogIEBjaW5kZXggYWRkaW5nIGRlYnVnZ2luZyBpbmZvIHJlYWRlcgotQEAgLTI1MTEs NiArMjUyOSw3IEBAIHdpbGwgb25seSBldmVyIGJlIGltcGxlbWVudGVkIGJ5IG9uZSBvYmplY3Qg ZmlsZSBmb3JtYXQgbWF5IGJlIGNhbGxlZAorQEAgLTI1MTAsNiArMjUyOCw3IEBAIHdpbGwgb25s eSBldmVyIGJlIGltcGxlbWVudGVkIGJ5IG9uZSBvYmplY3QgZmlsZSBmb3JtYXQgbWF5IGJlIGNh bGxlZAogIGRpcmVjdGx5LiAgVGhpcyBpbnRlcmZhY2Ugc2hvdWxkIGJlIGRlc2NyaWJlZCBpbiBh IGZpbGUKICBAZmlsZXtiZmQvbGliQHZhcnt4eXp9Lmh9LCB3aGljaCBpcyBpbmNsdWRlZCBieSBA dmFsdWV7R0RCTn0uCiAgCkBAIC0xMTYyLDcgKzExNjIsNyBAQCBpbmRleCAzNGVlZTkxLi4wNmE3 YWRhIDEwMDY0NAogIEBzZWN0aW9uIE1lbW9yeSBNYW5hZ2VtZW50IGZvciBTeW1ib2wgRmlsZXMK ICAKICBNb3N0IG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggYSBsb2FkZWQgc3ltYm9sIGZpbGUgaXMg c3RvcmVkIG9uCi1AQCAtMjUyMiwxMCArMjU0MSw0NSBAQCByZWxlYXNlZCB3aGVuIHRoZSBvYmpm aWxlIGlzIHVubG9hZGVkIG9yIHJlbG9hZGVkLiAgVGhlcmVmb3JlIG9uZQorQEAgLTI1MjEsMTAg KzI1NDAsNDUgQEAgcmVsZWFzZWQgd2hlbiB0aGUgb2JqZmlsZSBpcyB1bmxvYWRlZCBvciByZWxv YWRlZC4gIFRoZXJlZm9yZSBvbmUKICBvYmpmaWxlIG11c3Qgbm90IHJlZmVyZW5jZSBzeW1ib2wg b3IgdHlwZSBkYXRhIGZyb20gYW5vdGhlciBvYmpmaWxlOwogIHRoZXkgY291bGQgYmUgdW5sb2Fk ZWQgYXQgZGlmZmVyZW50IHRpbWVzLgogIApAQCAtMTIxMywxMCArMTIxMywxMCBAQCBpbmRleCAz NGVlZTkxLi4wNmE3YWRhIDEwMDY0NAogIAogIEBub2RlIExhbmd1YWdlIFN1cHBvcnQKIGRpZmYg LS1naXQgYS9nZGIvZG9jL29ic2VydmVyLnRleGkgYi9nZGIvZG9jL29ic2VydmVyLnRleGkKLWlu ZGV4IDY4OWIzMDMuLjJmNDZiOTMgMTAwNjQ0CitpbmRleCAyNDIzM2NiLi5lZmIyMDEzIDEwMDY0 NAogLS0tIGEvZ2RiL2RvYy9vYnNlcnZlci50ZXhpCiArKysgYi9nZGIvZG9jL29ic2VydmVyLnRl eGkKLUBAIC0yMjcsNiArMjI3LDExIEBAIENhbGxlZCBiZWZvcmUgYSB0b3AtbGV2ZWwgcHJvbXB0 IGlzIGRpc3BsYXllZC4gIEB2YXJ7Y3VycmVudF9wcm9tcHR9IGlzCitAQCAtMjI2LDYgKzIyNiwx MSBAQCBDYWxsZWQgYmVmb3JlIGEgdG9wLWxldmVsIHByb21wdCBpcyBkaXNwbGF5ZWQuICBAdmFy e2N1cnJlbnRfcHJvbXB0fSBpcwogIHRoZSBjdXJyZW50IHRvcC1sZXZlbCBwcm9tcHQuCiAgQGVu ZCBkZWZ0eXBlZnVuCiAgCkBAIC0xMjI5LDcgKzEyMjksNyBAQCBpbmRleCA2ODliMzAzLi4yZjQ2 YjkzIDEwMDY0NAogIFRoaXMgb2JzZXJ2ZXIgaXMgdXNlZCBmb3IgaW50ZXJuYWwgdGVzdGluZy4g IERvIG5vdCB1c2UuICAKICBTZWUgdGVzdHN1aXRlL2dkYi5nZGIvb2JzZXJ2ZXIuZXhwLgogZGlm ZiAtLWdpdCBhL2dkYi9kd2FyZjJleHByLmMgYi9nZGIvZHdhcmYyZXhwci5jCi1pbmRleCAwNDc3 OWE4Li5jNmE2NGU1IDEwMDY0NAoraW5kZXggMjIyZmNjMy4uOTMzODllMCAxMDA2NDQKIC0tLSBh L2dkYi9kd2FyZjJleHByLmMKICsrKyBiL2dkYi9kd2FyZjJleHByLmMKIEBAIC0xNDQ5LDYgKzE0 NDksMTQgQEAgZXhlY3V0ZV9zdGFja19vcCAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4 LApAQCAtMTI0OCw3ICsxMjQ4LDcgQEAgaW5kZXggMDQ3NzlhOC4uYzZhNjRlNSAxMDA2NDQKICAJ ICBlcnJvciAoXygiVW5oYW5kbGVkIGR3YXJmIGV4cHJlc3Npb24gb3Bjb2RlIDB4JXgiKSwgb3Ap OwogIAl9CiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmV4cHIuaCBiL2dkYi9kd2FyZjJleHByLmgK LWluZGV4IDJjMWRhMjYuLmRlYWZiZTggMTAwNjQ0CitpbmRleCBmZDcwYmY5Li41MTI5YzRlIDEw MDY0NAogLS0tIGEvZ2RiL2R3YXJmMmV4cHIuaAogKysrIGIvZ2RiL2R3YXJmMmV4cHIuaAogQEAg LTczLDEyICs3MywxMCBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0X2Z1bmNzCkBAIC0xMjY1 LDEwICsxMjY1LDEwIEBAIGluZGV4IDJjMWRhMjYuLmRlYWZiZTggMTAwNjQ0CiAgCiAgLyogVGhl IGxvY2F0aW9uIG9mIGEgdmFsdWUuICAqLwogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBi L2dkYi9kd2FyZjJsb2MuYwotaW5kZXggNzU0N2E0MC4uYmM4MDE1YyAxMDA2NDQKK2luZGV4IDMx M2RmN2IuLjM1ZTA3NjYgMTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYybG9jLmMKICsrKyBiL2dkYi9k d2FyZjJsb2MuYwotQEAgLTE1OCw2ICsxNTgsOSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbgor QEAgLTE1Nyw2ICsxNTcsOSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbgogIHsKICAgIHN0cnVj dCBmcmFtZV9pbmZvICpmcmFtZTsKICAgIHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9j dTsKQEAgLTEyNzgsNyArMTI3OCw3IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAg fTsKICAKICAvKiBIZWxwZXIgZnVuY3Rpb25zIGZvciBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2Mu ICAqLwotQEAgLTIxNywxNiArMjIwLDE0IEBAIHN0YXRpYyB2b2lkCitAQCAtMjE2LDE2ICsyMTks MTQgQEAgc3RhdGljIHZvaWQKICBkd2FyZl9leHByX2ZyYW1lX2Jhc2VfMSAoc3RydWN0IHN5bWJv bCAqZnJhbWVmdW5jLCBDT1JFX0FERFIgcGMsCiAgCQkJIGNvbnN0IGdkYl9ieXRlICoqc3RhcnQs IHNpemVfdCAqbGVuZ3RoKQogIHsKQEAgLTEyOTcsNyArMTI5Nyw3IEBAIGluZGV4IDc1NDdhNDAu LmJjODAxNWMgMTAwNjQ0CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0 b24gKnN5bWJhdG9uOwogIAotQEAgLTIzOSwxMCArMjQwLDIzIEBAIGR3YXJmX2V4cHJfZnJhbWVf YmFzZV8xIChzdHJ1Y3Qgc3ltYm9sICpmcmFtZWZ1bmMsIENPUkVfQUREUiBwYywKK0BAIC0yMzgs MTAgKzIzOSwyMyBAQCBkd2FyZl9leHByX2ZyYW1lX2Jhc2VfMSAoc3RydWN0IHN5bWJvbCAqZnJh bWVmdW5jLCBDT1JFX0FERFIgcGMsCiAgICAgICAgZWxzZQogIAkqbGVuZ3RoID0gMDsKICAgICAg fQpAQCAtMTMyMiw3ICsxMzIyLDcgQEAgaW5kZXggNzU0N2E0MC4uYmM4MDE1YyAxMDA2NDQKICB9 CiAgCiAgLyogSGVscGVyIGZ1bmN0aW9uIGZvciBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2MuICBD b21wdXRlcyB0aGUgQ0ZBIGZvcgotQEAgLTMxMCw2ICszMjQsODUgQEAgZHdhcmZfZXhwcl9kd2Fy Zl9jYWxsIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsIHNpemVfdCBkaWVfb2Zmc2V0 KQorQEAgLTMwOSw2ICszMjMsODUgQEAgZHdhcmZfZXhwcl9kd2FyZl9jYWxsIChzdHJ1Y3QgZHdh cmZfZXhwcl9jb250ZXh0ICpjdHgsIHNpemVfdCBkaWVfb2Zmc2V0KQogIAkJICAgICBjdHgtPmZ1 bmNzLT5nZXRfZnJhbWVfcGMsIGN0eC0+YmF0b24pOwogIH0KICAKQEAgLTE0MDgsNyArMTQwOCw3 IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgLyogQ2FsbGJhY2sgZnVuY3Rpb24g Zm9yIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzYy4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBl ICoKLUBAIC05OTEsMTAgKzEwODQsMTIgQEAgZHdhcmZfZXhwcl9wdXNoX2R3YXJmX3JlZ19lbnRy eV92YWx1ZSAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAorQEAgLTk5MCwxMCArMTA4 MywxMiBAQCBkd2FyZl9leHByX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3QgZHdh cmZfZXhwcl9jb250ZXh0ICpjdHgsCiAgCiAgICBzYXZlZF9jdHguZ2RiYXJjaCA9IGN0eC0+Z2Ri YXJjaDsKICAgIHNhdmVkX2N0eC5hZGRyX3NpemUgPSBjdHgtPmFkZHJfc2l6ZTsKQEAgLTE0MjEs NyArMTQyMSw3IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgICBjdHgtPm9mZnNl dCA9IGR3YXJmMl9wZXJfY3VfdGV4dF9vZmZzZXQgKGJhdG9uX2xvY2FsLnBlcl9jdSk7CiAgICBj dHgtPmJhdG9uID0gJmJhdG9uX2xvY2FsOwogIAotQEAgLTEwMDIsMTAgKzEwOTcsOTIgQEAgZHdh cmZfZXhwcl9wdXNoX2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0IGR3YXJmX2V4cHJfY29u dGV4dCAqY3R4LAorQEAgLTEwMDEsMTAgKzEwOTYsOTIgQEAgZHdhcmZfZXhwcl9wdXNoX2R3YXJm X3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAogIAogICAg Y3R4LT5nZGJhcmNoID0gc2F2ZWRfY3R4LmdkYmFyY2g7CiAgICBjdHgtPmFkZHJfc2l6ZSA9IHNh dmVkX2N0eC5hZGRyX3NpemU7CkBAIC0xNTE0LDcgKzE1MTQsNyBAQCBpbmRleCA3NTQ3YTQwLi5i YzgwMTVjIDEwMDY0NAogIC8qIFZBTFVFIG11c3QgYmUgb2YgdHlwZSBsdmFsX2NvbXB1dGVkIHdp dGggZW50cnlfZGF0YV92YWx1ZV9mdW5jcy4gIFBlcmZvcm0KICAgICB0aGUgaW5kaXJlY3QgbWV0 aG9kIG9uIGl0LCB0aGF0IGlzIHVzZSBpdHMgc3RvcmVkIHRhcmdldCB2YWx1ZSwgdGhlIHNvbGUK ICAgICBwdXJwb3NlIG9mIGVudHJ5X2RhdGFfdmFsdWVfZnVuY3MuLiAgKi8KLUBAIC0xOTI4LDIx ICsyMTA1LDYgQEAgaW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAodm9pZCkKK0BAIC0xOTI3LDIx ICsyMTA0LDYgQEAgaW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAodm9pZCkKICAJICAgInJlZmVy ZW5jZWQgdmlhIHN5bnRoZXRpYyBwb2ludGVyIikpOwogIH0KICAKQEAgLTE1MzYsNyArMTUzNiw3 IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgLyogRXZhbHVhdGUgYSBsb2NhdGlv biBkZXNjcmlwdGlvbiwgc3RhcnRpbmcgYXQgREFUQSBhbmQgd2l0aCBsZW5ndGgKICAgICBTSVpF LCB0byBmaW5kIHRoZSBjdXJyZW50IGxvY2F0aW9uIG9mIHZhcmlhYmxlIG9mIFRZUEUgaW4gdGhl CiAgICAgY29udGV4dCBvZiBGUkFNRS4gIEJZVEVfT0ZGU0VUIGlzIGFwcGxpZWQgYWZ0ZXIgdGhl IGNvbnRlbnRzIGFyZQotQEAgLTE5NTUsNyArMjExNyw2IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2Nf ZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAor QEAgLTE5NTQsNyArMjExNiw2IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogIAkJCSAgICAgICBMT05H RVNUIGJ5dGVfb2Zmc2V0KQogIHsKICAgIHN0cnVjdCB2YWx1ZSAqcmV0dmFsOwpAQCAtMTU0NCw3 ICsxNTQ0LDcgQEAgaW5kZXggNzU0N2E0MC4uYmM4MDE1YyAxMDA2NDQKICAgIHN0cnVjdCBkd2Fy Zl9leHByX2NvbnRleHQgKmN0eDsKICAgIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hhaW4sICp2YWx1 ZV9jaGFpbjsKICAgIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlID0gZHdhcmYyX3Blcl9jdV9vYmpm aWxlIChwZXJfY3UpOwotQEAgLTE5NjcsMjkgKzIxMjgsMTggQEAgZHdhcmYyX2V2YWx1YXRlX2xv Y19kZXNjX2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUs CitAQCAtMTk2NiwyOSArMjEyNywxOCBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAo c3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgIGlmIChzaXpl ID09IDApCiAgICAgIHJldHVybiBhbGxvY2F0ZV9vcHRpbWl6ZWRfb3V0X3ZhbHVlICh0eXBlKTsK ICAKQEAgLTE1NzUsNyArMTU3NSw3IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAg CSAgcmV0dmFsID0gYWxsb2NhdGVfdmFsdWUgKHR5cGUpOwogIAkgIG1hcmtfdmFsdWVfYnl0ZXNf dW5hdmFpbGFibGUgKHJldHZhbCwgMCwgVFlQRV9MRU5HVEggKHR5cGUpKTsKICAJICByZXR1cm4g cmV0dmFsOwotQEAgLTIwNTMsNiArMjIwMywxNiBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2Nf ZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKK0BAIC0y MDUyLDYgKzIyMDIsMTYgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVjdCB0 eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCiAgCSAgICBpbnQgaW5fc3RhY2tf bWVtb3J5ID0gZHdhcmZfZXhwcl9mZXRjaF9pbl9zdGFja19tZW1vcnkgKGN0eCwgMCk7CiAgCiAg CSAgICBkb19jbGVhbnVwcyAodmFsdWVfY2hhaW4pOwpAQCAtMTU5Miw3ICsxNTkyLDcgQEAgaW5k ZXggNzU0N2E0MC4uYmM4MDE1YyAxMDA2NDQKICAJICAgIHJldHZhbCA9IGFsbG9jYXRlX3ZhbHVl X2xhenkgKHR5cGUpOwogIAkgICAgVkFMVUVfTFZBTCAocmV0dmFsKSA9IGx2YWxfbWVtb3J5Owog IAkgICAgaWYgKGluX3N0YWNrX21lbW9yeSkKLUBAIC0zODk3LDggKzQwNTcsNyBAQCBsb2NsaXN0 X3RyYWNlcG9pbnRfdmFyX3JlZiAoc3RydWN0IHN5bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKK0BAIC0zODk2LDggKzQwNTYsNyBAQCBsb2NsaXN0X3RyYWNlcG9pbnRfdmFy X3JlZiAoc3RydWN0IHN5bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJ CQkgICAgICAgZGxiYXRvbi0+cGVyX2N1KTsKICB9CiAgCkBAIC0xNjAyLDcgKzE2MDIsNyBAQCBp bmRleCA3NTQ3YTQwLi5iYzgwMTVjIDEwMDY0NAogIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0 ZWRfb3BzIGR3YXJmMl9sb2NsaXN0X2Z1bmNzID0gewogICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxl LAogICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxlX2F0X2VudHJ5LAotQEAgLTM5MDcsNiArNDA2Niw0 OCBAQCBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2FyZjJfbG9jbGlzdF9mdW5j cyA9IHsKK0BAIC0zOTA2LDYgKzQwNjUsNDggQEAgY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRl ZF9vcHMgZHdhcmYyX2xvY2xpc3RfZnVuY3MgPSB7CiAgICBsb2NsaXN0X3RyYWNlcG9pbnRfdmFy X3JlZgogIH07CiAgCkBAIC0xNjUyLDEwICsxNjUyLDEwIEBAIGluZGV4IDc1NDdhNDAuLmJjODAx NWMgMTAwNjQ0CiAgX2luaXRpYWxpemVfZHdhcmYybG9jICh2b2lkKQogIHsKIGRpZmYgLS1naXQg YS9nZGIvZHdhcmYybG9jLmggYi9nZGIvZHdhcmYybG9jLmgKLWluZGV4IDgxOTY3OTEuLmRmMjU3 MGQgMTAwNjQ0CitpbmRleCBhN2Y4MzVmLi41MmE0NGYxIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJm MmxvYy5oCiArKysgYi9nZGIvZHdhcmYybG9jLmgKLUBAIC0xMTksNiArMTE5LDE1IEBAIHN0cnVj dCBkd2FyZjJfbG9jbGlzdF9iYXRvbgorQEAgLTExOCw2ICsxMTgsMTUgQEAgc3RydWN0IGR3YXJm Ml9sb2NsaXN0X2JhdG9uCiAgCiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0ZWRf b3BzIGR3YXJmMl9sb2NleHByX2Z1bmNzOwogIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2Nv bXB1dGVkX29wcyBkd2FyZjJfbG9jbGlzdF9mdW5jczsKQEAgLTE2NzIsMTAgKzE2NzIsMTAgQEAg aW5kZXggODE5Njc5MS4uZGYyNTcwZCAxMDA2NDQKICAvKiBDb21waWxlIGEgRFdBUkYgbG9jYXRp b24gZXhwcmVzc2lvbiB0byBhbiBhZ2VudCBleHByZXNzaW9uLgogICAgIAogZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCA4MDcyODU5Li45YWRh NWM1IDEwMDY0NAoraW5kZXggMGVmMGE1Yi4uODBlNWZlNCAxMDA2NDQKIC0tLSBhL2dkYi9kd2Fy ZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0xMjUwLDYgKzEyNTAsOSBAQCBz dGF0aWMgdm9pZCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3UgKmN1LAor QEAgLTEyMDksNiArMTIwOSw5IEBAIHN0YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAo c3RydWN0IGR3YXJmMl9jdSAqY3UsCiAgCQkJCSAgIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRv biAqYmF0b24sCiAgCQkJCSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIpOwogIApAQCAtMTY4NSw3 ICsxNjg1LDcgQEAgaW5kZXggODA3Mjg1OS4uOWFkYTVjNSAxMDA2NDQKICBzdGF0aWMgdm9pZCBk d2FyZjJfc3ltYm9sX21hcmtfY29tcHV0ZWQgKHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJ CQkgc3RydWN0IHN5bWJvbCAqc3ltLAogIAkJCQkJIHN0cnVjdCBkd2FyZjJfY3UgKmN1KTsKLUBA IC0xMjg0LDYgKzEyODcsOSBAQCBzdGF0aWMgdm9pZCBhZ2VfY2FjaGVkX2NvbXBfdW5pdHMgKHZv aWQpOworQEAgLTEyNDAsNiArMTI0Myw5IEBAIHN0YXRpYyB2b2lkIGFnZV9jYWNoZWRfY29tcF91 bml0cyAodm9pZCk7CiAgCiAgc3RhdGljIHZvaWQgZnJlZV9vbmVfY2FjaGVkX2NvbXBfdW5pdCAo dm9pZCAqKTsKICAKQEAgLTE2OTUsNyArMTY5NSw3IEBAIGluZGV4IDgwNzI4NTkuLjlhZGE1YzUg MTAwNjQ0CiAgc3RhdGljIHN0cnVjdCB0eXBlICpzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqLCBzdHJ1Y3QgdHlwZSAqLAogIAkJCQkgIHN0cnVjdCBkd2FyZjJfY3UgKik7CiAgCi1AQCAt MTMwNyw2ICsxMzEzLDkgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGllX3R5cGVfYXRfb2Zm c2V0ICh1bnNpZ25lZCBpbnQsCitAQCAtMTI2Myw2ICsxMjY5LDkgQEAgc3RhdGljIHN0cnVjdCB0 eXBlICpnZXRfZGllX3R5cGVfYXRfb2Zmc2V0ICh1bnNpZ25lZCBpbnQsCiAgCiAgc3RhdGljIHN0 cnVjdCB0eXBlICpnZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSk7CiAgCkBAIC0xNzA1LDcgKzE3MDUsNyBAQCBpbmRleCA4MDcyODU5Li45YWRh NWM1IDEwMDY0NAogIHN0YXRpYyB2b2lkIGR3YXJmMl9yZWxlYXNlX3F1ZXVlICh2b2lkICpkdW1t eSk7CiAgCiAgc3RhdGljIHZvaWQgcXVldWVfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX3Blcl9j dV9kYXRhICpwZXJfY3UpOwotQEAgLTgwODMsNiArODA5MiwyOSBAQCBwcm9jZXNzX2VudW1lcmF0 aW9uX3Njb3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitA QCAtODAwMSw2ICs4MDEwLDI5IEBAIHByb2Nlc3NfZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIG5ld19zeW1ib2wgKGRpZSwg dGhpc190eXBlLCBjdSk7CiAgfQogIApAQCAtMTczNSw3ICsxNzM1LDcgQEAgaW5kZXggODA3Mjg1 OS4uOWFkYTVjNSAxMDA2NDQKICAvKiBFeHRyYWN0IGFsbCBpbmZvcm1hdGlvbiBmcm9tIGEgRFdf VEFHX2FycmF5X3R5cGUgRElFIGFuZCBwdXQgaXQgaW4KICAgICB0aGUgRElFJ3MgdHlwZSBmaWVs ZC4gIEZvciBub3csIHRoaXMgb25seSBoYW5kbGVzIG9uZSBkaW1lbnNpb25hbAogICAgIGFycmF5 cy4gICovCi1AQCAtODA5Niw3ICs4MTI4LDcgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtODAxNCw3ICs4MDQ2LDcgQEAg cmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCiAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5 cGU7CiAgICBzdHJ1Y3QgdHlwZSAqKnJhbmdlX3R5cGVzID0gTlVMTDsKICAgIHN0cnVjdCBhdHRy aWJ1dGUgKmF0dHI7CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1 IDEwMDY0NAogICAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG87CiAgICBjaGFyICpuYW1lOwogIAot QEAgLTgxNDksMTcgKzgxODEsMTkgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtODA2NywxNyArODA5OSwxOSBAQCByZWFk X2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK ICAgIHR5cGUgPSBlbGVtZW50X3R5cGU7CiAgCiAgICBpZiAocmVhZF9hcnJheV9vcmRlciAoZGll LCBjdSkgPT0gRFdfT1JEX2NvbF9tYWpvcikKQEAgLTE3NzUsNyArMTc3NSw3IEBAIGluZGV4IDgw NzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAgCiAgICAvKiBVbmRlcnN0YW5kIER3YXJmMiBzdXBwb3J0 IGZvciB2ZWN0b3IgdHlwZXMgKGxpa2UgdGhleSBvY2N1ciBvbgogICAgICAgdGhlIFBvd2VyUEMg dy8gQWx0aVZlYykuICBHY2MganVzdCBhZGRzIGFub3RoZXIgYXR0cmlidXRlIHRvIHRoZQotQEAg LTg2NDMsMjkgKzg2NzcsMTE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtODU2MSwyOSArODU5NSwxMTQgQEAg cmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAo b2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBl LCAqY2hhcl90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE5MDMsNyArMTkw Myw3IEBAIGluZGV4IDgwNzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAgICBjaGFyX3R5cGUgPSBsYW5n dWFnZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJjaCk7CiAgICB0 eXBlID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdlX3R5cGUpOwog IAotQEAgLTg5NjksOCArOTA4OCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTg4ODcsOCArOTAwNiw3IEBAIHJl YWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQogICAgc3RydWN0IHR5cGUgKmJhc2VfdHlwZTsKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90 eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE5MTMsNyArMTkxMyw3IEBAIGlu ZGV4IDgwNzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAgICBjaGFyICpuYW1lOwogICAgTE9OR0VTVCBu ZWdhdGl2ZV9tYXNrOwogIAotQEAgLTg5ODMsNTMgKzkxMDEsMTI2IEBAIHJlYWRfc3VicmFuZ2Vf dHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTg5 MDEsNTMgKzkwMTksMTI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgaWYgKHJhbmdlX3R5cGUpCiAgICAgIHJldHVy biByYW5nZV90eXBlOwogIApAQCAtMjA3NCw3ICsyMDc0LDcgQEAgaW5kZXggODA3Mjg1OS4uOWFk YTVjNSAxMDA2NDQKICAgICAgfQogIAogICAgLyogRHdhcmYtMiBzcGVjaWZpY2F0aW9ucyBleHBs aWNpdGx5IGFsbG93cyB0byBjcmVhdGUgc3VicmFuZ2UgdHlwZXMKLUBAIC05MDcwLDI0ICs5MjYx LDQxIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQorQEAgLTg5ODgsMjQgKzkxNzksNDEgQEAgcmVhZF9zdWJyYW5nZV90eXBl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCX0KICAgICAg fQogIApAQCAtMjEzMiw3ICsyMTMyLDcgQEAgaW5kZXggODA3Mjg1OS4uOWFkYTVjNSAxMDA2NDQK ICAKICAgIG5hbWUgPSBkd2FyZjJfbmFtZSAoZGllLCBjdSk7CiAgICBpZiAobmFtZSkKLUBAIC0x MTYxMCwxMCArMTE4MTgsMTIgQEAgdmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0 ZSAqYXR0ciwgc3RydWN0IHN5bWJvbCAqc3ltLAorQEAgLTExNTQ1LDEwICsxMTc1MywxMiBAQCB2 YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3Qgc3ltYm9s ICpzeW0sCiAgICAgICAoaS5lLiB3aGVuIHRoZSB2YWx1ZSBvZiBhIHJlZ2lzdGVyIG9yIG1lbW9y eSBsb2NhdGlvbiBpcwogICAgICAgcmVmZXJlbmNlZCwgb3IgYSB0aHJlYWQtbG9jYWwgYmxvY2ss IGV0Yy4pLiAgVGhlbiBhZ2FpbiwgaXQgbWlnaHQKICAgICAgIG5vdCBiZSB3b3J0aHdoaWxlLiAg SSdtIGFzc3VtaW5nIHRoYXQgaXQgaXNuJ3QgdW5sZXNzIHBlcmZvcm1hbmNlCkBAIC0yMTQ3LDcg KzIxNDcsNyBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogIAogICAgaWYgKFNZTUJP TF9DT01QVVRFRF9PUFMgKHN5bSkgPT0gJmR3YXJmMl9sb2NsaXN0X2Z1bmNzKQogICAgICBjdS0+ aGFzX2xvY2xpc3QgPSAxOwotQEAgLTExNjU0LDYgKzExODY0LDggQEAgbmV3X3N5bWJvbF9mdWxs IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1LAorQEAgLTExNTg5LDYgKzExNzk5LDggQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAog ICAgICAgIGVsc2UKICAJc3ltID0gT0JTVEFDS19aQUxMT0MgKCZvYmpmaWxlLT5vYmpmaWxlX29i c3RhY2ssIHN0cnVjdCBzeW1ib2wpOwogICAgICAgIE9CSlNUQVQgKG9iamZpbGUsIG5fc3ltcysr KTsKQEAgLTIxNTYsNyArMjE1Niw3IEBAIGluZGV4IDgwNzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAg CiAgICAgICAgLyogQ2FjaGUgdGhpcyBzeW1ib2wncyBuYW1lIGFuZCB0aGUgbmFtZSdzIGRlbWFu Z2xlZCBmb3JtIChpZiBhbnkpLiAgKi8KICAgICAgICBTWU1CT0xfU0VUX0xBTkdVQUdFIChzeW0s IGN1LT5sYW5ndWFnZSk7Ci1AQCAtMTI0MTksNiArMTI2MzEsOSBAQCByZWFkX3R5cGVfZGllXzEg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMjM1NCw2 ICsxMjU2Niw5IEBAIHJlYWRfdHlwZV9kaWVfMSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0yMTY2LDcgKzIx NjYsNyBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogICAgcmV0dXJuIHRoaXNfdHlw ZTsKICB9CiAgCi1AQCAtMTU2NTMsNjIgKzE1ODY4LDEwMCBAQCBmaWxsX2luX2xvY2xpc3RfYmF0 b24gKHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAgLTE1NTkwLDYyICsxNTgwNSwxMDAgQEAgZmls bF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKICAgIGJhdG9uLT5iYXNl X2FkZHJlc3MgPSBjdS0+YmFzZV9hZGRyZXNzOwogIH0KICAKQEAgLTIzMDksNyArMjMwOSw3IEBA IGluZGV4IDgwNzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAgICAgIH0KICB9CiAgCi1AQCAtMTYwODAs NiArMTYzMzMsMjUgQEAgb2Zmc2V0X2FuZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocywg Y29uc3Qgdm9pZCAqaXRlbV9yaHMpCitAQCAtMTYwMDMsNiArMTYyNTYsMjUgQEAgb2Zmc2V0X2Fu ZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCiAg ICByZXR1cm4gb2ZzX2xocy0+b2Zmc2V0ID09IG9mc19yaHMtPm9mZnNldDsKICB9CiAgCkBAIC0y MzM1LDcgKzIzMzUsNyBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogIC8qIFNldCB0 aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGluIENVJ3MgaGFz aAogICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0dXJuIFRZUEUu CiAgCi1AQCAtMTYxMDUsNiArMTYzNzcsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTYw MjgsNiArMTYzMDAsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSA9IGN1LT5vYmpmaWxlOwogICAgaHRhYl90ICp0eXBlX2hhc2hfcHRyOwogIApAQCAt MjM0NSwxMCArMjM0NSwxMCBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogICAgICAg aW5pdGlhbGl6ZWQgKGlmIG5vdCBhbHJlYWR5IHNldCkuICBUaGVyZSBhcmUgYSBmZXcgdHlwZXMg d2hlcmUKICAgICAgIHdlIHNob3VsZCBub3QgYmUgZG9pbmcgc28sIGJlY2F1c2UgdGhlIHR5cGUt c3BlY2lmaWMgYXJlYSBpcwogZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVh ZC5jCi1pbmRleCA0Y2ViMzFiLi5iZmQ2YWMyIDEwMDY0NAoraW5kZXggZGRhZTA5OS4uYWVhNDQz ZiAxMDA2NDQKIC0tLSBhL2dkYi9lbGZyZWFkLmMKICsrKyBiL2dkYi9lbGZyZWFkLmMKLUBAIC0z OCw2ICszOCw4IEBACitAQCAtMzYsNiArMzYsOCBAQAogICNpbmNsdWRlICJkZW1hbmdsZS5oIgog ICNpbmNsdWRlICJwc3ltcHJpdi5oIgogICNpbmNsdWRlICJmaWxlbmFtZXMuaCIKQEAgLTIzNTcs NyArMjM1Nyw3IEBAIGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAgI2luY2x1ZGUgImdk YnR5cGVzLmgiCiAgI2luY2x1ZGUgInZhbHVlLmgiCiAgI2luY2x1ZGUgImluZmNhbGwuaCIKLUBA IC02Miw2ICs2NCwyMSBAQCBzdHJ1Y3QgZWxmaW5mbworQEAgLTYwLDYgKzYyLDIxIEBAIHN0cnVj dCBlbGZpbmZvCiAgICAgIGFzZWN0aW9uICptZGVidWdzZWN0OwkvKiBTZWN0aW9uIHBvaW50ZXIg Zm9yIC5tZGVidWcgc2VjdGlvbiAqLwogICAgfTsKICAKQEAgLTIzNzksNyArMjM3OSw3IEBAIGlu ZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAgc3RhdGljIHZvaWQgZnJlZV9lbGZpbmZvICh2 b2lkICopOwogIAogIC8qIE1pbmltYWwgc3ltYm9scyBsb2NhdGVkIGF0IHRoZSBHT1QgZW50cmll cyBmb3IgLnBsdCAtIHRoYXQgaXMgdGhlIHJlYWwKLUBAIC0xNTc4LDcgKzE1OTUsMjcwIEBAIGVs ZnN0YWJfb2Zmc2V0X3NlY3Rpb25zIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3RydWN0IHBh cnRpYWxfc3ltdGFiICpwc3QpCitAQCAtMTU3Niw3ICsxNTkzLDI3MCBAQCBlbGZzdGFiX29mZnNl dF9zZWN0aW9ucyAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHN0cnVjdCBwYXJ0aWFsX3N5bXRh YiAqcHN0KQogICAgICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsCiAgCSAgICAgICBf KCJlbGYvc3RhYiBzZWN0aW9uIGluZm9ybWF0aW9uIG1pc3NpbmcgZm9yICVzIiksIGZpbGVuYW1l KTsKICB9CkBAIC0yNjUwLDcgKzI2NTAsNyBAQCBpbmRleCA0Y2ViMzFiLi5iZmQ2YWMyIDEwMDY0 NAogIC8qIFJlZ2lzdGVyIHRoYXQgd2UgYXJlIGFibGUgdG8gaGFuZGxlIEVMRiBvYmplY3QgZmls ZSBmb3JtYXRzLiAgKi8KICAKICBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9m bnMgPQotQEAgLTE1OTMsNiArMTg3Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBl bGZfc3ltX2ZucyA9CitAQCAtMTU5MSw2ICsxODcxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBz eW1fZm5zIGVsZl9zeW1fZm5zID0KICAgIGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0IHNl Z21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRf c3ltZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTI2 NTgsNyArMjY1OCw3IEBAIGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAgICAmcHN5bV9m dW5jdGlvbnMKICB9OwogIAotQEAgLTE2MTEsNiArMTg5Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgc3ltX2ZucyBlbGZfc3ltX2Zuc19sYXp5X3BzeW1zID0KK0BAIC0xNjA5LDYgKzE4OTAsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnNfbGF6eV9wc3ltcyA9CiAg ICBlbGZfc3ltZmlsZV9zZWdtZW50cywJCS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20g YSBmaWxlLiAgKi8KICAgIE5VTEwsCiAgICBkZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUsCS8qIFJl bG9jYXRlIGEgZGVidWcgc2VjdGlvbi4gICovCkBAIC0yNjY2LDcgKzI2NjYsNyBAQCBpbmRleCA0 Y2ViMzFiLi5iZmQ2YWMyIDEwMDY0NAogICAgJnBzeW1fZnVuY3Rpb25zCiAgfTsKICAKLUBAIC0x NjI4LDYgKzE5MTAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnNf Z2RiX2luZGV4ID0KK0BAIC0xNjI2LDYgKzE5MDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5 bV9mbnMgZWxmX3N5bV9mbnNfZ2RiX2luZGV4ID0KICAgIGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJ LyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAg IGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAg Ki8KQEAgLTI2NzQsNyArMjY3NCw3IEBAIGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAg ICAmZHdhcmYyX2dkYl9pbmRleF9mdW5jdGlvbnMKICB9OwogIAotQEAgLTE2NDQsNiArMTkyNyw4 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ251X2lmdW5jX2ZucyBlbGZfZ251X2lmdW5jX2ZucyA9 CitAQCAtMTY0Miw2ICsxOTI1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnbnVfaWZ1bmNfZm5z IGVsZl9nbnVfaWZ1bmNfZm5zID0KICB2b2lkCiAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkK ICB7CkBAIC0yNjg0LDE4ICsyNjg0LDE4IEBAIGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0 CiAgCiAgICBlbGZfb2JqZmlsZV9nbnVfaWZ1bmNfY2FjaGVfZGF0YSA9IHJlZ2lzdGVyX29iamZp bGVfZGF0YSAoKTsKIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwotaW5kZXgg NWQ3NThkMS4uYjRjMTc5OSAxMDA2NDQKK2luZGV4IDAyNDRmN2EuLmIzM2QzNjcgMTAwNjQ0CiAt LS0gYS9nZGIvZXZhbC5jCiArKysgYi9nZGIvZXZhbC5jCi1AQCAtNDQsNiArNDQsNyBAQAorQEAg LTQxLDYgKzQxLDcgQEAKKyAjaW5jbHVkZSAiZ2RiX29ic3RhY2suaCIKICAjaW5jbHVkZSAib2Jq ZmlsZXMuaCIKICAjaW5jbHVkZSAicHl0aG9uL3B5dGhvbi5oIgotICNpbmNsdWRlICJ3cmFwcGVy LmgiCiArI2luY2x1ZGUgImR3YXJmMmxvYy5oIgogIAogICNpbmNsdWRlICJnZGJfYXNzZXJ0Lmgi CiAgCi1AQCAtNDg5LDI3ICs0OTAsMjE3IEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZh bHVlICphcnJheSwgc3RydWN0IHZhbHVlICplbGVtZW50LAorQEAgLTQ5OCwyNyArNDk5LDIxNyBA QCBpbml0X2FycmF5X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIHN0cnVjdCB2YWx1ZSAq ZWxlbWVudCwKICB9CiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0yOTI5LDcgKzI5Mjks NyBAQCBpbmRleCA1ZDc1OGQxLi5iNGMxNzk5IDEwMDY0NAogIH0KICAKICAKLUBAIC03OTAsNiAr OTgxLDcgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5 cGUsCitAQCAtNzk5LDYgKzk5MCw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0 IHR5cGUgKmV4cGVjdF90eXBlLAogICAgaW50IHNhdmVfcG9zMTsKICAgIHN0cnVjdCBzeW1ib2wg KmZ1bmN0aW9uID0gTlVMTDsKICAgIGNoYXIgKmZ1bmN0aW9uX25hbWUgPSBOVUxMOwpAQCAtMjkz Nyw3ICsyOTM3LDcgQEAgaW5kZXggNWQ3NThkMS4uYjRjMTc5OSAxMDA2NDQKICAKICAgIHBjID0g KCpwb3MpKys7CiAgICBvcCA9IGV4cC0+ZWx0c1twY10ub3Bjb2RlOwotQEAgLTE4NjUsNiArMjA1 Nyw4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBl LAorQEAgLTE4NzQsNiArMjA2Niw4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0 IHR5cGUgKmV4cGVjdF90eXBlLAogIAogICAgICAgIC8qIEZpcnN0IGRldGVybWluZSB0aGUgdHlw ZSBjb2RlIHdlIGFyZSBkZWFsaW5nIHdpdGguICAqLwogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9z dWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CkBAIC0yOTQ2LDcgKzI5NDYsNyBA QCBpbmRleCA1ZDc1OGQxLi5iNGMxNzk5IDEwMDY0NAogICAgICAgIHR5cGUgPSBjaGVja190eXBl ZGVmICh2YWx1ZV90eXBlIChhcmcxKSk7CiAgICAgICAgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7 CiAgCi1AQCAtMTg4NSwyMyArMjA3OSwxMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0 cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0xODk0LDIzICsyMDg4LDEzIEBAIGV2YWx1YXRl X3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgICAgICBjb2Rl ID0gVFlQRV9DT0RFICh0eXBlKTsKICAJICAgIH0KICAJfSAKQEAgLTI5NzIsNyArMjk3Miw3IEBA IGluZGV4IDVkNzU4ZDEuLmI0YzE3OTkgMTAwNjQ0CiAgCiAgCWNhc2UgVFlQRV9DT0RFX1BUUjoK ICAJY2FzZSBUWVBFX0NPREVfRlVOQzoKLUBAIC0yMzQwLDQ5ICsyNTI0LDYgQEAgZXZhbHVhdGVf c3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMjM0OSw0OSAr MjUzMyw2IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90 eXBlLAogIAl9CiAgICAgICAgcmV0dXJuIChhcmcxKTsKICAKQEAgLTMwMjIsNyArMzAyMiw3IEBA IGluZGV4IDVkNzU4ZDEuLmI0YzE3OTkgMTAwNjQ0CiAgICAgIGNhc2UgQklOT1BfTE9HSUNBTF9B TkQ6CiAgICAgICAgYXJnMSA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywg bm9zaWRlKTsKICAgICAgICBpZiAobm9zaWRlID09IEVWQUxfU0tJUCkKLUBAIC0yNjE0LDE1ICsy NzU1LDIzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90 eXBlLAorQEAgLTI2MjMsMTUgKzI3NjQsMjMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChz dHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgICAgICAgaWYgKGV4cGVjdF90eXBlICYmIFRZUEVf Q09ERSAoZXhwZWN0X3R5cGUpID09IFRZUEVfQ09ERV9QVFIpCiAgCWV4cGVjdF90eXBlID0gVFlQ RV9UQVJHRVRfVFlQRSAoY2hlY2tfdHlwZWRlZiAoZXhwZWN0X3R5cGUpKTsKICAgICAgICBhcmcx ID0gZXZhbHVhdGVfc3ViZXhwIChleHBlY3RfdHlwZSwgZXhwLCBwb3MsIG5vc2lkZSk7CkBAIC0z MDQ4LDcgKzMwNDgsNyBAQCBpbmRleCA1ZDc1OGQxLi5iNGMxNzk5IDEwMDY0NAogICAgICAgIGVs c2UgaWYgKG5vc2lkZSA9PSBFVkFMX0FWT0lEX1NJREVfRUZGRUNUUykKICAJewogIAkgIHR5cGUg PSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcxKSk7Ci1AQCAtMjYzMSwxMiArMjc4MCwx OCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwK K0BAIC0yNjQwLDEyICsyNzg5LDE4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0 IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgIC8qIEluIEMgeW91IGNhbiBkZXJlZmVyZW5jZSBhbiBh cnJheSB0byBnZXQgdGhlIDFzdCBlbHQuICAqLwogIAkgICAgICB8fCBUWVBFX0NPREUgKHR5cGUp ID09IFRZUEVfQ09ERV9BUlJBWQogIAkgICAgKQpAQCAtMzA3Miw3ICszMDcyLDcgQEAgaW5kZXgg NWQ3NThkMS4uYjRjMTc5OSAxMDA2NDQKICAJICBlbHNlCiAgCSAgICBlcnJvciAoXygiQXR0ZW1w dCB0byB0YWtlIGNvbnRlbnRzIG9mIGEgbm9uLXBvaW50ZXIgdmFsdWUuIikpOwogIAl9Ci1AQCAt MjY0Niw5ICsyODAxLDE0IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUg KmV4cGVjdF90eXBlLAorQEAgLTI2NTUsOSArMjgxMCwxNCBAQCBldmFsdWF0ZV9zdWJleHBfc3Rh bmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAJIGRvLiAgImxvbmcgbG9uZyIgdmFy aWFibGVzIGFyZSByYXJlIGVub3VnaCB0aGF0CiAgCSBCVUlMVElOX1RZUEVfTE9OR0VTVCB3b3Vs ZCBzZWVtIHRvIGJlIGEgbWlzdGFrZS4gICovCiAgICAgICAgaWYgKFRZUEVfQ09ERSAodHlwZSkg PT0gVFlQRV9DT0RFX0lOVCkKQEAgLTMwOTAsNyArMzA5MCw3IEBAIGluZGV4IDVkNzU4ZDEuLmI0 YzE3OTkgMTAwNjQ0CiAgCiAgICAgIGNhc2UgVU5PUF9BRERSOgogICAgICAgIC8qIEMrKzogY2hl Y2sgZm9yIGFuZCBoYW5kbGUgcG9pbnRlciB0byBtZW1iZXJzLiAgKi8KLUBAIC0yOTkwLDcgKzMx NTAsNyBAQCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24g KmV4cCwKK0BAIC0yOTk5LDcgKzMxNTksNyBAQCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lv biAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKICB7CiAgICBlbnVtIGV4cF9vcGNvZGUgb3A7CiAg ICBpbnQgcGM7CkBAIC0zMDk5LDcgKzMwOTksNyBAQCBpbmRleCA1ZDc1OGQxLi5iNGMxNzk5IDEw MDY0NAogICAgc3RydWN0IHN5bWJvbCAqdmFyOwogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAgCi1A QCAtMzAwMSwxMyArMzE2MSwxOCBAQCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3Ry dWN0IGV4cHJlc3Npb24gKmV4cCwKK0BAIC0zMDEwLDEzICszMTcwLDE4IEBAIGV2YWx1YXRlX3N1 YmV4cF93aXRoX2NvZXJjaW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogICAgICB7CiAgICAg IGNhc2UgT1BfVkFSX1ZBTFVFOgogICAgICAgIHZhciA9IGV4cC0+ZWx0c1twYyArIDJdLnN5bWJv bDsKQEAgLTMxMTksNyArMzExOSw3IEBAIGluZGV4IDVkNzU4ZDEuLmI0YzE3OTkgMTAwNjQ0CiAg CSAgcmV0dXJuIHZhbHVlX2Nhc3QgKGxvb2t1cF9wb2ludGVyX3R5cGUgKFRZUEVfVEFSR0VUX1RZ UEUgKHR5cGUpKSwKICAJCQkgICAgIHZhbCk7CiAgCX0KLUBAIC0zMDU5LDkgKzMyMjQsMTMgQEAg ZXZhbHVhdGVfc3ViZXhwX2Zvcl9zaXplb2YgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAq cG9zKQorQEAgLTMwNjgsOSArMzIzMywxMyBAQCBldmFsdWF0ZV9zdWJleHBfZm9yX3NpemVvZiAo c3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MpCiAgCiAgICAgIGNhc2UgT1BfVkFSX1ZB TFVFOgogICAgICAgICgqcG9zKSArPSA0OwpAQCAtMzEzNiw3ICszMTM2LDcgQEAgaW5kZXggNWQ3 NThkMS4uYjRjMTc5OSAxMDA2NDQKICAKICAgICAgZGVmYXVsdDoKICAgICAgICB2YWwgPSBldmFs dWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIEVWQUxfQVZPSURfU0lERV9FRkZFQ1RT KTsKLUBAIC0zMDkyLDE4ICszMjYxLDI1IEBAIHBhcnNlX2FuZF9ldmFsX3R5cGUgKGNoYXIgKnAs IGludCBsZW5ndGgpCitAQCAtMzEwMSwxOCArMzI3MCwyNSBAQCBwYXJzZV9hbmRfZXZhbF90eXBl IChjaGFyICpwLCBpbnQgbGVuZ3RoKQogIGludAogIGNhbGNfZjc3X2FycmF5X2RpbXMgKHN0cnVj dCB0eXBlICphcnJheV90eXBlKQogIHsKQEAgLTMxNzMsMTAgKzMxNzMsMTAgQEAgaW5kZXggNWQ3 NThkMS4uYjRjMTc5OSAxMDA2NDQKICsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9n ZGIvZi1leHAueQotaW5kZXggNzQ5MzdkNy4uMDkzZmZlMCAxMDA2NDQKK2luZGV4IGIyNThjMGEu LjE3NTI5NzMgMTAwNjQ0CiAtLS0gYS9nZGIvZi1leHAueQogKysrIGIvZ2RiL2YtZXhwLnkKLUBA IC0yOTMsNyArMjkzLDkgQEAgYXJnbGlzdCA6CXN1YnJhbmdlCitAQCAtMjkyLDcgKzI5Miw5IEBA IGFyZ2xpc3QgOglzdWJyYW5nZQogIAkJCXsgYXJnbGlzdF9sZW4gPSAxOyB9CiAgCTsKICAgICAK QEAgLTMxODgsNyArMzE4OCw3IEBAIGluZGV4IDc0OTM3ZDcuLjA5M2ZmZTAgMTAwNjQ0CiAgCTsK ICAKIGRpZmYgLS1naXQgYS9nZGIvZi1sYW5nLmggYi9nZGIvZi1sYW5nLmgKLWluZGV4IDgwNDM1 NzcuLjk0YTVmMzEgMTAwNjQ0CitpbmRleCAzYTQ2ZWJmLi4yYjczZTFmIDEwMDY0NAogLS0tIGEv Z2RiL2YtbGFuZy5oCiArKysgYi9nZGIvZi1sYW5nLmgKIEBAIC0yOCw2ICsyOCwxMCBAQCBleHRl cm4gdm9pZCBmX2Vycm9yIChjaGFyICopOwkvKiBEZWZpbmVkIGluIGYtZXhwLnkgKi8KQEAgLTMy MDMsMTAgKzMyMDMsMTAgQEAgaW5kZXggODA0MzU3Ny4uOTRhNWYzMSAxMDA2NDQKICAJCQlzdHJ1 Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJY29uc3Qgc3RydWN0IHZhbHVlICosCiBkaWZmIC0tZ2l0 IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwotaW5kZXggNmQ5ZTZlYy4u Y2M0YzAyYSAxMDA2NDQKK2luZGV4IGE5NWVmODQuLjgzMDkxN2QgMTAwNjQ0CiAtLS0gYS9nZGIv Zi10eXBlcHJpbnQuYwogKysrIGIvZ2RiL2YtdHlwZXByaW50LmMKLUBAIC0zMiw3ICszMiw3IEBA CitAQCAtMzEsNyArMzEsNyBAQAogICNpbmNsdWRlICJnZGJjb3JlLmgiCiAgI2luY2x1ZGUgInRh cmdldC5oIgogICNpbmNsdWRlICJmLWxhbmcuaCIKQEAgLTMyMTUsNyArMzIxNSw3IEBAIGluZGV4 IDZkOWU2ZWMuLmNjNGMwMmEgMTAwNjQ0CiAgI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIKICAjaW5j bHVkZSA8ZXJybm8uaD4KICAKLUBAIC00OSw2ICs0OSwzNCBAQCB2b2lkIGZfdHlwZV9wcmludF92 YXJzcGVjX3ByZWZpeCAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKiwKK0BAIC00OCw2 ICs0OCwzNCBAQCB2b2lkIGZfdHlwZV9wcmludF92YXJzcGVjX3ByZWZpeCAoc3RydWN0IHR5cGUg Kiwgc3RydWN0IHVpX2ZpbGUgKiwKICB2b2lkIGZfdHlwZV9wcmludF9iYXNlIChzdHJ1Y3QgdHlw ZSAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsIGludCk7CiAgDAogIApAQCAtMzI1MCw3ICszMjUw LDcgQEAgaW5kZXggNmQ5ZTZlYy4uY2M0YzAyYSAxMDA2NDQKICAvKiBMRVZFTCBpcyB0aGUgZGVw dGggdG8gaW5kZW50IGxpbmVzIGJ5LiAgKi8KICAKICB2b2lkCi1AQCAtNTgsNiArODYsOSBAQCBm X3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sCitAQCAtNTcsNiArODUsOSBAQCBmX3ByaW50X3R5cGUgKHN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsIHN0cnVjdCB1aV9maWxlICpz dHJlYW0sCiAgICBlbnVtIHR5cGVfY29kZSBjb2RlOwogICAgaW50IGRlbWFuZ2xlZF9hcmdzOwog IApAQCAtMzI2MCw3ICszMjYwLDcgQEAgaW5kZXggNmQ5ZTZlYy4uY2M0YzAyYSAxMDA2NDQKICAg IGZfdHlwZV9wcmludF9iYXNlICh0eXBlLCBzdHJlYW0sIHNob3csIGxldmVsKTsKICAgIGNvZGUg PSBUWVBFX0NPREUgKHR5cGUpOwogICAgaWYgKCh2YXJzdHJpbmcgIT0gTlVMTCAmJiAqdmFyc3Ry aW5nICE9ICdcMCcpCi1AQCAtMTY1LDYgKzE5Niw5IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1 ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCitAQCAtMTY0 LDYgKzE5NSw5IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5 cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgCiAgICBRVUlUOwogIApAQCAtMzI3MSw3ICsz MjcxLDcgQEAgaW5kZXggNmQ5ZTZlYy4uY2M0YzAyYSAxMDA2NDQKICAgICAgewogICAgICBjYXNl IFRZUEVfQ09ERV9BUlJBWToKIGRpZmYgLS1naXQgYS9nZGIvZi12YWxwcmludC5jIGIvZ2RiL2Yt dmFscHJpbnQuYwotaW5kZXggYjgwMGQ4OS4uMGY2MTZlMCAxMDA2NDQKK2luZGV4IDg3YjJlZDEu LjVkMjYzZjIgMTAwNjQ0CiAtLS0gYS9nZGIvZi12YWxwcmludC5jCiArKysgYi9nZGIvZi12YWxw cmludC5jCiBAQCAtNTQsMTUgKzU0LDE3IEBAIGludCBmNzdfYXJyYXlfb2Zmc2V0X3RibFtNQVhf Rk9SVFJBTl9ESU1TICsgMV1bMl07CkBAIC0zNDEwLDEwICszNDEwLDEwIEBAIGluZGV4IGI4MDBk ODkuLjBmNjE2ZTAgMTAwNjQ0CiAgICBzd2l0Y2ggKFRZUEVfQ09ERSAodHlwZSkpCiAgICAgIHsK IGRpZmYgLS1naXQgYS9nZGIvZmluZHZhci5jIGIvZ2RiL2ZpbmR2YXIuYwotaW5kZXggMzMzMzJj Ni4uZDhkYTM0YSAxMDA2NDQKK2luZGV4IDc5YzQyMjEuLjFiYjdjMjIgMTAwNjQ0CiAtLS0gYS9n ZGIvZmluZHZhci5jCiArKysgYi9nZGIvZmluZHZhci5jCi1AQCAtMzUsNiArMzUsNyBAQAorQEAg LTM0LDYgKzM0LDcgQEAKICAjaW5jbHVkZSAidXNlci1yZWdzLmgiCiAgI2luY2x1ZGUgImJsb2Nr LmgiCiAgI2luY2x1ZGUgIm9iamZpbGVzLmgiCkBAIC0zNDIxLDcgKzM0MjEsNyBAQCBpbmRleCAz MzMzMmM2Li5kOGRhMzRhIDEwMDY0NAogIAogIC8qIEJhc2ljIGJ5dGUtc3dhcHBpbmcgcm91dGlu ZXMuICBBbGwgJ2V4dHJhY3QnIGZ1bmN0aW9ucyByZXR1cm4gYQogICAgIGhvc3QtZm9ybWF0IGlu dGVnZXIgZnJvbSBhIHRhcmdldC1mb3JtYXQgaW50ZWdlciBhdCBBRERSIHdoaWNoIGlzCi1AQCAt NDA4LDggKzQwOSwxMSBAQCBzeW1ib2xfcmVhZF9uZWVkc19mcmFtZSAoc3RydWN0IHN5bWJvbCAq c3ltKQorQEAgLTQwNyw4ICs0MDgsMTEgQEAgc3ltYm9sX3JlYWRfbmVlZHNfZnJhbWUgKHN0cnVj dCBzeW1ib2wgKnN5bSkKICAKICAvKiBHaXZlbiBhIHN0cnVjdCBzeW1ib2wgZm9yIGEgdmFyaWFi bGUsCiAgICAgYW5kIGEgc3RhY2sgZnJhbWUgaWQsIHJlYWQgdGhlIHZhbHVlIG9mIHRoZSB2YXJp YWJsZQpAQCAtMzQzNSw3ICszNDM1LDcgQEAgaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQK ICAKICBzdHJ1Y3QgdmFsdWUgKgogIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIs IHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKLUBAIC00MTcsMTYgKzQyMSw2IEBAIHJlYWRfdmFy X3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKK0BA IC00MTYsMTYgKzQyMCw2IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0 cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKICAgIHN0cnVjdCB2YWx1ZSAqdjsKICAgIHN0cnVjdCB0 eXBlICp0eXBlID0gU1lNQk9MX1RZUEUgKHZhcik7CiAgICBDT1JFX0FERFIgYWRkcjsKQEAgLTM0 NTIsNyArMzQ1Miw3IEBAIGluZGV4IDMzMzMyYzYuLmQ4ZGEzNGEgMTAwNjQ0CiAgCiAgICBpZiAo c3ltYm9sX3JlYWRfbmVlZHNfZnJhbWUgKHZhcikpCiAgICAgIGdkYl9hc3NlcnQgKGZyYW1lKTsK LUBAIC00MzYsNyArNDMwLDcgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwg c3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQorQEAgLTQzNSw3ICs0MjksNyBAQCByZWFkX3Zhcl92 YWx1ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgICAg IGNhc2UgTE9DX0NPTlNUOgogICAgICAgIC8qIFB1dCB0aGUgY29uc3RhbnQgYmFjayBpbiB0YXJn ZXQgZm9ybWF0LiAgKi8KICAgICAgICB2ID0gYWxsb2NhdGVfdmFsdWUgKHR5cGUpOwpAQCAtMzQ2 MSw3ICszNDYxLDcgQEAgaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQKICAJCQkgICAgZ2Ri YXJjaF9ieXRlX29yZGVyIChnZXRfdHlwZV9hcmNoICh0eXBlKSksCiAgCQkJICAgIChMT05HRVNU KSBTWU1CT0xfVkFMVUUgKHZhcikpOwogICAgICAgIFZBTFVFX0xWQUwgKHYpID0gbm90X2x2YWw7 Ci1AQCAtNDYxLDEyICs0NTUsMTIgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZh ciwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQorQEAgLTQ2MCwxMiArNDU0LDEyIEBAIHJlYWRf dmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkK ICAKICAgICAgY2FzZSBMT0NfQ09OU1RfQllURVM6CiAgICAgICAgdiA9IGFsbG9jYXRlX3ZhbHVl ICh0eXBlKTsKQEAgLTM0NzYsNyArMzQ3Niw3IEBAIGluZGV4IDMzMzMyYzYuLmQ4ZGEzNGEgMTAw NjQ0CiAgICAgICAgaWYgKG92ZXJsYXlfZGVidWdnaW5nKQogIAlhZGRyID0gc3ltYm9sX292ZXJs YXllZF9hZGRyZXNzIChTWU1CT0xfVkFMVUVfQUREUkVTUyAodmFyKSwKICAJCQkJCSBTWU1CT0xf T0JKX1NFQ1RJT04gKHZhcikpOwotQEAgLTQ4MCw3ICs0NzQsNiBAQCByZWFkX3Zhcl92YWx1ZSAo c3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNDc5LDcg KzQ3Myw2IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFt ZV9pbmZvICpmcmFtZSkKICAJZXJyb3IgKF8oIlVua25vd24gYXJndW1lbnQgbGlzdCBhZGRyZXNz IGZvciBgJXMnLiIpLAogIAkgICAgICAgU1lNQk9MX1BSSU5UX05BTUUgKHZhcikpOwogICAgICAg IGFkZHIgKz0gU1lNQk9MX1ZBTFVFICh2YXIpOwpAQCAtMzQ4NCw3ICszNDg0LDcgQEAgaW5kZXgg MzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSBMT0Nf UkVGX0FSRzoKLUBAIC00OTUsMTQgKzQ4OCwxMiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5 bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNDk0LDE0ICs0ODcsMTIg QEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8g KmZyYW1lKQogIAlhcmdyZWYgKz0gU1lNQk9MX1ZBTFVFICh2YXIpOwogIAlyZWYgPSB2YWx1ZV9h dCAobG9va3VwX3BvaW50ZXJfdHlwZSAodHlwZSksIGFyZ3JlZik7CiAgCWFkZHIgPSB2YWx1ZV9h c19hZGRyZXNzIChyZWYpOwpAQCAtMzQ5OSw3ICszNDk5LDcgQEAgaW5kZXggMzMzMzJjNi4uZDhk YTM0YSAxMDA2NDQKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSBMT0NfVFlQRURFRjoKLUBA IC01MTEsNyArNTAyLDYgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3Ry dWN0IGZyYW1lX2luZm8gKmZyYW1lKQorQEAgLTUxMCw3ICs1MDEsNiBAQCByZWFkX3Zhcl92YWx1 ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgICAgICAg YnJlYWs7CiAgCiAgICAgIGNhc2UgTE9DX0JMT0NLOgpAQCAtMzUwNyw3ICszNTA3LDcgQEAgaW5k ZXggMzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQKICAgICAgICBpZiAob3ZlcmxheV9kZWJ1Z2dpbmcp CiAgCWFkZHIgPSBzeW1ib2xfb3ZlcmxheWVkX2FkZHJlc3MKICAJICAoQkxPQ0tfU1RBUlQgKFNZ TUJPTF9CTE9DS19WQUxVRSAodmFyKSksIFNZTUJPTF9PQkpfU0VDVElPTiAodmFyKSk7Ci1AQCAt NTM3LDcgKzUyNyw2IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVj dCBmcmFtZV9pbmZvICpmcmFtZSkKK0BAIC01MzYsNyArNTI2LDYgQEAgcmVhZF92YXJfdmFsdWUg KHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQogIAkgICAgICAg ICAgICAgU1lNQk9MX1BSSU5UX05BTUUgKHZhcikpOwogIAogIAkgICAgYWRkciA9IHZhbHVlX2Fz X2FkZHJlc3MgKHJlZ3ZhbCk7CkBAIC0zNTE1LDcgKzM1MTUsNyBAQCBpbmRleCAzMzMzMmM2Li5k OGRhMzRhIDEwMDY0NAogIAkgIH0KICAJZWxzZQogIAkgIHsKLUBAIC01NzcsNyArNTY2LDYgQEAg cmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8gKmZy YW1lKQorQEAgLTU3Niw3ICs1NjUsNiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAq dmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgCWlmIChvYmpfc2VjdGlvbgogIAkgICAg JiYgKG9ial9zZWN0aW9uLT50aGVfYmZkX3NlY3Rpb24tPmZsYWdzICYgU0VDX1RIUkVBRF9MT0NB TCkgIT0gMCkKICAJICBhZGRyID0gdGFyZ2V0X3RyYW5zbGF0ZV90bHNfYWRkcmVzcyAob2JqX3Nl Y3Rpb24tPm9iamZpbGUsIGFkZHIpOwpAQCAtMzUyMyw3ICszNTIzLDcgQEAgaW5kZXggMzMzMzJj Ni4uZDhkYTM0YSAxMDA2NDQKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgCi1AQCAtNTkwLDYg KzU3OCwxMCBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJh bWVfaW5mbyAqZnJhbWUpCitAQCAtNTg5LDYgKzU3NywxMCBAQCByZWFkX3Zhcl92YWx1ZSAoc3Ry dWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgICAgICAgYnJlYWs7 CiAgICAgIH0KICAKQEAgLTM1MzQsNyArMzUzNCw3IEBAIGluZGV4IDMzMzMyYzYuLmQ4ZGEzNGEg MTAwNjQ0CiAgICBWQUxVRV9MVkFMICh2KSA9IGx2YWxfbWVtb3J5OwogICAgc2V0X3ZhbHVlX2Fk ZHJlc3MgKHYsIGFkZHIpOwogICAgcmV0dXJuIHY7Ci1AQCAtNjcyLDEwICs2NjQsMTEgQEAgc3Ry dWN0IHZhbHVlICoKK0BAIC02NzEsMTAgKzY2MywxMSBAQCBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVl X2Zyb21fcmVnaXN0ZXIgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgcmVnbnVtLCBzdHJ1Y3QgZnJh bWVfaW5mbyAqZnJhbWUpCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJh bWVfYXJjaCAoZnJhbWUpOwpAQCAtMzU0OCw3ICszNTQ4LDcgQEAgaW5kZXggMzMzMzJjNi4uZDhk YTM0YSAxMDA2NDQKICAgICAgewogICAgICAgIGludCBvcHRpbSwgdW5hdmFpbCwgb2s7CiAgCi1A QCAtNjkwLDcgKzY4Myw3IEBAIHZhbHVlX2Zyb21fcmVnaXN0ZXIgKHN0cnVjdCB0eXBlICp0eXBl LCBpbnQgcmVnbnVtLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNjg5LDcgKzY4Miw3 IEBAIHZhbHVlX2Zyb21fcmVnaXN0ZXIgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgcmVnbnVtLCBz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgICAgICAgVkFMVUVfTFZBTCAodikgPSBsdmFsX3Jl Z2lzdGVyOwogICAgICAgIFZBTFVFX0ZSQU1FX0lEICh2KSA9IGdldF9mcmFtZV9pZCAoZnJhbWUp OwogICAgICAgIFZBTFVFX1JFR05VTSAodikgPSByZWdudW07CkBAIC0zNTU4LDEwICszNTU4LDEw IEBAIGluZGV4IDMzMzMyYzYuLmQ4ZGEzNGEgMTAwNjQ0CiAgCQkJCSAgICAgICZ1bmF2YWlsKTsK ICAKIGRpZmYgLS1naXQgYS9nZGIvZ2RiYXJjaC5jIGIvZ2RiL2dkYmFyY2guYwotaW5kZXggMWFk YTUwNC4uZWMxZWY0NiAxMDA2NDQKK2luZGV4IDFiZDIzNDEuLjQzMWRkY2MgMTAwNjQ0CiAtLS0g YS9nZGIvZ2RiYXJjaC5jCiArKysgYi9nZGIvZ2RiYXJjaC5jCi1AQCAtMjYzLDYgKzI2MywxNiBA QCBzdHJ1Y3QgZ2RiYXJjaAorQEAgLTI2NSw2ICsyNjUsMTYgQEAgc3RydWN0IGdkYmFyY2gKICAg IGdkYmFyY2hfZ2V0X3NpZ2luZm9fdHlwZV9mdHlwZSAqZ2V0X3NpZ2luZm9fdHlwZTsKICAgIGdk YmFyY2hfcmVjb3JkX3NwZWNpYWxfc3ltYm9sX2Z0eXBlICpyZWNvcmRfc3BlY2lhbF9zeW1ib2w7 CiAgICBnZGJhcmNoX2dldF9zeXNjYWxsX251bWJlcl9mdHlwZSAqZ2V0X3N5c2NhbGxfbnVtYmVy OwpAQCAtMzU3OCw3ICszNTc4LDcgQEAgaW5kZXggMWFkYTUwNC4uZWMxZWY0NiAxMDA2NDQKICAg IGludCBoYXNfZ2xvYmFsX3NvbGlzdDsKICAgIGludCBoYXNfZ2xvYmFsX2JyZWFrcG9pbnRzOwog ICAgZ2RiYXJjaF9oYXNfc2hhcmVkX2FkZHJlc3Nfc3BhY2VfZnR5cGUgKmhhc19zaGFyZWRfYWRk cmVzc19zcGFjZTsKLUBAIC00MTgsNiArNDI4LDE2IEBAIHN0cnVjdCBnZGJhcmNoIHN0YXJ0dXBf Z2RiYXJjaCA9CitAQCAtNDIzLDYgKzQzMywxNiBAQCBzdHJ1Y3QgZ2RiYXJjaCBzdGFydHVwX2dk YmFyY2ggPQogICAgMCwgIC8qIGdldF9zaWdpbmZvX3R5cGUgKi8KICAgIDAsICAvKiByZWNvcmRf c3BlY2lhbF9zeW1ib2wgKi8KICAgIDAsICAvKiBnZXRfc3lzY2FsbF9udW1iZXIgKi8KQEAgLTM1 OTUsNyArMzU5NSw3IEBAIGluZGV4IDFhZGE1MDQuLmVjMWVmNDYgMTAwNjQ0CiAgICAwLCAgLyog aGFzX2dsb2JhbF9zb2xpc3QgKi8KICAgIDAsICAvKiBoYXNfZ2xvYmFsX2JyZWFrcG9pbnRzICov CiAgICBkZWZhdWx0X2hhc19zaGFyZWRfYWRkcmVzc19zcGFjZSwgIC8qIGhhc19zaGFyZWRfYWRk cmVzc19zcGFjZSAqLwotQEAgLTcwNyw2ICs3MjcsMTYgQEAgdmVyaWZ5X2dkYmFyY2ggKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoKQorQEAgLTcxNSw2ICs3MzUsMTYgQEAgdmVyaWZ5X2dkYmFyY2gg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQogICAgLyogU2tpcCB2ZXJpZnkgb2YgZ2V0X3NpZ2lu Zm9fdHlwZSwgaGFzIHByZWRpY2F0ZS4gICovCiAgICAvKiBTa2lwIHZlcmlmeSBvZiByZWNvcmRf c3BlY2lhbF9zeW1ib2wsIGhhcyBwcmVkaWNhdGUuICAqLwogICAgLyogU2tpcCB2ZXJpZnkgb2Yg Z2V0X3N5c2NhbGxfbnVtYmVyLCBoYXMgcHJlZGljYXRlLiAgKi8KQEAgLTM2MTIsNyArMzYxMiw3 IEBAIGluZGV4IDFhZGE1MDQuLmVjMWVmNDYgMTAwNjQ0CiAgICAvKiBTa2lwIHZlcmlmeSBvZiBo YXNfZ2xvYmFsX3NvbGlzdCwgaW52YWxpZF9wID09IDAgKi8KICAgIC8qIFNraXAgdmVyaWZ5IG9m IGhhc19nbG9iYWxfYnJlYWtwb2ludHMsIGludmFsaWRfcCA9PSAwICovCiAgICAvKiBTa2lwIHZl cmlmeSBvZiBoYXNfc2hhcmVkX2FkZHJlc3Nfc3BhY2UsIGludmFsaWRfcCA9PSAwICovCi1AQCAt MTI0MCw2ICsxMjcwLDQyIEBAIGdkYmFyY2hfZHVtcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCB1aV9maWxlICpmaWxlKQorQEAgLTEyNjcsNiArMTI5Nyw0MiBAQCBnZGJhcmNoX2R1 bXAgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdWlfZmlsZSAqZmlsZSkKICAgICAg ICAgICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogc3RhYnNfYXJndW1lbnRfaGFzX2FkZHIg PSA8JXM+XG4iLAogICAgICAgICAgICAgICAgICAgICAgICBob3N0X2FkZHJlc3NfdG9fc3RyaW5n IChnZGJhcmNoLT5zdGFic19hcmd1bWVudF9oYXNfYWRkcikpOwogICAgZnByaW50Zl91bmZpbHRl cmVkIChmaWxlLApAQCAtMzY1NSw3ICszNjU1LDcgQEAgaW5kZXggMWFkYTUwNC4uZWMxZWY0NiAx MDA2NDQKICAgICAgICAgICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogZ2RiYXJjaF9zdGF0 aWNfdHJhbnNmb3JtX25hbWVfcCgpID0gJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGdk YmFyY2hfc3RhdGljX3RyYW5zZm9ybV9uYW1lX3AgKGdkYmFyY2gpKTsKICAgIGZwcmludGZfdW5m aWx0ZXJlZCAoZmlsZSwKLUBAIC0zNzU5LDYgKzM4MjUsMTkwIEBAIHNldF9nZGJhcmNoX2dldF9z eXNjYWxsX251bWJlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMzgzNCw2ICszOTAw LDE5MCBAQCBzZXRfZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXIgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLAogICAgZ2RiYXJjaC0+Z2V0X3N5c2NhbGxfbnVtYmVyID0gZ2V0X3N5c2NhbGxfbnVt YmVyOwogIH0KICAKQEAgLTM4NDcsNyArMzg0Nyw3IEBAIGluZGV4IDFhZGE1MDQuLmVjMWVmNDYg MTAwNjQ0CiAgZ2RiYXJjaF9oYXNfZ2xvYmFsX3NvbGlzdCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gpCiAgewogZGlmZiAtLWdpdCBhL2dkYi9nZGJhcmNoLmggYi9nZGIvZ2RiYXJjaC5oCi1pbmRl eCBjMjU3YzYzLi5lZWI4ZTYyIDEwMDY0NAoraW5kZXggMDQ0MjgxYy4uMjk0YTYzZiAxMDA2NDQK IC0tLSBhL2dkYi9nZGJhcmNoLmgKICsrKyBiL2dkYi9nZGJhcmNoLmgKIEBAIC01NSw2ICs1NSw3 IEBAIHN0cnVjdCBjb3JlX3JlZ3NldF9zZWN0aW9uOwpAQCAtMzg1OCw3ICszODU4LDcgQEAgaW5k ZXggYzI1N2M2My4uZWViOGU2MiAxMDA2NDQKICAKICAvKiBUaGUgYXJjaGl0ZWN0dXJlIGFzc29j aWF0ZWQgd2l0aCB0aGUgY29ubmVjdGlvbiB0byB0aGUgdGFyZ2V0LgogICAKLUBAIC05NjMsNiAr OTY0LDEyNSBAQCB0eXBlZGVmIExPTkdFU1QgKGdkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyX2Z0 eXBlKSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHB0aQorQEAgLTk3OSw2ICs5ODAsMTI1IEBA IHR5cGVkZWYgTE9OR0VTVCAoZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXJfZnR5cGUpIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgcHRpCiAgZXh0ZXJuIExPTkdFU1QgZ2RiYXJjaF9nZXRfc3lz Y2FsbF9udW1iZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBwdGlkX3QgcHRpZCk7CiAgZXh0 ZXJuIHZvaWQgc2V0X2dkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXJfZnR5cGUgKmdldF9zeXNjYWxsX251 bWJlcik7CiAgCkBAIC0zOTg1LDEwICszOTg1LDEwIEBAIGluZGV4IGMyNTdjNjMuLmVlYjhlNjIg MTAwNjQ0CiAgICAgcHJvY2Vzc2VzLCBhcyBvcHBvc2VkIHRvIGEgbGlzdCBvZiBzaGFyZWQgbGli cmFyaWVzIHBlciBpbmZlcmlvci4KICAgICBUaGlzIHVzdWFsbHkgbWVhbnMgdGhhdCBhbGwgcHJv Y2Vzc2VzLCBhbHRob3VnaCBtYXkgb3IgbWF5IG5vdCBzaGFyZQogZGlmZiAtLWdpdCBhL2dkYi9n ZGJhcmNoLnNoIGIvZ2RiL2dkYmFyY2guc2gKLWluZGV4IDBjMzM0NGYuLjUzNDNhY2UgMTAwNzU1 CitpbmRleCAzNzI4MWJhLi44NzlmYWI3IDEwMDc1NQogLS0tIGEvZ2RiL2dkYmFyY2guc2gKICsr KyBiL2dkYi9nZGJhcmNoLnNoCi1AQCAtNzg3LDYgKzc4NywxMDEgQEAgTTp2b2lkOnJlY29yZF9z cGVjaWFsX3N5bWJvbDpzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgYXN5bWJvbCAqc3ltOm9iamZp bGUsIHN5bQorQEAgLTc5Miw2ICs3OTIsMTAxIEBAIE06dm9pZDpyZWNvcmRfc3BlY2lhbF9zeW1i b2w6c3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGFzeW1ib2wgKnN5bTpvYmpmaWxlLCBzeW0KICAj IEdldCBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgc3lzdGVtIGNhbGxzIGluZm9ybWF0aW9uIGZyb20g cmVnaXN0ZXJzLgogIE06TE9OR0VTVDpnZXRfc3lzY2FsbF9udW1iZXI6cHRpZF90IHB0aWQ6cHRp ZAogIApAQCAtNDA5MCw3ICs0MDkwLDcgQEAgaW5kZXggMGMzMzQ0Zi4uNTM0M2FjZSAxMDA3NTUK ICAjIFRydWUgaWYgdGhlIGxpc3Qgb2Ygc2hhcmVkIGxpYnJhcmllcyBpcyBvbmUgYW5kIG9ubHkg Zm9yIGFsbAogICMgcHJvY2Vzc2VzLCBhcyBvcHBvc2VkIHRvIGEgbGlzdCBvZiBzaGFyZWQgbGli cmFyaWVzIHBlciBpbmZlcmlvci4KICAjIFRoaXMgdXN1YWxseSBtZWFucyB0aGF0IGFsbCBwcm9j ZXNzZXMsIGFsdGhvdWdoIG1heSBvciBtYXkgbm90IHNoYXJlCi1AQCAtOTQ2LDYgKzEwNDEsNyBA QCBzdHJ1Y3QgY29yZV9yZWdzZXRfc2VjdGlvbjsKK0BAIC05NTQsNiArMTA0OSw3IEBAIHN0cnVj dCBjb3JlX3JlZ3NldF9zZWN0aW9uOwogIHN0cnVjdCBzeXNjYWxsOwogIHN0cnVjdCBhZ2VudF9l eHByOwogIHN0cnVjdCBheHNfdmFsdWU7CkBAIC00MTE5LDIwICs0MTE5LDIwIEBAIGluZGV4IGZm YjdmNTMuLmEyZTdlOTQgMTAwNjQ0CiAgCiAgYiBpbnRlcm5hbF9lcnJvcgogZGlmZiAtLWdpdCBh L2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMKLWluZGV4IGQwY2I2NzguLjhiOGIwM2Qg MTAwNjQ0CitpbmRleCBiMDljMWVjLi44ZTAyNTZjIDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVz LmMKICsrKyBiL2dkYi9nZGJ0eXBlcy5jCi1AQCAtMzksNiArMzksOSBAQAotICNpbmNsdWRlICJj cC1hYmkuaCIKK0BAIC0zNyw2ICszNyw5IEBACiAgI2luY2x1ZGUgImdkYl9hc3NlcnQuaCIKICAj aW5jbHVkZSAiaGFzaHRhYi5oIgorICNpbmNsdWRlICJleGNlcHRpb25zLmgiCiArI2luY2x1ZGUg Im9ic2VydmVyLmgiCiArI2luY2x1ZGUgImR3YXJmMmV4cHIuaCIKICsjaW5jbHVkZSAiZHdhcmYy bG9jLmgiCiAgCi0gCiAgLyogSW5pdGlhbGl6ZSBCQURORVNTIGNvbnN0YW50cy4gICovCi1AQCAt MTQ0LDcgKzE0NywxNiBAQCBzdGF0aWMgdm9pZCBwcmludF9iaXRfdmVjdG9yIChCX1RZUEUgKiwg aW50KTsKKyAKK0BAIC0xNDEsNyArMTQ0LDE2IEBAIHN0YXRpYyB2b2lkIHByaW50X2JpdF92ZWN0 b3IgKEJfVFlQRSAqLCBpbnQpOwogIHN0YXRpYyB2b2lkIHByaW50X2FyZ190eXBlcyAoc3RydWN0 IGZpZWxkICosIGludCwgaW50KTsKICBzdGF0aWMgdm9pZCBkdW1wX2ZuX2ZpZWxkbGlzdHMgKHN0 cnVjdCB0eXBlICosIGludCk7CiAgc3RhdGljIHZvaWQgcHJpbnRfY3BsdXNfc3R1ZmYgKHN0cnVj dCB0eXBlICosIGludCk7CkBAIC00MTQ5LDcgKzQxNDksNyBAQCBpbmRleCBkMGNiNjc4Li44Yjhi MDNkIDEwMDY0NAogIAogIC8qIEFsbG9jYXRlIGEgbmV3IE9CSkZJTEUtYXNzb2NpYXRlZCB0eXBl IHN0cnVjdHVyZSBhbmQgZmlsbCBpdAogICAgIHdpdGggc29tZSBkZWZhdWx0cy4gIFNwYWNlIGZv ciB0aGUgdHlwZSBzdHJ1Y3R1cmUgaXMgYWxsb2NhdGVkCi1AQCAtMTc1LDYgKzE4Nyw0MyBAQCBh bGxvY190eXBlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKK0BAIC0xNzIsNiArMTg0LDQzIEBA IGFsbG9jX3R5cGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgcmV0dXJuIHR5cGU7CiAg fQogIApAQCAtNDE5Myw3ICs0MTkzLDcgQEAgaW5kZXggZDBjYjY3OC4uOGI4YjAzZCAxMDA2NDQK ICAvKiBBbGxvY2F0ZSBhIG5ldyBHREJBUkNILWFzc29jaWF0ZWQgdHlwZSBzdHJ1Y3R1cmUgYW5k IGZpbGwgaXQKICAgICB3aXRoIHNvbWUgZGVmYXVsdHMuICBTcGFjZSBmb3IgdGhlIHR5cGUgc3Ry dWN0dXJlIGlzIGFsbG9jYXRlZAogICAgIG9uIHRoZSBoZWFwLiAgKi8KLUBAIC0zMDAsNyArMzQ5 LDcgQEAgbWFrZV9wb2ludGVyX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdHlwZSAq KnR5cGVwdHIpCitAQCAtMjk3LDcgKzM0Niw3IEBAIG1ha2VfcG9pbnRlcl90eXBlIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKip0eXBlcHRyKQogIAogICAgaWYgKHR5cGVwdHIgPT0g MCB8fCAqdHlwZXB0ciA9PSAwKQkvKiBXZSdsbCBuZWVkIHRvIGFsbG9jYXRlIG9uZS4gICovCiAg ICAgIHsKQEAgLTQyMDIsNyArNDIwMiw3IEBAIGluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0 CiAgICAgICAgaWYgKHR5cGVwdHIpCiAgCSp0eXBlcHRyID0gbnR5cGU7CiAgICAgIH0KLUBAIC0z NzcsNyArNDI2LDcgQEAgbWFrZV9yZWZlcmVuY2VfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCB0eXBlICoqdHlwZXB0cikKK0BAIC0zNzQsNyArNDIzLDcgQEAgbWFrZV9yZWZlcmVuY2Vf dHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB0eXBlICoqdHlwZXB0cikKICAKICAgIGlm ICh0eXBlcHRyID09IDAgfHwgKnR5cGVwdHIgPT0gMCkJLyogV2UnbGwgbmVlZCB0byBhbGxvY2F0 ZSBvbmUuICAqLwogICAgICB7CkBAIC00MjExLDcgKzQyMTEsNyBAQCBpbmRleCBkMGNiNjc4Li44 YjhiMDNkIDEwMDY0NAogICAgICAgIGlmICh0eXBlcHRyKQogIAkqdHlwZXB0ciA9IG50eXBlOwog ICAgICB9Ci1AQCAtNzUwLDYgKzc5OSw3IEBAIGNyZWF0ZV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlw ZSAqcmVzdWx0X3R5cGUsIHN0cnVjdCB0eXBlICppbmRleF90eXBlLAorQEAgLTc0Nyw2ICs3OTYs NyBAQCBjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3Qg dHlwZSAqaW5kZXhfdHlwZSwKICAgICAgVFlQRV9aQUxMT0MgKHJlc3VsdF90eXBlLCBzaXplb2Yg KHN0cnVjdCByYW5nZV9ib3VuZHMpKTsKICAgIFRZUEVfTE9XX0JPVU5EIChyZXN1bHRfdHlwZSkg PSBsb3dfYm91bmQ7CiAgICBUWVBFX0hJR0hfQk9VTkQgKHJlc3VsdF90eXBlKSA9IGhpZ2hfYm91 bmQ7CkBAIC00MjE5LDcgKzQyMTksNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAog IAogICAgaWYgKGxvd19ib3VuZCA+PSAwKQogICAgICBUWVBFX1VOU0lHTkVEIChyZXN1bHRfdHlw ZSkgPSAxOwotQEAgLTg5MywyNiArOTQzLDMxIEBAIGNyZWF0ZV9hcnJheV90eXBlIChzdHJ1Y3Qg dHlwZSAqcmVzdWx0X3R5cGUsCitAQCAtODkwLDI2ICs5NDAsMzEgQEAgY3JlYXRlX2FycmF5X3R5 cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwKICAKICAgIFRZUEVfQ09ERSAocmVzdWx0X3R5 cGUpID0gVFlQRV9DT0RFX0FSUkFZOwogICAgVFlQRV9UQVJHRVRfVFlQRSAocmVzdWx0X3R5cGUp ID0gZWxlbWVudF90eXBlOwpAQCAtNDI2NCw3ICs0MjY0LDcgQEAgaW5kZXggZDBjYjY3OC4uOGI4 YjAzZCAxMDA2NDQKICAKICAgIHJldHVybiByZXN1bHRfdHlwZTsKICB9Ci1AQCAtMTQ0MSw2ICsx NDk2LDEwNSBAQCBzdHViX25vbmFtZV9jb21wbGFpbnQgKHZvaWQpCitAQCAtMTQzOCw2ICsxNDkz LDEwNSBAQCBzdHViX25vbmFtZV9jb21wbGFpbnQgKHZvaWQpCiAgICBjb21wbGFpbnQgKCZzeW1m aWxlX2NvbXBsYWludHMsIF8oInN0dWIgdHlwZSBoYXMgTlVMTCBuYW1lIikpOwogIH0KICAKQEAg LTQzNzAsNyArNDM3MCw3IEBAIGluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgLyogRmlu ZCB0aGUgcmVhbCB0eXBlIG9mIFRZUEUuICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlYWwg dHlwZSwKICAgICBhZnRlciByZW1vdmluZyBhbGwgbGF5ZXJzIG9mIHR5cGVkZWZzLCBhbmQgY29t cGxldGluZyBvcGFxdWUgb3Igc3R1YgogICAgIHR5cGVzLiAgQ29tcGxldGlvbiBjaGFuZ2VzIHRo ZSBUWVBFIGFyZ3VtZW50LCBidXQgc3RyaXBwaW5nIG9mCi1AQCAtMTYwNyw1MiArMTc2MSwzNyBA QCBjaGVja190eXBlZGVmIChzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BAIC0xNjA0LDUyICsxNzU4LDM3 IEBAIGNoZWNrX3R5cGVkZWYgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgICAgICAgfQogICAgICB9 CiAgCkBAIC00NDQ0LDcgKzQ0NDQsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAog IAkgIFRZUEVfVEFSR0VUX1NUVUIgKHR5cGUpID0gMDsKICAJfQogICAgICAgIGVsc2UgaWYgKFRZ UEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX1JBTkdFKQotQEAgLTE2NjAsNiArMTc5OSw3IEBA IGNoZWNrX3R5cGVkZWYgKHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTE2NTcsNiArMTc5Niw3IEBA IGNoZWNrX3R5cGVkZWYgKHN0cnVjdCB0eXBlICp0eXBlKQogIAkgIFRZUEVfTEVOR1RIICh0eXBl KSA9IFRZUEVfTEVOR1RIICh0YXJnZXRfdHlwZSk7CiAgCSAgVFlQRV9UQVJHRVRfU1RVQiAodHlw ZSkgPSAwOwogIAl9CkBAIC00NDUyLDcgKzQ0NTIsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNk IDEwMDY0NAogICAgICB9CiAgCiAgICB0eXBlID0gbWFrZV9xdWFsaWZpZWRfdHlwZSAodHlwZSwg aW5zdGFuY2VfZmxhZ3MsIE5VTEwpOwotQEAgLTMzMDksMzMgKzM0NDksNDIgQEAgdHlwZV9wYWly X2VxIChjb25zdCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCitAQCAtMzMx MCwzMyArMzQ1MCw0MiBAQCB0eXBlX3BhaXJfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25z dCB2b2lkICppdGVtX3JocykKICB9CiAgCiAgLyogQWxsb2NhdGUgdGhlIGhhc2ggdGFibGUgdXNl ZCBieSBjb3B5X3R5cGVfcmVjdXJzaXZlIHRvIHdhbGsKQEAgLTQ1MTAsNyArNDUxMCw3IEBAIGlu ZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgICAgIHJldHVybiB0eXBlOwogIAogICAgLyog VGhpcyB0eXBlIHNob3VsZG4ndCBiZSBwb2ludGluZyB0byBhbnkgdHlwZXMgaW4gb3RoZXIgb2Jq ZmlsZXM7Ci1AQCAtMzM1MCw5ICszNDk5LDEwIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlLAorQEAgLTMzNTEsOSArMzUwMCwxMCBAQCBjb3B5X3R5cGVfcmVj dXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgIG5ld190eXBlID0gYWxsb2NfdHlw ZV9hcmNoIChnZXRfdHlwZV9hcmNoICh0eXBlKSk7CiAgCiAgICAvKiBXZSBtdXN0IGFkZCB0aGUg bmV3IHR5cGUgdG8gdGhlIGhhc2ggdGFibGUgaW1tZWRpYXRlbHksIGluIGNhc2UKQEAgLTQ1MjQs NyArNDUyNCw3IEBAIGluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgICBzdG9yZWQtPm9s ZCA9IHR5cGU7CiAgICBzdG9yZWQtPm5ldyA9IG5ld190eXBlOwogICAgKnNsb3QgPSBzdG9yZWQ7 Ci1AQCAtMzM2Myw2ICszNTEzLDIxIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLAorQEAgLTMzNjQsNiArMzUxNCwyMSBAQCBjb3B5X3R5cGVfcmVjdXJzaXZl IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgIFRZUEVfT0JKRklMRV9PV05FRCAobmV3X3R5 cGUpID0gMDsKICAgIFRZUEVfT1dORVIgKG5ld190eXBlKS5nZGJhcmNoID0gZ2V0X3R5cGVfYXJj aCAodHlwZSk7CiAgCkBAIC00NTQ2LDcgKzQ1NDYsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNk IDEwMDY0NAogICAgaWYgKFRZUEVfTkFNRSAodHlwZSkpCiAgICAgIFRZUEVfTkFNRSAobmV3X3R5 cGUpID0geHN0cmR1cCAoVFlQRV9OQU1FICh0eXBlKSk7CiAgICBpZiAoVFlQRV9UQUdfTkFNRSAo dHlwZSkpCi1AQCAtMzM3MSwxMiArMzUzNiw0OCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zMzcyLDEyICszNTM3LDQ4IEBAIGNvcHlfdHlwZV9y ZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogICAgVFlQRV9JTlNUQU5DRV9GTEFH UyAobmV3X3R5cGUpID0gVFlQRV9JTlNUQU5DRV9GTEFHUyAodHlwZSk7CiAgICBUWVBFX0xFTkdU SCAobmV3X3R5cGUpID0gVFlQRV9MRU5HVEggKHR5cGUpOwogIApAQCAtNDU5NSw3ICs0NTk1LDcg QEAgaW5kZXggZDBjYjY3OC4uOGI4YjAzZCAxMDA2NDQKICAgICAgICBUWVBFX0ZJRUxEUyAobmV3 X3R5cGUpID0gWENBTExPQyAobmZpZWxkcywgc3RydWN0IGZpZWxkKTsKICAgICAgICBmb3IgKGkg PSAwOyBpIDwgbmZpZWxkczsgaSsrKQogIAl7Ci1AQCAtMzM4NSw4ICszNTg2LDggQEAgY29weV90 eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzM4Niw4ICszNTg3 LDggQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCSAg VFlQRV9GSUVMRF9CSVRTSVpFIChuZXdfdHlwZSwgaSkgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKHR5 cGUsIGkpOwogIAkgIGlmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKQogIAkgICAgVFlQRV9G SUVMRF9UWVBFIChuZXdfdHlwZSwgaSkKQEAgLTQ2MDYsNyArNDYwNiw3IEBAIGluZGV4IGQwY2I2 NzguLjhiOGIwM2QgMTAwNjQ0CiAgCSAgaWYgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgaSkpCiAg CSAgICBUWVBFX0ZJRUxEX05BTUUgKG5ld190eXBlLCBpKSA9IAogIAkgICAgICB4c3RyZHVwIChU WVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpKTsKLUBAIC0zNDEzLDI0ICszNjE0LDE4NCBAQCBjb3B5 X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zNDE0LDI0ICsz NjE1LDE4NCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwK ICAJfQogICAgICB9CiAgCkBAIC00Nzk4LDcgKzQ3OTgsNyBAQCBpbmRleCBkMGNiNjc4Li44Yjhi MDNkIDEwMDY0NAogICAgLyogTWF5YmUgY29weSB0aGUgdHlwZV9zcGVjaWZpYyBiaXRzLgogIAog ICAgICAgTk9URSBkcm93LzIwMDUtMTItMDk6IFdlIGRvIG5vdCBjb3B5IHRoZSBDKystc3BlY2lm aWMgYml0cyBsaWtlCi1AQCAtMzQ0Nyw2ICszODA4LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAorQEAgLTM0NDgsNiArMzgwOSwxNyBAQCBjb3B5X3R5 cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgIHJldHVybiBuZXdfdHlw ZTsKICB9CiAgCkBAIC00ODE2LDcgKzQ4MTYsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEw MDY0NAogIC8qIE1ha2UgYSBjb3B5IG9mIHRoZSBnaXZlbiBUWVBFLCBleGNlcHQgdGhhdCB0aGUg cG9pbnRlciAmIHJlZmVyZW5jZQogICAgIHR5cGVzIGFyZSBub3QgcHJlc2VydmVkLgogICAgIAot QEAgLTM0NjksNiArMzg0MSwyMDEgQEAgY29weV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlw ZSkKK0BAIC0zNDcwLDYgKzM4NDIsMjAxIEBAIGNvcHlfdHlwZSAoY29uc3Qgc3RydWN0IHR5cGUg KnR5cGUpCiAgICByZXR1cm4gbmV3X3R5cGU7CiAgfQogIApAQCAtNTAxOCw3ICs1MDE4LDcgQEAg aW5kZXggZDBjYjY3OC4uOGI4YjAzZCAxMDA2NDQKICAKICAvKiBIZWxwZXIgZnVuY3Rpb25zIHRv IGluaXRpYWxpemUgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIHR5cGVzLiAgKi8KICAKLUBAIC00MDAx LDYgKzQ1NjgsMTMgQEAgdm9pZAorQEAgLTQwMDIsNiArNDU2OSwxMyBAQCB2b2lkCiAgX2luaXRp YWxpemVfZ2RidHlwZXMgKHZvaWQpCiAgewogICAgZ2RidHlwZXNfZGF0YSA9IGdkYmFyY2hfZGF0 YV9yZWdpc3Rlcl9wb3N0X2luaXQgKGdkYnR5cGVzX3Bvc3RfaW5pdCk7CkBAIC01MDMzLDEwICs1 MDMzLDEwIEBAIGluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgCiAgICBhZGRfc2V0c2hv d196aW50ZWdlcl9jbWQgKCJvdmVybG9hZCIsIG5vX2NsYXNzLCAmb3ZlcmxvYWRfZGVidWcsCiBk aWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAotaW5kZXggNjlmNmI0 Ni4uODg5ZDM5ZSAxMDA2NDQKK2luZGV4IDIwNzBmMDAuLjQwZGI2MDYgMTAwNjQ0CiAtLS0gYS9n ZGIvZ2RidHlwZXMuaAogKysrIGIvZ2RiL2dkYnR5cGVzLmgKLUBAIC0yMTUsNiArMjE1LDExIEBA IGVudW0gdHlwZV9pbnN0YW5jZV9mbGFnX3ZhbHVlCitAQCAtMjEzLDYgKzIxMywxMSBAQCBlbnVt IHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQogIAogICNkZWZpbmUgVFlQRV9UQVJHRVRfU1RVQih0 KQkoVFlQRV9NQUlOX1RZUEUgKHQpLT5mbGFnX3RhcmdldF9zdHViKQogIApAQCAtNTA0OCw5ICs1 MDQ4LDkgQEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAvKiBTdGF0aWMgdHlwZS4g IElmIHRoaXMgaXMgc2V0LCB0aGUgY29ycmVzcG9uZGluZyB0eXBlIGhhZCAKICAgICBhIHN0YXRp YyBtb2RpZmllci4KICAgICBOb3RlOiBUaGlzIG1heSBiZSB1bm5lY2Vzc2FyeSwgc2luY2Ugc3Rh dGljIGRhdGEgbWVtYmVycwotQEAgLTI5Miw2ICsyOTcsNTAgQEAgZW51bSB0eXBlX2luc3RhbmNl X2ZsYWdfdmFsdWUKK0BAIC0yOTYsNiArMzAxLDUwIEBAIGVudW0gdHlwZV9pbnN0YW5jZV9mbGFn X3ZhbHVlCiAgCi0gI2RlZmluZSBUWVBFX0RFQ0xBUkVEX0NMQVNTKHQpIChUWVBFX01BSU5fVFlQ RSAodCktPmZsYWdfZGVjbGFyZWRfY2xhc3MpCisgI2RlZmluZSBUWVBFX0ZMQUdfRU5VTSh0KSAo VFlQRV9NQUlOX1RZUEUgKHQpLT5mbGFnX2ZsYWdfZW51bSkKICAKICsjaWYgMAogKy8qIERlZmlu ZSB0aGlzIHR5cGUgYXMgYmVpbmcgcmVjbGFpbWFibGUgZHVyaW5nIGZyZWVfYWxsX3R5cGVzLiAg VHlwZSBpcwpAQCAtNTA5OSw3ICs1MDk5LDcgQEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2 NDQKICAvKiBDb25zdGFudCB0eXBlLiAgSWYgdGhpcyBpcyBzZXQsIHRoZSBjb3JyZXNwb25kaW5n IHR5cGUgaGFzIGEKICAgICBjb25zdCBtb2RpZmllci4gICovCiAgCi1AQCAtNDAxLDYgKzQ1MCwx NSBAQCBzdHJ1Y3QgbWFpbl90eXBlCitAQCAtNDA1LDYgKzQ1NCwxNSBAQCBzdHJ1Y3QgbWFpbl90 eXBlCiAgICAvKiBUcnVlIGlmIHRoaXMgdHlwZSB3YXMgZGVjbGFyZWQgd2l0aCAiY2xhc3MiIHJh dGhlciB0aGFuCiAgICAgICAic3RydWN0Ii4gICovCiAgICB1bnNpZ25lZCBpbnQgZmxhZ19kZWNs YXJlZF9jbGFzcyA6IDE7CkBAIC01MTEzLDkgKzUxMTMsOSBAQCBpbmRleCA2OWY2YjQ2Li44ODlk MzllIDEwMDY0NAogKyAgdW5zaWduZWQgaW50IGZsYWdfbm90X2Fzc29jaWF0ZWQgOiAxOwogKyAg dW5zaWduZWQgaW50IGZsYWdfZGF0YV9sb2NhdGlvbl9pc19hZGRyIDogMTsKICAKLSAgIC8qIEEg ZGlzY3JpbWluYW50IHRlbGxpbmcgdXMgd2hpY2ggZmllbGQgb2YgdGhlIHR5cGVfc3BlY2lmaWMg dW5pb24KLSAgICAgIGlzIGJlaW5nIHVzZWQgZm9yIHRoaXMgdHlwZSwgaWYgYW55LiAgKi8KLUBA IC00NzQsNiArNTMyLDIwIEBAIHN0cnVjdCBtYWluX3R5cGUKKyAgIC8qIFRydWUgaWYgdGhpcyBp cyBhbiBlbnVtIHR5cGUgd2l0aCBkaXNqb2ludCB2YWx1ZXMuICBUaGlzIGFmZmVjdHMKKyAgICAg IGhvdyB0aGUgZW51bSBpcyBwcmludGVkLiAgKi8KK0BAIC00ODMsNiArNTQxLDIwIEBAIHN0cnVj dCBtYWluX3R5cGUKICAKICAgIHN0cnVjdCB0eXBlICp0YXJnZXRfdHlwZTsKICAKQEAgLTUxMzYs NyArNTEzNiw3IEBAIGluZGV4IDY5ZjZiNDYuLjg4OWQzOWUgMTAwNjQ0CiAgICAvKiBGb3Igc3Ry dWN0dXJlIGFuZCB1bmlvbiB0eXBlcywgYSBkZXNjcmlwdGlvbiBvZiBlYWNoIGZpZWxkLgogICAg ICAgRm9yIHNldCBhbmQgcGFzY2FsIGFycmF5IHR5cGVzLCB0aGVyZSBpcyBvbmUgImZpZWxkIiwK ICAgICAgIHdob3NlIHR5cGUgaXMgdGhlIGRvbWFpbiB0eXBlIG9mIHRoZSBzZXQgb3IgYXJyYXku Ci1AQCAtNTU0LDEzICs2MjYsMzQgQEAgc3RydWN0IG1haW5fdHlwZQorQEAgLTU2MywxMyArNjM1 LDM0IEBAIHN0cnVjdCBtYWluX3R5cGUKICAKICAgICAgc3RydWN0IHJhbmdlX2JvdW5kcwogICAg ICB7CkBAIC01MTc2LDcgKzUxNzYsNyBAQCBpbmRleCA2OWY2YjQ2Li44ODlkMzllIDEwMDY0NAog IAogICAgICAgIC8qIEZsYWdzIGluZGljYXRpbmcgd2hldGhlciB0aGUgdmFsdWVzIG9mIGxvdyBh bmQgaGlnaCBhcmUKICAgICAgICAgICB2YWxpZC4gIFdoZW4gdHJ1ZSwgdGhlIHJlc3BlY3RpdmUg cmFuZ2UgdmFsdWUgaXMKLUBAIC0xMDEyLDkgKzExMDUsOSBAQCBleHRlcm4gdm9pZCBhbGxvY2F0 ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0xMDE2LDkgKzExMDksOSBAQCBl eHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKICAjZGVm aW5lIFRZUEVfUE9JTlRFUl9UWVBFKHRoaXN0eXBlKSAodGhpc3R5cGUpLT5wb2ludGVyX3R5cGUK ICAjZGVmaW5lIFRZUEVfUkVGRVJFTkNFX1RZUEUodGhpc3R5cGUpICh0aGlzdHlwZSktPnJlZmVy ZW5jZV90eXBlCiAgI2RlZmluZSBUWVBFX0NIQUlOKHRoaXN0eXBlKSAodGhpc3R5cGUpLT5jaGFp bgpAQCAtNTE4OSw3ICs1MTg5LDcgQEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAg ICBjYWxscyBjaGVja190eXBlZGVmLCBUWVBFX0xFTkdUSCAoVkFMVUVfVFlQRSAoWCkpIGlzIHNh ZmUuICAqLwogICNkZWZpbmUgVFlQRV9MRU5HVEgodGhpc3R5cGUpICh0aGlzdHlwZSktPmxlbmd0 aAogIC8qIE5vdGUgdGhhdCBUWVBFX0NPREUgY2FuIGJlIFRZUEVfQ09ERV9UWVBFREVGLCBzbyBp ZiB5b3Ugd2FudCB0aGUgcmVhbAotQEAgLTEwMjIsMTEgKzExMTUsMTYgQEAgZXh0ZXJuIHZvaWQg YWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CitAQCAtMTAyNiwxMSArMTEx OSwxNiBAQCBleHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAq KTsKICAjZGVmaW5lIFRZUEVfQ09ERSh0aGlzdHlwZSkgVFlQRV9NQUlOX1RZUEUodGhpc3R5cGUp LT5jb2RlCiAgI2RlZmluZSBUWVBFX05GSUVMRFModGhpc3R5cGUpIFRZUEVfTUFJTl9UWVBFKHRo aXN0eXBlKS0+bmZpZWxkcwogICNkZWZpbmUgVFlQRV9GSUVMRFModGhpc3R5cGUpIFRZUEVfTUFJ Tl9UWVBFKHRoaXN0eXBlKS0+Zmxkc19ibmRzLmZpZWxkcwpAQCAtNTIwOCw3ICs1MjA4LDcgQEAg aW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAjZGVmaW5lIFRZUEVfTE9XX0JPVU5EX1VO REVGSU5FRChyYW5nZV90eXBlKSBcCiAgICAgVFlQRV9SQU5HRV9EQVRBKHJhbmdlX3R5cGUpLT5s b3dfdW5kZWZpbmVkCiAgI2RlZmluZSBUWVBFX0hJR0hfQk9VTkRfVU5ERUZJTkVEKHJhbmdlX3R5 cGUpIFwKLUBAIC0xMDQzLDcgKzExNDEsMTQgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9h dXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CitAQCAtMTA0Nyw3ICsxMTQ1LDE0IEBAIGV4dGVybiB2 b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOwogICAgIChUWVBFX0hJ R0hfQk9VTkQoVFlQRV9JTkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCiAgCiAgI2RlZmluZSBUWVBF X0FSUkFZX0xPV0VSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXApAQCAtNTIyNCw3ICs1MjI0LDcg QEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAKICAvKiBDKysgKi8KICAKLUBAIC0x NDc5LDYgKzE1ODQsMTggQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZSAo c3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKiwKK0BAIC0xNDgyLDYgKzE1ODcsMTggQEAgZXh0 ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0 IHR5cGUgKiwKICAJCQkJICAgICAgIHN0cnVjdCB0eXBlICopOwogIGV4dGVybiBzdHJ1Y3QgdHlw ZSAqbG9va3VwX2FycmF5X3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICosIGludCwgaW50KTsKICAK QEAgLTUyNDMsNyArNTI0Myw3IEBAIGluZGV4IDY5ZjZiNDYuLjg4OWQzOWUgMTAwNjQ0CiAgZXh0 ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfc3RyaW5nX3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVj dCB0eXBlICosCiAgCQkJCQlzdHJ1Y3QgdHlwZSAqKTsKICBleHRlcm4gc3RydWN0IHR5cGUgKmxv b2t1cF9zdHJpbmdfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKiwgaW50LCBpbnQpOwotQEAgLTE1 MjQsNiArMTY0MSwxMCBAQCBleHRlcm4gaW50IGlzX3B1YmxpY19hbmNlc3RvciAoc3RydWN0IHR5 cGUgKiwgc3RydWN0IHR5cGUgKik7CitAQCAtMTUyNyw2ICsxNjQ0LDEwIEBAIGV4dGVybiBpbnQg aXNfcHVibGljX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKICAKICBl eHRlcm4gaW50IGlzX3VuaXF1ZV9hbmNlc3RvciAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVl ICopOwogIApAQCAtNTI1NCw3ICs1MjU0LDcgQEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2 NDQKICAvKiBPdmVybG9hZCByZXNvbHV0aW9uICovCiAgCiAgI2RlZmluZSBMRU5HVEhfTUFUQ0go YnYpICgoYnYpLT5yYW5rWzBdKQotQEAgLTE1OTksMTAgKzE3MjAsMTMgQEAgZXh0ZXJuIHZvaWQg bWFpbnRlbmFuY2VfcHJpbnRfdHlwZSAoY2hhciAqLCBpbnQpOworQEAgLTE2MDIsMTAgKzE3MjMs MTMgQEAgZXh0ZXJuIHZvaWQgbWFpbnRlbmFuY2VfcHJpbnRfdHlwZSAoY2hhciAqLCBpbnQpOwog IAogIGV4dGVybiBodGFiX3QgY3JlYXRlX2NvcGllZF90eXBlc19oYXNoIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSk7CiAgCkBAIC01MjcxLDEwICs1MjcxLDEwIEBAIGluZGV4IDY5ZjZiNDYuLjg4 OWQzOWUgMTAwNjQ0CiArCiAgI2VuZGlmIC8qIEdEQlRZUEVTX0ggKi8KIGRpZmYgLS1naXQgYS9n ZGIvaTM4Ni1saW51eC1uYXQuYyBiL2dkYi9pMzg2LWxpbnV4LW5hdC5jCi1pbmRleCBhNDhlNThl Li45ZTYwZmY0IDEwMDY0NAoraW5kZXggNGIxYjIwZi4uMzhlNzAyNyAxMDA2NDQKIC0tLSBhL2dk Yi9pMzg2LWxpbnV4LW5hdC5jCiArKysgYi9nZGIvaTM4Ni1saW51eC1uYXQuYwotQEAgLTcwOSw4 ICs3MDksOCBAQCBpMzg2X2xpbnV4X2RyX2dldF9zdGF0dXMgKHZvaWQpCitAQCAtNzA4LDggKzcw OCw4IEBAIGkzODZfbGludXhfZHJfZ2V0X3N0YXR1cyAodm9pZCkKICAgIHJldHVybiBpMzg2X2xp bnV4X2RyX2dldCAoaW5mZXJpb3JfcHRpZCwgRFJfU1RBVFVTKTsKICB9CiAgCkBAIC01Mjg1LDcg KzUyODUsNyBAQCBpbmRleCBhNDhlNThlLi45ZTYwZmY0IDEwMDY0NAogIAogIHN0YXRpYyBpbnQK ICB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCwg dm9pZCAqYXJnKQotQEAgLTczNiw5ICs3MzYsNyBAQCB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2Nh bGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJnKQorQEAgLTczNSw5ICs3MzUs NyBAQCB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3 cCwgdm9pZCAqYXJnKQogIHN0YXRpYyB2b2lkCiAgaTM4Nl9saW51eF9kcl9zZXRfY29udHJvbCAo dW5zaWduZWQgbG9uZyBjb250cm9sKQogIHsKQEAgLTUyOTYsNyArNTI5Niw3IEBAIGluZGV4IGE0 OGU1OGUuLjllNjBmZjQgMTAwNjQ0CiAgfQogIAogIC8qIFNldCBhZGRyZXNzIFJFR05VTSAoemVy byBiYXNlZCkgdG8gQUREUiBpbiBhbGwgTFdQcyBvZiB0aGUgY3VycmVudAotQEAgLTc1MSw3ICs3 NDksNyBAQCBpMzg2X2xpbnV4X2RyX3NldF9hZGRyIChpbnQgcmVnbnVtLCBDT1JFX0FERFIgYWRk cikKK0BAIC03NTAsNyArNzQ4LDcgQEAgaTM4Nl9saW51eF9kcl9zZXRfYWRkciAoaW50IHJlZ251 bSwgQ09SRV9BRERSIGFkZHIpCiAgCiAgICBnZGJfYXNzZXJ0IChyZWdudW0gPj0gMCAmJiByZWdu dW0gPD0gRFJfTEFTVEFERFIgLSBEUl9GSVJTVEFERFIpOwogIApAQCAtNTMwNSw3ICs1MzA1LDcg QEAgaW5kZXggYTQ4ZTU4ZS4uOWU2MGZmNCAxMDA2NDQKICB9CiAgCiAgLyogQ2FsbGVkIHdoZW4g cmVzdW1pbmcgYSB0aHJlYWQuCi1AQCAtNzczLDYgKzc3MSw5IEBAIGkzODZfbGludXhfcHJlcGFy ZV90b19yZXN1bWUgKHN0cnVjdCBsd3BfaW5mbyAqbHdwKQorQEAgLTc3Miw2ICs3NzAsOSBAQCBp Mzg2X2xpbnV4X3ByZXBhcmVfdG9fcmVzdW1lIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCkKICAgICAg ICBzdHJ1Y3QgaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlID0gaTM4Nl9kZWJ1Z19yZWdfc3Rh dGUgKCk7CiAgICAgICAgaW50IGk7CiAgCkBAIC01MzE2LDEwICs1MzE2LDEwIEBAIGluZGV4IGE0 OGU1OGUuLjllNjBmZjQgMTAwNjQ0CiAgCWlmIChzdGF0ZS0+ZHJfcmVmX2NvdW50W2ldID4gMCkK ICAJICB7CiBkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtbGludXgtdGRlcC5jIGIvZ2RiL2kzODYtbGlu dXgtdGRlcC5jCi1pbmRleCA3YzM5NjJlLi4zM2Y2ZGM2IDEwMDY0NAoraW5kZXggZWIxMTRlZi4u ZjgwZTA1YSAxMDA2NDQKIC0tLSBhL2dkYi9pMzg2LWxpbnV4LXRkZXAuYwogKysrIGIvZ2RiL2kz ODYtbGludXgtdGRlcC5jCi1AQCAtOTA0LDYgKzkwNCwxNSBAQCBpMzg2X2xpbnV4X2luaXRfYWJp IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQorQEAg LTkwMyw2ICs5MDMsMTUgQEAgaTM4Nl9saW51eF9pbml0X2FiaSAoc3RydWN0IGdkYmFyY2hfaW5m byBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaTM4Nl9saW51eF9nZXRfc3lzY2FsbF9udW1iZXIpOwogIAogICAgc2V0X2dk YmFyY2hfZ2V0X3NpZ2luZm9fdHlwZSAoZ2RiYXJjaCwgbGludXhfZ2V0X3NpZ2luZm9fdHlwZSk7 CkBAIC01MzM2LDcgKzUzMzYsNyBAQCBpbmRleCA3YzM5NjJlLi4zM2Y2ZGM2IDEwMDY0NAogIAog IC8qIFByb3ZpZGUgYSBwcm90b3R5cGUgdG8gc2lsZW5jZSAtV21pc3NpbmctcHJvdG90eXBlcy4g ICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtbmF0LmMgYi9nZGIvaTM4Ni1uYXQuYwotaW5kZXgg NTkzNDAxYi4uYmIzMWQ5ZSAxMDA2NDQKK2luZGV4IGZhMTc4MjMuLjg0NmIyYjggMTAwNjQ0CiAt LS0gYS9nZGIvaTM4Ni1uYXQuYwogKysrIGIvZ2RiL2kzODYtbmF0LmMKIEBAIC0yNSw2ICsyNSw3 IEBACkBAIC01NjU5LDEwICs1NjU5LDEwIEBAIGluZGV4IDU5MzQwMWIuLmJiMzFkOWUgMTAwNjQ0 CiAgCiAgdm9pZAogZGlmZiAtLWdpdCBhL2dkYi9pMzg2LXRkZXAuYyBiL2dkYi9pMzg2LXRkZXAu YwotaW5kZXggYTRlM2EyMi4uMWUzZTI5YiAxMDA2NDQKK2luZGV4IDU0OTI5N2UuLjU3ODNjNGMg MTAwNjQ0CiAtLS0gYS9nZGIvaTM4Ni10ZGVwLmMKICsrKyBiL2dkYi9pMzg2LXRkZXAuYwotQEAg LTYwLDggKzYwLDE0IEBACitAQCAtNTgsOCArNTgsMTQgQEAKICAjaW5jbHVkZSAiZmVhdHVyZXMv aTM4Ni9pMzg2LWF2eC5jIgogICNpbmNsdWRlICJmZWF0dXJlcy9pMzg2L2kzODYtbW14LmMiCiAg CkBAIC01Njc3LDcgKzU2NzcsNyBAQCBpbmRleCBhNGUzYTIyLi4xZTNlMjliIDEwMDY0NAogIAog IC8qIFJlZ2lzdGVyIG5hbWVzLiAgKi8KICAKLUBAIC03MjQ1LDYgKzcyNTEsMzEyIEBAIGkzODZf dmFsaWRhdGVfdGRlc2NfcCAoc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRlcCwKK0BAIC03MjQ2LDYg KzcyNTIsMzEyIEBAIGkzODZfdmFsaWRhdGVfdGRlc2NfcCAoc3RydWN0IGdkYmFyY2hfdGRlcCAq dGRlcCwKICAgIHJldHVybiB2YWxpZF9wOwogIH0KICAKQEAgLTU5OTEsMTAgKzU5OTEsMTAgQEAg aW5kZXggYTRlM2EyMi4uMWUzZTI5YiAxMDA2NDQKICBzdGF0aWMgc3RydWN0IGdkYmFyY2ggKgog IGkzODZfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJh cmNoX2xpc3QgKmFyY2hlcykKIGRpZmYgLS1naXQgYS9nZGIvaTM4Ni10ZGVwLmggYi9nZGIvaTM4 Ni10ZGVwLmgKLWluZGV4IGRlMTFmNjguLjJhODRhZGMgMTAwNjQ0CitpbmRleCA4NzAwNTRmLi45 ZmZiZTQ0IDEwMDY0NAogLS0tIGEvZ2RiL2kzODYtdGRlcC5oCiArKysgYi9nZGIvaTM4Ni10ZGVw LmgKLUBAIC0zODAsNiArMzgwLDE1IEBAIGV4dGVybiB2b2lkIGkzODZfc3ZyNF9pbml0X2FiaSAo c3RydWN0IGdkYmFyY2hfaW5mbywgc3RydWN0IGdkYmFyY2ggKik7CitAQCAtMzc5LDYgKzM3OSwx NSBAQCBleHRlcm4gdm9pZCBpMzg2X3N2cjRfaW5pdF9hYmkgKHN0cnVjdCBnZGJhcmNoX2luZm8s IHN0cnVjdCBnZGJhcmNoICopOwogIAogIGV4dGVybiBpbnQgaTM4Nl9wcm9jZXNzX3JlY29yZCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBDT1JFX0FERFIgYWRkcik7CkBAIC02MDExLDEw ICs2MDExLDEwIEBAIGluZGV4IGRlMTFmNjguLjJhODRhZGMgMTAwNjQ0CiAgCiAgLyogRnVuY3Rp b25zIGFuZCB2YXJpYWJsZXMgZXhwb3J0ZWQgZnJvbSBpMzg2YnNkLXRkZXAuYy4gICovCiBkaWZm IC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi1pbmRleCA1YTBmMWQyLi5iMmQz NTBkIDEwMDY0NAoraW5kZXggMjRkMjcyMC4uYzUxNmI4YiAxMDA2NDQKIC0tLSBhL2dkYi9pbmZy dW4uYwogKysrIGIvZ2RiL2luZnJ1bi5jCi1AQCAtNTcsNiArNTcsOCBAQAorQEAgLTU1LDYgKzU1 LDggQEAKICAjaW5jbHVkZSAiY29udGludWF0aW9ucy5oIgogICNpbmNsdWRlICJpbnRlcnBzLmgi CiAgI2luY2x1ZGUgInNraXAuaCIKQEAgLTYwMjMsNyArNjAyMyw3IEBAIGluZGV4IDVhMGYxZDIu LmIyZDM1MGQgMTAwNjQ0CiAgCiAgLyogUHJvdG90eXBlcyBmb3IgbG9jYWwgZnVuY3Rpb25zICov CiAgCi1AQCAtMjM4MSw3ICsyMzgzLDcgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3N0ZXBfaW50b19m dW5jdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMjM3OSw3ICsyMzgxLDcgQEAg c3RhdGljIHZvaWQgaGFuZGxlX3N0ZXBfaW50b19mdW5jdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCiAgc3RhdGljIHZvaWQgaGFuZGxlX3N0ZXBfaW50b19mdW5jdGlvbl9iYWNrd2FyZCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCQkJCQkJc3RydWN0IGV4ZWN1dGlvbl9jb250cm9s X3N0YXRlICplY3MpOwogIHN0YXRpYyB2b2lkIGNoZWNrX2V4Y2VwdGlvbl9yZXN1bWUgKHN0cnVj dCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqLApAQCAtNjAzMiw3ICs2MDMyLDcgQEAgaW5kZXgg NWEwZjFkMi4uYjJkMzUwZCAxMDA2NDQKICAKICBzdGF0aWMgdm9pZCBzdG9wX3N0ZXBwaW5nIChz dHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7CiAgc3RhdGljIHZvaWQgcHJlcGFy ZV90b193YWl0IChzdHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7Ci1AQCAtNDQx OSw5ICs0NDIxLDE3IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OgorQEAgLTQ0MTcsOSArNDQx OSwxNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdDoKICAKICAJaWYgKHdoYXQuaXNfbG9uZ2pt cCkKICAJICB7CkBAIC02MDUzLDcgKzYwNTMsNyBAQCBpbmRleCA1YTBmMWQyLi5iMmQzNTBkIDEw MDY0NAogIAkgICAgICB7CiAgCQlpZiAoZGVidWdfaW5mcnVuKQogIAkJICBmcHJpbnRmX3VuZmls dGVyZWQgKGdkYl9zdGRsb2csCi1AQCAtNDQzOSwxMiArNDQ0OSw3IEBAIHByb2Nlc3NfZXZlbnRf c3RvcF90ZXN0OgorQEAgLTQ0MzcsMTIgKzQ0NDcsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVz dDoKICAJICAgIGluc2VydF9sb25nam1wX3Jlc3VtZV9icmVha3BvaW50IChnZGJhcmNoLCBqbXBf YnVmX3BjKTsKICAJICB9CiAgCWVsc2UKQEAgLTYwNjcsNyArNjA2Nyw3IEBAIGluZGV4IDVhMGYx ZDIuLmIyZDM1MGQgMTAwNjQ0CiAgCWtlZXBfZ29pbmcgKGVjcyk7CiAgCXJldHVybjsKICAKLUBA IC01NTI2LDE1ICs1NTMxLDY1IEBAIGluc2VydF9leGNlcHRpb25fcmVzdW1lX2JyZWFrcG9pbnQg KHN0cnVjdCB0aHJlYWRfaW5mbyAqdHAsCitAQCAtNTUyNCwxNSArNTUyOSw2NSBAQCBpbnNlcnRf ZXhjZXB0aW9uX3Jlc3VtZV9icmVha3BvaW50IChzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwLAogICAg ICB9CiAgfQogIApAQCAtNjExMSw3ICs2MTExLDcgQEAgaW5kZXggNWEwZjFkMi4uYjJkMzUwZCAx MDA2NDQKIC0JCQlzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIHN0cnVjdCBzeW1ib2wgKmZ1bmMp CiArCQkJc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQogIHsKLSAgIHN0cnVjdCBnZGJfZXhjZXB0 aW9uIGU7CisgICB2b2xhdGlsZSBzdHJ1Y3QgZ2RiX2V4Y2VwdGlvbiBlOwogKyAgc3RydWN0IG9i amZpbGUgKm9iamZpbGU7CiArICBjb25zdCBzdHJ1Y3Qgc3RhcF9wcm9iZSAqcHJvYmU7CiArICBz dHJ1Y3Qgc3ltYm9sICpmdW5jOwpAQCAtNjEzNCw3ICs2MTM0LDcgQEAgaW5kZXggNWEwZjFkMi4u YjJkMzUwZCAxMDA2NDQKICAKICAgIFRSWV9DQVRDSCAoZSwgUkVUVVJOX01BU0tfRVJST1IpCiAg ICAgIHsKLUBAIC02NTY1LDcgKzY2MjAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx2YWxfZnVu Y3Mgc2lnaW5mb192YWx1ZV9mdW5jcyA9CitAQCAtNjU2NCw3ICs2NjE5LDggQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBsdmFsX2Z1bmNzIHNpZ2luZm9fdmFsdWVfZnVuY3MgPQogICAgIGlmIHRoZXJl J3Mgbm8gb2JqZWN0IGF2YWlsYWJsZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBA IC02MTQ0LDcgKzYxNDQsNyBAQCBpbmRleCA1YTBmMWQyLi5iMmQzNTBkIDEwMDY0NAogIHsKICAg IGlmICh0YXJnZXRfaGFzX3N0YWNrCiAgICAgICAgJiYgIXB0aWRfZXF1YWwgKGluZmVyaW9yX3B0 aWQsIG51bGxfcHRpZCkKLUBAIC03MDYwLDYgKzcxMTYsMTUgQEAgc2hvd19zY2hlZHVsZV9tdWx0 aXBsZSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIGludCBmcm9tX3R0eSwKK0BAIC03MDU5LDYgKzcx MTUsMTUgQEAgc2hvd19zY2hlZHVsZV9tdWx0aXBsZSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIGlu dCBmcm9tX3R0eSwKICAJCQkgICAgIm9mIGFsbCBwcm9jZXNzZXMgaXMgJXMuXG4iKSwgdmFsdWUp OwogIH0KICAKQEAgLTYxNjAsNyArNjE2MCw3IEBAIGluZGV4IDVhMGYxZDIuLmIyZDM1MGQgMTAw NjQ0CiAgdm9pZAogIF9pbml0aWFsaXplX2luZnJ1biAodm9pZCkKICB7Ci1AQCAtNzM0OCw3ICs3 NDEzLDcgQEAgZW5hYmxlZCBieSBkZWZhdWx0IG9uIHNvbWUgcGxhdGZvcm1zLiIpLAorQEAgLTcz NDcsNyArNzQxMiw3IEBAIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBzb21lIHBsYXRmb3Jtcy4iKSwK ICAgICAgIHZhbHVlIHdpdGggYSB2b2lkIHR5cGVkIHZhbHVlLCBhbmQgd2hlbiB3ZSBnZXQgaGVy ZSwgZ2RiYXJjaAogICAgICAgaXNuJ3QgaW5pdGlhbGl6ZWQgeWV0LiAgQXQgdGhpcyBwb2ludCwg d2UncmUgcXVpdGUgc3VyZSB0aGVyZQogICAgICAgaXNuJ3QgYW5vdGhlciBjb252ZW5pZW5jZSB2 YXJpYWJsZSBvZiB0aGUgc2FtZSBuYW1lLiAgKi8KQEAgLTYxNzAsMTAgKzYxNzAsMTAgQEAgaW5k ZXggNWEwZjFkMi4uYjJkMzUwZCAxMDA2NDQKICAgIGFkZF9zZXRzaG93X2Jvb2xlYW5fY21kICgi b2JzZXJ2ZXIiLCBub19jbGFzcywKICAJCQkgICAmb2JzZXJ2ZXJfbW9kZV8xLCBfKCJcCiBkaWZm IC0tZ2l0IGEvZ2RiL2xpbmVzcGVjLmMgYi9nZGIvbGluZXNwZWMuYwotaW5kZXggODUyMTg1MS4u NTZhODM3YyAxMDA2NDQKK2luZGV4IDA3ODJjNTQuLjMxYmIzNmMgMTAwNjQ0CiAtLS0gYS9nZGIv bGluZXNwZWMuYwogKysrIGIvZ2RiL2xpbmVzcGVjLmMKLUBAIC00NSw2ICs0NSw3IEBACitAQCAt NDMsNiArNDMsNyBAQAogICNpbmNsdWRlICJjbGkvY2xpLXV0aWxzLmgiCiAgI2luY2x1ZGUgImZp bGVuYW1lcy5oIgogICNpbmNsdWRlICJhZGEtbGFuZy5oIgpAQCAtNjE4MSw3ICs2MTgxLDcgQEAg aW5kZXggODUyMTg1MS4uNTZhODM3YyAxMDA2NDQKICAKICB0eXBlZGVmIHN0cnVjdCBzeW10YWIg KnN5bXRhYl9wOwogIERFRl9WRUNfUCAoc3ltdGFiX3ApOwotQEAgLTgwNCw2ICs4MDUsNyBAQCBr ZWVwX25hbWVfaW5mbyAoY2hhciAqcCwgaW50IG9uX2JvdW5kYXJ5KQorQEAgLTgwMiw2ICs4MDMs NyBAQCBrZWVwX25hbWVfaW5mbyAoY2hhciAqcCwgaW50IG9uX2JvdW5kYXJ5KQogICAgIFBDIHJl dHVybmVkIGlzIDAuCiAgICAgRklMRTpGVU5DVElPTiAtLSBsaWtld2lzZSwgYnV0IHByZWZlciBm dW5jdGlvbnMgaW4gdGhhdCBmaWxlLgogICAgICpFWFBSIC0tIGxpbmUgaW4gd2hpY2ggYWRkcmVz cyBFWFBSIGFwcGVhcnMuCkBAIC02MTg5LDcgKzYxODksNyBAQCBpbmRleCA4NTIxODUxLi41NmE4 MzdjIDEwMDY0NAogIAogICAgIFRoaXMgbWF5IGFsbCBiZSBmb2xsb3dlZCBieSBhbiAiaWYgRVhQ UiIsIHdoaWNoIHdlIGlnbm9yZS4KICAKLUBAIC04NzQsNiArODc2LDkgQEAgZGVjb2RlX2xpbmVf aW50ZXJuYWwgKHN0cnVjdCBsaW5lc3BlY19zdGF0ZSAqc2VsZiwgY2hhciAqKmFyZ3B0cikKK0BA IC04NzIsNiArODc0LDkgQEAgZGVjb2RlX2xpbmVfaW50ZXJuYWwgKHN0cnVjdCBsaW5lc3BlY19z dGF0ZSAqc2VsZiwgY2hhciAqKmFyZ3B0cikKICAgICAgICByZXR1cm4gZGVjb2RlX2luZGlyZWN0 IChzZWxmLCBhcmdwdHIpOwogICAgICB9CiAgCkBAIC02MjAwLDEwICs2MjAwLDEwIEBAIGluZGV4 IDg1MjE4NTEuLjU2YTgzN2MgMTAwNjQ0CiAgCQkgICAgICAgKiphcmdwdHIpICE9IE5VTEwpOwog IAogZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYwotaW5kZXgg ZTVmN2MzZS4uMDlkN2MxZSAxMDA2NDQKK2luZGV4IDUwZDRlZmQuLjg5M2I3YzQgMTAwNjQ0CiAt LS0gYS9nZGIvbGludXgtbmF0LmMKICsrKyBiL2dkYi9saW51eC1uYXQuYwotQEAgLTI4OSw2ICsy ODksNyBAQCBzdGF0aWMgdm9pZCByZXN0b3JlX2NoaWxkX3NpZ25hbHNfbWFzayAoc2lnc2V0X3Qg KnByZXZfbWFzayk7CitAQCAtMjg4LDYgKzI4OCw3IEBAIHN0YXRpYyB2b2lkIHJlc3RvcmVfY2hp bGRfc2lnbmFsc19tYXNrIChzaWdzZXRfdCAqcHJldl9tYXNrKTsKICBzdHJ1Y3QgbHdwX2luZm87 CiAgc3RhdGljIHN0cnVjdCBsd3BfaW5mbyAqYWRkX2x3cCAocHRpZF90IHB0aWQpOwogIHN0YXRp YyB2b2lkIHB1cmdlX2x3cF9saXN0IChpbnQgcGlkKTsKQEAgLTYyMTEsNyArNjIxMSw3IEBAIGlu ZGV4IGU1ZjdjM2UuLjA5ZDdjMWUgMTAwNjQ0CiAgc3RhdGljIHN0cnVjdCBsd3BfaW5mbyAqZmlu ZF9sd3BfcGlkIChwdGlkX3QgcHRpZCk7CiAgCiAgDAotQEAgLTU4NSw2ICs1ODYsMzEgQEAgbGlu dXhfY2hpbGRfcG9zdF9zdGFydHVwX2luZmVyaW9yIChwdGlkX3QgcHRpZCkKK0BAIC01ODQsNiAr NTg1LDMxIEBAIGxpbnV4X2NoaWxkX3Bvc3Rfc3RhcnR1cF9pbmZlcmlvciAocHRpZF90IHB0aWQp CiAgICBsaW51eF9lbmFibGVfdHJhY2VzeXNnb29kIChwdGlkKTsKICB9CiAgCkBAIC02MjQzLDcg KzYyNDMsNyBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3YzFlIDEwMDY0NAogIHN0YXRpYyBpbnQKICBs aW51eF9jaGlsZF9mb2xsb3dfZm9yayAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywgaW50IGZvbGxv d19jaGlsZCkKICB7Ci1AQCAtNjMxLDYgKzY1Nyw4IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3Bw ZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCitAQCAtNjMwLDYgKzY1Niw4IEBA IGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBv ciBcCiAgICAgICAgLyogRGV0YWNoIG5ldyBmb3JrZWQgcHJvY2Vzcz8gICovCiAgICAgICAgaWYg KGRldGFjaF9mb3JrKQogIAl7CkBAIC02MjUyLDcgKzYyNTIsNyBAQCBpbmRleCBlNWY3YzNlLi4w OWQ3YzFlIDEwMDY0NAogIAkgIC8qIEJlZm9yZSBkZXRhY2hpbmcgZnJvbSB0aGUgY2hpbGQsIHJl bW92ZSBhbGwgYnJlYWtwb2ludHMKICAJICAgICBmcm9tIGl0LiAgSWYgd2UgZm9ya2VkLCB0aGVu IHRoaXMgaGFzIGFscmVhZHkgYmVlbiB0YWtlbgogIAkgICAgIGNhcmUgb2YgYnkgaW5mcnVuLmMu ICBJZiB3ZSB2Zm9ya2VkIGhvd2V2ZXIsIGFueQotQEAgLTY1Myw3ICs2ODEsMjggQEAgaG9sZGlu ZyB0aGUgY2hpbGQgc3RvcHBlZC4gIFRyeSBcInNldCBkZXRhY2gtb24tZm9ya1wiIG9yIFwKK0BA IC02NTIsNyArNjgwLDI4IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQg ZGV0YWNoLW9uLWZvcmtcIiBvciBcCiAgCQkJCWNoaWxkX3BpZCk7CiAgCSAgICB9CiAgCkBAIC02 MjgxLDcgKzYyODEsNyBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3YzFlIDEwMDY0NAogIAl9CiAgICAg ICAgZWxzZQogIAl7Ci1AQCAtNjcxLDYgKzcyMCw5IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3Bw ZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCitAQCAtNjcwLDYgKzcxOSw5IEBA IGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBv ciBcCiAgCSAgc2F2ZV9jdXJyZW50X3Byb2dyYW1fc3BhY2UgKCk7CiAgCiAgCSAgaW5mZXJpb3Jf cHRpZCA9IHB0aWRfYnVpbGQgKGNoaWxkX3BpZCwgY2hpbGRfcGlkLCAwKTsKQEAgLTYyOTEsNyAr NjI5MSw3IEBAIGluZGV4IGU1ZjdjM2UuLjA5ZDdjMWUgMTAwNjQ0CiAgCSAgYWRkX3RocmVhZCAo aW5mZXJpb3JfcHRpZCk7CiAgCSAgY2hpbGRfbHAgPSBhZGRfbHdwIChpbmZlcmlvcl9wdGlkKTsK ICAJICBjaGlsZF9scC0+c3RvcHBlZCA9IDE7Ci1AQCAtODYyLDYgKzkxNCw5IEBAIGhvbGRpbmcg dGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCitAQCAt ODYxLDYgKzkxMyw5IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0 YWNoLW9uLWZvcmtcIiBvciBcCiAgCSBpbmZvcm1pbmcgdGhlIHNvbGliIGxheWVyIGFib3V0IHRo aXMgbmV3IHByb2Nlc3MuICAqLwogIAogICAgICAgIGluZmVyaW9yX3B0aWQgPSBwdGlkX2J1aWxk IChjaGlsZF9waWQsIGNoaWxkX3BpZCwgMCk7CkBAIC02MzAxLDcgKzYzMDEsNyBAQCBpbmRleCBl NWY3YzNlLi4wOWQ3YzFlIDEwMDY0NAogICAgICAgIGFkZF90aHJlYWQgKGluZmVyaW9yX3B0aWQp OwogICAgICAgIGNoaWxkX2xwID0gYWRkX2x3cCAoaW5mZXJpb3JfcHRpZCk7CiAgICAgICAgY2hp bGRfbHAtPnN0b3BwZWQgPSAxOwotQEAgLTExMTIsMjEgKzExNjcsNiBAQCBwdXJnZV9sd3BfbGlz dCAoaW50IHBpZCkKK0BAIC0xMTExLDIxICsxMTY2LDYgQEAgcHVyZ2VfbHdwX2xpc3QgKGludCBw aWQpCiAgICAgIH0KICB9CiAgCkBAIC02MzIzLDcgKzYzMjMsNyBAQCBpbmRleCBlNWY3YzNlLi4w OWQ3YzFlIDEwMDY0NAogIC8qIEFkZCB0aGUgTFdQIHNwZWNpZmllZCBieSBQSUQgdG8gdGhlIGxp c3QuICBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZQogICAgIHN0cnVjdHVyZSBkZXNjcmliaW5nIHRo ZSBuZXcgTFdQLiAgVGhlIExXUCBzaG91bGQgYWxyZWFkeSBiZSBzdG9wcGVkCiAgICAgKHdpdGgg YW4gZXhjZXB0aW9uIGZvciB0aGUgdmVyeSBmaXJzdCBMV1ApLiAgKi8KLUBAIC0xMjM2LDYgKzEy NzYsNDYgQEAgaXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWRfdCBmaWx0ZXIsCitAQCAtMTIzNSw2ICsx Mjc1LDQ2IEBAIGl0ZXJhdGVfb3Zlcl9sd3BzIChwdGlkX3QgZmlsdGVyLAogICAgcmV0dXJuIE5V TEw7CiAgfQogIApAQCAtNjM3MSwxMCArNjM3MSwxMCBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3YzFl IDEwMDY0NAogICAgIGFub3RoZXIgaW5kaWNhdGVkIGJ5IE5FV19QVElELiAgV2UgY2FuIG9ubHkg c3dpdGNoIHNpbmdsZS10aHJlYWRlZAogICAgIGFwcGxpY2F0aW9ucywgc28gd2Ugb25seSBjcmVh dGUgb25lIG5ldyBMV1AsIGFuZCB0aGUgcHJldmlvdXMgbGlzdAogZGlmZiAtLWdpdCBhL2dkYi9s aW51eC1uYXQuaCBiL2dkYi9saW51eC1uYXQuaAotaW5kZXggMzM3MjdkNi4uOTkxNWYyZiAxMDA2 NDQKK2luZGV4IGQ5ZGM3MWIuLjYyMTczNzAgMTAwNjQ0CiAtLS0gYS9nZGIvbGludXgtbmF0LmgK ICsrKyBiL2dkYi9saW51eC1uYXQuaAotQEAgLTE1OSw2ICsxNTksMTIgQEAgc3RydWN0IGx3cF9p bmZvICppdGVyYXRlX292ZXJfbHdwcyAocHRpZF90IGZpbHRlciwKK0BAIC0xNTgsNiArMTU4LDEy IEBAIHN0cnVjdCBsd3BfaW5mbyAqaXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWRfdCBmaWx0ZXIsCiAg CQkJCQkJICAgICB2b2lkICopLCAKICAJCQkJICAgIHZvaWQgKmRhdGEpOwogIApAQCAtNjM4OCw3 ICs2Mzg4LDcgQEAgaW5kZXggMzM3MjdkNi4uOTkxNWYyZiAxMDA2NDQKICAgICBvdmVycmlkZSBp dCB3aXRoIGxvY2FsIG1ldGhvZHMuICAqLwogIHN0cnVjdCB0YXJnZXRfb3BzICogbGludXhfdGFy Z2V0ICh2b2lkKTsKIGRpZmYgLS1naXQgYS9nZGIvbWFjaG9yZWFkLmMgYi9nZGIvbWFjaG9yZWFk LmMKLWluZGV4IDQ2Yjg4NDIuLjY4YWFlNDYgMTAwNjQ0CitpbmRleCA5ZmE5N2UxLi5kNmYwZjM4 IDEwMDY0NAogLS0tIGEvZ2RiL21hY2hvcmVhZC5jCiArKysgYi9nZGIvbWFjaG9yZWFkLmMKIEBA IC0xMDMyLDYgKzEwMzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgbWFjaG9fc3lt X2ZucyA9IHsKQEAgLTY0MDAsMTAgKzY0MDAsMTAgQEAgaW5kZXggNDZiODg0Mi4uNjhhYWU0NiAx MDA2NDQKICB9OwogIAogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCi1pbmRl eCAyODhlYzRiLi4zOGI3Njk5IDEwMDY0NAoraW5kZXggOGI0NWMyNS4uYzdlYTBkZiAxMDA2NDQK IC0tLSBhL2dkYi9tYWluLmMKICsrKyBiL2dkYi9tYWluLmMKLUBAIC0zOSw2ICszOSw3IEBACitA QCAtMzcsNiArMzcsNyBAQAogIAogICNpbmNsdWRlICJpbnRlcnBzLmgiCiAgI2luY2x1ZGUgIm1h aW4uaCIKQEAgLTY0MTEsNyArNjQxMSw3IEBAIGluZGV4IDI4OGVjNGIuLjM4Yjc2OTkgMTAwNjQ0 CiAgI2luY2x1ZGUgInNvdXJjZS5oIgogICNpbmNsdWRlICJjbGkvY2xpLWNtZHMuaCIKICAjaW5j bHVkZSAicHl0aG9uL3B5dGhvbi5oIgotQEAgLTI2Niw2ICsyNjcsOCBAQCBjYXB0dXJlZF9tYWlu ICh2b2lkICpkYXRhKQorQEAgLTI2NCw2ICsyNjUsOCBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpk YXRhKQogICAgY2hhciAqY2RhcmcgPSBOVUxMOwogICAgY2hhciAqdHR5YXJnID0gTlVMTDsKICAK QEAgLTY0MjAsNyArNjQyMCw3IEBAIGluZGV4IDI4OGVjNGIuLjM4Yjc2OTkgMTAwNjQ0CiAgICAv KiBUaGVzZSBhcmUgc3RhdGljIHNvIHRoYXQgd2UgY2FuIHRha2UgdGhlaXIgYWRkcmVzcyBpbiBh bgogICAgICAgaW5pdGlhbGl6ZXIuICAqLwogICAgc3RhdGljIGludCBwcmludF9oZWxwOwotQEAg LTQ1OSwxMCArNDYyLDE0IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAtNDU3LDEw ICs0NjAsMTQgQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICAgICAgICB7ImFyZ3MiLCBu b19hcmd1bWVudCwgJnNldF9hcmdzLCAxfSwKICAgICAgICB7ImwiLCByZXF1aXJlZF9hcmd1bWVu dCwgMCwgJ2wnfSwKICAgICAgICB7InJldHVybi1jaGlsZC1yZXN1bHQiLCBub19hcmd1bWVudCwg JnJldHVybl9jaGlsZF9yZXN1bHQsIDF9LApAQCAtNjQzNiw3ICs2NDM2LDcgQEAgaW5kZXggMjg4 ZWM0Yi4uMzhiNzY5OSAxMDA2NDQKICAgICAgICB7CiAgCWludCBvcHRpb25faW5kZXg7CiAgCi1A QCAtNDgwLDYgKzQ4Nyw5IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAtNDc4LDYg KzQ4NSw5IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgCSAgY2FzZSAwOgogIAkgICAg LyogTG9uZyBvcHRpb24gdGhhdCBqdXN0IHNldHMgYSBmbGFnLiAgKi8KICAJICAgIGJyZWFrOwpA QCAtNjQ0Niw3ICs2NDQ2LDcgQEAgaW5kZXggMjg4ZWM0Yi4uMzhiNzY5OSAxMDA2NDQKICAJICBj YXNlIE9QVF9TRToKICAJICAgIHN5bWFyZyA9IG9wdGFyZzsKICAJICAgIGV4ZWNhcmcgPSBvcHRh cmc7Ci1AQCAtNjc1LDcgKzY4NSwzMSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQorQEAg LTY3Myw3ICs2ODMsMzEgQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICAKICAgIC8qIE5v dyB0aGF0IGdkYl9pbml0IGhhcyBjcmVhdGVkIHRoZSBpbml0aWFsIGluZmVyaW9yLCB3ZSdyZSBp bgogICAgICAgcG9zaXRpb24gdG8gc2V0IGFyZ3MgZm9yIHRoYXQgaW5mZXJpb3IuICAqLwpAQCAt NjQ3OSw3ICs2NDc5LDcgQEAgaW5kZXggMjg4ZWM0Yi4uMzhiNzY5OSAxMDA2NDQKICAgICAgewog ICAgICAgIC8qIFRoZSByZW1haW5pbmcgb3B0aW9ucyBhcmUgdGhlIGNvbW1hbmQtbGluZSBvcHRp b25zIGZvciB0aGUKICAJIGluZmVyaW9yLiAgVGhlIGZpcnN0IG9uZSBpcyB0aGUgc3ltL2V4ZWMg ZmlsZSwgYW5kIHRoZSByZXN0Ci1AQCAtOTI0LDcgKzk1OCw4IEBAIGNhcHR1cmVkX21haW4gKHZv aWQgKmRhdGEpCitAQCAtOTIyLDcgKzk1Niw4IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEp CiAgCiAgICAvKiBSZWFkIGluIHRoZSBvbGQgaGlzdG9yeSBhZnRlciBhbGwgdGhlIGNvbW1hbmQg ZmlsZXMgaGF2ZSBiZWVuCiAgICAgICByZWFkLiAgKi8KQEAgLTY0ODksNyArNjQ4OSw3IEBAIGlu ZGV4IDI4OGVjNGIuLjM4Yjc2OTkgMTAwNjQ0CiAgCiAgICBpZiAoYmF0Y2hfZmxhZykKICAgICAg ewotQEAgLTkzNSwxMyArOTcwLDI1IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAt OTMzLDEzICs5NjgsMjUgQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICAgIC8qIFNob3cg dGltZSBhbmQvb3Igc3BhY2UgdXNhZ2UuICAqLwogICAgZG9fY2xlYW51cHMgKHByZV9zdGF0X2No YWluKTsKICAKQEAgLTY1MjEsNyArNjUyMSw3IEBAIGluZGV4IDI4OGVjNGIuLjM4Yjc2OTkgMTAw NjQ0CiAgICAgIH0KICAgIC8qIE5vIGV4aXQgLS0gZXhpdCBpcyB0aHJvdWdoIHF1aXRfY29tbWFu ZC4gICovCiAgfQotQEAgLTk3Myw3ICsxMDIwLDEyIEBAIHByaW50X2dkYl9oZWxwIChzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtKQorQEAgLTk3MSw3ICsxMDE4LDEyIEBAIHByaW50X2dkYl9oZWxwIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygiXAogIFRoaXMg aXMgdGhlIEdOVSBkZWJ1Z2dlci4gIFVzYWdlOlxuXG5cCiAgICAgIGdkYiBbb3B0aW9uc10gW2V4 ZWN1dGFibGUtZmlsZSBbY29yZS1maWxlIG9yIHByb2Nlc3MtaWRdXVxuXApAQCAtNjUzNSw3ICs2 NTM1LDcgQEAgaW5kZXggMjg4ZWM0Yi4uMzhiNzY5OSAxMDA2NDQKICBPcHRpb25zOlxuXG5cCiAg IiksIHN0cmVhbSk7CiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCi1AQCAtMTAxMSw3ICsxMDYz LDEzIEBAIE9wdGlvbnM6XG5cblwKK0BAIC0xMDA5LDcgKzEwNjEsMTMgQEAgT3B0aW9uczpcblxu XAogICAgLS1udwkJICAgICBEbyBub3QgdXNlIGEgd2luZG93IGludGVyZmFjZS5cblwKICAgIC0t bnggICAgICAgICAgICAgICBEbyBub3QgcmVhZCAiKSwgc3RyZWFtKTsKICAgIGZwdXRzX3VuZmls dGVyZWQgKGdkYmluaXQsIHN0cmVhbSk7CkBAIC02NTUxLDcgKzY1NTEsNyBAQCBpbmRleCAyODhl YzRiLi4zOGI3Njk5IDEwMDY0NAogICAgLS1yZWFkbm93ICAgICAgICAgIEZ1bGx5IHJlYWQgc3lt Ym9sIGZpbGVzIG9uIGZpcnN0IGFjY2Vzcy5cblwKICAiKSwgc3RyZWFtKTsKIGRpZmYgLS1naXQg YS9nZGIvbWkvbWktY21kLXZhci5jIGIvZ2RiL21pL21pLWNtZC12YXIuYwotaW5kZXggNDhmOGE3 ZC4uZTlhNGRiNyAxMDA2NDQKK2luZGV4IDRkZTczOTIuLmZiMGI1NTAgMTAwNjQ0CiAtLS0gYS9n ZGIvbWkvbWktY21kLXZhci5jCiArKysgYi9nZGIvbWkvbWktY21kLXZhci5jCiBAQCAtNzIxLDcg KzcyMSw2IEBAIG1pX2NtZF92YXJfdXBkYXRlIChjaGFyICpjb21tYW5kLCBjaGFyICoqYXJndiwg aW50IGFyZ2MpCkBAIC02NTYzLDEwICs2NTYzLDEwIEBAIGluZGV4IDQ4ZjhhN2QuLmU5YTRkYjcg MTAwNjQ0CiAgCiAgICAgICAgdmFyb2JqX3VwZGF0ZV9vbmUgKHZhciwgcHJpbnRfdmFsdWVzLCAx IC8qIGV4cGxpY2l0ICovKTsKIGRpZmYgLS1naXQgYS9nZGIvbWlwc3JlYWQuYyBiL2dkYi9taXBz cmVhZC5jCi1pbmRleCAxY2QzMjk5Li40NmRlMDk3IDEwMDY0NAoraW5kZXggNTc5MDczMC4uMjNj ZWVjZSAxMDA2NDQKIC0tLSBhL2dkYi9taXBzcmVhZC5jCiArKysgYi9nZGIvbWlwc3JlYWQuYwot QEAgLTQwMiw2ICs0MDIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWNvZmZfc3lt X2ZucyA9CitAQCAtNDAxLDYgKzQwMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBl Y29mZl9zeW1fZm5zID0KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJLyogR2V0IHNlZ21l bnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3lt ZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTY1NzUs MTAgKzY1NzUsMTAgQEAgaW5kZXggMWNkMzI5OS4uNDZkZTA5NyAxMDA2NDQKICB9OwogIAogZGlm ZiAtLWdpdCBhL2dkYi9vYmpmaWxlcy5jIGIvZ2RiL29iamZpbGVzLmMKLWluZGV4IDIyOWU2NDEu LjU2YjhhMzEgMTAwNjQ0CitpbmRleCAxY2Y1YWVlLi5kMTY0MGVmIDEwMDY0NAogLS0tIGEvZ2Ri L29iamZpbGVzLmMKICsrKyBiL2dkYi9vYmpmaWxlcy5jCi1AQCAtODEzLDYgKzgxMywxMSBAQCBv YmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtODExLDYgKzgx MSwxMSBAQCBvYmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJ CW9ial9zZWN0aW9uX2FkZHIgKHMpKTsKICAgICAgfQogIApAQCAtNjU5MSw3ICs2NTkxLDcgQEAg aW5kZXggMjI5ZTY0MS4uNTZiOGEzMSAxMDA2NDQKICAgIHJldHVybiAxOwogIH0KIGRpZmYgLS1n aXQgYS9nZGIvcC12YWxwcmludC5jIGIvZ2RiL3AtdmFscHJpbnQuYwotaW5kZXggZTU1YjEyMi4u NmI0YWRmYiAxMDA2NDQKK2luZGV4IGM1YmVmOGEuLmZjM2JlYjMgMTAwNjQ0CiAtLS0gYS9nZGIv cC12YWxwcmludC5jCiArKysgYi9nZGIvcC12YWxwcmludC5jCiBAQCAtMzksNiArMzksNyBAQApA QCAtNjY3MSwxMCArNjY3MSwxMCBAQCBpbmRleCBlNTViMTIyLi42YjRhZGZiIDEwMDY0NAogIH0K ICAMCiBkaWZmIC0tZ2l0IGEvZ2RiL3BhcnNlLmMgYi9nZGIvcGFyc2UuYwotaW5kZXggN2QxNTdm ZS4uNmRkYWY4NiAxMDA2NDQKK2luZGV4IDMyYTNiZDYuLjllYWYyZGUgMTAwNjQ0CiAtLS0gYS9n ZGIvcGFyc2UuYwogKysrIGIvZ2RiL3BhcnNlLmMKLUBAIC0xMjQsOCArMTI0LDYgQEAgc2hvd19w YXJzZXJkZWJ1ZyAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIGludCBmcm9tX3R0eSwKK0BAIC0xMTMs OCArMTEzLDYgQEAgc2hvd19wYXJzZXJkZWJ1ZyAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIGludCBm cm9tX3R0eSwKICAKICBzdGF0aWMgdm9pZCBmcmVlX2Z1bmNhbGxzICh2b2lkICppZ25vcmUpOwog IApAQCAtNjY4Myw3ICs2NjgzLDI1IEBAIGluZGV4IDdkMTU3ZmUuLjZkZGFmODYgMTAwNjQ0CiAg c3RhdGljIGludCBwcmVmaXhpZnlfc3ViZXhwIChzdHJ1Y3QgZXhwcmVzc2lvbiAqLCBzdHJ1Y3Qg ZXhwcmVzc2lvbiAqLCBpbnQsCiAgCQkJICAgICBpbnQpOwogIAotQEAgLTc3Miw3ICs3NzAsNyBA QCBjb3B5X25hbWUgKHN0cnVjdCBzdG9rZW4gdG9rZW4pCitAQCAtMTg4LDcgKzE4Niw3IEBAIGZy ZWVfZnVuY2FsbHMgKHZvaWQgKmlnbm9yZSkKKyAgICB0aGUgZXhwb3V0IGFycmF5LiAgTEFORyBp cyB0aGUgbGFuZ3VhZ2UgdXNlZCB0byBwYXJzZSB0aGUgZXhwcmVzc2lvbi4KKyAgICBBbmQgR0RC QVJDSCBpcyB0aGUgZ2RiYXJjaCB0byB1c2UgZHVyaW5nIHBhcnNpbmcuICAqLworIAorLXN0YXRp YyB2b2lkCisrdm9pZAorIGluaXRpYWxpemVfZXhwb3V0IChpbnQgaW5pdGlhbF9zaXplLCBjb25z dCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZywKKyAJCSAgIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoKQorIHsKK0BAIC0yMDQsNyArMjAyLDcgQEAgaW5pdGlhbGl6ZV9leHBvdXQgKGludCBpbml0 aWFsX3NpemUsIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5nLAorICAgIEl0IGlzIGdl bmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhcnNlciBoYXMganVzdCBiZWVuIHBhcnNlZCBhbmQKKyAg ICBjcmVhdGVkLiAgKi8KKyAKKy1zdGF0aWMgdm9pZAorK3ZvaWQKKyByZWFsbG9jYXRlX2V4cG91 dCAodm9pZCkKKyB7CisgICAvKiBSZWNvcmQgdGhlIGFjdHVhbCBudW1iZXIgb2YgZXhwcmVzc2lv biBlbGVtZW50cywgYW5kIHRoZW4KK0BAIC04MTEsNyArODA5LDcgQEAgY29weV9uYW1lIChzdHJ1 Y3Qgc3Rva2VuIHRva2VuKQogICAgIHJldHVybiB0aGUgaW5kZXggb2YgdGhlIHN1YmV4cHJlc3Np b24gd2hpY2ggaXMgdGhlIGxlZnQtaGFuZC1zaWRlCiAgICAgb2YgdGhlIHN0cnVjdCBvcGVyYXRp b24gYXQgRVhQT1VUX0xBU1RfU1RSVUNULiAgKi8KICAKQEAgLTY2OTIsNjkgKzY3MTAsNyBAQCBp bmRleCA3ZDE1N2ZlLi42ZGRhZjg2IDEwMDY0NAogIHByZWZpeGlmeV9leHByZXNzaW9uIChzdHJ1 Y3QgZXhwcmVzc2lvbiAqZXhwcikKICB7CiAgICBpbnQgbGVuID0gc2l6ZW9mIChzdHJ1Y3QgZXhw cmVzc2lvbikgKyBFWFBfRUxFTV9UT19CWVRFUyAoZXhwci0+bmVsdHMpOwotQEAgLTEwNzUsNiAr MTA3MywzMSBAQCBwYXJzZV9leHBfMSAoY2hhciAqKnN0cmluZ3B0ciwgc3RydWN0IGJsb2NrICpi bG9jaywgaW50IGNvbW1hKQotICAgcmV0dXJuIHBhcnNlX2V4cF9pbl9jb250ZXh0IChzdHJpbmdw dHIsIGJsb2NrLCBjb21tYSwgMCwgTlVMTCk7Ci0gfQotIAotK3ZvaWQKLStpbml0aWFsaXplX2V4 cG91dCAoaW50IGluaXRpYWxfc2l6ZSwgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmcs Ci0rCQkgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKLSt7Ci0rICBleHBvdXRfc2l6ZSA9IGlu aXRpYWxfc2l6ZTsKLSsgIGV4cG91dF9wdHIgPSAwOwotKyAgZXhwb3V0ID0gKHN0cnVjdCBleHBy ZXNzaW9uICopCi0rICAgIHhtYWxsb2MgKHNpemVvZiAoc3RydWN0IGV4cHJlc3Npb24pICsgRVhQ X0VMRU1fVE9fQllURVMgKGV4cG91dF9zaXplKSk7Ci0rICBleHBvdXQtPmxhbmd1YWdlX2RlZm4g PSBsYW5nOwotKyAgZXhwb3V0LT5nZGJhcmNoID0gZ2RiYXJjaDsKLSt9Ci0rCi0rdm9pZAotK3Jl YWxsb2NhdGVfZXhwb3V0ICh2b2lkKQotK3sKLSsgIC8qIFJlY29yZCB0aGUgYWN0dWFsIG51bWJl ciBvZiBleHByZXNzaW9uIGVsZW1lbnRzLCBhbmQgdGhlbgotKyAgICAgcmVhbGxvY2F0ZSB0aGUg ZXhwcmVzc2lvbiBtZW1vcnkgc28gdGhhdCB3ZSBmcmVlIHVwIGFueQotKyAgICAgZXhjZXNzIGVs ZW1lbnRzLiAgKi8KLSsKLSsgIGV4cG91dC0+bmVsdHMgPSBleHBvdXRfcHRyOwotKyAgZXhwb3V0 ID0gKHN0cnVjdCBleHByZXNzaW9uICopCi0rICAgIHhyZWFsbG9jICgoY2hhciAqKSBleHBvdXQs Ci0rCSAgICAgIHNpemVvZiAoc3RydWN0IGV4cHJlc3Npb24pICsgRVhQX0VMRU1fVE9fQllURVMg KGV4cG91dF9wdHIpKTsKLSt9Ci0rCi0gLyogQXMgZm9yIHBhcnNlX2V4cF8xLCBleGNlcHQgdGhh dCBpZiBWT0lEX0NPTlRFWFRfUCwgdGhlbgotICAgIG5vIHZhbHVlIGlzIGV4cGVjdGVkIGZyb20g dGhlIGV4cHJlc3Npb24uCi0gICAgT1VUX1NVQkVYUCBpcyBzZXQgd2hlbiBhdHRlbXB0aW5nIHRv IGNvbXBsZXRlIGEgZmllbGQgbmFtZTsgaW4gdGhpcwotQEAgLTExNTIsMTIgKzExNzUsNyBAQCBw YXJzZV9leHBfaW5fY29udGV4dCAoY2hhciAqKnN0cmluZ3B0ciwgc3RydWN0IGJsb2NrICpibG9j aywgaW50IGNvbW1hLAotICAgZWxzZQotICAgICBsYW5nID0gY3VycmVudF9sYW5ndWFnZTsKLSAK LS0gIGV4cG91dF9zaXplID0gMTA7Ci0tICBleHBvdXRfcHRyID0gMDsKLS0gIGV4cG91dCA9IChz dHJ1Y3QgZXhwcmVzc2lvbiAqKQotLSAgICB4bWFsbG9jIChzaXplb2YgKHN0cnVjdCBleHByZXNz aW9uKSArIEVYUF9FTEVNX1RPX0JZVEVTIChleHBvdXRfc2l6ZSkpOwotLSAgZXhwb3V0LT5sYW5n dWFnZV9kZWZuID0gbGFuZzsKLS0gIGV4cG91dC0+Z2RiYXJjaCA9IGdldF9jdXJyZW50X2FyY2gg KCk7Ci0rICBpbml0aWFsaXplX2V4cG91dCAoMTAsIGxhbmcsIGdldF9jdXJyZW50X2FyY2ggKCkp OwotIAotICAgVFJZX0NBVENIIChleGNlcHQsIFJFVFVSTl9NQVNLX0FMTCkKLSAgICAgewotQEAg LTExNzUsMTQgKzExOTMsNyBAQCBwYXJzZV9leHBfaW5fY29udGV4dCAoY2hhciAqKnN0cmluZ3B0 ciwgc3RydWN0IGJsb2NrICpibG9jaywgaW50IGNvbW1hLAotIAotICAgZGlzY2FyZF9jbGVhbnVw cyAob2xkX2NoYWluKTsKLSAKLS0gIC8qIFJlY29yZCB0aGUgYWN0dWFsIG51bWJlciBvZiBleHBy ZXNzaW9uIGVsZW1lbnRzLCBhbmQgdGhlbgotLSAgICAgcmVhbGxvY2F0ZSB0aGUgZXhwcmVzc2lv biBtZW1vcnkgc28gdGhhdCB3ZSBmcmVlIHVwIGFueQotLSAgICAgZXhjZXNzIGVsZW1lbnRzLiAg Ki8KLS0KLS0gIGV4cG91dC0+bmVsdHMgPSBleHBvdXRfcHRyOwotLSAgZXhwb3V0ID0gKHN0cnVj dCBleHByZXNzaW9uICopCi0tICAgIHhyZWFsbG9jICgoY2hhciAqKSBleHBvdXQsCi0tCSAgICAg IHNpemVvZiAoc3RydWN0IGV4cHJlc3Npb24pICsgRVhQX0VMRU1fVE9fQllURVMgKGV4cG91dF9w dHIpKTsKLSsgIHJlYWxsb2NhdGVfZXhwb3V0ICgpOwotIAotICAgLyogQ29udmVydCBleHByZXNz aW9uIGZyb20gcG9zdGZpeCBmb3JtIGFzIGdlbmVyYXRlZCBieSB5YWNjCi0gICAgICBwYXJzZXIs IHRvIGEgcHJlZml4IGZvcm0uICAqLwotQEAgLTE1MDIsNiArMTUxMyw3IEBAIHBhcnNlcl9mcHJp bnRmIChGSUxFICp4LCBjb25zdCBjaGFyICp5LCAuLi4pCitAQCAtMTUyOSw2ICsxNTI3LDcgQEAg cGFyc2VyX2ZwcmludGYgKEZJTEUgKngsIGNvbnN0IGNoYXIgKnksIC4uLikKICAKICBpbnQKICBv cGVyYXRvcl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywK QEAgLTY3NjIsNyArNjcxOCw3IEBAIGluZGV4IDdkMTU3ZmUuLjZkZGFmODYgMTAwNjQ0CiAgCQkJ IGludCAoKm9iamZpbGVfZnVuYykgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkJCQkJICAg ICAgdm9pZCAqZGF0YSksCiAgCQkJIHZvaWQgKmRhdGEpCi1AQCAtMTU0Myw3ICsxNTU1LDcgQEAg b3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3Ms CitAQCAtMTU3MCw3ICsxNTY5LDcgQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBl eHByZXNzaW9uICpleHAsIGludCBwb3MsCiAgCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGVsdHNb cG9zICsgMiArIGFyZ10udHlwZTsKICAJICAgIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlID0gVFlQ RV9PQkpGSUxFICh0eXBlKTsKICAKQEAgLTY3NzEsNyArNjcyNyw3IEBAIGluZGV4IDdkMTU3ZmUu LjZkZGFmODYgMTAwNjQ0CiAgCSAgICAgIHJldHVybiAxOwogIAkgIH0KICAgICAgICB9Ci1AQCAt MTU2MSw3ICsxNTczLDggQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNz aW9uICpleHAsIGludCBwb3MsCitAQCAtMTU4OCw3ICsxNTg3LDggQEAgb3BlcmF0b3JfY2hlY2tf c3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCiAgCiAgCS8qIENoZWNr IG9iamZpbGUgd2hlcmUgdGhlIHZhcmlhYmxlIGl0c2VsZiBpcyBwbGFjZWQuCiAgCSAgIFNZTUJP TF9PQkpfU0VDVElPTiAoc3ltYm9sKSBtYXkgYmUgTlVMTC4gICovCkBAIC02NzgxLDcgKzY3Mzcs NyBAQCBpbmRleCA3ZDE1N2ZlLi42ZGRhZjg2IDEwMDY0NAogIAkgIHJldHVybiAxOwogIAogIAkv KiBDaGVjayBvYmpmaWxlIHdoZXJlIGlzIHBsYWNlZCB0aGUgY29kZSB0b3VjaGluZyB0aGUgdmFy aWFibGUuICAqLwotQEAgLTE1NzQsMjQgKzE1ODcsMjcgQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRh cmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCitAQCAtMTYwMSwyNCArMTYwMSwy NyBAQCBvcGVyYXRvcl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50 IHBvcywKICAKICAgIC8qIEludm9rZSBjYWxsYmFja3MgZm9yIFRZUEUgYW5kIE9CSkZJTEUgaWYg dGhleSB3ZXJlIHNldCBhcyBub24tTlVMTC4gICovCiAgCkBAIC02ODE3LDcgKzY3NzMsNyBAQCBp bmRleCA3ZDE1N2ZlLi42ZGRhZjg2IDEwMDY0NAogIAkgICAgIGludCAoKm9iamZpbGVfZnVuYykg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCB2b2lkICpkYXRhKSwKICAJICAgICB2b2lkICpkYXRh KQogIHsKLUBAIC0xNjA2LDcgKzE2MjIsOSBAQCBleHBfaXRlcmF0ZSAoc3RydWN0IGV4cHJlc3Np b24gKmV4cCwKK0BAIC0xNjMzLDcgKzE2MzYsOSBAQCBleHBfaXRlcmF0ZSAoc3RydWN0IGV4cHJl c3Npb24gKmV4cCwKICAKICAgICAgICBwb3MgPSBlbmRwb3MgLSBvcGxlbjsKICAgICAgICBpZiAo ZXhwLT5sYW5ndWFnZV9kZWZuLT5sYV9leHBfZGVzYy0+b3BlcmF0b3JfY2hlY2sgKGV4cCwgcG9z LApAQCAtNjgyOCw3ICs2Nzg0LDcgQEAgaW5kZXggN2QxNTdmZS4uNmRkYWY4NiAxMDA2NDQKICAJ cmV0dXJuIDE7CiAgCiAgICAgICAgZW5kcG9zID0gcG9zOwotQEAgLTE2MzcsOCArMTY1NSwyOSBA QCBleHBfdXNlc19vYmpmaWxlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSkKK0BAIC0xNjY0LDggKzE2NjksMjkgQEAgZXhwX3VzZXNfb2JqZmlsZSAoc3Ry dWN0IGV4cHJlc3Npb24gKmV4cCwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCiAgewogICAgZ2Ri X2Fzc2VydCAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxM KTsKICAKQEAgLTY4NjAsMTAgKzY4MTYsMTAgQEAgaW5kZXggN2QxNTdmZS4uNmRkYWY4NiAxMDA2 NDQKICB2b2lkCiAgX2luaXRpYWxpemVfcGFyc2UgKHZvaWQpCiBkaWZmIC0tZ2l0IGEvZ2RiL3Bh cnNlci1kZWZzLmggYi9nZGIvcGFyc2VyLWRlZnMuaAotaW5kZXggYmNhODAxNC4uZWNjNDM2ZSAx MDA2NDQKK2luZGV4IDE2YjQwYWMuLmMzODEzZmYgMTAwNjQ0CiAtLS0gYS9nZGIvcGFyc2VyLWRl ZnMuaAogKysrIGIvZ2RiL3BhcnNlci1kZWZzLmgKLUBAIC0xMzEsNiArMTMxLDI0IEBAIHVuaW9u IHR5cGVfc3RhY2tfZWx0CitAQCAtMTMwLDYgKzEzMCwyNCBAQCB1bmlvbiB0eXBlX3N0YWNrX2Vs dAogIGV4dGVybiB1bmlvbiB0eXBlX3N0YWNrX2VsdCAqdHlwZV9zdGFjazsKICBleHRlcm4gaW50 IHR5cGVfc3RhY2tfZGVwdGgsIHR5cGVfc3RhY2tfc2l6ZTsKICAKQEAgLTY4ODgsNyArNjg0NCw3 IEBAIGluZGV4IGJjYTgwMTQuLmVjYzQzNmUgMTAwNjQ0CiAgZXh0ZXJuIHZvaWQgd3JpdGVfZXhw X2VsdF9vcGNvZGUgKGVudW0gZXhwX29wY29kZSk7CiAgCiAgZXh0ZXJuIHZvaWQgd3JpdGVfZXhw X2VsdF9zeW0gKHN0cnVjdCBzeW1ib2wgKik7Ci1AQCAtMTkyLDYgKzIxMCw4IEBAIGV4dGVybiB2 b2lkIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKiwg aW50LCBpbnQgKiwKK0BAIC0xOTEsNiArMjA5LDggQEAgZXh0ZXJuIHZvaWQgb3BlcmF0b3JfbGVu Z3RoX3N0YW5kYXJkIChjb25zdCBzdHJ1Y3QgZXhwcmVzc2lvbiAqLCBpbnQsIGludCAqLAogIAkJ CQkgICAgICBpbnQgKik7CiAgCiAgZXh0ZXJuIGludCBvcGVyYXRvcl9jaGVja19zdGFuZGFyZCAo c3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTY4OTcsNyArNjg1Myw3IEBAIGlu ZGV4IGJjYTgwMTQuLmVjYzQzNmUgMTAwNjQ0CiAgCQkJCSAgICBpbnQgKCpvYmpmaWxlX2Z1bmMp CiAgCQkJCSAgICAgIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9pZCAqZGF0YSksCiAgCQkJ CSAgICB2b2lkICpkYXRhKTsKLUBAIC0yODksNiArMzA5LDcgQEAgc3RydWN0IGV4cF9kZXNjcmlw dG9yCitAQCAtMjc3LDYgKzI5Nyw3IEBAIHN0cnVjdCBleHBfZGVzY3JpcHRvcgogICAgICAgICB2 YWx1ZSBzaG91bGQgYmUgaW1tZWRpYXRlbHkgcmV0dXJuZWQgdG8gdGhlIGNhbGxlci4gIE90aGVy d2lzZSB6ZXJvCiAgICAgICAgIHNob3VsZCBiZSByZXR1cm5lZC4gICovCiAgICAgIGludCAoKm9w ZXJhdG9yX2NoZWNrKSAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTY5MDUs NyArNjg2MSw3IEBAIGluZGV4IGJjYTgwMTQuLmVjYzQzNmUgMTAwNjQ0CiAgCQkJICAgaW50ICgq b2JqZmlsZV9mdW5jKSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCQkJdm9pZCAqZGF0 YSksCiAgCQkJICAgdm9pZCAqZGF0YSk7Ci1AQCAtMzI3LDQgKzM0OCwxMCBAQCBleHRlcm4gdm9p ZCBwYXJzZXJfZnByaW50ZiAoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BS SU5URiAoMiwgMyk7CitAQCAtMzE1LDQgKzMzNiwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnBy aW50ZiAoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMiwgMyk7 CiAgCiAgZXh0ZXJuIGludCBleHBfdXNlc19vYmpmaWxlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSk7CiAgCkBAIC02OTE3LDEwICs2ODczLDEwIEBAIGlu ZGV4IGJjYTgwMTQuLmVjYzQzNmUgMTAwNjQ0CiArCiAgI2VuZGlmIC8qIFBBUlNFUl9ERUZTX0gg Ki8KIGRpZmYgLS1naXQgYS9nZGIvcHBjLWxpbnV4LW5hdC5jIGIvZ2RiL3BwYy1saW51eC1uYXQu YwotaW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKK2luZGV4IGFmODA5MTkuLjMwNzdjNGIg MTAwNjQ0CiAtLS0gYS9nZGIvcHBjLWxpbnV4LW5hdC5jCiArKysgYi9nZGIvcHBjLWxpbnV4LW5h dC5jCi1AQCAtMTQ2OSwxNCArMTQ2OSwxMyBAQCBwcGNfbGludXhfY2FuX3VzZV9od19icmVha3Bv aW50IChpbnQgdHlwZSwgaW50IGNudCwgaW50IG90KQorQEAgLTE0NjgsMTQgKzE0NjgsMTMgQEAg cHBjX2xpbnV4X2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5cGUsIGludCBjbnQsIGludCBv dCkKICAgIGlmICghaGF2ZV9wdHJhY2VfYm9va2VfaW50ZXJmYWNlICgpKQogICAgICB7CiAgICAg ICAgaW50IHRpZDsKQEAgLTY5MzcsNyArNjg5Myw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkg MTAwNjQ0CiAgCiAgICAgICAgaWYgKHB0cmFjZSAoUFRSQUNFX1NFVF9ERUJVR1JFRywgdGlkLCAw LCAwKSA9PSAtMSkKICAJcmV0dXJuIDA7Ci1AQCAtMTU2Nyw4ICsxNTY2LDkgQEAgYm9va2VfZmlu ZF90aHJlYWRfcG9pbnRzX2J5X3RpZCAoaW50IHRpZCwgaW50IGFsbG9jX25ldykKK0BAIC0xNTY2 LDggKzE1NjUsOSBAQCBib29rZV9maW5kX3RocmVhZF9wb2ludHNfYnlfdGlkIChpbnQgdGlkLCBp bnQgYWxsb2NfbmV3KQogIC8qIFRoaXMgZnVuY3Rpb24gaXMgYSBnZW5lcmljIHdyYXBwZXIgdGhh dCBpcyByZXNwb25zaWJsZSBmb3IgaW5zZXJ0aW5nIGEKICAgICAqcG9pbnQgKGkuZS4sIGNhbGxp bmcgYHB0cmFjZScgaW4gb3JkZXIgdG8gaXNzdWUgdGhlIHJlcXVlc3QgdG8gdGhlCiAgICAga2Vy bmVsKSBhbmQgcmVnaXN0ZXJpbmcgaXQgaW50ZXJuYWxseSBpbiBHREIuICAqLwpAQCAtNjk0OCw3 ICs2OTA0LDcgQEAgaW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICB7CiAgICBpbnQgaTsK ICAgIGxvbmcgc2xvdDsKLUBAIC0xNTgxLDEyICsxNTgxLDEyIEBAIGJvb2tlX2luc2VydF9wb2lu dCAoc3RydWN0IHBwY19od19icmVha3BvaW50ICpiLCBpbnQgdGlkKQorQEAgLTE1ODAsMTIgKzE1 ODAsMTIgQEAgYm9va2VfaW5zZXJ0X3BvaW50IChzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKmIs IGludCB0aWQpCiAgICBtZW1jcHkgKHAsIGIsIHNpemVvZiAoc3RydWN0IHBwY19od19icmVha3Bv aW50KSk7CiAgCiAgICBlcnJubyA9IDA7CkBAIC02OTYzLDcgKzY5MTksNyBAQCBpbmRleCBjYzI5 YWQ4Li45NDkwMGM5IDEwMDY0NAogICAgZ2RiX2Fzc2VydCAodCAhPSBOVUxMKTsKICAgIGh3X2Jy ZWFrcyA9IHQtPmh3X2JyZWFrczsKICAKLUBAIC0xNjA0LDE3ICsxNjA0LDMzIEBAIGJvb2tlX2lu c2VydF9wb2ludCAoc3RydWN0IHBwY19od19icmVha3BvaW50ICpiLCBpbnQgdGlkKQorQEAgLTE2 MDMsMTcgKzE2MDMsMzMgQEAgYm9va2VfaW5zZXJ0X3BvaW50IChzdHJ1Y3QgcHBjX2h3X2JyZWFr cG9pbnQgKmIsIGludCB0aWQpCiAgICBkaXNjYXJkX2NsZWFudXBzIChjKTsKICB9CiAgCkBAIC03 MDAzLDcgKzY5NTksNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAgZ2RiX2Fz c2VydCAodCAhPSBOVUxMKTsKICAgIGh3X2JyZWFrcyA9IHQtPmh3X2JyZWFrczsKICAKLUBAIC0x NjI4LDEzICsxNjQ0LDE3IEBAIGJvb2tlX3JlbW92ZV9wb2ludCAoc3RydWN0IHBwY19od19icmVh a3BvaW50ICpiLCBpbnQgdGlkKQorQEAgLTE2MjcsMTMgKzE2NDMsMTcgQEAgYm9va2VfcmVtb3Zl X3BvaW50IChzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKmIsIGludCB0aWQpCiAgICAgICBicmVh a3BvaW50cy93YXRjaHBvaW50cyBhcyAib25lLXNob3QiLCB0aGF0IGlzLCB0aGV5IGFyZSBhdXRv bWF0aWNhbGx5CiAgICAgICBkZWxldGVkIHdoZW4gaGl0LiAgKi8KICAgIGVycm5vID0gMDsKQEAg LTcwMjIsNyArNjk3OCw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgfQogIAog IC8qIFJldHVybiB0aGUgbnVtYmVyIG9mIHJlZ2lzdGVycyBuZWVkZWQgZm9yIGEgcmFuZ2VkIGJy ZWFrcG9pbnQuICAqLwotQEAgLTE2NTQsNyArMTY3NCw2IEBAIHN0YXRpYyBpbnQKK0BAIC0xNjUz LDcgKzE2NzMsNiBAQCBzdGF0aWMgaW50CiAgcHBjX2xpbnV4X2luc2VydF9od19icmVha3BvaW50 IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkJICBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8g KmJwX3RndCkKICB7CkBAIC03MDMwLDcgKzY5ODYsNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5 IDEwMDY0NAogICAgc3RydWN0IHBwY19od19icmVha3BvaW50IHA7CiAgCiAgICBpZiAoIWhhdmVf cHRyYWNlX2Jvb2tlX2ludGVyZmFjZSAoKSkKLUBAIC0xNjgwLDggKzE2OTksNyBAQCBwcGNfbGlu dXhfaW5zZXJ0X2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTE2 NzksOCArMTY5OCw3IEBAIHBwY19saW51eF9pbnNlcnRfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCiAgICAgICAgcC5hZGRyMiA9IDA7CiAgICAgIH0KICAKQEAgLTcwNDAs NyArNjk5Niw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgCiAgICByZXR1cm4g MDsKICB9Ci1AQCAtMTY5MCw3ICsxNzA4LDYgQEAgc3RhdGljIGludAorQEAgLTE2ODksNyArMTcw Nyw2IEBAIHN0YXRpYyBpbnQKICBwcGNfbGludXhfcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAogIAkJCQkgIHN0cnVjdCBicF90YXJnZXRfaW5mbyAqYnBfdGd0 KQogIHsKQEAgLTcwNDgsNyArNzAwNCw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0 CiAgICBzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgcDsKICAKICAgIGlmICghaGF2ZV9wdHJhY2Vf Ym9va2VfaW50ZXJmYWNlICgpKQotQEAgLTE3MTYsOCArMTczMyw3IEBAIHBwY19saW51eF9yZW1v dmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTcxNSw4ICsx NzMyLDcgQEAgcHBjX2xpbnV4X3JlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwKICAgICAgICBwLmFkZHIyID0gMDsKICAgICAgfQogIApAQCAtNzA1OCw3ICs3MDE0 LDcgQEAgaW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICAKICAgIHJldHVybiAwOwogIH0K LUBAIC0xNzQ2LDcgKzE3NjIsNiBAQCBzdGF0aWMgaW50CitAQCAtMTc0NSw3ICsxNzYxLDYgQEAg c3RhdGljIGludAogIHBwY19saW51eF9pbnNlcnRfbWFza193YXRjaHBvaW50IChzdHJ1Y3QgdGFy Z2V0X29wcyAqb3BzLCBDT1JFX0FERFIgYWRkciwKICAJCQkJICBDT1JFX0FERFIgbWFzaywgaW50 IHJ3KQogIHsKQEAgLTcwNjYsNyArNzAyMiw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAw NjQ0CiAgICBzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgcDsKICAKICAgIGdkYl9hc3NlcnQgKGhh dmVfcHRyYWNlX2Jvb2tlX2ludGVyZmFjZSAoKSk7Ci1AQCAtMTc1OSw4ICsxNzc0LDcgQEAgcHBj X2xpbnV4X2luc2VydF9tYXNrX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsIENP UkVfQUREUiBhZGRyLAorQEAgLTE3NTgsOCArMTc3Myw3IEBAIHBwY19saW51eF9pbnNlcnRfbWFz a193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLCBDT1JFX0FERFIgYWRkciwKICAg IHAuYWRkcjIgPSBtYXNrOwogICAgcC5jb25kaXRpb25fdmFsdWUgPSAwOwogIApAQCAtNzA3Niw3 ICs3MDMyLDcgQEAgaW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICAKICAgIHJldHVybiAw OwogIH0KLUBAIC0xNzc0LDcgKzE3ODgsNiBAQCBzdGF0aWMgaW50CitAQCAtMTc3Myw3ICsxNzg3 LDYgQEAgc3RhdGljIGludAogIHBwY19saW51eF9yZW1vdmVfbWFza193YXRjaHBvaW50IChzdHJ1 Y3QgdGFyZ2V0X29wcyAqb3BzLCBDT1JFX0FERFIgYWRkciwKICAJCQkJICBDT1JFX0FERFIgbWFz aywgaW50IHJ3KQogIHsKQEAgLTcwODQsNyArNzA0MCw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAw YzkgMTAwNjQ0CiAgICBzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgcDsKICAKICAgIGdkYl9hc3Nl cnQgKGhhdmVfcHRyYWNlX2Jvb2tlX2ludGVyZmFjZSAoKSk7Ci1AQCAtMTc4Nyw4ICsxODAwLDcg QEAgcHBjX2xpbnV4X3JlbW92ZV9tYXNrX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpv cHMsIENPUkVfQUREUiBhZGRyLAorQEAgLTE3ODYsOCArMTc5OSw3IEBAIHBwY19saW51eF9yZW1v dmVfbWFza193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLCBDT1JFX0FERFIgYWRk ciwKICAgIHAuYWRkcjIgPSBtYXNrOwogICAgcC5jb25kaXRpb25fdmFsdWUgPSAwOwogIApAQCAt NzA5NCw3ICs3MDUwLDcgQEAgaW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICAKICAgIHJl dHVybiAwOwogIH0KLUBAIC0xNzk4LDEwICsxODEwLDE2IEBAIHN0YXRpYyBpbnQKK0BAIC0xNzk3 LDEwICsxODA5LDE2IEBAIHN0YXRpYyBpbnQKICBjYW5fdXNlX3dhdGNocG9pbnRfY29uZF9hY2Nl bCAodm9pZCkKICB7CiAgICBzdHJ1Y3QgdGhyZWFkX3BvaW50cyAqcDsKQEAgLTcxMTIsNyArNzA2 OCw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgICBpZiAoIWhhdmVfcHRyYWNl X2Jvb2tlX2ludGVyZmFjZSAoKSB8fCBjbnQgPT0gMCkKICAgICAgcmV0dXJuIDA7CiAgCi1AQCAt MjAwMCw2ICsyMDE4LDIyIEBAIHBwY19saW51eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRp b24gKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCitAQCAtMTk5OSw2ICsyMDE3LDIy IEBAIHBwY19saW51eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBh ZGRyLCBpbnQgbGVuLCBpbnQgcncsCiAgCSAgJiYgY2hlY2tfY29uZGl0aW9uIChhZGRyLCBjb25k LCAmZGF0YV92YWx1ZSwgJmxlbikpOwogIH0KICAKQEAgLTcxMzUsNyArNzA5MSw3IEBAIGluZGV4 IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgLyogU2V0IHVwIFAgd2l0aCB0aGUgcGFyYW1ldGVy cyBuZWNlc3NhcnkgdG8gcmVxdWVzdCBhIHdhdGNocG9pbnQgY292ZXJpbmcKICAgICBMRU4gYnl0 ZXMgc3RhcnRpbmcgYXQgQUREUiBhbmQgaWYgcG9zc2libGUgd2l0aCBjb25kaXRpb24gZXhwcmVz c2lvbiBDT05ECiAgICAgZXZhbHVhdGVkIGJ5IGhhcmR3YXJlLiAgSU5TRVJUIHRlbGxzIGlmIHdl IGFyZSBjcmVhdGluZyBhIHJlcXVlc3QgZm9yCi1AQCAtMjA1NSw3ICsyMDg5LDYgQEAgc3RhdGlj IGludAorQEAgLTIwNTQsNyArMjA4OCw2IEBAIHN0YXRpYyBpbnQKICBwcGNfbGludXhfaW5zZXJ0 X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCiAgCQkJICAgICBz dHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7CkBAIC03MTQzLDcgKzcwOTksNyBAQCBpbmRleCBj YzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAgaW50IHJldCA9IC0xOwogIAogICAgaWYgKGhhdmVf cHRyYWNlX2Jvb2tlX2ludGVyZmFjZSAoKSkKLUBAIC0yMDY0LDggKzIwOTcsNyBAQCBwcGNfbGlu dXhfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCitA QCAtMjA2Myw4ICsyMDk2LDcgQEAgcHBjX2xpbnV4X2luc2VydF93YXRjaHBvaW50IChDT1JFX0FE RFIgYWRkciwgaW50IGxlbiwgaW50IHJ3LAogIAogICAgICAgIGNyZWF0ZV93YXRjaHBvaW50X3Jl cXVlc3QgKCZwLCBhZGRyLCBsZW4sIHJ3LCBjb25kLCAxKTsKICAKQEAgLTcxNTMsNyArNzEwOSw3 IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgCiAgICAgICAgcmV0ID0gMDsKICAg ICAgfQotQEAgLTIxMDgsMTIgKzIxNDAsOCBAQCBwcGNfbGludXhfaW5zZXJ0X3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCitAQCAtMjEwNywxMiArMjEzOSw4IEBA IHBwY19saW51eF9pbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sIGlu dCBydywKICAKICAgICAgICBzYXZlZF9kYWJyX3ZhbHVlID0gZGFicl92YWx1ZTsKICAKQEAgLTcx NjcsNyArNzEyMyw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgICAgIH0KICAK ICAgIHJldHVybiByZXQ7Ci1AQCAtMjEyMyw3ICsyMTUxLDYgQEAgc3RhdGljIGludAorQEAgLTIx MjIsNyArMjE1MCw2IEBAIHN0YXRpYyBpbnQKICBwcGNfbGludXhfcmVtb3ZlX3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCiAgCQkJICAgICBzdHJ1Y3QgZXhwcmVz c2lvbiAqY29uZCkKICB7CkBAIC03MTc1LDcgKzcxMzEsNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkw MGM5IDEwMDY0NAogICAgaW50IHJldCA9IC0xOwogIAogICAgaWYgKGhhdmVfcHRyYWNlX2Jvb2tl X2ludGVyZmFjZSAoKSkKLUBAIC0yMTMyLDIwICsyMTU5LDE2IEBAIHBwY19saW51eF9yZW1vdmVf d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sIGludCBydywKK0BAIC0yMTMxLDIw ICsyMTU4LDE2IEBAIHBwY19saW51eF9yZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIs IGludCBsZW4sIGludCBydywKICAKICAgICAgICBjcmVhdGVfd2F0Y2hwb2ludF9yZXF1ZXN0ICgm cCwgYWRkciwgbGVuLCBydywgY29uZCwgMCk7CiAgCkBAIC03MTk4LDcgKzcxNTQsNyBAQCBpbmRl eCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAgICB9CiAgCiAgICByZXR1cm4gcmV0OwotQEAg LTIxNzIsNyArMjE5NSw3IEBAIHBwY19saW51eF9uZXdfdGhyZWFkIChzdHJ1Y3QgbHdwX2luZm8g KmxwKQorQEAgLTIxNzEsNyArMjE5NCw3IEBAIHBwY19saW51eF9uZXdfdGhyZWFkIChzdHJ1Y3Qg bHdwX2luZm8gKmxwKQogICAgICAgIC8qIENvcHkgdGhhdCB0aHJlYWQncyBicmVha3BvaW50cyBh bmQgd2F0Y2hwb2ludHMgdG8gdGhlIG5ldyB0aHJlYWQuICAqLwogICAgICAgIGZvciAoaSA9IDA7 IGkgPCBtYXhfc2xvdHNfbnVtYmVyOyBpKyspCiAgCWlmIChod19icmVha3NbaV0uaHdfYnJlYWsp CkBAIC03MjA3LDcgKzcxNjMsNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAg ICB9CiAgICBlbHNlCiAgICAgIHB0cmFjZSAoUFRSQUNFX1NFVF9ERUJVR1JFRywgdGlkLCAwLCBz YXZlZF9kYWJyX3ZhbHVlKTsKLUBAIC0yMjMwLDcgKzIyNTMsMTQgQEAgcHBjX2xpbnV4X3N0b3Bw ZWRfZGF0YV9hZGRyZXNzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LCBDT1JFX0FERFIgKmFk ZHJfcCkKK0BAIC0yMjI5LDcgKzIyNTIsMTQgQEAgcHBjX2xpbnV4X3N0b3BwZWRfZGF0YV9hZGRy ZXNzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LCBDT1JFX0FERFIgKmFkZHJfcCkKICAgICAg ICAvKiBUaGUgaW5kZXggKG9yIHNsb3QpIG9mIHRoZSAqcG9pbnQgaXMgcGFzc2VkIGluIHRoZSBz aV9lcnJubyBmaWVsZC4gICovCiAgICAgICAgaW50IHNsb3QgPSBzaWdpbmZvX3AtPnNpX2Vycm5v OwogIApAQCAtNzIyNCwxMCArNzE4MCwxMCBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0 NAogICAgICAgIC8qIEZpbmQgb3V0IGlmIHRoaXMgKnBvaW50IGlzIGEgaGFyZHdhcmUgYnJlYWtw b2ludC4KICAJIElmIHNvLCB3ZSBzaG91bGQgcmV0dXJuIDAuICAqLwogZGlmZiAtLWdpdCBhL2dk Yi9wcGMtbGludXgtdGRlcC5jIGIvZ2RiL3BwYy1saW51eC10ZGVwLmMKLWluZGV4IDA3ZGQ5OTAu LjFlOGU2ZDYgMTAwNjQ0CitpbmRleCBiNjQ3MGZlLi5mODcxMzA5IDEwMDY0NAogLS0tIGEvZ2Ri L3BwYy1saW51eC10ZGVwLmMKICsrKyBiL2dkYi9wcGMtbGludXgtdGRlcC5jCi1AQCAtNjYsNiAr NjYsMTQgQEAKK0BAIC02NSw2ICs2NSwxNCBAQAogICNpbmNsdWRlICJmZWF0dXJlcy9yczYwMDAv cG93ZXJwYy1pc2EyMDUtdnN4NjRsLmMiCiAgI2luY2x1ZGUgImZlYXR1cmVzL3JzNjAwMC9wb3dl cnBjLWU1MDBsLmMiCiAgCkBAIC03MjQyLDcgKzcxOTgsNyBAQCBpbmRleCAwN2RkOTkwLi4xZThl NmQ2IDEwMDY0NAogIC8qIFRoZSBzeXNjYWxsJ3MgWE1MIGZpbGVuYW1lIGZvciBQUEMgYW5kIFBQ QzY0LiAgKi8KICAjZGVmaW5lIFhNTF9TWVNDQUxMX0ZJTEVOQU1FX1BQQyAic3lzY2FsbHMvcHBj LWxpbnV4LnhtbCIKICAjZGVmaW5lIFhNTF9TWVNDQUxMX0ZJTEVOQU1FX1BQQzY0ICJzeXNjYWxs cy9wcGM2NC1saW51eC54bWwiCi1AQCAtMTE5Myw2ICsxMjAxLDY1IEBAIHBwY19saW51eF9jb3Jl X3JlYWRfZGVzY3JpcHRpb24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTExOTIsNiAr MTIwMCw2NSBAQCBwcGNfbGludXhfY29yZV9yZWFkX2Rlc2NyaXB0aW9uIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKICAgICAgfQogIH0KICAKQEAgLTczMDgsNyArNzI2NCw3IEBAIGluZGV4IDA3 ZGQ5OTAuLjFlOGU2ZDYgMTAwNjQ0CiAgCiAgLyogQ2VsbC9CLkUuIGFjdGl2ZSBTUEUgY29udGV4 dCB0cmFja2luZyBzdXBwb3J0LiAgKi8KICAKLUBAIC0xNTEwLDYgKzE1NzcsMTUgQEAgcHBjX2xp bnV4X2luaXRfYWJpIChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sCitAQCAtMTUwOSw2ICsxNTc2 LDE1IEBAIHBwY19saW51eF9pbml0X2FiaSAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLAogICAg LyogR2V0IHRoZSBzeXNjYWxsIG51bWJlciBmcm9tIHRoZSBhcmNoJ3MgcmVnaXN0ZXIuICAqLwog ICAgc2V0X2dkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyIChnZGJhcmNoLCBwcGNfbGludXhfZ2V0 X3N5c2NhbGxfbnVtYmVyKTsKICAKQEAgLTczMjUsMTAgKzcyODEsMTAgQEAgaW5kZXggMDdkZDk5 MC4uMWU4ZTZkNiAxMDA2NDQKICAgICAgewogICAgICAgIC8qIFVudGlsIE5vdmVtYmVyIDIwMDEs IGdjYyBkaWQgbm90IGNvbXBseSB3aXRoIHRoZSAzMiBiaXQgU3lzVgogZGlmZiAtLWdpdCBhL2dk Yi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMKLWluZGV4IDVhNTIyZjQuLjM2YjkzMmQgMTAw NjQ0CitpbmRleCBiZWU4YTg1Li4wMGYzMzJkIDEwMDY0NAogLS0tIGEvZ2RiL3ByaW50Y21kLmMK ICsrKyBiL2dkYi9wcmludGNtZC5jCi1AQCAtNTEsNiArNTEsNyBAQAorQEAgLTQ5LDYgKzQ5LDcg QEAKICAjaW5jbHVkZSAiY2hhcnNldC5oIgogICNpbmNsdWRlICJhcmNoLXV0aWxzLmgiCiAgI2lu Y2x1ZGUgImNsaS9jbGktdXRpbHMuaCIKQEAgLTczMzYsNyArNzI5Miw3IEBAIGluZGV4IDVhNTIy ZjQuLjM2YjkzMmQgMTAwNjQ0CiAgCiAgI2lmZGVmIFRVSQogICNpbmNsdWRlICJ0dWkvdHVpLmgi CQkvKiBGb3IgdHVpX2FjdGl2ZSBldCBhbC4gICAqLwotQEAgLTk3Myw2ICs5NzQsMTEgQEAgcHJp bnRfY29tbWFuZF8xIChjaGFyICpleHAsIGludCBpbnNwZWN0LCBpbnQgdm9pZHByaW50KQorQEAg LTk3MSw2ICs5NzIsMTEgQEAgcHJpbnRfY29tbWFuZF8xIChjaGFyICpleHAsIGludCBpbnNwZWN0 LCBpbnQgdm9pZHByaW50KQogICAgZWxzZQogICAgICB2YWwgPSBhY2Nlc3NfdmFsdWVfaGlzdG9y eSAoMCk7CiAgCkBAIC03MzQ4LDcgKzczMDQsNyBAQCBpbmRleCA1YTUyMmY0Li4zNmI5MzJkIDEw MDY0NAogICAgaWYgKHZvaWRwcmludCB8fCAodmFsICYmIHZhbHVlX3R5cGUgKHZhbCkgJiYKICAJ CSAgICBUWVBFX0NPREUgKHZhbHVlX3R5cGUgKHZhbCkpICE9IFRZUEVfQ09ERV9WT0lEKSkKICAg ICAgewotQEAgLTEwNjEsNiArMTA2Nyw5IEBAIG91dHB1dF9jb21tYW5kIChjaGFyICpleHAsIGlu dCBmcm9tX3R0eSkKK0BAIC0xMDU5LDYgKzEwNjUsOSBAQCBvdXRwdXRfY29tbWFuZCAoY2hhciAq ZXhwLCBpbnQgZnJvbV90dHkpCiAgCiAgICB2YWwgPSBldmFsdWF0ZV9leHByZXNzaW9uIChleHBy KTsKICAKQEAgLTczNTgsNyArNzMxNCw3IEBAIGluZGV4IDVhNTIyZjQuLjM2YjkzMmQgMTAwNjQ0 CiAgICBhbm5vdGF0ZV92YWx1ZV9iZWdpbiAodmFsdWVfdHlwZSAodmFsKSk7CiAgCiAgICBnZXRf Zm9ybWF0dGVkX3ByaW50X29wdGlvbnMgKCZvcHRzLCBmb3JtYXQpOwotQEAgLTE0NzQsNiArMTQ4 MywyNCBAQCB4X2NvbW1hbmQgKGNoYXIgKmV4cCwgaW50IGZyb21fdHR5KQorQEAgLTE0NzIsNiAr MTQ4MSwyNCBAQCB4X2NvbW1hbmQgKGNoYXIgKmV4cCwgaW50IGZyb21fdHR5KQogIAlzZXRfaW50 ZXJuYWx2YXIgKGxvb2t1cF9pbnRlcm5hbHZhciAoIl9fIiksIGxhc3RfZXhhbWluZV92YWx1ZSk7 CiAgICAgIH0KICB9CkBAIC03MzgzLDcgKzczMzksNyBAQCBpbmRleCA1YTUyMmY0Li4zNmI5MzJk IDEwMDY0NAogIAwKICAKICAvKiBBZGQgYW4gZXhwcmVzc2lvbiB0byB0aGUgYXV0by1kaXNwbGF5 IGNoYWluLgotQEAgLTE5NzMsNiArMjAwMCwxMCBAQCBwcmludF92YXJpYWJsZV9hbmRfdmFsdWUg KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzeW1ib2wgKnZhciwKK0BAIC0xOTcxLDYgKzE5OTgs MTAgQEAgcHJpbnRfdmFyaWFibGVfYW5kX3ZhbHVlIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qg c3ltYm9sICp2YXIsCiAgICAgICAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgb3B0czsKICAK ICAgICAgICB2YWwgPSByZWFkX3Zhcl92YWx1ZSAodmFyLCBmcmFtZSk7CkBAIC03Mzk0LDcgKzcz NTAsNyBAQCBpbmRleCA1YTUyMmY0Li4zNmI5MzJkIDEwMDY0NAogICAgICAgIGdldF91c2VyX3By aW50X29wdGlvbnMgKCZvcHRzKTsKICAgICAgICBvcHRzLmRlcmVmX3JlZiA9IDE7CiAgICAgICAg Y29tbW9uX3ZhbF9wcmludCAodmFsLCBzdHJlYW0sIGluZGVudCwgJm9wdHMsIGN1cnJlbnRfbGFu Z3VhZ2UpOwotQEAgLTI4ODYsNCArMjkxNyw4IEBAIFNob3cgcHJpbnRpbmcgb2Ygc291cmNlIGZp bGVuYW1lIGFuZCBsaW5lIG51bWJlciB3aXRoIDxzeW1ib2w+LiIpLCBOVUxMLAorQEAgLTI4ODQs NCArMjkxNSw4IEBAIFNob3cgcHJpbnRpbmcgb2Ygc291cmNlIGZpbGVuYW1lIGFuZCBsaW5lIG51 bWJlciB3aXRoIDxzeW1ib2w+LiIpLCBOVUxMLAogICAgYWRkX2NvbSAoImV2YWwiLCBub19jbGFz cywgZXZhbF9jb21tYW5kLCBfKCJcCiAgQ29udmVydCBcInByaW50ZiBmb3JtYXQgc3RyaW5nXCIs IGFyZzEsIGFyZzIsIGFyZzMsIC4uLiwgYXJnbiB0b1xuXAogIGEgY29tbWFuZCBsaW5lLCBhbmQg Y2FsbCBpdC4iKSk7CkBAIC04MTY3LDcgKzgxMjMsNyBAQCBpbmRleCAwMDAwMDAwLi5kZWJiM2Ji CiArCiArSW5TY29wZSAoKQogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHktdHlwZS5jIGIvZ2Ri L3B5dGhvbi9weS10eXBlLmMKLWluZGV4IDUwZjliNzIuLjc1NGQ0NTEgMTAwNjQ0CitpbmRleCBk YWRiMDM3Li44NjRkYTk5IDEwMDY0NAogLS0tIGEvZ2RiL3B5dGhvbi9weS10eXBlLmMKICsrKyBi L2dkYi9weXRob24vcHktdHlwZS5jCiBAQCAtMzAsNiArMzAsOCBAQApAQCAtODM2NCw3ICs4MzIw LDcgQEAgaW5kZXggNTBmOWI3Mi4uNzU0ZDQ1MSAxMDA2NDQKICAKICAMCiBkaWZmIC0tZ2l0IGEv Z2RiL3B5dGhvbi9weS12YWx1ZS5jIGIvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCi1pbmRleCAwNGUz NTVhLi5hN2Q1OTJhIDEwMDY0NAoraW5kZXggNzYwMzYwZS4uZDkzNWY1NCAxMDA2NDQKIC0tLSBh L2dkYi9weXRob24vcHktdmFsdWUuYwogKysrIGIvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCiBAQCAt MjgsNiArMjgsNyBAQApAQCAtODM3NSw3ICs4MzMxLDcgQEAgaW5kZXggMDRlMzU1YS4uYTdkNTky YSAxMDA2NDQKICAKICAjaWZkZWYgSEFWRV9QWVRIT04KICAKLUBAIC0xMjgxLDYgKzEyODIsMTkg QEAgZ2RicHlfaXNfdmFsdWVfb2JqZWN0IChQeU9iamVjdCAqb2JqKQorQEAgLTEzMzUsNiArMTMz NiwxOSBAQCBnZGJweV9pc192YWx1ZV9vYmplY3QgKFB5T2JqZWN0ICpvYmopCiAgICByZXR1cm4g UHlPYmplY3RfVHlwZUNoZWNrIChvYmosICZ2YWx1ZV9vYmplY3RfdHlwZSk7CiAgfQogIApAQCAt ODM5NSw3ICs4MzUxLDcgQEAgaW5kZXggMDRlMzU1YS4uYTdkNTkyYSAxMDA2NDQKICB2b2lkCiAg Z2RicHlfaW5pdGlhbGl6ZV92YWx1ZXMgKHZvaWQpCiAgewotQEAgLTEyOTEsNiArMTMwNSwxMCBA QCBnZGJweV9pbml0aWFsaXplX3ZhbHVlcyAodm9pZCkKK0BAIC0xMzQ1LDYgKzEzNTksMTAgQEAg Z2RicHlfaW5pdGlhbGl6ZV92YWx1ZXMgKHZvaWQpCiAgICBQeU1vZHVsZV9BZGRPYmplY3QgKGdk Yl9tb2R1bGUsICJWYWx1ZSIsIChQeU9iamVjdCAqKSAmdmFsdWVfb2JqZWN0X3R5cGUpOwogIAog ICAgdmFsdWVzX2luX3B5dGhvbiA9IE5VTEw7CkBAIC04NDA3LDcgKzgzNjMsNyBAQCBpbmRleCAw NGUzNTVhLi5hN2Q1OTJhIDEwMDY0NAogIAogIAwKIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5 dGhvbi5jIGIvZ2RiL3B5dGhvbi9weXRob24uYwotaW5kZXggMTNhYzE1ZS4uMGRiNDFlZSAxMDA2 NDQKK2luZGV4IDVhMGQ3NzYuLmFmMDFkZmQgMTAwNjQ0CiAtLS0gYS9nZGIvcHl0aG9uL3B5dGhv bi5jCiArKysgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCiBAQCAtNjYsMTAgKzY2LDEzIEBAIHN0YXRp YyBjb25zdCBjaGFyICpnZGJweV9zaG91bGRfcHJpbnRfc3RhY2sgPSBweXRob25fZXhjcF9tZXNz YWdlOwpAQCAtODQ3OCw3ICs4NDM0LDcgQEAgaW5kZXggMTNhYzE1ZS4uMGRiNDFlZSAxMDA2NDQK ICAKICBzdGF0aWMgUHlPYmplY3QgKgogIGdkYnB5X2dldF9jdXJyZW50X3Byb2dzcGFjZSAoUHlP YmplY3QgKnVudXNlZDEsIFB5T2JqZWN0ICp1bnVzZWQyKQotQEAgLTEzODMsNiArMTQzMyw4IEBA IHN0YXRpYyBQeU1ldGhvZERlZiBHZGJNZXRob2RzW10gPQorQEAgLTEzODYsNiArMTQzNiw4IEBA IHN0YXRpYyBQeU1ldGhvZERlZiBHZGJNZXRob2RzW10gPQogICAgICAiR2V0IGEgdmFsdWUgZnJv bSBoaXN0b3J5IiB9LAogICAgeyAiZXhlY3V0ZSIsIChQeUNGdW5jdGlvbikgZXhlY3V0ZV9nZGJf Y29tbWFuZCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgIkV4ZWN1dGUgYSBn ZGIgY29tbWFuZCIgfSwKQEAgLTg0ODgsNyArODQ0NCw3IEBAIGluZGV4IDEzYWMxNWUuLjBkYjQx ZWUgMTAwNjQ0CiAgICAgICJSZXR1cm4gYSBnZGIgcGFyYW1ldGVyJ3MgdmFsdWUiIH0sCiAgCiBk aWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uaCBiL2dkYi9weXRob24vcHl0aG9uLmgKLWlu ZGV4IGFlNTVjYzIuLjg4MDg4NjYgMTAwNjQ0CitpbmRleCA5ZTQ2MWY3Li41N2IyMWRhIDEwMDY0 NAogLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uaAogKysrIGIvZ2RiL3B5dGhvbi9weXRob24uaAog QEAgLTMyLDYgKzMyLDggQEAgdm9pZCBldmFsX3B5dGhvbl9mcm9tX2NvbnRyb2xfY29tbWFuZCAo c3RydWN0IGNvbW1hbmRfbGluZSAqKTsKQEAgLTg1MDEsMTAgKzg0NTcsMTAgQEAgaW5kZXggYWU1 NWNjMi4uODgwODg2NiAxMDA2NDQKICAJCQkgICAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JF X0FERFIgYWRkcmVzcywKICAJCQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKIGRpZmYgLS1naXQgYS9nZGIvcmVtb3RlLmMgYi9nZGIvcmVtb3RlLmMKLWluZGV4IDli ZmViZDIuLjQ0YWVhYWUgMTAwNjQ0CitpbmRleCBmMzQ4NTM2Li5lMjBmNmJmIDEwMDY0NAogLS0t IGEvZ2RiL3JlbW90ZS5jCiArKysgYi9nZGIvcmVtb3RlLmMKLUBAIC05ODg2LDcgKzk4ODYsNyBA QCByZW1vdGVfZG93bmxvYWRfdHJhY2Vwb2ludCAoc3RydWN0IGJwX2xvY2F0aW9uICpsb2MpCitA QCAtOTk0OCw3ICs5OTQ4LDcgQEAgcmVtb3RlX2Rvd25sb2FkX3RyYWNlcG9pbnQgKHN0cnVjdCBi cF9sb2NhdGlvbiAqbG9jKQogICAgY2hhciAqKnN0ZXBwaW5nX2FjdGlvbnM7CiAgICBpbnQgbmR4 OwogICAgc3RydWN0IGNsZWFudXAgKm9sZF9jaGFpbiA9IE5VTEw7CkBAIC04NTE0LDcgKzg0NzAs NyBAQCBpbmRleCA5YmZlYmQyLi40NGFlYWFlIDEwMDY0NAogICAgY2hhciAqcGt0OwogICAgc3Ry dWN0IGJyZWFrcG9pbnQgKmIgPSBsb2MtPm93bmVyOwogZGlmZiAtLWdpdCBhL2dkYi9zMzkwLW5h dC5jIGIvZ2RiL3MzOTAtbmF0LmMKLWluZGV4IDYzODE2NzUuLjBjMmVhMjQgMTAwNjQ0CitpbmRl eCAyNzU1ZTU4Li44ZGYzZmQxIDEwMDY0NAogLS0tIGEvZ2RiL3MzOTAtbmF0LmMKICsrKyBiL2dk Yi9zMzkwLW5hdC5jCiBAQCAtNTE1LDYgKzUxNSwxNyBAQCBzMzkwX2ZpeF93YXRjaF9wb2ludHMg KHN0cnVjdCBsd3BfaW5mbyAqbHApCkBAIC04NTU4LDEwICs4NTE0LDEwIEBAIGluZGV4IDYzODE2 NzUuLjBjMmVhMjQgMTAwNjQ0CiAgfQogIAogZGlmZiAtLWdpdCBhL2dkYi9zMzkwLXRkZXAuYyBi L2dkYi9zMzkwLXRkZXAuYwotaW5kZXggY2QwZWY5Yy4uODU4MzA1MSAxMDA2NDQKK2luZGV4IGFj MGM1MjYuLmRkMGU0NzcgMTAwNjQ0CiAtLS0gYS9nZGIvczM5MC10ZGVwLmMKICsrKyBiL2dkYi9z MzkwLXRkZXAuYwotQEAgLTU2LDYgKzU2LDEyIEBACitAQCAtNTUsNiArNTUsMTIgQEAKICAjaW5j bHVkZSAiZmVhdHVyZXMvczM5MHgtbGludXg2NHYxLmMiCiAgI2luY2x1ZGUgImZlYXR1cmVzL3Mz OTB4LWxpbnV4NjR2Mi5jIgogIApAQCAtODU3NCw3ICs4NTMwLDcgQEAgaW5kZXggY2QwZWY5Yy4u ODU4MzA1MSAxMDA2NDQKICAKICAvKiBUaGUgdGRlcCBzdHJ1Y3R1cmUuICAqLwogIAotQEAgLTI5 NTQsNiArMjk2MCwxNSBAQCBzMzkwX2FkZHJlc3NfY2xhc3NfbmFtZV90b190eXBlX2ZsYWdzIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKK0BAIC0yOTUzLDYgKzI5NTksMTUgQEAgczM5MF9hZGRy ZXNzX2NsYXNzX25hbWVfdG9fdHlwZV9mbGFncyAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAg ICAgIHJldHVybiAwOwogIH0KICAKQEAgLTg1OTAsNyArODU0Niw3IEBAIGluZGV4IGNkMGVmOWMu Ljg1ODMwNTEgMTAwNjQ0CiAgLyogU2V0IHVwIGdkYmFyY2ggc3RydWN0LiAgKi8KICAKICBzdGF0 aWMgc3RydWN0IGdkYmFyY2ggKgotQEAgLTMyODQsNiArMzI5OSwxMiBAQCBzMzkwX2dkYmFyY2hf aW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaF9saXN0ICphcmNo ZXMpCitAQCAtMzI4Myw2ICszMjk4LDEyIEBAIHMzOTBfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2Ri YXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKICAKICAgIHNldF9n ZGJhcmNoX2dldF9zaWdpbmZvX3R5cGUgKGdkYmFyY2gsIGxpbnV4X2dldF9zaWdpbmZvX3R5cGUp OwogIApAQCAtODYwNCw3ICs4NTYwLDcgQEAgaW5kZXggY2QwZWY5Yy4uODU4MzA1MSAxMDA2NDQK ICB9CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL3NvbXJlYWQuYyBiL2dkYi9zb21yZWFkLmMKLWluZGV4 IDcwZmMzYTMuLmU1YzhjOWYgMTAwNjQ0CitpbmRleCBlNjIxY2JhLi4xOWExNWUyIDEwMDY0NAog LS0tIGEvZ2RiL3NvbXJlYWQuYwogKysrIGIvZ2RiL3NvbXJlYWQuYwogQEAgLTQyNyw2ICs0Mjcs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgc29tX3N5bV9mbnMgPQpAQCAtODYxNiwx MCArODU3MiwxMCBAQCBpbmRleCA3MGZjM2EzLi5lNWM4YzlmIDEwMDY0NAogIH07CiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL3N0YWNrLmMgYi9nZGIvc3RhY2suYwotaW5kZXggYzVjNTRkYi4uOWZjM2I3 NCAxMDA2NDQKK2luZGV4IGIxNWI1ZmMuLmIyZGFkMjkgMTAwNjQ0CiAtLS0gYS9nZGIvc3RhY2su YwogKysrIGIvZ2RiL3N0YWNrLmMKLUBAIC01MTEsNiArNTExLDEwIEBAIHByaW50X2ZyYW1lX2Fy Z3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKK0BAIC01 MDksNiArNTA5LDEwIEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0 cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgIHN0YiA9IHVpX291dF9zdHJlYW1fbmV3ICh1aW91 dCk7CiAgICBvbGRfY2hhaW4gPSBtYWtlX2NsZWFudXBfdWlfb3V0X3N0cmVhbV9kZWxldGUgKHN0 Yik7CiAgCkBAIC0xMDQ1OSwxMCArMTA0MTUsMTAgQEAgaW5kZXggMDAwMDAwMC4uOWI2ZGM3YQog KwogKyNlbmRpZiAvKiAhZGVmaW5lZCAoU1RBUF9QUk9CRV9IKSAqLwogZGlmZiAtLWdpdCBhL2dk Yi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCi1pbmRleCA5MTYwNWEyLi5jNWI0OTA2IDEwMDY0 NAoraW5kZXggNmI2NjRjZC4uNmNhNzk3ZCAxMDA2NDQKIC0tLSBhL2dkYi9zeW1maWxlLmgKICsr KyBiL2dkYi9zeW1maWxlLmgKLUBAIC0zMSw2ICszMSwxMSBAQCBzdHJ1Y3Qgb2JqZmlsZTsKK0BA IC0yOSw2ICsyOSwxMSBAQCBzdHJ1Y3Qgb2JqZmlsZTsKICBzdHJ1Y3Qgb2JqX3NlY3Rpb247CiAg c3RydWN0IG9ic3RhY2s7CiAgc3RydWN0IGJsb2NrOwpAQCAtMTA0NzQsNyArMTA0MzAsNyBAQCBp bmRleCA5MTYwNWEyLi5jNWI0OTA2IDEwMDY0NAogIAogIC8qIENvbXBhcmlzb24gZnVuY3Rpb24g Zm9yIHN5bWJvbCBsb29rIHVwcy4gICovCiAgCi1AQCAtMzAxLDYgKzMwNiw1MiBAQCBzdHJ1Y3Qg cXVpY2tfc3ltYm9sX2Z1bmN0aW9ucworQEAgLTI5OSw2ICszMDQsNTIgQEAgc3RydWN0IHF1aWNr X3N5bWJvbF9mdW5jdGlvbnMKICAJCQkJaW50IG5lZWRfZnVsbG5hbWUpOwogIH07CiAgCkBAIC0x MDUyNyw3ICsxMDQ4Myw3IEBAIGluZGV4IDkxNjA1YTIuLmM1YjQ5MDYgMTAwNjQ0CiAgLyogU3Ry dWN0dXJlIHRvIGtlZXAgdHJhY2sgb2Ygc3ltYm9sIHJlYWRpbmcgZnVuY3Rpb25zIGZvciB2YXJp b3VzCiAgICAgb2JqZWN0IGZpbGUgdHlwZXMuICAqLwogIAotQEAgLTM3MSw2ICs0MjIsMTAgQEAg c3RydWN0IHN5bV9mbnMKK0BAIC0zNjksNiArNDIwLDEwIEBAIHN0cnVjdCBzeW1fZm5zCiAgCiAg ICBiZmRfYnl0ZSAqKCpzeW1fcmVsb2NhdGUpIChzdHJ1Y3Qgb2JqZmlsZSAqLCBhc2VjdGlvbiAq c2VjdHAsIGJmZF9ieXRlICpidWYpOwogIApAQCAtMTA1MzksMTAgKzEwNDk1LDEwIEBAIGluZGV4 IDkxNjA1YTIuLmM1YjQ5MDYgMTAwNjQ0CiAgICAgICByZWFkZXIuICAqLwogICAgY29uc3Qgc3Ry dWN0IHF1aWNrX3N5bWJvbF9mdW5jdGlvbnMgKnFmOwogZGlmZiAtLWdpdCBhL2dkYi9zeW10YWIu YyBiL2dkYi9zeW10YWIuYwotaW5kZXggMWVhNDI1My4uZWE4M2Y3OCAxMDA2NDQKK2luZGV4IDE3 NDZkNjkuLjJhYmMxN2YgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltdGFiLmMKICsrKyBiL2dkYi9zeW10 YWIuYwotQEAgLTgzNCw2ICs4MzQsNyBAQCBpbml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGlu ZSAqc2FsKQorQEAgLTg2OSw2ICs4NjksNyBAQCBpbml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRf bGluZSAqc2FsKQogICAgc2FsLT5lbmQgPSAwOwogICAgc2FsLT5leHBsaWNpdF9wYyA9IDA7CiAg ICBzYWwtPmV4cGxpY2l0X2xpbmUgPSAwOwpAQCAtMTA1NTEsMTAgKzEwNTA3LDEwIEBAIGluZGV4 IDFlYTQyNTMuLmVhODNmNzggMTAwNjQ0CiAgDAogIAogZGlmZiAtLWdpdCBhL2dkYi9zeW10YWIu aCBiL2dkYi9zeW10YWIuaAotaW5kZXggYmJjN2YyYi4uOGU0MTUzOSAxMDA2NDQKK2luZGV4IDQ4 MzZkZDYuLjY2OGEyMmIgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltdGFiLmgKICsrKyBiL2dkYi9zeW10 YWIuaAotQEAgLTEwNTcsNiArMTA1NywxMCBAQCBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lCitAQCAt MTA1Niw2ICsxMDU2LDEwIEBAIHN0cnVjdCBzeW10YWJfYW5kX2xpbmUKICAgIENPUkVfQUREUiBl bmQ7CiAgICBpbnQgZXhwbGljaXRfcGM7CiAgICBpbnQgZXhwbGljaXRfbGluZTsKQEAgLTEwNTY2 LDEwICsxMDUyMiwxMCBAQCBpbmRleCBiYmM3ZjJiLi44ZTQxNTM5IDEwMDY0NAogIAogIGV4dGVy biB2b2lkIGluaXRfc2FsIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lICpzYWwpOwogZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXkuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAKLWluZGV4IGVmN2M4YjQuLmQ0NjcyNjUgMTAwNjQ0 CitpbmRleCA2Nzg2MzljLi40N2EyMjAyIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YWRhL3BhY2tlZF9hcnJheS5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRf YXJyYXkuZXhwCi1AQCAtNjQsNSArNjQsMTEgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgIiR0ZXN0IiAi JHRlc3QiIHsKK0BAIC02MCw1ICs2MCwxMSBAQCBnZGJfdGVzdF9tdWx0aXBsZSAiJHRlc3QiICIk dGVzdCIgewogICAgICAgICAgIyBhcmUuICBPYnNlcnZlZCB3aXRoIChGU0YgR05VIEFkYSA0LjUu MyAyMDExMDEyNCkuCiAgICAgICAgICB4ZmFpbCAkdGVzdAogICAgICB9CkBAIC0xMTc0Niw3ICsx MTcwMiw3IEBAIGluZGV4IDAwMDAwMDAuLmIwNTQxMWUKICsKICtnZGJfdGVzdCAicHR5cGUgYXJy YXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiBwdHlwZSBhcnJheSIKIGRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2FycmF5aWR4LmMKLWluZGV4IDZjMTU4YmYuLjczOWNlMzQgMTAwNjQ0CitpbmRl eCBhOTkxMzdlLi5jM2RjMmQ5IDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h cnJheWlkeC5jCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMKIEBAIC0x Nyw2ICsxNywxMyBAQApAQCAtMTE3NjQsMTAgKzExNzIwLDEwIEBAIGluZGV4IDZjMTU4YmYuLjcz OWNlMzQgMTAwNjQ0CiAgbWFpbiAodm9pZCkKICB7CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4 LmV4cAotaW5kZXggZDhlZTVjMC4uZGU0YmE3NSAxMDA2NDQKK2luZGV4IGNiYTAwMjQuLjBkYzBl NDYgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAogKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKLUBAIC01Nyw0ICs1NywxMiBA QCBnZGJfdGVzdCAicHJpbnQgYXJyYXkiIFwKK0BAIC01Myw0ICs1MywxMiBAQCBnZGJfdGVzdCAi cHJpbnQgYXJyYXkiIFwKICAgICAgICAgICAiXFx7XFxcWzBcXFxdID0gMSwgXFxcWzFcXFxdID0g MiwgXFxcWzJcXFxdID0gMywgXFxcWzNcXFxdID0gNFxcfSIgXAogICAgICAgICAgICJQcmludCBh cnJheSB3aXRoIGFycmF5LWluZGV4ZXMgb24iCiAgCkBAIC0xMTc4MiwxMCArMTE3MzgsMTAgQEAg aW5kZXggZDhlZTVjMC4uZGU0YmE3NSAxMDA2NDQKICsgICAgfQogK30KIGRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9kZWZhdWx0LmV4cAotaW5kZXggZTIzYWMyMS4uZjk5MjIxZiAxMDA2NDQKK2luZGV4IDk2Nzcz OTYuLjU1ZDAzYTkgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQu ZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCi1AQCAtNjExLDYg KzYxMSwxOSBAQCBnZGJfdGVzdF9saXN0X2V4YWN0ICJzaG93IGNvbnZlbmllbmNlIiAic2hvdyBj b252ZW5pZW5jZSIgXAorQEAgLTYxMCw2ICs2MTAsMTkgQEAgZ2RiX3Rlc3RfbGlzdF9leGFjdCAi c2hvdyBjb252ZW5pZW5jZSIgInNob3cgY29udmVuaWVuY2UiIFwKICAJeyRfc2RhdGEgPSB2b2lk fSBcCiAgCXskX3NpZ2luZm8gPSB2b2lkfSBcCiAgCXskX3RocmVhZCA9IDB9IFwKQEAgLTEyNTMy LDEwICsxMjQ4OCwxMCBAQCBpbmRleCAwMDAwMDAwLi41ZGE3Mzc4CiArZ2RiX3Rlc3QgInAgdGVt cDIiICIgPSAnMicgPHJlcGVhdHMgNzggdGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1wMiIKICtn ZGJfdGVzdCAicCB0ZW1wMyIgIiA9ICczJyA8cmVwZWF0cyA0OCB0aW1lcz4iICJzZWNvbmQ6IHBy aW50IHRlbXAzIgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhy b3cuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAKLWluZGV4IGNj OWZlODYuLjJmMTZhZjEgMTAwNjQ0CitpbmRleCA3ZDRhMGM1Li4yZGFmY2FiIDEwMDY0NAogLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAKICsrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCi1AQCAtNTgsNiArNTgsMTcgQEAgZ2RiX3Rl c3RfbXVsdGlwbGUgInByaW50IF9VbndpbmRfRGVidWdIb29rIiAiY2hlY2sgZm9yIHVud2luZGVy IGhvb2siIHsKK0BAIC01NCw2ICs1NCwxNyBAQCBnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgX1Vu d2luZF9EZWJ1Z0hvb2siICJjaGVjayBmb3IgdW53aW5kZXIgaG9vayIgewogICAgICB9CiAgfQog IGlmIHshJG9rfSB7CkBAIC0xMzgxMCwxMCArMTM3NjYsMTAgQEAgaW5kZXggMDAwMDAwMC4uNDc0 N2VhOQogKyAgd3JpdGUgKCosKikgYSAgICAgICAgICAgICAgICAgISBicmVhay1zdGF0aWMKICtl bmQKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAotaW5kZXggMzBhNzFkZC4uNGJiOGU3ZCAx MDA2NDQKK2luZGV4IDIxNzk4YmMuLjExMWY2OTIgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5nZGIvc2VsZnRlc3QuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRl c3QuZXhwCi1AQCAtOTIsNiArOTIsMTAgQEAgcHJvYyBkb19zdGVwc19hbmRfbmV4dHMge30gewor QEAgLTg4LDYgKzg4LDEwIEBAIHByb2MgZG9fc3RlcHNfYW5kX25leHRzIHt9IHsKICAJCXNldCBk ZXNjcmlwdGlvbiAic3RlcCBvdmVyIHR0eWFyZyBpbml0aWFsaXphdGlvbiIKICAJCXNldCBjb21t YW5kICJzdGVwIgogIAkgICAgfQpAQCAtMTQzNzQsMTAgKzE0MzMwLDEwIEBAIGluZGV4IDAwMDAw MDAuLjI5NTYwMmQKICsgIHdyaXRlbG4ocyk7IHsgc2V0IGJyZWFrcG9pbnQgMiBoZXJlIH0KICtl bmQuCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAKLWluZGV4IDFjYjU3M2UuLjM2 MDVlZTUgMTAwNjQ0CitpbmRleCA4M2ZmOGZlLi5iZGRiZjlmIDEwMDY0NAogLS0tIGEvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LWZyYW1lLmV4cAotQEAgLTc4LDggKzc4LDYgQEAgZ2RiX3Rlc3QgInB5dGhvbiBw cmludCBiZnJhbWUgPT0gZ2RiLm5ld2VzdF9mcmFtZSgpIiBUcnVlIFwKK0BAIC03NCw4ICs3NCw2 IEBAIGdkYl90ZXN0ICJweXRob24gcHJpbnQgYmZyYW1lID09IGdkYi5uZXdlc3RfZnJhbWUoKSIg VHJ1ZSBcCiAgCiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMCA9PSBmMSIg IiA9IEZhbHNlIiAidGVzdCBlcXVhbGl0eSBjb21wYXJpc29uIChmYWxzZSkiCiAgZ2RiX3Rlc3Qg InB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMCA9PSBmMCIgIiA9IFRydWUiICJ0ZXN0IGVxdWFs aXR5IGNvbXBhcmlzb24gKHRydWUpIgpAQCAtMTQzODYsMTcgKzE0MzQyLDE3IEBAIGluZGV4IDFj YjU3M2UuLjM2MDVlZTUgMTAwNjQ0CiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0n LCBmMC5pc192YWxpZCAoKSIgIiA9IFRydWUiICJ0ZXN0IEZyYW1lLmlzX3ZhbGlkIgogIGdkYl90 ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAubmFtZSAoKSIgIiA9IGYyIiAidGVzdCBG cmFtZS5uYW1lIgogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAudHlwZSAo KSA9PSBnZGIuTk9STUFMX0ZSQU1FIiAiID0gVHJ1ZSIgInRlc3QgRnJhbWUudHlwZSIKLUBAIC05 NCwzICs5Miw1IEBAIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAucmVhZF92 YXIgKCd2YXJpYWJsZV93aGljaF9zdXJlbHlfZG9lc250X2V4CitAQCAtOTAsMyArODgsNSBAQCBn ZGJfdGVzdCAicHl0aG9uIHByaW50ICdyZXN1bHQgPScsIGYwLnJlYWRfdmFyICgndmFyaWFibGVf d2hpY2hfc3VyZWx5X2RvZXNudF9leAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9 JywgZjAucmVhZF92YXIgKCdhJykiICIgPSAxIiAidGVzdCBGcmFtZS5yZWFkX3ZhciAtIHN1Y2Nl c3MiCiAgCiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBnZGIuc2VsZWN0ZWRf ZnJhbWUgKCkgPT0gZjEiICIgPSBUcnVlIiAidGVzdCBnZGIuc2VsZWN0ZWRfZnJhbWUiCiArCiAr Z2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMC5ibG9jayAoKSIgIjxnZGIuQmxv Y2sgb2JqZWN0IGF0IDB4XFtcWzp4ZGlnaXQ6XF1cXSs+IiAidGVzdCBGcmFtZS5ibG9jayIKIGRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAotaW5kZXggNTlkNzlhZS4uNzViN2Q3MiAx MDA2NDQKK2luZGV4IGM5ZDhjOTcuLjQzMjRkYjAgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktdmFsdWUuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktdmFsdWUuZXhwCi1AQCAtMzY0LDYgKzM2NCwxNSBAQCBwcm9jIHRlc3RfdmFsdWVfYWZ0ZXJf ZGVhdGgge30geworQEAgLTM2MCw2ICszNjAsMTUgQEAgcHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2Rl YXRoIHt9IHsKICAgICAgInByaW50IHZhbHVlJ3MgdHlwZSIKICB9CiAgCkBAIC0xNDQxMiw3ICsx NDM2OCw3IEBAIGluZGV4IDU5ZDc5YWUuLjc1YjdkNzIgMTAwNjQ0CiAgIyBSZWdyZXNzaW9uIHRl c3QgZm9yIGludmFsaWQgc3Vic2NyaXB0IG9wZXJhdGlvbnMuICBUaGUgYnVnIHdhcyB0aGF0CiAg IyB0aGUgdHlwZSBvZiB0aGUgdmFsdWUgd2FzIG5vdCBiZWluZyBjaGVja2VkIGJlZm9yZSBhbGxv d2luZyBhCiAgIyBzdWJzY3JpcHQgb3BlcmF0aW9uIHRvIHByb2NlZWQuCi1AQCAtNTAwLDYgKzUw OSw3IEBAIHRlc3RfdmFsdWVfaW5faW5mZXJpb3IKK0BAIC00OTYsNiArNTA1LDcgQEAgdGVzdF92 YWx1ZV9pbl9pbmZlcmlvcgogIHRlc3RfaW5mZXJpb3JfZnVuY3Rpb25fY2FsbAogIHRlc3RfbGF6 eV9zdHJpbmdzCiAgdGVzdF92YWx1ZV9hZnRlcl9kZWF0aApAQCAtMTUyODgsMTAgKzE1MjQ0LDEw IEBAIGluZGV4IDAwMDAwMDAuLmIwZjFkN2QKICsjIEZpbmlzaGVkIQogK2dkYl90ZXN0ICJ0Zmlu ZCBub25lIiAiLioiICIiCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBi L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKLWluZGV4IGZjN2UyMjMuLjNlYTVjZTAgMTAwNjQ0 CitpbmRleCAwMGZlNzFjLi41Y2E5NTYzIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIv Z2RiLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTE0MSw2ICsxNDEs MTEgQEAgcHJvYyBnZGJfdW5sb2FkIHt9IHsKK0BAIC0xMzksNiArMTM5LDExIEBAIHByb2MgZ2Ri X3VubG9hZCB7fSB7CiAgCSAgICBzZW5kX2dkYiAieVxuIgogIAkgICAgZXhwX2NvbnRpbnVlCiAg CX0KQEAgLTE1MzA0LDcgKzE1MjYwLDcgQEAgaW5kZXggZmM3ZTIyMy4uM2VhNWNlMCAxMDA2NDQK ICAJICAgIHNlbmRfZ2RiICJ5XG4iCiAgCSAgICBleHBfY29udGludWUKIGRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4 cAotaW5kZXggODkxZGEzNy4uMjM2YzVjYSAxMDA2NDQKK2luZGV4IGRkMThkMzcuLmY5NzM0ODUg MTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiArKysgYi9nZGIvdGVz dHN1aXRlL2xpYi9wYXNjYWwuZXhwCiBAQCAtMzcsNiArMzcsOSBAQCBwcm9jIHBhc2NhbF9pbml0 IHt9IHsKQEAgLTE1MzM5LDEwICsxNTI5NSwxMCBAQCBpbmRleCA4OTFkYTM3Li4yMzZjNWNhIDEw MDY0NAogICAgICBzZXQgcGFzY2FsX2luaXRfZG9uZSAxCiAgfSAgIAogZGlmZiAtLWdpdCBhL2dk Yi90aHJlYWQuYyBiL2dkYi90aHJlYWQuYwotaW5kZXggOGNjYTgzZC4uNTRhZGY3ZSAxMDA2NDQK K2luZGV4IDlhMjkzODMuLjFhNDliMDAgMTAwNjQ0CiAtLS0gYS9nZGIvdGhyZWFkLmMKICsrKyBi L2dkYi90aHJlYWQuYwotQEAgLTE0MzIsNyArMTQzMiw4IEBAIHVwZGF0ZV90aHJlYWRfbGlzdCAo dm9pZCkKK0BAIC0xNDMxLDcgKzE0MzEsOCBAQCB1cGRhdGVfdGhyZWFkX2xpc3QgKHZvaWQpCiAg ICAgbm8gdGhyZWFkIGlzIHNlbGVjdGVkLCBvciBubyB0aHJlYWRzIGV4aXN0LiAgKi8KICAKICBz dGF0aWMgc3RydWN0IHZhbHVlICoKQEAgLTE1MzUyLDcgKzE1MzA4LDcgQEAgaW5kZXggOGNjYTgz ZC4uNTRhZGY3ZSAxMDA2NDQKICB7CiAgICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwID0gZmluZF90 aHJlYWRfcHRpZCAoaW5mZXJpb3JfcHRpZCk7CiAgCi1AQCAtMTQ0Myw2ICsxNDQ0LDE1IEBAIHRo cmVhZF9pZF9tYWtlX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGludGVy bmFsdmFyICp2YXIpCitAQCAtMTQ0Miw2ICsxNDQzLDE1IEBAIHRocmVhZF9pZF9tYWtlX3ZhbHVl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGludGVybmFsdmFyICp2YXIpCiAgLyog Q29tbWFuZHMgd2l0aCBhIHByZWZpeCBvZiBgdGhyZWFkJy4gICovCiAgc3RydWN0IGNtZF9saXN0 X2VsZW1lbnQgKnRocmVhZF9jbWRfbGlzdCA9IE5VTEw7CiAgCkBAIC0xNTM2OCw3ICsxNTMyNCw3 IEBAIGluZGV4IDhjY2E4M2QuLjU0YWRmN2UgMTAwNjQ0CiAgdm9pZAogIF9pbml0aWFsaXplX3Ro cmVhZCAodm9pZCkKICB7Ci1AQCAtMTQ4OCw1ICsxNDk4LDUgQEAgU2hvdyBwcmludGluZyBvZiB0 aHJlYWQgZXZlbnRzIChzdWNoIGFzIHRocmVhZCBzdGFydCBhbmQgZXhpdCkuIiksIE5VTEwsCitA QCAtMTQ4Nyw1ICsxNDk3LDUgQEAgU2hvdyBwcmludGluZyBvZiB0aHJlYWQgZXZlbnRzIChzdWNo IGFzIHRocmVhZCBzdGFydCBhbmQgZXhpdCkuIiksIE5VTEwsCiAgICAgICAgICAgc2hvd19wcmlu dF90aHJlYWRfZXZlbnRzLAogICAgICAgICAgICZzZXRwcmludGxpc3QsICZzaG93cHJpbnRsaXN0 KTsKICAKQEAgLTE1Mzc2LDEwICsxNTMzMiwxMCBAQCBpbmRleCA4Y2NhODNkLi41NGFkZjdlIDEw MDY0NAogKyAgY3JlYXRlX2ludGVybmFsdmFyX3R5cGVfbGF6eSAoIl90aHJlYWQiLCAmdGhyZWFk X2Z1bmNzLCBOVUxMKTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3RvcC5jIGIvZ2RiL3RvcC5jCi1p bmRleCBjNTkzNzY5Li5hNGI3YjA5IDEwMDY0NAoraW5kZXggYzRlOTEzZC4uNWI3OTk4MyAxMDA2 NDQKIC0tLSBhL2dkYi90b3AuYwogKysrIGIvZ2RiL3RvcC5jCi1AQCAtMzUxLDYgKzM1MSw5IEBA IHByZXBhcmVfZXhlY3V0ZV9jb21tYW5kICh2b2lkKQorQEAgLTM0OSw2ICszNDksOSBAQCBwcmVw YXJlX2V4ZWN1dGVfY29tbWFuZCAodm9pZCkKICAKICAgIG1hcmsgPSB2YWx1ZV9tYXJrICgpOwog ICAgY2xlYW51cCA9IG1ha2VfY2xlYW51cF92YWx1ZV9mcmVlX3RvX21hcmsgKG1hcmspOwpAQCAt MTUzOTAsMTAgKzE1MzQ2LDEwIEBAIGluZGV4IGM1OTM3NjkuLmE0YjdiMDkgMTAwNjQ0CiAgICAv KiBXaXRoIG11bHRpcGxlIHRocmVhZHMgcnVubmluZyB3aGlsZSB0aGUgb25lIHdlJ3JlIGV4YW1p bmluZyBpcwogICAgICAgc3RvcHBlZCwgdGhlIGRjYWNoZSBjYW4gZ2V0IHN0YWxlIHdpdGhvdXQg dXMgYmVpbmcgYWJsZSB0byBkZXRlY3QKIGRpZmYgLS1naXQgYS9nZGIvdHJhY2Vwb2ludC5jIGIv Z2RiL3RyYWNlcG9pbnQuYwotaW5kZXggNzlhNjRhMy4uZGM3NDE2MiAxMDA2NDQKK2luZGV4IGVk ZTM3NDIuLmIyMGY3MzMgMTAwNjQ0CiAtLS0gYS9nZGIvdHJhY2Vwb2ludC5jCiArKysgYi9nZGIv dHJhY2Vwb2ludC5jCi1AQCAtNjg0LDcgKzY4NCw3IEBAIHZhbGlkYXRlX2FjdGlvbmxpbmUgKGNo YXIgKipsaW5lLCBzdHJ1Y3QgYnJlYWtwb2ludCAqYikKK0BAIC02ODMsNyArNjgzLDcgQEAgdmFs aWRhdGVfYWN0aW9ubGluZSAoY2hhciAqKmxpbmUsIHN0cnVjdCBicmVha3BvaW50ICpiKQogICAg c3RydWN0IGNsZWFudXAgKm9sZF9jaGFpbiA9IE5VTEw7CiAgICBjaGFyICpwLCAqdG1wX3A7CiAg ICBzdHJ1Y3QgYnBfbG9jYXRpb24gKmxvYzsKQEAgLTE1NDAyLDcgKzE1MzU4LDcgQEAgaW5kZXgg NzlhNjRhMy4uZGM3NDE2MiAxMDA2NDQKICAgIHN0cnVjdCB0cmFjZXBvaW50ICp0ID0gKHN0cnVj dCB0cmFjZXBvaW50ICopIGI7CiAgCiAgICAvKiBJZiBFT0YgaXMgdHlwZWQsICpsaW5lIGlzIE5V TEwuICAqLwotQEAgLTEzNTMsNyArMTM1Myw3IEBAIGVuY29kZV9hY3Rpb25zXzEgKHN0cnVjdCBj b21tYW5kX2xpbmUgKmFjdGlvbiwKK0BAIC0xMzUyLDcgKzEzNTIsNyBAQCBlbmNvZGVfYWN0aW9u c18xIChzdHJ1Y3QgY29tbWFuZF9saW5lICphY3Rpb24sCiAgICBpbnQgaTsKICAgIHN0cnVjdCB2 YWx1ZSAqdGVtcHZhbDsKICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjbWQ7CkBAIC0xNTQx MSw3ICsxNTM2Nyw3IEBAIGluZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgCiAgICBmb3Ig KDsgYWN0aW9uOyBhY3Rpb24gPSBhY3Rpb24tPm5leHQpCiAgICAgIHsKLUBAIC0xNzE3LDYgKzE3 MTcsNyBAQCBzdGFydF90cmFjaW5nIChjaGFyICpub3RlcykKK0BAIC0xNzE2LDYgKzE3MTYsNyBA QCBzdGFydF90cmFjaW5nIChjaGFyICpub3RlcykKICAgIGZvciAoaXggPSAwOyBWRUNfaXRlcmF0 ZSAoYnJlYWtwb2ludF9wLCB0cF92ZWMsIGl4LCBiKTsgaXgrKykKICAgICAgewogICAgICAgIHN0 cnVjdCB0cmFjZXBvaW50ICp0ID0gKHN0cnVjdCB0cmFjZXBvaW50ICopIGI7CkBAIC0xNTQxOSw3 ICsxNTM3NSw3IEBAIGluZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgCiAgICAgICAgaWYg KGItPmVuYWJsZV9zdGF0ZSA9PSBicF9lbmFibGVkKQogIAlhbnlfZW5hYmxlZCA9IDE7Ci1AQCAt MTc3OSw2ICsxNzgwLDkgQEAgc3RhcnRfdHJhY2luZyAoY2hhciAqbm90ZXMpCitAQCAtMTc3OCw2 ICsxNzc5LDkgQEAgc3RhcnRfdHJhY2luZyAoY2hhciAqbm90ZXMpCiAgCX0KICAKICAgICAgICB0 LT5udW1iZXJfb25fdGFyZ2V0ID0gYi0+bnVtYmVyOwpAQCAtMTU0MjksNyArMTUzODUsNyBAQCBp bmRleCA3OWE2NGEzLi5kYzc0MTYyIDEwMDY0NAogICAgICB9CiAgICBWRUNfZnJlZSAoYnJlYWtw b2ludF9wLCB0cF92ZWMpOwogIAotQEAgLTE4NTEsOSArMTg1NSwyOCBAQCB2b2lkCitAQCAtMTg1 MCw5ICsxODU0LDI4IEBAIHZvaWQKICBzdG9wX3RyYWNpbmcgKGNoYXIgKm5vdGUpCiAgewogICAg aW50IHJldDsKQEAgLTE1NDU4LDcgKzE1NDE0LDcgQEAgaW5kZXggNzlhNjRhMy4uZGM3NDE2MiAx MDA2NDQKICAgIGlmICghbm90ZSkKICAgICAgbm90ZSA9IHRyYWNlX3N0b3Bfbm90ZXM7CiAgICBy ZXQgPSB0YXJnZXRfc2V0X3RyYWNlX25vdGVzIChOVUxMLCBOVUxMLCBub3RlKTsKLUBAIC00OTI1 LDcgKzQ5NDgsOCBAQCBpbmZvX3N0YXRpY190cmFjZXBvaW50X21hcmtlcnNfY29tbWFuZCAoY2hh ciAqYXJnLCBpbnQgZnJvbV90dHkpCitAQCAtNDkyNCw3ICs0OTQ3LDggQEAgaW5mb19zdGF0aWNf dHJhY2Vwb2ludF9tYXJrZXJzX2NvbW1hbmQgKGNoYXIgKmFyZywgaW50IGZyb21fdHR5KQogICAg IGF2YWlsYWJsZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0xNTQ2OCw3ICsx NTQyNCw3IEBAIGluZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgewogICAgTE9OR0VTVCBz aXplOwogICAgZ2RiX2J5dGUgKmJ1ZjsKLUBAIC01MTA0LDYgKzUxMjgsMTUgQEAgdHJhY2VmcmFt ZV9hdmFpbGFibGVfbWVtb3J5IChWRUMobWVtX3JhbmdlX3MpICoqcmVzdWx0LAorQEAgLTUxMDMs NiArNTEyNywxNSBAQCB0cmFjZWZyYW1lX2F2YWlsYWJsZV9tZW1vcnkgKFZFQyhtZW1fcmFuZ2Vf cykgKipyZXN1bHQsCiAgICByZXR1cm4gMDsKICB9CiAgCkBAIC0xNTQ4NCw3ICsxNTQ0MCw3IEBA IGluZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgLyogbW9kdWxlIGluaXRpYWxpemF0aW9u ICovCiAgdm9pZAogIF9pbml0aWFsaXplX3RyYWNlcG9pbnQgKHZvaWQpCi1AQCAtNTExNCw3ICs1 MTQ3LDcgQEAgX2luaXRpYWxpemVfdHJhY2Vwb2ludCAodm9pZCkKK0BAIC01MTEzLDcgKzUxNDYs NyBAQCBfaW5pdGlhbGl6ZV90cmFjZXBvaW50ICh2b2lkKQogICAgICAgdmFsdWUgd2l0aCBhIHZv aWQgdHlwZWQgdmFsdWUsIGFuZCB3aGVuIHdlIGdldCBoZXJlLCBnZGJhcmNoCiAgICAgICBpc24n dCBpbml0aWFsaXplZCB5ZXQuICBBdCB0aGlzIHBvaW50LCB3ZSdyZSBxdWl0ZSBzdXJlIHRoZXJl CiAgICAgICBpc24ndCBhbm90aGVyIGNvbnZlbmllbmNlIHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5h bWUuICAqLwpAQCAtMTU0OTQsMTAgKzE1NDUwLDEwIEBAIGluZGV4IDc5YTY0YTMuLmRjNzQxNjIg MTAwNjQ0CiAgICB0cmFjZWZyYW1lX251bWJlciA9IC0xOwogICAgdHJhY2Vwb2ludF9udW1iZXIg PSAtMTsKIGRpZmYgLS1naXQgYS9nZGIvdHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKLWlu ZGV4IGNmNDE1OGQuLmYxNTc5NjIgMTAwNjQ0CitpbmRleCBkZTk2ZmQ1Li43NTQ4NWZmIDEwMDY0 NAogLS0tIGEvZ2RiL3R5cGVwcmludC5jCiArKysgYi9nZGIvdHlwZXByaW50LmMKLUBAIC0zNiw2 ICszNiw3IEBACitAQCAtMzUsNiArMzUsNyBAQAogICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCiAg I2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKICAjaW5jbHVkZSAidmFscHJpbnQuaCIKQEAgLTE1NTA1 LDcgKzE1NDYxLDcgQEAgaW5kZXggY2Y0MTU4ZC4uZjE1Nzk2MiAxMDA2NDQKICAjaW5jbHVkZSA8 ZXJybm8uaD4KICAKICBleHRlcm4gdm9pZCBfaW5pdGlhbGl6ZV90eXBlcHJpbnQgKHZvaWQpOwot QEAgLTc3LDYgKzc4LDkgQEAgdm9pZAorQEAgLTc2LDYgKzc3LDkgQEAgdm9pZAogIHR5cGVfcHJp bnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjaGFyICp2YXJzdHJpbmcsIHN0cnVjdCB1aV9maWxlICpz dHJlYW0sCiAgCSAgICBpbnQgc2hvdykKICB7CkBAIC0xNTUxNSw3ICsxNTQ3MSw3IEBAIGluZGV4 IGNmNDE1OGQuLmYxNTc5NjIgMTAwNjQ0CiAgICBMQV9QUklOVF9UWVBFICh0eXBlLCB2YXJzdHJp bmcsIHN0cmVhbSwgc2hvdywgMCk7CiAgfQogIAotQEAgLTExNSw3ICsxMTksOCBAQCB3aGF0aXNf ZXhwIChjaGFyICpleHAsIGludCBzaG93KQorQEAgLTExNCw3ICsxMTgsOCBAQCB3aGF0aXNfZXhw IChjaGFyICpleHAsIGludCBzaG93KQogIHsKICAgIHN0cnVjdCBleHByZXNzaW9uICpleHByOwog ICAgc3RydWN0IHZhbHVlICp2YWw7CkBAIC0xNTUyNSw3ICsxNTQ4MSw3IEBAIGluZGV4IGNmNDE1 OGQuLmYxNTc5NjIgMTAwNjQ0CiAgICBzdHJ1Y3QgdHlwZSAqcmVhbF90eXBlID0gTlVMTDsKICAg IHN0cnVjdCB0eXBlICp0eXBlOwogICAgaW50IGZ1bGwgPSAwOwotQEAgLTEyNiwxMiArMTMxLDEz IEBAIHdoYXRpc19leHAgKGNoYXIgKmV4cCwgaW50IHNob3cpCitAQCAtMTI1LDEyICsxMzAsMTMg QEAgd2hhdGlzX2V4cCAoY2hhciAqZXhwLCBpbnQgc2hvdykKICAgIGlmIChleHApCiAgICAgIHsK ICAgICAgICBleHByID0gcGFyc2VfZXhwcmVzc2lvbiAoZXhwKTsKQEAgLTE1NTQwLDcgKzE1NDk2 LDcgQEAgaW5kZXggY2Y0MTU4ZC4uZjE1Nzk2MiAxMDA2NDQKICAgIHR5cGUgPSB2YWx1ZV90eXBl ICh2YWwpOwogIAogICAgZ2V0X3VzZXJfcHJpbnRfb3B0aW9ucyAoJm9wdHMpOwotQEAgLTE2OCw4 ICsxNzQsNyBAQCB3aGF0aXNfZXhwIChjaGFyICpleHAsIGludCBzaG93KQorQEAgLTE2Nyw4ICsx NzMsNyBAQCB3aGF0aXNfZXhwIChjaGFyICpleHAsIGludCBzaG93KQogICAgdHlwZV9wcmludCAo dHlwZSwgIiIsIGdkYl9zdGRvdXQsIHNob3cpOwogICAgcHJpbnRmX2ZpbHRlcmVkICgiXG4iKTsK ICAKQEAgLTE1NTUxLDEwICsxNTUwNywxMCBAQCBpbmRleCBjZjQxNThkLi5mMTU3OTYyIDEwMDY0 NAogIAogIHN0YXRpYyB2b2lkCiBkaWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmMgYi9nZGIvdXRpbHMu YwotaW5kZXggZDU1ZTZmMS4uYmU3YzcyYiAxMDA2NDQKK2luZGV4IDQ4NjNlNDEuLmMxZmVjODIg MTAwNjQ0CiAtLS0gYS9nZGIvdXRpbHMuYwogKysrIGIvZ2RiL3V0aWxzLmMKLUBAIC0xOTA2LDYg KzE5MDYsMzYgQEAgc2V0X2JhdGNoX2ZsYWdfYW5kX21ha2VfY2xlYW51cF9yZXN0b3JlX3BhZ2Vf aW5mbyAodm9pZCkKK0BAIC0xOTA0LDYgKzE5MDQsMzYgQEAgc2V0X2JhdGNoX2ZsYWdfYW5kX21h a2VfY2xlYW51cF9yZXN0b3JlX3BhZ2VfaW5mbyAodm9pZCkKICAgIHJldHVybiBiYWNrX3RvOwog IH0KICAKQEAgLTE1NTkyLDEwICsxNTU0OCwxMCBAQCBpbmRleCBkNTVlNmYxLi5iZTdjNzJiIDEw MDY0NAogIAogIHN0YXRpYyB2b2lkCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbGFyaXRoLmMgYi9nZGIv dmFsYXJpdGguYwotaW5kZXggMzI1MGNjNy4uMjJkYTA2NyAxMDA2NDQKK2luZGV4IGI4YmNjNmIu LmZiODNjNzAgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsYXJpdGguYwogKysrIGIvZ2RiL3ZhbGFyaXRo LmMKLUBAIC0xOTgsNyArMTk4LDEwIEBAIHZhbHVlX3N1YnNjcmlwdGVkX3J2YWx1ZSAoc3RydWN0 IHZhbHVlICphcnJheSwgTE9OR0VTVCBpbmRleCwgaW50IGxvd2VyYm91bmQpCitAQCAtMTk3LDcg KzE5NywxMCBAQCB2YWx1ZV9zdWJzY3JpcHRlZF9ydmFsdWUgKHN0cnVjdCB2YWx1ZSAqYXJyYXks IExPTkdFU1QgaW5kZXgsIGludCBsb3dlcmJvdW5kKQogICAgc3RydWN0IHR5cGUgKmFycmF5X3R5 cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAgc3RydWN0IHR5cGUg KmVsdF90eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSkp OwogICAgdW5zaWduZWQgaW50IGVsdF9zaXplID0gVFlQRV9MRU5HVEggKGVsdF90eXBlKTsKQEAg LTE1NjA3LDcgKzE1NTYzLDcgQEAgaW5kZXggMzI1MGNjNy4uMjJkYTA2NyAxMDA2NDQKICAgIHN0 cnVjdCB2YWx1ZSAqdjsKICAKICAgIGlmIChpbmRleCA8IGxvd2VyYm91bmQgfHwgKCFUWVBFX0FS UkFZX1VQUEVSX0JPVU5EX0lTX1VOREVGSU5FRCAoYXJyYXlfdHlwZSkKLUBAIC0yOTgsNiArMzAx LDEwIEBAIGludAorQEAgLTI5Nyw2ICszMDAsMTAgQEAgaW50CiAgYmlub3BfdXNlcl9kZWZpbmVk X3AgKGVudW0gZXhwX29wY29kZSBvcCwKICAJCSAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3Ry dWN0IHZhbHVlICphcmcyKQogIHsKQEAgLTE1NjE5LDEwICsxNTU3NSwxMCBAQCBpbmRleCAzMjUw Y2M3Li4yMmRhMDY3IDEwMDY0NAogIH0KICAKIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9n ZGIvdmFsb3BzLmMKLWluZGV4IDI5ZDFmYmQuLjQ0Y2RkNDkgMTAwNjQ0CitpbmRleCA1NDUzYjFh Li41YTRhOGZhIDEwMDY0NAogLS0tIGEvZ2RiL3ZhbG9wcy5jCiArKysgYi9nZGIvdmFsb3BzLmMK LUBAIC00Nyw2ICs0Nyw3IEBACitAQCAtNDUsNiArNDUsNyBAQAogICNpbmNsdWRlICJvYmpmaWxl cy5oIgogICNpbmNsdWRlICJzeW10YWIuaCIKICAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgpAQCAt MTU2MzAsNyArMTU1ODYsNyBAQCBpbmRleCAyOWQxZmJkLi40NGNkZDQ5IDEwMDY0NAogIAogIGV4 dGVybiBpbnQgb3ZlcmxvYWRfZGVidWc7CiAgLyogTG9jYWwgZnVuY3Rpb25zLiAgKi8KLUBAIC05 MTcsNiArOTE4LDY1IEBAIHZhbHVlX29uZSAoc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtOTE1LDYg KzkxNiw2NSBAQCB2YWx1ZV9vbmUgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgcmV0dXJuIHZhbDsK ICB9CiAgCkBAIC0xNTY5Niw3ICsxNTY1Miw3IEBAIGluZGV4IDI5ZDFmYmQuLjQ0Y2RkNDkgMTAw NjQ0CiAgLyogSGVscGVyIGZ1bmN0aW9uIGZvciB2YWx1ZV9hdCwgdmFsdWVfYXRfbGF6eSwgYW5k IHZhbHVlX2F0X2xhenlfc3RhY2suICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgotQEAg LTEwMTMsMTIgKzEwNzMsMjAgQEAgdmFsdWVfZmV0Y2hfbGF6eSAoc3RydWN0IHZhbHVlICp2YWwp CitAQCAtMTAxMSwxMiArMTA3MSwyMCBAQCB2YWx1ZV9mZXRjaF9sYXp5IChzdHJ1Y3QgdmFsdWUg KnZhbCkKICAgICAgfQogICAgZWxzZSBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBsdmFsX21lbW9y eSkKICAgICAgewpAQCAtMTU3MjIsNyArMTU2NzgsNyBAQCBpbmRleCAyOWQxZmJkLi40NGNkZDQ5 IDEwMDY0NAogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfcmVn aXN0ZXIpCiAgICAgIHsKLUBAIC0xNTMwLDcgKzE1OTgsMTggQEAgYWRkcmVzc19vZl92YXJpYWJs ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgYmxvY2sgKmIpCitAQCAtMTUyOCw3ICsxNTk2 LDE4IEBAIGFkZHJlc3Nfb2ZfdmFyaWFibGUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGJs b2NrICpiKQogICAgaWYgKChWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfbWVtb3J5ICYmIHZhbHVl X2xhenkgKHZhbCkpCiAgICAgICAgfHwgVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfRlVO QykKICAgICAgewpAQCAtMTU3NDIsNyArMTU2OTgsNyBAQCBpbmRleCAyOWQxZmJkLi40NGNkZDQ5 IDEwMDY0NAogIAogICAgICAgIHJldHVybiB2YWx1ZV9mcm9tX3BvaW50ZXIgKGxvb2t1cF9wb2lu dGVyX3R5cGUgKHR5cGUpLCBhZGRyKTsKICAgICAgfQotQEAgLTE2MzcsNiArMTcxNiw3IEBAIHN0 cnVjdCB2YWx1ZSAqCitAQCAtMTYzNSw2ICsxNzE0LDcgQEAgc3RydWN0IHZhbHVlICoKICB2YWx1 ZV9jb2VyY2VfYXJyYXkgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAq dHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZzEpKTsKQEAgLTE1NzUwLDcgKzE1 NzA2LDcgQEAgaW5kZXggMjlkMWZiZC4uNDRjZGQ0OSAxMDA2NDQKICAKICAgIC8qIElmIHRoZSB1 c2VyIHRyaWVzIHRvIGRvIHNvbWV0aGluZyByZXF1aXJpbmcgYSBwb2ludGVyIHdpdGggYW4KICAg ICAgIGFycmF5IHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiBwdXNoZWQgdG8gdGhlIHRhcmdldCwgdGhl biB0aGlzIHdvdWxkCi1AQCAtMTY0Niw4ICsxNzI2LDEyIEBAIHZhbHVlX2NvZXJjZV9hcnJheSAo c3RydWN0IHZhbHVlICphcmcxKQorQEAgLTE2NDQsOCArMTcyNCwxMiBAQCB2YWx1ZV9jb2VyY2Vf YXJyYXkgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKICAgIGlmIChWQUxVRV9MVkFMIChhcmcxKSAhPSBs dmFsX21lbW9yeSkKICAgICAgZXJyb3IgKF8oIkF0dGVtcHQgdG8gdGFrZSBhZGRyZXNzIG9mIHZh bHVlIG5vdCBsb2NhdGVkIGluIG1lbW9yeS4iKSk7CiAgCkBAIC0xNTc2NCw3ICsxNTcyMCw3IEBA IGluZGV4IDI5ZDFmYmQuLjQ0Y2RkNDkgMTAwNjQ0CiAgfQogIAogIC8qIEdpdmVuIGEgdmFsdWUg d2hpY2ggaXMgYSBmdW5jdGlvbiwgcmV0dXJuIGEgdmFsdWUgd2hpY2ggaXMgYSBwb2ludGVyCi1A QCAtMzY5Niw2ICszNzgwLDggQEAgdmFsdWVfc2xpY2UgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIGlu dCBsb3dib3VuZCwgaW50IGxlbmd0aCkKK0BAIC0zNjk0LDYgKzM3NzgsOCBAQCB2YWx1ZV9zbGlj ZSAoc3RydWN0IHZhbHVlICphcnJheSwgaW50IGxvd2JvdW5kLCBpbnQgbGVuZ3RoKQogIAkJCQkJ VFlQRV9UQVJHRVRfVFlQRSAocmFuZ2VfdHlwZSksCiAgCQkJCQlsb3dib3VuZCwgCiAgCQkJCQls b3dib3VuZCArIGxlbmd0aCAtIDEpOwpAQCAtMTU3NzQsMTAgKzE1NzMwLDEwIEBAIGluZGV4IDI5 ZDFmYmQuLjQ0Y2RkNDkgMTAwNjQ0CiAgICAgIHsKICAgICAgICBpbnQgaTsKIGRpZmYgLS1naXQg YS9nZGIvdmFscHJpbnQuYyBiL2dkYi92YWxwcmludC5jCi1pbmRleCBiNGFjNGVjLi4zNzc5MDVl IDEwMDY0NAoraW5kZXggMzI1Y2Y0MC4uNzBhOThjMiAxMDA2NDQKIC0tLSBhL2dkYi92YWxwcmlu dC5jCiArKysgYi9nZGIvdmFscHJpbnQuYwotQEAgLTM5LDYgKzM5LDcgQEAKK0BAIC0zNyw2ICsz Nyw3IEBACiAgI2luY2x1ZGUgImdkYl9vYnN0YWNrLmgiCiAgI2luY2x1ZGUgImNoYXJzZXQuaCIK ICAjaW5jbHVkZSA8Y3R5cGUuaD4KQEAgLTE1Nzg1LDcgKzE1NzQxLDcgQEAgaW5kZXggYjRhYzRl Yy4uMzc3OTA1ZSAxMDA2NDQKICAKICAjaW5jbHVkZSA8ZXJybm8uaD4KICAKLUBAIC0yNDIsNyAr MjQzLDYgQEAgc2NhbGFyX3R5cGVfcCAoc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtMjQwLDcgKzI0 MSw2IEBAIHNjYWxhcl90eXBlX3AgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgICBjYXNlIFRZUEVf Q09ERV9TVFJVQ1Q6CiAgICAgIGNhc2UgVFlQRV9DT0RFX1VOSU9OOgogICAgICBjYXNlIFRZUEVf Q09ERV9TRVQ6CkBAIC0xNTc5Myw3ICsxNTc0OSw3IEBAIGluZGV4IGI0YWM0ZWMuLjM3NzkwNWUg MTAwNjQ0CiAgICAgIGNhc2UgVFlQRV9DT0RFX0JJVFNUUklORzoKICAgICAgICByZXR1cm4gMDsK ICAgICAgZGVmYXVsdDoKLUBAIC0xMjAwLDYgKzEyMDAsNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxl bWVudHMgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTExOTgsNiArMTE5OCw3IEBAIHZhbF9wcmlu dF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCiAgewogICAgdW5zaWduZWQgaW50 IHRoaW5nc19wcmludGVkID0gMDsKICAgIHVuc2lnbmVkIGxlbjsKQEAgLTE1ODAxLDcgKzE1NzU3 LDcgQEAgaW5kZXggYjRhYzRlYy4uMzc3OTA1ZSAxMDA2NDQKICAgIHN0cnVjdCB0eXBlICplbHR0 eXBlLCAqaW5kZXhfdHlwZTsKICAgIHVuc2lnbmVkIGVsdGxlbjsKICAgIC8qIFBvc2l0aW9uIG9m IHRoZSBhcnJheSBlbGVtZW50IHdlIGFyZSBleGFtaW5pbmcgdG8gc2VlCi1AQCAtMTIwOCw5ICsx MjA5LDMzIEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitA QCAtMTIwNiw5ICsxMjA3LDMzIEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5 cGUgKnR5cGUsCiAgICAvKiBOdW1iZXIgb2YgcmVwZXRpdGlvbnMgd2UgaGF2ZSBkZXRlY3RlZCBz byBmYXIuICAqLwogICAgdW5zaWduZWQgaW50IHJlcHM7CiAgICBMT05HRVNUIGxvd19ib3VuZCwg aGlnaF9ib3VuZDsKQEAgLTE1ODM3LDcgKzE1NzkzLDcgQEAgaW5kZXggYjRhYzRlYy4uMzc3OTA1 ZSAxMDA2NDQKICAgIGluZGV4X3R5cGUgPSBUWVBFX0lOREVYX1RZUEUgKHR5cGUpOwogIAogICAg aWYgKGdldF9hcnJheV9ib3VuZHMgKHR5cGUsICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSkKLUBA IC0xMjk3LDYgKzEzMjIsOCBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBl ICp0eXBlLAorQEAgLTEyOTUsNiArMTMyMCw4IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAo c3RydWN0IHR5cGUgKnR5cGUsCiAgICAgIHsKICAgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sICIuLi4iKTsKICAgICAgfQpAQCAtMTU4NDcsMTAgKzE1ODAzLDEwIEBAIGluZGV4IGI0YWM0 ZWMuLjM3NzkwNWUgMTAwNjQ0CiAgCiAgLyogUmVhZCBMRU4gYnl0ZXMgb2YgdGFyZ2V0IG1lbW9y eSBhdCBhZGRyZXNzIE1FTUFERFIsIHBsYWNpbmcgdGhlCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVl LmMgYi9nZGIvdmFsdWUuYwotaW5kZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQKK2luZGV4IDU4 M2JlMzMuLmNiNzNlZGEgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuYwogKysrIGIvZ2RiL3ZhbHVl LmMKLUBAIC00Myw2ICs0Myw3IEBACitAQCAtNDEsNiArNDEsNyBAQAogICNpbmNsdWRlICJweXRo b24vcHl0aG9uLmgiCiAgI2luY2x1ZGUgPGN0eXBlLmg+CiAgI2luY2x1ZGUgInRyYWNlcG9pbnQu aCIKQEAgLTE1ODU4LDcgKzE1ODE0LDcgQEAgaW5kZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQK ICAKICAvKiBQcm90b3R5cGVzIGZvciBleHBvcnRlZCBmdW5jdGlvbnMuICAqLwogIAotQEAgLTEz ODcsMTIgKzEzODgsMTUgQEAgdm9pZAorQEAgLTEzODUsMTIgKzEzODYsMTUgQEAgdm9pZAogIHNl dF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHN0cnVjdCB2YWx1ZSAqY29tcG9uZW50LAogIAkJ CSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqd2hvbGUpCiAgewpAQCAtMTU4NzQsNyArMTU4MzAs NyBAQCBpbmRleCBkMDJiYzI3Li5jODNlMWE4IDEwMDY0NAogICAgaWYgKHdob2xlLT5sdmFsID09 IGx2YWxfY29tcHV0ZWQpCiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1Y3QgbHZhbF9mdW5jcyAq ZnVuY3MgPSB3aG9sZS0+bG9jYXRpb24uY29tcHV0ZWQuZnVuY3M7Ci1AQCAtMTQwMCw2ICsxNDA0 LDEyIEBAIHNldF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHN0cnVjdCB2YWx1ZSAqY29tcG9u ZW50LAorQEAgLTEzOTgsNiArMTQwMiwxMiBAQCBzZXRfdmFsdWVfY29tcG9uZW50X2xvY2F0aW9u IChzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKICAgICAgICBpZiAoZnVuY3MtPmNvcHlfY2xvc3Vy ZSkKICAgICAgICAgIGNvbXBvbmVudC0+bG9jYXRpb24uY29tcHV0ZWQuY2xvc3VyZSA9IGZ1bmNz LT5jb3B5X2Nsb3N1cmUgKHdob2xlKTsKICAgICAgfQpAQCAtMTU4ODcsNyArMTU4NDMsNyBAQCBp bmRleCBkMDJiYzI3Li5jODNlMWE4IDEwMDY0NAogIH0KICAKICAMCi1AQCAtMTUzMyw2ICsxNTQz LDMxIEBAIHNob3dfdmFsdWVzIChjaGFyICpudW1fZXhwLCBpbnQgZnJvbV90dHkpCitAQCAtMTUz MSw2ICsxNTQxLDMxIEBAIHNob3dfdmFsdWVzIChjaGFyICpudW1fZXhwLCBpbnQgZnJvbV90dHkp CiAgICAgICAgbnVtX2V4cFsxXSA9ICdcMCc7CiAgICAgIH0KICB9CkBAIC0xNTkxOSw3ICsxNTg3 NSw3IEBAIGluZGV4IGQwMmJjMjcuLmM4M2UxYTggMTAwNjQ0CiAgDAogIC8qIEludGVybmFsIHZh cmlhYmxlcy4gIFRoZXNlIGFyZSB2YXJpYWJsZXMgd2l0aGluIHRoZSBkZWJ1Z2dlcgogICAgIHRo YXQgaG9sZCB2YWx1ZXMgYXNzaWduZWQgYnkgZGVidWdnZXIgY29tbWFuZHMuCi1AQCAtMTU3OCw3 ICsxNjEzLDE0IEBAIHN0cnVjdCBpbnRlcm5hbHZhcgorQEAgLTE1NzYsNyArMTYxMSwxNCBAQCBz dHJ1Y3QgaW50ZXJuYWx2YXIKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbHVlOwogIAogICAgICAg IC8qIFRoZSBjYWxsLWJhY2sgcm91dGluZSB1c2VkIHdpdGggSU5URVJOQUxWQVJfTUFLRV9WQUxV RS4gICovCkBAIC0xNTkzNSw3ICsxNTg5MSw3IEBAIGluZGV4IGQwMmJjMjcuLmM4M2UxYTggMTAw NjQ0CiAgCiAgICAgICAgLyogVGhlIGludGVybmFsIGZ1bmN0aW9uIHVzZWQgd2l0aCBJTlRFUk5B TFZBUl9GVU5DVElPTi4gICovCiAgICAgICAgc3RydWN0Ci1AQCAtMTY3NywxOCArMTcxOSwzOSBA QCBjcmVhdGVfaW50ZXJuYWx2YXIgKGNvbnN0IGNoYXIgKm5hbWUpCitAQCAtMTY3NSwxOCArMTcx NywzOSBAQCBjcmVhdGVfaW50ZXJuYWx2YXIgKGNvbnN0IGNoYXIgKm5hbWUpCiAgLyogQ3JlYXRl IGFuIGludGVybmFsIHZhcmlhYmxlIHdpdGggbmFtZSBOQU1FIGFuZCByZWdpc3RlciBGVU4gYXMg dGhlCiAgICAgZnVuY3Rpb24gdGhhdCB2YWx1ZV9vZl9pbnRlcm5hbHZhciB1c2VzIHRvIGNyZWF0 ZSBhIHZhbHVlIHdoZW5ldmVyCiAgICAgdGhpcyB2YXJpYWJsZSBpcyByZWZlcmVuY2VkLiAgTkFN RSBzaG91bGQgbm90IG5vcm1hbGx5IGluY2x1ZGUgYQpAQCAtMTU5NzgsNyArMTU5MzQsNyBAQCBp bmRleCBkMDJiYzI3Li5jODNlMWE4IDEwMDY0NAogIC8qIExvb2sgdXAgYW4gaW50ZXJuYWwgdmFy aWFibGUgd2l0aCBuYW1lIE5BTUUuICBOQU1FIHNob3VsZCBub3QKICAgICBub3JtYWxseSBpbmNs dWRlIGEgZG9sbGFyIHNpZ24uCiAgCi1AQCAtMTc2MSw3ICsxODI0LDggQEAgdmFsdWVfb2ZfaW50 ZXJuYWx2YXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgaW50ZXJuYWx2YXIgKnZh cikKK0BAIC0xNzU5LDcgKzE4MjIsOCBAQCB2YWx1ZV9vZl9pbnRlcm5hbHZhciAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyKQogICAgICAgIGJyZWFrOwog IAogICAgICBjYXNlIElOVEVSTkFMVkFSX01BS0VfVkFMVUU6CkBAIC0xNTk4OCw3ICsxNTk0NCw3 IEBAIGluZGV4IGQwMmJjMjcuLmM4M2UxYTggMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgCiAgICAg IGRlZmF1bHQ6Ci1AQCAtMTk1Nyw2ICsyMDIxLDExIEBAIGNsZWFyX2ludGVybmFsdmFyIChzdHJ1 Y3QgaW50ZXJuYWx2YXIgKnZhcikKK0BAIC0xOTU1LDYgKzIwMTksMTEgQEAgY2xlYXJfaW50ZXJu YWx2YXIgKHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyKQogICAgICAgIHhmcmVlICh2YXItPnUuc3Ry aW5nKTsKICAgICAgICBicmVhazsKICAKQEAgLTE2MDAwLDcgKzE1OTU2LDcgQEAgaW5kZXggZDAy YmMyNy4uYzgzZTFhOCAxMDA2NDQKICAgICAgZGVmYXVsdDoKICAgICAgICBicmVhazsKICAgICAg fQotQEAgLTIwMTEsNiArMjA4MCwzOCBAQCBjYWxsX2ludGVybmFsX2Z1bmN0aW9uIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwKK0BAIC0yMDA5LDYgKzIwNzgsMzggQEAgY2FsbF9pbnRlcm5hbF9m dW5jdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICByZXR1cm4gKCppZm4tPmhhbmRs ZXIpIChnZGJhcmNoLCBsYW5ndWFnZSwgaWZuLT5jb29raWUsIGFyZ2MsIGFyZ3YpOwogIH0KICAK QEAgLTE2MDM5LDcgKzE1OTk1LDcgQEAgaW5kZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQKICAv KiBUaGUgJ2Z1bmN0aW9uJyBjb21tYW5kLiAgVGhpcyBkb2VzIG5vdGhpbmcgLS0gaXQgaXMganVz dCBhCiAgICAgcGxhY2Vob2xkZXIgdG8gbGV0ICJoZWxwIGZ1bmN0aW9uIE5BTUUiIHdvcmsuICBU aGlzIGlzIGFsc28gdXNlZCBhcwogICAgIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3ViLWNv bW1hbmQgdGhhdCBpcyBjcmVhdGVkIHdoZW4KLUBAIC0yMDU4LDExICsyMTU5LDEwIEBAIHByZXNl cnZlX29uZV92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IG9iamZpbGUgKm9iamZp bGUsCitAQCAtMjA1NiwxMSArMjE1NywxMCBAQCBwcmVzZXJ2ZV9vbmVfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdmFsdWUsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkJICAgIGh0YWJfdCBjb3Bp ZWRfdHlwZXMpCiAgewogICAgaWYgKFRZUEVfT0JKRklMRSAodmFsdWUtPnR5cGUpID09IG9iamZp bGUpCkBAIC0xNjA1Myw3ICsxNjAwOSw3IEBAIGluZGV4IGQwMmJjMjcuLmM4M2UxYTggMTAwNjQ0 CiAgCQkJCQkJIGNvcGllZF90eXBlcyk7CiAgfQogIAotQEAgLTIwNzcsNyArMjE3Nyw3IEBAIHBy ZXNlcnZlX29uZV9pbnRlcm5hbHZhciAoc3RydWN0IGludGVybmFsdmFyICp2YXIsIHN0cnVjdCBv YmpmaWxlICpvYmpmaWxlLAorQEAgLTIwNzUsNyArMjE3NSw3IEBAIHByZXNlcnZlX29uZV9pbnRl cm5hbHZhciAoc3RydWN0IGludGVybmFsdmFyICp2YXIsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxl LAogICAgICBjYXNlIElOVEVSTkFMVkFSX0lOVEVHRVI6CiAgICAgICAgaWYgKHZhci0+dS5pbnRl Z2VyLnR5cGUgJiYgVFlQRV9PQkpGSUxFICh2YXItPnUuaW50ZWdlci50eXBlKSA9PSBvYmpmaWxl KQogIAl2YXItPnUuaW50ZWdlci50eXBlCkBAIC0xNjA2Miw3ICsxNjAxOCw3IEBAIGluZGV4IGQw MmJjMjcuLmM4M2UxYTggMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgSU5URVJO QUxWQVJfVkFMVUU6Ci1AQCAtMzEzOSw5ICszMjM5LDI2IEBAIGNvZXJjZV9yZWZfaWZfY29tcHV0 ZWQgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqYXJnKQorQEAgLTMxMzcsOSArMzIzNywyNiBAQCBjb2Vy Y2VfcmVmX2lmX2NvbXB1dGVkIChjb25zdCBzdHJ1Y3QgdmFsdWUgKmFyZykKICBzdHJ1Y3QgdmFs dWUgKgogIGNvZXJjZV9yZWYgKHN0cnVjdCB2YWx1ZSAqYXJnKQogIHsKQEAgLTE2MDkwLDcgKzE2 MDQ2LDcgQEAgaW5kZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQKICAgIHJldHZhbCA9IGNvZXJj ZV9yZWZfaWZfY29tcHV0ZWQgKGFyZyk7CiAgICBpZiAocmV0dmFsKQogICAgICByZXR1cm4gcmV0 dmFsOwotQEAgLTMyNDMsNCArMzM2MCwxMCBAQCBWQVJJQUJMRSBpcyBhbHJlYWR5IGluaXRpYWxp emVkLiIpKTsKK0BAIC0zMjQxLDQgKzMzNTgsMTAgQEAgVkFSSUFCTEUgaXMgYWxyZWFkeSBpbml0 aWFsaXplZC4iKSk7CiAgICBhZGRfcHJlZml4X2NtZCAoImZ1bmN0aW9uIiwgbm9fY2xhc3MsIGZ1 bmN0aW9uX2NvbW1hbmQsIF8oIlwKICBQbGFjZWhvbGRlciBjb21tYW5kIGZvciBzaG93aW5nIGhl bHAgb24gY29udmVuaWVuY2UgZnVuY3Rpb25zLiIpLAogIAkJICAmZnVuY3Rpb25saXN0LCAiZnVu Y3Rpb24gIiwgMCwgJmNtZGxpc3QpOwpAQCAtMTYxMDIsMTAgKzE2MDU4LDEwIEBAIGluZGV4IGQw MmJjMjcuLmM4M2UxYTggMTAwNjQ0CiArI2VuZGlmCiAgfQogZGlmZiAtLWdpdCBhL2dkYi92YWx1 ZS5oIGIvZ2RiL3ZhbHVlLmgKLWluZGV4IDE2Nzg0N2YuLmNjZDY4ZmMgMTAwNjQ0CitpbmRleCA0 NzI3NzU1Li5kOGQyMmM4IDEwMDY0NAogLS0tIGEvZ2RiL3ZhbHVlLmgKICsrKyBiL2dkYi92YWx1 ZS5oCi1AQCAtNDkwLDYgKzQ5MCwxMCBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9t X2RlY2Zsb2F0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC00ODgsNiArNDg4LDEwIEBAIGV4dGVy biBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Zyb21fZGVjZmxvYXQgKHN0cnVjdCB0eXBlICp0eXBlLAog IAkJCQkJICBjb25zdCBnZGJfYnl0ZSAqZGVjYnl0ZXMpOwogIGV4dGVybiBzdHJ1Y3QgdmFsdWUg KnZhbHVlX2Zyb21faGlzdG9yeV9yZWYgKGNoYXIgKiwgY2hhciAqKik7CiAgCkBAIC0xNjExNiw3 ICsxNjA3Miw3IEBAIGluZGV4IDE2Nzg0N2YuLmNjZDY4ZmMgMTAwNjQ0CiAgZXh0ZXJuIHN0cnVj dCB2YWx1ZSAqdmFsdWVfYXQgKHN0cnVjdCB0eXBlICp0eXBlLCBDT1JFX0FERFIgYWRkcik7CiAg ZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfYXRfbGF6eSAoc3RydWN0IHR5cGUgKnR5cGUsIENP UkVfQUREUiBhZGRyKTsKICAKLUBAIC03MTksMTAgKzcyMyw1MiBAQCBleHRlcm4gc3RydWN0IGlu dGVybmFsdmFyICpsb29rdXBfb25seV9pbnRlcm5hbHZhciAoY29uc3QgY2hhciAqbmFtZSk7CitA QCAtNzE3LDEwICs3MjEsNTIgQEAgZXh0ZXJuIHN0cnVjdCBpbnRlcm5hbHZhciAqbG9va3VwX29u bHlfaW50ZXJuYWx2YXIgKGNvbnN0IGNoYXIgKm5hbWUpOwogIAogIGV4dGVybiBzdHJ1Y3QgaW50 ZXJuYWx2YXIgKmNyZWF0ZV9pbnRlcm5hbHZhciAoY29uc3QgY2hhciAqbmFtZSk7CiAgCkBAIC0x NjE3Myw3ICsxNjEyOSw3IEBAIGluZGV4IDE2Nzg0N2YuLmNjZDY4ZmMgMTAwNjQ0CiAgZXh0ZXJu IHN0cnVjdCBpbnRlcm5hbHZhciAqbG9va3VwX2ludGVybmFsdmFyIChjb25zdCBjaGFyICpuYW1l KTsKICAKIGRpZmYgLS1naXQgYS9nZGIvd2luZG93cy10ZGVwLmMgYi9nZGIvd2luZG93cy10ZGVw LmMKLWluZGV4IDVlODBhYWYuLmY1ZWU1ZmYgMTAwNjQ0CitpbmRleCBlMTExZDQxLi4xOGUzMTgw IDEwMDY0NAogLS0tIGEvZ2RiL3dpbmRvd3MtdGRlcC5jCiArKysgYi9nZGIvd2luZG93cy10ZGVw LmMKIEBAIC0yNjgsNyArMjY4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBsdmFsX2Z1bmNzIHRs Yl92YWx1ZV9mdW5jcyA9CkBAIC0xNjIwOSwxMCArMTYxNjUsMTAgQEAgaW5kZXggNWU4MGFhZi4u ZjVlZTVmZiAxMDA2NDQKICsgIGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfdGxiIiwg JnRsYl9mdW5jcywgTlVMTCk7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi94Y29mZnJlYWQuYyBiL2dk Yi94Y29mZnJlYWQuYwotaW5kZXggZDc3NjBlZS4uOGE4ZjVmYyAxMDA2NDQKK2luZGV4IDFhMmJi MTQuLmQ0M2U5NDYgMTAwNjQ0CiAtLS0gYS9nZGIveGNvZmZyZWFkLmMKICsrKyBiL2dkYi94Y29m ZnJlYWQuYwotQEAgLTMxMjUsNiArMzEyNSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2Zu cyB4Y29mZl9zeW1fZm5zID0KK0BAIC0zMTIzLDYgKzMxMjMsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHN5bV9mbnMgeGNvZmZfc3ltX2ZucyA9CiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMs CS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIGFpeF9wcm9j ZXNzX2xpbmVub3MsCiAgICBkZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUsCS8qIFJlbG9jYXRlIGEg ZGVidWcgc2VjdGlvbi4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ1aWxkLWxpYmdkYi0xb2YzLnBh dGNoIGIvZ2RiLWJ1aWxkLWxpYmdkYi0xb2YzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA2Zjg3OWMwLi4wMDAwMDAwCi0tLSBhL2dkYi1idWlsZC1saWJnZGItMW9mMy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi1odHRwOi8vc291cmNld2FyZS5vcmcv bWwvZ2RiLXBhdGNoZXMvMjAxMi0wMS9tc2cwMDE2OC5odG1sCi1TdWJqZWN0OiBbcGF0Y2ggMS8y XSBGaXggbGlua2luZyBvbiBub24teDg2KiBhZnRlciBsaWJnZGIuYSByZW1vdmFsCi0KLUhpLAot Ci1JIGFtIHNvcnJ5IGJ1dCBJIGZvdW5kIGFmdGVyIHRoZSBwYXRjaAotCVtwYXRjaCAyLzJdIERv IG5vdCBidWlsZCBsaWJnZGIuYSBieSBkZWZhdWx0Ci0JaHR0cDovL3NvdXJjZXdhcmUub3JnL21s L2dkYi1wYXRjaGVzLzIwMTEtMTIvbXNnMDA3MTYuaHRtbAotCi1Gb3IgZXhhbXBsZSBzMzkweC1s aW51eC1nbnUgbm8gbG9uZ2VyIGJ1aWxkcyBuYXRpdmUgR0RCOgotCWNvcmVsb3cubzooLmJzcysw eDApOiBtdWx0aXBsZSBkZWZpbml0aW9uIG9mIGBjb3JlX2dkYmFyY2gnCi0JY29yZWxvdy5vOigu YnNzKzB4MCk6IGZpcnN0IGRlZmluZWQgaGVyZQotCWNvcmVsb3cubzogSW4gZnVuY3Rpb24gYGRl cHJlY2F0ZWRfYWRkX2NvcmVfZm5zJzoKLQljb3JlbG93LmM6KC50ZXh0KzB4MCk6IG11bHRpcGxl IGRlZmluaXRpb24gb2YgYGRlcHJlY2F0ZWRfYWRkX2NvcmVfZm5zJwotCWNvcmVsb3cubzpjb3Jl bG93LmM6KC50ZXh0KzB4MCk6IGZpcnN0IGRlZmluZWQgaGVyZQotCi1JIGhhdmUgZm91bmQgbW9y ZSBzdWNoIGR1cGxpY2F0ZXM6Ci0KLXNvbGliLm8gaXMgY2xlYXIsIHRoYXQgb25lIGlzIG5vdyBp biBDT01NT05fT0JTLiAgQlRXIGl0IHNlZW1zIHRoaXMgY2hhbmdlCi1icm9rZSBmdW5jdGlvbmFs aXR5IG9mIHhjb2Zmc29saWIuYyBkdWUgdG86Ci1wb3dlcnBjLSotYWl4KiB8IHJzNjAwMC0qLSop Ci0gICAgICAgICAgICAgICAgICAgICAgICBnZGJfaG9zdD1haXggOzsKLWFzIHhjb2Zmc29saWIu YyBwcm9iYWJseSBjYW5ub3Qgd29yayB3aXRoIHNvbGliLmMgdG9nZXRoZXIgYnV0IHRoYXQgaXMg b2ZmdG9waWMKLWhlcmUsIEkgZG8gbm90IGhhdmUgYWNjZXNzK2ludGVyZXN0IGluIEFJWC4KLQot eGNvZmZyZWFkLm8gaXMgYWxzbyBjbGVhciwgcG93ZXJwYy9haXgubWggTkFUREVQRklMRVMgZ2V0 IHVzZWQgb25seSB0b2dldGhlcgotd2l0aCBjb25maWd1cmUudGd0IGVudHJ5IGZvciB0aGUgc2Ft ZSB0YXJnZXQgd2hpY2ggaXM6Ci1wb3dlcnBjLSotYWl4KiB8IHJzNjAwMC0qLSopCi0gICAgICAg ICMgVGFyZ2V0OiBQb3dlclBDIHJ1bm5pbmcgQUlYCi0gICAgICAgIGdkYl90YXJnZXRfb2JzPSJy czYwMDAtdGRlcC5vIHJzNjAwMC1haXgtdGRlcC5vIHhjb2ZmcmVhZC5vIFwKLSAgICAgICAgICAg ICAgICAgICAgICAgIHBwYy1zeXN2LXRkZXAubyBzb2xpYi1zdnI0Lm8iCi0KLVRoZXJlIHJlbWFp bnMgdGhhdCBtb3JlIGNvbXBsaWNhdGVkIGNvcmVsb3cubyBmb3IgdGhlIG5leHQgcGF0Y2guCi0K LWdkYnR1aSB3YXMgYmlnZ2VyIHBlcmZvcm1hbmNlIGhpdCB0aGFuIGxpYmdkYi5hIGJ1dCBhZnRl ciBsaWJnZGIuYSBnb3QgcmVtb3ZlZAotSSBkbyBub3Qgd2FudCB0byByZXZlcnQgdGhhdCBwYXRj aCBhcyB0aGlzIGR1cGxpY2l0eSBmaXggZG9lcyBub3QgbG9vayBoYXJkLgotCi0KLVNvcnJ5LAot SmFuCi0KLQotMjAxMi0wMS0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRo YXQuY29tPgotCi0JUGFydGlhbGx5IGZpeCBkdXBsaWNhdGUgLm8gZmlsZXMgYWZ0ZXIgb21pdHRp bmcgbGliYmZkLmEuCi0JKiBjb25maWcvYWxwaGEvYWxwaGEtb3NmMy5taCAoTkFUREVQRklMRVMp OiBSZW1vdmUgc29saWIuby4KLQkqIGNvbmZpZy9pMzg2L25ic2Rhb3V0Lm1oIChOQVRERVBGSUxF Uyk6IFJlbW92ZSBzb2xpYi5vLgotCSogY29uZmlnL2kzODYvb2JzZGFvdXQubWggKE5BVERFUEZJ TEVTKTogUmVtb3ZlIHNvbGliLm8uCi0JKiBjb25maWcvbTY4ay9uYnNkYW91dC5taCAoTkFUREVQ RklMRVMpOiBSZW1vdmUgc29saWIuby4KLQkqIGNvbmZpZy9tNjhrL29ic2QubWggKE5BVERFUEZJ TEVTKTogUmVtb3ZlIHNvbGliLm8uCi0JKiBjb25maWcvcG93ZXJwYy9haXgubWggKE5BVERFUEZJ TEVTKTogUmVtb3ZlIHhjb2ZmcmVhZC5vLgotCSogY29uZmlnL3ZheC9uYnNkYW91dC5taCAoTkFU REVQRklMRVMpOiBSZW1vdmUgc29saWIuby4KLQotLS0tIGEvZ2RiL2NvbmZpZy9hbHBoYS9hbHBo YS1vc2YzLm1oCi0rKysgYi9nZGIvY29uZmlnL2FscGhhL2FscGhhLW9zZjMubWgKLUBAIC0xLDYg KzEsNiBAQAotICMgSG9zdDogTGl0dGxlLWVuZGlhbiBBbHBoYSBydW5uaW5nIE9TRi8xLTMueCBh bmQgaGlnaGVyIHVzaW5nIHByb2NmcwotIE5BVF9GSUxFPSBubS1vc2YzLmgKLSBOQVRERVBGSUxF Uz0gY29yZWxvdy5vIGFscGhhLW5hdC5vIGZvcmstY2hpbGQubyBcCi0tCXNvbGliLW9zZi5vIHNv bGliLm8gcHJvY2ZzLm8gcHJvYy1hcGkubyBwcm9jLWV2ZW50cy5vIHByb2MtZmxhZ3MubyBcCi0r CXNvbGliLW9zZi5vIHByb2Nmcy5vIHByb2MtYXBpLm8gcHJvYy1ldmVudHMubyBwcm9jLWZsYWdz Lm8gXAotIAlwcm9jLXdoeS5vIGRlYy10aHJlYWQubwotIE5BVF9DTElCUz0gLWxwdGhyZWFkZGVi dWcKLS0tLSBhL2dkYi9jb25maWcvaTM4Ni9uYnNkYW91dC5taAotKysrIGIvZ2RiL2NvbmZpZy9p Mzg2L25ic2Rhb3V0Lm1oCi1AQCAtMSw2ICsxLDYgQEAKLSAjIEhvc3Q6IE5ldEJTRC9pMzg2IGEu b3V0Ci0gTkFUREVQRklMRVM9IGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotIAluYnNkLW5h dC5vIGkzODZic2QtbmF0Lm8gaTM4Nm5ic2QtbmF0Lm8gYnNkLWt2bS5vIFwKLS0Jc29saWIubyBz b2xpYi1zdW5vcy5vCi0rCXNvbGliLXN1bm9zLm8KLSAKLSBMT0FETElCRVM9IC1sa3ZtCi0tLS0g YS9nZGIvY29uZmlnL2kzODYvb2JzZGFvdXQubWgKLSsrKyBiL2dkYi9jb25maWcvaTM4Ni9vYnNk YW91dC5taAotQEAgLTEsNiArMSw2IEBACi0gIyBIb3N0OiBPcGVuQlNEL2kzODYgYS5vdXQKLSBO QVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBcCi0gCWkzODZic2QtbmF0Lm8g aTM4Nm5ic2QtbmF0Lm8gaTM4Nm9ic2QtbmF0Lm8gYnNkLWt2bS5vIFwKLS0Jc29saWIubyBzb2xp Yi1zdW5vcy5vCi0rCXNvbGliLXN1bm9zLm8KLSAKLSBMT0FETElCRVM9IC1sa3ZtCi0tLS0gYS9n ZGIvY29uZmlnL202OGsvbmJzZGFvdXQubWgKLSsrKyBiL2dkYi9jb25maWcvbTY4ay9uYnNkYW91 dC5taAotQEAgLTEsNSArMSw1IEBACi0gIyBIb3N0OiBOZXRCU0QvbTY4ayBhLm91dAotIE5BVERF UEZJTEVTPSBtNjhrYnNkLW5hdC5vIGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotLQlzb2xp Yi5vIHNvbGliLXN1bm9zLm8KLSsJc29saWItc3Vub3MubwotIAotIExPQURMSUJFUz0gLWxrdm0K LS0tLSBhL2dkYi9jb25maWcvbTY4ay9vYnNkLm1oCi0rKysgYi9nZGIvY29uZmlnL202OGsvb2Jz ZC5taAotQEAgLTEsNSArMSw1IEBACi0gIyBIb3N0OiBPcGVuQlNEL202OGsKLSBOQVRERVBGSUxF Uz0gbTY4a2JzZC1uYXQubyBic2Qta3ZtLm8gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBcCi0t CXNvbGliLm8gc29saWItc3Vub3MubwotKwlzb2xpYi1zdW5vcy5vCi0gCi0gTE9BRExJQkVTPSAt bGt2bQotLS0tIGEvZ2RiL2NvbmZpZy9wb3dlcnBjL2FpeC5taAotKysrIGIvZ2RiL2NvbmZpZy9w b3dlcnBjL2FpeC5taAotQEAgLTQsNyArNCw3IEBAIE5BVF9GSUxFPSBjb25maWcvcnM2MDAwL25t LXJzNjAwMC5oCi0gCi0gIyBhaXgtdGhyZWFkLm8gaXMgbm90IGxpc3RlZCBpbiBOQVRERVBGSUxF UyBhcyBpdCBpcyBwdWxsZWQgaW4gYnkgY29uZmlndXJlLgotIE5BVERFUEZJTEVTPSBmb3JrLWNo aWxkLm8gaW5mLXB0cmFjZS5vIGNvcmVsb3cubyByczYwMDAtbmF0Lm8gXAotLQkgICAgIHhjb2Zm cmVhZC5vIHhjb2Zmc29saWIubwotKwkgICAgIHhjb2Zmc29saWIubwotIAotICMgV2hlbiBjb21w aWxlZCB3aXRoIGNjLCBmb3IgZGVidWdnaW5nLCB0aGlzIGFyZ3VtZW50IHNob3VsZCBiZSBwYXNz ZWQuCi0gIyBXZSBoYXZlIG5vIGlkZWEgd2hvIG91ciBjdXJyZW50IGNvbXBpbGVyIGlzIHRob3Vn aCwgc28gd2Ugc2tpcCBpdC4KLS0tLSBhL2dkYi9jb25maWcvdmF4L25ic2Rhb3V0Lm1oCi0rKysg Yi9nZGIvY29uZmlnL3ZheC9uYnNkYW91dC5taAotQEAgLTEsNiArMSw2IEBACi0gIyBIb3N0OiBO ZXRCU0QvdmF4IGEub3V0Ci0gTkFUREVQRklMRVM9IGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8g XAotIAl2YXhic2QtbmF0Lm8gYnNkLWt2bS5vIFwKLS0Jc29saWIubyBzb2xpYi1zdW5vcy5vCi0r CXNvbGliLXN1bm9zLm8KLSAKLSBMT0FETElCRVM9IC1sa3ZtCi0KCmRpZmYgLS1naXQgYS9nZGIt YnVpbGQtbGliZ2RiLTJvZjMucGF0Y2ggYi9nZGItYnVpbGQtbGliZ2RiLTJvZjMucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2MzRhODkuLjAwMDAwMDAKLS0tIGEvZ2RiLWJ1 aWxkLWxpYmdkYi0yb2YzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcwICswLDAgQEAKLWh0 dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTAxL21zZzAwMTcwLmh0bWwK LVN1YmplY3Q6IFtwYXRjaCAyLzJdIEZpeCBsaW5raW5nIG9uIG5vbi14ODYqIGFmdGVyIGxpYmdk Yi5hIHJlbW92YWwKLQotSGksCi0KLXRoaXMgaXMgdGhlIHNlY29uZCBwYXJ0IGZvciBzb2x2aW5n IGNvcmVsb3cgYWZ0ZXIgdGhlIHMzOTB4IHJlZ3Jlc3Npb246Ci0JW3BhdGNoIDIvMl0gRG8gbm90 IGJ1aWxkIGxpYmdkYi5hIGJ5IGRlZmF1bHQKLQlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2Ri LXBhdGNoZXMvMjAxMS0xMi9tc2cwMDcxNi5odG1sCi0tPgotCWNvcmVsb3cubzooLmJzcysweDAp OiBtdWx0aXBsZSBkZWZpbml0aW9uIG9mIGBjb3JlX2dkYmFyY2gnCi0JY29yZWxvdy5vOiguYnNz KzB4MCk6IGZpcnN0IGRlZmluZWQgaGVyZQotCWNvcmVsb3cubzogSW4gZnVuY3Rpb24gYGRlcHJl Y2F0ZWRfYWRkX2NvcmVfZm5zJzoKLQljb3JlbG93LmM6KC50ZXh0KzB4MCk6IG11bHRpcGxlIGRl ZmluaXRpb24gb2YgYGRlcHJlY2F0ZWRfYWRkX2NvcmVfZm5zJwotCWNvcmVsb3cubzpjb3JlbG93 LmM6KC50ZXh0KzB4MCk6IGZpcnN0IGRlZmluZWQgaGVyZQotCi0KLUZvciB0YXJnZXRzIHVzaW5n IG5ldyBzZXRfZ2RiYXJjaF9yZWdzZXRfZnJvbV9jb3JlX3NlY3Rpb24gaXQgd291bGQgbm90IGJl Ci1hIHByb2JsZW0sIGp1c3QgcHV0IGNvcmVsb3cubyBpbnRvIHRoZSByaWdodCBlbnRyeSBvZiBn ZGIvY29uZmlndXJlLnRndC4KLQotQnV0IGZvciBsZWdhY3kgdGFyZ2V0cyBzdGlsbCB1c2luZyBk ZXByZWNhdGVkX2FkZF9jb3JlX2ZucyAobGlrZQotc3BhcmMtc29sYXJpczIuNiBldGMuKSB0aGUg YWRkaXRpb24gdG8gZ2RiL2NvbmZpZ3VyZS50Z3Qgd291bGQgZW5hYmxlCi1jb3JlbG93Lm8gZXZl biBmb3IgY3Jvc3MtdGFyZ2V0ZWQgR0RCcyB3aGVyZSB0aGVyZSBpcyB1bmZvcnR1bmF0ZWx5IHN0 aWxsIG5vCi1jb3JlIGZpbGVzIHN1cHBvcnQuCi0KLUNyZWF0ZWQgdGhlIG9yaWdpbmFsIGNvbmZp Z3VyYXRpb24sIGp1c3QgYXZvaWRpbmcgYSBkdXBsaWNhdGUgY29yZWxvdy5vIGVudHJ5LgotQSBi ZXR0ZXIgaWRlYSBpcyB3ZWxjb21lLgotCi0oczM5MHggbm90IGF2YWlsYWJsZSBub3cgZm9yIGEg dGVzdCBidXQgaXQgc2hvdWxkIHdvcmsgSSBob3BlLikKLQotCi1Tb3JyeSwKLUphbgotCi0KLTIw MTItMDEtMDQgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQot CUZpeCBkdXBsaWNhdGUgLm8gZmlsZXMgYWZ0ZXIgb21pdHRpbmcgbGliYmZkLmEuCi0JKiBNYWtl ZmlsZS5pbiAoQ09SRUxPV19PKTogTmV3IGRlZmluaXRpb24uCi0JKEFMTF9UQVJHRVRfT0JTKTog UmVtb3ZlIGNvcmVsb3cuby4KLQkoREVQRklMRVMpOiBBZGQgJChDT1JFTE9XX08pLgotCSogY29u ZmlnL2FscGhhL2FscGhhLWxpbnV4Lm1oIChOQVRERVBGSUxFUyk6IFJlbW92ZSBjb3JlbG93Lm8u Ci0JKENPUkVMT1dfTyk6IE5ldyBkZWZpbml0aW9uLgotCSogY29uZmlnL2FscGhhL2FscGhhLW9z ZjMubWg6IExpa2V3aXNlLgotCSogY29uZmlnL2FscGhhL2Zic2QubWg6IExpa2V3aXNlLgotCSog Y29uZmlnL2FybS9uYnNkYW91dC5taDogTGlrZXdpc2UuCi0JKiBjb25maWcvYXJtL25ic2RlbGYu bWg6IExpa2V3aXNlLgotCSogY29uZmlnL2kzODYvaTM4NmdudS5taDogTGlrZXdpc2UuCi0JKiBj b25maWcvaWE2NC9ocHV4Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9pYTY0L2xpbnV4Lm1oOiBM aWtld2lzZS4KLQkqIGNvbmZpZy9tMzJyL2xpbnV4Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9t NjhrL2xpbnV4Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9taXBzL2lyaXg1Lm1oOiBMaWtld2lz ZS4KLQkqIGNvbmZpZy9taXBzL2lyaXg2Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9wYS9ocHV4 Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9wYS9saW51eC5taDogTGlrZXdpc2UuCi0JKiBjb25m aWcvcG93ZXJwYy9haXgubWg6IExpa2V3aXNlLgotCSogY29uZmlnL3MzOTAvczM5MC5taDogTGlr ZXdpc2UuCi0JKiBjb25maWcvc3BhcmMvbGludXgubWg6IExpa2V3aXNlLgotCSogY29uZmlnL3Nw YXJjL2xpbnV4NjQubWg6IExpa2V3aXNlLgotCSogY29uZmlnL3NwYXJjL3NvbDIubWg6IExpa2V3 aXNlLgotCSogY29uZmlnL3ZheC92YXgubWg6IExpa2V3aXNlLgotCSogY29uZmlndXJlOiBSZWdl bmVyYXRlLgotCSogY29uZmlndXJlLmFjIChDT1JFTE9XX08pOiBOZXcgdmFyaWFibGUuCi0JKGdk Yl90YXJnZXRfb2JzKTogRXhjbHVkZSBjb3JlbG93Lm8gYW5kIHNldCBDT1JFTE9XX08gaW5zdGVh ZC4KLQkoYWxsX3RhcmdldHMpOiBTZXQgQ09SRUxPV19PLgotCShDT1JFTE9XX08pOiBBQ19TVUJT VCBpdC4KLQotLS0tIGEvZ2RiL01ha2VmaWxlLmluCi0rKysgYi9nZGIvTWFrZWZpbGUuaW4KLUBA IC01MTIsNiArNTEyLDEyIEBAIFNJTV9PQlMgPSBAU0lNX09CU0AKLSAjIFRhcmdldC1kZXBlbmRl bnQgb2JqZWN0IGZpbGVzLgotIFRBUkdFVF9PQlMgPSBAVEFSR0VUX09CU0AKLSAKLSsjIGNvcmVs b3cubyBtYXkgYmUgcmVxdWVzdGVkIGJ5IGVpdGhlciBjb25maWcvKi8qLm1oIGZpbGUgb3IgZm9y IEFMTF9UQVJHRVRfT0JTCi0rIyBvciBmb3Igc3BlY2lmaWMgdGFyZ2V0KHMpIGZyb20gY29uZmln dXJlLnRndC4gIEF2b2lkIGR1cGxpY2F0aW5nIGl0LgotKyMgQ09SRUxPV19PIG1heSBnZXQgb3Zl cnJpZGVuIChzZXQgdG8gY29yZWxvdy5vKSBieSAnaG9zdF9tYWtlZmlsZV9mcmFnJyBiZWxvdy4K LSsjIENPUkVMT1dfTyBpcyBhc3N1bWVkIHRvIGJlIGNvcmVsb3cubyBmb3IgQUxMX1RBUkdFVF9P QlMuCi0rQ09SRUxPV19PIDo9IEBDT1JFTE9XX09ACi0rCi0gIyBBbGwgdGFyZ2V0LWRlcGVuZGVu dCBvYmplY3RzIGZpbGVzIHRoYXQgcmVxdWlyZSA2NC1iaXQgQ09SRV9BRERSCi0gIyAodXNlZCB3 aXRoIC0tZW5hYmxlLXRhcmdldHM9YWxsIC0tZW5hYmxlLTY0LWJpdC1iZmQpLgotIEFMTF82NF9U QVJHRVRfT0JTID0gXAotQEAgLTU4MSw3ICs1ODcsNiBAQCBBTExfVEFSR0VUX09CUyA9IFwKLSAJ cmVtb3RlLW0zMnItc2RpLm8gcmVtb3RlLW1pcHMubyBcCi0gCXhjb2ZmcmVhZC5vIFwKLSAJc3lt ZmlsZS1tZW0ubyBcCi0tCWNvcmVsb3cubyBcCi0gCXdpbmRvd3MtdGRlcC5vIFwKLSAJbGludXgt cmVjb3JkLm8KLSAKLUBAIC04NDMsNyArODQ4LDcgQEAgUkVNT1RFX0VYQU1QTEVTID0gbTY4ay1z dHViLmMgaTM4Ni1zdHViLmMgc3BhcmMtc3R1Yi5jIHJlbS1tdWx0aS5zaGFyCi0gIyB2YXJpYWJs ZXMgYW5hbG9nb3VzIHRvIFNFUl9IQVJEV0lSRSB3aGljaCBnZXQgZGVmYXVsdGVkIGluIHRoaXMK LSAjIE1ha2VmaWxlLmluCi0gCi0tREVQRklMRVMgPSAkKFRBUkdFVF9PQlMpICQoU0VSX0hBUkRX SVJFKSAkKE5BVERFUEZJTEVTKSBcCi0rREVQRklMRVMgPSAkKFRBUkdFVF9PQlMpICQoU0VSX0hB UkRXSVJFKSAkKE5BVERFUEZJTEVTKSAkKENPUkVMT1dfTykgXAotIAkgICAkKFJFTU9URV9PQlMp ICQoU0lNX09CUykKLSAKLSBTT1VSQ0VTID0gJChTRklMRVMpICQoQUxMREVQRklMRVMpICQoWVlG SUxFUykgJChDT05GSUdfU1JDUykKLS0tLSBhL2dkYi9jb25maWcvYWxwaGEvYWxwaGEtbGludXgu bWgKLSsrKyBiL2dkYi9jb25maWcvYWxwaGEvYWxwaGEtbGludXgubWgKLUBAIC0xLDggKzEsOSBA QAotICMgSG9zdDogTGl0dGxlLWVuZGlhbiBBbHBoYSBydW5uaW5nIExpbnV4Ci0gTkFUX0ZJTEU9 IGNvbmZpZy9ubS1saW51eC5oCi0tTkFUREVQRklMRVM9IGluZi1wdHJhY2UubyBjb3JlbG93Lm8g YWxwaGEtbGludXgtbmF0Lm8gXAotK05BVERFUEZJTEVTPSBpbmYtcHRyYWNlLm8gYWxwaGEtbGlu dXgtbmF0Lm8gXAotIAlmb3JrLWNoaWxkLm8gcHJvYy1zZXJ2aWNlLm8gbGludXgtdGhyZWFkLWRi Lm8gXAotIAlsaW51eC1uYXQubyBsaW51eC1vc2RhdGEubyBsaW51eC1mb3JrLm8gbGludXgtcHJv Y2ZzLm8KLStDT1JFTE9XX08gOj0gY29yZWxvdy5vCi0gTkFUX0NERVBTID0gJChzcmNkaXIpL3By b2Mtc2VydmljZS5saXN0Ci0gCi0gIyBUaGUgZHluYW1pY2FsbHkgbG9hZGVkIGxpYnRocmVhZF9k YiBuZWVkcyBhY2Nlc3MgdG8gc3ltYm9scyBpbiB0aGUKLS0tLSBhL2dkYi9jb25maWcvYWxwaGEv YWxwaGEtb3NmMy5taAotKysrIGIvZ2RiL2NvbmZpZy9hbHBoYS9hbHBoYS1vc2YzLm1oCi1AQCAt MSw2ICsxLDcgQEAKLSAjIEhvc3Q6IExpdHRsZS1lbmRpYW4gQWxwaGEgcnVubmluZyBPU0YvMS0z LnggYW5kIGhpZ2hlciB1c2luZyBwcm9jZnMKLSBOQVRfRklMRT0gbm0tb3NmMy5oCi0tTkFUREVQ RklMRVM9IGNvcmVsb3cubyBhbHBoYS1uYXQubyBmb3JrLWNoaWxkLm8gXAotK05BVERFUEZJTEVT PSBhbHBoYS1uYXQubyBmb3JrLWNoaWxkLm8gXAotIAlzb2xpYi1vc2YubyBwcm9jZnMubyBwcm9j LWFwaS5vIHByb2MtZXZlbnRzLm8gcHJvYy1mbGFncy5vIFwKLSAJcHJvYy13aHkubyBkZWMtdGhy ZWFkLm8KLStDT1JFTE9XX08gOj0gY29yZWxvdy5vCi0gTkFUX0NMSUJTPSAtbHB0aHJlYWRkZWJ1 ZwotLS0tIGEvZ2RiL2NvbmZpZy9hbHBoYS9mYnNkLm1oCi0rKysgYi9nZGIvY29uZmlnL2FscGhh L2Zic2QubWgKLUBAIC0xLDYgKzEsNyBAQAotICMgSG9zdDogRnJlZUJTRC9hbHBoYQotIE5BVERF UEZJTEVTPSBmb3JrLWNoaWxkLm8gaW5mLXB0cmFjZS5vIFwKLSAJZmJzZC1uYXQubyBhbHBoYWJz ZC1uYXQubyBic2Qta3ZtLm8gXAotLQljb3JlbG93Lm8gY29yZS1yZWdzZXQubwotKwljb3JlLXJl Z3NldC5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotIAotIExPQURMSUJFUz0gLWxrdm0KLS0t LSBhL2dkYi9jb25maWcvYXJtL25ic2Rhb3V0Lm1oCi0rKysgYi9nZGIvY29uZmlnL2FybS9uYnNk YW91dC5taAotQEAgLTEsMyArMSw0IEBACi0gIyBIb3N0OiBOZXRCU0QvYXJtCi0tTkFUREVQRklM RVM9IGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gY29yZWxvdy5vIGFybW5ic2QtbmF0Lm8gXAot K05BVERFUEZJTEVTPSBmb3JrLWNoaWxkLm8gaW5mLXB0cmFjZS5vIGFybW5ic2QtbmF0Lm8gXAot IAlzb2xpYi1zdW5vcy5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotLS0tIGEvZ2RiL2NvbmZp Zy9hcm0vbmJzZGVsZi5taAotKysrIGIvZ2RiL2NvbmZpZy9hcm0vbmJzZGVsZi5taAotQEAgLTEs MiArMSwzIEBACi0gIyBIb3N0OiBOZXRCU0QvYXJtCi0tTkFUREVQRklMRVM9IGZvcmstY2hpbGQu byBpbmYtcHRyYWNlLm8gY29yZWxvdy5vIGFybW5ic2QtbmF0Lm8KLStOQVRERVBGSUxFUz0gZm9y ay1jaGlsZC5vIGluZi1wdHJhY2UubyBhcm1uYnNkLW5hdC5vCi0rQ09SRUxPV19PIDo9IGNvcmVs b3cubwotLS0tIGEvZ2RiL2NvbmZpZy9pMzg2L2kzODZnbnUubWgKLSsrKyBiL2dkYi9jb25maWcv aTM4Ni9pMzg2Z251Lm1oCi1AQCAtMSw3ICsxLDggQEAKLSAjIEhvc3Q6IEludGVsIDM4NiBydW5u aW5nIHRoZSBHTlUgSHVyZAotLU5BVERFUEZJTEVTPSBpMzg2Z251LW5hdC5vIGdudS1uYXQubyBj b3JlbG93Lm8gY29yZS1yZWdzZXQubyBmb3JrLWNoaWxkLm8gXAotK05BVERFUEZJTEVTPSBpMzg2 Z251LW5hdC5vIGdudS1uYXQubyBjb3JlLXJlZ3NldC5vIGZvcmstY2hpbGQubyBcCi0gCSAgICAg bm90aWZ5X1MubyBwcm9jZXNzX3JlcGx5X1MubyBtc2dfcmVwbHlfUy5vIFwKLSAJICAgICBtc2df VS5vIGV4Y19yZXF1ZXN0X1UubyBleGNfcmVxdWVzdF9TLm8KLStDT1JFTE9XX08gOj0gY29yZWxv dy5vCi0gCi0gTkFUX0ZJTEU9IG5tLWkzODZnbnUuaAotIE1IX0NGTEFHUyA9IC1EX0dOVV9TT1VS Q0UKLS0tLSBhL2dkYi9jb25maWcvaWE2NC9ocHV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL2lhNjQv aHB1eC5taAotQEAgLTEsMyArMSw0IEBACi0gIyBIb3N0OiBpYTY0IHJ1bm5pbmcgSFAtVVgKLS1O QVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGluZi10dHJhY2UubyBjb3JlbG93Lm8gaWE2NC1ocHV4 LW5hdC5vIFwKLStOQVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGluZi10dHJhY2UubyBpYTY0LWhw dXgtbmF0Lm8gXAotICAgICAgICAgc29saWItaWE2NC1ocHV4Lm8KLStDT1JFTE9XX08gOj0gY29y ZWxvdy5vCi0tLS0gYS9nZGIvY29uZmlnL2lhNjQvbGludXgubWgKLSsrKyBiL2dkYi9jb25maWcv aWE2NC9saW51eC5taAotQEAgLTEsMTEgKzEsMTIgQEAKLSAjIEhvc3Q6IEludGVsIElBLTY0IHJ1 bm5pbmcgR05VL0xpbnV4Ci0gCi0gTkFUX0ZJTEU9IGNvbmZpZy9ubS1saW51eC5oCi0tTkFUREVQ RklMRVM9IGluZi1wdHJhY2UubyBmb3JrLWNoaWxkLm8gY29yZWxvdy5vIFwKLStOQVRERVBGSUxF Uz0gaW5mLXB0cmFjZS5vIGZvcmstY2hpbGQubyBcCi0gCWNvcmUtcmVnc2V0Lm8gaWE2NC1saW51 eC1uYXQubyBcCi0gCXByb2Mtc2VydmljZS5vIGxpbnV4LXRocmVhZC1kYi5vIFwKLSAJbGludXgt bmF0Lm8gbGludXgtb3NkYXRhLm8gbGludXgtZm9yay5vIFwKLSAJbGludXgtcHJvY2ZzLm8KLStD T1JFTE9XX08gOj0gY29yZWxvdy5vCi0gTkFUX0NERVBTID0gJChzcmNkaXIpL3Byb2Mtc2Vydmlj ZS5saXN0Ci0gCi0gTE9BRExJQkVTID0gLWxkbCAkKFJEWU5BTUlDKQotLS0tIGEvZ2RiL2NvbmZp Zy9tMzJyL2xpbnV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL20zMnIvbGludXgubWgKLUBAIC0xLDkg KzEsMTAgQEAKLSAjIEhvc3Q6IE0zMlIgYmFzZWQgbWFjaGluZSBydW5uaW5nIEdOVS9MaW51eAot IAotIE5BVF9GSUxFPSBjb25maWcvbm0tbGludXguaAotLU5BVERFUEZJTEVTPSBpbmYtcHRyYWNl Lm8gZm9yay1jaGlsZC5vIGNvcmVsb3cubwlcCi0rTkFUREVQRklMRVM9IGluZi1wdHJhY2UubyBm b3JrLWNoaWxkLm8JCQkJXAotIAltMzJyLWxpbnV4LW5hdC5vIHByb2Mtc2VydmljZS5vIGxpbnV4 LXRocmVhZC1kYi5vCVwKLSAJbGludXgtbmF0Lm8gbGludXgtb3NkYXRhLm8gbGludXgtZm9yay5v IGxpbnV4LXByb2Nmcy5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotIE5BVF9DREVQUyA9ICQo c3JjZGlyKS9wcm9jLXNlcnZpY2UubGlzdAotIAotIExPQURMSUJFUz0gLWxkbCAkKFJEWU5BTUlD KQotLS0tIGEvZ2RiL2NvbmZpZy9tNjhrL2xpbnV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL202OGsv bGludXgubWgKLUBAIC0yLDkgKzIsMTAgQEAKLSAKLSBOQVRfRklMRT0gY29uZmlnL25tLWxpbnV4 LmgKLSBOQVRERVBGSUxFUz0gaW5mLXB0cmFjZS5vIGZvcmstY2hpbGQubyBcCi0tCWNvcmVsb3cu byBtNjhrbGludXgtbmF0Lm8gXAotKwltNjhrbGludXgtbmF0Lm8gXAotIAlwcm9jLXNlcnZpY2Uu byBsaW51eC10aHJlYWQtZGIubyBcCi0gCWxpbnV4LW5hdC5vIGxpbnV4LW9zZGF0YS5vIGxpbnV4 LWZvcmsubyBsaW51eC1wcm9jZnMubwotK0NPUkVMT1dfTyA6PSBjb3JlbG93Lm8KLSBOQVRfQ0RF UFMgPSAkKHNyY2RpcikvcHJvYy1zZXJ2aWNlLmxpc3QKLSAKLSAjIFRoZSBkeW5hbWljYWxseSBs b2FkZWQgbGlidGhyZWFkX2RiIG5lZWRzIGFjY2VzcyB0byBzeW1ib2xzIGluIHRoZQotLS0tIGEv Z2RiL2NvbmZpZy9taXBzL2lyaXg1Lm1oCi0rKysgYi9nZGIvY29uZmlnL21pcHMvaXJpeDUubWgK LUBAIC0xLDMgKzEsNCBAQAotICMgSG9zdDogU0dJIElyaXMgcnVubmluZyBpcml4IDUueAotLU5B VERFUEZJTEVTPSBmb3JrLWNoaWxkLm8gaXJpeDUtbmF0Lm8gY29yZWxvdy5vIHByb2Nmcy5vIFwK LStOQVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGlyaXg1LW5hdC5vIHByb2Nmcy5vIFwKLSAJcHJv Yy1hcGkubyBwcm9jLWV2ZW50cy5vIHByb2MtZmxhZ3MubyBwcm9jLXdoeS5vCi0rQ09SRUxPV19P IDo9IGNvcmVsb3cubwotLS0tIGEvZ2RiL2NvbmZpZy9taXBzL2lyaXg2Lm1oCi0rKysgYi9nZGIv Y29uZmlnL21pcHMvaXJpeDYubWgKLUBAIC0xLDMgKzEsNCBAQAotICMgSG9zdDogU0dJIElyaXMg cnVubmluZyBpcml4IDYueAotLU5BVERFUEZJTEVTPSBmb3JrLWNoaWxkLm8gaXJpeDUtbmF0Lm8g Y29yZWxvdy5vIHByb2Nmcy5vIFwKLStOQVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGlyaXg1LW5h dC5vIHByb2Nmcy5vIFwKLSAJcHJvYy1hcGkubyBwcm9jLWV2ZW50cy5vIHByb2MtZmxhZ3MubyBw cm9jLXdoeS5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotLS0tIGEvZ2RiL2NvbmZpZy9wYS9o cHV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL3BhL2hwdXgubWgKLUBAIC0xLDMgKzEsNCBAQAotICMg SG9zdDogUEEtUklTQyBIUC1VWAotIE5BVERFUEZJTEVTPSBmb3JrLWNoaWxkLm8gaW5mLXB0cmFj ZS5vIGluZi10dHJhY2UubyBcCi0tCWhwcGEtaHB1eC1uYXQubyBjb3JlbG93Lm8gc29tcmVhZC5v Ci0rCWhwcGEtaHB1eC1uYXQubyBzb21yZWFkLm8KLStDT1JFTE9XX08gOj0gY29yZWxvdy5vCi0t LS0gYS9nZGIvY29uZmlnL3BhL2xpbnV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL3BhL2xpbnV4Lm1o Ci1AQCAtMSw5ICsxLDEwIEBACi0gIyBIb3N0OiBIZXdsZXR0LVBhY2thcmQgUEEtUklTQyBtYWNo aW5lLCBydW5uaW5nIExpbnV4Ci0gTkFUX0ZJTEU9IGNvbmZpZy9ubS1saW51eC5oCi0tTkFUREVQ RklMRVM9IGluZi1wdHJhY2UubyBmb3JrLWNoaWxkLm8gY29yZWxvdy5vIFwKLStOQVRERVBGSUxF Uz0gaW5mLXB0cmFjZS5vIGZvcmstY2hpbGQubyBcCi0gCWhwcGEtbGludXgtbmF0Lm8gcHJvYy1z ZXJ2aWNlLm8gbGludXgtdGhyZWFkLWRiLm8gXAotIAlsaW51eC1uYXQubyBsaW51eC1vc2RhdGEu byBsaW51eC1mb3JrLm8gXAotIAlsaW51eC1wcm9jZnMubwotK0NPUkVMT1dfTyA6PSBjb3JlbG93 Lm8KLSBOQVRfQ0RFUFMgPSAkKHNyY2RpcikvcHJvYy1zZXJ2aWNlLmxpc3QKLSAKLSBMT0FETElC RVMgPSAtbGRsICQoUkRZTkFNSUMpCi0tLS0gYS9nZGIvY29uZmlnL3Bvd2VycGMvYWl4Lm1oCi0r KysgYi9nZGIvY29uZmlnL3Bvd2VycGMvYWl4Lm1oCi1AQCAtMyw4ICszLDkgQEAKLSBOQVRfRklM RT0gY29uZmlnL3JzNjAwMC9ubS1yczYwMDAuaAotIAotICMgYWl4LXRocmVhZC5vIGlzIG5vdCBs aXN0ZWQgaW4gTkFUREVQRklMRVMgYXMgaXQgaXMgcHVsbGVkIGluIGJ5IGNvbmZpZ3VyZS4KLS1O QVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBjb3JlbG93Lm8gcnM2MDAwLW5h dC5vIFwKLStOQVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyByczYwMDAtbmF0 Lm8gXAotIAkgICAgIHhjb2Zmc29saWIubwotK0NPUkVMT1dfTyA6PSBjb3JlbG93Lm8KLSAKLSAj IFdoZW4gY29tcGlsZWQgd2l0aCBjYywgZm9yIGRlYnVnZ2luZywgdGhpcyBhcmd1bWVudCBzaG91 bGQgYmUgcGFzc2VkLgotICMgV2UgaGF2ZSBubyBpZGVhIHdobyBvdXIgY3VycmVudCBjb21waWxl ciBpcyB0aG91Z2gsIHNvIHdlIHNraXAgaXQuCi0tLS0gYS9nZGIvY29uZmlnL3MzOTAvczM5MC5t aAotKysrIGIvZ2RiL2NvbmZpZy9zMzkwL3MzOTAubWgKLUBAIC0xLDcgKzEsOCBAQAotICMgSG9z dDogUzM5MCwgcnVubmluZyBMaW51eAotIE5BVF9GSUxFPSBjb25maWcvbm0tbGludXguaAotLU5B VERFUEZJTEVTPSBpbmYtcHRyYWNlLm8gZm9yay1jaGlsZC5vIGNvcmVsb3cubyBzMzkwLW5hdC5v IFwKLStOQVRERVBGSUxFUz0gaW5mLXB0cmFjZS5vIGZvcmstY2hpbGQubyBzMzkwLW5hdC5vIFwK LSAJbGludXgtdGhyZWFkLWRiLm8gcHJvYy1zZXJ2aWNlLm8gXAotIAlsaW51eC1uYXQubyBsaW51 eC1vc2RhdGEubyBsaW51eC1mb3JrLm8gbGludXgtcHJvY2ZzLm8KLStDT1JFTE9XX08gOj0gY29y ZWxvdy5vCi0gTkFUX0NERVBTID0gJChzcmNkaXIpL3Byb2Mtc2VydmljZS5saXN0Ci0gTE9BRExJ QkVTID0gLWxkbCAkKFJEWU5BTUlDKQotLS0tIGEvZ2RiL2NvbmZpZy9zcGFyYy9saW51eC5taAot KysrIGIvZ2RiL2NvbmZpZy9zcGFyYy9saW51eC5taAotQEAgLTEsMTAgKzEsMTEgQEAKLSAjIEhv c3Q6IEdOVS9MaW51eCBTUEFSQwotIE5BVF9GSUxFPSBjb25maWcvbm0tbGludXguaAotIE5BVERF UEZJTEVTPSBzcGFyYy1uYXQubyBzcGFyYy1saW51eC1uYXQubyBcCi0tCWNvcmVsb3cubyBjb3Jl LXJlZ3NldC5vIGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotKwljb3JlLXJlZ3NldC5vIGZv cmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotIAlwcm9jLXNlcnZpY2UubyBsaW51eC10aHJlYWQt ZGIubyBcCi0gCWxpbnV4LW5hdC5vIGxpbnV4LW9zZGF0YS5vIGxpbnV4LWZvcmsubyBcCi0gCWxp bnV4LXByb2Nmcy5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotIE5BVF9DREVQUyA9ICQoc3Jj ZGlyKS9wcm9jLXNlcnZpY2UubGlzdAotIAotICMgVGhlIGR5bmFtaWNhbGx5IGxvYWRlZCBsaWJ0 aHJlYWRfZGIgbmVlZHMgYWNjZXNzIHRvIHN5bWJvbHMgaW4gdGhlCi0tLS0gYS9nZGIvY29uZmln L3NwYXJjL2xpbnV4NjQubWgKLSsrKyBiL2dkYi9jb25maWcvc3BhcmMvbGludXg2NC5taAotQEAg LTEsMTEgKzEsMTIgQEAKLSAjIEhvc3Q6IEdOVS9MaW51eCBVbHRyYVNQQVJDCi0gTkFUX0ZJTEU9 IGNvbmZpZy9ubS1saW51eC5oCi0gTkFUREVQRklMRVM9IHNwYXJjLW5hdC5vIHNwYXJjNjQtbmF0 Lm8gc3BhcmM2NC1saW51eC1uYXQubyBcCi0tCWNvcmVsb3cubyBjb3JlLXJlZ3NldC5vIFwKLSsJ Y29yZS1yZWdzZXQubyBcCi0gCWZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotIAlwcm9jLXNl cnZpY2UubyBsaW51eC10aHJlYWQtZGIubyBcCi0gCWxpbnV4LW5hdC5vIGxpbnV4LW9zZGF0YS5v IGxpbnV4LWZvcmsubyBcCi0gCWxpbnV4LXByb2Nmcy5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cu bwotIE5BVF9DREVQUyA9ICQoc3JjZGlyKS9wcm9jLXNlcnZpY2UubGlzdAotIAotICMgVGhlIGR5 bmFtaWNhbGx5IGxvYWRlZCBsaWJ0aHJlYWRfZGIgbmVlZHMgYWNjZXNzIHRvIHN5bWJvbHMgaW4g dGhlCi0tLS0gYS9nZGIvY29uZmlnL3NwYXJjL3NvbDIubWgKLSsrKyBiL2dkYi9jb25maWcvc3Bh cmMvc29sMi5taAotQEAgLTEsNSArMSw2IEBACi0gIyBIb3N0OiBTb2xhcmlzIFNQQVJDICYgVWx0 cmFTUEFSQwotIE5BVF9GSUxFPSBubS1zb2wyLmgKLSBOQVRERVBGSUxFUz0gc3BhcmMtc29sMi1u YXQubyBcCi0tCWNvcmVsb3cubyBjb3JlLXJlZ3NldC5vIGZvcmstY2hpbGQubyBcCi0rCWNvcmUt cmVnc2V0Lm8gZm9yay1jaGlsZC5vIFwKLSAJcHJvY2ZzLm8gcHJvYy1hcGkubyBwcm9jLWV2ZW50 cy5vIHByb2MtZmxhZ3MubyBwcm9jLXdoeS5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotLS0t IGEvZ2RiL2NvbmZpZy92YXgvdmF4Lm1oCi0rKysgYi9nZGIvY29uZmlnL3ZheC92YXgubWgKLUBA IC0xLDIgKzEsMyBAQAotICMgSG9zdDogVkFYIHJ1bm5pbmcgNC4yQlNEIG9yIFVsdHJpeAotLU5B VERFUEZJTEVTPSB2YXgtbmF0Lm8gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBjb3JlbG93Lm8K LStOQVRERVBGSUxFUz0gdmF4LW5hdC5vIGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8KLStDT1JF TE9XX08gOj0gY29yZWxvdy5vCi0tLS0gYS9nZGIvY29uZmlndXJlLmFjCi0rKysgYi9nZGIvY29u ZmlndXJlLmFjCi1AQCAtMTc0LDYgKzE3NCw3IEBAIGZpCi0gIyBBY2N1bXVsYXRlIHNvbWUgc2V0 dGluZ3MgZnJvbSBjb25maWd1cmUudGd0IG92ZXIgYWxsIGVuYWJsZWQgdGFyZ2V0cwotIAotIFRB UkdFVF9PQlM9Ci0rQ09SRUxPV19PPQotIGFsbF90YXJnZXRzPQotIAotIGZvciB0YXJnX2FsaWFz IGluIGBlY2hvICR0YXJnZXRfYWxpYXMgJGVuYWJsZV90YXJnZXRzIHwgc2VkICdzLywvIC9nJ2AK LUBAIC0xOTYsMTIgKzE5NywxNiBAQCBkbwotIAotICAgICAjIFRhcmdldC1zcGVjaWZpYyBvYmpl Y3QgZmlsZXMKLSAgICAgZm9yIGkgaW4gJHtnZGJfdGFyZ2V0X29ic307IGRvCi0tICAgICAgICBj YXNlICIgJFRBUkdFVF9PQlMgIiBpbgotLSAgICAgICAgKiIgJHtpfSAiKikgOzsKLS0gICAgICAg ICopCi0tICAgICAgICAgIFRBUkdFVF9PQlM9IiRUQVJHRVRfT0JTICR7aX0iCi0tICAgICAgICAg IDs7Ci0tICAgICAgICBlc2FjCi0rICAgICAgICBpZiB0ZXN0ICIkaSIgPSBjb3JlbG93Lm87IHRo ZW4KLSsgICAgICAgICAgICBDT1JFTE9XX089Y29yZWxvdy5vCi0rICAgICAgICBlbHNlCi0rICAg ICAgICAgICAgY2FzZSAiICRUQVJHRVRfT0JTICIgaW4KLSsgICAgICAgICAgICAqIiAke2l9ICIq KSA7OwotKyAgICAgICAgICAgICopCi0rICAgICAgICAgICAgICBUQVJHRVRfT0JTPSIkVEFSR0VU X09CUyAke2l9IgotKyAgICAgICAgICAgICAgOzsKLSsgICAgICAgICAgICBlc2FjCi0rICAgICAg ICBmaQotICAgICBkb25lCi0gCi0gICAgICMgQ2hlY2sgd2hldGhlciB0aGlzIHRhcmdldCBuZWVk cyA2NC1iaXQgQ09SRV9BRERSCi1AQCAtMjMzLDkgKzIzOCwxMSBAQCBpZiB0ZXN0IHgke2FsbF90 YXJnZXRzfSA9IHh0cnVlOyB0aGVuCi0gICBlbHNlCi0gICAgIFRBUkdFVF9PQlM9JyQoQUxMX1RB UkdFVF9PQlMpJwotICAgZmkKLSsgIENPUkVMT1dfTz1jb3JlbG93Lm8KLSBmaQotIAotIEFDX1NV QlNUKFRBUkdFVF9PQlMpCi0rQUNfU1VCU1QoQ09SRUxPV19PKQotIAotICMgRm9yIG90aGVyIHNl dHRpbmdzLCBvbmx5IHRoZSBtYWluIHRhcmdldCBjb3VudHMuCi0gZ2RiX3NpbT0KLQoKZGlmZiAt LWdpdCBhL2dkYi1idWlsZC1saWJnZGItM29mMy5wYXRjaCBiL2dkYi1idWlsZC1saWJnZGItM29m My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJiODNlZi4uMDAwMDAwMAot LS0gYS9nZGItYnVpbGQtbGliZ2RiLTNvZjMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MyAr MCwwIEBACi0tLS0gZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvY29uZmlndXJlLm9yaWcJMjAxMi0w MS0wNSAxMDoyMzowOS4yNTEyOTkwNDMgKzAxMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwMTAzL2dk Yi9jb25maWd1cmUJMjAxMi0wMS0wNSAxMDoyMzoyOS45MjEyMjU5NjggKzAxMDAKLUBAIC02ODIs NiArNjgyLDcgQEAgTE5fUwotIFJFUE9SVF9CVUdTX1RFWEkKLSBSRVBPUlRfQlVHU19UTwotIFBL R1ZFUlNJT04KLStDT1JFTE9XX08KLSBUQVJHRVRfT0JTCi0gc3ViZGlycwotIFJQTV9MSUJTCi1A QCAtODUwNCw2ICs4NTA1LDcgQEAgZmkKLSAjIEFjY3VtdWxhdGUgc29tZSBzZXR0aW5ncyBmcm9t IGNvbmZpZ3VyZS50Z3Qgb3ZlciBhbGwgZW5hYmxlZCB0YXJnZXRzCi0gCi0gVEFSR0VUX09CUz0K LStDT1JFTE9XX089Ci0gYWxsX3RhcmdldHM9Ci0gCi0gZm9yIHRhcmdfYWxpYXMgaW4gYGVjaG8g JHRhcmdldF9hbGlhcyAkZW5hYmxlX3RhcmdldHMgfCBzZWQgJ3MvLC8gL2cnYAotQEAgLTg1Mjcs MTIgKzg1MjksMTYgQEAgZmkKLSAKLSAgICAgIyBUYXJnZXQtc3BlY2lmaWMgb2JqZWN0IGZpbGVz Ci0gICAgIGZvciBpIGluICR7Z2RiX3RhcmdldF9vYnN9OyBkbwotLSAgICAgICAgY2FzZSAiICRU QVJHRVRfT0JTICIgaW4KLS0gICAgICAgICoiICR7aX0gIiopIDs7Ci0tICAgICAgICAqKQotLSAg ICAgICAgICBUQVJHRVRfT0JTPSIkVEFSR0VUX09CUyAke2l9IgotLSAgICAgICAgICA7OwotLSAg ICAgICAgZXNhYwotKyAgICAgICAgaWYgdGVzdCAiJGkiID0gY29yZWxvdy5vOyB0aGVuCi0rICAg ICAgICAgICAgQ09SRUxPV19PPWNvcmVsb3cubwotKyAgICAgICAgZWxzZQotKyAgICAgICAgICAg IGNhc2UgIiAkVEFSR0VUX09CUyAiIGluCi0rICAgICAgICAgICAgKiIgJHtpfSAiKikgOzsKLSsg ICAgICAgICAgICAqKQotKyAgICAgICAgICAgICAgVEFSR0VUX09CUz0iJFRBUkdFVF9PQlMgJHtp fSIKLSsgICAgICAgICAgICAgIDs7Ci0rICAgICAgICAgICAgZXNhYwotKyAgICAgICAgZmkKLSAg ICAgZG9uZQotIAotICAgICAjIENoZWNrIHdoZXRoZXIgdGhpcyB0YXJnZXQgbmVlZHMgNjQtYml0 IENPUkVfQUREUgotQEAgLTg1OTcsMTAgKzg2MDMsMTIgQEAgX0FDRU9GCi0gICBlbHNlCi0gICAg IFRBUkdFVF9PQlM9JyQoQUxMX1RBUkdFVF9PQlMpJwotICAgZmkKLSsgIENPUkVMT1dfTz1jb3Jl bG93Lm8KLSBmaQotIAotIAotIAotKwotICMgRm9yIG90aGVyIHNldHRpbmdzLCBvbmx5IHRoZSBt YWluIHRhcmdldCBjb3VudHMuCi0gZ2RiX3NpbT0KLSBnZGJfb3NhYmk9Ci1AQCAtMTIxNTMsNyAr MTIxNjEsNyBAQCBmb3IgYWNfaGVhZGVyIGluIG5saXN0LmggbWFjaGluZS9yZWcuaCBwCi0gCQkg IHN5cy9yZWcuaCBzeXMvZGVidWdyZWcuaCBzeXMvc2VsZWN0Lmggc3lzL3N5c2NhbGwuaCBcCi0g CQkgIHN5cy90eXBlcy5oIHN5cy93YWl0Lmggd2FpdC5oIHRlcm1pb3MuaCB0ZXJtaW8uaCBcCi0g CQkgIHNndHR5LmggdW5pc3RkLmggZWxmX2hwLmggY3R5cGUuaCB0aW1lLmggbG9jYWxlLmggXAot LSAgICAgICAgICAgICAgICAgIGRsZmNuLmgKLSsJCSAgZGxmY24uaAotIGRvIDoKLSAgIGFzX2Fj X0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAK LSBhY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAiJGFjX2hlYWRlciIgIiRh c19hY19IZWFkZXIiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKCmRpZmYgLS1naXQgYS9nZGItZ2Nj NDctZ2NvcmUtemVyby5wYXRjaCBiL2dkYi1nY2M0Ny1nY29yZS16ZXJvLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGYwZmYxLi4wMDAwMDAwCi0tLSBhL2dkYi1nY2M0Ny1n Y29yZS16ZXJvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLWh0dHA6Ly9z b3VyY2V3YXJlLm9yZy9tbC9iaW51dGlscy8yMDExLTEyL21zZzAwMjk4Lmh0bWwKLVN1YmplY3Q6 IFtwYXRjaF0gRml4IHplcm8gcmVnaXN0ZXJzIGNvcmUgZmlsZXMgdy9nY2MtNC43Ci0KLUhlbGxv IEguSi4sCi0KLXRoZXJlIGlzIGEgcmVncmVzc2lvbiBieToKLQljb21taXQgMmM5YzU1NjYxN2E3 ZGU4NjU3YzI1YjUxMmQyNzJjMjZiMDcwYWUyMgotCUF1dGhvcjogSC5KLiBMdSA8aGpsLnRvb2xz QGdtYWlsLmNvbT4KLQlEYXRlOiAgIFRodSBKdW4gMTYgMjI6MDg6MTAgMjAxMSArMDAwMAotCSAg ICBTdXBvcnQgeDMyIGdjb3JlLgotCi13aGVuIGJ1aWx0IHdpdGggLU8yIGJ5Ci0JZ2NjIChHQ0Mp IDQuNy4wIDIwMTExMjIzIChleHBlcmltZW50YWwpCi0JKG5vdCBieSA0LjYueCkKLQotYXMgdGhl IGNvZGUgdmlvbGF0ZXMgSVNPIEM5OSA2LjIuNCBpdGVtIDUgYnkgdXNpbmcgbG9jYWwgdmFyaWFi bGUgb3V0c2lkZSBvZgotaXRzIGJsb2NrLCBHQ0Mgb3B0aW1pemVzIG91dCB0aGUgc2Vjb25kIG1l bWNweSwga2VlcGluZyB0aGVyZSBvbmx5IHRoYXQKLW1lbXNldC4KLQotLi9nZGIgLW54IC4vZ2Ri IC1leCBzdGFydCAtZXggJ2djb3JlIDEnIC1leCAnc2V0IGNvbmZpcm0gbm8nIC1leCBxO2dkYiAt bnggLi9nZGIgLi8xIC1leCBxCi13aWxsIHByaW50OgotQ29yZSB3YXMgZ2VuZXJhdGVkIGJ5IGAu Li4vZ2RiL2dkYicuCi0jMCAgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCi0KLU5vIHJlZ3Jl c3Npb25zIG9uIHg4Nl82NC1mZWRvcmExNi1saW51eC1nbnUuCi0KLVByb2JhYmx5IG9idmlvdXMs IE9LIHRvIGNoZWNrIGl0IGluPwotCi0KLVRoYW5rcywKLUphbgotCi0KLWJmZC8KLTIwMTEtMTIt MjMgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCUZpeCB6 ZXJvIHJlZ2lzdGVycyBjb3JlIGZpbGVzIHdoZW4gYnVpbHQgYnkgZ2NjLTQuNy4KLQkqIGVsZjY0 LXg4Ni02NC5jIChlbGZfeDg2XzY0X3dyaXRlX2NvcmVfbm90ZSk6IFJlbW92ZSB2YXJpYWJsZXMg cCBhbmQKLQlzaXplLiAgQ2FsbCBlbGZjb3JlX3dyaXRlX25vdGUgZm9yIHRoZSBsb2NhbCB2YXJp YWJsZXMuICBSZW1vdmUgdGhlCi0JZmluYWwgZWxmY29yZV93cml0ZV9ub3RlIGNhbGwuICBBZGQg Tk9UUkVBQ0hFRCBjb21tZW50cy4KLQotLS0tIGEvYmZkL2VsZjY0LXg4Ni02NC5jCi0rKysgYi9i ZmQvZWxmNjQteDg2LTY0LmMKLUBAIC00MjAsOCArNDIwLDYgQEAgZWxmX3g4Nl82NF93cml0ZV9j b3JlX25vdGUgKGJmZCAqYWJmZCwgY2hhciAqYnVmLCBpbnQgKmJ1ZnNpeiwKLSAJCQkgICAgaW50 IG5vdGVfdHlwZSwgLi4uKQotIHsKLSAgIGNvbnN0IHN0cnVjdCBlbGZfYmFja2VuZF9kYXRhICpi ZWQgPSBnZXRfZWxmX2JhY2tlbmRfZGF0YSAoYWJmZCk7Ci0tICBjb25zdCB2b2lkICpwOwotLSAg aW50IHNpemU7Ci0gICB2YV9saXN0IGFwOwotICAgY29uc3QgY2hhciAqZm5hbWUsICpwc2FyZ3M7 Ci0gICBsb25nIHBpZDsKLUBAIC00NDUsOCArNDQzLDggQEAgZWxmX3g4Nl82NF93cml0ZV9jb3Jl X25vdGUgKGJmZCAqYWJmZCwgY2hhciAqYnVmLCBpbnQgKmJ1ZnNpeiwKLSAJICBtZW1zZXQgKCZk YXRhLCAwLCBzaXplb2YgKGRhdGEpKTsKLSAJICBzdHJuY3B5IChkYXRhLnByX2ZuYW1lLCBmbmFt ZSwgc2l6ZW9mIChkYXRhLnByX2ZuYW1lKSk7Ci0gCSAgc3RybmNweSAoZGF0YS5wcl9wc2FyZ3Ms IHBzYXJncywgc2l6ZW9mIChkYXRhLnByX3BzYXJncykpOwotLQkgIHAgPSAoY29uc3Qgdm9pZCAq KSAmZGF0YTsKLS0JICBzaXplID0gc2l6ZW9mIChkYXRhKTsKLSsJICByZXR1cm4gZWxmY29yZV93 cml0ZV9ub3RlIChhYmZkLCBidWYsIGJ1ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsCi0rCQkJCSAg ICAgJmRhdGEsIHNpemVvZiAoZGF0YSkpOwotIAl9Ci0gICAgICAgZWxzZQotIAl7Ci1AQCAtNDU0 LDEwICs0NTIsMTAgQEAgZWxmX3g4Nl82NF93cml0ZV9jb3JlX25vdGUgKGJmZCAqYWJmZCwgY2hh ciAqYnVmLCBpbnQgKmJ1ZnNpeiwKLSAJICBtZW1zZXQgKCZkYXRhLCAwLCBzaXplb2YgKGRhdGEp KTsKLSAJICBzdHJuY3B5IChkYXRhLnByX2ZuYW1lLCBmbmFtZSwgc2l6ZW9mIChkYXRhLnByX2Zu YW1lKSk7Ci0gCSAgc3RybmNweSAoZGF0YS5wcl9wc2FyZ3MsIHBzYXJncywgc2l6ZW9mIChkYXRh LnByX3BzYXJncykpOwotLQkgIHAgPSAoY29uc3Qgdm9pZCAqKSAmZGF0YTsKLS0JICBzaXplID0g c2l6ZW9mIChkYXRhKTsKLSsJICByZXR1cm4gZWxmY29yZV93cml0ZV9ub3RlIChhYmZkLCBidWYs IGJ1ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsCi0rCQkJCSAgICAgJmRhdGEsIHNpemVvZiAoZGF0 YSkpOwotIAl9Ci0tICAgICAgYnJlYWs7Ci0rICAgICAgLyogTk9UUkVBQ0hFRCAqLwotIAotICAg ICBjYXNlIE5UX1BSU1RBVFVTOgotICAgICAgIHZhX3N0YXJ0IChhcCwgbm90ZV90eXBlKTsKLUBA IC00NzUsOCArNDczLDggQEAgZWxmX3g4Nl82NF93cml0ZV9jb3JlX25vdGUgKGJmZCAqYWJmZCwg Y2hhciAqYnVmLCBpbnQgKmJ1ZnNpeiwKLSAJICAgICAgcHJzdGF0LnByX3BpZCA9IHBpZDsKLSAJ ICAgICAgcHJzdGF0LnByX2N1cnNpZyA9IGN1cnNpZzsKLSAJICAgICAgbWVtY3B5ICgmcHJzdGF0 LnByX3JlZywgZ3JlZ3MsIHNpemVvZiAocHJzdGF0LnByX3JlZykpOwotLQkgICAgICBwID0gKGNv bnN0IHZvaWQgKikgJnByc3RhdDsKLS0JICAgICAgc2l6ZSA9IHNpemVvZiAocHJzdGF0KTsKLSsJ ICAgICAgcmV0dXJuIGVsZmNvcmVfd3JpdGVfbm90ZSAoYWJmZCwgYnVmLCBidWZzaXosICJDT1JF Iiwgbm90ZV90eXBlLAotKwkJCQkJICZwcnN0YXQsIHNpemVvZiAocHJzdGF0KSk7Ci0gCSAgICB9 Ci0gCSAgZWxzZQotIAkgICAgewotQEAgLTQ4NSw4ICs0ODMsOCBAQCBlbGZfeDg2XzY0X3dyaXRl X2NvcmVfbm90ZSAoYmZkICphYmZkLCBjaGFyICpidWYsIGludCAqYnVmc2l6LAotIAkgICAgICBw cnN0YXQucHJfcGlkID0gcGlkOwotIAkgICAgICBwcnN0YXQucHJfY3Vyc2lnID0gY3Vyc2lnOwot IAkgICAgICBtZW1jcHkgKCZwcnN0YXQucHJfcmVnLCBncmVncywgc2l6ZW9mIChwcnN0YXQucHJf cmVnKSk7Ci0tCSAgICAgIHAgPSAoY29uc3Qgdm9pZCAqKSAmcHJzdGF0OwotLQkgICAgICBzaXpl ID0gc2l6ZW9mIChwcnN0YXQpOwotKwkgICAgICByZXR1cm4gZWxmY29yZV93cml0ZV9ub3RlIChh YmZkLCBidWYsIGJ1ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsCi0rCQkJCQkgJnByc3RhdCwgc2l6 ZW9mIChwcnN0YXQpKTsKLSAJICAgIH0KLSAJfQotICAgICAgIGVsc2UKLUBAIC00OTYsMTQgKzQ5 NCwxMSBAQCBlbGZfeDg2XzY0X3dyaXRlX2NvcmVfbm90ZSAoYmZkICphYmZkLCBjaGFyICpidWYs IGludCAqYnVmc2l6LAotIAkgIHByc3RhdC5wcl9waWQgPSBwaWQ7Ci0gCSAgcHJzdGF0LnByX2N1 cnNpZyA9IGN1cnNpZzsKLSAJICBtZW1jcHkgKCZwcnN0YXQucHJfcmVnLCBncmVncywgc2l6ZW9m IChwcnN0YXQucHJfcmVnKSk7Ci0tCSAgcCA9IChjb25zdCB2b2lkICopICZwcnN0YXQ7Ci0tCSAg c2l6ZSA9IHNpemVvZiAocHJzdGF0KTsKLSsJICByZXR1cm4gZWxmY29yZV93cml0ZV9ub3RlIChh YmZkLCBidWYsIGJ1ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsCi0rCQkJCSAgICAgJnByc3RhdCwg c2l6ZW9mIChwcnN0YXQpKTsKLSAJfQotLSAgICAgIGJyZWFrOwotICAgICB9Ci0tCi0tICByZXR1 cm4gZWxmY29yZV93cml0ZV9ub3RlIChhYmZkLCBidWYsIGJ1ZnNpeiwgIkNPUkUiLCBub3RlX3R5 cGUsIHAsCi0tCQkJICAgICBzaXplKTsKLSsgIC8qIE5PVFJFQUNIRUQgKi8KLSB9Ci0gI2VuZGlm Ci0gDAotCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA3MGU0YzI0Li5j MzYzZjgzIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMjMsMTIgKzIz LDEyIEBAIE5hbWU6IGdkYiV7P193aXRoX2RlYnVnOi1kZWJ1Z30KICMgU2V0IHZlcnNpb24gdG8g Y29udGVudHMgb2YgZ2RiL3ZlcnNpb24uaW4uCiAjIE5PVEU6IHRoZSBGU0YgZ2RiIHZlcnNpb25z IGFyZSBudW1iZXJlZCBOLk0gZm9yIG9mZmljaWFsIHJlbGVhc2VzLCBsaWtlIDYuMwogIyBhbmQs IHNpbmNlIEphbnVhcnkgMjAwNSwgWC5ZLlouZGF0ZSBmb3IgZGFpbHkgc25hcHNob3RzLCBsaWtl IDYuMy41MC4yMDA1MDExMiAjIChkYWlseSBzbmFwc2hvdCBmcm9tIG1haWxpbmUpLCBvciA2LjMu MC4yMDA0MDExMiAoaGVhZCBvZiB0aGUgcmVsZWFzZSBicmFuY2gpLgotJWdsb2JhbCBzbmFwIDIw MTIwMTAzCislZ2xvYmFsIHNuYXAgMjAxMjAxMjAKIFZlcnNpb246IDcuNC41MC4le3NuYXB9CiAK ICMgVGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIs IHN0YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8g c3RheSBmdWxseSBycG0gZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgot UmVsZWFzZTogOSV7P193aXRoX3Vwc3RyZWFtOi51cHN0cmVhbX0lez9kaXN0fQorUmVsZWFzZTog MTAlez9fd2l0aF91cHN0cmVhbToudXBzdHJlYW19JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMr IGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4 Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbgog R3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtNTI0LDE2ICs1MjQsNiBAQCBQYXRjaDYy NzogZ2RiLWdsaWJjLXZkc28td29ya2Fyb3VuZC5wYXRjaAogIz1wdXNoK3dvcmsKIFBhdGNoNjM0 OiBnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKIAotIyBGaXggemVybyByZWdpc3RlcnMg Y29yZSBmaWxlcyB3L2djYy00LjcuCi0jPXB1c2gKLVBhdGNoNjM4OiBnZGItZ2NjNDctZ2NvcmUt emVyby5wYXRjaAotCi0jIEZpeCBsaW5raW5nIG9uIG5vbi14ODYqIChzdWNoIGFzIHMzOTAqKSBh ZnRlciBsaWJnZGIuYSByZW1vdmFsLgotIz1wdXNoCi1QYXRjaDYzOTogZ2RiLWJ1aWxkLWxpYmdk Yi0xb2YzLnBhdGNoCi1QYXRjaDY0MDogZ2RiLWJ1aWxkLWxpYmdkYi0yb2YzLnBhdGNoCi1QYXRj aDY0MTogZ2RiLWJ1aWxkLWxpYmdkYi0zb2YzLnBhdGNoCi0KICMgV29yayBhcm91bmQgcmVhZGxp bmUtNi4yIGluY29tcGF0aWJpbGl0eSBub3QgYXNraW5nIGZvciAtLW1vcmUtLSAoQlogNzAxMTMx KS4KICM9ZmVkb3JhCiBQYXRjaDY0MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gK QEAgLTgwNiwxMCArNzk2LDYgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1leHAuYyBnZGIv b2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoNjE5IC1wMQogJXBhdGNoNjI3IC1wMQogJXBh dGNoNjM0IC1wMQotJXBhdGNoNjM4IC1wMQotJXBhdGNoNjM5IC1wMQotJXBhdGNoNjQwIC1wMQot JXBhdGNoNjQxIC1wMQogJXBhdGNoNjQzIC1wMQogCiAlcGF0Y2gzOTMgLXAxCkBAIC04NjgsMTAg Kzg1NCw2IEBAIGRvCiBta2RpciAle2dkYl9idWlsZH0kZnByb2ZpbGUKIGNkICV7Z2RiX2J1aWxk fSRmcHJvZmlsZQogCi0jIGc3NyBleGVjdXRhYmxlIGlzIG5vIGxvbmdlciBwcmVzZW50IGluIEZl ZG9yYSBnY2MtNC54Ky4KLWc3Nz0iYHdoaWNoIGdmb3J0cmFuIDI+L2Rldi9udWxsIHx8IHRydWVg IgotdGVzdCAteiAiJGc3NyIgfHwgbG4gLXMgIiRnNzciIC4vZzc3Ci0KIGV4cG9ydCBDRkxBR1M9 IiRSUE1fT1BUX0ZMQUdTIgogCiAlaWYgMCV7P193aXRoX2RlYnVnOjF9CkBAIC0xMjUwLDYgKzEy MzIsMTAgQEAgZmkKICV7X2luZm9kaXJ9L2dkYi5pbmZvKgogCiAlY2hhbmdlbG9nCisqIFNhdCBK YW4gMjEgMjAxMiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3 LjQuNTAuMjAxMjAxMjAtMTAuZmMxNworLSBSZWJhc2UgdG8gRlNGIEdEQiA3LjQuNTAuMjAxMjAx MjAuCistIERyb3AgdGhlIGc3NyAuc3BlYyBwcm92aXNpb25pbmcgYXMgaXQgaGFzIGJlZW4gZml4 ZWQgaW4gRlNGIEdEQi4KKwogKiBUaHUgSmFuIDE5IDIwMTIgSmFuIEtyYXRvY2h2aWwgPGphbi5r cmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy40LjUwLjIwMTIwMTAzLTkuZmMxNwogLSBFbmFibGUg c21hbGxlciAle19iaW5kaXJ9L2dkYiBpbiBmdXR1cmUgYnkgbm8gbG9uZ2VyIHVzaW5nIC1yZHlu YW1pYy4KIC0gTWFrZSAtLWVuYWJsZXJlcG8gdG8gdXNlICcqLWRlYnVnKicgZm9yIFJIRUwgY29t cGF0aWJpbGl0eSAoQlogNzgxNTcxKS4KCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwpp bmRleCBiM2ZhMmE2Li41ODNkNzUzIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMK QEAgLTEsMiArMSwyIEBACiAwNGU1YzRiMWI5ZTYzMzQyMmNjNDg5OTBmZTYxOTU4ZCAgbGlic3Rk YysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLWVkNjFhZTE5NjQ4M2M4OWMwYzQ4NWM0NDk3 ZDlmODE1ICBnZGItNy40LjUwLjIwMTIwMTAzLnRhci5iejIKKzlkZTg0YTIyZTRiOTZjMDhkOGQz MWE3MmQ3NzUxYzYwICBnZGItNy40LjUwLjIwMTIwMTIwLnRhci5iejIK