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] fix-dup-patch: - archer-jankratochvil-fedora12 commit: Date: Thu, 23 Jul 2026 18:29:09 GMT Message-ID: <178483134968.1.8843962795262655254.rpms-gdb-833a63eb373c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 833a63eb373c31c96a2ca3eee4e5b5bae4812e9c ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogODMzYTYzZWIzNzNjMzFjOTZhMmNhM2VlZTRlNWI1YmFlNDgxMmU5Ywog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amtyYXRvY2hAZmVkb3JhcHJvamVj dC5vcmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMDktMDgtMTFUMjE6MTU6MTMrMDA6MDAKICAg ICAgICAgICAgU3RhdHMgIDogKzE1MS8tNDEyIGluIDMgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzgzM2E2M2ViMzcz YzMxYzk2YTJjYTNlZWU0ZTViNWJhZTQ4MTJlOWM/YnJhbmNoPWZpeC1kdXAtcGF0Y2gKCiAgICAg ICAgICAgIExvZzoKICAgICAgICAgICAgLSBhcmNoZXItamFua3JhdG9jaHZpbC1mZWRvcmExMiBj b21taXQ6CiAgICAyODg4ZmFmZTYzODg5NzU3YzZmZDI3Y2NjMmYyNTY2MWQ0M2ZkMWE0Ci0gRHJv cCBhcmNoZXItamFua3JhdG9jaHZpbC12bGEgVkFST0JKIGludmFsaWRhdGUvcmV2YWxpZGF0ZSBz cGxpdCB0byBmaXgKICAgIHJlZ3Jlc3Npb25zIGFnYWluc3QgRlNGIEdEQiBIRUFELgoKLS0tCmRp ZmYgLS1naXQgYS9nZGItNi4zLXBpZS0yMDA1MDExMC5wYXRjaCBiL2dkYi02LjMtcGllLTIwMDUw MTEwLnBhdGNoCmluZGV4IGMxOTg4MTQuLjlmOGM5NDggMTAwNjQ0Ci0tLSBhL2dkYi02LjMtcGll LTIwMDUwMTEwLnBhdGNoCisrKyBiL2dkYi02LjMtcGllLTIwMDUwMTEwLnBhdGNoCkBAIC0yNiwx MCArMjYsMTAgQEAKIAogCUZpeCBzY2FuX2R5bnRhZygpIGZvciBiaW5hcmllcyBwcm92aWRlZCBi eSB2YWxncmluZCAoQlogNDYwMzE5KS4KIAotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2Ri L2FtZDY0LXRkZXAuYworSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL2FtZDY0LXRkZXAu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi02LjguNTAuMjAwOTA4MDkub3JpZy9nZGIvYW1kNjQtdGRl cC5jCTIwMDktMDgtMTAgMDA6NTA6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTYuOC41MC4y MDA5MDgwOS9nZGIvYW1kNjQtdGRlcC5jCTIwMDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTYuOC41MC4yMDA5MDgxMS5vcmlnL2dkYi9hbWQ2NC10ZGVwLmMJMjAwOS0w OC0xMSAyMzoxMjozMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNi44LjUwLjIwMDkwODExL2dk Yi9hbWQ2NC10ZGVwLmMJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0z Niw2ICszNiw3IEBACiAgI2luY2x1ZGUgInJlZ2NhY2hlLmgiCiAgI2luY2x1ZGUgInJlZ3NldC5o IgpAQCAtMTM4LDEwICsxMzgsMTAgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL2Ft ZDY0LXRkZXAuYwogICAgcmV0dXJuIHBjOwogIH0KICAKLUluZGV4OiBnZGItNi44LjUwLjIwMDkw ODA5L2dkYi9hdXh2LmMKK0luZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dkYi9hdXh2LmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNi44LjUwLjIwMDkwODA5Lm9yaWcvZ2RiL2F1eHYuYwkyMDA5LTA3 LTAyIDE5OjI1OjUyLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi02LjguNTAuMjAwOTA4MDkvZ2Ri L2F1eHYuYwkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi02Ljgu NTAuMjAwOTA4MTEub3JpZy9nZGIvYXV4di5jCTIwMDktMDctMDIgMTk6MjU6NTIuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvYXV4di5jCTIwMDktMDgtMTEgMjM6 MTI6MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtNzgsNyArNzgsNyBAQCBwcm9jZnNfeGZlcl9hdXh2 IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzCiAgICAgUmV0dXJuIDEgaWYgYW4gZW50cnkgd2FzIHJl YWQgaW50byAqVFlQRVAgYW5kICpWQUxQLiAgKi8KICBzdGF0aWMgaW50CkBAIC0yMzAsMTAgKzIz MCwxMCBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvYXV4di5jCiAgCWJyZWFrOwog ICAgICB9CiAgCi1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvYXV4di5oCitJbmRleDog Z2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvYXV4di5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTYuOC41 MC4yMDA5MDgwOS5vcmlnL2dkYi9hdXh2LmgJMjAwOS0wNi0wNyAyMTowNzowOC4wMDAwMDAwMDAg KzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9hdXh2LmgJMjAwOS0wOC0xMCAxNDo1 OTo1OC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNi44LjUwLjIwMDkwODExLm9yaWcvZ2RiL2F1 eHYuaAkyMDA5LTA2LTA3IDIxOjA3OjA4LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi02LjguNTAu MjAwOTA4MTEvZ2RiL2F1eHYuaAkyMDA5LTA4LTExIDIzOjEyOjM0LjAwMDAwMDAwMCArMDIwMAog QEAgLTMxLDE0ICszMSwxNCBAQAogICAgIFJldHVybiAxIGlmIGFuIGVudHJ5IHdhcyByZWFkIGlu dG8gKlRZUEVQIGFuZCAqVkFMUC4gICovCiAgZXh0ZXJuIGludCB0YXJnZXRfYXV4dl9wYXJzZSAo c3RydWN0IHRhcmdldF9vcHMgKm9wcywKQEAgLTI1MSwxMSArMjUxLDExIEBAIEluZGV4OiBnZGIt Ni44LjUwLjIwMDkwODA5L2dkYi9hdXh2LmgKICAKICAvKiBQcmludCB0aGUgY29udGVudHMgb2Yg dGhlIHRhcmdldCdzIEFVWFYgb24gdGhlIHNwZWNpZmllZCBmaWxlLiAqLwogIGV4dGVybiBpbnQg ZnByaW50X3RhcmdldF9hdXh2IChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgc3RydWN0IHRhcmdldF9v cHMgKm9wcyk7Ci1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvZHdhcmYycmVhZC5jCitJ bmRleDogZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvZHdhcmYycmVhZC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAwOS0wOC0xMCAx NDo1OToyOC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9kd2Fy ZjJyZWFkLmMJMjAwOS0wOC0xMCAxNDo1OTo1OC4wMDAwMDAwMDAgKzAyMDAKLUBAIC0xNjU5LDcg KzE2NTksNyBAQCBkd2FyZjJfYnVpbGRfcHN5bXRhYnMgKHN0cnVjdCBvYmpmaWxlICpvCistLS0g Z2RiLTYuOC41MC4yMDA5MDgxMS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAwOS0wOC0xMSAyMzox MjozMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNi44LjUwLjIwMDkwODExL2dkYi9kd2FyZjJy ZWFkLmMJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xNjUzLDcgKzE2 NTMsNyBAQCBkd2FyZjJfYnVpbGRfcHN5bXRhYnMgKHN0cnVjdCBvYmpmaWxlICpvCiAgICBkd2Fy ZjJfcmVhZF9zZWN0aW9uIChvYmpmaWxlLCAmZHdhcmYyX3Blcl9vYmpmaWxlLT5laF9mcmFtZSk7 CiAgICBkd2FyZjJfcmVhZF9zZWN0aW9uIChvYmpmaWxlLCAmZHdhcmYyX3Blcl9vYmpmaWxlLT5m cmFtZSk7CiAgCkBAIC0yNjQsMTAgKzI2NCwxMCBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgw OS9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAgfHwgKG9iamZpbGUtPmdsb2JhbF9wc3ltYm9scy5z aXplID09IDAKICAJICAmJiBvYmpmaWxlLT5zdGF0aWNfcHN5bWJvbHMuc2l6ZSA9PSAwKSkKICAg ICAgewotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL2VsZnJlYWQuYworSW5kZXg6IGdk Yi02LjguNTAuMjAwOTA4MTEvZ2RiL2VsZnJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi02Ljgu NTAuMjAwOTA4MDkub3JpZy9nZGIvZWxmcmVhZC5jCTIwMDktMDgtMTAgMDA6NTA6MzAuMDAwMDAw MDAwICswMjAwCi0rKysgZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvZWxmcmVhZC5jCTIwMDktMDgt MTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4yMDA5MDgxMS5vcmln L2dkYi9lbGZyZWFkLmMJMjAwOS0wOC0xMSAyMzoxMjozMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNi44LjUwLjIwMDkwODExL2dkYi9lbGZyZWFkLmMJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAw MDAwMDAgKzAyMDAKIEBAIC02ODEsNyArNjgxLDcgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0 IG9iamZpbGUgKm9iamZpbAogICAgLyogSWYgd2UgYXJlIHJlaW5pdGlhbGl6aW5nLCBvciBpZiB3 ZSBoYXZlIG5ldmVyIGxvYWRlZCBzeW1zIHlldCwKICAgICAgIHNldCB0YWJsZSB0byBlbXB0eS4g IE1BSU5MSU5FIGlzIGNsZWFyZWQgc28gdGhhdCAqX3JlYWRfcHN5bXRhYgpAQCAtMjc3LDEwICsy NzcsMTAgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL2VsZnJlYWQuYwogICAgICB7 CiAgICAgICAgaW5pdF9wc3ltYm9sX2xpc3QgKG9iamZpbGUsIDApOwogICAgICAgIG1haW5saW5l ID0gMDsKLUluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9pbmZydW4uYworSW5kZXg6IGdk Yi02LjguNTAuMjAwOTA4MTEvZ2RiL2luZnJ1bi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTYuOC41 MC4yMDA5MDgwOS5vcmlnL2dkYi9pbmZydW4uYwkyMDA5LTA4LTEwIDAwOjUwOjMwLjAwMDAwMDAw MCArMDIwMAotKysrIGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL2luZnJ1bi5jCTIwMDktMDgtMTAg MTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4yMDA5MDgxMS5vcmlnL2dk Yi9pbmZydW4uYwkyMDA5LTA4LTExIDIzOjEyOjMyLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi02 LjguNTAuMjAwOTA4MTEvZ2RiL2luZnJ1bi5jCTIwMDktMDgtMTEgMjM6MTI6MzQuMDAwMDAwMDAw ICswMjAwCiBAQCAtMzUzMSw2ICszNTMxLDEwIEBAIGluZnJ1bjogQlBTVEFUX1dIQVRfU0VUX0xP TkdKTVBfUkVTVU1FICgKICAjZW5kaWYKICAJICB0YXJnZXRfdGVybWluYWxfaW5mZXJpb3IgKCk7 CkBAIC0yOTIsMTMgKzI5MiwxMyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvaW5m cnVuLmMKICAJICAvKiBJZiByZXF1ZXN0ZWQsIHN0b3Agd2hlbiB0aGUgZHluYW1pYyBsaW5rZXIg bm90aWZpZXMKICAJICAgICBnZGIgb2YgZXZlbnRzLiAgVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8g Z2V0IGNvbnRyb2wKICAJICAgICBhbmQgcGxhY2UgYnJlYWtwb2ludHMgaW4gaW5pdGlhbGl6ZXIg cm91dGluZXMgZm9yCi1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvb2JqZmlsZXMuYwor SW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL29iamZpbGVzLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNi44LjUwLjIwMDkwODA5Lm9yaWcvZ2RiL29iamZpbGVzLmMJMjAwOS0wOC0xMCAwMDo1 MDozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9vYmpmaWxl cy5jCTIwMDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCi1AQCAtNTIsNiArNTIsOSBA QAorLS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvb2JqZmlsZXMuYwkyMDA5LTA4LTEx IDIzOjEyOjMxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL29i amZpbGVzLmMJMjAwOS0wOC0xMSAyMzoxMjo1MS4wMDAwMDAwMDAgKzAyMDAKK0BAIC01MSw2ICs1 MSw5IEBACisgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKICAjaW5jbHVkZSAiZXhlYy5oIgotICNp bmNsdWRlICJvYnNlcnZlci5oIgogIAogKyNpbmNsdWRlICJhdXh2LmgiCiArI2luY2x1ZGUgImVs Zi9jb21tb24uaCIKQEAgLTMwNiw3ICszMDYsNyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgw OS9nZGIvb2JqZmlsZXMuYwogIC8qIFByb3RvdHlwZXMgZm9yIGxvY2FsIGZ1bmN0aW9ucyAqLwog IAogIHN0YXRpYyB2b2lkIG9iamZpbGVfYWxsb2NfZGF0YSAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUpOwotQEAgLTI3OSw5ICsyODIsMTcgQEAgaW5pdF9lbnRyeV9wb2ludF9pbmZvIChzdHJ1Y3Qg b2JqZmlsZSAqbworQEAgLTI3OCw5ICsyODEsMTcgQEAgaW5pdF9lbnRyeV9wb2ludF9pbmZvIChz dHJ1Y3Qgb2JqZmlsZSAqbwogIENPUkVfQUREUgogIGVudHJ5X3BvaW50X2FkZHJlc3MgKHZvaWQp CiAgewpAQCAtMzM0LDEwICszMzQsMTAgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2Ri L29iamZpbGVzLmMKICAgIC8qIEJlZm9yZSB0aGUgc3ltYm9sIHRhYmxlIGNvZGUgd2FzIHJlZG9u ZSB0byBtYWtlIGl0IGVhc2llciB0bwogICAgICAgc2VsZWN0aXZlbHkgbG9hZCBhbmQgcmVtb3Zl IGluZm9ybWF0aW9uIHBhcnRpY3VsYXIgdG8gYSBzcGVjaWZpYwogICAgICAgbGlua2FnZSB1bml0 LCBnZGIgdXNlZCB0byBkbyB0aGVzZSB0aGluZ3Mgd2hlbmV2ZXIgdGhlIG1vbm9saXRoaWMKLUlu ZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zb2xpYi1zdnI0LmMKK0luZGV4OiBnZGItNi44 LjUwLjIwMDkwODExL2dkYi9zb2xpYi1zdnI0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNi44LjUw LjIwMDkwODA5Lm9yaWcvZ2RiL3NvbGliLXN2cjQuYwkyMDA5LTA4LTEwIDE0OjU2OjExLjAwMDAw MDAwMCArMDIwMAotKysrIGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3NvbGliLXN2cjQuYwkyMDA5 LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi02LjguNTAuMjAwOTA4MTEu b3JpZy9nZGIvc29saWItc3ZyNC5jCTIwMDktMDgtMTEgMjM6MTI6MzIuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTYuOC41MC4yMDA5MDgxMS9nZGIvc29saWItc3ZyNC5jCTIwMDktMDgtMTEgMjM6 MTI6MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtNDcsNiArNDcsNyBAQAogICNpbmNsdWRlICJleGVj LmgiCiAgI2luY2x1ZGUgImF1eHYuaCIKQEAgLTk5OSwxMCArOTk5LDEwIEBAIEluZGV4OiBnZGIt Ni44LjUwLjIwMDkwODA5L2dkYi9zb2xpYi1zdnI0LmMKICsgIGFkZF9pbmZvICgibGlua21hcCIs IGluZm9fbGlua21hcF9jb21tYW5kLAogKwkgICAgIkRpc3BsYXkgdGhlIGluZmVyaW9yJ3MgbGlu a21hcC4iKTsKICB9Ci1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc29saWIuYworSW5k ZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3NvbGliLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ni44LjUwLjIwMDkwODA5Lm9yaWcvZ2RiL3NvbGliLmMJMjAwOS0wOC0xMCAwMDo1MDozMC4wMDAw MDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zb2xpYi5jCTIwMDktMDgt MTAgMTU6MDc6MTMuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4yMDA5MDgxMS5vcmln L2dkYi9zb2xpYi5jCTIwMDktMDgtMTEgMjM6MTI6MzEuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTYuOC41MC4yMDA5MDgxMS9nZGIvc29saWIuYwkyMDA5LTA4LTExIDIzOjEyOjM0LjAwMDAwMDAw MCArMDIwMAogQEAgLTgxLDYgKzgxLDggQEAgc2V0X3NvbGliX29wcyAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIAogIAogIC8qIGV4dGVybmFsIGRhdGEgZGVjbGFyYXRpb25zICovCkBAIC0xMDIx LDcgKzEwMjEsNyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc29saWIuYwogIC8q CiAgCiAgICAgR0xPQkFMIEZVTkNUSU9OCi1AQCAtNDUzLDE0ICs0NTMsMzggQEAgc3ltYm9sX2Fk ZF9zdHViIChzdHJ1Y3Qgc29fbGlzdCAqc28sIGludAorQEAgLTQ0OSwxNCArNDUzLDM4IEBAIHN5 bWJvbF9hZGRfc3R1YiAoc3RydWN0IHNvX2xpc3QgKnNvLCBpbnQKICAgIC8qIEhhdmUgd2UgYWxy ZWFkeSBsb2FkZWQgdGhpcyBzaGFyZWQgb2JqZWN0PyAgKi8KICAgIEFMTF9PQkpGSUxFUyAoc28t Pm9iamZpbGUpCiAgICAgIHsKQEAgLTExMzksMTAgKzExMzksMTAgQEAgSW5kZXg6IGdkYi02Ljgu NTAuMjAwOTA4MDkvZ2RiL3NvbGliLmMKICsJCQkgICBOVUxMLCBOVUxMLAogKwkJCSAgICZzZXRk ZWJ1Z2xpc3QsICZzaG93ZGVidWdsaXN0KTsKICB9Ci1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDgw OS9nZGIvc29saXN0LmgKK0luZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dkYi9zb2xpc3QuaAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi02LjguNTAuMjAwOTA4MDkub3JpZy9nZGIvc29saXN0LmgJMjAw OS0wOC0xMCAwMDo1MDozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNi44LjUwLjIwMDkwODA5 L2dkYi9zb2xpc3QuaAkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvc29saXN0LmgJMjAwOS0wOC0xMSAyMzoxMjozMS4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNi44LjUwLjIwMDkwODExL2dkYi9zb2xpc3QuaAkyMDA5 LTA4LTExIDIzOjEyOjM0LjAwMDAwMDAwMCArMDIwMAogQEAgLTYxLDYgKzYxLDggQEAgc3RydWN0 IHNvX2xpc3QKICAgICAgYmZkICphYmZkOwogICAgICBjaGFyIHN5bWJvbHNfbG9hZGVkOwkvKiBm bGFnOiBzeW1ib2xzIHJlYWQgaW4geWV0PyAqLwpAQCAtMTE2MywxMCArMTE2MywxMCBAQCBJbmRl eDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc29saXN0LmgKICtleHRlcm4gaW50IGRlYnVnX3Nv bGliOwogKwogICNlbmRpZgotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZpbGUt bWVtLmMKK0luZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dkYi9zeW1maWxlLW1lbS5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi9zeW1maWxlLW1lbS5jCTIw MDktMDgtMTAgMDA6NTA6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTYuOC41MC4yMDA5MDgw OS9nZGIvc3ltZmlsZS1tZW0uYwkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAwMCArMDIwMAor LS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvc3ltZmlsZS1tZW0uYwkyMDA5LTA4LTEx IDIzOjEyOjMxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3N5 bWZpbGUtbWVtLmMJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMTUs NyArMTE1LDcgQEAgc3ltYm9sX2ZpbGVfYWRkX2Zyb21fbWVtb3J5IChzdHJ1Y3QgYmZkIAogIAkr K2k7CiAgICAgICAgfQpAQCAtMTE3NiwxMCArMTE3NiwxMCBAQCBJbmRleDogZ2RiLTYuOC41MC4y MDA5MDgwOS9nZGIvc3ltZmlsZS1tZW0uYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2FpLCBPQkpGX1NIQVJFRCk7CiAgCiAgICAvKiBUaGlzIG1pZ2h0IGNoYW5nZSBvdXIg aWRlYXMgYWJvdXQgZnJhbWVzIGFscmVhZHkgbG9va2VkIGF0LiAgKi8KLUluZGV4OiBnZGItNi44 LjUwLjIwMDkwODA5L2dkYi9zeW1maWxlLmMKK0luZGV4OiBnZGItNi44LjUwLjIwMDkwODExL2dk Yi9zeW1maWxlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNi44LjUwLjIwMDkwODA5Lm9yaWcvZ2Ri L3N5bWZpbGUuYwkyMDA5LTA4LTEwIDE0OjU5OjI4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi02 LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZpbGUuYwkyMDA5LTA4LTEwIDE0OjU5OjU4LjAwMDAwMDAw MCArMDIwMAorLS0tIGdkYi02LjguNTAuMjAwOTA4MTEub3JpZy9nZGIvc3ltZmlsZS5jCTIwMDkt MDgtMTEgMjM6MTI6MzIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTYuOC41MC4yMDA5MDgxMS9n ZGIvc3ltZmlsZS5jCTIwMDktMDgtMTEgMjM6MTI6MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtNDks NiArNDksNyBAQAogICNpbmNsdWRlICJyZWFkbGluZS9yZWFkbGluZS5oIgogICNpbmNsdWRlICJn ZGJfYXNzZXJ0LmgiCkBAIC0xMTg4LDcgKzExODgsNyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5 MDgwOS9nZGIvc3ltZmlsZS5jCiAgI2luY2x1ZGUgIm9ic2VydmVyLmgiCiAgI2luY2x1ZGUgImV4 ZWMuaCIKICAjaW5jbHVkZSAicGFyc2VyLWRlZnMuaCIKLUBAIC03ODUsNyArNzg2LDcgQEAgc3lt c19mcm9tX29iamZpbGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaQorQEAgLTc4Niw3ICs3ODcsNyBA QCBzeW1zX2Zyb21fb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpCiAgCiAgICAvKiBOb3cg ZWl0aGVyIGFkZHJzIG9yIG9mZnNldHMgaXMgbm9uLXplcm8uICAqLwogIApAQCAtMTE5Nyw3ICsx MTk3LDcgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZpbGUuYwogICAgICB7 CiAgICAgICAgLyogV2Ugd2lsbCBtb2RpZnkgdGhlIG1haW4gc3ltYm9sIHRhYmxlLCBtYWtlIHN1 cmUgdGhhdCBhbGwgaXRzIHVzZXJzCiAgICAgICAgICAgd2lsbCBiZSBjbGVhbmVkIHVwIGlmIGFu IGVycm9yIG9jY3VycyBkdXJpbmcgc3ltYm9sIHJlYWRpbmcuICAqLwotQEAgLTgxMyw3ICs4MTQs NyBAQCBzeW1zX2Zyb21fb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpCitAQCAtODE0LDcg KzgxNSw3IEBAIHN5bXNfZnJvbV9vYmpmaWxlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmkKICAKICAg ICAgIFdlIG5vIGxvbmdlciB3YXJuIGlmIHRoZSBsb3dlc3Qgc2VjdGlvbiBpcyBub3QgYSB0ZXh0 IHNlZ21lbnQgKGFzCiAgICAgICBoYXBwZW5zIGZvciB0aGUgUEE2NCBwb3J0LiAgKi8KQEAgLTEy MDYsNyArMTIwNiw3IEBAIEluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zeW1maWxlLmMK ICAgICAgewogICAgICAgIGFzZWN0aW9uICpsb3dlcl9zZWN0OwogICAgICAgIGFzZWN0aW9uICpz ZWN0OwotQEAgLTg5Niw3ICs4OTcsNyBAQCBzeW1zX2Zyb21fb2JqZmlsZSAoc3RydWN0IG9iamZp bGUgKm9iamZpCitAQCAtODk3LDcgKzg5OCw3IEBAIHN5bXNfZnJvbV9vYmpmaWxlIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmkKICAgICAgICBpbml0X29iamZpbGVfc2VjdF9pbmRpY2VzIChvYmpmaWxl KTsKICAgICAgfQogIApAQCAtMTIxNSw3ICsxMjE1LDcgQEAgSW5kZXg6IGdkYi02LjguNTAuMjAw OTA4MDkvZ2RiL3N5bWZpbGUuYwogIAogICAgLyogRGlzY2FyZCBjbGVhbnVwcyBhcyBzeW1ib2wg cmVhZGluZyB3YXMgc3VjY2Vzc2Z1bC4gICovCiAgCi1AQCAtOTE1LDE3ICs5MTYsMjIgQEAgbmV3 X3N5bWZpbGVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iagorQEAgLTkxNiwxNyArOTE3LDIy IEBAIG5ld19zeW1maWxlX29iamZpbGUgKHN0cnVjdCBvYmpmaWxlICpvYmoKICAgIC8qIElmIHRo aXMgaXMgdGhlIG1haW4gc3ltYm9sIGZpbGUgd2UgaGF2ZSB0byBjbGVhbiB1cCBhbGwgdXNlcnMg b2YgdGhlCiAgICAgICBvbGQgbWFpbiBzeW1ib2wgZmlsZS4gT3RoZXJ3aXNlIGl0IGlzIHN1ZmZp Y2llbnQgdG8gZml4dXAgYWxsIHRoZQogICAgICAgYnJlYWtwb2ludHMgdGhhdCBtYXkgaGF2ZSBi ZWVuIHJlZGVmaW5lZCBieSB0aGlzIHN5bWJvbCBmaWxlLiAgKi8KQEAgLTEyNDAsNyArMTI0MCw3 IEBAIEluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi9zeW1maWxlLmMKICAKICAgIC8qIFdl J3JlIGRvbmUgcmVhZGluZyB0aGUgc3ltYm9sIGZpbGU7IGZpbmlzaCBvZmYgY29tcGxhaW50cy4g ICovCiAgICBjbGVhcl9jb21wbGFpbnRzICgmc3ltZmlsZV9jb21wbGFpbnRzLCAwLCBhZGRfZmxh Z3MgJiBTWU1GSUxFX1ZFUkJPU0UpOwotQEAgLTk4Miw3ICs5ODgsNyBAQCBzeW1ib2xfZmlsZV9h ZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiCitAQCAtOTgwLDcgKzk4Niw3IEBAIHN5bWJvbF9m aWxlX2FkZF93aXRoX2FkZHJzX29yX29mZnNldHMgKGIKICAgIC8qIEdpdmUgdXNlciBhIGNoYW5j ZSB0byBidXJwIGlmIHdlJ2QgYmUKICAgICAgIGludGVyYWN0aXZlbHkgd2lwaW5nIG91dCBhbnkg ZXhpc3Rpbmcgc3ltYm9scy4gICovCiAgCkBAIC0xMjQ5LDcgKzEyNDksNyBAQCBJbmRleDogZ2Ri LTYuOC41MC4yMDA5MDgwOS9nZGIvc3ltZmlsZS5jCiAgICAgICAgJiYgKGhhdmVfZnVsbF9zeW1i b2xzICgpIHx8IGhhdmVfcGFydGlhbF9zeW1ib2xzICgpKQogICAgICAgICYmIGZyb21fdHR5CiAg ICAgICAgJiYgKGhhdmVfZnVsbF9zeW1ib2xzICgpIHx8IGhhdmVfcGFydGlhbF9zeW1ib2xzICgp KQotQEAgLTExODMsNiArMTE4OSw5IEBAIHN5bWJvbF9maWxlX2NsZWFyIChpbnQgZnJvbV90dHkp CitAQCAtMTE4MSw2ICsxMTg3LDkgQEAgc3ltYm9sX2ZpbGVfY2xlYXIgKGludCBmcm9tX3R0eSkK ICAJCSAgICBzeW1maWxlX29iamZpbGUtPm5hbWUpCiAgCSAgOiAhcXVlcnkgKF8oIkRpc2NhcmQg c3ltYm9sIHRhYmxlPyAiKSkpKQogICAgICBlcnJvciAoXygiTm90IGNvbmZpcm1lZC4iKSk7CkBA IC0xMjU5LDcgKzEyNTksNyBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc3ltZmls ZS5jCiAgCiAgICBmcmVlX2FsbF9vYmpmaWxlcyAoKTsKICAKLUBAIC0zMzg3LDYgKzMzOTYsOCBA QCByZXJlYWRfc3ltYm9scyAodm9pZCkKK0BAIC0zMzg1LDYgKzMzOTQsOCBAQCByZXJlYWRfc3lt Ym9scyAodm9pZCkKICAJICAgICAgLyogRGlzY2FyZCBjbGVhbnVwcyBhcyBzeW1ib2wgcmVhZGlu ZyB3YXMgc3VjY2Vzc2Z1bC4gICovCiAgCSAgICAgIGRpc2NhcmRfY2xlYW51cHMgKG9sZF9jbGVh bnVwcyk7CiAgCkBAIC0xMjY4LDEwICsxMjY4LDEwIEBAIEluZGV4OiBnZGItNi44LjUwLjIwMDkw ODA5L2dkYi9zeW1maWxlLmMKICAJICAgICAgLyogSWYgdGhlIG10aW1lIGhhcyBjaGFuZ2VkIGJl dHdlZW4gdGhlIHRpbWUgd2Ugc2V0IG5ld19tb2R0aW1lCiAgCSAgICAgICAgIGFuZCBub3csIHdl ICp3YW50KiB0aGlzIHRvIGJlIG91dCBvZiBkYXRlLCBzbyBkb24ndCBjYWxsIHN0YXQKICAJICAg ICAgICAgYWdhaW4gbm93LiAgKi8KLUluZGV4OiBnZGItNi44LjUwLjIwMDkwODA5L2dkYi90YXJn ZXQuaAorSW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3RhcmdldC5oCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTYuOC41MC4yMDA5MDgwOS5vcmlnL2dkYi90YXJnZXQuaAkyMDA5LTA4LTEwIDE0 OjU5OjI4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3Rhcmdl dC5oCTIwMDktMDgtMTAgMTQ6NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4y MDA5MDgxMS5vcmlnL2dkYi90YXJnZXQuaAkyMDA5LTA4LTExIDIzOjEyOjMyLjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi02LjguNTAuMjAwOTA4MTEvZ2RiL3RhcmdldC5oCTIwMDktMDgtMTEgMjM6 MTI6MzQuMDAwMDAwMDAwICswMjAwCiBAQCAtNTI0LDcgKzUyNCw3IEBAIHN0cnVjdCB0YXJnZXRf b3BzCiAgICAgICAgIFJldHVybiAtMSBpZiB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgYnVmZmVyIGZv ciBhIHdob2xlIGVudHJ5LgogICAgICAgICBSZXR1cm4gMSBpZiBhbiBlbnRyeSB3YXMgcmVhZCBp bnRvICpUWVBFUCBhbmQgKlZBTFAuICAqLwpAQCAtMTI4MSwxMCArMTI4MSwxMCBAQCBJbmRleDog Z2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvdGFyZ2V0LmgKICAKICAgICAgLyogU2VhcmNoIFNFQVJD SF9TUEFDRV9MRU4gYnl0ZXMgYmVnaW5uaW5nIGF0IFNUQVJUX0FERFIgZm9yIHRoZQogICAgICAg ICBzZXF1ZW5jZSBvZiBieXRlcyBpbiBQQVRURVJOIHdpdGggbGVuZ3RoIFBBVFRFUk5fTEVOLgot SW5kZXg6IGdkYi02LjguNTAuMjAwOTA4MDkvZ2RiL3N5bWZpbGUuaAorSW5kZXg6IGdkYi02Ljgu NTAuMjAwOTA4MTEvZ2RiL3N5bWZpbGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi02LjguNTAuMjAw OTA4MDkub3JpZy9nZGIvc3ltZmlsZS5oCTIwMDktMDgtMTAgMTQ6NTk6MjguMDAwMDAwMDAwICsw MjAwCi0rKysgZ2RiLTYuOC41MC4yMDA5MDgwOS9nZGIvc3ltZmlsZS5oCTIwMDktMDgtMTAgMTQ6 NTk6NTguMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTYuOC41MC4yMDA5MDgxMS5vcmlnL2dkYi9z eW1maWxlLmgJMjAwOS0wOC0xMSAyMzoxMjozMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNi44 LjUwLjIwMDkwODExL2dkYi9zeW1maWxlLmgJMjAwOS0wOC0xMSAyMzoxMjozNC4wMDAwMDAwMDAg KzAyMDAKIEBAIC0yMjksNyArMjI5LDEzIEBAIGVudW0gc3ltZmlsZV9hZGRfZmxhZ3MKICAgICAg U1lNRklMRV9NQUlOTElORSA9IDEgPDwgMiwKICAKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLnBh dGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCBiMWIwZTFkLi45ZWQ5Y2RmIDEwMDY0NAotLS0g YS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1hcmNoZXIucGF0Y2gKQEAgLTIsNyArMiw3IEBA IGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9nZGIvd2lraS9Qcm9qZWN0QXJjaGVyCiBodHRwOi8vc291 cmNld2FyZS5vcmcvZ2RiL3dpa2kvQXJjaGVyQnJhbmNoTWFuYWdlbWVudAogCiBHSVQgc25hcHNo b3Q6Ci1jb21taXQgOTNmNWU5NDJiZGNkY2MzNzZlY2U0NTJjMzA5YmVkYWJhZTcxZGVmOQorY29t bWl0IDI4ODhmYWZlNjM4ODk3NTdjNmZkMjdjY2MyZjI1NjYxZDQzZmQxYTQKIAogYnJhbmNoIGBh cmNoZXInIC0gdGhlIG1lcmdlIG9mIGJyYW5jaGVzOgogYXJjaGVyLXRyb21leS1jYWxsLWZyYW1l LWNmYQpAQCAtMzIxNCwyNiArMzIxNCwxMCBAQCBpbmRleCBiMWMwNDUyLi5kYTI0Yjk4IDEwMDY0 NAogIAogIEBub2RlIExhbmd1YWdlIFN1cHBvcnQKIGRpZmYgLS1naXQgYS9nZGIvZG9jL29ic2Vy dmVyLnRleGkgYi9nZGIvZG9jL29ic2VydmVyLnRleGkKLWluZGV4IDQ5ODRmMzEuLjRiYmJlNGUg MTAwNjQ0CitpbmRleCA0OTg0ZjMxLi5mY2YxYjVkIDEwMDY0NAogLS0tIGEvZ2RiL2RvYy9vYnNl cnZlci50ZXhpCiArKysgYi9nZGIvZG9jL29ic2VydmVyLnRleGkKLUBAIC0xMzAsNiArMTMwLDE1 IEBAIENhbGxlZCB3aXRoIEB2YXJ7b2JqZmlsZX0gZXF1YWwgdG8gQGNvZGV7TlVMTH0gdG8gaW5k aWNhdGUKLSBwcmV2aW91c2x5IGxvYWRlZCBzeW1ib2wgdGFibGUgZGF0YSBoYXMgbm93IGJlZW4g aW52YWxpZGF0ZWQuCi0gQGVuZCBkZWZ0eXBlZnVuCi0gCi0rQGRlZnR5cGVmdW4gdm9pZCBvYmpm aWxlX3VubG9hZGluZyAoc3RydWN0IG9iamZpbGUgKkB2YXJ7b2JqZmlsZX0pCi0rVGhlIGZpbGUg c3BlY2lmaWVkIGJ5IEB2YXJ7b2JqZmlsZX0gaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCBmcm9tIEB2 YWx1ZXtHREJOfS4KLStAZW5kIGRlZnR5cGVmdW4KLSsKLStAZGVmdHlwZWZ1biB2b2lkIG9iamZp bGVfdW5sb2FkZWQgKHZvaWQpCi0rUmVtb3ZhbCBvZiBAdmFye29iamZpbGV9IHN0YXJ0ZWQgYnkg QGNvZGV7b2JqZmlsZV91bmxvYWRpbmd9IGZpbmlzaGVkIGFuZAotK0B2YXJ7b2JqZmlsZX0gaXMg bm8gbG9uZ2VyIGtub3duIHRvIEB2YWx1ZXtHREJOfS4KLStAZW5kIGRlZnR5cGVmdW4KLSsKLSBA ZGVmdHlwZWZ1biB2b2lkIG5ld190aHJlYWQgKHN0cnVjdCB0aHJlYWRfaW5mbyAqQHZhcnt0fSkK LSBUaGUgdGhyZWFkIHNwZWNpZmllZCBieSBAdmFye3R9IGhhcyBiZWVuIGNyZWF0ZWQuCi0gQGVu ZCBkZWZ0eXBlZnVuCi1AQCAtMjA2LDYgKzIxNSwxMSBAQCBFaXRoZXIgQHZhbHVle0dEQk59IGRl dGFjaGVkIGZyb20gdGhlIGluZmVyaW9yLCBvciB0aGUgaW5mZXJpb3IKK0BAIC0yMDYsNiArMjA2 LDExIEBAIEVpdGhlciBAdmFsdWV7R0RCTn0gZGV0YWNoZWQgZnJvbSB0aGUgaW5mZXJpb3IsIG9y IHRoZSBpbmZlcmlvcgogIGV4aXRlZC4gIFRoZSBhcmd1bWVudCBAdmFye3BpZH0gaWRlbnRpZmll cyB0aGUgaW5mZXJpb3IuCiAgQGVuZCBkZWZ0eXBlZnVuCiAgCkBAIC0xMDUxMywyMyArMTA0OTcs MTcgQEAgaW5kZXggYTg0MDAzZi4uOTI0YzFjNSAxMDA2NDQKICAgIGRlZmF1bHRfc3ltZmlsZV9v ZmZzZXRzLAkvKiBzeW1fb2Zmc2V0czogZHVtbXkgRklYTUUgdGlsIGltcGxlbSBzeW0gcmVsb2Mg Ki8KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJLyogc3ltX3NlZ21lbnRzOiBHZXQgc2Vn bWVudCBpbmZvcm1hdGlvbiBmcm9tCiBkaWZmIC0tZ2l0IGEvZ2RiL29iamZpbGVzLmMgYi9nZGIv b2JqZmlsZXMuYwotaW5kZXggNTg2ZjVkMC4uYTRiZjcxOSAxMDA2NDQKK2luZGV4IDU4NmY1ZDAu LjZkMDQ1MWMgMTAwNjQ0CiAtLS0gYS9nZGIvb2JqZmlsZXMuYwogKysrIGIvZ2RiL29iamZpbGVz LmMKLUBAIC00MzIsMTAgKzQzMiw5IEBAIGZyZWVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUpCi0gCSBkb2Vzbid0IHJlZmVyZW5jZSBpdC4gICovCi0gICAgICAgb2JqZmlsZS0+c2Vw YXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluay0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9IE5V TEw7Ci0gICAgIH0KLS0gIAotLSAgLyogUmVtb3ZlIGFueSByZWZlcmVuY2VzIHRvIHRoaXMgb2Jq ZmlsZSBpbiB0aGUgZ2xvYmFsIHZhbHVlCi0tICAgICBsaXN0cy4gICovCi0tICBwcmVzZXJ2ZV92 YWx1ZXMgKG9iamZpbGUpOwotKwotKyAgLyogUmVtb3ZlIGFueSByZWZlcmVuY2VzIHRvIHRoaXMg b2JqZmlsZSBpbiB0aGUgZ2xvYmFsIHZhbHVlIGxpc3RzLiAgKi8KLSsgIG9ic2VydmVyX25vdGlm eV9vYmpmaWxlX3VubG9hZGluZyAob2JqZmlsZSk7CitAQCAtNTAsNyArNTAsNiBAQAorICNpbmNs dWRlICJhZGRybWFwLmgiCisgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKKyAjaW5jbHVkZSAiZXhl Yy5oIgorLSNpbmNsdWRlICJvYnNlcnZlci5oIgorIAorIC8qIFByb3RvdHlwZXMgZm9yIGxvY2Fs IGZ1bmN0aW9ucyAqLwogIAotICAgLyogRmlyc3QgZG8gYW55IHN5bWJvbCBmaWxlIHNwZWNpZmlj IGFjdGlvbnMgcmVxdWlyZWQgd2hlbiB3ZSBhcmUKLSAgICAgIGZpbmlzaGVkIHdpdGggYSBwYXJ0 aWN1bGFyIHN5bWJvbCBmaWxlLiAgTm90ZSB0aGF0IGlmIHRoZSBvYmpmaWxlCiBAQCAtNDU4LDEy ICs0NTcsMTQgQEAgZnJlZV9vYmpmaWxlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKICAKICAg IHVubGlua19vYmpmaWxlIChvYmpmaWxlKTsKQEAgLTEwODQyLDcgKzEwODIwLDcgQEAgaW5kZXgg Y2JkYTljMy4uYTA3ZTZmMiAxMDA2NDQKICsKICAjZW5kaWYgLyogUEFSU0VSX0RFRlNfSCAqLwog ZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMKLWluZGV4IDVkOGI5 MzYuLjQ5YzU3NWQgMTAwNjQ0CitpbmRleCA1ZDhiOTM2Li5mYjBhNDU1IDEwMDY0NAogLS0tIGEv Z2RiL3ByaW50Y21kLmMKICsrKyBiL2dkYi9wcmludGNtZC5jCiBAQCAtNDYsNyArNDYsNiBAQApA QCAtMTA5MzksMTMgKzEwOTE3LDExIEBAIGluZGV4IDVkOGI5MzYuLjQ5YzU3NWQgMTAwNjQ0CiAg LyogZGlzcGxheV9jaGFpbiBpdGVtcyBwb2ludCB0byBibG9ja3MgYW5kIGV4cHJlc3Npb25zLiAg U29tZSBleHByZXNzaW9ucyBpbgogICAgIHR1cm4gbWF5IHBvaW50IHRvIHN5bWJvbHMuCiAgICAg Qm90aCBzeW1ib2xzIGFuZCBibG9ja3MgYXJlIG9ic3RhY2tfYWxsb2MnZCBvbiBvYmpmaWxlX3N0 YWNrLCBhbmQgYXJlCi1AQCAtMTg1MSwyMCArMTgyNywxOCBAQCBkaXNwbGF5X3VzZXNfc29saWJf cCAoY29uc3Qgc3RydWN0IGRpc3BsYXkgKmQsCi0gICAgYW4gaXRlbSBieSByZS1wYXJzaW5nIC5l eHBfc3RyaW5nIGZpZWxkIGluIHRoZSBuZXcgZXhlY3V0aW9uIGNvbnRleHQuICAqLwotIAorQEAg LTE4NTMsMTggKzE4MjksMjAgQEAgZGlzcGxheV91c2VzX3NvbGliX3AgKGNvbnN0IHN0cnVjdCBk aXNwbGF5ICpkLAogIHN0YXRpYyB2b2lkCi0tY2xlYXJfZGFuZ2xpbmdfZGlzcGxheV9leHByZXNz aW9ucyAoc3RydWN0IHNvX2xpc3QgKnNvbGliKQotK2NsZWFyX2RhbmdsaW5nX2Rpc3BsYXlfZXhw cmVzc2lvbnMgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorIGNsZWFyX2RhbmdsaW5nX2Rpc3Bs YXlfZXhwcmVzc2lvbnMgKHN0cnVjdCBzb19saXN0ICpzb2xpYikKICB7CisrICBzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSA9IHNvbGliLT5vYmpmaWxlOwogICAgc3RydWN0IGRpc3BsYXkgKmQ7CiAt ICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IE5VTEw7CiAgCkBAIC0xMDk1OCw2ICsxMDkzNCw5 IEBAIGluZGV4IDVkOGI5MzYuLjQ5YzU3NWQgMTAwNjQ0CiAtCSAgZC0+YmxvY2sgPSBOVUxMOwog LQl9CiAtICAgIH0KKysgIGlmIChvYmpmaWxlID09IE5VTEwpCisrICAgIHJldHVybjsKKysKICsg IGZvciAoZCA9IGRpc3BsYXlfY2hhaW47IGQgIT0gTlVMTDsgZCA9IGQtPm5leHQpCiArICAgIGlm IChibG9ja19vYmpmaWxlIChkLT5ibG9jaykgPT0gb2JqZmlsZQogKwl8fCAoZC0+ZXhwICYmIGV4 cF91c2VzX29iamZpbGUgKGQtPmV4cCwgb2JqZmlsZSkpKQpAQCAtMTA5NjksMTYgKzEwOTQ4LDcg QEAgaW5kZXggNWQ4YjkzNi4uNDljNTc1ZCAxMDA2NDQKICB9CiAgDAogIAotQEAgLTI1OTMsNyAr MjU2Nyw3IEBAIF9pbml0aWFsaXplX3ByaW50Y21kICh2b2lkKQotIAotICAgY3VycmVudF9kaXNw bGF5X251bWJlciA9IC0xOwotIAotLSAgb2JzZXJ2ZXJfYXR0YWNoX3NvbGliX3VubG9hZGVkIChj bGVhcl9kYW5nbGluZ19kaXNwbGF5X2V4cHJlc3Npb25zKTsKLSsgIG9ic2VydmVyX2F0dGFjaF9v YmpmaWxlX3VubG9hZGluZyAoY2xlYXJfZGFuZ2xpbmdfZGlzcGxheV9leHByZXNzaW9ucyk7Ci0g Ci0gICBhZGRfaW5mbyAoImFkZHJlc3MiLCBhZGRyZXNzX2luZm8sCi0gCSAgICBfKCJEZXNjcmli ZSB3aGVyZSBzeW1ib2wgU1lNIGlzIHN0b3JlZC4iKSk7Ci1AQCAtMjc0OSw0ICsyNzIzLDYgQEAg U2hvdyBwcmludGluZyBvZiBzb3VyY2UgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIHdpdGggPHN5 bWJvbD4uIiksIE5VTEwsCitAQCAtMjc0OSw0ICsyNzI3LDYgQEAgU2hvdyBwcmludGluZyBvZiBz b3VyY2UgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIHdpdGggPHN5bWJvbD4uIiksIE5VTEwsCiAg CQkJICAgTlVMTCwKICAJCQkgICBzaG93X3ByaW50X3N5bWJvbF9maWxlbmFtZSwKICAJCQkgICAm c2V0cHJpbnRsaXN0LCAmc2hvd3ByaW50bGlzdCk7CkBAIC0xNzQ5NywyNiArMTc0NjcsMTMgQEAg aW5kZXggMWMzNzgwMS4uNTk0ZWIxNiAxMDA2NDQKICAJICBwcmludF92YXJpYWJsZV9hbmRfdmFs dWUgKE5VTEwsIHN5bSwgZnJhbWUsIHN0cmVhbSwgNCAqIG51bV90YWJzKTsKICAJICBicmVhazsK IGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5jIGIvZ2RiL3N5bWZpbGUuYwotaW5kZXggYzE4MmZh YS4uOGI5NzFmYiAxMDA2NDQKK2luZGV4IGMxODJmYWEuLjU1MGQwNmEgMTAwNjQ0CiAtLS0gYS9n ZGIvc3ltZmlsZS5jCiArKysgYi9nZGIvc3ltZmlsZS5jCi1AQCAtNTIsNyArNTIsNiBAQAotICNp bmNsdWRlICJvYnNlcnZlci5oIgotICNpbmNsdWRlICJleGVjLmgiCi0gI2luY2x1ZGUgInBhcnNl ci1kZWZzLmgiCi0tI2luY2x1ZGUgInZhcm9iai5oIgotICNpbmNsdWRlICJlbGYtYmZkLmgiCi0g I2luY2x1ZGUgInNvbGliLmgiCi0gI2luY2x1ZGUgInJlbW90ZS5oIgotQEAgLTkyNiw2ICs5MjUs MjAgQEAgbmV3X3N5bWZpbGVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBh ZGRfZmxhZ3MpCi0gCi0gICAvKiBXZSdyZSBkb25lIHJlYWRpbmcgdGhlIHN5bWJvbCBmaWxlOyBm aW5pc2ggb2ZmIGNvbXBsYWludHMuICAqLworQEAgLTkyOCw2ICs5MjgsMTcgQEAgbmV3X3N5bWZp bGVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBhZGRfZmxhZ3MpCiAgICBj bGVhcl9jb21wbGFpbnRzICgmc3ltZmlsZV9jb21wbGFpbnRzLCAwLCBhZGRfZmxhZ3MgJiBTWU1G SUxFX1ZFUkJPU0UpOwotKwotKyAgLyogV2UgaGF2ZSBmaW5pc2hlZCB1bmxvYWRpbmcgb2YgT0JK RklMRS4gICovCi0rICBvYnNlcnZlcl9ub3RpZnlfb2JqZmlsZV91bmxvYWRlZCAoKTsKLSt9Ci0r CisgfQorIAogKy8qIEEgaGVscGVyIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdHJ1ZSBpZiBPQkpG SUxFIGhhcyBhbnkgZGVidWcKICsgICBzeW1ib2xzLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLiAgKi8K ICtzdGF0aWMgaW50CkBAIC0xNzUyNiwxMCArMTc0ODMsMTIgQEAgaW5kZXggYzE4MmZhYS4uOGI5 NzFmYiAxMDA2NDQKICsJICB8fCAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZQogKwkg ICAgICAmJiAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZS0+cHN5bXRhYnMKICsJCSAg fHwgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZS0+cXVpY2tfYWRkcm1hcCkpKTsKLSB9 Ci0gCisrfQorKwogIC8qIFByb2Nlc3MgYSBzeW1ib2wgZmlsZSwgYXMgZWl0aGVyIHRoZSBtYWlu IGZpbGUgb3IgYXMgYSBkeW5hbWljYWxseQotQEAgLTk2NSwxMyArOTc4LDE2IEBAIHN5bWJvbF9m aWxlX2FkZF93aXRoX2FkZHJzX29yX29mZnNldHMgKGJmZCAqYWJmZCwKKyAgICBsb2FkZWQgZmls ZS4KKyAKK0BAIC05NjUsMTMgKzk3NiwxNiBAQCBzeW1ib2xfZmlsZV9hZGRfd2l0aF9hZGRyc19v cl9vZmZzZXRzIChiZmQgKmFiZmQsCiAgICAvKiBHaXZlIHVzZXIgYSBjaGFuY2UgdG8gYnVycCBp ZiB3ZSdkIGJlCiAgICAgICBpbnRlcmFjdGl2ZWx5IHdpcGluZyBvdXQgYW55IGV4aXN0aW5nIHN5 bWJvbHMuICAqLwogIApAQCAtMTc1NDgsNyArMTc1MDcsNyBAQCBpbmRleCBjMTgyZmFhLi44Yjk3 MWZiIDEwMDY0NAogICAgZGlzY2FyZF9jbGVhbnVwcyAobXlfY2xlYW51cHMpOwogIAogICAgaWYg KGFkZHJzKQotQEAgLTEwMDcsNiArMTAyMyw4IEBAIHN5bWJvbF9maWxlX2FkZF93aXRoX2FkZHJz X29yX29mZnNldHMgKGJmZCAqYWJmZCwKK0BAIC0xMDA3LDYgKzEwMjEsOCBAQCBzeW1ib2xfZmls ZV9hZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiZmQgKmFiZmQsCiAgCiAgICBpZiAoKGZsYWdz ICYgT0JKRl9SRUFETk9XKSB8fCByZWFkbm93X3N5bWJvbF9maWxlcykKICAgICAgewpAQCAtMTc1 NTcsNyArMTc1MTYsNyBAQCBpbmRleCBjMTgyZmFhLi44Yjk3MWZiIDEwMDY0NAogICAgICAgIGlm ICgoZnJvbV90dHkgfHwgaW5mb192ZXJib3NlKSAmJiBwcmludF9zeW1ib2xfbG9hZGluZykKICAJ ewogIAkgIHByaW50Zl91bmZpbHRlcmVkIChfKCJleHBhbmRpbmcgdG8gZnVsbCBzeW1ib2xzLi4u IikpOwotQEAgLTEwMjUsNyArMTA0Myw3IEBAIHN5bWJvbF9maWxlX2FkZF93aXRoX2FkZHJzX29y X29mZnNldHMgKGJmZCAqYWJmZCwKK0BAIC0xMDI1LDcgKzEwNDEsNyBAQCBzeW1ib2xfZmlsZV9h ZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiZmQgKmFiZmQsCiAgICAvKiBJZiB0aGUgZmlsZSBo YXMgaXRzIG93biBzeW1ib2wgdGFibGVzIGl0IGhhcyBubyBzZXBhcmF0ZSBkZWJ1ZyBpbmZvLgog ICAgICAgYC5keW5zeW0nL2Auc3ltdGFiJyBnbyB0byBNU1lNQk9MUywgYC5kZWJ1Z19pbmZvJyBn b2VzIHRvIFNZTVRBQlMvUFNZTVRBQlMuCiAgICAgICBgLmdudV9kZWJ1Z2xpbmsnIG1heSBubyBs b25nZXIgYmUgcHJlc2VudCB3aXRoIGAubm90ZS5nbnUuYnVpbGQtaWQnLiAgKi8KQEAgLTE3NTY2 LDcgKzE3NTI1LDcgQEAgaW5kZXggYzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQKICAgICAgZGVidWdm aWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlIChvYmpmaWxlKTsKICAgIGlmIChkZWJ1Z2Zp bGUpCiAgICAgIHsKLUBAIC0xMDQ5LDggKzEwNjcsMTEgQEAgc3ltYm9sX2ZpbGVfYWRkX3dpdGhf YWRkcnNfb3Jfb2Zmc2V0cyAoYmZkICphYmZkLAorQEAgLTEwNDksOCArMTA2NSwxMSBAQCBzeW1i b2xfZmlsZV9hZGRfd2l0aF9hZGRyc19vcl9vZmZzZXRzIChiZmQgKmFiZmQsCiAgICAgICAgeGZy ZWUgKGRlYnVnZmlsZSk7CiAgICAgIH0KICAKQEAgLTE3NTgwLDcgKzE3NTM5LDcgQEAgaW5kZXgg YzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQKICAgICAgewogICAgICAgIHdyYXBfaGVyZSAoIiIpOwog ICAgICAgIHByaW50Zl91bmZpbHRlcmVkIChfKCIobm8gZGVidWdnaW5nIHN5bWJvbHMgZm91bmQp IikpOwotQEAgLTExNjYsNyArMTE4Nyw5IEBAIHN5bWJvbF9maWxlX2NsZWFyIChpbnQgZnJvbV90 dHkpCitAQCAtMTE2Niw3ICsxMTg1LDkgQEAgc3ltYm9sX2ZpbGVfY2xlYXIgKGludCBmcm9tX3R0 eSkKICAgICAgIGRlc2NyaXB0b3JzIGFzIHdlbGwuICAqLwogICAgbm9fc2hhcmVkX2xpYnJhcmll cyAoTlVMTCwgZnJvbV90dHkpOwogIApAQCAtMTc1OTEsMTYgKzE3NTUwLDcgQEAgaW5kZXggYzE4 MmZhYS4uOGI5NzFmYiAxMDA2NDQKICAgIGlmIChmcm9tX3R0eSkKICAgICAgcHJpbnRmX3VuZmls dGVyZWQgKF8oIk5vIHN5bWJvbCBmaWxlIG5vdy5cbiIpKTsKICB9Ci1AQCAtMjM0OSw3ICsyMzcy LDcgQEAgcmVyZWFkX3N5bWJvbHMgKHZvaWQpCi0gCi0gCSAgICAgIC8qIFJlbW92ZSBhbnkgcmVm ZXJlbmNlcyB0byB0aGlzIG9iamZpbGUgaW4gdGhlIGdsb2JhbAotIAkJIHZhbHVlIGxpc3RzLiAg Ki8KLS0JICAgICAgcHJlc2VydmVfdmFsdWVzIChvYmpmaWxlKTsKLSsJICAgICAgb2JzZXJ2ZXJf bm90aWZ5X29iamZpbGVfdW5sb2FkaW5nIChvYmpmaWxlKTsKLSAKLSAJICAgICAgLyogTnVrZSBh bGwgdGhlIHN0YXRlIHRoYXQgd2Ugd2lsbCByZS1yZWFkLiAgTXVjaCBvZiB0aGUgZm9sbG93aW5n Ci0gCSAgICAgICAgIGNvZGUgd2hpY2ggc2V0cyB0aGluZ3MgdG8gTlVMTCByZWFsbHkgaXMgbmVj ZXNzYXJ5IHRvIHRlbGwKLUBAIC0yNDM3LDEzICsyNDYwLDE1IEBAIHJlcmVhZF9zeW1ib2xzICh2 b2lkKQorQEAgLTI0MzcsMTMgKzI0NTgsMTUgQEAgcmVyZWFkX3N5bWJvbHMgKHZvaWQpCiAgCSAg ICAgICAgIHplcm8gaXMgT0sgc2luY2UgZGJ4cmVhZC5jIGFsc28gZG9lcyB3aGF0IGl0IG5lZWRz IHRvIGRvIGlmCiAgCSAgICAgICAgIG9iamZpbGUtPmdsb2JhbF9wc3ltYm9scy5zaXplIGlzIDAu ICAqLwogIAkgICAgICAoKm9iamZpbGUtPnNmLT5zeW1fcmVhZCkgKG9iamZpbGUsIDApOwpAQCAt MTc2MTcsMTcgKzE3NTY3LDcgQEAgaW5kZXggYzE4MmZhYS4uOGI5NzFmYiAxMDA2NDQKICAJICAg ICAgLyogV2UncmUgZG9uZSByZWFkaW5nIHRoZSBzeW1ib2wgZmlsZTsgZmluaXNoIG9mZiBjb21w bGFpbnRzLiAgKi8KICAJICAgICAgY2xlYXJfY29tcGxhaW50cyAoJnN5bWZpbGVfY29tcGxhaW50 cywgMCwgMSk7CiAgCi1AQCAtMjQ1Miw2ICsyNDc3LDkgQEAgcmVyZWFkX3N5bWJvbHMgKHZvaWQp Ci0gCi0gCSAgICAgIHJlaW5pdF9mcmFtZV9jYWNoZSAoKTsKLSAKLSsJICAgICAgLyogV2UgaGF2 ZSBmaW5pc2hlZCByZWxvYWRpbmcgb2YgT0JKRklMRS4gICovCi0rCSAgICAgIG9ic2VydmVyX25v dGlmeV9vYmpmaWxlX3VubG9hZGVkICgpOwotKwotIAkgICAgICAvKiBEaXNjYXJkIGNsZWFudXBz IGFzIHN5bWJvbCByZWFkaW5nIHdhcyBzdWNjZXNzZnVsLiAgKi8KLSAJICAgICAgZGlzY2FyZF9j bGVhbnVwcyAob2xkX2NsZWFudXBzKTsKLSAKLUBAIC0yNzQxLDcgKzI3NjksNyBAQCBhbGxvY2F0 ZV9zeW10YWIgKGNoYXIgKmZpbGVuYW1lLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKK0BAIC0y NzQxLDcgKzI3NjQsNyBAQCBhbGxvY2F0ZV9zeW10YWIgKGNoYXIgKmZpbGVuYW1lLCBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSkKICB9CiAgCiAgc3RydWN0IHBhcnRpYWxfc3ltdGFiICoKQEAgLTE3 NjM2LDE4ICsxNzU3Niw3IEBAIGluZGV4IGMxODJmYWEuLjhiOTcxZmIgMTAwNjQ0CiAgewogICAg c3RydWN0IHBhcnRpYWxfc3ltdGFiICpwc3ltdGFiOwogIAotQEAgLTI4MzIsMTAgKzI4NjAsNiBA QCBjbGVhcl9zeW10YWJfdXNlcnMgKHZvaWQpCi0gICAgICBiZXR3ZWVuIGV4cHJlc3Npb25zIGFu ZCB3aGljaCBvdWdodCB0byBiZSByZXNldCBlYWNoIHRpbWUuICAqLwotICAgZXhwcmVzc2lvbl9j b250ZXh0X2Jsb2NrID0gTlVMTDsKLSAgIGlubmVybW9zdF9ibG9jayA9IE5VTEw7Ci0tCi0tICAv KiBWYXJvYmogbWF5IHJlZmVyIHRvIG9sZCBzeW1ib2xzLCBwZXJmb3JtIGEgY2xlYW51cC4gICov Ci0tICB2YXJvYmpfaW52YWxpZGF0ZSAoKTsKLS0KLSB9Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC0z MDU1LDcgKzMwNzksOCBAQCBhZ2FpbjI6CitAQCAtMzA1NSw3ICszMDc4LDggQEAgYWdhaW4yOgog IAogIHN0cnVjdCBwYXJ0aWFsX3N5bXRhYiAqCiAgc3RhcnRfcHN5bXRhYl9jb21tb24gKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlLApAQCAtMjUyMDEsNyArMjUxMzAsNyBAQCBpbmRleCBjYmI1ZDk0 Li5jZjM1YmYwIDEwMDY0NAogIAkgICsrcmVwczsKICAJICArK3JlcDE7CiBkaWZmIC0tZ2l0IGEv Z2RiL3ZhbHVlLmMgYi9nZGIvdmFsdWUuYwotaW5kZXggNjVhNWFhOS4uYzk0Mzc4MSAxMDA2NDQK K2luZGV4IDY1YTVhYTkuLmZhMzlkM2QgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuYwogKysrIGIv Z2RiL3ZhbHVlLmMKIEBAIC0zNyw4ICszNywxMCBAQApAQCAtMjU0NjcsMTUgKzI1Mzk2LDYgQEAg aW5kZXggNjVhNWFhOS4uYzk0Mzc4MSAxMDA2NDQKICAgICAgICBicmVhazsKICAKICAgICAgY2Fz ZSBJTlRFUk5BTFZBUl9WQUxVRToKLUBAIC0xNDY5LDcgKzE1NTEsNyBAQCBwcmVzZXJ2ZV9vbmVf aW50ZXJuYWx2YXIgKHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyLCBzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwKLSAgICB0aGlzIG9iamZpbGUncyB0eXBlcywgYW5kIHRoZSBjb252ZW5pZW5jZSB2YXJp YWJsZXMgd2lsbCBiZSBhZGp1c3RlZCB0bwotICAgIHVzZSB0aGUgbmV3IGdsb2JhbCB0eXBlcy4g ICovCi0gCi0tdm9pZAotK3N0YXRpYyB2b2lkCi0gcHJlc2VydmVfdmFsdWVzIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSkKLSB7Ci0gICBodGFiX3QgY29waWVkX3R5cGVzOwogQEAgLTE0OTAsOCAr MTU3Miw3IEBAIHByZXNlcnZlX3ZhbHVlcyAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCiAgICBm b3IgKHZhciA9IGludGVybmFsdmFyczsgdmFyOyB2YXIgPSB2YXItPm5leHQpCiAgICAgIHByZXNl cnZlX29uZV9pbnRlcm5hbHZhciAodmFyLCBvYmpmaWxlLCBjb3BpZWRfdHlwZXMpOwpAQCAtMjU1 NjcsMTggKzI1NDg3LDE3IEBAIGluZGV4IDY1YTVhYTkuLmM5NDM3ODEgMTAwNjQ0CiAgLyogQ3Jl YXRlIGEgdmFsdWUgcmVwcmVzZW50aW5nIGEgcG9pbnRlciBvZiB0eXBlIFRZUEUgdG8gdGhlIGFk ZHJlc3MKICAgICBBRERSLiAgKi8KICBzdHJ1Y3QgdmFsdWUgKgotQEAgLTIzNDIsNCArMjQ3Niw5 IEBAIFZBUklBQkxFIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuIikpOworQEAgLTIzNDIsNCArMjQ3 Niw4IEBAIFZBUklBQkxFIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuIikpOwogICAgYWRkX3ByZWZp eF9jbWQgKCJmdW5jdGlvbiIsIG5vX2NsYXNzLCBmdW5jdGlvbl9jb21tYW5kLCBfKCJcCiAgUGxh Y2Vob2xkZXIgY29tbWFuZCBmb3Igc2hvd2luZyBoZWxwIG9uIGNvbnZlbmllbmNlIGZ1bmN0aW9u cy4iKSwKICAJCSAgJmZ1bmN0aW9ubGlzdCwgImZ1bmN0aW9uICIsIDAsICZjbWRsaXN0KTsKICsK ICsgIG1ha2VfZmluYWxfY2xlYW51cCAodmFsdWVfaGlzdG9yeV9jbGVhbnVwLCBOVUxMKTsKICsK LSsgIG9ic2VydmVyX2F0dGFjaF9vYmpmaWxlX3VubG9hZGluZyAocHJlc2VydmVfdmFsdWVzKTsK ICsgIG9ic2VydmVyX2F0dGFjaF9tYXJrX3VzZWQgKHZhbHVlX3R5cGVzX21hcmtfdXNlZCk7CiAg fQogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3ZhbHVlLmgKLWluZGV4IDI5YWQ3ODMu LmVlODQ0MGIgMTAwNjQ0CitpbmRleCAyOWFkNzgzLi5jMzU3ZDgwIDEwMDY0NAogLS0tIGEvZ2Ri L3ZhbHVlLmgKICsrKyBiL2dkYi92YWx1ZS5oCiBAQCAtMzQ0LDExICszNDQsMTYgQEAgZXh0ZXJu IExPTkdFU1QgdW5wYWNrX2ZpZWxkX2FzX2xvbmcgKHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMjU2 MDYsMTMgKzI1NTI1LDcgQEAgaW5kZXggMjlhZDc4My4uZWU4NDQwYiAxMDA2NDQKICAJCQkJCSAg aW50IHdhbnRfYWRkcmVzcywKICAJCQkJCSAgZW51bSBub3NpZGUgbm9zaWRlKTsKICAKLUBAIC02 NTgsMTIgKzY2NCwxMiBAQCBleHRlcm4gdm9pZCB0eXBlZGVmX3ByaW50IChzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IHN5bWJvbCAqbmV3cywKLSAKLSBleHRlcm4gY2hhciAqaW50ZXJuYWx2YXJf bmFtZSAoc3RydWN0IGludGVybmFsdmFyICp2YXIpOwotIAotLWV4dGVybiB2b2lkIHByZXNlcnZl X3ZhbHVlcyAoc3RydWN0IG9iamZpbGUgKik7Ci0tCi0gLyogRnJvbSB2YWx1ZXMuYyAqLworQEAg LTY2NCw2ICs2NzAsOCBAQCBleHRlcm4gdm9pZCBwcmVzZXJ2ZV92YWx1ZXMgKHN0cnVjdCBvYmpm aWxlICopOwogIAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2NvcHkgKHN0cnVjdCB2YWx1 ZSAqKTsKICAKQEAgLTI1NjIxLDcgKzI1NTM0LDcgQEAgaW5kZXggMjlhZDc4My4uZWU4NDQwYiAx MDA2NDQKICAvKiBGcm9tIHZhbG9wcy5jICovCiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFy eWluZ190b19zbGljZSAoc3RydWN0IHZhbHVlICopOwotQEAgLTY4MSw3ICs2ODcsNyBAQCBleHRl cm4gc3RydWN0IHZhbHVlICp2YWx1ZV9hbGxvY2F0ZV9zcGFjZV9pbl9pbmZlcmlvciAoaW50KTsK K0BAIC02ODEsNyArNjg5LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfYWxsb2NhdGVf c3BhY2VfaW5faW5mZXJpb3IgKGludCk7CiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfb2Zf bG9jYWwgKGNvbnN0IGNoYXIgKm5hbWUsIGludCBjb21wbGFpbik7CiAgCiAgZXh0ZXJuIHN0cnVj dCB2YWx1ZSAqdmFsdWVfc3Vic2NyaXB0ZWRfcnZhbHVlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LApA QCAtMjU2MzEsMTAgKzI1NTQ0LDEwIEBAIGluZGV4IDI5YWQ3ODMuLmVlODQ0MGIgMTAwNjQ0CiAg LyogVXNlciBmdW5jdGlvbiBoYW5kbGVyLiAgKi8KICAKIGRpZmYgLS1naXQgYS9nZGIvdmFyb2Jq LmMgYi9nZGIvdmFyb2JqLmMKLWluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CitpbmRleCA0 YTk0OTg4Li5mMjY1NGYwIDEwMDY0NAogLS0tIGEvZ2RiL3Zhcm9iai5jCiArKysgYi9nZGIvdmFy b2JqLmMKLUBAIC0yNiwxNCArMjYsMTggQEAKK0BAIC0yNiw5ICsyNiwxMiBAQAogICNpbmNsdWRl ICJnZGJjbWQuaCIKICAjaW5jbHVkZSAiYmxvY2suaCIKICAjaW5jbHVkZSAidmFscHJpbnQuaCIK QEAgLTI1NjQ3LDEzICsyNTU2MCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAg CiAgI2luY2x1ZGUgInZhcm9iai5oIgogICNpbmNsdWRlICJ2ZWMuaCIKLSAjaW5jbHVkZSAiZ2Ri dGhyZWFkLmgiCi0gI2luY2x1ZGUgImluZmVyaW9yLmgiCi0rI2luY2x1ZGUgIm9ic2VydmVyLmgi Ci0gCi0gI2lmIEhBVkVfUFlUSE9OCi0gI2luY2x1ZGUgInB5dGhvbi9weXRob24uaCIKLUBAIC01 OSw2ICs2MywxNSBAQCBjaGFyICp2YXJvYmpfZm9ybWF0X3N0cmluZ1tdID0KK0BAIC01OSw2ICs2 MiwxNSBAQCBjaGFyICp2YXJvYmpfZm9ybWF0X3N0cmluZ1tdID0KICAvKiBTdHJpbmcgcmVwcmVz ZW50YXRpb25zIG9mIGdkYidzIGtub3duIGxhbmd1YWdlcyAqLwogIGNoYXIgKnZhcm9ial9sYW5n dWFnZV9zdHJpbmdbXSA9IHsgInVua25vd24iLCAiQyIsICJDKysiLCAiSmF2YSIgfTsKICAKQEAg LTI1NjY5LDcgKzI1NTc2LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAvKiBE YXRhIHN0cnVjdHVyZXMgKi8KICAKICAvKiBFdmVyeSByb290IHZhcmlhYmxlIGhhcyBvbmUgb2Yg dGhlc2Ugc3RydWN0dXJlcyBzYXZlZCBpbiBpdHMKLUBAIC0xNzMsOSArMTg2LDMxIEBAIHN0cnVj dCB2YXJvYmoKK0BAIC0xNzMsOSArMTg1LDMxIEBAIHN0cnVjdCB2YXJvYmoKICAgICAgIGZyb3pl bi4gICovCiAgICBpbnQgbm90X2ZldGNoZWQ7CiAgCkBAIC0yNTcwMSw3ICsyNTYwOCw3IEBAIGlu ZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgfTsKICAKICBzdHJ1Y3QgY3BzdGFjawotQEAg LTIyMSw2ICsyNTYsOCBAQCBzdGF0aWMgdm9pZCBmcmVlX3ZhcmlhYmxlIChzdHJ1Y3QgdmFyb2Jq ICp2YXIpOworQEAgLTIyMSw2ICsyNTUsOCBAQCBzdGF0aWMgdm9pZCBmcmVlX3ZhcmlhYmxlIChz dHJ1Y3QgdmFyb2JqICp2YXIpOwogIAogIHN0YXRpYyBzdHJ1Y3QgY2xlYW51cCAqbWFrZV9jbGVh bnVwX2ZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhcik7CiAgCkBAIC0yNTcxMCw3ICsy NTYxNyw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgc3RhdGljIHN0cnVjdCB0 eXBlICpnZXRfdHlwZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsKICAKICBzdGF0aWMgc3RydWN0IHR5 cGUgKmdldF92YWx1ZV90eXBlIChzdHJ1Y3QgdmFyb2JqICp2YXIpOwotQEAgLTIzNiw4ICsyNzMs NiBAQCBzdGF0aWMgY2hhciAqY3Bwb3AgKHN0cnVjdCBjcHN0YWNrICoqcHN0YWNrKTsKK0BAIC0y MzYsOCArMjcyLDYgQEAgc3RhdGljIGNoYXIgKmNwcG9wIChzdHJ1Y3QgY3BzdGFjayAqKnBzdGFj ayk7CiAgc3RhdGljIGludCBpbnN0YWxsX25ld192YWx1ZSAoc3RydWN0IHZhcm9iaiAqdmFyLCBz dHJ1Y3QgdmFsdWUgKnZhbHVlLCAKICAJCQkgICAgICBpbnQgaW5pdGlhbCk7CiAgCkBAIC0yNTcx OSw3ICsyNTYyNiw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgLyogTGFuZ3Vh Z2Utc3BlY2lmaWMgcm91dGluZXMuICovCiAgCiAgc3RhdGljIGVudW0gdmFyb2JqX2xhbmd1YWdl cyB2YXJpYWJsZV9sYW5ndWFnZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsKLUBAIC00NTAsNiArNDg1 LDggQEAgaXNfcm9vdF9wIChzdHJ1Y3QgdmFyb2JqICp2YXIpCitAQCAtNDUwLDYgKzQ4NCw4IEBA IGlzX3Jvb3RfcCAoc3RydWN0IHZhcm9iaiAqdmFyKQogIHN0cnVjdCBjbGVhbnVwICoKICB2YXJv YmpfZW5zdXJlX3B5dGhvbl9lbnYgKHN0cnVjdCB2YXJvYmogKnZhcikKICB7CkBAIC0yNTcyOCw3 ICsyNTYzNSw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgICByZXR1cm4gZW5z dXJlX3B5dGhvbl9lbnYgKHZhci0+cm9vdC0+ZXhwLT5nZGJhcmNoLAogIAkJCSAgICB2YXItPnJv b3QtPmV4cC0+bGFuZ3VhZ2VfZGVmbik7CiAgfQotQEAgLTYxNCw5ICs2NTEsOSBAQCB2YXJvYmpf Y3JlYXRlIChjaGFyICpvYmpuYW1lLAorQEAgLTYxNCw5ICs2NTAsOSBAQCB2YXJvYmpfY3JlYXRl IChjaGFyICpvYmpuYW1lLAogIAkgIGRvX2NsZWFudXBzIChvbGRfY2hhaW4pOwogIAkgIHJldHVy biBOVUxMOwogIAl9CkBAIC0yNTczOSw3ICsyNTY0Niw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMz ZmIgMTAwNjQ0CiAgICBkaXNjYXJkX2NsZWFudXBzIChvbGRfY2hhaW4pOwogICAgcmV0dXJuIHZh cjsKICB9Ci1AQCAtNzMxLDE1ICs3NjgsOCBAQCBpbnN0YW50aWF0ZV9wcmV0dHlfcHJpbnRlciAo UHlPYmplY3QgKmNvbnN0cnVjdG9yLCBzdHJ1Y3QgdmFsdWUgKnZhbHVlKQorQEAgLTczMSwxNSAr NzY3LDggQEAgaW5zdGFudGlhdGVfcHJldHR5X3ByaW50ZXIgKFB5T2JqZWN0ICpjb25zdHJ1Y3Rv ciwgc3RydWN0IHZhbHVlICp2YWx1ZSkKICAjaWYgSEFWRV9QWVRIT04KICAgIFB5T2JqZWN0ICp2 YWxfb2JqID0gTlVMTDsgCiAgICBQeU9iamVjdCAqcHJpbnRlcjsKQEAgLTI1NzU1LDcgKzI1NjYy LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAgIGlmICghIHZhbF9vYmopCiAg ICAgIHJldHVybiBOVUxMOwogIAotQEAgLTc5Miw3ICs4MjIsMTIgQEAgdmFyb2JqX2dldF9kaXNw bGF5X2hpbnQgKHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC03OTIsNyArODIxLDEyIEBAIHZhcm9i al9nZXRfZGlzcGxheV9oaW50IChzdHJ1Y3QgdmFyb2JqICp2YXIpCiAgICBjaGFyICpyZXN1bHQg PSBOVUxMOwogIAogICNpZiBIQVZFX1BZVEhPTgpAQCAtMjU3NjksNyArMjU2NzYsNyBAQCBpbmRl eCA0YTk0OTg4Li4zNDMzM2ZiIDEwMDY0NAogIAogICAgaWYgKHZhci0+cHJldHR5X3ByaW50ZXIp CiAgICAgIHJlc3VsdCA9IGdkYnB5X2dldF9kaXNwbGF5X2hpbnQgKHZhci0+cHJldHR5X3ByaW50 ZXIpOwotQEAgLTgwMyw2ICs4MzgsMTcgQEAgdmFyb2JqX2dldF9kaXNwbGF5X2hpbnQgKHN0cnVj dCB2YXJvYmogKnZhcikKK0BAIC04MDMsNiArODM3LDE3IEBAIHZhcm9ial9nZXRfZGlzcGxheV9o aW50IChzdHJ1Y3QgdmFyb2JqICp2YXIpCiAgICByZXR1cm4gcmVzdWx0OwogIH0KICAKQEAgLTI1 Nzg3LDcgKzI1Njk0LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAvKiBJZiB0 aGUgdmFyaWFibGUgb2JqZWN0IGlzIGJvdW5kIHRvIGEgc3BlY2lmaWMgdGhyZWFkLCB0aGF0CiAg ICAgaXMgaXRzIGV2YWx1YXRpb24gY2FuIGFsd2F5cyBiZSBkb25lIGluIGNvbnRleHQgb2YgYSBm cmFtZQogICAgIGluc2lkZSB0aGF0IHRocmVhZCwgcmV0dXJucyBHREIgaWQgb2YgdGhlIHRocmVh ZCAtLSB3aGljaAotQEAgLTgzNSwyMiArODgxLDczIEBAIHZhcm9ial9nZXRfZnJvemVuIChzdHJ1 Y3QgdmFyb2JqICp2YXIpCitAQCAtODM1LDIyICs4ODAsNzMgQEAgdmFyb2JqX2dldF9mcm96ZW4g KHN0cnVjdCB2YXJvYmogKnZhcikKICAgIHJldHVybiB2YXItPmZyb3plbjsKICB9CiAgCkBAIC0y NTg2OSw3ICsyNTc3Niw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgICBQeU9i amVjdCAqcHJpbnRlciA9IHZhci0+cHJldHR5X3ByaW50ZXI7CiAgCiAgICBiYWNrX3RvID0gdmFy b2JqX2Vuc3VyZV9weXRob25fZW52ICh2YXIpOwotQEAgLTg2Miw5NiArOTU5LDEwMyBAQCB1cGRh dGVfZHluYW1pY192YXJvYmpfY2hpbGRyZW4gKHN0cnVjdCB2YXJvYmogKnZhciwKK0BAIC04NjIs OTYgKzk1OCwxMDMgQEAgdXBkYXRlX2R5bmFtaWNfdmFyb2JqX2NoaWxkcmVuIChzdHJ1Y3QgdmFy b2JqICp2YXIsCiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAKQEAgLTI1ODg0LDI2ICsyNTc5 MSwyNiBAQCBpbmRleCA0YTk0OTg4Li4zNDMzM2ZiIDEwMDY0NAogLSAgICB9CiArICAgICAgY2hp bGRyZW4gPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyAocHJpbnRlciwgZ2RicHlfY2hpbGRy ZW5fY3N0LAogKwkJCQkJICAgICBOVUxMKTsKLSAKLS0gIG1ha2VfY2xlYW51cF9weV9kZWNyZWYg KGNoaWxkcmVuKTsKKysKICsgICAgICBpZiAoIWNoaWxkcmVuKQogKwl7CiArCSAgZ2RicHlfcHJp bnRfc3RhY2sgKCk7CiArCSAgZXJyb3IgKF8oIk51bGwgdmFsdWUgcmV0dXJuZWQgZm9yIGNoaWxk cmVuIikpOwogKwl9CiAgCistICBtYWtlX2NsZWFudXBfcHlfZGVjcmVmIChjaGlsZHJlbik7Cisr ICAgICAgbWFrZV9jbGVhbnVwX3B5X2RlY3JlZiAoY2hpbGRyZW4pOworIAogLSAgaWYgKCFQeUl0 ZXJfQ2hlY2sgKGNoaWxkcmVuKSkKIC0gICAgZXJyb3IgKF8oIlJldHVybmVkIHZhbHVlIGlzIG5v dCBpdGVyYWJsZSIpKTsKLSsgICAgICBtYWtlX2NsZWFudXBfcHlfZGVjcmVmIChjaGlsZHJlbik7 CisrICAgICAgaWYgKCFQeUl0ZXJfQ2hlY2sgKGNoaWxkcmVuKSkKKysJZXJyb3IgKF8oIlJldHVy bmVkIHZhbHVlIGlzIG5vdCBpdGVyYWJsZSIpKTsKICAKIC0gIGl0ZXJhdG9yID0gUHlPYmplY3Rf R2V0SXRlciAoY2hpbGRyZW4pOwogLSAgaWYgKCFpdGVyYXRvcikKIC0gICAgewogLSAgICAgIGdk YnB5X3ByaW50X3N0YWNrICgpOwogLSAgICAgIGVycm9yIChfKCJDb3VsZCBub3QgZ2V0IGNoaWxk cmVuIGl0ZXJhdG9yIikpOwotKyAgICAgIGlmICghUHlJdGVyX0NoZWNrIChjaGlsZHJlbikpCi0r CWVycm9yIChfKCJSZXR1cm5lZCB2YWx1ZSBpcyBub3QgaXRlcmFibGUiKSk7Ci0rCiArICAgICAg UHlfWERFQ1JFRiAodmFyLT5jaGlsZF9pdGVyKTsKICsgICAgICB2YXItPmNoaWxkX2l0ZXIgPSBQ eU9iamVjdF9HZXRJdGVyIChjaGlsZHJlbik7CiArICAgICAgaWYgKCF2YXItPmNoaWxkX2l0ZXIp CkBAIC0yNjAzNyw3ICsyNTk0NCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAg ICByZXR1cm4gMTsKICAjZWxzZQogICAgZ2RiX2Fzc2VydCAoMCAmJiAic2hvdWxkIG5ldmVyIGJl IGNhbGxlZCBpZiBQeXRob24gaXMgbm90IGVuYWJsZWQiKTsKLUBAIC05NjQsOCArMTA2OCw3IEBA IHZhcm9ial9nZXRfbnVtX2NoaWxkcmVuIChzdHJ1Y3QgdmFyb2JqICp2YXIpCitAQCAtOTY0LDgg KzEwNjcsNyBAQCB2YXJvYmpfZ2V0X251bV9jaGlsZHJlbiAoc3RydWN0IHZhcm9iaiAqdmFyKQog ICAgaWYgKHZhci0+bnVtX2NoaWxkcmVuID09IC0xKQogICAgICB7CiAgICAgICAgaW50IGNoYW5n ZWQ7CkBAIC0yNjA0Nyw3ICsyNTk1NCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0 CiAgCXZhci0+bnVtX2NoaWxkcmVuID0gbnVtYmVyX29mX2NoaWxkcmVuICh2YXIpOwogICAgICB9 CiAgCi1AQCAtOTc2LDcgKzEwNzksNyBAQCB2YXJvYmpfZ2V0X251bV9jaGlsZHJlbiAoc3RydWN0 IHZhcm9iaiAqdmFyKQorQEAgLTk3Niw3ICsxMDc4LDcgQEAgdmFyb2JqX2dldF9udW1fY2hpbGRy ZW4gKHN0cnVjdCB2YXJvYmogKnZhcikKICAgICB0aGUgcmV0dXJuIGNvZGUgaXMgdGhlIG51bWJl ciBvZiBzdWNoIGNoaWxkcmVuIG9yIC0xIG9uIGVycm9yICovCiAgCiAgVkVDICh2YXJvYmpfcCkq CkBAIC0yNjA1Niw3ICsyNTk2Myw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAg ewogICAgc3RydWN0IHZhcm9iaiAqY2hpbGQ7CiAgICBjaGFyICpuYW1lOwotQEAgLTk4OCw4ICsx MDkxLDEyIEBAIHZhcm9ial9saXN0X2NoaWxkcmVuIChzdHJ1Y3QgdmFyb2JqICp2YXIpCitAQCAt OTg4LDggKzEwOTAsMTIgQEAgdmFyb2JqX2xpc3RfY2hpbGRyZW4gKHN0cnVjdCB2YXJvYmogKnZh cikKICAgICAgICAvKiBUaGlzLCBpbiB0aGVvcnksIGNhbiByZXN1bHQgaW4gdGhlIG51bWJlciBv ZiBjaGlsZHJlbiBjaGFuZ2luZyB3aXRob3V0CiAgCSBmcm9udGVuZCBub3RpY2luZy4gIEJ1dCB3 ZWxsLCBjYWxsaW5nIC12YXItbGlzdC1jaGlsZHJlbiBvbiB0aGUgc2FtZQogIAkgdmFyb2JqIHR3 aWNlIGlzIG5vdCBzb21ldGhpbmcgYSBzYW5lIGZyb250ZW5kIHdvdWxkIGRvLiAgKi8KQEAgLTI2 MDcxLDcgKzI1OTc4LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAKICAgIGlm ICh2YXItPm51bV9jaGlsZHJlbiA9PSAtMSkKICAgICAgdmFyLT5udW1fY2hpbGRyZW4gPSBudW1i ZXJfb2ZfY2hpbGRyZW4gKHZhcik7Ci1AQCAtMTAxNSwxMCArMTEyMiwxMCBAQCB2YXJvYmpfbGlz dF9jaGlsZHJlbiAoc3RydWN0IHZhcm9iaiAqdmFyKQorQEAgLTEwMTUsMTAgKzExMjEsMTAgQEAg dmFyb2JqX2xpc3RfY2hpbGRyZW4gKHN0cnVjdCB2YXJvYmogKnZhcikKICAJICBuYW1lID0gbmFt ZV9vZl9jaGlsZCAodmFyLCBpKTsKICAJICBleGlzdGluZyA9IGNyZWF0ZV9jaGlsZCAodmFyLCBp LCBuYW1lKTsKICAJICBWRUNfcmVwbGFjZSAodmFyb2JqX3AsIHZhci0+Y2hpbGRyZW4sIGksIGV4 aXN0aW5nKTsKQEAgLTI2MDgzLDcgKzI1OTkwLDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAx MDA2NDQKICAgIHJldHVybiB2YXItPmNoaWxkcmVuOwogIH0KICAKLUBAIC0xMDI5LDcgKzExMzYs NiBAQCB2YXJvYmpfYWRkX2NoaWxkIChzdHJ1Y3QgdmFyb2JqICp2YXIsIGNvbnN0IGNoYXIgKm5h bWUsIHN0cnVjdCB2YWx1ZSAqdmFsdWUpCitAQCAtMTAyOSw3ICsxMTM1LDYgQEAgdmFyb2JqX2Fk ZF9jaGlsZCAoc3RydWN0IHZhcm9iaiAqdmFyLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFs dWUgKnZhbHVlKQogIAkJCQkJVkVDX2xlbmd0aCAodmFyb2JqX3AsIHZhci0+Y2hpbGRyZW4pLCAK ICAJCQkJCW5hbWUsIHZhbHVlKTsKICAgIFZFQ19zYWZlX3B1c2ggKHZhcm9ial9wLCB2YXItPmNo aWxkcmVuLCB2KTsKQEAgLTI2MDkxLDcgKzI1OTk4LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNm YiAxMDA2NDQKICAgIHJldHVybiB2OwogIH0KICAKLUBAIC0xMTY4LDYgKzEyNzQsMTE1IEBAIHZh cm9ial9zZXRfdmFsdWUgKHN0cnVjdCB2YXJvYmogKnZhciwgY2hhciAqZXhwcmVzc2lvbikKK0BA IC0xMTY4LDYgKzEyNzMsMTE1IEBAIHZhcm9ial9zZXRfdmFsdWUgKHN0cnVjdCB2YXJvYmogKnZh ciwgY2hhciAqZXhwcmVzc2lvbikKICAgIHJldHVybiAxOwogIH0KICAKQEAgLTI2MjA3LDcgKzI2 MTE0LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAvKiBBc3NpZ24gYSBuZXcg dmFsdWUgdG8gYSB2YXJpYWJsZSBvYmplY3QuICBJZiBJTklUSUFMIGlzIG5vbi16ZXJvLAogICAg IHRoaXMgaXMgdGhlIGZpcnN0IGFzc2lnbmVtZW50IGFmdGVyIHRoZSB2YXJpYWJsZSBvYmplY3Qg d2FzIGp1c3QKICAgICBjcmVhdGVkLCBvciBjaGFuZ2VkIHR5cGUuICBJbiB0aGF0IGNhc2UsIGp1 c3QgYXNzaWduIHRoZSB2YWx1ZSAKLUBAIC0xMjc0LDcgKzE0ODksNyBAQCBpbnN0YWxsX25ld192 YWx1ZSAoc3RydWN0IHZhcm9iaiAqdmFyLCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBpbnQgaW5pdGlh bCkKK0BAIC0xMjc0LDcgKzE0ODgsNyBAQCBpbnN0YWxsX25ld192YWx1ZSAoc3RydWN0IHZhcm9i aiAqdmFyLCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBpbnQgaW5pdGlhbCkKICAJewogIAkgIGNoYW5n ZWQgPSAxOwogIAl9CkBAIC0yNjIxNiw3ICsyNjEyMyw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMz ZmIgMTAwNjQ0CiAgCXsKICAJICAvKiBUcnkgdG8gY29tcGFyZSB0aGUgdmFsdWVzLiAgVGhhdCBy ZXF1aXJlcyB0aGF0IGJvdGgKICAJICAgICB2YWx1ZXMgYXJlIG5vbi1sYXp5LiAgKi8KLUBAIC0x MzI4LDY1ICsxNTQzLDMyIEBAIGluc3RhbGxfbmV3X3ZhbHVlIChzdHJ1Y3QgdmFyb2JqICp2YXIs IHN0cnVjdCB2YWx1ZSAqdmFsdWUsIGludCBpbml0aWFsKQorQEAgLTEzMjgsNjUgKzE1NDIsMzIg QEAgaW5zdGFsbF9uZXdfdmFsdWUgKHN0cnVjdCB2YXJvYmogKnZhciwgc3RydWN0IHZhbHVlICp2 YWx1ZSwgaW50IGluaXRpYWwpCiAgICAgIHZhci0+bm90X2ZldGNoZWQgPSAwOwogICAgdmFyLT51 cGRhdGVkID0gMDsKICAKQEAgLTI2Mjk5LDcgKzI2MjA2LDcgQEAgaW5kZXggNGE5NDk4OC4uMzQz MzNmYiAxMDA2NDQKICB9CiAgCiAgdm9pZCAKLUBAIC0xNDA0LDMxICsxNTg2LDE5IEBAIHZhcm9i al9zZXRfdmlzdWFsaXplciAoc3RydWN0IHZhcm9iaiAqdmFyLCBjb25zdCBjaGFyICp2aXN1YWxp emVyKQorQEAgLTE0MDQsMzEgKzE1ODUsMTkgQEAgdmFyb2JqX3NldF92aXN1YWxpemVyIChzdHJ1 Y3QgdmFyb2JqICp2YXIsIGNvbnN0IGNoYXIgKnZpc3VhbGl6ZXIpCiAgICBtYWtlX2NsZWFudXBf cHlfZGVjcmVmIChnbG9iYWxzKTsKICAKICAgIGNvbnN0cnVjdG9yID0gUHlSdW5fU3RyaW5nICh2 aXN1YWxpemVyLCBQeV9ldmFsX2lucHV0LCBnbG9iYWxzLCBnbG9iYWxzKTsKQEAgLTI2MzEyLDkg KzI2MjE5LDkgQEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKIC0gICAgfQogLSAgZWxz ZQogLSAgICBwcmV0dHlfcHJpbnRlciA9IGluc3RhbnRpYXRlX3ByZXR0eV9wcmludGVyIChjb25z dHJ1Y3RvciwgdmFyLT52YWx1ZSk7Ci0tCi0tICBQeV9YREVDUkVGIChjb25zdHJ1Y3Rvcik7CiAg CistICBQeV9YREVDUkVGIChjb25zdHJ1Y3Rvcik7CistCiAtICBpZiAoISBwcmV0dHlfcHJpbnRl cikKICsgIGlmICghIGNvbnN0cnVjdG9yKQogICAgICB7CkBAIC0yNjMzNyw3ICsyNjI0NCw3IEBA IGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiAgCiAgICBkb19jbGVhbnVwcyAoYmFja190 byk7CiAgI2Vsc2UKLUBAIC0xNTQzLDcgKzE3MTMsNyBAQCBWRUModmFyb2JqX3VwZGF0ZV9yZXN1 bHQpICp2YXJvYmpfdXBkYXRlIChzdHJ1Y3QgdmFyb2JqICoqdmFycCwgaW50IGV4cGxpY2l0KQor QEAgLTE1NDMsNyArMTcxMiw3IEBAIFZFQyh2YXJvYmpfdXBkYXRlX3Jlc3VsdCkgKnZhcm9ial91 cGRhdGUgKHN0cnVjdCB2YXJvYmogKip2YXJwLCBpbnQgZXhwbGljaXQpCiAgCSBVSSwgc28gd2Ug bmVlZCBub3QgYm90aGVyIGdldHRpbmcgaXQuICAqLwogICAgICAgIGlmICh2LT5wcmV0dHlfcHJp bnRlcikKICAJewpAQCAtMjYzNDYsNyArMjYyNTMsNyBAQCBpbmRleCA0YTk0OTg4Li4zNDMzM2Zi IDEwMDY0NAogIAkgIGludCBpLCBjaGlsZHJlbl9jaGFuZ2VkOwogIAkgIHZhcm9ial9wIHRtcDsK ICAKLUBAIC0xNTU1LDI4ICsxNzI1LDI4IEBAIFZFQyh2YXJvYmpfdXBkYXRlX3Jlc3VsdCkgKnZh cm9ial91cGRhdGUgKHN0cnVjdCB2YXJvYmogKip2YXJwLCBpbnQgZXhwbGljaXQpCitAQCAtMTU1 NSwyOCArMTcyNCwyOCBAQCBWRUModmFyb2JqX3VwZGF0ZV9yZXN1bHQpICp2YXJvYmpfdXBkYXRl IChzdHJ1Y3QgdmFyb2JqICoqdmFycCwgaW50IGV4cGxpY2l0KQogIAogIAkgIC8qIElmIHVwZGF0 ZV9keW5hbWljX3Zhcm9ial9jaGlsZHJlbiByZXR1cm5zIDAsIHRoZW4gd2UgaGF2ZQogIAkgICAg IGEgbm9uLWNvbmZvcm1pbmcgcHJldHR5LXByaW50ZXIsIHNvIHdlIHNraXAgaXQuICAqLwpAQCAt MjYzODcsNyArMjYyOTQsNyBAQCBpbmRleCA0YTk0OTg4Li4zNDMzM2ZiIDEwMDY0NAogIAkgICAg ICBjb250aW51ZTsKICAJICAgIH0KICAJfQotQEAgLTE4NjQsNyArMjAzNCwxMiBAQCBuZXdfdmFy aWFibGUgKHZvaWQpCitAQCAtMTg2NCw3ICsyMDMzLDEyIEBAIG5ld192YXJpYWJsZSAodm9pZCkK ICAgIHZhci0+ZnJvemVuID0gMDsKICAgIHZhci0+bm90X2ZldGNoZWQgPSAwOwogICAgdmFyLT5j aGlsZHJlbl9yZXF1ZXN0ZWQgPSAwOwpAQCAtMjY0MDAsNyArMjYzMDcsNyBAQCBpbmRleCA0YTk0 OTg4Li4zNDMzM2ZiIDEwMDY0NAogIAogICAgcmV0dXJuIHZhcjsKICB9Ci1AQCAtMTg5NCw3ICsy MDY5LDEwIEBAIGZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC0xODk0LDcg KzIwNjgsMTAgQEAgZnJlZV92YXJpYWJsZSAoc3RydWN0IHZhcm9iaiAqdmFyKQogICAgaWYgKHZh ci0+cHJldHR5X3ByaW50ZXIpCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51 cCA9IHZhcm9ial9lbnN1cmVfcHl0aG9uX2VudiAodmFyKTsKQEAgLTI2NDEyLDcgKzI2MzE5LDcg QEAgaW5kZXggNGE5NDk4OC4uMzQzMzNmYiAxMDA2NDQKICAgICAgICBkb19jbGVhbnVwcyAoY2xl YW51cCk7CiAgICAgIH0KICAjZW5kaWYKLUBAIC0xOTI3LDYgKzIxMDUsMTggQEAgbWFrZV9jbGVh bnVwX2ZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC0xOTI3LDYgKzIxMDQs MTggQEAgbWFrZV9jbGVhbnVwX2ZyZWVfdmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhcikKICAg IHJldHVybiBtYWtlX2NsZWFudXAgKGRvX2ZyZWVfdmFyaWFibGVfY2xlYW51cCwgdmFyKTsKICB9 CiAgCkBAIC0yNjQzMSw3ICsyNjMzOCw3IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0 CiAgLyogVGhpcyByZXR1cm5zIHRoZSB0eXBlIG9mIHRoZSB2YXJpYWJsZS4gSXQgYWxzbyBza2lw cyBwYXN0IHR5cGVkZWZzCiAgICAgdG8gcmV0dXJuIHRoZSByZWFsIHR5cGUgb2YgdGhlIHZhcmlh YmxlLgogIAotQEAgLTIxNDEsNiArMjMzMSw4IEBAIHZhbHVlX29mX3Jvb3QgKHN0cnVjdCB2YXJv YmogKip2YXJfaGFuZGxlLCBpbnQgKnR5cGVfY2hhbmdlZCkKK0BAIC0yMTQxLDYgKzIzMzAsOCBA QCB2YWx1ZV9vZl9yb290IChzdHJ1Y3QgdmFyb2JqICoqdmFyX2hhbmRsZSwgaW50ICp0eXBlX2No YW5nZWQpCiAgICAgICAgZWxzZQogIAl7CiAgCSAgdG1wX3Zhci0+b2JqX25hbWUgPSB4c3RyZHVw ICh2YXItPm9ial9uYW1lKTsKQEAgLTI2NDQwLDcgKzI2MzQ3LDcgQEAgaW5kZXggNGE5NDk4OC4u MzQzMzNmYiAxMDA2NDQKICAJICB2YXJvYmpfZGVsZXRlICh2YXIsIE5VTEwsIDApOwogIAogIAkg IGluc3RhbGxfdmFyaWFibGUgKHRtcF92YXIpOwotQEAgLTMxNzMsNiArMzM2NSwxOSBAQCBqYXZh X3ZhbHVlX29mX3ZhcmlhYmxlIChzdHJ1Y3QgdmFyb2JqICp2YXIsIGVudW0gdmFyb2JqX2Rpc3Bs YXlfZm9ybWF0cyBmb3JtYXQpCitAQCAtMzE3Myw2ICszMzY0LDE5IEBAIGphdmFfdmFsdWVfb2Zf dmFyaWFibGUgKHN0cnVjdCB2YXJvYmogKnZhciwgZW51bSB2YXJvYmpfZGlzcGxheV9mb3JtYXRz IGZvcm1hdCkKICAgIHJldHVybiBjcGx1c192YWx1ZV9vZl92YXJpYWJsZSAodmFyLCBmb3JtYXQp OwogIH0KICAKQEAgLTI2NDYwLDQxICsyNjM2NywyNiBAQCBpbmRleCA0YTk0OTg4Li4zNDMzM2Zi IDEwMDY0NAogIC8qIEl0ZXJhdGUgYWxsIHRoZSBleGlzdGluZyBfcm9vdF8gVkFST0JKcyBhbmQg Y2FsbCB0aGUgRlVOQyBjYWxsYmFjayBmb3IgdGhlbQogICAgIHdpdGggYW4gYXJiaXRyYXJ5IGNh bGxlciBzdXBwbGllZCBEQVRBIHBvaW50ZXIuICAqLwogIAotQEAgLTMxOTAsNDggKzMzOTUsMTEw IEBAIGFsbF9yb290X3Zhcm9ianMgKHZvaWQgKCpmdW5jKSAoc3RydWN0IHZhcm9iaiAqdmFyLCB2 b2lkICpkYXRhKSwgdm9pZCAqZGF0YSkKK0BAIC0zMTkwLDYgKzMzOTQsNDMgQEAgYWxsX3Jvb3Rf dmFyb2JqcyAodm9pZCAoKmZ1bmMpIChzdHJ1Y3QgdmFyb2JqICp2YXIsIHZvaWQgKmRhdGEpLCB2 b2lkICpkYXRhKQogICAgICAgICgqZnVuYykgKHZhcl9yb290LT5yb290dmFyLCBkYXRhKTsKICAg ICAgfQogIH0KLS0MCi0tZXh0ZXJuIHZvaWQgX2luaXRpYWxpemVfdmFyb2JqICh2b2lkKTsKLS12 b2lkCi0tX2luaXRpYWxpemVfdmFyb2JqICh2b2lkKQogKwogKy8qIEhlbHBlciBmb3IgdmFyb2Jq X3R5cGVzX21hcmtfdXNlZC4gIENhbGwgdHlwZV9tYXJrX3VzZWQgZm9yIGFueSBUWVBFcwogKyAg IHJlZmVyZW5jZWQgZnJvbSB0aGlzIFZBUi4gICovCiArCiArc3RhdGljIHZvaWQKICt2YXJvYmpf dHlwZXNfbWFya191c2VkX2l0ZXIgKHN0cnVjdCB2YXJvYmogKnZhciwgdm9pZCAqdW51c2VkKQot IHsKLS0gIGludCBzaXplb2ZfdGFibGUgPSBzaXplb2YgKHN0cnVjdCB2bGlzdCAqKSAqIFZBUk9C Sl9UQUJMRV9TSVpFOworK3sKICsgIC8qIEV2ZW4gRkxPQVRJTkcgb3IgSVNfSU5WQUxJRCBWQVJz IHdpdGggbm9uLU5VTEwgVFlQRSByZWZlcmVuY2VzIHdpbGwKICsgICAgIGZyZWUgdGhlbSBpbiBm cmVlX3ZhcmlhYmxlLiAgU3RpbGwgRVhQIG1heSBhbHNvIHJlZmVyZW5jZSBUWVBFcwogKyAgICAg YnV0IHRoZXNlIGJlbG9uZyB0byBTWU1CT0xzIHdoaWNoIHNob3VsZCBiZSBhbHdheXMgYXNzb2Np YXRlZCB3aXRoCiArICAgICBhbiBPQkpGSUxFIChhbmQgdGhlcmVmb3JlIG5vdCB1c2VmdWwgdG8g YmUgdHlwZV9tYXJrX3VzZWQpLiAgKi8KLSAKLS0gIHZhcm9ial90YWJsZSA9IHhtYWxsb2MgKHNp emVvZl90YWJsZSk7Ci0tICBtZW1zZXQgKHZhcm9ial90YWJsZSwgMCwgc2l6ZW9mX3RhYmxlKTsK KysKICsgIHR5cGVfbWFya191c2VkICh2YXItPnR5cGUpOwogKyAgaWYgKHZhci0+dmFsdWUpCiAr ICAgIHR5cGVfbWFya191c2VkICh2YWx1ZV90eXBlICh2YXItPnZhbHVlKSk7Ci0gCi0tICBhZGRf c2V0c2hvd196aW50ZWdlcl9jbWQgKCJkZWJ1Z3Zhcm9iaiIsIGNsYXNzX21haW50ZW5hbmNlLAot LQkJCSAgICAmdmFyb2JqZGVidWcsIF8oIlwKLS1TZXQgdmFyb2JqIGRlYnVnZ2luZy4iKSwgXygi XAotLVNob3cgdmFyb2JqIGRlYnVnZ2luZy4iKSwgXygiXAotLVdoZW4gbm9uLXplcm8sIHZhcm9i aiBkZWJ1Z2dpbmcgaXMgZW5hYmxlZC4iKSwKLS0JCQkgICAgTlVMTCwKLS0JCQkgICAgc2hvd192 YXJvYmpkZWJ1ZywKLS0JCQkgICAgJnNldGxpc3QsICZzaG93bGlzdCk7CisrCiArICAvKiBDaGVj ayBWQVJPQkpST09UcyBvbmx5IG9uY2UgZHVyaW5nIHRoZSB2YXJvYmpfdHlwZXNfbWFya191c2Vk IHBhc3MuICAqLwogKwogKyAgaWYgKHZhci0+cm9vdC0+cm9vdHZhciA9PSB2YXIpCkBAIC0yNjUw MiwxNzcgKzI2Mzk0LDI1IEBAIGluZGV4IDRhOTQ5ODguLjM0MzMzZmIgMTAwNjQ0CiArICAgICAg aWYgKHZhci0+cm9vdC0+ZXhwKQogKwlleHBfdHlwZXNfbWFya191c2VkICh2YXItPnJvb3QtPmV4 cCk7CiArICAgIH0KLSB9Ci0gCi0tLyogSW52YWxpZGF0ZSB2YXJvYmogVkFSIGlmIGl0IGlzIHRp ZWQgdG8gbG9jYWxzIGFuZCByZS1jcmVhdGUgaXQgaWYgaXQgaXMKLS0gICBkZWZpbmVkIG9uIGds b2JhbHMuICBJdCBpcyBhIGhlbHBlciBmb3IgdmFyb2JqX2ludmFsaWRhdGUuICAqLwotKy8qIENh bGwgdHlwZV9tYXJrX3VzZWQgZm9yIGFueSBUWVBFcyByZWZlcmVuY2VkIGZyb20gdGhpcyBHREIg c291cmNlIGZpbGUuICAqLwotIAotIHN0YXRpYyB2b2lkCi0tdmFyb2JqX2ludmFsaWRhdGVfaXRl ciAoc3RydWN0IHZhcm9iaiAqdmFyLCB2b2lkICp1bnVzZWQpCi0rdmFyb2JqX3R5cGVzX21hcmtf dXNlZCAodm9pZCkKLSB7Ci0tICAvKiBGbG9hdGluZyB2YXJvYmpzIGFyZSByZXBhcnNlZCBvbiBl YWNoIHN0b3AsIHNvIHdlIGRvbid0IGNhcmUgaWYgdGhlCi0tICAgICBwcmVzZW50bHkgcGFyc2Vk IGV4cHJlc3Npb24gcmVmZXJzIHRvIHNvbWV0aGluZyB0aGF0J3MgZ29uZS4gICovCi0tICBpZiAo dmFyLT5yb290LT5mbG9hdGluZykKLS0gICAgcmV0dXJuOwotKyAgLyogQ2hlY2sgYWxsIHRoZSBW QVJPQkpzLCBldmVuIG5vbi1yb290IG9uZXMuICBDaGlsZCBWQVJPQkpzIGNhbiByZWZlcmVuY2UK LSsgICAgIHR5cGVzIGZyb20gb3RoZXIgT0JKRklMRXMgdGhyb3VnaCBUWVBFX0lTX09QQVFVRSBy ZXNvbHV0aW9ucyBieQotKyAgICAgY2hlY2tfdHlwZWRlZi4gIFN1Y2ggdHlwZXMgcmVmZXJlbmNl cyB3aWxsIG5vdCBiZSBpbnRlcmNvbm5lY3RlZCBpbnRvIHRoZQotKyAgICAgc2FtZSBUWVBFX0dS T1VQLiAgKi8KLSsKLSsgIGFsbF92YXJvYmpzICh2YXJvYmpfdHlwZXNfbWFya191c2VkX2l0ZXIs IE5VTEwpOwotK30KLSsKLSsvKiBJbnZhbGlkYXRlIFZBUiBpZiBpdCBpcyB0aWVkIHRvIHRoZSBz cGVjaWZpZWQgT0JKRklMRS4gIENhbGwgdGhpcyBmdW5jdGlvbgotKyAgIGJlZm9yZSB5b3Ugc3Rh cnQgcmVtb3ZpbmcgT0JKRklMRS4KLSsKLSsgICBDYWxsIHZhcm9ial9yZXZhbGlkYXRlX2l0ZXIg YWZ0ZXIgdGhlIE9CSkZJTEUgdXBkYXRlIGdldCBmaW5pc2hlZC4KLSsKLSsgICBJbnZhbGlkYXRl ZCB2YXJvYmpzIHdpbGwgYmUgYWx3YXlzIHByaW50ZWQgaW5fc2NvcGU9ImludmFsaWQiLiAgKi8K LSsKLStzdGF0aWMgdm9pZAotK3Zhcm9ial9pbnZhbGlkYXRlX2l0ZXIgKHN0cnVjdCB2YXJvYmog KnZhciwgdm9pZCAqb2JqZmlsZV92b2lkcCkKLSt7Ci0rICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSA9IG9iamZpbGVfdm9pZHA7Ci0rCi0rICAvKiBDaGVjayBWQVJPQkpST09UcyBvbmx5IG9uY2Ug ZHVyaW5nIHRoZSB2YXJvYmpfaW52YWxpZGF0ZSBwYXNzLiAgKi8KLSsKLSsgIGlmICh2YXItPnJv b3QtPnJvb3R2YXIgPT0gdmFyKQotKyAgICB7Ci0rICAgICAgLyogQ2hlY2sgZXZlbiBGTE9BVElO RyBWQVJPQkpST09UcyBhcyB0aGVpciBkYXRhIHdpbGwgYmUgc3RpbGwgY2hlY2tlZAotKwkgZHVy aW5nIHZhcm9ial91cGRhdGUgYnkgdmFyb2JqX2dldF90eXBlLiAgKi8KLSsKLSsgICAgICBpZiAo dmFyLT5yb290LT5pc192YWxpZAotKwkgICYmIGJsb2NrX29iamZpbGUgKHZhci0+cm9vdC0+dmFs aWRfYmxvY2spID09IG9iamZpbGUpCi0rCXZhci0+cm9vdC0+aXNfdmFsaWQgPSAwOwotKwotKyAg ICAgIGlmICh2YXItPnJvb3QtPmV4cCAmJiBleHBfdXNlc19vYmpmaWxlICh2YXItPnJvb3QtPmV4 cCwgb2JqZmlsZSkpCi0rCXsKLSsJICB2YXItPnJvb3QtPmlzX3ZhbGlkID0gMDsKLSsKLSsJICAv KiBObyBvbmUgdG91Y2hlcyBFWFAgZm9yICFJU19WQUxJRCB2YXJvYmouICAqLwotKwkgIHhmcmVl ICh2YXItPnJvb3QtPmV4cCk7Ci0rCSAgdmFyLT5yb290LT5leHAgPSBOVUxMOwotKwl9Ci0rICAg IH0KLSsKLSsgIGlmICh2YXItPnR5cGUgJiYgVFlQRV9PQkpGSUxFICh2YXItPnR5cGUpID09IG9i amZpbGUpCi0rICAgIHsKLSsgICAgICB2YXItPnJvb3QtPmlzX3ZhbGlkID0gMDsKLSsKLSsgICAg ICB2YXItPnR5cGUgPSBOVUxMOwotKyAgICB9Ci0rCi0rICBpZiAodmFyLT52YWx1ZSAmJiBUWVBF X09CSkZJTEUgKHZhbHVlX3R5cGUgKHZhci0+dmFsdWUpKSA9PSBvYmpmaWxlKQotKyAgICB7Ci0r ICAgICAgdmFyLT5yb290LT5pc192YWxpZCA9IDA7Ci0rCi0rICAgICAgdmFsdWVfZnJlZSAodmFy LT52YWx1ZSk7Ci0rICAgICAgdmFyLT52YWx1ZSA9IE5VTEw7Ci0rICAgIH0KICt9CiArCi0rLyog UmVjcmVhdGUgYW55IGdsb2JhbCB2YXJvYmpzIHBvc3NpYmx5IHByZXZpb3VzbHkgaW52YWxpZGF0 ZWQuICBJZiB0aGUKLSsgICBleHByZXNzaW9ucyBhcmUgbm8gbG9uZ2VyIGV2YWx1YXRhYmxlIHNl dC9rZWVwIHRoZSBWQVIgaW52YWxpZC4gICovCisrLyogQ2FsbCB0eXBlX21hcmtfdXNlZCBmb3Ig YW55IFRZUEVzIHJlZmVyZW5jZWQgZnJvbSB0aGlzIEdEQiBzb3VyY2UgZmlsZS4gICovCiArCiAr c3RhdGljIHZvaWQKLSt2YXJvYmpfcmV2YWxpZGF0ZV9pdGVyIChzdHJ1Y3QgdmFyb2JqICp2YXIs IHZvaWQgKnVudXNlZCkKLSt7Ci0rICAvKiBHbG9iYWwgVkFSIG11c3QgYmUgcmUtZXZhbHVhdGVk LiAgKi8KLSAKLS0gIC8qIGdsb2JhbCB2YXIgbXVzdCBiZSByZS1ldmFsdWF0ZWQuICAqLyAgICAg Ci0gICBpZiAodmFyLT5yb290LT52YWxpZF9ibG9jayA9PSBOVUxMKQotICAgICB7Ci0gICAgICAg c3RydWN0IHZhcm9iaiAqdG1wX3ZhcjsKLSAKLSAgICAgICAvKiBUcnkgdG8gY3JlYXRlIGEgdmFy b2JqIHdpdGggc2FtZSBleHByZXNzaW9uLiAgSWYgd2Ugc3VjY2VlZAotIAkgcmVwbGFjZSB0aGUg b2xkIHZhcm9iaiwgb3RoZXJ3aXNlIGludmFsaWRhdGUgaXQuICAqLwotLSAgICAgIHRtcF92YXIg PSB2YXJvYmpfY3JlYXRlIChOVUxMLCB2YXItPm5hbWUsIChDT1JFX0FERFIpIDAsCi0tCQkJICAg ICAgIFVTRV9DVVJSRU5UX0ZSQU1FKTsKLS0gICAgICBpZiAodG1wX3ZhciAhPSBOVUxMKSAKLS0J eyAKLSsgICAgICB0bXBfdmFyID0gdmFyb2JqX2NyZWF0ZSAoTlVMTCwgdmFyLT5uYW1lLCAwLCBV U0VfQ1VSUkVOVF9GUkFNRSk7Ci0rICAgICAgaWYgKHRtcF92YXIgIT0gTlVMTCkKLSsJewotIAkg IHRtcF92YXItPm9ial9uYW1lID0geHN0cmR1cCAodmFyLT5vYmpfbmFtZSk7Ci0gCSAgdmFyb2Jq X2RlbGV0ZSAodmFyLCBOVUxMLCAwKTsKLSAJICBpbnN0YWxsX3ZhcmlhYmxlICh0bXBfdmFyKTsK LUBAIC0zMjM5LDE2ICszNTA2LDY0IEBAIHZhcm9ial9pbnZhbGlkYXRlX2l0ZXIgKHN0cnVjdCB2 YXJvYmogKnZhciwgdm9pZCAqdW51c2VkKQotICAgICAgIGVsc2UKLSAJdmFyLT5yb290LT5pc192 YWxpZCA9IDA7Ci0gICAgIH0KLS0gIGVsc2UgLyogbG9jYWxzIG11c3QgYmUgaW52YWxpZGF0ZWQu ICAqLwotLSAgICB2YXItPnJvb3QtPmlzX3ZhbGlkID0gMDsKLSB9Ci0gCi0tLyogSW52YWxpZGF0 ZSB0aGUgdmFyb2JqcyB0aGF0IGFyZSB0aWVkIHRvIGxvY2FscyBhbmQgcmUtY3JlYXRlIHRoZSBv bmVzIHRoYXQKLS0gICBhcmUgZGVmaW5lZCBvbiBnbG9iYWxzLgotLSAgIEludmFsaWRhdGVkIHZh cm9ianMgd2lsbCBiZSBhbHdheXMgcHJpbnRlZCBpbl9zY29wZT0iaW52YWxpZCIuICAqLwotKy8q IENhbGwgdmFyb2JqX2ludmFsaWRhdGVfaXRlciBmb3IgYWxsIHRoZSBWQVJPQkpzLiAgKi8KLSAK LS12b2lkIAotLXZhcm9ial9pbnZhbGlkYXRlICh2b2lkKQotK3N0YXRpYyB2b2lkIAotK3Zhcm9i al9pbnZhbGlkYXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKKyt2YXJvYmpfdHlwZXNfbWFy a191c2VkICh2b2lkKQogK3sKICsgIC8qIENoZWNrIGFsbCB0aGUgVkFST0JKcywgZXZlbiBub24t cm9vdCBvbmVzLiAgQ2hpbGQgVkFST0JKcyBjYW4gcmVmZXJlbmNlCiArICAgICB0eXBlcyBmcm9t IG90aGVyIE9CSkZJTEVzIHRocm91Z2ggVFlQRV9JU19PUEFRVUUgcmVzb2x1dGlvbnMgYnkKLSsg ICAgIGNoZWNrX3R5cGVkZWYuICAqLwotKwotKyAgYWxsX3Zhcm9ianMgKHZhcm9ial9pbnZhbGlk YXRlX2l0ZXIsIG9iamZpbGUpOwotK30KLSsKLSsvKiBDYWxsIHZhcm9ial9yZXZhbGlkYXRlX2l0 ZXIgZm9yIGFsbCB0aGUgcm9vdCBWQVJPQkpzLiAgKi8KLSsKLStzdGF0aWMgdm9pZCAKLSt2YXJv YmpfcmV2YWxpZGF0ZSAodm9pZCkKLSt7Ci0rICAvKiBDaGVjayBvbmx5IHJvb3QgVkFST0JKcy4g IEFueSBzdWNjZXNzZnVsIHJldmFsaWRhdGlvbiB3aWxsIHJlcGxhY2UgdGhlCi0rICAgICB3aG9s ZSBWQVJPQkpzIHRyZWUgc3RhcnRpbmcgd2l0aCByb290IFZBUk9CSnMgYW5kIGl0cyBjaGlsZHJl biBnZXQgY3JlYXRlZAotKyAgICAgbGF0ZXIgb24tZGVtYW5kLiAgU28gdGhlcmUgaXMgbm8gcG9p bnQgdHJ5aW5nIHRvIHJldmFsaWRhdGUgdGhlIGNoaWxkCi0rICAgICBWQVJPQkpzLiAgKi8KLSsK LSsgIGFsbF9yb290X3Zhcm9ianMgKHZhcm9ial9yZXZhbGlkYXRlX2l0ZXIsIE5VTEwpOwotK30K LSsKLSsvKiBDYWxsIHZhcm9ial9yZXZhbGlkYXRlIGp1c3QgcHJvdmlkaW5nIGEgZGlmZmVyZW50 IGZ1bmN0aW9uIHByb3RvdHlwZS4KLSsgICBDdXJyZW50bHkgZXhpc3RpbmcgVkFST0JKcyBtYXkg YmVjb21lIHZhbGlkIG9yIGNoYW5nZSB3aXRoIG5ldyBzeW1ib2xzCi0rICAgbG9hZGVkLiAgKi8K KysgICAgIGNoZWNrX3R5cGVkZWYuICBTdWNoIHR5cGVzIHJlZmVyZW5jZXMgd2lsbCBub3QgYmUg aW50ZXJjb25uZWN0ZWQgaW50byB0aGUKKysgICAgIHNhbWUgVFlQRV9HUk9VUC4gICovCiArCi0r c3RhdGljIHZvaWQKLSt2YXJvYmpfcmV2YWxpZGF0ZV9mb3Jfb2JqZmlsZSAoc3RydWN0IG9iamZp bGUgKm9iamZpbGUpCi0gewotLSAgYWxsX3Jvb3RfdmFyb2JqcyAodmFyb2JqX2ludmFsaWRhdGVf aXRlciwgTlVMTCk7Ci0rICB2YXJvYmpfcmV2YWxpZGF0ZSAoKTsKKysgIGFsbF92YXJvYmpzICh2 YXJvYmpfdHlwZXNfbWFya191c2VkX2l0ZXIsIE5VTEwpOwogK30KLSsMCi0rZXh0ZXJuIHZvaWQg X2luaXRpYWxpemVfdmFyb2JqICh2b2lkKTsKLSt2b2lkCi0rX2luaXRpYWxpemVfdmFyb2JqICh2 b2lkKQotK3sKLSsgIGludCBzaXplb2ZfdGFibGUgPSBzaXplb2YgKHN0cnVjdCB2bGlzdCAqKSAq IFZBUk9CSl9UQUJMRV9TSVpFOwotKwotKyAgdmFyb2JqX3RhYmxlID0geG1hbGxvYyAoc2l6ZW9m X3RhYmxlKTsKLSsgIG1lbXNldCAodmFyb2JqX3RhYmxlLCAwLCBzaXplb2ZfdGFibGUpOwotKwot KyAgYWRkX3NldHNob3dfemludGVnZXJfY21kICgiZGVidWd2YXJvYmoiLCBjbGFzc19tYWludGVu YW5jZSwKLSsJCQkgICAgJnZhcm9iamRlYnVnLCBfKCJcCi0rU2V0IHZhcm9iaiBkZWJ1Z2dpbmcu IiksIF8oIlwKLStTaG93IHZhcm9iaiBkZWJ1Z2dpbmcuIiksIF8oIlwKLStXaGVuIG5vbi16ZXJv LCB2YXJvYmogZGVidWdnaW5nIGlzIGVuYWJsZWQuIiksCi0rCQkJICAgIE5VTEwsCi0rCQkJICAg IHNob3dfdmFyb2JqZGVidWcsCi0rCQkJICAgICZzZXRsaXN0LCAmc2hvd2xpc3QpOwotKwotKwot KyAgb2JzZXJ2ZXJfYXR0YWNoX29iamZpbGVfdW5sb2FkaW5nICh2YXJvYmpfaW52YWxpZGF0ZSAp OwotKyAgb2JzZXJ2ZXJfYXR0YWNoX29iamZpbGVfdW5sb2FkZWQgKHZhcm9ial9yZXZhbGlkYXRl KTsKLSsgIG9ic2VydmVyX2F0dGFjaF9uZXdfb2JqZmlsZSAodmFyb2JqX3JldmFsaWRhdGVfZm9y X29iamZpbGUpOwotKyAgb2JzZXJ2ZXJfYXR0YWNoX21hcmtfdXNlZCAodmFyb2JqX3R5cGVzX21h cmtfdXNlZCk7Ci0gfQorIAwKKyBleHRlcm4gdm9pZCBfaW5pdGlhbGl6ZV92YXJvYmogKHZvaWQp OworIHZvaWQKIGRpZmYgLS1naXQgYS9nZGIvdmFyb2JqLmggYi9nZGIvdmFyb2JqLmgKLWluZGV4 IDcyOTcyNDMuLmZiZTJmMmYgMTAwNjQ0CitpbmRleCA3Mjk3MjQzLi4wNzQ0Y2MzIDEwMDY0NAog LS0tIGEvZ2RiL3Zhcm9iai5oCiArKysgYi9nZGIvdmFyb2JqLmgKIEBAIC03OCw2ICs3OCwxMiBA QCB0eXBlZGVmIHN0cnVjdCB2YXJvYmpfdXBkYXRlX3Jlc3VsdF90CkBAIC0yNjcxNiwxMyArMjY0 NTYsNyBAQCBpbmRleCA3Mjk3MjQzLi5mYmUyZjJmIDEwMDY0NAogIAogIGV4dGVybiBjaGFyICp2 YXJvYmpfZ2V0X3R5cGUgKHN0cnVjdCB2YXJvYmogKnZhcik7CiAgCi1AQCAtMTQzLDEyICsxNjAs MTUgQEAgZXh0ZXJuIHZvaWQgYWxsX3Jvb3RfdmFyb2JqcyAodm9pZCAoKmZ1bmMpIChzdHJ1Y3Qg dmFyb2JqICp2YXIsIHZvaWQgKmRhdGEpLAotIGV4dGVybiBWRUModmFyb2JqX3VwZGF0ZV9yZXN1 bHQpICp2YXJvYmpfdXBkYXRlIChzdHJ1Y3QgdmFyb2JqICoqdmFycCwgCi0gCQkJCQkJIGludCBl eHBsaWNpdCk7Ci0gCi0tZXh0ZXJuIHZvaWQgdmFyb2JqX2ludmFsaWRhdGUgKHZvaWQpOwotLQot IGV4dGVybiBpbnQgdmFyb2JqX2VkaXRhYmxlX3AgKHN0cnVjdCB2YXJvYmogKnZhcik7CitAQCAt MTQ5LDYgKzE2NiwxMSBAQCBleHRlcm4gaW50IHZhcm9ial9lZGl0YWJsZV9wIChzdHJ1Y3QgdmFy b2JqICp2YXIpOwogIAogIGV4dGVybiBpbnQgdmFyb2JqX2Zsb2F0aW5nX3AgKHN0cnVjdCB2YXJv YmogKnZhcik7CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBkYTlh YmMyLi5kYjE1YjVjIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTQs NyArMTQsNyBAQCBWZXJzaW9uOiA2LjguNTAuMjAwOTA4MTEKIAogIyBUaGUgcmVsZWFzZSBhbHdh eXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMg YHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBl bmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAyJXs/X3dpdGhf dXBzdHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CitSZWxlYXNlOiAzJXs/X3dpdGhfdXBzdHJlYW06 LnVwc3RyZWFtfSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKwogR3JvdXA6IERldmVsb3BtZW50 L0RlYnVnZ2VycwpAQCAtODI1LDYgKzgyNSwxMSBAQCBmaQogJWVuZGlmCiAKICVjaGFuZ2Vsb2cK KyogVHVlIEF1ZyAxMSAyMDA5IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQu Y29tPiAtIDYuOC41MC4yMDA5MDgxMS0zCistIGFyY2hlci1qYW5rcmF0b2NodmlsLWZlZG9yYTEy IGNvbW1pdDogMjg4OGZhZmU2Mzg4OTc1N2M2ZmQyN2NjYzJmMjU2NjFkNDNmZDFhNAorLSBEcm9w IGFyY2hlci1qYW5rcmF0b2NodmlsLXZsYSBWQVJPQkogaW52YWxpZGF0ZS9yZXZhbGlkYXRlIHNw bGl0IHRvIGZpeAorICByZWdyZXNzaW9ucyBhZ2FpbnN0IEZTRiBHREIgSEVBRC4KKwogKiBUdWUg QXVnIDExIDIwMDkgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0g Ni44LjUwLjIwMDkwODExLTIKIC0gYXJjaGVyLWphbmtyYXRvY2h2aWwtZmVkb3JhMTIgY29tbWl0 OiA5M2Y1ZTk0MmJkY2RjYzM3NmVjZTQ1MmMzMDliZWRhYmFlNzFkZWY5CiAtIEZpeCAiY2FuJ3Qg Y29tcHV0ZSBDRkEgZm9yIHRoaXMgZnJhbWUiIChieSBUb20gVHJvbWV5LCBCWiA1MTY2MjcpLgo=